<?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>191482</bug_id>
          
          <creation_ts>2018-11-09 12:41:34 -0800</creation_ts>
          <short_desc>Web Inspector: Cookies table needs copy keyboard shortcut and context menu support</short_desc>
          <delta_ts>2018-11-27 13:07:00 -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>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</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>1477060</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-11-09 12:41:34 -0800</bug_when>
    <thetext>Summary:
Cookies table needs copy keyboard shortcut and context menu support.

DataGrid supports `handleCopyEvent` and provides &quot;Copy Row&quot; &amp; &quot;Copy Table&quot; context menu items as needed. Table doesn&apos;t need to provide this level of support, but at the very least clients need to query column visibility, so the clipboard text can reflect what is shown in the table.

CookieStorageContentView can reuse the formatting from tablePopulateCell to generate clipboard text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1477061</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-09 12:41:53 -0800</bug_when>
    <thetext>&lt;rdar://problem/45953002&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478675</commentid>
    <comment_count>2</comment_count>
      <attachid>354865</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-11-14 16:05:46 -0800</bug_when>
    <thetext>Created attachment 354865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479639</commentid>
    <comment_count>3</comment_count>
      <attachid>355127</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-11-16 14:39:12 -0800</bug_when>
    <thetext>Created attachment 355127
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480668</commentid>
    <comment_count>4</comment_count>
      <attachid>355127</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-11-20 21:18:03 -0800</bug_when>
    <thetext>Comment on attachment 355127
Patch

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

r-, due to the `emDash` and `zeroWidthSpace` concerns.  The logic looks fine.

&gt; Source/WebInspectorUI/ChangeLog:20
&gt; +        (WI.CookieStorageContentView):

NIT: this should go first in the ChangeLog

&gt; Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js:352
&gt; +            return values.join(&quot;\t&quot;);

Is the reason you aren&apos;t using a CSV format because some of the `WI.Cookie` values might have commas?  In that case, perhaps we should expose this as a cookie string instead (e.g. `${key}=${value}` joined by &quot;;&quot;)?

&gt; Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js:368
&gt; +            return cookie.domain || emDash;

We shouldn&apos;t expose `emDash` as clipboard content.  That&apos;s really just a formatting tool for WebInspector.  See (352) for an alternative

&gt; Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js:370
&gt; +            return cookie.path || emDash;

Ditto (368)

&gt; Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js:376
&gt; +            return cookie.secure ? checkmark : zeroWidthSpace;

We shouldn&apos;t expose `zeroWidthSpace` as clipboard content.  That&apos;s really just a formatting tool for WebInspector.  See (352) for an alternative

&gt; Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js:378
&gt; +            return cookie.httpOnly ? checkmark : zeroWidthSpace;

Ditto (376)

&gt; Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js:380
&gt; +            return cookie.sameSite === WI.Cookie.SameSiteType.None ? emDash : WI.Cookie.displayNameForSameSiteType(cookie.sameSite);

Ditto (368)

&gt; Source/WebInspectorUI/UserInterface/Views/Table.js:244
&gt; +        return this._columnSpecs.values();

This should probably just call `Array.from` by default.  I don&apos;t think we ever expose an iterator unless it&apos;s via a `Symbol.iterator` function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481436</commentid>
    <comment_count>5</comment_count>
      <attachid>355127</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-11-25 17:33:52 -0800</bug_when>
    <thetext>Comment on attachment 355127
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js:352
&gt;&gt; +            return values.join(&quot;\t&quot;);
&gt; 
&gt; Is the reason you aren&apos;t using a CSV format because some of the `WI.Cookie` values might have commas?  In that case, perhaps we should expose this as a cookie string instead (e.g. `${key}=${value}` joined by &quot;;&quot;)?

This matches the original DataGrid behavior. I haven&apos;t found many native apps with tables to use for comparison, but the Instruments app (which doesn&apos;t allow multiple selection) does use \t to delimit fields. We could always add other copy options if there is a need.

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/CookieStorageContentView.js:368
&gt;&gt; +            return cookie.domain || emDash;
&gt; 
&gt; We shouldn&apos;t expose `emDash` as clipboard content.  That&apos;s really just a formatting tool for WebInspector.  See (352) for an alternative

I&apos;ll make the content depend on a `formatForClipboard` flag (or something like that).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1481437</commentid>
    <comment_count>6</comment_count>
      <attachid>355612</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2018-11-25 18:48:06 -0800</bug_when>
    <thetext>Created attachment 355612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482027</commentid>
    <comment_count>7</comment_count>
      <attachid>355612</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-11-27 12:03:43 -0800</bug_when>
    <thetext>Comment on attachment 355612
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482066</commentid>
    <comment_count>8</comment_count>
      <attachid>355612</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-27 13:06:59 -0800</bug_when>
    <thetext>Comment on attachment 355612
Patch

Clearing flags on attachment: 355612

Committed r238569: &lt;https://trac.webkit.org/changeset/238569&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482067</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-27 13:07:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354865</attachid>
            <date>2018-11-14 16:05:46 -0800</date>
            <delta_ts>2018-11-16 14:39:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191482-20181114160546.patch</filename>
            <type>text/plain</type>
            <size>7552</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MjAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBm
ODQyOGJmOWNjZDE4YjU2NDVmNmUwNmJjODcyZWNiMjNlMWNiMjZmLi5jMzYwZWIyZDQ5MTQ5NGVm
MjA5MjA3Nzk3NWU1OTMzMTY3ODk2ZGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxOC0xMS0xNCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29va2llcyB0YWJsZSBuZWVkcyBjb3B5IGtleWJv
YXJkIHNob3J0Y3V0IGFuZCBjb250ZXh0IG1lbnUgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxNDgyCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80NTk1MzAwMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3Lmpz
OgorICAgICAgICAoV0kuQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5oYW5kbGVD
b3B5RXZlbnQpOgorICAgICAgICAoV0kuQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3LnByb3RvdHlw
ZS50YWJsZUNlbGxDb250ZXh0TWVudUNsaWNrZWQpOgorICAgICAgICBBcyB3aXRoIERlbGV0ZSwg
aWYgdGhlIHRhcmdldCByb3cgaXMgc2VsZWN0ZWQsIGFsbCBzZWxlY3RlZCByb3dzIGFyZSBjb3Bp
ZWQuCisgICAgICAgIE90aGVyd2lzZSBvbmx5IHRoZSB0YXJnZXQgcm93IGlzIGNvcGllZC4gVGhp
cyBkaXN0aW5jdGlvbiB3aWxsIGJlIHN1cmZhY2VkCisgICAgICAgIGluIHRoZSBVSSBpbiBodHRw
czovL3dlYmtpdC5vcmcvYi8xOTEwOTUuCisKKyAgICAgICAgKFdJLkNvb2tpZVN0b3JhZ2VDb250
ZW50Vmlldy5wcm90b3R5cGUudGFibGVQb3B1bGF0ZUNlbGwpOgorICAgICAgICAoV0kuQ29va2ll
U3RvcmFnZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fY29va2llc0F0SW5kZXhlcyk6CisgICAgICAg
IChXSS5Db29raWVTdG9yYWdlQ29udGVudFZpZXcucHJvdG90eXBlLl9mb3JtYXRDb29raWVzQXNU
ZXh0KToKKyAgICAgICAgKFdJLkNvb2tpZVN0b3JhZ2VDb250ZW50Vmlldy5wcm90b3R5cGUuX2Zv
cm1hdENvb2tpZVByb3BlcnR5Rm9yQ29sdW1uKToKKyAgICAgICAgKFdJLkNvb2tpZVN0b3JhZ2VD
b250ZW50Vmlldyk6CisgICAgICAgIEJyZWFrIENvb2tpZSBwcm9wZXJ0eSBmb3JtYXR0aW5nIGlu
dG8gYSBoZWxwZXIgbWV0aG9kLCB3aGljaCBpcyB1c2VkIGZvcgorICAgICAgICBmb3JtYXR0aW5n
IFRhYmxlIGNlbGxzIGFuZCBjcmVhdGluZyBwbGFpbiB0ZXh0IGZvciB0aGUgY2xpcGJvYXJkLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UYWJsZS5qczoKKyAgICAgICAgKFdJLlRh
YmxlLnByb3RvdHlwZS5nZXQgY29sdW1ucyk6CisKIDIwMTgtMTEtMTQgIE1hdHQgQmFrZXIgIDxt
YXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRhYmxlIHNob3Vs
ZCByZWNhbGN1bGF0ZSBzY3JvbGxhYmxlIGhlaWdodCB3aGVuIHJlc2l6ZWQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Nvb2tpZVN0b3JhZ2VD
b250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0Nvb2tpZVN0b3JhZ2VDb250ZW50Vmlldy5qcwppbmRleCBkOTE2MDFmYjVjOTgyOGZmOGM2YzE1
ZWQ0MjY4OGJkNTVmM2NhYTIwLi4yMGU0MjVkNTY0NDczODNjYWRhNjU3NWFiMjFhMWNhZjk3ZGFi
ODVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9Db29raWVTdG9yYWdlQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3LmpzCkBAIC01OSw2
ICs1OSwyMCBAQCBXSS5Db29raWVTdG9yYWdlQ29udGVudFZpZXcgPSBjbGFzcyBDb29raWVTdG9y
YWdlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VgogICAgICAgICByZXR1cm4gW3RoaXMu
X3RhYmxlLnNjcm9sbENvbnRhaW5lcl07CiAgICAgfQogCisgICAgaGFuZGxlQ29weUV2ZW50KGV2
ZW50KQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl90YWJsZSB8fCAhdGhpcy5fdGFibGUuc2Vs
ZWN0ZWRSb3dzLmxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBsZXQgY29v
a2llcyA9IHRoaXMuX2Nvb2tpZXNBdEluZGV4ZXModGhpcy5fdGFibGUuc2VsZWN0ZWRSb3dzKTsK
KyAgICAgICAgaWYgKCFjb29raWVzLmxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICBldmVudC5jbGlwYm9hcmREYXRhLnNldERhdGEoInRleHQvcGxhaW4iLCB0aGlzLl9mb3Jt
YXRDb29raWVzQXNUZXh0KGNvb2tpZXMpKTsKKyAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9u
KCk7CisgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgICAgfQorCiAgICAgLy8gVGFi
bGUgZGF0YVNvdXJjZQogCiAgICAgdGFibGVOdW1iZXJPZlJvd3ModGFibGUpCkBAIC04NCw2ICs5
OCwxNyBAQCBXSS5Db29raWVTdG9yYWdlQ29udGVudFZpZXcgPSBjbGFzcyBDb29raWVTdG9yYWdl
Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VgogICAgICAgICBsZXQgY29udGV4dE1lbnUg
PSBXSS5Db250ZXh0TWVudS5jcmVhdGVGcm9tRXZlbnQoZXZlbnQpOwogCiAgICAgICAgIGNvbnRl
eHRNZW51LmFwcGVuZFNlcGFyYXRvcigpOworICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVt
KFdJLlVJU3RyaW5nKCJDb3B5IiksICgpID0+IHsKKyAgICAgICAgICAgIGxldCByb3dJbmRleGVz
OworICAgICAgICAgICAgaWYgKHRhYmxlLmlzUm93U2VsZWN0ZWQocm93SW5kZXgpKQorICAgICAg
ICAgICAgICAgIHJvd0luZGV4ZXMgPSB0YWJsZS5zZWxlY3RlZFJvd3M7CisgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgcm93SW5kZXhlcyA9IFtyb3dJbmRleF07CisKKyAgICAgICAg
ICAgIGxldCBjb29raWVzID0gdGhpcy5fY29va2llc0F0SW5kZXhlcyhyb3dJbmRleGVzKTsKKyAg
ICAgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5jb3B5VGV4dCh0aGlzLl9mb3JtYXRDb29r
aWVzQXNUZXh0KGNvb2tpZXMpKTsKKyAgICAgICAgfSk7CisKICAgICAgICAgY29udGV4dE1lbnUu
YXBwZW5kSXRlbShXSS5VSVN0cmluZygiRGVsZXRlIiksICgpID0+IHsKICAgICAgICAgICAgIGlm
ICh0YWJsZS5pc1Jvd1NlbGVjdGVkKHJvd0luZGV4KSkKICAgICAgICAgICAgICAgICB0YWJsZS5y
ZW1vdmVTZWxlY3RlZFJvd3MoKTsKQEAgLTExNywzOSArMTQyLDcgQEAgV0kuQ29va2llU3RvcmFn
ZUNvbnRlbnRWaWV3ID0gY2xhc3MgQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0ku
Q29udGVudFYKICAgICB0YWJsZVBvcHVsYXRlQ2VsbCh0YWJsZSwgY2VsbCwgY29sdW1uLCByb3dJ
bmRleCkKICAgICB7CiAgICAgICAgIGxldCBjb29raWUgPSB0aGlzLl9jb29raWVzW3Jvd0luZGV4
XTsKLQotICAgICAgICBjb25zdCBjaGVja21hcmsgPSAiXHUyNzEzIjsKLQotICAgICAgICBzd2l0
Y2ggKGNvbHVtbi5pZGVudGlmaWVyKSB7Ci0gICAgICAgIGNhc2UgIm5hbWUiOgotICAgICAgICAg
ICAgY2VsbC50ZXh0Q29udGVudCA9IGNvb2tpZS5uYW1lOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgInZhbHVlIjoKLSAgICAgICAgICAgIGNlbGwudGV4dENvbnRlbnQgPSBjb29r
aWUudmFsdWU7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAiZG9tYWluIjoKLSAg
ICAgICAgICAgIGNlbGwudGV4dENvbnRlbnQgPSBjb29raWUuZG9tYWluIHx8IGVtRGFzaDsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICJwYXRoIjoKLSAgICAgICAgICAgIGNlbGwu
dGV4dENvbnRlbnQgPSBjb29raWUucGF0aCB8fCBlbURhc2g7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSAiZXhwaXJlcyI6Ci0gICAgICAgICAgICBjZWxsLnRleHRDb250ZW50ID0g
Y29va2llLmV4cGlyZXMgPyBuZXcgRGF0ZShjb29raWUuZXhwaXJlcykudG9Mb2NhbGVTdHJpbmco
KSA6IFdJLlVJU3RyaW5nKCJTZXNzaW9uIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSAic2l6ZSI6Ci0gICAgICAgICAgICBjZWxsLnRleHRDb250ZW50ID0gTnVtYmVyLmJ5dGVz
VG9TdHJpbmcoY29va2llLnNpemUpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
InNlY3VyZSI6Ci0gICAgICAgICAgICBjZWxsLnRleHRDb250ZW50ID0gY29va2llLnNlY3VyZSA/
IGNoZWNrbWFyayA6IHplcm9XaWR0aFNwYWNlOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgImh0dHBPbmx5IjoKLSAgICAgICAgICAgIGNlbGwudGV4dENvbnRlbnQgPSBjb29raWUu
aHR0cE9ubHkgPyBjaGVja21hcmsgOiB6ZXJvV2lkdGhTcGFjZTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlICJzYW1lU2l0ZSI6Ci0gICAgICAgICAgICBjZWxsLnRleHRDb250ZW50
ID0gY29va2llLnNhbWVTaXRlID09PSBXSS5Db29raWUuU2FtZVNpdGVUeXBlLk5vbmUgPyBlbURh
c2ggOiBXSS5Db29raWUuZGlzcGxheU5hbWVGb3JTYW1lU2l0ZVR5cGUoY29va2llLnNhbWVTaXRl
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KKyAgICAgICAgY2VsbC50ZXh0Q29u
dGVudCA9IHRoaXMuX2Zvcm1hdENvb2tpZVByb3BlcnR5Rm9yQ29sdW1uKGNvb2tpZSwgY29sdW1u
KTsKICAgICAgICAgcmV0dXJuIGNlbGw7CiAgICAgfQogCkBAIC0zNDAsNiArMzMzLDU2IEBAIFdJ
LkNvb2tpZVN0b3JhZ2VDb250ZW50VmlldyA9IGNsYXNzIENvb2tpZVN0b3JhZ2VDb250ZW50Vmll
dyBleHRlbmRzIFdJLkNvbnRlbnRWCiAgICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBXSS5L
ZXlib2FyZFNob3J0Y3V0LktleS5CYWNrc3BhY2Uua2V5Q29kZSB8fCBldmVudC5rZXlDb2RlID09
PSBXSS5LZXlib2FyZFNob3J0Y3V0LktleS5EZWxldGUua2V5Q29kZSkKICAgICAgICAgICAgIHRo
aXMuX3RhYmxlLnJlbW92ZVNlbGVjdGVkUm93cygpOwogICAgIH0KKworICAgIF9jb29raWVzQXRJ
bmRleGVzKGluZGV4ZXMpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuX2Nvb2tpZXMubGVuZ3Ro
KQorICAgICAgICAgICAgcmV0dXJuIFtdOworICAgICAgICByZXR1cm4gaW5kZXhlcy5tYXAoKGlu
ZGV4KSA9PiB0aGlzLl9jb29raWVzW2luZGV4XSk7CisgICAgfQorCisgICAgX2Zvcm1hdENvb2tp
ZXNBc1RleHQoY29va2llcykKKyAgICB7CisgICAgICAgIGxldCB2aXNpYmxlQ29sdW1ucyA9IEFy
cmF5LmZyb20odGhpcy5fdGFibGUuY29sdW1ucykuZmlsdGVyKChjb2x1bW4gPT4gIWNvbHVtbi5o
aWRkZW4pKTsKKyAgICAgICAgaWYgKCF2aXNpYmxlQ29sdW1ucy5sZW5ndGgpCisgICAgICAgICAg
ICByZXR1cm4gIiI7CisKKyAgICAgICAgbGV0IGxpbmVzID0gY29va2llcy5tYXAoKGNvb2tpZSkg
PT4geworICAgICAgICAgICAgbGV0IHZhbHVlcyA9IHZpc2libGVDb2x1bW5zLm1hcCgoY29sdW1u
KSA9PiB0aGlzLl9mb3JtYXRDb29raWVQcm9wZXJ0eUZvckNvbHVtbihjb29raWUsIGNvbHVtbikp
OworICAgICAgICAgICAgcmV0dXJuIHZhbHVlcy5qb2luKCJcdCIpOworICAgICAgICB9KTsKKwor
ICAgICAgICByZXR1cm4gbGluZXMuam9pbigiXG4iKTsKKyAgICB9CisKKyAgICBfZm9ybWF0Q29v
a2llUHJvcGVydHlGb3JDb2x1bW4oY29va2llLCBjb2x1bW4pCisgICAgeworICAgICAgICBjb25z
dCBjaGVja21hcmsgPSAiXHUyNzEzIjsKKworICAgICAgICBzd2l0Y2ggKGNvbHVtbi5pZGVudGlm
aWVyKSB7CisgICAgICAgIGNhc2UgIm5hbWUiOgorICAgICAgICAgICAgcmV0dXJuIGNvb2tpZS5u
YW1lOworICAgICAgICBjYXNlICJ2YWx1ZSI6CisgICAgICAgICAgICByZXR1cm4gY29va2llLnZh
bHVlOworICAgICAgICBjYXNlICJkb21haW4iOgorICAgICAgICAgICAgcmV0dXJuIGNvb2tpZS5k
b21haW4gfHwgZW1EYXNoOworICAgICAgICBjYXNlICJwYXRoIjoKKyAgICAgICAgICAgIHJldHVy
biBjb29raWUucGF0aCB8fCBlbURhc2g7CisgICAgICAgIGNhc2UgImV4cGlyZXMiOgorICAgICAg
ICAgICAgcmV0dXJuIGNvb2tpZS5leHBpcmVzID8gbmV3IERhdGUoY29va2llLmV4cGlyZXMpLnRv
TG9jYWxlU3RyaW5nKCkgOiBXSS5VSVN0cmluZygiU2Vzc2lvbiIpOworICAgICAgICBjYXNlICJz
aXplIjoKKyAgICAgICAgICAgIHJldHVybiBOdW1iZXIuYnl0ZXNUb1N0cmluZyhjb29raWUuc2l6
ZSk7CisgICAgICAgIGNhc2UgInNlY3VyZSI6CisgICAgICAgICAgICByZXR1cm4gY29va2llLnNl
Y3VyZSA/IGNoZWNrbWFyayA6IHplcm9XaWR0aFNwYWNlOworICAgICAgICBjYXNlICJodHRwT25s
eSI6CisgICAgICAgICAgICByZXR1cm4gY29va2llLmh0dHBPbmx5ID8gY2hlY2ttYXJrIDogemVy
b1dpZHRoU3BhY2U7CisgICAgICAgIGNhc2UgInNhbWVTaXRlIjoKKyAgICAgICAgICAgIHJldHVy
biBjb29raWUuc2FtZVNpdGUgPT09IFdJLkNvb2tpZS5TYW1lU2l0ZVR5cGUuTm9uZSA/IGVtRGFz
aCA6IFdJLkNvb2tpZS5kaXNwbGF5TmFtZUZvclNhbWVTaXRlVHlwZShjb29raWUuc2FtZVNpdGUp
OworICAgICAgICB9CisKKyAgICAgICAgY29uc29sZS5hc3NlcnQoIlVuZXhwZWN0ZWQgdGFibGUg
Y29sdW1uICIgKyBjb2x1bW4uaWRlbnRpZmllcik7CisgICAgICAgIHJldHVybiAiIjsKKyAgICB9
CiB9OwogCiBXSS5Db29raWVUeXBlID0gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFibGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UYWJsZS5qcwppbmRleCBlYzRmODgzOTE4YzQ0NzYxOGJkNjVk
ODkyZTM3NzUyMDBkMWMzMmUxLi5kYzVjYjA3ZGI4Nzc5NTRhODMzYzJkMTkxY2YyYmI0MzY5MTAx
ZGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UYWJsZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UYWJsZS5qcwpAQCAtMjM5LDYgKzIzOSwxMSBAQCBXSS5UYWJsZSA9IGNsYXNzIFRhYmxlIGV4
dGVuZHMgV0kuVmlldwogICAgICAgICB9CiAgICAgfQogCisgICAgZ2V0IGNvbHVtbnMoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtblNwZWNzLnZhbHVlcygpOworICAgIH0KKwog
ICAgIGlzUm93U2VsZWN0ZWQocm93SW5kZXgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5f
c2VsZWN0ZWRSb3dzLmhhcyhyb3dJbmRleCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355127</attachid>
            <date>2018-11-16 14:39:12 -0800</date>
            <delta_ts>2018-11-25 18:48:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191482-20181116143906.patch</filename>
            <type>text/plain</type>
            <size>7552</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBm
ODQyOGJmOWNjZDE4YjU2NDVmNmUwNmJjODcyZWNiMjNlMWNiMjZmLi5jYTVmMzljMTRiZTA0NjNm
ZDk2MzgyYWM2ZjhlN2VkMzRiZmMzZjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxOC0xMS0xNiAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29va2llcyB0YWJsZSBuZWVkcyBjb3B5IGtleWJv
YXJkIHNob3J0Y3V0IGFuZCBjb250ZXh0IG1lbnUgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxNDgyCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80NTk1MzAwMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3Lmpz
OgorICAgICAgICAoV0kuQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5oYW5kbGVD
b3B5RXZlbnQpOgorICAgICAgICAoV0kuQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3LnByb3RvdHlw
ZS50YWJsZUNlbGxDb250ZXh0TWVudUNsaWNrZWQpOgorICAgICAgICBBcyB3aXRoIERlbGV0ZSwg
aWYgdGhlIHRhcmdldCByb3cgaXMgc2VsZWN0ZWQsIGFsbCBzZWxlY3RlZCByb3dzIGFyZSBjb3Bp
ZWQuCisgICAgICAgIE90aGVyd2lzZSBvbmx5IHRoZSB0YXJnZXQgcm93IGlzIGNvcGllZC4gVGhp
cyBkaXN0aW5jdGlvbiB3aWxsIGJlIHN1cmZhY2VkCisgICAgICAgIGluIHRoZSBVSSBpbiBodHRw
czovL3dlYmtpdC5vcmcvYi8xOTEwOTUuCisKKyAgICAgICAgKFdJLkNvb2tpZVN0b3JhZ2VDb250
ZW50Vmlldy5wcm90b3R5cGUudGFibGVQb3B1bGF0ZUNlbGwpOgorICAgICAgICAoV0kuQ29va2ll
U3RvcmFnZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fY29va2llc0F0SW5kZXhlcyk6CisgICAgICAg
IChXSS5Db29raWVTdG9yYWdlQ29udGVudFZpZXcucHJvdG90eXBlLl9mb3JtYXRDb29raWVzQXNU
ZXh0KToKKyAgICAgICAgKFdJLkNvb2tpZVN0b3JhZ2VDb250ZW50Vmlldy5wcm90b3R5cGUuX2Zv
cm1hdENvb2tpZVByb3BlcnR5Rm9yQ29sdW1uKToKKyAgICAgICAgKFdJLkNvb2tpZVN0b3JhZ2VD
b250ZW50Vmlldyk6CisgICAgICAgIEJyZWFrIENvb2tpZSBwcm9wZXJ0eSBmb3JtYXR0aW5nIGlu
dG8gYSBoZWxwZXIgbWV0aG9kLCB3aGljaCBpcyB1c2VkIGZvcgorICAgICAgICBmb3JtYXR0aW5n
IFRhYmxlIGNlbGxzIGFuZCBjcmVhdGluZyBwbGFpbiB0ZXh0IGZvciB0aGUgY2xpcGJvYXJkLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UYWJsZS5qczoKKyAgICAgICAgKFdJLlRh
YmxlLnByb3RvdHlwZS5nZXQgY29sdW1ucyk6CisKIDIwMTgtMTEtMTQgIE1hdHQgQmFrZXIgIDxt
YXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRhYmxlIHNob3Vs
ZCByZWNhbGN1bGF0ZSBzY3JvbGxhYmxlIGhlaWdodCB3aGVuIHJlc2l6ZWQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Nvb2tpZVN0b3JhZ2VD
b250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0Nvb2tpZVN0b3JhZ2VDb250ZW50Vmlldy5qcwppbmRleCBkOTE2MDFmYjVjOTgyOGZmOGM2YzE1
ZWQ0MjY4OGJkNTVmM2NhYTIwLi4yMGU0MjVkNTY0NDczODNjYWRhNjU3NWFiMjFhMWNhZjk3ZGFi
ODVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9Db29raWVTdG9yYWdlQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3LmpzCkBAIC01OSw2
ICs1OSwyMCBAQCBXSS5Db29raWVTdG9yYWdlQ29udGVudFZpZXcgPSBjbGFzcyBDb29raWVTdG9y
YWdlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VgogICAgICAgICByZXR1cm4gW3RoaXMu
X3RhYmxlLnNjcm9sbENvbnRhaW5lcl07CiAgICAgfQogCisgICAgaGFuZGxlQ29weUV2ZW50KGV2
ZW50KQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLl90YWJsZSB8fCAhdGhpcy5fdGFibGUuc2Vs
ZWN0ZWRSb3dzLmxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBsZXQgY29v
a2llcyA9IHRoaXMuX2Nvb2tpZXNBdEluZGV4ZXModGhpcy5fdGFibGUuc2VsZWN0ZWRSb3dzKTsK
KyAgICAgICAgaWYgKCFjb29raWVzLmxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICBldmVudC5jbGlwYm9hcmREYXRhLnNldERhdGEoInRleHQvcGxhaW4iLCB0aGlzLl9mb3Jt
YXRDb29raWVzQXNUZXh0KGNvb2tpZXMpKTsKKyAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9u
KCk7CisgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgICAgfQorCiAgICAgLy8gVGFi
bGUgZGF0YVNvdXJjZQogCiAgICAgdGFibGVOdW1iZXJPZlJvd3ModGFibGUpCkBAIC04NCw2ICs5
OCwxNyBAQCBXSS5Db29raWVTdG9yYWdlQ29udGVudFZpZXcgPSBjbGFzcyBDb29raWVTdG9yYWdl
Q29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VgogICAgICAgICBsZXQgY29udGV4dE1lbnUg
PSBXSS5Db250ZXh0TWVudS5jcmVhdGVGcm9tRXZlbnQoZXZlbnQpOwogCiAgICAgICAgIGNvbnRl
eHRNZW51LmFwcGVuZFNlcGFyYXRvcigpOworICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRJdGVt
KFdJLlVJU3RyaW5nKCJDb3B5IiksICgpID0+IHsKKyAgICAgICAgICAgIGxldCByb3dJbmRleGVz
OworICAgICAgICAgICAgaWYgKHRhYmxlLmlzUm93U2VsZWN0ZWQocm93SW5kZXgpKQorICAgICAg
ICAgICAgICAgIHJvd0luZGV4ZXMgPSB0YWJsZS5zZWxlY3RlZFJvd3M7CisgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgcm93SW5kZXhlcyA9IFtyb3dJbmRleF07CisKKyAgICAgICAg
ICAgIGxldCBjb29raWVzID0gdGhpcy5fY29va2llc0F0SW5kZXhlcyhyb3dJbmRleGVzKTsKKyAg
ICAgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5jb3B5VGV4dCh0aGlzLl9mb3JtYXRDb29r
aWVzQXNUZXh0KGNvb2tpZXMpKTsKKyAgICAgICAgfSk7CisKICAgICAgICAgY29udGV4dE1lbnUu
YXBwZW5kSXRlbShXSS5VSVN0cmluZygiRGVsZXRlIiksICgpID0+IHsKICAgICAgICAgICAgIGlm
ICh0YWJsZS5pc1Jvd1NlbGVjdGVkKHJvd0luZGV4KSkKICAgICAgICAgICAgICAgICB0YWJsZS5y
ZW1vdmVTZWxlY3RlZFJvd3MoKTsKQEAgLTExNywzOSArMTQyLDcgQEAgV0kuQ29va2llU3RvcmFn
ZUNvbnRlbnRWaWV3ID0gY2xhc3MgQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0ku
Q29udGVudFYKICAgICB0YWJsZVBvcHVsYXRlQ2VsbCh0YWJsZSwgY2VsbCwgY29sdW1uLCByb3dJ
bmRleCkKICAgICB7CiAgICAgICAgIGxldCBjb29raWUgPSB0aGlzLl9jb29raWVzW3Jvd0luZGV4
XTsKLQotICAgICAgICBjb25zdCBjaGVja21hcmsgPSAiXHUyNzEzIjsKLQotICAgICAgICBzd2l0
Y2ggKGNvbHVtbi5pZGVudGlmaWVyKSB7Ci0gICAgICAgIGNhc2UgIm5hbWUiOgotICAgICAgICAg
ICAgY2VsbC50ZXh0Q29udGVudCA9IGNvb2tpZS5uYW1lOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIGNhc2UgInZhbHVlIjoKLSAgICAgICAgICAgIGNlbGwudGV4dENvbnRlbnQgPSBjb29r
aWUudmFsdWU7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAiZG9tYWluIjoKLSAg
ICAgICAgICAgIGNlbGwudGV4dENvbnRlbnQgPSBjb29raWUuZG9tYWluIHx8IGVtRGFzaDsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICJwYXRoIjoKLSAgICAgICAgICAgIGNlbGwu
dGV4dENvbnRlbnQgPSBjb29raWUucGF0aCB8fCBlbURhc2g7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSAiZXhwaXJlcyI6Ci0gICAgICAgICAgICBjZWxsLnRleHRDb250ZW50ID0g
Y29va2llLmV4cGlyZXMgPyBuZXcgRGF0ZShjb29raWUuZXhwaXJlcykudG9Mb2NhbGVTdHJpbmco
KSA6IFdJLlVJU3RyaW5nKCJTZXNzaW9uIik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSAic2l6ZSI6Ci0gICAgICAgICAgICBjZWxsLnRleHRDb250ZW50ID0gTnVtYmVyLmJ5dGVz
VG9TdHJpbmcoY29va2llLnNpemUpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2Ug
InNlY3VyZSI6Ci0gICAgICAgICAgICBjZWxsLnRleHRDb250ZW50ID0gY29va2llLnNlY3VyZSA/
IGNoZWNrbWFyayA6IHplcm9XaWR0aFNwYWNlOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
IGNhc2UgImh0dHBPbmx5IjoKLSAgICAgICAgICAgIGNlbGwudGV4dENvbnRlbnQgPSBjb29raWUu
aHR0cE9ubHkgPyBjaGVja21hcmsgOiB6ZXJvV2lkdGhTcGFjZTsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlICJzYW1lU2l0ZSI6Ci0gICAgICAgICAgICBjZWxsLnRleHRDb250ZW50
ID0gY29va2llLnNhbWVTaXRlID09PSBXSS5Db29raWUuU2FtZVNpdGVUeXBlLk5vbmUgPyBlbURh
c2ggOiBXSS5Db29raWUuZGlzcGxheU5hbWVGb3JTYW1lU2l0ZVR5cGUoY29va2llLnNhbWVTaXRl
KTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0KKyAgICAgICAgY2VsbC50ZXh0Q29u
dGVudCA9IHRoaXMuX2Zvcm1hdENvb2tpZVByb3BlcnR5Rm9yQ29sdW1uKGNvb2tpZSwgY29sdW1u
KTsKICAgICAgICAgcmV0dXJuIGNlbGw7CiAgICAgfQogCkBAIC0zNDAsNiArMzMzLDU2IEBAIFdJ
LkNvb2tpZVN0b3JhZ2VDb250ZW50VmlldyA9IGNsYXNzIENvb2tpZVN0b3JhZ2VDb250ZW50Vmll
dyBleHRlbmRzIFdJLkNvbnRlbnRWCiAgICAgICAgIGlmIChldmVudC5rZXlDb2RlID09PSBXSS5L
ZXlib2FyZFNob3J0Y3V0LktleS5CYWNrc3BhY2Uua2V5Q29kZSB8fCBldmVudC5rZXlDb2RlID09
PSBXSS5LZXlib2FyZFNob3J0Y3V0LktleS5EZWxldGUua2V5Q29kZSkKICAgICAgICAgICAgIHRo
aXMuX3RhYmxlLnJlbW92ZVNlbGVjdGVkUm93cygpOwogICAgIH0KKworICAgIF9jb29raWVzQXRJ
bmRleGVzKGluZGV4ZXMpCisgICAgeworICAgICAgICBpZiAoIXRoaXMuX2Nvb2tpZXMubGVuZ3Ro
KQorICAgICAgICAgICAgcmV0dXJuIFtdOworICAgICAgICByZXR1cm4gaW5kZXhlcy5tYXAoKGlu
ZGV4KSA9PiB0aGlzLl9jb29raWVzW2luZGV4XSk7CisgICAgfQorCisgICAgX2Zvcm1hdENvb2tp
ZXNBc1RleHQoY29va2llcykKKyAgICB7CisgICAgICAgIGxldCB2aXNpYmxlQ29sdW1ucyA9IEFy
cmF5LmZyb20odGhpcy5fdGFibGUuY29sdW1ucykuZmlsdGVyKChjb2x1bW4gPT4gIWNvbHVtbi5o
aWRkZW4pKTsKKyAgICAgICAgaWYgKCF2aXNpYmxlQ29sdW1ucy5sZW5ndGgpCisgICAgICAgICAg
ICByZXR1cm4gIiI7CisKKyAgICAgICAgbGV0IGxpbmVzID0gY29va2llcy5tYXAoKGNvb2tpZSkg
PT4geworICAgICAgICAgICAgbGV0IHZhbHVlcyA9IHZpc2libGVDb2x1bW5zLm1hcCgoY29sdW1u
KSA9PiB0aGlzLl9mb3JtYXRDb29raWVQcm9wZXJ0eUZvckNvbHVtbihjb29raWUsIGNvbHVtbikp
OworICAgICAgICAgICAgcmV0dXJuIHZhbHVlcy5qb2luKCJcdCIpOworICAgICAgICB9KTsKKwor
ICAgICAgICByZXR1cm4gbGluZXMuam9pbigiXG4iKTsKKyAgICB9CisKKyAgICBfZm9ybWF0Q29v
a2llUHJvcGVydHlGb3JDb2x1bW4oY29va2llLCBjb2x1bW4pCisgICAgeworICAgICAgICBjb25z
dCBjaGVja21hcmsgPSAiXHUyNzEzIjsKKworICAgICAgICBzd2l0Y2ggKGNvbHVtbi5pZGVudGlm
aWVyKSB7CisgICAgICAgIGNhc2UgIm5hbWUiOgorICAgICAgICAgICAgcmV0dXJuIGNvb2tpZS5u
YW1lOworICAgICAgICBjYXNlICJ2YWx1ZSI6CisgICAgICAgICAgICByZXR1cm4gY29va2llLnZh
bHVlOworICAgICAgICBjYXNlICJkb21haW4iOgorICAgICAgICAgICAgcmV0dXJuIGNvb2tpZS5k
b21haW4gfHwgZW1EYXNoOworICAgICAgICBjYXNlICJwYXRoIjoKKyAgICAgICAgICAgIHJldHVy
biBjb29raWUucGF0aCB8fCBlbURhc2g7CisgICAgICAgIGNhc2UgImV4cGlyZXMiOgorICAgICAg
ICAgICAgcmV0dXJuIGNvb2tpZS5leHBpcmVzID8gbmV3IERhdGUoY29va2llLmV4cGlyZXMpLnRv
TG9jYWxlU3RyaW5nKCkgOiBXSS5VSVN0cmluZygiU2Vzc2lvbiIpOworICAgICAgICBjYXNlICJz
aXplIjoKKyAgICAgICAgICAgIHJldHVybiBOdW1iZXIuYnl0ZXNUb1N0cmluZyhjb29raWUuc2l6
ZSk7CisgICAgICAgIGNhc2UgInNlY3VyZSI6CisgICAgICAgICAgICByZXR1cm4gY29va2llLnNl
Y3VyZSA/IGNoZWNrbWFyayA6IHplcm9XaWR0aFNwYWNlOworICAgICAgICBjYXNlICJodHRwT25s
eSI6CisgICAgICAgICAgICByZXR1cm4gY29va2llLmh0dHBPbmx5ID8gY2hlY2ttYXJrIDogemVy
b1dpZHRoU3BhY2U7CisgICAgICAgIGNhc2UgInNhbWVTaXRlIjoKKyAgICAgICAgICAgIHJldHVy
biBjb29raWUuc2FtZVNpdGUgPT09IFdJLkNvb2tpZS5TYW1lU2l0ZVR5cGUuTm9uZSA/IGVtRGFz
aCA6IFdJLkNvb2tpZS5kaXNwbGF5TmFtZUZvclNhbWVTaXRlVHlwZShjb29raWUuc2FtZVNpdGUp
OworICAgICAgICB9CisKKyAgICAgICAgY29uc29sZS5hc3NlcnQoIlVuZXhwZWN0ZWQgdGFibGUg
Y29sdW1uICIgKyBjb2x1bW4uaWRlbnRpZmllcik7CisgICAgICAgIHJldHVybiAiIjsKKyAgICB9
CiB9OwogCiBXSS5Db29raWVUeXBlID0gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFibGUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UYWJsZS5qcwppbmRleCBlYzRmODgzOTE4YzQ0NzYxOGJkNjVk
ODkyZTM3NzUyMDBkMWMzMmUxLi5kYzVjYjA3ZGI4Nzc5NTRhODMzYzJkMTkxY2YyYmI0MzY5MTAx
ZGQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UYWJsZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UYWJsZS5qcwpAQCAtMjM5LDYgKzIzOSwxMSBAQCBXSS5UYWJsZSA9IGNsYXNzIFRhYmxlIGV4
dGVuZHMgV0kuVmlldwogICAgICAgICB9CiAgICAgfQogCisgICAgZ2V0IGNvbHVtbnMoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NvbHVtblNwZWNzLnZhbHVlcygpOworICAgIH0KKwog
ICAgIGlzUm93U2VsZWN0ZWQocm93SW5kZXgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5f
c2VsZWN0ZWRSb3dzLmhhcyhyb3dJbmRleCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355612</attachid>
            <date>2018-11-25 18:48:06 -0800</date>
            <delta_ts>2018-11-27 13:06:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191482-20181125184804.patch</filename>
            <type>text/plain</type>
            <size>7762</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NDg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA4
NTcxNDc3ZWFmY2UzYjk2NGQwNjAxZWY2OTE3NzZkY2MzNGI2ZGE2Li4yMGFhNzhhY2Q4NWY4NjRi
NjNjYTRlNzlkMmY4ZjAzM2ZhMWNlYjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxOC0xMS0yNSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29va2llcyB0YWJsZSBuZWVkcyBjb3B5IGtleWJv
YXJkIHNob3J0Y3V0IGFuZCBjb250ZXh0IG1lbnUgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxNDgyCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80NTk1MzAwMj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3Lmpz
OgorICAgICAgICAoV0kuQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5oYW5kbGVD
b3B5RXZlbnQpOgorICAgICAgICAoV0kuQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3LnByb3RvdHlw
ZS50YWJsZUNlbGxDb250ZXh0TWVudUNsaWNrZWQpOgorICAgICAgICBBcyB3aXRoIERlbGV0ZSwg
aWYgdGhlIHRhcmdldCByb3cgaXMgc2VsZWN0ZWQsIGFsbCBzZWxlY3RlZCByb3dzIGFyZSBjb3Bp
ZWQuCisgICAgICAgIE90aGVyd2lzZSBvbmx5IHRoZSB0YXJnZXQgcm93IGlzIGNvcGllZC4gVGhp
cyBkaXN0aW5jdGlvbiB3aWxsIGJlIHN1cmZhY2VkCisgICAgICAgIGluIHRoZSBVSSBpbiBodHRw
czovL3dlYmtpdC5vcmcvYi8xOTEwOTUuCisKKyAgICAgICAgKFdJLkNvb2tpZVN0b3JhZ2VDb250
ZW50Vmlldy5wcm90b3R5cGUudGFibGVQb3B1bGF0ZUNlbGwpOgorICAgICAgICAoV0kuQ29va2ll
U3RvcmFnZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fY29va2llc0F0SW5kZXhlcyk6CisgICAgICAg
IChXSS5Db29raWVTdG9yYWdlQ29udGVudFZpZXcucHJvdG90eXBlLl9mb3JtYXRDb29raWVzQXNU
ZXh0KToKKyAgICAgICAgKFdJLkNvb2tpZVN0b3JhZ2VDb250ZW50Vmlldy5wcm90b3R5cGUuX2Zv
cm1hdENvb2tpZVByb3BlcnR5Rm9yQ29sdW1uKToKKyAgICAgICAgKFdJLkNvb2tpZVN0b3JhZ2VD
b250ZW50Vmlldyk6CisgICAgICAgIEJyZWFrIENvb2tpZSBwcm9wZXJ0eSBmb3JtYXR0aW5nIGlu
dG8gYSBoZWxwZXIgbWV0aG9kLCB3aGljaCBpcyB1c2VkIGZvcgorICAgICAgICBmb3JtYXR0aW5n
IFRhYmxlIGNlbGxzIGFuZCBjcmVhdGluZyBwbGFpbiB0ZXh0IGZvciB0aGUgY2xpcGJvYXJkLgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UYWJsZS5qczoKKyAgICAgICAgKFdJLlRh
YmxlLnByb3RvdHlwZS5nZXQgY29sdW1ucyk6CisKIDIwMTgtMTEtMjUgIERldmluIFJvdXNzbyAg
PGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5lczog
YWRkIE1lZGlhIHRpbWVsaW5lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9Db29raWVTdG9yYWdlQ29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db29raWVTdG9yYWdlQ29udGVudFZpZXcu
anMKaW5kZXggZDkxNjAxZmI1Yzk4MjhmZjhjNmMxNWVkNDI2ODhiZDU1ZjNjYWEyMC4uZDBjMmI0
M2ExMjNkMzk4YzFkYmNkYWIxNDg2ZjVmZTQ5ZTQ0NTJkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Nvb2tp
ZVN0b3JhZ2VDb250ZW50Vmlldy5qcwpAQCAtNTksNiArNTksMjAgQEAgV0kuQ29va2llU3RvcmFn
ZUNvbnRlbnRWaWV3ID0gY2xhc3MgQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0ku
Q29udGVudFYKICAgICAgICAgcmV0dXJuIFt0aGlzLl90YWJsZS5zY3JvbGxDb250YWluZXJdOwog
ICAgIH0KIAorICAgIGhhbmRsZUNvcHlFdmVudChldmVudCkKKyAgICB7CisgICAgICAgIGlmICgh
dGhpcy5fdGFibGUgfHwgIXRoaXMuX3RhYmxlLnNlbGVjdGVkUm93cy5sZW5ndGgpCisgICAgICAg
ICAgICByZXR1cm47CisKKyAgICAgICAgbGV0IGNvb2tpZXMgPSB0aGlzLl9jb29raWVzQXRJbmRl
eGVzKHRoaXMuX3RhYmxlLnNlbGVjdGVkUm93cyk7CisgICAgICAgIGlmICghY29va2llcy5sZW5n
dGgpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgZXZlbnQuY2xpcGJvYXJkRGF0YS5z
ZXREYXRhKCJ0ZXh0L3BsYWluIiwgdGhpcy5fZm9ybWF0Q29va2llc0FzVGV4dChjb29raWVzKSk7
CisgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpOworICAgICAgICBldmVudC5wcmV2ZW50
RGVmYXVsdCgpOworICAgIH0KKwogICAgIC8vIFRhYmxlIGRhdGFTb3VyY2UKIAogICAgIHRhYmxl
TnVtYmVyT2ZSb3dzKHRhYmxlKQpAQCAtODQsNiArOTgsMTcgQEAgV0kuQ29va2llU3RvcmFnZUNv
bnRlbnRWaWV3ID0gY2xhc3MgQ29va2llU3RvcmFnZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29u
dGVudFYKICAgICAgICAgbGV0IGNvbnRleHRNZW51ID0gV0kuQ29udGV4dE1lbnUuY3JlYXRlRnJv
bUV2ZW50KGV2ZW50KTsKIAogICAgICAgICBjb250ZXh0TWVudS5hcHBlbmRTZXBhcmF0b3IoKTsK
KyAgICAgICAgY29udGV4dE1lbnUuYXBwZW5kSXRlbShXSS5VSVN0cmluZygiQ29weSIpLCAoKSA9
PiB7CisgICAgICAgICAgICBsZXQgcm93SW5kZXhlczsKKyAgICAgICAgICAgIGlmICh0YWJsZS5p
c1Jvd1NlbGVjdGVkKHJvd0luZGV4KSkKKyAgICAgICAgICAgICAgICByb3dJbmRleGVzID0gdGFi
bGUuc2VsZWN0ZWRSb3dzOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHJvd0lu
ZGV4ZXMgPSBbcm93SW5kZXhdOworCisgICAgICAgICAgICBsZXQgY29va2llcyA9IHRoaXMuX2Nv
b2tpZXNBdEluZGV4ZXMocm93SW5kZXhlcyk7CisgICAgICAgICAgICBJbnNwZWN0b3JGcm9udGVu
ZEhvc3QuY29weVRleHQodGhpcy5fZm9ybWF0Q29va2llc0FzVGV4dChjb29raWVzKSk7CisgICAg
ICAgIH0pOworCiAgICAgICAgIGNvbnRleHRNZW51LmFwcGVuZEl0ZW0oV0kuVUlTdHJpbmcoIkRl
bGV0ZSIpLCAoKSA9PiB7CiAgICAgICAgICAgICBpZiAodGFibGUuaXNSb3dTZWxlY3RlZChyb3dJ
bmRleCkpCiAgICAgICAgICAgICAgICAgdGFibGUucmVtb3ZlU2VsZWN0ZWRSb3dzKCk7CkBAIC0x
MTcsMzkgKzE0Miw3IEBAIFdJLkNvb2tpZVN0b3JhZ2VDb250ZW50VmlldyA9IGNsYXNzIENvb2tp
ZVN0b3JhZ2VDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWCiAgICAgdGFibGVQb3B1bGF0
ZUNlbGwodGFibGUsIGNlbGwsIGNvbHVtbiwgcm93SW5kZXgpCiAgICAgewogICAgICAgICBsZXQg
Y29va2llID0gdGhpcy5fY29va2llc1tyb3dJbmRleF07Ci0KLSAgICAgICAgY29uc3QgY2hlY2tt
YXJrID0gIlx1MjcxMyI7Ci0KLSAgICAgICAgc3dpdGNoIChjb2x1bW4uaWRlbnRpZmllcikgewot
ICAgICAgICBjYXNlICJuYW1lIjoKLSAgICAgICAgICAgIGNlbGwudGV4dENvbnRlbnQgPSBjb29r
aWUubmFtZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICJ2YWx1ZSI6Ci0gICAg
ICAgICAgICBjZWxsLnRleHRDb250ZW50ID0gY29va2llLnZhbHVlOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIGNhc2UgImRvbWFpbiI6Ci0gICAgICAgICAgICBjZWxsLnRleHRDb250ZW50
ID0gY29va2llLmRvbWFpbiB8fCBlbURhc2g7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
Y2FzZSAicGF0aCI6Ci0gICAgICAgICAgICBjZWxsLnRleHRDb250ZW50ID0gY29va2llLnBhdGgg
fHwgZW1EYXNoOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgImV4cGlyZXMiOgot
ICAgICAgICAgICAgY2VsbC50ZXh0Q29udGVudCA9IGNvb2tpZS5leHBpcmVzID8gbmV3IERhdGUo
Y29va2llLmV4cGlyZXMpLnRvTG9jYWxlU3RyaW5nKCkgOiBXSS5VSVN0cmluZygiU2Vzc2lvbiIp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgInNpemUiOgotICAgICAgICAgICAg
Y2VsbC50ZXh0Q29udGVudCA9IE51bWJlci5ieXRlc1RvU3RyaW5nKGNvb2tpZS5zaXplKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICJzZWN1cmUiOgotICAgICAgICAgICAgY2Vs
bC50ZXh0Q29udGVudCA9IGNvb2tpZS5zZWN1cmUgPyBjaGVja21hcmsgOiB6ZXJvV2lkdGhTcGFj
ZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlICJodHRwT25seSI6Ci0gICAgICAg
ICAgICBjZWxsLnRleHRDb250ZW50ID0gY29va2llLmh0dHBPbmx5ID8gY2hlY2ttYXJrIDogemVy
b1dpZHRoU3BhY2U7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSAic2FtZVNpdGUi
OgotICAgICAgICAgICAgY2VsbC50ZXh0Q29udGVudCA9IGNvb2tpZS5zYW1lU2l0ZSA9PT0gV0ku
Q29va2llLlNhbWVTaXRlVHlwZS5Ob25lID8gZW1EYXNoIDogV0kuQ29va2llLmRpc3BsYXlOYW1l
Rm9yU2FtZVNpdGVUeXBlKGNvb2tpZS5zYW1lU2l0ZSk7Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgfQotCisgICAgICAgIGNlbGwudGV4dENvbnRlbnQgPSB0aGlzLl9mb3JtYXRDb29raWVQ
cm9wZXJ0eUZvckNvbHVtbihjb29raWUsIGNvbHVtbik7CiAgICAgICAgIHJldHVybiBjZWxsOwog
ICAgIH0KIApAQCAtMzQwLDYgKzMzMyw1OSBAQCBXSS5Db29raWVTdG9yYWdlQ29udGVudFZpZXcg
PSBjbGFzcyBDb29raWVTdG9yYWdlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VgogICAg
ICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gV0kuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuQmFja3Nw
YWNlLmtleUNvZGUgfHwgZXZlbnQua2V5Q29kZSA9PT0gV0kuS2V5Ym9hcmRTaG9ydGN1dC5LZXku
RGVsZXRlLmtleUNvZGUpCiAgICAgICAgICAgICB0aGlzLl90YWJsZS5yZW1vdmVTZWxlY3RlZFJv
d3MoKTsKICAgICB9CisKKyAgICBfY29va2llc0F0SW5kZXhlcyhpbmRleGVzKQorICAgIHsKKyAg
ICAgICAgaWYgKCF0aGlzLl9jb29raWVzLmxlbmd0aCkKKyAgICAgICAgICAgIHJldHVybiBbXTsK
KyAgICAgICAgcmV0dXJuIGluZGV4ZXMubWFwKChpbmRleCkgPT4gdGhpcy5fY29va2llc1tpbmRl
eF0pOworICAgIH0KKworICAgIF9mb3JtYXRDb29raWVzQXNUZXh0KGNvb2tpZXMpCisgICAgewor
ICAgICAgICBsZXQgdmlzaWJsZUNvbHVtbnMgPSB0aGlzLl90YWJsZS5jb2x1bW5zLmZpbHRlcigo
Y29sdW1uKSA9PiAhY29sdW1uLmhpZGRlbik7CisgICAgICAgIGlmICghdmlzaWJsZUNvbHVtbnMu
bGVuZ3RoKQorICAgICAgICAgICAgcmV0dXJuICIiOworCisgICAgICAgIGxldCBsaW5lcyA9IGNv
b2tpZXMubWFwKChjb29raWUpID0+IHsKKyAgICAgICAgICAgIGNvbnN0IHVzZVB1bmN0dWF0aW9u
ID0gZmFsc2U7CisgICAgICAgICAgICBsZXQgdmFsdWVzID0gdmlzaWJsZUNvbHVtbnMubWFwKChj
b2x1bW4pID0+IHRoaXMuX2Zvcm1hdENvb2tpZVByb3BlcnR5Rm9yQ29sdW1uKGNvb2tpZSwgY29s
dW1uLCB1c2VQdW5jdHVhdGlvbikpOworICAgICAgICAgICAgcmV0dXJuIHZhbHVlcy5qb2luKCJc
dCIpOworICAgICAgICB9KTsKKworICAgICAgICByZXR1cm4gbGluZXMuam9pbigiXG4iKTsKKyAg
ICB9CisKKyAgICBfZm9ybWF0Q29va2llUHJvcGVydHlGb3JDb2x1bW4oY29va2llLCBjb2x1bW4s
IHVzZVB1bmN0dWF0aW9uID0gdHJ1ZSkKKyAgICB7CisgICAgICAgIGNvbnN0IGNoZWNrbWFyayA9
ICJcdTI3MTMiOworICAgICAgICBjb25zdCBtaXNzaW5nVmFsdWUgPSB1c2VQdW5jdHVhdGlvbiA/
IGVtRGFzaCA6ICIiOworICAgICAgICBjb25zdCBtaXNzaW5nQ2hlY2ttYXJrID0gdXNlUHVuY3R1
YXRpb24gPyB6ZXJvV2lkdGhTcGFjZSA6ICIiOworCisgICAgICAgIHN3aXRjaCAoY29sdW1uLmlk
ZW50aWZpZXIpIHsKKyAgICAgICAgY2FzZSAibmFtZSI6CisgICAgICAgICAgICByZXR1cm4gY29v
a2llLm5hbWU7CisgICAgICAgIGNhc2UgInZhbHVlIjoKKyAgICAgICAgICAgIHJldHVybiBjb29r
aWUudmFsdWU7CisgICAgICAgIGNhc2UgImRvbWFpbiI6CisgICAgICAgICAgICByZXR1cm4gY29v
a2llLmRvbWFpbiB8fCBtaXNzaW5nVmFsdWU7CisgICAgICAgIGNhc2UgInBhdGgiOgorICAgICAg
ICAgICAgcmV0dXJuIGNvb2tpZS5wYXRoIHx8IG1pc3NpbmdWYWx1ZTsKKyAgICAgICAgY2FzZSAi
ZXhwaXJlcyI6CisgICAgICAgICAgICByZXR1cm4gY29va2llLmV4cGlyZXMgPyBuZXcgRGF0ZShj
b29raWUuZXhwaXJlcykudG9Mb2NhbGVTdHJpbmcoKSA6IFdJLlVJU3RyaW5nKCJTZXNzaW9uIik7
CisgICAgICAgIGNhc2UgInNpemUiOgorICAgICAgICAgICAgcmV0dXJuIE51bWJlci5ieXRlc1Rv
U3RyaW5nKGNvb2tpZS5zaXplKTsKKyAgICAgICAgY2FzZSAic2VjdXJlIjoKKyAgICAgICAgICAg
IHJldHVybiBjb29raWUuc2VjdXJlID8gY2hlY2ttYXJrIDogbWlzc2luZ0NoZWNrbWFyazsKKyAg
ICAgICAgY2FzZSAiaHR0cE9ubHkiOgorICAgICAgICAgICAgcmV0dXJuIGNvb2tpZS5odHRwT25s
eSA/IGNoZWNrbWFyayA6IG1pc3NpbmdDaGVja21hcms7CisgICAgICAgIGNhc2UgInNhbWVTaXRl
IjoKKyAgICAgICAgICAgIHJldHVybiBjb29raWUuc2FtZVNpdGUgPT09IFdJLkNvb2tpZS5TYW1l
U2l0ZVR5cGUuTm9uZSA/IG1pc3NpbmdWYWx1ZSA6IFdJLkNvb2tpZS5kaXNwbGF5TmFtZUZvclNh
bWVTaXRlVHlwZShjb29raWUuc2FtZVNpdGUpOworICAgICAgICB9CisKKyAgICAgICAgY29uc29s
ZS5hc3NlcnQoIlVuZXhwZWN0ZWQgdGFibGUgY29sdW1uICIgKyBjb2x1bW4uaWRlbnRpZmllcik7
CisgICAgICAgIHJldHVybiAiIjsKKyAgICB9CiB9OwogCiBXSS5Db29raWVUeXBlID0gewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFibGUu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJsZS5qcwpp
bmRleCBlYzRmODgzOTE4YzQ0NzYxOGJkNjVkODkyZTM3NzUyMDBkMWMzMmUxLi40ZGI2YTE1MTJh
ZDFiOWNjNGM3ZGRhMTgyZjJkODk2M2M0N2ZlYzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJsZS5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJsZS5qcwpAQCAtMjM5LDYgKzIzOSwxMSBA
QCBXSS5UYWJsZSA9IGNsYXNzIFRhYmxlIGV4dGVuZHMgV0kuVmlldwogICAgICAgICB9CiAgICAg
fQogCisgICAgZ2V0IGNvbHVtbnMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIEFycmF5LmZyb20o
dGhpcy5fY29sdW1uU3BlY3MudmFsdWVzKCkpOworICAgIH0KKwogICAgIGlzUm93U2VsZWN0ZWQo
cm93SW5kZXgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRSb3dzLmhhcyhy
b3dJbmRleCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>