<?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>173036</bug_id>
          
          <creation_ts>2017-06-06 14:48:06 -0700</creation_ts>
          <short_desc>Update the design of the WebKit Feature Status page</short_desc>
          <delta_ts>2017-06-07 09:04:42 -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>WebKit Website</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Davis">jond</reporter>
          <assigned_to name="Jon Davis">jond</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jond</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1316248</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Davis">jond</who>
    <bug_when>2017-06-06 14:48:06 -0700</bug_when>
    <thetext>Update the design of the feature status page to better handle different screen sizes and improve the color scheme of status labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316256</commentid>
    <comment_count>1</comment_count>
      <attachid>312126</attachid>
    <who name="Jon Davis">jond</who>
    <bug_when>2017-06-06 14:57:20 -0700</bug_when>
    <thetext>Created attachment 312126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316267</commentid>
    <comment_count>2</comment_count>
      <attachid>312126</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-06 15:12:59 -0700</bug_when>
    <thetext>Comment on attachment 312126
Patch

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

&gt; Websites/webkit.org/wp-content/themes/webkit/status.php:573
&gt; +            console.log(specification);

Probably don&apos;t want this log here.

&gt; Websites/webkit.org/wp-content/themes/webkit/status.php:629
&gt; +                link.href = &quot;#feature-&quot; + feature.name.toLowerCase().replace(/ /g, &apos;-&apos;);

How does navigating to this link interact with search?

&gt; Websites/webkit.org/wp-content/themes/webkit/status.php:641
&gt; +            moreInfoList.className = &apos;moreinfo&apos;

semicolon at the end

&gt; Websites/webkit.org/wp-content/themes/webkit/status.php:654
&gt; +                li.className = &quot;contact&quot;

semicolon

&gt; Websites/webkit.org/wp-content/themes/webkit/status.php:739
&gt; +            label.className = &quot;filter-status &quot; + statusId

semicolon

&gt; Websites/webkit.org/wp-content/themes/webkit/status.php:802
&gt; +        //updateSpecsState();

Remove commented code.

&gt; Websites/webkit.org/wp-content/themes/webkit/status.php:857
&gt; +        
&gt; +        

Blank lines.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316355</commentid>
    <comment_count>3</comment_count>
      <attachid>312153</attachid>
    <who name="Jon Davis">jond</who>
    <bug_when>2017-06-06 18:56:33 -0700</bug_when>
    <thetext>Created attachment 312153
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316357</commentid>
    <comment_count>4</comment_count>
      <attachid>312153</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-06 19:08:55 -0700</bug_when>
    <thetext>Comment on attachment 312153
Patch

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

&gt; Websites/webkit.org/wp-content/themes/webkit/status.php:108
&gt; +    color: #ffffff;

This can be #fff or &apos;white&apos;.

&gt; Websites/webkit.org/wp-content/themes/webkit/status.php:123
&gt; +    border-color: #999999;

#999

&gt; Websites/webkit.org/wp-content/themes/webkit/status.php:266
&gt; +    color: #999999;

#999

&gt; Websites/webkit.org/wp-content/themes/webkit/status.php:287
&gt; +    background: #ffffff;

#fff or white

&gt; Websites/webkit.org/wp-content/themes/webkit/status.php:322
&gt; +    color: #666666;

#666</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316497</commentid>
    <comment_count>5</comment_count>
      <attachid>312153</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-07 09:04:40 -0700</bug_when>
    <thetext>Comment on attachment 312153
Patch

Clearing flags on attachment: 312153

Committed r217885: &lt;http://trac.webkit.org/changeset/217885&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316498</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-07 09:04:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312126</attachid>
            <date>2017-06-06 14:57:20 -0700</date>
            <delta_ts>2017-06-06 18:56:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173036-20170606145718.patch</filename>
            <type>text/plain</type>
            <size>38607</size>
            <attacher name="Jon Davis">jond</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3ODU4CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQu
b3JnL0NoYW5nZUxvZyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCmluZGV4IDg5ODll
NmQxMjEzMWQ5Yjg2ODhjNmUyODRiYzcwYzM3MTU3YmY5ZmMuLjI3OTY0ZjEwYzYyNGRmOTA3MGNl
Y2ZmMjNhOGUwOGQ0YmZjZGFjYTggMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hh
bmdlTG9nCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTctMDYtMDYgIEpvbiBEYXZpcyAgPGpvbmRAYXBwbGUuY29tPgorCisgICAgICAgIFVw
ZGF0ZSB0aGUgZGVzaWduIG9mIHRoZSBXZWJLaXQgRmVhdHVyZSBTdGF0dXMgcGFnZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczMDM2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3cC1jb250ZW50L3Ro
ZW1lcy93ZWJraXQvZnVuY3Rpb25zLnBocDogRml4ZWQgYSBiYWQgZnVuY3Rpb24gY2FsbC4KKyAg
ICAgICAgKiB3cC1jb250ZW50L3RoZW1lcy93ZWJraXQvc3RhdHVzLnBocDogSW1wbGVtZW50ZWQg
cmVkZXNpZ24gd2l0aCBzYXZlZCBzZWFyY2guCisgICAgICAgICogd3AtY29udGVudC90aGVtZXMv
d2Via2l0L3N0eWxlLmNzczoKKyAgICAgICAgKC5mZWF0dXJlLWhlYWRlcjphZnRlcik6CisgICAg
ICAgIChAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkyMHB4KSk6CisgICAgICAg
IChAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSk6CisgICAgICAgICgu
ZmVhdHVyZS1maWx0ZXJzKTogRGVsZXRlZC4KKyAgICAgICAgKC5mZWF0dXJlLWZpbHRlcnMub3Bl
bmVkKTogRGVsZXRlZC4KKyAgICAgICAgKC5mZWF0dXJlLWZpbHRlcnM6YWZ0ZXIpOiBEZWxldGVk
LgorICAgICAgICAoLmZlYXR1cmUtZmlsdGVycy5vcGVuZWQ6YWZ0ZXIpOiBEZWxldGVkLgorCiAy
MDE3LTA2LTA2ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAg
ICAgQWRkIGEgV2ViR1BVIHRlc3QgdG8gdGhlIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyB0ZXN0IHBh
Z2UKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Vi
a2l0L2Z1bmN0aW9ucy5waHAgYi9XZWJzaXRlcy93ZWJraXQub3JnL3dwLWNvbnRlbnQvdGhlbWVz
L3dlYmtpdC9mdW5jdGlvbnMucGhwCmluZGV4IDI1ZmZjZWYyZTJhMTU3MzdhZTczYTA0OGE0YzEw
ZTQxZmJhNmYyYzIuLmE3YjIyMWVlOWExNDBhNGY3ZmMzZDdiOGZmZGI0ODExZWVhNjRhNGEgMTAw
NjQ0Ci0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0L2Z1
bmN0aW9ucy5waHAKKysrIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93
ZWJraXQvZnVuY3Rpb25zLnBocApAQCAtMjkwLDcgKzI5MCw3IEBAIGZ1bmN0aW9uIGh0bWxfc2Vs
ZWN0X29wdGlvbnMoYXJyYXkgJGxpc3QsICRzZWxlY3RlZCA9IG51bGwsICR2YWx1ZXMgPSBmYWxz
ZSwgJGFwCiAgICAgICAgICAgICBpZiAoIGlzX2FycmF5KCR0ZXh0KSApIHsKICAgICAgICAgICAg
ICAgICAkbGFiZWwgPSAkdmFsdWU7CiAgICAgICAgICAgICAgICAgJF8gLj0gJzxvcHRncm91cCBs
YWJlbD0iJyAuIGVzY19hdHRyKCRsYWJlbCkgLiAnIj4nOwotICAgICAgICAgICAgICAgICRfIC49
IHNlbGY6Om1lbnVvcHRpb25zKCR0ZXh0LCAkc2VsZWN0ZWQsICR2YWx1ZXMpOworICAgICAgICAg
ICAgICAgICRfIC49IGh0bWxfc2VsZWN0X29wdGlvbnMoJHRleHQsICRzZWxlY3RlZCwgJHZhbHVl
cyk7CiAgICAgICAgICAgICAgICAgJF8gLj0gJzwvb3B0Z3JvdXA+JzsKICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgICAgIH0gZWxzZSAkXyAuPSAiPG9wdGlvbiR2YWx1ZV9hdHRy
JHNlbGVjdGVkX2F0dHI+JHRleHQ8L29wdGlvbj4iOwpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93ZWJraXQvc3RhdHVzLnBocCBiL1dlYnNpdGVzL3dl
YmtpdC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0L3N0YXR1cy5waHAKaW5kZXggYTYyMDc3
YTRjYzZjOGU0ZDUwZDIzODFhYjU1N2Y0MjViZjUzMzhlOS4uOGYwMGI5MTBkMTA4NWRlZGZiN2Q5
YTA3YzEyYWJlYjhjYTk4NTIwNCAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy93cC1j
b250ZW50L3RoZW1lcy93ZWJraXQvc3RhdHVzLnBocAorKysgYi9XZWJzaXRlcy93ZWJraXQub3Jn
L3dwLWNvbnRlbnQvdGhlbWVzL3dlYmtpdC9zdGF0dXMucGhwCkBAIC0zNCwzNDkgKzM0LDQxOSBA
QCB2YXIgbG9hZFdlYkNvcmVGZWF0dXJlcyA9IHhoclByb21pc2UobmV3IFVSTCgiL3JlcG9zaXRv
cnkvd2Via2l0L3RydW5rL1NvdXJjZS9XZQogPC9zY3JpcHQ+CiAKIDxzdHlsZT4KLS5wYWdlIHsK
LSAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7Ci0gICAgZGlzcGxheTogZmxleDsKLSAgICAtd2Vi
a2l0LWZsZXgtd3JhcDogd3JhcDsKLSAgICBmbGV4LXdyYXA6IHdyYXA7Ci0gICAgLXdlYmtpdC1q
dXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47Ci0gICAganVzdGlmeS1jb250ZW50OiBzcGFj
ZS1iZXR3ZWVuOwotICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ci0gICAgd2lkdGg6IDEwMCU7
Ci19CiAKIC5wYWdlIGgxIHsKICAgICBmb250LXNpemU6IDQuMnJlbTsKICAgICBmb250LXdlaWdo
dDogMjAwOwogICAgIGxpbmUtaGVpZ2h0OiA2cmVtOwogICAgIGNvbG9yOiBibGFjazsKLSAgICB0
ZXh0LWFsaWduOiBsZWZ0OwogICAgIG1hcmdpbjogM3JlbSBhdXRvOwogICAgIHdpZHRoOiAxMDAl
OworICAgIHRleHQtYWxpZ246IGNlbnRlcjsKIH0KIAogLnBhZ2UgaDEgYSB7CiAgICAgY29sb3I6
ICM0NDQ0NDQ7Cit9ICAgIAorCisuZmVhdHVyZS1maWx0ZXJzIHsKKyAgICBiYWNrZ3JvdW5kLWNv
bG9yOiAjZmZmZmZmOworICAgIHdpZHRoOiAxMDB2dzsKKyAgICBsZWZ0OiA1MCU7CisgICAgcG9z
aXRpb246IHJlbGF0aXZlOworICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MHZ3LCAwKTsKKyAg
ICBib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIG1hcmdpbi1ib3R0b206IDNyZW07CisgICAg
Ym9yZGVyOiAxcHggc29saWQgI0RERERERDsKKyAgICBib3JkZXItbGVmdDogbm9uZTsKKyAgICBi
b3JkZXItcmlnaHQ6IG5vbmU7CiB9CiAKLS5wYWdlIGgyIHsKLSAgICBmb250LXdlaWdodDogMjAw
OwotICAgIGZvbnQtc2l6ZTogM3JlbTsKKy5mZWF0dXJlLWZpbHRlcnMgZm9ybSB7CisgICAgcGFk
ZGluZy10b3A6IDNyZW07CisgICAgcGFkZGluZy1ib3R0b206IDNyZW07CisgICAgZGlzcGxheTog
ZmxleDsKKyAgICBmbGV4LXdyYXA6IHdyYXA7CiB9CiAKLS5wYWdlIGgzIHsKLSAgICBmb250LXdl
aWdodDogNDAwOwotICAgIGZvbnQtc2l6ZTogMi41cmVtOworLmZlYXR1cmUtZmlsdGVycyBpbnB1
dFt0eXBlPWNoZWNrYm94XSB7CiB9CiAKLS5wYWdlIHAgewotICAgIG1hcmdpbi1ib3R0b206IDNy
ZW07CitpbnB1dFt0eXBlPXRleHRdLnNlYXJjaC1pbnB1dCB7CisgICAgbWFyZ2luLWJvdHRvbTog
MXJlbTsKKyAgICB3aWR0aDogMTAwJTsKKyAgICBmbGV4OiAxOwogfQogCi0jZmVhdHVyZS1saXN0
IHsKKy5mZWF0dXJlLWZpbHRlcnMgbGkgewogICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKLSAg
ICB3aWR0aDogNjYlOwotICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKIH0KIAotLyogSGlkZSB0
aGUgaW50ZXJuYWwgbGlua3Mgb24gc2VhcmNoIHNpbmNlIHRoZXkgYXJlIHVubGlrZWx5IHRvIHdv
cmsuICovCi0jc2VhcmNoOnJlcXVpcmVkOnZhbGlkICsgKiAgLmludGVybmFsLXJlZmVyZW5jZSB7
Ci0gICAgZGlzcGxheTogbm9uZTsKKy5mZWF0dXJlLXN0YXR1cyBsYWJlbCwKKy5mZWF0dXJlLWZp
bHRlcnMgbGFiZWwgeworICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7CisgICAgcGFkZGluZzogMC41
cmVtIDFyZW07CisgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKKyAgICBib3JkZXItd2lkdGg6IDFw
eDsKKyAgICBib3JkZXItcmFkaXVzOiAzcHg7CisgICAgY3Vyc29yOiBwb2ludGVyOworICAgIGZs
b2F0OiByaWdodDsKKyAgICBsaW5lLWhlaWdodDogMTsKKyAgICBmb250LXNpemU6IDEuNnJlbTsK
IH0KIAotLmZlYXR1cmUtaGVhZGVyIHsKLSAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7Ci0gICAg
ZGlzcGxheTogZmxleDsKLSAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiByb3c7Ci0gICAgZmxl
eC1kaXJlY3Rpb246IHJvdzsKKy5zdGF0dXMtZmlsdGVycyBsYWJlbCB7CisgICAgbWFyZ2luLWxl
ZnQ6IDFyZW07CiB9Ci0uZmVhdHVyZS1oZWFkZXIgPiBoMzpmaXJzdC1vZi10eXBlIHsKLSAgICAt
d2Via2l0LWZsZXgtZ3JvdzogMTsKKworLnN0YXR1cy1maWx0ZXJzIHsKKyAgICBsaXN0LXN0eWxl
OiBub25lOworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICB0ZXh0LWFsaWduOiByaWdo
dDsKKyAgICBmbGV4OiAyOwogICAgIGZsZXgtZ3JvdzogMTsKLSAgICBtYXJnaW46IDA7CiB9CiAK
LXVsLmZlYXR1cmVzIHsKLSAgICBwYWRkaW5nOiAwOworLmZpbHRlci10b2dnbGU6Y2hlY2tlZCAr
IC5maWx0ZXItc3RhdHVzIHsKKyAgICBjb2xvcjogI2ZmZmZmZjsKIH0KIAotLmZlYXR1cmVzIC5m
ZWF0dXJlIHsKLSAgICBwb3NpdGlvbjogcmVsYXRpdmU7Ci0gICAgZGlzcGxheTogYmxvY2s7Ci0g
ICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsKLSAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRk
ZGRkOwotICAgIGJvcmRlci1yYWRpdXM6IDNweDsKLSAgICBwYWRkaW5nOiAxZW07Ci0gICAgbWFy
Z2luOiAxZW0gMCAhaW1wb3J0YW50OwotICAgIG1heC1oZWlnaHQ6IGludHJpbnNpYzsKLSAgICBt
aW4taGVpZ2h0OiAzcmVtOwotICAgIG92ZXJmbG93LXk6IGhpZGRlbjsKLSAgICBjdXJzb3I6IHBv
aW50ZXI7Ci0gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFz
ZS1pbjsKLSAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWlu
OwotICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluOworLmZpbHRl
ci1zdGF0dXMsCisuZmVhdHVyZS1zdGF0dXMgeworICAgIGNvbG9yOiAjOTk5OTk5OworICAgIGJv
cmRlci1jb2xvcjogIzk5OTk5OTsKIH0KIAotLmZlYXR1cmVzIC5mZWF0dXJlOmhvdmVyIHsKLSAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKKy5mZWF0dXJlLXN0YXR1cyBhIHsKKyAgICBjb2xv
cjogaW5oZXJpdDsKIH0KIAotLmZlYXR1cmUub3BlbmVkIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9y
OiB3aGl0ZTsKLSAgICBtYXgtaGVpZ2h0OiAxMjByZW07CisuZmlsdGVyLXN0YXR1cywKKy5zdGF0
dXMtbWFya2VyIHsKKyAgICBib3JkZXItY29sb3I6ICM5OTk5OTk7Cit9CisuZmlsdGVyLXRvZ2ds
ZTpjaGVja2VkICsgLmZpbHRlci1zdGF0dXMgeworICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk5
OTk7CiB9CiAKLS5mZWF0dXJlLWRlc2NyaXB0aW9uICsgKiwKLS5mZWF0dXJlLWRlc2NyaXB0aW9u
IC5mZWF0dXJlLWRlc2MsCi0uZmVhdHVyZS1kZXNjcmlwdGlvbiAuY29tbWVudCB7Ci0gICAgZGlz
cGxheTogbm9uZTsKLSAgICBtYXJnaW46IDA7Cisuc3VwcG9ydGVkIHsKKyAgICBjb2xvcjogIzMz
OTkwMDsKKyAgICBib3JkZXItY29sb3I6ICMzMzk5MDA7CiB9CiAKLS5mZWF0dXJlLm9wZW5lZCAu
ZmVhdHVyZS1kZXNjcmlwdGlvbiArICosCi0uZmVhdHVyZS5vcGVuZWQgLmZlYXR1cmUtZGVzYywK
LS5mZWF0dXJlLm9wZW5lZCAuZmVhdHVyZS1kZXNjcmlwdGlvbiAuY29tbWVudCB7Ci0gICAgZGlz
cGxheTogYmxvY2s7Ci0gICAgbWFyZ2luLWJvdHRvbTogM3JlbTsKKy5maWx0ZXItdG9nZ2xlOmNo
ZWNrZWQgKyAuc3VwcG9ydGVkIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM5OTAwOwogfQog
Ci0uZmVhdHVyZS5vcGVuZWQgLmZlYXR1cmUtZGVzY3JpcHRpb24gKyAqOmxhc3QtY2hpbGQgewot
ICAgIG1hcmdpbi1ib3R0b206IDA7Cisuc3VwcG9ydGVkLWluLXByZXZpZXcgeworICAgIGNvbG9y
OiAjNjYxNDlmOworICAgIGJvcmRlci1jb2xvcjogIzY2MTQ5ZjsKIH0KIAotLnN1Yi1mZWF0dXJl
cyB7Ci0gICAgZm9udC1zaXplOiAxLjVyZW07Ci0gICAgY29sb3I6ICM1NTU7CisuZmlsdGVyLXRv
Z2dsZTpjaGVja2VkICsgLnN1cHBvcnRlZC1pbi1wcmV2aWV3IHsKKyAgICBiYWNrZ3JvdW5kLWNv
bG9yOiAjNjYxNDlmOwogfQogCi0uc3ViLWZlYXR1cmVzIHVsIHsKLSAgICBsaXN0LXN0eWxlOiBu
b25lOwotICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKLSAgICBwYWRkaW5nOiAwOwotICAgIG1h
cmdpbjogMDsKKy5pbi1kZXZlbG9wbWVudCB7CisgICAgY29sb3I6ICNmNDZjMGU7CisgICAgYm9y
ZGVyLWNvbG9yOiAjZjQ2YzBlOworfQorLmZpbHRlci10b2dnbGU6Y2hlY2tlZCArIC5pbi1kZXZl
bG9wbWVudCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NmMwZTsKIH0KIAotLnN1Yi1mZWF0
dXJlcyBsaSB7Ci0gICAgZGlzcGxheTogaW5saW5lOworLm5vLWFjdGl2ZS1kZXZlbG9wbWVudCB7
CisgICAgY29sb3I6ICM1ODU4RDY7CisgICAgYm9yZGVyLWNvbG9yOiAjNTg1OEQ2OwogfQogCi0u
c3ViLWZlYXR1cmVzIGxpOmFmdGVyIHsKLSAgICBjb250ZW50OiAiLCAiOworLmZpbHRlci10b2dn
bGU6Y2hlY2tlZCArIC5uby1hY3RpdmUtZGV2ZWxvcG1lbnQgeworICAgIGJhY2tncm91bmQtY29s
b3I6ICM1ODU4RDY7CiB9CiAKLS5zdWItZmVhdHVyZXMgbGk6bGFzdC1jaGlsZDphZnRlciB7Ci0g
ICAgY29udGVudDogIiI7CisucGFydGlhbGx5LXN1cHBvcnRlZCAgeworICAgIGNvbG9yOiAjNTQ4
YzhjOworICAgIGJvcmRlci1jb2xvcjogIzU0OGM4YzsKIH0KIAotLmZlYXR1cmUtaGVhZGVyIHsK
LSAgICBwb3NpdGlvbjogcmVsYXRpdmU7Ci0gICAgcGFkZGluZy1yaWdodDogM3JlbTsKKy5maWx0
ZXItdG9nZ2xlOmNoZWNrZWQgKyAucGFydGlhbGx5LXN1cHBvcnRlZCB7CisgICAgYmFja2dyb3Vu
ZC1jb2xvcjogIzU0OGM4YzsKIH0KIAotLmZlYXR1cmUtaGVhZGVyIGgzIC5pbnRlcm5hbC1yZWZl
cmVuY2UgYSB7Ci0gICAgY29sb3I6ICM5OTk5OTk7Ci0gICAgdGV4dC1kZWNvcmF0aW9uOiBub25l
OwotICAgIHBhZGRpbmctbGVmdDogMC41ZW07CisucHJvdG90eXBpbmcgeworICAgIGNvbG9yOiAj
MDA3QUZGOworICAgIGJvcmRlci1jb2xvcjogIzAwN0FGRjsKIH0KIAotLmZlYXR1cmUtaGVhZGVy
IGgzIGEgewotICAgIGNvbG9yOiAjNDQ0OworLmZpbHRlci10b2dnbGU6Y2hlY2tlZCArIC5wcm90
b3R5cGluZyB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN0FGRjsKIH0KIAotLmZlYXR1cmUt
aGVhZGVyIGgzIC5pbnRlcm5hbC1yZWZlcmVuY2UgYTpob3ZlciB7Ci0gICAgY29sb3I6IGluaGVy
aXQ7Ci0gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CisudW5kZXItY29uc2lkZXJhdGlv
biB7CisgICAgY29sb3I6ICNjMjc4NzA7CisgICAgYm9yZGVyLWNvbG9yOiAjYzI3ODcwOworfQor
CisuZmlsdGVyLXRvZ2dsZTpjaGVja2VkICsgLnVuZGVyLWNvbnNpZGVyYXRpb24geworICAgIGJh
Y2tncm91bmQtY29sb3I6ICNjMjc4NzA7CiB9CiAKIC5mZWF0dXJlLmlzLWhpZGRlbiB7CiAgICAg
ZGlzcGxheTogbm9uZTsKIH0KIAotdWwuZmVhdHVyZS1kZXRhaWxzIHsKLSAgICBtYXJnaW46IDA7
Ci19Ci0uZmVhdHVyZS1zdGF0dXNJdGVtIHsKLSAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtOwotfQor
LmZlYXR1cmVzIHsKKyAgICBtYXgtd2lkdGg6IDkyMHB4OworICAgIG1hcmdpbjogMCBhdXRvIDNy
ZW07CisgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNGU0ZTQ7CisgICAgCit9IAogCi0u
ZmVhdHVyZS1zdGF0dXMgewotICAgIGZvbnQtc2l6ZTogMnJlbTsKLSAgICBkaXNwbGF5OiBpbmxp
bmUtYmxvY2s7Ci0gICAgcG9zaXRpb246IHJlbGF0aXZlOwotICAgIG1pbi13aWR0aDogNWVtOwor
LmZlYXR1cmUtY291bnQgeworICAgIG1heC13aWR0aDogOTIwcHg7CisgICAgbWFyZ2luOiAwIGF1
dG8gM3JlbTsKKyAgICAKICAgICB0ZXh0LWFsaWduOiByaWdodDsKKyAgICBjb2xvcjogIzk5OTsK
IH0KIAotLmZlYXR1cmUtc3RhdHVzLAotLmZlYXR1cmUtc3RhdHVzIGEgewotICAgIGNvbG9yOiAj
OTk5OTk5OworLmZlYXR1cmUtY291bnQgcCB7CisgICAgbWFyZ2luOiAwOwogfQogCi0uZmVhdHVy
ZSAuc3RhdHVzLW1hcmtlciB7Ci0gICAgd2lkdGg6IDA7Ci0gICAgaGVpZ2h0OiAwOwotICAgIHBv
c2l0aW9uOiBhYnNvbHV0ZTsKLSAgICB0b3A6IDA7Ci0gICAgbGVmdDogMDsKKy5mZWF0dXJlIHsK
KyAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OworICAgIGJvcmRlci13aWR0aDogMXB4Owog
ICAgIGJvcmRlci1zdHlsZTogc29saWQ7Ci0gICAgYm9yZGVyLXdpZHRoOiAyMHB4IDIwcHggMCAw
OwotICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQg
dHJhbnNwYXJlbnQ7CisgICAgYm9yZGVyLXRvcC1jb2xvcjogI2U0ZTRlNDsKKyAgICBwYWRkaW5n
OiAwLjVyZW07CisgICAgbGluZS1oZWlnaHQ6IDEuNjE4OworICAgIC13ZWJraXQtdHJhbnNpdGlv
bjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2Utb3V0OworICAgIHRyYW5zaXRpb246IGJhY2tn
cm91bmQtY29sb3IgMC4zcyBlYXNlLW91dDsKIH0KIAotI3N0YXR1cy1maWx0ZXJzIC5zdXBwb3J0
ZWQsCi0uZmVhdHVyZS1zdGF0dXMuc3VwcG9ydGVkLAotLmZlYXR1cmUtc3RhdHVzLnN1cHBvcnRl
ZCBhIHsKLSAgICBjb2xvcjogIzMzOTkwMDsKKy5mZWF0dXJlLWhlYWRlciB7CisgICAgZm9udC13
ZWlnaHQ6IDQwMDsKKyAgICBmb250LXNpemU6IDIuNXJlbTsKKyAgICBkaXNwbGF5OiBmbGV4Owog
fQogCi0uc3RhdHVzLW1hcmtlci5zdXBwb3J0ZWQgewotICAgIGJvcmRlci1jb2xvcjogIzMzOTkw
MCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsKKy5mZWF0dXJlLWhlYWRlciBo
MyB7CisgICAgZmxleDogMTsKKyAgICBmbGV4LWdyb3c6IDI7CisgICAgcGFkZGluZy1yaWdodDog
MXJlbTsKKyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogfQogCi0jc3RhdHVzLWZpbHRlcnMg
LmluLWRldmVsb3BtZW50LAotLmZlYXR1cmUtc3RhdHVzLmluLWRldmVsb3BtZW50LAotLmZlYXR1
cmUtc3RhdHVzLmluLWRldmVsb3BtZW50IGEgewotICAgIGNvbG9yOiAjZjQ2YzBlOworLmZlYXR1
cmUtaGVhZGVyIGgzIGEgeyAKKyAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOwogfQogCi0uc3RhdHVz
LW1hcmtlci5pbi1kZXZlbG9wbWVudCB7Ci0gICAgYm9yZGVyLWNvbG9yOiAjZjQ2YzBlIHRyYW5z
cGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OworLmZlYXR1cmUtaGVhZGVyIC5mZWF0dXJl
LXN0YXR1cyB7CisgICAgZmxleDogMjsKKyAgICB0ZXh0LWFsaWduOiByaWdodDsKKyAgICBmb250
LXNpemU6IDJyZW07CiB9CiAKLSNzdGF0dXMtZmlsdGVycyAubm8tYWN0aXZlLWRldmVsb3BtZW50
LAotLmZlYXR1cmUtc3RhdHVzLm5vLWFjdGl2ZS1kZXZlbG9wbWVudCwKLS5mZWF0dXJlLXN0YXR1
cy5uby1hY3RpdmUtZGV2ZWxvcG1lbnQgYSB7Ci0gICAgY29sb3I6ICM1ODU4RDY7CisuZmVhdHVy
ZS1jb250YWluZXIuc3RhdHVzLW1hcmtlciB7CisgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDNweDsK
KyAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7CisgICAgcGFkZGluZzogMC41cmVtIDAgMC41
cmVtIDFyZW07CiB9CiAKLS5zdGF0dXMtbWFya2VyLm5vLWFjdGl2ZS1kZXZlbG9wbWVudCB7Ci0g
ICAgYm9yZGVyLWNvbG9yOiAjNTg1OEQ2IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFy
ZW50OworLmZlYXR1cmUtaGVhZGVyIGFbbmFtZV0geworICAgIGNvbG9yOiAjNDQ0NDQ0OwogfQog
Ci0jc3RhdHVzLWZpbHRlcnMgLnBhcnRpYWwtc3VwcG9ydCwKLS5mZWF0dXJlLXN0YXR1cy5wYXJ0
aWFsLXN1cHBvcnQsCi0uZmVhdHVyZS1zdGF0dXMucGFydGlhbC1zdXBwb3J0IGEgewotICAgIGNv
bG9yOiAjNTQ4YzhjOworLmZlYXR1cmUtaGVhZGVyIC5pbnRlcm5hbC1yZWZlcmVuY2UgeworICAg
IGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBmb250LXNpemU6IDEuNnJlbTsKKyAgICBmb250
LXdlaWdodDogNjAwOworICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiB9Ci0KLS5zdGF0dXMtbWFy
a2VyLnBhcnRpYWwtc3VwcG9ydCB7Ci0gICAgYm9yZGVyLWNvbG9yOiAjNTQ4YzhjIHRyYW5zcGFy
ZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OworLmZlYXR1cmUtaGVhZGVyIC5pbnRlcm5hbC1y
ZWZlcmVuY2UgYSB7CisgICAgY29sb3I6ICM5OTk5OTk7CiB9CiAKLSNzdGF0dXMtZmlsdGVycyAu
cHJvdG90eXBpbmcsCi0uZmVhdHVyZS1zdGF0dXMucHJvdG90eXBpbmcsCi0uZmVhdHVyZS1zdGF0
dXMucHJvdG90eXBpbmcgYSB7Ci0gICAgY29sb3I6ICMwMDdBRkY7CisuZmVhdHVyZS1oZWFkZXI6
YWZ0ZXIgeworICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICB3aWR0aDogMnJlbTsKKyAgICBo
ZWlnaHQ6IDJyZW07CisgICAgcmlnaHQ6IDA7CisgICAgdG9wOiAwLjVyZW07CisgICAgbWFyZ2lu
LWxlZnQ6IDFyZW07CisgICAgLXdlYmtpdC10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNl
LW91dDsKKyAgICAtbW96LXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0OworICAg
IHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0OwogfQogCi0uc3RhdHVzLW1hcmtl
ci5wcm90b3R5cGluZyB7Ci0gICAgYm9yZGVyLWNvbG9yOiAjMDA3QUZGIHRyYW5zcGFyZW50IHRy
YW5zcGFyZW50IHRyYW5zcGFyZW50OworLmZlYXR1cmUtZGV0YWlscyB7CisgICAgZGlzcGxheTog
bm9uZTsKKyAgICB3aWR0aDogNTAlOwogfQogCi0KLSNzdGF0dXMtZmlsdGVycyAudW5kZXItY29u
c2lkZXJhdGlvbiwKLS5mZWF0dXJlLXN0YXR1cy51bmRlci1jb25zaWRlcmF0aW9uLAotLmZlYXR1
cmUtc3RhdHVzLnVuZGVyLWNvbnNpZGVyYXRpb24gYSB7Ci0gICAgY29sb3I6ICNjYzlkMDA7Cisu
ZmVhdHVyZS5vcGVuZWQgeworICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7CisgICAgYm9yZGVyLWxl
ZnQtY29sb3I6ICNlNGU0ZTQ7CisgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZTRlNGU0OwogfQog
Ci0uc3RhdHVzLW1hcmtlci51bmRlci1jb25zaWRlcmF0aW9uIHsKLSAgICBib3JkZXItY29sb3I6
ICNGRkM1MDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CisuZmVhdHVyZS5v
cGVuZWQgLmZlYXR1cmUtZGV0YWlscyB7CisgICAgZGlzcGxheTogYmxvY2s7CiB9CiAKLS5mZWF0
dXJlLXN0YXR1cy5yZW1vdmVkLAotLmZlYXR1cmUtc3RhdHVzLnJlbW92ZWQgYSB7CisuZmVhdHVy
ZSBoNCB7CiAgICAgY29sb3I6ICM5OTk5OTk7CisgICAgZm9udC13ZWlnaHQ6IDYwMDsKKyAgICBt
YXJnaW4tdG9wOiAxcmVtOworICAgIG1hcmdpbi1ib3R0b206IDA7CiB9CiAKLS5zdGF0dXMtbWFy
a2VyLnJlbW92ZWQgewotICAgIGJvcmRlci1jb2xvcjogIzk5OTk5OSB0cmFuc3BhcmVudCB0cmFu
c3BhcmVudCB0cmFuc3BhcmVudDsKKy5mZWF0dXJlIC5tb3JlaW5mbyB7CisgICAgbGlzdC1zdHls
ZTogbm9uZTsKKyAgICBkaXNwbGF5OiBmbGV4OworICAgIHdpZHRoOiAxMDAlOwogfQogCi0uZmVh
dHVyZS1maWx0ZXJzIHsKLSAgICBwb3NpdGlvbjogcmVsYXRpdmU7Ci0gICAgdG9wOiAwOwotICAg
IGRpc3BsYXk6IGlubGluZS1ibG9jazsKKy5mZWF0dXJlIC5tb3JlaW5mbyBsaSB7CisgICAgZmxl
eC1ncm93OiAxOworfQogCi0gICAgd2lkdGg6IC13ZWJraXQtY2FsYygzMy4zMyUgLSAzcmVtKTsK
LSAgICB3aWR0aDogLW1vei1jYWxjKDMzLjMzJSAtIDNyZW0pOwotICAgIHdpZHRoOiBjYWxjKDMz
LjMzJSAtIDNyZW0pOwotICAgIG1hcmdpbi1yaWdodDogM3JlbTsKLSAgICBmb250LXNpemU6IDJy
ZW07CisuZmVhdHVyZSAubW9yZWluZm8gLmNvbnRhY3QgeworICAgIHRleHQtYWxpZ246IHJpZ2h0
OwogfQogCi0jc2VhcmNoIHsKLSAgICBmb250LXNpemU6IDJyZW07Ci0gICAgcGFkZGluZzogMXJl
bTsKLSAgICBib3JkZXItcmFkaXVzOiAzcHg7Ci0gICAgYm9yZGVyOiAxcHggc29saWQgI2NjY2Nj
YzsKLSAgICB3aWR0aDogMTAwJTsKLSAgICBtYXJnaW4tdG9wOiAxLjVyZW07Ci0gICAgYm94LXNp
emluZzogYm9yZGVyLWJveDsKKy5mZWF0dXJlIC5mZWF0dXJlLWRlc2MgeworICAgIGNvbG9yOiAj
NDQ0NDQ0OwogfQogCi0uZmVhdHVyZS1maWx0ZXJzIHVsIHsKLSAgICBtYXJnaW4tdG9wOiAzcmVt
OworLmZlYXR1cmUgLmNvbW1lbnQgeworICAgIGNvbG9yOiAjNjY2NjY2OworICAgIGZvbnQtc3R5
bGU6IGl0YWxpYzsKIH0KIAotLmZlYXR1cmUtZmlsdGVycyB1bCBsaSB7Ci0gICAgbWFyZ2luLWJv
dHRvbTogMXJlbTsKKy5zdWItZmVhdHVyZXMgeworICAgIGZvbnQtc2l6ZTogMS41cmVtOworICAg
IGNvbG9yOiAjNTU1OwogfQogCi0uZmVhdHVyZS1maWx0ZXJzIGxhYmVsID4gaW5wdXQgewotICAg
IHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAgICB0b3A6IC0zcHg7Cisuc3ViLWZlYXR1cmVzIHVsIHsK
KyAgICBsaXN0LXN0eWxlOiBub25lOworICAgIHBhZGRpbmc6IDA7CisgICAgbWFyZ2luOiAwOwog
fQogCi1oMyBhW25hbWVdLCAuYWRtaW4tYmFyIGgzIGFbbmFtZV0gewotICAgIHRvcDogaW5pdGlh
bDsKLSAgICB3aWR0aDogYXV0bzsKKy5zdWItZmVhdHVyZXMgbGkgewogICAgIGRpc3BsYXk6IGlu
bGluZS1ibG9jazsKLSAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOworICAgIHdoaXRlLXNwYWNlOiBu
b3dyYXA7Cit9CisKKy5zdWItZmVhdHVyZXMgbGk6YWZ0ZXIgeworICAgIGNvbnRlbnQ6ICIsICI7
CisgICAgd2hpdGUtc3BhY2U6IHByZTsKK30KKworLnN1Yi1mZWF0dXJlcyBsaTpsYXN0LWNoaWxk
OmFmdGVyIHsKKyAgICBjb250ZW50OiAiIjsKK30KKworQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAo
bWF4LXdpZHRoOiAxMDAwcHgpIHsKKworICAgIC5mZWF0dXJlLWRldGFpbHMgeworICAgICAgICB3
aWR0aDogMTAwJTsKKyAgICB9CisKIH0KIAogQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdp
ZHRoOiA1MDhweCkgeworICAgIAorCiAgICAgI2ZlYXR1cmUtZmlsdGVycywKICAgICAjZmVhdHVy
ZS1saXN0IHsKICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgfQotCisgICAgCiAgICAgI2ZlYXR1
cmUtZmlsdGVycyB7Ci0gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGQ7Ci0gICAgICAg
IGJvcmRlci1yYWRpdXM6IDNweDsKLSAgICAgICAgYmFja2dyb3VuZDogI2Y2ZjZmNjsKLSAgICAg
ICAgcGFkZGluZzogMXJlbTsKLSAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKLSAgICAg
ICAgbWFyZ2luLXJpZ2h0OiAwOwotICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOworICAgICAg
ICBwYWRkaW5nLWxlZnQ6IDJyZW07CisgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07CiAgICAg
fQogCiAgICAgLmZlYXR1cmUtaGVhZGVyIGgzIHsKICAgICAgICAgZm9udC1zaXplOiAycmVtOwor
ICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07CiAgICAgfQogCiAgICAgLmZlYXR1cmUtc3Rh
dHVzIHsKICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07CiAgICAgICAgIG1hcmdpbi10b3A6IDAu
NHJlbTsKKyAgICAgICAgZmxvYXQ6IGxlZnQ7CisgICAgfQorICAgIAorICAgIC5mZWF0dXJlLWhl
YWRlcjphZnRlciB7CisgICAgICAgIHdpZHRoOiAxcmVtOworICAgICAgICBoZWlnaHQ6IDFyZW07
CisgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbTsKKyAgICAgICAgdG9wOiAxcmVtOworICAg
IH0KKyAgICAKKyAgICAuZmVhdHVyZSBoMyB7CisgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsKKyAg
ICAgICAgcGFkZGluZy10b3A6IDRyZW07CiAgICAgfQorICAgIAorICAgIC5mZWF0dXJlLWhlYWRl
ciAuZmVhdHVyZS1zdGF0dXMgeworICAgICAgICBmb250LXNpemU6IDEuNnJlbTsKKyAgICAgICAg
cG9zaXRpb246IGFic29sdXRlOworICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OworICAgIH0KKyAg
ICAKKyAgICAuZmVhdHVyZSAubW9yZWluZm8geworICAgICAgICBmbGV4LXdyYXA6IHdyYXA7Cisg
ICAgfQorICAgIAorICAgIC5mZWF0dXJlIC5tb3JlaW5mbyAuY29udGFjdCB7CisgICAgICAgIHRl
eHQtYWxpZ246IGxlZnQ7CisgICAgfQorICAgIAorICAgIC5zdGF0dXMtZmlsdGVycyB7CisgICAg
ICAgIHRleHQtYWxpZ246IGxlZnQ7CisgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7CisgICAgfQor
ICAgIAorICAgIC5zdGF0dXMtZmlsdGVycyBsYWJlbCB7CisgICAgICAgIG1hcmdpbi1sZWZ0OiAw
OworICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07CisgICAgfQorICAgIAorfQorCitoMyBhW25h
bWVdLCAuYWRtaW4tYmFyIGgzIGFbbmFtZV0geworICAgIHRvcDogaW5pdGlhbDsKKyAgICB3aWR0
aDogYXV0bzsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgdmlzaWJpbGl0eTogdmlz
aWJsZTsKIH0KIAorCiA8L3N0eWxlPgogCTw/cGhwIGlmIChoYXZlX3Bvc3RzKCkpIDogd2hpbGUg
KGhhdmVfcG9zdHMoKSkgOiB0aGVfcG9zdCgpOyA/PgotCisgICAgICAgIAorICAgICAgICA8ZGl2
IGlkPSJjb250ZW50Ij4KICAgICAgICAgPGRpdiBjbGFzcz0icGFnZSBmZWF0dXJlLXN0YXR1cy1w
YWdlIiBpZD0icG9zdC08P3BocCB0aGVfSUQoKTsgPz4iPgotICAgICAgICAgICAgPD9waHAgZWNo
byBzdHJfcmVwZWF0KCcmbmJzcDsnLCAyMDApOz8+CiAJCQk8aDE+PGEgaHJlZj0iPD9waHAgZWNo
byBnZXRfcGVybWFsaW5rKCkgPz4iIHJlbD0iYm9va21hcmsiIHRpdGxlPSJQZXJtYW5lbnQgTGlu
azogPD9waHAgdGhlX3RpdGxlKCk7ID8+Ij48P3BocCB0aGVfdGl0bGUoKTsgPz48L2E+PC9oMT4K
LSAgICAgICAgICAgIDxmb3JtIGlkPSJmZWF0dXJlLWZpbHRlcnMiIGNsYXNzPSJmZWF0dXJlLWZp
bHRlcnMiPgotICAgICAgICAgICAgICAgIDxoMj5GaWx0ZXJzPC9oMj4KLSAgICAgICAgICAgICAg
ICA8aW5wdXQgdHlwZT0idGV4dCIgaWQ9InNlYXJjaCIgcGxhY2Vob2xkZXI9IlNlYXJjaCBmaWx0
ZXImaGVsbGlwOyIgdGl0bGU9IkZpbHRlciB0aGUgZmVhdHVyZSBsaXN0LiIgcmVxdWlyZWQ+Ci0g
ICAgICAgICAgICAgICAgPHVsIGlkPSJzdGF0dXMtZmlsdGVycyI+Ci0gICAgICAgICAgICAgICAg
PC91bD4KLQotICAgICAgICAgICAgPC9mb3JtPgorICAgICAgICAgICAgCisgICAgICAgICAgICA8
ZGl2IGNsYXNzPSJmZWF0dXJlLWZpbHRlcnMiPgorICAgICAgICAgICAgICAgIDxmb3JtIGlkPSJm
ZWF0dXJlLWZpbHRlcnMiIGNsYXNzPSJwYWdlLXdpZHRoIj4KKyAgICAgICAgICAgICAgICAgICAg
PGlucHV0IHR5cGU9InRleHQiIGlkPSJzZWFyY2giIGNsYXNzPSJzZWFyY2gtaW5wdXQiIHBsYWNl
aG9sZGVyPSJTZWFyY2ggZmVhdHVyZXMmaGVsbGlwOyIgdGl0bGU9IkZpbHRlciB0aGUgZmVhdHVy
ZSBsaXN0LiIgcmVxdWlyZWQ+CisgICAgICAgICAgICAgICAgICAgIDx1bCBpZD0ic3RhdHVzLWZp
bHRlcnMiIGNsYXNzPSJzdGF0dXMtZmlsdGVycyI+PC91bD4KKyAgICAgICAgICAgICAgICA8L2Zv
cm0+CisgICAgICAgICAgICA8L2Rpdj4KIAogICAgICAgICAgICAgPGRpdiBpZD0iZmVhdHVyZS1s
aXN0Ij4KLSAgICAgICAgICAgIDxoMj5GZWF0dXJlczwvaDI+CisgICAgICAgICAgICAgICAgPGRp
diBjbGFzcz0iZmVhdHVyZS1jb3VudCI+CisgICAgICAgICAgICAgICAgICAgIDxwPjxzcGFuIGlk
PSJmZWF0dXJlLWNvdW50Ij48L3NwYW4+IDxzcGFuIGlkPSJmZWF0dXJlLXBsdXJhbGl6ZSI+ZmVh
dHVyZXM8L3NwYW4+PC9wPgorICAgICAgICAgICAgICAgIDwvZGl2PgorICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgPC9kaXY+CiAKICAgICAgICAgICAgIDx0ZW1wbGF0ZSBpZD0ic3VjY2Vz
cy10ZW1wbGF0ZSI+CkBAIC0zODksNiArNDU5LDcgQEAgaDMgYVtuYW1lXSwgLmFkbWluLWJhciBo
MyBhW25hbWVdIHsKICAgICAgICAgICAgICAgICA8cD5JZiB0aGlzIGlzIG5vdCByZXNvbHZlZCBz
b29uLCBwbGVhc2UgY29udGFjdCA8YSBocmVmPSJodHRwczovL3R3aXR0ZXIuY29tL3dlYmtpdCI+
QHdlYmtpdDwvYT4gb24gVHdpdHRlciBvciB0aGUgPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy53ZWJr
aXQub3JnL21haWxtYW4vbGlzdGluZm8vd2Via2l0LWhlbHAiPndlYmtpdC1oZWxwPC9hPiBtYWls
aW5nIGxpc3QuPC9wPgogICAgICAgICAgICAgPC90ZW1wbGF0ZT4KICAgICAgICAgPC9kaXY+Cisg
ICAgICAgIDwvZGl2PgogCiAJPD9waHAgLy9jb21tZW50c190ZW1wbGF0ZSgpOyA/PgogCkBAIC00
MDIsNyArNDczLDE5IEBAIGgzIGFbbmFtZV0sIC5hZG1pbi1iYXIgaDMgYVtuYW1lXSB7CiA8c2Ny
aXB0PgogZnVuY3Rpb24gaW5pdGlhbGl6ZVN0YXR1c1BhZ2UoKSB7CiAKLSAgICBmdW5jdGlvbiBz
b3J0QWxwaGFiZXRpY2FsbHkoYXJyYXkpIHsKKyAgICBjb25zdCBzdGF0dXNPcmRlciA9IFsKKyAg
ICAgICAgJ3VuZGVyIGNvbnNpZGVyYXRpb24nLAorICAgICAgICAncHJvdG90eXBpbmcnLAorICAg
ICAgICAnaW4gZGV2ZWxvcG1lbnQnLAorICAgICAgICAnc3VwcG9ydGVkIGluIHByZXZpZXcnLAor
ICAgICAgICAncGFydGlhbGx5IHN1cHBvcnRlZCcsCisgICAgICAgICdzdXBwb3J0ZWQnLAorICAg
ICAgICAncmVtb3ZlZCcsCisgICAgICAgICdub3QgY29uc2lkZXJpbmcnCisgICAgXTsKKworICAg
IGZ1bmN0aW9uIHNvcnRBbHBoYWJldGljYWxseShhcnJheSkKKyAgICB7CiAgICAgICAgIGFycmF5
LnNvcnQoZnVuY3Rpb24oYSwgYil7CiAgICAgICAgICAgICB2YXIgYU5hbWUgPSBhLm5hbWUudG9M
b3dlckNhc2UoKTsKICAgICAgICAgICAgIHZhciBiTmFtZSA9IGIubmFtZS50b0xvd2VyQ2FzZSgp
OwpAQCAtNDIwLDE1ICs1MDMsMjEgQEAgZnVuY3Rpb24gaW5pdGlhbGl6ZVN0YXR1c1BhZ2UoKSB7
CiAgICAgICAgIH0pOwogICAgIH0KIAotICAgIGZ1bmN0aW9uIGNyZWF0ZUZlYXR1cmVWaWV3KGZl
YXR1cmVPYmplY3QpIHsKKyAgICBmdW5jdGlvbiBjcmVhdGVGZWF0dXJlVmlldyhmZWF0dXJlT2Jq
ZWN0KQorICAgIHsKKyAgICAgICAgICAgICAgICAKICAgICAgICAgZnVuY3Rpb24gY3JlYXRlTGlu
a1dpdGhIZWFkaW5nKGVsZW1lbnROYW1lLCBoZWFkaW5nLCBsaW5rVGV4dCwgbGlua1VybCkgewog
ICAgICAgICAgICAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZWxlbWVu
dE5hbWUpOwogICAgICAgICAgICAgaWYgKGhlYWRpbmcpIHsKLSAgICAgICAgICAgICAgICBjb250
YWluZXIudGV4dENvbnRlbnQgPSBoZWFkaW5nICsgIjogIjsKKyAgICAgICAgICAgICAgICB2YXIg
aDQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdoNCcpOworICAgICAgICAgICAgICAgIGg0LnRl
eHRDb250ZW50ID0gaGVhZGluZzsKKyAgICAgICAgICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hp
bGQoaDQpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJhIik7CiAgICAgICAgICAgICBsaW5rLnRleHRDb250ZW50ID0gbGlua1Rl
eHQ7CiAgICAgICAgICAgICBsaW5rLmhyZWYgPSBsaW5rVXJsOworICAgICAgICAgICAgaWYgKGxp
bmtUZXh0ID09IGxpbmtVcmwpCisgICAgICAgICAgICAgICAgbGluay50ZXh0Q29udGVudCA9IGxp
bmsuaG9zdG5hbWUgKyAi4oCmIjsKICAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChs
aW5rKTsKICAgICAgICAgICAgIHJldHVybiBjb250YWluZXI7CiAgICAgICAgIH0KQEAgLTQ2NCwx
NiArNTUzLDEyIEBAIGZ1bmN0aW9uIGluaXRpYWxpemVTdGF0dXNQYWdlKCkgewogICAgICAgICAg
ICAgY29udGFpbmVyLmNsYXNzTmFtZSArPSAiIG9wZW5lZCI7CiAgICAgICAgIH0KIAotICAgICAg
ICB2YXIgY29ybmVyU3RhdHVzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Ci0gICAg
ICAgIGNvcm5lclN0YXR1cy5jbGFzc05hbWUgPSAic3RhdHVzLW1hcmtlciAiOwotICAgICAgICBj
b250YWluZXIuYXBwZW5kQ2hpbGQoY29ybmVyU3RhdHVzKTsKLQotICAgICAgICB2YXIgZGVzY3Jp
cHRpb25Db250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAgICAg
ZGVzY3JpcHRpb25Db250YWluZXIuY2xhc3NOYW1lID0gImZlYXR1cmUtZGVzY3JpcHRpb24iOwor
ICAgICAgICB2YXIgZmVhdHVyZUNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rp
dicpOworICAgICAgICBmZWF0dXJlQ29udGFpbmVyLmNsYXNzTmFtZSA9ICJmZWF0dXJlLWNvbnRh
aW5lciBzdGF0dXMtbWFya2VyIjsKIAogICAgICAgICB2YXIgZmVhdHVyZUhlYWRlckNvbnRhaW5l
ciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwogICAgICAgICBmZWF0dXJlSGVhZGVy
Q29udGFpbmVyLmNsYXNzTmFtZSA9ICJmZWF0dXJlLWhlYWRlciI7Ci0gICAgICAgIGRlc2NyaXB0
aW9uQ29udGFpbmVyLmFwcGVuZENoaWxkKGZlYXR1cmVIZWFkZXJDb250YWluZXIpOworICAgICAg
ICBmZWF0dXJlQ29udGFpbmVyLmFwcGVuZENoaWxkKGZlYXR1cmVIZWFkZXJDb250YWluZXIpOwog
CiAgICAgICAgIHZhciB0aXRsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJoMyIp
OwogICAgICAgICB2YXIgYW5jaG9yTGlua0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJhIik7CkBAIC00ODUsNyArNTcwLDggQEAgZnVuY3Rpb24gaW5pdGlhbGl6ZVN0YXR1c1BhZ2Uo
KSB7CiAgICAgICAgIC8vIEFkZCBzdWItZmVhdHVyZSBoZXJlCiAgICAgICAgIGlmIChoYXNTcGVj
aWZpY2F0aW9uT2JqZWN0KSB7CiAgICAgICAgICAgICB2YXIgc3BlY2lmaWNhdGlvbiA9IGZlYXR1
cmVPYmplY3Quc3BlY2lmaWNhdGlvbjsKLSAgICAgICAgICAgIHZhciBzcGVjU3BhbiA9IGNyZWF0
ZUxpbmtXaXRoSGVhZGluZygic3BhbiIsIG51bGwsIHNwZWNpZmljYXRpb24ubmFtZSwgIiNzcGVj
aWZpY2F0aW9uLSIgKyBzcGVjaWZpY2F0aW9uLm5hbWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC8g
L2csICctJykpOworICAgICAgICAgICAgY29uc29sZS5sb2coc3BlY2lmaWNhdGlvbik7CisgICAg
ICAgICAgICB2YXIgc3BlY1NwYW4gPSBjcmVhdGVMaW5rV2l0aEhlYWRpbmcoImg0IiwgbnVsbCwg
c3BlY2lmaWNhdGlvbi5uYW1lLCAiI3NwZWNpZmljYXRpb24tIiArIHNwZWNpZmljYXRpb24ubmFt
ZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLyAvZywgJy0nKSk7CiAgICAgICAgICAgICBzcGVjU3Bh
bi5jbGFzc05hbWUgPSAiaW50ZXJuYWwtcmVmZXJlbmNlIjsKICAgICAgICAgICAgIHRpdGxlRWxl
bWVudC5hcHBlbmRDaGlsZChzcGVjU3Bhbik7CiAgICAgICAgIH0KQEAgLTQ5Myw0NCArNTc5LDY2
IEBAIGZ1bmN0aW9uIGluaXRpYWxpemVTdGF0dXNQYWdlKCkgewogICAgICAgICBmZWF0dXJlSGVh
ZGVyQ29udGFpbmVyLmFwcGVuZENoaWxkKHRpdGxlRWxlbWVudCk7CiAKICAgICAgICAgaWYgKCJz
dGF0dXMiIGluIGZlYXR1cmVPYmplY3QpIHsKLSAgICAgICAgICAgIHZhciBzdGF0dXNDb250YWlu
ZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Ci0gICAgICAgICAgICBjb3JuZXJT
dGF0dXMuY2xhc3NOYW1lICs9IHN0YXR1c0NsYXNzTmFtZSA9IGZlYXR1cmVPYmplY3Quc3RhdHVz
LnN0YXR1cy50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLyAvZywgJy0nKTsKKyAgICAgICAgICAgIHZh
ciBzdGF0dXNDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAg
ICAgICAgIHZhciBzdGF0dXNDbGFzc05hbWUgPSBmZWF0dXJlT2JqZWN0LnN0YXR1cy5zdGF0dXMu
dG9Mb3dlckNhc2UoKS5yZXBsYWNlKC8gL2csICctJyk7CisgICAgICAgICAgICBmZWF0dXJlQ29u
dGFpbmVyLmNsYXNzTmFtZSArPSAiICIgKyBzdGF0dXNDbGFzc05hbWU7CiAgICAgICAgICAgICBz
dGF0dXNDb250YWluZXIuY2xhc3NOYW1lID0gImZlYXR1cmUtc3RhdHVzICIgKyBzdGF0dXNDbGFz
c05hbWU7CisgICAgICAgICAgICB2YXIgc3RhdHVzTGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJsYWJlbCIpOworCiAgICAgICAgICAgICBpZiAoIndlYmtpdC11cmwiIGluIGZlYXR1cmVP
YmplY3QpIHsKICAgICAgICAgICAgICAgICB2YXIgc3RhdHVzTGluayA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImEiKTsKICAgICAgICAgICAgICAgICBzdGF0dXNMaW5rLmhyZWYgPSBmZWF0dXJl
T2JqZWN0WyJ3ZWJraXQtdXJsIl07CiAgICAgICAgICAgICAgICAgc3RhdHVzTGluay50ZXh0Q29u
dGVudCA9IGZlYXR1cmVPYmplY3Quc3RhdHVzLnN0YXR1czsKLSAgICAgICAgICAgICAgICBzdGF0
dXNDb250YWluZXIuYXBwZW5kQ2hpbGQoc3RhdHVzTGluayk7CisgICAgICAgICAgICAgICAgc3Rh
dHVzTGFiZWwuYXBwZW5kQ2hpbGQoc3RhdHVzTGluayk7CiAgICAgICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgICAgIHN0YXR1c0NvbnRhaW5lci50ZXh0Q29udGVudCA9IGZlYXR1cmVPYmpl
Y3Quc3RhdHVzLnN0YXR1czsKKyAgICAgICAgICAgICAgICBzdGF0dXNMYWJlbC50ZXh0Q29udGVu
dCA9IGZlYXR1cmVPYmplY3Quc3RhdHVzLnN0YXR1czsKICAgICAgICAgICAgIH0KIAorICAgICAg
ICAgICAgc3RhdHVzQ29udGFpbmVyLmFwcGVuZENoaWxkKHN0YXR1c0xhYmVsKTsKICAgICAgICAg
ICAgIGZlYXR1cmVIZWFkZXJDb250YWluZXIuYXBwZW5kQ2hpbGQoc3RhdHVzQ29udGFpbmVyKTsK
ICAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgdmFyIGZlYXR1cmVEZXRhaWxzID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIGZlYXR1cmVEZXRhaWxzLmNsYXNzTmFt
ZSA9ICdmZWF0dXJlLWRldGFpbHMnOwogCiAgICAgICAgIGlmICgiZGVzY3JpcHRpb24iIGluIGZl
YXR1cmVPYmplY3QpIHsKLSAgICAgICAgICAgIHZhciB0ZXN0RGVzY3JpcHRpb24gPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdwJyk7Ci0gICAgICAgICAgICB0ZXN0RGVzY3JpcHRpb24uY2xhc3NO
YW1lID0gImZlYXR1cmUtZGVzYyI7Ci0gICAgICAgICAgICB0ZXN0RGVzY3JpcHRpb24uaW5uZXJI
VE1MID0gZmVhdHVyZU9iamVjdC5kZXNjcmlwdGlvbjsKLSAgICAgICAgICAgIGRlc2NyaXB0aW9u
Q29udGFpbmVyLmFwcGVuZENoaWxkKHRlc3REZXNjcmlwdGlvbik7CisgICAgICAgICAgICB2YXIg
dGV4dERlc2NyaXB0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpOworICAgICAgICAg
ICAgdGV4dERlc2NyaXB0aW9uLmNsYXNzTmFtZSA9ICJmZWF0dXJlLWRlc2MiOworICAgICAgICAg
ICAgdGV4dERlc2NyaXB0aW9uLmlubmVySFRNTCA9IGZlYXR1cmVPYmplY3QuZGVzY3JpcHRpb247
CisgICAgICAgICAgICBmZWF0dXJlRGV0YWlscy5hcHBlbmRDaGlsZCh0ZXh0RGVzY3JpcHRpb24p
OwogICAgICAgICB9CiAKICAgICAgICAgaWYgKCJjb21tZW50IiBpbiBmZWF0dXJlT2JqZWN0KSB7
Ci0gICAgICAgICAgICBpZiAoImRlc2NyaXB0aW9uIiBpbiBmZWF0dXJlT2JqZWN0KSB7Ci0gICAg
ICAgICAgICAgICAgdmFyIGhyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaHIiKTsKLSAgICAg
ICAgICAgICAgICBoci5jbGFzc05hbWUgPSAnY29tbWVudCc7Ci0gICAgICAgICAgICAgICAgZGVz
Y3JpcHRpb25Db250YWluZXIuYXBwZW5kQ2hpbGQoaHIpOwotICAgICAgICAgICAgfQogICAgICAg
ICAgICAgdmFyIGNvbW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7CiAgICAgICAg
ICAgICBjb21tZW50LmNsYXNzTmFtZSA9ICdjb21tZW50JzsKICAgICAgICAgICAgIGNvbW1lbnQu
aW5uZXJIVE1MID0gZmVhdHVyZU9iamVjdC5jb21tZW50OwotICAgICAgICAgICAgZGVzY3JpcHRp
b25Db250YWluZXIuYXBwZW5kQ2hpbGQoY29tbWVudCk7CisgICAgICAgICAgICBmZWF0dXJlRGV0
YWlscy5hcHBlbmRDaGlsZChjb21tZW50KTsKICAgICAgICAgfQogCi0gICAgICAgIGNvbnRhaW5l
ci5hcHBlbmRDaGlsZChkZXNjcmlwdGlvbkNvbnRhaW5lcik7CisgICAgICAgIGlmICgiZmVhdHVy
ZXMiIGluIGZlYXR1cmVPYmplY3QgJiYgZmVhdHVyZU9iamVjdC5mZWF0dXJlcy5sZW5ndGgpIHsK
KyAgICAgICAgICAgIHZhciBpbnRlcm5hbExpbmtDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKKyAgICAgICAgICAgIGludGVybmFsTGlua0NvbnRhaW5lci5jbGFzc05h
bWUgPSAiaW50ZXJuYWwtcmVmZXJlbmNlIHN1Yi1mZWF0dXJlcyI7CisgICAgICAgICAgICB2YXIg
aW50ZXJuYWxIZWFkaW5nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaDQiKTsKKyAgICAgICAg
ICAgIGludGVybmFsSGVhZGluZy50ZXh0Q29udGVudCA9ICJJbmNsdWRlcyI7CisgICAgICAgICAg
ICBpbnRlcm5hbExpbmtDb250YWluZXIuYXBwZW5kQ2hpbGQoaW50ZXJuYWxIZWFkaW5nKTsKKwor
ICAgICAgICAgICAgdmFyIGxpc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ1bCIpOworICAg
ICAgICAgICAgZm9yICh2YXIgZmVhdHVyZSBvZiBmZWF0dXJlT2JqZWN0LmZlYXR1cmVzKSB7Cisg
ICAgICAgICAgICAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Cisg
ICAgICAgICAgICAgICAgbGluay50ZXh0Q29udGVudCA9IGZlYXR1cmUubmFtZTsKKyAgICAgICAg
ICAgICAgICBsaW5rLmhyZWYgPSAiI2ZlYXR1cmUtIiArIGZlYXR1cmUubmFtZS50b0xvd2VyQ2Fz
ZSgpLnJlcGxhY2UoLyAvZywgJy0nKTsKKworICAgICAgICAgICAgICAgIHZhciBsaSA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7CisgICAgICAgICAgICAgICAgbGkuYXBwZW5kQ2hpbGQo
bGluayk7CisgICAgICAgICAgICAgICAgbGlzdC5hcHBlbmRDaGlsZChsaSk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICBpbnRlcm5hbExpbmtDb250YWluZXIuYXBwZW5kQ2hpbGQobGlzdCk7
CisgICAgICAgICAgICBmZWF0dXJlRGV0YWlscy5hcHBlbmRDaGlsZChpbnRlcm5hbExpbmtDb250
YWluZXIpOworICAgICAgICB9CiAKICAgICAgICAgaWYgKGhhc0RvY3VtZW50YXRpb25MaW5rIHx8
IGhhc1JlZmVyZW5jZUxpbmsgfHwgaGFzQ29udGFjdE9iamVjdCkgewogICAgICAgICAgICAgdmFy
IG1vcmVJbmZvTGlzdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInVsIik7CisgICAgICAgICAg
ICBtb3JlSW5mb0xpc3QuY2xhc3NOYW1lID0gJ21vcmVpbmZvJwogICAgICAgICAgICAgaWYgKGhh
c0RvY3VtZW50YXRpb25MaW5rKSB7CiAgICAgICAgICAgICAgICAgdmFyIHVybCA9IGZlYXR1cmVP
YmplY3RbImRvY3VtZW50YXRpb24tdXJsIl07CiAgICAgICAgICAgICAgICAgbW9yZUluZm9MaXN0
LmFwcGVuZENoaWxkKGNyZWF0ZUxpbmtXaXRoSGVhZGluZygibGkiLCAiRG9jdW1lbnRhdGlvbiIs
IHVybCwgdXJsKSk7CkBAIC01NDEsMTYgKzY0OSwxMyBAQCBmdW5jdGlvbiBpbml0aWFsaXplU3Rh
dHVzUGFnZSgpIHsKICAgICAgICAgICAgICAgICBtb3JlSW5mb0xpc3QuYXBwZW5kQ2hpbGQoY3Jl
YXRlTGlua1dpdGhIZWFkaW5nKCJsaSIsICJSZWZlcmVuY2UiLCB1cmwsIHVybCkpOwogICAgICAg
ICAgICAgfQogCi0gICAgICAgICAgICBpZiAoaGFzU3BlY2lmaWNhdGlvbk9iamVjdCkgewotICAg
ICAgICAgICAgICAgIHZhciBzcGVjaWZpY2F0aW9uID0gZmVhdHVyZU9iamVjdC5zcGVjaWZpY2F0
aW9uOwotICAgICAgICAgICAgICAgIHZhciBsaSA9IGNyZWF0ZUxpbmtXaXRoSGVhZGluZygibGki
LCAiUGFyZW50IGZlYXR1cmUiLCBzcGVjaWZpY2F0aW9uLm5hbWUsICIjc3BlY2lmaWNhdGlvbi0i
ICsgc3BlY2lmaWNhdGlvbi5uYW1lLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvIC9nLCAnLScpKTsK
LSAgICAgICAgICAgICAgICBsaS5jbGFzc05hbWUgPSAiaW50ZXJuYWwtcmVmZXJlbmNlIjsKLSAg
ICAgICAgICAgICAgICBtb3JlSW5mb0xpc3QuYXBwZW5kQ2hpbGQobGkpOwotICAgICAgICAgICAg
fQotCiAgICAgICAgICAgICBpZiAoaGFzQ29udGFjdE9iamVjdCkgewogICAgICAgICAgICAgICAg
IHZhciBsaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7Ci0gICAgICAgICAgICAgICAg
bGkudGV4dENvbnRlbnQgPSAiQ29udGFjdDogIjsKKyAgICAgICAgICAgICAgICBsaS5jbGFzc05h
bWUgPSAiY29udGFjdCIKKyAgICAgICAgICAgICAgICB2YXIgY29udGFjdEhlYWRpbmcgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJoNCIpOworICAgICAgICAgICAgICAgIGNvbnRhY3RIZWFkaW5n
LnRleHRDb250ZW50ID0gIkNvbnRhY3QiOworICAgICAgICAgICAgICAgIGxpLmFwcGVuZENoaWxk
KGNvbnRhY3RIZWFkaW5nKTsKKwogICAgICAgICAgICAgICAgIGlmIChmZWF0dXJlT2JqZWN0LmNv
bnRhY3QudHdpdHRlcikgewogICAgICAgICAgICAgICAgICAgICBsaS5hcHBlbmRDaGlsZChjcmVh
dGVMaW5rV2l0aEhlYWRpbmcoInNwYW4iLCBudWxsLCBmZWF0dXJlT2JqZWN0LmNvbnRhY3QudHdp
dHRlciwgbWFrZVR3aXR0ZXJMaW5rKGZlYXR1cmVPYmplY3QuY29udGFjdC50d2l0dGVyKSkpOwog
ICAgICAgICAgICAgICAgIH0KQEAgLTU2Nyw0MCArNjcyLDMxIEBAIGZ1bmN0aW9uIGluaXRpYWxp
emVTdGF0dXNQYWdlKCkgewogICAgICAgICAgICAgICAgIG1vcmVJbmZvTGlzdC5hcHBlbmRDaGls
ZChsaSk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGls
ZChtb3JlSW5mb0xpc3QpOworICAgICAgICAgICAgZmVhdHVyZURldGFpbHMuYXBwZW5kQ2hpbGQo
bW9yZUluZm9MaXN0KTsKICAgICAgICAgfQogCi0gICAgICAgIGlmICgiZmVhdHVyZXMiIGluIGZl
YXR1cmVPYmplY3QgJiYgZmVhdHVyZU9iamVjdC5mZWF0dXJlcy5sZW5ndGgpIHsKLSAgICAgICAg
ICAgIHZhciBpbnRlcm5hbExpbmtDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKLSAgICAgICAgICAgIGludGVybmFsTGlua0NvbnRhaW5lci5jbGFzc05hbWUgPSAiaW50
ZXJuYWwtcmVmZXJlbmNlIHN1Yi1mZWF0dXJlcyI7Ci0gICAgICAgICAgICBpbnRlcm5hbExpbmtD
b250YWluZXIudGV4dENvbnRlbnQgPSAiSW5jbHVkZXM6ICIKLSAgICAgICAgICAgIC8vIGludGVy
bmFsTGlua0NvbnRhaW5lci5hcHBlbmRDaGlsZCh0cmFja2VkRmVhdHVyZXMpOwotCi0gICAgICAg
ICAgICB2YXIgbGlzdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInVsIik7Ci0gICAgICAgICAg
ICBmb3IgKHZhciBmZWF0dXJlIG9mIGZlYXR1cmVPYmplY3QuZmVhdHVyZXMpIHsKLSAgICAgICAg
ICAgICAgICB2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTsKLSAgICAgICAg
ICAgICAgICBsaW5rLnRleHRDb250ZW50ID0gZmVhdHVyZS5uYW1lOwotICAgICAgICAgICAgICAg
IGxpbmsuaHJlZiA9ICIjZmVhdHVyZS0iICsgZmVhdHVyZS5uYW1lLnRvTG93ZXJDYXNlKCkucmVw
bGFjZSgvIC9nLCAnLScpOwotCi0gICAgICAgICAgICAgICAgdmFyIGxpID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgibGkiKTsKLSAgICAgICAgICAgICAgICBsaS5hcHBlbmRDaGlsZChsaW5rKTsK
LSAgICAgICAgICAgICAgICBsaXN0LmFwcGVuZENoaWxkKGxpKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIGludGVybmFsTGlua0NvbnRhaW5lci5hcHBlbmRDaGlsZChsaXN0KTsKLSAgICAg
ICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChpbnRlcm5hbExpbmtDb250YWluZXIpOwotICAg
ICAgICB9CisgICAgICAgIGZlYXR1cmVDb250YWluZXIuYXBwZW5kQ2hpbGQoZmVhdHVyZURldGFp
bHMpOworICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQoZmVhdHVyZUNvbnRhaW5lcik7CiAK
ICAgICAgICAgcmV0dXJuIGNvbnRhaW5lcjsKICAgICB9CisgICAgCisgICAgZnVuY3Rpb24gY2Fu
b25pY2FsaXplSWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGlk
ZW50aWZpZXIudG9Mb2NhbGVMb3dlckNhc2UoKS5yZXBsYWNlKC8gL2csICctJyk7CisgICAgfQor
ICAgIAogCi0gICAgZnVuY3Rpb24gcmVuZGVyRmVhdHVyZXNBbmRTcGVjaWZpY2F0aW9ucyhmZWF0
dXJlTGlrZU9iamVjdHMpIHsKKyAgICBmdW5jdGlvbiByZW5kZXJGZWF0dXJlc0FuZFNwZWNpZmlj
YXRpb25zKGZlYXR1cmVMaWtlT2JqZWN0cykgCisgICAgewogICAgICAgICB2YXIgZmVhdHVyZUNv
bnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmZWF0dXJlcy1jb250YWluZXInKTsK
ICAgICAgICAgZm9yICh2YXIgZmVhdHVyZUxpa2VPYmplY3Qgb2YgZmVhdHVyZUxpa2VPYmplY3Rz
KSB7CiAgICAgICAgICAgICBmZWF0dXJlQ29udGFpbmVyLmFwcGVuZENoaWxkKGNyZWF0ZUZlYXR1
cmVWaWV3KGZlYXR1cmVMaWtlT2JqZWN0KSk7CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBmdW5j
dGlvbiBpbml0U2VhcmNoKGZlYXR1cmVzQXJyYXkpIHsKKyAgICBmdW5jdGlvbiBpbml0U2VhcmNo
KGZlYXR1cmVzQXJyYXkpIAorICAgIHsKICAgICAgICAgdmFyIGZpbHRlcnNGb3JtID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2ZlYXR1cmUtZmlsdGVycycpOwogICAgICAgICB2YXIgc3RhdHVz
Q29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3N0YXR1cy1maWx0ZXJzJyk7CiAg
ICAgICAgIHZhciBpbnB1dEZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlYXJjaCcp
OwpAQCAtNjE2LDM0ICs3MTIsNDggQEAgZnVuY3Rpb24gaW5pdGlhbGl6ZVN0YXR1c1BhZ2UoKSB7
CiAKICAgICAgICAgICAgICAgICBpZiAoIXN0YXR1c0ZpbHRlcnNbZmVhdHVyZVN0YXR1c0tleV0p
CiAgICAgICAgICAgICAgICAgICAgIHN0YXR1c0ZpbHRlcnNbZmVhdHVyZVN0YXR1c0tleV0gPSBm
ZWF0dXJlLnN0YXR1cy5zdGF0dXM7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAg
aWYgKHN0YXR1c09yZGVyLmluZGV4T2YoZmVhdHVyZVN0YXR1c0tleSkgPT0gLTEpCisgICAgICAg
ICAgICAgICAgICAgIHdpbmRvdy5jb25zb2xlLmxvZygnU3RhdHVzICcgKyBmZWF0dXJlU3RhdHVz
S2V5ICsgJyBpcyBub3Qgb25lIG9mIHRoZSBwcmVkZWZpbmVkIHN0YXR1cyBrZXlzICcsIHN0YXR1
c09yZGVyKTsKIAogICAgICAgICAgICAgfQogICAgICAgICB9KTsKIAotICAgICAgICB2YXIgc3Rh
dHVzTGVuZ3RoID0gc3RhdHVzRmlsdGVycy5sZW5ndGg7CisgICAgICAgIGZvciAodmFyIGtleSBv
ZiBzdGF0dXNPcmRlcikgeworICAgICAgICAgICAgaWYgKHN0YXR1c0ZpbHRlcnNba2V5XSA9PSB1
bmRlZmluZWQpCisgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgZm9yICh2YXIg
a2V5IGluIHN0YXR1c0ZpbHRlcnMpIHsKLSAgICAgICAgICAgIHZhciBzdGF0dXMgPSBzdGF0dXNG
aWx0ZXJzW2tleV07CisgICAgICAgICAgICB2YXIgc3RhdHVzTGFiZWwgPSBzdGF0dXNGaWx0ZXJz
W2tleV07CisgICAgICAgICAgICB2YXIgc3RhdHVzSWQgPSBjYW5vbmljYWxpemVJZGVudGlmaWVy
KHN0YXR1c0xhYmVsKTsKICAgICAgICAgICAgIHZhciBlbnRyeSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImxpIik7CiAgICAgICAgICAgICB2YXIgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJsYWJlbCIpOwogICAgICAgICAgICAgdmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiaW5wdXQiKTsKKyAgICAgICAgICAgIAogICAgICAgICAgICAgaW5wdXQuc2V0QXR0cmli
dXRlKCd0eXBlJywnY2hlY2tib3gnKTsKICAgICAgICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgn
dmFsdWUnLCBrZXkpOwotICAgICAgICAgICAgaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdl
Jywgc2VhcmNoKTsKKyAgICAgICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgnaWQnLCAndG9nZ2xl
LScgKyBzdGF0dXNJZCk7CisgICAgICAgICAgICBpbnB1dC5jbGFzc05hbWUgPSAnZmlsdGVyLXRv
Z2dsZSc7CisgICAgICAgICAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCBmdW5j
dGlvbigpIHsgdXBkYXRlU2VhcmNoKGZlYXR1cmVzQXJyYXkpOyB9KTsKKyAgICAgICAgICAgIAor
ICAgICAgICAgICAgCisgICAgICAgICAgICBsYWJlbC5jbGFzc05hbWUgPSAiZmlsdGVyLXN0YXR1
cyAiICsgc3RhdHVzSWQKKyAgICAgICAgICAgIGxhYmVsLnNldEF0dHJpYnV0ZSgnZm9yJywgJ3Rv
Z2dsZS0nICsgc3RhdHVzSWQpOwogICAgICAgICAgICAgbGFiZWwuYXBwZW5kQ2hpbGQoaW5wdXQp
OwotICAgICAgICAgICAgbGFiZWwuY2xhc3NOYW1lID0gc3RhdHVzLnRvTG9jYWxlTG93ZXJDYXNl
KCkucmVwbGFjZSgvIC9nLCAnLScpOwotICAgICAgICAgICAgbGFiZWwuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiICsgc3RhdHVzKSk7CisgICAgICAgICAgICBsYWJlbC5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIgKyBzdGF0dXNMYWJlbCkpOwor
CiAgICAgICAgICAgICBlbnRyeS5hcHBlbmRDaGlsZChsYWJlbCk7CisKICAgICAgICAgICAgIHN0
YXR1c0NvbnRhaW5lci5hcHBlbmRDaGlsZChlbnRyeSk7CiAgICAgICAgIH0KLQorICAgICAgICAK
ICAgICAgICAgZmlsdGVyc0Zvcm0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAo
ZSkgewogICAgICAgICAgICAgaWYgKCBmaWx0ZXJzRm9ybS5jbGFzc05hbWUuaW5kZXhPZignb3Bl
bmVkJykgIT09IC0xICkgewogICAgICAgICAgICAgICAgIGZpbHRlcnNGb3JtLmNsYXNzTmFtZSA9
IGZpbHRlcnNGb3JtLmNsYXNzTmFtZS5yZXBsYWNlKCcgb3BlbmVkJywnJyk7CiAgICAgICAgICAg
ICB9IGVsc2UgZmlsdGVyc0Zvcm0uY2xhc3NOYW1lICs9ICIgb3BlbmVkIjsKICAgICAgICAgfSk7
CiAKLSAgICAgICAgaW5wdXRGaWVsZC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIHNlYXJjaCk7
CisgICAgICAgIGlucHV0RmllbGQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBmdW5jdGlvbigp
IHsgdXBkYXRlU2VhcmNoKGZlYXR1cmVzQXJyYXkpOyB9KTsKKyAgICAgICAgCiAKICAgICAgICAg
dmFyIGlucHV0cyA9IFtdLnNsaWNlLmNhbGwoZmlsdGVyc0Zvcm0uZ2V0RWxlbWVudHNCeVRhZ05h
bWUoJ2lucHV0JykpOwogICAgICAgICBpbnB1dHMuZm9yRWFjaChmdW5jdGlvbiAoaW5wdXQsaSkg
ewpAQCAtNjUyLDcgKzc2Miw4IEBAIGZ1bmN0aW9uIGluaXRpYWxpemVTdGF0dXNQYWdlKCkgewog
ICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwogCi0gICAgICAgIGZ1bmN0aW9uIHNlYXJjaChl
dikgeworICAgICAgICBmdW5jdGlvbiBzZWFyY2goZXYpCisgICAgICAgIHsKICAgICAgICAgICAg
IHZhciBzZWFyY2hUZXJtID0gaW5wdXRGaWVsZC52YWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTsK
ICAgICAgICAgICAgIHZhciBhY3RpdmVTdGF0dXNGaWx0ZXJzID0gW107CiAgICAgICAgICAgICB2
YXIgY2hlY2tib3hlcyA9IFtdLnNsaWNlLmNhbGwoc3RhdHVzQ29udGFpbmVyLmdldEVsZW1lbnRz
QnlUYWdOYW1lKCdpbnB1dCcpKTsKQEAgLTY2NSwyMSArNzc2LDU4IEBAIGZ1bmN0aW9uIGluaXRp
YWxpemVTdGF0dXNQYWdlKCkgewogICAgICAgICB9CiAgICAgfQogCi0gICAgZnVuY3Rpb24gc2Vh
cmNoRmVhdHVyZXMoZmVhdHVyZXNBcnJheSwgc2VhcmNoVGVybSwgc3RhdHVzRmlsdGVycykgewot
ICAgICAgICBmZWF0dXJlc0FycmF5LmZvckVhY2goZnVuY3Rpb24oZmVhdHVyZSkgewotICAgICAg
ICAgICAgdmFyIHZpc2libGUgPSBpc1NlYXJjaE1hdGNoKGZlYXR1cmUsIHNlYXJjaFRlcm0pICYm
IGlzU3RhdHVzRmlsdGVyZWQoZmVhdHVyZSwgc3RhdHVzRmlsdGVycyk7CisgICAgZnVuY3Rpb24g
Z2V0VmFsdWVzT2ZDaGVja2VkSXRlbXMoaXRlbXMpCisgICAgeworICAgICAgICB2YXIgY2hlY2tl
ZFZhbHVlcyA9IFtdOworICAgICAgICBpdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0saSkgewor
ICAgICAgICAgICAgaWYgKGl0ZW0uY2hlY2tlZCkKKyAgICAgICAgICAgICAgICBjaGVja2VkVmFs
dWVzLnB1c2goaXRlbS52YWx1ZSk7CisgICAgICAgIH0pOworICAgICAgICAKKyAgICAgICAgcmV0
dXJuIGNoZWNrZWRWYWx1ZXM7CisgICAgfQorCisgICAgZnVuY3Rpb24gdXBkYXRlU2VhcmNoKHBy
b3BlcnRpZXMpCisgICAgeworICAgICAgICB2YXIgaW5wdXRGaWVsZCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdzZWFyY2gnKTsKKyAgICAgICAgdmFyIHN0YXR1c0NvbnRhaW5lciA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzdGF0dXMtZmlsdGVycycpOworCisgICAgICAgIHZhciBzZWFy
Y2hUZXJtID0gaW5wdXRGaWVsZC52YWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTsKKyAgICAgICAg
dmFyIGFjdGl2ZVN0YXR1c0ZpbHRlcnMgPSBnZXRWYWx1ZXNPZkNoZWNrZWRJdGVtcyhbXS5zbGlj
ZS5jYWxsKHN0YXR1c0NvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKCcuZmlsdGVyLXRvZ2dsZScp
KSk7CiAKLSAgICAgICAgICAgIGlmICh2aXNpYmxlICYmICFmZWF0dXJlLnZpc2libGUpIHsKLSAg
ICAgICAgICAgICAgICBmZWF0dXJlLmVsLmNsYXNzTmFtZSA9ICdmZWF0dXJlJzsKLSAgICAgICAg
ICAgIH0gZWxzZSBpZiAoIXZpc2libGUgJiYgZmVhdHVyZS52aXNpYmxlKSB7Ci0gICAgICAgICAg
ICAgICAgZmVhdHVyZS5lbC5jbGFzc05hbWUgPSAnZmVhdHVyZSBpcy1oaWRkZW4nOworICAgICAg
ICB2YXIgbnVtVmlzaWJsZSA9IHNlYXJjaEZlYXR1cmVzKHByb3BlcnRpZXMsIHNlYXJjaFRlcm0s
IGFjdGl2ZVN0YXR1c0ZpbHRlcnMpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
ZmVhdHVyZS1wbHVyYWxpemUnKS50ZXh0Q29udGVudCA9IG51bVZpc2libGUgPT0gMSA/ICdmZWF0
dXJlJyA6ICdmZWF0dXJlcyc7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmZWF0
dXJlLWNvdW50JykudGV4dENvbnRlbnQgPSBudW1WaXNpYmxlOworICAgICAgICAKKyAgICAgICAg
Ly91cGRhdGVTcGVjc1N0YXRlKCk7CisgICAgICAgIHVwZGF0ZVVSTChzZWFyY2hUZXJtLCBhY3Rp
dmVTdGF0dXNGaWx0ZXJzKTsKKyAgICB9CisgICAgCisgICAgZnVuY3Rpb24gc2VhcmNoRmVhdHVy
ZXMoZmVhdHVyZXMsIHNlYXJjaFRlcm0sIHN0YXR1c0ZpbHRlcnMpCisgICAgeworICAgICAgICB2
YXIgdmlzaWJsZUNvdW50ID0gMDsKKyAgICAgICAgZmVhdHVyZXMuZm9yRWFjaChmdW5jdGlvbihm
ZWF0dXJlT2JqZWN0KSB7CisgICAgICAgICAgICB2YXIgbWF0Y2hlc1N0YXR1c1NlYXJjaCA9IGlz
U3RhdHVzRmlsdGVyZWQoZmVhdHVyZU9iamVjdCwgc3RhdHVzRmlsdGVycyk7CisgICAgICAgICAg
ICAKKyAgICAgICAgICAgIHZhciB2aXNpYmxlID0gaXNTZWFyY2hNYXRjaChmZWF0dXJlT2JqZWN0
LCBzZWFyY2hUZXJtKSAmJiBtYXRjaGVzU3RhdHVzU2VhcmNoOworICAgICAgICAgICAgaWYgKHZp
c2libGUgJiYgIWZlYXR1cmVPYmplY3QudmlzaWJsZSkKKyAgICAgICAgICAgICAgICBmZWF0dXJl
T2JqZWN0LmVsLmNsYXNzTmFtZSA9ICdmZWF0dXJlJzsKKyAgICAgICAgICAgIGVsc2UgaWYgKCF2
aXNpYmxlICYmIGZlYXR1cmVPYmplY3QudmlzaWJsZSkKKyAgICAgICAgICAgICAgICBmZWF0dXJl
T2JqZWN0LmVsLmNsYXNzTmFtZSA9ICdmZWF0dXJlIGlzLWhpZGRlbic7CisgICAgICAgICAgICAK
KyAgICAgICAgICAgIGlmICh2aXNpYmxlKSB7CisgICAgICAgICAgICAgICAgLy8gZmlsdGVyVmFs
dWVzKGZlYXR1cmVPYmplY3QsIHNlYXJjaFRlcm0pOworICAgICAgICAgICAgICAgICsrdmlzaWJs
ZUNvdW50OwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBmZWF0dXJlLnZpc2libGUgPSB2
aXNpYmxlOworICAgICAgICAgICAgZmVhdHVyZU9iamVjdC52aXNpYmxlID0gdmlzaWJsZTsKICAg
ICAgICAgfSk7CisgICAgICAgIAorICAgICAgICByZXR1cm4gdmlzaWJsZUNvdW50OwogICAgIH0K
IAotICAgIGZ1bmN0aW9uIGlzU2VhcmNoTWF0Y2goZmVhdHVyZSwgc2VhcmNoVGVybSkgeworICAg
IGZ1bmN0aW9uIGlzU2VhcmNoTWF0Y2goZmVhdHVyZSwgc2VhcmNoVGVybSkKKyAgICB7CiAgICAg
ICAgIGlmIChmZWF0dXJlLm5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRlcm0pICE9
PSAtMSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBpZiAoImtleXdvcmRzIiBp
biBmZWF0dXJlKSB7CkBAIC02OTEsNyArODM5LDggQEAgZnVuY3Rpb24gaW5pdGlhbGl6ZVN0YXR1
c1BhZ2UoKSB7CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAgICBmdW5jdGlvbiBp
c1N0YXR1c0ZpbHRlcmVkKGZlYXR1cmUsIGFjdGl2ZUZpbHRlcnMpIHsKKyAgICBmdW5jdGlvbiBp
c1N0YXR1c0ZpbHRlcmVkKGZlYXR1cmUsIGFjdGl2ZUZpbHRlcnMpCisgICAgewogICAgICAgICBp
ZiAoYWN0aXZlRmlsdGVycy5sZW5ndGggPT0gMCkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgICAgICBpZiAoZmVhdHVyZS5zdGF0dXMgPT09IHVuZGVmaW5lZCkKQEAgLTcwMSw4ICs4NTAs
MjcgQEAgZnVuY3Rpb24gaW5pdGlhbGl6ZVN0YXR1c1BhZ2UoKSB7CiAKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiBmaWx0ZXJWYWx1ZXMoZmVhdHVyZU9i
amVjdCwgc2VhcmNoVGVybSwgc3RhdHVzRmlsdGVycykKKyAgICB7CisgICAgICAgIAorICAgICAg
ICAKKyAgICAgICAgZm9yICh2YXIgdmFsdWVPYmogb2YgZmVhdHVyZU9iamVjdC52YWx1ZXMpIHsK
KyAgICAgICAgICAgIGlmICghdmFsdWVPYmouZWwpCisgICAgICAgICAgICAgICAgY29udGludWU7
CisKKyAgICAgICAgICAgIHZhciB2aXNpYmxlID0gZmFsc2U7CisgICAgICAgICAgICB2aXNpYmxl
ID0gdmFsdWVPYmoudmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRlcm0pICE9PSAt
MTsKKworICAgICAgICAgICAgaWYgKHZpc2libGUpCisgICAgICAgICAgICAgICAgdmFsdWVPYmou
ZWwuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyk7CisgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgdmFsdWVPYmouZWwuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7CisgICAgICAgIH0K
KyAgICB9CiAKLSAgICBmdW5jdGlvbiBkaXNwbGF5RmVhdHVyZXMocmVzdWx0cykgeworICAgIGZ1
bmN0aW9uIGRpc3BsYXlGZWF0dXJlcyhyZXN1bHRzKQorICAgIHsKICAgICAgICAgdmFyIG1haW5D
b250ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZlYXR1cmUtbGlzdCIpOwogICAgICAg
ICB2YXIgc3VjY2Vzc1N1YnRyZWUgPSBkb2N1bWVudC5pbXBvcnROb2RlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJzdWNjZXNzLXRlbXBsYXRlIikuY29udGVudCwgdHJ1ZSk7CiAgICAgICAgIG1h
aW5Db250ZW50LmFwcGVuZENoaWxkKHN1Y2Nlc3NTdWJ0cmVlKTsKQEAgLTcyNSw5ICs4OTMsMTYg
QEAgZnVuY3Rpb24gaW5pdGlhbGl6ZVN0YXR1c1BhZ2UoKSB7CiAgICAgICAgIHZhciBmZWF0dXJl
c0J5TmFtZSA9IHt9OwogICAgICAgICBmb3IgKHZhciBmZWF0dXJlIG9mIGFsbEZlYXR1cmVzKSB7
CiAgICAgICAgICAgICBpZiAoJ3NwZWNpZmljYXRpb24nIGluIGZlYXR1cmUpIHsKLSAgICAgICAg
ICAgICAgICB2YXIgc3BlY2lmaWNhdGlvbk9iamVjdCA9IHNwZWNpZmljYXRpb25zQnlOYW1lW2Zl
YXR1cmUuc3BlY2lmaWNhdGlvbl07Ci0gICAgICAgICAgICAgICAgc3BlY2lmaWNhdGlvbk9iamVj
dC5mZWF0dXJlcy5wdXNoKGZlYXR1cmUpOwotICAgICAgICAgICAgICAgIGZlYXR1cmUuc3BlY2lm
aWNhdGlvbiA9IHNwZWNpZmljYXRpb25PYmplY3Q7CisgICAgICAgICAgICAgICAgdmFyIGZlYXR1
cmVTcGVjaWZpY2F0aW9uID0gZmVhdHVyZS5zcGVjaWZpY2F0aW9uOworICAgICAgICAgICAgICAg
IHZhciBzcGVjaWZpY2F0aW9uT2JqZWN0ID0gc3BlY2lmaWNhdGlvbnNCeU5hbWVbZmVhdHVyZVNw
ZWNpZmljYXRpb25dOworICAgICAgICAgICAgICAgIGlmIChzcGVjaWZpY2F0aW9uT2JqZWN0ICE9
IHVuZGVmaW5lZCkgeworICAgICAgICAgICAgICAgICAgICBzcGVjaWZpY2F0aW9uT2JqZWN0LmZl
YXR1cmVzLnB1c2goZmVhdHVyZSk7CisgICAgICAgICAgICAgICAgICAgIGZlYXR1cmUuc3BlY2lm
aWNhdGlvbiA9IHNwZWNpZmljYXRpb25PYmplY3Q7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICAgICAgZmVhdHVyZS5zcGVjaWZpY2F0aW9uID0geworICAgICAgICAg
ICAgICAgICAgICAgICAgbmFtZTogZmVhdHVyZVNwZWNpZmljYXRpb24KKyAgICAgICAgICAgICAg
ICAgICAgfTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBm
ZWF0dXJlLmlzU3BlY2lmaWNhdGlvbiA9IGZhbHNlOwogICAgICAgICAgICAgZmVhdHVyZXNCeU5h
bWVbZmVhdHVyZS5uYW1lXSA9IGZlYXR1cmU7CkBAIC03MzYsOCArOTExLDEyIEBAIGZ1bmN0aW9u
IGluaXRpYWxpemVTdGF0dXNQYWdlKCkgewogICAgICAgICB2YXIgZXZlcnl0aGluZ1RvU2hvdyA9
IGFsbEZlYXR1cmVzLmNvbmNhdChhbGxTcGVjaWZpY2F0aW9ucyk7CiAKICAgICAgICAgc29ydEFs
cGhhYmV0aWNhbGx5KGV2ZXJ5dGhpbmdUb1Nob3cpOworICAgICAgICAKICAgICAgICAgcmVuZGVy
RmVhdHVyZXNBbmRTcGVjaWZpY2F0aW9ucyhldmVyeXRoaW5nVG9TaG93KTsKKyAgICAgICAgCiAg
ICAgICAgIGluaXRTZWFyY2goZXZlcnl0aGluZ1RvU2hvdyk7CisgICAgICAgIAorICAgICAgICB1
cGRhdGVTZWFyY2goZXZlcnl0aGluZ1RvU2hvdyk7CiAKICAgICAgICAgaWYgKHdpbmRvdy5sb2Nh
dGlvbi5oYXNoKSB7CiAgICAgICAgICAgICB2YXIgaGFzaCA9IHdpbmRvdy5sb2NhdGlvbi5oYXNo
OwpAQCAtNzQ2LDcgKzkyNSw4IEBAIGZ1bmN0aW9uIGluaXRpYWxpemVTdGF0dXNQYWdlKCkgewog
ICAgICAgICB9CiAgICAgfQogCi0gICAgZnVuY3Rpb24gZGlzcGxheUVycm9yKGVycm9yKSB7Cisg
ICAgZnVuY3Rpb24gZGlzcGxheUVycm9yKGVycm9yKQorICAgIHsKICAgICAgICAgdmFyIG1haW5D
b250ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZlYXR1cmUtbGlzdCIpOwogICAgICAg
ICB2YXIgc3VjY2Vzc1N1YnRyZWUgPSBkb2N1bWVudC5pbXBvcnROb2RlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlcnJvci10ZW1wbGF0ZSIpLmNvbnRlbnQsIHRydWUpOwogCkBAIC03NjIsNiAr
OTQyLDMwIEBAIGZ1bmN0aW9uIGluaXRpYWxpemVTdGF0dXNQYWdlKCkgewogCiAgICAgICAgIG1h
aW5Db250ZW50LmFwcGVuZENoaWxkKHN1Y2Nlc3NTdWJ0cmVlKTsKICAgICB9CisgICAgCisgICAg
ZnVuY3Rpb24gdXBkYXRlVVJMKHNlYXJjaFRlcm0sIGFjdGl2ZVN0YXR1c0ZpbHRlcnMpCisgICAg
eworICAgICAgICB2YXIgc2VhcmNoU3RyaW5nID0gJyc7CisgICAgICAgIAorICAgICAgICBmdW5j
dGlvbiBhcHBlbmREZWxpbWl0ZXIoKQorICAgICAgICB7CisgICAgICAgICAgICBzZWFyY2hTdHJp
bmcgKz0gc2VhcmNoU3RyaW5nLmxlbmd0aCA/ICcmJyA6ICc/JzsKKyAgICAgICAgfQorICAgICAg
ICAKKyAgICAgICAgaWYgKHNlYXJjaFRlcm0ubGVuZ3RoID4gMCkgeworICAgICAgICAgICAgYXBw
ZW5kRGVsaW1pdGVyKCk7CisgICAgICAgICAgICBzZWFyY2hTdHJpbmcgKz0gJ3NlYXJjaD0nICsg
ZW5jb2RlVVJJQ29tcG9uZW50KHNlYXJjaFRlcm0pOworICAgICAgICB9CisgICAgICAgIAorICAg
ICAgICBpZiAoYWN0aXZlU3RhdHVzRmlsdGVycy5sZW5ndGgpIHsKKyAgICAgICAgICAgIGFwcGVu
ZERlbGltaXRlcigpOworICAgICAgICAgICAgc2VhcmNoU3RyaW5nICs9ICdzdGF0dXM9JyArIGFj
dGl2ZVN0YXR1c0ZpbHRlcnMuam9pbignLCcpOworICAgICAgICB9CisKKyAgICAgICAgdmFyIGN1
cnJlbnQgPSB3aW5kb3cubG9jYXRpb24uaHJlZjsKKyAgICAgICAgd2luZG93LmxvY2F0aW9uLmhy
ZWYgPSBjdXJyZW50LnJlcGxhY2UoLyMoLiopJC8sICcnKSArICcjJyArIHNlYXJjaFN0cmluZzsK
KyAgICB9CisgICAgCiAKICAgICBQcm9taXNlLmFsbChbbG9hZEphdmFTY3JpcHRDb3JlRmVhdHVy
ZXMsIGxvYWRXZWJDb3JlRmVhdHVyZXNdKS50aGVuKGRpc3BsYXlGZWF0dXJlcykuY2F0Y2goZGlz
cGxheUVycm9yKTsKIH0KQEAgLTc2OSw0ICs5NzMsNCBAQCBmdW5jdGlvbiBpbml0aWFsaXplU3Rh
dHVzUGFnZSgpIHsKIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQi
LCBpbml0aWFsaXplU3RhdHVzUGFnZSk7CiA8L3NjcmlwdD4KIAotPD9waHAgZ2V0X2Zvb3Rlcigp
OyA/PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzw/cGhwIGdldF9mb290ZXIoKTsgPz4K
ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0
L3N0eWxlLmNzcyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0
L3N0eWxlLmNzcwppbmRleCA4NWNlMDNhNTVhZDQ1YjhmZGI0YTgwNDUyODJkZjE1ODQ5NDJhMDMw
Li42OWNmMmVjYzUyYzA1OTRmZTBkYjQwOTY3MWU1YjJiYjEyNGFlYTc5IDEwMDY0NAotLS0gYS9X
ZWJzaXRlcy93ZWJraXQub3JnL3dwLWNvbnRlbnQvdGhlbWVzL3dlYmtpdC9zdHlsZS5jc3MKKysr
IGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93ZWJraXQvc3R5bGUuY3Nz
CkBAIC0xNzEsNyArMTcxLDYgQEAgaW5wdXRbdHlwZT1zdWJtaXRdIHsKICAgICBib3JkZXI6IDA7
CiB9CiAKLQogLmFkbWluLWJhciBhW25hbWVdIHsKICAgICB0b3A6IGNhbGMoLTMycHggLSAzcmVt
KTsKIH0KQEAgLTE0MDYsMTQgKzE0MDUsNiBAQCBhcnRpY2xlLAogICAgIGNvbnRlbnQ6ICIiOwog
ICAgIGJhY2tncm91bmQ6IHVybCgnaW1hZ2VzL21lbnUtZG93bi5zdmcnKSBuby1yZXBlYXQgNTAl
OwogICAgIGJhY2tncm91bmQtc2l6ZTogMnJlbTsKLSAgICB3aWR0aDogMnJlbTsKLSAgICBoZWln
aHQ6IDJyZW07Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHJpZ2h0OiAwOwotICAgIHRv
cDogMC41cmVtOwotICAgIC13ZWJraXQtdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1v
dXQ7Ci0gICAgLW1vei10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDsKLSAgICB0
cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDsKIH0KIAogLmZlYXR1cmUub3BlbmVk
IC5mZWF0dXJlLWhlYWRlcjphZnRlciB7CkBAIC0xOTM3LDYgKzE5MjgsNyBAQCBoZWFkZXIgLm1l
bnUtaXRlbSB7IC8qIGFkZCBib3R0b20gZGltZW5zaW9uIHRvIG1haW4gbWVudSBpdGVtcyAqLwog
ICAgIGZvb3RlciBuYXYgbGkgewogICAgICAgICBwYWRkaW5nOiAwIDNyZW0gM3JlbSAwOwogICAg
IH0KKyAgICAKIH0KIAogQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2OTBweCkg
ewpAQCAtMjA0NSwzNyArMjAzNyw2IEBAIGhlYWRlciAubWVudS1pdGVtIHsgLyogYWRkIGJvdHRv
bSBkaW1lbnNpb24gdG8gbWFpbiBtZW51IGl0ZW1zICovCiAgICAgICAgIG1hcmdpbi1ib3R0b206
IDJyZW07CiAgICAgfQogCi0gICAgLmZlYXR1cmUtZmlsdGVycyB7Ci0gICAgICAgIGhlaWdodDog
NnJlbTsKLSAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKLSAgICB9Ci0KLSAgICAuZmVhdHVyZS1m
aWx0ZXJzLm9wZW5lZCB7Ci0gICAgICAgIGhlaWdodDogYXV0bzsKLSAgICB9Ci0KLSAgICAuZmVh
dHVyZS1maWx0ZXJzOmFmdGVyIHsKLSAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwotICAg
ICAgICBjb250ZW50OiAiIjsKLSAgICAgICAgYmFja2dyb3VuZDogdXJsKCdpbWFnZXMvbWVudS1k
b3duLnN2ZycpIG5vLXJlcGVhdCA1MCU7Ci0gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMnJlbTsK
LSAgICAgICAgd2lkdGg6IDJyZW07Ci0gICAgICAgIGhlaWdodDogMnJlbTsKLSAgICAgICAgcG9z
aXRpb246IGFic29sdXRlOwotICAgICAgICByaWdodDogMXJlbTsKLSAgICAgICAgdG9wOiAycmVt
OwotICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0Owot
ICAgICAgICAtbW96LXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0OwotICAgICAg
ICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDsKLSAgICAgICAgcGVyc3BlY3Rp
dmU6IDYwMDsKLSAgICB9Ci0KLSAgICAuZmVhdHVyZS1maWx0ZXJzLm9wZW5lZDphZnRlciB7Ci0g
ICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKC0xODBkZWcpOwotICAgICAgICAtbW96
LXRyYW5zZm9ybTogcm90YXRlWCgtMTgwZGVnKTsKLSAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVY
KC0xODBkZWcpOwotICAgIH0KLQogICAgICN3cGFkbWluYmFyIHsKICAgICAgICAgcG9zaXRpb246
IGFic29sdXRlOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312153</attachid>
            <date>2017-06-06 18:56:33 -0700</date>
            <delta_ts>2017-06-07 09:04:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173036-20170606185631.patch</filename>
            <type>text/plain</type>
            <size>38628</size>
            <attacher name="Jon Davis">jond</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3ODU4CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQu
b3JnL0NoYW5nZUxvZyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCmluZGV4IDg5ODll
NmQxMjEzMWQ5Yjg2ODhjNmUyODRiYzcwYzM3MTU3YmY5ZmMuLjI3OTY0ZjEwYzYyNGRmOTA3MGNl
Y2ZmMjNhOGUwOGQ0YmZjZGFjYTggMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hh
bmdlTG9nCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTctMDYtMDYgIEpvbiBEYXZpcyAgPGpvbmRAYXBwbGUuY29tPgorCisgICAgICAgIFVw
ZGF0ZSB0aGUgZGVzaWduIG9mIHRoZSBXZWJLaXQgRmVhdHVyZSBTdGF0dXMgcGFnZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczMDM2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3cC1jb250ZW50L3Ro
ZW1lcy93ZWJraXQvZnVuY3Rpb25zLnBocDogRml4ZWQgYSBiYWQgZnVuY3Rpb24gY2FsbC4KKyAg
ICAgICAgKiB3cC1jb250ZW50L3RoZW1lcy93ZWJraXQvc3RhdHVzLnBocDogSW1wbGVtZW50ZWQg
cmVkZXNpZ24gd2l0aCBzYXZlZCBzZWFyY2guCisgICAgICAgICogd3AtY29udGVudC90aGVtZXMv
d2Via2l0L3N0eWxlLmNzczoKKyAgICAgICAgKC5mZWF0dXJlLWhlYWRlcjphZnRlcik6CisgICAg
ICAgIChAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkyMHB4KSk6CisgICAgICAg
IChAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSk6CisgICAgICAgICgu
ZmVhdHVyZS1maWx0ZXJzKTogRGVsZXRlZC4KKyAgICAgICAgKC5mZWF0dXJlLWZpbHRlcnMub3Bl
bmVkKTogRGVsZXRlZC4KKyAgICAgICAgKC5mZWF0dXJlLWZpbHRlcnM6YWZ0ZXIpOiBEZWxldGVk
LgorICAgICAgICAoLmZlYXR1cmUtZmlsdGVycy5vcGVuZWQ6YWZ0ZXIpOiBEZWxldGVkLgorCiAy
MDE3LTA2LTA2ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAg
ICAgQWRkIGEgV2ViR1BVIHRlc3QgdG8gdGhlIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyB0ZXN0IHBh
Z2UKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Vi
a2l0L2Z1bmN0aW9ucy5waHAgYi9XZWJzaXRlcy93ZWJraXQub3JnL3dwLWNvbnRlbnQvdGhlbWVz
L3dlYmtpdC9mdW5jdGlvbnMucGhwCmluZGV4IDI1ZmZjZWYyZTJhMTU3MzdhZTczYTA0OGE0YzEw
ZTQxZmJhNmYyYzIuLmE3YjIyMWVlOWExNDBhNGY3ZmMzZDdiOGZmZGI0ODExZWVhNjRhNGEgMTAw
NjQ0Ci0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0L2Z1
bmN0aW9ucy5waHAKKysrIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93
ZWJraXQvZnVuY3Rpb25zLnBocApAQCAtMjkwLDcgKzI5MCw3IEBAIGZ1bmN0aW9uIGh0bWxfc2Vs
ZWN0X29wdGlvbnMoYXJyYXkgJGxpc3QsICRzZWxlY3RlZCA9IG51bGwsICR2YWx1ZXMgPSBmYWxz
ZSwgJGFwCiAgICAgICAgICAgICBpZiAoIGlzX2FycmF5KCR0ZXh0KSApIHsKICAgICAgICAgICAg
ICAgICAkbGFiZWwgPSAkdmFsdWU7CiAgICAgICAgICAgICAgICAgJF8gLj0gJzxvcHRncm91cCBs
YWJlbD0iJyAuIGVzY19hdHRyKCRsYWJlbCkgLiAnIj4nOwotICAgICAgICAgICAgICAgICRfIC49
IHNlbGY6Om1lbnVvcHRpb25zKCR0ZXh0LCAkc2VsZWN0ZWQsICR2YWx1ZXMpOworICAgICAgICAg
ICAgICAgICRfIC49IGh0bWxfc2VsZWN0X29wdGlvbnMoJHRleHQsICRzZWxlY3RlZCwgJHZhbHVl
cyk7CiAgICAgICAgICAgICAgICAgJF8gLj0gJzwvb3B0Z3JvdXA+JzsKICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgICAgIH0gZWxzZSAkXyAuPSAiPG9wdGlvbiR2YWx1ZV9hdHRy
JHNlbGVjdGVkX2F0dHI+JHRleHQ8L29wdGlvbj4iOwpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93ZWJraXQvc3RhdHVzLnBocCBiL1dlYnNpdGVzL3dl
YmtpdC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0L3N0YXR1cy5waHAKaW5kZXggYTYyMDc3
YTRjYzZjOGU0ZDUwZDIzODFhYjU1N2Y0MjViZjUzMzhlOS4uYTJkMWU1ZWNjOTE4OGNhN2QyYWEx
ODQyODkwZWUxMzU2NmYzOTM3ZSAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy93cC1j
b250ZW50L3RoZW1lcy93ZWJraXQvc3RhdHVzLnBocAorKysgYi9XZWJzaXRlcy93ZWJraXQub3Jn
L3dwLWNvbnRlbnQvdGhlbWVzL3dlYmtpdC9zdGF0dXMucGhwCkBAIC0zNCwzMDUgKzM0LDMyNCBA
QCB2YXIgbG9hZFdlYkNvcmVGZWF0dXJlcyA9IHhoclByb21pc2UobmV3IFVSTCgiL3JlcG9zaXRv
cnkvd2Via2l0L3RydW5rL1NvdXJjZS9XZQogPC9zY3JpcHQ+CiAKIDxzdHlsZT4KLS5wYWdlIHsK
LSAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7Ci0gICAgZGlzcGxheTogZmxleDsKLSAgICAtd2Vi
a2l0LWZsZXgtd3JhcDogd3JhcDsKLSAgICBmbGV4LXdyYXA6IHdyYXA7Ci0gICAgLXdlYmtpdC1q
dXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47Ci0gICAganVzdGlmeS1jb250ZW50OiBzcGFj
ZS1iZXR3ZWVuOwotICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ci0gICAgd2lkdGg6IDEwMCU7
Ci19CiAKIC5wYWdlIGgxIHsKICAgICBmb250LXNpemU6IDQuMnJlbTsKICAgICBmb250LXdlaWdo
dDogMjAwOwogICAgIGxpbmUtaGVpZ2h0OiA2cmVtOwogICAgIGNvbG9yOiBibGFjazsKLSAgICB0
ZXh0LWFsaWduOiBsZWZ0OwogICAgIG1hcmdpbjogM3JlbSBhdXRvOwogICAgIHdpZHRoOiAxMDAl
OworICAgIHRleHQtYWxpZ246IGNlbnRlcjsKIH0KIAogLnBhZ2UgaDEgYSB7CiAgICAgY29sb3I6
ICM0NDQ0NDQ7Ci19Cit9ICAgIAogCi0ucGFnZSBoMiB7Ci0gICAgZm9udC13ZWlnaHQ6IDIwMDsK
LSAgICBmb250LXNpemU6IDNyZW07CisuZmVhdHVyZS1maWx0ZXJzIHsKKyAgICBiYWNrZ3JvdW5k
LWNvbG9yOiAjZmZmZmZmOworICAgIHdpZHRoOiAxMDB2dzsKKyAgICBsZWZ0OiA1MCU7CisgICAg
cG9zaXRpb246IHJlbGF0aXZlOworICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MHZ3LCAwKTsK
KyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OworICAgIG1hcmdpbi1ib3R0b206IDNyZW07Cisg
ICAgYm9yZGVyOiAxcHggc29saWQgI0RERERERDsKKyAgICBib3JkZXItbGVmdDogbm9uZTsKKyAg
ICBib3JkZXItcmlnaHQ6IG5vbmU7CiB9CiAKLS5wYWdlIGgzIHsKLSAgICBmb250LXdlaWdodDog
NDAwOwotICAgIGZvbnQtc2l6ZTogMi41cmVtOworLmZlYXR1cmUtZmlsdGVycyBmb3JtIHsKKyAg
ICBwYWRkaW5nLXRvcDogM3JlbTsKKyAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsKKyAgICBkaXNw
bGF5OiBmbGV4OworICAgIGZsZXgtd3JhcDogd3JhcDsKIH0KIAotLnBhZ2UgcCB7Ci0gICAgbWFy
Z2luLWJvdHRvbTogM3JlbTsKK2lucHV0W3R5cGU9dGV4dF0uc2VhcmNoLWlucHV0IHsKKyAgICBt
YXJnaW4tYm90dG9tOiAxcmVtOworICAgIHdpZHRoOiAxMDAlOworICAgIGZsZXg6IDE7CiB9CiAK
LSNmZWF0dXJlLWxpc3QgeworLmZlYXR1cmUtZmlsdGVycyBsaSB7CiAgICAgZGlzcGxheTogaW5s
aW5lLWJsb2NrOwotICAgIHdpZHRoOiA2NiU7Ci0gICAgd29yZC13cmFwOiBicmVhay13b3JkOwog
fQogCi0vKiBIaWRlIHRoZSBpbnRlcm5hbCBsaW5rcyBvbiBzZWFyY2ggc2luY2UgdGhleSBhcmUg
dW5saWtlbHkgdG8gd29yay4gKi8KLSNzZWFyY2g6cmVxdWlyZWQ6dmFsaWQgKyAqICAuaW50ZXJu
YWwtcmVmZXJlbmNlIHsKLSAgICBkaXNwbGF5OiBub25lOworLmZlYXR1cmUtc3RhdHVzIGxhYmVs
LAorLmZlYXR1cmUtZmlsdGVycyBsYWJlbCB7CisgICAgZGlzcGxheTogdGFibGUtY2VsbDsKKyAg
ICBwYWRkaW5nOiAwLjVyZW0gMXJlbTsKKyAgICBib3JkZXItc3R5bGU6IHNvbGlkOworICAgIGJv
cmRlci13aWR0aDogMXB4OworICAgIGJvcmRlci1yYWRpdXM6IDNweDsKKyAgICBjdXJzb3I6IHBv
aW50ZXI7CisgICAgZmxvYXQ6IHJpZ2h0OworICAgIGxpbmUtaGVpZ2h0OiAxOworICAgIGZvbnQt
c2l6ZTogMS42cmVtOwogfQogCi0uZmVhdHVyZS1oZWFkZXIgewotICAgIGRpc3BsYXk6IC13ZWJr
aXQtZmxleDsKLSAgICBkaXNwbGF5OiBmbGV4OwotICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246
IHJvdzsKLSAgICBmbGV4LWRpcmVjdGlvbjogcm93OworLnN0YXR1cy1maWx0ZXJzIGxhYmVsIHsK
KyAgICBtYXJnaW4tbGVmdDogMXJlbTsKIH0KLS5mZWF0dXJlLWhlYWRlciA+IGgzOmZpcnN0LW9m
LXR5cGUgewotICAgIC13ZWJraXQtZmxleC1ncm93OiAxOworCisuc3RhdHVzLWZpbHRlcnMgewor
ICAgIGxpc3Qtc3R5bGU6IG5vbmU7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIHRl
eHQtYWxpZ246IHJpZ2h0OworICAgIGZsZXg6IDI7CiAgICAgZmxleC1ncm93OiAxOwotICAgIG1h
cmdpbjogMDsKIH0KIAotdWwuZmVhdHVyZXMgewotICAgIHBhZGRpbmc6IDA7CisuZmlsdGVyLXRv
Z2dsZTpjaGVja2VkICsgLmZpbHRlci1zdGF0dXMgeworICAgIGNvbG9yOiAjZmZmZmZmOwogfQog
Ci0uZmVhdHVyZXMgLmZlYXR1cmUgewotICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAgICBkaXNw
bGF5OiBibG9jazsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OwotICAgIGJvcmRlcjog
MXB4IHNvbGlkICNkZGRkZGQ7Ci0gICAgYm9yZGVyLXJhZGl1czogM3B4OwotICAgIHBhZGRpbmc6
IDFlbTsKLSAgICBtYXJnaW46IDFlbSAwICFpbXBvcnRhbnQ7Ci0gICAgbWF4LWhlaWdodDogaW50
cmluc2ljOwotICAgIG1pbi1oZWlnaHQ6IDNyZW07Ci0gICAgb3ZlcmZsb3cteTogaGlkZGVuOwot
ICAgIGN1cnNvcjogcG9pbnRlcjsKLSAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQt
Y29sb3IgMC4zcyBlYXNlLWluOwotICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xv
ciAwLjNzIGVhc2UtaW47Ci0gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVh
c2UtaW47CisuZmlsdGVyLXN0YXR1cywKKy5mZWF0dXJlLXN0YXR1cyB7CisgICAgY29sb3I6ICM5
OTk5OTk7CisgICAgYm9yZGVyLWNvbG9yOiAjOTk5OTk5OwogfQogCi0uZmVhdHVyZXMgLmZlYXR1
cmU6aG92ZXIgewotICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOworLmZlYXR1cmUtc3RhdHVz
IGEgeworICAgIGNvbG9yOiBpbmhlcml0OwogfQogCi0uZmVhdHVyZS5vcGVuZWQgewotICAgIGJh
Y2tncm91bmQtY29sb3I6IHdoaXRlOwotICAgIG1heC1oZWlnaHQ6IDEyMHJlbTsKKy5maWx0ZXIt
c3RhdHVzLAorLnN0YXR1cy1tYXJrZXIgeworICAgIGJvcmRlci1jb2xvcjogIzk5OTk5OTsKK30K
Ky5maWx0ZXItdG9nZ2xlOmNoZWNrZWQgKyAuZmlsdGVyLXN0YXR1cyB7CisgICAgYmFja2dyb3Vu
ZC1jb2xvcjogIzk5OTk5OTsKIH0KIAotLmZlYXR1cmUtZGVzY3JpcHRpb24gKyAqLAotLmZlYXR1
cmUtZGVzY3JpcHRpb24gLmZlYXR1cmUtZGVzYywKLS5mZWF0dXJlLWRlc2NyaXB0aW9uIC5jb21t
ZW50IHsKLSAgICBkaXNwbGF5OiBub25lOwotICAgIG1hcmdpbjogMDsKKy5zdXBwb3J0ZWQgewor
ICAgIGNvbG9yOiAjMzM5OTAwOworICAgIGJvcmRlci1jb2xvcjogIzMzOTkwMDsKIH0KIAotLmZl
YXR1cmUub3BlbmVkIC5mZWF0dXJlLWRlc2NyaXB0aW9uICsgKiwKLS5mZWF0dXJlLm9wZW5lZCAu
ZmVhdHVyZS1kZXNjLAotLmZlYXR1cmUub3BlbmVkIC5mZWF0dXJlLWRlc2NyaXB0aW9uIC5jb21t
ZW50IHsKLSAgICBkaXNwbGF5OiBibG9jazsKLSAgICBtYXJnaW4tYm90dG9tOiAzcmVtOworLmZp
bHRlci10b2dnbGU6Y2hlY2tlZCArIC5zdXBwb3J0ZWQgeworICAgIGJhY2tncm91bmQtY29sb3I6
ICMzMzk5MDA7CiB9CiAKLS5mZWF0dXJlLm9wZW5lZCAuZmVhdHVyZS1kZXNjcmlwdGlvbiArICo6
bGFzdC1jaGlsZCB7Ci0gICAgbWFyZ2luLWJvdHRvbTogMDsKKy5zdXBwb3J0ZWQtaW4tcHJldmll
dyB7CisgICAgY29sb3I6ICM2NjE0OWY7CisgICAgYm9yZGVyLWNvbG9yOiAjNjYxNDlmOwogfQog
Ci0uc3ViLWZlYXR1cmVzIHsKLSAgICBmb250LXNpemU6IDEuNXJlbTsKLSAgICBjb2xvcjogIzU1
NTsKKy5maWx0ZXItdG9nZ2xlOmNoZWNrZWQgKyAuc3VwcG9ydGVkLWluLXByZXZpZXcgeworICAg
IGJhY2tncm91bmQtY29sb3I6ICM2NjE0OWY7CiB9CiAKLS5zdWItZmVhdHVyZXMgdWwgewotICAg
IGxpc3Qtc3R5bGU6IG5vbmU7Ci0gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwotICAgIHBhZGRp
bmc6IDA7Ci0gICAgbWFyZ2luOiAwOworLmluLWRldmVsb3BtZW50IHsKKyAgICBjb2xvcjogI2Y0
NmMwZTsKKyAgICBib3JkZXItY29sb3I6ICNmNDZjMGU7Cit9CisuZmlsdGVyLXRvZ2dsZTpjaGVj
a2VkICsgLmluLWRldmVsb3BtZW50IHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ2YzBlOwog
fQogCi0uc3ViLWZlYXR1cmVzIGxpIHsKLSAgICBkaXNwbGF5OiBpbmxpbmU7Cisubm8tYWN0aXZl
LWRldmVsb3BtZW50IHsKKyAgICBjb2xvcjogIzU4NThENjsKKyAgICBib3JkZXItY29sb3I6ICM1
ODU4RDY7CiB9CiAKLS5zdWItZmVhdHVyZXMgbGk6YWZ0ZXIgewotICAgIGNvbnRlbnQ6ICIsICI7
CisuZmlsdGVyLXRvZ2dsZTpjaGVja2VkICsgLm5vLWFjdGl2ZS1kZXZlbG9wbWVudCB7CisgICAg
YmFja2dyb3VuZC1jb2xvcjogIzU4NThENjsKIH0KIAotLnN1Yi1mZWF0dXJlcyBsaTpsYXN0LWNo
aWxkOmFmdGVyIHsKLSAgICBjb250ZW50OiAiIjsKKy5wYXJ0aWFsbHktc3VwcG9ydGVkICB7Cisg
ICAgY29sb3I6ICM1NDhjOGM7CisgICAgYm9yZGVyLWNvbG9yOiAjNTQ4YzhjOwogfQogCi0uZmVh
dHVyZS1oZWFkZXIgewotICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAgICBwYWRkaW5nLXJpZ2h0
OiAzcmVtOworLmZpbHRlci10b2dnbGU6Y2hlY2tlZCArIC5wYXJ0aWFsbHktc3VwcG9ydGVkIHsK
KyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ4YzhjOwogfQogCi0uZmVhdHVyZS1oZWFkZXIgaDMg
LmludGVybmFsLXJlZmVyZW5jZSBhIHsKLSAgICBjb2xvcjogIzk5OTk5OTsKLSAgICB0ZXh0LWRl
Y29yYXRpb246IG5vbmU7Ci0gICAgcGFkZGluZy1sZWZ0OiAwLjVlbTsKKy5wcm90b3R5cGluZyB7
CisgICAgY29sb3I6ICMwMDdBRkY7CisgICAgYm9yZGVyLWNvbG9yOiAjMDA3QUZGOwogfQogCi0u
ZmVhdHVyZS1oZWFkZXIgaDMgYSB7Ci0gICAgY29sb3I6ICM0NDQ7CisuZmlsdGVyLXRvZ2dsZTpj
aGVja2VkICsgLnByb3RvdHlwaW5nIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3QUZGOwog
fQogCi0uZmVhdHVyZS1oZWFkZXIgaDMgLmludGVybmFsLXJlZmVyZW5jZSBhOmhvdmVyIHsKLSAg
ICBjb2xvcjogaW5oZXJpdDsKLSAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKKy51bmRl
ci1jb25zaWRlcmF0aW9uIHsKKyAgICBjb2xvcjogI2MyNzg3MDsKKyAgICBib3JkZXItY29sb3I6
ICNjMjc4NzA7Cit9CisKKy5maWx0ZXItdG9nZ2xlOmNoZWNrZWQgKyAudW5kZXItY29uc2lkZXJh
dGlvbiB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogI2MyNzg3MDsKIH0KIAogLmZlYXR1cmUuaXMt
aGlkZGVuIHsKICAgICBkaXNwbGF5OiBub25lOwogfQogCi11bC5mZWF0dXJlLWRldGFpbHMgewot
ICAgIG1hcmdpbjogMDsKLX0KLS5mZWF0dXJlLXN0YXR1c0l0ZW0gewotICAgIG1hcmdpbi1yaWdo
dDogMC41ZW07Ci19CisuZmVhdHVyZXMgeworICAgIG1heC13aWR0aDogOTIwcHg7CisgICAgbWFy
Z2luOiAwIGF1dG8gM3JlbTsKKyAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U0ZTRlNDsK
KyAgICAKK30gCiAKLS5mZWF0dXJlLXN0YXR1cyB7Ci0gICAgZm9udC1zaXplOiAycmVtOwotICAg
IGRpc3BsYXk6IGlubGluZS1ibG9jazsKLSAgICBwb3NpdGlvbjogcmVsYXRpdmU7Ci0gICAgbWlu
LXdpZHRoOiA1ZW07CisuZmVhdHVyZS1jb3VudCB7CisgICAgbWF4LXdpZHRoOiA5MjBweDsKKyAg
ICBtYXJnaW46IDAgYXV0byAzcmVtOworICAgIAogICAgIHRleHQtYWxpZ246IHJpZ2h0OworICAg
IGNvbG9yOiAjOTk5OwogfQogCi0uZmVhdHVyZS1zdGF0dXMsCi0uZmVhdHVyZS1zdGF0dXMgYSB7
Ci0gICAgY29sb3I6ICM5OTk5OTk7CisuZmVhdHVyZS1jb3VudCBwIHsKKyAgICBtYXJnaW46IDA7
CiB9CiAKLS5mZWF0dXJlIC5zdGF0dXMtbWFya2VyIHsKLSAgICB3aWR0aDogMDsKLSAgICBoZWln
aHQ6IDA7Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwotICAgIHRvcDogMDsKLSAgICBsZWZ0OiAw
OworLmZlYXR1cmUgeworICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7CisgICAgYm9yZGVy
LXdpZHRoOiAxcHg7CiAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKLSAgICBib3JkZXItd2lkdGg6
IDIwcHggMjBweCAwIDA7Ci0gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVu
dCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsKKyAgICBib3JkZXItdG9wLWNvbG9yOiAjZTRlNGU0
OworICAgIHBhZGRpbmc6IDAuNXJlbTsKKyAgICBsaW5lLWhlaWdodDogMS42MTg7CisgICAgLXdl
YmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1vdXQ7CisgICAgdHJh
bnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2Utb3V0OwogfQogCi0jc3RhdHVzLWZp
bHRlcnMgLnN1cHBvcnRlZCwKLS5mZWF0dXJlLXN0YXR1cy5zdXBwb3J0ZWQsCi0uZmVhdHVyZS1z
dGF0dXMuc3VwcG9ydGVkIGEgewotICAgIGNvbG9yOiAjMzM5OTAwOworLmZlYXR1cmUtaGVhZGVy
IHsKKyAgICBmb250LXdlaWdodDogNDAwOworICAgIGZvbnQtc2l6ZTogMi41cmVtOworICAgIGRp
c3BsYXk6IGZsZXg7CiB9CiAKLS5zdGF0dXMtbWFya2VyLnN1cHBvcnRlZCB7Ci0gICAgYm9yZGVy
LWNvbG9yOiAjMzM5OTAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OworLmZl
YXR1cmUtaGVhZGVyIGgzIHsKKyAgICBmbGV4OiAxOworICAgIGZsZXgtZ3JvdzogMjsKKyAgICBw
YWRkaW5nLXJpZ2h0OiAxcmVtOworICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiB9CiAKLSNz
dGF0dXMtZmlsdGVycyAuaW4tZGV2ZWxvcG1lbnQsCi0uZmVhdHVyZS1zdGF0dXMuaW4tZGV2ZWxv
cG1lbnQsCi0uZmVhdHVyZS1zdGF0dXMuaW4tZGV2ZWxvcG1lbnQgYSB7Ci0gICAgY29sb3I6ICNm
NDZjMGU7CisuZmVhdHVyZS1oZWFkZXIgaDMgYSB7IAorICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07
CiB9CiAKLS5zdGF0dXMtbWFya2VyLmluLWRldmVsb3BtZW50IHsKLSAgICBib3JkZXItY29sb3I6
ICNmNDZjMGUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CisuZmVhdHVyZS1o
ZWFkZXIgLmZlYXR1cmUtc3RhdHVzIHsKKyAgICBmbGV4OiAyOworICAgIHRleHQtYWxpZ246IHJp
Z2h0OworICAgIGZvbnQtc2l6ZTogMnJlbTsKIH0KIAotI3N0YXR1cy1maWx0ZXJzIC5uby1hY3Rp
dmUtZGV2ZWxvcG1lbnQsCi0uZmVhdHVyZS1zdGF0dXMubm8tYWN0aXZlLWRldmVsb3BtZW50LAot
LmZlYXR1cmUtc3RhdHVzLm5vLWFjdGl2ZS1kZXZlbG9wbWVudCBhIHsKLSAgICBjb2xvcjogIzU4
NThENjsKKy5mZWF0dXJlLWNvbnRhaW5lci5zdGF0dXMtbWFya2VyIHsKKyAgICBib3JkZXItbGVm
dC13aWR0aDogM3B4OworICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsKKyAgICBwYWRkaW5n
OiAwLjVyZW0gMCAwLjVyZW0gMXJlbTsKIH0KIAotLnN0YXR1cy1tYXJrZXIubm8tYWN0aXZlLWRl
dmVsb3BtZW50IHsKLSAgICBib3JkZXItY29sb3I6ICM1ODU4RDYgdHJhbnNwYXJlbnQgdHJhbnNw
YXJlbnQgdHJhbnNwYXJlbnQ7CisuZmVhdHVyZS1oZWFkZXIgYVtuYW1lXSB7CisgICAgY29sb3I6
ICM0NDQ0NDQ7CiB9CiAKLSNzdGF0dXMtZmlsdGVycyAucGFydGlhbC1zdXBwb3J0LAotLmZlYXR1
cmUtc3RhdHVzLnBhcnRpYWwtc3VwcG9ydCwKLS5mZWF0dXJlLXN0YXR1cy5wYXJ0aWFsLXN1cHBv
cnQgYSB7Ci0gICAgY29sb3I6ICM1NDhjOGM7CisuZmVhdHVyZS1oZWFkZXIgLmludGVybmFsLXJl
ZmVyZW5jZSB7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIGZvbnQtc2l6ZTogMS42
cmVtOworICAgIGZvbnQtd2VpZ2h0OiA2MDA7CisgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKIH0K
IAotLnN0YXR1cy1tYXJrZXIucGFydGlhbC1zdXBwb3J0IHsKLSAgICBib3JkZXItY29sb3I6ICM1
NDhjOGMgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CisuZmVhdHVyZS1oZWFk
ZXIgLmludGVybmFsLXJlZmVyZW5jZSBhIHsKKyAgICBjb2xvcjogIzk5OTk5OTsKIH0KIAotI3N0
YXR1cy1maWx0ZXJzIC5wcm90b3R5cGluZywKLS5mZWF0dXJlLXN0YXR1cy5wcm90b3R5cGluZywK
LS5mZWF0dXJlLXN0YXR1cy5wcm90b3R5cGluZyBhIHsKLSAgICBjb2xvcjogIzAwN0FGRjsKKy5m
ZWF0dXJlLWhlYWRlcjphZnRlciB7CisgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgIHdpZHRo
OiAycmVtOworICAgIGhlaWdodDogMnJlbTsKKyAgICByaWdodDogMDsKKyAgICB0b3A6IDAuNXJl
bTsKKyAgICBtYXJnaW4tbGVmdDogMXJlbTsKKyAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5z
Zm9ybSAwLjNzIGVhc2Utb3V0OworICAgIC1tb3otdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3Mg
ZWFzZS1vdXQ7CisgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7CiB9CiAK
LS5zdGF0dXMtbWFya2VyLnByb3RvdHlwaW5nIHsKLSAgICBib3JkZXItY29sb3I6ICMwMDdBRkYg
dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CisuZmVhdHVyZS1kZXRhaWxzIHsK
KyAgICBkaXNwbGF5OiBub25lOworICAgIHdpZHRoOiA1MCU7CiB9CiAKLQotI3N0YXR1cy1maWx0
ZXJzIC51bmRlci1jb25zaWRlcmF0aW9uLAotLmZlYXR1cmUtc3RhdHVzLnVuZGVyLWNvbnNpZGVy
YXRpb24sCi0uZmVhdHVyZS1zdGF0dXMudW5kZXItY29uc2lkZXJhdGlvbiBhIHsKLSAgICBjb2xv
cjogI2NjOWQwMDsKKy5mZWF0dXJlLm9wZW5lZCB7CisgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsK
KyAgICBib3JkZXItbGVmdC1jb2xvcjogI2U0ZTRlNDsKKyAgICBib3JkZXItcmlnaHQtY29sb3I6
ICNlNGU0ZTQ7CiB9CiAKLS5zdGF0dXMtbWFya2VyLnVuZGVyLWNvbnNpZGVyYXRpb24gewotICAg
IGJvcmRlci1jb2xvcjogI0ZGQzUwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVu
dDsKKy5mZWF0dXJlLm9wZW5lZCAuZmVhdHVyZS1kZXRhaWxzIHsKKyAgICBkaXNwbGF5OiBibG9j
azsKIH0KIAotLmZlYXR1cmUtc3RhdHVzLnJlbW92ZWQsCi0uZmVhdHVyZS1zdGF0dXMucmVtb3Zl
ZCBhIHsKKy5mZWF0dXJlIGg0IHsKICAgICBjb2xvcjogIzk5OTk5OTsKKyAgICBmb250LXdlaWdo
dDogNjAwOworICAgIG1hcmdpbi10b3A6IDFyZW07CisgICAgbWFyZ2luLWJvdHRvbTogMDsKIH0K
IAotLnN0YXR1cy1tYXJrZXIucmVtb3ZlZCB7Ci0gICAgYm9yZGVyLWNvbG9yOiAjOTk5OTk5IHRy
YW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OworLmZlYXR1cmUgLm1vcmVpbmZvIHsK
KyAgICBsaXN0LXN0eWxlOiBub25lOworICAgIGRpc3BsYXk6IGZsZXg7CisgICAgd2lkdGg6IDEw
MCU7CiB9CiAKLS5mZWF0dXJlLWZpbHRlcnMgewotICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAg
ICB0b3A6IDA7Ci0gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworLmZlYXR1cmUgLm1vcmVpbmZv
IGxpIHsKKyAgICBmbGV4LWdyb3c6IDE7Cit9CiAKLSAgICB3aWR0aDogLXdlYmtpdC1jYWxjKDMz
LjMzJSAtIDNyZW0pOwotICAgIHdpZHRoOiAtbW96LWNhbGMoMzMuMzMlIC0gM3JlbSk7Ci0gICAg
d2lkdGg6IGNhbGMoMzMuMzMlIC0gM3JlbSk7Ci0gICAgbWFyZ2luLXJpZ2h0OiAzcmVtOwotICAg
IGZvbnQtc2l6ZTogMnJlbTsKKy5mZWF0dXJlIC5tb3JlaW5mbyAuY29udGFjdCB7CisgICAgdGV4
dC1hbGlnbjogcmlnaHQ7CiB9CiAKLSNzZWFyY2ggewotICAgIGZvbnQtc2l6ZTogMnJlbTsKLSAg
ICBwYWRkaW5nOiAxcmVtOwotICAgIGJvcmRlci1yYWRpdXM6IDNweDsKLSAgICBib3JkZXI6IDFw
eCBzb2xpZCAjY2NjY2NjOwotICAgIHdpZHRoOiAxMDAlOwotICAgIG1hcmdpbi10b3A6IDEuNXJl
bTsKLSAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OworLmZlYXR1cmUgLmZlYXR1cmUtZGVzYyB7
CisgICAgY29sb3I6ICM0NDQ0NDQ7CiB9CiAKLS5mZWF0dXJlLWZpbHRlcnMgdWwgewotICAgIG1h
cmdpbi10b3A6IDNyZW07CisuZmVhdHVyZSAuY29tbWVudCB7CisgICAgY29sb3I6ICM2NjY2NjY7
CisgICAgZm9udC1zdHlsZTogaXRhbGljOwogfQogCi0uZmVhdHVyZS1maWx0ZXJzIHVsIGxpIHsK
LSAgICBtYXJnaW4tYm90dG9tOiAxcmVtOworLnN1Yi1mZWF0dXJlcyB7CisgICAgZm9udC1zaXpl
OiAxLjVyZW07CisgICAgY29sb3I6ICM1NTU7CiB9CiAKLS5mZWF0dXJlLWZpbHRlcnMgbGFiZWwg
PiBpbnB1dCB7Ci0gICAgcG9zaXRpb246IHJlbGF0aXZlOwotICAgIHRvcDogLTNweDsKKy5zdWIt
ZmVhdHVyZXMgdWwgeworICAgIGxpc3Qtc3R5bGU6IG5vbmU7CisgICAgcGFkZGluZzogMDsKKyAg
ICBtYXJnaW46IDA7CiB9CiAKLWgzIGFbbmFtZV0sIC5hZG1pbi1iYXIgaDMgYVtuYW1lXSB7Ci0g
ICAgdG9wOiBpbml0aWFsOwotICAgIHdpZHRoOiBhdXRvOworLnN1Yi1mZWF0dXJlcyBsaSB7CiAg
ICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwotICAgIHZpc2liaWxpdHk6IHZpc2libGU7CisgICAg
d2hpdGUtc3BhY2U6IG5vd3JhcDsKK30KKworLnN1Yi1mZWF0dXJlcyBsaTphZnRlciB7CisgICAg
Y29udGVudDogIiwgIjsKKyAgICB3aGl0ZS1zcGFjZTogcHJlOworfQorCisuc3ViLWZlYXR1cmVz
IGxpOmxhc3QtY2hpbGQ6YWZ0ZXIgeworICAgIGNvbnRlbnQ6ICIiOworfQorCitAbWVkaWEgb25s
eSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgeworICAgIC5mZWF0dXJlLWRldGFpbHMg
eworICAgICAgICB3aWR0aDogMTAwJTsKKyAgICB9CiB9CiAKIEBtZWRpYSBvbmx5IHNjcmVlbiBh
bmQgKG1heC13aWR0aDogNTA4cHgpIHsKQEAgLTM0MCw0MyArMzU5LDg3IEBAIGgzIGFbbmFtZV0s
IC5hZG1pbi1iYXIgaDMgYVtuYW1lXSB7CiAgICAgI2ZlYXR1cmUtbGlzdCB7CiAgICAgICAgIHdp
ZHRoOiAxMDAlOwogICAgIH0KLQorICAgIAogICAgICNmZWF0dXJlLWZpbHRlcnMgewotICAgICAg
ICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOwotICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7
Ci0gICAgICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7Ci0gICAgICAgIHBhZGRpbmc6IDFyZW07Ci0g
ICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ci0gICAgICAgIG1hcmdpbi1yaWdodDogMDsK
LSAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsKKyAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVt
OworICAgICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtOwogICAgIH0KIAogICAgIC5mZWF0dXJlLWhl
YWRlciBoMyB7CiAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTsKKyAgICAgICAgcGFkZGluZy1yaWdo
dDogMC41cmVtOwogICAgIH0KIAogICAgIC5mZWF0dXJlLXN0YXR1cyB7CiAgICAgICAgIGZvbnQt
c2l6ZTogMS42cmVtOwogICAgICAgICBtYXJnaW4tdG9wOiAwLjRyZW07CisgICAgICAgIGZsb2F0
OiBsZWZ0OworICAgIH0KKyAgICAKKyAgICAuZmVhdHVyZS1oZWFkZXI6YWZ0ZXIgeworICAgICAg
ICB3aWR0aDogMXJlbTsKKyAgICAgICAgaGVpZ2h0OiAxcmVtOworICAgICAgICBiYWNrZ3JvdW5k
LXNpemU6IDFyZW07CisgICAgICAgIHRvcDogMXJlbTsKKyAgICB9CisgICAgCisgICAgLmZlYXR1
cmUgaDMgeworICAgICAgICBmb250LXNpemU6IDJyZW07CisgICAgICAgIHBhZGRpbmctdG9wOiA0
cmVtOworICAgIH0KKyAgICAKKyAgICAuZmVhdHVyZS1oZWFkZXIgLmZlYXR1cmUtc3RhdHVzIHsK
KyAgICAgICAgZm9udC1zaXplOiAxLjZyZW07CisgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsK
KyAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKKyAgICB9CisgICAgCisgICAgLmZlYXR1cmUgLm1v
cmVpbmZvIHsKKyAgICAgICAgZmxleC13cmFwOiB3cmFwOworICAgIH0KKyAgICAKKyAgICAuZmVh
dHVyZSAubW9yZWluZm8gLmNvbnRhY3QgeworICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OworICAg
IH0KKyAgICAKKyAgICAuc3RhdHVzLWZpbHRlcnMgeworICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0
OworICAgICAgICBmbGV4LWJhc2lzOiAxMDAlOworICAgIH0KKyAgICAKKyAgICAuc3RhdHVzLWZp
bHRlcnMgbGFiZWwgeworICAgICAgICBtYXJnaW4tbGVmdDogMDsKKyAgICAgICAgbWFyZ2luLXJp
Z2h0OiAxcmVtOwogICAgIH0KIH0KIAoraDMgYVtuYW1lXSwgLmFkbWluLWJhciBoMyBhW25hbWVd
IHsKKyAgICB0b3A6IGluaXRpYWw7CisgICAgd2lkdGg6IGF1dG87CisgICAgZGlzcGxheTogaW5s
aW5lLWJsb2NrOworICAgIHZpc2liaWxpdHk6IHZpc2libGU7Cit9CisKKwogPC9zdHlsZT4KIAk8
P3BocCBpZiAoaGF2ZV9wb3N0cygpKSA6IHdoaWxlIChoYXZlX3Bvc3RzKCkpIDogdGhlX3Bvc3Qo
KTsgPz4KLQorICAgICAgICAKKyAgICAgICAgPGRpdiBpZD0iY29udGVudCI+CiAgICAgICAgIDxk
aXYgY2xhc3M9InBhZ2UgZmVhdHVyZS1zdGF0dXMtcGFnZSIgaWQ9InBvc3QtPD9waHAgdGhlX0lE
KCk7ID8+Ij4KLSAgICAgICAgICAgIDw/cGhwIGVjaG8gc3RyX3JlcGVhdCgnJm5ic3A7JywgMjAw
KTs/PgogCQkJPGgxPjxhIGhyZWY9Ijw/cGhwIGVjaG8gZ2V0X3Blcm1hbGluaygpID8+IiByZWw9
ImJvb2ttYXJrIiB0aXRsZT0iUGVybWFuZW50IExpbms6IDw/cGhwIHRoZV90aXRsZSgpOyA/PiI+
PD9waHAgdGhlX3RpdGxlKCk7ID8+PC9hPjwvaDE+Ci0gICAgICAgICAgICA8Zm9ybSBpZD0iZmVh
dHVyZS1maWx0ZXJzIiBjbGFzcz0iZmVhdHVyZS1maWx0ZXJzIj4KLSAgICAgICAgICAgICAgICA8
aDI+RmlsdGVyczwvaDI+Ci0gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJz
ZWFyY2giIHBsYWNlaG9sZGVyPSJTZWFyY2ggZmlsdGVyJmhlbGxpcDsiIHRpdGxlPSJGaWx0ZXIg
dGhlIGZlYXR1cmUgbGlzdC4iIHJlcXVpcmVkPgotICAgICAgICAgICAgICAgIDx1bCBpZD0ic3Rh
dHVzLWZpbHRlcnMiPgotICAgICAgICAgICAgICAgIDwvdWw+Ci0KLSAgICAgICAgICAgIDwvZm9y
bT4KKyAgICAgICAgICAgIAorICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1maWx0ZXJz
Ij4KKyAgICAgICAgICAgICAgICA8Zm9ybSBpZD0iZmVhdHVyZS1maWx0ZXJzIiBjbGFzcz0icGFn
ZS13aWR0aCI+CisgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ic2Vh
cmNoIiBjbGFzcz0ic2VhcmNoLWlucHV0IiBwbGFjZWhvbGRlcj0iU2VhcmNoIGZlYXR1cmVzJmhl
bGxpcDsiIHRpdGxlPSJGaWx0ZXIgdGhlIGZlYXR1cmUgbGlzdC4iIHJlcXVpcmVkPgorICAgICAg
ICAgICAgICAgICAgICA8dWwgaWQ9InN0YXR1cy1maWx0ZXJzIiBjbGFzcz0ic3RhdHVzLWZpbHRl
cnMiPjwvdWw+CisgICAgICAgICAgICAgICAgPC9mb3JtPgorICAgICAgICAgICAgPC9kaXY+CiAK
ICAgICAgICAgICAgIDxkaXYgaWQ9ImZlYXR1cmUtbGlzdCI+Ci0gICAgICAgICAgICA8aDI+RmVh
dHVyZXM8L2gyPgorICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtY291bnQiPgor
ICAgICAgICAgICAgICAgICAgICA8cD48c3BhbiBpZD0iZmVhdHVyZS1jb3VudCI+PC9zcGFuPiA8
c3BhbiBpZD0iZmVhdHVyZS1wbHVyYWxpemUiPmZlYXR1cmVzPC9zcGFuPjwvcD4KKyAgICAgICAg
ICAgICAgICA8L2Rpdj4KKyAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIDwvZGl2PgogCiAg
ICAgICAgICAgICA8dGVtcGxhdGUgaWQ9InN1Y2Nlc3MtdGVtcGxhdGUiPgpAQCAtMzg5LDYgKzQ1
Miw3IEBAIGgzIGFbbmFtZV0sIC5hZG1pbi1iYXIgaDMgYVtuYW1lXSB7CiAgICAgICAgICAgICAg
ICAgPHA+SWYgdGhpcyBpcyBub3QgcmVzb2x2ZWQgc29vbiwgcGxlYXNlIGNvbnRhY3QgPGEgaHJl
Zj0iaHR0cHM6Ly90d2l0dGVyLmNvbS93ZWJraXQiPkB3ZWJraXQ8L2E+IG9uIFR3aXR0ZXIgb3Ig
dGhlIDxhIGhyZWY9Imh0dHBzOi8vbGlzdHMud2Via2l0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3dl
YmtpdC1oZWxwIj53ZWJraXQtaGVscDwvYT4gbWFpbGluZyBsaXN0LjwvcD4KICAgICAgICAgICAg
IDwvdGVtcGxhdGU+CiAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KIAogCTw/cGhwIC8v
Y29tbWVudHNfdGVtcGxhdGUoKTsgPz4KIApAQCAtNDAyLDcgKzQ2NiwxOSBAQCBoMyBhW25hbWVd
LCAuYWRtaW4tYmFyIGgzIGFbbmFtZV0gewogPHNjcmlwdD4KIGZ1bmN0aW9uIGluaXRpYWxpemVT
dGF0dXNQYWdlKCkgewogCi0gICAgZnVuY3Rpb24gc29ydEFscGhhYmV0aWNhbGx5KGFycmF5KSB7
CisgICAgY29uc3Qgc3RhdHVzT3JkZXIgPSBbCisgICAgICAgICd1bmRlciBjb25zaWRlcmF0aW9u
JywKKyAgICAgICAgJ3Byb3RvdHlwaW5nJywKKyAgICAgICAgJ2luIGRldmVsb3BtZW50JywKKyAg
ICAgICAgJ3N1cHBvcnRlZCBpbiBwcmV2aWV3JywKKyAgICAgICAgJ3BhcnRpYWxseSBzdXBwb3J0
ZWQnLAorICAgICAgICAnc3VwcG9ydGVkJywKKyAgICAgICAgJ3JlbW92ZWQnLAorICAgICAgICAn
bm90IGNvbnNpZGVyaW5nJworICAgIF07CisKKyAgICBmdW5jdGlvbiBzb3J0QWxwaGFiZXRpY2Fs
bHkoYXJyYXkpCisgICAgewogICAgICAgICBhcnJheS5zb3J0KGZ1bmN0aW9uKGEsIGIpewogICAg
ICAgICAgICAgdmFyIGFOYW1lID0gYS5uYW1lLnRvTG93ZXJDYXNlKCk7CiAgICAgICAgICAgICB2
YXIgYk5hbWUgPSBiLm5hbWUudG9Mb3dlckNhc2UoKTsKQEAgLTQyMCwxNSArNDk2LDIxIEBAIGZ1
bmN0aW9uIGluaXRpYWxpemVTdGF0dXNQYWdlKCkgewogICAgICAgICB9KTsKICAgICB9CiAKLSAg
ICBmdW5jdGlvbiBjcmVhdGVGZWF0dXJlVmlldyhmZWF0dXJlT2JqZWN0KSB7CisgICAgZnVuY3Rp
b24gY3JlYXRlRmVhdHVyZVZpZXcoZmVhdHVyZU9iamVjdCkKKyAgICB7CisgICAgICAgICAgICAg
ICAgCiAgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZUxpbmtXaXRoSGVhZGluZyhlbGVtZW50TmFtZSwg
aGVhZGluZywgbGlua1RleHQsIGxpbmtVcmwpIHsKICAgICAgICAgICAgIHZhciBjb250YWluZXIg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGVsZW1lbnROYW1lKTsKICAgICAgICAgICAgIGlmICho
ZWFkaW5nKSB7Ci0gICAgICAgICAgICAgICAgY29udGFpbmVyLnRleHRDb250ZW50ID0gaGVhZGlu
ZyArICI6ICI7CisgICAgICAgICAgICAgICAgdmFyIGg0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaDQnKTsKKyAgICAgICAgICAgICAgICBoNC50ZXh0Q29udGVudCA9IGhlYWRpbmc7CisgICAg
ICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGg0KTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpOwogICAgICAg
ICAgICAgbGluay50ZXh0Q29udGVudCA9IGxpbmtUZXh0OwogICAgICAgICAgICAgbGluay5ocmVm
ID0gbGlua1VybDsKKyAgICAgICAgICAgIGlmIChsaW5rVGV4dCA9PSBsaW5rVXJsKQorICAgICAg
ICAgICAgICAgIGxpbmsudGV4dENvbnRlbnQgPSBsaW5rLmhvc3RuYW1lICsgIuKApiI7CiAgICAg
ICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobGluayk7CiAgICAgICAgICAgICByZXR1cm4g
Y29udGFpbmVyOwogICAgICAgICB9CkBAIC00NTMsNyArNTM1LDcgQEAgZnVuY3Rpb24gaW5pdGlh
bGl6ZVN0YXR1c1BhZ2UoKSB7CiAKICAgICAgICAgY29udGFpbmVyLmNsYXNzTmFtZSA9ICJmZWF0
dXJlIjsKIAotICAgICAgICB2YXIgc2x1ZyA9IGZlYXR1cmVPYmplY3QubmFtZS50b0xvd2VyQ2Fz
ZSgpLnJlcGxhY2UoLyAvZywgJy0nKTsKKyAgICAgICAgdmFyIHNsdWcgPSBjYW5vbmljYWxpemVJ
ZGVudGlmaWVyKGZlYXR1cmVPYmplY3QubmFtZSk7CiAgICAgICAgIGlmICgiZmVhdHVyZXMiIGlu
IGZlYXR1cmVPYmplY3QpIHsKICAgICAgICAgICAgIGNvbnRhaW5lci5zZXRBdHRyaWJ1dGUoImlk
IiwgInNwZWNpZmljYXRpb24tIiArIHNsdWcpOwogICAgICAgICB9IGVsc2UgewpAQCAtNDY0LDE2
ICs1NDYsMTIgQEAgZnVuY3Rpb24gaW5pdGlhbGl6ZVN0YXR1c1BhZ2UoKSB7CiAgICAgICAgICAg
ICBjb250YWluZXIuY2xhc3NOYW1lICs9ICIgb3BlbmVkIjsKICAgICAgICAgfQogCi0gICAgICAg
IHZhciBjb3JuZXJTdGF0dXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICAg
ICAgY29ybmVyU3RhdHVzLmNsYXNzTmFtZSA9ICJzdGF0dXMtbWFya2VyICI7Ci0gICAgICAgIGNv
bnRhaW5lci5hcHBlbmRDaGlsZChjb3JuZXJTdGF0dXMpOwotCi0gICAgICAgIHZhciBkZXNjcmlw
dGlvbkNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOwotICAgICAgICBk
ZXNjcmlwdGlvbkNvbnRhaW5lci5jbGFzc05hbWUgPSAiZmVhdHVyZS1kZXNjcmlwdGlvbiI7Cisg
ICAgICAgIHZhciBmZWF0dXJlQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7CisgICAgICAgIGZlYXR1cmVDb250YWluZXIuY2xhc3NOYW1lID0gImZlYXR1cmUtY29udGFp
bmVyIHN0YXR1cy1tYXJrZXIiOwogCiAgICAgICAgIHZhciBmZWF0dXJlSGVhZGVyQ29udGFpbmVy
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CiAgICAgICAgIGZlYXR1cmVIZWFkZXJD
b250YWluZXIuY2xhc3NOYW1lID0gImZlYXR1cmUtaGVhZGVyIjsKLSAgICAgICAgZGVzY3JpcHRp
b25Db250YWluZXIuYXBwZW5kQ2hpbGQoZmVhdHVyZUhlYWRlckNvbnRhaW5lcik7CisgICAgICAg
IGZlYXR1cmVDb250YWluZXIuYXBwZW5kQ2hpbGQoZmVhdHVyZUhlYWRlckNvbnRhaW5lcik7CiAK
ICAgICAgICAgdmFyIHRpdGxlRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImgzIik7
CiAgICAgICAgIHZhciBhbmNob3JMaW5rRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImEiKTsKQEAgLTQ4NSw3ICs1NjMsNyBAQCBmdW5jdGlvbiBpbml0aWFsaXplU3RhdHVzUGFnZSgp
IHsKICAgICAgICAgLy8gQWRkIHN1Yi1mZWF0dXJlIGhlcmUKICAgICAgICAgaWYgKGhhc1NwZWNp
ZmljYXRpb25PYmplY3QpIHsKICAgICAgICAgICAgIHZhciBzcGVjaWZpY2F0aW9uID0gZmVhdHVy
ZU9iamVjdC5zcGVjaWZpY2F0aW9uOwotICAgICAgICAgICAgdmFyIHNwZWNTcGFuID0gY3JlYXRl
TGlua1dpdGhIZWFkaW5nKCJzcGFuIiwgbnVsbCwgc3BlY2lmaWNhdGlvbi5uYW1lLCAiI3NwZWNp
ZmljYXRpb24tIiArIHNwZWNpZmljYXRpb24ubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLyAv
ZywgJy0nKSk7CisgICAgICAgICAgICB2YXIgc3BlY1NwYW4gPSBjcmVhdGVMaW5rV2l0aEhlYWRp
bmcoImg0IiwgbnVsbCwgc3BlY2lmaWNhdGlvbi5uYW1lLCAiI3NwZWNpZmljYXRpb24tIiArIHNw
ZWNpZmljYXRpb24ubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLyAvZywgJy0nKSk7CiAgICAg
ICAgICAgICBzcGVjU3Bhbi5jbGFzc05hbWUgPSAiaW50ZXJuYWwtcmVmZXJlbmNlIjsKICAgICAg
ICAgICAgIHRpdGxlRWxlbWVudC5hcHBlbmRDaGlsZChzcGVjU3Bhbik7CiAgICAgICAgIH0KQEAg
LTQ5Myw0NCArNTcxLDY2IEBAIGZ1bmN0aW9uIGluaXRpYWxpemVTdGF0dXNQYWdlKCkgewogICAg
ICAgICBmZWF0dXJlSGVhZGVyQ29udGFpbmVyLmFwcGVuZENoaWxkKHRpdGxlRWxlbWVudCk7CiAK
ICAgICAgICAgaWYgKCJzdGF0dXMiIGluIGZlYXR1cmVPYmplY3QpIHsKLSAgICAgICAgICAgIHZh
ciBzdGF0dXNDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7Ci0gICAg
ICAgICAgICBjb3JuZXJTdGF0dXMuY2xhc3NOYW1lICs9IHN0YXR1c0NsYXNzTmFtZSA9IGZlYXR1
cmVPYmplY3Quc3RhdHVzLnN0YXR1cy50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLyAvZywgJy0nKTsK
KyAgICAgICAgICAgIHZhciBzdGF0dXNDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKKyAgICAgICAgICAgIHZhciBzdGF0dXNDbGFzc05hbWUgPSBjYW5vbmljYWxpemVJ
ZGVudGlmaWVyKGZlYXR1cmVPYmplY3Quc3RhdHVzLnN0YXR1cyk7CisgICAgICAgICAgICBmZWF0
dXJlQ29udGFpbmVyLmNsYXNzTmFtZSArPSAiICIgKyBzdGF0dXNDbGFzc05hbWU7CiAgICAgICAg
ICAgICBzdGF0dXNDb250YWluZXIuY2xhc3NOYW1lID0gImZlYXR1cmUtc3RhdHVzICIgKyBzdGF0
dXNDbGFzc05hbWU7CisgICAgICAgICAgICB2YXIgc3RhdHVzTGFiZWwgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJsYWJlbCIpOworCiAgICAgICAgICAgICBpZiAoIndlYmtpdC11cmwiIGluIGZl
YXR1cmVPYmplY3QpIHsKICAgICAgICAgICAgICAgICB2YXIgc3RhdHVzTGluayA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImEiKTsKICAgICAgICAgICAgICAgICBzdGF0dXNMaW5rLmhyZWYgPSBm
ZWF0dXJlT2JqZWN0WyJ3ZWJraXQtdXJsIl07CiAgICAgICAgICAgICAgICAgc3RhdHVzTGluay50
ZXh0Q29udGVudCA9IGZlYXR1cmVPYmplY3Quc3RhdHVzLnN0YXR1czsKLSAgICAgICAgICAgICAg
ICBzdGF0dXNDb250YWluZXIuYXBwZW5kQ2hpbGQoc3RhdHVzTGluayk7CisgICAgICAgICAgICAg
ICAgc3RhdHVzTGFiZWwuYXBwZW5kQ2hpbGQoc3RhdHVzTGluayk7CiAgICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgIHN0YXR1c0NvbnRhaW5lci50ZXh0Q29udGVudCA9IGZlYXR1
cmVPYmplY3Quc3RhdHVzLnN0YXR1czsKKyAgICAgICAgICAgICAgICBzdGF0dXNMYWJlbC50ZXh0
Q29udGVudCA9IGZlYXR1cmVPYmplY3Quc3RhdHVzLnN0YXR1czsKICAgICAgICAgICAgIH0KIAor
ICAgICAgICAgICAgc3RhdHVzQ29udGFpbmVyLmFwcGVuZENoaWxkKHN0YXR1c0xhYmVsKTsKICAg
ICAgICAgICAgIGZlYXR1cmVIZWFkZXJDb250YWluZXIuYXBwZW5kQ2hpbGQoc3RhdHVzQ29udGFp
bmVyKTsKICAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgdmFyIGZlYXR1cmVEZXRhaWxzID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICAgIGZlYXR1cmVEZXRhaWxzLmNs
YXNzTmFtZSA9ICdmZWF0dXJlLWRldGFpbHMnOwogCiAgICAgICAgIGlmICgiZGVzY3JpcHRpb24i
IGluIGZlYXR1cmVPYmplY3QpIHsKLSAgICAgICAgICAgIHZhciB0ZXN0RGVzY3JpcHRpb24gPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7Ci0gICAgICAgICAgICB0ZXN0RGVzY3JpcHRpb24u
Y2xhc3NOYW1lID0gImZlYXR1cmUtZGVzYyI7Ci0gICAgICAgICAgICB0ZXN0RGVzY3JpcHRpb24u
aW5uZXJIVE1MID0gZmVhdHVyZU9iamVjdC5kZXNjcmlwdGlvbjsKLSAgICAgICAgICAgIGRlc2Ny
aXB0aW9uQ29udGFpbmVyLmFwcGVuZENoaWxkKHRlc3REZXNjcmlwdGlvbik7CisgICAgICAgICAg
ICB2YXIgdGV4dERlc2NyaXB0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncCcpOworICAg
ICAgICAgICAgdGV4dERlc2NyaXB0aW9uLmNsYXNzTmFtZSA9ICJmZWF0dXJlLWRlc2MiOworICAg
ICAgICAgICAgdGV4dERlc2NyaXB0aW9uLmlubmVySFRNTCA9IGZlYXR1cmVPYmplY3QuZGVzY3Jp
cHRpb247CisgICAgICAgICAgICBmZWF0dXJlRGV0YWlscy5hcHBlbmRDaGlsZCh0ZXh0RGVzY3Jp
cHRpb24pOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKCJjb21tZW50IiBpbiBmZWF0dXJlT2Jq
ZWN0KSB7Ci0gICAgICAgICAgICBpZiAoImRlc2NyaXB0aW9uIiBpbiBmZWF0dXJlT2JqZWN0KSB7
Ci0gICAgICAgICAgICAgICAgdmFyIGhyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaHIiKTsK
LSAgICAgICAgICAgICAgICBoci5jbGFzc05hbWUgPSAnY29tbWVudCc7Ci0gICAgICAgICAgICAg
ICAgZGVzY3JpcHRpb25Db250YWluZXIuYXBwZW5kQ2hpbGQoaHIpOwotICAgICAgICAgICAgfQog
ICAgICAgICAgICAgdmFyIGNvbW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdwJyk7CiAg
ICAgICAgICAgICBjb21tZW50LmNsYXNzTmFtZSA9ICdjb21tZW50JzsKICAgICAgICAgICAgIGNv
bW1lbnQuaW5uZXJIVE1MID0gZmVhdHVyZU9iamVjdC5jb21tZW50OwotICAgICAgICAgICAgZGVz
Y3JpcHRpb25Db250YWluZXIuYXBwZW5kQ2hpbGQoY29tbWVudCk7CisgICAgICAgICAgICBmZWF0
dXJlRGV0YWlscy5hcHBlbmRDaGlsZChjb21tZW50KTsKICAgICAgICAgfQogCi0gICAgICAgIGNv
bnRhaW5lci5hcHBlbmRDaGlsZChkZXNjcmlwdGlvbkNvbnRhaW5lcik7CisgICAgICAgIGlmICgi
ZmVhdHVyZXMiIGluIGZlYXR1cmVPYmplY3QgJiYgZmVhdHVyZU9iamVjdC5mZWF0dXJlcy5sZW5n
dGgpIHsKKyAgICAgICAgICAgIHZhciBpbnRlcm5hbExpbmtDb250YWluZXIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAgICAgICAgIGludGVybmFsTGlua0NvbnRhaW5lci5j
bGFzc05hbWUgPSAiaW50ZXJuYWwtcmVmZXJlbmNlIHN1Yi1mZWF0dXJlcyI7CisgICAgICAgICAg
ICB2YXIgaW50ZXJuYWxIZWFkaW5nID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaDQiKTsKKyAg
ICAgICAgICAgIGludGVybmFsSGVhZGluZy50ZXh0Q29udGVudCA9ICJJbmNsdWRlcyI7CisgICAg
ICAgICAgICBpbnRlcm5hbExpbmtDb250YWluZXIuYXBwZW5kQ2hpbGQoaW50ZXJuYWxIZWFkaW5n
KTsKKworICAgICAgICAgICAgdmFyIGxpc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ1bCIp
OworICAgICAgICAgICAgZm9yICh2YXIgZmVhdHVyZSBvZiBmZWF0dXJlT2JqZWN0LmZlYXR1cmVz
KSB7CisgICAgICAgICAgICAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJh
Iik7CisgICAgICAgICAgICAgICAgbGluay50ZXh0Q29udGVudCA9IGZlYXR1cmUubmFtZTsKKyAg
ICAgICAgICAgICAgICBsaW5rLmhyZWYgPSAiI2ZlYXR1cmUtIiArIGNhbm9uaWNhbGl6ZUlkZW50
aWZpZXIoZmVhdHVyZS5uYW1lKTsKKworICAgICAgICAgICAgICAgIHZhciBsaSA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImxpIik7CisgICAgICAgICAgICAgICAgbGkuYXBwZW5kQ2hpbGQobGlu
ayk7CisgICAgICAgICAgICAgICAgbGlzdC5hcHBlbmRDaGlsZChsaSk7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBpbnRlcm5hbExpbmtDb250YWluZXIuYXBwZW5kQ2hpbGQobGlzdCk7Cisg
ICAgICAgICAgICBmZWF0dXJlRGV0YWlscy5hcHBlbmRDaGlsZChpbnRlcm5hbExpbmtDb250YWlu
ZXIpOworICAgICAgICB9CiAKICAgICAgICAgaWYgKGhhc0RvY3VtZW50YXRpb25MaW5rIHx8IGhh
c1JlZmVyZW5jZUxpbmsgfHwgaGFzQ29udGFjdE9iamVjdCkgewogICAgICAgICAgICAgdmFyIG1v
cmVJbmZvTGlzdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInVsIik7CisgICAgICAgICAgICBt
b3JlSW5mb0xpc3QuY2xhc3NOYW1lID0gJ21vcmVpbmZvJzsKICAgICAgICAgICAgIGlmIChoYXNE
b2N1bWVudGF0aW9uTGluaykgewogICAgICAgICAgICAgICAgIHZhciB1cmwgPSBmZWF0dXJlT2Jq
ZWN0WyJkb2N1bWVudGF0aW9uLXVybCJdOwogICAgICAgICAgICAgICAgIG1vcmVJbmZvTGlzdC5h
cHBlbmRDaGlsZChjcmVhdGVMaW5rV2l0aEhlYWRpbmcoImxpIiwgIkRvY3VtZW50YXRpb24iLCB1
cmwsIHVybCkpOwpAQCAtNTQxLDE2ICs2NDEsMTMgQEAgZnVuY3Rpb24gaW5pdGlhbGl6ZVN0YXR1
c1BhZ2UoKSB7CiAgICAgICAgICAgICAgICAgbW9yZUluZm9MaXN0LmFwcGVuZENoaWxkKGNyZWF0
ZUxpbmtXaXRoSGVhZGluZygibGkiLCAiUmVmZXJlbmNlIiwgdXJsLCB1cmwpKTsKICAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgaWYgKGhhc1NwZWNpZmljYXRpb25PYmplY3QpIHsKLSAgICAg
ICAgICAgICAgICB2YXIgc3BlY2lmaWNhdGlvbiA9IGZlYXR1cmVPYmplY3Quc3BlY2lmaWNhdGlv
bjsKLSAgICAgICAgICAgICAgICB2YXIgbGkgPSBjcmVhdGVMaW5rV2l0aEhlYWRpbmcoImxpIiwg
IlBhcmVudCBmZWF0dXJlIiwgc3BlY2lmaWNhdGlvbi5uYW1lLCAiI3NwZWNpZmljYXRpb24tIiAr
IHNwZWNpZmljYXRpb24ubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoLyAvZywgJy0nKSk7Ci0g
ICAgICAgICAgICAgICAgbGkuY2xhc3NOYW1lID0gImludGVybmFsLXJlZmVyZW5jZSI7Ci0gICAg
ICAgICAgICAgICAgbW9yZUluZm9MaXN0LmFwcGVuZENoaWxkKGxpKTsKLSAgICAgICAgICAgIH0K
LQogICAgICAgICAgICAgaWYgKGhhc0NvbnRhY3RPYmplY3QpIHsKICAgICAgICAgICAgICAgICB2
YXIgbGkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOwotICAgICAgICAgICAgICAgIGxp
LnRleHRDb250ZW50ID0gIkNvbnRhY3Q6ICI7CisgICAgICAgICAgICAgICAgbGkuY2xhc3NOYW1l
ID0gImNvbnRhY3QiOworICAgICAgICAgICAgICAgIHZhciBjb250YWN0SGVhZGluZyA9IGRvY3Vt
ZW50LmNyZWF0ZUVsZW1lbnQoImg0Iik7CisgICAgICAgICAgICAgICAgY29udGFjdEhlYWRpbmcu
dGV4dENvbnRlbnQgPSAiQ29udGFjdCI7CisgICAgICAgICAgICAgICAgbGkuYXBwZW5kQ2hpbGQo
Y29udGFjdEhlYWRpbmcpOworCiAgICAgICAgICAgICAgICAgaWYgKGZlYXR1cmVPYmplY3QuY29u
dGFjdC50d2l0dGVyKSB7CiAgICAgICAgICAgICAgICAgICAgIGxpLmFwcGVuZENoaWxkKGNyZWF0
ZUxpbmtXaXRoSGVhZGluZygic3BhbiIsIG51bGwsIGZlYXR1cmVPYmplY3QuY29udGFjdC50d2l0
dGVyLCBtYWtlVHdpdHRlckxpbmsoZmVhdHVyZU9iamVjdC5jb250YWN0LnR3aXR0ZXIpKSk7CiAg
ICAgICAgICAgICAgICAgfQpAQCAtNTY3LDQwICs2NjQsMzEgQEAgZnVuY3Rpb24gaW5pdGlhbGl6
ZVN0YXR1c1BhZ2UoKSB7CiAgICAgICAgICAgICAgICAgbW9yZUluZm9MaXN0LmFwcGVuZENoaWxk
KGxpKTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxk
KG1vcmVJbmZvTGlzdCk7CisgICAgICAgICAgICBmZWF0dXJlRGV0YWlscy5hcHBlbmRDaGlsZCht
b3JlSW5mb0xpc3QpOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCJmZWF0dXJlcyIgaW4gZmVh
dHVyZU9iamVjdCAmJiBmZWF0dXJlT2JqZWN0LmZlYXR1cmVzLmxlbmd0aCkgewotICAgICAgICAg
ICAgdmFyIGludGVybmFsTGlua0NvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOwotICAgICAgICAgICAgaW50ZXJuYWxMaW5rQ29udGFpbmVyLmNsYXNzTmFtZSA9ICJpbnRl
cm5hbC1yZWZlcmVuY2Ugc3ViLWZlYXR1cmVzIjsKLSAgICAgICAgICAgIGludGVybmFsTGlua0Nv
bnRhaW5lci50ZXh0Q29udGVudCA9ICJJbmNsdWRlczogIgotICAgICAgICAgICAgLy8gaW50ZXJu
YWxMaW5rQ29udGFpbmVyLmFwcGVuZENoaWxkKHRyYWNrZWRGZWF0dXJlcyk7Ci0KLSAgICAgICAg
ICAgIHZhciBsaXN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidWwiKTsKLSAgICAgICAgICAg
IGZvciAodmFyIGZlYXR1cmUgb2YgZmVhdHVyZU9iamVjdC5mZWF0dXJlcykgewotICAgICAgICAg
ICAgICAgIHZhciBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpOwotICAgICAgICAg
ICAgICAgIGxpbmsudGV4dENvbnRlbnQgPSBmZWF0dXJlLm5hbWU7Ci0gICAgICAgICAgICAgICAg
bGluay5ocmVmID0gIiNmZWF0dXJlLSIgKyBmZWF0dXJlLm5hbWUudG9Mb3dlckNhc2UoKS5yZXBs
YWNlKC8gL2csICctJyk7Ci0KLSAgICAgICAgICAgICAgICB2YXIgbGkgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJsaSIpOwotICAgICAgICAgICAgICAgIGxpLmFwcGVuZENoaWxkKGxpbmspOwot
ICAgICAgICAgICAgICAgIGxpc3QuYXBwZW5kQ2hpbGQobGkpOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgaW50ZXJuYWxMaW5rQ29udGFpbmVyLmFwcGVuZENoaWxkKGxpc3QpOwotICAgICAg
ICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGludGVybmFsTGlua0NvbnRhaW5lcik7Ci0gICAg
ICAgIH0KKyAgICAgICAgZmVhdHVyZUNvbnRhaW5lci5hcHBlbmRDaGlsZChmZWF0dXJlRGV0YWls
cyk7CisgICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChmZWF0dXJlQ29udGFpbmVyKTsKIAog
ICAgICAgICByZXR1cm4gY29udGFpbmVyOwogICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiBjYW5v
bmljYWxpemVJZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgeworICAgICAgICByZXR1cm4gaWRl
bnRpZmllci50b0xvY2FsZUxvd2VyQ2FzZSgpLnJlcGxhY2UoLyAvZywgJy0nKTsKKyAgICB9Cisg
ICAgCiAKLSAgICBmdW5jdGlvbiByZW5kZXJGZWF0dXJlc0FuZFNwZWNpZmljYXRpb25zKGZlYXR1
cmVMaWtlT2JqZWN0cykgeworICAgIGZ1bmN0aW9uIHJlbmRlckZlYXR1cmVzQW5kU3BlY2lmaWNh
dGlvbnMoZmVhdHVyZUxpa2VPYmplY3RzKSAKKyAgICB7CiAgICAgICAgIHZhciBmZWF0dXJlQ29u
dGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZlYXR1cmVzLWNvbnRhaW5lcicpOwog
ICAgICAgICBmb3IgKHZhciBmZWF0dXJlTGlrZU9iamVjdCBvZiBmZWF0dXJlTGlrZU9iamVjdHMp
IHsKICAgICAgICAgICAgIGZlYXR1cmVDb250YWluZXIuYXBwZW5kQ2hpbGQoY3JlYXRlRmVhdHVy
ZVZpZXcoZmVhdHVyZUxpa2VPYmplY3QpKTsKICAgICAgICAgfQogICAgIH0KIAotICAgIGZ1bmN0
aW9uIGluaXRTZWFyY2goZmVhdHVyZXNBcnJheSkgeworICAgIGZ1bmN0aW9uIGluaXRTZWFyY2go
ZmVhdHVyZXNBcnJheSkgCisgICAgewogICAgICAgICB2YXIgZmlsdGVyc0Zvcm0gPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnZmVhdHVyZS1maWx0ZXJzJyk7CiAgICAgICAgIHZhciBzdGF0dXND
b250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc3RhdHVzLWZpbHRlcnMnKTsKICAg
ICAgICAgdmFyIGlucHV0RmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnc2VhcmNoJyk7
CkBAIC02MTYsMzQgKzcwNCw0OCBAQCBmdW5jdGlvbiBpbml0aWFsaXplU3RhdHVzUGFnZSgpIHsK
IAogICAgICAgICAgICAgICAgIGlmICghc3RhdHVzRmlsdGVyc1tmZWF0dXJlU3RhdHVzS2V5XSkK
ICAgICAgICAgICAgICAgICAgICAgc3RhdHVzRmlsdGVyc1tmZWF0dXJlU3RhdHVzS2V5XSA9IGZl
YXR1cmUuc3RhdHVzLnN0YXR1czsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBp
ZiAoc3RhdHVzT3JkZXIuaW5kZXhPZihmZWF0dXJlU3RhdHVzS2V5KSA9PSAtMSkKKyAgICAgICAg
ICAgICAgICAgICAgd2luZG93LmNvbnNvbGUubG9nKCdTdGF0dXMgJyArIGZlYXR1cmVTdGF0dXNL
ZXkgKyAnIGlzIG5vdCBvbmUgb2YgdGhlIHByZWRlZmluZWQgc3RhdHVzIGtleXMgJywgc3RhdHVz
T3JkZXIpOwogCiAgICAgICAgICAgICB9CiAgICAgICAgIH0pOwogCi0gICAgICAgIHZhciBzdGF0
dXNMZW5ndGggPSBzdGF0dXNGaWx0ZXJzLmxlbmd0aDsKKyAgICAgICAgZm9yICh2YXIga2V5IG9m
IHN0YXR1c09yZGVyKSB7CisgICAgICAgICAgICBpZiAoc3RhdHVzRmlsdGVyc1trZXldID09IHVu
ZGVmaW5lZCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBmb3IgKHZhciBr
ZXkgaW4gc3RhdHVzRmlsdGVycykgewotICAgICAgICAgICAgdmFyIHN0YXR1cyA9IHN0YXR1c0Zp
bHRlcnNba2V5XTsKKyAgICAgICAgICAgIHZhciBzdGF0dXNMYWJlbCA9IHN0YXR1c0ZpbHRlcnNb
a2V5XTsKKyAgICAgICAgICAgIHZhciBzdGF0dXNJZCA9IGNhbm9uaWNhbGl6ZUlkZW50aWZpZXIo
c3RhdHVzTGFiZWwpOwogICAgICAgICAgICAgdmFyIGVudHJ5ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgibGkiKTsKICAgICAgICAgICAgIHZhciBsYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImxhYmVsIik7CiAgICAgICAgICAgICB2YXIgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJpbnB1dCIpOworICAgICAgICAgICAgCiAgICAgICAgICAgICBpbnB1dC5zZXRBdHRyaWJ1
dGUoJ3R5cGUnLCdjaGVja2JveCcpOwogICAgICAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2
YWx1ZScsIGtleSk7Ci0gICAgICAgICAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2Un
LCBzZWFyY2gpOworICAgICAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCdpZCcsICd0b2dnbGUt
JyArIHN0YXR1c0lkKTsKKyAgICAgICAgICAgIGlucHV0LmNsYXNzTmFtZSA9ICdmaWx0ZXItdG9n
Z2xlJzsKKyAgICAgICAgICAgIGlucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIGZ1bmN0
aW9uKCkgeyB1cGRhdGVTZWFyY2goZmVhdHVyZXNBcnJheSk7IH0pOworICAgICAgICAgICAgCisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIGxhYmVsLmNsYXNzTmFtZSA9ICJmaWx0ZXItc3RhdHVz
ICIgKyBzdGF0dXNJZDsKKyAgICAgICAgICAgIGxhYmVsLnNldEF0dHJpYnV0ZSgnZm9yJywgJ3Rv
Z2dsZS0nICsgc3RhdHVzSWQpOwogICAgICAgICAgICAgbGFiZWwuYXBwZW5kQ2hpbGQoaW5wdXQp
OwotICAgICAgICAgICAgbGFiZWwuY2xhc3NOYW1lID0gc3RhdHVzLnRvTG9jYWxlTG93ZXJDYXNl
KCkucmVwbGFjZSgvIC9nLCAnLScpOwotICAgICAgICAgICAgbGFiZWwuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiICsgc3RhdHVzKSk7CisgICAgICAgICAgICBsYWJlbC5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIgKyBzdGF0dXNMYWJlbCkpOwor
CiAgICAgICAgICAgICBlbnRyeS5hcHBlbmRDaGlsZChsYWJlbCk7CisKICAgICAgICAgICAgIHN0
YXR1c0NvbnRhaW5lci5hcHBlbmRDaGlsZChlbnRyeSk7CiAgICAgICAgIH0KLQorICAgICAgICAK
ICAgICAgICAgZmlsdGVyc0Zvcm0uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAo
ZSkgewogICAgICAgICAgICAgaWYgKCBmaWx0ZXJzRm9ybS5jbGFzc05hbWUuaW5kZXhPZignb3Bl
bmVkJykgIT09IC0xICkgewogICAgICAgICAgICAgICAgIGZpbHRlcnNGb3JtLmNsYXNzTmFtZSA9
IGZpbHRlcnNGb3JtLmNsYXNzTmFtZS5yZXBsYWNlKCcgb3BlbmVkJywnJyk7CiAgICAgICAgICAg
ICB9IGVsc2UgZmlsdGVyc0Zvcm0uY2xhc3NOYW1lICs9ICIgb3BlbmVkIjsKICAgICAgICAgfSk7
CiAKLSAgICAgICAgaW5wdXRGaWVsZC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIHNlYXJjaCk7
CisgICAgICAgIGlucHV0RmllbGQuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBmdW5jdGlvbigp
IHsgdXBkYXRlU2VhcmNoKGZlYXR1cmVzQXJyYXkpOyB9KTsKKyAgICAgICAgCiAKICAgICAgICAg
dmFyIGlucHV0cyA9IFtdLnNsaWNlLmNhbGwoZmlsdGVyc0Zvcm0uZ2V0RWxlbWVudHNCeVRhZ05h
bWUoJ2lucHV0JykpOwogICAgICAgICBpbnB1dHMuZm9yRWFjaChmdW5jdGlvbiAoaW5wdXQsaSkg
ewpAQCAtNjUyLDcgKzc1NCw4IEBAIGZ1bmN0aW9uIGluaXRpYWxpemVTdGF0dXNQYWdlKCkgewog
ICAgICAgICAgICAgfSk7CiAgICAgICAgIH0pOwogCi0gICAgICAgIGZ1bmN0aW9uIHNlYXJjaChl
dikgeworICAgICAgICBmdW5jdGlvbiBzZWFyY2goZXYpCisgICAgICAgIHsKICAgICAgICAgICAg
IHZhciBzZWFyY2hUZXJtID0gaW5wdXRGaWVsZC52YWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTsK
ICAgICAgICAgICAgIHZhciBhY3RpdmVTdGF0dXNGaWx0ZXJzID0gW107CiAgICAgICAgICAgICB2
YXIgY2hlY2tib3hlcyA9IFtdLnNsaWNlLmNhbGwoc3RhdHVzQ29udGFpbmVyLmdldEVsZW1lbnRz
QnlUYWdOYW1lKCdpbnB1dCcpKTsKQEAgLTY2NSwyMSArNzY4LDU3IEBAIGZ1bmN0aW9uIGluaXRp
YWxpemVTdGF0dXNQYWdlKCkgewogICAgICAgICB9CiAgICAgfQogCi0gICAgZnVuY3Rpb24gc2Vh
cmNoRmVhdHVyZXMoZmVhdHVyZXNBcnJheSwgc2VhcmNoVGVybSwgc3RhdHVzRmlsdGVycykgewot
ICAgICAgICBmZWF0dXJlc0FycmF5LmZvckVhY2goZnVuY3Rpb24oZmVhdHVyZSkgewotICAgICAg
ICAgICAgdmFyIHZpc2libGUgPSBpc1NlYXJjaE1hdGNoKGZlYXR1cmUsIHNlYXJjaFRlcm0pICYm
IGlzU3RhdHVzRmlsdGVyZWQoZmVhdHVyZSwgc3RhdHVzRmlsdGVycyk7CisgICAgZnVuY3Rpb24g
Z2V0VmFsdWVzT2ZDaGVja2VkSXRlbXMoaXRlbXMpCisgICAgeworICAgICAgICB2YXIgY2hlY2tl
ZFZhbHVlcyA9IFtdOworICAgICAgICBpdGVtcy5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0saSkgewor
ICAgICAgICAgICAgaWYgKGl0ZW0uY2hlY2tlZCkKKyAgICAgICAgICAgICAgICBjaGVja2VkVmFs
dWVzLnB1c2goaXRlbS52YWx1ZSk7CisgICAgICAgIH0pOworICAgICAgICAKKyAgICAgICAgcmV0
dXJuIGNoZWNrZWRWYWx1ZXM7CisgICAgfQogCi0gICAgICAgICAgICBpZiAodmlzaWJsZSAmJiAh
ZmVhdHVyZS52aXNpYmxlKSB7Ci0gICAgICAgICAgICAgICAgZmVhdHVyZS5lbC5jbGFzc05hbWUg
PSAnZmVhdHVyZSc7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKCF2aXNpYmxlICYmIGZlYXR1cmUu
dmlzaWJsZSkgewotICAgICAgICAgICAgICAgIGZlYXR1cmUuZWwuY2xhc3NOYW1lID0gJ2ZlYXR1
cmUgaXMtaGlkZGVuJzsKKyAgICBmdW5jdGlvbiB1cGRhdGVTZWFyY2gocHJvcGVydGllcykKKyAg
ICB7CisgICAgICAgIHZhciBpbnB1dEZpZWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Nl
YXJjaCcpOworICAgICAgICB2YXIgc3RhdHVzQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3N0YXR1cy1maWx0ZXJzJyk7CisKKyAgICAgICAgdmFyIHNlYXJjaFRlcm0gPSBpbnB1
dEZpZWxkLnZhbHVlLnRyaW0oKS50b0xvd2VyQ2FzZSgpOworICAgICAgICB2YXIgYWN0aXZlU3Rh
dHVzRmlsdGVycyA9IGdldFZhbHVlc09mQ2hlY2tlZEl0ZW1zKFtdLnNsaWNlLmNhbGwoc3RhdHVz
Q29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoJy5maWx0ZXItdG9nZ2xlJykpKTsKKworICAgICAg
ICB2YXIgbnVtVmlzaWJsZSA9IHNlYXJjaEZlYXR1cmVzKHByb3BlcnRpZXMsIHNlYXJjaFRlcm0s
IGFjdGl2ZVN0YXR1c0ZpbHRlcnMpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
ZmVhdHVyZS1wbHVyYWxpemUnKS50ZXh0Q29udGVudCA9IG51bVZpc2libGUgPT0gMSA/ICdmZWF0
dXJlJyA6ICdmZWF0dXJlcyc7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmZWF0
dXJlLWNvdW50JykudGV4dENvbnRlbnQgPSBudW1WaXNpYmxlOworICAgICAgICAKKyAgICAgICAg
dXBkYXRlVVJMKHNlYXJjaFRlcm0sIGFjdGl2ZVN0YXR1c0ZpbHRlcnMpOworICAgIH0KKyAgICAK
KyAgICBmdW5jdGlvbiBzZWFyY2hGZWF0dXJlcyhmZWF0dXJlcywgc2VhcmNoVGVybSwgc3RhdHVz
RmlsdGVycykKKyAgICB7CisgICAgICAgIHZhciB2aXNpYmxlQ291bnQgPSAwOworICAgICAgICBm
ZWF0dXJlcy5mb3JFYWNoKGZ1bmN0aW9uKGZlYXR1cmVPYmplY3QpIHsKKyAgICAgICAgICAgIHZh
ciBtYXRjaGVzU3RhdHVzU2VhcmNoID0gaXNTdGF0dXNGaWx0ZXJlZChmZWF0dXJlT2JqZWN0LCBz
dGF0dXNGaWx0ZXJzKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgdmFyIHZpc2libGUgPSBp
c1NlYXJjaE1hdGNoKGZlYXR1cmVPYmplY3QsIHNlYXJjaFRlcm0pICYmIG1hdGNoZXNTdGF0dXNT
ZWFyY2g7CisgICAgICAgICAgICBpZiAodmlzaWJsZSAmJiAhZmVhdHVyZU9iamVjdC52aXNpYmxl
KQorICAgICAgICAgICAgICAgIGZlYXR1cmVPYmplY3QuZWwuY2xhc3NOYW1lID0gJ2ZlYXR1cmUn
OworICAgICAgICAgICAgZWxzZSBpZiAoIXZpc2libGUgJiYgZmVhdHVyZU9iamVjdC52aXNpYmxl
KQorICAgICAgICAgICAgICAgIGZlYXR1cmVPYmplY3QuZWwuY2xhc3NOYW1lID0gJ2ZlYXR1cmUg
aXMtaGlkZGVuJzsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKHZpc2libGUpIHsKKyAg
ICAgICAgICAgICAgICAvLyBmaWx0ZXJWYWx1ZXMoZmVhdHVyZU9iamVjdCwgc2VhcmNoVGVybSk7
CisgICAgICAgICAgICAgICAgKyt2aXNpYmxlQ291bnQ7CiAgICAgICAgICAgICB9CiAKLSAgICAg
ICAgICAgIGZlYXR1cmUudmlzaWJsZSA9IHZpc2libGU7CisgICAgICAgICAgICBmZWF0dXJlT2Jq
ZWN0LnZpc2libGUgPSB2aXNpYmxlOwogICAgICAgICB9KTsKKyAgICAgICAgCisgICAgICAgIHJl
dHVybiB2aXNpYmxlQ291bnQ7CiAgICAgfQogCi0gICAgZnVuY3Rpb24gaXNTZWFyY2hNYXRjaChm
ZWF0dXJlLCBzZWFyY2hUZXJtKSB7CisgICAgZnVuY3Rpb24gaXNTZWFyY2hNYXRjaChmZWF0dXJl
LCBzZWFyY2hUZXJtKQorICAgIHsKICAgICAgICAgaWYgKGZlYXR1cmUubmFtZS50b0xvd2VyQ2Fz
ZSgpLmluZGV4T2Yoc2VhcmNoVGVybSkgIT09IC0xKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgIGlmICgia2V5d29yZHMiIGluIGZlYXR1cmUpIHsKQEAgLTY5MSw3ICs4MzAsOCBA
QCBmdW5jdGlvbiBpbml0aWFsaXplU3RhdHVzUGFnZSgpIHsKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIH0KIAotICAgIGZ1bmN0aW9uIGlzU3RhdHVzRmlsdGVyZWQoZmVhdHVyZSwgYWN0aXZl
RmlsdGVycykgeworICAgIGZ1bmN0aW9uIGlzU3RhdHVzRmlsdGVyZWQoZmVhdHVyZSwgYWN0aXZl
RmlsdGVycykKKyAgICB7CiAgICAgICAgIGlmIChhY3RpdmVGaWx0ZXJzLmxlbmd0aCA9PSAwKQog
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGlmIChmZWF0dXJlLnN0YXR1cyA9PT0g
dW5kZWZpbmVkKQpAQCAtNzAxLDggKzg0MSwyNSBAQCBmdW5jdGlvbiBpbml0aWFsaXplU3RhdHVz
UGFnZSgpIHsKIAogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQorICAgIAorICAgIGZ1bmN0
aW9uIGZpbHRlclZhbHVlcyhmZWF0dXJlT2JqZWN0LCBzZWFyY2hUZXJtLCBzdGF0dXNGaWx0ZXJz
KQorICAgIHsKKyAgICAgICAgZm9yICh2YXIgdmFsdWVPYmogb2YgZmVhdHVyZU9iamVjdC52YWx1
ZXMpIHsKKyAgICAgICAgICAgIGlmICghdmFsdWVPYmouZWwpCisgICAgICAgICAgICAgICAgY29u
dGludWU7CisKKyAgICAgICAgICAgIHZhciB2aXNpYmxlID0gZmFsc2U7CisgICAgICAgICAgICB2
aXNpYmxlID0gdmFsdWVPYmoudmFsdWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRlcm0p
ICE9PSAtMTsKKworICAgICAgICAgICAgaWYgKHZpc2libGUpCisgICAgICAgICAgICAgICAgdmFs
dWVPYmouZWwuY2xhc3NMaXN0LnJlbW92ZSgnaGlkZGVuJyk7CisgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgdmFsdWVPYmouZWwuY2xhc3NMaXN0LmFkZCgnaGlkZGVuJyk7CisgICAg
ICAgIH0KKyAgICB9CiAKLSAgICBmdW5jdGlvbiBkaXNwbGF5RmVhdHVyZXMocmVzdWx0cykgewor
ICAgIGZ1bmN0aW9uIGRpc3BsYXlGZWF0dXJlcyhyZXN1bHRzKQorICAgIHsKICAgICAgICAgdmFy
IG1haW5Db250ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZlYXR1cmUtbGlzdCIpOwog
ICAgICAgICB2YXIgc3VjY2Vzc1N1YnRyZWUgPSBkb2N1bWVudC5pbXBvcnROb2RlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJzdWNjZXNzLXRlbXBsYXRlIikuY29udGVudCwgdHJ1ZSk7CiAgICAg
ICAgIG1haW5Db250ZW50LmFwcGVuZENoaWxkKHN1Y2Nlc3NTdWJ0cmVlKTsKQEAgLTcyNSw5ICs4
ODIsMTYgQEAgZnVuY3Rpb24gaW5pdGlhbGl6ZVN0YXR1c1BhZ2UoKSB7CiAgICAgICAgIHZhciBm
ZWF0dXJlc0J5TmFtZSA9IHt9OwogICAgICAgICBmb3IgKHZhciBmZWF0dXJlIG9mIGFsbEZlYXR1
cmVzKSB7CiAgICAgICAgICAgICBpZiAoJ3NwZWNpZmljYXRpb24nIGluIGZlYXR1cmUpIHsKLSAg
ICAgICAgICAgICAgICB2YXIgc3BlY2lmaWNhdGlvbk9iamVjdCA9IHNwZWNpZmljYXRpb25zQnlO
YW1lW2ZlYXR1cmUuc3BlY2lmaWNhdGlvbl07Ci0gICAgICAgICAgICAgICAgc3BlY2lmaWNhdGlv
bk9iamVjdC5mZWF0dXJlcy5wdXNoKGZlYXR1cmUpOwotICAgICAgICAgICAgICAgIGZlYXR1cmUu
c3BlY2lmaWNhdGlvbiA9IHNwZWNpZmljYXRpb25PYmplY3Q7CisgICAgICAgICAgICAgICAgdmFy
IGZlYXR1cmVTcGVjaWZpY2F0aW9uID0gZmVhdHVyZS5zcGVjaWZpY2F0aW9uOworICAgICAgICAg
ICAgICAgIHZhciBzcGVjaWZpY2F0aW9uT2JqZWN0ID0gc3BlY2lmaWNhdGlvbnNCeU5hbWVbZmVh
dHVyZVNwZWNpZmljYXRpb25dOworICAgICAgICAgICAgICAgIGlmIChzcGVjaWZpY2F0aW9uT2Jq
ZWN0ICE9IHVuZGVmaW5lZCkgeworICAgICAgICAgICAgICAgICAgICBzcGVjaWZpY2F0aW9uT2Jq
ZWN0LmZlYXR1cmVzLnB1c2goZmVhdHVyZSk7CisgICAgICAgICAgICAgICAgICAgIGZlYXR1cmUu
c3BlY2lmaWNhdGlvbiA9IHNwZWNpZmljYXRpb25PYmplY3Q7CisgICAgICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICAgICAgZmVhdHVyZS5zcGVjaWZpY2F0aW9uID0geworICAg
ICAgICAgICAgICAgICAgICAgICAgbmFtZTogZmVhdHVyZVNwZWNpZmljYXRpb24KKyAgICAgICAg
ICAgICAgICAgICAgfTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICBmZWF0dXJlLmlzU3BlY2lmaWNhdGlvbiA9IGZhbHNlOwogICAgICAgICAgICAgZmVhdHVy
ZXNCeU5hbWVbZmVhdHVyZS5uYW1lXSA9IGZlYXR1cmU7CkBAIC03MzYsOCArOTAwLDEyIEBAIGZ1
bmN0aW9uIGluaXRpYWxpemVTdGF0dXNQYWdlKCkgewogICAgICAgICB2YXIgZXZlcnl0aGluZ1Rv
U2hvdyA9IGFsbEZlYXR1cmVzLmNvbmNhdChhbGxTcGVjaWZpY2F0aW9ucyk7CiAKICAgICAgICAg
c29ydEFscGhhYmV0aWNhbGx5KGV2ZXJ5dGhpbmdUb1Nob3cpOworICAgICAgICAKICAgICAgICAg
cmVuZGVyRmVhdHVyZXNBbmRTcGVjaWZpY2F0aW9ucyhldmVyeXRoaW5nVG9TaG93KTsKKyAgICAg
ICAgCiAgICAgICAgIGluaXRTZWFyY2goZXZlcnl0aGluZ1RvU2hvdyk7CisgICAgICAgIAorICAg
ICAgICB1cGRhdGVTZWFyY2goZXZlcnl0aGluZ1RvU2hvdyk7CiAKICAgICAgICAgaWYgKHdpbmRv
dy5sb2NhdGlvbi5oYXNoKSB7CiAgICAgICAgICAgICB2YXIgaGFzaCA9IHdpbmRvdy5sb2NhdGlv
bi5oYXNoOwpAQCAtNzQ2LDcgKzkxNCw4IEBAIGZ1bmN0aW9uIGluaXRpYWxpemVTdGF0dXNQYWdl
KCkgewogICAgICAgICB9CiAgICAgfQogCi0gICAgZnVuY3Rpb24gZGlzcGxheUVycm9yKGVycm9y
KSB7CisgICAgZnVuY3Rpb24gZGlzcGxheUVycm9yKGVycm9yKQorICAgIHsKICAgICAgICAgdmFy
IG1haW5Db250ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZlYXR1cmUtbGlzdCIpOwog
ICAgICAgICB2YXIgc3VjY2Vzc1N1YnRyZWUgPSBkb2N1bWVudC5pbXBvcnROb2RlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJlcnJvci10ZW1wbGF0ZSIpLmNvbnRlbnQsIHRydWUpOwogCkBAIC03
NjIsNiArOTMxLDMwIEBAIGZ1bmN0aW9uIGluaXRpYWxpemVTdGF0dXNQYWdlKCkgewogCiAgICAg
ICAgIG1haW5Db250ZW50LmFwcGVuZENoaWxkKHN1Y2Nlc3NTdWJ0cmVlKTsKICAgICB9CisgICAg
CisgICAgZnVuY3Rpb24gdXBkYXRlVVJMKHNlYXJjaFRlcm0sIGFjdGl2ZVN0YXR1c0ZpbHRlcnMp
CisgICAgeworICAgICAgICB2YXIgc2VhcmNoU3RyaW5nID0gJyc7CisgICAgICAgIAorICAgICAg
ICBmdW5jdGlvbiBhcHBlbmREZWxpbWl0ZXIoKQorICAgICAgICB7CisgICAgICAgICAgICBzZWFy
Y2hTdHJpbmcgKz0gc2VhcmNoU3RyaW5nLmxlbmd0aCA/ICcmJyA6ICc/JzsKKyAgICAgICAgfQor
ICAgICAgICAKKyAgICAgICAgaWYgKHNlYXJjaFRlcm0ubGVuZ3RoID4gMCkgeworICAgICAgICAg
ICAgYXBwZW5kRGVsaW1pdGVyKCk7CisgICAgICAgICAgICBzZWFyY2hTdHJpbmcgKz0gJ3NlYXJj
aD0nICsgZW5jb2RlVVJJQ29tcG9uZW50KHNlYXJjaFRlcm0pOworICAgICAgICB9CisgICAgICAg
IAorICAgICAgICBpZiAoYWN0aXZlU3RhdHVzRmlsdGVycy5sZW5ndGgpIHsKKyAgICAgICAgICAg
IGFwcGVuZERlbGltaXRlcigpOworICAgICAgICAgICAgc2VhcmNoU3RyaW5nICs9ICdzdGF0dXM9
JyArIGFjdGl2ZVN0YXR1c0ZpbHRlcnMuam9pbignLCcpOworICAgICAgICB9CisKKyAgICAgICAg
dmFyIGN1cnJlbnQgPSB3aW5kb3cubG9jYXRpb24uaHJlZjsKKyAgICAgICAgd2luZG93LmxvY2F0
aW9uLmhyZWYgPSBjdXJyZW50LnJlcGxhY2UoLyMoLiopJC8sICcnKSArICcjJyArIHNlYXJjaFN0
cmluZzsKKyAgICB9CisgICAgCiAKICAgICBQcm9taXNlLmFsbChbbG9hZEphdmFTY3JpcHRDb3Jl
RmVhdHVyZXMsIGxvYWRXZWJDb3JlRmVhdHVyZXNdKS50aGVuKGRpc3BsYXlGZWF0dXJlcykuY2F0
Y2goZGlzcGxheUVycm9yKTsKIH0KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvd3At
Y29udGVudC90aGVtZXMvd2Via2l0L3N0eWxlLmNzcyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvd3At
Y29udGVudC90aGVtZXMvd2Via2l0L3N0eWxlLmNzcwppbmRleCA4NWNlMDNhNTVhZDQ1YjhmZGI0
YTgwNDUyODJkZjE1ODQ5NDJhMDMwLi42OWNmMmVjYzUyYzA1OTRmZTBkYjQwOTY3MWU1YjJiYjEy
NGFlYTc5IDEwMDY0NAotLS0gYS9XZWJzaXRlcy93ZWJraXQub3JnL3dwLWNvbnRlbnQvdGhlbWVz
L3dlYmtpdC9zdHlsZS5jc3MKKysrIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy93cC1jb250ZW50L3Ro
ZW1lcy93ZWJraXQvc3R5bGUuY3NzCkBAIC0xNzEsNyArMTcxLDYgQEAgaW5wdXRbdHlwZT1zdWJt
aXRdIHsKICAgICBib3JkZXI6IDA7CiB9CiAKLQogLmFkbWluLWJhciBhW25hbWVdIHsKICAgICB0
b3A6IGNhbGMoLTMycHggLSAzcmVtKTsKIH0KQEAgLTE0MDYsMTQgKzE0MDUsNiBAQCBhcnRpY2xl
LAogICAgIGNvbnRlbnQ6ICIiOwogICAgIGJhY2tncm91bmQ6IHVybCgnaW1hZ2VzL21lbnUtZG93
bi5zdmcnKSBuby1yZXBlYXQgNTAlOwogICAgIGJhY2tncm91bmQtc2l6ZTogMnJlbTsKLSAgICB3
aWR0aDogMnJlbTsKLSAgICBoZWlnaHQ6IDJyZW07Ci0gICAgcG9zaXRpb246IGFic29sdXRlOwot
ICAgIHJpZ2h0OiAwOwotICAgIHRvcDogMC41cmVtOwotICAgIC13ZWJraXQtdHJhbnNpdGlvbjog
dHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7Ci0gICAgLW1vei10cmFuc2l0aW9uOiB0cmFuc2Zvcm0g
MC4zcyBlYXNlLW91dDsKLSAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91dDsK
IH0KIAogLmZlYXR1cmUub3BlbmVkIC5mZWF0dXJlLWhlYWRlcjphZnRlciB7CkBAIC0xOTM3LDYg
KzE5MjgsNyBAQCBoZWFkZXIgLm1lbnUtaXRlbSB7IC8qIGFkZCBib3R0b20gZGltZW5zaW9uIHRv
IG1haW4gbWVudSBpdGVtcyAqLwogICAgIGZvb3RlciBuYXYgbGkgewogICAgICAgICBwYWRkaW5n
OiAwIDNyZW0gM3JlbSAwOwogICAgIH0KKyAgICAKIH0KIAogQG1lZGlhIG9ubHkgc2NyZWVuIGFu
ZCAobWF4LXdpZHRoOiA2OTBweCkgewpAQCAtMjA0NSwzNyArMjAzNyw2IEBAIGhlYWRlciAubWVu
dS1pdGVtIHsgLyogYWRkIGJvdHRvbSBkaW1lbnNpb24gdG8gbWFpbiBtZW51IGl0ZW1zICovCiAg
ICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07CiAgICAgfQogCi0gICAgLmZlYXR1cmUtZmlsdGVy
cyB7Ci0gICAgICAgIGhlaWdodDogNnJlbTsKLSAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKLSAg
ICB9Ci0KLSAgICAuZmVhdHVyZS1maWx0ZXJzLm9wZW5lZCB7Ci0gICAgICAgIGhlaWdodDogYXV0
bzsKLSAgICB9Ci0KLSAgICAuZmVhdHVyZS1maWx0ZXJzOmFmdGVyIHsKLSAgICAgICAgZGlzcGxh
eTogaW5saW5lLWJsb2NrOwotICAgICAgICBjb250ZW50OiAiIjsKLSAgICAgICAgYmFja2dyb3Vu
ZDogdXJsKCdpbWFnZXMvbWVudS1kb3duLnN2ZycpIG5vLXJlcGVhdCA1MCU7Ci0gICAgICAgIGJh
Y2tncm91bmQtc2l6ZTogMnJlbTsKLSAgICAgICAgd2lkdGg6IDJyZW07Ci0gICAgICAgIGhlaWdo
dDogMnJlbTsKLSAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwotICAgICAgICByaWdodDogMXJl
bTsKLSAgICAgICAgdG9wOiAycmVtOwotICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IHRyYW5z
Zm9ybSAwLjNzIGVhc2Utb3V0OwotICAgICAgICAtbW96LXRyYW5zaXRpb246IHRyYW5zZm9ybSAw
LjNzIGVhc2Utb3V0OwotICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLW91
dDsKLSAgICAgICAgcGVyc3BlY3RpdmU6IDYwMDsKLSAgICB9Ci0KLSAgICAuZmVhdHVyZS1maWx0
ZXJzLm9wZW5lZDphZnRlciB7Ci0gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKC0x
ODBkZWcpOwotICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlWCgtMTgwZGVnKTsKLSAgICAg
ICAgdHJhbnNmb3JtOiByb3RhdGVYKC0xODBkZWcpOwotICAgIH0KLQogICAgICN3cGFkbWluYmFy
IHsKICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>