<?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>95223</bug_id>
          
          <creation_ts>2012-08-28 11:32:31 -0700</creation_ts>
          <short_desc>Use arrays in shaders</short_desc>
          <delta_ts>2012-09-14 10:17:42 -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>CSS</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>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>94226</dependson>
          <blocked>71392</blocked>
    
    <blocked>71395</blocked>
    
    <blocked>96437</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michelangelo De Simone">michelangelo</reporter>
          <assigned_to name="Michelangelo De Simone">michelangelo</assigned_to>
          <cc>achicu</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>krit</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>706568</commentid>
    <comment_count>0</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-08-28 11:32:31 -0700</bug_when>
    <thetext>As per summary the array passed via array() shall be used within shaders.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717567</commentid>
    <comment_count>1</comment_count>
      <attachid>163445</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-09-11 14:41:57 -0700</bug_when>
    <thetext>Created attachment 163445
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717571</commentid>
    <comment_count>2</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-09-11 14:44:15 -0700</bug_when>
    <thetext>check-webkit-style reports the following false positive:

Source/WebCore/css/StyleResolver.cpp:5253:  Local variables should never be PassRefPtr (see http://webkit.org/coding/RefPtr.html).  [readability/pass_ptr] [5]

Bug #95266 already addresses this. The patch will be landed manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717576</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-11 14:47:53 -0700</bug_when>
    <thetext>Attachment 163445 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/css3...&quot; exit_code: 1
Source/WebCore/css/StyleResolver.cpp:5253:  Local variables should never be PassRefPtr (see http://webkit.org/coding/RefPtr.html).  [readability/pass_ptr] [5]
Total errors found: 1 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717609</commentid>
    <comment_count>4</comment_count>
      <attachid>163445</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-09-11 15:23:59 -0700</bug_when>
    <thetext>Comment on attachment 163445
Patch

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

Looks good. I have some minor comments.

&gt; Source/WebCore/ChangeLog:11
&gt; +        Values within array() are comma-separated even though the actual revision

Is there an issue added on the spec? If not we should have one and link it here.

&gt; Source/WebCore/css/StyleResolver.cpp:5308
&gt; +    if (parameterValue-&gt;isWebKitCSSArrayFunctionValue())

The fact that parameterValue is a value list which is also happens to be a CSSArrayFunctionValue is very subtle. 

I would at the very least add a comment before the check for the value list, saying that all the parameter values have the value list as the base class. Also move the check for the array function before the transforms.

&gt; Source/WebCore/platform/graphics/filters/CustomFilterArrayParameter.h:64
&gt; +    {
&gt; +        if (!from || !isSameType(*from))
&gt; +            return this;
&gt; +
&gt; +        const CustomFilterArrayParameter* fromArray = static_cast&lt;const CustomFilterArrayParameter*&gt;(from);
&gt; +        if (size() != fromArray-&gt;size())
&gt; +            return this;
&gt; +
&gt; +        RefPtr&lt;CustomFilterArrayParameter&gt; result = CustomFilterArrayParameter::create(name());
&gt; +        for (size_t i = 0; i &lt; size(); ++i)
&gt; +            result-&gt;addValue(WebCore::blend(fromArray-&gt;valueAt(i), valueAt(i), progress));
&gt; +
&gt; +        return result.release();

You didn&apos;t add any test for this method. I have another patch that fixes the filter animation test framework to handle functions: 
https://bugs.webkit.org/show_bug.cgi?id=94980

I think you will need to wait for that one first. So extract it from this patch and fill a different bug for it (add a fixme here and &quot;return this&quot;).

&gt; Source/WebCore/platform/graphics/filters/CustomFilterNumberParameter.h:-45
&gt; -    

Can you revert these changes? The whole file is untouched.

&gt; Source/WebCore/platform/graphics/filters/CustomFilterNumberParameter.h:-50
&gt; -    

ditto

&gt; Source/WebCore/platform/graphics/filters/CustomFilterNumberParameter.h:-63
&gt; -    

ditto

&gt; Source/WebCore/platform/graphics/filters/CustomFilterNumberParameter.h:-71
&gt; -    

ditto

&gt; Source/WebCore/platform/graphics/filters/CustomFilterNumberParameter.h:-77
&gt; -    

ditto

&gt; Source/WebCore/platform/graphics/filters/FECustomFilter.cpp:267
&gt; +    unsigned parameterSize = arrayParameter-&gt;size();

nit: you could put this on the same line with the for.

for (unsigned i = 0, size = arrayParameter-&gt;size(); i &lt; size; ++i)

&gt; LayoutTests/css3/filters/custom/custom-filter-array-expected.html:15
&gt; +        &lt;script&gt;
&gt; +            if (window.testRunner)
&gt; +                window.testRunner.waitUntilDone();
&gt; +
&gt; +            function runTest()
&gt; +            {
&gt; +                // We need to run the tests after the downloading succeeded.
&gt; +                if (window.testRunner)
&gt; +                    window.testRunner.notifyDone();
&gt; +            }
&gt; +        &lt;/script&gt;

You don&apos;t need this in the ref html.

&gt; LayoutTests/css3/filters/custom/custom-filter-array.html:28
&gt; +    &lt;body onload=&quot;runTest()&quot;&gt;

Add a comment explaining what happens and what I should expect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717655</commentid>
    <comment_count>5</comment_count>
      <attachid>163465</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-09-11 15:59:32 -0700</bug_when>
    <thetext>Created attachment 163465
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717668</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-11 16:04:56 -0700</bug_when>
    <thetext>Attachment 163465 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/css3...&quot; exit_code: 1
Source/WebCore/css/StyleResolver.cpp:5253:  Local variables should never be PassRefPtr (see http://webkit.org/coding/RefPtr.html).  [readability/pass_ptr] [5]
Total errors found: 1 in 20 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717726</commentid>
    <comment_count>7</comment_count>
      <attachid>163465</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-09-11 16:49:00 -0700</bug_when>
    <thetext>Comment on attachment 163465
Patch

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

&gt; Source/WebCore/css/StyleResolver.cpp:5298
&gt; +    // All functions (eg.: array(), mix(), ...) are ValueLists.

Not all the possible values of the paramterValue are functions. That&apos;s why I wanted a comment here. The idea was that even simple number parameters are encapsulated in CSSValueLists. 

What about using the following comment instead?

// Number parameters are wrapped inside a CSSValueList and all the other functions values inherit from CSSValueList.

&gt; Source/WebCore/css/StyleResolver.cpp:5310
&gt; +    // At this point we assume that we&apos;re dealing with a transform and,
&gt; +    // therefore, we check whether its first value is a valid transform.

Hm, I think this would read better as: &quot;If the first value of the list is a transform function, then we could safely assume that all the remaining items are transforms. parseCustomFilterTransformParameter will return 0 if that assumption is incorrect.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717799</commentid>
    <comment_count>8</comment_count>
      <attachid>163491</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-09-11 18:37:15 -0700</bug_when>
    <thetext>Created attachment 163491
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717805</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-11 18:43:13 -0700</bug_when>
    <thetext>Attachment 163491 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/css3...&quot; exit_code: 1
Source/WebCore/css/StyleResolver.cpp:5253:  Local variables should never be PassRefPtr (see http://webkit.org/coding/RefPtr.html).  [readability/pass_ptr] [5]
Total errors found: 1 in 20 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>717837</commentid>
    <comment_count>10</comment_count>
      <attachid>163491</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-09-11 19:47:21 -0700</bug_when>
    <thetext>Comment on attachment 163491
Patch

Attachment 163491 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13821578</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718481</commentid>
    <comment_count>11</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-09-12 10:07:06 -0700</bug_when>
    <thetext>I guess the(In reply to comment #10)

&gt; Attachment 163491 [details] did not pass mac-ews (mac):
&gt; Output: http://queues.webkit.org/results/13821578

I guess there was something not working on the Mac bot.:-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718516</commentid>
    <comment_count>12</comment_count>
      <attachid>163655</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-09-12 10:55:33 -0700</bug_when>
    <thetext>Created attachment 163655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718519</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-12 10:58:23 -0700</bug_when>
    <thetext>Attachment 163655 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/css3...&quot; exit_code: 1
Source/WebCore/css/StyleResolver.cpp:5255:  Local variables should never be PassRefPtr (see http://webkit.org/coding/RefPtr.html).  [readability/pass_ptr] [5]
Total errors found: 1 in 20 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718846</commentid>
    <comment_count>14</comment_count>
      <attachid>163655</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-09-12 16:03:31 -0700</bug_when>
    <thetext>Comment on attachment 163655
Patch

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

Looks good - only a few small changes.

But I think we need more tests:

- testing other valid and invalid arrays e.g. array(), array(1,), array(NaN), array(1, 2, foo), array(1, 2, translate(10)), array(with many many values) etc
- testing the transform fallback code

&gt; Source/WebCore/ChangeLog:12
&gt; +        Values within array() are comma-separated; specs will be updated
&gt; +        accordingly: https://www.w3.org/Bugs/Public/show_bug.cgi?id=18839

&quot;specs&quot; -&gt; &quot;The specification&quot;

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:779
&gt; +    for (unsigned i = 0; i &lt; arrayParameter-&gt;size(); ++i)

Might as well do length = arrayParameter-&gt;size(); i &lt; length

&gt; Source/WebCore/css/StyleResolver.cpp:5258
&gt; +    for (unsigned i = 0; i &lt; values-&gt;length(); ++i) {

Ditto here.

&gt; LayoutTests/css3/filters/resources/fragment-color.fs:6
&gt; +uniform float coolArray[4];
&gt; +
&gt; +void main()
&gt; +{
&gt; +    gl_FragColor = vec4(coolArray[0], coolArray[1], coolArray[2], coolArray[3]);

Should probably call this colorArray[4]. My first instinct was that this shader was &quot;cooling&quot; the saturation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>718857</commentid>
    <comment_count>15</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-09-12 16:17:54 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 163655 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=163655&amp;action=review
&gt; 
&gt; Looks good - only a few small changes.
&gt; 
&gt; But I think we need more tests:
&gt; 
&gt; - testing other valid and invalid arrays e.g. array(), array(1,), array(NaN), array(1, 2, foo), array(1, 2, translate(10)), array(with many many values) etc
&gt; - testing the transform fallback code

I think we already have a couple of those covered in the invalid parsing test file.

http://svn.webkit.org/repository/webkit/trunk/LayoutTests/css3/filters/script-tests/custom-filter-property-parsing-invalid.js

Some of the things not covered there are:
- array(NaN)
- arrays with many values

Also I didn&apos;t see any test to check for floating point numbers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719844</commentid>
    <comment_count>16</comment_count>
      <attachid>163947</attachid>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-09-13 13:14:18 -0700</bug_when>
    <thetext>Created attachment 163947
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719853</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-13 13:19:24 -0700</bug_when>
    <thetext>Attachment 163947 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/css3...&quot; exit_code: 1
Source/WebCore/css/StyleResolver.cpp:5256:  Local variables should never be PassRefPtr (see http://webkit.org/coding/RefPtr.html).  [readability/pass_ptr] [5]
Total errors found: 1 in 22 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720084</commentid>
    <comment_count>18</comment_count>
    <who name="Michelangelo De Simone">michelangelo</who>
    <bug_when>2012-09-13 16:15:05 -0700</bug_when>
    <thetext>(In reply to comment #14)

&gt; Looks good - only a few small changes.

All the review comments have been address; let me know if there is anything else you wish me to change.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720852</commentid>
    <comment_count>19</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-09-14 09:53:13 -0700</bug_when>
    <thetext>(In reply to comment #15)

&gt; I think we already have a couple of those covered in the invalid parsing test file.
&gt; 
&gt; http://svn.webkit.org/repository/webkit/trunk/LayoutTests/css3/filters/script-tests/custom-filter-property-parsing-invalid.js
&gt; 
&gt; Some of the things not covered there are:
&gt; - array(NaN)
&gt; - arrays with many values

It was this one that worried me most, because parsing might succeed but binding to the uniforms could go wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720868</commentid>
    <comment_count>20</comment_count>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2012-09-14 10:05:03 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #15)
&gt; 
&gt; &gt; I think we already have a couple of those covered in the invalid parsing test file.
&gt; &gt; 
&gt; &gt; http://svn.webkit.org/repository/webkit/trunk/LayoutTests/css3/filters/script-tests/custom-filter-property-parsing-invalid.js
&gt; &gt; 
&gt; &gt; Some of the things not covered there are:
&gt; &gt; - array(NaN)
&gt; &gt; - arrays with many values
&gt; 
&gt; It was this one that worried me most, because parsing might succeed but binding to the uniforms could go wrong.

Do you think we should enforce a maximum size for the array?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720896</commentid>
    <comment_count>21</comment_count>
      <attachid>163947</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-14 10:17:37 -0700</bug_when>
    <thetext>Comment on attachment 163947
Patch

Clearing flags on attachment: 163947

Committed r128626: &lt;http://trac.webkit.org/changeset/128626&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720897</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-14 10:17:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163445</attachid>
            <date>2012-09-11 14:41:57 -0700</date>
            <delta_ts>2012-09-11 15:59:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95223-20120911144131.patch</filename>
            <type>text/plain</type>
            <size>32622</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWVhMzFjYmQxNTM0Yzk1
ODNjMmE5OTJiYjgwNGYwZTE0MGNmM2NmNC4uZDQ5MjgyODI0Njk1NTFmYWMxY2JmYjA0YmQ2ZjA4
ZGZmMzYwZmUzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTA5LTExICBNaWNo
ZWxhbmdlbG8gRGUgU2ltb25lICA8bWljaGVsYW5nZWxvQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
VXNlIGFycmF5cyBpbiBzaGFkZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NTIyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEN1c3RvbSBGaWx0ZXJzJyBzdXBwb3J0IGZvciBhcnJheSgpIGlzIGludHJv
ZHVjZWQuIFZhbHVlcyB3aXRoaW4KKyAgICAgICAgdGhlIGFycmF5KCkgZnVuY3Rpb24gd2lsbCBi
ZSBwYXNzZWQgYXMgdW5pZm9ybXMgdG8gc2hhZGVycy4KKworICAgICAgICBWYWx1ZXMgd2l0aGlu
IGFycmF5KCkgYXJlIGNvbW1hLXNlcGFyYXRlZCBldmVuIHRob3VnaCB0aGUgYWN0dWFsIHJldmlz
aW9uCisgICAgICAgIG9mIHRoZSBzcGVjcyBzdGlsbCBzdGF0ZSAic3BhY2Ugc2VwYXJhdGVkIi4K
KworICAgICAgICBUZXN0OiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYXJyYXku
aHRtbAorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQu
cHJpOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjp2YWx1ZUZvckN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyKTogCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OnZhbHVlRm9yQ3VzdG9tRmlsdGVyUGFy
YW1ldGVyKToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZVJlc29sdmVyOjpjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QpOgorICAgICAg
ICAqIGNzcy9TdHlsZVJlc29sdmVyLmg6CisgICAgICAgIChTdHlsZVJlc29sdmVyKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVy
Lmg6IENvbnRhaW5lciBmb3IgYXJyYXkoKQorICAgICAgICBwYXJhbWV0ZXIgdmFsdWVzLgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyOjpzaXplKToKKyAgICAg
ICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyOjp2YWx1ZUF0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyOjphZGRWYWx1ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcjo6YmxlbmQpOgorICAgICAg
ICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXI6Om9wZXJhdG9yPT0pOgorICAg
ICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXI6OkN1c3RvbUZpbHRlckFy
cmF5UGFyYW1ldGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3Rv
bUZpbHRlck51bWJlclBhcmFtZXRlci5oOgorICAgICAgICAoQ3VzdG9tRmlsdGVyTnVtYmVyUGFy
YW1ldGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
clBhcmFtZXRlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0
b21GaWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RkVDdXN0b21GaWx0ZXI6OmJpbmRQcm9n
cmFtQXJyYXlQYXJhbWV0ZXJzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29y
ZTo6RkVDdXN0b21GaWx0ZXI6OmJpbmRQcm9ncmFtUGFyYW1ldGVycyk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5oOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChGRUN1c3RvbUZpbHRlcik6CisKIDIwMTItMDktMTEgIFJpayBDYWJhbmll
ciAgPGNhYmFuaWVyQGFkb2JlLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBmdW5jdGlvbnMgaW4g
UmVuZGVyTGF5ZXJCYWNraW5nLmgvLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5k
ZXggY2I1NDdkNTdkMzRmYWMzYTg3ODc0ZTk0MjU5N2Y1YmQ0NjNmNmFiMy4uMzUyZTYwMjk5MDEz
YTNhYWFkZGY4MGI0Y2U2OGJjNTMxMmNjZTY1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCkBAIC00MjUxLDYgKzQyNTEsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1JlZlB0ckNhaXJvLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUmVmUHRyQ2Fpcm8uaCBcCiAJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vVHJhbnNmb3JtYXRpb25NYXRyaXhDYWly
by5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9t
RmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LmNwcCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0Lmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVy
TWVzaC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggODczMjU0ZWU4YmY5NGZmM2QxNzQzMmQ4ZjI2OGMw
OTI4MTc1NDBhYi4uYjM0M2Q4MWRmY2JhYzE3NTg3Y2FlMTBiMmU0MTc1MjAzNzk5OTM3MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9U
YXJnZXQucHJpCkBAIC0yMDQ1LDYgKzIwNDUsNyBAQCBIRUFERVJTICs9IFwKICAgICBwbGF0Zm9y
bS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5o
IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5oIFwKKyAg
ICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmgg
XAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4
dC5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guaCBc
CiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoR2VuZXJhdG9y
LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGVlN2E4NTgxNWQ1MTNlYjE2YjhjNzE5ZDgxY2FiZjQy
MGM2NzcyZGQuLjFmYWQyNzY2ZGNmOGY2NGZkMmM5ZjY0ODljNWQ5ZTVlZTgxZGNiNTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKQEAgLTQ5MTQsNiArNDkxNCw3IEBACiAgICAgICAgICAgICAncGxhdGZvcm0v
Z3JhcGhpY3MvZWZsL0ltYWdlRWZsLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhp
Y3MvZWZsL0ludFBvaW50RWZsLmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
ZWZsL0ludFJlY3RFZmwuY3BwJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5jcHAnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4
dC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRl
ck1lc2guaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CmluZGV4IGE3YmJlMGJhNWNkOGI0NGQ0OGYxMjVkMmE5Nzg4NzQ1YTI4YTdmMTIuLmRmNjZmYTE4
MDk3ZGZjNjRhYzA1NTNiOTcwOTY3NTA5YTgyZGU3NTMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zMTg2OSw2ICszMTg2OSwxMCBAQAogCQkJ
CQlOYW1lPSJmaWx0ZXJzIgogCQkJCQk+CiAJCQkJCTxGaWxlCisJCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnNcQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIu
aCIKKwkJCQkJCT4KKwkJCQkJPC9GaWxlPgorCQkJCQk8RmlsZQogCQkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0ZXJzXEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQu
Y3BwIgogCQkJCQkJPgogCQkJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDFhMDMxYmE5YjRkZjcwMGE4NzY5MzBl
MjY2NzU0ODY3NjNkZDg0OC4uN2I4ZjM5YTE4Y2Q2NzY5NTJjNjY2MGM2ZWQyMWYwYTVhZWZmZjY1
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMzU0LDYgKzM1NCw3IEBACiAJCTE0RkZFMzFFMEFFMTk2MzMwMDEzNkJGNSAvKiBI
VE1MRnJhbWVFbGVtZW50QmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxNEZGRTMxQzBBRTE5NjMzMDAxMzZCRjUgLyogSFRNTEZyYW1lRWxlbWVu
dEJhc2UuY3BwICovOyB9OwogCQkxNTBCOTIzOTE1RjA4REM0MDBFMTA5ODYgLyogV2ViS2l0Q1NT
QXJyYXlGdW5jdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDE1MEI5MjM3MTVGMDhEQzQwMEUxMDk4NiAvKiBXZWJLaXRDU1NBcnJheUZ1
bmN0aW9uVmFsdWUuY3BwICovOyB9OwogCQkxNTBCOTIzQTE1RjA4REM0MDBFMTA5ODYgLyogV2Vi
S2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAxNTBCOTIzODE1RjA4REM0MDBFMTA5ODYgLyogV2ViS2l0Q1NTQXJy
YXlGdW5jdGlvblZhbHVlLmggKi87IH07CisJCTE1QjNGQzE5MTVGQjIxNzgwMEE4MUJDQiAvKiBD
dXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMTVCM0ZDMTcxNUZCMjE3ODAwQTgxQkNCIC8qIEN1c3RvbUZpbHRl
ckFycmF5UGFyYW1ldGVyLmggKi87IH07CiAJCTE1Qzc3MDhEMTAwRDNDNkIwMDVCQTI2NyAvKiBW
YWxpZGl0eVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxNUM3NzA4QTEwMEQzQzZBMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5oICovOyB9Owog
CQkxNUM3NzA4RTEwMEQzQzZCMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUM3NzA4QjEwMEQzQzZBMDA1
QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5jcHAgKi87IH07CiAJCTE1Qzc3MDkzMTAwRDNDQTgwMDVC
QTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDE1Qzc3MDkxMTAwRDNDQTgwMDVCQTI2NyAvKiBKU1ZhbGlkaXR5U3Rh
dGUuaCAqLzsgfTsKQEAgLTc0MDUsNiArNzQwNiw3IEBACiAJCTE0RkZFMzFDMEFFMTk2MzMwMDEz
NkJGNSAvKiBIVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBIVE1MRnJhbWVFbGVtZW50QmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTE1MEI5MjM3MTVGMDhEQzQwMEUxMDk4NiAvKiBXZWJLaXRDU1NBcnJheUZ1
bmN0aW9uVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
S2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMTUwQjkyMzgxNUYwOERDNDAwRTEwOTg2IC8qIFdlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRDU1NBcnJheUZ1bmN0
aW9uVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMTVCM0ZDMTcxNUZCMjE3
ODAwQTgxQkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmg7IHBhdGggPSBm
aWx0ZXJzL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTE1Qzc3MDg5MTAwRDNDNkEwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBWYWxpZGl0eVN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMTVDNzcwOEExMDBEM0M2QTAwNUJBMjY3IC8qIFZhbGlkaXR5U3RhdGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmFsaWRpdHlTdGF0ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNUM3NzA4QjEwMEQzQzZBMDA1QkEyNjcgLyogVmFs
aWRpdHlTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWYWxp
ZGl0eVN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MTc1LDYgKzE4
MTc3LDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNDlFQ0VC
NUMxNDk5NzkwRDAwQ0REM0E0IC8qIGFybSAqLywKKwkJCQkxNUIzRkMxNzE1RkIyMTc4MDBBODFC
Q0IgLyogQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCAqLywKIAkJCQk1MEQ0MDYwRjE0N0Q0
OURFMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmNwcCAqLywKIAkJCQk1
MEQ0MDYxMDE0N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmgg
Ki8sCiAJCQkJNTA5ODdDMjQxNTdENjc2RDAwQkRBODM1IC8qIEN1c3RvbUZpbHRlckdsb2JhbENv
bnRleHQuY3BwICovLApAQCAtMjI1ODEsNiArMjI1ODQsNyBAQAogCQkJCUJDMjI3MkEyMEU4MkU4
N0MwMEU3Rjk3NSAvKiBDdXJzb3JEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzIyNzJBRDBF
ODJFOEYzMDBFN0Y5NzUgLyogQ3Vyc29yTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjJDRDMy
NUExMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkx
NUIzRkMxOTE1RkIyMTc4MDBBODFCQ0IgLyogQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTUwRDQwNjEyMTQ3RDQ5REUwMEQzMEJCNSAvKiBDdXN0b21GaWx0
ZXJDb21waWxlZFByb2dyYW0uaCBpbiBIZWFkZXJzICovLAogCQkJCTUwOTg3QzI3MTU3RDY3NkQw
MEJEQTgzNSAvKiBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1MEQ0MDVGQTE0N0QzMUYzMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyTWVzaC5oIGluIEhlYWRl
cnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb24uY3BwCmluZGV4IGViYzI3YWFjN2VkNGFkYTMwODNjYWYxZDU3ZDllZGFjZDkwNDIyN2Iu
LjNmOWI0NzI4OTA0ZmI4OTcwNzJjNTM5ZWFkMjEyMmY5ZDVjZjczMDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC02NCwx
MCArNjQsMTIgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKICNpZiBF
TkFCTEUoQ1NTX1NIQURFUlMpCisjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIu
aCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIuaCIKICNpbmNsdWRlICJD
dXN0b21GaWx0ZXJPcGVyYXRpb24uaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJQYXJhbWV0ZXIu
aCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJUcmFuc2Zvcm1QYXJhbWV0ZXIuaCIKKyNpbmNsdWRl
ICJXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUuaCIKICNpbmNsdWRlICJXZWJLaXRDU1NNaXhG
dW5jdGlvblZhbHVlLmgiCiAjZW5kaWYKIApAQCAtNzcxLDYgKzc3MywxNCBAQCBzdGF0aWMgUGFz
c1JlZlB0cjxDU1NWYWx1ZT4gY29tcHV0ZWRUcmFuc2Zvcm0oUmVuZGVyT2JqZWN0KiByZW5kZXJl
ciwgY29uc3QgUmVuZAogfQogCiAjaWYgRU5BQkxFKENTU19TSEFERVJTKQorc3RhdGljIFBhc3NS
ZWZQdHI8Q1NTVmFsdWU+IHZhbHVlRm9yQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIoY29uc3Qg
Q3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIqIGFycmF5UGFyYW1ldGVyKQoreworICAgIFJlZlB0
cjxXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWU+IGFycmF5UGFyYW1ldGVyVmFsdWUgPSBXZWJL
aXRDU1NBcnJheUZ1bmN0aW9uVmFsdWU6OmNyZWF0ZSgpOworICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBhcnJheVBhcmFtZXRlci0+c2l6ZSgpOyArK2kpCisgICAgICAgIGFycmF5UGFyYW1l
dGVyVmFsdWUtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShhcnJheVBhcmFtZXRl
ci0+dmFsdWVBdChpKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpKTsKKyAgICByZXR1
cm4gYXJyYXlQYXJhbWV0ZXJWYWx1ZS5yZWxlYXNlKCk7Cit9CisKIHN0YXRpYyBQYXNzUmVmUHRy
PENTU1ZhbHVlPiB2YWx1ZUZvckN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlcihjb25zdCBDdXN0
b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIqIG51bWJlclBhcmFtZXRlcikKIHsKICAgICBSZWZQdHI8
Q1NTVmFsdWVMaXN0PiBudW1iZXJQYXJhbWV0ZXJWYWx1ZSA9IENTU1ZhbHVlTGlzdDo6Y3JlYXRl
U3BhY2VTZXBhcmF0ZWQoKTsKQEAgLTc5Myw2ICs4MDMsOCBAQCBzdGF0aWMgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gdmFsdWVGb3JDdXN0b21GaWx0ZXJQYXJhbWV0ZXIoY29uc3QgUmVuZGVyT2JqZWN0
KiByZQogICAgIC8vIEZJWE1FOiBBZGQgaGVyZSBjb21wdXRlZCBzdHlsZSBmb3IgdGhlIG90aGVy
IHR5cGVzOiBib29sZWFuLCB0cmFuc2Zvcm0sIG1hdHJpeCwgdGV4dHVyZS4KICAgICBBU1NFUlQo
cGFyYW1ldGVyKTsKICAgICBzd2l0Y2ggKHBhcmFtZXRlci0+cGFyYW1ldGVyVHlwZSgpKSB7Cisg
ICAgY2FzZSBDdXN0b21GaWx0ZXJQYXJhbWV0ZXI6OkFSUkFZOgorICAgICAgICByZXR1cm4gdmFs
dWVGb3JDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcihzdGF0aWNfY2FzdDxjb25zdCBDdXN0b21G
aWx0ZXJBcnJheVBhcmFtZXRlcio+KHBhcmFtZXRlcikpOwogICAgIGNhc2UgQ3VzdG9tRmlsdGVy
UGFyYW1ldGVyOjpOVU1CRVI6CiAgICAgICAgIHJldHVybiB2YWx1ZUZvckN1c3RvbUZpbHRlck51
bWJlclBhcmFtZXRlcihzdGF0aWNfY2FzdDxjb25zdCBDdXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0
ZXIqPihwYXJhbWV0ZXIpKTsKICAgICBjYXNlIEN1c3RvbUZpbHRlclBhcmFtZXRlcjo6VFJBTlNG
T1JNOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IGRkODc3Mzc3MWYxZjg3
N2MwY2YzOWJmOTQ0ZmU2YTIwYjA2NTE2MWMuLmJhNjg3NzdkYmMyNTc2YzEyOGM0MWFmZDE2N2Zh
ZjM4NGZlYWFkYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTE0Nyw2
ICsxNDcsNyBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisjaW5jbHVkZSAi
Q3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJOdW1i
ZXJQYXJhbWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJPcGVyYXRpb24uaCIKICNpbmNs
dWRlICJDdXN0b21GaWx0ZXJQYXJhbWV0ZXIuaCIKQEAgLTUyNDksNiArNTI1MCwyMSBAQCBzdGF0
aWMgYm9vbCBzb3J0UGFyYW1ldGVyc0J5TmFtZUNvbXBhcmF0b3IoY29uc3QgUmVmUHRyPEN1c3Rv
bUZpbHRlclBhcmFtZXRlcj4mCiAgICAgcmV0dXJuIGNvZGVQb2ludENvbXBhcmVMZXNzVGhhbihh
LT5uYW1lKCksIGItPm5hbWUoKSk7CiB9CiAKK1Bhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUGFyYW1l
dGVyPiBTdHlsZVJlc29sdmVyOjpwYXJzZUN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyKGNvbnN0
IFN0cmluZyYgbmFtZSwgQ1NTVmFsdWVMaXN0KiB2YWx1ZXMpCit7CisgICAgUmVmUHRyPEN1c3Rv
bUZpbHRlckFycmF5UGFyYW1ldGVyPiBhcnJheVBhcmFtZXRlciA9IEN1c3RvbUZpbHRlckFycmF5
UGFyYW1ldGVyOjpjcmVhdGUobmFtZSk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHZh
bHVlcy0+bGVuZ3RoKCk7ICsraSkgeworICAgICAgICBDU1NWYWx1ZSogdmFsdWUgPSB2YWx1ZXMt
Pml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soaSk7CisgICAgICAgIGlmICghdmFsdWUtPmlzUHJpbWl0
aXZlVmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBDU1NQcmltaXRpdmVW
YWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZh
bHVlKTsKKyAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLT5wcmltaXRpdmVUeXBlKCkgIT0gQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgYXJyYXlQYXJhbWV0ZXItPmFkZFZhbHVlKHByaW1pdGl2ZVZhbHVlLT5nZXREb3VibGVWYWx1
ZSgpKTsKKyAgICB9CisgICAgcmV0dXJuIGFycmF5UGFyYW1ldGVyLnJlbGVhc2UoKTsKK30KKwog
UGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQYXJhbWV0ZXI+IFN0eWxlUmVzb2x2ZXI6OnBhcnNlQ3Vz
dG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVyKGNvbnN0IFN0cmluZyYgbmFtZSwgQ1NTVmFsdWVMaXN0
KiB2YWx1ZXMpCiB7CiAgICAgUmVmUHRyPEN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlcj4gbnVt
YmVyUGFyYW1ldGVyID0gQ3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVyOjpjcmVhdGUobmFtZSk7
CkBAIC01Mjg4LDYgKzUzMDQsOSBAQCBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclBhcmFtZXRlcj4g
U3R5bGVSZXNvbHZlcjo6cGFyc2VDdXN0b21GaWx0ZXJQYXJhbWV0ZXIoY29ucwogCiAgICAgaWYg
KHZhbHVlcy0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjaygwKS0+aXNXZWJLaXRDU1NUcmFuc2Zvcm1W
YWx1ZSgpKQogICAgICAgICByZXR1cm4gcGFyc2VDdXN0b21GaWx0ZXJUcmFuc2Zvcm1QYXJhbWV0
ZXIobmFtZSwgdmFsdWVzKTsKKworICAgIGlmIChwYXJhbWV0ZXJWYWx1ZS0+aXNXZWJLaXRDU1NB
cnJheUZ1bmN0aW9uVmFsdWUoKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlQ3VzdG9tRmlsdGVyQXJy
YXlQYXJhbWV0ZXIobmFtZSwgdmFsdWVzKTsKICAgICAKICAgICAvLyBXZSBjYW4gaGF2ZSBvbmx5
IGFycmF5cyBvZiBib29sZWFucyBvciBudW1iZXJzLCBzbyB1c2UgdGhlIGZpcnN0IHZhbHVlIHRv
IGNob29zZSBiZXR3ZWVuIHRob3NlIHR3by4KICAgICAvLyBXZSBuZWVkIHVwIHRvIDQgdmFsdWVz
IChhbGwgYm9vbGVhbnMgb3IgYWxsIG51bWJlcnMpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmgKaW5kZXggZmU2OTczOTBjNzYwYzZlYjNiN2E5MGI1NWFkMTNiMmVjOGNlZGJiMC4uMTdiOTU5
YThhMjc5OThiZWE0ODBlYzNkZTQyYTFkMjgyMzM0MWJkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5oCkBAIC0yNjQsNiArMjY0LDcgQEAgcHVibGljOgogICAgIFN0eWxlU2hhZGVyKiBj
YWNoZWRPclBlbmRpbmdTdHlsZVNoYWRlckZyb21WYWx1ZShXZWJLaXRDU1NTaGFkZXJWYWx1ZSop
OwogICAgIGJvb2wgcGFyc2VDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0KENTU1ZhbHVlKiwgQ3Vz
dG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYpOwogICAgIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUGFy
YW1ldGVyPiBwYXJzZUN1c3RvbUZpbHRlclBhcmFtZXRlcihjb25zdCBTdHJpbmcmIG5hbWUsIENT
U1ZhbHVlKik7CisgICAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQYXJhbWV0ZXI+IHBhcnNlQ3Vz
dG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lLCBDU1NWYWx1ZUxpc3Qq
KTsKICAgICBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclBhcmFtZXRlcj4gcGFyc2VDdXN0b21GaWx0
ZXJOdW1iZXJQYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lLCBDU1NWYWx1ZUxpc3QqKTsKICAg
ICBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclBhcmFtZXRlcj4gcGFyc2VDdXN0b21GaWx0ZXJUcmFu
c2Zvcm1QYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lLCBDU1NWYWx1ZUxpc3QqKTsKICAgICBQ
YXNzUmVmUHRyPEN1c3RvbUZpbHRlck9wZXJhdGlvbj4gY3JlYXRlQ3VzdG9tRmlsdGVyT3BlcmF0
aW9uKFdlYktpdENTU0ZpbHRlclZhbHVlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckFycmF5
UGFyYW1ldGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjljYTU3YmE0NTkzNjI2YmIyMzJkMWRiMTBmOWYyZjU2
ZmJhNzkxZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaApAQCAtMCwwICsxLDg5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscworICogICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIg4oCcQVMgSVPi
gJ0gQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgor
ICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEN1c3RvbUZpbHRlckFy
cmF5UGFyYW1ldGVyX2gKKyNkZWZpbmUgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXJfaAorCisj
aWYgRU5BQkxFKENTU19TSEFERVJTKQorI2luY2x1ZGUgIkN1c3RvbUZpbHRlclBhcmFtZXRlci5o
IgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlciA6IHB1YmxpYyBDdXN0b21GaWx0ZXJQYXJhbWV0
ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlckFycmF5UGFy
YW1ldGVyPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcihuYW1lKSk7CisgICAgfQor
CisgICAgdW5zaWduZWQgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5zaXplKCk7IH0KKyAg
ICBkb3VibGUgdmFsdWVBdCh1bnNpZ25lZCBpbmRleCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLmF0
KGluZGV4KTsgfQorCisgICAgdm9pZCBhZGRWYWx1ZShkb3VibGUgdmFsdWUpIHsgbV9kYXRhLmFw
cGVuZCh2YWx1ZSk7IH0KKworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQYXJh
bWV0ZXI+IGJsZW5kKGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlciogZnJvbSwgZG91YmxlIHBy
b2dyZXNzKQorICAgIHsKKyAgICAgICAgaWYgKCFmcm9tIHx8ICFpc1NhbWVUeXBlKCpmcm9tKSkK
KyAgICAgICAgICAgIHJldHVybiB0aGlzOworCisgICAgICAgIGNvbnN0IEN1c3RvbUZpbHRlckFy
cmF5UGFyYW1ldGVyKiBmcm9tQXJyYXkgPSBzdGF0aWNfY2FzdDxjb25zdCBDdXN0b21GaWx0ZXJB
cnJheVBhcmFtZXRlcio+KGZyb20pOworICAgICAgICBpZiAoc2l6ZSgpICE9IGZyb21BcnJheS0+
c2l6ZSgpKQorICAgICAgICAgICAgcmV0dXJuIHRoaXM7CisKKyAgICAgICAgUmVmUHRyPEN1c3Rv
bUZpbHRlckFycmF5UGFyYW1ldGVyPiByZXN1bHQgPSBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRl
cjo6Y3JlYXRlKG5hbWUoKSk7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc2l6ZSgp
OyArK2kpCisgICAgICAgICAgICByZXN1bHQtPmFkZFZhbHVlKFdlYkNvcmU6OmJsZW5kKGZyb21B
cnJheS0+dmFsdWVBdChpKSwgdmFsdWVBdChpKSwgcHJvZ3Jlc3MpKTsKKworICAgICAgICByZXR1
cm4gcmVzdWx0LnJlbGVhc2UoKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIGJvb2wgb3BlcmF0b3I9
PShjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXImIG8pIGNvbnN0CisgICAgeworICAgICAgICBp
ZiAoIWlzU2FtZVR5cGUobykpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAg
Y29uc3QgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIqIG90aGVyID0gc3RhdGljX2Nhc3Q8Y29u
c3QgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIqPigmbyk7CisgICAgICAgIHJldHVybiBtX2Rh
dGEgPT0gb3RoZXItPm1fZGF0YTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgQ3VzdG9tRmlsdGVy
QXJyYXlQYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lKQorICAgICAgICA6IEN1c3RvbUZpbHRl
clBhcmFtZXRlcihBUlJBWSwgbmFtZSkKKyAgICB7CisgICAgfQorCisgICAgVmVjdG9yPGRvdWJs
ZT4gbV9kYXRhOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKENTU19TSEFERVJTKQorCisjZW5kaWYgLy8gQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXJf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9D
dXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVyLmgKaW5kZXggMjc3MGI0
Y2VkNmNmNTgzMDM0ZTA3MTI3OWY4MGE0NTg2YzdmNzYyZS4uNzNiOWJmNTU2ZTViOWU4NjE0ZDlh
MTc1MDU4YTMyN2Y1Yjk3NjJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlck51bWJlclBh
cmFtZXRlci5oCkBAIC00MiwxMiArNDIsMTIgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBDdXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIobmFtZSkpOwogICAg
IH0KLSAgICAKKwogICAgIHVuc2lnbmVkIHNpemUoKSBjb25zdCB7IHJldHVybiBtX2RhdGEuc2l6
ZSgpOyB9CiAgICAgZG91YmxlIHZhbHVlQXQodW5zaWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0dXJu
IG1fZGF0YS5hdChpbmRleCk7IH0KIAogICAgIHZvaWQgYWRkVmFsdWUoZG91YmxlIHZhbHVlKSB7
IG1fZGF0YS5hcHBlbmQodmFsdWUpOyB9Ci0gICAgCisKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
Q3VzdG9tRmlsdGVyUGFyYW1ldGVyPiBibGVuZChjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXIq
IGZyb20sIGRvdWJsZSBwcm9ncmVzcykKICAgICB7CiAgICAgICAgIGlmICghZnJvbSB8fCAhaXNT
YW1lVHlwZSgqZnJvbSkpCkBAIC02MCw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJl
c3VsdC0+YWRkVmFsdWUoV2ViQ29yZTo6YmxlbmQoZnJvbU51bWJlci0+dmFsdWVBdChpKSwgdmFs
dWVBdChpKSwgcHJvZ3Jlc3MpKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CiAg
ICAgfQotICAgIAorCiAgICAgdmlydHVhbCBib29sIG9wZXJhdG9yPT0oY29uc3QgQ3VzdG9tRmls
dGVyUGFyYW1ldGVyJiBvKSBjb25zdAogICAgIHsKICAgICAgICAgaWYgKCFpc1NhbWVUeXBlKG8p
KQpAQCAtNjgsMTMgKzY4LDEzIEBAIHB1YmxpYzoKICAgICAgICAgY29uc3QgQ3VzdG9tRmlsdGVy
TnVtYmVyUGFyYW1ldGVyKiBvdGhlciA9IHN0YXRpY19jYXN0PGNvbnN0IEN1c3RvbUZpbHRlck51
bWJlclBhcmFtZXRlcio+KCZvKTsKICAgICAgICAgcmV0dXJuIG1fZGF0YSA9PSBvdGhlci0+bV9k
YXRhOwogICAgIH0KLSAgICAKKwogcHJpdmF0ZToKICAgICBDdXN0b21GaWx0ZXJOdW1iZXJQYXJh
bWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICA6IEN1c3RvbUZpbHRlclBhcmFtZXRl
cihOVU1CRVIsIG5hbWUpCiAgICAgewogICAgIH0KLSAgICAKKwogICAgIFZlY3Rvcjxkb3VibGUs
IDQ+IG1fZGF0YTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUGFyYW1ldGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclBhcmFtZXRlci5oCmluZGV4IDgy
OTgwZDZjNzgwZjA4MGNjN2Q3MDNmYWE5OGM2MmI2ZjVkM2VhODQuLmI2OGNlZjAwYWIzNzU5Nzkw
YTZjNDlkY2Y4N2YzZWQ0ZjZjMDhiODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUGFyYW1ldGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQYXJhbWV0ZXIu
aApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAgICAgLy8gM2QtdHJhbnNmb3JtczogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDQzCiAgICAgLy8gbWF0MiwgbWF0
MywgbWF0NDogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDQ0CiAg
ICAgZW51bSBQYXJhbWV0ZXJUeXBlIHsKKyAgICAgICAgQVJSQVksCiAgICAgICAgIE5VTUJFUiwK
ICAgICAgICAgVFJBTlNGT1JNCiAgICAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKaW5kZXggZDY1
ZmY5N2NhYjBhNDQwNTk3NmIyNTM5OThkY2ZiODM5NjZiNjg1NC4uYzJkZDJiZmFmNzQ4YjkwNTNm
OWE0N2ZmYWY3MDg0ZTRmOTU1OTNlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAKQEAgLTMyLDYg
KzMyLDcgQEAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpICYmIFVTRSgzRF9HUkFQSElDUykKICNp
bmNsdWRlICJGRUN1c3RvbUZpbHRlci5oIgogCisjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQXJyYXlQ
YXJhbWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW0uaCIKICNp
bmNsdWRlICJDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmls
dGVyTWVzaC5oIgpAQCAtMjYxLDYgKzI2MiwxNyBAQCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjp1bmJp
bmRWZXJ0ZXhBdHRyaWJ1dGUoaW50IGF0dHJpYnV0ZUxvY2F0aW9uKQogICAgICAgICBtX2NvbnRl
eHQtPmRpc2FibGVWZXJ0ZXhBdHRyaWJBcnJheShhdHRyaWJ1dGVMb2NhdGlvbik7CiB9CiAKK3Zv
aWQgRkVDdXN0b21GaWx0ZXI6OmJpbmRQcm9ncmFtQXJyYXlQYXJhbWV0ZXJzKGludCB1bmlmb3Jt
TG9jYXRpb24sIEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyKiBhcnJheVBhcmFtZXRlcikKK3sK
KyAgICB1bnNpZ25lZCBwYXJhbWV0ZXJTaXplID0gYXJyYXlQYXJhbWV0ZXItPnNpemUoKTsKKyAg
ICBWZWN0b3I8R0MzRGZsb2F0PiBmbG9hdFZlY3RvcjsKKworICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBwYXJhbWV0ZXJTaXplOyArK2kpCisgICAgICAgIGZsb2F0VmVjdG9yLmFwcGVuZChh
cnJheVBhcmFtZXRlci0+dmFsdWVBdChpKSk7CisKKyAgICBtX2NvbnRleHQtPnVuaWZvcm0xZnYo
dW5pZm9ybUxvY2F0aW9uLCBwYXJhbWV0ZXJTaXplLCBmbG9hdFZlY3Rvci5kYXRhKCkpOworfQor
CiB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbU51bWJlclBhcmFtZXRlcnMoaW50IHVu
aWZvcm1Mb2NhdGlvbiwgQ3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVyKiBudW1iZXJQYXJhbWV0
ZXIpCiB7CiAgICAgc3dpdGNoIChudW1iZXJQYXJhbWV0ZXItPnNpemUoKSkgewpAQCAtMzEyLDYg
KzMyNCw5IEBAIHZvaWQgRkVDdXN0b21GaWx0ZXI6OmJpbmRQcm9ncmFtUGFyYW1ldGVycygpCiAg
ICAgICAgIGlmICh1bmlmb3JtTG9jYXRpb24gPT0gLTEpCiAgICAgICAgICAgICBjb250aW51ZTsK
ICAgICAgICAgc3dpdGNoIChwYXJhbWV0ZXItPnBhcmFtZXRlclR5cGUoKSkgeworICAgICAgICBj
YXNlIEN1c3RvbUZpbHRlclBhcmFtZXRlcjo6QVJSQVk6CisgICAgICAgICAgICBiaW5kUHJvZ3Jh
bUFycmF5UGFyYW1ldGVycyh1bmlmb3JtTG9jYXRpb24sIHN0YXRpY19jYXN0PEN1c3RvbUZpbHRl
ckFycmF5UGFyYW1ldGVyKj4ocGFyYW1ldGVyKSk7CisgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBDdXN0b21GaWx0ZXJQYXJhbWV0ZXI6Ok5VTUJFUjoKICAgICAgICAgICAgIGJpbmRQ
cm9ncmFtTnVtYmVyUGFyYW1ldGVycyh1bmlmb3JtTG9jYXRpb24sIHN0YXRpY19jYXN0PEN1c3Rv
bUZpbHRlck51bWJlclBhcmFtZXRlcio+KHBhcmFtZXRlcikpOwogICAgICAgICAgICAgYnJlYWs7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZF
Q3VzdG9tRmlsdGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0ZFQ3VzdG9tRmlsdGVyLmgKaW5kZXggOTZiYjkxODVlMWU3ZjljNzQ4NDMwYTk0NGI4NjczM2Mw
MTlmNzk5Yi4uYTM5MGZhMjk3MTdlMGMxOWMxZjNkNTA5MzU5ZjdiMzIxOGNmODkxYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZp
bHRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVD
dXN0b21GaWx0ZXIuaApAQCAtNDUsNiArNDUsNyBAQCBjbGFzcyBVaW50OENsYW1wZWRBcnJheTsK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVkU2hhZGVyOworY2xhc3MgQ3VzdG9t
RmlsdGVyQXJyYXlQYXJhbWV0ZXI7CiBjbGFzcyBDdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW07
CiBjbGFzcyBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0OwogY2xhc3MgQ3VzdG9tRmlsdGVyTWVz
aDsKQEAgLTgxLDYgKzgyLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHJlc2l6ZUNvbnRleHQoY29u
c3QgSW50U2l6ZSYgbmV3Q29udGV4dFNpemUpOwogICAgIHZvaWQgYmluZFZlcnRleEF0dHJpYnV0
ZShpbnQgYXR0cmlidXRlTG9jYXRpb24sIHVuc2lnbmVkIHNpemUsIHVuc2lnbmVkIG9mZnNldCk7
CiAgICAgdm9pZCB1bmJpbmRWZXJ0ZXhBdHRyaWJ1dGUoaW50IGF0dHJpYnV0ZUxvY2F0aW9uKTsK
KyAgICB2b2lkIGJpbmRQcm9ncmFtQXJyYXlQYXJhbWV0ZXJzKGludCB1bmlmb3JtTG9jYXRpb24s
IEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyKik7CiAgICAgdm9pZCBiaW5kUHJvZ3JhbU51bWJl
clBhcmFtZXRlcnMoaW50IHVuaWZvcm1Mb2NhdGlvbiwgQ3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1l
dGVyKik7CiAgICAgdm9pZCBiaW5kUHJvZ3JhbVRyYW5zZm9ybVBhcmFtZXRlcihpbnQgdW5pZm9y
bUxvY2F0aW9uLCBDdXN0b21GaWx0ZXJUcmFuc2Zvcm1QYXJhbWV0ZXIqKTsKICAgICB2b2lkIGJp
bmRQcm9ncmFtUGFyYW1ldGVycygpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAzNThhYzRlYWM5Yjg2MmE5ZjYxODEwZWVj
MzQyN2QwZDA5YTk2YzAuLjQ5YjAyNGEyNjE2ZjU3MGIxYzk3MWU5YWI4YmY2MTc5ZTNlYWMyOTkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0wOS0xMSAgTWljaGVsYW5nZWxvIERlIFNpbW9u
ZSAgPG1pY2hlbGFuZ2Vsb0B3ZWJraXQub3JnPgorCisgICAgICAgIFVzZSBhcnJheXMgaW4gc2hh
ZGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTUy
MjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcg
dGVzdHMgaGF2ZSBiZWVuIGFkZGVkIGZvciBjaGVja2luZyB0aGUgY29ycmVjdG5lc3Mgb2YgYXJy
YXkoKQorICAgICAgICB3aXRoaW4gc2hhZGVycy4gCisKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMv
Y3VzdG9tL2N1c3RvbS1maWx0ZXItYXJyYXktZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWFycmF5Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21w
dXRlZC1zdHlsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzMy9maWx0ZXJzL3Jlc291cmNl
cy9mcmFnbWVudC1jb2xvci5mczogQWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL3Njcmlw
dC10ZXN0cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLmpzOgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1w
cm9wZXJ0eS1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQ6CisKIDIwMTItMDktMTEgIFN0ZXBo
ZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVt
XSBNYXJrIHNvbWUgdGVzdHMgYXMgbmVlZGluZyBhIHJlYmFzZWxpbmUgZHVlIHRvIFNWRyBmaWx0
ZXJzIGNoYW5nZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20v
Y3VzdG9tLWZpbHRlci1hcnJheS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0
ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWFycmF5LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGQzMTU5MzIwYWQ3OGM2YWMyOTU3YjY1ODY2MTczN2NhODQ5ZjllOQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1hcnJheS1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjcgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5UZXN0cyB0aGUgYXJyYXkoKSBmdW5jdGlvbiBpbiBj
dXN0b20gZmlsdGVyczwvdGl0bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworCisgICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIHJ1biB0aGUgdGVzdHMgYWZ0ZXIg
dGhlIGRvd25sb2FkaW5nIHN1Y2NlZWRlZC4KKyAgICAgICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgICNmaWx0ZXJ0ZXN0Ym94IHsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEw
MHB4OworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgICAgICAgICBiYWNr
Z3JvdW5kLWNvbG9yOiByZ2IoMCwgMjU1LCAwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgICAg
ICA8ZGl2IGlkPSJmaWx0ZXJ0ZXN0Ym94Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXIt
YXJyYXkuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRl
ci1hcnJheS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0MGExMTg1NDA2OWY5OTllNmNmMjVlNmM0NzQzNjY2
MWEwNmEzZjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3Vz
dG9tL2N1c3RvbS1maWx0ZXItYXJyYXkuaHRtbApAQCAtMCwwICsxLDMxIEBACis8IWRvY3R5cGUg
aHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+VGVzdHMgdGhlIGFycmF5
KCkgZnVuY3Rpb24gaW4gY3VzdG9tIGZpbHRlcnM8L3RpdGxlPgorICAgICAgICA8c2NyaXB0Pgor
ICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICAgICAgd2lu
ZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRDU1NDdXN0b21GaWx0ZXJF
bmFibGVkIiwgIjEiKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlk
ZVByZWZlcmVuY2UoIldlYktpdFdlYkdMRW5hYmxlZCIsICIxIik7CisgICAgICAgICAgICAgICAg
d2luZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICBmdW5jdGlvbiBydW5UZXN0KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICAvLyBXZSBuZWVkIHRvIHJ1biB0aGUgdGVzdHMgYWZ0ZXIgdGhlIGRvd25sb2FkaW5nIHN1Y2Nl
ZWRlZC4KKyAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAg
ICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNmaWx0ZXJ0
ZXN0Ym94IHsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgICAg
IHdpZHRoOiAxMDBweDsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cisg
ICAgICAgICAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGN1c3RvbShub25lIHVybCgnLi4vcmVzb3Vy
Y2VzL2ZyYWdtZW50LWNvbG9yLmZzJyksIGNvb2xBcnJheSBhcnJheSgwLjAsIDEuMCwgMC4wLCAx
LjApKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgICAgICA8ZGl2IGlkPSJmaWx0ZXJ0ZXN0Ym94
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmls
dGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dAppbmRleCBjMTZkY2JmNmNj
Njg4MWRlYTQyNTFmNmY3ZDI5NTg1YTI2ODFjYWE4Li42OTRmM2Y0ZTQyMzFjZjJlYTU4MTU3NTZl
OGFlMDExMWUxYzQ3MTc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3Vz
dG9tL2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0
eS1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQKQEAgLTUyOSw2ICs1MjksMjQgQEAgUEFTUyBz
dWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9D
VVNUT00KIFBBU1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdjdXN0b20obm9u
ZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZpbHRlci1ib3gpJwogUEFTUyBzdWJSdWxlLm9w
ZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9TRVBJQQogUEFT
UyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3NzVGV4dCkgaXMgJ3NlcGlhKDEpJworCitDdXN0b20g
d2l0aCBhcnJheSgpIG1hZGUgdXAgb2YgdGhyZWUgdmFsdWVzIDogY3VzdG9tKG5vbmUgdXJsKGZy
YWdtZW50LnNoYWRlciksIGExIGFycmF5KDEsIDIsIDMpKQorUEFTUyByZW1vdmVCYXNlVVJMKGZp
bHRlclN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykpIGlzICdjdXN0b20o
bm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5KDEsIDIs
IDMpKScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcK
K1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NWYWx1ZUxp
c3RQcm90b3R5cGUnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3Ip
IGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicKK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMg
MQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NT
X0ZJTFRFUl9DVVNUT00KK1BBU1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdj
dXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5
KDEsIDIsIDMpKScKKworQ3VzdG9tIHdpdGggdHdvIGFycmF5KCkgbWFkZSB1cCBvZiB0aHJlZSBh
bmQgc2l4IHZhbHVlcyA6IGN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBhMSBhcnJh
eSgxLCAyLCAzKSwgYTIgYXJyYXkoMSwgMiwgMywgNCwgNSwgNikpCitQQVNTIHJlbW92ZUJhc2VV
UkwoZmlsdGVyU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSkgaXMgJ2N1
c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEgYXJyYXko
MSwgMiwgMyksIGEyIGFycmF5KDEsIDIsIDMsIDQsIDUsIDYpKScKK1BBU1MganNXcmFwcGVyQ2xh
c3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmls
dGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3Jh
cHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1
Y3RvcicKK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlv
blR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1MgcmVt
b3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQu
c2hhZGVyKSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5KDEsIDIsIDMpLCBhMiBhcnJheSgxLCAy
LCAzLCA0LCA1LCA2KSknCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1Qg
Q09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMv
ZnJhZ21lbnQtY29sb3IuZnMgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2Zy
YWdtZW50LWNvbG9yLmZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjOTUwMjIxYWUxNGQ1Mzk2ZTcwY2FmYTdjNTU5
YzlmM2MxNzg0MDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMv
cmVzb3VyY2VzL2ZyYWdtZW50LWNvbG9yLmZzCkBAIC0wLDAgKzEsNyBAQAorcHJlY2lzaW9uIG1l
ZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIGZsb2F0IGNvb2xBcnJheVs0XTsKKwordm9pZCBtYWluKCkK
K3sKKyAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0KGNvb2xBcnJheVswXSwgY29vbEFycmF5WzFdLCBj
b29sQXJyYXlbMl0sIGNvb2xBcnJheVszXSk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQt
c3R5bGUuanMgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1m
aWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUuanMKaW5kZXggMGVlZDUyMDQxNmUxNWVjYTg3
NDBlOWI3NmIyYjA4MTZkZTI1NDQwOC4uZDhhYjhkN2RlMDBmNTc1MmJlYWZlNjkzMGRjM2Q4YTU2
N2I1M2E2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3NjcmlwdC10ZXN0
cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLmpzCisrKyBiL0xheW91dFRl
c3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21w
dXRlZC1zdHlsZS5qcwpAQCAtMTk5LDMgKzE5OSwxMSBAQCB0ZXN0RmlsdGVyUnVsZSgiTXVsdGlw
bGUgd2l0aCBmcmFnbWVudCBzaGFkZXIiLAogICAgIFsiZ3JheXNjYWxlKDEpIiwKICAgICAiY3Vz
dG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXItYm94KSIsCiAgICAgInNl
cGlhKDEpIl0pOworCit0ZXN0RmlsdGVyUnVsZSgiQ3VzdG9tIHdpdGggYXJyYXkoKSBtYWRlIHVw
IG9mIHRocmVlIHZhbHVlcyIsCisgICAgICAgICAgICAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50
LnNoYWRlciksIGExIGFycmF5KDEsIDIsIDMpKSIsCisgICAgICAgICAgICAiY3VzdG9tKG5vbmUg
dXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXItYm94LCBhMSBhcnJheSgxLCAyLCAzKSki
KTsKKwordGVzdEZpbHRlclJ1bGUoIkN1c3RvbSB3aXRoIHR3byBhcnJheSgpIG1hZGUgdXAgb2Yg
dGhyZWUgYW5kIHNpeCB2YWx1ZXMiLAorICAgICAgICAgICAgImN1c3RvbShub25lIHVybChmcmFn
bWVudC5zaGFkZXIpLCBhMSBhcnJheSgxLCAyLCAzKSwgYTIgYXJyYXkoMSwgMiwgMywgNCwgNSwg
NikpIiwKKyAgICAgICAgICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAx
IGZpbHRlci1ib3gsIGExIGFycmF5KDEsIDIsIDMpLCBhMiBhcnJheSgxLCAyLCAzLCA0LCA1LCA2
KSkiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NzczMvZmls
dGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21wdXRlZC1zdHlsZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jc3MzL2ZpbHRlcnMvY3VzdG9t
L2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CmluZGV4
IGZmNWVjMmIyYTJiODg0NTRiZDg2NDY1MDAxOWY0YzQxMDYwNTQ0MjYuLjQ2OTUxOTMxOWEzNjlm
NmIzN2U3MGEwOGZmZjdlNzI5Y2U2YjQ1N2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1j
b21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVk
LXN0eWxlLWV4cGVjdGVkLnR4dApAQCAtNTI5LDYgKzUyOSwyNCBAQCBQQVNTIHN1YlJ1bGUub3Bl
cmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQogUEFT
UyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3NzVGV4dCkgaXMgJ2N1c3RvbShub25lIHVybChmcmFn
bWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJveCknCiBQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlw
ZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX1NFUElBCiBQQVNTIHJlbW92ZUJh
c2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBpcyAnc2VwaWEoMSknCisKK0N1c3RvbSB3aXRoIGFycmF5
KCkgbWFkZSB1cCBvZiB0aHJlZSB2YWx1ZXMgOiBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hh
ZGVyKSwgYTEgYXJyYXkoMSwgMiwgMykpCitQQVNTIHJlbW92ZUJhc2VVUkwoZmlsdGVyU3R5bGUu
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSkgaXMgJ2N1c3RvbShub25lIHVybChm
cmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEgYXJyYXkoMSwgMiwgMykpJworUEFT
UyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworRkFJTCBqc1dy
YXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJvdG9fXykgc2hvdWxkIGJlIENTU1ZhbHVlTGlzdFBy
b3RvdHlwZS4gV2FzIE9iamVjdC4KK0ZBSUwganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5jb25z
dHJ1Y3Rvcikgc2hvdWxkIGJlIENTU1ZhbHVlTGlzdENvbnN0cnVjdG9yLiBXYXMgRnVuY3Rpb24u
CitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEKK1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBl
IGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQ1VTVE9NCitQQVNTIHJlbW92ZUJh
c2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRl
ciksIDEgMSBmaWx0ZXItYm94LCBhMSBhcnJheSgxLCAyLCAzKSknCisKK0N1c3RvbSB3aXRoIHR3
byBhcnJheSgpIG1hZGUgdXAgb2YgdGhyZWUgYW5kIHNpeCB2YWx1ZXMgOiBjdXN0b20obm9uZSB1
cmwoZnJhZ21lbnQuc2hhZGVyKSwgYTEgYXJyYXkoMSwgMiwgMyksIGEyIGFycmF5KDEsIDIsIDMs
IDQsIDUsIDYpKQorUEFTUyByZW1vdmVCYXNlVVJMKGZpbHRlclN0eWxlLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZmlsdGVyJykpIGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVy
KSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5KDEsIDIsIDMpLCBhMiBhcnJheSgxLCAyLCAzLCA0
LCA1LCA2KSknCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxp
c3QnCitGQUlMIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBzaG91bGQgYmUg
Q1NTVmFsdWVMaXN0UHJvdG90eXBlLiBXYXMgT2JqZWN0LgorRkFJTCBqc1dyYXBwZXJDbGFzcyhm
aWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBzaG91bGQgYmUgQ1NTVmFsdWVMaXN0Q29uc3RydWN0b3Iu
IFdhcyBGdW5jdGlvbi4KK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxl
Lm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00K
K1BBU1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdjdXN0b20obm9uZSB1cmwo
ZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5KDEsIDIsIDMpLCBhMiBh
cnJheSgxLCAyLCAzLCA0LCA1LCA2KSknCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKIFRFU1QgQ09NUExFVEUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163465</attachid>
            <date>2012-09-11 15:59:32 -0700</date>
            <delta_ts>2012-09-11 18:37:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95223-20120911155906.patch</filename>
            <type>text/plain</type>
            <size>31112</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTMzMGNmMGM0MmY5NWIw
ZWVhZTQ3NDFiZmJmZTU3OGFlYjViMjZkNi4uYjczYjI3NjRjZGVlNGUzMzM1ZTlkMTNmZDk2ZWVm
ODczOWZmMGNlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTA5LTExICBNaWNo
ZWxhbmdlbG8gRGUgU2ltb25lICA8bWljaGVsYW5nZWxvQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
VXNlIGFycmF5cyBpbiBzaGFkZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NTIyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEN1c3RvbSBGaWx0ZXJzJyBzdXBwb3J0IGZvciBhcnJheSgpIGlzIGludHJv
ZHVjZWQuIFZhbHVlcyB3aXRoaW4KKyAgICAgICAgdGhlIGFycmF5KCkgZnVuY3Rpb24gd2lsbCBi
ZSBwYXNzZWQgYXMgdW5pZm9ybXMgdG8gc2hhZGVycy4KKworICAgICAgICBWYWx1ZXMgd2l0aGlu
IGFycmF5KCkgYXJlIGNvbW1hLXNlcGFyYXRlZDsgc3BlY3Mgd2lsbCBiZSB1cGRhdGVkCisgICAg
ICAgIGFjY29yZGluZ2x5OiBodHRwczovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcu
Y2dpP2lkPTE4ODM5CisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20t
ZmlsdGVyLWFycmF5Lmh0bWwKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsdWVGb3JDdXN0b21GaWx0ZXJBcnJheVBhcmFt
ZXRlcik6IAorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjp2YWx1ZUZvckN1
c3RvbUZpbHRlclBhcmFtZXRlcik6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JM
aXN0KToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAgICAoU3R5bGVSZXNv
bHZlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJB
cnJheVBhcmFtZXRlci5oOiBDb250YWluZXIgZm9yIGFycmF5KCkKKyAgICAgICAgcGFyYW1ldGVy
IHZhbHVlcy4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQ3VzdG9tRmlsdGVyQXJyYXlQ
YXJhbWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXI6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcjo6
c2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcjo6dmFs
dWVBdCk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcjo6YWRk
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXI6OmJs
ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyOjpvcGVy
YXRvcj09KToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyOjpD
dXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9DdXN0b21GaWx0ZXJQYXJhbWV0ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3Vz
dG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFycmF5UGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbVBhcmFtZXRl
cnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIu
aDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRkVDdXN0b21GaWx0ZXIpOgorCiAyMDEy
LTA5LTExICBBcm5hdWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgW0d0a10gYWxsb3cgYnVpbGRpbmcgd2l0aCBjc3Mtc2hhZGVycwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMmYwMzI3YTBiMDk2Mjc3YzU0MTQ5MTM2MjFmZjFiNjJh
NTM3ZThlZS4uNWUyNjQ3OGJlNTUwMTRhYjViMjgxODQ0NmY1ZTI2ZGNmMTkxYTVlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00MjUxLDYgKzQyNTEsNyBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1JlZlB0
ckNhaXJvLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUmVm
UHRyQ2Fpcm8uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vVHJh
bnNmb3JtYXRpb25NYXRyaXhDYWlyby5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21G
aWx0ZXJHbG9iYWxDb250ZXh0LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggODczMjU0ZWU4
YmY5NGZmM2QxNzQzMmQ4ZjI2OGMwOTI4MTc1NDBhYi4uYjM0M2Q4MWRmY2JhYzE3NTg3Y2FlMTBi
MmU0MTc1MjAzNzk5OTM3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0yMDQ1LDYgKzIwNDUsNyBAQCBIRUFE
RVJTICs9IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIFwKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9Db2xvci5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVH
ZW5lcmF0ZWRJbWFnZS5oIFwKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlckFycmF5UGFyYW1ldGVyLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3Vz
dG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlck1lc2guaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0
b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGVlN2E4NTgxNWQ1
MTNlYjE2YjhjNzE5ZDgxY2FiZjQyMGM2NzcyZGQuLjFmYWQyNzY2ZGNmOGY2NGZkMmM5ZjY0ODlj
NWQ5ZTVlZTgxZGNiNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQ5MTQsNiArNDkxNCw3IEBACiAg
ICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0ltYWdlRWZsLmNwcCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0ludFBvaW50RWZsLmNwcCcsCiAgICAgICAgICAg
ICAncGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0ludFJlY3RFZmwuY3BwJywKKyAgICAgICAgICAgICdw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmgnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyR2xvYmFs
Q29udGV4dC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3Vz
dG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGE3YmJlMGJhNWNkOGI0NGQ0OGYxMjVkMmE5Nzg4
NzQ1YTI4YTdmMTIuLmRmNjZmYTE4MDk3ZGZjNjRhYzA1NTNiOTcwOTY3NTA5YTgyZGU3NTMgMTAw
NzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zMTg2
OSw2ICszMTg2OSwxMCBAQAogCQkJCQlOYW1lPSJmaWx0ZXJzIgogCQkJCQk+CiAJCQkJCTxGaWxl
CisJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnNcQ3VzdG9t
RmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCIKKwkJCQkJCT4KKwkJCQkJPC9GaWxlPgorCQkJCQk8Rmls
ZQogCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0ZXJzXEN1c3Rv
bUZpbHRlckdsb2JhbENvbnRleHQuY3BwIgogCQkJCQkJPgogCQkJCQk8L0ZpbGU+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDFh
MDMxYmE5YjRkZjcwMGE4NzY5MzBlMjY2NzU0ODY3NjNkZDg0OC4uN2I4ZjM5YTE4Y2Q2NzY5NTJj
NjY2MGM2ZWQyMWYwYTVhZWZmZjY1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzU0LDYgKzM1NCw3IEBACiAJCTE0RkZFMzFF
MEFFMTk2MzMwMDEzNkJGNSAvKiBIVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEZGRTMxQzBBRTE5NjMzMDAxMzZC
RjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwICovOyB9OwogCQkxNTBCOTIzOTE1RjA4REM0
MDBFMTA5ODYgLyogV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1MEI5MjM3MTVGMDhEQzQwMEUxMDk4
NiAvKiBXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUuY3BwICovOyB9OwogCQkxNTBCOTIzQTE1
RjA4REM0MDBFMTA5ODYgLyogV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNTBCOTIzODE1RjA4REM0MDBF
MTA5ODYgLyogV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmggKi87IH07CisJCTE1QjNGQzE5
MTVGQjIxNzgwMEE4MUJDQiAvKiBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVCM0ZDMTcxNUZCMjE3ODAw
QTgxQkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmggKi87IH07CiAJCTE1Qzc3MDhE
MTAwRDNDNkIwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUM3NzA4QTEwMEQzQzZBMDA1QkEyNjcgLyogVmFs
aWRpdHlTdGF0ZS5oICovOyB9OwogCQkxNUM3NzA4RTEwMEQzQzZCMDA1QkEyNjcgLyogVmFsaWRp
dHlTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxNUM3NzA4QjEwMEQzQzZBMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5jcHAgKi87IH07CiAJ
CTE1Qzc3MDkzMTAwRDNDQTgwMDVCQTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1Qzc3MDkxMTAwRDNDQTgwMDVC
QTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuaCAqLzsgfTsKQEAgLTc0MDUsNiArNzQwNiw3IEBACiAJ
CTE0RkZFMzFDMEFFMTk2MzMwMDEzNkJGNSAvKiBIVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MRnJhbWVFbGVtZW50QmFzZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1MEI5MjM3MTVGMDhEQzQwMEUxMDk4
NiAvKiBXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTUwQjkyMzgxNUYwOERDNDAwRTEwOTg2IC8qIFdlYktp
dENTU0FycmF5RnVuY3Rpb25WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMTVCM0ZDMTcxNUZCMjE3ODAwQTgxQkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1l
dGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEN1c3RvbUZpbHRlckFycmF5
UGFyYW1ldGVyLmg7IHBhdGggPSBmaWx0ZXJzL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1Qzc3MDg5MTAwRDNDNkEwMDVCQTI2NyAv
KiBWYWxpZGl0eVN0YXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBWYWxpZGl0eVN0YXRl
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTVDNzcwOEExMDBEM0M2QTAwNUJB
MjY3IC8qIFZhbGlkaXR5U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
VmFsaWRpdHlTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNUM3NzA4QjEw
MEQzQzZBMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBWYWxpZGl0eVN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE4MTc1LDYgKzE4MTc3LDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCiAJCQkJNDlFQ0VCNUMxNDk5NzkwRDAwQ0REM0E0IC8qIGFybSAqLywKKwkJCQkx
NUIzRkMxNzE1RkIyMTc4MDBBODFCQ0IgLyogQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCAq
LywKIAkJCQk1MEQ0MDYwRjE0N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQ
cm9ncmFtLmNwcCAqLywKIAkJCQk1MEQ0MDYxMDE0N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmls
dGVyQ29tcGlsZWRQcm9ncmFtLmggKi8sCiAJCQkJNTA5ODdDMjQxNTdENjc2RDAwQkRBODM1IC8q
IEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuY3BwICovLApAQCAtMjI1ODEsNiArMjI1ODQsNyBA
QAogCQkJCUJDMjI3MkEyMEU4MkU4N0MwMEU3Rjk3NSAvKiBDdXJzb3JEYXRhLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzIyNzJBRDBFODJFOEYzMDBFN0Y5NzUgLyogQ3Vyc29yTGlzdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNjJDRDMyNUExMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQkxNUIzRkMxOTE1RkIyMTc4MDBBODFCQ0IgLyogQ3VzdG9tRmls
dGVyQXJyYXlQYXJhbWV0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUwRDQwNjEyMTQ3RDQ5REUw
MEQzMEJCNSAvKiBDdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW0uaCBpbiBIZWFkZXJzICovLAog
CQkJCTUwOTg3QzI3MTU3RDY3NkQwMEJEQTgzNSAvKiBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MEQ0MDVGQTE0N0QzMUYzMDBEMzBCQjUgLyogQ3VzdG9t
RmlsdGVyTWVzaC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IGViYzI3YWFjN2VkNGFkYTMwODNj
YWYxZDU3ZDllZGFjZDkwNDIyN2IuLjNmOWI0NzI4OTA0ZmI4OTcwNzJjNTM5ZWFkMjEyMmY5ZDVj
ZjczMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwCkBAIC02NCwxMCArNjQsMTIgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdCdWlsZGVyLmg+CiAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisjaW5jbHVkZSAiQ3VzdG9t
RmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJOdW1iZXJQYXJh
bWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJPcGVyYXRpb24uaCIKICNpbmNsdWRlICJD
dXN0b21GaWx0ZXJQYXJhbWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJUcmFuc2Zvcm1Q
YXJhbWV0ZXIuaCIKKyNpbmNsdWRlICJXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUuaCIKICNp
bmNsdWRlICJXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmgiCiAjZW5kaWYKIApAQCAtNzcxLDYg
Kzc3MywxNCBAQCBzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY29tcHV0ZWRUcmFuc2Zvcm0o
UmVuZGVyT2JqZWN0KiByZW5kZXJlciwgY29uc3QgUmVuZAogfQogCiAjaWYgRU5BQkxFKENTU19T
SEFERVJTKQorc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlRm9yQ3VzdG9tRmlsdGVy
QXJyYXlQYXJhbWV0ZXIoY29uc3QgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIqIGFycmF5UGFy
YW1ldGVyKQoreworICAgIFJlZlB0cjxXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWU+IGFycmF5
UGFyYW1ldGVyVmFsdWUgPSBXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWU6OmNyZWF0ZSgpOwor
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBhcnJheVBhcmFtZXRlci0+c2l6ZSgpOyArK2kp
CisgICAgICAgIGFycmF5UGFyYW1ldGVyVmFsdWUtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVh
dGVWYWx1ZShhcnJheVBhcmFtZXRlci0+dmFsdWVBdChpKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19OVU1CRVIpKTsKKyAgICByZXR1cm4gYXJyYXlQYXJhbWV0ZXJWYWx1ZS5yZWxlYXNlKCk7Cit9
CisKIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZvckN1c3RvbUZpbHRlck51bWJl
clBhcmFtZXRlcihjb25zdCBDdXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIqIG51bWJlclBhcmFt
ZXRlcikKIHsKICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBudW1iZXJQYXJhbWV0ZXJWYWx1ZSA9
IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKQEAgLTc5Myw2ICs4MDMsOCBA
QCBzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWVGb3JDdXN0b21GaWx0ZXJQYXJhbWV0
ZXIoY29uc3QgUmVuZGVyT2JqZWN0KiByZQogICAgIC8vIEZJWE1FOiBBZGQgaGVyZSBjb21wdXRl
ZCBzdHlsZSBmb3IgdGhlIG90aGVyIHR5cGVzOiBib29sZWFuLCB0cmFuc2Zvcm0sIG1hdHJpeCwg
dGV4dHVyZS4KICAgICBBU1NFUlQocGFyYW1ldGVyKTsKICAgICBzd2l0Y2ggKHBhcmFtZXRlci0+
cGFyYW1ldGVyVHlwZSgpKSB7CisgICAgY2FzZSBDdXN0b21GaWx0ZXJQYXJhbWV0ZXI6OkFSUkFZ
OgorICAgICAgICByZXR1cm4gdmFsdWVGb3JDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcihzdGF0
aWNfY2FzdDxjb25zdCBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcio+KHBhcmFtZXRlcikpOwog
ICAgIGNhc2UgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyOjpOVU1CRVI6CiAgICAgICAgIHJldHVybiB2
YWx1ZUZvckN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlcihzdGF0aWNfY2FzdDxjb25zdCBDdXN0
b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIqPihwYXJhbWV0ZXIpKTsKICAgICBjYXNlIEN1c3RvbUZp
bHRlclBhcmFtZXRlcjo6VFJBTlNGT1JNOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
CmluZGV4IGRkODc3Mzc3MWYxZjg3N2MwY2YzOWJmOTQ0ZmU2YTIwYjA2NTE2MWMuLmM2YzM5MGYy
N2E2NGZlNzc2MzdkMWJhYzk5ZTdhZTJlY2NhMWU1YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKQEAgLTE0Nyw2ICsxNDcsNyBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1NT
X1NIQURFUlMpCisjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCIKICNpbmNs
dWRlICJDdXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0
ZXJPcGVyYXRpb24uaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJQYXJhbWV0ZXIuaCIKQEAgLTUy
NDksNiArNTI1MCwyMSBAQCBzdGF0aWMgYm9vbCBzb3J0UGFyYW1ldGVyc0J5TmFtZUNvbXBhcmF0
b3IoY29uc3QgUmVmUHRyPEN1c3RvbUZpbHRlclBhcmFtZXRlcj4mCiAgICAgcmV0dXJuIGNvZGVQ
b2ludENvbXBhcmVMZXNzVGhhbihhLT5uYW1lKCksIGItPm5hbWUoKSk7CiB9CiAKK1Bhc3NSZWZQ
dHI8Q3VzdG9tRmlsdGVyUGFyYW1ldGVyPiBTdHlsZVJlc29sdmVyOjpwYXJzZUN1c3RvbUZpbHRl
ckFycmF5UGFyYW1ldGVyKGNvbnN0IFN0cmluZyYgbmFtZSwgQ1NTVmFsdWVMaXN0KiB2YWx1ZXMp
Cit7CisgICAgUmVmUHRyPEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyPiBhcnJheVBhcmFtZXRl
ciA9IEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyOjpjcmVhdGUobmFtZSk7CisgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IHZhbHVlcy0+bGVuZ3RoKCk7ICsraSkgeworICAgICAgICBDU1NW
YWx1ZSogdmFsdWUgPSB2YWx1ZXMtPml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soaSk7CisgICAgICAg
IGlmICghdmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOwor
ICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxD
U1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlKTsKKyAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLT5w
cmltaXRpdmVUeXBlKCkgIT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpCisgICAgICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgYXJyYXlQYXJhbWV0ZXItPmFkZFZhbHVlKHByaW1pdGl2
ZVZhbHVlLT5nZXREb3VibGVWYWx1ZSgpKTsKKyAgICB9CisgICAgcmV0dXJuIGFycmF5UGFyYW1l
dGVyLnJlbGVhc2UoKTsKK30KKwogUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQYXJhbWV0ZXI+IFN0
eWxlUmVzb2x2ZXI6OnBhcnNlQ3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVyKGNvbnN0IFN0cmlu
ZyYgbmFtZSwgQ1NTVmFsdWVMaXN0KiB2YWx1ZXMpCiB7CiAgICAgUmVmUHRyPEN1c3RvbUZpbHRl
ck51bWJlclBhcmFtZXRlcj4gbnVtYmVyUGFyYW1ldGVyID0gQ3VzdG9tRmlsdGVyTnVtYmVyUGFy
YW1ldGVyOjpjcmVhdGUobmFtZSk7CkBAIC01Mjc5LDYgKzUyOTUsNyBAQCBQYXNzUmVmUHRyPEN1
c3RvbUZpbHRlclBhcmFtZXRlcj4gU3R5bGVSZXNvbHZlcjo6cGFyc2VDdXN0b21GaWx0ZXJQYXJh
bWV0ZXIoY29ucwogICAgIC8vIGJvb2xlYW5zOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzY0MzgKICAgICAvLyB0ZXh0dXJlczogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxNDQyCiAgICAgLy8gbWF0MiwgbWF0MywgbWF0NDogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDQ0CisgICAgLy8gQWxsIGZ1bmN0
aW9ucyAoZWcuOiBhcnJheSgpLCBtaXgoKSwgLi4uKSBhcmUgVmFsdWVMaXN0cy4KICAgICBpZiAo
IXBhcmFtZXRlclZhbHVlLT5pc1ZhbHVlTGlzdCgpKQogICAgICAgICByZXR1cm4gMDsKIApAQCAt
NTI4Niw5ICs1MzAzLDE0IEBAIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUGFyYW1ldGVyPiBTdHls
ZVJlc29sdmVyOjpwYXJzZUN1c3RvbUZpbHRlclBhcmFtZXRlcihjb25zCiAgICAgaWYgKCF2YWx1
ZXMtPmxlbmd0aCgpKQogICAgICAgICByZXR1cm4gMDsKIAorICAgIGlmIChwYXJhbWV0ZXJWYWx1
ZS0+aXNXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUoKSkKKyAgICAgICAgcmV0dXJuIHBhcnNl
Q3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIobmFtZSwgdmFsdWVzKTsKKyAgICAKKyAgICAvLyBB
dCB0aGlzIHBvaW50IHdlIGFzc3VtZSB0aGF0IHdlJ3JlIGRlYWxpbmcgd2l0aCBhIHRyYW5zZm9y
bSBhbmQsCisgICAgLy8gdGhlcmVmb3JlLCB3ZSBjaGVjayB3aGV0aGVyIGl0cyBmaXJzdCB2YWx1
ZSBpcyBhIHZhbGlkIHRyYW5zZm9ybS4KICAgICBpZiAodmFsdWVzLT5pdGVtV2l0aG91dEJvdW5k
c0NoZWNrKDApLT5pc1dlYktpdENTU1RyYW5zZm9ybVZhbHVlKCkpCiAgICAgICAgIHJldHVybiBw
YXJzZUN1c3RvbUZpbHRlclRyYW5zZm9ybVBhcmFtZXRlcihuYW1lLCB2YWx1ZXMpOwotICAgIAor
CiAgICAgLy8gV2UgY2FuIGhhdmUgb25seSBhcnJheXMgb2YgYm9vbGVhbnMgb3IgbnVtYmVycywg
c28gdXNlIHRoZSBmaXJzdCB2YWx1ZSB0byBjaG9vc2UgYmV0d2VlbiB0aG9zZSB0d28uCiAgICAg
Ly8gV2UgbmVlZCB1cCB0byA0IHZhbHVlcyAoYWxsIGJvb2xlYW5zIG9yIGFsbCBudW1iZXJzKS4K
ICAgICBpZiAoIXZhbHVlcy0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjaygwKS0+aXNQcmltaXRpdmVW
YWx1ZSgpIHx8IHZhbHVlcy0+bGVuZ3RoKCkgPiA0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmgKaW5kZXggMTYxZGFjOGVhMjJmMjM3MGIzOGIwYzE4NTgyMjZmZTQ5NjYxNDk1My4uOGQxNDAx
NzE5MzVhZTlmNDVkYWVjODExNGQwYzU5OGEwZmZjYzk2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5oCkBAIC0yNjIsNiArMjYyLDcgQEAgcHVibGljOgogICAgIFN0eWxlU2hhZGVyKiBj
YWNoZWRPclBlbmRpbmdTdHlsZVNoYWRlckZyb21WYWx1ZShXZWJLaXRDU1NTaGFkZXJWYWx1ZSop
OwogICAgIGJvb2wgcGFyc2VDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0KENTU1ZhbHVlKiwgQ3Vz
dG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYpOwogICAgIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUGFy
YW1ldGVyPiBwYXJzZUN1c3RvbUZpbHRlclBhcmFtZXRlcihjb25zdCBTdHJpbmcmIG5hbWUsIENT
U1ZhbHVlKik7CisgICAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQYXJhbWV0ZXI+IHBhcnNlQ3Vz
dG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lLCBDU1NWYWx1ZUxpc3Qq
KTsKICAgICBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclBhcmFtZXRlcj4gcGFyc2VDdXN0b21GaWx0
ZXJOdW1iZXJQYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lLCBDU1NWYWx1ZUxpc3QqKTsKICAg
ICBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclBhcmFtZXRlcj4gcGFyc2VDdXN0b21GaWx0ZXJUcmFu
c2Zvcm1QYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lLCBDU1NWYWx1ZUxpc3QqKTsKICAgICBQ
YXNzUmVmUHRyPEN1c3RvbUZpbHRlck9wZXJhdGlvbj4gY3JlYXRlQ3VzdG9tRmlsdGVyT3BlcmF0
aW9uKFdlYktpdENTU0ZpbHRlclZhbHVlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckFycmF5
UGFyYW1ldGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTM0OWMyNTdlZDYxNTFjNTQwMTk0NTU0NmJmMjNmNmI0
ZjJhYjYwMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaApAQCAtMCwwICsxLDc5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscworICogICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIg4oCcQVMgSVPi
gJ0gQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgor
ICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEN1c3RvbUZpbHRlckFy
cmF5UGFyYW1ldGVyX2gKKyNkZWZpbmUgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXJfaAorCisj
aWYgRU5BQkxFKENTU19TSEFERVJTKQorI2luY2x1ZGUgIkN1c3RvbUZpbHRlclBhcmFtZXRlci5o
IgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlciA6IHB1YmxpYyBDdXN0b21GaWx0ZXJQYXJhbWV0
ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlckFycmF5UGFy
YW1ldGVyPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcihuYW1lKSk7CisgICAgfQor
CisgICAgdW5zaWduZWQgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5zaXplKCk7IH0KKyAg
ICBkb3VibGUgdmFsdWVBdCh1bnNpZ25lZCBpbmRleCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLmF0
KGluZGV4KTsgfQorCisgICAgdm9pZCBhZGRWYWx1ZShkb3VibGUgdmFsdWUpIHsgbV9kYXRhLmFw
cGVuZCh2YWx1ZSk7IH0KKworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQYXJh
bWV0ZXI+IGJsZW5kKGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlciogZnJvbSwgZG91YmxlIHBy
b2dyZXNzKQorICAgIHsKKyAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05NjQzNworICAgICAgICByZXR1cm4gdGhpczsKKyAgICB9CisKKyAg
ICB2aXJ0dWFsIGJvb2wgb3BlcmF0b3I9PShjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXImIG8p
IGNvbnN0CisgICAgeworICAgICAgICBpZiAoIWlzU2FtZVR5cGUobykpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAgICAgY29uc3QgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIq
IG90aGVyID0gc3RhdGljX2Nhc3Q8Y29uc3QgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIqPigm
byk7CisgICAgICAgIHJldHVybiBtX2RhdGEgPT0gb3RoZXItPm1fZGF0YTsKKyAgICB9CisKK3By
aXZhdGU6CisgICAgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1l
KQorICAgICAgICA6IEN1c3RvbUZpbHRlclBhcmFtZXRlcihBUlJBWSwgbmFtZSkKKyAgICB7Cisg
ICAgfQorCisgICAgVmVjdG9yPGRvdWJsZT4gbV9kYXRhOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKENTU19TSEFERVJTKQorCisjZW5kaWYgLy8gQ3Vz
dG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQYXJhbWV0ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUGFyYW1ldGVyLmgK
aW5kZXggODI5ODBkNmM3ODBmMDgwY2M3ZDcwM2ZhYTk4YzYyYjZmNWQzZWE4NC4uYjY4Y2VmMDBh
YjM3NTk3OTBhNmM0OWRjZjg3ZjNlZDRmNmMwOGI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQYXJhbWV0ZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclBh
cmFtZXRlci5oCkBAIC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKICAgICAvLyAzZC10cmFuc2Zvcm1z
OiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0NDMKICAgICAvLyBt
YXQyLCBtYXQzLCBtYXQ0OiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzE0NDQKICAgICBlbnVtIFBhcmFtZXRlclR5cGUgeworICAgICAgICBBUlJBWSwKICAgICAgICAg
TlVNQkVSLAogICAgICAgICBUUkFOU0ZPUk0KICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcApp
bmRleCBkNjVmZjk3Y2FiMGE0NDA1OTc2YjI1Mzk5OGRjZmI4Mzk2NmI2ODU0Li5jMmRkMmJmYWY3
NDhiOTA1M2Y5YTQ3ZmZhZjcwODRlNGY5NTU5M2U3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcApA
QCAtMzIsNiArMzIsNyBAQAogI2lmIEVOQUJMRShDU1NfU0hBREVSUykgJiYgVVNFKDNEX0dSQVBI
SUNTKQogI2luY2x1ZGUgIkZFQ3VzdG9tRmlsdGVyLmgiCiAKKyNpbmNsdWRlICJDdXN0b21GaWx0
ZXJBcnJheVBhcmFtZXRlci5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3Jh
bS5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuaCIKICNpbmNsdWRlICJD
dXN0b21GaWx0ZXJNZXNoLmgiCkBAIC0yNjEsNiArMjYyLDE3IEBAIHZvaWQgRkVDdXN0b21GaWx0
ZXI6OnVuYmluZFZlcnRleEF0dHJpYnV0ZShpbnQgYXR0cmlidXRlTG9jYXRpb24pCiAgICAgICAg
IG1fY29udGV4dC0+ZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGF0dHJpYnV0ZUxvY2F0aW9uKTsK
IH0KIAordm9pZCBGRUN1c3RvbUZpbHRlcjo6YmluZFByb2dyYW1BcnJheVBhcmFtZXRlcnMoaW50
IHVuaWZvcm1Mb2NhdGlvbiwgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIqIGFycmF5UGFyYW1l
dGVyKQoreworICAgIHVuc2lnbmVkIHBhcmFtZXRlclNpemUgPSBhcnJheVBhcmFtZXRlci0+c2l6
ZSgpOworICAgIFZlY3RvcjxHQzNEZmxvYXQ+IGZsb2F0VmVjdG9yOworCisgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IHBhcmFtZXRlclNpemU7ICsraSkKKyAgICAgICAgZmxvYXRWZWN0b3Iu
YXBwZW5kKGFycmF5UGFyYW1ldGVyLT52YWx1ZUF0KGkpKTsKKworICAgIG1fY29udGV4dC0+dW5p
Zm9ybTFmdih1bmlmb3JtTG9jYXRpb24sIHBhcmFtZXRlclNpemUsIGZsb2F0VmVjdG9yLmRhdGEo
KSk7Cit9CisKIHZvaWQgRkVDdXN0b21GaWx0ZXI6OmJpbmRQcm9ncmFtTnVtYmVyUGFyYW1ldGVy
cyhpbnQgdW5pZm9ybUxvY2F0aW9uLCBDdXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIqIG51bWJl
clBhcmFtZXRlcikKIHsKICAgICBzd2l0Y2ggKG51bWJlclBhcmFtZXRlci0+c2l6ZSgpKSB7CkBA
IC0zMTIsNiArMzI0LDkgQEAgdm9pZCBGRUN1c3RvbUZpbHRlcjo6YmluZFByb2dyYW1QYXJhbWV0
ZXJzKCkKICAgICAgICAgaWYgKHVuaWZvcm1Mb2NhdGlvbiA9PSAtMSkKICAgICAgICAgICAgIGNv
bnRpbnVlOwogICAgICAgICBzd2l0Y2ggKHBhcmFtZXRlci0+cGFyYW1ldGVyVHlwZSgpKSB7Cisg
ICAgICAgIGNhc2UgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyOjpBUlJBWToKKyAgICAgICAgICAgIGJp
bmRQcm9ncmFtQXJyYXlQYXJhbWV0ZXJzKHVuaWZvcm1Mb2NhdGlvbiwgc3RhdGljX2Nhc3Q8Q3Vz
dG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIqPihwYXJhbWV0ZXIpKTsKKyAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICBjYXNlIEN1c3RvbUZpbHRlclBhcmFtZXRlcjo6TlVNQkVSOgogICAgICAgICAg
ICAgYmluZFByb2dyYW1OdW1iZXJQYXJhbWV0ZXJzKHVuaWZvcm1Mb2NhdGlvbiwgc3RhdGljX2Nh
c3Q8Q3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVyKj4ocGFyYW1ldGVyKSk7CiAgICAgICAgICAg
ICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Zp
bHRlcnMvRkVDdXN0b21GaWx0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuaAppbmRleCA5NmJiOTE4NWUxZTdmOWM3NDg0MzBhOTQ0
Yjg2NzMzYzAxOWY3OTliLi5hMzkwZmEyOTcxN2UwYzE5YzFmM2Q1MDkzNTlmN2IzMjE4Y2Y4OTFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZF
Q3VzdG9tRmlsdGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9GRUN1c3RvbUZpbHRlci5oCkBAIC00NSw2ICs0NSw3IEBAIGNsYXNzIFVpbnQ4Q2xhbXBl
ZEFycmF5OwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDYWNoZWRTaGFkZXI7CitjbGFz
cyBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcjsKIGNsYXNzIEN1c3RvbUZpbHRlckNvbXBpbGVk
UHJvZ3JhbTsKIGNsYXNzIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQ7CiBjbGFzcyBDdXN0b21G
aWx0ZXJNZXNoOwpAQCAtODEsNiArODIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVzaXplQ29u
dGV4dChjb25zdCBJbnRTaXplJiBuZXdDb250ZXh0U2l6ZSk7CiAgICAgdm9pZCBiaW5kVmVydGV4
QXR0cmlidXRlKGludCBhdHRyaWJ1dGVMb2NhdGlvbiwgdW5zaWduZWQgc2l6ZSwgdW5zaWduZWQg
b2Zmc2V0KTsKICAgICB2b2lkIHVuYmluZFZlcnRleEF0dHJpYnV0ZShpbnQgYXR0cmlidXRlTG9j
YXRpb24pOworICAgIHZvaWQgYmluZFByb2dyYW1BcnJheVBhcmFtZXRlcnMoaW50IHVuaWZvcm1M
b2NhdGlvbiwgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIqKTsKICAgICB2b2lkIGJpbmRQcm9n
cmFtTnVtYmVyUGFyYW1ldGVycyhpbnQgdW5pZm9ybUxvY2F0aW9uLCBDdXN0b21GaWx0ZXJOdW1i
ZXJQYXJhbWV0ZXIqKTsKICAgICB2b2lkIGJpbmRQcm9ncmFtVHJhbnNmb3JtUGFyYW1ldGVyKGlu
dCB1bmlmb3JtTG9jYXRpb24sIEN1c3RvbUZpbHRlclRyYW5zZm9ybVBhcmFtZXRlciopOwogICAg
IHZvaWQgYmluZFByb2dyYW1QYXJhbWV0ZXJzKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDg0MWY0OTZmZTM5YmMzMjlk
OTUwZWY4MmFmZGNhMjcxNTJkY2MxNi4uNGQ4MWFmYTY4MTE5NzI0MjQ2ODZhZWYwYTI2YjVkYjEw
ZTM1MTM3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA5LTExICBNaWNoZWxhbmdlbG8g
RGUgU2ltb25lICA8bWljaGVsYW5nZWxvQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIGFycmF5
cyBpbiBzaGFkZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD05NTIyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5ldyB0ZXN0cyBoYXZlIGJlZW4gYWRkZWQgZm9yIGNoZWNraW5nIHRoZSBjb3JyZWN0bmVz
cyBvZiBhcnJheSgpCisgICAgICAgIHdpdGhpbiBzaGFkZXJzLiAKKworICAgICAgICAqIGNzczMv
ZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1hcnJheS1leHBlY3RlZC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYXJyYXkuaHRtbDog
QWRkZWQuCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXByb3Bl
cnR5LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMv
cmVzb3VyY2VzL2ZyYWdtZW50LWNvbG9yLmZzOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRl
cnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUuanM6
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20t
ZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dDoKKwogMjAxMi0wOS0x
MSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZWQgZ2FyZGVuaW5nLiBVcGRhdGUgc29tZSBleHBlY3RhdGlvbnMgdG8gcmVmZXJlbmNlIHNw
ZWNpZmljIGJ1Z3MuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9t
L2N1c3RvbS1maWx0ZXItYXJyYXktZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmls
dGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1hcnJheS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjI4M2QwNjI3N2M2N2EwMGFiOTljOGM1NjYyNmIyOTNjODg2MzkzOTkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYXJyYXkt
ZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE2IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgor
ICAgIDxoZWFkPgorICAgICAgICA8dGl0bGU+VGVzdHMgdGhlIGFycmF5KCkgZnVuY3Rpb24gaW4g
Y3VzdG9tIGZpbHRlcnM8L3RpdGxlPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjZmls
dGVydGVzdGJveCB7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAg
ICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdi
KDAsIDI1NSwgMCk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgICAgICAgPGRpdiBpZD0iZmlsdGVy
dGVzdGJveCI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWFycmF5Lmh0bWwgYi9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYXJyYXkuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mZjA0MDAxNjg3YTUwMDkzYjQyMjA0NjM2Y2NmOGIyM2M0ZDUyNjAyCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVy
LWFycmF5Lmh0bWwKQEAgLTAsMCArMSwzNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPlRlc3RzIHRoZSBhcnJheSgpIGZ1bmN0aW9uIGluIGN1
c3RvbSBmaWx0ZXJzPC90aXRsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92
ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCIsICIxIik7Cisg
ICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJL
aXRXZWJHTEVuYWJsZWQiLCAiMSIpOworICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24g
cnVuVGVzdCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBy
dW4gdGhlIHRlc3RzIGFmdGVyIHRoZSBkb3dubG9hZGluZyBzdWNjZWVkZWQuCisgICAgICAgICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgICAgICB3aW5kb3cu
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjZmlsdGVydGVzdGJveCB7CisgICAgICAg
ICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7Cisg
ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworICAgICAgICAgICAgICAgIC13
ZWJraXQtZmlsdGVyOiBjdXN0b20obm9uZSB1cmwoJy4uL3Jlc291cmNlcy9mcmFnbWVudC1jb2xv
ci5mcycpLCBjb29sQXJyYXkgYXJyYXkoMC4wLCAxLjAsIDAuMCwgMS4wKSk7CisgICAgICAgICAg
ICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0icnVu
VGVzdCgpIj4KKyAgICAgICAgPCEtLQorICAgICAgICAgICAgQSAxMDB4MTAwcHggcmVkIGRpdiBp
cyBjb2xvdXJlZCBncmVlbiBieSBmcmFnbWVudC1jb2xvci5mcywgYSBmcmFnbWVudCBzaGFkZXIu
CisgICAgICAgICAgICBGYWlscyBpZiB0aGUgZGl2IHN0YXlzIHJlZC4KKyAgICAgICAgLS0+Cisg
ICAgICAgIDxkaXYgaWQ9ImZpbHRlcnRlc3Rib3giPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZp
bHRlci1wcm9wZXJ0eS1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUt
ZXhwZWN0ZWQudHh0CmluZGV4IGMxNmRjYmY2Y2M2ODgxZGVhNDI1MWY2ZjdkMjk1ODVhMjY4MWNh
YTguLjY5NGYzZjRlNDIzMWNmMmVhNTgxNTc1NmU4YWUwMTExZTFjNDcxNzQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1j
b21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJz
L2N1c3RvbS9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4
dApAQCAtNTI5LDYgKzUyOSwyNCBAQCBQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJL
aXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQogUEFTUyByZW1vdmVCYXNlVVJMKHN1
YlJ1bGUuY3NzVGV4dCkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEg
ZmlsdGVyLWJveCknCiBQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0
ZXJWYWx1ZS5DU1NfRklMVEVSX1NFUElBCiBQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NU
ZXh0KSBpcyAnc2VwaWEoMSknCisKK0N1c3RvbSB3aXRoIGFycmF5KCkgbWFkZSB1cCBvZiB0aHJl
ZSB2YWx1ZXMgOiBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgYTEgYXJyYXkoMSwg
MiwgMykpCitQQVNTIHJlbW92ZUJhc2VVUkwoZmlsdGVyU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1maWx0ZXInKSkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAx
IDEgZmlsdGVyLWJveCwgYTEgYXJyYXkoMSwgMiwgMykpJworUEFTUyBqc1dyYXBwZXJDbGFzcyhm
aWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJS
dWxlLl9fcHJvdG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFByb3RvdHlwZScKK1BBU1MganNXcmFwcGVy
Q2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMgJ0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9y
JworUEFTUyBmaWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlw
ZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyByZW1vdmVC
YXNlVVJMKHN1YlJ1bGUuY3NzVGV4dCkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFk
ZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEgYXJyYXkoMSwgMiwgMykpJworCitDdXN0b20gd2l0aCB0
d28gYXJyYXkoKSBtYWRlIHVwIG9mIHRocmVlIGFuZCBzaXggdmFsdWVzIDogY3VzdG9tKG5vbmUg
dXJsKGZyYWdtZW50LnNoYWRlciksIGExIGFycmF5KDEsIDIsIDMpLCBhMiBhcnJheSgxLCAyLCAz
LCA0LCA1LCA2KSkKK1BBU1MgcmVtb3ZlQmFzZVVSTChmaWx0ZXJTdHlsZS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWZpbHRlcicpKSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRl
ciksIDEgMSBmaWx0ZXItYm94LCBhMSBhcnJheSgxLCAyLCAzKSwgYTIgYXJyYXkoMSwgMiwgMywg
NCwgNSwgNikpJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVM
aXN0JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJvdG9fXykgaXMgJ0NTU1Zh
bHVlTGlzdFByb3RvdHlwZScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1
Y3RvcikgaXMgJ0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9yJworUEFTUyBmaWx0ZXJSdWxlLmxlbmd0
aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1
ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3NzVGV4dCkg
aXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEg
YXJyYXkoMSwgMiwgMyksIGEyIGFycmF5KDEsIDIsIDMsIDQsIDUsIDYpKScKIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNlcy9mcmFnbWVudC1jb2xvci5mcyBiL0xheW91dFRl
c3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvZnJhZ21lbnQtY29sb3IuZnMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGM5NTAyMjFhZTE0ZDUzOTZlNzBjYWZhN2M1NTljOWYzYzE3ODQwMwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvZnJhZ21lbnQtY29sb3IuZnMK
QEAgLTAsMCArMSw3IEBACitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0gZmxvYXQg
Y29vbEFycmF5WzRdOworCit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQo
Y29vbEFycmF5WzBdLCBjb29sQXJyYXlbMV0sIGNvb2xBcnJheVsyXSwgY29vbEFycmF5WzNdKTsK
K30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3Vz
dG9tLWZpbHRlci1wcm9wZXJ0eS1jb21wdXRlZC1zdHlsZS5qcyBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21wdXRlZC1zdHls
ZS5qcwppbmRleCAwZWVkNTIwNDE2ZTE1ZWNhODc0MGU5Yjc2YjJiMDgxNmRlMjU0NDA4Li5kOGFi
OGQ3ZGUwMGY1NzUyYmVhZmU2OTMwZGMzZDhhNTY3YjUzYTY2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29t
cHV0ZWQtc3R5bGUuanMKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3NjcmlwdC10ZXN0
cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLmpzCkBAIC0xOTksMyArMTk5
LDExIEBAIHRlc3RGaWx0ZXJSdWxlKCJNdWx0aXBsZSB3aXRoIGZyYWdtZW50IHNoYWRlciIsCiAg
ICAgWyJncmF5c2NhbGUoMSkiLAogICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVy
KSwgMSAxIGZpbHRlci1ib3gpIiwKICAgICAic2VwaWEoMSkiXSk7CisKK3Rlc3RGaWx0ZXJSdWxl
KCJDdXN0b20gd2l0aCBhcnJheSgpIG1hZGUgdXAgb2YgdGhyZWUgdmFsdWVzIiwKKyAgICAgICAg
ICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgYTEgYXJyYXkoMSwgMiwgMykp
IiwKKyAgICAgICAgICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZp
bHRlci1ib3gsIGExIGFycmF5KDEsIDIsIDMpKSIpOworCit0ZXN0RmlsdGVyUnVsZSgiQ3VzdG9t
IHdpdGggdHdvIGFycmF5KCkgbWFkZSB1cCBvZiB0aHJlZSBhbmQgc2l4IHZhbHVlcyIsCisgICAg
ICAgICAgICAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIGExIGFycmF5KDEsIDIs
IDMpLCBhMiBhcnJheSgxLCAyLCAzLCA0LCA1LCA2KSkiLAorICAgICAgICAgICAgImN1c3RvbShu
b25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEgYXJyYXkoMSwgMiwg
MyksIGEyIGFycmF5KDEsIDIsIDMsIDQsIDUsIDYpKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXBy
b3BlcnR5LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21w
dXRlZC1zdHlsZS1leHBlY3RlZC50eHQKaW5kZXggZmY1ZWMyYjJhMmI4ODQ1NGJkODY0NjUwMDE5
ZjRjNDEwNjA1NDQyNi4uNDY5NTE5MzE5YTM2OWY2YjM3ZTcwYTA4ZmZmN2U3MjljZTZiNDU3YyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY3NzMy9maWx0ZXJzL2N1
c3RvbS9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1
c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CkBAIC01Mjks
NiArNTI5LDI0IEBAIFBBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRl
clZhbHVlLkNTU19GSUxURVJfQ1VTVE9NCiBQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NU
ZXh0KSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXItYm94
KScKIFBBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNT
U19GSUxURVJfU0VQSUEKIFBBU1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdz
ZXBpYSgxKScKKworQ3VzdG9tIHdpdGggYXJyYXkoKSBtYWRlIHVwIG9mIHRocmVlIHZhbHVlcyA6
IGN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBhMSBhcnJheSgxLCAyLCAzKSkKK1BB
U1MgcmVtb3ZlQmFzZVVSTChmaWx0ZXJTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZp
bHRlcicpKSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXIt
Ym94LCBhMSBhcnJheSgxLCAyLCAzKSknCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUp
IGlzICdDU1NWYWx1ZUxpc3QnCitGQUlMIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90
b19fKSBzaG91bGQgYmUgQ1NTVmFsdWVMaXN0UHJvdG90eXBlLiBXYXMgT2JqZWN0LgorRkFJTCBq
c1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBzaG91bGQgYmUgQ1NTVmFsdWVM
aXN0Q29uc3RydWN0b3IuIFdhcyBGdW5jdGlvbi4KK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMg
MQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NT
X0ZJTFRFUl9DVVNUT00KK1BBU1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdj
dXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5
KDEsIDIsIDMpKScKKworQ3VzdG9tIHdpdGggdHdvIGFycmF5KCkgbWFkZSB1cCBvZiB0aHJlZSBh
bmQgc2l4IHZhbHVlcyA6IGN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBhMSBhcnJh
eSgxLCAyLCAzKSwgYTIgYXJyYXkoMSwgMiwgMywgNCwgNSwgNikpCitQQVNTIHJlbW92ZUJhc2VV
UkwoZmlsdGVyU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSkgaXMgJ2N1
c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEgYXJyYXko
MSwgMiwgMyksIGEyIGFycmF5KDEsIDIsIDMsIDQsIDUsIDYpKScKK1BBU1MganNXcmFwcGVyQ2xh
c3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK0ZBSUwganNXcmFwcGVyQ2xhc3MoZmls
dGVyUnVsZS5fX3Byb3RvX18pIHNob3VsZCBiZSBDU1NWYWx1ZUxpc3RQcm90b3R5cGUuIFdhcyBP
YmplY3QuCitGQUlMIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIHNob3Vs
ZCBiZSBDU1NWYWx1ZUxpc3RDb25zdHJ1Y3Rvci4gV2FzIEZ1bmN0aW9uLgorUEFTUyBmaWx0ZXJS
dWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NG
aWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUu
Y3NzVGV4dCkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVy
LWJveCwgYTEgYXJyYXkoMSwgMiwgMyksIGEyIGFycmF5KDEsIDIsIDMsIDQsIDUsIDYpKScKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163491</attachid>
            <date>2012-09-11 18:37:15 -0700</date>
            <delta_ts>2012-09-12 10:55:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95223-20120911183650.patch</filename>
            <type>text/plain</type>
            <size>31274</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MjMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTMzMGNmMGM0MmY5NWIw
ZWVhZTQ3NDFiZmJmZTU3OGFlYjViMjZkNi4uYjczYjI3NjRjZGVlNGUzMzM1ZTlkMTNmZDk2ZWVm
ODczOWZmMGNlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTA5LTExICBNaWNo
ZWxhbmdlbG8gRGUgU2ltb25lICA8bWljaGVsYW5nZWxvQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
VXNlIGFycmF5cyBpbiBzaGFkZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NTIyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEN1c3RvbSBGaWx0ZXJzJyBzdXBwb3J0IGZvciBhcnJheSgpIGlzIGludHJv
ZHVjZWQuIFZhbHVlcyB3aXRoaW4KKyAgICAgICAgdGhlIGFycmF5KCkgZnVuY3Rpb24gd2lsbCBi
ZSBwYXNzZWQgYXMgdW5pZm9ybXMgdG8gc2hhZGVycy4KKworICAgICAgICBWYWx1ZXMgd2l0aGlu
IGFycmF5KCkgYXJlIGNvbW1hLXNlcGFyYXRlZDsgc3BlY3Mgd2lsbCBiZSB1cGRhdGVkCisgICAg
ICAgIGFjY29yZGluZ2x5OiBodHRwczovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcu
Y2dpP2lkPTE4ODM5CisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20t
ZmlsdGVyLWFycmF5Lmh0bWwKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsdWVGb3JDdXN0b21GaWx0ZXJBcnJheVBhcmFt
ZXRlcik6IAorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjp2YWx1ZUZvckN1
c3RvbUZpbHRlclBhcmFtZXRlcik6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JM
aXN0KToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAgICAoU3R5bGVSZXNv
bHZlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJB
cnJheVBhcmFtZXRlci5oOiBDb250YWluZXIgZm9yIGFycmF5KCkKKyAgICAgICAgcGFyYW1ldGVy
IHZhbHVlcy4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQ3VzdG9tRmlsdGVyQXJyYXlQ
YXJhbWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXI6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcjo6
c2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcjo6dmFs
dWVBdCk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcjo6YWRk
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXI6OmJs
ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyOjpvcGVy
YXRvcj09KToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyOjpD
dXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9DdXN0b21GaWx0ZXJQYXJhbWV0ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3Vz
dG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFycmF5UGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbVBhcmFtZXRl
cnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIu
aDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRkVDdXN0b21GaWx0ZXIpOgorCiAyMDEy
LTA5LTExICBBcm5hdWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgW0d0a10gYWxsb3cgYnVpbGRpbmcgd2l0aCBjc3Mtc2hhZGVycwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggMmYwMzI3YTBiMDk2Mjc3YzU0MTQ5MTM2MjFmZjFiNjJh
NTM3ZThlZS4uNWUyNjQ3OGJlNTUwMTRhYjViMjgxODQ0NmY1ZTI2ZGNmMTkxYTVlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00MjUxLDYgKzQyNTEsNyBAQCB3ZWJjb3JlX3Nv
dXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1JlZlB0
ckNhaXJvLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vUmVm
UHRyQ2Fpcm8uaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vVHJh
bnNmb3JtYXRpb25NYXRyaXhDYWlyby5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCBcCiAJU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21G
aWx0ZXJHbG9iYWxDb250ZXh0LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVzaC5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggODczMjU0ZWU4
YmY5NGZmM2QxNzQzMmQ4ZjI2OGMwOTI4MTc1NDBhYi4uYjM0M2Q4MWRmY2JhYzE3NTg3Y2FlMTBi
MmU0MTc1MjAzNzk5OTM3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0yMDQ1LDYgKzIwNDUsNyBAQCBIRUFE
RVJTICs9IFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oIFwKICAgICBwbGF0
Zm9ybS9ncmFwaGljcy9Db2xvci5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVH
ZW5lcmF0ZWRJbWFnZS5oIFwKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlckFycmF5UGFyYW1ldGVyLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3Vz
dG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlck1lc2guaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0
b21GaWx0ZXJNZXNoR2VuZXJhdG9yLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGVlN2E4NTgxNWQ1
MTNlYjE2YjhjNzE5ZDgxY2FiZjQyMGM2NzcyZGQuLjFmYWQyNzY2ZGNmOGY2NGZkMmM5ZjY0ODlj
NWQ5ZTVlZTgxZGNiNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTQ5MTQsNiArNDkxNCw3IEBACiAg
ICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0ltYWdlRWZsLmNwcCcsCiAgICAgICAg
ICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0ludFBvaW50RWZsLmNwcCcsCiAgICAgICAgICAg
ICAncGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0ludFJlY3RFZmwuY3BwJywKKyAgICAgICAgICAgICdw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmgnLAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyR2xvYmFs
Q29udGV4dC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3Vz
dG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGE3YmJlMGJhNWNkOGI0NGQ0OGYxMjVkMmE5Nzg4
NzQ1YTI4YTdmMTIuLmRmNjZmYTE4MDk3ZGZjNjRhYzA1NTNiOTcwOTY3NTA5YTgyZGU3NTMgMTAw
NzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0zMTg2
OSw2ICszMTg2OSwxMCBAQAogCQkJCQlOYW1lPSJmaWx0ZXJzIgogCQkJCQk+CiAJCQkJCTxGaWxl
CisJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXGZpbHRlcnNcQ3VzdG9t
RmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCIKKwkJCQkJCT4KKwkJCQkJPC9GaWxlPgorCQkJCQk8Rmls
ZQogCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0ZXJzXEN1c3Rv
bUZpbHRlckdsb2JhbENvbnRleHQuY3BwIgogCQkJCQkJPgogCQkJCQk8L0ZpbGU+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZDFh
MDMxYmE5YjRkZjcwMGE4NzY5MzBlMjY2NzU0ODY3NjNkZDg0OC4uN2I4ZjM5YTE4Y2Q2NzY5NTJj
NjY2MGM2ZWQyMWYwYTVhZWZmZjY1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzU0LDYgKzM1NCw3IEBACiAJCTE0RkZFMzFF
MEFFMTk2MzMwMDEzNkJGNSAvKiBIVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNEZGRTMxQzBBRTE5NjMzMDAxMzZC
RjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwICovOyB9OwogCQkxNTBCOTIzOTE1RjA4REM0
MDBFMTA5ODYgLyogV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1MEI5MjM3MTVGMDhEQzQwMEUxMDk4
NiAvKiBXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUuY3BwICovOyB9OwogCQkxNTBCOTIzQTE1
RjA4REM0MDBFMTA5ODYgLyogV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNTBCOTIzODE1RjA4REM0MDBF
MTA5ODYgLyogV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmggKi87IH07CisJCTE1QjNGQzE5
MTVGQjIxNzgwMEE4MUJDQiAvKiBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVCM0ZDMTcxNUZCMjE3ODAw
QTgxQkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmggKi87IH07CiAJCTE1Qzc3MDhE
MTAwRDNDNkIwMDVCQTI2NyAvKiBWYWxpZGl0eVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUM3NzA4QTEwMEQzQzZBMDA1QkEyNjcgLyogVmFs
aWRpdHlTdGF0ZS5oICovOyB9OwogCQkxNUM3NzA4RTEwMEQzQzZCMDA1QkEyNjcgLyogVmFsaWRp
dHlTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxNUM3NzA4QjEwMEQzQzZBMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5jcHAgKi87IH07CiAJ
CTE1Qzc3MDkzMTAwRDNDQTgwMDVCQTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1Qzc3MDkxMTAwRDNDQTgwMDVC
QTI2NyAvKiBKU1ZhbGlkaXR5U3RhdGUuaCAqLzsgfTsKQEAgLTc0MDUsNiArNzQwNiw3IEBACiAJ
CTE0RkZFMzFDMEFFMTk2MzMwMDEzNkJGNSAvKiBIVE1MRnJhbWVFbGVtZW50QmFzZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MRnJhbWVFbGVtZW50QmFzZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1MEI5MjM3MTVGMDhEQzQwMEUxMDk4
NiAvKiBXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTUwQjkyMzgxNUYwOERDNDAwRTEwOTg2IC8qIFdlYktp
dENTU0FycmF5RnVuY3Rpb25WYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMTVCM0ZDMTcxNUZCMjE3ODAwQTgxQkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1l
dGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IEN1c3RvbUZpbHRlckFycmF5
UGFyYW1ldGVyLmg7IHBhdGggPSBmaWx0ZXJzL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1Qzc3MDg5MTAwRDNDNkEwMDVCQTI2NyAv
KiBWYWxpZGl0eVN0YXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBWYWxpZGl0eVN0YXRl
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTVDNzcwOEExMDBEM0M2QTAwNUJB
MjY3IC8qIFZhbGlkaXR5U3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
VmFsaWRpdHlTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNUM3NzA4QjEw
MEQzQzZBMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBWYWxpZGl0eVN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE4MTc1LDYgKzE4MTc3LDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCiAJCQkJNDlFQ0VCNUMxNDk5NzkwRDAwQ0REM0E0IC8qIGFybSAqLywKKwkJCQkx
NUIzRkMxNzE1RkIyMTc4MDBBODFCQ0IgLyogQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCAq
LywKIAkJCQk1MEQ0MDYwRjE0N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQ
cm9ncmFtLmNwcCAqLywKIAkJCQk1MEQ0MDYxMDE0N0Q0OURFMDBEMzBCQjUgLyogQ3VzdG9tRmls
dGVyQ29tcGlsZWRQcm9ncmFtLmggKi8sCiAJCQkJNTA5ODdDMjQxNTdENjc2RDAwQkRBODM1IC8q
IEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuY3BwICovLApAQCAtMjI1ODEsNiArMjI1ODQsNyBA
QAogCQkJCUJDMjI3MkEyMEU4MkU4N0MwMEU3Rjk3NSAvKiBDdXJzb3JEYXRhLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzIyNzJBRDBFODJFOEYzMDBFN0Y5NzUgLyogQ3Vyc29yTGlzdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNjJDRDMyNUExMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQkxNUIzRkMxOTE1RkIyMTc4MDBBODFCQ0IgLyogQ3VzdG9tRmls
dGVyQXJyYXlQYXJhbWV0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUwRDQwNjEyMTQ3RDQ5REUw
MEQzMEJCNSAvKiBDdXN0b21GaWx0ZXJDb21waWxlZFByb2dyYW0uaCBpbiBIZWFkZXJzICovLAog
CQkJCTUwOTg3QzI3MTU3RDY3NkQwMEJEQTgzNSAvKiBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MEQ0MDVGQTE0N0QzMUYzMDBEMzBCQjUgLyogQ3VzdG9t
RmlsdGVyTWVzaC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IGViYzI3YWFjN2VkNGFkYTMwODNj
YWYxZDU3ZDllZGFjZDkwNDIyN2IuLjNmOWI0NzI4OTA0ZmI4OTcwNzJjNTM5ZWFkMjEyMmY5ZDVj
ZjczMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb24uY3BwCkBAIC02NCwxMCArNjQsMTIgQEAKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdCdWlsZGVyLmg+CiAKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCisjaW5jbHVkZSAiQ3VzdG9t
RmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJOdW1iZXJQYXJh
bWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJPcGVyYXRpb24uaCIKICNpbmNsdWRlICJD
dXN0b21GaWx0ZXJQYXJhbWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJUcmFuc2Zvcm1Q
YXJhbWV0ZXIuaCIKKyNpbmNsdWRlICJXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUuaCIKICNp
bmNsdWRlICJXZWJLaXRDU1NNaXhGdW5jdGlvblZhbHVlLmgiCiAjZW5kaWYKIApAQCAtNzcxLDYg
Kzc3MywxNCBAQCBzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gY29tcHV0ZWRUcmFuc2Zvcm0o
UmVuZGVyT2JqZWN0KiByZW5kZXJlciwgY29uc3QgUmVuZAogfQogCiAjaWYgRU5BQkxFKENTU19T
SEFERVJTKQorc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlRm9yQ3VzdG9tRmlsdGVy
QXJyYXlQYXJhbWV0ZXIoY29uc3QgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIqIGFycmF5UGFy
YW1ldGVyKQoreworICAgIFJlZlB0cjxXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWU+IGFycmF5
UGFyYW1ldGVyVmFsdWUgPSBXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWU6OmNyZWF0ZSgpOwor
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBhcnJheVBhcmFtZXRlci0+c2l6ZSgpOyArK2kp
CisgICAgICAgIGFycmF5UGFyYW1ldGVyVmFsdWUtPmFwcGVuZChjc3NWYWx1ZVBvb2woKS5jcmVh
dGVWYWx1ZShhcnJheVBhcmFtZXRlci0+dmFsdWVBdChpKSwgQ1NTUHJpbWl0aXZlVmFsdWU6OkNT
U19OVU1CRVIpKTsKKyAgICByZXR1cm4gYXJyYXlQYXJhbWV0ZXJWYWx1ZS5yZWxlYXNlKCk7Cit9
CisKIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZvckN1c3RvbUZpbHRlck51bWJl
clBhcmFtZXRlcihjb25zdCBDdXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIqIG51bWJlclBhcmFt
ZXRlcikKIHsKICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiBudW1iZXJQYXJhbWV0ZXJWYWx1ZSA9
IENTU1ZhbHVlTGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKQEAgLTc5Myw2ICs4MDMsOCBA
QCBzdGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWVGb3JDdXN0b21GaWx0ZXJQYXJhbWV0
ZXIoY29uc3QgUmVuZGVyT2JqZWN0KiByZQogICAgIC8vIEZJWE1FOiBBZGQgaGVyZSBjb21wdXRl
ZCBzdHlsZSBmb3IgdGhlIG90aGVyIHR5cGVzOiBib29sZWFuLCB0cmFuc2Zvcm0sIG1hdHJpeCwg
dGV4dHVyZS4KICAgICBBU1NFUlQocGFyYW1ldGVyKTsKICAgICBzd2l0Y2ggKHBhcmFtZXRlci0+
cGFyYW1ldGVyVHlwZSgpKSB7CisgICAgY2FzZSBDdXN0b21GaWx0ZXJQYXJhbWV0ZXI6OkFSUkFZ
OgorICAgICAgICByZXR1cm4gdmFsdWVGb3JDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcihzdGF0
aWNfY2FzdDxjb25zdCBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcio+KHBhcmFtZXRlcikpOwog
ICAgIGNhc2UgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyOjpOVU1CRVI6CiAgICAgICAgIHJldHVybiB2
YWx1ZUZvckN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlcihzdGF0aWNfY2FzdDxjb25zdCBDdXN0
b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIqPihwYXJhbWV0ZXIpKTsKICAgICBjYXNlIEN1c3RvbUZp
bHRlclBhcmFtZXRlcjo6VFJBTlNGT1JNOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
CmluZGV4IGRkODc3Mzc3MWYxZjg3N2MwY2YzOWJmOTQ0ZmU2YTIwYjA2NTE2MWMuLjI1NGNiOTdi
Y2NjMDQyOTk5YjA0NzJjMzQ1MmYyMzU0YzliYzU3MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKQEAgLTE0Nyw2ICsxNDcsNyBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUoQ1NT
X1NIQURFUlMpCisjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCIKICNpbmNs
dWRlICJDdXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0
ZXJPcGVyYXRpb24uaCIKICNpbmNsdWRlICJDdXN0b21GaWx0ZXJQYXJhbWV0ZXIuaCIKQEAgLTUy
NDksNiArNTI1MCwyMSBAQCBzdGF0aWMgYm9vbCBzb3J0UGFyYW1ldGVyc0J5TmFtZUNvbXBhcmF0
b3IoY29uc3QgUmVmUHRyPEN1c3RvbUZpbHRlclBhcmFtZXRlcj4mCiAgICAgcmV0dXJuIGNvZGVQ
b2ludENvbXBhcmVMZXNzVGhhbihhLT5uYW1lKCksIGItPm5hbWUoKSk7CiB9CiAKK1Bhc3NSZWZQ
dHI8Q3VzdG9tRmlsdGVyUGFyYW1ldGVyPiBTdHlsZVJlc29sdmVyOjpwYXJzZUN1c3RvbUZpbHRl
ckFycmF5UGFyYW1ldGVyKGNvbnN0IFN0cmluZyYgbmFtZSwgQ1NTVmFsdWVMaXN0KiB2YWx1ZXMp
Cit7CisgICAgUmVmUHRyPEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyPiBhcnJheVBhcmFtZXRl
ciA9IEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyOjpjcmVhdGUobmFtZSk7CisgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IHZhbHVlcy0+bGVuZ3RoKCk7ICsraSkgeworICAgICAgICBDU1NW
YWx1ZSogdmFsdWUgPSB2YWx1ZXMtPml0ZW1XaXRob3V0Qm91bmRzQ2hlY2soaSk7CisgICAgICAg
IGlmICghdmFsdWUtPmlzUHJpbWl0aXZlVmFsdWUoKSkKKyAgICAgICAgICAgIHJldHVybiAwOwor
ICAgICAgICBDU1NQcmltaXRpdmVWYWx1ZSogcHJpbWl0aXZlVmFsdWUgPSBzdGF0aWNfY2FzdDxD
U1NQcmltaXRpdmVWYWx1ZSo+KHZhbHVlKTsKKyAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLT5w
cmltaXRpdmVUeXBlKCkgIT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpCisgICAgICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgYXJyYXlQYXJhbWV0ZXItPmFkZFZhbHVlKHByaW1pdGl2
ZVZhbHVlLT5nZXREb3VibGVWYWx1ZSgpKTsKKyAgICB9CisgICAgcmV0dXJuIGFycmF5UGFyYW1l
dGVyLnJlbGVhc2UoKTsKK30KKwogUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQYXJhbWV0ZXI+IFN0
eWxlUmVzb2x2ZXI6OnBhcnNlQ3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVyKGNvbnN0IFN0cmlu
ZyYgbmFtZSwgQ1NTVmFsdWVMaXN0KiB2YWx1ZXMpCiB7CiAgICAgUmVmUHRyPEN1c3RvbUZpbHRl
ck51bWJlclBhcmFtZXRlcj4gbnVtYmVyUGFyYW1ldGVyID0gQ3VzdG9tRmlsdGVyTnVtYmVyUGFy
YW1ldGVyOjpjcmVhdGUobmFtZSk7CkBAIC01Mjc5LDYgKzUyOTUsOCBAQCBQYXNzUmVmUHRyPEN1
c3RvbUZpbHRlclBhcmFtZXRlcj4gU3R5bGVSZXNvbHZlcjo6cGFyc2VDdXN0b21GaWx0ZXJQYXJh
bWV0ZXIoY29ucwogICAgIC8vIGJvb2xlYW5zOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzY0MzgKICAgICAvLyB0ZXh0dXJlczogaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTcxNDQyCiAgICAgLy8gbWF0MiwgbWF0MywgbWF0NDogaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDQ0CisgICAgLy8gTnVtYmVyIHBh
cmFtZXRlcnMgYXJlIHdyYXBwZWQgaW5zaWRlIGEgQ1NTVmFsdWVMaXN0IGFuZCBhbGwKKyAgICAv
LyB0aGUgb3RoZXIgZnVuY3Rpb25zIHZhbHVlcyBpbmhlcml0IGZyb20gQ1NTVmFsdWVMaXN0Lgog
ICAgIGlmICghcGFyYW1ldGVyVmFsdWUtPmlzVmFsdWVMaXN0KCkpCiAgICAgICAgIHJldHVybiAw
OwogCkBAIC01Mjg2LDkgKzUzMDQsMTYgQEAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQYXJhbWV0
ZXI+IFN0eWxlUmVzb2x2ZXI6OnBhcnNlQ3VzdG9tRmlsdGVyUGFyYW1ldGVyKGNvbnMKICAgICBp
ZiAoIXZhbHVlcy0+bGVuZ3RoKCkpCiAgICAgICAgIHJldHVybiAwOwogCisgICAgaWYgKHBhcmFt
ZXRlclZhbHVlLT5pc1dlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1ZSgpKQorICAgICAgICByZXR1
cm4gcGFyc2VDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcihuYW1lLCB2YWx1ZXMpOworICAgIAor
ICAgIC8vIElmIHRoZSBmaXJzdCB2YWx1ZSBvZiB0aGUgbGlzdCBpcyBhIHRyYW5zZm9ybSBmdW5j
dGlvbiwKKyAgICAvLyB0aGVuIHdlIGNvdWxkIHNhZmVseSBhc3N1bWUgdGhhdCBhbGwgdGhlIHJl
bWFpbmluZyBpdGVtcworICAgIC8vIGFyZSB0cmFuc2Zvcm1zLiBwYXJzZUN1c3RvbUZpbHRlclRy
YW5zZm9ybVBhcmFtZXRlciB3aWxsCisgICAgLy8gcmV0dXJuIDAgaWYgdGhhdCBhc3N1bXB0aW9u
IGlzIGluY29ycmVjdC4KICAgICBpZiAodmFsdWVzLT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKDAp
LT5pc1dlYktpdENTU1RyYW5zZm9ybVZhbHVlKCkpCiAgICAgICAgIHJldHVybiBwYXJzZUN1c3Rv
bUZpbHRlclRyYW5zZm9ybVBhcmFtZXRlcihuYW1lLCB2YWx1ZXMpOwotICAgIAorCiAgICAgLy8g
V2UgY2FuIGhhdmUgb25seSBhcnJheXMgb2YgYm9vbGVhbnMgb3IgbnVtYmVycywgc28gdXNlIHRo
ZSBmaXJzdCB2YWx1ZSB0byBjaG9vc2UgYmV0d2VlbiB0aG9zZSB0d28uCiAgICAgLy8gV2UgbmVl
ZCB1cCB0byA0IHZhbHVlcyAoYWxsIGJvb2xlYW5zIG9yIGFsbCBudW1iZXJzKS4KICAgICBpZiAo
IXZhbHVlcy0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjaygwKS0+aXNQcmltaXRpdmVWYWx1ZSgpIHx8
IHZhbHVlcy0+bGVuZ3RoKCkgPiA0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKaW5kZXgg
MTYxZGFjOGVhMjJmMjM3MGIzOGIwYzE4NTgyMjZmZTQ5NjYxNDk1My4uOGQxNDAxNzE5MzVhZTlm
NDVkYWVjODExNGQwYzU5OGEwZmZjYzk2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5o
CkBAIC0yNjIsNiArMjYyLDcgQEAgcHVibGljOgogICAgIFN0eWxlU2hhZGVyKiBjYWNoZWRPclBl
bmRpbmdTdHlsZVNoYWRlckZyb21WYWx1ZShXZWJLaXRDU1NTaGFkZXJWYWx1ZSopOwogICAgIGJv
b2wgcGFyc2VDdXN0b21GaWx0ZXJQYXJhbWV0ZXJMaXN0KENTU1ZhbHVlKiwgQ3VzdG9tRmlsdGVy
UGFyYW1ldGVyTGlzdCYpOwogICAgIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUGFyYW1ldGVyPiBw
YXJzZUN1c3RvbUZpbHRlclBhcmFtZXRlcihjb25zdCBTdHJpbmcmIG5hbWUsIENTU1ZhbHVlKik7
CisgICAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQYXJhbWV0ZXI+IHBhcnNlQ3VzdG9tRmlsdGVy
QXJyYXlQYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lLCBDU1NWYWx1ZUxpc3QqKTsKICAgICBQ
YXNzUmVmUHRyPEN1c3RvbUZpbHRlclBhcmFtZXRlcj4gcGFyc2VDdXN0b21GaWx0ZXJOdW1iZXJQ
YXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lLCBDU1NWYWx1ZUxpc3QqKTsKICAgICBQYXNzUmVm
UHRyPEN1c3RvbUZpbHRlclBhcmFtZXRlcj4gcGFyc2VDdXN0b21GaWx0ZXJUcmFuc2Zvcm1QYXJh
bWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lLCBDU1NWYWx1ZUxpc3QqKTsKICAgICBQYXNzUmVmUHRy
PEN1c3RvbUZpbHRlck9wZXJhdGlvbj4gY3JlYXRlQ3VzdG9tRmlsdGVyT3BlcmF0aW9uKFdlYktp
dENTU0ZpbHRlclZhbHVlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVy
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNTM0OWMyNTdlZDYxNTFjNTQwMTk0NTU0NmJmMjNmNmI0ZjJhYjYwMgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRl
cnMvQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaApAQCAtMCwwICsxLDc5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAg
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscwor
ICogICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIg4oCcQVMgSVPigJ0gQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKKyAq
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgorICogVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
CisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEN1c3RvbUZpbHRlckFycmF5UGFyYW1l
dGVyX2gKKyNkZWZpbmUgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXJfaAorCisjaWYgRU5BQkxF
KENTU19TSEFERVJTKQorI2luY2x1ZGUgIkN1c3RvbUZpbHRlclBhcmFtZXRlci5oIgorI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDdXN0b21G
aWx0ZXJBcnJheVBhcmFtZXRlciA6IHB1YmxpYyBDdXN0b21GaWx0ZXJQYXJhbWV0ZXIgeworcHVi
bGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyPiBj
cmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcihuYW1lKSk7CisgICAgfQorCisgICAgdW5z
aWduZWQgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5zaXplKCk7IH0KKyAgICBkb3VibGUg
dmFsdWVBdCh1bnNpZ25lZCBpbmRleCkgY29uc3QgeyByZXR1cm4gbV9kYXRhLmF0KGluZGV4KTsg
fQorCisgICAgdm9pZCBhZGRWYWx1ZShkb3VibGUgdmFsdWUpIHsgbV9kYXRhLmFwcGVuZCh2YWx1
ZSk7IH0KKworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQYXJhbWV0ZXI+IGJs
ZW5kKGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlciogZnJvbSwgZG91YmxlIHByb2dyZXNzKQor
ICAgIHsKKyAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05NjQzNworICAgICAgICByZXR1cm4gdGhpczsKKyAgICB9CisKKyAgICB2aXJ0dWFs
IGJvb2wgb3BlcmF0b3I9PShjb25zdCBDdXN0b21GaWx0ZXJQYXJhbWV0ZXImIG8pIGNvbnN0Cisg
ICAgeworICAgICAgICBpZiAoIWlzU2FtZVR5cGUobykpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAgICAgY29uc3QgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIqIG90aGVyID0g
c3RhdGljX2Nhc3Q8Y29uc3QgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIqPigmbyk7CisgICAg
ICAgIHJldHVybiBtX2RhdGEgPT0gb3RoZXItPm1fZGF0YTsKKyAgICB9CisKK3ByaXZhdGU6Cisg
ICAgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lKQorICAgICAg
ICA6IEN1c3RvbUZpbHRlclBhcmFtZXRlcihBUlJBWSwgbmFtZSkKKyAgICB7CisgICAgfQorCisg
ICAgVmVjdG9yPGRvdWJsZT4gbV9kYXRhOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKENTU19TSEFERVJTKQorCisjZW5kaWYgLy8gQ3VzdG9tRmlsdGVy
QXJyYXlQYXJhbWV0ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQYXJhbWV0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUGFyYW1ldGVyLmgKaW5kZXggODI5
ODBkNmM3ODBmMDgwY2M3ZDcwM2ZhYTk4YzYyYjZmNWQzZWE4NC4uYjY4Y2VmMDBhYjM3NTk3OTBh
NmM0OWRjZjg3ZjNlZDRmNmMwOGI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQYXJhbWV0ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclBhcmFtZXRlci5o
CkBAIC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKICAgICAvLyAzZC10cmFuc2Zvcm1zOiBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0NDMKICAgICAvLyBtYXQyLCBtYXQz
LCBtYXQ0OiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE0NDQKICAg
ICBlbnVtIFBhcmFtZXRlclR5cGUgeworICAgICAgICBBUlJBWSwKICAgICAgICAgTlVNQkVSLAog
ICAgICAgICBUUkFOU0ZPUk0KICAgICB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3RvbUZpbHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcAppbmRleCBkNjVm
Zjk3Y2FiMGE0NDA1OTc2YjI1Mzk5OGRjZmI4Mzk2NmI2ODU0Li5jMmRkMmJmYWY3NDhiOTA1M2Y5
YTQ3ZmZhZjcwODRlNGY5NTU5M2U3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcApAQCAtMzIsNiAr
MzIsNyBAQAogI2lmIEVOQUJMRShDU1NfU0hBREVSUykgJiYgVVNFKDNEX0dSQVBISUNTKQogI2lu
Y2x1ZGUgIkZFQ3VzdG9tRmlsdGVyLmgiCiAKKyNpbmNsdWRlICJDdXN0b21GaWx0ZXJBcnJheVBh
cmFtZXRlci5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbS5oIgogI2lu
Y2x1ZGUgIkN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuaCIKICNpbmNsdWRlICJDdXN0b21GaWx0
ZXJNZXNoLmgiCkBAIC0yNjEsNiArMjYyLDE3IEBAIHZvaWQgRkVDdXN0b21GaWx0ZXI6OnVuYmlu
ZFZlcnRleEF0dHJpYnV0ZShpbnQgYXR0cmlidXRlTG9jYXRpb24pCiAgICAgICAgIG1fY29udGV4
dC0+ZGlzYWJsZVZlcnRleEF0dHJpYkFycmF5KGF0dHJpYnV0ZUxvY2F0aW9uKTsKIH0KIAordm9p
ZCBGRUN1c3RvbUZpbHRlcjo6YmluZFByb2dyYW1BcnJheVBhcmFtZXRlcnMoaW50IHVuaWZvcm1M
b2NhdGlvbiwgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIqIGFycmF5UGFyYW1ldGVyKQorewor
ICAgIHVuc2lnbmVkIHBhcmFtZXRlclNpemUgPSBhcnJheVBhcmFtZXRlci0+c2l6ZSgpOworICAg
IFZlY3RvcjxHQzNEZmxvYXQ+IGZsb2F0VmVjdG9yOworCisgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IHBhcmFtZXRlclNpemU7ICsraSkKKyAgICAgICAgZmxvYXRWZWN0b3IuYXBwZW5kKGFy
cmF5UGFyYW1ldGVyLT52YWx1ZUF0KGkpKTsKKworICAgIG1fY29udGV4dC0+dW5pZm9ybTFmdih1
bmlmb3JtTG9jYXRpb24sIHBhcmFtZXRlclNpemUsIGZsb2F0VmVjdG9yLmRhdGEoKSk7Cit9CisK
IHZvaWQgRkVDdXN0b21GaWx0ZXI6OmJpbmRQcm9ncmFtTnVtYmVyUGFyYW1ldGVycyhpbnQgdW5p
Zm9ybUxvY2F0aW9uLCBDdXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIqIG51bWJlclBhcmFtZXRl
cikKIHsKICAgICBzd2l0Y2ggKG51bWJlclBhcmFtZXRlci0+c2l6ZSgpKSB7CkBAIC0zMTIsNiAr
MzI0LDkgQEAgdm9pZCBGRUN1c3RvbUZpbHRlcjo6YmluZFByb2dyYW1QYXJhbWV0ZXJzKCkKICAg
ICAgICAgaWYgKHVuaWZvcm1Mb2NhdGlvbiA9PSAtMSkKICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICBzd2l0Y2ggKHBhcmFtZXRlci0+cGFyYW1ldGVyVHlwZSgpKSB7CisgICAgICAgIGNh
c2UgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyOjpBUlJBWToKKyAgICAgICAgICAgIGJpbmRQcm9ncmFt
QXJyYXlQYXJhbWV0ZXJzKHVuaWZvcm1Mb2NhdGlvbiwgc3RhdGljX2Nhc3Q8Q3VzdG9tRmlsdGVy
QXJyYXlQYXJhbWV0ZXIqPihwYXJhbWV0ZXIpKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBjYXNlIEN1c3RvbUZpbHRlclBhcmFtZXRlcjo6TlVNQkVSOgogICAgICAgICAgICAgYmluZFBy
b2dyYW1OdW1iZXJQYXJhbWV0ZXJzKHVuaWZvcm1Mb2NhdGlvbiwgc3RhdGljX2Nhc3Q8Q3VzdG9t
RmlsdGVyTnVtYmVyUGFyYW1ldGVyKj4ocGFyYW1ldGVyKSk7CiAgICAgICAgICAgICBicmVhazsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVD
dXN0b21GaWx0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMv
RkVDdXN0b21GaWx0ZXIuaAppbmRleCA5NmJiOTE4NWUxZTdmOWM3NDg0MzBhOTQ0Yjg2NzMzYzAx
OWY3OTliLi5hMzkwZmEyOTcxN2UwYzE5YzFmM2Q1MDkzNTlmN2IzMjE4Y2Y4OTFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmls
dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1
c3RvbUZpbHRlci5oCkBAIC00NSw2ICs0NSw3IEBAIGNsYXNzIFVpbnQ4Q2xhbXBlZEFycmF5Owog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDYWNoZWRTaGFkZXI7CitjbGFzcyBDdXN0b21G
aWx0ZXJBcnJheVBhcmFtZXRlcjsKIGNsYXNzIEN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbTsK
IGNsYXNzIEN1c3RvbUZpbHRlckdsb2JhbENvbnRleHQ7CiBjbGFzcyBDdXN0b21GaWx0ZXJNZXNo
OwpAQCAtODEsNiArODIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVzaXplQ29udGV4dChjb25z
dCBJbnRTaXplJiBuZXdDb250ZXh0U2l6ZSk7CiAgICAgdm9pZCBiaW5kVmVydGV4QXR0cmlidXRl
KGludCBhdHRyaWJ1dGVMb2NhdGlvbiwgdW5zaWduZWQgc2l6ZSwgdW5zaWduZWQgb2Zmc2V0KTsK
ICAgICB2b2lkIHVuYmluZFZlcnRleEF0dHJpYnV0ZShpbnQgYXR0cmlidXRlTG9jYXRpb24pOwor
ICAgIHZvaWQgYmluZFByb2dyYW1BcnJheVBhcmFtZXRlcnMoaW50IHVuaWZvcm1Mb2NhdGlvbiwg
Q3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIqKTsKICAgICB2b2lkIGJpbmRQcm9ncmFtTnVtYmVy
UGFyYW1ldGVycyhpbnQgdW5pZm9ybUxvY2F0aW9uLCBDdXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0
ZXIqKTsKICAgICB2b2lkIGJpbmRQcm9ncmFtVHJhbnNmb3JtUGFyYW1ldGVyKGludCB1bmlmb3Jt
TG9jYXRpb24sIEN1c3RvbUZpbHRlclRyYW5zZm9ybVBhcmFtZXRlciopOwogICAgIHZvaWQgYmlu
ZFByb2dyYW1QYXJhbWV0ZXJzKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDg0MWY0OTZmZTM5YmMzMjlkOTUwZWY4MmFm
ZGNhMjcxNTJkY2MxNi4uNGQ4MWFmYTY4MTE5NzI0MjQ2ODZhZWYwYTI2YjVkYjEwZTM1MTM3NCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEyLTA5LTExICBNaWNoZWxhbmdlbG8gRGUgU2ltb25l
ICA8bWljaGVsYW5nZWxvQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVXNlIGFycmF5cyBpbiBzaGFk
ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NTIy
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5ldyB0
ZXN0cyBoYXZlIGJlZW4gYWRkZWQgZm9yIGNoZWNraW5nIHRoZSBjb3JyZWN0bmVzcyBvZiBhcnJh
eSgpCisgICAgICAgIHdpdGhpbiBzaGFkZXJzLiAKKworICAgICAgICAqIGNzczMvZmlsdGVycy9j
dXN0b20vY3VzdG9tLWZpbHRlci1hcnJheS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYXJyYXkuaHRtbDogQWRkZWQuCisg
ICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1
dGVkLXN0eWxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvcmVzb3VyY2Vz
L2ZyYWdtZW50LWNvbG9yLmZzOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvc2NyaXB0
LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUuanM6CisgICAgICAg
ICogcGxhdGZvcm0vY2hyb21pdW0vY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXBy
b3BlcnR5LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dDoKKwogMjAxMi0wOS0xMSAgSmFtZXMg
Um9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2Fy
ZGVuaW5nLiBVcGRhdGUgc29tZSBleHBlY3RhdGlvbnMgdG8gcmVmZXJlbmNlIHNwZWNpZmljIGJ1
Z3MuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1m
aWx0ZXItYXJyYXktZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0
b20vY3VzdG9tLWZpbHRlci1hcnJheS1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4M2QwNjI3
N2M2N2EwMGFiOTljOGM1NjYyNmIyOTNjODg2MzkzOTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYXJyYXktZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDE2IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8dGl0bGU+VGVzdHMgdGhlIGFycmF5KCkgZnVuY3Rpb24gaW4gY3VzdG9tIGZp
bHRlcnM8L3RpdGxlPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjZmlsdGVydGVzdGJv
eCB7CisgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgICAgICB3aWR0
aDogMTAwcHg7CisgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsIDI1NSwg
MCk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxi
b2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgICAgICAgPGRpdiBpZD0iZmlsdGVydGVzdGJveCI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWFycmF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYXJyYXkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
ZjA0MDAxNjg3YTUwMDkzYjQyMjA0NjM2Y2NmOGIyM2M0ZDUyNjAyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWFycmF5Lmh0
bWwKQEAgLTAsMCArMSwzNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPHRpdGxlPlRlc3RzIHRoZSBhcnJheSgpIGZ1bmN0aW9uIGluIGN1c3RvbSBmaWx0
ZXJzPC90aXRsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikgeworICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJl
ZmVyZW5jZSgiV2ViS2l0Q1NTQ3VzdG9tRmlsdGVyRW5hYmxlZCIsICIxIik7CisgICAgICAgICAg
ICAgICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRXZWJHTEVu
YWJsZWQiLCAiMSIpOworICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRp
bERvbmUoKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcnVuVGVzdCgp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBydW4gdGhlIHRl
c3RzIGFmdGVyIHRoZSBkb3dubG9hZGluZyBzdWNjZWVkZWQuCisgICAgICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICAjZmlsdGVydGVzdGJveCB7CisgICAgICAgICAgICAgICAg
aGVpZ2h0OiAxMDBweDsKKyAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7CisgICAgICAgICAg
ICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkOworICAgICAgICAgICAgICAgIC13ZWJraXQtZmls
dGVyOiBjdXN0b20obm9uZSB1cmwoJy4uL3Jlc291cmNlcy9mcmFnbWVudC1jb2xvci5mcycpLCBj
b29sQXJyYXkgYXJyYXkoMC4wLCAxLjAsIDAuMCwgMS4wKSk7CisgICAgICAgICAgICB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
KyAgICAgICAgPCEtLQorICAgICAgICAgICAgQSAxMDB4MTAwcHggcmVkIGRpdiBpcyBjb2xvdXJl
ZCBncmVlbiBieSBmcmFnbWVudC1jb2xvci5mcywgYSBmcmFnbWVudCBzaGFkZXIuCisgICAgICAg
ICAgICBGYWlscyBpZiB0aGUgZGl2IHN0YXlzIHJlZC4KKyAgICAgICAgLS0+CisgICAgICAgIDxk
aXYgaWQ9ImZpbHRlcnRlc3Rib3giPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9w
ZXJ0eS1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRl
cnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQu
dHh0CmluZGV4IGMxNmRjYmY2Y2M2ODgxZGVhNDI1MWY2ZjdkMjk1ODVhMjY4MWNhYTguLjY5NGYz
ZjRlNDIzMWNmMmVhNTgxNTc1NmU4YWUwMTExZTFjNDcxNzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21wdXRlZC1z
dHlsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9j
dXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dApAQCAtNTI5
LDYgKzUyOSwyNCBAQCBQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0
ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQogUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3Nz
VGV4dCkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJv
eCknCiBQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5D
U1NfRklMVEVSX1NFUElBCiBQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBpcyAn
c2VwaWEoMSknCisKK0N1c3RvbSB3aXRoIGFycmF5KCkgbWFkZSB1cCBvZiB0aHJlZSB2YWx1ZXMg
OiBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgYTEgYXJyYXkoMSwgMiwgMykpCitQ
QVNTIHJlbW92ZUJhc2VVUkwoZmlsdGVyU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1m
aWx0ZXInKSkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVy
LWJveCwgYTEgYXJyYXkoMSwgMiwgMykpJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxl
KSBpcyAnQ1NTVmFsdWVMaXN0JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJv
dG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFByb3RvdHlwZScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmls
dGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMgJ0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9yJworUEFTUyBm
aWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJL
aXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyByZW1vdmVCYXNlVVJMKHN1
YlJ1bGUuY3NzVGV4dCkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEg
ZmlsdGVyLWJveCwgYTEgYXJyYXkoMSwgMiwgMykpJworCitDdXN0b20gd2l0aCB0d28gYXJyYXko
KSBtYWRlIHVwIG9mIHRocmVlIGFuZCBzaXggdmFsdWVzIDogY3VzdG9tKG5vbmUgdXJsKGZyYWdt
ZW50LnNoYWRlciksIGExIGFycmF5KDEsIDIsIDMpLCBhMiBhcnJheSgxLCAyLCAzLCA0LCA1LCA2
KSkKK1BBU1MgcmVtb3ZlQmFzZVVSTChmaWx0ZXJTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Vi
a2l0LWZpbHRlcicpKSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBm
aWx0ZXItYm94LCBhMSBhcnJheSgxLCAyLCAzKSwgYTIgYXJyYXkoMSwgMiwgMywgNCwgNSwgNikp
JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworUEFT
UyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJvdG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFBy
b3RvdHlwZScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMg
J0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9yJworUEFTUyBmaWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQ
QVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklM
VEVSX0NVU1RPTQorUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3NzVGV4dCkgaXMgJ2N1c3Rv
bShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEgYXJyYXkoMSwg
MiwgMyksIGEyIGFycmF5KDEsIDIsIDMsIDQsIDUsIDYpKScKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3Nz
My9maWx0ZXJzL3Jlc291cmNlcy9mcmFnbWVudC1jb2xvci5mcyBiL0xheW91dFRlc3RzL2NzczMv
ZmlsdGVycy9yZXNvdXJjZXMvZnJhZ21lbnQtY29sb3IuZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGM5NTAyMjFh
ZTE0ZDUzOTZlNzBjYWZhN2M1NTljOWYzYzE3ODQwMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvZnJhZ21lbnQtY29sb3IuZnMKQEAgLTAsMCAr
MSw3IEBACitwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKK3VuaWZvcm0gZmxvYXQgY29vbEFycmF5
WzRdOworCit2b2lkIG1haW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoY29vbEFycmF5
WzBdLCBjb29sQXJyYXlbMV0sIGNvb2xBcnJheVsyXSwgY29vbEFycmF5WzNdKTsKK30KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRl
ci1wcm9wZXJ0eS1jb21wdXRlZC1zdHlsZS5qcyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9z
Y3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21wdXRlZC1zdHlsZS5qcwppbmRl
eCAwZWVkNTIwNDE2ZTE1ZWNhODc0MGU5Yjc2YjJiMDgxNmRlMjU0NDA4Li5kOGFiOGQ3ZGUwMGY1
NzUyYmVhZmU2OTMwZGMzZDhhNTY3YjUzYTY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3Mz
L2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5
bGUuanMKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3NjcmlwdC10ZXN0cy9jdXN0b20t
ZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLmpzCkBAIC0xOTksMyArMTk5LDExIEBAIHRl
c3RGaWx0ZXJSdWxlKCJNdWx0aXBsZSB3aXRoIGZyYWdtZW50IHNoYWRlciIsCiAgICAgWyJncmF5
c2NhbGUoMSkiLAogICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZp
bHRlci1ib3gpIiwKICAgICAic2VwaWEoMSkiXSk7CisKK3Rlc3RGaWx0ZXJSdWxlKCJDdXN0b20g
d2l0aCBhcnJheSgpIG1hZGUgdXAgb2YgdGhyZWUgdmFsdWVzIiwKKyAgICAgICAgICAgICJjdXN0
b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgYTEgYXJyYXkoMSwgMiwgMykpIiwKKyAgICAg
ICAgICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZpbHRlci1ib3gs
IGExIGFycmF5KDEsIDIsIDMpKSIpOworCit0ZXN0RmlsdGVyUnVsZSgiQ3VzdG9tIHdpdGggdHdv
IGFycmF5KCkgbWFkZSB1cCBvZiB0aHJlZSBhbmQgc2l4IHZhbHVlcyIsCisgICAgICAgICAgICAi
Y3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIGExIGFycmF5KDEsIDIsIDMpLCBhMiBh
cnJheSgxLCAyLCAzLCA0LCA1LCA2KSkiLAorICAgICAgICAgICAgImN1c3RvbShub25lIHVybChm
cmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEgYXJyYXkoMSwgMiwgMyksIGEyIGFy
cmF5KDEsIDIsIDMsIDQsIDUsIDYpKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNv
bXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21wdXRlZC1zdHls
ZS1leHBlY3RlZC50eHQKaW5kZXggZmY1ZWMyYjJhMmI4ODQ1NGJkODY0NjUwMDE5ZjRjNDEwNjA1
NDQyNi4uNDY5NTE5MzE5YTM2OWY2YjM3ZTcwYTA4ZmZmN2U3MjljZTZiNDU3YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0
b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0
ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CkBAIC01MjksNiArNTI5LDI0
IEBAIFBBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNT
U19GSUxURVJfQ1VTVE9NCiBQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBpcyAn
Y3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXItYm94KScKIFBBU1Mg
c3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJf
U0VQSUEKIFBBU1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdzZXBpYSgxKScK
KworQ3VzdG9tIHdpdGggYXJyYXkoKSBtYWRlIHVwIG9mIHRocmVlIHZhbHVlcyA6IGN1c3RvbShu
b25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBhMSBhcnJheSgxLCAyLCAzKSkKK1BBU1MgcmVtb3Zl
QmFzZVVSTChmaWx0ZXJTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpKSBp
cyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXItYm94LCBhMSBh
cnJheSgxLCAyLCAzKSknCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NW
YWx1ZUxpc3QnCitGQUlMIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBzaG91
bGQgYmUgQ1NTVmFsdWVMaXN0UHJvdG90eXBlLiBXYXMgT2JqZWN0LgorRkFJTCBqc1dyYXBwZXJD
bGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBzaG91bGQgYmUgQ1NTVmFsdWVMaXN0Q29uc3Ry
dWN0b3IuIFdhcyBGdW5jdGlvbi4KK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBz
dWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9D
VVNUT00KK1BBU1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdjdXN0b20obm9u
ZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5KDEsIDIsIDMp
KScKKworQ3VzdG9tIHdpdGggdHdvIGFycmF5KCkgbWFkZSB1cCBvZiB0aHJlZSBhbmQgc2l4IHZh
bHVlcyA6IGN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBhMSBhcnJheSgxLCAyLCAz
KSwgYTIgYXJyYXkoMSwgMiwgMywgNCwgNSwgNikpCitQQVNTIHJlbW92ZUJhc2VVUkwoZmlsdGVy
U3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSkgaXMgJ2N1c3RvbShub25l
IHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEgYXJyYXkoMSwgMiwgMyks
IGEyIGFycmF5KDEsIDIsIDMsIDQsIDUsIDYpKScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVy
UnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK0ZBSUwganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5f
X3Byb3RvX18pIHNob3VsZCBiZSBDU1NWYWx1ZUxpc3RQcm90b3R5cGUuIFdhcyBPYmplY3QuCitG
QUlMIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIHNob3VsZCBiZSBDU1NW
YWx1ZUxpc3RDb25zdHJ1Y3Rvci4gV2FzIEZ1bmN0aW9uLgorUEFTUyBmaWx0ZXJSdWxlLmxlbmd0
aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1
ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3NzVGV4dCkg
aXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEg
YXJyYXkoMSwgMiwgMyksIGEyIGFycmF5KDEsIDIsIDMsIDQsIDUsIDYpKScKIFBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163655</attachid>
            <date>2012-09-12 10:55:33 -0700</date>
            <delta_ts>2012-09-13 13:14:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95223-20120912105506.patch</filename>
            <type>text/plain</type>
            <size>31341</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWFjYzk4NTMwN2JlYzBl
ODhhZmQ2YzM3MTk2YzUxZTg4NTMzMDVjOC4uMzk4Y2M0Yjc1M2U0NGRmZWQzNzJkYTRhYzQzMTgz
M2U5NzQ1YzhmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTA5LTExICBNaWNo
ZWxhbmdlbG8gRGUgU2ltb25lICA8bWljaGVsYW5nZWxvQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
VXNlIGFycmF5cyBpbiBzaGFkZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NTIyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEN1c3RvbSBGaWx0ZXJzJyBzdXBwb3J0IGZvciBhcnJheSgpIGlzIGludHJv
ZHVjZWQuIFZhbHVlcyB3aXRoaW4KKyAgICAgICAgdGhlIGFycmF5KCkgZnVuY3Rpb24gd2lsbCBi
ZSBwYXNzZWQgYXMgdW5pZm9ybXMgdG8gc2hhZGVycy4KKworICAgICAgICBWYWx1ZXMgd2l0aGlu
IGFycmF5KCkgYXJlIGNvbW1hLXNlcGFyYXRlZDsgc3BlY3Mgd2lsbCBiZSB1cGRhdGVkCisgICAg
ICAgIGFjY29yZGluZ2x5OiBodHRwczovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcu
Y2dpP2lkPTE4ODM5CisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20t
ZmlsdGVyLWFycmF5Lmh0bWwKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAg
ICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsdWVGb3JDdXN0b21GaWx0ZXJBcnJheVBhcmFt
ZXRlcik6IAorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjp2YWx1ZUZvckN1
c3RvbUZpbHRlclBhcmFtZXRlcik6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JM
aXN0KToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAgICAoU3R5bGVSZXNv
bHZlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJB
cnJheVBhcmFtZXRlci5oOiBDb250YWluZXIgZm9yIGFycmF5KCkKKyAgICAgICAgcGFyYW1ldGVy
IHZhbHVlcy4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQ3VzdG9tRmlsdGVyQXJyYXlQ
YXJhbWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXI6
OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcjo6
c2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcjo6dmFs
dWVBdCk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcjo6YWRk
VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXI6OmJs
ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyOjpvcGVy
YXRvcj09KToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyOjpD
dXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9DdXN0b21GaWx0ZXJQYXJhbWV0ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3Vz
dG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFycmF5UGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbVBhcmFtZXRl
cnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIu
aDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRkVDdXN0b21GaWx0ZXIpOgorCiAyMDEy
LTA5LTEyICBEb21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgogCiAgICAgICAg
IEFzc2VydCBoaXQgaW4gaXMgbXVsdGlTZWxlY3RhYmxlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCmluZGV4IDY1ZjcyMjFmYjQxYmRiNzYyZDM0ZmRmMjNlNWUxZWZkNWI1OGI0MjUuLmUz
ODJiZWZlZjQ4MDk0ZjhhZGE5YTBjYjgzMzk4ZGJhNDIyZmVkMzAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQpAQCAtNDI1Miw2ICs0MjUyLDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwK
IAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9SZWZQdHJDYWlyby5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1JlZlB0ckNhaXJvLmgg
XAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1RyYW5zZm9ybWF0aW9u
TWF0cml4Q2Fpcm8uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5jcHAgXAogCVNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyR2xvYmFs
Q29udGV4dC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1
c3RvbUZpbHRlck1lc2guY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDg3MzI1NGVlOGJmOTRmZjNkMTc0
MzJkOGYyNjhjMDkyODE3NTQwYWIuLmIzNDNkODFkZmNiYWMxNzU4N2NhZTEwYjJlNDE3NTIwMzc5
OTkzNzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjA0NSw2ICsyMDQ1LDcgQEAgSEVBREVSUyArPSBcCiAg
ICAgcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhp
Y3MvQ29sb3IuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1h
Z2UuaCBcCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJBcnJheVBh
cmFtZXRlci5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckds
b2JhbENvbnRleHQuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0
ZXJNZXNoLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyTWVz
aEdlbmVyYXRvci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBlZTdhODU4MTVkNTEzZWIxNmI4Yzcx
OWQ4MWNhYmY0MjBjNjc3MmRkLi4xZmFkMjc2NmRjZjhmNjRmZDJjOWY2NDg5YzVkOWU1ZWU4MWRj
YjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC00OTE0LDYgKzQ5MTQsNyBAQAogICAgICAgICAgICAg
J3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9JbWFnZUVmbC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRm
b3JtL2dyYXBoaWNzL2VmbC9JbnRQb2ludEVmbC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L2dyYXBoaWNzL2VmbC9JbnRSZWN0RWZsLmNwcCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3Jh
cGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5oJywKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckdsb2JhbENvbnRleHQuY3Bw
JywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckds
b2JhbENvbnRleHQuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9D
dXN0b21GaWx0ZXJNZXNoLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagppbmRleCAzODVkNmEwYmY1Njk2ZDA2YzZlMmI2NDFlMjc0MjljNWUzZjIxNDlm
Li5lYWIwMGM1MjU4ZmVkY2I3YmI2ODUxZjM5MmJhNjNkZWZiYzA5NzVjIDEwMDc1NQotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzE4NjksNiArMzE4Njks
MTAgQEAKIAkJCQkJTmFtZT0iZmlsdGVycyIKIAkJCQkJPgogCQkJCQk8RmlsZQorCQkJCQkJUmVs
YXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0ZXJzXEN1c3RvbUZpbHRlckFycmF5
UGFyYW1ldGVyLmgiCisJCQkJCQk+CisJCQkJCTwvRmlsZT4KKwkJCQkJPEZpbGUKIAkJCQkJCVJl
bGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVyc1xDdXN0b21GaWx0ZXJHbG9i
YWxDb250ZXh0LmNwcCIKIAkJCQkJCT4KIAkJCQkJPC9GaWxlPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDNjM2JkOGRmN2ZmYzc3
Y2Q3NDBiM2VhMWZlZTFlNTQ4OWE4NjU4N2EuLjA3MTU5MjNkYjgxNGU4NTY4NWYxNDZiZGExYTli
NDdiOTE1Y2MzNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTM1NCw2ICszNTQsNyBAQAogCQkxNEZGRTMxRTBBRTE5NjMzMDAx
MzZCRjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRGRkUzMUMwQUUxOTYzMzAwMTM2QkY1IC8qIEhUTUxG
cmFtZUVsZW1lbnRCYXNlLmNwcCAqLzsgfTsKIAkJMTUwQjkyMzkxNUYwOERDNDAwRTEwOTg2IC8q
IFdlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNTBCOTIzNzE1RjA4REM0MDBFMTA5ODYgLyogV2ViS2l0
Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmNwcCAqLzsgfTsKIAkJMTUwQjkyM0ExNUYwOERDNDAwRTEw
OTg2IC8qIFdlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTUwQjkyMzgxNUYwOERDNDAwRTEwOTg2IC8qIFdl
YktpdENTU0FycmF5RnVuY3Rpb25WYWx1ZS5oICovOyB9OworCQkxNUIzRkMxOTE1RkIyMTc4MDBB
ODFCQ0IgLyogQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1QjNGQzE3MTVGQjIxNzgwMEE4MUJDQiAvKiBD
dXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5oICovOyB9OwogCQkxNUM3NzA4RDEwMEQzQzZCMDA1
QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMTVDNzcwOEExMDBEM0M2QTAwNUJBMjY3IC8qIFZhbGlkaXR5U3RhdGUu
aCAqLzsgfTsKIAkJMTVDNzcwOEUxMDBEM0M2QjAwNUJBMjY3IC8qIFZhbGlkaXR5U3RhdGUuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVDNzcwOEIx
MDBEM0M2QTAwNUJBMjY3IC8qIFZhbGlkaXR5U3RhdGUuY3BwICovOyB9OwogCQkxNUM3NzA5MzEw
MEQzQ0E4MDA1QkEyNjcgLyogSlNWYWxpZGl0eVN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUM3NzA5MTEwMEQzQ0E4MDA1QkEyNjcgLyogSlNW
YWxpZGl0eVN0YXRlLmggKi87IH07CkBAIC03NDA2LDYgKzc0MDcsNyBAQAogCQkxNEZGRTMxQzBB
RTE5NjMzMDAxMzZCRjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkxNTBCOTIzNzE1RjA4REM0MDBFMTA5ODYgLyogV2ViS2l0
Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTE1MEI5MjM4MTVGMDhEQzQwMEUxMDk4NiAvKiBXZWJLaXRDU1NBcnJheUZ1
bmN0aW9uVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0Q1NT
QXJyYXlGdW5jdGlvblZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTE1QjNG
QzE3MTVGQjIxNzgwMEE4MUJDQiAvKiBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5o
OyBwYXRoID0gZmlsdGVycy9DdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxNUM3NzA4OTEwMEQzQzZBMDA1QkEyNjcgLyogVmFsaWRpdHlT
dGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVmFsaWRpdHlTdGF0ZS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1Qzc3MDhBMTAwRDNDNkEwMDVCQTI2NyAvKiBWYWxp
ZGl0eVN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZhbGlkaXR5U3Rh
dGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTVDNzcwOEIxMDBEM0M2QTAwNUJB
MjY3IC8qIFZhbGlkaXR5U3RhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gVmFsaWRpdHlTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
ODE3Nyw2ICsxODE3OSw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAog
CQkJCTQ5RUNFQjVDMTQ5OTc5MEQwMENERDNBNCAvKiBhcm0gKi8sCisJCQkJMTVCM0ZDMTcxNUZC
MjE3ODAwQTgxQkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmggKi8sCiAJCQkJNTBE
NDA2MEYxNDdENDlERTAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlckNvbXBpbGVkUHJvZ3JhbS5jcHAg
Ki8sCiAJCQkJNTBENDA2MTAxNDdENDlERTAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlckNvbXBpbGVk
UHJvZ3JhbS5oICovLAogCQkJCTUwOTg3QzI0MTU3RDY3NkQwMEJEQTgzNSAvKiBDdXN0b21GaWx0
ZXJHbG9iYWxDb250ZXh0LmNwcCAqLywKQEAgLTIyNTg0LDYgKzIyNTg3LDcgQEAKIAkJCQlCQzIy
NzJBMjBFODJFODdDMDBFN0Y5NzUgLyogQ3Vyc29yRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMyMjcyQUQwRTgyRThGMzAwRTdGOTc1IC8qIEN1cnNvckxpc3QuaCBpbiBIZWFkZXJzICovLAog
CQkJCTYyQ0QzMjVBMTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMTVCM0ZDMTkxNUZCMjE3ODAwQTgxQkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFy
YW1ldGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MEQ0MDYxMjE0N0Q0OURFMDBEMzBCQjUgLyog
Q3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MDk4N0My
NzE1N0Q2NzZEMDBCREE4MzUgLyogQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTBENDA1RkExNDdEMzFGMzAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlck1lc2gu
aCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBlYmMyN2FhYzdlZDRhZGEzMDgzY2FmMWQ1N2Q5ZWRh
Y2Q5MDQyMjdiLi4zZjliNDcyODkwNGZiODk3MDcyYzUzOWVhZDIxMjJmOWQ1Y2Y3MzA2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cApAQCAtNjQsMTAgKzY0LDEyIEBACiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5o
PgogCiAjaWYgRU5BQkxFKENTU19TSEFERVJTKQorI2luY2x1ZGUgIkN1c3RvbUZpbHRlckFycmF5
UGFyYW1ldGVyLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVyLmgiCiAj
aW5jbHVkZSAiQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVy
UGFyYW1ldGVyLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyVHJhbnNmb3JtUGFyYW1ldGVyLmgi
CisjaW5jbHVkZSAiV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oIgogI2VuZGlmCiAKQEAgLTc3MSw2ICs3NzMsMTQgQEAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNvbXB1dGVkVHJhbnNmb3JtKFJlbmRlck9iamVj
dCogcmVuZGVyZXIsIGNvbnN0IFJlbmQKIH0KIAogI2lmIEVOQUJMRShDU1NfU0hBREVSUykKK3N0
YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZvckN1c3RvbUZpbHRlckFycmF5UGFyYW1l
dGVyKGNvbnN0IEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyKiBhcnJheVBhcmFtZXRlcikKK3sK
KyAgICBSZWZQdHI8V2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlPiBhcnJheVBhcmFtZXRlclZh
bHVlID0gV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlOjpjcmVhdGUoKTsKKyAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgYXJyYXlQYXJhbWV0ZXItPnNpemUoKTsgKytpKQorICAgICAgICBh
cnJheVBhcmFtZXRlclZhbHVlLT5hcHBlbmQoY3NzVmFsdWVQb29sKCkuY3JlYXRlVmFsdWUoYXJy
YXlQYXJhbWV0ZXItPnZhbHVlQXQoaSksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSk7
CisgICAgcmV0dXJuIGFycmF5UGFyYW1ldGVyVmFsdWUucmVsZWFzZSgpOworfQorCiBzdGF0aWMg
UGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWVGb3JDdXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIo
Y29uc3QgQ3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVyKiBudW1iZXJQYXJhbWV0ZXIpCiB7CiAg
ICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gbnVtYmVyUGFyYW1ldGVyVmFsdWUgPSBDU1NWYWx1ZUxp
c3Q6OmNyZWF0ZVNwYWNlU2VwYXJhdGVkKCk7CkBAIC03OTMsNiArODAzLDggQEAgc3RhdGljIFBh
c3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlRm9yQ3VzdG9tRmlsdGVyUGFyYW1ldGVyKGNvbnN0IFJl
bmRlck9iamVjdCogcmUKICAgICAvLyBGSVhNRTogQWRkIGhlcmUgY29tcHV0ZWQgc3R5bGUgZm9y
IHRoZSBvdGhlciB0eXBlczogYm9vbGVhbiwgdHJhbnNmb3JtLCBtYXRyaXgsIHRleHR1cmUuCiAg
ICAgQVNTRVJUKHBhcmFtZXRlcik7CiAgICAgc3dpdGNoIChwYXJhbWV0ZXItPnBhcmFtZXRlclR5
cGUoKSkgeworICAgIGNhc2UgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyOjpBUlJBWToKKyAgICAgICAg
cmV0dXJuIHZhbHVlRm9yQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIoc3RhdGljX2Nhc3Q8Y29u
c3QgQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIqPihwYXJhbWV0ZXIpKTsKICAgICBjYXNlIEN1
c3RvbUZpbHRlclBhcmFtZXRlcjo6TlVNQkVSOgogICAgICAgICByZXR1cm4gdmFsdWVGb3JDdXN0
b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIoc3RhdGljX2Nhc3Q8Y29uc3QgQ3VzdG9tRmlsdGVyTnVt
YmVyUGFyYW1ldGVyKj4ocGFyYW1ldGVyKSk7CiAgICAgY2FzZSBDdXN0b21GaWx0ZXJQYXJhbWV0
ZXI6OlRSQU5TRk9STToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCA2NzFj
ZmE0ZWI5ZGMzOTc3ODZlMWU5YjllY2Y5YzFjZGM3Yzg3Y2RhLi5lM2U5YTU2YTg2ODk1NjViYjBh
MzgyYWEyNmRiMGZkYmU5ZDliNjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
CkBAIC0xNDcsNiArMTQ3LDcgQEAKICNlbmRpZgogCiAjaWYgRU5BQkxFKENTU19TSEFERVJTKQor
I2luY2x1ZGUgIkN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmgiCiAjaW5jbHVkZSAiQ3VzdG9t
RmlsdGVyTnVtYmVyUGFyYW1ldGVyLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyT3BlcmF0aW9u
LmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyUGFyYW1ldGVyLmgiCkBAIC01MjUxLDYgKzUyNTIs
MjEgQEAgc3RhdGljIGJvb2wgc29ydFBhcmFtZXRlcnNCeU5hbWVDb21wYXJhdG9yKGNvbnN0IFJl
ZlB0cjxDdXN0b21GaWx0ZXJQYXJhbWV0ZXI+JgogICAgIHJldHVybiBjb2RlUG9pbnRDb21wYXJl
TGVzc1RoYW4oYS0+bmFtZSgpLCBiLT5uYW1lKCkpOwogfQogCitQYXNzUmVmUHRyPEN1c3RvbUZp
bHRlclBhcmFtZXRlcj4gU3R5bGVSZXNvbHZlcjo6cGFyc2VDdXN0b21GaWx0ZXJBcnJheVBhcmFt
ZXRlcihjb25zdCBTdHJpbmcmIG5hbWUsIENTU1ZhbHVlTGlzdCogdmFsdWVzKQoreworICAgIFJl
ZlB0cjxDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcj4gYXJyYXlQYXJhbWV0ZXIgPSBDdXN0b21G
aWx0ZXJBcnJheVBhcmFtZXRlcjo6Y3JlYXRlKG5hbWUpOworICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCB2YWx1ZXMtPmxlbmd0aCgpOyArK2kpIHsKKyAgICAgICAgQ1NTVmFsdWUqIHZhbHVl
ID0gdmFsdWVzLT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKGkpOworICAgICAgICBpZiAoIXZhbHVl
LT5pc1ByaW1pdGl2ZVZhbHVlKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgQ1NT
UHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZl
VmFsdWUqPih2YWx1ZSk7CisgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS0+cHJpbWl0aXZlVHlw
ZSgpICE9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKQorICAgICAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgIGFycmF5UGFyYW1ldGVyLT5hZGRWYWx1ZShwcmltaXRpdmVWYWx1ZS0+Z2V0
RG91YmxlVmFsdWUoKSk7CisgICAgfQorICAgIHJldHVybiBhcnJheVBhcmFtZXRlci5yZWxlYXNl
KCk7Cit9CisKIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUGFyYW1ldGVyPiBTdHlsZVJlc29sdmVy
OjpwYXJzZUN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlcihjb25zdCBTdHJpbmcmIG5hbWUsIENT
U1ZhbHVlTGlzdCogdmFsdWVzKQogewogICAgIFJlZlB0cjxDdXN0b21GaWx0ZXJOdW1iZXJQYXJh
bWV0ZXI+IG51bWJlclBhcmFtZXRlciA9IEN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlcjo6Y3Jl
YXRlKG5hbWUpOwpAQCAtNTI4MSw2ICs1Mjk3LDggQEAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQ
YXJhbWV0ZXI+IFN0eWxlUmVzb2x2ZXI6OnBhcnNlQ3VzdG9tRmlsdGVyUGFyYW1ldGVyKGNvbnMK
ICAgICAvLyBib29sZWFuczogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc2NDM4CiAgICAgLy8gdGV4dHVyZXM6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MTQ0MgogICAgIC8vIG1hdDIsIG1hdDMsIG1hdDQ6IGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ0NAorICAgIC8vIE51bWJlciBwYXJhbWV0ZXJzIGFy
ZSB3cmFwcGVkIGluc2lkZSBhIENTU1ZhbHVlTGlzdCBhbmQgYWxsCisgICAgLy8gdGhlIG90aGVy
IGZ1bmN0aW9ucyB2YWx1ZXMgaW5oZXJpdCBmcm9tIENTU1ZhbHVlTGlzdC4KICAgICBpZiAoIXBh
cmFtZXRlclZhbHVlLT5pc1ZhbHVlTGlzdCgpKQogICAgICAgICByZXR1cm4gMDsKIApAQCAtNTI4
OCw5ICs1MzA2LDE2IEBAIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUGFyYW1ldGVyPiBTdHlsZVJl
c29sdmVyOjpwYXJzZUN1c3RvbUZpbHRlclBhcmFtZXRlcihjb25zCiAgICAgaWYgKCF2YWx1ZXMt
Pmxlbmd0aCgpKQogICAgICAgICByZXR1cm4gMDsKIAorICAgIGlmIChwYXJhbWV0ZXJWYWx1ZS0+
aXNXZWJLaXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUoKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlQ3Vz
dG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIobmFtZSwgdmFsdWVzKTsKKyAgICAKKyAgICAvLyBJZiB0
aGUgZmlyc3QgdmFsdWUgb2YgdGhlIGxpc3QgaXMgYSB0cmFuc2Zvcm0gZnVuY3Rpb24sCisgICAg
Ly8gdGhlbiB3ZSBjb3VsZCBzYWZlbHkgYXNzdW1lIHRoYXQgYWxsIHRoZSByZW1haW5pbmcgaXRl
bXMKKyAgICAvLyBhcmUgdHJhbnNmb3Jtcy4gcGFyc2VDdXN0b21GaWx0ZXJUcmFuc2Zvcm1QYXJh
bWV0ZXIgd2lsbAorICAgIC8vIHJldHVybiAwIGlmIHRoYXQgYXNzdW1wdGlvbiBpcyBpbmNvcnJl
Y3QuCiAgICAgaWYgKHZhbHVlcy0+aXRlbVdpdGhvdXRCb3VuZHNDaGVjaygwKS0+aXNXZWJLaXRD
U1NUcmFuc2Zvcm1WYWx1ZSgpKQogICAgICAgICByZXR1cm4gcGFyc2VDdXN0b21GaWx0ZXJUcmFu
c2Zvcm1QYXJhbWV0ZXIobmFtZSwgdmFsdWVzKTsKLSAgICAKKwogICAgIC8vIFdlIGNhbiBoYXZl
IG9ubHkgYXJyYXlzIG9mIGJvb2xlYW5zIG9yIG51bWJlcnMsIHNvIHVzZSB0aGUgZmlyc3QgdmFs
dWUgdG8gY2hvb3NlIGJldHdlZW4gdGhvc2UgdHdvLgogICAgIC8vIFdlIG5lZWQgdXAgdG8gNCB2
YWx1ZXMgKGFsbCBib29sZWFucyBvciBhbGwgbnVtYmVycykuCiAgICAgaWYgKCF2YWx1ZXMtPml0
ZW1XaXRob3V0Qm91bmRzQ2hlY2soMCktPmlzUHJpbWl0aXZlVmFsdWUoKSB8fCB2YWx1ZXMtPmxl
bmd0aCgpID4gNCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCmluZGV4IDg3ODU3N2E0MjFh
ZWYxMjk5NmViNmNmNWE2MDM2MzljZTEwMDY0ZGUuLmI0NTE0YWFiZmQ5ODMxZmU4YWIwZGVkZTQ1
YTNjNmNmOGIyYzFlMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29s
dmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaApAQCAtMjYyLDYg
KzI2Miw3IEBAIHB1YmxpYzoKICAgICBTdHlsZVNoYWRlciogY2FjaGVkT3JQZW5kaW5nU3R5bGVT
aGFkZXJGcm9tVmFsdWUoV2ViS2l0Q1NTU2hhZGVyVmFsdWUqKTsKICAgICBib29sIHBhcnNlQ3Vz
dG9tRmlsdGVyUGFyYW1ldGVyTGlzdChDU1NWYWx1ZSosIEN1c3RvbUZpbHRlclBhcmFtZXRlckxp
c3QmKTsKICAgICBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclBhcmFtZXRlcj4gcGFyc2VDdXN0b21G
aWx0ZXJQYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lLCBDU1NWYWx1ZSopOworICAgIFBhc3NS
ZWZQdHI8Q3VzdG9tRmlsdGVyUGFyYW1ldGVyPiBwYXJzZUN1c3RvbUZpbHRlckFycmF5UGFyYW1l
dGVyKGNvbnN0IFN0cmluZyYgbmFtZSwgQ1NTVmFsdWVMaXN0Kik7CiAgICAgUGFzc1JlZlB0cjxD
dXN0b21GaWx0ZXJQYXJhbWV0ZXI+IHBhcnNlQ3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVyKGNv
bnN0IFN0cmluZyYgbmFtZSwgQ1NTVmFsdWVMaXN0Kik7CiAgICAgUGFzc1JlZlB0cjxDdXN0b21G
aWx0ZXJQYXJhbWV0ZXI+IHBhcnNlQ3VzdG9tRmlsdGVyVHJhbnNmb3JtUGFyYW1ldGVyKGNvbnN0
IFN0cmluZyYgbmFtZSwgQ1NTVmFsdWVMaXN0Kik7CiAgICAgUGFzc1JlZlB0cjxDdXN0b21GaWx0
ZXJPcGVyYXRpb24+IGNyZWF0ZUN1c3RvbUZpbHRlck9wZXJhdGlvbihXZWJLaXRDU1NGaWx0ZXJW
YWx1ZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmls
dGVycy9DdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA1ZDI1MzkyZWEyNjU3MmY3NTMzMWQ3Zjc1MGYxZjM4MTY3MGFkZmQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZp
bHRlckFycmF5UGFyYW1ldGVyLmgKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBBZG9iZSBTeXN0ZW1zIEluY29ycG9yYXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlCisgKiAg
ICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZworICogICAgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMKKyAqICAgIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSIOKAnEFTIElT4oCdIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksCisgKiBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SCisgKiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YKKyAqIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcl9oCisjZGVm
aW5lIEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyX2gKKworI2lmIEVOQUJMRShDU1NfU0hBREVS
UykKKyNpbmNsdWRlICJDdXN0b21GaWx0ZXJQYXJhbWV0ZXIuaCIKKyNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQ3VzdG9tRmlsdGVyQXJyYXlQ
YXJhbWV0ZXIgOiBwdWJsaWMgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcj4gY3JlYXRlKGNvbnN0
IFN0cmluZyYgbmFtZSkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ3VzdG9t
RmlsdGVyQXJyYXlQYXJhbWV0ZXIobmFtZSkpOworICAgIH0KKworICAgIHVuc2lnbmVkIHNpemUo
KSBjb25zdCB7IHJldHVybiBtX2RhdGEuc2l6ZSgpOyB9CisgICAgZG91YmxlIHZhbHVlQXQodW5z
aWduZWQgaW5kZXgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5hdChpbmRleCk7IH0KKworICAgIHZv
aWQgYWRkVmFsdWUoZG91YmxlIHZhbHVlKSB7IG1fZGF0YS5hcHBlbmQodmFsdWUpOyB9CisKKyAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUGFyYW1ldGVyPiBibGVuZChjb25zdCBD
dXN0b21GaWx0ZXJQYXJhbWV0ZXIqIGZyb20sIGRvdWJsZSBwcm9ncmVzcykKKyAgICB7CisgICAg
ICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY0
MzcKKyAgICAgICAgVU5VU0VEX1BBUkFNKGZyb20pOworICAgICAgICBVTlVTRURfUEFSQU0ocHJv
Z3Jlc3MpOworCisgICAgICAgIHJldHVybiB0aGlzOworICAgIH0KKworICAgIHZpcnR1YWwgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlciYgbykgY29uc3QKKyAgICB7
CisgICAgICAgIGlmICghaXNTYW1lVHlwZShvKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgICAgICBjb25zdCBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlciogb3RoZXIgPSBzdGF0
aWNfY2FzdDxjb25zdCBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcio+KCZvKTsKKyAgICAgICAg
cmV0dXJuIG1fZGF0YSA9PSBvdGhlci0+bV9kYXRhOworICAgIH0KKworcHJpdmF0ZToKKyAgICBD
dXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcihjb25zdCBTdHJpbmcmIG5hbWUpCisgICAgICAgIDog
Q3VzdG9tRmlsdGVyUGFyYW1ldGVyKEFSUkFZLCBuYW1lKQorICAgIHsKKyAgICB9CisKKyAgICBW
ZWN0b3I8ZG91YmxlPiBtX2RhdGE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoQ1NTX1NIQURFUlMpCisKKyNlbmRpZiAvLyBDdXN0b21GaWx0ZXJBcnJh
eVBhcmFtZXRlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlclBhcmFtZXRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQYXJhbWV0ZXIuaAppbmRleCA4Mjk4MGQ2
Yzc4MGYwODBjYzdkNzAzZmFhOThjNjJiNmY1ZDNlYTg0Li5iNjhjZWYwMGFiMzc1OTc5MGE2YzQ5
ZGNmODdmM2VkNGY2YzA4Yjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclBhcmFtZXRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUGFyYW1ldGVyLmgKQEAg
LTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgIC8vIDNkLXRyYW5zZm9ybXM6IGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ0MwogICAgIC8vIG1hdDIsIG1hdDMsIG1h
dDQ6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ0NAogICAgIGVu
dW0gUGFyYW1ldGVyVHlwZSB7CisgICAgICAgIEFSUkFZLAogICAgICAgICBOVU1CRVIsCiAgICAg
ICAgIFRSQU5TRk9STQogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCmluZGV4IGQ2NWZmOTdj
YWIwYTQ0MDU5NzZiMjUzOTk4ZGNmYjgzOTY2YjY4NTQuLmMyZGQyYmZhZjc0OGI5MDUzZjlhNDdm
ZmFmNzA4NGU0Zjk1NTkzZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCkBAIC0zMiw2ICszMiw3
IEBACiAjaWYgRU5BQkxFKENTU19TSEFERVJTKSAmJiBVU0UoM0RfR1JBUEhJQ1MpCiAjaW5jbHVk
ZSAiRkVDdXN0b21GaWx0ZXIuaCIKIAorI2luY2x1ZGUgIkN1c3RvbUZpbHRlckFycmF5UGFyYW1l
dGVyLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmgiCiAjaW5jbHVk
ZSAiQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlck1l
c2guaCIKQEAgLTI2MSw2ICsyNjIsMTcgQEAgdm9pZCBGRUN1c3RvbUZpbHRlcjo6dW5iaW5kVmVy
dGV4QXR0cmlidXRlKGludCBhdHRyaWJ1dGVMb2NhdGlvbikKICAgICAgICAgbV9jb250ZXh0LT5k
aXNhYmxlVmVydGV4QXR0cmliQXJyYXkoYXR0cmlidXRlTG9jYXRpb24pOwogfQogCit2b2lkIEZF
Q3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFycmF5UGFyYW1ldGVycyhpbnQgdW5pZm9ybUxvY2F0
aW9uLCBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlciogYXJyYXlQYXJhbWV0ZXIpCit7CisgICAg
dW5zaWduZWQgcGFyYW1ldGVyU2l6ZSA9IGFycmF5UGFyYW1ldGVyLT5zaXplKCk7CisgICAgVmVj
dG9yPEdDM0RmbG9hdD4gZmxvYXRWZWN0b3I7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgcGFyYW1ldGVyU2l6ZTsgKytpKQorICAgICAgICBmbG9hdFZlY3Rvci5hcHBlbmQoYXJyYXlQ
YXJhbWV0ZXItPnZhbHVlQXQoaSkpOworCisgICAgbV9jb250ZXh0LT51bmlmb3JtMWZ2KHVuaWZv
cm1Mb2NhdGlvbiwgcGFyYW1ldGVyU2l6ZSwgZmxvYXRWZWN0b3IuZGF0YSgpKTsKK30KKwogdm9p
ZCBGRUN1c3RvbUZpbHRlcjo6YmluZFByb2dyYW1OdW1iZXJQYXJhbWV0ZXJzKGludCB1bmlmb3Jt
TG9jYXRpb24sIEN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlciogbnVtYmVyUGFyYW1ldGVyKQog
ewogICAgIHN3aXRjaCAobnVtYmVyUGFyYW1ldGVyLT5zaXplKCkpIHsKQEAgLTMxMiw2ICszMjQs
OSBAQCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbVBhcmFtZXRlcnMoKQogICAgICAg
ICBpZiAodW5pZm9ybUxvY2F0aW9uID09IC0xKQogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIHN3aXRjaCAocGFyYW1ldGVyLT5wYXJhbWV0ZXJUeXBlKCkpIHsKKyAgICAgICAgY2FzZSBD
dXN0b21GaWx0ZXJQYXJhbWV0ZXI6OkFSUkFZOgorICAgICAgICAgICAgYmluZFByb2dyYW1BcnJh
eVBhcmFtZXRlcnModW5pZm9ybUxvY2F0aW9uLCBzdGF0aWNfY2FzdDxDdXN0b21GaWx0ZXJBcnJh
eVBhcmFtZXRlcio+KHBhcmFtZXRlcikpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyOjpOVU1CRVI6CiAgICAgICAgICAgICBiaW5kUHJvZ3Jh
bU51bWJlclBhcmFtZXRlcnModW5pZm9ybUxvY2F0aW9uLCBzdGF0aWNfY2FzdDxDdXN0b21GaWx0
ZXJOdW1iZXJQYXJhbWV0ZXIqPihwYXJhbWV0ZXIpKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3Rv
bUZpbHRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1
c3RvbUZpbHRlci5oCmluZGV4IDk2YmI5MTg1ZTFlN2Y5Yzc0ODQzMGE5NDRiODY3MzNjMDE5Zjc5
OWIuLmEzOTBmYTI5NzE3ZTBjMTljMWYzZDUwOTM1OWY3YjMyMThjZjg5MWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9t
RmlsdGVyLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgY2xhc3MgVWludDhDbGFtcGVkQXJyYXk7CiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENhY2hlZFNoYWRlcjsKK2NsYXNzIEN1c3RvbUZpbHRl
ckFycmF5UGFyYW1ldGVyOwogY2xhc3MgQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtOwogY2xh
c3MgQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dDsKIGNsYXNzIEN1c3RvbUZpbHRlck1lc2g7CkBA
IC04MSw2ICs4Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZXNpemVDb250ZXh0KGNvbnN0IElu
dFNpemUmIG5ld0NvbnRleHRTaXplKTsKICAgICB2b2lkIGJpbmRWZXJ0ZXhBdHRyaWJ1dGUoaW50
IGF0dHJpYnV0ZUxvY2F0aW9uLCB1bnNpZ25lZCBzaXplLCB1bnNpZ25lZCBvZmZzZXQpOwogICAg
IHZvaWQgdW5iaW5kVmVydGV4QXR0cmlidXRlKGludCBhdHRyaWJ1dGVMb2NhdGlvbik7CisgICAg
dm9pZCBiaW5kUHJvZ3JhbUFycmF5UGFyYW1ldGVycyhpbnQgdW5pZm9ybUxvY2F0aW9uLCBDdXN0
b21GaWx0ZXJBcnJheVBhcmFtZXRlciopOwogICAgIHZvaWQgYmluZFByb2dyYW1OdW1iZXJQYXJh
bWV0ZXJzKGludCB1bmlmb3JtTG9jYXRpb24sIEN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlciop
OwogICAgIHZvaWQgYmluZFByb2dyYW1UcmFuc2Zvcm1QYXJhbWV0ZXIoaW50IHVuaWZvcm1Mb2Nh
dGlvbiwgQ3VzdG9tRmlsdGVyVHJhbnNmb3JtUGFyYW1ldGVyKik7CiAgICAgdm9pZCBiaW5kUHJv
Z3JhbVBhcmFtZXRlcnMoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjODZmOTAwNDFlYWI2NmVmZmFhZWJmZGUyNmZlMmE0
ZGIwY2FmNGFjLi43ZTBjN2U0ODM4OTdmNWM0ZmMyNjJlMDdjN2FmMWMyMzIwMmE5OTMwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDktMTEgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgIDxt
aWNoZWxhbmdlbG9Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgYXJyYXlzIGluIHNoYWRlcnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1MjIzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3IHRlc3Rz
IGhhdmUgYmVlbiBhZGRlZCBmb3IgY2hlY2tpbmcgdGhlIGNvcnJlY3RuZXNzIG9mIGFycmF5KCkK
KyAgICAgICAgd2l0aGluIHNoYWRlcnMuIAorCisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3Rv
bS9jdXN0b20tZmlsdGVyLWFycmF5LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNz
czMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1hcnJheS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQt
c3R5bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGNzczMvZmlsdGVycy9yZXNvdXJjZXMvZnJh
Z21lbnQtY29sb3IuZnM6IEFkZGVkLgorICAgICAgICAqIGNzczMvZmlsdGVycy9zY3JpcHQtdGVz
dHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21wdXRlZC1zdHlsZS5qczoKKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItcHJvcGVy
dHktY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0OgorCiAyMDEyLTA5LTEyICBDaHJpc3RvcGhl
IER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAgW1dLMl1bV0tU
Ul0gVGVzdFJ1bm5lciBuZWVkcyB0byBpbXBsZW1lbnQgZHVtcEFwcGxpY2F0aW9uQ2FjaGVEZWxl
Z2F0ZUNhbGxiYWNrcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3Rv
bS9jdXN0b20tZmlsdGVyLWFycmF5LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYXJyYXktZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yODNkMDYyNzdjNjdhMDBhYjk5YzhjNTY2MjZiMjkzYzg4NjM5Mzk5Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWFycmF5
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPHRpdGxlPlRlc3RzIHRoZSBhcnJheSgpIGZ1bmN0aW9uIGlu
IGN1c3RvbSBmaWx0ZXJzPC90aXRsZT4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgI2Zp
bHRlcnRlc3Rib3ggeworICAgICAgICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAg
ICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJn
YigwLCAyNTUsIDApOworICAgICAgICAgICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgICAgIDxkaXYgaWQ9ImZpbHRl
cnRlc3Rib3giPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1hcnJheS5odG1sIGIvTGF5
b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWFycmF5Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmYwNDAwMTY4N2E1MDA5M2I0MjIwNDYzNmNjZjhiMjNjNGQ1MjYwMgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRl
ci1hcnJheS5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cisg
ICAgPGhlYWQ+CisgICAgICAgIDx0aXRsZT5UZXN0cyB0aGUgYXJyYXkoKSBmdW5jdGlvbiBpbiBj
dXN0b20gZmlsdGVyczwvdGl0bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5v
dmVycmlkZVByZWZlcmVuY2UoIldlYktpdENTU0N1c3RvbUZpbHRlckVuYWJsZWQiLCAiMSIpOwor
ICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2Vi
S2l0V2ViR0xFbmFibGVkIiwgIjEiKTsKKyAgICAgICAgICAgICAgICB3aW5kb3cudGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9u
IHJ1blRlc3QoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8g
cnVuIHRoZSB0ZXN0cyBhZnRlciB0aGUgZG93bmxvYWRpbmcgc3VjY2VlZGVkLgorICAgICAgICAg
ICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICAgICAgd2luZG93
LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICAgICAgfQorICAgICAgICA8L3Njcmlw
dD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgI2ZpbHRlcnRlc3Rib3ggeworICAgICAg
ICAgICAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKKyAgICAgICAgICAgICAgICAt
d2Via2l0LWZpbHRlcjogY3VzdG9tKG5vbmUgdXJsKCcuLi9yZXNvdXJjZXMvZnJhZ21lbnQtY29s
b3IuZnMnKSwgY29vbEFycmF5IGFycmF5KDAuMCwgMS4wLCAwLjAsIDEuMCkpOworICAgICAgICAg
ICAgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKSI+CisgICAgICAgIDwhLS0KKyAgICAgICAgICAgIEEgMTAweDEwMHB4IHJlZCBkaXYg
aXMgY29sb3VyZWQgZ3JlZW4gYnkgZnJhZ21lbnQtY29sb3IuZnMsIGEgZnJhZ21lbnQgc2hhZGVy
LgorICAgICAgICAgICAgRmFpbHMgaWYgdGhlIGRpdiBzdGF5cyByZWQuCisgICAgICAgIC0tPgor
ICAgICAgICA8ZGl2IGlkPSJmaWx0ZXJ0ZXN0Ym94Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1m
aWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxl
LWV4cGVjdGVkLnR4dAppbmRleCBjMTZkY2JmNmNjNjg4MWRlYTQyNTFmNmY3ZDI5NTg1YTI2ODFj
YWE4Li42OTRmM2Y0ZTQyMzFjZjJlYTU4MTU3NTZlOGFlMDExMWUxYzQ3MTc0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItcHJvcGVydHkt
Y29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVy
cy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50
eHQKQEAgLTUyOSw2ICs1MjksMjQgQEAgUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2Vi
S2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KIFBBU1MgcmVtb3ZlQmFzZVVSTChz
dWJSdWxlLmNzc1RleHQpIGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAx
IGZpbHRlci1ib3gpJwogUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmls
dGVyVmFsdWUuQ1NTX0ZJTFRFUl9TRVBJQQogUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3Nz
VGV4dCkgaXMgJ3NlcGlhKDEpJworCitDdXN0b20gd2l0aCBhcnJheSgpIG1hZGUgdXAgb2YgdGhy
ZWUgdmFsdWVzIDogY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIGExIGFycmF5KDEs
IDIsIDMpKQorUEFTUyByZW1vdmVCYXNlVVJMKGZpbHRlclN0eWxlLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZmlsdGVyJykpIGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwg
MSAxIGZpbHRlci1ib3gsIGExIGFycmF5KDEsIDIsIDMpKScKK1BBU1MganNXcmFwcGVyQ2xhc3Mo
ZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVy
UnVsZS5fX3Byb3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3JhcHBl
ckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3Rv
cicKK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5
cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1MgcmVtb3Zl
QmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hh
ZGVyKSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5KDEsIDIsIDMpKScKKworQ3VzdG9tIHdpdGgg
dHdvIGFycmF5KCkgbWFkZSB1cCBvZiB0aHJlZSBhbmQgc2l4IHZhbHVlcyA6IGN1c3RvbShub25l
IHVybChmcmFnbWVudC5zaGFkZXIpLCBhMSBhcnJheSgxLCAyLCAzKSwgYTIgYXJyYXkoMSwgMiwg
MywgNCwgNSwgNikpCitQQVNTIHJlbW92ZUJhc2VVUkwoZmlsdGVyU3R5bGUuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1maWx0ZXInKSkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFk
ZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEgYXJyYXkoMSwgMiwgMyksIGEyIGFycmF5KDEsIDIsIDMs
IDQsIDUsIDYpKScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVl
TGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NW
YWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3Ry
dWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicKK1BBU1MgZmlsdGVyUnVsZS5sZW5n
dGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFs
dWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQp
IGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZpbHRlci1ib3gsIGEx
IGFycmF5KDEsIDIsIDMpLCBhMiBhcnJheSgxLCAyLCAzLCA0LCA1LCA2KSknCiBQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9yZXNvdXJjZXMvZnJhZ21lbnQtY29sb3IuZnMgYi9MYXlvdXRU
ZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ZyYWdtZW50LWNvbG9yLmZzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmRjOTUwMjIxYWUxNGQ1Mzk2ZTcwY2FmYTdjNTU5YzlmM2MxNzg0MDMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3VyY2VzL2ZyYWdtZW50LWNvbG9yLmZz
CkBAIC0wLDAgKzEsNyBAQAorcHJlY2lzaW9uIG1lZGl1bXAgZmxvYXQ7Cit1bmlmb3JtIGZsb2F0
IGNvb2xBcnJheVs0XTsKKwordm9pZCBtYWluKCkKK3sKKyAgICBnbF9GcmFnQ29sb3IgPSB2ZWM0
KGNvb2xBcnJheVswXSwgY29vbEFycmF5WzFdLCBjb29sQXJyYXlbMl0sIGNvb2xBcnJheVszXSk7
Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1
c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUuanMgYi9MYXlvdXRUZXN0cy9jc3Mz
L2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5
bGUuanMKaW5kZXggMGVlZDUyMDQxNmUxNWVjYTg3NDBlOWI3NmIyYjA4MTZkZTI1NDQwOC4uZDhh
YjhkN2RlMDBmNTc1MmJlYWZlNjkzMGRjM2Q4YTU2N2I1M2E2NiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvY3NzMy9maWx0ZXJzL3NjcmlwdC10ZXN0cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNv
bXB1dGVkLXN0eWxlLmpzCisrKyBiL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVz
dHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21wdXRlZC1zdHlsZS5qcwpAQCAtMTk5LDMgKzE5
OSwxMSBAQCB0ZXN0RmlsdGVyUnVsZSgiTXVsdGlwbGUgd2l0aCBmcmFnbWVudCBzaGFkZXIiLAog
ICAgIFsiZ3JheXNjYWxlKDEpIiwKICAgICAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRl
ciksIDEgMSBmaWx0ZXItYm94KSIsCiAgICAgInNlcGlhKDEpIl0pOworCit0ZXN0RmlsdGVyUnVs
ZSgiQ3VzdG9tIHdpdGggYXJyYXkoKSBtYWRlIHVwIG9mIHRocmVlIHZhbHVlcyIsCisgICAgICAg
ICAgICAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIGExIGFycmF5KDEsIDIsIDMp
KSIsCisgICAgICAgICAgICAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBm
aWx0ZXItYm94LCBhMSBhcnJheSgxLCAyLCAzKSkiKTsKKwordGVzdEZpbHRlclJ1bGUoIkN1c3Rv
bSB3aXRoIHR3byBhcnJheSgpIG1hZGUgdXAgb2YgdGhyZWUgYW5kIHNpeCB2YWx1ZXMiLAorICAg
ICAgICAgICAgImN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBhMSBhcnJheSgxLCAy
LCAzKSwgYTIgYXJyYXkoMSwgMiwgMywgNCwgNSwgNikpIiwKKyAgICAgICAgICAgICJjdXN0b20o
bm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5KDEsIDIs
IDMpLCBhMiBhcnJheSgxLCAyLCAzLCA0LCA1LCA2KSkiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1w
cm9wZXJ0eS1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29t
cHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CmluZGV4IGZmNWVjMmIyYTJiODg0NTRiZDg2NDY1MDAx
OWY0YzQxMDYwNTQ0MjYuLjQ2OTUxOTMxOWEzNjlmNmIzN2U3MGEwOGZmZjdlNzI5Y2U2YjQ1N2Mg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NzczMvZmlsdGVycy9j
dXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY3NzMy9maWx0ZXJzL2N1c3RvbS9j
dXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dApAQCAtNTI5
LDYgKzUyOSwyNCBAQCBQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0
ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQogUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3Nz
VGV4dCkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJv
eCknCiBQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5D
U1NfRklMVEVSX1NFUElBCiBQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBpcyAn
c2VwaWEoMSknCisKK0N1c3RvbSB3aXRoIGFycmF5KCkgbWFkZSB1cCBvZiB0aHJlZSB2YWx1ZXMg
OiBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgYTEgYXJyYXkoMSwgMiwgMykpCitQ
QVNTIHJlbW92ZUJhc2VVUkwoZmlsdGVyU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1m
aWx0ZXInKSkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVy
LWJveCwgYTEgYXJyYXkoMSwgMiwgMykpJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxl
KSBpcyAnQ1NTVmFsdWVMaXN0JworRkFJTCBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJv
dG9fXykgc2hvdWxkIGJlIENTU1ZhbHVlTGlzdFByb3RvdHlwZS4gV2FzIE9iamVjdC4KK0ZBSUwg
anNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3Rvcikgc2hvdWxkIGJlIENTU1ZhbHVl
TGlzdENvbnN0cnVjdG9yLiBXYXMgRnVuY3Rpb24uCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlz
IDEKK1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNT
U19GSUxURVJfQ1VTVE9NCitQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBpcyAn
Y3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXItYm94LCBhMSBhcnJh
eSgxLCAyLCAzKSknCisKK0N1c3RvbSB3aXRoIHR3byBhcnJheSgpIG1hZGUgdXAgb2YgdGhyZWUg
YW5kIHNpeCB2YWx1ZXMgOiBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgYTEgYXJy
YXkoMSwgMiwgMyksIGEyIGFycmF5KDEsIDIsIDMsIDQsIDUsIDYpKQorUEFTUyByZW1vdmVCYXNl
VVJMKGZpbHRlclN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykpIGlzICdj
dXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5
KDEsIDIsIDMpLCBhMiBhcnJheSgxLCAyLCAzLCA0LCA1LCA2KSknCitQQVNTIGpzV3JhcHBlckNs
YXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitGQUlMIGpzV3JhcHBlckNsYXNzKGZp
bHRlclJ1bGUuX19wcm90b19fKSBzaG91bGQgYmUgQ1NTVmFsdWVMaXN0UHJvdG90eXBlLiBXYXMg
T2JqZWN0LgorRkFJTCBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBzaG91
bGQgYmUgQ1NTVmFsdWVMaXN0Q29uc3RydWN0b3IuIFdhcyBGdW5jdGlvbi4KK1BBU1MgZmlsdGVy
UnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NT
RmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxl
LmNzc1RleHQpIGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZpbHRl
ci1ib3gsIGExIGFycmF5KDEsIDIsIDMpLCBhMiBhcnJheSgxLCAyLCAzLCA0LCA1LCA2KSknCiBQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163947</attachid>
            <date>2012-09-13 13:14:18 -0700</date>
            <delta_ts>2012-09-14 10:17:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-95223-20120913131350.patch</filename>
            <type>text/plain</type>
            <size>52662</size>
            <attacher name="Michelangelo De Simone">michelangelo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4NDk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ3NDAyNmQyODgwZDFm
MjRlMGVkOTM2ZDIzMWY0NjJjYjk3ZmFjNy4uYmExNDg1NjU4MjcwM2ViMTFkMDE5MDhkNWIwZTA1
MGJkM2NjMzA0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTA5LTExICBNaWNo
ZWxhbmdlbG8gRGUgU2ltb25lICA8bWljaGVsYW5nZWxvQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
VXNlIGFycmF5cyBpbiBzaGFkZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NTIyMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEN1c3RvbSBGaWx0ZXJzJyBzdXBwb3J0IGZvciBhcnJheSgpIGlzIGludHJv
ZHVjZWQuIFZhbHVlcyB3aXRoaW4KKyAgICAgICAgdGhlIGFycmF5KCkgZnVuY3Rpb24gd2lsbCBi
ZSBwYXNzZWQgYXMgdW5pZm9ybXMgdG8gc2hhZGVycy4KKworICAgICAgICBWYWx1ZXMgd2l0aGlu
IGFycmF5KCkgYXJlIGNvbW1hLXNlcGFyYXRlZDsgdGhlIHNwZWNpZmljYXRpb24gd2lsbCBiZQor
ICAgICAgICB1cGRhdGVkIGFjY29yZGluZ2x5OiBodHRwczovL3d3dy53My5vcmcvQnVncy9QdWJs
aWMvc2hvd19idWcuY2dpP2lkPTE4ODM5CisKKyAgICAgICAgVGVzdDogY3NzMy9maWx0ZXJzL2N1
c3RvbS9jdXN0b20tZmlsdGVyLWFycmF5Lmh0bWwKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmxp
c3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6Cisg
ICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dmFsdWVGb3JDdXN0b21GaWx0
ZXJBcnJheVBhcmFtZXRlcik6IAorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
Ojp2YWx1ZUZvckN1c3RvbUZpbHRlclBhcmFtZXRlcik6CisgICAgICAgICogY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6Y29sbGVjdE1hdGNo
aW5nUnVsZXNGb3JMaXN0KToKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5oOgorICAgICAg
ICAoU3R5bGVSZXNvbHZlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9D
dXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5oOiBDb250YWluZXIgZm9yIGFycmF5KCkKKyAgICAg
ICAgcGFyYW1ldGVyIHZhbHVlcy4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoQ3VzdG9t
RmlsdGVyQXJyYXlQYXJhbWV0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyQXJy
YXlQYXJhbWV0ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJBcnJh
eVBhcmFtZXRlcjo6c2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJBcnJheVBh
cmFtZXRlcjo6dmFsdWVBdCk6CisgICAgICAgIChXZWJDb3JlOjpDdXN0b21GaWx0ZXJBcnJheVBh
cmFtZXRlcjo6YWRkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRmlsdGVyQXJyYXlQ
YXJhbWV0ZXI6OmJsZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlckFycmF5UGFy
YW1ldGVyOjpvcGVyYXRvcj09KToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3RvbUZpbHRlckFycmF5
UGFyYW1ldGVyOjpDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQYXJhbWV0ZXIuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFycmF5UGFyYW1ldGVycyk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJv
Z3JhbVBhcmFtZXRlcnMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVD
dXN0b21GaWx0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRkVDdXN0b21GaWx0
ZXIpOgorCiAyMDEyLTA5LTEzICBZb25nIExpICA8eW9saUByaW0uY29tPgogCiAgICAgICAgIFtC
bGFja0JlcnJ5XSBSZXNvdXJjZVJlcXVlc3Qgc3RyaW5nIG9wdGltaXphdGlvbnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDM5NTAyYmY4Nzg1YzBlOTY1NzM1NWNjMjlhNzNjMzkx
Mzc5MGUxMmIuLmU2MjYxNGFhZWM0ZDgwNjM5ODU4NmY1YjUxZWRhYzY2MDQyNzdkOWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDI1Myw2ICs0MjUzLDcgQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9SZWZQ
dHJDYWlyby5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1Jl
ZlB0ckNhaXJvLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL1Ry
YW5zZm9ybWF0aW9uTWF0cml4Q2Fpcm8uY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4
dC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9t
RmlsdGVyR2xvYmFsQ29udGV4dC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlck1lc2guY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDUxOTkzNzIw
MTcwMTcxYTU4MzIyOWI1NGUwMWFhZDhmMTQ0OGIyODguLjZkNDM5NjE4NTFjZGY5N2JjZGEwMWE0
OTZjOTc5YzliYWY1NmYwODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkK
KysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjA0Nyw2ICsyMDQ3LDcgQEAgSEVB
REVSUyArPSBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBcCiAgICAgcGxh
dGZvcm0vZ3JhcGhpY3MvQ29sb3IuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvQ3Jvc3NmYWRl
R2VuZXJhdGVkSW1hZ2UuaCBcCisgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21G
aWx0ZXJBcnJheVBhcmFtZXRlci5oIFwKICAgICBwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1
c3RvbUZpbHRlckdsb2JhbENvbnRleHQuaCBcCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVy
cy9DdXN0b21GaWx0ZXJNZXNoLmggXAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3Vz
dG9tRmlsdGVyTWVzaEdlbmVyYXRvci5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA3ZjA5Nzc3ZWY4
ZDBhM2JjYWViOGZjOThlM2JjM2FiNzk4YWM5ZDExLi5kZTQxZGRmNjhmZWQwMTkxOWNjYjlkM2Zi
MWFkOWM2MjFkOWU5ZTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC00OTE4LDYgKzQ5MTgsNyBAQAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9JbWFnZUVmbC5jcHAnLAogICAgICAg
ICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9JbnRQb2ludEVmbC5jcHAnLAogICAgICAgICAg
ICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2VmbC9JbnRSZWN0RWZsLmNwcCcsCisgICAgICAgICAgICAn
cGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5oJywK
ICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckdsb2Jh
bENvbnRleHQuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1
c3RvbUZpbHRlckdsb2JhbENvbnRleHQuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9DdXN0b21GaWx0ZXJNZXNoLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCBmMzM2MWNiM2VlYWMzMTNmN2FlZTA2ZWNjOTk3
NjQ1YWMwNjE2Nzk0Li5iNWJjOGQwZmMwYjcxNGY3Zjc0NDdkNTM4OTA4Yjg1NDYyYzQ2ZGI0IDEw
MDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMzE4
NzcsNiArMzE4NzcsMTAgQEAKIAkJCQkJTmFtZT0iZmlsdGVycyIKIAkJCQkJPgogCQkJCQk8Rmls
ZQorCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxwbGF0Zm9ybVxncmFwaGljc1xmaWx0ZXJzXEN1c3Rv
bUZpbHRlckFycmF5UGFyYW1ldGVyLmgiCisJCQkJCQk+CisJCQkJCTwvRmlsZT4KKwkJCQkJPEZp
bGUKIAkJCQkJCVJlbGF0aXZlUGF0aD0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcZmlsdGVyc1xDdXN0
b21GaWx0ZXJHbG9iYWxDb250ZXh0LmNwcCIKIAkJCQkJCT4KIAkJCQkJPC9GaWxlPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDFi
MDI0NzIzZWY3NjUzYTY5NzdhYWM5YTc5NjQ0NGNhYTAxMzNmNTguLjczMzAwYTJhM2QwNjJiY2Yy
Yzc3OThjM2E3YjRkOWQ4OGU1OWU2MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM1NCw2ICszNTQsNyBAQAogCQkxNEZGRTMx
RTBBRTE5NjMzMDAxMzZCRjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTRGRkUzMUMwQUUxOTYzMzAwMTM2
QkY1IC8qIEhUTUxGcmFtZUVsZW1lbnRCYXNlLmNwcCAqLzsgfTsKIAkJMTUwQjkyMzkxNUYwOERD
NDAwRTEwOTg2IC8qIFdlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNTBCOTIzNzE1RjA4REM0MDBFMTA5
ODYgLyogV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmNwcCAqLzsgfTsKIAkJMTUwQjkyM0Ex
NUYwOERDNDAwRTEwOTg2IC8qIFdlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTUwQjkyMzgxNUYwOERDNDAw
RTEwOTg2IC8qIFdlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1ZS5oICovOyB9OworCQkxNUIzRkMx
OTE1RkIyMTc4MDBBODFCQ0IgLyogQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE1QjNGQzE3MTVGQjIxNzgw
MEE4MUJDQiAvKiBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5oICovOyB9OwogCQkxNUM3NzA4
RDEwMEQzQzZCMDA1QkEyNjcgLyogVmFsaWRpdHlTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTVDNzcwOEExMDBEM0M2QTAwNUJBMjY3IC8qIFZh
bGlkaXR5U3RhdGUuaCAqLzsgfTsKIAkJMTVDNzcwOEUxMDBEM0M2QjAwNUJBMjY3IC8qIFZhbGlk
aXR5U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMTVDNzcwOEIxMDBEM0M2QTAwNUJBMjY3IC8qIFZhbGlkaXR5U3RhdGUuY3BwICovOyB9Owog
CQkxNUM3NzA5MzEwMEQzQ0E4MDA1QkEyNjcgLyogSlNWYWxpZGl0eVN0YXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNUM3NzA5MTEwMEQzQ0E4MDA1
QkEyNjcgLyogSlNWYWxpZGl0eVN0YXRlLmggKi87IH07CkBAIC03NDA5LDYgKzc0MTAsNyBAQAog
CQkxNEZGRTMxQzBBRTE5NjMzMDAxMzZCRjUgLyogSFRNTEZyYW1lRWxlbWVudEJhc2UuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTEZyYW1lRWxlbWVudEJhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNTBCOTIzNzE1RjA4REM0MDBFMTA5
ODYgLyogV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYktpdENTU0FycmF5RnVuY3Rpb25WYWx1ZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1MEI5MjM4MTVGMDhEQzQwMEUxMDk4NiAvKiBXZWJL
aXRDU1NBcnJheUZ1bmN0aW9uVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTE1QjNGQzE3MTVGQjIxNzgwMEE4MUJDQiAvKiBDdXN0b21GaWx0ZXJBcnJheVBhcmFt
ZXRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBDdXN0b21GaWx0ZXJBcnJh
eVBhcmFtZXRlci5oOyBwYXRoID0gZmlsdGVycy9DdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNUM3NzA4OTEwMEQzQzZBMDA1QkEyNjcg
LyogVmFsaWRpdHlTdGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVmFsaWRpdHlTdGF0
ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE1Qzc3MDhBMTAwRDNDNkEwMDVC
QTI2NyAvKiBWYWxpZGl0eVN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFZhbGlkaXR5U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTVDNzcwOEIx
MDBEM0M2QTAwNUJBMjY3IC8qIFZhbGlkaXR5U3RhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gVmFsaWRpdHlTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xODE4NCw2ICsxODE4Niw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKAogCQkJCTQ5RUNFQjVDMTQ5OTc5MEQwMENERDNBNCAvKiBhcm0gKi8sCisJCQkJ
MTVCM0ZDMTcxNUZCMjE3ODAwQTgxQkNCIC8qIEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmgg
Ki8sCiAJCQkJNTBENDA2MEYxNDdENDlERTAwRDMwQkI1IC8qIEN1c3RvbUZpbHRlckNvbXBpbGVk
UHJvZ3JhbS5jcHAgKi8sCiAJCQkJNTBENDA2MTAxNDdENDlERTAwRDMwQkI1IC8qIEN1c3RvbUZp
bHRlckNvbXBpbGVkUHJvZ3JhbS5oICovLAogCQkJCTUwOTg3QzI0MTU3RDY3NkQwMEJEQTgzNSAv
KiBDdXN0b21GaWx0ZXJHbG9iYWxDb250ZXh0LmNwcCAqLywKQEAgLTIyNTkzLDYgKzIyNTk2LDcg
QEAKIAkJCQlCQzIyNzJBMjBFODJFODdDMDBFN0Y5NzUgLyogQ3Vyc29yRGF0YS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMyMjcyQUQwRTgyRThGMzAwRTdGOTc1IC8qIEN1cnNvckxpc3QuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTYyQ0QzMjVBMTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMTVCM0ZDMTkxNUZCMjE3ODAwQTgxQkNCIC8qIEN1c3RvbUZp
bHRlckFycmF5UGFyYW1ldGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MEQ0MDYxMjE0N0Q0OURF
MDBEMzBCQjUgLyogQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MDk4N0MyNzE1N0Q2NzZEMDBCREE4MzUgLyogQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTBENDA1RkExNDdEMzFGMzAwRDMwQkI1IC8qIEN1c3Rv
bUZpbHRlck1lc2guaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCAxZjhjOWNjYTk2ZTZiOTc1YmQ5
Zjc1NjM1ZGRhMjc2ZjFmYzQ5NzNlLi42OGM4NDQ4YjgxZWE4N2VmZmRkZTk3Njk4NDExODhmNjgy
NzkwOGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURl
Y2xhcmF0aW9uLmNwcApAQCAtNjQsMTAgKzY0LDEyIEBACiAjaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nQnVpbGRlci5oPgogCiAjaWYgRU5BQkxFKENTU19TSEFERVJTKQorI2luY2x1ZGUgIkN1c3Rv
bUZpbHRlckFycmF5UGFyYW1ldGVyLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyTnVtYmVyUGFy
YW1ldGVyLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAi
Q3VzdG9tRmlsdGVyUGFyYW1ldGVyLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyVHJhbnNmb3Jt
UGFyYW1ldGVyLmgiCisjaW5jbHVkZSAiV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlLmgiCiAj
aW5jbHVkZSAiV2ViS2l0Q1NTTWl4RnVuY3Rpb25WYWx1ZS5oIgogI2VuZGlmCiAKQEAgLTc3MSw2
ICs3NzMsMTQgQEAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNvbXB1dGVkVHJhbnNmb3Jt
KFJlbmRlck9iamVjdCogcmVuZGVyZXIsIGNvbnN0IFJlbmQKIH0KIAogI2lmIEVOQUJMRShDU1Nf
U0hBREVSUykKK3N0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZvckN1c3RvbUZpbHRl
ckFycmF5UGFyYW1ldGVyKGNvbnN0IEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyKiBhcnJheVBh
cmFtZXRlcikKK3sKKyAgICBSZWZQdHI8V2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlPiBhcnJh
eVBhcmFtZXRlclZhbHVlID0gV2ViS2l0Q1NTQXJyYXlGdW5jdGlvblZhbHVlOjpjcmVhdGUoKTsK
KyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwLCBzaXplID0gYXJyYXlQYXJhbWV0ZXItPnNpemUoKTsg
aSA8IHNpemU7ICsraSkKKyAgICAgICAgYXJyYXlQYXJhbWV0ZXJWYWx1ZS0+YXBwZW5kKGNzc1Zh
bHVlUG9vbCgpLmNyZWF0ZVZhbHVlKGFycmF5UGFyYW1ldGVyLT52YWx1ZUF0KGkpLCBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX05VTUJFUikpOworICAgIHJldHVybiBhcnJheVBhcmFtZXRlclZhbHVl
LnJlbGVhc2UoKTsKK30KKwogc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlRm9yQ3Vz
dG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVyKGNvbnN0IEN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRl
ciogbnVtYmVyUGFyYW1ldGVyKQogewogICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IG51bWJlclBh
cmFtZXRlclZhbHVlID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOwpAQCAt
NzkzLDYgKzgwMyw4IEBAIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZvckN1c3Rv
bUZpbHRlclBhcmFtZXRlcihjb25zdCBSZW5kZXJPYmplY3QqIHJlCiAgICAgLy8gRklYTUU6IEFk
ZCBoZXJlIGNvbXB1dGVkIHN0eWxlIGZvciB0aGUgb3RoZXIgdHlwZXM6IGJvb2xlYW4sIHRyYW5z
Zm9ybSwgbWF0cml4LCB0ZXh0dXJlLgogICAgIEFTU0VSVChwYXJhbWV0ZXIpOwogICAgIHN3aXRj
aCAocGFyYW1ldGVyLT5wYXJhbWV0ZXJUeXBlKCkpIHsKKyAgICBjYXNlIEN1c3RvbUZpbHRlclBh
cmFtZXRlcjo6QVJSQVk6CisgICAgICAgIHJldHVybiB2YWx1ZUZvckN1c3RvbUZpbHRlckFycmF5
UGFyYW1ldGVyKHN0YXRpY19jYXN0PGNvbnN0IEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyKj4o
cGFyYW1ldGVyKSk7CiAgICAgY2FzZSBDdXN0b21GaWx0ZXJQYXJhbWV0ZXI6Ok5VTUJFUjoKICAg
ICAgICAgcmV0dXJuIHZhbHVlRm9yQ3VzdG9tRmlsdGVyTnVtYmVyUGFyYW1ldGVyKHN0YXRpY19j
YXN0PGNvbnN0IEN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlcio+KHBhcmFtZXRlcikpOwogICAg
IGNhc2UgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyOjpUUkFOU0ZPUk06CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAKaW5kZXggOGU2Y2JlYWQ0ZmJiYWExMWE0YWQ0MWEwYmQzZGE1ZTRlNmE3
YTFiMy4uNjFhODkyZTM2NzMyZTEzNTdiZjM4ZjhiNWM3ZTdjYjFkNWM4OTlkOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMTQ3LDYgKzE0Nyw3IEBACiAjZW5kaWYKIAog
I2lmIEVOQUJMRShDU1NfU0hBREVSUykKKyNpbmNsdWRlICJDdXN0b21GaWx0ZXJBcnJheVBhcmFt
ZXRlci5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlci5oIgogI2luY2x1
ZGUgIkN1c3RvbUZpbHRlck9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlclBhcmFt
ZXRlci5oIgpAQCAtNTI1Miw2ICs1MjUzLDIxIEBAIHN0YXRpYyBib29sIHNvcnRQYXJhbWV0ZXJz
QnlOYW1lQ29tcGFyYXRvcihjb25zdCBSZWZQdHI8Q3VzdG9tRmlsdGVyUGFyYW1ldGVyPiYKICAg
ICByZXR1cm4gY29kZVBvaW50Q29tcGFyZUxlc3NUaGFuKGEtPm5hbWUoKSwgYi0+bmFtZSgpKTsK
IH0KIAorUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQYXJhbWV0ZXI+IFN0eWxlUmVzb2x2ZXI6OnBh
cnNlQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lLCBDU1NWYWx1
ZUxpc3QqIHZhbHVlcykKK3sKKyAgICBSZWZQdHI8Q3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXI+
IGFycmF5UGFyYW1ldGVyID0gQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXI6OmNyZWF0ZShuYW1l
KTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwLCBsZW5ndGggPSB2YWx1ZXMtPmxlbmd0aCgpOyBp
IDwgbGVuZ3RoOyArK2kpIHsKKyAgICAgICAgQ1NTVmFsdWUqIHZhbHVlID0gdmFsdWVzLT5pdGVt
V2l0aG91dEJvdW5kc0NoZWNrKGkpOworICAgICAgICBpZiAoIXZhbHVlLT5pc1ByaW1pdGl2ZVZh
bHVlKCkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWUq
IHByaW1pdGl2ZVZhbHVlID0gc3RhdGljX2Nhc3Q8Q1NTUHJpbWl0aXZlVmFsdWUqPih2YWx1ZSk7
CisgICAgICAgIGlmIChwcmltaXRpdmVWYWx1ZS0+cHJpbWl0aXZlVHlwZSgpICE9IENTU1ByaW1p
dGl2ZVZhbHVlOjpDU1NfTlVNQkVSKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGFy
cmF5UGFyYW1ldGVyLT5hZGRWYWx1ZShwcmltaXRpdmVWYWx1ZS0+Z2V0RG91YmxlVmFsdWUoKSk7
CisgICAgfQorICAgIHJldHVybiBhcnJheVBhcmFtZXRlci5yZWxlYXNlKCk7Cit9CisKIFBhc3NS
ZWZQdHI8Q3VzdG9tRmlsdGVyUGFyYW1ldGVyPiBTdHlsZVJlc29sdmVyOjpwYXJzZUN1c3RvbUZp
bHRlck51bWJlclBhcmFtZXRlcihjb25zdCBTdHJpbmcmIG5hbWUsIENTU1ZhbHVlTGlzdCogdmFs
dWVzKQogewogICAgIFJlZlB0cjxDdXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXI+IG51bWJlclBh
cmFtZXRlciA9IEN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlcjo6Y3JlYXRlKG5hbWUpOwpAQCAt
NTI4Miw2ICs1Mjk4LDggQEAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQYXJhbWV0ZXI+IFN0eWxl
UmVzb2x2ZXI6OnBhcnNlQ3VzdG9tRmlsdGVyUGFyYW1ldGVyKGNvbnMKICAgICAvLyBib29sZWFu
czogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDM4CiAgICAgLy8g
dGV4dHVyZXM6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ0Mgog
ICAgIC8vIG1hdDIsIG1hdDMsIG1hdDQ6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MTQ0NAorICAgIC8vIE51bWJlciBwYXJhbWV0ZXJzIGFyZSB3cmFwcGVkIGluc2lk
ZSBhIENTU1ZhbHVlTGlzdCBhbmQgYWxsCisgICAgLy8gdGhlIG90aGVyIGZ1bmN0aW9ucyB2YWx1
ZXMgaW5oZXJpdCBmcm9tIENTU1ZhbHVlTGlzdC4KICAgICBpZiAoIXBhcmFtZXRlclZhbHVlLT5p
c1ZhbHVlTGlzdCgpKQogICAgICAgICByZXR1cm4gMDsKIApAQCAtNTI4OSw5ICs1MzA3LDE2IEBA
IFBhc3NSZWZQdHI8Q3VzdG9tRmlsdGVyUGFyYW1ldGVyPiBTdHlsZVJlc29sdmVyOjpwYXJzZUN1
c3RvbUZpbHRlclBhcmFtZXRlcihjb25zCiAgICAgaWYgKCF2YWx1ZXMtPmxlbmd0aCgpKQogICAg
ICAgICByZXR1cm4gMDsKIAorICAgIGlmIChwYXJhbWV0ZXJWYWx1ZS0+aXNXZWJLaXRDU1NBcnJh
eUZ1bmN0aW9uVmFsdWUoKSkKKyAgICAgICAgcmV0dXJuIHBhcnNlQ3VzdG9tRmlsdGVyQXJyYXlQ
YXJhbWV0ZXIobmFtZSwgdmFsdWVzKTsKKworICAgIC8vIElmIHRoZSBmaXJzdCB2YWx1ZSBvZiB0
aGUgbGlzdCBpcyBhIHRyYW5zZm9ybSBmdW5jdGlvbiwKKyAgICAvLyB0aGVuIHdlIGNvdWxkIHNh
ZmVseSBhc3N1bWUgdGhhdCBhbGwgdGhlIHJlbWFpbmluZyBpdGVtcworICAgIC8vIGFyZSB0cmFu
c2Zvcm1zLiBwYXJzZUN1c3RvbUZpbHRlclRyYW5zZm9ybVBhcmFtZXRlciB3aWxsCisgICAgLy8g
cmV0dXJuIDAgaWYgdGhhdCBhc3N1bXB0aW9uIGlzIGluY29ycmVjdC4KICAgICBpZiAodmFsdWVz
LT5pdGVtV2l0aG91dEJvdW5kc0NoZWNrKDApLT5pc1dlYktpdENTU1RyYW5zZm9ybVZhbHVlKCkp
CiAgICAgICAgIHJldHVybiBwYXJzZUN1c3RvbUZpbHRlclRyYW5zZm9ybVBhcmFtZXRlcihuYW1l
LCB2YWx1ZXMpOwotICAgIAorCiAgICAgLy8gV2UgY2FuIGhhdmUgb25seSBhcnJheXMgb2YgYm9v
bGVhbnMgb3IgbnVtYmVycywgc28gdXNlIHRoZSBmaXJzdCB2YWx1ZSB0byBjaG9vc2UgYmV0d2Vl
biB0aG9zZSB0d28uCiAgICAgLy8gV2UgbmVlZCB1cCB0byA0IHZhbHVlcyAoYWxsIGJvb2xlYW5z
IG9yIGFsbCBudW1iZXJzKS4KICAgICBpZiAoIXZhbHVlcy0+aXRlbVdpdGhvdXRCb3VuZHNDaGVj
aygwKS0+aXNQcmltaXRpdmVWYWx1ZSgpIHx8IHZhbHVlcy0+bGVuZ3RoKCkgPiA0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmgKaW5kZXggZTY5OGE0ZmZkNzc5OGQwM2M1MGU3Y2IxMDg3MzE2
NzQ2MmUxMjY2MC4uNWZiODU4Y2ZiYmYwMGMxMDc0Y2Y4MjNmYmIyZmQyMDZiYTMyYjM3NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCkBAIC0yNjEsNiArMjYxLDcgQEAgcHVibGljOgog
ICAgIFN0eWxlU2hhZGVyKiBjYWNoZWRPclBlbmRpbmdTdHlsZVNoYWRlckZyb21WYWx1ZShXZWJL
aXRDU1NTaGFkZXJWYWx1ZSopOwogICAgIGJvb2wgcGFyc2VDdXN0b21GaWx0ZXJQYXJhbWV0ZXJM
aXN0KENTU1ZhbHVlKiwgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyTGlzdCYpOwogICAgIFBhc3NSZWZQ
dHI8Q3VzdG9tRmlsdGVyUGFyYW1ldGVyPiBwYXJzZUN1c3RvbUZpbHRlclBhcmFtZXRlcihjb25z
dCBTdHJpbmcmIG5hbWUsIENTU1ZhbHVlKik7CisgICAgUGFzc1JlZlB0cjxDdXN0b21GaWx0ZXJQ
YXJhbWV0ZXI+IHBhcnNlQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBu
YW1lLCBDU1NWYWx1ZUxpc3QqKTsKICAgICBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclBhcmFtZXRl
cj4gcGFyc2VDdXN0b21GaWx0ZXJOdW1iZXJQYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lLCBD
U1NWYWx1ZUxpc3QqKTsKICAgICBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlclBhcmFtZXRlcj4gcGFy
c2VDdXN0b21GaWx0ZXJUcmFuc2Zvcm1QYXJhbWV0ZXIoY29uc3QgU3RyaW5nJiBuYW1lLCBDU1NW
YWx1ZUxpc3QqKTsKICAgICBQYXNzUmVmUHRyPEN1c3RvbUZpbHRlck9wZXJhdGlvbj4gY3JlYXRl
Q3VzdG9tRmlsdGVyT3BlcmF0aW9uKFdlYktpdENTU0ZpbHRlclZhbHVlKik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlckFy
cmF5UGFyYW1ldGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJz
L0N1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjUyMjM2ZGRlZTc1YmU3
ZjJmYTgwZjU2MTNlOTYxN2JkYzljMDlhMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyQXJyYXlQYXJhbWV0ZXIu
aApAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFkb2JlIFN5c3Rl
bXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscworICogICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVIg4oCcQVMgSVPigJ0gQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBIT0xERVIgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IKKyAqIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRgorICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIEN1c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyX2gKKyNkZWZpbmUgQ3VzdG9tRmlsdGVyQXJy
YXlQYXJhbWV0ZXJfaAorCisjaWYgRU5BQkxFKENTU19TSEFERVJTKQorI2luY2x1ZGUgIkN1c3Rv
bUZpbHRlclBhcmFtZXRlci5oIgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlciA6IHB1YmxpYyBD
dXN0b21GaWx0ZXJQYXJhbWV0ZXIgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEN1
c3RvbUZpbHRlckFycmF5UGFyYW1ldGVyPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRl
cihuYW1lKSk7CisgICAgfQorCisgICAgdW5zaWduZWQgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
ZGF0YS5zaXplKCk7IH0KKyAgICBkb3VibGUgdmFsdWVBdCh1bnNpZ25lZCBpbmRleCkgY29uc3Qg
eyByZXR1cm4gbV9kYXRhLmF0KGluZGV4KTsgfQorCisgICAgdm9pZCBhZGRWYWx1ZShkb3VibGUg
dmFsdWUpIHsgbV9kYXRhLmFwcGVuZCh2YWx1ZSk7IH0KKworICAgIHZpcnR1YWwgUGFzc1JlZlB0
cjxDdXN0b21GaWx0ZXJQYXJhbWV0ZXI+IGJsZW5kKGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRl
ciogZnJvbSwgZG91YmxlIHByb2dyZXNzLCBjb25zdCBMYXlvdXRTaXplJikKKyAgICB7CisgICAg
ICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTY0
MzcKKyAgICAgICAgVU5VU0VEX1BBUkFNKGZyb20pOworICAgICAgICBVTlVTRURfUEFSQU0ocHJv
Z3Jlc3MpOworCisgICAgICAgIHJldHVybiB0aGlzOworICAgIH0KKworICAgIHZpcnR1YWwgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IEN1c3RvbUZpbHRlclBhcmFtZXRlciYgbykgY29uc3QKKyAgICB7
CisgICAgICAgIGlmICghaXNTYW1lVHlwZShvKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgICAgICBjb25zdCBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlciogb3RoZXIgPSBzdGF0
aWNfY2FzdDxjb25zdCBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcio+KCZvKTsKKyAgICAgICAg
cmV0dXJuIG1fZGF0YSA9PSBvdGhlci0+bV9kYXRhOworICAgIH0KKworcHJpdmF0ZToKKyAgICBD
dXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlcihjb25zdCBTdHJpbmcmIG5hbWUpCisgICAgICAgIDog
Q3VzdG9tRmlsdGVyUGFyYW1ldGVyKEFSUkFZLCBuYW1lKQorICAgIHsKKyAgICB9CisKKyAgICBW
ZWN0b3I8ZG91YmxlPiBtX2RhdGE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoQ1NTX1NIQURFUlMpCisKKyNlbmRpZiAvLyBDdXN0b21GaWx0ZXJBcnJh
eVBhcmFtZXRlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0N1c3RvbUZpbHRlclBhcmFtZXRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9DdXN0b21GaWx0ZXJQYXJhbWV0ZXIuaAppbmRleCA4MWU1Zjgz
YzJmOTFkOTdhZjg5ZDc5ZGFjNTY5ODk4OGY5OGU1Y2JkLi42NDEyMjVhNTZlOWQ2OGJmNjgwY2U1
OTExOTJmNTUyOWFkZjQ1MzliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9maWx0ZXJzL0N1c3RvbUZpbHRlclBhcmFtZXRlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvQ3VzdG9tRmlsdGVyUGFyYW1ldGVyLmgKQEAg
LTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogICAgIC8vIDNkLXRyYW5zZm9ybXM6IGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ0MwogICAgIC8vIG1hdDIsIG1hdDMsIG1h
dDQ6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTQ0NAogICAgIGVu
dW0gUGFyYW1ldGVyVHlwZSB7CisgICAgICAgIEFSUkFZLAogICAgICAgICBOVU1CRVIsCiAgICAg
ICAgIFRSQU5TRk9STQogICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9tRmlsdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCmluZGV4IGZkMTI1MDYx
ZGJjYWE5YjhmOWYyN2IzZGM3YzU3ZTBiZDE5ZTg5ZWIuLjA1MjdhMWMwYjJlMGJiY2YyM2UzMjhm
ZTgxZjdkOWNiY2I1NjI2ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIuY3BwCkBAIC0zMiw2ICszMiw3
IEBACiAjaWYgRU5BQkxFKENTU19TSEFERVJTKSAmJiBVU0UoM0RfR1JBUEhJQ1MpCiAjaW5jbHVk
ZSAiRkVDdXN0b21GaWx0ZXIuaCIKIAorI2luY2x1ZGUgIkN1c3RvbUZpbHRlckFycmF5UGFyYW1l
dGVyLmgiCiAjaW5jbHVkZSAiQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtLmgiCiAjaW5jbHVk
ZSAiQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dC5oIgogI2luY2x1ZGUgIkN1c3RvbUZpbHRlck1l
c2guaCIKQEAgLTI2MSw2ICsyNjIsMTcgQEAgdm9pZCBGRUN1c3RvbUZpbHRlcjo6dW5iaW5kVmVy
dGV4QXR0cmlidXRlKGludCBhdHRyaWJ1dGVMb2NhdGlvbikKICAgICAgICAgbV9jb250ZXh0LT5k
aXNhYmxlVmVydGV4QXR0cmliQXJyYXkoYXR0cmlidXRlTG9jYXRpb24pOwogfQogCit2b2lkIEZF
Q3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbUFycmF5UGFyYW1ldGVycyhpbnQgdW5pZm9ybUxvY2F0
aW9uLCBDdXN0b21GaWx0ZXJBcnJheVBhcmFtZXRlciogYXJyYXlQYXJhbWV0ZXIpCit7CisgICAg
dW5zaWduZWQgcGFyYW1ldGVyU2l6ZSA9IGFycmF5UGFyYW1ldGVyLT5zaXplKCk7CisgICAgVmVj
dG9yPEdDM0RmbG9hdD4gZmxvYXRWZWN0b3I7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgcGFyYW1ldGVyU2l6ZTsgKytpKQorICAgICAgICBmbG9hdFZlY3Rvci5hcHBlbmQoYXJyYXlQ
YXJhbWV0ZXItPnZhbHVlQXQoaSkpOworCisgICAgbV9jb250ZXh0LT51bmlmb3JtMWZ2KHVuaWZv
cm1Mb2NhdGlvbiwgcGFyYW1ldGVyU2l6ZSwgZmxvYXRWZWN0b3IuZGF0YSgpKTsKK30KKwogdm9p
ZCBGRUN1c3RvbUZpbHRlcjo6YmluZFByb2dyYW1OdW1iZXJQYXJhbWV0ZXJzKGludCB1bmlmb3Jt
TG9jYXRpb24sIEN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlciogbnVtYmVyUGFyYW1ldGVyKQog
ewogICAgIHN3aXRjaCAobnVtYmVyUGFyYW1ldGVyLT5zaXplKCkpIHsKQEAgLTMxMiw2ICszMjQs
OSBAQCB2b2lkIEZFQ3VzdG9tRmlsdGVyOjpiaW5kUHJvZ3JhbVBhcmFtZXRlcnMoKQogICAgICAg
ICBpZiAodW5pZm9ybUxvY2F0aW9uID09IC0xKQogICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgIHN3aXRjaCAocGFyYW1ldGVyLT5wYXJhbWV0ZXJUeXBlKCkpIHsKKyAgICAgICAgY2FzZSBD
dXN0b21GaWx0ZXJQYXJhbWV0ZXI6OkFSUkFZOgorICAgICAgICAgICAgYmluZFByb2dyYW1BcnJh
eVBhcmFtZXRlcnModW5pZm9ybUxvY2F0aW9uLCBzdGF0aWNfY2FzdDxDdXN0b21GaWx0ZXJBcnJh
eVBhcmFtZXRlcio+KHBhcmFtZXRlcikpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNh
c2UgQ3VzdG9tRmlsdGVyUGFyYW1ldGVyOjpOVU1CRVI6CiAgICAgICAgICAgICBiaW5kUHJvZ3Jh
bU51bWJlclBhcmFtZXRlcnModW5pZm9ybUxvY2F0aW9uLCBzdGF0aWNfY2FzdDxDdXN0b21GaWx0
ZXJOdW1iZXJQYXJhbWV0ZXIqPihwYXJhbWV0ZXIpKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1c3Rv
bUZpbHRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUN1
c3RvbUZpbHRlci5oCmluZGV4IDk2YmI5MTg1ZTFlN2Y5Yzc0ODQzMGE5NDRiODY3MzNjMDE5Zjc5
OWIuLmEzOTBmYTI5NzE3ZTBjMTljMWYzZDUwOTM1OWY3YjMyMThjZjg5MWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVDdXN0b21GaWx0ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFQ3VzdG9t
RmlsdGVyLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgY2xhc3MgVWludDhDbGFtcGVkQXJyYXk7CiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENhY2hlZFNoYWRlcjsKK2NsYXNzIEN1c3RvbUZpbHRl
ckFycmF5UGFyYW1ldGVyOwogY2xhc3MgQ3VzdG9tRmlsdGVyQ29tcGlsZWRQcm9ncmFtOwogY2xh
c3MgQ3VzdG9tRmlsdGVyR2xvYmFsQ29udGV4dDsKIGNsYXNzIEN1c3RvbUZpbHRlck1lc2g7CkBA
IC04MSw2ICs4Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZXNpemVDb250ZXh0KGNvbnN0IElu
dFNpemUmIG5ld0NvbnRleHRTaXplKTsKICAgICB2b2lkIGJpbmRWZXJ0ZXhBdHRyaWJ1dGUoaW50
IGF0dHJpYnV0ZUxvY2F0aW9uLCB1bnNpZ25lZCBzaXplLCB1bnNpZ25lZCBvZmZzZXQpOwogICAg
IHZvaWQgdW5iaW5kVmVydGV4QXR0cmlidXRlKGludCBhdHRyaWJ1dGVMb2NhdGlvbik7CisgICAg
dm9pZCBiaW5kUHJvZ3JhbUFycmF5UGFyYW1ldGVycyhpbnQgdW5pZm9ybUxvY2F0aW9uLCBDdXN0
b21GaWx0ZXJBcnJheVBhcmFtZXRlciopOwogICAgIHZvaWQgYmluZFByb2dyYW1OdW1iZXJQYXJh
bWV0ZXJzKGludCB1bmlmb3JtTG9jYXRpb24sIEN1c3RvbUZpbHRlck51bWJlclBhcmFtZXRlciop
OwogICAgIHZvaWQgYmluZFByb2dyYW1UcmFuc2Zvcm1QYXJhbWV0ZXIoaW50IHVuaWZvcm1Mb2Nh
dGlvbiwgQ3VzdG9tRmlsdGVyVHJhbnNmb3JtUGFyYW1ldGVyKik7CiAgICAgdm9pZCBiaW5kUHJv
Z3JhbVBhcmFtZXRlcnMoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzNTQ0NDhiMDYwNjY3MzNlNzY1YTBmYjcyMzc1ZjYy
NDliNTUxYTNlLi5iNWY2YjFhNmM3NTQ3MTQ4N2U2NDBlMWEzMTk2NDFhZWFmNWUwZWEyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDktMTEgIE1pY2hlbGFuZ2VsbyBEZSBTaW1vbmUgIDxt
aWNoZWxhbmdlbG9Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgYXJyYXlzIGluIHNoYWRlcnMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1MjIzCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3IHRlc3Rz
IGhhdmUgYmVlbiBhZGRlZCBmb3IgY2hlY2tpbmcgdGhlIGNvcnJlY3RuZXNzIG9mIGFycmF5KCkK
KyAgICAgICAgd2l0aGluIHNoYWRlcnMuCisKKyAgICAgICAgKiBjc3MzL2ZpbHRlcnMvY3VzdG9t
L2N1c3RvbS1maWx0ZXItYXJyYXktZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY3Nz
My9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWFycmF5Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21wdXRlZC1z
dHlsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20t
ZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC1leHBlY3RlZC50eHQ6CisgICAgICAgICog
Y3NzMy9maWx0ZXJzL3Jlc291cmNlcy9mcmFnbWVudC1jb2xvci5mczogQWRkZWQuCisgICAgICAg
ICogY3NzMy9maWx0ZXJzL3NjcmlwdC10ZXN0cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1
dGVkLXN0eWxlLmpzOgorICAgICAgICAqIGNzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9t
LWZpbHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQuanM6CisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1
dGVkLXN0eWxlLWV4cGVjdGVkLnR4dDoKKwogMjAxMi0wOS0xMyAgU3VkYXJzYW5hIE5hZ2luZW5p
ICA8c3VkYXJzYW5hLm5hZ2luZW5pQGxpbnV4LmludGVsLmNvbT4KIAogICAgICAgICBbV0syXVtX
VFJdIFdlYktpdFRlc3RSdW5uZXIgbmVlZHMgdGVzdFJ1bm5lci5jYWxsU2hvdWxkQ2xvc2VPbldl
YlZpZXcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9t
LWZpbHRlci1hcnJheS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1
c3RvbS9jdXN0b20tZmlsdGVyLWFycmF5LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjgzZDA2
Mjc3YzY3YTAwYWI5OWM4YzU2NjI2YjI5M2M4ODYzOTM5OQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1hcnJheS1leHBlY3Rl
ZC5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhl
YWQ+CisgICAgICAgIDx0aXRsZT5UZXN0cyB0aGUgYXJyYXkoKSBmdW5jdGlvbiBpbiBjdXN0b20g
ZmlsdGVyczwvdGl0bGU+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNmaWx0ZXJ0ZXN0
Ym94IHsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgICAgIHdp
ZHRoOiAxMDBweDsKKyAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwgMjU1
LCAwKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgICAgICA8ZGl2IGlkPSJmaWx0ZXJ0ZXN0Ym94
Ij48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYXJyYXkuaHRtbCBiL0xheW91dFRlc3Rz
L2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1hcnJheS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY4NjAxOGM1MTY2Mjc2Mzk2ODI1MDhjNjAzZGY2ODYyZDU2MzY3OTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYXJyYXku
aHRtbApAQCAtMCwwICsxLDM1IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8dGl0bGU+VGVzdHMgdGhlIGFycmF5KCkgZnVuY3Rpb24gaW4gY3VzdG9tIGZp
bHRlcnM8L3RpdGxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CisgICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIub3ZlcnJpZGVQ
cmVmZXJlbmNlKCJXZWJLaXRDU1NDdXN0b21GaWx0ZXJFbmFibGVkIiwgIjEiKTsKKyAgICAgICAg
ICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5vdmVycmlkZVByZWZlcmVuY2UoIldlYktpdFdlYkdM
RW5hYmxlZCIsICIxIik7CisgICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBydW5UZXN0
KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIHJ1biB0aGUg
dGVzdHMgYWZ0ZXIgdGhlIGRvd25sb2FkaW5nIHN1Y2NlZWRlZC4KKyAgICAgICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAg
ICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNmaWx0ZXJ0ZXN0Ym94IHsKKyAgICAgICAgICAgICAg
ICBoZWlnaHQ6IDEwMHB4OworICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAg
ICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CisgICAgICAgICAgICAgICAgLXdlYmtpdC1m
aWx0ZXI6IGN1c3RvbShub25lIHVybCgnLi4vcmVzb3VyY2VzL2ZyYWdtZW50LWNvbG9yLmZzJyks
IGNvbG9yQXJyYXkgYXJyYXkoMC4wLCAxLjAsIDAuMCwgMS4wKSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0icnVuVGVzdCgp
Ij4KKyAgICAgICAgPCEtLQorICAgICAgICAgICAgQSAxMDB4MTAwcHggcmVkIGRpdiBpcyBjb2xv
dXJlZCBncmVlbiBieSBmcmFnbWVudC1jb2xvci5mcywgYSBmcmFnbWVudCBzaGFkZXIuCisgICAg
ICAgICAgICBGYWlscyBpZiB0aGUgZGl2IHN0YXlzIHJlZC4KKyAgICAgICAgLS0+CisgICAgICAg
IDxkaXYgaWQ9ImZpbHRlcnRlc3Rib3giPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1w
cm9wZXJ0eS1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUtZXhwZWN0
ZWQudHh0CmluZGV4IGMxNmRjYmY2Y2M2ODgxZGVhNDI1MWY2ZjdkMjk1ODVhMjY4MWNhYTguLjI4
OTViYTc0MDJlZjQ2M2I4OGIxNmQwYjFkZTlhYTIyZjQ0NzNlMjkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21wdXRl
ZC1zdHlsZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3Rv
bS9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dApAQCAt
NTI5LDYgKzUyOSw1MSBAQCBQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NG
aWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQogUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUu
Y3NzVGV4dCkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVy
LWJveCknCiBQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1
ZS5DU1NfRklMVEVSX1NFUElBCiBQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBp
cyAnc2VwaWEoMSknCisKK0N1c3RvbSB3aXRoIGFycmF5KCkgbWFkZSB1cCBvZiB0aHJlZSB2YWx1
ZXMgOiBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgYTEgYXJyYXkoMSwgMiwgMykp
CitQQVNTIHJlbW92ZUJhc2VVUkwoZmlsdGVyU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1maWx0ZXInKSkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmls
dGVyLWJveCwgYTEgYXJyYXkoMSwgMiwgMykpJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJS
dWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9f
cHJvdG9fXykgaXMgJ0NTU1ZhbHVlTGlzdFByb3RvdHlwZScKK1BBU1MganNXcmFwcGVyQ2xhc3Mo
ZmlsdGVyUnVsZS5jb25zdHJ1Y3RvcikgaXMgJ0NTU1ZhbHVlTGlzdENvbnN0cnVjdG9yJworUEFT
UyBmaWx0ZXJSdWxlLmxlbmd0aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBX
ZWJLaXRDU1NGaWx0ZXJWYWx1ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyByZW1vdmVCYXNlVVJM
KHN1YlJ1bGUuY3NzVGV4dCkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAx
IDEgZmlsdGVyLWJveCwgYTEgYXJyYXkoMSwgMiwgMykpJworCitDdXN0b20gd2l0aCBhcnJheSgp
IG1hZGUgdXAgb2YgdGhyZWUgZmxvYXRpbmcgcG9pbnQgdmFsdWVzIDogY3VzdG9tKG5vbmUgdXJs
KGZyYWdtZW50LnNoYWRlciksIGExIGFycmF5KDEuNjE4MCwgLTIuNzE4MiwgMy4xNDE1KSkKK1BB
U1MgcmVtb3ZlQmFzZVVSTChmaWx0ZXJTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZp
bHRlcicpKSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXIt
Ym94LCBhMSBhcnJheSgxLjYxOCwgLTIuNzE4MiwgMy4xNDE1KSknCitQQVNTIGpzV3JhcHBlckNs
YXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitQQVNTIGpzV3JhcHBlckNsYXNzKGZp
bHRlclJ1bGUuX19wcm90b19fKSBpcyAnQ1NTVmFsdWVMaXN0UHJvdG90eXBlJworUEFTUyBqc1dy
YXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBpcyAnQ1NTVmFsdWVMaXN0Q29uc3Ry
dWN0b3InCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEKK1BBU1Mgc3ViUnVsZS5vcGVyYXRp
b25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQ1VTVE9NCitQQVNTIHJl
bW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50
LnNoYWRlciksIDEgMSBmaWx0ZXItYm94LCBhMSBhcnJheSgxLjYxOCwgLTIuNzE4MiwgMy4xNDE1
KSknCisKK0N1c3RvbSB3aXRoIGFycmF5KCkgbWFkZSB1cCBvZiBzZXZlcmFsIGZsb2F0aW5nIHBv
aW50IGFuZCBpbnRlZ2VyIHZhbHVlcyA6IGN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIp
LCBhMSBhcnJheSgxLjYxODAsIDEsIC0yLjcxODIsIDAuMSwgMy4xNDE1KSkKK1BBU1MgcmVtb3Zl
QmFzZVVSTChmaWx0ZXJTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpKSBp
cyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXItYm94LCBhMSBh
cnJheSgxLjYxOCwgMSwgLTIuNzE4MiwgMC4xLCAzLjE0MTUpKScKK1BBU1MganNXcmFwcGVyQ2xh
c3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmls
dGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3Jh
cHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1
Y3RvcicKK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlv
blR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1MgcmVt
b3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQu
c2hhZGVyKSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5KDEuNjE4LCAxLCAtMi43MTgyLCAwLjEs
IDMuMTQxNSkpJworCitDdXN0b20gd2l0aCBhcnJheSgpIG1hZGUgdXAgb2YgMjQ3IGRpZmZlcmVu
dCBmbG9hdGluZyBwb2ludCB2YWx1ZXMgOiBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVy
KSwgYTEgYXJyYXkoNi4wMCwgMzguNTgsIDQwLjE0LCAzNC4wMywgODMuMzMsIDI0LjE4LCA2OC4z
NywgMTUuODcsIDU2LjU2LCA3My4yMSwgOTkuMDUsIDI0LjY0LCA2LjM5LCA2OS4zNCwgOTEuMTks
IDI3Ljk4LCAzNy41MiwgNjAuNzEsIDIxLjk0LCA2Mi43MCwgNzcuOTYsIDY3LjI3LCAyLjc1LCAy
OC4xNiwgOC44OCwgMTEuNjEsIDM0Ljg5LCA0NS43NSwgNTQuNTUsIDM1LjA0LCA2LjEzLCA2OS42
OCwgODEuMjEsIDQ5LjQ0LCA1NC43NCwgMjYuNzQsIDkxLjQ5LCA2OC4yMCwgODQuMDUsIDY1Ljgx
LCA1Ny44OSwgNzMuMjIsIDEzLjg3LCA3MS43MywgMTguNjEsIDguNTQsIDkuNzksIDI4LjA1LCAx
NC4xMSwgNjkuOTMsIDQ3LjE5LCAxMC40OCwgODEuMzUsIDM3LjE1LCAxOS4yOSwgMTQuOTgsIDMy
LjU0LCA5OC45NiwgNjkuMzcsIDkyLjI2LCAzNC42NCwgNjcuNDMsIDcxLjkyLCA0NS41MiwgOS4y
MiwgNDEuOTYsIDMxLjI2LCA5Mi42NSwgMzUuMDIsIDM5LjAwLCA3Ni43NiwgMjkuMzMsIDIyLjkz
LCA4MC42NSwgNzAuNzgsIDQyLjk0LCAyNy43MiwgMjguMTksIDc1LjE1LCAxOC4xNCwgODkuNzEs
IDk1LjM4LCA1NC41MSwgMzYuOTMsIDk4LjQ1LCA4Ny41OCwgNDQuNTEsIDcxLjczLCA3NS43MSwg
NzAuNDMsIDc4LjUxLCA4Mi4xOSwgMzEuNzMsIDIuOTAsIDguMjMsIDkzLjc0LCAzMS4yNiwgODQu
NzMsIDYuNDgsIDQxLjk2LCA3NS43MiwgNTMuOTYsIDM1LjA2LCA2Ny41MCwgNzYuNjIsIDM1LjAy
LCAxLjYyLCAxMy4wNSwgMzMuNTksIDI2Ljg5LCAzNi45NCwgNzQuMTMsIDk1LjA5LCA1Ni44Nywg
NDYuMDEsIDExLjk0LCAxMi45MiwgNDguODgsIDExLjAzLCAyNC44MCwgNjguMDYsIDE5LjgzLCAx
Mi45OCwgNDEuNTYsIDYyLjAzLCA4MC4zNSwgNDEuMTAsIDUuMzEsIDQzLjk2LCA5LjAyLCA5Mi4z
MiwgMzQuNTAsIDg4LjQxLCA5MC4zNCwgOTcuNjIsIDU4LjcwLCAyMy42MiwgMTMuMDMsIDg1LjQx
LCAyOS43MywgMzAuMjEsIDU5LjI1LCA5MS4yMiwgNzguMjEsIDYyLjMwLCA2MC45MywgMzMuMjYs
IDE2LjEzLCA5NS42MSwgNzguNjIsIDk3LjQyLCA5Ni40MiwgMzguMDQsIDguNDksIDQ1LjQ3LCA2
OC43MywgMTguMjAsIDI2LjY1LCA3OC4zOSwgOTUuMjYsIDY2LjgwLCAzNC40MSwgMTAuNjksIDk0
LjQzLCA3MS42OSwgNC41OCwgMjMuODcsIDYxLjAxLCA5NS42OCwgOC41MSwgMTQuOTIsIDE2LjI3
LCAzMC40MSwgMS40MCwgMTIuMzUsIDk5LjM5LCA1LjgwLCA2OC4xMCwgNzMuODcsIDI4LjM2LCAy
NC45OCwgNzcuNTgsIDguNzMsIDM0LjA4LCA1NC40NSwgODcuNjQsIDM2LjE0LCA3NC42OCwgMzgu
MDQsIDU2LjU0LCA0Ni40MiwgMTIuNDAsIDUuOTAsIDE1LjcwLCAxMC44OCwgNTUuODIsIDg0LjY2
LCA3NS43NCwgODcuOTIsIDU5LjAzLCA2MC4zMCwgNC4zMiwgNy4wNSwgMy4zNCwgOS44NywgNjQu
NTEsIDQuNjAsIDU0LjE2LCA0OC44MCwgNDYuOTMsIDUuODQsIDkwLjM0LCA3NS40OCwgMzIuNTks
IDI5LjY1LCA5NC41NywgMjguMjIsIDkzLjcwLCAyMy43OSwgODkuNTcsIDE0Ljg0LCA3OS41OCwg
NjIuMjksIDU4Ljc2LCAyOS40MywgMTkuMTYsIDQ0LjQ3LCAzOC4zMSwgNDQuNzcsIDQyLjY2LCA4
OC44NSwgNzQuOTYsIDI0LjA3LCAzNy43NSwgNDEuNjUsIDYyLjM1LCA5MC40MCwgNDAuNzcsIDUz
LjkzLCA4MC4yMywgODQuNDksIDIwLjE4LCA0NS4zNiwgMjYuMDIsIDkzLjcyLCA2NS41NCwgMzIu
ODYpKQorUEFTUyByZW1vdmVCYXNlVVJMKGZpbHRlclN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZmlsdGVyJykpIGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAx
IGZpbHRlci1ib3gsIGExIGFycmF5KDYsIDM4LjU4LCA0MC4xNCwgMzQuMDMsIDgzLjMzLCAyNC4x
OCwgNjguMzcsIDE1Ljg3LCA1Ni41NiwgNzMuMjEsIDk5LjA1LCAyNC42NCwgNi4zOSwgNjkuMzQs
IDkxLjE5LCAyNy45OCwgMzcuNTIsIDYwLjcxLCAyMS45NCwgNjIuNywgNzcuOTYsIDY3LjI3LCAy
Ljc1LCAyOC4xNiwgOC44OCwgMTEuNjEsIDM0Ljg5LCA0NS43NSwgNTQuNTUsIDM1LjA0LCA2LjEz
LCA2OS42OCwgODEuMjEsIDQ5LjQ0LCA1NC43NCwgMjYuNzQsIDkxLjQ5LCA2OC4yLCA4NC4wNSwg
NjUuODEsIDU3Ljg5LCA3My4yMiwgMTMuODcsIDcxLjczLCAxOC42MSwgOC41NCwgOS43OSwgMjgu
MDUsIDE0LjExLCA2OS45MywgNDcuMTksIDEwLjQ4LCA4MS4zNSwgMzcuMTUsIDE5LjI5LCAxNC45
OCwgMzIuNTQsIDk4Ljk2LCA2OS4zNywgOTIuMjYsIDM0LjY0LCA2Ny40MywgNzEuOTIsIDQ1LjUy
LCA5LjIyLCA0MS45NiwgMzEuMjYsIDkyLjY1LCAzNS4wMiwgMzksIDc2Ljc2LCAyOS4zMywgMjIu
OTMsIDgwLjY1LCA3MC43OCwgNDIuOTQsIDI3LjcyLCAyOC4xOSwgNzUuMTUsIDE4LjE0LCA4OS43
MSwgOTUuMzgsIDU0LjUxLCAzNi45MywgOTguNDUsIDg3LjU4LCA0NC41MSwgNzEuNzMsIDc1Ljcx
LCA3MC40MywgNzguNTEsIDgyLjE5LCAzMS43MywgMi45LCA4LjIzLCA5My43NCwgMzEuMjYsIDg0
LjczLCA2LjQ4LCA0MS45NiwgNzUuNzIsIDUzLjk2LCAzNS4wNiwgNjcuNSwgNzYuNjIsIDM1LjAy
LCAxLjYyLCAxMy4wNSwgMzMuNTksIDI2Ljg5LCAzNi45NCwgNzQuMTMsIDk1LjA5LCA1Ni44Nywg
NDYuMDEsIDExLjk0LCAxMi45MiwgNDguODgsIDExLjAzLCAyNC44LCA2OC4wNiwgMTkuODMsIDEy
Ljk4LCA0MS41NiwgNjIuMDMsIDgwLjM1LCA0MS4xLCA1LjMxLCA0My45NiwgOS4wMiwgOTIuMzIs
IDM0LjUsIDg4LjQxLCA5MC4zNCwgOTcuNjIsIDU4LjcsIDIzLjYyLCAxMy4wMywgODUuNDEsIDI5
LjczLCAzMC4yMSwgNTkuMjUsIDkxLjIyLCA3OC4yMSwgNjIuMywgNjAuOTMsIDMzLjI2LCAxNi4x
MywgOTUuNjEsIDc4LjYyLCA5Ny40MiwgOTYuNDIsIDM4LjA0LCA4LjQ5LCA0NS40NywgNjguNzMs
IDE4LjIsIDI2LjY1LCA3OC4zOSwgOTUuMjYsIDY2LjgsIDM0LjQxLCAxMC42OSwgOTQuNDMsIDcx
LjY5LCA0LjU4LCAyMy44NywgNjEuMDEsIDk1LjY4LCA4LjUxLCAxNC45MiwgMTYuMjcsIDMwLjQx
LCAxLjQsIDEyLjM1LCA5OS4zOSwgNS44LCA2OC4xLCA3My44NywgMjguMzYsIDI0Ljk4LCA3Ny41
OCwgOC43MywgMzQuMDgsIDU0LjQ1LCA4Ny42NCwgMzYuMTQsIDc0LjY4LCAzOC4wNCwgNTYuNTQs
IDQ2LjQyLCAxMi40LCA1LjksIDE1LjcsIDEwLjg4LCA1NS44MiwgODQuNjYsIDc1Ljc0LCA4Ny45
MiwgNTkuMDMsIDYwLjMsIDQuMzIsIDcuMDUsIDMuMzQsIDkuODcsIDY0LjUxLCA0LjYsIDU0LjE2
LCA0OC44LCA0Ni45MywgNS44NCwgOTAuMzQsIDc1LjQ4LCAzMi41OSwgMjkuNjUsIDk0LjU3LCAy
OC4yMiwgOTMuNywgMjMuNzksIDg5LjU3LCAxNC44NCwgNzkuNTgsIDYyLjI5LCA1OC43NiwgMjku
NDMsIDE5LjE2LCA0NC40NywgMzguMzEsIDQ0Ljc3LCA0Mi42NiwgODguODUsIDc0Ljk2LCAyNC4w
NywgMzcuNzUsIDQxLjY1LCA2Mi4zNSwgOTAuNCwgNDAuNzcsIDUzLjkzLCA4MC4yMywgODQuNDks
IDIwLjE4LCA0NS4zNiwgMjYuMDIsIDkzLjcyLCA2NS41NCwgMzIuODYpKScKK1BBU1MganNXcmFw
cGVyQ2xhc3MoZmlsdGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xh
c3MoZmlsdGVyUnVsZS5fX3Byb3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNT
IGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RD
b25zdHJ1Y3RvcicKK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9w
ZXJhdGlvblR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BB
U1MgcmVtb3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdjdXN0b20obm9uZSB1cmwoZnJh
Z21lbnQuc2hhZGVyKSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5KDYsIDM4LjU4LCA0MC4xNCwg
MzQuMDMsIDgzLjMzLCAyNC4xOCwgNjguMzcsIDE1Ljg3LCA1Ni41NiwgNzMuMjEsIDk5LjA1LCAy
NC42NCwgNi4zOSwgNjkuMzQsIDkxLjE5LCAyNy45OCwgMzcuNTIsIDYwLjcxLCAyMS45NCwgNjIu
NywgNzcuOTYsIDY3LjI3LCAyLjc1LCAyOC4xNiwgOC44OCwgMTEuNjEsIDM0Ljg5LCA0NS43NSwg
NTQuNTUsIDM1LjA0LCA2LjEzLCA2OS42OCwgODEuMjEsIDQ5LjQ0LCA1NC43NCwgMjYuNzQsIDkx
LjQ5LCA2OC4yLCA4NC4wNSwgNjUuODEsIDU3Ljg5LCA3My4yMiwgMTMuODcsIDcxLjczLCAxOC42
MSwgOC41NCwgOS43OSwgMjguMDUsIDE0LjExLCA2OS45MywgNDcuMTksIDEwLjQ4LCA4MS4zNSwg
MzcuMTUsIDE5LjI5LCAxNC45OCwgMzIuNTQsIDk4Ljk2LCA2OS4zNywgOTIuMjYsIDM0LjY0LCA2
Ny40MywgNzEuOTIsIDQ1LjUyLCA5LjIyLCA0MS45NiwgMzEuMjYsIDkyLjY1LCAzNS4wMiwgMzks
IDc2Ljc2LCAyOS4zMywgMjIuOTMsIDgwLjY1LCA3MC43OCwgNDIuOTQsIDI3LjcyLCAyOC4xOSwg
NzUuMTUsIDE4LjE0LCA4OS43MSwgOTUuMzgsIDU0LjUxLCAzNi45MywgOTguNDUsIDg3LjU4LCA0
NC41MSwgNzEuNzMsIDc1LjcxLCA3MC40MywgNzguNTEsIDgyLjE5LCAzMS43MywgMi45LCA4LjIz
LCA5My43NCwgMzEuMjYsIDg0LjczLCA2LjQ4LCA0MS45NiwgNzUuNzIsIDUzLjk2LCAzNS4wNiwg
NjcuNSwgNzYuNjIsIDM1LjAyLCAxLjYyLCAxMy4wNSwgMzMuNTksIDI2Ljg5LCAzNi45NCwgNzQu
MTMsIDk1LjA5LCA1Ni44NywgNDYuMDEsIDExLjk0LCAxMi45MiwgNDguODgsIDExLjAzLCAyNC44
LCA2OC4wNiwgMTkuODMsIDEyLjk4LCA0MS41NiwgNjIuMDMsIDgwLjM1LCA0MS4xLCA1LjMxLCA0
My45NiwgOS4wMiwgOTIuMzIsIDM0LjUsIDg4LjQxLCA5MC4zNCwgOTcuNjIsIDU4LjcsIDIzLjYy
LCAxMy4wMywgODUuNDEsIDI5LjczLCAzMC4yMSwgNTkuMjUsIDkxLjIyLCA3OC4yMSwgNjIuMywg
NjAuOTMsIDMzLjI2LCAxNi4xMywgOTUuNjEsIDc4LjYyLCA5Ny40MiwgOTYuNDIsIDM4LjA0LCA4
LjQ5LCA0NS40NywgNjguNzMsIDE4LjIsIDI2LjY1LCA3OC4zOSwgOTUuMjYsIDY2LjgsIDM0LjQx
LCAxMC42OSwgOTQuNDMsIDcxLjY5LCA0LjU4LCAyMy44NywgNjEuMDEsIDk1LjY4LCA4LjUxLCAx
NC45MiwgMTYuMjcsIDMwLjQxLCAxLjQsIDEyLjM1LCA5OS4zOSwgNS44LCA2OC4xLCA3My44Nywg
MjguMzYsIDI0Ljk4LCA3Ny41OCwgOC43MywgMzQuMDgsIDU0LjQ1LCA4Ny42NCwgMzYuMTQsIDc0
LjY4LCAzOC4wNCwgNTYuNTQsIDQ2LjQyLCAxMi40LCA1LjksIDE1LjcsIDEwLjg4LCA1NS44Miwg
ODQuNjYsIDc1Ljc0LCA4Ny45MiwgNTkuMDMsIDYwLjMsIDQuMzIsIDcuMDUsIDMuMzQsIDkuODcs
IDY0LjUxLCA0LjYsIDU0LjE2LCA0OC44LCA0Ni45MywgNS44NCwgOTAuMzQsIDc1LjQ4LCAzMi41
OSwgMjkuNjUsIDk0LjU3LCAyOC4yMiwgOTMuNywgMjMuNzksIDg5LjU3LCAxNC44NCwgNzkuNTgs
IDYyLjI5LCA1OC43NiwgMjkuNDMsIDE5LjE2LCA0NC40NywgMzguMzEsIDQ0Ljc3LCA0Mi42Niwg
ODguODUsIDc0Ljk2LCAyNC4wNywgMzcuNzUsIDQxLjY1LCA2Mi4zNSwgOTAuNCwgNDAuNzcsIDUz
LjkzLCA4MC4yMywgODQuNDksIDIwLjE4LCA0NS4zNiwgMjYuMDIsIDkzLjcyLCA2NS41NCwgMzIu
ODYpKScKKworQ3VzdG9tIHdpdGggdHdvIGFycmF5KCkgbWFkZSB1cCBvZiB0aHJlZSBhbmQgc2l4
IHZhbHVlcyA6IGN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBhMSBhcnJheSgxLCAy
LCAzKSwgYTIgYXJyYXkoMSwgMiwgMywgNCwgNSwgNikpCitQQVNTIHJlbW92ZUJhc2VVUkwoZmls
dGVyU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSkgaXMgJ2N1c3RvbShu
b25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEgYXJyYXkoMSwgMiwg
MyksIGEyIGFycmF5KDEsIDIsIDMsIDQsIDUsIDYpKScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmls
dGVyUnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVs
ZS5fX3Byb3RvX18pIGlzICdDU1NWYWx1ZUxpc3RQcm90b3R5cGUnCitQQVNTIGpzV3JhcHBlckNs
YXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIGlzICdDU1NWYWx1ZUxpc3RDb25zdHJ1Y3RvcicK
K1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUg
aXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1MgcmVtb3ZlQmFz
ZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVy
KSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5KDEsIDIsIDMpLCBhMiBhcnJheSgxLCAyLCAzLCA0
LCA1LCA2KSknCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExF
VEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZp
bHRlci1wcm9wZXJ0eS1wYXJzaW5nLWludmFsaWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
Y3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxp
ZC1leHBlY3RlZC50eHQKaW5kZXggNDJjZjdjOGU4ZDAyMGMyOTU2YTkxMWY0MjkwOTA4NWVhYzYz
ODU1Yy4uMTEwZjViNDE5OTk1MjMwOTc5NGRmMzFlYzQ5N2MzZTViYzVlNTQ5MiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXByb3BlcnR5
LXBhcnNpbmctaW52YWxpZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0
ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC1leHBlY3Rl
ZC50eHQKQEAgLTM2OSw2ICszNjksMTYgQEAgUEFTUyBjc3NSdWxlLnR5cGUgaXMgMQogUEFTUyBk
ZWNsYXJhdGlvbi5sZW5ndGggaXMgMAogUEFTUyBkZWNsYXJhdGlvbi5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWZpbHRlcicpIGlzIG51bGwKIAorTmFOIGluIGFycmF5KCkgOiBjdXN0b20obm9u
ZSB1cmwoc2hhZGVyKSwgaWQgYXJyYXkoTmFOKSkKK1BBU1MgY3NzUnVsZS50eXBlIGlzIDEKK1BB
U1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1MgZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisKK05hTiBhbmQgdmFsdWVzIGluIGFycmF5
KCkgOiBjdXN0b20obm9uZSB1cmwoc2hhZGVyKSwgaWQgYXJyYXkoMSwgMiwgTmFOLCAzKSkKK1BB
U1MgY3NzUnVsZS50eXBlIGlzIDEKK1BBU1MgZGVjbGFyYXRpb24ubGVuZ3RoIGlzIDAKK1BBU1Mg
ZGVjbGFyYXRpb24uZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSBpcyBudWxsCisK
IEludmFsaWQgdW5pdCB2YWx1ZSBpbiBhcnJheSgpIDogY3VzdG9tKG5vbmUgdXJsKHNoYWRlciks
IGlkIGFycmF5KDFweCkpCiBQQVNTIGNzc1J1bGUudHlwZSBpcyAxCiBQQVNTIGRlY2xhcmF0aW9u
Lmxlbmd0aCBpcyAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvcmVzb3Vy
Y2VzL2ZyYWdtZW50LWNvbG9yLmZzIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Jlc291cmNl
cy9mcmFnbWVudC1jb2xvci5mcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMWJkNzI3OTk1NmNmZWM5N2U5MzQ3N2Zi
ZGZkZDA2M2E4NDJhNjhjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY3NzMy9maWx0
ZXJzL3Jlc291cmNlcy9mcmFnbWVudC1jb2xvci5mcwpAQCAtMCwwICsxLDcgQEAKK3ByZWNpc2lv
biBtZWRpdW1wIGZsb2F0OwordW5pZm9ybSBmbG9hdCBjb2xvckFycmF5WzRdOworCit2b2lkIG1h
aW4oKQoreworICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQoY29sb3JBcnJheVswXSwgY29sb3JBcnJh
eVsxXSwgY29sb3JBcnJheVsyXSwgY29sb3JBcnJheVszXSk7Cit9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHkt
Y29tcHV0ZWQtc3R5bGUuanMgYi9MYXlvdXRUZXN0cy9jc3MzL2ZpbHRlcnMvc2NyaXB0LXRlc3Rz
L2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29tcHV0ZWQtc3R5bGUuanMKaW5kZXggMGVlZDUyMDQx
NmUxNWVjYTg3NDBlOWI3NmIyYjA4MTZkZTI1NDQwOC4uMTE4ZjYzMTI0OTMyNjdmNTY3YzVlZjc3
MGJlOGUwM2ZjNjlhNzRjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Nj
cmlwdC10ZXN0cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLmpzCisrKyBi
L0xheW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1wcm9w
ZXJ0eS1jb21wdXRlZC1zdHlsZS5qcwpAQCAtMTk5LDMgKzE5OSwyMyBAQCB0ZXN0RmlsdGVyUnVs
ZSgiTXVsdGlwbGUgd2l0aCBmcmFnbWVudCBzaGFkZXIiLAogICAgIFsiZ3JheXNjYWxlKDEpIiwK
ICAgICAiY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXItYm94KSIs
CiAgICAgInNlcGlhKDEpIl0pOworCit0ZXN0RmlsdGVyUnVsZSgiQ3VzdG9tIHdpdGggYXJyYXko
KSBtYWRlIHVwIG9mIHRocmVlIHZhbHVlcyIsCisgICAgICAgICAgICAiY3VzdG9tKG5vbmUgdXJs
KGZyYWdtZW50LnNoYWRlciksIGExIGFycmF5KDEsIDIsIDMpKSIsCisgICAgICAgICAgICAiY3Vz
dG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXItYm94LCBhMSBhcnJheSgx
LCAyLCAzKSkiKTsKKwordGVzdEZpbHRlclJ1bGUoIkN1c3RvbSB3aXRoIGFycmF5KCkgbWFkZSB1
cCBvZiB0aHJlZSBmbG9hdGluZyBwb2ludCB2YWx1ZXMiLAorICAgICAgICAgICAgImN1c3RvbShu
b25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBhMSBhcnJheSgxLjYxODAsIC0yLjcxODIsIDMuMTQx
NSkpIiwKKyAgICAgICAgICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAx
IGZpbHRlci1ib3gsIGExIGFycmF5KDEuNjE4LCAtMi43MTgyLCAzLjE0MTUpKSIpOworCit0ZXN0
RmlsdGVyUnVsZSgiQ3VzdG9tIHdpdGggYXJyYXkoKSBtYWRlIHVwIG9mIHNldmVyYWwgZmxvYXRp
bmcgcG9pbnQgYW5kIGludGVnZXIgdmFsdWVzIiwKKyAgICAgICAgICAgICJjdXN0b20obm9uZSB1
cmwoZnJhZ21lbnQuc2hhZGVyKSwgYTEgYXJyYXkoMS42MTgwLCAxLCAtMi43MTgyLCAwLjEsIDMu
MTQxNSkpIiwKKyAgICAgICAgICAgICJjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwg
MSAxIGZpbHRlci1ib3gsIGExIGFycmF5KDEuNjE4LCAxLCAtMi43MTgyLCAwLjEsIDMuMTQxNSkp
Iik7CisKK3Rlc3RGaWx0ZXJSdWxlKCJDdXN0b20gd2l0aCBhcnJheSgpIG1hZGUgdXAgb2YgMjQ3
IGRpZmZlcmVudCBmbG9hdGluZyBwb2ludCB2YWx1ZXMiLAorICAgICAgICAgICAgImN1c3RvbShu
b25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBhMSBhcnJheSg2LjAwLCAzOC41OCwgNDAuMTQsIDM0
LjAzLCA4My4zMywgMjQuMTgsIDY4LjM3LCAxNS44NywgNTYuNTYsIDczLjIxLCA5OS4wNSwgMjQu
NjQsIDYuMzksIDY5LjM0LCA5MS4xOSwgMjcuOTgsIDM3LjUyLCA2MC43MSwgMjEuOTQsIDYyLjcw
LCA3Ny45NiwgNjcuMjcsIDIuNzUsIDI4LjE2LCA4Ljg4LCAxMS42MSwgMzQuODksIDQ1Ljc1LCA1
NC41NSwgMzUuMDQsIDYuMTMsIDY5LjY4LCA4MS4yMSwgNDkuNDQsIDU0Ljc0LCAyNi43NCwgOTEu
NDksIDY4LjIwLCA4NC4wNSwgNjUuODEsIDU3Ljg5LCA3My4yMiwgMTMuODcsIDcxLjczLCAxOC42
MSwgOC41NCwgOS43OSwgMjguMDUsIDE0LjExLCA2OS45MywgNDcuMTksIDEwLjQ4LCA4MS4zNSwg
MzcuMTUsIDE5LjI5LCAxNC45OCwgMzIuNTQsIDk4Ljk2LCA2OS4zNywgOTIuMjYsIDM0LjY0LCA2
Ny40MywgNzEuOTIsIDQ1LjUyLCA5LjIyLCA0MS45NiwgMzEuMjYsIDkyLjY1LCAzNS4wMiwgMzku
MDAsIDc2Ljc2LCAyOS4zMywgMjIuOTMsIDgwLjY1LCA3MC43OCwgNDIuOTQsIDI3LjcyLCAyOC4x
OSwgNzUuMTUsIDE4LjE0LCA4OS43MSwgOTUuMzgsIDU0LjUxLCAzNi45MywgOTguNDUsIDg3LjU4
LCA0NC41MSwgNzEuNzMsIDc1LjcxLCA3MC40MywgNzguNTEsIDgyLjE5LCAzMS43MywgMi45MCwg
OC4yMywgOTMuNzQsIDMxLjI2LCA4NC43MywgNi40OCwgNDEuOTYsIDc1LjcyLCA1My45NiwgMzUu
MDYsIDY3LjUwLCA3Ni42MiwgMzUuMDIsIDEuNjIsIDEzLjA1LCAzMy41OSwgMjYuODksIDM2Ljk0
LCA3NC4xMywgOTUuMDksIDU2Ljg3LCA0Ni4wMSwgMTEuOTQsIDEyLjkyLCA0OC44OCwgMTEuMDMs
IDI0LjgwLCA2OC4wNiwgMTkuODMsIDEyLjk4LCA0MS41NiwgNjIuMDMsIDgwLjM1LCA0MS4xMCwg
NS4zMSwgNDMuOTYsIDkuMDIsIDkyLjMyLCAzNC41MCwgODguNDEsIDkwLjM0LCA5Ny42MiwgNTgu
NzAsIDIzLjYyLCAxMy4wMywgODUuNDEsIDI5LjczLCAzMC4yMSwgNTkuMjUsIDkxLjIyLCA3OC4y
MSwgNjIuMzAsIDYwLjkzLCAzMy4yNiwgMTYuMTMsIDk1LjYxLCA3OC42MiwgOTcuNDIsIDk2LjQy
LCAzOC4wNCwgOC40OSwgNDUuNDcsIDY4LjczLCAxOC4yMCwgMjYuNjUsIDc4LjM5LCA5NS4yNiwg
NjYuODAsIDM0LjQxLCAxMC42OSwgOTQuNDMsIDcxLjY5LCA0LjU4LCAyMy44NywgNjEuMDEsIDk1
LjY4LCA4LjUxLCAxNC45MiwgMTYuMjcsIDMwLjQxLCAxLjQwLCAxMi4zNSwgOTkuMzksIDUuODAs
IDY4LjEwLCA3My44NywgMjguMzYsIDI0Ljk4LCA3Ny41OCwgOC43MywgMzQuMDgsIDU0LjQ1LCA4
Ny42NCwgMzYuMTQsIDc0LjY4LCAzOC4wNCwgNTYuNTQsIDQ2LjQyLCAxMi40MCwgNS45MCwgMTUu
NzAsIDEwLjg4LCA1NS44MiwgODQuNjYsIDc1Ljc0LCA4Ny45MiwgNTkuMDMsIDYwLjMwLCA0LjMy
LCA3LjA1LCAzLjM0LCA5Ljg3LCA2NC41MSwgNC42MCwgNTQuMTYsIDQ4LjgwLCA0Ni45MywgNS44
NCwgOTAuMzQsIDc1LjQ4LCAzMi41OSwgMjkuNjUsIDk0LjU3LCAyOC4yMiwgOTMuNzAsIDIzLjc5
LCA4OS41NywgMTQuODQsIDc5LjU4LCA2Mi4yOSwgNTguNzYsIDI5LjQzLCAxOS4xNiwgNDQuNDcs
IDM4LjMxLCA0NC43NywgNDIuNjYsIDg4Ljg1LCA3NC45NiwgMjQuMDcsIDM3Ljc1LCA0MS42NSwg
NjIuMzUsIDkwLjQwLCA0MC43NywgNTMuOTMsIDgwLjIzLCA4NC40OSwgMjAuMTgsIDQ1LjM2LCAy
Ni4wMiwgOTMuNzIsIDY1LjU0LCAzMi44NikpIiwKKyAgICAgICAgICAgICJjdXN0b20obm9uZSB1
cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5KDYsIDM4LjU4LCA0
MC4xNCwgMzQuMDMsIDgzLjMzLCAyNC4xOCwgNjguMzcsIDE1Ljg3LCA1Ni41NiwgNzMuMjEsIDk5
LjA1LCAyNC42NCwgNi4zOSwgNjkuMzQsIDkxLjE5LCAyNy45OCwgMzcuNTIsIDYwLjcxLCAyMS45
NCwgNjIuNywgNzcuOTYsIDY3LjI3LCAyLjc1LCAyOC4xNiwgOC44OCwgMTEuNjEsIDM0Ljg5LCA0
NS43NSwgNTQuNTUsIDM1LjA0LCA2LjEzLCA2OS42OCwgODEuMjEsIDQ5LjQ0LCA1NC43NCwgMjYu
NzQsIDkxLjQ5LCA2OC4yLCA4NC4wNSwgNjUuODEsIDU3Ljg5LCA3My4yMiwgMTMuODcsIDcxLjcz
LCAxOC42MSwgOC41NCwgOS43OSwgMjguMDUsIDE0LjExLCA2OS45MywgNDcuMTksIDEwLjQ4LCA4
MS4zNSwgMzcuMTUsIDE5LjI5LCAxNC45OCwgMzIuNTQsIDk4Ljk2LCA2OS4zNywgOTIuMjYsIDM0
LjY0LCA2Ny40MywgNzEuOTIsIDQ1LjUyLCA5LjIyLCA0MS45NiwgMzEuMjYsIDkyLjY1LCAzNS4w
MiwgMzksIDc2Ljc2LCAyOS4zMywgMjIuOTMsIDgwLjY1LCA3MC43OCwgNDIuOTQsIDI3LjcyLCAy
OC4xOSwgNzUuMTUsIDE4LjE0LCA4OS43MSwgOTUuMzgsIDU0LjUxLCAzNi45MywgOTguNDUsIDg3
LjU4LCA0NC41MSwgNzEuNzMsIDc1LjcxLCA3MC40MywgNzguNTEsIDgyLjE5LCAzMS43MywgMi45
LCA4LjIzLCA5My43NCwgMzEuMjYsIDg0LjczLCA2LjQ4LCA0MS45NiwgNzUuNzIsIDUzLjk2LCAz
NS4wNiwgNjcuNSwgNzYuNjIsIDM1LjAyLCAxLjYyLCAxMy4wNSwgMzMuNTksIDI2Ljg5LCAzNi45
NCwgNzQuMTMsIDk1LjA5LCA1Ni44NywgNDYuMDEsIDExLjk0LCAxMi45MiwgNDguODgsIDExLjAz
LCAyNC44LCA2OC4wNiwgMTkuODMsIDEyLjk4LCA0MS41NiwgNjIuMDMsIDgwLjM1LCA0MS4xLCA1
LjMxLCA0My45NiwgOS4wMiwgOTIuMzIsIDM0LjUsIDg4LjQxLCA5MC4zNCwgOTcuNjIsIDU4Ljcs
IDIzLjYyLCAxMy4wMywgODUuNDEsIDI5LjczLCAzMC4yMSwgNTkuMjUsIDkxLjIyLCA3OC4yMSwg
NjIuMywgNjAuOTMsIDMzLjI2LCAxNi4xMywgOTUuNjEsIDc4LjYyLCA5Ny40MiwgOTYuNDIsIDM4
LjA0LCA4LjQ5LCA0NS40NywgNjguNzMsIDE4LjIsIDI2LjY1LCA3OC4zOSwgOTUuMjYsIDY2Ljgs
IDM0LjQxLCAxMC42OSwgOTQuNDMsIDcxLjY5LCA0LjU4LCAyMy44NywgNjEuMDEsIDk1LjY4LCA4
LjUxLCAxNC45MiwgMTYuMjcsIDMwLjQxLCAxLjQsIDEyLjM1LCA5OS4zOSwgNS44LCA2OC4xLCA3
My44NywgMjguMzYsIDI0Ljk4LCA3Ny41OCwgOC43MywgMzQuMDgsIDU0LjQ1LCA4Ny42NCwgMzYu
MTQsIDc0LjY4LCAzOC4wNCwgNTYuNTQsIDQ2LjQyLCAxMi40LCA1LjksIDE1LjcsIDEwLjg4LCA1
NS44MiwgODQuNjYsIDc1Ljc0LCA4Ny45MiwgNTkuMDMsIDYwLjMsIDQuMzIsIDcuMDUsIDMuMzQs
IDkuODcsIDY0LjUxLCA0LjYsIDU0LjE2LCA0OC44LCA0Ni45MywgNS44NCwgOTAuMzQsIDc1LjQ4
LCAzMi41OSwgMjkuNjUsIDk0LjU3LCAyOC4yMiwgOTMuNywgMjMuNzksIDg5LjU3LCAxNC44NCwg
NzkuNTgsIDYyLjI5LCA1OC43NiwgMjkuNDMsIDE5LjE2LCA0NC40NywgMzguMzEsIDQ0Ljc3LCA0
Mi42NiwgODguODUsIDc0Ljk2LCAyNC4wNywgMzcuNzUsIDQxLjY1LCA2Mi4zNSwgOTAuNCwgNDAu
NzcsIDUzLjkzLCA4MC4yMywgODQuNDksIDIwLjE4LCA0NS4zNiwgMjYuMDIsIDkzLjcyLCA2NS41
NCwgMzIuODYpKSIpOworCit0ZXN0RmlsdGVyUnVsZSgiQ3VzdG9tIHdpdGggdHdvIGFycmF5KCkg
bWFkZSB1cCBvZiB0aHJlZSBhbmQgc2l4IHZhbHVlcyIsCisgICAgICAgICAgICAiY3VzdG9tKG5v
bmUgdXJsKGZyYWdtZW50LnNoYWRlciksIGExIGFycmF5KDEsIDIsIDMpLCBhMiBhcnJheSgxLCAy
LCAzLCA0LCA1LCA2KSkiLAorICAgICAgICAgICAgImN1c3RvbShub25lIHVybChmcmFnbWVudC5z
aGFkZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEgYXJyYXkoMSwgMiwgMyksIGEyIGFycmF5KDEsIDIs
IDMsIDQsIDUsIDYpKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3Nj
cmlwdC10ZXN0cy9jdXN0b20tZmlsdGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC5qcyBiL0xh
eW91dFRlc3RzL2NzczMvZmlsdGVycy9zY3JpcHQtdGVzdHMvY3VzdG9tLWZpbHRlci1wcm9wZXJ0
eS1wYXJzaW5nLWludmFsaWQuanMKaW5kZXggOWE1ZTg3YmI1ZTM5YzU3Y2ViYmQ5NzAxMWMzN2Y4
M2YwNDk2YTdkMC4uNjcxMWEwMWI5NzMwY2JlYTgyNTljNGZmY2MyOGIxMTA3NTFhYWJkMSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9maWx0ZXJzL3NjcmlwdC10ZXN0cy9jdXN0b20tZmls
dGVyLXByb3BlcnR5LXBhcnNpbmctaW52YWxpZC5qcworKysgYi9MYXlvdXRUZXN0cy9jc3MzL2Zp
bHRlcnMvc2NyaXB0LXRlc3RzL2N1c3RvbS1maWx0ZXItcHJvcGVydHktcGFyc2luZy1pbnZhbGlk
LmpzCkBAIC0xMDcsNiArMTA3LDggQEAgdGVzdEludmFsaWRGaWx0ZXJSdWxlKCJTZW1pY29sb24g
c2VwYXJhdGVkIHZhbHVlcyBpbiBhcnJheSgpIiwgImN1c3RvbShub25lIHVybCgKIHRlc3RJbnZh
bGlkRmlsdGVyUnVsZSgiU3BhY2Ugc2VwYXJhdGVkIHZhbHVlcyBpbiBhcnJheSgpIiwgImN1c3Rv
bShub25lIHVybChzaGFkZXIpLCBpZCBhcnJheSgxIDIgMyA0KSkiKTsKIHRlc3RJbnZhbGlkRmls
dGVyUnVsZSgiU3BhY2Ugc2VwYXJhdGVkIHZhbHVlcyB3aXRoIGNvbW1hIHRlcm1pbmF0b3IgaW4g
YXJyYXkoKSIsICJjdXN0b20obm9uZSB1cmwoc2hhZGVyKSwgaWQgYXJyYXkoMSAyIDMgNCwpKSIp
OwogdGVzdEludmFsaWRGaWx0ZXJSdWxlKCJTcGFjZSBzZXBhcmF0ZWQgdmFsdWVzIHdpdGggbGVh
ZGluZyBjb21tYSBpbiBhcnJheSgpIiwgImN1c3RvbShub25lIHVybChzaGFkZXIpLCBpZCBhcnJh
eSgsIDEgMiAzIDQpKSIpOwordGVzdEludmFsaWRGaWx0ZXJSdWxlKCJOYU4gaW4gYXJyYXkoKSIs
ICJjdXN0b20obm9uZSB1cmwoc2hhZGVyKSwgaWQgYXJyYXkoTmFOKSkiKTsKK3Rlc3RJbnZhbGlk
RmlsdGVyUnVsZSgiTmFOIGFuZCB2YWx1ZXMgaW4gYXJyYXkoKSIsICJjdXN0b20obm9uZSB1cmwo
c2hhZGVyKSwgaWQgYXJyYXkoMSwgMiwgTmFOLCAzKSkiKTsKIHRlc3RJbnZhbGlkRmlsdGVyUnVs
ZSgiSW52YWxpZCB1bml0IHZhbHVlIGluIGFycmF5KCkiLCAiY3VzdG9tKG5vbmUgdXJsKHNoYWRl
ciksIGlkIGFycmF5KDFweCkpIik7CiB0ZXN0SW52YWxpZEZpbHRlclJ1bGUoIkludmFsaWQgdW5p
dCB2YWx1ZSBpbiBhcnJheSgpLCBzZWNvbmQiLCAiY3VzdG9tKG5vbmUgdXJsKHNoYWRlciksIGlk
IGFycmF5KG5vbmUpKSIpOwogdGVzdEludmFsaWRGaWx0ZXJSdWxlKCJJbnZhbGlkIHVuaXQgdmFs
dWUgaW4gYXJyYXkoKSwgdGhpcmQiLCAiY3VzdG9tKG5vbmUgdXJsKHNoYWRlciksIGlkIGFycmF5
KDFkZWcpKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY3Nz
My9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXByb3BlcnR5LWNvbXB1dGVkLXN0eWxlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NzczMvZmlsdGVycy9j
dXN0b20vY3VzdG9tLWZpbHRlci1wcm9wZXJ0eS1jb21wdXRlZC1zdHlsZS1leHBlY3RlZC50eHQK
aW5kZXggZmY1ZWMyYjJhMmI4ODQ1NGJkODY0NjUwMDE5ZjRjNDEwNjA1NDQyNi4uZjE4N2ZmMDQ5
MjA0ZWQ1MWJjNDk3YjdmYTY4ZWFhODI4N2VhNGY3YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXByb3Bl
cnR5LWNvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9jc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItcHJvcGVydHktY29t
cHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CkBAIC01MjksNiArNTI5LDUxIEBAIFBBU1Mgc3ViUnVs
ZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQ1VTVE9N
CiBQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBpcyAnY3VzdG9tKG5vbmUgdXJs
KGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXItYm94KScKIFBBU1Mgc3ViUnVsZS5vcGVyYXRp
b25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfU0VQSUEKIFBBU1MgcmVt
b3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdzZXBpYSgxKScKKworQ3VzdG9tIHdpdGgg
YXJyYXkoKSBtYWRlIHVwIG9mIHRocmVlIHZhbHVlcyA6IGN1c3RvbShub25lIHVybChmcmFnbWVu
dC5zaGFkZXIpLCBhMSBhcnJheSgxLCAyLCAzKSkKK1BBU1MgcmVtb3ZlQmFzZVVSTChmaWx0ZXJT
dHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpKSBpcyAnY3VzdG9tKG5vbmUg
dXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXItYm94LCBhMSBhcnJheSgxLCAyLCAzKSkn
CitQQVNTIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitGQUlM
IGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuX19wcm90b19fKSBzaG91bGQgYmUgQ1NTVmFsdWVM
aXN0UHJvdG90eXBlLiBXYXMgT2JqZWN0LgorRkFJTCBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxl
LmNvbnN0cnVjdG9yKSBzaG91bGQgYmUgQ1NTVmFsdWVMaXN0Q29uc3RydWN0b3IuIFdhcyBGdW5j
dGlvbi4KK1BBU1MgZmlsdGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlv
blR5cGUgaXMgV2ViS2l0Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1MgcmVt
b3ZlQmFzZVVSTChzdWJSdWxlLmNzc1RleHQpIGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQu
c2hhZGVyKSwgMSAxIGZpbHRlci1ib3gsIGExIGFycmF5KDEsIDIsIDMpKScKKworQ3VzdG9tIHdp
dGggYXJyYXkoKSBtYWRlIHVwIG9mIHRocmVlIGZsb2F0aW5nIHBvaW50IHZhbHVlcyA6IGN1c3Rv
bShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBhMSBhcnJheSgxLjYxODAsIC0yLjcxODIsIDMu
MTQxNSkpCitQQVNTIHJlbW92ZUJhc2VVUkwoZmlsdGVyU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1maWx0ZXInKSkgaXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAx
IDEgZmlsdGVyLWJveCwgYTEgYXJyYXkoMS42MTgsIC0yLjcxODIsIDMuMTQxNSkpJworUEFTUyBq
c1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlKSBpcyAnQ1NTVmFsdWVMaXN0JworRkFJTCBqc1dyYXBw
ZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJvdG9fXykgc2hvdWxkIGJlIENTU1ZhbHVlTGlzdFByb3Rv
dHlwZS4gV2FzIE9iamVjdC4KK0ZBSUwganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1
Y3Rvcikgc2hvdWxkIGJlIENTU1ZhbHVlTGlzdENvbnN0cnVjdG9yLiBXYXMgRnVuY3Rpb24uCitQ
QVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEKK1BBU1Mgc3ViUnVsZS5vcGVyYXRpb25UeXBlIGlz
IFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJfQ1VTVE9NCitQQVNTIHJlbW92ZUJhc2VV
Ukwoc3ViUnVsZS5jc3NUZXh0KSBpcyAnY3VzdG9tKG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciks
IDEgMSBmaWx0ZXItYm94LCBhMSBhcnJheSgxLjYxOCwgLTIuNzE4MiwgMy4xNDE1KSknCisKK0N1
c3RvbSB3aXRoIGFycmF5KCkgbWFkZSB1cCBvZiBzZXZlcmFsIGZsb2F0aW5nIHBvaW50IGFuZCBp
bnRlZ2VyIHZhbHVlcyA6IGN1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBhMSBhcnJh
eSgxLjYxODAsIDEsIC0yLjcxODIsIDAuMSwgMy4xNDE1KSkKK1BBU1MgcmVtb3ZlQmFzZVVSTChm
aWx0ZXJTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWZpbHRlcicpKSBpcyAnY3VzdG9t
KG5vbmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXItYm94LCBhMSBhcnJheSgxLjYx
OCwgMSwgLTIuNzE4MiwgMC4xLCAzLjE0MTUpKScKK1BBU1MganNXcmFwcGVyQ2xhc3MoZmlsdGVy
UnVsZSkgaXMgJ0NTU1ZhbHVlTGlzdCcKK0ZBSUwganNXcmFwcGVyQ2xhc3MoZmlsdGVyUnVsZS5f
X3Byb3RvX18pIHNob3VsZCBiZSBDU1NWYWx1ZUxpc3RQcm90b3R5cGUuIFdhcyBPYmplY3QuCitG
QUlMIGpzV3JhcHBlckNsYXNzKGZpbHRlclJ1bGUuY29uc3RydWN0b3IpIHNob3VsZCBiZSBDU1NW
YWx1ZUxpc3RDb25zdHJ1Y3Rvci4gV2FzIEZ1bmN0aW9uLgorUEFTUyBmaWx0ZXJSdWxlLmxlbmd0
aCBpcyAxCitQQVNTIHN1YlJ1bGUub3BlcmF0aW9uVHlwZSBpcyBXZWJLaXRDU1NGaWx0ZXJWYWx1
ZS5DU1NfRklMVEVSX0NVU1RPTQorUEFTUyByZW1vdmVCYXNlVVJMKHN1YlJ1bGUuY3NzVGV4dCkg
aXMgJ2N1c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEg
YXJyYXkoMS42MTgsIDEsIC0yLjcxODIsIDAuMSwgMy4xNDE1KSknCisKK0N1c3RvbSB3aXRoIGFy
cmF5KCkgbWFkZSB1cCBvZiAyNDcgZGlmZmVyZW50IGZsb2F0aW5nIHBvaW50IHZhbHVlcyA6IGN1
c3RvbShub25lIHVybChmcmFnbWVudC5zaGFkZXIpLCBhMSBhcnJheSg2LjAwLCAzOC41OCwgNDAu
MTQsIDM0LjAzLCA4My4zMywgMjQuMTgsIDY4LjM3LCAxNS44NywgNTYuNTYsIDczLjIxLCA5OS4w
NSwgMjQuNjQsIDYuMzksIDY5LjM0LCA5MS4xOSwgMjcuOTgsIDM3LjUyLCA2MC43MSwgMjEuOTQs
IDYyLjcwLCA3Ny45NiwgNjcuMjcsIDIuNzUsIDI4LjE2LCA4Ljg4LCAxMS42MSwgMzQuODksIDQ1
Ljc1LCA1NC41NSwgMzUuMDQsIDYuMTMsIDY5LjY4LCA4MS4yMSwgNDkuNDQsIDU0Ljc0LCAyNi43
NCwgOTEuNDksIDY4LjIwLCA4NC4wNSwgNjUuODEsIDU3Ljg5LCA3My4yMiwgMTMuODcsIDcxLjcz
LCAxOC42MSwgOC41NCwgOS43OSwgMjguMDUsIDE0LjExLCA2OS45MywgNDcuMTksIDEwLjQ4LCA4
MS4zNSwgMzcuMTUsIDE5LjI5LCAxNC45OCwgMzIuNTQsIDk4Ljk2LCA2OS4zNywgOTIuMjYsIDM0
LjY0LCA2Ny40MywgNzEuOTIsIDQ1LjUyLCA5LjIyLCA0MS45NiwgMzEuMjYsIDkyLjY1LCAzNS4w
MiwgMzkuMDAsIDc2Ljc2LCAyOS4zMywgMjIuOTMsIDgwLjY1LCA3MC43OCwgNDIuOTQsIDI3Ljcy
LCAyOC4xOSwgNzUuMTUsIDE4LjE0LCA4OS43MSwgOTUuMzgsIDU0LjUxLCAzNi45MywgOTguNDUs
IDg3LjU4LCA0NC41MSwgNzEuNzMsIDc1LjcxLCA3MC40MywgNzguNTEsIDgyLjE5LCAzMS43Mywg
Mi45MCwgOC4yMywgOTMuNzQsIDMxLjI2LCA4NC43MywgNi40OCwgNDEuOTYsIDc1LjcyLCA1My45
NiwgMzUuMDYsIDY3LjUwLCA3Ni42MiwgMzUuMDIsIDEuNjIsIDEzLjA1LCAzMy41OSwgMjYuODks
IDM2Ljk0LCA3NC4xMywgOTUuMDksIDU2Ljg3LCA0Ni4wMSwgMTEuOTQsIDEyLjkyLCA0OC44OCwg
MTEuMDMsIDI0LjgwLCA2OC4wNiwgMTkuODMsIDEyLjk4LCA0MS41NiwgNjIuMDMsIDgwLjM1LCA0
MS4xMCwgNS4zMSwgNDMuOTYsIDkuMDIsIDkyLjMyLCAzNC41MCwgODguNDEsIDkwLjM0LCA5Ny42
MiwgNTguNzAsIDIzLjYyLCAxMy4wMywgODUuNDEsIDI5LjczLCAzMC4yMSwgNTkuMjUsIDkxLjIy
LCA3OC4yMSwgNjIuMzAsIDYwLjkzLCAzMy4yNiwgMTYuMTMsIDk1LjYxLCA3OC42MiwgOTcuNDIs
IDk2LjQyLCAzOC4wNCwgOC40OSwgNDUuNDcsIDY4LjczLCAxOC4yMCwgMjYuNjUsIDc4LjM5LCA5
NS4yNiwgNjYuODAsIDM0LjQxLCAxMC42OSwgOTQuNDMsIDcxLjY5LCA0LjU4LCAyMy44NywgNjEu
MDEsIDk1LjY4LCA4LjUxLCAxNC45MiwgMTYuMjcsIDMwLjQxLCAxLjQwLCAxMi4zNSwgOTkuMzks
IDUuODAsIDY4LjEwLCA3My44NywgMjguMzYsIDI0Ljk4LCA3Ny41OCwgOC43MywgMzQuMDgsIDU0
LjQ1LCA4Ny42NCwgMzYuMTQsIDc0LjY4LCAzOC4wNCwgNTYuNTQsIDQ2LjQyLCAxMi40MCwgNS45
MCwgMTUuNzAsIDEwLjg4LCA1NS44MiwgODQuNjYsIDc1Ljc0LCA4Ny45MiwgNTkuMDMsIDYwLjMw
LCA0LjMyLCA3LjA1LCAzLjM0LCA5Ljg3LCA2NC41MSwgNC42MCwgNTQuMTYsIDQ4LjgwLCA0Ni45
MywgNS44NCwgOTAuMzQsIDc1LjQ4LCAzMi41OSwgMjkuNjUsIDk0LjU3LCAyOC4yMiwgOTMuNzAs
IDIzLjc5LCA4OS41NywgMTQuODQsIDc5LjU4LCA2Mi4yOSwgNTguNzYsIDI5LjQzLCAxOS4xNiwg
NDQuNDcsIDM4LjMxLCA0NC43NywgNDIuNjYsIDg4Ljg1LCA3NC45NiwgMjQuMDcsIDM3Ljc1LCA0
MS42NSwgNjIuMzUsIDkwLjQwLCA0MC43NywgNTMuOTMsIDgwLjIzLCA4NC40OSwgMjAuMTgsIDQ1
LjM2LCAyNi4wMiwgOTMuNzIsIDY1LjU0LCAzMi44NikpCitQQVNTIHJlbW92ZUJhc2VVUkwoZmls
dGVyU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1maWx0ZXInKSkgaXMgJ2N1c3RvbShu
b25lIHVybChmcmFnbWVudC5zaGFkZXIpLCAxIDEgZmlsdGVyLWJveCwgYTEgYXJyYXkoNiwgMzgu
NTgsIDQwLjE0LCAzNC4wMywgODMuMzMsIDI0LjE4LCA2OC4zNywgMTUuODcsIDU2LjU2LCA3My4y
MSwgOTkuMDUsIDI0LjY0LCA2LjM5LCA2OS4zNCwgOTEuMTksIDI3Ljk4LCAzNy41MiwgNjAuNzEs
IDIxLjk0LCA2Mi43LCA3Ny45NiwgNjcuMjcsIDIuNzUsIDI4LjE2LCA4Ljg4LCAxMS42MSwgMzQu
ODksIDQ1Ljc1LCA1NC41NSwgMzUuMDQsIDYuMTMsIDY5LjY4LCA4MS4yMSwgNDkuNDQsIDU0Ljc0
LCAyNi43NCwgOTEuNDksIDY4LjIsIDg0LjA1LCA2NS44MSwgNTcuODksIDczLjIyLCAxMy44Nywg
NzEuNzMsIDE4LjYxLCA4LjU0LCA5Ljc5LCAyOC4wNSwgMTQuMTEsIDY5LjkzLCA0Ny4xOSwgMTAu
NDgsIDgxLjM1LCAzNy4xNSwgMTkuMjksIDE0Ljk4LCAzMi41NCwgOTguOTYsIDY5LjM3LCA5Mi4y
NiwgMzQuNjQsIDY3LjQzLCA3MS45MiwgNDUuNTIsIDkuMjIsIDQxLjk2LCAzMS4yNiwgOTIuNjUs
IDM1LjAyLCAzOSwgNzYuNzYsIDI5LjMzLCAyMi45MywgODAuNjUsIDcwLjc4LCA0Mi45NCwgMjcu
NzIsIDI4LjE5LCA3NS4xNSwgMTguMTQsIDg5LjcxLCA5NS4zOCwgNTQuNTEsIDM2LjkzLCA5OC40
NSwgODcuNTgsIDQ0LjUxLCA3MS43MywgNzUuNzEsIDcwLjQzLCA3OC41MSwgODIuMTksIDMxLjcz
LCAyLjksIDguMjMsIDkzLjc0LCAzMS4yNiwgODQuNzMsIDYuNDgsIDQxLjk2LCA3NS43MiwgNTMu
OTYsIDM1LjA2LCA2Ny41LCA3Ni42MiwgMzUuMDIsIDEuNjIsIDEzLjA1LCAzMy41OSwgMjYuODks
IDM2Ljk0LCA3NC4xMywgOTUuMDksIDU2Ljg3LCA0Ni4wMSwgMTEuOTQsIDEyLjkyLCA0OC44OCwg
MTEuMDMsIDI0LjgsIDY4LjA2LCAxOS44MywgMTIuOTgsIDQxLjU2LCA2Mi4wMywgODAuMzUsIDQx
LjEsIDUuMzEsIDQzLjk2LCA5LjAyLCA5Mi4zMiwgMzQuNSwgODguNDEsIDkwLjM0LCA5Ny42Miwg
NTguNywgMjMuNjIsIDEzLjAzLCA4NS40MSwgMjkuNzMsIDMwLjIxLCA1OS4yNSwgOTEuMjIsIDc4
LjIxLCA2Mi4zLCA2MC45MywgMzMuMjYsIDE2LjEzLCA5NS42MSwgNzguNjIsIDk3LjQyLCA5Ni40
MiwgMzguMDQsIDguNDksIDQ1LjQ3LCA2OC43MywgMTguMiwgMjYuNjUsIDc4LjM5LCA5NS4yNiwg
NjYuOCwgMzQuNDEsIDEwLjY5LCA5NC40MywgNzEuNjksIDQuNTgsIDIzLjg3LCA2MS4wMSwgOTUu
NjgsIDguNTEsIDE0LjkyLCAxNi4yNywgMzAuNDEsIDEuNCwgMTIuMzUsIDk5LjM5LCA1LjgsIDY4
LjEsIDczLjg3LCAyOC4zNiwgMjQuOTgsIDc3LjU4LCA4LjczLCAzNC4wOCwgNTQuNDUsIDg3LjY0
LCAzNi4xNCwgNzQuNjgsIDM4LjA0LCA1Ni41NCwgNDYuNDIsIDEyLjQsIDUuOSwgMTUuNywgMTAu
ODgsIDU1LjgyLCA4NC42NiwgNzUuNzQsIDg3LjkyLCA1OS4wMywgNjAuMywgNC4zMiwgNy4wNSwg
My4zNCwgOS44NywgNjQuNTEsIDQuNiwgNTQuMTYsIDQ4LjgsIDQ2LjkzLCA1Ljg0LCA5MC4zNCwg
NzUuNDgsIDMyLjU5LCAyOS42NSwgOTQuNTcsIDI4LjIyLCA5My43LCAyMy43OSwgODkuNTcsIDE0
Ljg0LCA3OS41OCwgNjIuMjksIDU4Ljc2LCAyOS40MywgMTkuMTYsIDQ0LjQ3LCAzOC4zMSwgNDQu
NzcsIDQyLjY2LCA4OC44NSwgNzQuOTYsIDI0LjA3LCAzNy43NSwgNDEuNjUsIDYyLjM1LCA5MC40
LCA0MC43NywgNTMuOTMsIDgwLjIzLCA4NC40OSwgMjAuMTgsIDQ1LjM2LCAyNi4wMiwgOTMuNzIs
IDY1LjU0LCAzMi44NikpJworUEFTUyBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlKSBpcyAnQ1NT
VmFsdWVMaXN0JworRkFJTCBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLl9fcHJvdG9fXykgc2hv
dWxkIGJlIENTU1ZhbHVlTGlzdFByb3RvdHlwZS4gV2FzIE9iamVjdC4KK0ZBSUwganNXcmFwcGVy
Q2xhc3MoZmlsdGVyUnVsZS5jb25zdHJ1Y3Rvcikgc2hvdWxkIGJlIENTU1ZhbHVlTGlzdENvbnN0
cnVjdG9yLiBXYXMgRnVuY3Rpb24uCitQQVNTIGZpbHRlclJ1bGUubGVuZ3RoIGlzIDEKK1BBU1Mg
c3ViUnVsZS5vcGVyYXRpb25UeXBlIGlzIFdlYktpdENTU0ZpbHRlclZhbHVlLkNTU19GSUxURVJf
Q1VTVE9NCitQQVNTIHJlbW92ZUJhc2VVUkwoc3ViUnVsZS5jc3NUZXh0KSBpcyAnY3VzdG9tKG5v
bmUgdXJsKGZyYWdtZW50LnNoYWRlciksIDEgMSBmaWx0ZXItYm94LCBhMSBhcnJheSg2LCAzOC41
OCwgNDAuMTQsIDM0LjAzLCA4My4zMywgMjQuMTgsIDY4LjM3LCAxNS44NywgNTYuNTYsIDczLjIx
LCA5OS4wNSwgMjQuNjQsIDYuMzksIDY5LjM0LCA5MS4xOSwgMjcuOTgsIDM3LjUyLCA2MC43MSwg
MjEuOTQsIDYyLjcsIDc3Ljk2LCA2Ny4yNywgMi43NSwgMjguMTYsIDguODgsIDExLjYxLCAzNC44
OSwgNDUuNzUsIDU0LjU1LCAzNS4wNCwgNi4xMywgNjkuNjgsIDgxLjIxLCA0OS40NCwgNTQuNzQs
IDI2Ljc0LCA5MS40OSwgNjguMiwgODQuMDUsIDY1LjgxLCA1Ny44OSwgNzMuMjIsIDEzLjg3LCA3
MS43MywgMTguNjEsIDguNTQsIDkuNzksIDI4LjA1LCAxNC4xMSwgNjkuOTMsIDQ3LjE5LCAxMC40
OCwgODEuMzUsIDM3LjE1LCAxOS4yOSwgMTQuOTgsIDMyLjU0LCA5OC45NiwgNjkuMzcsIDkyLjI2
LCAzNC42NCwgNjcuNDMsIDcxLjkyLCA0NS41MiwgOS4yMiwgNDEuOTYsIDMxLjI2LCA5Mi42NSwg
MzUuMDIsIDM5LCA3Ni43NiwgMjkuMzMsIDIyLjkzLCA4MC42NSwgNzAuNzgsIDQyLjk0LCAyNy43
MiwgMjguMTksIDc1LjE1LCAxOC4xNCwgODkuNzEsIDk1LjM4LCA1NC41MSwgMzYuOTMsIDk4LjQ1
LCA4Ny41OCwgNDQuNTEsIDcxLjczLCA3NS43MSwgNzAuNDMsIDc4LjUxLCA4Mi4xOSwgMzEuNzMs
IDIuOSwgOC4yMywgOTMuNzQsIDMxLjI2LCA4NC43MywgNi40OCwgNDEuOTYsIDc1LjcyLCA1My45
NiwgMzUuMDYsIDY3LjUsIDc2LjYyLCAzNS4wMiwgMS42MiwgMTMuMDUsIDMzLjU5LCAyNi44OSwg
MzYuOTQsIDc0LjEzLCA5NS4wOSwgNTYuODcsIDQ2LjAxLCAxMS45NCwgMTIuOTIsIDQ4Ljg4LCAx
MS4wMywgMjQuOCwgNjguMDYsIDE5LjgzLCAxMi45OCwgNDEuNTYsIDYyLjAzLCA4MC4zNSwgNDEu
MSwgNS4zMSwgNDMuOTYsIDkuMDIsIDkyLjMyLCAzNC41LCA4OC40MSwgOTAuMzQsIDk3LjYyLCA1
OC43LCAyMy42MiwgMTMuMDMsIDg1LjQxLCAyOS43MywgMzAuMjEsIDU5LjI1LCA5MS4yMiwgNzgu
MjEsIDYyLjMsIDYwLjkzLCAzMy4yNiwgMTYuMTMsIDk1LjYxLCA3OC42MiwgOTcuNDIsIDk2LjQy
LCAzOC4wNCwgOC40OSwgNDUuNDcsIDY4LjczLCAxOC4yLCAyNi42NSwgNzguMzksIDk1LjI2LCA2
Ni44LCAzNC40MSwgMTAuNjksIDk0LjQzLCA3MS42OSwgNC41OCwgMjMuODcsIDYxLjAxLCA5NS42
OCwgOC41MSwgMTQuOTIsIDE2LjI3LCAzMC40MSwgMS40LCAxMi4zNSwgOTkuMzksIDUuOCwgNjgu
MSwgNzMuODcsIDI4LjM2LCAyNC45OCwgNzcuNTgsIDguNzMsIDM0LjA4LCA1NC40NSwgODcuNjQs
IDM2LjE0LCA3NC42OCwgMzguMDQsIDU2LjU0LCA0Ni40MiwgMTIuNCwgNS45LCAxNS43LCAxMC44
OCwgNTUuODIsIDg0LjY2LCA3NS43NCwgODcuOTIsIDU5LjAzLCA2MC4zLCA0LjMyLCA3LjA1LCAz
LjM0LCA5Ljg3LCA2NC41MSwgNC42LCA1NC4xNiwgNDguOCwgNDYuOTMsIDUuODQsIDkwLjM0LCA3
NS40OCwgMzIuNTksIDI5LjY1LCA5NC41NywgMjguMjIsIDkzLjcsIDIzLjc5LCA4OS41NywgMTQu
ODQsIDc5LjU4LCA2Mi4yOSwgNTguNzYsIDI5LjQzLCAxOS4xNiwgNDQuNDcsIDM4LjMxLCA0NC43
NywgNDIuNjYsIDg4Ljg1LCA3NC45NiwgMjQuMDcsIDM3Ljc1LCA0MS42NSwgNjIuMzUsIDkwLjQs
IDQwLjc3LCA1My45MywgODAuMjMsIDg0LjQ5LCAyMC4xOCwgNDUuMzYsIDI2LjAyLCA5My43Miwg
NjUuNTQsIDMyLjg2KSknCisKK0N1c3RvbSB3aXRoIHR3byBhcnJheSgpIG1hZGUgdXAgb2YgdGhy
ZWUgYW5kIHNpeCB2YWx1ZXMgOiBjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgYTEg
YXJyYXkoMSwgMiwgMyksIGEyIGFycmF5KDEsIDIsIDMsIDQsIDUsIDYpKQorUEFTUyByZW1vdmVC
YXNlVVJMKGZpbHRlclN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZmlsdGVyJykpIGlz
ICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZpbHRlci1ib3gsIGExIGFy
cmF5KDEsIDIsIDMpLCBhMiBhcnJheSgxLCAyLCAzLCA0LCA1LCA2KSknCitQQVNTIGpzV3JhcHBl
ckNsYXNzKGZpbHRlclJ1bGUpIGlzICdDU1NWYWx1ZUxpc3QnCitGQUlMIGpzV3JhcHBlckNsYXNz
KGZpbHRlclJ1bGUuX19wcm90b19fKSBzaG91bGQgYmUgQ1NTVmFsdWVMaXN0UHJvdG90eXBlLiBX
YXMgT2JqZWN0LgorRkFJTCBqc1dyYXBwZXJDbGFzcyhmaWx0ZXJSdWxlLmNvbnN0cnVjdG9yKSBz
aG91bGQgYmUgQ1NTVmFsdWVMaXN0Q29uc3RydWN0b3IuIFdhcyBGdW5jdGlvbi4KK1BBU1MgZmls
dGVyUnVsZS5sZW5ndGggaXMgMQorUEFTUyBzdWJSdWxlLm9wZXJhdGlvblR5cGUgaXMgV2ViS2l0
Q1NTRmlsdGVyVmFsdWUuQ1NTX0ZJTFRFUl9DVVNUT00KK1BBU1MgcmVtb3ZlQmFzZVVSTChzdWJS
dWxlLmNzc1RleHQpIGlzICdjdXN0b20obm9uZSB1cmwoZnJhZ21lbnQuc2hhZGVyKSwgMSAxIGZp
bHRlci1ib3gsIGExIGFycmF5KDEsIDIsIDMpLCBhMiBhcnJheSgxLCAyLCAzLCA0LCA1LCA2KSkn
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUK
</data>

          </attachment>
      

    </bug>

</bugzilla>