<?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>199555</bug_id>
          
          <creation_ts>2019-07-06 13:02:20 -0700</creation_ts>
          <short_desc>Web Inspector: Layers: Uncaught Exception: Request with id = 2 failed. {&quot;code&quot;:-32601,&quot;message&quot;:&quot;&apos;Page&apos; domain was not found&quot;,&quot;data&quot;:[{&quot;code&quot;:-32601,&quot;message&quot;:&quot;&apos;Page&apos; domain was not found&quot;}]}</short_desc>
          <delta_ts>2019-07-11 11:38:15 -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</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>199594</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1550664</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-07-06 13:02:20 -0700</bug_when>
    <thetext># STEPS TO REPRODUCE:
1. inspect any page
2. enable the Layers tab
3. go to the Layers tab
4. close Web Inspector
5. open Web Inspector (make sure the Layers tab is initially selected)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550665</commentid>
    <comment_count>1</comment_count>
      <attachid>373579</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-07-06 13:16:32 -0700</bug_when>
    <thetext>Created attachment 373579
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1550981</commentid>
    <comment_count>2</comment_count>
      <attachid>373579</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-07-08 14:49:08 -0700</bug_when>
    <thetext>Comment on attachment 373579
Patch

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

r- to see an updated patch. The changes in general seem the right direction.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js:41
&gt; +        if (InspectorBackend.domains.Page &amp;&amp; InspectorBackend.domains.Page.showPaintRects) {

There is a peculiar difference between these two features after the change:

  • Compositing Borders button shows even if the backend doesn&apos;t support it, but shows disabled
  • Paint Rects button shows only if the backend supports it

I&apos;d rather they be consistent. Seem they should both only check Page domain or they should both check Page domain + feature. Any reason to differ?

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js:46
&gt; +            this._paintFlashingButtonNavigationItem.enabled = !!InspectorBackend.domains.Page.setShowPaintRects;
&gt; +            this._paintFlashingButtonNavigationItem.activated = InspectorBackend.domains.Page.setShowPaintRects &amp;&amp; WI.settings.showPaintRects.value;

If we decide to keep the change in the condition above, then this code can be improved.

  • We wouldn&apos;t need the `enabled` assignment since it would always be true.
  • Likewise this doesn&apos;t need to check `InspectorBackend.domains.Page.setShowPaintRects` since it is guaranteed to be true.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js:599
&gt; +               target.PageAgent.setCompositingBordersVisible(activated);

Style: Leading whitespace is off (for all of these target.PageAgent calls after a target.PageAgent check).

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js:743
&gt; +               target.PageAgent.setCompositingBordersVisible(activated);

Wrong API call! This should be PageAgent.ssetShowRulers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551000</commentid>
    <comment_count>3</comment_count>
      <attachid>373674</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-07-08 15:31:52 -0700</bug_when>
    <thetext>Created attachment 373674
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552091</commentid>
    <comment_count>4</comment_count>
      <attachid>373674</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-07-11 10:08:50 -0700</bug_when>
    <thetext>Comment on attachment 373674
Patch

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

r=me

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js:639
&gt; +               target.PageAgent.setShowPaintRects(activated);

Whitespace is still wrong here.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js:660
&gt; +               target.PageAgent.setEmulatedMedia(mediaType);

Whitespace is still wrong here.

&gt; Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js:741
&gt; +        for (let target of WI.targets) {

Style: Put a newline before this?

&gt; Source/WebInspectorUI/UserInterface/Views/Layers3DContentView.js:398
&gt; +        for (let target of WI.targets) {

Style: Put a newline before this?

&gt; Source/WebInspectorUI/UserInterface/Views/Layers3DContentView.js:400
&gt; +               target.PageAgent.setShowPaintRects(activated);

Whitespace is still wrong here.

&gt; Source/WebInspectorUI/UserInterface/Views/Layers3DContentView.js:433
&gt; +        for (let target of WI.targets) {

Style: Put a newline before this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552122</commentid>
    <comment_count>5</comment_count>
      <attachid>373930</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-07-11 11:03:44 -0700</bug_when>
    <thetext>Created attachment 373930
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552133</commentid>
    <comment_count>6</comment_count>
      <attachid>373930</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-11 11:37:03 -0700</bug_when>
    <thetext>Comment on attachment 373930
Patch

Clearing flags on attachment: 373930

Committed r247356: &lt;https://trac.webkit.org/changeset/247356&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552134</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-11 11:37:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1552135</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-11 11:38:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/52963131&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373579</attachid>
            <date>2019-07-06 13:16:32 -0700</date>
            <delta_ts>2019-07-08 15:31:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199555-20190706131632.patch</filename>
            <type>text/plain</type>
            <size>13724</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDgxYjViZTNlNjg5ZTY4ZDhkZDZlMmZkOTZhNmJk
ZWNjMDY0NjBkMTIuLmJjZDVlZGI2MmUyMWY3NzM1YTBjOTg0NjdkZjE0YmY5NGQwMTg3NjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE5LTA3LTA2ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBM
YXllcnM6IFVuY2F1Z2h0IEV4Y2VwdGlvbjogUmVxdWVzdCB3aXRoIGlkID0gMiBmYWlsZWQuIHsi
Y29kZSI6LTMyNjAxLCJtZXNzYWdlIjoiJ1BhZ2UnIGRvbWFpbiB3YXMgbm90IGZvdW5kIiwiZGF0
YSI6W3siY29kZSI6LTMyNjAxLCJtZXNzYWdlIjoiJ1BhZ2UnIGRvbWFpbiB3YXMgbm90IGZvdW5k
In1dfQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5
NTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNl
IG1vZGVybiBpbnNwZWN0ZWQgdGFyZ2V0IHN1cHBvcnQgY2hlY2tpbmcsIGFuZCBkZWZlciBhZ2Vu
dCBjb21tYW5kcyB1bnRpbCBhIHRhcmdldCBpcworICAgICAgICBhdmFpbGFibGUuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyczNEQ29udGVudFZpZXcuanM6CisgICAgICAg
IChXSS5MYXllcnMzRENvbnRlbnRWaWV3KToKKyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZp
ZXcucHJvdG90eXBlLmdldCBuYXZpZ2F0aW9uSXRlbXMpOgorICAgICAgICAoV0kuTGF5ZXJzM0RD
b250ZW50Vmlldy5wcm90b3R5cGUuX3Nob3dQYWludFJlY3RzU2V0dGluZ0NoYW5nZWQpOgorICAg
ICAgICAoV0kuTGF5ZXJzM0RDb250ZW50Vmlldy5wcm90b3R5cGUuX3VwZGF0ZUNvbXBvc2l0aW5n
Qm9yZGVyc0J1dHRvblN0YXRlKToKKyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJv
dG90eXBlLl90b2dnbGVDb21wb3NpdGluZ0JvcmRlcnMpOgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5ET01UcmVlQ29u
dGVudFZpZXcpOgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fdG9n
Z2xlQ29tcG9zaXRpbmdCb3JkZXJzKToKKyAgICAgICAgKFdJLkRPTVRyZWVDb250ZW50Vmlldy5w
cm90b3R5cGUuX3VwZGF0ZUNvbXBvc2l0aW5nQm9yZGVyc0J1dHRvblRvTWF0Y2hQYWdlU2V0dGlu
Z3MpOgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fc2hvd1BhaW50
UmVjdHNTZXR0aW5nQ2hhbmdlZCk6CisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcucHJv
dG90eXBlLl9zaG93UHJpbnRTdHlsZXNDaGFuZ2VkKToKKyAgICAgICAgKFdJLkRPTVRyZWVDb250
ZW50Vmlldy5wcm90b3R5cGUuX3Nob3dSdWxlcnNDaGFuZ2VkKToKKyAgICAgICAgRHJpdmUtYnk6
IGFwcGx5IHRoZSBzYW1lIGNoYW5nZXMgdG8gdGhlIEVsZW1lbnRzIHRhYiBmb3Igd2hlbiB0aGUg
TGF5ZXJzIHRhYiBpc24ndCBlbmFibGVkLgorCiAyMDE5LTA3LTA1ICBEZXZpbiBSb3Vzc28gIDxk
cm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBjdXJyZW50IGNhbGwg
ZnJhbWUgaW5kaWNhdG9yIG5vdCB2aXNpYmxlIGluIGRhcmsgbW9kZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNv
bnRlbnRWaWV3LmpzCmluZGV4IDVkYjE5YjgxZmNhYjcwMTM3YjRmYTY1NTlkYWRkYjAwMjY5NWY1
OGMuLjY5MzU1MTU1NjJjZjRkNTAyMDBlYTk3ODc3OTMzODM5NzZlNDk0NzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50
Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9E
T01UcmVlQ29udGVudFZpZXcuanMKQEAgLTM0LDE2ICszNCwxNiBAQCBXSS5ET01UcmVlQ29udGVu
dFZpZXcgPSBjbGFzcyBET01UcmVlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50Vmlldwog
ICAgICAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5kb21haW5zLlBhZ2UpIHsKICAgICAgICAgICAg
IHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtID0gbmV3IFdJLkFj
dGl2YXRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0oImxheWVyLWJvcmRlcnMiLCBXSS5VSVN0cmluZygi
U2hvdyBjb21wb3NpdGluZyBib3JkZXJzIiksIFdJLlVJU3RyaW5nKCJIaWRlIGNvbXBvc2l0aW5n
IGJvcmRlcnMiKSwgIkltYWdlcy9MYXllckJvcmRlcnMuc3ZnIiwgMTMsIDEzKTsKICAgICAgICAg
ICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFkZEV2ZW50
TGlzdGVuZXIoV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fdG9n
Z2xlQ29tcG9zaXRpbmdCb3JkZXJzLCB0aGlzKTsKLSAgICAgICAgICAgIHRoaXMuX2NvbXBvc2l0
aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSAhIVBhZ2VBZ2VudC5nZXRD
b21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlOworICAgICAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdC
b3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9ICEhSW5zcGVjdG9yQmFja2VuZC5k
b21haW5zLlBhZ2UuZ2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZTsKICAgICAgICAgICAgIHRo
aXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLnZpc2liaWxpdHlQcmlv
cml0eSA9IFdJLk5hdmlnYXRpb25JdGVtLlZpc2liaWxpdHlQcmlvcml0eS5Mb3c7CiAgICAgICAg
IH0KIAotICAgICAgICBpZiAoSW5zcGVjdG9yQmFja2VuZC5kb21haW5zLlBhZ2UpIHsKKyAgICAg
ICAgaWYgKEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5QYWdlICYmIEluc3BlY3RvckJhY2tlbmQu
ZG9tYWlucy5QYWdlLnNob3dQYWludFJlY3RzKSB7CiAgICAgICAgICAgICBXSS5zZXR0aW5ncy5z
aG93UGFpbnRSZWN0cy5hZGRFdmVudExpc3RlbmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwg
dGhpcy5fc2hvd1BhaW50UmVjdHNTZXR0aW5nQ2hhbmdlZCwgdGhpcyk7CiAgICAgICAgICAgICB0
aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0gPSBuZXcgV0kuQWN0aXZhdGVC
dXR0b25OYXZpZ2F0aW9uSXRlbSgicGFpbnQtZmxhc2hpbmciLCBXSS5VSVN0cmluZygiRW5hYmxl
IHBhaW50IGZsYXNoaW5nIiksIFdJLlVJU3RyaW5nKCJEaXNhYmxlIHBhaW50IGZsYXNoaW5nIiks
ICJJbWFnZXMvUGFpbnQuc3ZnIiwgMTYsIDE2KTsKICAgICAgICAgICAgIHRoaXMuX3BhaW50Rmxh
c2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdJLkJ1dHRvbk5hdmln
YXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX3RvZ2dsZVBhaW50Rmxhc2hpbmcsIHRoaXMp
OwotICAgICAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmVu
YWJsZWQgPSAhIVBhZ2VBZ2VudC5zZXRTaG93UGFpbnRSZWN0czsKLSAgICAgICAgICAgIHRoaXMu
X3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSBQYWdlQWdlbnQu
c2V0U2hvd1BhaW50UmVjdHMgJiYgV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMudmFsdWU7Cisg
ICAgICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxl
ZCA9ICEhSW5zcGVjdG9yQmFja2VuZC5kb21haW5zLlBhZ2Uuc2V0U2hvd1BhaW50UmVjdHM7Cisg
ICAgICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZh
dGVkID0gSW5zcGVjdG9yQmFja2VuZC5kb21haW5zLlBhZ2Uuc2V0U2hvd1BhaW50UmVjdHMgJiYg
V0kuc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMudmFsdWU7CiAgICAgICAgICAgICB0aGlzLl9wYWlu
dEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0udmlzaWJpbGl0eVByaW9yaXR5ID0gV0kuTmF2
aWdhdGlvbkl0ZW0uVmlzaWJpbGl0eVByaW9yaXR5LkxvdzsKICAgICAgICAgfQogCkBAIC01OTIs
MTEgKzU5MiwxMiBAQCBXSS5ET01UcmVlQ29udGVudFZpZXcgPSBjbGFzcyBET01UcmVlQ29udGVu
dFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAgX3RvZ2dsZUNvbXBvc2l0aW5nQm9y
ZGVycyhldmVudCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KFBhZ2VBZ2VudC5zZXRD
b21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKTsKLQogICAgICAgICB2YXIgYWN0aXZhdGVkID0gIXRo
aXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZDsKICAg
ICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZh
dGVkID0gYWN0aXZhdGVkOwotICAgICAgICBQYWdlQWdlbnQuc2V0Q29tcG9zaXRpbmdCb3JkZXJz
VmlzaWJsZShhY3RpdmF0ZWQpOworICAgICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0
cykgeworICAgICAgICAgICAgaWYgKHRhcmdldC5QYWdlQWdlbnQpCisgICAgICAgICAgICAgICB0
YXJnZXQuUGFnZUFnZW50LnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoYWN0aXZhdGVkKTsK
KyAgICAgICAgfQogICAgIH0KIAogICAgIF90b2dnbGVQYWludEZsYXNoaW5nKGV2ZW50KQpAQCAt
NjA5LDYgKzYxMCwxNiBAQCBXSS5ET01UcmVlQ29udGVudFZpZXcgPSBjbGFzcyBET01UcmVlQ29u
dGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICBpZiAoV0kuc2V0dGluZ3Mu
ZXhwZXJpbWVudGFsRW5hYmxlTGF5ZXJzVGFiLnZhbHVlKQogICAgICAgICAgICAgcmV0dXJuOwog
CisgICAgICAgIGlmICghV0kudGFyZ2V0c0F2YWlsYWJsZSgpKSB7CisgICAgICAgICAgICBXSS53
aGVuVGFyZ2V0c0F2YWlsYWJsZSgpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgIHRoaXMu
X3VwZGF0ZUNvbXBvc2l0aW5nQm9yZGVyc0J1dHRvblRvTWF0Y2hQYWdlU2V0dGluZ3MoKTsKKyAg
ICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAg
aWYgKCF3aW5kb3cuUGFnZUFnZW50KQorICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgIHZh
ciBidXR0b24gPSB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbTsK
IAogICAgICAgICAvLyBXZSBuZWVkIHRvIHN5bmMgd2l0aCB0aGUgcGFnZSBzZXR0aW5ncyBzaW5j
ZSB0aGVzZSBjYW4gYmUgY29udHJvbGxlZApAQCAtNjIxLDExICs2MzIsMTIgQEAgV0kuRE9NVHJl
ZUNvbnRlbnRWaWV3ID0gY2xhc3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVu
dFZpZXcKIAogICAgIF9zaG93UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2VkKGV2ZW50KQogICAgIHsK
LSAgICAgICAgY29uc29sZS5hc3NlcnQoUGFnZUFnZW50LnNldFNob3dQYWludFJlY3RzKTsKLQot
ICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVk
ID0gV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMudmFsdWU7Ci0KLSAgICAgICAgUGFnZUFnZW50
LnNldFNob3dQYWludFJlY3RzKHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRl
bS5hY3RpdmF0ZWQpOworICAgICAgICBsZXQgYWN0aXZhdGVkID0gV0kuc2V0dGluZ3Muc2hvd1Bh
aW50UmVjdHMudmFsdWU7CisgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0
aW9uSXRlbS5hY3RpdmF0ZWQgPSBhY3RpdmF0ZWQ7CisgICAgICAgIGZvciAobGV0IHRhcmdldCBv
ZiBXSS50YXJnZXRzKSB7CisgICAgICAgICAgICBpZiAodGFyZ2V0LlBhZ2VBZ2VudCAmJiB0YXJn
ZXQuUGFnZUFnZW50LnNldFNob3dQYWludFJlY3RzKQorICAgICAgICAgICAgICAgdGFyZ2V0LlBh
Z2VBZ2VudC5zZXRTaG93UGFpbnRSZWN0cyhhY3RpdmF0ZWQpOworICAgICAgICB9CiAgICAgfQog
CiAgICAgX3Nob3dTaGFkb3dET01TZXR0aW5nQ2hhbmdlZChldmVudCkKQEAgLTY0Myw3ICs2NTUs
MTAgQEAgV0kuRE9NVHJlZUNvbnRlbnRWaWV3ID0gY2xhc3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4
dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgdGhpcy5fc2hvd1ByaW50U3R5bGVzQnV0dG9u
TmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gV0kucHJpbnRTdHlsZXNFbmFibGVkOwogCiAgICAg
ICAgIGxldCBtZWRpYVR5cGUgPSBXSS5wcmludFN0eWxlc0VuYWJsZWQgPyAicHJpbnQiIDogIiI7
Ci0gICAgICAgIFBhZ2VBZ2VudC5zZXRFbXVsYXRlZE1lZGlhKG1lZGlhVHlwZSk7CisgICAgICAg
IGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJnZXRzKSB7CisgICAgICAgICAgICBpZiAodGFyZ2V0
LlBhZ2VBZ2VudCkKKyAgICAgICAgICAgICAgIHRhcmdldC5QYWdlQWdlbnQuc2V0RW11bGF0ZWRN
ZWRpYShtZWRpYVR5cGUpOworICAgICAgICB9CiAKICAgICAgICAgV0kuY3NzTWFuYWdlci5tZWRp
YVR5cGVDaGFuZ2VkKCk7CiAgICAgfQpAQCAtNzIxLDExICs3MzYsMTIgQEAgV0kuRE9NVHJlZUNv
bnRlbnRWaWV3ID0gY2xhc3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZp
ZXcKIAogICAgIF9zaG93UnVsZXJzQ2hhbmdlZCgpCiAgICAgewotICAgICAgICBjb25zb2xlLmFz
c2VydChQYWdlQWdlbnQuc2V0U2hvd1J1bGVycyk7Ci0KLSAgICAgICAgdGhpcy5fc2hvd1J1bGVy
c0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IFdJLnNldHRpbmdzLnNob3dSdWxlcnMu
dmFsdWU7Ci0KLSAgICAgICAgUGFnZUFnZW50LnNldFNob3dSdWxlcnModGhpcy5fc2hvd1J1bGVy
c0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCk7CisgICAgICAgIGxldCBhY3RpdmF0ZWQg
PSBXSS5zZXR0aW5ncy5zaG93UnVsZXJzLnZhbHVlOworICAgICAgICB0aGlzLl9zaG93UnVsZXJz
QnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gYWN0aXZhdGVkOworICAgICAgICBmb3Ig
KGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykgeworICAgICAgICAgICAgaWYgKHRhcmdldC5QYWdl
QWdlbnQgJiYgdGFyZ2V0LlBhZ2VBZ2VudC5zZXRTaG93UnVsZXJzKQorICAgICAgICAgICAgICAg
dGFyZ2V0LlBhZ2VBZ2VudC5zZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKGFjdGl2YXRlZCk7
CisgICAgICAgIH0KICAgICB9CiAKICAgICBfdG9nZ2xlU2hvd1J1bGVycyhldmVudCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyczNE
Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzCmluZGV4IGE1MzY2N2FjN2Y0Mzc5ZjkwMjIxYjFhYTYz
MWY4YTQ5OGI2Y2M1YWYuLjhjYjc2MDZmYzUzZTBmOTY1N2ViYjljZDhkZmFjMzk2ZGFjMjZkYTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xh
eWVyczNEQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvTGF5ZXJzM0RDb250ZW50Vmlldy5qcwpAQCAtMzEsMTYgKzMxLDIwIEBAIFdJ
LkxheWVyczNEQ29udGVudFZpZXcgPSBjbGFzcyBMYXllcnMzRENvbnRlbnRWaWV3IGV4dGVuZHMg
V0kuQ29udGVudFZpZXcKIAogICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgibGF5
ZXJzLTNkIik7CiAKLSAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdh
dGlvbkl0ZW0gPSBuZXcgV0kuQWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9uSXRlbSgibGF5ZXItYm9y
ZGVycyIsIFdJLlVJU3RyaW5nKCJTaG93IGNvbXBvc2l0aW5nIGJvcmRlcnMiKSwgV0kuVUlTdHJp
bmcoIkhpZGUgY29tcG9zaXRpbmcgYm9yZGVycyIpLCAiSW1hZ2VzL0xheWVyQm9yZGVycy5zdmci
LCAxMywgMTMpOwotICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0
aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNs
aWNrZWQsIHRoaXMuX3RvZ2dsZUNvbXBvc2l0aW5nQm9yZGVycywgdGhpcyk7Ci0gICAgICAgIHRo
aXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLnZpc2liaWxpdHlQcmlv
cml0eSA9IFdJLk5hdmlnYXRpb25JdGVtLlZpc2liaWxpdHlQcmlvcml0eS5Mb3c7CisgICAgICAg
IGlmIChJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuUGFnZSkgeworICAgICAgICAgICAgdGhpcy5f
Y29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0gPSBuZXcgV0kuQWN0aXZhdGVC
dXR0b25OYXZpZ2F0aW9uSXRlbSgibGF5ZXItYm9yZGVycyIsIFdJLlVJU3RyaW5nKCJTaG93IGNv
bXBvc2l0aW5nIGJvcmRlcnMiKSwgV0kuVUlTdHJpbmcoIkhpZGUgY29tcG9zaXRpbmcgYm9yZGVy
cyIpLCAiSW1hZ2VzL0xheWVyQm9yZGVycy5zdmciLCAxMywgMTMpOworICAgICAgICAgICAgdGhp
cy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5l
cihXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlzLl90b2dnbGVDb21w
b3NpdGluZ0JvcmRlcnMsIHRoaXMpOworICAgICAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3Jk
ZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0udmlzaWJpbGl0eVByaW9yaXR5ID0gV0kuTmF2aWdhdGlv
bkl0ZW0uVmlzaWJpbGl0eVByaW9yaXR5LkxvdzsKKyAgICAgICAgfQogCi0gICAgICAgIFdJLnNl
dHRpbmdzLnNob3dQYWludFJlY3RzLmFkZEV2ZW50TGlzdGVuZXIoV0kuU2V0dGluZy5FdmVudC5D
aGFuZ2VkLCB0aGlzLl9zaG93UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2VkLCB0aGlzKTsKLSAgICAg
ICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtID0gbmV3IFdJLkFjdGl2
YXRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0oInBhaW50LWZsYXNoaW5nIiwgV0kuVUlTdHJpbmcoIkVu
YWJsZSBwYWludCBmbGFzaGluZyIpLCBXSS5VSVN0cmluZygiRGlzYWJsZSBwYWludCBmbGFzaGlu
ZyIpLCAiSW1hZ2VzL1BhaW50LnN2ZyIsIDE2LCAxNik7Ci0gICAgICAgIHRoaXMuX3BhaW50Rmxh
c2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdJLkJ1dHRvbk5hdmln
YXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX3RvZ2dsZVBhaW50Rmxhc2hpbmcsIHRoaXMp
OwotICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxl
ZCA9ICEhUGFnZUFnZW50LnNldFNob3dQYWludFJlY3RzOwotICAgICAgICB0aGlzLl9wYWludEZs
YXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gUGFnZUFnZW50LnNldFNob3dQ
YWludFJlY3RzICYmIFdJLnNldHRpbmdzLnNob3dQYWludFJlY3RzLnZhbHVlOwotICAgICAgICB0
aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0udmlzaWJpbGl0eVByaW9yaXR5
ID0gV0kuTmF2aWdhdGlvbkl0ZW0uVmlzaWJpbGl0eVByaW9yaXR5LkxvdzsKKyAgICAgICAgaWYg
KEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5QYWdlICYmIEluc3BlY3RvckJhY2tlbmQuZG9tYWlu
cy5QYWdlLnNob3dQYWludFJlY3RzKSB7CisgICAgICAgICAgICBXSS5zZXR0aW5ncy5zaG93UGFp
bnRSZWN0cy5hZGRFdmVudExpc3RlbmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhpcy5f
c2hvd1BhaW50UmVjdHNTZXR0aW5nQ2hhbmdlZCwgdGhpcyk7CisgICAgICAgICAgICB0aGlzLl9w
YWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0gPSBuZXcgV0kuQWN0aXZhdGVCdXR0b25O
YXZpZ2F0aW9uSXRlbSgicGFpbnQtZmxhc2hpbmciLCBXSS5VSVN0cmluZygiRW5hYmxlIHBhaW50
IGZsYXNoaW5nIiksIFdJLlVJU3RyaW5nKCJEaXNhYmxlIHBhaW50IGZsYXNoaW5nIiksICJJbWFn
ZXMvUGFpbnQuc3ZnIiwgMTYsIDE2KTsKKyAgICAgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdC
dXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdJLkJ1dHRvbk5hdmlnYXRpb25J
dGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX3RvZ2dsZVBhaW50Rmxhc2hpbmcsIHRoaXMpOworICAg
ICAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQg
PSAhIUluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5QYWdlLnNldFNob3dQYWludFJlY3RzOworICAg
ICAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRl
ZCA9IEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5QYWdlLnNldFNob3dQYWludFJlY3RzICYmIFdJ
LnNldHRpbmdzLnNob3dQYWludFJlY3RzLnZhbHVlOworICAgICAgICAgICAgdGhpcy5fcGFpbnRG
bGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLnZpc2liaWxpdHlQcmlvcml0eSA9IFdJLk5hdmln
YXRpb25JdGVtLlZpc2liaWxpdHlQcmlvcml0eS5Mb3c7CisgICAgICAgIH0KIAogICAgICAgICB0
aGlzLl9sYXllcnMgPSBbXTsKICAgICAgICAgdGhpcy5fbGF5ZXJHcm91cHNCeUlkID0gbmV3IE1h
cDsKQEAgLTY3LDcgKzcxLDEyIEBAIFdJLkxheWVyczNEQ29udGVudFZpZXcgPSBjbGFzcyBMYXll
cnMzRENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKIAogICAgIGdldCBuYXZpZ2F0
aW9uSXRlbXMoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIFt0aGlzLl9jb21wb3NpdGluZ0JvcmRl
cnNCdXR0b25OYXZpZ2F0aW9uSXRlbSwgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRp
b25JdGVtXTsKKyAgICAgICAgbGV0IG5hdmlnYXRpb25JdGVtcyA9IFtdOworICAgICAgICBpZiAo
dGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0pCisgICAgICAgICAg
ICBuYXZpZ2F0aW9uSXRlbXMucHVzaCh0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZp
Z2F0aW9uSXRlbSk7CisgICAgICAgIGlmICh0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdh
dGlvbkl0ZW0pCisgICAgICAgICAgICBuYXZpZ2F0aW9uSXRlbXMucHVzaCh0aGlzLl9wYWludEZs
YXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0pOworICAgICAgICByZXR1cm4gbmF2aWdhdGlvbkl0
ZW1zOwogICAgIH0KIAogICAgIGdldCBzdXBwbGVtZW50YWxSZXByZXNlbnRlZE9iamVjdHMoKQpA
QCAtMzkyLDEwICs0MDEsMTIgQEAgV0kuTGF5ZXJzM0RDb250ZW50VmlldyA9IGNsYXNzIExheWVy
czNEQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAgX3Nob3dQYWludFJl
Y3RzU2V0dGluZ0NoYW5nZWQoZXZlbnQpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydChQ
YWdlQWdlbnQuc2V0U2hvd1BhaW50UmVjdHMpOwotCi0gICAgICAgIHRoaXMuX3BhaW50Rmxhc2hp
bmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSBXSS5zZXR0aW5ncy5zaG93UGFpbnRS
ZWN0cy52YWx1ZTsKLSAgICAgICAgUGFnZUFnZW50LnNldFNob3dQYWludFJlY3RzKHRoaXMuX3Bh
aW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQpOworICAgICAgICBsZXQg
YWN0aXZhdGVkID0gV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMudmFsdWU7CisgICAgICAgIHRo
aXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSBhY3RpdmF0
ZWQ7CisgICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJnZXRzKSB7CisgICAgICAgICAg
ICBpZiAodGFyZ2V0LlBhZ2VBZ2VudCAmJiB0YXJnZXQuUGFnZUFnZW50LnNldFNob3dQYWludFJl
Y3RzKQorICAgICAgICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5zZXRTaG93UGFpbnRSZWN0cyhh
Y3RpdmF0ZWQpOworICAgICAgICB9CiAgICAgfQogCiAgICAgX3RvZ2dsZVBhaW50Rmxhc2hpbmco
ZXZlbnQpCkBAIC00MDUsNiArNDE2LDE2IEBAIFdJLkxheWVyczNEQ29udGVudFZpZXcgPSBjbGFz
cyBMYXllcnMzRENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKIAogICAgIF91cGRh
dGVDb21wb3NpdGluZ0JvcmRlcnNCdXR0b25TdGF0ZSgpCiAgICAgeworICAgICAgICBpZiAoIVdJ
LnRhcmdldHNBdmFpbGFibGUoKSkgeworICAgICAgICAgICAgV0kud2hlblRhcmdldHNBdmFpbGFi
bGUoKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDb21wb3NpdGlu
Z0JvcmRlcnNCdXR0b25TdGF0ZSgpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAoIXdpbmRvdy5QYWdlQWdlbnQpCisgICAgICAg
ICAgICByZXR1cm47CisKICAgICAgICAgLy8gVGhpcyB2YWx1ZSBjYW4gYmUgY2hhbmdlZCBvdXRz
aWRlIG9mIFdlYiBJbnNwZWN0b3IuCiAgICAgICAgIC8vIEZJWE1FOiBIYXZlIFBhZ2VBZ2VudCBk
aXNwYXRjaCBhIGNoYW5nZSBldmVudCBpbnN0ZWFkPwogICAgICAgICBQYWdlQWdlbnQuZ2V0Q29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZSgoZXJyb3IsIGNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUp
ID0+IHsKQEAgLTQxNSw4ICs0MzYsMTIgQEAgV0kuTGF5ZXJzM0RDb250ZW50VmlldyA9IGNsYXNz
IExheWVyczNEQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAgX3RvZ2ds
ZUNvbXBvc2l0aW5nQm9yZGVycyhldmVudCkKICAgICB7Ci0gICAgICAgIHRoaXMuX2NvbXBvc2l0
aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9ICF0aGlzLl9jb21wb3Np
dGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQ7Ci0gICAgICAgIFBhZ2VB
Z2VudC5zZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVy
c0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCk7CisgICAgICAgIGxldCBhY3RpdmF0ZWQg
PSAhdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVk
OworICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5h
Y3RpdmF0ZWQgPSBhY3RpdmF0ZWQ7CisgICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJn
ZXRzKSB7CisgICAgICAgICAgICBpZiAodGFyZ2V0LlBhZ2VBZ2VudCAmJiB0YXJnZXQuUGFnZUFn
ZW50LnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUpCisgICAgICAgICAgICAgICB0YXJnZXQu
UGFnZUFnZW50LnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoYWN0aXZhdGVkKTsKKyAgICAg
ICAgfQogICAgIH0KIAogICAgIF9idWlsZExheWVySW5mb0VsZW1lbnQoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373674</attachid>
            <date>2019-07-08 15:31:52 -0700</date>
            <delta_ts>2019-07-11 11:03:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199555-20190708153151.patch</filename>
            <type>text/plain</type>
            <size>11734</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDFkZjM5NTQwMzA4YzQ3NGE2NTdmZDRkOTE4Yzg5
NjgxODliMWYxYzguLjkxNDkzZjJjOTA4ZmE2MDZlOGYzMzVhYmZhNTMwOTVhZjEzZTM0OGEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE5LTA3LTA2ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBM
YXllcnM6IFVuY2F1Z2h0IEV4Y2VwdGlvbjogUmVxdWVzdCB3aXRoIGlkID0gMiBmYWlsZWQuIHsi
Y29kZSI6LTMyNjAxLCJtZXNzYWdlIjoiJ1BhZ2UnIGRvbWFpbiB3YXMgbm90IGZvdW5kIiwiZGF0
YSI6W3siY29kZSI6LTMyNjAxLCJtZXNzYWdlIjoiJ1BhZ2UnIGRvbWFpbiB3YXMgbm90IGZvdW5k
In1dfQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5
NTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNl
IG1vZGVybiBpbnNwZWN0ZWQgdGFyZ2V0IHN1cHBvcnQgY2hlY2tpbmcsIGFuZCBkZWZlciBhZ2Vu
dCBjb21tYW5kcyB1bnRpbCBhIHRhcmdldCBpcworICAgICAgICBhdmFpbGFibGUuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyczNEQ29udGVudFZpZXcuanM6CisgICAgICAg
IChXSS5MYXllcnMzRENvbnRlbnRWaWV3KToKKyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZp
ZXcucHJvdG90eXBlLl9zaG93UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2VkKToKKyAgICAgICAgKFdJ
LkxheWVyczNEQ29udGVudFZpZXcucHJvdG90eXBlLl91cGRhdGVDb21wb3NpdGluZ0JvcmRlcnNC
dXR0b25TdGF0ZSk6CisgICAgICAgIChXSS5MYXllcnMzRENvbnRlbnRWaWV3LnByb3RvdHlwZS5f
dG9nZ2xlQ29tcG9zaXRpbmdCb3JkZXJzKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzOgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3
KToKKyAgICAgICAgKFdJLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuX3RvZ2dsZUNvbXBv
c2l0aW5nQm9yZGVycyk6CisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBl
Ll91cGRhdGVDb21wb3NpdGluZ0JvcmRlcnNCdXR0b25Ub01hdGNoUGFnZVNldHRpbmdzKToKKyAg
ICAgICAgKFdJLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuX3Nob3dQYWludFJlY3RzU2V0
dGluZ0NoYW5nZWQpOgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5f
c2hvd1ByaW50U3R5bGVzQ2hhbmdlZCk6CisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcu
cHJvdG90eXBlLl9zaG93UnVsZXJzQ2hhbmdlZCk6CisgICAgICAgIERyaXZlLWJ5OiBhcHBseSB0
aGUgc2FtZSBjaGFuZ2VzIHRvIHRoZSBFbGVtZW50cyB0YWIgZm9yIHdoZW4gdGhlIExheWVycyB0
YWIgaXNuJ3QgZW5hYmxlZC4KKwogMjAxOS0wNy0wNiAgTmlraXRhIFZhc2lseWV2ICA8bnZhc2ls
eWV2QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBTdHlsZXM6IHVuYmFsYW5j
ZWQgcXVvdGVzIGFuZCBwYXJlbnRoZXNpcyBhcmVuJ3QgZGlzcGxheWVkIGFzIHByb3BlcnR5IGNs
b3NlZCBhZnRlciBlZGl0aW5nIHZhbHVlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzCmlu
ZGV4IDVkYjE5YjgxZmNhYjcwMTM3YjRmYTY1NTlkYWRkYjAwMjY5NWY1OGMuLjMwN2I2M2UyODli
OTBmMzhiOTQ1ZmFkMzIxNDA1MWVmNmQyNDhlZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZp
ZXcuanMKQEAgLTM0LDcgKzM0LDcgQEAgV0kuRE9NVHJlZUNvbnRlbnRWaWV3ID0gY2xhc3MgRE9N
VHJlZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgaWYgKEluc3Bl
Y3RvckJhY2tlbmQuZG9tYWlucy5QYWdlKSB7CiAgICAgICAgICAgICB0aGlzLl9jb21wb3NpdGlu
Z0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBXSS5BY3RpdmF0ZUJ1dHRvbk5hdmln
YXRpb25JdGVtKCJsYXllci1ib3JkZXJzIiwgV0kuVUlTdHJpbmcoIlNob3cgY29tcG9zaXRpbmcg
Ym9yZGVycyIpLCBXSS5VSVN0cmluZygiSGlkZSBjb21wb3NpdGluZyBib3JkZXJzIiksICJJbWFn
ZXMvTGF5ZXJCb3JkZXJzLnN2ZyIsIDEzLCAxMyk7CiAgICAgICAgICAgICB0aGlzLl9jb21wb3Np
dGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdJLkJ1dHRv
bk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX3RvZ2dsZUNvbXBvc2l0aW5nQm9y
ZGVycywgdGhpcyk7Ci0gICAgICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25O
YXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gISFQYWdlQWdlbnQuZ2V0Q29tcG9zaXRpbmdCb3JkZXJz
VmlzaWJsZTsKKyAgICAgICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmln
YXRpb25JdGVtLmVuYWJsZWQgPSAhIUluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5QYWdlLmdldENv
bXBvc2l0aW5nQm9yZGVyc1Zpc2libGU7CiAgICAgICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0Jv
cmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS52aXNpYmlsaXR5UHJpb3JpdHkgPSBXSS5OYXZpZ2F0
aW9uSXRlbS5WaXNpYmlsaXR5UHJpb3JpdHkuTG93OwogICAgICAgICB9CiAKQEAgLTQyLDggKzQy
LDggQEAgV0kuRE9NVHJlZUNvbnRlbnRWaWV3ID0gY2xhc3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4
dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgICAgIFdJLnNldHRpbmdzLnNob3dQYWludFJl
Y3RzLmFkZEV2ZW50TGlzdGVuZXIoV0kuU2V0dGluZy5FdmVudC5DaGFuZ2VkLCB0aGlzLl9zaG93
UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2VkLCB0aGlzKTsKICAgICAgICAgICAgIHRoaXMuX3BhaW50
Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBXSS5BY3RpdmF0ZUJ1dHRvbk5hdmln
YXRpb25JdGVtKCJwYWludC1mbGFzaGluZyIsIFdJLlVJU3RyaW5nKCJFbmFibGUgcGFpbnQgZmxh
c2hpbmciKSwgV0kuVUlTdHJpbmcoIkRpc2FibGUgcGFpbnQgZmxhc2hpbmciKSwgIkltYWdlcy9Q
YWludC5zdmciLCAxNiwgMTYpOwogICAgICAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRv
bk5hdmlnYXRpb25JdGVtLmFkZEV2ZW50TGlzdGVuZXIoV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0u
RXZlbnQuQ2xpY2tlZCwgdGhpcy5fdG9nZ2xlUGFpbnRGbGFzaGluZywgdGhpcyk7Ci0gICAgICAg
ICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9ICEh
UGFnZUFnZW50LnNldFNob3dQYWludFJlY3RzOwotICAgICAgICAgICAgdGhpcy5fcGFpbnRGbGFz
aGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IFBhZ2VBZ2VudC5zZXRTaG93UGFp
bnRSZWN0cyAmJiBXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy52YWx1ZTsKKyAgICAgICAgICAg
IHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gISFJbnNw
ZWN0b3JCYWNrZW5kLmRvbWFpbnMuUGFnZS5zZXRTaG93UGFpbnRSZWN0czsKKyAgICAgICAgICAg
IHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSBJbnNw
ZWN0b3JCYWNrZW5kLmRvbWFpbnMuUGFnZS5zZXRTaG93UGFpbnRSZWN0cyAmJiBXSS5zZXR0aW5n
cy5zaG93UGFpbnRSZWN0cy52YWx1ZTsKICAgICAgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdC
dXR0b25OYXZpZ2F0aW9uSXRlbS52aXNpYmlsaXR5UHJpb3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRl
bS5WaXNpYmlsaXR5UHJpb3JpdHkuTG93OwogICAgICAgICB9CiAKQEAgLTU5MiwxMSArNTkyLDEy
IEBAIFdJLkRPTVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVDb250ZW50VmlldyBleHRl
bmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICBfdG9nZ2xlQ29tcG9zaXRpbmdCb3JkZXJzKGV2ZW50
KQogICAgIHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoUGFnZUFnZW50LnNldENvbXBvc2l0aW5n
Qm9yZGVyc1Zpc2libGUpOwotCiAgICAgICAgIHZhciBhY3RpdmF0ZWQgPSAhdGhpcy5fY29tcG9z
aXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkOwogICAgICAgICB0aGlz
Ll9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSBhY3Rp
dmF0ZWQ7Ci0gICAgICAgIFBhZ2VBZ2VudC5zZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKGFj
dGl2YXRlZCk7CisgICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJnZXRzKSB7CisgICAg
ICAgICAgICBpZiAodGFyZ2V0LlBhZ2VBZ2VudCkKKyAgICAgICAgICAgICAgICB0YXJnZXQuUGFn
ZUFnZW50LnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoYWN0aXZhdGVkKTsKKyAgICAgICAg
fQogICAgIH0KIAogICAgIF90b2dnbGVQYWludEZsYXNoaW5nKGV2ZW50KQpAQCAtNjA5LDYgKzYx
MCwxNiBAQCBXSS5ET01UcmVlQ29udGVudFZpZXcgPSBjbGFzcyBET01UcmVlQ29udGVudFZpZXcg
ZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICBpZiAoV0kuc2V0dGluZ3MuZXhwZXJpbWVu
dGFsRW5hYmxlTGF5ZXJzVGFiLnZhbHVlKQogICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAg
IGlmICghV0kudGFyZ2V0c0F2YWlsYWJsZSgpKSB7CisgICAgICAgICAgICBXSS53aGVuVGFyZ2V0
c0F2YWlsYWJsZSgpLnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUNv
bXBvc2l0aW5nQm9yZGVyc0J1dHRvblRvTWF0Y2hQYWdlU2V0dGluZ3MoKTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCF3aW5k
b3cuUGFnZUFnZW50KQorICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgIHZhciBidXR0b24g
PSB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbTsKIAogICAgICAg
ICAvLyBXZSBuZWVkIHRvIHN5bmMgd2l0aCB0aGUgcGFnZSBzZXR0aW5ncyBzaW5jZSB0aGVzZSBj
YW4gYmUgY29udHJvbGxlZApAQCAtNjIxLDExICs2MzIsMTIgQEAgV0kuRE9NVHJlZUNvbnRlbnRW
aWV3ID0gY2xhc3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKIAog
ICAgIF9zaG93UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2VkKGV2ZW50KQogICAgIHsKLSAgICAgICAg
Y29uc29sZS5hc3NlcnQoUGFnZUFnZW50LnNldFNob3dQYWludFJlY3RzKTsKLQotICAgICAgICB0
aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gV0kuc2V0
dGluZ3Muc2hvd1BhaW50UmVjdHMudmFsdWU7Ci0KLSAgICAgICAgUGFnZUFnZW50LnNldFNob3dQ
YWludFJlY3RzKHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0
ZWQpOworICAgICAgICBsZXQgYWN0aXZhdGVkID0gV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMu
dmFsdWU7CisgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5h
Y3RpdmF0ZWQgPSBhY3RpdmF0ZWQ7CisgICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJn
ZXRzKSB7CisgICAgICAgICAgICBpZiAodGFyZ2V0LlBhZ2VBZ2VudCAmJiB0YXJnZXQuUGFnZUFn
ZW50LnNldFNob3dQYWludFJlY3RzKQorICAgICAgICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5z
ZXRTaG93UGFpbnRSZWN0cyhhY3RpdmF0ZWQpOworICAgICAgICB9CiAgICAgfQogCiAgICAgX3No
b3dTaGFkb3dET01TZXR0aW5nQ2hhbmdlZChldmVudCkKQEAgLTY0Myw3ICs2NTUsMTAgQEAgV0ku
RE9NVHJlZUNvbnRlbnRWaWV3ID0gY2xhc3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0ku
Q29udGVudFZpZXcKICAgICAgICAgdGhpcy5fc2hvd1ByaW50U3R5bGVzQnV0dG9uTmF2aWdhdGlv
bkl0ZW0uYWN0aXZhdGVkID0gV0kucHJpbnRTdHlsZXNFbmFibGVkOwogCiAgICAgICAgIGxldCBt
ZWRpYVR5cGUgPSBXSS5wcmludFN0eWxlc0VuYWJsZWQgPyAicHJpbnQiIDogIiI7Ci0gICAgICAg
IFBhZ2VBZ2VudC5zZXRFbXVsYXRlZE1lZGlhKG1lZGlhVHlwZSk7CisgICAgICAgIGZvciAobGV0
IHRhcmdldCBvZiBXSS50YXJnZXRzKSB7CisgICAgICAgICAgICBpZiAodGFyZ2V0LlBhZ2VBZ2Vu
dCkKKyAgICAgICAgICAgICAgIHRhcmdldC5QYWdlQWdlbnQuc2V0RW11bGF0ZWRNZWRpYShtZWRp
YVR5cGUpOworICAgICAgICB9CiAKICAgICAgICAgV0kuY3NzTWFuYWdlci5tZWRpYVR5cGVDaGFu
Z2VkKCk7CiAgICAgfQpAQCAtNzIxLDExICs3MzYsMTIgQEAgV0kuRE9NVHJlZUNvbnRlbnRWaWV3
ID0gY2xhc3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKIAogICAg
IF9zaG93UnVsZXJzQ2hhbmdlZCgpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydChQYWdl
QWdlbnQuc2V0U2hvd1J1bGVycyk7Ci0KLSAgICAgICAgdGhpcy5fc2hvd1J1bGVyc0J1dHRvbk5h
dmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IFdJLnNldHRpbmdzLnNob3dSdWxlcnMudmFsdWU7Ci0K
LSAgICAgICAgUGFnZUFnZW50LnNldFNob3dSdWxlcnModGhpcy5fc2hvd1J1bGVyc0J1dHRvbk5h
dmlnYXRpb25JdGVtLmFjdGl2YXRlZCk7CisgICAgICAgIGxldCBhY3RpdmF0ZWQgPSBXSS5zZXR0
aW5ncy5zaG93UnVsZXJzLnZhbHVlOworICAgICAgICB0aGlzLl9zaG93UnVsZXJzQnV0dG9uTmF2
aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gYWN0aXZhdGVkOworICAgICAgICBmb3IgKGxldCB0YXJn
ZXQgb2YgV0kudGFyZ2V0cykgeworICAgICAgICAgICAgaWYgKHRhcmdldC5QYWdlQWdlbnQgJiYg
dGFyZ2V0LlBhZ2VBZ2VudC5zZXRTaG93UnVsZXJzKQorICAgICAgICAgICAgICAgIHRhcmdldC5Q
YWdlQWdlbnQuc2V0U2hvd1J1bGVycyhhY3RpdmF0ZWQpOworICAgICAgICB9CiAgICAgfQogCiAg
ICAgX3RvZ2dsZVNob3dSdWxlcnMoZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJzM0RDb250ZW50Vmlldy5q
cwppbmRleCBhNTM2NjdhYzdmNDM3OWY5MDIyMWIxYWE2MzFmOGE0OThiNmNjNWFmLi43ZDY4NmM0
YzZlNzY1YzRhYTgyNDE3N2NmMzQ5ZDhkNTA3OGJhMWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyczNEQ29u
dGVudFZpZXcuanMKQEAgLTMzLDEzICszMywxNCBAQCBXSS5MYXllcnMzRENvbnRlbnRWaWV3ID0g
Y2xhc3MgTGF5ZXJzM0RDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICAg
ICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0gPSBuZXcgV0ku
QWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9uSXRlbSgibGF5ZXItYm9yZGVycyIsIFdJLlVJU3RyaW5n
KCJTaG93IGNvbXBvc2l0aW5nIGJvcmRlcnMiKSwgV0kuVUlTdHJpbmcoIkhpZGUgY29tcG9zaXRp
bmcgYm9yZGVycyIpLCAiSW1hZ2VzL0xheWVyQm9yZGVycy5zdmciLCAxMywgMTMpOwogICAgICAg
ICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExp
c3RlbmVyKFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX3RvZ2ds
ZUNvbXBvc2l0aW5nQm9yZGVycywgdGhpcyk7CisgICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9y
ZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSAhIUluc3BlY3RvckJhY2tlbmQuZG9t
YWlucy5QYWdlOwogICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0
aW9uSXRlbS52aXNpYmlsaXR5UHJpb3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRlbS5WaXNpYmlsaXR5
UHJpb3JpdHkuTG93OwogCiAgICAgICAgIFdJLnNldHRpbmdzLnNob3dQYWludFJlY3RzLmFkZEV2
ZW50TGlzdGVuZXIoV0kuU2V0dGluZy5FdmVudC5DaGFuZ2VkLCB0aGlzLl9zaG93UGFpbnRSZWN0
c1NldHRpbmdDaGFuZ2VkLCB0aGlzKTsKICAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRv
bk5hdmlnYXRpb25JdGVtID0gbmV3IFdJLkFjdGl2YXRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0oInBh
aW50LWZsYXNoaW5nIiwgV0kuVUlTdHJpbmcoIkVuYWJsZSBwYWludCBmbGFzaGluZyIpLCBXSS5V
SVN0cmluZygiRGlzYWJsZSBwYWludCBmbGFzaGluZyIpLCAiSW1hZ2VzL1BhaW50LnN2ZyIsIDE2
LCAxNik7CiAgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5h
ZGRFdmVudExpc3RlbmVyKFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRo
aXMuX3RvZ2dsZVBhaW50Rmxhc2hpbmcsIHRoaXMpOwotICAgICAgICB0aGlzLl9wYWludEZsYXNo
aW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9ICEhUGFnZUFnZW50LnNldFNob3dQYWlu
dFJlY3RzOwotICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0u
YWN0aXZhdGVkID0gUGFnZUFnZW50LnNldFNob3dQYWludFJlY3RzICYmIFdJLnNldHRpbmdzLnNo
b3dQYWludFJlY3RzLnZhbHVlOworICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2
aWdhdGlvbkl0ZW0uZW5hYmxlZCA9IEluc3BlY3RvckJhY2tlbmQuZG9tYWlucy5QYWdlICYmICEh
SW5zcGVjdG9yQmFja2VuZC5kb21haW5zLlBhZ2Uuc2V0U2hvd1BhaW50UmVjdHM7CisgICAgICAg
IHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSBJbnNw
ZWN0b3JCYWNrZW5kLmRvbWFpbnMuUGFnZS5zZXRTaG93UGFpbnRSZWN0cyAmJiBXSS5zZXR0aW5n
cy5zaG93UGFpbnRSZWN0cy52YWx1ZTsKICAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRv
bk5hdmlnYXRpb25JdGVtLnZpc2liaWxpdHlQcmlvcml0eSA9IFdJLk5hdmlnYXRpb25JdGVtLlZp
c2liaWxpdHlQcmlvcml0eS5Mb3c7CiAKICAgICAgICAgdGhpcy5fbGF5ZXJzID0gW107CkBAIC0z
OTIsMTAgKzM5MywxMiBAQCBXSS5MYXllcnMzRENvbnRlbnRWaWV3ID0gY2xhc3MgTGF5ZXJzM0RD
b250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICBfc2hvd1BhaW50UmVjdHNT
ZXR0aW5nQ2hhbmdlZChldmVudCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KFBhZ2VB
Z2VudC5zZXRTaG93UGFpbnRSZWN0cyk7Ci0KLSAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1
dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IFdJLnNldHRpbmdzLnNob3dQYWludFJlY3Rz
LnZhbHVlOwotICAgICAgICBQYWdlQWdlbnQuc2V0U2hvd1BhaW50UmVjdHModGhpcy5fcGFpbnRG
bGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCk7CisgICAgICAgIGxldCBhY3Rp
dmF0ZWQgPSBXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy52YWx1ZTsKKyAgICAgICAgdGhpcy5f
cGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IGFjdGl2YXRlZDsK
KyAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMpIHsKKyAgICAgICAgICAgIGlm
ICh0YXJnZXQuUGFnZUFnZW50ICYmIHRhcmdldC5QYWdlQWdlbnQuc2V0U2hvd1BhaW50UmVjdHMp
CisgICAgICAgICAgICAgICB0YXJnZXQuUGFnZUFnZW50LnNldFNob3dQYWludFJlY3RzKGFjdGl2
YXRlZCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBfdG9nZ2xlUGFpbnRGbGFzaGluZyhldmVu
dCkKQEAgLTQwNSw2ICs0MDgsMTYgQEAgV0kuTGF5ZXJzM0RDb250ZW50VmlldyA9IGNsYXNzIExh
eWVyczNEQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAgX3VwZGF0ZUNv
bXBvc2l0aW5nQm9yZGVyc0J1dHRvblN0YXRlKCkKICAgICB7CisgICAgICAgIGlmICghV0kudGFy
Z2V0c0F2YWlsYWJsZSgpKSB7CisgICAgICAgICAgICBXSS53aGVuVGFyZ2V0c0F2YWlsYWJsZSgp
LnRoZW4oKCkgPT4geworICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUNvbXBvc2l0aW5nQm9y
ZGVyc0J1dHRvblN0YXRlKCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQorCisgICAgICAgIGlmICghd2luZG93LlBhZ2VBZ2VudCkKKyAgICAgICAgICAg
IHJldHVybjsKKwogICAgICAgICAvLyBUaGlzIHZhbHVlIGNhbiBiZSBjaGFuZ2VkIG91dHNpZGUg
b2YgV2ViIEluc3BlY3Rvci4KICAgICAgICAgLy8gRklYTUU6IEhhdmUgUGFnZUFnZW50IGRpc3Bh
dGNoIGEgY2hhbmdlIGV2ZW50IGluc3RlYWQ/CiAgICAgICAgIFBhZ2VBZ2VudC5nZXRDb21wb3Np
dGluZ0JvcmRlcnNWaXNpYmxlKChlcnJvciwgY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSkgPT4g
ewpAQCAtNDE1LDggKzQyOCwxMiBAQCBXSS5MYXllcnMzRENvbnRlbnRWaWV3ID0gY2xhc3MgTGF5
ZXJzM0RDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICBfdG9nZ2xlQ29t
cG9zaXRpbmdCb3JkZXJzKGV2ZW50KQogICAgIHsKLSAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdC
b3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gIXRoaXMuX2NvbXBvc2l0aW5n
Qm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZDsKLSAgICAgICAgUGFnZUFnZW50
LnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUodGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0
dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkKTsKKyAgICAgICAgbGV0IGFjdGl2YXRlZCA9ICF0
aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQ7Cisg
ICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2
YXRlZCA9IGFjdGl2YXRlZDsKKyAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMp
IHsKKyAgICAgICAgICAgIGlmICh0YXJnZXQuUGFnZUFnZW50KQorICAgICAgICAgICAgICAgIHRh
cmdldC5QYWdlQWdlbnQuc2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZShhY3RpdmF0ZWQpOwor
ICAgICAgICB9CiAgICAgfQogCiAgICAgX2J1aWxkTGF5ZXJJbmZvRWxlbWVudCgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373930</attachid>
            <date>2019-07-11 11:03:44 -0700</date>
            <delta_ts>2019-07-11 11:37:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199555-20190711110343.patch</filename>
            <type>text/plain</type>
            <size>11720</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDY4MjE0NWQ5YWM4YWIwMmY1M2UxMjVjNWYyZTli
MTViMjg1ZWVlOGMuLjZhNjkyZGM1ZTljOTYzMDA5OTlhOWZlNWE5OTljMGZlMTc0ZWQzM2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE5LTA3LTExICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBM
YXllcnM6IFVuY2F1Z2h0IEV4Y2VwdGlvbjogUmVxdWVzdCB3aXRoIGlkID0gMiBmYWlsZWQuIHsi
Y29kZSI6LTMyNjAxLCJtZXNzYWdlIjoiJ1BhZ2UnIGRvbWFpbiB3YXMgbm90IGZvdW5kIiwiZGF0
YSI6W3siY29kZSI6LTMyNjAxLCJtZXNzYWdlIjoiJ1BhZ2UnIGRvbWFpbiB3YXMgbm90IGZvdW5k
In1dfQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5
NTU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgIFVz
ZSBtb2Rlcm4gaW5zcGVjdGVkIHRhcmdldCBzdXBwb3J0IGNoZWNraW5nLCBhbmQgZGVmZXIgYWdl
bnQgY29tbWFuZHMgdW50aWwgYSB0YXJnZXQgaXMKKyAgICAgICAgYXZhaWxhYmxlLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzOgorICAgICAg
ICAoV0kuTGF5ZXJzM0RDb250ZW50Vmlldyk6CisgICAgICAgIChXSS5MYXllcnMzRENvbnRlbnRW
aWV3LnByb3RvdHlwZS5fc2hvd1BhaW50UmVjdHNTZXR0aW5nQ2hhbmdlZCk6CisgICAgICAgIChX
SS5MYXllcnMzRENvbnRlbnRWaWV3LnByb3RvdHlwZS5fdXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJz
QnV0dG9uU3RhdGUpOgorICAgICAgICAoV0kuTGF5ZXJzM0RDb250ZW50Vmlldy5wcm90b3R5cGUu
X3RvZ2dsZUNvbXBvc2l0aW5nQm9yZGVycyk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJLkRPTVRyZWVDb250ZW50Vmll
dyk6CisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlLl90b2dnbGVDb21w
b3NpdGluZ0JvcmRlcnMpOgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlw
ZS5fdXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uVG9NYXRjaFBhZ2VTZXR0aW5ncyk6Cisg
ICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlLl9zaG93UGFpbnRSZWN0c1Nl
dHRpbmdDaGFuZ2VkKToKKyAgICAgICAgKFdJLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUu
X3Nob3dQcmludFN0eWxlc0NoYW5nZWQpOgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3
LnByb3RvdHlwZS5fc2hvd1J1bGVyc0NoYW5nZWQpOgorICAgICAgICBEcml2ZS1ieTogYXBwbHkg
dGhlIHNhbWUgY2hhbmdlcyB0byB0aGUgRWxlbWVudHMgdGFiIGZvciB3aGVuIHRoZSBMYXllcnMg
dGFiIGlzbid0IGVuYWJsZWQuCisKIDIwMTktMDctMDkgIERldmluIFJvdXNzbyAgPGRyb3Vzc29A
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IENhbnZhczogcmVwbGFjZSBXVEY6
OlZlY3RvciB3aXRoIHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdCBpbiBDYWxsVHJhY2VyIHRvIGF2b2lk
IGR5bmFtaWMgYWxsb2NhdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwppbmRleCA4
NTBjOTM0ZDJjZTY0NzUxMzMxZjQxZTk2MTcxODk0YzY0ZmU0ZTE5Li4xOTE2ZDc0YTI4YWMwNDkz
YjhlZDFmNjdlM2MwYmZjOWZlNzFhYzE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3Lmpz
CkBAIC0zNCw3ICszNCw3IEBAIFdJLkRPTVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVD
b250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIGlmIChJbnNwZWN0b3JC
YWNrZW5kLmRvbWFpbnMuUGFnZSkgewogICAgICAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3Jk
ZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0gPSBuZXcgV0kuQWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9u
SXRlbSgibGF5ZXItYm9yZGVycyIsIFdJLlVJU3RyaW5nKCJTaG93IGNvbXBvc2l0aW5nIGJvcmRl
cnMiKSwgV0kuVUlTdHJpbmcoIkhpZGUgY29tcG9zaXRpbmcgYm9yZGVycyIpLCAiSW1hZ2VzL0xh
eWVyQm9yZGVycy5zdmciLCAxMywgMTMpOwogICAgICAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdC
b3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXSS5CdXR0b25OYXZp
Z2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlzLl90b2dnbGVDb21wb3NpdGluZ0JvcmRlcnMs
IHRoaXMpOwotICAgICAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdh
dGlvbkl0ZW0uZW5hYmxlZCA9ICEhUGFnZUFnZW50LmdldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2li
bGU7CisgICAgICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9u
SXRlbS5lbmFibGVkID0gISFJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuUGFnZS5nZXRDb21wb3Np
dGluZ0JvcmRlcnNWaXNpYmxlOwogICAgICAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJz
QnV0dG9uTmF2aWdhdGlvbkl0ZW0udmlzaWJpbGl0eVByaW9yaXR5ID0gV0kuTmF2aWdhdGlvbkl0
ZW0uVmlzaWJpbGl0eVByaW9yaXR5LkxvdzsKICAgICAgICAgfQogCkBAIC00Miw4ICs0Miw4IEBA
IFdJLkRPTVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVDb250ZW50VmlldyBleHRlbmRz
IFdJLkNvbnRlbnRWaWV3CiAgICAgICAgICAgICBXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy5h
ZGRFdmVudExpc3RlbmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhpcy5fc2hvd1BhaW50
UmVjdHNTZXR0aW5nQ2hhbmdlZCwgdGhpcyk7CiAgICAgICAgICAgICB0aGlzLl9wYWludEZsYXNo
aW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0gPSBuZXcgV0kuQWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9u
SXRlbSgicGFpbnQtZmxhc2hpbmciLCBXSS5VSVN0cmluZygiRW5hYmxlIHBhaW50IGZsYXNoaW5n
IiksIFdJLlVJU3RyaW5nKCJEaXNhYmxlIHBhaW50IGZsYXNoaW5nIiksICJJbWFnZXMvUGFpbnQu
c3ZnIiwgMTYsIDE2KTsKICAgICAgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZp
Z2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50
LkNsaWNrZWQsIHRoaXMuX3RvZ2dsZVBhaW50Rmxhc2hpbmcsIHRoaXMpOwotICAgICAgICAgICAg
dGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSAhIVBhZ2VB
Z2VudC5zZXRTaG93UGFpbnRSZWN0czsKLSAgICAgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdC
dXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSBQYWdlQWdlbnQuc2V0U2hvd1BhaW50UmVj
dHMgJiYgV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMudmFsdWU7CisgICAgICAgICAgICB0aGlz
Ll9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9ICEhSW5zcGVjdG9y
QmFja2VuZC5kb21haW5zLlBhZ2Uuc2V0U2hvd1BhaW50UmVjdHM7CisgICAgICAgICAgICB0aGlz
Ll9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gSW5zcGVjdG9y
QmFja2VuZC5kb21haW5zLlBhZ2Uuc2V0U2hvd1BhaW50UmVjdHMgJiYgV0kuc2V0dGluZ3Muc2hv
d1BhaW50UmVjdHMudmFsdWU7CiAgICAgICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9u
TmF2aWdhdGlvbkl0ZW0udmlzaWJpbGl0eVByaW9yaXR5ID0gV0kuTmF2aWdhdGlvbkl0ZW0uVmlz
aWJpbGl0eVByaW9yaXR5LkxvdzsKICAgICAgICAgfQogCkBAIC01OTAsMTEgKzU5MCwxMyBAQCBX
SS5ET01UcmVlQ29udGVudFZpZXcgPSBjbGFzcyBET01UcmVlQ29udGVudFZpZXcgZXh0ZW5kcyBX
SS5Db250ZW50VmlldwogCiAgICAgX3RvZ2dsZUNvbXBvc2l0aW5nQm9yZGVycyhldmVudCkKICAg
ICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KFBhZ2VBZ2VudC5zZXRDb21wb3NpdGluZ0JvcmRl
cnNWaXNpYmxlKTsKLQogICAgICAgICB2YXIgYWN0aXZhdGVkID0gIXRoaXMuX2NvbXBvc2l0aW5n
Qm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZDsKICAgICAgICAgdGhpcy5fY29t
cG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gYWN0aXZhdGVk
OwotICAgICAgICBQYWdlQWdlbnQuc2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZShhY3RpdmF0
ZWQpOworCisgICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJnZXRzKSB7CisgICAgICAg
ICAgICBpZiAodGFyZ2V0LlBhZ2VBZ2VudCkKKyAgICAgICAgICAgICAgICB0YXJnZXQuUGFnZUFn
ZW50LnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoYWN0aXZhdGVkKTsKKyAgICAgICAgfQog
ICAgIH0KIAogICAgIF90b2dnbGVQYWludEZsYXNoaW5nKGV2ZW50KQpAQCAtNjA0LDYgKzYwNiwx
NiBAQCBXSS5ET01UcmVlQ29udGVudFZpZXcgPSBjbGFzcyBET01UcmVlQ29udGVudFZpZXcgZXh0
ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAgX3VwZGF0ZUNvbXBvc2l0aW5nQm9yZGVyc0J1dHRv
blRvTWF0Y2hQYWdlU2V0dGluZ3MoKQogICAgIHsKKyAgICAgICAgaWYgKCFXSS50YXJnZXRzQXZh
aWxhYmxlKCkpIHsKKyAgICAgICAgICAgIFdJLndoZW5UYXJnZXRzQXZhaWxhYmxlKCkudGhlbigo
KSA9PiB7CisgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJzQnV0
dG9uVG9NYXRjaFBhZ2VTZXR0aW5ncygpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAoIXdpbmRvdy5QYWdlQWdlbnQpCisgICAg
ICAgICAgICByZXR1cm47CisKICAgICAgICAgdmFyIGJ1dHRvbiA9IHRoaXMuX2NvbXBvc2l0aW5n
Qm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtOwogCiAgICAgICAgIC8vIFdlIG5lZWQgdG8gc3lu
YyB3aXRoIHRoZSBwYWdlIHNldHRpbmdzIHNpbmNlIHRoZXNlIGNhbiBiZSBjb250cm9sbGVkCkBA
IC02MTYsMTEgKzYyOCwxMyBAQCBXSS5ET01UcmVlQ29udGVudFZpZXcgPSBjbGFzcyBET01UcmVl
Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAgX3Nob3dQYWludFJlY3Rz
U2V0dGluZ0NoYW5nZWQoZXZlbnQpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydChQYWdl
QWdlbnQuc2V0U2hvd1BhaW50UmVjdHMpOworICAgICAgICBsZXQgYWN0aXZhdGVkID0gV0kuc2V0
dGluZ3Muc2hvd1BhaW50UmVjdHMudmFsdWU7CisgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdC
dXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSBhY3RpdmF0ZWQ7CiAKLSAgICAgICAgdGhp
cy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IFdJLnNldHRp
bmdzLnNob3dQYWludFJlY3RzLnZhbHVlOwotCi0gICAgICAgIFBhZ2VBZ2VudC5zZXRTaG93UGFp
bnRSZWN0cyh0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVk
KTsKKyAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMpIHsKKyAgICAgICAgICAg
IGlmICh0YXJnZXQuUGFnZUFnZW50ICYmIHRhcmdldC5QYWdlQWdlbnQuc2V0U2hvd1BhaW50UmVj
dHMpCisgICAgICAgICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5zZXRTaG93UGFpbnRSZWN0cyhh
Y3RpdmF0ZWQpOworICAgICAgICB9CiAgICAgfQogCiAgICAgX3Nob3dTaGFkb3dET01TZXR0aW5n
Q2hhbmdlZChldmVudCkKQEAgLTYzOCw3ICs2NTIsMTAgQEAgV0kuRE9NVHJlZUNvbnRlbnRWaWV3
ID0gY2xhc3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAg
ICAgdGhpcy5fc2hvd1ByaW50U3R5bGVzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0g
V0kucHJpbnRTdHlsZXNFbmFibGVkOwogCiAgICAgICAgIGxldCBtZWRpYVR5cGUgPSBXSS5wcmlu
dFN0eWxlc0VuYWJsZWQgPyAicHJpbnQiIDogIiI7Ci0gICAgICAgIFBhZ2VBZ2VudC5zZXRFbXVs
YXRlZE1lZGlhKG1lZGlhVHlwZSk7CisgICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJn
ZXRzKSB7CisgICAgICAgICAgICBpZiAodGFyZ2V0LlBhZ2VBZ2VudCkKKyAgICAgICAgICAgICAg
ICB0YXJnZXQuUGFnZUFnZW50LnNldEVtdWxhdGVkTWVkaWEobWVkaWFUeXBlKTsKKyAgICAgICAg
fQogCiAgICAgICAgIFdJLmNzc01hbmFnZXIubWVkaWFUeXBlQ2hhbmdlZCgpOwogICAgIH0KQEAg
LTcxNiwxMSArNzMzLDEzIEBAIFdJLkRPTVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVD
b250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICBfc2hvd1J1bGVyc0NoYW5n
ZWQoKQogICAgIHsKLSAgICAgICAgY29uc29sZS5hc3NlcnQoUGFnZUFnZW50LnNldFNob3dSdWxl
cnMpOworICAgICAgICBsZXQgYWN0aXZhdGVkID0gV0kuc2V0dGluZ3Muc2hvd1J1bGVycy52YWx1
ZTsKKyAgICAgICAgdGhpcy5fc2hvd1J1bGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRl
ZCA9IGFjdGl2YXRlZDsKIAotICAgICAgICB0aGlzLl9zaG93UnVsZXJzQnV0dG9uTmF2aWdhdGlv
bkl0ZW0uYWN0aXZhdGVkID0gV0kuc2V0dGluZ3Muc2hvd1J1bGVycy52YWx1ZTsKLQotICAgICAg
ICBQYWdlQWdlbnQuc2V0U2hvd1J1bGVycyh0aGlzLl9zaG93UnVsZXJzQnV0dG9uTmF2aWdhdGlv
bkl0ZW0uYWN0aXZhdGVkKTsKKyAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMp
IHsKKyAgICAgICAgICAgIGlmICh0YXJnZXQuUGFnZUFnZW50ICYmIHRhcmdldC5QYWdlQWdlbnQu
c2V0U2hvd1J1bGVycykKKyAgICAgICAgICAgICAgICB0YXJnZXQuUGFnZUFnZW50LnNldFNob3dS
dWxlcnMoYWN0aXZhdGVkKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIF90b2dnbGVTaG93UnVs
ZXJzKGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvTGF5ZXJzM0RDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyczNEQ29udGVudFZpZXcuanMKaW5kZXggYTUzNjY3YWM3
ZjQzNzlmOTAyMjFiMWFhNjMxZjhhNDk4YjZjYzVhZi4uYjY0MjkzN2MyNDBkNzY3ZDA0Mzc3OGM3
NTVjMTZhODhhMjY1YjViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvTGF5ZXJzM0RDb250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzCkBAIC0z
MywxMyArMzMsMTQgQEAgV0kuTGF5ZXJzM0RDb250ZW50VmlldyA9IGNsYXNzIExheWVyczNEQ29u
dGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogCiAgICAgICAgIHRoaXMuX2NvbXBvc2l0
aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtID0gbmV3IFdJLkFjdGl2YXRlQnV0dG9uTmF2
aWdhdGlvbkl0ZW0oImxheWVyLWJvcmRlcnMiLCBXSS5VSVN0cmluZygiU2hvdyBjb21wb3NpdGlu
ZyBib3JkZXJzIiksIFdJLlVJU3RyaW5nKCJIaWRlIGNvbXBvc2l0aW5nIGJvcmRlcnMiKSwgIklt
YWdlcy9MYXllckJvcmRlcnMuc3ZnIiwgMTMsIDEzKTsKICAgICAgICAgdGhpcy5fY29tcG9zaXRp
bmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXSS5CdXR0b25O
YXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlzLl90b2dnbGVDb21wb3NpdGluZ0JvcmRl
cnMsIHRoaXMpOworICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0
aW9uSXRlbS5lbmFibGVkID0gISFJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuUGFnZTsKICAgICAg
ICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0udmlzaWJpbGl0
eVByaW9yaXR5ID0gV0kuTmF2aWdhdGlvbkl0ZW0uVmlzaWJpbGl0eVByaW9yaXR5LkxvdzsKIAog
ICAgICAgICBXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy5hZGRFdmVudExpc3RlbmVyKFdJLlNl
dHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhpcy5fc2hvd1BhaW50UmVjdHNTZXR0aW5nQ2hhbmdlZCwg
dGhpcyk7CiAgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbSA9
IG5ldyBXSS5BY3RpdmF0ZUJ1dHRvbk5hdmlnYXRpb25JdGVtKCJwYWludC1mbGFzaGluZyIsIFdJ
LlVJU3RyaW5nKCJFbmFibGUgcGFpbnQgZmxhc2hpbmciKSwgV0kuVUlTdHJpbmcoIkRpc2FibGUg
cGFpbnQgZmxhc2hpbmciKSwgIkltYWdlcy9QYWludC5zdmciLCAxNiwgMTYpOwogICAgICAgICB0
aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihX
SS5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlzLl90b2dnbGVQYWludEZs
YXNoaW5nLCB0aGlzKTsKLSAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRp
b25JdGVtLmVuYWJsZWQgPSAhIVBhZ2VBZ2VudC5zZXRTaG93UGFpbnRSZWN0czsKLSAgICAgICAg
dGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IFBhZ2VB
Z2VudC5zZXRTaG93UGFpbnRSZWN0cyAmJiBXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy52YWx1
ZTsKKyAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJs
ZWQgPSBJbnNwZWN0b3JCYWNrZW5kLmRvbWFpbnMuUGFnZSAmJiAhIUluc3BlY3RvckJhY2tlbmQu
ZG9tYWlucy5QYWdlLnNldFNob3dQYWludFJlY3RzOworICAgICAgICB0aGlzLl9wYWludEZsYXNo
aW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gSW5zcGVjdG9yQmFja2VuZC5kb21h
aW5zLlBhZ2Uuc2V0U2hvd1BhaW50UmVjdHMgJiYgV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMu
dmFsdWU7CiAgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS52
aXNpYmlsaXR5UHJpb3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRlbS5WaXNpYmlsaXR5UHJpb3JpdHku
TG93OwogCiAgICAgICAgIHRoaXMuX2xheWVycyA9IFtdOwpAQCAtMzkyLDEwICszOTMsMTMgQEAg
V0kuTGF5ZXJzM0RDb250ZW50VmlldyA9IGNsYXNzIExheWVyczNEQ29udGVudFZpZXcgZXh0ZW5k
cyBXSS5Db250ZW50VmlldwogCiAgICAgX3Nob3dQYWludFJlY3RzU2V0dGluZ0NoYW5nZWQoZXZl
bnQpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydChQYWdlQWdlbnQuc2V0U2hvd1BhaW50
UmVjdHMpOworICAgICAgICBsZXQgYWN0aXZhdGVkID0gV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVj
dHMudmFsdWU7CisgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRl
bS5hY3RpdmF0ZWQgPSBhY3RpdmF0ZWQ7CiAKLSAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1
dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IFdJLnNldHRpbmdzLnNob3dQYWludFJlY3Rz
LnZhbHVlOwotICAgICAgICBQYWdlQWdlbnQuc2V0U2hvd1BhaW50UmVjdHModGhpcy5fcGFpbnRG
bGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCk7CisgICAgICAgIGZvciAobGV0
IHRhcmdldCBvZiBXSS50YXJnZXRzKSB7CisgICAgICAgICAgICBpZiAodGFyZ2V0LlBhZ2VBZ2Vu
dCAmJiB0YXJnZXQuUGFnZUFnZW50LnNldFNob3dQYWludFJlY3RzKQorICAgICAgICAgICAgICAg
IHRhcmdldC5QYWdlQWdlbnQuc2V0U2hvd1BhaW50UmVjdHMoYWN0aXZhdGVkKTsKKyAgICAgICAg
fQogICAgIH0KIAogICAgIF90b2dnbGVQYWludEZsYXNoaW5nKGV2ZW50KQpAQCAtNDA1LDYgKzQw
OSwxNiBAQCBXSS5MYXllcnMzRENvbnRlbnRWaWV3ID0gY2xhc3MgTGF5ZXJzM0RDb250ZW50Vmll
dyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICBfdXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJz
QnV0dG9uU3RhdGUoKQogICAgIHsKKyAgICAgICAgaWYgKCFXSS50YXJnZXRzQXZhaWxhYmxlKCkp
IHsKKyAgICAgICAgICAgIFdJLndoZW5UYXJnZXRzQXZhaWxhYmxlKCkudGhlbigoKSA9PiB7Cisg
ICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uU3RhdGUo
KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAg
ICAgICAgaWYgKCF3aW5kb3cuUGFnZUFnZW50KQorICAgICAgICAgICAgcmV0dXJuOworCiAgICAg
ICAgIC8vIFRoaXMgdmFsdWUgY2FuIGJlIGNoYW5nZWQgb3V0c2lkZSBvZiBXZWIgSW5zcGVjdG9y
LgogICAgICAgICAvLyBGSVhNRTogSGF2ZSBQYWdlQWdlbnQgZGlzcGF0Y2ggYSBjaGFuZ2UgZXZl
bnQgaW5zdGVhZD8KICAgICAgICAgUGFnZUFnZW50LmdldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2li
bGUoKGVycm9yLCBjb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKSA9PiB7CkBAIC00MTUsOCArNDI5
LDEzIEBAIFdJLkxheWVyczNEQ29udGVudFZpZXcgPSBjbGFzcyBMYXllcnMzRENvbnRlbnRWaWV3
IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKIAogICAgIF90b2dnbGVDb21wb3NpdGluZ0JvcmRlcnMo
ZXZlbnQpCiAgICAgewotICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZp
Z2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSAhdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2
aWdhdGlvbkl0ZW0uYWN0aXZhdGVkOwotICAgICAgICBQYWdlQWdlbnQuc2V0Q29tcG9zaXRpbmdC
b3JkZXJzVmlzaWJsZSh0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRl
bS5hY3RpdmF0ZWQpOworICAgICAgICBsZXQgYWN0aXZhdGVkID0gIXRoaXMuX2NvbXBvc2l0aW5n
Qm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZDsKKyAgICAgICAgdGhpcy5fY29t
cG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gYWN0aXZhdGVk
OworCisgICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJnZXRzKSB7CisgICAgICAgICAg
ICBpZiAodGFyZ2V0LlBhZ2VBZ2VudCkKKyAgICAgICAgICAgICAgICB0YXJnZXQuUGFnZUFnZW50
LnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoYWN0aXZhdGVkKTsKKyAgICAgICAgfQogICAg
IH0KIAogICAgIF9idWlsZExheWVySW5mb0VsZW1lbnQoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>