<?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>183317</bug_id>
          
          <creation_ts>2018-03-03 17:19:46 -0800</creation_ts>
          <short_desc>Web Inspector: Sources: Open all resources in Sources tab instead of Resources/Debugger</short_desc>
          <delta_ts>2018-03-09 17:24:30 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>183420</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikita Vasilyev">nvasilyev</reporter>
          <assigned_to name="Nikita Vasilyev">nvasilyev</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>mattbaker</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1403508</commentid>
    <comment_count>0</comment_count>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2018-03-03 17:19:46 -0800</bug_when>
    <thetext>When Sources tab is enabled, all resources that currently open in Resources or Debugger should open in Sources tab instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403509</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-03 17:20:01 -0800</bug_when>
    <thetext>&lt;rdar://problem/38108455&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403511</commentid>
    <comment_count>2</comment_count>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2018-03-03 17:23:19 -0800</bug_when>
    <thetext>Some ways to open a resource:
- Click on a source link
  - from a DOM outline
  - from the styles editor
  - from a console message
- Quick open (Command-Shift-O)
- Search
- Timelines</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405352</commentid>
    <comment_count>3</comment_count>
      <attachid>335474</attachid>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2018-03-09 15:23:30 -0800</bug_when>
    <thetext>Created attachment 335474
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405356</commentid>
    <comment_count>4</comment_count>
      <attachid>335476</attachid>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2018-03-09 15:27:02 -0800</bug_when>
    <thetext>Created attachment 335476
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405378</commentid>
    <comment_count>5</comment_count>
      <attachid>335476</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-03-09 16:02:33 -0800</bug_when>
    <thetext>Comment on attachment 335476
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js:107
&gt; +                    showResourceWithOptions({tabIdentifier: WI.SourcesTabContentView.Identifier});

I like this idea, but what do you think about renaming the parameter `tabType`? WI.SourcesTabContentView.Type already exists, and as far as I know a TabContentView&apos;s type and identifier are always the same.

&gt; Source/WebInspectorUI/UserInterface/Views/TabBrowser.js:130
&gt; +                    return tabContentView;

Since this code will fall back on recentTabContentViews if a matching tab isn&apos;t found, should we rename the option `preferredTabType`?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405387</commentid>
    <comment_count>6</comment_count>
      <attachid>335485</attachid>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2018-03-09 16:16:22 -0800</bug_when>
    <thetext>Created attachment 335485
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405389</commentid>
    <comment_count>7</comment_count>
      <attachid>335485</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-03-09 16:19:15 -0800</bug_when>
    <thetext>Comment on attachment 335485
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Views/TabBrowser.js:125
&gt; +            for (let tabContentView of this._recentTabContentViews) {

Sorry for not mentioning this sooner (our changes collided as I added it):

Nit: Array.prototype.find with an inline arrow is more concise and less error-prone than the equivalent for-loop:

let tabContentView = this._recentTabContentViews.find((tabContentView) =&gt; tabContentView.type === options.preferredTabType);
if (tabContentView)
    return tabContentView;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405390</commentid>
    <comment_count>8</comment_count>
      <attachid>335476</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-03-09 16:25:41 -0800</bug_when>
    <thetext>Comment on attachment 335476
Patch

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

&gt; Source/WebInspectorUI/UserInterface/Base/Main.js:976
&gt; +WI.showSourcesTab = function(options)

This should be `options = {}` if we ever want to call `WI.showSourcesTab()` without arguments.

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/ContextMenuUtilities.js:107
&gt;&gt; +                    showResourceWithOptions({tabIdentifier: WI.SourcesTabContentView.Identifier});
&gt; 
&gt; I like this idea, but what do you think about renaming the parameter `tabType`? WI.SourcesTabContentView.Type already exists, and as far as I know a TabContentView&apos;s type and identifier are always the same.

I think `type` makes more sense than `identifier`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405401</commentid>
    <comment_count>9</comment_count>
      <attachid>335488</attachid>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2018-03-09 16:45:36 -0800</bug_when>
    <thetext>Created attachment 335488
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405405</commentid>
    <comment_count>10</comment_count>
      <attachid>335488</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-03-09 16:59:29 -0800</bug_when>
    <thetext>Comment on attachment 335488
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405410</commentid>
    <comment_count>11</comment_count>
      <attachid>335488</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-09 17:24:28 -0800</bug_when>
    <thetext>Comment on attachment 335488
Patch

Clearing flags on attachment: 335488

Committed r229495: &lt;https://trac.webkit.org/changeset/229495&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1405411</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-09 17:24:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335474</attachid>
            <date>2018-03-09 15:23:30 -0800</date>
            <delta_ts>2018-03-09 15:27:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8453</size>
            <attacher name="Nikita Vasilyev">nvasilyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDFhYjIyZmUuLjM2ZTFkMzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE4LTAzLTA5ICBOaWtpdGEgVmFzaWx5
ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNvdXJj
ZXM6IE9wZW4gYWxsIHJlc291cmNlcyBpbiBTb3VyY2VzIHRhYiBpbnN0ZWFkIG9mIFJlc291cmNl
cy9EZWJ1Z2dlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTgzMzE3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODEwODQ1NT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4u
bHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2Uv
TWFpbi5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRleHRNZW51VXRpbGl0
aWVzLmpzOgorICAgICAgICAoV0kuYXBwZW5kQ29udGV4dE1lbnVJdGVtc0ZvclVSTCk6CisgICAg
ICAgIEludHJvZHVjZSB0YWJJZGVudGlmaWVyIG9wdGlvbiBpbnN0ZWFkIG9mIGxpc3RpbmcgaWdu
b3JlUmVzb3VyY2VzVGFiLCBpZ25vcmVEZWJ1Z2dlclRhYiwgaWdub3JlU2VhcmNoVGFiLCBhbmQg
aWdub3JlTmV0d29ya1RhYi4KKyAgICAgICAgVGhlIG9ubHkgY29ycmVjdCBvdXRjb21lIG9mIHNl
bGVjdGluZyAiUmV2ZWFsIGluIFNvdXJjZXMgVGFiIiBjb250ZXh0IG1lbnUgaXMgdG8gb3BlbiBT
b3VyY2VzIHRhYiwgbm90IGFueSBvdGhlciB0YWIuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzOgorICAgICAgICAoV0kuU291cmNlQ29kZVRl
eHRFZGl0b3IucHJvdG90eXBlLnRleHRFZGl0b3JHdXR0ZXJDb250ZXh0TWVudSk6CisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VzVGFiQ29udGVudFZpZXcuanM6CisgICAgICAg
IChXSS5Tb3VyY2VzVGFiQ29udGVudFZpZXcpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvVGFiQnJvd3Nlci5qczoKKyAgICAgICAgKFdJLlRhYkJyb3dzZXIucHJvdG90eXBlLmJlc3RU
YWJDb250ZW50Vmlld0ZvclJlcHJlc2VudGVkT2JqZWN0KToKKwogMjAxOC0wMy0wOCAgTmlraXRh
IFZhc2lseWV2ICA8bnZhc2lseWV2QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBTb3VyY2VzOiBhZGQgU291cmNlc1RhYkNvbnRlbnRWaWV3IGFuZCBTb3VyY2VTaWRlYmFyUGFu
ZWwgY2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlv
bnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9M
b2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggZmY2ZDYxZC4u
ZTU0Yjg2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMv
ZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
TG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCkBAIC03OTcsNiArNzk3
LDcgQEAgbG9jYWxpemVkU3RyaW5nc1siUmV2ZWFsIGluIExheWVycyBUYWIiXSA9ICJSZXZlYWwg
aW4gTGF5ZXJzIFRhYiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJSZXZlYWwgaW4gTmV0d29yayBUYWIi
XSA9ICJSZXZlYWwgaW4gTmV0d29yayBUYWIiOwogbG9jYWxpemVkU3RyaW5nc1siUmV2ZWFsIGlu
IE9yaWdpbmFsIFJlc291cmNlIl0gPSAiUmV2ZWFsIGluIE9yaWdpbmFsIFJlc291cmNlIjsKIGxv
Y2FsaXplZFN0cmluZ3NbIlJldmVhbCBpbiBSZXNvdXJjZXMgVGFiIl0gPSAiUmV2ZWFsIGluIFJl
c291cmNlcyBUYWIiOworbG9jYWxpemVkU3RyaW5nc1siUmV2ZWFsIGluIFNvdXJjZXMgVGFiIl0g
PSAiUmV2ZWFsIGluIFNvdXJjZXMgVGFiIjsKIGxvY2FsaXplZFN0cmluZ3NbIlJpZ2h0Il0gPSAi
UmlnaHQiOwogbG9jYWxpemVkU3RyaW5nc1siUm9sZSJdID0gIlJvbGUiOwogbG9jYWxpemVkU3Ry
aW5nc1siUnVsZSJdID0gIlJ1bGUiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQmFzZS9NYWluLmpzCmluZGV4IDhjOTE5OWYuLmJhNmY4YmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKQEAgLTk2OCw2
ICs5NjgsMjMgQEAgV0kuaXNTaG93aW5nUmVzb3VyY2VzVGFiID0gZnVuY3Rpb24oKQogICAgIHJl
dHVybiB0aGlzLnRhYkJyb3dzZXIuc2VsZWN0ZWRUYWJDb250ZW50VmlldyBpbnN0YW5jZW9mIFdJ
LlJlc291cmNlc1RhYkNvbnRlbnRWaWV3OwogfTsKIAorV0kuaXNTaG93aW5nU291cmNlc1RhYiA9
IGZ1bmN0aW9uKCkKK3sKKyAgICByZXR1cm4gdGhpcy50YWJCcm93c2VyLnNlbGVjdGVkVGFiQ29u
dGVudFZpZXcgaW5zdGFuY2VvZiBXSS5Tb3VyY2VzVGFiQ29udGVudFZpZXc7Cit9OworCitXSS5z
aG93U291cmNlc1RhYiA9IGZ1bmN0aW9uKG9wdGlvbnMpCit7CisgICAgbGV0IHRhYkNvbnRlbnRW
aWV3ID0gdGhpcy50YWJCcm93c2VyLmJlc3RUYWJDb250ZW50Vmlld0ZvckNsYXNzKFdJLlNvdXJj
ZXNUYWJDb250ZW50Vmlldyk7CisgICAgaWYgKCF0YWJDb250ZW50VmlldykKKyAgICAgICAgdGFi
Q29udGVudFZpZXcgPSBuZXcgV0kuU291cmNlc1RhYkNvbnRlbnRWaWV3OworCisgICAgaWYgKG9w
dGlvbnMuYnJlYWtwb2ludFRvU2VsZWN0IGluc3RhbmNlb2YgV0kuQnJlYWtwb2ludCkKKyAgICAg
ICAgdGFiQ29udGVudFZpZXcucmV2ZWFsQW5kU2VsZWN0QnJlYWtwb2ludChvcHRpb25zLmJyZWFr
cG9pbnRUb1NlbGVjdCk7CisKKyAgICB0aGlzLnRhYkJyb3dzZXIuc2hvd1RhYkZvckNvbnRlbnRW
aWV3KHRhYkNvbnRlbnRWaWV3KTsKK307CisKIFdJLnNob3dTdG9yYWdlVGFiID0gZnVuY3Rpb24o
KQogewogICAgIHZhciB0YWJDb250ZW50VmlldyA9IHRoaXMudGFiQnJvd3Nlci5iZXN0VGFiQ29u
dGVudFZpZXdGb3JDbGFzcyhXSS5TdG9yYWdlVGFiQ29udGVudFZpZXcpOwpAQCAtMTM1MSw3ICsx
MzY4LDEwIEBAIFdJLl9kcmFnT3ZlciA9IGZ1bmN0aW9uKGV2ZW50KQogCiBXSS5fZGVidWdnZXJE
aWRQYXVzZSA9IGZ1bmN0aW9uKGV2ZW50KQogewotICAgIHRoaXMuc2hvd0RlYnVnZ2VyVGFiKHtz
aG93U2NvcGVDaGFpblNpZGViYXI6IFdJLnNldHRpbmdzLnNob3dTY29wZUNoYWluT25QYXVzZS52
YWx1ZX0pOworICAgIGlmIChXSS5zZXR0aW5ncy5leHBlcmltZW50YWxFbmFibGVTb3VyY2VzVGFi
LnZhbHVlKQorICAgICAgICB0aGlzLnNob3dTb3VyY2VzVGFiKCk7CisgICAgZWxzZQorICAgICAg
ICB0aGlzLnNob3dEZWJ1Z2dlclRhYih7c2hvd1Njb3BlQ2hhaW5TaWRlYmFyOiBXSS5zZXR0aW5n
cy5zaG93U2NvcGVDaGFpbk9uUGF1c2UudmFsdWV9KTsKIAogICAgIHRoaXMuX2Rhc2hib2FyZENv
bnRhaW5lci5zaG93RGFzaGJvYXJkVmlld0ZvclJlcHJlc2VudGVkT2JqZWN0KHRoaXMuZGFzaGJv
YXJkTWFuYWdlci5kYXNoYm9hcmRzLmRlYnVnZ2VyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGV4dE1lbnVVdGlsaXRpZXMuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZXh0TWVudVV0
aWxpdGllcy5qcwppbmRleCA5NGQ0ODUxLi5jMDgyMjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZXh0TWVudVV0aWxpdGllcy5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZXh0TWVu
dVV0aWxpdGllcy5qcwpAQCAtMTAxLDcgKzEwMSwxMyBAQCBXSS5hcHBlbmRDb250ZXh0TWVudUl0
ZW1zRm9yVVJMID0gZnVuY3Rpb24oY29udGV4dE1lbnUsIHVybCwgb3B0aW9ucykKICAgICB9KTsK
IAogICAgIGlmIChXSS5mcmFtZVJlc291cmNlTWFuYWdlci5yZXNvdXJjZUZvclVSTCh1cmwpKSB7
Ci0gICAgICAgIGlmICghV0kuaXNTaG93aW5nUmVzb3VyY2VzVGFiKCkpIHsKKyAgICAgICAgaWYg
KFdJLnNldHRpbmdzLmV4cGVyaW1lbnRhbEVuYWJsZVNvdXJjZXNUYWIudmFsdWUpIHsKKyAgICAg
ICAgICAgIGlmICghV0kuaXNTaG93aW5nU291cmNlc1RhYigpKSB7CisgICAgICAgICAgICAgICAg
Y29udGV4dE1lbnUuYXBwZW5kSXRlbShXSS5VSVN0cmluZygiUmV2ZWFsIGluIFNvdXJjZXMgVGFi
IiksICgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgc2hvd1Jlc291cmNlV2l0aE9wdGlvbnMo
e3RhYklkZW50aWZpZXI6IFdJLlNvdXJjZXNUYWJDb250ZW50Vmlldy5JZGVudGlmaWVyfSk7Cisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoIVdJ
LmlzU2hvd2luZ1Jlc291cmNlc1RhYigpKSB7CiAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBl
bmRJdGVtKFdJLlVJU3RyaW5nKCJSZXZlYWwgaW4gUmVzb3VyY2VzIFRhYiIpLCAoKSA9PiB7CiAg
ICAgICAgICAgICAgICAgc2hvd1Jlc291cmNlV2l0aE9wdGlvbnMoe2lnbm9yZU5ldHdvcmtUYWI6
IHRydWUsIGlnbm9yZVNlYXJjaFRhYjogdHJ1ZX0pOwogICAgICAgICAgICAgfSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2Rl
VGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCmluZGV4IGY4ZGQ4NGEuLjQ5NDNlNzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVU
ZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCkBAIC0xMjQ4LDcgKzEyNDgsMTQgQEAgV0kuU291
cmNlQ29kZVRleHRFZGl0b3IgPSBjbGFzcyBTb3VyY2VDb2RlVGV4dEVkaXRvciBleHRlbmRzIFdJ
LlRleHRFZGl0b3IKICAgICAgICAgaWYgKGJyZWFrcG9pbnRzLmxlbmd0aCA9PT0gMSkgewogICAg
ICAgICAgICAgV0kuYnJlYWtwb2ludFBvcG92ZXJDb250cm9sbGVyLmFwcGVuZENvbnRleHRNZW51
SXRlbXMoY29udGV4dE1lbnUsIGJyZWFrcG9pbnRzWzBdLCBldmVudC50YXJnZXQpOwogCi0gICAg
ICAgICAgICBpZiAoIVdJLmlzU2hvd2luZ0RlYnVnZ2VyVGFiKCkpIHsKKyAgICAgICAgICAgIGlm
IChXSS5zZXR0aW5ncy5leHBlcmltZW50YWxFbmFibGVTb3VyY2VzVGFiLnZhbHVlKSB7CisgICAg
ICAgICAgICAgICAgaWYgKCFXSS5pc1Nob3dpbmdTb3VyY2VzVGFiKCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kU2VwYXJhdG9yKCk7CisgICAgICAgICAgICAgICAg
ICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV0kuVUlTdHJpbmcoIlJldmVhbCBpbiBTb3VyY2Vz
IFRhYiIpLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICBXSS5zaG93U291cmNlc1Rh
Yih7YnJlYWtwb2ludFRvU2VsZWN0OiBicmVha3BvaW50c1swXX0pOworICAgICAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgaWYgKCFXSS5p
c1Nob3dpbmdEZWJ1Z2dlclRhYigpKSB7CiAgICAgICAgICAgICAgICAgY29udGV4dE1lbnUuYXBw
ZW5kU2VwYXJhdG9yKCk7CiAgICAgICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShX
SS5VSVN0cmluZygiUmV2ZWFsIGluIERlYnVnZ2VyIFRhYiIpLCAoKSA9PiB7CiAgICAgICAgICAg
ICAgICAgICAgIFdJLnNob3dEZWJ1Z2dlclRhYih7YnJlYWtwb2ludFRvU2VsZWN0OiBicmVha3Bv
aW50c1swXX0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU291cmNlc1RhYkNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc1RhYkNvbnRlbnRWaWV3LmpzCmluZGV4IDAyNjI5
OGIuLjcxY2ZmMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NvdXJjZXNUYWJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VzVGFiQ29udGVudFZpZXcuanMKQEAgLTI5
LDcgKzI5LDcgQEAgV0kuU291cmNlc1RhYkNvbnRlbnRWaWV3ID0gY2xhc3MgU291cmNlc1RhYkNv
bnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzZXIKICAgICB7CiAgICAgICAgIGxldCB0
YWJCYXJJdGVtID0gV0kuR2VuZXJhbFRhYkJhckl0ZW0uZnJvbVRhYkluZm8oV0kuU291cmNlc1Rh
YkNvbnRlbnRWaWV3LnRhYkluZm8oKSk7CiAgICAgICAgIGNvbnN0IGRldGFpbHNTaWRlYmFyUGFu
ZWxDb25zdHJ1Y3RvcnMgPSBbV0kuUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLCBXSS5Qcm9i
ZURldGFpbHNTaWRlYmFyUGFuZWxdOwotICAgICAgICBzdXBlcihpZGVudGlmaWVyIHx8ICJzb3Vy
Y2VzIiwgInNvdXJjZXMiLCB0YWJCYXJJdGVtLCBXSS5Tb3VyY2VzU2lkZWJhclBhbmVsLCBkZXRh
aWxzU2lkZWJhclBhbmVsQ29uc3RydWN0b3JzKTsKKyAgICAgICAgc3VwZXIoaWRlbnRpZmllciB8
fCBXSS5Tb3VyY2VzVGFiQ29udGVudFZpZXcuSWRlbnRpZmllciwgInNvdXJjZXMiLCB0YWJCYXJJ
dGVtLCBXSS5Tb3VyY2VzU2lkZWJhclBhbmVsLCBkZXRhaWxzU2lkZWJhclBhbmVsQ29uc3RydWN0
b3JzKTsKICAgICB9CiAKICAgICBzdGF0aWMgdGFiSW5mbygpCkBAIC02OCwzICs2OCw0IEBAIFdJ
LlNvdXJjZXNUYWJDb250ZW50VmlldyA9IGNsYXNzIFNvdXJjZXNUYWJDb250ZW50VmlldyBleHRl
bmRzIFdJLkNvbnRlbnRCcm93c2VyCiB9OwogCiBXSS5Tb3VyY2VzVGFiQ29udGVudFZpZXcuVHlw
ZSA9ICJzb3VyY2VzIjsKK1dJLlNvdXJjZXNUYWJDb250ZW50Vmlldy5JZGVudGlmaWVyID0gInNv
dXJjZXMiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGFiQnJvd3Nlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RhYkJyb3dzZXIuanMKaW5kZXggZDNjYjUwNC4uNGRhNGUzOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFiQnJvd3Nlci5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJCcm93c2Vy
LmpzCkBAIC0xMjEsNiArMTIxLDE4IEBAIFdJLlRhYkJyb3dzZXIgPSBjbGFzcyBUYWJCcm93c2Vy
IGV4dGVuZHMgV0kuVmlldwogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQoIXRoaXMuc2Vs
ZWN0ZWRUYWJDb250ZW50VmlldyB8fCB0aGlzLnNlbGVjdGVkVGFiQ29udGVudFZpZXcgPT09IHRo
aXMuX3JlY2VudFRhYkNvbnRlbnRWaWV3c1swXSk7CiAKKyAgICAgICAgaWYgKG9wdGlvbnMudGFi
SWRlbnRpZmllcikgeworICAgICAgICAgICAgZm9yIChsZXQgdGFiQ29udGVudFZpZXcgb2YgdGhp
cy5fcmVjZW50VGFiQ29udGVudFZpZXdzKSB7CisgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMu
dGFiSWRlbnRpZmllciAmJiBvcHRpb25zLnRhYklkZW50aWZpZXIgIT09IHRhYkNvbnRlbnRWaWV3
LmlkZW50aWZpZXIpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAg
ICAgICAgaWYgKHRhYkNvbnRlbnRWaWV3LmNhblNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNl
bnRlZE9iamVjdCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0YWJDb250ZW50VmlldzsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgIH0KKwog
ICAgICAgICBmb3IgKGxldCB0YWJDb250ZW50VmlldyBvZiB0aGlzLl9yZWNlbnRUYWJDb250ZW50
Vmlld3MpIHsKICAgICAgICAgICAgIGlmIChvcHRpb25zLmlnbm9yZVNlYXJjaFRhYiAmJiB0YWJD
b250ZW50VmlldyBpbnN0YW5jZW9mIFdJLlNlYXJjaFRhYkNvbnRlbnRWaWV3KQogICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335476</attachid>
            <date>2018-03-09 15:27:02 -0800</date>
            <delta_ts>2018-03-09 16:16:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8400</size>
            <attacher name="Nikita Vasilyev">nvasilyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDFhYjIyZmUuLjM2ZTFkMzQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE4LTAzLTA5ICBOaWtpdGEgVmFzaWx5
ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNvdXJj
ZXM6IE9wZW4gYWxsIHJlc291cmNlcyBpbiBTb3VyY2VzIHRhYiBpbnN0ZWFkIG9mIFJlc291cmNl
cy9EZWJ1Z2dlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTgzMzE3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODEwODQ1NT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4u
bHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2Uv
TWFpbi5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRleHRNZW51VXRpbGl0
aWVzLmpzOgorICAgICAgICAoV0kuYXBwZW5kQ29udGV4dE1lbnVJdGVtc0ZvclVSTCk6CisgICAg
ICAgIEludHJvZHVjZSB0YWJJZGVudGlmaWVyIG9wdGlvbiBpbnN0ZWFkIG9mIGxpc3RpbmcgaWdu
b3JlUmVzb3VyY2VzVGFiLCBpZ25vcmVEZWJ1Z2dlclRhYiwgaWdub3JlU2VhcmNoVGFiLCBhbmQg
aWdub3JlTmV0d29ya1RhYi4KKyAgICAgICAgVGhlIG9ubHkgY29ycmVjdCBvdXRjb21lIG9mIHNl
bGVjdGluZyAiUmV2ZWFsIGluIFNvdXJjZXMgVGFiIiBjb250ZXh0IG1lbnUgaXMgdG8gb3BlbiBT
b3VyY2VzIHRhYiwgbm90IGFueSBvdGhlciB0YWIuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzOgorICAgICAgICAoV0kuU291cmNlQ29kZVRl
eHRFZGl0b3IucHJvdG90eXBlLnRleHRFZGl0b3JHdXR0ZXJDb250ZXh0TWVudSk6CisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VzVGFiQ29udGVudFZpZXcuanM6CisgICAgICAg
IChXSS5Tb3VyY2VzVGFiQ29udGVudFZpZXcpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvVGFiQnJvd3Nlci5qczoKKyAgICAgICAgKFdJLlRhYkJyb3dzZXIucHJvdG90eXBlLmJlc3RU
YWJDb250ZW50Vmlld0ZvclJlcHJlc2VudGVkT2JqZWN0KToKKwogMjAxOC0wMy0wOCAgTmlraXRh
IFZhc2lseWV2ICA8bnZhc2lseWV2QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBTb3VyY2VzOiBhZGQgU291cmNlc1RhYkNvbnRlbnRWaWV3IGFuZCBTb3VyY2VTaWRlYmFyUGFu
ZWwgY2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlv
bnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9M
b2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggZmY2ZDYxZC4u
ZTU0Yjg2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMv
ZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
TG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCkBAIC03OTcsNiArNzk3
LDcgQEAgbG9jYWxpemVkU3RyaW5nc1siUmV2ZWFsIGluIExheWVycyBUYWIiXSA9ICJSZXZlYWwg
aW4gTGF5ZXJzIFRhYiI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJSZXZlYWwgaW4gTmV0d29yayBUYWIi
XSA9ICJSZXZlYWwgaW4gTmV0d29yayBUYWIiOwogbG9jYWxpemVkU3RyaW5nc1siUmV2ZWFsIGlu
IE9yaWdpbmFsIFJlc291cmNlIl0gPSAiUmV2ZWFsIGluIE9yaWdpbmFsIFJlc291cmNlIjsKIGxv
Y2FsaXplZFN0cmluZ3NbIlJldmVhbCBpbiBSZXNvdXJjZXMgVGFiIl0gPSAiUmV2ZWFsIGluIFJl
c291cmNlcyBUYWIiOworbG9jYWxpemVkU3RyaW5nc1siUmV2ZWFsIGluIFNvdXJjZXMgVGFiIl0g
PSAiUmV2ZWFsIGluIFNvdXJjZXMgVGFiIjsKIGxvY2FsaXplZFN0cmluZ3NbIlJpZ2h0Il0gPSAi
UmlnaHQiOwogbG9jYWxpemVkU3RyaW5nc1siUm9sZSJdID0gIlJvbGUiOwogbG9jYWxpemVkU3Ry
aW5nc1siUnVsZSJdID0gIlJ1bGUiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQmFzZS9NYWluLmpzCmluZGV4IDhjOTE5OWYuLmJhNmY4YmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKQEAgLTk2OCw2
ICs5NjgsMjMgQEAgV0kuaXNTaG93aW5nUmVzb3VyY2VzVGFiID0gZnVuY3Rpb24oKQogICAgIHJl
dHVybiB0aGlzLnRhYkJyb3dzZXIuc2VsZWN0ZWRUYWJDb250ZW50VmlldyBpbnN0YW5jZW9mIFdJ
LlJlc291cmNlc1RhYkNvbnRlbnRWaWV3OwogfTsKIAorV0kuaXNTaG93aW5nU291cmNlc1RhYiA9
IGZ1bmN0aW9uKCkKK3sKKyAgICByZXR1cm4gdGhpcy50YWJCcm93c2VyLnNlbGVjdGVkVGFiQ29u
dGVudFZpZXcgaW5zdGFuY2VvZiBXSS5Tb3VyY2VzVGFiQ29udGVudFZpZXc7Cit9OworCitXSS5z
aG93U291cmNlc1RhYiA9IGZ1bmN0aW9uKG9wdGlvbnMpCit7CisgICAgbGV0IHRhYkNvbnRlbnRW
aWV3ID0gdGhpcy50YWJCcm93c2VyLmJlc3RUYWJDb250ZW50Vmlld0ZvckNsYXNzKFdJLlNvdXJj
ZXNUYWJDb250ZW50Vmlldyk7CisgICAgaWYgKCF0YWJDb250ZW50VmlldykKKyAgICAgICAgdGFi
Q29udGVudFZpZXcgPSBuZXcgV0kuU291cmNlc1RhYkNvbnRlbnRWaWV3OworCisgICAgaWYgKG9w
dGlvbnMuYnJlYWtwb2ludFRvU2VsZWN0IGluc3RhbmNlb2YgV0kuQnJlYWtwb2ludCkKKyAgICAg
ICAgdGFiQ29udGVudFZpZXcucmV2ZWFsQW5kU2VsZWN0QnJlYWtwb2ludChvcHRpb25zLmJyZWFr
cG9pbnRUb1NlbGVjdCk7CisKKyAgICB0aGlzLnRhYkJyb3dzZXIuc2hvd1RhYkZvckNvbnRlbnRW
aWV3KHRhYkNvbnRlbnRWaWV3KTsKK307CisKIFdJLnNob3dTdG9yYWdlVGFiID0gZnVuY3Rpb24o
KQogewogICAgIHZhciB0YWJDb250ZW50VmlldyA9IHRoaXMudGFiQnJvd3Nlci5iZXN0VGFiQ29u
dGVudFZpZXdGb3JDbGFzcyhXSS5TdG9yYWdlVGFiQ29udGVudFZpZXcpOwpAQCAtMTM1MSw3ICsx
MzY4LDEwIEBAIFdJLl9kcmFnT3ZlciA9IGZ1bmN0aW9uKGV2ZW50KQogCiBXSS5fZGVidWdnZXJE
aWRQYXVzZSA9IGZ1bmN0aW9uKGV2ZW50KQogewotICAgIHRoaXMuc2hvd0RlYnVnZ2VyVGFiKHtz
aG93U2NvcGVDaGFpblNpZGViYXI6IFdJLnNldHRpbmdzLnNob3dTY29wZUNoYWluT25QYXVzZS52
YWx1ZX0pOworICAgIGlmIChXSS5zZXR0aW5ncy5leHBlcmltZW50YWxFbmFibGVTb3VyY2VzVGFi
LnZhbHVlKQorICAgICAgICB0aGlzLnNob3dTb3VyY2VzVGFiKCk7CisgICAgZWxzZQorICAgICAg
ICB0aGlzLnNob3dEZWJ1Z2dlclRhYih7c2hvd1Njb3BlQ2hhaW5TaWRlYmFyOiBXSS5zZXR0aW5n
cy5zaG93U2NvcGVDaGFpbk9uUGF1c2UudmFsdWV9KTsKIAogICAgIHRoaXMuX2Rhc2hib2FyZENv
bnRhaW5lci5zaG93RGFzaGJvYXJkVmlld0ZvclJlcHJlc2VudGVkT2JqZWN0KHRoaXMuZGFzaGJv
YXJkTWFuYWdlci5kYXNoYm9hcmRzLmRlYnVnZ2VyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGV4dE1lbnVVdGlsaXRpZXMuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZXh0TWVudVV0
aWxpdGllcy5qcwppbmRleCA5NGQ0ODUxLi5jMDgyMjViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZXh0TWVudVV0aWxpdGllcy5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZXh0TWVu
dVV0aWxpdGllcy5qcwpAQCAtMTAxLDcgKzEwMSwxMyBAQCBXSS5hcHBlbmRDb250ZXh0TWVudUl0
ZW1zRm9yVVJMID0gZnVuY3Rpb24oY29udGV4dE1lbnUsIHVybCwgb3B0aW9ucykKICAgICB9KTsK
IAogICAgIGlmIChXSS5mcmFtZVJlc291cmNlTWFuYWdlci5yZXNvdXJjZUZvclVSTCh1cmwpKSB7
Ci0gICAgICAgIGlmICghV0kuaXNTaG93aW5nUmVzb3VyY2VzVGFiKCkpIHsKKyAgICAgICAgaWYg
KFdJLnNldHRpbmdzLmV4cGVyaW1lbnRhbEVuYWJsZVNvdXJjZXNUYWIudmFsdWUpIHsKKyAgICAg
ICAgICAgIGlmICghV0kuaXNTaG93aW5nU291cmNlc1RhYigpKSB7CisgICAgICAgICAgICAgICAg
Y29udGV4dE1lbnUuYXBwZW5kSXRlbShXSS5VSVN0cmluZygiUmV2ZWFsIGluIFNvdXJjZXMgVGFi
IiksICgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAgc2hvd1Jlc291cmNlV2l0aE9wdGlvbnMo
e3RhYklkZW50aWZpZXI6IFdJLlNvdXJjZXNUYWJDb250ZW50Vmlldy5JZGVudGlmaWVyfSk7Cisg
ICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSBpZiAoIVdJ
LmlzU2hvd2luZ1Jlc291cmNlc1RhYigpKSB7CiAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBl
bmRJdGVtKFdJLlVJU3RyaW5nKCJSZXZlYWwgaW4gUmVzb3VyY2VzIFRhYiIpLCAoKSA9PiB7CiAg
ICAgICAgICAgICAgICAgc2hvd1Jlc291cmNlV2l0aE9wdGlvbnMoe2lnbm9yZU5ldHdvcmtUYWI6
IHRydWUsIGlnbm9yZVNlYXJjaFRhYjogdHJ1ZX0pOwogICAgICAgICAgICAgfSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2Rl
VGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCmluZGV4IGY4ZGQ4NGEuLjQ5NDNlNzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NvdXJjZUNvZGVU
ZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCkBAIC0xMjQ4LDcgKzEyNDgsMTQgQEAgV0kuU291
cmNlQ29kZVRleHRFZGl0b3IgPSBjbGFzcyBTb3VyY2VDb2RlVGV4dEVkaXRvciBleHRlbmRzIFdJ
LlRleHRFZGl0b3IKICAgICAgICAgaWYgKGJyZWFrcG9pbnRzLmxlbmd0aCA9PT0gMSkgewogICAg
ICAgICAgICAgV0kuYnJlYWtwb2ludFBvcG92ZXJDb250cm9sbGVyLmFwcGVuZENvbnRleHRNZW51
SXRlbXMoY29udGV4dE1lbnUsIGJyZWFrcG9pbnRzWzBdLCBldmVudC50YXJnZXQpOwogCi0gICAg
ICAgICAgICBpZiAoIVdJLmlzU2hvd2luZ0RlYnVnZ2VyVGFiKCkpIHsKKyAgICAgICAgICAgIGlm
IChXSS5zZXR0aW5ncy5leHBlcmltZW50YWxFbmFibGVTb3VyY2VzVGFiLnZhbHVlKSB7CisgICAg
ICAgICAgICAgICAgaWYgKCFXSS5pc1Nob3dpbmdTb3VyY2VzVGFiKCkpIHsKKyAgICAgICAgICAg
ICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kU2VwYXJhdG9yKCk7CisgICAgICAgICAgICAgICAg
ICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV0kuVUlTdHJpbmcoIlJldmVhbCBpbiBTb3VyY2Vz
IFRhYiIpLCAoKSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICBXSS5zaG93U291cmNlc1Rh
Yih7YnJlYWtwb2ludFRvU2VsZWN0OiBicmVha3BvaW50c1swXX0pOworICAgICAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgaWYgKCFXSS5p
c1Nob3dpbmdEZWJ1Z2dlclRhYigpKSB7CiAgICAgICAgICAgICAgICAgY29udGV4dE1lbnUuYXBw
ZW5kU2VwYXJhdG9yKCk7CiAgICAgICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShX
SS5VSVN0cmluZygiUmV2ZWFsIGluIERlYnVnZ2VyIFRhYiIpLCAoKSA9PiB7CiAgICAgICAgICAg
ICAgICAgICAgIFdJLnNob3dEZWJ1Z2dlclRhYih7YnJlYWtwb2ludFRvU2VsZWN0OiBicmVha3Bv
aW50c1swXX0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU291cmNlc1RhYkNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlc1RhYkNvbnRlbnRWaWV3LmpzCmluZGV4IDAyNjI5
OGIuLjcxY2ZmMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NvdXJjZXNUYWJDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VzVGFiQ29udGVudFZpZXcuanMKQEAgLTI5
LDcgKzI5LDcgQEAgV0kuU291cmNlc1RhYkNvbnRlbnRWaWV3ID0gY2xhc3MgU291cmNlc1RhYkNv
bnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudEJyb3dzZXIKICAgICB7CiAgICAgICAgIGxldCB0
YWJCYXJJdGVtID0gV0kuR2VuZXJhbFRhYkJhckl0ZW0uZnJvbVRhYkluZm8oV0kuU291cmNlc1Rh
YkNvbnRlbnRWaWV3LnRhYkluZm8oKSk7CiAgICAgICAgIGNvbnN0IGRldGFpbHNTaWRlYmFyUGFu
ZWxDb25zdHJ1Y3RvcnMgPSBbV0kuUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLCBXSS5Qcm9i
ZURldGFpbHNTaWRlYmFyUGFuZWxdOwotICAgICAgICBzdXBlcihpZGVudGlmaWVyIHx8ICJzb3Vy
Y2VzIiwgInNvdXJjZXMiLCB0YWJCYXJJdGVtLCBXSS5Tb3VyY2VzU2lkZWJhclBhbmVsLCBkZXRh
aWxzU2lkZWJhclBhbmVsQ29uc3RydWN0b3JzKTsKKyAgICAgICAgc3VwZXIoaWRlbnRpZmllciB8
fCBXSS5Tb3VyY2VzVGFiQ29udGVudFZpZXcuSWRlbnRpZmllciwgInNvdXJjZXMiLCB0YWJCYXJJ
dGVtLCBXSS5Tb3VyY2VzU2lkZWJhclBhbmVsLCBkZXRhaWxzU2lkZWJhclBhbmVsQ29uc3RydWN0
b3JzKTsKICAgICB9CiAKICAgICBzdGF0aWMgdGFiSW5mbygpCkBAIC02OCwzICs2OCw0IEBAIFdJ
LlNvdXJjZXNUYWJDb250ZW50VmlldyA9IGNsYXNzIFNvdXJjZXNUYWJDb250ZW50VmlldyBleHRl
bmRzIFdJLkNvbnRlbnRCcm93c2VyCiB9OwogCiBXSS5Tb3VyY2VzVGFiQ29udGVudFZpZXcuVHlw
ZSA9ICJzb3VyY2VzIjsKK1dJLlNvdXJjZXNUYWJDb250ZW50Vmlldy5JZGVudGlmaWVyID0gInNv
dXJjZXMiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGFiQnJvd3Nlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RhYkJyb3dzZXIuanMKaW5kZXggZDNjYjUwNC4uNTkxODMwNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFiQnJvd3Nlci5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJCcm93c2Vy
LmpzCkBAIC0xMjEsNiArMTIxLDE2IEBAIFdJLlRhYkJyb3dzZXIgPSBjbGFzcyBUYWJCcm93c2Vy
IGV4dGVuZHMgV0kuVmlldwogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQoIXRoaXMuc2Vs
ZWN0ZWRUYWJDb250ZW50VmlldyB8fCB0aGlzLnNlbGVjdGVkVGFiQ29udGVudFZpZXcgPT09IHRo
aXMuX3JlY2VudFRhYkNvbnRlbnRWaWV3c1swXSk7CiAKKyAgICAgICAgaWYgKG9wdGlvbnMudGFi
SWRlbnRpZmllcikgeworICAgICAgICAgICAgZm9yIChsZXQgdGFiQ29udGVudFZpZXcgb2YgdGhp
cy5fcmVjZW50VGFiQ29udGVudFZpZXdzKSB7CisgICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMu
dGFiSWRlbnRpZmllciAhPT0gdGFiQ29udGVudFZpZXcuaWRlbnRpZmllcikKKyAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgICAgICBpZiAodGFiQ29udGVudFZpZXcu
Y2FuU2hvd1JlcHJlc2VudGVkT2JqZWN0KHJlcHJlc2VudGVkT2JqZWN0KSkKKyAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRhYkNvbnRlbnRWaWV3OworICAgICAgICAgICAgfQorICAgICAgICB9
CisKICAgICAgICAgZm9yIChsZXQgdGFiQ29udGVudFZpZXcgb2YgdGhpcy5fcmVjZW50VGFiQ29u
dGVudFZpZXdzKSB7CiAgICAgICAgICAgICBpZiAob3B0aW9ucy5pZ25vcmVTZWFyY2hUYWIgJiYg
dGFiQ29udGVudFZpZXcgaW5zdGFuY2VvZiBXSS5TZWFyY2hUYWJDb250ZW50VmlldykKICAgICAg
ICAgICAgICAgICBjb250aW51ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335485</attachid>
            <date>2018-03-09 16:16:22 -0800</date>
            <delta_ts>2018-03-09 16:45:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>7169</size>
            <attacher name="Nikita Vasilyev">nvasilyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDFhYjIyZmUuLjNjZTc5NTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTAzLTA5ICBOaWtpdGEgVmFzaWx5
ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNvdXJj
ZXM6IE9wZW4gYWxsIHJlc291cmNlcyBpbiBTb3VyY2VzIHRhYiBpbnN0ZWFkIG9mIFJlc291cmNl
cy9EZWJ1Z2dlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTgzMzE3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODEwODQ1NT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4u
bHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2Uv
TWFpbi5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRleHRNZW51VXRpbGl0
aWVzLmpzOgorICAgICAgICAoV0kuYXBwZW5kQ29udGV4dE1lbnVJdGVtc0ZvclVSTCk6CisgICAg
ICAgIEludHJvZHVjZSBwcmVmZXJyZWRUYWJUeXBlIG9wdGlvbiBpbnN0ZWFkIG9mIGxpc3Rpbmcg
aWdub3JlUmVzb3VyY2VzVGFiLCBpZ25vcmVEZWJ1Z2dlclRhYiwgaWdub3JlU2VhcmNoVGFiLCBh
bmQgaWdub3JlTmV0d29ya1RhYi4KKyAgICAgICAgVGhlIG9ubHkgY29ycmVjdCBvdXRjb21lIG9m
IHNlbGVjdGluZyAiUmV2ZWFsIGluIFNvdXJjZXMgVGFiIiBjb250ZXh0IG1lbnUgaXMgdG8gb3Bl
biBTb3VyY2VzIHRhYiwgbm90IGFueSBvdGhlciB0YWIuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzOgorICAgICAgICAoV0kuU291cmNlQ29k
ZVRleHRFZGl0b3IucHJvdG90eXBlLnRleHRFZGl0b3JHdXR0ZXJDb250ZXh0TWVudSk6CisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UYWJCcm93c2VyLmpzOgorICAgICAgICAoV0kuVGFi
QnJvd3Nlci5wcm90b3R5cGUuYmVzdFRhYkNvbnRlbnRWaWV3Rm9yUmVwcmVzZW50ZWRPYmplY3Qp
OgorCiAyMDE4LTAzLTA4ICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNvdXJjZXM6IGFkZCBTb3VyY2VzVGFiQ29udGVudFZp
ZXcgYW5kIFNvdXJjZVNpZGViYXJQYW5lbCBjbGFzc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3Ry
aW5ncy5qcwppbmRleCBmZjZkNjFkLi5lNTRiODY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanMKQEAgLTc5Nyw2ICs3OTcsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJSZXZlYWwgaW4g
TGF5ZXJzIFRhYiJdID0gIlJldmVhbCBpbiBMYXllcnMgVGFiIjsKIGxvY2FsaXplZFN0cmluZ3Nb
IlJldmVhbCBpbiBOZXR3b3JrIFRhYiJdID0gIlJldmVhbCBpbiBOZXR3b3JrIFRhYiI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJSZXZlYWwgaW4gT3JpZ2luYWwgUmVzb3VyY2UiXSA9ICJSZXZlYWwgaW4g
T3JpZ2luYWwgUmVzb3VyY2UiOwogbG9jYWxpemVkU3RyaW5nc1siUmV2ZWFsIGluIFJlc291cmNl
cyBUYWIiXSA9ICJSZXZlYWwgaW4gUmVzb3VyY2VzIFRhYiI7Citsb2NhbGl6ZWRTdHJpbmdzWyJS
ZXZlYWwgaW4gU291cmNlcyBUYWIiXSA9ICJSZXZlYWwgaW4gU291cmNlcyBUYWIiOwogbG9jYWxp
emVkU3RyaW5nc1siUmlnaHQiXSA9ICJSaWdodCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJSb2xlIl0g
PSAiUm9sZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJSdWxlIl0gPSAiUnVsZSI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKaW5kZXggOGM5MTk5
Zi4uYmE2ZjhiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9NYWluLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0Jhc2UvTWFpbi5qcwpAQCAtOTY4LDYgKzk2OCwyMyBAQCBXSS5pc1Nob3dpbmdSZXNvdXJjZXNU
YWIgPSBmdW5jdGlvbigpCiAgICAgcmV0dXJuIHRoaXMudGFiQnJvd3Nlci5zZWxlY3RlZFRhYkNv
bnRlbnRWaWV3IGluc3RhbmNlb2YgV0kuUmVzb3VyY2VzVGFiQ29udGVudFZpZXc7CiB9OwogCitX
SS5pc1Nob3dpbmdTb3VyY2VzVGFiID0gZnVuY3Rpb24oKQoreworICAgIHJldHVybiB0aGlzLnRh
YkJyb3dzZXIuc2VsZWN0ZWRUYWJDb250ZW50VmlldyBpbnN0YW5jZW9mIFdJLlNvdXJjZXNUYWJD
b250ZW50VmlldzsKK307CisKK1dJLnNob3dTb3VyY2VzVGFiID0gZnVuY3Rpb24ob3B0aW9ucykK
K3sKKyAgICBsZXQgdGFiQ29udGVudFZpZXcgPSB0aGlzLnRhYkJyb3dzZXIuYmVzdFRhYkNvbnRl
bnRWaWV3Rm9yQ2xhc3MoV0kuU291cmNlc1RhYkNvbnRlbnRWaWV3KTsKKyAgICBpZiAoIXRhYkNv
bnRlbnRWaWV3KQorICAgICAgICB0YWJDb250ZW50VmlldyA9IG5ldyBXSS5Tb3VyY2VzVGFiQ29u
dGVudFZpZXc7CisKKyAgICBpZiAob3B0aW9ucy5icmVha3BvaW50VG9TZWxlY3QgaW5zdGFuY2Vv
ZiBXSS5CcmVha3BvaW50KQorICAgICAgICB0YWJDb250ZW50Vmlldy5yZXZlYWxBbmRTZWxlY3RC
cmVha3BvaW50KG9wdGlvbnMuYnJlYWtwb2ludFRvU2VsZWN0KTsKKworICAgIHRoaXMudGFiQnJv
d3Nlci5zaG93VGFiRm9yQ29udGVudFZpZXcodGFiQ29udGVudFZpZXcpOworfTsKKwogV0kuc2hv
d1N0b3JhZ2VUYWIgPSBmdW5jdGlvbigpCiB7CiAgICAgdmFyIHRhYkNvbnRlbnRWaWV3ID0gdGhp
cy50YWJCcm93c2VyLmJlc3RUYWJDb250ZW50Vmlld0ZvckNsYXNzKFdJLlN0b3JhZ2VUYWJDb250
ZW50Vmlldyk7CkBAIC0xMzUxLDcgKzEzNjgsMTAgQEAgV0kuX2RyYWdPdmVyID0gZnVuY3Rpb24o
ZXZlbnQpCiAKIFdJLl9kZWJ1Z2dlckRpZFBhdXNlID0gZnVuY3Rpb24oZXZlbnQpCiB7Ci0gICAg
dGhpcy5zaG93RGVidWdnZXJUYWIoe3Nob3dTY29wZUNoYWluU2lkZWJhcjogV0kuc2V0dGluZ3Mu
c2hvd1Njb3BlQ2hhaW5PblBhdXNlLnZhbHVlfSk7CisgICAgaWYgKFdJLnNldHRpbmdzLmV4cGVy
aW1lbnRhbEVuYWJsZVNvdXJjZXNUYWIudmFsdWUpCisgICAgICAgIHRoaXMuc2hvd1NvdXJjZXNU
YWIoKTsKKyAgICBlbHNlCisgICAgICAgIHRoaXMuc2hvd0RlYnVnZ2VyVGFiKHtzaG93U2NvcGVD
aGFpblNpZGViYXI6IFdJLnNldHRpbmdzLnNob3dTY29wZUNoYWluT25QYXVzZS52YWx1ZX0pOwog
CiAgICAgdGhpcy5fZGFzaGJvYXJkQ29udGFpbmVyLnNob3dEYXNoYm9hcmRWaWV3Rm9yUmVwcmVz
ZW50ZWRPYmplY3QodGhpcy5kYXNoYm9hcmRNYW5hZ2VyLmRhc2hib2FyZHMuZGVidWdnZXIpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9D
b250ZXh0TWVudVV0aWxpdGllcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0NvbnRleHRNZW51VXRpbGl0aWVzLmpzCmluZGV4IDk0ZDQ4NTEuLjUwNzYwYTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Nv
bnRleHRNZW51VXRpbGl0aWVzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0NvbnRleHRNZW51VXRpbGl0aWVzLmpzCkBAIC0xMDEsNyArMTAxLDEzIEBA
IFdJLmFwcGVuZENvbnRleHRNZW51SXRlbXNGb3JVUkwgPSBmdW5jdGlvbihjb250ZXh0TWVudSwg
dXJsLCBvcHRpb25zKQogICAgIH0pOwogCiAgICAgaWYgKFdJLmZyYW1lUmVzb3VyY2VNYW5hZ2Vy
LnJlc291cmNlRm9yVVJMKHVybCkpIHsKLSAgICAgICAgaWYgKCFXSS5pc1Nob3dpbmdSZXNvdXJj
ZXNUYWIoKSkgeworICAgICAgICBpZiAoV0kuc2V0dGluZ3MuZXhwZXJpbWVudGFsRW5hYmxlU291
cmNlc1RhYi52YWx1ZSkgeworICAgICAgICAgICAgaWYgKCFXSS5pc1Nob3dpbmdTb3VyY2VzVGFi
KCkpIHsKKyAgICAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdJLlVJU3RyaW5n
KCJSZXZlYWwgaW4gU291cmNlcyBUYWIiKSwgKCkgPT4geworICAgICAgICAgICAgICAgICAgICBz
aG93UmVzb3VyY2VXaXRoT3B0aW9ucyh7cHJlZmVycmVkVGFiVHlwZTogV0kuU291cmNlc1RhYkNv
bnRlbnRWaWV3LlR5cGV9KTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfSBlbHNlIGlmICghV0kuaXNTaG93aW5nUmVzb3VyY2VzVGFiKCkpIHsKICAgICAgICAg
ICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV0kuVUlTdHJpbmcoIlJldmVhbCBpbiBSZXNvdXJj
ZXMgVGFiIiksICgpID0+IHsKICAgICAgICAgICAgICAgICBzaG93UmVzb3VyY2VXaXRoT3B0aW9u
cyh7aWdub3JlTmV0d29ya1RhYjogdHJ1ZSwgaWdub3JlU2VhcmNoVGFiOiB0cnVlfSk7CiAgICAg
ICAgICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMKaW5kZXggZjhkZDg0
YS4uNDk0M2U3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMKQEAgLTEyNDgs
NyArMTI0OCwxNCBAQCBXSS5Tb3VyY2VDb2RlVGV4dEVkaXRvciA9IGNsYXNzIFNvdXJjZUNvZGVU
ZXh0RWRpdG9yIGV4dGVuZHMgV0kuVGV4dEVkaXRvcgogICAgICAgICBpZiAoYnJlYWtwb2ludHMu
bGVuZ3RoID09PSAxKSB7CiAgICAgICAgICAgICBXSS5icmVha3BvaW50UG9wb3ZlckNvbnRyb2xs
ZXIuYXBwZW5kQ29udGV4dE1lbnVJdGVtcyhjb250ZXh0TWVudSwgYnJlYWtwb2ludHNbMF0sIGV2
ZW50LnRhcmdldCk7CiAKLSAgICAgICAgICAgIGlmICghV0kuaXNTaG93aW5nRGVidWdnZXJUYWIo
KSkgeworICAgICAgICAgICAgaWYgKFdJLnNldHRpbmdzLmV4cGVyaW1lbnRhbEVuYWJsZVNvdXJj
ZXNUYWIudmFsdWUpIHsKKyAgICAgICAgICAgICAgICBpZiAoIVdJLmlzU2hvd2luZ1NvdXJjZXNU
YWIoKSkgeworICAgICAgICAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRTZXBhcmF0b3Io
KTsKKyAgICAgICAgICAgICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShXSS5VSVN0cmlu
ZygiUmV2ZWFsIGluIFNvdXJjZXMgVGFiIiksICgpID0+IHsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIFdJLnNob3dTb3VyY2VzVGFiKHticmVha3BvaW50VG9TZWxlY3Q6IGJyZWFrcG9pbnRzWzBd
fSk7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIH0gZWxzZSBpZiAoIVdJLmlzU2hvd2luZ0RlYnVnZ2VyVGFiKCkpIHsKICAgICAgICAgICAg
ICAgICBjb250ZXh0TWVudS5hcHBlbmRTZXBhcmF0b3IoKTsKICAgICAgICAgICAgICAgICBjb250
ZXh0TWVudS5hcHBlbmRJdGVtKFdJLlVJU3RyaW5nKCJSZXZlYWwgaW4gRGVidWdnZXIgVGFiIiks
ICgpID0+IHsKICAgICAgICAgICAgICAgICAgICAgV0kuc2hvd0RlYnVnZ2VyVGFiKHticmVha3Bv
aW50VG9TZWxlY3Q6IGJyZWFrcG9pbnRzWzBdfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJCcm93c2VyLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFiQnJvd3Nlci5qcwppbmRleCBkM2NiNTA0
Li4yN2I1ZGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UYWJCcm93c2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RhYkJyb3dzZXIuanMKQEAgLTEyMSw2ICsxMjEsMTYgQEAgV0kuVGFiQnJv
d3NlciA9IGNsYXNzIFRhYkJyb3dzZXIgZXh0ZW5kcyBXSS5WaWV3CiAgICAgewogICAgICAgICBj
b25zb2xlLmFzc2VydCghdGhpcy5zZWxlY3RlZFRhYkNvbnRlbnRWaWV3IHx8IHRoaXMuc2VsZWN0
ZWRUYWJDb250ZW50VmlldyA9PT0gdGhpcy5fcmVjZW50VGFiQ29udGVudFZpZXdzWzBdKTsKIAor
ICAgICAgICBpZiAob3B0aW9ucy5wcmVmZXJyZWRUYWJUeXBlKSB7CisgICAgICAgICAgICBmb3Ig
KGxldCB0YWJDb250ZW50VmlldyBvZiB0aGlzLl9yZWNlbnRUYWJDb250ZW50Vmlld3MpIHsKKyAg
ICAgICAgICAgICAgICBpZiAob3B0aW9ucy5wcmVmZXJyZWRUYWJUeXBlICE9PSB0YWJDb250ZW50
Vmlldy50eXBlKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
ICAgIGlmICh0YWJDb250ZW50Vmlldy5jYW5TaG93UmVwcmVzZW50ZWRPYmplY3QocmVwcmVzZW50
ZWRPYmplY3QpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFiQ29udGVudFZpZXc7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0KKwogICAgICAgICBmb3IgKGxldCB0YWJDb250ZW50Vmll
dyBvZiB0aGlzLl9yZWNlbnRUYWJDb250ZW50Vmlld3MpIHsKICAgICAgICAgICAgIGlmIChvcHRp
b25zLmlnbm9yZVNlYXJjaFRhYiAmJiB0YWJDb250ZW50VmlldyBpbnN0YW5jZW9mIFdJLlNlYXJj
aFRhYkNvbnRlbnRWaWV3KQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335488</attachid>
            <date>2018-03-09 16:45:36 -0800</date>
            <delta_ts>2018-03-09 17:24:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>7068</size>
            <attacher name="Nikita Vasilyev">nvasilyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDFhYjIyZmUuLjNjZTc5NTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTAzLTA5ICBOaWtpdGEgVmFzaWx5
ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNvdXJj
ZXM6IE9wZW4gYWxsIHJlc291cmNlcyBpbiBTb3VyY2VzIHRhYiBpbnN0ZWFkIG9mIFJlc291cmNl
cy9EZWJ1Z2dlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTgzMzE3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zODEwODQ1NT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIExvY2FsaXphdGlvbnMvZW4u
bHByb2ovbG9jYWxpemVkU3RyaW5ncy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2Uv
TWFpbi5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRleHRNZW51VXRpbGl0
aWVzLmpzOgorICAgICAgICAoV0kuYXBwZW5kQ29udGV4dE1lbnVJdGVtc0ZvclVSTCk6CisgICAg
ICAgIEludHJvZHVjZSBwcmVmZXJyZWRUYWJUeXBlIG9wdGlvbiBpbnN0ZWFkIG9mIGxpc3Rpbmcg
aWdub3JlUmVzb3VyY2VzVGFiLCBpZ25vcmVEZWJ1Z2dlclRhYiwgaWdub3JlU2VhcmNoVGFiLCBh
bmQgaWdub3JlTmV0d29ya1RhYi4KKyAgICAgICAgVGhlIG9ubHkgY29ycmVjdCBvdXRjb21lIG9m
IHNlbGVjdGluZyAiUmV2ZWFsIGluIFNvdXJjZXMgVGFiIiBjb250ZXh0IG1lbnUgaXMgdG8gb3Bl
biBTb3VyY2VzIHRhYiwgbm90IGFueSBvdGhlciB0YWIuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1ZpZXdzL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzOgorICAgICAgICAoV0kuU291cmNlQ29k
ZVRleHRFZGl0b3IucHJvdG90eXBlLnRleHRFZGl0b3JHdXR0ZXJDb250ZXh0TWVudSk6CisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UYWJCcm93c2VyLmpzOgorICAgICAgICAoV0kuVGFi
QnJvd3Nlci5wcm90b3R5cGUuYmVzdFRhYkNvbnRlbnRWaWV3Rm9yUmVwcmVzZW50ZWRPYmplY3Qp
OgorCiAyMDE4LTAzLTA4ICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNvdXJjZXM6IGFkZCBTb3VyY2VzVGFiQ29udGVudFZp
ZXcgYW5kIFNvdXJjZVNpZGViYXJQYW5lbCBjbGFzc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3Ry
aW5ncy5qcwppbmRleCBmZjZkNjFkLi5lNTRiODY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanMKQEAgLTc5Nyw2ICs3OTcsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJSZXZlYWwgaW4g
TGF5ZXJzIFRhYiJdID0gIlJldmVhbCBpbiBMYXllcnMgVGFiIjsKIGxvY2FsaXplZFN0cmluZ3Nb
IlJldmVhbCBpbiBOZXR3b3JrIFRhYiJdID0gIlJldmVhbCBpbiBOZXR3b3JrIFRhYiI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJSZXZlYWwgaW4gT3JpZ2luYWwgUmVzb3VyY2UiXSA9ICJSZXZlYWwgaW4g
T3JpZ2luYWwgUmVzb3VyY2UiOwogbG9jYWxpemVkU3RyaW5nc1siUmV2ZWFsIGluIFJlc291cmNl
cyBUYWIiXSA9ICJSZXZlYWwgaW4gUmVzb3VyY2VzIFRhYiI7Citsb2NhbGl6ZWRTdHJpbmdzWyJS
ZXZlYWwgaW4gU291cmNlcyBUYWIiXSA9ICJSZXZlYWwgaW4gU291cmNlcyBUYWIiOwogbG9jYWxp
emVkU3RyaW5nc1siUmlnaHQiXSA9ICJSaWdodCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJSb2xlIl0g
PSAiUm9sZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJSdWxlIl0gPSAiUnVsZSI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKaW5kZXggOGM5MTk5
Zi4uNDdlNWVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQmFzZS9NYWluLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0Jhc2UvTWFpbi5qcwpAQCAtOTY4LDYgKzk2OCwyMyBAQCBXSS5pc1Nob3dpbmdSZXNvdXJjZXNU
YWIgPSBmdW5jdGlvbigpCiAgICAgcmV0dXJuIHRoaXMudGFiQnJvd3Nlci5zZWxlY3RlZFRhYkNv
bnRlbnRWaWV3IGluc3RhbmNlb2YgV0kuUmVzb3VyY2VzVGFiQ29udGVudFZpZXc7CiB9OwogCitX
SS5pc1Nob3dpbmdTb3VyY2VzVGFiID0gZnVuY3Rpb24oKQoreworICAgIHJldHVybiB0aGlzLnRh
YkJyb3dzZXIuc2VsZWN0ZWRUYWJDb250ZW50VmlldyBpbnN0YW5jZW9mIFdJLlNvdXJjZXNUYWJD
b250ZW50VmlldzsKK307CisKK1dJLnNob3dTb3VyY2VzVGFiID0gZnVuY3Rpb24ob3B0aW9ucyA9
IHt9KQoreworICAgIGxldCB0YWJDb250ZW50VmlldyA9IHRoaXMudGFiQnJvd3Nlci5iZXN0VGFi
Q29udGVudFZpZXdGb3JDbGFzcyhXSS5Tb3VyY2VzVGFiQ29udGVudFZpZXcpOworICAgIGlmICgh
dGFiQ29udGVudFZpZXcpCisgICAgICAgIHRhYkNvbnRlbnRWaWV3ID0gbmV3IFdJLlNvdXJjZXNU
YWJDb250ZW50VmlldzsKKworICAgIGlmIChvcHRpb25zLmJyZWFrcG9pbnRUb1NlbGVjdCBpbnN0
YW5jZW9mIFdJLkJyZWFrcG9pbnQpCisgICAgICAgIHRhYkNvbnRlbnRWaWV3LnJldmVhbEFuZFNl
bGVjdEJyZWFrcG9pbnQob3B0aW9ucy5icmVha3BvaW50VG9TZWxlY3QpOworCisgICAgdGhpcy50
YWJCcm93c2VyLnNob3dUYWJGb3JDb250ZW50Vmlldyh0YWJDb250ZW50Vmlldyk7Cit9OworCiBX
SS5zaG93U3RvcmFnZVRhYiA9IGZ1bmN0aW9uKCkKIHsKICAgICB2YXIgdGFiQ29udGVudFZpZXcg
PSB0aGlzLnRhYkJyb3dzZXIuYmVzdFRhYkNvbnRlbnRWaWV3Rm9yQ2xhc3MoV0kuU3RvcmFnZVRh
YkNvbnRlbnRWaWV3KTsKQEAgLTEzNTEsNyArMTM2OCwxMCBAQCBXSS5fZHJhZ092ZXIgPSBmdW5j
dGlvbihldmVudCkKIAogV0kuX2RlYnVnZ2VyRGlkUGF1c2UgPSBmdW5jdGlvbihldmVudCkKIHsK
LSAgICB0aGlzLnNob3dEZWJ1Z2dlclRhYih7c2hvd1Njb3BlQ2hhaW5TaWRlYmFyOiBXSS5zZXR0
aW5ncy5zaG93U2NvcGVDaGFpbk9uUGF1c2UudmFsdWV9KTsKKyAgICBpZiAoV0kuc2V0dGluZ3Mu
ZXhwZXJpbWVudGFsRW5hYmxlU291cmNlc1RhYi52YWx1ZSkKKyAgICAgICAgdGhpcy5zaG93U291
cmNlc1RhYigpOworICAgIGVsc2UKKyAgICAgICAgdGhpcy5zaG93RGVidWdnZXJUYWIoe3Nob3dT
Y29wZUNoYWluU2lkZWJhcjogV0kuc2V0dGluZ3Muc2hvd1Njb3BlQ2hhaW5PblBhdXNlLnZhbHVl
fSk7CiAKICAgICB0aGlzLl9kYXNoYm9hcmRDb250YWluZXIuc2hvd0Rhc2hib2FyZFZpZXdGb3JS
ZXByZXNlbnRlZE9iamVjdCh0aGlzLmRhc2hib2FyZE1hbmFnZXIuZGFzaGJvYXJkcy5kZWJ1Z2dl
cik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NvbnRleHRNZW51VXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ29udGV4dE1lbnVVdGlsaXRpZXMuanMKaW5kZXggOTRkNDg1MS4uNTA3
NjBhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvQ29udGV4dE1lbnVVdGlsaXRpZXMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQ29udGV4dE1lbnVVdGlsaXRpZXMuanMKQEAgLTEwMSw3ICsxMDEs
MTMgQEAgV0kuYXBwZW5kQ29udGV4dE1lbnVJdGVtc0ZvclVSTCA9IGZ1bmN0aW9uKGNvbnRleHRN
ZW51LCB1cmwsIG9wdGlvbnMpCiAgICAgfSk7CiAKICAgICBpZiAoV0kuZnJhbWVSZXNvdXJjZU1h
bmFnZXIucmVzb3VyY2VGb3JVUkwodXJsKSkgewotICAgICAgICBpZiAoIVdJLmlzU2hvd2luZ1Jl
c291cmNlc1RhYigpKSB7CisgICAgICAgIGlmIChXSS5zZXR0aW5ncy5leHBlcmltZW50YWxFbmFi
bGVTb3VyY2VzVGFiLnZhbHVlKSB7CisgICAgICAgICAgICBpZiAoIVdJLmlzU2hvd2luZ1NvdXJj
ZXNUYWIoKSkgeworICAgICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV0kuVUlT
dHJpbmcoIlJldmVhbCBpbiBTb3VyY2VzIFRhYiIpLCAoKSA9PiB7CisgICAgICAgICAgICAgICAg
ICAgIHNob3dSZXNvdXJjZVdpdGhPcHRpb25zKHtwcmVmZXJyZWRUYWJUeXBlOiBXSS5Tb3VyY2Vz
VGFiQ29udGVudFZpZXcuVHlwZX0pOworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
fQorICAgICAgICB9IGVsc2UgaWYgKCFXSS5pc1Nob3dpbmdSZXNvdXJjZXNUYWIoKSkgewogICAg
ICAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShXSS5VSVN0cmluZygiUmV2ZWFsIGluIFJl
c291cmNlcyBUYWIiKSwgKCkgPT4gewogICAgICAgICAgICAgICAgIHNob3dSZXNvdXJjZVdpdGhP
cHRpb25zKHtpZ25vcmVOZXR3b3JrVGFiOiB0cnVlLCBpZ25vcmVTZWFyY2hUYWI6IHRydWV9KTsK
ICAgICAgICAgICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvU291cmNlQ29kZVRleHRFZGl0b3IuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcwppbmRleCBm
OGRkODRhLi40OTQzZTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcwpAQCAt
MTI0OCw3ICsxMjQ4LDE0IEBAIFdJLlNvdXJjZUNvZGVUZXh0RWRpdG9yID0gY2xhc3MgU291cmNl
Q29kZVRleHRFZGl0b3IgZXh0ZW5kcyBXSS5UZXh0RWRpdG9yCiAgICAgICAgIGlmIChicmVha3Bv
aW50cy5sZW5ndGggPT09IDEpIHsKICAgICAgICAgICAgIFdJLmJyZWFrcG9pbnRQb3BvdmVyQ29u
dHJvbGxlci5hcHBlbmRDb250ZXh0TWVudUl0ZW1zKGNvbnRleHRNZW51LCBicmVha3BvaW50c1sw
XSwgZXZlbnQudGFyZ2V0KTsKIAotICAgICAgICAgICAgaWYgKCFXSS5pc1Nob3dpbmdEZWJ1Z2dl
clRhYigpKSB7CisgICAgICAgICAgICBpZiAoV0kuc2V0dGluZ3MuZXhwZXJpbWVudGFsRW5hYmxl
U291cmNlc1RhYi52YWx1ZSkgeworICAgICAgICAgICAgICAgIGlmICghV0kuaXNTaG93aW5nU291
cmNlc1RhYigpKSB7CisgICAgICAgICAgICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZFNlcGFy
YXRvcigpOworICAgICAgICAgICAgICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVtKFdJLlVJ
U3RyaW5nKCJSZXZlYWwgaW4gU291cmNlcyBUYWIiKSwgKCkgPT4geworICAgICAgICAgICAgICAg
ICAgICAgICAgV0kuc2hvd1NvdXJjZXNUYWIoe2JyZWFrcG9pbnRUb1NlbGVjdDogYnJlYWtwb2lu
dHNbMF19KTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfSBlbHNlIGlmICghV0kuaXNTaG93aW5nRGVidWdnZXJUYWIoKSkgewogICAgICAg
ICAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZFNlcGFyYXRvcigpOwogICAgICAgICAgICAgICAg
IGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV0kuVUlTdHJpbmcoIlJldmVhbCBpbiBEZWJ1Z2dlciBU
YWIiKSwgKCkgPT4gewogICAgICAgICAgICAgICAgICAgICBXSS5zaG93RGVidWdnZXJUYWIoe2Jy
ZWFrcG9pbnRUb1NlbGVjdDogYnJlYWtwb2ludHNbMF19KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYkJyb3dzZXIuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJCcm93c2VyLmpzCmluZGV4IGQz
Y2I1MDQuLmE1NjAyMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RhYkJyb3dzZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGFiQnJvd3Nlci5qcwpAQCAtMTIxLDYgKzEyMSwxMCBAQCBXSS5U
YWJCcm93c2VyID0gY2xhc3MgVGFiQnJvd3NlciBleHRlbmRzIFdJLlZpZXcKICAgICB7CiAgICAg
ICAgIGNvbnNvbGUuYXNzZXJ0KCF0aGlzLnNlbGVjdGVkVGFiQ29udGVudFZpZXcgfHwgdGhpcy5z
ZWxlY3RlZFRhYkNvbnRlbnRWaWV3ID09PSB0aGlzLl9yZWNlbnRUYWJDb250ZW50Vmlld3NbMF0p
OwogCisgICAgICAgIGxldCB0YWJDb250ZW50VmlldyA9IHRoaXMuX3JlY2VudFRhYkNvbnRlbnRW
aWV3cy5maW5kKCh0YWJDb250ZW50VmlldykgPT4gdGFiQ29udGVudFZpZXcudHlwZSA9PT0gb3B0
aW9ucy5wcmVmZXJyZWRUYWJUeXBlKTsKKyAgICAgICAgaWYgKHRhYkNvbnRlbnRWaWV3ICYmIHRh
YkNvbnRlbnRWaWV3LmNhblNob3dSZXByZXNlbnRlZE9iamVjdChyZXByZXNlbnRlZE9iamVjdCkp
CisgICAgICAgICAgICByZXR1cm4gdGFiQ29udGVudFZpZXc7CisKICAgICAgICAgZm9yIChsZXQg
dGFiQ29udGVudFZpZXcgb2YgdGhpcy5fcmVjZW50VGFiQ29udGVudFZpZXdzKSB7CiAgICAgICAg
ICAgICBpZiAob3B0aW9ucy5pZ25vcmVTZWFyY2hUYWIgJiYgdGFiQ29udGVudFZpZXcgaW5zdGFu
Y2VvZiBXSS5TZWFyY2hUYWJDb250ZW50VmlldykKICAgICAgICAgICAgICAgICBjb250aW51ZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>