<?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>125108</bug_id>
          
          <creation_ts>2013-12-02 14:56:41 -0800</creation_ts>
          <short_desc>[CSS Shapes] Implement interpolation between keywords in basic shapes</short_desc>
          <delta_ts>2014-03-04 14:46:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>126072</dependson>
          <blocked>124173</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Bem Jones-Bey">bjonesbe</reporter>
          <assigned_to name="Rob Buis">rwlbuis</assigned_to>
          <cc>betravis</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>krit</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>955611</commentid>
    <comment_count>0</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-12-02 14:56:41 -0800</bug_when>
    <thetext>It isn&apos;t specified by in the spec, but it should be possible to come up with a reasonable interpolation behavior anyways.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957333</commentid>
    <comment_count>1</comment_count>
      <attachid>218610</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-12-06 12:06:50 -0800</bug_when>
    <thetext>Created attachment 218610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957334</commentid>
    <comment_count>2</comment_count>
      <attachid>218610</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-12-06 12:13:09 -0800</bug_when>
    <thetext>Comment on attachment 218610
Patch

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

&gt; Source/WebCore/rendering/style/BasicShapes.cpp:137
&gt; +    return (radius().canBlend(otherCircle-&gt;radius())

the extra braces seem unnecessary.

&gt; Source/WebCore/rendering/style/BasicShapes.h:71
&gt; +        // FIXME: Support animations between different shapes in the future.
&gt; +        return type() == other-&gt;type();

I wonder how you want to realize that with the current refactoring... It seems like interpolation between different kind of shapes gets less likely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957350</commentid>
    <comment_count>3</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-12-06 12:37:25 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 218610 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=218610&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/style/BasicShapes.cpp:137
&gt; &gt; +    return (radius().canBlend(otherCircle-&gt;radius())
&gt; 
&gt; the extra braces seem unnecessary.

Thanks.

&gt; &gt; Source/WebCore/rendering/style/BasicShapes.h:71
&gt; &gt; +        // FIXME: Support animations between different shapes in the future.
&gt; &gt; +        return type() == other-&gt;type();
&gt; 
&gt; I wonder how you want to realize that with the current refactoring... It seems like interpolation between different kind of shapes gets less likely.

I am not sure what you mean? Right now this fallback makes sense since we have depricated circle and ellipse. Once those are removed then this one could maybe become pure virtual. Ultimately each basic shape would have to decide if it can blend with &quot;other&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957354</commentid>
    <comment_count>4</comment_count>
      <attachid>218610</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-12-06 12:47:38 -0800</bug_when>
    <thetext>Comment on attachment 218610
Patch

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

&gt; Source/WebCore/rendering/style/BasicShapes.cpp:215
&gt; +    return (radiusX().canBlend(otherEllipse-&gt;radiusX())

Ditto. braces.

&gt;&gt;&gt; Source/WebCore/rendering/style/BasicShapes.h:71
&gt;&gt;&gt; +        return type() == other-&gt;type();
&gt;&gt; 
&gt;&gt; I wonder how you want to realize that with the current refactoring... It seems like interpolation between different kind of shapes gets less likely.
&gt; 
&gt; I am not sure what you mean? Right now this fallback makes sense since we have depricated circle and ellipse. Once those are removed then this one could maybe become pure virtual. Ultimately each basic shape would have to decide if it can blend with &quot;other&quot;.

Exactly. I don&apos;t think that this makes it necessarily easier. It may blow up the source code because it is harder to share code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957364</commentid>
    <comment_count>5</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-12-06 13:08:54 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 218610 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=218610&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/style/BasicShapes.cpp:215
&gt; &gt; +    return (radiusX().canBlend(otherEllipse-&gt;radiusX())
&gt; 
&gt; Ditto. braces.
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/rendering/style/BasicShapes.h:71
&gt; &gt;&gt;&gt; +        return type() == other-&gt;type();
&gt; &gt;&gt; 
&gt; &gt;&gt; I wonder how you want to realize that with the current refactoring... It seems like interpolation between different kind of shapes gets less likely.
&gt; &gt; 
&gt; &gt; I am not sure what you mean? Right now this fallback makes sense since we have depricated circle and ellipse. Once those are removed then this one could maybe become pure virtual. Ultimately each basic shape would have to decide if it can blend with &quot;other&quot;.
&gt; 
&gt; Exactly. I don&apos;t think that this makes it necessarily easier. It may blow up the source code because it is harder to share code.

Never mind, it seems the patch is not needed, interpolation between different types of shapes is not in the spec anymore. I just got triggered by the existing comment:

FIXME: Support animations between different shapes in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957492</commentid>
    <comment_count>6</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-12-06 23:06:24 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 218610 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=218610&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/rendering/style/BasicShapes.cpp:215
&gt; &gt; &gt; +    return (radiusX().canBlend(otherEllipse-&gt;radiusX())
&gt; &gt; 
&gt; &gt; Ditto. braces.
&gt; &gt; 
&gt; &gt; &gt;&gt;&gt; Source/WebCore/rendering/style/BasicShapes.h:71
&gt; &gt; &gt;&gt;&gt; +        return type() == other-&gt;type();
&gt; &gt; &gt;&gt; 
&gt; &gt; &gt;&gt; I wonder how you want to realize that with the current refactoring... It seems like interpolation between different kind of shapes gets less likely.
&gt; &gt; &gt; 
&gt; &gt; &gt; I am not sure what you mean? Right now this fallback makes sense since we have depricated circle and ellipse. Once those are removed then this one could maybe become pure virtual. Ultimately each basic shape would have to decide if it can blend with &quot;other&quot;.
&gt; &gt; 
&gt; &gt; Exactly. I don&apos;t think that this makes it necessarily easier. It may blow up the source code because it is harder to share code.
&gt; 
&gt; Never mind, it seems the patch is not needed, interpolation between different types of shapes is not in the spec anymore. I just got triggered by the existing comment:
&gt; 
&gt; FIXME: Support animations between different shapes in the future.

Ah right... In this case... could you remove the FIXME please and take a look if there is more cleanup possible?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958070</commentid>
    <comment_count>7</comment_count>
      <attachid>218795</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-12-09 13:32:33 -0800</bug_when>
    <thetext>Created attachment 218795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958213</commentid>
    <comment_count>8</comment_count>
      <attachid>218795</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-12-09 22:32:24 -0800</bug_when>
    <thetext>Comment on attachment 218795
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        [CSS Shapes] Implement interpolation between keywords in basic shapes

The patch looks fine for me and (on fixing a snippet) I would r+ it. However, could you open a new bug report for it? This one is not the right bug report for this fix.

I noticed that even the previous patch to not match the idea of this bug report. This bug report is about interpolation between things like circle(farthest-side) to circle(200px). So keyword to another keyword/value.

&gt; LayoutTests/animations/resources/animation-test-helpers.js:227
&gt;          matches = s.match(&quot;polygon\\(nonzero, (.*)\\s+(.*)\\s*,\\s*(.*)\\s+(.*)\\s*,\\s*(.*)\\s+(.*)\\s*,\\s*(.*)\\s+(.*)\\)&quot;);
&gt; +        if (!matches)
&gt; +            matches = s.match(&quot;polygon\\(evenodd, (.*)\\s+(.*)\\s*,\\s*(.*)\\s+(.*)\\s*,\\s*(.*)\\s+(.*)\\s*,\\s*(.*)\\s+(.*)\\)&quot;);

you should be able to use [...|...] instead of using an if, no?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958354</commentid>
    <comment_count>9</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-12-10 07:13:28 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 218795 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=218795&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        [CSS Shapes] Implement interpolation between keywords in basic shapes
&gt; 
&gt; The patch looks fine for me and (on fixing a snippet) I would r+ it. However, could you open a new bug report for it? This one is not the right bug report for this fix.
&gt; 
&gt; I noticed that even the previous patch to not match the idea of this bug report. This bug report is about interpolation between things like circle(farthest-side) to circle(200px). So keyword to another keyword/value.

Agreed, I created https://bugs.webkit.org/show_bug.cgi?id=125508 for this patch instead.

&gt; &gt; LayoutTests/animations/resources/animation-test-helpers.js:227
&gt; &gt;          matches = s.match(&quot;polygon\\(nonzero, (.*)\\s+(.*)\\s*,\\s*(.*)\\s+(.*)\\s*,\\s*(.*)\\s+(.*)\\s*,\\s*(.*)\\s+(.*)\\)&quot;);
&gt; &gt; +        if (!matches)
&gt; &gt; +            matches = s.match(&quot;polygon\\(evenodd, (.*)\\s+(.*)\\s*,\\s*(.*)\\s+(.*)\\s*,\\s*(.*)\\s+(.*)\\s*,\\s*(.*)\\s+(.*)\\)&quot;);
&gt; 
&gt; you should be able to use [...|...] instead of using an if, no?

Yes, initially I tried that but ran into problems. I took another look and the framework assumed all floats, that was the problem. In my new patch for 125508 I changed a framework a bit so it knows how to deal with shape polygon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960050</commentid>
    <comment_count>10</comment_count>
      <attachid>218795</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-12-16 06:56:39 -0800</bug_when>
    <thetext>Comment on attachment 218795
Patch

Oops, should have obsoleted once I made the new bug for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960156</commentid>
    <comment_count>11</comment_count>
      <attachid>219336</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-12-16 11:33:35 -0800</bug_when>
    <thetext>Created attachment 219336
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960158</commentid>
    <comment_count>12</comment_count>
      <attachid>219336</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-12-16 11:39:20 -0800</bug_when>
    <thetext>Comment on attachment 219336
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Length values of 0% and 100%.

What about center coordinates specified like &quot;top 50% bottom 10px&quot;? It doesn&apos;t seem like you handle those in this patch, as those keywords can&apos;t be resolved until layout time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960654</commentid>
    <comment_count>13</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-12-17 13:27:45 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 219336 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=219336&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        Length values of 0% and 100%.
&gt; 
&gt; What about center coordinates specified like &quot;top 50% bottom 10px&quot;? It doesn&apos;t seem like you handle those in this patch, as those keywords can&apos;t be resolved until layout time.

I failed to see that part of the spec before :) Will upload shortly a new patch that should be able to handle that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960666</commentid>
    <comment_count>14</comment_count>
      <attachid>219451</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-12-17 14:10:07 -0800</bug_when>
    <thetext>Created attachment 219451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960668</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-17 14:12:07 -0800</bug_when>
    <thetext>Attachment 219451 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/fast/shapes/parsing/parsing-shape-inside-expected.txt&apos;, u&apos;LayoutTests/fast/shapes/parsing/parsing-shape-outside-expected.txt&apos;, u&apos;LayoutTests/fast/shapes/parsing/parsing-test-utils.js&apos;, u&apos;LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation-expected.txt&apos;, u&apos;LayoutTests/fast/shapes/shape-outside-floats/shape-outside-animation.html&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/page/animation/CSSPropertyAnimation.cpp&apos;, u&apos;Source/WebCore/rendering/style/BasicShapes.cpp&apos;, u&apos;Source/WebCore/rendering/style/BasicShapes.h&apos;, &apos;--commit-queue&apos;]&quot; exit_code: 1
ERROR: Source/WebCore/rendering/style/BasicShapes.cpp:88:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 1 in 10 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>960677</commentid>
    <comment_count>16</comment_count>
      <attachid>219455</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-12-17 14:51:24 -0800</bug_when>
    <thetext>Created attachment 219455
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960685</commentid>
    <comment_count>17</comment_count>
      <attachid>219455</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-12-17 15:19:06 -0800</bug_when>
    <thetext>Comment on attachment 219455
Patch

lgtm. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960751</commentid>
    <comment_count>18</comment_count>
      <attachid>219455</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-12-17 17:10:55 -0800</bug_when>
    <thetext>Comment on attachment 219455
Patch

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

&gt; Source/WebCore/rendering/style/BasicShapes.cpp:76
&gt; +FloatSize BasicShape::referenceBoxSize(RenderBox* renderer) const

RenderBox should be a reference if it cannot be null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961067</commentid>
    <comment_count>19</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-12-18 12:45:10 -0800</bug_when>
    <thetext>Landed in r160770.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961877</commentid>
    <comment_count>20</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2013-12-20 08:04:03 -0800</bug_when>
    <thetext>Reopening this bug. There is a cleaning up patch I need to do and I think some of the shapes other than circle/ellipse need keyword interpolation too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>961878</commentid>
    <comment_count>21</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-12-20 08:11:09 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; Reopening this bug. There is a cleaning up patch I need to do and I think some of the shapes other than circle/ellipse need keyword interpolation too.

You may use this as master bug and upload the followups on a different bug report.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>986995</commentid>
    <comment_count>22</comment_count>
    <who name="Bear Travis">betravis</who>
    <bug_when>2014-03-04 14:46:24 -0800</bug_when>
    <thetext>Fixed with bug 127010 and further changes to the spec.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218610</attachid>
            <date>2013-12-06 12:06:50 -0800</date>
            <delta_ts>2013-12-06 13:09:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125108-20131206150648.patch</filename>
            <type>text/plain</type>
            <size>7084</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMTc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGIwZDljNDk0NDA4MWU4
YjRiYjk3YWNhNjgyYWQ0YmJkMGQxYzY5Zi4uMDVkY2QxZTViNTFkMWU4MzRkMTA4YWM5ZGE2Yzc0
Zjk3ZTJmYTE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTEyLTA2ICBSb2Ig
QnVpcyAgPHJvYi5idWlzQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtDU1MgU2hhcGVzXSBJbXBs
ZW1lbnQgaW50ZXJwb2xhdGlvbiBiZXR3ZWVuIGtleXdvcmRzIGluIGJhc2ljIHNoYXBlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTA4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVmYWN0b3IgdG8g
bWFrZSBpdCBlYXNpZXIgdG8gc3VwcG9ydCBibGVuZGluZyBmb3IgaW5kaXZpZHVhbCBiYXNpYyBz
aGFwZXMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZUNpcmNsZTo6Y2FuQmxlbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6QmFzaWNTaGFwZUVsbGlwc2U6OmNhbkJsZW5kKToKKyAgICAgICAgKFdlYkNvcmU6OkJh
c2ljU2hhcGVQb2x5Z29uOjpjYW5CbGVuZCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL0Jh
c2ljU2hhcGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpCYXNpY1NoYXBlOjpjYW5CbGVuZCk6CisK
IDIwMTMtMTItMDUgIFJvYiBCdWlzICA8cm9iLmJ1aXNAc2Ftc3VuZy5jb20+CiAKICAgICAgICAg
W0NTUyBTaGFwZXNdIFNoYXBlT3V0c2lkZUluZm8gbmVlZHMgdG8gdXNlIHRoZSBwYXJlbnQncyB3
cml0aW5nIG1vZGUgd2hlbiBjYWxjdWxhdGluZyBvZmZzZXRzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL0Jhc2ljU2hhcGVzLmNwcAppbmRleCBkNzM0NjcxMDVmZTczMWZhZjA1
NTllZGFhMDdjNWEyYWY1YmFjZGYxLi44ODI2ZjM4OWU0NDk5MmVlOGE3Y2NhMzdkYjcxYzY5ZGRi
ZDQwYzg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNT
aGFwZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBl
cy5jcHAKQEAgLTM4LDM5ICszOCw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotYm9vbCBC
YXNpY1NoYXBlOjpjYW5CbGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlcikgY29uc3QKLXsKLSAg
ICAvLyBGSVhNRTogU3VwcG9ydCBhbmltYXRpb25zIGJldHdlZW4gZGlmZmVyZW50IHNoYXBlcyBp
biB0aGUgZnV0dXJlLgotICAgIGlmICh0eXBlKCkgIT0gb3RoZXItPnR5cGUoKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgLy8gSnVzdCBwb2x5Z29ucyB3aXRoIHNhbWUgbnVtYmVyIG9m
IHZlcnRpY2VzIGNhbiBiZSBhbmltYXRlZC4KLSAgICBpZiAodHlwZSgpID09IEJhc2ljU2hhcGU6
OkJhc2ljU2hhcGVQb2x5Z29uVHlwZQotICAgICAgICAmJiBzdGF0aWNfY2FzdDxjb25zdCBCYXNp
Y1NoYXBlUG9seWdvbio+KHRoaXMpLT52YWx1ZXMoKS5zaXplKCkgIT0gc3RhdGljX2Nhc3Q8Y29u
c3QgQmFzaWNTaGFwZVBvbHlnb24qPihvdGhlciktPnZhbHVlcygpLnNpemUoKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgLy8gQ2lyY2xlcyB3aXRoIGtleXdvcmRzIGZvciByYWRpaSBv
ciBjZW50ZXIgY29vcmRpbmF0ZXMgY2Fubm90IGJlIGFuaW1hdGVkLgotICAgIGlmICh0eXBlKCkg
PT0gQmFzaWNTaGFwZTo6QmFzaWNTaGFwZUNpcmNsZVR5cGUpIHsKLSAgICAgICAgY29uc3QgQmFz
aWNTaGFwZUNpcmNsZSogdGhpc0NpcmNsZSA9IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljU2hhcGVD
aXJjbGUqPih0aGlzKTsKLSAgICAgICAgY29uc3QgQmFzaWNTaGFwZUNpcmNsZSogb3RoZXJDaXJj
bGUgPSBzdGF0aWNfY2FzdDxjb25zdCBCYXNpY1NoYXBlQ2lyY2xlKj4ob3RoZXIpOwotICAgICAg
ICBpZiAoIXRoaXNDaXJjbGUtPnJhZGl1cygpLmNhbkJsZW5kKG90aGVyQ2lyY2xlLT5yYWRpdXMo
KSkKLSAgICAgICAgICAgIHx8ICF0aGlzQ2lyY2xlLT5jZW50ZXJYKCkuY2FuQmxlbmQob3RoZXJD
aXJjbGUtPmNlbnRlclgoKSkKLSAgICAgICAgICAgIHx8ICF0aGlzQ2lyY2xlLT5jZW50ZXJZKCku
Y2FuQmxlbmQob3RoZXJDaXJjbGUtPmNlbnRlclkoKSkpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgfQotCi0gICAgLy8gRWxsaXBzZXMgd2l0aCBrZXl3b3JkcyBmb3IgcmFkaWkgb3Ig
Y2VudGVyIGNvb3JkaW5hdGVzIGNhbm5vdCBiZSBhbmltYXRlZC4KLSAgICBpZiAodHlwZSgpICE9
IEJhc2ljU2hhcGU6OkJhc2ljU2hhcGVFbGxpcHNlVHlwZSkKLSAgICAgICAgcmV0dXJuIHRydWU7
Ci0KLSAgICBjb25zdCBCYXNpY1NoYXBlRWxsaXBzZSogdGhpc0VsbGlwc2UgPSBzdGF0aWNfY2Fz
dDxjb25zdCBCYXNpY1NoYXBlRWxsaXBzZSo+KHRoaXMpOwotICAgIGNvbnN0IEJhc2ljU2hhcGVF
bGxpcHNlKiBvdGhlckVsbGlwc2UgPSBzdGF0aWNfY2FzdDxjb25zdCBCYXNpY1NoYXBlRWxsaXBz
ZSo+KG90aGVyKTsKLSAgICByZXR1cm4gKHRoaXNFbGxpcHNlLT5yYWRpdXNYKCkuY2FuQmxlbmQo
b3RoZXJFbGxpcHNlLT5yYWRpdXNYKCkpCi0gICAgICAgICYmIHRoaXNFbGxpcHNlLT5yYWRpdXNZ
KCkuY2FuQmxlbmQob3RoZXJFbGxpcHNlLT5yYWRpdXNZKCkpCi0gICAgICAgICYmIHRoaXNFbGxp
cHNlLT5jZW50ZXJYKCkuY2FuQmxlbmQob3RoZXJFbGxpcHNlLT5jZW50ZXJYKCkpCi0gICAgICAg
ICYmIHRoaXNFbGxpcHNlLT5jZW50ZXJZKCkuY2FuQmxlbmQob3RoZXJFbGxpcHNlLT5jZW50ZXJZ
KCkpKTsKLX0KLQogdm9pZCBCYXNpY1NoYXBlUmVjdGFuZ2xlOjpwYXRoKFBhdGgmIHBhdGgsIGNv
bnN0IEZsb2F0UmVjdCYgYm91bmRpbmdCb3gpCiB7CiAgICAgQVNTRVJUKHBhdGguaXNFbXB0eSgp
KTsKQEAgLTE2MCw2ICsxMjcsMTggQEAgdm9pZCBCYXNpY1NoYXBlQ2lyY2xlOjpwYXRoKFBhdGgm
IHBhdGgsIGNvbnN0IEZsb2F0UmVjdCYgYm91bmRpbmdCb3gpCiAgICAgKSk7CiB9CiAKK2Jvb2wg
QmFzaWNTaGFwZUNpcmNsZTo6Y2FuQmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIpIGNvbnN0
Cit7CisgICAgaWYgKCFCYXNpY1NoYXBlOjpjYW5CbGVuZChvdGhlcikpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIC8vIENpcmNsZXMgd2l0aCBrZXl3b3JkcyBmb3IgcmFkaWkgb3IgY2Vu
dGVyIGNvb3JkaW5hdGVzIGNhbm5vdCBiZSBhbmltYXRlZC4KKyAgICBjb25zdCBCYXNpY1NoYXBl
Q2lyY2xlKiBvdGhlckNpcmNsZSA9IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljU2hhcGVDaXJjbGUq
PihvdGhlcik7CisgICAgcmV0dXJuIChyYWRpdXMoKS5jYW5CbGVuZChvdGhlckNpcmNsZS0+cmFk
aXVzKCkpCisgICAgICAgICYmIGNlbnRlclgoKS5jYW5CbGVuZChvdGhlckNpcmNsZS0+Y2VudGVy
WCgpKQorICAgICAgICAmJiBjZW50ZXJZKCkuY2FuQmxlbmQob3RoZXJDaXJjbGUtPmNlbnRlclko
KSkpOworfQorCiBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IEJhc2ljU2hhcGVDaXJjbGU6OmJsZW5k
KGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0CiB7CiAgICAg
QVNTRVJUKHR5cGUoKSA9PSBvdGhlci0+dHlwZSgpKTsKQEAgLTIyNyw2ICsyMDYsMTggQEAgdm9p
ZCBCYXNpY1NoYXBlRWxsaXBzZTo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBGbG9hdFJlY3QmIGJv
dW5kaW5nQm94KQogICAgICAgICByYWRpdXNZICogMikpOwogfQogCitib29sIEJhc2ljU2hhcGVF
bGxpcHNlOjpjYW5CbGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlcikgY29uc3QKK3sKKyAgICBp
ZiAoIUJhc2ljU2hhcGU6OmNhbkJsZW5kKG90aGVyKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgY29uc3QgQmFzaWNTaGFwZUVsbGlwc2UqIG90aGVyRWxsaXBzZSA9IHN0YXRpY19jYXN0
PGNvbnN0IEJhc2ljU2hhcGVFbGxpcHNlKj4ob3RoZXIpOworICAgIHJldHVybiAocmFkaXVzWCgp
LmNhbkJsZW5kKG90aGVyRWxsaXBzZS0+cmFkaXVzWCgpKQorICAgICAgICAmJiByYWRpdXNZKCku
Y2FuQmxlbmQob3RoZXJFbGxpcHNlLT5yYWRpdXNZKCkpCisgICAgICAgICYmIGNlbnRlclgoKS5j
YW5CbGVuZChvdGhlckVsbGlwc2UtPmNlbnRlclgoKSkKKyAgICAgICAgJiYgY2VudGVyWSgpLmNh
bkJsZW5kKG90aGVyRWxsaXBzZS0+Y2VudGVyWSgpKSk7Cit9CisKIFBhc3NSZWZQdHI8QmFzaWNT
aGFwZT4gQmFzaWNTaGFwZUVsbGlwc2U6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBk
b3VibGUgcHJvZ3Jlc3MpIGNvbnN0CiB7CiAgICAgQVNTRVJUKHR5cGUoKSA9PSBvdGhlci0+dHlw
ZSgpKTsKQEAgLTI2Nyw2ICsyNTgsMTUgQEAgdm9pZCBCYXNpY1NoYXBlUG9seWdvbjo6cGF0aChQ
YXRoJiBwYXRoLCBjb25zdCBGbG9hdFJlY3QmIGJvdW5kaW5nQm94KQogICAgIHBhdGguY2xvc2VT
dWJwYXRoKCk7CiB9CiAKK2Jvb2wgQmFzaWNTaGFwZVBvbHlnb246OmNhbkJsZW5kKGNvbnN0IEJh
c2ljU2hhcGUqIG90aGVyKSBjb25zdAoreworICAgIGlmICghQmFzaWNTaGFwZTo6Y2FuQmxlbmQo
b3RoZXIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBKdXN0IHBvbHlnb25zIHdp
dGggc2FtZSBudW1iZXIgb2YgdmVydGljZXMgY2FuIGJlIGFuaW1hdGVkLgorICAgIHJldHVybiBz
dGF0aWNfY2FzdDxjb25zdCBCYXNpY1NoYXBlUG9seWdvbio+KHRoaXMpLT52YWx1ZXMoKS5zaXpl
KCkgPT0gc3RhdGljX2Nhc3Q8Y29uc3QgQmFzaWNTaGFwZVBvbHlnb24qPihvdGhlciktPnZhbHVl
cygpLnNpemUoKTsKK30KKwogUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlUG9seWdv
bjo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QK
IHsKICAgICBBU1NFUlQodHlwZSgpID09IG90aGVyLT50eXBlKCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jhc2ljU2hhcGVzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuaAppbmRleCA5MjU1ZjdiMjM1ZWJhNTJiZjEz
ZGVhYzY3YWQzOTVjMGI4NzA5MmE4Li4wZTk1OTJiMWQ2Njk4YzEyNGE5OGNlM2RjYjFkZTNjZGY2
MDk3YTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNT
aGFwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMu
aApAQCAtNjUsNyArNjUsMTEgQEAgcHVibGljOgogICAgICAgICBNYXJnaW5Cb3gKICAgICB9Owog
Ci0gICAgYm9vbCBjYW5CbGVuZChjb25zdCBCYXNpY1NoYXBlKikgY29uc3Q7CisgICAgdmlydHVh
bCBib29sIGNhbkJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyKSBjb25zdAorICAgIHsKKyAg
ICAgICAgLy8gRklYTUU6IFN1cHBvcnQgYW5pbWF0aW9ucyBiZXR3ZWVuIGRpZmZlcmVudCBzaGFw
ZXMgaW4gdGhlIGZ1dHVyZS4KKyAgICAgICAgcmV0dXJuIHR5cGUoKSA9PSBvdGhlci0+dHlwZSgp
OworICAgIH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXRoKFBhdGgmLCBjb25zdCBGbG9hdFJlY3Qm
KSA9IDA7CiAgICAgdmlydHVhbCBXaW5kUnVsZSB3aW5kUnVsZSgpIGNvbnN0IHsgcmV0dXJuIFJV
TEVfTk9OWkVSTzsgfQpAQCAtMjEyLDYgKzIxNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFJh
ZGl1cyhCYXNpY1NoYXBlUmFkaXVzIHJhZGl1cykgeyBtX3JhZGl1cyA9IHN0ZDo6bW92ZShyYWRp
dXMpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3QgRmxvYXRSZWN0Jikg
T1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGNhbkJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqKSBj
b25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQo
Y29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3QgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFs
IFR5cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIEJhc2ljU2hhcGVDaXJjbGVUeXBl
OyB9CkBAIC0yNjMsNiArMjY4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UmFkaXVzWShCYXNp
Y1NoYXBlUmFkaXVzIHJhZGl1c1kpIHsgbV9yYWRpdXNZID0gc3RkOjptb3ZlKHJhZGl1c1kpOyB9
CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCBib29sIGNhbkJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqKSBjb25zdCBP
VkVSUklERTsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3Qg
QmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3QgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIFR5cGUg
dHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIEJhc2ljU2hhcGVFbGxpcHNlVHlwZTsgfQpA
QCAtMzE0LDYgKzMyMCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFwcGVuZFBvaW50KExlbmd0aCB4
LCBMZW5ndGggeSkgeyBtX3ZhbHVlcy5hcHBlbmQoc3RkOjptb3ZlKHgpKTsgbV92YWx1ZXMuYXBw
ZW5kKHN0ZDo6bW92ZSh5KSk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXRoKFBhdGgmLCBjb25z
dCBGbG9hdFJlY3QmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgY2FuQmxlbmQoY29uc3Qg
QmFzaWNTaGFwZSopIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNp
Y1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlKSBjb25zdCBPVkVSUklERTsK
IAogICAgIHZpcnR1YWwgV2luZFJ1bGUgd2luZFJ1bGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVy
biBtX3dpbmRSdWxlOyB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218795</attachid>
            <date>2013-12-09 13:32:33 -0800</date>
            <delta_ts>2013-12-16 06:56:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125108-20131209163231.patch</filename>
            <type>text/plain</type>
            <size>6845</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMjQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDY4ZjMzMTY1NTljZjM1
NTgyNzg0NTEyYWYzYmQ4YmQwNjVlZDZlNy4uMGRlNTZlMzM4ZTYyYWRmYTdhMDM3YjZiNGUzNzEw
NGEwNGNlNTNlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTEyLTA5ICBSb2Ig
QnVpcyAgPHJvYi5idWlzQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtDU1MgU2hhcGVzXSBJbXBs
ZW1lbnQgaW50ZXJwb2xhdGlvbiBiZXR3ZWVuIGtleXdvcmRzIGluIGJhc2ljIHNoYXBlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTA4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHRo
ZSBwb2x5Z29uIGZpbGwtcnVsZSBwYXJ0IG9mIGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzcy1z
aGFwZXMvI2Jhc2ljLXNoYXBlLWludGVycG9sYXRpb24uCisKKyAgICAgICAgQWRhcHQgZmFzdC9z
aGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24uaHRtbC4K
KworICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpCYXNpY1NoYXBlOjpjYW5CbGVuZCk6CisKIDIwMTMtMTItMDYgIFJvYiBCdWlzICA8
cm9iLmJ1aXNAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0NTUyBTaGFwZXNdIFNoYXBlT3V0c2lk
ZUluZm8gbmVlZHMgdG8gdXNlIHRoZSBwYXJlbnQncyB3cml0aW5nIG1vZGUgd2hlbiBjYWxjdWxh
dGluZyBvZmZzZXRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
QmFzaWNTaGFwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jhc2ljU2hh
cGVzLmNwcAppbmRleCBkNzM0NjcxMDVmZTczMWZhZjA1NTllZGFhMDdjNWEyYWY1YmFjZGYxLi4w
MmViYTA3MGUxOTk2OTMzODEwNjljNjIzNzU1ZDVkYmIwMDJmNTYwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHAKQEAgLTQ2LDcgKzQ2LDggQEAg
Ym9vbCBCYXNpY1NoYXBlOjpjYW5CbGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlcikgY29uc3QK
IAogICAgIC8vIEp1c3QgcG9seWdvbnMgd2l0aCBzYW1lIG51bWJlciBvZiB2ZXJ0aWNlcyBjYW4g
YmUgYW5pbWF0ZWQuCiAgICAgaWYgKHR5cGUoKSA9PSBCYXNpY1NoYXBlOjpCYXNpY1NoYXBlUG9s
eWdvblR5cGUKLSAgICAgICAgJiYgc3RhdGljX2Nhc3Q8Y29uc3QgQmFzaWNTaGFwZVBvbHlnb24q
Pih0aGlzKS0+dmFsdWVzKCkuc2l6ZSgpICE9IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljU2hhcGVQ
b2x5Z29uKj4ob3RoZXIpLT52YWx1ZXMoKS5zaXplKCkpCisgICAgICAgICYmIChzdGF0aWNfY2Fz
dDxjb25zdCBCYXNpY1NoYXBlUG9seWdvbio+KHRoaXMpLT52YWx1ZXMoKS5zaXplKCkgIT0gc3Rh
dGljX2Nhc3Q8Y29uc3QgQmFzaWNTaGFwZVBvbHlnb24qPihvdGhlciktPnZhbHVlcygpLnNpemUo
KQorICAgICAgICB8fCBzdGF0aWNfY2FzdDxjb25zdCBCYXNpY1NoYXBlUG9seWdvbio+KHRoaXMp
LT53aW5kUnVsZSgpICE9IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljU2hhcGVQb2x5Z29uKj4ob3Ro
ZXIpLT53aW5kUnVsZSgpKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgLy8gQ2lyY2xl
cyB3aXRoIGtleXdvcmRzIGZvciByYWRpaSBvciBjZW50ZXIgY29vcmRpbmF0ZXMgY2Fubm90IGJl
IGFuaW1hdGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDQxNzk1NzU4OWIzOWFkMTUwN2U3M2ZlNTliN2YyZmU4YTVlZmUw
ZjguLmZiNzM2ZjYzMjQyYjI0ZTI1M2M3NjRjOWEzM2M3ZDhjZTdlOTdkYWIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxMy0xMi0wOSAgUm9iIEJ1aXMgIDxyb2IuYnVpc0BzYW1zdW5nLmNvbT4K
KworICAgICAgICBbQ1NTIFNoYXBlc10gSW1wbGVtZW50IGludGVycG9sYXRpb24gYmV0d2VlbiBr
ZXl3b3JkcyBpbiBiYXNpYyBzaGFwZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNTEwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkYXB0IGZhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3No
YXBlLW91dHNpZGUtYW5pbWF0aW9uLmh0bWwgc28gaXQgYWxzbyB0ZXN0cyBwb2x5Z29uIGFuaW1h
dGlvbgorICAgICAgICB3aGVuIHVzaW5nIGRpZmZlcmVudCBmaWxsIHJ1bGVzLgorCisgICAgICAg
ICogYW5pbWF0aW9ucy9yZXNvdXJjZXMvYW5pbWF0aW9uLXRlc3QtaGVscGVycy5qczoKKyAgICAg
ICAgKHBhcnNlQmFzaWNTaGFwZSk6IGFsc28gYWxsb3cgZXZlbm9kZCB3aGVuIHBhcnNpbmcgdGhl
IHBvbHlnb24KKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFw
ZS1vdXRzaWRlLWFuaW1hdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9zaGFwZXMv
c2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24uaHRtbDoKKwogMjAx
My0xMi0wNiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEZUTCBz
aG91bGQgc3VwcG9ydCBob2xlL09PQiBhcnJheSBhY2Nlc3NlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvYW5pbWF0aW9ucy9yZXNvdXJjZXMvYW5pbWF0aW9uLXRlc3QtaGVscGVycy5qcyBiL0xh
eW91dFRlc3RzL2FuaW1hdGlvbnMvcmVzb3VyY2VzL2FuaW1hdGlvbi10ZXN0LWhlbHBlcnMuanMK
aW5kZXggYTUzYjg1NmZmMTcwZGQyNDQ5ZjAwMjQzMWYxYjliMGFlN2M3ZDQ3YS4uNjgxM2M1ZGI0
ZDYyNjYxMWQ4MjA0NDNmZDE3OTQ0ZjY4ZWZjZGMxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
YW5pbWF0aW9ucy9yZXNvdXJjZXMvYW5pbWF0aW9uLXRlc3QtaGVscGVycy5qcworKysgYi9MYXlv
dXRUZXN0cy9hbmltYXRpb25zL3Jlc291cmNlcy9hbmltYXRpb24tdGVzdC1oZWxwZXJzLmpzCkBA
IC0yMjMsNiArMjIzLDggQEAgZnVuY3Rpb24gcGFyc2VCYXNpY1NoYXBlKHMpCiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgInBvbHlnb24iOgogICAgICAgICBtYXRjaGVzID0gcy5tYXRjaCgicG9s
eWdvblxcKG5vbnplcm8sICguKilcXHMrKC4qKVxccyosXFxzKiguKilcXHMrKC4qKVxccyosXFxz
KiguKilcXHMrKC4qKVxccyosXFxzKiguKilcXHMrKC4qKVxcKSIpOworICAgICAgICBpZiAoIW1h
dGNoZXMpCisgICAgICAgICAgICBtYXRjaGVzID0gcy5tYXRjaCgicG9seWdvblxcKGV2ZW5vZGQs
ICguKilcXHMrKC4qKVxccyosXFxzKiguKilcXHMrKC4qKVxccyosXFxzKiguKilcXHMrKC4qKVxc
cyosXFxzKiguKilcXHMrKC4qKVxcKSIpOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0Ogog
ICAgICAgICByZXR1cm4gbnVsbDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVz
L3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91
dHNpZGUtYW5pbWF0aW9uLWV4cGVjdGVkLnR4dAppbmRleCBmZjlhZmEwMTYwYmQxMzMzNTJjZDAz
OWJiYmZiODIzNGNmNzUzNjc3Li4wZDQ5ODEzNzhlMjM1NmQwYzJkMzQ0MDQwZDEwOGNlNmZkNjJj
NmQ0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZs
b2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRp
b24tZXhwZWN0ZWQudHh0CkBAIC0yLDggKzIsMTAgQEAgTW92aW5nIFRleHQKIE1vdmluZyBUZXh0
CiBNb3ZpbmcgVGV4dAogTW92aW5nIFRleHQKK01vdmluZyBUZXh0CiBQQVNTIC0gIndlYmtpdFNo
YXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJyZWN0YW5nbGUtYm94IiBlbGVtZW50IGF0IDFzIHNh
dyBzb21ldGhpbmcgY2xvc2UgdG86IHJlY3RhbmdsZSgxMCUsIDEwJSwgODAlLCA4MCUsIDBweCwg
MHB4KQogUEFTUyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHByb3BlcnR5IGZvciAiY2lyY2xlLWJv
eCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBjaXJjbGUoMzUlIGF0IDM1
JSAzNSUpCiBQQVNTIC0gIndlYmtpdFNoYXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJlbGxpcHNl
LWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBlbGxpcHNlKDM1JSAz
MCUgYXQgMzUlIDM1JSkKIFBBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3Ig
InBvbHlnb24tYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IHBvbHln
b24obm9uemVybywgMTAlIDEwJSwgOTAlIDEwJSwgOTAlIDkwJSwgMTAlIDkwJSkKK1BBU1MgLSAi
d2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgInBvbHlnb24yLWJveCIgZWxlbWVudCBh
dCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBwb2x5Z29uKG5vbnplcm8sIDIwJSAyMCUsIDgw
JSAyMCUsIDgwJSA4MCUsIDIwJSA4MCUpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRz
aWRlLWFuaW1hdGlvbi5odG1sCmluZGV4IDVkNmNiZjhmYzE1NjFlOTdkMzI2MDg0YzJhZDkyOGJl
NjUwYzJlNjYuLmUzZTZlYzQ0YTE0MjBhNDIyZWY5YjE3OTJmNTk0Y2EwN2M2MGU1NGYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBl
LW91dHNpZGUtYW5pbWF0aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hh
cGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24uaHRtbApAQCAtMzAsNiAr
MzAsOSBAQAogICAgICAgLXdlYmtpdC1hbmltYXRpb246IHBvbHlnb24tYW5pbSAycyBsaW5lYXIK
ICAgICB9CiAKKyAgICAjcG9seWdvbjItYm94IHsKKyAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBw
b2x5Z29uMi1hbmltIDJzIGxpbmVhcgorICAgIH0KIAogICAgIEAtd2Via2l0LWtleWZyYW1lcyBy
ZWN0YW5nbGUtYW5pbSB7CiAgICAgICAgIGZyb20geyAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHJl
Y3RhbmdsZSgwJSwgMCUsIDEwMCUsIDEwMCUpOyB9CkBAIC01MSw2ICs1NCwxMSBAQAogICAgICAg
ICB0byAgIHsgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBwb2x5Z29uKG5vbnplcm8sIDIwJSAyMCUs
IDgwJSAyMCUsIDgwJSA4MCUsIDIwJSA4MCUpOyB9CiAgICAgfQogCisgICAgQC13ZWJraXQta2V5
ZnJhbWVzIHBvbHlnb24yLWFuaW0geworICAgICAgICBmcm9tIHsgLXdlYmtpdC1zaGFwZS1vdXRz
aWRlOiBwb2x5Z29uKGV2ZW5vZGQsIDAlIDAlLCAxMDAlIDAlLCAxMDAlIDEwMCUsIDAlIDEwMCUp
OyB9CisgICAgICAgIHRvICAgeyAtd2Via2l0LXNoYXBlLW91dHNpZGU6IHBvbHlnb24obm9uemVy
bywgMjAlIDIwJSwgODAlIDIwJSwgODAlIDgwJSwgMjAlIDgwJSk7IH0KKyAgICB9CisKICAgPC9z
dHlsZT4KICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2FuaW1hdGlvbnMvcmVzb3VyY2VzL2FuaW1h
dGlvbi10ZXN0LWhlbHBlcnMuanMiPjwvc2NyaXB0PgogICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCI+CkBAIC02MCw2ICs2OCw3IEBACiAgICAgICBbImNpcmNsZS1hbmltIiwgIDEsICJj
aXJjbGUtYm94IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIsICJjaXJjbGUoMzUlIGF0IDM1JSAzNSUp
IiwgMC4wNV0sCiAgICAgICBbImVsbGlwc2UtYW5pbSIsICAxLCAiZWxsaXBzZS1ib3giLCAid2Vi
a2l0U2hhcGVPdXRzaWRlIiwgImVsbGlwc2UoMzUlIDMwJSBhdCAzNSUgMzUlKSIsIDAuMDVdLAog
ICAgICAgWyJwb2x5Z29uLWFuaW0iLCAgMSwgInBvbHlnb24tYm94IiwgIndlYmtpdFNoYXBlT3V0
c2lkZSIsICJwb2x5Z29uKG5vbnplcm8sIDEwJSAxMCUsIDkwJSAxMCUsIDkwJSA5MCUsIDEwJSA5
MCUpIiwgMC4wNV0sCisgICAgICBbInBvbHlnb24yLWFuaW0iLCAgMSwgInBvbHlnb24yLWJveCIs
ICJ3ZWJraXRTaGFwZU91dHNpZGUiLCAicG9seWdvbihub256ZXJvLCAyMCUgMjAlLCA4MCUgMjAl
LCA4MCUgODAlLCAyMCUgODAlKSIsIDAuMDVdLAogICAgIF07CiAgICAgCiAgICAgcnVuQW5pbWF0
aW9uVGVzdChleHBlY3RlZFZhbHVlcyk7CkBAIC04Myw2ICs5MiwxMCBAQAogICA8ZGl2IGNsYXNz
PSJib3giIGlkPSJwb2x5Z29uLWJveCI+PC9kaXY+CiAgIE1vdmluZyBUZXh0CiA8L2Rpdj4KKzxk
aXYgY2xhc3M9J2NvbnRhaW5lcic+CisgIDxkaXYgY2xhc3M9ImJveCIgaWQ9InBvbHlnb24yLWJv
eCI+PC9kaXY+CisgIE1vdmluZyBUZXh0Cis8L2Rpdj4KIAogPGRpdiBpZD0icmVzdWx0Ij4KIDwv
ZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219336</attachid>
            <date>2013-12-16 11:33:35 -0800</date>
            <delta_ts>2013-12-17 14:09:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125108-20131216143333.patch</filename>
            <type>text/plain</type>
            <size>15487</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNjQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjkxOTJlMTFkNTljOTNk
NjM1NTEwYmQyZGUwYWU5MTk5NTc1Y2EzZi4uMTc5MzYxYjU2ZGI3MDlmODA0NjUwNzJiZDgzOWQ2
NWQ4OWNiODI3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTEyLTE2ICBSb2Ig
QnVpcyAgPHJvYi5idWlzQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtDU1MgU2hhcGVzXSBJbXBs
ZW1lbnQgaW50ZXJwb2xhdGlvbiBiZXR3ZWVuIGtleXdvcmRzIGluIGJhc2ljIHNoYXBlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTA4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsb3cgYmxlbmRp
bmcgZm9yIGFsbCBjZW50ZXIgY29vcmRpbmF0ZXMgc2luY2UgdG9wL2xlZnQgYW5kIGJvdHRvbS9y
aWdodCBkZWZhdWx0IHRvIGNvcnJlY3QKKyAgICAgICAgTGVuZ3RoIHZhbHVlcyBvZiAwJSBhbmQg
MTAwJS4KKworICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpCYXNpY1NoYXBlOjpjYW5CbGVuZCk6CisgICAgICAgICogcmVuZGVyaW5n
L3N0eWxlL0Jhc2ljU2hhcGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpCYXNpY1NoYXBlQ2VudGVy
Q29vcmRpbmF0ZTo6YmxlbmQpOgorCiAyMDEzLTEyLTE2ICBIYW5zIE11bGxlciAgPGhtdWxsZXJA
YWRvYmUuY29tPgogCiAgICAgICAgIFtDU1MgU2hhcGVzXSBBZGQgc3VwcG9ydCBmb3IgdGhlIGNv
bXB1dGluZyB0aGUgaW5jbHVkZWQgaW50ZXJ2YWxzIGZvciBhIEJveFNoYXBlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jhc2ljU2hhcGVzLmNwcAppbmRleCAwMmViYTA3MGUx
OTk2OTMzODEwNjljNjIzNzU1ZDVkYmIwMDJmNTYwLi44ZTA4NGZlZGIwZjBjOTY0OTBjM2QwOGVk
ZTYxNGU4NmM2MmQxOTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvQmFzaWNTaGFwZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9C
YXNpY1NoYXBlcy5jcHAKQEAgLTU0LDkgKzU0LDcgQEAgYm9vbCBCYXNpY1NoYXBlOjpjYW5CbGVu
ZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlcikgY29uc3QKICAgICBpZiAodHlwZSgpID09IEJhc2lj
U2hhcGU6OkJhc2ljU2hhcGVDaXJjbGVUeXBlKSB7CiAgICAgICAgIGNvbnN0IEJhc2ljU2hhcGVD
aXJjbGUqIHRoaXNDaXJjbGUgPSBzdGF0aWNfY2FzdDxjb25zdCBCYXNpY1NoYXBlQ2lyY2xlKj4o
dGhpcyk7CiAgICAgICAgIGNvbnN0IEJhc2ljU2hhcGVDaXJjbGUqIG90aGVyQ2lyY2xlID0gc3Rh
dGljX2Nhc3Q8Y29uc3QgQmFzaWNTaGFwZUNpcmNsZSo+KG90aGVyKTsKLSAgICAgICAgaWYgKCF0
aGlzQ2lyY2xlLT5yYWRpdXMoKS5jYW5CbGVuZChvdGhlckNpcmNsZS0+cmFkaXVzKCkpCi0gICAg
ICAgICAgICB8fCAhdGhpc0NpcmNsZS0+Y2VudGVyWCgpLmNhbkJsZW5kKG90aGVyQ2lyY2xlLT5j
ZW50ZXJYKCkpCi0gICAgICAgICAgICB8fCAhdGhpc0NpcmNsZS0+Y2VudGVyWSgpLmNhbkJsZW5k
KG90aGVyQ2lyY2xlLT5jZW50ZXJZKCkpKQorICAgICAgICBpZiAoIXRoaXNDaXJjbGUtPnJhZGl1
cygpLmNhbkJsZW5kKG90aGVyQ2lyY2xlLT5yYWRpdXMoKSkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQogCkBAIC02Nyw5ICs2NSw3IEBAIGJvb2wgQmFzaWNTaGFwZTo6Y2FuQmxl
bmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIpIGNvbnN0CiAgICAgY29uc3QgQmFzaWNTaGFwZUVs
bGlwc2UqIHRoaXNFbGxpcHNlID0gc3RhdGljX2Nhc3Q8Y29uc3QgQmFzaWNTaGFwZUVsbGlwc2Uq
Pih0aGlzKTsKICAgICBjb25zdCBCYXNpY1NoYXBlRWxsaXBzZSogb3RoZXJFbGxpcHNlID0gc3Rh
dGljX2Nhc3Q8Y29uc3QgQmFzaWNTaGFwZUVsbGlwc2UqPihvdGhlcik7CiAgICAgcmV0dXJuICh0
aGlzRWxsaXBzZS0+cmFkaXVzWCgpLmNhbkJsZW5kKG90aGVyRWxsaXBzZS0+cmFkaXVzWCgpKQot
ICAgICAgICAmJiB0aGlzRWxsaXBzZS0+cmFkaXVzWSgpLmNhbkJsZW5kKG90aGVyRWxsaXBzZS0+
cmFkaXVzWSgpKQotICAgICAgICAmJiB0aGlzRWxsaXBzZS0+Y2VudGVyWCgpLmNhbkJsZW5kKG90
aGVyRWxsaXBzZS0+Y2VudGVyWCgpKQotICAgICAgICAmJiB0aGlzRWxsaXBzZS0+Y2VudGVyWSgp
LmNhbkJsZW5kKG90aGVyRWxsaXBzZS0+Y2VudGVyWSgpKSk7CisgICAgICAgICYmIHRoaXNFbGxp
cHNlLT5yYWRpdXNZKCkuY2FuQmxlbmQob3RoZXJFbGxpcHNlLT5yYWRpdXNZKCkpKTsKIH0KIAog
dm9pZCBCYXNpY1NoYXBlUmVjdGFuZ2xlOjpwYXRoKFBhdGgmIHBhdGgsIGNvbnN0IEZsb2F0UmVj
dCYgYm91bmRpbmdCb3gpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvQmFzaWNTaGFwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1No
YXBlcy5oCmluZGV4IDkyNTVmN2IyMzVlYmE1MmJmMTNkZWFjNjdhZDM5NWMwYjg3MDkyYTguLmU0
ZDA2OTg0MDA2NzcxNzY3ZTE0Mjg4Y2U1ZjczNzE0OTE2ZjgwZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oCkBAIC0xNDQsMTcgKzE0NCw4IEBAIHB1
YmxpYzoKICAgICBLZXl3b3JkIGtleXdvcmQoKSBjb25zdCB7IHJldHVybiBtX2tleXdvcmQ7IH0K
ICAgICBjb25zdCBMZW5ndGgmIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CiAK
LSAgICBib29sIGNhbkJsZW5kKGNvbnN0IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlJiBvdGhl
cikgY29uc3QKLSAgICB7Ci0gICAgICAgIC8vIEZJWE1FIGRldGVybWluZSBob3cgdG8gaW50ZXJw
b2xhdGUgYmV0d2VlbiBrZXl3b3Jkcy4gU2VlIGJ1ZyAxMjUxMDguCi0gICAgICAgIHJldHVybiBt
X2tleXdvcmQgPT0gTm9uZSAmJiBvdGhlci5rZXl3b3JkKCkgPT0gTm9uZTsKLSAgICB9Ci0KICAg
ICBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZSBibGVuZChjb25zdCBCYXNpY1NoYXBlQ2VudGVy
Q29vcmRpbmF0ZSYgb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKICAgICB7Ci0gICAgICAg
IGlmIChtX2tleXdvcmQgIT0gTm9uZSB8fCBvdGhlci5rZXl3b3JkKCkgIT0gTm9uZSkKLSAgICAg
ICAgICAgIHJldHVybiBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShvdGhlcik7Ci0KICAgICAg
ICAgcmV0dXJuIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlKG1fbGVuZ3RoLmJsZW5kKG90aGVy
Lmxlbmd0aCgpLCBwcm9ncmVzcykpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5OGRhNGIxMzZmY2UzMGU2
NWE2NTBjY2UyYzJlMWUzNGFkOWVhMmUuLjdkNDk2OWM2ZjJlZjMxNzkzZjNjODRmYjMyMTQ4ZTAw
NmIyMmNkM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMy0xMi0xNiAgUm9iIEJ1aXMgIDxy
b2IuYnVpc0BzYW1zdW5nLmNvbT4KKworICAgICAgICBbQ1NTIFNoYXBlc10gSW1wbGVtZW50IGlu
dGVycG9sYXRpb24gYmV0d2VlbiBrZXl3b3JkcyBpbiBiYXNpYyBzaGFwZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTEwOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0ZXN0cyB0byBzaGFwZS1v
dXRzaWRlLWFuaW1hdGlvbiB0byBzaG93IHRoYXQgYW5pbWF0aW9uIHRvIHRvcC9sZWZ0IGlzIHRo
ZSBzYW1lIGFzIGFuaW1hdGluZworICAgICAgICB0byAwJSBhbmQgYm90dG9tL3JpZ2h0IHRoZSBz
YW1lIGFzIDEwMCUuCisgICAgICAgIEFsc28gYWRkIHRlc3RzIGZvciBpbnZhbGlkIG1peGluZyBv
ZiBrZXl3b3JkIGFuZCB2YWx1ZXMgaW4gdGhlIGNlbnRlciBjb29yZGluYXRlIHRvIHBhcnNpbmct
dGVzdC11dGlscy5qcy4KKworICAgICAgICAqIGZhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1z
aGFwZS1pbnNpZGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvc2hhcGVzL3BhcnNpbmcv
cGFyc2luZy1zaGFwZS1vdXRzaWRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3NoYXBl
cy9wYXJzaW5nL3BhcnNpbmctdGVzdC11dGlscy5qczoKKyAgICAgICAgKiBmYXN0L3NoYXBlcy9z
aGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlvbi1leHBlY3RlZC50eHQ6
CisgICAgICAgICogZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lk
ZS1hbmltYXRpb24uaHRtbDoKKwogMjAxMy0xMi0xNiAgSGFucyBNdWxsZXIgIDxobXVsbGVyQGFk
b2JlLmNvbT4KIAogICAgICAgICBbQ1NTIFNoYXBlc10gQWRkIHN1cHBvcnQgZm9yIHRoZSBjb21w
dXRpbmcgdGhlIGluY2x1ZGVkIGludGVydmFscyBmb3IgYSBCb3hTaGFwZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLWluc2lkZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUt
aW5zaWRlLWV4cGVjdGVkLnR4dAppbmRleCAxZDA4YjVlNTA2YmI5N2IzNzQ5OTJkZWIwZDMxODM2
YjRiNGI0NmI4Li5kMzYxNDA2MzgxODE5MmE1NTI5MzM0NDFjZDE3NWJkZDI5ODg0NmU5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtaW5z
aWRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3Bh
cnNpbmctc2hhcGUtaW5zaWRlLWV4cGVjdGVkLnR4dApAQCAtMTkxLDYgKzE5MSw4IEBAIFBBU1Mg
Z2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKDEwcHggYXQgMTBweCAx
MHB4IGF0IGNlbnRlcikiKSBpCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1z
aGFwZS1pbnNpZGUiLCAiY2lyY2xlKDEwcHggYXQgMTBweCAxMHB4IGF0IGNlbnRlcikiKSBpcyAi
YXV0byIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKDEw
cHggYXQgY2VudGVyIGNlbnRlciAxMHB4KSIpIGlzICIiCiBQQVNTIGdldENvbXB1dGVkU3R5bGVW
YWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKDEwcHggYXQgY2VudGVyIGNlbnRl
ciAxMHB4KSIpIGlzICJhdXRvIgorUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lk
ZSIsICJjaXJjbGUoMTBweCBhdCAxMCUgbGVmdCkiKSBpcyAiIgorUEFTUyBnZXRDb21wdXRlZFN0
eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImNpcmNsZSgxMHB4IGF0IDEwJSBsZWZ0
KSIpIGlzICJhdXRvIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJj
aXJjbGUoYXQgMTBweCAxMHB4IDEwcHgpIikgaXMgIiIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZh
bHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoYXQgMTBweCAxMHB4IDEwcHgpIikg
aXMgImF1dG8iCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImNpcmNs
ZShhdCAxMHB4IDEwcHggYXQgY2VudGVyKSIpIGlzICIiCkBAIC0yMTEsNiArMjEzLDggQEAgUEFT
UyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggYXQgMTBw
eCAxMHB4IGF0IGNlbnRlcikiKQogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQt
c2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCBhdCAxMHB4IDEwcHggYXQgY2VudGVyKSIpIGlz
ICJhdXRvIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNl
KDEwcHggYXQgY2VudGVyIGNlbnRlciAxMHB4KSIpIGlzICIiCiBQQVNTIGdldENvbXB1dGVkU3R5
bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IGNlbnRlciBj
ZW50ZXIgMTBweCkiKSBpcyAiYXV0byIKK1BBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1p
bnNpZGUiLCAiZWxsaXBzZSgxMHB4IDEwcHggYXQgMTAlIGxlZnQpIikgaXMgIiIKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHgg
MTBweCBhdCAxMCUgbGVmdCkiKSBpcyAiYXV0byIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1z
aGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggMzBweCBhdCBjZW50ZXIgY2VudGVyIDEw
cHgpIikgaXMgIiIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWlu
c2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCAzMHB4IGF0IGNlbnRlciBjZW50ZXIgMTBweCkiKSBp
cyAiYXV0byIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBz
ZShhdCAxMHB4IDEwcHggMTBweCkiKSBpcyAiIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLW91dHNpZGUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLW91dHNpZGUtZXhwZWN0
ZWQudHh0CmluZGV4IGE4OTgwNWU2MGFkMDA0N2MyMTk1MjdlMmVlM2I5ODIyNGEyNjJiZGIuLmVk
ZmI5ODU3NTRiMmFkODhkY2RhYTgzMzk4MjgyNTQ2ZGM3YTczMDEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1vdXRzaWRlLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUt
b3V0c2lkZS1leHBlY3RlZC50eHQKQEAgLTE4OSw2ICsxODksOCBAQCBQQVNTIGdldENTU1RleHQo
Ii13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoMTBweCBhdCAxMHB4IDEwcHggYXQgY2Vu
dGVyKSIpCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRl
IiwgImNpcmNsZSgxMHB4IGF0IDEwcHggMTBweCBhdCBjZW50ZXIpIikgaXMgImF1dG8iCiBQQVNT
IGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoMTBweCBhdCBjZW50
ZXIgY2VudGVyIDEwcHgpIikgaXMgIiIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Vi
a2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKDEwcHggYXQgY2VudGVyIGNlbnRlciAxMHB4KSIp
IGlzICJhdXRvIgorUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2ly
Y2xlKDEwcHggYXQgMTAlIGxlZnQpIikgaXMgIiIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVl
KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKDEwcHggYXQgMTAlIGxlZnQpIikgaXMg
ImF1dG8iCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUo
YXQgMTBweCAxMHB4IDEwcHgpIikgaXMgIiIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCIt
d2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKGF0IDEwcHggMTBweCAxMHB4KSIpIGlzICJh
dXRvIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKGF0
IDEwcHggMTBweCBhdCBjZW50ZXIpIikgaXMgIiIKQEAgLTIwOSw2ICsyMTEsOCBAQCBQQVNTIGdl
dENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgMTBweCAx
MHB4IGF0IGNlbnRlcikiKQogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hh
cGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgMTBweCAxMHB4IGF0IGNlbnRlcikiKSBpcyAi
YXV0byIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2Uo
MTBweCBhdCBjZW50ZXIgY2VudGVyIDEwcHgpIikgaXMgIiIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHls
ZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IGNlbnRlciBj
ZW50ZXIgMTBweCkiKSBpcyAiYXV0byIKK1BBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1v
dXRzaWRlIiwgImVsbGlwc2UoMTBweCAxMHB4IGF0IDEwJSBsZWZ0KSIpIGlzICIiCitQQVNTIGdl
dENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBw
eCAxMHB4IGF0IDEwJSBsZWZ0KSIpIGlzICJhdXRvIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0
LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggMzBweCBhdCBjZW50ZXIgY2VudGVy
IDEwcHgpIikgaXMgIiIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBl
LW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggMzBweCBhdCBjZW50ZXIgY2VudGVyIDEwcHgp
IikgaXMgImF1dG8iCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJl
bGxpcHNlKGF0IDEwcHggMTBweCAxMHB4KSIpIGlzICIiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctdGVzdC11dGlscy5qcyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy10ZXN0LXV0aWxzLmpzCmluZGV4IDQyMzFkMjhm
MzA3ZmUzMjg1NmU3MWY2MWRhZDQzODY3OWRkOWFhZDEuLmNjMzI5MDQ2MjhlYjljOGE0MjA3MWZi
OTI5Zjg4OTY2YTU5ODVkNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3Bh
cnNpbmcvcGFyc2luZy10ZXN0LXV0aWxzLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVz
L3BhcnNpbmcvcGFyc2luZy10ZXN0LXV0aWxzLmpzCkBAIC0xMTcsNiArMTE3LDcgQEAgdmFyIGlu
dmFsaWRTaGFwZVZhbHVlcyA9IFsKICAgICAiY2lyY2xlKDEwcHggYXQgMTBweCAxMHB4IDEwcHgp
IiwKICAgICAiY2lyY2xlKDEwcHggYXQgMTBweCAxMHB4IGF0IGNlbnRlcikiLAogICAgICJjaXJj
bGUoMTBweCBhdCBjZW50ZXIgY2VudGVyIDEwcHgpIiwKKyAgICAiY2lyY2xlKDEwcHggYXQgMTAl
IGxlZnQpIiwKICAgICAiY2lyY2xlKGF0IDEwcHggMTBweCAxMHB4KSIsCiAgICAgImNpcmNsZShh
dCAxMHB4IDEwcHggYXQgY2VudGVyKSIsCiAgICAgImNpcmNsZShhdCBjZW50ZXIgY2VudGVyIDEw
cHgpIiwKQEAgLTEyOSw2ICsxMzAsNyBAQCB2YXIgaW52YWxpZFNoYXBlVmFsdWVzID0gWwogICAg
ICJlbGxpcHNlKDEwcHggYXQgMTBweCAxMHB4IDEwcHgpIiwKICAgICAiZWxsaXBzZSgxMHB4IGF0
IDEwcHggMTBweCBhdCBjZW50ZXIpIiwKICAgICAiZWxsaXBzZSgxMHB4IGF0IGNlbnRlciBjZW50
ZXIgMTBweCkiLAorICAgICJlbGxpcHNlKDEwcHggMTBweCBhdCAxMCUgbGVmdCkiLAogICAgICJl
bGxpcHNlKDEwcHggMjBweCAzMHB4IGF0IGNlbnRlciBjZW50ZXIgMTBweCkiLAogICAgICJlbGxp
cHNlKGF0IDEwcHggMTBweCAxMHB4KSIsCiAgICAgImVsbGlwc2UoYXQgMTBweCAxMHB4IGF0IGNl
bnRlcikiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lk
ZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRp
b24tZXhwZWN0ZWQudHh0CmluZGV4IDY4NzA2ODU1Njc2NjhmODg3YTBkOWJhODRkOTdiODkxODFk
MjA4NDEuLjgzNjc2NTFmNjJlYjk3Mzc0ZTg3NTlkZDZlZmI3NTg0YWJmNTVjMTYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91
dHNpZGUtYW5pbWF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBl
cy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlvbi1leHBlY3RlZC50
eHQKQEAgLTQsMTAgKzQsMTggQEAgTW92aW5nIFRleHQKIE1vdmluZyBUZXh0CiBNb3ZpbmcgVGV4
dAogTW92aW5nIFRleHQKK01vdmluZyBUZXh0CitNb3ZpbmcgVGV4dAorTW92aW5nIFRleHQKK01v
dmluZyBUZXh0CiBQQVNTIC0gIndlYmtpdFNoYXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJyZWN0
YW5nbGUtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IHJlY3Rhbmds
ZSgxMCUsIDEwJSwgODAlLCA4MCUsIDBweCwgMHB4KQogUEFTUyAtICJ3ZWJraXRTaGFwZU91dHNp
ZGUiIHByb3BlcnR5IGZvciAiY2lyY2xlLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5n
IGNsb3NlIHRvOiBjaXJjbGUoMzUlIGF0IDM1JSAzNSUpCiBQQVNTIC0gIndlYmtpdFNoYXBlT3V0
c2lkZSIgcHJvcGVydHkgZm9yICJlbGxpcHNlLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRo
aW5nIGNsb3NlIHRvOiBlbGxpcHNlKDM1JSAzMCUgYXQgMzUlIDM1JSkKIFBBU1MgLSAid2Via2l0
U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgInBvbHlnb24tYm94IiBlbGVtZW50IGF0IDFzIHNh
dyBzb21ldGhpbmcgY2xvc2UgdG86IHBvbHlnb24obm9uemVybywgMTAlIDEwJSwgOTAlIDEwJSwg
OTAlIDkwJSwgMTAlIDkwJSkKIFBBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBm
b3IgInBvbHlnb24yLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBw
b2x5Z29uKG5vbnplcm8sIDIwJSAyMCUsIDgwJSAyMCUsIDgwJSA4MCUsIDIwJSA4MCUpCiBQQVNT
IC0gIndlYmtpdFNoYXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJjaXJjbGUtYXV0by1ib3giIGVs
ZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xlKDUwJSBhdCA1MCUgNTAl
KQorUEFTUyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHByb3BlcnR5IGZvciAiY2lyY2xlLXRvLXRv
cGxlZnQtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNpcmNsZSgz
NSUgYXQgMjUlIDI1JSkKK1BBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3Ig
ImNpcmNsZS10by10b3BsZWZ0LXVzaW5nLWtleXdvcmQtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBz
b21ldGhpbmcgY2xvc2UgdG86IGNpcmNsZSgzNSUgYXQgMjUlIDI1JSkKK1BBU1MgLSAid2Via2l0
U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgImNpcmNsZS10by1ib3R0b21yaWdodC1ib3giIGVs
ZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xlKDM1JSBhdCA3NSUgNzUl
KQorUEFTUyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHByb3BlcnR5IGZvciAiY2lyY2xlLXRvLWJv
dHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcg
Y2xvc2UgdG86IGNpcmNsZSgzNSUgYXQgNzUlIDc1JSkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3No
YXBlLW91dHNpZGUtYW5pbWF0aW9uLmh0bWwKaW5kZXggZDI0ZjM2NzRhMjBlM2VhYzcwMTRjMmYx
NjI5ZGJlMjJiY2JhMzUxZS4uNjgzOGMwZTkwYmIzNTBlMDQyZjhkZDU4N2VhMDk5MWVkMjExMTM4
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9h
dHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3No
YXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlvbi5odG1sCkBA
IC0zOCw2ICszOCwyMiBAQAogICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNpcmNsZS1hdXRvLWFu
aW0gMnMgbGluZWFyCiAgICAgfQogCisgICAgI2NpcmNsZS10by10b3BsZWZ0LWJveCB7CisgICAg
ICAtd2Via2l0LWFuaW1hdGlvbjogY2lyY2xlLXRvLXRvcGxlZnQtYW5pbSAycyBsaW5lYXIKKyAg
ICB9CisKKyAgICAjY2lyY2xlLXRvLXRvcGxlZnQtdXNpbmcta2V5d29yZC1ib3ggeworICAgICAg
LXdlYmtpdC1hbmltYXRpb246IGNpcmNsZS10by10b3BsZWZ0LXVzaW5nLWtleXdvcmQtYW5pbSAy
cyBsaW5lYXIKKyAgICB9CisKKyAgICAjY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWJveCB7CisgICAg
ICAtd2Via2l0LWFuaW1hdGlvbjogY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWFuaW0gMnMgbGluZWFy
CisgICAgfQorCisgICAgI2NpcmNsZS10by1ib3R0b21yaWdodC11c2luZy1rZXl3b3JkLWJveCB7
CisgICAgICAtd2Via2l0LWFuaW1hdGlvbjogY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtl
eXdvcmQtYW5pbSAycyBsaW5lYXIKKyAgICB9CisKICAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVj
dGFuZ2xlLWFuaW0gewogICAgICAgICBmcm9tIHsgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiByZWN0
YW5nbGUoMCUsIDAlLCAxMDAlLCAxMDAlKTsgfQogICAgICAgICB0byAgIHsgLXdlYmtpdC1zaGFw
ZS1vdXRzaWRlOiByZWN0YW5nbGUoMjAlLCAyMCUsIDYwJSwgNjAlKTsgfQpAQCAtNjgsNiArODQs
MjUgQEAKICAgICAgICAgdG8gICB7IC13ZWJraXQtc2hhcGUtb3V0c2lkZTogY2lyY2xlKDUwJSBh
dCA1MCUgNTAlKTsgfQogICAgIH0KIAorICAgIEAtd2Via2l0LWtleWZyYW1lcyBjaXJjbGUtdG8t
dG9wbGVmdC1hbmltIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQtc2hhcGUtb3V0c2lkZTogY2ly
Y2xlKDUwJSBhdCA1MCUgNTAlKTsgfQorICAgICAgICB0byAgIHsgLXdlYmtpdC1zaGFwZS1vdXRz
aWRlOiBjaXJjbGUoMjAlIGF0IDAlIDAlKTsgfQorICAgIH0KKworICAgIEAtd2Via2l0LWtleWZy
YW1lcyBjaXJjbGUtdG8tdG9wbGVmdC11c2luZy1rZXl3b3JkLWFuaW0geworICAgICAgICBmcm9t
IHsgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBjaXJjbGUoNTAlIGF0IDUwJSA1MCUpOyB9CisgICAg
ICAgIHRvICAgeyAtd2Via2l0LXNoYXBlLW91dHNpZGU6IGNpcmNsZSgyMCUgYXQgbGVmdCB0b3Ap
OyB9CisgICAgfQorCisgICAgQC13ZWJraXQta2V5ZnJhbWVzIGNpcmNsZS10by1ib3R0b21yaWdo
dC1hbmltIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQtc2hhcGUtb3V0c2lkZTogY2lyY2xlKDUw
JSBhdCA1MCUgNTAlKTsgfQorICAgICAgICB0byAgIHsgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBj
aXJjbGUoMjAlIGF0IDEwMCUgMTAwJSk7IH0KKyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlmcmFt
ZXMgY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQtYW5pbSB7CisgICAgICAgIGZy
b20geyAtd2Via2l0LXNoYXBlLW91dHNpZGU6IGNpcmNsZSg1MCUgYXQgNTAlIDUwJSk7IH0KKyAg
ICAgICAgdG8gICB7IC13ZWJraXQtc2hhcGUtb3V0c2lkZTogY2lyY2xlKDIwJSBhdCBib3R0b20g
cmlnaHQpOyB9CisgICAgfQogICA8L3N0eWxlPgogICA8c2NyaXB0IHNyYz0iLi4vLi4vLi4vYW5p
bWF0aW9ucy9yZXNvdXJjZXMvYW5pbWF0aW9uLXRlc3QtaGVscGVycy5qcyI+PC9zY3JpcHQ+CiAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KQEAgLTc5LDYgKzExNCwxMCBAQAogICAg
ICAgWyJwb2x5Z29uLWFuaW0iLCAgMSwgInBvbHlnb24tYm94IiwgIndlYmtpdFNoYXBlT3V0c2lk
ZSIsICJwb2x5Z29uKG5vbnplcm8sIDEwJSAxMCUsIDkwJSAxMCUsIDkwJSA5MCUsIDEwJSA5MCUp
IiwgMC4wNV0sCiAgICAgICBbInBvbHlnb24yLWFuaW0iLCAgMSwgInBvbHlnb24yLWJveCIsICJ3
ZWJraXRTaGFwZU91dHNpZGUiLCAicG9seWdvbihub256ZXJvLCAyMCUgMjAlLCA4MCUgMjAlLCA4
MCUgODAlLCAyMCUgODAlKSIsIDAuMDVdLAogICAgICAgWyJjaXJjbGUtYXV0by1hbmltIiwgIDEs
ICJjaXJjbGUtYXV0by1ib3giLCAid2Via2l0U2hhcGVPdXRzaWRlIiwgImNpcmNsZSg1MCUgYXQg
NTAlIDUwJSkiLCAwLjA1XSwKKyAgICAgIFsiY2lyY2xlLXRvLXRvcGxlZnQtYW5pbSIsICAxLCAi
Y2lyY2xlLXRvLXRvcGxlZnQtYm94IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIsICJjaXJjbGUoMzUl
IGF0IDI1JSAyNSUpIiwgMC4wNV0sCisgICAgICBbImNpcmNsZS10by10b3BsZWZ0LXVzaW5nLWtl
eXdvcmQtYW5pbSIsICAxLCAiY2lyY2xlLXRvLXRvcGxlZnQtdXNpbmcta2V5d29yZC1ib3giLCAi
d2Via2l0U2hhcGVPdXRzaWRlIiwgImNpcmNsZSgzNSUgYXQgMjUlIDI1JSkiLCAwLjA1XSwKKyAg
ICAgIFsiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWFuaW0iLCAgMSwgImNpcmNsZS10by1ib3R0b21y
aWdodC1ib3giLCAid2Via2l0U2hhcGVPdXRzaWRlIiwgImNpcmNsZSgzNSUgYXQgNzUlIDc1JSki
LCAwLjA1XSwKKyAgICAgIFsiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQtYW5p
bSIsICAxLCAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQtYm94IiwgIndlYmtp
dFNoYXBlT3V0c2lkZSIsICJjaXJjbGUoMzUlIGF0IDc1JSA3NSUpIiwgMC4wNV0sCiAgICAgXTsK
ICAgICAKICAgICBydW5BbmltYXRpb25UZXN0KGV4cGVjdGVkVmFsdWVzKTsKQEAgLTExMCw2ICsx
NDksMjIgQEAKICAgPGRpdiBjbGFzcz0iYm94IiBpZD0iY2lyY2xlLWF1dG8tYm94Ij48L2Rpdj4K
ICAgTW92aW5nIFRleHQKIDwvZGl2PgorPGRpdiBjbGFzcz0nY29udGFpbmVyJz4KKyAgPGRpdiBj
bGFzcz0iYm94IiBpZD0iY2lyY2xlLXRvLXRvcGxlZnQtYm94Ij48L2Rpdj4KKyAgTW92aW5nIFRl
eHQKKzwvZGl2PgorPGRpdiBjbGFzcz0nY29udGFpbmVyJz4KKyAgPGRpdiBjbGFzcz0iYm94IiBp
ZD0iY2lyY2xlLXRvLXRvcGxlZnQtdXNpbmcta2V5d29yZC1ib3giPjwvZGl2PgorICBNb3Zpbmcg
VGV4dAorPC9kaXY+Cis8ZGl2IGNsYXNzPSdjb250YWluZXInPgorICA8ZGl2IGNsYXNzPSJib3gi
IGlkPSJjaXJjbGUtdG8tYm90dG9tcmlnaHQtYm94Ij48L2Rpdj4KKyAgTW92aW5nIFRleHQKKzwv
ZGl2PgorPGRpdiBjbGFzcz0nY29udGFpbmVyJz4KKyAgPGRpdiBjbGFzcz0iYm94IiBpZD0iY2ly
Y2xlLXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQtYm94Ij48L2Rpdj4KKyAgTW92aW5nIFRl
eHQKKzwvZGl2PgogCiA8ZGl2IGlkPSJyZXN1bHQiPgogPC9kaXY+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219451</attachid>
            <date>2013-12-17 14:10:07 -0800</date>
            <delta_ts>2013-12-17 14:50:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125108-20131217171004.patch</filename>
            <type>text/plain</type>
            <size>31920</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBmYTQyYmQ1ZTNlOTg3
YTkzOTdiYjJlYTYzZjc5ZmViYTVkMjMzNi4uNTk1NzJjOGI5MjE0NTA3MGNlMmI2MjQzYTE5ZmU3
OGViZTc2YTE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTEyLTE3ICBSb2Ig
QnVpcyAgPHJvYi5idWlzQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtDU1MgU2hhcGVzXSBJbXBs
ZW1lbnQgaW50ZXJwb2xhdGlvbiBiZXR3ZWVuIGtleXdvcmRzIGluIGJhc2ljIHNoYXBlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTA4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsb3cgYmxlbmRp
bmcgZm9yIGFsbCBjZW50ZXIgY29vcmRpbmF0ZXMgc2luY2UgdG9wL2xlZnQgYW5kIGJvdHRvbS9y
aWdodCBkZWZhdWx0IHRvIGNvcnJlY3QKKyAgICAgICAgTGVuZ3RoIHZhbHVlcyBvZiAwJSBhbmQg
MTAwJS4gRm9yIG1peGVkIGtleXdvcmQgYW5kIHZhbHVlIHBvc2l0aW9ucyBjb21wdXRlIHRoZSBs
ZW5ndGgncyB1c2VkCisgICAgICAgIGZvciBibGVuZGluZyB0byBwZXJjZW50YWdlcy4gVGhpcyBp
cyBwb3NzaWJsZSBzaW5jZSB3ZSBjb21wdXRlIHRoZSByZWZlcmVuY2UgYm94IGJvdW5kcyBnaXZl
biB0aGUKKyAgICAgICAgcmVuZGVyZXIuCisKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9DU1NQ
cm9wZXJ0eUFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpibGVuZEZ1bmMpOiBQYXNz
IGFkZGl0aW9uYWwgUmVuZGVyQm94IHBhcmFtZXRlci4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvQmFzaWNTaGFwZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZTo6Y2FuQmxl
bmQpOiBEb24ndCBjaGVjayBjaXJjbGUvZWxsaXBzZSBjZW50ZXIgYW55bW9yZSwgYnV0IGRvIGNo
ZWNrIHRoYXQgYm90aAorICAgICAgICBzaGFwZXMgdXNlIHRoZSBzYW1lIHJlZmVyZW5jZSBib3gu
CisgICAgICAgIChXZWJDb3JlOjpCYXNpY1NoYXBlOjpyZWZlcmVuY2VCb3hTaXplKTogQ29tcHV0
ZSBib3ggZGltZW5zaW9uIGRlcGVuZGluZyBvbiByZWZlcmVuY2UgYm94LgorICAgICAgICAoV2Vi
Q29yZTo6QmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6Omxlbmd0aEZvckJsZW5kaW5nKTogQ29u
dmVydCB0byBwZXJjZW50YWdlIGZvciBCb3R0b20vUmlnaHQuCisgICAgICAgIChXZWJDb3JlOjpC
YXNpY1NoYXBlUmVjdGFuZ2xlOjpibGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVk
QmFzaWNTaGFwZUNpcmNsZTo6YmxlbmQpOgorICAgICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZUNp
cmNsZTo6YmxlbmQpOgorICAgICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZEJhc2ljU2hhcGVFbGxp
cHNlOjpibGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpCYXNpY1NoYXBlRWxsaXBzZTo6YmxlbmQp
OgorICAgICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZVBvbHlnb246OmJsZW5kKToKKyAgICAgICAg
KFdlYkNvcmU6OkJhc2ljU2hhcGVJbnNldFJlY3RhbmdsZTo6YmxlbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6QmFzaWNTaGFwZUluc2V0OjpibGVuZCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxl
L0Jhc2ljU2hhcGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpCYXNpY1NoYXBlQ2VudGVyQ29vcmRp
bmF0ZTo6YmxlbmQpOiBVc2UgbmV3IGxlbmd0aEZvckJsZW5kaW5nLgorCiAyMDEzLTEyLTE3ICBT
aW1vbiBQZW5hICA8c2ltb24ucGVuYUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbTklYXSBFbmFi
bGUgZnVsbCBkZWJ1ZyBidWlsZHMgYnkgaGF2aW5nIGFyIGNyZWF0aW5nIHRoaW4gYXJjaGl2ZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5p
bWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5p
bWF0aW9uLmNwcAppbmRleCA2ZDEyNDE5Y2M2MjZlMTVkMWQ2NGJkODU4YjFhZTkyMjQ5YzgwMjJj
Li45NDU5MGU1OGI0Nzk0MDM0NTVjNzcxMWE5NWZhNTBlYmNhNTdmMWExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3Bw
CkBAIC0xMjUsNyArMTI1LDcgQEAgc3RhdGljIGlubGluZSBUcmFuc2Zvcm1PcGVyYXRpb25zIGJs
ZW5kRnVuYyhjb25zdCBBbmltYXRpb25CYXNlKiBhbmltLCBjb25zdCBUcmEKICAgICByZXR1cm4g
dG8uYmxlbmRCeVVzaW5nTWF0cml4SW50ZXJwb2xhdGlvbihmcm9tLCBwcm9ncmVzcywgYW5pbS0+
cmVuZGVyZXIoKS0+aXNCb3goKSA/IHRvUmVuZGVyQm94KGFuaW0tPnJlbmRlcmVyKCkpLT5ib3Jk
ZXJCb3hSZWN0KCkuc2l6ZSgpIDogTGF5b3V0U2l6ZSgpKTsKIH0KIAotc3RhdGljIGlubGluZSBQ
YXNzUmVmUHRyPENsaXBQYXRoT3BlcmF0aW9uPiBibGVuZEZ1bmMoY29uc3QgQW5pbWF0aW9uQmFz
ZSosIENsaXBQYXRoT3BlcmF0aW9uKiBmcm9tLCBDbGlwUGF0aE9wZXJhdGlvbiogdG8sIGRvdWJs
ZSBwcm9ncmVzcykKK3N0YXRpYyBpbmxpbmUgUGFzc1JlZlB0cjxDbGlwUGF0aE9wZXJhdGlvbj4g
YmxlbmRGdW5jKGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIENsaXBQYXRoT3BlcmF0aW9uKiBm
cm9tLCBDbGlwUGF0aE9wZXJhdGlvbiogdG8sIGRvdWJsZSBwcm9ncmVzcykKIHsKICAgICBpZiAo
IWZyb20gfHwgIXRvKQogICAgICAgICByZXR1cm4gdG87CkBAIC0xNDAsMTEgKzE0MCwxMiBAQCBz
dGF0aWMgaW5saW5lIFBhc3NSZWZQdHI8Q2xpcFBhdGhPcGVyYXRpb24+IGJsZW5kRnVuYyhjb25z
dCBBbmltYXRpb25CYXNlKiwgQ2xpcAogICAgIGlmICghZnJvbVNoYXBlLT5jYW5CbGVuZCh0b1No
YXBlKSkKICAgICAgICAgcmV0dXJuIHRvOwogCi0gICAgcmV0dXJuIFNoYXBlQ2xpcFBhdGhPcGVy
YXRpb246OmNyZWF0ZSh0b1NoYXBlLT5ibGVuZChmcm9tU2hhcGUsIHByb2dyZXNzKSk7CisgICAg
QVNTRVJUKGFuaW0tPnJlbmRlcmVyKCktPmlzQm94KCkpOworICAgIHJldHVybiBTaGFwZUNsaXBQ
YXRoT3BlcmF0aW9uOjpjcmVhdGUodG9TaGFwZS0+YmxlbmQoZnJvbVNoYXBlLCBwcm9ncmVzcywg
dG9SZW5kZXJCb3goYW5pbS0+cmVuZGVyZXIoKSkpKTsKIH0KIAogI2lmIEVOQUJMRShDU1NfU0hB
UEVTKQotc3RhdGljIGlubGluZSBQYXNzUmVmUHRyPFNoYXBlVmFsdWU+IGJsZW5kRnVuYyhjb25z
dCBBbmltYXRpb25CYXNlKiwgU2hhcGVWYWx1ZSogZnJvbSwgU2hhcGVWYWx1ZSogdG8sIGRvdWJs
ZSBwcm9ncmVzcykKK3N0YXRpYyBpbmxpbmUgUGFzc1JlZlB0cjxTaGFwZVZhbHVlPiBibGVuZEZ1
bmMoY29uc3QgQW5pbWF0aW9uQmFzZSogYW5pbSwgU2hhcGVWYWx1ZSogZnJvbSwgU2hhcGVWYWx1
ZSogdG8sIGRvdWJsZSBwcm9ncmVzcykKIHsKICAgICBpZiAoIWZyb20gfHwgIXRvKQogICAgICAg
ICByZXR1cm4gdG87CkBAIC0xNTksNyArMTYwLDggQEAgc3RhdGljIGlubGluZSBQYXNzUmVmUHRy
PFNoYXBlVmFsdWU+IGJsZW5kRnVuYyhjb25zdCBBbmltYXRpb25CYXNlKiwgU2hhcGVWYWx1ZSoK
ICAgICBpZiAoIWZyb21TaGFwZS0+Y2FuQmxlbmQodG9TaGFwZSkpCiAgICAgICAgIHJldHVybiB0
bzsKIAotICAgIHJldHVybiBTaGFwZVZhbHVlOjpjcmVhdGVTaGFwZVZhbHVlKHRvU2hhcGUtPmJs
ZW5kKGZyb21TaGFwZSwgcHJvZ3Jlc3MpKTsKKyAgICBBU1NFUlQoYW5pbS0+cmVuZGVyZXIoKS0+
aXNCb3goKSk7CisgICAgcmV0dXJuIFNoYXBlVmFsdWU6OmNyZWF0ZVNoYXBlVmFsdWUodG9TaGFw
ZS0+YmxlbmQoZnJvbVNoYXBlLCBwcm9ncmVzcywgdG9SZW5kZXJCb3goYW5pbS0+cmVuZGVyZXIo
KSkpKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvQmFzaWNTaGFwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jh
c2ljU2hhcGVzLmNwcAppbmRleCAwMmViYTA3MGUxOTk2OTMzODEwNjljNjIzNzU1ZDVkYmIwMDJm
NTYwLi5lYjM1ZjdiNDg2MzY5ZmY5N2FhY2JmMTdmMTI1ZTQ3NjgxMjY0NGM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHAKQEAgLTM1LDYgKzM1
LDcgQEAKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJMZW5ndGhGdW5jdGlvbnMu
aCIKICNpbmNsdWRlICJQYXRoLmgiCisjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtNDQsMzIgKzQ1LDYxIEBAIGJvb2wgQmFzaWNTaGFwZTo6Y2FuQmxl
bmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIpIGNvbnN0CiAgICAgaWYgKHR5cGUoKSAhPSBvdGhl
ci0+dHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAvLyBCb3RoIHNoYXBlcyBt
dXN0IHVzZSB0aGUgc2FtZSByZWZlcmVuY2UgYm94LgorICAgIGlmIChib3goKSAhPSBvdGhlci0+
Ym94KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIC8vIEp1c3QgcG9seWdvbnMgd2l0
aCBzYW1lIG51bWJlciBvZiB2ZXJ0aWNlcyBjYW4gYmUgYW5pbWF0ZWQuCiAgICAgaWYgKHR5cGUo
KSA9PSBCYXNpY1NoYXBlOjpCYXNpY1NoYXBlUG9seWdvblR5cGUKICAgICAgICAgJiYgKHN0YXRp
Y19jYXN0PGNvbnN0IEJhc2ljU2hhcGVQb2x5Z29uKj4odGhpcyktPnZhbHVlcygpLnNpemUoKSAh
PSBzdGF0aWNfY2FzdDxjb25zdCBCYXNpY1NoYXBlUG9seWdvbio+KG90aGVyKS0+dmFsdWVzKCku
c2l6ZSgpCiAgICAgICAgIHx8IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljU2hhcGVQb2x5Z29uKj4o
dGhpcyktPndpbmRSdWxlKCkgIT0gc3RhdGljX2Nhc3Q8Y29uc3QgQmFzaWNTaGFwZVBvbHlnb24q
PihvdGhlciktPndpbmRSdWxlKCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBD
aXJjbGVzIHdpdGgga2V5d29yZHMgZm9yIHJhZGlpIG9yIGNlbnRlciBjb29yZGluYXRlcyBjYW5u
b3QgYmUgYW5pbWF0ZWQuCisgICAgLy8gQ2lyY2xlcyB3aXRoIGtleXdvcmRzIGZvciByYWRpaSBj
b29yZGluYXRlcyBjYW5ub3QgYmUgYW5pbWF0ZWQuCiAgICAgaWYgKHR5cGUoKSA9PSBCYXNpY1No
YXBlOjpCYXNpY1NoYXBlQ2lyY2xlVHlwZSkgewogICAgICAgICBjb25zdCBCYXNpY1NoYXBlQ2ly
Y2xlKiB0aGlzQ2lyY2xlID0gc3RhdGljX2Nhc3Q8Y29uc3QgQmFzaWNTaGFwZUNpcmNsZSo+KHRo
aXMpOwogICAgICAgICBjb25zdCBCYXNpY1NoYXBlQ2lyY2xlKiBvdGhlckNpcmNsZSA9IHN0YXRp
Y19jYXN0PGNvbnN0IEJhc2ljU2hhcGVDaXJjbGUqPihvdGhlcik7Ci0gICAgICAgIGlmICghdGhp
c0NpcmNsZS0+cmFkaXVzKCkuY2FuQmxlbmQob3RoZXJDaXJjbGUtPnJhZGl1cygpKQotICAgICAg
ICAgICAgfHwgIXRoaXNDaXJjbGUtPmNlbnRlclgoKS5jYW5CbGVuZChvdGhlckNpcmNsZS0+Y2Vu
dGVyWCgpKQotICAgICAgICAgICAgfHwgIXRoaXNDaXJjbGUtPmNlbnRlclkoKS5jYW5CbGVuZChv
dGhlckNpcmNsZS0+Y2VudGVyWSgpKSkKKyAgICAgICAgaWYgKCF0aGlzQ2lyY2xlLT5yYWRpdXMo
KS5jYW5CbGVuZChvdGhlckNpcmNsZS0+cmFkaXVzKCkpKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIH0KIAotICAgIC8vIEVsbGlwc2VzIHdpdGgga2V5d29yZHMgZm9yIHJhZGlpIG9y
IGNlbnRlciBjb29yZGluYXRlcyBjYW5ub3QgYmUgYW5pbWF0ZWQuCisgICAgLy8gRWxsaXBzZXMg
d2l0aCBrZXl3b3JkcyBmb3IgcmFkaWkgY29vcmRpbmF0ZXMgY2Fubm90IGJlIGFuaW1hdGVkLgog
ICAgIGlmICh0eXBlKCkgIT0gQmFzaWNTaGFwZTo6QmFzaWNTaGFwZUVsbGlwc2VUeXBlKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGNvbnN0IEJhc2ljU2hhcGVFbGxpcHNlKiB0aGlzRWxs
aXBzZSA9IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljU2hhcGVFbGxpcHNlKj4odGhpcyk7CiAgICAg
Y29uc3QgQmFzaWNTaGFwZUVsbGlwc2UqIG90aGVyRWxsaXBzZSA9IHN0YXRpY19jYXN0PGNvbnN0
IEJhc2ljU2hhcGVFbGxpcHNlKj4ob3RoZXIpOwogICAgIHJldHVybiAodGhpc0VsbGlwc2UtPnJh
ZGl1c1goKS5jYW5CbGVuZChvdGhlckVsbGlwc2UtPnJhZGl1c1goKSkKLSAgICAgICAgJiYgdGhp
c0VsbGlwc2UtPnJhZGl1c1koKS5jYW5CbGVuZChvdGhlckVsbGlwc2UtPnJhZGl1c1koKSkKLSAg
ICAgICAgJiYgdGhpc0VsbGlwc2UtPmNlbnRlclgoKS5jYW5CbGVuZChvdGhlckVsbGlwc2UtPmNl
bnRlclgoKSkKLSAgICAgICAgJiYgdGhpc0VsbGlwc2UtPmNlbnRlclkoKS5jYW5CbGVuZChvdGhl
ckVsbGlwc2UtPmNlbnRlclkoKSkpOworICAgICAgICAmJiB0aGlzRWxsaXBzZS0+cmFkaXVzWSgp
LmNhbkJsZW5kKG90aGVyRWxsaXBzZS0+cmFkaXVzWSgpKSk7Cit9CisKK0Zsb2F0U2l6ZSBCYXNp
Y1NoYXBlOjpyZWZlcmVuY2VCb3hTaXplKFJlbmRlckJveCogcmVuZGVyZXIpIGNvbnN0Cit7Cisg
ICAgc3dpdGNoIChib3goKSkgeworICAgIGNhc2UgQ29udGVudEJveDoKKyAgICAgICAgcmV0dXJu
IHJlbmRlcmVyLT5jb250ZW50Qm94UmVjdCgpLnNpemUoKTsKKyAgICBjYXNlIFBhZGRpbmdCb3g6
CisgICAgICAgIHJldHVybiByZW5kZXJlci0+cGFkZGluZ0JveFJlY3QoKS5zaXplKCk7CisgICAg
Y2FzZSBCb3JkZXJCb3g6CisgICAgICAgIHJldHVybiByZW5kZXJlci0+c2l6ZSgpOworICAgIGNh
c2UgTm9uZTogLy8gSWYgPGJveD4gaXMgbm90IHN1cHBsaWVkLCB0aGVuIHRoZSByZWZlcmVuY2Ug
Ym94IGRlZmF1bHRzIHRvIG1hcmdpbi1ib3guCisgICAgY2FzZSBNYXJnaW5Cb3g6CisgICAgICAg
IHJldHVybiBGbG9hdFNpemUocmVuZGVyZXItPm1hcmdpbkxlZnQoKSArIHJlbmRlcmVyLT53aWR0
aCgpICsgcmVuZGVyZXItPm1hcmdpblJpZ2h0KCksCisgICAgICAgICAgICAgICAgICAgICAgICAg
cmVuZGVyZXItPm1hcmdpblRvcCgpICsgcmVuZGVyZXItPmhlaWdodCgpICsgcmVuZGVyZXItPm1h
cmdpbkJvdHRvbSgpKTsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBy
ZXR1cm4gRmxvYXRTaXplKCk7Cit9CisKK0xlbmd0aCBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0
ZTo6bGVuZ3RoRm9yQmxlbmRpbmcoY29uc3QgRmxvYXRTaXplJiBib3hTaXplKSBjb25zdAorewor
ICAgIExlbmd0aCBsZW5ndGggPSB0aGlzLT5sZW5ndGgoKTsKKyAgICBpZiAoa2V5d29yZCgpID09
IFJpZ2h0KQorICAgICAgICByZXR1cm4gTGVuZ3RoKDEwMCAtIChsZW5ndGguaXNQZXJjZW50KCkg
PyBsZW5ndGgucGVyY2VudCgpIDogMTAwLmYgKiAobGVuZ3RoLnZhbHVlKCkgLyBib3hTaXplLndp
ZHRoKCkpKSwgUGVyY2VudCk7CisgICAgaWYgKGtleXdvcmQoKSA9PSBCb3R0b20pCisgICAgICAg
IHJldHVybiBMZW5ndGgoMTAwIC0gKGxlbmd0aC5pc1BlcmNlbnQoKSA/IGxlbmd0aC5wZXJjZW50
KCkgOiAxMDAuZiAqIChsZW5ndGgudmFsdWUoKSAvIGJveFNpemUuaGVpZ2h0KCkpKSwgUGVyY2Vu
dCk7CisgICAgcmV0dXJuIGxlbmd0aDsKIH0KIAogdm9pZCBCYXNpY1NoYXBlUmVjdGFuZ2xlOjpw
YXRoKFBhdGgmIHBhdGgsIGNvbnN0IEZsb2F0UmVjdCYgYm91bmRpbmdCb3gpCkBAIC04OSw3ICsx
MTksNyBAQCB2b2lkIEJhc2ljU2hhcGVSZWN0YW5nbGU6OnBhdGgoUGF0aCYgcGF0aCwgY29uc3Qg
RmxvYXRSZWN0JiBib3VuZGluZ0JveCkKICAgICApOwogfQogCi1QYXNzUmVmUHRyPEJhc2ljU2hh
cGU+IEJhc2ljU2hhcGVSZWN0YW5nbGU6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBk
b3VibGUgcHJvZ3Jlc3MpIGNvbnN0CitQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IEJhc2ljU2hhcGVS
ZWN0YW5nbGU6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3Ms
IFJlbmRlckJveCopIGNvbnN0CiB7CiAgICAgQVNTRVJUKHR5cGUoKSA9PSBvdGhlci0+dHlwZSgp
KTsKIApAQCAtMTE5LDcgKzE0OSw3IEBAIHZvaWQgRGVwcmVjYXRlZEJhc2ljU2hhcGVDaXJjbGU6
OnBhdGgoUGF0aCYgcGF0aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkKICAgICApKTsK
IH0KIAotUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBEZXByZWNhdGVkQmFzaWNTaGFwZUNpcmNsZTo6
YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKK1Bh
c3NSZWZQdHI8QmFzaWNTaGFwZT4gRGVwcmVjYXRlZEJhc2ljU2hhcGVDaXJjbGU6OmJsZW5kKGNv
bnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MsIFJlbmRlckJveCopIGNvbnN0
CiB7CiAgICAgQVNTRVJUKHR5cGUoKSA9PSBvdGhlci0+dHlwZSgpKTsKIApAQCAtMTYxLDE0ICsx
OTEsMTUgQEAgdm9pZCBCYXNpY1NoYXBlQ2lyY2xlOjpwYXRoKFBhdGgmIHBhdGgsIGNvbnN0IEZs
b2F0UmVjdCYgYm91bmRpbmdCb3gpCiAgICAgKSk7CiB9CiAKLVBhc3NSZWZQdHI8QmFzaWNTaGFw
ZT4gQmFzaWNTaGFwZUNpcmNsZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJs
ZSBwcm9ncmVzcykgY29uc3QKK1Bhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZUNpcmNs
ZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcywgUmVuZGVy
Qm94KiByZW5kZXJlcikgY29uc3QKIHsKICAgICBBU1NFUlQodHlwZSgpID09IG90aGVyLT50eXBl
KCkpOwogICAgIGNvbnN0IEJhc2ljU2hhcGVDaXJjbGUqIG8gPSBzdGF0aWNfY2FzdDxjb25zdCBC
YXNpY1NoYXBlQ2lyY2xlKj4ob3RoZXIpOwogICAgIFJlZlB0cjxCYXNpY1NoYXBlQ2lyY2xlPiBy
ZXN1bHQgPSAgQmFzaWNTaGFwZUNpcmNsZTo6Y3JlYXRlKCk7CiAKLSAgICByZXN1bHQtPnNldENl
bnRlclgobV9jZW50ZXJYLmJsZW5kKG8tPmNlbnRlclgoKSwgcHJvZ3Jlc3MpKTsKLSAgICByZXN1
bHQtPnNldENlbnRlclkobV9jZW50ZXJZLmJsZW5kKG8tPmNlbnRlclkoKSwgcHJvZ3Jlc3MpKTsK
KyAgICBGbG9hdFNpemUgYm94U2l6ZSA9IHJlZmVyZW5jZUJveFNpemUocmVuZGVyZXIpOworICAg
IHJlc3VsdC0+c2V0Q2VudGVyWChtX2NlbnRlclguYmxlbmQoby0+Y2VudGVyWCgpLCBwcm9ncmVz
cywgYm94U2l6ZSkpOworICAgIHJlc3VsdC0+c2V0Q2VudGVyWShtX2NlbnRlclkuYmxlbmQoby0+
Y2VudGVyWSgpLCBwcm9ncmVzcywgYm94U2l6ZSkpOwogICAgIHJlc3VsdC0+c2V0UmFkaXVzKG1f
cmFkaXVzLmJsZW5kKG8tPnJhZGl1cygpLCBwcm9ncmVzcykpOwogICAgIHJldHVybiByZXN1bHQu
cmVsZWFzZSgpOwogfQpAQCAtMTg4LDcgKzIxOSw3IEBAIHZvaWQgRGVwcmVjYXRlZEJhc2ljU2hh
cGVFbGxpcHNlOjpwYXRoKFBhdGgmIHBhdGgsIGNvbnN0IEZsb2F0UmVjdCYgYm91bmRpbmdCb3gp
CiAgICAgKSk7CiB9CiAKLVBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gRGVwcmVjYXRlZEJhc2ljU2hh
cGVFbGxpcHNlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNz
KSBjb25zdAorUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBEZXByZWNhdGVkQmFzaWNTaGFwZUVsbGlw
c2U6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MsIFJlbmRl
ckJveCopIGNvbnN0CiB7CiAgICAgQVNTRVJUKHR5cGUoKSA9PSBvdGhlci0+dHlwZSgpKTsKIApA
QCAtMjI4LDcgKzI1OSw3IEBAIHZvaWQgQmFzaWNTaGFwZUVsbGlwc2U6OnBhdGgoUGF0aCYgcGF0
aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkKICAgICAgICAgcmFkaXVzWSAqIDIpKTsK
IH0KIAotUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlRWxsaXBzZTo6YmxlbmQoY29u
c3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcykgY29uc3QKK1Bhc3NSZWZQdHI8
QmFzaWNTaGFwZT4gQmFzaWNTaGFwZUVsbGlwc2U6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90
aGVyLCBkb3VibGUgcHJvZ3Jlc3MsIFJlbmRlckJveCogcmVuZGVyZXIpIGNvbnN0CiB7CiAgICAg
QVNTRVJUKHR5cGUoKSA9PSBvdGhlci0+dHlwZSgpKTsKICAgICBjb25zdCBCYXNpY1NoYXBlRWxs
aXBzZSogbyA9IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljU2hhcGVFbGxpcHNlKj4ob3RoZXIpOwpA
QCAtMjQzLDggKzI3NCw5IEBAIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZUVsbGlw
c2U6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3VibGUKICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKICAgICB9CiAKLSAgICByZXN1bHQtPnNldENlbnRlclgobV9jZW50ZXJYLmJsZW5k
KG8tPmNlbnRlclgoKSwgcHJvZ3Jlc3MpKTsKLSAgICByZXN1bHQtPnNldENlbnRlclkobV9jZW50
ZXJZLmJsZW5kKG8tPmNlbnRlclkoKSwgcHJvZ3Jlc3MpKTsKKyAgICBGbG9hdFNpemUgYm94U2l6
ZSA9IHJlZmVyZW5jZUJveFNpemUocmVuZGVyZXIpOworICAgIHJlc3VsdC0+c2V0Q2VudGVyWCht
X2NlbnRlclguYmxlbmQoby0+Y2VudGVyWCgpLCBwcm9ncmVzcywgYm94U2l6ZSkpOworICAgIHJl
c3VsdC0+c2V0Q2VudGVyWShtX2NlbnRlclkuYmxlbmQoby0+Y2VudGVyWSgpLCBwcm9ncmVzcywg
Ym94U2l6ZSkpOwogICAgIHJlc3VsdC0+c2V0UmFkaXVzWChtX3JhZGl1c1guYmxlbmQoby0+cmFk
aXVzWCgpLCBwcm9ncmVzcykpOwogICAgIHJlc3VsdC0+c2V0UmFkaXVzWShtX3JhZGl1c1kuYmxl
bmQoby0+cmFkaXVzWSgpLCBwcm9ncmVzcykpOwogICAgIHJldHVybiByZXN1bHQucmVsZWFzZSgp
OwpAQCAtMjY4LDcgKzMwMCw3IEBAIHZvaWQgQmFzaWNTaGFwZVBvbHlnb246OnBhdGgoUGF0aCYg
cGF0aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkKICAgICBwYXRoLmNsb3NlU3VicGF0
aCgpOwogfQogCi1QYXNzUmVmUHRyPEJhc2ljU2hhcGU+IEJhc2ljU2hhcGVQb2x5Z29uOjpibGVu
ZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzKSBjb25zdAorUGFzc1Jl
ZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlUG9seWdvbjo6YmxlbmQoY29uc3QgQmFzaWNTaGFw
ZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcywgUmVuZGVyQm94KikgY29uc3QKIHsKICAgICBBU1NF
UlQodHlwZSgpID09IG90aGVyLT50eXBlKCkpOwogCkBAIC0zMTAsNyArMzQyLDcgQEAgdm9pZCBC
YXNpY1NoYXBlSW5zZXRSZWN0YW5nbGU6OnBhdGgoUGF0aCYgcGF0aCwgY29uc3QgRmxvYXRSZWN0
JiBib3VuZGluZ0JveCkKICAgICApOwogfQogCi1QYXNzUmVmUHRyPEJhc2ljU2hhcGU+IEJhc2lj
U2hhcGVJbnNldFJlY3RhbmdsZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJs
ZSBwcm9ncmVzcykgY29uc3QKK1Bhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZUluc2V0
UmVjdGFuZ2xlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNz
LCBSZW5kZXJCb3gqKSBjb25zdAogewogICAgIEFTU0VSVCh0eXBlKCkgPT0gb3RoZXItPnR5cGUo
KSk7CiAKQEAgLTM1Niw3ICszODgsNyBAQCB2b2lkIEJhc2ljU2hhcGVJbnNldDo6cGF0aChQYXRo
JiBwYXRoLCBjb25zdCBGbG9hdFJlY3QmIGJvdW5kaW5nQm94KQogICAgICk7CiB9CiAKLVBhc3NS
ZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZUluc2V0OjpibGVuZChjb25zdCBCYXNpY1NoYXBl
KiBvdGhlciwgZG91YmxlIHByb2dyZXNzKSBjb25zdAorUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBC
YXNpY1NoYXBlSW5zZXQ6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJv
Z3Jlc3MsIFJlbmRlckJveCopIGNvbnN0CiB7CiAgICAgQVNTRVJUKHR5cGUoKSA9PSBvdGhlci0+
dHlwZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jh
c2ljU2hhcGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMu
aAppbmRleCA5MjU1ZjdiMjM1ZWJhNTJiZjEzZGVhYzY3YWQzOTVjMGI4NzA5MmE4Li5kM2E3ZGQw
YTA2Zjc3NjE4MDFlYjlmOGM3NmRlMjQ1M2ZkYTAxNjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuaApAQCAtNDEsNiArNDEsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIEZsb2F0UmVjdDsKIGNsYXNzIFBhdGg7CitjbGFzcyBSZW5kZXJC
b3g7CiAKIGNsYXNzIEJhc2ljU2hhcGUgOiBwdWJsaWMgUmVmQ291bnRlZDxCYXNpY1NoYXBlPiB7
CiBwdWJsaWM6CkBAIC02OSw3ICs3MCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBw
YXRoKFBhdGgmLCBjb25zdCBGbG9hdFJlY3QmKSA9IDA7CiAgICAgdmlydHVhbCBXaW5kUnVsZSB3
aW5kUnVsZSgpIGNvbnN0IHsgcmV0dXJuIFJVTEVfTk9OWkVSTzsgfQotICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlKSBjb25z
dCA9IDA7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJh
c2ljU2hhcGUqLCBkb3VibGUsIFJlbmRlckJveCopIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1YWwg
VHlwZSB0eXBlKCkgY29uc3QgPSAwOwogCkBAIC04Miw2ICs4Myw4IEBAIHByb3RlY3RlZDoKICAg
ICB7CiAgICAgfQogCisgICAgRmxvYXRTaXplIHJlZmVyZW5jZUJveFNpemUoUmVuZGVyQm94Kikg
Y29uc3Q7CisKIHByaXZhdGU6CiAgICAgUmVmZXJlbmNlQm94IG1fYm94OwogfTsKQEAgLTExMyw3
ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIHBhdGgoUGF0aCYs
IGNvbnN0IEZsb2F0UmVjdCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNp
Y1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlKSBjb25zdCBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFw
ZSosIGRvdWJsZSwgUmVuZGVyQm94KikgY29uc3QgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIFR5
cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIEJhc2ljU2hhcGVSZWN0YW5nbGVUeXBl
OyB9CiBwcml2YXRlOgpAQCAtMTQzLDE5ICsxNDYsMTEgQEAgcHVibGljOgogCiAgICAgS2V5d29y
ZCBrZXl3b3JkKCkgY29uc3QgeyByZXR1cm4gbV9rZXl3b3JkOyB9CiAgICAgY29uc3QgTGVuZ3Ro
JiBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xlbmd0aDsgfQorICAgIExlbmd0aCBsZW5ndGhG
b3JCbGVuZGluZyhjb25zdCBGbG9hdFNpemUmKSBjb25zdDsKIAotICAgIGJvb2wgY2FuQmxlbmQo
Y29uc3QgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUmIG90aGVyKSBjb25zdAotICAgIHsKLSAg
ICAgICAgLy8gRklYTUUgZGV0ZXJtaW5lIGhvdyB0byBpbnRlcnBvbGF0ZSBiZXR3ZWVuIGtleXdv
cmRzLiBTZWUgYnVnIDEyNTEwOC4KLSAgICAgICAgcmV0dXJuIG1fa2V5d29yZCA9PSBOb25lICYm
IG90aGVyLmtleXdvcmQoKSA9PSBOb25lOwotICAgIH0KLQotICAgIEJhc2ljU2hhcGVDZW50ZXJD
b29yZGluYXRlIGJsZW5kKGNvbnN0IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlJiBvdGhlciwg
ZG91YmxlIHByb2dyZXNzKSBjb25zdAorICAgIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlIGJs
ZW5kKGNvbnN0IEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlJiBvdGhlciwgZG91YmxlIHByb2dy
ZXNzLCBjb25zdCBGbG9hdFNpemUmIGJveFNpemUpIGNvbnN0CiAgICAgewotICAgICAgICBpZiAo
bV9rZXl3b3JkICE9IE5vbmUgfHwgb3RoZXIua2V5d29yZCgpICE9IE5vbmUpCi0gICAgICAgICAg
ICByZXR1cm4gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUob3RoZXIpOwotCi0gICAgICAgIHJl
dHVybiBCYXNpY1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShtX2xlbmd0aC5ibGVuZChvdGhlci5sZW5n
dGgoKSwgcHJvZ3Jlc3MpKTsKKyAgICAgICAgcmV0dXJuIEJhc2ljU2hhcGVDZW50ZXJDb29yZGlu
YXRlKGxlbmd0aEZvckJsZW5kaW5nKGJveFNpemUpLmJsZW5kKG90aGVyLmxlbmd0aEZvckJsZW5k
aW5nKGJveFNpemUpLCBwcm9ncmVzcykpOwogICAgIH0KIAogcHJpdmF0ZToKQEAgLTIxMiw3ICsy
MDcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSYWRpdXMoQmFzaWNTaGFwZVJhZGl1cyByYWRp
dXMpIHsgbV9yYWRpdXMgPSBzdGQ6Om1vdmUocmFkaXVzKTsgfQogCiAgICAgdmlydHVhbCB2b2lk
IHBhdGgoUGF0aCYsIGNvbnN0IEZsb2F0UmVjdCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgUGFz
c1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlKSBjb25z
dCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29u
c3QgQmFzaWNTaGFwZSosIGRvdWJsZSwgUmVuZGVyQm94KikgY29uc3QgT1ZFUlJJREU7CiAKICAg
ICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIEJhc2ljU2hhcGVD
aXJjbGVUeXBlOyB9CiBwcml2YXRlOgpAQCAtMjM2LDcgKzIzMSw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldFJhZGl1cyhMZW5ndGggcmFkaXVzKSB7IG1fcmFkaXVzID0gc3RkOjptb3ZlKHJhZGl1
cyk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXRoKFBhdGgmLCBjb25zdCBGbG9hdFJlY3QmKSBP
VkVSUklERTsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3Qg
QmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBQYXNzUmVm
UHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUsIFJlbmRlckJv
eCopIGNvbnN0IE9WRVJSSURFOwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCBPVkVS
UklERSB7IHJldHVybiBEZXByZWNhdGVkQmFzaWNTaGFwZUNpcmNsZVR5cGU7IH0KIHByaXZhdGU6
CkBAIC0yNjMsNyArMjU4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UmFkaXVzWShCYXNpY1No
YXBlUmFkaXVzIHJhZGl1c1kpIHsgbV9yYWRpdXNZID0gc3RkOjptb3ZlKHJhZGl1c1kpOyB9CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJREU7
Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hh
cGUqLCBkb3VibGUpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNp
Y1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlLCBSZW5kZXJCb3gqKSBjb25z
dCBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgT1ZFUlJJREUgeyBy
ZXR1cm4gQmFzaWNTaGFwZUVsbGlwc2VUeXBlOyB9CiBwcml2YXRlOgpAQCAtMjkwLDcgKzI4NSw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFJhZGl1c1koTGVuZ3RoIHJhZGl1c1kpIHsgbV9yYWRp
dXNZID0gc3RkOjptb3ZlKHJhZGl1c1kpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRo
JiwgY29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEJh
c2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUpIGNvbnN0IE9WRVJSSURF
OworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1No
YXBlKiwgZG91YmxlLCBSZW5kZXJCb3gqKSBjb25zdCBPVkVSUklERTsKIAogICAgIHZpcnR1YWwg
VHlwZSB0eXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gRGVwcmVjYXRlZEJhc2ljU2hhcGVF
bGxpcHNlVHlwZTsgfQogcHJpdmF0ZToKQEAgLTMxNCw3ICszMDksNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBhcHBlbmRQb2ludChMZW5ndGggeCwgTGVuZ3RoIHkpIHsgbV92YWx1ZXMuYXBwZW5kKHN0
ZDo6bW92ZSh4KSk7IG1fdmFsdWVzLmFwcGVuZChzdGQ6Om1vdmUoeSkpOyB9CiAKICAgICB2aXJ0
dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJREU7Ci0gICAgdmly
dHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3Vi
bGUpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBi
bGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlLCBSZW5kZXJCb3gqKSBjb25zdCBPVkVSUklE
RTsKIAogICAgIHZpcnR1YWwgV2luZFJ1bGUgd2luZFJ1bGUoKSBjb25zdCBPVkVSUklERSB7IHJl
dHVybiBtX3dpbmRSdWxlOyB9CiAKQEAgLTM1NSw3ICszNTAsNyBAQCBwdWJsaWM6CiAgICAgfQog
CiAgICAgdmlydHVhbCB2b2lkIHBhdGgoUGF0aCYsIGNvbnN0IEZsb2F0UmVjdCYpIE9WRVJSSURF
OwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1No
YXBlKiwgZG91YmxlKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFz
aWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSwgUmVuZGVyQm94KikgY29u
c3QgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsg
cmV0dXJuIEJhc2ljU2hhcGVJbnNldFJlY3RhbmdsZVR5cGU7IH0KIHByaXZhdGU6CkBAIC0zOTQs
NyArMzg5LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Qm90dG9tTGVmdFJhZGl1cyhMZW5ndGhT
aXplIHJhZGl1cykgeyBtX2JvdHRvbUxlZnRSYWRpdXMgPSBzdGQ6Om1vdmUocmFkaXVzKTsgfQog
CiAgICAgdmlydHVhbCB2b2lkIHBhdGgoUGF0aCYsIGNvbnN0IEZsb2F0UmVjdCYpIE9WRVJSSURF
OwotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1No
YXBlKiwgZG91YmxlKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFz
aWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSwgUmVuZGVyQm94KikgY29u
c3QgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsg
cmV0dXJuIEJhc2ljU2hhcGVJbnNldFR5cGU7IH0KIHByaXZhdGU6CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTU2YTFlNGE4
YTBmOWJhMTRmOTFhNDBjMzg4ODZjMGZlNGFkMmRkYS4uZmQ1MTcwZjhkM2ExY2NiYzgwYTMyOWE5
NmEwZWVmOWM2NmFmZGU1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTEyLTE3ICBSb2Ig
QnVpcyAgPHJvYi5idWlzQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtDU1MgU2hhcGVzXSBJbXBs
ZW1lbnQgaW50ZXJwb2xhdGlvbiBiZXR3ZWVuIGtleXdvcmRzIGluIGJhc2ljIHNoYXBlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTA4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3RzIHRv
IHNoYXBlLW91dHNpZGUtYW5pbWF0aW9uIHdoZW4gYW5pbWF0aW5nIHVzaW5nIGtleXdvcmRzIGZv
ciB0aGUgY2lyY2xlL2VsbGlwc2UgY2VudGVyIHBvc2l0aW9ucy4KKyAgICAgICAgQWxzbyBhZGQg
dGVzdHMgZm9yIGludmFsaWQgbWl4aW5nIG9mIGtleXdvcmQgYW5kIHZhbHVlcyBpbiB0aGUgY2Vu
dGVyIGNvb3JkaW5hdGUgdG8gcGFyc2luZy10ZXN0LXV0aWxzLmpzLgorCisgICAgICAgICogZmFz
dC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLWluc2lkZS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLW91dHNpZGUtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGZhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy10ZXN0LXV0aWxzLmpz
OgorICAgICAgICAqIGZhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNp
ZGUtYW5pbWF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3NoYXBlcy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlvbi5odG1sOgorCiAyMDEzLTEyLTE3
ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFAc2Ftc3VuZy5jb20+CiAKICAgICAg
ICAgW0dUS11bV0syXSByb3dBdEluZGV4IGlzIG5vdCBpbXBsZW1lbnRlZCBpbiBEUlQvV0tUUgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBl
LWluc2lkZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3Bh
cnNpbmctc2hhcGUtaW5zaWRlLWV4cGVjdGVkLnR4dAppbmRleCAxZDA4YjVlNTA2YmI5N2IzNzQ5
OTJkZWIwZDMxODM2YjRiNGI0NmI4Li5kMzYxNDA2MzgxODE5MmE1NTI5MzM0NDFjZDE3NWJkZDI5
ODg0NmU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNp
bmctc2hhcGUtaW5zaWRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBl
cy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtaW5zaWRlLWV4cGVjdGVkLnR4dApAQCAtMTkxLDYgKzE5
MSw4IEBAIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKDEw
cHggYXQgMTBweCAxMHB4IGF0IGNlbnRlcikiKSBpCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1
ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKDEwcHggYXQgMTBweCAxMHB4IGF0IGNl
bnRlcikiKSBpcyAiYXV0byIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUi
LCAiY2lyY2xlKDEwcHggYXQgY2VudGVyIGNlbnRlciAxMHB4KSIpIGlzICIiCiBQQVNTIGdldENv
bXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKDEwcHggYXQg
Y2VudGVyIGNlbnRlciAxMHB4KSIpIGlzICJhdXRvIgorUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0
LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoMTBweCBhdCAxMCUgbGVmdCkiKSBpcyAiIgorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImNpcmNsZSgxMHB4
IGF0IDEwJSBsZWZ0KSIpIGlzICJhdXRvIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBl
LWluc2lkZSIsICJjaXJjbGUoYXQgMTBweCAxMHB4IDEwcHgpIikgaXMgIiIKIFBBU1MgZ2V0Q29t
cHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoYXQgMTBweCAx
MHB4IDEwcHgpIikgaXMgImF1dG8iCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5z
aWRlIiwgImNpcmNsZShhdCAxMHB4IDEwcHggYXQgY2VudGVyKSIpIGlzICIiCkBAIC0yMTEsNiAr
MjEzLDggQEAgUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNl
KDEwcHggYXQgMTBweCAxMHB4IGF0IGNlbnRlcikiKQogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFs
dWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCBhdCAxMHB4IDEwcHggYXQg
Y2VudGVyKSIpIGlzICJhdXRvIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lk
ZSIsICJlbGxpcHNlKDEwcHggYXQgY2VudGVyIGNlbnRlciAxMHB4KSIpIGlzICIiCiBQQVNTIGdl
dENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4
IGF0IGNlbnRlciBjZW50ZXIgMTBweCkiKSBpcyAiYXV0byIKK1BBU1MgZ2V0Q1NTVGV4dCgiLXdl
YmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IDEwcHggYXQgMTAlIGxlZnQpIikgaXMg
IiIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJl
bGxpcHNlKDEwcHggMTBweCBhdCAxMCUgbGVmdCkiKSBpcyAiYXV0byIKIFBBU1MgZ2V0Q1NTVGV4
dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggMzBweCBhdCBjZW50
ZXIgY2VudGVyIDEwcHgpIikgaXMgIiIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Vi
a2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCAzMHB4IGF0IGNlbnRlciBjZW50
ZXIgMTBweCkiKSBpcyAiYXV0byIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNp
ZGUiLCAiZWxsaXBzZShhdCAxMHB4IDEwcHggMTBweCkiKSBpcyAiIgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLW91dHNpZGUtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLW91
dHNpZGUtZXhwZWN0ZWQudHh0CmluZGV4IGE4OTgwNWU2MGFkMDA0N2MyMTk1MjdlMmVlM2I5ODIy
NGEyNjJiZGIuLmVkZmI5ODU3NTRiMmFkODhkY2RhYTgzMzk4MjgyNTQ2ZGM3YTczMDEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1vdXRz
aWRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3Bh
cnNpbmctc2hhcGUtb3V0c2lkZS1leHBlY3RlZC50eHQKQEAgLTE4OSw2ICsxODksOCBAQCBQQVNT
IGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoMTBweCBhdCAxMHB4
IDEwcHggYXQgY2VudGVyKSIpCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1z
aGFwZS1vdXRzaWRlIiwgImNpcmNsZSgxMHB4IGF0IDEwcHggMTBweCBhdCBjZW50ZXIpIikgaXMg
ImF1dG8iCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUo
MTBweCBhdCBjZW50ZXIgY2VudGVyIDEwcHgpIikgaXMgIiIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHls
ZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKDEwcHggYXQgY2VudGVyIGNl
bnRlciAxMHB4KSIpIGlzICJhdXRvIgorUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLW91
dHNpZGUiLCAiY2lyY2xlKDEwcHggYXQgMTAlIGxlZnQpIikgaXMgIiIKK1BBU1MgZ2V0Q29tcHV0
ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKDEwcHggYXQgMTAl
IGxlZnQpIikgaXMgImF1dG8iCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lk
ZSIsICJjaXJjbGUoYXQgMTBweCAxMHB4IDEwcHgpIikgaXMgIiIKIFBBU1MgZ2V0Q29tcHV0ZWRT
dHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiY2lyY2xlKGF0IDEwcHggMTBweCAx
MHB4KSIpIGlzICJhdXRvIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLW91dHNpZGUi
LCAiY2lyY2xlKGF0IDEwcHggMTBweCBhdCBjZW50ZXIpIikgaXMgIiIKQEAgLTIwOSw2ICsyMTEs
OCBAQCBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEw
cHggYXQgMTBweCAxMHB4IGF0IGNlbnRlcikiKQogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUo
Ii13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgMTBweCAxMHB4IGF0IGNl
bnRlcikiKSBpcyAiYXV0byIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRzaWRl
IiwgImVsbGlwc2UoMTBweCBhdCBjZW50ZXIgY2VudGVyIDEwcHgpIikgaXMgIiIKIFBBU1MgZ2V0
Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4
IGF0IGNlbnRlciBjZW50ZXIgMTBweCkiKSBpcyAiYXV0byIKK1BBU1MgZ2V0Q1NTVGV4dCgiLXdl
YmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCAxMHB4IGF0IDEwJSBsZWZ0KSIpIGlz
ICIiCitQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwg
ImVsbGlwc2UoMTBweCAxMHB4IGF0IDEwJSBsZWZ0KSIpIGlzICJhdXRvIgogUEFTUyBnZXRDU1NU
ZXh0KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggMzBweCBhdCBj
ZW50ZXIgY2VudGVyIDEwcHgpIikgaXMgIiIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCIt
d2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4IDIwcHggMzBweCBhdCBjZW50ZXIg
Y2VudGVyIDEwcHgpIikgaXMgImF1dG8iCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUt
b3V0c2lkZSIsICJlbGxpcHNlKGF0IDEwcHggMTBweCAxMHB4KSIpIGlzICIiCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctdGVzdC11dGlscy5qcyBi
L0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy10ZXN0LXV0aWxzLmpzCmlu
ZGV4IDQyMzFkMjhmMzA3ZmUzMjg1NmU3MWY2MWRhZDQzODY3OWRkOWFhZDEuLmNjMzI5MDQ2Mjhl
YjljOGE0MjA3MWZiOTI5Zjg4OTY2YTU5ODVkNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy10ZXN0LXV0aWxzLmpzCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy10ZXN0LXV0aWxzLmpzCkBAIC0xMTcsNiArMTE3
LDcgQEAgdmFyIGludmFsaWRTaGFwZVZhbHVlcyA9IFsKICAgICAiY2lyY2xlKDEwcHggYXQgMTBw
eCAxMHB4IDEwcHgpIiwKICAgICAiY2lyY2xlKDEwcHggYXQgMTBweCAxMHB4IGF0IGNlbnRlciki
LAogICAgICJjaXJjbGUoMTBweCBhdCBjZW50ZXIgY2VudGVyIDEwcHgpIiwKKyAgICAiY2lyY2xl
KDEwcHggYXQgMTAlIGxlZnQpIiwKICAgICAiY2lyY2xlKGF0IDEwcHggMTBweCAxMHB4KSIsCiAg
ICAgImNpcmNsZShhdCAxMHB4IDEwcHggYXQgY2VudGVyKSIsCiAgICAgImNpcmNsZShhdCBjZW50
ZXIgY2VudGVyIDEwcHgpIiwKQEAgLTEyOSw2ICsxMzAsNyBAQCB2YXIgaW52YWxpZFNoYXBlVmFs
dWVzID0gWwogICAgICJlbGxpcHNlKDEwcHggYXQgMTBweCAxMHB4IDEwcHgpIiwKICAgICAiZWxs
aXBzZSgxMHB4IGF0IDEwcHggMTBweCBhdCBjZW50ZXIpIiwKICAgICAiZWxsaXBzZSgxMHB4IGF0
IGNlbnRlciBjZW50ZXIgMTBweCkiLAorICAgICJlbGxpcHNlKDEwcHggMTBweCBhdCAxMCUgbGVm
dCkiLAogICAgICJlbGxpcHNlKDEwcHggMjBweCAzMHB4IGF0IGNlbnRlciBjZW50ZXIgMTBweCki
LAogICAgICJlbGxpcHNlKGF0IDEwcHggMTBweCAxMHB4KSIsCiAgICAgImVsbGlwc2UoYXQgMTBw
eCAxMHB4IGF0IGNlbnRlcikiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMv
c2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24tZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0
c2lkZS1hbmltYXRpb24tZXhwZWN0ZWQudHh0CmluZGV4IDY4NzA2ODU1Njc2NjhmODg3YTBkOWJh
ODRkOTdiODkxODFkMjA4NDEuLmEzZWVlOTQzNDFjM2IwOTQzMmIzMDhiOGFhNWVlNWEyY2RmOTY3
ZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxv
YXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlv
bi1leHBlY3RlZC50eHQKQEAgLTQsMTAgKzQsMjQgQEAgTW92aW5nIFRleHQKIE1vdmluZyBUZXh0
CiBNb3ZpbmcgVGV4dAogTW92aW5nIFRleHQKK01vdmluZyBUZXh0CitNb3ZpbmcgVGV4dAorTW92
aW5nIFRleHQKK01vdmluZyBUZXh0CitNb3ZpbmcgVGV4dAorTW92aW5nIFRleHQKK01vdmluZyBU
ZXh0CiBQQVNTIC0gIndlYmtpdFNoYXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJyZWN0YW5nbGUt
Ym94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IHJlY3RhbmdsZSgxMCUs
IDEwJSwgODAlLCA4MCUsIDBweCwgMHB4KQogUEFTUyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHBy
b3BlcnR5IGZvciAiY2lyY2xlLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3Nl
IHRvOiBjaXJjbGUoMzUlIGF0IDM1JSAzNSUpCiBQQVNTIC0gIndlYmtpdFNoYXBlT3V0c2lkZSIg
cHJvcGVydHkgZm9yICJlbGxpcHNlLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNs
b3NlIHRvOiBlbGxpcHNlKDM1JSAzMCUgYXQgMzUlIDM1JSkKIFBBU1MgLSAid2Via2l0U2hhcGVP
dXRzaWRlIiBwcm9wZXJ0eSBmb3IgInBvbHlnb24tYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21l
dGhpbmcgY2xvc2UgdG86IHBvbHlnb24obm9uemVybywgMTAlIDEwJSwgOTAlIDEwJSwgOTAlIDkw
JSwgMTAlIDkwJSkKIFBBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgInBv
bHlnb24yLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBwb2x5Z29u
KG5vbnplcm8sIDIwJSAyMCUsIDgwJSAyMCUsIDgwJSA4MCUsIDIwJSA4MCUpCiBQQVNTIC0gIndl
YmtpdFNoYXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJjaXJjbGUtYXV0by1ib3giIGVsZW1lbnQg
YXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xlKDUwJSBhdCA1MCUgNTAlKQorUEFT
UyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHByb3BlcnR5IGZvciAiY2lyY2xlLXRvLXRvcGxlZnQt
Ym94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNpcmNsZSgzNSUgYXQg
MjUlIDI1JSkKK1BBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgImNpcmNs
ZS10by10b3BsZWZ0LWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiBj
aXJjbGUoMzUlIGF0IDI1JSAyNSUpCitQQVNTIC0gIndlYmtpdFNoYXBlT3V0c2lkZSIgcHJvcGVy
dHkgZm9yICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtdXNpbmcta2V5d29yZC1ib3giIGVsZW1lbnQg
YXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xlKDM1JSBhdCA3NSUgNzUlKQorUEFT
UyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHByb3BlcnR5IGZvciAiY2lyY2xlLXRvLWJvdHRvbXJp
Z2h0LXVzaW5nLWtleXdvcmQtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2Ug
dG86IGNpcmNsZSgzNSUgYXQgNzUlIDc1JSkKK1BBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBw
cm9wZXJ0eSBmb3IgImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC1ib3giIGVsZW1lbnQg
YXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xlKDM1JSBhdCA3NSUgNzUlKQorUEFT
UyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHByb3BlcnR5IGZvciAiY2lyY2xlLXRvLWJvdHRvbXJp
Z2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhp
bmcgY2xvc2UgdG86IGNpcmNsZSgzNSUgYXQgNzAlIDcwJSkKK1BBU1MgLSAid2Via2l0U2hhcGVP
dXRzaWRlIiBwcm9wZXJ0eSBmb3IgImNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2lu
Zy1rZXl3b3JkLTItYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNp
cmNsZSgzNSUgYXQgNzAlIDcwJSkKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFw
ZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24uaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUt
YW5pbWF0aW9uLmh0bWwKaW5kZXggZDI0ZjM2NzRhMjBlM2VhYzcwMTRjMmYxNjI5ZGJlMjJiY2Jh
MzUxZS4uYjljMzNlNDUyMDg5NmRlMzlhYTkyYWZkMzAyMGE3MGRiZTA3N2EyOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0
c2lkZS1hbmltYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1v
dXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlvbi5odG1sCkBAIC0xMCw3ICsxMCw3
IEBACiAgICAgLmJveCB7CiAgICAgICAgIGhlaWdodDogMTAwcHg7CiAgICAgICAgIHdpZHRoOiAx
MDBweDsKLSAgICAgICAgbWFyZ2luOiAxMHB4OworICAgICAgICBtYXJnaW46IDUwcHg7CiAgICAg
ICAgIGZsb2F0OiBsZWZ0OwogICAgIH0KIApAQCAtMzgsNiArMzgsMzQgQEAKICAgICAgIC13ZWJr
aXQtYW5pbWF0aW9uOiBjaXJjbGUtYXV0by1hbmltIDJzIGxpbmVhcgogICAgIH0KIAorICAgICNj
aXJjbGUtdG8tdG9wbGVmdC1ib3ggeworICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNpcmNsZS10
by10b3BsZWZ0LWFuaW0gMnMgbGluZWFyCisgICAgfQorCisgICAgI2NpcmNsZS10by10b3BsZWZ0
LXVzaW5nLWtleXdvcmQtYm94IHsKKyAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBjaXJjbGUtdG8t
dG9wbGVmdC11c2luZy1rZXl3b3JkLWFuaW0gMnMgbGluZWFyCisgICAgfQorCisgICAgI2NpcmNs
ZS10by1ib3R0b21yaWdodC1ib3ggeworICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNpcmNsZS10
by1ib3R0b21yaWdodC1hbmltIDJzIGxpbmVhcgorICAgIH0KKworICAgICNjaXJjbGUtdG8tYm90
dG9tcmlnaHQtdXNpbmcta2V5d29yZC1ib3ggeworICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNp
cmNsZS10by1ib3R0b21yaWdodC11c2luZy1rZXl3b3JkLWFuaW0gMnMgbGluZWFyCisgICAgfQor
CisgICAgI2NpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC1ib3ggeworICAgICAgLXdlYmtp
dC1hbmltYXRpb246IGNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC1hbmltIDJzIGxpbmVh
cgorICAgIH0KKworICAgICNjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNpbmcta2V5
d29yZC1ib3ggeworICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNpcmNsZS10by1ib3R0b21yaWdo
dC1leHRlbmRlZC11c2luZy1rZXl3b3JkLWFuaW0gMnMgbGluZWFyCisgICAgfQorCisgICAgI2Np
cmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1rZXl3b3JkLTItYm94IHsKKyAgICAg
IC13ZWJraXQtYW5pbWF0aW9uOiBjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNpbmct
a2V5d29yZC0yLWFuaW0gMnMgbGluZWFyCisgICAgfQorCiAgICAgQC13ZWJraXQta2V5ZnJhbWVz
IHJlY3RhbmdsZS1hbmltIHsKICAgICAgICAgZnJvbSB7IC13ZWJraXQtc2hhcGUtb3V0c2lkZTog
cmVjdGFuZ2xlKDAlLCAwJSwgMTAwJSwgMTAwJSk7IH0KICAgICAgICAgdG8gICB7IC13ZWJraXQt
c2hhcGUtb3V0c2lkZTogcmVjdGFuZ2xlKDIwJSwgMjAlLCA2MCUsIDYwJSk7IH0KQEAgLTY4LDYg
Kzk2LDQwIEBACiAgICAgICAgIHRvICAgeyAtd2Via2l0LXNoYXBlLW91dHNpZGU6IGNpcmNsZSg1
MCUgYXQgNTAlIDUwJSk7IH0KICAgICB9CiAKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgY2lyY2xl
LXRvLXRvcGxlZnQtYW5pbSB7CisgICAgICAgIGZyb20geyAtd2Via2l0LXNoYXBlLW91dHNpZGU6
IGNpcmNsZSg1MCUgYXQgNTAlIDUwJSk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtc2hhcGUt
b3V0c2lkZTogY2lyY2xlKDIwJSBhdCAwJSAwJSk7IH0KKyAgICB9CisKKyAgICBALXdlYmtpdC1r
ZXlmcmFtZXMgY2lyY2xlLXRvLXRvcGxlZnQtdXNpbmcta2V5d29yZC1hbmltIHsKKyAgICAgICAg
ZnJvbSB7IC13ZWJraXQtc2hhcGUtb3V0c2lkZTogY2lyY2xlKDUwJSBhdCA1MCUgNTAlKTsgfQor
ICAgICAgICB0byAgIHsgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBjaXJjbGUoMjAlIGF0IGxlZnQg
dG9wKTsgfQorICAgIH0KKworICAgIEAtd2Via2l0LWtleWZyYW1lcyBjaXJjbGUtdG8tYm90dG9t
cmlnaHQtYW5pbSB7CisgICAgICAgIGZyb20geyAtd2Via2l0LXNoYXBlLW91dHNpZGU6IGNpcmNs
ZSg1MCUgYXQgNTAlIDUwJSk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtc2hhcGUtb3V0c2lk
ZTogY2lyY2xlKDIwJSBhdCAxMDAlIDEwMCUpOyB9CisgICAgfQorCisgICAgQC13ZWJraXQta2V5
ZnJhbWVzIGNpcmNsZS10by1ib3R0b21yaWdodC11c2luZy1rZXl3b3JkLWFuaW0geworICAgICAg
ICBmcm9tIHsgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBjaXJjbGUoNTAlIGF0IDUwJSA1MCUpOyB9
CisgICAgICAgIHRvICAgeyAtd2Via2l0LXNoYXBlLW91dHNpZGU6IGNpcmNsZSgyMCUgYXQgcmln
aHQgYm90dG9tKTsgfQorICAgIH0KKworICAgIEAtd2Via2l0LWtleWZyYW1lcyBjaXJjbGUtdG8t
Ym90dG9tcmlnaHQtZXh0ZW5kZWQtYW5pbSB7CisgICAgICAgIGZyb20geyAtd2Via2l0LXNoYXBl
LW91dHNpZGU6IGNpcmNsZSg1MCUgYXQgNTAlIDUwJSk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJr
aXQtc2hhcGUtb3V0c2lkZTogY2lyY2xlKDIwJSBhdCAxMDAlIDEwMCUpOyB9CisgICAgfQorCisg
ICAgQC13ZWJraXQta2V5ZnJhbWVzIGNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2lu
Zy1rZXl3b3JkLWFuaW0geworICAgICAgICBmcm9tIHsgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBj
aXJjbGUoNTAlIGF0IDUwJSA1MCUpOyB9CisgICAgICAgIHRvICAgeyAtd2Via2l0LXNoYXBlLW91
dHNpZGU6IGNpcmNsZSgyMCUgYXQgcmlnaHQgMTAlIGJvdHRvbSAyMHB4KTsgfQorICAgIH0KKwor
ICAgIEAtd2Via2l0LWtleWZyYW1lcyBjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNp
bmcta2V5d29yZC0yLWFuaW0geworICAgICAgICBmcm9tIHsgLXdlYmtpdC1zaGFwZS1vdXRzaWRl
OiBjaXJjbGUoNTAlIGF0IDUwJSA1MCUpIGJvcmRlci1ib3g7IH0KKyAgICAgICAgdG8gICB7IC13
ZWJraXQtc2hhcGUtb3V0c2lkZTogY2lyY2xlKDIwJSBhdCByaWdodCAxMCUgYm90dG9tIDEwcHgp
IGJvcmRlci1ib3g7IH0KKyAgICB9CiAgIDwvc3R5bGU+CiAgIDxzY3JpcHQgc3JjPSIuLi8uLi8u
Li9hbmltYXRpb25zL3Jlc291cmNlcy9hbmltYXRpb24tdGVzdC1oZWxwZXJzLmpzIj48L3Njcmlw
dD4KICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpAQCAtNzksNiArMTQxLDEzIEBA
CiAgICAgICBbInBvbHlnb24tYW5pbSIsICAxLCAicG9seWdvbi1ib3giLCAid2Via2l0U2hhcGVP
dXRzaWRlIiwgInBvbHlnb24obm9uemVybywgMTAlIDEwJSwgOTAlIDEwJSwgOTAlIDkwJSwgMTAl
IDkwJSkiLCAwLjA1XSwKICAgICAgIFsicG9seWdvbjItYW5pbSIsICAxLCAicG9seWdvbjItYm94
IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIsICJwb2x5Z29uKG5vbnplcm8sIDIwJSAyMCUsIDgwJSAy
MCUsIDgwJSA4MCUsIDIwJSA4MCUpIiwgMC4wNV0sCiAgICAgICBbImNpcmNsZS1hdXRvLWFuaW0i
LCAgMSwgImNpcmNsZS1hdXRvLWJveCIsICJ3ZWJraXRTaGFwZU91dHNpZGUiLCAiY2lyY2xlKDUw
JSBhdCA1MCUgNTAlKSIsIDAuMDVdLAorICAgICAgWyJjaXJjbGUtdG8tdG9wbGVmdC1hbmltIiwg
IDEsICJjaXJjbGUtdG8tdG9wbGVmdC1ib3giLCAid2Via2l0U2hhcGVPdXRzaWRlIiwgImNpcmNs
ZSgzNSUgYXQgMjUlIDI1JSkiLCAwLjA1XSwKKyAgICAgIFsiY2lyY2xlLXRvLXRvcGxlZnQtYW5p
bSIsICAxLCAiY2lyY2xlLXRvLXRvcGxlZnQtYm94IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIsICJj
aXJjbGUoMzUlIGF0IDI1JSAyNSUpIiwgMC4wNV0sCisgICAgICBbImNpcmNsZS10by1ib3R0b21y
aWdodC11c2luZy1rZXl3b3JkLWFuaW0iLCAgMSwgImNpcmNsZS10by1ib3R0b21yaWdodC11c2lu
Zy1rZXl3b3JkLWJveCIsICJ3ZWJraXRTaGFwZU91dHNpZGUiLCAiY2lyY2xlKDM1JSBhdCA3NSUg
NzUlKSIsIDAuMDVdLAorICAgICAgWyJjaXJjbGUtdG8tYm90dG9tcmlnaHQtdXNpbmcta2V5d29y
ZC1hbmltIiwgIDEsICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtdXNpbmcta2V5d29yZC1ib3giLCAi
d2Via2l0U2hhcGVPdXRzaWRlIiwgImNpcmNsZSgzNSUgYXQgNzUlIDc1JSkiLCAwLjA1XSwKKyAg
ICAgIFsiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLWFuaW0iLCAgMSwgImNpcmNsZS10
by1ib3R0b21yaWdodC1leHRlbmRlZC1ib3giLCAid2Via2l0U2hhcGVPdXRzaWRlIiwgImNpcmNs
ZSgzNSUgYXQgNzUlIDc1JSkiLCAwLjA1XSwKKyAgICAgIFsiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0
LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtYW5pbSIsICAxLCAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0
LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtYm94IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIsICJjaXJj
bGUoMzUlIGF0IDcwJSA3MCUpIiwgMC4wMV0sCisgICAgICBbImNpcmNsZS10by1ib3R0b21yaWdo
dC1leHRlbmRlZC11c2luZy1rZXl3b3JkLTItYW5pbSIsICAxLCAiY2lyY2xlLXRvLWJvdHRvbXJp
Z2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtMi1ib3giLCAid2Via2l0U2hhcGVPdXRzaWRlIiwg
ImNpcmNsZSgzNSUgYXQgNzAlIDcwJSkiLCAwLjAxXSwKICAgICBdOwogICAgIAogICAgIHJ1bkFu
aW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMpOwpAQCAtMTEwLDYgKzE3OSwzNCBAQAogICA8ZGl2
IGNsYXNzPSJib3giIGlkPSJjaXJjbGUtYXV0by1ib3giPjwvZGl2PgogICBNb3ZpbmcgVGV4dAog
PC9kaXY+Cis8ZGl2IGNsYXNzPSdjb250YWluZXInPgorICA8ZGl2IGNsYXNzPSJib3giIGlkPSJj
aXJjbGUtdG8tdG9wbGVmdC1ib3giPjwvZGl2PgorICBNb3ZpbmcgVGV4dAorPC9kaXY+Cis8ZGl2
IGNsYXNzPSdjb250YWluZXInPgorICA8ZGl2IGNsYXNzPSJib3giIGlkPSJjaXJjbGUtdG8tdG9w
bGVmdC11c2luZy1rZXl3b3JkLWJveCI+PC9kaXY+CisgIE1vdmluZyBUZXh0Cis8L2Rpdj4KKzxk
aXYgY2xhc3M9J2NvbnRhaW5lcic+CisgIDxkaXYgY2xhc3M9ImJveCIgaWQ9ImNpcmNsZS10by1i
b3R0b21yaWdodC1ib3giPjwvZGl2PgorICBNb3ZpbmcgVGV4dAorPC9kaXY+Cis8ZGl2IGNsYXNz
PSdjb250YWluZXInPgorICA8ZGl2IGNsYXNzPSJib3giIGlkPSJjaXJjbGUtdG8tYm90dG9tcmln
aHQtdXNpbmcta2V5d29yZC1ib3giPjwvZGl2PgorICBNb3ZpbmcgVGV4dAorPC9kaXY+Cis8ZGl2
IGNsYXNzPSdjb250YWluZXInPgorICA8ZGl2IGNsYXNzPSJib3giIGlkPSJjaXJjbGUtdG8tYm90
dG9tcmlnaHQtZXh0ZW5kZWQtYm94Ij48L2Rpdj4KKyAgTW92aW5nIFRleHQKKzwvZGl2PgorPGRp
diBjbGFzcz0nY29udGFpbmVyJz4KKyAgPGRpdiBjbGFzcz0iYm94IiBpZD0iY2lyY2xlLXRvLWJv
dHRvbXJpZ2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtYm94Ij48L2Rpdj4KKyAgTW92aW5nIFRl
eHQKKzwvZGl2PgorPGRpdiBjbGFzcz0nY29udGFpbmVyJz4KKyAgPGRpdiBjbGFzcz0iYm94IiBp
ZD0iY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtMi1ib3giPjwv
ZGl2PgorICBNb3ZpbmcgVGV4dAorPC9kaXY+CiAKIDxkaXYgaWQ9InJlc3VsdCI+CiA8L2Rpdj4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219455</attachid>
            <date>2013-12-17 14:51:24 -0800</date>
            <delta_ts>2013-12-17 17:10:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125108-20131217175117.patch</filename>
            <type>text/plain</type>
            <size>31907</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBmYTQyYmQ1ZTNlOTg3
YTkzOTdiYjJlYTYzZjc5ZmViYTVkMjMzNi4uNTk1NzJjOGI5MjE0NTA3MGNlMmI2MjQzYTE5ZmU3
OGViZTc2YTE5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTEyLTE3ICBSb2Ig
QnVpcyAgPHJvYi5idWlzQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtDU1MgU2hhcGVzXSBJbXBs
ZW1lbnQgaW50ZXJwb2xhdGlvbiBiZXR3ZWVuIGtleXdvcmRzIGluIGJhc2ljIHNoYXBlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTA4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWxsb3cgYmxlbmRp
bmcgZm9yIGFsbCBjZW50ZXIgY29vcmRpbmF0ZXMgc2luY2UgdG9wL2xlZnQgYW5kIGJvdHRvbS9y
aWdodCBkZWZhdWx0IHRvIGNvcnJlY3QKKyAgICAgICAgTGVuZ3RoIHZhbHVlcyBvZiAwJSBhbmQg
MTAwJS4gRm9yIG1peGVkIGtleXdvcmQgYW5kIHZhbHVlIHBvc2l0aW9ucyBjb21wdXRlIHRoZSBs
ZW5ndGgncyB1c2VkCisgICAgICAgIGZvciBibGVuZGluZyB0byBwZXJjZW50YWdlcy4gVGhpcyBp
cyBwb3NzaWJsZSBzaW5jZSB3ZSBjb21wdXRlIHRoZSByZWZlcmVuY2UgYm94IGJvdW5kcyBnaXZl
biB0aGUKKyAgICAgICAgcmVuZGVyZXIuCisKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9DU1NQ
cm9wZXJ0eUFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpibGVuZEZ1bmMpOiBQYXNz
IGFkZGl0aW9uYWwgUmVuZGVyQm94IHBhcmFtZXRlci4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvQmFzaWNTaGFwZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZTo6Y2FuQmxl
bmQpOiBEb24ndCBjaGVjayBjaXJjbGUvZWxsaXBzZSBjZW50ZXIgYW55bW9yZSwgYnV0IGRvIGNo
ZWNrIHRoYXQgYm90aAorICAgICAgICBzaGFwZXMgdXNlIHRoZSBzYW1lIHJlZmVyZW5jZSBib3gu
CisgICAgICAgIChXZWJDb3JlOjpCYXNpY1NoYXBlOjpyZWZlcmVuY2VCb3hTaXplKTogQ29tcHV0
ZSBib3ggZGltZW5zaW9uIGRlcGVuZGluZyBvbiByZWZlcmVuY2UgYm94LgorICAgICAgICAoV2Vi
Q29yZTo6QmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGU6Omxlbmd0aEZvckJsZW5kaW5nKTogQ29u
dmVydCB0byBwZXJjZW50YWdlIGZvciBCb3R0b20vUmlnaHQuCisgICAgICAgIChXZWJDb3JlOjpC
YXNpY1NoYXBlUmVjdGFuZ2xlOjpibGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpEZXByZWNhdGVk
QmFzaWNTaGFwZUNpcmNsZTo6YmxlbmQpOgorICAgICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZUNp
cmNsZTo6YmxlbmQpOgorICAgICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZEJhc2ljU2hhcGVFbGxp
cHNlOjpibGVuZCk6CisgICAgICAgIChXZWJDb3JlOjpCYXNpY1NoYXBlRWxsaXBzZTo6YmxlbmQp
OgorICAgICAgICAoV2ViQ29yZTo6QmFzaWNTaGFwZVBvbHlnb246OmJsZW5kKToKKyAgICAgICAg
KFdlYkNvcmU6OkJhc2ljU2hhcGVJbnNldFJlY3RhbmdsZTo6YmxlbmQpOgorICAgICAgICAoV2Vi
Q29yZTo6QmFzaWNTaGFwZUluc2V0OjpibGVuZCk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxl
L0Jhc2ljU2hhcGVzLmg6CisgICAgICAgIChXZWJDb3JlOjpCYXNpY1NoYXBlQ2VudGVyQ29vcmRp
bmF0ZTo6YmxlbmQpOiBVc2UgbmV3IGxlbmd0aEZvckJsZW5kaW5nLgorCiAyMDEzLTEyLTE3ICBT
aW1vbiBQZW5hICA8c2ltb24ucGVuYUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbTklYXSBFbmFi
bGUgZnVsbCBkZWJ1ZyBidWlsZHMgYnkgaGF2aW5nIGFyIGNyZWF0aW5nIHRoaW4gYXJjaGl2ZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5p
bWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5p
bWF0aW9uLmNwcAppbmRleCA2ZDEyNDE5Y2M2MjZlMTVkMWQ2NGJkODU4YjFhZTkyMjQ5YzgwMjJj
Li45NDU5MGU1OGI0Nzk0MDM0NTVjNzcxMWE5NWZhNTBlYmNhNTdmMWExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3Bw
CkBAIC0xMjUsNyArMTI1LDcgQEAgc3RhdGljIGlubGluZSBUcmFuc2Zvcm1PcGVyYXRpb25zIGJs
ZW5kRnVuYyhjb25zdCBBbmltYXRpb25CYXNlKiBhbmltLCBjb25zdCBUcmEKICAgICByZXR1cm4g
dG8uYmxlbmRCeVVzaW5nTWF0cml4SW50ZXJwb2xhdGlvbihmcm9tLCBwcm9ncmVzcywgYW5pbS0+
cmVuZGVyZXIoKS0+aXNCb3goKSA/IHRvUmVuZGVyQm94KGFuaW0tPnJlbmRlcmVyKCkpLT5ib3Jk
ZXJCb3hSZWN0KCkuc2l6ZSgpIDogTGF5b3V0U2l6ZSgpKTsKIH0KIAotc3RhdGljIGlubGluZSBQ
YXNzUmVmUHRyPENsaXBQYXRoT3BlcmF0aW9uPiBibGVuZEZ1bmMoY29uc3QgQW5pbWF0aW9uQmFz
ZSosIENsaXBQYXRoT3BlcmF0aW9uKiBmcm9tLCBDbGlwUGF0aE9wZXJhdGlvbiogdG8sIGRvdWJs
ZSBwcm9ncmVzcykKK3N0YXRpYyBpbmxpbmUgUGFzc1JlZlB0cjxDbGlwUGF0aE9wZXJhdGlvbj4g
YmxlbmRGdW5jKGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIENsaXBQYXRoT3BlcmF0aW9uKiBm
cm9tLCBDbGlwUGF0aE9wZXJhdGlvbiogdG8sIGRvdWJsZSBwcm9ncmVzcykKIHsKICAgICBpZiAo
IWZyb20gfHwgIXRvKQogICAgICAgICByZXR1cm4gdG87CkBAIC0xNDAsMTEgKzE0MCwxMiBAQCBz
dGF0aWMgaW5saW5lIFBhc3NSZWZQdHI8Q2xpcFBhdGhPcGVyYXRpb24+IGJsZW5kRnVuYyhjb25z
dCBBbmltYXRpb25CYXNlKiwgQ2xpcAogICAgIGlmICghZnJvbVNoYXBlLT5jYW5CbGVuZCh0b1No
YXBlKSkKICAgICAgICAgcmV0dXJuIHRvOwogCi0gICAgcmV0dXJuIFNoYXBlQ2xpcFBhdGhPcGVy
YXRpb246OmNyZWF0ZSh0b1NoYXBlLT5ibGVuZChmcm9tU2hhcGUsIHByb2dyZXNzKSk7CisgICAg
QVNTRVJUKGFuaW0tPnJlbmRlcmVyKCktPmlzQm94KCkpOworICAgIHJldHVybiBTaGFwZUNsaXBQ
YXRoT3BlcmF0aW9uOjpjcmVhdGUodG9TaGFwZS0+YmxlbmQoZnJvbVNoYXBlLCBwcm9ncmVzcywg
dG9SZW5kZXJCb3goYW5pbS0+cmVuZGVyZXIoKSkpKTsKIH0KIAogI2lmIEVOQUJMRShDU1NfU0hB
UEVTKQotc3RhdGljIGlubGluZSBQYXNzUmVmUHRyPFNoYXBlVmFsdWU+IGJsZW5kRnVuYyhjb25z
dCBBbmltYXRpb25CYXNlKiwgU2hhcGVWYWx1ZSogZnJvbSwgU2hhcGVWYWx1ZSogdG8sIGRvdWJs
ZSBwcm9ncmVzcykKK3N0YXRpYyBpbmxpbmUgUGFzc1JlZlB0cjxTaGFwZVZhbHVlPiBibGVuZEZ1
bmMoY29uc3QgQW5pbWF0aW9uQmFzZSogYW5pbSwgU2hhcGVWYWx1ZSogZnJvbSwgU2hhcGVWYWx1
ZSogdG8sIGRvdWJsZSBwcm9ncmVzcykKIHsKICAgICBpZiAoIWZyb20gfHwgIXRvKQogICAgICAg
ICByZXR1cm4gdG87CkBAIC0xNTksNyArMTYwLDggQEAgc3RhdGljIGlubGluZSBQYXNzUmVmUHRy
PFNoYXBlVmFsdWU+IGJsZW5kRnVuYyhjb25zdCBBbmltYXRpb25CYXNlKiwgU2hhcGVWYWx1ZSoK
ICAgICBpZiAoIWZyb21TaGFwZS0+Y2FuQmxlbmQodG9TaGFwZSkpCiAgICAgICAgIHJldHVybiB0
bzsKIAotICAgIHJldHVybiBTaGFwZVZhbHVlOjpjcmVhdGVTaGFwZVZhbHVlKHRvU2hhcGUtPmJs
ZW5kKGZyb21TaGFwZSwgcHJvZ3Jlc3MpKTsKKyAgICBBU1NFUlQoYW5pbS0+cmVuZGVyZXIoKS0+
aXNCb3goKSk7CisgICAgcmV0dXJuIFNoYXBlVmFsdWU6OmNyZWF0ZVNoYXBlVmFsdWUodG9TaGFw
ZS0+YmxlbmQoZnJvbVNoYXBlLCBwcm9ncmVzcywgdG9SZW5kZXJCb3goYW5pbS0+cmVuZGVyZXIo
KSkpKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvQmFzaWNTaGFwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0Jh
c2ljU2hhcGVzLmNwcAppbmRleCAwMmViYTA3MGUxOTk2OTMzODEwNjljNjIzNzU1ZDVkYmIwMDJm
NTYwLi41ODc5Zjk2YzI5NWYwZDJiYWJmMzYzMmYwMjI2MTk2ZWI3YWIxMWFmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5jcHAKQEAgLTM1LDYgKzM1
LDcgQEAKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJMZW5ndGhGdW5jdGlvbnMu
aCIKICNpbmNsdWRlICJQYXRoLmgiCisjaW5jbHVkZSAiUmVuZGVyQm94LmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIApAQCAtNDQsMzIgKzQ1LDYxIEBAIGJvb2wgQmFzaWNTaGFwZTo6Y2FuQmxl
bmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIpIGNvbnN0CiAgICAgaWYgKHR5cGUoKSAhPSBvdGhl
ci0+dHlwZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAvLyBCb3RoIHNoYXBlcyBt
dXN0IHVzZSB0aGUgc2FtZSByZWZlcmVuY2UgYm94LgorICAgIGlmIChib3goKSAhPSBvdGhlci0+
Ym94KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIC8vIEp1c3QgcG9seWdvbnMgd2l0
aCBzYW1lIG51bWJlciBvZiB2ZXJ0aWNlcyBjYW4gYmUgYW5pbWF0ZWQuCiAgICAgaWYgKHR5cGUo
KSA9PSBCYXNpY1NoYXBlOjpCYXNpY1NoYXBlUG9seWdvblR5cGUKICAgICAgICAgJiYgKHN0YXRp
Y19jYXN0PGNvbnN0IEJhc2ljU2hhcGVQb2x5Z29uKj4odGhpcyktPnZhbHVlcygpLnNpemUoKSAh
PSBzdGF0aWNfY2FzdDxjb25zdCBCYXNpY1NoYXBlUG9seWdvbio+KG90aGVyKS0+dmFsdWVzKCku
c2l6ZSgpCiAgICAgICAgIHx8IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljU2hhcGVQb2x5Z29uKj4o
dGhpcyktPndpbmRSdWxlKCkgIT0gc3RhdGljX2Nhc3Q8Y29uc3QgQmFzaWNTaGFwZVBvbHlnb24q
PihvdGhlciktPndpbmRSdWxlKCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICAvLyBD
aXJjbGVzIHdpdGgga2V5d29yZHMgZm9yIHJhZGlpIG9yIGNlbnRlciBjb29yZGluYXRlcyBjYW5u
b3QgYmUgYW5pbWF0ZWQuCisgICAgLy8gQ2lyY2xlcyB3aXRoIGtleXdvcmRzIGZvciByYWRpaSBj
b29yZGluYXRlcyBjYW5ub3QgYmUgYW5pbWF0ZWQuCiAgICAgaWYgKHR5cGUoKSA9PSBCYXNpY1No
YXBlOjpCYXNpY1NoYXBlQ2lyY2xlVHlwZSkgewogICAgICAgICBjb25zdCBCYXNpY1NoYXBlQ2ly
Y2xlKiB0aGlzQ2lyY2xlID0gc3RhdGljX2Nhc3Q8Y29uc3QgQmFzaWNTaGFwZUNpcmNsZSo+KHRo
aXMpOwogICAgICAgICBjb25zdCBCYXNpY1NoYXBlQ2lyY2xlKiBvdGhlckNpcmNsZSA9IHN0YXRp
Y19jYXN0PGNvbnN0IEJhc2ljU2hhcGVDaXJjbGUqPihvdGhlcik7Ci0gICAgICAgIGlmICghdGhp
c0NpcmNsZS0+cmFkaXVzKCkuY2FuQmxlbmQob3RoZXJDaXJjbGUtPnJhZGl1cygpKQotICAgICAg
ICAgICAgfHwgIXRoaXNDaXJjbGUtPmNlbnRlclgoKS5jYW5CbGVuZChvdGhlckNpcmNsZS0+Y2Vu
dGVyWCgpKQotICAgICAgICAgICAgfHwgIXRoaXNDaXJjbGUtPmNlbnRlclkoKS5jYW5CbGVuZChv
dGhlckNpcmNsZS0+Y2VudGVyWSgpKSkKKyAgICAgICAgaWYgKCF0aGlzQ2lyY2xlLT5yYWRpdXMo
KS5jYW5CbGVuZChvdGhlckNpcmNsZS0+cmFkaXVzKCkpKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIH0KIAotICAgIC8vIEVsbGlwc2VzIHdpdGgga2V5d29yZHMgZm9yIHJhZGlpIG9y
IGNlbnRlciBjb29yZGluYXRlcyBjYW5ub3QgYmUgYW5pbWF0ZWQuCisgICAgLy8gRWxsaXBzZXMg
d2l0aCBrZXl3b3JkcyBmb3IgcmFkaWkgY29vcmRpbmF0ZXMgY2Fubm90IGJlIGFuaW1hdGVkLgog
ICAgIGlmICh0eXBlKCkgIT0gQmFzaWNTaGFwZTo6QmFzaWNTaGFwZUVsbGlwc2VUeXBlKQogICAg
ICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGNvbnN0IEJhc2ljU2hhcGVFbGxpcHNlKiB0aGlzRWxs
aXBzZSA9IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljU2hhcGVFbGxpcHNlKj4odGhpcyk7CiAgICAg
Y29uc3QgQmFzaWNTaGFwZUVsbGlwc2UqIG90aGVyRWxsaXBzZSA9IHN0YXRpY19jYXN0PGNvbnN0
IEJhc2ljU2hhcGVFbGxpcHNlKj4ob3RoZXIpOwogICAgIHJldHVybiAodGhpc0VsbGlwc2UtPnJh
ZGl1c1goKS5jYW5CbGVuZChvdGhlckVsbGlwc2UtPnJhZGl1c1goKSkKLSAgICAgICAgJiYgdGhp
c0VsbGlwc2UtPnJhZGl1c1koKS5jYW5CbGVuZChvdGhlckVsbGlwc2UtPnJhZGl1c1koKSkKLSAg
ICAgICAgJiYgdGhpc0VsbGlwc2UtPmNlbnRlclgoKS5jYW5CbGVuZChvdGhlckVsbGlwc2UtPmNl
bnRlclgoKSkKLSAgICAgICAgJiYgdGhpc0VsbGlwc2UtPmNlbnRlclkoKS5jYW5CbGVuZChvdGhl
ckVsbGlwc2UtPmNlbnRlclkoKSkpOworICAgICAgICAmJiB0aGlzRWxsaXBzZS0+cmFkaXVzWSgp
LmNhbkJsZW5kKG90aGVyRWxsaXBzZS0+cmFkaXVzWSgpKSk7Cit9CisKK0Zsb2F0U2l6ZSBCYXNp
Y1NoYXBlOjpyZWZlcmVuY2VCb3hTaXplKFJlbmRlckJveCogcmVuZGVyZXIpIGNvbnN0Cit7Cisg
ICAgc3dpdGNoIChib3goKSkgeworICAgIGNhc2UgQ29udGVudEJveDoKKyAgICAgICAgcmV0dXJu
IHJlbmRlcmVyLT5jb250ZW50Qm94UmVjdCgpLnNpemUoKTsKKyAgICBjYXNlIFBhZGRpbmdCb3g6
CisgICAgICAgIHJldHVybiByZW5kZXJlci0+cGFkZGluZ0JveFJlY3QoKS5zaXplKCk7CisgICAg
Y2FzZSBCb3JkZXJCb3g6CisgICAgICAgIHJldHVybiByZW5kZXJlci0+c2l6ZSgpOworICAgIGNh
c2UgTm9uZTogLy8gSWYgPGJveD4gaXMgbm90IHN1cHBsaWVkLCB0aGVuIHRoZSByZWZlcmVuY2Ug
Ym94IGRlZmF1bHRzIHRvIG1hcmdpbi1ib3guCisgICAgY2FzZSBNYXJnaW5Cb3g6CisgICAgICAg
IHJldHVybiBGbG9hdFNpemUocmVuZGVyZXItPm1hcmdpbkxlZnQoKSArIHJlbmRlcmVyLT53aWR0
aCgpICsgcmVuZGVyZXItPm1hcmdpblJpZ2h0KCksCisgICAgICAgICAgICByZW5kZXJlci0+bWFy
Z2luVG9wKCkgKyByZW5kZXJlci0+aGVpZ2h0KCkgKyByZW5kZXJlci0+bWFyZ2luQm90dG9tKCkp
OworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBGbG9hdFNp
emUoKTsKK30KKworTGVuZ3RoIEJhc2ljU2hhcGVDZW50ZXJDb29yZGluYXRlOjpsZW5ndGhGb3JC
bGVuZGluZyhjb25zdCBGbG9hdFNpemUmIGJveFNpemUpIGNvbnN0Cit7CisgICAgTGVuZ3RoIGxl
bmd0aCA9IHRoaXMtPmxlbmd0aCgpOworICAgIGlmIChrZXl3b3JkKCkgPT0gUmlnaHQpCisgICAg
ICAgIHJldHVybiBMZW5ndGgoMTAwIC0gKGxlbmd0aC5pc1BlcmNlbnQoKSA/IGxlbmd0aC5wZXJj
ZW50KCkgOiAxMDAuZiAqIChsZW5ndGgudmFsdWUoKSAvIGJveFNpemUud2lkdGgoKSkpLCBQZXJj
ZW50KTsKKyAgICBpZiAoa2V5d29yZCgpID09IEJvdHRvbSkKKyAgICAgICAgcmV0dXJuIExlbmd0
aCgxMDAgLSAobGVuZ3RoLmlzUGVyY2VudCgpID8gbGVuZ3RoLnBlcmNlbnQoKSA6IDEwMC5mICog
KGxlbmd0aC52YWx1ZSgpIC8gYm94U2l6ZS5oZWlnaHQoKSkpLCBQZXJjZW50KTsKKyAgICByZXR1
cm4gbGVuZ3RoOwogfQogCiB2b2lkIEJhc2ljU2hhcGVSZWN0YW5nbGU6OnBhdGgoUGF0aCYgcGF0
aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkKQEAgLTg5LDcgKzExOSw3IEBAIHZvaWQg
QmFzaWNTaGFwZVJlY3RhbmdsZTo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBGbG9hdFJlY3QmIGJv
dW5kaW5nQm94KQogICAgICk7CiB9CiAKLVBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFw
ZVJlY3RhbmdsZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVz
cykgY29uc3QKK1Bhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZVJlY3RhbmdsZTo6Ymxl
bmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcywgUmVuZGVyQm94Kikg
Y29uc3QKIHsKICAgICBBU1NFUlQodHlwZSgpID09IG90aGVyLT50eXBlKCkpOwogCkBAIC0xMTks
NyArMTQ5LDcgQEAgdm9pZCBEZXByZWNhdGVkQmFzaWNTaGFwZUNpcmNsZTo6cGF0aChQYXRoJiBw
YXRoLCBjb25zdCBGbG9hdFJlY3QmIGJvdW5kaW5nQm94KQogICAgICkpOwogfQogCi1QYXNzUmVm
UHRyPEJhc2ljU2hhcGU+IERlcHJlY2F0ZWRCYXNpY1NoYXBlQ2lyY2xlOjpibGVuZChjb25zdCBC
YXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzKSBjb25zdAorUGFzc1JlZlB0cjxCYXNp
Y1NoYXBlPiBEZXByZWNhdGVkQmFzaWNTaGFwZUNpcmNsZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFw
ZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcywgUmVuZGVyQm94KikgY29uc3QKIHsKICAgICBBU1NF
UlQodHlwZSgpID09IG90aGVyLT50eXBlKCkpOwogCkBAIC0xNjEsMTQgKzE5MSwxNSBAQCB2b2lk
IEJhc2ljU2hhcGVDaXJjbGU6OnBhdGgoUGF0aCYgcGF0aCwgY29uc3QgRmxvYXRSZWN0JiBib3Vu
ZGluZ0JveCkKICAgICApKTsKIH0KIAotUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBl
Q2lyY2xlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzKSBj
b25zdAorUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlQ2lyY2xlOjpibGVuZChjb25z
dCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzLCBSZW5kZXJCb3gqIHJlbmRlcmVy
KSBjb25zdAogewogICAgIEFTU0VSVCh0eXBlKCkgPT0gb3RoZXItPnR5cGUoKSk7CiAgICAgY29u
c3QgQmFzaWNTaGFwZUNpcmNsZSogbyA9IHN0YXRpY19jYXN0PGNvbnN0IEJhc2ljU2hhcGVDaXJj
bGUqPihvdGhlcik7CiAgICAgUmVmUHRyPEJhc2ljU2hhcGVDaXJjbGU+IHJlc3VsdCA9ICBCYXNp
Y1NoYXBlQ2lyY2xlOjpjcmVhdGUoKTsKIAotICAgIHJlc3VsdC0+c2V0Q2VudGVyWChtX2NlbnRl
clguYmxlbmQoby0+Y2VudGVyWCgpLCBwcm9ncmVzcykpOwotICAgIHJlc3VsdC0+c2V0Q2VudGVy
WShtX2NlbnRlclkuYmxlbmQoby0+Y2VudGVyWSgpLCBwcm9ncmVzcykpOworICAgIEZsb2F0U2l6
ZSBib3hTaXplID0gcmVmZXJlbmNlQm94U2l6ZShyZW5kZXJlcik7CisgICAgcmVzdWx0LT5zZXRD
ZW50ZXJYKG1fY2VudGVyWC5ibGVuZChvLT5jZW50ZXJYKCksIHByb2dyZXNzLCBib3hTaXplKSk7
CisgICAgcmVzdWx0LT5zZXRDZW50ZXJZKG1fY2VudGVyWS5ibGVuZChvLT5jZW50ZXJZKCksIHBy
b2dyZXNzLCBib3hTaXplKSk7CiAgICAgcmVzdWx0LT5zZXRSYWRpdXMobV9yYWRpdXMuYmxlbmQo
by0+cmFkaXVzKCksIHByb2dyZXNzKSk7CiAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CiB9
CkBAIC0xODgsNyArMjE5LDcgQEAgdm9pZCBEZXByZWNhdGVkQmFzaWNTaGFwZUVsbGlwc2U6OnBh
dGgoUGF0aCYgcGF0aCwgY29uc3QgRmxvYXRSZWN0JiBib3VuZGluZ0JveCkKICAgICApKTsKIH0K
IAotUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBEZXByZWNhdGVkQmFzaWNTaGFwZUVsbGlwc2U6OmJs
ZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0CitQYXNz
UmVmUHRyPEJhc2ljU2hhcGU+IERlcHJlY2F0ZWRCYXNpY1NoYXBlRWxsaXBzZTo6YmxlbmQoY29u
c3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcywgUmVuZGVyQm94KikgY29uc3QK
IHsKICAgICBBU1NFUlQodHlwZSgpID09IG90aGVyLT50eXBlKCkpOwogCkBAIC0yMjgsNyArMjU5
LDcgQEAgdm9pZCBCYXNpY1NoYXBlRWxsaXBzZTo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBGbG9h
dFJlY3QmIGJvdW5kaW5nQm94KQogICAgICAgICByYWRpdXNZICogMikpOwogfQogCi1QYXNzUmVm
UHRyPEJhc2ljU2hhcGU+IEJhc2ljU2hhcGVFbGxpcHNlOjpibGVuZChjb25zdCBCYXNpY1NoYXBl
KiBvdGhlciwgZG91YmxlIHByb2dyZXNzKSBjb25zdAorUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBC
YXNpY1NoYXBlRWxsaXBzZTo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBw
cm9ncmVzcywgUmVuZGVyQm94KiByZW5kZXJlcikgY29uc3QKIHsKICAgICBBU1NFUlQodHlwZSgp
ID09IG90aGVyLT50eXBlKCkpOwogICAgIGNvbnN0IEJhc2ljU2hhcGVFbGxpcHNlKiBvID0gc3Rh
dGljX2Nhc3Q8Y29uc3QgQmFzaWNTaGFwZUVsbGlwc2UqPihvdGhlcik7CkBAIC0yNDMsOCArMjc0
LDkgQEAgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlRWxsaXBzZTo6YmxlbmQoY29u
c3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAg
IH0KIAotICAgIHJlc3VsdC0+c2V0Q2VudGVyWChtX2NlbnRlclguYmxlbmQoby0+Y2VudGVyWCgp
LCBwcm9ncmVzcykpOwotICAgIHJlc3VsdC0+c2V0Q2VudGVyWShtX2NlbnRlclkuYmxlbmQoby0+
Y2VudGVyWSgpLCBwcm9ncmVzcykpOworICAgIEZsb2F0U2l6ZSBib3hTaXplID0gcmVmZXJlbmNl
Qm94U2l6ZShyZW5kZXJlcik7CisgICAgcmVzdWx0LT5zZXRDZW50ZXJYKG1fY2VudGVyWC5ibGVu
ZChvLT5jZW50ZXJYKCksIHByb2dyZXNzLCBib3hTaXplKSk7CisgICAgcmVzdWx0LT5zZXRDZW50
ZXJZKG1fY2VudGVyWS5ibGVuZChvLT5jZW50ZXJZKCksIHByb2dyZXNzLCBib3hTaXplKSk7CiAg
ICAgcmVzdWx0LT5zZXRSYWRpdXNYKG1fcmFkaXVzWC5ibGVuZChvLT5yYWRpdXNYKCksIHByb2dy
ZXNzKSk7CiAgICAgcmVzdWx0LT5zZXRSYWRpdXNZKG1fcmFkaXVzWS5ibGVuZChvLT5yYWRpdXNZ
KCksIHByb2dyZXNzKSk7CiAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CkBAIC0yNjgsNyAr
MzAwLDcgQEAgdm9pZCBCYXNpY1NoYXBlUG9seWdvbjo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBG
bG9hdFJlY3QmIGJvdW5kaW5nQm94KQogICAgIHBhdGguY2xvc2VTdWJwYXRoKCk7CiB9CiAKLVBh
c3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZVBvbHlnb246OmJsZW5kKGNvbnN0IEJhc2lj
U2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MpIGNvbnN0CitQYXNzUmVmUHRyPEJhc2ljU2hh
cGU+IEJhc2ljU2hhcGVQb2x5Z29uOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91
YmxlIHByb2dyZXNzLCBSZW5kZXJCb3gqKSBjb25zdAogewogICAgIEFTU0VSVCh0eXBlKCkgPT0g
b3RoZXItPnR5cGUoKSk7CiAKQEAgLTMxMCw3ICszNDIsNyBAQCB2b2lkIEJhc2ljU2hhcGVJbnNl
dFJlY3RhbmdsZTo6cGF0aChQYXRoJiBwYXRoLCBjb25zdCBGbG9hdFJlY3QmIGJvdW5kaW5nQm94
KQogICAgICk7CiB9CiAKLVBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gQmFzaWNTaGFwZUluc2V0UmVj
dGFuZ2xlOjpibGVuZChjb25zdCBCYXNpY1NoYXBlKiBvdGhlciwgZG91YmxlIHByb2dyZXNzKSBj
b25zdAorUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBCYXNpY1NoYXBlSW5zZXRSZWN0YW5nbGU6OmJs
ZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MsIFJlbmRlckJveCop
IGNvbnN0CiB7CiAgICAgQVNTRVJUKHR5cGUoKSA9PSBvdGhlci0+dHlwZSgpKTsKIApAQCAtMzU2
LDcgKzM4OCw3IEBAIHZvaWQgQmFzaWNTaGFwZUluc2V0OjpwYXRoKFBhdGgmIHBhdGgsIGNvbnN0
IEZsb2F0UmVjdCYgYm91bmRpbmdCb3gpCiAgICAgKTsKIH0KIAotUGFzc1JlZlB0cjxCYXNpY1No
YXBlPiBCYXNpY1NoYXBlSW5zZXQ6OmJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqIG90aGVyLCBkb3Vi
bGUgcHJvZ3Jlc3MpIGNvbnN0CitQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IEJhc2ljU2hhcGVJbnNl
dDo6YmxlbmQoY29uc3QgQmFzaWNTaGFwZSogb3RoZXIsIGRvdWJsZSBwcm9ncmVzcywgUmVuZGVy
Qm94KikgY29uc3QKIHsKICAgICBBU1NFUlQodHlwZSgpID09IG90aGVyLT50eXBlKCkpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvQmFzaWNTaGFwZXMuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9CYXNpY1NoYXBlcy5oCmluZGV4IDkyNTVm
N2IyMzVlYmE1MmJmMTNkZWFjNjdhZDM5NWMwYjg3MDkyYTguLmQzYTdkZDBhMDZmNzc2MTgwMWVi
OWY4Yzc2ZGUyNDUzZmRhMDE2NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9CYXNpY1NoYXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9CYXNpY1NoYXBlcy5oCkBAIC00MSw2ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
Y2xhc3MgRmxvYXRSZWN0OwogY2xhc3MgUGF0aDsKK2NsYXNzIFJlbmRlckJveDsKIAogY2xhc3Mg
QmFzaWNTaGFwZSA6IHB1YmxpYyBSZWZDb3VudGVkPEJhc2ljU2hhcGU+IHsKIHB1YmxpYzoKQEAg
LTY5LDcgKzcwLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHBhdGgoUGF0aCYsIGNv
bnN0IEZsb2F0UmVjdCYpID0gMDsKICAgICB2aXJ0dWFsIFdpbmRSdWxlIHdpbmRSdWxlKCkgY29u
c3QgeyByZXR1cm4gUlVMRV9OT05aRVJPOyB9Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2lj
U2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUpIGNvbnN0ID0gMDsKKyAgICB2
aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRv
dWJsZSwgUmVuZGVyQm94KikgY29uc3QgPSAwOwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBj
b25zdCA9IDA7CiAKQEAgLTgyLDYgKzgzLDggQEAgcHJvdGVjdGVkOgogICAgIHsKICAgICB9CiAK
KyAgICBGbG9hdFNpemUgcmVmZXJlbmNlQm94U2l6ZShSZW5kZXJCb3gqKSBjb25zdDsKKwogcHJp
dmF0ZToKICAgICBSZWZlcmVuY2VCb3ggbV9ib3g7CiB9OwpAQCAtMTEzLDcgKzExNiw3IEBAIHB1
YmxpYzoKICAgICB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwgY29uc3QgRmxvYXRS
ZWN0JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5k
KGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwg
UGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlLCBS
ZW5kZXJCb3gqKSBjb25zdCBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29u
c3QgT1ZFUlJJREUgeyByZXR1cm4gQmFzaWNTaGFwZVJlY3RhbmdsZVR5cGU7IH0KIHByaXZhdGU6
CkBAIC0xNDMsMTkgKzE0NiwxMSBAQCBwdWJsaWM6CiAKICAgICBLZXl3b3JkIGtleXdvcmQoKSBj
b25zdCB7IHJldHVybiBtX2tleXdvcmQ7IH0KICAgICBjb25zdCBMZW5ndGgmIGxlbmd0aCgpIGNv
bnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CisgICAgTGVuZ3RoIGxlbmd0aEZvckJsZW5kaW5nKGNv
bnN0IEZsb2F0U2l6ZSYpIGNvbnN0OwogCi0gICAgYm9vbCBjYW5CbGVuZChjb25zdCBCYXNpY1No
YXBlQ2VudGVyQ29vcmRpbmF0ZSYgb3RoZXIpIGNvbnN0Ci0gICAgewotICAgICAgICAvLyBGSVhN
RSBkZXRlcm1pbmUgaG93IHRvIGludGVycG9sYXRlIGJldHdlZW4ga2V5d29yZHMuIFNlZSBidWcg
MTI1MTA4LgotICAgICAgICByZXR1cm4gbV9rZXl3b3JkID09IE5vbmUgJiYgb3RoZXIua2V5d29y
ZCgpID09IE5vbmU7Ci0gICAgfQotCi0gICAgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUgYmxl
bmQoY29uc3QgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUmIG90aGVyLCBkb3VibGUgcHJvZ3Jl
c3MpIGNvbnN0CisgICAgQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUgYmxlbmQoY29uc3QgQmFz
aWNTaGFwZUNlbnRlckNvb3JkaW5hdGUmIG90aGVyLCBkb3VibGUgcHJvZ3Jlc3MsIGNvbnN0IEZs
b2F0U2l6ZSYgYm94U2l6ZSkgY29uc3QKICAgICB7Ci0gICAgICAgIGlmIChtX2tleXdvcmQgIT0g
Tm9uZSB8fCBvdGhlci5rZXl3b3JkKCkgIT0gTm9uZSkKLSAgICAgICAgICAgIHJldHVybiBCYXNp
Y1NoYXBlQ2VudGVyQ29vcmRpbmF0ZShvdGhlcik7Ci0KLSAgICAgICAgcmV0dXJuIEJhc2ljU2hh
cGVDZW50ZXJDb29yZGluYXRlKG1fbGVuZ3RoLmJsZW5kKG90aGVyLmxlbmd0aCgpLCBwcm9ncmVz
cykpOworICAgICAgICByZXR1cm4gQmFzaWNTaGFwZUNlbnRlckNvb3JkaW5hdGUobGVuZ3RoRm9y
QmxlbmRpbmcoYm94U2l6ZSkuYmxlbmQob3RoZXIubGVuZ3RoRm9yQmxlbmRpbmcoYm94U2l6ZSks
IHByb2dyZXNzKSk7CiAgICAgfQogCiBwcml2YXRlOgpAQCAtMjEyLDcgKzIwNyw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldFJhZGl1cyhCYXNpY1NoYXBlUmFkaXVzIHJhZGl1cykgeyBtX3JhZGl1
cyA9IHN0ZDo6bW92ZShyYWRpdXMpOyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGF0aChQYXRoJiwg
Y29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2lj
U2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUpIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBl
KiwgZG91YmxlLCBSZW5kZXJCb3gqKSBjb25zdCBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgVHlw
ZSB0eXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gQmFzaWNTaGFwZUNpcmNsZVR5cGU7IH0K
IHByaXZhdGU6CkBAIC0yMzYsNyArMjMxLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UmFkaXVz
KExlbmd0aCByYWRpdXMpIHsgbV9yYWRpdXMgPSBzdGQ6Om1vdmUocmFkaXVzKTsgfQogCiAgICAg
dmlydHVhbCB2b2lkIHBhdGgoUGF0aCYsIGNvbnN0IEZsb2F0UmVjdCYpIE9WRVJSSURFOwotICAg
IHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVuZChjb25zdCBCYXNpY1NoYXBlKiwg
ZG91YmxlKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFw
ZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSwgUmVuZGVyQm94KikgY29uc3QgT1ZF
UlJJREU7CiAKICAgICB2aXJ0dWFsIFR5cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJu
IERlcHJlY2F0ZWRCYXNpY1NoYXBlQ2lyY2xlVHlwZTsgfQogcHJpdmF0ZToKQEAgLTI2Myw3ICsy
NTgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRSYWRpdXNZKEJhc2ljU2hhcGVSYWRpdXMgcmFk
aXVzWSkgeyBtX3JhZGl1c1kgPSBzdGQ6Om1vdmUocmFkaXVzWSk7IH0KIAogICAgIHZpcnR1YWwg
dm9pZCBwYXRoKFBhdGgmLCBjb25zdCBGbG9hdFJlY3QmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFs
IFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkg
Y29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5k
KGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUsIFJlbmRlckJveCopIGNvbnN0IE9WRVJSSURFOwog
CiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBCYXNpY1No
YXBlRWxsaXBzZVR5cGU7IH0KIHByaXZhdGU6CkBAIC0yOTAsNyArMjg1LDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2V0UmFkaXVzWShMZW5ndGggcmFkaXVzWSkgeyBtX3JhZGl1c1kgPSBzdGQ6Om1v
dmUocmFkaXVzWSk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXRoKFBhdGgmLCBjb25zdCBGbG9h
dFJlY3QmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8QmFzaWNTaGFwZT4gYmxl
bmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVh
bCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUs
IFJlbmRlckJveCopIGNvbnN0IE9WRVJSSURFOwogCiAgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBj
b25zdCBPVkVSUklERSB7IHJldHVybiBEZXByZWNhdGVkQmFzaWNTaGFwZUVsbGlwc2VUeXBlOyB9
CiBwcml2YXRlOgpAQCAtMzE0LDcgKzMwOSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFwcGVuZFBv
aW50KExlbmd0aCB4LCBMZW5ndGggeSkgeyBtX3ZhbHVlcy5hcHBlbmQoc3RkOjptb3ZlKHgpKTsg
bV92YWx1ZXMuYXBwZW5kKHN0ZDo6bW92ZSh5KSk7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBwYXRo
KFBhdGgmLCBjb25zdCBGbG9hdFJlY3QmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFBhc3NSZWZQ
dHI8QmFzaWNTaGFwZT4gYmxlbmQoY29uc3QgQmFzaWNTaGFwZSosIGRvdWJsZSkgY29uc3QgT1ZF
UlJJREU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJh
c2ljU2hhcGUqLCBkb3VibGUsIFJlbmRlckJveCopIGNvbnN0IE9WRVJSSURFOwogCiAgICAgdmly
dHVhbCBXaW5kUnVsZSB3aW5kUnVsZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1fd2luZFJ1
bGU7IH0KIApAQCAtMzU1LDcgKzM1MCw3IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICB2aXJ0dWFs
IHZvaWQgcGF0aChQYXRoJiwgY29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJREU7Ci0gICAgdmlydHVh
bCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUp
IGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVu
ZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlLCBSZW5kZXJCb3gqKSBjb25zdCBPVkVSUklERTsK
IAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gQmFzaWNT
aGFwZUluc2V0UmVjdGFuZ2xlVHlwZTsgfQogcHJpdmF0ZToKQEAgLTM5NCw3ICszODksNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBzZXRCb3R0b21MZWZ0UmFkaXVzKExlbmd0aFNpemUgcmFkaXVzKSB7
IG1fYm90dG9tTGVmdFJhZGl1cyA9IHN0ZDo6bW92ZShyYWRpdXMpOyB9CiAKICAgICB2aXJ0dWFs
IHZvaWQgcGF0aChQYXRoJiwgY29uc3QgRmxvYXRSZWN0JikgT1ZFUlJJREU7Ci0gICAgdmlydHVh
bCBQYXNzUmVmUHRyPEJhc2ljU2hhcGU+IGJsZW5kKGNvbnN0IEJhc2ljU2hhcGUqLCBkb3VibGUp
IGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxCYXNpY1NoYXBlPiBibGVu
ZChjb25zdCBCYXNpY1NoYXBlKiwgZG91YmxlLCBSZW5kZXJCb3gqKSBjb25zdCBPVkVSUklERTsK
IAogICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gQmFzaWNT
aGFwZUluc2V0VHlwZTsgfQogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhNTZhMWU0YThhMGY5YmExNGY5MWE0
MGMzODg4NmMwZmU0YWQyZGRhLi5mZDUxNzBmOGQzYTFjY2JjODBhMzI5YTk2YTBlZWY5YzY2YWZk
ZTU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMTItMTcgIFJvYiBCdWlzICA8cm9iLmJ1
aXNAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0NTUyBTaGFwZXNdIEltcGxlbWVudCBpbnRlcnBv
bGF0aW9uIGJldHdlZW4ga2V5d29yZHMgaW4gYmFzaWMgc2hhcGVzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxMDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgdG8gc2hhcGUtb3V0c2lk
ZS1hbmltYXRpb24gd2hlbiBhbmltYXRpbmcgdXNpbmcga2V5d29yZHMgZm9yIHRoZSBjaXJjbGUv
ZWxsaXBzZSBjZW50ZXIgcG9zaXRpb25zLgorICAgICAgICBBbHNvIGFkZCB0ZXN0cyBmb3IgaW52
YWxpZCBtaXhpbmcgb2Yga2V5d29yZCBhbmQgdmFsdWVzIGluIHRoZSBjZW50ZXIgY29vcmRpbmF0
ZSB0byBwYXJzaW5nLXRlc3QtdXRpbHMuanMuCisKKyAgICAgICAgKiBmYXN0L3NoYXBlcy9wYXJz
aW5nL3BhcnNpbmctc2hhcGUtaW5zaWRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L3No
YXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtb3V0c2lkZS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXRlc3QtdXRpbHMuanM6CisgICAgICAgICog
ZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24t
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRz
L3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLmh0bWw6CisKIDIwMTMtMTItMTcgIE1hcmlvIFNhbmNo
ZXogUHJhZGEgIDxtYXJpby5wcmFkYUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbR1RLXVtXSzJd
IHJvd0F0SW5kZXggaXMgbm90IGltcGxlbWVudGVkIGluIERSVC9XS1RSCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtaW5zaWRlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1p
bnNpZGUtZXhwZWN0ZWQudHh0CmluZGV4IDFkMDhiNWU1MDZiYjk3YjM3NDk5MmRlYjBkMzE4MzZi
NGI0YjQ2YjguLmQzNjE0MDYzODE4MTkyYTU1MjkzMzQ0MWNkMTc1YmRkMjk4ODQ2ZTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1pbnNp
ZGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFy
c2luZy1zaGFwZS1pbnNpZGUtZXhwZWN0ZWQudHh0CkBAIC0xOTEsNiArMTkxLDggQEAgUEFTUyBn
ZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoMTBweCBhdCAxMHB4IDEw
cHggYXQgY2VudGVyKSIpIGkKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNo
YXBlLWluc2lkZSIsICJjaXJjbGUoMTBweCBhdCAxMHB4IDEwcHggYXQgY2VudGVyKSIpIGlzICJh
dXRvIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoMTBw
eCBhdCBjZW50ZXIgY2VudGVyIDEwcHgpIikgaXMgIiIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZh
bHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJjaXJjbGUoMTBweCBhdCBjZW50ZXIgY2VudGVy
IDEwcHgpIikgaXMgImF1dG8iCitQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRl
IiwgImNpcmNsZSgxMHB4IGF0IDEwJSBsZWZ0KSIpIGlzICIiCitQQVNTIGdldENvbXB1dGVkU3R5
bGVWYWx1ZSgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xlKDEwcHggYXQgMTAlIGxlZnQp
IikgaXMgImF1dG8iCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImNp
cmNsZShhdCAxMHB4IDEwcHggMTBweCkiKSBpcyAiIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFs
dWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImNpcmNsZShhdCAxMHB4IDEwcHggMTBweCkiKSBp
cyAiYXV0byIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1pbnNpZGUiLCAiY2lyY2xl
KGF0IDEwcHggMTBweCBhdCBjZW50ZXIpIikgaXMgIiIKQEAgLTIxMSw2ICsyMTMsOCBAQCBQQVNT
IGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCBhdCAxMHB4
IDEwcHggYXQgY2VudGVyKSIpCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1z
aGFwZS1pbnNpZGUiLCAiZWxsaXBzZSgxMHB4IGF0IDEwcHggMTBweCBhdCBjZW50ZXIpIikgaXMg
ImF1dG8iCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2Uo
MTBweCBhdCBjZW50ZXIgY2VudGVyIDEwcHgpIikgaXMgIiIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHls
ZVZhbHVlKCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggYXQgY2VudGVyIGNl
bnRlciAxMHB4KSIpIGlzICJhdXRvIgorUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWlu
c2lkZSIsICJlbGxpcHNlKDEwcHggMTBweCBhdCAxMCUgbGVmdCkiKSBpcyAiIgorUEFTUyBnZXRD
b21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5zaWRlIiwgImVsbGlwc2UoMTBweCAx
MHB4IGF0IDEwJSBsZWZ0KSIpIGlzICJhdXRvIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNo
YXBlLWluc2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCAzMHB4IGF0IGNlbnRlciBjZW50ZXIgMTBw
eCkiKSBpcyAiIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUtaW5z
aWRlIiwgImVsbGlwc2UoMTBweCAyMHB4IDMwcHggYXQgY2VudGVyIGNlbnRlciAxMHB4KSIpIGlz
ICJhdXRvIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLWluc2lkZSIsICJlbGxpcHNl
KGF0IDEwcHggMTBweCAxMHB4KSIpIGlzICIiCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtb3V0c2lkZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L3NoYXBlcy9wYXJzaW5nL3BhcnNpbmctc2hhcGUtb3V0c2lkZS1leHBlY3Rl
ZC50eHQKaW5kZXggYTg5ODA1ZTYwYWQwMDQ3YzIxOTUyN2UyZWUzYjk4MjI0YTI2MmJkYi4uZWRm
Yjk4NTc1NGIyYWQ4OGRjZGFhODMzOTgyODI1NDZkYzdhNzMwMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXNoYXBlLW91dHNpZGUtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy1zaGFwZS1v
dXRzaWRlLWV4cGVjdGVkLnR4dApAQCAtMTg5LDYgKzE4OSw4IEBAIFBBU1MgZ2V0Q1NTVGV4dCgi
LXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImNpcmNsZSgxMHB4IGF0IDEwcHggMTBweCBhdCBjZW50
ZXIpIikKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUi
LCAiY2lyY2xlKDEwcHggYXQgMTBweCAxMHB4IGF0IGNlbnRlcikiKSBpcyAiYXV0byIKIFBBU1Mg
Z2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImNpcmNsZSgxMHB4IGF0IGNlbnRl
ciBjZW50ZXIgMTBweCkiKSBpcyAiIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJr
aXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoMTBweCBhdCBjZW50ZXIgY2VudGVyIDEwcHgpIikg
aXMgImF1dG8iCitQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJj
bGUoMTBweCBhdCAxMCUgbGVmdCkiKSBpcyAiIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUo
Ii13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoMTBweCBhdCAxMCUgbGVmdCkiKSBpcyAi
YXV0byIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImNpcmNsZShh
dCAxMHB4IDEwcHggMTBweCkiKSBpcyAiIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13
ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoYXQgMTBweCAxMHB4IDEwcHgpIikgaXMgImF1
dG8iCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJjaXJjbGUoYXQg
MTBweCAxMHB4IGF0IGNlbnRlcikiKSBpcyAiIgpAQCAtMjA5LDYgKzIxMSw4IEBAIFBBU1MgZ2V0
Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCBhdCAxMHB4IDEw
cHggYXQgY2VudGVyKSIpCiBQQVNTIGdldENvbXB1dGVkU3R5bGVWYWx1ZSgiLXdlYmtpdC1zaGFw
ZS1vdXRzaWRlIiwgImVsbGlwc2UoMTBweCBhdCAxMHB4IDEwcHggYXQgY2VudGVyKSIpIGlzICJh
dXRvIgogUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgx
MHB4IGF0IGNlbnRlciBjZW50ZXIgMTBweCkiKSBpcyAiIgogUEFTUyBnZXRDb21wdXRlZFN0eWxl
VmFsdWUoIi13ZWJraXQtc2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggYXQgY2VudGVyIGNl
bnRlciAxMHB4KSIpIGlzICJhdXRvIgorUEFTUyBnZXRDU1NUZXh0KCItd2Via2l0LXNoYXBlLW91
dHNpZGUiLCAiZWxsaXBzZSgxMHB4IDEwcHggYXQgMTAlIGxlZnQpIikgaXMgIiIKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZVZhbHVlKCItd2Via2l0LXNoYXBlLW91dHNpZGUiLCAiZWxsaXBzZSgxMHB4
IDEwcHggYXQgMTAlIGxlZnQpIikgaXMgImF1dG8iCiBQQVNTIGdldENTU1RleHQoIi13ZWJraXQt
c2hhcGUtb3V0c2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCAzMHB4IGF0IGNlbnRlciBjZW50ZXIg
MTBweCkiKSBpcyAiIgogUEFTUyBnZXRDb21wdXRlZFN0eWxlVmFsdWUoIi13ZWJraXQtc2hhcGUt
b3V0c2lkZSIsICJlbGxpcHNlKDEwcHggMjBweCAzMHB4IGF0IGNlbnRlciBjZW50ZXIgMTBweCki
KSBpcyAiYXV0byIKIFBBU1MgZ2V0Q1NTVGV4dCgiLXdlYmtpdC1zaGFwZS1vdXRzaWRlIiwgImVs
bGlwc2UoYXQgMTBweCAxMHB4IDEwcHgpIikgaXMgIiIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2hhcGVzL3BhcnNpbmcvcGFyc2luZy10ZXN0LXV0aWxzLmpzIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zaGFwZXMvcGFyc2luZy9wYXJzaW5nLXRlc3QtdXRpbHMuanMKaW5kZXggNDIzMWQyOGYz
MDdmZTMyODU2ZTcxZjYxZGFkNDM4Njc5ZGQ5YWFkMS4uY2MzMjkwNDYyOGViOWM4YTQyMDcxZmI5
MjlmODg5NjZhNTk4NWQ2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvcGFy
c2luZy9wYXJzaW5nLXRlc3QtdXRpbHMuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMv
cGFyc2luZy9wYXJzaW5nLXRlc3QtdXRpbHMuanMKQEAgLTExNyw2ICsxMTcsNyBAQCB2YXIgaW52
YWxpZFNoYXBlVmFsdWVzID0gWwogICAgICJjaXJjbGUoMTBweCBhdCAxMHB4IDEwcHggMTBweCki
LAogICAgICJjaXJjbGUoMTBweCBhdCAxMHB4IDEwcHggYXQgY2VudGVyKSIsCiAgICAgImNpcmNs
ZSgxMHB4IGF0IGNlbnRlciBjZW50ZXIgMTBweCkiLAorICAgICJjaXJjbGUoMTBweCBhdCAxMCUg
bGVmdCkiLAogICAgICJjaXJjbGUoYXQgMTBweCAxMHB4IDEwcHgpIiwKICAgICAiY2lyY2xlKGF0
IDEwcHggMTBweCBhdCBjZW50ZXIpIiwKICAgICAiY2lyY2xlKGF0IGNlbnRlciBjZW50ZXIgMTBw
eCkiLApAQCAtMTI5LDYgKzEzMCw3IEBAIHZhciBpbnZhbGlkU2hhcGVWYWx1ZXMgPSBbCiAgICAg
ImVsbGlwc2UoMTBweCBhdCAxMHB4IDEwcHggMTBweCkiLAogICAgICJlbGxpcHNlKDEwcHggYXQg
MTBweCAxMHB4IGF0IGNlbnRlcikiLAogICAgICJlbGxpcHNlKDEwcHggYXQgY2VudGVyIGNlbnRl
ciAxMHB4KSIsCisgICAgImVsbGlwc2UoMTBweCAxMHB4IGF0IDEwJSBsZWZ0KSIsCiAgICAgImVs
bGlwc2UoMTBweCAyMHB4IDMwcHggYXQgY2VudGVyIGNlbnRlciAxMHB4KSIsCiAgICAgImVsbGlw
c2UoYXQgMTBweCAxMHB4IDEwcHgpIiwKICAgICAiZWxsaXBzZShhdCAxMHB4IDEwcHggYXQgY2Vu
dGVyKSIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRl
LWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlv
bi1leHBlY3RlZC50eHQKaW5kZXggNjg3MDY4NTU2NzY2OGY4ODdhMGQ5YmE4NGQ5N2I4OTE4MWQy
MDg0MS4uYTNlZWU5NDM0MWMzYjA5NDMyYjMwOGI4YWE1ZWU1YTJjZGY5NjdlOSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0
c2lkZS1hbmltYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVz
L3NoYXBlLW91dHNpZGUtZmxvYXRzL3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLWV4cGVjdGVkLnR4
dApAQCAtNCwxMCArNCwyNCBAQCBNb3ZpbmcgVGV4dAogTW92aW5nIFRleHQKIE1vdmluZyBUZXh0
CiBNb3ZpbmcgVGV4dAorTW92aW5nIFRleHQKK01vdmluZyBUZXh0CitNb3ZpbmcgVGV4dAorTW92
aW5nIFRleHQKK01vdmluZyBUZXh0CitNb3ZpbmcgVGV4dAorTW92aW5nIFRleHQKIFBBU1MgLSAi
d2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgInJlY3RhbmdsZS1ib3giIGVsZW1lbnQg
YXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogcmVjdGFuZ2xlKDEwJSwgMTAlLCA4MCUsIDgw
JSwgMHB4LCAwcHgpCiBQQVNTIC0gIndlYmtpdFNoYXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJj
aXJjbGUtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNpcmNsZSgz
NSUgYXQgMzUlIDM1JSkKIFBBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3Ig
ImVsbGlwc2UtYm94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGVsbGlw
c2UoMzUlIDMwJSBhdCAzNSUgMzUlKQogUEFTUyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHByb3Bl
cnR5IGZvciAicG9seWdvbi1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0
bzogcG9seWdvbihub256ZXJvLCAxMCUgMTAlLCA5MCUgMTAlLCA5MCUgOTAlLCAxMCUgOTAlKQog
UEFTUyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHByb3BlcnR5IGZvciAicG9seWdvbjItYm94IiBl
bGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IHBvbHlnb24obm9uemVybywgMjAl
IDIwJSwgODAlIDIwJSwgODAlIDgwJSwgMjAlIDgwJSkKIFBBU1MgLSAid2Via2l0U2hhcGVPdXRz
aWRlIiBwcm9wZXJ0eSBmb3IgImNpcmNsZS1hdXRvLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29t
ZXRoaW5nIGNsb3NlIHRvOiBjaXJjbGUoNTAlIGF0IDUwJSA1MCUpCitQQVNTIC0gIndlYmtpdFNo
YXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJjaXJjbGUtdG8tdG9wbGVmdC1ib3giIGVsZW1lbnQg
YXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xlKDM1JSBhdCAyNSUgMjUlKQorUEFT
UyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHByb3BlcnR5IGZvciAiY2lyY2xlLXRvLXRvcGxlZnQt
Ym94IiBlbGVtZW50IGF0IDFzIHNhdyBzb21ldGhpbmcgY2xvc2UgdG86IGNpcmNsZSgzNSUgYXQg
MjUlIDI1JSkKK1BBU1MgLSAid2Via2l0U2hhcGVPdXRzaWRlIiBwcm9wZXJ0eSBmb3IgImNpcmNs
ZS10by1ib3R0b21yaWdodC11c2luZy1rZXl3b3JkLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29t
ZXRoaW5nIGNsb3NlIHRvOiBjaXJjbGUoMzUlIGF0IDc1JSA3NSUpCitQQVNTIC0gIndlYmtpdFNo
YXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtdXNpbmcta2V5
d29yZC1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xlKDM1
JSBhdCA3NSUgNzUlKQorUEFTUyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHByb3BlcnR5IGZvciAi
Y2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLWJveCIgZWxlbWVudCBhdCAxcyBzYXcgc29t
ZXRoaW5nIGNsb3NlIHRvOiBjaXJjbGUoMzUlIGF0IDc1JSA3NSUpCitQQVNTIC0gIndlYmtpdFNo
YXBlT3V0c2lkZSIgcHJvcGVydHkgZm9yICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQt
dXNpbmcta2V5d29yZC1ib3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzog
Y2lyY2xlKDM1JSBhdCA3MCUgNzAlKQorUEFTUyAtICJ3ZWJraXRTaGFwZU91dHNpZGUiIHByb3Bl
cnR5IGZvciAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtMi1i
b3giIGVsZW1lbnQgYXQgMXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogY2lyY2xlKDM1JSBhdCA3
MCUgNzAlKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRz
aWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9zaGFwZXMvc2hhcGUtb3V0c2lkZS1mbG9hdHMvc2hhcGUtb3V0c2lkZS1hbmltYXRpb24uaHRt
bAppbmRleCBkMjRmMzY3NGEyMGUzZWFjNzAxNGMyZjE2MjlkYmUyMmJjYmEzNTFlLi5iOWMzM2U0
NTIwODk2ZGUzOWFhOTJhZmQzMDIwYTcwZGJlMDc3YTI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L3NoYXBlcy9zaGFwZS1vdXRzaWRlLWZsb2F0cy9zaGFwZS1vdXRzaWRlLWFuaW1hdGlv
bi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2hhcGVzL3NoYXBlLW91dHNpZGUtZmxvYXRz
L3NoYXBlLW91dHNpZGUtYW5pbWF0aW9uLmh0bWwKQEAgLTEwLDcgKzEwLDcgQEAKICAgICAuYm94
IHsKICAgICAgICAgaGVpZ2h0OiAxMDBweDsKICAgICAgICAgd2lkdGg6IDEwMHB4OwotICAgICAg
ICBtYXJnaW46IDEwcHg7CisgICAgICAgIG1hcmdpbjogNTBweDsKICAgICAgICAgZmxvYXQ6IGxl
ZnQ7CiAgICAgfQogCkBAIC0zOCw2ICszOCwzNCBAQAogICAgICAgLXdlYmtpdC1hbmltYXRpb246
IGNpcmNsZS1hdXRvLWFuaW0gMnMgbGluZWFyCiAgICAgfQogCisgICAgI2NpcmNsZS10by10b3Bs
ZWZ0LWJveCB7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbjogY2lyY2xlLXRvLXRvcGxlZnQtYW5p
bSAycyBsaW5lYXIKKyAgICB9CisKKyAgICAjY2lyY2xlLXRvLXRvcGxlZnQtdXNpbmcta2V5d29y
ZC1ib3ggeworICAgICAgLXdlYmtpdC1hbmltYXRpb246IGNpcmNsZS10by10b3BsZWZ0LXVzaW5n
LWtleXdvcmQtYW5pbSAycyBsaW5lYXIKKyAgICB9CisKKyAgICAjY2lyY2xlLXRvLWJvdHRvbXJp
Z2h0LWJveCB7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbjogY2lyY2xlLXRvLWJvdHRvbXJpZ2h0
LWFuaW0gMnMgbGluZWFyCisgICAgfQorCisgICAgI2NpcmNsZS10by1ib3R0b21yaWdodC11c2lu
Zy1rZXl3b3JkLWJveCB7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbjogY2lyY2xlLXRvLWJvdHRv
bXJpZ2h0LXVzaW5nLWtleXdvcmQtYW5pbSAycyBsaW5lYXIKKyAgICB9CisKKyAgICAjY2lyY2xl
LXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLWJveCB7CisgICAgICAtd2Via2l0LWFuaW1hdGlvbjog
Y2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLWFuaW0gMnMgbGluZWFyCisgICAgfQorCisg
ICAgI2NpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1rZXl3b3JkLWJveCB7Cisg
ICAgICAtd2Via2l0LWFuaW1hdGlvbjogY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVz
aW5nLWtleXdvcmQtYW5pbSAycyBsaW5lYXIKKyAgICB9CisKKyAgICAjY2lyY2xlLXRvLWJvdHRv
bXJpZ2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtMi1ib3ggeworICAgICAgLXdlYmtpdC1hbmlt
YXRpb246IGNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1rZXl3b3JkLTItYW5p
bSAycyBsaW5lYXIKKyAgICB9CisKICAgICBALXdlYmtpdC1rZXlmcmFtZXMgcmVjdGFuZ2xlLWFu
aW0gewogICAgICAgICBmcm9tIHsgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiByZWN0YW5nbGUoMCUs
IDAlLCAxMDAlLCAxMDAlKTsgfQogICAgICAgICB0byAgIHsgLXdlYmtpdC1zaGFwZS1vdXRzaWRl
OiByZWN0YW5nbGUoMjAlLCAyMCUsIDYwJSwgNjAlKTsgfQpAQCAtNjgsNiArOTYsNDAgQEAKICAg
ICAgICAgdG8gICB7IC13ZWJraXQtc2hhcGUtb3V0c2lkZTogY2lyY2xlKDUwJSBhdCA1MCUgNTAl
KTsgfQogICAgIH0KIAorICAgIEAtd2Via2l0LWtleWZyYW1lcyBjaXJjbGUtdG8tdG9wbGVmdC1h
bmltIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQtc2hhcGUtb3V0c2lkZTogY2lyY2xlKDUwJSBh
dCA1MCUgNTAlKTsgfQorICAgICAgICB0byAgIHsgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBjaXJj
bGUoMjAlIGF0IDAlIDAlKTsgfQorICAgIH0KKworICAgIEAtd2Via2l0LWtleWZyYW1lcyBjaXJj
bGUtdG8tdG9wbGVmdC11c2luZy1rZXl3b3JkLWFuaW0geworICAgICAgICBmcm9tIHsgLXdlYmtp
dC1zaGFwZS1vdXRzaWRlOiBjaXJjbGUoNTAlIGF0IDUwJSA1MCUpOyB9CisgICAgICAgIHRvICAg
eyAtd2Via2l0LXNoYXBlLW91dHNpZGU6IGNpcmNsZSgyMCUgYXQgbGVmdCB0b3ApOyB9CisgICAg
fQorCisgICAgQC13ZWJraXQta2V5ZnJhbWVzIGNpcmNsZS10by1ib3R0b21yaWdodC1hbmltIHsK
KyAgICAgICAgZnJvbSB7IC13ZWJraXQtc2hhcGUtb3V0c2lkZTogY2lyY2xlKDUwJSBhdCA1MCUg
NTAlKTsgfQorICAgICAgICB0byAgIHsgLXdlYmtpdC1zaGFwZS1vdXRzaWRlOiBjaXJjbGUoMjAl
IGF0IDEwMCUgMTAwJSk7IH0KKyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMgY2lyY2xl
LXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQtYW5pbSB7CisgICAgICAgIGZyb20geyAtd2Vi
a2l0LXNoYXBlLW91dHNpZGU6IGNpcmNsZSg1MCUgYXQgNTAlIDUwJSk7IH0KKyAgICAgICAgdG8g
ICB7IC13ZWJraXQtc2hhcGUtb3V0c2lkZTogY2lyY2xlKDIwJSBhdCByaWdodCBib3R0b20pOyB9
CisgICAgfQorCisgICAgQC13ZWJraXQta2V5ZnJhbWVzIGNpcmNsZS10by1ib3R0b21yaWdodC1l
eHRlbmRlZC1hbmltIHsKKyAgICAgICAgZnJvbSB7IC13ZWJraXQtc2hhcGUtb3V0c2lkZTogY2ly
Y2xlKDUwJSBhdCA1MCUgNTAlKTsgfQorICAgICAgICB0byAgIHsgLXdlYmtpdC1zaGFwZS1vdXRz
aWRlOiBjaXJjbGUoMjAlIGF0IDEwMCUgMTAwJSk7IH0KKyAgICB9CisKKyAgICBALXdlYmtpdC1r
ZXlmcmFtZXMgY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVzaW5nLWtleXdvcmQtYW5p
bSB7CisgICAgICAgIGZyb20geyAtd2Via2l0LXNoYXBlLW91dHNpZGU6IGNpcmNsZSg1MCUgYXQg
NTAlIDUwJSk7IH0KKyAgICAgICAgdG8gICB7IC13ZWJraXQtc2hhcGUtb3V0c2lkZTogY2lyY2xl
KDIwJSBhdCByaWdodCAxMCUgYm90dG9tIDIwcHgpOyB9CisgICAgfQorCisgICAgQC13ZWJraXQt
a2V5ZnJhbWVzIGNpcmNsZS10by1ib3R0b21yaWdodC1leHRlbmRlZC11c2luZy1rZXl3b3JkLTIt
YW5pbSB7CisgICAgICAgIGZyb20geyAtd2Via2l0LXNoYXBlLW91dHNpZGU6IGNpcmNsZSg1MCUg
YXQgNTAlIDUwJSkgYm9yZGVyLWJveDsgfQorICAgICAgICB0byAgIHsgLXdlYmtpdC1zaGFwZS1v
dXRzaWRlOiBjaXJjbGUoMjAlIGF0IHJpZ2h0IDEwJSBib3R0b20gMTBweCkgYm9yZGVyLWJveDsg
fQorICAgIH0KICAgPC9zdHlsZT4KICAgPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL2FuaW1hdGlvbnMv
cmVzb3VyY2VzL2FuaW1hdGlvbi10ZXN0LWhlbHBlcnMuanMiPjwvc2NyaXB0PgogICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CkBAIC03OSw2ICsxNDEsMTMgQEAKICAgICAgIFsicG9s
eWdvbi1hbmltIiwgIDEsICJwb2x5Z29uLWJveCIsICJ3ZWJraXRTaGFwZU91dHNpZGUiLCAicG9s
eWdvbihub256ZXJvLCAxMCUgMTAlLCA5MCUgMTAlLCA5MCUgOTAlLCAxMCUgOTAlKSIsIDAuMDVd
LAogICAgICAgWyJwb2x5Z29uMi1hbmltIiwgIDEsICJwb2x5Z29uMi1ib3giLCAid2Via2l0U2hh
cGVPdXRzaWRlIiwgInBvbHlnb24obm9uemVybywgMjAlIDIwJSwgODAlIDIwJSwgODAlIDgwJSwg
MjAlIDgwJSkiLCAwLjA1XSwKICAgICAgIFsiY2lyY2xlLWF1dG8tYW5pbSIsICAxLCAiY2lyY2xl
LWF1dG8tYm94IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIsICJjaXJjbGUoNTAlIGF0IDUwJSA1MCUp
IiwgMC4wNV0sCisgICAgICBbImNpcmNsZS10by10b3BsZWZ0LWFuaW0iLCAgMSwgImNpcmNsZS10
by10b3BsZWZ0LWJveCIsICJ3ZWJraXRTaGFwZU91dHNpZGUiLCAiY2lyY2xlKDM1JSBhdCAyNSUg
MjUlKSIsIDAuMDVdLAorICAgICAgWyJjaXJjbGUtdG8tdG9wbGVmdC1hbmltIiwgIDEsICJjaXJj
bGUtdG8tdG9wbGVmdC1ib3giLCAid2Via2l0U2hhcGVPdXRzaWRlIiwgImNpcmNsZSgzNSUgYXQg
MjUlIDI1JSkiLCAwLjA1XSwKKyAgICAgIFsiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtl
eXdvcmQtYW5pbSIsICAxLCAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LXVzaW5nLWtleXdvcmQtYm94
IiwgIndlYmtpdFNoYXBlT3V0c2lkZSIsICJjaXJjbGUoMzUlIGF0IDc1JSA3NSUpIiwgMC4wNV0s
CisgICAgICBbImNpcmNsZS10by1ib3R0b21yaWdodC11c2luZy1rZXl3b3JkLWFuaW0iLCAgMSwg
ImNpcmNsZS10by1ib3R0b21yaWdodC11c2luZy1rZXl3b3JkLWJveCIsICJ3ZWJraXRTaGFwZU91
dHNpZGUiLCAiY2lyY2xlKDM1JSBhdCA3NSUgNzUlKSIsIDAuMDVdLAorICAgICAgWyJjaXJjbGUt
dG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtYW5pbSIsICAxLCAiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0
LWV4dGVuZGVkLWJveCIsICJ3ZWJraXRTaGFwZU91dHNpZGUiLCAiY2lyY2xlKDM1JSBhdCA3NSUg
NzUlKSIsIDAuMDVdLAorICAgICAgWyJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNp
bmcta2V5d29yZC1hbmltIiwgIDEsICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQtdXNp
bmcta2V5d29yZC1ib3giLCAid2Via2l0U2hhcGVPdXRzaWRlIiwgImNpcmNsZSgzNSUgYXQgNzAl
IDcwJSkiLCAwLjAxXSwKKyAgICAgIFsiY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWV4dGVuZGVkLXVz
aW5nLWtleXdvcmQtMi1hbmltIiwgIDEsICJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0ZW5kZWQt
dXNpbmcta2V5d29yZC0yLWJveCIsICJ3ZWJraXRTaGFwZU91dHNpZGUiLCAiY2lyY2xlKDM1JSBh
dCA3MCUgNzAlKSIsIDAuMDFdLAogICAgIF07CiAgICAgCiAgICAgcnVuQW5pbWF0aW9uVGVzdChl
eHBlY3RlZFZhbHVlcyk7CkBAIC0xMTAsNiArMTc5LDM0IEBACiAgIDxkaXYgY2xhc3M9ImJveCIg
aWQ9ImNpcmNsZS1hdXRvLWJveCI+PC9kaXY+CiAgIE1vdmluZyBUZXh0CiA8L2Rpdj4KKzxkaXYg
Y2xhc3M9J2NvbnRhaW5lcic+CisgIDxkaXYgY2xhc3M9ImJveCIgaWQ9ImNpcmNsZS10by10b3Bs
ZWZ0LWJveCI+PC9kaXY+CisgIE1vdmluZyBUZXh0Cis8L2Rpdj4KKzxkaXYgY2xhc3M9J2NvbnRh
aW5lcic+CisgIDxkaXYgY2xhc3M9ImJveCIgaWQ9ImNpcmNsZS10by10b3BsZWZ0LXVzaW5nLWtl
eXdvcmQtYm94Ij48L2Rpdj4KKyAgTW92aW5nIFRleHQKKzwvZGl2PgorPGRpdiBjbGFzcz0nY29u
dGFpbmVyJz4KKyAgPGRpdiBjbGFzcz0iYm94IiBpZD0iY2lyY2xlLXRvLWJvdHRvbXJpZ2h0LWJv
eCI+PC9kaXY+CisgIE1vdmluZyBUZXh0Cis8L2Rpdj4KKzxkaXYgY2xhc3M9J2NvbnRhaW5lcic+
CisgIDxkaXYgY2xhc3M9ImJveCIgaWQ9ImNpcmNsZS10by1ib3R0b21yaWdodC11c2luZy1rZXl3
b3JkLWJveCI+PC9kaXY+CisgIE1vdmluZyBUZXh0Cis8L2Rpdj4KKzxkaXYgY2xhc3M9J2NvbnRh
aW5lcic+CisgIDxkaXYgY2xhc3M9ImJveCIgaWQ9ImNpcmNsZS10by1ib3R0b21yaWdodC1leHRl
bmRlZC1ib3giPjwvZGl2PgorICBNb3ZpbmcgVGV4dAorPC9kaXY+Cis8ZGl2IGNsYXNzPSdjb250
YWluZXInPgorICA8ZGl2IGNsYXNzPSJib3giIGlkPSJjaXJjbGUtdG8tYm90dG9tcmlnaHQtZXh0
ZW5kZWQtdXNpbmcta2V5d29yZC1ib3giPjwvZGl2PgorICBNb3ZpbmcgVGV4dAorPC9kaXY+Cis8
ZGl2IGNsYXNzPSdjb250YWluZXInPgorICA8ZGl2IGNsYXNzPSJib3giIGlkPSJjaXJjbGUtdG8t
Ym90dG9tcmlnaHQtZXh0ZW5kZWQtdXNpbmcta2V5d29yZC0yLWJveCI+PC9kaXY+CisgIE1vdmlu
ZyBUZXh0Cis8L2Rpdj4KIAogPGRpdiBpZD0icmVzdWx0Ij4KIDwvZGl2Pgo=
</data>
<flag name="review"
          id="243085"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
    <flag name="commit-queue"
          id="243106"
          type_id="3"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>