<?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>26211</bug_id>
          
          <creation_ts>2009-06-05 01:48:14 -0700</creation_ts>
          <short_desc>Cancel in onbeforeunload dialog sometime causes a button to stop working.</short_desc>
          <delta_ts>2011-08-12 12:57:04 -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>Forms</component>
          <version>525.x (Safari 3.2)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tore B. Krudtaa">krudtaa</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>aestes</cc>
    
    <cc>ap</cc>
    
    <cc>dglazkov</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>stephenwaring</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>124497</commentid>
    <comment_count>0</comment_count>
    <who name="Tore B. Krudtaa">krudtaa</who>
    <bug_when>2009-06-05 01:48:14 -0700</bug_when>
    <thetext>If you (have a form and) are using the onbeforeunload
Then you have a button which run code like this:
document.frmName.submit();
which causes the onbeforeunload to trigger

If you then press &quot;Cancel&quot; (Safari) or &quot;Stay on this page&quot; (Chrome) 
then, if you try clicking the same button again, nothing happens.

Now, if you have a textfield on the same page, you could mouse-click on the text field to put cursor in textfield and then TAB out of the tetfield (using TAB key) and the button will start working again.

(If you just mouse-click inside the textfield and then mouse-click outside the textfield again, then button will not start working again.)

Please see testcase to see how this works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124498</commentid>
    <comment_count>1</comment_count>
      <attachid>30998</attachid>
    <who name="Tore B. Krudtaa">krudtaa</who>
    <bug_when>2009-06-05 01:50:26 -0700</bug_when>
    <thetext>Created attachment 30998
Testcase

Use this to reproduce the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124923</commentid>
    <comment_count>2</comment_count>
    <who name="Tore B. Krudtaa">krudtaa</who>
    <bug_when>2009-06-09 05:33:09 -0700</bug_when>
    <thetext>This bug is also in 

Safari for win, version: 4.0 (530.17)

and latest version of Chrome... version: 2.0.172.30</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>176892</commentid>
    <comment_count>3</comment_count>
    <who name="Steve Waring">stephenwaring</who>
    <bug_when>2010-01-04 14:58:14 -0800</bug_when>
    <thetext>Further to this. If you have a number of elements with an associated onclick function on the page, where by the function does some work and then submits the form, then:

When you click on one of the elements, the leave/stay fialogue is shown. If you choose stay on page, then thereafter clicking on the element you clicked on previously does not give you the leave/stay dialogue, and the page is not unloaded. IE the same bug as described above. If you now click on a different element that has the same function bound to the onclick event, the same scenario is repeated, but the first element you clicked on now &quot;comes back to life&quot; and clicking on it once again gives you the leave/stay dialogue.

In this situation, clicking into a text box does not bring the onclick element back into life.

This happens in Google Chrome 3.0.195.38</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450563</commentid>
    <comment_count>4</comment_count>
      <attachid>103793</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2011-08-12 12:27:29 -0700</bug_when>
    <thetext>Created attachment 103793
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450565</commentid>
    <comment_count>5</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2011-08-12 12:28:10 -0700</bug_when>
    <thetext>*** Bug 66128 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450566</commentid>
    <comment_count>6</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2011-08-12 12:29:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/9765500&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450574</commentid>
    <comment_count>7</comment_count>
      <attachid>103793</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-12 12:39:25 -0700</bug_when>
    <thetext>Comment on attachment 103793
Patch

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

I only glanced over the patch, since Jessie had a deeper look already.

&gt; LayoutTests/fast/loader/form-submission-after-beforeunload-cancel.html:22
&gt; +    return &quot;&quot;;

It might be slightly less confusing to return an actual string like &quot;Please don&apos;t agree to closing the page to test&quot;. In fact, does this test work for manual testing? It seems like it should.

&gt; Source/WebCore/loader/FrameLoader.cpp:2736
&gt; +    if (!shouldClose)
&gt; +         m_submittedFormURL = KURL();

Bad indentation here (five spaces).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450578</commentid>
    <comment_count>8</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2011-08-12 12:42:51 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 103793 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=103793&amp;action=review
&gt; 
&gt; I only glanced over the patch, since Jessie had a deeper look already.
&gt; 
&gt; &gt; LayoutTests/fast/loader/form-submission-after-beforeunload-cancel.html:22
&gt; &gt; +    return &quot;&quot;;
&gt; 
&gt; It might be slightly less confusing to return an actual string like &quot;Please don&apos;t agree to closing the page to test&quot;. In fact, does this test work for manual testing? It seems like it should.

Agree. It does work for manual testing. I have a paragraph of text in the test explaining what to do, but having useful text in the confirmation dialog will make it even more obvious.

&gt; 
&gt; &gt; Source/WebCore/loader/FrameLoader.cpp:2736
&gt; &gt; +    if (!shouldClose)
&gt; &gt; +         m_submittedFormURL = KURL();
&gt; 
&gt; Bad indentation here (five spaces).

I blame Xcode :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450588</commentid>
    <comment_count>9</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2011-08-12 12:57:04 -0700</bug_when>
    <thetext>Committed r92982: &lt;http://trac.webkit.org/changeset/92982&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>30998</attachid>
            <date>2009-06-05 01:50:26 -0700</date>
            <delta_ts>2009-06-05 01:50:26 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>button-bug-after-onbeforeunload-cancel-in-safari-and-chrome.html</filename>
            <type>text/html</type>
            <size>2265</size>
            <attacher name="Tore B. Krudtaa">krudtaa</attacher>
            
              <data encoding="base64">PEhUTUw+DQo8aGVhZD4NCjxzY3JpcHQ+DQoNCg0KZnVuY3Rpb24gc3VibWl0Rm9ybSgpew0KCWRv
Y3VtZW50LmZybU5hbWUuc3VibWl0KCk7DQp9DQoNCndpbmRvdy5vbmJlZm9yZXVubG9hZCA9IGZ1
bmN0aW9uKG9FdmVudCl7DQoJcmV0dXJuICJBbnkgc3RyaW5nIHZhbHVlIGhlcmUgZm9yY2VzIGEg
ZGlhbG9nIGJveCB0byBcbiIgKyANCiAgICAgICAgICJhcHBlYXIgYmVmb3JlIGNsb3NpbmcgdGhl
IHdpbmRvdy4iOw0KfQ0KDQoNCi8qDQpmdW5jdGlvbiBjbG9zZUl0KCkNCnsNCiAgcmV0dXJuICJB
bnkgc3RyaW5nIHZhbHVlIGhlcmUgZm9yY2VzIGEgZGlhbG9nIGJveCB0byBcbiIgKyANCiAgICAg
ICAgICJhcHBlYXIgYmVmb3JlIGNsb3NpbmcgdGhlIHdpbmRvdy4iOw0KfQ0Kd2luZG93Lm9uYmVm
b3JldW5sb2FkID0gY2xvc2VJdDsNCiovDQoNCg0KDQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5
Pg0KDQo8Zm9ybSBuYW1lPSJmcm1OYW1lIiBtZXRob2Q9InBvc3QiIGFjdGlvbj0iYnV0dG9uLWJ1
Zy1hZnRlci1vbmJlZm9yZXVubG9hZC1jYW5jZWwtaW4tc2FmYXJpLWFuZC1jaHJvbWUuaHRtbCI+
DQogDQoJPGJyPg0KCTxzcGFuIHN0eWxlPSJjb2xvcjpyZWQ7IGZvbnQtc2l6ZToxNnB4OyBmb250
LXdlaWdodDpib2xkOyI+VGhpcyBidWcgY2F1c2VzIHRoZSBidXR0b24gIlN1Ym1pdCBmb3JtIiB0
byBzdG9wIHdvcmtpbmcgaWYgcHJlc3MgIkNhbmNlbCIgKFNhZmFyaSkgb3IgIlN0YXkgb24gdGhp
cyBwYWdlIiAoQ2hyb21lKSBpbiBkaWFsb2cgZnJvbSBvbmJlZm9yZXVubG9hZC4gKGluIENocm9t
ZSBhbmQgU2FmYXJpIGZvciB3aW5kb3dzKTwvc3Bhbj4NCgk8YnI+DQoJQnV0IGlmIHlvdSB0aGVu
IGdpdmUgZm9jdXMgdG8gdGhlIHRleHQgZmllbGQgb24gdGhpcyBmb3JtLCBhbmQgdGhlbiBUQUIg
b3V0IG9mIHRleHQgZmllbGQgdXNpbmcgVEFCIGtleSwgYW5kIHRoZW4gdHJ5IGNsaWNraW5nIHRo
ZSBidXR0b24gYWdhaW4sIHRoZW4gYnV0dG9uIHN0YXJ0IHdvcmtpbmcgYWdhaW4uDQoJPGJyPg0K
CW9uYmVmb3JldW5sb2FkIGV2ZW50IHRyaWdnZXJlZCBieSB1c2luZzogZG9jdW1lbnQuZnJtTmFt
ZS5zdWJtaXQoKSAoc2VlIGphdmFzY3JpcHQgY29kZSBvbiBwYWdlKS4NCgk8YnI+DQoJPGJyPg0K
CTxiPkhvdyB0byB0ZXN0OjwvYj4NCgk8YnI+DQoJQ2xpY2sgdGhlIGJ1dHRvbiAiU3VibWl0IGZv
cm0iIGJlbG93Lg0KCTxicj4NCglJZiB5b3UgcHJlc3MgIkNhbmNlbCIgKFNhZmFyaSkgb3IgIlN0
YXkgb24gdGhpcyBwYWdlIiAoQ2hyb21lKSBidXR0b24gaW4gZGlhbG9nIGZyb20gb25iZWZvcmV1
bmxvYWQgYW5kIHRoZW4gY2xpY2sgdGhlIGJ1dHRvbiBhZ2Fpbi4uLiBub3RoaW5nIGhhcHBlbnMu
DQoJPGJyPg0KCUlmIHlvdSBub3cgcGxhY2UgY3Vyc29yIGluc2lkZSB0aGUgdGV4dCBmaWVsZCBi
ZWxvdywgdGhlbiBUQUIgb3V0IG9mIHRleHQgZmllbGQgdXNpbmcgVEFCIGtleSwgYW5kIHRoZW4g
cHJlc3MgdGhlIGJ1dHRvbiBhZ2Fpbi4uLiB0aGVuIHRoZSBidXR0b24gc3RhcnQgd29ya2luZyBh
Z2Fpbi4NCgk8YnI+DQoJKE5PVEU6IElmIHlvdSBqdXN0IG1vdXNlIGNsaWNrIGluc2lkZSB0aGUg
dGV4dCBmaWVsZCBhbmQgdGhlbiBtb3VzZSBjbGljayBvdXRzaWRlIGZpZWxkIGFnYWluIHRoZW4g
aXQgZG9lcyBub3QgbWFrZSBidXR0b24gd29yayBhZ2Fpbi4pDQoJPGJyPg0KCTxpbnB1dCB0eXBl
PSJidXR0b24iIHZhbHVlPSJTdWJtaXQgZm9ybSIgb25jbGljaz0ic3VibWl0Rm9ybSgpOyI+DQoJ
DQoJPGJyPg0KCTxicj4NCgk8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0iZnJtVHh0IiB2YWx1ZT0i
IiBzaXplPSI0MCI+DQoJDQoJPGJyPjxicj48YnI+DQoJT24gdGhlIG5leHQgYnV0dG9uIHRoZSBv
bmJlZm9yZXVubG9hZCBpcyB0cmlnZ2VyZWQgYnkgdXNpbmc6IGxvY2F0aW9uLmhyZWYgKHNlZSBq
YXZhc2NyaXB0IGNvZGUgb24gcGFnZSkuDQoJPGJyPg0KCUlmIHByZXNzaW5nICJDYW5jZWwiIChT
YWZhcmkpIG9yICJTdGF5IG9uIHRoaXMgcGFnZSIgKENocm9tZSkgYnV0dG9uIGluIHRoZSBkaWFs
b2cgZnJvbSBvbmJlZm9yZXVubG9hZCB0aGVuIHRoZSBidXR0b24gYmVsb3cgd2lsbCBzdGlsbCB3
b3JrLg0KCTxicj4NCgk8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0iR28gdG8gYW5vdGhlciBz
aXRlIiBvbmNsaWNrPSJsb2NhdGlvbi5ocmVmPSdodHRwOi8vd3d3Lmx1bWlub3VzLWxhbmRzY2Fw
ZS5jb20nOyI+DQoJDQo8L2Zvcm0+DQoJDQo8L2JvZHk+DQo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103793</attachid>
            <date>2011-08-12 12:27:29 -0700</date>
            <delta_ts>2011-08-12 12:39:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-26211-20110812122729.patch</filename>
            <type>text/plain</type>
            <size>24782</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI5MTQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0N2I3Y2RkMTM0ZmRkZWIzNWNlMmZl
MGVjMDk1OTY3YWQ3YzYwMmQxLi5iMWJjMGVkNDMyZDM4YWZjYzg5YTI3ZGRhODE5NzNmMjM3NmYx
ZGFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDgtMTIgIEFuZHkgRXN0ZXMgIDxhZXN0
ZXNAYXBwbGUuY29tPgorCisgICAgICAgIENhbmNlbCBpbiBvbmJlZm9yZXVubG9hZCBkaWFsb2cg
c29tZXRpbWUgY2F1c2VzIGEgYnV0dG9uIHRvIHN0b3Agd29ya2luZy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2MjExCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2xvYWRlci9mb3JtLXN1Ym1p
c3Npb24tYWZ0ZXItYmVmb3JldW5sb2FkLWNhbmNlbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvbG9hZGVyL2Zvcm0tc3VibWlzc2lvbi1hZnRlci1iZWZvcmV1bmxvYWQtY2Fu
Y2VsLmh0bWw6IEFkZGVkLgorCiAyMDExLTA4LTExICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFNoYXJlIGNvZGUgYmV0d2VlbiBpc1N0eWxlU3Bhbk9yU3Bhbldp
dGhPbmx5U3R5bGVBdHRyaWJ1dGUsIGlzVW5zdHlsZWRTdHlsZVNwYW4sCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2xvYWRlci9mb3JtLXN1Ym1pc3Npb24tYWZ0ZXItYmVmb3JldW5sb2Fk
LWNhbmNlbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2xvYWRlci9mb3JtLXN1Ym1p
c3Npb24tYWZ0ZXItYmVmb3JldW5sb2FkLWNhbmNlbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NThhNDJkN2U3ZDk4MDM5NmE5OTA5NDI1ZWJlOTUxZTRiM2ViZDM5MAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Zvcm0tc3VibWlzc2lvbi1hZnRlci1iZWZvcmV1
bmxvYWQtY2FuY2VsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0NPTkZJUk0gTkFWSUdB
VElPTjogCitDT05GSVJNIE5BVklHQVRJT046IAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9sb2FkZXIvZm9ybS1zdWJtaXNzaW9uLWFmdGVyLWJlZm9yZXVubG9hZC1jYW5jZWwu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbG9hZGVyL2Zvcm0tc3VibWlzc2lvbi1hZnRlci1iZWZv
cmV1bmxvYWQtY2FuY2VsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGMyYWQzNDZkNzYyYjI0OTE5YzFhNjZi
MDU4MGIyMDY4YjMxZTVmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbG9h
ZGVyL2Zvcm0tc3VibWlzc2lvbi1hZnRlci1iZWZvcmV1bmxvYWQtY2FuY2VsLmh0bWwKQEAgLTAs
MCArMSwzNSBAQAorPHNjcmlwdD4KK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsK
KyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxheW91dFRlc3RDb250cm9sbGVyLnNldFNo
b3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkKHRydWUpOworfQorCit3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgd2lu
ZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRTaG91bGRT
dGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZChmYWxzZSk7CisKKyAgICAgICAgd2lu
ZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCA9ICJGQUlMIjsKKyAgICAgICAgICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9LCAwKTsKKworICAgICAgICBkb2N1bWVu
dC5mb3Jtc1swXS5zdWJtaXQoKTsKKyAgICB9LCAwKTsKKyAgICAKKyAgICByZXR1cm4gIiI7Cit9
KTsKKzwvc2NyaXB0PgorCis8cD5UaGlzIHRlc3RzIHRoYXQgc3VibWl0dGluZyBhIGZvcm0gYSBz
ZWNvbmQgdGltZSBhZnRlciBjYW5jZWxpbmcgdGhlIGZpcnN0IHN1Ym1pc3Npb24gaW4gYSBvbmJl
Zm9yZXVubG9hZCBoYW5kbGVyIGlzIGFsbG93ZWQuIFRvIHRlc3QgbWFudWFsbHksIGNsaWNrICdT
dGF5IG9uIFBhZ2UnIHdoZW4gdGhlIEphdmFTY3JpcHQgYmVmb3JldW5sb2FkIGRpYWxvZyBhcHBl
YXJzLiBUaGUgdGVzdCBwYXNzZXMgaWYgdGhlIGRpYWxvZyBhcHBlYXJzIGEgc2Vjb25kIHRpbWUu
PC9wPgorCis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPGZvcm0gYWN0aW9uPSJyZXNvdXJj
ZXMvcGFzcy1hbmQtbm90aWZ5LWRvbmUuaHRtbCIgbWV0aG9kPSJQT1NUIj4KKzwvZm9ybT4KKwor
PHNjcmlwdD4KK2RvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgpOworPC9zY3JpcHQ+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDdiNzVhNDYxMzVmYjI3ODkxMjUyNTE5
OTkxYjZlZjllMWNiM2RhYmYuLmNlMjdlODNkZTAyMmQ4OTI5NGY2MTcwYTkyMDQ0NjhmMDg5OGZi
ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMS0wOC0xMiAgQW5keSBFc3RlcyAg
PGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgQ2FuY2VsIGluIG9uYmVmb3JldW5sb2FkIGRp
YWxvZyBzb21ldGltZSBjYXVzZXMgYSBidXR0b24gdG8gc3RvcCB3b3JraW5nLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjYyMTEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2xvYWRlci9m
b3JtLXN1Ym1pc3Npb24tYWZ0ZXItYmVmb3JldW5sb2FkLWNhbmNlbC5odG1sCisKKyAgICAgICAg
SWYgYW4gb25iZWZvcmV1bmxvYWQgaGFuZGxlciBjYW5jZWxzIGEgbmF2aWdhdGlvbiB0aGF0IHdh
cyB0cmlnZ2VyZWQgYnkKKyAgICAgICAgYSBmb3JtIHN1Ym1pc3Npb24sIFdlYkNvcmUncyBtdWx0
aXBsZSBmb3JtIHN1Ym1pc3Npb24gcHJvdGVjdGlvbgorICAgICAgICBwcmV2ZW50cyB0aGUgZm9y
bSBmcm9tIGJlaW5nIHN1Ym1pdHRlZCBhIHNlY29uZCB0aW1lIGV2ZW4gdGhvdWdoIG5vCisgICAg
ICAgIGZpcnN0IHN1Ym1pc3Npb24gYWN0dWFsbHkgdG9vayBwbGFjZS4gRml4IHRoaXMgYnkgY2xl
YXJpbmcKKyAgICAgICAgbV9zdWJtaXR0ZWRGb3JtVVJMIGlmIHRoZSBvbmJlZm9yZXVubG9hZCBo
YW5kbGVyIGNhbmNlbHMgdGhlIGxvYWQuIFRoaXMKKyAgICAgICAgYWxsb3dzIHRoZSBzdWJtaXNz
aW9uIHRvIGJlIHJldHJpZWQuCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXI6OnNob3VsZENsb3NlKTogU2V0IG1fc3VibWl0
dGVkRm9ybVVSTCB0byBLVVJMKCkKKyAgICAgICAgaWYgc2hvdWxkQ2xvc2UoKSB3aWxsIHJldHVy
biBmYWxzZS4KKwogMjAxMS0wOC0xMSAgSm9obiBCYXVtYW4gIDxqYmF1bWFuQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZWFkYmFjayBjb21wb3NpdGVkIHdlYmdsIHJlc3VsdHMgZm9yIHByaW50
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCBlNWM5OGRiM2E5NTYz
MTcwZjdhYjMyOTBiNzkzZTlkNzdkODk5NmQ0Li5kZmMyZjlhOTkwNTU3ODRkYmVhYTc3NWMwZDk2
MmZkMDkxMzhkMmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTI3
MzIsNiArMjczMiw5IEBAIGJvb2wgRnJhbWVMb2FkZXI6OnNob3VsZENsb3NlKCkKICAgICAgICAg
ICAgIHNob3VsZENsb3NlID0gdHJ1ZTsKICAgICB9CiAKKyAgICBpZiAoIXNob3VsZENsb3NlKQor
ICAgICAgICAgbV9zdWJtaXR0ZWRGb3JtVVJMID0gS1VSTCgpOworCiAgICAgcmV0dXJuIHNob3Vs
ZENsb3NlOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggODRkMTA1YmNjNzUyYzhlZDY0NWZjYzA3NmYyYTMzNzFlOTA0M2RiYS4uNTI4YmJi
Y2I4NmE1MDhkNmNlYjQ2NzdhMTRiMGQ4OWFmMmZmYjhlMCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDExLTA4LTEy
ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBDYW5jZWwgaW4gb25i
ZWZvcmV1bmxvYWQgZGlhbG9nIHNvbWV0aW1lIGNhdXNlcyBhIGJ1dHRvbiB0byBzdG9wIHdvcmtp
bmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNjIx
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxl
bWVudCBhIG5ldyBMYXlvdXRUZXN0Q29udHJvbGxlciBtZXRob2QgdGhhdCBhIHRlc3QgY2FuIGNh
bGwgdG8gc2V0CisgICAgICAgIHRoZSByZXR1cm4gdmFsdWUgb2YgRHVtcFJlbmRlclRyZWUncyBi
ZWZvcmV1bmxvYWQgVUkgZGVsZWdhdGUuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9MYXlv
dXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5
b3V0VGVzdENvbnRyb2xsZXIpOiBJbml0aWFsaXplCisgICAgICAgIG1fc2hvdWxkU3RheU9uUGFn
ZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQuCisgICAgICAgIChzZXRTaG91bGRTdGF5T25QYWdl
QWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZENhbGxiYWNrKTogQ2FsbAorICAgICAgICBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0U2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxv
YWQoKS4KKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzdGF0aWNGdW5jdGlvbnMpOiBS
ZWdpc3RlcgorICAgICAgICAnc2V0U2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVV
bmxvYWQnIGFzIGEgc3RhdGljIGZ1bmN0aW9uLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0xh
eW91dFRlc3RDb250cm9sbGVyLmg6IAorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNo
b3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkKToKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRTaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVu
bG9hZCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRy
b2xsZXIuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250
cm9sbGVyKTogSW5pdGlhbGl6ZQorICAgICAgICBtX3Nob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRs
aW5nQmVmb3JlVW5sb2FkIGFuZCBiaW5kCisgICAgICAgICdzZXRTaG91bGRTdGF5T25QYWdlQWZ0
ZXJIYW5kbGluZ0JlZm9yZVVubG9hZCcgdG8gaXRzIGMrKyBzZXR0ZXIuCisgICAgICAgIChMYXlv
dXRUZXN0Q29udHJvbGxlcjo6cmVzZXQpOiBSZXNldAorICAgICAgICBtX3Nob3VsZFN0YXlPblBh
Z2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkIHRvIGZhbHNlLgorICAgICAgICAoTGF5b3V0VGVz
dENvbnRyb2xsZXI6OnNldFNob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2Fk
KToKKyAgICAgICAgU2V0IG1fc2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxv
YWQgdG8gdGhlIHZhbHVlIHBhc3NlZCBpbgorICAgICAgICBmcm9tIEphdmFTY3JpcHQuCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAg
ICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGlu
Z0JlZm9yZVVubG9hZCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuY3BwOgorICAgICAgICAoV2ViVmlld0hvc3Q6OnJ1bk1vZGFsQmVmb3JlVW5sb2FkRGlh
bG9nKTogQWRkIHRoZSBjb3JyZWN0IGxvZ2dpbmcgYW5kCisgICAgICAgIHJldHVybiB0aGUgaW52
ZXJzZSBvZgorICAgICAgICBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hvdWxkU3RheU9uUGFnZUFm
dGVySGFuZGxpbmdCZWZvcmVVbmxvYWQoKS4KKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMv
VUlEZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bVUlEZWxlZ2F0ZSB3ZWJWaWV3OnJ1bkJlZm9yZVVu
bG9hZENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlOmluaXRpYXRlZEJ5RnJhbWU6XSk6IERpdHRvLgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9VSURlbGVnYXRlLmNwcDoKKyAgICAgICAgKFVJ
RGVsZWdhdGU6OnJ1bkJlZm9yZVVubG9hZENvbmZpcm1QYW5lbFdpdGhNZXNzYWdlKTogRGl0dG8u
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9MYXlv
dXRUZXN0Q29udHJvbGxlci5pZGw6CisgICAgICAgIERlZmluZSBzZXRTaG91bGRTdGF5T25QYWdl
QWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZCgpLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV1RSOjpJbmplY3Rl
ZEJ1bmRsZTo6cG9zdE5ld0JlZm9yZVVubG9hZFJldHVyblZhbHVlKTogUG9zdCBhIG1lc3NhZ2UK
KyAgICAgICAgdG8gdGhlIFRlc3QgQ29udHJvbGxlciB0ZWxsaW5nIGl0IHdoYXQgdmFsdWUgaXQg
c2hvdWxkIHJldHVybiBpbiBpdHMKKyAgICAgICAgb25iZWZvcmV1bmxvYWQgVUkgZGVsZWdhdGUu
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0
U2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQpOgorICAgICAgICBDYWxs
IEluamVjdGVkQnVuZGxlOjpwb3N0TmV3QmVmb3JlVW5sb2FkUmV0dXJuVmFsdWUoKS4KKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250cm9sbGVy
Lmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpUZXN0Q29udHJvbGxlcik6IEluaXRpYWxpemUKKyAg
ICAgICAgbV9iZWZvcmVVbmxvYWRSZXR1cm5WYWx1ZSB0byB0cnVlLgorICAgICAgICAoV1RSOjpy
dW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWwpOiBBZGQgdGhlIGNvcnJlY3QgbG9nZ2luZyBhbmQg
cmV0dXJuCisgICAgICAgIHRoZSB2YWx1ZSBvZiBUZXN0Q29udHJvbGxlcjo6YmVmb3JlVW5sb2Fk
UmV0dXJuVmFsdWUoKS4KKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnJlc2V0U3RhdGVU
b0NvbnNpc3RlbnRWYWx1ZXMpOiBSZXNldAorICAgICAgICBtX2JlZm9yZVVubG9hZFJldHVyblZh
bHVlIHRvIHRydWUuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5o
OgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6YmVmb3JlVW5sb2FkUmV0dXJuVmFsdWUp
OgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6c2V0QmVmb3JlVW5sb2FkUmV0dXJuVmFs
dWUpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAg
ICAgICAoV1RSOjpUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRC
dW5kbGUpOiBIYW5kbGUgdGhlCisgICAgICAgIG1lc3NhZ2UgcG9zdGVkIGZyb20gdGhlIGluamVj
dGVkIGJ1bmRsZSBieSByZXRyaWV2aW5nIHRoZSBtZXNzYWdlIGJvZHkKKyAgICAgICAgYXMgYSBX
S0Jvb2xlYW4gYW5kIGNhbGxpbmcgVGVzdENvbnRyb2xsZXI6OnNldEJlZm9yZVVubG9hZFJldHVy
blZhbHVlKCkuCisKIDIwMTEtMDgtMTEgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXdvcmsgc29tZSBNYWtlZmlsZSBsb2dpYyB0byByZW1vdmUgYSBkb3VibGUtbmVn
YXRpdmUuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAK
aW5kZXggOTkyMjIxOGRlODIxNzk0OTE2OWYwOTNhNGQxMTFlMmUzMWE5MjgyNS4uYTZjMjNkZDlh
NWFiODZlN2MyNGRmZWJlZjFjMWFmNzJkZTNkN2UyYiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtODcsNiArODcsNyBAQCBMYXlvdXRUZXN0
Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIoY29uc3Qgc3RkOjpzdHJpbmcmIHRlc3RQ
YXRoT3JVUkwsIGNvbgogICAgICwgbV9pc1ByaW50aW5nKGZhbHNlKQogICAgICwgbV9kZWZlck1h
aW5SZXNvdXJjZURhdGFMb2FkKHRydWUpCiAgICAgLCBtX3Nob3VsZFBhaW50QnJva2VuSW1hZ2Uo
dHJ1ZSkKKyAgICAsIG1fc2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQo
ZmFsc2UpCiAgICAgLCBtX3Rlc3RQYXRoT3JVUkwodGVzdFBhdGhPclVSTCkKICAgICAsIG1fZXhw
ZWN0ZWRQaXhlbEhhc2goZXhwZWN0ZWRQaXhlbEhhc2gpCiB7CkBAIC0yMTQwLDYgKzIxNDEsMTYg
QEAgc3RhdGljIEpTVmFsdWVSZWYgYWxsb3dSb3VuZGluZ0hhY2tzQ2FsbGJhY2soSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIHQKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmlu
ZWQoY29udGV4dCk7CiB9CiAKK3N0YXRpYyBKU1ZhbHVlUmVmIHNldFNob3VsZFN0YXlPblBhZ2VB
ZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpT
T2JqZWN0UmVmLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwg
Y29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQorewor
ICAgIExheW91dFRlc3RDb250cm9sbGVyKiBjb250cm9sbGVyID0gc3RhdGljX2Nhc3Q8TGF5b3V0
VGVzdENvbnRyb2xsZXIqPihKU09iamVjdEdldFByaXZhdGUodGhpc09iamVjdCkpOworICAgIAor
ICAgIGlmIChhcmd1bWVudENvdW50ID09IDEpCisgICAgICAgIGNvbnRyb2xsZXItPnNldFNob3Vs
ZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkKEpTVmFsdWVUb0Jvb2xlYW4oY29u
dGV4dCwgYXJndW1lbnRzWzBdKSk7CisKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQo
Y29udGV4dCk7Cit9CisKIC8vIFN0YXRpYyBWYWx1ZXMKIAogc3RhdGljIEpTVmFsdWVSZWYgZ2V0
R2xvYmFsRmxhZ0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiB0aGlz
T2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikK
QEAgLTI0MTQsNiArMjQyNSw3IEBAIEpTU3RhdGljRnVuY3Rpb24qIExheW91dFRlc3RDb250cm9s
bGVyOjpzdGF0aWNGdW5jdGlvbnMoKQogICAgICAgICB7ICJzZXRTaG91bGRQYWludEJyb2tlbklt
YWdlIiwgc2V0U2hvdWxkUGFpbnRCcm9rZW5JbWFnZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAg
IHsgInNldFRleHREaXJlY3Rpb24iLCBzZXRUZXh0RGlyZWN0aW9uQ2FsbGJhY2ssIGtKU1Byb3Bl
cnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwK
ICAgICAgICAgeyAiYWxsb3dSb3VuZGluZ0hhY2tzIiwgYWxsb3dSb3VuZGluZ0hhY2tzQ2FsbGJh
Y2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnREZWxldGUgfSwKKyAgICAgICAgeyAic2V0U2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdC
ZWZvcmVVbmxvYWQiLCBzZXRTaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9h
ZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sCiAgICAgICAgIHsgMCwgMCwgMCB9CiAgICAgfTsKIApkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKaW5kZXggMTNhZmE5NzFhZTYz
NDlhNDExYThjODg5Y2Q5ZjAwZDMyNTkwZWQxOS4uOWI3NjI4ODBlY2FmNWY4MDhhOTY3ZjdhOTQz
MjY5MTMyMDU2NWRhMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVz
dENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5oCkBAIC0zMDcsNiArMzA3LDkgQEAgcHVibGljOgogICAgIHZvaWQgZXZhbHVhdGVTY3Jp
cHRJbklzb2xhdGVkV29ybGQodW5zaWduZWQgd29ybGRJRCwgSlNPYmplY3RSZWYgZ2xvYmFsT2Jq
ZWN0LCBKU1N0cmluZ1JlZiBzY3JpcHQpOwogICAgIHZvaWQgYWxsb3dSb3VuZGluZ0hhY2tzKCk7
CiAKKyAgICBib29sIHNob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkKCkg
Y29uc3QgeyByZXR1cm4gbV9zaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9h
ZDsgfQorICAgIHZvaWQgc2V0U2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxv
YWQoYm9vbCBzaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVubG9hZCkgeyBtX3No
b3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkID0gc2hvdWxkU3RheU9uUGFn
ZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQ7IH0KKwogICAgIHZvaWQgc2V0UE9TSVhMb2NhbGUo
SlNTdHJpbmdSZWYgbG9jYWxlKTsKIAogICAgIHZvaWQgc2V0V2ViVmlld0VkaXRhYmxlKGJvb2wp
OwpAQCAtMzk4LDYgKzQwMSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzUHJpbnRpbmc7CiAg
ICAgYm9vbCBtX2RlZmVyTWFpblJlc291cmNlRGF0YUxvYWQ7CiAgICAgYm9vbCBtX3Nob3VsZFBh
aW50QnJva2VuSW1hZ2U7CisgICAgYm9vbCBtX3Nob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5n
QmVmb3JlVW5sb2FkOwogCiAgICAgc3RkOjpzdHJpbmcgbV9hdXRoZW50aWNhdGlvblVzZXJuYW1l
OwogICAgIHN0ZDo6c3RyaW5nIG1fYXV0aGVudGljYXRpb25QYXNzd29yZDsgCmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAK
aW5kZXggMTc1NmQzMjhhN2MwNGI1MzcwNTA3YTMyMjYzZTdhNTgxNzdjYzAyMC4uNDA5Zjg1Mzhm
ZjYzNDY2YjNiMTRkNDJlYmYzZDBhZWEyMzRlMjY2MSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtNzcsNiAr
NzcsNyBAQCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIoVGVzdFNo
ZWxsKiBzaGVsbCkKICAgICAsIG1fZGVmZXJNYWluUmVzb3VyY2VEYXRhTG9hZChmYWxzZSkKICAg
ICAsIG1fc2hvd0RlYnVnTGF5ZXJUcmVlKGZhbHNlKQogICAgICwgbV93b3JrUXVldWUodGhpcykK
KyAgICAsIG1fc2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQoZmFsc2Up
CiB7CiAKICAgICAvLyBJbml0aWFsaXplIHRoZSBtYXAgdGhhdCBhc3NvY2lhdGVzIG1ldGhvZHMg
b2YgdGhpcyBjbGFzcyB3aXRoIHRoZSBuYW1lcwpAQCAtMjE5LDYgKzIyMCw3IEBAIExheW91dFRl
c3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihUZXN0U2hlbGwqIHNoZWxsKQogICAg
IGJpbmRNZXRob2QoImRlbGV0ZUxvY2FsU3RvcmFnZUZvck9yaWdpbiIsICZMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6ZGVsZXRlTG9jYWxTdG9yYWdlRm9yT3JpZ2luKTsKICAgICBiaW5kTWV0aG9kKCJv
YnNlcnZlU3RvcmFnZVRyYWNrZXJOb3RpZmljYXRpb25zIiwgJkxheW91dFRlc3RDb250cm9sbGVy
OjpvYnNlcnZlU3RvcmFnZVRyYWNrZXJOb3RpZmljYXRpb25zKTsKICAgICBiaW5kTWV0aG9kKCJz
eW5jTG9jYWxTdG9yYWdlIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzeW5jTG9jYWxTdG9yYWdl
KTsKKyAgICBiaW5kTWV0aG9kKCJzZXRTaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9y
ZVVubG9hZCIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U2hvdWxkU3RheU9uUGFnZUFmdGVy
SGFuZGxpbmdCZWZvcmVVbmxvYWQpOwogICAgIAogICAgIC8vIFRoZSBmYWxsYmFjayBtZXRob2Qg
aXMgY2FsbGVkIHdoZW4gYW4gdW5rbm93biBtZXRob2QgaXMgaW52b2tlZC4KICAgICBiaW5kRmFs
bGJhY2tNZXRob2QoJkxheW91dFRlc3RDb250cm9sbGVyOjpmYWxsYmFja01ldGhvZCk7CkBAIC02
MTEsNiArNjEzLDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVzZXQoKQogICAgICAg
ICBtX2Nsb3NlUmVtYWluaW5nV2luZG93cyA9IHRydWU7CiAgICAgbV93b3JrUXVldWUucmVzZXQo
KTsKICAgICBtX3Rhc2tMaXN0LnJldm9rZUFsbCgpOworICAgIG1fc2hvdWxkU3RheU9uUGFnZUFm
dGVySGFuZGxpbmdCZWZvcmVVbmxvYWQgPSBmYWxzZTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6bG9jYXRpb25DaGFuZ2VEb25lKCkKQEAgLTE4MDYsNiArMTgwOSwxNCBAQCB2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpzeW5jTG9jYWxTdG9yYWdlKGNvbnN0IENwcEFyZ3VtZW50
TGlzdCYsIENwcFZhcmlhbnQqKQogICAgIC8vIE5vdCBJbXBsZW1lbnRlZAogfQogCit2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpzZXRTaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9y
ZVVubG9hZChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVz
dWx0KQoreworICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpID09IDEgJiYgYXJndW1lbnRzWzBdLmlz
Qm9vbCgpKQorICAgICAgICBtX3Nob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5s
b2FkID0gYXJndW1lbnRzWzBdLnRvQm9vbGVhbigpOworCisgICAgcmVzdWx0LT5zZXROdWxsKCk7
Cit9CisKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFBsdWdpbnNFbmFibGVkKGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAgICAg
aWYgKGFyZ3VtZW50cy5zaXplKCkgPiAwICYmIGFyZ3VtZW50c1swXS5pc0Jvb2woKSkgewpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xs
ZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVy
LmgKaW5kZXggNmZmNjZjYTZjYjIyZTNmNzY0ZGU4NDM3NzNiOTdkZTY4OTc0NTA4MC4uNmFlYTdl
Y2YyNzhmMDQzNGFhZGNkMTk2N2Q0NWUzNjNhNGVhNmM4YiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC0zOTQsNiAr
Mzk0LDggQEAgcHVibGljOgogICAgIC8vIENoYW5nZXMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgZm9j
dXNlZCBlbGVtZW50LgogICAgIHZvaWQgc2V0VGV4dERpcmVjdGlvbihjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50Kik7CiAKKyAgICB2b2lkIHNldFNob3VsZFN0YXlPblBhZ2VBZnRl
ckhhbmRsaW5nQmVmb3JlVW5sb2FkKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQq
KTsKKwogcHVibGljOgogICAgIC8vIFRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhcmUgbm90IGV4cG9z
ZWQgdG8gSmF2YVNjcmlwdC4KICAgICB2b2lkIHNldFdvcmtRdWV1ZUZyb3plbihib29sIGZyb3pl
bikgeyBtX3dvcmtRdWV1ZS5zZXRGcm96ZW4oZnJvemVuKTsgfQpAQCAtNDU1LDYgKzQ1Nyw4IEBA
IHB1YmxpYzoKIAogICAgIFRhc2tMaXN0KiB0YXNrTGlzdCgpIHsgcmV0dXJuICZtX3Rhc2tMaXN0
OyB9CiAKKyAgICBib29sIHNob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2Fk
KCkgY29uc3QgeyByZXR1cm4gbV9zaG91bGRTdGF5T25QYWdlQWZ0ZXJIYW5kbGluZ0JlZm9yZVVu
bG9hZDsgfQorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBXb3JrSXRlbTsKICAgICBmcmll
bmQgY2xhc3MgV29ya1F1ZXVlOwpAQCAtNjIzLDYgKzYyNyw4IEBAIHByaXZhdGU6CiAKICAgICAv
LyBXQVYgYXVkaW8gZGF0YSBpcyBzdG9yZWQgaGVyZS4KICAgICBXZWJLaXQ6OldlYkFycmF5QnVm
ZmVyVmlldyBtX2F1ZGlvRGF0YTsKKworICAgIGJvb2wgbV9zaG91bGRTdGF5T25QYWdlQWZ0ZXJI
YW5kbGluZ0JlZm9yZVVubG9hZDsKIH07CiAKICNlbmRpZiAvLyBMYXlvdXRUZXN0Q29udHJvbGxl
cl9oCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9z
dC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKaW5k
ZXggY2NjYjQ4YTI5MzhmN2U2MGU0NGVlOGYwNzYwNmZjZDE4ZjE1NzgzNy4uN2RiZWNkOGQyMWZk
NzYyOWYyNWQ2MzMxMGU4MjAyMTI2MWVlNzczNyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcApAQCAtNDgxLDkgKzQ4MSwxMCBAQCBib29sIFdlYlZp
ZXdIb3N0OjpydW5Nb2RhbFByb21wdERpYWxvZyhXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFdlYlN0
cmluZyYgbWVzc2FnZQogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFdlYlZpZXdIb3N0Ojpy
dW5Nb2RhbEJlZm9yZVVubG9hZERpYWxvZyhXZWJGcmFtZSosIGNvbnN0IFdlYlN0cmluZyYpCiti
b29sIFdlYlZpZXdIb3N0OjpydW5Nb2RhbEJlZm9yZVVubG9hZERpYWxvZyhXZWJGcmFtZSosIGNv
bnN0IFdlYlN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICByZXR1cm4gdHJ1ZTsgLy8gQWxsb3cgd2lu
ZG93IGNsb3N1cmUuCisgICAgcHJpbnRmKCJDT05GSVJNIE5BVklHQVRJT046ICVzXG4iLCBtZXNz
YWdlLnV0ZjgoKS5kYXRhKCkpOworICAgIHJldHVybiAhbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+
c2hvdWxkU3RheU9uUGFnZUFmdGVySGFuZGxpbmdCZWZvcmVVbmxvYWQoKTsKIH0KIAogdm9pZCBX
ZWJWaWV3SG9zdDo6c2hvd0NvbnRleHRNZW51KFdlYkZyYW1lKiwgY29uc3QgV2ViQ29udGV4dE1l
bnVEYXRhJiBjb250ZXh0TWVudURhdGEpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvVUlEZWxlZ2F0ZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9VSURlbGVnYXRl
Lm1tCmluZGV4IGQ3ZTgzNTk4MmU3MDllOTRlZGJhNmQzZGYwODNjMWJlMzliOWJmMzUuLjhiNDYy
MTcyZDMwYTIxZWZhYTJmOWM3ODAwMjc4NmVmMTAxNDM4NWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9VSURlbGVnYXRlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9VSURlbGVnYXRlLm1tCkBAIC0xMDcsNyArMTA3LDggQEAgRHVtcFJlbmRlclRyZWVEcmFn
Z2luZ0luZm8gKmRyYWdnaW5nSW5mbyA9IG5pbDsKIHsKICAgICBpZiAoIWRvbmUpCiAgICAgICAg
IHByaW50ZigiQ09ORklSTSBOQVZJR0FUSU9OOiAlc1xuIiwgW21lc3NhZ2UgVVRGOFN0cmluZ10p
OwotICAgIHJldHVybiBZRVM7CisgICAgCisgICAgcmV0dXJuICFnTGF5b3V0VGVzdENvbnRyb2xs
ZXItPnNob3VsZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkKCk7CiB9CiAKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL1VJRGVsZWdhdGUuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvd2luL1VJRGVsZWdhdGUuY3BwCmluZGV4IGY1YTRmNTg0NmEwMmE0
YzU4MDU1YmE0YmEwNGU2ZmJjZWYwOGYxYmQuLjcyOWUzMzc4ZGY0NDQzNjZiMjgzNmFkNTVhZTdl
MmIwMTczZWRlN2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9VSURlbGVn
YXRlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS93aW4vVUlEZWxlZ2F0ZS5jcHAKQEAg
LTQ2NSwxNCArNDY1LDE1IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgVUlEZWxlZ2F0ZTo6
cnVuSmF2YVNjcmlwdFRleHRJbnB1dFBhbmVsV2l0aFByb21wdCgKIAogSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBVSURlbGVnYXRlOjpydW5CZWZvcmVVbmxvYWRDb25maXJtUGFuZWxXaXRoTWVz
c2FnZSggCiAgICAgLyogW2luXSAqLyBJV2ViVmlldyogLypzZW5kZXIqLywKLSAgICAvKiBbaW5d
ICovIEJTVFIgLyptZXNzYWdlKi8sCisgICAgLyogW2luXSAqLyBCU1RSIG1lc3NhZ2UsCiAgICAg
LyogW2luXSAqLyBJV2ViRnJhbWUqIC8qaW5pdGlhdGVkQnlGcmFtZSovLAogICAgIC8qIFtyZXR2
YWxdW291dF0gKi8gQk9PTCogcmVzdWx0KQogewogICAgIGlmICghcmVzdWx0KQogICAgICAgICBy
ZXR1cm4gRV9QT0lOVEVSOwotICAgICpyZXN1bHQgPSBUUlVFOwotICAgIHJldHVybiBFX05PVElN
UEw7CisgICAgcHJpbnRmKCJDT05GSVJNIE5BVklHQVRJT046ICVTXG4iLCBtZXNzYWdlID8gbWVz
c2FnZSA6IEwiIik7CisgICAgKnJlc3VsdCA9ICFnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNob3Vs
ZFN0YXlPblBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkKCk7CisgICAgcmV0dXJuIFNfT0s7
CiB9CiAKIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgVUlEZWxlZ2F0ZTo6d2ViVmlld0FkZE1l
c3NhZ2VUb0NvbnNvbGUoIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9CaW5kaW5ncy9MYXlvdXRUZXN0Q29udHJvbGxlci5pZGwgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9sbGVy
LmlkbAppbmRleCA0MjA0NjAyY2UwMmY2MTBlOGExNWFhYWEyMDEzZmJiZDc2ODU5ZTY1Li5mMTQ2
OGQwMmNjYjFlYjcwMWYyM2JhYzM3MGE0OWRmYTllYWNhN2Q0IDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL0xheW91dFRlc3RDb250cm9s
bGVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL0xheW91dFRlc3RDb250cm9sbGVyLmlkbApAQCAtMTEyLDYgKzExMiw4IEBAIG1vZHVsZSBX
VFIgewogICAgICAgICB2b2lkIHNldFRleHREaXJlY3Rpb24oaW4gRE9NU3RyaW5nIGRpcmVjdGlv
bik7CiAKICAgICAgICAgdm9pZCBzZXRXaWxsU2VuZFJlcXVlc3RSZXR1cm5zTnVsbChpbiBib29s
ZWFuIGZsYWcpOworICAgICAgICAKKyAgICAgICAgdm9pZCBzZXRTaG91bGRTdGF5T25QYWdlQWZ0
ZXJIYW5kbGluZ0JlZm9yZVVubG9hZChpbiBib29sZWFuIGZsYWcpOwogICAgIH07CiAKIH0KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5jcHAKaW5kZXggM2FhZjAyZjg4NWUwNmMyNGNjMzQ1NTNmN2JkMGRjZmFjOTM1OWY5
Yy4uZjc3MmFmMTk3YzU0NGMwZmViNDFhMmI5MDQ2Yzk0NmY4MzViOGNlMSAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5jcHAKQEAgLTIzMiw1ICsyMzIsMTIgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZHVtcEJhY2tG
b3J3YXJkTGlzdHNGb3JBbGxQYWdlcygpCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXpl
OyArK2kpCiAgICAgICAgIG1fcGFnZXNbaV0tPmR1bXBCYWNrRm9yd2FyZExpc3QoKTsKIH0KKyAg
ICAKK3ZvaWQgSW5qZWN0ZWRCdW5kbGU6OnBvc3ROZXdCZWZvcmVVbmxvYWRSZXR1cm5WYWx1ZShi
b29sIHZhbHVlKQoreworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZShB
ZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiQmVmb3JlVW5sb2FkUmV0dXJu
VmFsdWUiKSk7CisgICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiBtZXNzYWdlQm9keShBZG9w
dFdLLCBXS0Jvb2xlYW5DcmVhdGUodmFsdWUpKTsKKyAgICBXS0J1bmRsZVBvc3RNZXNzYWdlKG1f
YnVuZGxlLCBtZXNzYWdlTmFtZS5nZXQoKSwgbWVzc2FnZUJvZHkuZ2V0KCkpOworfQogCiB9IC8v
IG5hbWVzcGFjZSBXVFIKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAppbmRleCAzMDkwNjE0ODAxMWRlNDNhOTJlNDUyNDRm
ODAzZTM0ZDczNmRjMTUyLi41MDZiZWRmOGQzMzk4MGIxMmUzMWQ1MzIyYjM5MjY5MDM0YTg2Njdm
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZS5oCkBAIC03MSw2ICs3MSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRv
cExvYWRpbmdGcmFtZShXS0J1bmRsZUZyYW1lUmVmIGZyYW1lKSB7IG1fdG9wTG9hZGluZ0ZyYW1l
ID0gZnJhbWU7IH0KIAogICAgIGJvb2wgc2hvdWxkRHVtcFBpeGVscygpIGNvbnN0IHsgcmV0dXJu
IG1fZHVtcFBpeGVsczsgfQorICAgIAorICAgIHZvaWQgcG9zdE5ld0JlZm9yZVVubG9hZFJldHVy
blZhbHVlKGJvb2wpOwogCiBwcml2YXRlOgogICAgIEluamVjdGVkQnVuZGxlKCk7CmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250
cm9sbGVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IDhmNmZhNmE3YjE4MWRjMjRjYzZhYzI1Zjc0NGNmZDEw
MTliYmQzMjkuLjI3OTBmMmVhYzg4NzYzNjQyYjBhOTUxOTAwZTY4YzVlOGJjNjUwZTkgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0VGVzdENv
bnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC00OTMsNSArNDkzLDEwIEBAIHZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnNldFRleHREaXJlY3Rpb24oSlNTdHJpbmdSZWYgZGlyZWN0aW9uKQog
ICAgIFdLQnVuZGxlRnJhbWVSZWYgbWFpbkZyYW1lID0gV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1l
KEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5wYWdlKCktPnBhZ2UoKSk7CiAgICAgcmV0dXJuIFdL
QnVuZGxlRnJhbWVTZXRUZXh0RGlyZWN0aW9uKG1haW5GcmFtZSwgdG9XSyhkaXJlY3Rpb24pLmdl
dCgpKTsKIH0KKyAgICAKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNob3VsZFN0YXlP
blBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkKGJvb2wgc2hvdWxkU3RheU9uUGFnZSkKK3sK
KyAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkucG9zdE5ld0JlZm9yZVVubG9hZFJldHVyblZh
bHVlKCFzaG91bGRTdGF5T25QYWdlKTsKK30KIAogfSAvLyBuYW1lc3BhY2UgV1RSCmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRlc3RDb250
cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0xheW91dFRl
c3RDb250cm9sbGVyLmgKaW5kZXggOTkyNDExYTU3NTI2ZDU2ODIzZGZkNzRmZTI0ZDQwMTQxNjgy
MGE3Ni4uOTFlMzQ2NjJkZTk0NWRhNzRkZGMyMGE2OGQ4NmViOTY3ZjJmYjBiZCAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9MYXlvdXRUZXN0Q29udHJv
bGxlci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuaApAQCAtMTY4LDYgKzE2OCw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQg
c2V0VGV4dERpcmVjdGlvbihKU1N0cmluZ1JlZik7CiAKKyAgICB2b2lkIHNldFNob3VsZFN0YXlP
blBhZ2VBZnRlckhhbmRsaW5nQmVmb3JlVW5sb2FkKGJvb2wpOworCiBwcml2YXRlOgogICAgIHN0
YXRpYyBjb25zdCBkb3VibGUgd2FpdFRvRHVtcFdhdGNoZG9nVGltZXJJbnRlcnZhbDsKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCA0NzRmNWQyNmJlYjM5
NGFlMzc0ZTc1NGY5YWE2ZDY4MDE4NDBjZGM0Li5hNmY1Y2M3MTExMjVmYTE4ZjA3Y2M5NTk2MWY3
ZWVmYzhhNjBhMjM2IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250
cm9sbGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cApAQCAtNjgsNiArNjgsNyBAQCBUZXN0Q29udHJvbGxlcjo6VGVzdENvbnRyb2xsZXIoaW50IGFy
Z2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKICAgICAsIG1fc2hvcnRUaW1lb3V0KGRlZmF1bHRTaG9y
dFRpbWVvdXQpCiAgICAgLCBtX2RpZFByaW50V2ViUHJvY2Vzc0NyYXNoZWRNZXNzYWdlKGZhbHNl
KQogICAgICwgbV9zaG91bGRFeGl0V2hlbldlYlByb2Nlc3NDcmFzaGVzKHRydWUpCisgICAgLCBt
X2JlZm9yZVVubG9hZFJldHVyblZhbHVlKHRydWUpCiB7CiAgICAgaW5pdGlhbGl6ZShhcmdjLCBh
cmd2KTsKICAgICBjb250cm9sbGVyID0gdGhpczsKQEAgLTEwNSw4ICsxMDYsOSBAQCBzdGF0aWMg
dm9pZCBzZXRXaW5kb3dGcmFtZU90aGVyUGFnZShXS1BhZ2VSZWYgcGFnZSwgV0tSZWN0IGZyYW1l
LCBjb25zdCB2b2lkKiBjbAogCiBzdGF0aWMgYm9vbCBydW5CZWZvcmVVbmxvYWRDb25maXJtUGFu
ZWwoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG1lc3NhZ2UsIFdLRnJhbWVSZWYgZnJhbWUs
IGNvbnN0IHZvaWQgKmNsaWVudEluZm8pCiB7Ci0gICAgcHJpbnRmKCIlc1xuIiwgdG9TVEQobWVz
c2FnZSkuY19zdHIoKSk7Ci0gICAgcmV0dXJuIHRydWU7CisgICAgVGVzdENvbnRyb2xsZXIqIHRl
c3RDb250cm9sbGVyID0gc3RhdGljX2Nhc3Q8VGVzdENvbnRyb2xsZXIqPihjb25zdF9jYXN0PHZv
aWQqPihjbGllbnRJbmZvKSk7CisgICAgcHJpbnRmKCJDT05GSVJNIE5BVklHQVRJT046ICVzXG4i
LCB0b1NURChtZXNzYWdlKS5jX3N0cigpKTsKKyAgICByZXR1cm4gdGVzdENvbnRyb2xsZXItPmJl
Zm9yZVVubG9hZFJldHVyblZhbHVlKCk7CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIGxvbmcg
ZXhjZWVkZWREYXRhYmFzZVF1b3RhKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tTZWN1cml0eU9y
aWdpblJlZiwgV0tTdHJpbmdSZWYsIFdLU3RyaW5nUmVmLCB1bnNpZ25lZCBsb25nIGxvbmcsIHVu
c2lnbmVkIGxvbmcgbG9uZywgdW5zaWduZWQgbG9uZyBsb25nLCB1bnNpZ25lZCBsb25nIGxvbmcs
IGNvbnN0IHZvaWQqKQpAQCAtMzU4LDYgKzM2MCw4IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6Omlu
aXRpYWxpemUoaW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKIGJvb2wgVGVzdENvbnRyb2xs
ZXI6OnJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoKQogewogICAgIG1fc3RhdGUgPSBSZXNl
dHRpbmc7CisgICAgCisgICAgbV9iZWZvcmVVbmxvYWRSZXR1cm5WYWx1ZSA9IHRydWU7CiAKICAg
ICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2FnZU5hbWUgPSBhZG9wdFdLKFdLU3RyaW5n
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKCJSZXNldCIpKTsKICAgICBXS1JldGFpblB0cjxXS011dGFi
bGVEaWN0aW9uYXJ5UmVmPiByZXNldE1lc3NhZ2VCb2R5ID0gYWRvcHRXSyhXS011dGFibGVEaWN0
aW9uYXJ5Q3JlYXRlKCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCmlu
ZGV4IGZmMjZmYjFmYmJlM2I4MTgxODZiZjJkMDdiZGNkZGY5Y2Q2YWQ0YzUuLjgwZTY0OGVmZDcz
MmVhMTY3ZDIzMjg3NzQyNTA3ZWFhYzQ3ZTU2YTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RDb250cm9sbGVyLmgKQEAgLTU2LDYgKzU2LDkgQEAgcHVibGljOgogICAgIGVudW0gVGltZW91
dER1cmF0aW9uIHsgU2hvcnRUaW1lb3V0LCBMb25nVGltZW91dCB9OwogICAgIHZvaWQgcnVuVW50
aWwoYm9vbCYgZG9uZSwgVGltZW91dER1cmF0aW9uKTsKICAgICB2b2lkIG5vdGlmeURvbmUoKTsK
KyAgICAKKyAgICBib29sIGJlZm9yZVVubG9hZFJldHVyblZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9iZWZvcmVVbmxvYWRSZXR1cm5WYWx1ZTsgfQorICAgIHZvaWQgc2V0QmVmb3JlVW5sb2FkUmV0
dXJuVmFsdWUoYm9vbCB2YWx1ZSkgeyBtX2JlZm9yZVVubG9hZFJldHVyblZhbHVlID0gdmFsdWU7
IH0KIAogcHJpdmF0ZToKICAgICB2b2lkIGluaXRpYWxpemUoaW50IGFyZ2MsIGNvbnN0IGNoYXIq
IGFyZ3ZbXSk7CkBAIC0xMjEsNiArMTI0LDggQEAgcHJpdmF0ZToKIAogICAgIGJvb2wgbV9kaWRQ
cmludFdlYlByb2Nlc3NDcmFzaGVkTWVzc2FnZTsKICAgICBib29sIG1fc2hvdWxkRXhpdFdoZW5X
ZWJQcm9jZXNzQ3Jhc2hlczsKKyAgICAKKyAgICBib29sIG1fYmVmb3JlVW5sb2FkUmV0dXJuVmFs
dWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXVFIKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5jcHAKaW5kZXggZWM5YWI5NTg2NGYzMTBlN2E3YjdhNDQxNDVmZTgyZjdlODMz
NDFhYi4uYmUyMDA0NmEyMWIwMTM1MDEyMjkxZGVjMzdlZTViZjE2MTEwMTM0MiAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKQEAgLTIzOCw2ICsyMzgsMTMgQEAg
dm9pZCBUZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUo
V0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUKICAgICAgICAgVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgp
Lm5vdGlmeURvbmUoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAgICAKKyAgICBpZiAoV0tT
dHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIkJlZm9yZVVubG9hZFJldHVy
blZhbHVlIikpIHsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBX
S0Jvb2xlYW5HZXRUeXBlSUQoKSk7CisgICAgICAgIFdLQm9vbGVhblJlZiBiZWZvcmVVbmxvYWRS
ZXR1cm5WYWx1ZSA9IHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4obWVzc2FnZUJvZHkpOworICAg
ICAgICBUZXN0Q29udHJvbGxlcjo6c2hhcmVkKCkuc2V0QmVmb3JlVW5sb2FkUmV0dXJuVmFsdWUo
V0tCb29sZWFuR2V0VmFsdWUoYmVmb3JlVW5sb2FkUmV0dXJuVmFsdWUpKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQo=
</data>
<flag name="review"
          id="99496"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>