<?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>148254</bug_id>
          
          <creation_ts>2015-08-20 15:23:46 -0700</creation_ts>
          <short_desc>Web Inspector: Add warnings to section that require specific values of other properties</short_desc>
          <delta_ts>2016-01-07 15:44:49 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>147563</blocked>
    
    <blocked>148227</blocked>
    
    <blocked>148231</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1119395</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-08-20 15:23:46 -0700</bug_when>
    <thetext>As an example, the values in the &quot;Flexbox&quot; section require &quot;display: flex;&quot; to work.  Adding small notices that state this would be helpful in the case that the user is adding properties and not seeing any result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1119398</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-08-20 15:24:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/22369751&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152067</commentid>
    <comment_count>2</comment_count>
      <attachid>268125</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-01-02 21:32:52 -0800</bug_when>
    <thetext>Created attachment 268125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152172</commentid>
    <comment_count>3</comment_count>
      <attachid>268125</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-01-03 15:57:44 -0800</bug_when>
    <thetext>Comment on attachment 268125
Patch

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

This is awesome. I would appreciate before/after screenshots for posterity, and it would make it easier to give design feedback.

For example, I wonder whether we should dim/ignore inputs to dependent properties and add a hyperlink that changes the value to something reasonable, so the user doesn&apos;t have to backtrack. But, it may be obvious enough with your visual design that this is unnecessary.

&gt; Source/WebInspectorUI/ChangeLog:17
&gt; +        (WebInspector.VisualStyleDetailsPanel.prototype._populateFlexboxSection):

Please explain a little bit why some of the events, etc are no longer necessary.

&gt; Source/WebInspectorUI/UserInterface/Views/VisualStyleDetailsPanel.js:432
&gt; +        let positionDependencyValues = [&quot;relative&quot;, &quot;absolute&quot;, &quot;fixed&quot;, &quot;-webkit-sticky&quot;];

I would prefer naming more along the lines of:

let allowedPositionValues = [...];
properties.zIndex.enableIfPropertyHasValue(&quot;position&quot;, allowedPositionValues)

I think it&apos;s fine that either parameter can be singular or plural; it&apos;s way more descriptive than &apos;addDependency&apos;.

&gt; Source/WebInspectorUI/UserInterface/Views/VisualStylePropertyEditor.js:413
&gt; +            this._dependencies.set(property, propertyValues || []);

Please default this above, like for propertyNames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152173</commentid>
    <comment_count>4</comment_count>
      <attachid>268125</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-01-03 16:00:53 -0800</bug_when>
    <thetext>Comment on attachment 268125
Patch

Something that is probably a followup bug, is detecting similar situations where properties don&apos;t do anything (i.e., vertical-align in an inline context, top/left without out-of-flow parent, etc). This is probably harder to detect since inline and block contexts are not always easy to infer from the computed style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152209</commentid>
    <comment_count>5</comment_count>
      <attachid>268164</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-01-03 18:03:37 -0800</bug_when>
    <thetext>Created attachment 268164
After Patch is Applied</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1152211</commentid>
    <comment_count>6</comment_count>
      <attachid>268164</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-01-03 18:05:38 -0800</bug_when>
    <thetext>Comment on attachment 268164
After Patch is Applied

(In reply to comment #3)
&gt; This is awesome. I would appreciate before/after screenshots for posterity,
&gt; and it would make it easier to give design feedback.

Sorry I forgot to upload them :P

&gt; For example, I wonder whether we should dim/ignore inputs to dependent
&gt; properties and add a hyperlink that changes the value to something
&gt; reasonable, so the user doesn&apos;t have to backtrack. But, it may be obvious
&gt; enough with your visual design that this is unnecessary.

So I would rather not change the appearance of any of the editors if they are missing a dependency, because it is also possible that a :hover will apply the necessary dependency (like going from &quot;display: none;&quot; to &quot;display: flex;&quot; on :hover).  I just want to inform the user that this won&apos;t actually do anything unless the required property has a value that works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153094</commentid>
    <comment_count>7</comment_count>
      <attachid>268125</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-01-06 10:50:27 -0800</bug_when>
    <thetext>Comment on attachment 268125
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/VisualStylePropertyEditor.js:546
&gt; +                title += &quot;\n &quot; + property.name + &quot;: &quot; + dependencyValues.join(&quot;/&quot;);

It is a little weird to show raw CSS here when the visual sidebar shows prettified keywords and values. It might cause the user to get lost trying to mentally map back to the names used i the visual sidebar (especially once localization is used for labels but not values).

&gt; Source/WebInspectorUI/UserInterface/Views/VisualStylePropertyEditor.js:550
&gt; +        this._warningElement.title = !!title.length ? WebInspector.UIString(&quot;Missing Dependencies (Computed):%s&quot;).format(title) : null;

What does &quot;(Computed)&quot; try to communicate here? I am not sure it is needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153224</commentid>
    <comment_count>8</comment_count>
      <attachid>268125</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-01-06 14:22:45 -0800</bug_when>
    <thetext>Comment on attachment 268125
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/VisualStylePropertyEditor.js:546
&gt;&gt; +                title += &quot;\n &quot; + property.name + &quot;: &quot; + dependencyValues.join(&quot;/&quot;);
&gt; 
&gt; It is a little weird to show raw CSS here when the visual sidebar shows prettified keywords and values. It might cause the user to get lost trying to mentally map back to the names used i the visual sidebar (especially once localization is used for labels but not values).

That is a very good point.  I&apos;m not sure how to go about future-proofing this though...maybe use UIString for the name and value(s) when they are passed in via addDependency() ?

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/VisualStylePropertyEditor.js:550
&gt;&gt; +        this._warningElement.title = !!title.length ? WebInspector.UIString(&quot;Missing Dependencies (Computed):%s&quot;).format(title) : null;
&gt; 
&gt; What does &quot;(Computed)&quot; try to communicate here? I am not sure it is needed.

The idea behind the (Computed) was to try to explain that the dependency is based off of the final, aka computed, value of the CSS property.  Essentially, you don&apos;t have to have &quot;display: flex;&quot; in the same rule so long as it is set in one of the other rules and is not overridden (hence it is the Computed value).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153446</commentid>
    <comment_count>9</comment_count>
      <attachid>268125</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-01-07 10:20:22 -0800</bug_when>
    <thetext>Comment on attachment 268125
Patch

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Views/VisualStylePropertyEditor.js:546
&gt;&gt;&gt; +                title += &quot;\n &quot; + property.name + &quot;: &quot; + dependencyValues.join(&quot;/&quot;);
&gt;&gt; 
&gt;&gt; It is a little weird to show raw CSS here when the visual sidebar shows prettified keywords and values. It might cause the user to get lost trying to mentally map back to the names used i the visual sidebar (especially once localization is used for labels but not values).
&gt; 
&gt; That is a very good point.  I&apos;m not sure how to go about future-proofing this though...maybe use UIString for the name and value(s) when they are passed in via addDependency() ?

Only property names are localized now. The keyword values are not, but the values are prettified with spaces and title case. You would need to make a global lookup map for this. This can land as-is. I think there are other tooltips that have the same issue.

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Views/VisualStylePropertyEditor.js:550
&gt;&gt;&gt; +        this._warningElement.title = !!title.length ? WebInspector.UIString(&quot;Missing Dependencies (Computed):%s&quot;).format(title) : null;
&gt;&gt; 
&gt;&gt; What does &quot;(Computed)&quot; try to communicate here? I am not sure it is needed.
&gt; 
&gt; The idea behind the (Computed) was to try to explain that the dependency is based off of the final, aka computed, value of the CSS property.  Essentially, you don&apos;t have to have &quot;display: flex;&quot; in the same rule so long as it is set in one of the other rules and is not overridden (hence it is the Computed value).

I think we can drop (Computed) then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153558</commentid>
    <comment_count>10</comment_count>
      <attachid>268481</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-01-07 13:40:34 -0800</bug_when>
    <thetext>Created attachment 268481
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153617</commentid>
    <comment_count>11</comment_count>
      <attachid>268481</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-07 14:39:58 -0800</bug_when>
    <thetext>Comment on attachment 268481
Patch

Rejecting attachment 268481 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 268481, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
5a845be809694d2a2d3564da3e4db9a299c
r194723 = a2b0d9948cf25af5fd569fd4f61b67395a1330db
r194725 = 19ab57dde83f40920c3eeaf4fb0e23afb78b1084
r194726 = 0c0c2eeb5734d1c94f24e01beb06b30f37d1ae1a
r194727 = fdf1507a9bd16159a20825dd6acaba6b332d437d
r194728 = 98af212366ebe4d6d545bb91b531751c851c6813
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.

Full output: http://webkit-queues.webkit.org/results/664028</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153641</commentid>
    <comment_count>12</comment_count>
      <attachid>268500</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2016-01-07 15:28:15 -0800</bug_when>
    <thetext>Created attachment 268500
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153652</commentid>
    <comment_count>13</comment_count>
      <attachid>268500</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-07 15:44:44 -0800</bug_when>
    <thetext>Comment on attachment 268500
Patch

Clearing flags on attachment: 268500

Committed r194737: &lt;http://trac.webkit.org/changeset/194737&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153653</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-07 15:44:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268125</attachid>
            <date>2016-01-02 21:32:52 -0800</date>
            <delta_ts>2016-01-07 13:40:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148254-20160102223218.patch</filename>
            <type>text/plain</type>
            <size>22443</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDc5OWVmNWNkZTVmMjdmMGRlNWQ0MjRlNzY1MTA1
OTVkNGQ3MmJlMzkuLjk5ZTQwNTc0YzY2MmU3ZTRmZTg5MDFkZWVmNThiMTczMzZkMjE5Y2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDUyIEBACiAyMDE2LTAxLTAyICBEZXZp
biBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgogCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IEFkZCB3YXJuaW5ncyB0byBzZWN0aW9uIHRoYXQgcmVxdWlyZSBzcGVjaWZpYyB2YWx1
ZXMgb2Ygb3RoZXIgcHJvcGVydGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQ4MjU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgYSBmdW5jdGlvbiB0byBWaXN1YWxTdHlsZVByb3BlcnR5RWRp
dG9yIHRvIGFsbG93IGRlcGVuZGVuY2llcyB0byBiZSBzZXQgd2hpY2gsCisgICAgICAgIHdoZW5l
dmVyIHRoZSBlZGl0b3IgaXMgdXBkYXRlZCBvciBjaGFuZ2VkLCB3aWxsIGJlIGNoZWNrZWQgYWdh
aW5zdCB0aGUgY29tcHV0ZWQgc3R5bGVzCisgICAgICAgIG9mIHRoZSBlbGVtZW50IHRvIHNlZSBp
ZiBhbGwgdGhlIG5lY2Vzc2FyeSBwcm9wZXJ0eSB2YWx1ZXMgYXJlIHNldC4KKworICAgICAgICAq
IExvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlRGV0YWlsc1BhbmVsLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5WaXN1YWxTdHlsZURldGFpbHNQYW5lbC5wcm90b3R5cGUucmVmcmVzaCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwucHJvdG90eXBlLl9wb3B1bGF0
ZVBvc2l0aW9uU2VjdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVEZXRh
aWxzUGFuZWwucHJvdG90eXBlLl9wb3B1bGF0ZUZsZXhib3hTZWN0aW9uKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5WaXN1YWxTdHlsZURldGFpbHNQYW5lbC5wcm90b3R5cGUuX3BvcHVsYXRlQWxp
Z25tZW50U2VjdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVEZXRhaWxz
UGFuZWwucHJvdG90eXBlLl9wb3B1bGF0ZUJvcmRlclNlY3Rpb24pOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsLnByb3RvdHlwZS5fcG9wdWxhdGVPdXRsaW5l
U2VjdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwu
cHJvdG90eXBlLl9wcmVwYXJlRm9yQ2hhbmdlKTogRGVsZXRlZC4KKworICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvci5jc3M6CisgICAgICAgICgu
dmlzdWFsLXN0eWxlLXByb3BlcnR5LWNvbnRhaW5lci5sYXlvdXQtcmV2ZXJzZWQgPiAudmlzdWFs
LXN0eWxlLXByb3BlcnR5LXRpdGxlKToKKyAgICAgICAgKC52aXN1YWwtc3R5bGUtcHJvcGVydHkt
Y29udGFpbmVyID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS10aXRsZSA+IC5wcm9wZXJ0eS1yZWZl
cmVuY2UtaW5mbyk6CisgICAgICAgICgudmlzdWFsLXN0eWxlLXByb3BlcnR5LWNvbnRhaW5lciA+
IC52aXN1YWwtc3R5bGUtcHJvcGVydHktZWRpdG9yLXdhcm5pbmcpOgorICAgICAgICAoLnZpc3Vh
bC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIubGF5b3V0LXJldmVyc2VkID4gLnZpc3VhbC1zdHls
ZS1wcm9wZXJ0eS1lZGl0b3Itd2FybmluZyk6CisgICAgICAgICgudmlzdWFsLXN0eWxlLXByb3Bl
cnR5LWNvbnRhaW5lciA+IC52aXN1YWwtc3R5bGUtcHJvcGVydHktZWRpdG9yLXdhcm5pbmcubWlz
c2luZy1kZXBlbmRlbmN5KToKKyAgICAgICAgKC52aXN1YWwtc3R5bGUtcHJvcGVydHktY29udGFp
bmVyID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS12YWx1ZS1jb250YWluZXIpOgorICAgICAgICAo
LnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIubGF5b3V0LXJldmVyc2VkID4gLnZpc3Vh
bC1zdHlsZS1wcm9wZXJ0eS12YWx1ZS1jb250YWluZXIpOgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlZpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlZpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IucHJvdG90eXBlLnVwZGF0ZUVkaXRvclZhbHVlcyk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvci5wcm90b3R5
cGUuYWRkRGVwZW5kZW5jeSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVQcm9w
ZXJ0eUVkaXRvci5wcm90b3R5cGUuX3ZhbHVlRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLnByb3RvdHlwZS5fY2hlY2tEZXBlbmRlbmNp
ZXMpOgorICAgICAgICBMb29rcyBhdCB0aGUgY29tcHV0ZWQgc3R5bGUgZm9yIHRoZSBub2RlIHRv
IHNlZSBpZiBhbnkgZGVwZW5kZW50IHByb3BlcnRpZXMgZG8gbm90CisgICAgICAgIGhhdmUgb25l
IG9mIHRoZSByZXF1aXJlZCB2YWx1ZXMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L1Zpc3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZp
c3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uLnByb3RvdHlwZS51cGRhdGUuY3JlYXRlU2VsZWN0b3JJ
dGVtKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbi5w
cm90b3R5cGUuX3N0eWxlVGV4dFJlc2V0KTogRGVsZXRlZC4KKworICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbS5wcm90b3R5cGUuX2hhbmRsZUNv
bnRleHRNZW51RXZlbnQpOgorCisyMDE2LTAxLTAyICBEZXZpbiBSb3Vzc28gIDxkY3JvdXNzbyt3
ZWJraXRAZ21haWwuY29tPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IExpc3QgYWxsIHJlc291
cmNlcyB0aGF0IGFyZSBpbml0aWF0ZWQgYnkgdGhlIHNlbGVjdGVkIHJlc291cmNlIGluIHRoZSBO
ZXR3b3JrIHRhYgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTUyNjQ3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRp
b25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
TG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDM3ODNhYWVj
YTM3ODNlYzZiMDBjZGY2NmQ0YTQ2ZTkzYjRlNTc0YmUuLjgwOTUzY2M1NmNkZWY1OTZiYjM5ZmVm
OTM0MDkyY2JjZTNjMDEwZjggMTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMTU5CnpjbWV6
TmolQ1hTbUpPUEY+V2RrUTg4UjkyN302T083K2VAcTg0Nz9uazBBdzJDSWUrc2YkfENyOFZ0QDFg
MyQqMAp2KjswbFFwalpsbkNXOTQmRG97PnxBcj5mYTMmY3RjekNpVVBuI1k0fDtOKnNfYGtQaHYx
WGNxOEY+eFlkCgpkZWx0YSAxNApXY21kbjtmI3VzZm1KT1BGSGIzOXZUTVltfHZqe3swCgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFs
U3R5bGVEZXRhaWxzUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9WaXN1YWxTdHlsZURldGFpbHNQYW5lbC5qcwppbmRleCA1NzUyNzdhODhmZDcyODZk
NjUyMjNhYjY0NWI4ZGE1NWQwYWQzMGYyLi5lNjgzMWI5ZGIyNDU2Nzc3NWY2MzZmMjNkYmRjZTM5
MTRiMzNiYmJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9WaXN1YWxTdHlsZURldGFpbHNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZURldGFpbHNQYW5lbC5qcwpAQCAt
MzAsMjAgKzMwLDE4IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZURldGFpbHNQYW5lbCA9IGNs
YXNzIFZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMgV2ViCiAgICAgICAgIHN1cGVyKGRl
bGVnYXRlLCAidmlzdWFsIiwgInZpc3VhbCIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiU3R5bGVz
IFx1MjAxNCBWaXN1YWwiKSk7CiAKICAgICAgICAgdGhpcy5fY3VycmVudFN0eWxlID0gbnVsbDsK
LSAgICAgICAgdGhpcy5fZm9yY2VOZXh0U3R5bGVVcGRhdGUgPSBmYWxzZTsKIAogICAgICAgICB0
aGlzLl9zZWN0aW9ucyA9IHt9OwogICAgICAgICB0aGlzLl9ncm91cHMgPSB7fTsKICAgICAgICAg
dGhpcy5fa2V5d29yZHMgPSB7fTsKICAgICAgICAgdGhpcy5fdW5pdHMgPSB7fTsKLSAgICAgICAg
dGhpcy5fYXV0b2NvbXBsZXRpb25Qcm9wZXJ0eUVkaXRvcnMgPSB7fTsKIAogICAgICAgICAvLyBU
aGVzZSBrZXl3b3JkcywgYXMgd2VsbCBhcyB0aGUgdmFsdWVzIGJlbG93LCBhcmUgbm90IGxvY2Fs
aXplZCBhcyB0aGV5IG11c3QgbWF0Y2ggdGhlIENTUyBzcGVjLgogICAgICAgICB0aGlzLl9rZXl3
b3Jkcy5kZWZhdWx0cyA9IFsiSW5oZXJpdCIsICJJbml0aWFsIiwgIlVuc2V0IiwgIlJldmVydCJd
OwogICAgICAgICB0aGlzLl9rZXl3b3Jkcy5ib3hNb2RlbCA9IHRoaXMuX2tleXdvcmRzLmRlZmF1
bHRzLmNvbmNhdChbIkF1dG8iXSk7CiAgICAgICAgIHRoaXMuX2tleXdvcmRzLmJvcmRlclN0eWxl
ID0gewogICAgICAgICAgICAgYmFzaWM6IHRoaXMuX2tleXdvcmRzLmRlZmF1bHRzLmNvbmNhdChb
Ik5vbmUiLCAiSGlkZGVuIiwgIlNvbGlkIl0pLAotICAgICAgICAgICAgYWR2YW5jZWQ6IFsiRGFz
aGVkIiwgIkRvdHRlZCIsICJEb3VibGUiLCAiR3Jvb3ZlIiwgIkhpZGRlbiIsICJJbnNldCIsICJO
b25lIiwgIk91dHNldCIsICJSaWRnZSJdCisgICAgICAgICAgICBhZHZhbmNlZDogWyJEYXNoZWQi
LCAiRG90dGVkIiwgIkRvdWJsZSIsICJHcm9vdmUiLCAiSW5zZXQiLCAiT3V0c2V0IiwgIlJpZGdl
Il0KICAgICAgICAgfTsKICAgICAgICAgdGhpcy5fa2V5d29yZHMuYm9yZGVyV2lkdGggPSB0aGlz
Ll9rZXl3b3Jkcy5kZWZhdWx0cy5jb25jYXQoWyJNZWRpdW0iLCAiVGhpY2siLCAiVGhpbiJdKTsK
IApAQCAtNTksNyArNTcsNiBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwg
PSBjbGFzcyBWaXN1YWxTdHlsZURldGFpbHNQYW5lbCBleHRlbmRzIFdlYgogICAgICAgICAvLyBT
ZWxlY3RvciBTZWN0aW9uCiAgICAgICAgIHRoaXMuX3NlbGVjdG9yU2VjdGlvbiA9IG5ldyBXZWJJ
bnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rpb24odGhpcyk7CiAgICAgICAgIHRoaXMu
X3NlbGVjdG9yU2VjdGlvbi5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5WaXN1YWxTdHls
ZVNlbGVjdG9yU2VjdGlvbi5FdmVudC5TZWxlY3RvckNoYW5nZWQsIHRoaXMuX3VwZGF0ZVNlY3Rp
b25zLCB0aGlzKTsKLSAgICAgICAgdGhpcy5fc2VsZWN0b3JTZWN0aW9uLmFkZEV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uLkV2ZW50LlN0eWxlVGV4
dENoYW5nZWQsIHRoaXMuX3ByZXBhcmVGb3JDaGFuZ2UsIHRoaXMpOwogICAgICAgICB0aGlzLmVs
ZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc2VsZWN0b3JTZWN0aW9uLmVsZW1lbnQpOwogCiAgICAg
ICAgIC8vIExheW91dCBTZWN0aW9uCkBAIC0xMDUsMTEgKzEwMiw4IEBAIFdlYkluc3BlY3Rvci5W
aXN1YWxTdHlsZURldGFpbHNQYW5lbCA9IGNsYXNzIFZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsIGV4
dGVuZHMgV2ViCiAKICAgICByZWZyZXNoKHNpZ25pZmljYW50Q2hhbmdlKQogICAgIHsKLSAgICAg
ICAgaWYgKHNpZ25pZmljYW50Q2hhbmdlIHx8IHRoaXMuX2ZvcmNlTmV4dFN0eWxlVXBkYXRlKSB7
Ci0gICAgICAgICAgICB0aGlzLl9zZWxlY3RvclNlY3Rpb24udXBkYXRlKHRoaXMuX25vZGVTdHls
ZXMpOwotICAgICAgICAgICAgdGhpcy5fdXBkYXRlU2VjdGlvbnMoKTsKLSAgICAgICAgICAgIHRo
aXMuX2ZvcmNlTmV4dFN0eWxlVXBkYXRlID0gZmFsc2U7Ci0gICAgICAgIH0KKyAgICAgICAgdGhp
cy5fc2VsZWN0b3JTZWN0aW9uLnVwZGF0ZSh0aGlzLl9ub2RlU3R5bGVzKTsKKyAgICAgICAgdGhp
cy5fdXBkYXRlU2VjdGlvbnMoKTsKIAogICAgICAgICBzdXBlci5yZWZyZXNoKCk7CiAgICAgfQpA
QCAtMTQ0LDExICsxMzgsNiBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwg
PSBjbGFzcyBWaXN1YWxTdHlsZURldGFpbHNQYW5lbCBleHRlbmRzIFdlYgogICAgICAgICBwb3B1
bGF0ZUZ1bmN0aW9uLmNhbGwodGhpcyk7CiAgICAgfQogCi0gICAgX3ByZXBhcmVGb3JDaGFuZ2Uo
ZXZlbnQpCi0gICAgewotICAgICAgICB0aGlzLl9mb3JjZU5leHRTdHlsZVVwZGF0ZSA9IHRydWU7
Ci0gICAgfQotCiAgICAgX3VwZGF0ZVNlY3Rpb25zKGV2ZW50KQogICAgIHsKICAgICAgICAgdGhp
cy5fY3VycmVudFN0eWxlID0gdGhpcy5fc2VsZWN0b3JTZWN0aW9uLmN1cnJlbnRTdHlsZSgpOwpA
QCAtNDM5LDYgKzQyOCwxMyBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwg
PSBjbGFzcyBWaXN1YWxTdHlsZURldGFpbHNQYW5lbCBleHRlbmRzIFdlYgogCiAgICAgICAgIGxl
dCBwb3NpdGlvbkdyb3VwID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbkdyb3VwKHJv
d3MpOwogICAgICAgICB0aGlzLl9wb3B1bGF0ZVNlY3Rpb24oZ3JvdXAsIFtwb3NpdGlvbkdyb3Vw
XSk7CisKKyAgICAgICAgbGV0IHBvc2l0aW9uRGVwZW5kZW5jeVZhbHVlcyA9IFsicmVsYXRpdmUi
LCAiYWJzb2x1dGUiLCAiZml4ZWQiLCAiLXdlYmtpdC1zdGlja3kiXTsKKyAgICAgICAgcHJvcGVy
dGllcy56SW5kZXguYWRkRGVwZW5kZW5jeSgicG9zaXRpb24iLCBwb3NpdGlvbkRlcGVuZGVuY3lW
YWx1ZXMpOworICAgICAgICBwcm9wZXJ0aWVzLnRvcC5hZGREZXBlbmRlbmN5KCJwb3NpdGlvbiIs
IHBvc2l0aW9uRGVwZW5kZW5jeVZhbHVlcyk7CisgICAgICAgIHByb3BlcnRpZXMucmlnaHQuYWRk
RGVwZW5kZW5jeSgicG9zaXRpb24iLCBwb3NpdGlvbkRlcGVuZGVuY3lWYWx1ZXMpOworICAgICAg
ICBwcm9wZXJ0aWVzLmJvdHRvbS5hZGREZXBlbmRlbmN5KCJwb3NpdGlvbiIsIHBvc2l0aW9uRGVw
ZW5kZW5jeVZhbHVlcyk7CisgICAgICAgIHByb3BlcnRpZXMubGVmdC5hZGREZXBlbmRlbmN5KCJw
b3NpdGlvbiIsIHBvc2l0aW9uRGVwZW5kZW5jeVZhbHVlcyk7CiAgICAgfQogCiAgICAgX3BvcHVs
YXRlRmxvYXRTZWN0aW9uKCkKQEAgLTU3Niw2ICs1NzIsMTQgQEAgV2ViSW5zcGVjdG9yLlZpc3Vh
bFN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5k
cyBXZWIKIAogICAgICAgICBsZXQgZmxleGJveEdyb3VwID0gbmV3IFdlYkluc3BlY3Rvci5EZXRh
aWxzU2VjdGlvbkdyb3VwKFtmbGV4T3JkZXJSb3csIGZsZXhTaXplUm93LCBmbGV4Rmxvd1Jvd10p
OwogICAgICAgICB0aGlzLl9wb3B1bGF0ZVNlY3Rpb24oZ3JvdXAsIFtmbGV4Ym94R3JvdXBdKTsK
KworICAgICAgICBsZXQgZGlzcGxheURlcGVuZGVuY3lWYWx1ZXMgPSBbImZsZXgiLCAiaW5saW5l
LWZsZXgiLCAiLXdlYmtpdC1ib3giLCAiLXdlYmtpdC1pbmxpbmUtYm94Il07CisgICAgICAgIHBy
b3BlcnRpZXMub3JkZXIuYWRkRGVwZW5kZW5jeSgiZGlzcGxheSIsIGRpc3BsYXlEZXBlbmRlbmN5
VmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5mbGV4QmFzaXMuYWRkRGVwZW5kZW5jeSgiZGlz
cGxheSIsIGRpc3BsYXlEZXBlbmRlbmN5VmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5mbGV4
R3Jvdy5hZGREZXBlbmRlbmN5KCJkaXNwbGF5IiwgZGlzcGxheURlcGVuZGVuY3lWYWx1ZXMpOwor
ICAgICAgICBwcm9wZXJ0aWVzLmZsZXhTaHJpbmsuYWRkRGVwZW5kZW5jeSgiZGlzcGxheSIsIGRp
c3BsYXlEZXBlbmRlbmN5VmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5mbGV4RGlyZWN0aW9u
LmFkZERlcGVuZGVuY3koImRpc3BsYXkiLCBkaXNwbGF5RGVwZW5kZW5jeVZhbHVlcyk7CisgICAg
ICAgIHByb3BlcnRpZXMuZmxleFdyYXAuYWRkRGVwZW5kZW5jeSgiZGlzcGxheSIsIGRpc3BsYXlE
ZXBlbmRlbmN5VmFsdWVzKTsKICAgICB9CiAKICAgICBfcG9wdWxhdGVBbGlnbm1lbnRTZWN0aW9u
KCkKQEAgLTYxMSw2ICs2MTUsMTIgQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1Bh
bmVsID0gY2xhc3MgVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBXZWIKIAogICAgICAg
ICBsZXQgYWxpZ25tZW50R3JvdXAgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uR3Jv
dXAoW2NvbnRlbnRSb3csIGl0ZW1zUm93XSk7CiAgICAgICAgIHRoaXMuX3BvcHVsYXRlU2VjdGlv
bihncm91cCwgW2FsaWdubWVudEdyb3VwXSk7CisKKyAgICAgICAgbGV0IGRpc3BsYXlEZXBlbmRl
bmN5VmFsdWVzID0gWyJmbGV4IiwgImlubGluZS1mbGV4IiwgIi13ZWJraXQtYm94IiwgIi13ZWJr
aXQtaW5saW5lLWJveCJdOworICAgICAgICBwcm9wZXJ0aWVzLmp1c3RpZnlDb250ZW50LmFkZERl
cGVuZGVuY3koImRpc3BsYXkiLCBkaXNwbGF5RGVwZW5kZW5jeVZhbHVlcyk7CisgICAgICAgIHBy
b3BlcnRpZXMuYWxpZ25Db250ZW50LmFkZERlcGVuZGVuY3koImRpc3BsYXkiLCBkaXNwbGF5RGVw
ZW5kZW5jeVZhbHVlcyk7CisgICAgICAgIHByb3BlcnRpZXMuYWxpZ25JdGVtcy5hZGREZXBlbmRl
bmN5KCJkaXNwbGF5IiwgZGlzcGxheURlcGVuZGVuY3lWYWx1ZXMpOworICAgICAgICBwcm9wZXJ0
aWVzLmFsaWduU2VsZi5hZGREZXBlbmRlbmN5KCJkaXNwbGF5IiwgZGlzcGxheURlcGVuZGVuY3lW
YWx1ZXMpOwogICAgIH0KIAogICAgIF9wb3B1bGF0ZVRleHRTdHlsZVNlY3Rpb24oKQpAQCAtOTU2
LDYgKzk2NiwxOCBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgPSBjbGFz
cyBWaXN1YWxTdHlsZURldGFpbHNQYW5lbCBleHRlbmRzIFdlYgogCiAgICAgICAgIGxldCBib3Jk
ZXJHcm91cCA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25Hcm91cChbYm9yZGVyVGFi
Q29udHJvbGxlciwgYm9yZGVyQWxsR3JvdXAsIGJvcmRlclRvcEdyb3VwLCBib3JkZXJSaWdodEdy
b3VwLCBib3JkZXJCb3R0b21Hcm91cCwgYm9yZGVyTGVmdEdyb3VwXSk7CiAgICAgICAgIHRoaXMu
X3BvcHVsYXRlU2VjdGlvbihncm91cCwgW2JvcmRlckdyb3VwXSk7CisKKyAgICAgICAgbGV0IGJv
cmRlckRlcGVuZGVuY3lWYWx1ZXMgPSBbInNvbGlkIiwgImRhc2hlZCIsICJkb3R0ZWQiLCAiZG91
YmxlIiwgImdyb292ZSIsICJpbnNldCIsICJvdXRzZXQiLCAicmlkZ2UiXTsKKyAgICAgICAgcHJv
cGVydGllcy5ib3JkZXJXaWR0aC5hZGREZXBlbmRlbmN5KFsiYm9yZGVyLXRvcC1zdHlsZSIsICJi
b3JkZXItcmlnaHQtc3R5bGUiLCAiYm9yZGVyLWJvdHRvbS1zdHlsZSIsICJib3JkZXItbGVmdC1z
dHlsZSJdLCBib3JkZXJEZXBlbmRlbmN5VmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5ib3Jk
ZXJDb2xvci5hZGREZXBlbmRlbmN5KFsiYm9yZGVyLXRvcC1zdHlsZSIsICJib3JkZXItcmlnaHQt
c3R5bGUiLCAiYm9yZGVyLWJvdHRvbS1zdHlsZSIsICJib3JkZXItbGVmdC1zdHlsZSJdLCBib3Jk
ZXJEZXBlbmRlbmN5VmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5ib3JkZXJUb3BXaWR0aC5h
ZGREZXBlbmRlbmN5KCJib3JkZXItdG9wLXN0eWxlIiwgYm9yZGVyRGVwZW5kZW5jeVZhbHVlcyk7
CisgICAgICAgIHByb3BlcnRpZXMuYm9yZGVyVG9wQ29sb3IuYWRkRGVwZW5kZW5jeSgiYm9yZGVy
LXRvcC1zdHlsZSIsIGJvcmRlckRlcGVuZGVuY3lWYWx1ZXMpOworICAgICAgICBwcm9wZXJ0aWVz
LmJvcmRlclJpZ2h0V2lkdGguYWRkRGVwZW5kZW5jeSgiYm9yZGVyLXJpZ2h0LXN0eWxlIiwgYm9y
ZGVyRGVwZW5kZW5jeVZhbHVlcyk7CisgICAgICAgIHByb3BlcnRpZXMuYm9yZGVyUmlnaHRDb2xv
ci5hZGREZXBlbmRlbmN5KCJib3JkZXItcmlnaHQtc3R5bGUiLCBib3JkZXJEZXBlbmRlbmN5VmFs
dWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5ib3JkZXJCb3R0b21XaWR0aC5hZGREZXBlbmRlbmN5
KCJib3JkZXItYm90dG9tLXN0eWxlIiwgYm9yZGVyRGVwZW5kZW5jeVZhbHVlcyk7CisgICAgICAg
IHByb3BlcnRpZXMuYm9yZGVyQm90dG9tQ29sb3IuYWRkRGVwZW5kZW5jeSgiYm9yZGVyLWJvdHRv
bS1zdHlsZSIsIGJvcmRlckRlcGVuZGVuY3lWYWx1ZXMpOworICAgICAgICBwcm9wZXJ0aWVzLmJv
cmRlckxlZnRXaWR0aC5hZGREZXBlbmRlbmN5KCJib3JkZXItbGVmdC1zdHlsZSIsIGJvcmRlckRl
cGVuZGVuY3lWYWx1ZXMpOworICAgICAgICBwcm9wZXJ0aWVzLmJvcmRlckxlZnRDb2xvci5hZGRE
ZXBlbmRlbmN5KCJib3JkZXItbGVmdC1zdHlsZSIsIGJvcmRlckRlcGVuZGVuY3lWYWx1ZXMpOwog
ICAgIH0KIAogICAgIF9wb3B1bGF0ZU91dGxpbmVTZWN0aW9uKCkKQEAgLTk2NSwyNCArOTg3LDI4
IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZURldGFpbHNQYW5lbCA9IGNsYXNzIFZpc3VhbFN0
eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMgV2ViCiAKICAgICAgICAgbGV0IG91dGxpbmVTaXplUm93
ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblJvdzsKIAorICAgICAgICBwcm9wZXJ0
aWVzLm91dGxpbmVTdHlsZSA9IG5ldyBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVLZXl3b3JkUGlj
a2VyKCJvdXRsaW5lLXN0eWxlIiAsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiU3R5bGUiKSwgdGhp
cy5fa2V5d29yZHMuYm9yZGVyU3R5bGUpOwogICAgICAgICBwcm9wZXJ0aWVzLm91dGxpbmVXaWR0
aCA9IG5ldyBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVOdW1iZXJJbnB1dEJveCgib3V0bGluZS13
aWR0aCIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiV2lkdGgiKSwgdGhpcy5fa2V5d29yZHMuYm9y
ZGVyV2lkdGgsIHRoaXMuX3VuaXRzLmRlZmF1bHRzKTsKLSAgICAgICAgcHJvcGVydGllcy5vdXRs
aW5lT2Zmc2V0ID0gbmV3IFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZU51bWJlcklucHV0Qm94KCJv
dXRsaW5lLW9mZnNldCIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiT2Zmc2V0IiksIHRoaXMuX2tl
eXdvcmRzLmRlZmF1bHRzLCB0aGlzLl91bml0cy5kZWZhdWx0cywgdHJ1ZSk7CiAKKyAgICAgICAg
b3V0bGluZVNpemVSb3cuZWxlbWVudC5hcHBlbmRDaGlsZChwcm9wZXJ0aWVzLm91dGxpbmVTdHls
ZS5lbGVtZW50KTsKICAgICAgICAgb3V0bGluZVNpemVSb3cuZWxlbWVudC5hcHBlbmRDaGlsZChw
cm9wZXJ0aWVzLm91dGxpbmVXaWR0aC5lbGVtZW50KTsKLSAgICAgICAgb3V0bGluZVNpemVSb3cu
ZWxlbWVudC5hcHBlbmRDaGlsZChwcm9wZXJ0aWVzLm91dGxpbmVPZmZzZXQuZWxlbWVudCk7CiAK
ICAgICAgICAgbGV0IG91dGxpbmVTdHlsZVJvdyA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1Nl
Y3Rpb25Sb3c7CiAKLSAgICAgICAgcHJvcGVydGllcy5vdXRsaW5lU3R5bGUgPSBuZXcgV2ViSW5z
cGVjdG9yLlZpc3VhbFN0eWxlS2V5d29yZFBpY2tlcigib3V0bGluZS1zdHlsZSIgLCBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIlN0eWxlIiksIHRoaXMuX2tleXdvcmRzLmJvcmRlclN0eWxlKTsKICAg
ICAgICAgcHJvcGVydGllcy5vdXRsaW5lQ29sb3IgPSBuZXcgV2ViSW5zcGVjdG9yLlZpc3VhbFN0
eWxlQ29sb3JQaWNrZXIoIm91dGxpbmUtY29sb3IiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNv
bG9yIikpOworICAgICAgICBwcm9wZXJ0aWVzLm91dGxpbmVPZmZzZXQgPSBuZXcgV2ViSW5zcGVj
dG9yLlZpc3VhbFN0eWxlTnVtYmVySW5wdXRCb3goIm91dGxpbmUtb2Zmc2V0IiwgV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJPZmZzZXQiKSwgdGhpcy5fa2V5d29yZHMuZGVmYXVsdHMsIHRoaXMuX3Vu
aXRzLmRlZmF1bHRzLCB0cnVlKTsKIAotICAgICAgICBvdXRsaW5lU3R5bGVSb3cuZWxlbWVudC5h
cHBlbmRDaGlsZChwcm9wZXJ0aWVzLm91dGxpbmVTdHlsZS5lbGVtZW50KTsKICAgICAgICAgb3V0
bGluZVN0eWxlUm93LmVsZW1lbnQuYXBwZW5kQ2hpbGQocHJvcGVydGllcy5vdXRsaW5lQ29sb3Iu
ZWxlbWVudCk7CisgICAgICAgIG91dGxpbmVTdHlsZVJvdy5lbGVtZW50LmFwcGVuZENoaWxkKHBy
b3BlcnRpZXMub3V0bGluZU9mZnNldC5lbGVtZW50KTsKIAogICAgICAgICBncm91cC5hdXRvY29t
cGxldGVDb21wYXRpYmxlUHJvcGVydGllcyA9IFtwcm9wZXJ0aWVzLm91dGxpbmVDb2xvcl07CiAK
ICAgICAgICAgbGV0IG91dGxpbmVHcm91cCA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rp
b25Hcm91cChbb3V0bGluZVNpemVSb3csIG91dGxpbmVTdHlsZVJvd10pOwogICAgICAgICB0aGlz
Ll9wb3B1bGF0ZVNlY3Rpb24oZ3JvdXAsIFtvdXRsaW5lR3JvdXBdKTsKKworICAgICAgICBsZXQg
b3V0bGluZURlcGVuZGVuY3lWYWx1ZXMgPSBbInNvbGlkIiwgImRhc2hlZCIsICJkb3R0ZWQiLCAi
ZG91YmxlIiwgImdyb292ZSIsICJpbnNldCIsICJvdXRzZXQiLCAicmlkZ2UiXTsKKyAgICAgICAg
cHJvcGVydGllcy5vdXRsaW5lV2lkdGguYWRkRGVwZW5kZW5jeSgib3V0bGluZS1zdHlsZSIsIG91
dGxpbmVEZXBlbmRlbmN5VmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5vdXRsaW5lQ29sb3Iu
YWRkRGVwZW5kZW5jeSgib3V0bGluZS1zdHlsZSIsIG91dGxpbmVEZXBlbmRlbmN5VmFsdWVzKTsK
ICAgICB9CiAKICAgICBfcG9wdWxhdGVCb3hTaGFkb3dTZWN0aW9uKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlUHJvcGVy
dHlFZGl0b3IuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvci5jc3MKaW5kZXggODE4ODZjM2JlY2IxNGU2MTQ1ZTE4
M2M2ZDcwNTg1ODVmYzQ5MDg3Yi4uNzk0MmJhYTU3ODU5ZmFjNDhlMDIxMjA5MzkwN2I1NDljNzU3
OWQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvci5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvci5jc3MKQEAg
LTM0LDcgKzM0LDEyIEBACiAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiB9CiAKLS52aXN1YWwtc3R5
bGUtcHJvcGVydHktY29udGFpbmVyID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS10aXRsZSA+IC5w
cm9wZXJ0eS1yZWZlcmVuY2UtaW5mb3sKKy52aXN1YWwtc3R5bGUtcHJvcGVydHktY29udGFpbmVy
LmxheW91dC1yZXZlcnNlZCA+IC52aXN1YWwtc3R5bGUtcHJvcGVydHktdGl0bGUgeworICAgIG9y
ZGVyOiAyOworICAgIHRleHQtYWxpZ246IGxlZnQ7Cit9CisKKy52aXN1YWwtc3R5bGUtcHJvcGVy
dHktY29udGFpbmVyID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS10aXRsZSA+IC5wcm9wZXJ0eS1y
ZWZlcmVuY2UtaW5mbyB7CiAgICAgY3Vyc29yOiBoZWxwOwogfQogCkBAIC00MiwxMSArNDcsMzcg
QEAKICAgICBvcGFjaXR5OiAwLjc7CiB9CiAKKy52aXN1YWwtc3R5bGUtcHJvcGVydHktY29udGFp
bmVyID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1lZGl0b3Itd2FybmluZyB7CisgICAgZGlzcGxh
eTogbm9uZTsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgb3JkZXI6IDE7CisgICAgdG9w
OiA1cHg7CisgICAgd2lkdGg6IDEwcHg7CisgICAgaGVpZ2h0OiAxMHB4OworICAgIG1hcmdpbi1y
aWdodDogNHB4OworICAgIGNvbnRlbnQ6ICIiOworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgu
Li9JbWFnZXMvV2FybmluZy5zdmcpOworfQorCisudmlzdWFsLXN0eWxlLXByb3BlcnR5LWNvbnRh
aW5lci5sYXlvdXQtcmV2ZXJzZWQgPiAudmlzdWFsLXN0eWxlLXByb3BlcnR5LWVkaXRvci13YXJu
aW5nIHsKKyAgICBtYXJnaW4tcmlnaHQ6IDA7CisgICAgbWFyZ2luLWxlZnQ6IDRweDsKK30KKwor
LnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIgPiAudmlzdWFsLXN0eWxlLXByb3BlcnR5
LWVkaXRvci13YXJuaW5nLm1pc3NpbmctZGVwZW5kZW5jeSB7CisgICAgZGlzcGxheTogYmxvY2s7
Cit9CisKIC52aXN1YWwtc3R5bGUtcHJvcGVydHktY29udGFpbmVyID4gLnZpc3VhbC1zdHlsZS1w
cm9wZXJ0eS12YWx1ZS1jb250YWluZXIgewogICAgIGZsZXg6IDE7CisgICAgb3JkZXI6IDI7CiAg
ICAgcG9zaXRpb246IHJlbGF0aXZlOwogfQogCisudmlzdWFsLXN0eWxlLXByb3BlcnR5LWNvbnRh
aW5lci5sYXlvdXQtcmV2ZXJzZWQgPiAudmlzdWFsLXN0eWxlLXByb3BlcnR5LXZhbHVlLWNvbnRh
aW5lciB7CisgICAgb3JkZXI6IDA7Cit9CisKIC52aXN1YWwtc3R5bGUtcHJvcGVydHktY29udGFp
bmVyLmRpc2FibGVkID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS12YWx1ZS1jb250YWluZXIgewog
ICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgIG9wYWNpdHk6IDAuNDsKQEAgLTY3LDExICs5
OCw2IEBACiAgICAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDsKIH0KIAotLnZpc3Vh
bC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIubGF5b3V0LXJldmVyc2VkID4gLnZpc3VhbC1zdHls
ZS1wcm9wZXJ0eS10aXRsZSB7Ci0gICAgb3JkZXI6IDI7Ci0gICAgdGV4dC1hbGlnbjogbGVmdDsK
LX0KLQogLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIgPiAudmlzdWFsLXN0eWxlLXBy
b3BlcnR5LXZhbHVlLWNvbnRhaW5lciA+IC52aXN1YWwtc3R5bGUtc3BlY2lhbC1wcm9wZXJ0eS1w
bGFjZWhvbGRlciB7CiAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgIHRvcDogMnB4OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFs
U3R5bGVQcm9wZXJ0eUVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1Zpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IuanMKaW5kZXggNmU4OGYxNWM2MTNm
ZjQ5NjQxMGE1YmZiY2M5ZTU0ODkzNWZmYWZjNi4uZGU4NjNkMjA5ZjljMTk5YzA4OTViOTZmMGMx
ZjE2YTU5ZTk2MGU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvci5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9y
LmpzCkBAIC02Miw2ICs2Miw3IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVByb3BlcnR5RWRp
dG9yID0gY2xhc3MgVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvciBleHRlbmRzCiAgICAgICAgICAg
ICBlbHNlCiAgICAgICAgICAgICAgICAgdGhpcy5fcG9zc2libGVVbml0cyA9IHBvc3NpYmxlVW5p
dHM7CiAgICAgICAgIH0KKyAgICAgICAgdGhpcy5fZGVwZW5kZW5jaWVzID0gbmV3IE1hcDsKIAog
ICAgICAgICB0aGlzLl9lbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAg
ICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgidmlzdWFsLXN0eWxlLXByb3BlcnR5
LWNvbnRhaW5lciIsIGNsYXNzTmFtZSk7CkBAIC0zMjMsNiArMzI0LDggQEAgV2ViSW5zcGVjdG9y
LlZpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IgPSBjbGFzcyBWaXN1YWxTdHlsZVByb3BlcnR5RWRp
dG9yIGV4dGVuZHMKIAogICAgICAgICB0aGlzLl9sYXN0VmFsdWUgPSB0aGlzLnN5bnRoZXNpemVk
VmFsdWU7CiAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSBmYWxzZTsKKworICAgICAgICB0aGlzLl9j
aGVja0RlcGVuZGVuY2llcygpOwogICAgIH0KIAogICAgIHJlc2V0RWRpdG9yVmFsdWVzKHZhbHVl
KQpAQCAtMzk4LDYgKzQwMSwyMyBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVQcm9wZXJ0eUVk
aXRvciA9IGNsYXNzIFZpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IgZXh0ZW5kcwogICAgICAgICBy
ZXR1cm4gdGhpcy5fdmFsdWVJc1N1cHBvcnRlZEFkdmFuY2VkVW5pdCh1bml0KTsKICAgICB9CiAK
KyAgICBhZGREZXBlbmRlbmN5KHByb3BlcnR5TmFtZXMsIHByb3BlcnR5VmFsdWVzKQorICAgIHsK
KyAgICAgICAgaWYgKCFwcm9wZXJ0eU5hbWVzIHx8ICFwcm9wZXJ0eU5hbWVzLmxlbmd0aCkKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkocHJvcGVydHlO
YW1lcykpCisgICAgICAgICAgICBwcm9wZXJ0eU5hbWVzID0gW3Byb3BlcnR5TmFtZXNdOworCisg
ICAgICAgIGZvciAobGV0IHByb3BlcnR5IG9mIHByb3BlcnR5TmFtZXMpCisgICAgICAgICAgICB0
aGlzLl9kZXBlbmRlbmNpZXMuc2V0KHByb3BlcnR5LCBwcm9wZXJ0eVZhbHVlcyB8fCBbXSk7CisK
KyAgICAgICAgaWYgKCF0aGlzLl93YXJuaW5nRWxlbWVudCkgeworICAgICAgICAgICAgdGhpcy5f
d2FybmluZ0VsZW1lbnQgPSB0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImRpdiIpKTsKKyAgICAgICAgICAgIHRoaXMuX3dhcm5pbmdFbGVtZW50LmNsYXNz
TGlzdC5hZGQoInZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1lZGl0b3Itd2FybmluZyIpOworICAgICAg
ICB9CisgICAgfQorCiAgICAgLy8gUHJvdGVjdGVkCiAKICAgICBnZXQgY29udGVudEVsZW1lbnQo
KQpAQCAtNDc2LDYgKzQ5Niw4IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVByb3BlcnR5RWRp
dG9yID0gY2xhc3MgVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvciBleHRlbmRzCiAgICAgICAgIHRo
aXMuX2lnbm9yZU5leHRVcGRhdGUgPSB0cnVlOwogICAgICAgICB0aGlzLl9zcGVjaWFsUHJvcGVy
dHlQbGFjZWhvbGRlckVsZW1lbnQuaGlkZGVuID0gdHJ1ZTsKIAorICAgICAgICB0aGlzLl9jaGVj
a0RlcGVuZGVuY2llcygpOworCiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJz
KFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLkV2ZW50LlZhbHVlRGlkQ2hh
bmdlKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpAQCAtNDk3LDYgKzUxOSwzNyBAQCBX
ZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvciA9IGNsYXNzIFZpc3VhbFN0eWxl
UHJvcGVydHlFZGl0b3IgZXh0ZW5kcwogICAgICAgICByZXR1cm4gbG9uZ2hhbmRUZXh0ID8gdGV4
dC5yZXBsYWNlKHNob3J0aGFuZC50ZXh0LCBsb25naGFuZFRleHQpIDogdGV4dDsKICAgICB9CiAK
KyAgICBfaGFzTXVsdGlwbGVDb25mbGljdGluZ1ZhbHVlcygpCisgICAgeworICAgICAgICByZXR1
cm4gdGhpcy5faGFzTXVsdGlwbGVQcm9wZXJ0aWVzICYmICF0aGlzLl9zcGVjaWFsUHJvcGVydHlQ
bGFjZWhvbGRlckVsZW1lbnQuaGlkZGVuOworICAgIH0KKworICAgIF9jaGVja0RlcGVuZGVuY2ll
cygpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuX2RlcGVuZGVuY2llcy5zaXplIHx8ICF0aGlz
Ll9zdHlsZSB8fCAhdGhpcy5zeW50aGVzaXplZFZhbHVlKSB7CisgICAgICAgICAgICBpZiAodGhp
cy5fd2FybmluZ0VsZW1lbnQpCisgICAgICAgICAgICAgICAgdGhpcy5fd2FybmluZ0VsZW1lbnQu
Y2xhc3NMaXN0LnJlbW92ZSgibWlzc2luZy1kZXBlbmRlbmN5Iik7CisKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGxldCB0aXRsZSA9ICIiOworCisgICAgICAgIC8v
IEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTUyNDk3PiBBcnJvdyBmdW5jdGlvbnM6ICJ0
aGlzIiBpc24ndCBsZXhpY2FsbHkgYm91bmQKKyAgICAgICAgbGV0IGRlcGVuZGVuY2llcyA9IHRo
aXMuX3N0eWxlLm5vZGVTdHlsZXMuY29tcHV0ZWRTdHlsZS5wcm9wZXJ0aWVzLmZpbHRlcihmdW5j
dGlvbihwcm9wZXJ0eSkgeworICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2RlcGVuZGVuY2llcy5o
YXMocHJvcGVydHkubmFtZSkgfHwgdGhpcy5fZGVwZW5kZW5jaWVzLmhhcyhwcm9wZXJ0eS5jYW5v
bmljYWxOYW1lKTsKKyAgICAgICAgfS5iaW5kKHRoaXMpKTsKKworICAgICAgICBmb3IgKGxldCBw
cm9wZXJ0eSBvZiBkZXBlbmRlbmNpZXMpIHsKKyAgICAgICAgICAgIGxldCBkZXBlbmRlbmN5VmFs
dWVzID0gdGhpcy5fZGVwZW5kZW5jaWVzLmdldChwcm9wZXJ0eS5uYW1lKTsKKyAgICAgICAgICAg
IGlmICghZGVwZW5kZW5jeVZhbHVlcy5pbmNsdWRlcyhwcm9wZXJ0eS52YWx1ZSkpCisgICAgICAg
ICAgICAgICAgdGl0bGUgKz0gIlxuICIgKyBwcm9wZXJ0eS5uYW1lICsgIjogIiArIGRlcGVuZGVu
Y3lWYWx1ZXMuam9pbigiLyIpOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5fd2FybmluZ0Vs
ZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgibWlzc2luZy1kZXBlbmRlbmN5IiwgISF0aXRsZS5sZW5n
dGgpOworICAgICAgICB0aGlzLl93YXJuaW5nRWxlbWVudC50aXRsZSA9ICEhdGl0bGUubGVuZ3Ro
ID8gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJNaXNzaW5nIERlcGVuZGVuY2llcyAoQ29tcHV0ZWQp
OiVzIikuZm9ybWF0KHRpdGxlKSA6IG51bGw7CisgICAgfQorCiAgICAgX3RpdGxlRWxlbWVudFBy
ZXBhcmVGb3JDbGljayhldmVudCkKICAgICB7CiAgICAgICAgIHRoaXMuX3RpdGxlRWxlbWVudC5j
bGFzc0xpc3QudG9nZ2xlKCJwcm9wZXJ0eS1yZWZlcmVuY2UtaW5mbyIsIGV2ZW50LnR5cGUgPT09
ICJrZXlkb3duIiAmJiBldmVudC5hbHRLZXkpOwpAQCAtNTI4LDExICs1ODEsNiBAQCBXZWJJbnNw
ZWN0b3IuVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvciA9IGNsYXNzIFZpc3VhbFN0eWxlUHJvcGVy
dHlFZGl0b3IgZXh0ZW5kcwogICAgICAgICAgICAgdGhpcy5fc2hvd1Byb3BlcnR5SW5mb1BvcG92
ZXIoKTsKICAgICB9CiAKLSAgICBfaGFzTXVsdGlwbGVDb25mbGljdGluZ1ZhbHVlcygpCi0gICAg
ewotICAgICAgICByZXR1cm4gdGhpcy5faGFzTXVsdGlwbGVQcm9wZXJ0aWVzICYmICF0aGlzLl9z
cGVjaWFsUHJvcGVydHlQbGFjZWhvbGRlckVsZW1lbnQuaGlkZGVuOwotICAgIH0KLQogICAgIF9z
aG93UHJvcGVydHlJbmZvUG9wb3ZlcigpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX2hhc1By
b3BlcnR5UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rpb24uanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlv
bi5qcwppbmRleCA2YzY0ZDdhNDM2YjllNmEzYWZiZjM1YzUwNTgxYmZiM2M5M2Y3Yzc1Li42YTBk
MzNmMTIyNDMyMDRmNmU3MDY0ZDcwZGFjYTAzMzNiNjA2MDI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yU2Vj
dGlvbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9W
aXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbi5qcwpAQCAtOTcsNyArOTcsNiBAQCBXZWJJbnNwZWN0
b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rpb24gPSBjbGFzcyBWaXN1YWxTdHlsZVNlbGVjdG9y
U2VjdGlvbiBleHRlbgogCiAgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZVNlbGVjdG9ySXRlbShzdHls
ZSwgdGl0bGUsIHN1YnRpdGxlKSB7CiAgICAgICAgICAgICBsZXQgc2VsZWN0b3IgPSBuZXcgV2Vi
SW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbShzdHlsZSwgdGl0bGUsIHN1YnRp
dGxlKTsKLSAgICAgICAgICAgIHNlbGVjdG9yLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9y
LlZpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbS5FdmVudC5TdHlsZVRleHRSZXNldCwgdGhpcy5f
c3R5bGVUZXh0UmVzZXQsIHRoaXMpOwogICAgICAgICAgICAgc2VsZWN0b3IuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLkV2ZW50LkNoZWNr
Ym94Q2hhbmdlZCwgdGhpcy5fdHJlZUVsZW1lbnRDaGVja2JveFRvZ2dsZWQsIHRoaXMpOwogICAg
ICAgICAgICAgdGhpcy5fc2VsZWN0b3JzLmFwcGVuZENoaWxkKHNlbGVjdG9yKTsKIApAQCAtMjMx
LDExICsyMzAsNiBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rpb24gPSBj
bGFzcyBWaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbiBleHRlbgogICAgICAgICB0aGlzLmRpc3Bh
dGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rp
b24uRXZlbnQuU2VsZWN0b3JDaGFuZ2VkKTsKICAgICB9CiAKLSAgICBfc3R5bGVUZXh0UmVzZXQo
KQotICAgIHsKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVj
dG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uLkV2ZW50LlN0eWxlVGV4dENoYW5nZWQpOwot
ICAgIH0KLQogICAgIF9hZGROZXdSdWxlKGV2ZW50KQogICAgIHsKICAgICAgICAgaWYgKCF0aGlz
Ll9ub2RlU3R5bGVzKQpAQCAtMjk1LDYgKzI4OSw1IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHls
ZVNlbGVjdG9yU2VjdGlvbiA9IGNsYXNzIFZpc3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uIGV4dGVu
CiBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rpb24uTGFzdFNlbGVjdGVkUnVs
ZVN5bWJvbCA9IFN5bWJvbCgidmlzdWFsLXN0eWxlLXNlbGVjdG9yLXNlY3Rpb24tbGFzdC1zZWxl
Y3RlZC1ydWxlIik7CiAKIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbi5F
dmVudCA9IHsKLSAgICBTZWxlY3RvckNoYW5nZWQ6ICJ2aXN1YWwtc3R5bGUtc2VsZWN0b3Itc2Vj
dGlvbi1zZWxlY3Rvci1jaGFuZ2VkIiwKLSAgICBTdHlsZVRleHRDaGFuZ2VkOiAidmlzdWFsLXN0
eWxlLXNlbGVjdG9yLXNlY3Rpb24tc3R5bGUtdGV4dC1jaGFuZ2VkIgorICAgIFNlbGVjdG9yQ2hh
bmdlZDogInZpc3VhbC1zdHlsZS1zZWxlY3Rvci1zZWN0aW9uLXNlbGVjdG9yLWNoYW5nZWQiCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9W
aXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0uanMKaW5kZXggMjJh
OGNhODdjN2U5ZGJlYjc4YjE3YmJmNDE4ZjM3ODg5Mzk1YTdmOS4uZTcxZWE4NjU0MjFkYzYxOTRm
MDIxYmJmOTg3NTExYzI1NGY0NGUxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlU2Vs
ZWN0b3JUcmVlSXRlbS5qcwpAQCAtMTUyLDcgKzE1Miw2IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxT
dHlsZVNlbGVjdG9yVHJlZUl0ZW0gPSBjbGFzcyBWaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0g
ZXh0CiAKICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIlJlc2V0IiksICgpID0+IHsKICAgICAgICAgICAgIHRoaXMucmVwcmVzZW50ZWRPYmplY3Qu
cmVzZXRUZXh0KCk7Ci0gICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhX
ZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLkV2ZW50LlN0eWxlVGV4dFJl
c2V0KTsKICAgICAgICAgfSk7CiAgICAgfQogCkBAIC0yMzAsNiArMjI5LDUgQEAgV2ViSW5zcGVj
dG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbSA9IGNsYXNzIFZpc3VhbFN0eWxlU2VsZWN0
b3JUcmVlSXRlbSBleHQKIH07CiAKIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVNlbGVjdG9yVHJl
ZUl0ZW0uRXZlbnQgPSB7Ci0gICAgU3R5bGVUZXh0UmVzZXQ6ICJ2aXN1YWwtc3R5bGUtc2VsZWN0
b3ItaXRlbS1zdHlsZS10ZXh0LXJlc2V0IiwKICAgICBDaGVja2JveENoYW5nZWQ6ICJ2aXN1YWwt
c3R5bGUtc2VsZWN0b3ItaXRlbS1jaGVja2JveC1jaGFuZ2VkIgogfTsK
</data>
<flag name="review"
          id="293086"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>268164</attachid>
            <date>2016-01-03 18:03:37 -0800</date>
            <delta_ts>2016-01-03 18:05:38 -0800</delta_ts>
            <desc>After Patch is Applied</desc>
            <filename>Screen Shot 2016-01-03 at 7.02.39 PM.png</filename>
            <type>image/png</type>
            <size>40179</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">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
mKebl5tftUAtHC14FtstuiYQJrhM4E+onHDbkmrpbZlvWWvZbcWwCrUqtGq0ejnRcGLSxHUTz038
au1gnWW9x/q+jYrNZJtCm2ab17bmtmzbctsbdjS7ALtFdk12r+wt7Ln2FfZ3HOgOYQ7LHdocvjg6
OQod6xz7nAydkp22Od12VnWOdF7lfN6F4OLjssilxeWjq6Nrnush17/cLN0y3fa5PZ9kMok7ac+k
Hnd9d5b7LnexB9Mj2WOnh9hTz5PlWen52MvAi+O11+uZt5l3hvd+75c+1j5Cn6M+731dfRf4tvph
foF+xX4d/ir+sf5l/o8C9APSAmoDBgIdAucFtgYRgkKC1gXdDtYOZgfXBA9Mdpq8YHJ7CDUkOqQs
5HGoeagwtDkMDZsctiHsQbhROD+8MQJEBEdsiHgYaRKZE/nbFOKUyCnlU55G2UTNjzoXTY+eGb0v
+l2MT8yamPuxprGi2LY4xbhpcTVx7+P94tfHixMmJixIuJSomchLbEoiJcUl7U0anOo/ddPU3mkO
04qm3ZpuMn3O9AszNGdkzTg+U3Ema+bhZEJyfPK+5M+sCFYlazAlOGVbygDbl72Z/YLjxdnI6eO6
c9dzn6W6p65PfZ7mnrYhrS/dM700vZ/nyyvjvcoIytiR8T4zIrMqczgrPqs+m5ydnH2Mr8LP5LfP
0pk1Z1aXwEJQJBDnuOZsyhkQhgj35iK503Ob8lThUeeyyFT0k6g73yO/PP/D7LjZh+coz+HPuTzX
fO7Kuc8KAgp+mYfPY89rm683f8n87gXeC3YtRBamLGxbZLBo2aLexYGLq5dQlmQuuVJoXbi+8O3S
+KXNy7SXLV7W81PgT7VFCkXCotvL3ZbvWIGv4K3oWGm3cuvKr8Wc4osl1iWlJZ9XsVdd/Nnm5y0/
D69OXd2xxnFNxVriWv7aW+s811WvV15fsL5nQ9iGho3MjcUb326auelCqX3pjs2UzaLN4i2hW5q2
Gm5du/VzWXrZzXKf8vptWttWbnu/nbP9WoVXRd0O7R0lOz7t5O28sytwV0OlcWXpbuLu/N1P98Tt
OfeL8y81ezX3luz9UsWvEldHVbfXONXU7NPat6YWrRXV9u2ftr/zgN+BpjrLul31jPqSg+Cg6OAf
vyb/eutQyKG2w86H644YHdl2lH60uAFpmNsw0JjeKG5KbOo6NvlYW7Nb89HfrH6ratFrKT+udnzN
CcqJZSeGTxacHGwVtPafSjvV0zaz7f7phNM32qe0d5wJOXP+bMDZ0+e8z508736+5YLrhWMXnS82
XnK81HDZ4fLRKw5XjnY4djRcdbra1OnS2dw1qevENc9rp677XT97I/jGpZvhN7tuxd66c3vabfEd
zp3nd7PuvrqXf2/o/uIHhAfFD5Uelj7SelT5u9nv9WJH8fFuv+7Lj6Mf3+9h97x4kvvkc++yp7Sn
pc90n9U8t33e0hfQ1/nH1D96XwheDPUX/an857aXpi+P/OX11+WBhIHeV8JXw69XvdF4U/XW/m3b
YOTgo3fZ74beF3/Q+FD90fnjuU/xn54Nzf5M+rzli9mX5q8hXx8MZw8PC1hClvQogMGGpqYC8LoK
AFoiPDvAexxFQXb/kgoiuzNKEfhPWHZHkwo8uVR5ARC7GIBQeEapgM0IYip8S47fMV4AtbMbayOS
m2pnK4tFhbcYwofh4TfaAJCaAfgiHB4e2j48/GUPJHsXgNYc2b1PIkR4xt8puVuBKwbLwY/yLxmr
bDPaqMgDAAAACXBIWXMAABYlAAAWJQFJUiTwAAABnWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAA
PHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS40
LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjIt
cmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAg
ICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAg
ICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj42MTA8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAg
ICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MjM0PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KICAg
ICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CmZ5PWcAAAAc
aURPVAAAAAIAAAAAAAAAdQAAACgAAAB1AAAAdQAAOdnRmpsFAAA5pUlEQVR4AexdCXgUVbb+s0ES
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
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268481</attachid>
            <date>2016-01-07 13:40:34 -0800</date>
            <delta_ts>2016-01-07 15:28:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>148254.diff</filename>
            <type>text/plain</type>
            <size>22177</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDQ5MjlmNWMuLjM2YzJhOWUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU1IEBACiAyMDE2LTAxLTA3ICBEZXZpbiBSb3Vzc28g
IDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFk
ZCB3YXJuaW5ncyB0byBzZWN0aW9uIHRoYXQgcmVxdWlyZSBzcGVjaWZpYyB2YWx1ZXMgb2Ygb3Ro
ZXIgcHJvcGVydGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ4MjU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgorCisg
ICAgICAgIEFkZGVkIGEgZnVuY3Rpb24gdG8gVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvciB0byBh
bGxvdyBkZXBlbmRlbmNpZXMgdG8gYmUgc2V0IHdoaWNoLAorICAgICAgICB3aGVuZXZlciB0aGUg
ZWRpdG9yIGlzIHVwZGF0ZWQgb3IgY2hhbmdlZCwgd2lsbCBiZSBjaGVja2VkIGFnYWluc3QgdGhl
IGNvbXB1dGVkIHN0eWxlcworICAgICAgICBvZiB0aGUgZWxlbWVudCB0byBzZWUgaWYgYWxsIHRo
ZSBuZWNlc3NhcnkgcHJvcGVydHkgdmFsdWVzIGFyZSBzZXQuCisKKyAgICAgICAgKiBMb2NhbGl6
YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9WaXN1YWxTdHlsZURldGFpbHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5WaXN1YWxTdHlsZURldGFpbHNQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlz
dWFsU3R5bGVEZXRhaWxzUGFuZWwucHJvdG90eXBlLnJlZnJlc2gpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsLnByb3RvdHlwZS5fcG9wdWxhdGVQb3NpdGlv
blNlY3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVs
LnByb3RvdHlwZS5fcG9wdWxhdGVGbGV4Ym94U2VjdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwucHJvdG90eXBlLl9wb3B1bGF0ZUFsaWdubWVudFNl
Y3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsLnBy
b3RvdHlwZS5fcG9wdWxhdGVCb3JkZXJTZWN0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5W
aXN1YWxTdHlsZURldGFpbHNQYW5lbC5wcm90b3R5cGUuX3BvcHVsYXRlT3V0bGluZVNlY3Rpb24p
OgorICAgICAgICBBZGRlZCBkZXBlbmRlbmNpZXMgdG8gcmVsZXZhbnQgcHJvcGVydHkgZWRpdG9y
cy4KKworICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsLnByb3Rv
dHlwZS5fcHJlcGFyZUZvckNoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgIE5vIGxvbmdlciBuZWVk
ZWQgYXMgdGhlIHNpZGViYXIgcGFuZWwgd2lsbCByZWZyZXNoIHdoZW5ldmVyIHRyaWdnZXJlZC4K
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRv
ci5jc3M6CisgICAgICAgICgudmlzdWFsLXN0eWxlLXByb3BlcnR5LWNvbnRhaW5lci5sYXlvdXQt
cmV2ZXJzZWQgPiAudmlzdWFsLXN0eWxlLXByb3BlcnR5LXRpdGxlKToKKyAgICAgICAgKC52aXN1
YWwtc3R5bGUtcHJvcGVydHktY29udGFpbmVyID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS10aXRs
ZSA+IC5wcm9wZXJ0eS1yZWZlcmVuY2UtaW5mbyk6CisgICAgICAgICgudmlzdWFsLXN0eWxlLXBy
b3BlcnR5LWNvbnRhaW5lciA+IC52aXN1YWwtc3R5bGUtcHJvcGVydHktZWRpdG9yLXdhcm5pbmcp
OgorICAgICAgICAoLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIubGF5b3V0LXJldmVy
c2VkID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1lZGl0b3Itd2FybmluZyk6CisgICAgICAgICgu
dmlzdWFsLXN0eWxlLXByb3BlcnR5LWNvbnRhaW5lciA+IC52aXN1YWwtc3R5bGUtcHJvcGVydHkt
ZWRpdG9yLXdhcm5pbmcubWlzc2luZy1kZXBlbmRlbmN5KToKKyAgICAgICAgKC52aXN1YWwtc3R5
bGUtcHJvcGVydHktY29udGFpbmVyID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS12YWx1ZS1jb250
YWluZXIpOgorICAgICAgICAoLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIubGF5b3V0
LXJldmVyc2VkID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS12YWx1ZS1jb250YWluZXIpOgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IucHJvdG90eXBlLnVw
ZGF0ZUVkaXRvclZhbHVlcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVQcm9w
ZXJ0eUVkaXRvci5wcm90b3R5cGUuYWRkRGVwZW5kZW5jeSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvci5wcm90b3R5cGUuX3ZhbHVlRGlkQ2hhbmdlKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLnByb3RvdHlw
ZS5fY2hlY2tEZXBlbmRlbmNpZXMpOgorICAgICAgICBMb29rcyBhdCB0aGUgY29tcHV0ZWQgc3R5
bGUgZm9yIHRoZSBub2RlIHRvIHNlZSBpZiBhbnkgZGVwZW5kZW50IHByb3BlcnRpZXMgZG8gbm90
CisgICAgICAgIGhhdmUgb25lIG9mIHRoZSByZXF1aXJlZCB2YWx1ZXMuCisKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uLnByb3RvdHlwZS51cGRh
dGUuY3JlYXRlU2VsZWN0b3JJdGVtKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5WaXN1YWxTdHls
ZVNlbGVjdG9yU2VjdGlvbi5wcm90b3R5cGUuX3N0eWxlVGV4dFJlc2V0KTogRGVsZXRlZC4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVt
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbS5w
cm90b3R5cGUuX2hhbmRsZUNvbnRleHRNZW51RXZlbnQpOgorCisyMDE2LTAxLTA3ICBEZXZpbiBS
b3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IE1ha2UgY3JlYXRpbmcgbmV3IHJ1bGVzIGluIHRoZSBTdHlsZXMgc2lkZWJhciBzaW1wbGVy
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTI3MjYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHBy
b2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRp
b25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggN2Q2M2IyN2IzNjMyOGYzOWQ3
N2Q1NWRmNzY0ZTBhYTk3M2UwZTE5NC4uNzkxOWNiYTliZWIzMWVlMzEzMTg1MjExYTQ0NWVhY2I2
MTNlODczMSAxMDA2NDQKR0lUIGJpbmFyeSBwYXRjaApkZWx0YSAxMTQKemNtY2M3ITF9NkBicHp7
Pl8rb30paEQ/UyRoSTlyNjF7YTFAaDV7aFlWQExzJCR2fk1AcHU4MT5EdihyU2h5fCojClgxITUl
elUhVis4SXd4UTcoY2pFP0Ipa1J5LU93NHUKCmRlbHRhIDE0CldjbWFGVyRhPHJKYnB6ez4mQ2B6
cio4bClEb0NoUVQKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9WaXN1YWxTdHlsZURldGFpbHNQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlRGV0YWlsc1BhbmVsLmpzCmluZGV4
IDU0YTVlYzQuLmM3MmQ4ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlRGV0YWlsc1BhbmVsLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlRGV0YWlsc1BhbmVs
LmpzCkBAIC0zMCwyMCArMzAsMTggQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1Bh
bmVsID0gY2xhc3MgVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBXZWIKICAgICAgICAg
c3VwZXIoZGVsZWdhdGUsICJ2aXN1YWwiLCAidmlzdWFsIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJTdHlsZXMgXHUyMDE0IFZpc3VhbCIpKTsKIAogICAgICAgICB0aGlzLl9jdXJyZW50U3R5bGUg
PSBudWxsOwotICAgICAgICB0aGlzLl9mb3JjZU5leHRTdHlsZVVwZGF0ZSA9IGZhbHNlOwogCiAg
ICAgICAgIHRoaXMuX3NlY3Rpb25zID0ge307CiAgICAgICAgIHRoaXMuX2dyb3VwcyA9IHt9Owog
ICAgICAgICB0aGlzLl9rZXl3b3JkcyA9IHt9OwogICAgICAgICB0aGlzLl91bml0cyA9IHt9Owot
ICAgICAgICB0aGlzLl9hdXRvY29tcGxldGlvblByb3BlcnR5RWRpdG9ycyA9IHt9OwogCiAgICAg
ICAgIC8vIFRoZXNlIGtleXdvcmRzLCBhcyB3ZWxsIGFzIHRoZSB2YWx1ZXMgYmVsb3csIGFyZSBu
b3QgbG9jYWxpemVkIGFzIHRoZXkgbXVzdCBtYXRjaCB0aGUgQ1NTIHNwZWMuCiAgICAgICAgIHRo
aXMuX2tleXdvcmRzLmRlZmF1bHRzID0gWyJJbmhlcml0IiwgIkluaXRpYWwiLCAiVW5zZXQiLCAi
UmV2ZXJ0Il07CiAgICAgICAgIHRoaXMuX2tleXdvcmRzLmJveE1vZGVsID0gdGhpcy5fa2V5d29y
ZHMuZGVmYXVsdHMuY29uY2F0KFsiQXV0byJdKTsKICAgICAgICAgdGhpcy5fa2V5d29yZHMuYm9y
ZGVyU3R5bGUgPSB7CiAgICAgICAgICAgICBiYXNpYzogdGhpcy5fa2V5d29yZHMuZGVmYXVsdHMu
Y29uY2F0KFsiTm9uZSIsICJIaWRkZW4iLCAiU29saWQiXSksCi0gICAgICAgICAgICBhZHZhbmNl
ZDogWyJEYXNoZWQiLCAiRG90dGVkIiwgIkRvdWJsZSIsICJHcm9vdmUiLCAiSGlkZGVuIiwgIklu
c2V0IiwgIk5vbmUiLCAiT3V0c2V0IiwgIlJpZGdlIl0KKyAgICAgICAgICAgIGFkdmFuY2VkOiBb
IkRhc2hlZCIsICJEb3R0ZWQiLCAiRG91YmxlIiwgIkdyb292ZSIsICJJbnNldCIsICJPdXRzZXQi
LCAiUmlkZ2UiXQogICAgICAgICB9OwogICAgICAgICB0aGlzLl9rZXl3b3Jkcy5ib3JkZXJXaWR0
aCA9IHRoaXMuX2tleXdvcmRzLmRlZmF1bHRzLmNvbmNhdChbIk1lZGl1bSIsICJUaGljayIsICJU
aGluIl0pOwogCkBAIC01OSw3ICs1Nyw2IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZURldGFp
bHNQYW5lbCA9IGNsYXNzIFZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMgV2ViCiAgICAg
ICAgIC8vIFNlbGVjdG9yIFNlY3Rpb24KICAgICAgICAgdGhpcy5fc2VsZWN0b3JTZWN0aW9uID0g
bmV3IFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbih0aGlzKTsKICAgICAg
ICAgdGhpcy5fc2VsZWN0b3JTZWN0aW9uLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlZp
c3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uLkV2ZW50LlNlbGVjdG9yQ2hhbmdlZCwgdGhpcy5fdXBk
YXRlU2VjdGlvbnMsIHRoaXMpOwotICAgICAgICB0aGlzLl9zZWxlY3RvclNlY3Rpb24uYWRkRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rpb24uRXZlbnQu
U3R5bGVUZXh0Q2hhbmdlZCwgdGhpcy5fcHJlcGFyZUZvckNoYW5nZSwgdGhpcyk7CiAgICAgICAg
IHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9zZWxlY3RvclNlY3Rpb24uZWxlbWVudCk7
CiAKICAgICAgICAgLy8gTGF5b3V0IFNlY3Rpb24KQEAgLTEwNiwxMSArMTAzLDggQEAgV2ViSW5z
cGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgVmlzdWFsU3R5bGVEZXRhaWxz
UGFuZWwgZXh0ZW5kcyBXZWIKIAogICAgIHJlZnJlc2goc2lnbmlmaWNhbnRDaGFuZ2UpCiAgICAg
ewotICAgICAgICBpZiAoc2lnbmlmaWNhbnRDaGFuZ2UgfHwgdGhpcy5fZm9yY2VOZXh0U3R5bGVV
cGRhdGUpIHsKLSAgICAgICAgICAgIHRoaXMuX3NlbGVjdG9yU2VjdGlvbi51cGRhdGUodGhpcy5f
bm9kZVN0eWxlcyk7Ci0gICAgICAgICAgICB0aGlzLl91cGRhdGVTZWN0aW9ucygpOwotICAgICAg
ICAgICAgdGhpcy5fZm9yY2VOZXh0U3R5bGVVcGRhdGUgPSBmYWxzZTsKLSAgICAgICAgfQorICAg
ICAgICB0aGlzLl9zZWxlY3RvclNlY3Rpb24udXBkYXRlKHRoaXMuX25vZGVTdHlsZXMpOworICAg
ICAgICB0aGlzLl91cGRhdGVTZWN0aW9ucygpOwogCiAgICAgICAgIHN1cGVyLnJlZnJlc2goKTsK
ICAgICB9CkBAIC0xNDUsMTEgKzEzOSw2IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZURldGFp
bHNQYW5lbCA9IGNsYXNzIFZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMgV2ViCiAgICAg
ICAgIHBvcHVsYXRlRnVuY3Rpb24uY2FsbCh0aGlzKTsKICAgICB9CiAKLSAgICBfcHJlcGFyZUZv
ckNoYW5nZShldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX2ZvcmNlTmV4dFN0eWxlVXBkYXRl
ID0gdHJ1ZTsKLSAgICB9Ci0KICAgICBfdXBkYXRlU2VjdGlvbnMoZXZlbnQpCiAgICAgewogICAg
ICAgICB0aGlzLl9jdXJyZW50U3R5bGUgPSB0aGlzLl9zZWxlY3RvclNlY3Rpb24uY3VycmVudFN0
eWxlKCk7CkBAIC00NDAsNiArNDI5LDEzIEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZURldGFp
bHNQYW5lbCA9IGNsYXNzIFZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMgV2ViCiAKICAg
ICAgICAgbGV0IHBvc2l0aW9uR3JvdXAgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9u
R3JvdXAocm93cyk7CiAgICAgICAgIHRoaXMuX3BvcHVsYXRlU2VjdGlvbihncm91cCwgW3Bvc2l0
aW9uR3JvdXBdKTsKKworICAgICAgICBsZXQgYWxsb3dlZFBvc2l0aW9uVmFsdWVzID0gWyJyZWxh
dGl2ZSIsICJhYnNvbHV0ZSIsICJmaXhlZCIsICItd2Via2l0LXN0aWNreSJdOworICAgICAgICBw
cm9wZXJ0aWVzLnpJbmRleC5hZGREZXBlbmRlbmN5KCJwb3NpdGlvbiIsIGFsbG93ZWRQb3NpdGlv
blZhbHVlcyk7CisgICAgICAgIHByb3BlcnRpZXMudG9wLmFkZERlcGVuZGVuY3koInBvc2l0aW9u
IiwgYWxsb3dlZFBvc2l0aW9uVmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5yaWdodC5hZGRE
ZXBlbmRlbmN5KCJwb3NpdGlvbiIsIGFsbG93ZWRQb3NpdGlvblZhbHVlcyk7CisgICAgICAgIHBy
b3BlcnRpZXMuYm90dG9tLmFkZERlcGVuZGVuY3koInBvc2l0aW9uIiwgYWxsb3dlZFBvc2l0aW9u
VmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5sZWZ0LmFkZERlcGVuZGVuY3koInBvc2l0aW9u
IiwgYWxsb3dlZFBvc2l0aW9uVmFsdWVzKTsKICAgICB9CiAKICAgICBfcG9wdWxhdGVGbG9hdFNl
Y3Rpb24oKQpAQCAtNTc3LDYgKzU3MywxNCBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVEZXRh
aWxzUGFuZWwgPSBjbGFzcyBWaXN1YWxTdHlsZURldGFpbHNQYW5lbCBleHRlbmRzIFdlYgogCiAg
ICAgICAgIGxldCBmbGV4Ym94R3JvdXAgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9u
R3JvdXAoW2ZsZXhPcmRlclJvdywgZmxleFNpemVSb3csIGZsZXhGbG93Um93XSk7CiAgICAgICAg
IHRoaXMuX3BvcHVsYXRlU2VjdGlvbihncm91cCwgW2ZsZXhib3hHcm91cF0pOworCisgICAgICAg
IGxldCBhbGxvd2VkRGlzcGxheVZhbHVlcyA9IFsiZmxleCIsICJpbmxpbmUtZmxleCIsICItd2Vi
a2l0LWJveCIsICItd2Via2l0LWlubGluZS1ib3giXTsKKyAgICAgICAgcHJvcGVydGllcy5vcmRl
ci5hZGREZXBlbmRlbmN5KCJkaXNwbGF5IiwgYWxsb3dlZERpc3BsYXlWYWx1ZXMpOworICAgICAg
ICBwcm9wZXJ0aWVzLmZsZXhCYXNpcy5hZGREZXBlbmRlbmN5KCJkaXNwbGF5IiwgYWxsb3dlZERp
c3BsYXlWYWx1ZXMpOworICAgICAgICBwcm9wZXJ0aWVzLmZsZXhHcm93LmFkZERlcGVuZGVuY3ko
ImRpc3BsYXkiLCBhbGxvd2VkRGlzcGxheVZhbHVlcyk7CisgICAgICAgIHByb3BlcnRpZXMuZmxl
eFNocmluay5hZGREZXBlbmRlbmN5KCJkaXNwbGF5IiwgYWxsb3dlZERpc3BsYXlWYWx1ZXMpOwor
ICAgICAgICBwcm9wZXJ0aWVzLmZsZXhEaXJlY3Rpb24uYWRkRGVwZW5kZW5jeSgiZGlzcGxheSIs
IGFsbG93ZWREaXNwbGF5VmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5mbGV4V3JhcC5hZGRE
ZXBlbmRlbmN5KCJkaXNwbGF5IiwgYWxsb3dlZERpc3BsYXlWYWx1ZXMpOwogICAgIH0KIAogICAg
IF9wb3B1bGF0ZUFsaWdubWVudFNlY3Rpb24oKQpAQCAtNjEyLDYgKzYxNiwxMiBAQCBXZWJJbnNw
ZWN0b3IuVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgPSBjbGFzcyBWaXN1YWxTdHlsZURldGFpbHNQ
YW5lbCBleHRlbmRzIFdlYgogCiAgICAgICAgIGxldCBhbGlnbm1lbnRHcm91cCA9IG5ldyBXZWJJ
bnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25Hcm91cChbY29udGVudFJvdywgaXRlbXNSb3ddKTsKICAg
ICAgICAgdGhpcy5fcG9wdWxhdGVTZWN0aW9uKGdyb3VwLCBbYWxpZ25tZW50R3JvdXBdKTsKKwor
ICAgICAgICBsZXQgYWxsb3dlZERpc3BsYXlWYWx1ZXMgPSBbImZsZXgiLCAiaW5saW5lLWZsZXgi
LCAiLXdlYmtpdC1ib3giLCAiLXdlYmtpdC1pbmxpbmUtYm94Il07CisgICAgICAgIHByb3BlcnRp
ZXMuanVzdGlmeUNvbnRlbnQuYWRkRGVwZW5kZW5jeSgiZGlzcGxheSIsIGFsbG93ZWREaXNwbGF5
VmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5hbGlnbkNvbnRlbnQuYWRkRGVwZW5kZW5jeSgi
ZGlzcGxheSIsIGFsbG93ZWREaXNwbGF5VmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5hbGln
bkl0ZW1zLmFkZERlcGVuZGVuY3koImRpc3BsYXkiLCBhbGxvd2VkRGlzcGxheVZhbHVlcyk7Cisg
ICAgICAgIHByb3BlcnRpZXMuYWxpZ25TZWxmLmFkZERlcGVuZGVuY3koImRpc3BsYXkiLCBhbGxv
d2VkRGlzcGxheVZhbHVlcyk7CiAgICAgfQogCiAgICAgX3BvcHVsYXRlVGV4dFN0eWxlU2VjdGlv
bigpCkBAIC05NjYsNiArOTc2LDE4IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZURldGFpbHNQ
YW5lbCA9IGNsYXNzIFZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMgV2ViCiAKICAgICAg
ICAgbGV0IGJvcmRlckdyb3VwID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbkdyb3Vw
KFtib3JkZXJUYWJDb250cm9sbGVyLCBib3JkZXJBbGxHcm91cCwgYm9yZGVyVG9wR3JvdXAsIGJv
cmRlclJpZ2h0R3JvdXAsIGJvcmRlckJvdHRvbUdyb3VwLCBib3JkZXJMZWZ0R3JvdXBdKTsKICAg
ICAgICAgdGhpcy5fcG9wdWxhdGVTZWN0aW9uKGdyb3VwLCBbYm9yZGVyR3JvdXBdKTsKKworICAg
ICAgICBsZXQgYWxsb3dlZEJvcmRlclZhbHVlcyA9IFsic29saWQiLCAiZGFzaGVkIiwgImRvdHRl
ZCIsICJkb3VibGUiLCAiZ3Jvb3ZlIiwgImluc2V0IiwgIm91dHNldCIsICJyaWRnZSJdOworICAg
ICAgICBwcm9wZXJ0aWVzLmJvcmRlcldpZHRoLmFkZERlcGVuZGVuY3koWyJib3JkZXItdG9wLXN0
eWxlIiwgImJvcmRlci1yaWdodC1zdHlsZSIsICJib3JkZXItYm90dG9tLXN0eWxlIiwgImJvcmRl
ci1sZWZ0LXN0eWxlIl0sIGFsbG93ZWRCb3JkZXJWYWx1ZXMpOworICAgICAgICBwcm9wZXJ0aWVz
LmJvcmRlckNvbG9yLmFkZERlcGVuZGVuY3koWyJib3JkZXItdG9wLXN0eWxlIiwgImJvcmRlci1y
aWdodC1zdHlsZSIsICJib3JkZXItYm90dG9tLXN0eWxlIiwgImJvcmRlci1sZWZ0LXN0eWxlIl0s
IGFsbG93ZWRCb3JkZXJWYWx1ZXMpOworICAgICAgICBwcm9wZXJ0aWVzLmJvcmRlclRvcFdpZHRo
LmFkZERlcGVuZGVuY3koImJvcmRlci10b3Atc3R5bGUiLCBhbGxvd2VkQm9yZGVyVmFsdWVzKTsK
KyAgICAgICAgcHJvcGVydGllcy5ib3JkZXJUb3BDb2xvci5hZGREZXBlbmRlbmN5KCJib3JkZXIt
dG9wLXN0eWxlIiwgYWxsb3dlZEJvcmRlclZhbHVlcyk7CisgICAgICAgIHByb3BlcnRpZXMuYm9y
ZGVyUmlnaHRXaWR0aC5hZGREZXBlbmRlbmN5KCJib3JkZXItcmlnaHQtc3R5bGUiLCBhbGxvd2Vk
Qm9yZGVyVmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5ib3JkZXJSaWdodENvbG9yLmFkZERl
cGVuZGVuY3koImJvcmRlci1yaWdodC1zdHlsZSIsIGFsbG93ZWRCb3JkZXJWYWx1ZXMpOworICAg
ICAgICBwcm9wZXJ0aWVzLmJvcmRlckJvdHRvbVdpZHRoLmFkZERlcGVuZGVuY3koImJvcmRlci1i
b3R0b20tc3R5bGUiLCBhbGxvd2VkQm9yZGVyVmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5i
b3JkZXJCb3R0b21Db2xvci5hZGREZXBlbmRlbmN5KCJib3JkZXItYm90dG9tLXN0eWxlIiwgYWxs
b3dlZEJvcmRlclZhbHVlcyk7CisgICAgICAgIHByb3BlcnRpZXMuYm9yZGVyTGVmdFdpZHRoLmFk
ZERlcGVuZGVuY3koImJvcmRlci1sZWZ0LXN0eWxlIiwgYWxsb3dlZEJvcmRlclZhbHVlcyk7Cisg
ICAgICAgIHByb3BlcnRpZXMuYm9yZGVyTGVmdENvbG9yLmFkZERlcGVuZGVuY3koImJvcmRlci1s
ZWZ0LXN0eWxlIiwgYWxsb3dlZEJvcmRlclZhbHVlcyk7CiAgICAgfQogCiAgICAgX3BvcHVsYXRl
T3V0bGluZVNlY3Rpb24oKQpAQCAtOTc1LDI0ICs5OTcsMjggQEAgV2ViSW5zcGVjdG9yLlZpc3Vh
bFN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5k
cyBXZWIKIAogICAgICAgICBsZXQgb3V0bGluZVNpemVSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRl
dGFpbHNTZWN0aW9uUm93OwogCisgICAgICAgIHByb3BlcnRpZXMub3V0bGluZVN0eWxlID0gbmV3
IFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZUtleXdvcmRQaWNrZXIoIm91dGxpbmUtc3R5bGUiICwg
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTdHlsZSIpLCB0aGlzLl9rZXl3b3Jkcy5ib3JkZXJTdHls
ZSk7CiAgICAgICAgIHByb3BlcnRpZXMub3V0bGluZVdpZHRoID0gbmV3IFdlYkluc3BlY3Rvci5W
aXN1YWxTdHlsZU51bWJlcklucHV0Qm94KCJvdXRsaW5lLXdpZHRoIiwgV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJXaWR0aCIpLCB0aGlzLl9rZXl3b3Jkcy5ib3JkZXJXaWR0aCwgdGhpcy5fdW5pdHMu
ZGVmYXVsdHMpOwotICAgICAgICBwcm9wZXJ0aWVzLm91dGxpbmVPZmZzZXQgPSBuZXcgV2ViSW5z
cGVjdG9yLlZpc3VhbFN0eWxlTnVtYmVySW5wdXRCb3goIm91dGxpbmUtb2Zmc2V0IiwgV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJPZmZzZXQiKSwgdGhpcy5fa2V5d29yZHMuZGVmYXVsdHMsIHRoaXMu
X3VuaXRzLmRlZmF1bHRzLCB0cnVlKTsKIAorICAgICAgICBvdXRsaW5lU2l6ZVJvdy5lbGVtZW50
LmFwcGVuZENoaWxkKHByb3BlcnRpZXMub3V0bGluZVN0eWxlLmVsZW1lbnQpOwogICAgICAgICBv
dXRsaW5lU2l6ZVJvdy5lbGVtZW50LmFwcGVuZENoaWxkKHByb3BlcnRpZXMub3V0bGluZVdpZHRo
LmVsZW1lbnQpOwotICAgICAgICBvdXRsaW5lU2l6ZVJvdy5lbGVtZW50LmFwcGVuZENoaWxkKHBy
b3BlcnRpZXMub3V0bGluZU9mZnNldC5lbGVtZW50KTsKIAogICAgICAgICBsZXQgb3V0bGluZVN0
eWxlUm93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblJvdzsKIAotICAgICAgICBw
cm9wZXJ0aWVzLm91dGxpbmVTdHlsZSA9IG5ldyBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVLZXl3
b3JkUGlja2VyKCJvdXRsaW5lLXN0eWxlIiAsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiU3R5bGUi
KSwgdGhpcy5fa2V5d29yZHMuYm9yZGVyU3R5bGUpOwogICAgICAgICBwcm9wZXJ0aWVzLm91dGxp
bmVDb2xvciA9IG5ldyBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVDb2xvclBpY2tlcigib3V0bGlu
ZS1jb2xvciIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29sb3IiKSk7CisgICAgICAgIHByb3Bl
cnRpZXMub3V0bGluZU9mZnNldCA9IG5ldyBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVOdW1iZXJJ
bnB1dEJveCgib3V0bGluZS1vZmZzZXQiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk9mZnNldCIp
LCB0aGlzLl9rZXl3b3Jkcy5kZWZhdWx0cywgdGhpcy5fdW5pdHMuZGVmYXVsdHMsIHRydWUpOwog
Ci0gICAgICAgIG91dGxpbmVTdHlsZVJvdy5lbGVtZW50LmFwcGVuZENoaWxkKHByb3BlcnRpZXMu
b3V0bGluZVN0eWxlLmVsZW1lbnQpOwogICAgICAgICBvdXRsaW5lU3R5bGVSb3cuZWxlbWVudC5h
cHBlbmRDaGlsZChwcm9wZXJ0aWVzLm91dGxpbmVDb2xvci5lbGVtZW50KTsKKyAgICAgICAgb3V0
bGluZVN0eWxlUm93LmVsZW1lbnQuYXBwZW5kQ2hpbGQocHJvcGVydGllcy5vdXRsaW5lT2Zmc2V0
LmVsZW1lbnQpOwogCiAgICAgICAgIGdyb3VwLmF1dG9jb21wbGV0ZUNvbXBhdGlibGVQcm9wZXJ0
aWVzID0gW3Byb3BlcnRpZXMub3V0bGluZUNvbG9yXTsKIAogICAgICAgICBsZXQgb3V0bGluZUdy
b3VwID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbkdyb3VwKFtvdXRsaW5lU2l6ZVJv
dywgb3V0bGluZVN0eWxlUm93XSk7CiAgICAgICAgIHRoaXMuX3BvcHVsYXRlU2VjdGlvbihncm91
cCwgW291dGxpbmVHcm91cF0pOworCisgICAgICAgIGxldCBhbGxvd2VkT3V0bGluZVZhbHVlcyA9
IFsic29saWQiLCAiZGFzaGVkIiwgImRvdHRlZCIsICJkb3VibGUiLCAiZ3Jvb3ZlIiwgImluc2V0
IiwgIm91dHNldCIsICJyaWRnZSJdOworICAgICAgICBwcm9wZXJ0aWVzLm91dGxpbmVXaWR0aC5h
ZGREZXBlbmRlbmN5KCJvdXRsaW5lLXN0eWxlIiwgYWxsb3dlZE91dGxpbmVWYWx1ZXMpOworICAg
ICAgICBwcm9wZXJ0aWVzLm91dGxpbmVDb2xvci5hZGREZXBlbmRlbmN5KCJvdXRsaW5lLXN0eWxl
IiwgYWxsb3dlZE91dGxpbmVWYWx1ZXMpOwogICAgIH0KIAogICAgIF9wb3B1bGF0ZUJveFNoYWRv
d1NlY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvci5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLmNzcwpp
bmRleCA4MTg4NmMzLi43OTQyYmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLmNzcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3Bl
cnR5RWRpdG9yLmNzcwpAQCAtMzQsNyArMzQsMTIgQEAKICAgICB0ZXh0LWFsaWduOiByaWdodDsK
IH0KIAotLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIgPiAudmlzdWFsLXN0eWxlLXBy
b3BlcnR5LXRpdGxlID4gLnByb3BlcnR5LXJlZmVyZW5jZS1pbmZveworLnZpc3VhbC1zdHlsZS1w
cm9wZXJ0eS1jb250YWluZXIubGF5b3V0LXJldmVyc2VkID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0
eS10aXRsZSB7CisgICAgb3JkZXI6IDI7CisgICAgdGV4dC1hbGlnbjogbGVmdDsKK30KKworLnZp
c3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIgPiAudmlzdWFsLXN0eWxlLXByb3BlcnR5LXRp
dGxlID4gLnByb3BlcnR5LXJlZmVyZW5jZS1pbmZvIHsKICAgICBjdXJzb3I6IGhlbHA7CiB9CiAK
QEAgLTQyLDExICs0NywzNyBAQAogICAgIG9wYWNpdHk6IDAuNzsKIH0KIAorLnZpc3VhbC1zdHls
ZS1wcm9wZXJ0eS1jb250YWluZXIgPiAudmlzdWFsLXN0eWxlLXByb3BlcnR5LWVkaXRvci13YXJu
aW5nIHsKKyAgICBkaXNwbGF5OiBub25lOworICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICBv
cmRlcjogMTsKKyAgICB0b3A6IDVweDsKKyAgICB3aWR0aDogMTBweDsKKyAgICBoZWlnaHQ6IDEw
cHg7CisgICAgbWFyZ2luLXJpZ2h0OiA0cHg7CisgICAgY29udGVudDogIiI7CisgICAgYmFja2dy
b3VuZC1pbWFnZTogdXJsKC4uL0ltYWdlcy9XYXJuaW5nLnN2Zyk7Cit9CisKKy52aXN1YWwtc3R5
bGUtcHJvcGVydHktY29udGFpbmVyLmxheW91dC1yZXZlcnNlZCA+IC52aXN1YWwtc3R5bGUtcHJv
cGVydHktZWRpdG9yLXdhcm5pbmcgeworICAgIG1hcmdpbi1yaWdodDogMDsKKyAgICBtYXJnaW4t
bGVmdDogNHB4OworfQorCisudmlzdWFsLXN0eWxlLXByb3BlcnR5LWNvbnRhaW5lciA+IC52aXN1
YWwtc3R5bGUtcHJvcGVydHktZWRpdG9yLXdhcm5pbmcubWlzc2luZy1kZXBlbmRlbmN5IHsKKyAg
ICBkaXNwbGF5OiBibG9jazsKK30KKwogLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIg
PiAudmlzdWFsLXN0eWxlLXByb3BlcnR5LXZhbHVlLWNvbnRhaW5lciB7CiAgICAgZmxleDogMTsK
KyAgICBvcmRlcjogMjsKICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiB9CiAKKy52aXN1YWwtc3R5
bGUtcHJvcGVydHktY29udGFpbmVyLmxheW91dC1yZXZlcnNlZCA+IC52aXN1YWwtc3R5bGUtcHJv
cGVydHktdmFsdWUtY29udGFpbmVyIHsKKyAgICBvcmRlcjogMDsKK30KKwogLnZpc3VhbC1zdHls
ZS1wcm9wZXJ0eS1jb250YWluZXIuZGlzYWJsZWQgPiAudmlzdWFsLXN0eWxlLXByb3BlcnR5LXZh
bHVlLWNvbnRhaW5lciB7CiAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgb3BhY2l0eTog
MC40OwpAQCAtNjcsMTEgKzk4LDYgQEAKICAgICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0
YW50OwogfQogCi0udmlzdWFsLXN0eWxlLXByb3BlcnR5LWNvbnRhaW5lci5sYXlvdXQtcmV2ZXJz
ZWQgPiAudmlzdWFsLXN0eWxlLXByb3BlcnR5LXRpdGxlIHsKLSAgICBvcmRlcjogMjsKLSAgICB0
ZXh0LWFsaWduOiBsZWZ0OwotfQotCiAudmlzdWFsLXN0eWxlLXByb3BlcnR5LWNvbnRhaW5lciA+
IC52aXN1YWwtc3R5bGUtcHJvcGVydHktdmFsdWUtY29udGFpbmVyID4gLnZpc3VhbC1zdHlsZS1z
cGVjaWFsLXByb3BlcnR5LXBsYWNlaG9sZGVyIHsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAg
ICAgdG9wOiAycHg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvci5qcwpp
bmRleCA2ZTg4ZjE1Li41MWRmOGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlUHJvcGVy
dHlFZGl0b3IuanMKQEAgLTYyLDYgKzYyLDcgQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlUHJv
cGVydHlFZGl0b3IgPSBjbGFzcyBWaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yIGV4dGVuZHMKICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICB0aGlzLl9wb3NzaWJsZVVuaXRzID0gcG9z
c2libGVVbml0czsKICAgICAgICAgfQorICAgICAgICB0aGlzLl9kZXBlbmRlbmNpZXMgPSBuZXcg
TWFwOwogCiAgICAgICAgIHRoaXMuX2VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKICAgICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJ2aXN1YWwtc3R5bGUt
cHJvcGVydHktY29udGFpbmVyIiwgY2xhc3NOYW1lKTsKQEAgLTMyMyw2ICszMjQsOCBAQCBXZWJJ
bnNwZWN0b3IuVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvciA9IGNsYXNzIFZpc3VhbFN0eWxlUHJv
cGVydHlFZGl0b3IgZXh0ZW5kcwogCiAgICAgICAgIHRoaXMuX2xhc3RWYWx1ZSA9IHRoaXMuc3lu
dGhlc2l6ZWRWYWx1ZTsKICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGZhbHNlOworCisgICAgICAg
IHRoaXMuX2NoZWNrRGVwZW5kZW5jaWVzKCk7CiAgICAgfQogCiAgICAgcmVzZXRFZGl0b3JWYWx1
ZXModmFsdWUpCkBAIC0zOTgsNiArNDAxLDIzIEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVBy
b3BlcnR5RWRpdG9yID0gY2xhc3MgVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvciBleHRlbmRzCiAg
ICAgICAgIHJldHVybiB0aGlzLl92YWx1ZUlzU3VwcG9ydGVkQWR2YW5jZWRVbml0KHVuaXQpOwog
ICAgIH0KIAorICAgIGFkZERlcGVuZGVuY3kocHJvcGVydHlOYW1lcywgcHJvcGVydHlWYWx1ZXMp
CisgICAgeworICAgICAgICBpZiAoIXByb3BlcnR5TmFtZXMgfHwgIXByb3BlcnR5TmFtZXMubGVu
Z3RoIHx8ICFwcm9wZXJ0eVZhbHVlcyB8fCAhcHJvcGVydHlWYWx1ZXMubGVuZ3RoKQorICAgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShwcm9wZXJ0eU5hbWVz
KSkKKyAgICAgICAgICAgIHByb3BlcnR5TmFtZXMgPSBbcHJvcGVydHlOYW1lc107CisKKyAgICAg
ICAgZm9yIChsZXQgcHJvcGVydHkgb2YgcHJvcGVydHlOYW1lcykKKyAgICAgICAgICAgIHRoaXMu
X2RlcGVuZGVuY2llcy5zZXQocHJvcGVydHksIHByb3BlcnR5VmFsdWVzKTsKKworICAgICAgICBp
ZiAoIXRoaXMuX3dhcm5pbmdFbGVtZW50KSB7CisgICAgICAgICAgICB0aGlzLl93YXJuaW5nRWxl
bWVudCA9IHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2IikpOworICAgICAgICAgICAgdGhpcy5fd2FybmluZ0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgi
dmlzdWFsLXN0eWxlLXByb3BlcnR5LWVkaXRvci13YXJuaW5nIik7CisgICAgICAgIH0KKyAgICB9
CisKICAgICAvLyBQcm90ZWN0ZWQKIAogICAgIGdldCBjb250ZW50RWxlbWVudCgpCkBAIC00NzYs
NiArNDk2LDggQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IgPSBjbGFz
cyBWaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yIGV4dGVuZHMKICAgICAgICAgdGhpcy5faWdub3Jl
TmV4dFVwZGF0ZSA9IHRydWU7CiAgICAgICAgIHRoaXMuX3NwZWNpYWxQcm9wZXJ0eVBsYWNlaG9s
ZGVyRWxlbWVudC5oaWRkZW4gPSB0cnVlOwogCisgICAgICAgIHRoaXMuX2NoZWNrRGVwZW5kZW5j
aWVzKCk7CisKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVj
dG9yLlZpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IuRXZlbnQuVmFsdWVEaWRDaGFuZ2UpOwogICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CkBAIC00OTcsNiArNTE5LDM3IEBAIFdlYkluc3BlY3Rv
ci5WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yID0gY2xhc3MgVmlzdWFsU3R5bGVQcm9wZXJ0eUVk
aXRvciBleHRlbmRzCiAgICAgICAgIHJldHVybiBsb25naGFuZFRleHQgPyB0ZXh0LnJlcGxhY2Uo
c2hvcnRoYW5kLnRleHQsIGxvbmdoYW5kVGV4dCkgOiB0ZXh0OwogICAgIH0KIAorICAgIF9oYXNN
dWx0aXBsZUNvbmZsaWN0aW5nVmFsdWVzKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9o
YXNNdWx0aXBsZVByb3BlcnRpZXMgJiYgIXRoaXMuX3NwZWNpYWxQcm9wZXJ0eVBsYWNlaG9sZGVy
RWxlbWVudC5oaWRkZW47CisgICAgfQorCisgICAgX2NoZWNrRGVwZW5kZW5jaWVzKCkKKyAgICB7
CisgICAgICAgIGlmICghdGhpcy5fZGVwZW5kZW5jaWVzLnNpemUgfHwgIXRoaXMuX3N0eWxlIHx8
ICF0aGlzLnN5bnRoZXNpemVkVmFsdWUpIHsKKyAgICAgICAgICAgIGlmICh0aGlzLl93YXJuaW5n
RWxlbWVudCkKKyAgICAgICAgICAgICAgICB0aGlzLl93YXJuaW5nRWxlbWVudC5jbGFzc0xpc3Qu
cmVtb3ZlKCJtaXNzaW5nLWRlcGVuZGVuY3kiKTsKKworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisKKyAgICAgICAgbGV0IHRpdGxlID0gIiI7CisKKyAgICAgICAgLy8gRklYTUU6IDxo
dHRwczovL3dlYmtpdC5vcmcvYi8xNTI0OTc+IEFycm93IGZ1bmN0aW9uczogInRoaXMiIGlzbid0
IGxleGljYWxseSBib3VuZAorICAgICAgICBsZXQgZGVwZW5kZW5jaWVzID0gdGhpcy5fc3R5bGUu
bm9kZVN0eWxlcy5jb21wdXRlZFN0eWxlLnByb3BlcnRpZXMuZmlsdGVyKGZ1bmN0aW9uKHByb3Bl
cnR5KSB7CisgICAgICAgICAgICByZXR1cm4gdGhpcy5fZGVwZW5kZW5jaWVzLmhhcyhwcm9wZXJ0
eS5uYW1lKSB8fCB0aGlzLl9kZXBlbmRlbmNpZXMuaGFzKHByb3BlcnR5LmNhbm9uaWNhbE5hbWUp
OworICAgICAgICB9LmJpbmQodGhpcykpOworCisgICAgICAgIGZvciAobGV0IHByb3BlcnR5IG9m
IGRlcGVuZGVuY2llcykgeworICAgICAgICAgICAgbGV0IGRlcGVuZGVuY3lWYWx1ZXMgPSB0aGlz
Ll9kZXBlbmRlbmNpZXMuZ2V0KHByb3BlcnR5Lm5hbWUpOworICAgICAgICAgICAgaWYgKCFkZXBl
bmRlbmN5VmFsdWVzLmluY2x1ZGVzKHByb3BlcnR5LnZhbHVlKSkKKyAgICAgICAgICAgICAgICB0
aXRsZSArPSAiXG4gIiArIHByb3BlcnR5Lm5hbWUgKyAiOiAiICsgZGVwZW5kZW5jeVZhbHVlcy5q
b2luKCIvIik7CisgICAgICAgIH0KKworICAgICAgICB0aGlzLl93YXJuaW5nRWxlbWVudC5jbGFz
c0xpc3QudG9nZ2xlKCJtaXNzaW5nLWRlcGVuZGVuY3kiLCAhIXRpdGxlLmxlbmd0aCk7CisgICAg
ICAgIHRoaXMuX3dhcm5pbmdFbGVtZW50LnRpdGxlID0gISF0aXRsZS5sZW5ndGggPyBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIk1pc3NpbmcgRGVwZW5kZW5jaWVzOiVzIikuZm9ybWF0KHRpdGxlKSA6
IG51bGw7CisgICAgfQorCiAgICAgX3RpdGxlRWxlbWVudFByZXBhcmVGb3JDbGljayhldmVudCkK
ICAgICB7CiAgICAgICAgIHRoaXMuX3RpdGxlRWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJwcm9w
ZXJ0eS1yZWZlcmVuY2UtaW5mbyIsIGV2ZW50LnR5cGUgPT09ICJrZXlkb3duIiAmJiBldmVudC5h
bHRLZXkpOwpAQCAtNTI4LDExICs1ODEsNiBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVQcm9w
ZXJ0eUVkaXRvciA9IGNsYXNzIFZpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IgZXh0ZW5kcwogICAg
ICAgICAgICAgdGhpcy5fc2hvd1Byb3BlcnR5SW5mb1BvcG92ZXIoKTsKICAgICB9CiAKLSAgICBf
aGFzTXVsdGlwbGVDb25mbGljdGluZ1ZhbHVlcygpCi0gICAgewotICAgICAgICByZXR1cm4gdGhp
cy5faGFzTXVsdGlwbGVQcm9wZXJ0aWVzICYmICF0aGlzLl9zcGVjaWFsUHJvcGVydHlQbGFjZWhv
bGRlckVsZW1lbnQuaGlkZGVuOwotICAgIH0KLQogICAgIF9zaG93UHJvcGVydHlJbmZvUG9wb3Zl
cigpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX2hhc1Byb3BlcnR5UmVmZXJlbmNlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFs
U3R5bGVTZWxlY3RvclNlY3Rpb24uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbi5qcwppbmRleCBiYTQyYWFjLi4y
MmE2MDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbi5qcwpA
QCAtOTcsNyArOTcsNiBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rpb24g
PSBjbGFzcyBWaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbiBleHRlbgogCiAgICAgICAgIGZ1bmN0
aW9uIGNyZWF0ZVNlbGVjdG9ySXRlbShzdHlsZSwgdGl0bGUsIHN1YnRpdGxlKSB7CiAgICAgICAg
ICAgICBsZXQgc2VsZWN0b3IgPSBuZXcgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JU
cmVlSXRlbSh0aGlzLCBzdHlsZSwgdGl0bGUsIHN1YnRpdGxlKTsKLSAgICAgICAgICAgIHNlbGVj
dG9yLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JUcmVl
SXRlbS5FdmVudC5TdHlsZVRleHRSZXNldCwgdGhpcy5fc3R5bGVUZXh0UmVzZXQsIHRoaXMpOwog
ICAgICAgICAgICAgc2VsZWN0b3IuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVmlzdWFs
U3R5bGVTZWxlY3RvclRyZWVJdGVtLkV2ZW50LkNoZWNrYm94Q2hhbmdlZCwgdGhpcy5fdHJlZUVs
ZW1lbnRDaGVja2JveFRvZ2dsZWQsIHRoaXMpOwogICAgICAgICAgICAgdGhpcy5fc2VsZWN0b3Jz
LmFwcGVuZENoaWxkKHNlbGVjdG9yKTsKIApAQCAtMjU3LDExICsyNTYsNiBAQCBXZWJJbnNwZWN0
b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rpb24gPSBjbGFzcyBWaXN1YWxTdHlsZVNlbGVjdG9y
U2VjdGlvbiBleHRlbgogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJ
bnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rpb24uRXZlbnQuU2VsZWN0b3JDaGFuZ2Vk
KTsKICAgICB9CiAKLSAgICBfc3R5bGVUZXh0UmVzZXQoKQotICAgIHsKLSAgICAgICAgdGhpcy5k
aXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JT
ZWN0aW9uLkV2ZW50LlN0eWxlVGV4dENoYW5nZWQpOwotICAgIH0KLQogICAgIF9hZGROZXdSdWxl
KGV2ZW50KQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9ub2RlU3R5bGVzIHx8IHRoaXMuX25v
ZGVTdHlsZXMubm9kZS5pc0luU2hhZG93VHJlZSgpKQpAQCAtMzMxLDYgKzMyNSw1IEBAIFdlYklu
c3BlY3Rvci5WaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbiA9IGNsYXNzIFZpc3VhbFN0eWxlU2Vs
ZWN0b3JTZWN0aW9uIGV4dGVuCiBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rp
b24uTGFzdFNlbGVjdGVkUnVsZVN5bWJvbCA9IFN5bWJvbCgidmlzdWFsLXN0eWxlLXNlbGVjdG9y
LXNlY3Rpb24tbGFzdC1zZWxlY3RlZC1ydWxlIik7CiAKIFdlYkluc3BlY3Rvci5WaXN1YWxTdHls
ZVNlbGVjdG9yU2VjdGlvbi5FdmVudCA9IHsKLSAgICBTZWxlY3RvckNoYW5nZWQ6ICJ2aXN1YWwt
c3R5bGUtc2VsZWN0b3Itc2VjdGlvbi1zZWxlY3Rvci1jaGFuZ2VkIiwKLSAgICBTdHlsZVRleHRD
aGFuZ2VkOiAidmlzdWFsLXN0eWxlLXNlbGVjdG9yLXNlY3Rpb24tc3R5bGUtdGV4dC1jaGFuZ2Vk
IgorICAgIFNlbGVjdG9yQ2hhbmdlZDogInZpc3VhbC1zdHlsZS1zZWxlY3Rvci1zZWN0aW9uLXNl
bGVjdG9yLWNoYW5nZWQiCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0uanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yVHJl
ZUl0ZW0uanMKaW5kZXggYWVkNzllOS4uMWNiZDFkZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRl
bS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1
YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0uanMKQEAgLTE0Niw3ICsxNDYsNiBAQCBXZWJJbnNwZWN0
b3IuVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtID0gY2xhc3MgVmlzdWFsU3R5bGVTZWxlY3Rv
clRyZWVJdGVtIGV4dAogICAgICAgICBpZiAodGhpcy5yZXByZXNlbnRlZE9iamVjdC5tb2RpZmll
ZCkgewogICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIlJlc2V0IiksICgpID0+IHsKICAgICAgICAgICAgICAgICB0aGlzLnJlcHJlc2VudGVk
T2JqZWN0LnJlc2V0VGV4dCgpOwotICAgICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRv
TGlzdGVuZXJzKFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0uRXZlbnQu
U3R5bGVUZXh0UmVzZXQpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgIH0KIApAQCAtMjgyLDYg
KzI4MSw1IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0gPSBjbGFz
cyBWaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0gZXh0CiB9OwogCiBXZWJJbnNwZWN0b3IuVmlz
dWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLkV2ZW50ID0gewotICAgIFN0eWxlVGV4dFJlc2V0OiAi
dmlzdWFsLXN0eWxlLXNlbGVjdG9yLWl0ZW0tc3R5bGUtdGV4dC1yZXNldCIsCiAgICAgQ2hlY2ti
b3hDaGFuZ2VkOiAidmlzdWFsLXN0eWxlLXNlbGVjdG9yLWl0ZW0tY2hlY2tib3gtY2hhbmdlZCIK
IH07Cg==
</data>
<flag name="commit-queue"
          id="293446"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>268500</attachid>
            <date>2016-01-07 15:28:15 -0800</date>
            <delta_ts>2016-01-07 15:44:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>148254.diff</filename>
            <type>text/plain</type>
            <size>22207</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDBlYTA0OTAuLjY3OGEyODIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU1IEBACiAyMDE2LTAxLTA3ICBEZXZpbiBSb3Vzc28g
IDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFk
ZCB3YXJuaW5ncyB0byBzZWN0aW9uIHRoYXQgcmVxdWlyZSBzcGVjaWZpYyB2YWx1ZXMgb2Ygb3Ro
ZXIgcHJvcGVydGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQ4MjU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgorCisg
ICAgICAgIEFkZGVkIGEgZnVuY3Rpb24gdG8gVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvciB0byBh
bGxvdyBkZXBlbmRlbmNpZXMgdG8gYmUgc2V0IHdoaWNoLAorICAgICAgICB3aGVuZXZlciB0aGUg
ZWRpdG9yIGlzIHVwZGF0ZWQgb3IgY2hhbmdlZCwgd2lsbCBiZSBjaGVja2VkIGFnYWluc3QgdGhl
IGNvbXB1dGVkIHN0eWxlcworICAgICAgICBvZiB0aGUgZWxlbWVudCB0byBzZWUgaWYgYWxsIHRo
ZSBuZWNlc3NhcnkgcHJvcGVydHkgdmFsdWVzIGFyZSBzZXQuCisKKyAgICAgICAgKiBMb2NhbGl6
YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9WaXN1YWxTdHlsZURldGFpbHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5WaXN1YWxTdHlsZURldGFpbHNQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlz
dWFsU3R5bGVEZXRhaWxzUGFuZWwucHJvdG90eXBlLnJlZnJlc2gpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsLnByb3RvdHlwZS5fcG9wdWxhdGVQb3NpdGlv
blNlY3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVs
LnByb3RvdHlwZS5fcG9wdWxhdGVGbGV4Ym94U2VjdGlvbik6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwucHJvdG90eXBlLl9wb3B1bGF0ZUFsaWdubWVudFNl
Y3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsLnBy
b3RvdHlwZS5fcG9wdWxhdGVCb3JkZXJTZWN0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5W
aXN1YWxTdHlsZURldGFpbHNQYW5lbC5wcm90b3R5cGUuX3BvcHVsYXRlT3V0bGluZVNlY3Rpb24p
OgorICAgICAgICBBZGRlZCBkZXBlbmRlbmNpZXMgdG8gcmVsZXZhbnQgcHJvcGVydHkgZWRpdG9y
cy4KKworICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsLnByb3Rv
dHlwZS5fcHJlcGFyZUZvckNoYW5nZSk6IERlbGV0ZWQuCisgICAgICAgIE5vIGxvbmdlciBuZWVk
ZWQgYXMgdGhlIHNpZGViYXIgcGFuZWwgd2lsbCByZWZyZXNoIHdoZW5ldmVyIHRyaWdnZXJlZC4K
KworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRv
ci5jc3M6CisgICAgICAgICgudmlzdWFsLXN0eWxlLXByb3BlcnR5LWNvbnRhaW5lci5sYXlvdXQt
cmV2ZXJzZWQgPiAudmlzdWFsLXN0eWxlLXByb3BlcnR5LXRpdGxlKToKKyAgICAgICAgKC52aXN1
YWwtc3R5bGUtcHJvcGVydHktY29udGFpbmVyID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS10aXRs
ZSA+IC5wcm9wZXJ0eS1yZWZlcmVuY2UtaW5mbyk6CisgICAgICAgICgudmlzdWFsLXN0eWxlLXBy
b3BlcnR5LWNvbnRhaW5lciA+IC52aXN1YWwtc3R5bGUtcHJvcGVydHktZWRpdG9yLXdhcm5pbmcp
OgorICAgICAgICAoLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIubGF5b3V0LXJldmVy
c2VkID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1lZGl0b3Itd2FybmluZyk6CisgICAgICAgICgu
dmlzdWFsLXN0eWxlLXByb3BlcnR5LWNvbnRhaW5lciA+IC52aXN1YWwtc3R5bGUtcHJvcGVydHkt
ZWRpdG9yLXdhcm5pbmcubWlzc2luZy1kZXBlbmRlbmN5KToKKyAgICAgICAgKC52aXN1YWwtc3R5
bGUtcHJvcGVydHktY29udGFpbmVyID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS12YWx1ZS1jb250
YWluZXIpOgorICAgICAgICAoLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIubGF5b3V0
LXJldmVyc2VkID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS12YWx1ZS1jb250YWluZXIpOgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IucHJvdG90eXBlLnVw
ZGF0ZUVkaXRvclZhbHVlcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVQcm9w
ZXJ0eUVkaXRvci5wcm90b3R5cGUuYWRkRGVwZW5kZW5jeSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvci5wcm90b3R5cGUuX3ZhbHVlRGlkQ2hhbmdlKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLnByb3RvdHlw
ZS5fY2hlY2tEZXBlbmRlbmNpZXMpOgorICAgICAgICBMb29rcyBhdCB0aGUgY29tcHV0ZWQgc3R5
bGUgZm9yIHRoZSBub2RlIHRvIHNlZSBpZiBhbnkgZGVwZW5kZW50IHByb3BlcnRpZXMgZG8gbm90
CisgICAgICAgIGhhdmUgb25lIG9mIHRoZSByZXF1aXJlZCB2YWx1ZXMuCisKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uLnByb3RvdHlwZS51cGRh
dGUuY3JlYXRlU2VsZWN0b3JJdGVtKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5WaXN1YWxTdHls
ZVNlbGVjdG9yU2VjdGlvbi5wcm90b3R5cGUuX3N0eWxlVGV4dFJlc2V0KTogRGVsZXRlZC4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVt
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbS5w
cm90b3R5cGUuX2hhbmRsZUNvbnRleHRNZW51RXZlbnQpOgorCisyMDE2LTAxLTA3ICBEZXZpbiBS
b3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCiAgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEFkZCBib3JkZXItaW1hZ2UgcHJvcGVydGllcyB0byBWaXN1YWwgc2lkZWJhcgogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUyNzU1CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2Fs
aXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5s
cHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDkyY2E2MjM2ZGE1ZTkxMzc0N2EwNmRhNzNj
ZjBmN2VjODFlMDA1ZjkuLmJmZmY0NGIyOGNmMzUxOWQ4Y2RmMzMzYmZkMTE4Y2E3ODJmNWNiZGMg
MTAwNjQ0CkdJVCBiaW5hcnkgcGF0Y2gKZGVsdGEgMTE0CnpjbWRuaSNDb0VjYiVYYmpfK299KWhE
P1MkaEk5cjYxe2ExQGg1e2hZVkBMcyQkdn5NQHB1ODE+RHYoclNoeXwqIwpYMSE1JXpVIVYrOEl3
eDs5V1ZxUyQkbERxSzxBNTZoCgpkZWx0YSAxNApXY21YQG4lKHxfS2IlWGJqJjNCS3l0Xm9peHN0
NT1HCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZURldGFpbHNQYW5lbC5qcwppbmRleCA1ZjkwYzk0
Li4wMjE0ODczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9WaXN1YWxTdHlsZURldGFpbHNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZURldGFpbHNQYW5lbC5qcwpAQCAt
MzAsMjAgKzMwLDE4IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZURldGFpbHNQYW5lbCA9IGNs
YXNzIFZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMgV2ViCiAgICAgICAgIHN1cGVyKGRl
bGVnYXRlLCAidmlzdWFsIiwgInZpc3VhbCIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiU3R5bGVz
IFx1MjAxNCBWaXN1YWwiKSk7CiAKICAgICAgICAgdGhpcy5fY3VycmVudFN0eWxlID0gbnVsbDsK
LSAgICAgICAgdGhpcy5fZm9yY2VOZXh0U3R5bGVVcGRhdGUgPSBmYWxzZTsKIAogICAgICAgICB0
aGlzLl9zZWN0aW9ucyA9IHt9OwogICAgICAgICB0aGlzLl9ncm91cHMgPSB7fTsKICAgICAgICAg
dGhpcy5fa2V5d29yZHMgPSB7fTsKICAgICAgICAgdGhpcy5fdW5pdHMgPSB7fTsKLSAgICAgICAg
dGhpcy5fYXV0b2NvbXBsZXRpb25Qcm9wZXJ0eUVkaXRvcnMgPSB7fTsKIAogICAgICAgICAvLyBU
aGVzZSBrZXl3b3JkcywgYXMgd2VsbCBhcyB0aGUgdmFsdWVzIGJlbG93LCBhcmUgbm90IGxvY2Fs
aXplZCBhcyB0aGV5IG11c3QgbWF0Y2ggdGhlIENTUyBzcGVjLgogICAgICAgICB0aGlzLl9rZXl3
b3Jkcy5kZWZhdWx0cyA9IFsiSW5oZXJpdCIsICJJbml0aWFsIiwgIlVuc2V0IiwgIlJldmVydCJd
OwogICAgICAgICB0aGlzLl9rZXl3b3Jkcy5ib3hNb2RlbCA9IHRoaXMuX2tleXdvcmRzLmRlZmF1
bHRzLmNvbmNhdChbIkF1dG8iXSk7CiAgICAgICAgIHRoaXMuX2tleXdvcmRzLmJvcmRlclN0eWxl
ID0gewogICAgICAgICAgICAgYmFzaWM6IHRoaXMuX2tleXdvcmRzLmRlZmF1bHRzLmNvbmNhdChb
Ik5vbmUiLCAiSGlkZGVuIiwgIlNvbGlkIl0pLAotICAgICAgICAgICAgYWR2YW5jZWQ6IFsiRGFz
aGVkIiwgIkRvdHRlZCIsICJEb3VibGUiLCAiR3Jvb3ZlIiwgIkhpZGRlbiIsICJJbnNldCIsICJO
b25lIiwgIk91dHNldCIsICJSaWRnZSJdCisgICAgICAgICAgICBhZHZhbmNlZDogWyJEYXNoZWQi
LCAiRG90dGVkIiwgIkRvdWJsZSIsICJHcm9vdmUiLCAiSW5zZXQiLCAiT3V0c2V0IiwgIlJpZGdl
Il0KICAgICAgICAgfTsKICAgICAgICAgdGhpcy5fa2V5d29yZHMuYm9yZGVyV2lkdGggPSB0aGlz
Ll9rZXl3b3Jkcy5kZWZhdWx0cy5jb25jYXQoWyJNZWRpdW0iLCAiVGhpY2siLCAiVGhpbiJdKTsK
IApAQCAtNTksNyArNTcsNiBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwg
PSBjbGFzcyBWaXN1YWxTdHlsZURldGFpbHNQYW5lbCBleHRlbmRzIFdlYgogICAgICAgICAvLyBT
ZWxlY3RvciBTZWN0aW9uCiAgICAgICAgIHRoaXMuX3NlbGVjdG9yU2VjdGlvbiA9IG5ldyBXZWJJ
bnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rpb24odGhpcyk7CiAgICAgICAgIHRoaXMu
X3NlbGVjdG9yU2VjdGlvbi5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5WaXN1YWxTdHls
ZVNlbGVjdG9yU2VjdGlvbi5FdmVudC5TZWxlY3RvckNoYW5nZWQsIHRoaXMuX3VwZGF0ZVNlY3Rp
b25zLCB0aGlzKTsKLSAgICAgICAgdGhpcy5fc2VsZWN0b3JTZWN0aW9uLmFkZEV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uLkV2ZW50LlN0eWxlVGV4
dENoYW5nZWQsIHRoaXMuX3ByZXBhcmVGb3JDaGFuZ2UsIHRoaXMpOwogICAgICAgICB0aGlzLmVs
ZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc2VsZWN0b3JTZWN0aW9uLmVsZW1lbnQpOwogCiAgICAg
ICAgIC8vIExheW91dCBTZWN0aW9uCkBAIC0xMDYsMTEgKzEwMyw4IEBAIFdlYkluc3BlY3Rvci5W
aXN1YWxTdHlsZURldGFpbHNQYW5lbCA9IGNsYXNzIFZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsIGV4
dGVuZHMgV2ViCiAKICAgICByZWZyZXNoKHNpZ25pZmljYW50Q2hhbmdlKQogICAgIHsKLSAgICAg
ICAgaWYgKHNpZ25pZmljYW50Q2hhbmdlIHx8IHRoaXMuX2ZvcmNlTmV4dFN0eWxlVXBkYXRlKSB7
Ci0gICAgICAgICAgICB0aGlzLl9zZWxlY3RvclNlY3Rpb24udXBkYXRlKHRoaXMuX25vZGVTdHls
ZXMpOwotICAgICAgICAgICAgdGhpcy5fdXBkYXRlU2VjdGlvbnMoKTsKLSAgICAgICAgICAgIHRo
aXMuX2ZvcmNlTmV4dFN0eWxlVXBkYXRlID0gZmFsc2U7Ci0gICAgICAgIH0KKyAgICAgICAgdGhp
cy5fc2VsZWN0b3JTZWN0aW9uLnVwZGF0ZSh0aGlzLl9ub2RlU3R5bGVzKTsKKyAgICAgICAgdGhp
cy5fdXBkYXRlU2VjdGlvbnMoKTsKIAogICAgICAgICBzdXBlci5yZWZyZXNoKCk7CiAgICAgfQpA
QCAtMTQ1LDExICsxMzksNiBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwg
PSBjbGFzcyBWaXN1YWxTdHlsZURldGFpbHNQYW5lbCBleHRlbmRzIFdlYgogICAgICAgICBwb3B1
bGF0ZUZ1bmN0aW9uLmNhbGwodGhpcyk7CiAgICAgfQogCi0gICAgX3ByZXBhcmVGb3JDaGFuZ2Uo
ZXZlbnQpCi0gICAgewotICAgICAgICB0aGlzLl9mb3JjZU5leHRTdHlsZVVwZGF0ZSA9IHRydWU7
Ci0gICAgfQotCiAgICAgX3VwZGF0ZVNlY3Rpb25zKGV2ZW50KQogICAgIHsKICAgICAgICAgdGhp
cy5fY3VycmVudFN0eWxlID0gdGhpcy5fc2VsZWN0b3JTZWN0aW9uLmN1cnJlbnRTdHlsZSgpOwpA
QCAtNDQwLDYgKzQyOSwxMyBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwg
PSBjbGFzcyBWaXN1YWxTdHlsZURldGFpbHNQYW5lbCBleHRlbmRzIFdlYgogCiAgICAgICAgIGxl
dCBwb3NpdGlvbkdyb3VwID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbkdyb3VwKHJv
d3MpOwogICAgICAgICB0aGlzLl9wb3B1bGF0ZVNlY3Rpb24oZ3JvdXAsIFtwb3NpdGlvbkdyb3Vw
XSk7CisKKyAgICAgICAgbGV0IGFsbG93ZWRQb3NpdGlvblZhbHVlcyA9IFsicmVsYXRpdmUiLCAi
YWJzb2x1dGUiLCAiZml4ZWQiLCAiLXdlYmtpdC1zdGlja3kiXTsKKyAgICAgICAgcHJvcGVydGll
cy56SW5kZXguYWRkRGVwZW5kZW5jeSgicG9zaXRpb24iLCBhbGxvd2VkUG9zaXRpb25WYWx1ZXMp
OworICAgICAgICBwcm9wZXJ0aWVzLnRvcC5hZGREZXBlbmRlbmN5KCJwb3NpdGlvbiIsIGFsbG93
ZWRQb3NpdGlvblZhbHVlcyk7CisgICAgICAgIHByb3BlcnRpZXMucmlnaHQuYWRkRGVwZW5kZW5j
eSgicG9zaXRpb24iLCBhbGxvd2VkUG9zaXRpb25WYWx1ZXMpOworICAgICAgICBwcm9wZXJ0aWVz
LmJvdHRvbS5hZGREZXBlbmRlbmN5KCJwb3NpdGlvbiIsIGFsbG93ZWRQb3NpdGlvblZhbHVlcyk7
CisgICAgICAgIHByb3BlcnRpZXMubGVmdC5hZGREZXBlbmRlbmN5KCJwb3NpdGlvbiIsIGFsbG93
ZWRQb3NpdGlvblZhbHVlcyk7CiAgICAgfQogCiAgICAgX3BvcHVsYXRlRmxvYXRTZWN0aW9uKCkK
QEAgLTU3Nyw2ICs1NzMsMTQgQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVs
ID0gY2xhc3MgVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBXZWIKIAogICAgICAgICBs
ZXQgZmxleGJveEdyb3VwID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbkdyb3VwKFtm
bGV4T3JkZXJSb3csIGZsZXhTaXplUm93LCBmbGV4Rmxvd1Jvd10pOwogICAgICAgICB0aGlzLl9w
b3B1bGF0ZVNlY3Rpb24oZ3JvdXAsIFtmbGV4Ym94R3JvdXBdKTsKKworICAgICAgICBsZXQgYWxs
b3dlZERpc3BsYXlWYWx1ZXMgPSBbImZsZXgiLCAiaW5saW5lLWZsZXgiLCAiLXdlYmtpdC1ib3gi
LCAiLXdlYmtpdC1pbmxpbmUtYm94Il07CisgICAgICAgIHByb3BlcnRpZXMub3JkZXIuYWRkRGVw
ZW5kZW5jeSgiZGlzcGxheSIsIGFsbG93ZWREaXNwbGF5VmFsdWVzKTsKKyAgICAgICAgcHJvcGVy
dGllcy5mbGV4QmFzaXMuYWRkRGVwZW5kZW5jeSgiZGlzcGxheSIsIGFsbG93ZWREaXNwbGF5VmFs
dWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5mbGV4R3Jvdy5hZGREZXBlbmRlbmN5KCJkaXNwbGF5
IiwgYWxsb3dlZERpc3BsYXlWYWx1ZXMpOworICAgICAgICBwcm9wZXJ0aWVzLmZsZXhTaHJpbmsu
YWRkRGVwZW5kZW5jeSgiZGlzcGxheSIsIGFsbG93ZWREaXNwbGF5VmFsdWVzKTsKKyAgICAgICAg
cHJvcGVydGllcy5mbGV4RGlyZWN0aW9uLmFkZERlcGVuZGVuY3koImRpc3BsYXkiLCBhbGxvd2Vk
RGlzcGxheVZhbHVlcyk7CisgICAgICAgIHByb3BlcnRpZXMuZmxleFdyYXAuYWRkRGVwZW5kZW5j
eSgiZGlzcGxheSIsIGFsbG93ZWREaXNwbGF5VmFsdWVzKTsKICAgICB9CiAKICAgICBfcG9wdWxh
dGVBbGlnbm1lbnRTZWN0aW9uKCkKQEAgLTYxMiw2ICs2MTYsMTIgQEAgV2ViSW5zcGVjdG9yLlZp
c3VhbFN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgZXh0
ZW5kcyBXZWIKIAogICAgICAgICBsZXQgYWxpZ25tZW50R3JvdXAgPSBuZXcgV2ViSW5zcGVjdG9y
LkRldGFpbHNTZWN0aW9uR3JvdXAoW2NvbnRlbnRSb3csIGl0ZW1zUm93XSk7CiAgICAgICAgIHRo
aXMuX3BvcHVsYXRlU2VjdGlvbihncm91cCwgW2FsaWdubWVudEdyb3VwXSk7CisKKyAgICAgICAg
bGV0IGFsbG93ZWREaXNwbGF5VmFsdWVzID0gWyJmbGV4IiwgImlubGluZS1mbGV4IiwgIi13ZWJr
aXQtYm94IiwgIi13ZWJraXQtaW5saW5lLWJveCJdOworICAgICAgICBwcm9wZXJ0aWVzLmp1c3Rp
ZnlDb250ZW50LmFkZERlcGVuZGVuY3koImRpc3BsYXkiLCBhbGxvd2VkRGlzcGxheVZhbHVlcyk7
CisgICAgICAgIHByb3BlcnRpZXMuYWxpZ25Db250ZW50LmFkZERlcGVuZGVuY3koImRpc3BsYXki
LCBhbGxvd2VkRGlzcGxheVZhbHVlcyk7CisgICAgICAgIHByb3BlcnRpZXMuYWxpZ25JdGVtcy5h
ZGREZXBlbmRlbmN5KCJkaXNwbGF5IiwgYWxsb3dlZERpc3BsYXlWYWx1ZXMpOworICAgICAgICBw
cm9wZXJ0aWVzLmFsaWduU2VsZi5hZGREZXBlbmRlbmN5KCJkaXNwbGF5IiwgYWxsb3dlZERpc3Bs
YXlWYWx1ZXMpOwogICAgIH0KIAogICAgIF9wb3B1bGF0ZVRleHRTdHlsZVNlY3Rpb24oKQpAQCAt
MTAzMCw2ICsxMDQwLDE4IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZURldGFpbHNQYW5lbCA9
IGNsYXNzIFZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMgV2ViCiAgICAgICAgIGdyb3Vw
LmF1dG9jb21wbGV0ZUNvbXBhdGlibGVQcm9wZXJ0aWVzID0gW3Byb3BlcnRpZXMuYm9yZGVyQ29s
b3IsIHByb3BlcnRpZXMuYm9yZGVyVG9wQ29sb3IsIHByb3BlcnRpZXMuYm9yZGVyQm90dG9tQ29s
b3IsIHByb3BlcnRpZXMuYm9yZGVyTGVmdENvbG9yLCBwcm9wZXJ0aWVzLmJvcmRlclJpZ2h0Q29s
b3JdOwogCiAgICAgICAgIHRoaXMuX3BvcHVsYXRlU2VjdGlvbihncm91cCwgW2JvcmRlckdyb3Vw
LCBib3JkZXJJbWFnZUdyb3VwXSk7CisKKyAgICAgICAgbGV0IGFsbG93ZWRCb3JkZXJWYWx1ZXMg
PSBbInNvbGlkIiwgImRhc2hlZCIsICJkb3R0ZWQiLCAiZG91YmxlIiwgImdyb292ZSIsICJpbnNl
dCIsICJvdXRzZXQiLCAicmlkZ2UiXTsKKyAgICAgICAgcHJvcGVydGllcy5ib3JkZXJXaWR0aC5h
ZGREZXBlbmRlbmN5KFsiYm9yZGVyLXRvcC1zdHlsZSIsICJib3JkZXItcmlnaHQtc3R5bGUiLCAi
Ym9yZGVyLWJvdHRvbS1zdHlsZSIsICJib3JkZXItbGVmdC1zdHlsZSJdLCBhbGxvd2VkQm9yZGVy
VmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5ib3JkZXJDb2xvci5hZGREZXBlbmRlbmN5KFsi
Ym9yZGVyLXRvcC1zdHlsZSIsICJib3JkZXItcmlnaHQtc3R5bGUiLCAiYm9yZGVyLWJvdHRvbS1z
dHlsZSIsICJib3JkZXItbGVmdC1zdHlsZSJdLCBhbGxvd2VkQm9yZGVyVmFsdWVzKTsKKyAgICAg
ICAgcHJvcGVydGllcy5ib3JkZXJUb3BXaWR0aC5hZGREZXBlbmRlbmN5KCJib3JkZXItdG9wLXN0
eWxlIiwgYWxsb3dlZEJvcmRlclZhbHVlcyk7CisgICAgICAgIHByb3BlcnRpZXMuYm9yZGVyVG9w
Q29sb3IuYWRkRGVwZW5kZW5jeSgiYm9yZGVyLXRvcC1zdHlsZSIsIGFsbG93ZWRCb3JkZXJWYWx1
ZXMpOworICAgICAgICBwcm9wZXJ0aWVzLmJvcmRlclJpZ2h0V2lkdGguYWRkRGVwZW5kZW5jeSgi
Ym9yZGVyLXJpZ2h0LXN0eWxlIiwgYWxsb3dlZEJvcmRlclZhbHVlcyk7CisgICAgICAgIHByb3Bl
cnRpZXMuYm9yZGVyUmlnaHRDb2xvci5hZGREZXBlbmRlbmN5KCJib3JkZXItcmlnaHQtc3R5bGUi
LCBhbGxvd2VkQm9yZGVyVmFsdWVzKTsKKyAgICAgICAgcHJvcGVydGllcy5ib3JkZXJCb3R0b21X
aWR0aC5hZGREZXBlbmRlbmN5KCJib3JkZXItYm90dG9tLXN0eWxlIiwgYWxsb3dlZEJvcmRlclZh
bHVlcyk7CisgICAgICAgIHByb3BlcnRpZXMuYm9yZGVyQm90dG9tQ29sb3IuYWRkRGVwZW5kZW5j
eSgiYm9yZGVyLWJvdHRvbS1zdHlsZSIsIGFsbG93ZWRCb3JkZXJWYWx1ZXMpOworICAgICAgICBw
cm9wZXJ0aWVzLmJvcmRlckxlZnRXaWR0aC5hZGREZXBlbmRlbmN5KCJib3JkZXItbGVmdC1zdHls
ZSIsIGFsbG93ZWRCb3JkZXJWYWx1ZXMpOworICAgICAgICBwcm9wZXJ0aWVzLmJvcmRlckxlZnRD
b2xvci5hZGREZXBlbmRlbmN5KCJib3JkZXItbGVmdC1zdHlsZSIsIGFsbG93ZWRCb3JkZXJWYWx1
ZXMpOwogICAgIH0KIAogICAgIF9wb3B1bGF0ZU91dGxpbmVTZWN0aW9uKCkKQEAgLTEwMzksMjQg
KzEwNjEsMjggQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3Mg
VmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBXZWIKIAogICAgICAgICBsZXQgb3V0bGlu
ZVNpemVSb3cgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uUm93OwogCisgICAgICAg
IHByb3BlcnRpZXMub3V0bGluZVN0eWxlID0gbmV3IFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZUtl
eXdvcmRQaWNrZXIoIm91dGxpbmUtc3R5bGUiICwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTdHls
ZSIpLCB0aGlzLl9rZXl3b3Jkcy5ib3JkZXJTdHlsZSk7CiAgICAgICAgIHByb3BlcnRpZXMub3V0
bGluZVdpZHRoID0gbmV3IFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZU51bWJlcklucHV0Qm94KCJv
dXRsaW5lLXdpZHRoIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJXaWR0aCIpLCB0aGlzLl9rZXl3
b3Jkcy5ib3JkZXJXaWR0aCwgdGhpcy5fdW5pdHMuZGVmYXVsdHMpOwotICAgICAgICBwcm9wZXJ0
aWVzLm91dGxpbmVPZmZzZXQgPSBuZXcgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlTnVtYmVySW5w
dXRCb3goIm91dGxpbmUtb2Zmc2V0IiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJPZmZzZXQiKSwg
dGhpcy5fa2V5d29yZHMuZGVmYXVsdHMsIHRoaXMuX3VuaXRzLmRlZmF1bHRzLCB0cnVlKTsKIAor
ICAgICAgICBvdXRsaW5lU2l6ZVJvdy5lbGVtZW50LmFwcGVuZENoaWxkKHByb3BlcnRpZXMub3V0
bGluZVN0eWxlLmVsZW1lbnQpOwogICAgICAgICBvdXRsaW5lU2l6ZVJvdy5lbGVtZW50LmFwcGVu
ZENoaWxkKHByb3BlcnRpZXMub3V0bGluZVdpZHRoLmVsZW1lbnQpOwotICAgICAgICBvdXRsaW5l
U2l6ZVJvdy5lbGVtZW50LmFwcGVuZENoaWxkKHByb3BlcnRpZXMub3V0bGluZU9mZnNldC5lbGVt
ZW50KTsKIAogICAgICAgICBsZXQgb3V0bGluZVN0eWxlUm93ID0gbmV3IFdlYkluc3BlY3Rvci5E
ZXRhaWxzU2VjdGlvblJvdzsKIAotICAgICAgICBwcm9wZXJ0aWVzLm91dGxpbmVTdHlsZSA9IG5l
dyBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVLZXl3b3JkUGlja2VyKCJvdXRsaW5lLXN0eWxlIiAs
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU3R5bGUiKSwgdGhpcy5fa2V5d29yZHMuYm9yZGVyU3R5
bGUpOwogICAgICAgICBwcm9wZXJ0aWVzLm91dGxpbmVDb2xvciA9IG5ldyBXZWJJbnNwZWN0b3Iu
VmlzdWFsU3R5bGVDb2xvclBpY2tlcigib3V0bGluZS1jb2xvciIsIFdlYkluc3BlY3Rvci5VSVN0
cmluZygiQ29sb3IiKSk7CisgICAgICAgIHByb3BlcnRpZXMub3V0bGluZU9mZnNldCA9IG5ldyBX
ZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVOdW1iZXJJbnB1dEJveCgib3V0bGluZS1vZmZzZXQiLCBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk9mZnNldCIpLCB0aGlzLl9rZXl3b3Jkcy5kZWZhdWx0cywg
dGhpcy5fdW5pdHMuZGVmYXVsdHMsIHRydWUpOwogCi0gICAgICAgIG91dGxpbmVTdHlsZVJvdy5l
bGVtZW50LmFwcGVuZENoaWxkKHByb3BlcnRpZXMub3V0bGluZVN0eWxlLmVsZW1lbnQpOwogICAg
ICAgICBvdXRsaW5lU3R5bGVSb3cuZWxlbWVudC5hcHBlbmRDaGlsZChwcm9wZXJ0aWVzLm91dGxp
bmVDb2xvci5lbGVtZW50KTsKKyAgICAgICAgb3V0bGluZVN0eWxlUm93LmVsZW1lbnQuYXBwZW5k
Q2hpbGQocHJvcGVydGllcy5vdXRsaW5lT2Zmc2V0LmVsZW1lbnQpOwogCiAgICAgICAgIGdyb3Vw
LmF1dG9jb21wbGV0ZUNvbXBhdGlibGVQcm9wZXJ0aWVzID0gW3Byb3BlcnRpZXMub3V0bGluZUNv
bG9yXTsKIAogICAgICAgICBsZXQgb3V0bGluZUdyb3VwID0gbmV3IFdlYkluc3BlY3Rvci5EZXRh
aWxzU2VjdGlvbkdyb3VwKFtvdXRsaW5lU2l6ZVJvdywgb3V0bGluZVN0eWxlUm93XSk7CiAgICAg
ICAgIHRoaXMuX3BvcHVsYXRlU2VjdGlvbihncm91cCwgW291dGxpbmVHcm91cF0pOworCisgICAg
ICAgIGxldCBhbGxvd2VkT3V0bGluZVZhbHVlcyA9IFsic29saWQiLCAiZGFzaGVkIiwgImRvdHRl
ZCIsICJkb3VibGUiLCAiZ3Jvb3ZlIiwgImluc2V0IiwgIm91dHNldCIsICJyaWRnZSJdOworICAg
ICAgICBwcm9wZXJ0aWVzLm91dGxpbmVXaWR0aC5hZGREZXBlbmRlbmN5KCJvdXRsaW5lLXN0eWxl
IiwgYWxsb3dlZE91dGxpbmVWYWx1ZXMpOworICAgICAgICBwcm9wZXJ0aWVzLm91dGxpbmVDb2xv
ci5hZGREZXBlbmRlbmN5KCJvdXRsaW5lLXN0eWxlIiwgYWxsb3dlZE91dGxpbmVWYWx1ZXMpOwog
ICAgIH0KIAogICAgIF9wb3B1bGF0ZUJveFNoYWRvd1NlY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVQcm9wZXJ0
eUVkaXRvci5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9W
aXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLmNzcwppbmRleCA4MTg4NmMzLi43OTQyYmFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxT
dHlsZVByb3BlcnR5RWRpdG9yLmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yLmNzcwpAQCAtMzQsNyArMzQs
MTIgQEAKICAgICB0ZXh0LWFsaWduOiByaWdodDsKIH0KIAotLnZpc3VhbC1zdHlsZS1wcm9wZXJ0
eS1jb250YWluZXIgPiAudmlzdWFsLXN0eWxlLXByb3BlcnR5LXRpdGxlID4gLnByb3BlcnR5LXJl
ZmVyZW5jZS1pbmZveworLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIubGF5b3V0LXJl
dmVyc2VkID4gLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS10aXRsZSB7CisgICAgb3JkZXI6IDI7Cisg
ICAgdGV4dC1hbGlnbjogbGVmdDsKK30KKworLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWlu
ZXIgPiAudmlzdWFsLXN0eWxlLXByb3BlcnR5LXRpdGxlID4gLnByb3BlcnR5LXJlZmVyZW5jZS1p
bmZvIHsKICAgICBjdXJzb3I6IGhlbHA7CiB9CiAKQEAgLTQyLDExICs0NywzNyBAQAogICAgIG9w
YWNpdHk6IDAuNzsKIH0KIAorLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIgPiAudmlz
dWFsLXN0eWxlLXByb3BlcnR5LWVkaXRvci13YXJuaW5nIHsKKyAgICBkaXNwbGF5OiBub25lOwor
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICBvcmRlcjogMTsKKyAgICB0b3A6IDVweDsKKyAg
ICB3aWR0aDogMTBweDsKKyAgICBoZWlnaHQ6IDEwcHg7CisgICAgbWFyZ2luLXJpZ2h0OiA0cHg7
CisgICAgY29udGVudDogIiI7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL0ltYWdlcy9X
YXJuaW5nLnN2Zyk7Cit9CisKKy52aXN1YWwtc3R5bGUtcHJvcGVydHktY29udGFpbmVyLmxheW91
dC1yZXZlcnNlZCA+IC52aXN1YWwtc3R5bGUtcHJvcGVydHktZWRpdG9yLXdhcm5pbmcgeworICAg
IG1hcmdpbi1yaWdodDogMDsKKyAgICBtYXJnaW4tbGVmdDogNHB4OworfQorCisudmlzdWFsLXN0
eWxlLXByb3BlcnR5LWNvbnRhaW5lciA+IC52aXN1YWwtc3R5bGUtcHJvcGVydHktZWRpdG9yLXdh
cm5pbmcubWlzc2luZy1kZXBlbmRlbmN5IHsKKyAgICBkaXNwbGF5OiBibG9jazsKK30KKwogLnZp
c3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIgPiAudmlzdWFsLXN0eWxlLXByb3BlcnR5LXZh
bHVlLWNvbnRhaW5lciB7CiAgICAgZmxleDogMTsKKyAgICBvcmRlcjogMjsKICAgICBwb3NpdGlv
bjogcmVsYXRpdmU7CiB9CiAKKy52aXN1YWwtc3R5bGUtcHJvcGVydHktY29udGFpbmVyLmxheW91
dC1yZXZlcnNlZCA+IC52aXN1YWwtc3R5bGUtcHJvcGVydHktdmFsdWUtY29udGFpbmVyIHsKKyAg
ICBvcmRlcjogMDsKK30KKwogLnZpc3VhbC1zdHlsZS1wcm9wZXJ0eS1jb250YWluZXIuZGlzYWJs
ZWQgPiAudmlzdWFsLXN0eWxlLXByb3BlcnR5LXZhbHVlLWNvbnRhaW5lciB7CiAgICAgcG9pbnRl
ci1ldmVudHM6IG5vbmU7CiAgICAgb3BhY2l0eTogMC40OwpAQCAtNjcsMTEgKzk4LDYgQEAKICAg
ICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50OwogfQogCi0udmlzdWFsLXN0eWxlLXBy
b3BlcnR5LWNvbnRhaW5lci5sYXlvdXQtcmV2ZXJzZWQgPiAudmlzdWFsLXN0eWxlLXByb3BlcnR5
LXRpdGxlIHsKLSAgICBvcmRlcjogMjsKLSAgICB0ZXh0LWFsaWduOiBsZWZ0OwotfQotCiAudmlz
dWFsLXN0eWxlLXByb3BlcnR5LWNvbnRhaW5lciA+IC52aXN1YWwtc3R5bGUtcHJvcGVydHktdmFs
dWUtY29udGFpbmVyID4gLnZpc3VhbC1zdHlsZS1zcGVjaWFsLXByb3BlcnR5LXBsYWNlaG9sZGVy
IHsKICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgdG9wOiAycHg7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVByb3Bl
cnR5RWRpdG9yLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvci5qcwppbmRleCBmYzg5ZWVkLi5mMDRhYWI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxT
dHlsZVByb3BlcnR5RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IuanMKQEAgLTYyLDYgKzYyLDcg
QEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IgPSBjbGFzcyBWaXN1YWxT
dHlsZVByb3BlcnR5RWRpdG9yIGV4dGVuZHMKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg
ICAgICB0aGlzLl9wb3NzaWJsZVVuaXRzID0gcG9zc2libGVVbml0czsKICAgICAgICAgfQorICAg
ICAgICB0aGlzLl9kZXBlbmRlbmNpZXMgPSBuZXcgTWFwOwogCiAgICAgICAgIHRoaXMuX2VsZW1l
bnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgdGhpcy5fZWxlbWVu
dC5jbGFzc0xpc3QuYWRkKCJ2aXN1YWwtc3R5bGUtcHJvcGVydHktY29udGFpbmVyIiwgY2xhc3NO
YW1lKTsKQEAgLTMyMyw2ICszMjQsOCBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVQcm9wZXJ0
eUVkaXRvciA9IGNsYXNzIFZpc3VhbFN0eWxlUHJvcGVydHlFZGl0b3IgZXh0ZW5kcwogCiAgICAg
ICAgIHRoaXMuX2xhc3RWYWx1ZSA9IHRoaXMuc3ludGhlc2l6ZWRWYWx1ZTsKICAgICAgICAgdGhp
cy5kaXNhYmxlZCA9IGZhbHNlOworCisgICAgICAgIHRoaXMuX2NoZWNrRGVwZW5kZW5jaWVzKCk7
CiAgICAgfQogCiAgICAgcmVzZXRFZGl0b3JWYWx1ZXModmFsdWUpCkBAIC0zOTYsNiArMzk5LDIz
IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9yID0gY2xhc3MgVmlzdWFs
U3R5bGVQcm9wZXJ0eUVkaXRvciBleHRlbmRzCiAgICAgICAgIHJldHVybiB0aGlzLl92YWx1ZUlz
U3VwcG9ydGVkQWR2YW5jZWRVbml0KHVuaXQpOwogICAgIH0KIAorICAgIGFkZERlcGVuZGVuY3ko
cHJvcGVydHlOYW1lcywgcHJvcGVydHlWYWx1ZXMpCisgICAgeworICAgICAgICBpZiAoIXByb3Bl
cnR5TmFtZXMgfHwgIXByb3BlcnR5TmFtZXMubGVuZ3RoIHx8ICFwcm9wZXJ0eVZhbHVlcyB8fCAh
cHJvcGVydHlWYWx1ZXMubGVuZ3RoKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlm
ICghQXJyYXkuaXNBcnJheShwcm9wZXJ0eU5hbWVzKSkKKyAgICAgICAgICAgIHByb3BlcnR5TmFt
ZXMgPSBbcHJvcGVydHlOYW1lc107CisKKyAgICAgICAgZm9yIChsZXQgcHJvcGVydHkgb2YgcHJv
cGVydHlOYW1lcykKKyAgICAgICAgICAgIHRoaXMuX2RlcGVuZGVuY2llcy5zZXQocHJvcGVydHks
IHByb3BlcnR5VmFsdWVzKTsKKworICAgICAgICBpZiAoIXRoaXMuX3dhcm5pbmdFbGVtZW50KSB7
CisgICAgICAgICAgICB0aGlzLl93YXJuaW5nRWxlbWVudCA9IHRoaXMuX2VsZW1lbnQuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpOworICAgICAgICAgICAgdGhpcy5f
d2FybmluZ0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgidmlzdWFsLXN0eWxlLXByb3BlcnR5LWVkaXRv
ci13YXJuaW5nIik7CisgICAgICAgIH0KKyAgICB9CisKICAgICAvLyBQcm90ZWN0ZWQKIAogICAg
IGdldCBjb250ZW50RWxlbWVudCgpCkBAIC00NzQsNiArNDk0LDggQEAgV2ViSW5zcGVjdG9yLlZp
c3VhbFN0eWxlUHJvcGVydHlFZGl0b3IgPSBjbGFzcyBWaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9y
IGV4dGVuZHMKICAgICAgICAgdGhpcy5faWdub3JlTmV4dFVwZGF0ZSA9IHRydWU7CiAgICAgICAg
IHRoaXMuX3NwZWNpYWxQcm9wZXJ0eVBsYWNlaG9sZGVyRWxlbWVudC5oaWRkZW4gPSB0cnVlOwog
CisgICAgICAgIHRoaXMuX2NoZWNrRGVwZW5kZW5jaWVzKCk7CisKICAgICAgICAgdGhpcy5kaXNw
YXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlUHJvcGVydHlFZGl0
b3IuRXZlbnQuVmFsdWVEaWRDaGFuZ2UpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CkBA
IC00OTUsNiArNTE3LDM3IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVByb3BlcnR5RWRpdG9y
ID0gY2xhc3MgVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvciBleHRlbmRzCiAgICAgICAgIHJldHVy
biBsb25naGFuZFRleHQgPyB0ZXh0LnJlcGxhY2Uoc2hvcnRoYW5kLnRleHQsIGxvbmdoYW5kVGV4
dCkgOiB0ZXh0OwogICAgIH0KIAorICAgIF9oYXNNdWx0aXBsZUNvbmZsaWN0aW5nVmFsdWVzKCkK
KyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9oYXNNdWx0aXBsZVByb3BlcnRpZXMgJiYgIXRo
aXMuX3NwZWNpYWxQcm9wZXJ0eVBsYWNlaG9sZGVyRWxlbWVudC5oaWRkZW47CisgICAgfQorCisg
ICAgX2NoZWNrRGVwZW5kZW5jaWVzKCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5fZGVwZW5k
ZW5jaWVzLnNpemUgfHwgIXRoaXMuX3N0eWxlIHx8ICF0aGlzLnN5bnRoZXNpemVkVmFsdWUpIHsK
KyAgICAgICAgICAgIGlmICh0aGlzLl93YXJuaW5nRWxlbWVudCkKKyAgICAgICAgICAgICAgICB0
aGlzLl93YXJuaW5nRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKCJtaXNzaW5nLWRlcGVuZGVuY3ki
KTsKKworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgbGV0IHRpdGxl
ID0gIiI7CisKKyAgICAgICAgLy8gRklYTUU6IDxodHRwczovL3dlYmtpdC5vcmcvYi8xNTI0OTc+
IEFycm93IGZ1bmN0aW9uczogInRoaXMiIGlzbid0IGxleGljYWxseSBib3VuZAorICAgICAgICBs
ZXQgZGVwZW5kZW5jaWVzID0gdGhpcy5fc3R5bGUubm9kZVN0eWxlcy5jb21wdXRlZFN0eWxlLnBy
b3BlcnRpZXMuZmlsdGVyKGZ1bmN0aW9uKHByb3BlcnR5KSB7CisgICAgICAgICAgICByZXR1cm4g
dGhpcy5fZGVwZW5kZW5jaWVzLmhhcyhwcm9wZXJ0eS5uYW1lKSB8fCB0aGlzLl9kZXBlbmRlbmNp
ZXMuaGFzKHByb3BlcnR5LmNhbm9uaWNhbE5hbWUpOworICAgICAgICB9LmJpbmQodGhpcykpOwor
CisgICAgICAgIGZvciAobGV0IHByb3BlcnR5IG9mIGRlcGVuZGVuY2llcykgeworICAgICAgICAg
ICAgbGV0IGRlcGVuZGVuY3lWYWx1ZXMgPSB0aGlzLl9kZXBlbmRlbmNpZXMuZ2V0KHByb3BlcnR5
Lm5hbWUpOworICAgICAgICAgICAgaWYgKCFkZXBlbmRlbmN5VmFsdWVzLmluY2x1ZGVzKHByb3Bl
cnR5LnZhbHVlKSkKKyAgICAgICAgICAgICAgICB0aXRsZSArPSAiXG4gIiArIHByb3BlcnR5Lm5h
bWUgKyAiOiAiICsgZGVwZW5kZW5jeVZhbHVlcy5qb2luKCIvIik7CisgICAgICAgIH0KKworICAg
ICAgICB0aGlzLl93YXJuaW5nRWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJtaXNzaW5nLWRlcGVu
ZGVuY3kiLCAhIXRpdGxlLmxlbmd0aCk7CisgICAgICAgIHRoaXMuX3dhcm5pbmdFbGVtZW50LnRp
dGxlID0gISF0aXRsZS5sZW5ndGggPyBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk1pc3NpbmcgRGVw
ZW5kZW5jaWVzOiVzIikuZm9ybWF0KHRpdGxlKSA6IG51bGw7CisgICAgfQorCiAgICAgX3RpdGxl
RWxlbWVudFByZXBhcmVGb3JDbGljayhldmVudCkKICAgICB7CiAgICAgICAgIHRoaXMuX3RpdGxl
RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJwcm9wZXJ0eS1yZWZlcmVuY2UtaW5mbyIsIGV2ZW50
LnR5cGUgPT09ICJrZXlkb3duIiAmJiBldmVudC5hbHRLZXkpOwpAQCAtNTI2LDExICs1NzksNiBA
QCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVQcm9wZXJ0eUVkaXRvciA9IGNsYXNzIFZpc3VhbFN0
eWxlUHJvcGVydHlFZGl0b3IgZXh0ZW5kcwogICAgICAgICAgICAgdGhpcy5fc2hvd1Byb3BlcnR5
SW5mb1BvcG92ZXIoKTsKICAgICB9CiAKLSAgICBfaGFzTXVsdGlwbGVDb25mbGljdGluZ1ZhbHVl
cygpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5faGFzTXVsdGlwbGVQcm9wZXJ0aWVzICYm
ICF0aGlzLl9zcGVjaWFsUHJvcGVydHlQbGFjZWhvbGRlckVsZW1lbnQuaGlkZGVuOwotICAgIH0K
LQogICAgIF9zaG93UHJvcGVydHlJbmZvUG9wb3ZlcigpCiAgICAgewogICAgICAgICBpZiAoIXRo
aXMuX2hhc1Byb3BlcnR5UmVmZXJlbmNlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rpb24uanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVj
dG9yU2VjdGlvbi5qcwppbmRleCBiYTQyYWFjLi4yMmE2MDQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yU2Vj
dGlvbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9W
aXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbi5qcwpAQCAtOTcsNyArOTcsNiBAQCBXZWJJbnNwZWN0
b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rpb24gPSBjbGFzcyBWaXN1YWxTdHlsZVNlbGVjdG9y
U2VjdGlvbiBleHRlbgogCiAgICAgICAgIGZ1bmN0aW9uIGNyZWF0ZVNlbGVjdG9ySXRlbShzdHls
ZSwgdGl0bGUsIHN1YnRpdGxlKSB7CiAgICAgICAgICAgICBsZXQgc2VsZWN0b3IgPSBuZXcgV2Vi
SW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbSh0aGlzLCBzdHlsZSwgdGl0bGUs
IHN1YnRpdGxlKTsKLSAgICAgICAgICAgIHNlbGVjdG9yLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbS5FdmVudC5TdHlsZVRleHRSZXNldCwg
dGhpcy5fc3R5bGVUZXh0UmVzZXQsIHRoaXMpOwogICAgICAgICAgICAgc2VsZWN0b3IuYWRkRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLkV2ZW50
LkNoZWNrYm94Q2hhbmdlZCwgdGhpcy5fdHJlZUVsZW1lbnRDaGVja2JveFRvZ2dsZWQsIHRoaXMp
OwogICAgICAgICAgICAgdGhpcy5fc2VsZWN0b3JzLmFwcGVuZENoaWxkKHNlbGVjdG9yKTsKIApA
QCAtMjU3LDExICsyNTYsNiBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rp
b24gPSBjbGFzcyBWaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbiBleHRlbgogICAgICAgICB0aGlz
LmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3Rv
clNlY3Rpb24uRXZlbnQuU2VsZWN0b3JDaGFuZ2VkKTsKICAgICB9CiAKLSAgICBfc3R5bGVUZXh0
UmVzZXQoKQotICAgIHsKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2Vi
SW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uLkV2ZW50LlN0eWxlVGV4dENoYW5n
ZWQpOwotICAgIH0KLQogICAgIF9hZGROZXdSdWxlKGV2ZW50KQogICAgIHsKICAgICAgICAgaWYg
KCF0aGlzLl9ub2RlU3R5bGVzIHx8IHRoaXMuX25vZGVTdHlsZXMubm9kZS5pc0luU2hhZG93VHJl
ZSgpKQpAQCAtMzMxLDYgKzMyNSw1IEBAIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVNlbGVjdG9y
U2VjdGlvbiA9IGNsYXNzIFZpc3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uIGV4dGVuCiBXZWJJbnNw
ZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rpb24uTGFzdFNlbGVjdGVkUnVsZVN5bWJvbCA9
IFN5bWJvbCgidmlzdWFsLXN0eWxlLXNlbGVjdG9yLXNlY3Rpb24tbGFzdC1zZWxlY3RlZC1ydWxl
Iik7CiAKIFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbi5FdmVudCA9IHsK
LSAgICBTZWxlY3RvckNoYW5nZWQ6ICJ2aXN1YWwtc3R5bGUtc2VsZWN0b3Itc2VjdGlvbi1zZWxl
Y3Rvci1jaGFuZ2VkIiwKLSAgICBTdHlsZVRleHRDaGFuZ2VkOiAidmlzdWFsLXN0eWxlLXNlbGVj
dG9yLXNlY3Rpb24tc3R5bGUtdGV4dC1jaGFuZ2VkIgorICAgIFNlbGVjdG9yQ2hhbmdlZDogInZp
c3VhbC1zdHlsZS1zZWxlY3Rvci1zZWN0aW9uLXNlbGVjdG9yLWNoYW5nZWQiCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHls
ZVNlbGVjdG9yVHJlZUl0ZW0uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0uanMKaW5kZXggYWVkNzllOS4uMWNi
ZDFkZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1Zpc3VhbFN0eWxlU2VsZWN0b3JUcmVlSXRlbS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0uanMK
QEAgLTE0Niw3ICsxNDYsNiBAQCBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJ
dGVtID0gY2xhc3MgVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtIGV4dAogICAgICAgICBpZiAo
dGhpcy5yZXByZXNlbnRlZE9iamVjdC5tb2RpZmllZCkgewogICAgICAgICAgICAgY29udGV4dE1l
bnUuYXBwZW5kSXRlbShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlc2V0IiksICgpID0+IHsKICAg
ICAgICAgICAgICAgICB0aGlzLnJlcHJlc2VudGVkT2JqZWN0LnJlc2V0VGV4dCgpOwotICAgICAg
ICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5WaXN1
YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0uRXZlbnQuU3R5bGVUZXh0UmVzZXQpOwogICAgICAgICAg
ICAgfSk7CiAgICAgICAgIH0KIApAQCAtMjgyLDYgKzI4MSw1IEBAIFdlYkluc3BlY3Rvci5WaXN1
YWxTdHlsZVNlbGVjdG9yVHJlZUl0ZW0gPSBjbGFzcyBWaXN1YWxTdHlsZVNlbGVjdG9yVHJlZUl0
ZW0gZXh0CiB9OwogCiBXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclRyZWVJdGVtLkV2
ZW50ID0gewotICAgIFN0eWxlVGV4dFJlc2V0OiAidmlzdWFsLXN0eWxlLXNlbGVjdG9yLWl0ZW0t
c3R5bGUtdGV4dC1yZXNldCIsCiAgICAgQ2hlY2tib3hDaGFuZ2VkOiAidmlzdWFsLXN0eWxlLXNl
bGVjdG9yLWl0ZW0tY2hlY2tib3gtY2hhbmdlZCIKIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>