<?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>157680</bug_id>
          
          <creation_ts>2016-05-13 12:13:05 -0700</creation_ts>
          <short_desc>Dashboard code restructuring</short_desc>
          <delta_ts>2017-03-28 11:26:12 -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>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=157870</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="Aakash Jain">aakash_jain</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jmarcell</cc>
    
    <cc>lforschler</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1192838</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2016-05-13 12:13:05 -0700</bug_when>
    <thetext>part of &lt;rdar://problem/14736888&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192859</commentid>
    <comment_count>1</comment_count>
      <attachid>278863</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2016-05-13 12:58:04 -0700</bug_when>
    <thetext>Created attachment 278863
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192868</commentid>
    <comment_count>2</comment_count>
      <attachid>278863</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-13 13:35:06 -0700</bug_when>
    <thetext>Comment on attachment 278863
Proposed patch

Clearing flags on attachment: 278863

Committed r200880: &lt;http://trac.webkit.org/changeset/200880&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192869</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-13 13:35:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270385</commentid>
    <comment_count>4</comment_count>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2017-01-26 15:35:48 -0800</bug_when>
    <thetext>I believe this broke the dashboard unit tests.

You can run the tests with
open Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/index.html

or run-dashboard-tests

I&apos;d like to work on having EWS run run-dashboard-tests, but for now it does not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1291976</commentid>
    <comment_count>5</comment_count>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2017-03-28 11:26:12 -0700</bug_when>
    <thetext>Bug 170158: Fix dashboard test results on the dashboard
https://bugs.webkit.org/show_bug.cgi?id=170158</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278863</attachid>
            <date>2016-05-13 12:58:04 -0700</date>
            <delta_ts>2016-05-13 13:35:06 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch_dashboard_restructuring</filename>
            <type>text/plain</type>
            <size>24120</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIwMDg3NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQyIEBACisyMDE2LTA1LTEzICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBEYXNoYm9hcmQgY29kZSByZXN0cnVjdHVyaW5nCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc2ODAKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzE0NzM2ODg4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcv
cHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnViYmxlUXVldWVWaWV3LmpzOgorICAgICAg
ICAoQnViYmxlUXVldWVWaWV3LnByb3RvdHlwZS5hZGRMaW5rVG9Sb3cpOiBNb3ZlZCB0byBiYXNl
IGNsYXNzLgorICAgICAgICAoQnViYmxlUXVldWVWaWV3LnByb3RvdHlwZS5hZGRUZXh0VG9Sb3cp
OiBNb3ZlZCB0byBiYXNlIGNsYXNzLgorICAgICAgICAoQnViYmxlUXVldWVWaWV3LnByb3RvdHlw
ZS5fYWRkRGl2aWRlclRvUG9wb3Zlcik6IE1vdmVkIHRvIGJhc2UgY2xhc3MuCisgICAgICAgICog
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFz
aGJvYXJkL1NjcmlwdHMvQnVpbGRib3RCdWlsZGVyUXVldWVWaWV3LmpzOgorICAgICAgICAoQnVp
bGRib3RCdWlsZGVyUXVldWVWaWV3LnByb3RvdHlwZS51cGRhdGUpOiBQYXNzaW5nIGFkZGl0aW9u
YWwgYXJndW1lbnQgdG8gX2FwcGVuZFBlbmRpbmdSZXZpc2lvbkNvdW50LgorICAgICAgICAqIEJ1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hi
b2FyZC9TY3JpcHRzL0J1aWxkYm90Q29tYmluZWRRdWV1ZVZpZXcuanM6CisgICAgICAgIChCdWls
ZGJvdENvbWJpbmVkUXVldWVWaWV3LnByb3RvdHlwZS51cGRhdGUpOiBQYXNzaW5nIGFkZGl0aW9u
YWwgYXJndW1lbnQgdG8gX2FwcGVuZFBlbmRpbmdSZXZpc2lvbkNvdW50LgorICAgICAgICAqIEJ1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hi
b2FyZC9TY3JpcHRzL0J1aWxkYm90VGVzdGVyUXVldWVWaWV3LmpzOgorICAgICAgICAoQnVpbGRi
b3RUZXN0ZXJRdWV1ZVZpZXcucHJvdG90eXBlLnVwZGF0ZSk6IFBhc3NpbmcgYWRkaXRpb25hbCBh
cmd1bWVudCB0byBfYXBwZW5kUGVuZGluZ1JldmlzaW9uQ291bnQuCisgICAgICAgICogQnVpbGRT
bGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJk
L1NjcmlwdHMvQnVpbGRib3RRdWV1ZVZpZXcuanM6CisgICAgICAgIChCdWlsZGJvdFF1ZXVlVmll
dy5wcm90b3R5cGUuX2FwcGVuZFBlbmRpbmdSZXZpc2lvbkNvdW50KTogTW92ZWQgdG8gYmFzZSBj
bGFzcyBhbmQgbW9kaWZpZWQgdG8gdGFrZQorICAgICAgICBhZGRpdGlvbmFsIGFyZ3VtZW50Lgor
ICAgICAgICAoQnVpbGRib3RRdWV1ZVZpZXcucHJvdG90eXBlLl9wb3BvdmVyTGluZXNGb3JDb21t
aXRSYW5nZSk6IE1vdmVkIHRvIGJhc2UgY2xhc3MuCisgICAgICAgIChCdWlsZGJvdFF1ZXVlVmll
dy5wcm90b3R5cGUuX3ByZXNlbnRQb3BvdmVyRm9yUGVuZGluZ0NvbW1pdHMpOiBNb3ZlZCB0byBi
YXNlIGNsYXNzLgorICAgICAgICAoQnVpbGRib3RRdWV1ZVZpZXcucHJvdG90eXBlLl9hZGREaXZp
ZGVyVG9Qb3BvdmVyKTogTW92ZWQgdG8gYmFzZSBjbGFzcy4KKyAgICAgICAgKEJ1aWxkYm90UXVl
dWVWaWV3LnByb3RvdHlwZS5fZm9ybWF0UmV2aXNpb25Gb3JEaXNwbGF5KTogTW92ZWQgdG8gYmFz
ZSBjbGFzcy4KKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNv
bmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9NYWluLmpzOgorICAgICAgICAoZG9j
dW1lbnRSZWFkeSk6IERpc3BsYXkgYW55IGN1c3RvbVZpZXcgaWYgYXZhaWxhYmxlLgorICAgICAg
ICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1s
L2Rhc2hib2FyZC9TY3JpcHRzL1F1ZXVlVmlldy5qczoKKyAgICAgICAgKFF1ZXVlVmlldy5wcm90
b3R5cGUuYWRkTGlua1RvUm93KTogTW92ZWQgZnJvbSBjaGlsZCBjbGFzcywgbm8gY2hhbmdlcy4K
KyAgICAgICAgKFF1ZXVlVmlldy5wcm90b3R5cGUuYWRkVGV4dFRvUm93KTogTW92ZWQgZnJvbSBj
aGlsZCBjbGFzcywgbm8gY2hhbmdlcy4KKyAgICAgICAgKFF1ZXVlVmlldy5wcm90b3R5cGUuX2Fk
ZERpdmlkZXJUb1BvcG92ZXIpOiBNb3ZlZCBmcm9tIGNoaWxkIGNsYXNzLCBubyBjaGFuZ2VzLgor
ICAgICAgICAoUXVldWVWaWV3LnByb3RvdHlwZS5fYXBwZW5kUGVuZGluZ1JldmlzaW9uQ291bnQp
OiBNb3ZlZCBmcm9tIGNoaWxkIGNsYXNzLCBtYWRlIGl0IG1vcmUgZ2VuZXJpYworICAgICAgICBi
eSB0YWtpbmcgbGF0ZXN0SXRlcmF0aW9uR2V0dGVyIG1ldGhvZCBhcyBhbiBhcmd1bWVudC4KKyAg
ICAgICAgKFF1ZXVlVmlldy5wcm90b3R5cGUuX3BvcG92ZXJMaW5lc0ZvckNvbW1pdFJhbmdlKTog
TW92ZWQgZnJvbSBjaGlsZCBjbGFzcywgbm8gY2hhbmdlcy4KKyAgICAgICAgKFF1ZXVlVmlldy5w
cm90b3R5cGUuX3ByZXNlbnRQb3BvdmVyRm9yUGVuZGluZ0NvbW1pdHMpOiBNb3ZlZCBmcm9tIGNo
aWxkIGNsYXNzLCBubyBjaGFuZ2VzLgorICAgICAgICAoUXVldWVWaWV3LnByb3RvdHlwZS5fZm9y
bWF0UmV2aXNpb25Gb3JEaXNwbGF5KTogTW92ZWQgZnJvbSBjaGlsZCBjbGFzcywgbm8gY2hhbmdl
cy4KKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9w
dWJsaWNfaHRtbC9kYXNoYm9hcmQvU3R5bGVzL01haW4uY3NzOgorICAgICAgICAoYTpob3Zlcjps
aW5rKTogVW5kZXJsaW5lIG9ubHkgd2hlbiB0aGVyZSBpcyBhIGxpbmsuCisKIDIwMTYtMDUtMTMg
IFlvYXYgV2Vpc3MgIDx5b2F2QHlvYXYud3M+CiAKICAgICAgICAgVHVybiBvbiBXRUJfVElNSU5H
IGZvciBhbGwgcG9ydHMKSW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtp
dC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL0J1YmJsZVF1ZXVlVmll
dy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQu
b3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWJibGVRdWV1ZVZpZXcu
anMJKHJldmlzaW9uIDIwMDg3MykKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndl
YmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL0J1YmJsZVF1ZXVl
Vmlldy5qcwkod29ya2luZyBjb3B5KQpAQCAtNzUsMjQgKzc1LDYgQEAgQnViYmxlUXVldWVWaWV3
LnByb3RvdHlwZSA9IHsKICAgICAgICAgfSwgdGhpcyk7CiAgICAgfSwKIAotICAgIGFkZExpbmtU
b1JvdzogZnVuY3Rpb24ocm93RWxlbWVudCwgY2xhc3NOYW1lLCB0ZXh0LCB1cmwpCi0gICAgewot
ICAgICAgICB2YXIgbGlua0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Ci0g
ICAgICAgIGxpbmtFbGVtZW50LmNsYXNzTmFtZSA9IGNsYXNzTmFtZTsKLSAgICAgICAgbGlua0Vs
ZW1lbnQudGV4dENvbnRlbnQgPSB0ZXh0OwotICAgICAgICBsaW5rRWxlbWVudC5ocmVmID0gdXJs
OwotICAgICAgICBsaW5rRWxlbWVudC50YXJnZXQgPSAiX2JsYW5rIjsKLSAgICAgICAgcm93RWxl
bWVudC5hcHBlbmRDaGlsZChsaW5rRWxlbWVudCk7Ci0gICAgfSwKLQotICAgIGFkZFRleHRUb1Jv
dzogZnVuY3Rpb24ocm93RWxlbWVudCwgY2xhc3NOYW1lLCB0ZXh0KQotICAgIHsKLSAgICAgICAg
dmFyIHNwYW5FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwotICAgICAg
ICBzcGFuRWxlbWVudC5jbGFzc05hbWUgPSBjbGFzc05hbWU7Ci0gICAgICAgIHNwYW5FbGVtZW50
LnRleHRDb250ZW50ID0gdGV4dDsKLSAgICAgICAgcm93RWxlbWVudC5hcHBlbmRDaGlsZChzcGFu
RWxlbWVudCk7Ci0gICAgfSwKLQogICAgIF9hZGRRdWV1ZUhlYWRpbmdUb1BvcG92ZXI6IGZ1bmN0
aW9uKHF1ZXVlLCBjb250ZW50KQogICAgIHsKICAgICAgICAgdmFyIHRpdGxlID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiZGl2Iik7CkBAIC0xMTMsMTMgKzk1LDYgQEAgQnViYmxlUXVldWVWaWV3
LnByb3RvdHlwZSA9IHsKICAgICAgICAgY29udGVudC5hcHBlbmRDaGlsZCh0aXRsZSk7CiAgICAg
fSwKIAotICAgIF9hZGREaXZpZGVyVG9Qb3BvdmVyOiBmdW5jdGlvbihjb250ZW50KQotICAgIHsK
LSAgICAgICAgdmFyIGRpdmlkZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAg
ICAgICAgZGl2aWRlci5jbGFzc05hbWUgPSAiZGl2aWRlciI7Ci0gICAgICAgIGNvbnRlbnQuYXBw
ZW5kQ2hpbGQoZGl2aWRlcik7Ci0gICAgfSwKLQogICAgIF90aW1lSW50ZXJ2YWxTdHJpbmc6IGZ1
bmN0aW9uKHRpbWUpCiAgICAgewogICAgICAgICB2YXIgc2Vjb25kc0luSG91ciA9IDYwICogNjA7
CkluZGV4OiBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9w
dWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdEJ1aWxkZXJRdWV1ZVZpZXcuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1j
b25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RCdWlsZGVyUXVldWVW
aWV3LmpzCShyZXZpc2lvbiAyMDA4NzMpCisrKyBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWls
ZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJv
dEJ1aWxkZXJRdWV1ZVZpZXcuanMJKHdvcmtpbmcgY29weSkKQEAgLTY1LDcgKzY1LDcgQEAgQnVp
bGRib3RCdWlsZGVyUXVldWVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIHRoaXMuX2FwcGVuZFBlbmRpbmdSZXZp
c2lvbkNvdW50KHF1ZXVlKTsKKyAgICAgICAgICAgIHRoaXMuX2FwcGVuZFBlbmRpbmdSZXZpc2lv
bkNvdW50KHF1ZXVlLCB0aGlzLl9sYXRlc3RQcm9kdWN0aXZlSXRlcmF0aW9uLmJpbmQodGhpcywg
cXVldWUpKTsKIAogICAgICAgICAgICAgdmFyIGZpcnN0UmVjZW50VW5zdWNjZXNzZnVsSXRlcmF0
aW9uID0gcXVldWUuZmlyc3RSZWNlbnRVbnN1Y2Nlc3NmdWxJdGVyYXRpb247CiAgICAgICAgICAg
ICB2YXIgbW9zdFJlY2VudEZpbmlzaGVkSXRlcmF0aW9uID0gcXVldWUubW9zdFJlY2VudEZpbmlz
aGVkSXRlcmF0aW9uOwpJbmRleDogVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RDb21iaW5l
ZFF1ZXVlVmlldy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWls
ZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJv
dENvbWJpbmVkUXVldWVWaWV3LmpzCShyZXZpc2lvbiAyMDA4NzMpCisrKyBUb29scy9CdWlsZFNs
YXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQv
U2NyaXB0cy9CdWlsZGJvdENvbWJpbmVkUXVldWVWaWV3LmpzCSh3b3JraW5nIGNvcHkpCkBAIC04
NCw3ICs4NCw3IEBAIEJ1aWxkYm90Q29tYmluZWRRdWV1ZVZpZXcucHJvdG90eXBlID0gewogICAg
ICAgICAgICAgLy8gU2hvdyB0aGUgcmV2aXNpb24gZm9yIHRoZSBzbG93ZXN0IHF1ZXVlLCBiZWNh
dXNlIHdlIGRvbid0IGtub3cgaWYgYW55IG5ld2VyIHJldmlzaW9ucyBhcmUgZ3JlZW4gb24gYWxs
IHF1ZXVlcy4KICAgICAgICAgICAgIC8vIFRoaXMgY2FuIGJlIHNsaWdodGx5IG1pc2xlYWRpbmcg
YWZ0ZXIgZml4aW5nIGEgcHJvYmxlbSwgYmVjYXVzZSB3ZSBjYW4gc2hvdyBhIGtub3duIGJyb2tl
biByZXZpc2lvbiBhcyBncmVlbi4KICAgICAgICAgICAgIHZhciBzbG93ZXN0UXVldWUgPSB0aGlz
LnF1ZXVlcy5zbGljZSgpLnNvcnQoZnVuY3Rpb24oYSwgYikgeyByZXR1cm4gQnVpbGRib3RRdWV1
ZS5wcm90b3R5cGUuY29tcGFyZUl0ZXJhdGlvbnNCeVJldmlzaW9ucyhhLm1vc3RSZWNlbnRTdWNj
ZXNzZnVsSXRlcmF0aW9uLCBiLm1vc3RSZWNlbnRTdWNjZXNzZnVsSXRlcmF0aW9uKTsgfSkucG9w
KCk7Ci0gICAgICAgICAgICB0aGlzLl9hcHBlbmRQZW5kaW5nUmV2aXNpb25Db3VudChzbG93ZXN0
UXVldWUpOworICAgICAgICAgICAgdGhpcy5fYXBwZW5kUGVuZGluZ1JldmlzaW9uQ291bnQoc2xv
d2VzdFF1ZXVlLCB0aGlzLl9sYXRlc3RQcm9kdWN0aXZlSXRlcmF0aW9uLmJpbmQodGhpcywgc2xv
d2VzdFF1ZXVlKSk7CiAKICAgICAgICAgICAgIHZhciBtZXNzYWdlID0gdGhpcy5yZXZpc2lvbkNv
bnRlbnRGb3JJdGVyYXRpb24oc2xvd2VzdFF1ZXVlLm1vc3RSZWNlbnRTdWNjZXNzZnVsSXRlcmF0
aW9uKTsKICAgICAgICAgICAgIHZhciBzdGF0dXNNZXNzYWdlUGFzc2VkID0gImFsbCAiICsgKHF1
ZXVlLmJ1aWxkZXIgPyAiYnVpbGRzIHN1Y2NlZWRlZCIgOiAidGVzdHMgcGFzc2VkIik7CkBAIC05
OCw3ICs5OCw3IEBAIEJ1aWxkYm90Q29tYmluZWRRdWV1ZVZpZXcucHJvdG90eXBlID0gewogICAg
ICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAg
ICAgICAgdGhpcy5fYXBwZW5kUGVuZGluZ1JldmlzaW9uQ291bnQocXVldWUpOworICAgICAgICAg
ICAgICAgIHRoaXMuX2FwcGVuZFBlbmRpbmdSZXZpc2lvbkNvdW50KHF1ZXVlLCB0aGlzLl9sYXRl
c3RQcm9kdWN0aXZlSXRlcmF0aW9uLmJpbmQodGhpcywgcXVldWUpKTsKIAogICAgICAgICAgICAg
ICAgIHZhciBmaXJzdFJlY2VudFVuc3VjY2Vzc2Z1bEl0ZXJhdGlvbiA9IHF1ZXVlLmZpcnN0UmVj
ZW50VW5zdWNjZXNzZnVsSXRlcmF0aW9uOwogICAgICAgICAgICAgICAgIHZhciBtb3N0UmVjZW50
RmluaXNoZWRJdGVyYXRpb24gPSBxdWV1ZS5tb3N0UmVjZW50RmluaXNoZWRJdGVyYXRpb247Cklu
ZGV4OiBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJs
aWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdFF1ZXVlVmlldy5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJs
aWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWlsZGJvdFF1ZXVlVmlldy5qcwkocmV2aXNpb24g
MjAwODczKQorKysgVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25m
aWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvQnVpbGRib3RRdWV1ZVZpZXcuanMJKHdv
cmtpbmcgY29weSkKQEAgLTczLDEyMSArNzMsNiBAQCBCdWlsZGJvdFF1ZXVlVmlldy5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChzdGF0dXMuZWxlbWVudCk7
CiAgICAgfSwKIAotICAgIF9hcHBlbmRQZW5kaW5nUmV2aXNpb25Db3VudDogZnVuY3Rpb24ocXVl
dWUpCi0gICAgewotICAgICAgICB2YXIgbGF0ZXN0UHJvZHVjdGl2ZUl0ZXJhdGlvbiA9IHRoaXMu
X2xhdGVzdFByb2R1Y3RpdmVJdGVyYXRpb24ocXVldWUpOwotICAgICAgICBpZiAoIWxhdGVzdFBy
b2R1Y3RpdmVJdGVyYXRpb24pCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdmFyIHRv
dGFsUmV2aXNpb25zQmVoaW5kID0gMDsKLQotICAgICAgICAvLyBGSVhNRTogVG8gYmUgMTAwJSBj
b3JyZWN0LCB3ZSBzaG91bGQgYWxzbyBmaWx0ZXIgb3V0IGNoYW5nZXMgdGhhdCBhcmUgaWdub3Jl
ZCBieQotICAgICAgICAvLyB0aGUgcXVldWUsIHNlZSBfc2hvdWxkX2ZpbGVfdHJpZ2dlcl9idWls
ZCBpbiB3a2J1aWxkLnB5LgotICAgICAgICB2YXIgYnJhbmNoZXMgPSBxdWV1ZS5icmFuY2hlczsK
LSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBicmFuY2hlcy5sZW5ndGg7ICsraSkgewotICAg
ICAgICAgICAgdmFyIGJyYW5jaCA9IGJyYW5jaGVzW2ldOwotICAgICAgICAgICAgdmFyIHJlcG9z
aXRvcnkgPSBicmFuY2gucmVwb3NpdG9yeTsKLSAgICAgICAgICAgIHZhciByZXBvc2l0b3J5TmFt
ZSA9IHJlcG9zaXRvcnkubmFtZTsKLSAgICAgICAgICAgIHZhciB0cmFjID0gcmVwb3NpdG9yeS50
cmFjOwotICAgICAgICAgICAgdmFyIGxhdGVzdFByb2R1Y3RpdmVSZXZpc2lvbk51bWJlciA9IGxh
dGVzdFByb2R1Y3RpdmVJdGVyYXRpb24ucmV2aXNpb25bcmVwb3NpdG9yeU5hbWVdOwotICAgICAg
ICAgICAgaWYgKCFsYXRlc3RQcm9kdWN0aXZlUmV2aXNpb25OdW1iZXIpCi0gICAgICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgICAgICBpZiAoIXRyYWMpCi0gICAgICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgICAgICBpZiAoIXRyYWMubGF0ZXN0UmVjb3JkZWRSZXZpc2lvbk51bWJl
ciB8fCB0cmFjLmluZGV4T2ZSZXZpc2lvbih0cmFjLm9sZGVzdFJlY29yZGVkUmV2aXNpb25OdW1i
ZXIpID4gdHJhYy5pbmRleE9mUmV2aXNpb24obGF0ZXN0UHJvZHVjdGl2ZVJldmlzaW9uTnVtYmVy
KSkgewotICAgICAgICAgICAgICAgIHRyYWMubG9hZE1vcmVIaXN0b3JpY2FsRGF0YSgpOwotICAg
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgdG90YWxS
ZXZpc2lvbnNCZWhpbmQgKz0gdHJhYy5jb21taXRzT25CcmFuY2hMYXRlclRoYW5SZXZpc2lvbihi
cmFuY2gubmFtZSwgbGF0ZXN0UHJvZHVjdGl2ZVJldmlzaW9uTnVtYmVyKS5sZW5ndGg7Ci0gICAg
ICAgIH0KLQotICAgICAgICBpZiAoIXRvdGFsUmV2aXNpb25zQmVoaW5kKQotICAgICAgICAgICAg
cmV0dXJuOwotCi0gICAgICAgIHZhciBtZXNzYWdlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInNwYW4iKTsgLy8gV2UgY2FuJ3QganVzdCBwYXNzIHRleHQgdG8gU3RhdHVzTGluZVZp
ZXcgaGVyZSwgYmVjYXVzZSB3ZSBuZWVkIGFuIGVsZW1lbnQgdGhhdCBwZXJmZWN0bHkgZml0cyB0
aGUgdGV4dCBmb3IgcG9wb3ZlciBwb3NpdGlvbmluZy4KLSAgICAgICAgbWVzc2FnZUVsZW1lbnQu
dGV4dENvbnRlbnQgPSB0b3RhbFJldmlzaW9uc0JlaGluZCArICIgIiArICh0b3RhbFJldmlzaW9u
c0JlaGluZCA9PT0gMSA/ICJyZXZpc2lvbiBiZWhpbmQiIDogInJldmlzaW9ucyBiZWhpbmQiKTsK
LSAgICAgICAgdmFyIHN0YXR1cyA9IG5ldyBTdGF0dXNMaW5lVmlldyhtZXNzYWdlRWxlbWVudCwg
U3RhdHVzTGluZVZpZXcuU3RhdHVzLk5vQnViYmxlKTsKLSAgICAgICAgdGhpcy5lbGVtZW50LmFw
cGVuZENoaWxkKHN0YXR1cy5lbGVtZW50KTsKLQotICAgICAgICBuZXcgUG9wb3ZlclRyYWNrZXIo
bWVzc2FnZUVsZW1lbnQsIHRoaXMuX3ByZXNlbnRQb3BvdmVyRm9yUGVuZGluZ0NvbW1pdHMuYmlu
ZCh0aGlzKSwgcXVldWUpOwotICAgIH0sCi0KLSAgICBfcG9wb3ZlckxpbmVzRm9yQ29tbWl0UmFu
Z2U6IGZ1bmN0aW9uKHRyYWMsIGJyYW5jaCwgZmlyc3RSZXZpc2lvbk51bWJlciwgbGFzdFJldmlz
aW9uTnVtYmVyKQotICAgIHsKLSAgICAgICAgZnVuY3Rpb24gbGluZUZvckNvbW1pdCh0cmFjLCBj
b21taXQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZhciByZXN1bHQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgICAgIHJlc3VsdC5jbGFzc05hbWUgPSAicGVuZGlu
Zy1jb21taXQiOwotCi0gICAgICAgICAgICB2YXIgbGlua0VsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJhIik7Ci0gICAgICAgICAgICBsaW5rRWxlbWVudC5jbGFzc05hbWUgPSAicmV2
aXNpb24iOwotICAgICAgICAgICAgbGlua0VsZW1lbnQuaHJlZiA9IHRyYWMucmV2aXNpb25VUkwo
Y29tbWl0LnJldmlzaW9uTnVtYmVyKTsKLSAgICAgICAgICAgIGxpbmtFbGVtZW50LnRhcmdldCA9
ICJfYmxhbmsiOwotICAgICAgICAgICAgbGlua0VsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLl9m
b3JtYXRSZXZpc2lvbkZvckRpc3BsYXkoY29tbWl0LnJldmlzaW9uTnVtYmVyLCBicmFuY2gucmVw
b3NpdG9yeSk7Ci0gICAgICAgICAgICByZXN1bHQuYXBwZW5kQ2hpbGQobGlua0VsZW1lbnQpOwot
Ci0gICAgICAgICAgICB2YXIgYXV0aG9yRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InNwYW4iKTsKLSAgICAgICAgICAgIGF1dGhvckVsZW1lbnQuY2xhc3NOYW1lID0gImF1dGhvciI7
Ci0gICAgICAgICAgICBhdXRob3JFbGVtZW50LnRleHRDb250ZW50ID0gY29tbWl0LmF1dGhvcjsK
LSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmRDaGlsZChhdXRob3JFbGVtZW50KTsKLQotICAgICAg
ICAgICAgdmFyIHRpdGxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsK
LSAgICAgICAgICAgIHRpdGxlRWxlbWVudC5jbGFzc05hbWUgPSAidGl0bGUiOwotICAgICAgICAg
ICAgdGl0bGVFbGVtZW50LmlubmVySFRNTCA9IGNvbW1pdC50aXRsZS5pbm5lckhUTUw7Ci0gICAg
ICAgICAgICByZXN1bHQuYXBwZW5kQ2hpbGQodGl0bGVFbGVtZW50KTsKLQotICAgICAgICAgICAg
cmV0dXJuIHJlc3VsdDsKLSAgICAgICAgfQotCi0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRyYWMu
aW5kZXhPZlJldmlzaW9uKHRyYWMub2xkZXN0UmVjb3JkZWRSZXZpc2lvbk51bWJlcikgPD0gdHJh
Yy5pbmRleE9mUmV2aXNpb24oZmlyc3RSZXZpc2lvbk51bWJlcikpOwotCi0gICAgICAgIC8vIEZJ
WE1FOiBUbyBiZSAxMDAlIGNvcnJlY3QsIHdlIHNob3VsZCBhbHNvIGZpbHRlciBvdXQgY2hhbmdl
cyB0aGF0IGFyZSBpZ25vcmVkIGJ5Ci0gICAgICAgIC8vIHRoZSBxdWV1ZSwgc2VlIF9zaG91bGRf
ZmlsZV90cmlnZ2VyX2J1aWxkIGluIHdrYnVpbGQucHkuCi0gICAgICAgIHZhciBjb21taXRzID0g
dHJhYy5jb21taXRzT25CcmFuY2hJblJldmlzaW9uUmFuZ2UoYnJhbmNoLm5hbWUsIGZpcnN0UmV2
aXNpb25OdW1iZXIsIGxhc3RSZXZpc2lvbk51bWJlcik7Ci0gICAgICAgIHJldHVybiBjb21taXRz
Lm1hcChmdW5jdGlvbihjb21taXQpIHsKLSAgICAgICAgICAgIHJldHVybiBsaW5lRm9yQ29tbWl0
LmNhbGwodGhpcywgdHJhYywgY29tbWl0KTsKLSAgICAgICAgfSwgdGhpcykucmV2ZXJzZSgpOwot
ICAgIH0sCi0KLSAgICBfcHJlc2VudFBvcG92ZXJGb3JQZW5kaW5nQ29tbWl0czogZnVuY3Rpb24o
ZWxlbWVudCwgcG9wb3ZlciwgcXVldWUpCi0gICAgewotICAgICAgICB2YXIgbGF0ZXN0UHJvZHVj
dGl2ZUl0ZXJhdGlvbiA9IHRoaXMuX2xhdGVzdFByb2R1Y3RpdmVJdGVyYXRpb24ocXVldWUpOwot
ICAgICAgICBpZiAoIWxhdGVzdFByb2R1Y3RpdmVJdGVyYXRpb24pCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICAgICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKLSAgICAgICAgY29udGVudC5jbGFzc05hbWUgPSAiY29tbWl0LWhpc3RvcnktcG9w
b3ZlciI7Ci0KLSAgICAgICAgdmFyIHNob3VsZEFkZERpdmlkZXIgPSBmYWxzZTsKLSAgICAgICAg
dmFyIGJyYW5jaGVzID0gcXVldWUuYnJhbmNoZXM7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgYnJhbmNoZXMubGVuZ3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBicmFuY2ggPSBicmFu
Y2hlc1tpXTsKLSAgICAgICAgICAgIHZhciByZXBvc2l0b3J5ID0gYnJhbmNoLnJlcG9zaXRvcnk7
Ci0gICAgICAgICAgICB2YXIgcmVwb3NpdG9yeU5hbWUgPSByZXBvc2l0b3J5Lm5hbWU7Ci0gICAg
ICAgICAgICB2YXIgdHJhYyA9IHJlcG9zaXRvcnkudHJhYzsKLSAgICAgICAgICAgIHZhciBsYXRl
c3RQcm9kdWN0aXZlUmV2aXNpb25OdW1iZXIgPSBsYXRlc3RQcm9kdWN0aXZlSXRlcmF0aW9uLnJl
dmlzaW9uW3JlcG9zaXRvcnlOYW1lXTsKLSAgICAgICAgICAgIGlmICghbGF0ZXN0UHJvZHVjdGl2
ZVJldmlzaW9uTnVtYmVyIHx8ICF0cmFjLmxhdGVzdFJlY29yZGVkUmV2aXNpb25OdW1iZXIpCi0g
ICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICB2YXIgbmV4dFJldmlzaW9uID0g
dHJhYy5uZXh0UmV2aXNpb24oYnJhbmNoLm5hbWUsIGxhdGVzdFByb2R1Y3RpdmVSZXZpc2lvbk51
bWJlcik7Ci0gICAgICAgICAgICBpZiAobmV4dFJldmlzaW9uID09PSBUcmFjLk5PX01PUkVfUkVW
SVNJT05TKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgdmFyIGxpbmVz
ID0gdGhpcy5fcG9wb3ZlckxpbmVzRm9yQ29tbWl0UmFuZ2UodHJhYywgYnJhbmNoLCBuZXh0UmV2
aXNpb24sIHRyYWMubGF0ZXN0UmVjb3JkZWRSZXZpc2lvbk51bWJlcik7Ci0gICAgICAgICAgICB2
YXIgbGVuZ3RoID0gbGluZXMubGVuZ3RoOwotICAgICAgICAgICAgaWYgKGxlbmd0aCAmJiBzaG91
bGRBZGREaXZpZGVyKQotICAgICAgICAgICAgICAgIHRoaXMuX2FkZERpdmlkZXJUb1BvcG92ZXIo
Y29udGVudCk7Ci0gICAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGxlbmd0aDsgKytqKQot
ICAgICAgICAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQobGluZXNbal0pOwotICAgICAgICAg
ICAgc2hvdWxkQWRkRGl2aWRlciA9IHNob3VsZEFkZERpdmlkZXIgfHwgbGVuZ3RoID4gMDsKLSAg
ICAgICAgfQotCi0gICAgICAgIHZhciByZWN0ID0gRGFzaGJvYXJkLlJlY3QucmVjdEZyb21DbGll
bnRSZWN0KGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpOwotICAgICAgICBwb3BvdmVy
LmNvbnRlbnQgPSBjb250ZW50OwotICAgICAgICBwb3BvdmVyLnByZXNlbnQocmVjdCwgW0Rhc2hi
b2FyZC5SZWN0RWRnZS5NSU5fWSwgRGFzaGJvYXJkLlJlY3RFZGdlLk1BWF9ZLCBEYXNoYm9hcmQu
UmVjdEVkZ2UuTUFYX1gsIERhc2hib2FyZC5SZWN0RWRnZS5NSU5fWF0pOwotCi0gICAgICAgIHJl
dHVybiB0cnVlOwotICAgIH0sCi0KICAgICBfcHJlc2VudFBvcG92ZXJGb3JSZXZpc2lvblJhbmdl
OiBmdW5jdGlvbihlbGVtZW50LCBwb3BvdmVyLCBjb250ZXh0KQogICAgIHsKICAgICAgICAgdmFy
IGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKQEAgLTI4OSwxMyArMTc0
LDYgQEAgQnVpbGRib3RRdWV1ZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICBjb250ZW50LmFw
cGVuZENoaWxkKHRpdGxlKTsKICAgICB9LAogCi0gICAgX2FkZERpdmlkZXJUb1BvcG92ZXI6IGZ1
bmN0aW9uKGNvbnRlbnQpCi0gICAgewotICAgICAgICB2YXIgZGl2aWRlciA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgICAgICBkaXZpZGVyLmNsYXNzTmFtZSA9ICJkaXZpZGVy
IjsKLSAgICAgICAgY29udGVudC5hcHBlbmRDaGlsZChkaXZpZGVyKTsKLSAgICB9LAotCiAgICAg
cmV2aXNpb25Db250ZW50Rm9ySXRlcmF0aW9uOiBmdW5jdGlvbihpdGVyYXRpb24sIHByZXZpb3Vz
RGlzcGxheWVkSXRlcmF0aW9uKQogICAgIHsKICAgICAgICAgdmFyIGZyYWdtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwpAQCAtMzU2LDE0ICsyMzQsNSBAQCBCdWlsZGJv
dFF1ZXVlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgX3VuYXV0aG9yaXplZEFjY2VzczogZnVuY3Rp
b24oZXZlbnQpCiAgICAgewogICAgICAgICB0aGlzLnVwZGF0ZVNvb24oKTsKLSAgICB9LAotCi0g
ICAgX2Zvcm1hdFJldmlzaW9uRm9yRGlzcGxheTogZnVuY3Rpb24ocmV2aXNpb24sIHJlcG9zaXRv
cnkpCi0gICAgewotICAgICAgICBjb25zb2xlLmFzc2VydChyZXBvc2l0b3J5LmlzU1ZOIHx8IHJl
cG9zaXRvcnkuaXNHaXQsICJTaG91bGQgbm90IGdldCBoZXJlOyAiICsgcmVwb3NpdG9yeS5uYW1l
ICsgIiBkaWQgbm90IHNwZWNpZnkgYSBrbm93biBWQ1MgdHlwZS4iKTsKLSAgICAgICAgaWYgKHJl
cG9zaXRvcnkuaXNTVk4pCi0gICAgICAgICAgICByZXR1cm4gInIiICsgcmV2aXNpb247Ci0gICAg
ICAgIC8vIFRydW5jYXRpbmcgZm9yIGRpc3BsYXkuIEdpdCB0cmFkaXRpb25hbGx5IHVzZXMgc2V2
ZW4gY2hhcmFjdGVycyBmb3IgYSBzaG9ydCBoYXNoLgotICAgICAgICByZXR1cm4gcmV2aXNpb24u
c3Vic3RyKDAsIDcpOwogICAgIH0KIH07CkluZGV4OiBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9i
dWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9CdWls
ZGJvdFRlc3RlclF1ZXVlVmlldy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3Vw
cG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0
cy9CdWlsZGJvdFRlc3RlclF1ZXVlVmlldy5qcwkocmV2aXNpb24gMjAwODczKQorKysgVG9vbHMv
QnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFz
aGJvYXJkL1NjcmlwdHMvQnVpbGRib3RUZXN0ZXJRdWV1ZVZpZXcuanMJKHdvcmtpbmcgY29weSkK
QEAgLTUyLDcgKzUyLDcgQEAgQnVpbGRib3RUZXN0ZXJRdWV1ZVZpZXcucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgdGhp
cy5fYXBwZW5kUGVuZGluZ1JldmlzaW9uQ291bnQocXVldWUpOworICAgICAgICAgICAgdGhpcy5f
YXBwZW5kUGVuZGluZ1JldmlzaW9uQ291bnQocXVldWUsIHRoaXMuX2xhdGVzdFByb2R1Y3RpdmVJ
dGVyYXRpb24uYmluZCh0aGlzLCBxdWV1ZSkpOwogCiAgICAgICAgICAgICB2YXIgYXBwZW5kZWRT
dGF0dXMgPSBmYWxzZTsKIApJbmRleDogVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Vi
a2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvTWFpbi5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9NYWluLmpzCShyZXZpc2lvbiAyMDA4NzMp
CisrKyBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJs
aWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9NYWluLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3
ICsyNiw4IEBACiB2YXIgaGFzQnViYmxlcyA9IHR5cGVvZiBidWJibGVRdWV1ZVNlcnZlciAhPSAi
dW5kZWZpbmVkIjsKIHZhciBCdWJibGVzQ2F0ZWdvcnkgPSAiYnViYmxlcyI7CiAKLXZhciBjYXRl
Z29yaXplZFF1ZXVlc0J5UGxhdGZvcm1BbmRCdWlsZFR5cGUgPSB7fTsKK2lmICghY2F0ZWdvcml6
ZWRRdWV1ZXNCeVBsYXRmb3JtQW5kQnVpbGRUeXBlKQorICAgIHZhciBjYXRlZ29yaXplZFF1ZXVl
c0J5UGxhdGZvcm1BbmRCdWlsZFR5cGUgPSB7fTsKIHZhciBwbGF0Zm9ybXNCeUZhbWlseSA9IHt9
OwogCiBmb3IgKHZhciBpID0gMDsgaSA8IGJ1aWxkYm90cy5sZW5ndGg7ICsraSkgewpAQCAtMjU4
LDYgKzI1OSw5IEBAIGZ1bmN0aW9uIGRvY3VtZW50UmVhZHkoKQogICAgICAgICAgICAgY2VsbC5h
cHBlbmRDaGlsZCh2aWV3LmVsZW1lbnQpOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKHBsYXRm
b3JtUXVldWVzLmN1c3RvbVZpZXcpCisgICAgICAgICAgICBjZWxsLmFwcGVuZENoaWxkKHBsYXRm
b3JtUXVldWVzLmN1c3RvbVZpZXcuZWxlbWVudCk7CisKICAgICAgICAgaWYgKHBsYXRmb3JtUXVl
dWVzW0J1YmJsZXNDYXRlZ29yeV0pIHsKICAgICAgICAgICAgIHZhciB2aWV3ID0gbmV3IEJ1YmJs
ZVF1ZXVlVmlldyhwbGF0Zm9ybVF1ZXVlc1tCdWJibGVzQ2F0ZWdvcnldKTsKICAgICAgICAgICAg
IGNlbGwuYXBwZW5kQ2hpbGQodmlldy5lbGVtZW50KTsKSW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3Jp
cHRzL1F1ZXVlVmlldy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9i
dWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU2NyaXB0cy9RdWV1
ZVZpZXcuanMJKHJldmlzaW9uIDIwMDg3MykKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1
aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL1F1ZXVl
Vmlldy5qcwkod29ya2luZyBjb3B5KQpAQCAtNzgsNSArNzgsMTU0IEBAIFF1ZXVlVmlldy5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMudXBkYXRlVGltZXIpOwog
ICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lciA9IG51bGw7CiAgICAgICAgIH0KKyAgICB9LAor
CisgICAgYWRkTGlua1RvUm93OiBmdW5jdGlvbihyb3dFbGVtZW50LCBjbGFzc05hbWUsIHRleHQs
IHVybCkKKyAgICB7ICAgCisgICAgICAgIHZhciBsaW5rRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImEiKTsKKyAgICAgICAgbGlua0VsZW1lbnQuY2xhc3NOYW1lID0gY2xhc3NOYW1l
OworICAgICAgICBsaW5rRWxlbWVudC50ZXh0Q29udGVudCA9IHRleHQ7CisgICAgICAgIGxpbmtF
bGVtZW50LmhyZWYgPSB1cmw7CisgICAgICAgIGxpbmtFbGVtZW50LnRhcmdldCA9ICJfYmxhbmsi
OworICAgICAgICByb3dFbGVtZW50LmFwcGVuZENoaWxkKGxpbmtFbGVtZW50KTsKKyAgICB9LCAg
CisKKyAgICBhZGRUZXh0VG9Sb3c6IGZ1bmN0aW9uKHJvd0VsZW1lbnQsIGNsYXNzTmFtZSwgdGV4
dCkKKyAgICB7ICAgCisgICAgICAgIHZhciBzcGFuRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInNwYW4iKTsKKyAgICAgICAgc3BhbkVsZW1lbnQuY2xhc3NOYW1lID0gY2xhc3NOYW1l
OworICAgICAgICBzcGFuRWxlbWVudC50ZXh0Q29udGVudCA9IHRleHQ7CisgICAgICAgIHJvd0Vs
ZW1lbnQuYXBwZW5kQ2hpbGQoc3BhbkVsZW1lbnQpOworICAgIH0sCisKKyAgICBfYWRkRGl2aWRl
clRvUG9wb3ZlcjogZnVuY3Rpb24oY29udGVudCkKKyAgICB7CisgICAgICAgIHZhciBkaXZpZGVy
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgIGRpdmlkZXIuY2xhc3NO
YW1lID0gImRpdmlkZXIiOworICAgICAgICBjb250ZW50LmFwcGVuZENoaWxkKGRpdmlkZXIpOwor
ICAgIH0sCisKKyAgICBfYXBwZW5kUGVuZGluZ1JldmlzaW9uQ291bnQ6IGZ1bmN0aW9uKHF1ZXVl
LCBsYXRlc3RJdGVyYXRpb25HZXR0ZXIpCisgICAgeworICAgICAgICB2YXIgbGF0ZXN0UHJvZHVj
dGl2ZUl0ZXJhdGlvbiA9IGxhdGVzdEl0ZXJhdGlvbkdldHRlcigpOworICAgICAgICBpZiAoIWxh
dGVzdFByb2R1Y3RpdmVJdGVyYXRpb24pCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
dmFyIHRvdGFsUmV2aXNpb25zQmVoaW5kID0gMDsKKworICAgICAgICAvLyBGSVhNRTogVG8gYmUg
MTAwJSBjb3JyZWN0LCB3ZSBzaG91bGQgYWxzbyBmaWx0ZXIgb3V0IGNoYW5nZXMgdGhhdCBhcmUg
aWdub3JlZCBieQorICAgICAgICAvLyB0aGUgcXVldWUsIHNlZSBfc2hvdWxkX2ZpbGVfdHJpZ2dl
cl9idWlsZCBpbiB3a2J1aWxkLnB5LgorICAgICAgICB2YXIgYnJhbmNoZXMgPSBxdWV1ZS5icmFu
Y2hlczsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBicmFuY2hlcy5sZW5ndGg7ICsraSkg
eworICAgICAgICAgICAgdmFyIGJyYW5jaCA9IGJyYW5jaGVzW2ldOworICAgICAgICAgICAgdmFy
IHJlcG9zaXRvcnkgPSBicmFuY2gucmVwb3NpdG9yeTsKKyAgICAgICAgICAgIHZhciByZXBvc2l0
b3J5TmFtZSA9IHJlcG9zaXRvcnkubmFtZTsKKyAgICAgICAgICAgIHZhciB0cmFjID0gcmVwb3Np
dG9yeS50cmFjOworICAgICAgICAgICAgdmFyIGxhdGVzdFByb2R1Y3RpdmVSZXZpc2lvbk51bWJl
ciA9IGxhdGVzdFByb2R1Y3RpdmVJdGVyYXRpb24ucmV2aXNpb25bcmVwb3NpdG9yeU5hbWVdOwor
ICAgICAgICAgICAgaWYgKCFsYXRlc3RQcm9kdWN0aXZlUmV2aXNpb25OdW1iZXIpCisgICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBpZiAoIXRyYWMpCisgICAgICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgICAgICBpZiAoIXRyYWMubGF0ZXN0UmVjb3JkZWRSZXZpc2lv
bk51bWJlciB8fCB0cmFjLmluZGV4T2ZSZXZpc2lvbih0cmFjLm9sZGVzdFJlY29yZGVkUmV2aXNp
b25OdW1iZXIpID4gdHJhYy5pbmRleE9mUmV2aXNpb24obGF0ZXN0UHJvZHVjdGl2ZVJldmlzaW9u
TnVtYmVyKSkgeworICAgICAgICAgICAgICAgIHRyYWMubG9hZE1vcmVIaXN0b3JpY2FsRGF0YSgp
OworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
dG90YWxSZXZpc2lvbnNCZWhpbmQgKz0gdHJhYy5jb21taXRzT25CcmFuY2hMYXRlclRoYW5SZXZp
c2lvbihicmFuY2gubmFtZSwgbGF0ZXN0UHJvZHVjdGl2ZVJldmlzaW9uTnVtYmVyKS5sZW5ndGg7
CisgICAgICAgIH0KKworICAgICAgICBpZiAoIXRvdGFsUmV2aXNpb25zQmVoaW5kKQorICAgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIHZhciBtZXNzYWdlRWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInNwYW4iKTsgLy8gV2UgY2FuJ3QganVzdCBwYXNzIHRleHQgdG8gU3RhdHVz
TGluZVZpZXcgaGVyZSwgYmVjYXVzZSB3ZSBuZWVkIGFuIGVsZW1lbnQgdGhhdCBwZXJmZWN0bHkg
Zml0cyB0aGUgdGV4dCBmb3IgcG9wb3ZlciBwb3NpdGlvbmluZy4KKyAgICAgICAgbWVzc2FnZUVs
ZW1lbnQudGV4dENvbnRlbnQgPSB0b3RhbFJldmlzaW9uc0JlaGluZCArICIgIiArICh0b3RhbFJl
dmlzaW9uc0JlaGluZCA9PT0gMSA/ICJyZXZpc2lvbiBiZWhpbmQiIDogInJldmlzaW9ucyBiZWhp
bmQiKTsKKyAgICAgICAgdmFyIHN0YXR1cyA9IG5ldyBTdGF0dXNMaW5lVmlldyhtZXNzYWdlRWxl
bWVudCwgU3RhdHVzTGluZVZpZXcuU3RhdHVzLk5vQnViYmxlKTsKKyAgICAgICAgdGhpcy5lbGVt
ZW50LmFwcGVuZENoaWxkKHN0YXR1cy5lbGVtZW50KTsKKworICAgICAgICBuZXcgUG9wb3ZlclRy
YWNrZXIobWVzc2FnZUVsZW1lbnQsIHRoaXMuX3ByZXNlbnRQb3BvdmVyRm9yUGVuZGluZ0NvbW1p
dHMuYmluZCh0aGlzLCBsYXRlc3RJdGVyYXRpb25HZXR0ZXIpLCBxdWV1ZSk7CisgICAgfSwKKwor
ICAgIF9wb3BvdmVyTGluZXNGb3JDb21taXRSYW5nZTogZnVuY3Rpb24odHJhYywgYnJhbmNoLCBm
aXJzdFJldmlzaW9uTnVtYmVyLCBsYXN0UmV2aXNpb25OdW1iZXIpCisgICAgeworICAgICAgICBm
dW5jdGlvbiBsaW5lRm9yQ29tbWl0KHRyYWMsIGNvbW1pdCkKKyAgICAgICAgeworICAgICAgICAg
ICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICAg
ICAgcmVzdWx0LmNsYXNzTmFtZSA9ICJwZW5kaW5nLWNvbW1pdCI7CisKKyAgICAgICAgICAgIHZh
ciBsaW5rRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKKyAgICAgICAgICAg
IGxpbmtFbGVtZW50LmNsYXNzTmFtZSA9ICJyZXZpc2lvbiI7CisgICAgICAgICAgICBsaW5rRWxl
bWVudC5ocmVmID0gdHJhYy5yZXZpc2lvblVSTChjb21taXQucmV2aXNpb25OdW1iZXIpOworICAg
ICAgICAgICAgbGlua0VsZW1lbnQudGFyZ2V0ID0gIl9ibGFuayI7CisgICAgICAgICAgICBsaW5r
RWxlbWVudC50ZXh0Q29udGVudCA9IHRoaXMuX2Zvcm1hdFJldmlzaW9uRm9yRGlzcGxheShjb21t
aXQucmV2aXNpb25OdW1iZXIsIGJyYW5jaC5yZXBvc2l0b3J5KTsKKyAgICAgICAgICAgIHJlc3Vs
dC5hcHBlbmRDaGlsZChsaW5rRWxlbWVudCk7CisKKyAgICAgICAgICAgIHZhciBhdXRob3JFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOworICAgICAgICAgICAgYXV0aG9y
RWxlbWVudC5jbGFzc05hbWUgPSAiYXV0aG9yIjsKKyAgICAgICAgICAgIGF1dGhvckVsZW1lbnQu
dGV4dENvbnRlbnQgPSBjb21taXQuYXV0aG9yOworICAgICAgICAgICAgcmVzdWx0LmFwcGVuZENo
aWxkKGF1dGhvckVsZW1lbnQpOworCisgICAgICAgICAgICB2YXIgdGl0bGVFbGVtZW50ID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOworICAgICAgICAgICAgdGl0bGVFbGVtZW50LmNs
YXNzTmFtZSA9ICJ0aXRsZSI7CisgICAgICAgICAgICB0aXRsZUVsZW1lbnQuaW5uZXJIVE1MID0g
Y29tbWl0LnRpdGxlLmlubmVySFRNTDsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmRDaGlsZCh0
aXRsZUVsZW1lbnQpOworCisgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisK
KyAgICAgICAgY29uc29sZS5hc3NlcnQodHJhYy5pbmRleE9mUmV2aXNpb24odHJhYy5vbGRlc3RS
ZWNvcmRlZFJldmlzaW9uTnVtYmVyKSA8PSB0cmFjLmluZGV4T2ZSZXZpc2lvbihmaXJzdFJldmlz
aW9uTnVtYmVyKSk7CisKKyAgICAgICAgLy8gRklYTUU6IFRvIGJlIDEwMCUgY29ycmVjdCwgd2Ug
c2hvdWxkIGFsc28gZmlsdGVyIG91dCBjaGFuZ2VzIHRoYXQgYXJlIGlnbm9yZWQgYnkKKyAgICAg
ICAgLy8gdGhlIHF1ZXVlLCBzZWUgX3Nob3VsZF9maWxlX3RyaWdnZXJfYnVpbGQgaW4gd2tidWls
ZC5weS4KKyAgICAgICAgdmFyIGNvbW1pdHMgPSB0cmFjLmNvbW1pdHNPbkJyYW5jaEluUmV2aXNp
b25SYW5nZShicmFuY2gubmFtZSwgZmlyc3RSZXZpc2lvbk51bWJlciwgbGFzdFJldmlzaW9uTnVt
YmVyKTsKKyAgICAgICAgcmV0dXJuIGNvbW1pdHMubWFwKGZ1bmN0aW9uKGNvbW1pdCkgeworICAg
ICAgICAgICAgcmV0dXJuIGxpbmVGb3JDb21taXQuY2FsbCh0aGlzLCB0cmFjLCBjb21taXQpOwor
ICAgICAgICB9LCB0aGlzKS5yZXZlcnNlKCk7CisgICAgfSwKKworICAgIF9wcmVzZW50UG9wb3Zl
ckZvclBlbmRpbmdDb21taXRzOiBmdW5jdGlvbihsYXRlc3RJdGVyYXRpb25HZXR0ZXIsIGVsZW1l
bnQsIHBvcG92ZXIsIHF1ZXVlKQorICAgIHsKKyAgICAgICAgdmFyIGxhdGVzdFByb2R1Y3RpdmVJ
dGVyYXRpb24gPSBsYXRlc3RJdGVyYXRpb25HZXR0ZXIoKTsKKyAgICAgICAgaWYgKCFsYXRlc3RQ
cm9kdWN0aXZlSXRlcmF0aW9uKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAg
IHZhciBjb250ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgIGNv
bnRlbnQuY2xhc3NOYW1lID0gImNvbW1pdC1oaXN0b3J5LXBvcG92ZXIiOworCisgICAgICAgIHZh
ciBzaG91bGRBZGREaXZpZGVyID0gZmFsc2U7CisgICAgICAgIHZhciBicmFuY2hlcyA9IHF1ZXVl
LmJyYW5jaGVzOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJyYW5jaGVzLmxlbmd0aDsg
KytpKSB7CisgICAgICAgICAgICB2YXIgYnJhbmNoID0gYnJhbmNoZXNbaV07CisgICAgICAgICAg
ICB2YXIgcmVwb3NpdG9yeSA9IGJyYW5jaC5yZXBvc2l0b3J5OworICAgICAgICAgICAgdmFyIHJl
cG9zaXRvcnlOYW1lID0gcmVwb3NpdG9yeS5uYW1lOworICAgICAgICAgICAgdmFyIHRyYWMgPSBy
ZXBvc2l0b3J5LnRyYWM7CisgICAgICAgICAgICB2YXIgbGF0ZXN0UHJvZHVjdGl2ZVJldmlzaW9u
TnVtYmVyID0gbGF0ZXN0UHJvZHVjdGl2ZUl0ZXJhdGlvbi5yZXZpc2lvbltyZXBvc2l0b3J5TmFt
ZV07CisgICAgICAgICAgICBpZiAoIWxhdGVzdFByb2R1Y3RpdmVSZXZpc2lvbk51bWJlciB8fCAh
dHJhYy5sYXRlc3RSZWNvcmRlZFJldmlzaW9uTnVtYmVyKQorICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICAgICAgdmFyIG5leHRSZXZpc2lvbiA9IHRyYWMubmV4dFJldmlzaW9uKGJy
YW5jaC5uYW1lLCBsYXRlc3RQcm9kdWN0aXZlUmV2aXNpb25OdW1iZXIpOworICAgICAgICAgICAg
aWYgKG5leHRSZXZpc2lvbiA9PT0gVHJhYy5OT19NT1JFX1JFVklTSU9OUykKKyAgICAgICAgICAg
ICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIHZhciBsaW5lcyA9IHRoaXMuX3BvcG92ZXJMaW5l
c0ZvckNvbW1pdFJhbmdlKHRyYWMsIGJyYW5jaCwgbmV4dFJldmlzaW9uLCB0cmFjLmxhdGVzdFJl
Y29yZGVkUmV2aXNpb25OdW1iZXIpOworICAgICAgICAgICAgdmFyIGxlbmd0aCA9IGxpbmVzLmxl
bmd0aDsKKyAgICAgICAgICAgIGlmIChsZW5ndGggJiYgc2hvdWxkQWRkRGl2aWRlcikKKyAgICAg
ICAgICAgICAgICB0aGlzLl9hZGREaXZpZGVyVG9Qb3BvdmVyKGNvbnRlbnQpOworICAgICAgICAg
ICAgZm9yICh2YXIgaiA9IDA7IGogPCBsZW5ndGg7ICsraikKKyAgICAgICAgICAgICAgICBjb250
ZW50LmFwcGVuZENoaWxkKGxpbmVzW2pdKTsKKyAgICAgICAgICAgIHNob3VsZEFkZERpdmlkZXIg
PSBzaG91bGRBZGREaXZpZGVyIHx8IGxlbmd0aCA+IDA7CisgICAgICAgIH0KKworICAgICAgICB2
YXIgcmVjdCA9IERhc2hib2FyZC5SZWN0LnJlY3RGcm9tQ2xpZW50UmVjdChlbGVtZW50LmdldEJv
dW5kaW5nQ2xpZW50UmVjdCgpKTsKKyAgICAgICAgcG9wb3Zlci5jb250ZW50ID0gY29udGVudDsK
KyAgICAgICAgcG9wb3Zlci5wcmVzZW50KHJlY3QsIFtEYXNoYm9hcmQuUmVjdEVkZ2UuTUlOX1ks
IERhc2hib2FyZC5SZWN0RWRnZS5NQVhfWSwgRGFzaGJvYXJkLlJlY3RFZGdlLk1BWF9YLCBEYXNo
Ym9hcmQuUmVjdEVkZ2UuTUlOX1hdKTsKKworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9LAor
CisgICAgX2Zvcm1hdFJldmlzaW9uRm9yRGlzcGxheTogZnVuY3Rpb24ocmV2aXNpb24sIHJlcG9z
aXRvcnkpCisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydChyZXBvc2l0b3J5LmlzU1ZOIHx8
IHJlcG9zaXRvcnkuaXNHaXQsICJTaG91bGQgbm90IGdldCBoZXJlOyAiICsgcmVwb3NpdG9yeS5u
YW1lICsgIiBkaWQgbm90IHNwZWNpZnkgYSBrbm93biBWQ1MgdHlwZS4iKTsKKyAgICAgICAgaWYg
KHJlcG9zaXRvcnkuaXNTVk4pCisgICAgICAgICAgICByZXR1cm4gInIiICsgcmV2aXNpb247Cisg
ICAgICAgIC8vIFRydW5jYXRpbmcgZm9yIGRpc3BsYXkuIEdpdCB0cmFkaXRpb25hbGx5IHVzZXMg
c2V2ZW4gY2hhcmFjdGVycyBmb3IgYSBzaG9ydCBoYXNoLgorICAgICAgICByZXR1cm4gcmV2aXNp
b24uc3Vic3RyKDAsIDcpOwogICAgIH0KIH07CkluZGV4OiBUb29scy9CdWlsZFNsYXZlU3VwcG9y
dC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQvU3R5bGVzL01h
aW4uY3NzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtp
dC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TdHlsZXMvTWFpbi5jc3MJKHJldmlz
aW9uIDIwMDg3MykKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmct
Y29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TdHlsZXMvTWFpbi5jc3MJKHdvcmtpbmcgY29w
eSkKQEAgLTM4LDcgKzM4LDcgQEAgYSB7CiAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogfQog
Ci1hOmhvdmVyIHsKK2E6aG92ZXI6bGluayB7CiAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxp
bmU7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>