<?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>130966</bug_id>
          
          <creation_ts>2014-03-31 04:21:04 -0700</creation_ts>
          <short_desc>Implement Array.prototype.find()</short_desc>
          <delta_ts>2014-05-07 12:32:23 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>995833</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2014-03-31 04:21:04 -0700</bug_when>
    <thetext>I&apos;ve recently stumbled upon the Array.prototype.find() method proposed in Harmony while looking for a way to establish which of the values contained in an array was found in a string first. Mozilla implements this method, and it would be nice for JSC to implement it too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996200</commentid>
    <comment_count>1</comment_count>
      <attachid>228259</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2014-04-01 02:30:39 -0700</bug_when>
    <thetext>Created attachment 228259
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996355</commentid>
    <comment_count>2</comment_count>
      <attachid>228259</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-04-01 10:31:27 -0700</bug_when>
    <thetext>Comment on attachment 228259
Patch

Please add tests for 0 vs undefined vs false vs null vs &quot;&quot; -- we want tests that cover the specific kind of equality.  Also perf numbers relative to v8 and SM would be good.

Test cases for array modification during search, 

Both test cases need to be bigger and should be using the shouldBe() shouldBeTrue(), etc functions.  In general js/regress is for performancy tests where we&apos;re trying to measure speed and jit behaviour.  and they use throw on incorrect result as they need to ensure that the jit&apos;s don&apos;t DCE the entire test.

So r-, you need more tests.  I suspect the filter, etc tests in js/ should give a good example of expected behaviour.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>996627</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2014-04-02 01:17:24 -0700</bug_when>
    <thetext>Thanks for the feedback, I had a feeling I wasn&apos;t writing the right kind of tests. V8 doesn&apos;t implement those methods.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003600</commentid>
    <comment_count>4</comment_count>
      <attachid>230067</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2014-04-24 03:29:05 -0700</bug_when>
    <thetext>Created attachment 230067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003603</commentid>
    <comment_count>5</comment_count>
      <attachid>230068</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2014-04-24 03:41:52 -0700</bug_when>
    <thetext>Created attachment 230068
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003656</commentid>
    <comment_count>6</comment_count>
      <attachid>230068</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-24 09:18:42 -0700</bug_when>
    <thetext>Comment on attachment 230068
Patch

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

&gt; Source/JavaScriptCore/builtins/Array.prototype.js:195
&gt; +        throw new @TypeError(&quot;Array.prototype.find requires that |this| not be null&quot;);

I don’t see any test coverage of this.

&gt; Source/JavaScriptCore/builtins/Array.prototype.js:198
&gt; +        throw new @TypeError(&quot;Array.prototype.find requires that |this| not be undefined&quot;);

I don’t see any test coverage of this.

&gt; Source/JavaScriptCore/builtins/Array.prototype.js:204
&gt; +        throw new @TypeError(&quot;Array.prototype.find callback must be a function&quot;);

I don’t see any test coverage of this.

&gt; Source/JavaScriptCore/builtins/Array.prototype.js:217
&gt; +        throw new @TypeError(&quot;Array.prototype.findIndex requires that |this| not be null&quot;);

I don’t see any test coverage of this.

&gt; Source/JavaScriptCore/builtins/Array.prototype.js:220
&gt; +        throw new @TypeError(&quot;Array.prototype.findIndex requires that |this| not be undefined&quot;);

I don’t see any test coverage of this.

&gt; Source/JavaScriptCore/builtins/Array.prototype.js:226
&gt; +        throw new @TypeError(&quot;Array.prototype.findIndex callback must be a function&quot;);

I don’t see any test coverage of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003689</commentid>
    <comment_count>7</comment_count>
      <attachid>230068</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-04-24 09:59:48 -0700</bug_when>
    <thetext>Comment on attachment 230068
Patch

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

r=me, but add edge case tests before landing

&gt;&gt; Source/JavaScriptCore/builtins/Array.prototype.js:198
&gt;&gt; +        throw new @TypeError(&quot;Array.prototype.find requires that |this| not be undefined&quot;);
&gt; 
&gt; I don’t see any test coverage of this.

Add .find.call(...) tests

&gt;&gt; Source/JavaScriptCore/builtins/Array.prototype.js:204
&gt;&gt; +        throw new @TypeError(&quot;Array.prototype.find callback must be a function&quot;);
&gt; 
&gt; I don’t see any test coverage of this.

coverage test

&gt;&gt; Source/JavaScriptCore/builtins/Array.prototype.js:226
&gt;&gt; +        throw new @TypeError(&quot;Array.prototype.findIndex callback must be a function&quot;);
&gt; 
&gt; I don’t see any test coverage of this.

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003690</commentid>
    <comment_count>8</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-04-24 10:00:17 -0700</bug_when>
    <thetext>Oh, also add tests for arrays with holes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003995</commentid>
    <comment_count>9</comment_count>
      <attachid>230148</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2014-04-25 00:48:34 -0700</bug_when>
    <thetext>Created attachment 230148
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003997</commentid>
    <comment_count>10</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2014-04-25 00:53:38 -0700</bug_when>
    <thetext>Patch for landing should have the exceptions and array with holes covered. Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004011</commentid>
    <comment_count>11</comment_count>
      <attachid>230148</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-25 01:26:27 -0700</bug_when>
    <thetext>Comment on attachment 230148
Patch for landing

Clearing flags on attachment: 230148

Committed r167797: &lt;http://trac.webkit.org/changeset/167797&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004012</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-25 01:26:30 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004127</commentid>
    <comment_count>13</comment_count>
      <attachid>230148</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-04-25 10:11:40 -0700</bug_when>
    <thetext>Comment on attachment 230148
Patch for landing

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

&gt; Source/JavaScriptCore/builtins/Array.prototype.js:210
&gt; +    for (var i = 0; i &lt; length; i++) {
&gt; +        if (callback.@call(thisArg, array[i], i, array))
&gt; +            return array[i];
&gt; +    }

Should we only call the callback if &quot;i in array&quot; for sparse arrays?

&lt;http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.find&gt;

Seems to indicate it only proceeds to calling the callback if the &quot;i&quot; was present:

. Repeat, while k &lt; len
. Let Pk be ToString(k).
. Let kPresent be HasProperty(O, Pk).
. ReturnIfAbrupt(kPresent).
. If kPresent is true, then
.   . Let kValue be Get(O, Pk).
.   . ReturnIfAbrupt(kValue).
.   . Let testResult be the result of calling the [[Call]] internal method of predicate with T as thisArgument and a List containing kValue, k, and O as argumentsList.

I&apos;m guessing a test for this would be:

    arrayWithHoles = [];
    arrayWithHoles[10] = 0;
    arrayWithHoles[20] = null;
    arrayWithHoles[30] = false;
    arrayWithHoles[40] = &quot;&quot;;
    arrayWithHoles.findIndex(passUndefined); // -1
    arrayWithHoles[50] = undefined;
    arrayWithHoles.findIndex(passUndefined); // 50

I could be wrong though. I didn&apos;t test in Firefox to see what they do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007365</commentid>
    <comment_count>14</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2014-05-07 10:51:46 -0700</bug_when>
    <thetext>*** Bug 131698 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007367</commentid>
    <comment_count>15</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2014-05-07 10:51:58 -0700</bug_when>
    <thetext>*** Bug 131702 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007371</commentid>
    <comment_count>16</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2014-05-07 10:52:55 -0700</bug_when>
    <thetext>*** Bug 131701 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1007400</commentid>
    <comment_count>17</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-05-07 12:32:23 -0700</bug_when>
    <thetext>&gt; I could be wrong though. I didn&apos;t test in Firefox to see what they do.

Just tested in Firefox, and they do -1 and 50. We do 0 and 0. Filed:
&lt;https://webkit.org/b/132658&gt; Array.prototype.find and findIndex should skip holes</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228259</attachid>
            <date>2014-04-01 02:30:39 -0700</date>
            <delta_ts>2014-04-24 03:29:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130966-20140401113018.patch</filename>
            <type>text/plain</type>
            <size>16125</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2NTY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBk
YTdiNmM0NjZhNjNiZTA4MGRmNjZiNzE1MGY3MmJhZDBlODExZTk1Li43ZjNkNWRiNWYwYjY3OWZm
NjRlZWNkYWQ2NGY1MzU0N2VkN2M4ZTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNC0wNC0wMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9y
Zz4KKworICAgICAgICBJbXBsZW1lbnQgQXJyYXkucHJvdG90eXBlLmZpbmQoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwOTY2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IEFycmF5LnBy
b3RvdHlwZS5maW5kKCkgYW5kIEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgoKSBhcyBwcm9wb3Nl
ZCBpbiB0aGUgSGFybW9ueSBzcGVjLgorCisgICAgICAgICogYnVpbHRpbnMvQXJyYXkucHJvdG90
eXBlLmpzOgorICAgICAgICAoZmluZCk6CisgICAgICAgIChmaW5kSW5kZXgpOgorICAgICAgICAq
IHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorCiAyMDE0LTAzLTMxICBNaWNoYWVsIFNhYm9m
ZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjE2NjQxNSk6IEpT
T2JqZWN0e0dldCxTZXR9UHJpdmF0ZSgpIGRvbid0IHdvcmsgd2l0aCBwcm94aWVzIG9iamVjdHMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90b3R5
cGUuanMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpz
CmluZGV4IGRlZDU2ZjVmYmUyYTFkNDA0MjY5ZjlmYzk0YTc4MTZhZjRmNDcwZDMuLjI5OWI1ZTFk
NWJhOGUwMjVjOWFhNjRhODg4MDk5OGM3MzQ1OWYyYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J1aWx0aW5zL0FycmF5LnByb3RvdHlwZS5qcwpAQCAtMTQ3LDMgKzE0Nyw0NyBA
QCBmdW5jdGlvbiBzb21lKGNhbGxiYWNrIC8qLCB0aGlzQXJnICovKSB7CiAgICAgfQogICAgIHJl
dHVybiBmYWxzZTsKIH0KKworZnVuY3Rpb24gZmluZChjYWxsYmFjayAvKiwgdGhpc0FyZyAqLykg
eworICAgICJ1c2Ugc3RyaWN0IjsKKyAgICBpZiAodGhpcyA9PT0gbnVsbCkKKyAgICAgICAgdGhy
b3cgbmV3IEBUeXBlRXJyb3IoIkFycmF5LnByb3RvdHlwZS5maW5kIHJlcXVpcmVzIHRoYXQgfHRo
aXN8IG5vdCBiZSBudWxsIik7CisgICAgCisgICAgaWYgKHRoaXMgPT09IHVuZGVmaW5lZCkKKyAg
ICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIkFycmF5LnByb3RvdHlwZS5maW5kIHJlcXVpcmVz
IHRoYXQgfHRoaXN8IG5vdCBiZSB1bmRlZmluZWQiKTsKKyAgICAKKyAgICB2YXIgYXJyYXkgPSBA
T2JqZWN0KHRoaXMpOworICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGggPj4+IDA7CisgICAg
CisgICAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gImZ1bmN0aW9uIikKKyAgICAgICAgdGhyb3cg
bmV3IEBUeXBlRXJyb3IoIkFycmF5LnByb3RvdHlwZS5maW5kIGNhbGxiYWNrIG11c3QgYmUgYSBm
dW5jdGlvbiIpOworICAgIAorICAgIHZhciB0aGlzQXJnID0gYXJndW1lbnRzLmxlbmd0aCA+IDEg
PyBhcmd1bWVudHNbMV0gOiB1bmRlZmluZWQ7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5n
dGg7IGkrKykgeworICAgICAgICBpZiAoY2FsbGJhY2suQGNhbGwodGhpc0FyZywgYXJyYXlbaV0s
IGksIGFycmF5KSkKKyAgICAgICAgICAgIHJldHVybiBhcnJheVtpXTsKKyAgICB9CisgICAgcmV0
dXJuIHVuZGVmaW5lZDsKK30KKworZnVuY3Rpb24gZmluZEluZGV4KGNhbGxiYWNrIC8qLCB0aGlz
QXJnICovKSB7CisgICAgInVzZSBzdHJpY3QiOworICAgIGlmICh0aGlzID09PSBudWxsKQorICAg
ICAgICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleCByZXF1
aXJlcyB0aGF0IHx0aGlzfCBub3QgYmUgbnVsbCIpOworICAgIAorICAgIGlmICh0aGlzID09PSB1
bmRlZmluZWQpCisgICAgICAgIHRocm93IG5ldyBAVHlwZUVycm9yKCJBcnJheS5wcm90b3R5cGUu
ZmluZEluZGV4IHJlcXVpcmVzIHRoYXQgfHRoaXN8IG5vdCBiZSB1bmRlZmluZWQiKTsKKyAgICAK
KyAgICB2YXIgYXJyYXkgPSBAT2JqZWN0KHRoaXMpOworICAgIHZhciBsZW5ndGggPSBhcnJheS5s
ZW5ndGggPj4+IDA7CisgICAgCisgICAgaWYgKHR5cGVvZiBjYWxsYmFjayAhPT0gImZ1bmN0aW9u
IikKKyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIkFycmF5LnByb3RvdHlwZS5maW5kSW5k
ZXggY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uIik7CisgICAgCisgICAgdmFyIHRoaXNBcmcg
PSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sxXSA6IHVuZGVmaW5lZDsKKyAgICBm
b3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CisgICAgICAgIGlmIChjYWxsYmFjay5A
Y2FsbCh0aGlzQXJnLCBhcnJheVtpXSwgaSwgYXJyYXkpKQorICAgICAgICAgICAgcmV0dXJuIGk7
CisgICAgfQorICAgIHJldHVybiAtMTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAppbmRleCBkNjJjMDMyZmY0NTk1ZDRmNThkMmFlMmRl
NzIxNGZlYzJmNjZhNTcyLi4wYzVkY2M1OTQyMGU4OGFlM2FjNWYyZjIzNDAwZWMwOWEzMGUxMDMx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlw
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQcm90b3R5cGUu
Y3BwCkBAIC0xMTQsNiArMTE0LDggQEAgY29uc3QgQ2xhc3NJbmZvIEFycmF5UHJvdG90eXBlOjpz
X2luZm8gPSB7IkFycmF5IiwgJkpTQXJyYXk6OnNfaW5mbywgMCwgRXhlY1N0YXQKICAgbWFwICAg
ICAgICAgICAgYXJyYXlQcm90b0Z1bmNNYXAgICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAx
CiAgIGVudHJpZXMgICAgICAgIGFycmF5UHJvdG9GdW5jRW50cmllcyAgICAgICAgRG9udEVudW18
RnVuY3Rpb24gMAogICBrZXlzICAgICAgICAgICBhcnJheVByb3RvRnVuY0tleXMgICAgICAgICAg
IERvbnRFbnVtfEZ1bmN0aW9uIDAKKyAgZmluZCAgICAgICAgICAgYXJyYXlQcm90b0Z1bmNGaW5k
ICAgICAgICAgICBEb250RW51bXxGdW5jdGlvbiAxCisgIGZpbmRJbmRleCAgICAgIGFycmF5UHJv
dG9GdW5jRmluZEluZGV4ICAgICAgRG9udEVudW18RnVuY3Rpb24gMQogQGVuZAogKi8KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDhkMjBkZGMxNTQ1YzA0NTE4Y2VlMGUyMmQ1NjViNGQ1ZTFlY2RmYTIuLjUwOTE4NWY4ZDgw
NDk5MGFiNThiZWY3OTAyMTI4ZmI4MTI3NWExYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAx
NC0wNC0wMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBJ
bXBsZW1lbnQgQXJyYXkucHJvdG90eXBlLmZpbmQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwOTY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBqcy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICoganMvYXJyYXktcHJvdG8tZnVuYy1wcm9wZXJ0eS1nZXR0
ZXItZXhjZXB0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9kb20vYXJyYXktcHJvdG90eXBl
LXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGpzL2RvbS9zY3JpcHQtdGVzdHMv
YXJyYXktcHJvdG90eXBlLXByb3BlcnRpZXMuanM6CisgICAgICAgICoganMvcmVncmVzcy9hcnJh
eS1wcm90b3R5cGUtZmluZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jl
c3MvYXJyYXktcHJvdG90eXBlLWZpbmQuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvcmVncmVz
cy9hcnJheS1wcm90b3R5cGUtZmluZEluZGV4LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICoganMvcmVncmVzcy9hcnJheS1wcm90b3R5cGUtZmluZEluZGV4Lmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGpzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2FycmF5LXByb3RvdHlwZS1maW5kLmpzOiBB
ZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9hcnJheS1wcm90b3R5cGUt
ZmluZEluZGV4LmpzOiBBZGRlZC4KKyAgICAgICAgKiBqcy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdl
dE93blByb3BlcnR5TmFtZXMuanM6CisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL2FycmF5LXBy
b3RvLWZ1bmMtcHJvcGVydHktZ2V0dGVyLWV4Y2VwdC5qczoKKwogMjAxNC0wMy0zMSAgQWxleGV5
IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaGVzIGluIFBhZ2VD
b25zb2xlOjphZGRNZXNzYWdlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0
T3duUHJvcGVydHlOYW1lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0
T3duUHJvcGVydHlOYW1lcy1leHBlY3RlZC50eHQKaW5kZXggMjAwNDRjYzgwM2YwMGE5NjMwMWNm
Njc2M2Q1MmFhNDNkYTQwMWUxMi4uYmJkY2U0NGRiMWMyY2ViMGI3MWNkNDgyOWVhMWVhOGUxNTc2
OGJkZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5TmFt
ZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2pzL09iamVjdC1nZXRPd25Qcm9wZXJ0
eU5hbWVzLWV4cGVjdGVkLnR4dApAQCAtNDUsNyArNDUsNyBAQCBQQVNTIGdldFNvcnRlZE93blBy
b3BlcnR5TmFtZXMoT2JqZWN0LnByb3RvdHlwZSkgaXMgWydfX2RlZmluZUdldHRlcl9fJywgJ19f
ZGVmaQogUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEZ1bmN0aW9uKSBpcyBbJ2xlbmd0
aCcsICduYW1lJywgJ3Byb3RvdHlwZSddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMo
RnVuY3Rpb24ucHJvdG90eXBlKSBpcyBbJ2FwcGx5JywgJ2JpbmQnLCAnY2FsbCcsICdjb25zdHJ1
Y3RvcicsICdsZW5ndGgnLCAnbmFtZScsICd0b1N0cmluZyddCiBQQVNTIGdldFNvcnRlZE93blBy
b3BlcnR5TmFtZXMoQXJyYXkpIGlzIFsnaXNBcnJheScsICdsZW5ndGgnLCAnbmFtZScsICdwcm90
b3R5cGUnXQotUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEFycmF5LnByb3RvdHlwZSkg
aXMgWydjb25jYXQnLCAnY29uc3RydWN0b3InLCAnZW50cmllcycsICdldmVyeScsICdmaWx0ZXIn
LCAnZm9yRWFjaCcsICdpbmRleE9mJywgJ2pvaW4nLCAna2V5cycsICdsYXN0SW5kZXhPZicsICds
ZW5ndGgnLCAnbWFwJywgJ3BvcCcsICdwdXNoJywgJ3JlZHVjZScsICdyZWR1Y2VSaWdodCcsICdy
ZXZlcnNlJywgJ3NoaWZ0JywgJ3NsaWNlJywgJ3NvbWUnLCAnc29ydCcsICdzcGxpY2UnLCAndG9M
b2NhbGVTdHJpbmcnLCAndG9TdHJpbmcnLCAndW5zaGlmdCddCitQQVNTIGdldFNvcnRlZE93blBy
b3BlcnR5TmFtZXMoQXJyYXkucHJvdG90eXBlKSBpcyBbJ2NvbmNhdCcsICdjb25zdHJ1Y3Rvcics
ICdlbnRyaWVzJywgJ2V2ZXJ5JywgJ2ZpbHRlcicsICdmaW5kJywgJ2ZpbmRJbmRleCcsICdmb3JF
YWNoJywgJ2luZGV4T2YnLCAnam9pbicsICdrZXlzJywgJ2xhc3RJbmRleE9mJywgJ2xlbmd0aCcs
ICdtYXAnLCAncG9wJywgJ3B1c2gnLCAncmVkdWNlJywgJ3JlZHVjZVJpZ2h0JywgJ3JldmVyc2Un
LCAnc2hpZnQnLCAnc2xpY2UnLCAnc29tZScsICdzb3J0JywgJ3NwbGljZScsICd0b0xvY2FsZVN0
cmluZycsICd0b1N0cmluZycsICd1bnNoaWZ0J10KIFBBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlO
YW1lcyhTdHJpbmcpIGlzIFsnZnJvbUNoYXJDb2RlJywgJ2xlbmd0aCcsICduYW1lJywgJ3Byb3Rv
dHlwZSddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoU3RyaW5nLnByb3RvdHlwZSkg
aXMgWydhbmNob3InLCAnYmlnJywgJ2JsaW5rJywgJ2JvbGQnLCAnY2hhckF0JywgJ2NoYXJDb2Rl
QXQnLCAnY29uY2F0JywgJ2NvbnN0cnVjdG9yJywgJ2ZpeGVkJywgJ2ZvbnRjb2xvcicsICdmb250
c2l6ZScsICdpbmRleE9mJywgJ2l0YWxpY3MnLCAnbGFzdEluZGV4T2YnLCAnbGVuZ3RoJywgJ2xp
bmsnLCAnbG9jYWxlQ29tcGFyZScsICdtYXRjaCcsICdyZXBsYWNlJywgJ3NlYXJjaCcsICdzbGlj
ZScsICdzbWFsbCcsICdzcGxpdCcsICdzdHJpa2UnLCAnc3ViJywgJ3N1YnN0cicsICdzdWJzdHJp
bmcnLCAnc3VwJywgJ3RvTG9jYWxlTG93ZXJDYXNlJywgJ3RvTG9jYWxlVXBwZXJDYXNlJywgJ3Rv
TG93ZXJDYXNlJywgJ3RvU3RyaW5nJywgJ3RvVXBwZXJDYXNlJywgJ3RyaW0nLCAndHJpbUxlZnQn
LCAndHJpbVJpZ2h0JywgJ3ZhbHVlT2YnXQogUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVz
KEJvb2xlYW4pIGlzIFsnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJ10KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2pzL2FycmF5LXByb3RvLWZ1bmMtcHJvcGVydHktZ2V0dGVyLWV4Y2VwdC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9hcnJheS1wcm90by1mdW5jLXByb3BlcnR5LWdl
dHRlci1leGNlcHQtZXhwZWN0ZWQudHh0CmluZGV4IDFkZTAwNmQ5NzFkOTVjMGMzYWM4ZjdiOTg0
YzcyMzBhZjliMDdiY2IuLjkyOGQ4MzYyZTg5NGNmZDJiZWQ4OTYwOGNmZmVhZTQwNDRmN2IyMmYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pzL2FycmF5LXByb3RvLWZ1bmMtcHJvcGVydHktZ2V0
dGVyLWV4Y2VwdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvanMvYXJyYXktcHJvdG8t
ZnVuYy1wcm9wZXJ0eS1nZXR0ZXItZXhjZXB0LWV4cGVjdGVkLnR4dApAQCAtMjEsNiArMjEsOCBA
QCBQQVNTIHRlc3QoQXJyYXkucHJvdG90eXBlLnNwbGljZSkgaXMgdHJ1ZQogUEFTUyB0ZXN0KEFy
cmF5LnByb3RvdHlwZS51bnNoaWZ0KSBpcyB0cnVlCiBQQVNTIHRlc3QoQXJyYXkucHJvdG90eXBl
LmluZGV4T2YpIGlzIHRydWUKIFBBU1MgdGVzdChBcnJheS5wcm90b3R5cGUubGFzdEluZGV4T2Yp
IGlzIHRydWUKK1BBU1MgdGVzdChBcnJheS5wcm90b3R5cGUuZmluZCkgaXMgdHJ1ZQorUEFTUyB0
ZXN0KEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgpIGlzIHRydWUKIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
anMvZG9tL2FycmF5LXByb3RvdHlwZS1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2pzL2RvbS9hcnJheS1wcm90b3R5cGUtcHJvcGVydGllcy1leHBlY3RlZC50eHQKaW5kZXgg
MzdlNzYxZTkwNjBhOGU5YThmOWZmYzI4MzM2YzEzZWVlN2UyZWJiOS4uOTA3ODQ2N2Y1OWUwNmYx
M2ZmMDNmNTQ1ZjRmNDJkZjFjNTkyMzUyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvZG9t
L2FycmF5LXByb3RvdHlwZS1wcm9wZXJ0aWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9qcy9kb20vYXJyYXktcHJvdG90eXBlLXByb3BlcnRpZXMtZXhwZWN0ZWQudHh0CkBAIC0yNCw2
ICsyNCw4IEBAIFBBU1MgQXJyYXkucHJvdG90eXBlLmZpbHRlci5jYWxsKHVuZGVmaW5lZCwgdG9T
dHJpbmcpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6CiBQQVNTIEFycmF5LnByb3RvdHlwZS5y
ZWR1Y2UuY2FsbCh1bmRlZmluZWQsIHRvU3RyaW5nKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnQXJyYXkucHJvdG90eXBl
LnJlZHVjZS5jYWxsKHVuZGVmaW5lZCwgdG9TdHJpbmcpJykuCiBQQVNTIEFycmF5LnByb3RvdHlw
ZS5yZWR1Y2VSaWdodC5jYWxsKHVuZGVmaW5lZCwgdG9TdHJpbmcpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdBcnJheS5w
cm90b3R5cGUucmVkdWNlUmlnaHQuY2FsbCh1bmRlZmluZWQsIHRvU3RyaW5nKScpLgogUEFTUyBB
cnJheS5wcm90b3R5cGUubWFwLmNhbGwodW5kZWZpbmVkLCB0b1N0cmluZykgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogQXJyYXkucHJvdG90eXBlLm1hcCByZXF1aXJlcyB0aGF0IHx0aGlzfCBu
b3QgYmUgdW5kZWZpbmVkLgorUEFTUyBBcnJheS5wcm90b3R5cGUuZmluZC5jYWxsKHVuZGVmaW5l
ZCwgdG9TdHJpbmcpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFycmF5LnByb3RvdHlwZS5m
aW5kIHJlcXVpcmVzIHRoYXQgfHRoaXN8IG5vdCBiZSB1bmRlZmluZWQuCitQQVNTIEFycmF5LnBy
b3RvdHlwZS5maW5kSW5kZXguY2FsbCh1bmRlZmluZWQsIHRvU3RyaW5nKSB0aHJldyBleGNlcHRp
b24gVHlwZUVycm9yOiBBcnJheS5wcm90b3R5cGUuZmluZEluZGV4IHJlcXVpcmVzIHRoYXQgfHRo
aXN8IG5vdCBiZSB1bmRlZmluZWQuCiBQQVNTIFt7dG9Mb2NhbGVTdHJpbmc6ZnVuY3Rpb24oKXt0
aHJvdyAxfX0se3RvTG9jYWxlU3RyaW5nOmZ1bmN0aW9uKCl7dGhyb3cgMn19XS50b0xvY2FsZVN0
cmluZygpIHRocmV3IGV4Y2VwdGlvbiAxLgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vc2NyaXB0LXRlc3RzL2FycmF5LXBy
b3RvdHlwZS1wcm9wZXJ0aWVzLmpzIGIvTGF5b3V0VGVzdHMvanMvZG9tL3NjcmlwdC10ZXN0cy9h
cnJheS1wcm90b3R5cGUtcHJvcGVydGllcy5qcwppbmRleCA2Mjc0NmY0ZTYxNTBjNjU0NDc2Y2Vm
MDgxY2EzZjM1YmVkNDUzNjZmLi44MmRmMmI2OGE4MWNkZmVjYTRkYjBiOTg1Y2UzMzQ0ZmVjODFh
NmYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9kb20vc2NyaXB0LXRlc3RzL2FycmF5LXBy
b3RvdHlwZS1wcm9wZXJ0aWVzLmpzCisrKyBiL0xheW91dFRlc3RzL2pzL2RvbS9zY3JpcHQtdGVz
dHMvYXJyYXktcHJvdG90eXBlLXByb3BlcnRpZXMuanMKQEAgLTI0LDYgKzI0LDggQEAgc2hvdWxk
VGhyb3coIkFycmF5LnByb3RvdHlwZS5maWx0ZXIuY2FsbCh1bmRlZmluZWQsIHRvU3RyaW5nKSIp
Owogc2hvdWxkVGhyb3coIkFycmF5LnByb3RvdHlwZS5yZWR1Y2UuY2FsbCh1bmRlZmluZWQsIHRv
U3RyaW5nKSIpOwogc2hvdWxkVGhyb3coIkFycmF5LnByb3RvdHlwZS5yZWR1Y2VSaWdodC5jYWxs
KHVuZGVmaW5lZCwgdG9TdHJpbmcpIik7CiBzaG91bGRUaHJvdygiQXJyYXkucHJvdG90eXBlLm1h
cC5jYWxsKHVuZGVmaW5lZCwgdG9TdHJpbmcpIik7CitzaG91bGRUaHJvdygiQXJyYXkucHJvdG90
eXBlLmZpbmQuY2FsbCh1bmRlZmluZWQsIHRvU3RyaW5nKSIpOworc2hvdWxkVGhyb3coIkFycmF5
LnByb3RvdHlwZS5maW5kSW5kZXguY2FsbCh1bmRlZmluZWQsIHRvU3RyaW5nKSIpOwogCiAvLyBU
ZXN0IGV4Y2VwdGlvbiBvcmRlcmluZyBpbiBBcnJheS5wcm90b3R5cGUudG9Mb2NhbGVTdHJpbmcg
KCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA2NjMgKQogc2hvdWxk
VGhyb3coIlt7dG9Mb2NhbGVTdHJpbmc6ZnVuY3Rpb24oKXt0aHJvdyAxfX0se3RvTG9jYWxlU3Ry
aW5nOmZ1bmN0aW9uKCl7dGhyb3cgMn19XS50b0xvY2FsZVN0cmluZygpIiwgJzEnKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3MvYXJyYXktcHJvdG90eXBlLWZpbmQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9hcnJheS1wcm90b3R5cGUtZmluZC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE3NmNhYTJlYWFiY2IxMWUyYjYwY2ZiM2NlMDczNTY3NWFj
MmNkMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3MvYXJyYXktcHJv
dG90eXBlLWZpbmQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK0pTUmVncmVzcy9hcnJh
eS1wcm90b3R5cGUtZmluZAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2Yg
IlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBu
byBleGNlcHRpb24gdGhyb3duCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9hcnJheS1w
cm90b3R5cGUtZmluZC5odG1sIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9hcnJheS1wcm90b3R5
cGUtZmluZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdiYzZjYTU5YTA0YmIwYzU5MWFlNjE2MGI1NzdhZmFi
NWUxN2MwMmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL2FycmF5
LXByb3RvdHlwZS1maW5kLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvYXJyYXktcHJvdG90eXBlLWZpbmQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9hcnJheS1w
cm90b3R5cGUtZmluZEluZGV4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3Mv
YXJyYXktcHJvdG90eXBlLWZpbmRJbmRleC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjY2NTU0
M2Q5NDBkODJlZDZjMTE5ZTZjOTZhZGJlODE0ZjgzMWFlYQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2pzL3JlZ3Jlc3MvYXJyYXktcHJvdG90eXBlLWZpbmRJbmRleC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMCBAQAorSlNSZWdyZXNzL2FycmF5LXByb3RvdHlwZS1maW5kSW5kZXgK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgbm8gZXhjZXB0aW9uIHRocm93
bgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3MvYXJyYXktcHJvdG90eXBlLWZpbmRJbmRl
eC5odG1sIGIvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9hcnJheS1wcm90b3R5cGUtZmluZEluZGV4
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzcwMzJhYmQxZDIyNmIxMzg3MjgxZjA1M2MxMTI2NTc3ZWE0Yzc3
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3JlZ3Jlc3MvYXJyYXktcHJvdG90
eXBlLWZpbmRJbmRleC5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJ
QyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZWdyZXNzLXByZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0ic2NyaXB0LXRlc3RzL2FycmF5LXByb3RvdHlwZS1maW5kSW5kZXguanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3Jp
cHQtdGVzdHMvYXJyYXktcHJvdG90eXBlLWZpbmQuanMgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNz
L3NjcmlwdC10ZXN0cy9hcnJheS1wcm90b3R5cGUtZmluZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNmFhODNm
MjViYTAyNGQyNWVlN2Q2YWU3NjA3NWQxMjBkZWQ5MjBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvYXJyYXktcHJvdG90eXBlLWZpbmQuanMK
QEAgLTAsMCArMSw1IEBACit2YXIgYXJyYXkgPSBbInplcm8iLCAib25lIiwgInR3byIsICJ0aHJl
ZSIsICJmb3VyIiwgImZpdmUiXTsKKworaWYgKGFycmF5LmZpbmQoZnVuY3Rpb24oaXRlbSkgeyBy
ZXR1cm4gaXRlbSA9PT0gInRocmVlIiB9KSAhPT0gYXJyYXlbM10gfHwKKyAgICBhcnJheS5maW5k
KGZ1bmN0aW9uKGl0ZW0pIHsgcmV0dXJuIGl0ZW0gPT09ICJzaXgiIH0pICE9PSB1bmRlZmluZWQp
CisgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0IjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL2FycmF5LXByb3RvdHlwZS1maW5kSW5kZXguanMgYi9M
YXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy9hcnJheS1wcm90b3R5cGUtZmluZElu
ZGV4LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmMxY2U4NDAzNWNhOTk5NDYzZWMzNTQ4MjViNTA5M2QyZTBkMDQ1
OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10ZXN0
cy9hcnJheS1wcm90b3R5cGUtZmluZEluZGV4LmpzCkBAIC0wLDAgKzEsNSBAQAordmFyIGFycmF5
ID0gWyJ6ZXJvIiwgIm9uZSIsICJ0d28iLCAidGhyZWUiLCAiZm91ciIsICJmaXZlIl07CisKK2lm
IChhcnJheS5maW5kSW5kZXgoZnVuY3Rpb24oaXRlbSkgeyByZXR1cm4gaXRlbSA9PT0gInRocmVl
IiB9KSAhPT0gMyB8fAorICAgIGFycmF5LmZpbmRJbmRleChmdW5jdGlvbihpdGVtKSB7IHJldHVy
biBpdGVtID09PSAic2l4IiB9KSAhPT0gLTEpCisgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0
IjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9PYmplY3QtZ2V0T3du
UHJvcGVydHlOYW1lcy5qcyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9PYmplY3QtZ2V0
T3duUHJvcGVydHlOYW1lcy5qcwppbmRleCBkYzkwMjUwYWQ5YWIyODRmYjQxMmQ3MTU0Y2Y1NWRl
NDg2YjExNTA3Li5jYTVkMDJiMDdhOTcxYzBjNTA4Y2YzY2Q4MDhjYmQxNDZkMmUzZmJjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdldE93blByb3BlcnR5
TmFtZXMuanMKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL09iamVjdC1nZXRPd25Q
cm9wZXJ0eU5hbWVzLmpzCkBAIC01Myw3ICs1Myw3IEBAIHZhciBleHBlY3RlZFByb3BlcnR5TmFt
ZXNTZXQgPSB7CiAgICAgIkZ1bmN0aW9uIjogIlsnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBl
J10iLAogICAgICJGdW5jdGlvbi5wcm90b3R5cGUiOiAiWydhcHBseScsICdiaW5kJywgJ2NhbGwn
LCAnY29uc3RydWN0b3InLCAnbGVuZ3RoJywgJ25hbWUnLCAndG9TdHJpbmcnXSIsCiAgICAgIkFy
cmF5IjogIlsnaXNBcnJheScsICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnXSIsCi0gICAg
IkFycmF5LnByb3RvdHlwZSI6ICJbJ2NvbmNhdCcsICdjb25zdHJ1Y3RvcicsICdlbnRyaWVzJywg
J2V2ZXJ5JywgJ2ZpbHRlcicsICdmb3JFYWNoJywgJ2luZGV4T2YnLCAnam9pbicsICdrZXlzJywg
J2xhc3RJbmRleE9mJywgJ2xlbmd0aCcsICdtYXAnLCAncG9wJywgJ3B1c2gnLCAncmVkdWNlJywg
J3JlZHVjZVJpZ2h0JywgJ3JldmVyc2UnLCAnc2hpZnQnLCAnc2xpY2UnLCAnc29tZScsICdzb3J0
JywgJ3NwbGljZScsICd0b0xvY2FsZVN0cmluZycsICd0b1N0cmluZycsICd1bnNoaWZ0J10iLAor
ICAgICJBcnJheS5wcm90b3R5cGUiOiAiWydjb25jYXQnLCAnY29uc3RydWN0b3InLCAnZW50cmll
cycsICdldmVyeScsICdmaWx0ZXInLCAnZmluZCcsICdmaW5kSW5kZXgnLCAnZm9yRWFjaCcsICdp
bmRleE9mJywgJ2pvaW4nLCAna2V5cycsICdsYXN0SW5kZXhPZicsICdsZW5ndGgnLCAnbWFwJywg
J3BvcCcsICdwdXNoJywgJ3JlZHVjZScsICdyZWR1Y2VSaWdodCcsICdyZXZlcnNlJywgJ3NoaWZ0
JywgJ3NsaWNlJywgJ3NvbWUnLCAnc29ydCcsICdzcGxpY2UnLCAndG9Mb2NhbGVTdHJpbmcnLCAn
dG9TdHJpbmcnLCAndW5zaGlmdCddIiwKICAgICAiU3RyaW5nIjogIlsnZnJvbUNoYXJDb2RlJywg
J2xlbmd0aCcsICduYW1lJywgJ3Byb3RvdHlwZSddIiwKICAgICAiU3RyaW5nLnByb3RvdHlwZSI6
ICJbJ2FuY2hvcicsICdiaWcnLCAnYmxpbmsnLCAnYm9sZCcsICdjaGFyQXQnLCAnY2hhckNvZGVB
dCcsICdjb25jYXQnLCAnY29uc3RydWN0b3InLCAnZml4ZWQnLCAnZm9udGNvbG9yJywgJ2ZvbnRz
aXplJywgJ2luZGV4T2YnLCAnaXRhbGljcycsICdsYXN0SW5kZXhPZicsICdsZW5ndGgnLCAnbGlu
aycsICdsb2NhbGVDb21wYXJlJywgJ21hdGNoJywgJ3JlcGxhY2UnLCAnc2VhcmNoJywgJ3NsaWNl
JywgJ3NtYWxsJywgJ3NwbGl0JywgJ3N0cmlrZScsICdzdWInLCAnc3Vic3RyJywgJ3N1YnN0cmlu
ZycsICdzdXAnLCAndG9Mb2NhbGVMb3dlckNhc2UnLCAndG9Mb2NhbGVVcHBlckNhc2UnLCAndG9M
b3dlckNhc2UnLCAndG9TdHJpbmcnLCAndG9VcHBlckNhc2UnLCAndHJpbScsICd0cmltTGVmdCcs
ICd0cmltUmlnaHQnLCAndmFsdWVPZiddIiwKICAgICAiQm9vbGVhbiI6ICJbJ2xlbmd0aCcsICdu
YW1lJywgJ3Byb3RvdHlwZSddIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10
ZXN0cy9hcnJheS1wcm90by1mdW5jLXByb3BlcnR5LWdldHRlci1leGNlcHQuanMgYi9MYXlvdXRU
ZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyYXktcHJvdG8tZnVuYy1wcm9wZXJ0eS1nZXR0ZXItZXhj
ZXB0LmpzCmluZGV4IGEyZWY4ZTk3ZGYxNzViMzM4ZTg4NjI1ODAwMDExMGE2ZGUxYjAxODkuLjg3
MTczY2Y2NjVkNmExZjY0ZDg0NzcyNDhjMTc2MDIxY2EzYzZlMzMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJheS1wcm90by1mdW5jLXByb3BlcnR5LWdldHRlci1l
eGNlcHQuanMKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2FycmF5LXByb3RvLWZ1
bmMtcHJvcGVydHktZ2V0dGVyLWV4Y2VwdC5qcwpAQCAtNDMsMyArNDMsNSBAQCBzaG91bGRCZVRy
dWUoInRlc3QoQXJyYXkucHJvdG90eXBlLnNwbGljZSkiKTsKIHNob3VsZEJlVHJ1ZSgidGVzdChB
cnJheS5wcm90b3R5cGUudW5zaGlmdCkiKTsKIHNob3VsZEJlVHJ1ZSgidGVzdChBcnJheS5wcm90
b3R5cGUuaW5kZXhPZikiKTsKIHNob3VsZEJlVHJ1ZSgidGVzdChBcnJheS5wcm90b3R5cGUubGFz
dEluZGV4T2YpIik7CitzaG91bGRCZVRydWUoInRlc3QoQXJyYXkucHJvdG90eXBlLmZpbmQpIik7
CitzaG91bGRCZVRydWUoInRlc3QoQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleCkiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230067</attachid>
            <date>2014-04-24 03:29:05 -0700</date>
            <delta_ts>2014-04-24 03:41:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130966-20140424122842.patch</filename>
            <type>text/plain</type>
            <size>15995</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3NzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
YzExYjdkZWQyOThkMDE2NjE0YWE3ZmE0MDVlNjczZDVhYmVkZjYzLi5lNmZhYWRjMTI0MTk4NjJm
ZWM4ZTUzNDkzODE2YTg4ZTVlMzI1YmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNC0wNC0yNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9y
Zz4KKworICAgICAgICBJbXBsZW1lbnQgQXJyYXkucHJvdG90eXBlLmZpbmQoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwOTY2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IEFycmF5LnBy
b3RvdHlwZS5maW5kKCkgYW5kIEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgoKSBhcyBwcm9wb3Nl
ZCBpbiB0aGUgSGFybW9ueSBzcGVjLgorCisgICAgICAgICogYnVpbHRpbnMvQXJyYXkucHJvdG90
eXBlLmpzOgorICAgICAgICAoZmluZCk6CisgICAgICAgIChmaW5kSW5kZXgpOgorICAgICAgICAq
IHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorCiAyMDE0LTA0LTIzICBNYXJrIExhbSAgPG1h
cmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBUaGUgR0Mgc2hvdWxkIG9ubHkgcmVzdW1lIGNv
bXBpbGVyIHRocmVhZHMgdGhhdCBpdCBzdXNwZW5kZWQgaW4gdGhlIHNhbWUgR0MgcGFzcy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90b3R5cGUu
anMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzCmlu
ZGV4IDc5ZjM3Yzc4YTJhMGUzNDM0MGFhMWViMjZkMmU3Yjc0ZDU1ODc5MzkuLmVjMTA1ZTY5MjI0
ZjhlYWZjMjM4NWMzMjg3YTcyZGJiNGI2NTMwMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J1aWx0aW5zL0FycmF5LnByb3RvdHlwZS5qcwpAQCAtMTg5LDMgKzE4OSw0NiBAQCBm
dW5jdGlvbiBmaWxsKHZhbHVlIC8qIFssIHN0YXJ0IFssIGVuZF1dICovKQogICAgIHJldHVybiBP
OwogfQogCitmdW5jdGlvbiBmaW5kKGNhbGxiYWNrIC8qLCB0aGlzQXJnICovKSB7CisgICAgInVz
ZSBzdHJpY3QiOworICAgIGlmICh0aGlzID09PSBudWxsKQorICAgICAgICB0aHJvdyBuZXcgQFR5
cGVFcnJvcigiQXJyYXkucHJvdG90eXBlLmZpbmQgcmVxdWlyZXMgdGhhdCB8dGhpc3wgbm90IGJl
IG51bGwiKTsKKyAgICAKKyAgICBpZiAodGhpcyA9PT0gdW5kZWZpbmVkKQorICAgICAgICB0aHJv
dyBuZXcgQFR5cGVFcnJvcigiQXJyYXkucHJvdG90eXBlLmZpbmQgcmVxdWlyZXMgdGhhdCB8dGhp
c3wgbm90IGJlIHVuZGVmaW5lZCIpOworICAgIAorICAgIHZhciBhcnJheSA9IEBPYmplY3QodGhp
cyk7CisgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCA+Pj4gMDsKKyAgICAKKyAgICBpZiAo
dHlwZW9mIGNhbGxiYWNrICE9PSAiZnVuY3Rpb24iKQorICAgICAgICB0aHJvdyBuZXcgQFR5cGVF
cnJvcigiQXJyYXkucHJvdG90eXBlLmZpbmQgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uIik7
CisgICAgCisgICAgdmFyIHRoaXNBcmcgPSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50
c1sxXSA6IHVuZGVmaW5lZDsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7
CisgICAgICAgIGlmIChjYWxsYmFjay5AY2FsbCh0aGlzQXJnLCBhcnJheVtpXSwgaSwgYXJyYXkp
KQorICAgICAgICAgICAgcmV0dXJuIGFycmF5W2ldOworICAgIH0KKyAgICByZXR1cm4gdW5kZWZp
bmVkOworfQorCitmdW5jdGlvbiBmaW5kSW5kZXgoY2FsbGJhY2sgLyosIHRoaXNBcmcgKi8pIHsK
KyAgICAidXNlIHN0cmljdCI7CisgICAgaWYgKHRoaXMgPT09IG51bGwpCisgICAgICAgIHRocm93
IG5ldyBAVHlwZUVycm9yKCJBcnJheS5wcm90b3R5cGUuZmluZEluZGV4IHJlcXVpcmVzIHRoYXQg
fHRoaXN8IG5vdCBiZSBudWxsIik7CisgICAgCisgICAgaWYgKHRoaXMgPT09IHVuZGVmaW5lZCkK
KyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIkFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgg
cmVxdWlyZXMgdGhhdCB8dGhpc3wgbm90IGJlIHVuZGVmaW5lZCIpOworICAgIAorICAgIHZhciBh
cnJheSA9IEBPYmplY3QodGhpcyk7CisgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCA+Pj4g
MDsKKyAgICAKKyAgICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAiZnVuY3Rpb24iKQorICAgICAg
ICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleCBjYWxsYmFj
ayBtdXN0IGJlIGEgZnVuY3Rpb24iKTsKKyAgICAKKyAgICB2YXIgdGhpc0FyZyA9IGFyZ3VtZW50
cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKKyAgICAgICAgaWYgKGNhbGxiYWNrLkBjYWxsKHRoaXNB
cmcsIGFycmF5W2ldLCBpLCBhcnJheSkpCisgICAgICAgICAgICByZXR1cm4gaTsKKyAgICB9Cisg
ICAgcmV0dXJuIC0xOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwCmluZGV4IDY4YjY0NTg0ZjA1ZWU0MzI4MzllYTJjYTZhMmRiMGVmZmRh
MmQwMjkuLmYzN2YwMGU1NWQ0YjRkY2UyNmE5OGMyYTEzOWI1NDkwNGYyNDNiY2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKQEAgLTEx
NSw2ICsxMTUsOCBAQCBjb25zdCBDbGFzc0luZm8gQXJyYXlQcm90b3R5cGU6OnNfaW5mbyA9IHsi
QXJyYXkiLCAmSlNBcnJheTo6c19pbmZvLCAwLCBFeGVjU3RhdAogICBtYXAgICAgICAgICAgICBh
cnJheVByb3RvRnVuY01hcCAgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uIDEKICAgZW50cmll
cyAgICAgICAgYXJyYXlQcm90b0Z1bmNFbnRyaWVzICAgICAgICBEb250RW51bXxGdW5jdGlvbiAw
CiAgIGtleXMgICAgICAgICAgIGFycmF5UHJvdG9GdW5jS2V5cyAgICAgICAgICAgRG9udEVudW18
RnVuY3Rpb24gMAorICBmaW5kICAgICAgICAgICBhcnJheVByb3RvRnVuY0ZpbmQgICAgICAgICAg
IERvbnRFbnVtfEZ1bmN0aW9uIDEKKyAgZmluZEluZGV4ICAgICAgYXJyYXlQcm90b0Z1bmNGaW5k
SW5kZXggICAgICBEb250RW51bXxGdW5jdGlvbiAxCiBAZW5kCiAqLwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGMzZTgw
OGYyYzgzNTBlMzA0ZTJhZTE5OTNkYTZjODcxYjA5MTdmZS4uMWIzNTYzZTNkZmRhZDhhM2I0NmEx
YzRhOGJhZTA3MjE3NjNkM2E4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTA0LTI0ICBB
bnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBB
cnJheS5wcm90b3R5cGUuZmluZCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMzA5NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGpzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBqcy9hcnJheS1maW5kLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICoganMvYXJyYXktZmluZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9hcnJheS1maW5kSW5k
ZXgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9hcnJheS1maW5kSW5kZXguaHRt
bDogQWRkZWQuCisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0
eU5hbWVzLmpzOgorICAgICAgICAqIGpzL3NjcmlwdC10ZXN0cy9hcnJheS1maW5kLmpzOiBBZGRl
ZC4KKyAgICAgICAgKiBqcy9zY3JpcHQtdGVzdHMvYXJyYXktZmluZEluZGV4LmpzOiBBZGRlZC4K
KwogMjAxNC0wNC0yMyAgUHJhdmVlbiBSIEphZGhhdiAgPHByYXZlZW4uakBzYW1zdW5nLmNvbT4K
IAogICAgICAgICBbTWVkaWFTdHJlYW1dIEltcGxlbWVudCBNZWRpYVN0cmVhbSBhY3RpdmUgYXR0
cmlidXRlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVydHlO
YW1lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVydHlO
YW1lcy1leHBlY3RlZC50eHQKaW5kZXggZWRmNzdmMWU2ZTRiNmNkMWZhZWI5ZGY4MmVhNDZkY2Zi
Njk5NWQ3Ni4uMDc2NDgxMDk4MjI3NWZkN2M0ZmQwMzEzYTA1YWNlYWRlZmE4NmVmNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2pzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVj
dGVkLnR4dApAQCAtNDUsNyArNDUsNyBAQCBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMo
T2JqZWN0LnByb3RvdHlwZSkgaXMgWydfX2RlZmluZUdldHRlcl9fJywgJ19fZGVmaQogUEFTUyBn
ZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEZ1bmN0aW9uKSBpcyBbJ2xlbmd0aCcsICduYW1lJywg
J3Byb3RvdHlwZSddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoRnVuY3Rpb24ucHJv
dG90eXBlKSBpcyBbJ2FwcGx5JywgJ2JpbmQnLCAnY2FsbCcsICdjb25zdHJ1Y3RvcicsICdsZW5n
dGgnLCAnbmFtZScsICd0b1N0cmluZyddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMo
QXJyYXkpIGlzIFsnaXNBcnJheScsICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnXQotUEFT
UyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEFycmF5LnByb3RvdHlwZSkgaXMgWydjb25jYXQn
LCAnY29uc3RydWN0b3InLCAnZW50cmllcycsICdldmVyeScsICdmaWxsJywgJ2ZpbHRlcicsICdm
b3JFYWNoJywgJ2luZGV4T2YnLCAnam9pbicsICdrZXlzJywgJ2xhc3RJbmRleE9mJywgJ2xlbmd0
aCcsICdtYXAnLCAncG9wJywgJ3B1c2gnLCAncmVkdWNlJywgJ3JlZHVjZVJpZ2h0JywgJ3JldmVy
c2UnLCAnc2hpZnQnLCAnc2xpY2UnLCAnc29tZScsICdzb3J0JywgJ3NwbGljZScsICd0b0xvY2Fs
ZVN0cmluZycsICd0b1N0cmluZycsICd1bnNoaWZ0J10KK1BBU1MgZ2V0U29ydGVkT3duUHJvcGVy
dHlOYW1lcyhBcnJheS5wcm90b3R5cGUpIGlzIFsnY29uY2F0JywgJ2NvbnN0cnVjdG9yJywgJ2Vu
dHJpZXMnLCAnZXZlcnknLCAnZmlsbCcsICdmaWx0ZXInLCAnZmluZCcsICdmaW5kSW5kZXgnLCAn
Zm9yRWFjaCcsICdpbmRleE9mJywgJ2pvaW4nLCAna2V5cycsICdsYXN0SW5kZXhPZicsICdsZW5n
dGgnLCAnbWFwJywgJ3BvcCcsICdwdXNoJywgJ3JlZHVjZScsICdyZWR1Y2VSaWdodCcsICdyZXZl
cnNlJywgJ3NoaWZ0JywgJ3NsaWNlJywgJ3NvbWUnLCAnc29ydCcsICdzcGxpY2UnLCAndG9Mb2Nh
bGVTdHJpbmcnLCAndG9TdHJpbmcnLCAndW5zaGlmdCddCiBQQVNTIGdldFNvcnRlZE93blByb3Bl
cnR5TmFtZXMoU3RyaW5nKSBpcyBbJ2Zyb21DaGFyQ29kZScsICdsZW5ndGgnLCAnbmFtZScsICdw
cm90b3R5cGUnXQogUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKFN0cmluZy5wcm90b3R5
cGUpIGlzIFsnYW5jaG9yJywgJ2JpZycsICdibGluaycsICdib2xkJywgJ2NoYXJBdCcsICdjaGFy
Q29kZUF0JywgJ2NvbmNhdCcsICdjb25zdHJ1Y3RvcicsICdmaXhlZCcsICdmb250Y29sb3InLCAn
Zm9udHNpemUnLCAnaW5kZXhPZicsICdpdGFsaWNzJywgJ2xhc3RJbmRleE9mJywgJ2xlbmd0aCcs
ICdsaW5rJywgJ2xvY2FsZUNvbXBhcmUnLCAnbWF0Y2gnLCAncmVwbGFjZScsICdzZWFyY2gnLCAn
c2xpY2UnLCAnc21hbGwnLCAnc3BsaXQnLCAnc3RyaWtlJywgJ3N1YicsICdzdWJzdHInLCAnc3Vi
c3RyaW5nJywgJ3N1cCcsICd0b0xvY2FsZUxvd2VyQ2FzZScsICd0b0xvY2FsZVVwcGVyQ2FzZScs
ICd0b0xvd2VyQ2FzZScsICd0b1N0cmluZycsICd0b1VwcGVyQ2FzZScsICd0cmltJywgJ3RyaW1M
ZWZ0JywgJ3RyaW1SaWdodCcsICd2YWx1ZU9mJ10KIFBBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlO
YW1lcyhCb29sZWFuKSBpcyBbJ2xlbmd0aCcsICduYW1lJywgJ3Byb3RvdHlwZSddCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9hcnJheS1maW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2pzL2FycmF5LWZpbmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3ODRiY2U1ZDc4YTI0ODU1
MDg5NTBhOWRmMTI1ZjIxYjQ4ZmQ2MzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9q
cy9hcnJheS1maW5kLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIxIEBACitUZXN0cyBmb3IgQXJy
YXkucHJvdG90eXBlLmZpbmQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
W3VuZGVmaW5lZF0uZmluZChwYXNzVW5kZWZpbmVkKSBpcyB1bmRlZmluZWQKK1BBU1MgKG5ldyBB
cnJheSgyMCkpLmZpbmQocGFzc1VuZGVmaW5lZCkgaXMgdW5kZWZpbmVkCitQQVNTIFswLDEsMiwz
LDQsNSw2LDcsOCw5XS5maW5kKHBhc3NFdmVuKSBpcyAwCitQQVNTIFswLDEsMiwzLDQsNSw2LDcs
OCw5XS5maW5kKHBhc3NBZnRlcjUpIGlzIDUKK1BBU1MgbWl4UGFydGlhbEFuZEZhc3QuZmluZChw
YXNzQWZ0ZXI1KSBpcyA1CitQQVNTIHRvT2JqZWN0KFt1bmRlZmluZWRdKS5maW5kKHBhc3NVbmRl
ZmluZWQpIGlzIHVuZGVmaW5lZAorUEFTUyB0b09iamVjdChuZXcgQXJyYXkoMjApKS5maW5kKHBh
c3NVbmRlZmluZWQpIGlzIHVuZGVmaW5lZAorUEFTUyB0b09iamVjdChbMCwxLDIsMyw0LDUsNiw3
LDgsOV0pLmZpbmQocGFzc0V2ZW4pIGlzIDAKK1BBU1MgdG9PYmplY3QoWzAsMSwyLDMsNCw1LDYs
Nyw4LDldKS5maW5kKHBhc3NBZnRlcjUpIGlzIDUKK1BBU1MgdG9PYmplY3QobWl4UGFydGlhbEFu
ZEZhc3QpLmZpbmQocGFzc0FmdGVyNSkgaXMgNQorUEFTUyBbMCwxLDIsMyw0LDUsNiw3LDgsOV0u
ZmluZChmaW5kSXRlbUFkZGVkRHVyaW5nU2VhcmNoKSBpcyB1bmRlZmluZWQKK1BBU1MgWzAsMSwy
LDMsNCw1LDYsNyw4LDldLmZpbmQoZmluZEl0ZW1SZW1vdmVkRHVyaW5nU2VhcmNoKSBpcyB1bmRl
ZmluZWQKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9hcnJheS1maW5kLmh0bWwgYi9MYXlvdXRUZXN0
cy9qcy9hcnJheS1maW5kLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGM5Mzk1OTQ1NjlmNmZmYjRmYmE4MTAw
YTMwMzUwZWUzMTQxNWNjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2FycmF5
LWZpbmQuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvYXJyYXktZmluZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9hcnJheS1maW5kSW5kZXgtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvanMvYXJyYXktZmluZEluZGV4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43ZGM0NmU3N2RjMWRmOGJlYWQ2MjUzNTc5MjYyYTQ1NDM5ZGFjNmZiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvanMvYXJyYXktZmluZEluZGV4LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDIxIEBACitUZXN0cyBmb3IgQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleAorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBbdW5kZWZpbmVkXS5maW5kSW5kZXgocGFzc1Vu
ZGVmaW5lZCkgaXMgMAorUEFTUyAobmV3IEFycmF5KDIwKSkuZmluZEluZGV4KHBhc3NVbmRlZmlu
ZWQpIGlzIDAKK1BBU1MgWzAsMSwyLDMsNCw1LDYsNyw4LDldLmZpbmRJbmRleChwYXNzRXZlbikg
aXMgMAorUEFTUyBbMCwxLDIsMyw0LDUsNiw3LDgsOV0uZmluZEluZGV4KHBhc3NBZnRlcjUpIGlz
IDUKK1BBU1MgbWl4UGFydGlhbEFuZEZhc3QuZmluZEluZGV4KHBhc3NBZnRlcjUpIGlzIDUKK1BB
U1MgdG9PYmplY3QoW3VuZGVmaW5lZF0pLmZpbmRJbmRleChwYXNzVW5kZWZpbmVkKSBpcyAwCitQ
QVNTIHRvT2JqZWN0KG5ldyBBcnJheSgyMCkpLmZpbmRJbmRleChwYXNzVW5kZWZpbmVkKSBpcyAw
CitQQVNTIHRvT2JqZWN0KFswLDEsMiwzLDQsNSw2LDcsOCw5XSkuZmluZEluZGV4KHBhc3NFdmVu
KSBpcyAwCitQQVNTIHRvT2JqZWN0KFswLDEsMiwzLDQsNSw2LDcsOCw5XSkuZmluZEluZGV4KHBh
c3NBZnRlcjUpIGlzIDUKK1BBU1MgdG9PYmplY3QobWl4UGFydGlhbEFuZEZhc3QpLmZpbmRJbmRl
eChwYXNzQWZ0ZXI1KSBpcyA1CitQQVNTIFswLDEsMiwzLDQsNSw2LDcsOCw5XS5maW5kSW5kZXgo
ZmluZEl0ZW1BZGRlZER1cmluZ1NlYXJjaCkgaXMgLTEKK1BBU1MgWzAsMSwyLDMsNCw1LDYsNyw4
LDldLmZpbmRJbmRleChmaW5kSXRlbVJlbW92ZWREdXJpbmdTZWFyY2gpIGlzIC0xCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvanMvYXJyYXktZmluZEluZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9qcy9hcnJh
eS1maW5kSW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NGJlMTI5Y2RjMThkNTQyZmNiOTUyNzZjYzRk
NTk1MzgwNmU5ODFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvYXJyYXktZmlu
ZEluZGV4Lmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0ic2NyaXB0LXRlc3RzL2FycmF5LWZpbmRJbmRleC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvT2JqZWN0LWdl
dE93blByb3BlcnR5TmFtZXMuanMgYi9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvT2JqZWN0
LWdldE93blByb3BlcnR5TmFtZXMuanMKaW5kZXggZmFhYzdhODBmMWRmODI2YmQyZTcyYTVkZDBi
YWI2ZjE0MzdmMzE0ZC4uMDZkNWY4ZDZmNjQwMDA0ZTBiNDBhMzA1MjcwZmNlODk0Y2E1OWZkMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL09iamVjdC1nZXRPd25Qcm9w
ZXJ0eU5hbWVzLmpzCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9PYmplY3QtZ2V0
T3duUHJvcGVydHlOYW1lcy5qcwpAQCAtNTMsNyArNTMsNyBAQCB2YXIgZXhwZWN0ZWRQcm9wZXJ0
eU5hbWVzU2V0ID0gewogICAgICJGdW5jdGlvbiI6ICJbJ2xlbmd0aCcsICduYW1lJywgJ3Byb3Rv
dHlwZSddIiwKICAgICAiRnVuY3Rpb24ucHJvdG90eXBlIjogIlsnYXBwbHknLCAnYmluZCcsICdj
YWxsJywgJ2NvbnN0cnVjdG9yJywgJ2xlbmd0aCcsICduYW1lJywgJ3RvU3RyaW5nJ10iLAogICAg
ICJBcnJheSI6ICJbJ2lzQXJyYXknLCAnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJ10iLAot
ICAgICJBcnJheS5wcm90b3R5cGUiOiAiWydjb25jYXQnLCAnY29uc3RydWN0b3InLCAnZW50cmll
cycsICdldmVyeScsICdmaWxsJywgJ2ZpbHRlcicsICdmb3JFYWNoJywgJ2luZGV4T2YnLCAnam9p
bicsICdrZXlzJywgJ2xhc3RJbmRleE9mJywgJ2xlbmd0aCcsICdtYXAnLCAncG9wJywgJ3B1c2gn
LCAncmVkdWNlJywgJ3JlZHVjZVJpZ2h0JywgJ3JldmVyc2UnLCAnc2hpZnQnLCAnc2xpY2UnLCAn
c29tZScsICdzb3J0JywgJ3NwbGljZScsICd0b0xvY2FsZVN0cmluZycsICd0b1N0cmluZycsICd1
bnNoaWZ0J10iLAorICAgICJBcnJheS5wcm90b3R5cGUiOiAiWydjb25jYXQnLCAnY29uc3RydWN0
b3InLCAnZW50cmllcycsICdldmVyeScsICdmaWxsJywgJ2ZpbHRlcicsICdmaW5kJywgJ2ZpbmRJ
bmRleCcsICdmb3JFYWNoJywgJ2luZGV4T2YnLCAnam9pbicsICdrZXlzJywgJ2xhc3RJbmRleE9m
JywgJ2xlbmd0aCcsICdtYXAnLCAncG9wJywgJ3B1c2gnLCAncmVkdWNlJywgJ3JlZHVjZVJpZ2h0
JywgJ3JldmVyc2UnLCAnc2hpZnQnLCAnc2xpY2UnLCAnc29tZScsICdzb3J0JywgJ3NwbGljZScs
ICd0b0xvY2FsZVN0cmluZycsICd0b1N0cmluZycsICd1bnNoaWZ0J10iLAogICAgICJTdHJpbmci
OiAiWydmcm9tQ2hhckNvZGUnLCAnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJ10iLAogICAg
ICJTdHJpbmcucHJvdG90eXBlIjogIlsnYW5jaG9yJywgJ2JpZycsICdibGluaycsICdib2xkJywg
J2NoYXJBdCcsICdjaGFyQ29kZUF0JywgJ2NvbmNhdCcsICdjb25zdHJ1Y3RvcicsICdmaXhlZCcs
ICdmb250Y29sb3InLCAnZm9udHNpemUnLCAnaW5kZXhPZicsICdpdGFsaWNzJywgJ2xhc3RJbmRl
eE9mJywgJ2xlbmd0aCcsICdsaW5rJywgJ2xvY2FsZUNvbXBhcmUnLCAnbWF0Y2gnLCAncmVwbGFj
ZScsICdzZWFyY2gnLCAnc2xpY2UnLCAnc21hbGwnLCAnc3BsaXQnLCAnc3RyaWtlJywgJ3N1Yics
ICdzdWJzdHInLCAnc3Vic3RyaW5nJywgJ3N1cCcsICd0b0xvY2FsZUxvd2VyQ2FzZScsICd0b0xv
Y2FsZVVwcGVyQ2FzZScsICd0b0xvd2VyQ2FzZScsICd0b1N0cmluZycsICd0b1VwcGVyQ2FzZScs
ICd0cmltJywgJ3RyaW1MZWZ0JywgJ3RyaW1SaWdodCcsICd2YWx1ZU9mJ10iLAogICAgICJCb29s
ZWFuIjogIlsnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJ10iLApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2FycmF5LWZpbmQuanMgYi9MYXlvdXRUZXN0cy9qcy9z
Y3JpcHQtdGVzdHMvYXJyYXktZmluZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YzEyZGNkYjFkYzQ2N2VhMTQ0
YjRhNGQ5MzRhZTBlOTYxZjY3ZjVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMv
c2NyaXB0LXRlc3RzL2FycmF5LWZpbmQuanMKQEAgLTAsMCArMSw1MyBAQAorZGVzY3JpcHRpb24o
IlRlc3RzIGZvciBBcnJheS5wcm90b3R5cGUuZmluZCIpOworCitmdW5jdGlvbiBwYXNzVW5kZWZp
bmVkKGVsZW1lbnQsIGluZGV4LCBhcnJheSkgeworICAgIHJldHVybiB0eXBlb2YgZWxlbWVudCA9
PT0gInVuZGVmaW5lZCI7Cit9CitmdW5jdGlvbiBwYXNzRXZlbihhKSB7CisgICAgcmV0dXJuICEo
YSAmIDEpOworfQorZnVuY3Rpb24gcGFzc0FmdGVyNShlbGVtZW50LCBpbmRleCkgeworICAgIHJl
dHVybiBpbmRleCA+PSA1OworfQordmFyIHNwYXJzZUFycmF5TGVuZ3RoID0gMTAxMDA7CittaXhQ
YXJ0aWFsQW5kRmFzdCA9IG5ldyBBcnJheShzcGFyc2VBcnJheUxlbmd0aCk7CittaXhQYXJ0aWFs
QW5kRmFzdFtzcGFyc2VBcnJheUxlbmd0aCAtIDFdID0gc3BhcnNlQXJyYXlMZW5ndGggLSAxOwor
Zm9yKHZhciBpID0gMDsgaSA8IDEwOyBpKyspCisgICAgbWl4UGFydGlhbEFuZEZhc3RbaV0gPSBp
OworZnVuY3Rpb24gdG9PYmplY3QoYXJyYXkpIHsKKyAgICB2YXIgcmVzdWx0ID0ge307CisgICAg
cmVzdWx0Lmxlbmd0aCA9IGFycmF5Lmxlbmd0aDsKKyAgICBmb3IgKHZhciBpIGluIGFycmF5KQor
ICAgICAgICByZXN1bHRbaV0gPSBhcnJheVtpXTsKKyAgICByZXN1bHQuZmluZD1BcnJheS5wcm90
b3R5cGUuZmluZDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitmdW5jdGlvbiBmaW5kSXRlbUFk
ZGVkRHVyaW5nU2VhcmNoKGVsZW1lbnQsIGluZGV4LCBhcnJheSkgeworICAgIGlmIChpbmRleCA9
PT0gMCkKKyAgICAgICAgYXJyYXkucHVzaChhcnJheS5sZW5ndGgpOworICAgIHJldHVybiAoaW5k
ZXggPT09IGFycmF5Lmxlbmd0aCAtIDEpOworfQorCitmdW5jdGlvbiBmaW5kSXRlbVJlbW92ZWRE
dXJpbmdTZWFyY2goZWxlbWVudCwgaW5kZXgsIGFycmF5KSB7CisgICAgaWYgKGluZGV4ID09PSAw
KQorICAgICAgICBhcnJheS5zaGlmdCgpOworICAgIHJldHVybiAoaW5kZXggPT09IDAgJiYgYXJy
YXlbMF0gPT09IGVsZW1lbnQpOworfQorCitzaG91bGRCZSgiW3VuZGVmaW5lZF0uZmluZChwYXNz
VW5kZWZpbmVkKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCIobmV3IEFycmF5KDIwKSkuZmlu
ZChwYXNzVW5kZWZpbmVkKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJbMCwxLDIsMyw0LDUs
Niw3LDgsOV0uZmluZChwYXNzRXZlbikiLCAiMCIpOworc2hvdWxkQmUoIlswLDEsMiwzLDQsNSw2
LDcsOCw5XS5maW5kKHBhc3NBZnRlcjUpIiwgIjUiKTsKK3Nob3VsZEJlKCJtaXhQYXJ0aWFsQW5k
RmFzdC5maW5kKHBhc3NBZnRlcjUpIiwgIjUiKTsKKworLy8gR2VuZXJpYyBPYmplY3QKK3Nob3Vs
ZEJlKCJ0b09iamVjdChbdW5kZWZpbmVkXSkuZmluZChwYXNzVW5kZWZpbmVkKSIsICJ1bmRlZmlu
ZWQiKTsKK3Nob3VsZEJlKCJ0b09iamVjdChuZXcgQXJyYXkoMjApKS5maW5kKHBhc3NVbmRlZmlu
ZWQpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInRvT2JqZWN0KFswLDEsMiwzLDQsNSw2LDcs
OCw5XSkuZmluZChwYXNzRXZlbikiLCAiMCIpOworc2hvdWxkQmUoInRvT2JqZWN0KFswLDEsMiwz
LDQsNSw2LDcsOCw5XSkuZmluZChwYXNzQWZ0ZXI1KSIsICI1Iik7CitzaG91bGRCZSgidG9PYmpl
Y3QobWl4UGFydGlhbEFuZEZhc3QpLmZpbmQocGFzc0FmdGVyNSkiLCAiNSIpOworCisvLyBNb2Rp
ZmljYXRpb24gZHVyaW5nIHNlYXJjaAorc2hvdWxkQmUoIlswLDEsMiwzLDQsNSw2LDcsOCw5XS5m
aW5kKGZpbmRJdGVtQWRkZWREdXJpbmdTZWFyY2gpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUo
IlswLDEsMiwzLDQsNSw2LDcsOCw5XS5maW5kKGZpbmRJdGVtUmVtb3ZlZER1cmluZ1NlYXJjaCki
LCAidW5kZWZpbmVkIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMv
YXJyYXktZmluZEluZGV4LmpzIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2FycmF5LWZp
bmRJbmRleC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYTVkNWZiMzIzMzQ4YjE2ZTRjNzUxNDRjODJlZjZlZTA3
OGMxYThiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2Fy
cmF5LWZpbmRJbmRleC5qcwpAQCAtMCwwICsxLDUzIEBACitkZXNjcmlwdGlvbigiVGVzdHMgZm9y
IEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgiKTsKKworZnVuY3Rpb24gcGFzc1VuZGVmaW5lZChl
bGVtZW50LCBpbmRleCwgYXJyYXkpIHsKKyAgICByZXR1cm4gdHlwZW9mIGVsZW1lbnQgPT09ICJ1
bmRlZmluZWQiOworfQorZnVuY3Rpb24gcGFzc0V2ZW4oYSkgeworICAgIHJldHVybiAhKGEgJiAx
KTsKK30KK2Z1bmN0aW9uIHBhc3NBZnRlcjUoZWxlbWVudCwgaW5kZXgpIHsKKyAgICByZXR1cm4g
aW5kZXggPj0gNTsKK30KK3ZhciBzcGFyc2VBcnJheUxlbmd0aCA9IDEwMTAwOworbWl4UGFydGlh
bEFuZEZhc3QgPSBuZXcgQXJyYXkoc3BhcnNlQXJyYXlMZW5ndGgpOworbWl4UGFydGlhbEFuZEZh
c3Rbc3BhcnNlQXJyYXlMZW5ndGggLSAxXSA9IHNwYXJzZUFycmF5TGVuZ3RoIC0gMTsKK2Zvcih2
YXIgaSA9IDA7IGkgPCAxMDsgaSsrKQorICAgIG1peFBhcnRpYWxBbmRGYXN0W2ldID0gaTsKK2Z1
bmN0aW9uIHRvT2JqZWN0KGFycmF5KSB7CisgICAgdmFyIHJlc3VsdCA9IHt9OworICAgIHJlc3Vs
dC5sZW5ndGggPSBhcnJheS5sZW5ndGg7CisgICAgZm9yICh2YXIgaSBpbiBhcnJheSkKKyAgICAg
ICAgcmVzdWx0W2ldID0gYXJyYXlbaV07CisgICAgcmVzdWx0LmZpbmRJbmRleD1BcnJheS5wcm90
b3R5cGUuZmluZEluZGV4OworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2Z1bmN0aW9uIGZpbmRJ
dGVtQWRkZWREdXJpbmdTZWFyY2goZWxlbWVudCwgaW5kZXgsIGFycmF5KSB7CisgICAgaWYgKGlu
ZGV4ID09PSAwKQorICAgICAgICBhcnJheS5wdXNoKGFycmF5Lmxlbmd0aCk7CisgICAgcmV0dXJu
IChpbmRleCA9PT0gYXJyYXkubGVuZ3RoIC0gMSk7Cit9CisKK2Z1bmN0aW9uIGZpbmRJdGVtUmVt
b3ZlZER1cmluZ1NlYXJjaChlbGVtZW50LCBpbmRleCwgYXJyYXkpIHsKKyAgICBpZiAoaW5kZXgg
PT09IDApCisgICAgICAgIGFycmF5LnNoaWZ0KCk7CisgICAgcmV0dXJuIChpbmRleCA9PT0gMCAm
JiBhcnJheVswXSA9PT0gZWxlbWVudCk7Cit9CisKK3Nob3VsZEJlKCJbdW5kZWZpbmVkXS5maW5k
SW5kZXgocGFzc1VuZGVmaW5lZCkiLCAiMCIpOworc2hvdWxkQmUoIihuZXcgQXJyYXkoMjApKS5m
aW5kSW5kZXgocGFzc1VuZGVmaW5lZCkiLCAiMCIpOworc2hvdWxkQmUoIlswLDEsMiwzLDQsNSw2
LDcsOCw5XS5maW5kSW5kZXgocGFzc0V2ZW4pIiwgIjAiKTsKK3Nob3VsZEJlKCJbMCwxLDIsMyw0
LDUsNiw3LDgsOV0uZmluZEluZGV4KHBhc3NBZnRlcjUpIiwgIjUiKTsKK3Nob3VsZEJlKCJtaXhQ
YXJ0aWFsQW5kRmFzdC5maW5kSW5kZXgocGFzc0FmdGVyNSkiLCAiNSIpOworCisvLyBHZW5lcmlj
IE9iamVjdAorc2hvdWxkQmUoInRvT2JqZWN0KFt1bmRlZmluZWRdKS5maW5kSW5kZXgocGFzc1Vu
ZGVmaW5lZCkiLCAiMCIpOworc2hvdWxkQmUoInRvT2JqZWN0KG5ldyBBcnJheSgyMCkpLmZpbmRJ
bmRleChwYXNzVW5kZWZpbmVkKSIsICIwIik7CitzaG91bGRCZSgidG9PYmplY3QoWzAsMSwyLDMs
NCw1LDYsNyw4LDldKS5maW5kSW5kZXgocGFzc0V2ZW4pIiwgIjAiKTsKK3Nob3VsZEJlKCJ0b09i
amVjdChbMCwxLDIsMyw0LDUsNiw3LDgsOV0pLmZpbmRJbmRleChwYXNzQWZ0ZXI1KSIsICI1Iik7
CitzaG91bGRCZSgidG9PYmplY3QobWl4UGFydGlhbEFuZEZhc3QpLmZpbmRJbmRleChwYXNzQWZ0
ZXI1KSIsICI1Iik7CisKKy8vIE1vZGlmaWNhdGlvbiBkdXJpbmcgc2VhcmNoCitzaG91bGRCZSgi
WzAsMSwyLDMsNCw1LDYsNyw4LDldLmZpbmRJbmRleChmaW5kSXRlbUFkZGVkRHVyaW5nU2VhcmNo
KSIsICItMSIpOworc2hvdWxkQmUoIlswLDEsMiwzLDQsNSw2LDcsOCw5XS5maW5kSW5kZXgoZmlu
ZEl0ZW1SZW1vdmVkRHVyaW5nU2VhcmNoKSIsICItMSIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230068</attachid>
            <date>2014-04-24 03:41:52 -0700</date>
            <delta_ts>2014-04-25 00:48:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-130966-20140424124121.patch</filename>
            <type>text/plain</type>
            <size>20135</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3NzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
YzExYjdkZWQyOThkMDE2NjE0YWE3ZmE0MDVlNjczZDVhYmVkZjYzLi5lNmZhYWRjMTI0MTk4NjJm
ZWM4ZTUzNDkzODE2YTg4ZTVlMzI1YmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNC0wNC0yNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9y
Zz4KKworICAgICAgICBJbXBsZW1lbnQgQXJyYXkucHJvdG90eXBlLmZpbmQoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwOTY2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IEFycmF5LnBy
b3RvdHlwZS5maW5kKCkgYW5kIEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgoKSBhcyBwcm9wb3Nl
ZCBpbiB0aGUgSGFybW9ueSBzcGVjLgorCisgICAgICAgICogYnVpbHRpbnMvQXJyYXkucHJvdG90
eXBlLmpzOgorICAgICAgICAoZmluZCk6CisgICAgICAgIChmaW5kSW5kZXgpOgorICAgICAgICAq
IHJ1bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorCiAyMDE0LTA0LTIzICBNYXJrIExhbSAgPG1h
cmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBUaGUgR0Mgc2hvdWxkIG9ubHkgcmVzdW1lIGNv
bXBpbGVyIHRocmVhZHMgdGhhdCBpdCBzdXNwZW5kZWQgaW4gdGhlIHNhbWUgR0MgcGFzcy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90b3R5cGUu
anMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzCmlu
ZGV4IDc5ZjM3Yzc4YTJhMGUzNDM0MGFhMWViMjZkMmU3Yjc0ZDU1ODc5MzkuLmVjMTA1ZTY5MjI0
ZjhlYWZjMjM4NWMzMjg3YTcyZGJiNGI2NTMwMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J1aWx0aW5zL0FycmF5LnByb3RvdHlwZS5qcwpAQCAtMTg5LDMgKzE4OSw0NiBAQCBm
dW5jdGlvbiBmaWxsKHZhbHVlIC8qIFssIHN0YXJ0IFssIGVuZF1dICovKQogICAgIHJldHVybiBP
OwogfQogCitmdW5jdGlvbiBmaW5kKGNhbGxiYWNrIC8qLCB0aGlzQXJnICovKSB7CisgICAgInVz
ZSBzdHJpY3QiOworICAgIGlmICh0aGlzID09PSBudWxsKQorICAgICAgICB0aHJvdyBuZXcgQFR5
cGVFcnJvcigiQXJyYXkucHJvdG90eXBlLmZpbmQgcmVxdWlyZXMgdGhhdCB8dGhpc3wgbm90IGJl
IG51bGwiKTsKKyAgICAKKyAgICBpZiAodGhpcyA9PT0gdW5kZWZpbmVkKQorICAgICAgICB0aHJv
dyBuZXcgQFR5cGVFcnJvcigiQXJyYXkucHJvdG90eXBlLmZpbmQgcmVxdWlyZXMgdGhhdCB8dGhp
c3wgbm90IGJlIHVuZGVmaW5lZCIpOworICAgIAorICAgIHZhciBhcnJheSA9IEBPYmplY3QodGhp
cyk7CisgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCA+Pj4gMDsKKyAgICAKKyAgICBpZiAo
dHlwZW9mIGNhbGxiYWNrICE9PSAiZnVuY3Rpb24iKQorICAgICAgICB0aHJvdyBuZXcgQFR5cGVF
cnJvcigiQXJyYXkucHJvdG90eXBlLmZpbmQgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uIik7
CisgICAgCisgICAgdmFyIHRoaXNBcmcgPSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50
c1sxXSA6IHVuZGVmaW5lZDsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7
CisgICAgICAgIGlmIChjYWxsYmFjay5AY2FsbCh0aGlzQXJnLCBhcnJheVtpXSwgaSwgYXJyYXkp
KQorICAgICAgICAgICAgcmV0dXJuIGFycmF5W2ldOworICAgIH0KKyAgICByZXR1cm4gdW5kZWZp
bmVkOworfQorCitmdW5jdGlvbiBmaW5kSW5kZXgoY2FsbGJhY2sgLyosIHRoaXNBcmcgKi8pIHsK
KyAgICAidXNlIHN0cmljdCI7CisgICAgaWYgKHRoaXMgPT09IG51bGwpCisgICAgICAgIHRocm93
IG5ldyBAVHlwZUVycm9yKCJBcnJheS5wcm90b3R5cGUuZmluZEluZGV4IHJlcXVpcmVzIHRoYXQg
fHRoaXN8IG5vdCBiZSBudWxsIik7CisgICAgCisgICAgaWYgKHRoaXMgPT09IHVuZGVmaW5lZCkK
KyAgICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIkFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgg
cmVxdWlyZXMgdGhhdCB8dGhpc3wgbm90IGJlIHVuZGVmaW5lZCIpOworICAgIAorICAgIHZhciBh
cnJheSA9IEBPYmplY3QodGhpcyk7CisgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCA+Pj4g
MDsKKyAgICAKKyAgICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAiZnVuY3Rpb24iKQorICAgICAg
ICB0aHJvdyBuZXcgQFR5cGVFcnJvcigiQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleCBjYWxsYmFj
ayBtdXN0IGJlIGEgZnVuY3Rpb24iKTsKKyAgICAKKyAgICB2YXIgdGhpc0FyZyA9IGFyZ3VtZW50
cy5sZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkOworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKKyAgICAgICAgaWYgKGNhbGxiYWNrLkBjYWxsKHRoaXNB
cmcsIGFycmF5W2ldLCBpLCBhcnJheSkpCisgICAgICAgICAgICByZXR1cm4gaTsKKyAgICB9Cisg
ICAgcmV0dXJuIC0xOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvQXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJy
YXlQcm90b3R5cGUuY3BwCmluZGV4IDY4YjY0NTg0ZjA1ZWU0MzI4MzllYTJjYTZhMmRiMGVmZmRh
MmQwMjkuLmYzN2YwMGU1NWQ0YjRkY2UyNmE5OGMyYTEzOWI1NDkwNGYyNDNiY2IgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKQEAgLTEx
NSw2ICsxMTUsOCBAQCBjb25zdCBDbGFzc0luZm8gQXJyYXlQcm90b3R5cGU6OnNfaW5mbyA9IHsi
QXJyYXkiLCAmSlNBcnJheTo6c19pbmZvLCAwLCBFeGVjU3RhdAogICBtYXAgICAgICAgICAgICBh
cnJheVByb3RvRnVuY01hcCAgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uIDEKICAgZW50cmll
cyAgICAgICAgYXJyYXlQcm90b0Z1bmNFbnRyaWVzICAgICAgICBEb250RW51bXxGdW5jdGlvbiAw
CiAgIGtleXMgICAgICAgICAgIGFycmF5UHJvdG9GdW5jS2V5cyAgICAgICAgICAgRG9udEVudW18
RnVuY3Rpb24gMAorICBmaW5kICAgICAgICAgICBhcnJheVByb3RvRnVuY0ZpbmQgICAgICAgICAg
IERvbnRFbnVtfEZ1bmN0aW9uIDEKKyAgZmluZEluZGV4ICAgICAgYXJyYXlQcm90b0Z1bmNGaW5k
SW5kZXggICAgICBEb250RW51bXxGdW5jdGlvbiAxCiBAZW5kCiAqLwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGMzZTgw
OGYyYzgzNTBlMzA0ZTJhZTE5OTNkYTZjODcxYjA5MTdmZS4uMWIzNTYzZTNkZmRhZDhhM2I0NmEx
YzRhOGJhZTA3MjE3NjNkM2E4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTA0LTI0ICBB
bnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBB
cnJheS5wcm90b3R5cGUuZmluZCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMzA5NjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGpzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBqcy9hcnJheS1maW5kLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICoganMvYXJyYXktZmluZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9hcnJheS1maW5kSW5k
ZXgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9hcnJheS1maW5kSW5kZXguaHRt
bDogQWRkZWQuCisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0
eU5hbWVzLmpzOgorICAgICAgICAqIGpzL3NjcmlwdC10ZXN0cy9hcnJheS1maW5kLmpzOiBBZGRl
ZC4KKyAgICAgICAgKiBqcy9zY3JpcHQtdGVzdHMvYXJyYXktZmluZEluZGV4LmpzOiBBZGRlZC4K
KwogMjAxNC0wNC0yMyAgUHJhdmVlbiBSIEphZGhhdiAgPHByYXZlZW4uakBzYW1zdW5nLmNvbT4K
IAogICAgICAgICBbTWVkaWFTdHJlYW1dIEltcGxlbWVudCBNZWRpYVN0cmVhbSBhY3RpdmUgYXR0
cmlidXRlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVydHlO
YW1lcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVydHlO
YW1lcy1leHBlY3RlZC50eHQKaW5kZXggZWRmNzdmMWU2ZTRiNmNkMWZhZWI5ZGY4MmVhNDZkY2Zi
Njk5NWQ3Ni4uMDc2NDgxMDk4MjI3NWZkN2M0ZmQwMzEzYTA1YWNlYWRlZmE4NmVmNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2pzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVj
dGVkLnR4dApAQCAtNDUsNyArNDUsNyBAQCBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMo
T2JqZWN0LnByb3RvdHlwZSkgaXMgWydfX2RlZmluZUdldHRlcl9fJywgJ19fZGVmaQogUEFTUyBn
ZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEZ1bmN0aW9uKSBpcyBbJ2xlbmd0aCcsICduYW1lJywg
J3Byb3RvdHlwZSddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoRnVuY3Rpb24ucHJv
dG90eXBlKSBpcyBbJ2FwcGx5JywgJ2JpbmQnLCAnY2FsbCcsICdjb25zdHJ1Y3RvcicsICdsZW5n
dGgnLCAnbmFtZScsICd0b1N0cmluZyddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMo
QXJyYXkpIGlzIFsnaXNBcnJheScsICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnXQotUEFT
UyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEFycmF5LnByb3RvdHlwZSkgaXMgWydjb25jYXQn
LCAnY29uc3RydWN0b3InLCAnZW50cmllcycsICdldmVyeScsICdmaWxsJywgJ2ZpbHRlcicsICdm
b3JFYWNoJywgJ2luZGV4T2YnLCAnam9pbicsICdrZXlzJywgJ2xhc3RJbmRleE9mJywgJ2xlbmd0
aCcsICdtYXAnLCAncG9wJywgJ3B1c2gnLCAncmVkdWNlJywgJ3JlZHVjZVJpZ2h0JywgJ3JldmVy
c2UnLCAnc2hpZnQnLCAnc2xpY2UnLCAnc29tZScsICdzb3J0JywgJ3NwbGljZScsICd0b0xvY2Fs
ZVN0cmluZycsICd0b1N0cmluZycsICd1bnNoaWZ0J10KK1BBU1MgZ2V0U29ydGVkT3duUHJvcGVy
dHlOYW1lcyhBcnJheS5wcm90b3R5cGUpIGlzIFsnY29uY2F0JywgJ2NvbnN0cnVjdG9yJywgJ2Vu
dHJpZXMnLCAnZXZlcnknLCAnZmlsbCcsICdmaWx0ZXInLCAnZmluZCcsICdmaW5kSW5kZXgnLCAn
Zm9yRWFjaCcsICdpbmRleE9mJywgJ2pvaW4nLCAna2V5cycsICdsYXN0SW5kZXhPZicsICdsZW5n
dGgnLCAnbWFwJywgJ3BvcCcsICdwdXNoJywgJ3JlZHVjZScsICdyZWR1Y2VSaWdodCcsICdyZXZl
cnNlJywgJ3NoaWZ0JywgJ3NsaWNlJywgJ3NvbWUnLCAnc29ydCcsICdzcGxpY2UnLCAndG9Mb2Nh
bGVTdHJpbmcnLCAndG9TdHJpbmcnLCAndW5zaGlmdCddCiBQQVNTIGdldFNvcnRlZE93blByb3Bl
cnR5TmFtZXMoU3RyaW5nKSBpcyBbJ2Zyb21DaGFyQ29kZScsICdsZW5ndGgnLCAnbmFtZScsICdw
cm90b3R5cGUnXQogUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKFN0cmluZy5wcm90b3R5
cGUpIGlzIFsnYW5jaG9yJywgJ2JpZycsICdibGluaycsICdib2xkJywgJ2NoYXJBdCcsICdjaGFy
Q29kZUF0JywgJ2NvbmNhdCcsICdjb25zdHJ1Y3RvcicsICdmaXhlZCcsICdmb250Y29sb3InLCAn
Zm9udHNpemUnLCAnaW5kZXhPZicsICdpdGFsaWNzJywgJ2xhc3RJbmRleE9mJywgJ2xlbmd0aCcs
ICdsaW5rJywgJ2xvY2FsZUNvbXBhcmUnLCAnbWF0Y2gnLCAncmVwbGFjZScsICdzZWFyY2gnLCAn
c2xpY2UnLCAnc21hbGwnLCAnc3BsaXQnLCAnc3RyaWtlJywgJ3N1YicsICdzdWJzdHInLCAnc3Vi
c3RyaW5nJywgJ3N1cCcsICd0b0xvY2FsZUxvd2VyQ2FzZScsICd0b0xvY2FsZVVwcGVyQ2FzZScs
ICd0b0xvd2VyQ2FzZScsICd0b1N0cmluZycsICd0b1VwcGVyQ2FzZScsICd0cmltJywgJ3RyaW1M
ZWZ0JywgJ3RyaW1SaWdodCcsICd2YWx1ZU9mJ10KIFBBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlO
YW1lcyhCb29sZWFuKSBpcyBbJ2xlbmd0aCcsICduYW1lJywgJ3Byb3RvdHlwZSddCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9qcy9hcnJheS1maW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2pzL2FycmF5LWZpbmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmOGI4ZjhiZjFmNWNiYWVl
ZjU1NjE4ODAyOTRlN2U3NDU0MDhjZWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9q
cy9hcnJheS1maW5kLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMzIEBACitUZXN0cyBmb3IgQXJy
YXkucHJvdG90eXBlLmZpbmQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
W3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsICIiXS5maW5kKHBhc3NVbmRlZmluZWQpIGlzIHVu
ZGVmaW5lZAorUEFTUyBbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgIiJdLmZpbmQocGFzc1pl
cm8pIGlzIDAKK1BBU1MgW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsICIiXS5maW5kKHBhc3NO
dWxsKSBpcyBudWxsCitQQVNTIFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCAiIl0uZmluZChw
YXNzRmFsc2UpIGlzIGZhbHNlCitQQVNTIFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCAiIl0u
ZmluZChwYXNzRW1wdHlTdHJpbmcpIGlzICIiCitQQVNTIFswLCBudWxsLCBmYWxzZSwgIiJdLmZp
bmQocGFzc1VuZGVmaW5lZCkgaXMgdW5kZWZpbmVkCitQQVNTIFt1bmRlZmluZWQsIDAsIGZhbHNl
LCAiIl0uZmluZChwYXNzTnVsbCkgaXMgdW5kZWZpbmVkCitQQVNTIFt1bmRlZmluZWQsIDAsIG51
bGwsICIiXS5maW5kKHBhc3NGYWxzZSkgaXMgdW5kZWZpbmVkCitQQVNTIFt1bmRlZmluZWQsIDAs
IG51bGwsIGZhbHNlXS5maW5kKHBhc3NFbXB0eVN0cmluZykgaXMgdW5kZWZpbmVkCitQQVNTIFt1
bmRlZmluZWQsIG51bGwsIGZhbHNlLCAiIl0uZmluZChwYXNzWmVybykgaXMgdW5kZWZpbmVkCitQ
QVNTIChuZXcgQXJyYXkoMjApKS5maW5kKHBhc3NVbmRlZmluZWQpIGlzIHVuZGVmaW5lZAorUEFT
UyB0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgIiJdKS5maW5kKHBhc3NVbmRl
ZmluZWQpIGlzIHVuZGVmaW5lZAorUEFTUyB0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxsLCBm
YWxzZSwgIiJdKS5maW5kKHBhc3NaZXJvKSBpcyAwCitQQVNTIHRvT2JqZWN0KFt1bmRlZmluZWQs
IDAsIG51bGwsIGZhbHNlLCAiIl0pLmZpbmQocGFzc051bGwpIGlzIG51bGwKK1BBU1MgdG9PYmpl
Y3QoW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsICIiXSkuZmluZChwYXNzRmFsc2UpIGlzIGZh
bHNlCitQQVNTIHRvT2JqZWN0KFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCAiIl0pLmZpbmQo
cGFzc0VtcHR5U3RyaW5nKSBpcyAiIgorUEFTUyB0b09iamVjdChbMCwgbnVsbCwgZmFsc2UsICIi
XSkuZmluZChwYXNzVW5kZWZpbmVkKSBpcyB1bmRlZmluZWQKK1BBU1MgdG9PYmplY3QoW3VuZGVm
aW5lZCwgMCwgZmFsc2UsICIiXSkuZmluZChwYXNzTnVsbCkgaXMgdW5kZWZpbmVkCitQQVNTIHRv
T2JqZWN0KFt1bmRlZmluZWQsIDAsIG51bGwsICIiXSkuZmluZChwYXNzRmFsc2UpIGlzIHVuZGVm
aW5lZAorUEFTUyB0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZV0pLmZpbmQocGFz
c0VtcHR5U3RyaW5nKSBpcyB1bmRlZmluZWQKK1BBU1MgdG9PYmplY3QoW3VuZGVmaW5lZCwgbnVs
bCwgZmFsc2UsICIiXSkuZmluZChwYXNzWmVybykgaXMgdW5kZWZpbmVkCitQQVNTIHRvT2JqZWN0
KG5ldyBBcnJheSgyMCkpLmZpbmQocGFzc1VuZGVmaW5lZCkgaXMgdW5kZWZpbmVkCitQQVNTIFsw
LDEsMiwzLDQsNSw2LDcsOCw5XS5maW5kKGZpbmRJdGVtQWRkZWREdXJpbmdTZWFyY2gpIGlzIHVu
ZGVmaW5lZAorUEFTUyBbMCwxLDIsMyw0LDUsNiw3LDgsOV0uZmluZChmaW5kSXRlbVJlbW92ZWRE
dXJpbmdTZWFyY2gpIGlzIHVuZGVmaW5lZAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2FycmF5LWZp
bmQuaHRtbCBiL0xheW91dFRlc3RzL2pzL2FycmF5LWZpbmQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Yzkz
OTU5NDU2OWY2ZmZiNGZiYTgxMDBhMzAzNTBlZTMxNDE1Y2NkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvanMvYXJyYXktZmluZC5odG1sCkBAIC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9hcnJheS1maW5kLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2FycmF5LWZp
bmRJbmRleC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9hcnJheS1maW5kSW5kZXgtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlNmUxZDhiNDc3NjZjMTMyOWY5NjdmZmMxMWQwYzliZWZi
NjZhZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9hcnJheS1maW5kSW5kZXgt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzMgQEAKK1Rlc3RzIGZvciBBcnJheS5wcm90b3R5cGUu
ZmluZEluZGV4CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIFt1bmRlZmlu
ZWQsIDAsIG51bGwsIGZhbHNlLCAiIl0uZmluZEluZGV4KHBhc3NVbmRlZmluZWQpIGlzIDAKK1BB
U1MgW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsICIiXS5maW5kSW5kZXgocGFzc1plcm8pIGlz
IDEKK1BBU1MgW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsICIiXS5maW5kSW5kZXgocGFzc051
bGwpIGlzIDIKK1BBU1MgW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsICIiXS5maW5kSW5kZXgo
cGFzc0ZhbHNlKSBpcyAzCitQQVNTIFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCAiIl0uZmlu
ZEluZGV4KHBhc3NFbXB0eVN0cmluZykgaXMgNAorUEFTUyBbMCwgbnVsbCwgZmFsc2UsICIiXS5m
aW5kSW5kZXgocGFzc1VuZGVmaW5lZCkgaXMgLTEKK1BBU1MgW3VuZGVmaW5lZCwgMCwgZmFsc2Us
ICIiXS5maW5kSW5kZXgocGFzc051bGwpIGlzIC0xCitQQVNTIFt1bmRlZmluZWQsIDAsIG51bGws
ICIiXS5maW5kSW5kZXgocGFzc0ZhbHNlKSBpcyAtMQorUEFTUyBbdW5kZWZpbmVkLCAwLCBudWxs
LCBmYWxzZV0uZmluZEluZGV4KHBhc3NFbXB0eVN0cmluZykgaXMgLTEKK1BBU1MgW3VuZGVmaW5l
ZCwgbnVsbCwgZmFsc2UsICIiXS5maW5kSW5kZXgocGFzc1plcm8pIGlzIC0xCitQQVNTIChuZXcg
QXJyYXkoMjApKS5maW5kSW5kZXgocGFzc1VuZGVmaW5lZCkgaXMgMAorUEFTUyB0b09iamVjdChb
dW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgIiJdKS5maW5kSW5kZXgocGFzc1VuZGVmaW5lZCkg
aXMgMAorUEFTUyB0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgIiJdKS5maW5k
SW5kZXgocGFzc1plcm8pIGlzIDEKK1BBU1MgdG9PYmplY3QoW3VuZGVmaW5lZCwgMCwgbnVsbCwg
ZmFsc2UsICIiXSkuZmluZEluZGV4KHBhc3NOdWxsKSBpcyAyCitQQVNTIHRvT2JqZWN0KFt1bmRl
ZmluZWQsIDAsIG51bGwsIGZhbHNlLCAiIl0pLmZpbmRJbmRleChwYXNzRmFsc2UpIGlzIDMKK1BB
U1MgdG9PYmplY3QoW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsICIiXSkuZmluZEluZGV4KHBh
c3NFbXB0eVN0cmluZykgaXMgNAorUEFTUyB0b09iamVjdChbMCwgbnVsbCwgZmFsc2UsICIiXSku
ZmluZEluZGV4KHBhc3NVbmRlZmluZWQpIGlzIC0xCitQQVNTIHRvT2JqZWN0KFt1bmRlZmluZWQs
IDAsIGZhbHNlLCAiIl0pLmZpbmRJbmRleChwYXNzTnVsbCkgaXMgLTEKK1BBU1MgdG9PYmplY3Qo
W3VuZGVmaW5lZCwgMCwgbnVsbCwgIiJdKS5maW5kSW5kZXgocGFzc0ZhbHNlKSBpcyAtMQorUEFT
UyB0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZV0pLmZpbmRJbmRleChwYXNzRW1w
dHlTdHJpbmcpIGlzIC0xCitQQVNTIHRvT2JqZWN0KFt1bmRlZmluZWQsIG51bGwsIGZhbHNlLCAi
Il0pLmZpbmRJbmRleChwYXNzWmVybykgaXMgLTEKK1BBU1MgdG9PYmplY3QobmV3IEFycmF5KDIw
KSkuZmluZEluZGV4KHBhc3NVbmRlZmluZWQpIGlzIDAKK1BBU1MgWzAsMSwyLDMsNCw1LDYsNyw4
LDldLmZpbmRJbmRleChmaW5kSXRlbUFkZGVkRHVyaW5nU2VhcmNoKSBpcyAtMQorUEFTUyBbMCwx
LDIsMyw0LDUsNiw3LDgsOV0uZmluZEluZGV4KGZpbmRJdGVtUmVtb3ZlZER1cmluZ1NlYXJjaCkg
aXMgLTEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9hcnJheS1maW5kSW5kZXguaHRtbCBiL0xheW91
dFRlc3RzL2pzL2FycmF5LWZpbmRJbmRleC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc0YmUxMjljZGMxOGQ1
NDJmY2I5NTI3NmNjNGQ1OTUzODA2ZTk4MWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9qcy9hcnJheS1maW5kSW5kZXguaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgSFRN
TCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvYXJyYXktZmluZEluZGV4LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL3NjcmlwdC10
ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qcyBiL0xheW91dFRlc3RzL2pzL3Njcmlw
dC10ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qcwppbmRleCBmYWFjN2E4MGYxZGY4
MjZiZDJlNzJhNWRkMGJhYjZmMTQzN2YzMTRkLi4wNmQ1ZjhkNmY2NDAwMDRlMGI0MGEzMDUyNzBm
Y2U4OTRjYTU5ZmQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvT2Jq
ZWN0LWdldE93blByb3BlcnR5TmFtZXMuanMKKysrIGIvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRl
c3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLmpzCkBAIC01Myw3ICs1Myw3IEBAIHZhciBl
eHBlY3RlZFByb3BlcnR5TmFtZXNTZXQgPSB7CiAgICAgIkZ1bmN0aW9uIjogIlsnbGVuZ3RoJywg
J25hbWUnLCAncHJvdG90eXBlJ10iLAogICAgICJGdW5jdGlvbi5wcm90b3R5cGUiOiAiWydhcHBs
eScsICdiaW5kJywgJ2NhbGwnLCAnY29uc3RydWN0b3InLCAnbGVuZ3RoJywgJ25hbWUnLCAndG9T
dHJpbmcnXSIsCiAgICAgIkFycmF5IjogIlsnaXNBcnJheScsICdsZW5ndGgnLCAnbmFtZScsICdw
cm90b3R5cGUnXSIsCi0gICAgIkFycmF5LnByb3RvdHlwZSI6ICJbJ2NvbmNhdCcsICdjb25zdHJ1
Y3RvcicsICdlbnRyaWVzJywgJ2V2ZXJ5JywgJ2ZpbGwnLCAnZmlsdGVyJywgJ2ZvckVhY2gnLCAn
aW5kZXhPZicsICdqb2luJywgJ2tleXMnLCAnbGFzdEluZGV4T2YnLCAnbGVuZ3RoJywgJ21hcCcs
ICdwb3AnLCAncHVzaCcsICdyZWR1Y2UnLCAncmVkdWNlUmlnaHQnLCAncmV2ZXJzZScsICdzaGlm
dCcsICdzbGljZScsICdzb21lJywgJ3NvcnQnLCAnc3BsaWNlJywgJ3RvTG9jYWxlU3RyaW5nJywg
J3RvU3RyaW5nJywgJ3Vuc2hpZnQnXSIsCisgICAgIkFycmF5LnByb3RvdHlwZSI6ICJbJ2NvbmNh
dCcsICdjb25zdHJ1Y3RvcicsICdlbnRyaWVzJywgJ2V2ZXJ5JywgJ2ZpbGwnLCAnZmlsdGVyJywg
J2ZpbmQnLCAnZmluZEluZGV4JywgJ2ZvckVhY2gnLCAnaW5kZXhPZicsICdqb2luJywgJ2tleXMn
LCAnbGFzdEluZGV4T2YnLCAnbGVuZ3RoJywgJ21hcCcsICdwb3AnLCAncHVzaCcsICdyZWR1Y2Un
LCAncmVkdWNlUmlnaHQnLCAncmV2ZXJzZScsICdzaGlmdCcsICdzbGljZScsICdzb21lJywgJ3Nv
cnQnLCAnc3BsaWNlJywgJ3RvTG9jYWxlU3RyaW5nJywgJ3RvU3RyaW5nJywgJ3Vuc2hpZnQnXSIs
CiAgICAgIlN0cmluZyI6ICJbJ2Zyb21DaGFyQ29kZScsICdsZW5ndGgnLCAnbmFtZScsICdwcm90
b3R5cGUnXSIsCiAgICAgIlN0cmluZy5wcm90b3R5cGUiOiAiWydhbmNob3InLCAnYmlnJywgJ2Js
aW5rJywgJ2JvbGQnLCAnY2hhckF0JywgJ2NoYXJDb2RlQXQnLCAnY29uY2F0JywgJ2NvbnN0cnVj
dG9yJywgJ2ZpeGVkJywgJ2ZvbnRjb2xvcicsICdmb250c2l6ZScsICdpbmRleE9mJywgJ2l0YWxp
Y3MnLCAnbGFzdEluZGV4T2YnLCAnbGVuZ3RoJywgJ2xpbmsnLCAnbG9jYWxlQ29tcGFyZScsICdt
YXRjaCcsICdyZXBsYWNlJywgJ3NlYXJjaCcsICdzbGljZScsICdzbWFsbCcsICdzcGxpdCcsICdz
dHJpa2UnLCAnc3ViJywgJ3N1YnN0cicsICdzdWJzdHJpbmcnLCAnc3VwJywgJ3RvTG9jYWxlTG93
ZXJDYXNlJywgJ3RvTG9jYWxlVXBwZXJDYXNlJywgJ3RvTG93ZXJDYXNlJywgJ3RvU3RyaW5nJywg
J3RvVXBwZXJDYXNlJywgJ3RyaW0nLCAndHJpbUxlZnQnLCAndHJpbVJpZ2h0JywgJ3ZhbHVlT2Yn
XSIsCiAgICAgIkJvb2xlYW4iOiAiWydsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnXSIsCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyYXktZmluZC5qcyBiL0xh
eW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJheS1maW5kLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyYzkx
NTVhNzhmZjIxOTZkZGUwY2M5ZTM3YzE0MTViZWYyMDE1N2YKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyYXktZmluZC5qcwpAQCAtMCwwICsxLDcwIEBA
CitkZXNjcmlwdGlvbigiVGVzdHMgZm9yIEFycmF5LnByb3RvdHlwZS5maW5kIik7CisKK2Z1bmN0
aW9uIHBhc3NVbmRlZmluZWQoZWxlbWVudCwgaW5kZXgsIGFycmF5KSB7CisgICAgcmV0dXJuIHR5
cGVvZiBlbGVtZW50ID09PSAidW5kZWZpbmVkIjsKK30KK2Z1bmN0aW9uIHBhc3NaZXJvKGVsZW1l
bnQsIGluZGV4LCBhcnJheSkgeworICAgIHJldHVybiBlbGVtZW50ID09PSAwOworfQorZnVuY3Rp
b24gcGFzc051bGwoZWxlbWVudCwgaW5kZXgsIGFycmF5KSB7CisgICAgcmV0dXJuIGVsZW1lbnQg
PT09IG51bGw7Cit9CitmdW5jdGlvbiBwYXNzRmFsc2UoZWxlbWVudCwgaW5kZXgsIGFycmF5KSB7
CisgICAgcmV0dXJuIGVsZW1lbnQgPT09IGZhbHNlOworfQorZnVuY3Rpb24gcGFzc0VtcHR5U3Ry
aW5nKGVsZW1lbnQsIGluZGV4LCBhcnJheSkgeworICAgIHJldHVybiBlbGVtZW50ID09PSAiIjsK
K30KK2Z1bmN0aW9uIHBhc3NFdmVuKGEpIHsKKyAgICByZXR1cm4gIShhICYgMSk7Cit9CitmdW5j
dGlvbiBwYXNzQWZ0ZXI1KGVsZW1lbnQsIGluZGV4KSB7CisgICAgcmV0dXJuIGluZGV4ID49IDU7
Cit9CitmdW5jdGlvbiB0b09iamVjdChhcnJheSkgeworICAgIHZhciByZXN1bHQgPSB7fTsKKyAg
ICByZXN1bHQubGVuZ3RoID0gYXJyYXkubGVuZ3RoOworICAgIGZvciAodmFyIGkgaW4gYXJyYXkp
CisgICAgICAgIHJlc3VsdFtpXSA9IGFycmF5W2ldOworICAgIHJlc3VsdC5maW5kPUFycmF5LnBy
b3RvdHlwZS5maW5kOworICAgIHJldHVybiByZXN1bHQ7Cit9CitmdW5jdGlvbiBmaW5kSXRlbUFk
ZGVkRHVyaW5nU2VhcmNoKGVsZW1lbnQsIGluZGV4LCBhcnJheSkgeworICAgIGlmIChpbmRleCA9
PT0gMCkKKyAgICAgICAgYXJyYXkucHVzaChhcnJheS5sZW5ndGgpOworICAgIHJldHVybiAoaW5k
ZXggPT09IGFycmF5Lmxlbmd0aCAtIDEpOworfQorZnVuY3Rpb24gZmluZEl0ZW1SZW1vdmVkRHVy
aW5nU2VhcmNoKGVsZW1lbnQsIGluZGV4LCBhcnJheSkgeworICAgIGlmIChpbmRleCA9PT0gMCkK
KyAgICAgICAgYXJyYXkuc2hpZnQoKTsKKyAgICByZXR1cm4gKGluZGV4ID09PSAwICYmIGFycmF5
WzBdID09PSBlbGVtZW50KTsKK30KKworc2hvdWxkQmUoIlt1bmRlZmluZWQsIDAsIG51bGwsIGZh
bHNlLCBcIlwiXS5maW5kKHBhc3NVbmRlZmluZWQpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUo
Ilt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCBcIlwiXS5maW5kKHBhc3NaZXJvKSIsICIwIik7
CitzaG91bGRCZSgiW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsIFwiXCJdLmZpbmQocGFzc051
bGwpIiwgIm51bGwiKTsKK3Nob3VsZEJlKCJbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgXCJc
Il0uZmluZChwYXNzRmFsc2UpIiwgImZhbHNlIik7CitzaG91bGRCZSgiW3VuZGVmaW5lZCwgMCwg
bnVsbCwgZmFsc2UsIFwiXCJdLmZpbmQocGFzc0VtcHR5U3RyaW5nKSIsICJcIlwiIik7CitzaG91
bGRCZSgiWzAsIG51bGwsIGZhbHNlLCBcIlwiXS5maW5kKHBhc3NVbmRlZmluZWQpIiwgInVuZGVm
aW5lZCIpOworc2hvdWxkQmUoIlt1bmRlZmluZWQsIDAsIGZhbHNlLCBcIlwiXS5maW5kKHBhc3NO
dWxsKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJbdW5kZWZpbmVkLCAwLCBudWxsLCBcIlwi
XS5maW5kKHBhc3NGYWxzZSkiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgiW3VuZGVmaW5lZCwg
MCwgbnVsbCwgZmFsc2VdLmZpbmQocGFzc0VtcHR5U3RyaW5nKSIsICJ1bmRlZmluZWQiKTsKK3No
b3VsZEJlKCJbdW5kZWZpbmVkLCBudWxsLCBmYWxzZSwgXCJcIl0uZmluZChwYXNzWmVybykiLCAi
dW5kZWZpbmVkIik7CitzaG91bGRCZSgiKG5ldyBBcnJheSgyMCkpLmZpbmQocGFzc1VuZGVmaW5l
ZCkiLCAidW5kZWZpbmVkIik7CisKKy8vIEdlbmVyaWMgT2JqZWN0CitzaG91bGRCZSgidG9PYmpl
Y3QoW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsIFwiXCJdKS5maW5kKHBhc3NVbmRlZmluZWQp
IiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInRvT2JqZWN0KFt1bmRlZmluZWQsIDAsIG51bGws
IGZhbHNlLCBcIlwiXSkuZmluZChwYXNzWmVybykiLCAiMCIpOworc2hvdWxkQmUoInRvT2JqZWN0
KFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCBcIlwiXSkuZmluZChwYXNzTnVsbCkiLCAibnVs
bCIpOworc2hvdWxkQmUoInRvT2JqZWN0KFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCBcIlwi
XSkuZmluZChwYXNzRmFsc2UpIiwgImZhbHNlIik7CitzaG91bGRCZSgidG9PYmplY3QoW3VuZGVm
aW5lZCwgMCwgbnVsbCwgZmFsc2UsIFwiXCJdKS5maW5kKHBhc3NFbXB0eVN0cmluZykiLCAiXCJc
IiIpOworc2hvdWxkQmUoInRvT2JqZWN0KFswLCBudWxsLCBmYWxzZSwgXCJcIl0pLmZpbmQocGFz
c1VuZGVmaW5lZCkiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgidG9PYmplY3QoW3VuZGVmaW5l
ZCwgMCwgZmFsc2UsIFwiXCJdKS5maW5kKHBhc3NOdWxsKSIsICJ1bmRlZmluZWQiKTsKK3Nob3Vs
ZEJlKCJ0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxsLCBcIlwiXSkuZmluZChwYXNzRmFsc2Up
IiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoInRvT2JqZWN0KFt1bmRlZmluZWQsIDAsIG51bGws
IGZhbHNlXSkuZmluZChwYXNzRW1wdHlTdHJpbmcpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUo
InRvT2JqZWN0KFt1bmRlZmluZWQsIG51bGwsIGZhbHNlLCBcIlwiXSkuZmluZChwYXNzWmVybyki
LCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgidG9PYmplY3QobmV3IEFycmF5KDIwKSkuZmluZChw
YXNzVW5kZWZpbmVkKSIsICJ1bmRlZmluZWQiKTsKKworLy8gTW9kaWZpY2F0aW9uIGR1cmluZyBz
ZWFyY2gKK3Nob3VsZEJlKCJbMCwxLDIsMyw0LDUsNiw3LDgsOV0uZmluZChmaW5kSXRlbUFkZGVk
RHVyaW5nU2VhcmNoKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJbMCwxLDIsMyw0LDUsNiw3
LDgsOV0uZmluZChmaW5kSXRlbVJlbW92ZWREdXJpbmdTZWFyY2gpIiwgInVuZGVmaW5lZCIpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2FycmF5LWZpbmRJbmRleC5q
cyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJheS1maW5kSW5kZXguanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjA3YjY0ZDYxNzliNjEyYzEyNmMyMjBjMzVmOTQ4NmFlN2ZmZTAyZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJheS1maW5kSW5kZXguanMK
QEAgLTAsMCArMSw3MCBAQAorZGVzY3JpcHRpb24oIlRlc3RzIGZvciBBcnJheS5wcm90b3R5cGUu
ZmluZEluZGV4Iik7CisKK2Z1bmN0aW9uIHBhc3NVbmRlZmluZWQoZWxlbWVudCwgaW5kZXgsIGFy
cmF5KSB7CisgICAgcmV0dXJuIHR5cGVvZiBlbGVtZW50ID09PSAidW5kZWZpbmVkIjsKK30KK2Z1
bmN0aW9uIHBhc3NaZXJvKGVsZW1lbnQsIGluZGV4LCBhcnJheSkgeworICAgIHJldHVybiBlbGVt
ZW50ID09PSAwOworfQorZnVuY3Rpb24gcGFzc051bGwoZWxlbWVudCwgaW5kZXgsIGFycmF5KSB7
CisgICAgcmV0dXJuIGVsZW1lbnQgPT09IG51bGw7Cit9CitmdW5jdGlvbiBwYXNzRmFsc2UoZWxl
bWVudCwgaW5kZXgsIGFycmF5KSB7CisgICAgcmV0dXJuIGVsZW1lbnQgPT09IGZhbHNlOworfQor
ZnVuY3Rpb24gcGFzc0VtcHR5U3RyaW5nKGVsZW1lbnQsIGluZGV4LCBhcnJheSkgeworICAgIHJl
dHVybiBlbGVtZW50ID09PSAiIjsKK30KK2Z1bmN0aW9uIHBhc3NFdmVuKGEpIHsKKyAgICByZXR1
cm4gIShhICYgMSk7Cit9CitmdW5jdGlvbiBwYXNzQWZ0ZXI1KGVsZW1lbnQsIGluZGV4KSB7Cisg
ICAgcmV0dXJuIGluZGV4ID49IDU7Cit9CitmdW5jdGlvbiB0b09iamVjdChhcnJheSkgeworICAg
IHZhciByZXN1bHQgPSB7fTsKKyAgICByZXN1bHQubGVuZ3RoID0gYXJyYXkubGVuZ3RoOworICAg
IGZvciAodmFyIGkgaW4gYXJyYXkpCisgICAgICAgIHJlc3VsdFtpXSA9IGFycmF5W2ldOworICAg
IHJlc3VsdC5maW5kSW5kZXg9QXJyYXkucHJvdG90eXBlLmZpbmRJbmRleDsKKyAgICByZXR1cm4g
cmVzdWx0OworfQorZnVuY3Rpb24gZmluZEl0ZW1BZGRlZER1cmluZ1NlYXJjaChlbGVtZW50LCBp
bmRleCwgYXJyYXkpIHsKKyAgICBpZiAoaW5kZXggPT09IDApCisgICAgICAgIGFycmF5LnB1c2go
YXJyYXkubGVuZ3RoKTsKKyAgICByZXR1cm4gKGluZGV4ID09PSBhcnJheS5sZW5ndGggLSAxKTsK
K30KK2Z1bmN0aW9uIGZpbmRJdGVtUmVtb3ZlZER1cmluZ1NlYXJjaChlbGVtZW50LCBpbmRleCwg
YXJyYXkpIHsKKyAgICBpZiAoaW5kZXggPT09IDApCisgICAgICAgIGFycmF5LnNoaWZ0KCk7Cisg
ICAgcmV0dXJuIChpbmRleCA9PT0gMCAmJiBhcnJheVswXSA9PT0gZWxlbWVudCk7Cit9CisKK3No
b3VsZEJlKCJbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgXCJcIl0uZmluZEluZGV4KHBhc3NV
bmRlZmluZWQpIiwgIjAiKTsKK3Nob3VsZEJlKCJbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwg
XCJcIl0uZmluZEluZGV4KHBhc3NaZXJvKSIsICIxIik7CitzaG91bGRCZSgiW3VuZGVmaW5lZCwg
MCwgbnVsbCwgZmFsc2UsIFwiXCJdLmZpbmRJbmRleChwYXNzTnVsbCkiLCAiMiIpOworc2hvdWxk
QmUoIlt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCBcIlwiXS5maW5kSW5kZXgocGFzc0ZhbHNl
KSIsICIzIik7CitzaG91bGRCZSgiW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsIFwiXCJdLmZp
bmRJbmRleChwYXNzRW1wdHlTdHJpbmcpIiwgIjQiKTsKK3Nob3VsZEJlKCJbMCwgbnVsbCwgZmFs
c2UsIFwiXCJdLmZpbmRJbmRleChwYXNzVW5kZWZpbmVkKSIsICItMSIpOworc2hvdWxkQmUoIlt1
bmRlZmluZWQsIDAsIGZhbHNlLCBcIlwiXS5maW5kSW5kZXgocGFzc051bGwpIiwgIi0xIik7Citz
aG91bGRCZSgiW3VuZGVmaW5lZCwgMCwgbnVsbCwgXCJcIl0uZmluZEluZGV4KHBhc3NGYWxzZSki
LCAiLTEiKTsKK3Nob3VsZEJlKCJbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZV0uZmluZEluZGV4
KHBhc3NFbXB0eVN0cmluZykiLCAiLTEiKTsKK3Nob3VsZEJlKCJbdW5kZWZpbmVkLCBudWxsLCBm
YWxzZSwgXCJcIl0uZmluZEluZGV4KHBhc3NaZXJvKSIsICItMSIpOworc2hvdWxkQmUoIihuZXcg
QXJyYXkoMjApKS5maW5kSW5kZXgocGFzc1VuZGVmaW5lZCkiLCAiMCIpOworCisvLyBHZW5lcmlj
IE9iamVjdAorc2hvdWxkQmUoInRvT2JqZWN0KFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCBc
IlwiXSkuZmluZEluZGV4KHBhc3NVbmRlZmluZWQpIiwgIjAiKTsKK3Nob3VsZEJlKCJ0b09iamVj
dChbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgXCJcIl0pLmZpbmRJbmRleChwYXNzWmVybyki
LCAiMSIpOworc2hvdWxkQmUoInRvT2JqZWN0KFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCBc
IlwiXSkuZmluZEluZGV4KHBhc3NOdWxsKSIsICIyIik7CitzaG91bGRCZSgidG9PYmplY3QoW3Vu
ZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsIFwiXCJdKS5maW5kSW5kZXgocGFzc0ZhbHNlKSIsICIz
Iik7CitzaG91bGRCZSgidG9PYmplY3QoW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsIFwiXCJd
KS5maW5kSW5kZXgocGFzc0VtcHR5U3RyaW5nKSIsICI0Iik7CitzaG91bGRCZSgidG9PYmplY3Qo
WzAsIG51bGwsIGZhbHNlLCBcIlwiXSkuZmluZEluZGV4KHBhc3NVbmRlZmluZWQpIiwgIi0xIik7
CitzaG91bGRCZSgidG9PYmplY3QoW3VuZGVmaW5lZCwgMCwgZmFsc2UsIFwiXCJdKS5maW5kSW5k
ZXgocGFzc051bGwpIiwgIi0xIik7CitzaG91bGRCZSgidG9PYmplY3QoW3VuZGVmaW5lZCwgMCwg
bnVsbCwgXCJcIl0pLmZpbmRJbmRleChwYXNzRmFsc2UpIiwgIi0xIik7CitzaG91bGRCZSgidG9P
YmplY3QoW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2VdKS5maW5kSW5kZXgocGFzc0VtcHR5U3Ry
aW5nKSIsICItMSIpOworc2hvdWxkQmUoInRvT2JqZWN0KFt1bmRlZmluZWQsIG51bGwsIGZhbHNl
LCBcIlwiXSkuZmluZEluZGV4KHBhc3NaZXJvKSIsICItMSIpOworc2hvdWxkQmUoInRvT2JqZWN0
KG5ldyBBcnJheSgyMCkpLmZpbmRJbmRleChwYXNzVW5kZWZpbmVkKSIsICIwIik7CisKKy8vIE1v
ZGlmaWNhdGlvbiBkdXJpbmcgc2VhcmNoCitzaG91bGRCZSgiWzAsMSwyLDMsNCw1LDYsNyw4LDld
LmZpbmRJbmRleChmaW5kSXRlbUFkZGVkRHVyaW5nU2VhcmNoKSIsICItMSIpOworc2hvdWxkQmUo
IlswLDEsMiwzLDQsNSw2LDcsOCw5XS5maW5kSW5kZXgoZmluZEl0ZW1SZW1vdmVkRHVyaW5nU2Vh
cmNoKSIsICItMSIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230148</attachid>
            <date>2014-04-25 00:48:34 -0700</date>
            <delta_ts>2014-04-25 10:11:40 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-130966-20140425094810.patch</filename>
            <type>text/plain</type>
            <size>25031</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY3NzUyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
YzExYjdkZWQyOThkMDE2NjE0YWE3ZmE0MDVlNjczZDVhYmVkZjYzLi4xMzFkZWQ0NDdjODFjZTc0
Nzk0NTA0ZjJhY2E3Y2RiMTRiNjE4NWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxNC0wNC0yNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9y
Zz4KKworICAgICAgICBJbXBsZW1lbnQgQXJyYXkucHJvdG90eXBlLmZpbmQoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwOTY2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCisKKyAgICAgICAgSW1wbGVtZW50IEFycmF5LnByb3Rv
dHlwZS5maW5kKCkgYW5kIEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgoKSBhcyBwcm9wb3NlZCBp
biB0aGUgSGFybW9ueSBzcGVjLgorCisgICAgICAgICogYnVpbHRpbnMvQXJyYXkucHJvdG90eXBl
LmpzOgorICAgICAgICAoZmluZCk6CisgICAgICAgIChmaW5kSW5kZXgpOgorICAgICAgICAqIHJ1
bnRpbWUvQXJyYXlQcm90b3R5cGUuY3BwOgorCiAyMDE0LTA0LTIzICBNYXJrIExhbSAgPG1hcmsu
bGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBUaGUgR0Mgc2hvdWxkIG9ubHkgcmVzdW1lIGNvbXBp
bGVyIHRocmVhZHMgdGhhdCBpdCBzdXNwZW5kZWQgaW4gdGhlIHNhbWUgR0MgcGFzcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9BcnJheS5wcm90b3R5cGUuanMg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQXJyYXkucHJvdG90eXBlLmpzCmluZGV4
IDc5ZjM3Yzc4YTJhMGUzNDM0MGFhMWViMjZkMmU3Yjc0ZDU1ODc5MzkuLmVjMTA1ZTY5MjI0Zjhl
YWZjMjM4NWMzMjg3YTcyZGJiNGI2NTMwMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9idWlsdGlucy9BcnJheS5wcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J1aWx0aW5zL0FycmF5LnByb3RvdHlwZS5qcwpAQCAtMTg5LDMgKzE4OSw0NiBAQCBmdW5j
dGlvbiBmaWxsKHZhbHVlIC8qIFssIHN0YXJ0IFssIGVuZF1dICovKQogICAgIHJldHVybiBPOwog
fQogCitmdW5jdGlvbiBmaW5kKGNhbGxiYWNrIC8qLCB0aGlzQXJnICovKSB7CisgICAgInVzZSBz
dHJpY3QiOworICAgIGlmICh0aGlzID09PSBudWxsKQorICAgICAgICB0aHJvdyBuZXcgQFR5cGVF
cnJvcigiQXJyYXkucHJvdG90eXBlLmZpbmQgcmVxdWlyZXMgdGhhdCB8dGhpc3wgbm90IGJlIG51
bGwiKTsKKyAgICAKKyAgICBpZiAodGhpcyA9PT0gdW5kZWZpbmVkKQorICAgICAgICB0aHJvdyBu
ZXcgQFR5cGVFcnJvcigiQXJyYXkucHJvdG90eXBlLmZpbmQgcmVxdWlyZXMgdGhhdCB8dGhpc3wg
bm90IGJlIHVuZGVmaW5lZCIpOworICAgIAorICAgIHZhciBhcnJheSA9IEBPYmplY3QodGhpcyk7
CisgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCA+Pj4gMDsKKyAgICAKKyAgICBpZiAodHlw
ZW9mIGNhbGxiYWNrICE9PSAiZnVuY3Rpb24iKQorICAgICAgICB0aHJvdyBuZXcgQFR5cGVFcnJv
cigiQXJyYXkucHJvdG90eXBlLmZpbmQgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uIik7Cisg
ICAgCisgICAgdmFyIHRoaXNBcmcgPSBhcmd1bWVudHMubGVuZ3RoID4gMSA/IGFyZ3VtZW50c1sx
XSA6IHVuZGVmaW5lZDsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7Cisg
ICAgICAgIGlmIChjYWxsYmFjay5AY2FsbCh0aGlzQXJnLCBhcnJheVtpXSwgaSwgYXJyYXkpKQor
ICAgICAgICAgICAgcmV0dXJuIGFycmF5W2ldOworICAgIH0KKyAgICByZXR1cm4gdW5kZWZpbmVk
OworfQorCitmdW5jdGlvbiBmaW5kSW5kZXgoY2FsbGJhY2sgLyosIHRoaXNBcmcgKi8pIHsKKyAg
ICAidXNlIHN0cmljdCI7CisgICAgaWYgKHRoaXMgPT09IG51bGwpCisgICAgICAgIHRocm93IG5l
dyBAVHlwZUVycm9yKCJBcnJheS5wcm90b3R5cGUuZmluZEluZGV4IHJlcXVpcmVzIHRoYXQgfHRo
aXN8IG5vdCBiZSBudWxsIik7CisgICAgCisgICAgaWYgKHRoaXMgPT09IHVuZGVmaW5lZCkKKyAg
ICAgICAgdGhyb3cgbmV3IEBUeXBlRXJyb3IoIkFycmF5LnByb3RvdHlwZS5maW5kSW5kZXggcmVx
dWlyZXMgdGhhdCB8dGhpc3wgbm90IGJlIHVuZGVmaW5lZCIpOworICAgIAorICAgIHZhciBhcnJh
eSA9IEBPYmplY3QodGhpcyk7CisgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCA+Pj4gMDsK
KyAgICAKKyAgICBpZiAodHlwZW9mIGNhbGxiYWNrICE9PSAiZnVuY3Rpb24iKQorICAgICAgICB0
aHJvdyBuZXcgQFR5cGVFcnJvcigiQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleCBjYWxsYmFjayBt
dXN0IGJlIGEgZnVuY3Rpb24iKTsKKyAgICAKKyAgICB2YXIgdGhpc0FyZyA9IGFyZ3VtZW50cy5s
ZW5ndGggPiAxID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkOworICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgbGVuZ3RoOyBpKyspIHsKKyAgICAgICAgaWYgKGNhbGxiYWNrLkBjYWxsKHRoaXNBcmcs
IGFycmF5W2ldLCBpLCBhcnJheSkpCisgICAgICAgICAgICByZXR1cm4gaTsKKyAgICB9CisgICAg
cmV0dXJuIC0xOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
QXJyYXlQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlQ
cm90b3R5cGUuY3BwCmluZGV4IDY4YjY0NTg0ZjA1ZWU0MzI4MzllYTJjYTZhMmRiMGVmZmRhMmQw
MjkuLmYzN2YwMGU1NWQ0YjRkY2UyNmE5OGMyYTEzOWI1NDkwNGYyNDNiY2IgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5UHJvdG90eXBlLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheVByb3RvdHlwZS5jcHAKQEAgLTExNSw2
ICsxMTUsOCBAQCBjb25zdCBDbGFzc0luZm8gQXJyYXlQcm90b3R5cGU6OnNfaW5mbyA9IHsiQXJy
YXkiLCAmSlNBcnJheTo6c19pbmZvLCAwLCBFeGVjU3RhdAogICBtYXAgICAgICAgICAgICBhcnJh
eVByb3RvRnVuY01hcCAgICAgICAgICAgIERvbnRFbnVtfEZ1bmN0aW9uIDEKICAgZW50cmllcyAg
ICAgICAgYXJyYXlQcm90b0Z1bmNFbnRyaWVzICAgICAgICBEb250RW51bXxGdW5jdGlvbiAwCiAg
IGtleXMgICAgICAgICAgIGFycmF5UHJvdG9GdW5jS2V5cyAgICAgICAgICAgRG9udEVudW18RnVu
Y3Rpb24gMAorICBmaW5kICAgICAgICAgICBhcnJheVByb3RvRnVuY0ZpbmQgICAgICAgICAgIERv
bnRFbnVtfEZ1bmN0aW9uIDEKKyAgZmluZEluZGV4ICAgICAgYXJyYXlQcm90b0Z1bmNGaW5kSW5k
ZXggICAgICBEb250RW51bXxGdW5jdGlvbiAxCiBAZW5kCiAqLwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGMzZTgwOGYy
YzgzNTBlMzA0ZTJhZTE5OTNkYTZjODcxYjA5MTdmZS4uMTkwMzEyYzVlYmQ2Mzk0ZmNkNGExZTUy
YmFjMjhlNDBlZDBkYTIwNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTA0LTI0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIEltcGxlbWVudCBBcnJh
eS5wcm90b3R5cGUuZmluZCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzA5NjYKKworICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KKwor
ICAgICAgICAqIGpzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBqcy9hcnJheS1maW5kLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMv
YXJyYXktZmluZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBqcy9hcnJheS1maW5kSW5kZXgtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9hcnJheS1maW5kSW5kZXguaHRtbDogQWRk
ZWQuCisgICAgICAgICoganMvc2NyaXB0LXRlc3RzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVz
LmpzOgorICAgICAgICAqIGpzL3NjcmlwdC10ZXN0cy9hcnJheS1maW5kLmpzOiBBZGRlZC4KKyAg
ICAgICAgKiBqcy9zY3JpcHQtdGVzdHMvYXJyYXktZmluZEluZGV4LmpzOiBBZGRlZC4KKwogMjAx
NC0wNC0yMyAgUHJhdmVlbiBSIEphZGhhdiAgPHByYXZlZW4uakBzYW1zdW5nLmNvbT4KIAogICAg
ICAgICBbTWVkaWFTdHJlYW1dIEltcGxlbWVudCBNZWRpYVN0cmVhbSBhY3RpdmUgYXR0cmlidXRl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9qcy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy1l
eHBlY3RlZC50eHQKaW5kZXggZWRmNzdmMWU2ZTRiNmNkMWZhZWI5ZGY4MmVhNDZkY2ZiNjk5NWQ3
Ni4uMDc2NDgxMDk4MjI3NWZkN2M0ZmQwMzEzYTA1YWNlYWRlZmE4NmVmNCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvanMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2pzL09iamVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLWV4cGVjdGVkLnR4
dApAQCAtNDUsNyArNDUsNyBAQCBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoT2JqZWN0
LnByb3RvdHlwZSkgaXMgWydfX2RlZmluZUdldHRlcl9fJywgJ19fZGVmaQogUEFTUyBnZXRTb3J0
ZWRPd25Qcm9wZXJ0eU5hbWVzKEZ1bmN0aW9uKSBpcyBbJ2xlbmd0aCcsICduYW1lJywgJ3Byb3Rv
dHlwZSddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoRnVuY3Rpb24ucHJvdG90eXBl
KSBpcyBbJ2FwcGx5JywgJ2JpbmQnLCAnY2FsbCcsICdjb25zdHJ1Y3RvcicsICdsZW5ndGgnLCAn
bmFtZScsICd0b1N0cmluZyddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFtZXMoQXJyYXkp
IGlzIFsnaXNBcnJheScsICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5cGUnXQotUEFTUyBnZXRT
b3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKEFycmF5LnByb3RvdHlwZSkgaXMgWydjb25jYXQnLCAnY29u
c3RydWN0b3InLCAnZW50cmllcycsICdldmVyeScsICdmaWxsJywgJ2ZpbHRlcicsICdmb3JFYWNo
JywgJ2luZGV4T2YnLCAnam9pbicsICdrZXlzJywgJ2xhc3RJbmRleE9mJywgJ2xlbmd0aCcsICdt
YXAnLCAncG9wJywgJ3B1c2gnLCAncmVkdWNlJywgJ3JlZHVjZVJpZ2h0JywgJ3JldmVyc2UnLCAn
c2hpZnQnLCAnc2xpY2UnLCAnc29tZScsICdzb3J0JywgJ3NwbGljZScsICd0b0xvY2FsZVN0cmlu
ZycsICd0b1N0cmluZycsICd1bnNoaWZ0J10KK1BBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlOYW1l
cyhBcnJheS5wcm90b3R5cGUpIGlzIFsnY29uY2F0JywgJ2NvbnN0cnVjdG9yJywgJ2VudHJpZXMn
LCAnZXZlcnknLCAnZmlsbCcsICdmaWx0ZXInLCAnZmluZCcsICdmaW5kSW5kZXgnLCAnZm9yRWFj
aCcsICdpbmRleE9mJywgJ2pvaW4nLCAna2V5cycsICdsYXN0SW5kZXhPZicsICdsZW5ndGgnLCAn
bWFwJywgJ3BvcCcsICdwdXNoJywgJ3JlZHVjZScsICdyZWR1Y2VSaWdodCcsICdyZXZlcnNlJywg
J3NoaWZ0JywgJ3NsaWNlJywgJ3NvbWUnLCAnc29ydCcsICdzcGxpY2UnLCAndG9Mb2NhbGVTdHJp
bmcnLCAndG9TdHJpbmcnLCAndW5zaGlmdCddCiBQQVNTIGdldFNvcnRlZE93blByb3BlcnR5TmFt
ZXMoU3RyaW5nKSBpcyBbJ2Zyb21DaGFyQ29kZScsICdsZW5ndGgnLCAnbmFtZScsICdwcm90b3R5
cGUnXQogUEFTUyBnZXRTb3J0ZWRPd25Qcm9wZXJ0eU5hbWVzKFN0cmluZy5wcm90b3R5cGUpIGlz
IFsnYW5jaG9yJywgJ2JpZycsICdibGluaycsICdib2xkJywgJ2NoYXJBdCcsICdjaGFyQ29kZUF0
JywgJ2NvbmNhdCcsICdjb25zdHJ1Y3RvcicsICdmaXhlZCcsICdmb250Y29sb3InLCAnZm9udHNp
emUnLCAnaW5kZXhPZicsICdpdGFsaWNzJywgJ2xhc3RJbmRleE9mJywgJ2xlbmd0aCcsICdsaW5r
JywgJ2xvY2FsZUNvbXBhcmUnLCAnbWF0Y2gnLCAncmVwbGFjZScsICdzZWFyY2gnLCAnc2xpY2Un
LCAnc21hbGwnLCAnc3BsaXQnLCAnc3RyaWtlJywgJ3N1YicsICdzdWJzdHInLCAnc3Vic3RyaW5n
JywgJ3N1cCcsICd0b0xvY2FsZUxvd2VyQ2FzZScsICd0b0xvY2FsZVVwcGVyQ2FzZScsICd0b0xv
d2VyQ2FzZScsICd0b1N0cmluZycsICd0b1VwcGVyQ2FzZScsICd0cmltJywgJ3RyaW1MZWZ0Jywg
J3RyaW1SaWdodCcsICd2YWx1ZU9mJ10KIFBBU1MgZ2V0U29ydGVkT3duUHJvcGVydHlOYW1lcyhC
b29sZWFuKSBpcyBbJ2xlbmd0aCcsICduYW1lJywgJ3Byb3RvdHlwZSddCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9qcy9hcnJheS1maW5kLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2Fy
cmF5LWZpbmQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkZjg2ZWM3NWQyOWViZmFjY2VjZTYx
NjQyNjI1YTRhODQ4MTI4NTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9qcy9hcnJh
eS1maW5kLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQ2IEBACitUZXN0cyBmb3IgQXJyYXkucHJv
dG90eXBlLmZpbmQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgW3VuZGVm
aW5lZCwgMCwgbnVsbCwgZmFsc2UsICcnXS5maW5kKHBhc3NVbmRlZmluZWQpIGlzIHVuZGVmaW5l
ZAorUEFTUyBbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgJyddLmZpbmQocGFzc1plcm8pIGlz
IDAKK1BBU1MgW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsICcnXS5maW5kKHBhc3NOdWxsKSBp
cyBudWxsCitQQVNTIFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCAnJ10uZmluZChwYXNzRmFs
c2UpIGlzIGZhbHNlCitQQVNTIFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCAnJ10uZmluZChw
YXNzRW1wdHlTdHJpbmcpIGlzICcnCitQQVNTIFswLCBudWxsLCBmYWxzZSwgJyddLmZpbmQocGFz
c1VuZGVmaW5lZCkgaXMgdW5kZWZpbmVkCitQQVNTIFt1bmRlZmluZWQsIDAsIGZhbHNlLCAnJ10u
ZmluZChwYXNzTnVsbCkgaXMgdW5kZWZpbmVkCitQQVNTIFt1bmRlZmluZWQsIDAsIG51bGwsICcn
XS5maW5kKHBhc3NGYWxzZSkgaXMgdW5kZWZpbmVkCitQQVNTIFt1bmRlZmluZWQsIDAsIG51bGws
IGZhbHNlXS5maW5kKHBhc3NFbXB0eVN0cmluZykgaXMgdW5kZWZpbmVkCitQQVNTIFt1bmRlZmlu
ZWQsIG51bGwsIGZhbHNlLCAnJ10uZmluZChwYXNzWmVybykgaXMgdW5kZWZpbmVkCitQQVNTIChu
ZXcgQXJyYXkoMjApKS5maW5kKHBhc3NVbmRlZmluZWQpIGlzIHVuZGVmaW5lZAorUEFTUyBhcnJh
eVdpdGhIb2xlcy5maW5kKHBhc3NVbmRlZmluZWQpIGlzIHVuZGVmaW5lZAorUEFTUyBhcnJheVdp
dGhIb2xlcy5maW5kKHBhc3NaZXJvKSBpcyAwCitQQVNTIGFycmF5V2l0aEhvbGVzLmZpbmQocGFz
c051bGwpIGlzIG51bGwKK1BBU1MgYXJyYXlXaXRoSG9sZXMuZmluZChwYXNzRmFsc2UpIGlzIGZh
bHNlCitQQVNTIGFycmF5V2l0aEhvbGVzLmZpbmQocGFzc0VtcHR5U3RyaW5nKSBpcyAnJworUEFT
UyB0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgJyddKS5maW5kKHBhc3NVbmRl
ZmluZWQpIGlzIHVuZGVmaW5lZAorUEFTUyB0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxsLCBm
YWxzZSwgJyddKS5maW5kKHBhc3NaZXJvKSBpcyAwCitQQVNTIHRvT2JqZWN0KFt1bmRlZmluZWQs
IDAsIG51bGwsIGZhbHNlLCAnJ10pLmZpbmQocGFzc051bGwpIGlzIG51bGwKK1BBU1MgdG9PYmpl
Y3QoW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsICcnXSkuZmluZChwYXNzRmFsc2UpIGlzIGZh
bHNlCitQQVNTIHRvT2JqZWN0KFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCAnJ10pLmZpbmQo
cGFzc0VtcHR5U3RyaW5nKSBpcyAnJworUEFTUyB0b09iamVjdChbMCwgbnVsbCwgZmFsc2UsICcn
XSkuZmluZChwYXNzVW5kZWZpbmVkKSBpcyB1bmRlZmluZWQKK1BBU1MgdG9PYmplY3QoW3VuZGVm
aW5lZCwgMCwgZmFsc2UsICcnXSkuZmluZChwYXNzTnVsbCkgaXMgdW5kZWZpbmVkCitQQVNTIHRv
T2JqZWN0KFt1bmRlZmluZWQsIDAsIG51bGwsICcnXSkuZmluZChwYXNzRmFsc2UpIGlzIHVuZGVm
aW5lZAorUEFTUyB0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZV0pLmZpbmQocGFz
c0VtcHR5U3RyaW5nKSBpcyB1bmRlZmluZWQKK1BBU1MgdG9PYmplY3QoW3VuZGVmaW5lZCwgbnVs
bCwgZmFsc2UsICcnXSkuZmluZChwYXNzWmVybykgaXMgdW5kZWZpbmVkCitQQVNTIHRvT2JqZWN0
KG5ldyBBcnJheSgyMCkpLmZpbmQocGFzc1VuZGVmaW5lZCkgaXMgdW5kZWZpbmVkCitQQVNTIFsw
LDEsMiwzLDQsNSw2LDcsOCw5XS5maW5kKGZpbmRJdGVtQWRkZWREdXJpbmdTZWFyY2gpIGlzIHVu
ZGVmaW5lZAorUEFTUyBbMCwxLDIsMyw0LDUsNiw3LDgsOV0uZmluZChmaW5kSXRlbVJlbW92ZWRE
dXJpbmdTZWFyY2gpIGlzIHVuZGVmaW5lZAorUEFTUyBBcnJheS5wcm90b3R5cGUuZmluZC5jYWxs
KHVuZGVmaW5lZCwgZnVuY3Rpb24oKSB7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJy
YXkucHJvdG90eXBlLmZpbmQgcmVxdWlyZXMgdGhhdCB8dGhpc3wgbm90IGJlIHVuZGVmaW5lZC4K
K1BBU1MgQXJyYXkucHJvdG90eXBlLmZpbmQuY2FsbChudWxsLCBmdW5jdGlvbigpIHt9KSB0aHJl
dyBleGNlcHRpb24gVHlwZUVycm9yOiBBcnJheS5wcm90b3R5cGUuZmluZCByZXF1aXJlcyB0aGF0
IHx0aGlzfCBub3QgYmUgbnVsbC4KK1BBU1MgW10uZmluZCgxKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBBcnJheS5wcm90b3R5cGUuZmluZCBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24u
CitQQVNTIFtdLmZpbmQoJ2hlbGxvJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJyYXku
cHJvdG90eXBlLmZpbmQgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uLgorUEFTUyBbXS5maW5k
KFtdKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcnJheS5wcm90b3R5cGUuZmluZCBjYWxs
YmFjayBtdXN0IGJlIGEgZnVuY3Rpb24uCitQQVNTIFtdLmZpbmQoe30pIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IEFycmF5LnByb3RvdHlwZS5maW5kIGNhbGxiYWNrIG11c3QgYmUgYSBmdW5j
dGlvbi4KK1BBU1MgW10uZmluZChudWxsKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcnJh
eS5wcm90b3R5cGUuZmluZCBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24uCitQQVNTIFtdLmZp
bmQodW5kZWZpbmVkKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBBcnJheS5wcm90b3R5cGUu
ZmluZCBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24uCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMv
YXJyYXktZmluZC5odG1sIGIvTGF5b3V0VGVzdHMvanMvYXJyYXktZmluZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjRjOTM5NTk0NTY5ZjZmZmI0ZmJhODEwMGEzMDM1MGVlMzE0MTVjY2QKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9qcy9hcnJheS1maW5kLmh0bWwKQEAgLTAsMCArMSwxMCBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2FycmF5LWZpbmQu
anMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMv
YXJyYXktZmluZEluZGV4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pzL2FycmF5LWZpbmRJ
bmRleC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODhlYWU1NjJmZTNjMmNlYmMxMzUxNWEyOTIz
YTllYTkyY2Y0YzIyOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL2FycmF5LWZp
bmRJbmRleC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0NiBAQAorVGVzdHMgZm9yIEFycmF5LnBy
b3RvdHlwZS5maW5kSW5kZXgKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
W3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsICcnXS5maW5kSW5kZXgocGFzc1VuZGVmaW5lZCkg
aXMgMAorUEFTUyBbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgJyddLmZpbmRJbmRleChwYXNz
WmVybykgaXMgMQorUEFTUyBbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgJyddLmZpbmRJbmRl
eChwYXNzTnVsbCkgaXMgMgorUEFTUyBbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgJyddLmZp
bmRJbmRleChwYXNzRmFsc2UpIGlzIDMKK1BBU1MgW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2Us
ICcnXS5maW5kSW5kZXgocGFzc0VtcHR5U3RyaW5nKSBpcyA0CitQQVNTIFswLCBudWxsLCBmYWxz
ZSwgJyddLmZpbmRJbmRleChwYXNzVW5kZWZpbmVkKSBpcyAtMQorUEFTUyBbdW5kZWZpbmVkLCAw
LCBmYWxzZSwgJyddLmZpbmRJbmRleChwYXNzTnVsbCkgaXMgLTEKK1BBU1MgW3VuZGVmaW5lZCwg
MCwgbnVsbCwgJyddLmZpbmRJbmRleChwYXNzRmFsc2UpIGlzIC0xCitQQVNTIFt1bmRlZmluZWQs
IDAsIG51bGwsIGZhbHNlXS5maW5kSW5kZXgocGFzc0VtcHR5U3RyaW5nKSBpcyAtMQorUEFTUyBb
dW5kZWZpbmVkLCBudWxsLCBmYWxzZSwgJyddLmZpbmRJbmRleChwYXNzWmVybykgaXMgLTEKK1BB
U1MgKG5ldyBBcnJheSgyMCkpLmZpbmRJbmRleChwYXNzVW5kZWZpbmVkKSBpcyAwCitQQVNTIGFy
cmF5V2l0aEhvbGVzLmZpbmRJbmRleChwYXNzVW5kZWZpbmVkKSBpcyAwCitQQVNTIGFycmF5V2l0
aEhvbGVzLmZpbmRJbmRleChwYXNzWmVybykgaXMgMTAKK1BBU1MgYXJyYXlXaXRoSG9sZXMuZmlu
ZEluZGV4KHBhc3NOdWxsKSBpcyAyMAorUEFTUyBhcnJheVdpdGhIb2xlcy5maW5kSW5kZXgocGFz
c0ZhbHNlKSBpcyAzMAorUEFTUyBhcnJheVdpdGhIb2xlcy5maW5kSW5kZXgocGFzc0VtcHR5U3Ry
aW5nKSBpcyA0MAorUEFTUyB0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgJydd
KS5maW5kSW5kZXgocGFzc1VuZGVmaW5lZCkgaXMgMAorUEFTUyB0b09iamVjdChbdW5kZWZpbmVk
LCAwLCBudWxsLCBmYWxzZSwgJyddKS5maW5kSW5kZXgocGFzc1plcm8pIGlzIDEKK1BBU1MgdG9P
YmplY3QoW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsICcnXSkuZmluZEluZGV4KHBhc3NOdWxs
KSBpcyAyCitQQVNTIHRvT2JqZWN0KFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCAnJ10pLmZp
bmRJbmRleChwYXNzRmFsc2UpIGlzIDMKK1BBU1MgdG9PYmplY3QoW3VuZGVmaW5lZCwgMCwgbnVs
bCwgZmFsc2UsICcnXSkuZmluZEluZGV4KHBhc3NFbXB0eVN0cmluZykgaXMgNAorUEFTUyB0b09i
amVjdChbMCwgbnVsbCwgZmFsc2UsICcnXSkuZmluZEluZGV4KHBhc3NVbmRlZmluZWQpIGlzIC0x
CitQQVNTIHRvT2JqZWN0KFt1bmRlZmluZWQsIDAsIGZhbHNlLCAnJ10pLmZpbmRJbmRleChwYXNz
TnVsbCkgaXMgLTEKK1BBU1MgdG9PYmplY3QoW3VuZGVmaW5lZCwgMCwgbnVsbCwgJyddKS5maW5k
SW5kZXgocGFzc0ZhbHNlKSBpcyAtMQorUEFTUyB0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxs
LCBmYWxzZV0pLmZpbmRJbmRleChwYXNzRW1wdHlTdHJpbmcpIGlzIC0xCitQQVNTIHRvT2JqZWN0
KFt1bmRlZmluZWQsIG51bGwsIGZhbHNlLCAnJ10pLmZpbmRJbmRleChwYXNzWmVybykgaXMgLTEK
K1BBU1MgdG9PYmplY3QobmV3IEFycmF5KDIwKSkuZmluZEluZGV4KHBhc3NVbmRlZmluZWQpIGlz
IDAKK1BBU1MgWzAsMSwyLDMsNCw1LDYsNyw4LDldLmZpbmRJbmRleChmaW5kSXRlbUFkZGVkRHVy
aW5nU2VhcmNoKSBpcyAtMQorUEFTUyBbMCwxLDIsMyw0LDUsNiw3LDgsOV0uZmluZEluZGV4KGZp
bmRJdGVtUmVtb3ZlZER1cmluZ1NlYXJjaCkgaXMgLTEKK1BBU1MgQXJyYXkucHJvdG90eXBlLmZp
bmRJbmRleC5jYWxsKHVuZGVmaW5lZCwgZnVuY3Rpb24oKSB7fSkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleCByZXF1aXJlcyB0aGF0IHx0aGlzfCBu
b3QgYmUgdW5kZWZpbmVkLgorUEFTUyBBcnJheS5wcm90b3R5cGUuZmluZEluZGV4LmNhbGwobnVs
bCwgZnVuY3Rpb24oKSB7fSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJyYXkucHJvdG90
eXBlLmZpbmRJbmRleCByZXF1aXJlcyB0aGF0IHx0aGlzfCBub3QgYmUgbnVsbC4KK1BBU1MgW10u
ZmluZEluZGV4KDEpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEFycmF5LnByb3RvdHlwZS5m
aW5kSW5kZXggY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uLgorUEFTUyBbXS5maW5kSW5kZXgo
J2hlbGxvJykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJyYXkucHJvdG90eXBlLmZpbmRJ
bmRleCBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24uCitQQVNTIFtdLmZpbmRJbmRleChbXSkg
dGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleCBjYWxs
YmFjayBtdXN0IGJlIGEgZnVuY3Rpb24uCitQQVNTIFtdLmZpbmRJbmRleCh7fSkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleCBjYWxsYmFjayBtdXN0
IGJlIGEgZnVuY3Rpb24uCitQQVNTIFtdLmZpbmRJbmRleChudWxsKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBBcnJheS5wcm90b3R5cGUuZmluZEluZGV4IGNhbGxiYWNrIG11c3QgYmUgYSBm
dW5jdGlvbi4KK1BBU1MgW10uZmluZEluZGV4KHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5
cGVFcnJvcjogQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleCBjYWxsYmFjayBtdXN0IGJlIGEgZnVu
Y3Rpb24uCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvYXJyYXktZmluZEluZGV4Lmh0bWwgYi9MYXlv
dXRUZXN0cy9qcy9hcnJheS1maW5kSW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NGJlMTI5Y2RjMThk
NTQyZmNiOTUyNzZjYzRkNTk1MzgwNmU5ODFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvanMvYXJyYXktZmluZEluZGV4Lmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFET0NUWVBFIEhU
TUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL2FycmF5LWZpbmRJbmRleC5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9zY3JpcHQt
dGVzdHMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMuanMgYi9MYXlvdXRUZXN0cy9qcy9zY3Jp
cHQtdGVzdHMvT2JqZWN0LWdldE93blByb3BlcnR5TmFtZXMuanMKaW5kZXggZmFhYzdhODBmMWRm
ODI2YmQyZTcyYTVkZDBiYWI2ZjE0MzdmMzE0ZC4uMDZkNWY4ZDZmNjQwMDA0ZTBiNDBhMzA1Mjcw
ZmNlODk0Y2E1OWZkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL09i
amVjdC1nZXRPd25Qcm9wZXJ0eU5hbWVzLmpzCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10
ZXN0cy9PYmplY3QtZ2V0T3duUHJvcGVydHlOYW1lcy5qcwpAQCAtNTMsNyArNTMsNyBAQCB2YXIg
ZXhwZWN0ZWRQcm9wZXJ0eU5hbWVzU2V0ID0gewogICAgICJGdW5jdGlvbiI6ICJbJ2xlbmd0aCcs
ICduYW1lJywgJ3Byb3RvdHlwZSddIiwKICAgICAiRnVuY3Rpb24ucHJvdG90eXBlIjogIlsnYXBw
bHknLCAnYmluZCcsICdjYWxsJywgJ2NvbnN0cnVjdG9yJywgJ2xlbmd0aCcsICduYW1lJywgJ3Rv
U3RyaW5nJ10iLAogICAgICJBcnJheSI6ICJbJ2lzQXJyYXknLCAnbGVuZ3RoJywgJ25hbWUnLCAn
cHJvdG90eXBlJ10iLAotICAgICJBcnJheS5wcm90b3R5cGUiOiAiWydjb25jYXQnLCAnY29uc3Ry
dWN0b3InLCAnZW50cmllcycsICdldmVyeScsICdmaWxsJywgJ2ZpbHRlcicsICdmb3JFYWNoJywg
J2luZGV4T2YnLCAnam9pbicsICdrZXlzJywgJ2xhc3RJbmRleE9mJywgJ2xlbmd0aCcsICdtYXAn
LCAncG9wJywgJ3B1c2gnLCAncmVkdWNlJywgJ3JlZHVjZVJpZ2h0JywgJ3JldmVyc2UnLCAnc2hp
ZnQnLCAnc2xpY2UnLCAnc29tZScsICdzb3J0JywgJ3NwbGljZScsICd0b0xvY2FsZVN0cmluZycs
ICd0b1N0cmluZycsICd1bnNoaWZ0J10iLAorICAgICJBcnJheS5wcm90b3R5cGUiOiAiWydjb25j
YXQnLCAnY29uc3RydWN0b3InLCAnZW50cmllcycsICdldmVyeScsICdmaWxsJywgJ2ZpbHRlcics
ICdmaW5kJywgJ2ZpbmRJbmRleCcsICdmb3JFYWNoJywgJ2luZGV4T2YnLCAnam9pbicsICdrZXlz
JywgJ2xhc3RJbmRleE9mJywgJ2xlbmd0aCcsICdtYXAnLCAncG9wJywgJ3B1c2gnLCAncmVkdWNl
JywgJ3JlZHVjZVJpZ2h0JywgJ3JldmVyc2UnLCAnc2hpZnQnLCAnc2xpY2UnLCAnc29tZScsICdz
b3J0JywgJ3NwbGljZScsICd0b0xvY2FsZVN0cmluZycsICd0b1N0cmluZycsICd1bnNoaWZ0J10i
LAogICAgICJTdHJpbmciOiAiWydmcm9tQ2hhckNvZGUnLCAnbGVuZ3RoJywgJ25hbWUnLCAncHJv
dG90eXBlJ10iLAogICAgICJTdHJpbmcucHJvdG90eXBlIjogIlsnYW5jaG9yJywgJ2JpZycsICdi
bGluaycsICdib2xkJywgJ2NoYXJBdCcsICdjaGFyQ29kZUF0JywgJ2NvbmNhdCcsICdjb25zdHJ1
Y3RvcicsICdmaXhlZCcsICdmb250Y29sb3InLCAnZm9udHNpemUnLCAnaW5kZXhPZicsICdpdGFs
aWNzJywgJ2xhc3RJbmRleE9mJywgJ2xlbmd0aCcsICdsaW5rJywgJ2xvY2FsZUNvbXBhcmUnLCAn
bWF0Y2gnLCAncmVwbGFjZScsICdzZWFyY2gnLCAnc2xpY2UnLCAnc21hbGwnLCAnc3BsaXQnLCAn
c3RyaWtlJywgJ3N1YicsICdzdWJzdHInLCAnc3Vic3RyaW5nJywgJ3N1cCcsICd0b0xvY2FsZUxv
d2VyQ2FzZScsICd0b0xvY2FsZVVwcGVyQ2FzZScsICd0b0xvd2VyQ2FzZScsICd0b1N0cmluZycs
ICd0b1VwcGVyQ2FzZScsICd0cmltJywgJ3RyaW1MZWZ0JywgJ3RyaW1SaWdodCcsICd2YWx1ZU9m
J10iLAogICAgICJCb29sZWFuIjogIlsnbGVuZ3RoJywgJ25hbWUnLCAncHJvdG90eXBlJ10iLApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2FycmF5LWZpbmQuanMgYi9M
YXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvYXJyYXktZmluZC5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMGM0
NzgwM2MwY2ZhMGQ2OTYyNTIxNDYzZDkzNzRhZDM4MDI4NDUxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2FycmF5LWZpbmQuanMKQEAgLTAsMCArMSw5MiBA
QAorZGVzY3JpcHRpb24oIlRlc3RzIGZvciBBcnJheS5wcm90b3R5cGUuZmluZCIpOworCitmdW5j
dGlvbiBwYXNzVW5kZWZpbmVkKGVsZW1lbnQsIGluZGV4LCBhcnJheSkgeworICAgIHJldHVybiB0
eXBlb2YgZWxlbWVudCA9PT0gInVuZGVmaW5lZCI7Cit9CitmdW5jdGlvbiBwYXNzWmVybyhlbGVt
ZW50LCBpbmRleCwgYXJyYXkpIHsKKyAgICByZXR1cm4gZWxlbWVudCA9PT0gMDsKK30KK2Z1bmN0
aW9uIHBhc3NOdWxsKGVsZW1lbnQsIGluZGV4LCBhcnJheSkgeworICAgIHJldHVybiBlbGVtZW50
ID09PSBudWxsOworfQorZnVuY3Rpb24gcGFzc0ZhbHNlKGVsZW1lbnQsIGluZGV4LCBhcnJheSkg
eworICAgIHJldHVybiBlbGVtZW50ID09PSBmYWxzZTsKK30KK2Z1bmN0aW9uIHBhc3NFbXB0eVN0
cmluZyhlbGVtZW50LCBpbmRleCwgYXJyYXkpIHsKKyAgICByZXR1cm4gZWxlbWVudCA9PT0gIiI7
Cit9CitmdW5jdGlvbiBwYXNzRXZlbihhKSB7CisgICAgcmV0dXJuICEoYSAmIDEpOworfQorZnVu
Y3Rpb24gcGFzc0FmdGVyNShlbGVtZW50LCBpbmRleCkgeworICAgIHJldHVybiBpbmRleCA+PSA1
OworfQorZnVuY3Rpb24gdG9PYmplY3QoYXJyYXkpIHsKKyAgICB2YXIgcmVzdWx0ID0ge307Cisg
ICAgcmVzdWx0Lmxlbmd0aCA9IGFycmF5Lmxlbmd0aDsKKyAgICBmb3IgKHZhciBpIGluIGFycmF5
KQorICAgICAgICByZXN1bHRbaV0gPSBhcnJheVtpXTsKKyAgICByZXN1bHQuZmluZD1BcnJheS5w
cm90b3R5cGUuZmluZDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorZnVuY3Rpb24gZmluZEl0ZW1B
ZGRlZER1cmluZ1NlYXJjaChlbGVtZW50LCBpbmRleCwgYXJyYXkpIHsKKyAgICBpZiAoaW5kZXgg
PT09IDApCisgICAgICAgIGFycmF5LnB1c2goYXJyYXkubGVuZ3RoKTsKKyAgICByZXR1cm4gKGlu
ZGV4ID09PSBhcnJheS5sZW5ndGggLSAxKTsKK30KK2Z1bmN0aW9uIGZpbmRJdGVtUmVtb3ZlZER1
cmluZ1NlYXJjaChlbGVtZW50LCBpbmRleCwgYXJyYXkpIHsKKyAgICBpZiAoaW5kZXggPT09IDAp
CisgICAgICAgIGFycmF5LnNoaWZ0KCk7CisgICAgcmV0dXJuIChpbmRleCA9PT0gMCAmJiBhcnJh
eVswXSA9PT0gZWxlbWVudCk7Cit9CithcnJheVdpdGhIb2xlcyA9IFtdOworYXJyYXlXaXRoSG9s
ZXNbMTBdID0gMDsKK2FycmF5V2l0aEhvbGVzWzIwXSA9IG51bGw7CithcnJheVdpdGhIb2xlc1sz
MF0gPSBmYWxzZTsKK2FycmF5V2l0aEhvbGVzWzQwXSA9ICIiOworCitzaG91bGRCZSgiW3VuZGVm
aW5lZCwgMCwgbnVsbCwgZmFsc2UsICcnXS5maW5kKHBhc3NVbmRlZmluZWQpIiwgInVuZGVmaW5l
ZCIpOworc2hvdWxkQmUoIlt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCAnJ10uZmluZChwYXNz
WmVybykiLCAiMCIpOworc2hvdWxkQmUoIlt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCAnJ10u
ZmluZChwYXNzTnVsbCkiLCAibnVsbCIpOworc2hvdWxkQmUoIlt1bmRlZmluZWQsIDAsIG51bGws
IGZhbHNlLCAnJ10uZmluZChwYXNzRmFsc2UpIiwgImZhbHNlIik7CitzaG91bGRCZSgiW3VuZGVm
aW5lZCwgMCwgbnVsbCwgZmFsc2UsICcnXS5maW5kKHBhc3NFbXB0eVN0cmluZykiLCAiJyciKTsK
K3Nob3VsZEJlKCJbMCwgbnVsbCwgZmFsc2UsICcnXS5maW5kKHBhc3NVbmRlZmluZWQpIiwgInVu
ZGVmaW5lZCIpOworc2hvdWxkQmUoIlt1bmRlZmluZWQsIDAsIGZhbHNlLCAnJ10uZmluZChwYXNz
TnVsbCkiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgiW3VuZGVmaW5lZCwgMCwgbnVsbCwgJydd
LmZpbmQocGFzc0ZhbHNlKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJbdW5kZWZpbmVkLCAw
LCBudWxsLCBmYWxzZV0uZmluZChwYXNzRW1wdHlTdHJpbmcpIiwgInVuZGVmaW5lZCIpOworc2hv
dWxkQmUoIlt1bmRlZmluZWQsIG51bGwsIGZhbHNlLCAnJ10uZmluZChwYXNzWmVybykiLCAidW5k
ZWZpbmVkIik7CitzaG91bGRCZSgiKG5ldyBBcnJheSgyMCkpLmZpbmQocGFzc1VuZGVmaW5lZCki
LCAidW5kZWZpbmVkIik7CisKKy8vIEFycmF5IHdpdGggaG9sZXMuCitzaG91bGRCZSgiYXJyYXlX
aXRoSG9sZXMuZmluZChwYXNzVW5kZWZpbmVkKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJh
cnJheVdpdGhIb2xlcy5maW5kKHBhc3NaZXJvKSIsICIwIik7CitzaG91bGRCZSgiYXJyYXlXaXRo
SG9sZXMuZmluZChwYXNzTnVsbCkiLCAibnVsbCIpOworc2hvdWxkQmUoImFycmF5V2l0aEhvbGVz
LmZpbmQocGFzc0ZhbHNlKSIsICJmYWxzZSIpOworc2hvdWxkQmUoImFycmF5V2l0aEhvbGVzLmZp
bmQocGFzc0VtcHR5U3RyaW5nKSIsICInJyIpOworCisvLyBHZW5lcmljIE9iamVjdAorc2hvdWxk
QmUoInRvT2JqZWN0KFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCAnJ10pLmZpbmQocGFzc1Vu
ZGVmaW5lZCkiLCAidW5kZWZpbmVkIik7CitzaG91bGRCZSgidG9PYmplY3QoW3VuZGVmaW5lZCwg
MCwgbnVsbCwgZmFsc2UsICcnXSkuZmluZChwYXNzWmVybykiLCAiMCIpOworc2hvdWxkQmUoInRv
T2JqZWN0KFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCAnJ10pLmZpbmQocGFzc051bGwpIiwg
Im51bGwiKTsKK3Nob3VsZEJlKCJ0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwg
JyddKS5maW5kKHBhc3NGYWxzZSkiLCAiZmFsc2UiKTsKK3Nob3VsZEJlKCJ0b09iamVjdChbdW5k
ZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgJyddKS5maW5kKHBhc3NFbXB0eVN0cmluZykiLCAiJyci
KTsKK3Nob3VsZEJlKCJ0b09iamVjdChbMCwgbnVsbCwgZmFsc2UsICcnXSkuZmluZChwYXNzVW5k
ZWZpbmVkKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJ0b09iamVjdChbdW5kZWZpbmVkLCAw
LCBmYWxzZSwgJyddKS5maW5kKHBhc3NOdWxsKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJ0
b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxsLCAnJ10pLmZpbmQocGFzc0ZhbHNlKSIsICJ1bmRl
ZmluZWQiKTsKK3Nob3VsZEJlKCJ0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZV0p
LmZpbmQocGFzc0VtcHR5U3RyaW5nKSIsICJ1bmRlZmluZWQiKTsKK3Nob3VsZEJlKCJ0b09iamVj
dChbdW5kZWZpbmVkLCBudWxsLCBmYWxzZSwgJyddKS5maW5kKHBhc3NaZXJvKSIsICJ1bmRlZmlu
ZWQiKTsKK3Nob3VsZEJlKCJ0b09iamVjdChuZXcgQXJyYXkoMjApKS5maW5kKHBhc3NVbmRlZmlu
ZWQpIiwgInVuZGVmaW5lZCIpOworCisvLyBNb2RpZmljYXRpb24gZHVyaW5nIHNlYXJjaAorc2hv
dWxkQmUoIlswLDEsMiwzLDQsNSw2LDcsOCw5XS5maW5kKGZpbmRJdGVtQWRkZWREdXJpbmdTZWFy
Y2gpIiwgInVuZGVmaW5lZCIpOworc2hvdWxkQmUoIlswLDEsMiwzLDQsNSw2LDcsOCw5XS5maW5k
KGZpbmRJdGVtUmVtb3ZlZER1cmluZ1NlYXJjaCkiLCAidW5kZWZpbmVkIik7CisKKy8vIEV4ZXB0
aW9ucworc2hvdWxkVGhyb3coIkFycmF5LnByb3RvdHlwZS5maW5kLmNhbGwodW5kZWZpbmVkLCBm
dW5jdGlvbigpIHt9KSIsICInVHlwZUVycm9yOiBBcnJheS5wcm90b3R5cGUuZmluZCByZXF1aXJl
cyB0aGF0IHx0aGlzfCBub3QgYmUgdW5kZWZpbmVkJyIpOworc2hvdWxkVGhyb3coIkFycmF5LnBy
b3RvdHlwZS5maW5kLmNhbGwobnVsbCwgZnVuY3Rpb24oKSB7fSkiLCAiJ1R5cGVFcnJvcjogQXJy
YXkucHJvdG90eXBlLmZpbmQgcmVxdWlyZXMgdGhhdCB8dGhpc3wgbm90IGJlIG51bGwnIik7Citz
aG91bGRUaHJvdygiW10uZmluZCgxKSIsICInVHlwZUVycm9yOiBBcnJheS5wcm90b3R5cGUuZmlu
ZCBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24nIik7CitzaG91bGRUaHJvdygiW10uZmluZCgn
aGVsbG8nKSIsICInVHlwZUVycm9yOiBBcnJheS5wcm90b3R5cGUuZmluZCBjYWxsYmFjayBtdXN0
IGJlIGEgZnVuY3Rpb24nIik7CitzaG91bGRUaHJvdygiW10uZmluZChbXSkiLCAiJ1R5cGVFcnJv
cjogQXJyYXkucHJvdG90eXBlLmZpbmQgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uJyIpOwor
c2hvdWxkVGhyb3coIltdLmZpbmQoe30pIiwgIidUeXBlRXJyb3I6IEFycmF5LnByb3RvdHlwZS5m
aW5kIGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbiciKTsKK3Nob3VsZFRocm93KCJbXS5maW5k
KG51bGwpIiwgIidUeXBlRXJyb3I6IEFycmF5LnByb3RvdHlwZS5maW5kIGNhbGxiYWNrIG11c3Qg
YmUgYSBmdW5jdGlvbiciKTsKK3Nob3VsZFRocm93KCJbXS5maW5kKHVuZGVmaW5lZCkiLCAiJ1R5
cGVFcnJvcjogQXJyYXkucHJvdG90eXBlLmZpbmQgY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9u
JyIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2FycmF5LWZpbmRJ
bmRleC5qcyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJheS1maW5kSW5kZXguanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjE4ZmJlZjc5ZGY1MTBlMzg0OWFiM2Y5ZGM2ZWM5OGEyMDg1ZGZmNgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9hcnJheS1maW5kSW5k
ZXguanMKQEAgLTAsMCArMSw5MiBAQAorZGVzY3JpcHRpb24oIlRlc3RzIGZvciBBcnJheS5wcm90
b3R5cGUuZmluZEluZGV4Iik7CisKK2Z1bmN0aW9uIHBhc3NVbmRlZmluZWQoZWxlbWVudCwgaW5k
ZXgsIGFycmF5KSB7CisgICAgcmV0dXJuIHR5cGVvZiBlbGVtZW50ID09PSAidW5kZWZpbmVkIjsK
K30KK2Z1bmN0aW9uIHBhc3NaZXJvKGVsZW1lbnQsIGluZGV4LCBhcnJheSkgeworICAgIHJldHVy
biBlbGVtZW50ID09PSAwOworfQorZnVuY3Rpb24gcGFzc051bGwoZWxlbWVudCwgaW5kZXgsIGFy
cmF5KSB7CisgICAgcmV0dXJuIGVsZW1lbnQgPT09IG51bGw7Cit9CitmdW5jdGlvbiBwYXNzRmFs
c2UoZWxlbWVudCwgaW5kZXgsIGFycmF5KSB7CisgICAgcmV0dXJuIGVsZW1lbnQgPT09IGZhbHNl
OworfQorZnVuY3Rpb24gcGFzc0VtcHR5U3RyaW5nKGVsZW1lbnQsIGluZGV4LCBhcnJheSkgewor
ICAgIHJldHVybiBlbGVtZW50ID09PSAiIjsKK30KK2Z1bmN0aW9uIHBhc3NFdmVuKGEpIHsKKyAg
ICByZXR1cm4gIShhICYgMSk7Cit9CitmdW5jdGlvbiBwYXNzQWZ0ZXI1KGVsZW1lbnQsIGluZGV4
KSB7CisgICAgcmV0dXJuIGluZGV4ID49IDU7Cit9CitmdW5jdGlvbiB0b09iamVjdChhcnJheSkg
eworICAgIHZhciByZXN1bHQgPSB7fTsKKyAgICByZXN1bHQubGVuZ3RoID0gYXJyYXkubGVuZ3Ro
OworICAgIGZvciAodmFyIGkgaW4gYXJyYXkpCisgICAgICAgIHJlc3VsdFtpXSA9IGFycmF5W2ld
OworICAgIHJlc3VsdC5maW5kSW5kZXg9QXJyYXkucHJvdG90eXBlLmZpbmRJbmRleDsKKyAgICBy
ZXR1cm4gcmVzdWx0OworfQorZnVuY3Rpb24gZmluZEl0ZW1BZGRlZER1cmluZ1NlYXJjaChlbGVt
ZW50LCBpbmRleCwgYXJyYXkpIHsKKyAgICBpZiAoaW5kZXggPT09IDApCisgICAgICAgIGFycmF5
LnB1c2goYXJyYXkubGVuZ3RoKTsKKyAgICByZXR1cm4gKGluZGV4ID09PSBhcnJheS5sZW5ndGgg
LSAxKTsKK30KK2Z1bmN0aW9uIGZpbmRJdGVtUmVtb3ZlZER1cmluZ1NlYXJjaChlbGVtZW50LCBp
bmRleCwgYXJyYXkpIHsKKyAgICBpZiAoaW5kZXggPT09IDApCisgICAgICAgIGFycmF5LnNoaWZ0
KCk7CisgICAgcmV0dXJuIChpbmRleCA9PT0gMCAmJiBhcnJheVswXSA9PT0gZWxlbWVudCk7Cit9
CithcnJheVdpdGhIb2xlcyA9IFtdOworYXJyYXlXaXRoSG9sZXNbMTBdID0gMDsKK2FycmF5V2l0
aEhvbGVzWzIwXSA9IG51bGw7CithcnJheVdpdGhIb2xlc1szMF0gPSBmYWxzZTsKK2FycmF5V2l0
aEhvbGVzWzQwXSA9ICIiOworCitzaG91bGRCZSgiW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2Us
ICcnXS5maW5kSW5kZXgocGFzc1VuZGVmaW5lZCkiLCAiMCIpOworc2hvdWxkQmUoIlt1bmRlZmlu
ZWQsIDAsIG51bGwsIGZhbHNlLCAnJ10uZmluZEluZGV4KHBhc3NaZXJvKSIsICIxIik7CitzaG91
bGRCZSgiW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsICcnXS5maW5kSW5kZXgocGFzc051bGwp
IiwgIjIiKTsKK3Nob3VsZEJlKCJbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZSwgJyddLmZpbmRJ
bmRleChwYXNzRmFsc2UpIiwgIjMiKTsKK3Nob3VsZEJlKCJbdW5kZWZpbmVkLCAwLCBudWxsLCBm
YWxzZSwgJyddLmZpbmRJbmRleChwYXNzRW1wdHlTdHJpbmcpIiwgIjQiKTsKK3Nob3VsZEJlKCJb
MCwgbnVsbCwgZmFsc2UsICcnXS5maW5kSW5kZXgocGFzc1VuZGVmaW5lZCkiLCAiLTEiKTsKK3No
b3VsZEJlKCJbdW5kZWZpbmVkLCAwLCBmYWxzZSwgJyddLmZpbmRJbmRleChwYXNzTnVsbCkiLCAi
LTEiKTsKK3Nob3VsZEJlKCJbdW5kZWZpbmVkLCAwLCBudWxsLCAnJ10uZmluZEluZGV4KHBhc3NG
YWxzZSkiLCAiLTEiKTsKK3Nob3VsZEJlKCJbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZV0uZmlu
ZEluZGV4KHBhc3NFbXB0eVN0cmluZykiLCAiLTEiKTsKK3Nob3VsZEJlKCJbdW5kZWZpbmVkLCBu
dWxsLCBmYWxzZSwgJyddLmZpbmRJbmRleChwYXNzWmVybykiLCAiLTEiKTsKK3Nob3VsZEJlKCIo
bmV3IEFycmF5KDIwKSkuZmluZEluZGV4KHBhc3NVbmRlZmluZWQpIiwgIjAiKTsKKworLy8gQXJy
YXkgd2l0aCBob2xlcy4KK3Nob3VsZEJlKCJhcnJheVdpdGhIb2xlcy5maW5kSW5kZXgocGFzc1Vu
ZGVmaW5lZCkiLCAiMCIpOworc2hvdWxkQmUoImFycmF5V2l0aEhvbGVzLmZpbmRJbmRleChwYXNz
WmVybykiLCAiMTAiKTsKK3Nob3VsZEJlKCJhcnJheVdpdGhIb2xlcy5maW5kSW5kZXgocGFzc051
bGwpIiwgIjIwIik7CitzaG91bGRCZSgiYXJyYXlXaXRoSG9sZXMuZmluZEluZGV4KHBhc3NGYWxz
ZSkiLCAiMzAiKTsKK3Nob3VsZEJlKCJhcnJheVdpdGhIb2xlcy5maW5kSW5kZXgocGFzc0VtcHR5
U3RyaW5nKSIsICI0MCIpOworCisvLyBHZW5lcmljIE9iamVjdAorc2hvdWxkQmUoInRvT2JqZWN0
KFt1bmRlZmluZWQsIDAsIG51bGwsIGZhbHNlLCAnJ10pLmZpbmRJbmRleChwYXNzVW5kZWZpbmVk
KSIsICIwIik7CitzaG91bGRCZSgidG9PYmplY3QoW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2Us
ICcnXSkuZmluZEluZGV4KHBhc3NaZXJvKSIsICIxIik7CitzaG91bGRCZSgidG9PYmplY3QoW3Vu
ZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsICcnXSkuZmluZEluZGV4KHBhc3NOdWxsKSIsICIyIik7
CitzaG91bGRCZSgidG9PYmplY3QoW3VuZGVmaW5lZCwgMCwgbnVsbCwgZmFsc2UsICcnXSkuZmlu
ZEluZGV4KHBhc3NGYWxzZSkiLCAiMyIpOworc2hvdWxkQmUoInRvT2JqZWN0KFt1bmRlZmluZWQs
IDAsIG51bGwsIGZhbHNlLCAnJ10pLmZpbmRJbmRleChwYXNzRW1wdHlTdHJpbmcpIiwgIjQiKTsK
K3Nob3VsZEJlKCJ0b09iamVjdChbMCwgbnVsbCwgZmFsc2UsICcnXSkuZmluZEluZGV4KHBhc3NV
bmRlZmluZWQpIiwgIi0xIik7CitzaG91bGRCZSgidG9PYmplY3QoW3VuZGVmaW5lZCwgMCwgZmFs
c2UsICcnXSkuZmluZEluZGV4KHBhc3NOdWxsKSIsICItMSIpOworc2hvdWxkQmUoInRvT2JqZWN0
KFt1bmRlZmluZWQsIDAsIG51bGwsICcnXSkuZmluZEluZGV4KHBhc3NGYWxzZSkiLCAiLTEiKTsK
K3Nob3VsZEJlKCJ0b09iamVjdChbdW5kZWZpbmVkLCAwLCBudWxsLCBmYWxzZV0pLmZpbmRJbmRl
eChwYXNzRW1wdHlTdHJpbmcpIiwgIi0xIik7CitzaG91bGRCZSgidG9PYmplY3QoW3VuZGVmaW5l
ZCwgbnVsbCwgZmFsc2UsICcnXSkuZmluZEluZGV4KHBhc3NaZXJvKSIsICItMSIpOworc2hvdWxk
QmUoInRvT2JqZWN0KG5ldyBBcnJheSgyMCkpLmZpbmRJbmRleChwYXNzVW5kZWZpbmVkKSIsICIw
Iik7CisKKy8vIE1vZGlmaWNhdGlvbiBkdXJpbmcgc2VhcmNoCitzaG91bGRCZSgiWzAsMSwyLDMs
NCw1LDYsNyw4LDldLmZpbmRJbmRleChmaW5kSXRlbUFkZGVkRHVyaW5nU2VhcmNoKSIsICItMSIp
Oworc2hvdWxkQmUoIlswLDEsMiwzLDQsNSw2LDcsOCw5XS5maW5kSW5kZXgoZmluZEl0ZW1SZW1v
dmVkRHVyaW5nU2VhcmNoKSIsICItMSIpOworCisvLyBFeGVwdGlvbnMKK3Nob3VsZFRocm93KCJB
cnJheS5wcm90b3R5cGUuZmluZEluZGV4LmNhbGwodW5kZWZpbmVkLCBmdW5jdGlvbigpIHt9KSIs
ICInVHlwZUVycm9yOiBBcnJheS5wcm90b3R5cGUuZmluZEluZGV4IHJlcXVpcmVzIHRoYXQgfHRo
aXN8IG5vdCBiZSB1bmRlZmluZWQnIik7CitzaG91bGRUaHJvdygiQXJyYXkucHJvdG90eXBlLmZp
bmRJbmRleC5jYWxsKG51bGwsIGZ1bmN0aW9uKCkge30pIiwgIidUeXBlRXJyb3I6IEFycmF5LnBy
b3RvdHlwZS5maW5kSW5kZXggcmVxdWlyZXMgdGhhdCB8dGhpc3wgbm90IGJlIG51bGwnIik7Citz
aG91bGRUaHJvdygiW10uZmluZEluZGV4KDEpIiwgIidUeXBlRXJyb3I6IEFycmF5LnByb3RvdHlw
ZS5maW5kSW5kZXggY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uJyIpOworc2hvdWxkVGhyb3co
IltdLmZpbmRJbmRleCgnaGVsbG8nKSIsICInVHlwZUVycm9yOiBBcnJheS5wcm90b3R5cGUuZmlu
ZEluZGV4IGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbiciKTsKK3Nob3VsZFRocm93KCJbXS5m
aW5kSW5kZXgoW10pIiwgIidUeXBlRXJyb3I6IEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXggY2Fs
bGJhY2sgbXVzdCBiZSBhIGZ1bmN0aW9uJyIpOworc2hvdWxkVGhyb3coIltdLmZpbmRJbmRleCh7
fSkiLCAiJ1R5cGVFcnJvcjogQXJyYXkucHJvdG90eXBlLmZpbmRJbmRleCBjYWxsYmFjayBtdXN0
IGJlIGEgZnVuY3Rpb24nIik7CitzaG91bGRUaHJvdygiW10uZmluZEluZGV4KG51bGwpIiwgIidU
eXBlRXJyb3I6IEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXggY2FsbGJhY2sgbXVzdCBiZSBhIGZ1
bmN0aW9uJyIpOworc2hvdWxkVGhyb3coIltdLmZpbmRJbmRleCh1bmRlZmluZWQpIiwgIidUeXBl
RXJyb3I6IEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXggY2FsbGJhY2sgbXVzdCBiZSBhIGZ1bmN0
aW9uJyIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>