<?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>65583</bug_id>
          
          <creation_ts>2011-08-02 16:55:58 -0700</creation_ts>
          <short_desc>Use PATH_BASED_BORDER_RADIUS_DRAWING for skia</short_desc>
          <delta_ts>2011-08-28 23:03:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>66036</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ben Wells">benwells</reporter>
          <assigned_to name="Ben Wells">benwells</assigned_to>
          <cc>acolwell</cc>
    
    <cc>benwells</cc>
    
    <cc>bsalomon</cc>
    
    <cc>dglazkov</cc>
    
    <cc>jamesr</cc>
    
    <cc>levin</cc>
    
    <cc>mikelawther</cc>
    
    <cc>noel.gordon</cc>
    
    <cc>podivilov</cc>
    
    <cc>reed</cc>
    
    <cc>senorblanco</cc>
    
    <cc>tomhudson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>445619</commentid>
    <comment_count>0</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-02 16:55:58 -0700</bug_when>
    <thetext>A new code path is used to draw borders from some platforms, guarded with PATH_BASED_BORDER_RADIUS_DRAWING. This code path is not used for skia. This new code path handles complex borders with border-radius much better, and is being actively improved and maintained. This change makes skia ports of WebKit use the new border drawing code path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445669</commentid>
    <comment_count>1</comment_count>
      <attachid>102728</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-02 18:55:32 -0700</bug_when>
    <thetext>Created attachment 102728
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445674</commentid>
    <comment_count>2</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-02 18:58:48 -0700</bug_when>
    <thetext>This change doesn&apos;t have updated test expectations yet, I need to check a few more tests first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445688</commentid>
    <comment_count>3</comment_count>
      <attachid>102728</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-02 19:26:22 -0700</bug_when>
    <thetext>Comment on attachment 102728
Patch

Attachment 102728 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9287878

New failing tests:
fast/borders/border-antialiasing.html
fast/box-shadow/basic-shadows.html
fast/box-shadow/inset-with-extraordinary-radii-and-border.html
fast/blockflow/border-radius-clipping-vertical-lr.html
fast/borders/border-radius-inline-flow.html
fast/box-shadow/inset-box-shadows.html
fast/backgrounds/gradient-background-leakage.html
fast/box-shadow/inset-box-shadow-radius.html
fast/borders/border-radius-constraints.html
fast/borders/border-radius-split-inline.html
fast/backgrounds/border-radius-split-background-image.html
fast/blockflow/box-shadow-vertical-rl.html
fast/backgrounds/repeat/negative-offset-repeat-transformed.html
fast/blockflow/box-shadow-horizontal-bt.html
fast/borders/border-radius-huge-assert.html
fast/box-shadow/border-radius-big.html
css2.1/t0805-c5517-brdr-s-00-c.html
http/tests/inspector/resource-tree/resource-tree-reload.html
fast/blockflow/box-shadow-vertical-lr.html
fast/backgrounds/border-radius-split-background.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445740</commentid>
    <comment_count>4</comment_count>
      <attachid>102745</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-03 00:16:24 -0700</bug_when>
    <thetext>Created attachment 102745
With updated test_expectations for tests which need rebaselining.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445819</commentid>
    <comment_count>5</comment_count>
      <attachid>102745</attachid>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-08-03 05:28:31 -0700</bug_when>
    <thetext>Comment on attachment 102745
With updated test_expectations for tests which need rebaselining.

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

&gt; Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp:396
&gt; +    if (platformContext()-&gt;getXfermodeMode() == SkXfermode::kClear_Mode)

This check seems fragile, since a different call might have the mode set to clear, call clipOut(), and then change modes before drawing. In that case they will get unantialiased clip.

&gt; Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp:400
&gt; +        platformContext()-&gt;makeGrContextCurrent();

I wonder if we should move the makecurrent call inside clipPathAntiAliased, just to cut down on all of the call-sites. Just a thought.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445835</commentid>
    <comment_count>6</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-03 05:59:35 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 102745 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=102745&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp:396
&gt; &gt; +    if (platformContext()-&gt;getXfermodeMode() == SkXfermode::kClear_Mode)
&gt; 
&gt; This check seems fragile, since a different call might have the mode set to clear, call clipOut(), and then change modes before drawing. In that case they will get unantialiased clip.

I agree. Perhaps we can add a DCHECK or webkit equivalent that the mode isn&apos;t changed to clear mode while we have antialiased clip paths.

Another option is to have a clearModeClipOut in the graphics context. I&apos;m worried this is polluting the graphics context with a special case.

Is there a way to make the antialiasing clip work with clear mode without major surgery?

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp:400
&gt; &gt; +        platformContext()-&gt;makeGrContextCurrent();
&gt; 
&gt; I wonder if we should move the makecurrent call inside clipPathAntiAliased, just to cut down on all of the call-sites. Just a thought.

That&apos;s a good thought, it&apos;s easy to miss these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445853</commentid>
    <comment_count>7</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-08-03 06:59:06 -0700</bug_when>
    <thetext>I think the notion just breaks the API model of GraphicsContext, that you can know the xfermode before you actually draw something (or in this case, before you draw everything). I think we should definitely consider a specialty function 

    void clearOut(Path);

We can always implement it in terms of the current pattern, but allow ports to perform this more efficiently if they wish (e.g. skia can definitely do this more efficiently in both raster and gpu).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446128</commentid>
    <comment_count>8</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-03 15:18:43 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I think the notion just breaks the API model of GraphicsContext, that you can know the xfermode before you actually draw something (or in this case, before you draw everything). I think we should definitely consider a specialty function 
&gt; 
&gt;     void clearOut(Path);
&gt; 
&gt; We can always implement it in terms of the current pattern, but allow ports to perform this more efficiently if they wish (e.g. skia can definitely do this more efficiently in both raster and gpu).

How about fillOutside(Path), which if called with clear mode does clearOut? This feels more in harmony with the rest of the graphics context API and still solves our problem. Skia can implement this easily with its inverse path settings and the other implementations can do what they do already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446135</commentid>
    <comment_count>9</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-03 15:26:50 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; I think the notion just breaks the API model of GraphicsContext, that you can know the xfermode before you actually draw something (or in this case, before you draw everything). I think we should definitely consider a specialty function 
&gt; &gt; 
&gt; &gt;     void clearOut(Path);
&gt; &gt; 
&gt; &gt; We can always implement it in terms of the current pattern, but allow ports to perform this more efficiently if they wish (e.g. skia can definitely do this more efficiently in both raster and gpu).
&gt; 
&gt; How about fillOutside(Path), which if called with clear mode does clearOut? This feels more in harmony with the rest of the graphics context API and still solves our problem. Skia can implement this easily with its inverse path settings and the other implementations can do what they do already.

BTW either approach of clearOut or fillOutside will probably need path and rect versions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446150</commentid>
    <comment_count>10</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-08-03 15:40:15 -0700</bug_when>
    <thetext>I still wonder if simply removing the callers to clipOut() that set the mode to clear is a better option, since the only caller I know of is displayTransparencyElsewhere(), which is fundamentally broken.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446239</commentid>
    <comment_count>11</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-03 17:31:55 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; I still wonder if simply removing the callers to clipOut() that set the mode to clear is a better option, since the only caller I know of is displayTransparencyElsewhere(), which is fundamentally broken.

OK sounds like a good plan as that needs to change anyway, and won&apos;t be using clipOut long ter. I&apos;ll put this change on hold and look at the canvas compositing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>446456</commentid>
    <comment_count>12</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-08-04 06:10:59 -0700</bug_when>
    <thetext>(late to the party)

I&apos;m fine with fillOut(rect or path)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455101</commentid>
    <comment_count>13</comment_count>
      <attachid>104775</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-22 17:38:40 -0700</bug_when>
    <thetext>Created attachment 104775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455103</commentid>
    <comment_count>14</comment_count>
      <attachid>104775</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-22 17:40:06 -0700</bug_when>
    <thetext>Comment on attachment 104775
Patch

Updated to remove hacky change to clipOut that is no longer needed (html canvas implementation no longer uses clipOut).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455106</commentid>
    <comment_count>15</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-08-22 17:41:25 -0700</bug_when>
    <thetext>Looks surprisingly simple.  Stephen, Mike - any thoughts on this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455113</commentid>
    <comment_count>16</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-22 17:47:54 -0700</bug_when>
    <thetext>Just a note: there are some problems with the new code with dashed and dotted borders. Details can be seen in bug 58711.

Dashed / dotted borders are a little worse in skia though, which seems to be due to differences in where the dashes / dots are placed. I&apos;d like to look at that in another bug, as there are different approaches to fixing it and it is probably to as important as getting the new path in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456862</commentid>
    <comment_count>17</comment_count>
      <attachid>104775</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-08-25 08:11:41 -0700</bug_when>
    <thetext>Comment on attachment 104775
Patch

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

&gt; Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp:483
&gt; +    if (!isPathSkiaSafe(getCTM(), path))

Just FYI, this is not necessary anymore.  ENSURE_VALUE_SAFETY_FOR_SKIA is not defined, since Skia doesn&apos;t blow up on large coordinates anymore (we should probably rip out all these calls at some point).

&gt; Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp:490
&gt; +    if (antialiased)
&gt; +        platformContext()-&gt;clipPathAntiAliased(path);
&gt; +    else
&gt; +        platformContext()-&gt;canvas()-&gt;clipPath(path);

Perhaps we should have rename PlatformContextSkia::clipPathAntiAliased() to PlatformContextSkia::clipPath(), and give it a parameter to specify antialiasing or not.  Could be done in a future CL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456936</commentid>
    <comment_count>18</comment_count>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-08-25 09:59:46 -0700</bug_when>
    <thetext>Leaving for Mike to take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456945</commentid>
    <comment_count>19</comment_count>
    <who name="Mike Reed">reed</who>
    <bug_when>2011-08-25 10:14:34 -0700</bug_when>
    <thetext>works for me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>456947</commentid>
    <comment_count>20</comment_count>
      <attachid>104775</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-08-25 10:15:25 -0700</bug_when>
    <thetext>Comment on attachment 104775
Patch

Let&apos;s boogie, then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457111</commentid>
    <comment_count>21</comment_count>
      <attachid>104775</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-25 13:46:06 -0700</bug_when>
    <thetext>Comment on attachment 104775
Patch

Rejecting attachment 104775 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=ec2-cq-01&apos;, &apos;--port...&quot; exit_code: 2

Last 500 characters of output:
ast/text/international/thai-line-breaks.html = IMAGE
  platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html = IMAGE
  svg/custom/inline-svg-in-xhtml.xml = IMAGE
  tables/mozilla/bugs/bug138725.html = IMAGE
  tables/mozilla_expected_failures/collapsing_borders/bug41262-5.html = IMAGE
  tables/mozilla_expected_failures/collapsing_borders/bug41262-6.html = IMAGE

Regressions: Unexpected image and text mismatch : (1)
  svg/custom/svg-fonts-word-spacing.html = IMAGE+TEXT



Full output: http://queues.webkit.org/results/9495602</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457330</commentid>
    <comment_count>22</comment_count>
      <attachid>105292</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-25 19:08:43 -0700</bug_when>
    <thetext>Created attachment 105292
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457332</commentid>
    <comment_count>23</comment_count>
      <attachid>105292</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-25 19:10:38 -0700</bug_when>
    <thetext>Comment on attachment 105292
Patch

Not sure what went wrong with the last patch. The test reported as failing fails for me with and without my change, but not when I try using git try.

I did find one extra test which needs rebaselining and have added it to the expectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457371</commentid>
    <comment_count>24</comment_count>
      <attachid>105292</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-25 21:27:15 -0700</bug_when>
    <thetext>Comment on attachment 105292
Patch

Clearing flags on attachment: 105292

Committed r93850: &lt;http://trac.webkit.org/changeset/93850&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457372</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-25 21:27:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457621</commentid>
    <comment_count>26</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-08-26 10:35:33 -0700</bug_when>
    <thetext>I&apos;ve rebaselined some fast/border/* tests that looked fine, see r93869. 

These ones looks strange however:
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=fast%2Fborders%2FborderRadiusDashed06.html%2Cfast%2Fborders%2FborderRadiusDotted05.html&amp;showExpectations=true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457734</commentid>
    <comment_count>27</comment_count>
    <who name="Aaron Colwell">acolwell</who>
    <bug_when>2011-08-26 13:31:40 -0700</bug_when>
    <thetext>Are you planning on rebaselining the other tests as well? The media/ ones look like they should just be rebased.

(In reply to comment #26)
&gt; I&apos;ve rebaselined some fast/border/* tests that looked fine, see r93869. 
&gt; 
&gt; These ones looks strange however:
&gt; http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=fast%2Fborders%2FborderRadiusDashed06.html%2Cfast%2Fborders%2FborderRadiusDotted05.html&amp;showExpectations=true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457814</commentid>
    <comment_count>28</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-26 15:28:03 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; Are you planning on rebaselining the other tests as well? The media/ ones look like they should just be rebased.
&gt; 
&gt; (In reply to comment #26)
&gt; &gt; I&apos;ve rebaselined some fast/border/* tests that looked fine, see r93869. 
&gt; &gt; 
&gt; &gt; These ones looks strange however:
&gt; &gt; http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=fast%2Fborders%2FborderRadiusDashed06.html%2Cfast%2Fborders%2FborderRadiusDotted05.html&amp;showExpectations=true.

BorderRadiusDotted06 still has some issues, which are due to the problems noted on bug 58711. These problems manifest a bit differently on skia due to differences in where dashes and dots show.

I was planning on addressing those problems in a separate patch.

There are lots of tests that need rebaselining after this change, I was planning on doing this next week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457816</commentid>
    <comment_count>29</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-08-26 15:30:54 -0700</bug_when>
    <thetext>(In reply to comment #28)
&gt; There are lots of tests that need rebaselining after this change, I was planning on doing this next week.

If you know about these failures when you check in a change, it is ideal if you add them to test-expectation.txt so that gardeners don&apos;t have to sort it all out. :)

(Now, I&apos;ll also admit from experience I also know that sometimes we don&apos;t always realize when we will break things.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>457828</commentid>
    <comment_count>30</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-26 15:56:54 -0700</bug_when>
    <thetext>&gt; (In reply to comment #28)
&gt; &gt; There are lots of tests that need rebaselining after this change, I was planning on doing this next week.
&gt; 
&gt; If you know about these failures when you check in a change, it is ideal if you add them to test-expectation.txt so that gardeners don&apos;t have to sort it all out. :)
&gt; 
&gt; (Now, I&apos;ll also admit from experience I also know that sometimes we don&apos;t always realize when we will break things.)

Sorry, I thought I had updated all the expectations, and the bots all looked green. This is some of the expectations I checked in, let me know if I&apos;m not doing it right.

// Need new baselines due to border drawing now using the PATH_BASED_BORDER_RADIUS_DRAWING
// code path.
.....
BUGWK65583 LINUX WIN : fast/borders/borderRadiusDotted05.html = IMAGE</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102728</attachid>
            <date>2011-08-02 18:55:32 -0700</date>
            <delta_ts>2011-08-03 00:16:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65583-20110803115530.patch</filename>
            <type>text/plain</type>
            <size>6655</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIyNDUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMjhiYmZjYTFhMzQzZjc2
ZmM4OTUyZWNkM2RlODA0ZTg3NTBkOTk0Li5iMTUxZGQyZjA0YzYxZmU3NmQ4ZmJmNzZiNjMyNTQ0
ZTA4YjEyZDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDgtMDIgIEJlbiBX
ZWxscyAgPGJlbndlbGxzQGNocm9taXVtLm9yZz4KKworICAgICAgICBVc2UgUEFUSF9CQVNFRF9C
T1JERVJfUkFESVVTX0RSQVdJTkcgZm9yIHNraWEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTgzCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgYnJpbmdz
IGluIHRoZSBuZXcgYm9yZGVyIHJlbmRlcmluZyBmb3IgU2tpYS4gVG8gc3VwcG9ydCB0aGlzIHdp
dGhvdXQgYWxpYXNpbmcgdGhlIHNraWEKKyAgICAgICAgZ3JhcGhpY3MgY29udGV4dCBoYXMgYmVl
biB1cGRhdGVkIHRvIHN1cHBvcnQgYW50aS1hbGlhc2VkIGNsaXBwaW5nIGFyb3VuZCBjb252ZXgg
cG9seWdvbnMgYW5kIGFsc28KKyAgICAgICAgYW50aS1hbGlhc2VkIGNsaXBwaW5nIG91dHNpZGUg
YSBwYXRoLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRDo6ZGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDo6Y2xpcE91dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQ6OmNsaXBDb252ZXhQb2x5Z29uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZv
cm1Db250ZXh0U2tpYTo6Y2xpcFBhdGhBbnRpQWxpYXNlZCk6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybUNvbnRleHRTa2lhOjpnZXRYZmVybW9kZU1vZGUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5oOgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaDoKKwogMjAxMS0wOC0wMiAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gRGVjb3VwbGUgbGF5ZXIgdmlzaWJp
bGl0eSBjYWxjdWxhdGlvbnMgZnJvbSByZW5kZXIgc3VyZmFjZXMgLyBjb21wdXRlZCBkcmF3IHRy
YW5zZm9ybXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuY3BwCmluZGV4IDRlZTk2MzU4MDU3NGQ4OWQ3NDg3MzhjMTlmYzYy
YjI2ODUxY2M3NzUuLmUzMjk1NjQ0MzhhNjc1Yzk1ZWY5MmQ4ZDkyMmY0YWY2YmU3YzlhOTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmNwcApAQCAtMTUxMCw4ICsxNTEwLDggQEAgdGVtcGxhdGU8Y2xhc3MgVD4gdm9p
ZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmRpc3BsYXlUcmFuc3BhcmVuY3lFbHNld2hlcmUo
Y28KIAogICAgIEdyYXBoaWNzQ29udGV4dCogYyA9IGRyYXdpbmdDb250ZXh0KCk7CiAgICAgYy0+
c2F2ZSgpOwotICAgIGMtPmNsaXBPdXQoYXJlYSk7CiAgICAgYy0+c2V0Q29tcG9zaXRlT3BlcmF0
aW9uKENvbXBvc2l0ZUNsZWFyKTsKKyAgICBjLT5jbGlwT3V0KGFyZWEpOwogICAgIGMtPmZpbGxS
ZWN0KGNhbnZhc1JlY3QpOwogICAgIGMtPnJlc3RvcmUoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNr
aWEuY3BwCmluZGV4IDVkYzc4NGE4N2Q3MWRmMjFiZjdmMjQ0OWVlYTA0NGZlYjNjOWVmYTQuLmIy
YThkNGM1MWU0OTRjNzY0YjcyNzA2MWY0NjQ2N2ViOWYxOGVkYTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRl
eHRTa2lhLmNwcApAQCAtMzg5LDExICszODksMTcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmNs
aXBPdXQoY29uc3QgUGF0aCYgcCkKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBjb25zdCBTa1BhdGgmIHBhdGggPSAqcC5wbGF0Zm9ybVBhdGgoKTsK
KyAgICBTa1BhdGggcGF0aCA9ICpwLnBsYXRmb3JtUGF0aCgpOwogICAgIGlmICghaXNQYXRoU2tp
YVNhZmUoZ2V0Q1RNKCksIHBhdGgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBwbGF0Zm9ybUNv
bnRleHQoKS0+Y2FudmFzKCktPmNsaXBQYXRoKHBhdGgsIFNrUmVnaW9uOjprRGlmZmVyZW5jZV9P
cCk7CisgICAgaWYgKHBsYXRmb3JtQ29udGV4dCgpLT5nZXRYZmVybW9kZU1vZGUoKSA9PSBTa1hm
ZXJtb2RlOjprQ2xlYXJfTW9kZSkKKyAgICAgICAgcGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygp
LT5jbGlwUGF0aChwYXRoLCBTa1JlZ2lvbjo6a0RpZmZlcmVuY2VfT3ApOworICAgIGVsc2Ugewor
ICAgICAgICBwYXRoLnRvZ2dsZUludmVyc2VGaWxsVHlwZSgpOworICAgICAgICBwbGF0Zm9ybUNv
bnRleHQoKS0+bWFrZUdyQ29udGV4dEN1cnJlbnQoKTsKKyAgICAgICAgcGxhdGZvcm1Db250ZXh0
KCktPmNsaXBQYXRoQW50aUFsaWFzZWQocGF0aCk7CisgICAgfQogfQogCiB2b2lkIEdyYXBoaWNz
Q29udGV4dDo6Y2xpcFBhdGgoY29uc3QgUGF0aCYgcGF0aFRvQ2xpcCwgV2luZFJ1bGUgY2xpcFJ1
bGUpCkBAIC00NzYsOCArNDgyLDE1IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpjbGlwQ29udmV4
UG9seWdvbihzaXplX3QgbnVtUG9pbnRzLCBjb25zdCBGbG9hdFBvaW50KiBwb2luCiAgICAgICAg
IHJldHVybjsKIAogICAgIFNrUGF0aCBwYXRoOworICAgIGlmICghaXNQYXRoU2tpYVNhZmUoZ2V0
Q1RNKCksIHBhdGgpKQorICAgICAgICByZXR1cm47CisKICAgICBzZXRQYXRoRnJvbUNvbnZleFBv
aW50cygmcGF0aCwgbnVtUG9pbnRzLCBwb2ludHMpOwotICAgIHBsYXRmb3JtQ29udGV4dCgpLT5j
YW52YXMoKS0+Y2xpcFBhdGgocGF0aCk7CisgICAgaWYgKGFudGlhbGlhc2VkKSB7CisgICAgICAg
IHBsYXRmb3JtQ29udGV4dCgpLT5tYWtlR3JDb250ZXh0Q3VycmVudCgpOworICAgICAgICBwbGF0
Zm9ybUNvbnRleHQoKS0+Y2xpcFBhdGhBbnRpQWxpYXNlZChwYXRoKTsKKyAgICB9IGVsc2UKKyAg
ICAgICAgcGxhdGZvcm1Db250ZXh0KCktPmNhbnZhcygpLT5jbGlwUGF0aChwYXRoKTsKIH0KIAog
Ly8gVGhpcyBtZXRob2QgaXMgb25seSB1c2VkIHRvIGRyYXcgdGhlIGxpdHRsZSBjaXJjbGVzIHVz
ZWQgaW4gbGlzdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmNwcAppbmRleCAxZTM4NWVkOWUyYjM2
ZDhhOWQ5MGQwMWFiMWRjMjI3YmEzNDcxMjUyLi45YTA0MzVmNjJlOTNjZDBjY2M3MzMyZjM3YTg1
ZWRiZDAyOGRlY2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5jcHAKQEAgLTI4NCw3ICsyODQs
MTIgQEAgdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpjbGlwUGF0aEFudGlBbGlhc2VkKGNvbnN0
IFNrUGF0aCYgY2xpcFBhdGgpCiAKICAgICBpZiAoIWhhdmVMYXllck91dHN0YW5kaW5nKSB7CiAg
ICAgICAgIFNrUmVjdCBib3VuZHMgPSBjbGlwUGF0aC5nZXRCb3VuZHMoKTsKLSAgICAgICAgY2Fu
dmFzKCktPnNhdmVMYXllckFscGhhKCZib3VuZHMsIDI1NSwgc3RhdGljX2Nhc3Q8U2tDYW52YXM6
OlNhdmVGbGFncz4oU2tDYW52YXM6OmtIYXNBbHBoYUxheWVyX1NhdmVGbGFnIHwgU2tDYW52YXM6
OmtGdWxsQ29sb3JMYXllcl9TYXZlRmxhZyB8IFNrQ2FudmFzOjprQ2xpcFRvTGF5ZXJfU2F2ZUZs
YWcpKTsKKyAgICAgICAgLy8gSWYgd2UgYXJlIGRvaW5nIGEgY2xpcCBvdXRzaWRlIG9mIGNsaXBQ
YXRoIG91ciBsYXllciBuZWVkcyB0byBiZSBmb3IgdGhlIHdob2xlCisgICAgICAgIC8vIGNhbnZh
cywgb3RoZXJ3aXNlIHdlIGNhbiBjcmVhdGUgYSBzbWFsbGVyIGxheWVyLgorICAgICAgICBTa1Jl
Y3QqIGxheWVyQm91bmRzID0gMDsKKyAgICAgICAgaWYgKCFjbGlwUGF0aC5pc0ludmVyc2VGaWxs
VHlwZSgpKQorICAgICAgICAgICAgbGF5ZXJCb3VuZHMgPSAmYm91bmRzOworICAgICAgICBjYW52
YXMoKS0+c2F2ZUxheWVyQWxwaGEobGF5ZXJCb3VuZHMsIDI1NSwgc3RhdGljX2Nhc3Q8U2tDYW52
YXM6OlNhdmVGbGFncz4oU2tDYW52YXM6OmtIYXNBbHBoYUxheWVyX1NhdmVGbGFnIHwgU2tDYW52
YXM6OmtGdWxsQ29sb3JMYXllcl9TYXZlRmxhZyB8IFNrQ2FudmFzOjprQ2xpcFRvTGF5ZXJfU2F2
ZUZsYWcpKTsKICAgICAgICAgLy8gR3VhcmRzIHN0YXRlIG1vZGlmaWNhdGlvbiBkdXJpbmcgY2xp
cHBlZCBvcGVyYXRpb25zLgogICAgICAgICAvLyBUaGUgc3RhdGUgaXMgcG9wcGVkIGluIGFwcGx5
QW50aUFsaWFzZWRDbGlwUGF0aHMoKS4KICAgICAgICAgY2FudmFzKCktPnNhdmUoKTsKQEAgLTUx
Miw2ICs1MTcsMTEgQEAgaW50IFBsYXRmb3JtQ29udGV4dFNraWE6OmdldE5vcm1hbGl6ZWRBbHBo
YSgpIGNvbnN0CiAgICAgcmV0dXJuIGFscGhhOwogfQogCitTa1hmZXJtb2RlOjpNb2RlIFBsYXRm
b3JtQ29udGV4dFNraWE6OmdldFhmZXJtb2RlTW9kZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
c3RhdGUtPm1feGZlck1vZGU7Cit9CisKIHZvaWQgUGxhdGZvcm1Db250ZXh0U2tpYTo6c2V0VGV4
dERyYXdpbmdNb2RlKFRleHREcmF3aW5nTW9kZUZsYWdzIG1vZGUpCiB7CiAgICAgLy8gVGV4dE1v
ZGVDbGlwIGlzIG5ldmVyIHVzZWQsIHNvIHdlIGFzc2VydCB0aGF0IGl0IGlzbid0IHNldDoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1D
b250ZXh0U2tpYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0
Zm9ybUNvbnRleHRTa2lhLmgKaW5kZXggNjk4MjU2MTQxYmU4OTFhNmFmYWI5M2VkNjNlYmNmZTdl
NWQzZDAyNi4uYjEwMDEyYmNjMDdkZmM5MmZiYzMxYTJhNzA3YmEzMjg3YzIxNzdiMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRl
eHRTa2lhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0
Zm9ybUNvbnRleHRTa2lhLmgKQEAgLTEzNiw2ICsxMzYsNyBAQCBwdWJsaWM6CiAgICAgVGV4dERy
YXdpbmdNb2RlRmxhZ3MgZ2V0VGV4dERyYXdpbmdNb2RlKCkgY29uc3Q7CiAgICAgZmxvYXQgZ2V0
QWxwaGEoKSBjb25zdDsKICAgICBpbnQgZ2V0Tm9ybWFsaXplZEFscGhhKCkgY29uc3Q7CisgICAg
U2tYZmVybW9kZTo6TW9kZSBnZXRYZmVybW9kZU1vZGUoKSBjb25zdDsKIAogICAgIHZvaWQgY2Fu
dmFzQ2xpcFBhdGgoY29uc3QgU2tQYXRoJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuaAppbmRleCAyYWFlYjM5ZGFhY2ZlNGE2OTIyODcyYjc1Y2U3OWRjOTRlY2YyZjMx
Li4xOThjOGIyMzk2ZjZlZGNhYTM3MTY5NWI0MzUyMTk4M2I1NzM4NzdlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAi
VHJhbnNmb3JtYXRpb25NYXRyaXguaCIKICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KIAot
I2lmIFVTRShDRykgfHwgVVNFKENBSVJPKSB8fCBQTEFURk9STShRVCkKKyNpZiBVU0UoQ0cpIHx8
IFVTRShDQUlSTykgfHwgVVNFKFNLSUEpIHx8IFBMQVRGT1JNKFFUKQogI2RlZmluZSBIQVZFX1BB
VEhfQkFTRURfQk9SREVSX1JBRElVU19EUkFXSU5HIDEKICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102745</attachid>
            <date>2011-08-03 00:16:24 -0700</date>
            <delta_ts>2011-08-22 17:38:31 -0700</delta_ts>
            <desc>With updated test_expectations for tests which need rebaselining.</desc>
            <filename>bug-65583-20110803171622.patch</filename>
            <type>text/plain</type>
            <size>12354</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIyNDUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCBjZDlhMTcyMmQ2M2ViYjU3ZGIy
ZTMyNmQ5ZTc4ZGE0YjMxOWIyNTFiLi45MmI4YmE5OGY5NmYwMzk2YmY4MDU2NjM4YjQ2MzI5NmMw
NmYzN2IwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4
cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9l
eHBlY3RhdGlvbnMudHh0CkBAIC0zNjU5LDMgKzM2NTksNzQgQEAgQlVHV0s2NTQ1MyBNQUMgOiBm
YXN0L2Nzcy9vdXRsaW5lLWF1dG8tZW1wdHktcmVjdHMuaHRtbCA9IElNQUdFCiAKIEJVR1dLNjU0
NjIgVklTVEEgOiBodHRwL3Rlc3RzL2NhY2hlL2hpc3Rvcnktb25seS1jYWNoZWQtc3VicmVzb3Vy
Y2UtbG9hZHMtbWF4LWFnZS1odHRwcy5odG1sID0gUEFTUyBUSU1FT1VUCiAKKy8vIE5lZWQgbmV3
IGJhc2VsaW5lcyBkdWUgdG8gYm9yZGVyIGRyYXdpbmcgbm93IHVzaW5nIHRoZSBQQVRIX0JBU0VE
X0JPUkRFUl9SQURJVVNfRFJBV0lORworLy8gY29kZSBwYXRoLgorQlVHV0s2NTU4MyBXSU4gTElO
VVggOiBjc3MyLjEvdDA4MDUtYzU1MTctYnJkci1zLTAwLWMuaHRtbCA9IElNQUdFCitCVUdXSzY1
NTgzIFdJTiBMSU5VWCA6IGZhc3QvYmFja2dyb3VuZHMvYm9yZGVyLXJhZGl1cy1zcGxpdC1iYWNr
Z3JvdW5kLWltYWdlLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2Jh
Y2tncm91bmRzL2JvcmRlci1yYWRpdXMtc3BsaXQtYmFja2dyb3VuZC5odG1sID0gSU1BR0UKK0JV
R1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9iYWNrZ3JvdW5kcy9ncmFkaWVudC1iYWNrZ3JvdW5k
LWxlYWthZ2UuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYmFja2dy
b3VuZHMvcmVwZWF0L25lZ2F0aXZlLW9mZnNldC1yZXBlYXQtdHJhbnNmb3JtZWQuaHRtbCA9IElN
QUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYmxvY2tmbG93L2JvcmRlci1yYWRpdXMt
Y2xpcHBpbmctdmVydGljYWwtbHIuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6
IGZhc3QvYmxvY2tmbG93L2JveC1zaGFkb3ctaG9yaXpvbnRhbC1idC5odG1sID0gSU1BR0UKK0JV
R1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ibG9ja2Zsb3cvYm94LXNoYWRvdy12ZXJ0aWNhbC1s
ci5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ibG9ja2Zsb3cvYm94
LXNoYWRvdy12ZXJ0aWNhbC1ybC5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDog
ZmFzdC9ib3JkZXJzL2JvcmRlci1hbnRpYWxpYXNpbmcuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgz
IFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWNvbnN0cmFpbnRzLmh0bWwg
PSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1
cy1odWdlLWFzc2VydC5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9i
b3JkZXJzL2JvcmRlci1yYWRpdXMtaW5saW5lLWZsb3cuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgz
IFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLXNwbGl0LWlubGluZS5odG1s
ID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1
c0FsbFN0eWxlc0FsbENvcm5lcnMuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6
IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNBcmNzMDEuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgz
IFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNEYXNoZWQwMi5odG1sID0gSU1B
R0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0Rhc2hl
ZDAzLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9y
ZGVyUmFkaXVzRG90dGVkMDEuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZh
c3QvYm9yZGVycy9ib3JkZXJSYWRpdXNEb3VibGUwMS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMg
V0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0RvdWJsZTAyLmh0bWwgPSBJTUFH
RQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzRG91Ymxl
MDMuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ib3Jk
ZXJSYWRpdXNHcm9vdmUwMS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFz
dC9ib3JkZXJzL2JvcmRlclJhZGl1c0dyb292ZTAyLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBX
SU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzSW5zZXQwMS5odG1sID0gSU1BR0UK
K0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0ludmFsaWRD
b2xvci5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2Jv
cmRlclJhZGl1c091dHNldDAxLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBm
YXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzUmlkZ2UwMS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMg
V0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c1NvbGlkMDEuaHRtbCA9IElNQUdF
CitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNTb2xpZDAy
Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVy
UmFkaXVzU29saWQwMy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9i
b3JkZXJzL2JvcmRlclJhZGl1c1NvbGlkMDQuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBM
SU5VWCA6IGZhc3QvYm9yZGVycy9kaWZmZXJlbnQtY29sb3ItYm9yZGVycy5odG1sID0gSU1BR0UK
K0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2ZpZWxkc2V0Qm9yZGVyUmFkaXVz
Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvcnRsLWJv
cmRlci0wMS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJz
L3J0bC1ib3JkZXItMDIuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3Qv
Ym9yZGVycy9ydGwtYm9yZGVyLTAzLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVgg
OiBmYXN0L2JvcmRlcnMvcnRsLWJvcmRlci0wNC5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lO
IExJTlVYIDogZmFzdC9ib3JkZXJzL3J0bC1ib3JkZXItMDUuaHRtbCA9IElNQUdFCitCVUdXSzY1
NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy90YWJsZS1ib3JkZXJzLmh0bWwgPSBJTUFHRQor
QlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JveC1zaGFkb3cvYmFzaWMtc2hhZG93cy5odG1s
ID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3gtc2hhZG93L2JvcmRlci1y
YWRpdXMtYmlnLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JveC1z
aGFkb3cvaW5zZXQtYm94LXNoYWRvdy1yYWRpdXMuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJ
TiBMSU5VWCA6IGZhc3QvYm94LXNoYWRvdy9pbnNldC1ib3gtc2hhZG93cy5odG1sID0gSU1BR0UK
K0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3gtc2hhZG93L2luc2V0LXdpdGgtZXh0cmFv
cmRpbmFyeS1yYWRpaS1hbmQtYm9yZGVyLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElO
VVggOiBmYXN0L2JveC1zaGFkb3cvaW5zZXQuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBM
SU5VWCA6IGZhc3QvYm94LXNoYWRvdy9zcHJlYWQtbXVsdGlwbGUtbm9ybWFsLmh0bWwgPSBJTUFH
RQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JveC1zaGFkb3cvc3ByZWFkLmh0bWwgPSBJ
TUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2Nzcy9ib3gtc2hhZG93LWFuZC1ib3Jk
ZXItcmFkaXVzLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2Nzcy9j
b2xvci1sZWFrYWdlLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2Nz
cy9uZXN0ZWQtcm91bmRlZC1jb3JuZXJzLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElO
VVggOiBmYXN0L2Nzcy90ZXh0LWlucHV0LXdpdGgtd2Via2l0LWJvcmRlci1yYWRpdXMuaHRtbCA9
IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvZm9ybXMvYmFzaWMtc2VsZWN0cy5o
dG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9mb3Jtcy92YWxpZGF0aW9u
LW1lc3NhZ2UtYXBwZWFyYW5jZS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDog
ZmFzdC9ncmFkaWVudHMvYmFja2dyb3VuZC1jbGlwcGVkLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4
MyBXSU4gTElOVVggOiBmYXN0L2dyYWRpZW50cy9ncmFkaWVudC1hZnRlci10cmFuc3BhcmVudC1i
b3JkZXIuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvaW5saW5lL2lu
bGluZS1ib3JkZXJzLXdpdGgtYmlkaS1vdmVycmlkZS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMg
V0lOIExJTlVYIDogZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMuaHRtbCA9IElNQUdFCitCVUdX
SzY1NTgzIFdJTiBMSU5VWCA6IGZhc3Qvb3ZlcmZsb3cvYm9yZGVyLXJhZGl1cy1jbGlwcGluZy5o
dG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9yZXBhaW50L2JvcmRlci1y
YWRpdXMtcmVwYWludC5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9y
ZXBhaW50L3NoYWRvdy1tdWx0aXBsZS1ob3Jpem9udGFsLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4
MyBXSU4gTElOVVggOiBmYXN0L3JlcGFpbnQvc2hhZG93LW11bHRpcGxlLXN0cmljdC1ob3Jpem9u
dGFsLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L3JlcGFpbnQvc2hh
ZG93LW11bHRpcGxlLXN0cmljdC12ZXJ0aWNhbC5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lO
IExJTlVYIDogZmFzdC9yZXBhaW50L3NoYWRvdy1tdWx0aXBsZS12ZXJ0aWNhbC5odG1sID0gSU1B
R0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC90cmFuc2Zvcm1zL3JvdGF0ZWQtdHJhbnNm
b3JtLWFmZmVjdHMtc2Nyb2xsaW5nLTEuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5V
WCA6IGZhc3QvdHJhbnNmb3Jtcy9yb3RhdGVkLXRyYW5zZm9ybS1hZmZlY3RzLXNjcm9sbGluZy0y
Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L3RyYW5zZm9ybXMvc2hh
ZG93cy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogbWVkaWEvdmlkZW8tbGF5
ZXItY3Jhc2guaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IG1lZGlhL3ZpZGVv
LXRyYW5zZm9ybWVkLmh0bWwgPSBJTUFHRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGEyOGJiZmNhMWEzNDNmNzZm
Yzg5NTJlY2QzZGU4MDRlODc1MGQ5OTQuLmIxNTFkZDJmMDRjNjFmZTc2ZDhmYmY3NmI2MzI1NDRl
MDhiMTJkNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMS0wOC0wMiAgQmVuIFdl
bGxzICA8YmVud2VsbHNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFVzZSBQQVRIX0JBU0VEX0JP
UkRFUl9SQURJVVNfRFJBV0lORyBmb3Igc2tpYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1ODMKKworICAgICAgICBUaGlzIGNoYW5nZSBicmluZ3Mg
aW4gdGhlIG5ldyBib3JkZXIgcmVuZGVyaW5nIGZvciBTa2lhLiBUbyBzdXBwb3J0IHRoaXMgd2l0
aG91dCBhbGlhc2luZyB0aGUgc2tpYQorICAgICAgICBncmFwaGljcyBjb250ZXh0IGhhcyBiZWVu
IHVwZGF0ZWQgdG8gc3VwcG9ydCBhbnRpLWFsaWFzZWQgY2xpcHBpbmcgYXJvdW5kIGNvbnZleCBw
b2x5Z29ucyBhbmQgYWxzbworICAgICAgICBhbnRpLWFsaWFzZWQgY2xpcHBpbmcgb3V0c2lkZSBh
IHBhdGguCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpkaXNwbGF5VHJhbnNwYXJlbmN5RWxzZXdoZXJlKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0OjpjbGlwT3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDo6Y2xpcENvbnZleFBvbHlnb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bUNvbnRleHRTa2lhOjpjbGlwUGF0aEFudGlBbGlhc2VkKToKKyAgICAgICAgKFdlYkNvcmU6OlBs
YXRmb3JtQ29udGV4dFNraWE6OmdldFhmZXJtb2RlTW9kZSk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oOgorCiAyMDExLTA4LTAyICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBEZWNvdXBsZSBsYXllciB2aXNpYmls
aXR5IGNhbGN1bGF0aW9ucyBmcm9tIHJlbmRlciBzdXJmYWNlcyAvIGNvbXB1dGVkIGRyYXcgdHJh
bnNmb3JtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRC5jcHAKaW5kZXggNGVlOTYzNTgwNTc0ZDg5ZDc0ODczOGMxOWZjNjJi
MjY4NTFjYzc3NS4uZTMyOTU2NDQzOGE2NzVjOTVlZjkyZDhkOTIyZjRhZjZiZTdjOWE5NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuY3BwCkBAIC0xNTEwLDggKzE1MTAsOCBAQCB0ZW1wbGF0ZTxjbGFzcyBUPiB2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZShj
bwogCiAgICAgR3JhcGhpY3NDb250ZXh0KiBjID0gZHJhd2luZ0NvbnRleHQoKTsKICAgICBjLT5z
YXZlKCk7Ci0gICAgYy0+Y2xpcE91dChhcmVhKTsKICAgICBjLT5zZXRDb21wb3NpdGVPcGVyYXRp
b24oQ29tcG9zaXRlQ2xlYXIpOworICAgIGMtPmNsaXBPdXQoYXJlYSk7CiAgICAgYy0+ZmlsbFJl
Y3QoY2FudmFzUmVjdCk7CiAgICAgYy0+cmVzdG9yZSgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tp
YS5jcHAKaW5kZXggNWRjNzg0YTg3ZDcxZGYyMWJmN2YyNDQ5ZWVhMDQ0ZmViM2M5ZWZhNC4uYjJh
OGQ0YzUxZTQ5NGM3NjRiNzI3MDYxZjQ2NDY3ZWI5ZjE4ZWRhOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4
dFNraWEuY3BwCkBAIC0zODksMTEgKzM4OSwxNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6Y2xp
cE91dChjb25zdCBQYXRoJiBwKQogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIGNvbnN0IFNrUGF0aCYgcGF0aCA9ICpwLnBsYXRmb3JtUGF0aCgpOwor
ICAgIFNrUGF0aCBwYXRoID0gKnAucGxhdGZvcm1QYXRoKCk7CiAgICAgaWYgKCFpc1BhdGhTa2lh
U2FmZShnZXRDVE0oKSwgcGF0aCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHBsYXRmb3JtQ29u
dGV4dCgpLT5jYW52YXMoKS0+Y2xpcFBhdGgocGF0aCwgU2tSZWdpb246OmtEaWZmZXJlbmNlX09w
KTsKKyAgICBpZiAocGxhdGZvcm1Db250ZXh0KCktPmdldFhmZXJtb2RlTW9kZSgpID09IFNrWGZl
cm1vZGU6OmtDbGVhcl9Nb2RlKQorICAgICAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCkt
PmNsaXBQYXRoKHBhdGgsIFNrUmVnaW9uOjprRGlmZmVyZW5jZV9PcCk7CisgICAgZWxzZSB7Cisg
ICAgICAgIHBhdGgudG9nZ2xlSW52ZXJzZUZpbGxUeXBlKCk7CisgICAgICAgIHBsYXRmb3JtQ29u
dGV4dCgpLT5tYWtlR3JDb250ZXh0Q3VycmVudCgpOworICAgICAgICBwbGF0Zm9ybUNvbnRleHQo
KS0+Y2xpcFBhdGhBbnRpQWxpYXNlZChwYXRoKTsKKyAgICB9CiB9CiAKIHZvaWQgR3JhcGhpY3ND
b250ZXh0OjpjbGlwUGF0aChjb25zdCBQYXRoJiBwYXRoVG9DbGlwLCBXaW5kUnVsZSBjbGlwUnVs
ZSkKQEAgLTQ3Niw4ICs0ODIsMTUgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmNsaXBDb252ZXhQ
b2x5Z29uKHNpemVfdCBudW1Qb2ludHMsIGNvbnN0IEZsb2F0UG9pbnQqIHBvaW4KICAgICAgICAg
cmV0dXJuOwogCiAgICAgU2tQYXRoIHBhdGg7CisgICAgaWYgKCFpc1BhdGhTa2lhU2FmZShnZXRD
VE0oKSwgcGF0aCkpCisgICAgICAgIHJldHVybjsKKwogICAgIHNldFBhdGhGcm9tQ29udmV4UG9p
bnRzKCZwYXRoLCBudW1Qb2ludHMsIHBvaW50cyk7Ci0gICAgcGxhdGZvcm1Db250ZXh0KCktPmNh
bnZhcygpLT5jbGlwUGF0aChwYXRoKTsKKyAgICBpZiAoYW50aWFsaWFzZWQpIHsKKyAgICAgICAg
cGxhdGZvcm1Db250ZXh0KCktPm1ha2VHckNvbnRleHRDdXJyZW50KCk7CisgICAgICAgIHBsYXRm
b3JtQ29udGV4dCgpLT5jbGlwUGF0aEFudGlBbGlhc2VkKHBhdGgpOworICAgIH0gZWxzZQorICAg
ICAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCktPmNsaXBQYXRoKHBhdGgpOwogfQogCiAv
LyBUaGlzIG1ldGhvZCBpcyBvbmx5IHVzZWQgdG8gZHJhdyB0aGUgbGl0dGxlIGNpcmNsZXMgdXNl
ZCBpbiBsaXN0cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwCmluZGV4IDFlMzg1ZWQ5ZTJiMzZk
OGE5ZDkwZDAxYWIxZGMyMjdiYTM0NzEyNTIuLjlhMDQzNWY2MmU5M2NkMGNjYzczMzJmMzdhODVl
ZGJkMDI4ZGVjY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmNwcApAQCAtMjg0LDcgKzI4NCwx
MiBAQCB2b2lkIFBsYXRmb3JtQ29udGV4dFNraWE6OmNsaXBQYXRoQW50aUFsaWFzZWQoY29uc3Qg
U2tQYXRoJiBjbGlwUGF0aCkKIAogICAgIGlmICghaGF2ZUxheWVyT3V0c3RhbmRpbmcpIHsKICAg
ICAgICAgU2tSZWN0IGJvdW5kcyA9IGNsaXBQYXRoLmdldEJvdW5kcygpOwotICAgICAgICBjYW52
YXMoKS0+c2F2ZUxheWVyQWxwaGEoJmJvdW5kcywgMjU1LCBzdGF0aWNfY2FzdDxTa0NhbnZhczo6
U2F2ZUZsYWdzPihTa0NhbnZhczo6a0hhc0FscGhhTGF5ZXJfU2F2ZUZsYWcgfCBTa0NhbnZhczo6
a0Z1bGxDb2xvckxheWVyX1NhdmVGbGFnIHwgU2tDYW52YXM6OmtDbGlwVG9MYXllcl9TYXZlRmxh
ZykpOworICAgICAgICAvLyBJZiB3ZSBhcmUgZG9pbmcgYSBjbGlwIG91dHNpZGUgb2YgY2xpcFBh
dGggb3VyIGxheWVyIG5lZWRzIHRvIGJlIGZvciB0aGUgd2hvbGUKKyAgICAgICAgLy8gY2FudmFz
LCBvdGhlcndpc2Ugd2UgY2FuIGNyZWF0ZSBhIHNtYWxsZXIgbGF5ZXIuCisgICAgICAgIFNrUmVj
dCogbGF5ZXJCb3VuZHMgPSAwOworICAgICAgICBpZiAoIWNsaXBQYXRoLmlzSW52ZXJzZUZpbGxU
eXBlKCkpCisgICAgICAgICAgICBsYXllckJvdW5kcyA9ICZib3VuZHM7CisgICAgICAgIGNhbnZh
cygpLT5zYXZlTGF5ZXJBbHBoYShsYXllckJvdW5kcywgMjU1LCBzdGF0aWNfY2FzdDxTa0NhbnZh
czo6U2F2ZUZsYWdzPihTa0NhbnZhczo6a0hhc0FscGhhTGF5ZXJfU2F2ZUZsYWcgfCBTa0NhbnZh
czo6a0Z1bGxDb2xvckxheWVyX1NhdmVGbGFnIHwgU2tDYW52YXM6OmtDbGlwVG9MYXllcl9TYXZl
RmxhZykpOwogICAgICAgICAvLyBHdWFyZHMgc3RhdGUgbW9kaWZpY2F0aW9uIGR1cmluZyBjbGlw
cGVkIG9wZXJhdGlvbnMuCiAgICAgICAgIC8vIFRoZSBzdGF0ZSBpcyBwb3BwZWQgaW4gYXBwbHlB
bnRpQWxpYXNlZENsaXBQYXRocygpLgogICAgICAgICBjYW52YXMoKS0+c2F2ZSgpOwpAQCAtNTEy
LDYgKzUxNywxMSBAQCBpbnQgUGxhdGZvcm1Db250ZXh0U2tpYTo6Z2V0Tm9ybWFsaXplZEFscGhh
KCkgY29uc3QKICAgICByZXR1cm4gYWxwaGE7CiB9CiAKK1NrWGZlcm1vZGU6Ok1vZGUgUGxhdGZv
cm1Db250ZXh0U2tpYTo6Z2V0WGZlcm1vZGVNb2RlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9z
dGF0ZS0+bV94ZmVyTW9kZTsKK30KKwogdm9pZCBQbGF0Zm9ybUNvbnRleHRTa2lhOjpzZXRUZXh0
RHJhd2luZ01vZGUoVGV4dERyYXdpbmdNb2RlRmxhZ3MgbW9kZSkKIHsKICAgICAvLyBUZXh0TW9k
ZUNsaXAgaXMgbmV2ZXIgdXNlZCwgc28gd2UgYXNzZXJ0IHRoYXQgaXQgaXNuJ3Qgc2V0OgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNv
bnRleHRTa2lhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRm
b3JtQ29udGV4dFNraWEuaAppbmRleCA2OTgyNTYxNDFiZTg5MWE2YWZhYjkzZWQ2M2ViY2ZlN2U1
ZDNkMDI2Li5iMTAwMTJiY2MwN2RmYzkyZmJjMzFhMmE3MDdiYTMyODdjMjE3N2IyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4
dFNraWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRm
b3JtQ29udGV4dFNraWEuaApAQCAtMTM2LDYgKzEzNiw3IEBAIHB1YmxpYzoKICAgICBUZXh0RHJh
d2luZ01vZGVGbGFncyBnZXRUZXh0RHJhd2luZ01vZGUoKSBjb25zdDsKICAgICBmbG9hdCBnZXRB
bHBoYSgpIGNvbnN0OwogICAgIGludCBnZXROb3JtYWxpemVkQWxwaGEoKSBjb25zdDsKKyAgICBT
a1hmZXJtb2RlOjpNb2RlIGdldFhmZXJtb2RlTW9kZSgpIGNvbnN0OwogCiAgICAgdm9pZCBjYW52
YXNDbGlwUGF0aChjb25zdCBTa1BhdGgmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5oCmluZGV4IDJhYWViMzlkYWFjZmU0YTY5MjI4NzJiNzVjZTc5ZGM5NGVjZjJmMzEu
LjE5OGM4YjIzOTZmNmVkY2FhMzcxNjk1YjQzNTIxOTgzYjU3Mzg3N2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTM4LDcgKzM4LDcgQEAKICNpbmNsdWRlICJU
cmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCi0j
aWYgVVNFKENHKSB8fCBVU0UoQ0FJUk8pIHx8IFBMQVRGT1JNKFFUKQorI2lmIFVTRShDRykgfHwg
VVNFKENBSVJPKSB8fCBVU0UoU0tJQSkgfHwgUExBVEZPUk0oUVQpCiAjZGVmaW5lIEhBVkVfUEFU
SF9CQVNFRF9CT1JERVJfUkFESVVTX0RSQVdJTkcgMQogI2VuZGlmCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>104775</attachid>
            <date>2011-08-22 17:38:40 -0700</date>
            <delta_ts>2011-08-25 19:08:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65583-20110823103838.patch</filename>
            <type>text/plain</type>
            <size>16467</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM0OTEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMjk3MjIxOTYyMWNjYWI4NTFlODU2
OTk0NDVjNWVjMTMzMGY2NWZhLi40ZDhiZWMxMzM1MWVjMjRlYmJlNmFhOTUyYjFmYzUwYTFjODk1
ZGVlIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDgtMjIgIEJlbiBXZWxscyAgPGJlbndl
bGxzQGNocm9taXVtLm9yZz4KKworICAgICAgICBVc2UgUEFUSF9CQVNFRF9CT1JERVJfUkFESVVT
X0RSQVdJTkcgZm9yIHNraWEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY1NTgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVXBkYXRlIGV4cGVjdGF0aW9uczogYWRkZWQgZmFpbHVyZXMgZm9yIGJhc2VsaW5l
cyB0byBjb21lLiByZW1vdmVkIHNvbWUKKyAgICAgICAgZmFpbHVyZSBleHBlY3RhdGlvbnMgZm9y
IHRlc3RzIHRoYXQgbm93IHBhc3MgYW5kIG1vdmVkIHNvbWUgZXhwZWN0YXRpb25zCisgICAgICAg
IGludG8gdGhlIGdyb3VwIG9mIHRlc3RzIHRvIGJlIHJlYmFzZWxpbmVkLgorCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorCiAyMDExLTA4LTIxICBE
YXJpbiBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBVcGRhdGUgcmVzdWx0cyBm
b3IgbW9yZSB0ZXN0cyBhZmZlY3RlZCBieSB0aGUgYWRkaXRpb24gb2YgdGhlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKaW5kZXgg
MWRkYzdiNmI1ZDUzNDMzYzdkZDcxYWE0NTM4MTQ3ODYyNjA4MWMzOS4uMmU2ZjRkNTcwYzQ5NjA3
MDRjMmFiOGEyZWVlZmNiZDM4M2RkZDE2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dApAQCAtMjAwMiwzMiArMjAwMiw2IEBA
IEJVR0NSNDc4MjYgU0tJUCBNQUMgOiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLW9w
dGltdW1zLmh0bWwgPSBGQUlMCiBCVUdDUjQ3ODI2IFNLSVAgTUFDIDogZmFzdC9kb20vSFRNTE1l
dGVyRWxlbWVudC9tZXRlci1zdHlsZXMuaHRtbCA9IEZBSUwKIEJVR0NSNDc4MjYgU0tJUCBNQUMg
OiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLXN0eWxlcy1jaGFuZ2luZy1wc2V1ZG8u
aHRtbCA9IEZBSUwKIAotCi1CVUdXSzQxMzExIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3Jk
ZXItcmFkaXVzLWNpcmNsZS5odG1sID0gSU1BR0UKLUJVR1dLNDEzMTEgTElOVVggV0lOIDogZmFz
dC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtZ3Jvb3ZlLTAxLmh0bWwgPSBJTUFHRQotQlVHV0s0MTMx
MSBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1ncm9vdmUtMDIuaHRtbCA9
IElNQUdFCi1CVUdXSzQxMzExIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVz
LWdyb292ZS0wMy5odG1sID0gSU1BR0UKLUJVR1dLNDEzMTEgTElOVVggV0lOIDogZmFzdC9ib3Jk
ZXJzL2JvcmRlci1yYWRpdXMtd2lkZS1ib3JkZXItMDEuaHRtbCA9IElNQUdFCi1CVUdXSzQxMzEx
IExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLXdpZGUtYm9yZGVyLTAyLmh0
bWwgPSBJTUFHRQotQlVHV0s0MTMxMSBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVyLXJh
ZGl1cy13aWRlLWJvcmRlci0wMy5odG1sID0gSU1BR0UKLUJVR1dLNDEzMTEgTElOVVggV0lOIDog
ZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtd2lkZS1ib3JkZXItMDQuaHRtbCA9IElNQUdFCi1C
VUdXSzQxMzExIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNEYXNoZWQwNC5o
dG1sID0gSU1BR0UKLUJVR1dLNDEzMTEgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlclJh
ZGl1c0Rhc2hlZDA1Lmh0bWwgPSBJTUFHRQotQlVHV0s0MTMxMSBMSU5VWCBXSU4gOiBmYXN0L2Jv
cmRlcnMvYm9yZGVyUmFkaXVzRGFzaGVkMDYuaHRtbCA9IElNQUdFCi1CVUdXSzQxMzExIExJTlVY
IFdJTiA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNEb3R0ZWQwNC5odG1sID0gSU1BR0UKLUJV
R1dLNDEzMTEgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0RvdHRlZDA1Lmh0
bWwgPSBJTUFHRQotQlVHV0s0MTMxMSBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFk
aXVzRG90dGVkMDYuaHRtbCA9IElNQUdFCi1CVUdXSzQxMzExIExJTlVYIFdJTiA6IGZhc3QvYm9y
ZGVycy9ib3JkZXJSYWRpdXNEb3VibGUwNC5odG1sID0gSU1BR0UKLUJVR1dLNDEzMTEgTElOVVgg
V0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0RvdWJsZTA1Lmh0bWwgPSBJTUFHRQotQlVH
V0s0MTMxMSBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzRG91YmxlMDYuaHRt
bCA9IElNQUdFCi1CVUdXSzQxMzExIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRp
dXNEb3VibGUwNy5odG1sID0gSU1BR0UKLUJVR1dLNDEzMTEgTElOVVggV0lOIDogZmFzdC9ib3Jk
ZXJzL2JvcmRlclJhZGl1c0RvdWJsZTA4Lmh0bWwgPSBJTUFHRQotQlVHV0s0MTMxMSBMSU5VWCBX
SU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzRG91YmxlMDkuaHRtbCA9IElNQUdFCi0KLUJV
R1dLNDEzMTEgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL21peGVkLWJvcmRlci1zdHlsZXMtcmFk
aXVzLmh0bWwgPSBJTUFHRStURVhUCi1CVUdXSzQxMzExIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVy
cy9taXhlZC1ib3JkZXItc3R5bGVzLXJhZGl1czIuaHRtbCA9IElNQUdFK1RFWFQKLUJVR1dLNDEz
MTEgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL21peGVkLWJvcmRlci1zdHlsZXMuaHRtbCA9IElN
QUdFK1RFWFQKLQogLy8gRmxha3kgdGVzdHMuCiBCVUdDUjQ0MzQ1IExJTlVYIDogc3ZnL3pvb20v
dGV4dC96b29tLWhpeGllLW1peGVkLTAwOS54bWwgPSBQQVNTIElNQUdFCiBCVUdDUjQ0MzQ2IExJ
TlVYIDogc3ZnL3pvb20vcGFnZS96b29tLWhpeGllLW1peGVkLTAwOS54bWwgPSBQQVNTIElNQUdF
CkBAIC0zMDc2LDE5ICszMDUwLDExIEBAIEJVR0NSNzk5MTcgTElOVVggV0lOIDogZmFzdC9yZXBh
aW50L2Zsb2F0LW92ZXJmbG93Lmh0bWwgPSBJTUFHRQogQlVHQ1I3OTkxNyBMSU5VWCBXSU4gOiBm
YXN0L3JlcGFpbnQvbGF5ZXItY2hpbGQtb3V0bGluZS5odG1sID0gSU1BR0UKIEJVR0NSNzk5MTcg
TElOVVggV0lOIDogZmFzdC9yZXBhaW50L3JlZmxlY3Rpb24tcmVwYWludC10ZXN0Lmh0bWwgPSBJ
TUFHRQogQlVHQ1I3OTkxNyBMSU5VWCBXSU4gOiBmYXN0L3JlcGFpbnQvdGFibGUtY2VsbC12ZXJ0
aWNhbC1vdmVyZmxvdy5odG1sID0gSU1BR0UKLUJVR0NSNzk5MTcgTElOVVggV0lOIDogZmFzdC9y
ZXBhaW50L3RyYW5zZm9ybS1hYnNvbHV0ZS1jaGlsZC5odG1sID0gSU1BR0UKLUJVR0NSNzk5MTcg
TElOVVggV0lOIDogZmFzdC9yZXBhaW50L3RyYW5zZm9ybS1hYnNvbHV0ZS1pbi1wb3NpdGlvbmVk
LWNvbnRhaW5lci5odG1sID0gSU1BR0UKIEJVR0NSNzk5MTcgTElOVVggV0lOIDogZmFzdC9yZXBh
aW50L3RyYW5zZm9ybS1sYXlvdXQtcmVwYWludC5odG1sID0gSU1BR0UKLUJVR0NSNzk5MTcgTElO
VVggV0lOIDogZmFzdC9yZXBhaW50L3RyYW5zZm9ybS1yZWxhdGl2ZS1wb3NpdGlvbi5odG1sID0g
SU1BR0UKLUJVR0NSNzk5MTcgTElOVVggV0lOIDogZmFzdC9yZXBhaW50L3RyYW5zZm9ybS1yZXBh
aW50LWRlc2NlbmRhbnRzLmh0bWwgPSBJTUFHRQogQlVHQ1I3OTkxNyBMSU5VWCBXSU4gOiBmYXN0
L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nLzAwMi12ZXJ0aWNhbC5odG1sID0gSU1BR0UKIEJVR0NS
Nzk5MTcgTElOVVggV0lOIDogZmFzdC90YWJsZS9ib3JkZXItY29sbGFwc2luZy8wMDIuaHRtbCA9
IElNQUdFCiBCVUdDUjc5OTE3IExJTlVYIFdJTiA6IGZhc3QvdGFibGUvZW1wdHktdGFibGUtcGVy
Y2VudC1oZWlnaHQuaHRtbCA9IElNQUdFCiBCVUdDUjc5OTE3IExJTlVYIFdJTiA6IGZhc3QvdGFi
bGUvdGFibGUtYW5kLXBhcnRzLW91dGxpbmUuaHRtbCA9IElNQUdFCi1CVUdDUjc5OTE3IExJTlVY
IFdJTiA6IGZhc3QvdHJhbnNmb3Jtcy9kaWFtb25kLmh0bWwgPSBJTUFHRQotQlVHQ1I3OTkxNyBM
SU5VWCBXSU4gOiBmYXN0L3RyYW5zZm9ybXMvbWF0cml4LTAxLmh0bWwgPSBJTUFHRQotQlVHQ1I3
OTkxNyBMSU5VWCBXSU4gOiBmYXN0L3RyYW5zZm9ybXMvbWF0cml4LTAyLmh0bWwgPSBJTUFHRQot
QlVHQ1I3OTkxNyBMSU5VWCBXSU4gOiBmYXN0L3RyYW5zZm9ybXMvc2tldy13aXRoLXVuaXRsZXNz
LXplcm8uaHRtbCA9IElNQUdFCiBCVUdDUjc5OTE3IExJTlVYIFdJTiA6IGZhc3QvdHJhbnNmb3Jt
cy90cmFuc2Zvcm1lZC1jYXJldC5odG1sID0gSU1BR0UKIEJVR0NSNzk5MTcgTElOVVggV0lOIDog
c3ZnL2N1c3RvbS9uby1pbmhlcml0ZWQtZGFzaGVkLXN0cm9rZS54aHRtbCA9IElNQUdFCiBCVUdD
Ujc5OTE3IExJTlVYIFdJTiA6IHN2Zy90cmFuc2Zvcm1zL2FuaW1hdGVkLXBhdGgtaW5zaWRlLXRy
YW5zZm9ybWVkLWh0bWwueGh0bWwgPSBJTUFHRQpAQCAtMzYyNCw2ICszNTkwLDEwNCBAQCBCVUdX
SzY1NDUzIE1BQyA6IGZhc3QvY3NzL291dGxpbmUtYXV0by1lbXB0eS1yZWN0cy5odG1sID0gSU1B
R0UKIAogQlVHV0s2NTQ2MiBWSVNUQSA6IGh0dHAvdGVzdHMvY2FjaGUvaGlzdG9yeS1vbmx5LWNh
Y2hlZC1zdWJyZXNvdXJjZS1sb2Fkcy1tYXgtYWdlLWh0dHBzLmh0bWwgPSBQQVNTIFRJTUVPVVQK
IAorLy8gTmVlZCBuZXcgYmFzZWxpbmVzIGR1ZSB0byBib3JkZXIgZHJhd2luZyBub3cgdXNpbmcg
dGhlIFBBVEhfQkFTRURfQk9SREVSX1JBRElVU19EUkFXSU5HCisvLyBjb2RlIHBhdGguCitCVUdX
SzY1NTgzIFdJTiBMSU5VWCA6IGNzczIuMS90MDgwNS1jNTUxNy1icmRyLXMtMDAtYy5odG1sID0g
SU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9iYWNrZ3JvdW5kcy9ib3JkZXItcmFk
aXVzLXNwbGl0LWJhY2tncm91bmQtaW1hZ2UuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBM
SU5VWCA6IGZhc3QvYmFja2dyb3VuZHMvYm9yZGVyLXJhZGl1cy1zcGxpdC1iYWNrZ3JvdW5kLmh0
bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JhY2tncm91bmRzL2dyYWRp
ZW50LWJhY2tncm91bmQtbGVha2FnZS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVY
IDogZmFzdC9iYWNrZ3JvdW5kcy9yZXBlYXQvbmVnYXRpdmUtb2Zmc2V0LXJlcGVhdC10cmFuc2Zv
cm1lZC5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC93cml0aW5nLW1v
ZGUvYm9yZGVyLXJhZGl1cy1jbGlwcGluZy12ZXJ0aWNhbC1sci5odG1sID0gSU1BR0UKK0JVR1dL
NjU1ODMgV0lOIExJTlVYIDogZmFzdC93cml0aW5nLW1vZGUvYm94LXNoYWRvdy1ob3Jpem9udGFs
LWJ0Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L3dyaXRpbmctbW9k
ZS9ib3gtc2hhZG93LXZlcnRpY2FsLWxyLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElO
VVggOiBmYXN0L3dyaXRpbmctbW9kZS9ib3gtc2hhZG93LXZlcnRpY2FsLXJsLmh0bWwgPSBJTUFH
RQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVyLWFudGlhbGlhc2lu
Zy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRl
ci1yYWRpdXMtY29uc3RyYWludHMuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6
IGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWh1Z2UtYXNzZXJ0Lmh0bWwgPSBJTUFHRQorQlVH
V0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1pbmxpbmUtZmxv
dy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRl
ci1yYWRpdXMtc3BsaXQtaW5saW5lLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVgg
OiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzQWxsU3R5bGVzQWxsQ29ybmVycy5odG1sID0gSU1B
R0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0FyY3Mw
MS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRl
clJhZGl1c0Rhc2hlZDAyLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0
L2JvcmRlcnMvYm9yZGVyUmFkaXVzRGFzaGVkMDMuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJ
TiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNEb3R0ZWQwMS5odG1sID0gSU1BR0UK
K0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0RvdWJsZTAx
Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVy
UmFkaXVzRG91YmxlMDIuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3Qv
Ym9yZGVycy9ib3JkZXJSYWRpdXNEb3VibGUwMy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lO
IExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0dyb292ZTAxLmh0bWwgPSBJTUFHRQor
QlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzR3Jvb3ZlMDIu
aHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ib3JkZXJS
YWRpdXNJbnNldDAxLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2Jv
cmRlcnMvYm9yZGVyUmFkaXVzSW52YWxpZENvbG9yLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBX
SU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzT3V0c2V0MDEuaHRtbCA9IElNQUdF
CitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNSaWRnZTAx
Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVy
UmFkaXVzU29saWQwMS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9i
b3JkZXJzL2JvcmRlclJhZGl1c1NvbGlkMDIuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBM
SU5VWCA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNTb2xpZDAzLmh0bWwgPSBJTUFHRQorQlVH
V0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzU29saWQwNC5odG1s
ID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2RpZmZlcmVudC1j
b2xvci1ib3JkZXJzLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2Jv
cmRlcnMvZmllbGRzZXRCb3JkZXJSYWRpdXMuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBM
SU5VWCA6IGZhc3QvYm9yZGVycy9ydGwtYm9yZGVyLTAxLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4
MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvcnRsLWJvcmRlci0wMi5odG1sID0gSU1BR0UKK0JV
R1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL3J0bC1ib3JkZXItMDMuaHRtbCA9IElN
QUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ydGwtYm9yZGVyLTA0Lmh0
bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvcnRsLWJvcmRl
ci0wNS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL3Rh
YmxlLWJvcmRlcnMuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm94
LXNoYWRvdy9iYXNpYy1zaGFkb3dzLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVgg
OiBmYXN0L2JveC1zaGFkb3cvYm9yZGVyLXJhZGl1cy1iaWcuaHRtbCA9IElNQUdFCitCVUdXSzY1
NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm94LXNoYWRvdy9pbnNldC1ib3gtc2hhZG93LXJhZGl1cy5o
dG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3gtc2hhZG93L2luc2V0
LWJveC1zaGFkb3dzLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2Jv
eC1zaGFkb3cvaW5zZXQtd2l0aC1leHRyYW9yZGluYXJ5LXJhZGlpLWFuZC1ib3JkZXIuaHRtbCA9
IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm94LXNoYWRvdy9pbnNldC5odG1s
ID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3gtc2hhZG93L3NwcmVhZC1t
dWx0aXBsZS1ub3JtYWwuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3Qv
Ym94LXNoYWRvdy9zcHJlYWQuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZh
c3QvY3NzL2JveC1zaGFkb3ctYW5kLWJvcmRlci1yYWRpdXMuaHRtbCA9IElNQUdFCitCVUdXSzY1
NTgzIFdJTiBMSU5VWCA6IGZhc3QvY3NzL2NvbG9yLWxlYWthZ2UuaHRtbCA9IElNQUdFCitCVUdX
SzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvY3NzL25lc3RlZC1yb3VuZGVkLWNvcm5lcnMuaHRtbCA9
IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvY3NzL3RleHQtaW5wdXQtd2l0aC13
ZWJraXQtYm9yZGVyLXJhZGl1cy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDog
ZmFzdC9mb3Jtcy9iYXNpYy1zZWxlY3RzLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElO
VVggOiBmYXN0L2Zvcm1zL3ZhbGlkYXRpb24tbWVzc2FnZS1hcHBlYXJhbmNlLmh0bWwgPSBJTUFH
RQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2dyYWRpZW50cy9iYWNrZ3JvdW5kLWNsaXBw
ZWQuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvaW5saW5lL2lubGlu
ZS1ib3JkZXJzLXdpdGgtYmlkaS1vdmVycmlkZS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lO
IExJTlVYIDogZmFzdC9tdWx0aWNvbC9jbGllbnQtcmVjdHMuaHRtbCA9IElNQUdFCitCVUdXSzY1
NTgzIFdJTiBMSU5VWCA6IGZhc3Qvb3ZlcmZsb3cvYm9yZGVyLXJhZGl1cy1jbGlwcGluZy5odG1s
ID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9yZXBhaW50L2JvcmRlci1yYWRp
dXMtcmVwYWludC5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9yZXBh
aW50L3NoYWRvdy1tdWx0aXBsZS1ob3Jpem9udGFsLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBX
SU4gTElOVVggOiBmYXN0L3JlcGFpbnQvc2hhZG93LW11bHRpcGxlLXN0cmljdC1ob3Jpem9udGFs
Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L3JlcGFpbnQvc2hhZG93
LW11bHRpcGxlLXN0cmljdC12ZXJ0aWNhbC5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJ
TlVYIDogZmFzdC9yZXBhaW50L3NoYWRvdy1tdWx0aXBsZS12ZXJ0aWNhbC5odG1sID0gSU1BR0UK
K0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC90cmFuc2Zvcm1zL3JvdGF0ZWQtdHJhbnNmb3Jt
LWFmZmVjdHMtc2Nyb2xsaW5nLTEuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6
IGZhc3QvdHJhbnNmb3Jtcy9yb3RhdGVkLXRyYW5zZm9ybS1hZmZlY3RzLXNjcm9sbGluZy0yLmh0
bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L3RyYW5zZm9ybXMvc2hhZG93
cy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogbWVkaWEvdmlkZW8tbGF5ZXIt
Y3Jhc2guaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IG1lZGlhL3ZpZGVvLXRy
YW5zZm9ybWVkLmh0bWwgPSBJTUFHRQorCitCVUdXSzY1NTgzIExJTlVYIFdJTiA6IGZhc3QvYm9y
ZGVycy9ib3JkZXItcmFkaXVzLWNpcmNsZS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgTElOVVgg
V0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtZ3Jvb3ZlLTAxLmh0bWwgPSBJTUFHRQor
QlVHV0s2NTU4MyBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1ncm9vdmUt
MDIuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3Jk
ZXItcmFkaXVzLWdyb292ZS0wMy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgTElOVVggV0lOIDog
ZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtd2lkZS1ib3JkZXItMDEuaHRtbCA9IElNQUdFCitC
VUdXSzY1NTgzIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLXdpZGUtYm9y
ZGVyLTAyLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMv
Ym9yZGVyLXJhZGl1cy13aWRlLWJvcmRlci0wMy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgTElO
VVggV0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtd2lkZS1ib3JkZXItMDQuaHRtbCA9
IElNQUdFCitCVUdXSzY1NTgzIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNE
YXNoZWQwNC5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgTElOVVggV0lOIDogZmFzdC9ib3JkZXJz
L2JvcmRlclJhZGl1c0Rhc2hlZDA1Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBMSU5VWCBXSU4g
OiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzRGFzaGVkMDYuaHRtbCA9IElNQUdFCitCVUdXSzY1
NTgzIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNEb3R0ZWQwNC5odG1sID0g
SU1BR0UKK0JVR1dLNjU1ODMgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0Rv
dHRlZDA1Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMv
Ym9yZGVyUmFkaXVzRG90dGVkMDYuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIExJTlVYIFdJTiA6
IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNEb3VibGUwNC5odG1sID0gSU1BR0UKK0JVR1dLNjU1
ODMgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0RvdWJsZTA1Lmh0bWwgPSBJ
TUFHRQorQlVHV0s2NTU4MyBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzRG91
YmxlMDYuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9i
b3JkZXJSYWRpdXNEb3VibGUwNy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgTElOVVggV0lOIDog
ZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0RvdWJsZTA4Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4
MyBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzRG91YmxlMDkuaHRtbCA9IElN
QUdFCisKK0JVR1dLNjU1ODMgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL21peGVkLWJvcmRlci1z
dHlsZXMtcmFkaXVzLmh0bWwgPSBJTUFHRStURVhUCitCVUdXSzY1NTgzIExJTlVYIFdJTiA6IGZh
c3QvYm9yZGVycy9taXhlZC1ib3JkZXItc3R5bGVzLXJhZGl1czIuaHRtbCA9IElNQUdFK1RFWFQK
K0JVR1dLNjU1ODMgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL21peGVkLWJvcmRlci1zdHlsZXMu
aHRtbCA9IElNQUdFK1RFWFQKKworQlVHV0s2NTU4MyBMSU5VWCBXSU4gOiBmYXN0L2ZyYW1lcy9p
ZnJhbWUtc2NhbGluZy13aXRoLXNjcm9sbC5odG1sID0gSU1BR0UKKwogLy8gSW50cm9kdWNlZCBp
biByOTIyOTgsIHdoaWNoIG1pZ2h0IGNhdXNlIGFub3RoZXIgdGVzdCBjcmFzaGluZy4KIEJVR1pN
TyBTS0lQIDogZmFzdC9sb2FkZXIvcmVsb2FkLXplcm8tYnl0ZS1wbHVnaW4uaHRtbCA9IEZBSUwK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGZiNjNmMGFjZmM1ZGYzMTQ5NGNiMjMyMDE0MjBlZWYzMTk4YTcxNzgu
LjQ1YTM4NDk3MzJlMmUyMjM2MDZiYTk3MzFmMDk5YzdkODg5OTFmOWYgMTAwNzU1Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyMSBAQAorMjAxMS0wOC0yMiAgQmVuIFdlbGxzICA8YmVud2VsbHNAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFVzZSBQQVRIX0JBU0VEX0JPUkRFUl9SQURJVVNfRFJBV0lORyBmb3Ig
c2tpYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1
ODMKKworICAgICAgICBUaGlzIGNoYW5nZSBicmluZ3MgaW4gdGhlIG5ldyBib3JkZXIgcmVuZGVy
aW5nIGZvciBTa2lhLiBUbyBzdXBwb3J0IHRoaXMgd2l0aG91dCBhbGlhc2luZyB0aGUgc2tpYQor
ICAgICAgICBncmFwaGljcyBjb250ZXh0IGhhcyBiZWVuIHVwZGF0ZWQgdG8gc3VwcG9ydCBhbnRp
LWFsaWFzZWQgY2xpcHBpbmcgYXJvdW5kIGNvbnZleCBwb2x5Z29ucyBhbmQgYWxzbworICAgICAg
ICBhbnRpLWFsaWFzZWQgY2xpcHBpbmcgb3V0c2lkZSBhIHBhdGguCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9za2lh
L0dyYXBoaWNzQ29udGV4dFNraWEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0OjpjbGlwT3V0KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6Y2xpcENv
bnZleFBvbHlnb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZvcm1D
b250ZXh0U2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNvbnRleHRTa2lhOjpj
bGlwUGF0aEFudGlBbGlhc2VkKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6
CisKIDIwMTEtMDgtMjAgIE5lYm9qc2EgQ2lyaWMgIDxjaXJhQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBQb2ludCBidWlsZCBzeXN0ZW0gYW5kICNpbmNsdWRlIGhlYWRlcnMgdG8gdjgtaTE4biBs
aWJyYXJ5IGluc3RlYWQgb2YgdjggbGlicmFyeS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCmlu
ZGV4IDc0YWNjY2MzYmJlMDMwNzVkODQ4ZWVkY2QyYWQ0YTE5MTFkN2ZiNTQuLjg5ZDZmYTM2YTcz
YmY2YTY0ODY2OGUwMjVkY2FiOTJjYzU0OWIwZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lhLmNw
cApAQCAtMzkyLDExICszOTIsMTIgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OmNsaXBPdXQoY29u
c3QgUGF0aCYgcCkKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBjb25zdCBTa1BhdGgmIHBhdGggPSAqcC5wbGF0Zm9ybVBhdGgoKTsKKyAgICBTa1Bh
dGggcGF0aCA9ICpwLnBsYXRmb3JtUGF0aCgpOwogICAgIGlmICghaXNQYXRoU2tpYVNhZmUoZ2V0
Q1RNKCksIHBhdGgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBwbGF0Zm9ybUNvbnRleHQoKS0+
Y2FudmFzKCktPmNsaXBQYXRoKHBhdGgsIFNrUmVnaW9uOjprRGlmZmVyZW5jZV9PcCk7CisgICAg
cGF0aC50b2dnbGVJbnZlcnNlRmlsbFR5cGUoKTsKKyAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2xp
cFBhdGhBbnRpQWxpYXNlZChwYXRoKTsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OmNsaXBQ
YXRoKGNvbnN0IFBhdGgmIHBhdGhUb0NsaXAsIFdpbmRSdWxlIGNsaXBSdWxlKQpAQCAtNDc5LDgg
KzQ4MCwxNCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6Y2xpcENvbnZleFBvbHlnb24oc2l6ZV90
IG51bVBvaW50cywgY29uc3QgRmxvYXRQb2ludCogcG9pbgogICAgICAgICByZXR1cm47CiAKICAg
ICBTa1BhdGggcGF0aDsKKyAgICBpZiAoIWlzUGF0aFNraWFTYWZlKGdldENUTSgpLCBwYXRoKSkK
KyAgICAgICAgcmV0dXJuOworCiAgICAgc2V0UGF0aEZyb21Db252ZXhQb2ludHMoJnBhdGgsIG51
bVBvaW50cywgcG9pbnRzKTsKLSAgICBwbGF0Zm9ybUNvbnRleHQoKS0+Y2FudmFzKCktPmNsaXBQ
YXRoKHBhdGgpOworICAgIGlmIChhbnRpYWxpYXNlZCkKKyAgICAgICAgcGxhdGZvcm1Db250ZXh0
KCktPmNsaXBQYXRoQW50aUFsaWFzZWQocGF0aCk7CisgICAgZWxzZQorICAgICAgICBwbGF0Zm9y
bUNvbnRleHQoKS0+Y2FudmFzKCktPmNsaXBQYXRoKHBhdGgpOwogfQogCiAvLyBUaGlzIG1ldGhv
ZCBpcyBvbmx5IHVzZWQgdG8gZHJhdyB0aGUgbGl0dGxlIGNpcmNsZXMgdXNlZCBpbiBsaXN0cy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZv
cm1Db250ZXh0U2tpYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lh
L1BsYXRmb3JtQ29udGV4dFNraWEuY3BwCmluZGV4IDFhMzQ5ZWFhNTE2Mzc1YWQ4MGUwYzY4Yzgx
MjMzYmJkNDQ0YzEyMWUuLmNlNDUyMWY3ZjY5YjY2NThkOWVkMjg4ZDZjN2RlMWQwODgzMjMzZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvUGxhdGZv
cm1Db250ZXh0U2tpYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
c2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmNwcApAQCAtMjgzLDcgKzI4MywxMiBAQCB2b2lkIFBs
YXRmb3JtQ29udGV4dFNraWE6OmNsaXBQYXRoQW50aUFsaWFzZWQoY29uc3QgU2tQYXRoJiBjbGlw
UGF0aCkKIAogICAgIGlmICghaGF2ZUxheWVyT3V0c3RhbmRpbmcpIHsKICAgICAgICAgU2tSZWN0
IGJvdW5kcyA9IGNsaXBQYXRoLmdldEJvdW5kcygpOwotICAgICAgICBjYW52YXMoKS0+c2F2ZUxh
eWVyQWxwaGEoJmJvdW5kcywgMjU1LCBzdGF0aWNfY2FzdDxTa0NhbnZhczo6U2F2ZUZsYWdzPihT
a0NhbnZhczo6a0hhc0FscGhhTGF5ZXJfU2F2ZUZsYWcgfCBTa0NhbnZhczo6a0Z1bGxDb2xvckxh
eWVyX1NhdmVGbGFnIHwgU2tDYW52YXM6OmtDbGlwVG9MYXllcl9TYXZlRmxhZykpOworICAgICAg
ICAvLyBJZiB3ZSBhcmUgZG9pbmcgYSBjbGlwIG91dHNpZGUgb2YgY2xpcFBhdGggb3VyIGxheWVy
IG5lZWRzIHRvIGJlIGZvciB0aGUgd2hvbGUKKyAgICAgICAgLy8gY2FudmFzLCBvdGhlcndpc2Ug
d2UgY2FuIGNyZWF0ZSBhIHNtYWxsZXIgbGF5ZXIuCisgICAgICAgIFNrUmVjdCogbGF5ZXJCb3Vu
ZHMgPSAwOworICAgICAgICBpZiAoIWNsaXBQYXRoLmlzSW52ZXJzZUZpbGxUeXBlKCkpCisgICAg
ICAgICAgICBsYXllckJvdW5kcyA9ICZib3VuZHM7CisgICAgICAgIGNhbnZhcygpLT5zYXZlTGF5
ZXJBbHBoYShsYXllckJvdW5kcywgMjU1LCBzdGF0aWNfY2FzdDxTa0NhbnZhczo6U2F2ZUZsYWdz
PihTa0NhbnZhczo6a0hhc0FscGhhTGF5ZXJfU2F2ZUZsYWcgfCBTa0NhbnZhczo6a0Z1bGxDb2xv
ckxheWVyX1NhdmVGbGFnIHwgU2tDYW52YXM6OmtDbGlwVG9MYXllcl9TYXZlRmxhZykpOwogICAg
ICAgICAvLyBHdWFyZHMgc3RhdGUgbW9kaWZpY2F0aW9uIGR1cmluZyBjbGlwcGVkIG9wZXJhdGlv
bnMuCiAgICAgICAgIC8vIFRoZSBzdGF0ZSBpcyBwb3BwZWQgaW4gYXBwbHlBbnRpQWxpYXNlZENs
aXBQYXRocygpLgogICAgICAgICBjYW52YXMoKS0+c2F2ZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDJhOTA3MDFkOGRmZDRmZmVjYjIwOWM5MjRlZWE4NTAz
YThhODA5ZTAuLjZkY2IyMDEyZTEwZTFiMzljNWU5NzM0ZThlYWY1MGMxMmIyNDNjNmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTM4LDcgKzM4LDcgQEAKICNp
bmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJh
bS5oPgogCi0jaWYgVVNFKENHKSB8fCBVU0UoQ0FJUk8pIHx8IFBMQVRGT1JNKFFUKQorI2lmIFVT
RShDRykgfHwgVVNFKENBSVJPKSB8fCBVU0UoU0tJQSkgfHwgUExBVEZPUk0oUVQpCiAjZGVmaW5l
IEhBVkVfUEFUSF9CQVNFRF9CT1JERVJfUkFESVVTX0RSQVdJTkcgMQogI2VuZGlmCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105292</attachid>
            <date>2011-08-25 19:08:43 -0700</date>
            <delta_ts>2011-08-25 21:27:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65583-20110826120841.patch</filename>
            <type>text/plain</type>
            <size>16538</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTM4MjQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwYzMxMzhlZjYxOGQyYmE1ODk4N2Ew
N2U5MzY2ZjE0Njg2ODYwYmVmLi4wZWJmYTIxZTBhYzg4YzljMGRjNDllZWRiODRlMDViOTFmZWEw
MTU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDgtMjUgIEJlbiBXZWxscyAgPGJlbndl
bGxzQGNocm9taXVtLm9yZz4KKworICAgICAgICBVc2UgUEFUSF9CQVNFRF9CT1JERVJfUkFESVVT
X0RSQVdJTkcgZm9yIHNraWEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTY1NTgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVXBkYXRlIGV4cGVjdGF0aW9uczogYWRkZWQgZmFpbHVyZXMgZm9yIGJhc2VsaW5l
cyB0byBjb21lLiByZW1vdmVkIHNvbWUKKyAgICAgICAgZmFpbHVyZSBleHBlY3RhdGlvbnMgZm9y
IHRlc3RzIHRoYXQgbm93IHBhc3MgYW5kIG1vdmVkIHNvbWUgZXhwZWN0YXRpb25zCisgICAgICAg
IGludG8gdGhlIGdyb3VwIG9mIHRlc3RzIHRvIGJlIHJlYmFzZWxpbmVkLgorCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0OgorCiAyMDExLTA4LTI1ICBQ
ZXRlciBLYXN0aW5nICA8cGthc3RpbmdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1d
IFRlc3QgZXhwZWN0YXRpb24gdXBkYXRlcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCBkNGY1ZTdlMWNiYjFhMmEzNjcw
Y2JmM2JiZTAzNjIzODBmNzk5NmMxLi4zOTYwMjVjMGRkZDE4NWNkYjliOTZkODE4OGJkNDc0ZDVj
YjM5ZDY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4
cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9l
eHBlY3RhdGlvbnMudHh0CkBAIC0xOTQwLDMyICsxOTQwLDYgQEAgQlVHQ1I0NzgyNiBTS0lQIE1B
QyA6IGZhc3QvZG9tL0hUTUxNZXRlckVsZW1lbnQvbWV0ZXItb3B0aW11bXMuaHRtbCA9IEZBSUwK
IEJVR0NSNDc4MjYgU0tJUCBNQUMgOiBmYXN0L2RvbS9IVE1MTWV0ZXJFbGVtZW50L21ldGVyLXN0
eWxlcy5odG1sID0gRkFJTAogQlVHQ1I0NzgyNiBTS0lQIE1BQyA6IGZhc3QvZG9tL0hUTUxNZXRl
ckVsZW1lbnQvbWV0ZXItc3R5bGVzLWNoYW5naW5nLXBzZXVkby5odG1sID0gRkFJTAogCi0KLUJV
R1dLNDEzMTEgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtY2lyY2xlLmh0
bWwgPSBJTUFHRQotQlVHV0s0MTMxMSBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVyLXJh
ZGl1cy1ncm9vdmUtMDEuaHRtbCA9IElNQUdFCi1CVUdXSzQxMzExIExJTlVYIFdJTiA6IGZhc3Qv
Ym9yZGVycy9ib3JkZXItcmFkaXVzLWdyb292ZS0wMi5odG1sID0gSU1BR0UKLUJVR1dLNDEzMTEg
TElOVVggV0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtZ3Jvb3ZlLTAzLmh0bWwgPSBJ
TUFHRQotQlVHV0s0MTMxMSBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy13
aWRlLWJvcmRlci0wMS5odG1sID0gSU1BR0UKLUJVR1dLNDEzMTEgTElOVVggV0lOIDogZmFzdC9i
b3JkZXJzL2JvcmRlci1yYWRpdXMtd2lkZS1ib3JkZXItMDIuaHRtbCA9IElNQUdFCi1CVUdXSzQx
MzExIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLXdpZGUtYm9yZGVyLTAz
Lmh0bWwgPSBJTUFHRQotQlVHV0s0MTMxMSBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVy
LXJhZGl1cy13aWRlLWJvcmRlci0wNC5odG1sID0gSU1BR0UKLUJVR1dLNDEzMTEgTElOVVggV0lO
IDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0Rhc2hlZDA0Lmh0bWwgPSBJTUFHRQotQlVHV0s0
MTMxMSBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzRGFzaGVkMDUuaHRtbCA9
IElNQUdFCi1CVUdXSzQxMzExIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNE
YXNoZWQwNi5odG1sID0gSU1BR0UKLUJVR1dLNDEzMTEgTElOVVggV0lOIDogZmFzdC9ib3JkZXJz
L2JvcmRlclJhZGl1c0RvdHRlZDA0Lmh0bWwgPSBJTUFHRQotQlVHV0s0MTMxMSBMSU5VWCBXSU4g
OiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzRG90dGVkMDUuaHRtbCA9IElNQUdFCi1CVUdXSzQx
MzExIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNEb3R0ZWQwNi5odG1sID0g
SU1BR0UKLUJVR1dLNDEzMTEgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0Rv
dWJsZTA0Lmh0bWwgPSBJTUFHRQotQlVHV0s0MTMxMSBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMv
Ym9yZGVyUmFkaXVzRG91YmxlMDUuaHRtbCA9IElNQUdFCi1CVUdXSzQxMzExIExJTlVYIFdJTiA6
IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNEb3VibGUwNi5odG1sID0gSU1BR0UKLUJVR1dLNDEz
MTEgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0RvdWJsZTA3Lmh0bWwgPSBJ
TUFHRQotQlVHV0s0MTMxMSBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzRG91
YmxlMDguaHRtbCA9IElNQUdFCi1CVUdXSzQxMzExIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9i
b3JkZXJSYWRpdXNEb3VibGUwOS5odG1sID0gSU1BR0UKLQotQlVHV0s0MTMxMSBMSU5VWCBXSU4g
OiBmYXN0L2JvcmRlcnMvbWl4ZWQtYm9yZGVyLXN0eWxlcy1yYWRpdXMuaHRtbCA9IElNQUdFK1RF
WFQKLUJVR1dLNDEzMTEgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL21peGVkLWJvcmRlci1zdHls
ZXMtcmFkaXVzMi5odG1sID0gSU1BR0UrVEVYVAotQlVHV0s0MTMxMSBMSU5VWCBXSU4gOiBmYXN0
L2JvcmRlcnMvbWl4ZWQtYm9yZGVyLXN0eWxlcy5odG1sID0gSU1BR0UrVEVYVAotCiAvLyBGbGFr
eSB0ZXN0cy4KIEJVR0NSNDQzNDUgTElOVVggOiBzdmcvem9vbS90ZXh0L3pvb20taGl4aWUtbWl4
ZWQtMDA5LnhtbCA9IFBBU1MgSU1BR0UKIEJVR0NSNDQzNDYgTElOVVggOiBzdmcvem9vbS9wYWdl
L3pvb20taGl4aWUtbWl4ZWQtMDA5LnhtbCA9IFBBU1MgSU1BR0UKQEAgLTMwMDAsMTkgKzI5NzQs
MTEgQEAgQlVHQ1I3OTkxNyBMSU5VWCBXSU4gOiBmYXN0L3JlcGFpbnQvZmxvYXQtb3ZlcmZsb3cu
aHRtbCA9IElNQUdFCiBCVUdDUjc5OTE3IExJTlVYIFdJTiA6IGZhc3QvcmVwYWludC9sYXllci1j
aGlsZC1vdXRsaW5lLmh0bWwgPSBJTUFHRQogQlVHQ1I3OTkxNyBMSU5VWCBXSU4gOiBmYXN0L3Jl
cGFpbnQvcmVmbGVjdGlvbi1yZXBhaW50LXRlc3QuaHRtbCA9IElNQUdFCiBCVUdDUjc5OTE3IExJ
TlVYIFdJTiA6IGZhc3QvcmVwYWludC90YWJsZS1jZWxsLXZlcnRpY2FsLW92ZXJmbG93Lmh0bWwg
PSBJTUFHRQotQlVHQ1I3OTkxNyBMSU5VWCBXSU4gOiBmYXN0L3JlcGFpbnQvdHJhbnNmb3JtLWFi
c29sdXRlLWNoaWxkLmh0bWwgPSBJTUFHRQotQlVHQ1I3OTkxNyBMSU5VWCBXSU4gOiBmYXN0L3Jl
cGFpbnQvdHJhbnNmb3JtLWFic29sdXRlLWluLXBvc2l0aW9uZWQtY29udGFpbmVyLmh0bWwgPSBJ
TUFHRQogQlVHQ1I3OTkxNyBMSU5VWCBXSU4gOiBmYXN0L3JlcGFpbnQvdHJhbnNmb3JtLWxheW91
dC1yZXBhaW50Lmh0bWwgPSBJTUFHRQotQlVHQ1I3OTkxNyBMSU5VWCBXSU4gOiBmYXN0L3JlcGFp
bnQvdHJhbnNmb3JtLXJlbGF0aXZlLXBvc2l0aW9uLmh0bWwgPSBJTUFHRQotQlVHQ1I3OTkxNyBM
SU5VWCBXSU4gOiBmYXN0L3JlcGFpbnQvdHJhbnNmb3JtLXJlcGFpbnQtZGVzY2VuZGFudHMuaHRt
bCA9IElNQUdFCiBCVUdDUjc5OTE3IExJTlVYIFdJTiA6IGZhc3QvdGFibGUvYm9yZGVyLWNvbGxh
cHNpbmcvMDAyLXZlcnRpY2FsLmh0bWwgPSBJTUFHRQogQlVHQ1I3OTkxNyBMSU5VWCBXSU4gOiBm
YXN0L3RhYmxlL2JvcmRlci1jb2xsYXBzaW5nLzAwMi5odG1sID0gSU1BR0UKIEJVR0NSNzk5MTcg
TElOVVggV0lOIDogZmFzdC90YWJsZS9lbXB0eS10YWJsZS1wZXJjZW50LWhlaWdodC5odG1sID0g
SU1BR0UKIEJVR0NSNzk5MTcgTElOVVggV0lOIDogZmFzdC90YWJsZS90YWJsZS1hbmQtcGFydHMt
b3V0bGluZS5odG1sID0gSU1BR0UKLUJVR0NSNzk5MTcgTElOVVggV0lOIDogZmFzdC90cmFuc2Zv
cm1zL2RpYW1vbmQuaHRtbCA9IElNQUdFCi1CVUdDUjc5OTE3IExJTlVYIFdJTiA6IGZhc3QvdHJh
bnNmb3Jtcy9tYXRyaXgtMDEuaHRtbCA9IElNQUdFCi1CVUdDUjc5OTE3IExJTlVYIFdJTiA6IGZh
c3QvdHJhbnNmb3Jtcy9tYXRyaXgtMDIuaHRtbCA9IElNQUdFCi1CVUdDUjc5OTE3IExJTlVYIFdJ
TiA6IGZhc3QvdHJhbnNmb3Jtcy9za2V3LXdpdGgtdW5pdGxlc3MtemVyby5odG1sID0gSU1BR0UK
IEJVR0NSNzk5MTcgTElOVVggV0lOIDogZmFzdC90cmFuc2Zvcm1zL3RyYW5zZm9ybWVkLWNhcmV0
Lmh0bWwgPSBJTUFHRQogQlVHQ1I3OTkxNyBMSU5VWCBXSU4gOiBzdmcvY3VzdG9tL25vLWluaGVy
aXRlZC1kYXNoZWQtc3Ryb2tlLnhodG1sID0gSU1BR0UKIEJVR0NSNzk5MTcgTElOVVggV0lOIDog
c3ZnL3RyYW5zZm9ybXMvYW5pbWF0ZWQtcGF0aC1pbnNpZGUtdHJhbnNmb3JtZWQtaHRtbC54aHRt
bCA9IElNQUdFCkBAIC0zNTIxLDYgKzM0ODcsMTA2IEBAIEJVR1dLNjU0NTMgTUFDIDogZmFzdC9j
c3Mvb3V0bGluZS1hdXRvLWVtcHR5LXJlY3RzLmh0bWwgPSBJTUFHRQogCiBCVUdXSzY1NDYyIFZJ
U1RBIDogaHR0cC90ZXN0cy9jYWNoZS9oaXN0b3J5LW9ubHktY2FjaGVkLXN1YnJlc291cmNlLWxv
YWRzLW1heC1hZ2UtaHR0cHMuaHRtbCA9IFBBU1MgVElNRU9VVAogCisvLyBOZWVkIG5ldyBiYXNl
bGluZXMgZHVlIHRvIGJvcmRlciBkcmF3aW5nIG5vdyB1c2luZyB0aGUgUEFUSF9CQVNFRF9CT1JE
RVJfUkFESVVTX0RSQVdJTkcKKy8vIGNvZGUgcGF0aC4KK0JVR1dLNjU1ODMgV0lOIExJTlVYIDog
Y3NzMi4xL3QwODA1LWM1NTE3LWJyZHItcy0wMC1jLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBX
SU4gTElOVVggOiBmYXN0L2JhY2tncm91bmRzL2JvcmRlci1yYWRpdXMtc3BsaXQtYmFja2dyb3Vu
ZC1pbWFnZS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9iYWNrZ3Jv
dW5kcy9ib3JkZXItcmFkaXVzLXNwbGl0LWJhY2tncm91bmQuaHRtbCA9IElNQUdFCitCVUdXSzY1
NTgzIFdJTiBMSU5VWCA6IGZhc3QvYmFja2dyb3VuZHMvZ3JhZGllbnQtYmFja2dyb3VuZC1sZWFr
YWdlLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JhY2tncm91bmRz
L3JlcGVhdC9uZWdhdGl2ZS1vZmZzZXQtcmVwZWF0LXRyYW5zZm9ybWVkLmh0bWwgPSBJTUFHRQor
QlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L3dyaXRpbmctbW9kZS9ib3JkZXItcmFkaXVzLWNs
aXBwaW5nLXZlcnRpY2FsLWxyLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBm
YXN0L3dyaXRpbmctbW9kZS9ib3gtc2hhZG93LWhvcml6b250YWwtYnQuaHRtbCA9IElNQUdFCitC
VUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3Qvd3JpdGluZy1tb2RlL2JveC1zaGFkb3ctdmVydGlj
YWwtbHIuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3Qvd3JpdGluZy1t
b2RlL2JveC1zaGFkb3ctdmVydGljYWwtcmwuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBM
SU5VWCA6IGZhc3QvYm9yZGVycy9ib3JkZXItYW50aWFsaWFzaW5nLmh0bWwgPSBJTUFHRQorQlVH
V0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1jb25zdHJhaW50
cy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRl
ci1yYWRpdXMtaHVnZS1hc3NlcnQuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6
IGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWlubGluZS1mbG93Lmh0bWwgPSBJTUFHRQorQlVH
V0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVyLXJhZGl1cy1zcGxpdC1pbmxp
bmUuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ib3Jk
ZXJSYWRpdXNBbGxTdHlsZXNBbGxDb3JuZXJzLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4g
TElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzQXJjczAxLmh0bWwgPSBJTUFHRQorQlVH
V0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzRGFzaGVkMDIuaHRt
bCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRp
dXNEYXNoZWQwMy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3Jk
ZXJzL2JvcmRlclJhZGl1c0RvdHRlZDAxLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElO
VVggOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzRG91YmxlMDEuaHRtbCA9IElNQUdFCitCVUdX
SzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNEb3VibGUwMi5odG1s
ID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1
c0RvdWJsZTAzLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRl
cnMvYm9yZGVyUmFkaXVzR3Jvb3ZlMDEuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5V
WCA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNHcm9vdmUwMi5odG1sID0gSU1BR0UKK0JVR1dL
NjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0luc2V0MDEuaHRtbCA9
IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNJ
bnZhbGlkQ29sb3IuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm9y
ZGVycy9ib3JkZXJSYWRpdXNPdXRzZXQwMS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJ
TlVYIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c1JpZGdlMDEuaHRtbCA9IElNQUdFCitCVUdX
SzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNTb2xpZDAxLmh0bWwg
PSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVz
U29saWQwMi5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJz
L2JvcmRlclJhZGl1c1NvbGlkMDMuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6
IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNTb2xpZDA0Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4
MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvZGlmZmVyZW50LWNvbG9yLWJvcmRlcnMuaHRtbCA9
IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9maWVsZHNldEJvcmRl
clJhZGl1cy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3JkZXJz
L3J0bC1ib3JkZXItMDEuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3Qv
Ym9yZGVycy9ydGwtYm9yZGVyLTAyLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVgg
OiBmYXN0L2JvcmRlcnMvcnRsLWJvcmRlci0wMy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lO
IExJTlVYIDogZmFzdC9ib3JkZXJzL3J0bC1ib3JkZXItMDQuaHRtbCA9IElNQUdFCitCVUdXSzY1
NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm9yZGVycy9ydGwtYm9yZGVyLTA1Lmh0bWwgPSBJTUFHRQor
QlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2JvcmRlcnMvdGFibGUtYm9yZGVycy5odG1sID0g
SU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3gtc2hhZG93L2Jhc2ljLXNoYWRv
d3MuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm94LXNoYWRvdy9i
b3JkZXItcmFkaXVzLWJpZy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFz
dC9ib3gtc2hhZG93L2luc2V0LWJveC1zaGFkb3ctcmFkaXVzLmh0bWwgPSBJTUFHRQorQlVHV0s2
NTU4MyBXSU4gTElOVVggOiBmYXN0L2JveC1zaGFkb3cvaW5zZXQtYm94LXNoYWRvd3MuaHRtbCA9
IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvYm94LXNoYWRvdy9pbnNldC13aXRo
LWV4dHJhb3JkaW5hcnktcmFkaWktYW5kLWJvcmRlci5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMg
V0lOIExJTlVYIDogZmFzdC9ib3gtc2hhZG93L2luc2V0Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4
MyBXSU4gTElOVVggOiBmYXN0L2JveC1zaGFkb3cvc3ByZWFkLW11bHRpcGxlLW5vcm1hbC5odG1s
ID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9ib3gtc2hhZG93L3NwcmVhZC5o
dG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9jc3MvYm94LXNoYWRvdy1h
bmQtYm9yZGVyLXJhZGl1cy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFz
dC9jc3MvY29sb3ItbGVha2FnZS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDog
ZmFzdC9jc3MvbmVzdGVkLXJvdW5kZWQtY29ybmVycy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMg
V0lOIExJTlVYIDogZmFzdC9jc3MvdGV4dC1pbnB1dC13aXRoLXdlYmtpdC1ib3JkZXItcmFkaXVz
Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L2Zvcm1zL2Jhc2ljLXNl
bGVjdHMuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvZm9ybXMvdmFs
aWRhdGlvbi1tZXNzYWdlLWFwcGVhcmFuY2UuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBM
SU5VWCA6IGZhc3QvZ3JhZGllbnRzL2JhY2tncm91bmQtY2xpcHBlZC5odG1sID0gSU1BR0UKK0JV
R1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC9pbmxpbmUvaW5saW5lLWJvcmRlcnMtd2l0aC1iaWRp
LW92ZXJyaWRlLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L211bHRp
Y29sL2NsaWVudC1yZWN0cy5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFz
dC9vdmVyZmxvdy9ib3JkZXItcmFkaXVzLWNsaXBwaW5nLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4
MyBXSU4gTElOVVggOiBmYXN0L3JlcGFpbnQvYm9yZGVyLXJhZGl1cy1yZXBhaW50Lmh0bWwgPSBJ
TUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L3JlcGFpbnQvc2hhZG93LW11bHRpcGxl
LWhvcml6b250YWwuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvcmVw
YWludC9zaGFkb3ctbXVsdGlwbGUtc3RyaWN0LWhvcml6b250YWwuaHRtbCA9IElNQUdFCitCVUdX
SzY1NTgzIFdJTiBMSU5VWCA6IGZhc3QvcmVwYWludC9zaGFkb3ctbXVsdGlwbGUtc3RyaWN0LXZl
cnRpY2FsLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElOVVggOiBmYXN0L3JlcGFpbnQv
c2hhZG93LW11bHRpcGxlLXZlcnRpY2FsLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBXSU4gTElO
VVggOiBmYXN0L3RyYW5zZm9ybXMvcm90YXRlZC10cmFuc2Zvcm0tYWZmZWN0cy1zY3JvbGxpbmct
MS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgV0lOIExJTlVYIDogZmFzdC90cmFuc2Zvcm1zL3Jv
dGF0ZWQtdHJhbnNmb3JtLWFmZmVjdHMtc2Nyb2xsaW5nLTIuaHRtbCA9IElNQUdFCitCVUdXSzY1
NTgzIFdJTiBMSU5VWCA6IGZhc3QvdHJhbnNmb3Jtcy9zaGFkb3dzLmh0bWwgPSBJTUFHRQorQlVH
V0s2NTU4MyBXSU4gTElOVVggOiBtZWRpYS92aWRlby1sYXllci1jcmFzaC5odG1sID0gSU1BR0UK
K0JVR1dLNjU1ODMgV0lOIExJTlVYIDogbWVkaWEvdmlkZW8tdHJhbnNmb3JtZWQuaHRtbCA9IElN
QUdFCisKK0JVR1dLNjU1ODMgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMt
Y2lyY2xlLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMv
Ym9yZGVyLXJhZGl1cy1ncm9vdmUtMDEuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIExJTlVYIFdJ
TiA6IGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLWdyb292ZS0wMi5odG1sID0gSU1BR0UKK0JV
R1dLNjU1ODMgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtZ3Jvb3ZlLTAz
Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVy
LXJhZGl1cy13aWRlLWJvcmRlci0wMS5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgTElOVVggV0lO
IDogZmFzdC9ib3JkZXJzL2JvcmRlci1yYWRpdXMtd2lkZS1ib3JkZXItMDIuaHRtbCA9IElNQUdF
CitCVUdXSzY1NTgzIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3JkZXItcmFkaXVzLXdpZGUt
Ym9yZGVyLTAzLmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBMSU5VWCBXSU4gOiBmYXN0L2JvcmRl
cnMvYm9yZGVyLXJhZGl1cy13aWRlLWJvcmRlci0wNC5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMg
TElOVVggV0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0Rhc2hlZDA0Lmh0bWwgPSBJTUFH
RQorQlVHV0s2NTU4MyBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzRGFzaGVk
MDUuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3Jk
ZXJSYWRpdXNEYXNoZWQwNi5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgTElOVVggV0lOIDogZmFz
dC9ib3JkZXJzL2JvcmRlclJhZGl1c0RvdHRlZDA0Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBM
SU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVyUmFkaXVzRG90dGVkMDUuaHRtbCA9IElNQUdF
CitCVUdXSzY1NTgzIExJTlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNEb3R0ZWQw
Ni5odG1sID0gSU1BR0UKK0JVR1dLNjU1ODMgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL2JvcmRl
clJhZGl1c0RvdWJsZTA0Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBMSU5VWCBXSU4gOiBmYXN0
L2JvcmRlcnMvYm9yZGVyUmFkaXVzRG91YmxlMDUuaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIExJ
TlVYIFdJTiA6IGZhc3QvYm9yZGVycy9ib3JkZXJSYWRpdXNEb3VibGUwNi5odG1sID0gSU1BR0UK
K0JVR1dLNjU1ODMgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL2JvcmRlclJhZGl1c0RvdWJsZTA3
Lmh0bWwgPSBJTUFHRQorQlVHV0s2NTU4MyBMSU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvYm9yZGVy
UmFkaXVzRG91YmxlMDguaHRtbCA9IElNQUdFCitCVUdXSzY1NTgzIExJTlVYIFdJTiA6IGZhc3Qv
Ym9yZGVycy9ib3JkZXJSYWRpdXNEb3VibGUwOS5odG1sID0gSU1BR0UKKworQlVHV0s2NTU4MyBM
SU5VWCBXSU4gOiBmYXN0L2JvcmRlcnMvbWl4ZWQtYm9yZGVyLXN0eWxlcy1yYWRpdXMuaHRtbCA9
IElNQUdFK1RFWFQKK0JVR1dLNjU1ODMgTElOVVggV0lOIDogZmFzdC9ib3JkZXJzL21peGVkLWJv
cmRlci1zdHlsZXMtcmFkaXVzMi5odG1sID0gSU1BR0UrVEVYVAorQlVHV0s2NTU4MyBMSU5VWCBX
SU4gOiBmYXN0L2JvcmRlcnMvbWl4ZWQtYm9yZGVyLXN0eWxlcy5odG1sID0gSU1BR0UrVEVYVAor
CitCVUdXSzY1NTgzIExJTlVYIFdJTiA6IGZhc3QvZnJhbWVzL2lmcmFtZS1zY2FsaW5nLXdpdGgt
c2Nyb2xsLmh0bWwgPSBJTUFHRQorCitCVUdXSzY1NTgzIExJTlVYIFdJTiA6IGZhc3QvY3NzL2Jv
cmRlci1yYWRpdXMtbm9uLW5lZ2F0aXZlLmh0bWwgPSBJTUFHRQorCiAvLyBJbnRyb2R1Y2VkIGlu
IHI5MjI5OCwgd2hpY2ggbWlnaHQgY2F1c2UgYW5vdGhlciB0ZXN0IGNyYXNoaW5nLgogQlVHWk1P
IFNLSVAgOiBmYXN0L2xvYWRlci9yZWxvYWQtemVyby1ieXRlLXBsdWdpbi5odG1sID0gRkFJTAog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggMmE1ZGU2ODVjNjU5ZGFkNTAzYWNkYjNjZGI0M2VmZjQzMTVhYWY4Yy4u
ZGFmMmZlNTI4MjJmMjA1NjMxOTAyZWZiNDhjYjY5MDk1OGQ3ZGNmMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIxIEBACisyMDExLTA4LTI1ICBCZW4gV2VsbHMgIDxiZW53ZWxsc0BjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgVXNlIFBBVEhfQkFTRURfQk9SREVSX1JBRElVU19EUkFXSU5HIGZvciBz
a2lhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTU4
MworCisgICAgICAgIFRoaXMgY2hhbmdlIGJyaW5ncyBpbiB0aGUgbmV3IGJvcmRlciByZW5kZXJp
bmcgZm9yIFNraWEuIFRvIHN1cHBvcnQgdGhpcyB3aXRob3V0IGFsaWFzaW5nIHRoZSBza2lhCisg
ICAgICAgIGdyYXBoaWNzIGNvbnRleHQgaGFzIGJlZW4gdXBkYXRlZCB0byBzdXBwb3J0IGFudGkt
YWxpYXNlZCBjbGlwcGluZyBhcm91bmQgY29udmV4IHBvbHlnb25zIGFuZCBhbHNvCisgICAgICAg
IGFudGktYWxpYXNlZCBjbGlwcGluZyBvdXRzaWRlIGEgcGF0aC4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3NraWEv
R3JhcGhpY3NDb250ZXh0U2tpYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQ6OmNsaXBPdXQpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpjbGlwQ29u
dmV4UG9seWdvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9QbGF0Zm9ybUNv
bnRleHRTa2lhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQ29udGV4dFNraWE6OmNs
aXBQYXRoQW50aUFsaWFzZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoK
KwogMjAxMS0wOC0yNSAgSWdvciBPbGl2ZWlyYSAgPGlnb3Iub2xpdmVpcmFAb3BlbmJvc3NhLm9y
Zz4KIAogICAgICAgICBSb2xsb3V0IHI5Mzc5OTogQ2F1c2VkIGJhZCBjbGlwcGluZyBvbiB0aGUg
Ym90dG9tIG9mIHRhbGwgZ2x5cGhzIGluc2lkZSBhIGJ1dHRvbiBsYWJlbApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lh
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250
ZXh0U2tpYS5jcHAKaW5kZXggNzRhY2NjYzNiYmUwMzA3NWQ4NDhlZWRjZDJhZDRhMTkxMWQ3ZmI1
NC4uODlkNmZhMzZhNzNiZjZhNjQ4NjY4ZTAyNWRjYWI5MmNjNTQ5YjBkMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9HcmFwaGljc0NvbnRleHRTa2lh
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNz
Q29udGV4dFNraWEuY3BwCkBAIC0zOTIsMTEgKzM5MiwxMiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4
dDo6Y2xpcE91dChjb25zdCBQYXRoJiBwKQogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGNvbnN0IFNrUGF0aCYgcGF0aCA9ICpwLnBsYXRmb3JtUGF0
aCgpOworICAgIFNrUGF0aCBwYXRoID0gKnAucGxhdGZvcm1QYXRoKCk7CiAgICAgaWYgKCFpc1Bh
dGhTa2lhU2FmZShnZXRDVE0oKSwgcGF0aCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIHBsYXRm
b3JtQ29udGV4dCgpLT5jYW52YXMoKS0+Y2xpcFBhdGgocGF0aCwgU2tSZWdpb246OmtEaWZmZXJl
bmNlX09wKTsKKyAgICBwYXRoLnRvZ2dsZUludmVyc2VGaWxsVHlwZSgpOworICAgIHBsYXRmb3Jt
Q29udGV4dCgpLT5jbGlwUGF0aEFudGlBbGlhc2VkKHBhdGgpOwogfQogCiB2b2lkIEdyYXBoaWNz
Q29udGV4dDo6Y2xpcFBhdGgoY29uc3QgUGF0aCYgcGF0aFRvQ2xpcCwgV2luZFJ1bGUgY2xpcFJ1
bGUpCkBAIC00NzksOCArNDgwLDE0IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpjbGlwQ29udmV4
UG9seWdvbihzaXplX3QgbnVtUG9pbnRzLCBjb25zdCBGbG9hdFBvaW50KiBwb2luCiAgICAgICAg
IHJldHVybjsKIAogICAgIFNrUGF0aCBwYXRoOworICAgIGlmICghaXNQYXRoU2tpYVNhZmUoZ2V0
Q1RNKCksIHBhdGgpKQorICAgICAgICByZXR1cm47CisKICAgICBzZXRQYXRoRnJvbUNvbnZleFBv
aW50cygmcGF0aCwgbnVtUG9pbnRzLCBwb2ludHMpOwotICAgIHBsYXRmb3JtQ29udGV4dCgpLT5j
YW52YXMoKS0+Y2xpcFBhdGgocGF0aCk7CisgICAgaWYgKGFudGlhbGlhc2VkKQorICAgICAgICBw
bGF0Zm9ybUNvbnRleHQoKS0+Y2xpcFBhdGhBbnRpQWxpYXNlZChwYXRoKTsKKyAgICBlbHNlCisg
ICAgICAgIHBsYXRmb3JtQ29udGV4dCgpLT5jYW52YXMoKS0+Y2xpcFBhdGgocGF0aCk7CiB9CiAK
IC8vIFRoaXMgbWV0aG9kIGlzIG9ubHkgdXNlZCB0byBkcmF3IHRoZSBsaXR0bGUgY2lyY2xlcyB1
c2VkIGluIGxpc3RzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3NraWEvUGxhdGZvcm1Db250ZXh0U2tpYS5jcHAKaW5kZXggMWEzNDllYWE1MTYz
NzVhZDgwZTBjNjhjODEyMzNiYmQ0NDRjMTIxZS4uY2U0NTIxZjdmNjliNjY1OGQ5ZWQyODhkNmM3
ZGUxZDA4ODMyMzNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvc2tpYS9QbGF0Zm9ybUNvbnRleHRTa2lhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9za2lhL1BsYXRmb3JtQ29udGV4dFNraWEuY3BwCkBAIC0yODMsNyArMjgz
LDEyIEBAIHZvaWQgUGxhdGZvcm1Db250ZXh0U2tpYTo6Y2xpcFBhdGhBbnRpQWxpYXNlZChjb25z
dCBTa1BhdGgmIGNsaXBQYXRoKQogCiAgICAgaWYgKCFoYXZlTGF5ZXJPdXRzdGFuZGluZykgewog
ICAgICAgICBTa1JlY3QgYm91bmRzID0gY2xpcFBhdGguZ2V0Qm91bmRzKCk7Ci0gICAgICAgIGNh
bnZhcygpLT5zYXZlTGF5ZXJBbHBoYSgmYm91bmRzLCAyNTUsIHN0YXRpY19jYXN0PFNrQ2FudmFz
OjpTYXZlRmxhZ3M+KFNrQ2FudmFzOjprSGFzQWxwaGFMYXllcl9TYXZlRmxhZyB8IFNrQ2FudmFz
OjprRnVsbENvbG9yTGF5ZXJfU2F2ZUZsYWcgfCBTa0NhbnZhczo6a0NsaXBUb0xheWVyX1NhdmVG
bGFnKSk7CisgICAgICAgIC8vIElmIHdlIGFyZSBkb2luZyBhIGNsaXAgb3V0c2lkZSBvZiBjbGlw
UGF0aCBvdXIgbGF5ZXIgbmVlZHMgdG8gYmUgZm9yIHRoZSB3aG9sZQorICAgICAgICAvLyBjYW52
YXMsIG90aGVyd2lzZSB3ZSBjYW4gY3JlYXRlIGEgc21hbGxlciBsYXllci4KKyAgICAgICAgU2tS
ZWN0KiBsYXllckJvdW5kcyA9IDA7CisgICAgICAgIGlmICghY2xpcFBhdGguaXNJbnZlcnNlRmls
bFR5cGUoKSkKKyAgICAgICAgICAgIGxheWVyQm91bmRzID0gJmJvdW5kczsKKyAgICAgICAgY2Fu
dmFzKCktPnNhdmVMYXllckFscGhhKGxheWVyQm91bmRzLCAyNTUsIHN0YXRpY19jYXN0PFNrQ2Fu
dmFzOjpTYXZlRmxhZ3M+KFNrQ2FudmFzOjprSGFzQWxwaGFMYXllcl9TYXZlRmxhZyB8IFNrQ2Fu
dmFzOjprRnVsbENvbG9yTGF5ZXJfU2F2ZUZsYWcgfCBTa0NhbnZhczo6a0NsaXBUb0xheWVyX1Nh
dmVGbGFnKSk7CiAgICAgICAgIC8vIEd1YXJkcyBzdGF0ZSBtb2RpZmljYXRpb24gZHVyaW5nIGNs
aXBwZWQgb3BlcmF0aW9ucy4KICAgICAgICAgLy8gVGhlIHN0YXRlIGlzIHBvcHBlZCBpbiBhcHBs
eUFudGlBbGlhc2VkQ2xpcFBhdGhzKCkuCiAgICAgICAgIGNhbnZhcygpLT5zYXZlKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKaW5kZXggYmYxMDQ2NjZkYTUwYjE1Nzg4
MTFkMTllMjIxYmYzNDFhZjQwNWIxNy4uODk4MzA2YzFiOGRkYTIyYjFiMWNjOTAwMTFmNWYyMGM5
NzE5YjJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaApAQCAtMzgs
NyArMzgsNyBAQAogI2luY2x1ZGUgIlRyYW5zZm9ybWF0aW9uTWF0cml4LmgiCiAjaW5jbHVkZSA8
d3RmL1VudXNlZFBhcmFtLmg+CiAKLSNpZiBVU0UoQ0cpIHx8IFVTRShDQUlSTykgfHwgUExBVEZP
Uk0oUVQpCisjaWYgVVNFKENHKSB8fCBVU0UoQ0FJUk8pIHx8IFVTRShTS0lBKSB8fCBQTEFURk9S
TShRVCkKICNkZWZpbmUgSEFWRV9QQVRIX0JBU0VEX0JPUkRFUl9SQURJVVNfRFJBV0lORyAxCiAj
ZW5kaWYKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>