<?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>142934</bug_id>
          
          <creation_ts>2015-03-21 00:08:35 -0700</creation_ts>
          <short_desc>__defineGetter__/__defineSetter__ should throw exceptions</short_desc>
          <delta_ts>2016-07-01 13:56:27 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>122213</dependson>
    
    <dependson>134364</dependson>
    
    <dependson>149474</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1079041</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-03-21 00:08:35 -0700</bug_when>
    <thetext>* SUMMARY
__defineGetter__/__defineSetter__ should throw exceptions.

* TEST
debug(&quot;__defineGetter__ and __defineSetter__ should throw exceptions when acting on sealed objects&quot;);
var o14 = {a:14};
Object.seal(o14);
shouldThrow(&quot;o14.__defineGetter__(&apos;a&apos;, function(){})&quot;);
shouldThrow(&quot;o14.__defineGetter__(&apos;b&apos;, function(){})&quot;);
shouldThrow(&quot;o14.__defineSetter__(&apos;a&apos;, function(){})&quot;);
shouldThrow(&quot;o14.__defineSetter__(&apos;b&apos;, function(){})&quot;);

debug(&quot;__defineGetter__ and __defineSetter__ should throw exceptions when acting on frozen objects&quot;);
var o15 = {a:15};
Object.freeze(o15);
shouldThrow(&quot;o15.__defineGetter__(&apos;a&apos;, function(){})&quot;);
shouldThrow(&quot;o15.__defineGetter__(&apos;b&apos;, function(){})&quot;);
shouldThrow(&quot;o15.__defineSetter__(&apos;a&apos;, function(){})&quot;);
shouldThrow(&quot;o15.__defineSetter__(&apos;b&apos;, function(){})&quot;);

* NOTES
- WebKit fails silently
- Firefox throws exceptions
- Chrome fails silently

I think throwing an exception makes more sense. It at least lets the developer know something went wrong. I don&apos;t think there is any specification for these functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079106</commentid>
    <comment_count>1</comment_count>
      <attachid>249180</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-03-21 17:38:27 -0700</bug_when>
    <thetext>Created attachment 249180
[PATCH] Proposed Fix

This is a potential breaking change, but I think it is for the better.

1. Non-configurable properties are rare.
2. Another browser (Firefox) already has this behavior.
3. This has the potential to help catch an issue where an error would happen silently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079308</commentid>
    <comment_count>2</comment_count>
      <attachid>249180</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-03-23 10:58:55 -0700</bug_when>
    <thetext>Comment on attachment 249180
[PATCH] Proposed Fix

r=me

Would be nice to put that true into a local variable named &quot;shouldThrow&quot;, so that it&apos;s clear at the call site what it means.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079394</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-03-23 13:50:28 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/181868</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089865</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-28 20:30:30 -0700</bug_when>
    <thetext>This caused Bug 144373.

I&apos;m going to roll-out and re-approach this later after making IDL properties configurable, which in and of itself is a large enough change to make and see if it has fallout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089873</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-28 20:39:56 -0700</bug_when>
    <thetext>See Bug 144373 for how this broke live.com.

Lets try re-enabling this after the following have been fixed:
&lt;https://webkit.org/b/122213&gt; WebIDL operations should be configurable
&lt;https://webkit.org/b/134364&gt; DOM attributes on prototypes should be configurable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1092671</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-05-07 11:36:12 -0700</bug_when>
    <thetext>Note: Also broke slack.com and Slack.app (&lt;rdar://problem/20807563&gt;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128095</commentid>
    <comment_count>7</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-09-22 13:17:07 -0700</bug_when>
    <thetext>Blocker now fixed. I will retest this with Slack.app / live.com and see if we can re-land it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128103</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-09-22 14:20:55 -0700</bug_when>
    <thetext>live.com issue no longer happens, it boiled down to:

    HTMLElementPrototype.__defineGetter__(&quot;innerText&quot;, function() { ... });

slack.com issue still exists, it boils down to:

    window.__defineGetter__(&quot;onhashchange&quot;, function() { ... });

Seems these &quot;onfoo&quot; properties are still not configurable but probably should be. I&apos;ll file a new bug and track that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207010</commentid>
    <comment_count>9</comment_count>
      <attachid>282516</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-07-01 00:09:51 -0700</bug_when>
    <thetext>Created attachment 282516
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207164</commentid>
    <comment_count>10</comment_count>
      <attachid>282516</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-07-01 09:45:46 -0700</bug_when>
    <thetext>Comment on attachment 282516
Patch

r=me.

Has the slack.com compatibility issue outlined in https://bugs.webkit.org/show_bug.cgi?id=142934#c8 been resolved?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207239</commentid>
    <comment_count>11</comment_count>
      <attachid>282516</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-07-01 13:34:46 -0700</bug_when>
    <thetext>Comment on attachment 282516
Patch

(In reply to comment #10)
&gt; Comment on attachment 282516 [details]
&gt; Patch
&gt; 
&gt; r=me.
&gt; 
&gt; Has the slack.com compatibility issue outlined in
&gt; https://bugs.webkit.org/show_bug.cgi?id=142934#c8 been resolved?

I believe so. One of the tests cover this particular case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207253</commentid>
    <comment_count>12</comment_count>
      <attachid>282516</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-01 13:56:22 -0700</bug_when>
    <thetext>Comment on attachment 282516
Patch

Clearing flags on attachment: 282516

Committed r202755: &lt;http://trac.webkit.org/changeset/202755&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207254</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-01 13:56:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249180</attachid>
            <date>2015-03-21 17:38:27 -0700</date>
            <delta_ts>2016-07-01 00:09:42 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>define-exception.patch</filename>
            <type>text/plain</type>
            <size>6733</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxMmQyYTliLi42OTBiZmVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTUgQEAKIDIwMTUtMDMt
MjEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAorICAgICAgICBfX2Rl
ZmluZUdldHRlcl9fL19fZGVmaW5lU2V0dGVyX18gc2hvdWxkIHRocm93IGV4Y2VwdGlvbnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjkzNAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICoganMvcHJvcGVy
dHktZ2V0dGVycy1hbmQtc2V0dGVycy1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMvc2NyaXB0
LXRlc3RzL3Byb3BlcnR5LWdldHRlcnMtYW5kLXNldHRlcnMuanM6CisKKzIwMTUtMDMtMjEgIEpv
c2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKwogICAgICAgICBFUzY6IEFsbG93
IGR1cGxpY2F0ZSBwcm9wZXJ0eSBuYW1lcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQyODk1CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3By
b3BlcnR5LWdldHRlcnMtYW5kLXNldHRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMv
cHJvcGVydHktZ2V0dGVycy1hbmQtc2V0dGVycy1leHBlY3RlZC50eHQKaW5kZXggZTkyYzlhZS4u
NTMxZTQ4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvcHJvcGVydHktZ2V0dGVycy1hbmQt
c2V0dGVycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvcHJvcGVydHktZ2V0dGVy
cy1hbmQtc2V0dGVycy1leHBlY3RlZC50eHQKQEAgLTQzLDYgKzQzLDIxIEBAIFBBU1MgbzEyLl9f
bG9va3VwR2V0dGVyX18oJ2InKSBpcyB2b2lkIDAKIFdoZW4gdW5kZWZpbmVkLCBhY2Nlc3Npbmcg
X19sb29rdXBHZXR0ZXJfXyBhbmQgX19sb29rdXBTZXR0ZXJfXyBzaG91bGQgbm90IGNyYXNoCiBQ
QVNTIG8xMy5fX2xvb2t1cEdldHRlcl9fKCdiJykgaXMgdm9pZCAwCiBQQVNTIG8xMy5fX2xvb2t1
cFNldHRlcl9fKCdiJykgaXMgdm9pZCAwCitfX2RlZmluZUdldHRlcl9fIGFuZCBfX2RlZmluZVNl
dHRlcl9fIHNob3VsZCB0aHJvdyBleGNlcHRpb25zIHdoZW4gYWN0aW5nIG9uIHNlYWxlZCBvYmpl
Y3RzCitQQVNTIG8xNC5fX2RlZmluZUdldHRlcl9fKCdhJywgZnVuY3Rpb24oKXt9KSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUg
b2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuLgorUEFTUyBvMTQuX19kZWZpbmVHZXR0ZXJfXygn
YicsIGZ1bmN0aW9uKCl7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0ZW1wdGluZyB0
byBkZWZpbmUgcHJvcGVydHkgb24gb2JqZWN0IHRoYXQgaXMgbm90IGV4dGVuc2libGUuLgorUEFT
UyBvMTQuX19kZWZpbmVTZXR0ZXJfXygnYScsIGZ1bmN0aW9uKCl7fSkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogQXR0ZW1wdGluZyB0byBjb25maWd1cmFibGUgYXR0cmlidXRlIG9mIHVuY29u
ZmlndXJhYmxlIHByb3BlcnR5Li4KK1BBU1MgbzE0Ll9fZGVmaW5lU2V0dGVyX18oJ2InLCBmdW5j
dGlvbigpe30pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gZGVmaW5l
IHByb3BlcnR5IG9uIG9iamVjdCB0aGF0IGlzIG5vdCBleHRlbnNpYmxlLi4KK19fZGVmaW5lR2V0
dGVyX18gYW5kIF9fZGVmaW5lU2V0dGVyX18gc2hvdWxkIHRocm93IGV4Y2VwdGlvbnMgd2hlbiBh
Y3Rpbmcgb24gZnJvemVuIG9iamVjdHMKK1BBU1MgbzE1Ll9fZGVmaW5lR2V0dGVyX18oJ2EnLCBm
dW5jdGlvbigpe30pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY29u
ZmlndXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4uCitQQVNTIG8x
NS5fX2RlZmluZUdldHRlcl9fKCdiJywgZnVuY3Rpb24oKXt9KSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBdHRlbXB0aW5nIHRvIGRlZmluZSBwcm9wZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBu
b3QgZXh0ZW5zaWJsZS4uCitQQVNTIG8xNS5fX2RlZmluZVNldHRlcl9fKCdhJywgZnVuY3Rpb24o
KXt9KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGNvbmZpZ3VyYWJs
ZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuLgorUEFTUyBvMTUuX19kZWZp
bmVTZXR0ZXJfXygnYicsIGZ1bmN0aW9uKCl7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
QXR0ZW1wdGluZyB0byBkZWZpbmUgcHJvcGVydHkgb24gb2JqZWN0IHRoYXQgaXMgbm90IGV4dGVu
c2libGUuLgorX19kZWZpbmVHZXR0ZXJfXyBhbmQgX19kZWZpbmVTZXR0ZXJfXyBzaG91bGQgdGhy
b3cgZXhjZXB0aW9ucyB3aGVuIGFjdGluZyBvbiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzCitQ
QVNTIG8xNi5fX2RlZmluZUdldHRlcl9fKCdhJywgZnVuY3Rpb24oKXt9KSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1MgbzE2Ll9fZGVmaW5lU2V0dGVyX18oJ2EnLCBmdW5jdGlvbigpe30p
IGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvMTYuX19kZWZpbmVTZXR0ZXJfXygnYics
IGZ1bmN0aW9uKCl7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0ZW1wdGluZyB0byBj
b25maWd1cmFibGUgYXR0cmlidXRlIG9mIHVuY29uZmlndXJhYmxlIHByb3BlcnR5Li4KK1BBU1Mg
bzE2Ll9fZGVmaW5lU2V0dGVyX18oJ2InLCBmdW5jdGlvbigpe30pIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY29uZmlndXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZp
Z3VyYWJsZSBwcm9wZXJ0eS4uCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9wcm9w
ZXJ0eS1nZXR0ZXJzLWFuZC1zZXR0ZXJzLmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3Rz
L3Byb3BlcnR5LWdldHRlcnMtYW5kLXNldHRlcnMuanMKaW5kZXggOTkwZGUyYS4uZTVmYzFhMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL3Byb3BlcnR5LWdldHRlcnMt
YW5kLXNldHRlcnMuanMKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL3Byb3BlcnR5
LWdldHRlcnMtYW5kLXNldHRlcnMuanMKQEAgLTk5LDMgKzk5LDI3IEBAIHZhciBvMTMgPSBuZXcg
T2JqZWN0KCkKIAogc2hvdWxkQmUoIm8xMy5fX2xvb2t1cEdldHRlcl9fKCdiJykiLCAidm9pZCAw
Iik7CiBzaG91bGRCZSgibzEzLl9fbG9va3VwU2V0dGVyX18oJ2InKSIsICJ2b2lkIDAiKTsKKwor
ZGVidWcoIl9fZGVmaW5lR2V0dGVyX18gYW5kIF9fZGVmaW5lU2V0dGVyX18gc2hvdWxkIHRocm93
IGV4Y2VwdGlvbnMgd2hlbiBhY3Rpbmcgb24gc2VhbGVkIG9iamVjdHMiKTsKK3ZhciBvMTQgPSB7
YToxNH07CitPYmplY3Quc2VhbChvMTQpOworc2hvdWxkVGhyb3coIm8xNC5fX2RlZmluZUdldHRl
cl9fKCdhJywgZnVuY3Rpb24oKXt9KSIpOworc2hvdWxkVGhyb3coIm8xNC5fX2RlZmluZUdldHRl
cl9fKCdiJywgZnVuY3Rpb24oKXt9KSIpOworc2hvdWxkVGhyb3coIm8xNC5fX2RlZmluZVNldHRl
cl9fKCdhJywgZnVuY3Rpb24oKXt9KSIpOworc2hvdWxkVGhyb3coIm8xNC5fX2RlZmluZVNldHRl
cl9fKCdiJywgZnVuY3Rpb24oKXt9KSIpOworCitkZWJ1ZygiX19kZWZpbmVHZXR0ZXJfXyBhbmQg
X19kZWZpbmVTZXR0ZXJfXyBzaG91bGQgdGhyb3cgZXhjZXB0aW9ucyB3aGVuIGFjdGluZyBvbiBm
cm96ZW4gb2JqZWN0cyIpOwordmFyIG8xNSA9IHthOjE1fTsKK09iamVjdC5mcmVlemUobzE1KTsK
K3Nob3VsZFRocm93KCJvMTUuX19kZWZpbmVHZXR0ZXJfXygnYScsIGZ1bmN0aW9uKCl7fSkiKTsK
K3Nob3VsZFRocm93KCJvMTUuX19kZWZpbmVHZXR0ZXJfXygnYicsIGZ1bmN0aW9uKCl7fSkiKTsK
K3Nob3VsZFRocm93KCJvMTUuX19kZWZpbmVTZXR0ZXJfXygnYScsIGZ1bmN0aW9uKCl7fSkiKTsK
K3Nob3VsZFRocm93KCJvMTUuX19kZWZpbmVTZXR0ZXJfXygnYicsIGZ1bmN0aW9uKCl7fSkiKTsK
KworZGVidWcoIl9fZGVmaW5lR2V0dGVyX18gYW5kIF9fZGVmaW5lU2V0dGVyX18gc2hvdWxkIHRo
cm93IGV4Y2VwdGlvbnMgd2hlbiBhY3Rpbmcgb24gdW5jb25maWd1cmFibGUgcHJvcGVydGllcyIp
OwordmFyIG8xNiA9IHthOjE2fTsKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShvMTYsICJiIiwge3Zh
bHVlOiAxNiwgY29uZmlndXJhYmxlOiBmYWxzZX0pOworc2hvdWxkTm90VGhyb3coIm8xNi5fX2Rl
ZmluZUdldHRlcl9fKCdhJywgZnVuY3Rpb24oKXt9KSIpOworc2hvdWxkTm90VGhyb3coIm8xNi5f
X2RlZmluZVNldHRlcl9fKCdhJywgZnVuY3Rpb24oKXt9KSIpOworc2hvdWxkVGhyb3coIm8xNi5f
X2RlZmluZVNldHRlcl9fKCdiJywgZnVuY3Rpb24oKXt9KSIpOworc2hvdWxkVGhyb3coIm8xNi5f
X2RlZmluZVNldHRlcl9fKCdiJywgZnVuY3Rpb24oKXt9KSIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cKaW5kZXggMTdmNzBiZC4uMTM1NmFlZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDUgKzEsMTcgQEAKIDIwMTUtMDMtMjEgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxl
LmNvbT4KIAorICAgICAgICBfX2RlZmluZUdldHRlcl9fL19fZGVmaW5lU2V0dGVyX18gc2hvdWxk
IHRocm93IGV4Y2VwdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MjkzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpv
YmplY3RQcm90b0Z1bmNEZWZpbmVHZXR0ZXIpOgorICAgICAgICAoSlNDOjpvYmplY3RQcm90b0Z1
bmNEZWZpbmVTZXR0ZXIpOgorICAgICAgICBUaHJvdyBleGNlcHRpb25zIHdoZW4gdGhlc2UgZnVu
Y3Rpb25zIGFyZSB1c2VkIGRpcmVjdGx5LgorCisyMDE1LTAzLTIxICBKb3NlcGggUGVjb3Jhcm8g
IDxwZWNvcmFyb0BhcHBsZS5jb20+CisKICAgICAgICAgRVM2OiBBbGxvdyBkdXBsaWNhdGUgcHJv
cGVydHkgbmFtZXMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0Mjg5NQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9P
YmplY3RQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0
UHJvdG90eXBlLmNwcAppbmRleCBmMDkyYTk3Li5jYWUyOGVhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFByb3RvdHlwZS5jcHAKQEAgLTEyMiw3ICsxMjIs
NyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIG9iamVjdFByb3RvRnVuY0RlZmluZUdl
dHRlcihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgZGVzY3JpcHRvci5zZXRHZXR0ZXIoZ2V0KTsKICAg
ICBkZXNjcmlwdG9yLnNldEVudW1lcmFibGUodHJ1ZSk7CiAgICAgZGVzY3JpcHRvci5zZXRDb25m
aWd1cmFibGUodHJ1ZSk7Ci0gICAgdGhpc09iamVjdC0+bWV0aG9kVGFibGUoZXhlYy0+dm0oKSkt
PmRlZmluZU93blByb3BlcnR5KHRoaXNPYmplY3QsIGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KDApLnRv
UHJvcGVydHlLZXkoZXhlYyksIGRlc2NyaXB0b3IsIGZhbHNlKTsKKyAgICB0aGlzT2JqZWN0LT5t
ZXRob2RUYWJsZShleGVjLT52bSgpKS0+ZGVmaW5lT3duUHJvcGVydHkodGhpc09iamVjdCwgZXhl
YywgZXhlYy0+YXJndW1lbnQoMCkudG9Qcm9wZXJ0eUtleShleGVjKSwgZGVzY3JpcHRvciwgdHJ1
ZSk7CiAKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwogfQpAQCAt
MTQyLDcgKzE0Miw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgb2JqZWN0UHJvdG9G
dW5jRGVmaW5lU2V0dGVyKEV4ZWNTdGF0ZSogZXhlYykKICAgICBkZXNjcmlwdG9yLnNldFNldHRl
cihzZXQpOwogICAgIGRlc2NyaXB0b3Iuc2V0RW51bWVyYWJsZSh0cnVlKTsKICAgICBkZXNjcmlw
dG9yLnNldENvbmZpZ3VyYWJsZSh0cnVlKTsKLSAgICB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZShl
eGVjLT52bSgpKS0+ZGVmaW5lT3duUHJvcGVydHkodGhpc09iamVjdCwgZXhlYywgZXhlYy0+YXJn
dW1lbnQoMCkudG9Qcm9wZXJ0eUtleShleGVjKSwgZGVzY3JpcHRvciwgZmFsc2UpOworICAgIHRo
aXNPYmplY3QtPm1ldGhvZFRhYmxlKGV4ZWMtPnZtKCkpLT5kZWZpbmVPd25Qcm9wZXJ0eSh0aGlz
T2JqZWN0LCBleGVjLCBleGVjLT5hcmd1bWVudCgwKS50b1Byb3BlcnR5S2V5KGV4ZWMpLCBkZXNj
cmlwdG9yLCB0cnVlKTsKIAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQo
KSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282516</attachid>
            <date>2016-07-01 00:09:51 -0700</date>
            <delta_ts>2016-07-01 13:56:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142934-20160701000929.patch</filename>
            <type>text/plain</type>
            <size>16244</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNjg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
NWQ1OWJhY2ZjNzhlNWU2ODk2ODExMjMzNDczMTNlOGJjY2U5YjliLi4zZDU0YWE1OTQxN2RkNDI3
ZTFlOWMxMjBkOGEyNDg0OGI5ZGNjMjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNCBAQAorMjAxNi0wNy0wMSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBfX2RlZmluZUdldHRlcl9fL19fZGVmaW5lU2V0dGVyX18gc2hvdWxk
IHRocm93IGV4Y2VwdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MjkzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpv
YmplY3RQcm90b0Z1bmNEZWZpbmVHZXR0ZXIpOgorICAgICAgICAoSlNDOjpvYmplY3RQcm90b0Z1
bmNEZWZpbmVTZXR0ZXIpOgorCiAyMDE2LTA2LTMwICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxh
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIERhdGUudG9HTVRTdHJpbmcgc2hvdWxkIGJl
IHRoZSBEYXRlLnRvVVRDU3RyaW5nIGZ1bmN0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PYmplY3RQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvT2JqZWN0UHJvdG90eXBlLmNwcAppbmRleCA3N2M0N2RlMTU0YjdhM2Y0MTkw
YTVhMDhlNDBmYjU1NTQzZGRlNTQ1Li4yZGQ3NGFiMzQzODA2ZTAzNjRiM2YzNTBhODZlOTg0Mzk3
N2Y3YWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RQ
cm90b3R5cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09iamVjdFBy
b3RvdHlwZS5jcHAKQEAgLTE0NSw3ICsxNDUsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9D
QUxMIG9iamVjdFByb3RvRnVuY0RlZmluZUdldHRlcihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgZGVz
Y3JpcHRvci5zZXRFbnVtZXJhYmxlKHRydWUpOwogICAgIGRlc2NyaXB0b3Iuc2V0Q29uZmlndXJh
YmxlKHRydWUpOwogCi0gICAgYm9vbCBzaG91bGRUaHJvdyA9IGZhbHNlOworICAgIGJvb2wgc2hv
dWxkVGhyb3cgPSB0cnVlOwogICAgIHRoaXNPYmplY3QtPm1ldGhvZFRhYmxlKGV4ZWMtPnZtKCkp
LT5kZWZpbmVPd25Qcm9wZXJ0eSh0aGlzT2JqZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIGRlc2Ny
aXB0b3IsIHNob3VsZFRocm93KTsKIAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRl
ZmluZWQoKSk7CkBAIC0xNzEsNyArMTcxLDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBvYmplY3RQcm90b0Z1bmNEZWZpbmVTZXR0ZXIoRXhlY1N0YXRlKiBleGVjKQogICAgIGRlc2Ny
aXB0b3Iuc2V0RW51bWVyYWJsZSh0cnVlKTsKICAgICBkZXNjcmlwdG9yLnNldENvbmZpZ3VyYWJs
ZSh0cnVlKTsKIAotICAgIGJvb2wgc2hvdWxkVGhyb3cgPSBmYWxzZTsKKyAgICBib29sIHNob3Vs
ZFRocm93ID0gdHJ1ZTsKICAgICB0aGlzT2JqZWN0LT5tZXRob2RUYWJsZShleGVjLT52bSgpKS0+
ZGVmaW5lT3duUHJvcGVydHkodGhpc09iamVjdCwgZXhlYywgcHJvcGVydHlOYW1lLCBkZXNjcmlw
dG9yLCBzaG91bGRUaHJvdyk7CiAKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZp
bmVkKCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGM0MjY4NzUwZDNhODY3YzliNTE3ZjI5MTAyYTE4MDFlMjg3MDA0ODcu
LjU3OTE2M2JmMGI5ZjFlMTgxZjI1OTYxMjJjODQzYTBiMTU3ODBkMzAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxNi0wNy0wMSAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBfX2RlZmluZUdldHRlcl9fL19fZGVmaW5lU2V0dGVyX18gc2hvdWxkIHRo
cm93IGV4Y2VwdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0MjkzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICoganMvZG9tL2RvbS1wcm9wZXJ0aWVzLWFyZS1jb25maWd1cmFibGUtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9kb20vZG9tLXByb3BlcnRpZXMtYXJlLWNvbmZpZ3Vy
YWJsZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9vYmplY3QtbGl0ZXJhbC1kdXBsaWNhdGUt
cHJvcGVydGllcy1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMvcHJvcGVydHktZ2V0dGVycy1h
bmQtc2V0dGVycy1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL29iamVj
dC1saXRlcmFsLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzLmpzOgorICAgICAgICAqIGpzL3NjcmlwdC10
ZXN0cy9wcm9wZXJ0eS1nZXR0ZXJzLWFuZC1zZXR0ZXJzLmpzOgorCiAyMDE2LTA2LTMwICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIERhdGUu
dG9HTVRTdHJpbmcgc2hvdWxkIGJlIHRoZSBEYXRlLnRvVVRDU3RyaW5nIGZ1bmN0aW9uCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vZG9tLXByb3BlcnRpZXMtYXJlLWNvbmZpZ3VyYWJs
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9kb20vZG9tLXByb3BlcnRpZXMtYXJlLWNv
bmZpZ3VyYWJsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWRiYmM5MTM1NjdkMDE2MTAxNTg4
MTMzM2UwNmQ1NTc0NDg3NmVhMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2Rv
bS9kb20tcHJvcGVydGllcy1hcmUtY29uZmlndXJhYmxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDE2IEBACitWZXJpZnkgdGhhdCBjZXJ0YWluIERPTSBwcm9wZXJ0aWVzIGFyZSBjb25maWd1cmFi
bGUKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdl
cywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgT2JqZWN0LmdldE93blBy
b3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5wcm90b3R5cGUsICJpbm5lclRleHQiKS5jb25m
aWd1cmFibGUgaXMgdHJ1ZQorUEFTUyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHdp
bmRvdywgIm9uaGFzaGNoYW5nZSIpLmNvbmZpZ3VyYWJsZSBpcyB0cnVlCitQQVNTIEhUTUxFbGVt
ZW50LnByb3RvdHlwZS5fX2RlZmluZUdldHRlcl9fKCJpbm5lclRleHQiLCBmdW5jdGlvbigpIHsg
cmV0dXJuICJOTyEiIH0pOyBpcyB1bmRlZmluZWQKK1BBU1Mgd2luZG93Ll9fZGVmaW5lR2V0dGVy
X18oIm9uaGFzaGNoYW5nZSIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gIldlYktpdCEiIH0pOyBpcyB1
bmRlZmluZWQKK1BBU1MgSFRNTEVsZW1lbnQucHJvdG90eXBlLmlubmVyVGV4dCBpcyAiTk8hIgor
UEFTUyBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuaW5uZXJUZXh0IGlzICJOTyEiCitQQVNTIHdp
bmRvdy5vbmhhc2hjaGFuZ2UgaXMgIldlYktpdCEiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9t
L2RvbS1wcm9wZXJ0aWVzLWFyZS1jb25maWd1cmFibGUuaHRtbCBiL0xheW91dFRlc3RzL2pzL2Rv
bS9kb20tcHJvcGVydGllcy1hcmUtY29uZmlndXJhYmxlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTcwMmU3
NWNkZTRmNWU5NDZmYjU3NzRhMTFjMGNhZDQxNDNhMGM5MAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2pzL2RvbS9kb20tcHJvcGVydGllcy1hcmUtY29uZmlndXJhYmxlLmh0bWwKQEAg
LTAsMCArMSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbigiVmVyaWZ5IHRoYXQgY2VydGFpbiBET00gcHJv
cGVydGllcyBhcmUgY29uZmlndXJhYmxlIik7CisKKyAgICAvLyBTb21lIHByb3BlcnRpZXMga25v
d24gdG8gY2F1c2UgaXNzdWVzIChzZWUgcmRhcjovL3Byb2JsZW0vMjA4MDc1NjMpLgorICAgIHNo
b3VsZEJlVHJ1ZSgnT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihIVE1MRWxlbWVudC5w
cm90b3R5cGUsICJpbm5lclRleHQiKS5jb25maWd1cmFibGUnKTsKKyAgICBzaG91bGRCZVRydWUo
J09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAib25oYXNoY2hhbmdlIiku
Y29uZmlndXJhYmxlJyk7CisgICAgc2hvdWxkQmUoJ0hUTUxFbGVtZW50LnByb3RvdHlwZS5fX2Rl
ZmluZUdldHRlcl9fKCJpbm5lclRleHQiLCBmdW5jdGlvbigpIHsgcmV0dXJuICJOTyEiIH0pOycs
ICd1bmRlZmluZWQnKTsKKyAgICBzaG91bGRCZSgnd2luZG93Ll9fZGVmaW5lR2V0dGVyX18oIm9u
aGFzaGNoYW5nZSIsIGZ1bmN0aW9uKCkgeyByZXR1cm4gIldlYktpdCEiIH0pOycsICd1bmRlZmlu
ZWQnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ0hUTUxFbGVtZW50LnByb3RvdHlwZS5p
bm5lclRleHQnLCAnTk8hJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdkb2N1bWVudC5k
b2N1bWVudEVsZW1lbnQuaW5uZXJUZXh0JywgJ05PIScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygnd2luZG93Lm9uaGFzaGNoYW5nZScsICdXZWJLaXQhJyk7Cis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL29iamVjdC1saXRlcmFsLWR1
cGxpY2F0ZS1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL29iamVjdC1s
aXRlcmFsLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAppbmRleCBiYTE0MzY2YTE1
MzY4ZGM5ZmQxYWY3M2FiZTA1YzQ5NzdiMWE3Yjk4Li4xMTEwODQ3ZDczYTA1NmZhNWE4MDk5MmI4
NjI1Yzk5YjhiNjM4ZWJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9vYmplY3QtbGl0ZXJh
bC1kdXBsaWNhdGUtcHJvcGVydGllcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMv
b2JqZWN0LWxpdGVyYWwtZHVwbGljYXRlLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC01Niw5
ICs1Niw5IEBAIFBBU1MgKGZ1bmN0aW9uKCl7byA9IHtmb286MSwgZm9vOjN9OyBPYmplY3Quc2Vh
bChvKTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICdmCiBQQVNTIG8gPSB7Zm9vOjEsIGZvbzoz
fTsgT2JqZWN0LnNlYWwobyk7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAnZm9vJywge2dldCgp
e3JldHVybiA1fX0pOyBkZXNjcmlwdGlvblN0cmluZyhvLCAnZm9vJyk7IHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdlIGFjY2VzcyBtZWNoYW5pc20gZm9yIGFu
IHVuY29uZmlndXJhYmxlIHByb3BlcnR5Li4KIFBBU1MgJ3VzZSBzdHJpY3QnO28gPSB7Zm9vOjEs
IGZvbzozfTsgT2JqZWN0LnNlYWwobyk7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAnZm9vJywg
e2dldCgpe3JldHVybiA1fX0pOyBkZXNjcmlwdGlvblN0cmluZyhvLCAnZm9vJyk7IHRocmV3IGV4
Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdlIGFjY2VzcyBtZWNoYW5pc20g
Zm9yIGFuIHVuY29uZmlndXJhYmxlIHByb3BlcnR5Li4KIFBBU1MgKGZ1bmN0aW9uKCl7byA9IHtm
b286MSwgZm9vOjN9OyBPYmplY3Quc2VhbChvKTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICdm
b28nLCB7Z2V0KCl7cmV0dXJuIDV9fSk7IGRlc2NyaXB0aW9uU3RyaW5nKG8sICdmb28nKTt9KSgp
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdlIGFjY2VzcyBt
ZWNoYW5pc20gZm9yIGFuIHVuY29uZmlndXJhYmxlIHByb3BlcnR5Li4KLVBBU1MgbyA9IHtmb286
MSwgZm9vOjN9OyBPYmplY3Quc2VhbChvKTsgby5fX2RlZmluZUdldHRlcl9fKCdmb28nLCBmdW5j
dGlvbigpe3JldHVybiA1fSk7IGRlc2NyaXB0aW9uU3RyaW5nKG8sICdmb28nKTsgaXMgJ3ZhbHVl
OjMga2V5czoxIFtFV11bU2VhbGVkXScKLVBBU1MgJ3VzZSBzdHJpY3QnO28gPSB7Zm9vOjEsIGZv
bzozfTsgT2JqZWN0LnNlYWwobyk7IG8uX19kZWZpbmVHZXR0ZXJfXygnZm9vJywgZnVuY3Rpb24o
KXtyZXR1cm4gNX0pOyBkZXNjcmlwdGlvblN0cmluZyhvLCAnZm9vJyk7IGlzICd2YWx1ZTozIGtl
eXM6MSBbRVddW1NlYWxlZF0nCi1QQVNTIChmdW5jdGlvbigpe28gPSB7Zm9vOjEsIGZvbzozfTsg
T2JqZWN0LnNlYWwobyk7IG8uX19kZWZpbmVHZXR0ZXJfXygnZm9vJywgZnVuY3Rpb24oKXtyZXR1
cm4gNX0pOyBkZXNjcmlwdGlvblN0cmluZyhvLCAnZm9vJyk7fSkoKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1MgbyA9IHtmb286MSwgZm9vOjN9OyBPYmplY3Quc2VhbChvKTsgby5fX2Rl
ZmluZUdldHRlcl9fKCdmb28nLCBmdW5jdGlvbigpe3JldHVybiA1fSk7IGRlc2NyaXB0aW9uU3Ry
aW5nKG8sICdmb28nKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0ZW1wdGluZyB0byBj
aGFuZ2UgY29uZmlndXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4u
CitQQVNTICd1c2Ugc3RyaWN0JztvID0ge2ZvbzoxLCBmb286M307IE9iamVjdC5zZWFsKG8pOyBv
Ll9fZGVmaW5lR2V0dGVyX18oJ2ZvbycsIGZ1bmN0aW9uKCl7cmV0dXJuIDV9KTsgZGVzY3JpcHRp
b25TdHJpbmcobywgJ2ZvbycpOyB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBdHRlbXB0aW5n
IHRvIGNoYW5nZSBjb25maWd1cmFibGUgYXR0cmlidXRlIG9mIHVuY29uZmlndXJhYmxlIHByb3Bl
cnR5Li4KK1BBU1MgKGZ1bmN0aW9uKCl7byA9IHtmb286MSwgZm9vOjN9OyBPYmplY3Quc2VhbChv
KTsgby5fX2RlZmluZUdldHRlcl9fKCdmb28nLCBmdW5jdGlvbigpe3JldHVybiA1fSk7IGRlc2Ny
aXB0aW9uU3RyaW5nKG8sICdmb28nKTt9KSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0
dGVtcHRpbmcgdG8gY2hhbmdlIGNvbmZpZ3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFi
bGUgcHJvcGVydHkuLgogCiBCYXNpYyArIENvbXB1dGVkCiBQQVNTIG8gPSB7Wydmb28nXToxfTsg
ZGVzY3JpcHRpb25TdHJpbmcobywgJ2ZvbycpOyBpcyAndmFsdWU6MSBrZXlzOjEgW0VDV11bRXh0
ZW5zaWJsZV0nCkBAIC0xNTAsOSArMTUwLDkgQEAgUEFTUyAoZnVuY3Rpb24oKXtvID0ge2Zvbzox
LCBnZXQgZm9vKCl7cmV0dXJuIDN9fTsgT2JqZWN0LnNlYWwobyk7IE9iamVjdC5kZWZpbmUKIFBB
U1MgbyA9IHtmb286MSwgZ2V0IGZvbygpe3JldHVybiAzfX07IE9iamVjdC5zZWFsKG8pOyBPYmpl
Y3QuZGVmaW5lUHJvcGVydHkobywgJ2ZvbycsIHt2YWx1ZTo1fSk7IGRlc2NyaXB0aW9uU3RyaW5n
KG8sICdmb28nKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0ZW1wdGluZyB0byBjaGFu
Z2UgYWNjZXNzIG1lY2hhbmlzbSBmb3IgYW4gdW5jb25maWd1cmFibGUgcHJvcGVydHkuLgogUEFT
UyAndXNlIHN0cmljdCc7byA9IHtmb286MSwgZ2V0IGZvbygpe3JldHVybiAzfX07IE9iamVjdC5z
ZWFsKG8pOyBPYmplY3QuZGVmaW5lUHJvcGVydHkobywgJ2ZvbycsIHt2YWx1ZTo1fSk7IGRlc2Ny
aXB0aW9uU3RyaW5nKG8sICdmb28nKTsgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0ZW1w
dGluZyB0byBjaGFuZ2UgYWNjZXNzIG1lY2hhbmlzbSBmb3IgYW4gdW5jb25maWd1cmFibGUgcHJv
cGVydHkuLgogUEFTUyAoZnVuY3Rpb24oKXtvID0ge2ZvbzoxLCBnZXQgZm9vKCl7cmV0dXJuIDN9
fTsgT2JqZWN0LnNlYWwobyk7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCAnZm9vJywge3ZhbHVl
OjV9KTsgZGVzY3JpcHRpb25TdHJpbmcobywgJ2ZvbycpO30pKCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgYWNjZXNzIG1lY2hhbmlzbSBmb3IgYW4gdW5j
b25maWd1cmFibGUgcHJvcGVydHkuLgotUEFTUyBvID0ge2ZvbzoxLCBnZXQgZm9vKCl7cmV0dXJu
IDN9fTsgT2JqZWN0LnNlYWwobyk7IG8uX19kZWZpbmVHZXR0ZXJfXygnZm9vJywgZnVuY3Rpb24o
KXtyZXR1cm4gNX0pOyBkZXNjcmlwdGlvblN0cmluZyhvLCAnZm9vJyk7IGlzICdnZXR0ZXI6ZnVu
Y3Rpb24gdmFsdWU6KDMpIGtleXM6MSBbRV1bU2VhbGVkXVtGcm96ZW5dJwotUEFTUyAndXNlIHN0
cmljdCc7byA9IHtmb286MSwgZ2V0IGZvbygpe3JldHVybiAzfX07IE9iamVjdC5zZWFsKG8pOyBv
Ll9fZGVmaW5lR2V0dGVyX18oJ2ZvbycsIGZ1bmN0aW9uKCl7cmV0dXJuIDV9KTsgZGVzY3JpcHRp
b25TdHJpbmcobywgJ2ZvbycpOyBpcyAnZ2V0dGVyOmZ1bmN0aW9uIHZhbHVlOigzKSBrZXlzOjEg
W0VdW1NlYWxlZF1bRnJvemVuXScKLVBBU1MgKGZ1bmN0aW9uKCl7byA9IHtmb286MSwgZ2V0IGZv
bygpe3JldHVybiAzfX07IE9iamVjdC5zZWFsKG8pOyBvLl9fZGVmaW5lR2V0dGVyX18oJ2Zvbycs
IGZ1bmN0aW9uKCl7cmV0dXJuIDV9KTsgZGVzY3JpcHRpb25TdHJpbmcobywgJ2ZvbycpO30pKCkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG8gPSB7Zm9vOjEsIGdldCBmb28oKXtyZXR1
cm4gM319OyBPYmplY3Quc2VhbChvKTsgby5fX2RlZmluZUdldHRlcl9fKCdmb28nLCBmdW5jdGlv
bigpe3JldHVybiA1fSk7IGRlc2NyaXB0aW9uU3RyaW5nKG8sICdmb28nKTsgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0dHJpYnV0
ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4uCitQQVNTICd1c2Ugc3RyaWN0JztvID0ge2Zv
bzoxLCBnZXQgZm9vKCl7cmV0dXJuIDN9fTsgT2JqZWN0LnNlYWwobyk7IG8uX19kZWZpbmVHZXR0
ZXJfXygnZm9vJywgZnVuY3Rpb24oKXtyZXR1cm4gNX0pOyBkZXNjcmlwdGlvblN0cmluZyhvLCAn
Zm9vJyk7IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdlIGNv
bmZpZ3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuLgorUEFTUyAo
ZnVuY3Rpb24oKXtvID0ge2ZvbzoxLCBnZXQgZm9vKCl7cmV0dXJuIDN9fTsgT2JqZWN0LnNlYWwo
byk7IG8uX19kZWZpbmVHZXR0ZXJfXygnZm9vJywgZnVuY3Rpb24oKXtyZXR1cm4gNX0pOyBkZXNj
cmlwdGlvblN0cmluZyhvLCAnZm9vJyk7fSkoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBB
dHRlbXB0aW5nIHRvIGNoYW5nZSBjb25maWd1cmFibGUgYXR0cmlidXRlIG9mIHVuY29uZmlndXJh
YmxlIHByb3BlcnR5Li4KIAogQ29tcHV0ZWQgKyBBY2Nlc3NvcgogUEFTUyBvID0ge1snZm9vJ106
MSwgZ2V0IGZvbygpe3JldHVybiAyfX07IGRlc2NyaXB0aW9uU3RyaW5nKG8sICdmb28nKTsgaXMg
J2dldHRlcjpmdW5jdGlvbiB2YWx1ZTooMikga2V5czoxIFtFQ11bRXh0ZW5zaWJsZV0nCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9qcy9wcm9wZXJ0eS1nZXR0ZXJzLWFuZC1zZXR0ZXJzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL3Byb3BlcnR5LWdldHRlcnMtYW5kLXNldHRlcnMtZXhw
ZWN0ZWQudHh0CmluZGV4IGU5MmM5YWUxZThhODgwNGYxOWE2OTUzN2ZlOGYyMDAzNmFiMjNiOGIu
LmU0NGZlM2ZlMDU0ODYyZjE1MmQxM2RmZDdmY2I4MDFjYzY1M2NjZjIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2pzL3Byb3BlcnR5LWdldHRlcnMtYW5kLXNldHRlcnMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2pzL3Byb3BlcnR5LWdldHRlcnMtYW5kLXNldHRlcnMtZXhwZWN0ZWQu
dHh0CkBAIC00Myw2ICs0MywyMSBAQCBQQVNTIG8xMi5fX2xvb2t1cEdldHRlcl9fKCdiJykgaXMg
dm9pZCAwCiBXaGVuIHVuZGVmaW5lZCwgYWNjZXNzaW5nIF9fbG9va3VwR2V0dGVyX18gYW5kIF9f
bG9va3VwU2V0dGVyX18gc2hvdWxkIG5vdCBjcmFzaAogUEFTUyBvMTMuX19sb29rdXBHZXR0ZXJf
XygnYicpIGlzIHZvaWQgMAogUEFTUyBvMTMuX19sb29rdXBTZXR0ZXJfXygnYicpIGlzIHZvaWQg
MAorX19kZWZpbmVHZXR0ZXJfXyBhbmQgX19kZWZpbmVTZXR0ZXJfXyBzaG91bGQgdGhyb3cgZXhj
ZXB0aW9ucyB3aGVuIGFjdGluZyBvbiBzZWFsZWQgb2JqZWN0cworUEFTUyBvMTQuX19kZWZpbmVH
ZXR0ZXJfXygnYScsIGZ1bmN0aW9uKCl7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0
ZW1wdGluZyB0byBjaGFuZ2UgY29uZmlndXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJs
ZSBwcm9wZXJ0eS4uCitQQVNTIG8xNC5fX2RlZmluZUdldHRlcl9fKCdiJywgZnVuY3Rpb24oKXt9
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBdHRlbXB0aW5nIHRvIGRlZmluZSBwcm9wZXJ0
eSBvbiBvYmplY3QgdGhhdCBpcyBub3QgZXh0ZW5zaWJsZS4uCitQQVNTIG8xNC5fX2RlZmluZVNl
dHRlcl9fKCdhJywgZnVuY3Rpb24oKXt9KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBdHRl
bXB0aW5nIHRvIGNoYW5nZSBjb25maWd1cmFibGUgYXR0cmlidXRlIG9mIHVuY29uZmlndXJhYmxl
IHByb3BlcnR5Li4KK1BBU1MgbzE0Ll9fZGVmaW5lU2V0dGVyX18oJ2InLCBmdW5jdGlvbigpe30p
IHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gZGVmaW5lIHByb3BlcnR5
IG9uIG9iamVjdCB0aGF0IGlzIG5vdCBleHRlbnNpYmxlLi4KK19fZGVmaW5lR2V0dGVyX18gYW5k
IF9fZGVmaW5lU2V0dGVyX18gc2hvdWxkIHRocm93IGV4Y2VwdGlvbnMgd2hlbiBhY3Rpbmcgb24g
ZnJvemVuIG9iamVjdHMKK1BBU1MgbzE1Ll9fZGVmaW5lR2V0dGVyX18oJ2EnLCBmdW5jdGlvbigp
e30pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdlIGNvbmZp
Z3VyYWJsZSBhdHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuLgorUEFTUyBvMTUu
X19kZWZpbmVHZXR0ZXJfXygnYicsIGZ1bmN0aW9uKCl7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogQXR0ZW1wdGluZyB0byBkZWZpbmUgcHJvcGVydHkgb24gb2JqZWN0IHRoYXQgaXMgbm90
IGV4dGVuc2libGUuLgorUEFTUyBvMTUuX19kZWZpbmVTZXR0ZXJfXygnYScsIGZ1bmN0aW9uKCl7
fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXR0ZW1wdGluZyB0byBjaGFuZ2UgY29uZmln
dXJhYmxlIGF0dHJpYnV0ZSBvZiB1bmNvbmZpZ3VyYWJsZSBwcm9wZXJ0eS4uCitQQVNTIG8xNS5f
X2RlZmluZVNldHRlcl9fKCdiJywgZnVuY3Rpb24oKXt9KSB0aHJldyBleGNlcHRpb24gVHlwZUVy
cm9yOiBBdHRlbXB0aW5nIHRvIGRlZmluZSBwcm9wZXJ0eSBvbiBvYmplY3QgdGhhdCBpcyBub3Qg
ZXh0ZW5zaWJsZS4uCitfX2RlZmluZUdldHRlcl9fIGFuZCBfX2RlZmluZVNldHRlcl9fIHNob3Vs
ZCB0aHJvdyBleGNlcHRpb25zIHdoZW4gYWN0aW5nIG9uIHVuY29uZmlndXJhYmxlIHByb3BlcnRp
ZXMKK1BBU1MgbzE2Ll9fZGVmaW5lR2V0dGVyX18oJ2EnLCBmdW5jdGlvbigpe30pIGRpZCBub3Qg
dGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvMTYuX19kZWZpbmVTZXR0ZXJfXygnYScsIGZ1bmN0aW9u
KCl7fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG8xNi5fX2RlZmluZVNldHRlcl9f
KCdiJywgZnVuY3Rpb24oKXt9KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBdHRlbXB0aW5n
IHRvIGNoYW5nZSBjb25maWd1cmFibGUgYXR0cmlidXRlIG9mIHVuY29uZmlndXJhYmxlIHByb3Bl
cnR5Li4KK1BBU1MgbzE2Ll9fZGVmaW5lU2V0dGVyX18oJ2InLCBmdW5jdGlvbigpe30pIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEF0dGVtcHRpbmcgdG8gY2hhbmdlIGNvbmZpZ3VyYWJsZSBh
dHRyaWJ1dGUgb2YgdW5jb25maWd1cmFibGUgcHJvcGVydHkuLgogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9q
cy9zY3JpcHQtdGVzdHMvb2JqZWN0LWxpdGVyYWwtZHVwbGljYXRlLXByb3BlcnRpZXMuanMgYi9M
YXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvb2JqZWN0LWxpdGVyYWwtZHVwbGljYXRlLXByb3Bl
cnRpZXMuanMKaW5kZXggOTk5YzczYWYwNjM1MTc0YmYyMWJlMmUyODkwZWZhYmNjYjRkNTY2ZC4u
MTJkNDAzMmEyMDUwOGVhZTBhMDc4ZWZlMjk1YWZkZGE5ZTZjMjViYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL29iamVjdC1saXRlcmFsLWR1cGxpY2F0ZS1wcm9wZXJ0
aWVzLmpzCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9vYmplY3QtbGl0ZXJhbC1k
dXBsaWNhdGUtcHJvcGVydGllcy5qcwpAQCAtMTIxLDggKzEyMSw3IEBAIHJ1blRlc3QoIm8gPSB7
Zm9vOjEsIGZvbzozfTsgT2JqZWN0LnNlYWwobyk7IiwgIid2YWx1ZTozIGtleXM6MSBbRVddW1Nl
YWxlZF0nIik7CiBydW5UZXN0KCJvID0ge2ZvbzoxLCBmb286M307IE9iamVjdC5zZWFsKG8pOyBv
LmZvbyA9IDUiLCAiJ3ZhbHVlOjUga2V5czoxIFtFV11bU2VhbGVkXSciKTsKIHJ1blRlc3QoIm8g
PSB7Zm9vOjEsIGZvbzozfTsgT2JqZWN0LnNlYWwobyk7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShv
LCAnZm9vJywge3ZhbHVlOjV9KSIsICIndmFsdWU6NSBrZXlzOjEgW0VXXVtTZWFsZWRdJyIpOwog
cnVuVGVzdCgibyA9IHtmb286MSwgZm9vOjN9OyBPYmplY3Quc2VhbChvKTsgT2JqZWN0LmRlZmlu
ZVByb3BlcnR5KG8sICdmb28nLCB7Z2V0KCl7cmV0dXJuIDV9fSkiLCBudWxsKTsKLS8vIEZJWE1F
OiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTQyOTM0PiBfX2RlZmluZUdldHRlcl9fL19fZGVmaW5l
U2V0dGVyX18gc2hvdWxkIHRocm93IGV4Y2VwdGlvbnMKLXJ1blRlc3QoIm8gPSB7Zm9vOjEsIGZv
bzozfTsgT2JqZWN0LnNlYWwobyk7IG8uX19kZWZpbmVHZXR0ZXJfXygnZm9vJywgZnVuY3Rpb24o
KXtyZXR1cm4gNX0pIiwgIid2YWx1ZTozIGtleXM6MSBbRVddW1NlYWxlZF0nIik7CitydW5UZXN0
KCJvID0ge2ZvbzoxLCBmb286M307IE9iamVjdC5zZWFsKG8pOyBvLl9fZGVmaW5lR2V0dGVyX18o
J2ZvbycsIGZ1bmN0aW9uKCl7cmV0dXJuIDV9KSIpOwogCiAvLyBCYXNpYyBwcm9wZXJ0aWVzIHdp
dGggQ29tcHV0ZWQgcHJvcGVydGllcy4KIGRlYnVnKCIiKTsgZGVidWcoIkJhc2ljICsgQ29tcHV0
ZWQiKTsKQEAgLTE1OCw4ICsxNTcsNyBAQCBydW5UZXN0KCJvID0ge2ZvbzoxLCBnZXQgZm9vKCl7
cmV0dXJuIDN9LCBzZXQgZm9vKHgpe319OyBPYmplY3Quc2VhbChvKTsgby5mb28gPQogcnVuVGVz
dCgibyA9IHtmb286MSwgZ2V0IGZvbygpe3JldHVybiAzfX07IE9iamVjdC5zZWFsKG8pOyIsICIn
Z2V0dGVyOmZ1bmN0aW9uIHZhbHVlOigzKSBrZXlzOjEgW0VdW1NlYWxlZF1bRnJvemVuXSciKTsK
IHJ1blRlc3QoIm8gPSB7Zm9vOjEsIGdldCBmb28oKXtyZXR1cm4gM319OyBPYmplY3Quc2VhbChv
KTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICdmb28nLCB7Z2V0KCl7cmV0dXJuIDV9fSkiLCBu
dWxsKTsKIHJ1blRlc3QoIm8gPSB7Zm9vOjEsIGdldCBmb28oKXtyZXR1cm4gM319OyBPYmplY3Qu
c2VhbChvKTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICdmb28nLCB7dmFsdWU6NX0pIiwgbnVs
bCk7Ci0vLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE0MjkzND4gX19kZWZpbmVHZXR0
ZXJfXy9fX2RlZmluZVNldHRlcl9fIHNob3VsZCB0aHJvdyBleGNlcHRpb25zCi1ydW5UZXN0KCJv
ID0ge2ZvbzoxLCBnZXQgZm9vKCl7cmV0dXJuIDN9fTsgT2JqZWN0LnNlYWwobyk7IG8uX19kZWZp
bmVHZXR0ZXJfXygnZm9vJywgZnVuY3Rpb24oKXtyZXR1cm4gNX0pIiwgIidnZXR0ZXI6ZnVuY3Rp
b24gdmFsdWU6KDMpIGtleXM6MSBbRV1bU2VhbGVkXVtGcm96ZW5dJyIpOworcnVuVGVzdCgibyA9
IHtmb286MSwgZ2V0IGZvbygpe3JldHVybiAzfX07IE9iamVjdC5zZWFsKG8pOyBvLl9fZGVmaW5l
R2V0dGVyX18oJ2ZvbycsIGZ1bmN0aW9uKCl7cmV0dXJuIDV9KSIpOwogCiAvLyBDb21wdXRlZCBw
cm9wZXJ0aWVzIHdpdGggQWNjZXNzb3IgcHJvcGVydGllcy4KIGRlYnVnKCIiKTsgZGVidWcoIkNv
bXB1dGVkICsgQWNjZXNzb3IiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10
ZXN0cy9wcm9wZXJ0eS1nZXR0ZXJzLWFuZC1zZXR0ZXJzLmpzIGIvTGF5b3V0VGVzdHMvanMvc2Ny
aXB0LXRlc3RzL3Byb3BlcnR5LWdldHRlcnMtYW5kLXNldHRlcnMuanMKaW5kZXggOTkwZGUyYTYx
NzljN2RjODEzZDkyOWUyMDUzMGY3M2E0ZWQ3MDMxYy4uZTVmYzFhMWY1ZWJiYWEzYmQ1OGZkNTFm
ZWNiZTk1ZjM1MmFiM2RmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3Rz
L3Byb3BlcnR5LWdldHRlcnMtYW5kLXNldHRlcnMuanMKKysrIGIvTGF5b3V0VGVzdHMvanMvc2Ny
aXB0LXRlc3RzL3Byb3BlcnR5LWdldHRlcnMtYW5kLXNldHRlcnMuanMKQEAgLTk5LDMgKzk5LDI3
IEBAIHZhciBvMTMgPSBuZXcgT2JqZWN0KCkKIAogc2hvdWxkQmUoIm8xMy5fX2xvb2t1cEdldHRl
cl9fKCdiJykiLCAidm9pZCAwIik7CiBzaG91bGRCZSgibzEzLl9fbG9va3VwU2V0dGVyX18oJ2In
KSIsICJ2b2lkIDAiKTsKKworZGVidWcoIl9fZGVmaW5lR2V0dGVyX18gYW5kIF9fZGVmaW5lU2V0
dGVyX18gc2hvdWxkIHRocm93IGV4Y2VwdGlvbnMgd2hlbiBhY3Rpbmcgb24gc2VhbGVkIG9iamVj
dHMiKTsKK3ZhciBvMTQgPSB7YToxNH07CitPYmplY3Quc2VhbChvMTQpOworc2hvdWxkVGhyb3co
Im8xNC5fX2RlZmluZUdldHRlcl9fKCdhJywgZnVuY3Rpb24oKXt9KSIpOworc2hvdWxkVGhyb3co
Im8xNC5fX2RlZmluZUdldHRlcl9fKCdiJywgZnVuY3Rpb24oKXt9KSIpOworc2hvdWxkVGhyb3co
Im8xNC5fX2RlZmluZVNldHRlcl9fKCdhJywgZnVuY3Rpb24oKXt9KSIpOworc2hvdWxkVGhyb3co
Im8xNC5fX2RlZmluZVNldHRlcl9fKCdiJywgZnVuY3Rpb24oKXt9KSIpOworCitkZWJ1ZygiX19k
ZWZpbmVHZXR0ZXJfXyBhbmQgX19kZWZpbmVTZXR0ZXJfXyBzaG91bGQgdGhyb3cgZXhjZXB0aW9u
cyB3aGVuIGFjdGluZyBvbiBmcm96ZW4gb2JqZWN0cyIpOwordmFyIG8xNSA9IHthOjE1fTsKK09i
amVjdC5mcmVlemUobzE1KTsKK3Nob3VsZFRocm93KCJvMTUuX19kZWZpbmVHZXR0ZXJfXygnYScs
IGZ1bmN0aW9uKCl7fSkiKTsKK3Nob3VsZFRocm93KCJvMTUuX19kZWZpbmVHZXR0ZXJfXygnYics
IGZ1bmN0aW9uKCl7fSkiKTsKK3Nob3VsZFRocm93KCJvMTUuX19kZWZpbmVTZXR0ZXJfXygnYScs
IGZ1bmN0aW9uKCl7fSkiKTsKK3Nob3VsZFRocm93KCJvMTUuX19kZWZpbmVTZXR0ZXJfXygnYics
IGZ1bmN0aW9uKCl7fSkiKTsKKworZGVidWcoIl9fZGVmaW5lR2V0dGVyX18gYW5kIF9fZGVmaW5l
U2V0dGVyX18gc2hvdWxkIHRocm93IGV4Y2VwdGlvbnMgd2hlbiBhY3Rpbmcgb24gdW5jb25maWd1
cmFibGUgcHJvcGVydGllcyIpOwordmFyIG8xNiA9IHthOjE2fTsKK09iamVjdC5kZWZpbmVQcm9w
ZXJ0eShvMTYsICJiIiwge3ZhbHVlOiAxNiwgY29uZmlndXJhYmxlOiBmYWxzZX0pOworc2hvdWxk
Tm90VGhyb3coIm8xNi5fX2RlZmluZUdldHRlcl9fKCdhJywgZnVuY3Rpb24oKXt9KSIpOworc2hv
dWxkTm90VGhyb3coIm8xNi5fX2RlZmluZVNldHRlcl9fKCdhJywgZnVuY3Rpb24oKXt9KSIpOwor
c2hvdWxkVGhyb3coIm8xNi5fX2RlZmluZVNldHRlcl9fKCdiJywgZnVuY3Rpb24oKXt9KSIpOwor
c2hvdWxkVGhyb3coIm8xNi5fX2RlZmluZVNldHRlcl9fKCdiJywgZnVuY3Rpb24oKXt9KSIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>