<?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>93090</bug_id>
          
          <creation_ts>2012-08-03 04:52:05 -0700</creation_ts>
          <short_desc>Web Inspector: requests filtering in network tab</short_desc>
          <delta_ts>2012-08-17 03:55:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Chadnov">chadnov</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>686572</commentid>
    <comment_count>0</comment_count>
      <attachid>156327</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-03 04:52:05 -0700</bug_when>
    <thetext>Created attachment 156327
Screenshot

In network tab search is replaced with filtering</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686575</commentid>
    <comment_count>1</comment_count>
      <attachid>156328</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-03 04:56:12 -0700</bug_when>
    <thetext>Created attachment 156328
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686589</commentid>
    <comment_count>2</comment_count>
      <attachid>156328</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-03 05:20:52 -0700</bug_when>
    <thetext>Comment on attachment 156328
Patch

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

Please provide a ChangeLog and fix style.

&gt; Source/WebCore/WebCore.gypi:11
&gt; +            &apos;Modules/geolocation/Geoposition.h&apos;,

Why did it move?

&gt; Source/WebCore/WebCore.vcproj/WebCore.vcproj:2520
&gt; +

Please remove these extra lines

&gt; Source/WebCore/inspector/front-end/FilterController.js:2
&gt; + * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. Copyright (C)

2012 only. Please use Google copyright. See SettingsScreen.js for an example.

&gt; Source/WebCore/inspector/front-end/FilterController.js:33
&gt; +WebInspector.FilterController = function() {

Wrong indent.

&gt; Source/WebCore/inspector/front-end/FilterController.js:34
&gt; +  this._element = document.createElement(&quot;table&quot;);

I don&apos;t think you need to use table for such a simple component.

&gt; Source/WebCore/inspector/front-end/FilterController.js:39
&gt; +  this._secondRowElement = this._element.createChild(&quot;tr&quot;, &quot;hidden&quot;);

Please remove this second row element, you don&apos;t need it here.

&gt; Source/WebCore/inspector/front-end/FilterController.js:47
&gt; +  this._filterInputElement.addEventListener(&quot;mousedown&quot;, null, false);

What&apos;s the point?

&gt; Source/WebCore/inspector/front-end/FilterController.js:60
&gt; +

Remove this line

&gt; Source/WebCore/inspector/front-end/FilterController.js:70
&gt; +    

One line between methods, please.

&gt; Source/WebCore/inspector/front-end/FilterController.js:79
&gt; +    _onKeyDown : function(event) {

No space before :

&gt; Source/WebCore/inspector/front-end/FilterController.js:83
&gt; +        WebInspector.setCurrentFocusElement(WebInspector.previousFocusElement());

I don&apos;t think you saved previous focus element, so it makes no sense to set it back.
You should save it in showFilterField

&gt; Source/WebCore/inspector/front-end/FilterController.js:100
&gt; +    showFilterField : function() {

Ditto

&gt; Source/WebCore/inspector/front-end/FilterController.js:111
&gt; +      if (event.keyIdentifier === &quot;U+0046&quot;) {

What is that? Please add an inline comment.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:51
&gt; +    this._isRequestVisible = new Map();

This field needs a better name.
I would actually call it _filteredOutRequests and store only requests that were filtered out.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:441
&gt; +    _filterByContent: function(content){

Weird indent (4 spaces indent in webkit)

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:444
&gt; +        node.element.removeStyleClass(&quot;hidden&quot;);

I wouldn&apos;t use global hidden class here since it says nothing about the reason why the row is not visible. I would add .network-log-grid.data-grid tr.filtered-out instead

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:446
&gt; +        if (node.element.children[0].innerText.indexOf(content)==-1){

Please add spaces near ==.
Also we use === in WebInspector.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1143
&gt; +//    performSearch: function(searchQuery)

Please remove commented out code.

&gt; Source/WebCore/inspector/front-end/SearchController.js:158
&gt; +      if (typeof WebInspector.inspectorView.currentPanel().performSearch !== &quot;function&quot;)

Weird indent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>686757</commentid>
    <comment_count>3</comment_count>
      <attachid>156384</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-03 08:14:33 -0700</bug_when>
    <thetext>Created attachment 156384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>687824</commentid>
    <comment_count>4</comment_count>
      <attachid>156384</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-06 00:35:32 -0700</bug_when>
    <thetext>Comment on attachment 156384
Patch

Please make sure you address all the review comments. Also please rebaseline your patch so that bots could try it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688070</commentid>
    <comment_count>5</comment_count>
      <attachid>156677</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-06 06:16:38 -0700</bug_when>
    <thetext>Created attachment 156677
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688081</commentid>
    <comment_count>6</comment_count>
      <attachid>156677</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-06 06:28:41 -0700</bug_when>
    <thetext>Comment on attachment 156677
Patch

Please make sure you address all the review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688099</commentid>
    <comment_count>7</comment_count>
      <attachid>156685</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-06 07:06:11 -0700</bug_when>
    <thetext>Created attachment 156685
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688118</commentid>
    <comment_count>8</comment_count>
      <attachid>156685</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-06 07:33:47 -0700</bug_when>
    <thetext>Comment on attachment 156685
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        A new feature added: filtering in the network panel.

This line should be equal to the bug summary.

&gt; Source/WebCore/ChangeLog:5
&gt; +        Reviewed by NOBODY (OOPS!).

Please add a blank line before this line.

&gt; Source/WebCore/ChangeLog:6
&gt; +

Please add a change description here. See previous changes&apos;s ChangeLogs for the reference

&gt; Source/WebCore/inspector/front-end/FilterController.js:5
&gt; + * modification, are permitted provided that the following conditions are met: *

Please fix formatting of the license text, there should be new lines before &apos;*&apos;. It should look the same as in the other files.

&gt; Source/WebCore/inspector/front-end/FilterController.js:33
&gt; +    this._element.cellSpacing = 0;

Please remove this.

&gt; Source/WebCore/inspector/front-end/FilterController.js:35
&gt; +    // Column 1

Please remove these comments.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:-754
&gt; -

Please revert this change.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1757
&gt; +        if (!this._parentView._hiddenCategories.all &amp;&amp; !this._parentView._filteredOutRequests.get(this._request))

It is enough to look at _filteredOutRequests once.

if (this._parentView._filteredOutRequests.get(this._request))
    return true;
if (!this._parentView._hiddenCategories.all)
    return false;
return this._request.type.name() in this._parentView._hiddenCategories;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688140</commentid>
    <comment_count>9</comment_count>
      <attachid>156696</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-06 08:00:00 -0700</bug_when>
    <thetext>Created attachment 156696
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688164</commentid>
    <comment_count>10</comment_count>
      <attachid>156696</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-06 08:52:40 -0700</bug_when>
    <thetext>Comment on attachment 156696
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        No new tests (OOPS!).

Please remove this line (and 1 blank line).

&gt; Source/WebCore/inspector/front-end/FilterController.js:50
&gt; +    cancelFilter: function() {

Here and everywhere: we put open bracket { to the next line after the function name.

&gt; Source/WebCore/inspector/front-end/FilterController.js:60
&gt; +    _performFilter: function(query) {

Please add compiler annotations to this function.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:443
&gt; +        for(var i = 0; i &lt; this._dataGrid.rootNode().children.length; ++i){

Please add space after for and a space before bracket.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:447
&gt; +            if (node.element.children[0].innerText.indexOf(content) === -1){

Please use createPlainTextSearchRegex like it is done in performSearch.
Also a space before bracket please.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1175
&gt; +    performFilter: function(query) {

Please add compiler annotations to this function.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1442
&gt; +    performFilter: function(query){

Please add compiler annotations to this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688972</commentid>
    <comment_count>11</comment_count>
      <attachid>156897</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-07 02:12:42 -0700</bug_when>
    <thetext>Created attachment 156897
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688983</commentid>
    <comment_count>12</comment_count>
      <attachid>156897</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-07 02:30:58 -0700</bug_when>
    <thetext>Comment on attachment 156897
Patch

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

&gt; Source/WebCore/inspector/front-end/FilterController.js:38
&gt; +    this._filterControlElement = this._element.createChild(&quot;span&quot;, &quot;toolbar-filter-control&quot;);

This element is redundant.

&gt; Source/WebCore/inspector/front-end/FilterController.js:59
&gt; +        this._performFilter(&apos;&apos;);

Please use double quotes.

&gt; Source/WebCore/inspector/front-end/FilterController.js:60
&gt; +        this._filterInputElement.value = &apos;&apos;;

Please use double quotes.

&gt; Source/WebCore/inspector/front-end/FilterController.js:63
&gt; +    _performFilter: function(query) 

Compiler annotations please.

&gt; Source/WebCore/inspector/front-end/FilterController.js:66
&gt; +        if (typeof currentPanel.performFilter === &apos;function&apos;)

Please use double quotes.

&gt; Source/WebCore/inspector/front-end/FilterController.js:78
&gt; +            return false;

return;

&gt; Source/WebCore/inspector/front-end/FilterController.js:81
&gt; +        if (isEnterKey(event)) {

No need to handle enter since we perform filtering on input event anyway.

&gt; Source/WebCore/inspector/front-end/FilterController.js:104
&gt; +        var isMac = WebInspector.isMac();

isMac is used only once, please inline.

&gt; Source/WebCore/inspector/front-end/FilterController.js:107
&gt; +                var isFindKey = event.metaKey &amp;&amp; !event.ctrlKey &amp;&amp; !event.altKey &amp;&amp; !event.shiftKey;

isFilterKey

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:447
&gt; +            this._filteredOutRequests.put(this._requests[i], true);

Just clear the map before the loop and fill it with non matching requests below.
Otherwise it looks confusing: you remove &quot;hidden&quot; style and mark request as filtered out at the same time.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:448
&gt; +            if (!_match)

_match is never defined and is probably redundant.
Also wrong indent here and below.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:450
&gt; +                node.element.addStyleClass(&quot;hidden&quot;);

I wouldn&apos;t use global hidden class here since it says nothing about the reason why the row is not visible. I would add .network-log-grid.data-grid tr.filtered-out instead

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1174
&gt; +        this.performFilter(&apos;&apos;);

Please use double quotes.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1181
&gt; +        this._filterByContent(query);

What is the difference between performFilter and filterByContent? There is no need to extract one from another.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1450
&gt; +    performFilter: function(query){

Compiler annotations please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689039</commentid>
    <comment_count>13</comment_count>
      <attachid>156911</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-07 04:36:24 -0700</bug_when>
    <thetext>Created attachment 156911
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689069</commentid>
    <comment_count>14</comment_count>
      <attachid>156911</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-07 05:39:04 -0700</bug_when>
    <thetext>Comment on attachment 156911
Patch

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

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:-1554
&gt; -        // of a specific event. If startAtZero is set, then this is useless, and we

Why did this change?
Please revert weird formatting changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689077</commentid>
    <comment_count>15</comment_count>
      <attachid>156920</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-07 05:51:40 -0700</bug_when>
    <thetext>Created attachment 156920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689089</commentid>
    <comment_count>16</comment_count>
      <attachid>156920</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-07 06:10:47 -0700</bug_when>
    <thetext>Comment on attachment 156920
Patch

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

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1169
&gt; +            node.element.removeStyleClass(&quot;filtered-out&quot;);

I&apos;d move this below:

if (node._request.displayName.match(filterRegExp)) 
    node.element.removeStyleClass(&quot;filtered-out&quot;);
else {
    node.element.addStyleClass(&quot;filtered-out&quot;);
    this._filteredOutRequests.put(this._requests[i], true);
}

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1445
&gt; +    performFilter: function(query){

Annotations are still missing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691353</commentid>
    <comment_count>17</comment_count>
      <attachid>156920</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-09 01:46:48 -0700</bug_when>
    <thetext>Comment on attachment 156920
Patch

As discussed offline let&apos;s get rid of FilterController and implement filtering as a checkbox on search pane.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>694759</commentid>
    <comment_count>18</comment_count>
      <attachid>158281</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-14 03:33:52 -0700</bug_when>
    <thetext>Created attachment 158281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>694809</commentid>
    <comment_count>19</comment_count>
      <attachid>158293</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-14 04:38:51 -0700</bug_when>
    <thetext>Created attachment 158293
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>694917</commentid>
    <comment_count>20</comment_count>
      <attachid>158293</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-14 06:52:56 -0700</bug_when>
    <thetext>Comment on attachment 158293
Patch

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

Considering the scope of this patch the search controller change looks too complicated to me.
I think this complexity is the result of hiding inspector footer and showing again each time the checkbox state is changed.
We should update already shown footer instead.

&gt; Source/WebCore/inspector/front-end/InspectorView.js:85
&gt; +            WebInspector.searchController.panelChanged();

cancelSearch call should be enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695007</commentid>
    <comment_count>21</comment_count>
      <attachid>158338</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-14 08:34:20 -0700</bug_when>
    <thetext>Created attachment 158338
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695108</commentid>
    <comment_count>22</comment_count>
      <attachid>158360</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-14 10:17:10 -0700</bug_when>
    <thetext>Created attachment 158360
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695775</commentid>
    <comment_count>23</comment_count>
      <attachid>158360</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-14 23:51:25 -0700</bug_when>
    <thetext>Comment on attachment 158360
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        New feature: there are both search bar and filter bar in network tabw. One can swich them using checkbox &quot;filtering&quot;.

Please fix typos.

&gt; Source/WebCore/inspector/front-end/SearchController.js:46
&gt; +    this._firstRowElement.createChild(&quot;td&quot;);

Why is this needed?

&gt; Source/WebCore/inspector/front-end/SearchController.js:57
&gt; +  

Extra blank line.

&gt; Source/WebCore/inspector/front-end/SearchController.js:74
&gt; +    this._filterInputElement.addEventListener(&quot;keydown&quot;, this._onKeyDown.bind(this), true);

keydown handler has some search specific logic that should be treated carefully.

&gt; Source/WebCore/inspector/front-end/SearchController.js:79
&gt; +    this._secondRowElement.createChild(&quot;td&quot;);

Why is this needed?

&gt; Source/WebCore/inspector/front-end/SearchController.js:125
&gt; +  

Extra blank line.

&gt; Source/WebCore/inspector/front-end/SearchController.js:136
&gt; +    this._searchOrFilterQuery = &quot;&quot;;

unused

&gt; Source/WebCore/inspector/front-end/SearchController.js:255
&gt; +        this._performSearch(this._searchInputElement.value);

Please remove this line, we don&apos;t want to change search behavior.

&gt; Source/WebCore/inspector/front-end/SearchController.js:432
&gt; +            this._performSearch(this._filterInputElement.value, false, false);

Please use this._searchInputElement for consistency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695864</commentid>
    <comment_count>24</comment_count>
      <attachid>158532</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-15 02:39:01 -0700</bug_when>
    <thetext>Created attachment 158532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696877</commentid>
    <comment_count>25</comment_count>
      <attachid>158532</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-16 01:12:20 -0700</bug_when>
    <thetext>Comment on attachment 158532
Patch

As discussed please add match highlighting for filtering.
Please attach a screenshot for the new implementation also.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697010</commentid>
    <comment_count>26</comment_count>
      <attachid>158779</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-16 05:00:14 -0700</bug_when>
    <thetext>Created attachment 158779
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697018</commentid>
    <comment_count>27</comment_count>
      <attachid>158779</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-16 05:13:21 -0700</bug_when>
    <thetext>Comment on attachment 158779
Patch

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

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1072
&gt; +        this._highlightMatchedRequests([], false, &quot;&quot;);

&quot;&quot; doesn&apos;t look like a regexp to me. Please annotate new methods to make sure we catch such errors.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1106
&gt; +        if (regExp.test(&quot;&quot;))

I don&apos;t think this is needed.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1155
&gt; +                this._toggleLargerRequests();

This should be in highlight... method because it&apos;s needed both for search and filtering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697049</commentid>
    <comment_count>28</comment_count>
      <attachid>158792</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-16 06:05:43 -0700</bug_when>
    <thetext>Created attachment 158792
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697090</commentid>
    <comment_count>29</comment_count>
      <attachid>158807</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-16 07:06:16 -0700</bug_when>
    <thetext>Created attachment 158807
Screenshot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697093</commentid>
    <comment_count>30</comment_count>
      <attachid>158808</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-16 07:07:36 -0700</bug_when>
    <thetext>Created attachment 158808
Screenshot</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697205</commentid>
    <comment_count>31</comment_count>
      <attachid>158792</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-08-16 09:19:48 -0700</bug_when>
    <thetext>Comment on attachment 158792
Patch

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

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1072
&gt; +        this._highlightMatchedRequests([], false, createPlainTextSearchRegex(&quot;&quot;));

Let&apos;s always use ...ForSearch method for search.

&gt; Source/WebCore/inspector/front-end/NetworkPanel.js:1136
&gt; +    _highlightNthMatchedRequestForSearch: function(matchedRequestIndex, reveal, regExp)

Please remove regExp parameter here, for search it is always this._searchRegExp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697226</commentid>
    <comment_count>32</comment_count>
      <attachid>158841</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-16 09:46:29 -0700</bug_when>
    <thetext>Created attachment 158841
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697241</commentid>
    <comment_count>33</comment_count>
      <attachid>158848</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-16 10:00:45 -0700</bug_when>
    <thetext>Created attachment 158848
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698054</commentid>
    <comment_count>34</comment_count>
      <attachid>159048</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-17 01:53:45 -0700</bug_when>
    <thetext>Created attachment 159048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698085</commentid>
    <comment_count>35</comment_count>
      <attachid>159057</attachid>
    <who name="Pavel Chadnov">chadnov</who>
    <bug_when>2012-08-17 02:32:09 -0700</bug_when>
    <thetext>Created attachment 159057
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698167</commentid>
    <comment_count>36</comment_count>
      <attachid>159057</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-17 03:55:12 -0700</bug_when>
    <thetext>Comment on attachment 159057
Patch

Clearing flags on attachment: 159057

Committed r125879: &lt;http://trac.webkit.org/changeset/125879&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698168</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-17 03:55:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>156327</attachid>
            <date>2012-08-03 04:52:05 -0700</date>
            <delta_ts>2012-08-16 07:06:16 -0700</delta_ts>
            <desc>Screenshot</desc>
            <filename>Screenshot-1.png</filename>
            <type>image/png</type>
            <size>94453</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAABJMAAAHyCAIAAADQgRiLAAAAA3NCSVQICAjb4U/gAAAAGXRFWHRT
b2Z0d2FyZQBnbm9tZS1zY3JlZW5zaG907wO/PgAAIABJREFUeJzsnXd8VFX68J9zy9xpmZJkMgmZ
QBqplCSUBBACqIAFsIGufQX9Kbiu6Oourq+iq+K6tnXBhhWUVbBQVIpKQJBOQkkCpJCQnpkk08ut
5/1jIIQkhIBIyt7vh0+YuffcO+e55znlOc9zz0EOWxXIyLSBZVmKogiC6OmM/O5IkiQIAsMwPZ0R
GRkZGRkZGRkZma545umnqJ7Og0yvw+v1KZVKmu7/usHzQiAQkC03GRkZGRkZGRmZ3k//H53LXCg+
v5+kSJLs/z43XuB9fn8oGHs6IzIyMjIyMjIyMjLnQbbcZNrj9/tVSqVI0T2dkd8dgRf8fn9P50JG
RkZGRkZGRkbm/MiWm0x7Av4Ap+VpRf+33DieD/gD5zrrdDqPHiuVsEQQBMYYABAgDJhABEkSao0m
dtAgJUP/L7wQCAClBQV7Vv2XdXvSJk4efcMNJEUBgCiKOz7/fPRNN6u0mp7O4AXDcdzWbTtOVFbF
WAZcM/Wq/lSOGGNRFEmSRAgBgCRJtqamwqJjhw4XBgIcAOj12tEjsxIT4tRqNcYQVG9RElVKJUmS
PZx7GRkZGRkZmXMgW26dIEnS4SNF/gCHJUmURFGUWhFFScISxlgKHsSSJGFRFDHGSoaeOf3a4FCp
TxNgWZ7nsSR1nczj9R4vr9yyZXuTw0/SJEMrQsNCUlISkgbFWKIi+8T4j+f5AMue6+yx42UJyUM1
Gk2w6AWB53lBEASe51mWtVqtDndJUmJcqEFL9PkyPw8up/NY3maioV7J+qu2/xSTnm5JTQWAqvIT
lb9sSZmQ2xctt9q6+sqqWr0hrKHR5vX5QrTans7RJUMURafTxQsCliSMIcCyB/IPVlRWESRtjooW
BKG5ybpj5576Bmtc3CBJFEVRlCSMEKSmJKvVqp7OvoyMjIyMjEzndGW5ldQcKnJtdPNNAOccmSIA
RCBAgCWspcLSQqYlxwz/HfJ5WUEI1dY1ZI7MQQgRpyetEUIAqPVJBK01hAhRECRJIily04b1PZnp
S0cgEBB4QRDELtLU1NZ//+NWa7MrIiz8iuEJhlADCGJdbX3Zibo9ew9OnXTF8LTk3u/EEHghEOjc
54Yx5nnO5/UBBglLACBJEs/zoigG/yoUCqfT6fXzCkay1lclJsRe1qz/nmCMq2vqq6prq2vrWV7g
eJ77ed1E0jds5q0kSVZs3bT5yfkTXniT0ek3PfOXFF/Lnq+/mPH4X3s61xdGTW3df1etycwaOW3a
tC+/WFleXqlSa6pr6lxurygIarVSr9MNjBkQY4nqi3MxCKGy8hPmAbEqTYivpmblurVGU+Rtd94X
GR2j1mgkLLkdjvLSks9WfFpVa71h5kxRFDVa7bq13wwenNDTeW+Py+3Z+stulhcu7nKEEEmgK3PH
6HQhlzZjMjIyMjIyl59zWm6HK3a5En9MViURKOmMvQIYAE4bchghBIBbmpwsyxpCDWo90ez9rvBY
YMig7N87378rCCFJklJT0wRBYFmW4zidTsdxHMuyrdFHGo0mEAgEAgGtVqtQKCiK2rThu744yOtI
IMDyAi+dw+cmCMI363/6dX9h7sRJV00dnpwaTzMKzi9IooixKIjiieqT/121Zs33W//v7psjzeGX
OfMXBC/wgUDnPjeEEEKIIAlEIJqgGYbhOA4hxDAMy7Iej0ej0VitVpPJJEkSrdIVHz2elpp8mfN/
yRFF8URFTXllTWiYyePjjOHmsPCwo6+9MKxkZ0L2GM7tpiKjI5PSxzZU/fLQHQFMxYn2uOSUnft2
OGxzDKZeXdZtcTqdW3/5FRFUbW1tSUlJfMLgwqOlo7NHjxiVo9VqKYry+/12u6Oy8mTx8Yr42Oik
xNiezvKFQRCEJEnJKalKpXLZ99+lDsuafcfdPozsHraxxU9QpEplSBuZ8/+SUpa9/Z+q6qprrrkW
AHQ6XS9swTwer1Ktzc3ORggFozoxDnY9Zz60JXgw+BchJAjC3r17nW6PbLnJyMjIyPQDOrfcRFE8
4vghmTHXuA6z2IcBI0AIAAM+1U9iwCBhwPY6TuMYGqqO2VO6laWaQ9VR9UUfmZRxZnPEZZTi0hP0
F7W0tHi93uAiFh6Px+v1iqIIABjjiIgIl8vldrvDw8PVanVYWFjwVD+AZVmO40WpE3EEUfzP2ytL
Gz233363gtRQWm2tzR5wBQiECJKglKTT7vP5qfvu/+PmjXl/+8f7CxfckRhnufwidBOO49lzR0sC
AEmSDMO0tLT8/PPPgwcPjouL+/nnn8PCwhITE0mSFEVREISYmBhJkjDGZeUViQlxly3zl5xAgN2X
XyRKkDkiy+vxHiw4wEt4aEYGxfAD/KK3oUrVUIvCTNhgDIsalF5fVWVzBhC466uiGUPB5o2T7riz
pyXoLnq9PnP40ObmbS6no6SkJCcnJyEhoaysbO/ePQ0NDYEAGxYWGjNw4JC0NHVSQnFRsdXWPDJz
qFKp6OmMd5eg0aJUKjdv3lTv9v/p/tt5ESNRNCopkKSAzQYEIZnCjaGGu+6du/Tfr1oGRA8dPpzn
hXPN1/QgCCG32+12u202W3Nz83lty6B1F/xgMplomrbZbERqr/MlysjIyMjIXASdWG6SJPn9ARdn
84i8KAVIQBgjaBMxGewZESIDAa9YE/HH618mCMLuutXhbRJFocBaUFVd09cttyCtPrfKykoAEEVx
0KBBDofD5XJVVlYihIJj91443PktcDwvioIodiLUuh937iluuunWm1hBwYusyx+oq29iEIRolZwg
ID/V4mRdTn98vDkrc0RJWdOby9Y8s+COsFD95ZeiO4iiwPF8FwkIgqBpesOGDU1NTSNHjqQoimGY
devW3XvvvZGRkQzDBM31yMhIQRCQTidJmOibL73xvLBrb4Faq09IiN+27ZfCI0ciIiO1alVp5cnB
D/3NW1igttYKtlrsjie0BsYUpTWa6JaTARHsdk+0Ge366TvP9Blana6n5egu6WkpJEkeOHg0IyOj
rq5u69atoijGxsZOmjRJo9FYGxsryspXHjqYnJKSOyG3tLR81978K8aM7CubHGKMMcZFNdZte/Mn
T5gYYFkvy4IoAkFAU5NYXR2Snk4SKODnDGGhSelDf/hlZ1jycA8rwGmzp1chCILT6SwvL09KTqYJ
AMASRhIGURT9fr9CoVAqla0WHUEQCKHgqkKHDx+OiorqenZGRkZGRkamD3Eun5sgCZgXA6IEgDEg
jDAhIUwgRCkQz4mAEUUhAhCWTk9wAgDgRMswT4PU1HTysgnwu8IwTGhoKMbY6/UyjJKmKY7jVCoV
xtjj8QiCQJKkz+cLxtF5PJ6ezu+lIRBgOY7v6EKssNk+W7Vv2OgcnidYkVUyZMAVyB6aEG0OJUkS
Y+xwe4tO1JcL1l1HylLjB+Tm5uRtxZ+s2vLo/TN6RJDzwnHnjJZsRaFQ+Hy+nJwcs9ksimJ2dvbh
w4d5nicIwmAwrFy5kud5jUYTHx8/ePDgg/nFk3LHXp7MX0IwxkVHSwDRAwcOXPPtWr/fd9fddycm
Jtpstvfee99w6x80N90hff6e2FTNN9sYvVEZEWWMitE31vmdvFsE0e2N8uw/unvvqClX9bQo3YXj
uONl1bm5E6uqq37Zti0tPf2GG26WMNncbLfERlK2Zi42/ogk/vjDd99+++11111/7NixwuLjmcPT
ezrj3QUh5K0/qaCpgYMGBtwuPa2gjAYpwNpKS0S1RmM2UyRZb7O5nPbYhME7f9mixwE1TUDvi5YM
IgiCWq3OHD7c5hVFCZm1wFCIFdEPP/wQHx8/fPjwYHvVarYFP5SVlXUaUSkjIyMjI3P5cXs89ha7
0+ny+nwAoFGr9XqdMdR4QWukdW65YYwFAYOEiWBMJCCEMEUTHgdbV+K3JGmQKJ6s8EQnaZjopk9/
Xhiqiil3bymp2f/srB8lQLhXTtxeBIIgBDv+QCCgUNBeL1d89KjL6dRo1CEhIYIgUBQVdMu4XK6U
1CHfbfjJbAodNTKrpzP+mxAEXhBF6WzLTcLS1oNlmSNHunzg44UoNZ1iicoZGk8QmGU5jsMAEKJS
TByRZA7Xf7ftcKPV7fYIAV5TUFF3sPDEsNRBPSRNVwiiKAhd+dwA4PDhwy6Xy2QyBYeGSqXSbDYX
FBSEhYUZDIaBAwdSFIUx5nm+vLy8qanpsmT8EoMBio6Wj7ti3JYtWzDCDz70UHh4OMuyBoNh9KiR
x/L3ZUy/x7drE11XzdtqlTGxTHgEqPUqdYjC0+KXwBuQDDRXtH51X7HcJIxLy6v1emNzS/P2Hdtn
zLxBG2LYvWd/zphxITpDwCeRhUUuQNEZI+65d86qL1bm5W0ZO27c7p07hw1N7ysb1EsSdrW0cBLW
hIW7TlaJRYVIpUKIAKcdEuJJigBR4AJ+fUhIncNpt9sbamsA497pcwuaXiRJKmi0s4rcXgk5MWiE
BQ02kYAxQkihUPA835qsrf8N2sRPysjIyMjI9BT1DY319Q0+n6/1iNPlcrpcTc0tUVGRUZHmbt6n
82hJjIHnsSRiBIimkITB7+UrDjmsJz0eh2COsUicVPhLY02JKjpBI4T96gDenGL0SeGSgE6vYtLH
QQgABEGw2+2BQMBud5aVn/B6fSoFhRCh0+knTsxtd0V8fPyxY8e++eqLvm65sSzHc5zQxnILBPjS
ysYDv9Znjc4wU4wl2jhheNLACIMocAERJAyAESJA4ERR9CVbQm1p8R+v2R9p0lKU0hgxcMue8ogw
fXhYr1shgOc4luW6SCCK4v79+1taWqKiooIT+RqNxmw2b9iwYfz48bGxseHh4S0tLSRFIkAA6ETZ
cUmSev+imu04VnIiasCAuvr6mpqauXPnhoeHAwBN0yqV6qopV69ds7ak0Zrwhz+zry9Q2ap5a/2O
goKjtY08R0VgUCOo4sGeOnbU3Pk9LUd3qa6uKykrHzo868fNG5MGDzZHWrQhxvXr1lliYhIHx3lq
bJ6jRfrb7xMZRqFVXz/jhk8//qihviFyQPTx0rK05MSezv75CUZLCqIgIMQDkCFqfVxs1bdfA4Dl
hhsdBj2NsK2l2dpQx6iUTpZ1er3NTU291sJpzZiEidw47GLx98fx3lp4fQZF0VRwAxKKotr61oJP
IBjHLvvcZGRkZGR6lvqGxsrKKlHsZJ1kn89XWVkFAN003jqx3IIvOIm8JIkYI8LZzDWWu08WOwJ+
Ua2jEobrVBpKoMVBqXpbre/o7matURGfphdDCJHHnXeR1m8ffGBlTZsDhqkvvpu9es43V3/4wuhL
vImSt+j9t0quevzG+N+2mkAgwNbV1ZedqGhuamZZNkynGRo3IHJQjIfRe08ea2xytrS0AADDMA6H
IzhSp2na6XRw3NmWQM239z280krTNAAAz4Mp6+4nnp4e15vXOuA4juN4QTijXjUNzUeO1YWaIsor
nRGRofeMTIqPDK2trztw4CApeZQKoAgI8MDQyOqmhg9Lz0iOGzggwubwIJImaU29veV4hdWgb7NP
lHXTi6/lJzzw6G0JKgAA/sTHL2zO+MuDmR2NO/+JtauqR96eG31RG4Pz5Z+9tGHYkw8P63SPKo7j
25fX2ZAkeeutt7rd7oqKihEjRpAkGdzJ7cEHHxw+fPjBgwcdDoetqSnAskPS0gYMGKBQKM5huXGN
2z955cOtxx08aAbk3PTAozen957tw4qKjw1OSi0oKBg2bFh8fHzwYHDZFYqkJk+e/OXqr/RDh6NR
VxnKDuyos/+ojMyc+7ijvrbu15/UdptmaMY1Dz9iNre2OPafnpz/ZslZzkzLTW++lfX5fcvHvfvK
uO4LzuW/eNc3V79z29ZHLvDCrjlUeJSiGZu1gQ1wV101laK1KhVz7fUzN2z4/uHkhxu3bFRHWXwE
6W1qamxsiB1kiY2L27dv7/Dhw3ft3p+UMIiiztbFms/ve3iN9fQ3TdzE+QvnTzjPe77WH55+4u1C
yLg9pXL/hLdu2/rQpW4MJUkK1emA56obbWFIMI0e4di7E/O8OXtU87FSjmWt1sbUlCR9hKnsp18M
GnVMTPSePV2tscRVfHzfgh/jFy57Pvu8e/dxB567/6vpy55TvHnf8nHvPmtYeSnaZABgFNTBBuFQ
PU6PJEfGkAxNEogIVregeSaKooSxKEk8z2OMg0u1dHIjb8UPHy5bub3UwYMmbuztDz4wM/mSbUgY
VNpL37XJyMjIyPRN3B5PfX1D0GwLN5mbbI2tp4JfRVGor2/QajXdCZvszHKTRIyxxGOEJYyJI1sb
7FY/STFxw4yJwzRKFSVwIsEQwyaFe1r4qiJn9THXoV8aI2JCdJHSOSc3DWNffX9BSpuem8u/MLG7
i7f2SIXtt8RsNVptx0sqAwGxpKTEqNemx2eGR5vLeGZ9JVTvhQPNkORgrkzQRro9Qe9iU1MTRVEA
oFQqg+7KdijayM5VfPvIk2//lP2va3vxAi4ESQb9S61H6q1em0Owu1BigoHjUWOTxxKuQoh4/8NP
1Y4dgyORUYNK6sX4SMWHe82rPnsfS3x6QljePh+tUHIOP+bJqnrPmKw29gyBADz7/7t59BM3JqoA
CAIBEKgzk4dtLq93jCYu0o9FEAgQOtfVBEEQXe4YjhAKvtbo8/mCW3IjhEiSjIiIUCgUSUlJHMd5
nE6vy2WKidGo1RqtNqgM7bFufeXdygkvLHstTsNZ9y57+pVXLG93YwR8mXB7/ARB2O32yZMntx48
fvz4/v37r7/+er/fX1le5mLZ3OvvyX/1MDtq3MCBabzPOyhhsFWluG32jaIoBpehP/2YjVe9svIq
AKj59sGn6x59f/6pis/N/89C+iKGs4qki7zwXNjtjti4xPr6hojIiLBwE0HSggDJycklZaXfr1wV
e/IkmjHS31ioVXERoTwf8I3JttisVLiJNhqiT1YdVqtCo6LOXkTUMPHVU2LaD7zz5Atv/Zr1Qpd2
prf055qk5z7/+wjaa7+a1lRsvXTCnQEZovwu96GyssyUwWVV1d4hQyVBKK2osNubYqKjLAOidOHh
DoCjx4r1+vAWQeHlulhpiTuxcZ82M/rE17/as6cYu5eBUwXn3fob2+QgBEEggkowoXtDcGY0zdAI
AERJCrbDHo9PEASMcEuTzVZbRxIEIoimxkaDsWNmrWufW7Qhbv5rn482K7jG7Usff/4V45LnJnRT
KhkZGRkZmQvB3mIPBkmGm8zZY3NPlJccLTwIAKlDMuITkvbs3NZka/T5fPYW+0Vabiqlkg2wooBB
xBgwwxAkSUiC6GkOeFoURDgAxgSA4Mc+B+uxcxiDQkmqtIgkLiLcxnvk6zeXbqrlADRDZj354CRz
ySv3vQMpRkej1cYnXXuNoviXitpGLn3+C/PHGDtL/CGkaByNdpvXeO3Tz4w78c7qCqv3hcWxix8x
fLX4kwMO4MAw5sEn5md1t1suLC4ZEJMwZvxESms44iGWHYeCH+BkC9R6AfwAJOSVgPkWmDXJ3OLw
YoxjY2ODFzIM09Rk6/oReL0OAFpBdyJ4jHfv0vYZth/48M2l2+s4oM3Z9z750GjjmdncM7PaD37I
a+xF9uQn3l0Ye3z5m0u31HFAx0ye//e707Xd+pX20BRFn45BCuJ0C/6A5A8QZZWunNEJNMH6vD5R
EBQKhc5g1OpBowZdALR6WqvViKIYCHBGjURRDEHQAlBYQl6/2PaGQCDaOPzKiMNfbBj11KxBtEQg
QARJkqS/9OfPV+20CQCqxKvvuSW+8puf6uyBjz/VpdoPKf/4xAyz/+h7//hUNecfdydA5ZcvrU1Y
8Ofk2jWfryqw8kCHDpl+z6whurJPX1rDq9wnXIPueWICAkQQpFT93ZIPTo780wPjzW38JTRN0Z0a
WmcS0AihmJiYvLw8k8mUk5Pz8ccfkyRpNptdzc0VJSVDxowpPHToUH7+Q48+un3TJq7FUX6iMiE+
tv2NOK+XNkQYNACgiBh9z0I4AtBT5duJWnq8kiRxAq/VateuXTdhwnij0WixWH7dtevT5csDfv+w
YcMQQqU+Xrztsfi04Yl+38nKCl1ISKXPF3Qnt4tV6xSuZOmflo976+5fH+l+BT994SPBC8+q7DfG
KzqI3z2vjsvlpmnK6XRaYixNzQ6KYnQ6HSJg/ITxXy75tyV9uAdLasEWHWMRWJ+IsWXgQEEwSxJW
KNJqqiqPHa1ob7mdwTh0cprmtZLagl//ubxNwbUt6DnRvyz+5LjD8cbTSx+73fv66nFv3XaqHC5J
aQIAQoggkDFENToz48d131iGPKfTKMOG6RiEgePCk1PUGi0Zom0C+Hl/Yd6q/869b264XkuT535F
mStdu4e+cuHtx5//5KeaKbMsbT1Lp3R1cZZ31zsvLd3jVRijLV7+dIkP/YPmm9/YJrcRjEiNPDMJ
I4ri6NGjKZKqra0/dmQTpdTr9XGunzcbHXYJAGEpg+VPIoRJsq1c3PHVq63jnn5htFkBAArz+Aee
h71egE7qY2G7/uXG+O600nCO0uzNgRYyMjIyMr8bTqcr+KHJ1niivCQ+ISn4NT4h6UR5SasLrjVZ
13QybA12ciKHJVECkIZdGdFS468stDfVuq0nXREW1fBck8ctbF/X6LDzCgVhCFcMTA0JjVSWHLEL
vChJEtnRj+HY+ZfZO09/MVz5z6XBd2K8+UvfKBi7+P1JZvAeeOuJVzalvxYHXgd9zSsvjYC9z9y7
9Mhf3n7tEfrIq/PfL7APNSzrJLGVvub9l0Zo7D8tePSTwuuef2jW2qcrFyycwq3/84HkJ96dEwcV
3y/dUmnP6mTqtVM4NhCiJFo0oSP/Bb4GEGkABEAAkAAUAAGgAgUJktSt0SoAcG1k18SNuuYvT1xl
BE8HwZ/kPm+XYdj+5iuFGa++/1yMwvrT039/ZWPs4s48dXYrff/7K8dowJP/yht7kp5//7l4qPjk
r8s2TH7pGuv5f6XjY1EoaJKiyDZuKgmDJCEkkYEANDSyLqeXM2k4nqdpkvOpnG7gAwLLKWzNkkqp
4Hme47hAwAcUQ5J0aJge/Dxgou0NgUAI6UbderPtXyvXZD95WzSBEBAEwR5ftfJ45p+fHRUG/uKV
r3+6+6GFt07dtqT2rrlXwrcHVpxw3BjuLrBRPBQ3ibFwqEo3eip5cOWn5SmPPzMvkm7ZveQ/y3dZ
/mwGl52++ZmXh6uAL9sNIDZs/2hF1aj5D04YcHaYG0lRCkVXUZgKhUIQhOnTp1933XV6vZ4giHvu
uUepVAYda4fKy2vKyjSbNiW2tGz79VfHiBFhgwbt3bLD5XJlZgw760aWKfPH73vhgXs+Tc4Ympkx
Yfy4MREK+/ZXeqR8O8LzHM/zFEHCqeWFEADo9fq7b73109deM8XFTZ85s6am5ptvvhkQG9fsdKiV
DEJIkkREnooT7saPnOECKnj02ReeXdmfhPbi/2d6t3zZPM8HAgFJkkiC0Gq0LCcCgMCDXqu/Z8Ff
eRFKjx1WUiLH+n45UKhimOTYmOoGa3r8QICAJPm4LlaZ56wHNhXz0fNM9I+tBWff/uxZBb3lxdce
v3f3gr33/nN+cskrZ6TrRpvQfVuHIIgQGrJHjSg9sPfr1/45Y8ETwwaaCAAagAOoBmiR4Ncd+zct
efX6q6+qrarI37kVizw6h2vbU7AmXzPx9uT0lCGOf64vmflQUidptr+9tOLq1z6ZYrbvfeHhg6eD
ZXW5D83a+NvaZOiw6bYoihzH+f1+rVYrYaK0eM8g/RqbXbl3deiEFptO5IBhAOMIjmdczgaTubml
2RIdGbzWXlHptdxuOWNHaeLHTwIAe8f21tJe5e6v6G4r3bE0u6mcMjIyMjL9DG+bVUmC3rag8dbq
fOuYrAvO6XAQBAySJGEJYRxhUZotUbXlnsZKb31FwGHjBZc701SnT0TqENoYoZQkO+/j/ZJCrVCG
hauLi/YNHzbkrLCxzqMlhbodpdbjpQsfWA0AwHk5zsbFgSZ6dLwGgDMYjRHJcRoAzhChBq+vprDz
xMkaANCYIxTeNntzmYdkKJ5e9EjN6JzxY2+5K7P7QwSDQXf8WElO0ohoEo5xEtAAEoAEEHztCxEg
BndAwKIotg4mgvZqpzPWp6MlrbteXbTUO+qabCMAV9NBcOP0dhnmjuyoi5j+aIwCACJypg9Ytr7S
c1MnGdZEj0vRAABnLajUTr4jXgEAcfe+8RIAd+yb8/5KJ1AUTVNU2zDCEC2jZChBBAVDBThUWNoQ
H63jeYELeOubQVKaSQF4TFQ12IWAO2i5WZscw5PiqCTDweN1hftrSJPmrLhEkgBAyDDyD7ceeH75
+jGPDwFAiJRsB6taKqv+/fxmAADeLwhOcThCQCBSGZmT6F9X7Y6vqzVfmdNceNLr9JXRIycZrF9b
wybePUBJApgyJkV8ndcQuBapzZnxWpIAIAgknPz63yepEQ/NGahsP6FAU1T7d5baJaBphmH8fr8k
SVarNTQ09NQqdgRBEsTVI0aceO65VIYhFQrfyZM1Dsc//H7BaJzKc0PSU8827DVD57z05V3WYwVF
R/J3vjF/ZfwjL87sofLtpMQVtMvlommaDQRuuGHmqaMcp6ys/OOdd3JRUTRFDYqNTUlJKSkpiY2N
LS4uj4iIsNlslujoLm/cORdQwaPbX9imsvtq9nRIPz2iO44NpVrV0tKiVDIOh1OppDVaVfBtR0kC
hYIBTsAAgABjTJEkxlJlXUOEUa9gGAAAqbNFmBxb/zJ7KwAA0BFDrn7y8Uxt7Y+tBVfTsaCzO2aq
k8bw4koTTu/ETdEKhVK6ZmLuf3/YsHTenNw77h08KkdtDAUAR031gc0b9ny1cuqVk/+8YMHSpUtf
WvyyPkR77dTJ+k425bPnry8xTrs/BhTm6Rn84jVH7n5yaPs0XMWeSuPkeWYAMGbMHGJY2eEuF90m
Q5tVRnieZ1mWZdnWbQBcbi/r3BqmWaJPAAAgAElEQVSdoDUovMW23Y7QUSoliepqpUBAPX6ipeDA
GHtT4+BBMPTUjg7n0JDOium29v1LBxHO1Up31rV1TzllZGRkZGS64JyWG89LEi8CQoBBFDBCyJKg
MUerBiVxgiBFo7prbmhRKLHIAwIgCKivg5ihD4aHDgoPJTZv4nx+vy6kW2sJWqYvevfuaAAAr91O
GxUl3wO0mcOnz5/4zOk2i00okv/47idTjuQf/GXLske+yFi85IGU7nWbUebInVUFA1Tc1RGKY/sB
CAwYAGEAAAGBAOAGhDDGYnAdaoxxcNs3AAh+PceNI8Y8Mn/3Ay++sjH9tWmGjrJoFelnZ/jeLrPJ
c2es1NOPq434nN3q1XTnVzp5LEolo1DQbR2nlkj9yVq3WOHBApBANlihvr5RrVb+4bZbS0rL1qxd
qw3ReVyukaNG/WHCFQRBNDfbTtQFcsfrBF6o+fkYiMKgKH27aEkARJJk6Og779j74kfr1WEABEES
CMyTH3n+BjMAgM/lpHVKly2YUjkoJ8a99cgxF51x5+iKfd8VFvEo7d4I0okACDJ4czIYdEkgAEZJ
kiSARCDQZT90i+vzL78/+eyt8Werk0JBK5VMF0856E3Ky8sTBIHn+ejo6JSUFF4QsNf7yfvvz/R4
0pTKkLAwnyA00LSPJBdZLBv0egmhmpq6AQMiGebUze17Pv7EPmXBtOiU7IiU7EnXZL84Z8WhyV1N
wf+O5dsRfYjWYXdoNOqKyorUtFQAAI6Do8Wg1yti4xQAPM8DxmPGjDl27FhTU7PfH8AY19XVT5rQ
iQnSDbpdwQvXtLuwzSPoLH33fj4iPMxqtUVGRra0NDvsLW4PH24yqVQKSQquio8RAMaYUaqHJMYJ
PF/VaGtxeSrqDo1KTybJztzsZ95zO5272rPF7B6XpDRboUgiRKsRwkKvvPrqus9W7P7knYK1q0Ch
JEkihCJDVcqbZ06vrq199913h2dk7N27t/TYseWf/Xfhk4+1v5F93+pCX83xJ279AoDjvTz/Vb59
6JmXNNvq6ulPnUl+0W1yEEmSvF6vz+cLrhh5amESgqyvKRoUekwV/YBKbIi/4u3jGysG3HMfv3G9
aliGFKJzNdREI6K6qBiuvzZ4H03cYM0X+2q4zNO/7j3wzpu7s+dP6Pxnz1K5DiLc20WGL045ZWRk
ZGT6GRq12uk6FQkZfLftRHkJnPa8tbrdNGp1d+7WeWwMQoB5AEEEQcKihLAkCRLvFwjA4QMUkijQ
vEcQsdMFAobKWqhpgJJKEIRgWCHwQgBLXbzs3go1IDvWvuX7I14AsP7w3KPPbLKeOzFt6U5iGgB4
DrgTy5/400Yuefx18x+5I8Vbaz3Prl1niIgIZ2iqtqJsVBoQBAKPCG4J6gEqARxEjBLS9C3pGitJ
q8LCwkJDQ8PCwkK6Z6OCIv3eOeknVnyyy6voIEtthwwrLFcMsK7fWc0BgHX3+rqI7FitxkBbi6wc
gL3o54p2TlVFRHasZ8feag6Aq1j59KKVFdCNX+ksmzRNkhRJEq3/4mJCk+PCWD/LsaLIiqQi7Oft
RwHEESNGxMUOiggPM+q0YaGGmOiokSNHGvQhBwtLRKR1OMXC4qbjxdYQDZ2ebG57Q5JECCGCJEjS
kHPvzZH7fyrxI4JkojMtrt3byliCJO3bl774n1/tJIMQEkSSIJUxV4RXfpcXSEkJjx0V2fD9BlfS
yAiSiR4d2ZxXYJUIkrQfzmsMz4wJIRAgdOqHCESHJaVm/+G2qPxP19ZJZ+WBIElK0eXoGmOsUqmu
vfba66+/fvr06UOGDImMjBwYEzMgKen6adO4qioNSfqbmiqsVpvBkJWcHO73h5eWqnRqr88XXKM1
iMbAH1mx9JN8KwcA3tr8LZV03KCEHirfjkSaw+sbGnQ6ffHR4rr6euB5OFoMBiPEnnqbi6IoiqL0
ev3kyZNPnCiPiDA57HaP2xFhCuvWD3SL7lXwi09/hoHRkW6XnUCI47j8A3t1WiUC7PH4eV6A0yZB
kPAwozcQiAg1ONweBUW1uNwAcIHbVXdWkTtJ1rExvMjSbMXh5b08SSvUEZb4ux/40x33PDB10pRJ
I0ZNyMgaM2pM1phcS0Kq2y+89957b77+ukGrTUtP+37Dj++891G7+zTu+L4mad6K1Z9++fmnX67+
5K2bTEe+2Wdtr6uKuPGx9k37qjkAb9FPBY4z1//mNhkAEEKCIPj9/mDYJEEQGGOCINxun+jZFWlo
FiUCJDF9XAjL1Bf95z+Rzy8mYmIbPnqPF4QAlrg24RiK5OtmGX9988O91RwAcNVb3n9jB5ccZ+hG
MfHdaqUBLrBrk5GRkZHpz+j1p4JZwk3moNl2tPDg0cKDwXfewk3mdsm65tzRkiJgQQIkIQQSQggw
xlgEScJI4nDADyIHogg/7wKfH4YnQUsj5OevdDmRQoHcDlC3MxzPes8N6KR5794GAKDJnvfk8Tff
mH8/B6Adcu/fp0ZAyTnzqu1OYs3gofSyvzxMv/XCrJRXX7pvPa0AOv62R3O6vYwfTVOhRv2Bg8VX
T0mLIlDtMZKKIbJT0ZhYGDIEcjPg5AE/xxKAOlmVEKHzLNJiHH/v7V88uuyLinfntJMlOsY7K2Xx
WRlWjH/00ZJ/PfvAGgDamH3v01MjFHDD7XEvPv7HncaIwSPiTN52zyfr/gWFbz77wA+nVrBIVmjh
/L/SEQWjoGmKQGfGr6EG7chhlrAfTrS4WZcrEDswrLRCv2VbwZjRqTExlmeffTYYyxQIBKyNDcdK
TjT59EMSEo6Xtuw7VMv6fbmj4wYNMLa9IQACQAQiCARgGDv3zj1PfOJHiNBm3v1gxUcfPfsUD6BO
uuVPuSYC4lPoLxc/Sy96/vbEsWGuzyKzwhmteni4vzRqdBSDCGb0fXMq3nvzqR8BKH3GrD/lmogT
AEAQiCCCvj1ABDLk3HHLtn98/FPuU9dFtfH30JSC6WoqnCRJjucPHDigVqujoqL27t0bERFhNpuj
Bg7U6vV2n89TXFxFUTaVakRioq+6usrjcXs8hTv3hoWGDklPPfNIk+997sFP3nzr0ZscPIA67oo7
nn8wyazomfLtSMawtMLiEpZlsSRt3br1+nFjdWYzREZhjA8fPhIZGWk2RzAMI4kiy3EtLS319fVK
lWpAlDks9FKux9dJBS+8wPTdIyVl8MnqmpNV1RERYcVHiwdaLOlpw0sqqjXakLAwY0uLUzo18YRY
n4+mqChTmIKmmx3O6Ijw2uq6C92u2tihIoO3tGOyDo3hRZZmKx6/SIGkIym1xhCp1ukMJo/X4/N6
EQKKommalgBGZY8p2L/nyJEjkiiazeZBMQM/+vSzsDDj7FtuPH2b2g3rHSMebF14QxE/fVby+tU/
Kf7eTle12fMWFP7r2Qe+B43JEtGm/f/NbXK7WIbgV4IgEKLqqotiwo/TSAAhILANpggybjzTcCiu
eu1arVJBJgzmTpZLgDix7YYH0TNfeJJ76/2/zP6XF0ATPer2Z568ygjQsZja9y90/PTzt9JBpe2k
a5ORkZGR+Z/EGGpsam7x+XxNtsbgSpLB40cLD9oa64Nf1Wq1sXtjKuSwVbU7JEmS2+3+96p/xF9R
G2ZUYkAIgUQgAmMATCCirsKvtxVOHe5Y/T0EAjDjKtCHAO+DTdvgUBHkjiWa4cnbb5t3acW+bEiS
dLy0fOuOfX/761+XfA9GBaTHQ1QEr6McR48UFh2t/GXH7okTc2+66caO1+7fty9vy+Y/P/x/lz/b
l5DtO3ZGDxjQ0fT/7Jv9n6yzGfSRE8cl1tSxQuCkxViXOXSA0agnCApjyevxHzteZfUZHWwcDfT1
V0evWJPvsJa+84+pGnVXQYk9hdPpqq2rG3/F2E7P/rpz9xW5UxilsqamRqlUajSapqYmpVKpVqv1
oaG1+fmFDz9s8PvdBsPo5GR/XV15U5NdkspEseGKnNzc8dnZIy906Y6eAmO8Z1/+D5vyUlJSnE5n
tMUyIXfioBgLAHz++X8zMzPS0lIDLPvrr7/u3r3b43LX1tWkpKTptMq7br+lp/N+kXg83g8//S+j
VCuVSkEQRo3OzsjIohUqikKHDx8N+FxGnT1tqEUIcACIQIggCSAIIIiqE1WFhSfHjb22pyU4D7v3
7MvIylFq1FBX2yjhrTt2AMYhIbqcnJzgHoYkSXIc19zc/Mv2HW+/8w5CKCkhwRgaWt/Q0NLc9M6S
17Myh/e0EAAADY22bb/uT01Nrampue6664LbDAIASZItdm/t8WVZ8bso3ov086TAUQrtbPYo1izX
hHx/KDY22nLXnIblHwRamo9OmDT7r3/paVFkZGRkZP5H6WInbgAgSSo2dmB3duJ+5umnOvG5Bf0n
o+Ku2rLj44ShTo2WQoAkwMEIIYJALQ6W9IiYg/EjYPsuOHQQhiXDiRpwOuCWKRBiRPaaC4om6l0Q
BBERHub3eRsarX8Yg5yOpooTFft+qmp2urVqjcGgv+aaaV6v59VXX2XbLDFH03Rx0ZFxY0aPzOoV
w53fglKppGiKotq7FG+/IWvvofWHK90na5q1Gn1VcyQv6uq21qQluIw6+ni5s7GF0EckePyG2oaA
WuVfv9VfUlr17APxel23IncvPxRNKZXKLhIQJOnz+WpqarRabUhICMbYbrfb7XZapRJJssVobAGY
mpDgraw86XbXs2y1JB0dnDBj/Niw8DCv12swGC6bLL8FhFBWxrDqmrrC4uODBg2sq61dverL+Pi4
gTEDR48awfH8li1bKipONDY2ksGtGwL+0rLSpMGDf/x569VXTuzp7F8MWq1m+nVTVqz8KiwsXK1W
/bpje1lpSVxcXGRkpIrBxYXHEuMUfrfR4fAggmh1sjEMg9usltHL4QSR4EVSwk3NdmNoeE529qZN
mzxeX3V1NQCYzWa3211fXx8aGjoxN3fDhg1l5eWxgmDU6x0tLau++raXWG4cxxEEQdM0z/OVlZWt
xxGi6quPxeoLlQzieaXk2ANCi6CkTOF0lKm8FAu6hgbp/aWc17NHFTJs3Liek0BGRkZG5n+doFVW
X9/g67CApFqtjoqK7I7ZFqRzy41hmKGpw0T+nr07d7q8dgyAsRRcKxwh5Hb7h0RRQgD0DMycCEdL
wdYIvBeuGw80gnovQkRXe2T1fhSMQqGgft2x09Zk83q94abwmEFxw0KNGpVKwTAIIa/XGxsbKwgC
Po1KpWL9nuuumaLR9JbtlS8aJcPQNN12ffCgjIySWThv7MPPbSs4yoweRguSYHUqSCIuThGlUSMx
xBs/QOEPiGVVdo5j1Vr0y+6yB6arJlyRCR0W9e4l0DStZLpyBhIkARzwPN/Q0ODxeGiarquro2k6
LDTUr9Gobr6Z++STLfn5PlEURJE2mcqiB/hBOlFWMWzokPYBw70bhYKeetVEgeePFB+PMJm1Idrj
x44XHikURRERiCIphmFIkmpsbBQF/g+zbty1Z6/b7T5QcCQrY1hYWGhwM+5eWMRdEB87cMa1V2/8
Ma+lxW6OiGhubq6vr+M5XhDFlpamAZGjGYZRKNi2QikUVJerEPUuMMZYwhhLJEnW1tTskiSO41Qq
VWhoaHBPeZqmg5ML2dnZLMtu2LBB4HmD0dhstzc3t/R09k/R3NysUCgoijKZTIcPHw4WB0LI42UJ
b17udV6RI0HkAUsYMMIg+KTRV5mKNrncVgx2+0FdKJd7pVLb55tlGRkZGZk+TVSkWavV2FvsTqcr
uAGARq3W63XGUGN3NuBupXMTS6FQhBqNI7NGpCanBgKs1Ga5EZIkGxoaSwsbJLcdk8ADpAwC3gfR
RmADIBEgeESK6o2hcd1HrVIZ9SFms0mn14YajApGEVy6EGPMsmwwXEetVgftmeDXkJCQsFBjePgl
XLChx1CqlAqapsgzuhGUlOeFgZYBixeMePatPTsPcoMGRLh9EstKew7WqlRUXb1/zqzBtha/BIHU
JI27uWrOVPSHG8cLvEhRJEV2a++7y4yCppWqrnxuoiAajIYrr7wyWNBBEbCEMcL6AMtcfXU+QVSX
lAiiGPD5qhsaQgZETRmVCZJEUiTV5R7fvZCQEO2Vk8bzPHe4qEQSpbCwUI1Op1arJUHy+r0NjY1u
pzM8zDguZ8SggZbwMOO/ly7LGD5i+edfzr3vLkkUlUol06UZ3NvAGKemDOYF/seftxUVHtEZDAaD
QalS0RgTCPEcD4AJAiGE8OkLAEAUebKDO7q3EaywXq+XF0TscWpD9EOGDOF5fsCAARzHabVaURQF
QaBp2mg0Bgtu6tSpzc1NBfkFzXb7wBjLyBGZPS3EKSSMRVGsqKigKCo4G4IxBkS4HQ0TM7wMRUgS
QZIcirgSAsfB/6MkURFhisRrwz9d7jWHR5hGjjKbTF1twScjIyMjI3NZCNFqL8hI65TOB5cEQahU
SpqmdCG6oNmGT29hRCDCYNCfKB9zoLxcqwhIgEAACQNIgAEQicpbElJHp/zGbPUsBEFER0V+sXK5
IAgkiTCGrmfZJQkrFIrJE8dfthz+rqhUKoqmSLK9z02SCK/PGxUZ/o9HR3+19kDekToXHxEQlWI9
b9AprC72g9VFDU0uLmALp/iZV8ZkZoz0+/0ajZqiFL3TIUPRlEql6vRUUGSSJFvn+M8sOUgCANBa
OkGrNc2eXXnypNfjwZIUrdd/9tWXcbGDwsJDBV6QJIk4x77GvRCMsc/n9/l8CQlxGo2m4kRFg62p
svIEx3IESarVKqPRkJIUb4mOUigUTqfLbI4Ymz3yUOFxrVZ76NCRIempgiD2KcMNRFF0uz0qhhk9
IuNkVU11dU1FRbnP6xNEgaGp77737N17SKVS0RTFqJiQkBC1UknRdIhWFxkZ19N5Pw+iKOp0uk8+
fM/ucJIk0aq9wQmI4Ac4FfaJMMYcx/l8vvTUpOumXYUxDg01Jg9O7GEZTmM06A8fOVZ1suKsRhgR
Pkd1RqRdYrGEMeYBH/8PYIlgRCB4mkKiklYPSdYOGEQxFO/3GC9g028ZGRkZGZneSycrlLQlOH49
6wKEBEGoqq7Zd2Cn3d7YzqChaDo5ISMzM6Obm7n1Wtwej8vl7mZYVDAUcEBUZB8aqXdBS4tdqVTS
9Fk+NwAQRZHlOI/b4/F4WY47WVVz4FD1sZNum50QRJAA6ZVi7AAqI82cnhqr1+uUSqUuJESlUtI0
HdwauOdk6hyeFwKBQGhni/mIorhvf8HRkhMYd9x3+dQDwRgH93kTRVEUBJbnKYTn/vFOg0EvimJQ
6t9fiEuGIAgul9vucPh8flEUBEEUBEHCGGNMIIIkCYIgFAqaYZiQkBCVUllX3/Dpiv/GWKJnXD/N
YDQoGabP+dx8Pr/d4XC7PTzPBeUVRUnCEs9xoiQiJFEkqWAYtUqp0+nUahVFUTRF07RCqezVobAY
40CAdTidgiC0Tj20Ku2ZZq3NEa/PDwCCwLMsp9FowsKMkebuxtz/rrAsS5Jku6aYIIiWFvvBgn0N
9dUBf0AM7sSHAAAQIADQhIQlJqXExg40GgwkSYqi2LeUU0ZGRkZGpiPPPP3UeSy3Tgn29KIoCoLY
rkMlSYKiqLMcFDJ9jeBQqdMSlCSJ53mWZT1eX3Cc6/f7vV4fx3EIIZVKpdFoGIWCIJBKpVKpVAyj
aHVb9UIkSTrXkE4URVtTU0lJmdvtQR0eRdAOlSTMsqwoisH0PM8PGhgzckSWqssIzN6MJEmCIATr
tYSl1lE+QogkSKWSIUky+NBEUfR4vLwgRJojBEEAgGDF72kJLgZBEDiOlyRJwhIAYEnCGCMECCFA
iCQokiQpiiSIU9Ih1BsdyL8dnucDLIsxJglSoaB71cqoHSfRWosgqI3tzgqCKEkSTVM0TcudkYyM
jIxM/+AiLTcZGRkZGRkZGRkZGRmZy8YzTz8lT0bKyMjIyMjIyMjIyMj0dmTLTUZGRkZGRkZGRkZG
prcjW24yMjIyMjIyMjIyMjK9HWr9xm09nQcZGRkZGRkZGRkZGRmZrqCuueaans6DjMzFsGvXrjFj
xvR0Li4lskS9n/4nUS+hnz1YWZzeRkNDQ2RkZE/n4jchi9BL6AdSyCL0BtqK0P02dt+OTVQ3tyyT
kemF9D/tlSXq/fQ/iXoJ/ezByuL0KjpuTtvnkEXoJfQDKWQRegPtROi+OLLlJtOH6X/aK0vU++l/
EvUS+tmDlcXpVfS/cV5fpB+IAP1CClmE3sBFW27yCiUyMjIyMjIyMjIyMjK9HdnnJtOH6X/aK0vU
++l/EvUS+tmDlcXpVfS/Gfq+SD8QAfqFFLIIvYFL43MLFD49xGweeNu3VgAAsH462Wye/IX1kuVS
RkbmQggUvv9/4wabzWazeeDI217YYgWAQNW3T9x4zwbnOa7o8qyMTJ+hE+UPFD4xxGy+bUugp/N2
wbw/ztyOkS+UOvqsODIyMjIyPQV1tsEHAMDmPfn0z5Pem6w/dabPm7Uy/Zb+p5ptJQoUvnDb/1vD
Trr/+WmJ1o2vLvnPvf+Xvu+b9DUvLt9pGnuOalnV5dmeoPfk5FLR/yTqJZxf+cfe8PTz6aZ0pk8U
QdtMTnz+3/+2BawbXn1xo2vsw8/fOlipSzfpTX1VnL5I/5uh74v0AxGgX0ghi9AbuDQrlJz+6Fr7
5xfu3/tKTOut/aXLH7r9mY01LIAp6/53Vz6flX9T3O1l02bGHFibb9Nl3fVwetmyFbtsuqyHV678
+wg9WPOe+eOfl+XbQJc++/l3/nnrYOWlklRG5gx9vd525Kz66LS6ABLTp82cPTZiZlbMkrUB3YkX
/vBiNUD1g8lXOg/9NNt5dsW8K6/N2e/Snxl+/caxXx/7eCwc+PPw69eO/frYx2Ndp6smMInTnv/o
nbt/77rZv8tI5hJyPuXH/sZvX3hmRXriTGb58Js3sqfTJj63d/sDMb2u02krTuKk2YkA1YFlL25k
smbfPXswAIC/MCjO7DFwe+/vT/u62ve/cV5fpB+IAP1CClmE3sClXKEk666JOtuKR18rbO0YA0Ur
vizUz37n66/fnMbmL3sxLxiLZSvU/eX7H/+Z5cpf8Vr1rSt/eWcam7/kxZ1OsK558I/LrJPe+frr
j26FVY/et7z6NwknI/M/iTLr8afGMEVLbh4eFzvs5tfKYqbdOmn43c/PNgFYHl755rSIDhVT3/Zs
p/csXfbksvyY577b+8tHd1ucB3ZVy5FaMr2RzpS/VaWZ9MdXrly58qOnxjAAkD57rKkfdDpyfyoj
IyMjc36ojgafbtrzL1dfPW/Jo+/PDQAoMcZM1nOff7Rx7dY1yzcecAGwTifWAYBu7OwcS0JIug7y
0++emp7oGmOBjS5nwF+6Jp8FdtVDN68CAAAmr9R/v6WnJ0Bl+iF9fcalI2dJxCTe//XRaQc2bly7
aWPexmV/3bihavMvtyYyABFpmekmDKZ2FTNgGXvmbKDq1A0xBnz6oykrkYGtz15/3aoxYyfOnjsj
8XeP1OrnZSRz6Tiv8v8481Q6XfqYic68R/+8i9VN/ejzh9MZ/87e1+l01JPgEXz6zJn3EQB6f3/a
19W+/83Q90X6gQjQL6SQRegNXKJoyVP/Rc98edEHOQs/+AAA0gDjxjV35MzblTDrsfvvmnYgfwXG
CowBgNExGGMGGABGocBn90rM1NXFH41VBqxWNiJC3+dbfZleSf9Tq7YSVa96aN4KZv5nb859bubc
hUV/y5myYuNO6+wzr59a13asmGfOtg4PMYaAkw1+1E39fPe6tatWr92Ut3HpgrUbrdt+eTjxsknU
P+h/EvUSzq/8py037C9ddscdq2xp8ze/PdV0Wtd7WafTmeV2+kSwap6Vrrf3pz39OH8r/W+c1xfp
ByJAv5BCFqE3cCmjJQEAYu5+Y2Ha6S+B6o35LGQ9/NTcMYzVBQDAdn7VKZSJM7OA3bT49bydqxbk
ZqZdLUd3yPz+BA48mhodHR0df19eAACgbEl2dHR0dPTVqzpbHTVQvfZvt9y30dl64R15FxY3WPZS
dnT09I2/5yKOOguU5a+ed8ujS5YvX7Lob6tsoEtPNzEMA1CdtzavzNlJxTxzNgDKCAbY/FWbDuSt
WLorWGcDRc9OyLlzBTPrubfffiwNwGVjL2e45LIJ0e3IfqmsT8drBg48lHpuPQgU/S0jqFpt9a31
YCcXnEn2P07nyn/qpGvnolsW5YNp6szEsk1r1248YO3HnU5vF63TSu3sQsm7pLV2dFVNZGRkZP6H
6SRaMmgGJsx5Y86KqR/WAMZM2mOPTdy1aF5mgilzooWBmnxrwNKasM01p29imrH0g51zHlt65yxg
Ema8/vYsS1+3jGV6J514jIHdtbbIPzHLdWBtTWuijupXvfalFbtMOW3OXeD8TXBG/JJP+rS9nW7M
66sXw4LFqxcvXA2gS5i66I3FYxhGNzWNeXv1otfSJ67uUDH9s8a0nl0/d86iGRsfWz1v1q6Jsyaa
YBMAZtLmLZpTtHDxjJxFwFgmLnx7QdrvHS7Z9vYTF73+uo21bXp98SbXmHmLZiUyuvTwvrGyXhs6
at259IAJn7FwUZopjcFt9O3MwS7V8vfLf6/lvMqvqFkLAICteXk2ALBtWrxgEwAwU1cXfdj7Op1O
fG6nj7f2mm3T9fL+9Fw/2mml1nWh5N35la6ryUXR/2bo+yL9QAToF1LIIvQGLtrnhqqre9cEnoxM
Nzl48GBGRkbr10D+YyNmrtZZmBqYk5c3r2buiLuKE3S2YstrBzbNhq2L5j72YYENdGmznl36Utbq
SZPergEASHvpwNr0l0fMXG2aMYXZtLmYtUx5acXSuxKVEChb+9Rjz60usIEuYcbflr50V7oewLp1
0dz5Hxa4TJlTEso37074oHDdVP3vJVE/oFOJqldMHPsUOy9v18JEALCumDriKducjTsXpSvLlk6c
9DLzUt7i3TNnbk2bkla+eTETIcAAACAASURBVLeNSZv12gevz4wJPvw2hTg7sSdeY+qgdfNHzFyX
8EHhKtNzI2ZuSpuVWbNuWw1ryn1p1Qd3JULRwrHTPktbsTF94bQz+pb1xthpn6WtKP0sp2bF/Lue
21zDApgy5yxdcefWaWfUctNduo4aGNg1Z8js3Wk5uoLdrhmrDiwd039eH+5nyv+/Js7ZlRoCpzS/
9AO4a/Bd5VNmWArWFdh0mXfOSy/78LPdNl3mvBUrFmbpO1RqS/npC03Pnfqge6pjzVJeeGvQ0NAQ
GRl56R5JDyCL0EvoB1LIIvQG2orQ/S7jXy8sPEe0pIxMn4RJmJrJ1GzdVVO8roC1TMwKhldZ186f
+6Ft4pJVqz6YBasfn/sZ3LlolgnAMm/F61NPLVhXXp342IoP5iTUbH757eIABIpenv3w6vK0vy35
4KWp7LqnZj621QnOrQvnflhgunPJqtdnsMWuHpSzHxExdV4O2NZ9Vh6A6k2ryyFzzlQLAICrgJ3x
Qd7al3LKVz88f5W1YyH2wiknV4F16gd5a/+WZtv28hvFZ+K8LB31DQACxZ+tLtbNWrJq1WtT2IIP
F2/VtU3WqQYGf6WYnbFkyesLMvuP2SbTr7EV6x5bu/GlTFfBZ29Uz1qRt2QKW/D24t3O7lfq9jWr
L7QGMjIyMr8LVF/3Nsr8L9PB0czoMmckwFOrV62qcZlycy0FqwEgULaugAV29cOzVwMAALO1OvzZ
BAbAlJaRZsKBagwAOfMempLDROeYPvy82on9ZavW2SDttdfmzYiAKSFb1926bUWRIzyvgIXMBY/O
yIkIhEx/e9vnFxpieWES9Q/OGzNmyp03hbl704qiO2JWl0POklwTrsEATO68WzITlKnzpjy3bfOm
MoelfSGW+ef0zOKB54owB4CcObekWQBnml4utjrPxL4pLPFt9M16Oh4s89nlyzat37Z2xaYCFwDr
CljSWpP5i5Z21EB/NgAA5Cx4dMZEZf9Tln4mz/+UOF0Ggupybsm2xIek6aAg7c4paQmuMRbY7HIG
/B1a5rJADm5/o05qlj9wUa1BPygRWYReQj+QQhahN3Bx0ZLU75MZGZkewpQ5wwIvv/MVMLkzEnQF
rceZKV8e+WBM6+JsZcXtrmMY5pz3bLciD9Pmr8xvR58zZ4ru1vUvv6ErZ3L/lhsBUAMAwLIsgPKs
p9+uEHsdXSlRR6zr7hr38O6EWxbMuXNKQcHnXanUWRqo0+kuNoMyMj0Ao2MAILhsZocqcnalDhRt
6vQOndSs3t4ayMjIyPwunOVzE5p3frXuuP/0V4UpOXfyWIu6w0WC+8TeHRXRk68cxAjW7V9+X2a6
+q4pFtkIlLncnD1dAQAAiujsHB185YK06akhLAAAVsRPz4TNm19+I++vCV898Jf1lhd3bMhVMAA1
W9flpd6S02ap7tMfmfjpU0wfff7yU0sVt+i2Pb+Z1U2/4/+zd+9hTVxpA8BfSGAGhESQQIQAyq0G
wYIiRkFBFFQUFIoWqlTUeq2udLXV1a61tHbV2m+xuhW1XrrqQisFF4UqgoKCoEKhC4LlIgLBQiKX
RMAZSDLfH+ESIFxUChHP7/HxGQ4zk/POzCF5c87M4TIsKB7j9OXvvrvD9eF/Fy0E4PypfW4PYs7c
6/qUQR17Pz+n0f23NIUWOpiVeylK+ty6PhsdAHPY6MO6fCFRjHntm8agKIICADL18/0/UbzS8FQS
HH0sGEpO4grTIY2ks/49rjrFB0pQ3fsfgKIozZ7XG1F5LYcEx407VjlmbhEDMCiiy2pKrkCMKgAA
wF7/O7OV6h4UKXiYkZFbVvccQFN//BTX6RPGvMj1/BKtYFAbTpdwGrIuxubRnAP8J+oOWQUGVz99
bt0mPOj4sWPjLs9hkS9hPRt1rGOX/fTSspRs2O9fg5H3PIPX0QgIAUZEFCgEVfDSTyhRMlpSa7yz
A5vWIvw9t+T3Gxlm73qYaHZbo7Es+/dqLfZLdvMhyGBRdtVhlj6OEJ3K8XJkQKa8iOVz5ETmuu3H
VgYCZulz6EgAhwKely12LDos3NYtyrFjb507xhz3RB0itxw4sCURGJY++6IOuTEo4O07sVG47ljg
nAuOPjwOJPZShUGKyMTZ1fW59HlFbnZFC9ve2YpJ09TXog3kBZW10OHSex06f4NZLvdhXThN+qzm
MTpKbW354Su38DHbgBNHfFgU9DyJwxTdgD7CAnQ+7hSAYilcbzx5GWYbGuqWGbZl6lssRzcOBvwc
IRHQuVrsaiVXINn5KsN/Zgddl6Ckoryr8dl1Wuy3pthrikoKSjLiWzQDPMdrDXh3L9EKBrXhKN1J
P3tWpZbbzcCq1OtaPb7tAACq519mKO1j19DHhv1Wb+R9znsdjYAQYEREgUJQBS+duak9fvy44wdp
XUZ03O9aru/6WmmBtO5edFwBzd7Pz6o69fq9ikYpgBbL1s3zraq42LxGAAD96e8u1M/+Mb5Ea7wZ
raKiTqpjNt3T7S0mbTBDQxDl8vLy7O3th7sWg0lpRI2/x0ZnSO39Aqa0DQh6XnXvRlqB8Dlo6ls5
u00fL82OjSt4buYR4ErLjr5eomk727zi5oP2Fur71sA/6g6+gZwjsjQnM/P09t2XYXlC2j5bDIDM
2TLVL9Ut9v4RR5XreRh5V52K6HZgpdWp/7lapuMc4GerAwAtwoLsMpqZ/VsmWlJRWUbavRLhc9Bk
jp/iNv0tfU2pMO3H+Ap9K1ZjWVWjVMtk+nyPtyA3uvN9yvct6NpqrHTq+t3klRpO9+tElB0dm0dr
D6c9SNHvvb+3DqzOTBq0CAvS0rIrRFLQYtm6etg3Xv8x47mtb4CzPk2UFxubTZse4PuWTvcKvlo4
r6GamhojI6PhrsUrQSGoiBEQBQpBFSiGMPC/sf/3j0+7z+dGAUjI5uZmSYvwYflzAAM99dqHxbUa
lrPmjZcW3EgvyOLbuU21LL5ZSrOb62KKU40UBSB6xpg9d3Z1xs3CrP/VWrqyUOqGDInX/RuXnpSN
LaQUv5p5XpaSXNA8ftY8K1rFvZtpyXpGfpNn25Vfzr+d+AvUtzDs5k020TSyLO1oocN9iPqtgCBl
28ovHuly3zuylavZEa3i7FYqRjVrNQIoHtjm2lop4MZGbRewhgGXZwAAlKQ265fUEqnx5Fk8zap7
mRlXJKPe9WBTFAUtgmbThUverrqR8GtWTq2lq43C+1Tzo6vdWo0vq59NXv0sd9lDt2YMAADSPt9b
B1ZnN33h3cR7FVo2s+aa1OWm5t/OGrfQzghuPXrYMHm6ZnmxCAxcTEcNxiX7ul/2Kvv3ZOBQCCpi
BESBQlAFgzNaUr4ovn/5p/vyAj07nuko/XFzZ1eUVZX9XilsBZCSklFsBg1AS89AD6ekzwAAjOzs
TI1oo9h4YVEj+dofTOS1MfIuNWWZW/svKACQNpQJZSArvXVNPqpIvapBwjV5e7Zd2ZX8ehhlN+9t
PXV1YHS20GE/Qv3WwGRV0qNVXdbVdPj2t0cD2nZYqGatRgDFAyuRAABIu783SxtKygjQm+FiN04L
TDWqyhKrfq+VGNEAANhcS71RQLHwX+ufk5S6QWcrkFT3bDUGfW8yCCe5a+bWXqRQqG4wtff31gHW
WdJQUdUKelPfHmesNc44aDLQAFrsTNWTK36vtRlVIgajmcaD81fgdb/sh+pzHllwMOQvl/kkACms
goCfb3/Juvzxx//hkyRpufX4116MzPXO6wsYDAAG7+uYr3kvMKxgWD+qkgUHgw46nD3rxei1nOw/
tOH+tK0sim7Vti04uP7TTMAwzqqvv/bhKNuLyp0Icc7B9Z+mkhjD8r2vvwzgYL2spmDYQhCnfrH+
YA6JkZjj34//nddRO3FOl8NOlp7+y1+uCIHkrDr+tTyi7lQuBOBHd2npBafXf3xFjJGc9779OsBy
ACG8QObWs2iUzUyeqSaNpqXD0tehwfOypJ9vVzMt3+bamAmfFgEo6VCj0VAvG4IMFXVTr6DZbJr0
+XOplpYmALQ8b2wBAHheJ2oB/eEcHokgg0JHn6kOlcLq56CvAwDPK24m/Arc2S5dJl6VKv6g3s+7
UNdWIxU+7n+TP1n/760vWOfnddXPtfT1ddhcM43Ksl9/0xSrG082QX8PhhRm+0lk0icA4sxPg85M
2+pIJq7/mftlzNeW4pwLl/liYOSI3b5N+tZN5QaC94V/+eP1XyTyOdw+y/kqHlovUXStNv/CwZxF
x2OWM1L/EhSR4/Wlao3YVx5C6YVPMz2Px69mlR4L+jTR7awP2cv5Gn6lFw6Xvnc2xoclvOC/Ppof
s7otNeZf7nLYt/K/uOLwbcxGTsEXQV9keh13U6HnKfcWgjjxC8WWLhYf/tny65i/WxZ87H84x+fb
F/mOpl/dR0sCgKaBkbGxVnuB9FmFUAYsO0euQc3tFgBNkFDqNBpAY1UZX8+S3f6UKIqCzsXX+7s5
5LUx8i41JX1u7eUUBQDqjHEsqKz8NZfvyCxNuVOuM81v0ThRxq3HrQwLC3j0KD29zGjOOIUWajLc
t52+CecIGRRd+qOMJnEZlQ+yEpIauca0uqIHlU0a5gxcg2FuihcW/5qZR7PQrMqqlGmYW+upUyJl
b0MKrUC/R6tZoNfPJq/ecLqNlgSA5zVlJZry91YabmSs2ed768DqrM7gGGsUPvrt3u8aZo0P0h/U
mXgsdTcxmDgOf1xc2apuOs1IY5Cu19f9sh/ib+hLLxwsfe/wFwZETqKQgR0L8S8UW6w6+KWuKPNu
acGtEP+DpMl7B79+j3Hlnfd+ZnEZ4kdCg2kWUPX0kdDk0zNf8iDziw1fFwJGAvfjiPav9QUCgaGh
4ZCF0ImkdBcePsP95Evoegy7losru4TGylGlEHqPolu1Ld/7z38AKEooFIOurqYoI0yFolAeAiko
AO4GA4rSNHFg8X+uJDxZXc6LKl1LFhv+EwEYRVEiMQmMzihMuhx2qjJVaPGeCUVpWsxl8a9XCjR/
3qrqIZAlXVu6Zo4miEQERYgI0NSkBnIhvdJoya65l7repElja7JvR/8HNxirow6NwmaJhaGpnvqD
R/f/pzfWyAAAgAKKan9iLwzpn0fkjTbyLrX+RksCbu7qVp1658GN66DOMJ/uaqFRded2eStjoue0
SaBVk/AgPb3M0L2zhRozXvHZBK/qTThHyKDocmDV9Rznz8Pv3Pvfw5wnALiBxfTp04w1KDBw8pwu
TcvJuV0JGgxzZ88ZxhqUVJ7GdHsbwjtbwXxut1YziqrrZ5NXbzg9R0u2VubcqWwr0Jv+zvw+31sH
WGd1IyePKc/Tcu6mlgNuMMHd2ViDooBhPQ4vfigdN2HQErfX/rIf0syNvBtxxWT9BROKIsVVBTkW
HydGO/C/Dvh7tPMx7tz1n3qumsUo+Dpg62nn0wwA7paDn3JuLfe58k7iMYeCTwIiSwgHuHJXMyg8
YhGj4NYjgqJ0hz4ERZoms2YBv7THF/NdyyldxdAcwqpUKYTeo+habefLGyyBzPl6deh/hJ6nDYiS
M6oUhfIQNE0csNzUEoJrWXClQCgmqS6rESUqdS2BpiZQRM7Xn/zM/Uu0SdcvAjoOO0WKgaFJURRF
aeqCWPzoNQiB6tbSLywKcchd/c4ihpBcdIFLlXzZfwgvOVqSpj8tYMW0bmvQmNw5Ad37XB0Xvtf+
KPUZ766YIV9StjWCIK9Ex8Z3hY1igZbptPnvKjQ05sx3V8yULzr6rWhrlwotFEFeT5osrvvCHuN9
aEzLGQstZ3QpYil9G9JXbAXdWg0MYJPBxOxsmwr6fm8dYJ01Wdw5fgq7kYqENTUPHxOAW08wQPcx
DAey4OdCi/e+YAAAYAacaYscGIBZzuWKI4XYe+/J7+q1XOgA3z5tmQUsLgsDDNNlcAwwAAwDaAFs
2l8+nvblDp9vxaxZfzngOazBDBjDUTE0se0Xr0cIXav9lARLDHP8+EJq0H8CVh8vvfw6nAjOe2FB
n+wJCNDlci0sOd1mjMQcVSwE8d0vV/+dH3Q6Yla3IZCdh73wSxaI5XPgtIiBofv2+tcghK4tveq3
R1/y1ycmvsPi/2d56Bl+9KCeBSXzuSHI62LkXb0oItU38iJSESPswA5XOM1PMm5kizX0rFzt9dQH
rxKv+9kZym/oK68XGiycoElRFGiOn2nwKLWScLYUFpbqOjBKvvDZxz114R2WILdAc9o6jfaH6HY8
epQCoCii5HqBxe6L11j8yIBNVyoXrm9/UMYwnoXenvfbXk4UfLlUIbSQyuvXVS0EUBIF2bXa6yoj
Vp3ghh+YxdDU1MQosvR1OBHiglzNdefjbKH0+OojXJO2RzS3nxeVCoEsPbvh7+J15495srq8funx
1QqHXcPY2aD0biXlwClJFJrMMqi8fkvlQ+jW0g1kuSRmoElRlK6BLlkgLhjAWXjJPjcEQRAEQV5f
OhN8lk8Y7kq80ciqR2CxsO2BBKxFYUGhO5YHQAvDc/8xC1vxdm7omoAYTWAsCgvnQIzSPWAsrnjP
moCzukBargtX+nzD4UMWfL30EPfU6UWsLsWY7XrF0CxYhaobAihE0bXaHEtxkObGFQHfarYwpu0O
dzB5dP1LVY2i80QY6N4OXR6DAVisD1/fvSdLla4l8d19X98TsqqWuu8DzCLku2POMfIQLP0VD7ut
CbZ7UeiOgAAATlD4NBZDha6lXkPo3tJnbmGErgg4rgtgsSXcwaRqMC8ktaKiosEIBkGG2u+///7W
W28Ndy0GE4pI9Y28iFTECDuwKBxVMwLm7X3w4MHEiROHuxavZASEACMiChSCKlAMYeB/Y49+E4ZG
SyKvsZF39aKIVN/Ii0hFjLADi8JRKcP5bIxBgkJQESMgChSCKnjpJ5SonTt37s+pEoL8uUaPHt3Q
0DDctRhMKCLVN/IiUhEj7MCOvHCGuwqvqra2dsyYMcNdi1eCQlARIyAKFIIq6BbCAN8y7qddU3vd
c1bkzZSXl2diYjLctRhMVVVVKCIVN/IiUhEj7MCOvHDs7e2Huxav6smTJ8bGxkp/tXcvBQB796oN
bY1eWB8hvC5GQAgwIqJAIagC8bZturq6anv35uXlDfxv7NYNwep/arUQBEEQBEEQBEGQV4cyNwRB
EARBEARBEFWHMjcEQRAEQRAEQRBVhzI3BEEQBEEQBEEQVYcyNwRBEARBEARBEFVHV1oqlUp//fVX
kiSlyshkso5liqKkUqlEIpEvdPvR0NDw/fffH+KQEARBEARBEARBRhjlfW4ymay+vt7V1dXNzc3D
w8PT03P+/PkLFy709fX18/N75513li1bFhQUtGLFiuDg4JCQkDVr1qxZs2bt2rVr165dv379pk2b
Nm7c+OGHH0okkkGpJZG7ga2mNv8qMSh7Q5DXQU38Ni8HLtfBgbc0PEsEAEDknQnmcblcrsPSiDyF
xiCK/4DrsCsPNY8hRqQFc73iRYpForRdweF5hMJCP7vI2+X1YRqhsDBMesZCpAVzvWKUlAwwtH5e
L+/Vth9UorRtPK8zFfIfera7mvhtXtzx47kObsEReSIAIm8Xd0yH8W4fxlSoRrUVKwlQk7zLy4HL
5XK5bh9GFqG/DgiCICPCIIyWlClDUZRMJiOIwXm7wNmB+/95LNQBH5S9IYjqEyVv357l/1NOYW7q
IcPjmw8XARRFrD3M2JdZWJh51Cxi7cH2z841MZu3JwiGt7ZIG1Fxel5ll4W+VSRnGfnb4woLKgx3
Oppyzps5wND6VpE8GDUaBKK8yA/nLTtbLG77sUe7q4lZuznd9VxuWWHmSZeYtbuyCADATNenVNXW
1tbWPjrnkr5tW7Kozxf506vds5Ki5O2b073P5RQWFl4Lqdy1ObZmiGuIIAiC/BleKXOTp2fy/5Um
b62trUo3JK66q6mxlwTy2GpqaqN5G/ZvcJcv7cxsAADiYcSScbiampqaGpsXmtIARHXUzo82hucS
RGbIaLXR7iHzx+Fqamrs+REPu6aGDZnhSybgbRterQaovhrKY6upqamp4ROWRDwklJUgiOphzjlX
mLrBBgcQCcSAGeJQkR4rclrlwgRgOoV4EwnJFQAAFZGbDxvu2WCn2p/5RyxCELXZzYE73pi7NDyP
qIjcdjC/MjI4+JujbQtnitOCubylS319fX3dvORdH0SyrzFP3lVSceMG08+J2bagd5jHCysCAFHy
UuPxH6QRAETWhw5e/9zxYuWR7R/Si8J6XUGUFr6U5+Dg4ODQ0SFDVJ79wM3Bgct1+yCyovMPI5EV
5sb1jSgigMja7B7871PtoSl0NNUk7/J14HK5XAevbfEVAERasIPbUjeuMTc4WQQ18dvcuFyuA883
2KutG6/ixo0hOT/9qkg4nGz995OBppj85x7tjhCkVxh5BzoxAXAbD29Ijyzu/qaBM80MsWGttpJK
UqYhh75ZZY8DgKGTNVNcLCLSgrm84GBfLzcHLu+D8IgPl3q5OXB5H8bXtHU0Ojg4cB28tiWjHA9B
EER19Z+5paenp6enx8XFxcXF/fHHHx3LinpL3mQyWe87rskdvTcz59g00d3jex+HXC2MXEzcPbAz
pQGI3IizuaNDIm/ePLOYuHt459WGrhuKMquXXHqY8Y+3a67t3Jur8C5KpITO/+i/EBL5S+yOcbmH
Q3Zm/ha+4fDdcf/MKCuM3TCuITPlMfGwR8lLHjkE+dMReWFeXMe1aU5b/cwIUb6IacfAAQBwpjVT
lC8miKKIzRHW3+xxMRzumr6pSAHhfS63sCxzq+BwWLph0Def2JkGnTu3bXPbwipTAFENc8O5uLi4
uB3kgc2RNYC7nMz8b5AZANSkJ4C/C7N9wdbPhUhOrwCiOKYYI7MSigmiOCbbMGjRihcrdzFqq51Z
Lzt0wZM3b77h/1Nubm5u6h44sPZsBQCQItL/XG5u4bUQQdgHbV00ZF7Esg+ygn76aYNN23cDBgHt
oZm1H4SamLUfpHv8lFNYWBi3qnj7B2cqAEBQgX+S+aTw3ByI37w9L+S/OYW517YyiuWdwzXpCUN3
jvpkFvT996FzzLp+8aHY7nBDF7OahKgsEYAoKyG2WFAhAACy8ri7yZgxY8aMsVh81nDreush/uak
W7WVVBK3mbPQiQkAUBEblsAMDLQBAFENFnIuMTX1kGnC4XTv7xNTM0/a3Th4o6Yo8otkp3OZubk5
5/yJ5HyUuiEIgqgs5U8oUeTi4qL449ixYwGA6kr+bBJ5P5uiPjM3pnuI+7gJuQ5MuOuwYYnDhAb3
cfDfhgYCcF741UuXoq5GRVzKFAEQDd0yN3APDXEYB8Az+ttv1Qq/Ix5euiqCt8P3Bs5nB85v2A84
NFyagMG1j6bzzrq5zw8JDZyAA69HCYKoKNx+T2LhJ0URvvOCz9h/0/23LQ8iNsc4HY1zYgqyhqN2
CADTLsjDDAAM7azxGBGpdB1DpyAXJgAwnfzMis/mE6vmGMk/couyEgjvfUYdC7hhkIsoLKvGKT/f
emtQZUKWoEKUjvlvsLa2f6HyjpQKt1a+Q8PiA1mVWVm+DgcAAEgRSVYQdsB02eptBgBm/iGmYZH5
xFYgsrctzsb8fjrX5zBOoji22GzDSRscAMy811vvOp4n/gSY1n5OTAAg8mLzTVcdtcEBcJdV3qa7
2gMPGpwz8GdQbHdOiatOHs0KDnYYD2auQS52zEoM5KMlM7+yxwFEeRHBvsvCnHK/sh/GGhv5K6kk
ABBFkWuXHcD3xYXaACEAprW3HROAMDI0NHOyZwIQhmZMEJFmrh64r697sbe3v//WPXOM+n4xBEEQ
ZPgMdLSkYs/bpUuXLl26VFVVlZaWJi+5cuVKfLvq6urq6mr1dr3vEh+NAwAOOACOK34wqI6az3YM
jHg4bv6GJeYAAN0+NWD4ALKt6tyU3McNo5dcfZwR+Y/1PPzxpQOrpvP2P+xZMsAjgCBDiShKjpc/
aAC38fY3K75Rg9sxiWKxfFybqFjEnFD389ns7MPzLIyNHXfnFx93523LQj3IQw57ge9+yC7nh8iK
rXH1MFNYwO2C7AWxCclpmLe33xRxbEJCAszxMHvh8g59rGC94b+5cpmZKUddcQAMoPuYP8Ogf590
Td8W9lIXVvuR6ZHPyuN9iT0OgR7troIgwH5rXGFZWWHqST8QMa0Nu5xxpn3QemtBev7wVLeDskqK
ssJ8Fx82/ObaOf+Oa0LhclU42bjTV5mF1w4F2YtitqG/IwiCIKpsoJmbi4uLi4uLr6+vr6/vkiVL
lixZYmJi4urqKi9ZtGjRwnbGxsbGxsYDGC3ZG+LxpUwSeDv3h7rj8i61/t5Gqi/t3xB69jE+Ycl8
Jvy2NzTiUtTOJe6zeaG3bodOGDc/Ag8Jj4ra+zZAQ7XobveSQXqICoIMKrI4YvPmM3kEAFGUEFlh
7W1t7TIHTz+TLgIQZZ1NAI95c7/Kra2tffLkyZOcfXbW61Myv3FCPcjDDAMAglRcABBknU2oAYCK
mIhK+yA7HIiaihoCiPyYCns/M+hcAMDtA02zDh4Xu7qY2ftbFx84KHDxM3uJ8raX6G0F3Nrbriby
eJoIACrOLOUtO1sBAKL8mCwRANQkR1ba+9vhALipi6v/oX3WMZvDFJ4l2Rma/FVwaz/riojYIgIA
KhKOF5t52zM6jwhuH2hXeSahggAQZZ25UQlAdsarenq2O8gP8112tggAapIPx+LegV1rThTFHC9m
OlkPT3U7atGzkhURS4PTvH9K+ab/LjQyL8zN7Qzp5L/hm6N7nETFFco7jxEEQZDh1/9oSQBIT08H
AAsLi/v378tLpFIpAFAUBQD6+vrOzs4dwyO7DZh88SrhDnv3zkv5KGisltG0eeMweJxZTfD62oCo
vhp+/LjDkv0h88Ov/rM6cOdGvx/BaNrWSxG+M0EzNHfDzunjPwLMfN4/ovZOm0aEdy1BD6xEVBFz
4dHv04ODHY+TgFn7/mMRMQAAIABJREFUfX8uyAjgk5MbgoN5XJLArLd+3/cINmR4MJ1c8O3zeHhK
Soh8IfH/AMNFZxc7hInA0PvQOX8jIJLX8nb7pZ4sLrb2s8aByIuRL8i3DzIVbLP2NsOZTG9TcZq1
v/wXL1hOpK/l7fbLzFxlpnwFfOHR77PXbuZxSQCmy1f/DjGDLMCxyoNLfcNIETgdOhdkBGnykIz8
v/nqrNvaiJCUDd1j9N4tfxX/k0ezgpc5HgbADL33nQsxA4Xhu8yFRw8lLJvHPYgZWVtjDFArVYhX
5fRsdzjs2ee0bDH3MIChy55/f2KDQ578PrfjAACAmXp8cnKP0/BWG3fqVknI+uBAtkCc7W7yBQAA
mK5PSfHubWvMfv0nTsHLHI9jGOD2O056M4es4giCIMiLUVOaXLW2tt68edPLy6ujhOqhZ5LWs/zM
mTMff/zxEIaDvCny8vJMTEyGuxaDqaqqCkWk4l4iIiIt2DEsMDNx4Rv7YViUFn5Y4P2Jvw1O5IW7
B1eezPymx5cOI+xSGXnh2NsP5118g+LJkyfGxsZKf7V3LwUAe/eqDW2NXlgfIbwuRkAIMCKiQCGo
AvG2bbq6ump79+bl5Q38b+zWDcED6nMbSJKmtPAVIkKQF0RUxIdt+yIyvVhMYoZ2c9bvOxTqagQA
FeE8xy+KFVY0DIn8W17IR9ldhgRZb83I3GMztDV+w4jSdm3OCjoZOqDOQsWVibxdvhHecf9yVbF+
mjFjxgxsxQSLAa44Yn1xeG37orvJWQAAqK2tHa7aIK8RCqhWScvTZ9VN5DMZ9RL3X7QR1AieqT3t
vnNKRrQ2l9QwiNbnF+7cAwA2k2PNtjMebUanabxSvREEQf4c/WRu8gTsenHUnfJfgIJppvM8LAIo
ikouvXiXnwhATTX2dDP3oygq5XFM1pMkCmAK28OV4yvfUE1N1b/EQkaKmpi1bruJHecyLzoZAVGR
HLYsOJiZmih/dLmh37Wc77veBPbkfQAoCuctLj6a8y90f9hQEBWn51UO9ImCiitXJGcZ+e9QvXOE
cg8E+VNJZVLhsyei5np9HQMjbWMKKApeMnmTEWpG+mzFEomsteSPghrRE11tDwMNo+kTtWlqdPGz
+sySZDaTY8eZqq/DGowgEARBBlNfmZu89+zSgxOXCk6unfo5JZN9n/25TCYDoH7MOxzi+ClQ1Nnc
ffKS6MKjwXY7KYDz+fspSjbD2Ad1uyFDp+h4WJrr0dwN8hmMcLM5e/79VUQ+QfR4MikyXCK3Hcyv
FAUH28Vd9K8I/2D72WICgOmy4+Q3QXDWbV5MUGriBmbaNrfNxDepOwSdK6+CGzeYfquYUJMctnZb
ZDEJmHXQ0XN7XJk18duCdycLgARD72/OfTPHCHqWIAjy2nr6rFrUXD9WnyOjtTZK61opQgqSl9tV
AyXAKGnHjxRFVQge1YpqJ413SsSlYpmgWHoPp2mPGT129piFT2oqbxZcXugYhGtoDVIoCIIgg6P/
zO16yU9Bk/7qbOIpHwnZ2CJuahFpa+pq03W4Bs5jtMbiNJ2sJ8naGgycrjNB30l/CluLrtMxbHLI
IkHeZDX5aQLrtrRNDrcJCu0Y/CiInWcS2/6DYeA11Ms2DIK++STCN//ouVXM5ODNN/zjcoPMQJT8
odvasy6pG07uiFm8OYJpGpE852jqHCYT2lc2g5rIBPA/yRQlb96c4PRTTpw95IXN23YmMNE74Ytk
p3OZX9lDXsS2yPyaOUaiyO4lKHVDkNdUE/lMTNRxxoxvUqtrlDQADObHCVFTfW19rZOFq0DtcYNE
SgG0UkSrhHgmqRPTasfpOf5elfeg8tcpFi797wtBEGQI9Z+5CRorWdom8uWpJp4ymUzQyL9Z9vPX
dzZpa+jaGjjPswiebDT7VkXs4ftbtTV039J38jQP0tM0QmkbMnTIzpvWKiLceLvzSQAwDEnJ+cYe
lI6WRIYLURzTYxpocN3w/dZIx83FIddyXLs+y6Ntlmqi4nAeM/Dv9jgA2O9JTQQAQtx9+mAmmlAY
QUYKUXOdluYoGa21qVU0uGkbAAjqq8cwWK0azbUEn4LOUZGUTCZo4WvSdMwMrB6Uo8wNQRCV09d8
bvIJ2UZpMhrJBvlyXk3GzbKfx2iN/YdH7KeuP8y3eP+x6OHV0n+P0Rr7ueuPnzifnGv+XoX498TH
/3nZydwQ5GUw7VwMi2OzRAAAZhtSn9TW1mZste4+rzCiKnpOAy2qyBNgGJGXJei6Zscs1YoTOrfN
I9Zj+mA0oTCCjBgtElKNBs9ljd3vbaNe6l/XDcmW5zQNNZFEIFUcQimTSVplMomsjhDI1FpFz+qH
NGAEQZAB6Ctzk494dDbxvPz76WdkQ82zyrM5X1IUlVB89m83/MbgY73GLzdjvEVR1NVH5z5Le1cf
Z88xDTTVsQaKQpkbMpRw+617nNI+CA5LLhIBAFGTFXM8uQJQ6qZK2mZwVjYNtCht1+Z0v7iUr/DD
H0RUKKzcMUs1buZtL4pNKCIAiLyDi30P5jf0mD6YQBMKI8iIoUnHCMlzGSUBCij5PxlQyh90PRBd
JjfCNDAxUddCtQAAAAUUJZPKJK1SmUTaSspIoqXm2RNcQ3uYDwGCIEgP/Y+WDLDdcvHBtx/GuwPA
Asv3Z5oubmoRC5r4HyV5AcAEfadA7nYtuo6wqWrnLR8AsNGbHGAVim5yQ4aWkf+5VOzg7t3zLJaJ
ATBTF78NP13b0PYA+i73uQE25WhOYhAaSjfUOmZwzjz6fZDiNNDM5G1r011OpjrZMI9uPeP2QYR3
4gZDJxd8+7xpzQGG1sHWOAAw5xw6mr52mXyK5KCj55xGM027TR+M42hCYQQZKUZr69fXCjVxmpoa
TSaTAABQQL3ssEmZjJLJOrcdw2AX8nNxJqYOdEpKURRIW6WSFqm0laKk0NLa8qS62mn8rEEJBEEQ
ZBD1NRP39OnTBzhvW2/lsbGxn3zyifJXllRfPZs5IWTJuAFNKYcgXYz8mbjr7py9UGjit8KTgwEA
SPjxp+5Yr1hmM6rHliT/VlI1d54Tq70pSYS3foj6TTJh6RpPtrxMwr96KraY5bvR37yP9iYp/++p
bIc1vrRrP9yxXrGMXRQTmVIFptPG1j6esGKZTe89mG0bdtv5CJuPGJSfo+xn7T9pGkyYvdDThjEc
NXvN/ZmXSlPpzfjbj54BDdOzmzvfid3jMiZLr56/re27YhaLDiT/TnxSYb0UaLrWsxfOMseEt87H
w8IVs1h0AEldXtzFe9gs/ynCmIu/NbdtruS0D9GVT/JvXrxj4LvMntEWZkpRPWAMtsPcuQ4sDJrK
b8XfLH4mBdA2mzFvNlf/Zd9qh3Em7oraUnFLnaYWTU0dKHilb4MFfwgNx3Z5yv/DijxRi0B7NP7T
UWegqKVb77aSrZJWSkrKGoXPR4FekMc6LUyFut1GwNTDIyAEGBFRoBBUwZ8yE3dHDvZCM3Erlvf1
4g0lfB07d5S2IUivmh9eu8NdMZvT96hPsr5K+IzbtYxG0yQrCp9K2Gw6AEiqC6sH/qp09tzAhTSM
fFRYz/Zdt9icRjZNpKGBp8ppT1i6Up4fN5XfjIpPKjL37yPFRYYaWZ6SUm3jt9JBX8q/fj4p22LF
DP0uKzQVJaU8aqbZAQBAXXZKke7cFf4cmvDW+bg7Nitn09rXk9Tlxcfe0569dL6NtlBI0307UJ7O
kfxbkfE3y80Xmw/paSeFhbeu3XxYz3Bvi+JaUhVnccgyNq0uNybhFjtwFpmSVGXhu9KJRRfnxUQm
FZst4/b81kfVGeuZ0xs0ahtrgC59xelhW0lJK9FlRgEzfYtKgbrgSRXZSKqpqzXWNbe2SFuaWlub
paZM61mT5qlU2oYgCCLXf+Z27949mUxWV1dHUZSDg0NOTk5HVsZkMuvr6ymKmjRp0pgxY3omb338
qW0oKcHtnHBoLEmKvpL7VAJ0A4clgXPH4Y0Pr0RdLWkECehMWBS4yEoHepYgyBuArms9Ra8o6Q53
xWy2QkNtKr917WZxvRRouhYz589mVd289/QZGR9v4L/YvvOLf21za6y8sF7CZtFBUl34lGVjQNYr
2dySAU2lN+NSHpE0bT09UgoAkuqkqPSxdho5Nc3NSTHX5/Jaku5br1hmLsy6mpJfLwHATKbNm83V
p3ff8M02yoRrgl2tFhMGT1Ou3a0mpSQJLPuFvjMMquPP35ZgzVXN7IUr3CV34m+XN4MUtC1mL5xt
PgqA5Hc9sAzF9RcObUIw4mDmC9eYAwBAc3ML0Fjd3vHEhUnZ2jMcDLLlH+np2jQQkwAgJaVAwzrS
Nmld3tXYbGxm4HybUdBjQjE6xtCmwZASP8ou15s+b8LtewAAIGmuEo+ycGdjAKBvZgG5hfXU23bu
s9ksOgBos/Ww3+pJCT/lhxRgazeJxc+k7LftaFVFT+ufSU3c/TwtofRm98tSJdDV6ezRnNGj9EXN
Dc3kMxklg5ftedOQNmlKu8SlqTbKisVg65in0lhE63P8ub6mhBo/xtjUZjyHNU5HC/WeIwiiivrP
3KZOnarYjebp6dlbt5vitvJf9Z65NT5+CHYBOFESdekhZ0VoCBuqk76/kuXwwYSHSSWcwM3z2VCd
eSW3utHKisjtXoJSN+TNoG09e3Z95NXb3BWzDdqKmoquXa0yW7rSX58uLoy5eDVv6bLZzrkxT+cu
tO/yQYOubcPVvp1fL5nNgurCpwZ2U+r59Uo2Zy3GbqYI7ZausWc0lcafr2jLwNR0HObNLI96NGOp
J7s6HgDI8qSkChv/EC4DyPLrkdfyTfy1lW34xpKIy/OqJHpztZ/+liedsjTEZhSI8yIj71Y5L6RB
s5g+M2STJQZ1WefL2QtXzGKBMPdm4dMm81H0Hgd2qUHn+shgkAjvxMRl10gs5rkrNhJJXW5Srt5s
f5PqmGwxAAAwuDNMcuNOfKcJUrDwXsGigxBAWp8bf/Fh1aiZyzuHKkuf/RZ17Df5Ms3EPVBviEeP
MLjz54NEePO2/Ee6tgmj6d7D6ikz2FD9qLi+WbuZrm9uKf+luPjOI2yCnz40A9lEs1u6zBxK/3sq
qWpeyDJPGv/qD7crmvSaMrpdlqqSugGoq6trYzq4hhYF7FcZLolLdY2NlI+tMjcEmUzmM8UaQE2D
roFpoAlkEARRXQMaLZmVlUVRVF1dnfxxkfLCSZMm5ebmUhQ1evTouro6efno0aM5HA5FUfr6+n0N
mCT4DyUT5utIGkqqcYe5bDoAsOdu+AAAJOOs6GfPRjydMMHOznWulQ4A3qMEQd4U2jbuswvPX73N
XWoBAACS+uJ6hsM8fToAMCze1rv1m5A0V7olXduCqxmXXy+ZSeY/ZTvMoN1Sunn1E+2n2ty5DAAY
Zf42R/ue8npIG4qqn1VXx5y9CwAgJaXS+moYyIYjXfPDi8ceAgAATdfEbv4881GjzBdrl5fnZVVX
11TVt9AkUqABpmctv7+KwTGjx8RE1VtY2NhMmWE+CiTV3Q+sWGLQuT4yGOisGcvWONflxlyMz2Mv
a/uKQyLMTSpiz/VnY83tQ4nJ0qSkGpul62awacLcmLhrhWxfA5A2V1SZzfN9+178tSyzpU7yu8UU
RksKc+Nj4u6wQ2axenv5ITDKZt7c6vj4s8eBweGaGGDP2voAJXWF1+Lu0mf6O+mDpBkwPQsDDEAy
SlubwWZhABJtBgaktMdlqXLU1V+1V5NO06DTNJT/Sp0CddDRQk0OQZDXwIAyN0dHR6WdbLNnz+7t
nre+R0tK+PmN49xHA1QrjDuRNDYQ+GgdzvzN250el5Tk516JSLEK2byI07ME3R2HvDFG2cydXXj+
6h3sRcfu0LQtuJq/5VdXkfVsBwN6U1/rtneY9fnpSM/Br+0mIbKpiYbVJw10w5Gs8z63Nk2l8VEp
Emtnrrk9h1XPz2srpslXobNnrVhjxy+vKC68GXXX3H/FTOh+YEfRq3/rWB95RZK68nIp25KFAV3f
woZxt0IssWfQAUBSX5hfU/Ps4olckEqlAFHnpf7zQYhNmM7GAIBlba9791G9xABounYLZ9uwwMD5
YlTCHU7gLHaXF8BY3Lf17tx7CjCcmRtIgDXFf80sOoBEeOv8Iz1tOgBZfee/8Y9Yc5cqjH5UuK4U
2myPy7LL+GwEQRBEdfQ/E3c3VPtcbf2WUxSF40pHHUiq8xvYdqMB6KMnsIn8h08lAJLqlLNnU6qJ
6qSIiCwJx463aMlcDvG0QSLpUfInHQoEUU2jbObO0ivOrmoBALqetZ44t7hOAgDiR7/VMyxYGA0A
JEoGK9JHWXA1H92+/ZTNNWj7HNZzc7axtUFz/qM6CQBZVVje3HM3AABAG21h0FT4G58EAHHef8/H
5TezBrThm0byrLiaxp05y97GXLepvL6l22+FdyIj86RsG4fZc2ewyXqxlK7X/cCKh6XeI5W0Pjcp
KU8oAZDUPSoU61no0UHSJG6S0FmzQrZs2bJp06ZNK2ca6L0duGK2ia4Jg3xUIW8dFUXPGCYMeQcb
AABd32HeDFp+/G1+11kCJXVFv9VjbL2hD61LLZ7eiYnLrwOApvLsYrrFBAaIc/8bz7fwDRzATWvS
HpflEFQZQRAEeRl9fbE2kKdHKi3v2AOTqWxCJcnT/KcGdgZ0AMCtFi15HH0+PLPtCSUcHB/tzok6
H55JpwOd7R4wAafTed1KBvsYIIiKG8WdO7vwhyQS2odFxf2QDUDTtpi50I4BwDahp1w8Tw9cMbvb
AxhGWXC1U+6x5xrQ2zvHem6O0efOrYqP+yEXMIYeQ7O3KmCWc+fXXEs6f0oKgJnM8h7whm8YusGU
KXrxsWcfaWtrG7A5uk9rmsCs87est53Z8XE//EajAZ01bZ4FBvQeBxZe4DmgSD8wy7nzq+Ljf/hN
CjQ96/kLuaNAUn7t/G3rFSvse/Rij7KZ514dH3cqW0oHbbMZC+0YUN/5W7q+w8KZRefjb5os0la4
z42ma+Y8bwa7+76GFp09YyY7LvZUNoC2yQxvZ32ovnq3prmlJupYBgAA6L4dGGjR29a0npclgiAI
opqUz+cmkUgyMzNjY2OfPHmirt5Xv1xvZDKZsbHx3LlzFyxY8MqVRJDuRv58bq8/FBEyQCPswI68
cIZrPrdB1MfsT3v3UgCwd+8rzTowBEbABFYjIAQYEVGgEFTBIM/npq6ubmVl5efn19z88oOgtLW1
XV1dX3pzBEEQBEEQBEEQRK7XzI3NZrPZwzwCBEEQBEEQBEEQBIG+n1CCIAiCIAiCIAiCqAKUuSEI
giAIgiAIgqg6lLkhCIIgCIIgCIKoOpS5IQiCIAiCIAiCqDqUuSEIgiAIgiAIgqg6lLkhCIIgCIIg
CIKoOnpjY+Nw1wFBXsbIu3RRRKpv5EWkIkbYgUXhqJqmpqbeomhp0QCAxsbWoa3RC+sjhNfFCAgB
RkQUKARV0Nra2tLS0vriUaA+NwRBEARBEARBEFWHMjcEQRAEQRAEQRBVhzI3BEEQBEEQBEEQVYcy
NwRBEARBEARBEFWHMjcEQRAEQRAEQRBVR1daKpVKc3NzW1tbpQpkMlnPBYqipFKpRCKhKKrbj1Kp
1MDAICgoaIhDQhAEQRAEQRAEGWGUZ24ymayhoWHx4sUD3AvVgzyLO3PmzOBVFUHeKIJru9aFJfIB
Y1guP3Rk02QmEA/Ob9kSniMGzHbjiRNrJuJta4qubZ4Txvoh+bOOEmQoEBlrXQ8EJF+ax+woEmV8
vj0n4MimiWT7Qt+nhHjweeBpr6hvpkP7wjCdwp6xEBlrXQ/4JF/y7V7yAyt8IKH183oPAJ/4SjUe
RKKMXX4HbH+4tMIUlLU7wbVd63ZfLgUGx3H1oUNrJmIPPnf1Pi1s25hhG7DvxDe+pipQbcVKMpWs
gyAIgrz2BmG0pEwZefJGkuSr7x9B3kCilN27c3x+SMtKT9jHOr39WAlAyektxxh7krOykg9xTm8J
f0DI1xTEbd+dKOx7b8gQEZdmFvC7LPSNn5rD8rHFFRZUGO54KOGEF3OAofWNnzoYNRoEogcXt/mt
vFAqbvuxR7sTxG3Znsk7kZaXlXyEd3lL2K8EAGCc1Qm/l5eXl5f/7wQvc/fuFNHwVltpJbutgyAI
gowAr5S5dfSt9Za8tbb2NrVlw/UdHhxdXV1Ljw0hE3V1Pa40AHE70ECX47Fgoq4uJ+R2+fUdHpa6
urq6nBkbzhcRAFDTrYS4t4Gjy1mwwW+iga6urqXfqSKi60vc+1fgZANdXV1dS48d12sUdqBrMDnw
VBGhrARBVAPT/WTWL2uscACxUAwYC4PKzMtix+U8JgDTcbkXmZjKBwCovLj9GGvHaltsuCv8ZiKF
0dsXuDjZ2zi9/90DovLi7vACfvS6dUeOty2cL8lY6+Tx/vvvvvvuuwuWbLtYQgAQKe/aeJyvBACo
TE1l+Dgy2xZGH/Pw2F8CAKKU923sN2cQAMSv21yW/GvPi5VfFLTVrmR/ryuIMr5738PFxcXFZYG8
VgAk/8KWBS4uTk4LNl+s7PxjSPy6f4HTu6dKCCBytnuvi/x3e2iVnYdBkPL5uy5OTk5OLkt2XasE
IDLWuix4f4GTjdPaFBEIru1a4OTk5OLx7tolTkviRPLAh+T89Ksy8Viq5Y4jAZy2BtSj3RHCTD7L
K2AyEwC3cvOCzOjS7t9HYgwOa4jbX7dqK6kk0SM0ImOtk8fate8uWeDi5LH5u1Pb3l+ywMXJY9s1
AYDg2q4lLi4uLk4uS3alCPp4YQRBEGR49Z+5paenp6enx8XFxcXF/fHHHx3LinpL3mQymdJ9Ntze
EPTdfcPVZxIi3qlJqlD4jeh/5DtnzkSs428I+q7G80xCQuRyuLAx8FR5TXRItxL5+vdrFkVmJ39u
L0j67Kv/KaRexO2d/jvjYfmZmMiPzP/33YbP7uX9K/S7++b7k/OzI9eYi+7friCKepS8yqFEkMFG
PNi/xMl1S6bjRh9TQlwgZtgycAAAnGHJEBeICaLk1PbTlvt28FjDXdM3FSkkvU6kZ+UlbxQeO5DJ
Wrov1JYTcOLElvVtCys4AGIhY/WJH3/8MSqUDN8eLQCcdyQ5KsAUAASZieDDY7YvTPDhkamZlUCU
Xi7FyJzEUoIovZzDCpj37ouV8wzbasfpZYc8LGX79lSfH9LT09MTdkD4lguVAECKSZ8T6elZscuF
B7Zcln98JwtOrdySE/DDD2us2voDxyxuD61j/J0gbsuWTLcf0rKysqKWl+7ecr4SAIR8LDS5KOuk
O1zbvrtgeVRaVnrsRkapvHNYkJk4dOeoT6ZLjx7d5MbpmngptjucxeMIE6N/FQGIfk28XCrkCwGA
5J/2fsvc3NzcfFLgBdbG1ZZD3FvardpKK6kkNLEQW37i0i8J+ziJxzK9jlz6JfmIbWp4qqAk+kCq
44nk9PS0Ez5kagFK3RAEQVSW8vvcFLm4uCj+OHbsWOhxY5tUKu3of+t2t5uyXRIVV+6TMHXX5wEz
RxPM5f+X9F3n72b+bVeAJ9wODCGBvLDK+wIAAGBJ+fnY/a4lRcRUAICZm5ZPMgeYavhZXo3CgBWi
6Mp1Edjv3xXgaRTgyQ8DHBqu2GCQtHOOxwXXmXOXb3rHBgfnHiUIokLwiTsvZYWWnAr0W3fedl/3
37YUnt5+2fFQ1GSmMGc4aocAMGwD3EwBgGVriV0WKx8cznIM4DEBgOnowym9UECscDc0xQEARDmJ
pNcew44FnBXAEx/IETgWFFhuDOAn5gj54kzMZ7WVpe0LlXekVLil8h2ySsNz+Dk5gS7hAACkmCT5
pC0weBu9TAHA1Gc550B0AbkRyJzdgTmYzw8n+ryljSi9XMpZfcQKBwBTr9WWYacLxKHAsPRxZAIA
UXC5gLP8kBUOgPOWe3HC2gNfOjhn4M+g2O4cL604cihn3TpXe+DwAni2DD4G8tGS8vtKRQ9OrQtc
ecAx/bPhvG3P0FdJJXtiWHrZMgEIFovFcZQvcRggJjk8Nyww0LvUy8vHZ+MOd0OlGyMIgiAqoP/M
TS49PR0AamtrAUCeoTk5OT169Ki2tlaepHWUT548maKosWPHUhSlrt5Hnx5ByD/ndOnoYjI7bofH
Fibwo2biRE0NYWSE3w7sVjKauPczAIYNINuq+d/tGiP7SYtiHyRHX7gQfSXpyj83/nxFkP3rX3uW
2AzwgCDIn4ooSUklHedNZAJu5eXDCU8VYm4MMkdMAOBAiEvFDJuGuAs5OXy/SaeBJEkA7zlkbPJX
k9HXD0MLe4Fxcl3v+yVyLgt5oaYKC2AbYCs8nZgqxLwO+eREhycmkuB2yBRw1ouVd8B72aEYwHJ1
1I2dVgAAIoEAM8RyTmMA3WNhBZzYI9y9+8CvL3NhtR+ZHvmsPN4X3d3Q6NHu+ESApe3GqKzPcADi
wedzEi27joxkTgxYbXkgvABgWB+4QkC3SvZyuhQuV4Uw8Mmf3bi/PCM19XL0bu9wtyj0dwRBEERV
DfQ+NxcXFxcXF19fX19f3yVLlixZssTExMTV1VVesmjRooXtjI2NjY2N+xwtidssmsmEvM92nLoS
/VXohS5DM+SDwWwCpgIZ/9lX12+f3zDFynTGqZoeJeXKK1pz5f+27jhfjtss8mRC3j92nLoSvSfI
29tjR3r6jskT/U9hyw+cObPLHkBUI7rfvYRAwyURFUGWnt6+/cIDAoAoSYzmW3pZWvHcsMwLmSIA
Uc6FRHCb4/5Zenl5eVFRUVHaHlvL1Qno49bww6AtP+tYABDmXEgUAEDl5dN82wBbHAhBpYAAouAy
39aHA50LALhtACcn/LSYx+PY+liWhocLeT6clyhve4neVsAtvWyF0aczRABQeX7lnJUXKgFAXHA5
RwQAgtRovq2PLQaAcXg83317LC9vP/CA6Blj26vglj6W/NOXSwgAqEw8XcrxsmV0HhHcNsCWfyGx
kgAQ5VxI5QPjhST/AAAgAElEQVSQnfGqnp7tDgoOBK68UAIAgtRjlzGvgK41J0ouny5lOFoOT3U7
atF3JftBPti/YMEF0tF3zVeHdjiKS/noyWIIgiCqakB9bvIONwsLi/v378tLpFIpAMi72vT19Z2d
nRUnA1CkdIf4zPDITRVB34UG3Z+7fCbzflL3r3qNAs5G3g7a8E9/b8Cs3zl2drm5Ed69BP6nZM9E
zfV/nT49adHnKzz3x+yvWfVZaNDPYDh1U+ThhS6guel/oZ/NsdsJmNncz8/+bepU8kDXkknogy+i
IpjzDh3JXLfO9TQJmKXPkRNLDQFCj6xet26OE0lilhuP9D2CDRkeDEcetttvDpaQsFy+cOkrwDDx
hUCXA2Jgee074WsIRMqWOWE+CUdKSy19LHEgHlyWLwAAMB0DOMLdll4cnMnw4ogz23/xguVE5pY5
YT7JN1aYKl8Bn3foSM6W7XOcSAAGb8+J5aaQAxjGD1/57gFSDI77Tiw1hAx5SIa++/Zc8N5yennC
6u4xeoXJX8X3yKGcdStdjwFgLK+2vXVgzju0L3Gl39RwjGVpiTFAvUwhXpXTs93hsGOP48pAp2MA
LN6OE6FWODyQ3+d2GgAAMI5b6JEdk4e32vjkHpV8AdjE1aGO61a6nsYwwGxDj3gx+98GQRAEGRZq
z54961na2tp669Ytxfncepuxre/yiIiI0FAlo2KI/+0J+azIaO6a5VPJK6FB/6zZlP7gAEqbkIEr
KytTGFk7EohEIhSRinuJiJTM+faGEWV8d0zoFeprhRMPvvNexz+S/FWPLx1G2KUy8sIZP378cNfi
Vf3xxx/yu/R7+uorDQDYtau3R2Grij5CeF2MgBBgRESBQlAF5K5dOjo6rbt2lZWV2dvbD3CrrRuC
B9TnNpAkTWlhbzvEbRY5w6qvdvqfBgBD100Rf0VpG/KqiMprB3YfiM4sFZMYy9Zt9Z59m6YbAkDl
dx6uB0oVVmQtP/3Xgo1/y+kyJMhyY3LbbT/In0Q0sMmpe65MDPMs1b0xNzcf2IqJkwa44oh14NiW
9kXvt+RPmSov72XEO4IooIBqlbTUNQmaWxpllPKnVQ+E4KmwiVbXfeeUjGh9XvZ0DCkhfv41EwAM
dY3Hj5nAZnLoNI1XqjeCIMifo5/MTZ6AXS+OulP+C1AwzXSeh0UARVHJpRfv8hMBqKnGnm7mfhRF
pTyOyXqSRAFMYXu4cnzlG6qpqSnfL+7819gHfx38cJA3liBui3cYGXoi+d+TDYGoTDmwct06RsIl
+aPLWT6xaUe73gRW9B4AlHznEVh6KO0bdH/YUBCXZhbwA15iZX5qDssnVPXOEco9EORPJZVJa5uq
nxEifR0Dhg6TAoqCl03eWmjsMUaKBRJZ66Oa3582VjNHWWGauIudlroaXfysPoefbtDAnmDkoDfK
YBBiQBAEGVR9ZW7y3rNLD05cKji5durnlEz2ffbnMpkMgPox73CI46dAUWdz98lLoguPBtvtpADO
5++nKNkMY5++u90QZDCVnD6QyTuUtmYyEwAAN3XfcWLP6QKSaHvmDTL8Lu4OL+CL162zjfq3D/+7
LbsvlJIADF7okX1L4cICv8sBCZfWMDJ2eW8n9yWECjtXXgGpqQyf5UwQpOzfsju6lATMMuDQiZ3T
mYJru9aFpQqBBJbXvhNfuRtCzxIEQV5btY01z0jRWH2OjNbaKK1rpQgpSF5uVw2UUJPq3JaiKP7T
xw2NDZPGO13HZSKZoFh6D6Npj9EbO3uM95OayrTia54T/XENrUEKBUEQZHD0n7ldL/kpaNJfnU08
5SMhG1vETS0ibU1dbboO18B5jNZYnKaT9SRZW4OB03Um6DvpT2Fr0XU6hk0OWSTIm0xQkCm0XO2o
cGsJbrV0U8fgR+Flv7cut//ACohFvWzDYOm+0NOBBYdOrGCkrN2e6hOVvtQURCnbvLdc4P2y5kjo
5cDtpxic06luhxLcmUxoX9kUBBcTwecIU5Sydnui4w9pP06EB/v9dl8IuOSVeCDV8UTyZxPhwand
0QUCd0NxdPcSlLohyGuqiXzW1CrijBnfpFbXKGkAGMyPE+LmhgZxg5OFq0DtsUhCUUC1UESLhHgm
qRPTasfpOf5elff7k9/eNucN4osiCIK8uv4zN0FjJUvbRL481cRTJpMJGvk3y37++s4mbQ1dWwPn
eRbBk41m36qIPXx/q7aG7lv6Tp7mQXqaRihtQ4aOwkxZlacWzAkrIAGAtTwh7auJoHS0JDJciNLL
3aeBJmD6miMbo123py6PTZve9dEObbNUE/xjBYyAHRNxAJi485dLAECIu08fzEATCiPISPGMaNDS
HCWjtTa1igY3bQOAp6KaMQxWq0ZzLcGnoPNPBSWTCVv4mjQdMwOrh5V5KHNDEETV9DWfm3xCtlGa
jEayQb6cV5Nxs+znMVpj/+ER+6nrD/Mt3n8seni19N9jtMZ+7vrjJ84n55q/VyH+PfHxf3qfzA1B
Bh/Dlscqlc9GBaZrfikqLy9P3mj5AnMkI0PKcnVUulxycsKh6TiAiF8gxDCyIEfYdU0i57KQ52YK
XSZ0bptHbPJnN+7H7guwFV/e7T1n16/KShAEeU21SEg1GjyXNXa/t40ahH9kC0HTUBNJBFJK2rlj
mUzaKpNKqDpCIFNrFTfWD3XMCIIg/ekrc5OPeHQ28bz8++lnZEPNs8qzOV9SFJVQfPZvN/zG4GO9
xi83Y7xFUdTVR+c+S3tXH2fPMQ001bEGikKZGzKU8Ikbdzhmblm3P6VEBACE4Ne406l8QKmbKmmb
wVnZNNCijLDtmT5RCXuwY1tOVSqs3DFLNc7xshVfTiwhAIgH4YGB4QWiHtMHE2hCYQQZMTTpGCF5
LqMkQAEl/ycDSvmDrl+YpgYmJupaqJa2F6MoSiqTtMqkEllri5QkWgTPnqCb3BAEUUH9j5YMsN1y
8cG3H8a7A8ACy/dnmi5uahELmvgfJXkBwAR9p0Dudi26jrCpauctHwCw0ZscYBWKbnJDhpah74kE
LDwszG/SSjEAxuH5rP4hdk3bA+i73OcGmOOhtEtL0VC6odYxg3PyoSMBitNAM1J2b8nkHUmYbMU8
tPGC95ZTXpfWsBx52G4/j6bFBpZBljgAMN33HcrcslI+RXLAoROTmUxOt+mDcRxNKIwgIwUDH10p
qtXEaWpqNJlMAgBAAfWywyZlFCWTdW6rr2NUXJ2HM3F10JDJKKBA0iqTtEikrRQlhZbW1ifV1W+b
TBuUQBAEQQZRXzNxe3h4DHDett7Ko6KiPvroI+WvLBHc/OlXq2XzTQc0pRyCdDHyZ+JuyLoYW8Ke
7zdzLAYAIPkj+cfs8X6LLLR7bEn+cTdNaOU2aUx7U5LU3o2OK5BaLXx3pqG8TPJHyo9Xy/Q9gxdw
+mhvEn7ij3m273rSUqOzx/stYpX9EpdRDcaOhvV8S79FFr33YLZt2G3nI2w+YlB+jvIa23/S1Lea
7jHTQnc4avaaG75LpZl/90ZGWaMUQMtkitt069F08o+sG2klIinQdMZP95jG0Ybm4is/prWN4qWZ
eL7noZUdHVfwvG0PSk77EIVD/nEnPlvfc9EEXQBoLr9zI6NMBJo6LFtX14ljMCXrvKRhnImbX1/W
KGnQ1KKpqQMFr/RtsKD6qSG7y1P+i6sKnkmeauvh0f/iURQVsCWjlWyVtFJSUtYofK4lG+3v8r4W
1vMP7rAZAVMPj4AQYEREgUJQBX/KTNwdOdgLzcStWN7Xi4sf/6H91nSUtiFIr56XpGZb+c0Y2/eo
zxZRdV1jt0nEaTTNlqqSOomhIR0AJMISodJNlaKzXH09aBhZUSJieb7nxaGRzTY0NPBUOS2rhQHy
/LiZfyfuRtojkwV9pLiIaiH5GWnVZp4Bk8bQnz38JS6tzGQRqyCjTMfVb8FYWu3d2OvZ4wNm6ouq
nrPd3us8r5JaoOnY+vpNG0MHIP+4G3cjg2/ixRnS007WFt9LzSgR6UwHAIDmR6lp1WzPgEWGtIYH
V2/cY/nONKR3W+d1xGaaPhVr1DcKgS7tdXrYgZGQklaiy4wCJsxxVbXqtfwnRCOppq7WWNfc2iJt
aW5taZKa6FhM53qoVNqGIAgi13/mdu/ePZlMVldXR1GUg4NDTk5OR1bGZDLr6+spipo0adKYMWN6
Jm99/KkVlZVhEybh0FR260rSgzoJ0PUnzl88yxRvKrn+35uPm0ACo6zmLvYcPwp6liDIG4CmM96e
WZaWbeU3w1ChoTbz76ZmlImkQNMxc3ab8f/s3XtYE9faKPAXE0iCQDCYECVAuSoIFhQtCBZFQQRF
sWhhqy1qtdrqI3vrqX76Hdv6Hf1qj90bj+7War1V/aTVikWhiIJQQaiFQkVRuYjcNCQSmHCbCZPM
+SOAXALiDSi8v6dPn2Flrcl6JzOSl7VmlkCamadoUKWkCAIDOvxhnWdhY1BVTNAiMzbQ8mKFwEag
InQ0tzaGprIbVzLLVSwen69SAwAtT4/LNndk35Y3N6cnXvdxV6XfsgmdZ6G4lZZ5n1ADGIjdfL0c
TNldGw5vhmJ7sUGavIESlGem5clVapUKBOP8/D0E8uTYm2qDZmmz0C/US52TcrOqGdTAs/LymyYx
BKAedz6wRh3rz+rfhGCYYRmN8/ISmrEBgCfkGxQQKhDzWNCgAgC1Sg0sAxZAg1zR3EDEx2Q2swT2
Xr5vSQy67sXAiMfq347Xl+dX8Sf72t/MAwAAulnawLPyEnEAwNTCCgqKCVpk0LkO0I+Tz2WCkNfc
0NCgFjqPY0lLFUSDWuwVON0aym50PS0HBfYItshkrAnPtJ5UNlH1DDDwoiNvbJqnT3eKSx8MbUYZ
i3iSND0B1UIaNJqyacbSRGxhbT1GYGnEM3k1MSCE0Cv17MxtypQpHYfR/P39exp269hW+1LPmVtj
RTGMm8clSy8kFo95Z/W7IpD9+j9Xb7n8zb7414djFqyYKQJZztU7skYbG+pO1xJM3dDwwLPx8iLi
0m7ah04TtBY1PUhLk1oEh801ZdcX/RKfdi94npdbQaLCx6/zfCgWz8aed/M+QU8zA3mxQjDOlZAS
OpoL/A0yMxXjgsPHGzeVJcdWtWZgeoYTfKc+iiufHDxdKE8GAFVlenqVTeBiB2OgKq/Hpd0XB/J0
NRy26Pqq+1I134enKLivdg1ebGsI9fd+jsuTuvmxoLmBNTXsPWsO1N06XyX0C33LDGruZBYrmiSG
rG4HNljwtD56rdimEmvtVn1pTrmBfaApGPMmiwuu/M/3BqAGK79QMzZdozKyGOfmM1EEj3+LT0kr
CvUXgLqhIO5kgbYpS+wVwu/n2SPGDjNmAF1zoy0OntioOa9Y5uohAll5KdHMawYw61wHAEDVzBoX
PE8CZUk/pEt9w+ZNZz1OPXezqonfnNPltBwsqRvAiBEjDDlGXH0eYyx6memSBi0jx4zWPbdKYmag
0WgCXCQAevpsfY4+LiCDEBq8+jRbMjs7m2EYhUKhfVyktnDixIl5eXkMw5iamioUCm25qampRCJh
GEYgEPQ2YZJ8XKy2nzmSVj6Uc1zeFrEBQPT2e38DAFpiw/rxx+8V9vbjxk2dbjMSgNOtBKHhgmfr
5VUcm3bTPtgKAABoopQwcvY1ZQOAsZUz/2aBgrLQ2ZLFs7I3uHKfoKeq7iuEzpNZNwFA3a25vJqn
4Nn7GAOAoYWzmJenux8aZam8QS5PPJsHAKBWqdWEHPrScKhrLo4/WQwAACwj8ThfX4mhocSfV1l1
75ZcLpcSKpZaDSww4NsIOQAARmILVmJiHGFlZWPjOlliCLSs64FtUAue1kf9gK4rSruSx5oaONEU
qLL0dLlN8N88RKyaO4lX0oqEcx08AmZpK45xdTWKLVWoBR1nS9bcSUm8kiNc/JbZAIZgaOvrI09J
OXcajMT2YoFBg+4xQAO+lYADQPN4PCOhdsvIAFTqbqfloDNixMuOarJZ+myWvu6XRrBhBOAgG0Lo
L6FPmZu7u7vOQbaZM2f2dM9b77Ml6cf3miTT+ACyDtPO6UaC4vBHjp25cu2bFQ9L7925+n3mG0tW
+I/tXoJ3x6Fhw9DWx6s4Ni3HwOg5G7J4VvYGBfflUhUhdBawmnur2zZg1uu3I75z4CIPUwAAqqmJ
ZUCk97XhUPb0PrdWTWXJcZlqGzd7i3FiASG931rM0h4htuitRe+Oe1xVVVqcGZdnERg6FboeWEOW
vKC9PnrdKFn2lZRygU/wNIkhAN1QpTCwnyziAICZzTijvHKiyai8HKzGj2lNZ1hdPhmOmb0zPydP
ATCQmRvQIHANDH+LDUDX/BZbzuf18EuyQ+87xNHttOw0PxshhNDg8eyVuLtg2tZqe2Y5wzBcrs5Z
B7TsvlI43gSAbWIvpO4VK2gAWnbjhx9vyEjZr99/f4seM36yf+D0MZRCSdPdSl7ToUBocDK09ZnK
L82XqgCAzbfhNxSU1tEAUF9eQBhZCTgsAFDrmKzINrSyNyi/eVMhtBe0fg9jdWsuNLcRNN8vr6MB
KGlxVU/53QgTK0FzccFjCgDq712JvXK/WdCnhsMN3VAqZ9lPfWu8rcSouYpQdXm1Jvvnn++rhbYT
pvlMFqqIBjWb3/XA6njYL3pd6u9cSZFa+Ye03dnF5omNVOVV2gukqrTBSGzEUpXnpOfLaAC6pqCg
WThO0Cl1o+tKCwgD4QA/Q5VW5CReuV8HAE1V+aUsK/vn+juPuttp+Zq6iRBC6GX19oe1vjw9Umd5
+x5MTHRNP6AV9xWC8QI2AHBt/AMrLv10OKf1CSVjuVz+tDE//3Q4h80GltBrnj2XzZ7cpeRVHwOE
BjlDBx+v4nPpKmibFnXlXD4Ai2c11W+cMYBQzMqMj2WFhE4z63xBG1rZ8zLzhD4CdtvgWPfmHLaP
jzTlyrkCMDDiG3V9+EI7A2sfX3laemyMGsBA/BwNhxm2wNWVn5J4tpzH4wmEYiOFvBmeTmdlmzm7
CVOunCtgsYAlcPO14gC724GF53gOKHoZtCwnT96sksedzAEAACPnkNC3fL3kKVd+yFezgGcxWXue
+0pTUn44DSwDgbOfr4QDNR3vc2MZWbj5Th7g5SHZoslThVcSY/IBeOLJfm6mzzVkxup+WiKEEBqc
dK/nRtP077//fvHiRalU+mKP4mUYRiwWz5gxIyAg4KU7iVBXQ389t78+jAj10RA7sEMvnIFaz+0V
6mX1p9279QFg27aW/u3RcxsCC1gNgRBgSESBIQwGr3g9txEjRtja2s6fP7+pqemF+2RoaOjl9ddd
SAYhhBBCCCGEBoseMzdzc3Nzc/N+7g1CCCGEEEIIoe56e0IJQgghhBBCCKHBADM3hBBCCCGEEBrs
MHNDCCGEEEIIocEOMzeEEEIIIYQQGuwwc0MIIYQQQgihwQ4zN4QQQgghhBAa7NhGRkYD3QeEXsQQ
O3UJgsCIBrmhF9EgMcQOLIYzCI0cObKnKAwMGAAwMuL0b4+eWy8h/FUMgRBgSESBIQwGGn19AwMD
zvNHgWNuCCGEEEIIITTYYeaGEEIIIYQQQoMdZm4IIYQQQgghNNhh5oYQQgghhBBCgx1mbgghhBBC
CCE02LF1lqrV6j/++IOiKLUuGo2mfZthGLVaTdO0dqPLjyKR6L333uvnkBBCCCGEEEJoiNE95qbR
aGpra318fHx9ff38/Pz9/QMDA4ODg0NCQkJDQ995550lS5ZEREQsW7Zs+fLlkZGRq1atWrVq1erV
q1evXv3hhx9+9NFH69at+/jjj2ma1rl/MnUhV880MovsVJi3VqynF5hI6myC0DBTHb8pwM3Jyc3N
c3F0NgEAQOYfW+7p5OTk5Lb4YH6H64SI/8DJbVs+Xjn9jExf7hQQT3QsItK3LY/OJztsPGMX+dsC
Pk4nO2wMkO6xkOnLnQLO6yjpY2jPeL/8l2v/ShHpmzwDjpVrf+h+3VXHbwpwsrFxcvNdfjCfACDz
tzmZtbPx/fh8+QD1u/3CL4z2NOtg7PK2U6lTaAghhP7yXsFsSY0uDMNoNBqSxC+TCL0IInnz5uxF
P+bezUvbK/p2/b5CgMKDq/eZ7Mq6ezfrgNXB1V+2fXeuPr9+c4JsYHuLWhFFGfkVnTZ6V56cbb7I
ldthYxDjehxIPRnE72NovStPfhU9egWI/DMfz1lyvEjZ+mO36676/Or1GT4n80rvZh32Pr96WzYJ
ABzLD1OrampqamoenPTO2LQpmej1TV6Ljhe+Y1RWjVbuAT9L7692+XC7hYYQQmgIeKnMTZueaf+v
M3lraWnpuTWZ90XgG3p6etzxkTEPO72QFW6qx12YSgKQWZFtmyBNjPIU6+np6Zm6RR6/1yklrMuK
Xjieq6enpyf2jEqUdqirxx2/8OA9UlcJQoMYf9bJu2lrHbkAhEwJHBEXyjNiCY8V3nwAvkdkEJmQ
XA4AUH5m/T7RjrUug/s7/5BFymLW+7o52Yx1WhydT5af2fTl7Yozy5d/daB141hR+nInz8WLQ0JC
QnwDPj5TSAKQySFjPbXDIOUpKfxQD37rxqh9np47CwGASF481uaDdBKAzP7YLeBfW56v/Ex1a+8K
d/ZYgUiPXuzp5ubm5uar7RUAWXH8A183Nycn3w/OlD/9F5LM3unrFHKwkAQye/2M5d8faQutw0BO
dfK2EDcnJycnt4BN8eUAZPpyN9/Fvk5jnZYnE1Adv8nXycnJzTNkeUDrMF55Skq/fD7PVJ6wL9nh
fx8Ot2xdhbnbdUfKMsrNg8I9+ABcR78gyDhT1PW3B5dvJer3RZx1X/jV5zftJDYeiLCC7qGR6cud
PJcvDwnwdXPy/CD64MeLA3zdnDw/jq9uHWh0c3NzcgvYlFzd/d0QQggNEs/O3DIyMjIyMuLi4uLi
4h4/fty+3VFPyZtGo+l5x9S9usCD12K3uN0/ERF+XPqMbkhjwhfukwaeuXYtNhJOrFh48GH7S2Rq
VODff4bIM7/Ebnkjb1/k1qw/o9fu++2Nf2WW3o1d+0ZdVupD8l63kr4dH4QGEJm/M8DJfXW6x8ZQ
K5K4TfBdTLgAAFy+A5+4rSTJwoPrDzp8tcNbNNA9Ha4oGRl0Mu9uadZG2b6dGaKIrz5xsYw4eXLT
+taNFZYARDV/7cm4uLi4LdSe9Weqget9OOvnCCsAqM5IgEXe/LYN51BvMjmjHMii80UcKjuhiCSL
zueIIuYte75yb/PW3ln1sENvbvL69SmLfszLy8tL2wF7Vh8vBwCKoBadzMu7ezlStvODWO3Xdyr/
4JIPsiN+/HGtY2uKMDqsLTSrtoNQfX71Bxl+P+bevXs3bkXR5g+OlQOArJz7SdajuydnQfz6zfmR
P+fezbu80aRIO0ZUnZHQf59Rr6wivvsuapZV5/yn43XHFXlbVSfEZBMARHZCbJGsXAYAVMW3MyzM
zMzMzGwXHBdt/NChf/9y0sOFT2Z/ubMo9KsI7SejIzSimhN5Miktba9lwr6MoO+S0rIOu6R8mVJd
eOa/kj1OZuXl5Z5cRCbfxtQNIYQGLd1PKOnI29u7449jxowBAKYz7bNJtONsHfWauXEWfhYVOIM7
47M50XNTL9wjw0176QV5LyaLAupExMwT2saJ98ioN7jaly4kEvBm9GfhgeLwwLovgAt1F8Zz4PLf
vTyP+84IjIwKH88Fz24lCA12XNcdSXc/KTwYMmf5Mdevur6qunNw/XmPA3EefFn2QPQOAfBdIvys
AEDk4sA9T1A664g8Irz5AMD3CLUqOn6bXDHLXPt1mshOIIN2mbdvcEUR3sTO7GqP27cdNkZUJGTL
yokMzqK1Dg6uz1XenlJxHXTvUFS0J7siOzvEbQ8AAEVQVDnpAnzvjUFWAGC1KNJy55nb5EYgczYt
yOGE/niy12mcZFFskdXaw45cALAK+tBh27f5yk+A7xDqwQcAMj/2tuWKA45cAK73iiDLbW2BR7ya
T+B16HjdeSStOHwge/lyNxuw8onwduFXcEA7WzJrtysXgMg/uDxkyU6PvN2u/dU9Ml/3hU9k7Evg
b7zcy4fFdwhy4QOQ5iKRlYcrH4AUWfGBoKx8/LghITOKgoIWLdq4Y5Z5jztACCE0wJ6duWllZGQA
QE1NDQBoMzQPD48HDx7U1NRok7T28kmTJjEMM2bMGIZhRozobUyv47BXT79ryLoOtTgLrtVdmMEl
pVJSLNad50nzUqViN7eFiQ8zY44fj7mQeGHPih8uSO/e29q9ZHwfY0eo/5GFycmUR7ArH7iOQYus
9qRUc/34ZLaSBOACSRQR/PGKn47n5FTMsT0IFEUBzPCkLmd95YF/k+hfnOc44FTnZzJlx1b7fGLV
YQNcIlxl3yYkV3OCDoRmx3yZkEDCrANWwBU9X3k7bg87VAI4rP05a4cjAABRXc0x52Z/ywHoOudP
FPH9LtnmTTuzX+TEajsy3fJZbbzPu7v+0e26KycjHFw3xt3dzQUg87d5JjiIOh0JvmvEhw47v7wN
0F+ZG1l0RueFT2YfzxZF7rXqtXGH07XDh8312J11NzI9OSX2zKYZe2bF4b8jCCE0WPX1Pjdvb29v
b++QkJCQkJCFCxcuXLjQwsLCx8dHWzJv3rzgNmPHjh07dmxfZkv+HLU1JjFm69bLFHgu7DgIxhVz
gco6fiEr8eAXqdpf+9zx4Z5A/bz1s8TU45Hjx4xyO/gQpBe+WBt1/CF3/MJAPvz5WdTBCzFbF86Y
6Rn16/Wo8W8EHuRGRsfEfPYmQJ2U+K1rCT47BQ1qVNHB9euP5ZMAZGHCmXKHIAcH71ncjGMZBACR
fTwB/ObM3p1XU1Pz6NGjR7m7XBw+TMWvWwOPAwAk1XEDQJZ9PKEaAMrPH6xwjXDhAlldXk0Ceft8
uWuoFTzdAOC6hltmf/mt0sfbynWRQ9GeL2XeoVYvUN76Fj1V4DoEuVSf+TadAIDyY4s9lxwvBwDi
9vlsAmDGd1oAACAASURBVACqk89UuC5y4QJwLb19Fu3d5XB+/c4Oz5J8Gpr2XbgOoQ7lB2MLSQAo
T/i2yCrI1eTpEeG6hrtUHEsoJwGI7GMpFQDU03gHn+7XHdzeGbLkeCEAVCfvi+UGhXfuOVl4/tsi
vodD/3WR66rzwieLkvP5s7xfZLyMyt/p63uM8li09qsDOzyIonLdg8cIIYQGXp/G3LQDbra2tr//
/ru2RK1WA4B2qE0gEEydOrV9emSXCZM979V8gee9rXP3lXHe/DA2JlwMZNutbly3qOh3L0SeiJiR
Oicy0BwuAACIw2NiUxdG7pk7Ezjj3j0WE/kGee+L6G+/dVv4RWRgdOK/pOFb14X+AOZvbbxwMGQ6
GETlrd3qZfN34FjP+e+Yz956i4zuXOKG33HRYMYPPvBdxvLl7t9SwHEI/e5khDnAJ4fXLl/u6USR
HIeN3/U+gw0NDL6HN3fzHE9uamqkdiPpn8DhEscXuO0kQBS09+QicyCTV3tuD007XFTkEOrABTL/
vHZD2z7CUrbJIciKy+cHWSrTHRZpX3jOcjJjtef20KysFVa6K3CDD3yXs3q9pxMFwPfe/X2kFWQD
l1Px5eKQnRQBHntPRphDujYk80Vf7T7uu/pgZOrarjEGbde+y6LDB7KXL3HfB8ARBe06GWkFHWbx
8YMP7E1YMsfpS465gwPHBPRKOsQ76HS/7riwY5fHkgVO+wBE3ju+/8SRC/na+9y+BQAAjqXfJ4d3
eAxwvwGo8tuE6MMXmujIcf3wE4/lS9y/5XCA67rlcBD/VXcOIYTQK6KnM7lqaWm5du1aQEBAewnT
TfckrXv5sWPH/tf/+l/9GA4aLvLz8y0sLAa6F69SVVUVRjTIvUBEZPpy953hWUnBw/bLMJEevU8W
9MkiRy6ZHz1jecXhrK+6/dFhiJ0qQy8cV9d+u4vvdXn06NHYsWN1vvTZZwwAfPaZXv/26Ln1EsJf
xRAIAYZEFBjCYKDctMnY2Fjvs8/y8/P7/m/sxrXL+zTm1pckTWfhS0SE0HMiy+N3bvqvMxlFSooj
cpn14a69UT7mAFAe7en+X0UdKooiz/xHfuTfczpNCXLYmNl62w96TYj0beuzIw5H9WmwsGNlMn9b
yMGguH/7DLJxGjMzs75VTLDtY8Uh67/2rW7bnGFxHADa7ppGCP2FMMC00Kon9dJGql7D9HI7jG6y
alm93pPX0bFXi2E0ZEvT47pKolmh1qgBQMyXOIhdxppasVn6A907NNw9I3PTJmBXimJulP0CDLxl
OcfPNoxhmOSSs79VJgEwU8b6+1qHMgyT+vB89qOrDMBksZ+PJETbUE9vsP8RCw0V1edX+24nt5zM
OuthDmR58s4ly5fz05K0jy4XhV7O/a7zTWCP3gOAwmjPBUUHcv+N94f1B6IoI7+ir08U7Fi5PDnb
fNGWwfcZYe6BEBo+1Bq1vP4R0VQrMBptbjiWAYaB50veNKSeuUD8mrr3qtCaluLHBdXEIxvRuPEj
J4KeeoQeW1lfm1WcLOZLXCRTBrqDaLjrLXPTjp5duHPoQsHh1VM+ZzSa73I+12g0AMwP+fsi3f8T
GOZ43i5tybm7B5a7bGUATt3+gmE008bOx2E31H8Kv92Z7nMgb60HHwCAazVrx/e7D94myZ4fW4r6
2ZlNX96uIJYvd4k7u6g8+oPNx4tIAL73lsNfRcBx3znnI9KS1vLTN/muJ79K2yJ7WnkFpKTwQ1fw
oTp55+pNZ4oo4DhEHDi5w4dfHb9p+fZkGVAgCvrq5FezzKF7CUIIoVfhSb2UaKodI5BoWC0NakUL
Q6qBfq491DEyDqN+Td17JRiGKZc9qCFqJtp4tOg3VdJ3mtVKDsvQzHTMTLPgR9UV1wouupvPGOhu
omHt2ZnbleIfIyb+Y6qFv3YmZINK2agiDA2MDdlGTqOnmvHGcFlG2Y+SDfVNuGyj8QIPwWQxj23U
Pm2y3yJBw1n17XSZQ2vapsV1jIhqn/woi51jEdv2gyj8Mo6yDYCIrz45GHL7wMkV/OTl61MWxeVF
WAGR/LHv6uPeaWsPbzm/YP1BvuXB5FkH0mbx+dBW2QqqzyTAosN8Inn9+gSPH3PjXCF/55xNx8KT
ghL+K9njZNZuV8g/uOnM7epZ5sSZriWYuiGE0MtrpOqVpEJiZtOop2ig6wCG5rc7orG2prbGw9ZH
pvfwCVmuAQYAVDRZTyuUrJo3Rrnfr8ovfJRva2070D1Fw9ezMzdZQ4XQ0EK7PcXCX6PRyBoqr5X+
9H9vfGSob+w8euoc2+WTzGf+Wh677/eNhvrG4wQe/tYRowzMMW1D/Yd6etNa+UFfz+23KQAQRabm
fuUKOmdLooFCFp3vtgw0+Kz9buMZ9/VFkZdzfTo/y6N1lWqyfF8+P/x/u3IBwHVHWhIAkMquywfz
cUFhhBB6DYgmBc9gpIbV0thCDNW0DQBktVIzE2GLflMNWanpECaj0chUlQYsI6vR9r/9mREICwaw
k2iY6209N+2CbCMNTBqoOu12fnXmtdKfzHhj/tsv9j99TgTavveQuJdY8r0Zb8znPj98MvXwbOu/
lSvvJz38n2ct5obQq8R38RYVxWYTAABWa9Me1dTUZG506LquMBosHNb+nKeVlZV6wIcLQJTnyzgc
Mj9b1rkmmR1b7eNnBZ0WdG5dR8xjd9bdy3sjXInzm2Z4bsrWVYIQQujlqWhKjwXNmgbd97Yxffuv
7zUH6D9K1czS1yNombrDrE5Go6FbNBpaoyBlGr2W+sa6fjroCOnSW+amnfE41cL/4v2j9VRddX3F
8dz/wzBMQtHx/0gJNeOOCbBZamUyjmGYxAcnP01/V8AVz7IMtzRyAIbBzA31J67rxh0e6R8s35lc
SAAAWZ19/tvkcsDUbTBpXcFZ1zLQRPq29Rmhcam7ufs+OFjeoXL7KtVcqyBXIjahkAQg879cEPLl
7bpuyweTuKAwQgi9DgZsDkk3axgaGGC0/2mA0TCt//WVjiWmBhWOPkdJKlSMCgAAGNBoNGoN3aLW
0OoWSkORqur6Rxw2b4A/DDS8PXu2ZJjzhrN3/t/H8TMAYK7de9MtFzSqlLLGyr9fDQCA8QKPcKfN
PLaRvLFq66/zAcBx1KQw+yi8yQ31L/NFJ9M4X27fPsd2iRKAY+kduvbHy2tbH0Df6T434Ew+kJsU
gVPp+lv7Cs5ZB76L6LgMND950+oM78NpHo78AxuP+X5wMChprcjDm7t5zltNYSKH5Q5cAODP2nsg
Y/US7RLJEQdOepjyLbssH8zl4oLCCCH0GpgaCmpr5AZclp4eS6OhAQAYYJ5z2qRGw2g0g/qboZmJ
+G5lHpfPGQHsFg3FqBkGGFqlVrcwjBpULapHUuk4y4kD3U00rPW2EreXl5f2jxDPXLetp/LY2NhP
PvlE9zvT0sTjWeMjF77RpyXlEOpk6K/Erbhx/PRdi9Bl/hIOAABdGX/khsOyJY4ju7WkKn+9KnWa
4yFsu5Ro+a8nYv6kxy9e5S/WltGViUdii4Qh6xZZ93K90WU/H8lxWxXCunzihsOyJeLC82dSq8Dy
rTE1D8cvW+LY8whma8MuOx9i6xGD7s8op77tJ4PR42cG+zuaDETP/uIG7lRpLLkWf/1BPbA4o1xm
B3qIOTpKaHn+5cs3pRSwRk8ODnYTgvzXEzF/NrXuQcfH3l/hUCWJp64bhix7W6jMPnU6s7b9BZZt
6JpgCRsAqMprZ2+MDlni+hKnJa7EPUgM+NLD5TUlSpXCgMfSGwEMvMgf52WP5aIxwtfQtZfQLYp7
FfmESmZoygU2MBoNALRQLXQLo6Y0DfLmkTBqxvj5tjZ2A9DVV2fAz6WXNwRCeC0rcbfnYM+1EnfH
8t7evK640shlBqZtCPWo6d7lG07LZkp6n/VJ1VbJ6506l7FYBlT53Se0WMwGAFp6V9r3d2WLZ4cH
szjUg7u14pA1C6xZVOMEFk481c1w/OL3tflxY9m1mPirhdaLeklx0eBClaWmSh1D33cTqCuvnLqa
Y7tscn3XkmmQdznHYPqyVdZQee3M5ZsW4VMBWMZvhi97W8gGoCp/PRN/rcx6gXV/f+yNhVdTHzSx
XAAABB7LNngAAIDy7s/n7zpOl7ABKPndXy9fu1drMqOfe4aGqLGjrNl1+jUN1cBWv9hqvS0U3UI+
30ICr13XL6qM5SgbkI+QP6oEjobFGgEALSq1qrGlpUltyXd4e+IcunlQDxuiIe/ZmdvNmzc1Go1C
oWAYxs3NLTc3tz0r4/P5tbW1DMNMnDjRzMyse/LWy7VdV1zMdfHgQkPx1XOX8p7QwB7ttjB89hvc
hnuXYhKLG4AGo/HzwufZG0H3EoSGAbaxw+RRhVdvOC2bKe5woTaW/Xr5WlGtGljGttMDZwqrrt18
Uk/Fx49etKDDH9YNrR04ZXdrabGQDbT07hOh42iqVkdzOxNoLLkWl/qAYhmOGkWpAYCWXo3JGOOi
n1vd1HT1/JXZnqqrvzssW2Itz05MvV1LA3As3poz00nA7tpweBtp4WTBSZQqydFPUi//JqXUFAVC
1+CQaaOl8aeu05ymqiZx8LIZ9I3462VNoAZD25nBM61HAlCVnQ+sScf6wf2eEAwnHOvgVdYAANDU
pAKWkK2jRFlWRIlnWnAAQOxiS18uU0617rwXNsfEkNXPPQfl3as5htPcRud0+hrcWHjtBjV5sZMJ
ACgf5JSN8poz/vpN7Wt0ZfyJVBAbNiqV9Wrxmy6sqsIntfVqixmh/nZQcq3raYlQV+wRbLGpxHSk
gGiqa6LqNYz2WQbPMWlSX91ooB7sZ5fBCCMHIX+MkXVt4xOiSaHWqA1oxsZsrKWjjUT4hhHP5FHz
o4HuIxrWnp25TZkypeMwmr+/f0/Dbh3bal/qOXNreHgPXMK4ZHHMhXuSZVGRYpBe/e5SttsH4+9d
LZaErw8UgzTrUp60wd6ezOtagqkbGh4MHWbOrD2TeN1p2czRrUWNhZcTq6wWv79IwFbePX82MX/x
kplT884/mR3ceT4U29DRyfD67Vp6phCkd5+MdplcW1mro7lwAedaqtxl8SpXk8aS+FPlrRmYnpHb
nOllMQ+mLfYXS+MBgCq7erXccVGkkwlQZVfOXL5tschQV8Nhi1aW5VfRo2YbPvkzXz15caTjSFDm
nznzW9XUYBY0KdnTIz+y44Ai+1SZOHjZ20KQ5127+6TReiS724FdPPppffT60fIb5+NyqmnbOTNM
upfQTU8ozmgDNgAAmzOKQ1WpaGtQ1/8Z882f2tosixnho/p39gityLuaN2rmIgvp+Rxlh2LpzRu1
DsFO2jBMnAIDgZZfu/60AtXIclm8xBpKfj5ytWpO5BJ/VmXiievljaMaM7ucloP9yzUaICNGjDDk
GHH1eQyIX2C6JFdtPNb8LzPDjdbQNE0DMAB6+mx9jj6uLIQGhT7NlszOzmYYRqFQaB8XqS2cOHFi
Xl4ewzCmpqYKhUJbbmpqKpFIGIYRCAS9TZgkK+/R4wON6LpiKddttpgNAOLZaz8AAPoNe/bx4wef
jB/v4uIz294IgNutBKHhwtBxxsy7pxKvOy3WrvtJ1xbVmrjNEbABwMT2zVG//imnrHW2ZBvaOhnE
3a6lp1O3n4jdprF+1dlc+sjwiaHTbBMAGGn9psTwpu5+qOsKpfVS6fnjvwEAqCm1ulYKfWk41DXd
O/vNPQAAYBlbuATOsR450nqBYVlZfrZUWl1Vq2LRamABZ5SDmAMAYCKxYp8/H1Nra+voOHma9Uig
pV0PrJIe/bQ+ev3YwmlLVk1V5J0/G58vXuJq0rlEOFNXmw6zJeV58efjbogj3+63u3doed7VQvHs
RWJOU6dJ0FRVzgPO5MXCnn+rc0bZjuYA0CMNDU3EQg4AbWjCAUrd7bREqDcjRrzgIDObpc9m6b/a
zrw+bJY+/GU6i4aRPmVu7u7uOgfZZs6c2dM9b73PlqQrbze8McMUQNphpgfdUEdyTY0kges3ezws
Lr6dd+lgqn3k+nmS7iV4dxwaNkY6zp5591TiDc7zPmKAZWjrZPDnbWkVVSt2G81u7K1u24BZr7+O
R7mFLpsmAACgGhtZnNqrfW04lD29z61VY0l8TCrtMNXJ2lUirK3Mby1maauwxW8vW+VSWVZedPda
zG/Wi5ZNh64HdiRb+md7ffRa0YqyMrXYTsgBtsDW0eS3ciVpUVvVqaSRZcWhpSoagA00Vds+/taG
I3R6c9SNm08A+itzo2vv3q6urj97KA/UajVAzCn14mUzxWxaeltq6DKj938nOpxXHa7Zbqdlp/nZ
CCGEBo9nr8TdBdO2VtszyxmG4XJ1Di7T0tt1YhdTALbpeDF5+94TGoCWph4/niolpVcPHsymJS6e
8xbOlpBP6mi6W8lrOhQIDU4jHWe/Paoop0oFAOxRDqOUeUUKGgCUD/6sNbEVclgAQOuYrMgeaetk
8OD69Sdip9Gt38O6NxePdRjddPuBggagqu6WNXXfDQAAsExtRzfe/bOSAgBl/s+n4m43CfvUcLih
64ukLKfpb7s6Whs3ltWqurwqv3HmTL5a7Og2c/Y0MVWrVLNHdT2wSp37Ra+Dujbv6tV8OQ1AKx7c
VY6yHaXXrURgYc2uyq+iACjp7QdgZd05NaIVhX/WcsSj+q/TbOHbkRs2bPjoo48+en/66FFvhmvz
LLq2TM6xtniR8TJ1t9PylXcaIYTQq9HbH9b68vRIneXte+DzdS2oRD+5/WS0y2g2AHDt5y18eO5U
dFbrE0okXK7pDEnMqegsNhvY4hlh47lstmeXkld9DBAa5EY6zZ5598RVCgBGOs6ZLY2PO5EDwDK0
nR7sYgIgtmCnnj3FDl82s8tEqZG2ToapN8WzR7PbBse6N+ewZ8+uio87kQcck1EmBj11gWM3O7D6
8tVTR9QAHIu3g/rccJhhj548eVR87PEHhoaGo8US4yfVjWD19FXhm1PF8XEn/mSxgC18a44tB9jd
Diw8x3NA0Uvh2M0OrIqPP/GnGlijHAKDnUZyoGsJwNQ5bvHxp46oadaoyYHBQjbIO97nxjK2mjpn
mniAIwFQK59Qhm++0ERHVvfTEiGE0OCkez03mqazsrJiY2MfPXo0YkRv43I90Wg0Y8eOnT179ty5
c1+6kwh1NfTXc/vrw4hQHw2xAzv0wsH13AaDIbCA1RAIAYZEFBjCYPCK13MbMWKEvb19aGhoU9OL
T4IyNDT08fF54eYIIYQQQgghhLR6zNzEYrFYPPAzQBBCCCGEEEIIvchMSIQQQgghhBBC/QkzN4QQ
QgghhBAa7DBzQwghhBBCCKHBDjM3hBBCCCGEEBrsMHNDCCGEEEIIocEOMzeEEEIIIYQQGuzYDQ0N
A90HhF7E0Dt1MaLBb+hFNEgMsQOL4Qw2jY2NPUWhUukDQENDS//26Ln1EsJfxRAIAYZEFBjCYNDS
0qJSqVqePwocc0MIIYQQQgihwQ4zN4QQQgghhBAa7DBzQwghhBBCCKHBDjM3hBBCCCGEEBrsMHND
CCGEEEIIocGOrbNUrVbn5eW1tLSoO9BoNN03GIZRq9U0TTMM0+VHtVo9evToiIiIfg4JIYQQQggh
hIYY3ZmbRqOpq6tbsGBBH/fCdKPN4o4dO/bCPSNvbZzgfXTiefkZ8y3ajVh/7gvvDaG/GtnlbWt2
JlUCx8Ru6d79H03iA3nn1IYN0blK4DivO3Ro1YS264G4vH7WTuGJ5E8n4BXSn8jM1T57wpIvzOG3
FxGZn2/ODdv/0QSqbaP3j4S883n40YCYr7ygbWOAPsLusZCZq332zE++ENK15IQwui+hPeP97gB3
wkv1+BUiMreF7nE+cWGZJei67mSXt63ZfrEETCTuK/fuXTWBc+dzn6Cj8tbGJs5huw59FWI5CLrd
sZPyr/1m7Slpr8sJiLl1eKBOLoQQQq/MK5gtqdFFm7xRFPXy+0doGCJSt2/PnX8iPTsjYZfw6OZv
igGKj274xmRHcnZ28l7J0Q3Rd0htTVnc5u1J8t73hvqJsiSroLLTRu8q03KF8525HTYGMa773oRD
Afw+hta7yrRX0aNXgLhzdlPo+6dLlK0/drvuZHEbNmd5HkrPz07e73lxw84/SADgSFYm3C8rKysr
u3XIM2v79lRiYLvdvZP2H6WUaaXv9ZV47tqBaRtCCA0FL5W5tY+t9ZS8tbToXNqy+sg0Y2O7LbdI
ACj85yRj42lHyqD6yhY/O2NjY2PJtLWnCkmdb0gWnlvbWmlS5JFbdQCF/5xgbBx6qQ7Im2slxsYT
/lnYuvtpp6o7NKy7+e/wSaONjY2N7fy2XKmGp+9mPHpS+JFCUlcJQgOHP+Nw9i+r7LkASrkSOEIO
VGRdVLov9eQD8N2XBlBJaZUAABVnN38j3LLSmTPQHR6eKPm5zXO9PVwdPd77+g5ZcXZ7dEHluTVr
9n/bunGqOHO1h99777377rvvzl246WwxCUCmvuvod6oCAKAiLc1kvju/dcP0Gz+/L4oBgEh9z9F1
fSYJQP6xyXvhv3c8X/lZWWvvir/osQKR+fV7ft7e3t7ec7W9AqAqT2+Y6+3t4TF3/dmKp/8Akn98
Mdfj3SPFJJC5m4PWnPm+LbSKp4dBlvr5u94eHh4e3gu3Xa4AIDNXe899b66Ho8fqVAJkl7fN9fDw
8PZ7d/VCj4VxhDbwfvl8nqki6Zs0uy37wyStF1C3646UZ1UKA8Im8QG49r4BkHWupOvfIzkmEmE/
X39duq2jk20foCxu+x7lur2LLYHMXO3ht3r1uwvnenv4rf/6yKb3Fs719vDbdFkGILu8baG3t7e3
h/fCbamynt8XIYTQAHt25paRkZGRkREXFxcXF/f48eP27Y56St40Go2uXZrP+4cPyM4dKSSh7NKp
Ipjy0TzuuciIr6v9jyUknFkKp9eFHynr3oy89encFacLJ35+7Ez0POqnKL+1V+qs5r1jBb+fy68r
v3SdACi/dLO6+vq5fHBYNd38acPrWxdtjYelx86f+bv1ra/Xfnoz/99RX/9u/UXy7Zwzq6yJ36+X
k4XdSl78oCL0apB3vljo4bMhy33dfEtSWaA0cTbhAgBwTexMlAVKkiw+svmo3a4tnsKB7ulwRcmp
gEMZ2fnJ6+Tf7MkSLt4V5SwJO3Row4etG8skAEq5ycpDP/zwQ0wUFb35nAy4nvuTY8IsAUCWlQTz
PfltG+Pne1JpWRVAllws4VC5SSUkWXIxVxg2593nK/cUtfZO0sMOPTmpmzenzT+RkZGRkbAFojec
rgAASknNP5SRkR27VL5nw0Xt13eq4Mj7G3LDTpxYZd86ZGO2oC209vmBsrgNG7J8T6RnZ2fHLC3Z
vuFUBQDIKzlRyYXZh2fA5c3bC5bGpGdnxK4zKdEODsuykvrvM+qV5eIDBz7ylXROvDped1yhp0Se
dO4PAoD4I+liibxSDgBU5dGgcdbW1tbWE8NPC9ettOvnAa0u3dbdSQAg/4jeUzJ/V1jrZ6WUc5Ye
uvBLwi5J0jdZAfsv/JK83zktOk1WfG5Pmvuh5IyM9EPzqbQCTN0QQmjQ0n2fW0fe3t4dfxwzZgx0
u7FNrVa3j791udtN5z7NZ/8jmLPo0pFbq6xPFYHPMX9+4cbfKaBOrwg6DQAAnKuF5PQujcjC0+dk
4PrNwX+EmcM8/pVzQVeP5MPxsNmif106l37993KOlYi6den6dep3cPh8tnWHhpeuEOD6xbYwf/Mw
/8qdwIW6S44cuLp1lt9pn+mzl370jiMXpnYrQWiAcSdsvZAdVXwkPHTNKeddXV9V3T26+aL73phJ
fHnuQPQOAZg4h/laAoDQ2Y5zUal7crjQPcyTDwB89/mSktMF5LIZIksuAACRm0QF7BC1b3CFYZ7K
Pbky94ICu3VhlUm58kplFmf+Sns75+cqb0+puHa6dygsic6tzM0N944GAKCUFFVJOYOJ57oASwCw
nL9UsudcAbUOqNzt4bmc+ScO9XpLG1lysUSycr89FwAsA1ba7TxaoIwCE7v57nwAIAsuFkiW7rXn
AnA9lwZIdrYFvvjVfAKvQ8frzv3Csv17c9es8XEFiWeYp7NJJQe0syW195USd46sCX9/j3vGpwN5
254oREcnAYisb5JM1sW2f3wmdgHOfABSKBRK3LVbEhNQUhJPX054eFBJQMD8+eu2zBD1/EYIIYQG
1rMzN62MjAwAqKmpAQBthubh4fHgwYOamhptktZePmnSJIZhxowZwzDMiBE9jOmZTv94Hj/op093
84s4s3fONod8AOAEJ1TGTOeS1dWkubkpeetSbx1qGxLjOi715x/9afc/Cc7sY9tkK7b8czdQVh/5
W/fQrvrW9Wpz14nzYu8knzt9+tylq5f+te6nS7KcP/7RvcSxjwcHoVeOLE5No9znTOAD1z5gviQ6
Tc7xNaFylSQAF0hlidLEsS7udG5uZejEo0BRFEDQLCo2efck/JND/+I8xzy5zvf9krkX5Z5Rlh02
wDnMWX40KU3OCdg7P/dcdFISBb57LYErfL7ydtwedqgEsFsZk7LVHgCAkMk4Ik7uUQ5A11iEYYd2
yLdv3/PHi5xYbUemWz6rjfd5d9c/ul13lWSYnfO6mOxPuQDknc9nJdl1nhnJnxC20m5PdAHAgD5w
hYQuneQCAJl7Ole4dFfHh6d0OF07hMGd9GnK70sz09IuntseFO0bg/+OIITQYNXX+9y8vb29vb1D
QkJCQkIWLly4cOFCCwsLHx8fbcm8efOC24wdO3bs2LG9zpYEAO6Uf7wjItLjyzmzP/IxBa5j2BSg
4j/dfeX6qbWT7S2n6ZgtyXV8Z54I8j/d+M9zl45ERcVT/HmrXLnAnbh0Np/IL4eJYdOnv+NA5RdR
onlhVgAA1Zf+uXHLqTKu4zx/PuT/95Yjl87tiAgK8tuSkbFl0oRFRzhL9xw7ts0VgKgmfu9aQuJ0
n3IpegAAIABJREFUSTSAqJKjmzefvkMCkMVJ5yrtAuzsPX05WaezCAAi93QS+M6a8WlGWVlZYWFh
YfoOZ7uVCfh1a+BxoDU/a98AkOeeTpIBQMXFo5XOYc5cIGUVMhLIgouVzvMl8HQDgOscJsmNPqr0
9JQ4z7criY6We86XvEB561v0VIFrF+AsP3c0kwCAilPvz3r/dAUAKAsu5hIAIEs7V+k835kDwJF4
eobs2mF3cfOeO2T3GFvfhWs3367y6MViEgAqko6WSAKcTZ4eEa5zmHPl6aQKEoDIPZ1WCUA9jXfw
6X7dQcGe8PdPFwOALO2bi5yAsM49J4svHi0xcbcbmO6290JXJ8mStAITX89nj6BRd76YO/c05R6y
avfeLe7Kkkp8shhCCA1WfRpz0w642dra/v7779oStVoNANqhNoFAMHXq1I6LAXTU0z65jqvCREe/
psI+nm4KAOZhx89cj1j7r0VBwHF455vjS62hsFuTqXt++YaK/PTTFfHAd3gnOuGgvykAcF2X+nB+
ird6Z4q5FTFdBEUwb6kjFwDI6iv/Pnp04rzPl/l/cf6L6hWfRkX8BKIpH53ZF+wNBh/divp0lstW
4FjN/vz4f0yZQu3pXDIRvwSjAcSfs3d/1po1Pkcp4NjN339osQggav/KNWtmeVAUx27d/t5nsKGB
YeLuydkeOouTkLBUu3FhN3A4ytPh3nuUIAzYdShEBGTqhlk75yfsLymxm2/HBfLORe0GAADfPUwi
324XIOHyTQIkyqy2F56znMzaMGvn/OSUZZa6K3Dn7N2fu2HzLA8KwMRzx6GllpALHE5l9Pvv7qGU
4L7r0GIRZGpDEoXs2nE6aMPRpQkru8YYsFP7LiH79+aued/nGwCOMKB1b+34c/buSno/dEo0R2hn
xzGBEaUd4h10ul93XNiyw/39cI9vAISeWw5F2XPhjvY+t6MAAMCR+Ebt3zJpYLvNndStkwBUZYFS
uLIP98ByJqyMcl/zvs9RDgc4zlH7A/jPboMQQmhA6NXX13cvbWlp+fXXXzuu59bTim29lx88eDAq
SsesGLLw5vXrX6+N+glWZtzZhzkSem6lpaV8/pD6fkEQBEY0yL1ARDrWfBtmiMyvv5EHRIXYc8k7
XwetqdyfvLvbHx2G2Kky9MKxsbEZ6F68rMePH2vv0u9u9259ANi2TeejsAeRXkL4qxgCIcCQiAJD
GAyobduMjIxatm0rLS11dXXtY6uNa5f3acytL0mazsKedlh9Ze2irUV815XHtmHahl4RsuLynu17
zmWVKCmO0Nl35Y5dH3mJAKDiaz+fDkvSAgiXHv1Hwbr/yO00JchuXXLrbT/oNSH6tjh198rkAK9S
3RNr655up+0iaWIfKw5Ze77Z0LYZNE77GKqyMh0PEEYIoQHHANNCqxSNsiZVg4bpeteP7Im8kaV4
qf0zGrKlWVb/SEnWaRg1AIiMx9qYjRfzJWyW/svsGQ0Hz8jctAnYlaKYG2W/AANvWc7xsw1jGCa5
5OxvlUkAzJSx/r7WoQzDpD48n/3oKgMwWeznIwnRNtTT09O5W+uP/6j/+DVEg4YvWdyGoJ1U1KHk
7yeJgKxI3fP+mjUmCRe0jy4Xzo9NP9D5JrDCvwFA8dd+4SV707/C+8P6g7Ikq6Ay7AUqV6blCudH
Db7PCHMPhBAaYtQadU2jtJ4kBEajTYz4DDAMdE7eVCyxmXkPrZ+N1rQ8qL7/pEFqaz7OeCSf0VOP
0GMr62tzKzNG14nHm7uNGjn6ZWNAQ1pvmZt29OzCnUMXCg6vnvI5o9F8l/O5RqMBYH7I3xfp/p/A
MMfzdmlLzt09sNxlKwNw6vYXDKOZNnZ+78NuCL1KxUf3ZHnuTV81iQ8AwLWcseXQjqMFFAkw+L7w
D1Nnt0cXVCrXrHGO+X5+5dcbtp8uoQBMPKP271oMp+eGXgxLuLDKJHNb0GZqV0KU/GnlZZCWZjJ/
KR9kqV9s2H6uhAKOXdjeQ1u9+LLL29bsTJMDBcKAXYd2zxBB9xKEEEKoz2oaquspYoxAomG1NKgV
LQypBrpjhTpGbsDQPTXvHcMwlU8e1jXUTbTxaNFvqqBvN6vrOSxDs1FjZpoFPaquSC+67D9hEVef
9ypCQUPTszO3K8U/Rkz8x1QLf+1MyAaVslFFGBoYG7KNnEZPNeON4bKMsh8lG+qbcNlG4wUegsli
Htuofdpkv0WChjNZQZbcbqV7h1tLuPaLP2qf/Ci/GDruYtsPwrBYHGUbAIt3RR0NL9h7aJlJ6urN
afNjMhZbApG6KWjDac9fVu2Puhi++YiJ5Gia796EGXw+tFW2BNnZJJi/n0+krt6c5H4i/YcJcOeL
0O2nwy4EJO1Jcz+U/OkEuHNk+7kC2QyR8lzXEkzdEEII9VEjVd/YQkjMbBr1FA10HcAr/hKrbKqr
U9Z52PrI9B4+Ics1wACAiibraYWSVfPGKPf7Vfn3H/35prXnq31fNJQ8O3OTNVQIDS2021Ms/DUa
jayh8lrpT//3xkeG+sbOo6fOsV0+yXzmr+Wx+37faKhvPE7g4W8dMcrAHNM21H86rJRVcWTurJ0F
FAAIlyak754AOmdLooFCllzsugw0CV6r9q8757M5bWlsulfnRzu0rlJNVn5TYBK2ZQIXACZs/eUC
AJDKrssHm+CCwgghhF5UPVnHMxipYbU0thCvPG0DgCdEtZmJsEW/qYas1HTYP6PRyFWVBiwjq9H2
9yryMXNDvehtPTftgmwjDUwaqDrtdn515rXSn8x4Y/7bL/Y/fU4E2r73kLiXWPK9GW/M5z4/fDL1
8Gzrv5Ur7yc9/J9eF3ND6BUzcfYUlmhXowLLVb8UlpWVJa+ze441klG/slsZk6GVnJyw14sLQFQW
yDkcqiBX3rkmmXtR7ulrCZ0WdG5dR2zSpym/x+4Kc1Ze3B40a9sfukoQQgihPlLRlB4LmjUNXe9t
Y17Nf5SKZOnrEbRMzaif7lujUbdo1DSjIGUavRZlQ21/h43+UnrL3LQzHqda+F+8f7Seqquurzie
+38YhkkoOv4fKaFm3DEBNkutTMYxDJP44OSn6e8KuOJZluGWRg7AMJi5of7EnbBui3vWhjVfpBYT
AEDK/og7mlYJmLoNJq0rOOtaBprI3Lk5a35Mwg7ONxuOVHSo3L5KNVcS4Ky8mFRMApB3osPDowuI
bssHk7igMEIIoRdmwOaQdLOGoYEBRvufBhjdj1d/EQb6HCWpUDEqAABgQKNh1Bq6RaOmNS0qNUWq
ZPWP8CY31Ltnz5YMc95w9s7/+zh+BgDMtXtvuuWCRpVS1lj596sBADBe4BHutJnHNpI3Vm39dT4A
OI6aFGYfhTe5of4lCjmUwIneuTN04vtKAI7Ec/7KE7GrWh9A3+k+N+C4702/sBin0vW39hWck/fu
D+u4DLRJ6vYNWZ77EybZ8/euOx204UjAhVVCd0/O9lC/xgWj7SLsuADAn7Frb9aG97VLJIftPTSJ
z5d0WT6Yy8UFhRFCCL0oE65pBVFjwGXp6bE0GhoAgAGm87RJDcNoNC/4/VZgZF4kzefyuSNAv0VD
aXNCWkWrWxhGDaqWlkdS6ZsWb718IGgI620lbj8/vz6u29ZTeUxMzN///nfd70zLrv34h/2SQMs+
LSmHUCdDfyXuuuyzscXiwNDpYzgAAPTj5B9ybELn2Rp2a0k9/i1dbu870aztUqJrfjsXV6C2D353
ukhbRj9O/SGxVOC/fK6kl+uNrkz6Id/5XX9W2rkcm9B5wtJf4jKlMNZdVFtpFzrPtucRzNaGXXY+
xNYjBt2fUX5D208GAnsvv+m2xgPRs7+4gTtVmip/S8ksbVAD8Cwm+3o5mLKbym6kZJYSYGAkdPbx
mWDG6VbHiPjtXFxBc+sedHzs/RQO9fhGfI7Af954YwDo2u3mW+djc4j2uiyrwL/NGvNiv2xxJe5B
YggsPfyXCKGytrSBrjPgsfRGAAM6xiBk0ici8Ys/uL+oqqCefmI4igtsYDQaYKCFaqFbGDWlaZA3
8zSmi7zf43G6/6Z/lf4SH0TvhkAIr2Ul7vYc7LlW4u5Y3tubKx8+NhznhWkbQj1qLk7LsQ+dNqb3
WZ8qQqpo6LKIOItloKoqVtAiERsAaHmxXGdTndhCnxA/FocqLyaE/n8LkLCoJkcWTjzVjWcfHKbN
j5sqb8SlpD+wmNtLiosGF6oyM11q5R820Yxdf++XuPRSCz9WWrpU7B82T8Squ5OYclMYMlXVtU6g
AFhGziGhb5mxAajHv8WlZFZaBEj69WOnaopupmUWE0ZeAADQ9KBrt6dPXLRiIgAA1BclJRbbTH3B
tA2h4UbMt3yi1K9tkANbrXNRYpqiW8gXXBUAACz4b1TVjKipfARcDYs9AhhoUalVTS2qRrWFka2X
k9/rTtvQX92zM7ebN29qNBqFQsEwjJubW25ubntWxufza2trGYaZOHGimZlZ9+Stp5W4AYAoLeWM
n8iFxtJfL129o6CBLZgQuOBtS25j8ZWfrz1sBBpG2s9e4G8zErqXIDQMsIxsXPml6Tn2odNEHS7U
psrf0jJLCTWwjKym+k4TSDPzFA2qlBRBYMD4p3/451nYGFQVE7TIjA20vFghsBGoCB3NrY2hqezG
lcxyFYvH56vUAEDL0+OyzR3Zt+XNzemJ133cVem3bELnWShupWXeJ9QABmK3ttGJTg2HN0Oxvdgg
Td5ACcoz0/LkKrVKBYJxfv4eAnly7E21QbO0WegX6qXOSblZ1Qxq4Fl5+U2TGAJQjzsfWKOO9Wf1
b0IwzLCMxnl5Cc3YAMAT8g0KiOZmVQPPykvEAQBTCysoKCbAuUsdFQi67MXAiMfq347Xl+dX8Sf7
2t/MAwAAulnatdu0SDsG3/QgM0flGuxgDPTj5HOZIOQ1NzQ0qIXO41jSUgXRoBZ7BU63hrIbXU9L
hIYp9gi2yGSsCc+0nlQ2UfUMMNB55I1N8/TpF79G9MHQZpSxiCchmmuUTbVqjYZNM5YmYgtr6zEC
SyOeySuIAQ1pz87cpkyZ0nEYzd/fv6dht45ttS/1nLk1VhTDuHlcsvRCYvGYd1a/KwLZr/9z9ZbL
3+yLf304ZsGKmSKQ5Vy9I2u0saHudC3B1A0NDzwbLy8iLu2mfei0ti+LTQ/S0qQWwWFzTdn1Rb/E
p90LnuflVpCo8PEb32maHotnY8+7eZ+gp5mBvFghGOdKSAkdzQX+BpmZinHB4eONm8qSY6taMzA9
wwm+Ux/FlU8Oni6UJwOAqjI9vcomcLGDMVCV1+PS7osDeboaDlt0fdV9qZrvw1MU3Fe7Bi+2NYT6
ez/H5Und/FjQ3MCaGvaeNQfqbp2vEvqFvmUGNXcyixVNEkNWtwMbLHhaH71WbFOJtXarvjSn3MA+
0IynMGrOK5a5eohAVl5KNPOaWV3rmIIa1A0FcScLtMUssVcIv58HtIwdZswAuuZGWxw8cddua1+g
ZXk5hI2ffeu/Dapm1rjgeRIoS/ohXeobNm8663HquZtVTfzmnC6nJaZuaDgbMWKEIceIq89jjEXd
p48ZtIwcM/oVzNOjNTRN0wAMgJ4+W5+jjysXoT7p02zJ7OxshmEUCoX2cZHawokTJ+bl5TEMY2pq
qlAotOWmpqYSiYRhGIFA0NuESfJxsdp+5kha+VDOcXlbxAYA0dvv/Q0AaIkN68cfv1fY248bN3W6
zUgATrcShIYLnq2XV3Fs2k37YCsAAKCJUsLI2deUDQDGVs78mwUKykJnSxbPyt7gyn2Cnqq6rxA6
T2bdBAB1t+byap6CZ+9jDACGFs5iXp7ufmiUpfIGuTzxbB4AgFqlVhNy6EvDoa65OP5kMQAAsIzE
43x9JYaGEn9eZdW9W3K5XEqoWGo1sMCAbyPkAAAYiS1YiYlxhJWVjY3rZIkh0LKuB7ZBLXhaH/UD
uq4o7Uoea2rgRFMAU18feUrKudNgJLYXCwwaWN3r0DUdZ0vW3ElJvJIjXPyW2QCGYGirs9uUNL/c
wDW4/Q5YA76VgANA83g8I6F2y8gAVOpupyVCCEaM0D2Wzmbps1n6L79/NksfXsFu0LDTp8zN3d1d
5yDbzJkze7rnrffZkvTje02SaXwAWYepwnQjQXH4I8fOXLn2zYqHpffuXP0+840lK/zHdi/BCfto
2DC09fEqjk3LMTB6zoYsnpW9QcF9uVRFCJ0FrObe6rYNmPU654vvHLjIwxQAgGpqYhkQ6X1tOJQ9
vc+tVVNZclym2sbN3mKcWEBI77cWs7RHiC16a9G74x5XVZUWZ8blWQSGToWuB9aQJS9or49eN0qW
fSWlXOAT3DpFkAaBa2D4W2wAuua32HI+j929TkccM3tnfk6eAmAgMzed3QZafl/OG+fVcTC+w3nV
4Qzrdlp2mp+NEEJo8Hj2StxdMG1rtT2znGEYLlfn4C8tu68UjjcBYJvYC6l7xYr/z969hzVxrQsD
fzGRGSIkCAaiBChXBcFCpRQEC6KgolBho4WteKnVaqtP2VtPdev5bOs5dtd+9mz8dO9SrbeqB1rd
YFEooigoCLVYaFFQLiI3DYlcEi7OwCTz/RFAIAHRKqT4/p4+fSYrsybrnQvmzVoziwFgpNe++/6a
lJJe+fbb35iJU6YHzps5kW5UMIxGyQvaFQjpJp6tr6egskjSAQBcgY2gtbiymQGAlupiuaGVCcEB
AKWWwYpcnpW9fvX1641Ce5Ou72EcjepCcxuTR3eqmxkAWlJeN1B+N4ZvZfKovPgBDQAtty8kXbjz
yGRIFV82TGuljGPv+cYUW7Hhozp5R793G/J/+OGOUmg7dYbvdGGHvFXJFfTfsVoe9otelJZbFy5J
rAJDe1IypvFG2oU7zQDQXldUybGyN9Rcpw+mubJYri8c4Weoamk2ACOva9S3ED25B02pcVq+8AYj
hBB6NoP9sDaUp0dqLe/ZAp+v7VZLpvFOo8kUEy4AkDaB82rO/fvgja4nlEwiScGMiT/8++ANLhc4
Qu+F9iSXO71fyfPeBwjpOJ6Dr3f56ewO6B4WdeF0EQDHwMozYLIRgFDEyU1J4oSGzTDte0HzrOwN
cguFvibc7s4xzeoE19dXcunC6WLQNxQY6g/UBH1rXz9ZVnZSghJAX/QUFV8yXBNXV8GltFPVBgYG
JkKRYaPsETwezso1dXYTXrpwupjDAY6Jm58VAVyNHQtP8RxQ9Hsw0huFskcdsuTjNwAAwNA5NOyN
6Z7CC2kJRQAGoukBbsYgzey/Tqh97/vcOIYWbn7TR3h6SK5Zv2ZzAUDZ2thh4DyEOX05mqclQggh
3aR9PjeGYX7++eezZ89KJJJBng85CJZlRSKRv79/UFDQ724kQv2N/vnc/vgwIjREo2zHjr5wcD43
XTAKJrAaBSHAqIgCQ9AFz3k+tzFjxtja2oaEhLS3tz9zm3g8nre39zNXRwghhBBCCCGkNmDmZm5u
bm5uPsytQQghhBBCCCGkabAnlCCEEEIIIYQQ0gWYuSGEEEIIIYSQrsPMDSGEEEIIIYR0HWZuCCGE
EEIIIaTrMHNDCCGEEEIIIV2HmRtCCCGEEEII6TquoaHhSLcBoWcxyk5duVyOEem40ReRjhhlOxbD
0UHjxo0bKAp9fRYADA2J4W3RUxskhD+KURACjIooMARdoBo7Vl9fn3j6KLDPDSGEEEIIIYR0HWZu
CCGEEEIIIaTrMHNDCCGEEEIIIV2HmRtCCCGEEEII6TrM3BBCCCGEEEJI13G1liqVyl9++YWmaaU2
KpWqZ5llWaVSyTCMeqHfSzMzs+XLlw9zSAghhBBCCCE0ymjvc1OpVE1NTb6+vn5+fgEBAYGBgfPm
zVuwYEFoaGhYWNif/vSnJUuWREVFLVu2LDo6euXKlatXr169evWaNWvWrFnz3nvvvf/+++vXr//g
gw8Yhhl6U6jCdSI9vXlplPZ3MxeResaRedrfRWjUqU/ZFOTm5OTm5rU4Nl8OAEAVHYn2cnJycnJb
HFfU60qQp7zr5LatCK+NYUZlRzsFpch7F8mzt0XHFlG9Fp6wiaJtQR9kU70WRohmLFR2tFNQopaS
IYb2hM8r+n31nyt59iavoCPV6hea1119yqYgJxsbJze/6LgiOQBVtM3JtIeN3weJ1brR7N6N1LYO
QgihP7znMFpSpQ3LsiqViqKe4p93UhT5+T++inEjf3+TEPqjk2ds3pwf/n1BSWHWHrOvN+wtBSiN
W7OXvyuvpCRvv1Xcmi+6vzvXJ27YnCod2daiLvKynKKaPguDq87INw93JXst6DDSY3/m8WDBEEMb
XHXG82jRcyAviv9g7pKjZYqulxrXXX3img05vscLK0vyDvokrtmWTwEAYfleZl1DQ0NDw93jPjmb
NmXIB/2QF95srY3stw5CCKFR4Hdlbur0TP1/rclbZ2en1opUXqSxnrH/In+Rnp4e6bYy4R4AUJKE
rX9ZH1tIUXkrjfWM/VfOe4XU09MTzYu7/Tj/o6jbcV6knp5XbK9CaM6LXTSF1NPT0xN5xaRJACRp
MV4iPT09PT1yyqK425S2EoR0mGD28ZKsdY4kgFyqAMKMhOqcJLnHKh8BgMBjZTCVmlENAFAdv2Gv
2Y51Lrr9nX/UoqQJG/zcnGwmOS2OLaKq4zd9cbMmPjr6y/1dC0fKsqOdvBYvDg0NDfUL+iC+lAKg
MkIneam7QaovXRKEeQi6Fsbv9fLaWQoA8ozFk2zezaYAqPwP3IL+seXpyuPru1pXunPAFeTZsYu9
3Nzc3Nz81K0CoGqOvuvn5ubk5PdufHWvv7n5O/2cQuNKKaDyN/hHf3uoO7ReHTn1GdtC3ZycnJzc
gjalVANQ2dFufov9nCY5RWfIoT5lk5+Tk5ObV2h0UFc3XvWlS8NyfJ6oOnVvhsP/ORhp2TULs8Z1
R0lzqs2DIz0EAKRjQDDkxJf1/9eDFFiZDfMkzv2arbWR/UOjsqOdvKKjQ4P83Jy83o2N+2BxkJ+b
k9cHKfVdHY1ubm5ObkGbMuoH+WCEEEIj68mZW05OTk5OTnJycnJy8oMHD3qWexsoeVOpVANvWJ5H
RZ4pyf3K//axqMijEo13JYvO3M79+6v157d+Utj1TyUlObPOf/1Povcup8VM6fmqSmXGzPvLD7Ay
/sekLa8U7l25Ne/X2HV7f3rlH7mVJUnrXmnOy7xH3dYoeZa9hdCwoop2Bjm5r8n2+DDMipLflAtc
+CQAAClwEMhvKiiqNG5DnMOXO3zMRrqlLytaSgUfLyypzPtQundnjlnUlx+5WEYdP75pQ9fCKksA
eb1g3fHk5OTkLfTuDfH1QPoczPshygoA6nNSIdxH0L3gHOZDZeRUA1WWWEbQ+allFFWWeMMsauGy
pyv3Me9qndUAG/QhMzZsuBT+fWFhYWHWDti95mg1ANByOvx4YWHJ+ZXSne8mqb++00VxS97Nj/r+
+3WOXX9wJ0R0h2bVvRPqE9e8mxPwfUFJSUnyqrLN7x6pBgBpNflR3v2S47MhZcPmopU/FJQUnv+Q
X6buHK7PSR2+YzQoq6hvvomZbdX3h4/e1x1p5mNVn5qQLweQ56cmlUmrpQBA13ztb2FqampqavvW
UbMP33MY5l9O+jVbayO1hCavJ1YeT8/K2mOZujcn+Jv0rLyDLpe+uFRfGv9fGR7H8woLC46HUxk3
MXVDCCGdpf0JJb35+Pj0fjlx4kQAYPtSP5tE3c/W26CZGzFv60qvKaTb1kUx58+cuU1FGvd52z9m
pdsrAF7mf/tV0txVRmft/Q5g8t+3+vdal7p9Jk0Or8Z+EjlPFDmv+XMgofnMFALO/8Xb66if/7yV
MZFTSPDSKEFI15GuO9JLPiqNC50bfcT1y/7vdtyK25DosT/ZQyDNH4nWIQCBS1SAFQCYuTiQiXJa
6zpmHlE+AgAQeIRZlR29Sa2aba7+Oi3PT6WCd5n3LJBmUT7ynfn1HjdvOnwYVZOaL62W5xDh6xwc
XJ+qvCelIh20b9CsbHd+TX5+qNtuAABaTtPVlAsIfD4MtgIAq/CVljvjb1IfAnVj01s3iLDvjw86
jJMqSyqzWnfQkQQAq+D3HLZ9XaT4CAQOYR4CAKCKkm5artrvSAKQPquCLbd1Bx71fI7Ai9D7uvNI
X3Vwf350tJsNWPlG+bgIaghQj5bM+8yVBJAXxUWHLtnpUfiZ6wi22DxcSyM1CRyCXQQAlLmZmZWH
qwCAMrMSgJy28g0gQ0P9y4KDw8M/3DHbXGtlhBBCOmCooyV797ydOXPmzJkzdXV12dnZ6pJz586l
dJNIJBKJZEy3QbbZfRec1u4vgtT6XWHy3FeJO5/EnGnW9iYASAozC+81Gy9Ku5cb//f3vMh7Z3av
8vb6/LZmyRADR2hEUKUZKeoHDZCOweFWZZfqSRcBVaZQj2uTl8kFUxr/ffTGjb1zbSdNct9+s+xr
f69N+diVPOyIp/gRiO5zfKj8pHrfAKteC6RLlKs0KTUjmwgODpuuSEpNTYXZAVZPXd5jkBUc1v1Q
qJaXl7nflwQgAPp/3zeL+vagb86mnc90YnXvGY18Vh3vM2xxGGhcd9UUBa4fJpdUVpZkHQwDucDB
rM8RF7hGvecgzbk5Ms3tMXgjH+t1uvY62KTHZ3kl5/dEucoTN+HfEYQQ0mVDzdx8fHx8fHxCQ0ND
Q0MXLVq0aNEiCwsLX19fdcnChQsXdJs0adKkSZOGMFqSPh+z9Whawidb02jwGlonmODtuIQzsa/S
P6z7pJACyZnP18UcvUdOWTRPAL9+EhN3JmHrIv9ZXjFXrsZMeWVeHLkyNiHhk1cBmiXyn/qXPM2z
UxAadnRZ3IYNR4ooAKo0Nb7aIdjBwWc2mXMkRw4gzz+aCgFz53xW2NDQcP/+/fsFu1wc3svM+9ID
u5JHGAEAFN17AUCafzS1HgCqE+NqXKNcSKDqq+spoG4mVruGWcHjBQDSNdIy/4uvFb4+Vq4XO6Fa
AAAgAElEQVThDmW7v5D6hFk9Q3nXRwy0AukQ7FIf/3W2HACqjyz2WnK0GgDkNxPz5QBQnxFf4xru
QgKQlj6+4Xt2OSRu2NnrWZKPQ1N/CukQ5lAdl1RKAUB16tdlVsGu/Md7hHSNdKk5klpNAcjzj1yq
AaAfx6t7NK87uLkzdMnRUgCoz9ibRAZH9m05VZr4dZnAw2FkmtvTisEb+QR00U4/vyO0R/i6L/fv
8JCXVWvvPEYIITTynjxaEgBycnIAwNbW9ueff1aXKJVKAGBZFgBMTEw8PT17hkf2GzA5yGZfdbv3
yfyoKuLVFUkJkSKg+t/qpg1JvrIy7r1PvPeuPLr+aGHs11+7Lfp85bzYtH9IIreuD/sOzN/48Exc
6EzQjylct9Xb5i9AWM/9e8Inb7xBxfYtwUdYIp0mWLD/m5zoaPevaSAcwr45HmUO8NHBddHRXk40
RTh8+M3gI9jQyBB4+JCb53qRmZkr1Qvp/wMEKT/6lttOOZgF7zkebg5Uxhqv7WFZB8vKHMIcSKCK
EtUL6vpRltJNDsFWpEAQbKnIdghXv/GU5VTOGq/tYXl5q6y0r0Au2P/NjTUbvJxoAIHPZ9+utIJ8
IImaLxaH7qTl4LHneJQ5ZKtDMg//8rOjfmviVmau6x9j8Hb1p4Qf3J8fvcR9LwBhFrzr+Eor6DV8
V7Bg/57UJXOdviDMHRwIPuhV9IpX52hedyTs2OWx5C2nvQBmPju+/ciRhCL1fW5fAwAAYRnw0cEd
HiPbbNJDo5FPgXB97yOP6CXuXxMEkK5bDgYLXlQ7EUII/U56WpOrzs7Oy5cvBwUF9ZSwGjSTNM3y
I0eO/Md//Ifm9qm8SJF32rxcSYKXjv77jXRcUVGRhYXFSLfieaqrq8OIdNwzRERlR7vvjMxLX/DS
fhmWZ8fulQZ/FO5IUkWx/tE1B/O+1PjRYZSdKqMvHFfXkbyL77m4f//+pEmTtL71yScsAHzyid7w
tuipDRLCH8UoCAFGRRQYgi5QbNpkZGSk98knRUVFQ/8b++G66CH1uQ0lSdNa+DsiQugpUdUpOzf9
V3xOmYImzFxmv7drT4yvOQBUx3q5/1dZrxXNVsb/rWjlX270GRLk8GFu3g7H4W3xS0aevW1DftTB
mCF1FvZemSraFhoXnPxPXx37ncfU1HRoK6baDnHFUeu/9q7pXvS3OAoAAA0NDSPVGoQQGlkssJ1M
x8MWSRvdomIHubHomTbOqqjO9gfNtfJHjUqVEgBEArGDyGWSsRWXM/b5fhYafk/I3NQJ2IWyhGtV
PwILb1jODbCNYFk2o+LUT7XpAOzrkwL9rMNYls28l5h//yILMF0U4CsOVVfU09P+IxbpldCMaR16
nuoT1/htp7YczzvlYQ5UdcbOJdHRgqx09aPLzcLOF3zT9yaw+8sBoDTW662y/QX/xPvDhoO8LKeo
ZqhPFOy9cnVGvnn4Ft07Rph7IIQQelpKlVLWcl/e3mRiOMGcN4kFloXnlrwxqs7yB8X18vs2ZpOn
jJvG6ik5elxFS1NeeYZIIHYRv25iKHxen4VGxGCZm7r37MytA2eKD655/VNWpfrmxqcqlQqA/a5o
70r3/wSWPVq4S11yumR/tMtWFuDEzc9ZVjVjUgh2u6HhU/r1zmzf/YXrPAQAAKTV7B3ffhZ3k6IA
dO8L/0sqftMXN2vk0dEuyafCq2Pf3Xy0jAIQ+Gw5+GUUHPWbmxiVlb5OkL3JbwP1ZdYW6eOVV8Gl
S4KwVQKoz9i5ZlN8GQ2EQ9T+4zt8BfUpm6K3Z0iBBrPgL49/OdscNEsQQgghXfKwRSJvb5poIlZx
OluVjZ0spQTmuWyZZdlq6d0GecM0G4/Ose21zM12ZQvJ4ZkaT5xluuB+fc3l4rML3HV4ThY0BE/O
3C6Ufx817a+eFoHqkZCtHYq2DjlP34jHNXSa4GlqMJHkGObfz+CN5ZNcwykmHibTRQZcw55hk8MW
CXqZ1d/Mljp0pW1qpGNUTM/gR2nSXIuk7hdmkeexl20ERH35UVzozf3HVwkyojdcCk8ujLICecYH
fmuO+mStO7gl8a0NcQLLuIzZ+7NmCwTQvbIV1MenQvhBgTxjw4ZUj+8Lkl2haOfcTUci04NT/yvD
43jeZ65QFLcp/mb9bHN5fP8STN0QQgjpjja6RUE1ik1t2vQaW5lmgOf5PVne1tTQ1OBh6yvVu/eQ
qlYBCwCdDNXCNCo4Da+Md79TV3Sr5peJpM1z/FA0zJ6cuUlba4Q8C/Xy6xaBKpVK2lp7ufLf//fa
+7yxRs4TPOfaRr9mPutKddLenz/kjTWabOIRaB01Xt8c0zY0fOjHN61Vx/l5bb9JA4DZysyCL11B
62hJNFKoskSNaaDBd903H8a7byhbeb7At++zPLpmqaaq9xYJIv+PKwkArjuy0gGAUvSfPliAEwoj
hBDSYfL2RgP9cSpOZ1un/PmmbQAgbZKY8oWdY9sbqFpVr42zKpW0o1afY2g1wf5W1S8TJ2Pm9gc2
2Hxu6gnZxunzW+lm9XJRfe7lyn+bGkz8e0DSf/oem2e7/J78dlrFt6YGEz/1/e4jz4NzrP9crbiT
fu9/nzSZG0LPk8DFx6wsKV8OAGC1Lut+Q0ND7ocO/ecVRrpCcxpoeXWRlCCoonxp3zV7ZqnuPaFz
1zxiGtMH44TCCCGEdFkHQ+tx4JGqtf+9bexz+I/ueMQZqydnpEpW+XjDKhXTqVIxqkZKqtLrlLc0
DXfM6LkaLHNTj3j0tAg8e+dwC91c31JztOC/WZZNLTv6t0thpuTEIJulVvzJLMum3T3+cfbbJqRo
tmWkpaEDsCxmbmg4ka4f7vDIfjd6Z0apHACo+vzErzOqAVM3XdI1g7O2aaDl2ds25IQlZ35G7n03
rrrXyj2zVJNWwa7ypNRSCoAq+uKt0C9uNmtMH0zhhMIIIYR0mT6XoJhHKpYBFlj1fypgtT/B/akR
YwkF1djBdgAAAAsqlUqpYjqVKkbZSatoqqO+5T45ljfCuwD9Pk8eLRnhvPHUrf/3QYo/AMy3Wz7T
8q22DoW0rfYvF4MAYIqJR6TTZgOuoaytbuuVEABwHP9ahH0M3uSGhpd5+PEs4ovt2+faLlEAEJY+
Yeu+P7+u6wH0fe5zA2L6/oL0KBxKN9x6ZnDO2/9NVO9poAUZm9bk+BzM8nAU7P/wiN+7ccHp68w8
fMjNc99ojzBziHYgAUAwe8/+nDVL1FMkR+0/7mEssOw3fTBJ4oTCCCGEdJgxz6SpQaZPcvT0OCoV
AwDAAvuchk2a8kUltYWkgBgD3E4VrU4ImQ6lspNlldDR2XFfIvGwefO5fBYaKYPNxO3t7T3EedsG
Kk9KSvroo4+0fzIjSTuaN2XloleGNKUcQn2M/pm4G68dPVliEbYsUEwAADC1KYeuOSxb4jhOoyZd
e+WixGmuh7D7UmJkV44l/MpMWbw6UKQuY2rTDiWVCUPXh1sPcr0xVT8cuuG2OpRz/tg1h2VLRKWJ
8Zl1YPnGxIZ7U5YtcRy4B7OrYr+Nj7L5iEH7MbrR0v1Kf8KUWQsCHfkj0bI/uJE7VdoqLqdcvdsC
HGK8y5x5HiIC2qqupFwua1EC8KxmzJ3lBIUnTuY+HlzEsQ17x/PuyYRf27sKtBz2YQqHrr186tqE
0CWu/K5AMkubgOCL3ObMcRMSWtZ5RjgTt44YBVMPj4IQ4HlEUd1Qoeho1Dfg6I0BFp5zN8ft6iJ5
h5RnTAIXWJUKADrpTqaTVdKqVtmjcTA+KmBtU0PzH/1AjIJz6YXMxN2Tgz3VTNy9ywf78ObyWkMX
f0zbEBpQ++3z15yWzRIPPuqTbqqTtTj1LeNw9OnqkoeMSMQFAEZSIhn6p3JFcyIXcAj6bkmTKHTt
W9Ycum0qBweeasebsniFOj9uq7qckHKx1Dp8kBQX6Ra6KjNT4hi2ws1EWXvhxMUbtsumt2RerLMN
XeEh5CqKEuMvllkt8Vi20QMAABQlPySWOM4Uc+m7HKNXI5e9KeQC0LVX4lMuV1m/ZT2sh52WlVw5
f/l2E98fAADaSs9frBO/tXKJiNNYmJh6RRQZKOL2WwchpCMmjbfmNo9taK0HrnKgeY+fmZWJbY10
jPR+nR6hHMMdAyx0dig72jo725WWAoc3p801IHhN0Px8PxQNpydnbtevX1epVI2NjSzLurm5FRQU
9GRlAoGgqamJZdlp06aZmppqJm+DnJHN5eWkiwcJreUXT58rfMgAd4Lbosg5r5Ctt88lpJW3AgOG
UxZGLrQ3BM0ShF4CXCOH6eNLL15zWjZL1OtCbau6cv5yWZMSOEa2M+fNEtZdvv6whU5JmRD+Vq8f
1nnWDkRVSRMjEnKBkZQ8FDpOoJu0VLfjQ1vF5eTMuzSHN348rQQARnIxIWeiy9iC+vb2i4kX5nh1
XPzZYdkSa1l+WubNJgaAsHhj7iwnE27/ii+3cRZOFkSaREFNeJh5/icJraRpELouCJ0xQZJy4ipD
tNe1ixYs82eupVytagcl8GxnLZhlPQ6Aru27Y/m9118wvAnBS4awXrDaGgAA2ts7gCPkAsfIxX+W
SMgFAJ5oPPFrEw2g7uZuK718jZ6+2IkPjKzvVrgEn8cZ3oYr7t6oGu89d8rV6wAAwLTXKcbZ+osI
ADCxsoXCkiZGRPRdB5jalGOZIOK1KRQtStGrLpy60odNLUoL/7BAO6i43P+0RAi9KNwxXJGx2Hic
iby9uZ1uUbEqeH49b/p64+yFfJGhdVPbQ3l7o1Kl1GdYG9NJlo42YuErhgY4LOQP78mZ2+uvv967
Gy0wMHCgbrfeddVvDZy5td67DS4RJFWecOa2eFnMShFILn5zLt/t3Sm3L5aLIzfME4Ek71yhpNXe
nirsX4KpG3o58BxmzWqKT7vqtGzWhK6ittLzaXVWi1eEm3AVJYmn0ooWL5nlWZj4cM6CvuOhuDxH
J97Vm03MLCFISh5OcJneVNukpbrwLeJypsxl8WpXfltFyonqrgxMz9Bt7syqhLszFgeKJCkAQFdd
vFjtGL7SiQ901YX48zctwnnaKr60GEVVUR0zfg7v4a9FyumLVzqOA0VRfPxPdZ4LONCu4M5c+b4d
AY35J6pEC5a9KQRZ4eWSh23W47gaO3bxhMfroxePkV1LTL5Rz9jO9ecDF6zt1MWKsmt3iSlhJl0r
Sa5fa3JY4NR1kSlbfk346lf1MsfCP3L8MI8e4TvNmweM7PJV9Usuz4Lfdv22ZPoMEUjuljW189oB
hH3XAQCg2zgui5dYQ8UPhy7WzV25JJBTm3bsanXb+Lbcfqclpm4IvVBjxozhEYbkWAMWRM95uGQ3
RsUwDAPAAuiN5Y4lxuLMSKPEkEZL5ufnsyzb2NioflykunDatGmFhYUsyxobGzc2NqrLjY2NxWIx
y7ImJiaDDZikam8zU+YZMs3lEtJtjogLAKI5694FAOYVe+7Ro3EPp0xxcfGdY28IQGqUIPSy4Dn6
zyo5kXbVabEtAAAwTWVNfLe5JlwA4Nu+Ov7KrzLaWmtNLs/WST/5ZhMzk775UOQ2g3NFa3XJfd5D
ntMcPgCMs35VzLuuvR3K5lJJi0SSePQnAAAlrVQ2SWAoFUe79tunvroNAAAcIwuXeXOtx42zfotX
VVWUL5HU1zV1cBglcIAY7yAiAAD4YituYmJCk62to+P0GdbjgJH037EKZsLj9dGLxxXOWLLas7Ew
8VRKkUh9QxjTWHI++SfuzHCPrsSNrrtxl5i+uOdW0l6jJWWFKYnJ10Qr3xSOVAAAMM5x7hxJSsrR
r4EvdrKYQLRo7wMkxttOIACYcTweXyQkABgenwBaqXFaIoSGw5gxL7C7nssZC2Nf3ObRiBlS5ubu
7q61k23WrFkD3fM2+GhJpvZm6yv+xgASpldhazNFGhuK523Y7HGvvPxm4bm4TPuVGxaKNUvw7jj0
0hjnOGdWyYm0a8TTDnHg8Gyd9H+9Kamjm0RuE7htg63b3WE26D8i493Cls0wAQCg29o4RNPFoVYc
zR7f59alrSIlIZNx8HSydhULm2qLuoo56lW4ojeXrXapraouK7mc8JN1+LKZ0H/HjuNKfu1ZH71Q
TGNVlVJkJySAa2LryP+pWsG48pWSaz+k3BXOWfx40CAjuSnhufhruwQJodOr469dfwgwkpkbMCCc
Hr76TS4AI7ty4u543gDnT6/zqtc1q3Fa9hmfjRBCSHc8eSbuftjuudqeWM6yLElq7ZxlJDebRS7G
AFzjKSLq5u2HDAAjyTx6NFNCSS7GxeUzYhevhYvmiKmHzQyjUfKCdgVCummc45w3x5fdqOsAAO54
h/GKwrJGBgAUd39t4tsKCQ4AMFoGK3LH2Trp37169aHIaULX9zDN6qJJDhPab95tZADoupKqds3N
AAAAx9h2QlvJr7U0ACiKfjiRfLNdOKSKLxumpUzCcZr5pqujtVFbVVNHv3dl1+Lji5QiR7dZc2aI
6CaFkju+/45VjEi7X07KpsKLF4tkDADTeLdEMd52PFdR+ENKrW1oZO97vZimKhlhbaG1K4ppLP21
iRCNH7Y2a8U8vJaYfLMRANqqbpRxbac81e88So3T8gU1EyGE0O812A9rQ3l6pNbyni0IBNomVGIe
3nw4wWUCFwBI+4WL7p0+EZvX9YQSMUka+4sTTsTmcbnAFflHTCG5XK9+Jc97HyCk48Y5zZlVcuwi
Dd3DopKP3QDg8GxnLnDhA4gsuJmnTnAjl80S9r2gx9k68TKvi+ZM4HZ3jmlWJ7hz5tSlJB8rBII/
nq8/UBMIuznz6s9fPHFICUBYvBk85IovGe6E6dPHpyQdvcvj8SaIxEYP69vA6vG7wlc9RSnJx37l
cIArfGOuLQFcjR0LT/EcUPS7EHZz5tWlpBz7VQmc8Q7zFjgRkrSf6ts76hO+ygUAAPWgSKXiIc17
tXfi1us+N46RlefcGaIRaH0vXNGMmaLkpEM3AHgWM4I9TZ6qy4yjeVoihBDSTdrnc2MYJi8vLykp
6f79+2PGDNYvNxCVSjVp0qQ5c+bMnz//dzcSof5G/3xuf3wYERqiUbZjR184OJ+bLhgFE1iNghBg
VESBIeiC5zyf25gxY+zt7cPCwtrbn30QFI/H8/X1febqCCGEEEIIIYTUBszcRCKRSDTCI0AQQggh
hBBCCMHgTyhBCCGEEEIIIaQLMHNDCCGEEEIIIV2HmRtCCCGEEEII6TrM3BBCCCGEEEJI12HmhhBC
CCGEEEK6DjM3hBBCCCGEENJ13NbW1pFuA0LPYvSduhiR7ht9EemIUbZjMRxd09bWNlAUHR1jAaC1
tXN4W/TUBgnhj2IUhACjIgoMQRd0dnZ2dHR0Pn0U2OeGEEIIIYQQQroOMzeEEEIIIYQQ0nWYuSGE
EEIIIYSQrsPMDSGEEEIIIYR0HWZuCCGEEEIIIaTruFpLlUplYWFhZ2ensheVSqW5wLKsUqlkGIZl
2X4vlUrlhAkToqKihjkkhBBCCCGEEBpltGduKpWqubn5rbfeGuJWWA3qLO7IkSPPr6naUb99ONXn
8LREWVIg+aI/C6FhJD2/be3O9Fog+HZL9+x7/zUBULdObNwYW6AAwnn9gQOrp3af8fLzG2bvFB7L
+HgqXgPDicpd47s7IuPMXEFPkTz3080FEfven0p3Lwx+SKhbn0YeDkr40hu6F0boEGrGQuWu8d0d
knEmtH/JMWHsUEJ7wufdAnLq72rxcyTP3Ra22/nYmWWWoO26k57ftnb72Qrgi93f2bNn9VTi1qe+
wYdlXZX5zhG7DnwZajmsLdZspDz387WbT1fQQIhDdh342N8MpJmfrt1+tpYGEPpt2bdrsT3+dUAI
oT++5zBaUqWNOnmjafr3bx+hl5A8c/v2gpBj2fk5qbuEhzd/VQ5QfnjjV/wdGfn5GXvEhzfG3qLU
a0qTN29Plw2+NTRMFBV5xbV9FgZXm1UgDHEmey3oMNJ9T+qBIMEQQxtcbdbzaNFzIL91alPYipMV
iq6XGtedNHnj5jyvA9lF+Rn7vM5u3PkLBQCE+J3UO1VVVVVVvx3wytu+PVM+rG3W8sfhq+1nxXsy
8vOzD7inb979CyXP3L45L+hAdn5+ftLS2p2bz0qHs4UIIYRekN+VufX0rQ2UvHV2ap/akrq+Umwk
nh85387IyGjCjHWnq7oLJ0RepQCo6+u6FqmrkROMxAHzpxoZiaMPRmvW6qX+wpYAOyMjIyPxjHUn
SqnebzVf/2fkaxOMjIyM7AK2XKjvta7RhNciD5VS2koQGjkC/4P5P662JwEUMgUQQgJq8s4q3Jd6
CQAE7kuD6PSsWgCAmlObvxJueceZGOkGv5xo2enN8308XB09lv/rFlVzantsce3ptWv3fd21cKI8
d41HwPLlb7/99tvzF206VU4BUJlvOwacqAEAqMnK4oe4C7oWjL8KCPi8HADkmcsdXTfkUgDUL5t8
Fv1zx9OVn+r+kl7++YAryHP/tTzAx8fHx2e+ulUAdO3JjfN9fDw85m84VfP4DyD1y+fzPd4+VE4B
VbA5eG38t92h1TzeDdLMT9/28fDw8PBZtO18DQCVu8Zn/vL5Ho4eazLlID2/bb6Hh4dPwNtrFnks
SparAx+W4/NENelfZdlt2Rch7rqANK47SpZXKwyKeE0AQNr7BUHe6Yr+v0cSfLFwWK8/zT8OQAgJ
oBUAQCtoIPgEEOKlu3YtnUoCgNDdjq+oUFC5azwC1qx5e9F8H4+ADf86tGn5ovk+HgGbzksBpOe3
LfLx8fHx8Fm0LRNzPIQQ0l1PztxycnJycnKSk5OTk5MfPHjQs9zbQMmbSqUaeMPyn+mI+BsZsTNL
T65adaJ+kCbIf6P/dORI3EdOnEFq1Z9eGfWv+sAjqanxS+Hk+shDj/M66urW8K0psPRIYvxfrH/7
17qPrxf9M+ZfP1t/nnHzRvxqa/nPV6upUo2SIew9hF4o6tbnizx8N+a5rw+xpBTFCr4znwQAIPl2
fEWxgqLKD20+bLdri5dwpFv6sqJldNCBnPyijPWyr3bnCRfvinEWRxw4sPG9roVlYgCFjP/Oge++
+y4hho7dfFoKpNe+jIQISwCQ5qVDiJege2FKiBedlVcDVMXZCoIuSK+gqIqzBcKIuW8/XbmXWVfr
xANs0IvI3Lw5K+RYTk5OTuoWiN14sgYAaAUdciAnJz9pqWz3xq4uGrr40IqNBRHHjq3uHmtn+lZ3
aD3jA6XJGzfm+R3Lzs/PT1hasX3jiRoAkNUSMRml+Qf94fzm7cVLE7Lzc5LW8yvUncPSvPThO0aD
sly8f//7fuK+iVfv644Ueoll6ad/kQPIf0k/WyGrlQEAXXs4eLK1tbW19bTIk8L179gNf29p70YC
WEZs8SpYO83RdVrkWecd66eSpL3/3NcEAAA1Z3en8yMi7AFAISOWHjjzY+oucfpXeUH7zvyYsc85
KzZLWn56d5b7gYycnOwDIXRWMaZuCCGks7Tf59abj49P75cTJ04EjRvblEplT/9bv7vdBt4wMeev
Sz0dyWl/Xbjl4rlzpVTEwL9azvzbtohAkrp+WkutrpswqNLTP9NAn1wVfFK99Yul1AfWpPqtcxfk
4Pr5tohA84jA2p1AQvM5RwIubp0dcNJ35pyl7//JkQRPjRKERhg5deuZ/JjyQ5Fha0847+r/bkfJ
4c1n3fckvCaQFYxE6xAA3znCzxIAhM52xFmF9sHhQvcILwEACNxDxBUni6ll/maWJACAvCCdDtph
1rNACiO8FLsLpO7FxXbrI2rTC2S1ijwi5B17O+enKu9JqUg77RsUVsQW1BYURPrEAgDQCpqupZ2B
77U+yBIALEOWinefLqbXA12wPbKACDl2YNBb2qiKsxXid/bZkwBgGfSO3c7DxYoY4NuFuAsAgCo+
WyxeuseeBCC9lgaJd3YHvvj5HIEXofd1535m2b49BWvX+rqC2CvCy5lfS4B6tKT6vlL5rUNrI1fs
ds/5eJhv2+vTyGPCnZsLQpJ+2/oacetQ5IqNp9y/W2wGAFT5qY0rYokdCe/bAyUDvl2QswCAEgqF
Ynf1kpgPClrs5UdERgZXBAWFhKzf4m/2xA9HCCE0Qp6cuanl5OQAQENDAwCoMzQPD4+7d+82NDSo
k7Se8tdee41l2YkTJ7IsO2bMYH16NEUBkABaerfo5t6FAoGg11sD1wJiQWptwkySqq+nzM2NtX5o
/W9X681dpy1MupVx+uTJ0+cunvvH+n+fk9745a+aJY5P3C0IvSBUeWYW7T53qgBI+6AQcWyWjPDj
0wUKCoAESlGh4Ds2J58sKKgNm3YYaJoGCJ5NJ2V89hr+5DC8iKcYJ9f3vl+q4KzMK8ay1wI4RzjL
DqdnyYigPSEFp2PT02nw22MJpPDpynuQA2xQAWD3TsKlrfYAAHKplDAjCg4TAP1jEUYc2CHbvn33
L89yYnXvGY18Vh3v025ueGhcd7VUhJ3z+oT8j0kA6tans9Pt+o6MFEyNeMdud2wxwPBlbhqNvHtX
WMyP2PKaAACmhiwVx6ZXUIvN6F8+X7E23XlP0mePc7Fep2uvMMjXPr7089LcrKyzp7cHx/ol4N8R
hBDSVUO9z83Hx8fHxyc0NDQ0NHTRokWLFi2ysLDw9fVVlyxcuHBBt0mTJk2aNGkIoyXpi1s+PnHh
9GcfX6Th9QhHEkhzAuifT567fuHQ/2T3+deeHKRW9yqOEa8DnfLxZxeunlg33d5yxqEqqD/3Px9u
OVFFOi4MFEDR37ccOnd6R1RwcMCWnJwtr00NP0Qs3X3kyDZXAHm9/Of+JRQOl0QjiK44vHnzyVsU
AFWefrrWLsjO3suPyDuZJweQF5xMB7/Z/h/nVFVVlZaWlmbvcLZ7JxW/bo08Arrys54FAFnByXQp
ANScPVzrHOFMAiWtkVJAFZ+tdQ4Rw+MFANI5QlwQe1jh5SV2DrGriI2VeYWIn6G8647p5uEAACAA
SURBVCMGWoG0C3KWnT6cKweAmhMrZq84WQMAiuKzBXIAkGadrnUOcSYACLGXV+iuHXZnN+++RWnG
2PUppF2IXe3hs+UUANSkH64QBznzH+8R0jnCufZkeg0FIC84mVULQD+OV/doXndQvDtyxclyAJBm
fXWWCIro23Kq/OzhCr673Yg20snCS6xIz1IfgqyztWIvMVlzaMXavKBjqZ89uQuNvvX5/PknaffQ
1Z/t2eKuqKjFJ4shhJCuGlKfm7rDzdbW9ueff1aXKJVKAFB3tZmYmHh6evaeDKC3QTbrOq367+Gr
qgnXpfFHI8wBzN/f/adz606uCr46Z+kcMzg3pFpU961u5hFH469GrftHeDAQDn/66uhSa6r0f/55
+PC0hZ8uC/w88fP6VR/HRP0bzF5/P37vAh/Qf/+3mI9nu2wFwmrOp0f/9vrr9O6+JdPwSzAaQYK5
e/blrV3re5gGwi5k34HFZgAx+95Zu3a2B00Tduv3DT6CDY0MvrsXsT1sNpGaulS9cOYzIAjFyUif
3QoQBu06EGoGVObG2TtDUvdVVNiF2JFA3TqrXgAAELhHiGXb7YLEpIAfJFbkdb/xlOVU3sbZO0My
Li2z1L4COXfPvoKNm2d70AB8rx0HllpCARBEbeyKt3fTCnDfdWCxGeSqQzIL3bXjZPDGw0tT3+kf
Y9BO9aeE7ttTsHaF71cAhDCoa2s9BHP37EpfEfZ6LCG0syP4MKayV7w6R/O6I2HLDvcVkR5fAQi9
thyIsSfhlvo+t8MAAECI/WL2bXltZBtpBvt2Faxd8fpXNAFCvy0Hlgp/2RxbIFMUBE/eDQAA4ndS
U4MG2h4x9Z0Y97UrfA8TBBDOMfuCBAOtiRBCaITptbS0aJZ2dnZeuXKl93xuA83YNnh5XFxcTIyW
UTHU9ZX2sy/OySg/6vkU/34/Wy00KlVWVvYZRPvHJ5fLMSId9wwRaZnz7SUjz/3XV7KgmFB7krr1
r+C1tfsyPtP40WGUnSqjLxwbG5uRbsXv9eDBA/Vd+po++2wsAGzbpv1R2LpjkBD+KEZBCDAqosAQ
dAG9bZuhoWHntm2VlZWurq5DrPXhuugh9bkNJUnTWvg7IkLoKVE153dv3306r0JBE0Jnv3d27Hrf
2wwAav4V4Lu7oteKwqWH/1q8/m8FfYYE2a3P6LrtB70g8qFNTq25MjXCs1QPxNraemgrpk8b4oqj
1u6vNnYvBk9WP0SqqqpqwNURQgg9KxbYTqajsU3a3tGqYrXctSR9KGvjNA5/w56IZVVU5yNpy30F
1axilQBgZjTJxnSKSCDmcsaOdOt0xRMyN3UCdqEs4VrVj8DCG5ZzA2wjWJbNqDj1U206APv6pEA/
6zCWZTPvJebfv8gCTBcF+IpD1RX19PS0bpb0PFqrpavvCZ6tFno5SJM3Bu+kYw5kfPuaGVA1mbtX
rF3LTz2jfnS5MCQpe3/fm8BK/wwA5f8KiKzYk/0l3h82HBQVecW1Ec+wcm1WgTAkRveOEeYeCCGE
dIpSpWxok7RQchPDCXxDAQssCxrJWwdHZGo+Eq0bDKPqvFt/52GrxNZ8stE4AaunHKPHVbQ0FdTm
TGgWTTF3Gz9uwki3UScMlrmpe8/O3Dpwpvjgmtc/ZVWqb258qlKpANjvivaudP9PYNmjhbvUJadL
9ke7bGUBTtz8nGVVMyaFYLcbGj7lh3fnee3JXq2ewYi09N9yYMfhYprq83gbNJJObY8trlWsXeuc
8G1I7b82bj9ZQQPwvWL27VoMJ+eHnY1IPbOan7steDO9KzVG9njlZZCVxQ9ZKgBp5ucbt5+uoIGw
i9hzYKu3QHp+29qdWTKgQRi068Bn/magWYIQQgi9NBpa61to+UQTsYrT2aps7GQpJTD91mlmZfps
/8KRxbJs7cN7za3N02w8Ose21zK32pUKgsMzHT9xlmnw/fqa7LLzgVPDybEGI93SkffkzO1C+fdR
0/7qaRGoHgnZ2qFo65Dz9I14XEOnCZ6mBhNJjmH+/QzeWD7JNZxi4mEyXWTANewZNjlskaCXmbQ4
T2b3jnuvW0tI+8Xv9wx+lJ0Nm3y2+4UwIgl72UbA4l0xhyOL9xxYxs9cszkrJCFnsSXIMzcFbzzp
9ePqfTFnIzcf4osPZ/ntSfUXCKB7ZUuQnkqHkH0Ceeaazenux7K/mwq3Pg/bfjLiTFD67iz3Axkf
T4Vbh7afLpb6mylO9y/B1A0hhNBLoo1uaeuUi01t2vQaW5lmgD/Ml3BFe3OzotnD1leqd+8hVa0C
FgA6GKqFaVRwGl4Z736nrujO/V9ftfYa6ZaOvCdnbtLWGiHPQr38ukWgSqWSttZervz3/732Pm+s
kfMEz7m20a+Zz7pSnbT35w95Y40mm3gEWkeN1zfHtA0Nn14zZdUcmj97ZzENAMKlqdmfTQWtoyXR
SKEqzvafBpoC79X71p/23Zy1NCnbu++jHbpmqaZqvyrmR2yZSgLA1K0/ngEAStF/+mA+TiiMEELo
ZdVCNRvoj1NxOts65X+gtA0AHsrrTfnCzrHtDVStqlfLWZVK1lGrzzG0mmB/u6YIMzcYfD439YRs
4/T5rXSzermoPvdy5b9NDSb+PSDpP32PzbNdfk9+O63iW1ODiZ/6fveR58E51n+uVtxJv/e/T5rM
DaHnie/sJaxQz0YFlqt/LK2qqspYb/cUcySjYWX3TkKOWkZG6h5vEkBeWywjCLq4QNZ3TargrMzL
zxL6TOjcNY/Yax9f+jlpV4Sz4uz24NnbftFWghBCCL0kOhhajwOPVK1a7m1jdfo/uoPijNWTM1Il
q3zcZJVK2alSMmwjJVXpdSpam4Z1b+qqwTI39YhHT4vAs3cOt9DN9S01Rwv+m2XZ1LKjf7sUZkpO
DLJZasWfzLJs2t3jH2e/bUKKZltGWho6AMti5oaGEzl1/Rb3vI1rP88slwMAJf0l+XBWLWDqpku6
ZnDWNg20PHfn5ryQhNQdxFcbD9X0WrlnlmpSHOSsOJteTgFQt2IjI2OL5RrTB1M4oTBCCKGXlj6X
oJhHKpYBFlj1fypgVSyr/QnxOkR/LKGgGjvYDgAAYEGlYpUqplOlZFSdHUqa6pC23Meb3NSePFoy
wnnjqVv/74MUfwCYb7d8puVbbR0KaVvtXy4GAcAUE49Ip80GXENZW93WKyEA4Dj+tQj7GLzJDQ0v
s9ADqUTszp1h01YoAAixV8g7x5JWdz2Avs99bkC478k+sxiH0g23nhmcM/bsi+g9DTQ/c/vGPK99
qa/ZC/asPxm88VDQmdVCdy9ie1hA21sT7KLsSAAQ+O/ak7dxhXr24Yg9B14TCMT9pg8mSZxQGCGE
0MuKTxrXyBv0SY6eHkelYgAAWGA1hk2qWFal0q2v6CaG5mWSIlJAjoGxnSpanWoyHYyyk2WV0NHZ
eV8iedXijZFupk4YbCbugIAAdSr8xHnbBipPSEj4y1/+ov2TGenl73+xXzLPckhTyiHUx+ifibs5
/1RSuWhe2MyJBAAA8yDjuxs2YQtteRo16Qc/Zcvs/aaZdl9KTMNPp5OLlfYL3p5ppi5jHmR+l1Zp
Ehg9XzzI9cbUpn9X5Px2ICfr9A2bsIXCyh+TcyUwyd2sqdYubKHtwD2YXRX7bXyUzUcM2o9RUWv3
K30Te++AmbZGI9GyP7iRO1Xaa3+6lFvZqgQwsJju5+1gzIWWu1ezbtS1KsHAwrPX8aSrMpOuGwSG
vWEKDT+dTi5+1FWu5bC/+HDaq65dul7dChx9wWRfv2lmBNAP8i9ll8uVwDG08Q54Q8zTFtqzwZm4
dcQomHp4FIQAOh9FbVNlK9Osb8DRGwMsaO9DkUoemol04wn7vZpXdr+4hXnIG08CF1ilCgA66U6m
k1XSqlbZIwOVcbjPcgOi6zuQjh+FoXghM3H35GBPNRN37/LBPlxx7wFvsjembQgN6FF51g37sBkT
Bx/12SGXNLb2m0Scw9HvqCtvZMzMuADAyMplWqtqxRX6hgZwCLq6XC4M/HOQmEO3O3Jw4Kl2BvYL
ItT5cXvtteRL2Xct5g+S4iLdQtfmZkusAiOmmXJbbv+YnF1psVBUeen6I+cFkQ5Gzbd+SMuttQgS
EwDQfjc7t/oRZ3JXRY6hc2jYG6ZcAPrBT8mXelYbtmbnymzmRUw1Vj64mpRdZBXuAUW5lYa+YfMn
chp+SrpwwybCs0MjNAfNX30QQqONSGD5UDG2qVUGXOVAkyozNNNJ6casAL0SBQv+K3WNeg21D4BU
cThjAKCzQ9nR3tnRprQwtPV2CuhJ215yT87crl+/rlKpGhsbWZZ1c3MrKCjoycoEAkFTUxPLstOm
TTM1NdVM3gY6aQBAXllJTJlGQlvllXMXbzUywDWZOu+tNy3JtvILP1y+1wYMjLOf81agzTjQLEHo
JcAxtHEVVGbfsA+bYdbrQm2v/Skrt1KuBI6hlaffDBNJbmFja8elSybzgqY8/uHfwMJGv65czpiZ
coGRlTea2Jh0yLVUtzaC9qprF3KrOzgGAkGHEgAYWXZyvrkj96bs0aPstKu+7h3Zv9mELbRo/C0r
945cCaAvcvPzdjDm9q/4cuOJ7EX6WbJW2qQ6N6tQ1qHs6ACTyQGBHiayjKTrSv1HkkfCgDBv5Y1L
1+segRIMrLwDZoh5APSDvjvWsPf6s4cxIXj5cAwne3sLTbkAYCAU6BfLO1o6yjssvG2MAMB4cuAC
K/VPFi1l2UUG051NirSe5hx9QwPOcDabEM+OFAMAwKNHHcAx4QCAAQdaOwBA2aEEjj5HS2jMg9zT
uSA0eNTa2qoUOk/mSCob5a1Kkfe8mdZQda3/aYkQ+kPijuGa8SfxDYxbKEU73dI1VLJvXwqXMRjL
6NxlPlaPZzPeyMzAUv6oQfGoSalScRnWki+ysLaeaGJpaMAf6Qbqiidnbq+//nrvbrTAwMCBut16
11W/NXDm1lZTDpMXklTlmbTyiX9a87YZSK/878XfXP5sX37l3sS3Vs0yA+mNi7ekbTY29K3+JZi6
oZeDgY23tzw567p92AyTrqL2u1lZEosFEfONuS1lP6Zk3V6w0NutOK3RN2BKn2F6HAMbe4Prd+TM
DFOQlTeaTHaVS+RaqpsE6ufmNk5eEDnFqL0qI6mu66upHm+qn+f95OrpC2YKZRkA0FGbnV1nM2+x
gxHQtVeTs+6I5hloq/jSYlrq7kiUAl+DxuI7StcFi2150HL7h+RCiVsABx61cjwjllsT0PxbYp0w
IOwNU2i4lVve2C7mcTR27AKTx+ujF4prLLZWL7VU3qjWt59n+KjoEYdTnf1DVl2rUmDj6edpBEzz
rexigfc8kSytZ2issrU4+Xixepkj8g4VDP/oEaYhP+1CkUxp5edtBAD200XFF/73W31QglVAmCmX
C/1CM4ZH0PGIM3nBQjFUpX+XLfGLWDiT8yDz9PW6dsGjG/1OS537TocQGrIxY8bwCENyrAFrZKZ1
+Jt+57iJE3R3qCGjYhiGAWAB9MZyxxJjcU6nPoY0WjI/P59l2cbGRvXjItWF06ZNKywsZFnW2Ni4
sbFRXW5sbCwWi1mWNTExGWzAJPWgXGk/axyjuCcjXN404wKA2ZvL/wwAjNiG8/333zba20+e7DnT
ZhwAoVGC0MvCwNbbuzwp67r9AisAAGDklXJDZz9jLgAYWTkLrhc30hZaa3IMrOz1L9yRM54ddxqF
ztM51wFAqVFdVm/QaGDvawQAPAtnkUGh9naoFJWyVpks7VQhAICyQ6mUy2AoFUe7R+Upx8sBAIBj
KJrs5yfm8cSBBrV1t3+TyWQSeQdHqQQO6AtshAQAgKHIgpOWliy3srKxcZ0u5gEj7b9jW5Umj9dH
w4BpLsu6UMjxnDfNGKRKpbzukWfoYn/9hltpaVnlJt4d2ZVC33lmxKNeI457jZZsuHUp7cIN4eI3
TIe31VxTj4WRbs230lIu3RYGGlzPltks+LOHGafhVtqFrDLhfAdev9CYR6AvsDIhABgDAwNDoXrJ
UB86lBqnJULoD2/MmAHHAnA5Y7mcscPZmKfC5YwF3W3dyBtS5ubu7q61k23WrFkD3fM2+GhJ5sHt
dvEMAYC01zhbpk1OE4Jxk2a9s+7VmnuVt29d/Db3lSWrAidpluDdceilwbP19S5Pyrqhb/iUFTkG
Vvb6xXdkkg650NmE82iwdbs7zAYd8yVwnhfuYQwAQLe3c/Tl2UOtOJo9vs+tS3tVRnKu0sbN3mKy
yEQuudNVzFHvIa7ZG+FvT35QV1dZnptcaDEvzBP671geR1bcsz560Whp/oVL1Sa+C9RDBPUNDQws
Jot4AGBqM1lQVFNf2iCTtab8bzEolUqA5CTlgtDJveoTpvbOghuFjQDDl7kxzbV1SqG1KQFcYysb
w8I6udygUd9+uhmhbrZhYbWcceAp+4YGAH3Oq15nmMZp2Wd8NkIIId3x5Jm4+2G752p7YjnLsiSp
tYuTkd5RCKfwAbh8eyF9u7yRAWCk1777/pqUkl759tvfmIlTpgfOmzmRblQwjEbJC9oVCOkmnq2v
p6CySNIBAFyBjaC1uLKZAYCW6mK5oZUJwQEApZbBilyelb1+9fXrjUJ7k67vYRyN6kJzG5NHd6qb
GQBaUl43UH43hm9l8qi8+AENAC23LyRduPPIZEgVXzZMa6WMY+/5xhRbseGjOnlHv3cb8n/44Y5S
aDt1hu90YYe8VckV9N+xWh72i16UllsXLkmsAkN7chtDGxFHUi6jAaC9rrLV0NLSe/GqVauWL1++
PMLTROAcGjbDrE9SzTRXFsv1hcP6YEylvDg7+04DA8A0V5e3CqxMDEWGHdV16uu6rrLVUGTI1Qht
kO1pnJbDEARCCKFnMdgPa0N5eqTW8p4t8PnabihkGu80mkwx4QIAaRM4r+bcvw/e6HpCySSSFMyY
+MO/D97gcoEj9F5oT3K50/uVPO99gJCO4zn4epefzu4AAJ6tn6/s0oXTRQAcAyvPgMlGAEIRJzcl
iRMaNsO07wXNs7I3yC0U+ppwuzvHNKsTXF9fyaULp4tB31BgqD9QE/Stff1kWdlJCUoAfdFTVHzJ
cE1cXQWX0k5VGxgYmAhFho2yR/B4OCvX1NlNeOnC6WIOBzgmbn5WBHA1diw8xXNA0e/BSG8Uyh51
yJKP3wAAAEPn0LA3PANcs7KSEjoADCw8A2y0pz297nPjGFq4+U0f1ukhCWtfP8mlS6eLlcAR2PgF
OPB44Octu3ThuyIlBwwspgdMNpBm9w8t1Gqg7XE0T0uEEEK6Sft8bgzD/Pzzz2fPnpVIJIM8H3IQ
LMuKRCJ/f/+goKDf3UiE+hv987n98WFEaIhG2Y4dfeHgfG66YBRMYDUKQoBREQWGoAue83xuY8aM
sbW1DQkJaW9vf+Y28Xg8b2/vZ66OEEIIIYQQQkhtwMzN3Nzc3Nx8mFuDEEIIIYQQQkjTYE8oQQgh
hBBCCCGkCzBzQwghhBBCCCFdh5kbQgghhBBCCOk6zNwQQgghhBBCSNdh5oYQQgghhBBCug4zN4QQ
QgghhBDSdVxDQ8ORbgNCz2KUnbpyuRwj0nGjLyIdMcp2LIajg8aNGzdQFPr6LAAYGhLD26KnNkgI
fxSjIAQYFVFgCLpANXasvr4+8fRRYJ8bQgghhBBCCOk6zNwQQgghhBBCSNdh5oYQQgghhBBCug4z
N4QQQgghhBDSdZi5IYQQQgghhJCu42otVSqVv/zyC03TSm1UKlXPMsuySqWSYRj1Qr+XZmZmy5cv
H+aQEEIIIYQQQmiU0Z65qVSqpqamoKCgIW6F1aBSqViWjY+Pf35NReilUp+yKXp7ag0QAoeV+7+J
8RAAVXRkzZov8uVAuHx4/Pg6V7JrTXnKu17bzb7P+6ynBA0HKjvafWdkXvoCQU+RPHvbhvyogzGu
dPfC4IeEKtoWGhec/E9f6F4YoUOoGQuVHe2+MywvPbx/ySmz3UMJ7QmfVwSk6+9q8XMkz940d6fL
9+mrrEDbdVefsil6c2IZCKw81u3fv86VKNrm7v+1tKsy3yXyy+P/DLca1hY/uZECkGfvjN4QX0YD
YRn25fHPZpsPawsRQgi9EM9htKRKG3XyRlHU798+Qi8hecbmzfnh3xeUFGbtMft6w95SgNK4NXv5
u/JKSvL2W8Wt+aKo6+KqT9ywOVU6+NbQMJGX5RTV9FkYXHVGvnm4K9lrQYeRHvszjwcLhhja4Koz
nkeLngN5UfwHc5ccLVN0vdS47uoT12zI8T1eWFmSd9Ancc22fAoACMv3MusaGhoaGu4e98nZtClD
PqxtHkojS/duTrTcn1dSUnDcI3XDznz8txghhEaD35W59fStDZS8dXZ2DlC1OS3Gy1hPT0/ktTLy
FT09rzPNQGUuIvWMvfxf0dMzjkz/NW7RK6Senp6ensgrJrNZEuempyeKKaQA4PbnU/T03OLu9dpa
XuyiKWTXymkSAElajJdIT09PT4+csijuNqWtBCEdJph9vCRrnSMJIJcqgDAjoTonSe6xykcAIPBY
GUylZlQDAFTHb9hrtmOdi25/5x+1KGnCBj83J5tJTotji6jq+E1f3KyJj47+cn/XwpGy7Ggnr8WL
Q0NDQ/2CPogvpQCojNBJXkfUR+/SJUGYh6BrYfxeL6+dpQAgz1g8yebdbOr/s3fncU1daR/AH0ww
YZEga5RVBASFikpRQUUFFXGFKbiMWmxrpY6tttqO2qlandYuOqMdX4u1Vlzq1hYURbEDClYYQVQs
IAiUsmpAtoQtgST3/SOAQMKmKFF/308/M+HknpOz3Zgn99wcInHy31ym//vvPUs/UdJUu6xtHR4g
vLY7YJyLi4uLi6eiVkTiwtC3PF1cHB093zpR8OgdUpy8zdNxbkiWmMTJqycvPXKwuWkFj7qhJGbT
XBdHR0dHl+nrIguIxNeWungGeDoOdlwaI6SSyHWejo6OLuPmLp3uOD1MqGj4MxmfLhVc2BNj98mB
hRZNuzArnXfi0vgCU9+Frjwirv1UX4o/kd3+Xw8uz9LkmW7i3K1Kck04JBESkUQoIQ6PQ+JrSx3H
LV06d7qni+O4t3aH/C1guqeL47i/RZYQlUSum+7i4uLi6DJ9XUxJlxUAAIC+0nXkFh8fHx8fHxER
ERER8eDBg5bHrXUUvMnlcpVlVsUGzd+TyF954kroQkFUfqtnhCnihSdOhG7kHApN0Q86ceXKoXni
xD0borjzN3hSycmQTDHlnQm9R2PXzrduziOOXevz/lkKOnEx/O/WKXuCNly/szt4T6L1v//3Z0Z4
sHXV9dg8caZSypP2HMBTJ07dNt1x1Iprrmv8LMXCNCHPSY9LRMTl2fGEaSKxOCtkdYjdrs0eJn1d
05eVpFTsezQl48/ra0r3bIs3WbTrIyeLRUePrlvd9GC5BZGwhBd8NCIiIuLvki9XnyghrseB62cX
WRJRSfwF8vfgNT8Y7uchjokvIHF2WDZHknwhWyzODrtpsmj2kp6lezSvi7PsoEAPbszq1Zf9T6ek
pKTEbaYvV4QWEJFEKPE/mpKScSmodNtb4YqP75LUkMC3khedPh1s3/TdgNFrzU1rWR9YErbirfip
p29nZGRELM9e/9ahAiIqLeB+dP1+xlEvily9PjXo7O2MlEtr9LIVF4dL4i88uzHqlOWi779f62XZ
9ouP1ucd18TDsuTCyWQhkTD5Qnh2aUEpEUkK9082MzQ0NDS0mRdqsmal3bP/5qSrSlou2uyRvMxm
8BCbeWHOn61x5hKRsIQTdPTXuLidFhf2xPt+/2vc9QNOl7+6XJJ1YnuM69HrKSm3j/qLY9IQugEA
qC3V97m15uHh0frPQYMGkdKNbYrfJlFcZ2t3t5uqIsV5Z65LaOzWLxZO1hfrB31xac+j5yZv3brQ
h0s0P+rMmZNRJ0POXBcSiauq+As3zOPMPBOSEmwdeo88T/jwW0rLPBMlpJG7ty704S/0qfqCuFR1
xoFDl94fPy7Uc7JP0NqFDlwap5QCoO64zpt/zfgoK2TujKWHnHe1f7YhPWR1mOveCFdeaXJf1A6I
eE6LploSkYmTHTdMKFF5jInrIg8eEfFc/SyzQ9PEy71MFZGCMPmC2Pcz05YHXJNFHsJtySWuaWl2
axYVXkguLRDGc/yD7eyce5TeElJx7VQXaJL9ZXJhcvJcly+JiCRCiaRA7EQ8jzW+lkRk6R9kse1E
mngNiW+um3eT43f6aKfLOMXZ4dmWwQfsuURk6bvSbtP+VNFHxLPzc+URkTg1PM1i+V57LhHXY7mv
xabmhi/qnRF4Glqfd66/Lj+wN3npUpchZDlhkYcTr5BDitWSivtKhakhS+cGbnNN+fwZ37bXRSWF
katX3/S/lLvZlZMaMjdwxQnX0xbEs/N14hGJTU1MLF2deURiE0seCSWWE6Zy586dnO3r6++/ZjPu
iAMAUF/dXS3Z+srbmTNnzpw5U1xcfO3aNUXK+fPnI5sJBAKBQNCvWcdFNt8E1+bqF09fn4hIcNKH
P2phSKa1T/B8KyIiLulPXjufV3Jyw9aQe5wZax8Fbm0JUmJT8qr050fl/e/EjpXjuHlnvlw+ftwX
mcop3Ww4QJ8QZ8VEpgqJiLj2vv6W2ZdLuE48cbZIsa5NmC3kOVT8Enrz5p4ZNoMHj/o4LXv/5HHr
cC/Ls8fpwZdAkjbjI04OL5kw1bLVA67TIufS8Asx1zi+vn5jROEXLlwgr6mWPU5v0ckBdsFnUxSu
X4/dO4FLxCFqv+bPZNGRAxPi1z3eTVLNPaMUzyra+xglPgNK512BWEzOayIy/vwzI+6AHwl5diZt
RpznvGilXWl8mppVkld6OZW3ULF+0tlvuUXqBcUiz1bTtdVgc10/v55xaeciZ2HYOryPAACos+5G
bh4eHh4eHnPnzp07d+78+fPnz59vZmY2YcIERcrs2bNnNRs8ePDgwYM7XS3JlOUb/gAAIABJREFU
dZg/mUd3NqwNOXNya3Bom6UZXKLmi3LjNnyxdjJXUEVEJCbijtuw0FQYdzaf47N2sj4RCc58Ebw2
NI/rMN+HR3e2rg05c3LD/MlTxq29+ttaB2ufEG7Q7pMnt44kqhIIE9un4LdTQK1JskNWrz6UKiYS
Z104UWDna2fn4cWNPxQvJBImh16gqTO8P08pLy+/f//+/dufOdmtjL2+yxWXkvsYh4jEktYPiEqT
Qy+UEFFBWEih8yInLolLCkrEJE4LK3D2s6RHD4i4zgstkr/aL5rgYensb5f95VelHn6Wj5He9BId
HcC183UqObH/mpCICg4FjAsMLSAiYVpYspCISmJOFDr7O3GJuBYeE/x3fmYXtnpbqli5jU2vwrXz
sysICc8SE1HBhf3Zlr7Oeo96hOu80Knw0IUCMZEw+dDlQiLJo/aqH+XzjtK2zQ0MzSKikpg94Vzf
hW1rLs4K25/Nc7VTs0ramXhYCi9cVgzK5bBCSw/Ljt8cJKnbPD0PSVz9g3ft3ewqzC5QffEYAAD6
XterJYkoPj6eiGxsbG7cuKFIkclkRMQwDBEZGBi4ubm13gygNZUFcieHnFmTN3/PO37XZ7w+mZd4
qd2/KVyXrVtnxL6/aJCW6dgZ1hzKuy4QB1tzHYIXmu7fI16oCNzEgqjd+/e7zP8iyGd31L8FCze8
43eKTMeuORMydyL1X5sSvGH8kPeJYzVjx8mtY8eKd7dNccFnXFBnvFl7v49funTUfglx7Py+P7rI
lOijA8FLl45zlIg5dmu+73wFG/QNnqsHd/2McdzY2CDFg1//RRyuMHSeyzYhmfjuPOpvSuKYFeM+
9os7kJ1t52fHJXFqmOKBIv8ii9J1dr6WXB7P10J0zc5f8UQP08XxK8Z97Hf9+nJL1QdwZ+39/uaK
1eMcJUQ8j8+PBFlSMnE5hV8FzN0mEZLrzqOLTOmaokmm/rs+D/VcERIUG9y+jb4fK17F/8De5KWB
o/YQcUx8PzsaZEmtlu/yZu3deSFwhuNXHFM7O44eafzRqr1qR/m849Lmz1wD5znuITLx2HzkI3su
pSruc9tPREQci6kfHdjsqm6V5Nof2Jm8NNBxj4RLJlM3txuUtjjOKz9yXRo4aj+HQ1znvx/w5XV0
JAAA9DENlcFVY2PjlStXWu/n1tGObZ2nHzp06MMPP1QuX5yyYeGGTL5PcNA48Zlgvy8Fa27n7e48
lhJnXo+N3R30zilaeTsvBHHXyy41NdXMzKyva9GbiouL0SI19xgtUrHn20tGeG33nlLfj/ztueLU
3ZOXFh64vkvpS4cXbKq8eM1xdlabzfce1/379wcPHqzyqa1bGSLaulXj2daoxzppwvPiBWgCvRCt
QBPUgWjdugEDBmhs3Zqamtr999g1wUu7dc2tO0GaysSOCuQ6zB9HC7e+P3M/EZl6rgnd0GUoJogK
mvn+Pd7IlbhcBqqJCyK3rdt+Ij5bJOGYOHmt/Gzn2gmmRFSwe9yo7dmtDjQJOrExNej9m22WBNmt
+d/1zfbPtsYvGWH3NqdWPljcx7tUd8TQ0LB7B16w6eaBL6zte1Y0P5xsFkpEROXl5X1VGwAAUEMM
MY3ShrJqQa2kWs6o/nV6hdKS0mqNsmdWse5jGLm4se5BVZGwvkImlxERn2dux3carG/JZmn2ykt0
EbkpArD/Zp9MyL9IDI21mDHV5jWGYWL++Cmx6Fci5tXB0zyt/BiGic0LS74fzRCN4U+dYD5XkVFD
o4MvsbjjNkTlbehJRa3XZjJre5IBXi4lYSs8Pxb//ej1n1xNSVwQsy1w6VJe3K+Kny438bt0+/u2
N4HdX0ZEWbvHzcvee/v/cH/YsyDMjk8t7O4vCrY+uCAm2dT/7+o3Rog9AAAAeoVMLntYfV9YV2mg
a2SqPZghhqEOgze5WMPUoIPfKuw7UnljzoO7JcL7Q0yGOei8QhqyfhpsUXXl9ZwYPs/cyfxVA13j
J3+VziI3xdWzM+nfnbl7YMWrnzJy+fc3P5XL5UTMqdQ9QaP+QQwTmvKZIuXnjL1LnTYwRMfSvmAY
ufvgOZ1fdgPoTVn7t12bsDcl2JVHRMS19Np85POQNLG46TdvoO+dWPdVWqFw6VKniJ/8C3a/tT40
W0zE8/j7gV2LKNRzRtiiuF+DedfWea4W74r7e+mjg5fT5cs8v+U8KonZtmLdiWwJcewW7T26eQKv
JHLd0o9jSklCJr67ju7yMiXlFAAAAFB7ZdUCYV3lIANzOauxRlbRyIhlJO3o4CqmlMPInmX1usQw
TEFpbrmw/JUhro2adUXS9HqZiMPSNtQfNMVw1v2Swit3z80atYirqfWEL9R15PbfnNOLXvnAzWya
YiVkTYOotkGo3X+ANlvX0cjNUGsQl6WbfD9GW1OPy9Z1MHA1GMPXYuu2LJt8wvoBdEdJ2rVSu6aw
TYFrv2hty+LH0vAZZuHNf5gsvISrbH1g0a6PQuam7T26nBezdPVl/4iURZYkjPmb54pQj7jgA38P
m7c6hGcREuO1N86Lx6Pmgy2p5MQF8j/AE8asXn3B9fTtCGdK3TZj3aGFv/pe2B7jevT6586UGrLu
RFqJl6nwRPsUhG4AAABqrlZSLRJXmBsOqdWoqJFWET1/4YOwtrK8stzVZkKpRl6ZuEBODBE1SMXV
0goRq9x64Kh7xanphbfG2Hh0WVTnuo7cSmsKjbXNFI9fNZsml8tLa4qu/PnL1wmrtDUHDDdym2Gz
dLTplKsF4XturNHWHDDMwHWa1aKB/U0RtsGzI3l001pBiOe4j9MkRGQSFHt7lzOpXC0JfUWcHaa0
DTRNCP5+zYlRq7ODLt2e0Pa3PJp2qRYX7EnlLfzEmUtEzpvjfiUisaj99sE8bCgMAADwvBHWVWj1
15GzGmsbhc9j2EZEpZUCQz3jRs26cnGRvFUTGLm8tKGoP0vX0sg2Pb8XIrfO9nNTbMim01+vRlKl
eJxa8r8rf/5iqDVox9Twf0w47GOzLE+YGfXHEUOtQZ9OOPWR2wFvq8UFonu/5h3veDM3gN7Hc/Iw
yQ5PFhIRWQbH3S8vL//fGrv2+wqDulDeBlpYkFrK4YhTk0vbHtmyS3XrDZ2b9hFT2j4YGwoDAAA8
dxqkEg0W1ctrVN/bxij9pzKxT/+TNNSzNDWE0lJZq2WcjFwubZTLpfIKcalco1FYXfnkfdVZ5KZY
8ehmNu3cvR+qJVUl1YWht//JMMyF7NCNl/0MuYOmD/mrpd4whmGico9uubbAgMv3slhooWtHDIPI
DZ4lrvOaza7X3lq6LSZLSETikuSw/TEFhNBNnTTt4KxqG2jhtU2r4/0iYj/n7nkrpKDVwS27VHMt
fZ2F4ReyxETi1K/mzf0qrUpp+2AxNhQGAAB47vRnc8TSejkjJYYYxX9yYuRM038qqNiurG9xNDki
cUUD00BERAzJ5XKZXNook0tljRK5RNxQUn2fq6n95H3V9WrJ14a/+1P6N3+LnExEM4cum2gxr7ZB
VFpb9H70dCJyMHBd6Lhei637sLZ4w9U5RGQ/cPRrtmtxkxs8W6b+R+M4X3388QybQBERx8LDL/j0
peCmH6Bvc58bccbsvf3rIiyle9ZadnC+vvf7Ra23gebFrFsR73EgztWet3fNIc+3Qnx/DTZx9eCu
nzG27jUTu6V2XCLiee3cG78iULH78KK9R131eRbttg/mcrGhMAAAwPNGX9ugsvxhfy5LQ4Mll0uJ
iBhiOl42KZczcrl6RRmGevyMohQuj9OP2I1yiSLglDbIZI0MI6OGxob7AoHrkElP/kKd7cQ9fvx4
RRzZ5b5tHaWHh4d/9NFHql9ZKogKve4QNN+6W1vKAbTx4u/EXZEQ+mOGmd+SaeYcIiJpUeTBBLsl
gfY6SjklRVejBY4zXI2bTyXpw6uHT96ROgS8OY2vSJMWRR0Mzzae+46/VSfnmzT/7MGbLm/OZV06
nGC3JJCfFXYitpgsxg4qz3NYEmjf8RXMpoztCn/B9iMm1WN0s7r5r/5GDlNmTbPX64uaPef6bqrU
5l+NvJJdLSPStnSfMcXRgE2irP9GJRRUy0jbcuKsafbS5GM//u/R+haWjd8bbrk/nrxT15SgYtif
fnNq/7gS+VtuNbE4A528fVz5HKr940pkbFYlcfT4Lt7eLsYckhQlREZnVMqINcBuyqxJVsrvHN2E
nbjVxAuw9fAL0AR6IVqhnk0oKP9D1FDRX4ul0Y8Y6uLqT+mDhyaDeuEX9ntBq3pmFqYKG0q19bnE
JkYuJ6JGSaO0kZFJ5DUP63Vo4KKpb2txmi67PZWduFtisB7txN06vbMXr8op0nWajLANoEN1mZcS
HJdMMe981aeksvhhtWPbNBarv6Qgo0zK57OJSCrIEHT/Vdl874WzWBxJbkYlf+7b86xYktoRLCw8
VU3bIeB1RXxcm3/lZGR0lpV/JyEuqBdJfmx0sc3c112N2aLUsBPR2ZaBZtmRv9W5BLzpqFeRciL8
Sr7VPNcl77oSEZEo42xYhv1Ec7YklzVg5MIlk4zZRJKiqycir+RbzbN6dsMuyY+NFdj7ve5iICv6
77HomzZLRpZdii42nxcUyGdVpIRduMpfOK3/zdisAd5L/M1ZD68ei0iwf735axwAAHU0eKAVu0qz
vKaE2LIOt4Nu1iiRNoo73DPgmWoV61gOHFLwsN/D+0XEkbNY/YiosUHWUNvYWCez4NlNemVGS9j2
JLqO3JKSkuRyeUVFBcMwLi4ut2/fbonKeDxeZWUlwzCvvPKKoaGhcvDWSddX5eRwnVy5VJMT/fP5
lDIpsY1c5i/0tubWZJ4/GZVTQ1LSdZi9cLatLimnALwE2APsxgzMik5wXDKl9Weu2vyrl65kV8qI
NcBmos8U4+IrSWXVkshII/95zo+++Ne2suPkZ1RK+cZskgoyyoztjSSVKrIP1aPaP65ExOZKWNoD
B0pkRCQVRJ+MH+Skebukri467L/e4xqib9gtCbR6mBwVm1YpJeKYjZ0xxdGA3T7jy03HzNGMEyUQ
iY3KYi8lCiQyiYSMnWfNdTcSRB77TcqpK67jz1oyWZoQ+Vt+HclI22bKrClWOkSSorYdq9f6+FnP
MCB4+bAGOE2ewjdmE5E2fyDnTqVEJMmQWE6x0yMiA6e5ATbslu6vzbqSIBkT4KhH0odtS2Fz9LRZ
z7LaHKtZb1oREVFdXQOxjNnSumKRjs1kPoeIDCxtKCWjUjpGm0UiCRHJJDJicVgkLYo8HEt87VqR
qFrGH+nEKs4qq6yWmU32mzaU/rjSfloCADxT7H5svr65vo6BsK6qTlItZ+RERAxDqn5rUlNW21+m
du9U/fvp2BnzBulaVdaWCesqZHJZfykzxHCwhf0Qc2NrXa3eWZPTdeT26quvtr6MNm3atI4uu7XO
q3iq48itJi+TnF7jinNOnsk0X7I2iE+C6O/PJ7u85ZAZnWO+cLUPnwTXz6cIamxtxSntUxC6wctB
227KlMoTUb85Lpli1JRUm3Upqtgy4HV/A7YoI+ynqNSAwCluKWFl3rOc27wlsLXtHbV/S6uUTjEm
QUaZkdOYyqJKFdmN53GuxD50CnjTWa/2j8hjBU0RmIauy4yJ+Sdz3QOm8QWRRCTJj44usPcPctQj
Sf5/T1xKM/PXVpXxpSUV5acWSwd6a5fdSZWNCQiy1yFR6okTicVus1hUJ2JPDFo1lEMVycfy+bOW
TDKmhylXMspqrXTYSh0bYPToeHiq2AZWQxWPRNkJuRwHP726m3Vsdm70iah8kWyg/USfiU1nlVSQ
lFBpN8ux6U9Z9Z2T395RPGaZTV448NlfzpI+TAiLuFkitZkxWY9NZnq1SZmCMe58EuRmV9Zp15Ge
o7tZSsR3+/qTjGx8lxizqYgktSyngEAr+uPswejiGUGB01hFUYd/K6gdWPu/dtNS7T4QAcBLoF+/
ftocXa6mFkP8zhfucWUDBpuq3YLPFlK5VCqVEjFEGppsTY5mb25L1a3VksnJyQzDVFRUKH4uUpH4
yiuvpKSkMAyjr69fUVGhSNfX1zc3N2cYxsDAoLMFk+KiTKmDj660KkfAdfHms4mI7x38FhFJrW3Z
oaEhZQ4OTk4TvG11ibhKKQAvC237yVMyjkX95hhgQ0RE0srsSj2XGQZsItKzGTnw6p2HEiuVOdna
No79I9IqpRMlaWV8F3fWVZXZBfe1y7QdvfWISMdqpLl2kup6yKqyBNUCQVhoIhGRTCKTVQqoOxlf
dHWZP32bSURErAFmTj4zrHR0rOZp5+enJgsEJcWVDSypjFjEGWjH5xAR6ZlbssPCTlba2Njbj3G3
0iGpoH3HiqRGj46HZ0BakXEpIpE90d/VgAQyaWVB7cSFQT6chylhYVEZ/EBnPSJJ8c1czpiAlltJ
W62WfJgSGRaRwA+a9IzvuGAbuwe+6VaREvZTZCo/0HmGtyAyMnQ/6Zk7mhlxqlmSP6KjS+wD3nbn
sx6mhEVcyuDPHUCcgTZGHCKpjra2Ht+YQyTV1uOQRKY0LQEA+ky/fl2vYmCzNNkszWdQmcfDZmnS
U6tdtyK3UaNGqbzINmXKlI7ueet8taS0KK3GerI+kaDVIlVpTZWYq69r7rN6vWteTk5ayvmQWNug
1bPNlVOwXB9eGjr23lMyjkUlcHp6lZ2lbePY/06aoFhSyXcxYtd2dmzzBbNO3y0HuvgtcTcgIpLU
1rI4ldHdzfgie3SfW5PaPyJPxkrt3BytnM2NK4tSm5JZikPY/ElL3nQqyi/IzrhyMtHKf8lEat+x
OmzBnZbj4WmTCBLORuYaewcolgj219PRZjmb6RCRsZ3zwJv5IqmzHlsqSBNoO01WdQpyjB1HDkxI
KiN6dpGbtCI/X8YfaswhtoGNvV5igUjqONB4jP+bk9hE0odXj+UO5NQVPOQ4jOdzFA0ZkJhbKR1J
beZVq3NWaVpOwT1xAADqqeuduNthmvdq6zKdYRguV+X1QakgrYrvpE/E1nfgi9Myy6REUkFsaGis
QCyIDglJlpo7jZs939tcXFYllSqlPKWuAFBPOvbekwZm3yxuICL2QLuBopTsCikRiXLvVOrZGHNY
RCRVsViRrWPj2D/3t9/K+I5GTZ/DlLPzB9sZ1aXlVkiJJMUZ+XXKxRAREUvfxqg2406RhIhEqWeP
RaTVGXcr48tGWp0tYDlOnORsbzWgNr+yod2zDxNOnEiV8e1dpni78yWVIhl7YPuOFfVJvV9SopSz
kUU2cxe23NmlZ2fGKs4QSIiotiCreoDVQDaRtDL/IcfKTOWlKGlF1p1KDn/gM6w0ySpToqNTH0qJ
pBW5GaKBNgOpLCEsIq2CiGrzb2azbRwGapvpSXILFGd6QVa1nplex7GYTGlaPrOmAABAz3T2xVp3
fj1SZXpLCTyeqg2VpGVpZUZORmwi4trOnp/387Hd15t+ocScy9WfbH7y2O7rbDax+ZNfc+Cy2ePa
pfR2HwCoOR1H7ykZh6MlRKRjP8NbEBlx+CYRS9tm4iwnPSK+GTv2p2PshUumGLc9oXVsHLVjk/je
Ruzmi2PK2Tlsb+/iyIjDKcTRG6jXv6MqcIZ6+5Rcij52UEbEMZvk2+2MLxm20ZgxAyPDQ3O1tbWN
+OYDykpqyfLRs8Yj3fiREYfvsFjENh47w4ZDbKWOpR78Dig8CakgIbGkrqHk5Lf/IyKiASMXLpk0
cdaYS5eOHZQQaVtOnGWnQ0QyUZlEe2TrwK3VfW6sAZZuM9z5z7LenKHePsWRkYfvyIg10M5nlqMO
m9wn8iPCD94k0jZz93UzYLMNZkwWREYcvCljk7al+6zO5hVLeVoCAIB6Ur2fm1QqvX79enh4+P37
9/v16+y6XEfkcvngwYO9vb1nzpz5xJUEaO/F38/t+YcWQTe9YB374jUH+7mpA/Xcg6tHXoAm0AvR
CjRBHfTyfm79+vWztbX18/Orq3v8RVDa2toTJkx47OwAAAAAAACg0GHkxufz+fxnugIEAAAAAAAA
VHqclZAAAAAAAADwLCFyAwAAAAAAUHeI3AAAAAAAANQdIjcAAAAAAAB1h8gNAAAAAABA3SFyAwAA
AAAAUHeI3AAAAAAAANQdIjcAAAAAAAB1h8gNAAAAAABA3SFyAwAAAAAAUHeI3AAAAAAAANQdIjcA
AAAAAAB1h8gNAAAAAABA3SFyAwAAAAAAUHeI3AAAAAAAANQdIjcAAAAAAAB1h8gNAAAAAABA3SFy
AwAAAAAAUHeI3AAAAAAAANQdIjcAAAAAAAB1h8gNAAAAAABA3SFyAwAAAAAAUHeI3AAAAAAAANQd
IjcAAAAAAAB1h8gNAAAAAABA3SFyAwAAAAAAUHeI3AAAAAAAANQdIjcAAAAAAAB1h8gNAAAAAABA
3SFyAwAAAAAAUHeI3AAAAAAAANQdIjcAAAAAAAB1h8gNAAAAAABA3SFyAwAAAAAAUHeI3AAAAAAA
ANQdIjcAAAAAAAB1h8gNAAAAAABA3SFyAwAAAAAAUHeI3AAAAAAAANQdIjcAAAAAAAB1h8gNAAAA
AABA3SFyAwAAAAAAUHeI3AAAAAAAANQdIjcAAAAAAAB1h8gNAAAAAABA3SFyAwAAAAAAUHeI3AAA
AAAAANQdIjcAAAAAAAB1h8gNAAAAAABA3SFyAwAAAAAAUHeI3AAAAAAAANQdIjcAAAAAAAB1h8gN
AAAAAABA3SFyAwAAAAAAUHeI3AAAAAAAANQdIjcAAAAAAAB1h8gNAAAAAABA3SFyAwAAAAAAUHeI
3AAAAAAAANQdIjcAAAAAAAB1h8gNAAAAAABA3SFyAwAAAAAAUHeI3AAAAAAAANQdIjcAAAAAAAB1
h8gNAAAAAABA3SFyAwAAAAAAUHeI3AAAAAAAANQdIjcAAAAAAAB1h8gNAAAAAABA3SFyAwAAAAAA
UHeI3AAAAAAAANQdIjcAAAAAAAB1h8gNAAAAAABA3SFyAwAAAAAAUHeI3AAAAAAAANQdIjcAAAAA
AAB1h8gNAAAAAABA3SFyAwAAAAAAUHeI3AAAAAAAANQdIjcAAAAAAAB1x3577fa+rgMAAACorTN9
XYEnVVsj0tHVU/nUzeuTiOh+1dVnW6Me66QJz4sXoAn0QrQCTVAHM65e1+zPOV+liMK69R773e5P
CNfcAAAAAAAA1B8iNwAAAAAAAHWHyA0AAAAAAEDdIXLrkN+sKfa2Vn1dC3haML4AAAAA8Bxhd5DO
Mg94b7OHbsvfjRlH1uzPl7ZkM5u+bTUv9JOfsqSP8rDNpm770KM85PNdmTIi0nOYvmLx2GF6VJZx
ad/BpCIp9QE2z9Vv7quZp79NlfQ0q8e4UaKauqyc/M4KDwxc4sbXbiy7EX76UEIVX0WnVbkEBC7x
4GtTzb3osH3n8xvNpu/4cCyv5aB6Qdzx4z+m1rYpuOvuZZl7Bq7yszWimrRzpw/EFNc/OlDpqfb1
LCez6Ts+HCs6/a/tCbWkZea39o2ZpjU3Dn53qMKji7o9QX92gOf65rK3nfWpInHb57/2yiThz353
m3fNvo2HUuo7O6zr8SUdl4DAv3qY80j64Fbkt8d/F7SqntL05rkuDlzixtcmcWFS5L7jd8s7r6XB
K+s+HJvy9YGYiu62i23mu+PDMYUhn3+TKetunmZd9cnTbGmryjdPLakw5+aPh39NqSYiIi0rr4Dp
PqP5PKJGUdGN8xeOJZVIidhWc3e+P1KbpLdDvvo2U0Ym7p9v8jIiKjz+r+1JtaRlNinAd85oPo+o
rjg97Hjk1eKezMnHmMmts5hM/XyTR2P4N1vihD14USXdnKvdO4w3ae17S0zv7Pgk4k8pz7Xt2059
p0PcHYaeKz4ZdXP77lvdGW4AAAB4Gjq65iYT3Y4LOxcTdi7m4q0qInFaUlnrf+h5VkN5JemFj5JY
hs7T16/1MGpJMBi9KnisTWn8ofB0TccZy9141CcMRvh7WPM6ik+fjKFH4NtuuvfCz4bl6L4auNjf
jJQ7TdPBd7mHfu65s8eSpMO8/f3NWIq8wluXDh0/e+h0zO1GvucyX/u2Ney6e03GrvKz1bx16ViS
1GlO4JzmYlU+pVTPVgezDSe9uWymqfj28R8ONEdondWt1/tTi+/trF+XenbnwfiefpR82rSc/Vd5
8Mvjzh46V2Q0et4Kj1ZzWGl6s22nL3czKjx3et+5Ir7bvEAHVscFExHHfvYMm+L4G90O256qp9nS
NoS3Lh07HXkqLo9sx65a7c5nE7FN/dYuWzBavzwp/tS5+JRqvvvit9e7t367YA8bzWcT6VmPeDT/
2YY+q99YMlpXEB9zKvpOucmIJWv9XQf0pM2PMZOf5pvJk+N7Bi6xbnqspfS209kQd0/5rfhCMy9/
B07vVhsAAAC6r8OPIaKcW1E5RGxDnw+96lJPh95ufVGIYzFav+x2q+s8BmPfe3OMNEPQ6MhXJOjZ
jrGhmujwuP8VU1ZOPFU8+maabRuwZ7V1YY7YxpZ7Y+/+BOe/BHma80hcmHTpwOnfBVKO/ezAFd7W
vPqihFRdd7ea7zYeSjHx3/n+sHt7v/o2h4Ys/mDjqLydG3/KkuqM8Atsk1draOCbc72tdYmkD1Iv
fXs4f3ywlxGR0esffaL1r+2p/LbP3nqyUIHFd+CTKPFc/O9Fqdzxm2e4jNI/fb59p9WzwzZ/zhWW
1vDcx5CbbmNL9+b/kZJao8k20najUQa1dW1K7k73jjCiqrCopKtSqafbrBEOulQs7OApXrpt+3qG
3VYcq+/6+uIltnTv9A8Hkh4NUMd1M/Rr1Z87Sn0fjeO3h+9NWLDAWV+TSJiXeGD/r7kmc3e+P6ww
qchwlK2RZk3a6SP7EsqlA9oO0I/FXhsDbYjIed4aOrLmILUb0DLrR1MlOTx/pJ9Vx9NGZ4Rf4ApP
c21R0e1SLlHNkwxtc0fcOXXuZnrcXYGmxH2ONd+EyyahtKmTlaa3iazETf11AAAgAElEQVSRxOXF
RbnSoXUklUqJ2jW29XzTsp4zmlt4+A+RYiKNmhXkN9JGj+pK0sOORF4tlrCtVPReq5qpyEJsw0mv
L249BFn1qvqEbbVixzKX1CNrjjy6hP4UW9quRzPTrybVEt1KF727bc5YL9PEsAFTvU3pQfgPX8SV
E1FMXLpw89veczyHJEUUEhFRWYXUyHaYEbvMcJQRiQR1enwiYlt7zjGjB+E/7IoTElFCqsB/tLS+
B51Jc1q/MyQoTTyzrrLkqGzfE4wLKb2bqZzSKoePiG3ivsLPqExERppERPU5Sm87SkPMdZj7TbDR
7VtVNqPNefVFcdElfM8xw/TEudHH95wvrlce0+o/4oq5b3sPPZZ5t9MLhAAAAPC0dHGfm57z9Dmm
gnPh99r8U83mv2omzspp9eFYlH5g21c7zuc3f8pn6ZnpErGHBbz3f7s/WjfbSmnPBa4FO/27wxFX
9Oet8tRNP3xk58E75DbvHQ8e23bWKm9ruhW553C6lrN+Z3Ub5d8uL9/T19u66tS/v9l88Ga5lrm9
QfXV8DtCorLo44dSa5We7cG1ApWEpTWkZ2ajx9Izs+IR8Qx02cqdJpWUl9bwA97bEWhed+vXc8VN
69ws/Fbt2fHRzu1vLLCWpp2Pb7NKsDvda6pLJBbWE9XXNhLxTHXZHT9V20E9LXyWve3MJRLcyCxv
/fod162qdX8SUcs4Xmx0cTcTJxw+svN4pqb12OYv5rk2A+7t2/FDWLGu0xxPCza1HwK9yqgj8Q+I
hEm/7Awv0lYa0NYvcUHAdDJttBx8V3maC+N/2Xk8XdOM+4Qjq1Cf/3tMzF2BlGXuPmkYidNvt1x2
VjG9pfmXjmVw3YM/2Ll6jHbOpbAcWSfzjW32ig1VpRRLiIht5rXu9ZH84pjvDkamaI5YsnbuCC1S
2XutsqvIwjYb024IVPeJtOp23M241KrWI/70WtqRsnxBI+lamLB5tkaaVJWS0RyXSstuZIpJy9Si
qROkgtSiRoOh9gb8V63ZZZlN30/wzEw1qSa9+Rypz0/6MfxWenX3O7PNTFZ+J+kyi8pGPcm4KNeh
+8NHbNM5b3rpJYWdzhE3H9b+baeDIda1qL/6xdeRuVrmnj68hP37vktl23hPHaaldKoasIgkRTlV
ZDXCQl2vOgIAALzwOo/ceK9621LG1YR2a7oMhg6hopSSVjfbSIVFFcr33nDZ+Rd2hiTWO85YNdu0
3T/396Likm/n9Btprkn67q8vW//mWAsiIwcjUwczbRKcC7+VnpkUHl/Vcd1Y/NHt89bmlzWS+YL3
31jhqVuYdPNGaUN5SVkjkai4qKiahO2f7fHNQm3JiqIi4krMl2zetHOZueajdOVOkwliju84nk6j
/Ve56SiSyuJ/2RNyfM/BsxdzyGnxYh+TVgV3t3ufsJ5EeuzCW5lCMl+weHjr0Lrjusla96fCvai4
5Nv3inJ/3XPwaqHBCE93c20iTa2mD5r34u4UVQjS8mpIS0eblIegobxYUE/UWFLyZwUpDyi71UsI
ZC2PlaeNiamjuSYVnYu6m5V5M+xWb1xwa8Iy91y2cQ6/LP70qZx2Q9Bmeg+wnbHEkdLCT+8Lz2y0
nRU0SqeT+aZtoK9JNWXVRMTiu43gkeDU8YTk1FvHjmc2atpOal7O2q73WqqkMos0v90Q6Biq7hNh
8vkLp28r3531VFr6ONq8U0jr89IFxHd3GzlCqyYro+kNQZNNRKTZPmf3O7P1TFbxTsLuIovKej/J
uCjXoaMprTx8LPM5gTP1Mk9FC0iTTcTW1lI0WfltR3mIxVlJeeUlJYX1RPm3UorL/8ypIuJqsVW/
W9YVi0lT31CrZ+MJAAAAvaXTr08NhrqbUW5UXru1MXq2Q3kl8YWdLTWUiUpqiCg9KefPYkFCiccC
M0NNKmmVQ1zfUmhj5s6NP2VJWXoD2KJqCd+r5RgWW1NF9TS1WiW2zUv0x8Z/D3d3G+HiOGzm4hEu
A/ZtSX10bH3qifbPxjzZzfb1eWF7v4nSlNaxR2zYNEOzuEZK7TtNy2ToCDNp1u38P2/dvBcwwsnZ
iF1MRFSfn5+eWUtE9+qHea92eNVaJ6q06Yv87nRvfYmYiMvTIpLqaBIJS2qknTxVL1BRTyJh0pGd
xwUWUuv1bvOCRuV/07wgtpO6KWkaR71Ri3a8bi1IiotOuDfEegyR4hWkjW1boWIIEtqW13ZA2baj
20yVDqeN1NxP8YKt/rcXsPieyzb6mZfFHfkiPL/VWaA8vY1NyUqb8mLi76VTTYqPw6ujjRoP9ny+
tQ1aGrvTkOYsHQxBN/vkWbeUZ2akSWJBhVRYX9bobevibHguplxKRGy+uy2X6ksKWypRXXyjgvy9
R1Jjzo1S8RAiIiorLmskBxvbpkXCes4BG2ZTzMGz91T1jKL9XXRmu4lnNaK7/d+RxxiXx5zS+k7O
+qSl//YmByIiGrHmQ/GX394byG/7tpMkNmo7xGwiImmdlIik1EjUKG1sVWgH75bSLv7JAAAAgKep
s2tuWibDLKgsvf0vtnEsnPXLUktEnZYryrxTSLrufp7j3T0nmZIwv7yx7QGNREQywa0i0nTw9xlq
7zZv2/aPPnHnleX8UUd8nzmvjHD2XODe/DuN0ppGYtu4DRviMMbHVvHRQTmvgbnfOzuCxzQm/Xrg
cFwhkbYemy2VNhIZOo4YYdJfxbM96SlleqOW7dn+dqDzUPc5noOo7GpquXKnaVq7v/364hWzX5k0
Z6qTJgkympY56TmMGO/2ynh3tyV+DppUk1vSvMype91bnnOvjPS9fNwm+XhYUE16Zg0NGOYTMH28
gYqnVNaTiER5ZfUkyToXmdbIdgr0dWn+Kr3juhE96s+mSxmNREQsQ2dzTSq6eC4xq1FxdUhl17I6
HQIVk6HVS1Crx8pH6gpS8+vIfKaXFd9sxEw3XeoNbKsZ6/zMNetz0kWm7p5u4211WjpZaXo/rMip
IrKe4zPcxcPdRYsEOdX8jhtbV1HeSLpGAxRtuSckvn+gu6vz6CWBDpr1964Wd37NSmUWUhoCjQ76
hOc629dvVJsfqOj9lhoM9wuY6mrQvuqKqTXJy/89PyOquBldLKvPuRxXQYPmvL1+8VQvr6krPlzm
qUeFUXF/tsQqjVX3FIsAi9NbwjlpztXoErLwe+M9P3ev2f7r3nQw0pMJqht60JmPZjJ1NPE6ztI0
+Xm2I8a7vTLe7ZXxbsNHGNATjEv3p7Ty8FXdOHx8T8jxPSGnw/Kk1Jh36khipUX7tx1SHuLOqD5V
tQ10qb5cgLvcAAAA+khnwYu2qT5RTft/p9lGr5pJ/4zqZB0jERFV3Nx3mL8q0GO5rbQs49K+qBKV
3xqLboftsw0M8l68nqQPbp09kCSUSmP2RRuu8p63xqHodr6YbImIpMWJp24NW+72l/W2OQkZNeSs
Mm+FQOvXaDNf//ffW0DSsoyYA1El0kZKKZbOdJsxp/iPL6KVnu1+P6msfGrEsdTFS/zmjaoXxB0+
HV2qotNESWH7rAKDvOcNo5rc+NP7EoRkRkTEGz1j+WjFITX3osPC8ps/X3aze0vj9oWbrvKbsYRq
7p07fa5YxjYb6uUxpjA15n+Z7Z+qL1Gqp1mroqrv/njeY4efQ1DA0E9iOq0bEYnyW/rzXnFLqqww
Ki7Ndsbb2zcJ83LKG8nQWpddTEpkRSqGwPBR2UqTgaw76HkV0yZyX7TOKu9l2zyKbuRUKWbIk2HZ
eI/kEZGWrfccWyKqSyq+HdfSye2nd0V92D5b/796/2UViR/cOnsgXtVsbC5aWpx+r3HECFNOVKlE
mn9p13H2itlebztTXUn6sYNn0+u7uK6hKouMrTQElKCqT9j6ozzHuKSmn7stbLmZrddbSiYenh7D
0m/HJbdd5ds8taRlOYn7jl8ukhJRyemvj4gWT/dx81hARKKihNMXTiW0Xg0oFdwqIjfbstTiOmre
f09aEr77B9Fi3zmeXk5Ewrw7h45HptcTdb8zW83kL+KUJp5ZF1nSM4iItJ29ljfPtMLj/9qe9Pjj
0t0prWL4ZOX5f5QTEbHq3KRkKszNK6/Iafe2U2PzptIQ3+pkiqk8VTl8R/3GvAvq9huwAAAALw+N
FWu29XUdOqTYxei7jYeS++Jb3p3bP7gYHR8Tl9gHrw1PX5+OL8d+2XtrtCLW77/3gl7A4Li8uXjI
uUPhpX1dEegtWsPe2za3fv+/DrS/DRLgOVBbI9LRVfqtNCIiunl9EhGNGXf12daoxzppwvPiBWgC
vRCtQBPUwYyrUZr9OefHTel+lu92f7ImeGkXvy0JAE+BJOt8TKG1+6tK6wlfDGyTESPyLkchbHuB
6I1ytymOCUPYBgAA0HfU+nZzwfn/vH2+z169rLyyvl7c9XHwfOrj8a249cXGztarPdekpbd+jOnr
SkCvEiUcWpvQ9WEAAADw9Kh15Na3vth9qK+rAE8RxhcAAAAAniNYLQkAAAAAAKDuELkBAAAAAACo
O0RuAAAAAAAA6k4jKSmpr+sAAAAAAAAAHTp28Bu2o6NjX1cDAAAAAAAAOoPVkgAAAAAAAOqOzTBM
X9cBAAAAAAAAOvNoP7fY2FiBQNCHVYFe4ebmZmNj0y6xurr6ypUrfVKf7mMYxtvbW0dHp68rAgAA
AACgdh5FbqWlpXw+H8Hbc83Nzc3S0lI5PSoqatGiRc++Pj0VHh4+Z86cvq4FAAAAAIDaabNaUiAQ
rFixog9rA0+osrKSiJRXwGpqaj4Xy2JlMtlzUU8AAAAAgGeM3fUhj0tDQwOfwtUHxgIAAAAA4Pn1
FCM3UB9yuVwul/d1Lbr2XFQSAAAAAODZQ+T2ssA1NwAAAACA5xd2BXgBKY8pwzDPxUA/L/UEAAAA
AHjGsBP3S4FhGHnHHlz9v3dmOVvq6+vr61s6z9rwc2ZdJ0c/ocx/OZt6/1yp+kmEbQAAAAAAKiFy
eykwHcs//trYuXtKXD/76fbdu7djvw/mhb3lGXA8v5MsT6jT6iByAwAAAABQoV/nn5irru+e76Kv
oaGhoe8wPyRFTESUdzJ4HJ/blLZbkaY6EfpGD6KoquhN6y5b/jPq9Ce+YyxMTCycpq787uw/Peha
qoBhGKY+65cPprsMNjQ0NDQcPHbJt7/XM0z+7rFDpn/wt7kujo5DBg8Zu+TQ7/UMwzBVN75d4jnE
0NDQ8FEaU3Xj27daEr+9UdU8z3oa7AEAAAAAvMyoi2tugpPzJ2+oCoqtZJjKqPl5a33WXhdXRQUH
nXEIzWMYpvKMT8qGoNA8IpWJoD6YDlZL1v1+4rLEdpmPeau0/kPfPhn+jY+xXC6/F7L07ctO39ws
LS0tSP7GLv4fq8MEcjlDopvxxh9fTkvLSfvOKX79+kiBXPDL0nnbhQvOZJeWZp+cWfBx4MdJdYrE
gvkns0tLCy6+R1/NW/qLQC5niKijtZsMrrkBAAAAAKjS2W9LCmJ3X+cHXw920SeicVujri8UW3O5
KfrcktiQ0JPc+T7jducpLq6JuSoSQX20ROrtiMWlEjKxMO4gYrJdduLGAhNLY6a+qkTIMeZRWoni
spnt68vG6DEMozd6vi3nk7SqEmb/TZNlF5aN0GMYGrP+5IX5YgtOycVvEvQWxKwYo8cwZLvg43e/
nvBNTMl+ppMfIkHkBgAAAACgUmfX3KryBBJ9Fz5X8ReX7+JirU/cyaGxh+aLT66d4jhQS99lYUiK
mFQnglpRedW1v56FHgkLhG1T60tKqhQPhGnfrZxgaWpq77How8NpQiJiGCLicIw5rS7cMkxp4UOJ
nlNzIsd4xAgLvfqStFJ6eMTLylRhwmeFJEorkXRcG4RtAAAAAAAd6GxXAH2+PlWlCMTE5xKROCVk
a6zDhmDrvCqXrVEpu0ksuB4a5PPOwlCfzCDKVE58hq2ANpTHtKO4iDN0nrveqSPhBcvetmhJzP7O
f9LeEb/cCbE9u3L5KZNvf/tzvgWXqPDIRLf/PArWmv+fiCFmgLEeCdNK6gONuUQkTjuyK8F29Uxb
EzJfcfXGu3aKcoWFhRJjC+EB5lF2FTVH/AYAAAAAoEz5mps4M/ZMVEoVEfF91noKQjeEplQRVV3f
HbQ2NJPLrYoN9pkcdDJPTFw+n69PHL4+l1Qmgvro6D43+QDPrRvH52yZFfTNhdR8gSA/9cI3QX/5
vHD0xo3j+svrq4REA4x0+8vldVnh/9yZQyRk5HKGoUfFKcI3Q8+3xj889dnJ1Eq5vPLGd2s2n8rR
1DTzfGv0w72bQ1Mr5XK5IOYjb7dZ/0ytY3CfGwAAAABAjylHbnlngvwWhmSKiYgfdCZqA3f3uIEa
GgN9TjqExO4ex+UHnTy5ULDWQUtDQ8NhrSDo5MmFfFKZCOqjk5+pMV969NL/zZWcfn/6uFGjxk1/
/6ho7v9dOr3UnGEY84B/rxoRGzDczMbRc+2V0R8EGIvSs6uYdgUSMQxjHPD9sb9xvp8z3Mxs+JKz
tjt+2jKaw5gHHP3pA873rw03MzMbterm+H/9tGM0h+m8OojcAAAAAABU0CgvL1c8Cg8Pl8vlK1as
6LWiNTTwQfwZq6ysJFWrJU+dOjVnzpy+qFHPnDt3bsGCBX1dCwAAAAAA9fLppjWd/bYkvDAUqyX7
uhZdQ6gPAAAAAKASIreXwvOyEPG5qCQAAAAAwLP3FCM3fApXKxgOAAAAAIDnV5tdAYYOHaq4UQqe
a8pBWmNj43MRuT0v9QQAAAAAeMYeXXOzsbFxcXHpw6rA0zN16tSzZ8+yWKy+rkhnZDKZt7d3X9cC
AAAAAEAdaZSVlfV1HQAAAAAAAKBD2z5ey8biNAAAAAAAADWnvBM3AAAAAAAAqBf2n3/+2dd1AAAA
AAAAgM6wHR0dn1LRGRkZKByFAwAAAAC88J7BR+Wne58bCkfhAAAAAAAvg6f9URn3uQEAAAAAAKg7
dteHAHSbSCQqLS2trKwUiUSNjY2dHKmpqTlgwAADAwMTExM9Pb0uS/7hhx/eeOON3qspAAAAAMCz
9vvvv2/cuFHxeMeOHa+88kr382K15MtYeG1tbWpq6oMHD4ho0KBBzs7OOjo6T154fn7+H3/80dDQ
0J2iGhoaysvLy8vL8/Pzhw4damVl9YSvDgAAAADQhzr5sBodHR0REfH5558TkYaGRkt6dXX1pk2b
5s6d6+3t3WX5XV9zmz17ducHnD9/vstC+kpmZmZSUhIRubm5OTg49HV1euDixYvJycl37twhopEj
R7q6us6cOfPJi21sbAwPDw8LC6upqWlJ1NXV/ctf/uLv789isR675Nu3b5eUlDxGxoaGhoyMjIqK
ilGjRj32qwMAAAAAqKfo6Ojdu3cT0aZNm7y8vFrSc3NzDxw4kJubq3i2y+Ct68itdVDYW3bt2kVE
69ata0lRGR9OmTKl9TE9tWLFCsVlJSI6ffr0oEGDDhw48NilKfjtfnRBKXxt/+MJsp+SZMqHBbix
Frs/ZhQkEAgOHDiQmJhIzZ2fmJiYmJiYnJy8YsUKPp//eMUSkVQq/eKLLxITE7W0tKZOners7ExE
qampCQkJhw8fzsvL++CDDx4veMvPz3+8sK1FSUlJfn5+d668AQAAAAA8RyIiIhSf6nNzc3Nzc1vC
K0VsovgzIiKiy8itH9MVxXEXVVE81UnGjp7S0NC4cuXKzp07W6eo9BiFKyxevPjBgweWlpbbt2/f
vn27paXlgwcPlixZ0nmuLgtv3XcMw1BHYe0T1FwRtima31yYhoaGRmJi4oEDBx675gzDhIWFKUq2
sLAIDg6ePn369OnT169f/80335iZmcXFxf3yyy+PUbhQKMzJyVHxhO4wn8DAwL+4m7KbEjR4o+cE
Bk401Wh50PrwnJwcoVDYaftUE2d9PW9iC6957+65WvYYxTwF4vvRX7+78aqot4rLOr3lrzMVrQxY
9+31sq5eQtEz666Lu1V62mczu31w25y92Uxx2paZEyeu7LVOexpUDUQXGTodiF7twLzTyydOnLj8
9H2GYZj7Z1ZOnDhx+emsrD3zJk5cfqGppnnfBkyc+Ncz9xlx1p5W587EiV4B73576zHq0b6cifO+
zurJROrFHlBU5a+n7zMMI877NmDixIle666LGIYRXX134sSZW261r5j41kaviTM/SxO3L6iHo9yu
wC3tC2x3UO++OTCM6NbpLcvnNb0JrvzsQvMAtHqhxz/HAQCgGzr5HP7ll1/a2Ni0fKpvFTE0/Wlj
Y/Pll192WX6H19wUF8FaVkJ2/msTPbV+/XoNDY2YmBhqvvLWEge2JpfLZTIVV7S6dPXqVZFINGTI
kH379ilK2L9//8qVKwsKChITE8eOHftk1X/kr+6sZRP7K6fLZDK5XP4YBV68eFERXCk/pQjeLl68
+HjLJmtra3/55RctLS0zM7OsrKwtW7Zs3rxZV1eXiAYNGrRly5Z33333l19+8fX17eY9by0ePnyo
6t62fvpWQ/WIiGVux+cKCsVERPXCRqLqGqLG5getNDQ0PHz4sDu/VtKeRj8iMpj2/orR/Rvy4g6f
+vnjNYZHD/7VitPjknqZ4PL+iBTD0b1TmCR7/4f/udwwbsH7ntblcQeOHP/4U7tT39h2+hIa/Yg6
/HrhiQ5urVeb+fjVeFZUD4SXYSdZOIbT//a+o4FdBzOyVzvQyu+fqyIW7tu/4+KELf13/ecuWa36
p59lXQi17tV+Gk1/NZ87fxun29BQnha2L/L4jh9nng7u6cXvpnJWrRhn2J+ISHfooJ6cfr3YAxyr
yU79f756Lac6YFBN0jUBETXcvVwgGWtbcC2HyH668iho9CNFl7TyGKPceYHt9e5ZI8kOeWfN8QLd
EbOWvW5Faf89GbXjzYKGUyHzBrV5IbU/uQAAXkipqalE5OXllZubq0iZNm2as7Nzamrqf//7X0WK
l5dXdnY2ESnWxHWkw8itX7+nuGGATCZTBGwtwVvvRoYJCQkaGhpvvfWWVCpVpEil0pUrV/7jH//o
3cjtyLXGsBsS5XT/V/steazVkrdu3epkeaqGhsatW7ceL3L7/fffa2trvby8goODt27dmp6evm3b
ttbB24QJE2JiYn7//ffx48f3qOSKigoVqf0G2gzVpcLf0g0njrAz1S7Mr+teUUOHDu3Rq7cwdJsy
Z6aBRr/5Yw39F+776aeC19bbUX7Mrh3/ibpbQbqWU1duWTfPbgBRdfpPO3bsv1bQQAbDX9v42Xsu
gq1+71xz2RP5+ShK/9zvncsueyI/H57y3rQPCyZM5d+9fLdCd/jcv9oW/BSRUqE7fPHXXwePGEDl
id98vOPnuxWka+vz7pZ1M/k5n/u9c83WZ7jgcpKgwcBt3Z7P5tGhD/cLiARbZ71RHf7DhJymHNTf
csK7n22Z1+PAsraqhsjKbuKU6S6GXiMGHYsWDygKefQSP8w7+8auitcOnnrPjpP/45Kl+/uvO7qp
JXP7ClvVJLarj2IZruDip29supbTwJ+w7ust86w4yhk57VKGX+zdZjaTJHY6BJL8s59++J9rggYi
g+Gvbfn6vVEDqhO/+fDTn+/WGAz3camIumzwWWTIxAFdN7w3BoJUzKuCTbPWpNi66N5NqfH8cHLq
v8/bDvZ20t3h906S7QTbgmspFf1tfTZ+tsmrIaR3O5A9+LXty8KXHdmx5p3+goZBC7a/NpgtyyEi
aqipKC8nooaKBgnRo6+cDF08Jk8eSA2VA9NORmY3SBskRI8zbAOGu7m7DiQi6m9ooCNnSKJ8AkrS
n/aZ0t98kh1dzU8qkLgILheQwehBFbdupwgkBnfTa8hq4lBdpZOXiKgh+9iHgddSBP0tfTZ+vclr
UAejrKJFKoZeUZGGhvyza97cddf23aN7AnRTnuZZU52y/+cCsnr/4PcB5nKGAhZMM/Bbemr/oXSf
v/7W6oW+tSPqxjnOv/to6k7dE751VJ9/BwYA8HzbtKnpA5niQ/60adPWrl0rl8sVN7wpgrfvvvtO
ccy5c+c6Karr1ZKPjTpduSeVSj/44IOpU6fGxsbu2rVLkbhr167ZrbSk97Twfv36MQwjErVZiKL4
UyaTPUnNI9ZptfzHMMxSD3brlJb/lnqwOyqh85qnpKR0XrfOD+ikcIFAQETDhw/ncDhbtmwZPnx4
RkbGp59+Wl1drThg+PDhRCQQCHpaeHV1tfLE0jSxs+ZSenRK3E0hGdubDejWzG43ZN1GRESMVCaT
SRsbDB3t+lPFHwUScdb+NZ9GFdiv2v7V3z0bLu96Z8d1ESO+9Z8P/3NNY9b23V8tG5Tz8479aRJS
fA/NMAzz6KGGBlFFjt6Kg0f/PqLmbsShktm7T22f1HD3+P7bIqYs+tOPf64Yv33fvq9maUTt+Pjs
fYb6EdXcrfT86tTBVXYVSfsPZYv5/u/PMiAatGz3J5MM8n7a9fPdQe8fDD/1ld+g2rspD3q8YKn/
8DdXje6ffXT1XK+pc1Z9l2vi4TPWodVLDJ20bDRVXD6bL2buX7tYQCMWTuI3Le9VUWFV9SEiyhdY
v7X7qwVWgmv7f8wWq8iolEK928zmJcldDIE4++zFnAGztu/b98mkhrs/708UiW7t+Pjnu4Z+2/d9
Mq0ySaAYx+41/MkHwkDFvNLQIKrJaZy2ffsnb9iymyaWYp40Tv/q1MG/jy6I+vTTC2W9PE8YhmFZ
B233MyCBoMHAb/tKa1Zzr+Z/86afn5+f34I1pyuaOpkhIsr++jUvLy+vma9tiGwYseCTN+z69/w1
iYjy9wTNU1gXK2QYlSfgMzhTBjpOGkQVt3Py02OyadCspQvsSPDb3Qc5/9/e+Uc1deUJ/Jsf7yXC
YytRlMgaVAirAuWHKOmoERQL6lSl1dJhcbSV6spsK9gRW4RWwWPBHfmxgqMczpStLqun4ijnoNlh
TWugCsiZogeiq7BqbBWroFXQ5CXvvf3jhRDz45FgmNHj/fwV7urd5yMAABAESURBVLv3e7/3fu+9
5365v5p0IImKpB10XgaAvDnwxrb9e34rZ43ixMquDikMANnbuHfzXu245P2lKYGPR7nX9LbrSJAq
Y6Sk0WQymYzgv/ANAvq7ux4/U7cu9nHGqul+GDqCxoBAIBCvKM6mypaJLvtnfHy8yWSiadpkMsXH
xzuM40zO3/M9N9aJAqtLUOy3fo5McnR0dGNjY01Nzdy5cy2BNTU1ADBr1qyRa2y3a5Sm6ZHtinTG
sEUecZ2wCdkKF4vFO3bs2LFjh1artay82dji+cAmTJuEwVUt5ud748qT+bEhgWO7Ox4Om4x59iTh
yBgUQupU6j6Q521PjRsL8z4/35DRXNf1WPJ9az/IM9+Pm+W7MLbhdzzM8OjicSeSiFlLwsf5e8kJ
6AxJnjtF+jhKCpqBAdKgU2tJIOvzMuoBAAC/cIsMBQCITkmaMo6mQiVw7cEA4BMCZCIASVDI1LHw
OHwKDs0l69cHR0Ypfp2SMEUE7pYVC1hV0bBAq9H85ezZZs03f2hqvF11aOlQFkzMGiWe1VTXtVx6
WgfR+bPHMvfBXBV2CvustNOnEwAgek3a3HChf5Tk6Im7A2Bf0v/rxmxCel5TeLSYLpkARGFZpXsa
//L9f9c2dvQDGAf6ei5rSQhdvzEu3JvctOxQy1EAB/o7KrgHDPHHL4x27aoNACA6/f24GEx/9bxV
elyxJjFEik1NU5Y0a77XMUs9204AgPn58tU+AID+G90PGfngFj9pcsG2BT4A5J3j+UWaoejSlD1Z
UxoKixpIRUbuxpgxzAjHNGly3rYF4wAAfKf4gOGagw5oiBQBjHZPmRAZTUC9Wl13jSQWzPun2SCF
oyqV+ibgIfMn3PmzXecNAQBcmb4qJhyPSFccyfrr9zrDkihHViZdG1LaAID84Rs1QGDGP4eLqKda
23bo4V5jHt5pSzKGNgAA8J6tW/1tgOH7OFsh5qbL0LQHBmUEAoFAWHHp0qXQ0FDLb7fSDvOem+Xr
W2+9Zf/V2hngTu6Q4uLis2fPLly4cMuWLexptE8++WTr1q2WCNzn3DiEJyQkVFZW3rp1a/369atX
rwaAI0eOsJv6goODXXEPnMVZtW9In2MfCb5qpOvbHcRcFsl7f77T7aYcCkRERDQ3N3MoFhER4aLJ
bJg4cSIAdHR0LF68GADYlbedO3eyzlteXl5HRwcbzV2Dent7GwzPbhkVBwRPxgBCVqeFmEOCgsd1
XrhvWU4Z+vGMQB8fn5E0JzacMUfou3aTBCLQHwctAIDJaKIoMA6wfqk5BWWiKIq6p73QJwmWDSUH
w2OS/QkMAODeAppmBAwOgAkENG2Zw/B4ALhyf8OeaJGht5eUjBU9vqgGwDEBRdNADZbOnICmaYbx
nrv3eJX6VH3D2fONh3ed0fz89depMmcldUiPamd+HZ66J+ftjxau/peuf3tn7Z+b2nuThrIAr7DV
SkKjrqwmdLgiY9ZrDNwzF81eYQP1Kxt9qiIZAMAEfIqiTYM1bZcQWj+1E9Xd5cFiWqzJaQKm93+y
3stvly35ICVZqdWeGNz7Rz59QlFiyqQ3y3Cl4J4wxMVfYgFs2xUAEN5iE0XxmaFCMQBgePqUpgUU
ZZ5ce7adAEBPXf7eTpAqFIbm5r2FZ2bvWUgwDAAQM8Kio8cBgK6NMPc+NjxIrlgSU3K7Y+2hPVlV
IV9vCHZweJcbs5xZ0dESAACGphkSeAD2HZBhRrunABYwTw71P9Q0Aa5cGODlNy+KOHTq2BkA+aJp
mIPO21YHAAYTRVGUycQAAM6DO6d3OLOyC0MKAAAEKuR3mqtKzy7dNcdBO/Ror/GNlOGHWzSNN3+b
KsMBgOw6/dd+IOTBBEP3Ww0RjCt9nK0Qc9N1r+YRCATilcfhZLWwsBAALl26xC4j1dXV+fn5hYWF
dXR01NXVsXFSU1PZJ7m55/mujssOL350qyQ22LttAEBRlNGKkV1PAgA0TbO3cdy7d6+ioqKiosJy
FmvDhg2WpwKeH2enAUd8SjAmJuY5IzgjPDycIIhz5879+OOPbIhYLGa3TV65cmX79u3Nzc0EQXAf
i3SIRCKxCfEOmOYPxs5v9rFUnekBsSxYio1AlOv0tqpVKlVdTX72Ph1Ik98NImQJSglcO1hco26q
K97bSBLKlcGETKkg4NpX5XVN6srczMyMcm0/Pg4HsvN0k7a1ruaHZ65acdJ1cFlCKJCa8oOa5hM7
U5YtXlN720lEXARwp0Xdquvv+vffvJ1ZK0j6OL9gvRyg/4FrD5ZbQUzi6bSq/Mzdh47XVpcU1fcB
ERIiGcqCBMCmpyVI+tubenDF6nCre2bsFb7hmj72CXsdlN2jxbTBiQnIniYtCaFrNq2KEPayu3Vl
ymgCrh0sr2tSVxef7nu+gnPhyBAzw+3bFauBgwKQLfsqVa3q6oMtJIQmyHAPV2CfqrBcC9KU/N27
i5IlZGthoXrwJCrDsNsEbJdRGIam+FNSc5dJoKemWNXjbpYWObSVfNxRB3TiEnq4CRHTlOwVK/JF
0wjAAxZF40ACSGNn+DrrvGTjvkp1q7ryYAsJoUoZ7tjKLg4pAABEwtYdhZlysqm4ugtGu9cQEZuS
paCrTM8srDxWU5mfnlnXB/L1H8zArevWoVSno5mjpotAIBCIkTBz5kyZTHb+vHkDzsDAQFlZ2Ycf
flhWVjYwMMAGnj9/XiaTsWeXOBh+t+SpU6e4I4zgchF7t2358uX20eLi4rZs2eKucItWtbW1p0+f
vnDhAgDMnj17yZIl77333qNHjzZu3HjgwIFJkyaNTLI1HygF6XEOHJIR34qZmJjY1tbmbNlNoVAk
JiaObH+ml5fXqlWrqqurCwoKcnNzJ0+eDIPOW25uLnubzbp167y8vNyV7Ofnd/PmTatm4BMQ4ge/
aM7+hGFiAICnFxuuLloTIv/H9vtccoRCoZ+fn7u5W+g7U154BgBw/+iUotyNU3ETM/2jijzj5xWV
+U1ABCZkF+XM9gY64uOSzL68/cW5apCEphRlKySvTc1MaNylys9sn7NUIQHNsFmBb3x+UfunBTXZ
mYAHJuQVLJXCVUfxJFHz5fhhVXl18Jw/rslM6d5zcOOqfYD7KzIKPpDjbu6IIiK3V2Tzdu1XVRar
AIhAZWbu7yNxPmHJYo7MH5u0YrHkxFEyYfXrz1wQaqdw4KQBO32uu1RSX9yu7LQni+kaeHD6ekV7
2RfLEyQzY6U43NH2wYrfF6Xc2Xa0OFcbuzSK0LbgrhbcE4bw9gqxaVfEdacnjOUhd6uz83tw+bKi
/HhfoEkPVmCfurC4nZQk524I4fNhQ8Gys7+rLyz87svhL4tkxoRvzFY2fKqprGxd+Pkcwp1cHYI7
6oB6h1E92lMAwDciSgI3+wITpvsCADFtkRw0nUTU/AkAuH3n7QQAiTLsVmX2sR5cnswaZZwjK48J
dWVIYU3PCPjj39yaXLXhWKFq1Z9GuddgUz/6j/3jdpV8raopBwBJ6LLsbR+/5cdQjHXdljqaDzgY
zTrdrW8EAoFAcMEwTE5Ozo0bNywh9gtg169fz8nJKSsr4xbF6+3tdfhh5cqVMNyC3cmTJzm+dnd3
O7snsLS0lM/nZ2VlWdwbNjsb4uLiMjMz3RVuDZ/PZ5e/2H8EYxiWlpb24MEDhmEOHDgglUrdFb66
fMhr+uZf+dVNjLPdkuvmOV6THFbz+/fvV1VV2TtvCoUiPT19/PjxHGm5hTMMU1JSotFocBxXKBTT
p08HgCtXrrS2tur1+tjY2OzsbI6XuDmE63S6y5cvD/41cONc202YFPMrudl7IO9dPK996D3zjRkP
29pue0csiMCunWN/jB0SMmPGDJnM6R6h6urqdevWOf7Gw0Ri4eAqJ0NTlNFoZFcVeAIMFwr5fGBo
k5E0UuZAHMcEfB7QlMlIGmng8TEcF/KBpiiaJxQwBj1J8/ExIp5JbzAyPEwkFjKGpyTNE4jEOJBP
DRQAH8NxoYBnEczDxGIBbdCTNAwlAJ5QJML4QJEGkuIJcUwo4POAoSmjkaRG4H/zBBiOCfnskRbK
SJIUY5VF//XO9vbaohI1rPzqyOYp2GDNsKrYKgx8W314mFgspFm9h9LZJ7QP8WgxLWoApwl4AhzH
BXygKQr4Ah6lf3T5YEHVj+PfePvXM/Xf7vnsP/verfqvTUG4CwX3jCHs2hUfF4v4lF5vZIYM0d+5
652MFsXBuvwILz5Dm0iDkQbwaAXycbFIwJgMrGQ+JhIJeZTBwGBiobntAvCEIjEGpN5AASayCmcT
g8mgN7qZLe9ZOdYVZdMB/yY9xTwm0KTeQDEAwMfHiASMiTWGXZPg42IRjzYxPKHAyijOrOzCkDJk
enO96A0Ub1R7DQAAX4BjmIDPAwCaMpmMZuWsM6KFLvVx66aLQCAQCJfhmCp/9913paWlADBt2rTX
X3/9xIkTbPjKlSsvXbrEvhaQmZkZFxfHIX9nzuZhPDduLLnaUFJSkpWVxaE96x5Yr0rhuONX0Zyt
XLnoudljcd6USqWzBT0O4dZ6kiQpEAgcujrPqblQKFSpVG1tbRcvXgSAiIiImJiYpKQkyyMHzuAW
bjAY9Hr9yZMnVSrVkydPLFeSeHl5JSUlrVixwsvLC8Oc7mnkFt7e3n737l1u9TiYOHFiZGQkRwQu
zw0BAAA9tWt/U64j5Mn5f9gc9Q+v3pzL+L9H83b8qaWHBABJdEruF5tevFogL+96J6Mldn9t7gy3
j5IhEAgEAoF4keGYKvP5/G+//fbkyZNffvlld3e35Z2A3bt3BwUFffbZZytWrIiPj+feWLczZ7PT
3ZLDbpIEAEfvL0NJSUljY2NWVhZHQnuvxqGo0cBoNB4+fPjQoUNpaWnDOkL22OjJ4aE9DyaT6c03
30xKSrLcAcPeHPqcYtkVyOTk5MTExKtXr/70008AEBAQEBISwm6SfJ6zi5GRkTqdrqury93dsxiG
BQUFBQa6+/Qvwhbpu0ea06zXDF4xsOmpxcfXWtYcjOQLWAv4zJ0NzQK0moFAIBAIxCsFTdPx8fEJ
CQlGo9HaPaNpWiQS7du3j6IoV85DOb1b0va2QNcoLS3VaDTsc2rgoUvenTFi4SRJpqamcjsYf3fN
R+wTcggXCoXsu9s+Pj7+/v7WbqGLunF/nTx58tixY+/evfvw4cNHjx5x1zCGYT4+Pr6+vhMnTuS+
UtLF3BGMSf/keb37lxrGZNC/6BXAkE9deZMegUAgEAjESwjHZNUytw8LC6uvZ59iAaPRyDCM6ytY
nnzPzeK2eVDmKDEaC2UvETZP/nkQHx8fHx/XXt12k7Vr146GWAQCgUAgEAgE4m+GW66aDR7zsl4i
tw2BQCAQCAQCgUAgXi6GeYnbdXJzc0UikeXP+/fvwwuw5xAJf4mEIxAIBAKBQCAQLy+jOlWODJ/O
+zw74+Evj0YvDwQCgUAgEAgEAoFAuMXP9/oI7zEiES4QCCLDpwPA/wOEIN1OONsiIwAAAABJRU5E
rkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156328</attachid>
            <date>2012-08-03 04:56:12 -0700</date>
            <delta_ts>2012-08-03 08:14:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120803155551.patch</filename>
            <type>text/plain</type>
            <size>20887</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzOTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggM2VjODRmNGI1
MjY4YThjMmM0MTA2YjBhMTQ2YzVmODBmOWNlMTNmYS4uN2YzNDMwYmNkYTI4NTVjOWI4ZDFjZDg0
MmYwMTg2NTQ0NTcwYzEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNyw4ICs3LDggQEAKICAgICAg
ICAgICAgICdNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oJywKICAg
ICAgICAgICAgICdNb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uRXJyb3IuaCcsCiAgICAg
ICAgICAgICAnTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvblBvc2l0aW9uLmgnLAotICAg
ICAgICAgICAgJ01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvcG9zaXRpb24uaCcsCiAgICAgICAgICAg
ICAnTW9kdWxlcy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkNhbGxiYWNrLmgnLAorICAgICAgICAgICAg
J01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvcG9zaXRpb24uaCcsCiAgICAgICAgICAgICAnTW9kdWxl
cy9nZW9sb2NhdGlvbi9Qb3NpdGlvbkVycm9yLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMvZ2Vv
bG9jYXRpb24vUG9zaXRpb25FcnJvckNhbGxiYWNrLmgnLAogICAgICAgICAgICAgJ01vZHVsZXMv
Z2VvbG9jYXRpb24vUG9zaXRpb25PcHRpb25zLmgnLApAQCAtNjI4Myw2ICs2MjgzLDcgQEAKICAg
ICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVDb250ZW50Vmlldy5qcycsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtTW9kZWwuanMnLAogICAgICAg
ICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanMnLAorICAgICAgICAg
ICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsdGVyQ29udHJvbGxlci5qcycsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL2Zyb250LWVuZC9GaWx0ZXJlZEl0ZW1TZWxlY3Rpb25EaWFsb2cuanMnLAog
ICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRm9udFZpZXcuanMnLAogICAgICAgICAg
ICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvR29Ub0xpbmVEaWFsb2cuanMnLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA2NDIwMjkzNTlhMzE1YTY3
MTY4NmMyMzE1MmJlODVhYmRjMjE1NTQxLi4xNWE2NzA1YTU2Njc2Mjg3OTk2Yjg0YzFiNmIyZWYw
OGQ1YTQ4NDk1IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagpAQCAtMjUxNyw2ICsyNTE3LDcgQEAKIAkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CiAJCQkJCT4KIAkJCQkJPFRvb2wKKwogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKIAkJ
CQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgpAQCAtNDk5Miw2ICs0OTkzLDcgQEAKIAkJ
CQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKIAkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCiAJ
CQkJCT4KKwogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKIAkJCQkJ
Lz4KQEAgLTExMzY3LDYgKzExMzY5LDcgQEAKIAkJCTwvRmlsZT4KIAkJCTxGaWxlCiAJCQkJUmVs
YXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTTWV0YWRhdGEuY3BwIgorCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKQEAgLTE1NjEzLDYgKzE1NjE2LDcgQEAKIAkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCiAJCQkJCT4KIAkJCQkJPFRvb2wKKwogCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKIAkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgpAQCAtMTg0MzEsNiArMTg0MzUsNyBAQAogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKIAkJCQkJLz4KKwogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZp
bGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKQEAg
LTQyNTcxLDYgKzQyNTc2LDcgQEAKIAkJCQkJPgogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwogCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCkBAIC00NTIwOCw2ICs0NTIxNCw3IEBACiAJCQkJCQk+CiAJCQkJ
CQk8VG9vbAogCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisKIAkJCQkJCS8+CiAJCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtNTI4MTAs
NiArNTI4MTcsNyBAQAogCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisKIAkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgog
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKIAkJCQkJPgpAQCAtNjkwODYsNiArNjkwOTQs
NyBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
IAkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwogCQkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCiAJCQkJCQk+CiAJCQkJCQk8VG9vbApAQCAtNjk4MDksNiArNjk4MTgs
NyBAQAogCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCiAJCQkJCQk+CiAJCQkJCQk8VG9v
bAorCiAJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKIAkJCQkJCS8+CiAJCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+CkBAIC03NTQ1OCw2ICs3NTQ2OCwxMCBAQAogCQkJCQk+CiAJCQkJPC9G
aWxlPgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVu
ZFxGaWx0ZXJDb250cm9sbGVyLmpzIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxGaWx0ZXJlZEl0ZW1TZWxl
Y3Rpb25EaWFsb2cuanMiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkKaW5kZXggNGQyOWY3NzA2N2YzYTk5NzdhZmE3
NjkwZTNlZGRlNWJkMDUyNzM1ZS4uMGE0NWVkNDZiZDBmODBmZGE0OGYyNjg1YWZiOGE1YmNmNWMx
MWJlOSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQt
ZW5kLnB5CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5w
eQpAQCAtMTIyLDYgKzEyMiw3IEBAIG1vZHVsZXMgPSBbCiAgICAgICAgICAgICAiRGlhbG9nLmpz
IiwKICAgICAgICAgICAgICJEcmF3ZXIuanMiLAogICAgICAgICAgICAgIkVtcHR5Vmlldy5qcyIs
CisgICAgICAgICAgICAiRmlsdGVyQ29udHJvbGxlci5qcyIsCiAgICAgICAgICAgICAiSGVscFNj
cmVlbi5qcyIsCiAgICAgICAgICAgICAiSW5zcGVjdG9yVmlldy5qcyIsCiAgICAgICAgICAgICAi
S2V5Ym9hcmRTaG9ydGN1dC5qcyIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0ZpbHRlckNvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0ZpbHRlckNvbnRyb2xsZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjUyNmI5MmZmYjJk
ZjQwZTA5YWUxODczY2ZlYmYwOTBkYjFmMzgwMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsdGVyQ29udHJvbGxlci5qcwpAQCAtMCwwICsx
LDEyNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuIENvcHlyaWdodCAoQykKKyAqIDIwMDcgTWF0dCBMaWxlayAo
cGV3dGVybW9vc2VAZ21haWwuY29tKS4gQ29weXJpZ2h0IChDKSAyMDA5IEpvc2VwaCBQZWNvcmFy
bworICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiAKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgKiAKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSwKKyAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIDIuIFJlZGlzdHJpYnV0aW9ucyBpbgorICogYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZgorICogY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlcgorICogbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4gMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZQorICogQ29tcHV0ZXIsIEluYy4gKCJBcHBs
ZSIpIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0bworICog
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3IKKyAqIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqIAorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLyoqCisgKiBAY29uc3RydWN0b3IKKyAq
LworV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIgPSBmdW5jdGlvbigpIHsKKyAgdGhpcy5f
ZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRhYmxlIik7CisgIHRoaXMuX2VsZW1l
bnQuY2xhc3NOYW1lID0gInRvb2xiYXItZmlsdGVyIjsKKyAgdGhpcy5fZWxlbWVudC5jZWxsU3Bh
Y2luZyA9IDA7CisKKyAgdGhpcy5fZmlyc3RSb3dFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5jcmVh
dGVDaGlsZCgidHIiKTsKKyAgdGhpcy5fc2Vjb25kUm93RWxlbWVudCA9IHRoaXMuX2VsZW1lbnQu
Y3JlYXRlQ2hpbGQoInRyIiwgImhpZGRlbiIpOworCisgIC8vIENvbHVtbiAxCisgIHRoaXMuX2Zp
bHRlckNvbnRyb2xFbGVtZW50ID0gdGhpcy5fZmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0
ZCIpLmNyZWF0ZUNoaWxkKCJzcGFuIiwgInRvb2xiYXItZmlsdGVyLWNvbnRyb2wiKTsKKyAgdGhp
cy5fZmlsdGVySW5wdXRFbGVtZW50ID0gdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQuY3JlYXRl
Q2hpbGQoImlucHV0IiwgImZpbHRlciIpOworICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuaWQg
PSAiZmlsdGVyLWZpZWxkIjsKKyAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LnBsYWNlaG9sZGVy
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJGaWx0ZXIiKTsKKworICB0aGlzLl9maWx0ZXJJbnB1
dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgbnVsbCwgZmFsc2UpOworICB0
aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMu
X29uS2V5RG93bi5iaW5kKHRoaXMpLCB0cnVlKTsKKyAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50
LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25JbnB1dC5iaW5kKHRoaXMpLCBmYWxz
ZSk7CisKKyAgLy8gQ29sdW1uIDIKKyAgdmFyIGNhbmNlbEJ1dHRvbkVsZW1lbnQgPSB0aGlzLl9m
aXJzdFJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRkIikuY3JlYXRlQ2hpbGQoImJ1dHRvbiIpOwor
ICBjYW5jZWxCdXR0b25FbGVtZW50LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJDYW5jZWwiKTsKKyAgY2FuY2VsQnV0dG9uRWxlbWVudC50YWJJbmRleCA9IC0xOworICBjYW5j
ZWxCdXR0b25FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5jYW5jZWxGaWx0
ZXIuYmluZCh0aGlzKSwgZmFsc2UpOworCit9CisKK1dlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9s
bGVyLnByb3RvdHlwZSA9IHsKKworICAgIGNhbmNlbEZpbHRlcjogZnVuY3Rpb24oKSB7CisgICAg
ICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5zZXRGb290ZXJFbGVtZW50KG51bGwpOworICAg
ICAgdGhpcy5yZXNldEZpbHRlcigpOworICAgIH0sCisgICAgCisgICAgcmVzZXRGaWx0ZXI6IGZ1
bmN0aW9uKCkgeworICAgICAgdGhpcy5fcGVyZm9ybUZpbHRlcignJyk7CisgICAgICB0aGlzLl9m
aWx0ZXJJbnB1dEVsZW1lbnQudmFsdWUgPSAnJzsKKyAgICB9LAorICAgIAorICAgIAorICAgIF9w
ZXJmb3JtRmlsdGVyOiBmdW5jdGlvbihxdWVyeSkgeworICAgICAgdmFyIGN1cnJlbnRQYW5lbCA9
IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpOworICAgICAgaWYgKHR5
cGVvZiBjdXJyZW50UGFuZWwucGVyZm9ybUZpbHRlciA9PT0gJ2Z1bmN0aW9uJykKKyAgICAgICAg
Y3VycmVudFBhbmVsLnBlcmZvcm1GaWx0ZXIocXVlcnkpOworICAgIH0sCisgICAgCisKKyAgICBf
b25LZXlEb3duIDogZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgIGlmIChldmVudC5rZXlDb2RlID09
PSBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXlzLkVzYy5jb2RlKSB7CisgICAgICAg
IGV2ZW50LmNvbnN1bWUodHJ1ZSk7CisgICAgICAgIHRoaXMuY2FuY2VsRmlsdGVyKCk7CisgICAg
ICAgIFdlYkluc3BlY3Rvci5zZXRDdXJyZW50Rm9jdXNFbGVtZW50KFdlYkluc3BlY3Rvci5wcmV2
aW91c0ZvY3VzRWxlbWVudCgpKTsKKyAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5jdXJyZW50Rm9j
dXNFbGVtZW50KCkgPT09IGV2ZW50LnRhcmdldCkKKyAgICAgICAgICBXZWJJbnNwZWN0b3IuY3Vy
cmVudEZvY3VzRWxlbWVudCgpLnNlbGVjdCgpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICB9CisKKyAgICAgIGlmIChpc0VudGVyS2V5KGV2ZW50KSkgeworICAgICAgICBpZiAoZXZlbnQu
dGFyZ2V0ID09PSB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQpCisgICAgICAgICAgdGhpcy5fcGVy
Zm9ybUZpbHRlcihldmVudC50YXJnZXQudmFsdWUpOworICAgICAgfQorICAgIH0sCisKKyAgICBf
b25JbnB1dDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB0aGlzLl9wZXJmb3JtRmls
dGVyKGV2ZW50LnRhcmdldC52YWx1ZSk7CisgICAgfSwgICAgCisgICAgCisgICAgc2hvd0ZpbHRl
ckZpZWxkIDogZnVuY3Rpb24oKSB7CisgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5z
ZXRGb290ZXJFbGVtZW50KHRoaXMuX2VsZW1lbnQpOworICAgICAgdGhpcy5fZmlsdGVySW5wdXRF
bGVtZW50LmZvY3VzKCk7CisgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuc2VsZWN0KCk7
CisgICAgfSwKKworICAgIGhhbmRsZVNob3J0Y3V0IDogZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAg
IHZhciBjdXJyZW50UGFuZWwgPSBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFu
ZWwoKTsKKyAgICAgIGlmICh0eXBlb2YgY3VycmVudFBhbmVsLnBlcmZvcm1GaWx0ZXIgIT09ICJm
dW5jdGlvbiIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgIHZhciBpc01hYyA9IFdlYklu
c3BlY3Rvci5pc01hYygpOworICAgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJVKzAw
NDYiKSB7CisgICAgICAgIGlmIChpc01hYykKKyAgICAgICAgICB2YXIgaXNGaW5kS2V5ID0gZXZl
bnQubWV0YUtleSAmJiAhZXZlbnQuY3RybEtleSAmJiAhZXZlbnQuYWx0S2V5ICYmICFldmVudC5z
aGlmdEtleTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIHZhciBpc0ZpbmRLZXkgPSBldmVudC5j
dHJsS2V5ICYmICFldmVudC5tZXRhS2V5ICYmICFldmVudC5hbHRLZXkgJiYgIWV2ZW50LnNoaWZ0
S2V5OworICAgICAgICBpZiAoaXNGaW5kS2V5KSB7CisgICAgICAgICAgdGhpcy5zaG93RmlsdGVy
RmllbGQoKTsKKyAgICAgICAgICBldmVudC5jb25zdW1lKHRydWUpOworICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICB9CisgICAgICB9CisgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSwK
K30KKworV2ViSW5zcGVjdG9yLmZpbHRlckNvbnRyb2xsZXIgPSBudWxsOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JWaWV3LmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JWaWV3LmpzCmluZGV4IGVm
YTAxZDQ5ZTAyY2YzZWNkYTZmN2VhNTA2YzY4Mjc3MGVmMTZjODQuLjFiZTFmYmNiMmMzNGRjYmFl
MGNjMDljOGFmZTllZGYzZjg0YTFjZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvclZpZXcuanMKQEAgLTg2LDYgKzg2LDcgQEAgV2ViSW5z
cGVjdG9yLkluc3BlY3RvclZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5kaXNw
YXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkluc3BlY3RvclZpZXcuRXZlbnRzLlBh
bmVsU2VsZWN0ZWQpOwogICAgICAgICAgICAgLy8gRklYTUU6IHJlbW92ZSBzZWFyY2ggY29udHJv
bGxlci4KICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zZWFyY2hDb250cm9sbGVyLmNhbmNlbFNl
YXJjaCgpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZpbHRlckNvbnRyb2xsZXIuY2FuY2Vs
RmlsdGVyKCk7CiAgICAgICAgIH0KICAgICAgICAgZm9yICh2YXIgcGFuZWxOYW1lIGluIFdlYklu
c3BlY3Rvci5wYW5lbHMpIHsKICAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IucGFuZWxzW3Bh
bmVsTmFtZV0gPT09IHgpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvTmV0d29ya1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5kZXggMmVmYzFkYWRmNzRmMjY1N2E0MTM5N2U4NjEyNDUz
MDljNTZhYzUyMS4uYmE4NzE4MmVjMmZlMWIxZDI5MDRlY2U0ZDNjZGRiYTlmMmQwOGI5NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwu
anMKQEAgLTQ4LDYgKzQ4LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3ID0gZnVuY3Rp
b24oKQogICAgIHRoaXMuX21haW5SZXF1ZXN0RE9NQ29udGVudFRpbWUgPSAtMTsKICAgICB0aGlz
Ll9oaWRkZW5DYXRlZ29yaWVzID0ge307CiAgICAgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzID0gW107
CisgICAgdGhpcy5faXNSZXF1ZXN0VmlzaWJsZSA9IG5ldyBNYXAoKTsKICAgICB0aGlzLl9tYXRj
aGVkUmVxdWVzdHNNYXAgPSB7fTsKICAgICB0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJbmRl
eCA9IC0xOwogCkBAIC0zODQsNyArMzg1LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3
LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gdGhpcy5fcmVxdWVzdHNb
aV07CiAgICAgICAgICAgICB2YXIgcmVxdWVzdFRyYW5zZmVyU2l6ZSA9IChyZXF1ZXN0LmNhY2hl
ZCB8fCAhcmVxdWVzdC50cmFuc2ZlclNpemUpID8gMCA6IHJlcXVlc3QudHJhbnNmZXJTaXplOwog
ICAgICAgICAgICAgdHJhbnNmZXJTaXplICs9IHJlcXVlc3RUcmFuc2ZlclNpemU7Ci0gICAgICAg
ICAgICBpZiAoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8ICF0aGlzLl9oaWRkZW5DYXRl
Z29yaWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSB7CisgICAgICAgICAgICBpZiAoKCF0aGlzLl9o
aWRkZW5DYXRlZ29yaWVzLmFsbCB8fCAhdGhpcy5faGlkZGVuQ2F0ZWdvcmllc1tyZXF1ZXN0LnR5
cGUubmFtZSgpXSkgJiYgdGhpcy5faXNSZXF1ZXN0VmlzaWJsZS5nZXQocmVxdWVzdCkpIHsKICAg
ICAgICAgICAgICAgICBzZWxlY3RlZFJlcXVlc3RzTnVtYmVyKys7CiAgICAgICAgICAgICAgICAg
c2VsZWN0ZWRUcmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVyU2l6ZTsKICAgICAgICAgICAg
IH0KQEAgLTM5NCw3ICszOTUsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90
eXBlID0gewogICAgICAgICAgICAgICAgIG1heFRpbWUgPSByZXF1ZXN0LmVuZFRpbWU7CiAgICAg
ICAgIH0KICAgICAgICAgdmFyIHRleHQgPSAiIjsKLSAgICAgICAgaWYgKHRoaXMuX2hpZGRlbkNh
dGVnb3JpZXMuYWxsKSB7CisgICAgICAgIGlmIChzZWxlY3RlZFJlcXVlc3RzTnVtYmVyICE9IHJl
cXVlc3RzTnVtYmVyKSB7CiAgICAgICAgICAgICB0ZXh0ICs9IFN0cmluZy5zcHJpbnRmKFdlYklu
c3BlY3Rvci5VSVN0cmluZygiJWQgLyAlZCByZXF1ZXN0cyIpLCBzZWxlY3RlZFJlcXVlc3RzTnVt
YmVyLCByZXF1ZXN0c051bWJlcik7CiAgICAgICAgICAgICB0ZXh0ICs9ICIgIFx1Mjc1OCAgIiAr
IFN0cmluZy5zcHJpbnRmKFdlYkluc3BlY3Rvci5VSVN0cmluZygiJXMgLyAlcyB0cmFuc2ZlcnJl
ZCIpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyhzZWxlY3RlZFRyYW5zZmVyU2l6ZSksIE51bWJlci5i
eXRlc1RvU3RyaW5nKHRyYW5zZmVyU2l6ZSkpOwogICAgICAgICB9IGVsc2UgewpAQCAtNDM3LDYg
KzQzOCwyMCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAg
ICAgICB0aGlzLl91cGRhdGVTdW1tYXJ5QmFyKCk7CiAgICAgfSwKIAorICAgIF9maWx0ZXJCeUNv
bnRlbnQ6IGZ1bmN0aW9uKGNvbnRlbnQpeworICAgICAgZm9yKHZhciBpID0gMDsgaSA8IHRoaXMu
X2RhdGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRyZW4ubGVuZ3RoOyArK2kpeworICAgICAgICB2YXIg
bm9kZSA9IHRoaXMuX2RhdGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRyZW5baV07CisgICAgICAgIG5v
ZGUuZWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAgICAgICAgdGhpcy5faXNS
ZXF1ZXN0VmlzaWJsZS5wdXQodGhpcy5fcmVxdWVzdHNbaV0sIHRydWUpOworICAgICAgICBpZiAo
bm9kZS5lbGVtZW50LmNoaWxkcmVuWzBdLmlubmVyVGV4dC5pbmRleE9mKGNvbnRlbnQpPT0tMSl7
CisgICAgICAgICAgbm9kZS5lbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAg
ICAgIHRoaXMuX2lzUmVxdWVzdFZpc2libGUucHV0KHRoaXMuX3JlcXVlc3RzW2ldLCBmYWxzZSk7
CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIHRoaXMuX3VwZGF0ZVN1bW1hcnlCYXIoKTsKKyAg
ICAgIHRoaXMuX3VwZGF0ZU9mZnNjcmVlblJvd3MoKTsKKyAgICB9LAorICAgIAogICAgIF9maWx0
ZXI6IGZ1bmN0aW9uKHRhcmdldCwgc2VsZWN0TXVsdGlwbGUpCiAgICAgewogICAgICAgICBmdW5j
dGlvbiB1bnNlbGVjdEFsbCgpCkBAIC03NTEsNyArNzY2LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdv
cmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICBfYXBwZW5kUmVxdWVzdDogZnVuY3Rpb24ocmVx
dWVzdCkKICAgICB7CiAgICAgICAgIHRoaXMuX3JlcXVlc3RzLnB1c2gocmVxdWVzdCk7Ci0KKyAg
ICAgICAgdGhpcy5faXNSZXF1ZXN0VmlzaWJsZS5wdXQocmVxdWVzdCwgdHJ1ZSk7CiAgICAgICAg
IC8vIEluIGNhc2Ugb2YgcmVkaXJlY3QgcmVxdWVzdCBpZCBpcyByZWFzc2lnbmVkIHRvIGEgcmVk
aXJlY3RlZAogICAgICAgICAvLyByZXF1ZXN0IGFuZCB3ZSBuZWVkIHRvIHVwZGF0ZSBfcmVxdWVz
dHNCeUlkIGFucyBzZWFyY2ggcmVzdWx0cy4KICAgICAgICAgaWYgKHRoaXMuX3JlcXVlc3RzQnlJ
ZFtyZXF1ZXN0LnJlcXVlc3RJZF0pIHsKQEAgLTExMjUsMzMgKzExNDAsNDEgQEAgV2ViSW5zcGVj
dG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2
ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LkV2ZW50VHlwZXMuU2Vh
cmNoSW5kZXhVcGRhdGVkLCB0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJbmRleCk7CiAgICAg
fSwKIAotICAgIHBlcmZvcm1TZWFyY2g6IGZ1bmN0aW9uKHNlYXJjaFF1ZXJ5KQotICAgIHsKLSAg
ICAgICAgdmFyIG5ld01hdGNoZWRSZXF1ZXN0SW5kZXggPSAwOwotICAgICAgICB2YXIgY3VycmVu
dE1hdGNoZWRSZXF1ZXN0SWQ7Ci0gICAgICAgIGlmICh0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVl
c3RJbmRleCAhPT0gLTEpCi0gICAgICAgICAgICBjdXJyZW50TWF0Y2hlZFJlcXVlc3RJZCA9IHRo
aXMuX21hdGNoZWRSZXF1ZXN0c1t0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJbmRleF07Ci0K
LSAgICAgICAgdGhpcy5fc2VhcmNoUmVnRXhwID0gY3JlYXRlUGxhaW5UZXh0U2VhcmNoUmVnZXgo
c2VhcmNoUXVlcnksICJpIik7Ci0KLSAgICAgICAgdGhpcy5fY2xlYXJTZWFyY2hNYXRjaGVkTGlz
dCgpOwotCi0gICAgICAgIHZhciBjaGlsZE5vZGVzID0gdGhpcy5fZGF0YUdyaWQuZGF0YVRhYmxl
Qm9keS5jaGlsZE5vZGVzOwotICAgICAgICB2YXIgcmVxdWVzdE5vZGVzID0gQXJyYXkucHJvdG90
eXBlLnNsaWNlLmNhbGwoY2hpbGROb2RlcywgMCwgY2hpbGROb2Rlcy5sZW5ndGggLSAxKTsgLy8g
ZHJvcCB0aGUgZmlsbGVyIHJvdy4KLQotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlcXVl
c3ROb2Rlcy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgdmFyIGRhdGFHcmlkTm9kZSA9IHRo
aXMuX2RhdGFHcmlkLmRhdGFHcmlkTm9kZUZyb21Ob2RlKHJlcXVlc3ROb2Rlc1tpXSk7Ci0gICAg
ICAgICAgICBpZiAoZGF0YUdyaWROb2RlLmlzRmlsdGVyZWRPdXQoKSkKLSAgICAgICAgICAgICAg
ICBjb250aW51ZTsKLQotICAgICAgICAgICAgaWYgKHRoaXMuX21hdGNoUmVxdWVzdChkYXRhR3Jp
ZE5vZGUuX3JlcXVlc3QpICE9PSAtMSAmJiBkYXRhR3JpZE5vZGUuX3JlcXVlc3QucmVxdWVzdElk
ID09PSBjdXJyZW50TWF0Y2hlZFJlcXVlc3RJZCkKLSAgICAgICAgICAgICAgICBuZXdNYXRjaGVk
UmVxdWVzdEluZGV4ID0gdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCAtIDE7Ci0gICAgICAg
IH0KLQotICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3Iu
TmV0d29ya0xvZ1ZpZXcuRXZlbnRUeXBlcy5TZWFyY2hDb3VudFVwZGF0ZWQsIHRoaXMuX21hdGNo
ZWRSZXF1ZXN0cy5sZW5ndGgpOwotICAgICAgICB0aGlzLl9oaWdobGlnaHROdGhNYXRjaGVkUmVx
dWVzdChuZXdNYXRjaGVkUmVxdWVzdEluZGV4LCBmYWxzZSk7Ci0gICAgfSwKLQorLy8gICAgcGVy
Zm9ybVNlYXJjaDogZnVuY3Rpb24oc2VhcmNoUXVlcnkpCisvLyAgICB7CisvLyAgICAgICAgdmFy
IG5ld01hdGNoZWRSZXF1ZXN0SW5kZXggPSAwOworLy8gICAgICAgIHZhciBjdXJyZW50TWF0Y2hl
ZFJlcXVlc3RJZDsKKy8vICAgICAgICBpZiAodGhpcy5fY3VycmVudE1hdGNoZWRSZXF1ZXN0SW5k
ZXggIT09IC0xKQorLy8gICAgICAgICAgICBjdXJyZW50TWF0Y2hlZFJlcXVlc3RJZCA9IHRoaXMu
X21hdGNoZWRSZXF1ZXN0c1t0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJbmRleF07CisvLwor
Ly8gICAgICAgIHRoaXMuX3NlYXJjaFJlZ0V4cCA9IGNyZWF0ZVBsYWluVGV4dFNlYXJjaFJlZ2V4
KHNlYXJjaFF1ZXJ5LCAiaSIpOworLy8KKy8vICAgICAgICB0aGlzLl9jbGVhclNlYXJjaE1hdGNo
ZWRMaXN0KCk7CisvLworLy8gICAgICAgIHZhciBjaGlsZE5vZGVzID0gdGhpcy5fZGF0YUdyaWQu
ZGF0YVRhYmxlQm9keS5jaGlsZE5vZGVzOworLy8gICAgICAgIHZhciByZXF1ZXN0Tm9kZXMgPSBB
cnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChjaGlsZE5vZGVzLCAwLCBjaGlsZE5vZGVzLmxlbmd0
aCAtIDEpOyAvLyBkcm9wIHRoZSBmaWxsZXIgcm93LgorLy8KKy8vICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IHJlcXVlc3ROb2Rlcy5sZW5ndGg7ICsraSkgeworLy8gICAgICAgICAgICB2YXIg
ZGF0YUdyaWROb2RlID0gdGhpcy5fZGF0YUdyaWQuZGF0YUdyaWROb2RlRnJvbU5vZGUocmVxdWVz
dE5vZGVzW2ldKTsKKy8vICAgICAgICAgICAgaWYgKGRhdGFHcmlkTm9kZS5pc0ZpbHRlcmVkT3V0
KCkpCisvLyAgICAgICAgICAgICAgICBjb250aW51ZTsKKy8vCisvLyAgICAgICAgICAgIGlmICh0
aGlzLl9tYXRjaFJlcXVlc3QoZGF0YUdyaWROb2RlLl9yZXF1ZXN0KSAhPT0gLTEgJiYgZGF0YUdy
aWROb2RlLl9yZXF1ZXN0LnJlcXVlc3RJZCA9PT0gY3VycmVudE1hdGNoZWRSZXF1ZXN0SWQpCisv
LyAgICAgICAgICAgICAgICBuZXdNYXRjaGVkUmVxdWVzdEluZGV4ID0gdGhpcy5fbWF0Y2hlZFJl
cXVlc3RzLmxlbmd0aCAtIDE7CisvLyAgICAgICAgfQorLy8KKy8vICAgICAgICB0aGlzLmRpc3Bh
dGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcuRXZlbnRUeXBl
cy5TZWFyY2hDb3VudFVwZGF0ZWQsIHRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5ndGgpOworLy8g
ICAgICAgIHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KG5ld01hdGNoZWRSZXF1ZXN0
SW5kZXgsIGZhbHNlKTsKKy8vICAgIH0sCisKKyAgICBjYW5jZWxGaWx0ZXI6IGZ1bmN0aW9uKCkg
eworICAgICAgdGhpcy5wZXJmb3JtRmlsdGVyKCcnKTsKKyAgICB9LAorICAgIAorICAgIHBlcmZv
cm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KSB7CisgICAgICB0aGlzLl9maWx0ZXJCeUNvbnRlbnQo
cXVlcnkpOworICAgIH0sCisgICAgCiAgICAganVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1
bmN0aW9uKCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0
aCkKQEAgLTE0MDksNyArMTQzMiwxNiBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3Rv
dHlwZSA9IHsKICAgICB7CiAgICAgICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3LnBlcmZvcm1TZWFy
Y2goc2VhcmNoUXVlcnkpOwogICAgIH0sCi0KKyAgICAKKyAgICBjYW5jZWxGaWx0ZXI6IGZ1bmN0
aW9uKCkgeworICAgICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcuY2FuY2VsRmlsdGVyKCk7CisgICAg
fSwKKyAgICAKKyAgICAKKyAgICBwZXJmb3JtRmlsdGVyOiBmdW5jdGlvbihxdWVyeSl7CisgICAg
ICB0aGlzLl9uZXR3b3JrTG9nVmlldy5wZXJmb3JtRmlsdGVyKHF1ZXJ5KTsKKyAgICB9LAorICAg
IAogICAgIGp1bXBUb1ByZXZpb3VzU2VhcmNoUmVzdWx0OiBmdW5jdGlvbigpCiAgICAgewogICAg
ICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5qdW1wVG9QcmV2aW91c1NlYXJjaFJlc3VsdCgpOwpA
QCAtMTcyMiw5ICsxNzU0LDkgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEYXRhR3JpZE5vZGUucHJv
dG90eXBlID0gewogCiAgICAgaXNGaWx0ZXJlZE91dDogZnVuY3Rpb24oKQogICAgIHsKLSAgICAg
ICAgaWYgKCF0aGlzLl9wYXJlbnRWaWV3Ll9oaWRkZW5DYXRlZ29yaWVzLmFsbCkKKyAgICAgICAg
aWYgKCF0aGlzLl9wYXJlbnRWaWV3Ll9oaWRkZW5DYXRlZ29yaWVzLmFsbCAmJiB0aGlzLl9wYXJl
bnRWaWV3Ll9pc1JlcXVlc3RWaXNpYmxlLmdldCh0aGlzLl9yZXF1ZXN0KSkKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QudHlwZS5uYW1lKCkg
aW4gdGhpcy5fcGFyZW50Vmlldy5faGlkZGVuQ2F0ZWdvcmllczsKKyAgICAgICAgcmV0dXJuIHRo
aXMuX3JlcXVlc3QudHlwZS5uYW1lKCkgaW4gdGhpcy5fcGFyZW50Vmlldy5faGlkZGVuQ2F0ZWdv
cmllcyB8fCAhdGhpcy5fcGFyZW50Vmlldy5faXNSZXF1ZXN0VmlzaWJsZS5nZXQodGhpcy5fcmVx
dWVzdCk7CiAgICAgfSwKIAogICAgIHNlbGVjdDogZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzCmluZGV4
IGQxOGUyODBlMWE2NmQ0YTJmZTMxNzBkODJiMWE5MTM0YzQyY2QxZGUuLmI5NzFmMWUxNmM5ZDQ5
YjMzNTFiM2I2OTE4MmI4MjA1NTMyNmE1Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKQEAgLTE1NSw3ICsxNTUs
MTAgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgICAq
LwogICAgIGhhbmRsZVNob3J0Y3V0OiBmdW5jdGlvbihldmVudCkKICAgICB7Ci0gICAgICAgIHZh
ciBpc01hYyA9IFdlYkluc3BlY3Rvci5pc01hYygpOworICAgICAgaWYgKHR5cGVvZiBXZWJJbnNw
ZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwoKS5wZXJmb3JtU2VhcmNoICE9PSAiZnVu
Y3Rpb24iKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgIHZhciBpc01hYyA9IFdlYklu
c3BlY3Rvci5pc01hYygpOwogCiAgICAgICAgIHN3aXRjaCAoZXZlbnQua2V5SWRlbnRpZmllcikg
ewogICAgICAgICAgICAgY2FzZSAiVSswMDQ2IjogLy8gRiBrZXkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwppbmRleCBiMDI4ZmQ5ZTEyZWZlYzZlNWMz
MjAzNGMwYWU0MWJjMTBlOTEwNzA0Li4yNjA1Nzk5NTQ0MWRjNTk4ZmU1ZWI4MWNhY2NmZjUwYjE4
MGE3YmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dl
YktpdC5xcmMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQu
cXJjCkBAIC02Miw2ICs2Miw3IEBACiAgICAgPGZpbGU+RmlsZU1hbmFnZXIuanM8L2ZpbGU+CiAg
ICAgPGZpbGU+RmlsZVN5c3RlbU1vZGVsLmpzPC9maWxlPgogICAgIDxmaWxlPkZpbGVTeXN0ZW1W
aWV3LmpzPC9maWxlPgorICAgIDxmaWxlPkZpbHRlckNvbnRyb2xsZXIuanM8L2ZpbGU+CiAgICAg
PGZpbGU+RmlsdGVyZWRJdGVtU2VsZWN0aW9uRGlhbG9nLmpzPC9maWxlPgogICAgIDxmaWxlPkZv
bnRWaWV3LmpzPC9maWxlPgogICAgIDxmaWxlPkdvVG9MaW5lRGlhbG9nLmpzPC9maWxlPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRt
bCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKaW5k
ZXggYjRjMzZlMTA0YjM4NGQ2ZWYxZmQxZDBmNzlkODk0ZmViZWM2ZmU1MS4uZmM3MjZhODc3ZjEw
ZjdmYTk2NDE1YzM2NmFmMmZiMDA1NTA3MjdkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCkBAIC02NSw2ICs2NSw3IEBAIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iUGFuZWwuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ikluc3BlY3Rv
clZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9IkFkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRmlsdGVyQ29udHJvbGxlci5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iVGltZWxpbmVHcmlkLmpz
Ij48L3NjcmlwdD4gICAgCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Q29udGVudFByb3ZpZGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSJSZXNvdXJjZS5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IGU0YjZkYzE2ZDkxN2Q2ZjUz
MTQ3MTMyMjg4ZTA0N2NjNDIyZGU0MGUuLmYzYjg3YzZiZWRhNjMzNmM2NjQ5MGI0NjI4MDRlZDEw
MzNkOTEwOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmpzCkBAIC00NzMsNiArNDczLDcgQEAgV2ViSW5zcGVjdG9yLl9kb0xvYWRlZERvbmVX
aXRoQ2FwYWJpbGl0aWVzID0gZnVuY3Rpb24oKQogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJET01TdG9yYWdlRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VEaXNwYXRj
aGVyKCkpOwogCiAgICAgdGhpcy5zZWFyY2hDb250cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5T
ZWFyY2hDb250cm9sbGVyKCk7CisgICAgdGhpcy5maWx0ZXJDb250cm9sbGVyID0gbmV3IFdlYklu
c3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyKCk7CiAgICAgdGhpcy5hZHZhbmNlZFNlYXJjaENvbnRy
b2xsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkFkdmFuY2VkU2VhcmNoQ29udHJvbGxlcigpOwogICAg
IHRoaXMuc2V0dGluZ3NDb250cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5nc0NvbnRy
b2xsZXIoKTsKIApAQCAtNzU1LDYgKzc1Niw4IEBAIFdlYkluc3BlY3Rvci5kb2N1bWVudEtleURv
d24gPSBmdW5jdGlvbihldmVudCkKICAgICAgICAgfQogICAgIH0KIAorICAgIGlmIChXZWJJbnNw
ZWN0b3IuZmlsdGVyQ29udHJvbGxlci5oYW5kbGVTaG9ydGN1dChldmVudCkpCisgICAgICAgIHJl
dHVybjsKICAgICBpZiAoV2ViSW5zcGVjdG9yLnNlYXJjaENvbnRyb2xsZXIuaGFuZGxlU2hvcnRj
dXQoZXZlbnQpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKFdlYkluc3BlY3Rvci5hZHZhbmNl
ZFNlYXJjaENvbnRyb2xsZXIuaGFuZGxlU2hvcnRjdXQoZXZlbnQpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL25ldHdvcmtMb2dWaWV3LmNzcwppbmRleCBm
NDU0MTk0ZTFiMDk2YjIyNDBmMmIzNDBkMjIzY2JkYzhhMmNlMDg3Li4xMDUyMmYxMTNmNmMwNTE0
YzI2YWJlYzkxNjBlZTQ0MjQ1ZjU1YjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL25ldHdvcmtMb2dWaWV3LmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL25ldHdvcmtMb2dWaWV3LmNzcwpAQCAtNDgyLDYgKzQ4MiwxMiBA
QAogICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsKIH0KIAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1n
cmlkIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay1pdGVtLmhpZGRlbiB7CisgICAgZGlz
cGxheTogbm9uZTsKK30KKworCisKIC8qIFN1bW1hcnkgKi8KIAogLm5ldHdvcmstbG9nLWdyaWQu
ZGF0YS1ncmlkIHRyLmZpbGxlciB0ZCB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156384</attachid>
            <date>2012-08-03 08:14:33 -0700</date>
            <delta_ts>2012-08-06 06:16:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120803191412.patch</filename>
            <type>text/plain</type>
            <size>25924</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzOTcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzIwODUwZjdiNWZhYWEx
MWRkNzhhNDkwNDQ2MmJmMDBlMWIzNzFkMi4uNzE5MjAxY2EwN2ZiYmRjMGMzMDA4OGZmMjI5NWVh
ODJlMjUzOWFmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExOSBAQAorMjAxMi0wOC0wMyAgUGF2
ZWwgQ2hhZG5vdiAgPGNoYWRub3ZAZ29vZ2xlLmNvbT4KKworICAgICAgICBhc2QKKworICAgICAg
ICBXZWIgSW5zcGVjdG9yOiByZXF1ZXN0cyBmaWx0ZXJpbmcgaW4gbmV0d29yayB0YWIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzMDkwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaXRpb25hbCBpbmZv
cm1hdGlvbiBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMgYXBwcm9hY2gsIHJhdGlvbmFsZS4gUGxlYXNl
IGFkZCBwZXItZnVuY3Rpb24gZGVzY3JpcHRpb25zIGJlbG93IChPT1BTISkuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9GaWx0ZXJDb250cm9sbGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRl
ckNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIucHJv
dG90eXBlLmNhbmNlbEZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJv
bGxlci5wcm90b3R5cGUucmVzZXRGaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRl
ckNvbnRyb2xsZXIucHJvdG90eXBlLl9wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5fb25LZXlEb3duKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5fb25JbnB1dCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUuc2hvd0ZpbHRlckZpZWxk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5oYW5k
bGVTaG9ydGN1dCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9maWx0
ZXJCeUNvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3Rv
dHlwZS5wZXJmb3JtU2VhcmNoKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL25ldHdv
cmtMb2dWaWV3LmNzczoKKyAgICAgICAgKC5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZCB0ci5m
aWx0ZXJlZC1vdXQpOgorCisyMDEyLTA4LTAzICBQYXZlbCBDaGFkbm92ICA8Y2hhZG5vdkBnb29n
bGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBu
ZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwg
cmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9P
UFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNv
cmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9GaWx0ZXJDb250cm9sbGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5GaWx0ZXJDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWx0ZXJDb250
cm9sbGVyLnByb3RvdHlwZS5jYW5jZWxGaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZp
bHRlckNvbnRyb2xsZXIucHJvdG90eXBlLnJlc2V0RmlsdGVyKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5fcGVyZm9ybUZpbHRlcik6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUuX29uS2V5RG93bik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUuX29uSW5wdXQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIucHJvdG90eXBlLnNob3dG
aWx0ZXJGaWVsZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90
b3R5cGUuaGFuZGxlU2hvcnRjdXQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSW5z
cGVjdG9yVmlldy5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5l
bC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUuX2Zp
bHRlckJ5Q29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJv
dG90eXBlLl9hcHBlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9n
Vmlldy5wcm90b3R5cGUuY2FuY2VsRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3
b3JrTG9nVmlldy5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZS5jYW5jZWxGaWx0ZXIpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLmhhbmRsZVNob3J0Y3V0KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmM6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5kb2N1bWVudEtleURvd24pOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzOgorICAgICAg
ICAoLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0
d29yay1pdGVtLmhpZGRlbik6CisKKzIwMTItMDgtMDMgIFBhdmVsIENoYWRub3YgIDxjaGFkbm92
QGdvb2dsZS5jb20+CisKKyAgICAgICAgYXNkCisKKyAgICAgICAgYXNkCisKKyAgICAgICAgYXNk
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogcmVxdWVzdHMgZmlsdGVyaW5nIGluIG5ldHdvcmsg
dGFiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzA5
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0
aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25h
bGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS5neXBp
OgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIGlu
c3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL0ZpbHRlckNvbnRyb2xsZXIuanM6IEFkZGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZp
bHRlckNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIu
cHJvdG90eXBlLmNhbmNlbEZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29u
dHJvbGxlci5wcm90b3R5cGUucmVzZXRGaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZp
bHRlckNvbnRyb2xsZXIucHJvdG90eXBlLl9wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5fb25LZXlEb3duKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5fb25JbnB1dCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUuc2hvd0ZpbHRlckZp
ZWxkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5o
YW5kbGVTaG9ydGN1dCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JW
aWV3LmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5fZmlsdGVyQnlD
b250ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUu
X2FwcGVuZFJlcXVlc3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnBy
b3RvdHlwZS5jYW5jZWxGaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dW
aWV3LnByb3RvdHlwZS5wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3
b3JrUGFuZWwucHJvdG90eXBlLmNhbmNlbEZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
TmV0d29ya1BhbmVsLnByb3RvdHlwZS5wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
U2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuaGFuZGxlU2hvcnRjdXQpOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYzoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmRvY3VtZW50S2V5RG93bik6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3M6CisgICAgICAgICgubmV0
d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLWl0
ZW0uaGlkZGVuKToKKwogMjAxMi0wNy0yOCAgTWluIFFpbiAgPHFpbm1pbkBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgQWRkIGFuIG92ZXJsYXkgcGxheSBidXR0b24gdG8gbWVkaWEgY29udHJvbHMg
b24gYW5kcm9pZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDNlYzg0ZjRiNTI2OGE4YzJjNDEwNmIwYTE0
NmM1ZjgwZjljZTEzZmEuLmMwY2Q4NTAzMWRjMWVlNTQ4NGYxZDA3NGE4MTEwZDQ3Yzc4NzYwOGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTYyODMsNiArNjI4Myw3IEBACiAgICAgICAgICAgICAnaW5z
cGVjdG9yL2Zyb250LWVuZC9GaWxlQ29udGVudFZpZXcuanMnLAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbU1vZGVsLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0
b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1WaWV3LmpzJywKKyAgICAgICAgICAgICdpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0ZpbHRlckNvbnRyb2xsZXIuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9m
cm9udC1lbmQvRmlsdGVyZWRJdGVtU2VsZWN0aW9uRGlhbG9nLmpzJywKICAgICAgICAgICAgICdp
bnNwZWN0b3IvZnJvbnQtZW5kL0ZvbnRWaWV3LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
ZnJvbnQtZW5kL0dvVG9MaW5lRGlhbG9nLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNjQyMDI5MzU5YTMxNWE2NzE2ODZjMjMxNTJiZTg1
YWJkYzIxNTU0MS4uYWRiZjBmNjQ4MDZiMzEyYmEwZjQwMzU1NzhiOTYzNzEzNjExZWZiMiAxMDA3
NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTQ5OTIs
NiArNDk5Miw3IEBACiAJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCiAJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgogCQkJCQk+CisKIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCiAJCQkJCS8+CkBAIC02Mzk2LDYgKzYzOTcsNyBAQAogCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKIAkJCQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMy
IgogCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKQEAgLTExMzY3LDYgKzExMzY5LDcgQEAK
IAkJCTwvRmlsZT4KIAkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTTWV0YWRhdGEuY3Bw
IgorCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z3xXaW4z
MiIKQEAgLTEzNTAxLDYgKzEzNTA0LDcgQEAKIAkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CiAJCQkJCT4KIAkJCQkJPFRvb2wKKwogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKIAkJ
CQkJLz4KIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgpAQCAtMTQ1NTUsNiArMTQ1NTksNyBAQAog
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2lu
MzIiCiAJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCiAJCQkJCT4KIAkJCQkJPFRvb2wK
IAkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCkBAIC0xNTYxMyw2ICsxNTYxOCw3IEBACiAJ
CQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgogCQkJCQk+CiAJCQkJCTxUb29sCisKIAkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCiAJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KQEAgLTE4NDMxLDYgKzE4NDM3LDcgQEAKIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCiAJCQkJCS8+CisKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCkBA
IC0xOTg0MSw2ICsxOTg0OCw3IEBACiAJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
IAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwogCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0
ZXxXaW4zMiIKIAkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCiAJCQkJCT4KQEAgLTIyMzIw
LDYgKzIyMzI4LDcgQEAKIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CiAJCQkJCS8+CisKIAkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgogCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgpAQCAtMjMzODQsNiArMjMzOTMsNyBA
QAogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKIAkJCQkJLz4KKwog
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5h
bWU9IlByb2R1Y3Rpb258V2luMzIiCkBAIC0zMDcxMiw2ICszMDcyMiw3IEBACiAJCQkJCQkJLz4K
IAkJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwog
CQkJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCiAJCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCiAJCQkJCQkJPgpAQCAtMzgzNjcsNiArMzgzNzgsNyBAQAogCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4z
MiIKKwogCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKIAkJCQkJPgogCQkJCQk8VG9vbApA
QCAtNDI1NzEsNiArNDI1ODMsNyBAQAogCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCiAJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTQ1MjA4LDYgKzQ1MjIxLDcgQEAKIAkJCQkJCT4KIAkJ
CQkJCTxUb29sCiAJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwogCQkJCQkJLz4KIAkJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC01Mjgx
MCw2ICs1MjgyNCw3IEBACiAJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwogCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIi
CiAJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgogCQkJCQk+CkBAIC01Mzk3MCw2ICs1Mzk4
NSw3IEBACiAJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwogCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCiAJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgogCQkJCQk+CkBAIC02ODM2MSw2ICs2ODM3Nyw3IEBACiAJCQkJCQkvPgog
CQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwogCQkJ
CQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKIAkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgogCQkJCQkJPgpAQCAtNjkwODYsNiArNjkxMDMsNyBAQAogCQkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgogCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NG
TGl0ZXxXaW4zMiIKKwogCQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCiAJCQkJCQk+CiAJ
CQkJCQk8VG9vbApAQCAtNjk4MDksNiArNjk4MjcsNyBAQAogCQkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCiAJCQkJCQk+CiAJCQkJCQk8VG9vbAorCiAJCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKIAkJCQkJCS8+CiAJCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CkBAIC03MjQ0MSw2
ICs3MjQ2MCw3IEBACiAJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgogCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKIAkJCQkJPgorCiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgogCQkJCQkvPgpAQCAtNzU0NTgsNiArNzU0NzgsMTAgQEAKIAkJCQkJPgogCQkJCTwv
RmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1l
bmRcRmlsdGVyQ29udHJvbGxlci5qcyIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQog
CQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcRmlsdGVyZWRJdGVtU2Vs
ZWN0aW9uRGlhbG9nLmpzIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpAQCAtNzU4NjksNiArNzU4OTMs
NyBAQAogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcU2hvcnRjdXRz
U2NyZWVuLmpzIgogCQkJCQk+CiAJCQkJPC9GaWxlPgorCiAJCQkJPEZpbGUKIAkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXFNob3dNb3JlRGF0YUdyaWROb2RlLmpzIgog
CQkJCQk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9u
dC1lbmQucHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkK
aW5kZXggNGQyOWY3NzA2N2YzYTk5NzdhZmE3NjkwZTNlZGRlNWJkMDUyNzM1ZS4uMGE0NWVkNDZi
ZDBmODBmZGE0OGYyNjg1YWZiOGE1YmNmNWMxMWJlOSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5CisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weQpAQCAtMTIyLDYgKzEyMiw3IEBAIG1vZHVsZXMg
PSBbCiAgICAgICAgICAgICAiRGlhbG9nLmpzIiwKICAgICAgICAgICAgICJEcmF3ZXIuanMiLAog
ICAgICAgICAgICAgIkVtcHR5Vmlldy5qcyIsCisgICAgICAgICAgICAiRmlsdGVyQ29udHJvbGxl
ci5qcyIsCiAgICAgICAgICAgICAiSGVscFNjcmVlbi5qcyIsCiAgICAgICAgICAgICAiSW5zcGVj
dG9yVmlldy5qcyIsCiAgICAgICAgICAgICAiS2V5Ym9hcmRTaG9ydGN1dC5qcyIsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbHRlckNvbnRyb2xsZXIu
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbHRlckNvbnRyb2xsZXIu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMmFhZGRmMDg4YWJkZGNjZmIzM2ZiYTY2NDA2NmU2MmI4MjJmNzRmZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmls
dGVyQ29udHJvbGxlci5qcwpAQCAtMCwwICsxLDExNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUgbWV0OiAqCisgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMKKyAqIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAqIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkKKyAqIGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZAorICogdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQKKyAqIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqIAor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUyAiQVMgSVMiCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICovCitXZWJJbnNwZWN0b3IuRmlsdGVyQ29u
dHJvbGxlciA9IGZ1bmN0aW9uKCkgeworICAgIHRoaXMuX2VsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJkaXYiKTsKKyAgICB0aGlzLl9lbGVtZW50LmNsYXNzTmFtZSA9ICJ0b29sYmFy
LWZpbHRlciI7CisgICAgdGhpcy5fZWxlbWVudC5jZWxsU3BhY2luZyA9IDA7CisKKyAgICAvLyBD
b2x1bW4gMQorICAgIHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5j
cmVhdGVDaGlsZCgic3BhbiIsICJ0b29sYmFyLWZpbHRlci1jb250cm9sIik7CisgICAgdGhpcy5f
ZmlsdGVySW5wdXRFbGVtZW50ID0gdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQuY3JlYXRlQ2hp
bGQoImlucHV0IiwgImZpbHRlciIpOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5pZCA9
ICJmaWx0ZXItZmllbGQiOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5wbGFjZWhvbGRl
ciA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRmlsdGVyIik7CisKKyAgICB0aGlzLl9maWx0ZXJJ
bnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX29uS2V5RG93bi5i
aW5kKHRoaXMpLCB0cnVlKTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigiaW5wdXQiLCB0aGlzLl9vbklucHV0LmJpbmQodGhpcyksIGZhbHNlKTsKKworICAg
IC8vIENvbHVtbiAyCisgICAgdmFyIGNhbmNlbEJ1dHRvbkVsZW1lbnQgPSB0aGlzLl9lbGVtZW50
LmNyZWF0ZUNoaWxkKCJidXR0b24iKTsKKyAgICBjYW5jZWxCdXR0b25FbGVtZW50LnRleHRDb250
ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDYW5jZWwiKTsKKyAgICBjYW5jZWxCdXR0b25F
bGVtZW50LnRhYkluZGV4ID0gLTE7CisgICAgY2FuY2VsQnV0dG9uRWxlbWVudC5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIHRoaXMuY2FuY2VsRmlsdGVyLmJpbmQodGhpcyksIGZhbHNlKTsKK30K
KworV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIucHJvdG90eXBlID0geworICAgIGNhbmNl
bEZpbHRlciA6IGZ1bmN0aW9uKCkgeworICAgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmll
dy5zZXRGb290ZXJFbGVtZW50KG51bGwpOworICAgICAgICB0aGlzLnJlc2V0RmlsdGVyKCk7Cisg
ICAgfSwKKworICAgIHJlc2V0RmlsdGVyIDogZnVuY3Rpb24oKSB7CisgICAgICAgIHRoaXMuX3Bl
cmZvcm1GaWx0ZXIoJycpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWUg
PSAnJzsKKyAgICB9LAorCisgICAgX3BlcmZvcm1GaWx0ZXIgOiBmdW5jdGlvbihxdWVyeSkgewor
ICAgICAgICB2YXIgY3VycmVudFBhbmVsID0gV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3Vy
cmVudFBhbmVsKCk7CisgICAgICAgIGlmICh0eXBlb2YgY3VycmVudFBhbmVsLnBlcmZvcm1GaWx0
ZXIgPT09ICdmdW5jdGlvbicpCisgICAgICAgICAgICBjdXJyZW50UGFuZWwucGVyZm9ybUZpbHRl
cihxdWVyeSk7CisgICAgfSwKKworICAgIF9vbktleURvd24gOiBmdW5jdGlvbihldmVudCkgewor
ICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQuS2V5cy5Fc2MuY29kZSkgeworICAgICAgICAgICAgZXZlbnQuY29uc3VtZSh0cnVlKTsKKyAg
ICAgICAgICAgIHRoaXMuY2FuY2VsRmlsdGVyKCk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
c2V0Q3VycmVudEZvY3VzRWxlbWVudChXZWJJbnNwZWN0b3IucHJldmlvdXNGb2N1c0VsZW1lbnQo
KSk7CisgICAgICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLmN1cnJlbnRGb2N1c0VsZW1lbnQoKSA9
PT0gZXZlbnQudGFyZ2V0KQorICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5jdXJyZW50Rm9j
dXNFbGVtZW50KCkuc2VsZWN0KCk7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IH0KKworICAgICAgICBpZiAoaXNFbnRlcktleShldmVudCkpIHsKKyAgICAgICAgICAgIGlmIChl
dmVudC50YXJnZXQgPT09IHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudCkKKyAgICAgICAgICAgICAg
ICB0aGlzLl9wZXJmb3JtRmlsdGVyKGV2ZW50LnRhcmdldC52YWx1ZSk7CisgICAgICAgIH0KKyAg
ICB9LAorCisgICAgX29uSW5wdXQgOiBmdW5jdGlvbihldmVudCkgeworICAgICAgICB0aGlzLl9w
ZXJmb3JtRmlsdGVyKGV2ZW50LnRhcmdldC52YWx1ZSk7CisgICAgfSwKKworICAgIHNob3dGaWx0
ZXJGaWVsZCA6IGZ1bmN0aW9uKCkgeworICAgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmll
dy5zZXRGb290ZXJFbGVtZW50KHRoaXMuX2VsZW1lbnQpOworICAgICAgICB0aGlzLl9maWx0ZXJJ
bnB1dEVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LnNl
bGVjdCgpOworICAgIH0sCisKKyAgICBoYW5kbGVTaG9ydGN1dCA6IGZ1bmN0aW9uKGV2ZW50KSB7
CisgICAgICAgIHZhciBjdXJyZW50UGFuZWwgPSBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5j
dXJyZW50UGFuZWwoKTsKKyAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50UGFuZWwucGVyZm9ybUZp
bHRlciAhPT0gImZ1bmN0aW9uIikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
dmFyIGlzTWFjID0gV2ViSW5zcGVjdG9yLmlzTWFjKCk7CisgICAgICAgIGlmIChldmVudC5rZXlJ
ZGVudGlmaWVyID09PSAiVSswMDQ2IikgeyAvLyBGIGtleQorICAgICAgICAgICAgaWYgKGlzTWFj
KQorICAgICAgICAgICAgICAgIHZhciBpc0ZpbmRLZXkgPSBldmVudC5tZXRhS2V5ICYmICFldmVu
dC5jdHJsS2V5ICYmICFldmVudC5hbHRLZXkgJiYgIWV2ZW50LnNoaWZ0S2V5OworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIHZhciBpc0ZpbmRLZXkgPSBldmVudC5jdHJsS2V5ICYm
ICFldmVudC5tZXRhS2V5ICYmICFldmVudC5hbHRLZXkgJiYgIWV2ZW50LnNoaWZ0S2V5OworICAg
ICAgICAgICAgaWYgKGlzRmluZEtleSkgeworICAgICAgICAgICAgICAgIHRoaXMuc2hvd0ZpbHRl
ckZpZWxkKCk7CisgICAgICAgICAgICAgICAgZXZlbnQuY29uc3VtZSh0cnVlKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgfSwKK30KKworV2ViSW5zcGVjdG9yLmZpbHRlckNvbnRyb2xsZXIg
PSBudWxsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9J
bnNwZWN0b3JWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNw
ZWN0b3JWaWV3LmpzCmluZGV4IGVmYTAxZDQ5ZTAyY2YzZWNkYTZmN2VhNTA2YzY4Mjc3MGVmMTZj
ODQuLjFiZTFmYmNiMmMzNGRjYmFlMGNjMDljOGFmZTllZGYzZjg0YTFjZGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvclZpZXcuanMKQEAg
LTg2LDYgKzg2LDcgQEAgV2ViSW5zcGVjdG9yLkluc3BlY3RvclZpZXcucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLklu
c3BlY3RvclZpZXcuRXZlbnRzLlBhbmVsU2VsZWN0ZWQpOwogICAgICAgICAgICAgLy8gRklYTUU6
IHJlbW92ZSBzZWFyY2ggY29udHJvbGxlci4KICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zZWFy
Y2hDb250cm9sbGVyLmNhbmNlbFNlYXJjaCgpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZp
bHRlckNvbnRyb2xsZXIuY2FuY2VsRmlsdGVyKCk7CiAgICAgICAgIH0KICAgICAgICAgZm9yICh2
YXIgcGFuZWxOYW1lIGluIFdlYkluc3BlY3Rvci5wYW5lbHMpIHsKICAgICAgICAgICAgIGlmIChX
ZWJJbnNwZWN0b3IucGFuZWxzW3BhbmVsTmFtZV0gPT09IHgpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5kZXggMmVmYzFkYWRm
NzRmMjY1N2E0MTM5N2U4NjEyNDUzMDljNTZhYzUyMS4uMjBjMjc5NWM0OGE5ZjhjYjRmZGUwNTUz
MjUxZTVmNTE5OGM5MGYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9OZXR3b3JrUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9OZXR3b3JrUGFuZWwuanMKQEAgLTQ4LDYgKzQ4LDcgQEAgV2ViSW5zcGVjdG9yLk5l
dHdvcmtMb2dWaWV3ID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX21haW5SZXF1ZXN0RE9NQ29udGVu
dFRpbWUgPSAtMTsKICAgICB0aGlzLl9oaWRkZW5DYXRlZ29yaWVzID0ge307CiAgICAgdGhpcy5f
bWF0Y2hlZFJlcXVlc3RzID0gW107CisgICAgdGhpcy5faXNSZXF1ZXN0VmlzaWJsZSA9IG5ldyBN
YXAoKTsKICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHNNYXAgPSB7fTsKICAgICB0aGlzLl9jdXJy
ZW50TWF0Y2hlZFJlcXVlc3RJbmRleCA9IC0xOwogCkBAIC0zODQsNyArMzg1LDcgQEAgV2ViSW5z
cGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHZhciByZXF1
ZXN0ID0gdGhpcy5fcmVxdWVzdHNbaV07CiAgICAgICAgICAgICB2YXIgcmVxdWVzdFRyYW5zZmVy
U2l6ZSA9IChyZXF1ZXN0LmNhY2hlZCB8fCAhcmVxdWVzdC50cmFuc2ZlclNpemUpID8gMCA6IHJl
cXVlc3QudHJhbnNmZXJTaXplOwogICAgICAgICAgICAgdHJhbnNmZXJTaXplICs9IHJlcXVlc3RU
cmFuc2ZlclNpemU7Ci0gICAgICAgICAgICBpZiAoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxs
IHx8ICF0aGlzLl9oaWRkZW5DYXRlZ29yaWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSB7CisgICAg
ICAgICAgICBpZiAoKCF0aGlzLl9oaWRkZW5DYXRlZ29yaWVzLmFsbCB8fCAhdGhpcy5faGlkZGVu
Q2F0ZWdvcmllc1tyZXF1ZXN0LnR5cGUubmFtZSgpXSkgJiYgdGhpcy5faXNSZXF1ZXN0VmlzaWJs
ZS5nZXQocmVxdWVzdCkpIHsKICAgICAgICAgICAgICAgICBzZWxlY3RlZFJlcXVlc3RzTnVtYmVy
Kys7CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUcmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5z
ZmVyU2l6ZTsKICAgICAgICAgICAgIH0KQEAgLTM5NCw3ICszOTUsNyBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIG1heFRpbWUgPSBy
ZXF1ZXN0LmVuZFRpbWU7CiAgICAgICAgIH0KICAgICAgICAgdmFyIHRleHQgPSAiIjsKLSAgICAg
ICAgaWYgKHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKSB7CisgICAgICAgIGlmIChzZWxlY3Rl
ZFJlcXVlc3RzTnVtYmVyICE9IHJlcXVlc3RzTnVtYmVyKSB7CiAgICAgICAgICAgICB0ZXh0ICs9
IFN0cmluZy5zcHJpbnRmKFdlYkluc3BlY3Rvci5VSVN0cmluZygiJWQgLyAlZCByZXF1ZXN0cyIp
LCBzZWxlY3RlZFJlcXVlc3RzTnVtYmVyLCByZXF1ZXN0c051bWJlcik7CiAgICAgICAgICAgICB0
ZXh0ICs9ICIgIFx1Mjc1OCAgIiArIFN0cmluZy5zcHJpbnRmKFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiJXMgLyAlcyB0cmFuc2ZlcnJlZCIpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyhzZWxlY3RlZFRy
YW5zZmVyU2l6ZSksIE51bWJlci5ieXRlc1RvU3RyaW5nKHRyYW5zZmVyU2l6ZSkpOwogICAgICAg
ICB9IGVsc2UgewpAQCAtNDM3LDYgKzQzOCwyMCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1Zp
ZXcucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl91cGRhdGVTdW1tYXJ5QmFyKCk7CiAgICAg
fSwKIAorICAgIF9maWx0ZXJCeUNvbnRlbnQ6IGZ1bmN0aW9uKGNvbnRlbnQpeworICAgICAgZm9y
KHZhciBpID0gMDsgaSA8IHRoaXMuX2RhdGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRyZW4ubGVuZ3Ro
OyArK2kpeworICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX2RhdGFHcmlkLnJvb3ROb2RlKCkuY2hp
bGRyZW5baV07CisgICAgICAgIG5vZGUuZWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4i
KTsKKyAgICAgICAgdGhpcy5faXNSZXF1ZXN0VmlzaWJsZS5wdXQodGhpcy5fcmVxdWVzdHNbaV0s
IHRydWUpOworICAgICAgICBpZiAobm9kZS5lbGVtZW50LmNoaWxkcmVuWzBdLmlubmVyVGV4dC5p
bmRleE9mKGNvbnRlbnQpID09PSAtMSl7CisgICAgICAgICAgbm9kZS5lbGVtZW50LmFkZFN0eWxl
Q2xhc3MoImhpZGRlbiIpOworICAgICAgICAgIHRoaXMuX2lzUmVxdWVzdFZpc2libGUucHV0KHRo
aXMuX3JlcXVlc3RzW2ldLCBmYWxzZSk7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAgIHRoaXMu
X3VwZGF0ZVN1bW1hcnlCYXIoKTsKKyAgICAgIHRoaXMuX3VwZGF0ZU9mZnNjcmVlblJvd3MoKTsK
KyAgICB9LAorICAgIAogICAgIF9maWx0ZXI6IGZ1bmN0aW9uKHRhcmdldCwgc2VsZWN0TXVsdGlw
bGUpCiAgICAgewogICAgICAgICBmdW5jdGlvbiB1bnNlbGVjdEFsbCgpCkBAIC03NTEsNyArNzY2
LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICBfYXBw
ZW5kUmVxdWVzdDogZnVuY3Rpb24ocmVxdWVzdCkKICAgICB7CiAgICAgICAgIHRoaXMuX3JlcXVl
c3RzLnB1c2gocmVxdWVzdCk7Ci0KKyAgICAgICAgdGhpcy5faXNSZXF1ZXN0VmlzaWJsZS5wdXQo
cmVxdWVzdCwgdHJ1ZSk7CiAgICAgICAgIC8vIEluIGNhc2Ugb2YgcmVkaXJlY3QgcmVxdWVzdCBp
ZCBpcyByZWFzc2lnbmVkIHRvIGEgcmVkaXJlY3RlZAogICAgICAgICAvLyByZXF1ZXN0IGFuZCB3
ZSBuZWVkIHRvIHVwZGF0ZSBfcmVxdWVzdHNCeUlkIGFucyBzZWFyY2ggcmVzdWx0cy4KICAgICAg
ICAgaWYgKHRoaXMuX3JlcXVlc3RzQnlJZFtyZXF1ZXN0LnJlcXVlc3RJZF0pIHsKQEAgLTExNTIs
NiArMTE2NywxNCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewog
ICAgICAgICB0aGlzLl9oaWdobGlnaHROdGhNYXRjaGVkUmVxdWVzdChuZXdNYXRjaGVkUmVxdWVz
dEluZGV4LCBmYWxzZSk7CiAgICAgfSwKIAorICAgIGNhbmNlbEZpbHRlcjogZnVuY3Rpb24oKSB7
CisgICAgICB0aGlzLnBlcmZvcm1GaWx0ZXIoJycpOworICAgIH0sCisgICAgCisgICAgcGVyZm9y
bUZpbHRlcjogZnVuY3Rpb24ocXVlcnkpIHsKKyAgICAgIHRoaXMuX2ZpbHRlckJ5Q29udGVudChx
dWVyeSk7CisgICAgfSwKKyAgICAKICAgICBqdW1wVG9QcmV2aW91c1NlYXJjaFJlc3VsdDogZnVu
Y3Rpb24oKQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9tYXRjaGVkUmVxdWVzdHMubGVuZ3Ro
KQpAQCAtMTQwOSw3ICsxNDMyLDE2IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90
eXBlID0gewogICAgIHsKICAgICAgICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcucGVyZm9ybVNlYXJj
aChzZWFyY2hRdWVyeSk7CiAgICAgfSwKLQorICAgIAorICAgIGNhbmNlbEZpbHRlcjogZnVuY3Rp
b24oKSB7CisgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5jYW5jZWxGaWx0ZXIoKTsKKyAgICB9
LAorICAgIAorICAgIAorICAgIHBlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KXsKKyAgICAg
IHRoaXMuX25ldHdvcmtMb2dWaWV3LnBlcmZvcm1GaWx0ZXIocXVlcnkpOworICAgIH0sCisgICAg
CiAgICAganVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAg
ICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3Lmp1bXBUb1ByZXZpb3VzU2VhcmNoUmVzdWx0KCk7CkBA
IC0xNzIyLDkgKzE3NTQsOSBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9kZS5wcm90
b3R5cGUgPSB7CiAKICAgICBpc0ZpbHRlcmVkT3V0OiBmdW5jdGlvbigpCiAgICAgewotICAgICAg
ICBpZiAoIXRoaXMuX3BhcmVudFZpZXcuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKQorICAgICAgICBp
ZiAoIXRoaXMuX3BhcmVudFZpZXcuX2hpZGRlbkNhdGVnb3JpZXMuYWxsICYmIHRoaXMuX3BhcmVu
dFZpZXcuX2lzUmVxdWVzdFZpc2libGUuZ2V0KHRoaXMuX3JlcXVlc3QpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWVzdC50eXBlLm5hbWUoKSBp
biB0aGlzLl9wYXJlbnRWaWV3Ll9oaWRkZW5DYXRlZ29yaWVzOworICAgICAgICByZXR1cm4gdGhp
cy5fcmVxdWVzdC50eXBlLm5hbWUoKSBpbiB0aGlzLl9wYXJlbnRWaWV3Ll9oaWRkZW5DYXRlZ29y
aWVzIHx8ICF0aGlzLl9wYXJlbnRWaWV3Ll9pc1JlcXVlc3RWaXNpYmxlLmdldCh0aGlzLl9yZXF1
ZXN0KTsKICAgICB9LAogCiAgICAgc2VsZWN0OiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKaW5kZXgg
ZDE4ZTI4MGUxYTY2ZDRhMmZlMzE3MGQ4MmIxYTkxMzRjNDJjZDFkZS4uYjk3MWYxZTE2YzlkNDli
MzM1MWIzYjY5MTgyYjgyMDU1MzI2YTVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcwpAQCAtMTU1LDcgKzE1NSwx
MCBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICov
CiAgICAgaGFuZGxlU2hvcnRjdXQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAgICAgdmFy
IGlzTWFjID0gV2ViSW5zcGVjdG9yLmlzTWFjKCk7CisgICAgICBpZiAodHlwZW9mIFdlYkluc3Bl
Y3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1TZWFyY2ggIT09ICJmdW5j
dGlvbiIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgdmFyIGlzTWFjID0gV2ViSW5z
cGVjdG9yLmlzTWFjKCk7CiAKICAgICAgICAgc3dpdGNoIChldmVudC5rZXlJZGVudGlmaWVyKSB7
CiAgICAgICAgICAgICBjYXNlICJVKzAwNDYiOiAvLyBGIGtleQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCmluZGV4IGIwMjhmZDllMTJlZmVjNmU1YzMy
MDM0YzBhZTQxYmMxMGU5MTA3MDQuLjI2MDU3OTk1NDQxZGM1OThmZTVlYjgxY2FjY2ZmNTBiMTgw
YTdiZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2Vi
S2l0LnFyYworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5x
cmMKQEAgLTYyLDYgKzYyLDcgQEAKICAgICA8ZmlsZT5GaWxlTWFuYWdlci5qczwvZmlsZT4KICAg
ICA8ZmlsZT5GaWxlU3lzdGVtTW9kZWwuanM8L2ZpbGU+CiAgICAgPGZpbGU+RmlsZVN5c3RlbVZp
ZXcuanM8L2ZpbGU+CisgICAgPGZpbGU+RmlsdGVyQ29udHJvbGxlci5qczwvZmlsZT4KICAgICA8
ZmlsZT5GaWx0ZXJlZEl0ZW1TZWxlY3Rpb25EaWFsb2cuanM8L2ZpbGU+CiAgICAgPGZpbGU+Rm9u
dFZpZXcuanM8L2ZpbGU+CiAgICAgPGZpbGU+R29Ub0xpbmVEaWFsb2cuanM8L2ZpbGU+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1s
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAppbmRl
eCBiNGMzNmUxMDRiMzg0ZDZlZjFmZDFkMGY3OWQ4OTRmZWJlYzZmZTUxLi5mYzcyNmE4NzdmMTBm
N2ZhOTY0MTVjMzY2YWYyZmIwMDU1MDcyN2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAgLTY1LDYgKzY1LDcgQEAgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJQYW5lbC5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iSW5zcGVjdG9y
Vmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iQWR2YW5jZWRTZWFyY2hDb250cm9sbGVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJGaWx0ZXJDb250cm9sbGVyLmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJUaW1lbGluZUdyaWQuanMi
Pjwvc2NyaXB0PiAgICAKICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJD
b250ZW50UHJvdmlkZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9IlJlc291cmNlLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggZTRiNmRjMTZkOTE3ZDZmNTMx
NDcxMzIyODhlMDQ3Y2M0MjJkZTQwZS4uZjNiODdjNmJlZGE2MzM2YzY2NDkwYjQ2MjgwNGVkMTAz
M2Q5MTA5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuanMKQEAgLTQ3Myw2ICs0NzMsNyBAQCBXZWJJbnNwZWN0b3IuX2RvTG9hZGVkRG9uZVdp
dGhDYXBhYmlsaXRpZXMgPSBmdW5jdGlvbigpCiAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckRPTVN0b3JhZ2VEaXNwYXRjaGVyKG5ldyBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZURpc3BhdGNo
ZXIoKSk7CiAKICAgICB0aGlzLnNlYXJjaENvbnRyb2xsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlNl
YXJjaENvbnRyb2xsZXIoKTsKKyAgICB0aGlzLmZpbHRlckNvbnRyb2xsZXIgPSBuZXcgV2ViSW5z
cGVjdG9yLkZpbHRlckNvbnRyb2xsZXIoKTsKICAgICB0aGlzLmFkdmFuY2VkU2VhcmNoQ29udHJv
bGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hDb250cm9sbGVyKCk7CiAgICAg
dGhpcy5zZXR0aW5nc0NvbnRyb2xsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlNldHRpbmdzQ29udHJv
bGxlcigpOwogCkBAIC03NTUsNiArNzU2LDggQEAgV2ViSW5zcGVjdG9yLmRvY3VtZW50S2V5RG93
biA9IGZ1bmN0aW9uKGV2ZW50KQogICAgICAgICB9CiAgICAgfQogCisgICAgaWYgKFdlYkluc3Bl
Y3Rvci5maWx0ZXJDb250cm9sbGVyLmhhbmRsZVNob3J0Y3V0KGV2ZW50KSkKKyAgICAgICAgcmV0
dXJuOwogICAgIGlmIChXZWJJbnNwZWN0b3Iuc2VhcmNoQ29udHJvbGxlci5oYW5kbGVTaG9ydGN1
dChldmVudCkpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoV2ViSW5zcGVjdG9yLmFkdmFuY2Vk
U2VhcmNoQ29udHJvbGxlci5oYW5kbGVTaG9ydGN1dChldmVudCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL25ldHdvcmtMb2dWaWV3LmNzcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzCmluZGV4IGY0
NTQxOTRlMWIwOTZiMjI0MGYyYjM0MGQyMjNjYmRjOGEyY2UwODcuLmMzNWMyNjcyYTE0YzkxYjQ2
MDNiNGE2NTc2MTkwNzJiMjY2MTQ4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzCkBAIC00ODIsNiArNDgyLDEyIEBA
CiAgICAgZGlzcGxheTogdGFibGUtcm93OwogfQogCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdy
aWQgdHIuZmlsdGVyZWQtb3V0IHsKKyAgICBkaXNwbGF5OiBub25lOworfQorCisKKwogLyogU3Vt
bWFyeSAqLwogCiAubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQgdHIuZmlsbGVyIHRkIHsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCBjMmJmZDNjMTgyNDQ2Y2YwNTYxYTA4NDdjOGRkZmM4NGY0MjAwNjNjLi5hNDc0MTMyZmY2
YmUwZTQ1OTgyZGI4NmMwOGM5ODhmZTdlNzZjOGFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIw
MTItMDgtMDMgIHBrYXN0aW5nQGNocm9taXVtLm9yZyAgPHBrYXN0aW5nQGNocm9taXVtLm9yZ0Ay
NjhmNDVjYy1jZDA5LTA0MTAtYWIzYy1kNTI2OTFiNGRiZmM+CisKKyAgICAgICAgW0Nocm9taXVt
XSBXaWRlbiBleHBlY3RhdGlvbiBmb3IgY3Jhc2hpbmcgdGVzdC4KKyAgICAgICAgaHR0cDovL2Ny
YnVnLmNvbS8xMzk0OTMKKworICAgICAgICBVbnJldmlld2VkLCB0ZXN0IGV4cGVjdGF0aW9ucyB1
cGRhdGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgor
CisKKworICAgICAgICBnaXQtc3ZuLWlkOiBodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9y
eS93ZWJraXQvdHJ1bmtAMTIzOTcwIDI2OGY0NWNjLWNkMDktMDQxMC1hYjNjLWQ1MjY5MWI0ZGJm
YworCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3Jr
IHRhYgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMw
OTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRp
dGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwgcmF0aW9u
YWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9PUFMhKS4K
KworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTIt
MDctMjggIFBldGVyIEthc3RpbmcgIDxwa2FzdGluZ0Bnb29nbGUuY29tPgogCiAgICAgICAgIFtD
aHJvbWl1bV0gV2lkZW4gZXhwZWN0YXRpb24gZm9yIGNyYXNoaW5nIHRlc3QuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156677</attachid>
            <date>2012-08-06 06:16:38 -0700</date>
            <delta_ts>2012-08-06 07:06:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120806171614.patch</filename>
            <type>text/plain</type>
            <size>27034</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmY3NTRhNDBjMWM1ODEz
MGNiYzQ0NjUyYjYyMzAxOGUyYzcxYWYwNi4uMWIxOTU1MWYxY2ZlNDdhY2FjYTVmZDE3OTVlNDA5
MDUxMjRhZjY5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExOSBAQAorMjAxMi0wOC0wMyAgUGF2
ZWwgQ2hhZG5vdiAgPGNoYWRub3ZAZ29vZ2xlLmNvbT4KKworICAgICAgICBhc2QKKworICAgICAg
ICBXZWIgSW5zcGVjdG9yOiByZXF1ZXN0cyBmaWx0ZXJpbmcgaW4gbmV0d29yayB0YWIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzMDkwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaXRpb25hbCBpbmZv
cm1hdGlvbiBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMgYXBwcm9hY2gsIHJhdGlvbmFsZS4gUGxlYXNl
IGFkZCBwZXItZnVuY3Rpb24gZGVzY3JpcHRpb25zIGJlbG93IChPT1BTISkuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9GaWx0ZXJDb250cm9sbGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRl
ckNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIucHJv
dG90eXBlLmNhbmNlbEZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJv
bGxlci5wcm90b3R5cGUucmVzZXRGaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRl
ckNvbnRyb2xsZXIucHJvdG90eXBlLl9wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5fb25LZXlEb3duKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5fb25JbnB1dCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUuc2hvd0ZpbHRlckZpZWxk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5oYW5k
bGVTaG9ydGN1dCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9maWx0
ZXJCeUNvbnRlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3Rv
dHlwZS5wZXJmb3JtU2VhcmNoKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL25ldHdv
cmtMb2dWaWV3LmNzczoKKyAgICAgICAgKC5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZCB0ci5m
aWx0ZXJlZC1vdXQpOgorCisyMDEyLTA4LTAzICBQYXZlbCBDaGFkbm92ICA8Y2hhZG5vdkBnb29n
bGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBu
ZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwg
cmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9P
UFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNv
cmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9GaWx0ZXJDb250cm9sbGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5GaWx0ZXJDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWx0ZXJDb250
cm9sbGVyLnByb3RvdHlwZS5jYW5jZWxGaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZp
bHRlckNvbnRyb2xsZXIucHJvdG90eXBlLnJlc2V0RmlsdGVyKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5fcGVyZm9ybUZpbHRlcik6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUuX29uS2V5RG93bik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUuX29uSW5wdXQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIucHJvdG90eXBlLnNob3dG
aWx0ZXJGaWVsZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90
b3R5cGUuaGFuZGxlU2hvcnRjdXQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSW5z
cGVjdG9yVmlldy5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5l
bC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUuX2Zp
bHRlckJ5Q29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJv
dG90eXBlLl9hcHBlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9n
Vmlldy5wcm90b3R5cGUuY2FuY2VsRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3
b3JrTG9nVmlldy5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZS5jYW5jZWxGaWx0ZXIpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLmhhbmRsZVNob3J0Y3V0KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmM6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5kb2N1bWVudEtleURvd24pOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzOgorICAgICAg
ICAoLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0
d29yay1pdGVtLmhpZGRlbik6CisKKzIwMTItMDgtMDMgIFBhdmVsIENoYWRub3YgIDxjaGFkbm92
QGdvb2dsZS5jb20+CisKKyAgICAgICAgYXNkCisKKyAgICAgICAgYXNkCisKKyAgICAgICAgYXNk
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogcmVxdWVzdHMgZmlsdGVyaW5nIGluIG5ldHdvcmsg
dGFiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzA5
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0
aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25h
bGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS5neXBp
OgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIGlu
c3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL0ZpbHRlckNvbnRyb2xsZXIuanM6IEFkZGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZp
bHRlckNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIu
cHJvdG90eXBlLmNhbmNlbEZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29u
dHJvbGxlci5wcm90b3R5cGUucmVzZXRGaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZp
bHRlckNvbnRyb2xsZXIucHJvdG90eXBlLl9wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5fb25LZXlEb3duKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5fb25JbnB1dCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUuc2hvd0ZpbHRlckZp
ZWxkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5o
YW5kbGVTaG9ydGN1dCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JW
aWV3LmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5fZmlsdGVyQnlD
b250ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUu
X2FwcGVuZFJlcXVlc3QpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnBy
b3RvdHlwZS5jYW5jZWxGaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dW
aWV3LnByb3RvdHlwZS5wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3
b3JrUGFuZWwucHJvdG90eXBlLmNhbmNlbEZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
TmV0d29ya1BhbmVsLnByb3RvdHlwZS5wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
U2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuaGFuZGxlU2hvcnRjdXQpOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYzoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVj
dG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmRvY3VtZW50S2V5RG93bik6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3M6CisgICAgICAgICgubmV0
d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLWl0
ZW0uaGlkZGVuKToKKwogMjAxMi0wOC0wNiAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZDogV2ViIEluc3BlY3Rvcjogc2luZ2xlIGxp
bmUgdGVzdCBmaXggZm9yIHIxMjQ3NDQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNWNjYWViNGIxMDRm
YTFiNmE3OTg1ZDZkYjQxMDJlODJhOGJmNTY4NC4uMTAxNjAxNDUwMTZiNTNmZmQ3MWRiNDA1YzFj
NTQ2MzY2ODQ0MGNmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtNjMwNSw2ICs2MzA1LDcgQEAKICAg
ICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVTeXN0ZW1Nb2RlbC5qcycsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtVmlldy5qcycsCiAgICAgICAg
ICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlVXRpbHMuanMnLAorICAgICAgICAgICAgJ2lu
c3BlY3Rvci9mcm9udC1lbmQvRmlsdGVyQ29udHJvbGxlci5qcycsCiAgICAgICAgICAgICAnaW5z
cGVjdG9yL2Zyb250LWVuZC9GaWx0ZXJlZEl0ZW1TZWxlY3Rpb25EaWFsb2cuanMnLAogICAgICAg
ICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRm9udFZpZXcuanMnLAogICAgICAgICAgICAgJ2lu
c3BlY3Rvci9mcm9udC1lbmQvR29Ub0xpbmVEaWFsb2cuanMnLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA1NzMxYThmNzY5MmQxNzZjN2JjZDhl
OWUyOWRhOTE1NTk1YThmNjQ0Li4wYmE5YzYzYTQ0YTBhYWJiODUwMmU5N2VmMTAwNDNlZTA3N2I3
ZmExIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpA
QCAtNDk5Miw2ICs0OTkyLDggQEAKIAkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKIAkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCiAJCQkJCT4KKworCiAJCQkJCTxUb29sCiAJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgogCQkJCQkvPgpAQCAtNjM5Niw2ICs2Mzk4LDggQEAKIAkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCiAJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKworCiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9f
Q0ZMaXRlfFdpbjMyIgogCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKQEAgLTExMzY3LDYg
KzExMzcxLDcgQEAKIAkJCTwvRmlsZT4KIAkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
TWV0YWRhdGEuY3BwIgorCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgogCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiIKQEAgLTEzNTAxLDYgKzEzNTA2LDggQEAKIAkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCiAJCQkJCT4KIAkJCQkJPFRvb2wKKworCiAJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgogCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CkBAIC0xNDU1NSw2
ICsxNDU2Miw3IEBACiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnX0Nh
aXJvX0NGTGl0ZXxXaW4zMiIKIAkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisKIAkJCQkJ
PgogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKQEAgLTE1NjEzLDYg
KzE1NjIxLDcgQEAKIAkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCiAJCQkJCT4KIAkJCQkJ
PFRvb2wKKwogCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKIAkJCQkJLz4KIAkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgpAQCAtMTg0MzEsNiArMTg0NDAsNyBAQAogCQkJCQk8VG9vbAogCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKIAkJCQkJLz4KKwogCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NG
TGl0ZXxXaW4zMiIKQEAgLTE5ODQxLDYgKzE5ODUxLDcgQEAKIAkJCQkJLz4KIAkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCiAJCQkJCU5hbWU9IlJlbGVh
c2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgogCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKIAkJ
CQkJPgpAQCAtMjIzMjAsNiArMjIzMzEsNyBAQAogCQkJCQk8VG9vbAogCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKIAkJCQkJLz4KKwogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCkBAIC0yMzM4
NCw2ICsyMzM5Niw3IEBACiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgogCQkJCQkvPgorCiAJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KIAkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKQEAgLTMwNzEyLDYgKzMwNzI1LDcg
QEAKIAkJCQkJCQkvPgogCQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCiAJCQkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKIAkJCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKIAkJCQkJCQk+CkBAIC0zMTQxMSw2ICszMTQyNSw3IEBACiAJCQkJ
CQkJCU5hbWU9IlZDQ3VzdG9tQnVpbGRUb29sIgogCQkJCQkJCS8+CiAJCQkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCiAJCQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KIAkJCQkJCQlOYW1lPSJQcm9k
dWN0aW9ufFdpbjMyIgogCQkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgpAQCAtMzI3MjEs
NiArMzI3MzYsNyBAQAogCQkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQkJPC9GaWxlPgog
CQkJCQk8RmlsZQorCiAJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcY2Zc
UmVzb3VyY2VSZXNwb25zZUNGTmV0LmNwcCIKIAkJCQkJCT4KIAkJCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgpAQCAtMzgzNjcsNiArMzgzODMsNyBAQAogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCiAJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwogCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKIAkJCQkJPgogCQkJCQk8VG9vbApAQCAtMzk1MTks
NiArMzk1MzYsNyBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisKIAkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXHJlbmRlcmluZ1xSZW5kZXJGbGV4aWJsZUJveC5jcHAiCiAJCQkJPgogCQkJPC9G
aWxlPgpAQCAtNDI1NzEsNiArNDI1ODksNyBAQAogCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlO
YW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCiAJCQkJCS8+CiAJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTQ1MjA4LDYgKzQ1MjI3LDcgQEAKIAkJCQkJ
CT4KIAkJCQkJCTxUb29sCiAJCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwogCQkJCQkJ
Lz4KIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBA
IC00OTcwMyw2ICs0OTcyMyw3IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwogCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cZG9tXERvY3VtZW50RnJhZ21lbnQuY3BwIgogCQkJCT4KIAkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTUyODA4LDEyICs1MjgyOSwxNCBAQAogCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgogCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgogCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwogCQkJCQk+CiAJCQkJCTxUb29sCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgogCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisKIAkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgogCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKIAkJCQkJPgpAQCAtNTM5NzQsNiArNTM5OTcsNyBAQAog
CQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisKIAkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgogCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKIAkJCQkJPgpAQCAtNTU1MjYsNiArNTU1NTAsNyBAQAogCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKIAkJCQkJPgogCQkJCQk8VG9vbAorCiAJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgogCQkJCQkvPgogCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CkBAIC01ODU5NSw2ICs1
ODYyMCw3IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwogCQkJCVJlbGF0aXZlUGF0
aD0iLi5caHRtbFxjYW52YXNcQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5jcHAiCiAJCQkJPgogCQkJ
PC9GaWxlPgpAQCAtNjg0MDksNiArNjg0MzUsNyBAQAogCQkJCQkJLz4KIAkJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KIAkJCQkJPEZpbGVDb25maWd1cmF0aW9uCisKIAkJCQkJCU5hbWU9IlByb2R1
Y3Rpb258V2luMzIiCiAJCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKIAkJCQkJCT4KQEAg
LTY5MTM0LDYgKzY5MTYxLDcgQEAKIAkJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KIAkJCQkJPEZp
bGVDb25maWd1cmF0aW9uCiAJCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisK
IAkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgogCQkJCQkJPgogCQkJCQkJPFRvb2wKQEAg
LTY5ODU3LDYgKzY5ODg1LDcgQEAKIAkJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgogCQkJ
CQkJPgogCQkJCQkJPFRvb2wKKwogCQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCiAJCQkJ
CQkvPgogCQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgpAQCAtNzIwMjgsNiArNzIwNTcsNyBAQAog
CQkJPC9GaWxlPgogCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHN2Z1xTVkdEZXNjRWxl
bWVudC5oIgorCiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKQEAgLTcyNDg5LDYgKzcyNTE5
LDcgQEAKIAkJCQkJTmFtZT0iRGVidWd8V2luMzIiCiAJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgogCQkJCQk+CisKIAkJCQkJPFRvb2wKIAkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CiAJCQkJCS8+CkBAIC03NTUzOCw2ICs3NTU2OSwxMCBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgog
CQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxGaWx0
ZXJDb250cm9sbGVyLmpzIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCiAJCQkJCVJl
bGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxGaWx0ZXJlZEl0ZW1TZWxlY3Rpb25E
aWFsb2cuanMiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CkBAIC03NTk0OSw2ICs3NTk4NCw3IEBACiAJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxTaG9ydGN1dHNTY3JlZW4u
anMiCiAJCQkJCT4KIAkJCQk8L0ZpbGU+CisKIAkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcU2hvd01vcmVEYXRhR3JpZE5vZGUuanMiCiAJCQkJCT4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5w
eSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weQppbmRleCBi
YzA2ODc3ZTJlMWQ0MDUxZWY4NTFjMzg0MzIzMjI3Njc1NzFhZGE0Li5lNzQyMWVlZWFmZGI2NWRi
NjQ5OWIzNzNlNDZkNzI4N2ZlM2I1Njc0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2NvbXBpbGUtZnJvbnQtZW5kLnB5CkBAIC0xMjQsNiArMTI0LDcgQEAgbW9kdWxlcyA9IFsKICAg
ICAgICAgICAgICJEaWFsb2cuanMiLAogICAgICAgICAgICAgIkRyYXdlci5qcyIsCiAgICAgICAg
ICAgICAiRW1wdHlWaWV3LmpzIiwKKyAgICAgICAgICAgICJGaWx0ZXJDb250cm9sbGVyLmpzIiwK
ICAgICAgICAgICAgICJIZWxwU2NyZWVuLmpzIiwKICAgICAgICAgICAgICJJbnNwZWN0b3JWaWV3
LmpzIiwKICAgICAgICAgICAgICJLZXlib2FyZFNob3J0Y3V0LmpzIiwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsdGVyQ29udHJvbGxlci5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsdGVyQ29udHJvbGxlci5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iOWEzNTg2N2IxM2QxMzkyNzQwOTczOGFmZDk4OWJlNTQyZTkzNWUzCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWx0ZXJDb250
cm9sbGVyLmpzCkBAIC0wLDAgKzEsMTE0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiAKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZSBtZXQ6ICoKKyAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcworICogbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeQorICogZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kCisgKiB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAor
ICogd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIElu
Yy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKKyAqIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICogCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
CisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBPV05F
UiBPUiBDT05UUklCVVRPUlMgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
Ky8qKgorICogQGNvbnN0cnVjdG9yCisgKi8KK1dlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVy
ID0gZnVuY3Rpb24oKSB7CisgICAgdGhpcy5fZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOworICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NOYW1lID0gInRvb2xiYXItZmlsdGVy
IjsKKyAgICB0aGlzLl9lbGVtZW50LmNlbGxTcGFjaW5nID0gMDsKKworICAgIC8vIENvbHVtbiAx
CisgICAgdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQgPSB0aGlzLl9lbGVtZW50LmNyZWF0ZUNo
aWxkKCJzcGFuIiwgInRvb2xiYXItZmlsdGVyLWNvbnRyb2wiKTsKKyAgICB0aGlzLl9maWx0ZXJJ
bnB1dEVsZW1lbnQgPSB0aGlzLl9maWx0ZXJDb250cm9sRWxlbWVudC5jcmVhdGVDaGlsZCgiaW5w
dXQiLCAiZmlsdGVyIik7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmlkID0gImZpbHRl
ci1maWVsZCI7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LnBsYWNlaG9sZGVyID0gV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJGaWx0ZXIiKTsKKworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxl
bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5fb25LZXlEb3duLmJpbmQodGhp
cyksIHRydWUpOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVy
KCJpbnB1dCIsIHRoaXMuX29uSW5wdXQuYmluZCh0aGlzKSwgZmFsc2UpOworCisgICAgLy8gQ29s
dW1uIDIKKyAgICB2YXIgY2FuY2VsQnV0dG9uRWxlbWVudCA9IHRoaXMuX2VsZW1lbnQuY3JlYXRl
Q2hpbGQoImJ1dHRvbiIpOworICAgIGNhbmNlbEJ1dHRvbkVsZW1lbnQudGV4dENvbnRlbnQgPSBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNhbmNlbCIpOworICAgIGNhbmNlbEJ1dHRvbkVsZW1lbnQu
dGFiSW5kZXggPSAtMTsKKyAgICBjYW5jZWxCdXR0b25FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgdGhpcy5jYW5jZWxGaWx0ZXIuYmluZCh0aGlzKSwgZmFsc2UpOworfQorCitXZWJJ
bnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CisgICAgY2FuY2VsRmlsdGVy
OiBmdW5jdGlvbigpIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuc2V0Rm9v
dGVyRWxlbWVudChudWxsKTsKKyAgICAgICAgdGhpcy5yZXNldEZpbHRlcigpOworICAgIH0sCisK
KyAgICByZXNldEZpbHRlcjogZnVuY3Rpb24oKSB7CisgICAgICAgIHRoaXMuX3BlcmZvcm1GaWx0
ZXIoJycpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWUgPSAnJzsKKyAg
ICB9LAorCisgICAgX3BlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KSB7CisgICAgICAgIHZh
ciBjdXJyZW50UGFuZWwgPSBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwo
KTsKKyAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50UGFuZWwucGVyZm9ybUZpbHRlciA9PT0gJ2Z1
bmN0aW9uJykKKyAgICAgICAgICAgIGN1cnJlbnRQYW5lbC5wZXJmb3JtRmlsdGVyKHF1ZXJ5KTsK
KyAgICB9LAorCisgICAgX29uS2V5RG93bjogZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgaWYg
KGV2ZW50LmtleUNvZGUgPT09IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleXMuRXNj
LmNvZGUpIHsKKyAgICAgICAgICAgIGV2ZW50LmNvbnN1bWUodHJ1ZSk7CisgICAgICAgICAgICB0
aGlzLmNhbmNlbEZpbHRlcigpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNldEN1cnJlbnRG
b2N1c0VsZW1lbnQoV2ViSW5zcGVjdG9yLnByZXZpb3VzRm9jdXNFbGVtZW50KCkpOworICAgICAg
ICAgICAgaWYgKFdlYkluc3BlY3Rvci5jdXJyZW50Rm9jdXNFbGVtZW50KCkgPT09IGV2ZW50LnRh
cmdldCkKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVudEZvY3VzRWxlbWVudCgp
LnNlbGVjdCgpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAg
ICAgaWYgKGlzRW50ZXJLZXkoZXZlbnQpKSB7CisgICAgICAgICAgICBpZiAoZXZlbnQudGFyZ2V0
ID09PSB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQpCisgICAgICAgICAgICAgICAgdGhpcy5fcGVy
Zm9ybUZpbHRlcihldmVudC50YXJnZXQudmFsdWUpOworICAgICAgICB9CisgICAgfSwKKworICAg
IF9vbklucHV0OiBmdW5jdGlvbihldmVudCkgeworICAgICAgICB0aGlzLl9wZXJmb3JtRmlsdGVy
KGV2ZW50LnRhcmdldC52YWx1ZSk7CisgICAgfSwKKworICAgIHNob3dGaWx0ZXJGaWVsZDogZnVu
Y3Rpb24oKSB7CisgICAgICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LnNldEZvb3RlckVs
ZW1lbnQodGhpcy5fZWxlbWVudCk7CisgICAgICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5m
b2N1cygpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuc2VsZWN0KCk7CisgICAg
fSwKKworICAgIGhhbmRsZVNob3J0Y3V0OiBmdW5jdGlvbihldmVudCkgeworICAgICAgICB2YXIg
Y3VycmVudFBhbmVsID0gV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCk7
CisgICAgICAgIGlmICh0eXBlb2YgY3VycmVudFBhbmVsLnBlcmZvcm1GaWx0ZXIgIT09ICJmdW5j
dGlvbiIpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHZhciBpc01hYyA9IFdl
Ykluc3BlY3Rvci5pc01hYygpOworICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0g
IlUrMDA0NiIpIHsgLy8gRiBrZXkKKyAgICAgICAgICAgIGlmIChpc01hYykKKyAgICAgICAgICAg
ICAgICB2YXIgaXNGaW5kS2V5ID0gZXZlbnQubWV0YUtleSAmJiAhZXZlbnQuY3RybEtleSAmJiAh
ZXZlbnQuYWx0S2V5ICYmICFldmVudC5zaGlmdEtleTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICB2YXIgaXNGaW5kS2V5ID0gZXZlbnQuY3RybEtleSAmJiAhZXZlbnQubWV0YUtl
eSAmJiAhZXZlbnQuYWx0S2V5ICYmICFldmVudC5zaGlmdEtleTsKKyAgICAgICAgICAgIGlmIChp
c0ZpbmRLZXkpIHsKKyAgICAgICAgICAgICAgICB0aGlzLnNob3dGaWx0ZXJGaWVsZCgpOworICAg
ICAgICAgICAgICAgIGV2ZW50LmNvbnN1bWUodHJ1ZSk7CisgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0sCit9CisKK1dlYkluc3BlY3Rvci5maWx0ZXJDb250cm9sbGVyID0gbnVsbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qcwpp
bmRleCBlZmEwMWQ0OWUwMmNmM2VjZGE2ZjdlYTUwNmM2ODI3NzBlZjE2Yzg0Li4xYmUxZmJjYjJj
MzRkY2JhZTBjYzA5YzhhZmU5ZWRmM2Y4NGExY2RhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvclZpZXcuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JWaWV3LmpzCkBAIC04Niw2ICs4Niw3IEBA
IFdlYkluc3BlY3Rvci5JbnNwZWN0b3JWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRo
aXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5JbnNwZWN0b3JWaWV3LkV2
ZW50cy5QYW5lbFNlbGVjdGVkKTsKICAgICAgICAgICAgIC8vIEZJWE1FOiByZW1vdmUgc2VhcmNo
IGNvbnRyb2xsZXIuCiAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2VhcmNoQ29udHJvbGxlci5j
YW5jZWxTZWFyY2goKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWx0ZXJDb250cm9sbGVy
LmNhbmNlbEZpbHRlcigpOwogICAgICAgICB9CiAgICAgICAgIGZvciAodmFyIHBhbmVsTmFtZSBp
biBXZWJJbnNwZWN0b3IucGFuZWxzKSB7CiAgICAgICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLnBh
bmVsc1twYW5lbE5hbWVdID09PSB4KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCmluZGV4IDJlZmMxZGFkZjc0ZjI2NTdhNDEzOTdl
ODYxMjQ1MzA5YzU2YWM1MjEuLmIwNjljYjY0NmUyNDJkYTFhNmEwNzI1MzBkMTlkNjdiOWQ2NTg3
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29y
a1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29y
a1BhbmVsLmpzCkBAIC00OCw2ICs0OCw4IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldyA9
IGZ1bmN0aW9uKCkKICAgICB0aGlzLl9tYWluUmVxdWVzdERPTUNvbnRlbnRUaW1lID0gLTE7CiAg
ICAgdGhpcy5faGlkZGVuQ2F0ZWdvcmllcyA9IHt9OwogICAgIHRoaXMuX21hdGNoZWRSZXF1ZXN0
cyA9IFtdOworICAgIHRoaXMuX2ZpbHRlcmVkT3V0UmVxdWVzdHMgPSBuZXcgTWFwKCk7CisgICAg
CiAgICAgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzTWFwID0ge307CiAgICAgdGhpcy5fY3VycmVudE1h
dGNoZWRSZXF1ZXN0SW5kZXggPSAtMTsKIApAQCAtMzg0LDcgKzM4Niw3IEBAIFdlYkluc3BlY3Rv
ci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB2YXIgcmVxdWVzdCA9
IHRoaXMuX3JlcXVlc3RzW2ldOwogICAgICAgICAgICAgdmFyIHJlcXVlc3RUcmFuc2ZlclNpemUg
PSAocmVxdWVzdC5jYWNoZWQgfHwgIXJlcXVlc3QudHJhbnNmZXJTaXplKSA/IDAgOiByZXF1ZXN0
LnRyYW5zZmVyU2l6ZTsKICAgICAgICAgICAgIHRyYW5zZmVyU2l6ZSArPSByZXF1ZXN0VHJhbnNm
ZXJTaXplOwotICAgICAgICAgICAgaWYgKCF0aGlzLl9oaWRkZW5DYXRlZ29yaWVzLmFsbCB8fCAh
dGhpcy5faGlkZGVuQ2F0ZWdvcmllc1tyZXF1ZXN0LnR5cGUubmFtZSgpXSkgeworICAgICAgICAg
ICAgaWYgKCghdGhpcy5faGlkZGVuQ2F0ZWdvcmllcy5hbGwgfHwgIXRoaXMuX2hpZGRlbkNhdGVn
b3JpZXNbcmVxdWVzdC50eXBlLm5hbWUoKV0pICYmICF0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3Rz
LmdldChyZXF1ZXN0KSkgewogICAgICAgICAgICAgICAgIHNlbGVjdGVkUmVxdWVzdHNOdW1iZXIr
KzsKICAgICAgICAgICAgICAgICBzZWxlY3RlZFRyYW5zZmVyU2l6ZSArPSByZXF1ZXN0VHJhbnNm
ZXJTaXplOwogICAgICAgICAgICAgfQpAQCAtMzk0LDcgKzM5Niw3IEBAIFdlYkluc3BlY3Rvci5O
ZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgbWF4VGltZSA9IHJl
cXVlc3QuZW5kVGltZTsKICAgICAgICAgfQogICAgICAgICB2YXIgdGV4dCA9ICIiOwotICAgICAg
ICBpZiAodGhpcy5faGlkZGVuQ2F0ZWdvcmllcy5hbGwpIHsKKyAgICAgICAgaWYgKHNlbGVjdGVk
UmVxdWVzdHNOdW1iZXIgIT0gcmVxdWVzdHNOdW1iZXIpIHsKICAgICAgICAgICAgIHRleHQgKz0g
U3RyaW5nLnNwcmludGYoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlZCAvICVkIHJlcXVlc3RzIiks
IHNlbGVjdGVkUmVxdWVzdHNOdW1iZXIsIHJlcXVlc3RzTnVtYmVyKTsKICAgICAgICAgICAgIHRl
eHQgKz0gIiAgXHUyNzU4ICAiICsgU3RyaW5nLnNwcmludGYoV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCIlcyAvICVzIHRyYW5zZmVycmVkIiksIE51bWJlci5ieXRlc1RvU3RyaW5nKHNlbGVjdGVkVHJh
bnNmZXJTaXplKSwgTnVtYmVyLmJ5dGVzVG9TdHJpbmcodHJhbnNmZXJTaXplKSk7CiAgICAgICAg
IH0gZWxzZSB7CkBAIC00MzcsNiArNDM5LDIwIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVN1bW1hcnlCYXIoKTsKICAgICB9
LAogCisgICAgX2ZpbHRlckJ5Q29udGVudDogZnVuY3Rpb24oY29udGVudCl7CisgICAgICAgIGZv
cih2YXIgaSA9IDA7IGkgPCB0aGlzLl9kYXRhR3JpZC5yb290Tm9kZSgpLmNoaWxkcmVuLmxlbmd0
aDsgKytpKXsKKyAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5fZGF0YUdyaWQucm9vdE5vZGUo
KS5jaGlsZHJlbltpXTsKKyAgICAgICAgICAgIG5vZGUuZWxlbWVudC5yZW1vdmVTdHlsZUNsYXNz
KCJoaWRkZW4iKTsKKyAgICAgICAgICAgIHRoaXMuX2ZpbHRlcmVkT3V0UmVxdWVzdHMucHV0KHRo
aXMuX3JlcXVlc3RzW2ldLCB0cnVlKTsKKyAgICAgICAgICAgIGlmIChub2RlLmVsZW1lbnQuY2hp
bGRyZW5bMF0uaW5uZXJUZXh0LmluZGV4T2YoY29udGVudCkgPT09IC0xKXsKKyAgICAgICAgICAg
ICAgICBub2RlLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgICAgICAg
ICAgdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5yZW1vdmUodGhpcy5fcmVxdWVzdHNbaV0pOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHRoaXMuX3VwZGF0ZVN1bW1hcnlCYXIo
KTsKKyAgICAgICAgdGhpcy5fdXBkYXRlT2Zmc2NyZWVuUm93cygpOworICAgICAgfSwKKyAgICAK
ICAgICBfZmlsdGVyOiBmdW5jdGlvbih0YXJnZXQsIHNlbGVjdE11bHRpcGxlKQogICAgIHsKICAg
ICAgICAgZnVuY3Rpb24gdW5zZWxlY3RBbGwoKQpAQCAtNzUxLDcgKzc2Nyw2IEBAIFdlYkluc3Bl
Y3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAgICAgX2FwcGVuZFJlcXVlc3Q6IGZ1
bmN0aW9uKHJlcXVlc3QpCiAgICAgewogICAgICAgICB0aGlzLl9yZXF1ZXN0cy5wdXNoKHJlcXVl
c3QpOwotCiAgICAgICAgIC8vIEluIGNhc2Ugb2YgcmVkaXJlY3QgcmVxdWVzdCBpZCBpcyByZWFz
c2lnbmVkIHRvIGEgcmVkaXJlY3RlZAogICAgICAgICAvLyByZXF1ZXN0IGFuZCB3ZSBuZWVkIHRv
IHVwZGF0ZSBfcmVxdWVzdHNCeUlkIGFucyBzZWFyY2ggcmVzdWx0cy4KICAgICAgICAgaWYgKHRo
aXMuX3JlcXVlc3RzQnlJZFtyZXF1ZXN0LnJlcXVlc3RJZF0pIHsKQEAgLTExNTIsNiArMTE2Nywx
NCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICB0
aGlzLl9oaWdobGlnaHROdGhNYXRjaGVkUmVxdWVzdChuZXdNYXRjaGVkUmVxdWVzdEluZGV4LCBm
YWxzZSk7CiAgICAgfSwKIAorICAgIGNhbmNlbEZpbHRlcjogZnVuY3Rpb24oKSB7CisgICAgICB0
aGlzLnBlcmZvcm1GaWx0ZXIoJycpOworICAgIH0sCisgICAgCisgICAgcGVyZm9ybUZpbHRlcjog
ZnVuY3Rpb24ocXVlcnkpIHsKKyAgICAgIHRoaXMuX2ZpbHRlckJ5Q29udGVudChxdWVyeSk7Cisg
ICAgfSwKKyAgICAKICAgICBqdW1wVG9QcmV2aW91c1NlYXJjaFJlc3VsdDogZnVuY3Rpb24oKQog
ICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9tYXRjaGVkUmVxdWVzdHMubGVuZ3RoKQpAQCAtMTQw
OSw3ICsxNDMyLDE2IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlID0gewog
ICAgIHsKICAgICAgICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcucGVyZm9ybVNlYXJjaChzZWFyY2hR
dWVyeSk7CiAgICAgfSwKLQorICAgIAorICAgIGNhbmNlbEZpbHRlcjogZnVuY3Rpb24oKSB7Cisg
ICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5jYW5jZWxGaWx0ZXIoKTsKKyAgICB9LAorICAgIAor
ICAgIAorICAgIHBlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KXsKKyAgICAgIHRoaXMuX25l
dHdvcmtMb2dWaWV3LnBlcmZvcm1GaWx0ZXIocXVlcnkpOworICAgIH0sCisgICAgCiAgICAganVt
cFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMu
X25ldHdvcmtMb2dWaWV3Lmp1bXBUb1ByZXZpb3VzU2VhcmNoUmVzdWx0KCk7CkBAIC0xNzIyLDkg
KzE3NTQsOSBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7
CiAKICAgICBpc0ZpbHRlcmVkT3V0OiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICBpZiAoIXRo
aXMuX3BhcmVudFZpZXcuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKQorICAgICAgICBpZiAoIXRoaXMu
X3BhcmVudFZpZXcuX2hpZGRlbkNhdGVnb3JpZXMuYWxsICYmICF0aGlzLl9wYXJlbnRWaWV3Ll9m
aWx0ZXJlZE91dFJlcXVlc3RzLmdldCh0aGlzLl9yZXF1ZXN0KSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKLSAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QudHlwZS5uYW1lKCkgaW4gdGhp
cy5fcGFyZW50Vmlldy5faGlkZGVuQ2F0ZWdvcmllczsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3Jl
cXVlc3QudHlwZS5uYW1lKCkgaW4gdGhpcy5fcGFyZW50Vmlldy5faGlkZGVuQ2F0ZWdvcmllcyB8
fCB0aGlzLl9wYXJlbnRWaWV3Ll9maWx0ZXJlZE91dFJlcXVlc3RzLmdldCh0aGlzLl9yZXF1ZXN0
KTsKICAgICB9LAogCiAgICAgc2VsZWN0OiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKaW5kZXggZDE4
ZTI4MGUxYTY2ZDRhMmZlMzE3MGQ4MmIxYTkxMzRjNDJjZDFkZS4uODNlZmI4MjNmODkwMTMxNWFh
ODViNDg1NThjMjliNDkzNjhmNDdlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcwpAQCAtMTU1LDYgKzE1NSw5IEBA
IFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAg
ICBoYW5kbGVTaG9ydGN1dDogZnVuY3Rpb24oZXZlbnQpCiAgICAgeworICAgICAgICBpZiAodHlw
ZW9mIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1TZWFy
Y2ggIT09ICJmdW5jdGlvbiIpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICAgICAg
dmFyIGlzTWFjID0gV2ViSW5zcGVjdG9yLmlzTWFjKCk7CiAKICAgICAgICAgc3dpdGNoIChldmVu
dC5rZXlJZGVudGlmaWVyKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1dlYktpdC5xcmMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1dlYktpdC5xcmMKaW5kZXggZDYzODljNTJjYWNjZDk1ZjEwYTI4YTAyN2M5MmQ0MzliNWI0NzQx
Yy4uOWM1NzhlN2MxMzBkM2M2OTAyZDE1MDgyM2Q3YTI3MDIzZDA3OGIyOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwpAQCAtNjQsNiArNjQsNyBA
QAogICAgIDxmaWxlPkZpbGVTeXN0ZW1Nb2RlbC5qczwvZmlsZT4KICAgICA8ZmlsZT5GaWxlU3lz
dGVtVmlldy5qczwvZmlsZT4KICAgICA8ZmlsZT5GaWxlVXRpbHMuanM8L2ZpbGU+CisgICAgPGZp
bGU+RmlsdGVyQ29udHJvbGxlci5qczwvZmlsZT4KICAgICA8ZmlsZT5GaWx0ZXJlZEl0ZW1TZWxl
Y3Rpb25EaWFsb2cuanM8L2ZpbGU+CiAgICAgPGZpbGU+Rm9udFZpZXcuanM8L2ZpbGU+CiAgICAg
PGZpbGU+R29Ub0xpbmVEaWFsb2cuanM8L2ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAppbmRleCAwYmM3OWExZjU1MTU0MjBlYjg1
NTUwYTc0ZTc2NWZlNzQwZTZmZDA0Li41YWVlMDZiMDc3MjQ2NzViMTY2MWMwNWM5ZWY3ODBiYmU2
NTQwMjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5odG1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmh0bWwKQEAgLTY1LDYgKzY1LDcgQEAgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAgICA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJQYW5lbC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iSW5zcGVjdG9yVmlldy5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQWR2YW5jZWRTZWFyY2hDb250
cm9sbGVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJGaWx0ZXJDb250cm9sbGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSJUaW1lbGluZUdyaWQuanMiPjwvc2NyaXB0PiAgICAKICAgICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJDb250ZW50UHJvdmlkZXIuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlJlc291cmNl
LmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuanMKaW5kZXggYTM5MjQ2YmI4NTA5MTA4ZjUxYzZhMTc1YjUyOTE2NDZiMzliNjZl
NS4uN2I4ZTg4NDcyNjNiYjkyNmViZDA1MDM1MDQwMDc3YjBjMGQ4ZWU0MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTQ4MCw2ICs0
ODAsNyBAQCBXZWJJbnNwZWN0b3IuX2RvTG9hZGVkRG9uZVdpdGhDYXBhYmlsaXRpZXMgPSBmdW5j
dGlvbigpCiAgICAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRPTVN0b3JhZ2VEaXNwYXRjaGVy
KG5ldyBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZURpc3BhdGNoZXIoKSk7CiAKICAgICB0aGlzLnNl
YXJjaENvbnRyb2xsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIoKTsKKyAg
ICB0aGlzLmZpbHRlckNvbnRyb2xsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xs
ZXIoKTsKICAgICB0aGlzLmFkdmFuY2VkU2VhcmNoQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0
b3IuQWR2YW5jZWRTZWFyY2hDb250cm9sbGVyKCk7CiAgICAgdGhpcy5zZXR0aW5nc0NvbnRyb2xs
ZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlNldHRpbmdzQ29udHJvbGxlcigpOwogCkBAIC03NjIsNiAr
NzYzLDggQEAgV2ViSW5zcGVjdG9yLmRvY3VtZW50S2V5RG93biA9IGZ1bmN0aW9uKGV2ZW50KQog
ICAgICAgICB9CiAgICAgfQogCisgICAgaWYgKFdlYkluc3BlY3Rvci5maWx0ZXJDb250cm9sbGVy
LmhhbmRsZVNob3J0Y3V0KGV2ZW50KSkKKyAgICAgICAgcmV0dXJuOwogICAgIGlmIChXZWJJbnNw
ZWN0b3Iuc2VhcmNoQ29udHJvbGxlci5oYW5kbGVTaG9ydGN1dChldmVudCkpCiAgICAgICAgIHJl
dHVybjsKICAgICBpZiAoV2ViSW5zcGVjdG9yLmFkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5oYW5k
bGVTaG9ydGN1dChldmVudCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL25ldHdvcmtMb2dWaWV3LmNzcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzCmluZGV4IGY0NTQxOTRlMWIwOTZiMjI0MGYyYjM0
MGQyMjNjYmRjOGEyY2UwODcuLmMzNWMyNjcyYTE0YzkxYjQ2MDNiNGE2NTc2MTkwNzJiMjY2MTQ4
YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29y
a0xvZ1ZpZXcuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0
d29ya0xvZ1ZpZXcuY3NzCkBAIC00ODIsNiArNDgyLDEyIEBACiAgICAgZGlzcGxheTogdGFibGUt
cm93OwogfQogCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQgdHIuZmlsdGVyZWQtb3V0IHsK
KyAgICBkaXNwbGF5OiBub25lOworfQorCisKKwogLyogU3VtbWFyeSAqLwogCiAubmV0d29yay1s
b2ctZ3JpZC5kYXRhLWdyaWQgdHIuZmlsbGVyIHRkIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkYWI3MmJkNmIwY2NiMGI3
NjI2Mzg2MjhkNGUwYzQyMTUyOTAxM2M5Li4xMjM2YzQxY2I4ZGNiYjczZjI5N2U5ZjYxOGUzNDQ3
ZmJjMTFlNGE2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMDgtMDMgIHBrYXN0aW5nQGNo
cm9taXVtLm9yZyAgPHBrYXN0aW5nQGNocm9taXVtLm9yZ0AyNjhmNDVjYy1jZDA5LTA0MTAtYWIz
Yy1kNTI2OTFiNGRiZmM+CisKKyAgICAgICAgW0Nocm9taXVtXSBXaWRlbiBleHBlY3RhdGlvbiBm
b3IgY3Jhc2hpbmcgdGVzdC4KKyAgICAgICAgaHR0cDovL2NyYnVnLmNvbS8xMzk0OTMKKworICAg
ICAgICBVbnJldmlld2VkLCB0ZXN0IGV4cGVjdGF0aW9ucyB1cGRhdGUuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgorCisKKworICAgICAgICBnaXQtc3Zu
LWlkOiBodHRwOi8vc3ZuLndlYmtpdC5vcmcvcmVwb3NpdG9yeS93ZWJraXQvdHJ1bmtAMTIzOTcw
IDI2OGY0NWNjLWNkMDktMDQxMC1hYjNjLWQ1MjY5MWI0ZGJmYworCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9m
IHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwgcmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1m
dW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTItMDgtMDYgIFNoZXJpZmYgQm90ICA8
d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHIxMjQ3MzkuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156685</attachid>
            <date>2012-08-06 07:06:11 -0700</date>
            <delta_ts>2012-08-06 07:59:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120806180546.patch</filename>
            <type>text/plain</type>
            <size>17349</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmY3NTRhNDBjMWM1ODEz
MGNiYzQ0NjUyYjYyMzAxOGUyYzcxYWYwNi4uMTkzNGVjYjY1YzkxYjA5MzgxMDRjNDU4OWQxYzg3
MDUxNzExMmZhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA4LTA2ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIEEgbmV3IGZlYXR1cmUg
YWRkZWQ6IGZpbHRlcmluZyBpbiB0aGUgbmV0d29yayBwYW5lbC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzMDkwICAgICAgICAKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAg
ICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogaW5zcGVjdG9y
L2NvbXBpbGUtZnJvbnQtZW5kLnB5OgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRmls
dGVyQ29udHJvbGxlci5qczogQWRkZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29u
dHJvbGxlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90b3R5
cGUuY2FuY2VsRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVy
LnByb3RvdHlwZS5yZXNldEZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29u
dHJvbGxlci5wcm90b3R5cGUuX3BlcmZvcm1GaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkZpbHRlckNvbnRyb2xsZXIucHJvdG90eXBlLl9vbktleURvd24pOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkZpbHRlckNvbnRyb2xsZXIucHJvdG90eXBlLl9vbklucHV0KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5zaG93RmlsdGVyRmllbGQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIucHJvdG90eXBlLmhhbmRsZVNo
b3J0Y3V0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvclZpZXcuanM6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9maWx0ZXJCeUNvbnRlbnQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5fYXBwZW5k
UmVxdWVzdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBl
LmNhbmNlbEZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJv
dG90eXBlLnBlcmZvcm1GaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5l
bC5wcm90b3R5cGUuY2FuY2VsRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3Jr
UGFuZWwucHJvdG90eXBlLnBlcmZvcm1GaWx0ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvU2VhcmNoQ29udHJvbGxlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hD
b250cm9sbGVyLnByb3RvdHlwZS5oYW5kbGVTaG9ydGN1dCk6CisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9XZWJLaXQucXJjOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmh0bWw6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuZG9jdW1lbnRLZXlEb3duKToKKwogMjAxMi0wOC0wNiAg
SWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZDogV2ViIEluc3BlY3Rvcjogc2luZ2xlIGxpbmUgdGVzdCBmaXggZm9yIHIxMjQ3NDQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKaW5kZXggNWNjYWViNGIxMDRmYTFiNmE3OTg1ZDZkYjQxMDJlODJhOGJmNTY4
NC4uMTAxNjAxNDUwMTZiNTNmZmQ3MWRiNDA1YzFjNTQ2MzY2ODQ0MGNmNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQpAQCAtNjMwNSw2ICs2MzA1LDcgQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQt
ZW5kL0ZpbGVTeXN0ZW1Nb2RlbC5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVu
ZC9GaWxlU3lzdGVtVmlldy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9G
aWxlVXRpbHMuanMnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsdGVyQ29u
dHJvbGxlci5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9GaWx0ZXJlZEl0
ZW1TZWxlY3Rpb25EaWFsb2cuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQv
Rm9udFZpZXcuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvR29Ub0xpbmVE
aWFsb2cuanMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agppbmRleCA1NzMxYThmNzY5MmQxNzZjN2JjZDhlOWUyOWRhOTE1NTk1YThmNjQ0Li4zNDEyN2Yx
MDk4NGI4Njc1MjkyMDYxNzc2MzNmYWVmNTI4YzgzYzNkIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNzU1MzgsNiArNzU1MzgsMTAgQEAKIAkJ
CQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3Bl
Y3Rvclxmcm9udC1lbmRcRmlsdGVyQ29udHJvbGxlci5qcyIKKwkJCQkJPgorCQkJCTwvRmlsZT4K
KwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcRmls
dGVyZWRJdGVtU2VsZWN0aW9uRGlhbG9nLmpzIgogCQkJCQk+CiAJCQkJPC9GaWxlPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5IGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5CmluZGV4IGJjMDY4Nzdl
MmUxZDQwNTFlZjg1MWMzODQzMjMyMjc2NzU3MWFkYTQuLmU3NDIxZWVlYWZkYjY1ZGI2NDk5YjM3
M2U0NmQ3Mjg3ZmUzYjU2NzQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9j
b21waWxlLWZyb250LWVuZC5weQorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGls
ZS1mcm9udC1lbmQucHkKQEAgLTEyNCw2ICsxMjQsNyBAQCBtb2R1bGVzID0gWwogICAgICAgICAg
ICAgIkRpYWxvZy5qcyIsCiAgICAgICAgICAgICAiRHJhd2VyLmpzIiwKICAgICAgICAgICAgICJF
bXB0eVZpZXcuanMiLAorICAgICAgICAgICAgIkZpbHRlckNvbnRyb2xsZXIuanMiLAogICAgICAg
ICAgICAgIkhlbHBTY3JlZW4uanMiLAogICAgICAgICAgICAgIkluc3BlY3RvclZpZXcuanMiLAog
ICAgICAgICAgICAgIktleWJvYXJkU2hvcnRjdXQuanMiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWx0ZXJDb250cm9sbGVyLmpzIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWx0ZXJDb250cm9sbGVyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmI5YTM1ODY3YjEzZDEzOTI3NDA5NzM4YWZkOTg5YmU1NDJlOTM1ZTMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbHRlckNvbnRyb2xsZXIu
anMKQEAgLTAsMCArMSwxMTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIAorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDogKgorICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzCisgKiBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
CisgKiBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQKKyAqIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiB3aXRo
IHRoZSBkaXN0cmlidXRpb24uICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICogc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKiAKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIgorICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLyoqCisg
KiBAY29uc3RydWN0b3IKKyAqLworV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIgPSBmdW5j
dGlvbigpIHsKKyAgICB0aGlzLl9lbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CisgICAgdGhpcy5fZWxlbWVudC5jbGFzc05hbWUgPSAidG9vbGJhci1maWx0ZXIiOworICAg
IHRoaXMuX2VsZW1lbnQuY2VsbFNwYWNpbmcgPSAwOworCisgICAgLy8gQ29sdW1uIDEKKyAgICB0
aGlzLl9maWx0ZXJDb250cm9sRWxlbWVudCA9IHRoaXMuX2VsZW1lbnQuY3JlYXRlQ2hpbGQoInNw
YW4iLCAidG9vbGJhci1maWx0ZXItY29udHJvbCIpOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxl
bWVudCA9IHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50LmNyZWF0ZUNoaWxkKCJpbnB1dCIsICJm
aWx0ZXIiKTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuaWQgPSAiZmlsdGVyLWZpZWxk
IjsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQucGxhY2Vob2xkZXIgPSBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkZpbHRlciIpOworCisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9vbktleURvd24uYmluZCh0aGlzKSwgdHJ1
ZSk7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0
IiwgdGhpcy5fb25JbnB1dC5iaW5kKHRoaXMpLCBmYWxzZSk7CisKKyAgICAvLyBDb2x1bW4gMgor
ICAgIHZhciBjYW5jZWxCdXR0b25FbGVtZW50ID0gdGhpcy5fZWxlbWVudC5jcmVhdGVDaGlsZCgi
YnV0dG9uIik7CisgICAgY2FuY2VsQnV0dG9uRWxlbWVudC50ZXh0Q29udGVudCA9IFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiQ2FuY2VsIik7CisgICAgY2FuY2VsQnV0dG9uRWxlbWVudC50YWJJbmRl
eCA9IC0xOworICAgIGNhbmNlbEJ1dHRvbkVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCB0aGlzLmNhbmNlbEZpbHRlci5iaW5kKHRoaXMpLCBmYWxzZSk7Cit9CisKK1dlYkluc3BlY3Rv
ci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKKyAgICBjYW5jZWxGaWx0ZXI6IGZ1bmN0
aW9uKCkgeworICAgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5zZXRGb290ZXJFbGVt
ZW50KG51bGwpOworICAgICAgICB0aGlzLnJlc2V0RmlsdGVyKCk7CisgICAgfSwKKworICAgIHJl
c2V0RmlsdGVyOiBmdW5jdGlvbigpIHsKKyAgICAgICAgdGhpcy5fcGVyZm9ybUZpbHRlcignJyk7
CisgICAgICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC52YWx1ZSA9ICcnOworICAgIH0sCisK
KyAgICBfcGVyZm9ybUZpbHRlcjogZnVuY3Rpb24ocXVlcnkpIHsKKyAgICAgICAgdmFyIGN1cnJl
bnRQYW5lbCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpOworICAg
ICAgICBpZiAodHlwZW9mIGN1cnJlbnRQYW5lbC5wZXJmb3JtRmlsdGVyID09PSAnZnVuY3Rpb24n
KQorICAgICAgICAgICAgY3VycmVudFBhbmVsLnBlcmZvcm1GaWx0ZXIocXVlcnkpOworICAgIH0s
CisKKyAgICBfb25LZXlEb3duOiBmdW5jdGlvbihldmVudCkgeworICAgICAgICBpZiAoZXZlbnQu
a2V5Q29kZSA9PT0gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5cy5Fc2MuY29kZSkg
eworICAgICAgICAgICAgZXZlbnQuY29uc3VtZSh0cnVlKTsKKyAgICAgICAgICAgIHRoaXMuY2Fu
Y2VsRmlsdGVyKCk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0Q3VycmVudEZvY3VzRWxl
bWVudChXZWJJbnNwZWN0b3IucHJldmlvdXNGb2N1c0VsZW1lbnQoKSk7CisgICAgICAgICAgICBp
ZiAoV2ViSW5zcGVjdG9yLmN1cnJlbnRGb2N1c0VsZW1lbnQoKSA9PT0gZXZlbnQudGFyZ2V0KQor
ICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5jdXJyZW50Rm9jdXNFbGVtZW50KCkuc2VsZWN0
KCk7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKworICAgICAgICBpZiAo
aXNFbnRlcktleShldmVudCkpIHsKKyAgICAgICAgICAgIGlmIChldmVudC50YXJnZXQgPT09IHRo
aXMuX2ZpbHRlcklucHV0RWxlbWVudCkKKyAgICAgICAgICAgICAgICB0aGlzLl9wZXJmb3JtRmls
dGVyKGV2ZW50LnRhcmdldC52YWx1ZSk7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgX29uSW5w
dXQ6IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgIHRoaXMuX3BlcmZvcm1GaWx0ZXIoZXZlbnQu
dGFyZ2V0LnZhbHVlKTsKKyAgICB9LAorCisgICAgc2hvd0ZpbHRlckZpZWxkOiBmdW5jdGlvbigp
IHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuc2V0Rm9vdGVyRWxlbWVudCh0
aGlzLl9lbGVtZW50KTsKKyAgICAgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmZvY3VzKCk7
CisgICAgICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5zZWxlY3QoKTsKKyAgICB9LAorCisg
ICAgaGFuZGxlU2hvcnRjdXQ6IGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgICAgIHZhciBjdXJyZW50
UGFuZWwgPSBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwoKTsKKyAgICAg
ICAgaWYgKHR5cGVvZiBjdXJyZW50UGFuZWwucGVyZm9ybUZpbHRlciAhPT0gImZ1bmN0aW9uIikK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgdmFyIGlzTWFjID0gV2ViSW5zcGVj
dG9yLmlzTWFjKCk7CisgICAgICAgIGlmIChldmVudC5rZXlJZGVudGlmaWVyID09PSAiVSswMDQ2
IikgeyAvLyBGIGtleQorICAgICAgICAgICAgaWYgKGlzTWFjKQorICAgICAgICAgICAgICAgIHZh
ciBpc0ZpbmRLZXkgPSBldmVudC5tZXRhS2V5ICYmICFldmVudC5jdHJsS2V5ICYmICFldmVudC5h
bHRLZXkgJiYgIWV2ZW50LnNoaWZ0S2V5OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIHZhciBpc0ZpbmRLZXkgPSBldmVudC5jdHJsS2V5ICYmICFldmVudC5tZXRhS2V5ICYmICFl
dmVudC5hbHRLZXkgJiYgIWV2ZW50LnNoaWZ0S2V5OworICAgICAgICAgICAgaWYgKGlzRmluZEtl
eSkgeworICAgICAgICAgICAgICAgIHRoaXMuc2hvd0ZpbHRlckZpZWxkKCk7CisgICAgICAgICAg
ICAgICAgZXZlbnQuY29uc3VtZSh0cnVlKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfSwK
K30KKworV2ViSW5zcGVjdG9yLmZpbHRlckNvbnRyb2xsZXIgPSBudWxsOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JWaWV3LmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JWaWV3LmpzCmluZGV4IGVm
YTAxZDQ5ZTAyY2YzZWNkYTZmN2VhNTA2YzY4Mjc3MGVmMTZjODQuLjFiZTFmYmNiMmMzNGRjYmFl
MGNjMDljOGFmZTllZGYzZjg0YTFjZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvclZpZXcuanMKQEAgLTg2LDYgKzg2LDcgQEAgV2ViSW5z
cGVjdG9yLkluc3BlY3RvclZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5kaXNw
YXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkluc3BlY3RvclZpZXcuRXZlbnRzLlBh
bmVsU2VsZWN0ZWQpOwogICAgICAgICAgICAgLy8gRklYTUU6IHJlbW92ZSBzZWFyY2ggY29udHJv
bGxlci4KICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zZWFyY2hDb250cm9sbGVyLmNhbmNlbFNl
YXJjaCgpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZpbHRlckNvbnRyb2xsZXIuY2FuY2Vs
RmlsdGVyKCk7CiAgICAgICAgIH0KICAgICAgICAgZm9yICh2YXIgcGFuZWxOYW1lIGluIFdlYklu
c3BlY3Rvci5wYW5lbHMpIHsKICAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IucGFuZWxzW3Bh
bmVsTmFtZV0gPT09IHgpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvTmV0d29ya1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5kZXggMmVmYzFkYWRmNzRmMjY1N2E0MTM5N2U4NjEyNDUz
MDljNTZhYzUyMS4uZWQ4MGUwMmIyNjVmY2VlOGEwZjlhZjkyMzlkNTM5NTM2MWQ1MWY4YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwu
anMKQEAgLTQ4LDYgKzQ4LDggQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3ID0gZnVuY3Rp
b24oKQogICAgIHRoaXMuX21haW5SZXF1ZXN0RE9NQ29udGVudFRpbWUgPSAtMTsKICAgICB0aGlz
Ll9oaWRkZW5DYXRlZ29yaWVzID0ge307CiAgICAgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzID0gW107
CisgICAgdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cyA9IG5ldyBNYXAoKTsKKyAgICAKICAgICB0
aGlzLl9tYXRjaGVkUmVxdWVzdHNNYXAgPSB7fTsKICAgICB0aGlzLl9jdXJyZW50TWF0Y2hlZFJl
cXVlc3RJbmRleCA9IC0xOwogCkBAIC0zODQsNyArMzg2LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdv
cmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gdGhpcy5f
cmVxdWVzdHNbaV07CiAgICAgICAgICAgICB2YXIgcmVxdWVzdFRyYW5zZmVyU2l6ZSA9IChyZXF1
ZXN0LmNhY2hlZCB8fCAhcmVxdWVzdC50cmFuc2ZlclNpemUpID8gMCA6IHJlcXVlc3QudHJhbnNm
ZXJTaXplOwogICAgICAgICAgICAgdHJhbnNmZXJTaXplICs9IHJlcXVlc3RUcmFuc2ZlclNpemU7
Ci0gICAgICAgICAgICBpZiAoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8ICF0aGlzLl9o
aWRkZW5DYXRlZ29yaWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSB7CisgICAgICAgICAgICBpZiAo
KCF0aGlzLl9oaWRkZW5DYXRlZ29yaWVzLmFsbCB8fCAhdGhpcy5faGlkZGVuQ2F0ZWdvcmllc1ty
ZXF1ZXN0LnR5cGUubmFtZSgpXSkgJiYgIXRoaXMuX2ZpbHRlcmVkT3V0UmVxdWVzdHMuZ2V0KHJl
cXVlc3QpKSB7CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRSZXF1ZXN0c051bWJlcisrOwogICAg
ICAgICAgICAgICAgIHNlbGVjdGVkVHJhbnNmZXJTaXplICs9IHJlcXVlc3RUcmFuc2ZlclNpemU7
CiAgICAgICAgICAgICB9CkBAIC0zOTQsNyArMzk2LDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtM
b2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICBtYXhUaW1lID0gcmVxdWVzdC5l
bmRUaW1lOwogICAgICAgICB9CiAgICAgICAgIHZhciB0ZXh0ID0gIiI7Ci0gICAgICAgIGlmICh0
aGlzLl9oaWRkZW5DYXRlZ29yaWVzLmFsbCkgeworICAgICAgICBpZiAoc2VsZWN0ZWRSZXF1ZXN0
c051bWJlciAhPT0gcmVxdWVzdHNOdW1iZXIpIHsKICAgICAgICAgICAgIHRleHQgKz0gU3RyaW5n
LnNwcmludGYoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlZCAvICVkIHJlcXVlc3RzIiksIHNlbGVj
dGVkUmVxdWVzdHNOdW1iZXIsIHJlcXVlc3RzTnVtYmVyKTsKICAgICAgICAgICAgIHRleHQgKz0g
IiAgXHUyNzU4ICAiICsgU3RyaW5nLnNwcmludGYoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyAv
ICVzIHRyYW5zZmVycmVkIiksIE51bWJlci5ieXRlc1RvU3RyaW5nKHNlbGVjdGVkVHJhbnNmZXJT
aXplKSwgTnVtYmVyLmJ5dGVzVG9TdHJpbmcodHJhbnNmZXJTaXplKSk7CiAgICAgICAgIH0gZWxz
ZSB7CkBAIC00MzcsNiArNDM5LDIwIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVN1bW1hcnlCYXIoKTsKICAgICB9LAogCisg
ICAgX2ZpbHRlckJ5Q29udGVudDogZnVuY3Rpb24oY29udGVudCl7CisgICAgICAgIGZvcih2YXIg
aSA9IDA7IGkgPCB0aGlzLl9kYXRhR3JpZC5yb290Tm9kZSgpLmNoaWxkcmVuLmxlbmd0aDsgKytp
KXsKKyAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5fZGF0YUdyaWQucm9vdE5vZGUoKS5jaGls
ZHJlbltpXTsKKyAgICAgICAgICAgIG5vZGUuZWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJoaWRk
ZW4iKTsKKyAgICAgICAgICAgIHRoaXMuX2ZpbHRlcmVkT3V0UmVxdWVzdHMucHV0KHRoaXMuX3Jl
cXVlc3RzW2ldLCB0cnVlKTsKKyAgICAgICAgICAgIGlmIChub2RlLmVsZW1lbnQuY2hpbGRyZW5b
MF0uaW5uZXJUZXh0LmluZGV4T2YoY29udGVudCkgPT09IC0xKXsKKyAgICAgICAgICAgICAgICBu
b2RlLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgICAgICAgICAgdGhp
cy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5yZW1vdmUodGhpcy5fcmVxdWVzdHNbaV0pOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgICAgIHRoaXMuX3VwZGF0ZVN1bW1hcnlCYXIoKTsKKyAg
ICAgICAgdGhpcy5fdXBkYXRlT2Zmc2NyZWVuUm93cygpOworICAgICAgfSwKKyAgICAKICAgICBf
ZmlsdGVyOiBmdW5jdGlvbih0YXJnZXQsIHNlbGVjdE11bHRpcGxlKQogICAgIHsKICAgICAgICAg
ZnVuY3Rpb24gdW5zZWxlY3RBbGwoKQpAQCAtNzUxLDcgKzc2Nyw2IEBAIFdlYkluc3BlY3Rvci5O
ZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAgICAgX2FwcGVuZFJlcXVlc3Q6IGZ1bmN0aW9u
KHJlcXVlc3QpCiAgICAgewogICAgICAgICB0aGlzLl9yZXF1ZXN0cy5wdXNoKHJlcXVlc3QpOwot
CiAgICAgICAgIC8vIEluIGNhc2Ugb2YgcmVkaXJlY3QgcmVxdWVzdCBpZCBpcyByZWFzc2lnbmVk
IHRvIGEgcmVkaXJlY3RlZAogICAgICAgICAvLyByZXF1ZXN0IGFuZCB3ZSBuZWVkIHRvIHVwZGF0
ZSBfcmVxdWVzdHNCeUlkIGFucyBzZWFyY2ggcmVzdWx0cy4KICAgICAgICAgaWYgKHRoaXMuX3Jl
cXVlc3RzQnlJZFtyZXF1ZXN0LnJlcXVlc3RJZF0pIHsKQEAgLTExNTIsNiArMTE2NywxNCBAQCBX
ZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9o
aWdobGlnaHROdGhNYXRjaGVkUmVxdWVzdChuZXdNYXRjaGVkUmVxdWVzdEluZGV4LCBmYWxzZSk7
CiAgICAgfSwKIAorICAgIGNhbmNlbEZpbHRlcjogZnVuY3Rpb24oKSB7CisgICAgICAgIHRoaXMu
cGVyZm9ybUZpbHRlcignJyk7CisgICAgfSwKKyAgICAKKyAgICBwZXJmb3JtRmlsdGVyOiBmdW5j
dGlvbihxdWVyeSkgeworICAgICAgICB0aGlzLl9maWx0ZXJCeUNvbnRlbnQocXVlcnkpOworICAg
IH0sCisgICAgCiAgICAganVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKCkKICAg
ICB7CiAgICAgICAgIGlmICghdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCkKQEAgLTE0MDks
NyArMTQzMiwxNiBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZSA9IHsKICAg
ICB7CiAgICAgICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3LnBlcmZvcm1TZWFyY2goc2VhcmNoUXVl
cnkpOwogICAgIH0sCi0KKyAgICAKKyAgICBjYW5jZWxGaWx0ZXI6IGZ1bmN0aW9uKCkgeworICAg
ICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5jYW5jZWxGaWx0ZXIoKTsKKyAgICB9LAorICAgIAor
ICAgIAorICAgIHBlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KXsKKyAgICAgICAgdGhpcy5f
bmV0d29ya0xvZ1ZpZXcucGVyZm9ybUZpbHRlcihxdWVyeSk7CisgICAgfSwKKyAgICAKICAgICBq
dW1wVG9QcmV2aW91c1NlYXJjaFJlc3VsdDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhp
cy5fbmV0d29ya0xvZ1ZpZXcuanVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQoKTsKQEAgLTE3MjIs
OSArMTc1NCw5IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZSA9
IHsKIAogICAgIGlzRmlsdGVyZWRPdXQ6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIGlmICgh
dGhpcy5fcGFyZW50Vmlldy5faGlkZGVuQ2F0ZWdvcmllcy5hbGwpCisgICAgICAgIGlmICghdGhp
cy5fcGFyZW50Vmlldy5faGlkZGVuQ2F0ZWdvcmllcy5hbGwgJiYgIXRoaXMuX3BhcmVudFZpZXcu
X2ZpbHRlcmVkT3V0UmVxdWVzdHMuZ2V0KHRoaXMuX3JlcXVlc3QpKQogICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWVzdC50eXBlLm5hbWUoKSBpbiB0
aGlzLl9wYXJlbnRWaWV3Ll9oaWRkZW5DYXRlZ29yaWVzOworICAgICAgICByZXR1cm4gdGhpcy5f
cmVxdWVzdC50eXBlLm5hbWUoKSBpbiB0aGlzLl9wYXJlbnRWaWV3Ll9oaWRkZW5DYXRlZ29yaWVz
IHx8IHRoaXMuX3BhcmVudFZpZXcuX2ZpbHRlcmVkT3V0UmVxdWVzdHMuZ2V0KHRoaXMuX3JlcXVl
c3QpOwogICAgIH0sCiAKICAgICBzZWxlY3Q6IGZ1bmN0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcwppbmRleCBk
MThlMjgwZTFhNjZkNGEyZmUzMTcwZDgyYjFhOTEzNGM0MmNkMWRlLi44M2VmYjgyM2Y4OTAxMzE1
YWE4NWI0ODU1OGMyOWI0OTM2OGY0N2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzCkBAIC0xNTUsNiArMTU1LDkg
QEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgICAqLwog
ICAgIGhhbmRsZVNob3J0Y3V0OiBmdW5jdGlvbihldmVudCkKICAgICB7CisgICAgICAgIGlmICh0
eXBlb2YgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkucGVyZm9ybVNl
YXJjaCAhPT0gImZ1bmN0aW9uIikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAg
ICB2YXIgaXNNYWMgPSBXZWJJbnNwZWN0b3IuaXNNYWMoKTsKIAogICAgICAgICBzd2l0Y2ggKGV2
ZW50LmtleUlkZW50aWZpZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvV2ViS2l0LnFyYyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvV2ViS2l0LnFyYwppbmRleCBkNjM4OWM1MmNhY2NkOTVmMTBhMjhhMDI3YzkyZDQzOWI1YjQ3
NDFjLi45YzU3OGU3YzEzMGQzYzY5MDJkMTUwODIzZDdhMjcwMjNkMDc4YjI4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCkBAIC02NCw2ICs2NCw3
IEBACiAgICAgPGZpbGU+RmlsZVN5c3RlbU1vZGVsLmpzPC9maWxlPgogICAgIDxmaWxlPkZpbGVT
eXN0ZW1WaWV3LmpzPC9maWxlPgogICAgIDxmaWxlPkZpbGVVdGlscy5qczwvZmlsZT4KKyAgICA8
ZmlsZT5GaWx0ZXJDb250cm9sbGVyLmpzPC9maWxlPgogICAgIDxmaWxlPkZpbHRlcmVkSXRlbVNl
bGVjdGlvbkRpYWxvZy5qczwvZmlsZT4KICAgICA8ZmlsZT5Gb250Vmlldy5qczwvZmlsZT4KICAg
ICA8ZmlsZT5Hb1RvTGluZURpYWxvZy5qczwvZmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCmluZGV4IDBiYzc5YTFmNTUxNTQyMGVi
ODU1NTBhNzRlNzY1ZmU3NDBlNmZkMDQuLjVhZWUwNmIwNzcyNDY3NWIxNjYxYzA1YzllZjc4MGJi
ZTY1NDAyMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmh0bWwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuaHRtbApAQCAtNjUsNiArNjUsNyBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlBhbmVsLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJJbnNwZWN0b3JWaWV3LmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJBZHZhbmNlZFNlYXJjaENv
bnRyb2xsZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBzcmM9IkZpbHRlckNvbnRyb2xsZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9IlRpbWVsaW5lR3JpZC5qcyI+PC9zY3JpcHQ+ICAgIAogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNvbnRlbnRQcm92aWRlci5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iUmVzb3Vy
Y2UuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5qcwppbmRleCBhMzkyNDZiYjg1MDkxMDhmNTFjNmExNzViNTI5MTY0NmIzOWI2
NmU1Li43YjhlODg0NzI2M2JiOTI2ZWJkMDUwMzUwNDAwNzdiMGMwZDhlZTQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpAQCAtNDgwLDYg
KzQ4MCw3IEBAIFdlYkluc3BlY3Rvci5fZG9Mb2FkZWREb25lV2l0aENhcGFiaWxpdGllcyA9IGZ1
bmN0aW9uKCkKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NU3RvcmFnZURpc3BhdGNo
ZXIobmV3IFdlYkluc3BlY3Rvci5ET01TdG9yYWdlRGlzcGF0Y2hlcigpKTsKIAogICAgIHRoaXMu
c2VhcmNoQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlcigpOwor
ICAgIHRoaXMuZmlsdGVyQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJv
bGxlcigpOwogICAgIHRoaXMuYWR2YW5jZWRTZWFyY2hDb250cm9sbGVyID0gbmV3IFdlYkluc3Bl
Y3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIoKTsKICAgICB0aGlzLnNldHRpbmdzQ29udHJv
bGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuU2V0dGluZ3NDb250cm9sbGVyKCk7CiAKQEAgLTc2Miw2
ICs3NjMsOCBAQCBXZWJJbnNwZWN0b3IuZG9jdW1lbnRLZXlEb3duID0gZnVuY3Rpb24oZXZlbnQp
CiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoV2ViSW5zcGVjdG9yLmZpbHRlckNvbnRyb2xs
ZXIuaGFuZGxlU2hvcnRjdXQoZXZlbnQpKQorICAgICAgICByZXR1cm47CiAgICAgaWYgKFdlYklu
c3BlY3Rvci5zZWFyY2hDb250cm9sbGVyLmhhbmRsZVNob3J0Y3V0KGV2ZW50KSkKICAgICAgICAg
cmV0dXJuOwogICAgIGlmIChXZWJJbnNwZWN0b3IuYWR2YW5jZWRTZWFyY2hDb250cm9sbGVyLmhh
bmRsZVNob3J0Y3V0KGV2ZW50KSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156696</attachid>
            <date>2012-08-06 08:00:00 -0700</date>
            <delta_ts>2012-08-07 02:12:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120806185936.patch</filename>
            <type>text/plain</type>
            <size>16998</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmY3NTRhNDBjMWM1ODEz
MGNiYzQ0NjUyYjYyMzAxOGUyYzcxYWYwNi4uYTg0NjhkZjc0NzgxNDllYTQzYTY5NmU1NjY5ZmEz
NzkzNzQyY2VmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA4LTA2ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgZmVhdHVyZTogaW5zdGVhZCBvZiBzZWFyY2gg
YmFyIHRoZXJlIGlzIG5vdyBmaWx0ZXIgYmFyIGluIG5ldHdvcmsgdGFiLgorICAgICAgICBJdCBh
bGxvd3MgdG8gc2hvdyBvbmx5IHJlcXVlc3RzIHRoYXQgY29udGFpbiBhIHN1YnN0cmluZyBnaXZl
bi4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBpbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHk6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9GaWx0ZXJDb250cm9sbGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5GaWx0ZXJDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9s
bGVyLnByb3RvdHlwZS5jYW5jZWxGaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRl
ckNvbnRyb2xsZXIucHJvdG90eXBlLnJlc2V0RmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5fcGVyZm9ybUZpbHRlcik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUuX29uS2V5RG93bik6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUuX29uSW5wdXQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIucHJvdG90eXBlLnNob3dGaWx0
ZXJGaWVsZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90b3R5
cGUuaGFuZGxlU2hvcnRjdXQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVj
dG9yVmlldy5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUuX2ZpbHRl
ckJ5Q29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90
eXBlLl9hcHBlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUuY2FuY2VsRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3Jr
TG9nVmlldy5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
TmV0d29ya1BhbmVsLnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlLmNhbmNlbEZpbHRlcik6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZS5wZXJmb3JtRmlsdGVyKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuaGFuZGxlU2hvcnRjdXQpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYzoKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmRvY3VtZW50S2V5RG93bik6
CisKIDIwMTItMDgtMDYgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQ6IFdlYiBJbnNwZWN0b3I6IHNpbmdsZSBsaW5lIHRlc3QgZml4
IGZvciByMTI0NzQ0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDVjY2FlYjRiMTA0ZmExYjZhNzk4NWQ2
ZGI0MTAyZTgyYThiZjU2ODQuLjEwMTYwMTQ1MDE2YjUzZmZkNzFkYjQwNWMxYzU0NjM2Njg0NDBj
ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTYzMDUsNiArNjMwNSw3IEBACiAgICAgICAgICAgICAn
aW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtTW9kZWwuanMnLAogICAgICAgICAgICAgJ2lu
c3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcuanMnLAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9mcm9udC1lbmQvRmlsZVV0aWxzLmpzJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL0ZpbHRlckNvbnRyb2xsZXIuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvRmlsdGVyZWRJdGVtU2VsZWN0aW9uRGlhbG9nLmpzJywKICAgICAgICAgICAgICdpbnNw
ZWN0b3IvZnJvbnQtZW5kL0ZvbnRWaWV3LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL0dvVG9MaW5lRGlhbG9nLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNTczMWE4Zjc2OTJkMTc2YzdiY2Q4ZTllMjlkYTkxNTU5
NWE4ZjY0NC4uMzQxMjdmMTA5ODRiODY3NTI5MjA2MTc3NjMzZmFlZjUyOGM4M2MzZCAxMDA3NTUK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTc1NTM4LDYg
Kzc1NTM4LDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXEZpbHRlckNvbnRyb2xsZXIuanMiCisJCQkJ
CT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0
b3JcZnJvbnQtZW5kXEZpbHRlcmVkSXRlbVNlbGVjdGlvbkRpYWxvZy5qcyIKIAkJCQkJPgogCQkJ
CTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZy
b250LWVuZC5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5w
eQppbmRleCBiYzA2ODc3ZTJlMWQ0MDUxZWY4NTFjMzg0MzIzMjI3Njc1NzFhZGE0Li5lNzQyMWVl
ZWFmZGI2NWRiNjQ5OWIzNzNlNDZkNzI4N2ZlM2I1Njc0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5CkBAIC0xMjQsNiArMTI0LDcgQEAgbW9kdWxl
cyA9IFsKICAgICAgICAgICAgICJEaWFsb2cuanMiLAogICAgICAgICAgICAgIkRyYXdlci5qcyIs
CiAgICAgICAgICAgICAiRW1wdHlWaWV3LmpzIiwKKyAgICAgICAgICAgICJGaWx0ZXJDb250cm9s
bGVyLmpzIiwKICAgICAgICAgICAgICJIZWxwU2NyZWVuLmpzIiwKICAgICAgICAgICAgICJJbnNw
ZWN0b3JWaWV3LmpzIiwKICAgICAgICAgICAgICJLZXlib2FyZFNob3J0Y3V0LmpzIiwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsdGVyQ29udHJvbGxl
ci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsdGVyQ29udHJvbGxl
ci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iNjdlMGIzODE5ZjdmNGNjOTdlYWU1ZTNjMGU2ZDJhNGMwOTg2NGY2
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9G
aWx0ZXJDb250cm9sbGVyLmpzCkBAIC0wLDAgKzEsMTEyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAq
ICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLyoqCisgKiBAY29uc3RydWN0b3IK
KyAqLworV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIgPSBmdW5jdGlvbigpIHsKKyAgICB0
aGlzLl9lbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgdGhpcy5f
ZWxlbWVudC5jbGFzc05hbWUgPSAidG9vbGJhci1maWx0ZXIiOworICAgIHRoaXMuX2ZpbHRlckNv
bnRyb2xFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5jcmVhdGVDaGlsZCgic3BhbiIsICJ0b29sYmFy
LWZpbHRlci1jb250cm9sIik7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50ID0gdGhpcy5f
ZmlsdGVyQ29udHJvbEVsZW1lbnQuY3JlYXRlQ2hpbGQoImlucHV0IiwgImZpbHRlciIpOworICAg
IHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5pZCA9ICJmaWx0ZXItZmllbGQiOworICAgIHRoaXMu
X2ZpbHRlcklucHV0RWxlbWVudC5wbGFjZWhvbGRlciA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygi
RmlsdGVyIik7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIo
ImtleWRvd24iLCB0aGlzLl9vbktleURvd24uYmluZCh0aGlzKSwgdHJ1ZSk7CisgICAgdGhpcy5f
ZmlsdGVySW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25JbnB1
dC5iaW5kKHRoaXMpLCBmYWxzZSk7CisgICAgdmFyIGNhbmNlbEJ1dHRvbkVsZW1lbnQgPSB0aGlz
Ll9lbGVtZW50LmNyZWF0ZUNoaWxkKCJidXR0b24iKTsKKyAgICBjYW5jZWxCdXR0b25FbGVtZW50
LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDYW5jZWwiKTsKKyAgICBjYW5j
ZWxCdXR0b25FbGVtZW50LnRhYkluZGV4ID0gLTE7CisgICAgY2FuY2VsQnV0dG9uRWxlbWVudC5h
ZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuY2FuY2VsRmlsdGVyLmJpbmQodGhpcyksIGZh
bHNlKTsKK30KKworV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIucHJvdG90eXBlID0gewor
ICAgIGNhbmNlbEZpbHRlcjogZnVuY3Rpb24oKSB7CisgICAgICAgIFdlYkluc3BlY3Rvci5pbnNw
ZWN0b3JWaWV3LnNldEZvb3RlckVsZW1lbnQobnVsbCk7CisgICAgICAgIHRoaXMucmVzZXRGaWx0
ZXIoKTsKKyAgICB9LAorCisgICAgcmVzZXRGaWx0ZXI6IGZ1bmN0aW9uKCkgeworICAgICAgICB0
aGlzLl9wZXJmb3JtRmlsdGVyKCcnKTsKKyAgICAgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50
LnZhbHVlID0gJyc7CisgICAgfSwKKworICAgIF9wZXJmb3JtRmlsdGVyOiBmdW5jdGlvbihxdWVy
eSkgeworICAgICAgICB2YXIgY3VycmVudFBhbmVsID0gV2ViSW5zcGVjdG9yLmluc3BlY3RvclZp
ZXcuY3VycmVudFBhbmVsKCk7CisgICAgICAgIGlmICh0eXBlb2YgY3VycmVudFBhbmVsLnBlcmZv
cm1GaWx0ZXIgPT09ICdmdW5jdGlvbicpCisgICAgICAgICAgICBjdXJyZW50UGFuZWwucGVyZm9y
bUZpbHRlcihxdWVyeSk7CisgICAgfSwKKworICAgIF9vbktleURvd246IGZ1bmN0aW9uKGV2ZW50
KSB7CisgICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRT
aG9ydGN1dC5LZXlzLkVzYy5jb2RlKSB7CisgICAgICAgICAgICBldmVudC5jb25zdW1lKHRydWUp
OworICAgICAgICAgICAgdGhpcy5jYW5jZWxGaWx0ZXIoKTsKKyAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5zZXRDdXJyZW50Rm9jdXNFbGVtZW50KFdlYkluc3BlY3Rvci5wcmV2aW91c0ZvY3VzRWxl
bWVudCgpKTsKKyAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuY3VycmVudEZvY3VzRWxlbWVu
dCgpID09PSBldmVudC50YXJnZXQpCisgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmN1cnJl
bnRGb2N1c0VsZW1lbnQoKS5zZWxlY3QoKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgfQorCisgICAgICAgIGlmIChpc0VudGVyS2V5KGV2ZW50KSkgeworICAgICAgICAgICAg
aWYgKGV2ZW50LnRhcmdldCA9PT0gdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50KQorICAgICAgICAg
ICAgICAgIHRoaXMuX3BlcmZvcm1GaWx0ZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTsKKyAgICAgICAg
fQorICAgIH0sCisKKyAgICBfb25JbnB1dDogZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgdGhp
cy5fcGVyZm9ybUZpbHRlcihldmVudC50YXJnZXQudmFsdWUpOworICAgIH0sCisKKyAgICBzaG93
RmlsdGVyRmllbGQ6IGZ1bmN0aW9uKCkgeworICAgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9y
Vmlldy5zZXRGb290ZXJFbGVtZW50KHRoaXMuX2VsZW1lbnQpOworICAgICAgICB0aGlzLl9maWx0
ZXJJbnB1dEVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50
LnNlbGVjdCgpOworICAgIH0sCisKKyAgICBoYW5kbGVTaG9ydGN1dDogZnVuY3Rpb24oZXZlbnQp
IHsKKyAgICAgICAgdmFyIGN1cnJlbnRQYW5lbCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3
LmN1cnJlbnRQYW5lbCgpOworICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRQYW5lbC5wZXJmb3Jt
RmlsdGVyICE9PSAiZnVuY3Rpb24iKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICB2YXIgaXNNYWMgPSBXZWJJbnNwZWN0b3IuaXNNYWMoKTsKKyAgICAgICAgaWYgKGV2ZW50Lmtl
eUlkZW50aWZpZXIgPT09ICJVKzAwNDYiKSB7IC8vIEYga2V5CisgICAgICAgICAgICBpZiAoaXNN
YWMpCisgICAgICAgICAgICAgICAgdmFyIGlzRmluZEtleSA9IGV2ZW50Lm1ldGFLZXkgJiYgIWV2
ZW50LmN0cmxLZXkgJiYgIWV2ZW50LmFsdEtleSAmJiAhZXZlbnQuc2hpZnRLZXk7CisgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgdmFyIGlzRmluZEtleSA9IGV2ZW50LmN0cmxLZXkg
JiYgIWV2ZW50Lm1ldGFLZXkgJiYgIWV2ZW50LmFsdEtleSAmJiAhZXZlbnQuc2hpZnRLZXk7Cisg
ICAgICAgICAgICBpZiAoaXNGaW5kS2V5KSB7CisgICAgICAgICAgICAgICAgdGhpcy5zaG93Rmls
dGVyRmllbGQoKTsKKyAgICAgICAgICAgICAgICBldmVudC5jb25zdW1lKHRydWUpOworICAgICAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9LAorfQorCitXZWJJbnNwZWN0b3IuZmlsdGVyQ29udHJvbGxl
ciA9IG51bGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0luc3BlY3RvclZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0lu
c3BlY3RvclZpZXcuanMKaW5kZXggZWZhMDFkNDllMDJjZjNlY2RhNmY3ZWE1MDZjNjgyNzcwZWYx
NmM4NC4uMWJlMWZiY2IyYzM0ZGNiYWUwY2MwOWM4YWZlOWVkZjNmODRhMWNkYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JWaWV3LmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qcwpA
QCAtODYsNiArODYsNyBAQCBXZWJJbnNwZWN0b3IuSW5zcGVjdG9yVmlldy5wcm90b3R5cGUgPSB7
CiAgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3Iu
SW5zcGVjdG9yVmlldy5FdmVudHMuUGFuZWxTZWxlY3RlZCk7CiAgICAgICAgICAgICAvLyBGSVhN
RTogcmVtb3ZlIHNlYXJjaCBjb250cm9sbGVyLgogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNl
YXJjaENvbnRyb2xsZXIuY2FuY2VsU2VhcmNoKCk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
ZmlsdGVyQ29udHJvbGxlci5jYW5jZWxGaWx0ZXIoKTsKICAgICAgICAgfQogICAgICAgICBmb3Ig
KHZhciBwYW5lbE5hbWUgaW4gV2ViSW5zcGVjdG9yLnBhbmVscykgewogICAgICAgICAgICAgaWYg
KFdlYkluc3BlY3Rvci5wYW5lbHNbcGFuZWxOYW1lXSA9PT0geCkgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwppbmRleCAyZWZjMWRh
ZGY3NGYyNjU3YTQxMzk3ZTg2MTI0NTMwOWM1NmFjNTIxLi44YmQ4MGZmMDNjNzM3ODJkYzYzMGM3
NDgwZjdlYzUxNjMyNjAzYjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwpAQCAtNDgsNiArNDgsOCBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0xvZ1ZpZXcgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fbWFpblJlcXVlc3RET01Db250
ZW50VGltZSA9IC0xOwogICAgIHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMgPSB7fTsKICAgICB0aGlz
Ll9tYXRjaGVkUmVxdWVzdHMgPSBbXTsKKyAgICB0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3RzID0g
bmV3IE1hcCgpOworICAgIAogICAgIHRoaXMuX21hdGNoZWRSZXF1ZXN0c01hcCA9IHt9OwogICAg
IHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4ID0gLTE7CiAKQEAgLTM4NCw3ICszODYs
NyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgdmFyIHJlcXVlc3QgPSB0aGlzLl9yZXF1ZXN0c1tpXTsKICAgICAgICAgICAgIHZhciByZXF1
ZXN0VHJhbnNmZXJTaXplID0gKHJlcXVlc3QuY2FjaGVkIHx8ICFyZXF1ZXN0LnRyYW5zZmVyU2l6
ZSkgPyAwIDogcmVxdWVzdC50cmFuc2ZlclNpemU7CiAgICAgICAgICAgICB0cmFuc2ZlclNpemUg
Kz0gcmVxdWVzdFRyYW5zZmVyU2l6ZTsKLSAgICAgICAgICAgIGlmICghdGhpcy5faGlkZGVuQ2F0
ZWdvcmllcy5hbGwgfHwgIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXNbcmVxdWVzdC50eXBlLm5hbWUo
KV0pIHsKKyAgICAgICAgICAgIGlmICgoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8ICF0
aGlzLl9oaWRkZW5DYXRlZ29yaWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSAmJiAhdGhpcy5fZmls
dGVyZWRPdXRSZXF1ZXN0cy5nZXQocmVxdWVzdCkpIHsKICAgICAgICAgICAgICAgICBzZWxlY3Rl
ZFJlcXVlc3RzTnVtYmVyKys7CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUcmFuc2ZlclNpemUg
Kz0gcmVxdWVzdFRyYW5zZmVyU2l6ZTsKICAgICAgICAgICAgIH0KQEAgLTM5NCw3ICszOTYsNyBA
QCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAg
ICAgIG1heFRpbWUgPSByZXF1ZXN0LmVuZFRpbWU7CiAgICAgICAgIH0KICAgICAgICAgdmFyIHRl
eHQgPSAiIjsKLSAgICAgICAgaWYgKHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKSB7CisgICAg
ICAgIGlmIChzZWxlY3RlZFJlcXVlc3RzTnVtYmVyICE9PSByZXF1ZXN0c051bWJlcikgewogICAg
ICAgICAgICAgdGV4dCArPSBTdHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVk
IC8gJWQgcmVxdWVzdHMiKSwgc2VsZWN0ZWRSZXF1ZXN0c051bWJlciwgcmVxdWVzdHNOdW1iZXIp
OwogICAgICAgICAgICAgdGV4dCArPSAiICBcdTI3NTggICIgKyBTdHJpbmcuc3ByaW50ZihXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIiVzIC8gJXMgdHJhbnNmZXJyZWQiKSwgTnVtYmVyLmJ5dGVzVG9T
dHJpbmcoc2VsZWN0ZWRUcmFuc2ZlclNpemUpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0cmFuc2Zl
clNpemUpKTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTQzNyw2ICs0MzksMjAgQEAgV2ViSW5zcGVj
dG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fdXBkYXRlU3Vt
bWFyeUJhcigpOwogICAgIH0sCiAKKyAgICBfZmlsdGVyQnlDb250ZW50OiBmdW5jdGlvbihjb250
ZW50KXsKKyAgICAgICAgZm9yKHZhciBpID0gMDsgaSA8IHRoaXMuX2RhdGFHcmlkLnJvb3ROb2Rl
KCkuY2hpbGRyZW4ubGVuZ3RoOyArK2kpeworICAgICAgICAgICAgdmFyIG5vZGUgPSB0aGlzLl9k
YXRhR3JpZC5yb290Tm9kZSgpLmNoaWxkcmVuW2ldOworICAgICAgICAgICAgbm9kZS5lbGVtZW50
LnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICAgICAgdGhpcy5fZmlsdGVyZWRP
dXRSZXF1ZXN0cy5wdXQodGhpcy5fcmVxdWVzdHNbaV0sIHRydWUpOworICAgICAgICAgICAgaWYg
KG5vZGUuZWxlbWVudC5jaGlsZHJlblswXS5pbm5lclRleHQuaW5kZXhPZihjb250ZW50KSA9PT0g
LTEpeworICAgICAgICAgICAgICAgIG5vZGUuZWxlbWVudC5hZGRTdHlsZUNsYXNzKCJoaWRkZW4i
KTsKKyAgICAgICAgICAgICAgICB0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3RzLnJlbW92ZSh0aGlz
Ll9yZXF1ZXN0c1tpXSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5f
dXBkYXRlU3VtbWFyeUJhcigpOworICAgICAgICB0aGlzLl91cGRhdGVPZmZzY3JlZW5Sb3dzKCk7
CisgICAgICB9LAorICAgIAogICAgIF9maWx0ZXI6IGZ1bmN0aW9uKHRhcmdldCwgc2VsZWN0TXVs
dGlwbGUpCiAgICAgewogICAgICAgICBmdW5jdGlvbiB1bnNlbGVjdEFsbCgpCkBAIC0xMTUyLDYg
KzExNjgsMTQgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAg
ICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJlcXVlc3QobmV3TWF0Y2hlZFJlcXVlc3RJ
bmRleCwgZmFsc2UpOwogICAgIH0sCiAKKyAgICBjYW5jZWxGaWx0ZXI6IGZ1bmN0aW9uKCkgewor
ICAgICAgICB0aGlzLnBlcmZvcm1GaWx0ZXIoJycpOworICAgIH0sCisgICAgCisgICAgcGVyZm9y
bUZpbHRlcjogZnVuY3Rpb24ocXVlcnkpIHsKKyAgICAgICAgdGhpcy5fZmlsdGVyQnlDb250ZW50
KHF1ZXJ5KTsKKyAgICB9LAorICAgIAogICAgIGp1bXBUb1ByZXZpb3VzU2VhcmNoUmVzdWx0OiBm
dW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5n
dGgpCkBAIC0xNDA5LDcgKzE0MzMsMTYgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90
b3R5cGUgPSB7CiAgICAgewogICAgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5wZXJmb3JtU2Vh
cmNoKHNlYXJjaFF1ZXJ5KTsKICAgICB9LAotCisgICAgCisgICAgY2FuY2VsRmlsdGVyOiBmdW5j
dGlvbigpIHsKKyAgICAgICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcuY2FuY2VsRmlsdGVyKCk7Cisg
ICAgfSwKKyAgICAKKyAgICAKKyAgICBwZXJmb3JtRmlsdGVyOiBmdW5jdGlvbihxdWVyeSl7Cisg
ICAgICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3LnBlcmZvcm1GaWx0ZXIocXVlcnkpOworICAgIH0s
CisgICAgCiAgICAganVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKCkKICAgICB7
CiAgICAgICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3Lmp1bXBUb1ByZXZpb3VzU2VhcmNoUmVzdWx0
KCk7CkBAIC0xNzIyLDYgKzE3NTUsOCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9k
ZS5wcm90b3R5cGUgPSB7CiAKICAgICBpc0ZpbHRlcmVkT3V0OiBmdW5jdGlvbigpCiAgICAgewor
ICAgICAgICBpZiAodGhpcy5fcGFyZW50Vmlldy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5nZXQodGhp
cy5fcmVxdWVzdCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgaWYgKCF0aGlz
Ll9wYXJlbnRWaWV3Ll9oaWRkZW5DYXRlZ29yaWVzLmFsbCkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QudHlwZS5uYW1lKCkgaW4gdGhpcy5f
cGFyZW50Vmlldy5faGlkZGVuQ2F0ZWdvcmllczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcwppbmRleCBkMThlMjgwZTFh
NjZkNGEyZmUzMTcwZDgyYjFhOTEzNGM0MmNkMWRlLi44M2VmYjgyM2Y4OTAxMzE1YWE4NWI0ODU1
OGMyOWI0OTM2OGY0N2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzCkBAIC0xNTUsNiArMTU1LDkgQEAgV2ViSW5z
cGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgICAqLwogICAgIGhhbmRs
ZVNob3J0Y3V0OiBmdW5jdGlvbihldmVudCkKICAgICB7CisgICAgICAgIGlmICh0eXBlb2YgV2Vi
SW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkucGVyZm9ybVNlYXJjaCAhPT0g
ImZ1bmN0aW9uIikKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgICAgICB2YXIgaXNN
YWMgPSBXZWJJbnNwZWN0b3IuaXNNYWMoKTsKIAogICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleUlk
ZW50aWZpZXIpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvV2ViS2l0LnFyYyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0
LnFyYwppbmRleCBkNjM4OWM1MmNhY2NkOTVmMTBhMjhhMDI3YzkyZDQzOWI1YjQ3NDFjLi45YzU3
OGU3YzEzMGQzYzY5MDJkMTUwODIzZDdhMjcwMjNkMDc4YjI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCkBAIC02NCw2ICs2NCw3IEBACiAgICAg
PGZpbGU+RmlsZVN5c3RlbU1vZGVsLmpzPC9maWxlPgogICAgIDxmaWxlPkZpbGVTeXN0ZW1WaWV3
LmpzPC9maWxlPgogICAgIDxmaWxlPkZpbGVVdGlscy5qczwvZmlsZT4KKyAgICA8ZmlsZT5GaWx0
ZXJDb250cm9sbGVyLmpzPC9maWxlPgogICAgIDxmaWxlPkZpbHRlcmVkSXRlbVNlbGVjdGlvbkRp
YWxvZy5qczwvZmlsZT4KICAgICA8ZmlsZT5Gb250Vmlldy5qczwvZmlsZT4KICAgICA8ZmlsZT5H
b1RvTGluZURpYWxvZy5qczwvZmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCmluZGV4IDBiYzc5YTFmNTUxNTQyMGViODU1NTBhNzRl
NzY1ZmU3NDBlNmZkMDQuLjVhZWUwNmIwNzcyNDY3NWIxNjYxYzA1YzllZjc4MGJiZTY1NDAyMTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
Lmh0bWwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
aHRtbApAQCAtNjUsNiArNjUsNyBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9IlBhbmVsLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSJJbnNwZWN0b3JWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJBZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIu
anMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkZp
bHRlckNvbnRyb2xsZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9IlRpbWVsaW5lR3JpZC5qcyI+PC9zY3JpcHQ+ICAgIAogICAgIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNvbnRlbnRQcm92aWRlci5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iUmVzb3VyY2UuanMiPjwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5qcwppbmRleCBhMzkyNDZiYjg1MDkxMDhmNTFjNmExNzViNTI5MTY0NmIzOWI2NmU1Li43Yjhl
ODg0NzI2M2JiOTI2ZWJkMDUwMzUwNDAwNzdiMGMwZDhlZTQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwpAQCAtNDgwLDYgKzQ4MCw3IEBA
IFdlYkluc3BlY3Rvci5fZG9Mb2FkZWREb25lV2l0aENhcGFiaWxpdGllcyA9IGZ1bmN0aW9uKCkK
ICAgICBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRE9NU3RvcmFnZURpc3BhdGNoZXIobmV3IFdl
Ykluc3BlY3Rvci5ET01TdG9yYWdlRGlzcGF0Y2hlcigpKTsKIAogICAgIHRoaXMuc2VhcmNoQ29u
dHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlcigpOworICAgIHRoaXMu
ZmlsdGVyQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlcigpOwog
ICAgIHRoaXMuYWR2YW5jZWRTZWFyY2hDb250cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5BZHZh
bmNlZFNlYXJjaENvbnRyb2xsZXIoKTsKICAgICB0aGlzLnNldHRpbmdzQ29udHJvbGxlciA9IG5l
dyBXZWJJbnNwZWN0b3IuU2V0dGluZ3NDb250cm9sbGVyKCk7CiAKQEAgLTc2Miw2ICs3NjMsOCBA
QCBXZWJJbnNwZWN0b3IuZG9jdW1lbnRLZXlEb3duID0gZnVuY3Rpb24oZXZlbnQpCiAgICAgICAg
IH0KICAgICB9CiAKKyAgICBpZiAoV2ViSW5zcGVjdG9yLmZpbHRlckNvbnRyb2xsZXIuaGFuZGxl
U2hvcnRjdXQoZXZlbnQpKQorICAgICAgICByZXR1cm47CiAgICAgaWYgKFdlYkluc3BlY3Rvci5z
ZWFyY2hDb250cm9sbGVyLmhhbmRsZVNob3J0Y3V0KGV2ZW50KSkKICAgICAgICAgcmV0dXJuOwog
ICAgIGlmIChXZWJJbnNwZWN0b3IuYWR2YW5jZWRTZWFyY2hDb250cm9sbGVyLmhhbmRsZVNob3J0
Y3V0KGV2ZW50KSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156897</attachid>
            <date>2012-08-07 02:12:42 -0700</date>
            <delta_ts>2012-08-07 04:36:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120807131217.patch</filename>
            <type>text/plain</type>
            <size>17314</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmY3NTRhNDBjMWM1ODEz
MGNiYzQ0NjUyYjYyMzAxOGUyYzcxYWYwNi4uZGNlNjEwZDY1OGExMjBhZjc5NGY0ZmQ4YjhkN2Zl
M2Q2MmUzZGEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA4LTA2ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgZmVhdHVyZTogaW5zdGVhZCBvZiBzZWFyY2gg
YmFyIHRoZXJlIGlzIG5vdyBmaWx0ZXIgYmFyIGluIG5ldHdvcmsgdGFiLgorICAgICAgICBJdCBh
bGxvd3MgdG8gc2hvdyBvbmx5IHJlcXVlc3RzIHRoYXQgY29udGFpbiBhIHN1YnN0cmluZyBnaXZl
bi4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9GaWx0ZXJDb250cm9sbGVyLmpzOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5jYW5jZWxGaWx0ZXIpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIucHJvdG90eXBlLnJlc2V0RmlsdGVy
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5fcGVy
Zm9ybUZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90
b3R5cGUuX29uS2V5RG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxl
ci5wcm90b3R5cGUuX29uSW5wdXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRy
b2xsZXIucHJvdG90eXBlLnNob3dGaWx0ZXJGaWVsZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUuaGFuZGxlU2hvcnRjdXQpOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qczoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3Jr
TG9nVmlldy5wcm90b3R5cGUuX2ZpbHRlckJ5Q29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9hcHBlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUuY2FuY2VsRmlsdGVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZS5wZXJmb3JtU2Vh
cmNoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlLmNhbmNl
bEZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZS5w
ZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRy
b2xsZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5
cGUuaGFuZGxlU2hvcnRjdXQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0
LnFyYzoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLmRvY3VtZW50S2V5RG93bik6CisKIDIwMTItMDgtMDYgIElseWEgVGlraG9ub3Zza3kg
IDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQ6IFdlYiBJbnNwZWN0
b3I6IHNpbmdsZSBsaW5lIHRlc3QgZml4IGZvciByMTI0NzQ0LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IDVjY2FlYjRiMTA0ZmExYjZhNzk4NWQ2ZGI0MTAyZTgyYThiZjU2ODQuLjEwMTYwMTQ1MDE2YjUz
ZmZkNzFkYjQwNWMxYzU0NjM2Njg0NDBjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTYzMDUsNiAr
NjMwNSw3IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtTW9k
ZWwuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcu
anMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVV0aWxzLmpzJywKKyAg
ICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbHRlckNvbnRyb2xsZXIuanMnLAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsdGVyZWRJdGVtU2VsZWN0aW9uRGlhbG9n
LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ZvbnRWaWV3LmpzJywKICAg
ICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0dvVG9MaW5lRGlhbG9nLmpzJywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNTczMWE4Zjc2
OTJkMTc2YzdiY2Q4ZTllMjlkYTkxNTU5NWE4ZjY0NC4uMzQxMjdmMTA5ODRiODY3NTI5MjA2MTc3
NjMzZmFlZjUyOGM4M2MzZCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKQEAgLTc1NTM4LDYgKzc1NTM4LDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+
CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXEZp
bHRlckNvbnRyb2xsZXIuanMiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXEZpbHRlcmVkSXRlbVNlbGVjdGlv
bkRpYWxvZy5qcyIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9jb21waWxlLWZyb250LWVuZC5weQppbmRleCBiYzA2ODc3ZTJlMWQ0MDUxZWY4NTFjMzg0
MzIzMjI3Njc1NzFhZGE0Li5lNzQyMWVlZWFmZGI2NWRiNjQ5OWIzNzNlNDZkNzI4N2ZlM2I1Njc0
IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQu
cHkKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5CkBA
IC0xMjQsNiArMTI0LDcgQEAgbW9kdWxlcyA9IFsKICAgICAgICAgICAgICJEaWFsb2cuanMiLAog
ICAgICAgICAgICAgIkRyYXdlci5qcyIsCiAgICAgICAgICAgICAiRW1wdHlWaWV3LmpzIiwKKyAg
ICAgICAgICAgICJGaWx0ZXJDb250cm9sbGVyLmpzIiwKICAgICAgICAgICAgICJIZWxwU2NyZWVu
LmpzIiwKICAgICAgICAgICAgICJJbnNwZWN0b3JWaWV3LmpzIiwKICAgICAgICAgICAgICJLZXli
b2FyZFNob3J0Y3V0LmpzIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRmlsdGVyQ29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRmlsdGVyQ29udHJvbGxlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Yzk3NDA3NGY3ZDU2NzI0
NzQ0NTdiOGQwNTFmMmI4ZTE0MTBmNDJlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWx0ZXJDb250cm9sbGVyLmpzCkBAIC0wLDAgKzEsMTIw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworLyoqCisgKiBAY29uc3RydWN0b3IKKyAqLworV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xs
ZXIgPSBmdW5jdGlvbigpIAoreworICAgIHRoaXMuX2VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKKyAgICB0aGlzLl9lbGVtZW50LmNsYXNzTmFtZSA9ICJ0b29sYmFyLWZp
bHRlciI7CisgICAgdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQgPSB0aGlzLl9lbGVtZW50LmNy
ZWF0ZUNoaWxkKCJzcGFuIiwgInRvb2xiYXItZmlsdGVyLWNvbnRyb2wiKTsKKyAgICB0aGlzLl9m
aWx0ZXJJbnB1dEVsZW1lbnQgPSB0aGlzLl9maWx0ZXJDb250cm9sRWxlbWVudC5jcmVhdGVDaGls
ZCgiaW5wdXQiLCAiZmlsdGVyIik7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmlkID0g
ImZpbHRlci1maWVsZCI7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LnBsYWNlaG9sZGVy
ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJGaWx0ZXIiKTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1
dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX29uS2V5RG93bi5iaW5k
KHRoaXMpLCB0cnVlKTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcigiaW5wdXQiLCB0aGlzLl9vbklucHV0LmJpbmQodGhpcyksIGZhbHNlKTsKKyAgICB2YXIg
Y2FuY2VsQnV0dG9uRWxlbWVudCA9IHRoaXMuX2VsZW1lbnQuY3JlYXRlQ2hpbGQoImJ1dHRvbiIp
OworICAgIGNhbmNlbEJ1dHRvbkVsZW1lbnQudGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkNhbmNlbCIpOworICAgIGNhbmNlbEJ1dHRvbkVsZW1lbnQudGFiSW5kZXggPSAtMTsK
KyAgICBjYW5jZWxCdXR0b25FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5j
YW5jZWxGaWx0ZXIuYmluZCh0aGlzKSwgZmFsc2UpOworfQorCitXZWJJbnNwZWN0b3IuRmlsdGVy
Q29udHJvbGxlci5wcm90b3R5cGUgPSB7CisgICAgY2FuY2VsRmlsdGVyOiBmdW5jdGlvbigpIAor
ICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuc2V0Rm9vdGVyRWxlbWVu
dChudWxsKTsKKyAgICAgICAgdGhpcy5yZXNldEZpbHRlcigpOworICAgIH0sCisKKyAgICByZXNl
dEZpbHRlcjogZnVuY3Rpb24oKSAKKyAgICB7CisgICAgICAgIHRoaXMuX3BlcmZvcm1GaWx0ZXIo
JycpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWUgPSAnJzsKKyAgICB9
LAorCisgICAgX3BlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KSAKKyAgICB7CisgICAgICAg
IHZhciBjdXJyZW50UGFuZWwgPSBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFu
ZWwoKTsKKyAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50UGFuZWwucGVyZm9ybUZpbHRlciA9PT0g
J2Z1bmN0aW9uJykKKyAgICAgICAgICAgIGN1cnJlbnRQYW5lbC5wZXJmb3JtRmlsdGVyKHF1ZXJ5
KTsKKyAgICB9LAorCisgICAgX29uS2V5RG93bjogZnVuY3Rpb24oZXZlbnQpIAorICAgIHsKKyAg
ICAgICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
LktleXMuRXNjLmNvZGUpIHsKKyAgICAgICAgICAgIGV2ZW50LmNvbnN1bWUodHJ1ZSk7CisgICAg
ICAgICAgICB0aGlzLmNhbmNlbEZpbHRlcigpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNl
dEN1cnJlbnRGb2N1c0VsZW1lbnQoV2ViSW5zcGVjdG9yLnByZXZpb3VzRm9jdXNFbGVtZW50KCkp
OworICAgICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5jdXJyZW50Rm9jdXNFbGVtZW50KCkgPT09
IGV2ZW50LnRhcmdldCkKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVudEZvY3Vz
RWxlbWVudCgpLnNlbGVjdCgpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9
CisKKyAgICAgICAgaWYgKGlzRW50ZXJLZXkoZXZlbnQpKSB7CisgICAgICAgICAgICBpZiAoZXZl
bnQudGFyZ2V0ID09PSB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQpCisgICAgICAgICAgICAgICAg
dGhpcy5fcGVyZm9ybUZpbHRlcihldmVudC50YXJnZXQudmFsdWUpOworICAgICAgICB9CisgICAg
fSwKKworICAgIF9vbklucHV0OiBmdW5jdGlvbihldmVudCkgCisgICAgeworICAgICAgICB0aGlz
Ll9wZXJmb3JtRmlsdGVyKGV2ZW50LnRhcmdldC52YWx1ZSk7CisgICAgfSwKKworICAgIHNob3dG
aWx0ZXJGaWVsZDogZnVuY3Rpb24oKSAKKyAgICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5pbnNw
ZWN0b3JWaWV3LnNldEZvb3RlckVsZW1lbnQodGhpcy5fZWxlbWVudCk7CisgICAgICAgIHRoaXMu
X2ZpbHRlcklucHV0RWxlbWVudC5mb2N1cygpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVs
ZW1lbnQuc2VsZWN0KCk7CisgICAgfSwKKworICAgIGhhbmRsZVNob3J0Y3V0OiBmdW5jdGlvbihl
dmVudCkgCisgICAgeworICAgICAgICB2YXIgY3VycmVudFBhbmVsID0gV2ViSW5zcGVjdG9yLmlu
c3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCk7CisgICAgICAgIGlmICh0eXBlb2YgY3VycmVudFBh
bmVsLnBlcmZvcm1GaWx0ZXIgIT09ICJmdW5jdGlvbiIpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIHZhciBpc01hYyA9IFdlYkluc3BlY3Rvci5pc01hYygpOworICAgICAgICBp
ZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlUrMDA0NiIpIHsgLy8gRiBrZXkKKyAgICAgICAg
ICAgIGlmIChpc01hYykKKyAgICAgICAgICAgICAgICB2YXIgaXNGaW5kS2V5ID0gZXZlbnQubWV0
YUtleSAmJiAhZXZlbnQuY3RybEtleSAmJiAhZXZlbnQuYWx0S2V5ICYmICFldmVudC5zaGlmdEtl
eTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB2YXIgaXNGaW5kS2V5ID0gZXZl
bnQuY3RybEtleSAmJiAhZXZlbnQubWV0YUtleSAmJiAhZXZlbnQuYWx0S2V5ICYmICFldmVudC5z
aGlmdEtleTsKKyAgICAgICAgICAgIGlmIChpc0ZpbmRLZXkpIHsKKyAgICAgICAgICAgICAgICB0
aGlzLnNob3dGaWx0ZXJGaWVsZCgpOworICAgICAgICAgICAgICAgIGV2ZW50LmNvbnN1bWUodHJ1
ZSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0sCit9CisKK1dlYkluc3BlY3Rvci5maWx0
ZXJDb250cm9sbGVyID0gbnVsbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvSW5zcGVjdG9yVmlldy5qcwppbmRleCBlZmEwMWQ0OWUwMmNmM2VjZGE2ZjdlYTUw
NmM2ODI3NzBlZjE2Yzg0Li4xYmUxZmJjYjJjMzRkY2JhZTBjYzA5YzhhZmU5ZWRmM2Y4NGExY2Rh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3Rv
clZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0
b3JWaWV3LmpzCkBAIC04Niw2ICs4Niw3IEBAIFdlYkluc3BlY3Rvci5JbnNwZWN0b3JWaWV3LnBy
b3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdl
Ykluc3BlY3Rvci5JbnNwZWN0b3JWaWV3LkV2ZW50cy5QYW5lbFNlbGVjdGVkKTsKICAgICAgICAg
ICAgIC8vIEZJWE1FOiByZW1vdmUgc2VhcmNoIGNvbnRyb2xsZXIuCiAgICAgICAgICAgICBXZWJJ
bnNwZWN0b3Iuc2VhcmNoQ29udHJvbGxlci5jYW5jZWxTZWFyY2goKTsKKyAgICAgICAgICAgIFdl
Ykluc3BlY3Rvci5maWx0ZXJDb250cm9sbGVyLmNhbmNlbEZpbHRlcigpOwogICAgICAgICB9CiAg
ICAgICAgIGZvciAodmFyIHBhbmVsTmFtZSBpbiBXZWJJbnNwZWN0b3IucGFuZWxzKSB7CiAgICAg
ICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLnBhbmVsc1twYW5lbE5hbWVdID09PSB4KSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCmlu
ZGV4IDJlZmMxZGFkZjc0ZjI2NTdhNDEzOTdlODYxMjQ1MzA5YzU2YWM1MjEuLmZjMTExYmIxOWEz
NmI2NjFjODlhOTM2MzVhMjI0ZWI3ZTU0NDdkMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCkBAIC00OCw2ICs0OCw4IEBAIFdl
Ykluc3BlY3Rvci5OZXR3b3JrTG9nVmlldyA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLl9tYWluUmVx
dWVzdERPTUNvbnRlbnRUaW1lID0gLTE7CiAgICAgdGhpcy5faGlkZGVuQ2F0ZWdvcmllcyA9IHt9
OwogICAgIHRoaXMuX21hdGNoZWRSZXF1ZXN0cyA9IFtdOworICAgIHRoaXMuX2ZpbHRlcmVkT3V0
UmVxdWVzdHMgPSBuZXcgTWFwKCk7CisgICAgCiAgICAgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzTWFw
ID0ge307CiAgICAgdGhpcy5fY3VycmVudE1hdGNoZWRSZXF1ZXN0SW5kZXggPSAtMTsKIApAQCAt
Mzg0LDcgKzM4Niw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7
CiAgICAgICAgICAgICB2YXIgcmVxdWVzdCA9IHRoaXMuX3JlcXVlc3RzW2ldOwogICAgICAgICAg
ICAgdmFyIHJlcXVlc3RUcmFuc2ZlclNpemUgPSAocmVxdWVzdC5jYWNoZWQgfHwgIXJlcXVlc3Qu
dHJhbnNmZXJTaXplKSA/IDAgOiByZXF1ZXN0LnRyYW5zZmVyU2l6ZTsKICAgICAgICAgICAgIHRy
YW5zZmVyU2l6ZSArPSByZXF1ZXN0VHJhbnNmZXJTaXplOwotICAgICAgICAgICAgaWYgKCF0aGlz
Ll9oaWRkZW5DYXRlZ29yaWVzLmFsbCB8fCAhdGhpcy5faGlkZGVuQ2F0ZWdvcmllc1tyZXF1ZXN0
LnR5cGUubmFtZSgpXSkgeworICAgICAgICAgICAgaWYgKCghdGhpcy5faGlkZGVuQ2F0ZWdvcmll
cy5hbGwgfHwgIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXNbcmVxdWVzdC50eXBlLm5hbWUoKV0pICYm
ICF0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3RzLmdldChyZXF1ZXN0KSkgewogICAgICAgICAgICAg
ICAgIHNlbGVjdGVkUmVxdWVzdHNOdW1iZXIrKzsKICAgICAgICAgICAgICAgICBzZWxlY3RlZFRy
YW5zZmVyU2l6ZSArPSByZXF1ZXN0VHJhbnNmZXJTaXplOwogICAgICAgICAgICAgfQpAQCAtMzk0
LDcgKzM5Niw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICAgICAgbWF4VGltZSA9IHJlcXVlc3QuZW5kVGltZTsKICAgICAgICAgfQogICAg
ICAgICB2YXIgdGV4dCA9ICIiOwotICAgICAgICBpZiAodGhpcy5faGlkZGVuQ2F0ZWdvcmllcy5h
bGwpIHsKKyAgICAgICAgaWYgKHNlbGVjdGVkUmVxdWVzdHNOdW1iZXIgIT09IHJlcXVlc3RzTnVt
YmVyKSB7CiAgICAgICAgICAgICB0ZXh0ICs9IFN0cmluZy5zcHJpbnRmKFdlYkluc3BlY3Rvci5V
SVN0cmluZygiJWQgLyAlZCByZXF1ZXN0cyIpLCBzZWxlY3RlZFJlcXVlc3RzTnVtYmVyLCByZXF1
ZXN0c051bWJlcik7CiAgICAgICAgICAgICB0ZXh0ICs9ICIgIFx1Mjc1OCAgIiArIFN0cmluZy5z
cHJpbnRmKFdlYkluc3BlY3Rvci5VSVN0cmluZygiJXMgLyAlcyB0cmFuc2ZlcnJlZCIpLCBOdW1i
ZXIuYnl0ZXNUb1N0cmluZyhzZWxlY3RlZFRyYW5zZmVyU2l6ZSksIE51bWJlci5ieXRlc1RvU3Ry
aW5nKHRyYW5zZmVyU2l6ZSkpOwogICAgICAgICB9IGVsc2UgewpAQCAtNDM3LDYgKzQzOSwyMiBA
QCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICB0aGlz
Ll91cGRhdGVTdW1tYXJ5QmFyKCk7CiAgICAgfSwKIAorICAgIF9maWx0ZXJCeUNvbnRlbnQ6IGZ1
bmN0aW9uKGNvbnRlbnQpeworICAgICAgICB0aGlzLl9zZWFyY2hSZWdFeHAgPSBjcmVhdGVQbGFp
blRleHRTZWFyY2hSZWdleChjb250ZW50LCAiaSIpOworICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHRoaXMuX2RhdGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHsKKyAg
ICAgICAgICAgIHZhciBub2RlID0gdGhpcy5fZGF0YUdyaWQucm9vdE5vZGUoKS5jaGlsZHJlbltp
XTsKKyAgICAgICAgICAgIG5vZGUuZWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsK
KyAgICAgICAgICAgIHRoaXMuX2ZpbHRlcmVkT3V0UmVxdWVzdHMucHV0KHRoaXMuX3JlcXVlc3Rz
W2ldLCB0cnVlKTsKKyAgICAgICAgICAgIGlmICghX21hdGNoKQorICAgICAgICAgICAgICBpZiAo
dGhpcy5fbWF0Y2hSZXF1ZXN0KGRhdGFHcmlkTm9kZS5fcmVxdWVzdCkgPT09IC0xKSB7CisgICAg
ICAgICAgICAgICAgbm9kZS5lbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAg
ICAgICAgICAgIHRoaXMuX2ZpbHRlcmVkT3V0UmVxdWVzdHMucmVtb3ZlKHRoaXMuX3JlcXVlc3Rz
W2ldKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICB0aGlzLl91cGRhdGVTdW1t
YXJ5QmFyKCk7CisgICAgICAgIHRoaXMuX3VwZGF0ZU9mZnNjcmVlblJvd3MoKTsKKyAgICAgIH0s
CisgICAgCiAgICAgX2ZpbHRlcjogZnVuY3Rpb24odGFyZ2V0LCBzZWxlY3RNdWx0aXBsZSkKICAg
ICB7CiAgICAgICAgIGZ1bmN0aW9uIHVuc2VsZWN0QWxsKCkKQEAgLTExNTIsNiArMTE3MCwxNyBA
QCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICB0aGlz
Ll9oaWdobGlnaHROdGhNYXRjaGVkUmVxdWVzdChuZXdNYXRjaGVkUmVxdWVzdEluZGV4LCBmYWxz
ZSk7CiAgICAgfSwKIAorICAgIGNhbmNlbEZpbHRlcjogZnVuY3Rpb24oKSB7CisgICAgICAgIHRo
aXMucGVyZm9ybUZpbHRlcignJyk7CisgICAgfSwKKyAgICAKKyAgICAvKioKKyAgICAgKiBAcGFy
YW0ge3N0cmluZ30gcXVlcnkKKyAgICAgKi8gICAgCisgICAgcGVyZm9ybUZpbHRlcjogZnVuY3Rp
b24ocXVlcnkpIHsKKyAgICAgICAgdGhpcy5fZmlsdGVyQnlDb250ZW50KHF1ZXJ5KTsKKyAgICB9
LAorICAgIAogICAgIGp1bXBUb1ByZXZpb3VzU2VhcmNoUmVzdWx0OiBmdW5jdGlvbigpCiAgICAg
ewogICAgICAgICBpZiAoIXRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5ndGgpCkBAIC0xNDA1LDEx
ICsxNDM0LDIzIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlID0gewogICAg
ICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5zd2l0Y2hUb0JyaWVmVmlldygpOwogICAgIH0sCiAK
KyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gc2VhcmNoUXVlcnkKKyAgICAgKi8gICAg
CiAgICAgcGVyZm9ybVNlYXJjaDogZnVuY3Rpb24oc2VhcmNoUXVlcnkpCiAgICAgewogICAgICAg
ICB0aGlzLl9uZXR3b3JrTG9nVmlldy5wZXJmb3JtU2VhcmNoKHNlYXJjaFF1ZXJ5KTsKICAgICB9
LAotCisgICAgCisgICAgY2FuY2VsRmlsdGVyOiBmdW5jdGlvbigpIHsKKyAgICAgICAgdGhpcy5f
bmV0d29ya0xvZ1ZpZXcuY2FuY2VsRmlsdGVyKCk7CisgICAgfSwKKyAgICAKKyAgICAKKyAgICBw
ZXJmb3JtRmlsdGVyOiBmdW5jdGlvbihxdWVyeSl7CisgICAgICAgIHRoaXMuX25ldHdvcmtMb2dW
aWV3LnBlcmZvcm1GaWx0ZXIocXVlcnkpOworICAgIH0sCisgICAgCiAgICAganVtcFRvUHJldmlv
dXNTZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMuX25ldHdvcmtM
b2dWaWV3Lmp1bXBUb1ByZXZpb3VzU2VhcmNoUmVzdWx0KCk7CkBAIC0xNzIyLDYgKzE3NjMsOCBA
QCBXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAKICAgICBp
c0ZpbHRlcmVkT3V0OiBmdW5jdGlvbigpCiAgICAgeworICAgICAgICBpZiAodGhpcy5fcGFyZW50
Vmlldy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5nZXQodGhpcy5fcmVxdWVzdCkpCisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICAgICAgaWYgKCF0aGlzLl9wYXJlbnRWaWV3Ll9oaWRkZW5DYXRl
Z29yaWVzLmFsbCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIHRo
aXMuX3JlcXVlc3QudHlwZS5uYW1lKCkgaW4gdGhpcy5fcGFyZW50Vmlldy5faGlkZGVuQ2F0ZWdv
cmllczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2Vh
cmNoQ29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2Vh
cmNoQ29udHJvbGxlci5qcwppbmRleCBkMThlMjgwZTFhNjZkNGEyZmUzMTcwZDgyYjFhOTEzNGM0
MmNkMWRlLi44M2VmYjgyM2Y4OTAxMzE1YWE4NWI0ODU1OGMyOWI0OTM2OGY0N2UxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9s
bGVyLmpzCkBAIC0xNTUsNiArMTU1LDkgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIu
cHJvdG90eXBlID0gewogICAgICAqLwogICAgIGhhbmRsZVNob3J0Y3V0OiBmdW5jdGlvbihldmVu
dCkKICAgICB7CisgICAgICAgIGlmICh0eXBlb2YgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcu
Y3VycmVudFBhbmVsKCkucGVyZm9ybVNlYXJjaCAhPT0gImZ1bmN0aW9uIikKKyAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKwogICAgICAgICB2YXIgaXNNYWMgPSBXZWJJbnNwZWN0b3IuaXNNYWMo
KTsKIAogICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleUlkZW50aWZpZXIpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwppbmRleCBkNjM4OWM1MmNhY2Nk
OTVmMTBhMjhhMDI3YzkyZDQzOWI1YjQ3NDFjLi45YzU3OGU3YzEzMGQzYzY5MDJkMTUwODIzZDdh
MjcwMjNkMDc4YjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1dlYktpdC5xcmMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9X
ZWJLaXQucXJjCkBAIC02NCw2ICs2NCw3IEBACiAgICAgPGZpbGU+RmlsZVN5c3RlbU1vZGVsLmpz
PC9maWxlPgogICAgIDxmaWxlPkZpbGVTeXN0ZW1WaWV3LmpzPC9maWxlPgogICAgIDxmaWxlPkZp
bGVVdGlscy5qczwvZmlsZT4KKyAgICA8ZmlsZT5GaWx0ZXJDb250cm9sbGVyLmpzPC9maWxlPgog
ICAgIDxmaWxlPkZpbHRlcmVkSXRlbVNlbGVjdGlvbkRpYWxvZy5qczwvZmlsZT4KICAgICA8Zmls
ZT5Gb250Vmlldy5qczwvZmlsZT4KICAgICA8ZmlsZT5Hb1RvTGluZURpYWxvZy5qczwvZmlsZT4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
Lmh0bWwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1s
CmluZGV4IDBiYzc5YTFmNTUxNTQyMGViODU1NTBhNzRlNzY1ZmU3NDBlNmZkMDQuLjVhZWUwNmIw
NzcyNDY3NWIxNjYxYzA1YzllZjc4MGJiZTY1NDAyMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbApAQCAtNjUsNiArNjUsNyBAQCBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlBhbmVsLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJJbnNw
ZWN0b3JWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJBZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkZpbHRlckNvbnRyb2xsZXIuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlRpbWVsaW5lR3Jp
ZC5qcyI+PC9zY3JpcHQ+ICAgIAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9IkNvbnRlbnRQcm92aWRlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iUmVzb3VyY2UuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCBhMzkyNDZiYjg1MDkx
MDhmNTFjNmExNzViNTI5MTY0NmIzOWI2NmU1Li42Yzc2YWY1OTE0ZTZkYWZlNzZhOWYxZDUzZmRk
OTQ0YTgxNTFiNGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5qcwpAQCAtNDgwLDYgKzQ4MCw3IEBAIFdlYkluc3BlY3Rvci5fZG9Mb2FkZWRE
b25lV2l0aENhcGFiaWxpdGllcyA9IGZ1bmN0aW9uKCkKICAgICBJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyRE9NU3RvcmFnZURpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5ET01TdG9yYWdlRGlz
cGF0Y2hlcigpKTsKIAogICAgIHRoaXMuc2VhcmNoQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0
b3IuU2VhcmNoQ29udHJvbGxlcigpOworICAgIHRoaXMuZmlsdGVyQ29udHJvbGxlciA9IG5ldyBX
ZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlcigpOwogICAgIHRoaXMuYWR2YW5jZWRTZWFyY2hD
b250cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIoKTsK
ICAgICB0aGlzLnNldHRpbmdzQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuU2V0dGluZ3ND
b250cm9sbGVyKCk7CiAKQEAgLTc2Miw2ICs3NjMsOCBAQCBXZWJJbnNwZWN0b3IuZG9jdW1lbnRL
ZXlEb3duID0gZnVuY3Rpb24oZXZlbnQpCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoV2Vi
SW5zcGVjdG9yLmZpbHRlckNvbnRyb2xsZXIuaGFuZGxlU2hvcnRjdXQoZXZlbnQpKQorICAgICAg
cmV0dXJuOwogICAgIGlmIChXZWJJbnNwZWN0b3Iuc2VhcmNoQ29udHJvbGxlci5oYW5kbGVTaG9y
dGN1dChldmVudCkpCiAgICAgICAgIHJldHVybjsKICAgICBpZiAoV2ViSW5zcGVjdG9yLmFkdmFu
Y2VkU2VhcmNoQ29udHJvbGxlci5oYW5kbGVTaG9ydGN1dChldmVudCkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156911</attachid>
            <date>2012-08-07 04:36:24 -0700</date>
            <delta_ts>2012-08-07 05:51:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120807153559.patch</filename>
            <type>text/plain</type>
            <size>26313</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmY3NTRhNDBjMWM1ODEz
MGNiYzQ0NjUyYjYyMzAxOGUyYzcxYWYwNi4uZGNlNjEwZDY1OGExMjBhZjc5NGY0ZmQ4YjhkN2Zl
M2Q2MmUzZGEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA4LTA2ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgZmVhdHVyZTogaW5zdGVhZCBvZiBzZWFyY2gg
YmFyIHRoZXJlIGlzIG5vdyBmaWx0ZXIgYmFyIGluIG5ldHdvcmsgdGFiLgorICAgICAgICBJdCBh
bGxvd3MgdG8gc2hvdyBvbmx5IHJlcXVlc3RzIHRoYXQgY29udGFpbiBhIHN1YnN0cmluZyBnaXZl
bi4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9GaWx0ZXJDb250cm9sbGVyLmpzOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5jYW5jZWxGaWx0ZXIpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIucHJvdG90eXBlLnJlc2V0RmlsdGVy
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5fcGVy
Zm9ybUZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90
b3R5cGUuX29uS2V5RG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxl
ci5wcm90b3R5cGUuX29uSW5wdXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRy
b2xsZXIucHJvdG90eXBlLnNob3dGaWx0ZXJGaWVsZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUuaGFuZGxlU2hvcnRjdXQpOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qczoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3Jr
TG9nVmlldy5wcm90b3R5cGUuX2ZpbHRlckJ5Q29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9hcHBlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUuY2FuY2VsRmlsdGVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZS5wZXJmb3JtU2Vh
cmNoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlLmNhbmNl
bEZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZS5w
ZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRy
b2xsZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5
cGUuaGFuZGxlU2hvcnRjdXQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0
LnFyYzoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLmRvY3VtZW50S2V5RG93bik6CisKIDIwMTItMDgtMDYgIElseWEgVGlraG9ub3Zza3kg
IDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQ6IFdlYiBJbnNwZWN0
b3I6IHNpbmdsZSBsaW5lIHRlc3QgZml4IGZvciByMTI0NzQ0LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IDVjY2FlYjRiMTA0ZmExYjZhNzk4NWQ2ZGI0MTAyZTgyYThiZjU2ODQuLjEwMTYwMTQ1MDE2YjUz
ZmZkNzFkYjQwNWMxYzU0NjM2Njg0NDBjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTYzMDUsNiAr
NjMwNSw3IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtTW9k
ZWwuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcu
anMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVV0aWxzLmpzJywKKyAg
ICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbHRlckNvbnRyb2xsZXIuanMnLAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsdGVyZWRJdGVtU2VsZWN0aW9uRGlhbG9n
LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ZvbnRWaWV3LmpzJywKICAg
ICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0dvVG9MaW5lRGlhbG9nLmpzJywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNTczMWE4Zjc2
OTJkMTc2YzdiY2Q4ZTllMjlkYTkxNTU5NWE4ZjY0NC4uMzQxMjdmMTA5ODRiODY3NTI5MjA2MTc3
NjMzZmFlZjUyOGM4M2MzZCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKQEAgLTc1NTM4LDYgKzc1NTM4LDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+
CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXEZp
bHRlckNvbnRyb2xsZXIuanMiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXEZpbHRlcmVkSXRlbVNlbGVjdGlv
bkRpYWxvZy5qcyIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9jb21waWxlLWZyb250LWVuZC5weQppbmRleCBiYzA2ODc3ZTJlMWQ0MDUxZWY4NTFjMzg0
MzIzMjI3Njc1NzFhZGE0Li5lNzQyMWVlZWFmZGI2NWRiNjQ5OWIzNzNlNDZkNzI4N2ZlM2I1Njc0
IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQu
cHkKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5CkBA
IC0xMjQsNiArMTI0LDcgQEAgbW9kdWxlcyA9IFsKICAgICAgICAgICAgICJEaWFsb2cuanMiLAog
ICAgICAgICAgICAgIkRyYXdlci5qcyIsCiAgICAgICAgICAgICAiRW1wdHlWaWV3LmpzIiwKKyAg
ICAgICAgICAgICJGaWx0ZXJDb250cm9sbGVyLmpzIiwKICAgICAgICAgICAgICJIZWxwU2NyZWVu
LmpzIiwKICAgICAgICAgICAgICJJbnNwZWN0b3JWaWV3LmpzIiwKICAgICAgICAgICAgICJLZXli
b2FyZFNob3J0Y3V0LmpzIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRmlsdGVyQ29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRmlsdGVyQ29udHJvbGxlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNDVlN2U4MGFkYzdkYzdi
YWM2ODFkZDRlZWI3MTI5OTlmM2IxY2QzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWx0ZXJDb250cm9sbGVyLmpzCkBAIC0wLDAgKzEsMTE2
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworLyoqCisgKiBAY29uc3RydWN0b3IKKyAqLworV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xs
ZXIgPSBmdW5jdGlvbigpIAoreworICAgIHRoaXMuX2VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKKyAgICB0aGlzLl9lbGVtZW50LmNsYXNzTmFtZSA9ICJ0b29sYmFyLWZp
bHRlciI7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5jcmVh
dGVDaGlsZCgiaW5wdXQiLCAiZmlsdGVyIik7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50
LmlkID0gImZpbHRlci1maWVsZCI7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LnBsYWNl
aG9sZGVyID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJGaWx0ZXIiKTsKKyAgICB0aGlzLl9maWx0
ZXJJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX29uS2V5RG93
bi5iaW5kKHRoaXMpLCB0cnVlKTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuYWRkRXZl
bnRMaXN0ZW5lcigiaW5wdXQiLCB0aGlzLl9vbklucHV0LmJpbmQodGhpcyksIGZhbHNlKTsKKyAg
ICB2YXIgY2FuY2VsQnV0dG9uRWxlbWVudCA9IHRoaXMuX2VsZW1lbnQuY3JlYXRlQ2hpbGQoImJ1
dHRvbiIpOworICAgIGNhbmNlbEJ1dHRvbkVsZW1lbnQudGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkNhbmNlbCIpOworICAgIGNhbmNlbEJ1dHRvbkVsZW1lbnQudGFiSW5kZXgg
PSAtMTsKKyAgICBjYW5jZWxCdXR0b25FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
dGhpcy5jYW5jZWxGaWx0ZXIuYmluZCh0aGlzKSwgZmFsc2UpOworfQorCitXZWJJbnNwZWN0b3Iu
RmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CisgICAgY2FuY2VsRmlsdGVyOiBmdW5jdGlv
bigpIAorICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuc2V0Rm9vdGVy
RWxlbWVudChudWxsKTsKKyAgICAgICAgdGhpcy5yZXNldEZpbHRlcigpOworICAgIH0sCisKKyAg
ICByZXNldEZpbHRlcjogZnVuY3Rpb24oKSAKKyAgICB7CisgICAgICAgIHRoaXMuX3BlcmZvcm1G
aWx0ZXIoIiIpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWUgPSAiIjsK
KyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5CisgICAgICov
CisgICAgX3BlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KSAKKyAgICB7CisgICAgICAgIHZh
ciBjdXJyZW50UGFuZWwgPSBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwo
KTsKKyAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50UGFuZWwucGVyZm9ybUZpbHRlciA9PT0gImZ1
bmN0aW9uIikKKyAgICAgICAgICAgIGN1cnJlbnRQYW5lbC5wZXJmb3JtRmlsdGVyKHF1ZXJ5KTsK
KyAgICB9LAorCisgICAgX29uS2V5RG93bjogZnVuY3Rpb24oZXZlbnQpIAorICAgIHsKKyAgICAg
ICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lktl
eXMuRXNjLmNvZGUpIHsKKyAgICAgICAgICAgIGV2ZW50LmNvbnN1bWUodHJ1ZSk7CisgICAgICAg
ICAgICB0aGlzLmNhbmNlbEZpbHRlcigpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNldEN1
cnJlbnRGb2N1c0VsZW1lbnQoV2ViSW5zcGVjdG9yLnByZXZpb3VzRm9jdXNFbGVtZW50KCkpOwor
ICAgICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5jdXJyZW50Rm9jdXNFbGVtZW50KCkgPT09IGV2
ZW50LnRhcmdldCkKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVudEZvY3VzRWxl
bWVudCgpLnNlbGVjdCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSwK
KworICAgIF9vbklucHV0OiBmdW5jdGlvbihldmVudCkgCisgICAgeworICAgICAgICB0aGlzLl9w
ZXJmb3JtRmlsdGVyKGV2ZW50LnRhcmdldC52YWx1ZSk7CisgICAgfSwKKworICAgIHNob3dGaWx0
ZXJGaWVsZDogZnVuY3Rpb24oKSAKKyAgICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0
b3JWaWV3LnNldEZvb3RlckVsZW1lbnQodGhpcy5fZWxlbWVudCk7CisgICAgICAgIHRoaXMuX2Zp
bHRlcklucHV0RWxlbWVudC5mb2N1cygpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1l
bnQuc2VsZWN0KCk7CisgICAgfSwKKworICAgIGhhbmRsZVNob3J0Y3V0OiBmdW5jdGlvbihldmVu
dCkgCisgICAgeworICAgICAgICB2YXIgY3VycmVudFBhbmVsID0gV2ViSW5zcGVjdG9yLmluc3Bl
Y3RvclZpZXcuY3VycmVudFBhbmVsKCk7CisgICAgICAgIGlmICh0eXBlb2YgY3VycmVudFBhbmVs
LnBlcmZvcm1GaWx0ZXIgIT09ICJmdW5jdGlvbiIpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIGlmIChldmVudC5rZXlJZGVudGlmaWVyID09PSAiVSswMDQ2IikgeyAvLyBGIGtl
eQorICAgICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5pc01hYygpKQorICAgICAgICAgICAgICAg
IHZhciBpc0ZpbHRlcktleSA9IGV2ZW50Lm1ldGFLZXkgJiYgIWV2ZW50LmN0cmxLZXkgJiYgIWV2
ZW50LmFsdEtleSAmJiAhZXZlbnQuc2hpZnRLZXk7CisgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgdmFyIGlzRmlsdGVyS2V5ID0gZXZlbnQuY3RybEtleSAmJiAhZXZlbnQubWV0YUtl
eSAmJiAhZXZlbnQuYWx0S2V5ICYmICFldmVudC5zaGlmdEtleTsKKyAgICAgICAgICAgIGlmIChp
c0ZpbHRlcktleSkgeworICAgICAgICAgICAgICAgIHRoaXMuc2hvd0ZpbHRlckZpZWxkKCk7Cisg
ICAgICAgICAgICAgICAgZXZlbnQuY29uc3VtZSh0cnVlKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfSwKK30KKworV2ViSW5zcGVjdG9yLmZpbHRlckNvbnRyb2xsZXIgPSBudWxsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JWaWV3
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JWaWV3Lmpz
CmluZGV4IGVmYTAxZDQ5ZTAyY2YzZWNkYTZmN2VhNTA2YzY4Mjc3MGVmMTZjODQuLjFiZTFmYmNi
MmMzNGRjYmFlMGNjMDljOGFmZTllZGYzZjg0YTFjZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvclZpZXcuanMKQEAgLTg2LDYgKzg2LDcg
QEAgV2ViSW5zcGVjdG9yLkluc3BlY3RvclZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAg
dGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkluc3BlY3RvclZpZXcu
RXZlbnRzLlBhbmVsU2VsZWN0ZWQpOwogICAgICAgICAgICAgLy8gRklYTUU6IHJlbW92ZSBzZWFy
Y2ggY29udHJvbGxlci4KICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zZWFyY2hDb250cm9sbGVy
LmNhbmNlbFNlYXJjaCgpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZpbHRlckNvbnRyb2xs
ZXIuY2FuY2VsRmlsdGVyKCk7CiAgICAgICAgIH0KICAgICAgICAgZm9yICh2YXIgcGFuZWxOYW1l
IGluIFdlYkluc3BlY3Rvci5wYW5lbHMpIHsKICAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3Iu
cGFuZWxzW3BhbmVsTmFtZV0gPT09IHgpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5kZXggMmVmYzFkYWRmNzRmMjY1N2E0MTM5
N2U4NjEyNDUzMDljNTZhYzUyMS4uYzJhOTkzN2Y2ZGFkOWM4ZWZiOTgzNjg1MzlhMjRlOGQyM2Ez
OTI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3
b3JrUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3
b3JrUGFuZWwuanMKQEAgLTQ4LDYgKzQ4LDggQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3
ID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX21haW5SZXF1ZXN0RE9NQ29udGVudFRpbWUgPSAtMTsK
ICAgICB0aGlzLl9oaWRkZW5DYXRlZ29yaWVzID0ge307CiAgICAgdGhpcy5fbWF0Y2hlZFJlcXVl
c3RzID0gW107CisgICAgdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cyA9IG5ldyBNYXAoKTsKKyAg
ICAKICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHNNYXAgPSB7fTsKICAgICB0aGlzLl9jdXJyZW50
TWF0Y2hlZFJlcXVlc3RJbmRleCA9IC0xOwogCkBAIC0xODEsNyArMTgzLDggQEAgV2ViSW5zcGVj
dG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fZGF0YUdyaWQu
ZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsIHRoaXMuX2NvbnRleHRNZW51
LmJpbmQodGhpcyksIHRydWUpOwogICAgICAgICB0aGlzLl9kYXRhR3JpZC5zaG93KHRoaXMuZWxl
bWVudCk7CiAKLSAgICAgICAgLy8gRXZlbnQgbGlzdGVuZXJzIG5lZWQgdG8gYmUgYWRkZWQgX2Fm
dGVyXyB3ZSBhdHRhY2ggdG8gdGhlIGRvY3VtZW50LCBzbyB0aGF0IG93bmVyIGRvY3VtZW50IGlz
IHByb3Blcmx5IHVwZGF0ZS4KKyAgICAgICAgLy8gRXZlbnQgbGlzdGVuZXJzIG5lZWQgdG8gYmUg
YWRkZWQgX2FmdGVyXyB3ZSBhdHRhY2ggdG8gdGhlIGRvY3VtZW50LAorICAgICAgICAvLyBzbyB0
aGF0IG93bmVyIGRvY3VtZW50IGlzIHByb3Blcmx5IHVwZGF0ZS4KICAgICAgICAgdGhpcy5fZGF0
YUdyaWQuYWRkRXZlbnRMaXN0ZW5lcigic29ydGluZyBjaGFuZ2VkIiwgdGhpcy5fc29ydEl0ZW1z
LCB0aGlzKTsKICAgICAgICAgdGhpcy5fZGF0YUdyaWQuYWRkRXZlbnRMaXN0ZW5lcigid2lkdGgg
Y2hhbmdlZCIsIHRoaXMuX3VwZGF0ZURpdmlkZXJzSWZOZWVkZWQsIHRoaXMpOwogICAgICAgICB0
aGlzLl9kYXRhR3JpZC5zY3JvbGxDb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIiwg
dGhpcy5fdXBkYXRlT2Zmc2NyZWVuUm93cy5iaW5kKHRoaXMpKTsKQEAgLTM4NCw3ICszODcsNyBA
QCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAg
dmFyIHJlcXVlc3QgPSB0aGlzLl9yZXF1ZXN0c1tpXTsKICAgICAgICAgICAgIHZhciByZXF1ZXN0
VHJhbnNmZXJTaXplID0gKHJlcXVlc3QuY2FjaGVkIHx8ICFyZXF1ZXN0LnRyYW5zZmVyU2l6ZSkg
PyAwIDogcmVxdWVzdC50cmFuc2ZlclNpemU7CiAgICAgICAgICAgICB0cmFuc2ZlclNpemUgKz0g
cmVxdWVzdFRyYW5zZmVyU2l6ZTsKLSAgICAgICAgICAgIGlmICghdGhpcy5faGlkZGVuQ2F0ZWdv
cmllcy5hbGwgfHwgIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXNbcmVxdWVzdC50eXBlLm5hbWUoKV0p
IHsKKyAgICAgICAgICAgIGlmICgoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8ICF0aGlz
Ll9oaWRkZW5DYXRlZ29yaWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSAmJiAhdGhpcy5fZmlsdGVy
ZWRPdXRSZXF1ZXN0cy5nZXQocmVxdWVzdCkpIHsKICAgICAgICAgICAgICAgICBzZWxlY3RlZFJl
cXVlc3RzTnVtYmVyKys7CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUcmFuc2ZlclNpemUgKz0g
cmVxdWVzdFRyYW5zZmVyU2l6ZTsKICAgICAgICAgICAgIH0KQEAgLTM5NCw3ICszOTcsNyBAQCBX
ZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAg
IG1heFRpbWUgPSByZXF1ZXN0LmVuZFRpbWU7CiAgICAgICAgIH0KICAgICAgICAgdmFyIHRleHQg
PSAiIjsKLSAgICAgICAgaWYgKHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKSB7CisgICAgICAg
IGlmIChzZWxlY3RlZFJlcXVlc3RzTnVtYmVyICE9PSByZXF1ZXN0c051bWJlcikgewogICAgICAg
ICAgICAgdGV4dCArPSBTdHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVkIC8g
JWQgcmVxdWVzdHMiKSwgc2VsZWN0ZWRSZXF1ZXN0c051bWJlciwgcmVxdWVzdHNOdW1iZXIpOwog
ICAgICAgICAgICAgdGV4dCArPSAiICBcdTI3NTggICIgKyBTdHJpbmcuc3ByaW50ZihXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIiVzIC8gJXMgdHJhbnNmZXJyZWQiKSwgTnVtYmVyLmJ5dGVzVG9TdHJp
bmcoc2VsZWN0ZWRUcmFuc2ZlclNpemUpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0cmFuc2ZlclNp
emUpKTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTQzNiw3ICs0MzksNyBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLnBlcmZvcm1TZWFyY2go
bnVsbCk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVN1bW1hcnlCYXIoKTsKICAgICB9LAotCisgICAg
CiAgICAgX2ZpbHRlcjogZnVuY3Rpb24odGFyZ2V0LCBzZWxlY3RNdWx0aXBsZSkKICAgICB7CiAg
ICAgICAgIGZ1bmN0aW9uIHVuc2VsZWN0QWxsKCkKQEAgLTQ2MCw3ICs0NjMsOCBAQCBXZWJJbnNw
ZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgLy8gSWYgQWxs
IHdhc24ndCBzZWxlY3RlZCwgYW5kIG5vdyBpcywgdW5zZWxlY3QgZXZlcnl0aGluZyBlbHNlLgog
ICAgICAgICAgICAgdW5zZWxlY3RBbGwuY2FsbCh0aGlzKTsKICAgICAgICAgfSBlbHNlIHsKLSAg
ICAgICAgICAgIC8vIFNvbWV0aGluZyBvdGhlciB0aGFuIEFsbCBpcyBiZWluZyBzZWxlY3RlZCwg
c28gd2Ugd2FudCB0byB1bnNlbGVjdCBBbGwuCisgICAgICAgICAgICAvLyBTb21ldGhpbmcgb3Ro
ZXIgdGhhbiBBbGwgaXMgYmVpbmcgc2VsZWN0ZWQsIHNvIHdlIHdhbnQgdG8KKyAgICAgICAgICAg
IC8vIHVuc2VsZWN0IEFsbC4KICAgICAgICAgICAgIGlmICh0aGlzLl9maWx0ZXJBbGxFbGVtZW50
Lmhhc1N0eWxlQ2xhc3MoInNlbGVjdGVkIikpIHsKICAgICAgICAgICAgICAgICB0aGlzLl9maWx0
ZXJBbGxFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CiAgICAgICAgICAgICAg
ICAgdGhpcy5faGlkZUNhdGVnb3J5KCJhbGwiKTsKQEAgLTUzMCwxMSArNTM0LDE2IEBAIFdlYklu
c3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47
CiAKICAgICAgICAgaWYgKHRoaXMuY2FsY3VsYXRvci5zdGFydEF0WmVybyB8fCAhdGhpcy5jYWxj
dWxhdG9yLmNvbXB1dGVQZXJjZW50YWdlRnJvbUV2ZW50VGltZSkgewotICAgICAgICAgICAgLy8g
SWYgb3VyIGN1cnJlbnQgc29ydGluZyBtZXRob2Qgc3RhcnRzIGF0IHplcm8sIHRoYXQgbWVhbnMg
aXQgc2hvd3MgYWxsCi0gICAgICAgICAgICAvLyByZXF1ZXN0cyBzdGFydGluZyBhdCB0aGUgc2Ft
ZSBwb2ludCwgYW5kIHNvIG9uTG9hZCBldmVudCBhbmQgRE9NQ29udGVudAotICAgICAgICAgICAg
Ly8gZXZlbnQgbGluZXMgcmVhbGx5IHdvdWxkbid0IG1ha2UgbXVjaCBzZW5zZSBoZXJlLCBzbyBk
b24ndCByZW5kZXIgdGhlbS4KLSAgICAgICAgICAgIC8vIEFkZGl0aW9uYWxseSwgaWYgdGhlIGNh
bGN1bGF0b3IgZG9lc24ndCBoYXZlIHRoZSBjb21wdXRlUGVyY2VudGFnZUZyb21FdmVudFRpbWUK
LSAgICAgICAgICAgIC8vIGZ1bmN0aW9uIGRlZmluZWQsIHdlIGFyZSBwcm9iYWJseSBzb3J0aW5n
IGJ5IHNpemUsIGFuZCBldmVudCB0aW1lcyBhcmVuJ3QgcmVsZXZhbnQKKyAgICAgICAgICAgIC8v
IElmIG91ciBjdXJyZW50IHNvcnRpbmcgbWV0aG9kIHN0YXJ0cyBhdCB6ZXJvLCB0aGF0IG1lYW5z
IGl0IHNob3dzCisgICAgICAgICAgICAvLyBhbGwKKyAgICAgICAgICAgIC8vIHJlcXVlc3RzIHN0
YXJ0aW5nIGF0IHRoZSBzYW1lIHBvaW50LCBhbmQgc28gb25Mb2FkIGV2ZW50IGFuZAorICAgICAg
ICAgICAgLy8gRE9NQ29udGVudAorICAgICAgICAgICAgLy8gZXZlbnQgbGluZXMgcmVhbGx5IHdv
dWxkbid0IG1ha2UgbXVjaCBzZW5zZSBoZXJlLCBzbyBkb24ndCByZW5kZXIKKyAgICAgICAgICAg
IC8vIHRoZW0uCisgICAgICAgICAgICAvLyBBZGRpdGlvbmFsbHksIGlmIHRoZSBjYWxjdWxhdG9y
IGRvZXNuJ3QgaGF2ZSB0aGUKKyAgICAgICAgICAgIC8vIGNvbXB1dGVQZXJjZW50YWdlRnJvbUV2
ZW50VGltZQorICAgICAgICAgICAgLy8gZnVuY3Rpb24gZGVmaW5lZCwgd2UgYXJlIHByb2JhYmx5
IHNvcnRpbmcgYnkgc2l6ZSwgYW5kIGV2ZW50CisgICAgICAgICAgICAvLyB0aW1lcyBhcmVuJ3Qg
cmVsZXZhbnQKICAgICAgICAgICAgIC8vIGluIHRoaXMgY2FzZS4KICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQpAQCAtNjk1LDcgKzcwNCw4IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9n
Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3NvcnRJdGVtcygpOwogICAgICAgICB0
aGlzLl91cGRhdGVTdW1tYXJ5QmFyKCk7CiAgICAgICAgIHRoaXMuX2RhdGFHcmlkLnVwZGF0ZVdp
ZHRocygpOwotICAgICAgICAvLyBGSVhNRTogZXZhbHVhdGUgcGVyZm9ybWFuY2UgaW1wYWN0IG9m
IG1vdmluZyB0aGlzIGJlZm9yZSBhIGNhbGwgdG8gc29ydEl0ZW1zKCkKKyAgICAgICAgLy8gRklY
TUU6IGV2YWx1YXRlIHBlcmZvcm1hbmNlIGltcGFjdCBvZiBtb3ZpbmcgdGhpcyBiZWZvcmUgYSBj
YWxsIHRvCisgICAgICAgIC8vIHNvcnRJdGVtcygpCiAgICAgICAgIGlmICh3YXNTY3JvbGxlZFRv
TGFzdFJvdykKICAgICAgICAgICAgIHRoaXMuX2RhdGFHcmlkLnNjcm9sbFRvTGFzdFJvdygpOwog
ICAgIH0sCkBAIC0xMTM3LDcgKzExNDcsMTAgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3
LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fY2xlYXJTZWFyY2hNYXRjaGVkTGlzdCgpOwog
CiAgICAgICAgIHZhciBjaGlsZE5vZGVzID0gdGhpcy5fZGF0YUdyaWQuZGF0YVRhYmxlQm9keS5j
aGlsZE5vZGVzOwotICAgICAgICB2YXIgcmVxdWVzdE5vZGVzID0gQXJyYXkucHJvdG90eXBlLnNs
aWNlLmNhbGwoY2hpbGROb2RlcywgMCwgY2hpbGROb2Rlcy5sZW5ndGggLSAxKTsgLy8gZHJvcCB0
aGUgZmlsbGVyIHJvdy4KKyAgICAgICAgdmFyIHJlcXVlc3ROb2RlcyA9IEFycmF5LnByb3RvdHlw
ZS5zbGljZS5jYWxsKGNoaWxkTm9kZXMsIDAsIGNoaWxkTm9kZXMubGVuZ3RoIC0gMSk7IC8vIGRy
b3AKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBmaWxsZXIKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyByb3cuCiAKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCByZXF1ZXN0Tm9kZXMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIHZhciBkYXRhR3JpZE5v
ZGUgPSB0aGlzLl9kYXRhR3JpZC5kYXRhR3JpZE5vZGVGcm9tTm9kZShyZXF1ZXN0Tm9kZXNbaV0p
OwpAQCAtMTE1Miw2ICsxMTY1LDI5IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KG5ld01h
dGNoZWRSZXF1ZXN0SW5kZXgsIGZhbHNlKTsKICAgICB9LAogCisgICAgY2FuY2VsRmlsdGVyOiBm
dW5jdGlvbigpIHsKKyAgICAgICAgdGhpcy5wZXJmb3JtRmlsdGVyKCIiKTsKKyAgICB9LAorICAg
IAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBxdWVyeQorICAgICAqLyAgICAKKyAg
ICBwZXJmb3JtRmlsdGVyOiBmdW5jdGlvbihxdWVyeSkgeworICAgICAgICB0aGlzLl9maWx0ZXJl
ZE91dFJlcXVlc3RzLmNsZWFyKCk7CisgICAgICAgIHZhciBmaWx0ZXJSZWdFeHAgPSBjcmVhdGVQ
bGFpblRleHRTZWFyY2hSZWdleChxdWVyeSwgImkiKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCB0aGlzLl9kYXRhR3JpZC5yb290Tm9kZSgpLmNoaWxkcmVuLmxlbmd0aDsgKytpKSB7Cisg
ICAgICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX2RhdGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRyZW5b
aV07CisgICAgICAgICAgICBub2RlLmVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVyZWQt
b3V0Iik7CisgICAgICAgICAgICB2YXIgdCA9IG5vZGUuX3JlcXVlc3QuZGlzcGxheU5hbWUubWF0
Y2goZmlsdGVyUmVnRXhwKTsKKyAgICAgICAgICAgIGlmICghbm9kZS5fcmVxdWVzdC5kaXNwbGF5
TmFtZS5tYXRjaChmaWx0ZXJSZWdFeHApKSB7CisgICAgICAgICAgICAgICAgbm9kZS5lbGVtZW50
LmFkZFN0eWxlQ2xhc3MoImZpbHRlcmVkLW91dCIpOworICAgICAgICAgICAgICAgIHRoaXMuX2Zp
bHRlcmVkT3V0UmVxdWVzdHMucHV0KHRoaXMuX3JlcXVlc3RzW2ldLCB0cnVlKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgICAgICB0aGlzLl91cGRhdGVTdW1tYXJ5QmFyKCk7CisgICAg
ICAgIHRoaXMuX3VwZGF0ZU9mZnNjcmVlblJvd3MoKTsKKyAgICB9LAorICAgIAogICAgIGp1bXBU
b1ByZXZpb3VzU2VhcmNoUmVzdWx0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAoIXRo
aXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5ndGgpCkBAIC0xNDA1LDExICsxNDQxLDIzIEBAIFdlYklu
c3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9uZXR3b3Jr
TG9nVmlldy5zd2l0Y2hUb0JyaWVmVmlldygpOwogICAgIH0sCiAKKyAgICAvKioKKyAgICAgKiBA
cGFyYW0ge3N0cmluZ30gc2VhcmNoUXVlcnkKKyAgICAgKi8gICAgCiAgICAgcGVyZm9ybVNlYXJj
aDogZnVuY3Rpb24oc2VhcmNoUXVlcnkpCiAgICAgewogICAgICAgICB0aGlzLl9uZXR3b3JrTG9n
Vmlldy5wZXJmb3JtU2VhcmNoKHNlYXJjaFF1ZXJ5KTsKICAgICB9LAotCisgICAgCisgICAgY2Fu
Y2VsRmlsdGVyOiBmdW5jdGlvbigpIHsKKyAgICAgICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcuY2Fu
Y2VsRmlsdGVyKCk7CisgICAgfSwKKyAgICAKKyAgICAKKyAgICBwZXJmb3JtRmlsdGVyOiBmdW5j
dGlvbihxdWVyeSl7CisgICAgICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3LnBlcmZvcm1GaWx0ZXIo
cXVlcnkpOworICAgIH0sCisgICAgCiAgICAganVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1
bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3Lmp1bXBUb1ByZXZp
b3VzU2VhcmNoUmVzdWx0KCk7CkBAIC0xNDI1LDcgKzE0NzMsNyBAQCBXZWJJbnNwZWN0b3IuTmV0
d29ya1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcuc2Vh
cmNoQ2FuY2VsZWQoKTsKICAgICB9LAogCi0gICAgLyoqIAorICAgIC8qKgogICAgICAqIEBwYXJh
bSB7V2ViSW5zcGVjdG9yLkNvbnRleHRNZW51fSBjb250ZXh0TWVudQogICAgICAqIEBwYXJhbSB7
T2JqZWN0fSB0YXJnZXQKICAgICAgKi8KQEAgLTE1NTAsOCArMTU5OCwxMCBAQCBXZWJJbnNwZWN0
b3IuTmV0d29ya1RpbWVDYWxjdWxhdG9yLnByb3RvdHlwZSA9IHsKIAogICAgIGNvbXB1dGVQZXJj
ZW50YWdlRnJvbUV2ZW50VGltZTogZnVuY3Rpb24oZXZlbnRUaW1lKQogICAgIHsKLSAgICAgICAg
Ly8gVGhpcyBmdW5jdGlvbiBjb21wdXRlcyBhIHBlcmNlbnRhZ2UgaW4gdGVybXMgb2YgdGhlIHRv
dGFsIGxvYWRpbmcgdGltZQotICAgICAgICAvLyBvZiBhIHNwZWNpZmljIGV2ZW50LiBJZiBzdGFy
dEF0WmVybyBpcyBzZXQsIHRoZW4gdGhpcyBpcyB1c2VsZXNzLCBhbmQgd2UKKyAgICAgICAgLy8g
VGhpcyBmdW5jdGlvbiBjb21wdXRlcyBhIHBlcmNlbnRhZ2UgaW4gdGVybXMgb2YgdGhlIHRvdGFs
IGxvYWRpbmcKKyAgICAgICAgLy8gdGltZQorICAgICAgICAvLyBvZiBhIHNwZWNpZmljIGV2ZW50
LiBJZiBzdGFydEF0WmVybyBpcyBzZXQsIHRoZW4gdGhpcyBpcyB1c2VsZXNzLCBhbmQKKyAgICAg
ICAgLy8gd2UKICAgICAgICAgLy8gd2FudCB0byByZXR1cm4gMC4KICAgICAgICAgaWYgKGV2ZW50
VGltZSAhPT0gLTEgJiYgIXRoaXMuc3RhcnRBdFplcm8pCiAgICAgICAgICAgICByZXR1cm4gKChl
dmVudFRpbWUgLSB0aGlzLm1pbmltdW1Cb3VuZGFyeSkgLyB0aGlzLmJvdW5kYXJ5U3BhbikgKiAx
MDA7CkBAIC0xNzA2LDcgKzE3NTYsOCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9k
ZSA9IGZ1bmN0aW9uKHBhcmVudFZpZXcsIHJlcXVlc3QpCiBXZWJJbnNwZWN0b3IuTmV0d29ya0Rh
dGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgY3JlYXRlQ2VsbHM6IGZ1bmN0aW9uKCkKICAg
ICB7Ci0gICAgICAgIC8vIE91dCBvZiBzaWdodCwgb3V0IG9mIG1pbmQ6IGNyZWF0ZSBub2RlcyBv
ZmZzY3JlZW4gdG8gc2F2ZSBvbiByZW5kZXIgdHJlZSB1cGRhdGUgdGltZXMgd2hlbiBydW5uaW5n
IHVwZGF0ZU9mZnNjcmVlblJvd3MoKQorICAgICAgICAvLyBPdXQgb2Ygc2lnaHQsIG91dCBvZiBt
aW5kOiBjcmVhdGUgbm9kZXMgb2Zmc2NyZWVuIHRvIHNhdmUgb24gcmVuZGVyCisgICAgICAgIC8v
IHRyZWUgdXBkYXRlIHRpbWVzIHdoZW4gcnVubmluZyB1cGRhdGVPZmZzY3JlZW5Sb3dzKCkKICAg
ICAgICAgdGhpcy5fZWxlbWVudC5hZGRTdHlsZUNsYXNzKCJvZmZzY3JlZW4iKTsKICAgICAgICAg
dGhpcy5fbmFtZUNlbGwgPSB0aGlzLl9jcmVhdGVEaXZJblREKCJuYW1lIik7CiAgICAgICAgIHRo
aXMuX21ldGhvZENlbGwgPSB0aGlzLl9jcmVhdGVEaXZJblREKCJtZXRob2QiKTsKQEAgLTE3MjIs
NiArMTc3Myw4IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZSA9
IHsKIAogICAgIGlzRmlsdGVyZWRPdXQ6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAgIGlmICh0
aGlzLl9wYXJlbnRWaWV3Ll9maWx0ZXJlZE91dFJlcXVlc3RzLmdldCh0aGlzLl9yZXF1ZXN0KSkK
KyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBpZiAoIXRoaXMuX3BhcmVudFZpZXcu
X2hpZGRlbkNhdGVnb3JpZXMuYWxsKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAg
ICByZXR1cm4gdGhpcy5fcmVxdWVzdC50eXBlLm5hbWUoKSBpbiB0aGlzLl9wYXJlbnRWaWV3Ll9o
aWRkZW5DYXRlZ29yaWVzOwpAQCAtMTc2Nyw3ICsxODIwLDcgQEAgV2ViSW5zcGVjdG9yLk5ldHdv
cmtEYXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9ncmFwaEVsZW1lbnQu
Y2xhc3NOYW1lID0gIm5ldHdvcmstZ3JhcGgtc2lkZSI7CiAKICAgICAgICAgdGhpcy5fYmFyQXJl
YUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgLy8gICAg
dGhpcy5fYmFyQXJlYUVsZW1lbnQuY2xhc3NOYW1lID0gIm5ldHdvcmstZ3JhcGgtYmFyLWFyZWEg
aGlkZGVuIjsKKyAgICAgICAgLy8gdGhpcy5fYmFyQXJlYUVsZW1lbnQuY2xhc3NOYW1lID0gIm5l
dHdvcmstZ3JhcGgtYmFyLWFyZWEgaGlkZGVuIjsKICAgICAgICAgdGhpcy5fYmFyQXJlYUVsZW1l
bnQuY2xhc3NOYW1lID0gIm5ldHdvcmstZ3JhcGgtYmFyLWFyZWEiOwogICAgICAgICB0aGlzLl9i
YXJBcmVhRWxlbWVudC5yZXF1ZXN0ID0gdGhpcy5fcmVxdWVzdDsKICAgICAgICAgdGhpcy5fZ3Jh
cGhFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2JhckFyZWFFbGVtZW50KTsKQEAgLTE5MjMsNyAr
MTk3Niw4IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgICAgICAgICB0aGlzLl9hcHBlbmRTdWJ0aXRsZSh0aGlzLl9pbml0aWF0b3JDZWxs
LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlZGlyZWN0IikpOwogICAgICAgICAgICAgfSBlbHNl
IGlmIChpbml0aWF0b3IudHlwZSA9PT0gInNjcmlwdCIpIHsKICAgICAgICAgICAgICAgICB2YXIg
dG9wRnJhbWUgPSBpbml0aWF0b3Iuc3RhY2tUcmFjZVswXTsKLSAgICAgICAgICAgICAgICAvLyBU
aGlzIGNvdWxkIGhhcHBlbiB3aGVuIHJlcXVlc3QgbG9hZGluZyB3YXMgdHJpZ2dlcmVkIGJ5IGNv
bnNvbGUuCisgICAgICAgICAgICAgICAgLy8gVGhpcyBjb3VsZCBoYXBwZW4gd2hlbiByZXF1ZXN0
IGxvYWRpbmcgd2FzIHRyaWdnZXJlZCBieQorICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUuCiAg
ICAgICAgICAgICAgICAgaWYgKCF0b3BGcmFtZS51cmwpIHsKICAgICAgICAgICAgICAgICAgICAg
dGhpcy5faW5pdGlhdG9yQ2VsbC5hZGRTdHlsZUNsYXNzKCJuZXR3b3JrLWRpbS1jZWxsIik7CiAg
ICAgICAgICAgICAgICAgICAgIHRoaXMuX2luaXRpYXRvckNlbGwuc2V0VGV4dEFuZFRpdGxlKFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiT3RoZXIiKSk7CkBAIC0yMDQ3LDcgKzIxMDEsOCBAQCBXZWJJ
bnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB2
YXIgcmlnaHRIaWRkZW4gPSB0cnVlOwogCiAgICAgICAgIGlmIChiYXJMZWZ0RWxlbWVudE9mZnNl
dFdpZHRoID09IGJhclJpZ2h0RWxlbWVudE9mZnNldFdpZHRoKSB7Ci0gICAgICAgICAgICAvLyBU
aGUgbGVmdC9yaWdodCBsYWJlbCBkYXRhIGFyZSB0aGUgc2FtZSwgc28gYSBiZWZvcmUvYWZ0ZXIg
bGFiZWwgY2FuIGJlIHJlcGxhY2VkIGJ5IGFuIG9uLWJhciBsYWJlbC4KKyAgICAgICAgICAgIC8v
IFRoZSBsZWZ0L3JpZ2h0IGxhYmVsIGRhdGEgYXJlIHRoZSBzYW1lLCBzbyBhIGJlZm9yZS9hZnRl
ciBsYWJlbAorICAgICAgICAgICAgLy8gY2FuIGJlIHJlcGxhY2VkIGJ5IGFuIG9uLWJhciBsYWJl
bC4KICAgICAgICAgICAgIGlmIChsYWJlbEJlZm9yZSAmJiAhbGFiZWxBZnRlcikKICAgICAgICAg
ICAgICAgICBsZWZ0SGlkZGVuID0gdHJ1ZTsKICAgICAgICAgICAgIGVsc2UgaWYgKGxhYmVsQWZ0
ZXIgJiYgIWxhYmVsQmVmb3JlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzCmluZGV4IGQxOGUyODBlMWE2NmQ0YTJmZTMx
NzBkODJiMWE5MTM0YzQyY2QxZGUuLjgzZWZiODIzZjg5MDEzMTVhYTg1YjQ4NTU4YzI5YjQ5MzY4
ZjQ3ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2Vh
cmNoQ29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1NlYXJjaENvbnRyb2xsZXIuanMKQEAgLTE1NSw2ICsxNTUsOSBAQCBXZWJJbnNwZWN0b3IuU2Vh
cmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgaGFuZGxlU2hvcnRjdXQ6
IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKKyAgICAgICAgaWYgKHR5cGVvZiBXZWJJbnNwZWN0b3Iu
aW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwoKS5wZXJmb3JtU2VhcmNoICE9PSAiZnVuY3Rpb24i
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgICAgIHZhciBpc01hYyA9IFdlYklu
c3BlY3Rvci5pc01hYygpOwogCiAgICAgICAgIHN3aXRjaCAoZXZlbnQua2V5SWRlbnRpZmllcikg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQu
cXJjIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCmluZGV4
IGQ2Mzg5YzUyY2FjY2Q5NWYxMGEyOGEwMjdjOTJkNDM5YjViNDc0MWMuLjljNTc4ZTdjMTMwZDNj
NjkwMmQxNTA4MjNkN2EyNzAyM2QwNzhiMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKQEAgLTY0LDYgKzY0LDcgQEAKICAgICA8ZmlsZT5GaWxl
U3lzdGVtTW9kZWwuanM8L2ZpbGU+CiAgICAgPGZpbGU+RmlsZVN5c3RlbVZpZXcuanM8L2ZpbGU+
CiAgICAgPGZpbGU+RmlsZVV0aWxzLmpzPC9maWxlPgorICAgIDxmaWxlPkZpbHRlckNvbnRyb2xs
ZXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+RmlsdGVyZWRJdGVtU2VsZWN0aW9uRGlhbG9nLmpzPC9m
aWxlPgogICAgIDxmaWxlPkZvbnRWaWV3LmpzPC9maWxlPgogICAgIDxmaWxlPkdvVG9MaW5lRGlh
bG9nLmpzPC9maWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuaHRtbCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmh0bWwKaW5kZXggMGJjNzlhMWY1NTE1NDIwZWI4NTU1MGE3NGU3NjVmZTc0MGU2
ZmQwNC4uNWFlZTA2YjA3NzI0Njc1YjE2NjFjMDVjOWVmNzgwYmJlNjU0MDIxNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCkBAIC02
NSw2ICs2NSw3IEBAIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iUGFuZWwuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2Ny
aXB0IiBzcmM9Ikluc3BlY3RvclZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9IkFkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5qcyI+PC9zY3Jp
cHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRmlsdGVyQ29udHJv
bGxlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iVGltZWxpbmVHcmlkLmpzIj48L3NjcmlwdD4gICAgCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iQ29udGVudFByb3ZpZGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJSZXNvdXJjZS5qcyI+PC9zY3JpcHQ+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4
IGEzOTI0NmJiODUwOTEwOGY1MWM2YTE3NWI1MjkxNjQ2YjM5YjY2ZTUuLjdiOGU4ODQ3MjYzYmI5
MjZlYmQwNTAzNTA0MDA3N2IwYzBkOGVlNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC00ODAsNiArNDgwLDcgQEAgV2ViSW5zcGVj
dG9yLl9kb0xvYWRlZERvbmVXaXRoQ2FwYWJpbGl0aWVzID0gZnVuY3Rpb24oKQogICAgIEluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJET01TdG9yYWdlRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9y
LkRPTVN0b3JhZ2VEaXNwYXRjaGVyKCkpOwogCiAgICAgdGhpcy5zZWFyY2hDb250cm9sbGVyID0g
bmV3IFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyKCk7CisgICAgdGhpcy5maWx0ZXJDb250
cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyKCk7CiAgICAgdGhpcy5h
ZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkFkdmFuY2VkU2VhcmNo
Q29udHJvbGxlcigpOwogICAgIHRoaXMuc2V0dGluZ3NDb250cm9sbGVyID0gbmV3IFdlYkluc3Bl
Y3Rvci5TZXR0aW5nc0NvbnRyb2xsZXIoKTsKIApAQCAtNzYyLDYgKzc2Myw4IEBAIFdlYkluc3Bl
Y3Rvci5kb2N1bWVudEtleURvd24gPSBmdW5jdGlvbihldmVudCkKICAgICAgICAgfQogICAgIH0K
IAorICAgIGlmIChXZWJJbnNwZWN0b3IuZmlsdGVyQ29udHJvbGxlci5oYW5kbGVTaG9ydGN1dChl
dmVudCkpCisgICAgICAgIHJldHVybjsKICAgICBpZiAoV2ViSW5zcGVjdG9yLnNlYXJjaENvbnRy
b2xsZXIuaGFuZGxlU2hvcnRjdXQoZXZlbnQpKQogICAgICAgICByZXR1cm47CiAgICAgaWYgKFdl
Ykluc3BlY3Rvci5hZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuaGFuZGxlU2hvcnRjdXQoZXZlbnQp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3Jr
TG9nVmlldy5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL25ldHdvcmtM
b2dWaWV3LmNzcwppbmRleCBmNDU0MTk0ZTFiMDk2YjIyNDBmMmIzNDBkMjIzY2JkYzhhMmNlMDg3
Li5kMWMxMGQyYmJmZmU0OTMzZGE5NzcxZjg3MzgyMzMzZDY5MGMyYzBjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL25ldHdvcmtMb2dWaWV3LmNzcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL25ldHdvcmtMb2dWaWV3LmNzcwpA
QCAtNDcwLDE1ICs0NzAsMTUgQEAKICAgICBkaXNwbGF5OiBub25lOwogfQogCi0ubmV0d29yay1s
b2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWFsbCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdv
cmstaXRlbSwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItZG9jdW1lbnQgdGFi
bGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtZG9jdW1lbnQsCi0ubmV0d29yay1sb2ct
Z3JpZC5kYXRhLWdyaWQuZmlsdGVyLXN0eWxlc2hlZXQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5u
ZXR3b3JrLXR5cGUtc3R5bGVzaGVldCwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0
ZXItaW1hZ2UgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtaW1hZ2UsCi0ubmV0
d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXNjcmlwdCB0YWJsZS5kYXRhIHRyLnJldmVh
bGVkLm5ldHdvcmstdHlwZS1zY3JpcHQsCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmls
dGVyLXhociB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS14aHIsCi0ubmV0d29y
ay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWZvbnQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5u
ZXR3b3JrLXR5cGUtZm9udCwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItd2Vi
c29ja2V0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXdlYnNvY2tldCwKLS5u
ZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItb3RoZXIgdGFibGUuZGF0YSB0ci5yZXZl
YWxlZC5uZXR3b3JrLXR5cGUtb3RoZXIgeworLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZp
bHRlci1hbGwgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLWl0ZW06bm90KC5maWx0ZXJl
ZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1kb2N1bWVudCB0YWJs
ZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1kb2N1bWVudDpub3QoLmZpbHRlcmVkLW91
dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXN0eWxlc2hlZXQgdGFibGUu
ZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtc3R5bGVzaGVldDpub3QoLmZpbHRlcmVkLW91
dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWltYWdlIHRhYmxlLmRhdGEg
dHIucmV2ZWFsZWQubmV0d29yay10eXBlLWltYWdlOm5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3
b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItc2NyaXB0IHRhYmxlLmRhdGEgdHIucmV2ZWFs
ZWQubmV0d29yay10eXBlLXNjcmlwdDpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ct
Z3JpZC5kYXRhLWdyaWQuZmlsdGVyLXhociB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmst
dHlwZS14aHI6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlk
LmZpbHRlci1mb250IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLWZvbnQ6bm90
KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci13ZWJz
b2NrZXQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtd2Vic29ja2V0Om5vdCgu
ZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItb3RoZXIg
dGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtb3RoZXI6bm90KC5maWx0ZXJlZC1v
dXQpIHsKICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156920</attachid>
            <date>2012-08-07 05:51:40 -0700</date>
            <delta_ts>2012-08-14 03:33:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120807165115.patch</filename>
            <type>text/plain</type>
            <size>18933</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0NzQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmY3NTRhNDBjMWM1ODEz
MGNiYzQ0NjUyYjYyMzAxOGUyYzcxYWYwNi4uZGNlNjEwZDY1OGExMjBhZjc5NGY0ZmQ4YjhkN2Zl
M2Q2MmUzZGEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTA4LTA2ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgZmVhdHVyZTogaW5zdGVhZCBvZiBzZWFyY2gg
YmFyIHRoZXJlIGlzIG5vdyBmaWx0ZXIgYmFyIGluIG5ldHdvcmsgdGFiLgorICAgICAgICBJdCBh
bGxvd3MgdG8gc2hvdyBvbmx5IHJlcXVlc3RzIHRoYXQgY29udGFpbiBhIHN1YnN0cmluZyBnaXZl
bi4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBpbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9GaWx0ZXJDb250cm9sbGVyLmpzOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5jYW5jZWxGaWx0ZXIpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xsZXIucHJvdG90eXBlLnJlc2V0RmlsdGVy
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5GaWx0ZXJDb250cm9sbGVyLnByb3RvdHlwZS5fcGVy
Zm9ybUZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxlci5wcm90
b3R5cGUuX29uS2V5RG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsdGVyQ29udHJvbGxl
ci5wcm90b3R5cGUuX29uSW5wdXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRy
b2xsZXIucHJvdG90eXBlLnNob3dGaWx0ZXJGaWVsZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUuaGFuZGxlU2hvcnRjdXQpOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qczoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3Jr
TG9nVmlldy5wcm90b3R5cGUuX2ZpbHRlckJ5Q29udGVudCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9hcHBlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUuY2FuY2VsRmlsdGVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZS5wZXJmb3JtU2Vh
cmNoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlLmNhbmNl
bEZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZS5w
ZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRy
b2xsZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5
cGUuaGFuZGxlU2hvcnRjdXQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0
LnFyYzoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLmRvY3VtZW50S2V5RG93bik6CisKIDIwMTItMDgtMDYgIElseWEgVGlraG9ub3Zza3kg
IDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQ6IFdlYiBJbnNwZWN0
b3I6IHNpbmdsZSBsaW5lIHRlc3QgZml4IGZvciByMTI0NzQ0LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IDVjY2FlYjRiMTA0ZmExYjZhNzk4NWQ2ZGI0MTAyZTgyYThiZjU2ODQuLjEwMTYwMTQ1MDE2YjUz
ZmZkNzFkYjQwNWMxYzU0NjM2Njg0NDBjZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTYzMDUsNiAr
NjMwNSw3IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlU3lzdGVtTW9k
ZWwuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVN5c3RlbVZpZXcu
anMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVV0aWxzLmpzJywKKyAg
ICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbHRlckNvbnRyb2xsZXIuanMnLAogICAg
ICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvRmlsdGVyZWRJdGVtU2VsZWN0aW9uRGlhbG9n
LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0ZvbnRWaWV3LmpzJywKICAg
ICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0dvVG9MaW5lRGlhbG9nLmpzJywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNTczMWE4Zjc2
OTJkMTc2YzdiY2Q4ZTllMjlkYTkxNTU5NWE4ZjY0NC4uMzQxMjdmMTA5ODRiODY3NTI5MjA2MTc3
NjMzZmFlZjUyOGM4M2MzZCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oKQEAgLTc1NTM4LDYgKzc1NTM4LDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+
CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXEZp
bHRlckNvbnRyb2xsZXIuanMiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXEZpbHRlcmVkSXRlbVNlbGVjdGlv
bkRpYWxvZy5qcyIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9jb21waWxlLWZyb250LWVuZC5weQppbmRleCBiYzA2ODc3ZTJlMWQ0MDUxZWY4NTFjMzg0
MzIzMjI3Njc1NzFhZGE0Li5lNzQyMWVlZWFmZGI2NWRiNjQ5OWIzNzNlNDZkNzI4N2ZlM2I1Njc0
IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQu
cHkKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5CkBA
IC0xMjQsNiArMTI0LDcgQEAgbW9kdWxlcyA9IFsKICAgICAgICAgICAgICJEaWFsb2cuanMiLAog
ICAgICAgICAgICAgIkRyYXdlci5qcyIsCiAgICAgICAgICAgICAiRW1wdHlWaWV3LmpzIiwKKyAg
ICAgICAgICAgICJGaWx0ZXJDb250cm9sbGVyLmpzIiwKICAgICAgICAgICAgICJIZWxwU2NyZWVu
LmpzIiwKICAgICAgICAgICAgICJJbnNwZWN0b3JWaWV3LmpzIiwKICAgICAgICAgICAgICJLZXli
b2FyZFNob3J0Y3V0LmpzIiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRmlsdGVyQ29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRmlsdGVyQ29udHJvbGxlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNDVlN2U4MGFkYzdkYzdi
YWM2ODFkZDRlZWI3MTI5OTlmM2IxY2QzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWx0ZXJDb250cm9sbGVyLmpzCkBAIC0wLDAgKzEsMTE2
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworLyoqCisgKiBAY29uc3RydWN0b3IKKyAqLworV2ViSW5zcGVjdG9yLkZpbHRlckNvbnRyb2xs
ZXIgPSBmdW5jdGlvbigpIAoreworICAgIHRoaXMuX2VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKKyAgICB0aGlzLl9lbGVtZW50LmNsYXNzTmFtZSA9ICJ0b29sYmFyLWZp
bHRlciI7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5jcmVh
dGVDaGlsZCgiaW5wdXQiLCAiZmlsdGVyIik7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50
LmlkID0gImZpbHRlci1maWVsZCI7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LnBsYWNl
aG9sZGVyID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJGaWx0ZXIiKTsKKyAgICB0aGlzLl9maWx0
ZXJJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX29uS2V5RG93
bi5iaW5kKHRoaXMpLCB0cnVlKTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuYWRkRXZl
bnRMaXN0ZW5lcigiaW5wdXQiLCB0aGlzLl9vbklucHV0LmJpbmQodGhpcyksIGZhbHNlKTsKKyAg
ICB2YXIgY2FuY2VsQnV0dG9uRWxlbWVudCA9IHRoaXMuX2VsZW1lbnQuY3JlYXRlQ2hpbGQoImJ1
dHRvbiIpOworICAgIGNhbmNlbEJ1dHRvbkVsZW1lbnQudGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkNhbmNlbCIpOworICAgIGNhbmNlbEJ1dHRvbkVsZW1lbnQudGFiSW5kZXgg
PSAtMTsKKyAgICBjYW5jZWxCdXR0b25FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
dGhpcy5jYW5jZWxGaWx0ZXIuYmluZCh0aGlzKSwgZmFsc2UpOworfQorCitXZWJJbnNwZWN0b3Iu
RmlsdGVyQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CisgICAgY2FuY2VsRmlsdGVyOiBmdW5jdGlv
bigpIAorICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuc2V0Rm9vdGVy
RWxlbWVudChudWxsKTsKKyAgICAgICAgdGhpcy5yZXNldEZpbHRlcigpOworICAgIH0sCisKKyAg
ICByZXNldEZpbHRlcjogZnVuY3Rpb24oKSAKKyAgICB7CisgICAgICAgIHRoaXMuX3BlcmZvcm1G
aWx0ZXIoIiIpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWUgPSAiIjsK
KyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5CisgICAgICov
CisgICAgX3BlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KSAKKyAgICB7CisgICAgICAgIHZh
ciBjdXJyZW50UGFuZWwgPSBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwo
KTsKKyAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50UGFuZWwucGVyZm9ybUZpbHRlciA9PT0gImZ1
bmN0aW9uIikKKyAgICAgICAgICAgIGN1cnJlbnRQYW5lbC5wZXJmb3JtRmlsdGVyKHF1ZXJ5KTsK
KyAgICB9LAorCisgICAgX29uS2V5RG93bjogZnVuY3Rpb24oZXZlbnQpIAorICAgIHsKKyAgICAg
ICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lktl
eXMuRXNjLmNvZGUpIHsKKyAgICAgICAgICAgIGV2ZW50LmNvbnN1bWUodHJ1ZSk7CisgICAgICAg
ICAgICB0aGlzLmNhbmNlbEZpbHRlcigpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNldEN1
cnJlbnRGb2N1c0VsZW1lbnQoV2ViSW5zcGVjdG9yLnByZXZpb3VzRm9jdXNFbGVtZW50KCkpOwor
ICAgICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5jdXJyZW50Rm9jdXNFbGVtZW50KCkgPT09IGV2
ZW50LnRhcmdldCkKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3VycmVudEZvY3VzRWxl
bWVudCgpLnNlbGVjdCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSwK
KworICAgIF9vbklucHV0OiBmdW5jdGlvbihldmVudCkgCisgICAgeworICAgICAgICB0aGlzLl9w
ZXJmb3JtRmlsdGVyKGV2ZW50LnRhcmdldC52YWx1ZSk7CisgICAgfSwKKworICAgIHNob3dGaWx0
ZXJGaWVsZDogZnVuY3Rpb24oKSAKKyAgICB7CisgICAgICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0
b3JWaWV3LnNldEZvb3RlckVsZW1lbnQodGhpcy5fZWxlbWVudCk7CisgICAgICAgIHRoaXMuX2Zp
bHRlcklucHV0RWxlbWVudC5mb2N1cygpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1l
bnQuc2VsZWN0KCk7CisgICAgfSwKKworICAgIGhhbmRsZVNob3J0Y3V0OiBmdW5jdGlvbihldmVu
dCkgCisgICAgeworICAgICAgICB2YXIgY3VycmVudFBhbmVsID0gV2ViSW5zcGVjdG9yLmluc3Bl
Y3RvclZpZXcuY3VycmVudFBhbmVsKCk7CisgICAgICAgIGlmICh0eXBlb2YgY3VycmVudFBhbmVs
LnBlcmZvcm1GaWx0ZXIgIT09ICJmdW5jdGlvbiIpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIGlmIChldmVudC5rZXlJZGVudGlmaWVyID09PSAiVSswMDQ2IikgeyAvLyBGIGtl
eQorICAgICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5pc01hYygpKQorICAgICAgICAgICAgICAg
IHZhciBpc0ZpbHRlcktleSA9IGV2ZW50Lm1ldGFLZXkgJiYgIWV2ZW50LmN0cmxLZXkgJiYgIWV2
ZW50LmFsdEtleSAmJiAhZXZlbnQuc2hpZnRLZXk7CisgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgdmFyIGlzRmlsdGVyS2V5ID0gZXZlbnQuY3RybEtleSAmJiAhZXZlbnQubWV0YUtl
eSAmJiAhZXZlbnQuYWx0S2V5ICYmICFldmVudC5zaGlmdEtleTsKKyAgICAgICAgICAgIGlmIChp
c0ZpbHRlcktleSkgeworICAgICAgICAgICAgICAgIHRoaXMuc2hvd0ZpbHRlckZpZWxkKCk7Cisg
ICAgICAgICAgICAgICAgZXZlbnQuY29uc3VtZSh0cnVlKTsKKyAgICAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgfSwKK30KKworV2ViSW5zcGVjdG9yLmZpbHRlckNvbnRyb2xsZXIgPSBudWxsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JWaWV3
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JWaWV3Lmpz
CmluZGV4IGVmYTAxZDQ5ZTAyY2YzZWNkYTZmN2VhNTA2YzY4Mjc3MGVmMTZjODQuLjFiZTFmYmNi
MmMzNGRjYmFlMGNjMDljOGFmZTllZGYzZjg0YTFjZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvclZpZXcuanMKQEAgLTg2LDYgKzg2LDcg
QEAgV2ViSW5zcGVjdG9yLkluc3BlY3RvclZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAg
dGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkluc3BlY3RvclZpZXcu
RXZlbnRzLlBhbmVsU2VsZWN0ZWQpOwogICAgICAgICAgICAgLy8gRklYTUU6IHJlbW92ZSBzZWFy
Y2ggY29udHJvbGxlci4KICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zZWFyY2hDb250cm9sbGVy
LmNhbmNlbFNlYXJjaCgpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZpbHRlckNvbnRyb2xs
ZXIuY2FuY2VsRmlsdGVyKCk7CiAgICAgICAgIH0KICAgICAgICAgZm9yICh2YXIgcGFuZWxOYW1l
IGluIFdlYkluc3BlY3Rvci5wYW5lbHMpIHsKICAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3Iu
cGFuZWxzW3BhbmVsTmFtZV0gPT09IHgpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5kZXggMmVmYzFkYWRmNzRmMjY1N2E0MTM5
N2U4NjEyNDUzMDljNTZhYzUyMS4uYjk2NzllZjg3NmVlY2FiZDNlM2VkZmVjYzNiMmRjYzllNWQ0
MDVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3
b3JrUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3
b3JrUGFuZWwuanMKQEAgLTQ4LDYgKzQ4LDggQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3
ID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX21haW5SZXF1ZXN0RE9NQ29udGVudFRpbWUgPSAtMTsK
ICAgICB0aGlzLl9oaWRkZW5DYXRlZ29yaWVzID0ge307CiAgICAgdGhpcy5fbWF0Y2hlZFJlcXVl
c3RzID0gW107CisgICAgdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cyA9IG5ldyBNYXAoKTsKKyAg
ICAKICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHNNYXAgPSB7fTsKICAgICB0aGlzLl9jdXJyZW50
TWF0Y2hlZFJlcXVlc3RJbmRleCA9IC0xOwogCkBAIC0zODQsNyArMzg2LDcgQEAgV2ViSW5zcGVj
dG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHZhciByZXF1ZXN0
ID0gdGhpcy5fcmVxdWVzdHNbaV07CiAgICAgICAgICAgICB2YXIgcmVxdWVzdFRyYW5zZmVyU2l6
ZSA9IChyZXF1ZXN0LmNhY2hlZCB8fCAhcmVxdWVzdC50cmFuc2ZlclNpemUpID8gMCA6IHJlcXVl
c3QudHJhbnNmZXJTaXplOwogICAgICAgICAgICAgdHJhbnNmZXJTaXplICs9IHJlcXVlc3RUcmFu
c2ZlclNpemU7Ci0gICAgICAgICAgICBpZiAoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8
ICF0aGlzLl9oaWRkZW5DYXRlZ29yaWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSB7CisgICAgICAg
ICAgICBpZiAoKCF0aGlzLl9oaWRkZW5DYXRlZ29yaWVzLmFsbCB8fCAhdGhpcy5faGlkZGVuQ2F0
ZWdvcmllc1tyZXF1ZXN0LnR5cGUubmFtZSgpXSkgJiYgIXRoaXMuX2ZpbHRlcmVkT3V0UmVxdWVz
dHMuZ2V0KHJlcXVlc3QpKSB7CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRSZXF1ZXN0c051bWJl
cisrOwogICAgICAgICAgICAgICAgIHNlbGVjdGVkVHJhbnNmZXJTaXplICs9IHJlcXVlc3RUcmFu
c2ZlclNpemU7CiAgICAgICAgICAgICB9CkBAIC0zOTQsNyArMzk2LDcgQEAgV2ViSW5zcGVjdG9y
Lk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICBtYXhUaW1lID0g
cmVxdWVzdC5lbmRUaW1lOwogICAgICAgICB9CiAgICAgICAgIHZhciB0ZXh0ID0gIiI7Ci0gICAg
ICAgIGlmICh0aGlzLl9oaWRkZW5DYXRlZ29yaWVzLmFsbCkgeworICAgICAgICBpZiAoc2VsZWN0
ZWRSZXF1ZXN0c051bWJlciAhPT0gcmVxdWVzdHNOdW1iZXIpIHsKICAgICAgICAgICAgIHRleHQg
Kz0gU3RyaW5nLnNwcmludGYoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlZCAvICVkIHJlcXVlc3Rz
IiksIHNlbGVjdGVkUmVxdWVzdHNOdW1iZXIsIHJlcXVlc3RzTnVtYmVyKTsKICAgICAgICAgICAg
IHRleHQgKz0gIiAgXHUyNzU4ICAiICsgU3RyaW5nLnNwcmludGYoV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCIlcyAvICVzIHRyYW5zZmVycmVkIiksIE51bWJlci5ieXRlc1RvU3RyaW5nKHNlbGVjdGVk
VHJhbnNmZXJTaXplKSwgTnVtYmVyLmJ5dGVzVG9TdHJpbmcodHJhbnNmZXJTaXplKSk7CiAgICAg
ICAgIH0gZWxzZSB7CkBAIC0xMTUyLDYgKzExNTQsMjkgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtM
b2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJl
cXVlc3QobmV3TWF0Y2hlZFJlcXVlc3RJbmRleCwgZmFsc2UpOwogICAgIH0sCiAKKyAgICBjYW5j
ZWxGaWx0ZXI6IGZ1bmN0aW9uKCkgeworICAgICAgICB0aGlzLnBlcmZvcm1GaWx0ZXIoIiIpOwor
ICAgIH0sCisgICAgCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5CisgICAg
ICovICAgIAorICAgIHBlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KSB7CisgICAgICAgIHRo
aXMuX2ZpbHRlcmVkT3V0UmVxdWVzdHMuY2xlYXIoKTsKKyAgICAgICAgdmFyIGZpbHRlclJlZ0V4
cCA9IGNyZWF0ZVBsYWluVGV4dFNlYXJjaFJlZ2V4KHF1ZXJ5LCAiaSIpOworICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHRoaXMuX2RhdGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRyZW4ubGVuZ3Ro
OyArK2kpIHsKKyAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5fZGF0YUdyaWQucm9vdE5vZGUo
KS5jaGlsZHJlbltpXTsKKyAgICAgICAgICAgIG5vZGUuZWxlbWVudC5yZW1vdmVTdHlsZUNsYXNz
KCJmaWx0ZXJlZC1vdXQiKTsKKyAgICAgICAgICAgIHZhciB0ID0gbm9kZS5fcmVxdWVzdC5kaXNw
bGF5TmFtZS5tYXRjaChmaWx0ZXJSZWdFeHApOworICAgICAgICAgICAgaWYgKCFub2RlLl9yZXF1
ZXN0LmRpc3BsYXlOYW1lLm1hdGNoKGZpbHRlclJlZ0V4cCkpIHsKKyAgICAgICAgICAgICAgICBu
b2RlLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygiZmlsdGVyZWQtb3V0Iik7CisgICAgICAgICAgICAg
ICAgdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5wdXQodGhpcy5fcmVxdWVzdHNbaV0sIHRydWUp
OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHRoaXMuX3VwZGF0ZVN1bW1hcnlC
YXIoKTsKKyAgICAgICAgdGhpcy5fdXBkYXRlT2Zmc2NyZWVuUm93cygpOworICAgIH0sCisgICAg
CiAgICAganVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAg
ICAgIGlmICghdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCkKQEAgLTE0MDUsMTEgKzE0MzAs
MjIgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRo
aXMuX25ldHdvcmtMb2dWaWV3LnN3aXRjaFRvQnJpZWZWaWV3KCk7CiAgICAgfSwKIAorICAgIC8q
KgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWFyY2hRdWVyeQorICAgICAqLyAgICAKICAgICBw
ZXJmb3JtU2VhcmNoOiBmdW5jdGlvbihzZWFyY2hRdWVyeSkKICAgICB7CiAgICAgICAgIHRoaXMu
X25ldHdvcmtMb2dWaWV3LnBlcmZvcm1TZWFyY2goc2VhcmNoUXVlcnkpOwogICAgIH0sCi0KKyAg
ICAKKyAgICBjYW5jZWxGaWx0ZXI6IGZ1bmN0aW9uKCkgeworICAgICAgICB0aGlzLl9uZXR3b3Jr
TG9nVmlldy5jYW5jZWxGaWx0ZXIoKTsKKyAgICB9LAorICAgIAorICAgIHBlcmZvcm1GaWx0ZXI6
IGZ1bmN0aW9uKHF1ZXJ5KXsKKyAgICAgICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcucGVyZm9ybUZp
bHRlcihxdWVyeSk7CisgICAgfSwKKyAgICAKICAgICBqdW1wVG9QcmV2aW91c1NlYXJjaFJlc3Vs
dDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcuanVtcFRv
UHJldmlvdXNTZWFyY2hSZXN1bHQoKTsKQEAgLTE3MjIsNiArMTc1OCw4IEBAIFdlYkluc3BlY3Rv
ci5OZXR3b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZSA9IHsKIAogICAgIGlzRmlsdGVyZWRPdXQ6
IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAgIGlmICh0aGlzLl9wYXJlbnRWaWV3Ll9maWx0ZXJl
ZE91dFJlcXVlc3RzLmdldCh0aGlzLl9yZXF1ZXN0KSkKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICBpZiAoIXRoaXMuX3BhcmVudFZpZXcuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKQog
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWVzdC50
eXBlLm5hbWUoKSBpbiB0aGlzLl9wYXJlbnRWaWV3Ll9oaWRkZW5DYXRlZ29yaWVzOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVy
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVy
LmpzCmluZGV4IGQxOGUyODBlMWE2NmQ0YTJmZTMxNzBkODJiMWE5MTM0YzQyY2QxZGUuLjgzZWZi
ODIzZjg5MDEzMTVhYTg1YjQ4NTU4YzI5YjQ5MzY4ZjQ3ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKQEAgLTE1
NSw2ICsxNTUsOSBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7
CiAgICAgICovCiAgICAgaGFuZGxlU2hvcnRjdXQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKKyAg
ICAgICAgaWYgKHR5cGVvZiBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwo
KS5wZXJmb3JtU2VhcmNoICE9PSAiZnVuY3Rpb24iKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworCiAgICAgICAgIHZhciBpc01hYyA9IFdlYkluc3BlY3Rvci5pc01hYygpOwogCiAgICAgICAg
IHN3aXRjaCAoZXZlbnQua2V5SWRlbnRpZmllcikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCmluZGV4IGQ2Mzg5YzUyY2FjY2Q5NWYxMGEyOGEwMjdj
OTJkNDM5YjViNDc0MWMuLjljNTc4ZTdjMTMwZDNjNjkwMmQxNTA4MjNkN2EyNzAyM2QwNzhiMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFy
YworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKQEAg
LTY0LDYgKzY0LDcgQEAKICAgICA8ZmlsZT5GaWxlU3lzdGVtTW9kZWwuanM8L2ZpbGU+CiAgICAg
PGZpbGU+RmlsZVN5c3RlbVZpZXcuanM8L2ZpbGU+CiAgICAgPGZpbGU+RmlsZVV0aWxzLmpzPC9m
aWxlPgorICAgIDxmaWxlPkZpbHRlckNvbnRyb2xsZXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+Rmls
dGVyZWRJdGVtU2VsZWN0aW9uRGlhbG9nLmpzPC9maWxlPgogICAgIDxmaWxlPkZvbnRWaWV3Lmpz
PC9maWxlPgogICAgIDxmaWxlPkdvVG9MaW5lRGlhbG9nLmpzPC9maWxlPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKaW5kZXggMGJjNzlh
MWY1NTE1NDIwZWI4NTU1MGE3NGU3NjVmZTc0MGU2ZmQwNC4uNWFlZTA2YjA3NzI0Njc1YjE2NjFj
MDVjOWVmNzgwYmJlNjU0MDIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCkBAIC02NSw2ICs2NSw3IEBAIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iUGFuZWwuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ikluc3BlY3RvclZpZXcuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkFkdmFu
Y2VkU2VhcmNoQ29udHJvbGxlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iRmlsdGVyQ29udHJvbGxlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iVGltZWxpbmVHcmlkLmpzIj48L3Njcmlw
dD4gICAgCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ29udGVudFBy
b3ZpZGVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJSZXNvdXJjZS5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IGEzOTI0NmJiODUwOTEwOGY1MWM2YTE3NWI1
MjkxNjQ2YjM5YjY2ZTUuLjdiOGU4ODQ3MjYzYmI5MjZlYmQwNTAzNTA0MDA3N2IwYzBkOGVlNDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpz
CkBAIC00ODAsNiArNDgwLDcgQEAgV2ViSW5zcGVjdG9yLl9kb0xvYWRlZERvbmVXaXRoQ2FwYWJp
bGl0aWVzID0gZnVuY3Rpb24oKQogICAgIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJET01TdG9y
YWdlRGlzcGF0Y2hlcihuZXcgV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VEaXNwYXRjaGVyKCkpOwog
CiAgICAgdGhpcy5zZWFyY2hDb250cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5TZWFyY2hDb250
cm9sbGVyKCk7CisgICAgdGhpcy5maWx0ZXJDb250cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5G
aWx0ZXJDb250cm9sbGVyKCk7CiAgICAgdGhpcy5hZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIgPSBu
ZXcgV2ViSW5zcGVjdG9yLkFkdmFuY2VkU2VhcmNoQ29udHJvbGxlcigpOwogICAgIHRoaXMuc2V0
dGluZ3NDb250cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5nc0NvbnRyb2xsZXIoKTsK
IApAQCAtNzYyLDYgKzc2Myw4IEBAIFdlYkluc3BlY3Rvci5kb2N1bWVudEtleURvd24gPSBmdW5j
dGlvbihldmVudCkKICAgICAgICAgfQogICAgIH0KIAorICAgIGlmIChXZWJJbnNwZWN0b3IuZmls
dGVyQ29udHJvbGxlci5oYW5kbGVTaG9ydGN1dChldmVudCkpCisgICAgICAgIHJldHVybjsKICAg
ICBpZiAoV2ViSW5zcGVjdG9yLnNlYXJjaENvbnRyb2xsZXIuaGFuZGxlU2hvcnRjdXQoZXZlbnQp
KQogICAgICAgICByZXR1cm47CiAgICAgaWYgKFdlYkluc3BlY3Rvci5hZHZhbmNlZFNlYXJjaENv
bnRyb2xsZXIuaGFuZGxlU2hvcnRjdXQoZXZlbnQpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL25ldHdvcmtMb2dWaWV3LmNzcwppbmRleCBmNDU0MTk0ZTFi
MDk2YjIyNDBmMmIzNDBkMjIzY2JkYzhhMmNlMDg3Li5kMWMxMGQyYmJmZmU0OTMzZGE5NzcxZjg3
MzgyMzMzZDY5MGMyYzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL25ldHdvcmtMb2dWaWV3LmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL25ldHdvcmtMb2dWaWV3LmNzcwpAQCAtNDcwLDE1ICs0NzAsMTUgQEAKICAgICBk
aXNwbGF5OiBub25lOwogfQogCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWFs
bCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstaXRlbSwKLS5uZXR3b3JrLWxvZy1ncmlk
LmRhdGEtZ3JpZC5maWx0ZXItZG9jdW1lbnQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3Jr
LXR5cGUtZG9jdW1lbnQsCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXN0eWxl
c2hlZXQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtc3R5bGVzaGVldCwKLS5u
ZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItaW1hZ2UgdGFibGUuZGF0YSB0ci5yZXZl
YWxlZC5uZXR3b3JrLXR5cGUtaW1hZ2UsCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmls
dGVyLXNjcmlwdCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1zY3JpcHQsCi0u
bmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXhociB0YWJsZS5kYXRhIHRyLnJldmVh
bGVkLm5ldHdvcmstdHlwZS14aHIsCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVy
LWZvbnQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtZm9udCwKLS5uZXR3b3Jr
LWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItd2Vic29ja2V0IHRhYmxlLmRhdGEgdHIucmV2ZWFs
ZWQubmV0d29yay10eXBlLXdlYnNvY2tldCwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5m
aWx0ZXItb3RoZXIgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtb3RoZXIgewor
Lm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1hbGwgdGFibGUuZGF0YSB0ci5yZXZl
YWxlZC5uZXR3b3JrLWl0ZW06bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQu
ZGF0YS1ncmlkLmZpbHRlci1kb2N1bWVudCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmst
dHlwZS1kb2N1bWVudDpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRh
LWdyaWQuZmlsdGVyLXN0eWxlc2hlZXQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5
cGUtc3R5bGVzaGVldDpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRh
LWdyaWQuZmlsdGVyLWltYWdlIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLWlt
YWdlOm5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0
ZXItc2NyaXB0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXNjcmlwdDpub3Qo
LmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXhociB0
YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS14aHI6bm90KC5maWx0ZXJlZC1vdXQp
LAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1mb250IHRhYmxlLmRhdGEgdHIu
cmV2ZWFsZWQubmV0d29yay10eXBlLWZvbnQ6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmst
bG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci13ZWJzb2NrZXQgdGFibGUuZGF0YSB0ci5yZXZlYWxl
ZC5uZXR3b3JrLXR5cGUtd2Vic29ja2V0Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxv
Zy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItb3RoZXIgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3
b3JrLXR5cGUtb3RoZXI6bm90KC5maWx0ZXJlZC1vdXQpIHsKICAgICBkaXNwbGF5OiB0YWJsZS1y
b3c7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158281</attachid>
            <date>2012-08-14 03:33:52 -0700</date>
            <delta_ts>2012-08-14 04:38:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120814143319.patch</filename>
            <type>text/plain</type>
            <size>19175</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2MwZDE0MmE5YTEwZjE3
MjA5NGU0MTJlZDA0Mjg5MmI2ZTgyZDE4Zi4uMjgwYWM0YWZkNGZiMzMzMTg3MTZkZWE2YzFiODRm
YzFhNDAwY2NjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA4LTE0ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgZmVhdHVyZTogdGhlcmUgYXJlIGJvdGggc2Vh
cmNoIGJhciBhbmQgZmlsdGVyIGJhciBpbiBuZXR3b3JrIHRhYncuIE9uZSBjYW4gc3dpY2ggdGhl
bSB1c2luZyBjaGVja2JveCAiZmlsdGVyaW5nIi4KKyAgICAgICAgRmlsZXJpbmcgYWxsb3dzIHRv
IHNob3cgb25seSByZXF1ZXN0cyB0aGF0IGNvbnRhaW4gYSBzdWJzdHJpbmcgZ2l2ZW4uCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvclZpZXcuanM6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLmNhbmNlbEZpbHRlcik6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9wZXJmb3JtRmlsdGVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZS5jYW5jZWxGaWx0
ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUucGVyZm9y
bUZpbHRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVy
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLmhhbmRsZVNob3J0Y3V0KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5zaG93U2Vh
cmNoRmllbGQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90
eXBlLl9vbktleURvd24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIu
cHJvdG90eXBlLl9yZXBsYWNlQWxsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250
cm9sbGVyLnByb3RvdHlwZS5zaG93RmlsdGVyRmllbGQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLl9GaWx0ZXJpbmdFbmFibGVkU3RhdGVDaGFuZ2Vk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5jYW5j
ZWxGaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90
eXBlLl9maWx0ZXJDaGVja2JveENsaWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hD
b250cm9sbGVyLnByb3RvdHlwZS5fb25GaWx0ZXJJbnB1dCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuX29uU2VhcmNoSW5wdXQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLnBhbmVsQ2hhbmdlZCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzOgorICAgICAgICAoLmZp
bHRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3M6
CisgICAgICAgICgubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLW90aGVyIHRhYmxl
LmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLW90aGVyOm5vdCguZmlsdGVyZWQtb3V0KSk6
CisKIDIwMTItMDgtMTQgIFlvc2hpZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbRm9ybXNdIENvcHkgU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRy
b2xJbm5lckVsZW1lbnRzLntjcHAsaH0gdG8gU3BpbkJ1dHRvbkVsZW1lbnQue2NwcCxofQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JWaWV3
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JWaWV3Lmpz
CmluZGV4IGM2NjAxYzdmMTZiZDU3NmI0ZWNjZDA5ZjcxOGY0OTdkMTAwYzVhNWUuLmUxMGYzNTE2
ZjQwMjZjOWVlNjkzZTYwZjllYWQxZjM1NmVmYmYyYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvclZpZXcuanMKQEAgLTgyLDYgKzgyLDcg
QEAgV2ViSW5zcGVjdG9yLkluc3BlY3RvclZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAg
dGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkluc3BlY3RvclZpZXcu
RXZlbnRzLlBhbmVsU2VsZWN0ZWQpOwogICAgICAgICAgICAgLy8gRklYTUU6IHJlbW92ZSBzZWFy
Y2ggY29udHJvbGxlci4KICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zZWFyY2hDb250cm9sbGVy
LmNhbmNlbFNlYXJjaCgpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNlYXJjaENvbnRyb2xs
ZXIucGFuZWxDaGFuZ2VkKCk7CiAgICAgICAgIH0KICAgICAgICAgZm9yICh2YXIgcGFuZWxOYW1l
IGluIFdlYkluc3BlY3Rvci5wYW5lbHMpIHsKICAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3Iu
cGFuZWxzW3BhbmVsTmFtZV0gPT09IHgpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5kZXggMmVmYzFkYWRmNzRmMjY1N2E0MTM5
N2U4NjEyNDUzMDljNTZhYzUyMS4uY2Y1MThkNTkxMTIzNzFhNzBjMjFjMTM3MjI1NGI1MDNiMWVl
N2ZjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3
b3JrUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3
b3JrUGFuZWwuanMKQEAgLTQ4LDYgKzQ4LDggQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3
ID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX21haW5SZXF1ZXN0RE9NQ29udGVudFRpbWUgPSAtMTsK
ICAgICB0aGlzLl9oaWRkZW5DYXRlZ29yaWVzID0ge307CiAgICAgdGhpcy5fbWF0Y2hlZFJlcXVl
c3RzID0gW107CisgICAgdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cyA9IG5ldyBNYXAoKTsKKyAg
ICAKICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHNNYXAgPSB7fTsKICAgICB0aGlzLl9jdXJyZW50
TWF0Y2hlZFJlcXVlc3RJbmRleCA9IC0xOwogCkBAIC0zODQsNyArMzg2LDcgQEAgV2ViSW5zcGVj
dG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHZhciByZXF1ZXN0
ID0gdGhpcy5fcmVxdWVzdHNbaV07CiAgICAgICAgICAgICB2YXIgcmVxdWVzdFRyYW5zZmVyU2l6
ZSA9IChyZXF1ZXN0LmNhY2hlZCB8fCAhcmVxdWVzdC50cmFuc2ZlclNpemUpID8gMCA6IHJlcXVl
c3QudHJhbnNmZXJTaXplOwogICAgICAgICAgICAgdHJhbnNmZXJTaXplICs9IHJlcXVlc3RUcmFu
c2ZlclNpemU7Ci0gICAgICAgICAgICBpZiAoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8
ICF0aGlzLl9oaWRkZW5DYXRlZ29yaWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSB7CisgICAgICAg
ICAgICBpZiAoKCF0aGlzLl9oaWRkZW5DYXRlZ29yaWVzLmFsbCB8fCAhdGhpcy5faGlkZGVuQ2F0
ZWdvcmllc1tyZXF1ZXN0LnR5cGUubmFtZSgpXSkgJiYgIXRoaXMuX2ZpbHRlcmVkT3V0UmVxdWVz
dHMuZ2V0KHJlcXVlc3QpKSB7CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRSZXF1ZXN0c051bWJl
cisrOwogICAgICAgICAgICAgICAgIHNlbGVjdGVkVHJhbnNmZXJTaXplICs9IHJlcXVlc3RUcmFu
c2ZlclNpemU7CiAgICAgICAgICAgICB9CkBAIC0zOTQsNyArMzk2LDcgQEAgV2ViSW5zcGVjdG9y
Lk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICBtYXhUaW1lID0g
cmVxdWVzdC5lbmRUaW1lOwogICAgICAgICB9CiAgICAgICAgIHZhciB0ZXh0ID0gIiI7Ci0gICAg
ICAgIGlmICh0aGlzLl9oaWRkZW5DYXRlZ29yaWVzLmFsbCkgeworICAgICAgICBpZiAoc2VsZWN0
ZWRSZXF1ZXN0c051bWJlciAhPT0gcmVxdWVzdHNOdW1iZXIpIHsKICAgICAgICAgICAgIHRleHQg
Kz0gU3RyaW5nLnNwcmludGYoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlZCAvICVkIHJlcXVlc3Rz
IiksIHNlbGVjdGVkUmVxdWVzdHNOdW1iZXIsIHJlcXVlc3RzTnVtYmVyKTsKICAgICAgICAgICAg
IHRleHQgKz0gIiAgXHUyNzU4ICAiICsgU3RyaW5nLnNwcmludGYoV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCIlcyAvICVzIHRyYW5zZmVycmVkIiksIE51bWJlci5ieXRlc1RvU3RyaW5nKHNlbGVjdGVk
VHJhbnNmZXJTaXplKSwgTnVtYmVyLmJ5dGVzVG9TdHJpbmcodHJhbnNmZXJTaXplKSk7CiAgICAg
ICAgIH0gZWxzZSB7CkBAIC0xMTUyLDYgKzExNTQsMzkgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtM
b2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJl
cXVlc3QobmV3TWF0Y2hlZFJlcXVlc3RJbmRleCwgZmFsc2UpOwogICAgIH0sCiAKKyAgICBjYW5j
ZWxGaWx0ZXI6IGZ1bmN0aW9uKCkgeworICAgICAgICB0aGlzLnBlcmZvcm1GaWx0ZXIoIiIpOwor
ICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gcXVlcnkKKyAgICAgKi8K
KyAgICBfcGVyZm9ybUZpbHRlcjogZnVuY3Rpb24ocXVlcnkpIAorICAgIHsKKyAgICAgICAgdmFy
IGN1cnJlbnRQYW5lbCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgp
OworICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRQYW5lbC5wZXJmb3JtRmlsdGVyID09PSAiZnVu
Y3Rpb24iKQorICAgICAgICAgICAgY3VycmVudFBhbmVsLnBlcmZvcm1GaWx0ZXIocXVlcnkpOwor
ICAgIH0sCisgICAgCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5CisgICAg
ICovICAgIAorICAgIHBlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KSB7CisgICAgICAgIHRo
aXMuX2ZpbHRlcmVkT3V0UmVxdWVzdHMuY2xlYXIoKTsKKyAgICAgICAgdmFyIGZpbHRlclJlZ0V4
cCA9IGNyZWF0ZVBsYWluVGV4dFNlYXJjaFJlZ2V4KHF1ZXJ5LCAiaSIpOworICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHRoaXMuX2RhdGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRyZW4ubGVuZ3Ro
OyArK2kpIHsKKyAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5fZGF0YUdyaWQucm9vdE5vZGUo
KS5jaGlsZHJlbltpXTsKKyAgICAgICAgICAgIG5vZGUuZWxlbWVudC5yZW1vdmVTdHlsZUNsYXNz
KCJmaWx0ZXJlZC1vdXQiKTsKKyAgICAgICAgICAgIHZhciB0ID0gbm9kZS5fcmVxdWVzdC5kaXNw
bGF5TmFtZS5tYXRjaChmaWx0ZXJSZWdFeHApOworICAgICAgICAgICAgaWYgKCFub2RlLl9yZXF1
ZXN0LmRpc3BsYXlOYW1lLm1hdGNoKGZpbHRlclJlZ0V4cCkpIHsKKyAgICAgICAgICAgICAgICBu
b2RlLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygiZmlsdGVyZWQtb3V0Iik7CisgICAgICAgICAgICAg
ICAgdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5wdXQodGhpcy5fcmVxdWVzdHNbaV0sIHRydWUp
OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHRoaXMuX3VwZGF0ZVN1bW1hcnlC
YXIoKTsKKyAgICAgICAgdGhpcy5fdXBkYXRlT2Zmc2NyZWVuUm93cygpOworICAgIH0sCisgICAg
CiAgICAganVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAg
ICAgIGlmICghdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCkKQEAgLTE0MDUsMTEgKzE0NDAs
MjYgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRo
aXMuX25ldHdvcmtMb2dWaWV3LnN3aXRjaFRvQnJpZWZWaWV3KCk7CiAgICAgfSwKIAorICAgIC8q
KgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWFyY2hRdWVyeQorICAgICAqLyAgICAKICAgICBw
ZXJmb3JtU2VhcmNoOiBmdW5jdGlvbihzZWFyY2hRdWVyeSkKICAgICB7CiAgICAgICAgIHRoaXMu
X25ldHdvcmtMb2dWaWV3LnBlcmZvcm1TZWFyY2goc2VhcmNoUXVlcnkpOwogICAgIH0sCi0KKyAg
ICAKKyAgICBjYW5jZWxGaWx0ZXI6IGZ1bmN0aW9uKCkgeworICAgICAgICB0aGlzLl9uZXR3b3Jr
TG9nVmlldy5jYW5jZWxGaWx0ZXIoKTsKKyAgICB9LAorICAgIAorICAgIAorICAgIC8qKgorICAg
ICAqIEBwYXJhbSB7c3RyaW5nfSBxdWVyeQorICAgICAqLyAgICAKKyAgICBwZXJmb3JtRmlsdGVy
OiBmdW5jdGlvbihxdWVyeSl7CisgICAgICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3LnBlcmZvcm1G
aWx0ZXIocXVlcnkpOworICAgIH0sCisgICAgCiAgICAganVtcFRvUHJldmlvdXNTZWFyY2hSZXN1
bHQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3Lmp1bXBU
b1ByZXZpb3VzU2VhcmNoUmVzdWx0KCk7CkBAIC0xNzIyLDYgKzE3NzIsOCBAQCBXZWJJbnNwZWN0
b3IuTmV0d29ya0RhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAKICAgICBpc0ZpbHRlcmVkT3V0
OiBmdW5jdGlvbigpCiAgICAgeworICAgICAgICBpZiAodGhpcy5fcGFyZW50Vmlldy5fZmlsdGVy
ZWRPdXRSZXF1ZXN0cy5nZXQodGhpcy5fcmVxdWVzdCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICAgICAgaWYgKCF0aGlzLl9wYXJlbnRWaWV3Ll9oaWRkZW5DYXRlZ29yaWVzLmFsbCkK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVlc3Qu
dHlwZS5uYW1lKCkgaW4gdGhpcy5fcGFyZW50Vmlldy5faGlkZGVuQ2F0ZWdvcmllczsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxl
ci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxl
ci5qcwppbmRleCBkMThlMjgwZTFhNjZkNGEyZmUzMTcwZDgyYjFhOTEzNGM0MmNkMWRlLi4zOTA0
MWY5MzY3ZDdlZDUxNTE5ZWY5YmQ5Y2Q3YmI2NTQyOTkxNjE1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzCkBAIC00
MiwxMSArNDIsMTkgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIgPSBmdW5jdGlvbigp
CiAgICAgdGhpcy5fc2Vjb25kUm93RWxlbWVudCA9IHRoaXMuX2VsZW1lbnQuY3JlYXRlQ2hpbGQo
InRyIiwgImhpZGRlbiIpOwogCiAgICAgLy8gQ29sdW1uIDEKLSAgICB0aGlzLl9zZWFyY2hDb250
cm9sRWxlbWVudCA9IHRoaXMuX2ZpcnN0Um93RWxlbWVudC5jcmVhdGVDaGlsZCgidGQiKS5jcmVh
dGVDaGlsZCgic3BhbiIsICJ0b29sYmFyLXNlYXJjaC1jb250cm9sIik7CisgICAgdmFyIHNlYXJj
aENvbnRyb2xFbGVtZW50Q29sdW1uID0gdGhpcy5fZmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxk
KCJ0ZCIpOyAKKyAgICB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudCA9IHNlYXJjaENvbnRyb2xF
bGVtZW50Q29sdW1uLmNyZWF0ZUNoaWxkKCJzcGFuIiwgInRvb2xiYXItc2VhcmNoLWNvbnRyb2wi
KTsKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQgPSB0aGlzLl9zZWFyY2hDb250cm9sRWxl
bWVudC5jcmVhdGVDaGlsZCgiaW5wdXQiLCAic2VhcmNoLXJlcGxhY2UiKTsKICAgICB0aGlzLl9z
ZWFyY2hJbnB1dEVsZW1lbnQuaWQgPSAic2VhcmNoLWlucHV0LWZpZWxkIjsKICAgICB0aGlzLl9z
ZWFyY2hJbnB1dEVsZW1lbnQucGxhY2Vob2xkZXIgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZp
bmQiKTsKIAorICAgIHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50ID0gc2VhcmNoQ29udHJvbEVs
ZW1lbnRDb2x1bW4uY3JlYXRlQ2hpbGQoInNwYW4iLCAidG9vbGJhci1zZWFyY2gtY29udHJvbCIp
OworICAgIHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIp
OworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudCA9IHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVt
ZW50LmNyZWF0ZUNoaWxkKCJpbnB1dCIsICJmaWx0ZXIiKTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1
dEVsZW1lbnQuaWQgPSAiZmlsdGVyLWlucHV0LWZpZWxkIjsKKyAgICB0aGlzLl9maWx0ZXJJbnB1
dEVsZW1lbnQucGxhY2Vob2xkZXIgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZpbHRlciIpOwor
ICAKKwogICAgIHRoaXMuX21hdGNoZXNFbGVtZW50ID0gdGhpcy5fc2VhcmNoQ29udHJvbEVsZW1l
bnQuY3JlYXRlQ2hpbGQoImxhYmVsIiwgInNlYXJjaC1yZXN1bHRzLW1hdGNoZXMiKTsKICAgICB0
aGlzLl9tYXRjaGVzRWxlbWVudC5zZXRBdHRyaWJ1dGUoImZvciIsICJzZWFyY2gtaW5wdXQtZmll
bGQiKTsKIApAQCAtNjIsOSArNzAsMTIgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIg
PSBmdW5jdGlvbigpCiAKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fb25TZWFyY2hGaWVsZE1hbnVhbEZvY3VzLmJpbmQodGhp
cyksIGZhbHNlKTsgLy8gd2hlbiB0aGUgc2VhcmNoIGZpZWxkIGlzIG1hbnVhbGx5IHNlbGVjdGVk
CiAgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24i
LCB0aGlzLl9vbktleURvd24uYmluZCh0aGlzKSwgdHJ1ZSk7Ci0gICAgdGhpcy5fc2VhcmNoSW5w
dXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25JbnB1dC5iaW5kKHRo
aXMpLCBmYWxzZSk7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVu
ZXIoImtleWRvd24iLCB0aGlzLl9vbktleURvd24uYmluZCh0aGlzKSwgdHJ1ZSk7CisgICAgdGhp
cy5fZmlsdGVySW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25G
aWx0ZXJJbnB1dC5iaW5kKHRoaXMpLCBmYWxzZSk7CisgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25TZWFyY2hJbnB1dC5iaW5kKHRo
aXMpLCBmYWxzZSk7CiAKICAgICB0aGlzLl9yZXBsYWNlSW5wdXRFbGVtZW50ID0gdGhpcy5fc2Vj
b25kUm93RWxlbWVudC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgiaW5wdXQiLCAic2Vh
cmNoLXJlcGxhY2UgdG9vbGJhci1yZXBsYWNlLWNvbnRyb2wiKTsKKyAgICB0aGlzLl9zZWNvbmRS
b3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpOwogICAgIHRoaXMuX3JlcGxhY2VJbnB1dEVsZW1l
bnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX29uS2V5RG93bi5iaW5kKHRoaXMp
LCB0cnVlKTsKICAgICB0aGlzLl9yZXBsYWNlSW5wdXRFbGVtZW50LnBsYWNlaG9sZGVyID0gV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJSZXBsYWNlIik7CiAKQEAgLTEwNCwxMCArMTE1LDI1IEBAIFdl
Ykluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX3JlcGxh
Y2VMYWJlbEVsZW1lbnQuc2V0QXR0cmlidXRlKCJmb3IiLCAic2VhcmNoLXJlcGxhY2UtdHJpZ2dl
ciIpOwogCiAgICAgLy8gQ29sdW1uIDUKKyAgICB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5l
ciA9IHRoaXMuX2ZpcnN0Um93RWxlbWVudC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgi
c3BhbiIpOworCisgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50ID0gdGhpcy5fZmlsdGVy
Q2hlY2tib3hDb250YWluZXIuY3JlYXRlQ2hpbGQoImlucHV0Iik7CisgICAgdGhpcy5fZmlsdGVy
Q2hlY2tib3hFbGVtZW50LnR5cGUgPSAiY2hlY2tib3giOworICAgIHRoaXMuX2ZpbHRlckNoZWNr
Ym94RWxlbWVudC5pZCA9ICJmaWx0ZXItdHJpZ2dlciI7CisgICAgdGhpcy5fZmlsdGVyQ2hlY2ti
b3hFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fZmlsdGVyQ2hlY2tib3hD
bGljay5iaW5kKHRoaXMpLCBmYWxzZSk7CisgIAorCisgICAgdGhpcy5fZmlsdGVyTGFiZWxFbGVt
ZW50ID0gdGhpcy5fZmlsdGVyQ2hlY2tib3hDb250YWluZXIuY3JlYXRlQ2hpbGQoImxhYmVsIik7
CisgICAgdGhpcy5fZmlsdGVyTGFiZWxFbGVtZW50LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJGaWx0ZXIiKTsKKyAgICB0aGlzLl9maWx0ZXJMYWJlbEVsZW1lbnQuc2V0QXR0
cmlidXRlKCJmb3IiLCAiZmlsdGVyLXRyaWdnZXIiKTsKKworICAgIC8vIENvbHVtbiA2CiAgICAg
dmFyIGNhbmNlbEJ1dHRvbkVsZW1lbnQgPSB0aGlzLl9maXJzdFJvd0VsZW1lbnQuY3JlYXRlQ2hp
bGQoInRkIikuY3JlYXRlQ2hpbGQoImJ1dHRvbiIpOwogICAgIGNhbmNlbEJ1dHRvbkVsZW1lbnQu
dGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNhbmNlbCIpOwogICAgIGNhbmNl
bEJ1dHRvbkVsZW1lbnQudGFiSW5kZXggPSAtMTsKICAgICBjYW5jZWxCdXR0b25FbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5jYW5jZWxTZWFyY2guYmluZCh0aGlzKSwgZmFs
c2UpOworICAgIHRoaXMuX2lzRmlsdGVyaW5nRW5hYmxlZCA9IGZhbHNlOworICAgIHRoaXMuX3Nl
YXJjaE9yRmlsdGVyUXVlcnkgPSAiIjsKIH0KIAogV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xs
ZXIucHJvdG90eXBlID0gewpAQCAtMTcxLDYgKzE5NywxNyBAQCBXZWJJbnNwZWN0b3IuU2VhcmNo
Q29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
ICAgIGJyZWFrOwogCisgICAgICAgICAgICBjYXNlICJVKzAwNTEiOiAvLyBRIGtleQorICAgICAg
ICAgICAgICAgIGlmIChpc01hYykKKyAgICAgICAgICAgICAgICAgICAgdmFyIGlzRmluZEtleSA9
IGV2ZW50Lm1ldGFLZXkgJiYgIWV2ZW50LmN0cmxLZXkgJiYgIWV2ZW50LmFsdEtleSAmJiAhZXZl
bnQuc2hpZnRLZXk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB2
YXIgaXNGaW5kS2V5ID0gZXZlbnQuY3RybEtleSAmJiAhZXZlbnQubWV0YUtleSAmJiAhZXZlbnQu
YWx0S2V5ICYmICFldmVudC5zaGlmdEtleTsKKyAgICAgICAgICAgICAgICBpZiAoaXNGaW5kS2V5
KSB7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5jaGVj
a2VkIF49IHRydWU7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94Q2xp
Y2soKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisKICAgICAg
ICAgICAgIGNhc2UgIkYzIjoKICAgICAgICAgICAgICAgICBpZiAoIWlzTWFjKSB7CiAgICAgICAg
ICAgICAgICAgICAgIHRoaXMuc2hvd1NlYXJjaEZpZWxkKCk7CkBAIC0yMjEsNyArMjU4LDE2IEBA
IFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKIAogICAgIHNob3dT
ZWFyY2hGaWVsZDogZnVuY3Rpb24oKQogICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl9lbGVtZW50
Lmhhc1N0eWxlQ2xhc3MoImhpZGRlbiIpICYmIHRoaXMuX2lzRmlsdGVyaW5nRW5hYmxlZCkgewor
ICAgICAgICAgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmZvY3VzKCk7CisgICAgICAgICAg
ICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuc2VsZWN0KCk7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KICAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuc2V0Rm9vdGVy
RWxlbWVudCh0aGlzLl9lbGVtZW50KTsKKyAgICAgICAgdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1l
bnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMuX3NlYXJjaENvbnRyb2xF
bGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICB0aGlzLl9zZWFyY2hJ
bnB1dEVsZW1lbnQudmFsdWUgPSB0aGlzLl9zZWFyY2hPckZpbHRlclF1ZXJ5OworICAgICAgICB0
aGlzLnJlc2V0U2VhcmNoKCk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVJlcGxhY2VWaXNpYmlsaXR5
KCk7CiAgICAgICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5mb2N1cygpOwogICAgICAgICB0
aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuc2VsZWN0KCk7CkBAIC0yNTEsNiArMjk3LDcgQEAgV2Vi
SW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgICAgICBpZiAoZXZl
bnQua2V5Q29kZSA9PT0gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5cy5Fc2MuY29k
ZSkgewogICAgICAgICAgICAgZXZlbnQuY29uc3VtZSh0cnVlKTsKICAgICAgICAgICAgIHRoaXMu
Y2FuY2VsU2VhcmNoKCk7CisgICAgICAgICAgICB0aGlzLmNhbmNlbEZpbHRlcigpOwogICAgICAg
ICAgICAgV2ViSW5zcGVjdG9yLnNldEN1cnJlbnRGb2N1c0VsZW1lbnQoV2ViSW5zcGVjdG9yLnBy
ZXZpb3VzRm9jdXNFbGVtZW50KCkpOwogICAgICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5jdXJy
ZW50Rm9jdXNFbGVtZW50KCkgPT09IGV2ZW50LnRhcmdldCkKICAgICAgICAgICAgICAgICBXZWJJ
bnNwZWN0b3IuY3VycmVudEZvY3VzRWxlbWVudCgpLnNlbGVjdCgpOwpAQCAtMjY1LDExICszMTIs
NiBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAg
IH0KICAgICB9LAogCi0gICAgX29uSW5wdXQ6IGZ1bmN0aW9uKGV2ZW50KQotICAgIHsKLSAgICAg
ICAgdGhpcy5fcGVyZm9ybVNlYXJjaChldmVudC50YXJnZXQudmFsdWUsIGZhbHNlLCBmYWxzZSk7
Ci0gICAgfSwKLQogICAgIF9vbk5leHRCdXR0b25TZWFyY2g6IGZ1bmN0aW9uKGV2ZW50KQogICAg
IHsKICAgICAgICAgLy8gU2ltdWxhdGUgbmV4dCBzZWFyY2ggb24gc2VhcmNoLW5hdmlnYXRpb24t
YnV0dG9uIGNsaWNrLgpAQCAtMzY0LDYgKzQwNiw4MCBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29u
dHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgY3VycmVudFBhbmVsID0g
V2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCk7CiAgICAgICAgIGN1cnJl
bnRQYW5lbC5yZXBsYWNlQWxsV2l0aCh0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUsIHRo
aXMuX3JlcGxhY2VJbnB1dEVsZW1lbnQudmFsdWUpOworICAgIH0sCisgIAorICAgIHNob3dGaWx0
ZXJGaWVsZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fZmlsdGVyQ29udHJvbEVs
ZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMuX3NlYXJjaENv
bnRyb2xFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICBXZWJJbnNwZWN0
b3IuaW5zcGVjdG9yVmlldy5zZXRGb290ZXJFbGVtZW50KHRoaXMuX2VsZW1lbnQpOworICAgICAg
ICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWUgPSB0aGlzLl9zZWFyY2hPckZpbHRlclF1
ZXJ5OworICAgICAgICB0aGlzLl91cGRhdGVSZXBsYWNlVmlzaWJpbGl0eSgpOworICAgICAgICB0
aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgdGhpcy5fZmlsdGVySW5w
dXRFbGVtZW50LnNlbGVjdCgpOworICAgIH0sCisgIAorICAgIF9GaWx0ZXJpbmdFbmFibGVkU3Rh
dGVDaGFuZ2VkOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAodGhpcy5faXNGaWx0ZXJp
bmdFbmFibGVkKSB7CisgICAgICAgICAgICB0aGlzLmNhbmNlbFNlYXJjaCgpOworICAgICAgICAg
ICAgdGhpcy5zaG93RmlsdGVyRmllbGQoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IHRoaXMuY2FuY2VsRmlsdGVyKCk7CisgICAgICAgICAgICB0aGlzLnNob3dTZWFyY2hGaWVsZCgp
OworICAgICAgICB9CisgICAgfSwKKyAgCisgICAgY2FuY2VsRmlsdGVyOiBmdW5jdGlvbigpCisg
ICAgeworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWUgID0gIiI7CisgICAg
ICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1GaWx0
ZXIoIiIpOworICAgICAgICB0aGlzLl9maWx0ZXJDaGVja2JveEVsZW1lbnQuY2hlY2tlZCA9IGZh
bHNlOworICAgICAgICB0aGlzLl9pc0ZpbHRlcmluZ0VuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAg
V2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuc2V0Rm9vdGVyRWxlbWVudChudWxsKTsKKyAgICB9
LAorICAKKyAgICBfZmlsdGVyQ2hlY2tib3hDbGljazogZnVuY3Rpb24oKQorICAgIHsKKyAgICAg
ICAgdGhpcy5faXNGaWx0ZXJpbmdFbmFibGVkID0gIXRoaXMuX2lzRmlsdGVyaW5nRW5hYmxlZDsK
KyAgICAgICAgdGhpcy5fRmlsdGVyaW5nRW5hYmxlZFN0YXRlQ2hhbmdlZCgpOworICAgICAgICBp
ZiAodGhpcy5faXNGaWx0ZXJpbmdFbmFibGVkKSB7CisgICAgICAgICAgICB0aGlzLl9maWx0ZXJJ
bnB1dEVsZW1lbnQudmFsdWUgPSB0aGlzLl9zZWFyY2hPckZpbHRlclF1ZXJ5OworICAgICAgICAg
ICAgdGhpcy5jYW5jZWxTZWFyY2goKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0
b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1GaWx0ZXIodGhpcy5fZmlsdGVySW5wdXRFbGVt
ZW50LnZhbHVlKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmICghdGhpcy5faXNGaWx0ZXJp
bmdFbmFibGVkKSB7CisgICAgICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUg
PSB0aGlzLl9zZWFyY2hPckZpbHRlclF1ZXJ5OworICAgICAgICAgICAgdGhpcy5fcGVyZm9ybVNl
YXJjaCh0aGlzLl9zZWFyY2hPckZpbHRlclF1ZXJ5LCBmYWxzZSwgZmFsc2UpOworICAgICAgICB9
CisgICAgICAgICAgCisgICAgfSwKKyAgCisgICAgX29uRmlsdGVySW5wdXQ6IGZ1bmN0aW9uKGV2
ZW50KQorICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBh
bmVsKCkucGVyZm9ybUZpbHRlcihldmVudC50YXJnZXQudmFsdWUpOworICAgICAgICB0aGlzLl9z
ZWFyY2hPckZpbHRlclF1ZXJ5ID0gZXZlbnQudGFyZ2V0LnZhbHVlOworICAgIH0sCisgIAorICAg
IF9vblNlYXJjaElucHV0OiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHRoaXMuX3Bl
cmZvcm1TZWFyY2goZXZlbnQudGFyZ2V0LnZhbHVlLCBmYWxzZSwgZmFsc2UpOworICAgICAgICB0
aGlzLl9zZWFyY2hPckZpbHRlclF1ZXJ5ID0gZXZlbnQudGFyZ2V0LnZhbHVlOworICAgIH0sCisg
IAorICAgIHBhbmVsQ2hhbmdlZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fZmls
dGVyQ2hlY2tib3hFbGVtZW50LmNoZWNrZWQgPSBmYWxzZTsKKyAgICAgICAgdGhpcy5faXNGaWx0
ZXJpbmdFbmFibGVkID0gZmFsc2U7CisgICAgICAgIHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50
LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1l
bnQudmFsdWUgPSAiIjsKKyAgICAgICAgdGhpcy5fc2VhcmNoQ29udHJvbEVsZW1lbnQucmVtb3Zl
U3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3
LnNldEZvb3RlckVsZW1lbnQobnVsbCk7CisgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94Q29u
dGFpbmVyLmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICBpZiAodHlwZW9mIFdlYklu
c3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1GaWx0ZXIgPT09ICJm
dW5jdGlvbiIpIHsKKyAgICAgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94Q29udGFpbmVyLnJl
bW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICAgICAgdGhpcy5jYW5jZWxGaWx0ZXIo
KTsKKyAgICAgICAgfQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCmluZGV4IGVhNWVlZGM0NGU1MmY0NTZmZTYwNGNkODE5
MzE0OTM2YzJjNTY1OWYuLjQxMWZlMWI5MDRhOTA3MDA4NTc0Y2ViYjU3OTAxYmVhMDI4YzBlNzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9y
LmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5j
c3MKQEAgLTI3MSw2ICsyNzEsMTQgQEAgYm9keS5kZXRhY2hlZC5wbGF0Zm9ybS1tYWMtc25vd2xl
b3BhcmQgI3Rvb2xiYXItZHJvcGRvd24gewogICAgIHdpZHRoOiAxNjVweDsKIH0KIAorLmZpbHRl
ciB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOworICAgIGJvcmRlcjogMDsKKyAgICBw
YWRkaW5nOiAwIDJweDsKKyAgICBtYXJnaW46IDA7CisgICAgd2lkdGg6IDI1M3B4OworfQorCiAu
c2VhcmNoLXJlcGxhY2U6Zm9jdXMgewogICAgIG91dGxpbmU6IG5vbmU7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL25ldHdvcmtMb2dWaWV3LmNzcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzCmlu
ZGV4IGY0NTQxOTRlMWIwOTZiMjI0MGYyYjM0MGQyMjNjYmRjOGEyY2UwODcuLmQxYzEwZDJiYmZm
ZTQ5MzNkYTk3NzFmODczODIzMzNkNjkwYzJjMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzCkBAIC00NzAsMTUgKzQ3
MCwxNSBAQAogICAgIGRpc3BsYXk6IG5vbmU7CiB9CiAKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEt
Z3JpZC5maWx0ZXItYWxsIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay1pdGVtLAotLm5l
dHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1kb2N1bWVudCB0YWJsZS5kYXRhIHRyLnJl
dmVhbGVkLm5ldHdvcmstdHlwZS1kb2N1bWVudCwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3Jp
ZC5maWx0ZXItc3R5bGVzaGVldCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1z
dHlsZXNoZWV0LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1pbWFnZSB0YWJs
ZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1pbWFnZSwKLS5uZXR3b3JrLWxvZy1ncmlk
LmRhdGEtZ3JpZC5maWx0ZXItc2NyaXB0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10
eXBlLXNjcmlwdCwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXIteGhyIHRhYmxl
LmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXhociwKLS5uZXR3b3JrLWxvZy1ncmlkLmRh
dGEtZ3JpZC5maWx0ZXItZm9udCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1m
b250LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci13ZWJzb2NrZXQgdGFibGUu
ZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtd2Vic29ja2V0LAotLm5ldHdvcmstbG9nLWdy
aWQuZGF0YS1ncmlkLmZpbHRlci1vdGhlciB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmst
dHlwZS1vdGhlciB7CisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWFsbCB0YWJs
ZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstaXRlbTpub3QoLmZpbHRlcmVkLW91dCksCisubmV0
d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWRvY3VtZW50IHRhYmxlLmRhdGEgdHIucmV2
ZWFsZWQubmV0d29yay10eXBlLWRvY3VtZW50Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3Jr
LWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItc3R5bGVzaGVldCB0YWJsZS5kYXRhIHRyLnJldmVh
bGVkLm5ldHdvcmstdHlwZS1zdHlsZXNoZWV0Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3Jr
LWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItaW1hZ2UgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5u
ZXR3b3JrLXR5cGUtaW1hZ2U6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQu
ZGF0YS1ncmlkLmZpbHRlci1zY3JpcHQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5
cGUtc2NyaXB0Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3Jp
ZC5maWx0ZXIteGhyIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXhocjpub3Qo
LmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWZvbnQg
dGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtZm9udDpub3QoLmZpbHRlcmVkLW91
dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXdlYnNvY2tldCB0YWJsZS5k
YXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS13ZWJzb2NrZXQ6bm90KC5maWx0ZXJlZC1vdXQp
LAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1vdGhlciB0YWJsZS5kYXRhIHRy
LnJldmVhbGVkLm5ldHdvcmstdHlwZS1vdGhlcjpub3QoLmZpbHRlcmVkLW91dCkgewogICAgIGRp
c3BsYXk6IHRhYmxlLXJvdzsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158293</attachid>
            <date>2012-08-14 04:38:51 -0700</date>
            <delta_ts>2012-08-14 08:34:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120814153818.patch</filename>
            <type>text/plain</type>
            <size>19169</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2MwZDE0MmE5YTEwZjE3
MjA5NGU0MTJlZDA0Mjg5MmI2ZTgyZDE4Zi4uMjgwYWM0YWZkNGZiMzMzMTg3MTZkZWE2YzFiODRm
YzFhNDAwY2NjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTA4LTE0ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgZmVhdHVyZTogdGhlcmUgYXJlIGJvdGggc2Vh
cmNoIGJhciBhbmQgZmlsdGVyIGJhciBpbiBuZXR3b3JrIHRhYncuIE9uZSBjYW4gc3dpY2ggdGhl
bSB1c2luZyBjaGVja2JveCAiZmlsdGVyaW5nIi4KKyAgICAgICAgRmlsZXJpbmcgYWxsb3dzIHRv
IHNob3cgb25seSByZXF1ZXN0cyB0aGF0IGNvbnRhaW4gYSBzdWJzdHJpbmcgZ2l2ZW4uCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvclZpZXcuanM6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLmNhbmNlbEZpbHRlcik6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9wZXJmb3JtRmlsdGVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZS5jYW5jZWxGaWx0
ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUucGVyZm9y
bUZpbHRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVy
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLmhhbmRsZVNob3J0Y3V0KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5zaG93U2Vh
cmNoRmllbGQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90
eXBlLl9vbktleURvd24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIu
cHJvdG90eXBlLl9yZXBsYWNlQWxsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250
cm9sbGVyLnByb3RvdHlwZS5zaG93RmlsdGVyRmllbGQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLl9GaWx0ZXJpbmdFbmFibGVkU3RhdGVDaGFuZ2Vk
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5jYW5j
ZWxGaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90
eXBlLl9maWx0ZXJDaGVja2JveENsaWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hD
b250cm9sbGVyLnByb3RvdHlwZS5fb25GaWx0ZXJJbnB1dCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuX29uU2VhcmNoSW5wdXQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLnBhbmVsQ2hhbmdlZCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzOgorICAgICAgICAoLmZp
bHRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3M6
CisgICAgICAgICgubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLW90aGVyIHRhYmxl
LmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLW90aGVyOm5vdCguZmlsdGVyZWQtb3V0KSk6
CisKIDIwMTItMDgtMTQgIFlvc2hpZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbRm9ybXNdIENvcHkgU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvVGV4dENvbnRy
b2xJbm5lckVsZW1lbnRzLntjcHAsaH0gdG8gU3BpbkJ1dHRvbkVsZW1lbnQue2NwcCxofQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JWaWV3
LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JWaWV3Lmpz
CmluZGV4IGM2NjAxYzdmMTZiZDU3NmI0ZWNjZDA5ZjcxOGY0OTdkMTAwYzVhNWUuLmUxMGYzNTE2
ZjQwMjZjOWVlNjkzZTYwZjllYWQxZjM1NmVmYmYyYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yVmlldy5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvclZpZXcuanMKQEAgLTgyLDYgKzgyLDcg
QEAgV2ViSW5zcGVjdG9yLkluc3BlY3RvclZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAg
dGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkluc3BlY3RvclZpZXcu
RXZlbnRzLlBhbmVsU2VsZWN0ZWQpOwogICAgICAgICAgICAgLy8gRklYTUU6IHJlbW92ZSBzZWFy
Y2ggY29udHJvbGxlci4KICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5zZWFyY2hDb250cm9sbGVy
LmNhbmNlbFNlYXJjaCgpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNlYXJjaENvbnRyb2xs
ZXIucGFuZWxDaGFuZ2VkKCk7CiAgICAgICAgIH0KICAgICAgICAgZm9yICh2YXIgcGFuZWxOYW1l
IGluIFdlYkluc3BlY3Rvci5wYW5lbHMpIHsKICAgICAgICAgICAgIGlmIChXZWJJbnNwZWN0b3Iu
cGFuZWxzW3BhbmVsTmFtZV0gPT09IHgpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMKaW5kZXggMmVmYzFkYWRmNzRmMjY1N2E0MTM5
N2U4NjEyNDUzMDljNTZhYzUyMS4uMWJlMmM2YjUwMGRiNzFjZmQ3ZWM5MTQ3ZGMzOTg3M2JjZWRk
ZDdjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3
b3JrUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3
b3JrUGFuZWwuanMKQEAgLTQ4LDYgKzQ4LDggQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3
ID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX21haW5SZXF1ZXN0RE9NQ29udGVudFRpbWUgPSAtMTsK
ICAgICB0aGlzLl9oaWRkZW5DYXRlZ29yaWVzID0ge307CiAgICAgdGhpcy5fbWF0Y2hlZFJlcXVl
c3RzID0gW107CisgICAgdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cyA9IG5ldyBNYXAoKTsKKyAg
ICAKICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHNNYXAgPSB7fTsKICAgICB0aGlzLl9jdXJyZW50
TWF0Y2hlZFJlcXVlc3RJbmRleCA9IC0xOwogCkBAIC0zODQsNyArMzg2LDcgQEAgV2ViSW5zcGVj
dG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHZhciByZXF1ZXN0
ID0gdGhpcy5fcmVxdWVzdHNbaV07CiAgICAgICAgICAgICB2YXIgcmVxdWVzdFRyYW5zZmVyU2l6
ZSA9IChyZXF1ZXN0LmNhY2hlZCB8fCAhcmVxdWVzdC50cmFuc2ZlclNpemUpID8gMCA6IHJlcXVl
c3QudHJhbnNmZXJTaXplOwogICAgICAgICAgICAgdHJhbnNmZXJTaXplICs9IHJlcXVlc3RUcmFu
c2ZlclNpemU7Ci0gICAgICAgICAgICBpZiAoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8
ICF0aGlzLl9oaWRkZW5DYXRlZ29yaWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSB7CisgICAgICAg
ICAgICBpZiAoKCF0aGlzLl9oaWRkZW5DYXRlZ29yaWVzLmFsbCB8fCAhdGhpcy5faGlkZGVuQ2F0
ZWdvcmllc1tyZXF1ZXN0LnR5cGUubmFtZSgpXSkgJiYgIXRoaXMuX2ZpbHRlcmVkT3V0UmVxdWVz
dHMuZ2V0KHJlcXVlc3QpKSB7CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRSZXF1ZXN0c051bWJl
cisrOwogICAgICAgICAgICAgICAgIHNlbGVjdGVkVHJhbnNmZXJTaXplICs9IHJlcXVlc3RUcmFu
c2ZlclNpemU7CiAgICAgICAgICAgICB9CkBAIC0zOTQsNyArMzk2LDcgQEAgV2ViSW5zcGVjdG9y
Lk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICBtYXhUaW1lID0g
cmVxdWVzdC5lbmRUaW1lOwogICAgICAgICB9CiAgICAgICAgIHZhciB0ZXh0ID0gIiI7Ci0gICAg
ICAgIGlmICh0aGlzLl9oaWRkZW5DYXRlZ29yaWVzLmFsbCkgeworICAgICAgICBpZiAoc2VsZWN0
ZWRSZXF1ZXN0c051bWJlciAhPT0gcmVxdWVzdHNOdW1iZXIpIHsKICAgICAgICAgICAgIHRleHQg
Kz0gU3RyaW5nLnNwcmludGYoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlZCAvICVkIHJlcXVlc3Rz
IiksIHNlbGVjdGVkUmVxdWVzdHNOdW1iZXIsIHJlcXVlc3RzTnVtYmVyKTsKICAgICAgICAgICAg
IHRleHQgKz0gIiAgXHUyNzU4ICAiICsgU3RyaW5nLnNwcmludGYoV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCIlcyAvICVzIHRyYW5zZmVycmVkIiksIE51bWJlci5ieXRlc1RvU3RyaW5nKHNlbGVjdGVk
VHJhbnNmZXJTaXplKSwgTnVtYmVyLmJ5dGVzVG9TdHJpbmcodHJhbnNmZXJTaXplKSk7CiAgICAg
ICAgIH0gZWxzZSB7CkBAIC0xMTUyLDYgKzExNTQsMzkgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtM
b2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJl
cXVlc3QobmV3TWF0Y2hlZFJlcXVlc3RJbmRleCwgZmFsc2UpOwogICAgIH0sCiAKKyAgICBjYW5j
ZWxGaWx0ZXI6IGZ1bmN0aW9uKCkgeworICAgICAgICB0aGlzLnBlcmZvcm1GaWx0ZXIoIiIpOwor
ICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gcXVlcnkKKyAgICAgKi8K
KyAgICBfcGVyZm9ybUZpbHRlcjogZnVuY3Rpb24ocXVlcnkpIAorICAgIHsKKyAgICAgICAgdmFy
IGN1cnJlbnRQYW5lbCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgp
OworICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRQYW5lbC5wZXJmb3JtRmlsdGVyID09PSAiZnVu
Y3Rpb24iKQorICAgICAgICAgICAgY3VycmVudFBhbmVsLnBlcmZvcm1GaWx0ZXIocXVlcnkpOwor
ICAgIH0sCisgICAgCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5CisgICAg
ICovICAgIAorICAgIHBlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KSB7CisgICAgICAgIHRo
aXMuX2ZpbHRlcmVkT3V0UmVxdWVzdHMuY2xlYXIoKTsKKyAgICAgICAgdmFyIGZpbHRlclJlZ0V4
cCA9IGNyZWF0ZVBsYWluVGV4dFNlYXJjaFJlZ2V4KHF1ZXJ5LCAiaSIpOworICAgICAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHRoaXMuX2RhdGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRyZW4ubGVuZ3Ro
OyArK2kpIHsKKyAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5fZGF0YUdyaWQucm9vdE5vZGUo
KS5jaGlsZHJlbltpXTsKKyAgICAgICAgICAgIG5vZGUuZWxlbWVudC5yZW1vdmVTdHlsZUNsYXNz
KCJmaWx0ZXJlZC1vdXQiKTsKKyAgICAgICAgICAgIHZhciB0ID0gbm9kZS5fcmVxdWVzdC5kaXNw
bGF5TmFtZS5tYXRjaChmaWx0ZXJSZWdFeHApOworICAgICAgICAgICAgaWYgKCFub2RlLl9yZXF1
ZXN0LmRpc3BsYXlOYW1lLm1hdGNoKGZpbHRlclJlZ0V4cCkpIHsKKyAgICAgICAgICAgICAgICBu
b2RlLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygiZmlsdGVyZWQtb3V0Iik7CisgICAgICAgICAgICAg
ICAgdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5wdXQodGhpcy5fcmVxdWVzdHNbaV0sIHRydWUp
OworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIHRoaXMuX3VwZGF0ZVN1bW1hcnlC
YXIoKTsKKyAgICAgICAgdGhpcy5fdXBkYXRlT2Zmc2NyZWVuUm93cygpOworICAgIH0sCisgICAg
CiAgICAganVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAg
ICAgIGlmICghdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCkKQEAgLTE0MDUsMTEgKzE0NDAs
MjUgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRo
aXMuX25ldHdvcmtMb2dWaWV3LnN3aXRjaFRvQnJpZWZWaWV3KCk7CiAgICAgfSwKIAorICAgIC8q
KgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWFyY2hRdWVyeQorICAgICAqLyAgICAKICAgICBw
ZXJmb3JtU2VhcmNoOiBmdW5jdGlvbihzZWFyY2hRdWVyeSkKICAgICB7CiAgICAgICAgIHRoaXMu
X25ldHdvcmtMb2dWaWV3LnBlcmZvcm1TZWFyY2goc2VhcmNoUXVlcnkpOwogICAgIH0sCi0KKyAg
ICAKKyAgICBjYW5jZWxGaWx0ZXI6IGZ1bmN0aW9uKCkgeworICAgICAgICB0aGlzLl9uZXR3b3Jr
TG9nVmlldy5jYW5jZWxGaWx0ZXIoKTsKKyAgICB9LAorICAgIAorICAgIC8qKgorICAgICAqIEBw
YXJhbSB7c3RyaW5nfSBxdWVyeQorICAgICAqLyAgICAKKyAgICBwZXJmb3JtRmlsdGVyOiBmdW5j
dGlvbihxdWVyeSl7CisgICAgICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3LnBlcmZvcm1GaWx0ZXIo
cXVlcnkpOworICAgIH0sCisgICAgCiAgICAganVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1
bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3Lmp1bXBUb1ByZXZp
b3VzU2VhcmNoUmVzdWx0KCk7CkBAIC0xNzIyLDYgKzE3NzEsOCBAQCBXZWJJbnNwZWN0b3IuTmV0
d29ya0RhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAKICAgICBpc0ZpbHRlcmVkT3V0OiBmdW5j
dGlvbigpCiAgICAgeworICAgICAgICBpZiAodGhpcy5fcGFyZW50Vmlldy5fZmlsdGVyZWRPdXRS
ZXF1ZXN0cy5nZXQodGhpcy5fcmVxdWVzdCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICAgICAgaWYgKCF0aGlzLl9wYXJlbnRWaWV3Ll9oaWRkZW5DYXRlZ29yaWVzLmFsbCkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QudHlwZS5u
YW1lKCkgaW4gdGhpcy5fcGFyZW50Vmlldy5faGlkZGVuQ2F0ZWdvcmllczsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcwpp
bmRleCBkMThlMjgwZTFhNjZkNGEyZmUzMTcwZDgyYjFhOTEzNGM0MmNkMWRlLi4zOTA0MWY5MzY3
ZDdlZDUxNTE5ZWY5YmQ5Y2Q3YmI2NTQyOTkxNjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzCkBAIC00MiwxMSAr
NDIsMTkgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIgPSBmdW5jdGlvbigpCiAgICAg
dGhpcy5fc2Vjb25kUm93RWxlbWVudCA9IHRoaXMuX2VsZW1lbnQuY3JlYXRlQ2hpbGQoInRyIiwg
ImhpZGRlbiIpOwogCiAgICAgLy8gQ29sdW1uIDEKLSAgICB0aGlzLl9zZWFyY2hDb250cm9sRWxl
bWVudCA9IHRoaXMuX2ZpcnN0Um93RWxlbWVudC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGls
ZCgic3BhbiIsICJ0b29sYmFyLXNlYXJjaC1jb250cm9sIik7CisgICAgdmFyIHNlYXJjaENvbnRy
b2xFbGVtZW50Q29sdW1uID0gdGhpcy5fZmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIp
OyAKKyAgICB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudCA9IHNlYXJjaENvbnRyb2xFbGVtZW50
Q29sdW1uLmNyZWF0ZUNoaWxkKCJzcGFuIiwgInRvb2xiYXItc2VhcmNoLWNvbnRyb2wiKTsKICAg
ICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQgPSB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudC5j
cmVhdGVDaGlsZCgiaW5wdXQiLCAic2VhcmNoLXJlcGxhY2UiKTsKICAgICB0aGlzLl9zZWFyY2hJ
bnB1dEVsZW1lbnQuaWQgPSAic2VhcmNoLWlucHV0LWZpZWxkIjsKICAgICB0aGlzLl9zZWFyY2hJ
bnB1dEVsZW1lbnQucGxhY2Vob2xkZXIgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZpbmQiKTsK
IAorICAgIHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50ID0gc2VhcmNoQ29udHJvbEVsZW1lbnRD
b2x1bW4uY3JlYXRlQ2hpbGQoInNwYW4iLCAidG9vbGJhci1zZWFyY2gtY29udHJvbCIpOworICAg
IHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAg
IHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudCA9IHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50LmNy
ZWF0ZUNoaWxkKCJpbnB1dCIsICJmaWx0ZXIiKTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1l
bnQuaWQgPSAiZmlsdGVyLWlucHV0LWZpZWxkIjsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1l
bnQucGxhY2Vob2xkZXIgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZpbHRlciIpOworICAKKwog
ICAgIHRoaXMuX21hdGNoZXNFbGVtZW50ID0gdGhpcy5fc2VhcmNoQ29udHJvbEVsZW1lbnQuY3Jl
YXRlQ2hpbGQoImxhYmVsIiwgInNlYXJjaC1yZXN1bHRzLW1hdGNoZXMiKTsKICAgICB0aGlzLl9t
YXRjaGVzRWxlbWVudC5zZXRBdHRyaWJ1dGUoImZvciIsICJzZWFyY2gtaW5wdXQtZmllbGQiKTsK
IApAQCAtNjIsOSArNzAsMTIgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIgPSBmdW5j
dGlvbigpCiAKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigi
bW91c2Vkb3duIiwgdGhpcy5fb25TZWFyY2hGaWVsZE1hbnVhbEZvY3VzLmJpbmQodGhpcyksIGZh
bHNlKTsgLy8gd2hlbiB0aGUgc2VhcmNoIGZpZWxkIGlzIG1hbnVhbGx5IHNlbGVjdGVkCiAgICAg
dGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlz
Ll9vbktleURvd24uYmluZCh0aGlzKSwgdHJ1ZSk7Ci0gICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25JbnB1dC5iaW5kKHRoaXMpLCBm
YWxzZSk7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtl
eWRvd24iLCB0aGlzLl9vbktleURvd24uYmluZCh0aGlzKSwgdHJ1ZSk7CisgICAgdGhpcy5fZmls
dGVySW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25GaWx0ZXJJ
bnB1dC5iaW5kKHRoaXMpLCBmYWxzZSk7CisgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25TZWFyY2hJbnB1dC5iaW5kKHRoaXMpLCBm
YWxzZSk7CiAKICAgICB0aGlzLl9yZXBsYWNlSW5wdXRFbGVtZW50ID0gdGhpcy5fc2Vjb25kUm93
RWxlbWVudC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgiaW5wdXQiLCAic2VhcmNoLXJl
cGxhY2UgdG9vbGJhci1yZXBsYWNlLWNvbnRyb2wiKTsKKyAgICB0aGlzLl9zZWNvbmRSb3dFbGVt
ZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpOwogICAgIHRoaXMuX3JlcGxhY2VJbnB1dEVsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX29uS2V5RG93bi5iaW5kKHRoaXMpLCB0cnVl
KTsKICAgICB0aGlzLl9yZXBsYWNlSW5wdXRFbGVtZW50LnBsYWNlaG9sZGVyID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJSZXBsYWNlIik7CiAKQEAgLTEwNCwxMCArMTE1LDI1IEBAIFdlYkluc3Bl
Y3Rvci5TZWFyY2hDb250cm9sbGVyID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX3JlcGxhY2VMYWJl
bEVsZW1lbnQuc2V0QXR0cmlidXRlKCJmb3IiLCAic2VhcmNoLXJlcGxhY2UtdHJpZ2dlciIpOwog
CiAgICAgLy8gQ29sdW1uIDUKKyAgICB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lciA9IHRo
aXMuX2ZpcnN0Um93RWxlbWVudC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgic3BhbiIp
OworCisgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50ID0gdGhpcy5fZmlsdGVyQ2hlY2ti
b3hDb250YWluZXIuY3JlYXRlQ2hpbGQoImlucHV0Iik7CisgICAgdGhpcy5fZmlsdGVyQ2hlY2ti
b3hFbGVtZW50LnR5cGUgPSAiY2hlY2tib3giOworICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxl
bWVudC5pZCA9ICJmaWx0ZXItdHJpZ2dlciI7CisgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fZmlsdGVyQ2hlY2tib3hDbGljay5i
aW5kKHRoaXMpLCBmYWxzZSk7CisgIAorCisgICAgdGhpcy5fZmlsdGVyTGFiZWxFbGVtZW50ID0g
dGhpcy5fZmlsdGVyQ2hlY2tib3hDb250YWluZXIuY3JlYXRlQ2hpbGQoImxhYmVsIik7CisgICAg
dGhpcy5fZmlsdGVyTGFiZWxFbGVtZW50LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJGaWx0ZXIiKTsKKyAgICB0aGlzLl9maWx0ZXJMYWJlbEVsZW1lbnQuc2V0QXR0cmlidXRl
KCJmb3IiLCAiZmlsdGVyLXRyaWdnZXIiKTsKKworICAgIC8vIENvbHVtbiA2CiAgICAgdmFyIGNh
bmNlbEJ1dHRvbkVsZW1lbnQgPSB0aGlzLl9maXJzdFJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRk
IikuY3JlYXRlQ2hpbGQoImJ1dHRvbiIpOwogICAgIGNhbmNlbEJ1dHRvbkVsZW1lbnQudGV4dENv
bnRlbnQgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNhbmNlbCIpOwogICAgIGNhbmNlbEJ1dHRv
bkVsZW1lbnQudGFiSW5kZXggPSAtMTsKICAgICBjYW5jZWxCdXR0b25FbGVtZW50LmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5jYW5jZWxTZWFyY2guYmluZCh0aGlzKSwgZmFsc2UpOwor
ICAgIHRoaXMuX2lzRmlsdGVyaW5nRW5hYmxlZCA9IGZhbHNlOworICAgIHRoaXMuX3NlYXJjaE9y
RmlsdGVyUXVlcnkgPSAiIjsKIH0KIAogV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJv
dG90eXBlID0gewpAQCAtMTcxLDYgKzE5NywxNyBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJv
bGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGJy
ZWFrOwogCisgICAgICAgICAgICBjYXNlICJVKzAwNTEiOiAvLyBRIGtleQorICAgICAgICAgICAg
ICAgIGlmIChpc01hYykKKyAgICAgICAgICAgICAgICAgICAgdmFyIGlzRmluZEtleSA9IGV2ZW50
Lm1ldGFLZXkgJiYgIWV2ZW50LmN0cmxLZXkgJiYgIWV2ZW50LmFsdEtleSAmJiAhZXZlbnQuc2hp
ZnRLZXk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICB2YXIgaXNG
aW5kS2V5ID0gZXZlbnQuY3RybEtleSAmJiAhZXZlbnQubWV0YUtleSAmJiAhZXZlbnQuYWx0S2V5
ICYmICFldmVudC5zaGlmdEtleTsKKyAgICAgICAgICAgICAgICBpZiAoaXNGaW5kS2V5KSB7Cisg
ICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5jaGVja2VkIF49
IHRydWU7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94Q2xpY2soKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgYnJlYWs7CisKICAgICAgICAgICAg
IGNhc2UgIkYzIjoKICAgICAgICAgICAgICAgICBpZiAoIWlzTWFjKSB7CiAgICAgICAgICAgICAg
ICAgICAgIHRoaXMuc2hvd1NlYXJjaEZpZWxkKCk7CkBAIC0yMjEsNyArMjU4LDE2IEBAIFdlYklu
c3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKIAogICAgIHNob3dTZWFyY2hG
aWVsZDogZnVuY3Rpb24oKQogICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl9lbGVtZW50Lmhhc1N0
eWxlQ2xhc3MoImhpZGRlbiIpICYmIHRoaXMuX2lzRmlsdGVyaW5nRW5hYmxlZCkgeworICAgICAg
ICAgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmZvY3VzKCk7CisgICAgICAgICAgICB0aGlz
Ll9maWx0ZXJJbnB1dEVsZW1lbnQuc2VsZWN0KCk7CisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIH0KICAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuc2V0Rm9vdGVyRWxlbWVu
dCh0aGlzLl9lbGVtZW50KTsKKyAgICAgICAgdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQuYWRk
U3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50
LnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVs
ZW1lbnQudmFsdWUgPSB0aGlzLl9zZWFyY2hPckZpbHRlclF1ZXJ5OworICAgICAgICB0aGlzLnJl
c2V0U2VhcmNoKCk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVJlcGxhY2VWaXNpYmlsaXR5KCk7CiAg
ICAgICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5mb2N1cygpOwogICAgICAgICB0aGlzLl9z
ZWFyY2hJbnB1dEVsZW1lbnQuc2VsZWN0KCk7CkBAIC0yNTEsNiArMjk3LDcgQEAgV2ViSW5zcGVj
dG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgICAgICBpZiAoZXZlbnQua2V5
Q29kZSA9PT0gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5cy5Fc2MuY29kZSkgewog
ICAgICAgICAgICAgZXZlbnQuY29uc3VtZSh0cnVlKTsKICAgICAgICAgICAgIHRoaXMuY2FuY2Vs
U2VhcmNoKCk7CisgICAgICAgICAgICB0aGlzLmNhbmNlbEZpbHRlcigpOwogICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLnNldEN1cnJlbnRGb2N1c0VsZW1lbnQoV2ViSW5zcGVjdG9yLnByZXZpb3Vz
Rm9jdXNFbGVtZW50KCkpOwogICAgICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5jdXJyZW50Rm9j
dXNFbGVtZW50KCkgPT09IGV2ZW50LnRhcmdldCkKICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0
b3IuY3VycmVudEZvY3VzRWxlbWVudCgpLnNlbGVjdCgpOwpAQCAtMjY1LDExICszMTIsNiBAQCBX
ZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAg
ICB9LAogCi0gICAgX29uSW5wdXQ6IGZ1bmN0aW9uKGV2ZW50KQotICAgIHsKLSAgICAgICAgdGhp
cy5fcGVyZm9ybVNlYXJjaChldmVudC50YXJnZXQudmFsdWUsIGZhbHNlLCBmYWxzZSk7Ci0gICAg
fSwKLQogICAgIF9vbk5leHRCdXR0b25TZWFyY2g6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAg
ICAgICAgLy8gU2ltdWxhdGUgbmV4dCBzZWFyY2ggb24gc2VhcmNoLW5hdmlnYXRpb24tYnV0dG9u
IGNsaWNrLgpAQCAtMzY0LDYgKzQwNiw4MCBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxl
ci5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgY3VycmVudFBhbmVsID0gV2ViSW5z
cGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCk7CiAgICAgICAgIGN1cnJlbnRQYW5l
bC5yZXBsYWNlQWxsV2l0aCh0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUsIHRoaXMuX3Jl
cGxhY2VJbnB1dEVsZW1lbnQudmFsdWUpOworICAgIH0sCisgIAorICAgIHNob3dGaWx0ZXJGaWVs
ZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQu
cmVtb3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMuX3NlYXJjaENvbnRyb2xF
bGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICBXZWJJbnNwZWN0b3IuaW5z
cGVjdG9yVmlldy5zZXRGb290ZXJFbGVtZW50KHRoaXMuX2VsZW1lbnQpOworICAgICAgICB0aGlz
Ll9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWUgPSB0aGlzLl9zZWFyY2hPckZpbHRlclF1ZXJ5Owor
ICAgICAgICB0aGlzLl91cGRhdGVSZXBsYWNlVmlzaWJpbGl0eSgpOworICAgICAgICB0aGlzLl9m
aWx0ZXJJbnB1dEVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVt
ZW50LnNlbGVjdCgpOworICAgIH0sCisgIAorICAgIF9GaWx0ZXJpbmdFbmFibGVkU3RhdGVDaGFu
Z2VkOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAodGhpcy5faXNGaWx0ZXJpbmdFbmFi
bGVkKSB7CisgICAgICAgICAgICB0aGlzLmNhbmNlbFNlYXJjaCgpOworICAgICAgICAgICAgdGhp
cy5zaG93RmlsdGVyRmllbGQoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRoaXMu
Y2FuY2VsRmlsdGVyKCk7CisgICAgICAgICAgICB0aGlzLnNob3dTZWFyY2hGaWVsZCgpOworICAg
ICAgICB9CisgICAgfSwKKyAgCisgICAgY2FuY2VsRmlsdGVyOiBmdW5jdGlvbigpCisgICAgewor
ICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWUgID0gIiI7CisgICAgICAgIFdl
Ykluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1GaWx0ZXIoIiIp
OworICAgICAgICB0aGlzLl9maWx0ZXJDaGVja2JveEVsZW1lbnQuY2hlY2tlZCA9IGZhbHNlOwor
ICAgICAgICB0aGlzLl9pc0ZpbHRlcmluZ0VuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgV2ViSW5z
cGVjdG9yLmluc3BlY3RvclZpZXcuc2V0Rm9vdGVyRWxlbWVudChudWxsKTsKKyAgICB9LAorICAK
KyAgICBfZmlsdGVyQ2hlY2tib3hDbGljazogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhp
cy5faXNGaWx0ZXJpbmdFbmFibGVkID0gIXRoaXMuX2lzRmlsdGVyaW5nRW5hYmxlZDsKKyAgICAg
ICAgdGhpcy5fRmlsdGVyaW5nRW5hYmxlZFN0YXRlQ2hhbmdlZCgpOworICAgICAgICBpZiAodGhp
cy5faXNGaWx0ZXJpbmdFbmFibGVkKSB7CisgICAgICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVs
ZW1lbnQudmFsdWUgPSB0aGlzLl9zZWFyY2hPckZpbHRlclF1ZXJ5OworICAgICAgICAgICAgdGhp
cy5jYW5jZWxTZWFyY2goKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3
LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1GaWx0ZXIodGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LnZh
bHVlKTsKKyAgICAgICAgfQorICAgICAgICBlbHNlIGlmICghdGhpcy5faXNGaWx0ZXJpbmdFbmFi
bGVkKSB7CisgICAgICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUgPSB0aGlz
Ll9zZWFyY2hPckZpbHRlclF1ZXJ5OworICAgICAgICAgICAgdGhpcy5fcGVyZm9ybVNlYXJjaCh0
aGlzLl9zZWFyY2hPckZpbHRlclF1ZXJ5LCBmYWxzZSwgZmFsc2UpOworICAgICAgICB9CisgICAg
ICAgICAgCisgICAgfSwKKyAgCisgICAgX29uRmlsdGVySW5wdXQ6IGZ1bmN0aW9uKGV2ZW50KQor
ICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCku
cGVyZm9ybUZpbHRlcihldmVudC50YXJnZXQudmFsdWUpOworICAgICAgICB0aGlzLl9zZWFyY2hP
ckZpbHRlclF1ZXJ5ID0gZXZlbnQudGFyZ2V0LnZhbHVlOworICAgIH0sCisgIAorICAgIF9vblNl
YXJjaElucHV0OiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHRoaXMuX3BlcmZvcm1T
ZWFyY2goZXZlbnQudGFyZ2V0LnZhbHVlLCBmYWxzZSwgZmFsc2UpOworICAgICAgICB0aGlzLl9z
ZWFyY2hPckZpbHRlclF1ZXJ5ID0gZXZlbnQudGFyZ2V0LnZhbHVlOworICAgIH0sCisgIAorICAg
IHBhbmVsQ2hhbmdlZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fZmlsdGVyQ2hl
Y2tib3hFbGVtZW50LmNoZWNrZWQgPSBmYWxzZTsKKyAgICAgICAgdGhpcy5faXNGaWx0ZXJpbmdF
bmFibGVkID0gZmFsc2U7CisgICAgICAgIHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50LmFkZFN0
eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFs
dWUgPSAiIjsKKyAgICAgICAgdGhpcy5fc2VhcmNoQ29udHJvbEVsZW1lbnQucmVtb3ZlU3R5bGVD
bGFzcygiaGlkZGVuIik7CisgICAgICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LnNldEZv
b3RlckVsZW1lbnQobnVsbCk7CisgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94Q29udGFpbmVy
LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICBpZiAodHlwZW9mIFdlYkluc3BlY3Rv
ci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1GaWx0ZXIgPT09ICJmdW5jdGlv
biIpIHsKKyAgICAgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94Q29udGFpbmVyLnJlbW92ZVN0
eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICAgICAgdGhpcy5jYW5jZWxGaWx0ZXIoKTsKKyAg
ICAgICAgfQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuY3NzCmluZGV4IGVhNWVlZGM0NGU1MmY0NTZmZTYwNGNkODE5MzE0OTM2
YzJjNTY1OWYuLjQxMWZlMWI5MDRhOTA3MDA4NTc0Y2ViYjU3OTAxYmVhMDI4YzBlNzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKQEAg
LTI3MSw2ICsyNzEsMTQgQEAgYm9keS5kZXRhY2hlZC5wbGF0Zm9ybS1tYWMtc25vd2xlb3BhcmQg
I3Rvb2xiYXItZHJvcGRvd24gewogICAgIHdpZHRoOiAxNjVweDsKIH0KIAorLmZpbHRlciB7Cisg
ICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOworICAgIGJvcmRlcjogMDsKKyAgICBwYWRkaW5n
OiAwIDJweDsKKyAgICBtYXJnaW46IDA7CisgICAgd2lkdGg6IDI1M3B4OworfQorCiAuc2VhcmNo
LXJlcGxhY2U6Zm9jdXMgewogICAgIG91dGxpbmU6IG5vbmU7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL25ldHdvcmtMb2dWaWV3LmNzcyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzCmluZGV4IGY0
NTQxOTRlMWIwOTZiMjI0MGYyYjM0MGQyMjNjYmRjOGEyY2UwODcuLmQxYzEwZDJiYmZmZTQ5MzNk
YTk3NzFmODczODIzMzNkNjkwYzJjMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzCkBAIC00NzAsMTUgKzQ3MCwxNSBA
QAogICAgIGRpc3BsYXk6IG5vbmU7CiB9CiAKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5m
aWx0ZXItYWxsIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay1pdGVtLAotLm5ldHdvcmst
bG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1kb2N1bWVudCB0YWJsZS5kYXRhIHRyLnJldmVhbGVk
Lm5ldHdvcmstdHlwZS1kb2N1bWVudCwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0
ZXItc3R5bGVzaGVldCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1zdHlsZXNo
ZWV0LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1pbWFnZSB0YWJsZS5kYXRh
IHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1pbWFnZSwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEt
Z3JpZC5maWx0ZXItc2NyaXB0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXNj
cmlwdCwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXIteGhyIHRhYmxlLmRhdGEg
dHIucmV2ZWFsZWQubmV0d29yay10eXBlLXhociwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3Jp
ZC5maWx0ZXItZm9udCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1mb250LAot
Lm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci13ZWJzb2NrZXQgdGFibGUuZGF0YSB0
ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtd2Vic29ja2V0LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0
YS1ncmlkLmZpbHRlci1vdGhlciB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1v
dGhlciB7CisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWFsbCB0YWJsZS5kYXRh
IHRyLnJldmVhbGVkLm5ldHdvcmstaXRlbTpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1s
b2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWRvY3VtZW50IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQu
bmV0d29yay10eXBlLWRvY3VtZW50Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1n
cmlkLmRhdGEtZ3JpZC5maWx0ZXItc3R5bGVzaGVldCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5l
dHdvcmstdHlwZS1zdHlsZXNoZWV0Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1n
cmlkLmRhdGEtZ3JpZC5maWx0ZXItaW1hZ2UgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3Jr
LXR5cGUtaW1hZ2U6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1n
cmlkLmZpbHRlci1zY3JpcHQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtc2Ny
aXB0Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0
ZXIteGhyIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXhocjpub3QoLmZpbHRl
cmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWZvbnQgdGFibGUu
ZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtZm9udDpub3QoLmZpbHRlcmVkLW91dCksCisu
bmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXdlYnNvY2tldCB0YWJsZS5kYXRhIHRy
LnJldmVhbGVkLm5ldHdvcmstdHlwZS13ZWJzb2NrZXQ6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5l
dHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1vdGhlciB0YWJsZS5kYXRhIHRyLnJldmVh
bGVkLm5ldHdvcmstdHlwZS1vdGhlcjpub3QoLmZpbHRlcmVkLW91dCkgewogICAgIGRpc3BsYXk6
IHRhYmxlLXJvdzsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158338</attachid>
            <date>2012-08-14 08:34:20 -0700</date>
            <delta_ts>2012-08-14 10:16:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120814193347.patch</filename>
            <type>text/plain</type>
            <size>16825</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2MwZDE0MmE5YTEwZjE3
MjA5NGU0MTJlZDA0Mjg5MmI2ZTgyZDE4Zi4uZmM1ZDRmZTQxZTM0MTlkNWE2OTc0OTkwNjQ0YzRk
M2I4MDM1ZTc3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTA4LTE0ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgZmVhdHVyZTogdGhlcmUgYXJlIGJvdGggc2Vh
cmNoIGJhciBhbmQgZmlsdGVyIGJhciBpbiBuZXR3b3JrIHRhYncuIE9uZSBjYW4gc3dpY2ggdGhl
bSB1c2luZyBjaGVja2JveCAiZmlsdGVyaW5nIi4KKyAgICAgICAgRmlsZXJpbmcgYWxsb3dzIHRv
IHNob3cgb25seSByZXF1ZXN0cyB0aGF0IGNvbnRhaW4gYSBzdWJzdHJpbmcgZ2l2ZW4uCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvclZpZXcuanM6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZS5jYW5TZWFyY2hBbmRSZXBsYWNlKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBh
bmVsLnByb3RvdHlwZS5jYW5TZWFyY2hBbmRGaWx0ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFy
Y2hDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnBy
b3RvdHlwZS5jYW5jZWxTZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRy
b2xsZXIucHJvdG90eXBlLnNob3dTZWFyY2hGaWVsZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
U2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuc2hvd0ZpbHRlckZpZWxkKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fdXBkYXRlRmlsdGVyVmlzaWJp
bGl0eSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUu
X29uS2V5RG93bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90
b3R5cGUuX2ZpbHRlckNoZWNrYm94Q2xpY2spOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJj
aENvbnRyb2xsZXIucHJvdG90eXBlLl9wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fb25GaWx0ZXJJbnB1dCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuX29uU2VhcmNoSW5wdXQp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLnJlc2V0
RmlsdGVyKToKKwogMjAxMi0wOC0xNCAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtGb3Jtc10gQ29weSBTb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9U
ZXh0Q29udHJvbElubmVyRWxlbWVudHMue2NwcCxofSB0byBTcGluQnV0dG9uRWxlbWVudC57Y3Bw
LGh9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdv
cmtQYW5lbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1Bh
bmVsLmpzCmluZGV4IDJlZmMxZGFkZjc0ZjI2NTdhNDEzOTdlODYxMjQ1MzA5YzU2YWM1MjEuLmE5
OWY2ZGU3ZGYzNmZiMGZiYzZlYWY0NDkyMDI3NTkxNjQ5MTNjNWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsLmpzCkBAIC00OCw2ICs0
OCw4IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldyA9IGZ1bmN0aW9uKCkKICAgICB0aGlz
Ll9tYWluUmVxdWVzdERPTUNvbnRlbnRUaW1lID0gLTE7CiAgICAgdGhpcy5faGlkZGVuQ2F0ZWdv
cmllcyA9IHt9OwogICAgIHRoaXMuX21hdGNoZWRSZXF1ZXN0cyA9IFtdOworICAgIHRoaXMuX2Zp
bHRlcmVkT3V0UmVxdWVzdHMgPSBuZXcgTWFwKCk7CisgICAgCiAgICAgdGhpcy5fbWF0Y2hlZFJl
cXVlc3RzTWFwID0ge307CiAgICAgdGhpcy5fY3VycmVudE1hdGNoZWRSZXF1ZXN0SW5kZXggPSAt
MTsKIApAQCAtMzg0LDcgKzM4Niw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICB2YXIgcmVxdWVzdCA9IHRoaXMuX3JlcXVlc3RzW2ldOwog
ICAgICAgICAgICAgdmFyIHJlcXVlc3RUcmFuc2ZlclNpemUgPSAocmVxdWVzdC5jYWNoZWQgfHwg
IXJlcXVlc3QudHJhbnNmZXJTaXplKSA/IDAgOiByZXF1ZXN0LnRyYW5zZmVyU2l6ZTsKICAgICAg
ICAgICAgIHRyYW5zZmVyU2l6ZSArPSByZXF1ZXN0VHJhbnNmZXJTaXplOwotICAgICAgICAgICAg
aWYgKCF0aGlzLl9oaWRkZW5DYXRlZ29yaWVzLmFsbCB8fCAhdGhpcy5faGlkZGVuQ2F0ZWdvcmll
c1tyZXF1ZXN0LnR5cGUubmFtZSgpXSkgeworICAgICAgICAgICAgaWYgKCghdGhpcy5faGlkZGVu
Q2F0ZWdvcmllcy5hbGwgfHwgIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXNbcmVxdWVzdC50eXBlLm5h
bWUoKV0pICYmICF0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3RzLmdldChyZXF1ZXN0KSkgewogICAg
ICAgICAgICAgICAgIHNlbGVjdGVkUmVxdWVzdHNOdW1iZXIrKzsKICAgICAgICAgICAgICAgICBz
ZWxlY3RlZFRyYW5zZmVyU2l6ZSArPSByZXF1ZXN0VHJhbnNmZXJTaXplOwogICAgICAgICAgICAg
fQpAQCAtMzk0LDcgKzM5Niw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5
cGUgPSB7CiAgICAgICAgICAgICAgICAgbWF4VGltZSA9IHJlcXVlc3QuZW5kVGltZTsKICAgICAg
ICAgfQogICAgICAgICB2YXIgdGV4dCA9ICIiOwotICAgICAgICBpZiAodGhpcy5faGlkZGVuQ2F0
ZWdvcmllcy5hbGwpIHsKKyAgICAgICAgaWYgKHNlbGVjdGVkUmVxdWVzdHNOdW1iZXIgIT09IHJl
cXVlc3RzTnVtYmVyKSB7CiAgICAgICAgICAgICB0ZXh0ICs9IFN0cmluZy5zcHJpbnRmKFdlYklu
c3BlY3Rvci5VSVN0cmluZygiJWQgLyAlZCByZXF1ZXN0cyIpLCBzZWxlY3RlZFJlcXVlc3RzTnVt
YmVyLCByZXF1ZXN0c051bWJlcik7CiAgICAgICAgICAgICB0ZXh0ICs9ICIgIFx1Mjc1OCAgIiAr
IFN0cmluZy5zcHJpbnRmKFdlYkluc3BlY3Rvci5VSVN0cmluZygiJXMgLyAlcyB0cmFuc2ZlcnJl
ZCIpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyhzZWxlY3RlZFRyYW5zZmVyU2l6ZSksIE51bWJlci5i
eXRlc1RvU3RyaW5nKHRyYW5zZmVyU2l6ZSkpOwogICAgICAgICB9IGVsc2UgewpAQCAtMTE1Miw2
ICsxMTU0LDM5IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KG5ld01hdGNoZWRSZXF1ZXN0
SW5kZXgsIGZhbHNlKTsKICAgICB9LAogCisgICAgY2FuY2VsRmlsdGVyOiBmdW5jdGlvbigpIHsK
KyAgICAgICAgdGhpcy5wZXJmb3JtRmlsdGVyKCIiKTsKKyAgICB9LAorCisgICAgLyoqCisgICAg
ICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5CisgICAgICovCisgICAgX3BlcmZvcm1GaWx0ZXI6IGZ1
bmN0aW9uKHF1ZXJ5KSAKKyAgICB7CisgICAgICAgIHZhciBjdXJyZW50UGFuZWwgPSBXZWJJbnNw
ZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwoKTsKKyAgICAgICAgaWYgKHR5cGVvZiBj
dXJyZW50UGFuZWwucGVyZm9ybUZpbHRlciA9PT0gImZ1bmN0aW9uIikKKyAgICAgICAgICAgIGN1
cnJlbnRQYW5lbC5wZXJmb3JtRmlsdGVyKHF1ZXJ5KTsKKyAgICB9LAorICAgIAorICAgIC8qKgor
ICAgICAqIEBwYXJhbSB7c3RyaW5nfSBxdWVyeQorICAgICAqLyAgICAKKyAgICBwZXJmb3JtRmls
dGVyOiBmdW5jdGlvbihxdWVyeSkgeworICAgICAgICB0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3Rz
LmNsZWFyKCk7CisgICAgICAgIHZhciBmaWx0ZXJSZWdFeHAgPSBjcmVhdGVQbGFpblRleHRTZWFy
Y2hSZWdleChxdWVyeSwgImkiKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9k
YXRhR3JpZC5yb290Tm9kZSgpLmNoaWxkcmVuLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2
YXIgbm9kZSA9IHRoaXMuX2RhdGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRyZW5baV07CisgICAgICAg
ICAgICBub2RlLmVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVyZWQtb3V0Iik7CisgICAg
ICAgICAgICB2YXIgdCA9IG5vZGUuX3JlcXVlc3QuZGlzcGxheU5hbWUubWF0Y2goZmlsdGVyUmVn
RXhwKTsKKyAgICAgICAgICAgIGlmICghbm9kZS5fcmVxdWVzdC5kaXNwbGF5TmFtZS5tYXRjaChm
aWx0ZXJSZWdFeHApKSB7CisgICAgICAgICAgICAgICAgbm9kZS5lbGVtZW50LmFkZFN0eWxlQ2xh
c3MoImZpbHRlcmVkLW91dCIpOworICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlcmVkT3V0UmVx
dWVzdHMucHV0KHRoaXMuX3JlcXVlc3RzW2ldLCB0cnVlKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICB0aGlzLl91cGRhdGVTdW1tYXJ5QmFyKCk7CisgICAgICAgIHRoaXMuX3Vw
ZGF0ZU9mZnNjcmVlblJvd3MoKTsKKyAgICB9LAorICAgIAogICAgIGp1bXBUb1ByZXZpb3VzU2Vh
cmNoUmVzdWx0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX21hdGNoZWRS
ZXF1ZXN0cy5sZW5ndGgpCkBAIC0xNDA1LDExICsxNDQwLDMzIEBAIFdlYkluc3BlY3Rvci5OZXR3
b3JrUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5zd2l0
Y2hUb0JyaWVmVmlldygpOwogICAgIH0sCiAKKyAgICAvKioKKyAgICAgKiBAcmV0dXJuIHtib29s
ZWFufQorICAgICAqLworICAgIGNhblNlYXJjaEFuZFJlcGxhY2U6IGZ1bmN0aW9uKCkKKyAgICB7
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0g
e3N0cmluZ30gc2VhcmNoUXVlcnkKKyAgICAgKi8gICAgCiAgICAgcGVyZm9ybVNlYXJjaDogZnVu
Y3Rpb24oc2VhcmNoUXVlcnkpCiAgICAgewogICAgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5w
ZXJmb3JtU2VhcmNoKHNlYXJjaFF1ZXJ5KTsKICAgICB9LAotCisgICAgCisgICAgY2FuY2VsRmls
dGVyOiBmdW5jdGlvbigpIHsKKyAgICAgICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcuY2FuY2VsRmls
dGVyKCk7CisgICAgfSwKKyAgICAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gcXVl
cnkKKyAgICAgKi8gICAgCisgICAgcGVyZm9ybUZpbHRlcjogZnVuY3Rpb24ocXVlcnkpeworICAg
ICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5wZXJmb3JtRmlsdGVyKHF1ZXJ5KTsKKyAgICB9LAor
ICAgIAogICAgIGp1bXBUb1ByZXZpb3VzU2VhcmNoUmVzdWx0OiBmdW5jdGlvbigpCiAgICAgewog
ICAgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5qdW1wVG9QcmV2aW91c1NlYXJjaFJlc3VsdCgp
OwpAQCAtMTcyMiw2ICsxNzc5LDggQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEYXRhR3JpZE5vZGUu
cHJvdG90eXBlID0gewogCiAgICAgaXNGaWx0ZXJlZE91dDogZnVuY3Rpb24oKQogICAgIHsKKyAg
ICAgICAgaWYgKHRoaXMuX3BhcmVudFZpZXcuX2ZpbHRlcmVkT3V0UmVxdWVzdHMuZ2V0KHRoaXMu
X3JlcXVlc3QpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGlmICghdGhpcy5f
cGFyZW50Vmlldy5faGlkZGVuQ2F0ZWdvcmllcy5hbGwpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0LnR5cGUubmFtZSgpIGluIHRoaXMuX3Bh
cmVudFZpZXcuX2hpZGRlbkNhdGVnb3JpZXM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9QYW5lbC5qcwppbmRleCBmNjVmNWVhMzBmNzY5YzcxMWJhYzkyNDQxZmEwZjgxODY5
OTVjNjE1Li41YTFmOGI4ZTg4ZTFiZjJjMDQwYjczODJjODhmNTNjZTJlMTdmNzFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1BhbmVsLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUGFuZWwuanMKQEAgLTEzMiw2ICsxMzIs
MTQgQEAgV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoq
CisgICAgICogQHJldHVybiB7Ym9vbGVhbn0KKyAgICAgKi8KKyAgICBjYW5TZWFyY2hBbmRGaWx0
ZXI6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9LAorCisg
ICAgLyoqCiAgICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQKICAgICAgKi8KICAgICByZXBsYWNl
U2VsZWN0aW9uV2l0aDogZnVuY3Rpb24odGV4dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcwppbmRleCBkMThlMjgwZTFh
NjZkNGEyZmUzMTcwZDgyYjFhOTEzNGM0MmNkMWRlLi5kMDE1NTc3MDlhNDEwMjA1N2I5N2NlYTc2
ZDMzOGI4ZmUxZGM3NzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzCkBAIC00MiwxMSArNDIsMjAgQEAgV2ViSW5z
cGVjdG9yLlNlYXJjaENvbnRyb2xsZXIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fc2Vjb25kUm93
RWxlbWVudCA9IHRoaXMuX2VsZW1lbnQuY3JlYXRlQ2hpbGQoInRyIiwgImhpZGRlbiIpOwogCiAg
ICAgLy8gQ29sdW1uIDEKLSAgICB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudCA9IHRoaXMuX2Zp
cnN0Um93RWxlbWVudC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgic3BhbiIsICJ0b29s
YmFyLXNlYXJjaC1jb250cm9sIik7CisgICAgdmFyIHNlYXJjaENvbnRyb2xFbGVtZW50Q29sdW1u
ID0gdGhpcy5fZmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpOyAKKyAgICB0aGlzLl9m
aXJzdFJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRkIik7CisgICAgdGhpcy5fc2VhcmNoQ29udHJv
bEVsZW1lbnQgPSBzZWFyY2hDb250cm9sRWxlbWVudENvbHVtbi5jcmVhdGVDaGlsZCgic3BhbiIs
ICJ0b29sYmFyLXNlYXJjaC1jb250cm9sIik7CiAgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50
ID0gdGhpcy5fc2VhcmNoQ29udHJvbEVsZW1lbnQuY3JlYXRlQ2hpbGQoImlucHV0IiwgInNlYXJj
aC1yZXBsYWNlIik7CiAgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LmlkID0gInNlYXJjaC1p
bnB1dC1maWVsZCI7CiAgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LnBsYWNlaG9sZGVyID0g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJGaW5kIik7CiAKKyAgICB0aGlzLl9maWx0ZXJDb250cm9s
RWxlbWVudCA9IHNlYXJjaENvbnRyb2xFbGVtZW50Q29sdW1uLmNyZWF0ZUNoaWxkKCJzcGFuIiwg
InRvb2xiYXItc2VhcmNoLWNvbnRyb2wiKTsKKyAgICB0aGlzLl9maWx0ZXJDb250cm9sRWxlbWVu
dC5hZGRTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQg
PSB0aGlzLl9maWx0ZXJDb250cm9sRWxlbWVudC5jcmVhdGVDaGlsZCgiaW5wdXQiLCAiZmlsdGVy
Iik7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmlkID0gImZpbHRlci1pbnB1dC1maWVs
ZCI7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LnBsYWNlaG9sZGVyID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJGaWx0ZXIiKTsKKyAgCisKICAgICB0aGlzLl9tYXRjaGVzRWxlbWVudCA9
IHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50LmNyZWF0ZUNoaWxkKCJsYWJlbCIsICJzZWFyY2gt
cmVzdWx0cy1tYXRjaGVzIik7CiAgICAgdGhpcy5fbWF0Y2hlc0VsZW1lbnQuc2V0QXR0cmlidXRl
KCJmb3IiLCAic2VhcmNoLWlucHV0LWZpZWxkIik7CiAKQEAgLTYyLDkgKzcxLDEyIEBAIFdlYklu
c3BlY3Rvci5TZWFyY2hDb250cm9sbGVyID0gZnVuY3Rpb24oKQogCiAgICAgdGhpcy5fc2VhcmNo
SW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX29uU2VhcmNo
RmllbGRNYW51YWxGb2N1cy5iaW5kKHRoaXMpLCBmYWxzZSk7IC8vIHdoZW4gdGhlIHNlYXJjaCBm
aWVsZCBpcyBtYW51YWxseSBzZWxlY3RlZAogICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5h
ZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyksIHRy
dWUpOwotICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJpbnB1
dCIsIHRoaXMuX29uSW5wdXQuYmluZCh0aGlzKSwgZmFsc2UpOworICAgIHRoaXMuX2ZpbHRlcklu
cHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5fb25LZXlEb3duLmJp
bmQodGhpcyksIHRydWUpOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5hZGRFdmVudExp
c3RlbmVyKCJpbnB1dCIsIHRoaXMuX29uRmlsdGVySW5wdXQuYmluZCh0aGlzKSwgZmFsc2UpOwor
ICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsIHRo
aXMuX29uU2VhcmNoSW5wdXQuYmluZCh0aGlzKSwgZmFsc2UpOwogCiAgICAgdGhpcy5fcmVwbGFj
ZUlucHV0RWxlbWVudCA9IHRoaXMuX3NlY29uZFJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRkIiku
Y3JlYXRlQ2hpbGQoImlucHV0IiwgInNlYXJjaC1yZXBsYWNlIHRvb2xiYXItcmVwbGFjZS1jb250
cm9sIik7CisgICAgdGhpcy5fc2Vjb25kUm93RWxlbWVudC5jcmVhdGVDaGlsZCgidGQiKTsKICAg
ICB0aGlzLl9yZXBsYWNlSW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0
aGlzLl9vbktleURvd24uYmluZCh0aGlzKSwgdHJ1ZSk7CiAgICAgdGhpcy5fcmVwbGFjZUlucHV0
RWxlbWVudC5wbGFjZWhvbGRlciA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVwbGFjZSIpOwog
CkBAIC0xMDQsMTAgKzExNiwyNCBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlciA9IGZ1
bmN0aW9uKCkKICAgICB0aGlzLl9yZXBsYWNlTGFiZWxFbGVtZW50LnNldEF0dHJpYnV0ZSgiZm9y
IiwgInNlYXJjaC1yZXBsYWNlLXRyaWdnZXIiKTsKIAogICAgIC8vIENvbHVtbiA1CisgICAgdGhp
cy5fZmlsdGVyQ2hlY2tib3hDb250YWluZXIgPSB0aGlzLl9maXJzdFJvd0VsZW1lbnQuY3JlYXRl
Q2hpbGQoInRkIikuY3JlYXRlQ2hpbGQoInNwYW4iKTsKKworICAgIHRoaXMuX2ZpbHRlckNoZWNr
Ym94RWxlbWVudCA9IHRoaXMuX2ZpbHRlckNoZWNrYm94Q29udGFpbmVyLmNyZWF0ZUNoaWxkKCJp
bnB1dCIpOworICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC50eXBlID0gImNoZWNrYm94
IjsKKyAgICB0aGlzLl9maWx0ZXJDaGVja2JveEVsZW1lbnQuaWQgPSAiZmlsdGVyLXRyaWdnZXIi
OworICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIHRoaXMuX2ZpbHRlckNoZWNrYm94Q2xpY2suYmluZCh0aGlzKSwgZmFsc2UpOworICAKKwor
ICAgIHRoaXMuX2ZpbHRlckxhYmVsRWxlbWVudCA9IHRoaXMuX2ZpbHRlckNoZWNrYm94Q29udGFp
bmVyLmNyZWF0ZUNoaWxkKCJsYWJlbCIpOworICAgIHRoaXMuX2ZpbHRlckxhYmVsRWxlbWVudC50
ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRmlsdGVyIik7CisgICAgdGhpcy5f
ZmlsdGVyTGFiZWxFbGVtZW50LnNldEF0dHJpYnV0ZSgiZm9yIiwgImZpbHRlci10cmlnZ2VyIik7
CisKKyAgICAvLyBDb2x1bW4gNgogICAgIHZhciBjYW5jZWxCdXR0b25FbGVtZW50ID0gdGhpcy5f
Zmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpLmNyZWF0ZUNoaWxkKCJidXR0b24iKTsK
ICAgICBjYW5jZWxCdXR0b25FbGVtZW50LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJDYW5jZWwiKTsKICAgICBjYW5jZWxCdXR0b25FbGVtZW50LnRhYkluZGV4ID0gLTE7CiAg
ICAgY2FuY2VsQnV0dG9uRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuY2Fu
Y2VsU2VhcmNoLmJpbmQodGhpcyksIGZhbHNlKTsKKyAgICB0aGlzLl9zZWFyY2hPckZpbHRlclF1
ZXJ5ID0gIiI7CiB9CiAKIFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZSA9
IHsKQEAgLTEzMiw2ICsxNTgsMTAgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJv
dG90eXBlID0gewogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9zZWFyY2hJc1Zpc2libGUpCiAg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlmICh0aGlzLl9maWx0ZXJDaGVja2JveEVsZW1l
bnQuY2hlY2tlZCkgeworICAgICAgICAgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50LmNo
ZWNrZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHRoaXMuc2hvd1NlYXJjaEZpZWxkKCk7CisgICAg
ICAgIH0gCiAgICAgICAgIGRlbGV0ZSB0aGlzLl9zZWFyY2hJc1Zpc2libGU7CiAgICAgICAgIFdl
Ykluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LnNldEZvb3RlckVsZW1lbnQobnVsbCk7CiAgICAgICAg
IHRoaXMucmVzZXRTZWFyY2goKTsKQEAgLTIyMSwxMyArMjUxLDQxIEBAIFdlYkluc3BlY3Rvci5T
ZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKIAogICAgIHNob3dTZWFyY2hGaWVsZDogZnVu
Y3Rpb24oKQogICAgIHsKKyAgICAgICAgdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQuYWRkU3R5
bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50LnJl
bW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1l
bnQudmFsdWUgPSB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWU7CiAgICAgICAgIFdlYklu
c3BlY3Rvci5pbnNwZWN0b3JWaWV3LnNldEZvb3RlckVsZW1lbnQodGhpcy5fZWxlbWVudCk7Cisg
ICAgICAgIGlmIChXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwoKS5jYW5T
ZWFyY2hBbmRGaWx0ZXIoKSkKKyAgICAgICAgICAgIHRoaXMucmVzZXRGaWx0ZXIoKTsKKyAgICAg
ICAgdGhpcy5fcGVyZm9ybVNlYXJjaCh0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUsIGZh
bHNlLCBmYWxzZSk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVJlcGxhY2VWaXNpYmlsaXR5KCk7Cisg
ICAgICAgIHRoaXMuX3VwZGF0ZUZpbHRlclZpc2liaWxpdHkoKTsKICAgICAgICAgdGhpcy5fc2Vh
cmNoSW5wdXRFbGVtZW50LmZvY3VzKCk7CiAgICAgICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVu
dC5zZWxlY3QoKTsKICAgICAgICAgdGhpcy5fc2VhcmNoSXNWaXNpYmxlID0gdHJ1ZTsKICAgICB9
LAogCisgICAgc2hvd0ZpbHRlckZpZWxkOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB0aGlz
Ll9zZWFyY2hDb250cm9sRWxlbWVudC5hZGRTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAgICAgICAg
dGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7Cisg
ICAgICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX3NlYXJjaElucHV0
RWxlbWVudC52YWx1ZTsKKyAgICAgICAgdGhpcy5yZXNldFNlYXJjaCgpOworICAgICAgICB0aGlz
Ll9wZXJmb3JtRmlsdGVyKHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC52YWx1ZSk7CisgICAgICAg
IHRoaXMuX3VwZGF0ZVJlcGxhY2VWaXNpYmlsaXR5KCk7CisgICAgICAgIHRoaXMuX3VwZGF0ZUZp
bHRlclZpc2liaWxpdHkoKTsKKyAgICAgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmZvY3Vz
KCk7CisgICAgICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5zZWxlY3QoKTsKKyAgICB9LAor
ICAgIAorICAgIF91cGRhdGVGaWx0ZXJWaXNpYmlsaXR5OiBmdW5jdGlvbigpCisgICAgeworICAg
ICAgICBpZiAoV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkuY2FuU2Vh
cmNoQW5kRmlsdGVyKCkpCisgICAgICAgICAgICB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5l
ci5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
dGhpcy5fZmlsdGVyQ2hlY2tib3hDb250YWluZXIuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7Cisg
ICAgfSwKKyAgCiAgICAgX3VwZGF0ZVJlcGxhY2VWaXNpYmlsaXR5OiBmdW5jdGlvbigpCiAgICAg
ewogICAgICAgICB2YXIgcGFuZWwgPSBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50
UGFuZWwoKTsKQEAgLTI2NSwxMSArMzIzLDYgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xs
ZXIucHJvdG90eXBlID0gewogICAgICAgICB9CiAgICAgfSwKIAotICAgIF9vbklucHV0OiBmdW5j
dGlvbihldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMuX3BlcmZvcm1TZWFyY2goZXZlbnQudGFy
Z2V0LnZhbHVlLCBmYWxzZSwgZmFsc2UpOwotICAgIH0sCi0KICAgICBfb25OZXh0QnV0dG9uU2Vh
cmNoOiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIC8vIFNpbXVsYXRlIG5leHQgc2Vh
cmNoIG9uIHNlYXJjaC1uYXZpZ2F0aW9uLWJ1dHRvbiBjbGljay4KQEAgLTM2NCw2ICs0MTcsMzcg
QEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgIHsKICAg
ICAgICAgdmFyIGN1cnJlbnRQYW5lbCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJl
bnRQYW5lbCgpOwogICAgICAgICBjdXJyZW50UGFuZWwucmVwbGFjZUFsbFdpdGgodGhpcy5fc2Vh
cmNoSW5wdXRFbGVtZW50LnZhbHVlLCB0aGlzLl9yZXBsYWNlSW5wdXRFbGVtZW50LnZhbHVlKTsK
KyAgICB9LAorICAKKyAgICBfZmlsdGVyQ2hlY2tib3hDbGljazogZnVuY3Rpb24oKQorICAgIHsK
KyAgICAgICAgaWYgKHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5jaGVja2VkKSAKKyAgICAg
ICAgICAgIHRoaXMuc2hvd0ZpbHRlckZpZWxkKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHRoaXMuc2hvd1NlYXJjaEZpZWxkKCk7CisgICAgfSwKKyAgICAKKyAgICAvKioKKyAgICAgKiBA
cGFyYW0ge3N0cmluZ30gcXVlcnkKKyAgICAgKi8KKyAgICBfcGVyZm9ybUZpbHRlcjogZnVuY3Rp
b24ocXVlcnkpCisgICAgeworICAgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJy
ZW50UGFuZWwoKS5wZXJmb3JtRmlsdGVyKHF1ZXJ5KTsKKyAgICB9LAorICAKKyAgICBfb25GaWx0
ZXJJbnB1dDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB0aGlzLl9wZXJmb3JtRmls
dGVyKGV2ZW50LnRhcmdldC52YWx1ZSk7CisgICAgfSwKKyAgCisgICAgX29uU2VhcmNoSW5wdXQ6
IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fcGVyZm9ybVNlYXJjaChldmVu
dC50YXJnZXQudmFsdWUsIGZhbHNlLCBmYWxzZSk7CisgICAgfSwKKyAgICAKKyAgICByZXNldEZp
bHRlcjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fcGVyZm9ybUZpbHRlcigiIik7
CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5jc3MKaW5kZXggZWE1ZWVkYzQ0ZTUyZjQ1NmZlNjA0Y2Q4MTkzMTQ5MzZjMmM1NjU5
Zi4uNDExZmUxYjkwNGE5MDcwMDg1NzRjZWJiNTc5MDFiZWEwMjhjMGU3MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwpAQCAtMjcxLDYg
KzI3MSwxNCBAQCBib2R5LmRldGFjaGVkLnBsYXRmb3JtLW1hYy1zbm93bGVvcGFyZCAjdG9vbGJh
ci1kcm9wZG93biB7CiAgICAgd2lkdGg6IDE2NXB4OwogfQogCisuZmlsdGVyIHsKKyAgICAtd2Vi
a2l0LWFwcGVhcmFuY2U6IG5vbmU7CisgICAgYm9yZGVyOiAwOworICAgIHBhZGRpbmc6IDAgMnB4
OworICAgIG1hcmdpbjogMDsKKyAgICB3aWR0aDogMjUzcHg7Cit9CisKIC5zZWFyY2gtcmVwbGFj
ZTpmb2N1cyB7CiAgICAgb3V0bGluZTogbm9uZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MKaW5kZXggZjQ1NDE5NGUx
YjA5NmIyMjQwZjJiMzQwZDIyM2NiZGM4YTJjZTA4Ny4uZDFjMTBkMmJiZmZlNDkzM2RhOTc3MWY4
NzM4MjMzM2Q2OTBjMmMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MKQEAgLTQ3MCwxNSArNDcwLDE1IEBACiAgICAg
ZGlzcGxheTogbm9uZTsKIH0KIAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1h
bGwgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLWl0ZW0sCi0ubmV0d29yay1sb2ctZ3Jp
ZC5kYXRhLWdyaWQuZmlsdGVyLWRvY3VtZW50IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29y
ay10eXBlLWRvY3VtZW50LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1zdHls
ZXNoZWV0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXN0eWxlc2hlZXQsCi0u
bmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWltYWdlIHRhYmxlLmRhdGEgdHIucmV2
ZWFsZWQubmV0d29yay10eXBlLWltYWdlLAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZp
bHRlci1zY3JpcHQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtc2NyaXB0LAot
Lm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci14aHIgdGFibGUuZGF0YSB0ci5yZXZl
YWxlZC5uZXR3b3JrLXR5cGUteGhyLAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRl
ci1mb250IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLWZvbnQsCi0ubmV0d29y
ay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXdlYnNvY2tldCB0YWJsZS5kYXRhIHRyLnJldmVh
bGVkLm5ldHdvcmstdHlwZS13ZWJzb2NrZXQsCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQu
ZmlsdGVyLW90aGVyIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLW90aGVyIHsK
Ky5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItYWxsIHRhYmxlLmRhdGEgdHIucmV2
ZWFsZWQubmV0d29yay1pdGVtOm5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlk
LmRhdGEtZ3JpZC5maWx0ZXItZG9jdW1lbnQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3Jr
LXR5cGUtZG9jdW1lbnQ6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0
YS1ncmlkLmZpbHRlci1zdHlsZXNoZWV0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10
eXBlLXN0eWxlc2hlZXQ6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0
YS1ncmlkLmZpbHRlci1pbWFnZSB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1p
bWFnZTpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmls
dGVyLXNjcmlwdCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1zY3JpcHQ6bm90
KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci14aHIg
dGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUteGhyOm5vdCguZmlsdGVyZWQtb3V0
KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItZm9udCB0YWJsZS5kYXRhIHRy
LnJldmVhbGVkLm5ldHdvcmstdHlwZS1mb250Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3Jr
LWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItd2Vic29ja2V0IHRhYmxlLmRhdGEgdHIucmV2ZWFs
ZWQubmV0d29yay10eXBlLXdlYnNvY2tldDpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1s
b2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLW90aGVyIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0
d29yay10eXBlLW90aGVyOm5vdCguZmlsdGVyZWQtb3V0KSB7CiAgICAgZGlzcGxheTogdGFibGUt
cm93OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158360</attachid>
            <date>2012-08-14 10:17:10 -0700</date>
            <delta_ts>2012-08-15 02:38:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120814211636.patch</filename>
            <type>text/plain</type>
            <size>16294</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2MwZDE0MmE5YTEwZjE3
MjA5NGU0MTJlZDA0Mjg5MmI2ZTgyZDE4Zi4uOWYyNTI3ZmE1ZmUzNjU0OGIyNDZlNWNkMDFmNTAy
NzA4YmNlOThiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA4LTE0ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgZmVhdHVyZTogdGhlcmUgYXJlIGJvdGggc2Vh
cmNoIGJhciBhbmQgZmlsdGVyIGJhciBpbiBuZXR3b3JrIHRhYncuIE9uZSBjYW4gc3dpY2ggdGhl
bSB1c2luZyBjaGVja2JveCAiZmlsdGVyaW5nIi4KKyAgICAgICAgRmlsZXJpbmcgYWxsb3dzIHRv
IHNob3cgb25seSByZXF1ZXN0cyB0aGF0IGNvbnRhaW4gYSBzdWJzdHJpbmcgZ2l2ZW4uCisKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUuY2FuY2VsRmlsdGVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUuX3BlcmZvcm1GaWx0ZXIp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5wZXJmb3Jt
RmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlLmNh
bmNlbEZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlw
ZS5wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENv
bnRyb2xsZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlcik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuY2FuY2VsU2Vh
cmNoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5z
aG93U2VhcmNoRmllbGQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIu
cHJvdG90eXBlLl9zd2l0Y2hGaWx0ZXJUb1NlYXJjaCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
U2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuX3N3aXRjaFNlYXJjaFRvRmlsdGVyKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fdXBkYXRlRmlsdGVy
VmlzaWJpbGl0eSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90
b3R5cGUuX3JlcGxhY2VBbGwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xs
ZXIucHJvdG90eXBlLl9maWx0ZXJDaGVja2JveENsaWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fcGVyZm9ybUZpbHRlcik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuX29uRmlsdGVySW5wdXQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLl9vblNlYXJj
aElucHV0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlw
ZS5yZXNldEZpbHRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
Y3NzOgorICAgICAgICAoLmZpbHRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9u
ZXR3b3JrTG9nVmlldy5jc3M6CisgICAgICAgICgubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQu
ZmlsdGVyLW90aGVyIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLW90aGVyOm5v
dCguZmlsdGVyZWQtb3V0KSk6CisKIDIwMTItMDgtMTQgIFlvc2hpZnVtaSBJbm91ZSAgPHlvc2lu
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbRm9ybXNdIENvcHkgU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLntjcHAsaH0gdG8gU3BpbkJ1dHRvbkVs
ZW1lbnQue2NwcCxofQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9OZXR3b3JrUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L05ldHdvcmtQYW5lbC5qcwppbmRleCAyZWZjMWRhZGY3NGYyNjU3YTQxMzk3ZTg2MTI0NTMwOWM1
NmFjNTIxLi44MDE3Mjk1MGM2Zjc4MjE3ZTViZWMzZjQxN2EzMmFmNjkyYTNmZGExIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwpA
QCAtNDgsNiArNDgsOCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcgPSBmdW5jdGlvbigp
CiAgICAgdGhpcy5fbWFpblJlcXVlc3RET01Db250ZW50VGltZSA9IC0xOwogICAgIHRoaXMuX2hp
ZGRlbkNhdGVnb3JpZXMgPSB7fTsKICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHMgPSBbXTsKKyAg
ICB0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3RzID0gbmV3IE1hcCgpOworICAgIAogICAgIHRoaXMu
X21hdGNoZWRSZXF1ZXN0c01hcCA9IHt9OwogICAgIHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVz
dEluZGV4ID0gLTE7CiAKQEAgLTM4NCw3ICszODYsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xv
Z1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSB0aGlzLl9yZXF1
ZXN0c1tpXTsKICAgICAgICAgICAgIHZhciByZXF1ZXN0VHJhbnNmZXJTaXplID0gKHJlcXVlc3Qu
Y2FjaGVkIHx8ICFyZXF1ZXN0LnRyYW5zZmVyU2l6ZSkgPyAwIDogcmVxdWVzdC50cmFuc2ZlclNp
emU7CiAgICAgICAgICAgICB0cmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVyU2l6ZTsKLSAg
ICAgICAgICAgIGlmICghdGhpcy5faGlkZGVuQ2F0ZWdvcmllcy5hbGwgfHwgIXRoaXMuX2hpZGRl
bkNhdGVnb3JpZXNbcmVxdWVzdC50eXBlLm5hbWUoKV0pIHsKKyAgICAgICAgICAgIGlmICgoIXRo
aXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8ICF0aGlzLl9oaWRkZW5DYXRlZ29yaWVzW3JlcXVl
c3QudHlwZS5uYW1lKCldKSAmJiAhdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5nZXQocmVxdWVz
dCkpIHsKICAgICAgICAgICAgICAgICBzZWxlY3RlZFJlcXVlc3RzTnVtYmVyKys7CiAgICAgICAg
ICAgICAgICAgc2VsZWN0ZWRUcmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVyU2l6ZTsKICAg
ICAgICAgICAgIH0KQEAgLTM5NCw3ICszOTYsNyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1Zp
ZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIG1heFRpbWUgPSByZXF1ZXN0LmVuZFRp
bWU7CiAgICAgICAgIH0KICAgICAgICAgdmFyIHRleHQgPSAiIjsKLSAgICAgICAgaWYgKHRoaXMu
X2hpZGRlbkNhdGVnb3JpZXMuYWxsKSB7CisgICAgICAgIGlmIChzZWxlY3RlZFJlcXVlc3RzTnVt
YmVyICE9PSByZXF1ZXN0c051bWJlcikgewogICAgICAgICAgICAgdGV4dCArPSBTdHJpbmcuc3By
aW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVkIC8gJWQgcmVxdWVzdHMiKSwgc2VsZWN0ZWRS
ZXF1ZXN0c051bWJlciwgcmVxdWVzdHNOdW1iZXIpOwogICAgICAgICAgICAgdGV4dCArPSAiICBc
dTI3NTggICIgKyBTdHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVzIC8gJXMg
dHJhbnNmZXJyZWQiKSwgTnVtYmVyLmJ5dGVzVG9TdHJpbmcoc2VsZWN0ZWRUcmFuc2ZlclNpemUp
LCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0cmFuc2ZlclNpemUpKTsKICAgICAgICAgfSBlbHNlIHsK
QEAgLTExNTIsNiArMTE1NCwyNSBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90
eXBlID0gewogICAgICAgICB0aGlzLl9oaWdobGlnaHROdGhNYXRjaGVkUmVxdWVzdChuZXdNYXRj
aGVkUmVxdWVzdEluZGV4LCBmYWxzZSk7CiAgICAgfSwKIAorICAgIC8qKgorICAgICAqIEBwYXJh
bSB7c3RyaW5nfSBxdWVyeQorICAgICAqLyAgICAKKyAgICBwZXJmb3JtRmlsdGVyOiBmdW5jdGlv
bihxdWVyeSkgeworICAgICAgICB0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3RzLmNsZWFyKCk7Cisg
ICAgICAgIHZhciBmaWx0ZXJSZWdFeHAgPSBjcmVhdGVQbGFpblRleHRTZWFyY2hSZWdleChxdWVy
eSwgImkiKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9kYXRhR3JpZC5yb290
Tm9kZSgpLmNoaWxkcmVuLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgbm9kZSA9IHRo
aXMuX2RhdGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRyZW5baV07CisgICAgICAgICAgICBub2RlLmVs
ZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVyZWQtb3V0Iik7CisgICAgICAgICAgICB2YXIg
dCA9IG5vZGUuX3JlcXVlc3QuZGlzcGxheU5hbWUubWF0Y2goZmlsdGVyUmVnRXhwKTsKKyAgICAg
ICAgICAgIGlmICghbm9kZS5fcmVxdWVzdC5kaXNwbGF5TmFtZS5tYXRjaChmaWx0ZXJSZWdFeHAp
KSB7CisgICAgICAgICAgICAgICAgbm9kZS5lbGVtZW50LmFkZFN0eWxlQ2xhc3MoImZpbHRlcmVk
LW91dCIpOworICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlcmVkT3V0UmVxdWVzdHMucHV0KHRo
aXMuX3JlcXVlc3RzW2ldLCB0cnVlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAg
ICB0aGlzLl91cGRhdGVTdW1tYXJ5QmFyKCk7CisgICAgICAgIHRoaXMuX3VwZGF0ZU9mZnNjcmVl
blJvd3MoKTsKKyAgICB9LAorICAgIAogICAgIGp1bXBUb1ByZXZpb3VzU2VhcmNoUmVzdWx0OiBm
dW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5n
dGgpCkBAIC0xNDA1LDExICsxNDI2LDIxIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJv
dG90eXBlID0gewogICAgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5zd2l0Y2hUb0JyaWVmVmll
dygpOwogICAgIH0sCiAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gc2VhcmNoUXVl
cnkKKyAgICAgKi8gICAgCiAgICAgcGVyZm9ybVNlYXJjaDogZnVuY3Rpb24oc2VhcmNoUXVlcnkp
CiAgICAgewogICAgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5wZXJmb3JtU2VhcmNoKHNlYXJj
aFF1ZXJ5KTsKICAgICB9LAotCisgICAgCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9
IHF1ZXJ5CisgICAgICovICAgIAorICAgIHBlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KXsK
KyAgICAgICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcucGVyZm9ybUZpbHRlcihxdWVyeSk7CisgICAg
fSwKKyAgICAKICAgICBqdW1wVG9QcmV2aW91c1NlYXJjaFJlc3VsdDogZnVuY3Rpb24oKQogICAg
IHsKICAgICAgICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcuanVtcFRvUHJldmlvdXNTZWFyY2hSZXN1
bHQoKTsKQEAgLTE3MjIsNiArMTc1Myw4IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWRO
b2RlLnByb3RvdHlwZSA9IHsKIAogICAgIGlzRmlsdGVyZWRPdXQ6IGZ1bmN0aW9uKCkKICAgICB7
CisgICAgICAgIGlmICh0aGlzLl9wYXJlbnRWaWV3Ll9maWx0ZXJlZE91dFJlcXVlc3RzLmdldCh0
aGlzLl9yZXF1ZXN0KSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBpZiAoIXRo
aXMuX3BhcmVudFZpZXcuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWVzdC50eXBlLm5hbWUoKSBpbiB0aGlz
Ll9wYXJlbnRWaWV3Ll9oaWRkZW5DYXRlZ29yaWVzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzCmluZGV4IGQxOGUyODBl
MWE2NmQ0YTJmZTMxNzBkODJiMWE5MTM0YzQyY2QxZGUuLjY3ZTZmODk0YzJmNzNjNGRkZDZmMmM5
OTMwMjE3MGRhNzQ5N2JhMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKQEAgLTQyLDExICs0MiwyMCBAQCBXZWJJ
bnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlciA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLl9zZWNvbmRS
b3dFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5jcmVhdGVDaGlsZCgidHIiLCAiaGlkZGVuIik7CiAK
ICAgICAvLyBDb2x1bW4gMQotICAgIHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50ID0gdGhpcy5f
Zmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpLmNyZWF0ZUNoaWxkKCJzcGFuIiwgInRv
b2xiYXItc2VhcmNoLWNvbnRyb2wiKTsKKyAgICB2YXIgc2VhcmNoQ29udHJvbEVsZW1lbnRDb2x1
bW4gPSB0aGlzLl9maXJzdFJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRkIik7IAorICAgIHRoaXMu
X2ZpcnN0Um93RWxlbWVudC5jcmVhdGVDaGlsZCgidGQiKTsKKyAgICB0aGlzLl9zZWFyY2hDb250
cm9sRWxlbWVudCA9IHNlYXJjaENvbnRyb2xFbGVtZW50Q29sdW1uLmNyZWF0ZUNoaWxkKCJzcGFu
IiwgInRvb2xiYXItc2VhcmNoLWNvbnRyb2wiKTsKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1l
bnQgPSB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudC5jcmVhdGVDaGlsZCgiaW5wdXQiLCAic2Vh
cmNoLXJlcGxhY2UiKTsKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuaWQgPSAic2VhcmNo
LWlucHV0LWZpZWxkIjsKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQucGxhY2Vob2xkZXIg
PSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZpbmQiKTsKIAorICAgIHRoaXMuX2ZpbHRlckNvbnRy
b2xFbGVtZW50ID0gc2VhcmNoQ29udHJvbEVsZW1lbnRDb2x1bW4uY3JlYXRlQ2hpbGQoInNwYW4i
LCAidG9vbGJhci1zZWFyY2gtY29udHJvbCIpOworICAgIHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVt
ZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVu
dCA9IHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50LmNyZWF0ZUNoaWxkKCJpbnB1dCIsICJmaWx0
ZXIiKTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuaWQgPSAiZmlsdGVyLWlucHV0LWZp
ZWxkIjsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQucGxhY2Vob2xkZXIgPSBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIkZpbHRlciIpOworICAKKwogICAgIHRoaXMuX21hdGNoZXNFbGVtZW50
ID0gdGhpcy5fc2VhcmNoQ29udHJvbEVsZW1lbnQuY3JlYXRlQ2hpbGQoImxhYmVsIiwgInNlYXJj
aC1yZXN1bHRzLW1hdGNoZXMiKTsKICAgICB0aGlzLl9tYXRjaGVzRWxlbWVudC5zZXRBdHRyaWJ1
dGUoImZvciIsICJzZWFyY2gtaW5wdXQtZmllbGQiKTsKIApAQCAtNjIsOSArNzEsMTIgQEAgV2Vi
SW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIgPSBmdW5jdGlvbigpCiAKICAgICB0aGlzLl9zZWFy
Y2hJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fb25TZWFy
Y2hGaWVsZE1hbnVhbEZvY3VzLmJpbmQodGhpcyksIGZhbHNlKTsgLy8gd2hlbiB0aGUgc2VhcmNo
IGZpZWxkIGlzIG1hbnVhbGx5IHNlbGVjdGVkCiAgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50
LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9vbktleURvd24uYmluZCh0aGlzKSwg
dHJ1ZSk7Ci0gICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImlu
cHV0IiwgdGhpcy5fb25JbnB1dC5iaW5kKHRoaXMpLCBmYWxzZSk7CisgICAgdGhpcy5fZmlsdGVy
SW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9vbktleURvd24u
YmluZCh0aGlzKSwgdHJ1ZSk7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmFkZEV2ZW50
TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25GaWx0ZXJJbnB1dC5iaW5kKHRoaXMpLCBmYWxzZSk7
CisgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0Iiwg
dGhpcy5fb25TZWFyY2hJbnB1dC5iaW5kKHRoaXMpLCBmYWxzZSk7CiAKICAgICB0aGlzLl9yZXBs
YWNlSW5wdXRFbGVtZW50ID0gdGhpcy5fc2Vjb25kUm93RWxlbWVudC5jcmVhdGVDaGlsZCgidGQi
KS5jcmVhdGVDaGlsZCgiaW5wdXQiLCAic2VhcmNoLXJlcGxhY2UgdG9vbGJhci1yZXBsYWNlLWNv
bnRyb2wiKTsKKyAgICB0aGlzLl9zZWNvbmRSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpOwog
ICAgIHRoaXMuX3JlcGxhY2VJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIs
IHRoaXMuX29uS2V5RG93bi5iaW5kKHRoaXMpLCB0cnVlKTsKICAgICB0aGlzLl9yZXBsYWNlSW5w
dXRFbGVtZW50LnBsYWNlaG9sZGVyID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXBsYWNlIik7
CiAKQEAgLTEwNCwxMCArMTE2LDI0IEBAIFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyID0g
ZnVuY3Rpb24oKQogICAgIHRoaXMuX3JlcGxhY2VMYWJlbEVsZW1lbnQuc2V0QXR0cmlidXRlKCJm
b3IiLCAic2VhcmNoLXJlcGxhY2UtdHJpZ2dlciIpOwogCiAgICAgLy8gQ29sdW1uIDUKKyAgICB0
aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lciA9IHRoaXMuX2ZpcnN0Um93RWxlbWVudC5jcmVh
dGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgic3BhbiIpOworCisgICAgdGhpcy5fZmlsdGVyQ2hl
Y2tib3hFbGVtZW50ID0gdGhpcy5fZmlsdGVyQ2hlY2tib3hDb250YWluZXIuY3JlYXRlQ2hpbGQo
ImlucHV0Iik7CisgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50LnR5cGUgPSAiY2hlY2ti
b3giOworICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5pZCA9ICJmaWx0ZXItdHJpZ2dl
ciI7CisgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNs
aWNrIiwgdGhpcy5fZmlsdGVyQ2hlY2tib3hDbGljay5iaW5kKHRoaXMpLCBmYWxzZSk7CisgIAor
CisgICAgdGhpcy5fZmlsdGVyTGFiZWxFbGVtZW50ID0gdGhpcy5fZmlsdGVyQ2hlY2tib3hDb250
YWluZXIuY3JlYXRlQ2hpbGQoImxhYmVsIik7CisgICAgdGhpcy5fZmlsdGVyTGFiZWxFbGVtZW50
LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJGaWx0ZXIiKTsKKyAgICB0aGlz
Ll9maWx0ZXJMYWJlbEVsZW1lbnQuc2V0QXR0cmlidXRlKCJmb3IiLCAiZmlsdGVyLXRyaWdnZXIi
KTsKKworICAgIC8vIENvbHVtbiA2CiAgICAgdmFyIGNhbmNlbEJ1dHRvbkVsZW1lbnQgPSB0aGlz
Ll9maXJzdFJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRkIikuY3JlYXRlQ2hpbGQoImJ1dHRvbiIp
OwogICAgIGNhbmNlbEJ1dHRvbkVsZW1lbnQudGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkNhbmNlbCIpOwogICAgIGNhbmNlbEJ1dHRvbkVsZW1lbnQudGFiSW5kZXggPSAtMTsK
ICAgICBjYW5jZWxCdXR0b25FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5j
YW5jZWxTZWFyY2guYmluZCh0aGlzKSwgZmFsc2UpOworICAgIHRoaXMuX3NlYXJjaE9yRmlsdGVy
UXVlcnkgPSAiIjsKIH0KIAogV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBl
ID0gewpAQCAtMTMyLDYgKzE1OCwxMCBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5w
cm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX3NlYXJjaElzVmlzaWJsZSkK
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKHRoaXMuX2ZpbHRlckNoZWNrYm94RWxl
bWVudC5jaGVja2VkKSB7CisgICAgICAgICAgICB0aGlzLl9maWx0ZXJDaGVja2JveEVsZW1lbnQu
Y2hlY2tlZCA9IGZhbHNlOworICAgICAgICAgICAgdGhpcy5fc3dpdGNoRmlsdGVyVG9TZWFyY2go
KTsKKyAgICAgICAgfSAKICAgICAgICAgZGVsZXRlIHRoaXMuX3NlYXJjaElzVmlzaWJsZTsKICAg
ICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuc2V0Rm9vdGVyRWxlbWVudChudWxsKTsK
ICAgICAgICAgdGhpcy5yZXNldFNlYXJjaCgpOwpAQCAtMjIyLDEyICsyNTIsNDIgQEAgV2ViSW5z
cGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgIHNob3dTZWFyY2hGaWVs
ZDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcu
c2V0Rm9vdGVyRWxlbWVudCh0aGlzLl9lbGVtZW50KTsKKyAgICAgICAgdGhpcy5fcGVyZm9ybVNl
YXJjaCh0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUpOwogICAgICAgICB0aGlzLl91cGRh
dGVSZXBsYWNlVmlzaWJpbGl0eSgpOworICAgICAgICB0aGlzLl91cGRhdGVGaWx0ZXJWaXNpYmls
aXR5KCk7CiAgICAgICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5mb2N1cygpOwogICAgICAg
ICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuc2VsZWN0KCk7CiAgICAgICAgIHRoaXMuX3NlYXJj
aElzVmlzaWJsZSA9IHRydWU7CiAgICAgfSwKIAorICAgIF9zd2l0Y2hGaWx0ZXJUb1NlYXJjaDog
ZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQuYWRk
U3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50
LnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVs
ZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LnNlbGVjdCgp
OworICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUgPSB0aGlzLl9maWx0ZXJJ
bnB1dEVsZW1lbnQudmFsdWU7CisgICAgICAgIHRoaXMucmVzZXRGaWx0ZXIoKTsKKyAgICB9LAor
CisgICAgX3N3aXRjaFNlYXJjaFRvRmlsdGVyOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB0
aGlzLl9maWx0ZXJDb250cm9sRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAg
ICAgICAgdGhpcy5fc2VhcmNoQ29udHJvbEVsZW1lbnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7
CisgICAgICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5mb2N1cygpOworICAgICAgICB0aGlz
Ll9maWx0ZXJJbnB1dEVsZW1lbnQuc2VsZWN0KCk7CisgICAgICAgIHRoaXMuX2ZpbHRlcklucHV0
RWxlbWVudC52YWx1ZSA9IHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC52YWx1ZTsKKyAgICAgICAg
dGhpcy5yZXNldFNlYXJjaCgpOworICAgIH0sCisgICAgCisgICAgX3VwZGF0ZUZpbHRlclZpc2li
aWxpdHk6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICh0eXBlb2YgV2ViSW5zcGVjdG9y
Lmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkucGVyZm9ybUZpbHRlciA9PT0gImZ1bmN0aW9u
IikKKyAgICAgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94Q29udGFpbmVyLnJlbW92ZVN0eWxl
Q2xhc3MoImhpZGRlbiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aGlzLl9maWx0ZXJD
aGVja2JveENvbnRhaW5lci5hZGRTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAgICB9LAorICAKICAg
ICBfdXBkYXRlUmVwbGFjZVZpc2liaWxpdHk6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHZh
ciBwYW5lbCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpOwpAQCAt
MjY1LDExICszMjUsNiBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUg
PSB7CiAgICAgICAgIH0KICAgICB9LAogCi0gICAgX29uSW5wdXQ6IGZ1bmN0aW9uKGV2ZW50KQot
ICAgIHsKLSAgICAgICAgdGhpcy5fcGVyZm9ybVNlYXJjaChldmVudC50YXJnZXQudmFsdWUsIGZh
bHNlLCBmYWxzZSk7Ci0gICAgfSwKLQogICAgIF9vbk5leHRCdXR0b25TZWFyY2g6IGZ1bmN0aW9u
KGV2ZW50KQogICAgIHsKICAgICAgICAgLy8gU2ltdWxhdGUgbmV4dCBzZWFyY2ggb24gc2VhcmNo
LW5hdmlnYXRpb24tYnV0dG9uIGNsaWNrLgpAQCAtMzY0LDYgKzQxOSw0MiBAQCBXZWJJbnNwZWN0
b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgY3Vy
cmVudFBhbmVsID0gV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCk7CiAg
ICAgICAgIGN1cnJlbnRQYW5lbC5yZXBsYWNlQWxsV2l0aCh0aGlzLl9zZWFyY2hJbnB1dEVsZW1l
bnQudmFsdWUsIHRoaXMuX3JlcGxhY2VJbnB1dEVsZW1lbnQudmFsdWUpOworICAgIH0sCisgIAor
ICAgIF9maWx0ZXJDaGVja2JveENsaWNrOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAo
dGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50LmNoZWNrZWQpIHsgCisgICAgICAgICAgICB0aGlz
Ll9zd2l0Y2hTZWFyY2hUb0ZpbHRlcigpOworICAgICAgICAgICAgdGhpcy5fcGVyZm9ybUZpbHRl
cih0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWUpOworICAgICAgICB9CisgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgdGhpcy5fc3dpdGNoRmlsdGVyVG9TZWFyY2goKTsKKyAgICAgICAg
ICAgIHRoaXMuX3BlcmZvcm1TZWFyY2godGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LnZhbHVlLCBm
YWxzZSwgZmFsc2UpOworICAgICAgICB9CisgICAgfSwKKyAgICAKKyAgICAvKioKKyAgICAgKiBA
cGFyYW0ge3N0cmluZ30gcXVlcnkKKyAgICAgKi8KKyAgICBfcGVyZm9ybUZpbHRlcjogZnVuY3Rp
b24ocXVlcnkpCisgICAgeworICAgICAgICBpZiAodHlwZW9mIFdlYkluc3BlY3Rvci5pbnNwZWN0
b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1GaWx0ZXIgPT09ICJmdW5jdGlvbiIpCisgICAg
ICAgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwoKS5wZXJmb3Jt
RmlsdGVyKHF1ZXJ5KTsKKyAgICB9LAorICAKKyAgICBfb25GaWx0ZXJJbnB1dDogZnVuY3Rpb24o
ZXZlbnQpCisgICAgeworICAgICAgICB0aGlzLl9wZXJmb3JtRmlsdGVyKGV2ZW50LnRhcmdldC52
YWx1ZSk7CisgICAgfSwKKyAgCisgICAgX29uU2VhcmNoSW5wdXQ6IGZ1bmN0aW9uKGV2ZW50KQor
ICAgIHsKKyAgICAgICAgdGhpcy5fcGVyZm9ybVNlYXJjaChldmVudC50YXJnZXQudmFsdWUsIGZh
bHNlLCBmYWxzZSk7CisgICAgfSwKKyAgICAKKyAgICByZXNldEZpbHRlcjogZnVuY3Rpb24oKQor
ICAgIHsKKyAgICAgICAgdGhpcy5fcGVyZm9ybUZpbHRlcigiIik7CiAgICAgfQogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3Mg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKaW5kZXgg
ZWE1ZWVkYzQ0ZTUyZjQ1NmZlNjA0Y2Q4MTkzMTQ5MzZjMmM1NjU5Zi4uNDExZmUxYjkwNGE5MDcw
MDg1NzRjZWJiNTc5MDFiZWEwMjhjMGU3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwpAQCAtMjcxLDYgKzI3MSwxNCBAQCBib2R5LmRl
dGFjaGVkLnBsYXRmb3JtLW1hYy1zbm93bGVvcGFyZCAjdG9vbGJhci1kcm9wZG93biB7CiAgICAg
d2lkdGg6IDE2NXB4OwogfQogCisuZmlsdGVyIHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5v
bmU7CisgICAgYm9yZGVyOiAwOworICAgIHBhZGRpbmc6IDAgMnB4OworICAgIG1hcmdpbjogMDsK
KyAgICB3aWR0aDogMjUzcHg7Cit9CisKIC5zZWFyY2gtcmVwbGFjZTpmb2N1cyB7CiAgICAgb3V0
bGluZTogbm9uZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MKaW5kZXggZjQ1NDE5NGUxYjA5NmIyMjQwZjJiMzQwZDIy
M2NiZGM4YTJjZTA4Ny4uZDFjMTBkMmJiZmZlNDkzM2RhOTc3MWY4NzM4MjMzM2Q2OTBjMmMwYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3JrTG9n
Vmlldy5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3Jr
TG9nVmlldy5jc3MKQEAgLTQ3MCwxNSArNDcwLDE1IEBACiAgICAgZGlzcGxheTogbm9uZTsKIH0K
IAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1hbGwgdGFibGUuZGF0YSB0ci5y
ZXZlYWxlZC5uZXR3b3JrLWl0ZW0sCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVy
LWRvY3VtZW50IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLWRvY3VtZW50LAot
Lm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1zdHlsZXNoZWV0IHRhYmxlLmRhdGEg
dHIucmV2ZWFsZWQubmV0d29yay10eXBlLXN0eWxlc2hlZXQsCi0ubmV0d29yay1sb2ctZ3JpZC5k
YXRhLWdyaWQuZmlsdGVyLWltYWdlIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBl
LWltYWdlLAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1zY3JpcHQgdGFibGUu
ZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtc2NyaXB0LAotLm5ldHdvcmstbG9nLWdyaWQu
ZGF0YS1ncmlkLmZpbHRlci14aHIgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUt
eGhyLAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1mb250IHRhYmxlLmRhdGEg
dHIucmV2ZWFsZWQubmV0d29yay10eXBlLWZvbnQsCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdy
aWQuZmlsdGVyLXdlYnNvY2tldCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS13
ZWJzb2NrZXQsCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLW90aGVyIHRhYmxl
LmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLW90aGVyIHsKKy5uZXR3b3JrLWxvZy1ncmlk
LmRhdGEtZ3JpZC5maWx0ZXItYWxsIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay1pdGVt
Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXIt
ZG9jdW1lbnQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtZG9jdW1lbnQ6bm90
KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1zdHls
ZXNoZWV0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXN0eWxlc2hlZXQ6bm90
KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1pbWFn
ZSB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1pbWFnZTpub3QoLmZpbHRlcmVk
LW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXNjcmlwdCB0YWJsZS5k
YXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1zY3JpcHQ6bm90KC5maWx0ZXJlZC1vdXQpLAor
Lm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci14aHIgdGFibGUuZGF0YSB0ci5yZXZl
YWxlZC5uZXR3b3JrLXR5cGUteGhyOm5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1n
cmlkLmRhdGEtZ3JpZC5maWx0ZXItZm9udCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmst
dHlwZS1mb250Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3Jp
ZC5maWx0ZXItd2Vic29ja2V0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXdl
YnNvY2tldDpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQu
ZmlsdGVyLW90aGVyIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLW90aGVyOm5v
dCguZmlsdGVyZWQtb3V0KSB7CiAgICAgZGlzcGxheTogdGFibGUtcm93OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158532</attachid>
            <date>2012-08-15 02:39:01 -0700</date>
            <delta_ts>2012-08-16 05:00:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120815133826.patch</filename>
            <type>text/plain</type>
            <size>15526</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUxYzViM2ZlMTdhNTM0
NjMyNWExNzYyNTA0M2EzMDRjNmUzMzIyYy4uN2M5MjBlMmNhZjdmNDhkYjc5NzlhMTljOTBmZjhj
MzhjMTM5ZWViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA4LTE1ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmaWx0ZXJpbmcgc3VwcG9ydCB0byBzZWFy
Y2ggcGFuZWwuCisgICAgICAgIEltcGxlbWVudGVkIGZpbHRlcmluZyBmb3IgbmV0d29yayBwYW5l
bC4KKyAgICAgICAgCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLnBlcmZv
cm1GaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5lbC5wcm90b3R5cGUu
cGVyZm9ybUZpbHRlcik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250
cm9sbGVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLmNhbmNlbFNlYXJj
aCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuc2hv
d1NlYXJjaEZpZWxkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnBy
b3RvdHlwZS5fc3dpdGNoRmlsdGVyVG9TZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNl
YXJjaENvbnRyb2xsZXIucHJvdG90eXBlLl9zd2l0Y2hTZWFyY2hUb0ZpbHRlcik6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuX3VwZGF0ZUZpbHRlclZp
c2liaWxpdHkpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90
eXBlLl9yZXBsYWNlQWxsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVy
LnByb3RvdHlwZS5fZmlsdGVyQ2hlY2tib3hDbGljayk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
U2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuX3BlcmZvcm1GaWx0ZXIpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLl9vbkZpbHRlcklucHV0KToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fb25TZWFyY2hJ
bnB1dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUu
cmVzZXRGaWx0ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNz
czoKKyAgICAgICAgKC5maWx0ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvbmV0
d29ya0xvZ1ZpZXcuY3NzOgorICAgICAgICAoLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZp
bHRlci1vdGhlciB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1vdGhlcjpub3Qo
LmZpbHRlcmVkLW91dCkpOgorCiAyMDEyLTA4LTE0ICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNo
aWN1QGFkb2JlLmNvbT4KIAogICAgICAgICBMYXlvdXQgVGVzdCBjc3MzL2ZpbHRlcnMvY3VzdG9t
L2N1c3RvbS1maWx0ZXItYW5pbWF0aW9uLmh0bWwgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwppbmRleCAyZWZjMWRh
ZGY3NGYyNjU3YTQxMzk3ZTg2MTI0NTMwOWM1NmFjNTIxLi44MDE3Mjk1MGM2Zjc4MjE3ZTViZWMz
ZjQxN2EzMmFmNjkyYTNmZGExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwpAQCAtNDgsNiArNDgsOCBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0xvZ1ZpZXcgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fbWFpblJlcXVlc3RET01Db250
ZW50VGltZSA9IC0xOwogICAgIHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMgPSB7fTsKICAgICB0aGlz
Ll9tYXRjaGVkUmVxdWVzdHMgPSBbXTsKKyAgICB0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3RzID0g
bmV3IE1hcCgpOworICAgIAogICAgIHRoaXMuX21hdGNoZWRSZXF1ZXN0c01hcCA9IHt9OwogICAg
IHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4ID0gLTE7CiAKQEAgLTM4NCw3ICszODYs
NyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgdmFyIHJlcXVlc3QgPSB0aGlzLl9yZXF1ZXN0c1tpXTsKICAgICAgICAgICAgIHZhciByZXF1
ZXN0VHJhbnNmZXJTaXplID0gKHJlcXVlc3QuY2FjaGVkIHx8ICFyZXF1ZXN0LnRyYW5zZmVyU2l6
ZSkgPyAwIDogcmVxdWVzdC50cmFuc2ZlclNpemU7CiAgICAgICAgICAgICB0cmFuc2ZlclNpemUg
Kz0gcmVxdWVzdFRyYW5zZmVyU2l6ZTsKLSAgICAgICAgICAgIGlmICghdGhpcy5faGlkZGVuQ2F0
ZWdvcmllcy5hbGwgfHwgIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXNbcmVxdWVzdC50eXBlLm5hbWUo
KV0pIHsKKyAgICAgICAgICAgIGlmICgoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8ICF0
aGlzLl9oaWRkZW5DYXRlZ29yaWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSAmJiAhdGhpcy5fZmls
dGVyZWRPdXRSZXF1ZXN0cy5nZXQocmVxdWVzdCkpIHsKICAgICAgICAgICAgICAgICBzZWxlY3Rl
ZFJlcXVlc3RzTnVtYmVyKys7CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUcmFuc2ZlclNpemUg
Kz0gcmVxdWVzdFRyYW5zZmVyU2l6ZTsKICAgICAgICAgICAgIH0KQEAgLTM5NCw3ICszOTYsNyBA
QCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAg
ICAgIG1heFRpbWUgPSByZXF1ZXN0LmVuZFRpbWU7CiAgICAgICAgIH0KICAgICAgICAgdmFyIHRl
eHQgPSAiIjsKLSAgICAgICAgaWYgKHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKSB7CisgICAg
ICAgIGlmIChzZWxlY3RlZFJlcXVlc3RzTnVtYmVyICE9PSByZXF1ZXN0c051bWJlcikgewogICAg
ICAgICAgICAgdGV4dCArPSBTdHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVk
IC8gJWQgcmVxdWVzdHMiKSwgc2VsZWN0ZWRSZXF1ZXN0c051bWJlciwgcmVxdWVzdHNOdW1iZXIp
OwogICAgICAgICAgICAgdGV4dCArPSAiICBcdTI3NTggICIgKyBTdHJpbmcuc3ByaW50ZihXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIiVzIC8gJXMgdHJhbnNmZXJyZWQiKSwgTnVtYmVyLmJ5dGVzVG9T
dHJpbmcoc2VsZWN0ZWRUcmFuc2ZlclNpemUpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0cmFuc2Zl
clNpemUpKTsKICAgICAgICAgfSBlbHNlIHsKQEAgLTExNTIsNiArMTE1NCwyNSBAQCBXZWJJbnNw
ZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9oaWdobGln
aHROdGhNYXRjaGVkUmVxdWVzdChuZXdNYXRjaGVkUmVxdWVzdEluZGV4LCBmYWxzZSk7CiAgICAg
fSwKIAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBxdWVyeQorICAgICAqLyAgICAK
KyAgICBwZXJmb3JtRmlsdGVyOiBmdW5jdGlvbihxdWVyeSkgeworICAgICAgICB0aGlzLl9maWx0
ZXJlZE91dFJlcXVlc3RzLmNsZWFyKCk7CisgICAgICAgIHZhciBmaWx0ZXJSZWdFeHAgPSBjcmVh
dGVQbGFpblRleHRTZWFyY2hSZWdleChxdWVyeSwgImkiKTsKKyAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCB0aGlzLl9kYXRhR3JpZC5yb290Tm9kZSgpLmNoaWxkcmVuLmxlbmd0aDsgKytpKSB7
CisgICAgICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX2RhdGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRy
ZW5baV07CisgICAgICAgICAgICBub2RlLmVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVy
ZWQtb3V0Iik7CisgICAgICAgICAgICB2YXIgdCA9IG5vZGUuX3JlcXVlc3QuZGlzcGxheU5hbWUu
bWF0Y2goZmlsdGVyUmVnRXhwKTsKKyAgICAgICAgICAgIGlmICghbm9kZS5fcmVxdWVzdC5kaXNw
bGF5TmFtZS5tYXRjaChmaWx0ZXJSZWdFeHApKSB7CisgICAgICAgICAgICAgICAgbm9kZS5lbGVt
ZW50LmFkZFN0eWxlQ2xhc3MoImZpbHRlcmVkLW91dCIpOworICAgICAgICAgICAgICAgIHRoaXMu
X2ZpbHRlcmVkT3V0UmVxdWVzdHMucHV0KHRoaXMuX3JlcXVlc3RzW2ldLCB0cnVlKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICB0aGlzLl91cGRhdGVTdW1tYXJ5QmFyKCk7Cisg
ICAgICAgIHRoaXMuX3VwZGF0ZU9mZnNjcmVlblJvd3MoKTsKKyAgICB9LAorICAgIAogICAgIGp1
bXBUb1ByZXZpb3VzU2VhcmNoUmVzdWx0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAo
IXRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5ndGgpCkBAIC0xNDA1LDExICsxNDI2LDIxIEBAIFdl
Ykluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9uZXR3
b3JrTG9nVmlldy5zd2l0Y2hUb0JyaWVmVmlldygpOwogICAgIH0sCiAKKyAgICAvKioKKyAgICAg
KiBAcGFyYW0ge3N0cmluZ30gc2VhcmNoUXVlcnkKKyAgICAgKi8gICAgCiAgICAgcGVyZm9ybVNl
YXJjaDogZnVuY3Rpb24oc2VhcmNoUXVlcnkpCiAgICAgewogICAgICAgICB0aGlzLl9uZXR3b3Jr
TG9nVmlldy5wZXJmb3JtU2VhcmNoKHNlYXJjaFF1ZXJ5KTsKICAgICB9LAotCisgICAgCisgICAg
LyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5CisgICAgICovICAgIAorICAgIHBlcmZv
cm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KXsKKyAgICAgICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcu
cGVyZm9ybUZpbHRlcihxdWVyeSk7CisgICAgfSwKKyAgICAKICAgICBqdW1wVG9QcmV2aW91c1Nl
YXJjaFJlc3VsdDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5fbmV0d29ya0xvZ1Zp
ZXcuanVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQoKTsKQEAgLTE3MjIsNiArMTc1Myw4IEBAIFdl
Ykluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZSA9IHsKIAogICAgIGlzRmls
dGVyZWRPdXQ6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAgIGlmICh0aGlzLl9wYXJlbnRWaWV3
Ll9maWx0ZXJlZE91dFJlcXVlc3RzLmdldCh0aGlzLl9yZXF1ZXN0KSkKKyAgICAgICAgICAgIHJl
dHVybiB0cnVlOwogICAgICAgICBpZiAoIXRoaXMuX3BhcmVudFZpZXcuX2hpZGRlbkNhdGVnb3Jp
ZXMuYWxsKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICByZXR1cm4gdGhpcy5f
cmVxdWVzdC50eXBlLm5hbWUoKSBpbiB0aGlzLl9wYXJlbnRWaWV3Ll9oaWRkZW5DYXRlZ29yaWVz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hD
b250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hD
b250cm9sbGVyLmpzCmluZGV4IGQxOGUyODBlMWE2NmQ0YTJmZTMxNzBkODJiMWE5MTM0YzQyY2Qx
ZGUuLjUwYzFjYTZlMzc0YzNjZGIwODliNmE2YmYyZmMzOWYxODljZWE2YjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIu
anMKQEAgLTQyLDExICs0MiwxOCBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlciA9IGZ1
bmN0aW9uKCkKICAgICB0aGlzLl9zZWNvbmRSb3dFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5jcmVh
dGVDaGlsZCgidHIiLCAiaGlkZGVuIik7CiAKICAgICAvLyBDb2x1bW4gMQotICAgIHRoaXMuX3Nl
YXJjaENvbnRyb2xFbGVtZW50ID0gdGhpcy5fZmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0
ZCIpLmNyZWF0ZUNoaWxkKCJzcGFuIiwgInRvb2xiYXItc2VhcmNoLWNvbnRyb2wiKTsKKyAgICB2
YXIgc2VhcmNoQ29udHJvbEVsZW1lbnRDb2x1bW4gPSB0aGlzLl9maXJzdFJvd0VsZW1lbnQuY3Jl
YXRlQ2hpbGQoInRkIik7IAorICAgIHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50ID0gc2VhcmNo
Q29udHJvbEVsZW1lbnRDb2x1bW4uY3JlYXRlQ2hpbGQoInNwYW4iLCAidG9vbGJhci1zZWFyY2gt
Y29udHJvbCIpOwogICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudCA9IHRoaXMuX3NlYXJjaENv
bnRyb2xFbGVtZW50LmNyZWF0ZUNoaWxkKCJpbnB1dCIsICJzZWFyY2gtcmVwbGFjZSIpOwogICAg
IHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5pZCA9ICJzZWFyY2gtaW5wdXQtZmllbGQiOwogICAg
IHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5wbGFjZWhvbGRlciA9IFdlYkluc3BlY3Rvci5VSVN0
cmluZygiRmluZCIpOwogCisgICAgdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQgPSBzZWFyY2hD
b250cm9sRWxlbWVudENvbHVtbi5jcmVhdGVDaGlsZCgic3BhbiIsICJ0b29sYmFyLXNlYXJjaC1j
b250cm9sIik7CisgICAgdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQuYWRkU3R5bGVDbGFzcygi
aGlkZGVuIik7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50ID0gdGhpcy5fZmlsdGVyQ29u
dHJvbEVsZW1lbnQuY3JlYXRlQ2hpbGQoImlucHV0IiwgImZpbHRlciIpOworICAgIHRoaXMuX2Zp
bHRlcklucHV0RWxlbWVudC5pZCA9ICJmaWx0ZXItaW5wdXQtZmllbGQiOworICAgIHRoaXMuX2Zp
bHRlcklucHV0RWxlbWVudC5wbGFjZWhvbGRlciA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRmls
dGVyIik7CisKICAgICB0aGlzLl9tYXRjaGVzRWxlbWVudCA9IHRoaXMuX3NlYXJjaENvbnRyb2xF
bGVtZW50LmNyZWF0ZUNoaWxkKCJsYWJlbCIsICJzZWFyY2gtcmVzdWx0cy1tYXRjaGVzIik7CiAg
ICAgdGhpcy5fbWF0Y2hlc0VsZW1lbnQuc2V0QXR0cmlidXRlKCJmb3IiLCAic2VhcmNoLWlucHV0
LWZpZWxkIik7CiAKQEAgLTYyLDcgKzY5LDkgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xs
ZXIgPSBmdW5jdGlvbigpCiAKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcy5fb25TZWFyY2hGaWVsZE1hbnVhbEZvY3VzLmJpbmQo
dGhpcyksIGZhbHNlKTsgLy8gd2hlbiB0aGUgc2VhcmNoIGZpZWxkIGlzIG1hbnVhbGx5IHNlbGVj
dGVkCiAgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRv
d24iLCB0aGlzLl9vbktleURvd24uYmluZCh0aGlzKSwgdHJ1ZSk7Ci0gICAgdGhpcy5fc2VhcmNo
SW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25JbnB1dC5iaW5k
KHRoaXMpLCBmYWxzZSk7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmFkZEV2ZW50TGlz
dGVuZXIoImtleWRvd24iLCB0aGlzLl9vbktleURvd24uYmluZCh0aGlzKSwgdHJ1ZSk7CisgICAg
dGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5f
b25GaWx0ZXJJbnB1dC5iaW5kKHRoaXMpLCBmYWxzZSk7CisgICAgdGhpcy5fc2VhcmNoSW5wdXRF
bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25TZWFyY2hJbnB1dC5iaW5k
KHRoaXMpLCBmYWxzZSk7CiAKICAgICB0aGlzLl9yZXBsYWNlSW5wdXRFbGVtZW50ID0gdGhpcy5f
c2Vjb25kUm93RWxlbWVudC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgiaW5wdXQiLCAi
c2VhcmNoLXJlcGxhY2UgdG9vbGJhci1yZXBsYWNlLWNvbnRyb2wiKTsKICAgICB0aGlzLl9yZXBs
YWNlSW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9vbktleURv
d24uYmluZCh0aGlzKSwgdHJ1ZSk7CkBAIC0xMDQsNiArMTEzLDE4IEBAIFdlYkluc3BlY3Rvci5T
ZWFyY2hDb250cm9sbGVyID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX3JlcGxhY2VMYWJlbEVsZW1l
bnQuc2V0QXR0cmlidXRlKCJmb3IiLCAic2VhcmNoLXJlcGxhY2UtdHJpZ2dlciIpOwogCiAgICAg
Ly8gQ29sdW1uIDUKKyAgICB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lciA9IHRoaXMuX2Zp
cnN0Um93RWxlbWVudC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgic3BhbiIpOworCisg
ICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50ID0gdGhpcy5fZmlsdGVyQ2hlY2tib3hDb250
YWluZXIuY3JlYXRlQ2hpbGQoImlucHV0Iik7CisgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVt
ZW50LnR5cGUgPSAiY2hlY2tib3giOworICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5p
ZCA9ICJmaWx0ZXItdHJpZ2dlciI7CisgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fZmlsdGVyQ2hlY2tib3hDbGljay5iaW5kKHRo
aXMpLCBmYWxzZSk7CisgIAorICAgIHRoaXMuX2ZpbHRlckxhYmVsRWxlbWVudCA9IHRoaXMuX2Zp
bHRlckNoZWNrYm94Q29udGFpbmVyLmNyZWF0ZUNoaWxkKCJsYWJlbCIpOworICAgIHRoaXMuX2Zp
bHRlckxhYmVsRWxlbWVudC50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRmls
dGVyIik7CisgICAgdGhpcy5fZmlsdGVyTGFiZWxFbGVtZW50LnNldEF0dHJpYnV0ZSgiZm9yIiwg
ImZpbHRlci10cmlnZ2VyIik7CisKKyAgICAvLyBDb2x1bW4gNgogICAgIHZhciBjYW5jZWxCdXR0
b25FbGVtZW50ID0gdGhpcy5fZmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpLmNyZWF0
ZUNoaWxkKCJidXR0b24iKTsKICAgICBjYW5jZWxCdXR0b25FbGVtZW50LnRleHRDb250ZW50ID0g
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDYW5jZWwiKTsKICAgICBjYW5jZWxCdXR0b25FbGVtZW50
LnRhYkluZGV4ID0gLTE7CkBAIC0xMzIsNiArMTUzLDEwIEBAIFdlYkluc3BlY3Rvci5TZWFyY2hD
b250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fc2VhcmNo
SXNWaXNpYmxlKQogICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAodGhpcy5fZmlsdGVy
Q2hlY2tib3hFbGVtZW50LmNoZWNrZWQpIHsKKyAgICAgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNr
Ym94RWxlbWVudC5jaGVja2VkID0gZmFsc2U7CisgICAgICAgICAgICB0aGlzLl9zd2l0Y2hGaWx0
ZXJUb1NlYXJjaCgpOworICAgICAgICB9IAogICAgICAgICBkZWxldGUgdGhpcy5fc2VhcmNoSXNW
aXNpYmxlOwogICAgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5zZXRGb290ZXJFbGVt
ZW50KG51bGwpOwogICAgICAgICB0aGlzLnJlc2V0U2VhcmNoKCk7CkBAIC0yMjMsMTEgKzI0OCw0
MCBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgewog
ICAgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5zZXRGb290ZXJFbGVtZW50KHRoaXMu
X2VsZW1lbnQpOwogICAgICAgICB0aGlzLl91cGRhdGVSZXBsYWNlVmlzaWJpbGl0eSgpOworICAg
ICAgICB0aGlzLl91cGRhdGVGaWx0ZXJWaXNpYmlsaXR5KCk7CiAgICAgICAgIHRoaXMuX3NlYXJj
aElucHV0RWxlbWVudC5mb2N1cygpOwogICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQu
c2VsZWN0KCk7CiAgICAgICAgIHRoaXMuX3NlYXJjaElzVmlzaWJsZSA9IHRydWU7CiAgICAgfSwK
IAorICAgIF9zd2l0Y2hGaWx0ZXJUb1NlYXJjaDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAg
dGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAg
ICAgIHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIp
OworICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgdGhp
cy5fc2VhcmNoSW5wdXRFbGVtZW50LnNlbGVjdCgpOworICAgICAgICB0aGlzLl9zZWFyY2hJbnB1
dEVsZW1lbnQudmFsdWUgPSB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWU7CisgICAgICAg
IHRoaXMucmVzZXRGaWx0ZXIoKTsKKyAgICB9LAorCisgICAgX3N3aXRjaFNlYXJjaFRvRmlsdGVy
OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB0aGlzLl9maWx0ZXJDb250cm9sRWxlbWVudC5y
ZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAgICAgICAgdGhpcy5fc2VhcmNoQ29udHJvbEVs
ZW1lbnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMuX2ZpbHRlcklucHV0
RWxlbWVudC5mb2N1cygpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuc2VsZWN0
KCk7CisgICAgICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX3NlYXJj
aElucHV0RWxlbWVudC52YWx1ZTsKKyAgICAgICAgdGhpcy5yZXNldFNlYXJjaCgpOworICAgIH0s
CisgICAgCisgICAgX3VwZGF0ZUZpbHRlclZpc2liaWxpdHk6IGZ1bmN0aW9uKCkKKyAgICB7Cisg
ICAgICAgIGlmICh0eXBlb2YgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVs
KCkucGVyZm9ybUZpbHRlciA9PT0gImZ1bmN0aW9uIikKKyAgICAgICAgICAgIHRoaXMuX2ZpbHRl
ckNoZWNrYm94Q29udGFpbmVyLnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICBl
bHNlCisgICAgICAgICAgICB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lci5hZGRTdHlsZUNs
YXNzKCJoaWRkZW4iKTsKKyAgICB9LAorICAKICAgICBfdXBkYXRlUmVwbGFjZVZpc2liaWxpdHk6
IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHZhciBwYW5lbCA9IFdlYkluc3BlY3Rvci5pbnNw
ZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpOwpAQCAtMjY1LDExICszMTksNiBAQCBXZWJJbnNwZWN0
b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICB9LAogCi0g
ICAgX29uSW5wdXQ6IGZ1bmN0aW9uKGV2ZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5fcGVyZm9y
bVNlYXJjaChldmVudC50YXJnZXQudmFsdWUsIGZhbHNlLCBmYWxzZSk7Ci0gICAgfSwKLQogICAg
IF9vbk5leHRCdXR0b25TZWFyY2g6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgLy8g
U2ltdWxhdGUgbmV4dCBzZWFyY2ggb24gc2VhcmNoLW5hdmlnYXRpb24tYnV0dG9uIGNsaWNrLgpA
QCAtMzY0LDYgKzQxMyw0MiBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5
cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgY3VycmVudFBhbmVsID0gV2ViSW5zcGVjdG9yLmlu
c3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCk7CiAgICAgICAgIGN1cnJlbnRQYW5lbC5yZXBsYWNl
QWxsV2l0aCh0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUsIHRoaXMuX3JlcGxhY2VJbnB1
dEVsZW1lbnQudmFsdWUpOworICAgIH0sCisgIAorICAgIF9maWx0ZXJDaGVja2JveENsaWNrOiBm
dW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAodGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50
LmNoZWNrZWQpIHsgCisgICAgICAgICAgICB0aGlzLl9zd2l0Y2hTZWFyY2hUb0ZpbHRlcigpOwor
ICAgICAgICAgICAgdGhpcy5fcGVyZm9ybUZpbHRlcih0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQu
dmFsdWUpOworICAgICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgdGhpcy5fc3dp
dGNoRmlsdGVyVG9TZWFyY2goKTsKKyAgICAgICAgICAgIHRoaXMuX3BlcmZvcm1TZWFyY2godGhp
cy5fc2VhcmNoSW5wdXRFbGVtZW50LnZhbHVlLCBmYWxzZSwgZmFsc2UpOworICAgICAgICB9Cisg
ICAgfSwKKyAgICAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gcXVlcnkKKyAgICAg
Ki8KKyAgICBfcGVyZm9ybUZpbHRlcjogZnVuY3Rpb24ocXVlcnkpCisgICAgeworICAgICAgICBp
ZiAodHlwZW9mIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZv
cm1GaWx0ZXIgPT09ICJmdW5jdGlvbiIpCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVj
dG9yVmlldy5jdXJyZW50UGFuZWwoKS5wZXJmb3JtRmlsdGVyKHF1ZXJ5KTsKKyAgICB9LAorICAK
KyAgICBfb25GaWx0ZXJJbnB1dDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB0aGlz
Ll9wZXJmb3JtRmlsdGVyKGV2ZW50LnRhcmdldC52YWx1ZSk7CisgICAgfSwKKyAgCisgICAgX29u
U2VhcmNoSW5wdXQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fcGVyZm9y
bVNlYXJjaChldmVudC50YXJnZXQudmFsdWUsIGZhbHNlLCBmYWxzZSk7CisgICAgfSwKKyAgICAK
KyAgICByZXNldEZpbHRlcjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fcGVyZm9y
bUZpbHRlcigiIik7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKaW5kZXggZWE1ZWVkYzQ0ZTUyZjQ1NmZlNjA0Y2Q4MTkz
MTQ5MzZjMmM1NjU5Zi4uNDExZmUxYjkwNGE5MDcwMDg1NzRjZWJiNTc5MDFiZWEwMjhjMGU3MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3Iu
Y3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNz
cwpAQCAtMjcxLDYgKzI3MSwxNCBAQCBib2R5LmRldGFjaGVkLnBsYXRmb3JtLW1hYy1zbm93bGVv
cGFyZCAjdG9vbGJhci1kcm9wZG93biB7CiAgICAgd2lkdGg6IDE2NXB4OwogfQogCisuZmlsdGVy
IHsKKyAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CisgICAgYm9yZGVyOiAwOworICAgIHBh
ZGRpbmc6IDAgMnB4OworICAgIG1hcmdpbjogMDsKKyAgICB3aWR0aDogMjUzcHg7Cit9CisKIC5z
ZWFyY2gtcmVwbGFjZTpmb2N1cyB7CiAgICAgb3V0bGluZTogbm9uZTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MKaW5k
ZXggZjQ1NDE5NGUxYjA5NmIyMjQwZjJiMzQwZDIyM2NiZGM4YTJjZTA4Ny4uZDFjMTBkMmJiZmZl
NDkzM2RhOTc3MWY4NzM4MjMzM2Q2OTBjMmMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MKQEAgLTQ3MCwxNSArNDcw
LDE1IEBACiAgICAgZGlzcGxheTogbm9uZTsKIH0KIAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1n
cmlkLmZpbHRlci1hbGwgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLWl0ZW0sCi0ubmV0
d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWRvY3VtZW50IHRhYmxlLmRhdGEgdHIucmV2
ZWFsZWQubmV0d29yay10eXBlLWRvY3VtZW50LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlk
LmZpbHRlci1zdHlsZXNoZWV0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXN0
eWxlc2hlZXQsCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWltYWdlIHRhYmxl
LmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLWltYWdlLAotLm5ldHdvcmstbG9nLWdyaWQu
ZGF0YS1ncmlkLmZpbHRlci1zY3JpcHQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5
cGUtc2NyaXB0LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci14aHIgdGFibGUu
ZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUteGhyLAotLm5ldHdvcmstbG9nLWdyaWQuZGF0
YS1ncmlkLmZpbHRlci1mb250IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLWZv
bnQsCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXdlYnNvY2tldCB0YWJsZS5k
YXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS13ZWJzb2NrZXQsCi0ubmV0d29yay1sb2ctZ3Jp
ZC5kYXRhLWdyaWQuZmlsdGVyLW90aGVyIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10
eXBlLW90aGVyIHsKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItYWxsIHRhYmxl
LmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay1pdGVtOm5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3
b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItZG9jdW1lbnQgdGFibGUuZGF0YSB0ci5yZXZl
YWxlZC5uZXR3b3JrLXR5cGUtZG9jdW1lbnQ6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmst
bG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1zdHlsZXNoZWV0IHRhYmxlLmRhdGEgdHIucmV2ZWFs
ZWQubmV0d29yay10eXBlLXN0eWxlc2hlZXQ6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmst
bG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1pbWFnZSB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5l
dHdvcmstdHlwZS1pbWFnZTpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5k
YXRhLWdyaWQuZmlsdGVyLXNjcmlwdCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlw
ZS1zY3JpcHQ6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlk
LmZpbHRlci14aHIgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUteGhyOm5vdCgu
ZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItZm9udCB0
YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1mb250Om5vdCguZmlsdGVyZWQtb3V0
KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItd2Vic29ja2V0IHRhYmxlLmRh
dGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXdlYnNvY2tldDpub3QoLmZpbHRlcmVkLW91dCks
CisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLW90aGVyIHRhYmxlLmRhdGEgdHIu
cmV2ZWFsZWQubmV0d29yay10eXBlLW90aGVyOm5vdCguZmlsdGVyZWQtb3V0KSB7CiAgICAgZGlz
cGxheTogdGFibGUtcm93OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158779</attachid>
            <date>2012-08-16 05:00:14 -0700</date>
            <delta_ts>2012-08-16 06:05:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120816155939.patch</filename>
            <type>text/plain</type>
            <size>22332</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUxYzViM2ZlMTdhNTM0
NjMyNWExNzYyNTA0M2EzMDRjNmUzMzIyYy4uNDIzYWRlMDI0YWVhMTY5YjYwYjhlZTE4ZjRkNTQ0
ODJiNTYxM2M4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTA4LTE2ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmaWx0ZXJpbmcgc3VwcG9ydCB0byBzZWFy
Y2ggcGFuZWwuCisgICAgICAgIEltcGxlbWVudGVkIGZpbHRlcmluZyBmb3IgbmV0d29yayBwYW5l
bC4KKyAgICAgICAgCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9jbGVh
clNlYXJjaE1hdGNoZWRMaXN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUuX3VwZGF0ZUhpZ2hsaWdodElmTWF0Y2hlZCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9oaWdobGlnaHRNYXRjaGVkUmVxdWVzdHMp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5faGlnaGxp
Z2h0TnRoTWF0Y2hlZFJlcXVlc3RGb3JTZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtMb2dWaWV3LnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLmp1bXBUb1ByZXZpb3VzU2VhcmNo
UmVzdWx0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUu
anVtcFRvTmV4dFNlYXJjaFJlc3VsdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1Bh
bmVsLnByb3RvdHlwZS5wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3
b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZS5faGlnaGxpZ2h0TWF0Y2hlZFN1YnN0cmluZyk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLmNhbmNlbFNlYXJjaCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuc2hvd1NlYXJjaEZpZWxkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fc3dpdGNoRmls
dGVyVG9TZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJv
dG90eXBlLl9zd2l0Y2hTZWFyY2hUb0ZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2Vh
cmNoQ29udHJvbGxlci5wcm90b3R5cGUuX3VwZGF0ZUZpbHRlclZpc2liaWxpdHkpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLl9yZXBsYWNlQWxsKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fZmlsdGVy
Q2hlY2tib3hDbGljayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5w
cm90b3R5cGUuX3BlcmZvcm1GaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENv
bnRyb2xsZXIucHJvdG90eXBlLl9vbkZpbHRlcklucHV0KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fb25TZWFyY2hJbnB1dCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUucmVzZXRGaWx0ZXIpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzczoKKyAgICAgICAgKC5maWx0
ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzOgor
ICAgICAgICAoLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1vdGhlciB0YWJsZS5k
YXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1vdGhlcjpub3QoLmZpbHRlcmVkLW91dCkpOgor
CiAyMDEyLTA4LTE0ICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1QGFkb2JlLmNvbT4KIAog
ICAgICAgICBMYXlvdXQgVGVzdCBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYW5p
bWF0aW9uLmh0bWwgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwppbmRleCAyZWZjMWRhZGY3NGYyNjU3YTQxMzk3ZTg2
MTI0NTMwOWM1NmFjNTIxLi42OTMyNjZhMzYwYjNlM2FjOTU2MzA4MzczNTEzMTgwMGMxYzJhYWMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcwpAQCAtNDgsNiArNDgsOCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcgPSBm
dW5jdGlvbigpCiAgICAgdGhpcy5fbWFpblJlcXVlc3RET01Db250ZW50VGltZSA9IC0xOwogICAg
IHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMgPSB7fTsKICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHMg
PSBbXTsKKyAgICB0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3RzID0gbmV3IE1hcCgpOworICAgIAog
ICAgIHRoaXMuX21hdGNoZWRSZXF1ZXN0c01hcCA9IHt9OwogICAgIHRoaXMuX2N1cnJlbnRNYXRj
aGVkUmVxdWVzdEluZGV4ID0gLTE7CiAKQEAgLTM4NCw3ICszODYsNyBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSB0
aGlzLl9yZXF1ZXN0c1tpXTsKICAgICAgICAgICAgIHZhciByZXF1ZXN0VHJhbnNmZXJTaXplID0g
KHJlcXVlc3QuY2FjaGVkIHx8ICFyZXF1ZXN0LnRyYW5zZmVyU2l6ZSkgPyAwIDogcmVxdWVzdC50
cmFuc2ZlclNpemU7CiAgICAgICAgICAgICB0cmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVy
U2l6ZTsKLSAgICAgICAgICAgIGlmICghdGhpcy5faGlkZGVuQ2F0ZWdvcmllcy5hbGwgfHwgIXRo
aXMuX2hpZGRlbkNhdGVnb3JpZXNbcmVxdWVzdC50eXBlLm5hbWUoKV0pIHsKKyAgICAgICAgICAg
IGlmICgoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8ICF0aGlzLl9oaWRkZW5DYXRlZ29y
aWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSAmJiAhdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5n
ZXQocmVxdWVzdCkpIHsKICAgICAgICAgICAgICAgICBzZWxlY3RlZFJlcXVlc3RzTnVtYmVyKys7
CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUcmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVy
U2l6ZTsKICAgICAgICAgICAgIH0KQEAgLTM5NCw3ICszOTYsNyBAQCBXZWJJbnNwZWN0b3IuTmV0
d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIG1heFRpbWUgPSByZXF1
ZXN0LmVuZFRpbWU7CiAgICAgICAgIH0KICAgICAgICAgdmFyIHRleHQgPSAiIjsKLSAgICAgICAg
aWYgKHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKSB7CisgICAgICAgIGlmIChzZWxlY3RlZFJl
cXVlc3RzTnVtYmVyICE9PSByZXF1ZXN0c051bWJlcikgewogICAgICAgICAgICAgdGV4dCArPSBT
dHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVkIC8gJWQgcmVxdWVzdHMiKSwg
c2VsZWN0ZWRSZXF1ZXN0c051bWJlciwgcmVxdWVzdHNOdW1iZXIpOwogICAgICAgICAgICAgdGV4
dCArPSAiICBcdTI3NTggICIgKyBTdHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IiVzIC8gJXMgdHJhbnNmZXJyZWQiKSwgTnVtYmVyLmJ5dGVzVG9TdHJpbmcoc2VsZWN0ZWRUcmFu
c2ZlclNpemUpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0cmFuc2ZlclNpemUpKTsKICAgICAgICAg
fSBlbHNlIHsKQEAgLTEwNjcsNyArMTA2OSw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHMgPSBb
XTsKICAgICAgICAgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzTWFwID0ge307Ci0gICAgICAgIHRoaXMu
X2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KC0xLCBmYWxzZSk7CisgICAgICAgIHRoaXMuX2hp
Z2hsaWdodE1hdGNoZWRSZXF1ZXN0cyhbXSwgZmFsc2UsICIiKTsKICAgICB9LAogCiAgICAgX3Vw
ZGF0ZVNlYXJjaE1hdGNoZWRMaXN0QWZ0ZXJSZXF1ZXN0SWRDaGFuZ2VkOiBmdW5jdGlvbihvbGRS
ZXF1ZXN0SWQsIG5ld1JlcXVlc3RJZCkKQEAgLTEwOTEsMzcgKzEwOTMsNDEgQEAgV2ViSW5zcGVj
dG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKHRoaXMuX2N1cnJl
bnRNYXRjaGVkUmVxdWVzdEluZGV4ICE9PSAtMSAmJiB0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVl
c3RJbmRleCAhPT0gbWF0Y2hlZFJlcXVlc3RJbmRleCkKICAgICAgICAgICAgIHJldHVybjsKIAot
ICAgICAgICB0aGlzLl9oaWdobGlnaHROdGhNYXRjaGVkUmVxdWVzdChtYXRjaGVkUmVxdWVzdElu
ZGV4LCBmYWxzZSk7CisgICAgICAgIHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0Rm9y
U2VhcmNoKG1hdGNoZWRSZXF1ZXN0SW5kZXgsIGZhbHNlKTsKICAgICB9LAogCi0gICAgX2hpZ2hs
aWdodE50aE1hdGNoZWRSZXF1ZXN0OiBmdW5jdGlvbihtYXRjaGVkUmVxdWVzdEluZGV4LCByZXZl
YWwpCisgICAgX2hpZ2hsaWdodE1hdGNoZWRSZXF1ZXN0czogZnVuY3Rpb24ocmVxdWVzdHMsIHJl
dmVhbCwgcmVnRXhwKQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX2hpZ2hsaWdodGVkU3Vic3Ry
aW5nQ2hhbmdlcykgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnJldmVydERvbUNoYW5nZXMo
dGhpcy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFuZ2VzKTsKKyAgICAgICAgICAgIGZvciAodmFy
IGkgPSAwOyBpIDwgdGhpcy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFuZ2VzLmxlbmd0aDsgKytp
KQorICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5yZXZlcnREb21DaGFuZ2VzKHRoaXMuX2hp
Z2hsaWdodGVkU3Vic3RyaW5nQ2hhbmdlc1tpXSk7CiAgICAgICAgICAgICB0aGlzLl9oaWdobGln
aHRlZFN1YnN0cmluZ0NoYW5nZXMgPSBudWxsOwogICAgICAgICB9Ci0KLSAgICAgICAgaWYgKG1h
dGNoZWRSZXF1ZXN0SW5kZXggPT09IC0xKSB7Ci0gICAgICAgICAgICB0aGlzLl9jdXJyZW50TWF0
Y2hlZFJlcXVlc3RJbmRleCA9IG1hdGNoZWRSZXF1ZXN0SW5kZXg7CisgICAgICAgIGlmIChyZWdF
eHAudGVzdCgiIikpCiAgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHRoaXMuX2hpZ2hsaWdo
dGVkU3Vic3RyaW5nQ2hhbmdlcyA9IFtdOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJl
cXVlc3RzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgcmVxdWVzdCA9IHJlcXVlc3Rz
W2ldOworICAgICAgICAgICAgdmFyIG5vZGUgPSB0aGlzLl9yZXF1ZXN0R3JpZE5vZGUocmVxdWVz
dCk7CisgICAgICAgICAgICBpZiAobm9kZSkgeworICAgICAgICAgICAgICAgIHZhciBoaWdobGln
aHRlZFN1YnN0cmluZ0NoYW5nZXMgPSBub2RlLl9oaWdobGlnaHRNYXRjaGVkU3Vic3RyaW5nKHJl
Z0V4cCk7CisgICAgICAgICAgICAgICAgdGhpcy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFuZ2Vz
LnB1c2goaGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFuZ2VzKTsKKyAgICAgICAgICAgICAgICBpZiAo
cmV2ZWFsKQorICAgICAgICAgICAgICAgICAgICBub2RlLnJldmVhbCgpOworICAgICAgICAgICAg
fQogICAgICAgICB9CisgICAgfSwKIAotICAgICAgICB2YXIgcmVxdWVzdCA9IHRoaXMuX3JlcXVl
c3RzQnlJZFt0aGlzLl9tYXRjaGVkUmVxdWVzdHNbbWF0Y2hlZFJlcXVlc3RJbmRleF1dOworICAg
IF9oaWdobGlnaHROdGhNYXRjaGVkUmVxdWVzdEZvclNlYXJjaDogZnVuY3Rpb24obWF0Y2hlZFJl
cXVlc3RJbmRleCwgcmV2ZWFsLCByZWdFeHApCisgICAgeworICAgICAgICB2YXIgcmVxdWVzdCA9
IHRoaXMucmVxdWVzdEJ5SWQodGhpcy5fbWF0Y2hlZFJlcXVlc3RzW21hdGNoZWRSZXF1ZXN0SW5k
ZXhdKTsKICAgICAgICAgaWYgKCFyZXF1ZXN0KQogICAgICAgICAgICAgcmV0dXJuOwotCi0gICAg
ICAgIHZhciBuYW1lTWF0Y2hlZCA9IHJlcXVlc3QuZGlzcGxheU5hbWUgJiYgcmVxdWVzdC5kaXNw
bGF5TmFtZS5tYXRjaCh0aGlzLl9zZWFyY2hSZWdFeHApOwotICAgICAgICB2YXIgcGF0aE1hdGNo
ZWQgPSByZXF1ZXN0LnBhcnNlZFVSTC5wYXRoICYmIHJlcXVlc3QuZm9sZGVyLm1hdGNoKHRoaXMu
X3NlYXJjaFJlZ0V4cCk7Ci0gICAgICAgIGlmICghbmFtZU1hdGNoZWQgJiYgcGF0aE1hdGNoZWQg
JiYgIXRoaXMuX2xhcmdlclJlcXVlc3RzQnV0dG9uLnRvZ2dsZWQpCi0gICAgICAgICAgICB0aGlz
Ll90b2dnbGVMYXJnZXJSZXF1ZXN0cygpOwotCisgICAgICAgIHRoaXMuX2hpZ2hsaWdodE1hdGNo
ZWRSZXF1ZXN0cyhbcmVxdWVzdF0sIHJldmVhbCwgcmVnRXhwKTsKICAgICAgICAgdmFyIG5vZGUg
PSB0aGlzLl9yZXF1ZXN0R3JpZE5vZGUocmVxdWVzdCk7Ci0gICAgICAgIGlmIChub2RlKSB7Ci0g
ICAgICAgICAgICB0aGlzLl9oaWdobGlnaHRlZFN1YnN0cmluZ0NoYW5nZXMgPSBub2RlLl9oaWdo
bGlnaHRNYXRjaGVkU3Vic3RyaW5nKHRoaXMuX3NlYXJjaFJlZ0V4cCk7Ci0gICAgICAgICAgICBp
ZiAocmV2ZWFsKQotICAgICAgICAgICAgICAgIG5vZGUucmV2ZWFsKCk7CisgICAgICAgIGlmIChu
b2RlKQogICAgICAgICAgICAgdGhpcy5fY3VycmVudE1hdGNoZWRSZXF1ZXN0SW5kZXggPSBtYXRj
aGVkUmVxdWVzdEluZGV4OwotICAgICAgICB9CisKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50
VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LkV2ZW50VHlwZXMuU2VhcmNo
SW5kZXhVcGRhdGVkLCB0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJbmRleCk7CiAgICAgfSwK
IApAQCAtMTEzMyw3ICsxMTM5LDYgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgIGN1cnJlbnRNYXRjaGVkUmVxdWVzdElkID0gdGhpcy5fbWF0
Y2hlZFJlcXVlc3RzW3RoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4XTsKIAogICAgICAg
ICB0aGlzLl9zZWFyY2hSZWdFeHAgPSBjcmVhdGVQbGFpblRleHRTZWFyY2hSZWdleChzZWFyY2hR
dWVyeSwgImkiKTsKLQogICAgICAgICB0aGlzLl9jbGVhclNlYXJjaE1hdGNoZWRMaXN0KCk7CiAK
ICAgICAgICAgdmFyIGNoaWxkTm9kZXMgPSB0aGlzLl9kYXRhR3JpZC5kYXRhVGFibGVCb2R5LmNo
aWxkTm9kZXM7CkBAIC0xMTQzLDI3ICsxMTQ4LDU2IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9n
Vmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICB2YXIgZGF0YUdyaWROb2RlID0gdGhpcy5f
ZGF0YUdyaWQuZGF0YUdyaWROb2RlRnJvbU5vZGUocmVxdWVzdE5vZGVzW2ldKTsKICAgICAgICAg
ICAgIGlmIChkYXRhR3JpZE5vZGUuaXNGaWx0ZXJlZE91dCgpKQogICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwotCisgICAgICAgICAgICB2YXIgcmVxdWVzdCA9IHRoaXMuX3JlcXVlc3RzW2ldOwor
ICAgICAgICAgICAgdmFyIG5hbWVNYXRjaGVkID0gcmVxdWVzdC5kaXNwbGF5TmFtZSAmJiByZXF1
ZXN0LmRpc3BsYXlOYW1lLm1hdGNoKHRoaXMuX3NlYXJjaFJlZ0V4cCk7CisgICAgICAgICAgICB2
YXIgcGF0aE1hdGNoZWQgPSByZXF1ZXN0LnBhcnNlZFVSTC5wYXRoICYmIHJlcXVlc3QuZm9sZGVy
Lm1hdGNoKHRoaXMuX3NlYXJjaFJlZ0V4cCk7CisgICAgICAgICAgICBpZiAoIW5hbWVNYXRjaGVk
ICYmIHBhdGhNYXRjaGVkICYmICF0aGlzLl9sYXJnZXJSZXF1ZXN0c0J1dHRvbi50b2dnbGVkKQor
ICAgICAgICAgICAgICAgIHRoaXMuX3RvZ2dsZUxhcmdlclJlcXVlc3RzKCk7CiAgICAgICAgICAg
ICBpZiAodGhpcy5fbWF0Y2hSZXF1ZXN0KGRhdGFHcmlkTm9kZS5fcmVxdWVzdCkgIT09IC0xICYm
IGRhdGFHcmlkTm9kZS5fcmVxdWVzdC5yZXF1ZXN0SWQgPT09IGN1cnJlbnRNYXRjaGVkUmVxdWVz
dElkKQogICAgICAgICAgICAgICAgIG5ld01hdGNoZWRSZXF1ZXN0SW5kZXggPSB0aGlzLl9tYXRj
aGVkUmVxdWVzdHMubGVuZ3RoIC0gMTsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuZGlzcGF0
Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5FdmVudFR5cGVz
LlNlYXJjaENvdW50VXBkYXRlZCwgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCk7Ci0gICAg
ICAgIHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KG5ld01hdGNoZWRSZXF1ZXN0SW5k
ZXgsIGZhbHNlKTsKKyAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJlcXVlc3RGb3JT
ZWFyY2gobmV3TWF0Y2hlZFJlcXVlc3RJbmRleCwgZmFsc2UsIHRoaXMuX3NlYXJjaFJlZ0V4cCk7
CiAgICAgfSwKIAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBxdWVyeQorICAgICAq
LworICAgIHBlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KSB7CisgICAgICAgIHRoaXMuX2Zp
bHRlcmVkT3V0UmVxdWVzdHMuY2xlYXIoKTsKKyAgICAgICAgdmFyIGZpbHRlclJlZ0V4cCA9IGNy
ZWF0ZVBsYWluVGV4dFNlYXJjaFJlZ2V4KHF1ZXJ5LCAiaSIpOworICAgICAgICB2YXIgc2hvd25S
ZXF1ZXN0cyA9IFtdOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2RhdGFHcmlk
LnJvb3ROb2RlKCkuY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciBub2Rl
ID0gdGhpcy5fZGF0YUdyaWQucm9vdE5vZGUoKS5jaGlsZHJlbltpXTsKKyAgICAgICAgICAgIG5v
ZGUuZWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJmaWx0ZXJlZC1vdXQiKTsKKyAgICAgICAgICAg
IHZhciBuYW1lTWF0Y2hlZCA9IG5vZGUuX3JlcXVlc3QuZGlzcGxheU5hbWUgJiYgbm9kZS5fcmVx
dWVzdC5kaXNwbGF5TmFtZS5tYXRjaChmaWx0ZXJSZWdFeHApOworICAgICAgICAgICAgdmFyIHBh
dGhNYXRjaGVkID0gbm9kZS5fcmVxdWVzdC5wYXJzZWRVUkwucGF0aCAmJiBub2RlLl9yZXF1ZXN0
LmZvbGRlci5tYXRjaChmaWx0ZXJSZWdFeHApOworICAgICAgICAgICAgaWYgKCFuYW1lTWF0Y2hl
ZCAmJiBwYXRoTWF0Y2hlZCAmJiAhdGhpcy5fbGFyZ2VyUmVxdWVzdHNCdXR0b24udG9nZ2xlZCkK
KyAgICAgICAgICAgICAgICB0aGlzLl90b2dnbGVMYXJnZXJSZXF1ZXN0cygpOworICAgICAgICAg
ICAgaWYgKCFuYW1lTWF0Y2hlZCAmJiAhcGF0aE1hdGNoZWQpIHsKKyAgICAgICAgICAgICAgICBu
b2RlLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygiZmlsdGVyZWQtb3V0Iik7CisgICAgICAgICAgICAg
ICAgdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5wdXQodGhpcy5fcmVxdWVzdHNbaV0sIHRydWUp
OworICAgICAgICAgICAgfSBlbHNlIAorICAgICAgICAgICAgICAgIHNob3duUmVxdWVzdHMucHVz
aChub2RlLl9yZXF1ZXN0KTsKKyAgICAgICAgfQorICAgICAgICB0aGlzLl9oaWdobGlnaHRNYXRj
aGVkUmVxdWVzdHMoc2hvd25SZXF1ZXN0cywgZmFsc2UsIGZpbHRlclJlZ0V4cCk7CisgICAgICAg
IHRoaXMuX3VwZGF0ZVN1bW1hcnlCYXIoKTsKKyAgICAgICAgdGhpcy5fdXBkYXRlT2Zmc2NyZWVu
Um93cygpOworICAgIH0sCisgICAgCiAgICAganVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1
bmN0aW9uKCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0
aCkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hl
ZFJlcXVlc3QoKHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4ICsgdGhpcy5fbWF0Y2hl
ZFJlcXVlc3RzLmxlbmd0aCAtIDEpICUgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCwgdHJ1
ZSk7CisgICAgICAgIHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0Rm9yU2VhcmNoKCh0
aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJbmRleCArIHRoaXMuX21hdGNoZWRSZXF1ZXN0cy5s
ZW5ndGggLSAxKSAlIHRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5ndGgsIHRydWUsIHRoaXMuX3Nl
YXJjaFJlZ0V4cCk7CiAgICAgfSwKIAogICAgIGp1bXBUb05leHRTZWFyY2hSZXN1bHQ6IGZ1bmN0
aW9uKCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCkK
ICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJl
cXVlc3QoKHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4ICsgMSkgJSB0aGlzLl9tYXRj
aGVkUmVxdWVzdHMubGVuZ3RoLCB0cnVlKTsKKyAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0
Y2hlZFJlcXVlc3RGb3JTZWFyY2goKHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4ICsg
MSkgJSB0aGlzLl9tYXRjaGVkUmVxdWVzdHMubGVuZ3RoLCB0cnVlLCB0aGlzLl9zZWFyY2hSZWdF
eHApOwogICAgIH0sCiAKICAgICBzZWFyY2hDYW5jZWxlZDogZnVuY3Rpb24oKQpAQCAtMTQwNSwx
MSArMTQzOSwyMSBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya1BhbmVsLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcuc3dpdGNoVG9CcmllZlZpZXcoKTsKICAgICB9LAog
CisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHNlYXJjaFF1ZXJ5CisgICAgICovICAg
IAogICAgIHBlcmZvcm1TZWFyY2g6IGZ1bmN0aW9uKHNlYXJjaFF1ZXJ5KQogICAgIHsKICAgICAg
ICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcucGVyZm9ybVNlYXJjaChzZWFyY2hRdWVyeSk7CiAgICAg
fSwKLQorICAgIAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBxdWVyeQorICAgICAq
LyAgICAKKyAgICBwZXJmb3JtRmlsdGVyOiBmdW5jdGlvbihxdWVyeSl7CisgICAgICAgIHRoaXMu
X25ldHdvcmtMb2dWaWV3LnBlcmZvcm1GaWx0ZXIocXVlcnkpOworICAgIH0sCisgICAgCiAgICAg
anVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHRo
aXMuX25ldHdvcmtMb2dWaWV3Lmp1bXBUb1ByZXZpb3VzU2VhcmNoUmVzdWx0KCk7CkBAIC0xNzIy
LDYgKzE3NjYsOCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9kZS5wcm90b3R5cGUg
PSB7CiAKICAgICBpc0ZpbHRlcmVkT3V0OiBmdW5jdGlvbigpCiAgICAgeworICAgICAgICBpZiAo
dGhpcy5fcGFyZW50Vmlldy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5nZXQodGhpcy5fcmVxdWVzdCkp
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgaWYgKCF0aGlzLl9wYXJlbnRWaWV3
Ll9oaWRkZW5DYXRlZ29yaWVzLmFsbCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAg
ICAgcmV0dXJuIHRoaXMuX3JlcXVlc3QudHlwZS5uYW1lKCkgaW4gdGhpcy5fcGFyZW50Vmlldy5f
aGlkZGVuQ2F0ZWdvcmllczsKQEAgLTE3MzYsOCArMTc4Miw5IEBAIFdlYkluc3BlY3Rvci5OZXR3
b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZSA9IHsKICAgICBfaGlnaGxpZ2h0TWF0Y2hlZFN1YnN0
cmluZzogZnVuY3Rpb24ocmVnZXhwKQogICAgIHsKICAgICAgICAgdmFyIGRvbUNoYW5nZXMgPSBb
XTsKLSAgICAgICAgdmFyIG1hdGNoSW5mbyA9IHRoaXMuX25hbWVDZWxsLnRleHRDb250ZW50Lm1h
dGNoKHJlZ2V4cCk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5oaWdobGlnaHRTZWFyY2hSZXN1bHQo
dGhpcy5fbmFtZUNlbGwsIG1hdGNoSW5mby5pbmRleCwgbWF0Y2hJbmZvWzBdLmxlbmd0aCwgZG9t
Q2hhbmdlcyk7CisgICAgICAgIHZhciBtYXRjaEluZm8gPSB0aGlzLl9lbGVtZW50LnRleHRDb250
ZW50Lm1hdGNoKHJlZ2V4cCk7CisgICAgICAgIGlmIChtYXRjaEluZm8pCisgICAgICAgICAgICBX
ZWJJbnNwZWN0b3IuaGlnaGxpZ2h0U2VhcmNoUmVzdWx0KHRoaXMuX25hbWVDZWxsLCBtYXRjaElu
Zm8uaW5kZXgsIG1hdGNoSW5mb1swXS5sZW5ndGgsIGRvbUNoYW5nZXMpOwogICAgICAgICByZXR1
cm4gZG9tQ2hhbmdlczsKICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKaW5kZXggZDE4ZTI4MGUxYTY2ZDRh
MmZlMzE3MGQ4MmIxYTkxMzRjNDJjZDFkZS4uNTBjMWNhNmUzNzRjM2NkYjA4OWI2YTZiZjJmYzM5
ZjE4OWNlYTZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9TZWFyY2hDb250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcwpAQCAtNDIsMTEgKzQyLDE4IEBAIFdlYkluc3BlY3Rv
ci5TZWFyY2hDb250cm9sbGVyID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX3NlY29uZFJvd0VsZW1l
bnQgPSB0aGlzLl9lbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ciIsICJoaWRkZW4iKTsKIAogICAgIC8v
IENvbHVtbiAxCi0gICAgdGhpcy5fc2VhcmNoQ29udHJvbEVsZW1lbnQgPSB0aGlzLl9maXJzdFJv
d0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRkIikuY3JlYXRlQ2hpbGQoInNwYW4iLCAidG9vbGJhci1z
ZWFyY2gtY29udHJvbCIpOworICAgIHZhciBzZWFyY2hDb250cm9sRWxlbWVudENvbHVtbiA9IHRo
aXMuX2ZpcnN0Um93RWxlbWVudC5jcmVhdGVDaGlsZCgidGQiKTsgCisgICAgdGhpcy5fc2VhcmNo
Q29udHJvbEVsZW1lbnQgPSBzZWFyY2hDb250cm9sRWxlbWVudENvbHVtbi5jcmVhdGVDaGlsZCgi
c3BhbiIsICJ0b29sYmFyLXNlYXJjaC1jb250cm9sIik7CiAgICAgdGhpcy5fc2VhcmNoSW5wdXRF
bGVtZW50ID0gdGhpcy5fc2VhcmNoQ29udHJvbEVsZW1lbnQuY3JlYXRlQ2hpbGQoImlucHV0Iiwg
InNlYXJjaC1yZXBsYWNlIik7CiAgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LmlkID0gInNl
YXJjaC1pbnB1dC1maWVsZCI7CiAgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LnBsYWNlaG9s
ZGVyID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJGaW5kIik7CiAKKyAgICB0aGlzLl9maWx0ZXJD
b250cm9sRWxlbWVudCA9IHNlYXJjaENvbnRyb2xFbGVtZW50Q29sdW1uLmNyZWF0ZUNoaWxkKCJz
cGFuIiwgInRvb2xiYXItc2VhcmNoLWNvbnRyb2wiKTsKKyAgICB0aGlzLl9maWx0ZXJDb250cm9s
RWxlbWVudC5hZGRTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVs
ZW1lbnQgPSB0aGlzLl9maWx0ZXJDb250cm9sRWxlbWVudC5jcmVhdGVDaGlsZCgiaW5wdXQiLCAi
ZmlsdGVyIik7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmlkID0gImZpbHRlci1pbnB1
dC1maWVsZCI7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LnBsYWNlaG9sZGVyID0gV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJGaWx0ZXIiKTsKKwogICAgIHRoaXMuX21hdGNoZXNFbGVtZW50
ID0gdGhpcy5fc2VhcmNoQ29udHJvbEVsZW1lbnQuY3JlYXRlQ2hpbGQoImxhYmVsIiwgInNlYXJj
aC1yZXN1bHRzLW1hdGNoZXMiKTsKICAgICB0aGlzLl9tYXRjaGVzRWxlbWVudC5zZXRBdHRyaWJ1
dGUoImZvciIsICJzZWFyY2gtaW5wdXQtZmllbGQiKTsKIApAQCAtNjIsNyArNjksOSBAQCBXZWJJ
bnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlciA9IGZ1bmN0aW9uKCkKIAogICAgIHRoaXMuX3NlYXJj
aElucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLl9vblNlYXJj
aEZpZWxkTWFudWFsRm9jdXMuYmluZCh0aGlzKSwgZmFsc2UpOyAvLyB3aGVuIHRoZSBzZWFyY2gg
ZmllbGQgaXMgbWFudWFsbHkgc2VsZWN0ZWQKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQu
YWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX29uS2V5RG93bi5iaW5kKHRoaXMpLCB0
cnVlKTsKLSAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiaW5w
dXQiLCB0aGlzLl9vbklucHV0LmJpbmQodGhpcyksIGZhbHNlKTsKKyAgICB0aGlzLl9maWx0ZXJJ
bnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX29uS2V5RG93bi5i
aW5kKHRoaXMpLCB0cnVlKTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigiaW5wdXQiLCB0aGlzLl9vbkZpbHRlcklucHV0LmJpbmQodGhpcyksIGZhbHNlKTsK
KyAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCB0
aGlzLl9vblNlYXJjaElucHV0LmJpbmQodGhpcyksIGZhbHNlKTsKIAogICAgIHRoaXMuX3JlcGxh
Y2VJbnB1dEVsZW1lbnQgPSB0aGlzLl9zZWNvbmRSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIp
LmNyZWF0ZUNoaWxkKCJpbnB1dCIsICJzZWFyY2gtcmVwbGFjZSB0b29sYmFyLXJlcGxhY2UtY29u
dHJvbCIpOwogICAgIHRoaXMuX3JlcGxhY2VJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigi
a2V5ZG93biIsIHRoaXMuX29uS2V5RG93bi5iaW5kKHRoaXMpLCB0cnVlKTsKQEAgLTEwNCw2ICsx
MTMsMTggQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIgPSBmdW5jdGlvbigpCiAgICAg
dGhpcy5fcmVwbGFjZUxhYmVsRWxlbWVudC5zZXRBdHRyaWJ1dGUoImZvciIsICJzZWFyY2gtcmVw
bGFjZS10cmlnZ2VyIik7CiAKICAgICAvLyBDb2x1bW4gNQorICAgIHRoaXMuX2ZpbHRlckNoZWNr
Ym94Q29udGFpbmVyID0gdGhpcy5fZmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpLmNy
ZWF0ZUNoaWxkKCJzcGFuIik7CisKKyAgICB0aGlzLl9maWx0ZXJDaGVja2JveEVsZW1lbnQgPSB0
aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lci5jcmVhdGVDaGlsZCgiaW5wdXQiKTsKKyAgICB0
aGlzLl9maWx0ZXJDaGVja2JveEVsZW1lbnQudHlwZSA9ICJjaGVja2JveCI7CisgICAgdGhpcy5f
ZmlsdGVyQ2hlY2tib3hFbGVtZW50LmlkID0gImZpbHRlci10cmlnZ2VyIjsKKyAgICB0aGlzLl9m
aWx0ZXJDaGVja2JveEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9maWx0
ZXJDaGVja2JveENsaWNrLmJpbmQodGhpcyksIGZhbHNlKTsKKyAgCisgICAgdGhpcy5fZmlsdGVy
TGFiZWxFbGVtZW50ID0gdGhpcy5fZmlsdGVyQ2hlY2tib3hDb250YWluZXIuY3JlYXRlQ2hpbGQo
ImxhYmVsIik7CisgICAgdGhpcy5fZmlsdGVyTGFiZWxFbGVtZW50LnRleHRDb250ZW50ID0gV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJGaWx0ZXIiKTsKKyAgICB0aGlzLl9maWx0ZXJMYWJlbEVsZW1l
bnQuc2V0QXR0cmlidXRlKCJmb3IiLCAiZmlsdGVyLXRyaWdnZXIiKTsKKworICAgIC8vIENvbHVt
biA2CiAgICAgdmFyIGNhbmNlbEJ1dHRvbkVsZW1lbnQgPSB0aGlzLl9maXJzdFJvd0VsZW1lbnQu
Y3JlYXRlQ2hpbGQoInRkIikuY3JlYXRlQ2hpbGQoImJ1dHRvbiIpOwogICAgIGNhbmNlbEJ1dHRv
bkVsZW1lbnQudGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNhbmNlbCIpOwog
ICAgIGNhbmNlbEJ1dHRvbkVsZW1lbnQudGFiSW5kZXggPSAtMTsKQEAgLTEzMiw2ICsxNTMsMTAg
QEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgIHsKICAg
ICAgICAgaWYgKCF0aGlzLl9zZWFyY2hJc1Zpc2libGUpCiAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIGlmICh0aGlzLl9maWx0ZXJDaGVja2JveEVsZW1lbnQuY2hlY2tlZCkgeworICAgICAg
ICAgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50LmNoZWNrZWQgPSBmYWxzZTsKKyAgICAg
ICAgICAgIHRoaXMuX3N3aXRjaEZpbHRlclRvU2VhcmNoKCk7CisgICAgICAgIH0gCiAgICAgICAg
IGRlbGV0ZSB0aGlzLl9zZWFyY2hJc1Zpc2libGU7CiAgICAgICAgIFdlYkluc3BlY3Rvci5pbnNw
ZWN0b3JWaWV3LnNldEZvb3RlckVsZW1lbnQobnVsbCk7CiAgICAgICAgIHRoaXMucmVzZXRTZWFy
Y2goKTsKQEAgLTIyMywxMSArMjQ4LDQwIEBAIFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVy
LnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3
LnNldEZvb3RlckVsZW1lbnQodGhpcy5fZWxlbWVudCk7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVJl
cGxhY2VWaXNpYmlsaXR5KCk7CisgICAgICAgIHRoaXMuX3VwZGF0ZUZpbHRlclZpc2liaWxpdHko
KTsKICAgICAgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LmZvY3VzKCk7CiAgICAgICAgIHRo
aXMuX3NlYXJjaElucHV0RWxlbWVudC5zZWxlY3QoKTsKICAgICAgICAgdGhpcy5fc2VhcmNoSXNW
aXNpYmxlID0gdHJ1ZTsKICAgICB9LAogCisgICAgX3N3aXRjaEZpbHRlclRvU2VhcmNoOiBmdW5j
dGlvbigpCisgICAgeworICAgICAgICB0aGlzLl9maWx0ZXJDb250cm9sRWxlbWVudC5hZGRTdHls
ZUNsYXNzKCJoaWRkZW4iKTsKKyAgICAgICAgdGhpcy5fc2VhcmNoQ29udHJvbEVsZW1lbnQucmVt
b3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVu
dC5mb2N1cygpOworICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuc2VsZWN0KCk7Cisg
ICAgICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX2ZpbHRlcklucHV0
RWxlbWVudC52YWx1ZTsKKyAgICAgICAgdGhpcy5yZXNldEZpbHRlcigpOworICAgIH0sCisKKyAg
ICBfc3dpdGNoU2VhcmNoVG9GaWx0ZXI6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMu
X2ZpbHRlckNvbnRyb2xFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAg
ICB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudC5hZGRTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAg
ICAgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmZvY3VzKCk7CisgICAgICAgIHRoaXMuX2Zp
bHRlcklucHV0RWxlbWVudC5zZWxlY3QoKTsKKyAgICAgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVt
ZW50LnZhbHVlID0gdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LnZhbHVlOworICAgICAgICB0aGlz
LnJlc2V0U2VhcmNoKCk7CisgICAgfSwKKyAgICAKKyAgICBfdXBkYXRlRmlsdGVyVmlzaWJpbGl0
eTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKHR5cGVvZiBXZWJJbnNwZWN0b3IuaW5z
cGVjdG9yVmlldy5jdXJyZW50UGFuZWwoKS5wZXJmb3JtRmlsdGVyID09PSAiZnVuY3Rpb24iKQor
ICAgICAgICAgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hDb250YWluZXIucmVtb3ZlU3R5bGVDbGFz
cygiaGlkZGVuIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNr
Ym94Q29udGFpbmVyLmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgIH0sCisgIAogICAgIF91
cGRhdGVSZXBsYWNlVmlzaWJpbGl0eTogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdmFyIHBh
bmVsID0gV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCk7CkBAIC0yNjUs
MTEgKzMxOSw2IEBAIFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgfQogICAgIH0sCiAKLSAgICBfb25JbnB1dDogZnVuY3Rpb24oZXZlbnQpCi0gICAg
ewotICAgICAgICB0aGlzLl9wZXJmb3JtU2VhcmNoKGV2ZW50LnRhcmdldC52YWx1ZSwgZmFsc2Us
IGZhbHNlKTsKLSAgICB9LAotCiAgICAgX29uTmV4dEJ1dHRvblNlYXJjaDogZnVuY3Rpb24oZXZl
bnQpCiAgICAgewogICAgICAgICAvLyBTaW11bGF0ZSBuZXh0IHNlYXJjaCBvbiBzZWFyY2gtbmF2
aWdhdGlvbi1idXR0b24gY2xpY2suCkBAIC0zNjQsNiArNDEzLDQyIEBAIFdlYkluc3BlY3Rvci5T
ZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIHZhciBjdXJyZW50
UGFuZWwgPSBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwoKTsKICAgICAg
ICAgY3VycmVudFBhbmVsLnJlcGxhY2VBbGxXaXRoKHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC52
YWx1ZSwgdGhpcy5fcmVwbGFjZUlucHV0RWxlbWVudC52YWx1ZSk7CisgICAgfSwKKyAgCisgICAg
X2ZpbHRlckNoZWNrYm94Q2xpY2s6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICh0aGlz
Ll9maWx0ZXJDaGVja2JveEVsZW1lbnQuY2hlY2tlZCkgeyAKKyAgICAgICAgICAgIHRoaXMuX3N3
aXRjaFNlYXJjaFRvRmlsdGVyKCk7CisgICAgICAgICAgICB0aGlzLl9wZXJmb3JtRmlsdGVyKHRo
aXMuX2ZpbHRlcklucHV0RWxlbWVudC52YWx1ZSk7CisgICAgICAgIH0KKyAgICAgICAgZWxzZSB7
CisgICAgICAgICAgICB0aGlzLl9zd2l0Y2hGaWx0ZXJUb1NlYXJjaCgpOworICAgICAgICAgICAg
dGhpcy5fcGVyZm9ybVNlYXJjaCh0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUsIGZhbHNl
LCBmYWxzZSk7CisgICAgICAgIH0KKyAgICB9LAorICAgIAorICAgIC8qKgorICAgICAqIEBwYXJh
bSB7c3RyaW5nfSBxdWVyeQorICAgICAqLworICAgIF9wZXJmb3JtRmlsdGVyOiBmdW5jdGlvbihx
dWVyeSkKKyAgICB7CisgICAgICAgIGlmICh0eXBlb2YgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZp
ZXcuY3VycmVudFBhbmVsKCkucGVyZm9ybUZpbHRlciA9PT0gImZ1bmN0aW9uIikKKyAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1GaWx0
ZXIocXVlcnkpOworICAgIH0sCisgIAorICAgIF9vbkZpbHRlcklucHV0OiBmdW5jdGlvbihldmVu
dCkKKyAgICB7CisgICAgICAgIHRoaXMuX3BlcmZvcm1GaWx0ZXIoZXZlbnQudGFyZ2V0LnZhbHVl
KTsKKyAgICB9LAorICAKKyAgICBfb25TZWFyY2hJbnB1dDogZnVuY3Rpb24oZXZlbnQpCisgICAg
eworICAgICAgICB0aGlzLl9wZXJmb3JtU2VhcmNoKGV2ZW50LnRhcmdldC52YWx1ZSwgZmFsc2Us
IGZhbHNlKTsKKyAgICB9LAorICAgIAorICAgIHJlc2V0RmlsdGVyOiBmdW5jdGlvbigpCisgICAg
eworICAgICAgICB0aGlzLl9wZXJmb3JtRmlsdGVyKCIiKTsKICAgICB9CiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwppbmRleCBlYTVl
ZWRjNDRlNTJmNDU2ZmU2MDRjZDgxOTMxNDkzNmMyYzU2NTlmLi5mYmY5NjczYjc0YThhNzU2Y2Q3
MTgzNDU2ZjYxMDA3ZWIyYzE3ZGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCkBAIC0yNzEsNiArMjcxLDE0IEBAIGJvZHkuZGV0YWNo
ZWQucGxhdGZvcm0tbWFjLXNub3dsZW9wYXJkICN0b29sYmFyLWRyb3Bkb3duIHsKICAgICB3aWR0
aDogMTY1cHg7CiB9CiAKKy5maWx0ZXIgeworICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsK
KyAgICBib3JkZXI6IDA7CisgICAgcGFkZGluZzogMCAycHg7CisgICAgbWFyZ2luOiAwOworICAg
IHdpZHRoOiAyNTFweDsKK30KKwogLnNlYXJjaC1yZXBsYWNlOmZvY3VzIHsKICAgICBvdXRsaW5l
OiBub25lOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9uZXR3b3JrTG9nVmlldy5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L25ldHdvcmtMb2dWaWV3LmNzcwppbmRleCBmNDU0MTk0ZTFiMDk2YjIyNDBmMmIzNDBkMjIzY2Jk
YzhhMmNlMDg3Li5kMWMxMGQyYmJmZmU0OTMzZGE5NzcxZjg3MzgyMzMzZDY5MGMyYzBjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL25ldHdvcmtMb2dWaWV3
LmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL25ldHdvcmtMb2dW
aWV3LmNzcwpAQCAtNDcwLDE1ICs0NzAsMTUgQEAKICAgICBkaXNwbGF5OiBub25lOwogfQogCi0u
bmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWFsbCB0YWJsZS5kYXRhIHRyLnJldmVh
bGVkLm5ldHdvcmstaXRlbSwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItZG9j
dW1lbnQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtZG9jdW1lbnQsCi0ubmV0
d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXN0eWxlc2hlZXQgdGFibGUuZGF0YSB0ci5y
ZXZlYWxlZC5uZXR3b3JrLXR5cGUtc3R5bGVzaGVldCwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEt
Z3JpZC5maWx0ZXItaW1hZ2UgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtaW1h
Z2UsCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXNjcmlwdCB0YWJsZS5kYXRh
IHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1zY3JpcHQsCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRh
LWdyaWQuZmlsdGVyLXhociB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS14aHIs
Ci0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWZvbnQgdGFibGUuZGF0YSB0ci5y
ZXZlYWxlZC5uZXR3b3JrLXR5cGUtZm9udCwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5m
aWx0ZXItd2Vic29ja2V0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXdlYnNv
Y2tldCwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItb3RoZXIgdGFibGUuZGF0
YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtb3RoZXIgeworLm5ldHdvcmstbG9nLWdyaWQuZGF0
YS1ncmlkLmZpbHRlci1hbGwgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLWl0ZW06bm90
KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1kb2N1
bWVudCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1kb2N1bWVudDpub3QoLmZp
bHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXN0eWxlc2hl
ZXQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtc3R5bGVzaGVldDpub3QoLmZp
bHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWltYWdlIHRh
YmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLWltYWdlOm5vdCguZmlsdGVyZWQtb3V0
KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItc2NyaXB0IHRhYmxlLmRhdGEg
dHIucmV2ZWFsZWQubmV0d29yay10eXBlLXNjcmlwdDpub3QoLmZpbHRlcmVkLW91dCksCisubmV0
d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXhociB0YWJsZS5kYXRhIHRyLnJldmVhbGVk
Lm5ldHdvcmstdHlwZS14aHI6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQu
ZGF0YS1ncmlkLmZpbHRlci1mb250IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBl
LWZvbnQ6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZp
bHRlci13ZWJzb2NrZXQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtd2Vic29j
a2V0Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0
ZXItb3RoZXIgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtb3RoZXI6bm90KC5m
aWx0ZXJlZC1vdXQpIHsKICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158792</attachid>
            <date>2012-08-16 06:05:43 -0700</date>
            <delta_ts>2012-08-16 09:46:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120816170508.patch</filename>
            <type>text/plain</type>
            <size>22579</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUxYzViM2ZlMTdhNTM0
NjMyNWExNzYyNTA0M2EzMDRjNmUzMzIyYy4uNDIzYWRlMDI0YWVhMTY5YjYwYjhlZTE4ZjRkNTQ0
ODJiNTYxM2M4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTA4LTE2ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmaWx0ZXJpbmcgc3VwcG9ydCB0byBzZWFy
Y2ggcGFuZWwuCisgICAgICAgIEltcGxlbWVudGVkIGZpbHRlcmluZyBmb3IgbmV0d29yayBwYW5l
bC4KKyAgICAgICAgCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9jbGVh
clNlYXJjaE1hdGNoZWRMaXN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUuX3VwZGF0ZUhpZ2hsaWdodElmTWF0Y2hlZCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9oaWdobGlnaHRNYXRjaGVkUmVxdWVzdHMp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5faGlnaGxp
Z2h0TnRoTWF0Y2hlZFJlcXVlc3RGb3JTZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtMb2dWaWV3LnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLmp1bXBUb1ByZXZpb3VzU2VhcmNo
UmVzdWx0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUu
anVtcFRvTmV4dFNlYXJjaFJlc3VsdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1Bh
bmVsLnByb3RvdHlwZS5wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3
b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZS5faGlnaGxpZ2h0TWF0Y2hlZFN1YnN0cmluZyk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLmNhbmNlbFNlYXJjaCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuc2hvd1NlYXJjaEZpZWxkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fc3dpdGNoRmls
dGVyVG9TZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJv
dG90eXBlLl9zd2l0Y2hTZWFyY2hUb0ZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2Vh
cmNoQ29udHJvbGxlci5wcm90b3R5cGUuX3VwZGF0ZUZpbHRlclZpc2liaWxpdHkpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLl9yZXBsYWNlQWxsKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fZmlsdGVy
Q2hlY2tib3hDbGljayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5w
cm90b3R5cGUuX3BlcmZvcm1GaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENv
bnRyb2xsZXIucHJvdG90eXBlLl9vbkZpbHRlcklucHV0KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fb25TZWFyY2hJbnB1dCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUucmVzZXRGaWx0ZXIpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzczoKKyAgICAgICAgKC5maWx0
ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzOgor
ICAgICAgICAoLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1vdGhlciB0YWJsZS5k
YXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1vdGhlcjpub3QoLmZpbHRlcmVkLW91dCkpOgor
CiAyMDEyLTA4LTE0ICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1QGFkb2JlLmNvbT4KIAog
ICAgICAgICBMYXlvdXQgVGVzdCBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYW5p
bWF0aW9uLmh0bWwgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwppbmRleCAyZWZjMWRhZGY3NGYyNjU3YTQxMzk3ZTg2
MTI0NTMwOWM1NmFjNTIxLi44YzBjZmI1MTBkMGIyMzI2YTBjZmE3ZGI2ZWQwMzI1YmQzMTk1ZTk4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcwpAQCAtNDgsNiArNDgsOCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcgPSBm
dW5jdGlvbigpCiAgICAgdGhpcy5fbWFpblJlcXVlc3RET01Db250ZW50VGltZSA9IC0xOwogICAg
IHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMgPSB7fTsKICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHMg
PSBbXTsKKyAgICB0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3RzID0gbmV3IE1hcCgpOworICAgIAog
ICAgIHRoaXMuX21hdGNoZWRSZXF1ZXN0c01hcCA9IHt9OwogICAgIHRoaXMuX2N1cnJlbnRNYXRj
aGVkUmVxdWVzdEluZGV4ID0gLTE7CiAKQEAgLTM4NCw3ICszODYsNyBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSB0
aGlzLl9yZXF1ZXN0c1tpXTsKICAgICAgICAgICAgIHZhciByZXF1ZXN0VHJhbnNmZXJTaXplID0g
KHJlcXVlc3QuY2FjaGVkIHx8ICFyZXF1ZXN0LnRyYW5zZmVyU2l6ZSkgPyAwIDogcmVxdWVzdC50
cmFuc2ZlclNpemU7CiAgICAgICAgICAgICB0cmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVy
U2l6ZTsKLSAgICAgICAgICAgIGlmICghdGhpcy5faGlkZGVuQ2F0ZWdvcmllcy5hbGwgfHwgIXRo
aXMuX2hpZGRlbkNhdGVnb3JpZXNbcmVxdWVzdC50eXBlLm5hbWUoKV0pIHsKKyAgICAgICAgICAg
IGlmICgoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8ICF0aGlzLl9oaWRkZW5DYXRlZ29y
aWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSAmJiAhdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5n
ZXQocmVxdWVzdCkpIHsKICAgICAgICAgICAgICAgICBzZWxlY3RlZFJlcXVlc3RzTnVtYmVyKys7
CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUcmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVy
U2l6ZTsKICAgICAgICAgICAgIH0KQEAgLTM5NCw3ICszOTYsNyBAQCBXZWJJbnNwZWN0b3IuTmV0
d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIG1heFRpbWUgPSByZXF1
ZXN0LmVuZFRpbWU7CiAgICAgICAgIH0KICAgICAgICAgdmFyIHRleHQgPSAiIjsKLSAgICAgICAg
aWYgKHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKSB7CisgICAgICAgIGlmIChzZWxlY3RlZFJl
cXVlc3RzTnVtYmVyICE9PSByZXF1ZXN0c051bWJlcikgewogICAgICAgICAgICAgdGV4dCArPSBT
dHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVkIC8gJWQgcmVxdWVzdHMiKSwg
c2VsZWN0ZWRSZXF1ZXN0c051bWJlciwgcmVxdWVzdHNOdW1iZXIpOwogICAgICAgICAgICAgdGV4
dCArPSAiICBcdTI3NTggICIgKyBTdHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IiVzIC8gJXMgdHJhbnNmZXJyZWQiKSwgTnVtYmVyLmJ5dGVzVG9TdHJpbmcoc2VsZWN0ZWRUcmFu
c2ZlclNpemUpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0cmFuc2ZlclNpemUpKTsKICAgICAgICAg
fSBlbHNlIHsKQEAgLTEwNjcsNyArMTA2OSw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHMgPSBb
XTsKICAgICAgICAgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzTWFwID0ge307Ci0gICAgICAgIHRoaXMu
X2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KC0xLCBmYWxzZSk7CisgICAgICAgIHRoaXMuX2hp
Z2hsaWdodE1hdGNoZWRSZXF1ZXN0cyhbXSwgZmFsc2UsIGNyZWF0ZVBsYWluVGV4dFNlYXJjaFJl
Z2V4KCIiKSk7CiAgICAgfSwKIAogICAgIF91cGRhdGVTZWFyY2hNYXRjaGVkTGlzdEFmdGVyUmVx
dWVzdElkQ2hhbmdlZDogZnVuY3Rpb24ob2xkUmVxdWVzdElkLCBuZXdSZXF1ZXN0SWQpCkBAIC0x
MDkxLDQwICsxMDkzLDYyIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUg
PSB7CiAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJbmRleCAhPT0gLTEg
JiYgdGhpcy5fY3VycmVudE1hdGNoZWRSZXF1ZXN0SW5kZXggIT09IG1hdGNoZWRSZXF1ZXN0SW5k
ZXgpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0
Y2hlZFJlcXVlc3QobWF0Y2hlZFJlcXVlc3RJbmRleCwgZmFsc2UpOworICAgICAgICB0aGlzLl9o
aWdobGlnaHROdGhNYXRjaGVkUmVxdWVzdEZvclNlYXJjaChtYXRjaGVkUmVxdWVzdEluZGV4LCBm
YWxzZSk7CiAgICAgfSwKIAotICAgIF9oaWdobGlnaHROdGhNYXRjaGVkUmVxdWVzdDogZnVuY3Rp
b24obWF0Y2hlZFJlcXVlc3RJbmRleCwgcmV2ZWFsKQorICAgIAorICAgIC8qKgorICAgICAqIEBw
YXJhbSB7QXJyYXkuPE5ldHdvcmtSZXF1ZXN0Pn0gcmVxdWVzdHMKKyAgICAgKiBAcGFyYW0ge2Jv
b2xlYW59IHJldmVhbAorICAgICAqIEBwYXJhbSB7UmVnRXhwfSByZWdFeHAKKyAgICAgKi8KKyAg
ICBfaGlnaGxpZ2h0TWF0Y2hlZFJlcXVlc3RzOiBmdW5jdGlvbihyZXF1ZXN0cywgcmV2ZWFsLCBy
ZWdFeHApCiAgICAgewogICAgICAgICBpZiAodGhpcy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFu
Z2VzKSB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3IucmV2ZXJ0RG9tQ2hhbmdlcyh0aGlzLl9o
aWdobGlnaHRlZFN1YnN0cmluZ0NoYW5nZXMpOworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCB0aGlzLl9oaWdobGlnaHRlZFN1YnN0cmluZ0NoYW5nZXMubGVuZ3RoOyArK2kpCisgICAg
ICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnJldmVydERvbUNoYW5nZXModGhpcy5faGlnaGxpZ2h0
ZWRTdWJzdHJpbmdDaGFuZ2VzW2ldKTsKICAgICAgICAgICAgIHRoaXMuX2hpZ2hsaWdodGVkU3Vi
c3RyaW5nQ2hhbmdlcyA9IG51bGw7CiAgICAgICAgIH0KLQotICAgICAgICBpZiAobWF0Y2hlZFJl
cXVlc3RJbmRleCA9PT0gLTEpIHsKLSAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVx
dWVzdEluZGV4ID0gbWF0Y2hlZFJlcXVlc3RJbmRleDsKKyAgICAgICAgaWYgKHJlZ0V4cC50ZXN0
KCIiKSkKICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgdGhpcy5faGlnaGxpZ2h0ZWRTdWJz
dHJpbmdDaGFuZ2VzID0gW107CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVxdWVzdHMu
bGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gcmVxdWVzdHNbaV07Cisg
ICAgICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX3JlcXVlc3RHcmlkTm9kZShyZXF1ZXN0KTsKKyAg
ICAgICAgICAgIGlmIChub2RlKSB7CisgICAgICAgICAgICAgICAgdmFyIG5hbWVNYXRjaGVkID0g
cmVxdWVzdC5kaXNwbGF5TmFtZSAmJiByZXF1ZXN0LmRpc3BsYXlOYW1lLm1hdGNoKHJlZ0V4cCk7
CisgICAgICAgICAgICAgICAgdmFyIHBhdGhNYXRjaGVkID0gcmVxdWVzdC5wYXJzZWRVUkwucGF0
aCAmJiByZXF1ZXN0LmZvbGRlci5tYXRjaChyZWdFeHApOworICAgICAgICAgICAgICAgIGlmICgh
bmFtZU1hdGNoZWQgJiYgcGF0aE1hdGNoZWQgJiYgIXRoaXMuX2xhcmdlclJlcXVlc3RzQnV0dG9u
LnRvZ2dsZWQpCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RvZ2dsZUxhcmdlclJlcXVlc3Rz
KCk7CisgICAgICAgICAgICAgICAgdmFyIGhpZ2hsaWdodGVkU3Vic3RyaW5nQ2hhbmdlcyA9IG5v
ZGUuX2hpZ2hsaWdodE1hdGNoZWRTdWJzdHJpbmcocmVnRXhwKTsKKyAgICAgICAgICAgICAgICB0
aGlzLl9oaWdobGlnaHRlZFN1YnN0cmluZ0NoYW5nZXMucHVzaChoaWdobGlnaHRlZFN1YnN0cmlu
Z0NoYW5nZXMpOworICAgICAgICAgICAgICAgIGlmIChyZXZlYWwpCisgICAgICAgICAgICAgICAg
ICAgIG5vZGUucmV2ZWFsKCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICB9LAogCi0g
ICAgICAgIHZhciByZXF1ZXN0ID0gdGhpcy5fcmVxdWVzdHNCeUlkW3RoaXMuX21hdGNoZWRSZXF1
ZXN0c1ttYXRjaGVkUmVxdWVzdEluZGV4XV07CisgICAgLyoqCisgICAgICogQHBhcmFtIHtudW1i
ZXJ9IG1hdGNoZWRSZXF1ZXN0SW5kZXgKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJldmVhbAor
ICAgICAqIEBwYXJhbSB7UmVnRXhwfSByZWdFeHAKKyAgICAgKi8KKyAgICBfaGlnaGxpZ2h0TnRo
TWF0Y2hlZFJlcXVlc3RGb3JTZWFyY2g6IGZ1bmN0aW9uKG1hdGNoZWRSZXF1ZXN0SW5kZXgsIHJl
dmVhbCwgcmVnRXhwKQorICAgIHsKKyAgICAgICAgdmFyIHJlcXVlc3QgPSB0aGlzLnJlcXVlc3RC
eUlkKHRoaXMuX21hdGNoZWRSZXF1ZXN0c1ttYXRjaGVkUmVxdWVzdEluZGV4XSk7CiAgICAgICAg
IGlmICghcmVxdWVzdCkKICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB2YXIgbmFtZU1h
dGNoZWQgPSByZXF1ZXN0LmRpc3BsYXlOYW1lICYmIHJlcXVlc3QuZGlzcGxheU5hbWUubWF0Y2go
dGhpcy5fc2VhcmNoUmVnRXhwKTsKLSAgICAgICAgdmFyIHBhdGhNYXRjaGVkID0gcmVxdWVzdC5w
YXJzZWRVUkwucGF0aCAmJiByZXF1ZXN0LmZvbGRlci5tYXRjaCh0aGlzLl9zZWFyY2hSZWdFeHAp
OwotICAgICAgICBpZiAoIW5hbWVNYXRjaGVkICYmIHBhdGhNYXRjaGVkICYmICF0aGlzLl9sYXJn
ZXJSZXF1ZXN0c0J1dHRvbi50b2dnbGVkKQotICAgICAgICAgICAgdGhpcy5fdG9nZ2xlTGFyZ2Vy
UmVxdWVzdHMoKTsKLQorICAgICAgICB0aGlzLl9oaWdobGlnaHRNYXRjaGVkUmVxdWVzdHMoW3Jl
cXVlc3RdLCByZXZlYWwsIHJlZ0V4cCk7CiAgICAgICAgIHZhciBub2RlID0gdGhpcy5fcmVxdWVz
dEdyaWROb2RlKHJlcXVlc3QpOwotICAgICAgICBpZiAobm9kZSkgewotICAgICAgICAgICAgdGhp
cy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFuZ2VzID0gbm9kZS5faGlnaGxpZ2h0TWF0Y2hlZFN1
YnN0cmluZyh0aGlzLl9zZWFyY2hSZWdFeHApOwotICAgICAgICAgICAgaWYgKHJldmVhbCkKLSAg
ICAgICAgICAgICAgICBub2RlLnJldmVhbCgpOworICAgICAgICBpZiAobm9kZSkKICAgICAgICAg
ICAgIHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4ID0gbWF0Y2hlZFJlcXVlc3RJbmRl
eDsKLSAgICAgICAgfQorCiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdl
Ykluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5FdmVudFR5cGVzLlNlYXJjaEluZGV4VXBkYXRlZCwg
dGhpcy5fY3VycmVudE1hdGNoZWRSZXF1ZXN0SW5kZXgpOwogICAgIH0sCiAKKyAgICAvKioKKyAg
ICAgKiBAcGFyYW0ge3N0cmluZ30gc2VhcmNoUXVlcnkKKyAgICAgKi8KICAgICBwZXJmb3JtU2Vh
cmNoOiBmdW5jdGlvbihzZWFyY2hRdWVyeSkKICAgICB7CiAgICAgICAgIHZhciBuZXdNYXRjaGVk
UmVxdWVzdEluZGV4ID0gMDsKQEAgLTExMzMsNyArMTE1Nyw2IEBAIFdlYkluc3BlY3Rvci5OZXR3
b3JrTG9nVmlldy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBjdXJyZW50TWF0Y2hlZFJlcXVl
c3RJZCA9IHRoaXMuX21hdGNoZWRSZXF1ZXN0c1t0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJ
bmRleF07CiAKICAgICAgICAgdGhpcy5fc2VhcmNoUmVnRXhwID0gY3JlYXRlUGxhaW5UZXh0U2Vh
cmNoUmVnZXgoc2VhcmNoUXVlcnksICJpIik7Ci0KICAgICAgICAgdGhpcy5fY2xlYXJTZWFyY2hN
YXRjaGVkTGlzdCgpOwogCiAgICAgICAgIHZhciBjaGlsZE5vZGVzID0gdGhpcy5fZGF0YUdyaWQu
ZGF0YVRhYmxlQm9keS5jaGlsZE5vZGVzOwpAQCAtMTE0MywyNyArMTE2Niw0OSBAQCBXZWJJbnNw
ZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFyIGRhdGFH
cmlkTm9kZSA9IHRoaXMuX2RhdGFHcmlkLmRhdGFHcmlkTm9kZUZyb21Ob2RlKHJlcXVlc3ROb2Rl
c1tpXSk7CiAgICAgICAgICAgICBpZiAoZGF0YUdyaWROb2RlLmlzRmlsdGVyZWRPdXQoKSkKICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKLQogICAgICAgICAgICAgaWYgKHRoaXMuX21hdGNoUmVx
dWVzdChkYXRhR3JpZE5vZGUuX3JlcXVlc3QpICE9PSAtMSAmJiBkYXRhR3JpZE5vZGUuX3JlcXVl
c3QucmVxdWVzdElkID09PSBjdXJyZW50TWF0Y2hlZFJlcXVlc3RJZCkKICAgICAgICAgICAgICAg
ICBuZXdNYXRjaGVkUmVxdWVzdEluZGV4ID0gdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCAt
IDE7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhX
ZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcuRXZlbnRUeXBlcy5TZWFyY2hDb3VudFVwZGF0ZWQs
IHRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5ndGgpOwotICAgICAgICB0aGlzLl9oaWdobGlnaHRO
dGhNYXRjaGVkUmVxdWVzdChuZXdNYXRjaGVkUmVxdWVzdEluZGV4LCBmYWxzZSk7CisgICAgICAg
IHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0Rm9yU2VhcmNoKG5ld01hdGNoZWRSZXF1
ZXN0SW5kZXgsIGZhbHNlLCB0aGlzLl9zZWFyY2hSZWdFeHApOwogICAgIH0sCiAKKyAgICAvKioK
KyAgICAgKiBAcGFyYW0ge3N0cmluZ30gcXVlcnkKKyAgICAgKi8KKyAgICBwZXJmb3JtRmlsdGVy
OiBmdW5jdGlvbihxdWVyeSkgeworICAgICAgICB0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3RzLmNs
ZWFyKCk7CisgICAgICAgIHZhciBmaWx0ZXJSZWdFeHAgPSBjcmVhdGVQbGFpblRleHRTZWFyY2hS
ZWdleChxdWVyeSwgImkiKTsKKyAgICAgICAgdmFyIHNob3duUmVxdWVzdHMgPSBbXTsKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9kYXRhR3JpZC5yb290Tm9kZSgpLmNoaWxkcmVu
Lmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX2RhdGFHcmlkLnJv
b3ROb2RlKCkuY2hpbGRyZW5baV07CisgICAgICAgICAgICBub2RlLmVsZW1lbnQucmVtb3ZlU3R5
bGVDbGFzcygiZmlsdGVyZWQtb3V0Iik7CisgICAgICAgICAgICB2YXIgbmFtZU1hdGNoZWQgPSBu
b2RlLl9yZXF1ZXN0LmRpc3BsYXlOYW1lICYmIG5vZGUuX3JlcXVlc3QuZGlzcGxheU5hbWUubWF0
Y2goZmlsdGVyUmVnRXhwKTsKKyAgICAgICAgICAgIHZhciBwYXRoTWF0Y2hlZCA9IG5vZGUuX3Jl
cXVlc3QucGFyc2VkVVJMLnBhdGggJiYgbm9kZS5fcmVxdWVzdC5mb2xkZXIubWF0Y2goZmlsdGVy
UmVnRXhwKTsKKyAgICAgICAgICAgIGlmICghbmFtZU1hdGNoZWQgJiYgIXBhdGhNYXRjaGVkKSB7
CisgICAgICAgICAgICAgICAgbm9kZS5lbGVtZW50LmFkZFN0eWxlQ2xhc3MoImZpbHRlcmVkLW91
dCIpOworICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlcmVkT3V0UmVxdWVzdHMucHV0KHRoaXMu
X3JlcXVlc3RzW2ldLCB0cnVlKTsKKyAgICAgICAgICAgIH0gZWxzZSAKKyAgICAgICAgICAgICAg
ICBzaG93blJlcXVlc3RzLnB1c2gobm9kZS5fcmVxdWVzdCk7CisgICAgICAgIH0KKyAgICAgICAg
dGhpcy5faGlnaGxpZ2h0TWF0Y2hlZFJlcXVlc3RzKHNob3duUmVxdWVzdHMsIGZhbHNlLCBmaWx0
ZXJSZWdFeHApOworICAgICAgICB0aGlzLl91cGRhdGVTdW1tYXJ5QmFyKCk7CisgICAgICAgIHRo
aXMuX3VwZGF0ZU9mZnNjcmVlblJvd3MoKTsKKyAgICB9LAorICAgIAogICAgIGp1bXBUb1ByZXZp
b3VzU2VhcmNoUmVzdWx0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX21h
dGNoZWRSZXF1ZXN0cy5sZW5ndGgpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHRoaXMu
X2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KCh0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJ
bmRleCArIHRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5ndGggLSAxKSAlIHRoaXMuX21hdGNoZWRS
ZXF1ZXN0cy5sZW5ndGgsIHRydWUpOworICAgICAgICB0aGlzLl9oaWdobGlnaHROdGhNYXRjaGVk
UmVxdWVzdEZvclNlYXJjaCgodGhpcy5fY3VycmVudE1hdGNoZWRSZXF1ZXN0SW5kZXggKyB0aGlz
Ll9tYXRjaGVkUmVxdWVzdHMubGVuZ3RoIC0gMSkgJSB0aGlzLl9tYXRjaGVkUmVxdWVzdHMubGVu
Z3RoLCB0cnVlLCB0aGlzLl9zZWFyY2hSZWdFeHApOwogICAgIH0sCiAKICAgICBqdW1wVG9OZXh0
U2VhcmNoUmVzdWx0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX21hdGNo
ZWRSZXF1ZXN0cy5sZW5ndGgpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHRoaXMuX2hp
Z2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KCh0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJbmRl
eCArIDEpICUgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCwgdHJ1ZSk7CisgICAgICAgIHRo
aXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0Rm9yU2VhcmNoKCh0aGlzLl9jdXJyZW50TWF0
Y2hlZFJlcXVlc3RJbmRleCArIDEpICUgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCwgdHJ1
ZSwgdGhpcy5fc2VhcmNoUmVnRXhwKTsKICAgICB9LAogCiAgICAgc2VhcmNoQ2FuY2VsZWQ6IGZ1
bmN0aW9uKCkKQEAgLTE0MDUsMTEgKzE0NTAsMjEgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtQYW5l
bC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3LnN3aXRjaFRvQnJp
ZWZWaWV3KCk7CiAgICAgfSwKIAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzZWFy
Y2hRdWVyeQorICAgICAqLyAgICAKICAgICBwZXJmb3JtU2VhcmNoOiBmdW5jdGlvbihzZWFyY2hR
dWVyeSkKICAgICB7CiAgICAgICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3LnBlcmZvcm1TZWFyY2go
c2VhcmNoUXVlcnkpOwogICAgIH0sCi0KKyAgICAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0
cmluZ30gcXVlcnkKKyAgICAgKi8gICAgCisgICAgcGVyZm9ybUZpbHRlcjogZnVuY3Rpb24ocXVl
cnkpeworICAgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5wZXJmb3JtRmlsdGVyKHF1ZXJ5KTsK
KyAgICB9LAorICAgIAogICAgIGp1bXBUb1ByZXZpb3VzU2VhcmNoUmVzdWx0OiBmdW5jdGlvbigp
CiAgICAgewogICAgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5qdW1wVG9QcmV2aW91c1NlYXJj
aFJlc3VsdCgpOwpAQCAtMTcyMiw2ICsxNzc3LDggQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEYXRh
R3JpZE5vZGUucHJvdG90eXBlID0gewogCiAgICAgaXNGaWx0ZXJlZE91dDogZnVuY3Rpb24oKQog
ICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX3BhcmVudFZpZXcuX2ZpbHRlcmVkT3V0UmVxdWVzdHMu
Z2V0KHRoaXMuX3JlcXVlc3QpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIGlm
ICghdGhpcy5fcGFyZW50Vmlldy5faGlkZGVuQ2F0ZWdvcmllcy5hbGwpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0LnR5cGUubmFtZSgpIGlu
IHRoaXMuX3BhcmVudFZpZXcuX2hpZGRlbkNhdGVnb3JpZXM7CkBAIC0xNzM2LDggKzE3OTMsOSBA
QCBXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgX2hp
Z2hsaWdodE1hdGNoZWRTdWJzdHJpbmc6IGZ1bmN0aW9uKHJlZ2V4cCkKICAgICB7CiAgICAgICAg
IHZhciBkb21DaGFuZ2VzID0gW107Ci0gICAgICAgIHZhciBtYXRjaEluZm8gPSB0aGlzLl9uYW1l
Q2VsbC50ZXh0Q29udGVudC5tYXRjaChyZWdleHApOwotICAgICAgICBXZWJJbnNwZWN0b3IuaGln
aGxpZ2h0U2VhcmNoUmVzdWx0KHRoaXMuX25hbWVDZWxsLCBtYXRjaEluZm8uaW5kZXgsIG1hdGNo
SW5mb1swXS5sZW5ndGgsIGRvbUNoYW5nZXMpOworICAgICAgICB2YXIgbWF0Y2hJbmZvID0gdGhp
cy5fZWxlbWVudC50ZXh0Q29udGVudC5tYXRjaChyZWdleHApOworICAgICAgICBpZiAobWF0Y2hJ
bmZvKQorICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmhpZ2hsaWdodFNlYXJjaFJlc3VsdCh0aGlz
Ll9uYW1lQ2VsbCwgbWF0Y2hJbmZvLmluZGV4LCBtYXRjaEluZm9bMF0ubGVuZ3RoLCBkb21DaGFu
Z2VzKTsKICAgICAgICAgcmV0dXJuIGRvbUNoYW5nZXM7CiAgICAgfSwKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzCmlu
ZGV4IGQxOGUyODBlMWE2NmQ0YTJmZTMxNzBkODJiMWE5MTM0YzQyY2QxZGUuLjUwYzFjYTZlMzc0
YzNjZGIwODliNmE2YmYyZmMzOWYxODljZWE2YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKQEAgLTQyLDExICs0
MiwxOCBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlciA9IGZ1bmN0aW9uKCkKICAgICB0
aGlzLl9zZWNvbmRSb3dFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5jcmVhdGVDaGlsZCgidHIiLCAi
aGlkZGVuIik7CiAKICAgICAvLyBDb2x1bW4gMQotICAgIHRoaXMuX3NlYXJjaENvbnRyb2xFbGVt
ZW50ID0gdGhpcy5fZmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpLmNyZWF0ZUNoaWxk
KCJzcGFuIiwgInRvb2xiYXItc2VhcmNoLWNvbnRyb2wiKTsKKyAgICB2YXIgc2VhcmNoQ29udHJv
bEVsZW1lbnRDb2x1bW4gPSB0aGlzLl9maXJzdFJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRkIik7
IAorICAgIHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50ID0gc2VhcmNoQ29udHJvbEVsZW1lbnRD
b2x1bW4uY3JlYXRlQ2hpbGQoInNwYW4iLCAidG9vbGJhci1zZWFyY2gtY29udHJvbCIpOwogICAg
IHRoaXMuX3NlYXJjaElucHV0RWxlbWVudCA9IHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50LmNy
ZWF0ZUNoaWxkKCJpbnB1dCIsICJzZWFyY2gtcmVwbGFjZSIpOwogICAgIHRoaXMuX3NlYXJjaElu
cHV0RWxlbWVudC5pZCA9ICJzZWFyY2gtaW5wdXQtZmllbGQiOwogICAgIHRoaXMuX3NlYXJjaElu
cHV0RWxlbWVudC5wbGFjZWhvbGRlciA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRmluZCIpOwog
CisgICAgdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQgPSBzZWFyY2hDb250cm9sRWxlbWVudENv
bHVtbi5jcmVhdGVDaGlsZCgic3BhbiIsICJ0b29sYmFyLXNlYXJjaC1jb250cm9sIik7CisgICAg
dGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAg
dGhpcy5fZmlsdGVySW5wdXRFbGVtZW50ID0gdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQuY3Jl
YXRlQ2hpbGQoImlucHV0IiwgImZpbHRlciIpOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVu
dC5pZCA9ICJmaWx0ZXItaW5wdXQtZmllbGQiOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVu
dC5wbGFjZWhvbGRlciA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRmlsdGVyIik7CisKICAgICB0
aGlzLl9tYXRjaGVzRWxlbWVudCA9IHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50LmNyZWF0ZUNo
aWxkKCJsYWJlbCIsICJzZWFyY2gtcmVzdWx0cy1tYXRjaGVzIik7CiAgICAgdGhpcy5fbWF0Y2hl
c0VsZW1lbnQuc2V0QXR0cmlidXRlKCJmb3IiLCAic2VhcmNoLWlucHV0LWZpZWxkIik7CiAKQEAg
LTYyLDcgKzY5LDkgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIgPSBmdW5jdGlvbigp
CiAKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vk
b3duIiwgdGhpcy5fb25TZWFyY2hGaWVsZE1hbnVhbEZvY3VzLmJpbmQodGhpcyksIGZhbHNlKTsg
Ly8gd2hlbiB0aGUgc2VhcmNoIGZpZWxkIGlzIG1hbnVhbGx5IHNlbGVjdGVkCiAgICAgdGhpcy5f
c2VhcmNoSW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9vbktl
eURvd24uYmluZCh0aGlzKSwgdHJ1ZSk7Ci0gICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25JbnB1dC5iaW5kKHRoaXMpLCBmYWxzZSk7
CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24i
LCB0aGlzLl9vbktleURvd24uYmluZCh0aGlzKSwgdHJ1ZSk7CisgICAgdGhpcy5fZmlsdGVySW5w
dXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25GaWx0ZXJJbnB1dC5i
aW5kKHRoaXMpLCBmYWxzZSk7CisgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LmFkZEV2ZW50
TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25TZWFyY2hJbnB1dC5iaW5kKHRoaXMpLCBmYWxzZSk7
CiAKICAgICB0aGlzLl9yZXBsYWNlSW5wdXRFbGVtZW50ID0gdGhpcy5fc2Vjb25kUm93RWxlbWVu
dC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgiaW5wdXQiLCAic2VhcmNoLXJlcGxhY2Ug
dG9vbGJhci1yZXBsYWNlLWNvbnRyb2wiKTsKICAgICB0aGlzLl9yZXBsYWNlSW5wdXRFbGVtZW50
LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9vbktleURvd24uYmluZCh0aGlzKSwg
dHJ1ZSk7CkBAIC0xMDQsNiArMTEzLDE4IEBAIFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVy
ID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX3JlcGxhY2VMYWJlbEVsZW1lbnQuc2V0QXR0cmlidXRl
KCJmb3IiLCAic2VhcmNoLXJlcGxhY2UtdHJpZ2dlciIpOwogCiAgICAgLy8gQ29sdW1uIDUKKyAg
ICB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lciA9IHRoaXMuX2ZpcnN0Um93RWxlbWVudC5j
cmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgic3BhbiIpOworCisgICAgdGhpcy5fZmlsdGVy
Q2hlY2tib3hFbGVtZW50ID0gdGhpcy5fZmlsdGVyQ2hlY2tib3hDb250YWluZXIuY3JlYXRlQ2hp
bGQoImlucHV0Iik7CisgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50LnR5cGUgPSAiY2hl
Y2tib3giOworICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5pZCA9ICJmaWx0ZXItdHJp
Z2dlciI7CisgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgdGhpcy5fZmlsdGVyQ2hlY2tib3hDbGljay5iaW5kKHRoaXMpLCBmYWxzZSk7Cisg
IAorICAgIHRoaXMuX2ZpbHRlckxhYmVsRWxlbWVudCA9IHRoaXMuX2ZpbHRlckNoZWNrYm94Q29u
dGFpbmVyLmNyZWF0ZUNoaWxkKCJsYWJlbCIpOworICAgIHRoaXMuX2ZpbHRlckxhYmVsRWxlbWVu
dC50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRmlsdGVyIik7CisgICAgdGhp
cy5fZmlsdGVyTGFiZWxFbGVtZW50LnNldEF0dHJpYnV0ZSgiZm9yIiwgImZpbHRlci10cmlnZ2Vy
Iik7CisKKyAgICAvLyBDb2x1bW4gNgogICAgIHZhciBjYW5jZWxCdXR0b25FbGVtZW50ID0gdGhp
cy5fZmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpLmNyZWF0ZUNoaWxkKCJidXR0b24i
KTsKICAgICBjYW5jZWxCdXR0b25FbGVtZW50LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJDYW5jZWwiKTsKICAgICBjYW5jZWxCdXR0b25FbGVtZW50LnRhYkluZGV4ID0gLTE7
CkBAIC0xMzIsNiArMTUzLDEwIEBAIFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3Rv
dHlwZSA9IHsKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fc2VhcmNoSXNWaXNpYmxlKQogICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAodGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50
LmNoZWNrZWQpIHsKKyAgICAgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5jaGVj
a2VkID0gZmFsc2U7CisgICAgICAgICAgICB0aGlzLl9zd2l0Y2hGaWx0ZXJUb1NlYXJjaCgpOwor
ICAgICAgICB9IAogICAgICAgICBkZWxldGUgdGhpcy5fc2VhcmNoSXNWaXNpYmxlOwogICAgICAg
ICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5zZXRGb290ZXJFbGVtZW50KG51bGwpOwogICAg
ICAgICB0aGlzLnJlc2V0U2VhcmNoKCk7CkBAIC0yMjMsMTEgKzI0OCw0MCBAQCBXZWJJbnNwZWN0
b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBXZWJJbnNw
ZWN0b3IuaW5zcGVjdG9yVmlldy5zZXRGb290ZXJFbGVtZW50KHRoaXMuX2VsZW1lbnQpOwogICAg
ICAgICB0aGlzLl91cGRhdGVSZXBsYWNlVmlzaWJpbGl0eSgpOworICAgICAgICB0aGlzLl91cGRh
dGVGaWx0ZXJWaXNpYmlsaXR5KCk7CiAgICAgICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5m
b2N1cygpOwogICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuc2VsZWN0KCk7CiAgICAg
ICAgIHRoaXMuX3NlYXJjaElzVmlzaWJsZSA9IHRydWU7CiAgICAgfSwKIAorICAgIF9zd2l0Y2hG
aWx0ZXJUb1NlYXJjaDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fZmlsdGVyQ29u
dHJvbEVsZW1lbnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMuX3NlYXJj
aENvbnRyb2xFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICB0aGlz
Ll9zZWFyY2hJbnB1dEVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgdGhpcy5fc2VhcmNoSW5wdXRF
bGVtZW50LnNlbGVjdCgpOworICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUg
PSB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWU7CisgICAgICAgIHRoaXMucmVzZXRGaWx0
ZXIoKTsKKyAgICB9LAorCisgICAgX3N3aXRjaFNlYXJjaFRvRmlsdGVyOiBmdW5jdGlvbigpCisg
ICAgeworICAgICAgICB0aGlzLl9maWx0ZXJDb250cm9sRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNz
KCJoaWRkZW4iKTsKKyAgICAgICAgdGhpcy5fc2VhcmNoQ29udHJvbEVsZW1lbnQuYWRkU3R5bGVD
bGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5mb2N1cygp
OworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuc2VsZWN0KCk7CisgICAgICAgIHRo
aXMuX2ZpbHRlcklucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC52
YWx1ZTsKKyAgICAgICAgdGhpcy5yZXNldFNlYXJjaCgpOworICAgIH0sCisgICAgCisgICAgX3Vw
ZGF0ZUZpbHRlclZpc2liaWxpdHk6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICh0eXBl
b2YgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkucGVyZm9ybUZpbHRl
ciA9PT0gImZ1bmN0aW9uIikKKyAgICAgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94Q29udGFp
bmVyLnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lci5hZGRTdHlsZUNsYXNzKCJoaWRkZW4iKTsK
KyAgICB9LAorICAKICAgICBfdXBkYXRlUmVwbGFjZVZpc2liaWxpdHk6IGZ1bmN0aW9uKCkKICAg
ICB7CiAgICAgICAgIHZhciBwYW5lbCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJl
bnRQYW5lbCgpOwpAQCAtMjY1LDExICszMTksNiBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJv
bGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICB9LAogCi0gICAgX29uSW5wdXQ6IGZ1
bmN0aW9uKGV2ZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5fcGVyZm9ybVNlYXJjaChldmVudC50
YXJnZXQudmFsdWUsIGZhbHNlLCBmYWxzZSk7Ci0gICAgfSwKLQogICAgIF9vbk5leHRCdXR0b25T
ZWFyY2g6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgLy8gU2ltdWxhdGUgbmV4dCBz
ZWFyY2ggb24gc2VhcmNoLW5hdmlnYXRpb24tYnV0dG9uIGNsaWNrLgpAQCAtMzY0LDYgKzQxMyw0
MiBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgewog
ICAgICAgICB2YXIgY3VycmVudFBhbmVsID0gV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3Vy
cmVudFBhbmVsKCk7CiAgICAgICAgIGN1cnJlbnRQYW5lbC5yZXBsYWNlQWxsV2l0aCh0aGlzLl9z
ZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUsIHRoaXMuX3JlcGxhY2VJbnB1dEVsZW1lbnQudmFsdWUp
OworICAgIH0sCisgIAorICAgIF9maWx0ZXJDaGVja2JveENsaWNrOiBmdW5jdGlvbigpCisgICAg
eworICAgICAgICBpZiAodGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50LmNoZWNrZWQpIHsgCisg
ICAgICAgICAgICB0aGlzLl9zd2l0Y2hTZWFyY2hUb0ZpbHRlcigpOworICAgICAgICAgICAgdGhp
cy5fcGVyZm9ybUZpbHRlcih0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWUpOworICAgICAg
ICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgdGhpcy5fc3dpdGNoRmlsdGVyVG9TZWFy
Y2goKTsKKyAgICAgICAgICAgIHRoaXMuX3BlcmZvcm1TZWFyY2godGhpcy5fc2VhcmNoSW5wdXRF
bGVtZW50LnZhbHVlLCBmYWxzZSwgZmFsc2UpOworICAgICAgICB9CisgICAgfSwKKyAgICAKKyAg
ICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gcXVlcnkKKyAgICAgKi8KKyAgICBfcGVyZm9y
bUZpbHRlcjogZnVuY3Rpb24ocXVlcnkpCisgICAgeworICAgICAgICBpZiAodHlwZW9mIFdlYklu
c3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1GaWx0ZXIgPT09ICJm
dW5jdGlvbiIpCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50
UGFuZWwoKS5wZXJmb3JtRmlsdGVyKHF1ZXJ5KTsKKyAgICB9LAorICAKKyAgICBfb25GaWx0ZXJJ
bnB1dDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB0aGlzLl9wZXJmb3JtRmlsdGVy
KGV2ZW50LnRhcmdldC52YWx1ZSk7CisgICAgfSwKKyAgCisgICAgX29uU2VhcmNoSW5wdXQ6IGZ1
bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fcGVyZm9ybVNlYXJjaChldmVudC50
YXJnZXQudmFsdWUsIGZhbHNlLCBmYWxzZSk7CisgICAgfSwKKyAgICAKKyAgICByZXNldEZpbHRl
cjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fcGVyZm9ybUZpbHRlcigiIik7CiAg
ICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5jc3MKaW5kZXggZWE1ZWVkYzQ0ZTUyZjQ1NmZlNjA0Y2Q4MTkzMTQ5MzZjMmM1NjU5Zi4u
ZmJmOTY3M2I3NGE4YTc1NmNkNzE4MzQ1NmY2MTAwN2ViMmMxN2RkNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwpAQCAtMjcxLDYgKzI3
MSwxNCBAQCBib2R5LmRldGFjaGVkLnBsYXRmb3JtLW1hYy1zbm93bGVvcGFyZCAjdG9vbGJhci1k
cm9wZG93biB7CiAgICAgd2lkdGg6IDE2NXB4OwogfQogCisuZmlsdGVyIHsKKyAgICAtd2Via2l0
LWFwcGVhcmFuY2U6IG5vbmU7CisgICAgYm9yZGVyOiAwOworICAgIHBhZGRpbmc6IDAgMnB4Owor
ICAgIG1hcmdpbjogMDsKKyAgICB3aWR0aDogMjUxcHg7Cit9CisKIC5zZWFyY2gtcmVwbGFjZTpm
b2N1cyB7CiAgICAgb3V0bGluZTogbm9uZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MKaW5kZXggZjQ1NDE5NGUxYjA5
NmIyMjQwZjJiMzQwZDIyM2NiZGM4YTJjZTA4Ny4uZDFjMTBkMmJiZmZlNDkzM2RhOTc3MWY4NzM4
MjMzM2Q2OTBjMmMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MKQEAgLTQ3MCwxNSArNDcwLDE1IEBACiAgICAgZGlz
cGxheTogbm9uZTsKIH0KIAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1hbGwg
dGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLWl0ZW0sCi0ubmV0d29yay1sb2ctZ3JpZC5k
YXRhLWdyaWQuZmlsdGVyLWRvY3VtZW50IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10
eXBlLWRvY3VtZW50LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1zdHlsZXNo
ZWV0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXN0eWxlc2hlZXQsCi0ubmV0
d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWltYWdlIHRhYmxlLmRhdGEgdHIucmV2ZWFs
ZWQubmV0d29yay10eXBlLWltYWdlLAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRl
ci1zY3JpcHQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtc2NyaXB0LAotLm5l
dHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci14aHIgdGFibGUuZGF0YSB0ci5yZXZlYWxl
ZC5uZXR3b3JrLXR5cGUteGhyLAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1m
b250IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLWZvbnQsCi0ubmV0d29yay1s
b2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXdlYnNvY2tldCB0YWJsZS5kYXRhIHRyLnJldmVhbGVk
Lm5ldHdvcmstdHlwZS13ZWJzb2NrZXQsCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmls
dGVyLW90aGVyIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLW90aGVyIHsKKy5u
ZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItYWxsIHRhYmxlLmRhdGEgdHIucmV2ZWFs
ZWQubmV0d29yay1pdGVtOm5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRh
dGEtZ3JpZC5maWx0ZXItZG9jdW1lbnQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5
cGUtZG9jdW1lbnQ6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1n
cmlkLmZpbHRlci1zdHlsZXNoZWV0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBl
LXN0eWxlc2hlZXQ6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1n
cmlkLmZpbHRlci1pbWFnZSB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1pbWFn
ZTpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVy
LXNjcmlwdCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1zY3JpcHQ6bm90KC5m
aWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci14aHIgdGFi
bGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUteGhyOm5vdCguZmlsdGVyZWQtb3V0KSwK
Ky5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItZm9udCB0YWJsZS5kYXRhIHRyLnJl
dmVhbGVkLm5ldHdvcmstdHlwZS1mb250Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxv
Zy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItd2Vic29ja2V0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQu
bmV0d29yay10eXBlLXdlYnNvY2tldDpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ct
Z3JpZC5kYXRhLWdyaWQuZmlsdGVyLW90aGVyIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29y
ay10eXBlLW90aGVyOm5vdCguZmlsdGVyZWQtb3V0KSB7CiAgICAgZGlzcGxheTogdGFibGUtcm93
OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>158807</attachid>
            <date>2012-08-16 07:06:16 -0700</date>
            <delta_ts>2012-08-16 07:06:16 -0700</delta_ts>
            <desc>Screenshot</desc>
            <filename>Screenshot-2.png</filename>
            <type>image/png</type>
            <size>87931</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>158808</attachid>
            <date>2012-08-16 07:07:36 -0700</date>
            <delta_ts>2012-08-16 07:07:36 -0700</delta_ts>
            <desc>Screenshot</desc>
            <filename>Screenshot-3.png</filename>
            <type>image/png</type>
            <size>96762</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158841</attachid>
            <date>2012-08-16 09:46:29 -0700</date>
            <delta_ts>2012-08-16 10:00:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120816204554.patch</filename>
            <type>text/plain</type>
            <size>22468</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUxYzViM2ZlMTdhNTM0
NjMyNWExNzYyNTA0M2EzMDRjNmUzMzIyYy4uNDIzYWRlMDI0YWVhMTY5YjYwYjhlZTE4ZjRkNTQ0
ODJiNTYxM2M4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTA4LTE2ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmaWx0ZXJpbmcgc3VwcG9ydCB0byBzZWFy
Y2ggcGFuZWwuCisgICAgICAgIEltcGxlbWVudGVkIGZpbHRlcmluZyBmb3IgbmV0d29yayBwYW5l
bC4KKyAgICAgICAgCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9jbGVh
clNlYXJjaE1hdGNoZWRMaXN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUuX3VwZGF0ZUhpZ2hsaWdodElmTWF0Y2hlZCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9oaWdobGlnaHRNYXRjaGVkUmVxdWVzdHMp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5faGlnaGxp
Z2h0TnRoTWF0Y2hlZFJlcXVlc3RGb3JTZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtMb2dWaWV3LnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLmp1bXBUb1ByZXZpb3VzU2VhcmNo
UmVzdWx0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUu
anVtcFRvTmV4dFNlYXJjaFJlc3VsdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1Bh
bmVsLnByb3RvdHlwZS5wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3
b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZS5faGlnaGxpZ2h0TWF0Y2hlZFN1YnN0cmluZyk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLmNhbmNlbFNlYXJjaCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuc2hvd1NlYXJjaEZpZWxkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fc3dpdGNoRmls
dGVyVG9TZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJv
dG90eXBlLl9zd2l0Y2hTZWFyY2hUb0ZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2Vh
cmNoQ29udHJvbGxlci5wcm90b3R5cGUuX3VwZGF0ZUZpbHRlclZpc2liaWxpdHkpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLl9yZXBsYWNlQWxsKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fZmlsdGVy
Q2hlY2tib3hDbGljayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5w
cm90b3R5cGUuX3BlcmZvcm1GaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENv
bnRyb2xsZXIucHJvdG90eXBlLl9vbkZpbHRlcklucHV0KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fb25TZWFyY2hJbnB1dCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUucmVzZXRGaWx0ZXIpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzczoKKyAgICAgICAgKC5maWx0
ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzOgor
ICAgICAgICAoLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1vdGhlciB0YWJsZS5k
YXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1vdGhlcjpub3QoLmZpbHRlcmVkLW91dCkpOgor
CiAyMDEyLTA4LTE0ICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1QGFkb2JlLmNvbT4KIAog
ICAgICAgICBMYXlvdXQgVGVzdCBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYW5p
bWF0aW9uLmh0bWwgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwppbmRleCAyZWZjMWRhZGY3NGYyNjU3YTQxMzk3ZTg2
MTI0NTMwOWM1NmFjNTIxLi41Y2E3YmJmNDIwNGE0N2IyZjM3NDJiYWVkN2I2NzM5ZTY4Y2M4YmYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcwpAQCAtNDgsNiArNDgsOCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcgPSBm
dW5jdGlvbigpCiAgICAgdGhpcy5fbWFpblJlcXVlc3RET01Db250ZW50VGltZSA9IC0xOwogICAg
IHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMgPSB7fTsKICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHMg
PSBbXTsKKyAgICB0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3RzID0gbmV3IE1hcCgpOworICAgIAog
ICAgIHRoaXMuX21hdGNoZWRSZXF1ZXN0c01hcCA9IHt9OwogICAgIHRoaXMuX2N1cnJlbnRNYXRj
aGVkUmVxdWVzdEluZGV4ID0gLTE7CiAKQEAgLTM4NCw3ICszODYsNyBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSB0
aGlzLl9yZXF1ZXN0c1tpXTsKICAgICAgICAgICAgIHZhciByZXF1ZXN0VHJhbnNmZXJTaXplID0g
KHJlcXVlc3QuY2FjaGVkIHx8ICFyZXF1ZXN0LnRyYW5zZmVyU2l6ZSkgPyAwIDogcmVxdWVzdC50
cmFuc2ZlclNpemU7CiAgICAgICAgICAgICB0cmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVy
U2l6ZTsKLSAgICAgICAgICAgIGlmICghdGhpcy5faGlkZGVuQ2F0ZWdvcmllcy5hbGwgfHwgIXRo
aXMuX2hpZGRlbkNhdGVnb3JpZXNbcmVxdWVzdC50eXBlLm5hbWUoKV0pIHsKKyAgICAgICAgICAg
IGlmICgoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8ICF0aGlzLl9oaWRkZW5DYXRlZ29y
aWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSAmJiAhdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5n
ZXQocmVxdWVzdCkpIHsKICAgICAgICAgICAgICAgICBzZWxlY3RlZFJlcXVlc3RzTnVtYmVyKys7
CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUcmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVy
U2l6ZTsKICAgICAgICAgICAgIH0KQEAgLTM5NCw3ICszOTYsNyBAQCBXZWJJbnNwZWN0b3IuTmV0
d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIG1heFRpbWUgPSByZXF1
ZXN0LmVuZFRpbWU7CiAgICAgICAgIH0KICAgICAgICAgdmFyIHRleHQgPSAiIjsKLSAgICAgICAg
aWYgKHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKSB7CisgICAgICAgIGlmIChzZWxlY3RlZFJl
cXVlc3RzTnVtYmVyICE9PSByZXF1ZXN0c051bWJlcikgewogICAgICAgICAgICAgdGV4dCArPSBT
dHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVkIC8gJWQgcmVxdWVzdHMiKSwg
c2VsZWN0ZWRSZXF1ZXN0c051bWJlciwgcmVxdWVzdHNOdW1iZXIpOwogICAgICAgICAgICAgdGV4
dCArPSAiICBcdTI3NTggICIgKyBTdHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IiVzIC8gJXMgdHJhbnNmZXJyZWQiKSwgTnVtYmVyLmJ5dGVzVG9TdHJpbmcoc2VsZWN0ZWRUcmFu
c2ZlclNpemUpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0cmFuc2ZlclNpemUpKTsKICAgICAgICAg
fSBlbHNlIHsKQEAgLTEwNjcsNyArMTA2OSw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHMgPSBb
XTsKICAgICAgICAgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzTWFwID0ge307Ci0gICAgICAgIHRoaXMu
X2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KC0xLCBmYWxzZSk7CisgICAgICAgIHRoaXMuX2hp
Z2hsaWdodE1hdGNoZWRSZXF1ZXN0cyhbXSwgZmFsc2UpOwogICAgIH0sCiAKICAgICBfdXBkYXRl
U2VhcmNoTWF0Y2hlZExpc3RBZnRlclJlcXVlc3RJZENoYW5nZWQ6IGZ1bmN0aW9uKG9sZFJlcXVl
c3RJZCwgbmV3UmVxdWVzdElkKQpAQCAtMTA5MSw0MCArMTA5Myw2MSBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICBpZiAodGhpcy5fY3VycmVudE1h
dGNoZWRSZXF1ZXN0SW5kZXggIT09IC0xICYmIHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdElu
ZGV4ICE9PSBtYXRjaGVkUmVxdWVzdEluZGV4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAg
ICAgIHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KG1hdGNoZWRSZXF1ZXN0SW5kZXgs
IGZhbHNlKTsKKyAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJlcXVlc3RGb3JTZWFy
Y2gobWF0Y2hlZFJlcXVlc3RJbmRleCwgZmFsc2UpOwogICAgIH0sCiAKLSAgICBfaGlnaGxpZ2h0
TnRoTWF0Y2hlZFJlcXVlc3Q6IGZ1bmN0aW9uKG1hdGNoZWRSZXF1ZXN0SW5kZXgsIHJldmVhbCkK
KyAgICAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge0FycmF5LjxOZXR3b3JrUmVxdWVzdD59IHJl
cXVlc3RzCisgICAgICogQHBhcmFtIHtib29sZWFufSByZXZlYWwKKyAgICAgKiBAcGFyYW0ge1Jl
Z0V4cD19IHJlZ0V4cAorICAgICAqLworICAgIF9oaWdobGlnaHRNYXRjaGVkUmVxdWVzdHM6IGZ1
bmN0aW9uKHJlcXVlc3RzLCByZXZlYWwsIHJlZ0V4cCkKICAgICB7CiAgICAgICAgIGlmICh0aGlz
Ll9oaWdobGlnaHRlZFN1YnN0cmluZ0NoYW5nZXMpIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rv
ci5yZXZlcnREb21DaGFuZ2VzKHRoaXMuX2hpZ2hsaWdodGVkU3Vic3RyaW5nQ2hhbmdlcyk7Cisg
ICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2hpZ2hsaWdodGVkU3Vic3RyaW5n
Q2hhbmdlcy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IucmV2ZXJ0
RG9tQ2hhbmdlcyh0aGlzLl9oaWdobGlnaHRlZFN1YnN0cmluZ0NoYW5nZXNbaV0pOwogICAgICAg
ICAgICAgdGhpcy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFuZ2VzID0gbnVsbDsKICAgICAgICAg
fQotCi0gICAgICAgIGlmIChtYXRjaGVkUmVxdWVzdEluZGV4ID09PSAtMSkgewotICAgICAgICAg
ICAgdGhpcy5fY3VycmVudE1hdGNoZWRSZXF1ZXN0SW5kZXggPSBtYXRjaGVkUmVxdWVzdEluZGV4
OworICAgICAgICBpZiAoIXJlZ0V4cCkKICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgdGhp
cy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFuZ2VzID0gW107CisgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgcmVxdWVzdHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciByZXF1ZXN0
ID0gcmVxdWVzdHNbaV07CisgICAgICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX3JlcXVlc3RHcmlk
Tm9kZShyZXF1ZXN0KTsKKyAgICAgICAgICAgIGlmIChub2RlKSB7CisgICAgICAgICAgICAgICAg
dmFyIG5hbWVNYXRjaGVkID0gcmVxdWVzdC5kaXNwbGF5TmFtZSAmJiByZXF1ZXN0LmRpc3BsYXlO
YW1lLm1hdGNoKHJlZ0V4cCk7CisgICAgICAgICAgICAgICAgdmFyIHBhdGhNYXRjaGVkID0gcmVx
dWVzdC5wYXJzZWRVUkwucGF0aCAmJiByZXF1ZXN0LmZvbGRlci5tYXRjaChyZWdFeHApOworICAg
ICAgICAgICAgICAgIGlmICghbmFtZU1hdGNoZWQgJiYgcGF0aE1hdGNoZWQgJiYgIXRoaXMuX2xh
cmdlclJlcXVlc3RzQnV0dG9uLnRvZ2dsZWQpCisgICAgICAgICAgICAgICAgICAgIHRoaXMuX3Rv
Z2dsZUxhcmdlclJlcXVlc3RzKCk7CisgICAgICAgICAgICAgICAgdmFyIGhpZ2hsaWdodGVkU3Vi
c3RyaW5nQ2hhbmdlcyA9IG5vZGUuX2hpZ2hsaWdodE1hdGNoZWRTdWJzdHJpbmcocmVnRXhwKTsK
KyAgICAgICAgICAgICAgICB0aGlzLl9oaWdobGlnaHRlZFN1YnN0cmluZ0NoYW5nZXMucHVzaCho
aWdobGlnaHRlZFN1YnN0cmluZ0NoYW5nZXMpOworICAgICAgICAgICAgICAgIGlmIChyZXZlYWwp
CisgICAgICAgICAgICAgICAgICAgIG5vZGUucmV2ZWFsKCk7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KKyAgICB9LAogCi0gICAgICAgIHZhciByZXF1ZXN0ID0gdGhpcy5fcmVxdWVzdHNCeUlk
W3RoaXMuX21hdGNoZWRSZXF1ZXN0c1ttYXRjaGVkUmVxdWVzdEluZGV4XV07CisgICAgLyoqCisg
ICAgICogQHBhcmFtIHtudW1iZXJ9IG1hdGNoZWRSZXF1ZXN0SW5kZXgKKyAgICAgKiBAcGFyYW0g
e2Jvb2xlYW59IHJldmVhbAorICAgICAqLworICAgIF9oaWdobGlnaHROdGhNYXRjaGVkUmVxdWVz
dEZvclNlYXJjaDogZnVuY3Rpb24obWF0Y2hlZFJlcXVlc3RJbmRleCwgcmV2ZWFsKQorICAgIHsK
KyAgICAgICAgdmFyIHJlcXVlc3QgPSB0aGlzLnJlcXVlc3RCeUlkKHRoaXMuX21hdGNoZWRSZXF1
ZXN0c1ttYXRjaGVkUmVxdWVzdEluZGV4XSk7CiAgICAgICAgIGlmICghcmVxdWVzdCkKICAgICAg
ICAgICAgIHJldHVybjsKLQotICAgICAgICB2YXIgbmFtZU1hdGNoZWQgPSByZXF1ZXN0LmRpc3Bs
YXlOYW1lICYmIHJlcXVlc3QuZGlzcGxheU5hbWUubWF0Y2godGhpcy5fc2VhcmNoUmVnRXhwKTsK
LSAgICAgICAgdmFyIHBhdGhNYXRjaGVkID0gcmVxdWVzdC5wYXJzZWRVUkwucGF0aCAmJiByZXF1
ZXN0LmZvbGRlci5tYXRjaCh0aGlzLl9zZWFyY2hSZWdFeHApOwotICAgICAgICBpZiAoIW5hbWVN
YXRjaGVkICYmIHBhdGhNYXRjaGVkICYmICF0aGlzLl9sYXJnZXJSZXF1ZXN0c0J1dHRvbi50b2dn
bGVkKQotICAgICAgICAgICAgdGhpcy5fdG9nZ2xlTGFyZ2VyUmVxdWVzdHMoKTsKLQorICAgICAg
ICB0aGlzLl9oaWdobGlnaHRNYXRjaGVkUmVxdWVzdHMoW3JlcXVlc3RdLCByZXZlYWwsIHRoaXMu
X3NlYXJjaFJlZ0V4cCk7CiAgICAgICAgIHZhciBub2RlID0gdGhpcy5fcmVxdWVzdEdyaWROb2Rl
KHJlcXVlc3QpOwotICAgICAgICBpZiAobm9kZSkgewotICAgICAgICAgICAgdGhpcy5faGlnaGxp
Z2h0ZWRTdWJzdHJpbmdDaGFuZ2VzID0gbm9kZS5faGlnaGxpZ2h0TWF0Y2hlZFN1YnN0cmluZyh0
aGlzLl9zZWFyY2hSZWdFeHApOwotICAgICAgICAgICAgaWYgKHJldmVhbCkKLSAgICAgICAgICAg
ICAgICBub2RlLnJldmVhbCgpOworICAgICAgICBpZiAobm9kZSkKICAgICAgICAgICAgIHRoaXMu
X2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4ID0gbWF0Y2hlZFJlcXVlc3RJbmRleDsKLSAgICAg
ICAgfQorCiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rv
ci5OZXR3b3JrTG9nVmlldy5FdmVudFR5cGVzLlNlYXJjaEluZGV4VXBkYXRlZCwgdGhpcy5fY3Vy
cmVudE1hdGNoZWRSZXF1ZXN0SW5kZXgpOwogICAgIH0sCiAKKyAgICAvKioKKyAgICAgKiBAcGFy
YW0ge3N0cmluZ30gc2VhcmNoUXVlcnkKKyAgICAgKi8KICAgICBwZXJmb3JtU2VhcmNoOiBmdW5j
dGlvbihzZWFyY2hRdWVyeSkKICAgICB7CiAgICAgICAgIHZhciBuZXdNYXRjaGVkUmVxdWVzdElu
ZGV4ID0gMDsKQEAgLTExMzMsNyArMTE1Niw2IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICBjdXJyZW50TWF0Y2hlZFJlcXVlc3RJZCA9IHRo
aXMuX21hdGNoZWRSZXF1ZXN0c1t0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJbmRleF07CiAK
ICAgICAgICAgdGhpcy5fc2VhcmNoUmVnRXhwID0gY3JlYXRlUGxhaW5UZXh0U2VhcmNoUmVnZXgo
c2VhcmNoUXVlcnksICJpIik7Ci0KICAgICAgICAgdGhpcy5fY2xlYXJTZWFyY2hNYXRjaGVkTGlz
dCgpOwogCiAgICAgICAgIHZhciBjaGlsZE5vZGVzID0gdGhpcy5fZGF0YUdyaWQuZGF0YVRhYmxl
Qm9keS5jaGlsZE5vZGVzOwpAQCAtMTE0MywyNyArMTE2NSw0OSBAQCBXZWJJbnNwZWN0b3IuTmV0
d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFyIGRhdGFHcmlkTm9kZSA9
IHRoaXMuX2RhdGFHcmlkLmRhdGFHcmlkTm9kZUZyb21Ob2RlKHJlcXVlc3ROb2Rlc1tpXSk7CiAg
ICAgICAgICAgICBpZiAoZGF0YUdyaWROb2RlLmlzRmlsdGVyZWRPdXQoKSkKICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKLQogICAgICAgICAgICAgaWYgKHRoaXMuX21hdGNoUmVxdWVzdChkYXRh
R3JpZE5vZGUuX3JlcXVlc3QpICE9PSAtMSAmJiBkYXRhR3JpZE5vZGUuX3JlcXVlc3QucmVxdWVz
dElkID09PSBjdXJyZW50TWF0Y2hlZFJlcXVlc3RJZCkKICAgICAgICAgICAgICAgICBuZXdNYXRj
aGVkUmVxdWVzdEluZGV4ID0gdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCAtIDE7CiAgICAg
ICAgIH0KIAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0
b3IuTmV0d29ya0xvZ1ZpZXcuRXZlbnRUeXBlcy5TZWFyY2hDb3VudFVwZGF0ZWQsIHRoaXMuX21h
dGNoZWRSZXF1ZXN0cy5sZW5ndGgpOwotICAgICAgICB0aGlzLl9oaWdobGlnaHROdGhNYXRjaGVk
UmVxdWVzdChuZXdNYXRjaGVkUmVxdWVzdEluZGV4LCBmYWxzZSk7CisgICAgICAgIHRoaXMuX2hp
Z2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0Rm9yU2VhcmNoKG5ld01hdGNoZWRSZXF1ZXN0SW5kZXgs
IGZhbHNlKTsKICAgICB9LAogCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5
CisgICAgICovCisgICAgcGVyZm9ybUZpbHRlcjogZnVuY3Rpb24ocXVlcnkpIHsKKyAgICAgICAg
dGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5jbGVhcigpOworICAgICAgICB2YXIgZmlsdGVyUmVn
RXhwID0gY3JlYXRlUGxhaW5UZXh0U2VhcmNoUmVnZXgocXVlcnksICJpIik7CisgICAgICAgIHZh
ciBzaG93blJlcXVlc3RzID0gW107CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5f
ZGF0YUdyaWQucm9vdE5vZGUoKS5jaGlsZHJlbi5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAg
dmFyIG5vZGUgPSB0aGlzLl9kYXRhR3JpZC5yb290Tm9kZSgpLmNoaWxkcmVuW2ldOworICAgICAg
ICAgICAgbm9kZS5lbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoImZpbHRlcmVkLW91dCIpOworICAg
ICAgICAgICAgdmFyIG5hbWVNYXRjaGVkID0gbm9kZS5fcmVxdWVzdC5kaXNwbGF5TmFtZSAmJiBu
b2RlLl9yZXF1ZXN0LmRpc3BsYXlOYW1lLm1hdGNoKGZpbHRlclJlZ0V4cCk7CisgICAgICAgICAg
ICB2YXIgcGF0aE1hdGNoZWQgPSBub2RlLl9yZXF1ZXN0LnBhcnNlZFVSTC5wYXRoICYmIG5vZGUu
X3JlcXVlc3QuZm9sZGVyLm1hdGNoKGZpbHRlclJlZ0V4cCk7CisgICAgICAgICAgICBpZiAoIW5h
bWVNYXRjaGVkICYmICFwYXRoTWF0Y2hlZCkgeworICAgICAgICAgICAgICAgIG5vZGUuZWxlbWVu
dC5hZGRTdHlsZUNsYXNzKCJmaWx0ZXJlZC1vdXQiKTsKKyAgICAgICAgICAgICAgICB0aGlzLl9m
aWx0ZXJlZE91dFJlcXVlc3RzLnB1dCh0aGlzLl9yZXF1ZXN0c1tpXSwgdHJ1ZSk7CisgICAgICAg
ICAgICB9IGVsc2UgCisgICAgICAgICAgICAgICAgc2hvd25SZXF1ZXN0cy5wdXNoKG5vZGUuX3Jl
cXVlc3QpOworICAgICAgICB9CisgICAgICAgIHRoaXMuX2hpZ2hsaWdodE1hdGNoZWRSZXF1ZXN0
cyhzaG93blJlcXVlc3RzLCBmYWxzZSwgcXVlcnkgPyBmaWx0ZXJSZWdFeHAgOiBudWxsKTsKKyAg
ICAgICAgdGhpcy5fdXBkYXRlU3VtbWFyeUJhcigpOworICAgICAgICB0aGlzLl91cGRhdGVPZmZz
Y3JlZW5Sb3dzKCk7CisgICAgfSwKKyAgICAKICAgICBqdW1wVG9QcmV2aW91c1NlYXJjaFJlc3Vs
dDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9tYXRjaGVkUmVxdWVzdHMu
bGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB0aGlzLl9oaWdobGlnaHROdGhN
YXRjaGVkUmVxdWVzdCgodGhpcy5fY3VycmVudE1hdGNoZWRSZXF1ZXN0SW5kZXggKyB0aGlzLl9t
YXRjaGVkUmVxdWVzdHMubGVuZ3RoIC0gMSkgJSB0aGlzLl9tYXRjaGVkUmVxdWVzdHMubGVuZ3Ro
LCB0cnVlKTsKKyAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJlcXVlc3RGb3JTZWFy
Y2goKHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4ICsgdGhpcy5fbWF0Y2hlZFJlcXVl
c3RzLmxlbmd0aCAtIDEpICUgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCwgdHJ1ZSk7CiAg
ICAgfSwKIAogICAgIGp1bXBUb05leHRTZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKCkKICAgICB7CiAg
ICAgICAgIGlmICghdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCkKICAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJlcXVlc3QoKHRoaXMuX2N1
cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4ICsgMSkgJSB0aGlzLl9tYXRjaGVkUmVxdWVzdHMubGVu
Z3RoLCB0cnVlKTsKKyAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJlcXVlc3RGb3JT
ZWFyY2goKHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4ICsgMSkgJSB0aGlzLl9tYXRj
aGVkUmVxdWVzdHMubGVuZ3RoLCB0cnVlKTsKICAgICB9LAogCiAgICAgc2VhcmNoQ2FuY2VsZWQ6
IGZ1bmN0aW9uKCkKQEAgLTE0MDUsMTEgKzE0NDksMjEgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtQ
YW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3LnN3aXRjaFRv
QnJpZWZWaWV3KCk7CiAgICAgfSwKIAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBz
ZWFyY2hRdWVyeQorICAgICAqLyAgICAKICAgICBwZXJmb3JtU2VhcmNoOiBmdW5jdGlvbihzZWFy
Y2hRdWVyeSkKICAgICB7CiAgICAgICAgIHRoaXMuX25ldHdvcmtMb2dWaWV3LnBlcmZvcm1TZWFy
Y2goc2VhcmNoUXVlcnkpOwogICAgIH0sCi0KKyAgICAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0g
e3N0cmluZ30gcXVlcnkKKyAgICAgKi8gICAgCisgICAgcGVyZm9ybUZpbHRlcjogZnVuY3Rpb24o
cXVlcnkpeworICAgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5wZXJmb3JtRmlsdGVyKHF1ZXJ5
KTsKKyAgICB9LAorICAgIAogICAgIGp1bXBUb1ByZXZpb3VzU2VhcmNoUmVzdWx0OiBmdW5jdGlv
bigpCiAgICAgewogICAgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5qdW1wVG9QcmV2aW91c1Nl
YXJjaFJlc3VsdCgpOwpAQCAtMTcyMiw2ICsxNzc2LDggQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtE
YXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogCiAgICAgaXNGaWx0ZXJlZE91dDogZnVuY3Rpb24o
KQogICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX3BhcmVudFZpZXcuX2ZpbHRlcmVkT3V0UmVxdWVz
dHMuZ2V0KHRoaXMuX3JlcXVlc3QpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
IGlmICghdGhpcy5fcGFyZW50Vmlldy5faGlkZGVuQ2F0ZWdvcmllcy5hbGwpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIHJldHVybiB0aGlzLl9yZXF1ZXN0LnR5cGUubmFtZSgp
IGluIHRoaXMuX3BhcmVudFZpZXcuX2hpZGRlbkNhdGVnb3JpZXM7CkBAIC0xNzM2LDggKzE3OTIs
OSBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0RhdGFHcmlkTm9kZS5wcm90b3R5cGUgPSB7CiAgICAg
X2hpZ2hsaWdodE1hdGNoZWRTdWJzdHJpbmc6IGZ1bmN0aW9uKHJlZ2V4cCkKICAgICB7CiAgICAg
ICAgIHZhciBkb21DaGFuZ2VzID0gW107Ci0gICAgICAgIHZhciBtYXRjaEluZm8gPSB0aGlzLl9u
YW1lQ2VsbC50ZXh0Q29udGVudC5tYXRjaChyZWdleHApOwotICAgICAgICBXZWJJbnNwZWN0b3Iu
aGlnaGxpZ2h0U2VhcmNoUmVzdWx0KHRoaXMuX25hbWVDZWxsLCBtYXRjaEluZm8uaW5kZXgsIG1h
dGNoSW5mb1swXS5sZW5ndGgsIGRvbUNoYW5nZXMpOworICAgICAgICB2YXIgbWF0Y2hJbmZvID0g
dGhpcy5fZWxlbWVudC50ZXh0Q29udGVudC5tYXRjaChyZWdleHApOworICAgICAgICBpZiAobWF0
Y2hJbmZvKQorICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmhpZ2hsaWdodFNlYXJjaFJlc3VsdCh0
aGlzLl9uYW1lQ2VsbCwgbWF0Y2hJbmZvLmluZGV4LCBtYXRjaEluZm9bMF0ubGVuZ3RoLCBkb21D
aGFuZ2VzKTsKICAgICAgICAgcmV0dXJuIGRvbUNoYW5nZXM7CiAgICAgfSwKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpz
CmluZGV4IGQxOGUyODBlMWE2NmQ0YTJmZTMxNzBkODJiMWE5MTM0YzQyY2QxZGUuLjUwYzFjYTZl
Mzc0YzNjZGIwODliNmE2YmYyZmMzOWYxODljZWE2YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKQEAgLTQyLDEx
ICs0MiwxOCBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlciA9IGZ1bmN0aW9uKCkKICAg
ICB0aGlzLl9zZWNvbmRSb3dFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5jcmVhdGVDaGlsZCgidHIi
LCAiaGlkZGVuIik7CiAKICAgICAvLyBDb2x1bW4gMQotICAgIHRoaXMuX3NlYXJjaENvbnRyb2xF
bGVtZW50ID0gdGhpcy5fZmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpLmNyZWF0ZUNo
aWxkKCJzcGFuIiwgInRvb2xiYXItc2VhcmNoLWNvbnRyb2wiKTsKKyAgICB2YXIgc2VhcmNoQ29u
dHJvbEVsZW1lbnRDb2x1bW4gPSB0aGlzLl9maXJzdFJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRk
Iik7IAorICAgIHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50ID0gc2VhcmNoQ29udHJvbEVsZW1l
bnRDb2x1bW4uY3JlYXRlQ2hpbGQoInNwYW4iLCAidG9vbGJhci1zZWFyY2gtY29udHJvbCIpOwog
ICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudCA9IHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50
LmNyZWF0ZUNoaWxkKCJpbnB1dCIsICJzZWFyY2gtcmVwbGFjZSIpOwogICAgIHRoaXMuX3NlYXJj
aElucHV0RWxlbWVudC5pZCA9ICJzZWFyY2gtaW5wdXQtZmllbGQiOwogICAgIHRoaXMuX3NlYXJj
aElucHV0RWxlbWVudC5wbGFjZWhvbGRlciA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRmluZCIp
OwogCisgICAgdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQgPSBzZWFyY2hDb250cm9sRWxlbWVu
dENvbHVtbi5jcmVhdGVDaGlsZCgic3BhbiIsICJ0b29sYmFyLXNlYXJjaC1jb250cm9sIik7Cisg
ICAgdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7Cisg
ICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50ID0gdGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQu
Y3JlYXRlQ2hpbGQoImlucHV0IiwgImZpbHRlciIpOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxl
bWVudC5pZCA9ICJmaWx0ZXItaW5wdXQtZmllbGQiOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxl
bWVudC5wbGFjZWhvbGRlciA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRmlsdGVyIik7CisKICAg
ICB0aGlzLl9tYXRjaGVzRWxlbWVudCA9IHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50LmNyZWF0
ZUNoaWxkKCJsYWJlbCIsICJzZWFyY2gtcmVzdWx0cy1tYXRjaGVzIik7CiAgICAgdGhpcy5fbWF0
Y2hlc0VsZW1lbnQuc2V0QXR0cmlidXRlKCJmb3IiLCAic2VhcmNoLWlucHV0LWZpZWxkIik7CiAK
QEAgLTYyLDcgKzY5LDkgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIgPSBmdW5jdGlv
bigpCiAKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91
c2Vkb3duIiwgdGhpcy5fb25TZWFyY2hGaWVsZE1hbnVhbEZvY3VzLmJpbmQodGhpcyksIGZhbHNl
KTsgLy8gd2hlbiB0aGUgc2VhcmNoIGZpZWxkIGlzIG1hbnVhbGx5IHNlbGVjdGVkCiAgICAgdGhp
cy5fc2VhcmNoSW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9v
bktleURvd24uYmluZCh0aGlzKSwgdHJ1ZSk7Ci0gICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50
LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25JbnB1dC5iaW5kKHRoaXMpLCBmYWxz
ZSk7CisgICAgdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRv
d24iLCB0aGlzLl9vbktleURvd24uYmluZCh0aGlzKSwgdHJ1ZSk7CisgICAgdGhpcy5fZmlsdGVy
SW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25GaWx0ZXJJbnB1
dC5iaW5kKHRoaXMpLCBmYWxzZSk7CisgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LmFkZEV2
ZW50TGlzdGVuZXIoImlucHV0IiwgdGhpcy5fb25TZWFyY2hJbnB1dC5iaW5kKHRoaXMpLCBmYWxz
ZSk7CiAKICAgICB0aGlzLl9yZXBsYWNlSW5wdXRFbGVtZW50ID0gdGhpcy5fc2Vjb25kUm93RWxl
bWVudC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgiaW5wdXQiLCAic2VhcmNoLXJlcGxh
Y2UgdG9vbGJhci1yZXBsYWNlLWNvbnRyb2wiKTsKICAgICB0aGlzLl9yZXBsYWNlSW5wdXRFbGVt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9vbktleURvd24uYmluZCh0aGlz
KSwgdHJ1ZSk7CkBAIC0xMDQsNiArMTEzLDE4IEBAIFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9s
bGVyID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX3JlcGxhY2VMYWJlbEVsZW1lbnQuc2V0QXR0cmli
dXRlKCJmb3IiLCAic2VhcmNoLXJlcGxhY2UtdHJpZ2dlciIpOwogCiAgICAgLy8gQ29sdW1uIDUK
KyAgICB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lciA9IHRoaXMuX2ZpcnN0Um93RWxlbWVu
dC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgic3BhbiIpOworCisgICAgdGhpcy5fZmls
dGVyQ2hlY2tib3hFbGVtZW50ID0gdGhpcy5fZmlsdGVyQ2hlY2tib3hDb250YWluZXIuY3JlYXRl
Q2hpbGQoImlucHV0Iik7CisgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50LnR5cGUgPSAi
Y2hlY2tib3giOworICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5pZCA9ICJmaWx0ZXIt
dHJpZ2dlciI7CisgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50LmFkZEV2ZW50TGlzdGVu
ZXIoImNsaWNrIiwgdGhpcy5fZmlsdGVyQ2hlY2tib3hDbGljay5iaW5kKHRoaXMpLCBmYWxzZSk7
CisgIAorICAgIHRoaXMuX2ZpbHRlckxhYmVsRWxlbWVudCA9IHRoaXMuX2ZpbHRlckNoZWNrYm94
Q29udGFpbmVyLmNyZWF0ZUNoaWxkKCJsYWJlbCIpOworICAgIHRoaXMuX2ZpbHRlckxhYmVsRWxl
bWVudC50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRmlsdGVyIik7CisgICAg
dGhpcy5fZmlsdGVyTGFiZWxFbGVtZW50LnNldEF0dHJpYnV0ZSgiZm9yIiwgImZpbHRlci10cmln
Z2VyIik7CisKKyAgICAvLyBDb2x1bW4gNgogICAgIHZhciBjYW5jZWxCdXR0b25FbGVtZW50ID0g
dGhpcy5fZmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpLmNyZWF0ZUNoaWxkKCJidXR0
b24iKTsKICAgICBjYW5jZWxCdXR0b25FbGVtZW50LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJDYW5jZWwiKTsKICAgICBjYW5jZWxCdXR0b25FbGVtZW50LnRhYkluZGV4ID0g
LTE7CkBAIC0xMzIsNiArMTUzLDEwIEBAIFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnBy
b3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fc2VhcmNoSXNWaXNpYmxlKQog
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAodGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVt
ZW50LmNoZWNrZWQpIHsKKyAgICAgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5j
aGVja2VkID0gZmFsc2U7CisgICAgICAgICAgICB0aGlzLl9zd2l0Y2hGaWx0ZXJUb1NlYXJjaCgp
OworICAgICAgICB9IAogICAgICAgICBkZWxldGUgdGhpcy5fc2VhcmNoSXNWaXNpYmxlOwogICAg
ICAgICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5zZXRGb290ZXJFbGVtZW50KG51bGwpOwog
ICAgICAgICB0aGlzLnJlc2V0U2VhcmNoKCk7CkBAIC0yMjMsMTEgKzI0OCw0MCBAQCBXZWJJbnNw
ZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBXZWJJ
bnNwZWN0b3IuaW5zcGVjdG9yVmlldy5zZXRGb290ZXJFbGVtZW50KHRoaXMuX2VsZW1lbnQpOwog
ICAgICAgICB0aGlzLl91cGRhdGVSZXBsYWNlVmlzaWJpbGl0eSgpOworICAgICAgICB0aGlzLl91
cGRhdGVGaWx0ZXJWaXNpYmlsaXR5KCk7CiAgICAgICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVu
dC5mb2N1cygpOwogICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuc2VsZWN0KCk7CiAg
ICAgICAgIHRoaXMuX3NlYXJjaElzVmlzaWJsZSA9IHRydWU7CiAgICAgfSwKIAorICAgIF9zd2l0
Y2hGaWx0ZXJUb1NlYXJjaDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fZmlsdGVy
Q29udHJvbEVsZW1lbnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMuX3Nl
YXJjaENvbnRyb2xFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICB0
aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgdGhpcy5fc2VhcmNoSW5w
dXRFbGVtZW50LnNlbGVjdCgpOworICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQudmFs
dWUgPSB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWU7CisgICAgICAgIHRoaXMucmVzZXRG
aWx0ZXIoKTsKKyAgICB9LAorCisgICAgX3N3aXRjaFNlYXJjaFRvRmlsdGVyOiBmdW5jdGlvbigp
CisgICAgeworICAgICAgICB0aGlzLl9maWx0ZXJDb250cm9sRWxlbWVudC5yZW1vdmVTdHlsZUNs
YXNzKCJoaWRkZW4iKTsKKyAgICAgICAgdGhpcy5fc2VhcmNoQ29udHJvbEVsZW1lbnQuYWRkU3R5
bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5mb2N1
cygpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuc2VsZWN0KCk7CisgICAgICAg
IHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC52YWx1ZSA9IHRoaXMuX3NlYXJjaElucHV0RWxlbWVu
dC52YWx1ZTsKKyAgICAgICAgdGhpcy5yZXNldFNlYXJjaCgpOworICAgIH0sCisgICAgCisgICAg
X3VwZGF0ZUZpbHRlclZpc2liaWxpdHk6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICh0
eXBlb2YgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkucGVyZm9ybUZp
bHRlciA9PT0gImZ1bmN0aW9uIikKKyAgICAgICAgICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94Q29u
dGFpbmVyLnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lci5hZGRTdHlsZUNsYXNzKCJoaWRkZW4i
KTsKKyAgICB9LAorICAKICAgICBfdXBkYXRlUmVwbGFjZVZpc2liaWxpdHk6IGZ1bmN0aW9uKCkK
ICAgICB7CiAgICAgICAgIHZhciBwYW5lbCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1
cnJlbnRQYW5lbCgpOwpAQCAtMjY1LDExICszMTksNiBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29u
dHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICB9LAogCi0gICAgX29uSW5wdXQ6
IGZ1bmN0aW9uKGV2ZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5fcGVyZm9ybVNlYXJjaChldmVu
dC50YXJnZXQudmFsdWUsIGZhbHNlLCBmYWxzZSk7Ci0gICAgfSwKLQogICAgIF9vbk5leHRCdXR0
b25TZWFyY2g6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgLy8gU2ltdWxhdGUgbmV4
dCBzZWFyY2ggb24gc2VhcmNoLW5hdmlnYXRpb24tYnV0dG9uIGNsaWNrLgpAQCAtMzY0LDYgKzQx
Myw0MiBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAg
ewogICAgICAgICB2YXIgY3VycmVudFBhbmVsID0gV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcu
Y3VycmVudFBhbmVsKCk7CiAgICAgICAgIGN1cnJlbnRQYW5lbC5yZXBsYWNlQWxsV2l0aCh0aGlz
Ll9zZWFyY2hJbnB1dEVsZW1lbnQudmFsdWUsIHRoaXMuX3JlcGxhY2VJbnB1dEVsZW1lbnQudmFs
dWUpOworICAgIH0sCisgIAorICAgIF9maWx0ZXJDaGVja2JveENsaWNrOiBmdW5jdGlvbigpCisg
ICAgeworICAgICAgICBpZiAodGhpcy5fZmlsdGVyQ2hlY2tib3hFbGVtZW50LmNoZWNrZWQpIHsg
CisgICAgICAgICAgICB0aGlzLl9zd2l0Y2hTZWFyY2hUb0ZpbHRlcigpOworICAgICAgICAgICAg
dGhpcy5fcGVyZm9ybUZpbHRlcih0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFsdWUpOworICAg
ICAgICB9CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgdGhpcy5fc3dpdGNoRmlsdGVyVG9T
ZWFyY2goKTsKKyAgICAgICAgICAgIHRoaXMuX3BlcmZvcm1TZWFyY2godGhpcy5fc2VhcmNoSW5w
dXRFbGVtZW50LnZhbHVlLCBmYWxzZSwgZmFsc2UpOworICAgICAgICB9CisgICAgfSwKKyAgICAK
KyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gcXVlcnkKKyAgICAgKi8KKyAgICBfcGVy
Zm9ybUZpbHRlcjogZnVuY3Rpb24ocXVlcnkpCisgICAgeworICAgICAgICBpZiAodHlwZW9mIFdl
Ykluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1GaWx0ZXIgPT09
ICJmdW5jdGlvbiIpCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJy
ZW50UGFuZWwoKS5wZXJmb3JtRmlsdGVyKHF1ZXJ5KTsKKyAgICB9LAorICAKKyAgICBfb25GaWx0
ZXJJbnB1dDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB0aGlzLl9wZXJmb3JtRmls
dGVyKGV2ZW50LnRhcmdldC52YWx1ZSk7CisgICAgfSwKKyAgCisgICAgX29uU2VhcmNoSW5wdXQ6
IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fcGVyZm9ybVNlYXJjaChldmVu
dC50YXJnZXQudmFsdWUsIGZhbHNlLCBmYWxzZSk7CisgICAgfSwKKyAgICAKKyAgICByZXNldEZp
bHRlcjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fcGVyZm9ybUZpbHRlcigiIik7
CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5jc3MKaW5kZXggZWE1ZWVkYzQ0ZTUyZjQ1NmZlNjA0Y2Q4MTkzMTQ5MzZjMmM1NjU5
Zi4uZmJmOTY3M2I3NGE4YTc1NmNkNzE4MzQ1NmY2MTAwN2ViMmMxN2RkNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcwpAQCAtMjcxLDYg
KzI3MSwxNCBAQCBib2R5LmRldGFjaGVkLnBsYXRmb3JtLW1hYy1zbm93bGVvcGFyZCAjdG9vbGJh
ci1kcm9wZG93biB7CiAgICAgd2lkdGg6IDE2NXB4OwogfQogCisuZmlsdGVyIHsKKyAgICAtd2Vi
a2l0LWFwcGVhcmFuY2U6IG5vbmU7CisgICAgYm9yZGVyOiAwOworICAgIHBhZGRpbmc6IDAgMnB4
OworICAgIG1hcmdpbjogMDsKKyAgICB3aWR0aDogMjUxcHg7Cit9CisKIC5zZWFyY2gtcmVwbGFj
ZTpmb2N1cyB7CiAgICAgb3V0bGluZTogbm9uZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MKaW5kZXggZjQ1NDE5NGUx
YjA5NmIyMjQwZjJiMzQwZDIyM2NiZGM4YTJjZTA4Ny4uZDFjMTBkMmJiZmZlNDkzM2RhOTc3MWY4
NzM4MjMzM2Q2OTBjMmMwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9uZXR3b3JrTG9nVmlldy5jc3MKQEAgLTQ3MCwxNSArNDcwLDE1IEBACiAgICAg
ZGlzcGxheTogbm9uZTsKIH0KIAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1h
bGwgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLWl0ZW0sCi0ubmV0d29yay1sb2ctZ3Jp
ZC5kYXRhLWdyaWQuZmlsdGVyLWRvY3VtZW50IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29y
ay10eXBlLWRvY3VtZW50LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1zdHls
ZXNoZWV0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXN0eWxlc2hlZXQsCi0u
bmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWltYWdlIHRhYmxlLmRhdGEgdHIucmV2
ZWFsZWQubmV0d29yay10eXBlLWltYWdlLAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZp
bHRlci1zY3JpcHQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtc2NyaXB0LAot
Lm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci14aHIgdGFibGUuZGF0YSB0ci5yZXZl
YWxlZC5uZXR3b3JrLXR5cGUteGhyLAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRl
ci1mb250IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLWZvbnQsCi0ubmV0d29y
ay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXdlYnNvY2tldCB0YWJsZS5kYXRhIHRyLnJldmVh
bGVkLm5ldHdvcmstdHlwZS13ZWJzb2NrZXQsCi0ubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQu
ZmlsdGVyLW90aGVyIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLW90aGVyIHsK
Ky5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItYWxsIHRhYmxlLmRhdGEgdHIucmV2
ZWFsZWQubmV0d29yay1pdGVtOm5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlk
LmRhdGEtZ3JpZC5maWx0ZXItZG9jdW1lbnQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3Jr
LXR5cGUtZG9jdW1lbnQ6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0
YS1ncmlkLmZpbHRlci1zdHlsZXNoZWV0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10
eXBlLXN0eWxlc2hlZXQ6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0
YS1ncmlkLmZpbHRlci1pbWFnZSB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1p
bWFnZTpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmls
dGVyLXNjcmlwdCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1zY3JpcHQ6bm90
KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci14aHIg
dGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUteGhyOm5vdCguZmlsdGVyZWQtb3V0
KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItZm9udCB0YWJsZS5kYXRhIHRy
LnJldmVhbGVkLm5ldHdvcmstdHlwZS1mb250Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3Jr
LWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItd2Vic29ja2V0IHRhYmxlLmRhdGEgdHIucmV2ZWFs
ZWQubmV0d29yay10eXBlLXdlYnNvY2tldDpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1s
b2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLW90aGVyIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0
d29yay10eXBlLW90aGVyOm5vdCguZmlsdGVyZWQtb3V0KSB7CiAgICAgZGlzcGxheTogdGFibGUt
cm93OwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158848</attachid>
            <date>2012-08-16 10:00:45 -0700</date>
            <delta_ts>2012-08-17 01:53:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120816210009.patch</filename>
            <type>text/plain</type>
            <size>22337</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUxYzViM2ZlMTdhNTM0
NjMyNWExNzYyNTA0M2EzMDRjNmUzMzIyYy4uNDIzYWRlMDI0YWVhMTY5YjYwYjhlZTE4ZjRkNTQ0
ODJiNTYxM2M4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTA4LTE2ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmaWx0ZXJpbmcgc3VwcG9ydCB0byBzZWFy
Y2ggcGFuZWwuCisgICAgICAgIEltcGxlbWVudGVkIGZpbHRlcmluZyBmb3IgbmV0d29yayBwYW5l
bC4KKyAgICAgICAgCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9jbGVh
clNlYXJjaE1hdGNoZWRMaXN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUuX3VwZGF0ZUhpZ2hsaWdodElmTWF0Y2hlZCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9oaWdobGlnaHRNYXRjaGVkUmVxdWVzdHMp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5faGlnaGxp
Z2h0TnRoTWF0Y2hlZFJlcXVlc3RGb3JTZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtMb2dWaWV3LnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLmp1bXBUb1ByZXZpb3VzU2VhcmNo
UmVzdWx0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUu
anVtcFRvTmV4dFNlYXJjaFJlc3VsdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1Bh
bmVsLnByb3RvdHlwZS5wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3
b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZS5faGlnaGxpZ2h0TWF0Y2hlZFN1YnN0cmluZyk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLmNhbmNlbFNlYXJjaCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuc2hvd1NlYXJjaEZpZWxkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fc3dpdGNoRmls
dGVyVG9TZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJv
dG90eXBlLl9zd2l0Y2hTZWFyY2hUb0ZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2Vh
cmNoQ29udHJvbGxlci5wcm90b3R5cGUuX3VwZGF0ZUZpbHRlclZpc2liaWxpdHkpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLl9yZXBsYWNlQWxsKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fZmlsdGVy
Q2hlY2tib3hDbGljayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5w
cm90b3R5cGUuX3BlcmZvcm1GaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENv
bnRyb2xsZXIucHJvdG90eXBlLl9vbkZpbHRlcklucHV0KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fb25TZWFyY2hJbnB1dCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUucmVzZXRGaWx0ZXIpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzczoKKyAgICAgICAgKC5maWx0
ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzOgor
ICAgICAgICAoLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1vdGhlciB0YWJsZS5k
YXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1vdGhlcjpub3QoLmZpbHRlcmVkLW91dCkpOgor
CiAyMDEyLTA4LTE0ICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1QGFkb2JlLmNvbT4KIAog
ICAgICAgICBMYXlvdXQgVGVzdCBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYW5p
bWF0aW9uLmh0bWwgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwppbmRleCAyZWZjMWRhZGY3NGYyNjU3YTQxMzk3ZTg2
MTI0NTMwOWM1NmFjNTIxLi4wMmM3YjU0OGRlZWZkZDAzOTI5NjFiMmU0NmYyMGE4ZjE2MjIyZGJl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcwpAQCAtNDgsNiArNDgsOCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcgPSBm
dW5jdGlvbigpCiAgICAgdGhpcy5fbWFpblJlcXVlc3RET01Db250ZW50VGltZSA9IC0xOwogICAg
IHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMgPSB7fTsKICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHMg
PSBbXTsKKyAgICB0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3RzID0gbmV3IE1hcCgpOworICAgIAog
ICAgIHRoaXMuX21hdGNoZWRSZXF1ZXN0c01hcCA9IHt9OwogICAgIHRoaXMuX2N1cnJlbnRNYXRj
aGVkUmVxdWVzdEluZGV4ID0gLTE7CiAKQEAgLTM4NCw3ICszODYsNyBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSB0
aGlzLl9yZXF1ZXN0c1tpXTsKICAgICAgICAgICAgIHZhciByZXF1ZXN0VHJhbnNmZXJTaXplID0g
KHJlcXVlc3QuY2FjaGVkIHx8ICFyZXF1ZXN0LnRyYW5zZmVyU2l6ZSkgPyAwIDogcmVxdWVzdC50
cmFuc2ZlclNpemU7CiAgICAgICAgICAgICB0cmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVy
U2l6ZTsKLSAgICAgICAgICAgIGlmICghdGhpcy5faGlkZGVuQ2F0ZWdvcmllcy5hbGwgfHwgIXRo
aXMuX2hpZGRlbkNhdGVnb3JpZXNbcmVxdWVzdC50eXBlLm5hbWUoKV0pIHsKKyAgICAgICAgICAg
IGlmICgoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8ICF0aGlzLl9oaWRkZW5DYXRlZ29y
aWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSAmJiAhdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5n
ZXQocmVxdWVzdCkpIHsKICAgICAgICAgICAgICAgICBzZWxlY3RlZFJlcXVlc3RzTnVtYmVyKys7
CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUcmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVy
U2l6ZTsKICAgICAgICAgICAgIH0KQEAgLTM5NCw3ICszOTYsNyBAQCBXZWJJbnNwZWN0b3IuTmV0
d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIG1heFRpbWUgPSByZXF1
ZXN0LmVuZFRpbWU7CiAgICAgICAgIH0KICAgICAgICAgdmFyIHRleHQgPSAiIjsKLSAgICAgICAg
aWYgKHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKSB7CisgICAgICAgIGlmIChzZWxlY3RlZFJl
cXVlc3RzTnVtYmVyICE9PSByZXF1ZXN0c051bWJlcikgewogICAgICAgICAgICAgdGV4dCArPSBT
dHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVkIC8gJWQgcmVxdWVzdHMiKSwg
c2VsZWN0ZWRSZXF1ZXN0c051bWJlciwgcmVxdWVzdHNOdW1iZXIpOwogICAgICAgICAgICAgdGV4
dCArPSAiICBcdTI3NTggICIgKyBTdHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IiVzIC8gJXMgdHJhbnNmZXJyZWQiKSwgTnVtYmVyLmJ5dGVzVG9TdHJpbmcoc2VsZWN0ZWRUcmFu
c2ZlclNpemUpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0cmFuc2ZlclNpemUpKTsKICAgICAgICAg
fSBlbHNlIHsKQEAgLTEwNjcsNyArMTA2OSw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHMgPSBb
XTsKICAgICAgICAgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzTWFwID0ge307Ci0gICAgICAgIHRoaXMu
X2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KC0xLCBmYWxzZSk7CisgICAgICAgIHRoaXMuX2hp
Z2hsaWdodE1hdGNoZWRSZXF1ZXN0cyhbXSwgZmFsc2UpOwogICAgIH0sCiAKICAgICBfdXBkYXRl
U2VhcmNoTWF0Y2hlZExpc3RBZnRlclJlcXVlc3RJZENoYW5nZWQ6IGZ1bmN0aW9uKG9sZFJlcXVl
c3RJZCwgbmV3UmVxdWVzdElkKQpAQCAtMTA5MSwzNyArMTA5Myw1NSBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICBpZiAodGhpcy5fY3VycmVudE1h
dGNoZWRSZXF1ZXN0SW5kZXggIT09IC0xICYmIHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdElu
ZGV4ICE9PSBtYXRjaGVkUmVxdWVzdEluZGV4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAg
ICAgIHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KG1hdGNoZWRSZXF1ZXN0SW5kZXgs
IGZhbHNlKTsKKyAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJlcXVlc3RGb3JTZWFy
Y2gobWF0Y2hlZFJlcXVlc3RJbmRleCwgZmFsc2UpOwogICAgIH0sCiAKLSAgICBfaGlnaGxpZ2h0
TnRoTWF0Y2hlZFJlcXVlc3Q6IGZ1bmN0aW9uKG1hdGNoZWRSZXF1ZXN0SW5kZXgsIHJldmVhbCkK
KyAgICAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge0FycmF5LjxXZWJJbnNwZWN0b3IuTmV0d29y
a1JlcXVlc3Q+fSByZXF1ZXN0cworICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gcmV2ZWFsCisgICAg
ICogQHBhcmFtIHtSZWdFeHA9fSByZWdFeHAKKyAgICAgKi8KKyAgICBfaGlnaGxpZ2h0TWF0Y2hl
ZFJlcXVlc3RzOiBmdW5jdGlvbihyZXF1ZXN0cywgcmV2ZWFsLCByZWdFeHApCiAgICAgewogICAg
ICAgICBpZiAodGhpcy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFuZ2VzKSB7Ci0gICAgICAgICAg
ICBXZWJJbnNwZWN0b3IucmV2ZXJ0RG9tQ2hhbmdlcyh0aGlzLl9oaWdobGlnaHRlZFN1YnN0cmlu
Z0NoYW5nZXMpOworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9oaWdobGln
aHRlZFN1YnN0cmluZ0NoYW5nZXMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLnJldmVydERvbUNoYW5nZXModGhpcy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFuZ2Vz
W2ldKTsKICAgICAgICAgICAgIHRoaXMuX2hpZ2hsaWdodGVkU3Vic3RyaW5nQ2hhbmdlcyA9IG51
bGw7CiAgICAgICAgIH0KLQotICAgICAgICBpZiAobWF0Y2hlZFJlcXVlc3RJbmRleCA9PT0gLTEp
IHsKLSAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4ID0gbWF0Y2hl
ZFJlcXVlc3RJbmRleDsKKyAgICAgICAgaWYgKCFyZWdFeHApCiAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIHRoaXMuX2hpZ2hsaWdodGVkU3Vic3RyaW5nQ2hhbmdlcyA9IFtdOworICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHJlcXVlc3RzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAg
ICB2YXIgcmVxdWVzdCA9IHJlcXVlc3RzW2ldOworICAgICAgICAgICAgdmFyIG5vZGUgPSB0aGlz
Ll9yZXF1ZXN0R3JpZE5vZGUocmVxdWVzdCk7CisgICAgICAgICAgICBpZiAobm9kZSkgeworICAg
ICAgICAgICAgICAgIHZhciBuYW1lTWF0Y2hlZCA9IHJlcXVlc3QuZGlzcGxheU5hbWUgJiYgcmVx
dWVzdC5kaXNwbGF5TmFtZS5tYXRjaChyZWdFeHApOworICAgICAgICAgICAgICAgIHZhciBwYXRo
TWF0Y2hlZCA9IHJlcXVlc3QucGFyc2VkVVJMLnBhdGggJiYgcmVxdWVzdC5mb2xkZXIubWF0Y2go
cmVnRXhwKTsKKyAgICAgICAgICAgICAgICBpZiAoIW5hbWVNYXRjaGVkICYmIHBhdGhNYXRjaGVk
ICYmICF0aGlzLl9sYXJnZXJSZXF1ZXN0c0J1dHRvbi50b2dnbGVkKQorICAgICAgICAgICAgICAg
ICAgICB0aGlzLl90b2dnbGVMYXJnZXJSZXF1ZXN0cygpOworICAgICAgICAgICAgICAgIHZhciBo
aWdobGlnaHRlZFN1YnN0cmluZ0NoYW5nZXMgPSBub2RlLl9oaWdobGlnaHRNYXRjaGVkU3Vic3Ry
aW5nKHJlZ0V4cCk7CisgICAgICAgICAgICAgICAgdGhpcy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdD
aGFuZ2VzLnB1c2goaGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFuZ2VzKTsKKyAgICAgICAgICAgICAg
ICBpZiAocmV2ZWFsKQorICAgICAgICAgICAgICAgICAgICBub2RlLnJldmVhbCgpOworICAgICAg
ICAgICAgfQogICAgICAgICB9CisgICAgfSwKIAotICAgICAgICB2YXIgcmVxdWVzdCA9IHRoaXMu
X3JlcXVlc3RzQnlJZFt0aGlzLl9tYXRjaGVkUmVxdWVzdHNbbWF0Y2hlZFJlcXVlc3RJbmRleF1d
OworICAgIC8qKgorICAgICAqIEBwYXJhbSB7bnVtYmVyfSBtYXRjaGVkUmVxdWVzdEluZGV4Cisg
ICAgICogQHBhcmFtIHtib29sZWFufSByZXZlYWwKKyAgICAgKi8KKyAgICBfaGlnaGxpZ2h0TnRo
TWF0Y2hlZFJlcXVlc3RGb3JTZWFyY2g6IGZ1bmN0aW9uKG1hdGNoZWRSZXF1ZXN0SW5kZXgsIHJl
dmVhbCkKKyAgICB7CisgICAgICAgIHZhciByZXF1ZXN0ID0gdGhpcy5yZXF1ZXN0QnlJZCh0aGlz
Ll9tYXRjaGVkUmVxdWVzdHNbbWF0Y2hlZFJlcXVlc3RJbmRleF0pOwogICAgICAgICBpZiAoIXJl
cXVlc3QpCiAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdmFyIG5hbWVNYXRjaGVkID0g
cmVxdWVzdC5kaXNwbGF5TmFtZSAmJiByZXF1ZXN0LmRpc3BsYXlOYW1lLm1hdGNoKHRoaXMuX3Nl
YXJjaFJlZ0V4cCk7Ci0gICAgICAgIHZhciBwYXRoTWF0Y2hlZCA9IHJlcXVlc3QucGFyc2VkVVJM
LnBhdGggJiYgcmVxdWVzdC5mb2xkZXIubWF0Y2godGhpcy5fc2VhcmNoUmVnRXhwKTsKLSAgICAg
ICAgaWYgKCFuYW1lTWF0Y2hlZCAmJiBwYXRoTWF0Y2hlZCAmJiAhdGhpcy5fbGFyZ2VyUmVxdWVz
dHNCdXR0b24udG9nZ2xlZCkKLSAgICAgICAgICAgIHRoaXMuX3RvZ2dsZUxhcmdlclJlcXVlc3Rz
KCk7Ci0KKyAgICAgICAgdGhpcy5faGlnaGxpZ2h0TWF0Y2hlZFJlcXVlc3RzKFtyZXF1ZXN0XSwg
cmV2ZWFsLCB0aGlzLl9zZWFyY2hSZWdFeHApOwogICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX3Jl
cXVlc3RHcmlkTm9kZShyZXF1ZXN0KTsKLSAgICAgICAgaWYgKG5vZGUpIHsKLSAgICAgICAgICAg
IHRoaXMuX2hpZ2hsaWdodGVkU3Vic3RyaW5nQ2hhbmdlcyA9IG5vZGUuX2hpZ2hsaWdodE1hdGNo
ZWRTdWJzdHJpbmcodGhpcy5fc2VhcmNoUmVnRXhwKTsKLSAgICAgICAgICAgIGlmIChyZXZlYWwp
Ci0gICAgICAgICAgICAgICAgbm9kZS5yZXZlYWwoKTsKKyAgICAgICAgaWYgKG5vZGUpCiAgICAg
ICAgICAgICB0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJbmRleCA9IG1hdGNoZWRSZXF1ZXN0
SW5kZXg7Ci0gICAgICAgIH0KKwogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVy
cyhXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcuRXZlbnRUeXBlcy5TZWFyY2hJbmRleFVwZGF0
ZWQsIHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4KTsKICAgICB9LAogCkBAIC0xMTMz
LDcgKzExNTMsNiBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgY3VycmVudE1hdGNoZWRSZXF1ZXN0SWQgPSB0aGlzLl9tYXRjaGVkUmVxdWVz
dHNbdGhpcy5fY3VycmVudE1hdGNoZWRSZXF1ZXN0SW5kZXhdOwogCiAgICAgICAgIHRoaXMuX3Nl
YXJjaFJlZ0V4cCA9IGNyZWF0ZVBsYWluVGV4dFNlYXJjaFJlZ2V4KHNlYXJjaFF1ZXJ5LCAiaSIp
OwotCiAgICAgICAgIHRoaXMuX2NsZWFyU2VhcmNoTWF0Y2hlZExpc3QoKTsKIAogICAgICAgICB2
YXIgY2hpbGROb2RlcyA9IHRoaXMuX2RhdGFHcmlkLmRhdGFUYWJsZUJvZHkuY2hpbGROb2RlczsK
QEAgLTExNDMsMjcgKzExNjIsNDkgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgIHZhciBkYXRhR3JpZE5vZGUgPSB0aGlzLl9kYXRhR3JpZC5k
YXRhR3JpZE5vZGVGcm9tTm9kZShyZXF1ZXN0Tm9kZXNbaV0pOwogICAgICAgICAgICAgaWYgKGRh
dGFHcmlkTm9kZS5pc0ZpbHRlcmVkT3V0KCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0K
ICAgICAgICAgICAgIGlmICh0aGlzLl9tYXRjaFJlcXVlc3QoZGF0YUdyaWROb2RlLl9yZXF1ZXN0
KSAhPT0gLTEgJiYgZGF0YUdyaWROb2RlLl9yZXF1ZXN0LnJlcXVlc3RJZCA9PT0gY3VycmVudE1h
dGNoZWRSZXF1ZXN0SWQpCiAgICAgICAgICAgICAgICAgbmV3TWF0Y2hlZFJlcXVlc3RJbmRleCA9
IHRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5ndGggLSAxOwogICAgICAgICB9CiAKICAgICAgICAg
dGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3
LkV2ZW50VHlwZXMuU2VhcmNoQ291bnRVcGRhdGVkLCB0aGlzLl9tYXRjaGVkUmVxdWVzdHMubGVu
Z3RoKTsKLSAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJlcXVlc3QobmV3TWF0Y2hl
ZFJlcXVlc3RJbmRleCwgZmFsc2UpOworICAgICAgICB0aGlzLl9oaWdobGlnaHROdGhNYXRjaGVk
UmVxdWVzdEZvclNlYXJjaChuZXdNYXRjaGVkUmVxdWVzdEluZGV4LCBmYWxzZSk7CiAgICAgfSwK
IAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBxdWVyeQorICAgICAqLworICAgIHBl
cmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KSB7CisgICAgICAgIHRoaXMuX2ZpbHRlcmVkT3V0
UmVxdWVzdHMuY2xlYXIoKTsKKyAgICAgICAgdmFyIGZpbHRlclJlZ0V4cCA9IGNyZWF0ZVBsYWlu
VGV4dFNlYXJjaFJlZ2V4KHF1ZXJ5LCAiaSIpOworICAgICAgICB2YXIgc2hvd25SZXF1ZXN0cyA9
IFtdOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2RhdGFHcmlkLnJvb3ROb2Rl
KCkuY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5f
ZGF0YUdyaWQucm9vdE5vZGUoKS5jaGlsZHJlbltpXTsKKyAgICAgICAgICAgIG5vZGUuZWxlbWVu
dC5yZW1vdmVTdHlsZUNsYXNzKCJmaWx0ZXJlZC1vdXQiKTsKKyAgICAgICAgICAgIHZhciBuYW1l
TWF0Y2hlZCA9IG5vZGUuX3JlcXVlc3QuZGlzcGxheU5hbWUgJiYgbm9kZS5fcmVxdWVzdC5kaXNw
bGF5TmFtZS5tYXRjaChmaWx0ZXJSZWdFeHApOworICAgICAgICAgICAgdmFyIHBhdGhNYXRjaGVk
ID0gbm9kZS5fcmVxdWVzdC5wYXJzZWRVUkwucGF0aCAmJiBub2RlLl9yZXF1ZXN0LmZvbGRlci5t
YXRjaChmaWx0ZXJSZWdFeHApOworICAgICAgICAgICAgaWYgKCFuYW1lTWF0Y2hlZCAmJiAhcGF0
aE1hdGNoZWQpIHsKKyAgICAgICAgICAgICAgICBub2RlLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygi
ZmlsdGVyZWQtb3V0Iik7CisgICAgICAgICAgICAgICAgdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0
cy5wdXQodGhpcy5fcmVxdWVzdHNbaV0sIHRydWUpOworICAgICAgICAgICAgfSBlbHNlIAorICAg
ICAgICAgICAgICAgIHNob3duUmVxdWVzdHMucHVzaChub2RlLl9yZXF1ZXN0KTsKKyAgICAgICAg
fQorICAgICAgICB0aGlzLl9oaWdobGlnaHRNYXRjaGVkUmVxdWVzdHMoc2hvd25SZXF1ZXN0cywg
ZmFsc2UsIHF1ZXJ5ID8gZmlsdGVyUmVnRXhwIDogbnVsbCk7CisgICAgICAgIHRoaXMuX3VwZGF0
ZVN1bW1hcnlCYXIoKTsKKyAgICAgICAgdGhpcy5fdXBkYXRlT2Zmc2NyZWVuUm93cygpOworICAg
IH0sCisgICAgCiAgICAganVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKCkKICAg
ICB7CiAgICAgICAgIGlmICghdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCkKICAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJlcXVlc3QoKHRo
aXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4ICsgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxl
bmd0aCAtIDEpICUgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCwgdHJ1ZSk7CisgICAgICAg
IHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0Rm9yU2VhcmNoKCh0aGlzLl9jdXJyZW50
TWF0Y2hlZFJlcXVlc3RJbmRleCArIHRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5ndGggLSAxKSAl
IHRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5ndGgsIHRydWUpOwogICAgIH0sCiAKICAgICBqdW1w
VG9OZXh0U2VhcmNoUmVzdWx0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMu
X21hdGNoZWRSZXF1ZXN0cy5sZW5ndGgpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHRo
aXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KCh0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVl
c3RJbmRleCArIDEpICUgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCwgdHJ1ZSk7CisgICAg
ICAgIHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0Rm9yU2VhcmNoKCh0aGlzLl9jdXJy
ZW50TWF0Y2hlZFJlcXVlc3RJbmRleCArIDEpICUgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0
aCwgdHJ1ZSk7CiAgICAgfSwKIAogICAgIHNlYXJjaENhbmNlbGVkOiBmdW5jdGlvbigpCkBAIC0x
NDA1LDExICsxNDQ2LDIxIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlID0g
ewogICAgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5zd2l0Y2hUb0JyaWVmVmlldygpOwogICAg
IH0sCiAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gc2VhcmNoUXVlcnkKKyAgICAg
Ki8gICAgCiAgICAgcGVyZm9ybVNlYXJjaDogZnVuY3Rpb24oc2VhcmNoUXVlcnkpCiAgICAgewog
ICAgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5wZXJmb3JtU2VhcmNoKHNlYXJjaFF1ZXJ5KTsK
ICAgICB9LAotCisgICAgCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5Cisg
ICAgICovICAgIAorICAgIHBlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KXsKKyAgICAgICAg
dGhpcy5fbmV0d29ya0xvZ1ZpZXcucGVyZm9ybUZpbHRlcihxdWVyeSk7CisgICAgfSwKKyAgICAK
ICAgICBqdW1wVG9QcmV2aW91c1NlYXJjaFJlc3VsdDogZnVuY3Rpb24oKQogICAgIHsKICAgICAg
ICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcuanVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQoKTsKQEAg
LTE3MjIsNiArMTc3Myw4IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWROb2RlLnByb3Rv
dHlwZSA9IHsKIAogICAgIGlzRmlsdGVyZWRPdXQ6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAg
IGlmICh0aGlzLl9wYXJlbnRWaWV3Ll9maWx0ZXJlZE91dFJlcXVlc3RzLmdldCh0aGlzLl9yZXF1
ZXN0KSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBpZiAoIXRoaXMuX3BhcmVu
dFZpZXcuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWVzdC50eXBlLm5hbWUoKSBpbiB0aGlzLl9wYXJlbnRW
aWV3Ll9oaWRkZW5DYXRlZ29yaWVzOwpAQCAtMTczNiw4ICsxNzg5LDkgQEAgV2ViSW5zcGVjdG9y
Lk5ldHdvcmtEYXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogICAgIF9oaWdobGlnaHRNYXRjaGVk
U3Vic3RyaW5nOiBmdW5jdGlvbihyZWdleHApCiAgICAgewogICAgICAgICB2YXIgZG9tQ2hhbmdl
cyA9IFtdOwotICAgICAgICB2YXIgbWF0Y2hJbmZvID0gdGhpcy5fbmFtZUNlbGwudGV4dENvbnRl
bnQubWF0Y2gocmVnZXhwKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmhpZ2hsaWdodFNlYXJjaFJl
c3VsdCh0aGlzLl9uYW1lQ2VsbCwgbWF0Y2hJbmZvLmluZGV4LCBtYXRjaEluZm9bMF0ubGVuZ3Ro
LCBkb21DaGFuZ2VzKTsKKyAgICAgICAgdmFyIG1hdGNoSW5mbyA9IHRoaXMuX2VsZW1lbnQudGV4
dENvbnRlbnQubWF0Y2gocmVnZXhwKTsKKyAgICAgICAgaWYgKG1hdGNoSW5mbykKKyAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5oaWdobGlnaHRTZWFyY2hSZXN1bHQodGhpcy5fbmFtZUNlbGwsIG1h
dGNoSW5mby5pbmRleCwgbWF0Y2hJbmZvWzBdLmxlbmd0aCwgZG9tQ2hhbmdlcyk7CiAgICAgICAg
IHJldHVybiBkb21DaGFuZ2VzOwogICAgIH0sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcwppbmRleCBkMThlMjgwZTFh
NjZkNGEyZmUzMTcwZDgyYjFhOTEzNGM0MmNkMWRlLi41MGMxY2E2ZTM3NGMzY2RiMDg5YjZhNmJm
MmZjMzlmMTg5Y2VhNmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzCkBAIC00MiwxMSArNDIsMTggQEAgV2ViSW5z
cGVjdG9yLlNlYXJjaENvbnRyb2xsZXIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fc2Vjb25kUm93
RWxlbWVudCA9IHRoaXMuX2VsZW1lbnQuY3JlYXRlQ2hpbGQoInRyIiwgImhpZGRlbiIpOwogCiAg
ICAgLy8gQ29sdW1uIDEKLSAgICB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudCA9IHRoaXMuX2Zp
cnN0Um93RWxlbWVudC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgic3BhbiIsICJ0b29s
YmFyLXNlYXJjaC1jb250cm9sIik7CisgICAgdmFyIHNlYXJjaENvbnRyb2xFbGVtZW50Q29sdW1u
ID0gdGhpcy5fZmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpOyAKKyAgICB0aGlzLl9z
ZWFyY2hDb250cm9sRWxlbWVudCA9IHNlYXJjaENvbnRyb2xFbGVtZW50Q29sdW1uLmNyZWF0ZUNo
aWxkKCJzcGFuIiwgInRvb2xiYXItc2VhcmNoLWNvbnRyb2wiKTsKICAgICB0aGlzLl9zZWFyY2hJ
bnB1dEVsZW1lbnQgPSB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudC5jcmVhdGVDaGlsZCgiaW5w
dXQiLCAic2VhcmNoLXJlcGxhY2UiKTsKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuaWQg
PSAic2VhcmNoLWlucHV0LWZpZWxkIjsKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQucGxh
Y2Vob2xkZXIgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZpbmQiKTsKIAorICAgIHRoaXMuX2Zp
bHRlckNvbnRyb2xFbGVtZW50ID0gc2VhcmNoQ29udHJvbEVsZW1lbnRDb2x1bW4uY3JlYXRlQ2hp
bGQoInNwYW4iLCAidG9vbGJhci1zZWFyY2gtY29udHJvbCIpOworICAgIHRoaXMuX2ZpbHRlckNv
bnRyb2xFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgIHRoaXMuX2ZpbHRlcklu
cHV0RWxlbWVudCA9IHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50LmNyZWF0ZUNoaWxkKCJpbnB1
dCIsICJmaWx0ZXIiKTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuaWQgPSAiZmlsdGVy
LWlucHV0LWZpZWxkIjsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQucGxhY2Vob2xkZXIg
PSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZpbHRlciIpOworCiAgICAgdGhpcy5fbWF0Y2hlc0Vs
ZW1lbnQgPSB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudC5jcmVhdGVDaGlsZCgibGFiZWwiLCAi
c2VhcmNoLXJlc3VsdHMtbWF0Y2hlcyIpOwogICAgIHRoaXMuX21hdGNoZXNFbGVtZW50LnNldEF0
dHJpYnV0ZSgiZm9yIiwgInNlYXJjaC1pbnB1dC1maWVsZCIpOwogCkBAIC02Miw3ICs2OSw5IEBA
IFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyID0gZnVuY3Rpb24oKQogCiAgICAgdGhpcy5f
c2VhcmNoSW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX29u
U2VhcmNoRmllbGRNYW51YWxGb2N1cy5iaW5kKHRoaXMpLCBmYWxzZSk7IC8vIHdoZW4gdGhlIHNl
YXJjaCBmaWVsZCBpcyBtYW51YWxseSBzZWxlY3RlZAogICAgIHRoaXMuX3NlYXJjaElucHV0RWxl
bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5fb25LZXlEb3duLmJpbmQodGhp
cyksIHRydWUpOwotICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVy
KCJpbnB1dCIsIHRoaXMuX29uSW5wdXQuYmluZCh0aGlzKSwgZmFsc2UpOworICAgIHRoaXMuX2Zp
bHRlcklucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5fb25LZXlE
b3duLmJpbmQodGhpcyksIHRydWUpOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5hZGRF
dmVudExpc3RlbmVyKCJpbnB1dCIsIHRoaXMuX29uRmlsdGVySW5wdXQuYmluZCh0aGlzKSwgZmFs
c2UpOworICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJpbnB1
dCIsIHRoaXMuX29uU2VhcmNoSW5wdXQuYmluZCh0aGlzKSwgZmFsc2UpOwogCiAgICAgdGhpcy5f
cmVwbGFjZUlucHV0RWxlbWVudCA9IHRoaXMuX3NlY29uZFJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQo
InRkIikuY3JlYXRlQ2hpbGQoImlucHV0IiwgInNlYXJjaC1yZXBsYWNlIHRvb2xiYXItcmVwbGFj
ZS1jb250cm9sIik7CiAgICAgdGhpcy5fcmVwbGFjZUlucHV0RWxlbWVudC5hZGRFdmVudExpc3Rl
bmVyKCJrZXlkb3duIiwgdGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyksIHRydWUpOwpAQCAtMTA0
LDYgKzExMywxOCBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlciA9IGZ1bmN0aW9uKCkK
ICAgICB0aGlzLl9yZXBsYWNlTGFiZWxFbGVtZW50LnNldEF0dHJpYnV0ZSgiZm9yIiwgInNlYXJj
aC1yZXBsYWNlLXRyaWdnZXIiKTsKIAogICAgIC8vIENvbHVtbiA1CisgICAgdGhpcy5fZmlsdGVy
Q2hlY2tib3hDb250YWluZXIgPSB0aGlzLl9maXJzdFJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRk
IikuY3JlYXRlQ2hpbGQoInNwYW4iKTsKKworICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVu
dCA9IHRoaXMuX2ZpbHRlckNoZWNrYm94Q29udGFpbmVyLmNyZWF0ZUNoaWxkKCJpbnB1dCIpOwor
ICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC50eXBlID0gImNoZWNrYm94IjsKKyAgICB0
aGlzLl9maWx0ZXJDaGVja2JveEVsZW1lbnQuaWQgPSAiZmlsdGVyLXRyaWdnZXIiOworICAgIHRo
aXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMu
X2ZpbHRlckNoZWNrYm94Q2xpY2suYmluZCh0aGlzKSwgZmFsc2UpOworICAKKyAgICB0aGlzLl9m
aWx0ZXJMYWJlbEVsZW1lbnQgPSB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lci5jcmVhdGVD
aGlsZCgibGFiZWwiKTsKKyAgICB0aGlzLl9maWx0ZXJMYWJlbEVsZW1lbnQudGV4dENvbnRlbnQg
PSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZpbHRlciIpOworICAgIHRoaXMuX2ZpbHRlckxhYmVs
RWxlbWVudC5zZXRBdHRyaWJ1dGUoImZvciIsICJmaWx0ZXItdHJpZ2dlciIpOworCisgICAgLy8g
Q29sdW1uIDYKICAgICB2YXIgY2FuY2VsQnV0dG9uRWxlbWVudCA9IHRoaXMuX2ZpcnN0Um93RWxl
bWVudC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgiYnV0dG9uIik7CiAgICAgY2FuY2Vs
QnV0dG9uRWxlbWVudC50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ2FuY2Vs
Iik7CiAgICAgY2FuY2VsQnV0dG9uRWxlbWVudC50YWJJbmRleCA9IC0xOwpAQCAtMTMyLDYgKzE1
MywxMCBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAg
ewogICAgICAgICBpZiAoIXRoaXMuX3NlYXJjaElzVmlzaWJsZSkKICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgaWYgKHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5jaGVja2VkKSB7Cisg
ICAgICAgICAgICB0aGlzLl9maWx0ZXJDaGVja2JveEVsZW1lbnQuY2hlY2tlZCA9IGZhbHNlOwor
ICAgICAgICAgICAgdGhpcy5fc3dpdGNoRmlsdGVyVG9TZWFyY2goKTsKKyAgICAgICAgfSAKICAg
ICAgICAgZGVsZXRlIHRoaXMuX3NlYXJjaElzVmlzaWJsZTsKICAgICAgICAgV2ViSW5zcGVjdG9y
Lmluc3BlY3RvclZpZXcuc2V0Rm9vdGVyRWxlbWVudChudWxsKTsKICAgICAgICAgdGhpcy5yZXNl
dFNlYXJjaCgpOwpAQCAtMjIzLDExICsyNDgsNDAgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRy
b2xsZXIucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3Rv
clZpZXcuc2V0Rm9vdGVyRWxlbWVudCh0aGlzLl9lbGVtZW50KTsKICAgICAgICAgdGhpcy5fdXBk
YXRlUmVwbGFjZVZpc2liaWxpdHkoKTsKKyAgICAgICAgdGhpcy5fdXBkYXRlRmlsdGVyVmlzaWJp
bGl0eSgpOwogICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuZm9jdXMoKTsKICAgICAg
ICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LnNlbGVjdCgpOwogICAgICAgICB0aGlzLl9zZWFy
Y2hJc1Zpc2libGUgPSB0cnVlOwogICAgIH0sCiAKKyAgICBfc3dpdGNoRmlsdGVyVG9TZWFyY2g6
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50LmFk
ZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVu
dC5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAgICAgICAgdGhpcy5fc2VhcmNoSW5wdXRF
bGVtZW50LmZvY3VzKCk7CisgICAgICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5zZWxlY3Qo
KTsKKyAgICAgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5fZmlsdGVy
SW5wdXRFbGVtZW50LnZhbHVlOworICAgICAgICB0aGlzLnJlc2V0RmlsdGVyKCk7CisgICAgfSwK
KworICAgIF9zd2l0Y2hTZWFyY2hUb0ZpbHRlcjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAg
dGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7Cisg
ICAgICAgIHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIp
OworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgdGhp
cy5fZmlsdGVySW5wdXRFbGVtZW50LnNlbGVjdCgpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1
dEVsZW1lbnQudmFsdWUgPSB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQudmFsdWU7CisgICAgICAg
IHRoaXMucmVzZXRTZWFyY2goKTsKKyAgICB9LAorICAgIAorICAgIF91cGRhdGVGaWx0ZXJWaXNp
YmlsaXR5OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAodHlwZW9mIFdlYkluc3BlY3Rv
ci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1GaWx0ZXIgPT09ICJmdW5jdGlv
biIpCisgICAgICAgICAgICB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lci5yZW1vdmVTdHls
ZUNsYXNzKCJoaWRkZW4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5fZmlsdGVy
Q2hlY2tib3hDb250YWluZXIuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgfSwKKyAgCiAg
ICAgX3VwZGF0ZVJlcGxhY2VWaXNpYmlsaXR5OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB2
YXIgcGFuZWwgPSBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwoKTsKQEAg
LTI2NSwxMSArMzE5LDYgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBl
ID0gewogICAgICAgICB9CiAgICAgfSwKIAotICAgIF9vbklucHV0OiBmdW5jdGlvbihldmVudCkK
LSAgICB7Ci0gICAgICAgIHRoaXMuX3BlcmZvcm1TZWFyY2goZXZlbnQudGFyZ2V0LnZhbHVlLCBm
YWxzZSwgZmFsc2UpOwotICAgIH0sCi0KICAgICBfb25OZXh0QnV0dG9uU2VhcmNoOiBmdW5jdGlv
bihldmVudCkKICAgICB7CiAgICAgICAgIC8vIFNpbXVsYXRlIG5leHQgc2VhcmNoIG9uIHNlYXJj
aC1uYXZpZ2F0aW9uLWJ1dHRvbiBjbGljay4KQEAgLTM2NCw2ICs0MTMsNDIgQEAgV2ViSW5zcGVj
dG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIGN1
cnJlbnRQYW5lbCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpOwog
ICAgICAgICBjdXJyZW50UGFuZWwucmVwbGFjZUFsbFdpdGgodGhpcy5fc2VhcmNoSW5wdXRFbGVt
ZW50LnZhbHVlLCB0aGlzLl9yZXBsYWNlSW5wdXRFbGVtZW50LnZhbHVlKTsKKyAgICB9LAorICAK
KyAgICBfZmlsdGVyQ2hlY2tib3hDbGljazogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYg
KHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5jaGVja2VkKSB7IAorICAgICAgICAgICAgdGhp
cy5fc3dpdGNoU2VhcmNoVG9GaWx0ZXIoKTsKKyAgICAgICAgICAgIHRoaXMuX3BlcmZvcm1GaWx0
ZXIodGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LnZhbHVlKTsKKyAgICAgICAgfQorICAgICAgICBl
bHNlIHsKKyAgICAgICAgICAgIHRoaXMuX3N3aXRjaEZpbHRlclRvU2VhcmNoKCk7CisgICAgICAg
ICAgICB0aGlzLl9wZXJmb3JtU2VhcmNoKHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC52YWx1ZSwg
ZmFsc2UsIGZhbHNlKTsKKyAgICAgICAgfQorICAgIH0sCisgICAgCisgICAgLyoqCisgICAgICog
QHBhcmFtIHtzdHJpbmd9IHF1ZXJ5CisgICAgICovCisgICAgX3BlcmZvcm1GaWx0ZXI6IGZ1bmN0
aW9uKHF1ZXJ5KQorICAgIHsKKyAgICAgICAgaWYgKHR5cGVvZiBXZWJJbnNwZWN0b3IuaW5zcGVj
dG9yVmlldy5jdXJyZW50UGFuZWwoKS5wZXJmb3JtRmlsdGVyID09PSAiZnVuY3Rpb24iKQorICAg
ICAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkucGVyZm9y
bUZpbHRlcihxdWVyeSk7CisgICAgfSwKKyAgCisgICAgX29uRmlsdGVySW5wdXQ6IGZ1bmN0aW9u
KGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fcGVyZm9ybUZpbHRlcihldmVudC50YXJnZXQu
dmFsdWUpOworICAgIH0sCisgIAorICAgIF9vblNlYXJjaElucHV0OiBmdW5jdGlvbihldmVudCkK
KyAgICB7CisgICAgICAgIHRoaXMuX3BlcmZvcm1TZWFyY2goZXZlbnQudGFyZ2V0LnZhbHVlLCBm
YWxzZSwgZmFsc2UpOworICAgIH0sCisgICAgCisgICAgcmVzZXRGaWx0ZXI6IGZ1bmN0aW9uKCkK
KyAgICB7CisgICAgICAgIHRoaXMuX3BlcmZvcm1GaWx0ZXIoIiIpOwogICAgIH0KIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3Nz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCmluZGV4
IGVhNWVlZGM0NGU1MmY0NTZmZTYwNGNkODE5MzE0OTM2YzJjNTY1OWYuLmZiZjk2NzNiNzRhOGE3
NTZjZDcxODM0NTZmNjEwMDdlYjJjMTdkZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKQEAgLTI3MSw2ICsyNzEsMTQgQEAgYm9keS5k
ZXRhY2hlZC5wbGF0Zm9ybS1tYWMtc25vd2xlb3BhcmQgI3Rvb2xiYXItZHJvcGRvd24gewogICAg
IHdpZHRoOiAxNjVweDsKIH0KIAorLmZpbHRlciB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBu
b25lOworICAgIGJvcmRlcjogMDsKKyAgICBwYWRkaW5nOiAwIDJweDsKKyAgICBtYXJnaW46IDA7
CisgICAgd2lkdGg6IDI1MXB4OworfQorCiAuc2VhcmNoLXJlcGxhY2U6Zm9jdXMgewogICAgIG91
dGxpbmU6IG5vbmU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL25ldHdvcmtMb2dWaWV3LmNzcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzCmluZGV4IGY0NTQxOTRlMWIwOTZiMjI0MGYyYjM0MGQy
MjNjYmRjOGEyY2UwODcuLmQxYzEwZDJiYmZmZTQ5MzNkYTk3NzFmODczODIzMzNkNjkwYzJjMGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xv
Z1ZpZXcuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29y
a0xvZ1ZpZXcuY3NzCkBAIC00NzAsMTUgKzQ3MCwxNSBAQAogICAgIGRpc3BsYXk6IG5vbmU7CiB9
CiAKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItYWxsIHRhYmxlLmRhdGEgdHIu
cmV2ZWFsZWQubmV0d29yay1pdGVtLAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRl
ci1kb2N1bWVudCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1kb2N1bWVudCwK
LS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItc3R5bGVzaGVldCB0YWJsZS5kYXRh
IHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1zdHlsZXNoZWV0LAotLm5ldHdvcmstbG9nLWdyaWQu
ZGF0YS1ncmlkLmZpbHRlci1pbWFnZSB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlw
ZS1pbWFnZSwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItc2NyaXB0IHRhYmxl
LmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXNjcmlwdCwKLS5uZXR3b3JrLWxvZy1ncmlk
LmRhdGEtZ3JpZC5maWx0ZXIteGhyIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBl
LXhociwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItZm9udCB0YWJsZS5kYXRh
IHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1mb250LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1n
cmlkLmZpbHRlci13ZWJzb2NrZXQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUt
d2Vic29ja2V0LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1vdGhlciB0YWJs
ZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1vdGhlciB7CisubmV0d29yay1sb2ctZ3Jp
ZC5kYXRhLWdyaWQuZmlsdGVyLWFsbCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstaXRl
bTpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVy
LWRvY3VtZW50IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLWRvY3VtZW50Om5v
dCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItc3R5
bGVzaGVldCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1zdHlsZXNoZWV0Om5v
dCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItaW1h
Z2UgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtaW1hZ2U6bm90KC5maWx0ZXJl
ZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1zY3JpcHQgdGFibGUu
ZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtc2NyaXB0Om5vdCguZmlsdGVyZWQtb3V0KSwK
Ky5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXIteGhyIHRhYmxlLmRhdGEgdHIucmV2
ZWFsZWQubmV0d29yay10eXBlLXhocjpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ct
Z3JpZC5kYXRhLWdyaWQuZmlsdGVyLWZvbnQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3Jr
LXR5cGUtZm9udDpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdy
aWQuZmlsdGVyLXdlYnNvY2tldCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS13
ZWJzb2NrZXQ6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlk
LmZpbHRlci1vdGhlciB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1vdGhlcjpu
b3QoLmZpbHRlcmVkLW91dCkgewogICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159048</attachid>
            <date>2012-08-17 01:53:45 -0700</date>
            <delta_ts>2012-08-17 02:31:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120817125308.patch</filename>
            <type>text/plain</type>
            <size>22337</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUxYzViM2ZlMTdhNTM0
NjMyNWExNzYyNTA0M2EzMDRjNmUzMzIyYy4uNDIzYWRlMDI0YWVhMTY5YjYwYjhlZTE4ZjRkNTQ0
ODJiNTYxM2M4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTA4LTE2ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmaWx0ZXJpbmcgc3VwcG9ydCB0byBzZWFy
Y2ggcGFuZWwuCisgICAgICAgIEltcGxlbWVudGVkIGZpbHRlcmluZyBmb3IgbmV0d29yayBwYW5l
bC4KKyAgICAgICAgCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9jbGVh
clNlYXJjaE1hdGNoZWRMaXN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUuX3VwZGF0ZUhpZ2hsaWdodElmTWF0Y2hlZCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9oaWdobGlnaHRNYXRjaGVkUmVxdWVzdHMp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5faGlnaGxp
Z2h0TnRoTWF0Y2hlZFJlcXVlc3RGb3JTZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtMb2dWaWV3LnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLmp1bXBUb1ByZXZpb3VzU2VhcmNo
UmVzdWx0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUu
anVtcFRvTmV4dFNlYXJjaFJlc3VsdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1Bh
bmVsLnByb3RvdHlwZS5wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3
b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZS5faGlnaGxpZ2h0TWF0Y2hlZFN1YnN0cmluZyk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLmNhbmNlbFNlYXJjaCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuc2hvd1NlYXJjaEZpZWxkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fc3dpdGNoRmls
dGVyVG9TZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJv
dG90eXBlLl9zd2l0Y2hTZWFyY2hUb0ZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2Vh
cmNoQ29udHJvbGxlci5wcm90b3R5cGUuX3VwZGF0ZUZpbHRlclZpc2liaWxpdHkpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLl9yZXBsYWNlQWxsKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fZmlsdGVy
Q2hlY2tib3hDbGljayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5w
cm90b3R5cGUuX3BlcmZvcm1GaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENv
bnRyb2xsZXIucHJvdG90eXBlLl9vbkZpbHRlcklucHV0KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fb25TZWFyY2hJbnB1dCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUucmVzZXRGaWx0ZXIpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzczoKKyAgICAgICAgKC5maWx0
ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzOgor
ICAgICAgICAoLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1vdGhlciB0YWJsZS5k
YXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1vdGhlcjpub3QoLmZpbHRlcmVkLW91dCkpOgor
CiAyMDEyLTA4LTE0ICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1QGFkb2JlLmNvbT4KIAog
ICAgICAgICBMYXlvdXQgVGVzdCBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYW5p
bWF0aW9uLmh0bWwgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwppbmRleCAyZWZjMWRhZGY3NGYyNjU3YTQxMzk3ZTg2
MTI0NTMwOWM1NmFjNTIxLi4wMmM3YjU0OGRlZWZkZDAzOTI5NjFiMmU0NmYyMGE4ZjE2MjIyZGJl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcwpAQCAtNDgsNiArNDgsOCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcgPSBm
dW5jdGlvbigpCiAgICAgdGhpcy5fbWFpblJlcXVlc3RET01Db250ZW50VGltZSA9IC0xOwogICAg
IHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMgPSB7fTsKICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHMg
PSBbXTsKKyAgICB0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3RzID0gbmV3IE1hcCgpOworICAgIAog
ICAgIHRoaXMuX21hdGNoZWRSZXF1ZXN0c01hcCA9IHt9OwogICAgIHRoaXMuX2N1cnJlbnRNYXRj
aGVkUmVxdWVzdEluZGV4ID0gLTE7CiAKQEAgLTM4NCw3ICszODYsNyBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSB0
aGlzLl9yZXF1ZXN0c1tpXTsKICAgICAgICAgICAgIHZhciByZXF1ZXN0VHJhbnNmZXJTaXplID0g
KHJlcXVlc3QuY2FjaGVkIHx8ICFyZXF1ZXN0LnRyYW5zZmVyU2l6ZSkgPyAwIDogcmVxdWVzdC50
cmFuc2ZlclNpemU7CiAgICAgICAgICAgICB0cmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVy
U2l6ZTsKLSAgICAgICAgICAgIGlmICghdGhpcy5faGlkZGVuQ2F0ZWdvcmllcy5hbGwgfHwgIXRo
aXMuX2hpZGRlbkNhdGVnb3JpZXNbcmVxdWVzdC50eXBlLm5hbWUoKV0pIHsKKyAgICAgICAgICAg
IGlmICgoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8ICF0aGlzLl9oaWRkZW5DYXRlZ29y
aWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSAmJiAhdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5n
ZXQocmVxdWVzdCkpIHsKICAgICAgICAgICAgICAgICBzZWxlY3RlZFJlcXVlc3RzTnVtYmVyKys7
CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUcmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVy
U2l6ZTsKICAgICAgICAgICAgIH0KQEAgLTM5NCw3ICszOTYsNyBAQCBXZWJJbnNwZWN0b3IuTmV0
d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIG1heFRpbWUgPSByZXF1
ZXN0LmVuZFRpbWU7CiAgICAgICAgIH0KICAgICAgICAgdmFyIHRleHQgPSAiIjsKLSAgICAgICAg
aWYgKHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKSB7CisgICAgICAgIGlmIChzZWxlY3RlZFJl
cXVlc3RzTnVtYmVyICE9PSByZXF1ZXN0c051bWJlcikgewogICAgICAgICAgICAgdGV4dCArPSBT
dHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVkIC8gJWQgcmVxdWVzdHMiKSwg
c2VsZWN0ZWRSZXF1ZXN0c051bWJlciwgcmVxdWVzdHNOdW1iZXIpOwogICAgICAgICAgICAgdGV4
dCArPSAiICBcdTI3NTggICIgKyBTdHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IiVzIC8gJXMgdHJhbnNmZXJyZWQiKSwgTnVtYmVyLmJ5dGVzVG9TdHJpbmcoc2VsZWN0ZWRUcmFu
c2ZlclNpemUpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0cmFuc2ZlclNpemUpKTsKICAgICAgICAg
fSBlbHNlIHsKQEAgLTEwNjcsNyArMTA2OSw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHMgPSBb
XTsKICAgICAgICAgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzTWFwID0ge307Ci0gICAgICAgIHRoaXMu
X2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KC0xLCBmYWxzZSk7CisgICAgICAgIHRoaXMuX2hp
Z2hsaWdodE1hdGNoZWRSZXF1ZXN0cyhbXSwgZmFsc2UpOwogICAgIH0sCiAKICAgICBfdXBkYXRl
U2VhcmNoTWF0Y2hlZExpc3RBZnRlclJlcXVlc3RJZENoYW5nZWQ6IGZ1bmN0aW9uKG9sZFJlcXVl
c3RJZCwgbmV3UmVxdWVzdElkKQpAQCAtMTA5MSwzNyArMTA5Myw1NSBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICBpZiAodGhpcy5fY3VycmVudE1h
dGNoZWRSZXF1ZXN0SW5kZXggIT09IC0xICYmIHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdElu
ZGV4ICE9PSBtYXRjaGVkUmVxdWVzdEluZGV4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAg
ICAgIHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KG1hdGNoZWRSZXF1ZXN0SW5kZXgs
IGZhbHNlKTsKKyAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJlcXVlc3RGb3JTZWFy
Y2gobWF0Y2hlZFJlcXVlc3RJbmRleCwgZmFsc2UpOwogICAgIH0sCiAKLSAgICBfaGlnaGxpZ2h0
TnRoTWF0Y2hlZFJlcXVlc3Q6IGZ1bmN0aW9uKG1hdGNoZWRSZXF1ZXN0SW5kZXgsIHJldmVhbCkK
KyAgICAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge0FycmF5LjxXZWJJbnNwZWN0b3IuTmV0d29y
a1JlcXVlc3Q+fSByZXF1ZXN0cworICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gcmV2ZWFsCisgICAg
ICogQHBhcmFtIHtSZWdFeHA9fSByZWdFeHAKKyAgICAgKi8KKyAgICBfaGlnaGxpZ2h0TWF0Y2hl
ZFJlcXVlc3RzOiBmdW5jdGlvbihyZXF1ZXN0cywgcmV2ZWFsLCByZWdFeHApCiAgICAgewogICAg
ICAgICBpZiAodGhpcy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFuZ2VzKSB7Ci0gICAgICAgICAg
ICBXZWJJbnNwZWN0b3IucmV2ZXJ0RG9tQ2hhbmdlcyh0aGlzLl9oaWdobGlnaHRlZFN1YnN0cmlu
Z0NoYW5nZXMpOworICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9oaWdobGln
aHRlZFN1YnN0cmluZ0NoYW5nZXMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLnJldmVydERvbUNoYW5nZXModGhpcy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFuZ2Vz
W2ldKTsKICAgICAgICAgICAgIHRoaXMuX2hpZ2hsaWdodGVkU3Vic3RyaW5nQ2hhbmdlcyA9IG51
bGw7CiAgICAgICAgIH0KLQotICAgICAgICBpZiAobWF0Y2hlZFJlcXVlc3RJbmRleCA9PT0gLTEp
IHsKLSAgICAgICAgICAgIHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4ID0gbWF0Y2hl
ZFJlcXVlc3RJbmRleDsKKyAgICAgICAgaWYgKCFyZWdFeHApCiAgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIHRoaXMuX2hpZ2hsaWdodGVkU3Vic3RyaW5nQ2hhbmdlcyA9IFtdOworICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHJlcXVlc3RzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAg
ICB2YXIgcmVxdWVzdCA9IHJlcXVlc3RzW2ldOworICAgICAgICAgICAgdmFyIG5vZGUgPSB0aGlz
Ll9yZXF1ZXN0R3JpZE5vZGUocmVxdWVzdCk7CisgICAgICAgICAgICBpZiAobm9kZSkgeworICAg
ICAgICAgICAgICAgIHZhciBuYW1lTWF0Y2hlZCA9IHJlcXVlc3QuZGlzcGxheU5hbWUgJiYgcmVx
dWVzdC5kaXNwbGF5TmFtZS5tYXRjaChyZWdFeHApOworICAgICAgICAgICAgICAgIHZhciBwYXRo
TWF0Y2hlZCA9IHJlcXVlc3QucGFyc2VkVVJMLnBhdGggJiYgcmVxdWVzdC5mb2xkZXIubWF0Y2go
cmVnRXhwKTsKKyAgICAgICAgICAgICAgICBpZiAoIW5hbWVNYXRjaGVkICYmIHBhdGhNYXRjaGVk
ICYmICF0aGlzLl9sYXJnZXJSZXF1ZXN0c0J1dHRvbi50b2dnbGVkKQorICAgICAgICAgICAgICAg
ICAgICB0aGlzLl90b2dnbGVMYXJnZXJSZXF1ZXN0cygpOworICAgICAgICAgICAgICAgIHZhciBo
aWdobGlnaHRlZFN1YnN0cmluZ0NoYW5nZXMgPSBub2RlLl9oaWdobGlnaHRNYXRjaGVkU3Vic3Ry
aW5nKHJlZ0V4cCk7CisgICAgICAgICAgICAgICAgdGhpcy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdD
aGFuZ2VzLnB1c2goaGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFuZ2VzKTsKKyAgICAgICAgICAgICAg
ICBpZiAocmV2ZWFsKQorICAgICAgICAgICAgICAgICAgICBub2RlLnJldmVhbCgpOworICAgICAg
ICAgICAgfQogICAgICAgICB9CisgICAgfSwKIAotICAgICAgICB2YXIgcmVxdWVzdCA9IHRoaXMu
X3JlcXVlc3RzQnlJZFt0aGlzLl9tYXRjaGVkUmVxdWVzdHNbbWF0Y2hlZFJlcXVlc3RJbmRleF1d
OworICAgIC8qKgorICAgICAqIEBwYXJhbSB7bnVtYmVyfSBtYXRjaGVkUmVxdWVzdEluZGV4Cisg
ICAgICogQHBhcmFtIHtib29sZWFufSByZXZlYWwKKyAgICAgKi8KKyAgICBfaGlnaGxpZ2h0TnRo
TWF0Y2hlZFJlcXVlc3RGb3JTZWFyY2g6IGZ1bmN0aW9uKG1hdGNoZWRSZXF1ZXN0SW5kZXgsIHJl
dmVhbCkKKyAgICB7CisgICAgICAgIHZhciByZXF1ZXN0ID0gdGhpcy5yZXF1ZXN0QnlJZCh0aGlz
Ll9tYXRjaGVkUmVxdWVzdHNbbWF0Y2hlZFJlcXVlc3RJbmRleF0pOwogICAgICAgICBpZiAoIXJl
cXVlc3QpCiAgICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdmFyIG5hbWVNYXRjaGVkID0g
cmVxdWVzdC5kaXNwbGF5TmFtZSAmJiByZXF1ZXN0LmRpc3BsYXlOYW1lLm1hdGNoKHRoaXMuX3Nl
YXJjaFJlZ0V4cCk7Ci0gICAgICAgIHZhciBwYXRoTWF0Y2hlZCA9IHJlcXVlc3QucGFyc2VkVVJM
LnBhdGggJiYgcmVxdWVzdC5mb2xkZXIubWF0Y2godGhpcy5fc2VhcmNoUmVnRXhwKTsKLSAgICAg
ICAgaWYgKCFuYW1lTWF0Y2hlZCAmJiBwYXRoTWF0Y2hlZCAmJiAhdGhpcy5fbGFyZ2VyUmVxdWVz
dHNCdXR0b24udG9nZ2xlZCkKLSAgICAgICAgICAgIHRoaXMuX3RvZ2dsZUxhcmdlclJlcXVlc3Rz
KCk7Ci0KKyAgICAgICAgdGhpcy5faGlnaGxpZ2h0TWF0Y2hlZFJlcXVlc3RzKFtyZXF1ZXN0XSwg
cmV2ZWFsLCB0aGlzLl9zZWFyY2hSZWdFeHApOwogICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX3Jl
cXVlc3RHcmlkTm9kZShyZXF1ZXN0KTsKLSAgICAgICAgaWYgKG5vZGUpIHsKLSAgICAgICAgICAg
IHRoaXMuX2hpZ2hsaWdodGVkU3Vic3RyaW5nQ2hhbmdlcyA9IG5vZGUuX2hpZ2hsaWdodE1hdGNo
ZWRTdWJzdHJpbmcodGhpcy5fc2VhcmNoUmVnRXhwKTsKLSAgICAgICAgICAgIGlmIChyZXZlYWwp
Ci0gICAgICAgICAgICAgICAgbm9kZS5yZXZlYWwoKTsKKyAgICAgICAgaWYgKG5vZGUpCiAgICAg
ICAgICAgICB0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJbmRleCA9IG1hdGNoZWRSZXF1ZXN0
SW5kZXg7Ci0gICAgICAgIH0KKwogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVy
cyhXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcuRXZlbnRUeXBlcy5TZWFyY2hJbmRleFVwZGF0
ZWQsIHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4KTsKICAgICB9LAogCkBAIC0xMTMz
LDcgKzExNTMsNiBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewog
ICAgICAgICAgICAgY3VycmVudE1hdGNoZWRSZXF1ZXN0SWQgPSB0aGlzLl9tYXRjaGVkUmVxdWVz
dHNbdGhpcy5fY3VycmVudE1hdGNoZWRSZXF1ZXN0SW5kZXhdOwogCiAgICAgICAgIHRoaXMuX3Nl
YXJjaFJlZ0V4cCA9IGNyZWF0ZVBsYWluVGV4dFNlYXJjaFJlZ2V4KHNlYXJjaFF1ZXJ5LCAiaSIp
OwotCiAgICAgICAgIHRoaXMuX2NsZWFyU2VhcmNoTWF0Y2hlZExpc3QoKTsKIAogICAgICAgICB2
YXIgY2hpbGROb2RlcyA9IHRoaXMuX2RhdGFHcmlkLmRhdGFUYWJsZUJvZHkuY2hpbGROb2RlczsK
QEAgLTExNDMsMjcgKzExNjIsNDkgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3Rv
dHlwZSA9IHsKICAgICAgICAgICAgIHZhciBkYXRhR3JpZE5vZGUgPSB0aGlzLl9kYXRhR3JpZC5k
YXRhR3JpZE5vZGVGcm9tTm9kZShyZXF1ZXN0Tm9kZXNbaV0pOwogICAgICAgICAgICAgaWYgKGRh
dGFHcmlkTm9kZS5pc0ZpbHRlcmVkT3V0KCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0K
ICAgICAgICAgICAgIGlmICh0aGlzLl9tYXRjaFJlcXVlc3QoZGF0YUdyaWROb2RlLl9yZXF1ZXN0
KSAhPT0gLTEgJiYgZGF0YUdyaWROb2RlLl9yZXF1ZXN0LnJlcXVlc3RJZCA9PT0gY3VycmVudE1h
dGNoZWRSZXF1ZXN0SWQpCiAgICAgICAgICAgICAgICAgbmV3TWF0Y2hlZFJlcXVlc3RJbmRleCA9
IHRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5ndGggLSAxOwogICAgICAgICB9CiAKICAgICAgICAg
dGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3
LkV2ZW50VHlwZXMuU2VhcmNoQ291bnRVcGRhdGVkLCB0aGlzLl9tYXRjaGVkUmVxdWVzdHMubGVu
Z3RoKTsKLSAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJlcXVlc3QobmV3TWF0Y2hl
ZFJlcXVlc3RJbmRleCwgZmFsc2UpOworICAgICAgICB0aGlzLl9oaWdobGlnaHROdGhNYXRjaGVk
UmVxdWVzdEZvclNlYXJjaChuZXdNYXRjaGVkUmVxdWVzdEluZGV4LCBmYWxzZSk7CiAgICAgfSwK
IAorICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBxdWVyeQorICAgICAqLworICAgIHBl
cmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KSB7CisgICAgICAgIHRoaXMuX2ZpbHRlcmVkT3V0
UmVxdWVzdHMuY2xlYXIoKTsKKyAgICAgICAgdmFyIGZpbHRlclJlZ0V4cCA9IGNyZWF0ZVBsYWlu
VGV4dFNlYXJjaFJlZ2V4KHF1ZXJ5LCAiaSIpOworICAgICAgICB2YXIgc2hvd25SZXF1ZXN0cyA9
IFtdOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2RhdGFHcmlkLnJvb3ROb2Rl
KCkuY2hpbGRyZW4ubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5f
ZGF0YUdyaWQucm9vdE5vZGUoKS5jaGlsZHJlbltpXTsKKyAgICAgICAgICAgIG5vZGUuZWxlbWVu
dC5yZW1vdmVTdHlsZUNsYXNzKCJmaWx0ZXJlZC1vdXQiKTsKKyAgICAgICAgICAgIHZhciBuYW1l
TWF0Y2hlZCA9IG5vZGUuX3JlcXVlc3QuZGlzcGxheU5hbWUgJiYgbm9kZS5fcmVxdWVzdC5kaXNw
bGF5TmFtZS5tYXRjaChmaWx0ZXJSZWdFeHApOworICAgICAgICAgICAgdmFyIHBhdGhNYXRjaGVk
ID0gbm9kZS5fcmVxdWVzdC5wYXJzZWRVUkwucGF0aCAmJiBub2RlLl9yZXF1ZXN0LmZvbGRlci5t
YXRjaChmaWx0ZXJSZWdFeHApOworICAgICAgICAgICAgaWYgKCFuYW1lTWF0Y2hlZCAmJiAhcGF0
aE1hdGNoZWQpIHsKKyAgICAgICAgICAgICAgICBub2RlLmVsZW1lbnQuYWRkU3R5bGVDbGFzcygi
ZmlsdGVyZWQtb3V0Iik7CisgICAgICAgICAgICAgICAgdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0
cy5wdXQodGhpcy5fcmVxdWVzdHNbaV0sIHRydWUpOworICAgICAgICAgICAgfSBlbHNlIAorICAg
ICAgICAgICAgICAgIHNob3duUmVxdWVzdHMucHVzaChub2RlLl9yZXF1ZXN0KTsKKyAgICAgICAg
fQorICAgICAgICB0aGlzLl9oaWdobGlnaHRNYXRjaGVkUmVxdWVzdHMoc2hvd25SZXF1ZXN0cywg
ZmFsc2UsIHF1ZXJ5ID8gZmlsdGVyUmVnRXhwIDogbnVsbCk7CisgICAgICAgIHRoaXMuX3VwZGF0
ZVN1bW1hcnlCYXIoKTsKKyAgICAgICAgdGhpcy5fdXBkYXRlT2Zmc2NyZWVuUm93cygpOworICAg
IH0sCisgICAgCiAgICAganVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKCkKICAg
ICB7CiAgICAgICAgIGlmICghdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCkKICAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJlcXVlc3QoKHRo
aXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4ICsgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxl
bmd0aCAtIDEpICUgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCwgdHJ1ZSk7CisgICAgICAg
IHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0Rm9yU2VhcmNoKCh0aGlzLl9jdXJyZW50
TWF0Y2hlZFJlcXVlc3RJbmRleCArIHRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5ndGggLSAxKSAl
IHRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5ndGgsIHRydWUpOwogICAgIH0sCiAKICAgICBqdW1w
VG9OZXh0U2VhcmNoUmVzdWx0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMu
X21hdGNoZWRSZXF1ZXN0cy5sZW5ndGgpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHRo
aXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KCh0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVl
c3RJbmRleCArIDEpICUgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCwgdHJ1ZSk7CisgICAg
ICAgIHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0Rm9yU2VhcmNoKCh0aGlzLl9jdXJy
ZW50TWF0Y2hlZFJlcXVlc3RJbmRleCArIDEpICUgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0
aCwgdHJ1ZSk7CiAgICAgfSwKIAogICAgIHNlYXJjaENhbmNlbGVkOiBmdW5jdGlvbigpCkBAIC0x
NDA1LDExICsxNDQ2LDIxIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlID0g
ewogICAgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5zd2l0Y2hUb0JyaWVmVmlldygpOwogICAg
IH0sCiAKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gc2VhcmNoUXVlcnkKKyAgICAg
Ki8gICAgCiAgICAgcGVyZm9ybVNlYXJjaDogZnVuY3Rpb24oc2VhcmNoUXVlcnkpCiAgICAgewog
ICAgICAgICB0aGlzLl9uZXR3b3JrTG9nVmlldy5wZXJmb3JtU2VhcmNoKHNlYXJjaFF1ZXJ5KTsK
ICAgICB9LAotCisgICAgCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5Cisg
ICAgICovICAgIAorICAgIHBlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KXsKKyAgICAgICAg
dGhpcy5fbmV0d29ya0xvZ1ZpZXcucGVyZm9ybUZpbHRlcihxdWVyeSk7CisgICAgfSwKKyAgICAK
ICAgICBqdW1wVG9QcmV2aW91c1NlYXJjaFJlc3VsdDogZnVuY3Rpb24oKQogICAgIHsKICAgICAg
ICAgdGhpcy5fbmV0d29ya0xvZ1ZpZXcuanVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQoKTsKQEAg
LTE3MjIsNiArMTc3Myw4IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWROb2RlLnByb3Rv
dHlwZSA9IHsKIAogICAgIGlzRmlsdGVyZWRPdXQ6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAg
IGlmICh0aGlzLl9wYXJlbnRWaWV3Ll9maWx0ZXJlZE91dFJlcXVlc3RzLmdldCh0aGlzLl9yZXF1
ZXN0KSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBpZiAoIXRoaXMuX3BhcmVu
dFZpZXcuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWVzdC50eXBlLm5hbWUoKSBpbiB0aGlzLl9wYXJlbnRW
aWV3Ll9oaWRkZW5DYXRlZ29yaWVzOwpAQCAtMTczNiw4ICsxNzg5LDkgQEAgV2ViSW5zcGVjdG9y
Lk5ldHdvcmtEYXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogICAgIF9oaWdobGlnaHRNYXRjaGVk
U3Vic3RyaW5nOiBmdW5jdGlvbihyZWdleHApCiAgICAgewogICAgICAgICB2YXIgZG9tQ2hhbmdl
cyA9IFtdOwotICAgICAgICB2YXIgbWF0Y2hJbmZvID0gdGhpcy5fbmFtZUNlbGwudGV4dENvbnRl
bnQubWF0Y2gocmVnZXhwKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmhpZ2hsaWdodFNlYXJjaFJl
c3VsdCh0aGlzLl9uYW1lQ2VsbCwgbWF0Y2hJbmZvLmluZGV4LCBtYXRjaEluZm9bMF0ubGVuZ3Ro
LCBkb21DaGFuZ2VzKTsKKyAgICAgICAgdmFyIG1hdGNoSW5mbyA9IHRoaXMuX2VsZW1lbnQudGV4
dENvbnRlbnQubWF0Y2gocmVnZXhwKTsKKyAgICAgICAgaWYgKG1hdGNoSW5mbykKKyAgICAgICAg
ICAgIFdlYkluc3BlY3Rvci5oaWdobGlnaHRTZWFyY2hSZXN1bHQodGhpcy5fbmFtZUNlbGwsIG1h
dGNoSW5mby5pbmRleCwgbWF0Y2hJbmZvWzBdLmxlbmd0aCwgZG9tQ2hhbmdlcyk7CiAgICAgICAg
IHJldHVybiBkb21DaGFuZ2VzOwogICAgIH0sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcwppbmRleCBkMThlMjgwZTFh
NjZkNGEyZmUzMTcwZDgyYjFhOTEzNGM0MmNkMWRlLi41MGMxY2E2ZTM3NGMzY2RiMDg5YjZhNmJm
MmZjMzlmMTg5Y2VhNmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NlYXJjaENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzCkBAIC00MiwxMSArNDIsMTggQEAgV2ViSW5z
cGVjdG9yLlNlYXJjaENvbnRyb2xsZXIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fc2Vjb25kUm93
RWxlbWVudCA9IHRoaXMuX2VsZW1lbnQuY3JlYXRlQ2hpbGQoInRyIiwgImhpZGRlbiIpOwogCiAg
ICAgLy8gQ29sdW1uIDEKLSAgICB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudCA9IHRoaXMuX2Zp
cnN0Um93RWxlbWVudC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgic3BhbiIsICJ0b29s
YmFyLXNlYXJjaC1jb250cm9sIik7CisgICAgdmFyIHNlYXJjaENvbnRyb2xFbGVtZW50Q29sdW1u
ID0gdGhpcy5fZmlyc3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpOyAKKyAgICB0aGlzLl9z
ZWFyY2hDb250cm9sRWxlbWVudCA9IHNlYXJjaENvbnRyb2xFbGVtZW50Q29sdW1uLmNyZWF0ZUNo
aWxkKCJzcGFuIiwgInRvb2xiYXItc2VhcmNoLWNvbnRyb2wiKTsKICAgICB0aGlzLl9zZWFyY2hJ
bnB1dEVsZW1lbnQgPSB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudC5jcmVhdGVDaGlsZCgiaW5w
dXQiLCAic2VhcmNoLXJlcGxhY2UiKTsKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuaWQg
PSAic2VhcmNoLWlucHV0LWZpZWxkIjsKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQucGxh
Y2Vob2xkZXIgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZpbmQiKTsKIAorICAgIHRoaXMuX2Zp
bHRlckNvbnRyb2xFbGVtZW50ID0gc2VhcmNoQ29udHJvbEVsZW1lbnRDb2x1bW4uY3JlYXRlQ2hp
bGQoInNwYW4iLCAidG9vbGJhci1zZWFyY2gtY29udHJvbCIpOworICAgIHRoaXMuX2ZpbHRlckNv
bnRyb2xFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgIHRoaXMuX2ZpbHRlcklu
cHV0RWxlbWVudCA9IHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50LmNyZWF0ZUNoaWxkKCJpbnB1
dCIsICJmaWx0ZXIiKTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuaWQgPSAiZmlsdGVy
LWlucHV0LWZpZWxkIjsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQucGxhY2Vob2xkZXIg
PSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZpbHRlciIpOworCiAgICAgdGhpcy5fbWF0Y2hlc0Vs
ZW1lbnQgPSB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudC5jcmVhdGVDaGlsZCgibGFiZWwiLCAi
c2VhcmNoLXJlc3VsdHMtbWF0Y2hlcyIpOwogICAgIHRoaXMuX21hdGNoZXNFbGVtZW50LnNldEF0
dHJpYnV0ZSgiZm9yIiwgInNlYXJjaC1pbnB1dC1maWVsZCIpOwogCkBAIC02Miw3ICs2OSw5IEBA
IFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyID0gZnVuY3Rpb24oKQogCiAgICAgdGhpcy5f
c2VhcmNoSW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX29u
U2VhcmNoRmllbGRNYW51YWxGb2N1cy5iaW5kKHRoaXMpLCBmYWxzZSk7IC8vIHdoZW4gdGhlIHNl
YXJjaCBmaWVsZCBpcyBtYW51YWxseSBzZWxlY3RlZAogICAgIHRoaXMuX3NlYXJjaElucHV0RWxl
bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5fb25LZXlEb3duLmJpbmQodGhp
cyksIHRydWUpOwotICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVy
KCJpbnB1dCIsIHRoaXMuX29uSW5wdXQuYmluZCh0aGlzKSwgZmFsc2UpOworICAgIHRoaXMuX2Zp
bHRlcklucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5fb25LZXlE
b3duLmJpbmQodGhpcyksIHRydWUpOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5hZGRF
dmVudExpc3RlbmVyKCJpbnB1dCIsIHRoaXMuX29uRmlsdGVySW5wdXQuYmluZCh0aGlzKSwgZmFs
c2UpOworICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJpbnB1
dCIsIHRoaXMuX29uU2VhcmNoSW5wdXQuYmluZCh0aGlzKSwgZmFsc2UpOwogCiAgICAgdGhpcy5f
cmVwbGFjZUlucHV0RWxlbWVudCA9IHRoaXMuX3NlY29uZFJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQo
InRkIikuY3JlYXRlQ2hpbGQoImlucHV0IiwgInNlYXJjaC1yZXBsYWNlIHRvb2xiYXItcmVwbGFj
ZS1jb250cm9sIik7CiAgICAgdGhpcy5fcmVwbGFjZUlucHV0RWxlbWVudC5hZGRFdmVudExpc3Rl
bmVyKCJrZXlkb3duIiwgdGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyksIHRydWUpOwpAQCAtMTA0
LDYgKzExMywxOCBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlciA9IGZ1bmN0aW9uKCkK
ICAgICB0aGlzLl9yZXBsYWNlTGFiZWxFbGVtZW50LnNldEF0dHJpYnV0ZSgiZm9yIiwgInNlYXJj
aC1yZXBsYWNlLXRyaWdnZXIiKTsKIAogICAgIC8vIENvbHVtbiA1CisgICAgdGhpcy5fZmlsdGVy
Q2hlY2tib3hDb250YWluZXIgPSB0aGlzLl9maXJzdFJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRk
IikuY3JlYXRlQ2hpbGQoInNwYW4iKTsKKworICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVu
dCA9IHRoaXMuX2ZpbHRlckNoZWNrYm94Q29udGFpbmVyLmNyZWF0ZUNoaWxkKCJpbnB1dCIpOwor
ICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC50eXBlID0gImNoZWNrYm94IjsKKyAgICB0
aGlzLl9maWx0ZXJDaGVja2JveEVsZW1lbnQuaWQgPSAiZmlsdGVyLXRyaWdnZXIiOworICAgIHRo
aXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMu
X2ZpbHRlckNoZWNrYm94Q2xpY2suYmluZCh0aGlzKSwgZmFsc2UpOworICAKKyAgICB0aGlzLl9m
aWx0ZXJMYWJlbEVsZW1lbnQgPSB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lci5jcmVhdGVD
aGlsZCgibGFiZWwiKTsKKyAgICB0aGlzLl9maWx0ZXJMYWJlbEVsZW1lbnQudGV4dENvbnRlbnQg
PSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZpbHRlciIpOworICAgIHRoaXMuX2ZpbHRlckxhYmVs
RWxlbWVudC5zZXRBdHRyaWJ1dGUoImZvciIsICJmaWx0ZXItdHJpZ2dlciIpOworCisgICAgLy8g
Q29sdW1uIDYKICAgICB2YXIgY2FuY2VsQnV0dG9uRWxlbWVudCA9IHRoaXMuX2ZpcnN0Um93RWxl
bWVudC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgiYnV0dG9uIik7CiAgICAgY2FuY2Vs
QnV0dG9uRWxlbWVudC50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ2FuY2Vs
Iik7CiAgICAgY2FuY2VsQnV0dG9uRWxlbWVudC50YWJJbmRleCA9IC0xOwpAQCAtMTMyLDYgKzE1
MywxMCBAQCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAg
ewogICAgICAgICBpZiAoIXRoaXMuX3NlYXJjaElzVmlzaWJsZSkKICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgaWYgKHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5jaGVja2VkKSB7Cisg
ICAgICAgICAgICB0aGlzLl9maWx0ZXJDaGVja2JveEVsZW1lbnQuY2hlY2tlZCA9IGZhbHNlOwor
ICAgICAgICAgICAgdGhpcy5fc3dpdGNoRmlsdGVyVG9TZWFyY2goKTsKKyAgICAgICAgfSAKICAg
ICAgICAgZGVsZXRlIHRoaXMuX3NlYXJjaElzVmlzaWJsZTsKICAgICAgICAgV2ViSW5zcGVjdG9y
Lmluc3BlY3RvclZpZXcuc2V0Rm9vdGVyRWxlbWVudChudWxsKTsKICAgICAgICAgdGhpcy5yZXNl
dFNlYXJjaCgpOwpAQCAtMjIzLDExICsyNDgsNDAgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRy
b2xsZXIucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3Rv
clZpZXcuc2V0Rm9vdGVyRWxlbWVudCh0aGlzLl9lbGVtZW50KTsKICAgICAgICAgdGhpcy5fdXBk
YXRlUmVwbGFjZVZpc2liaWxpdHkoKTsKKyAgICAgICAgdGhpcy5fdXBkYXRlRmlsdGVyVmlzaWJp
bGl0eSgpOwogICAgICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuZm9jdXMoKTsKICAgICAg
ICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LnNlbGVjdCgpOwogICAgICAgICB0aGlzLl9zZWFy
Y2hJc1Zpc2libGUgPSB0cnVlOwogICAgIH0sCiAKKyAgICBfc3dpdGNoRmlsdGVyVG9TZWFyY2g6
IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50LmFk
ZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVu
dC5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAgICAgICAgdGhpcy5fc2VhcmNoSW5wdXRF
bGVtZW50LmZvY3VzKCk7CisgICAgICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5zZWxlY3Qo
KTsKKyAgICAgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5fZmlsdGVy
SW5wdXRFbGVtZW50LnZhbHVlOworICAgICAgICB0aGlzLnJlc2V0RmlsdGVyKCk7CisgICAgfSwK
KworICAgIF9zd2l0Y2hTZWFyY2hUb0ZpbHRlcjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAg
dGhpcy5fZmlsdGVyQ29udHJvbEVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7Cisg
ICAgICAgIHRoaXMuX3NlYXJjaENvbnRyb2xFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIp
OworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgdGhp
cy5fZmlsdGVySW5wdXRFbGVtZW50LnNlbGVjdCgpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1
dEVsZW1lbnQudmFsdWUgPSB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQudmFsdWU7CisgICAgICAg
IHRoaXMucmVzZXRTZWFyY2goKTsKKyAgICB9LAorICAgIAorICAgIF91cGRhdGVGaWx0ZXJWaXNp
YmlsaXR5OiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBpZiAodHlwZW9mIFdlYkluc3BlY3Rv
ci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1GaWx0ZXIgPT09ICJmdW5jdGlv
biIpCisgICAgICAgICAgICB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lci5yZW1vdmVTdHls
ZUNsYXNzKCJoaWRkZW4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5fZmlsdGVy
Q2hlY2tib3hDb250YWluZXIuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgfSwKKyAgCiAg
ICAgX3VwZGF0ZVJlcGxhY2VWaXNpYmlsaXR5OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB2
YXIgcGFuZWwgPSBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwoKTsKQEAg
LTI2NSwxMSArMzE5LDYgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBl
ID0gewogICAgICAgICB9CiAgICAgfSwKIAotICAgIF9vbklucHV0OiBmdW5jdGlvbihldmVudCkK
LSAgICB7Ci0gICAgICAgIHRoaXMuX3BlcmZvcm1TZWFyY2goZXZlbnQudGFyZ2V0LnZhbHVlLCBm
YWxzZSwgZmFsc2UpOwotICAgIH0sCi0KICAgICBfb25OZXh0QnV0dG9uU2VhcmNoOiBmdW5jdGlv
bihldmVudCkKICAgICB7CiAgICAgICAgIC8vIFNpbXVsYXRlIG5leHQgc2VhcmNoIG9uIHNlYXJj
aC1uYXZpZ2F0aW9uLWJ1dHRvbiBjbGljay4KQEAgLTM2NCw2ICs0MTMsNDIgQEAgV2ViSW5zcGVj
dG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIGN1
cnJlbnRQYW5lbCA9IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpOwog
ICAgICAgICBjdXJyZW50UGFuZWwucmVwbGFjZUFsbFdpdGgodGhpcy5fc2VhcmNoSW5wdXRFbGVt
ZW50LnZhbHVlLCB0aGlzLl9yZXBsYWNlSW5wdXRFbGVtZW50LnZhbHVlKTsKKyAgICB9LAorICAK
KyAgICBfZmlsdGVyQ2hlY2tib3hDbGljazogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYg
KHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5jaGVja2VkKSB7IAorICAgICAgICAgICAgdGhp
cy5fc3dpdGNoU2VhcmNoVG9GaWx0ZXIoKTsKKyAgICAgICAgICAgIHRoaXMuX3BlcmZvcm1GaWx0
ZXIodGhpcy5fZmlsdGVySW5wdXRFbGVtZW50LnZhbHVlKTsKKyAgICAgICAgfQorICAgICAgICBl
bHNlIHsKKyAgICAgICAgICAgIHRoaXMuX3N3aXRjaEZpbHRlclRvU2VhcmNoKCk7CisgICAgICAg
ICAgICB0aGlzLl9wZXJmb3JtU2VhcmNoKHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC52YWx1ZSwg
ZmFsc2UsIGZhbHNlKTsKKyAgICAgICAgfQorICAgIH0sCisgICAgCisgICAgLyoqCisgICAgICog
QHBhcmFtIHtzdHJpbmd9IHF1ZXJ5CisgICAgICovCisgICAgX3BlcmZvcm1GaWx0ZXI6IGZ1bmN0
aW9uKHF1ZXJ5KQorICAgIHsKKyAgICAgICAgaWYgKHR5cGVvZiBXZWJJbnNwZWN0b3IuaW5zcGVj
dG9yVmlldy5jdXJyZW50UGFuZWwoKS5wZXJmb3JtRmlsdGVyID09PSAiZnVuY3Rpb24iKQorICAg
ICAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkucGVyZm9y
bUZpbHRlcihxdWVyeSk7CisgICAgfSwKKyAgCisgICAgX29uRmlsdGVySW5wdXQ6IGZ1bmN0aW9u
KGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fcGVyZm9ybUZpbHRlcihldmVudC50YXJnZXQu
dmFsdWUpOworICAgIH0sCisgIAorICAgIF9vblNlYXJjaElucHV0OiBmdW5jdGlvbihldmVudCkK
KyAgICB7CisgICAgICAgIHRoaXMuX3BlcmZvcm1TZWFyY2goZXZlbnQudGFyZ2V0LnZhbHVlLCBm
YWxzZSwgZmFsc2UpOworICAgIH0sCisgICAgCisgICAgcmVzZXRGaWx0ZXI6IGZ1bmN0aW9uKCkK
KyAgICB7CisgICAgICAgIHRoaXMuX3BlcmZvcm1GaWx0ZXIoIiIpOwogICAgIH0KIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3Nz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCmluZGV4
IGVhNWVlZGM0NGU1MmY0NTZmZTYwNGNkODE5MzE0OTM2YzJjNTY1OWYuLmZiZjk2NzNiNzRhOGE3
NTZjZDcxODM0NTZmNjEwMDdlYjJjMTdkZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKQEAgLTI3MSw2ICsyNzEsMTQgQEAgYm9keS5k
ZXRhY2hlZC5wbGF0Zm9ybS1tYWMtc25vd2xlb3BhcmQgI3Rvb2xiYXItZHJvcGRvd24gewogICAg
IHdpZHRoOiAxNjVweDsKIH0KIAorLmZpbHRlciB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBu
b25lOworICAgIGJvcmRlcjogMDsKKyAgICBwYWRkaW5nOiAwIDJweDsKKyAgICBtYXJnaW46IDA7
CisgICAgd2lkdGg6IDI1MXB4OworfQorCiAuc2VhcmNoLXJlcGxhY2U6Zm9jdXMgewogICAgIG91
dGxpbmU6IG5vbmU7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL25ldHdvcmtMb2dWaWV3LmNzcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzCmluZGV4IGY0NTQxOTRlMWIwOTZiMjI0MGYyYjM0MGQy
MjNjYmRjOGEyY2UwODcuLmQxYzEwZDJiYmZmZTQ5MzNkYTk3NzFmODczODIzMzNkNjkwYzJjMGMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xv
Z1ZpZXcuY3NzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29y
a0xvZ1ZpZXcuY3NzCkBAIC00NzAsMTUgKzQ3MCwxNSBAQAogICAgIGRpc3BsYXk6IG5vbmU7CiB9
CiAKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItYWxsIHRhYmxlLmRhdGEgdHIu
cmV2ZWFsZWQubmV0d29yay1pdGVtLAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRl
ci1kb2N1bWVudCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1kb2N1bWVudCwK
LS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItc3R5bGVzaGVldCB0YWJsZS5kYXRh
IHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1zdHlsZXNoZWV0LAotLm5ldHdvcmstbG9nLWdyaWQu
ZGF0YS1ncmlkLmZpbHRlci1pbWFnZSB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlw
ZS1pbWFnZSwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItc2NyaXB0IHRhYmxl
LmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXNjcmlwdCwKLS5uZXR3b3JrLWxvZy1ncmlk
LmRhdGEtZ3JpZC5maWx0ZXIteGhyIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBl
LXhociwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItZm9udCB0YWJsZS5kYXRh
IHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1mb250LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1n
cmlkLmZpbHRlci13ZWJzb2NrZXQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUt
d2Vic29ja2V0LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1vdGhlciB0YWJs
ZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1vdGhlciB7CisubmV0d29yay1sb2ctZ3Jp
ZC5kYXRhLWdyaWQuZmlsdGVyLWFsbCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstaXRl
bTpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVy
LWRvY3VtZW50IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLWRvY3VtZW50Om5v
dCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItc3R5
bGVzaGVldCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1zdHlsZXNoZWV0Om5v
dCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItaW1h
Z2UgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtaW1hZ2U6bm90KC5maWx0ZXJl
ZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1zY3JpcHQgdGFibGUu
ZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtc2NyaXB0Om5vdCguZmlsdGVyZWQtb3V0KSwK
Ky5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXIteGhyIHRhYmxlLmRhdGEgdHIucmV2
ZWFsZWQubmV0d29yay10eXBlLXhocjpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ct
Z3JpZC5kYXRhLWdyaWQuZmlsdGVyLWZvbnQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3Jr
LXR5cGUtZm9udDpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdy
aWQuZmlsdGVyLXdlYnNvY2tldCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS13
ZWJzb2NrZXQ6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlk
LmZpbHRlci1vdGhlciB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1vdGhlcjpu
b3QoLmZpbHRlcmVkLW91dCkgewogICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159057</attachid>
            <date>2012-08-17 02:32:09 -0700</date>
            <delta_ts>2012-08-17 03:55:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93090-20120817133132.patch</filename>
            <type>text/plain</type>
            <size>22430</size>
            <attacher name="Pavel Chadnov">chadnov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUxYzViM2ZlMTdhNTM0
NjMyNWExNzYyNTA0M2EzMDRjNmUzMzIyYy4uYTc1YWI2ZDkwNmI4MTZjY2M1Yjk2NjRkYjdiN2Fk
YTcxNjk2NjIxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDEyLTA4LTE3ICBQYXZl
bCBDaGFkbm92ICA8Y2hhZG5vdkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6
IHJlcXVlc3RzIGZpbHRlcmluZyBpbiBuZXR3b3JrIHRhYgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTMwOTAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmaWx0ZXJpbmcgc3VwcG9ydCB0byBzZWFy
Y2ggcGFuZWwuCisgICAgICAgIEltcGxlbWVudGVkIGZpbHRlcmluZyBmb3IgbmV0d29yayBwYW5l
bC4KKyAgICAgICAgCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9jbGVh
clNlYXJjaE1hdGNoZWRMaXN0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUuX3VwZGF0ZUhpZ2hsaWdodElmTWF0Y2hlZCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLl9oaWdobGlnaHRNYXRjaGVkUmVxdWVzdHMp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZS5faGlnaGxp
Z2h0TnRoTWF0Y2hlZFJlcXVlc3RGb3JTZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtMb2dWaWV3LnByb3RvdHlwZS5wZXJmb3JtU2VhcmNoKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUucGVyZm9ybUZpbHRlcik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlLmp1bXBUb1ByZXZpb3VzU2VhcmNo
UmVzdWx0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5cGUu
anVtcFRvTmV4dFNlYXJjaFJlc3VsdCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya1Bh
bmVsLnByb3RvdHlwZS5wZXJmb3JtRmlsdGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OZXR3
b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZS5faGlnaGxpZ2h0TWF0Y2hlZFN1YnN0cmluZyk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZWFyY2hDb250cm9sbGVyLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLmNhbmNlbFNlYXJjaCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuc2hvd1NlYXJjaEZpZWxkKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fc3dpdGNoRmls
dGVyVG9TZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJv
dG90eXBlLl9zd2l0Y2hTZWFyY2hUb0ZpbHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2Vh
cmNoQ29udHJvbGxlci5wcm90b3R5cGUuX3VwZGF0ZUZpbHRlclZpc2liaWxpdHkpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLl9yZXBsYWNlQWxsKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fZmlsdGVy
Q2hlY2tib3hDbGljayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5w
cm90b3R5cGUuX3BlcmZvcm1GaWx0ZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNlYXJjaENv
bnRyb2xsZXIucHJvdG90eXBlLl9vbkZpbHRlcklucHV0KToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5TZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5fb25TZWFyY2hJbnB1dCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUucmVzZXRGaWx0ZXIpOgorICAg
ICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmNzczoKKyAgICAgICAgKC5maWx0
ZXIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzOgor
ICAgICAgICAoLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1vdGhlciB0YWJsZS5k
YXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1vdGhlcjpub3QoLmZpbHRlcmVkLW91dCkpOgor
CiAyMDEyLTA4LTE0ICBBbGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1QGFkb2JlLmNvbT4KIAog
ICAgICAgICBMYXlvdXQgVGVzdCBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYW5p
bWF0aW9uLmh0bWwgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwppbmRleCAyZWZjMWRhZGY3NGYyNjU3YTQxMzk3ZTg2
MTI0NTMwOWM1NmFjNTIxLi45NzViNjE5OTcxNTBmNjJjOGZlMzdmMTgyMGVlZDBjYjAwMTI1YTg5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQ
YW5lbC5qcwpAQCAtNDgsNiArNDgsOCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZ1ZpZXcgPSBm
dW5jdGlvbigpCiAgICAgdGhpcy5fbWFpblJlcXVlc3RET01Db250ZW50VGltZSA9IC0xOwogICAg
IHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMgPSB7fTsKICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHMg
PSBbXTsKKyAgICB0aGlzLl9maWx0ZXJlZE91dFJlcXVlc3RzID0gbmV3IE1hcCgpOworICAgIAog
ICAgIHRoaXMuX21hdGNoZWRSZXF1ZXN0c01hcCA9IHt9OwogICAgIHRoaXMuX2N1cnJlbnRNYXRj
aGVkUmVxdWVzdEluZGV4ID0gLTE7CiAKQEAgLTM4NCw3ICszODYsNyBAQCBXZWJJbnNwZWN0b3Iu
TmV0d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgdmFyIHJlcXVlc3QgPSB0
aGlzLl9yZXF1ZXN0c1tpXTsKICAgICAgICAgICAgIHZhciByZXF1ZXN0VHJhbnNmZXJTaXplID0g
KHJlcXVlc3QuY2FjaGVkIHx8ICFyZXF1ZXN0LnRyYW5zZmVyU2l6ZSkgPyAwIDogcmVxdWVzdC50
cmFuc2ZlclNpemU7CiAgICAgICAgICAgICB0cmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVy
U2l6ZTsKLSAgICAgICAgICAgIGlmICghdGhpcy5faGlkZGVuQ2F0ZWdvcmllcy5hbGwgfHwgIXRo
aXMuX2hpZGRlbkNhdGVnb3JpZXNbcmVxdWVzdC50eXBlLm5hbWUoKV0pIHsKKyAgICAgICAgICAg
IGlmICgoIXRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsIHx8ICF0aGlzLl9oaWRkZW5DYXRlZ29y
aWVzW3JlcXVlc3QudHlwZS5uYW1lKCldKSAmJiAhdGhpcy5fZmlsdGVyZWRPdXRSZXF1ZXN0cy5n
ZXQocmVxdWVzdCkpIHsKICAgICAgICAgICAgICAgICBzZWxlY3RlZFJlcXVlc3RzTnVtYmVyKys7
CiAgICAgICAgICAgICAgICAgc2VsZWN0ZWRUcmFuc2ZlclNpemUgKz0gcmVxdWVzdFRyYW5zZmVy
U2l6ZTsKICAgICAgICAgICAgIH0KQEAgLTM5NCw3ICszOTYsNyBAQCBXZWJJbnNwZWN0b3IuTmV0
d29ya0xvZ1ZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIG1heFRpbWUgPSByZXF1
ZXN0LmVuZFRpbWU7CiAgICAgICAgIH0KICAgICAgICAgdmFyIHRleHQgPSAiIjsKLSAgICAgICAg
aWYgKHRoaXMuX2hpZGRlbkNhdGVnb3JpZXMuYWxsKSB7CisgICAgICAgIGlmIChzZWxlY3RlZFJl
cXVlc3RzTnVtYmVyICE9PSByZXF1ZXN0c051bWJlcikgewogICAgICAgICAgICAgdGV4dCArPSBT
dHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVkIC8gJWQgcmVxdWVzdHMiKSwg
c2VsZWN0ZWRSZXF1ZXN0c051bWJlciwgcmVxdWVzdHNOdW1iZXIpOwogICAgICAgICAgICAgdGV4
dCArPSAiICBcdTI3NTggICIgKyBTdHJpbmcuc3ByaW50ZihXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IiVzIC8gJXMgdHJhbnNmZXJyZWQiKSwgTnVtYmVyLmJ5dGVzVG9TdHJpbmcoc2VsZWN0ZWRUcmFu
c2ZlclNpemUpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0cmFuc2ZlclNpemUpKTsKICAgICAgICAg
fSBlbHNlIHsKQEAgLTEwNjcsNyArMTA2OSw3IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmll
dy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB0aGlzLl9tYXRjaGVkUmVxdWVzdHMgPSBb
XTsKICAgICAgICAgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzTWFwID0ge307Ci0gICAgICAgIHRoaXMu
X2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KC0xLCBmYWxzZSk7CisgICAgICAgIHRoaXMuX3Jl
bW92ZUFsbEhpZ2hsaWdodHMoKTsKICAgICB9LAogCiAgICAgX3VwZGF0ZVNlYXJjaE1hdGNoZWRM
aXN0QWZ0ZXJSZXF1ZXN0SWRDaGFuZ2VkOiBmdW5jdGlvbihvbGRSZXF1ZXN0SWQsIG5ld1JlcXVl
c3RJZCkKQEAgLTEwOTEsMzcgKzEwOTMsNTcgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3
LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdElu
ZGV4ICE9PSAtMSAmJiB0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJbmRleCAhPT0gbWF0Y2hl
ZFJlcXVlc3RJbmRleCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl9oaWdo
bGlnaHROdGhNYXRjaGVkUmVxdWVzdChtYXRjaGVkUmVxdWVzdEluZGV4LCBmYWxzZSk7CisgICAg
ICAgIHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0Rm9yU2VhcmNoKG1hdGNoZWRSZXF1
ZXN0SW5kZXgsIGZhbHNlKTsKICAgICB9LAogCi0gICAgX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1
ZXN0OiBmdW5jdGlvbihtYXRjaGVkUmVxdWVzdEluZGV4LCByZXZlYWwpCisgICAgX3JlbW92ZUFs
bEhpZ2hsaWdodHM6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIGlmICh0aGlzLl9oaWdobGln
aHRlZFN1YnN0cmluZ0NoYW5nZXMpIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5yZXZlcnRE
b21DaGFuZ2VzKHRoaXMuX2hpZ2hsaWdodGVkU3Vic3RyaW5nQ2hhbmdlcyk7CisgICAgICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX2hpZ2hsaWdodGVkU3Vic3RyaW5nQ2hhbmdlcy5s
ZW5ndGg7ICsraSkKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IucmV2ZXJ0RG9tQ2hhbmdl
cyh0aGlzLl9oaWdobGlnaHRlZFN1YnN0cmluZ0NoYW5nZXNbaV0pOwogICAgICAgICAgICAgdGhp
cy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFuZ2VzID0gbnVsbDsKICAgICAgICAgfQotCi0gICAg
ICAgIGlmIChtYXRjaGVkUmVxdWVzdEluZGV4ID09PSAtMSkgewotICAgICAgICAgICAgdGhpcy5f
Y3VycmVudE1hdGNoZWRSZXF1ZXN0SW5kZXggPSBtYXRjaGVkUmVxdWVzdEluZGV4OwotICAgICAg
ICAgICAgcmV0dXJuOworICAgIH0sCisgICAgCisgICAgLyoqCisgICAgICogQHBhcmFtIHtBcnJh
eS48V2ViSW5zcGVjdG9yLk5ldHdvcmtSZXF1ZXN0Pn0gcmVxdWVzdHMKKyAgICAgKiBAcGFyYW0g
e2Jvb2xlYW59IHJldmVhbAorICAgICAqIEBwYXJhbSB7UmVnRXhwPX0gcmVnRXhwCisgICAgICov
CisgICAgX2hpZ2hsaWdodE1hdGNoZWRSZXF1ZXN0czogZnVuY3Rpb24ocmVxdWVzdHMsIHJldmVh
bCwgcmVnRXhwKQorICAgIHsKKyAgICAgICAgdGhpcy5faGlnaGxpZ2h0ZWRTdWJzdHJpbmdDaGFu
Z2VzID0gW107CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVxdWVzdHMubGVuZ3RoOyAr
K2kpIHsKKyAgICAgICAgICAgIHZhciByZXF1ZXN0ID0gcmVxdWVzdHNbaV07CisgICAgICAgICAg
ICB2YXIgbm9kZSA9IHRoaXMuX3JlcXVlc3RHcmlkTm9kZShyZXF1ZXN0KTsKKyAgICAgICAgICAg
IGlmIChub2RlKSB7CisgICAgICAgICAgICAgICAgdmFyIG5hbWVNYXRjaGVkID0gcmVxdWVzdC5k
aXNwbGF5TmFtZSAmJiByZXF1ZXN0LmRpc3BsYXlOYW1lLm1hdGNoKHJlZ0V4cCk7CisgICAgICAg
ICAgICAgICAgdmFyIHBhdGhNYXRjaGVkID0gcmVxdWVzdC5wYXJzZWRVUkwucGF0aCAmJiByZXF1
ZXN0LmZvbGRlci5tYXRjaChyZWdFeHApOworICAgICAgICAgICAgICAgIGlmICghbmFtZU1hdGNo
ZWQgJiYgcGF0aE1hdGNoZWQgJiYgIXRoaXMuX2xhcmdlclJlcXVlc3RzQnV0dG9uLnRvZ2dsZWQp
CisgICAgICAgICAgICAgICAgICAgIHRoaXMuX3RvZ2dsZUxhcmdlclJlcXVlc3RzKCk7CisgICAg
ICAgICAgICAgICAgdmFyIGhpZ2hsaWdodGVkU3Vic3RyaW5nQ2hhbmdlcyA9IG5vZGUuX2hpZ2hs
aWdodE1hdGNoZWRTdWJzdHJpbmcocmVnRXhwKTsKKyAgICAgICAgICAgICAgICB0aGlzLl9oaWdo
bGlnaHRlZFN1YnN0cmluZ0NoYW5nZXMucHVzaChoaWdobGlnaHRlZFN1YnN0cmluZ0NoYW5nZXMp
OworICAgICAgICAgICAgICAgIGlmIChyZXZlYWwpCisgICAgICAgICAgICAgICAgICAgIG5vZGUu
cmV2ZWFsKCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICB9LAogCi0gICAgICAgIHZh
ciByZXF1ZXN0ID0gdGhpcy5fcmVxdWVzdHNCeUlkW3RoaXMuX21hdGNoZWRSZXF1ZXN0c1ttYXRj
aGVkUmVxdWVzdEluZGV4XV07CisgICAgLyoqCisgICAgICogQHBhcmFtIHtudW1iZXJ9IG1hdGNo
ZWRSZXF1ZXN0SW5kZXgKKyAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IHJldmVhbAorICAgICAqLwor
ICAgIF9oaWdobGlnaHROdGhNYXRjaGVkUmVxdWVzdEZvclNlYXJjaDogZnVuY3Rpb24obWF0Y2hl
ZFJlcXVlc3RJbmRleCwgcmV2ZWFsKQorICAgIHsKKyAgICAgICAgdmFyIHJlcXVlc3QgPSB0aGlz
LnJlcXVlc3RCeUlkKHRoaXMuX21hdGNoZWRSZXF1ZXN0c1ttYXRjaGVkUmVxdWVzdEluZGV4XSk7
CiAgICAgICAgIGlmICghcmVxdWVzdCkKICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICB2
YXIgbmFtZU1hdGNoZWQgPSByZXF1ZXN0LmRpc3BsYXlOYW1lICYmIHJlcXVlc3QuZGlzcGxheU5h
bWUubWF0Y2godGhpcy5fc2VhcmNoUmVnRXhwKTsKLSAgICAgICAgdmFyIHBhdGhNYXRjaGVkID0g
cmVxdWVzdC5wYXJzZWRVUkwucGF0aCAmJiByZXF1ZXN0LmZvbGRlci5tYXRjaCh0aGlzLl9zZWFy
Y2hSZWdFeHApOwotICAgICAgICBpZiAoIW5hbWVNYXRjaGVkICYmIHBhdGhNYXRjaGVkICYmICF0
aGlzLl9sYXJnZXJSZXF1ZXN0c0J1dHRvbi50b2dnbGVkKQotICAgICAgICAgICAgdGhpcy5fdG9n
Z2xlTGFyZ2VyUmVxdWVzdHMoKTsKLQorICAgICAgICB0aGlzLl9yZW1vdmVBbGxIaWdobGlnaHRz
KCk7CisgICAgICAgIHRoaXMuX2hpZ2hsaWdodE1hdGNoZWRSZXF1ZXN0cyhbcmVxdWVzdF0sIHJl
dmVhbCwgdGhpcy5fc2VhcmNoUmVnRXhwKTsKICAgICAgICAgdmFyIG5vZGUgPSB0aGlzLl9yZXF1
ZXN0R3JpZE5vZGUocmVxdWVzdCk7Ci0gICAgICAgIGlmIChub2RlKSB7Ci0gICAgICAgICAgICB0
aGlzLl9oaWdobGlnaHRlZFN1YnN0cmluZ0NoYW5nZXMgPSBub2RlLl9oaWdobGlnaHRNYXRjaGVk
U3Vic3RyaW5nKHRoaXMuX3NlYXJjaFJlZ0V4cCk7Ci0gICAgICAgICAgICBpZiAocmV2ZWFsKQot
ICAgICAgICAgICAgICAgIG5vZGUucmV2ZWFsKCk7CisgICAgICAgIGlmIChub2RlKQogICAgICAg
ICAgICAgdGhpcy5fY3VycmVudE1hdGNoZWRSZXF1ZXN0SW5kZXggPSBtYXRjaGVkUmVxdWVzdElu
ZGV4OwotICAgICAgICB9CisKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMo
V2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LkV2ZW50VHlwZXMuU2VhcmNoSW5kZXhVcGRhdGVk
LCB0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJbmRleCk7CiAgICAgfSwKIApAQCAtMTEzMyw3
ICsxMTU1LDYgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAg
ICAgICAgICAgIGN1cnJlbnRNYXRjaGVkUmVxdWVzdElkID0gdGhpcy5fbWF0Y2hlZFJlcXVlc3Rz
W3RoaXMuX2N1cnJlbnRNYXRjaGVkUmVxdWVzdEluZGV4XTsKIAogICAgICAgICB0aGlzLl9zZWFy
Y2hSZWdFeHAgPSBjcmVhdGVQbGFpblRleHRTZWFyY2hSZWdleChzZWFyY2hRdWVyeSwgImkiKTsK
LQogICAgICAgICB0aGlzLl9jbGVhclNlYXJjaE1hdGNoZWRMaXN0KCk7CiAKICAgICAgICAgdmFy
IGNoaWxkTm9kZXMgPSB0aGlzLl9kYXRhR3JpZC5kYXRhVGFibGVCb2R5LmNoaWxkTm9kZXM7CkBA
IC0xMTQzLDI3ICsxMTY0LDUxIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5wcm90b3R5
cGUgPSB7CiAgICAgICAgICAgICB2YXIgZGF0YUdyaWROb2RlID0gdGhpcy5fZGF0YUdyaWQuZGF0
YUdyaWROb2RlRnJvbU5vZGUocmVxdWVzdE5vZGVzW2ldKTsKICAgICAgICAgICAgIGlmIChkYXRh
R3JpZE5vZGUuaXNGaWx0ZXJlZE91dCgpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotCiAg
ICAgICAgICAgICBpZiAodGhpcy5fbWF0Y2hSZXF1ZXN0KGRhdGFHcmlkTm9kZS5fcmVxdWVzdCkg
IT09IC0xICYmIGRhdGFHcmlkTm9kZS5fcmVxdWVzdC5yZXF1ZXN0SWQgPT09IGN1cnJlbnRNYXRj
aGVkUmVxdWVzdElkKQogICAgICAgICAgICAgICAgIG5ld01hdGNoZWRSZXF1ZXN0SW5kZXggPSB0
aGlzLl9tYXRjaGVkUmVxdWVzdHMubGVuZ3RoIC0gMTsKICAgICAgICAgfQogCiAgICAgICAgIHRo
aXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nVmlldy5F
dmVudFR5cGVzLlNlYXJjaENvdW50VXBkYXRlZCwgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0
aCk7Ci0gICAgICAgIHRoaXMuX2hpZ2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0KG5ld01hdGNoZWRS
ZXF1ZXN0SW5kZXgsIGZhbHNlKTsKKyAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJl
cXVlc3RGb3JTZWFyY2gobmV3TWF0Y2hlZFJlcXVlc3RJbmRleCwgZmFsc2UpOwogICAgIH0sCiAK
KyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gcXVlcnkKKyAgICAgKi8KKyAgICBwZXJm
b3JtRmlsdGVyOiBmdW5jdGlvbihxdWVyeSkgeworICAgICAgICB0aGlzLl9maWx0ZXJlZE91dFJl
cXVlc3RzLmNsZWFyKCk7CisgICAgICAgIHZhciBmaWx0ZXJSZWdFeHAgPSBjcmVhdGVQbGFpblRl
eHRTZWFyY2hSZWdleChxdWVyeSwgImkiKTsKKyAgICAgICAgdmFyIHNob3duUmVxdWVzdHMgPSBb
XTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9kYXRhR3JpZC5yb290Tm9kZSgp
LmNoaWxkcmVuLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgbm9kZSA9IHRoaXMuX2Rh
dGFHcmlkLnJvb3ROb2RlKCkuY2hpbGRyZW5baV07CisgICAgICAgICAgICBub2RlLmVsZW1lbnQu
cmVtb3ZlU3R5bGVDbGFzcygiZmlsdGVyZWQtb3V0Iik7CisgICAgICAgICAgICB2YXIgbmFtZU1h
dGNoZWQgPSBub2RlLl9yZXF1ZXN0LmRpc3BsYXlOYW1lICYmIG5vZGUuX3JlcXVlc3QuZGlzcGxh
eU5hbWUubWF0Y2goZmlsdGVyUmVnRXhwKTsKKyAgICAgICAgICAgIHZhciBwYXRoTWF0Y2hlZCA9
IG5vZGUuX3JlcXVlc3QucGFyc2VkVVJMLnBhdGggJiYgbm9kZS5fcmVxdWVzdC5mb2xkZXIubWF0
Y2goZmlsdGVyUmVnRXhwKTsKKyAgICAgICAgICAgIGlmICghbmFtZU1hdGNoZWQgJiYgIXBhdGhN
YXRjaGVkKSB7CisgICAgICAgICAgICAgICAgbm9kZS5lbGVtZW50LmFkZFN0eWxlQ2xhc3MoImZp
bHRlcmVkLW91dCIpOworICAgICAgICAgICAgICAgIHRoaXMuX2ZpbHRlcmVkT3V0UmVxdWVzdHMu
cHV0KHRoaXMuX3JlcXVlc3RzW2ldLCB0cnVlKTsKKyAgICAgICAgICAgIH0gZWxzZSAKKyAgICAg
ICAgICAgICAgICBzaG93blJlcXVlc3RzLnB1c2gobm9kZS5fcmVxdWVzdCk7CisgICAgICAgIH0K
KyAgICAgICAgdGhpcy5fcmVtb3ZlQWxsSGlnaGxpZ2h0cygpOworICAgICAgICBpZiAocXVlcnkp
CisgICAgICAgICAgICB0aGlzLl9oaWdobGlnaHRNYXRjaGVkUmVxdWVzdHMoc2hvd25SZXF1ZXN0
cywgZmFsc2UsIGZpbHRlclJlZ0V4cCk7CisgICAgICAgIHRoaXMuX3VwZGF0ZVN1bW1hcnlCYXIo
KTsKKyAgICAgICAgdGhpcy5fdXBkYXRlT2Zmc2NyZWVuUm93cygpOworICAgIH0sCisgICAgCiAg
ICAganVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQ6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAg
IGlmICghdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCkKICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgdGhpcy5faGlnaGxpZ2h0TnRoTWF0Y2hlZFJlcXVlc3QoKHRoaXMuX2N1cnJlbnRN
YXRjaGVkUmVxdWVzdEluZGV4ICsgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCAtIDEpICUg
dGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCwgdHJ1ZSk7CisgICAgICAgIHRoaXMuX2hpZ2hs
aWdodE50aE1hdGNoZWRSZXF1ZXN0Rm9yU2VhcmNoKCh0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVl
c3RJbmRleCArIHRoaXMuX21hdGNoZWRSZXF1ZXN0cy5sZW5ndGggLSAxKSAlIHRoaXMuX21hdGNo
ZWRSZXF1ZXN0cy5sZW5ndGgsIHRydWUpOwogICAgIH0sCiAKICAgICBqdW1wVG9OZXh0U2VhcmNo
UmVzdWx0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX21hdGNoZWRSZXF1
ZXN0cy5sZW5ndGgpCiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHRoaXMuX2hpZ2hsaWdo
dE50aE1hdGNoZWRSZXF1ZXN0KCh0aGlzLl9jdXJyZW50TWF0Y2hlZFJlcXVlc3RJbmRleCArIDEp
ICUgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCwgdHJ1ZSk7CisgICAgICAgIHRoaXMuX2hp
Z2hsaWdodE50aE1hdGNoZWRSZXF1ZXN0Rm9yU2VhcmNoKCh0aGlzLl9jdXJyZW50TWF0Y2hlZFJl
cXVlc3RJbmRleCArIDEpICUgdGhpcy5fbWF0Y2hlZFJlcXVlc3RzLmxlbmd0aCwgdHJ1ZSk7CiAg
ICAgfSwKIAogICAgIHNlYXJjaENhbmNlbGVkOiBmdW5jdGlvbigpCkBAIC0xNDA1LDExICsxNDUw
LDIxIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICB0
aGlzLl9uZXR3b3JrTG9nVmlldy5zd2l0Y2hUb0JyaWVmVmlldygpOwogICAgIH0sCiAKKyAgICAv
KioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gc2VhcmNoUXVlcnkKKyAgICAgKi8gICAgCiAgICAg
cGVyZm9ybVNlYXJjaDogZnVuY3Rpb24oc2VhcmNoUXVlcnkpCiAgICAgewogICAgICAgICB0aGlz
Ll9uZXR3b3JrTG9nVmlldy5wZXJmb3JtU2VhcmNoKHNlYXJjaFF1ZXJ5KTsKICAgICB9LAotCisg
ICAgCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5CisgICAgICovICAgIAor
ICAgIHBlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KXsKKyAgICAgICAgdGhpcy5fbmV0d29y
a0xvZ1ZpZXcucGVyZm9ybUZpbHRlcihxdWVyeSk7CisgICAgfSwKKyAgICAKICAgICBqdW1wVG9Q
cmV2aW91c1NlYXJjaFJlc3VsdDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgdGhpcy5fbmV0
d29ya0xvZ1ZpZXcuanVtcFRvUHJldmlvdXNTZWFyY2hSZXN1bHQoKTsKQEAgLTE3MjIsNiArMTc3
Nyw4IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGF0YUdyaWROb2RlLnByb3RvdHlwZSA9IHsKIAog
ICAgIGlzRmlsdGVyZWRPdXQ6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAgIGlmICh0aGlzLl9w
YXJlbnRWaWV3Ll9maWx0ZXJlZE91dFJlcXVlc3RzLmdldCh0aGlzLl9yZXF1ZXN0KSkKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBpZiAoIXRoaXMuX3BhcmVudFZpZXcuX2hpZGRl
bkNhdGVnb3JpZXMuYWxsKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICByZXR1
cm4gdGhpcy5fcmVxdWVzdC50eXBlLm5hbWUoKSBpbiB0aGlzLl9wYXJlbnRWaWV3Ll9oaWRkZW5D
YXRlZ29yaWVzOwpAQCAtMTczNiw4ICsxNzkzLDkgQEAgV2ViSW5zcGVjdG9yLk5ldHdvcmtEYXRh
R3JpZE5vZGUucHJvdG90eXBlID0gewogICAgIF9oaWdobGlnaHRNYXRjaGVkU3Vic3RyaW5nOiBm
dW5jdGlvbihyZWdleHApCiAgICAgewogICAgICAgICB2YXIgZG9tQ2hhbmdlcyA9IFtdOwotICAg
ICAgICB2YXIgbWF0Y2hJbmZvID0gdGhpcy5fbmFtZUNlbGwudGV4dENvbnRlbnQubWF0Y2gocmVn
ZXhwKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmhpZ2hsaWdodFNlYXJjaFJlc3VsdCh0aGlzLl9u
YW1lQ2VsbCwgbWF0Y2hJbmZvLmluZGV4LCBtYXRjaEluZm9bMF0ubGVuZ3RoLCBkb21DaGFuZ2Vz
KTsKKyAgICAgICAgdmFyIG1hdGNoSW5mbyA9IHRoaXMuX2VsZW1lbnQudGV4dENvbnRlbnQubWF0
Y2gocmVnZXhwKTsKKyAgICAgICAgaWYgKG1hdGNoSW5mbykKKyAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5oaWdobGlnaHRTZWFyY2hSZXN1bHQodGhpcy5fbmFtZUNlbGwsIG1hdGNoSW5mby5pbmRl
eCwgbWF0Y2hJbmZvWzBdLmxlbmd0aCwgZG9tQ2hhbmdlcyk7CiAgICAgICAgIHJldHVybiBkb21D
aGFuZ2VzOwogICAgIH0sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU2VhcmNoQ29udHJvbGxlci5qcwppbmRleCBkMThlMjgwZTFhNjZkNGEyZmUzMTcw
ZDgyYjFhOTEzNGM0MmNkMWRlLi4zNzIwMzRkOTZlM2JkNWE2NjIyZGFiNGU4NWZlMDZlOTcxNzY1
YWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NlYXJj
aENvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9T
ZWFyY2hDb250cm9sbGVyLmpzCkBAIC00MiwxMSArNDIsMTggQEAgV2ViSW5zcGVjdG9yLlNlYXJj
aENvbnRyb2xsZXIgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fc2Vjb25kUm93RWxlbWVudCA9IHRo
aXMuX2VsZW1lbnQuY3JlYXRlQ2hpbGQoInRyIiwgImhpZGRlbiIpOwogCiAgICAgLy8gQ29sdW1u
IDEKLSAgICB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudCA9IHRoaXMuX2ZpcnN0Um93RWxlbWVu
dC5jcmVhdGVDaGlsZCgidGQiKS5jcmVhdGVDaGlsZCgic3BhbiIsICJ0b29sYmFyLXNlYXJjaC1j
b250cm9sIik7CisgICAgdmFyIHNlYXJjaENvbnRyb2xFbGVtZW50Q29sdW1uID0gdGhpcy5fZmly
c3RSb3dFbGVtZW50LmNyZWF0ZUNoaWxkKCJ0ZCIpOyAKKyAgICB0aGlzLl9zZWFyY2hDb250cm9s
RWxlbWVudCA9IHNlYXJjaENvbnRyb2xFbGVtZW50Q29sdW1uLmNyZWF0ZUNoaWxkKCJzcGFuIiwg
InRvb2xiYXItc2VhcmNoLWNvbnRyb2wiKTsKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQg
PSB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudC5jcmVhdGVDaGlsZCgiaW5wdXQiLCAic2VhcmNo
LXJlcGxhY2UiKTsKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuaWQgPSAic2VhcmNoLWlu
cHV0LWZpZWxkIjsKICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQucGxhY2Vob2xkZXIgPSBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkZpbmQiKTsKIAorICAgIHRoaXMuX2ZpbHRlckNvbnRyb2xF
bGVtZW50ID0gc2VhcmNoQ29udHJvbEVsZW1lbnRDb2x1bW4uY3JlYXRlQ2hpbGQoInNwYW4iLCAi
dG9vbGJhci1zZWFyY2gtY29udHJvbCIpOworICAgIHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50
LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudCA9
IHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50LmNyZWF0ZUNoaWxkKCJpbnB1dCIsICJmaWx0ZXIi
KTsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuaWQgPSAiZmlsdGVyLWlucHV0LWZpZWxk
IjsKKyAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQucGxhY2Vob2xkZXIgPSBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkZpbHRlciIpOworCiAgICAgdGhpcy5fbWF0Y2hlc0VsZW1lbnQgPSB0aGlz
Ll9zZWFyY2hDb250cm9sRWxlbWVudC5jcmVhdGVDaGlsZCgibGFiZWwiLCAic2VhcmNoLXJlc3Vs
dHMtbWF0Y2hlcyIpOwogICAgIHRoaXMuX21hdGNoZXNFbGVtZW50LnNldEF0dHJpYnV0ZSgiZm9y
IiwgInNlYXJjaC1pbnB1dC1maWVsZCIpOwogCkBAIC02Miw3ICs2OSw5IEBAIFdlYkluc3BlY3Rv
ci5TZWFyY2hDb250cm9sbGVyID0gZnVuY3Rpb24oKQogCiAgICAgdGhpcy5fc2VhcmNoSW5wdXRF
bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMuX29uU2VhcmNoRmllbGRN
YW51YWxGb2N1cy5iaW5kKHRoaXMpLCBmYWxzZSk7IC8vIHdoZW4gdGhlIHNlYXJjaCBmaWVsZCBp
cyBtYW51YWxseSBzZWxlY3RlZAogICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5hZGRFdmVu
dExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyksIHRydWUpOwot
ICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsIHRo
aXMuX29uSW5wdXQuYmluZCh0aGlzKSwgZmFsc2UpOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxl
bWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5fb25LZXlEb3duLmJpbmQodGhp
cyksIHRydWUpOworICAgIHRoaXMuX2ZpbHRlcklucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVy
KCJpbnB1dCIsIHRoaXMuX29uRmlsdGVySW5wdXQuYmluZCh0aGlzKSwgZmFsc2UpOworICAgIHRo
aXMuX3NlYXJjaElucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsIHRoaXMuX29u
U2VhcmNoSW5wdXQuYmluZCh0aGlzKSwgZmFsc2UpOwogCiAgICAgdGhpcy5fcmVwbGFjZUlucHV0
RWxlbWVudCA9IHRoaXMuX3NlY29uZFJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRkIikuY3JlYXRl
Q2hpbGQoImlucHV0IiwgInNlYXJjaC1yZXBsYWNlIHRvb2xiYXItcmVwbGFjZS1jb250cm9sIik7
CiAgICAgdGhpcy5fcmVwbGFjZUlucHV0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3du
IiwgdGhpcy5fb25LZXlEb3duLmJpbmQodGhpcyksIHRydWUpOwpAQCAtMTA0LDYgKzExMywxOCBA
QCBXZWJJbnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlciA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLl9y
ZXBsYWNlTGFiZWxFbGVtZW50LnNldEF0dHJpYnV0ZSgiZm9yIiwgInNlYXJjaC1yZXBsYWNlLXRy
aWdnZXIiKTsKIAogICAgIC8vIENvbHVtbiA1CisgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hDb250
YWluZXIgPSB0aGlzLl9maXJzdFJvd0VsZW1lbnQuY3JlYXRlQ2hpbGQoInRkIikuY3JlYXRlQ2hp
bGQoInNwYW4iKTsKKworICAgIHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudCA9IHRoaXMuX2Zp
bHRlckNoZWNrYm94Q29udGFpbmVyLmNyZWF0ZUNoaWxkKCJpbnB1dCIpOworICAgIHRoaXMuX2Zp
bHRlckNoZWNrYm94RWxlbWVudC50eXBlID0gImNoZWNrYm94IjsKKyAgICB0aGlzLl9maWx0ZXJD
aGVja2JveEVsZW1lbnQuaWQgPSAiZmlsdGVyLXRyaWdnZXIiOworICAgIHRoaXMuX2ZpbHRlckNo
ZWNrYm94RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2ZpbHRlckNoZWNr
Ym94Q2xpY2suYmluZCh0aGlzKSwgZmFsc2UpOworICAKKyAgICB0aGlzLl9maWx0ZXJMYWJlbEVs
ZW1lbnQgPSB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lci5jcmVhdGVDaGlsZCgibGFiZWwi
KTsKKyAgICB0aGlzLl9maWx0ZXJMYWJlbEVsZW1lbnQudGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkZpbHRlciIpOworICAgIHRoaXMuX2ZpbHRlckxhYmVsRWxlbWVudC5zZXRB
dHRyaWJ1dGUoImZvciIsICJmaWx0ZXItdHJpZ2dlciIpOworCisgICAgLy8gQ29sdW1uIDYKICAg
ICB2YXIgY2FuY2VsQnV0dG9uRWxlbWVudCA9IHRoaXMuX2ZpcnN0Um93RWxlbWVudC5jcmVhdGVD
aGlsZCgidGQiKS5jcmVhdGVDaGlsZCgiYnV0dG9uIik7CiAgICAgY2FuY2VsQnV0dG9uRWxlbWVu
dC50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ2FuY2VsIik7CiAgICAgY2Fu
Y2VsQnV0dG9uRWxlbWVudC50YWJJbmRleCA9IC0xOwpAQCAtMTMyLDYgKzE1MywxMCBAQCBXZWJJ
bnNwZWN0b3IuU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBp
ZiAoIXRoaXMuX3NlYXJjaElzVmlzaWJsZSkKICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
aWYgKHRoaXMuX2ZpbHRlckNoZWNrYm94RWxlbWVudC5jaGVja2VkKSB7CisgICAgICAgICAgICB0
aGlzLl9maWx0ZXJDaGVja2JveEVsZW1lbnQuY2hlY2tlZCA9IGZhbHNlOworICAgICAgICAgICAg
dGhpcy5fc3dpdGNoRmlsdGVyVG9TZWFyY2goKTsKKyAgICAgICAgfSAKICAgICAgICAgZGVsZXRl
IHRoaXMuX3NlYXJjaElzVmlzaWJsZTsKICAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZp
ZXcuc2V0Rm9vdGVyRWxlbWVudChudWxsKTsKICAgICAgICAgdGhpcy5yZXNldFNlYXJjaCgpOwpA
QCAtMjIzLDExICsyNDgsNDAgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90
eXBlID0gewogICAgIHsKICAgICAgICAgV2ViSW5zcGVjdG9yLmluc3BlY3RvclZpZXcuc2V0Rm9v
dGVyRWxlbWVudCh0aGlzLl9lbGVtZW50KTsKICAgICAgICAgdGhpcy5fdXBkYXRlUmVwbGFjZVZp
c2liaWxpdHkoKTsKKyAgICAgICAgdGhpcy5fdXBkYXRlRmlsdGVyVmlzaWJpbGl0eSgpOwogICAg
ICAgICB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQuZm9jdXMoKTsKICAgICAgICAgdGhpcy5fc2Vh
cmNoSW5wdXRFbGVtZW50LnNlbGVjdCgpOwogICAgICAgICB0aGlzLl9zZWFyY2hJc1Zpc2libGUg
PSB0cnVlOwogICAgIH0sCiAKKyAgICBfc3dpdGNoRmlsdGVyVG9TZWFyY2g6IGZ1bmN0aW9uKCkK
KyAgICB7CisgICAgICAgIHRoaXMuX2ZpbHRlckNvbnRyb2xFbGVtZW50LmFkZFN0eWxlQ2xhc3Mo
ImhpZGRlbiIpOworICAgICAgICB0aGlzLl9zZWFyY2hDb250cm9sRWxlbWVudC5yZW1vdmVTdHls
ZUNsYXNzKCJoaWRkZW4iKTsKKyAgICAgICAgdGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LmZvY3Vz
KCk7CisgICAgICAgIHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC5zZWxlY3QoKTsKKyAgICAgICAg
dGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5fZmlsdGVySW5wdXRFbGVtZW50
LnZhbHVlOworICAgICAgICB0aGlzLnJlc2V0RmlsdGVyKCk7CisgICAgfSwKKworICAgIF9zd2l0
Y2hTZWFyY2hUb0ZpbHRlcjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdGhpcy5fZmlsdGVy
Q29udHJvbEVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMu
X3NlYXJjaENvbnRyb2xFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICB0
aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQuZm9jdXMoKTsKKyAgICAgICAgdGhpcy5fZmlsdGVySW5w
dXRFbGVtZW50LnNlbGVjdCgpOworICAgICAgICB0aGlzLl9maWx0ZXJJbnB1dEVsZW1lbnQudmFs
dWUgPSB0aGlzLl9zZWFyY2hJbnB1dEVsZW1lbnQudmFsdWU7CisgICAgICAgIHRoaXMucmVzZXRT
ZWFyY2goKTsKKyAgICB9LAorICAgIAorICAgIF91cGRhdGVGaWx0ZXJWaXNpYmlsaXR5OiBmdW5j
dGlvbigpCisgICAgeworICAgICAgICBpZiAodHlwZW9mIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JW
aWV3LmN1cnJlbnRQYW5lbCgpLnBlcmZvcm1GaWx0ZXIgPT09ICJmdW5jdGlvbiIpCisgICAgICAg
ICAgICB0aGlzLl9maWx0ZXJDaGVja2JveENvbnRhaW5lci5yZW1vdmVTdHlsZUNsYXNzKCJoaWRk
ZW4iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5fZmlsdGVyQ2hlY2tib3hDb250
YWluZXIuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgfSwKKyAgCiAgICAgX3VwZGF0ZVJl
cGxhY2VWaXNpYmlsaXR5OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB2YXIgcGFuZWwgPSBX
ZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwoKTsKQEAgLTI2NSwxMSArMzE5
LDYgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgICAg
ICB9CiAgICAgfSwKIAotICAgIF9vbklucHV0OiBmdW5jdGlvbihldmVudCkKLSAgICB7Ci0gICAg
ICAgIHRoaXMuX3BlcmZvcm1TZWFyY2goZXZlbnQudGFyZ2V0LnZhbHVlLCBmYWxzZSwgZmFsc2Up
OwotICAgIH0sCi0KICAgICBfb25OZXh0QnV0dG9uU2VhcmNoOiBmdW5jdGlvbihldmVudCkKICAg
ICB7CiAgICAgICAgIC8vIFNpbXVsYXRlIG5leHQgc2VhcmNoIG9uIHNlYXJjaC1uYXZpZ2F0aW9u
LWJ1dHRvbiBjbGljay4KQEAgLTM2NCw2ICs0MTMsNDEgQEAgV2ViSW5zcGVjdG9yLlNlYXJjaENv
bnRyb2xsZXIucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdmFyIGN1cnJlbnRQYW5lbCA9
IFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LmN1cnJlbnRQYW5lbCgpOwogICAgICAgICBjdXJy
ZW50UGFuZWwucmVwbGFjZUFsbFdpdGgodGhpcy5fc2VhcmNoSW5wdXRFbGVtZW50LnZhbHVlLCB0
aGlzLl9yZXBsYWNlSW5wdXRFbGVtZW50LnZhbHVlKTsKKyAgICB9LAorICAKKyAgICBfZmlsdGVy
Q2hlY2tib3hDbGljazogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2ZpbHRl
ckNoZWNrYm94RWxlbWVudC5jaGVja2VkKSB7IAorICAgICAgICAgICAgdGhpcy5fc3dpdGNoU2Vh
cmNoVG9GaWx0ZXIoKTsKKyAgICAgICAgICAgIHRoaXMuX3BlcmZvcm1GaWx0ZXIodGhpcy5fZmls
dGVySW5wdXRFbGVtZW50LnZhbHVlKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRo
aXMuX3N3aXRjaEZpbHRlclRvU2VhcmNoKCk7CisgICAgICAgICAgICB0aGlzLl9wZXJmb3JtU2Vh
cmNoKHRoaXMuX3NlYXJjaElucHV0RWxlbWVudC52YWx1ZSwgZmFsc2UsIGZhbHNlKTsKKyAgICAg
ICAgfQorICAgIH0sCisgICAgCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHF1ZXJ5
CisgICAgICovCisgICAgX3BlcmZvcm1GaWx0ZXI6IGZ1bmN0aW9uKHF1ZXJ5KQorICAgIHsKKyAg
ICAgICAgaWYgKHR5cGVvZiBXZWJJbnNwZWN0b3IuaW5zcGVjdG9yVmlldy5jdXJyZW50UGFuZWwo
KS5wZXJmb3JtRmlsdGVyID09PSAiZnVuY3Rpb24iKQorICAgICAgICAgICAgV2ViSW5zcGVjdG9y
Lmluc3BlY3RvclZpZXcuY3VycmVudFBhbmVsKCkucGVyZm9ybUZpbHRlcihxdWVyeSk7CisgICAg
fSwKKyAgCisgICAgX29uRmlsdGVySW5wdXQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAg
ICAgdGhpcy5fcGVyZm9ybUZpbHRlcihldmVudC50YXJnZXQudmFsdWUpOworICAgIH0sCisgIAor
ICAgIF9vblNlYXJjaElucHV0OiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHRoaXMu
X3BlcmZvcm1TZWFyY2goZXZlbnQudGFyZ2V0LnZhbHVlLCBmYWxzZSwgZmFsc2UpOworICAgIH0s
CisgICAgCisgICAgcmVzZXRGaWx0ZXI6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHRoaXMu
X3BlcmZvcm1GaWx0ZXIoIiIpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuY3NzCmluZGV4IGVhNWVlZGM0NGU1MmY0NTZmZTYw
NGNkODE5MzE0OTM2YzJjNTY1OWYuLmZiZjk2NzNiNzRhOGE3NTZjZDcxODM0NTZmNjEwMDdlYjJj
MTdkZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmNzcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3Bl
Y3Rvci5jc3MKQEAgLTI3MSw2ICsyNzEsMTQgQEAgYm9keS5kZXRhY2hlZC5wbGF0Zm9ybS1tYWMt
c25vd2xlb3BhcmQgI3Rvb2xiYXItZHJvcGRvd24gewogICAgIHdpZHRoOiAxNjVweDsKIH0KIAor
LmZpbHRlciB7CisgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOworICAgIGJvcmRlcjogMDsK
KyAgICBwYWRkaW5nOiAwIDJweDsKKyAgICBtYXJnaW46IDA7CisgICAgd2lkdGg6IDI1MXB4Owor
fQorCiAuc2VhcmNoLXJlcGxhY2U6Zm9jdXMgewogICAgIG91dGxpbmU6IG5vbmU7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL25ldHdvcmtMb2dWaWV3
LmNzcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcu
Y3NzCmluZGV4IGY0NTQxOTRlMWIwOTZiMjI0MGYyYjM0MGQyMjNjYmRjOGEyY2UwODcuLmQxYzEw
ZDJiYmZmZTQ5MzNkYTk3NzFmODczODIzMzNkNjkwYzJjMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvbmV0d29ya0xvZ1ZpZXcuY3NzCkBAIC00NzAs
MTUgKzQ3MCwxNSBAQAogICAgIGRpc3BsYXk6IG5vbmU7CiB9CiAKLS5uZXR3b3JrLWxvZy1ncmlk
LmRhdGEtZ3JpZC5maWx0ZXItYWxsIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay1pdGVt
LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1kb2N1bWVudCB0YWJsZS5kYXRh
IHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1kb2N1bWVudCwKLS5uZXR3b3JrLWxvZy1ncmlkLmRh
dGEtZ3JpZC5maWx0ZXItc3R5bGVzaGVldCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmst
dHlwZS1zdHlsZXNoZWV0LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1pbWFn
ZSB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1pbWFnZSwKLS5uZXR3b3JrLWxv
Zy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItc2NyaXB0IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0
d29yay10eXBlLXNjcmlwdCwKLS5uZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXIteGhy
IHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXhociwKLS5uZXR3b3JrLWxvZy1n
cmlkLmRhdGEtZ3JpZC5maWx0ZXItZm9udCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmst
dHlwZS1mb250LAotLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci13ZWJzb2NrZXQg
dGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtd2Vic29ja2V0LAotLm5ldHdvcmst
bG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1vdGhlciB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5l
dHdvcmstdHlwZS1vdGhlciB7CisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWFs
bCB0YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstaXRlbTpub3QoLmZpbHRlcmVkLW91dCks
CisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLWRvY3VtZW50IHRhYmxlLmRhdGEg
dHIucmV2ZWFsZWQubmV0d29yay10eXBlLWRvY3VtZW50Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5u
ZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItc3R5bGVzaGVldCB0YWJsZS5kYXRhIHRy
LnJldmVhbGVkLm5ldHdvcmstdHlwZS1zdHlsZXNoZWV0Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5u
ZXR3b3JrLWxvZy1ncmlkLmRhdGEtZ3JpZC5maWx0ZXItaW1hZ2UgdGFibGUuZGF0YSB0ci5yZXZl
YWxlZC5uZXR3b3JrLXR5cGUtaW1hZ2U6bm90KC5maWx0ZXJlZC1vdXQpLAorLm5ldHdvcmstbG9n
LWdyaWQuZGF0YS1ncmlkLmZpbHRlci1zY3JpcHQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3
b3JrLXR5cGUtc2NyaXB0Om5vdCguZmlsdGVyZWQtb3V0KSwKKy5uZXR3b3JrLWxvZy1ncmlkLmRh
dGEtZ3JpZC5maWx0ZXIteGhyIHRhYmxlLmRhdGEgdHIucmV2ZWFsZWQubmV0d29yay10eXBlLXho
cjpub3QoLmZpbHRlcmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVy
LWZvbnQgdGFibGUuZGF0YSB0ci5yZXZlYWxlZC5uZXR3b3JrLXR5cGUtZm9udDpub3QoLmZpbHRl
cmVkLW91dCksCisubmV0d29yay1sb2ctZ3JpZC5kYXRhLWdyaWQuZmlsdGVyLXdlYnNvY2tldCB0
YWJsZS5kYXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS13ZWJzb2NrZXQ6bm90KC5maWx0ZXJl
ZC1vdXQpLAorLm5ldHdvcmstbG9nLWdyaWQuZGF0YS1ncmlkLmZpbHRlci1vdGhlciB0YWJsZS5k
YXRhIHRyLnJldmVhbGVkLm5ldHdvcmstdHlwZS1vdGhlcjpub3QoLmZpbHRlcmVkLW91dCkgewog
ICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsKIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>