<?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>143091</bug_id>
          
          <creation_ts>2015-03-26 04:22:23 -0700</creation_ts>
          <short_desc>Botwatcher&apos;s dashboard doesn&apos;t show JSC test regressions on Apple bots</short_desc>
          <delta_ts>2015-05-26 15:07:37 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>ap</cc>
    
    <cc>dbates</cc>
    
    <cc>dburkart</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>oliver</cc>
    
    <cc>thorton</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1080254</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-03-26 04:22:23 -0700</bug_when>
    <thetext>Botwatcher&apos;s dashboard collect results from WK1 and WK2 tester bots 
only, but Apple&apos;s WK1 and WK2 tester bots don&apos;t run JSC tests anymore.

history:
- https://trac.webkit.org/changeset/180945 added dedicated JSC tester 
bots for Yosemite and disabled JSC tests on Mavericks WK2 bots.
- https://trac.webkit.org/changeset/181962 disabled JSC tests on the 
Mavericks WK1 bots, because it isn&apos;t so important for Apple anymore.
- 32-bit JSC and LLINT CLoop bots weren&apos;t checked by dashboard ever

Now only JSC regressions happen on GTK and EFL bots are shown
on the Botwatcher&apos;s dashboard. It would be great to show Apple
Yosemite, 32 bit and cloop results on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080306</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-03-26 09:55:39 -0700</bug_when>
    <thetext>&gt; Now only JSC regressions happen on GTK and EFL bots are shown
on the Botwatcher&apos;s dashboard.

Windows also runs JSC tests in the same queue as layout tests.

I agree that we should have JSC test results on the dashboard. I&apos;d ask to add them in such a way that we don&apos;t get many new green bubbles when everything is good though, we are at a point where we need to collapse bubbles so that they could fit on one screen for most people.

These are the JSC queues that we have on Mac:

Apple Mavericks 32-bit JSC (BuildAndTest)
Apple Yosemite 32-bit JSC (BuildAndTest)
Apple Yosemite Debug JSC (Tests)
Apple Yosemite Release JSC (Tests)
Apple Mavericks LLINT CLoop (BuildAndTest)
Apple Yosemite LLINT CLoop (BuildAndTest)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080407</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-03-26 14:34:02 -0700</bug_when>
    <thetext>rdar://problem/19330328</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097462</commentid>
    <comment_count>3</comment_count>
      <attachid>253741</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-05-26 14:45:02 -0700</bug_when>
    <thetext>Created attachment 253741
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097471</commentid>
    <comment_count>4</comment_count>
      <attachid>253741</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-05-26 14:52:18 -0700</bug_when>
    <thetext>Comment on attachment 253741
proposed patch

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

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:46
&gt; +        if (&quot;combinedQueues&quot; in queuesInfo[id]) {

Usually best to just test the value for non-null (buildbot.queuesInfo[id].combinedQueues) It could exist but still be null/undefined.

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:123
&gt; +            if (&quot;combinedQueues&quot; in queueInfo) {

Ditto.

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:34
&gt; +        if (&quot;combinedQueues&quot; in buildbot.queuesInfo[id]) {

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097481</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-05-26 15:07:37 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/r184879&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253741</attachid>
            <date>2015-05-26 14:45:02 -0700</date>
            <delta_ts>2015-05-26 14:49:53 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>JSCOnDashboard.txt</filename>
            <type>text/plain</type>
            <size>27512</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE4NDg3MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ2IEBACisyMDE1LTA1LTI2ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgorCisgICAgICAgIEJvdHdhdGNoZXIncyBkYXNoYm9hcmQgZG9lc24ndCBzaG93IEpTQyB0ZXN0
IHJlZ3Jlc3Npb25zIG9uIEFwcGxlIGJvdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE0MzA5MQorICAgICAgICByZGFyOi8vcHJvYmxlbS8xOTMzMDMy
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIGhh
dmUgbWFueSBvZiB0aGVzZSwgd2hpY2ggYXJlIGhhcmQgdG8gZml0IG9uIHRoZSBkYXNoYm9hcmQu
IEFkZGVkIGEgdmlldyB0aGF0CisgICAgICAgIGNvbGxhcHNlcyB0byBhIHNpbmdsZSBncmVlbiBi
dWJibGUgd2hlbiBldmVyeXRoaW5nIGlzIGdvb2QsIGFuZCBleHBhbmRzIHdoZW4gdGhlcmUKKyAg
ICAgICAgYXJlIGZhaWx1cmVzIChvciBtYW51YWxseSkuCisKKyAgICAgICAgKiBCdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvaW5k
ZXguaHRtbDogQWRkZWQgQnVpbGRib3RDb21iaW5lZFF1ZXVlVmlldy5qcworCisgICAgICAgICog
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFz
aGJvYXJkL1NjcmlwdHMvQnVpbGRib3QuanM6CisgICAgICAgIChCdWlsZGJvdC5wcm90b3R5cGUu
c2V0IGlzQXV0aGVudGljYXRlZCk6CisgICAgICAgIChCdWlsZGJvdC5wcm90b3R5cGUuX25vcm1h
bGl6ZVF1ZXVlSW5mbyk6CisgICAgICAgIChCdWlsZGJvdC5wcm90b3R5cGUuX25vcm1hbGl6ZVF1
ZXVlc0luZm8pOgorICAgICAgICAoQnVpbGRib3QucHJvdG90eXBlLnVwZGF0ZVF1ZXVlcyk6Cisg
ICAgICAgIE1vdmVkIHF1ZXVlIGluZm8gbm9ybWFsaXphdGlvbiBoZXJlIGZyb20gQnVpbGRiaXRR
dWV1ZS4gVGhlIGxhdHRlciBpcyBhIG1vZGVsIGNsYXNzCisgICAgICAgIHRoYXQgc2hvdWxkbid0
IGhhdmUgdG8ga25vdyBhYm91dCBwcmVzZW50YXRpb24sIGFuZCB0aGlzIGxldHMgdXMgbGVlcCB0
aGUga25vd2xlZGdlCisgICAgICAgIGFib3V0IGNvbWJpbmVkIHF1ZXVlcyBvdXQgaWYgaXQuIExh
dGVyLCB3ZSBjYW4gcmVmYWN0b3IgZXhpc3RpbmcgY29kZSwgYW5kIG1vdmUgb3V0CisgICAgICAg
IGFsbCBrbm93bGVkZ2UgYWJvdXQgaGVhZGluZ3MgYW5kIHN1Y2guCisKKyAgICAgICAgKiBCdWls
ZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9h
cmQvU2NyaXB0cy9CdWlsZGJvdENvbWJpbmVkUXVldWVWaWV3LmpzOgorICAgICAgICBBZGRlZCB0
aGUgbmV3IHZpZXcuIEl0J3Mgbm90IHF1aXRlIHVuaXZlcnNhbCwgYW5kIGRvZXNuJ3QgaGF2ZSBh
cyBoZWxwZnVsIHBvcG92ZXJzCisgICAgICAgIGFzIG90aGVyIHZpZXdzLCBidXQgd2UgY2FuIGV4
dGVuZCBpdCB3aGVuL2lmIHdlIHVzZSBpdCBmb3IgbW9yZSB0aGFuIEpTQy4KKworICAgICAgICAq
IEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rh
c2hib2FyZC9TY3JpcHRzL0J1aWxkYm90UXVldWUuanM6CisgICAgICAgIChCdWlsZGJvdFF1ZXVl
KTogTm93IHRoYXQgaW5mbyBpcyBub3JtYWxpemVkIGJlZm9yZSBjcmVhdGluZyBhIHF1ZXVlLCBk
b24ndCBkbyB0aGF0IGhlcmUuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53
ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9NYWluLmpzOgor
ICAgICAgICAoZG9jdW1lbnRSZWFkeSk6IEFkZGVkIHN1cHBvcnQgZm9yIGNvbWJpbmVkIHF1ZXVl
cy4gVGhlc2UgYXJlIGN1cnJlbnRseSBhbHdheXMgZW5kaW5nIHVwCisgICAgICAgIGluIE90aGVy
IGNvbHVtbiwgYnV0IGl0J3MgZWFzeSB0byBjdXN0b21pemUgaW4gdGhlIGZ1dHVyZSBpZiB3ZSBu
ZWVkIHRvLgorCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1j
b25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvV2ViS2l0QnVpbGRib3QuanM6Cisg
ICAgICAgIChXZWJLaXRCdWlsZGJvdCk6IEFkZGVkIEpTQyBxdWV1cy4KKworICAgICAgICAqIEJ1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hi
b2FyZC9TdHlsZXMvUXVldWVWaWV3LmNzczoKKyAgICAgICAgKC5jb21iaW5lZC1xdWV1ZS1wb3Bv
dmVyKToKKyAgICAgICAgKC5jb21iaW5lZC1xdWV1ZS1wb3BvdmVyIC5yZXZpc2lvbik6CisgICAg
ICAgIEFkZGVkIHN0eWxlcyBmb3IgdGhlIGNvbWJpbmVkIHZpZXcuCisKIDIwMTUtMDUtMjYgIERh
biBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBDaGFuZ2VkIGEgZmlsZSB0
byB1c2UgVW5peCBsaW5lIGVuZGluZ3MuCkluZGV4OiBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9i
dWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvaW5kZXguaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNv
bmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvaW5kZXguaHRtbAkocmV2aXNpb24gMTg0ODY5KQor
KysgVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGlj
X2h0bWwvZGFzaGJvYXJkL2luZGV4Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDcg
QEAgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQgc3JjPSJTY3Jp
cHRzL0J1aWxkYm90UXVldWVWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iU2Ny
aXB0cy9CdWlsZGJvdEJ1aWxkZXJRdWV1ZVZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQg
c3JjPSJTY3JpcHRzL0J1aWxkYm90VGVzdGVyUXVldWVWaWV3LmpzIj48L3NjcmlwdD4KKyAgICA8
c2NyaXB0IHNyYz0iU2NyaXB0cy9CdWlsZGJvdENvbWJpbmVkUXVldWVWaWV3LmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHNyYz0iU2NyaXB0cy9CdWlsZGJvdFBlcmZvcm1hbmNlUXVldWVWaWV3
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iU2NyaXB0cy9CdWlsZGJvdExlYWtzUXVl
dWVWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iU2NyaXB0cy9CdWJibGVRdWV1
ZVZpZXcuanMiPjwvc2NyaXB0PgpJbmRleDogVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQu
d2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3Qu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9y
Zy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3QuanMJKHJldmlz
aW9uIDE4NDg2OSkKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmct
Y29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL0J1aWxkYm90LmpzCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTMxLDE2ICszMSwyNCBAQCBCdWlsZGJvdCA9IGZ1bmN0aW9uKGJhc2VVUkws
IHF1ZXVlc0luZm8sCiAgICAgY29uc29sZS5hc3NlcnQocXVldWVzSW5mbyk7CiAKICAgICB0aGlz
LmJhc2VVUkwgPSBiYXNlVVJMOworICAgIHRoaXMucXVldWVzSW5mbyA9IHF1ZXVlc0luZm87CiAg
ICAgdGhpcy5xdWV1ZXMgPSB7fTsKIAorICAgIHRoaXMuX25vcm1hbGl6ZVF1ZXVlc0luZm8oKTsK
KwogICAgIC8vIFdlIHJlZ2FyZCBfbmVlZHNBdXRoZW50aWNhdGlvbiBhcyBhIGhpbnQgd2hldGhl
ciB0aGlzIEJ1aWxkYm90IHJlcXVpcmVzIGF1dGhlbnRpY2F0aW9uIHNvIHRoYXQgd2UgY2FuIHNo
b3cKICAgICAvLyBhbiBhcHByb3ByaWF0ZSBpbml0aWFsIHN0YXR1cyBtZXNzYWdlIChzYXksIGFu
ICJ1bmF1dGhvcml6ZWQiIHN0YXR1cyBpZiB0aGUgQnVpbGRib3QgcmVxdWlyZXMgYXV0aGVudGlj
YXRpb24pCiAgICAgLy8gZm9yIGl0cyBhc3NvY2lhdGVkIHF1ZXVlcyBiZWZvcmUgd2UgbWFrZSB0
aGUgYWN0dWFsIEhUVFAgcmVxdWVzdCBmb3IgdGhlIHN0YXR1cyBvZiBlYWNoIHF1ZXVlLgogICAg
IHRoaXMuX25lZWRzQXV0aGVudGljYXRpb24gPSB0eXBlb2Ygb3B0aW9ucyA9PT0gIm9iamVjdCIg
JiYgb3B0aW9ucy5uZWVkc0F1dGhlbnRpY2F0aW9uID09PSB0cnVlOwogICAgIHRoaXMuX2F1dGhl
bnRpY2F0aW9uU3RhdHVzID0gQnVpbGRib3QuQXV0aGVudGljYXRpb25TdGF0dXMuVW5hdXRoZW50
aWNhdGVkOwogCi0gICAgZm9yICh2YXIgaWQgaW4gcXVldWVzSW5mbykKLSAgICAgICAgdGhpcy5x
dWV1ZXNbaWRdID0gbmV3IEJ1aWxkYm90UXVldWUodGhpcywgaWQsIHF1ZXVlc0luZm9baWRdKTsK
KyAgICBmb3IgKHZhciBpZCBpbiBxdWV1ZXNJbmZvKSB7CisgICAgICAgIGlmICgiY29tYmluZWRR
dWV1ZXMiIGluIHF1ZXVlc0luZm9baWRdKSB7CisgICAgICAgICAgICBmb3IgKHZhciBjb21iaW5l
ZFF1ZXVlSUQgaW4gcXVldWVzSW5mb1tpZF0uY29tYmluZWRRdWV1ZXMpCisgICAgICAgICAgICAg
ICAgdGhpcy5xdWV1ZXNbY29tYmluZWRRdWV1ZUlEXSA9IG5ldyBCdWlsZGJvdFF1ZXVlKHRoaXMs
IGNvbWJpbmVkUXVldWVJRCwgcXVldWVzSW5mb1tpZF0uY29tYmluZWRRdWV1ZXNbY29tYmluZWRR
dWV1ZUlEXSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgdGhpcy5xdWV1ZXNbaWRdID0g
bmV3IEJ1aWxkYm90UXVldWUodGhpcywgaWQsIHF1ZXVlc0luZm9baWRdKTsKKyAgICB9CiB9Owog
CiBCYXNlT2JqZWN0LmFkZENvbnN0cnVjdG9yRnVuY3Rpb25zKEJ1aWxkYm90KTsKQEAgLTkyLDYg
KzEwMCwzNSBAQCBCdWlsZGJvdC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2F1dGhlbnRp
Y2F0aW9uU3RhdHVzID0gdmFsdWUgPyBCdWlsZGJvdC5BdXRoZW50aWNhdGlvblN0YXR1cy5BdXRo
ZW50aWNhdGVkIDogQnVpbGRib3QuQXV0aGVudGljYXRpb25TdGF0dXMuSW52YWxpZENyZWRlbnRp
YWxzOwogICAgIH0sCiAKKyAgICBfbm9ybWFsaXplUXVldWVJbmZvOiBmdW5jdGlvbihxdWV1ZUlu
Zm8pCisgICAgeworICAgICAgICBxdWV1ZUluZm8uYnJhbmNoID0gcXVldWVJbmZvLmJyYW5jaCB8
fCB7IG9wZW5Tb3VyY2U6ICJ0cnVuayIsIGludGVybmFsOiAidHJ1bmsiIH07CisgICAgICAgIHF1
ZXVlSW5mby5kZWJ1ZyA9IHF1ZXVlSW5mby5kZWJ1ZyB8fCBmYWxzZTsKKyAgICAgICAgcXVldWVJ
bmZvLmJ1aWxkZXIgPSBxdWV1ZUluZm8uYnVpbGRlciB8fCBmYWxzZTsKKyAgICAgICAgcXVldWVJ
bmZvLnRlc3RlciA9IHF1ZXVlSW5mby50ZXN0ZXIgfHwgZmFsc2U7CisgICAgICAgIHF1ZXVlSW5m
by5wZXJmb3JtYW5jZSA9IHF1ZXVlSW5mby5wZXJmb3JtYW5jZSB8fCBmYWxzZTsKKyAgICAgICAg
cXVldWVJbmZvLnN0YXRpY0FuYWx5emVyID0gcXVldWVJbmZvLnN0YXRpY0FuYWx5emVyIHx8IGZh
bHNlOworICAgICAgICBxdWV1ZUluZm8ubGVha3MgPSBxdWV1ZUluZm8ubGVha3MgfHwgZmFsc2U7
CisgICAgICAgIHF1ZXVlSW5mby5hcmNoaXRlY3R1cmUgPSBxdWV1ZUluZm8uYXJjaGl0ZWN0dXJl
IHx8IG51bGw7CisgICAgICAgIHF1ZXVlSW5mby50ZXN0Q2F0ZWdvcnkgPSBxdWV1ZUluZm8udGVz
dENhdGVnb3J5IHx8IG51bGw7CisgICAgICAgIHF1ZXVlSW5mby5oZWFkaW5nID0gcXVldWVJbmZv
LmhlYWRpbmcgfHwgbnVsbDsKKyAgICAgICAgcXVldWVJbmZvLmNyYXNoZXNPbmx5ID0gcXVldWVJ
bmZvLmNyYXNoZXNPbmx5IHx8IGZhbHNlOworICAgIH0sCisKKyAgICBfbm9ybWFsaXplUXVldWVz
SW5mbzogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgZm9yIChxdWV1ZU5hbWUgaW4gdGhpcy5x
dWV1ZXNJbmZvKSB7CisgICAgICAgICAgICB2YXIgcXVldWVJbmZvID0gdGhpcy5xdWV1ZXNJbmZv
W3F1ZXVlTmFtZV07CisgICAgICAgICAgICB0aGlzLl9ub3JtYWxpemVRdWV1ZUluZm8ocXVldWVJ
bmZvKTsKKyAgICAgICAgICAgIGlmICgiY29tYmluZWRRdWV1ZXMiIGluIHF1ZXVlSW5mbykgewor
ICAgICAgICAgICAgICAgIGZvciAoY29tYmluZWRRdWV1ZU5hbWUgaW4gcXVldWVJbmZvLmNvbWJp
bmVkUXVldWVzKSB7CisgICAgICAgICAgICAgICAgICAgIHF1ZXVlSW5mby5jb21iaW5lZFF1ZXVl
c1tjb21iaW5lZFF1ZXVlTmFtZV0ucGxhdGZvcm0gPSBxdWV1ZUluZm8ucGxhdGZvcm07CisgICAg
ICAgICAgICAgICAgICAgIHRoaXMuX25vcm1hbGl6ZVF1ZXVlSW5mbyhxdWV1ZUluZm8uY29tYmlu
ZWRRdWV1ZXNbY29tYmluZWRRdWV1ZU5hbWVdKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICB9LAorCiAgICAgdXBkYXRlUXVldWVzOiBmdW5jdGlvbih1
cGRhdGVSZWFzb24pCiAgICAgewogICAgICAgICB2YXIgc2hvdWxkUmVhdXRoZW50aWNhdGUgPSB1
cGRhdGVSZWFzb24gPT09IEJ1aWxkYm90LlVwZGF0ZVJlYXNvbi5SZWF1dGhlbnRpY2F0ZTsKSW5k
ZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1Ymxp
Y19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL0J1aWxkYm90Q29tYmluZWRRdWV1ZVZpZXcuanMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25m
aWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RDb21iaW5lZFF1ZXVlVmll
dy5qcwkocmV2aXNpb24gMCkKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtp
dC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL0J1aWxkYm90Q29tYmlu
ZWRRdWV1ZVZpZXcuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMTEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMsIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCitCdWlsZGJvdENvbWJpbmVkUXVldWVWaWV3ID0gZnVuY3Rpb24ocXVldWUpCit7
CisgICAgZm9yICh2YXIgaSA9IDEsIGVuZCA9IHF1ZXVlLmNvbWJpbmVkUXVldWVzLmxlbmd0aDsg
aSA8IGVuZDsgKytpKSB7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHF1ZXVlLmNvbWJpbmVkUXVl
dWVzWzBdLmJ1aWxkYm90ID09PSBxdWV1ZS5jb21iaW5lZFF1ZXVlc1tpXS5idWlsZGJvdCk7Cisg
ICAgICAgIGNvbnNvbGUuYXNzZXJ0KHF1ZXVlLmNvbWJpbmVkUXVldWVzWzBdLmJyYW5jaC5vcGVu
U291cmNlID09PSBxdWV1ZS5jb21iaW5lZFF1ZXVlc1tpXS5icmFuY2gub3BlblNvdXJjZSk7Cisg
ICAgICAgIGNvbnNvbGUuYXNzZXJ0KHF1ZXVlLmNvbWJpbmVkUXVldWVzWzBdLmJyYW5jaC5pbnRl
cm5hbCA9PT0gcXVldWUuY29tYmluZWRRdWV1ZXNbaV0uYnJhbmNoLmludGVybmFsKTsKKyAgICB9
CisKKyAgICBCdWlsZGJvdFF1ZXVlVmlldy5jYWxsKHRoaXMsIHF1ZXVlLmNvbWJpbmVkUXVldWVz
KTsKKworICAgIHRoaXMuX2Fsd2F5c0V4cGFuZCA9IGZhbHNlOworICAgIHRoaXMuY29tYmluZWRR
dWV1ZSA9IHF1ZXVlOworICAgIHRoaXMudXBkYXRlKCk7Cit9OworCitCYXNlT2JqZWN0LmFkZENv
bnN0cnVjdG9yRnVuY3Rpb25zKEJ1aWxkYm90Q29tYmluZWRRdWV1ZVZpZXcpOworCitCdWlsZGJv
dENvbWJpbmVkUXVldWVWaWV3LnByb3RvdHlwZSA9IHsKKyAgICBjb25zdHJ1Y3RvcjogQnVpbGRi
b3RDb21iaW5lZFF1ZXVlVmlldywKKyAgICBfX3Byb3RvX186IEJ1aWxkYm90UXVldWVWaWV3LnBy
b3RvdHlwZSwKKworICAgIHVwZGF0ZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgQnVpbGRi
b3RRdWV1ZVZpZXcucHJvdG90eXBlLnVwZGF0ZS5jYWxsKHRoaXMpOworCisgICAgICAgIHRoaXMu
ZWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOworCisgICAgICAgIGlmICghdGhpcy5fYWx3YXlzRXhw
YW5kICYmIHRoaXMuX3F1ZXVlc1Nob3VsZERpc3BsYXlDb21iaW5lZCgpKSB7CisgICAgICAgICAg
ICB2YXIgcmVsZWFzZUxhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpOworICAgICAg
ICAgICAgcmVsZWFzZUxhYmVsLmNsYXNzTGlzdC5hZGQoInF1ZXVlTGFiZWwiKTsKKyAgICAgICAg
ICAgIHJlbGVhc2VMYWJlbC5ocmVmID0gIiMiOworICAgICAgICAgICAgcmVsZWFzZUxhYmVsLnRl
eHRDb250ZW50ID0gdGhpcy5jb21iaW5lZFF1ZXVlLmhlYWRpbmc7CisgICAgICAgICAgICByZWxl
YXNlTGFiZWwub25jbGljayA9IGZ1bmN0aW9uKCkgeyB0aGlzLl9hbHdheXNFeHBhbmQgPSB0cnVl
OyB0aGlzLnVwZGF0ZSgpOyByZXR1cm4gZmFsc2U7IH0uYmluZCh0aGlzKTsKKyAgICAgICAgICAg
IHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChyZWxlYXNlTGFiZWwpOworCisgICAgICAgICAgICB2
YXIgcXVldWUgPSB0aGlzLnF1ZXVlc1swXTsgLy8gQWxsIHF1ZXVlcyBpbiB0aGUgY29tYmluZWQg
cXVldWUgYXJlIGZyb20gdGhlIHNhbWUgYnVpbGRib3QuCisgICAgICAgICAgICBpZiAocXVldWUu
YnVpbGRib3QubmVlZHNBdXRoZW50aWNhdGlvbiAmJiAhcXVldWUuYnVpbGRib3QuaXNBdXRoZW50
aWNhdGVkKSB7CisgICAgICAgICAgICAgICAgdGhpcy5fYXBwZW5kVW5hdXRob3JpemVkTGluZVZp
ZXcocXVldWUpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgLy8gU2hvdyB0aGUgcmV2aXNpb24gZm9yIHRoZSBzbG93ZXN0IHF1ZXVlLCBiZWNh
dXNlIHdlIGRvbid0IGtub3cgaWYgYW55IG5ld2VyIHJldmlzaW9ucyBhcmUgZ3JlZW4gb24gYWxs
IHF1ZXVlcy4KKyAgICAgICAgICAgIC8vIFRoaXMgY2FuIGJlIHNsaWdodGx5IG1pc2xlYWRpbmcg
YWZ0ZXIgZml4aW5nIGEgcHJvYmxlbSwgYmVjYXVzZSB3ZSBjYW4gc2hvdyBhIGtub3duIGJyb2tl
biByZXZpc2lvbiBhcyBncmVlbi4KKyAgICAgICAgICAgIHZhciBzbG93ZXN0UXVldWUgPSB0aGlz
LnF1ZXVlcy5zbGljZSgpLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gQnVpbGRib3RRdWV1
ZS5wcm90b3R5cGUuY29tcGFyZUl0ZXJhdGlvbnNCeVJldmlzaW9ucyhhLm1vc3RSZWNlbnRTdWNj
ZXNzZnVsSXRlcmF0aW9uLCBiLm1vc3RSZWNlbnRTdWNjZXNzZnVsSXRlcmF0aW9uKTsgfSkucG9w
KCk7CisgICAgICAgICAgICB0aGlzLl9hcHBlbmRQZW5kaW5nUmV2aXNpb25Db3VudChzbG93ZXN0
UXVldWUpOworCisgICAgICAgICAgICB2YXIgbWVzc2FnZSA9IHRoaXMucmV2aXNpb25Db250ZW50
Rm9ySXRlcmF0aW9uKHNsb3dlc3RRdWV1ZS5tb3N0UmVjZW50U3VjY2Vzc2Z1bEl0ZXJhdGlvbik7
CisgICAgICAgICAgICB2YXIgc3RhdHVzID0gbmV3IFN0YXR1c0xpbmVWaWV3KG1lc3NhZ2UsIFN0
YXR1c0xpbmVWaWV3LlN0YXR1cy5Hb29kLCAiYWxsIHRlc3RzIHBhc3NlZCIsIG51bGwsIG51bGwp
OworICAgICAgICAgICAgbmV3IFBvcG92ZXJUcmFja2VyKHN0YXR1cy5zdGF0dXNCdWJibGVFbGVt
ZW50LCB0aGlzLl9wcmVzZW50UG9wb3ZlckZvckNvbWJpbmVkR3JlZW5CdWJibGUuYmluZCh0aGlz
KSk7CisgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoc3RhdHVzLmVsZW1lbnQp
OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdGhpcy5hcHBlbmRCdWlsZFN0eWxlLmNh
bGwodGhpcywgdGhpcy5xdWV1ZXMsIG51bGwsIGZ1bmN0aW9uKHF1ZXVlKSB7CisgICAgICAgICAg
ICAgICAgaWYgKHF1ZXVlLmJ1aWxkYm90Lm5lZWRzQXV0aGVudGljYXRpb24gJiYgIXF1ZXVlLmJ1
aWxkYm90LmlzQXV0aGVudGljYXRlZCkgeworICAgICAgICAgICAgICAgICAgICB0aGlzLl9hcHBl
bmRVbmF1dGhvcml6ZWRMaW5lVmlldyhxdWV1ZSk7CisgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICB0aGlzLl9hcHBlbmRQZW5k
aW5nUmV2aXNpb25Db3VudChxdWV1ZSk7CisKKyAgICAgICAgICAgICAgICB2YXIgZmlyc3RSZWNl
bnRVbnN1Y2Nlc3NmdWxJdGVyYXRpb24gPSBxdWV1ZS5maXJzdFJlY2VudFVuc3VjY2Vzc2Z1bEl0
ZXJhdGlvbjsKKyAgICAgICAgICAgICAgICB2YXIgbW9zdFJlY2VudEZpbmlzaGVkSXRlcmF0aW9u
ID0gcXVldWUubW9zdFJlY2VudEZpbmlzaGVkSXRlcmF0aW9uOworICAgICAgICAgICAgICAgIHZh
ciBtb3N0UmVjZW50U3VjY2Vzc2Z1bEl0ZXJhdGlvbiA9IHF1ZXVlLm1vc3RSZWNlbnRTdWNjZXNz
ZnVsSXRlcmF0aW9uOworCisgICAgICAgICAgICAgICAgaWYgKGZpcnN0UmVjZW50VW5zdWNjZXNz
ZnVsSXRlcmF0aW9uICYmIGZpcnN0UmVjZW50VW5zdWNjZXNzZnVsSXRlcmF0aW9uLmxvYWRlZCAm
JiBtb3N0UmVjZW50RmluaXNoZWRJdGVyYXRpb24gJiYgbW9zdFJlY2VudEZpbmlzaGVkSXRlcmF0
aW9uLmxvYWRlZCkgeworICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmFzc2VydCghbW9zdFJl
Y2VudEZpbmlzaGVkSXRlcmF0aW9uLnN1Y2Nlc3NmdWwpOworICAgICAgICAgICAgICAgICAgICB2
YXIgbWVzc2FnZSA9IHRoaXMucmV2aXNpb25Db250ZW50Rm9ySXRlcmF0aW9uKG1vc3RSZWNlbnRG
aW5pc2hlZEl0ZXJhdGlvbiwgbW9zdFJlY2VudEZpbmlzaGVkSXRlcmF0aW9uLnByb2R1Y3RpdmUg
PyBtb3N0UmVjZW50U3VjY2Vzc2Z1bEl0ZXJhdGlvbiA6IG51bGwpOworICAgICAgICAgICAgICAg
ICAgICBpZiAobW9zdFJlY2VudEZpbmlzaGVkSXRlcmF0aW9uLmZhaWxlZCkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gRGlyZWN0IGxpbmtzIHRvIHNvbWUgY29tbW9uIGxvZ3MuCisgICAg
ICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gbW9zdFJlY2VudEZpbmlzaGVkSXRlcmF0aW9u
LmZhaWx1cmVMb2dVUkwoImJ1aWxkIGxvZyIpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYg
KCF1cmwpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsID0gbW9zdFJlY2VudEZpbmlz
aGVkSXRlcmF0aW9uLmZhaWx1cmVMb2dVUkwoInN0ZGlvIik7CisgICAgICAgICAgICAgICAgICAg
ICAgICB2YXIgc3RhdHVzID0gU3RhdHVzTGluZVZpZXcuU3RhdHVzLkJhZDsKKyAgICAgICAgICAg
ICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc3RhdHVzID0gU3Rh
dHVzTGluZVZpZXcuU3RhdHVzLkRhbmdlcjsKKworICAgICAgICAgICAgICAgICAgICAvLyBTaG93
IGEgcG9wb3ZlciB3aGVuIHRoZSBVUkwgaXMgbm90IGEgbWFpbiBidWlsZCBwYWdlIG9uZSwgYmVj
YXVzZSB0aGVyZSBhcmUgdXN1YWxseSBtdWx0aXBsZSBsb2dzLCBhbmQgaXQncyBnb29kIHRvIHBy
b3ZpZGUgYSBjaG9pY2UuCisgICAgICAgICAgICAgICAgICAgIHZhciBuZWVkc1BvcG92ZXIgPSAh
dXJsOworCisgICAgICAgICAgICAgICAgICAgIC8vIFNvbWUgb3RoZXIgc3RlcCBmYWlsZWQsIGxp
bmsgdG8gbWFpbiBidWlsZGJvdCBwYWdlIGZvciB0aGUgaXRlcmF0aW9uLgorICAgICAgICAgICAg
ICAgICAgICBpZiAoIXVybCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHVybCA9IHF1ZXVlLmJ1
aWxkYm90LmJ1aWxkUGFnZVVSTEZvckl0ZXJhdGlvbihtb3N0UmVjZW50RmluaXNoZWRJdGVyYXRp
b24pOworICAgICAgICAgICAgICAgICAgICB2YXIgc3RhdHVzID0gbmV3IFN0YXR1c0xpbmVWaWV3
KG1lc3NhZ2UsIHN0YXR1cywgbW9zdFJlY2VudEZpbmlzaGVkSXRlcmF0aW9uLnRleHQsIG51bGws
IHVybCk7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChzdGF0
dXMuZWxlbWVudCk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKG5lZWRzUG9wb3ZlcikKKyAg
ICAgICAgICAgICAgICAgICAgICAgIG5ldyBQb3BvdmVyVHJhY2tlcihzdGF0dXMuc3RhdHVzQnVi
YmxlRWxlbWVudCwgdGhpcy5fcHJlc2VudEluZGl2aWR1YWxRdWV1ZVBvcG92ZXIuYmluZCh0aGlz
KSwgbW9zdFJlY2VudEZpbmlzaGVkSXRlcmF0aW9uKTsKKyAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICBpZiAobW9zdFJlY2VudFN1Y2Nlc3NmdWxJdGVyYXRpb24gJiYgbW9zdFJl
Y2VudFN1Y2Nlc3NmdWxJdGVyYXRpb24ubG9hZGVkKSB7CisgICAgICAgICAgICAgICAgICAgIHZh
ciBtZXNzYWdlID0gdGhpcy5yZXZpc2lvbkNvbnRlbnRGb3JJdGVyYXRpb24obW9zdFJlY2VudFN1
Y2Nlc3NmdWxJdGVyYXRpb24pOworICAgICAgICAgICAgICAgICAgICB2YXIgdXJsID0gcXVldWUu
YnVpbGRib3QuYnVpbGRQYWdlVVJMRm9ySXRlcmF0aW9uKG1vc3RSZWNlbnRTdWNjZXNzZnVsSXRl
cmF0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHN0YXR1cyA9IG5ldyBTdGF0dXNMaW5l
VmlldyhtZXNzYWdlLCBTdGF0dXNMaW5lVmlldy5TdGF0dXMuR29vZCwgZmlyc3RSZWNlbnRVbnN1
Y2Nlc3NmdWxJdGVyYXRpb24gPyAibGFzdCBzdWNjZWVkZWQiIDogImFsbCB0ZXN0cyBwYXNzZWQi
LCBudWxsLCB1cmwpOworICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hp
bGQoc3RhdHVzLmVsZW1lbnQpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgICAgIHZhciBzdGF0dXMgPSBuZXcgU3RhdHVzTGluZVZpZXcoInVua25vd24iLCBTdGF0
dXNMaW5lVmlldy5TdGF0dXMuTmV1dHJhbCwgZmlyc3RSZWNlbnRVbnN1Y2Nlc3NmdWxJdGVyYXRp
b24gPyAibGFzdCBzdWNjZWVkZWQiIDogImFsbCB0ZXN0cyBwYXNzZWQiKTsKKyAgICAgICAgICAg
ICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHN0YXR1cy5lbGVtZW50KTsKKworICAg
ICAgICAgICAgICAgICAgICBpZiAoZmlyc3RSZWNlbnRVbnN1Y2Nlc3NmdWxJdGVyYXRpb24pIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIGhhdmUgYSBmYWlsZWQgaXRlcmF0aW9uIGJ1
dCBubyBzdWNjZXNzZnVsLiBJdCBtaWdodCBiZSBmdXJ0aGVyIGJhY2sgaW4gdGltZS4KKyAgICAg
ICAgICAgICAgICAgICAgICAgIHF1ZXVlLmxvYWRNb3JlSGlzdG9yaWNhbEl0ZXJhdGlvbnMoKTsK
KyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0p
OworICAgICAgICB9CisgICAgfSwKKworICAgIC8vIEFsbCBxdWV1ZXMgYXJlIGdyZWVuLCBvciBh
bGwgYXJlIHVuYXV0aG9yaXplZCAodGhlIGxhdHRlciBjYXNlIGFsd2F5cyBhcHBsaWVzIHRvIGFs
bCBxdWV1ZXMsIGJlY2F1c2UgdGhleSBhcmUgYWxsIGZyb20gdGhlIHNhbWUgYnVpbGRib3QpLgor
ICAgIF9xdWV1ZXNTaG91bGREaXNwbGF5Q29tYmluZWQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAg
ICAgIGZvciAodmFyIGkgPSAwLCBlbmQgPSB0aGlzLnF1ZXVlcy5sZW5ndGg7IGkgPCBlbmQ7ICsr
aSkgeworICAgICAgICAgICAgdmFyIHF1ZXVlID0gdGhpcy5xdWV1ZXNbaV07CisgICAgICAgICAg
ICBpZiAocXVldWUuYnVpbGRib3QubmVlZHNBdXRoZW50aWNhdGlvbiAmJiAhcXVldWUuYnVpbGRi
b3QuaXNBdXRoZW50aWNhdGVkKQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAg
ICAgICAgaWYgKCFxdWV1ZS5tb3N0UmVjZW50RmluaXNoZWRJdGVyYXRpb24gfHwgIXF1ZXVlLm1v
c3RSZWNlbnRGaW5pc2hlZEl0ZXJhdGlvbi5zdWNjZXNzZnVsKQorICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9LAorCisg
ICAgX3ByZXNlbnRQb3BvdmVyRm9yQ29tYmluZWRHcmVlbkJ1YmJsZTogZnVuY3Rpb24oZWxlbWVu
dCwgcG9wb3ZlcikKKyAgICB7CisgICAgICAgIHZhciBjb250ZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CisgICAgICAgIGNvbnRlbnQuY2xhc3NOYW1lID0gImNvbWJpbmVkLXF1
ZXVlLXBvcG92ZXIiOworCisgICAgICAgIHZhciB0aXRsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOworICAgICAgICB0aXRsZS5jbGFzc05hbWUgPSAicG9wb3Zlci1pdGVyYXRpb24t
aGVhZGluZyI7CisgICAgICAgIHRpdGxlLnRleHRDb250ZW50ID0gImxhdGVzdCB0ZXN0ZWQgcmV2
aXNpb25zIjsKKyAgICAgICAgY29udGVudC5hcHBlbmRDaGlsZCh0aXRsZSk7CisKKyAgICAgICAg
dGhpcy5fYWRkRGl2aWRlclRvUG9wb3Zlcihjb250ZW50KTsKKworICAgICAgICBmdW5jdGlvbiBh
ZGRRdWV1ZShxdWV1ZSwgdmlldykgeworICAgICAgICAgICAgdmFyIGxpbmUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiYSIpOworICAgICAgICAgICAgbGluay5jbGFzc05hbWUgPSAicXVldWUtbGlu
ayI7CisgICAgICAgICAgICBsaW5rLmhyZWYgPSBxdWV1ZS5vdmVydmlld1VSTDsKKyAgICAgICAg
ICAgIGxpbmsudGV4dENvbnRlbnQgPSBxdWV1ZS5oZWFkaW5nOworICAgICAgICAgICAgbGluay50
YXJnZXQgPSAiX2JsYW5rIjsKKyAgICAgICAgICAgIGxpbmUuYXBwZW5kQ2hpbGQobGluayk7Cisg
ICAgICAgICAgICB2YXIgcmV2aXNpb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7
CisgICAgICAgICAgICByZXZpc2lvbi5jbGFzc05hbWUgPSAicmV2aXNpb24iOworICAgICAgICAg
ICAgcmV2aXNpb24uYXBwZW5kQ2hpbGQodmlldy5yZXZpc2lvbkNvbnRlbnRGb3JJdGVyYXRpb24o
cXVldWUubW9zdFJlY2VudFN1Y2Nlc3NmdWxJdGVyYXRpb24pKTsKKyAgICAgICAgICAgIGxpbmUu
YXBwZW5kQ2hpbGQocmV2aXNpb24pOworICAgICAgICAgICAgY29udGVudC5hcHBlbmRDaGlsZChs
aW5lKTsKKyAgICAgICAgfQorCisgICAgICAgIGZvciAodmFyIGkgPSAwLCBlbmQgPSB0aGlzLnF1
ZXVlcy5sZW5ndGg7IGkgPCBlbmQ7ICsraSkKKyAgICAgICAgICAgIGFkZFF1ZXVlKHRoaXMucXVl
dWVzW2ldLCB0aGlzKTsKKworICAgICAgICB2YXIgcmVjdCA9IERhc2hib2FyZC5SZWN0LnJlY3RG
cm9tQ2xpZW50UmVjdChlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTsKKyAgICAgICAg
cG9wb3Zlci5jb250ZW50ID0gY29udGVudDsKKyAgICAgICAgcG9wb3Zlci5wcmVzZW50KHJlY3Qs
IFtEYXNoYm9hcmQuUmVjdEVkZ2UuTUlOX1ksIERhc2hib2FyZC5SZWN0RWRnZS5NQVhfWSwgRGFz
aGJvYXJkLlJlY3RFZGdlLk1BWF9YLCBEYXNoYm9hcmQuUmVjdEVkZ2UuTUlOX1hdKTsKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgfSwKKworICAgIF9wcmVzZW50SW5kaXZpZHVhbFF1ZXVlUG9w
b3ZlcjogZnVuY3Rpb24oZWxlbWVudCwgcG9wb3ZlciwgaXRlcmF0aW9uKQorICAgIHsKKyAgICAg
ICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAg
Y29udGVudC5jbGFzc05hbWUgPSAiYnVpbGQtbG9ncy1wb3BvdmVyIjsKKworICAgICAgICBmdW5j
dGlvbiBhZGRMb2cobmFtZSwgdXJsKSB7CisgICAgICAgICAgICB2YXIgbGluZSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImEiKTsKKyAgICAgICAgICAgIGxpbmUuY2xhc3NOYW1lID0gImJ1aWxk
LWxvZy1saW5rIjsKKyAgICAgICAgICAgIGxpbmUuaHJlZiA9IHVybDsKKyAgICAgICAgICAgIGxp
bmUudGV4dENvbnRlbnQgPSBuYW1lOworICAgICAgICAgICAgbGluZS50YXJnZXQgPSAiX2JsYW5r
IjsKKyAgICAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQobGluZSk7CisgICAgICAgIH0KKwor
ICAgICAgICB0aGlzLl9hZGRJdGVyYXRpb25IZWFkaW5nVG9Qb3BvdmVyKGl0ZXJhdGlvbiwgY29u
dGVudCk7CisgICAgICAgIHRoaXMuX2FkZERpdmlkZXJUb1BvcG92ZXIoY29udGVudCk7CisgICAg
ICAgIAorICAgICAgICB2YXIgbG9nc0hlYWRpbmdMaW5lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CisgICAgICAgIGxvZ3NIZWFkaW5nTGluZS5jbGFzc05hbWUgPSAiYnVpbGQtbG9n
cy1oZWFkaW5nIjsKKyAgICAgICAgbG9nc0hlYWRpbmdMaW5lLnRleHRDb250ZW50ID0gaXRlcmF0
aW9uLmZpcnN0RmFpbGVkU3RlcE5hbWUgKyAiIGZhaWxlZCI7CisgICAgICAgIGNvbnRlbnQuYXBw
ZW5kQ2hpbGQobG9nc0hlYWRpbmdMaW5lKTsKKworICAgICAgICBmb3IgKHZhciBpID0gMCwgZW5k
ID0gaXRlcmF0aW9uLmZhaWx1cmVMb2dzLmxlbmd0aDsgaSA8IGVuZDsgKytpKQorICAgICAgICAg
ICAgYWRkTG9nKGl0ZXJhdGlvbi5mYWlsdXJlTG9nc1tpXVswXSwgaXRlcmF0aW9uLmZhaWx1cmVM
b2dzW2ldWzFdKTsKKworICAgICAgICB2YXIgcmVjdCA9IERhc2hib2FyZC5SZWN0LnJlY3RGcm9t
Q2xpZW50UmVjdChlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTsKKyAgICAgICAgcG9w
b3Zlci5jb250ZW50ID0gY29udGVudDsKKyAgICAgICAgcG9wb3Zlci5wcmVzZW50KHJlY3QsIFtE
YXNoYm9hcmQuUmVjdEVkZ2UuTUlOX1ksIERhc2hib2FyZC5SZWN0RWRnZS5NQVhfWSwgRGFzaGJv
YXJkLlJlY3RFZGdlLk1BWF9YLCBEYXNoYm9hcmQuUmVjdEVkZ2UuTUlOX1hdKTsKKyAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfSwKK307CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBUb29scy9CdWls
ZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9h
cmQvU2NyaXB0cy9CdWlsZGJvdENvbWJpbmVkUXVldWVWaWV3LmpzCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6
IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2
ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBUb29scy9CdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2Ny
aXB0cy9CdWlsZGJvdFF1ZXVlLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRz
L0J1aWxkYm90UXVldWUuanMJKHJldmlzaW9uIDE4NDg2OSkKKysrIFRvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3Jp
cHRzL0J1aWxkYm90UXVldWUuanMJKHdvcmtpbmcgY29weSkKQEAgLTMzLDE4ICszMywxOSBAQCBC
dWlsZGJvdFF1ZXVlID0gZnVuY3Rpb24oYnVpbGRib3QsIGlkLCBpCiAgICAgdGhpcy5idWlsZGJv
dCA9IGJ1aWxkYm90OwogICAgIHRoaXMuaWQgPSBpZDsKIAotICAgIHRoaXMuYnJhbmNoID0gaW5m
by5icmFuY2ggfHwgeyBvcGVuU291cmNlOiAidHJ1bmsiLCBpbnRlcm5hbDogInRydW5rIiB9Owot
ICAgIHRoaXMucGxhdGZvcm0gPSBpbmZvLnBsYXRmb3JtLm5hbWUgfHwgInVua25vd24iOwotICAg
IHRoaXMuZGVidWcgPSBpbmZvLmRlYnVnIHx8IGZhbHNlOwotICAgIHRoaXMuYnVpbGRlciA9IGlu
Zm8uYnVpbGRlciB8fCBmYWxzZTsKLSAgICB0aGlzLnRlc3RlciA9IGluZm8udGVzdGVyIHx8IGZh
bHNlOwotICAgIHRoaXMucGVyZm9ybWFuY2UgPSBpbmZvLnBlcmZvcm1hbmNlIHx8IGZhbHNlOwot
ICAgIHRoaXMuc3RhdGljQW5hbHl6ZXIgPSBpbmZvLnN0YXRpY0FuYWx5emVyIHx8IGZhbHNlOwot
ICAgIHRoaXMubGVha3MgPSBpbmZvLmxlYWtzIHx8IGZhbHNlOwotICAgIHRoaXMuYXJjaGl0ZWN0
dXJlID0gaW5mby5hcmNoaXRlY3R1cmUgfHwgbnVsbDsKLSAgICB0aGlzLnRlc3RDYXRlZ29yeSA9
IGluZm8udGVzdENhdGVnb3J5IHx8IG51bGw7Ci0gICAgdGhpcy5oZWFkaW5nID0gaW5mby5oZWFk
aW5nIHx8IG51bGw7Ci0gICAgdGhpcy5jcmFzaGVzT25seSA9IGluZm8uY3Jhc2hlc09ubHkgfHwg
ZmFsc2U7CisgICAgLy8gRklYTUU6IFNvbWUgb2YgdGhlc2UgYXJlIHByZXNlbnRhdGlvbiBvbmx5
LCBhbmQgc2hvdWxkIGJlIGhhbmRsZWQgYWJvdmUgQnVpbGRib3RRdWV1ZSBsZXZlbC4KKyAgICB0
aGlzLmJyYW5jaCA9IGluZm8uYnJhbmNoOworICAgIHRoaXMucGxhdGZvcm0gPSBpbmZvLnBsYXRm
b3JtLm5hbWU7CisgICAgdGhpcy5kZWJ1ZyA9IGluZm8uZGVidWc7CisgICAgdGhpcy5idWlsZGVy
ID0gaW5mby5idWlsZGVyOworICAgIHRoaXMudGVzdGVyID0gaW5mby50ZXN0ZXI7CisgICAgdGhp
cy5wZXJmb3JtYW5jZSA9IGluZm8ucGVyZm9ybWFuY2U7CisgICAgdGhpcy5zdGF0aWNBbmFseXpl
ciA9IGluZm8uc3RhdGljQW5hbHl6ZXI7CisgICAgdGhpcy5sZWFrcyA9IGluZm8ubGVha3M7Cisg
ICAgdGhpcy5hcmNoaXRlY3R1cmUgPSBpbmZvLmFyY2hpdGVjdHVyZTsKKyAgICB0aGlzLnRlc3RD
YXRlZ29yeSA9IGluZm8udGVzdENhdGVnb3J5OworICAgIHRoaXMuaGVhZGluZyA9IGluZm8uaGVh
ZGluZzsKKyAgICB0aGlzLmNyYXNoZXNPbmx5ID0gaW5mby5jcmFzaGVzT25seTsKIAogICAgIHRo
aXMuaXRlcmF0aW9ucyA9IFtdOwogICAgIHRoaXMuX2tub3duSXRlcmF0aW9ucyA9IHt9OwpJbmRl
eDogVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGlj
X2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvTWFpbi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9CdWls
ZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9h
cmQvU2NyaXB0cy9NYWluLmpzCShyZXZpc2lvbiAxODQ4NjkpCisrKyBUb29scy9CdWlsZFNsYXZl
U3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2Ny
aXB0cy9NYWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxMSArMzAsMjMgQEAgdmFyIGNhdGVn
b3JpemVkUXVldWVzQnlQbGF0Zm9ybUFuZEJ1aWxkVAogCiBmb3IgKHZhciBpID0gMDsgaSA8IGJ1
aWxkYm90cy5sZW5ndGg7ICsraSkgewogICAgIHZhciBidWlsZGJvdCA9IGJ1aWxkYm90c1tpXTsK
LSAgICBmb3IgKHZhciBpZCBpbiBidWlsZGJvdC5xdWV1ZXMpIHsKLSAgICAgICAgdmFyIHF1ZXVl
ID0gYnVpbGRib3QucXVldWVzW2lkXTsKLSAgICAgICAgdmFyIHBsYXRmb3JtID0gY2F0ZWdvcml6
ZWRRdWV1ZXNCeVBsYXRmb3JtQW5kQnVpbGRUeXBlW3F1ZXVlLnBsYXRmb3JtXTsKKyAgICBmb3Ig
KHZhciBpZCBpbiBidWlsZGJvdC5xdWV1ZXNJbmZvKSB7CisgICAgICAgIGlmICgiY29tYmluZWRR
dWV1ZXMiIGluIGJ1aWxkYm90LnF1ZXVlc0luZm9baWRdKSB7CisgICAgICAgICAgICB2YXIgaW5m
byA9IGJ1aWxkYm90LnF1ZXVlc0luZm9baWRdOworICAgICAgICAgICAgdmFyIHF1ZXVlID0gewor
ICAgICAgICAgICAgICAgIGlkOiBpZCwKKyAgICAgICAgICAgICAgICBicmFuY2g6IGluZm8uYnJh
bmNoLAorICAgICAgICAgICAgICAgIHBsYXRmb3JtOiBpbmZvLnBsYXRmb3JtLm5hbWUsCisgICAg
ICAgICAgICAgICAgaGVhZGluZzogaW5mby5oZWFkaW5nLAorICAgICAgICAgICAgICAgIGNvbWJp
bmVkUXVldWVzOiBPYmplY3Qua2V5cyhpbmZvLmNvbWJpbmVkUXVldWVzKS5tYXAoZnVuY3Rpb24o
Y29tYmluZWRRdWV1ZUlEKSB7IHJldHVybiBidWlsZGJvdC5xdWV1ZXNbY29tYmluZWRRdWV1ZUlE
XTsgfSksCisgICAgICAgICAgICB9OworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHZhciBx
dWV1ZSA9IGJ1aWxkYm90LnF1ZXVlc1tpZF07CisKKyAgICAgICAgdmFyIHBsYXRmb3JtTmFtZSA9
IHF1ZXVlLnBsYXRmb3JtOworICAgICAgICB2YXIgcGxhdGZvcm0gPSBjYXRlZ29yaXplZFF1ZXVl
c0J5UGxhdGZvcm1BbmRCdWlsZFR5cGVbcGxhdGZvcm1OYW1lXTsKICAgICAgICAgaWYgKCFwbGF0
Zm9ybSkKLSAgICAgICAgICAgIHBsYXRmb3JtID0gY2F0ZWdvcml6ZWRRdWV1ZXNCeVBsYXRmb3Jt
QW5kQnVpbGRUeXBlW3F1ZXVlLnBsYXRmb3JtXSA9IHt9OworICAgICAgICAgICAgcGxhdGZvcm0g
PSBjYXRlZ29yaXplZFF1ZXVlc0J5UGxhdGZvcm1BbmRCdWlsZFR5cGVbcGxhdGZvcm1OYW1lXSA9
IHt9OwogICAgICAgICBpZiAoIXBsYXRmb3JtLmJ1aWxkZXJzKQogICAgICAgICAgICAgcGxhdGZv
cm0uYnVpbGRlcnMgPSBbXTsKIApAQCAtNDksNiArNjEsOCBAQCBmb3IgKHZhciBpID0gMDsgaSA8
IGJ1aWxkYm90cy5sZW5ndGg7ICsrCiAgICAgICAgICAgICBjYXRlZ29yeU5hbWUgPSAibGVha3Mi
OwogICAgICAgICBlbHNlIGlmIChxdWV1ZS5zdGF0aWNBbmFseXplcikKICAgICAgICAgICAgIGNh
dGVnb3J5TmFtZSA9ICJzdGF0aWNBbmFseXplciI7CisgICAgICAgIGVsc2UgaWYgKCJjb21iaW5l
ZFF1ZXVlcyIgaW4gcXVldWUpCisgICAgICAgICAgICBjYXRlZ29yeU5hbWUgPSAiY29tYmluZWRR
dWV1ZXMiOwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCJVbmtu
b3duIHF1ZXVlIHR5cGUuIik7CiAgICAgICAgICAgICBjb250aW51ZTsKQEAgLTIyMCwxNyArMjM0
LDIxIEBAIGZ1bmN0aW9uIGRvY3VtZW50UmVhZHkoKQogICAgICAgICAgICAgY2VsbC5hcHBlbmRD
aGlsZCh2aWV3LmVsZW1lbnQpOwogICAgICAgICB9CiAKLSAgICAgICAgcm93LmFwcGVuZENoaWxk
KGNlbGwpOworICAgICAgICBpZiAocGxhdGZvcm1RdWV1ZXNbQnViYmxlc0NhdGVnb3J5XSkgewor
ICAgICAgICAgICAgdmFyIHZpZXcgPSBuZXcgQnViYmxlUXVldWVWaWV3KHBsYXRmb3JtUXVldWVz
W0J1YmJsZXNDYXRlZ29yeV0pOworICAgICAgICAgICAgY2VsbC5hcHBlbmRDaGlsZCh2aWV3LmVs
ZW1lbnQpOworICAgICAgICB9CiAKLSAgICAgICAgaWYgKGhhc0J1YmJsZXMpIHsKLSAgICAgICAg
ICAgIGlmIChwbGF0Zm9ybVF1ZXVlc1tCdWJibGVzQ2F0ZWdvcnldKSB7Ci0gICAgICAgICAgICAg
ICAgdmFyIHZpZXcgPSBuZXcgQnViYmxlUXVldWVWaWV3KHBsYXRmb3JtUXVldWVzW0J1YmJsZXND
YXRlZ29yeV0pOworICAgICAgICAvLyBDdXJyZW50bHksIGFsbCBjb21iaW5lZCBxdWV1ZXMgYXJl
IGluIE90aGVyIGNvbHVtbi4KKyAgICAgICAgaWYgKHBsYXRmb3JtUXVldWVzLmNvbWJpbmVkUXVl
dWVzKSB7CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBsYXRmb3JtUXVldWVzLmNv
bWJpbmVkUXVldWVzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgdmFyIHZpZXcgPSBu
ZXcgQnVpbGRib3RDb21iaW5lZFF1ZXVlVmlldyhwbGF0Zm9ybVF1ZXVlcy5jb21iaW5lZFF1ZXVl
c1tpXSk7CiAgICAgICAgICAgICAgICAgY2VsbC5hcHBlbmRDaGlsZCh2aWV3LmVsZW1lbnQpOwog
ICAgICAgICAgICAgfQotCi0gICAgICAgICAgICByb3cuYXBwZW5kQ2hpbGQoY2VsbCk7CiAgICAg
ICAgIH0KIAorICAgICAgICByb3cuYXBwZW5kQ2hpbGQoY2VsbCk7CisKICAgICAgICAgdGFibGUu
YXBwZW5kQ2hpbGQocm93KTsKICAgICB9CiAKSW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL1dl
YktpdEJ1aWxkYm90LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1
aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL1dlYktp
dEJ1aWxkYm90LmpzCShyZXZpc2lvbiAxODQ4NjkpCisrKyBUb29scy9CdWlsZFNsYXZlU3VwcG9y
dC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9X
ZWJLaXRCdWlsZGJvdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMsMTAgQEAgV2ViS2l0
QnVpbGRib3QgPSBmdW5jdGlvbigpCiAgICAgICAgICJBcHBsZSBNYXZlcmlja3MgUmVsZWFzZSBX
SzEgKFRlc3RzKSI6IHtwbGF0Zm9ybTogRGFzaGJvYXJkLlBsYXRmb3JtLk1hY09TWE1hdmVyaWNr
cywgZGVidWc6IGZhbHNlLCB0ZXN0ZXI6IHRydWUsIHRlc3RDYXRlZ29yeTogQnVpbGRib3QuVGVz
dENhdGVnb3J5LldlYktpdDF9LAogICAgICAgICAiQXBwbGUgTWF2ZXJpY2tzIFJlbGVhc2UgV0sy
IChUZXN0cykiOiB7cGxhdGZvcm06IERhc2hib2FyZC5QbGF0Zm9ybS5NYWNPU1hNYXZlcmlja3Ms
IGRlYnVnOiBmYWxzZSwgdGVzdGVyOiB0cnVlLCB0ZXN0Q2F0ZWdvcnk6IEJ1aWxkYm90LlRlc3RD
YXRlZ29yeS5XZWJLaXQyfSwKICAgICAgICAgIkFwcGxlIE1hdmVyaWNrcyBSZWxlYXNlIFdLMiAo
UGVyZikiOiB7cGxhdGZvcm06IERhc2hib2FyZC5QbGF0Zm9ybS5NYWNPU1hNYXZlcmlja3MsIGRl
YnVnOiBmYWxzZSwgcGVyZm9ybWFuY2U6IHRydWUsIGhlYWRpbmc6ICJQZXJmb3JtYW5jZSJ9LAor
ICAgICAgICAiQXBwbGUgTWF2ZXJpY2tzIEpTQyI6IHtwbGF0Zm9ybTogRGFzaGJvYXJkLlBsYXRm
b3JtLk1hY09TWE1hdmVyaWNrcywgaGVhZGluZzogIkphdmFTY3JpcHQiLCBjb21iaW5lZFF1ZXVl
czogeworICAgICAgICAgICAgIkFwcGxlIE1hdmVyaWNrcyAzMi1iaXQgSlNDIChCdWlsZEFuZFRl
c3QpIjoge2hlYWRpbmc6ICIzMi1iaXQgSlNDIChCdWlsZEFuZFRlc3QpIn0sCisgICAgICAgICAg
ICAiQXBwbGUgTWF2ZXJpY2tzIExMSU5UIENMb29wIChCdWlsZEFuZFRlc3QpIjoge2hlYWRpbmc6
ICJMTElOVCBDTG9vcCAoQnVpbGRBbmRUZXN0KSJ9LAorICAgICAgICB9fSwKICAgICAgICAgIkFw
cGxlIFlvc2VtaXRlIERlYnVnIChCdWlsZCkiOiB7cGxhdGZvcm06IERhc2hib2FyZC5QbGF0Zm9y
bS5NYWNPU1hZb3NlbWl0ZSwgZGVidWc6IHRydWUsIGJ1aWxkZXI6IHRydWUsIGFyY2hpdGVjdHVy
ZTogQnVpbGRib3QuQnVpbGRBcmNoaXRlY3R1cmUuU2l4dHlGb3VyQml0fSwKICAgICAgICAgIkFw
cGxlIFlvc2VtaXRlIFJlbGVhc2UgKEJ1aWxkKSI6IHtwbGF0Zm9ybTogRGFzaGJvYXJkLlBsYXRm
b3JtLk1hY09TWFlvc2VtaXRlLCBkZWJ1ZzogZmFsc2UsIGJ1aWxkZXI6IHRydWUsIGFyY2hpdGVj
dHVyZTogQnVpbGRib3QuQnVpbGRBcmNoaXRlY3R1cmUuU2l4dHlGb3VyQml0fSwKICAgICAgICAg
IkFwcGxlIFlvc2VtaXRlIFJlbGVhc2UgKDMyLWJpdCBCdWlsZCkiOiB7cGxhdGZvcm06IERhc2hi
b2FyZC5QbGF0Zm9ybS5NYWNPU1hZb3NlbWl0ZSwgYnVpbGRlcjogdHJ1ZSwgYXJjaGl0ZWN0dXJl
OiBCdWlsZGJvdC5CdWlsZEFyY2hpdGVjdHVyZS5UaGlydHlUd29CaXR9LApAQCAtNDIsNiArNDYs
MTIgQEAgV2ViS2l0QnVpbGRib3QgPSBmdW5jdGlvbigpCiAgICAgICAgICJBcHBsZSBZb3NlbWl0
ZSBSZWxlYXNlIFdLMiAoVGVzdHMpIjoge3BsYXRmb3JtOiBEYXNoYm9hcmQuUGxhdGZvcm0uTWFj
T1NYWW9zZW1pdGUsIGRlYnVnOiBmYWxzZSwgdGVzdGVyOiB0cnVlLCB0ZXN0Q2F0ZWdvcnk6IEJ1
aWxkYm90LlRlc3RDYXRlZ29yeS5XZWJLaXQyfSwKICAgICAgICAgIkFwcGxlIFlvc2VtaXRlIFJl
bGVhc2UgV0syIChQZXJmKSI6IHtwbGF0Zm9ybTogRGFzaGJvYXJkLlBsYXRmb3JtLk1hY09TWFlv
c2VtaXRlLCBkZWJ1ZzogZmFsc2UsIHBlcmZvcm1hbmNlOiB0cnVlLCBoZWFkaW5nOiAiUGVyZm9y
bWFuY2UifSwKICAgICAgICAgIkFwcGxlIFlvc2VtaXRlIChMZWFrcykiOiB7cGxhdGZvcm06IERh
c2hib2FyZC5QbGF0Zm9ybS5NYWNPU1hZb3NlbWl0ZSwgZGVidWc6IHRydWUsIGxlYWtzOiB0cnVl
fSwKKyAgICAgICAgIkFwcGxlIFlvc2VtaXRlIEpTQyI6IHtwbGF0Zm9ybTogRGFzaGJvYXJkLlBs
YXRmb3JtLk1hY09TWFlvc2VtaXRlLCBoZWFkaW5nOiAiSmF2YVNjcmlwdCIsIGNvbWJpbmVkUXVl
dWVzOiB7CisgICAgICAgICAgICAiQXBwbGUgWW9zZW1pdGUgMzItYml0IEpTQyAoQnVpbGRBbmRU
ZXN0KSI6IHtoZWFkaW5nOiAiMzItYml0IEpTQyAoQnVpbGRBbmRUZXN0KSJ9LAorICAgICAgICAg
ICAgIkFwcGxlIFlvc2VtaXRlIExMSU5UIENMb29wIChCdWlsZEFuZFRlc3QpIjoge2hlYWRpbmc6
ICJMTElOVCBDTG9vcCAoQnVpbGRBbmRUZXN0KSJ9LAorICAgICAgICAgICAgIkFwcGxlIFlvc2Vt
aXRlIERlYnVnIEpTQyAoVGVzdHMpIjoge2hlYWRpbmc6ICJEZWJ1ZyBKU0MgKFRlc3RzKSJ9LAor
ICAgICAgICAgICAgIkFwcGxlIFlvc2VtaXRlIFJlbGVhc2UgSlNDIChUZXN0cykiOiB7aGVhZGlu
ZzogIlJlbGVhc2UgSlNDIChUZXN0cykifSwKKyAgICAgICAgfX0sCiAgICAgICAgICJBcHBsZSBX
aW4gRGVidWcgKEJ1aWxkKSI6IHtwbGF0Zm9ybTogRGFzaGJvYXJkLlBsYXRmb3JtLldpbmRvd3M3
LCBkZWJ1ZzogdHJ1ZSwgYnVpbGRlcjogdHJ1ZSwgYXJjaGl0ZWN0dXJlOiBCdWlsZGJvdC5CdWls
ZEFyY2hpdGVjdHVyZS5UaGlydHlUd29CaXR9LAogICAgICAgICAiQXBwbGUgV2luIFJlbGVhc2Ug
KEJ1aWxkKSI6IHtwbGF0Zm9ybTogRGFzaGJvYXJkLlBsYXRmb3JtLldpbmRvd3M3LCBidWlsZGVy
OiB0cnVlLCBhcmNoaXRlY3R1cmU6IEJ1aWxkYm90LkJ1aWxkQXJjaGl0ZWN0dXJlLlRoaXJ0eVR3
b0JpdH0sCiAgICAgICAgICJBcHBsZSBXaW4gNyBEZWJ1ZyAoVGVzdHMpIjoge3BsYXRmb3JtOiBE
YXNoYm9hcmQuUGxhdGZvcm0uV2luZG93czcsIGRlYnVnOiB0cnVlLCB0ZXN0ZXI6IHRydWUsIHRl
c3RDYXRlZ29yeTogQnVpbGRib3QuVGVzdENhdGVnb3J5LldlYktpdDF9LApJbmRleDogVG9vbHMv
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFz
aGJvYXJkL1N0eWxlcy9RdWV1ZVZpZXcuY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9T
dHlsZXMvUXVldWVWaWV3LmNzcwkocmV2aXNpb24gMTg0ODY5KQorKysgVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1N0
eWxlcy9RdWV1ZVZpZXcuY3NzCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNyArMTIxLDggQEAKIAog
LmJ1YmJsZS1zZXJ2ZXItcG9wb3ZlciwKIC5wZXJmb3JtYW5jZS1wb3BvdmVyLAotLmxlYWtzLXBv
cG92ZXIgeworLmxlYWtzLXBvcG92ZXIsCisuY29tYmluZWQtcXVldWUtcG9wb3ZlciB7CiAgICAg
Zm9udC1mYW1pbHk6ICJIZWx2ZXRpY2FOZXVlLUxpZ2h0IiwgIkhlbHZldGljYSBOZXVlIiwgc2Fu
cy1zZXJpZjsKICAgICBjb2xvcjogcmdiKDE0NSwgMTM1LCA5NSk7CiAgICAgZm9udC1zaXplOiAx
MnB4OwpAQCAtMTUyLDMgKzE1Myw3IEBACiAucGVyZm9ybWFuY2UtcG9wb3ZlciAuZGFzaGJvYXJk
LWxpbmsgewogICAgIGNvbG9yOiBibHVlOwogfQorCisuY29tYmluZWQtcXVldWUtcG9wb3ZlciAu
cmV2aXNpb24geworICAgIHBhZGRpbmctbGVmdDogN3B4OworfQo=
</data>
<flag name="review"
          id="278683"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>