<?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>66920</bug_id>
          
          <creation_ts>2011-08-24 20:42:52 -0700</creation_ts>
          <short_desc>Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors</short_desc>
          <delta_ts>2011-10-26 04:13:06 -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>Canvas</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>70801</dependson>
    
    <dependson>70893</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ben Wells">benwells</reporter>
          <assigned_to name="Ben Wells">benwells</assigned_to>
          <cc>bsalomon</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>mikelawther</cc>
    
    <cc>rniwa</cc>
    
    <cc>senorblanco</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tomhudson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>456633</commentid>
    <comment_count>0</comment_count>
      <attachid>105127</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-08-24 20:42:52 -0700</bug_when>
    <thetext>Created attachment 105127
Test case

These have the same errors as were recently fixed in bug 66036.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460734</commentid>
    <comment_count>1</comment_count>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2011-09-01 13:26:56 -0700</bug_when>
    <thetext>Working on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483805</commentid>
    <comment_count>2</comment_count>
      <attachid>110970</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-10-13 23:57:08 -0700</bug_when>
    <thetext>Created attachment 110970
Patch for comment, patch with tests to come.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>483809</commentid>
    <comment_count>3</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-10-14 00:04:07 -0700</bug_when>
    <thetext>While doing this patch I realised there might be some problems with fill in these modes:
* didDraw is called with a rect which is too small (it should be called on the entire canvas), 
* if the buffer is clipped to the canvas bounds there so that the location changes, the fill will happen in the wrong location.
I&apos;m planning to fix these in a couple of subsequent patches.

Also, this patch only fixes drawImage with an image, not a canvas or video element. I&apos;m also planning to handle those cases in a subsequent patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484080</commentid>
    <comment_count>4</comment_count>
      <attachid>110970</attachid>
    <who name="Tom Hudson">tomhudson</who>
    <bug_when>2011-10-14 11:16:01 -0700</bug_when>
    <thetext>Comment on attachment 110970
Patch for comment, patch with tests to come.

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

&gt; Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:1521
&gt; +bool CanvasRenderingContext2D::isFullCanvasCompositeMode(CompositeOperator op) const

This is a better interface. The name&apos;s not clear at first glance, but when you see the function on the next line it makes enough sense, and doesCompositeModeRequireFullCanvas() is a bit wordy. Also, does it even need to be a member? Does anybody outside the class want to access it? Or can it be a static helper?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484123</commentid>
    <comment_count>5</comment_count>
      <attachid>110970</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-14 11:41:52 -0700</bug_when>
    <thetext>Comment on attachment 110970
Patch for comment, patch with tests to come.

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

&gt;&gt; Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:1521
&gt;&gt; +bool CanvasRenderingContext2D::isFullCanvasCompositeMode(CompositeOperator op) const
&gt; 
&gt; This is a better interface. The name&apos;s not clear at first glance, but when you see the function on the next line it makes enough sense, and doesCompositeModeRequireFullCanvas() is a bit wordy. Also, does it even need to be a member? Does anybody outside the class want to access it? Or can it be a static helper?

This function no longer makes sense as a non-static member function. It can be a standalone function, internal to the file (what Tom calls a static helper), or a static member function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484877</commentid>
    <comment_count>6</comment_count>
      <attachid>111198</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-10-16 19:22:52 -0700</bug_when>
    <thetext>Created attachment 111198
Patch which doesn&apos;t merge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>484893</commentid>
    <comment_count>7</comment_count>
      <attachid>111202</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-10-16 20:26:07 -0700</bug_when>
    <thetext>Created attachment 111202
Patch with function made static non-member, and test added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486378</commentid>
    <comment_count>8</comment_count>
      <attachid>111202</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-10-18 15:56:04 -0700</bug_when>
    <thetext>Comment on attachment 111202
Patch with function made static non-member, and test added.

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

Some initial comments. Please file a bug about didDraw() bounds for the other draw paths, it seems that they are wrong (and this is correct).

I nominate someone else to check the math here - everything else looks good.  Stephen perhaps?

&gt; Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:1335
&gt; +        didDraw(FloatRect(0, 0, canvas()-&gt;width(), canvas()-&gt;height()), CanvasDidDrawApplyClip);

nit: FloatRect(FloatPoint::zero(), canvas()-&gt;size()) or FloatRect(FloatPoint(), canvas()-&gt;size()) would be slightly terser and less prone to error

&gt; LayoutTests/fast/canvas/canvas-composite-image.html:1
&gt; +&lt;html&gt; 

add &lt;!DOCTYPE html&gt; above this, please

&gt; LayoutTests/fast/canvas/canvas-composite-image.html:5
&gt; +    &lt;meta name=&quot;DC.creator&quot; content=&quot;Kamiel Martinet, http://www.martinet.nl/&quot;&gt; 
&gt; +    &lt;meta name=&quot;DC.publisher&quot; content=&quot;Mozilla Developer Center, http://developer.mozilla.org&quot;&gt; 

these lines are kind of odd. Was this page actually generated?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486442</commentid>
    <comment_count>9</comment_count>
      <attachid>111529</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-10-18 17:00:30 -0700</bug_when>
    <thetext>Created attachment 111529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486445</commentid>
    <comment_count>10</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-10-18 17:03:52 -0700</bug_when>
    <thetext>Webkit bug 70379 logged for didDraw calls in fills. Also test updated to remove cruft from the original test I modified to create this one, and add changes for other feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>486966</commentid>
    <comment_count>11</comment_count>
      <attachid>111529</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-10-19 13:42:00 -0700</bug_when>
    <thetext>Comment on attachment 111529
Patch

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

&gt; Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:1338
&gt; +    } else if (op == CompositeCopy) {
&gt; +        clearCanvas();
&gt; +        c-&gt;drawImage(cachedImage-&gt;imageForRenderer(image-&gt;renderer()), ColorSpaceDeviceRGB, normalizedDstRect, normalizedSrcRect, op);

It seems like we could do better than this in the Copy case.  If the destination rect covers the full canvas already, this looks like it will do an unnecessary clear.  (It looks like fill() and fillRect() also have this problem).  Beyond that, a further optimization would be to clear only the region outside the destination rect.

You can either of these in a future patch, but I would like to see at least the first optimization done at some point.

&gt; LayoutTests/fast/canvas/canvas-composite-image.html:12
&gt; +      // This test should show a table of canvas elements. Onto the background of each a blue
&gt; +      // square is drawn, either fully opaque or with some transparency, and then a clip and
&gt; +      // transformation is applied. The clip only allows drawing in the left two thirds of the
&gt; +      // canvas.

I would really prefer that we not introduce new canvas tests with pixel results, if possible.  Pixels should be tested programmatically in JavaScript, using the fast/canvas/script-tests infrastructure.  This avoids having to maintain platform-specific image baselines.  In fact, doesn&apos;t the canvas/philip suite cover these modes?  Or do they not have enough coverage?

&gt; LayoutTests/platform/chromium/test_expectations.txt:3588
&gt; +BUGWK66920 MAC WIN : fast/canvas/canvas-composite-image.html = IMAGE

Doesn&apos;t this also affect Linux?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489133</commentid>
    <comment_count>12</comment_count>
      <attachid>112138</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-10-23 21:11:18 -0700</bug_when>
    <thetext>Created attachment 112138
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489134</commentid>
    <comment_count>13</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-10-23 21:20:10 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; It seems like we could do better than this in the Copy case.  If the destination rect covers the full canvas already, this looks like it will do an unnecessary clear.  (It looks like fill() and fillRect() also have this problem).  Beyond that, a further optimization would be to clear only the region outside the destination rect.
&gt; 
&gt; You can either of these in a future patch, but I would like to see at least the first optimization done at some point.

Great point. The same optimization exists for the &apos;full canvas compositing&apos; modes as well, in which case we can avoid creating a temporary buffer. Another optimization is to not create the temporary buffer for image drawing if the destination rect translates to an integral pixel rect in the device buffer.

I was planning on adding these optimizations as a later patch, probably after all the drawImage variants are correct.

&gt; I would really prefer that we not introduce new canvas tests with pixel results, if possible.  Pixels should be tested programmatically in JavaScript, using the fast/canvas/script-tests infrastructure.  This avoids having to maintain platform-specific image baselines.  In fact, doesn&apos;t the canvas/philip suite cover these modes?  Or do they not have enough coverage?

OK, that makes lots of sense. Unfortunately I didn&apos;t see the reference to the script-tests infrastructure until I had redone the test, instead I used the canvas-composite-alpha test as a template. Is it OK as it is?

This test checks the composite mode as well as transformations and clip, so there are a lot of test points and a lot of static data. I added some helper functions to aid if there is ever the need to update the test (or generate a new similar one).

The philip tests did not highlight this problem as the image being drawn is the same size as the canvas, so the case where there are parts of the canvas outside the image which get affected isn&apos;t covered. Also the philip tests for composited image drawing don&apos;t use transforms or clip.

&gt; 
&gt; &gt; LayoutTests/platform/chromium/test_expectations.txt:3588
&gt; &gt; +BUGWK66920 MAC WIN : fast/canvas/canvas-composite-image.html = IMAGE
&gt; 
&gt; Doesn&apos;t this also affect Linux?

It does but previous patch had expected pixel results for Linux.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489312</commentid>
    <comment_count>14</comment_count>
      <attachid>112138</attachid>
    <who name="Stephen White">senorblanco</who>
    <bug_when>2011-10-24 07:07:37 -0700</bug_when>
    <thetext>Comment on attachment 112138
Patch

This looks fine to me.  Thanks very much for rewriting the test -- this will save the other ports some extra work.   Please log a bug about the extra clear in the Copy case. 

Leaving for other reviewers (e.g., James, Tom) in case they have any comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489406</commentid>
    <comment_count>15</comment_count>
      <attachid>112138</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-10-24 10:19:09 -0700</bug_when>
    <thetext>Comment on attachment 112138
Patch

Cool, R=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489842</commentid>
    <comment_count>16</comment_count>
      <attachid>112138</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-24 19:27:55 -0700</bug_when>
    <thetext>Comment on attachment 112138
Patch

Clearing flags on attachment: 112138

Committed r98309: &lt;http://trac.webkit.org/changeset/98309&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489843</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-24 19:28:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>489908</commentid>
    <comment_count>18</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-25 00:44:45 -0700</bug_when>
    <thetext>Reopen the bug since the patch was rolled out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490562</commentid>
    <comment_count>19</comment_count>
      <attachid>112450</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-10-25 22:40:34 -0700</bug_when>
    <thetext>Created attachment 112450
Test updated to pass on all platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490569</commentid>
    <comment_count>20</comment_count>
      <attachid>112450</attachid>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-10-25 22:51:44 -0700</bug_when>
    <thetext>Comment on attachment 112450
Test updated to pass on all platforms.

Color space removed from png in test; darker mode not tested any more (its not in the canvas spec).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490578</commentid>
    <comment_count>21</comment_count>
      <attachid>112450</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-10-25 23:03:18 -0700</bug_when>
    <thetext>Comment on attachment 112450
Test updated to pass on all platforms.

R=me. Not touching cq yet since EWS hasn&apos;t cycled, but feel free to ask any committer to flip that once cr-linux (at least) goes green.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490631</commentid>
    <comment_count>22</comment_count>
      <attachid>112450</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-26 00:51:15 -0700</bug_when>
    <thetext>Comment on attachment 112450
Test updated to pass on all platforms.

Clearing flags on attachment: 112450

Committed r98440: &lt;http://trac.webkit.org/changeset/98440&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>490632</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-26 00:51:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>105127</attachid>
            <date>2011-08-24 20:42:52 -0700</date>
            <delta_ts>2011-08-24 20:42:52 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>CanvasModes_Images.html</filename>
            <type>text/html</type>
            <size>5301</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">CjxodG1sPiAKICA8aGVhZD4gCiAgICA8dGl0bGU+QSBjYW52YXMgZ2xvYmFsQ29tcG9zaXRlT3Bl
cmF0aW9uIGV4YW1wbGU8L3RpdGxlPiAKICAgIDxtZXRhIG5hbWU9IkRDLmNyZWF0b3IiIGNvbnRl
bnQ9IkthbWllbCBNYXJ0aW5ldCwgaHR0cDovL3d3dy5tYXJ0aW5ldC5ubC8iPiAKICAgIDxtZXRh
IG5hbWU9IkRDLnB1Ymxpc2hlciIgY29udGVudD0iTW96aWxsYSBEZXZlbG9wZXIgQ2VudGVyLCBo
dHRwOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnIj4gCiAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0
aW9uL3gtamF2YXNjcmlwdCI+IAogICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQoJICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQodHJ1ZSk7CgoJICAgIHZhciBp
bWFnZUNhbnZhczsKCSAgICB2YXIgaW1hZ2VFbGVtZW50OwoKICAgICAgdmFyIGNvbXBvc2l0ZVR5
cGVzID0gWwogICAgICAgICdzb3VyY2Utb3ZlcicsJ3NvdXJjZS1pbicsJ3NvdXJjZS1vdXQnLCdz
b3VyY2UtYXRvcCcsCiAgICAgICAgJ2Rlc3RpbmF0aW9uLW92ZXInLCdkZXN0aW5hdGlvbi1pbics
J2Rlc3RpbmF0aW9uLW91dCcsJ2Rlc3RpbmF0aW9uLWF0b3AnLAogICAgICAgICdsaWdodGVyJywn
ZGFya2VyJywnY29weScsJ3hvcicKICAgICAgXTsKICAgICAgdmFyIHRlc3ROYW1lcyA9IFsKICAg
ICAgICAnc29saWQgaW1hZ2Ugb24gc29saWQnLCAnYWxwaGEgaW1hZ2Ugb24gc29saWQnLCAnc29s
aWQgaW1hZ2Ugb24gYWxwaGEnLAogICAgICAgICdhbHBoYSBpbWFnZSBvbiBhbHBoYScsICdzb2xp
ZCBjYW52YXMgb24gc29saWQnLCAnYWxwaGEgY2FudmFzIG9uIHNvbGlkJywKICAgICAgICAnc29s
aWQgY2FudmFzIG9uIGFscGhhJywgJ2FscGhhIGNhbnZhcyBvbiBhbHBoYScsCiAgICAgIF07CiAg
ICAgIGZ1bmN0aW9uIGNyZWF0ZU91dHB1dFRhYmxlKCkgewogICAgICAgIHZhciB0YWJsZUVsID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ291dHB1dHRhYmxlJyk7CiAgICAgICAgdmFyIHJvdyA9
IHRhYmxlRWwuaW5zZXJ0Um93KC0xKTsKICAgICAgICB2YXIgY2VsbCA9IHJvdy5pbnNlcnRDZWxs
KC0xKTsKICAgICAgICB2YXIgbGFiZWw7CiAgICAgICAgdmFyIGNhbnZhczsKICAgICAgICBmb3Ig
KHZhciBqID0gMDsgaiA8IHRlc3ROYW1lcy5sZW5ndGg7IGorKykgewogICAgICAgICAgY2VsbCA9
IHJvdy5pbnNlcnRDZWxsKC0xKTsKICAgICAgICAgIGNlbGwud2lkdGggPSA5MDsKICAgICAgICAg
IGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGVzdE5hbWVzW2pdKTsKICAgICAgICAg
IGNlbGwuYXBwZW5kQ2hpbGQobGFiZWwpOwogICAgICAgIH0KICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IGNvbXBvc2l0ZVR5cGVzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICByb3cgPSB0YWJs
ZUVsLmluc2VydFJvdygtMSk7CiAgICAgICAgICBjZWxsID0gcm93Lmluc2VydENlbGwoLTEpOwog
ICAgICAgICAgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjb21wb3NpdGVUeXBlc1tp
XSk7CiAgICAgICAgICBjZWxsLmFwcGVuZENoaWxkKGxhYmVsKTsKICAgICAgICAgIGZvciAodmFy
IGogPSAwOyBqIDwgdGVzdE5hbWVzLmxlbmd0aDsgaisrKSB7CiAgICAgICAgICAgIGNhbnZhcyA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOwogICAgICAgICAgICBjYW52YXMud2lk
dGggPSA1MDsKICAgICAgICAgICAgY2FudmFzLmhlaWdodCA9IDUwOwogICAgICAgICAgICBjYW52
YXMuaWQgPSBjb21wb3NpdGVUeXBlc1tpXSArIHRlc3ROYW1lc1tqXTsKICAgICAgICAgICAgY2Vs
bCA9IHJvdy5pbnNlcnRDZWxsKC0xKTsKICAgICAgICAgICAgY2VsbC5hcHBlbmRDaGlsZChjYW52
YXMpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICBmdW5jdGlvbiBnZXRDb250
ZXh0KGNvbXBvc2l0ZUluZGV4LCB0ZXN0SW5kZXgpIHsKICAgICAgICB2YXIgaWQgPSBjb21wb3Np
dGVUeXBlc1tjb21wb3NpdGVJbmRleF0gKyB0ZXN0TmFtZXNbdGVzdEluZGV4XTsKICAgICAgICB2
YXIgY29udGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5nZXRDb250ZXh0KCcyZCcp
OwogICAgICAgIHJldHVybiBjb250ZXh0OwogICAgICB9CiAgICAgIGZ1bmN0aW9uIHNldHVwQ29u
dGV4dChjb250ZXh0LCBhbHBoYSkgewogICAgICAgIHZhciBncmFkaWVudCA9IGNvbnRleHQuY3Jl
YXRlTGluZWFyR3JhZGllbnQoNSwgNSwgNDAsIDQwKTsKICAgICAgICBpZiAoYWxwaGEpIHsKICAg
ICAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgwLCAncmdiYSgwMCwxMDAsMjU1LDAuNSknKTsK
ICAgICAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgxLCAncmdiYSgwMCwyNTUsMTAwLDAuNSkn
KTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsICdy
Z2JhKDAwLDEwMCwyNTUsMSknKTsKICAgICAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgxLCAn
cmdiYSgwMCwyNTUsMTAwLDEpJyk7CiAgICAgICAgfQogICAgICAgIGNvbnRleHQuZmlsbFN0eWxl
ID0gZ3JhZGllbnQ7CiAgICAgICAgY29udGV4dC5maWxsUmVjdCg1LCA1LCAyMCwgNDApOwogICAg
ICB9CiAgICAgIGZ1bmN0aW9uIGRvSW1hZ2UoY29udGV4dCwgY29tcG9zaXRlSW5kZXgsIGFscGhh
LCBjYW52YXMpIHsKICAgICAgICBjb250ZXh0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9IGNv
bXBvc2l0ZVR5cGVzW2NvbXBvc2l0ZUluZGV4XTsKICAgICAgICBjb250ZXh0LmZvbnQgPSAnMjBw
dCBNb25vJzsKICAgICAgICBpZiAoYWxwaGEpCiAgICAgICAgICBjb250ZXh0Lmdsb2JhbEFscGhh
ID0gMC41OwogICAgICAgIGlmIChjYW52YXMpCiAgICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShp
bWFnZUNhbnZhcywgOCwgOCk7CiAgICAgICAgZWxzZQogICAgICAgICAgY29udGV4dC5kcmF3SW1h
Z2UoaW1hZ2VFbGVtZW50LCA4LCA4KTsKICAgICAgfQogICAgICAKICAgICAgZnVuY3Rpb24gZHJh
dygpIHsKICAgICAgICBpbWFnZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaW1h
Z2UnKTsKICAgICAgICBpbWFnZUNhbnZhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFn
ZWNhbnZhcycpOwogICAgICAgIGltYWdlQ2FudmFzLmdldENvbnRleHQoJzJkJykuZHJhd0ltYWdl
KGltYWdlRWxlbWVudCwgMCwgMCk7CiAgICAgICAgY3JlYXRlT3V0cHV0VGFibGUoKTsKICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbXBvc2l0ZVR5cGVzLmxlbmd0aDsgaSsrKSB7CiAgICAg
ICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRlc3ROYW1lcy5sZW5ndGg7IGorKykgewogICAgICAg
ICAgICB2YXIgY29udGV4dCA9IGdldENvbnRleHQoaSwgaik7CiAgICAgICAgICAgIHNldHVwQ29u
dGV4dChjb250ZXh0LCBqICUgNCA+IDEpOwogICAgICAgICAgICBkb0ltYWdlKGNvbnRleHQsIGks
IGogJSAyLCBqID4gMyk7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICA8L3Njcmlw
dD4gCiAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPiAKICAgICAgYm9keSB7IG1hcmdpbjogMjBw
eDsgZm9udC1mYW1pbHk6IGFyaWFsLHZlcmRhbmEsaGVsdmV0aWNhOyBiYWNrZ3JvdW5kOiAjZmZm
O30KICAgICAgaDEgeyBmb250LXNpemU6IDE0MCU7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgY29sb3I6
ICMwMzY7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjOyB9CiAgICAgIGNhbnZhcyB7IGJv
cmRlcjogMnB4IHNvbGlkICMwMDA7IH0KICAgICAgY2FudmFzI2ltYWdlY2FudmFzIHtkaXNwbGF5
OiBub25lOyB9CiAgICAgIHRkIHsgcGFkZGluZzogN3B4OyB9CiAgICAgIGltZyB7IGRpc3BsYXk6
IG5vbmU7IH0KICAgIDwvc3R5bGU+IAogIDwvaGVhZD4gCiAgPGJvZHkgb25sb2FkPSJkcmF3KCk7
Ij4gCiAgICA8aW1nIGlkID0gImltYWdlIiBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwKICAg
IGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFnQ0FZQUFBQnplbnIwQUFBQUdYUkZXSFJU
YjJaMGQyRnkKICAgIFpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXRKSlJFRlVlTnJN
VjA5cjFFQVVmL25uWWR1eXBXQVIKICAgIGFVRVEyK0xKUGVoUjF3OGdldldpK3dGYXZCVEJtNTVF
UVZRVXIzYS9RVVh3SnUwcVh1cGg0OGx0UGRocXE2SVYKICAgIHRycHNXNVBNT0pPZFpHZXltWjFK
V3FVUEhwa01rL2QrOC80SFFFNWx3cGc5YjdKMTlJeDRnVnRmSXZ3eGNhNE0KICAgIENqSkJUZmNK
WDJYclJjSnozTHJLblh0SytCaGtKQjBBcHpqQnZOSWFCNlpKZUZqeWJia2ZNQjBBNXduZlVweHgK
ICAgIEdaZ0hLZGFqYnFySVByUVVncmZZcmVrTjE5aWEzMThsYkRCclVKQzczTGsxdGwvanpoNDhN
cEliNnhjbUtselEKICAgIDdUZFZ4NTZ2elBFYmRzcWhwazc2NUtTSHlRMFpBRzBhT21JcHoreHNJ
ZkMyY2FwczgzLzRHUVhaNm9EN0Q3RzQKICAgIHlpQmtnWWhqaEZNbGNLNC9UcFhtT0E0VWkwV3B0
dmE5Q3ZqTFM5RDZIZ0JHQUNRQWpjd3V3SnZmY2w4MytQeSsKICAgIEl3TmxMOFdMWFFCZmN3UEE3
ZCtwTWxWWjBKZTh1OU9BR3ZWd1RjdWVvY2lDNEEvTzFZeUVkTUdmUHV4SEFEYXoKICAgIFdPQWQ2
KzhkQU51dE9GcU44Uk14YXNNd3dSNDlKREgvTHhJRGphVE12YnZBdm54TnlJS0NKQXQ4OXlXMG44
d1EKICAgIEYrU2JCNFRPaFpuUHMyVkFvNjlNbFFWRUFDUVQwSEl2aU1DeUlSZ1o3TjVtYkFxTXdw
RG9Db3h6QVJBVnZYa1IKICAgIGNrOUdVQUZjRmd6TVZzR2FPQzJrWU9BcFhLcGpBYjRhVWt0NGQ2
YlY5WCs5b1ZYaVUyT0FsRXpwOUdLU0xKQ08KICAgIFYrejJnZ3NDSE1sczVuWUJicmU2TDRWQmNH
WnVoOFVJMVYrRE5UNUNGSjhCZTFKVWpqWTNsSjFRQmNCbFUyMVAKICAgIElUSkxaME4ycnN6Q2dD
UU4wYzhOclE1cjZsWXVWSCtsbllLMEJvVGYrRmc1NUdnWEl1L1JqZTd0U1ZDYWt5V0EKICAgIDR5
ZmpuQTlXbGtqcmZSc3JWM1ZCSFFDMXRObVFXaUt5aG4vNEtGaWpkdExjTWxsN3MwQ3FuMzk4QVdS
WmljTFQKICAgIDZZRCtEbFoyUXAwZ2pBT3hMeENmS2lSdTJzV0FQQ3lUby9kZmtES2VEYlBPZUk0
OWhYOUEwaENUdmw1bHd3YzEKICAgICs3d3MvN1VCcEFDS2ZqZ3ZjakZDRlQ2alQ2SXcwMUQ3VjRB
QkFMdnNGN2xnUUs1akFBQUFBRWxGVGtTdVFtQ0MKICAgICIgYWx0PSJodG1sNSI+CiAgICA8Y2Fu
dmFzIGlkPSJpbWFnZWNhbnZhcyIgd2lkdGg9IjMyIiBoZWlnaHQ9IjMyIj48L2NhbnZhcz4KICAg
IDx0YWJsZSBpZD0nb3V0cHV0dGFibGUnPgogICAgPC90YWJsZT4KICA8L2JvZHk+IAo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110970</attachid>
            <date>2011-10-13 23:57:08 -0700</date>
            <delta_ts>2011-10-16 19:22:44 -0700</delta_ts>
            <desc>Patch for comment, patch with tests to come.</desc>
            <filename>bug-66920-20111014175706.patch</filename>
            <type>text/plain</type>
            <size>10923</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc0NDMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ZmM3ZDA5NGY4OGUyZDRm
NDFlNTYwY2QzYjAyYTU4MmQyNzhlYTcwLi5kOWRmY2QyNTAxZDAwMTgwNWE1MjFjZmI5MTdiNTNl
ZDJkZmNlZjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMTMgIEJlbiBX
ZWxscyAgPGJlbndlbGxzQGNocm9taXVtLm9yZz4KKworICAgICAgICBDYW52YXMgZHJhd0ltYWdl
IHdpdGggU291cmNlSW4sIERlc3RpbmF0aW9uSW4sIFNvdXJjZU91dCwgRGVzdGluYXRpb25BdG9w
IGFuZCBDb3B5IGhhdmUgZXJyb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NjkyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgIFVzZSB0aGUgc2Ft
ZSBtZXRob2QgYXMgZmlsbHMgdG8gaGFuZGxlIGNvbXBvc2l0ZWQgZHJhd0ltYWdlIGNhbGxzIHRo
YXQgd2lsbCBhZmZlY3QgdGhlIHdob2xlCisgICAgICAgIGNhbnZhcy4gVG8gZG8gdGhpcyBjb2Rl
IHVzZWQgd2hlbiBkb2luZyBmaWxscyBoYXMgYmVlbiBmYWN0b3JlZCBpbnRvIHNlcGVyYXRlIGZ1
bmN0aW9ucyBhbmQKKyAgICAgICAgdXNlZCBieSBkcmF3SW1hZ2UuIFNvbWUgZnVuY3Rpb25zIHVz
ZWQgdG8gZG8gdGhlc2UgdHlwZXMgb2Ygb3BlcmF0aW9ucyBoYXZlIGFsc28gYmVlbiByZW5hbWVk
LgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZmlsbCk6CisgICAg
ICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZpbGxSZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd0ltYWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6aXNGdWxsQ2FudmFzQ29tcG9z
aXRlTW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNh
bGN1bGF0ZUNvbXBvc2l0aW5nQnVmZmVyUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmNyZWF0ZUNvbXBvc2l0aW5nQnVmZmVyKToKKyAgICAgICAgKFdl
YkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y29tcG9zaXRlQnVmZmVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZnVsbENhbnZhc0NvbXBvc2l0
ZWREcmF3SW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpmdWxsQ2FudmFzQ29tcG9zaXRlZEZpbGwpOgorICAgICAgICAqIGh0bWwvY2FudmFzL0NhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRC5oOgorCiAyMDExLTEwLTEzICBDc2FiYSBPc3p0cm9nb27DoWMg
IDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XVtXaW5dIFVucmV2aWV3ZWQgYnVpbGRm
aXggYWZ0ZXIgcjk3NDMzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKaW5kZXggOWU5ZmYwZGIwYTA1N2ZmMDJmNjI5
ODg2NTk5Y2YwYjZlMTgxYTM2Mi4uZWI1ZTUzOWViMTZhNTkyNzNiZjQ1MWZkN2VjOGQ1NTg1M2Rh
ZWU2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuY3BwCkBAIC05MzYsOCArOTM2LDggQEAgdm9pZCBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQ6OmZpbGwoKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAoIW1fcGF0
aC5pc0VtcHR5KCkpIHsKLSAgICAgICAgaWYgKHNob3VsZERpc3BsYXlUcmFuc3BhcmVuY3lFbHNl
d2hlcmUoKSkKLSAgICAgICAgICAgIGZpbGxBbmREaXNwbGF5VHJhbnNwYXJlbmN5RWxzZXdoZXJl
KG1fcGF0aCk7CisgICAgICAgIGlmIChpc0Z1bGxDYW52YXNDb21wb3NpdGVNb2RlKHN0YXRlKCku
bV9nbG9iYWxDb21wb3NpdGUpKQorICAgICAgICAgICAgZnVsbENhbnZhc0NvbXBvc2l0ZWRGaWxs
KG1fcGF0aCk7CiAgICAgICAgIGVsc2UgaWYgKHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUgPT0g
Q29tcG9zaXRlQ29weSkgewogICAgICAgICAgICAgY2xlYXJDYW52YXMoKTsKICAgICAgICAgICAg
IGMtPmZpbGxQYXRoKG1fcGF0aCk7CkBAIC0xMDQyLDggKzEwNDIsOCBAQCB2b2lkIENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRDo6ZmlsbFJlY3QoZmxvYXQgeCwgZmxvYXQgeSwgZmxvYXQgd2lkdGgs
IGZsb2F0IGhlaQogCiAgICAgRmxvYXRSZWN0IHJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCk7CiAK
LSAgICBpZiAoc2hvdWxkRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZSgpKQotICAgICAgICBm
aWxsQW5kRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZShyZWN0KTsKKyAgICBpZiAoaXNGdWxs
Q2FudmFzQ29tcG9zaXRlTW9kZShzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlKSkKKyAgICAgICAg
ZnVsbENhbnZhc0NvbXBvc2l0ZWRGaWxsKHJlY3QpOwogICAgIGVsc2UgaWYgKHN0YXRlKCkubV9n
bG9iYWxDb21wb3NpdGUgPT0gQ29tcG9zaXRlQ29weSkgewogICAgICAgICBjbGVhckNhbnZhcygp
OwogICAgICAgICBjLT5maWxsUmVjdChyZWN0KTsKQEAgLTEzMjAsOCArMTMyMCwxNyBAQCB2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd0ltYWdlKEhUTUxJbWFnZUVsZW1lbnQqIGlt
YWdlLCBjb25zdCBGbG9hdFJlYwogCiAgICAgY2hlY2tPcmlnaW4oaW1hZ2UpOwogCi0gICAgYy0+
ZHJhd0ltYWdlKGNhY2hlZEltYWdlLT5pbWFnZSgpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBub3Jt
YWxpemVkRHN0UmVjdCwgbm9ybWFsaXplZFNyY1JlY3QsIG9wKTsKLSAgICBkaWREcmF3KG5vcm1h
bGl6ZWREc3RSZWN0KTsKKyAgICBpZiAoaXNGdWxsQ2FudmFzQ29tcG9zaXRlTW9kZShvcCkpIHsK
KyAgICAgICAgZnVsbENhbnZhc0NvbXBvc2l0ZWREcmF3SW1hZ2UoY2FjaGVkSW1hZ2UtPmltYWdl
KCksIENvbG9yU3BhY2VEZXZpY2VSR0IsIG5vcm1hbGl6ZWREc3RSZWN0LCBub3JtYWxpemVkU3Jj
UmVjdCwgb3ApOworICAgICAgICBkaWREcmF3KEZsb2F0UmVjdCgwLCAwLCBjYW52YXMoKS0+d2lk
dGgoKSwgY2FudmFzKCktPmhlaWdodCgpKSwgQ2FudmFzRGlkRHJhd0FwcGx5Q2xpcCk7CisgICAg
fSBlbHNlIGlmIChvcCA9PSBDb21wb3NpdGVDb3B5KSB7CisgICAgICAgIGNsZWFyQ2FudmFzKCk7
CisgICAgICAgIGMtPmRyYXdJbWFnZShjYWNoZWRJbWFnZS0+aW1hZ2UoKSwgQ29sb3JTcGFjZURl
dmljZVJHQiwgbm9ybWFsaXplZERzdFJlY3QsIG5vcm1hbGl6ZWRTcmNSZWN0LCBvcCk7CisgICAg
ICAgIGRpZERyYXcoRmxvYXRSZWN0KDAsIDAsIGNhbnZhcygpLT53aWR0aCgpLCBjYW52YXMoKS0+
aGVpZ2h0KCkpLCBDYW52YXNEaWREcmF3QXBwbHlDbGlwKTsKKyAgICB9IGVsc2UgeworICAgICAg
ICBjLT5kcmF3SW1hZ2UoY2FjaGVkSW1hZ2UtPmltYWdlKCksIENvbG9yU3BhY2VEZXZpY2VSR0Is
IG5vcm1hbGl6ZWREc3RSZWN0LCBub3JtYWxpemVkU3JjUmVjdCwgb3ApOworICAgICAgICBkaWRE
cmF3KG5vcm1hbGl6ZWREc3RSZWN0KTsKKyAgICB9CiB9CiAKIHZvaWQgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEOjpkcmF3SW1hZ2UoSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZhcywgZmxvYXQgeCwg
ZmxvYXQgeSwgRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC0xNTA5LDEzICsxNTE4LDEyIEBAIHZvaWQg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjbGVhckNhbnZhcygpCiAgICAgYy0+cmVzdG9yZSgp
OwogfQogCi1ib29sIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c2hvdWxkRGlzcGxheVRyYW5z
cGFyZW5jeUVsc2V3aGVyZSgpIGNvbnN0Citib29sIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
aXNGdWxsQ2FudmFzQ29tcG9zaXRlTW9kZShDb21wb3NpdGVPcGVyYXRvciBvcCkgY29uc3QKIHsK
ICAgICAvLyBTZWUgNC44LjExLjEuMyBDb21wb3NpdGluZwogICAgIC8vIENvbXBvc2l0ZVNvdXJj
ZUF0b3AgYW5kIENvbXBvc2l0ZURlc3RpbmF0aW9uT3V0IGFyZSBub3QgbGlzdGVkIGhlcmUgYXMg
dGhlIHBsYXRmb3JtcyBhbHJlYWR5CiAgICAgLy8gaW1wbGVtZW50IHRoZSBzcGVjaWZpY2F0aW9u
J3MgYmVoYXZpb3IuCi0gICAgcmV0dXJuIHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUgPT0gQ29t
cG9zaXRlU291cmNlSW4gfHwgc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9PSBDb21wb3NpdGVT
b3VyY2VPdXQKLSAgICAgICAgICAgfHwgc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9PSBDb21w
b3NpdGVEZXN0aW5hdGlvbkluIHx8IHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUgPT0gQ29tcG9z
aXRlRGVzdGluYXRpb25BdG9wOworICAgIHJldHVybiBvcCA9PSBDb21wb3NpdGVTb3VyY2VJbiB8
fCBvcCA9PSBDb21wb3NpdGVTb3VyY2VPdXQgfHwgb3AgPT0gQ29tcG9zaXRlRGVzdGluYXRpb25J
biB8fCBvcCA9PSBDb21wb3NpdGVEZXN0aW5hdGlvbkF0b3A7CiB9CiAKIFBhdGggQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjp0cmFuc2Zvcm1BcmVhVG9EZXZpY2UoY29uc3QgUGF0aCYgcGF0aCkg
Y29uc3QKQEAgLTE1MzMsMzEgKzE1NDEsMjkgQEAgUGF0aCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQ6OnRyYW5zZm9ybUFyZWFUb0RldmljZShjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNvbnMKICAg
ICByZXR1cm4gdHJhbnNmb3JtQXJlYVRvRGV2aWNlKHBhdGgpOwogfQogCi10ZW1wbGF0ZTxjbGFz
cyBUPiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZmlsbEFuZERpc3BsYXlUcmFuc3Bh
cmVuY3lFbHNld2hlcmUoY29uc3QgVCYgYXJlYSkKK3RlbXBsYXRlPGNsYXNzIFQ+IEludFJlY3Qg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjYWxjdWxhdGVDb21wb3NpdGluZ0J1ZmZlclJlY3Qo
Y29uc3QgVCYgYXJlYSwgSW50U2l6ZSogY3JvcHBlZE9mZnNldCkKIHsKLSAgICBBU1NFUlQoc2hv
dWxkRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZSgpKTsKLQogICAgIEludFJlY3QgY2FudmFz
UmVjdCgwLCAwLCBjYW52YXMoKS0+d2lkdGgoKSwgY2FudmFzKCktPmhlaWdodCgpKTsKICAgICBj
YW52YXNSZWN0ID0gY2FudmFzKCktPmJhc2VUcmFuc2Zvcm0oKS5tYXBSZWN0KGNhbnZhc1JlY3Qp
OwogICAgIFBhdGggcGF0aCA9IHRyYW5zZm9ybUFyZWFUb0RldmljZShhcmVhKTsKICAgICBJbnRS
ZWN0IGJ1ZmZlclJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KHBhdGguYm91bmRpbmdSZWN0KCkpOwor
ICAgIEludFBvaW50IG9yaWdpbmFsTG9jYXRpb24gPSBidWZmZXJSZWN0LmxvY2F0aW9uKCk7CiAg
ICAgYnVmZmVyUmVjdC5pbnRlcnNlY3QoY2FudmFzUmVjdCk7CisgICAgaWYgKGNyb3BwZWRPZmZz
ZXQpCisgICAgICAgICpjcm9wcGVkT2Zmc2V0ID0gb3JpZ2luYWxMb2NhdGlvbiAtIGJ1ZmZlclJl
Y3QubG9jYXRpb24oKTsKKyAgICByZXR1cm4gYnVmZmVyUmVjdDsKK30KIAotICAgIGlmIChidWZm
ZXJSZWN0LmlzRW1wdHkoKSkgewotICAgICAgICBjbGVhckNhbnZhcygpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotCi0gICAgcGF0aC50cmFuc2xhdGUoRmxvYXRTaXplKC1idWZmZXJSZWN0Lngo
KSwgLWJ1ZmZlclJlY3QueSgpKSk7Ci0KK1Bhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IENhbnZhc1Jl
bmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRlQ29tcG9zaXRpbmdCdWZmZXIoY29uc3QgSW50UmVjdCYg
YnVmZmVyUmVjdCkKK3sKICAgICBSZW5kZXJpbmdNb2RlIHJlbmRlck1vZGUgPSBpc0FjY2VsZXJh
dGVkKCkgPyBBY2NlbGVyYXRlZCA6IFVuYWNjZWxlcmF0ZWQ7Ci0gICAgT3duUHRyPEltYWdlQnVm
ZmVyPiBidWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGJ1ZmZlclJlY3Quc2l6ZSgpLCBDb2xv
clNwYWNlRGV2aWNlUkdCLCByZW5kZXJNb2RlKTsKLSAgICBpZiAoIWJ1ZmZlcikKLSAgICAgICAg
cmV0dXJuOworICAgIHJldHVybiBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGJ1ZmZlclJlY3Quc2l6ZSgp
LCBDb2xvclNwYWNlRGV2aWNlUkdCLCByZW5kZXJNb2RlKTsKK30KIAotICAgIGJ1ZmZlci0+Y29u
dGV4dCgpLT5zZXRDb21wb3NpdGVPcGVyYXRpb24oQ29tcG9zaXRlU291cmNlT3Zlcik7Ci0gICAg
c3RhdGUoKS5tX2ZpbGxTdHlsZS0+YXBwbHlGaWxsQ29sb3IoYnVmZmVyLT5jb250ZXh0KCkpOwot
ICAgIGJ1ZmZlci0+Y29udGV4dCgpLT5maWxsUGF0aChwYXRoKTsKK3ZvaWQgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEOjpjb21wb3NpdGVCdWZmZXIoSW1hZ2VCdWZmZXIqIGJ1ZmZlciwgY29uc3Qg
SW50UmVjdCYgYnVmZmVyUmVjdCwgQ29tcG9zaXRlT3BlcmF0b3Igb3ApCit7CisgICAgSW50UmVj
dCBjYW52YXNSZWN0KDAsIDAsIGNhbnZhcygpLT53aWR0aCgpLCBjYW52YXMoKS0+aGVpZ2h0KCkp
OworICAgIGNhbnZhc1JlY3QgPSBjYW52YXMoKS0+YmFzZVRyYW5zZm9ybSgpLm1hcFJlY3QoY2Fu
dmFzUmVjdCk7CiAKICAgICBHcmFwaGljc0NvbnRleHQqIGMgPSBkcmF3aW5nQ29udGV4dCgpOwog
ICAgIGlmICghYykKQEAgLTE1NjUsMTYgKzE1NzEsNzIgQEAgdGVtcGxhdGU8Y2xhc3MgVD4gdm9p
ZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZpbGxBbmREaXNwbGF5VHJhbnNwYXJlbmN5RWxz
ZXcKIAogICAgIGMtPnNhdmUoKTsKICAgICBjLT5zZXRDVE0oQWZmaW5lVHJhbnNmb3JtKCkpOwor
ICAgIGMtPnNldENvbXBvc2l0ZU9wZXJhdGlvbihvcCk7CiAKICAgICBjLT5zYXZlKCk7CiAgICAg
Yy0+Y2xpcE91dChidWZmZXJSZWN0KTsKICAgICBjLT5jbGVhclJlY3QoY2FudmFzUmVjdCk7CiAg
ICAgYy0+cmVzdG9yZSgpOwogCi0gICAgYy0+ZHJhd0ltYWdlQnVmZmVyKGJ1ZmZlci5nZXQoKSwg
Q29sb3JTcGFjZURldmljZVJHQiwgYnVmZmVyUmVjdC5sb2NhdGlvbigpLCBzdGF0ZSgpLm1fZ2xv
YmFsQ29tcG9zaXRlKTsKKyAgICBjLT5kcmF3SW1hZ2VCdWZmZXIoYnVmZmVyLCBDb2xvclNwYWNl
RGV2aWNlUkdCLCBidWZmZXJSZWN0LmxvY2F0aW9uKCksIHN0YXRlKCkubV9nbG9iYWxDb21wb3Np
dGUpOwogICAgIGMtPnJlc3RvcmUoKTsKIH0KIAordm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkQ6OmZ1bGxDYW52YXNDb21wb3NpdGVkRHJhd0ltYWdlKEltYWdlKiBpbWFnZSwgQ29sb3JTcGFj
ZSBzdHlsZUNvbG9yU3BhY2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdCwgY29uc3QgRmxvYXRSZWN0
JiBzcmMsIENvbXBvc2l0ZU9wZXJhdG9yIG9wKQoreworICAgIEFTU0VSVChpc0Z1bGxDYW52YXND
b21wb3NpdGVNb2RlKG9wKSk7CisKKyAgICBJbnRTaXplIGNyb3BwZWRPZmZzZXQ7CisgICAgSW50
UmVjdCBidWZmZXJSZWN0ID0gY2FsY3VsYXRlQ29tcG9zaXRpbmdCdWZmZXJSZWN0KGRlc3QsICZj
cm9wcGVkT2Zmc2V0KTsKKyAgICBpZiAoYnVmZmVyUmVjdC5pc0VtcHR5KCkpIHsKKyAgICAgICAg
Y2xlYXJDYW52YXMoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE93blB0cjxJbWFn
ZUJ1ZmZlcj4gYnVmZmVyID0gY3JlYXRlQ29tcG9zaXRpbmdCdWZmZXIoYnVmZmVyUmVjdCk7Cisg
ICAgaWYgKCFidWZmZXIpCisgICAgICAgIHJldHVybjsKKworICAgIEdyYXBoaWNzQ29udGV4dCog
YyA9IGRyYXdpbmdDb250ZXh0KCk7CisgICAgaWYgKCFjKQorICAgICAgICByZXR1cm47CisKKyAg
ICBGbG9hdFJlY3QgYWRqdXN0ZWREZXN0ID0gZGVzdDsKKyAgICBhZGp1c3RlZERlc3Quc2V0TG9j
YXRpb24oRmxvYXRQb2ludCgwLCAwKSk7CisgICAgQWZmaW5lVHJhbnNmb3JtIGVmZmVjdGl2ZVRy
YW5zZm9ybSA9IGMtPmdldENUTSgpOworICAgIEludFJlY3QgdHJhbnNmb3JtZWRBZGp1c3RlZFJl
Y3QgPSBlbmNsb3NpbmdJbnRSZWN0KGVmZmVjdGl2ZVRyYW5zZm9ybS5tYXBSZWN0KGFkanVzdGVk
RGVzdCkpOworICAgIGJ1ZmZlci0+Y29udGV4dCgpLT50cmFuc2xhdGUoLXRyYW5zZm9ybWVkQWRq
dXN0ZWRSZWN0LmxvY2F0aW9uKCkueCgpLCAtdHJhbnNmb3JtZWRBZGp1c3RlZFJlY3QubG9jYXRp
b24oKS55KCkpOworICAgIGJ1ZmZlci0+Y29udGV4dCgpLT50cmFuc2xhdGUoY3JvcHBlZE9mZnNl
dC53aWR0aCgpLCBjcm9wcGVkT2Zmc2V0LmhlaWdodCgpKTsKKyAgICBidWZmZXItPmNvbnRleHQo
KS0+Y29uY2F0Q1RNKGVmZmVjdGl2ZVRyYW5zZm9ybSk7CisgICAgYnVmZmVyLT5jb250ZXh0KCkt
PmRyYXdJbWFnZShpbWFnZSwgc3R5bGVDb2xvclNwYWNlLCBhZGp1c3RlZERlc3QsIHNyYywgQ29t
cG9zaXRlU291cmNlT3Zlcik7CisKKyAgICBjb21wb3NpdGVCdWZmZXIoYnVmZmVyLmdldCgpLCBi
dWZmZXJSZWN0LCBvcCk7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQ+IHZvaWQgQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJEOjpmdWxsQ2FudmFzQ29tcG9zaXRlZEZpbGwoY29uc3QgVCYgYXJlYSkKK3sK
KyAgICBBU1NFUlQoaXNGdWxsQ2FudmFzQ29tcG9zaXRlTW9kZShzdGF0ZSgpLm1fZ2xvYmFsQ29t
cG9zaXRlKSk7CisKKyAgICBJbnRSZWN0IGJ1ZmZlclJlY3QgPSBjYWxjdWxhdGVDb21wb3NpdGlu
Z0J1ZmZlclJlY3QoYXJlYSwgMCk7CisgICAgaWYgKGJ1ZmZlclJlY3QuaXNFbXB0eSgpKSB7Cisg
ICAgICAgIGNsZWFyQ2FudmFzKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBPd25Q
dHI8SW1hZ2VCdWZmZXI+IGJ1ZmZlciA9IGNyZWF0ZUNvbXBvc2l0aW5nQnVmZmVyKGJ1ZmZlclJl
Y3QpOworICAgIGlmICghYnVmZmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBQYXRoIHBhdGgg
PSB0cmFuc2Zvcm1BcmVhVG9EZXZpY2UoYXJlYSk7CisgICAgcGF0aC50cmFuc2xhdGUoRmxvYXRT
aXplKC1idWZmZXJSZWN0LngoKSwgLWJ1ZmZlclJlY3QueSgpKSk7CisKKyAgICBidWZmZXItPmNv
bnRleHQoKS0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZVNvdXJjZU92ZXIpOworICAg
IHN0YXRlKCkubV9maWxsU3R5bGUtPmFwcGx5RmlsbENvbG9yKGJ1ZmZlci0+Y29udGV4dCgpKTsK
KyAgICBidWZmZXItPmNvbnRleHQoKS0+ZmlsbFBhdGgocGF0aCk7CisKKyAgICBjb21wb3NpdGVC
dWZmZXIoYnVmZmVyLmdldCgpLCBidWZmZXJSZWN0LCBzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRl
KTsKK30KKwogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnByZXBhcmVHcmFkaWVudEZv
ckRhc2hib2FyZChDYW52YXNHcmFkaWVudCogZ3JhZGllbnQpIGNvbnN0CiB7CiAjaWYgRU5BQkxF
KERBU0hCT0FSRF9TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAppbmRleCBiZjBlY2Y0YmEwZTRkYjg4MWYzY2I3
YTRlOTI5N2ZhY2U0ZmFkYjAyLi5kZGI3OGMwZTc3ZTlmODkzYmJmMjEwMzZlZjYzM2IyYWE5YzA3
Yjg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkFmZmluZVRyYW5z
Zm9ybS5oIgogI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNsdWRlICJD
b2xvci5oIgorI2luY2x1ZGUgIkNvbG9yU3BhY2UuaCIKICNpbmNsdWRlICJEYXNoQXJyYXkuaCIK
ICNpbmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlICJGb250LmgiCkBAIC0yOTgsOCArMjk5
LDE0IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjbGVhckNhbnZhcygpOwogICAgIFBhdGggdHJhbnNm
b3JtQXJlYVRvRGV2aWNlKGNvbnN0IFBhdGgmKSBjb25zdDsKICAgICBQYXRoIHRyYW5zZm9ybUFy
ZWFUb0RldmljZShjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsKLSAgICBib29sIHNob3VsZERpc3Bs
YXlUcmFuc3BhcmVuY3lFbHNld2hlcmUoKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFzcyBUPiB2
b2lkIGZpbGxBbmREaXNwbGF5VHJhbnNwYXJlbmN5RWxzZXdoZXJlKGNvbnN0IFQmIGFyZWEpOwor
CisgICAgdGVtcGxhdGU8Y2xhc3MgVD4gSW50UmVjdCBjYWxjdWxhdGVDb21wb3NpdGluZ0J1ZmZl
clJlY3QoY29uc3QgVCYsIEludFNpemUqKTsKKyAgICBQYXNzT3duUHRyPEltYWdlQnVmZmVyPiBj
cmVhdGVDb21wb3NpdGluZ0J1ZmZlcihjb25zdCBJbnRSZWN0Jik7CisgICAgdm9pZCBjb21wb3Np
dGVCdWZmZXIoSW1hZ2VCdWZmZXIqLCBjb25zdCBJbnRSZWN0JiwgQ29tcG9zaXRlT3BlcmF0b3Ip
OworCisgICAgYm9vbCBpc0Z1bGxDYW52YXNDb21wb3NpdGVNb2RlKENvbXBvc2l0ZU9wZXJhdG9y
KSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiB2b2lkIGZ1bGxDYW52YXNDb21wb3NpdGVk
RmlsbChjb25zdCBUJik7CisgICAgdm9pZCBmdWxsQ2FudmFzQ29tcG9zaXRlZERyYXdJbWFnZShJ
bWFnZSosIENvbG9yU3BhY2UsIGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IEZsb2F0UmVjdCYsIENv
bXBvc2l0ZU9wZXJhdG9yKTsKIAogICAgIHZvaWQgcHJlcGFyZUdyYWRpZW50Rm9yRGFzaGJvYXJk
KENhbnZhc0dyYWRpZW50KiBncmFkaWVudCkgY29uc3Q7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111198</attachid>
            <date>2011-10-16 19:22:52 -0700</date>
            <delta_ts>2011-10-16 20:25:58 -0700</delta_ts>
            <desc>Patch which doesn&apos;t merge.</desc>
            <filename>bug-66920-20111017132249.patch</filename>
            <type>text/plain</type>
            <size>40467</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc0NDMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5ODU3NWY5NzAzMGM1MmI2ODMwMjE1
NjEyOTgxZTQxMTNkNWQ5ZGY1Li44NDY4ODM0MzI0MGM2NDNjYTExMTZhODZiMTQ4OTVmODVlM2Zj
ZTRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTAtMTYgIEJlbiBXZWxscyAgPGJlbndl
bGxzQGNocm9taXVtLm9yZz4KKworICAgICAgICBDYW52YXMgZHJhd0ltYWdlIHdpdGggU291cmNl
SW4sIERlc3RpbmF0aW9uSW4sIFNvdXJjZU91dCwgRGVzdGluYXRpb25BdG9wIGFuZCBDb3B5IGhh
dmUgZXJyb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02NjkyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UtZXhwZWN0ZWQu
cG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jYW52YXMvY2FudmFzLWNv
bXBvc2l0ZS1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDExLTEwLTEzICBBbmRyZXcg
U2NoZXJrdXMgIDxzY2hlcmt1c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
dXBkYXRpbmcgQ2hyb21pdW0gZXhwZWN0YXRpb25zIGZvciBodHRwL3Rlc3RzL21lZGlhL3ZpZGVv
LXBsYXktc3RhbGwuaHRtbC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2Nh
bnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZh
cy1jb21wb3NpdGUtaW1hZ2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjJjZDk2ZTEzZjY4ODQ2OWMzYjlh
MGZmODMwYmMyYjU2M2RjYzZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS5odG1sCkBAIC0wLDAgKzEsMTE0IEBACis8aHRt
bD4gCisgIDxoZWFkPiAKKyAgICA8dGl0bGU+QSBjYW52YXMgZ2xvYmFsQ29tcG9zaXRlT3BlcmF0
aW9uIGV4YW1wbGU8L3RpdGxlPiAKKyAgICA8bWV0YSBuYW1lPSJEQy5jcmVhdG9yIiBjb250ZW50
PSJLYW1pZWwgTWFydGluZXQsIGh0dHA6Ly93d3cubWFydGluZXQubmwvIj4gCisgICAgPG1ldGEg
bmFtZT0iREMucHVibGlzaGVyIiBjb250ZW50PSJNb3ppbGxhIERldmVsb3BlciBDZW50ZXIsIGh0
dHA6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmciPiAKKyAgICA8c2NyaXB0IHR5cGU9ImFwcGxpY2F0
aW9uL3gtamF2YXNjcmlwdCI+IAorICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKwkgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCh0cnVlKTsKKworICAgICAg
Ly8gVGhpcyB0ZXN0IHNob3VsZCBzaG93IGEgdGFibGUgb2YgY2FudmFzIGVsZW1lbnRzLiBPbnRv
IHRoZSBiYWNrZ3JvdW5kIG9mIGVhY2ggYSBibHVlCisgICAgICAvLyBzcXVhcmUgaXMgZHJhd24s
IGVpdGhlciBmdWxseSBvcGFxdWUgb3Igd2l0aCBzb21lIHRyYW5zcGFyZW5jeSwgYW5kIHRoZW4g
YSBjbGlwIGFuZAorICAgICAgLy8gdHJhbnNmb3JtYXRpb24gaXMgYXBwbGllZC4gVGhlIGNsaXAg
b25seSBhbGxvd3MgZHJhd2luZyBpbiB0aGUgbGVmdCB0d28gdGhpcmRzIG9mIHRoZQorICAgICAg
Ly8gY2FudmFzLgorCisgICAgICAvLyBPbmNlIGVhY2ggY2FudmFzIGhhcyBiZWVuIHNldCB1cCwg
YW4gaW1hZ2UgaXMgZHJhd24gd2l0aCB0aGUgY29tcG9zaXRlIG1vZGUgZm9yIHRoYXQgcm93Lgor
ICAgICAgLy8gRWFjaCByb3cgdXNlcyBhIGRpZmZlcmVudCBjb21wb3NpdGluZyBtb2RlLiBEaWZm
ZXJlbnQgY29sdW1ucyBhcmUgdXNlZCBmb3Igd2hlbiB0aGUKKyAgICAgIC8vIGJhY2tncm91bmQg
aXMgb3IgaXNuJ3QgdHJhbnNwYXJlbnQsIGFuZCB3aGVuIHRoZSBpbWFnZSBpcyBkcmF3biB3aXRo
IG9yIHdpdGhvdXQgYSBnbG9iYWwKKyAgICAgIC8vIGFscGhhLgorICAgICAgCisgICAgICAvLyBU
aGUgaW1hZ2UgaXMgYSBncmVlbiByZWN0YW5nbGUgd2hpY2ggZ2V0cyBza2V3ZWQgYnkgdHJhbnNm
b3JtIGFuZCBjdXQgb2ZmIGJ5IHRoZSBjbGlwLgorICAgICAgLy8gSW4gZWFjaCByb3cgdGhlIGdy
ZWVuIHJlY3RhbmdsZSBzaG91bGQgYmUgZHJhd24gd2l0aCB0aGUgYXBwcm9wcmlhdGUgY29tcG9z
aXRpbmcKKyAgICAgIC8vIG1vZGUsIGFzIHBlciB0aGUgSFRNTDUgY2FudmFzIHNwZWMuIFRoZSBi
YWNrZ3JvdW5kIG9uIHRoZSByaWdodCBzaG91bGQgYWx3YXlzIGJlIGxlZnQKKyAgICAgIC8vIHVu
dG91Y2hlZCBkdWUgdG8gdGhlIGNsaXAuCisKKyAgICAgIC8vIFRoZXNlIG1hcCB0byB0aGUgcm93
cyBvZiB0aGUgdGFibGUKKyAgICAgIHZhciBjb21wb3NpdGVUeXBlcyA9IFsKKyAgICAgICAgJ3Nv
dXJjZS1vdmVyJywnc291cmNlLWluJywnc291cmNlLW91dCcsJ3NvdXJjZS1hdG9wJywKKyAgICAg
ICAgJ2Rlc3RpbmF0aW9uLW92ZXInLCdkZXN0aW5hdGlvbi1pbicsJ2Rlc3RpbmF0aW9uLW91dCcs
J2Rlc3RpbmF0aW9uLWF0b3AnLAorICAgICAgICAnbGlnaHRlcicsJ2RhcmtlcicsJ2NvcHknLCd4
b3InCisgICAgICBdOworICAgICAgLy8gVGhlc2UgbWFwIHRvIHRoZSBjb2x1bW5zIG9mIHRoZSB0
YWJsZQorICAgICAgdmFyIHRlc3ROYW1lcyA9IFsKKyAgICAgICAgJ3NvbGlkIG9uIHNvbGlkJywg
J2FscGhhIG9uIHNvbGlkJywgJ3NvbGlkIG9uIGFscGhhJywgJ2FscGhhIG9uIGFscGhhJworICAg
ICAgXTsKKyAgICAgIGZ1bmN0aW9uIGNyZWF0ZU91dHB1dFRhYmxlKCkgeworICAgICAgICB2YXIg
dGFibGVFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvdXRwdXR0YWJsZScpOworICAgICAg
ICB2YXIgcm93ID0gdGFibGVFbC5pbnNlcnRSb3coLTEpOworICAgICAgICB2YXIgY2VsbCA9IHJv
dy5pbnNlcnRDZWxsKC0xKTsKKyAgICAgICAgdmFyIGxhYmVsOworICAgICAgICB2YXIgY2FudmFz
OworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbXBvc2l0ZVR5cGVzLmxlbmd0aDsgaSsr
KSB7CisgICAgICAgICAgcm93ID0gdGFibGVFbC5pbnNlcnRSb3coLTEpOworICAgICAgICAgIGZv
ciAodmFyIGogPSAwOyBqIDwgdGVzdE5hbWVzLmxlbmd0aDsgaisrKSB7CisgICAgICAgICAgICBj
YW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAgICAgICAgICAgIGNh
bnZhcy53aWR0aCA9IDEzMDsKKyAgICAgICAgICAgIGNhbnZhcy5oZWlnaHQgPSA0NTsKKyAgICAg
ICAgICAgIGNhbnZhcy5pZCA9IGNvbXBvc2l0ZVR5cGVzW2ldICsgdGVzdE5hbWVzW2pdOworICAg
ICAgICAgICAgY2VsbCA9IHJvdy5pbnNlcnRDZWxsKC0xKTsKKyAgICAgICAgICAgIGNlbGwuYXBw
ZW5kQ2hpbGQoY2FudmFzKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgIH0KKyAgICAg
IGZ1bmN0aW9uIGdldENvbnRleHQoY29tcG9zaXRlSW5kZXgsIHRlc3RJbmRleCkgeworICAgICAg
ICB2YXIgaWQgPSBjb21wb3NpdGVUeXBlc1tjb21wb3NpdGVJbmRleF0gKyB0ZXN0TmFtZXNbdGVz
dEluZGV4XTsKKyAgICAgICAgdmFyIGNvbnRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChp
ZCkuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICAgICAgcmV0dXJuIGNvbnRleHQ7CisgICAgICB9Cisg
ICAgICBmdW5jdGlvbiBzZXR1cENvbnRleHQoY29udGV4dCwgYWxwaGEpIHsKKyAgICAgICAgaWYg
KGFscGhhKSB7CisgICAgICAgICAgY29udGV4dC5maWxsU3R5bGUgPSAncmdiYSgwMCwxMDAsMjU1
LDAuNSknOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgIGNvbnRleHQuZmlsbFN0eWxlID0g
J3JnYmEoMDAsMTAwLDI1NSwxKSc7CisgICAgICAgIH0gCisgICAgICAgIGNvbnRleHQuZmlsbFJl
Y3QoNSwgNSwgMTIwLCAzNSk7CisgICAgICAgIGNvbnRleHQuYmVnaW5QYXRoKCk7CisgICAgICAg
IGNvbnRleHQubW92ZVRvKDAsIDApOworICAgICAgICBjb250ZXh0LmxpbmVUbygwLCA0NSk7Cisg
ICAgICAgIGNvbnRleHQubGluZVRvKDgwLCA0NSk7CisgICAgICAgIGNvbnRleHQubGluZVRvKDgw
LCAwKTsKKyAgICAgICAgY29udGV4dC5jbGlwKCk7CisgICAgICAgIGNvbnRleHQudHJhbnNsYXRl
KDQwLCAtMTApOworICAgICAgICBjb250ZXh0LnNjYWxlKDAuOCwgMS4yKTsKKyAgICAgICAgY29u
dGV4dC5yb3RhdGUoTWF0aC5QSSAvIDgpOworICAgICAgfQorICAgICAgZnVuY3Rpb24gZG9EcmF3
KGNvbnRleHQsIGNvbXBvc2l0ZUluZGV4LCBhbHBoYSkgeworICAgICAgICBjb250ZXh0Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiA9IGNvbXBvc2l0ZVR5cGVzW2NvbXBvc2l0ZUluZGV4XTsKKyAg
ICAgICAgaWYgKGFscGhhKQorICAgICAgICAgIGNvbnRleHQuZ2xvYmFsQWxwaGEgPSAwLjU7Cisg
ICAgICAgIGltYWdlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZScpOwor
ICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShpbWFnZUVsZW1lbnQsIDAsIDApOworICAgICAgfQor
ICAgICAgZnVuY3Rpb24gZHJhdygpIHsKKyAgICAgICAgY3JlYXRlT3V0cHV0VGFibGUoKTsKKyAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb21wb3NpdGVUeXBlcy5sZW5ndGg7IGkrKykgewor
ICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGVzdE5hbWVzLmxlbmd0aDsgaisrKSB7Cisg
ICAgICAgICAgICB2YXIgY29udGV4dCA9IGdldENvbnRleHQoaSwgaik7CisgICAgICAgICAgICBz
ZXR1cENvbnRleHQoY29udGV4dCwgaiAlIDQgPiAxKTsKKyAgICAgICAgICAgIGRvRHJhdyhjb250
ZXh0LCBpLCBqICUgMik7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisgICAgPC9z
Y3JpcHQ+IAorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+IAorICAgICAgYm9keSB7IG1hcmdp
bjogNXB4OyBmb250LWZhbWlseTogYXJpYWwsdmVyZGFuYSxoZWx2ZXRpY2E7IGJhY2tncm91bmQ6
ICNmZmY7fQorICAgICAgY2FudmFzIHsgYm9yZGVyOiAxcHggc29saWQgIzk5OTsgfQorICAgICAg
dGQgeyBtYXJnaW46IDBweDsgcGFkZGluZzogMHB4OyB9CisgICAgICB0YWJsZSB7IGJvcmRlci1j
b2xsYXBzZTogY29sbGFwc2U7IH0KKyAgICAgIGltZyB7IGRpc3BsYXk6IG5vbmU7IH0KKyAgICA8
L3N0eWxlPiAKKyAgPC9oZWFkPiAKKyAgPGJvZHkgb25sb2FkPSJkcmF3KCk7Ij4gCisgICAgPGRp
dj4gCisgICAgICA8dGFibGUgaWQ9J291dHB1dHRhYmxlJz4KKyAgICAgIDwvdGFibGU+CisgICAg
PC9kaXY+IAorICAgIDxpbWcgaWQgPSAiaW1hZ2UiIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0
LAoraVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUpZQUFBQThDQUlBQUFBTDVOUTlBQUFBQVhOU1Iw
SUFyczRjNlFBQUFBbHdTRmx6QUFBTAorRXdBQUN4TUJBSnFjR0FBQUFBZDBTVTFGQjlzS0VRQUlH
MVNFTGZNQUFBQVpkRVZZZEVOdmJXMWxiblFBUTNKbFlYUmxaQ0IzYVhSbworSUVkSlRWQlhnUTRY
QUFBQWMwbEVRVlI0MnUzUlFSRUFBQVFBUVNUVHZ4UVJ2TTNzUmJqTm50RHJ5Z0tFUWlpRUNJVlFD
SVVRb1JBSworb1JBaUZFSWhGRUtFUWlpRVFvaFFDSVZRQ0JFS29SQUtJVUloRkVJaFJDaUVRaWlF
Q0lWUUNJVVFvUkFLb1JBaUZFSWhGRUtFUWlpRQorUW9oUUNJVlFDQkVLb1JEcWJnSHVGZ0czOU9v
L2p3QUFBQUJKUlU1RXJrSmdnZz09CisgICAgIj4KKyAgPC9ib2R5PiAKKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dApp
bmRleCBlYWQxNWNjMDAyZDgxMzg4Y2UyOGYxZTMzMGIwMDMzODhjMmQ3MzQxLi43NTdmZmZiMjAz
Y2JlZWMwNDYwNzM3N2FmZDQxZDFhZjdhNzYyMWE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0zNTc3LDYgKzM1Nzcs
OSBAQCBCVUdfTEVWSU4gU05PV0xFT1BBUkQgREVCVUcgOiBodHRwL3Rlc3RzL3NlY3VyaXR5L21p
eGVkQ29udGVudC9pbnNlY3VyZS1zY3JpcHQtaQogCiBCVUdfTEVWSU4gTUFDIERFQlVHIDogc3Zn
L2N1c3RvbS9vYmplY3Qtbm8tc2l6ZS1hdHRyaWJ1dGVzLnhodG1sID0gUEFTUyBJTUFHRStURVhU
CiAKKy8vIE5ldyB0ZXN0IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjY5MjAKK0JVR1dLNjY5MjAgTUFDIFdJTiA6IGZhc3QvY2FudmFzL2NhbnZhcy1jb21wb3Np
dGUtaW1hZ2UuaHRtbCA9IElNQUdFCisKIC8vIEZhaWxpbmcgYWZ0ZXIgcjk1MTg4CiBCVUdfS0VJ
U0hJIDogZWRpdGluZy9zdHlsZS9ub24taW5oZXJpdGFibGUtc3R5bGVzLmh0bWwgPSBGQUlMIFBB
U1MgVEVYVAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jYW52
YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS1leHBlY3RlZC5wbmcK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNzhjNWYzN2ZjYjliYTU2ZGEyYzNlOTQ0MzNmOGM3MGY2YjA2NTUwZApHSVQg
YmluYXJ5IHBhdGNoCmxpdGVyYWwgMTk3NDAKemNtYyh7MlVIWkB3az0kTWZNZ1pQTmtzJCUkciVY
fTEoQlJ7NUo3VjRDSUBMajFPIUQ7UkJ7ayN2ViFDJjJyNDs/CnpXUjt3aG9acWVuJi1hfms/c0Bu
OXw5eFk7RiZ3bkx0OXRqWSZ9KihXPVVud2pUfigyVWtkX2RGQVFHalVhKyhsPwp6YXsrPnxeLXA3
aTVzTEVedGwpKitMdGZ2KiVHVFAtLVd9bHhAJG17LWg+OGZeNWZ0R095fkQkUU1AV0c4dUFyY2gK
ejVSYUFSVH13ZWg7Um9pbit6QG1EUWopdSY/VWtASj5oSUNOQHA5I1c/MX1XYjtMRGVsUzVyXnJO
JDJ3OGBETCVFCnpIfUtDeSled1ZuZGw3SD81QldfQEM9JSFMR1dpbj9hcyN6QnMrT2dVWFl2Zkkj
a0owQGxzMSk0N2w8YHFlZC0/Mwp6YH05PHdYNTdRYUl2MnQmcEpJOWE+ZHMyKl5CTk5LV3ZPI0V3
b1B9UTlyJX1UajsjeV49MjZyUl82TzdxPT5ebzsKejJpRWx9Q0A3bykyamNtck1IUmZIXm1VbklM
NkM/NzNLeFBWczdXWHhEOURROWB7QnNJMDN7MDxCPCpWTz8oWGZ5CnpeSDl9Q1ZTUGVWe18mb2x7
JGtmZD5XMCFAMmMpITIrbyFJQGEjQW1PO0gpJCY8YlBvazFSRkJzMUpPb3lJeTJXPAp6aHwoNXU1
dzVDekFxQExNcSQtQGhJVH5lXlJoRzJtRy1WamRhJn14TFdgIzF9M1RGVDRsYSM7QShxRSQ/ckRY
ZzEKelRrS35fZ2F0a1YlaVFqZ3UpZ3piQ2JyJkNOQDx6PkZWak47NHQtNVVMZ1MwNlFJOEVAWGgl
blFlNVU8dFBnT31NCnpYMS1RMm0kQW9fUG5vTExAVC17VkQqbUk0TktLPVhOb3otMS1HYkhyemZi
JmFxYS0pO3tjUTJLKChRV15RKzVxKgp6P3M5dl4qQU8+LWgzck5wWXYjZCN0alcqfjZEYTxiSjg/
eGN7fVFRTEZgYmMrJCVlIVdxUHd4WEltP0lMX2llXyMKej1PXjIkXnMwPTk+eipwSTk/PUIpWVY+
K2NxJURrY3leS3JodFBRLWRHMF5eak51YWBIeFhmPko+aSYkTUpkXkVrCnojKTJgSWgjfVFjJihS
YDx2JjhqMSlUUHtyKHA9MV5VRWdsanVXLTNtLVB6UmhzaCQ2RS1AQzVMZHM8T21tdWhEYgp6SHxY
Zmg4b3xIXzJPKSFpWHg2U1ohKGY0PCFGRTRCMmlsdUlycUUhYCREaDs0LShzc2RjYzliY3QpbWFG
diU+R1YKenE/dF52cDJyTUBnJHtFRHpiRURoPVAjTDYqbHtEQz1GVWtEUjc7SylFcSROcyEmUUg0
RFdzM01DNE8rTmNKX0pjCno7N0QxVDZNPH40Y2FHaVN1UUlRTHdeNnRwTSFCQHRMKWxwN0tCQCpy
WTtsQFl4Jkk3TCNoYnN4VUdhKUJGZH5haQp6Slc4LV44WjhrRG96Vz00JVNFVCFiVHBjbiU0IVFF
JWw1eWNJZ1h8bWJrXnUyYkRrSDQmIyZpSVQ3Zk1jcyk3ZmYKekxXdjR9ISZ9MTF6dnlmdyM0blVf
eGUxUT85KHdoXjlgcnYqeDB8PVRsKlE1V0tfXzVnJUVTOFZQNmJJXyllbSs/Cno0KHY9O0x6Sk5C
ciVqJndUKmlsT2c3ej1XZSVsYzUxaVVkSXhpNHZKISN6fUlab1FCbzUwN31ycmN9OzRgJUdgZAp6
ZUhrfkFHeDIrNGReQEY1I0d2WCgtK2NqcDEwMXp4bnhILSttNmxUfVBCNGVWc2NQPlBsY3w+UCs/
ZUB8aD9fZHUKemMoLX5ZVXcjZGhAKE81cG9YXmpGNk9ZSkhFPnVRUEtTb3ZXNFhGdVl0QXBFWVo0
JFN5U0BafEM8bTheMDAmK0VOCnpDaTxFS0x6MjcrI0IjfEgpbjdqSzt5IWJTTEhYV3I+OXJSfUtl
eFBaMzk3YVNBQW05UkxYfXRsP2s8TyFgTD0oOwp6N1MpNC0yJGorMExCMDMleUhvSTk5aUshfjdj
OSVzRUJiNEA0SDJnMStZREAydUMjZj5VKFVxfFlFfUVFTnh3TVEKemk3dT5nbWpCU2RxPilBXnVv
bkNTdGR1UXYjPGJSfDtxJD0hanRMbHp0Kz9QPyQpez5rP1lrNTBTenoyUG0wVV45CnpmMVA5SlNF
TEJ5Kk51Wkh0TStfV2B5OFRfXjUlTyp3MStQNHZFfUojeH5paUlYSj9DVGY5O0taKVkpe3M0JVBP
Zgp6OSYrTmtYeGV6RGNrdEQ1SFZxe0R1IyZGWTVvSko/I2kwZVIydG54aHtXUXZ+aFRsSFl2UGxY
TCRFZ0JKTV4+NlAKelBUdEt0S1heJU5OQG07SUpHPClKOFJKJCtSRVJJfDxEU1IxTUVncnhZMWk7
QmF+PHVoZ31QUEM/ZWIoQGdKKl53CnpVeHRTYW5nblZ0PkdAQWk0ako1cHVLPjhzaXtGTEtkQn1f
UCtvb31XbGtmQlZJbHsjNnkyT2p1aiVpJHlObCRNSgp6Z1pFR35oWVUpbUVZXz93dVZ7NmZGZz10
dWhscXBvZE0mcDQ7dzFybjU8VEI0UVF7ZilXcih0NDBHeEBVT1c9UCYKekohZ0lyUF53a3VYV0sx
Q0MxUVdmcHZALVlhQz9fUzFjZVplbihHTHpRYDc5O2tWak95QXJvWT1jdks1MlRVeHV3CnpSUHsy
ZjdAbExMIzZFQjtAeytQdU0zQ2J6PkdPOFVuZHJOXmtzYDNfP3t8XnRudFRuVTc+e30pe0tNU1JA
QXk5dQp6bj8oYSU5PThKdHtuX0xZRUtZSUYkOSo5YjZ9MG8lS3t6KylAK3ZiRWk9QTI8TTA3fGJG
dDJsPXMtWGRxdHZYdngKemxeNX0pOX14X2pIYGlSbXhBYDd+Q3E2YXkxb2JYNEZPdiVAS2Y2bnkr
dipZekRNaylrT29xfSZQSzlZZTFyT3x0Cnp1QStQMERWR1Q7TnkrMClwVDVAZDxVfj9GJD5ebitC
WGBkc0I5fX1gcUFOJilLVjhzWlhNMnh+bDg3OWhjSzA8bgp6Ymt6WShEa3k8cSg3Z1pKUzRLfENE
PDgyKWtpPiVPUkp0ekdJTTczRUFebmpqUihTWFZMayVSTk5FY2FCRmVJcDcKemBodW5XVm9UVWRz
Pj5ETnI0NShCc2c+OCNPRT1+TkEwJT08eVd5MkBeRFBUKDMoYUBuUkREIyhMMEhIYWdqUFptCnpu
a2pnPiNueEshKCgmM1A8alomMGcqQipqNkIySGxLclphK0Q0bkFhc3Q+MGNHcmFXZDcxMipDaS1K
OCVwJUtEdgp6Xkl6TWFxaDd0aURifWl3JDZfPmw+SDc5TG1gT2hqRjlNdjt5WF5+KTtWVT07Q2k7
Tn1TMT5CWHdnQGJZKVR5LT8Kek1kITlTNWxSbnJjc20hTlg/QGAzaFIrS0t8RGItRnk5fn03R3F8
RF43eDlESyRMUjdaPXFIQHVCWVpqeWRHZD4tCnpVPEh3WiFIPkJXY0l8fHV3bmJKITlILWtTMnhU
QmlaSXhZZT00aV9FPUI0bE41KnBUNVZJU2QjWU1Zfl9edE91OQp6UmolKUImSldUMmFDRWZEREh6
YUllNisxT2FhOHw9UF5JK3J5cnQ0MkZfYSl4ciZkSkR7YDcyX1QwQnFva0R8QjUKej99RVZYQlZ6
KXNIYVZrOFduYjQ2TURIezdIdz58eDZKdm1fcDFoN147RVRffCFmdlpzcEA/IWY7ZH49MHhOfSQ7
Cno+R0MzYkBTQ1orWiZUfCFOJkI1MEokMVo2M1AkI2hMdzYlMXFkYVgwbEUyZ2JPMFpaOVN8cyVO
JGAzKShKMGROLQp6Qj5TM3s0WVRRVG5+bTY7amlsaDhzVjdBS29kQVJSMHtTMnVpMGJ9WkdCRVZS
XlglP2d4WF4pbW5WOHZvZEV0WTYKeiMjJj4mblZxJVhXdFhIej9XVVNAenBeViRgXlk8OUlRRkQq
JnY5KExOfWxPX00tPng9dyREeFNzOXAzRU9kZDQ3Cnp6TThPaHs+YFEzeEcqTiRpSzJpN3pwc1k8
WDZSMTZkJm5mSVBFKTl2WkpJbiFjcyhaQ250WG57ej5za2VNVSZ+RAp6WEJIRDlIZjhnNWBTen1Y
JSh1fEV3Yy1HIS16OEtue2s7Vm5pX1BBbWxRWktfQX5vXlhlS1p3Mlc9bzxzdT1MTm8KellmI1Nh
OWlPNXIqKEEqJCU1Xi1IaUgqdGQqfXM7Z3UyXkxseSpFZHY5NmVZd2wmaVhWRGJPQGY9QHo9YFIr
VkptCnpsZSNtfHJTSmlCbWozVTFqWlpRdlNHdilAOHdnMyZFNis4Q3c/WnpgV0ZgJC04RXU/clZr
UTU9Q1hwPiFjdWBXQAp6Q3FrJSo+S1V5clMxeCZ5PzQ5dn1CJlFtTEdMdHZTc1NETSVCbTxfN1dh
UDhmNV5FO2MwdTdAZDVhPmwtdVgobXgKelYhQVkqdjlZJnE3d14pe0hlXmNRa0Z7eE9gQkklXl9R
e3gzTzUofnc0YkxSPjtCMDxfNTNARmtnKzBBYjRZNVVRCnp2S0YtbzxCcDh2QiVTVzJwdX44PUt4
YEJ+SmgwciV7P2x+dWBBcHdPKComKjdpeWkhODglYmwhSnB+RHAjRlhjUQp6XnR4JkRtVWdXdCFr
cTI1Sm98cmw/bi1gR2BBKitgU2JyQTN6ZjRLV19ja3w9aS1jLXlqcVR2PjtEKztKdnh3fEcKejg5
aT88SXNXPnR1Z305dCZ5LVY1X3V6WH08RXJ3ayo9Jm9hWjhMe21edHNXTDghUWp3OS1zM2BNd2FC
Mz5jSj1ACnprb19hKXJVfEpwdWQ0MSNlbFpHYF4qeW9TT2NQbiF1eVlKUzkwMFF6aFVyPEJ2b2s2
S3Z5Rz8mbT1OMGQlbkZAcwp6cjg7V2g+I3JgR2BlbDFPT3VFQ1ooN2ZhdjhuLW15T2NRX35aa1R7
bHNBMjRTbEojT2tNSkRrYGNJKU89YXxnP24KeiFpVSZEYWBnNnwmRmBjK0o8PElMTXU+Yn13ZWcz
RExLeTBJSWMwc00oJF87T3dHRkFvc2kydV9qcFgyJFFNQ2MxCnolNXgxbilXRkElT0smV0c/c3x3
SURQc2lrOUFzY1h4dTspfFFFNnAhUTdKMy1vQmYxZE4/NkNOTTs9WTZZc1lOdAp6KTEjfFVMZzhy
PSU3PWwmNFl4R0tobHM/emxuN0g/JmVHPFllZmlqSV89TVctSip1WE5uUEducTF1M2dOel9WQkwK
enR8UT5majRtVSl0NTAzdSRWUDt0NH4zaHw7JkozS0dSc1B9dk5fKUFJPCorV0Bab2NfU290WXdj
N2pwIVVqYmNGCno8cXhxWjlLYk5XRzthTilFKXEpZVcjcD5yWFpZN1JNdXpRaiRwY2t0V1EzI0dX
TWN0K2ZkXj9oQT1PaWtNZCMtNAp6YlR4JSNfKXJWKlVkbDwqMk95SVcqI2xxJE9XaVY5TlotfUR3
YyN1RVpaVExNM1gyb3FLfG5BQ0FOYGczdTRvNEUKelAxUWBOQ1h+elpJTVVafEVXclEpJEJoPEM4
IVJQU1RfPCZhNVFpPSZjRipPaEhnI1oyS1JQe1ZVWCErSVVkK1F3CnpOPlQ8LXd9cGJ9M0JoM01R
aUcrMXJMbklLek9NIVQzTzwmfGBHU1YyUDxuQlpeWXheN01UO3A3KmMwazBjbmVSPwp6MGt+Kk5p
Sl5hUGFtdj8xUUowMzQzayRQPnF+YHBVR2dsRENINlc1eFojRzZuaEZXR3BESCo1aWljR3VUQFo5
SWcKekY9WXE/dkFsPjFOdGAydkIhclplUX1GRHxPb189KUtidGJpWEhXe0FZQDBCLTI5P1BPPXdH
aldgPD85fWM2QHtCCnomQFVgfTBtJFc9OUk2PzUmWShuISVMQTdEe25SKShVXyReQUZhKVNXQFAm
azxJdm5hVkZoQ0k1MH5SVCNhMVRaOwp6ZU5rYHtDbGE+cz83OHZGVXBJKWV8SmZZfDBXKXtwUjJt
aFhae1Y5NnV0KkBrPntXJmRFWFE/KkgxKzZAc3V5QmsKenVSazdRU0RFPy0mVCswND56VTcmT2xa
VklsdUJhVE9gKilvQlBJXyhNNzBqYUJaOG9NVVRfJjlzS3ZHantIMT5fCnojSy01aG5mel5kKmZK
OXZWIUxFTmtvUEROK25oPWJ2c0UwIz5IQzR+Skl9ZFJkTURaVW48Kz12YVVfSnloIVY1egp6Zll7
d3M/Xn4+fnpeOG5CbDNWQ3JfWTFePUxwdmZWMjNLUDx4S2V9XzAwQTcpQmxiXiQ+ITd1RnslTmR3
aT0kbkQKekY8SXM5OTAhdUNxTlFxUW02US1pR0d3ZUo/VCpVVTV0VCkjTntDMUJESUV5R24pZip6
eGB3fSVkVH0yO3BqYSZUCnpBdiFMI0pRSHIyNkRwaWtMIy1zd3BPRlAmQklVI04jS0BrSUxmIVc8
Xlh6XzRCUS1sMGllSHExQTZLSXVoWV9ndwp6YGYhN0M5KnZrZzQpenYyQTVMcD04bDF9NzIrUEkm
KHRkV3l5fG5NKigke1JuLVp+bCNrZW4yOCkjTElhI2lXbF8KejRyUDtXUzF9eztWbHRpJTRYKmtk
WjdGc0gpallZKHBmaE44RmFNak1ueXBJJjw1NWhsWDVvKGFWSHwjdmB8SE5ACnpgSHlgXyNfPyV3
eVJWa25sWENkcF55VGlLJHJUWHF0Wk19TDVAdG1VOE5+I0lCNFh5cEdMbChKOSt6cUZoKT5RZQp6
Kih2MVVfKDxlMStqdERPPl9WTDJfSH1VT1RWRkZjSCpjJVFmaXZqK1RkZWxFdyZ4M15mQSs8fGk7
JGNnM1lSKVkKeiEkLVIxYG9vKE5nKVEmciooSFpyaDRQR2JTKzc1QXQ8OUdoXjt3OU97N3JqVytV
dSFKNXRQdjB5VnN6JCgwYGNXCnpWXn1nRHY4eCMkQ2VLUWEjJHhFJXFzZV5UPWE8U3dLej4jbHk1
NHxJT3RBQ1lOJm9CTXg/aCF7bUtZPGE/TzZpdgp6PlNtZm1BMm55c2R3UXgmY3RuS3Q5SkhNRVBu
ZF85TTVhPTloMzBHdT1XcypFVFdCLWBDJkNPOE1OJFVHZCZQPEMKemE5RCF5aD45JUxLVXI5KEtO
IW5tU2g4RXYoVGtuTXZ5S3hAKlYyJXdEQC0+VDdSPFFNKXtSdnpnVG1EWkFAb2x+Cnotan1AVTZ2
Jl9GUCF7bElSYjBKfis2X04lXigyazIlY2plU0R8VWJNc3FzSzJ7bGZ+P3l5aVdOTVBuI0lJTFJG
QQp6M05nb0UpYCNNRVBja2UzYmNaRiV0SnJ2bXJFNCM4VVk/Nm9XJDktU0N4V3pZcG01e3NDekZ3
QEczVFd4IUwzaEQKeiV+TiZ+SjtfS1kmMUlPSmdXSE9EZl5idVlLLSUla0kjITVwOWNBJjs1fGR7
R1JebkgpTDwqTThjanpqbDNjb1Z8Cnp6dXxOKnNuaGlZdzQ0X3RQZVJUcTYzUjBNbmk5a1opSzR8
VTIxckM5V253VHdnUUpmR15WVTs8Sl44PyU2OSpSewp6Sj0+ejdffFExSXVIcXBCPUA9MDhieS0w
T09weWFxXlNUQ0FWUz9sdEBMNiliR3M2dmdIeX4yNUNTRiUqNmF6PyUKej0raGRvKGBkOX49LWVW
KHVZUnpnSVVXISM3ejQ/Z2loP1oydmVZJWZedEx7VDNySXEweyoxI1JjOEhCI0t3bnpHCnpVeU5R
SEgqeWpWVHduKjBDXnU7bzRIS01MNTVqTF89KTI1NjY0WmlZNShGIzdXVVYtfmtjYzcqU01HXyVF
QVZhOQp6eD4wbSkjez4weUgheDkqM2B+MVVyVHA4VWN3fUJXTz49YSgpfCQ+LXRhYlh3ajhFJmZL
fGdjITc/WEkyYlU8RUoKejxlK0Bae0dMX1RuTzBJcUF5WD1ReX42TkI/NFkmakVyTmxJRVJsaVh2
QyVoSjkpbE9NbGpKZ2g0cSoycCF2RHVnCnpIdDkhSUVVUm9IQG9YWH1ZMV5eTGJseyFvcHlGWTlU
cj1zKHpRPjdaPjZoYHsqNnxgWWRQNEo0JDlaZT1KIWEtUQp6O2kqeDtBYVBKWShyNW9MTkZyfGwo
TnRnVFBUeVA0JXxhT3xzZUZmPCkwfSR8e0ZefUZeWURWMz5SKS1OPERCJCUKejBNJXJQeEw+b0Fn
WkN6UzxzZjl1U19AeWRYMDRGU0NoRVAyKzFLMkVxRjw2ZFk4fkYhaUVkMm1nLVk0Ril4T28rCnpT
IX5BWCt6Ql91a1RYZWMkNkUqNTw7JWR5UCY/IzUrKVI3Pks1JiE4UzxHeSs/XkVULWllJXQpeTVT
Nm1aeWQtQAp6eDU7PnUmRCgzSFNlVSpIYTQlR0UqOFVgXyttKTZsOExhdGZLVHlwcWA4P2xndT56
Rno2fVFCKV54UV5gWUMlRD0KelFTNS1RPlRLcFBgV21zdW1vQnpzXzRWX3NeQFFvZmNlRmxsWmNG
e05AYG9zITlFIz9qQlheRGJ5MDJ9U3h2enYqCnp2TXxjViMtS2p9TkBiOUghUHYjaFVJKjIzQ2JN
YmJOTXF3eCp8cVpHJDJGfjVAe2VFTyo9ci1MKVJyMWVDPDEmJAp6cGwqNDRQfW8kP2FFPmVxJTdP
N09RZXolSiY1bSRFek03a0ApUSg8UXFmSyl8Uj9ldmo4R0RVQl5HaV80T0IrNWkKej9hTyQ1eGMh
VCQmX0JFO2VyV3goZ1NeZzFgIUVgUV90TkJCZWE4Rks+KXtFNShva2M+Zk8pJmdUTTNtRUJFOVJy
Cno/S05NeGNpdGZeOFkhNjdSYDhgOUgtbUFBYlBKTi0lP2c4fGJPUkVzdCpNVz9vMGkhOD0hY0Rg
VVdzUGF6NHhBSgp6dE12VHYwT3lQWFYxPjlxVVlwfkYrenRQPlRydkhTITtic2JEVWl2Y1cmRT5t
ejJmQmBUKld0ezkycFdAMyUqbTcKekJBPGI3X3lQQHh3I1VEO0ZQeyY9SE1gNSphcVMwcj9Ic0BB
VjRJWTdtQ0g8fEt8dTBMdGtZTHVvQE1gLVhQRnReCnpkdjEzNEJDdkNIUGVoUHQ2Rio4TXdfcyZU
WEpNaHhAQmFNLVNHIWtARUFxZG07X140bD9yP3cxUDNVRDN2NlI9agp6dEdkPktDTC1oQUN5Zm1m
QTw8cDNfUHVKO143NSNCdjZIRUdkVz9jWiZwOTBBeSlVV08rdjkwJDR5fjRkaWkxVE8KemooU3tC
X0NUZEFIIz51T3gpUkFYKWNqVGhrSEcyXzJ9fWY2TXUkVkh1Ry0wI2N8cyVNejI8YFpsaGJVamlh
TnJaCnpgd2luYHBJNyY/PWllTllFMWgrUk59PVA1SS1TdiNSRHlGbWdIcHw0V0JCbT51eF57U3d0
bXkhUzNheXJZZWUqIwp6ZHJQRVRSMERBcnpVTE9ARjFfb3Jqdn1xPUgwaHhjZjcmV1Rgb2FIc19v
VX0kcXMkOVl2MzwhZShqbk9LIUtYPWQKejwhX0A4aUh0dDk5RiU8aUl3eE4/IVh6Rk18Mz5kX0U7
cnloTE4wPzduYDxeZTFJOFNkbnRMNEtlMFg/V3ROMVNVCnokQ3J9ZEp4VitJPWI+JSMpQ1JQWD1E
LXAxd2RMZWYwKT04S3E7fXNhdUBvJDZmYH40MkxGMSpSWGBYfkVLc0xiQAp6Y3t6XjBoKjdmeFVL
YGY9c35eZXBHOHJhT1F3aTA4dFhSfFJIPWpEVkBNOHk1O01PM2cpIz5rb3Z0Yklzb1g9bkIKejNH
VHxzQlImSUcxdVgzRXRQMXswIyR1U1NLMzwwfHVsT2BieDBEclRAZ2ZMMyNYMEdfZjs4WmUyZzAp
SURkKGMrCnpGOTgoOXBsUUFKPn5UUykyTkIlbWt9WTY/Tj5EZSpuWlp3ak11MGNDcllKcDRqQTgr
Tko8QW5hNnZiOTNlWnBoRgp6N0Ala0I3KGhVTjxTUj1XcTxMPGVLLVVLNVFlYncyQyplPD9vU1N3
PCZ9TVNrZTNJdz5ULTtYITFlX3JebmQ8WDcKej8mZ0d9UlRlcCsqZjE5b1R8bU9ZMntFNyF7KzFB
PGpvd1A9YkUtdGpWbDhJZCZCRU0tdylSQFVuSUx7RkkhPSZtCnpnNGBVJEBDSn1DVmB2Z3xqUlA0
VkJ6Vl8/Q0Uta1Q4clByUipzPnxvZktgTU9DcklgX1pDLV81SEptZ0hNdEV4OAp6MSZNSzZIWHxJ
cFc2b3RhKmcxVEt4OUllR3o9KSZ1O1h4SG1UPEhNQGh5WHBhVkZzOEY0IzE+Zm1TJUBsUExUI2EK
ejtWbVM2e3MqYz40Kyo5TVR2P0YmTU9zYihqYDQhZ0lKOX0tRkJUYHFUP3ttVjZkVUJuXzx1TWJm
TDFmciF1bVFTCnpxajEoTmU+PmRCQVRtNHFFX1l0TT5DMnhkNDltMXpQISZ4elE7OE1qIUAxV09Y
aiZhSjdqeSZKdioyeGo0RHo+bwp6Rn5rUD5HUlVGaCpJNS05dWtrZVg7dlZ8MTVGUmo1dDJYJWx5
M0ttZXQzKFdtP1FMWGFpeW44MDMwMVQlcTAkcG8KemBqRjAyT2IpcG1IamNgbGg5TERUI35FfmIx
Q1Y0fkF+QzZURkBQSXBvMT0+U3tBOz5icGBjNHxAM3l9Sl8+MjU/CnozUW9MWHhIK0BeQkYxXnt3
PEpTU3FuU2haWksqRCt3YkN3Y1dmKzJwdEV1UXB4emhYMkE2aD02SmppaiUoTWJlfgp6TSVZXl9L
PTVqUyheUUVRdW02S3B8NnkkV2E4Xzh4MTJIRzl3ZUxQJUFhfU1gfENIayZlcDRDa247c0M7Qn4t
PjkKemNNU3VKXj9oPHFNUHBzSmEwYGxWKmdGcVMpJEVoJjdHKTZEUkl+aEY1aVVrZUdUekJZan18
bm1FdTdVT2RqNlZ1CnpjKlpWQWNLRHNmIXNlVX43QCN7QGdiRF5UdEZRM3o/TDtSO3c+IU5jVm9V
YkxsVVFqIUZ4Qkl9YmJeVXZ4aX1Kcgp6MyZ7NHN1OEVfYj99SDF8LWdhKFBaPUg4V18tQ0VETDtK
P19iKHt3R0wqQUFTYCMkMC0pWG8xRT1nK2EtcF9vJGIKenFKbUBvI2RUdj5VbnBsOG5YaElgPWJa
RVZNZmEwcllifSVFbXdpdzkwcTZtZzEzJTA2VVd1V3ErMzY8diNLdHE5Cno3UGJ2Rk1AQCNDQUpE
NiMhQnYjeVF6bn5AcEU7OXJaTWFCQj9OXyZDdkJsNH5WdzBrQm5AYFMtYGI0eVpPVjdSWgp6IXl9
VUIzMUszOWw0WksyaFIlfUR0PEJ+UmQ4RkBneUBxTU88WUc7LU14fDBhKXFEKWtTKiVtXzxlYz9x
U09Ic2IKej88QVlYazBZaW0zNDdxej0mNnUzKjg5ejVJOE50XnpCKihJKHo/KFNOQFRFTDEwPlU5
bnZYJW9SKTYtTFNhKVhQCnoke1loPXckRGp9OUdNcDs9YD5fa2RaVW5+bmBqT1lffV9qYD0rMHFG
OVV0dUdUQjdaZGotNz4hUXlafUpNOT82dgp6K3Ikb3xTcG5CVVFDM0h6YGApT3w4bkV8diMxJU5Z
YFhVayo5QF9eSW04dFJeUnh7X0dnPmJvcHc9eVFmODZtfikKelNUMTg7IU1PMX1kQih9NEVnZHAz
cD5lbWZuVVIjZHBkT0ZaZ3ArSDJ1e2RvezVPUCMtTEJicHkoeE9MZ0peNzB3CnokUCVROEBuPHxD
QXsob0VgczNWcypOZ2xQOTtoSkNOOHU1TGFpXkMmTz1Ua0hwanMjKmhCNjwzayFZTjNPZDhBegp6
XjNINzs1VFBJYTAmJDVQQiRJeGA9M2hha2ohQ1FFMClrPGVfZm9uPzkhTlc1c3AwZSlGclhNcDBi
SV9mdTEocFAKekFWfj1GPGxaN1Q5NUc2OXFNSlE1aTU+SERhOUJKSV9QK3d9NHw0X31Xd3g5Rzk1
YkE7Z0Z0aDwwZ290MTdFWCYlCnolNUpoelhBUF98ZmVzIX04WTZyNHZ8QWtyampgdiEmYWN1eyUz
dCZUPVJFcDIoZjt0QTFMXj9SKTBKTSZkR1MwPwp6Q30ySj9aKFVAZzgwZnA4ZFFtVl9GczlhVERz
bWZuZmBie3JLM1NrMkRFVGY7ZkNhfDg7N2BhbFhHcm4+dyFNTCsKellvR0xNTWF0OW1HTG1yVHN0
YjJPIU5iVThvZGReRmtXVHlNbzB4USZqcHRPb2F2Vz9QZSl9fmQrNVgqNXI5T28/CnpFO1E0PUxZ
Xm45T3ViVUB4Z3ttJHFtPXcte0okdCVRcGUzbyQ9e3laXypQaiN5cU1BJFFyajJPPVV5LTxUd281
UQp6eDQtdmktKUl0RGcqbnZsUGlPeGgmaWJOJiVMdkJRPU0kWUpQb0l2e3tjXklta0JCM0xRb2B+
Sy1kI1p3MkFSPEoKejB5MUdATkhwcisjRVd4ODNRUjAtc1ZHNWNob2RfUFRoenlGIXJ2cTEyPz1x
ZkV9fD4+SG9AcXcrVllFPGRwVjRVCnpad2hLVCRDSHpoNUJLUWJxfTJRMzUldENPa3IhNSZBdk14
Iy1RdVJyb34qI01aZUAobVpeWUlZRjF4O1Z5YCZiSAp6KiF7RCt6PzFJUmoyKWxReGRTdVlKJk9p
QWh1M3x2JlpveiM2YEFeY2B8XzUtI0xpb3RPZnFYLWlGQEhpMX5aUTcKel5RR20lUE87TFo2dH1F
dUs9dTBJKkttRnRFIV9CNGt7P2tjTFk4eiRxR1ZJTDc4WFQzeUgzTnNmS3puZ0V+QHxRCnpQdUV8
aU9OUElnOWxzfFBAMl92KUReZnR2dDFrJGROZl4pbHMtI045P3wrfEkpMmNULUJpSlFAR21NYXY5
VDZhagp6JjkpYGNSaldmWHtHdjslR1JyOzhzeSp4a1NAMCEpJjZiYDMqJG1iQlYhaWRnMSRkOyop
TTJ+eTVXKHVwYClHdlMKelRKa3NqUkxNRVRqUjlWTms3NEh2Jj9MeVMtfHUtI1pRdHUkP0VhMHYo
SGUwZHFgbEBPdnhrIVREfUF7U2FZOHMwCnpFXmVoRT16TXZmbnY+V0REdjB+OG5fZzhIZmg/TnJp
P0N+fVp6Y0FQcz9FUCpkZ09RQz9UOzdXLWIlTCVQI2FyVwp6e2wwNFg5TnNRPD5pdEY1aDxvaSk1
PylhVXlSV2oqbkMzVSs9RzJHYHNjWGBxez0+MXMwX05TV0hHWTFtTEMoRz8KenBoRGNFWHx4OE0p
YlMlZHp5eTM3cnhMUnFlLWJjfExwNWVPO1p4MSNUTzlFRUBOdnl7PzRpblIqdnNnV3dYaVlvCnpX
SSpubzJqdVFLI2tsYWtwWm5XLTs5UW9uUFJSK2dpRG8hdHMwfWN6V0Z1WnojPC1AQG9wPExaJjI8
I197Z3Vvbwp6bnNfTHBJX3MkZ1BBRT5wSCp2QGJYb2Y7N2tJeH1oSm5OaXhTaXlKR1V1V2RebmFA
Yl9kT1ckcytyMmdRWF48dj4KemlHUzZpWk1MRzxYTj8qcHZhUypDVUQ8Ozt3Nz1LZTchazwxcSQ2
N0s9JUgjeDVZaTkpPWpSNFZVYkoqRDNsVDlLCnomNkBoJSheJE4yYEh0c2lTRiotIzIzTE1gQjdQ
QTJxdCNPIXsraXMzcjxwZUNIQ2FwRk9DWmxfezhYSj0tNzl8Zgp6PGcmRnwmV0RlSTZ2YVBPPVVm
NjhGSkQmcnN4e0JLZzdaVClgSWolWT94QVgrITw2MHlOYjV7JCFfPXlwSU9sYn4KejF+eXBwaHsw
d3ZldEBAN2txd2VwSUB4dyk2R01JRCpUJXJXR3R6VTl5M0ZIdFVTSDZ2YmdYX0JKVmJQaGxoXz1L
Cno0VmctcG1sVksoeF5nbyk1fit7KChTbSFpSEJtRWFXZl9aMkEwKCgtczZZSElYJHRtKSs7UGg0
O312VSoyUSN+SAp6a09pTzVDcExmQ2FMbVJra2xJNChpLTVGRUckRFNhLWAmZiFxKVFxMyFGMUBV
QitiJUV4Pn55UF8oP2E8KzBjTVIKenVSWUlWeyg0c0dkaDd9MVN5cHxYO1AwdFJhS1FgezhqWFZi
Ykkqbm1tLVBpeUVfKjdzXmJ8aH15MWR5SyhgeXNFCnohLWhOdURhKTdSPHRGMEx3b08ydUZzRiRw
OEpVT2BibmFZMSEqQi17JHoyej1BY2goZ0pVS3xGZ0pkVVpMNHNQMAp6MCpOYl97KUVpc2FFK3lO
JWV6VkhzdmstTEQ5KUdrIWFwIWwtTnZ+VXtQdX4mU2VSUnVeJFI9YHF5PSktK21DbyQKemNgOSZK
YlkzPytzQTQhczBRNV9hR3w0fiZJQj9oUGdDVXY7QEBuQlM2blBOQEMhPHJwO3V4OztWZCFkezVp
QWpeCnp2PDlFS0NGc1R6cyQ7WWYtIyl3bSY3N3A2V3A5VUlgVzU4PHUkMVNzM2x6dWpidE5iM1Z2
eXJBZHhpc2BEeGF3Vgp6JEZ6NVlBSU9ieCN0U0luKWRwV3dlK1M1bDBlUzFYPmF8RmBgc2szbm0+
KklQenZfb1N2XmBrTWU4RnRJb0N9SGYKenRtNFNObkUmKW8/IXcyM1NkeStrUyZJNE4rZGhOOHxI
R1d+e355SXNUUG9rXypMbTxaKFBYek9EXl9HYXpgOVVACnpGPiY4IWYyc05IbH5IOFBwMCkzOD5D
ZjlOUVo5QT5VXlomPWwqWlJ4P0MrQDZuUj99SlooMShSZSt2OUtaWW5TXgp6ZjBheV87Kkh2VCpH
bFk4PiVuSyFwWU4ha0wpa1Z+ZVk0dWVGSz1fNytqYVVJUnZCJnhuaHRPKTV6JHExZWpDWkkKeigh
Sk5Pc2lXcyhQPFBxaURkfm12WWRYWT9eNSljai1fRE0zTXVFYmhQO1NNSUlSNUg5dmlqaDdrXnl1
a0JVUm16Cnp7amgpR18/Z1UldVdCZWt5TUUybGlYUGBNJjhkeH0/Nl9NYygrWm9IJW48I0lSTClM
KWY8eTwkSmBzRDNiWTBHTQp6eTBpKW5oTkJkbCFfZXF3Tl9+VTJIeGtGc0FPdj9lbFZ7JkFZPlR7
PGk/Nyt2bF5QSCh3QzI4fFZVamFed2VCTU4KellYNUloNkdTb2szZXkwamVrVjsoVXc5VnwlVmtg
SE5xWmghJCsoMkQ7cyFFOVlhKS1xdER7OUM+Z0FUXy1NRSpICnpLYmZsQmFtdk9rYWc4Yyk5TFVf
Yi0tdmFaKiVWY0oqKkxGfl9UWSFtUW14KiM3YUBSPzJuTGh7OHJgUT8oMzI+UAp6byhsI01JeEd0
LSZtOWM0PiVGQil7P3JTbzM3eGhzMENKXjdJXnJEMEFlI2koUCtOUCtxdj5hSVpfP2lTY1cwaGAK
eiR1VE8qMlR8b0lzLUYyaD9SdERKNX5rWlZ3eSQhPCEzO0I5YGdDSEpqJldjV0d1KU9TTEJzYDgr
MFBmYTJUUTlDCnpmbWBEeGQjMG0zPVU2TG01S1dgNl9PTEU2bkd9ZlkqJUBkaCU7TCQ5TTlAKiV3
P0FITjR0JUFSOEdoNUdCWGd0agp6dUVtMiooalglK04xLVZMJVZQWXJnMmJLIzIrRXU8bmZRSDc5
eT9WZjlTN3l0Z1NgOGFaIUN+KXZwUjg9XlhFVyoKekl8WkJAWihWI0VYSUk0KVg5Ul5tYzElMipe
ZHZnY1hgKm5XVVZheHpUS0E1c242V3Q3KFBLTXQ5T3dRZTNjdl55CnpiX1dfek4tbTFfXzBKdl9I
bWhEaiZuc1chPm9Ra0RxZEIrODVMJiopZD1zQVAjT01UencxeWFNLVZhVE0oJEpkPQp6ej93MXJI
eStgWF96OD1VQTAtd1BeNnJ7LV9TWjw1TDc+QiNoNnQlcjghQTcyK2BHfWJtZGAxfHR1Ukk9Qkx2
RmkKel5IcDZXMThFQTlIfWtSIUhUP1N1bF8jYjgyM0ojXjxQcHstQU5aaXk3JEJnbjs0aHM3Qk5B
QllrfnhtUitzR0lPCnptQGBQMWdIKFpPQk44TnB5ejVwM0FVdz9FMGghR2ZoM000YDVIR1JSVWBB
Y2gxdnlqU3BqXzM3P1pTVjlPamhCOAp6OU1JRmdoZXVmMjFnWEpYYSRFfEQ/bnxiQU0/JHpQSzh7
RFE/UEFgKCNMfVkzSHZUM2VsZGBXXzYqfnI/IyNOaV8Kel9nN0NNQFBhK3ljPTdQVExRSUZjPngq
NVc1I1kyS1o5TklWJCoteHphcn1Ze0NtPEkjVl5sTTZTbiNaNDNVND9lCnpQWCohZ19tfU1wI2cr
fW1BVTE9KWw3MEV7VEZyb2VIWVYmZF9rWCNDeF9oaH5NcGdXWSFiWE9UTyR8U3VVa2R9bAp6NDM1
SyhQdlM3OEBRPE59RG5sM3R5ITQzYl5Vc2hCPFheQWx2IWFQc1hAbHxQN1g+RVhuJD0jQ0tKejA0
aGohNSUKenNFPj9oU1QwO1pUNyEpcmZDdlpDOStPMGB6Kmh0O0Q2S1pzJFJIMVZJPWtRcDBJcD5h
b3Q9SWhxYCkpKUVGMXpSCnpkd1pnJFZWNCRJSnolaThIUW13eUNFRiZEaXtuNjwqX0opWSlaUE5w
dzdlQUVOQTtKSzVxMUx3UUhlTGshckEoQgp6KndjPmclZzRfNTxeNCN4bntxbSZEJmg8VHJLb2BW
PDZyNkZ8NnE4U0l5Ti1TaGBoUEQlRlhnR2o+VE1vJlBQb0MKenZEOUFOTFV0dyFJWTN7I2EmN21t
USh9SGFodH1IKnBIMD1OWDU+dFU4V3U+K0V1U1d2R2lYfWNDMH5qO0goITNjCnpKJG01PXNQZ2t+
dXctcXJVdC1UJEhrK00lQFYpe0ZZaygoRXItSSZHYVlKb3tucUdBWUF1O3I9cUZuaXpUb2xacAp6
PVh7XnphdnU9dnE4N3JRYEYqQjI1eGFvNUAhdVNhJUlLX0JjfEsoekV9MEdoKXRiO098OEVuUW55
Nko3K0M/eHsKem5NNVFIRmMobUEzTS1hJF9HPjtZdX1MM1Q+ZGwxKlBESG50YCY9QENMTShrZFlS
dTEkTXN8aWNNQHYtNTAlaTVnCnpwMEFqX0xfWWo+e3RlcioxajxCZHFaKFFGT157NEVmXzVWPVNL
dWh2P30qVSU7Kyk8bTlFcmswTUFmdkU/ZG5gOwp6JVN6NHNHYEkxU21CLV5gKkpwJTYqdSNCMENu
bX1FZFJHZUVzOzJBTXN7KWFoS2pvOTE2QVdJQG18MVdLUylLPGoKeiNhcXQ0MkpnUUk4OFledklA
JGV1elU7RWh3RmJTZ3VHLXNwcnxLeDRKO0R4RzBmWUYyNDc7TFAzXj0xbHtALT5MCnpOdUJtNCZJ
MXgqVzktdktyWjA+S0pPfHZQOyR7cjlKRzArPUI/c2AkWj94ZyV6V2VmaCVLbHNGbDtTWTUlUExI
Pgp6PVgrS0laTklCQHt4fDsobSZfU3E5RW41OSExQ1BoeCE7VjtIZllqZnQ5XlVFWngyVHVDTTdk
ey03JFNtQWV0Zm8KelZ6bSFtJChPWTx5VU0tTmBNfip3cWMrOTglUlFgIXdsJTVXSWI8Nns5NnN8
MTY2KnVKdEhfbGtsX1RWQXtOTmN5Cnp3S3E8Qzg9K09FZiNLMWNrTmpQKGRTM1R6dj0yKzI5TzNw
TWU7ci1wSnRZdUxhYkpAPnpoUmhoeyVhNHZaXmB9Kgp6aVFrcWYhMFZ4cFEoMzNCUCZVYFVFSWs/
Q1pJNSVtdyhVczk/RmJONjJ3N3BBIURNIVE5R19YYXFvWiV7X0A0I3sKenRBS2hUSFVLejQ1U3BH
K0lyYWU9SEhzZlZMNzw1RHE0X2lFIXA9QXZAajVFLTQ0M1UkWiUzWXlkckdvZFpeXjI2CnpfVUQp
S19vT2Z1I3BAKklpQ1c4VGF+PEN3MV9hIShJZFp7fTlwSTR2eDg9Z05mQXV5MEpzZD9wX3cxRUFY
UVFMUQp6Q0V4cCNUZHQobVZgVEtkSlMqRGpKWFNeeTQ9PSkkJGVGQUxXcU9eZm5sSU1Bbzg0PVU/
eUQ3Nl4rM2hRZWtOQHAKenNRSiFOPlpDYGRyWTJlSiVxSHFfd2QyWH4oT080VHBfQjgkUnpAZHgo
KXFZOHNuMCg7biYjWSlXVkwmMSU7SUUkCnpMcmc0VWtsdkpse19GOXVsWGA7diEtXkZ0Vj5GRyNN
KFN9clZIRGw2S2R7aktFSnhmbEZuRHJIV0F0VkdrciorXwp6JTwjQkJmVUFgM1c+TVJ8MXVQUDhw
UyNnd1JVVnl6an1zTGdGczgjcCRxbk0hKEJ8VGB1eSlNJGl4byVVe3VucCMKekx6VkMkeHAqPFdg
YXsrQUkkeXE7Pk87Kk9RNnZ9Q1ZmMjYlV1lhI3A+anxHS0dGOXl5ZUhTbU1lTk9DfD5+Zzt7Cnpe
UEVBcTxeR1Y4Kyh0dnIyKjwlZypnWFFEZUB7ZGNGcWxNM057OyZTUUhUPk1lTkdndU52fnI/UWJL
UG8kKUs3cwp6IWU8e1Q9fWAmbE1Gc31uZTQ/PTJgNzZeJSVfa2tXNzJ1K1NHPGlhcDM8PzIkTkNZ
KTdrWXFkNlg1YVozNittaVUKekklUFoxMVR0UnZZYVhiNmVzayt0e0pDZSF7P3lfR0gpRjttVWN4
I2xuZDtCYig0QSQqQWVvUzNOOCQoJHQ7PjY9Cno9ciFaUEBNU1ZASylMYCs7KChCKFZwfGQ1YlFO
bDc9THV6MEp+elV3eTdWbGJ5fWRXXkR4TEBJQDN0VjB7JDJXPwp6SyVrXztscUI3LUJUKWhlXkhO
N01gdkBVUmBxNnZxJmF0K3QodUsjZE9kPX1zP1M+TzFVfVlaemN3PSpqRDJPOTkKeip9VU8ybjUr
byswfkw1LXVtbEE4WlUmT0spbjBadkh0THRDPHA9eU13PnBNbnpEU1dOU3Ujb2RFS3JEOUUqWE8/
Cno5YmxtY0Z2ZGclc3tJQ3d8M0ZpX2c7b0YzZz03Rlp0PG9tS00tMmRTc2BOKEVnNWpeUlBwUG81
JTVZTXYwRihrVwp6d3xGXmxAeGYkeWxMbyt+T1FLQ0FxUG1OODc9Q0ZiRmN2dWRBV35mNUc0VDtz
cDtzdyowVSl5KXRgd3JJO1p1fGUKejVjWjgreWghe0EpfEhYPVozPSk/KSRZTW1HWj1pV0RWRzh0
aVNqSChSYCYjbzBHOW5qbF9CSD00MkU4USktWDV6CnpFQjcqJHlQQG0wRURWI0ojfHspbGteMGZk
TDN8Jlc+VlgtazNaTiolJGN3UX5NKlY/TC1BK2pPaHlHS15QaGhGbAp6ekleUUBxNiZVNFM2aEkz
b3Y9MSRlaz98cGRAc2NjU1NwJlQ7akJZS0V9YlhVajdmX1hOSnNZZlR1bD48VHR6LU8KekdlUlN8
ej48PCltc0Y8d3J0V0FZXzMwNCVEWXhDPmhwKnh1Q3BPQ3wpRkp+SCZ0ckBGRVNhPndVJEQkeWoh
dS1oCnpBV1ArM0BYbXdeeFZpc0VVRU9ndylgQX44ez99cX5lQ1dGcUh0TndoLWgjRW4wKzVJY14j
Rk49ZHFRO202TTBwRQp6PDtvVUJhTGpjRHpJaHpFS05qWnN6cTJMJmNYcFJJbkBqSGpPbHlzNT04
RGEqOD1TR2AmVz48VDxIRzMxI2pVV2QKemt7N25ONUZrZTBPdCk7TGZHJmM4bG8lflpAZTRXMms5
VT0xekt5KW1ldCljRlltcndwX3tlZm9sc0RxIypPKXxYCnp7WmBYJmhgR0F7YH1xU2drUG0xfGFQ
X2Q7fDdCa2gtR09lUl9aYWhpWmpPSG42S3tVQT9BNT9ASWZoVCF1ey1wQwp6V09lfXpvWGFwbnQp
PWskU0BjUnBIOWltWGYlYX1VN1NPYW0oPDkxVlBCVFpWVndDQi1GUyNuMDAlcEc0dCV+IXgKekBq
Kz5aWGItNTtmT3NwTUotQ2hVRj4zZ2I9eCM9YC1LeUN4KTZ1Pz5ATClqSzUwe19OS3RVMipGdj1I
X0l2fWQ9Cno9PSModTtUSF9IdVcxTVNWb2dYamAyYERaNXBufUx5U0hAZi1sVSQ2IyZfJDM3PVo8
TSk5M2w3ODQpV3pCWE9AeAp6ZjVKbG9nQFl8YD1SUGhjYXR2Ozllbm5RczBPTzFwN3F7PElaT15J
ISl7QDc8cCtGRykzUVdUcjw9YmdTOV89K34KenFiWGlGXzhoeS1hPDdCaWhBdnM0Q2NIZDReeGdT
YVFZTTRBdiVfcytGSmNZbFlTbE5hZWNjN1IwOHVuNEAqQnswCnpVRyR4LThge0Y/cEc9NktYMVZB
Rj1NK21salZ1R0lKcldJciFaKiRmam4zI2FmI18zaVNNOzdxQCghOzJ5akpsXwp6ZG4jSkUrSXYq
MSFZKnsySDNvUCE8OzgkWDNZP2x8YSolVDg0fVNmbUhqKWo4eGtkYEs1anRzUmVKdFlzQ0NXc0QK
eilRKmdWMTYmPEpqP288USRlbjt0NC17JTg/YEx9NXl9LSlVdFAxPTcldXpFIV41V1VeMGw/N2lR
ITE1e000Nyp2CnpIYmopLUE/RilSQCV5TEFQWGBtJSo5QU1OY0hCZiVDMUtqUSpWbGEmTkApK3R1
OWEpP00+eTBBS1N9a3pGV0pZRQp6U2tUNTtJbHElPT1HMVBpP3FEVyt5NzNjJERCMlNqPVojYDI9
fF5EJD03TDtnNDZZcUFDY2VwQk40RyU5bWIpVn0Kejh9XlFKY0IpRHtrUk56OVl3RkJfejJ7fFJF
amFzM3lIaUJLaXw7TyV4QEQ+RXpocnB5PlRqKDkrTT9waGNUNl5DCnpEeUt+YWpUdTFnJHAyYShU
fSpZaEF9fEJqNkZvZlIkcTtfKXVHNFExWWEhKVhQd3cmSndUfWFVP3EleUhxMUFUTgp6Y2lwcit3
c2JEeXMqZUNIQ0pDZWxXI3FpVkxCbHY3czJJaU9zamhKPjJwJUU5MCpUd0NzQ2oofnU1MyZyKUln
MHAKenBLWkE7dWFKfVA2Tn58MzhuPit6JWgzM05DJk8ySUB3alp4Z2Rgclp7bGYtbDBxcnJwOEd+
YUhyMDBYTTBGeUN8CnpfPjFfSCZHTXNOWD5aNGZRZnx0NzE/eTt9P0BxYHsmMWoxbk1MMGM1bCsq
NmIpdmdnaW97UHojPXx8VkcxTDY7eQp6K2V9KEFTU0x9e3lYKlRMM0J4YiZjaXlxJmhJTnk/RW8/
VF52JFVLNWE2ZEdEPVpKZ0BfWEdUKzZAV1BZK2dWc0kKemk0WF5zWEVRQFJ3bVBsbF4jKHFrcGIh
bG1PcFRYOFRNMCpQZUBreFl7OGQ9NlBNSWdkWD0kcF4+QzFVNWk5R2tACnpAPXY+LWlteTRhZDVC
TmhycFhqeSg+XkJ1VCViNkhnRWk2aFI+SHNXZTs5PkBCJjBJPCVyaW83cGYjVlB0WnAhKgp6NnVC
VHQ0Z344QVRBSlBCVjR6bU8jP0paWTNaVS0ldH1VbnR6aHV6KVQ4PShKeHlIPUgkUXlLeXlyZHg8
WHdAQVUKelFAKExpRHVpKzY+Jlp3cDFmUWtud050RHRXYCZYSVkmdjhOPlBucUhUVC1vbEEoZ19P
eWErMitFVHh7ZyZtKWcyCnp7I1pTdzdqWXFCS3BLTEE2dm5VYUBqdWYme0EtWGBBWCprSDU2Ql9f
SDY0bik+QDVHYHtGakVDMGJ1OTl0ODVlbgp6fDcrbDw0e3NafTQ5bk5xOzRpM08pbHFfNTtWPWhp
UHxZTzMrenZvQzF9P3w3VmJlYmc0OEViQnJGViZXQ1k/VE4KelRtaFVQTVJvKUZOQ3NmOUB4fk8p
NCg1RlAwNlBqS2k+VXptOV4zd0RteEJlOz4qbDBedyh+fDBFV1FPV2Y8VWF8CnpVMnVuSyVoMmYh
KnI1fl5RRkdpNkBRLXU9dypPLXNvdz99eWZXT1Nue3RtPSZIJG05I2NffCVxMDY7RHN6OV8qTAp6
STN3K197TEAxTV5sOThibHdtOHkxRTdKVTc7eDReJih7T0BLbElQaShBclopTXV0YTtHUFEmdzV5
PWF3N1M7P3UKenI8JSl7WUpnI04kRlFuMHJMTll7XkFwa30mJV9fIz9yKXQ1UXsmV1MzJm9kU3pu
NnZ4cG09T2QyWV5MJiltMHt4CnpHQSQ1YHt3UDFkPT5PbFNNNDdnS19XZFdJNnxEXyhgZnByVSpl
MDlBS3NjQXxhODszPUZqS0Qwe0V+JT9fSyRHZAp6ejBkZiV1OztwamA/YGtaTTlvayhMVGU5Y14j
NTR7WEhSQiRxUD9ZWGE1PmV7TiRjdzBvUyF3UkY5P2stUHk9SEgKeiZBdk9WZEZDTnopR19LVTNp
O3AxTWpIUHJuMUJBajBUfUlER0pueVpIUWkkfUghbEE+bSghZ3VZXkN5YXxJO2VDCnpAdCleKSNQ
V1c1YktsKzNZWkE7N29UY1RhQlpZcDtIMHU+cTlublRAJUFMM05HN0Uzc0V9K2B0TlVyZ2s1SDsp
ZQp6LUVmSGgmWjJkY1FnIXFxc200PylOelZjQ3Z7TTNneE1fSjR6bWtGYjx2fmJOVmdMUEc5YDE8
WmUpOz5KbEdzMTUKekVSKk5TO05POyUlXz1lV3NvJUQpezN6bEA9RWZ6XzxDQ0xoeSFFezd5VSo4
X3dAUWMtZHY2JnNWbDY3fkZXV2cwCnprKEVeP2t+eGt4KiNLT2M5Z0Q+THhkUTQrOHJ8V1YqOFBg
aVBRUUN0JihybENDUCRnQXZJV30waV5AdExYOTchPAp6NUZSPTBfTlNxPEAoeDlubldJVXY+bzxq
ITB2aTxmP3IzVHomeiFrOzU0RH5fVTduPF9GcDg3Si1TYThpSF5PTmMKelVBUDl6Plh+bm83QSpD
Rk9RMCkxRC1eVlR7Zzg3Z2RqRjdjSitIKnJrbXs7MkA5KmAxKW4zd0Azel8yJjI9KUE4CnpRcz5r
M0khby1FQ0ZpSCFTQCtSaD4zWHYxblh9OyE1Vzdje2w7bjl2aUFRdmFqUGZhQno/WHVxSUpYfGs5
MzVwbQp6Vm5jemJKekFDUDQ9cGxIZG5KfChkMmdCfCt5ZTVKT3t+OUtyKVE0ZkVmWG03a3xrPjYl
ZiM4T25fbntQWV88PXkKekh1MGx9U28yPjFIMWtoalpka0JYX1o9P1g3ZCgmdl8oeG9FV1Zkd3I/
ZmdRfD8kJGFza2RYKyZgcHVVZjJ9aTZJCnptQjxYQVhSb35CQUNCQ2ZCK2Nwbkt5YkYlUFRraU1B
LWNFalFkS2FRJHRDJHokMUlPKSMoIXk2XlZeZmtHJiVlVQp6PHZjdWxfbCl2JXA5fnxLZlROfns/
QyMjNFg4PTtnWGlLXkg9RXUtcmx1N1Y+RE9ZSVJgfllacyE7IXpIaXxWSWcKelU7ZGhPQFN7QUJa
OylJWiViI3o1ajdJISVZWWJpaURMcTRnVENCZmB7dyR5MyF8YGtUZFJYUiFYIylEfV92fEE8Cnot
QCRXYFc2SyZGZUE+fEgqTld2PiE/Vn1Wayp1S3gpZ2k2IVJnRSEodEhSZ0YkQ1Y9SzR3fDREMHBn
KzFweWRwPgp6Xz5URjw3QyFHO00odkA9SW1pPlRXPkg0e2drNHNgYz16KGRWNyVmckNyeG55eUMh
Kms+anNPN29PfTBzalEkRlMKejkkaDhURXFqXkRscCU3aUVpQUl+RzRYLTlLNn0oRDlRRT41M141
dyFEfilyZyNmYDh+MFFEZ2g4d3AwQVJVX0ElCnpSM1dQPHsyRWIwQD0yZzF1e0h8cDZUY2IpLWdn
ZV9gbk08YCh2I24oJU9mUlM2aU9FI0JONSR9UChsRCZRY2h1WAp6MW18QDlxazBsYkdyMk5nd2M/
MUg0e1FNdTckWihpO058aT1oXlZCbkJDKUJUV3BLNCY2ZTx9WmE5VFg7VUUteTYKej1PWXF2RjVs
RDchQ0RHVyMwNEpWdys1aD5pVE5VMy1ld1RvWWsrPkFfTSgjS3hZXipWYDdlMTdAcDhOTkBiNW5D
CnpGdUs4Uit6PCEydWA0UVJoYF5pfWZFUmB6SDc2TmhSNWpzQ2tBfEpIZVQ7Qj8meV4obzAhXnFG
MGFAKz5he1ZKWAp6JSRVOXE4WEU5alNgOSM+TihEYDZfP0UwZXlveFZmZ3NzOXJDeiY/Yl4jLX1Q
N3B0ez12U31uUlleQGVoMXtxbjwKej1HbWErWmIpdG1qKXQ0Z0h4Z3IqUCEme2okfEdQYkZtSENQ
Zm5CfHkwUEFOPSlONzh3ZGxjLTRJaSt5eDhIXmRtCnpMM3B7Wj5EPTBHMDwxaHNnSyE2YktQYkNg
LW5raVUwZXlQbDcrYmxLY1Q8eEo8RjtZfkwhZ09ed0JTTz9SQ1pEWAp6U09MIUBZNWxgK3I5aklj
LU5EIy14ezdhN2FIfjFlPT1AO0okK2EyTXhSVF4yaj5PKEUhcithVChkKkk2UT1vczYKejs3NEo3
TyRyeV9UcnU4V3o3YWBfND1GSnBLN1pgTUs4TFUlMDZtSXVLaVBrUjhUWiZVbml9RilAaSNDfHxK
NWNkCnpSR2h9ezEjcTEkXmVlQyFCRVRoXlojKU9pOyh1JjFMdD5pREQmUXV3fEhzdUZ1MzUlMjct
Pz5+SVhnQXtSclJfMwp6I3NXd3NWWXU8Nl9MKVd7PW0jSGdyNHB2TjgjfG12IWZnLUNFTzBOd1V3
YVExV1NMd217WGNZQ3JBaWdyS0txOHQKenVZOTJHUyhqJlhxKVRSMmtoYHtUMXA0RyZIPW4yUT5O
TE5meipIdVp3YGxLRXRBe0RaTmE4dWVBYyopbXs5SiYoCnoqcUwhbD9tS1V8Nz5pdSM1Y2p1O0RP
KyF2Nmo0ZEBoVlB1cFVBXihsVHstKUVtN1RYUyszJmxUMTYlcVJ0aUVQYwp6ZWsrd3NiKiFmTyNC
QHczZjNfNlRDcU12MEZ+SGtZM2dWc1ZQWWI3PFdJeip1YipyJTJhWEhIbEVXTzgjWnJ2QmgKekw3
TiteNmBGLUp5PH4rKlJeZyN2KipyVUF2UHZZelpsV0ljUG5+UXd0KUFFK2ZvQ1B1WUtGJV8rMitT
OGprIWJFCno8VnhAczk7LTg1LW80WjZgTUFKYShIOH5TJThTVyZCMXcxTj1PV1pVZm9BSHtuOGxA
Pj5IZ1FJR19+KDdxR19OWgp6bmlPNFZ2UzhMck03JEdxKzs3aCZtakhKVlkxTSplPWVuLXdtOUI4
VEsxUDx4OHpeTmA0bXlAfiR0N0RvYCQ3PVgKemd+TmBRbmohKzwoTlg2LXdLWWVqYG1UWF8jUXlT
UHtickNxVWFDNldTezQ4ZmZxVVdRMUZAcnIlVEpkaDVedCRjCnoqMFBNezl3PUAyWCRhcWhvbXUz
XiVhdU54V05zWmhtUU13SFhkXlowTmAhelBpe3hMTTlnYV9HcXI3ZEEkZDR7awp6cVBqTyQ9WmA9
Qms4WklyM0VTWHokQyhiU1o0R31RY2puKmlnVXpSQFQjTWokZFk7UHo2e2o4amJRMTRRWSFyZUcK
emBnbEFuYTw7TnpOK09KYnpRcFB6PEFaeXxLK0pYLWRDRzlpc0liWmk+c09UdXkyJHhhO0B0KlEh
THh+K0VkZD5uCnombkVHaDttVSNoXnZQYEg9aXZIKntCKn1oc192IVpKPEhHaVgmYDFGS0tgfTR1
byVPP183byY4KEwofWE0JmZCNQp6ZjMmODtzPzxqS0ZzaXcrWTVQKjskQGp6TWcwcm59ayR5Wmkz
PFNwfUNHflE9aH1ZN0s2QWBtTzQxeDYhZExVNlQKelhhPktRai09TChrO1JIVWBGND1AMU82cTE7
REhqMEg8PXxLPUFfbDwxMElmSjd9Rm1YdDdPVzV7NDthe3Y+a0d4Cno4TUtENmsxMmdVU3Q8d00q
JFVeNz4rXjY/NVBKTzgjJGxLYzkrZksken5jQnUhcEsmKUZDYm1XISVofHJKNk0lQQp6ITI3Y19u
SDI8MHI7bUZXOzJ5NlVkVG1GJXpZWVlvZ3x7JGhUemRDIUwkVjwmUCpyS2FYQmhWNT4kS3UxXn5M
ZDEKem52JVgyYnpCKERpZndadCYySk4lalVAb3FpLU56Z2YmK0hie3xYQWxHJW42bUYzNC1EdFlK
OHs5ZDRlOG5tN016CnoqPyRwZihkcCs7RXtAayFhbD5ifWNCPH5qcCEwKH1qcVc1SStZR24xd3Rm
eCNId1Z+I0U/K3pkVnFeTUM+ZTh4ZQp6c1JmPDcoJFZkTUdKcS1MKj02SGhIRmZCIyU8LT92U0Jm
filGNiU+ZzBPemFSU0VCaTsxYU98Y016TyQ/SWJpZUoKemZBTTZGKmlPPSR8NDA3VE1zOHhJWV4o
R0VTNyljbXpoZFpyOEZBbFF8S0V0WG4wXnBvbVM3bUNkJH5XO3A9STtwCnphRzlNWU8zWkFpKDYz
LX10JkhsK0UwMXAqVFU5MSZqeVlMb01xfUUpYW10OCVVITBJPGcxN014PVBPSHsyQ3RfIQp6WX5W
eV5qYTdTWnFwcDszPl48KWteIXc4Z2t+Pm5jIShufD9fdzNQMFBZQnJsRilwbSRgX2F5K2cpZSR1
MkZRTlIKenIzeThCejEtVDVLOypoLWZ4XzQmMkN3RUQwJk5AP3hzRCZxKGNle0x7X35fbVdXJSlm
dUN9anRtNyY0MnF+MjxHCnpVRD9pKHhoJWlgLWM2eXw1QSRmP2M+elJENCFMJSMpTT5IV2VPfmx0
eGxXNVlDZ3IofVlHbjhxRG5abXZRXjtUUwp6KF5QWCQ3ZHlQc3hsaDhoXmVucnU4eW9PeksoemxC
bkQodGUlY09LJXkxNC1PK3VhTXN6WmhNJChfQjA5YFZjWkcKeihYNj1GMWtDc3hYZypXZkhxYXcq
VjRPQlJDN2grbDFOdExnZnRlbyVqRkFObD1ZSmBra3NMaiswc2duK1BMUXdJCnpxb3ZCaW9UVFJx
c019eDdPby1kPldaeFM7ZWheMDswWFoxVlcrV3VIb2xaQyRvPSlVbjckWUdrbThTa2hvNXdPfgp6
KzIyM1FUNlMtJSM7JF9YeGEtb25KWVg4byR0ZzY+Nm5FQ3sjaG5iTWUyVHs3Iz9oWTxzTm9ZfEww
PCFobyM9Z28KelBhb3wwbl96c01DZCs9QjMyanBEeyprazt2a2Z7MClWSk47QFVGOGowIyR2TmQh
eT9iUmA8TmpedntTKjEmaEohCnpHeTRTSUE5c2VoSkI8ZyZWTEMmQSU1YDtTOVkwRTZCa3BCeV59
RzItUy02U3JmLTAoWHBSWnFqLXRCTz80bEopUwp6bExlPztseDtkWDhDKX5iVCFWPW1yRnBGI0Im
KVctdDZ5QjFLdCNFcz9feTx5PW1teytCKEhjRW4hd1cxOX44WFcKemEpTyg1Tj5maWZiRzFIKipk
blZ9YlFfQ1h6Izt0WlBDKGwlTGE9aGwyaz5neiFWSG5ySEVDQjYtM1Q/bnh1TWdMCno3Y0FHfGNB
T1gwcFd0QDlERko7LVJXKWpjZlNLOXE+NW9HK2V0aTIqbFhjPGNYajwmczwhYV8wK3kyV2o5WWNA
Zwp6P3h1YkxXbDNgTCQ+VE5wMldSVXppR1hLci1wPURfKDMxNzY0ek1UQypjTSZaKFJtS0lqfllJ
c2VsSld7SDI3YXgKejJ8cXglK3BoIUFacGVNYF5iPkZseCZCRUpjPWdHck5kYFUjaldhYmgkcGkk
UkElNiQrWDs8eUE4TT5nOTJMU2tWCno2PTRiTUlpSTxjIXA0NjUteEAoPVA+NSVid0BePUo9LWdh
UChYPkBDdCFDO0JJK2Q+ZztFSkhsQ3E3ODJSb0hrMwp6Nkk3YUBUX3g9YjVZS00qdGJibU5lQ2cq
JkNZPWlRMHV9PTFXaEBkQUleZ1pkaiVRY3tkPXZ8XzJkV3UzOFlvRl4Kej4pRWMxRVdyZl5qRCl+
Vzd0flpgREVwXiF4an5vcmBqfUdWdzJNUm5eKHgxMWNBOE98YDZeb0xBTU1nKzJPblU2Cno5Wjs7
WWxhNyFlQndxb2w3Tm80eWdfcWtGSnVkfE5BRmAqaW9xKFYwRylCdHVmMl8rJU9pNG5YUV92UyZJ
aXdeVgp6MUsqZUslYX4zPShBMUApNSUodyZIfFFMQXhXK0NtekNlNWYpLXFETmF8UUhqZTEhZGZ6
KzBDYEN6e2VnM3t3MWIKemJTaktlU3tpXktnRjFrSjFUR29DSSQkT1d1QUBLO3dmJkJETGdrKDI7
MG4tZihjREl+My0kPTNkOGhqNChIbXlkCnp6KyFSaTg/Z2t8bS1jdUtpU3hqTSUpKzlNTGZwQ3FZ
Z3VuYFZTM0UmUmxHfFg9eHpKY09PMHVVMjk0QUBqfn5KcAp6Qjw+dnpfJlV1bnlhaXFHUkVeP0Q7
MWtUZ0N3MnlJUntTP0YkYmE3KDU8dl5RQF4pIXFTNGkzd1U+SCRRRFF0NnQKejNteVF3IW9MSCRo
e3dvPWRGe3U1Sk8hNjs3PD1BXkFrZl52YjJZXjZVU1YxZHxIWCRyYzY2PVJNa281WipnMFVtCnpy
WU5WOThrR0k7Uz9xSWojTUF6KjdTKVNwX0lnejdnTChARWt4UH1jWV9EcyFELU8ka1JoSWpITElh
NlYjMkpJZAp6am9Wb19jY2BeeztGc2d7PExfNzs/eTBHSm9UXjteXzA3QnsmangrfiQ0MG8td2Zz
TighZFVGRFViVVlleS0mZysKemQ7dkpKPzttRnp8SCthNG9ldTh1S0ZgKnFCTU0ldkw7ayg+YEBn
VmJ8OWVOdmlCSjNnJjQlSjVyaXFOM3JBYGNLClJQciklak83ZzA1MXYyS3J7fGt0PioyKHw/Cgps
aXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFmZTk2OTI3YWQ3OGU2NGIwYWFkN2Jk
ZWQwOGJkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWltYWdlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBA
CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCA2ZmM3ZDA5NGY4OGUyZDRmNDFlNTYwY2QzYjAyYTU4MmQyNzhlYTcw
Li44NGNmYWJiMmQzYzZmZTYwZTgwYmY5MDk3ODlkYzJmMzJlZTM3MGNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMTYgIEJlbiBXZWxscyAgPGJlbndlbGxzQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBDYW52YXMgZHJhd0ltYWdlIHdpdGggU291cmNlSW4sIERlc3RpbmF0
aW9uSW4sIFNvdXJjZU91dCwgRGVzdGluYXRpb25BdG9wIGFuZCBDb3B5IGhhdmUgZXJyb3JzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NjkyMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3Qv
Y2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRtbAorCisgICAgICAgIFVzZSB0aGUgc2Ft
ZSBtZXRob2QgYXMgZmlsbHMgdG8gaGFuZGxlIGNvbXBvc2l0ZWQgZHJhd0ltYWdlIGNhbGxzIHRo
YXQgd2lsbCBhZmZlY3QgdGhlIHdob2xlCisgICAgICAgIGNhbnZhcy4gVG8gZG8gdGhpcyBjb2Rl
IHVzZWQgd2hlbiBkb2luZyBmaWxscyBoYXMgYmVlbiBmYWN0b3JlZCBpbnRvIHNlcGFyYXRlIGZ1
bmN0aW9ucyBhbmQKKyAgICAgICAgdXNlZCBieSBkcmF3SW1hZ2UuIFNvbWUgZnVuY3Rpb25zIHVz
ZWQgdG8gZG8gdGhlc2UgdHlwZXMgb2Ygb3BlcmF0aW9ucyBoYXZlIGFsc28gYmVlbiByZW5hbWVk
LgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OmlzRnVsbENhbnZhc0NvbXBvc2l0ZU1vZGUpOgorICAgICAgICAo
V2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpmaWxsKToKKyAgICAgICAgKFdlYkNv
cmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZmlsbFJlY3QpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3SW1hZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjYWxjdWxhdGVDb21wb3NpdGluZ0J1ZmZlclJl
Y3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjcmVhdGVD
b21wb3NpdGluZ0J1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQ6OmNvbXBvc2l0ZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJp
bmdDb250ZXh0MkQ6OmZ1bGxDYW52YXNDb21wb3NpdGVkRHJhd0ltYWdlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZnVsbENhbnZhc0NvbXBvc2l0ZWRGaWxs
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaDoKKwog
MjAxMS0xMC0xMyAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFtRdF1bV2luXSBVbnJldmlld2VkIGJ1aWxkZml4IGFmdGVyIHI5NzQzMy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQu
Y3BwCmluZGV4IDllOWZmMGRiMGEwNTdmZjAyZjYyOTg4NjU5OWNmMGI2ZTE4MWEzNjIuLjI3ZThi
ODRmMWM2NGFkODY2NGNmYTMwZDRkYWVmMmNmOTczZGMxYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcApAQCAt
OTI3LDYgKzkyNywxNCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y2xlYXJQYXRo
Rm9yRGFzaGJvYXJkQmFja3dhcmRDb21wYXRpYmlsaXR5TW9kZSgpCiB9CiAjZW5kaWYKIAorYm9v
bCBpc0Z1bGxDYW52YXNDb21wb3NpdGVNb2RlKENvbXBvc2l0ZU9wZXJhdG9yIG9wKQoreworICAg
IC8vIFNlZSA0LjguMTEuMS4zIENvbXBvc2l0aW5nCisgICAgLy8gQ29tcG9zaXRlU291cmNlQXRv
cCBhbmQgQ29tcG9zaXRlRGVzdGluYXRpb25PdXQgYXJlIG5vdCBsaXN0ZWQgaGVyZSBhcyB0aGUg
cGxhdGZvcm1zIGFscmVhZHkKKyAgICAvLyBpbXBsZW1lbnQgdGhlIHNwZWNpZmljYXRpb24ncyBi
ZWhhdmlvci4KKyAgICByZXR1cm4gb3AgPT0gQ29tcG9zaXRlU291cmNlSW4gfHwgb3AgPT0gQ29t
cG9zaXRlU291cmNlT3V0IHx8IG9wID09IENvbXBvc2l0ZURlc3RpbmF0aW9uSW4gfHwgb3AgPT0g
Q29tcG9zaXRlRGVzdGluYXRpb25BdG9wOworfQorCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRDo6ZmlsbCgpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0KiBjID0gZHJhd2luZ0NvbnRleHQo
KTsKQEAgLTkzNiw4ICs5NDQsOCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Zmls
bCgpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmICghbV9wYXRoLmlzRW1wdHkoKSkgewotICAg
ICAgICBpZiAoc2hvdWxkRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZSgpKQotICAgICAgICAg
ICAgZmlsbEFuZERpc3BsYXlUcmFuc3BhcmVuY3lFbHNld2hlcmUobV9wYXRoKTsKKyAgICAgICAg
aWYgKGlzRnVsbENhbnZhc0NvbXBvc2l0ZU1vZGUoc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSkp
CisgICAgICAgICAgICBmdWxsQ2FudmFzQ29tcG9zaXRlZEZpbGwobV9wYXRoKTsKICAgICAgICAg
ZWxzZSBpZiAoc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9PSBDb21wb3NpdGVDb3B5KSB7CiAg
ICAgICAgICAgICBjbGVhckNhbnZhcygpOwogICAgICAgICAgICAgYy0+ZmlsbFBhdGgobV9wYXRo
KTsKQEAgLTEwNDIsOCArMTA1MCw4IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpm
aWxsUmVjdChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpCiAKICAgICBG
bG9hdFJlY3QgcmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKIAotICAgIGlmIChzaG91bGREaXNw
bGF5VHJhbnNwYXJlbmN5RWxzZXdoZXJlKCkpCi0gICAgICAgIGZpbGxBbmREaXNwbGF5VHJhbnNw
YXJlbmN5RWxzZXdoZXJlKHJlY3QpOworICAgIGlmIChpc0Z1bGxDYW52YXNDb21wb3NpdGVNb2Rl
KHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUpKQorICAgICAgICBmdWxsQ2FudmFzQ29tcG9zaXRl
ZEZpbGwocmVjdCk7CiAgICAgZWxzZSBpZiAoc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9PSBD
b21wb3NpdGVDb3B5KSB7CiAgICAgICAgIGNsZWFyQ2FudmFzKCk7CiAgICAgICAgIGMtPmZpbGxS
ZWN0KHJlY3QpOwpAQCAtMTMyMCw4ICsxMzI4LDE3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjpkcmF3SW1hZ2UoSFRNTEltYWdlRWxlbWVudCogaW1hZ2UsIGNvbnN0IEZsb2F0UmVj
CiAKICAgICBjaGVja09yaWdpbihpbWFnZSk7CiAKLSAgICBjLT5kcmF3SW1hZ2UoY2FjaGVkSW1h
Z2UtPmltYWdlKCksIENvbG9yU3BhY2VEZXZpY2VSR0IsIG5vcm1hbGl6ZWREc3RSZWN0LCBub3Jt
YWxpemVkU3JjUmVjdCwgb3ApOwotICAgIGRpZERyYXcobm9ybWFsaXplZERzdFJlY3QpOworICAg
IGlmIChpc0Z1bGxDYW52YXNDb21wb3NpdGVNb2RlKG9wKSkgeworICAgICAgICBmdWxsQ2FudmFz
Q29tcG9zaXRlZERyYXdJbWFnZShjYWNoZWRJbWFnZS0+aW1hZ2UoKSwgQ29sb3JTcGFjZURldmlj
ZVJHQiwgbm9ybWFsaXplZERzdFJlY3QsIG5vcm1hbGl6ZWRTcmNSZWN0LCBvcCk7CisgICAgICAg
IGRpZERyYXcoRmxvYXRSZWN0KDAsIDAsIGNhbnZhcygpLT53aWR0aCgpLCBjYW52YXMoKS0+aGVp
Z2h0KCkpLCBDYW52YXNEaWREcmF3QXBwbHlDbGlwKTsKKyAgICB9IGVsc2UgaWYgKG9wID09IENv
bXBvc2l0ZUNvcHkpIHsKKyAgICAgICAgY2xlYXJDYW52YXMoKTsKKyAgICAgICAgYy0+ZHJhd0lt
YWdlKGNhY2hlZEltYWdlLT5pbWFnZSgpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBub3JtYWxpemVk
RHN0UmVjdCwgbm9ybWFsaXplZFNyY1JlY3QsIG9wKTsKKyAgICAgICAgZGlkRHJhdyhGbG9hdFJl
Y3QoMCwgMCwgY2FudmFzKCktPndpZHRoKCksIGNhbnZhcygpLT5oZWlnaHQoKSksIENhbnZhc0Rp
ZERyYXdBcHBseUNsaXApOworICAgIH0gZWxzZSB7CisgICAgICAgIGMtPmRyYXdJbWFnZShjYWNo
ZWRJbWFnZS0+aW1hZ2UoKSwgQ29sb3JTcGFjZURldmljZVJHQiwgbm9ybWFsaXplZERzdFJlY3Qs
IG5vcm1hbGl6ZWRTcmNSZWN0LCBvcCk7CisgICAgICAgIGRpZERyYXcobm9ybWFsaXplZERzdFJl
Y3QpOworICAgIH0KIH0KIAogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmRyYXdJbWFn
ZShIVE1MQ2FudmFzRWxlbWVudCogY2FudmFzLCBmbG9hdCB4LCBmbG9hdCB5LCBFeGNlcHRpb25D
b2RlJiBlYykKQEAgLTE1MDksMTUgKzE1MjYsNiBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRDo6Y2xlYXJDYW52YXMoKQogICAgIGMtPnJlc3RvcmUoKTsKIH0KIAotYm9vbCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OnNob3VsZERpc3BsYXlUcmFuc3BhcmVuY3lFbHNld2hlcmUoKSBj
b25zdAotewotICAgIC8vIFNlZSA0LjguMTEuMS4zIENvbXBvc2l0aW5nCi0gICAgLy8gQ29tcG9z
aXRlU291cmNlQXRvcCBhbmQgQ29tcG9zaXRlRGVzdGluYXRpb25PdXQgYXJlIG5vdCBsaXN0ZWQg
aGVyZSBhcyB0aGUgcGxhdGZvcm1zIGFscmVhZHkKLSAgICAvLyBpbXBsZW1lbnQgdGhlIHNwZWNp
ZmljYXRpb24ncyBiZWhhdmlvci4KLSAgICByZXR1cm4gc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0
ZSA9PSBDb21wb3NpdGVTb3VyY2VJbiB8fCBzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlID09IENv
bXBvc2l0ZVNvdXJjZU91dAotICAgICAgICAgICB8fCBzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRl
ID09IENvbXBvc2l0ZURlc3RpbmF0aW9uSW4gfHwgc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9
PSBDb21wb3NpdGVEZXN0aW5hdGlvbkF0b3A7Ci19Ci0KIFBhdGggQ2FudmFzUmVuZGVyaW5nQ29u
dGV4dDJEOjp0cmFuc2Zvcm1BcmVhVG9EZXZpY2UoY29uc3QgUGF0aCYgcGF0aCkgY29uc3QKIHsK
ICAgICBQYXRoIHRyYW5zZm9ybWVkKHBhdGgpOwpAQCAtMTUzMywzMSArMTU0MSwyOSBAQCBQYXRo
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6dHJhbnNmb3JtQXJlYVRvRGV2aWNlKGNvbnN0IEZs
b2F0UmVjdCYgcmVjdCkgY29ucwogICAgIHJldHVybiB0cmFuc2Zvcm1BcmVhVG9EZXZpY2UocGF0
aCk7CiB9CiAKLXRlbXBsYXRlPGNsYXNzIFQ+IHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpmaWxsQW5kRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZShjb25zdCBUJiBhcmVhKQordGVt
cGxhdGU8Y2xhc3MgVD4gSW50UmVjdCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNhbGN1bGF0
ZUNvbXBvc2l0aW5nQnVmZmVyUmVjdChjb25zdCBUJiBhcmVhLCBJbnRTaXplKiBjcm9wcGVkT2Zm
c2V0KQogewotICAgIEFTU0VSVChzaG91bGREaXNwbGF5VHJhbnNwYXJlbmN5RWxzZXdoZXJlKCkp
OwotCiAgICAgSW50UmVjdCBjYW52YXNSZWN0KDAsIDAsIGNhbnZhcygpLT53aWR0aCgpLCBjYW52
YXMoKS0+aGVpZ2h0KCkpOwogICAgIGNhbnZhc1JlY3QgPSBjYW52YXMoKS0+YmFzZVRyYW5zZm9y
bSgpLm1hcFJlY3QoY2FudmFzUmVjdCk7CiAgICAgUGF0aCBwYXRoID0gdHJhbnNmb3JtQXJlYVRv
RGV2aWNlKGFyZWEpOwogICAgIEludFJlY3QgYnVmZmVyUmVjdCA9IGVuY2xvc2luZ0ludFJlY3Qo
cGF0aC5ib3VuZGluZ1JlY3QoKSk7CisgICAgSW50UG9pbnQgb3JpZ2luYWxMb2NhdGlvbiA9IGJ1
ZmZlclJlY3QubG9jYXRpb24oKTsKICAgICBidWZmZXJSZWN0LmludGVyc2VjdChjYW52YXNSZWN0
KTsKKyAgICBpZiAoY3JvcHBlZE9mZnNldCkKKyAgICAgICAgKmNyb3BwZWRPZmZzZXQgPSBvcmln
aW5hbExvY2F0aW9uIC0gYnVmZmVyUmVjdC5sb2NhdGlvbigpOworICAgIHJldHVybiBidWZmZXJS
ZWN0OworfQogCi0gICAgaWYgKGJ1ZmZlclJlY3QuaXNFbXB0eSgpKSB7Ci0gICAgICAgIGNsZWFy
Q2FudmFzKCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBwYXRoLnRyYW5zbGF0ZShG
bG9hdFNpemUoLWJ1ZmZlclJlY3QueCgpLCAtYnVmZmVyUmVjdC55KCkpKTsKLQorUGFzc093blB0
cjxJbWFnZUJ1ZmZlcj4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjcmVhdGVDb21wb3NpdGlu
Z0J1ZmZlcihjb25zdCBJbnRSZWN0JiBidWZmZXJSZWN0KQorewogICAgIFJlbmRlcmluZ01vZGUg
cmVuZGVyTW9kZSA9IGlzQWNjZWxlcmF0ZWQoKSA/IEFjY2VsZXJhdGVkIDogVW5hY2NlbGVyYXRl
ZDsKLSAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IGJ1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGUo
YnVmZmVyUmVjdC5zaXplKCksIENvbG9yU3BhY2VEZXZpY2VSR0IsIHJlbmRlck1vZGUpOwotICAg
IGlmICghYnVmZmVyKQotICAgICAgICByZXR1cm47CisgICAgcmV0dXJuIEltYWdlQnVmZmVyOjpj
cmVhdGUoYnVmZmVyUmVjdC5zaXplKCksIENvbG9yU3BhY2VEZXZpY2VSR0IsIHJlbmRlck1vZGUp
OworfQogCi0gICAgYnVmZmVyLT5jb250ZXh0KCktPnNldENvbXBvc2l0ZU9wZXJhdGlvbihDb21w
b3NpdGVTb3VyY2VPdmVyKTsKLSAgICBzdGF0ZSgpLm1fZmlsbFN0eWxlLT5hcHBseUZpbGxDb2xv
cihidWZmZXItPmNvbnRleHQoKSk7Ci0gICAgYnVmZmVyLT5jb250ZXh0KCktPmZpbGxQYXRoKHBh
dGgpOwordm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNvbXBvc2l0ZUJ1ZmZlcihJbWFn
ZUJ1ZmZlciogYnVmZmVyLCBjb25zdCBJbnRSZWN0JiBidWZmZXJSZWN0LCBDb21wb3NpdGVPcGVy
YXRvciBvcCkKK3sKKyAgICBJbnRSZWN0IGNhbnZhc1JlY3QoMCwgMCwgY2FudmFzKCktPndpZHRo
KCksIGNhbnZhcygpLT5oZWlnaHQoKSk7CisgICAgY2FudmFzUmVjdCA9IGNhbnZhcygpLT5iYXNl
VHJhbnNmb3JtKCkubWFwUmVjdChjYW52YXNSZWN0KTsKIAogICAgIEdyYXBoaWNzQ29udGV4dCog
YyA9IGRyYXdpbmdDb250ZXh0KCk7CiAgICAgaWYgKCFjKQpAQCAtMTU2NSwxNiArMTU3MSw3MiBA
QCB0ZW1wbGF0ZTxjbGFzcyBUPiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZmlsbEFu
ZERpc3BsYXlUcmFuc3BhcmVuY3lFbHNldwogCiAgICAgYy0+c2F2ZSgpOwogICAgIGMtPnNldENU
TShBZmZpbmVUcmFuc2Zvcm0oKSk7CisgICAgYy0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKG9wKTsK
IAogICAgIGMtPnNhdmUoKTsKICAgICBjLT5jbGlwT3V0KGJ1ZmZlclJlY3QpOwogICAgIGMtPmNs
ZWFyUmVjdChjYW52YXNSZWN0KTsKICAgICBjLT5yZXN0b3JlKCk7CiAKLSAgICBjLT5kcmF3SW1h
Z2VCdWZmZXIoYnVmZmVyLmdldCgpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBidWZmZXJSZWN0Lmxv
Y2F0aW9uKCksIHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUpOworICAgIGMtPmRyYXdJbWFnZUJ1
ZmZlcihidWZmZXIsIENvbG9yU3BhY2VEZXZpY2VSR0IsIGJ1ZmZlclJlY3QubG9jYXRpb24oKSwg
c3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSk7CiAgICAgYy0+cmVzdG9yZSgpOwogfQogCit2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZnVsbENhbnZhc0NvbXBvc2l0ZWREcmF3SW1hZ2Uo
SW1hZ2UqIGltYWdlLCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFjZSwgY29uc3QgRmxvYXRSZWN0
JiBkZXN0LCBjb25zdCBGbG9hdFJlY3QmIHNyYywgQ29tcG9zaXRlT3BlcmF0b3Igb3ApCit7Cisg
ICAgQVNTRVJUKGlzRnVsbENhbnZhc0NvbXBvc2l0ZU1vZGUob3ApKTsKKworICAgIEludFNpemUg
Y3JvcHBlZE9mZnNldDsKKyAgICBJbnRSZWN0IGJ1ZmZlclJlY3QgPSBjYWxjdWxhdGVDb21wb3Np
dGluZ0J1ZmZlclJlY3QoZGVzdCwgJmNyb3BwZWRPZmZzZXQpOworICAgIGlmIChidWZmZXJSZWN0
LmlzRW1wdHkoKSkgeworICAgICAgICBjbGVhckNhbnZhcygpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgT3duUHRyPEltYWdlQnVmZmVyPiBidWZmZXIgPSBjcmVhdGVDb21wb3NpdGlu
Z0J1ZmZlcihidWZmZXJSZWN0KTsKKyAgICBpZiAoIWJ1ZmZlcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgR3JhcGhpY3NDb250ZXh0KiBjID0gZHJhd2luZ0NvbnRleHQoKTsKKyAgICBpZiAoIWMp
CisgICAgICAgIHJldHVybjsKKworICAgIEZsb2F0UmVjdCBhZGp1c3RlZERlc3QgPSBkZXN0Owor
ICAgIGFkanVzdGVkRGVzdC5zZXRMb2NhdGlvbihGbG9hdFBvaW50KDAsIDApKTsKKyAgICBBZmZp
bmVUcmFuc2Zvcm0gZWZmZWN0aXZlVHJhbnNmb3JtID0gYy0+Z2V0Q1RNKCk7CisgICAgSW50UmVj
dCB0cmFuc2Zvcm1lZEFkanVzdGVkUmVjdCA9IGVuY2xvc2luZ0ludFJlY3QoZWZmZWN0aXZlVHJh
bnNmb3JtLm1hcFJlY3QoYWRqdXN0ZWREZXN0KSk7CisgICAgYnVmZmVyLT5jb250ZXh0KCktPnRy
YW5zbGF0ZSgtdHJhbnNmb3JtZWRBZGp1c3RlZFJlY3QubG9jYXRpb24oKS54KCksIC10cmFuc2Zv
cm1lZEFkanVzdGVkUmVjdC5sb2NhdGlvbigpLnkoKSk7CisgICAgYnVmZmVyLT5jb250ZXh0KCkt
PnRyYW5zbGF0ZShjcm9wcGVkT2Zmc2V0LndpZHRoKCksIGNyb3BwZWRPZmZzZXQuaGVpZ2h0KCkp
OworICAgIGJ1ZmZlci0+Y29udGV4dCgpLT5jb25jYXRDVE0oZWZmZWN0aXZlVHJhbnNmb3JtKTsK
KyAgICBidWZmZXItPmNvbnRleHQoKS0+ZHJhd0ltYWdlKGltYWdlLCBzdHlsZUNvbG9yU3BhY2Us
IGFkanVzdGVkRGVzdCwgc3JjLCBDb21wb3NpdGVTb3VyY2VPdmVyKTsKKworICAgIGNvbXBvc2l0
ZUJ1ZmZlcihidWZmZXIuZ2V0KCksIGJ1ZmZlclJlY3QsIG9wKTsKK30KKwordGVtcGxhdGU8Y2xh
c3MgVD4gdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZ1bGxDYW52YXNDb21wb3NpdGVk
RmlsbChjb25zdCBUJiBhcmVhKQoreworICAgIEFTU0VSVChpc0Z1bGxDYW52YXNDb21wb3NpdGVN
b2RlKHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUpKTsKKworICAgIEludFJlY3QgYnVmZmVyUmVj
dCA9IGNhbGN1bGF0ZUNvbXBvc2l0aW5nQnVmZmVyUmVjdChhcmVhLCAwKTsKKyAgICBpZiAoYnVm
ZmVyUmVjdC5pc0VtcHR5KCkpIHsKKyAgICAgICAgY2xlYXJDYW52YXMoKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gYnVmZmVyID0gY3JlYXRlQ29t
cG9zaXRpbmdCdWZmZXIoYnVmZmVyUmVjdCk7CisgICAgaWYgKCFidWZmZXIpCisgICAgICAgIHJl
dHVybjsKKworICAgIFBhdGggcGF0aCA9IHRyYW5zZm9ybUFyZWFUb0RldmljZShhcmVhKTsKKyAg
ICBwYXRoLnRyYW5zbGF0ZShGbG9hdFNpemUoLWJ1ZmZlclJlY3QueCgpLCAtYnVmZmVyUmVjdC55
KCkpKTsKKworICAgIGJ1ZmZlci0+Y29udGV4dCgpLT5zZXRDb21wb3NpdGVPcGVyYXRpb24oQ29t
cG9zaXRlU291cmNlT3Zlcik7CisgICAgc3RhdGUoKS5tX2ZpbGxTdHlsZS0+YXBwbHlGaWxsQ29s
b3IoYnVmZmVyLT5jb250ZXh0KCkpOworICAgIGJ1ZmZlci0+Y29udGV4dCgpLT5maWxsUGF0aChw
YXRoKTsKKworICAgIGNvbXBvc2l0ZUJ1ZmZlcihidWZmZXIuZ2V0KCksIGJ1ZmZlclJlY3QsIHN0
YXRlKCkubV9nbG9iYWxDb21wb3NpdGUpOworfQorCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyRDo6cHJlcGFyZUdyYWRpZW50Rm9yRGFzaGJvYXJkKENhbnZhc0dyYWRpZW50KiBncmFkaWVu
dCkgY29uc3QKIHsKICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oCmluZGV4
IGJmMGVjZjRiYTBlNGRiODgxZjNjYjdhNGU5Mjk3ZmFjZTRmYWRiMDIuLjRmNTcyNDEwYTVhNzli
MmEzZTcxMzQ3NTcyMTRmNjFiNzU2M2I1MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oCkBAIC0yOSw2ICsyOSw3IEBA
CiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiQ2FudmFzUmVuZGVyaW5n
Q29udGV4dC5oIgogI2luY2x1ZGUgIkNvbG9yLmgiCisjaW5jbHVkZSAiQ29sb3JTcGFjZS5oIgog
I2luY2x1ZGUgIkRhc2hBcnJheS5oIgogI2luY2x1ZGUgIkZsb2F0U2l6ZS5oIgogI2luY2x1ZGUg
IkZvbnQuaCIKQEAgLTI5OCw4ICsyOTksMTMgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNsZWFyQ2Fu
dmFzKCk7CiAgICAgUGF0aCB0cmFuc2Zvcm1BcmVhVG9EZXZpY2UoY29uc3QgUGF0aCYpIGNvbnN0
OwogICAgIFBhdGggdHJhbnNmb3JtQXJlYVRvRGV2aWNlKGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0
OwotICAgIGJvb2wgc2hvdWxkRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZSgpIGNvbnN0Owot
ICAgIHRlbXBsYXRlPGNsYXNzIFQ+IHZvaWQgZmlsbEFuZERpc3BsYXlUcmFuc3BhcmVuY3lFbHNl
d2hlcmUoY29uc3QgVCYgYXJlYSk7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBJbnRSZWN0IGNh
bGN1bGF0ZUNvbXBvc2l0aW5nQnVmZmVyUmVjdChjb25zdCBUJiwgSW50U2l6ZSopOworICAgIFBh
c3NPd25QdHI8SW1hZ2VCdWZmZXI+IGNyZWF0ZUNvbXBvc2l0aW5nQnVmZmVyKGNvbnN0IEludFJl
Y3QmKTsKKyAgICB2b2lkIGNvbXBvc2l0ZUJ1ZmZlcihJbWFnZUJ1ZmZlciosIGNvbnN0IEludFJl
Y3QmLCBDb21wb3NpdGVPcGVyYXRvcik7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiB2b2lkIGZ1
bGxDYW52YXNDb21wb3NpdGVkRmlsbChjb25zdCBUJik7CisgICAgdm9pZCBmdWxsQ2FudmFzQ29t
cG9zaXRlZERyYXdJbWFnZShJbWFnZSosIENvbG9yU3BhY2UsIGNvbnN0IEZsb2F0UmVjdCYsIGNv
bnN0IEZsb2F0UmVjdCYsIENvbXBvc2l0ZU9wZXJhdG9yKTsKIAogICAgIHZvaWQgcHJlcGFyZUdy
YWRpZW50Rm9yRGFzaGJvYXJkKENhbnZhc0dyYWRpZW50KiBncmFkaWVudCkgY29uc3Q7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111202</attachid>
            <date>2011-10-16 20:26:07 -0700</date>
            <delta_ts>2011-10-18 17:00:20 -0700</delta_ts>
            <desc>Patch with function made static non-member, and test added.</desc>
            <filename>bug-66920-20111017142604.patch</filename>
            <type>text/plain</type>
            <size>40551</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc1ODAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhZmZiMTUyZDc4YWQwZjAy
NzMzODRmYjVjMTM4MmEyOWZkOWEwNjVlLi4wYjhmZWQ4Y2Q2MTlmNWQzZDIxYWJiNGZjZTNjMTc5
MmNhZWM3YTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMTYgIEJlbiBX
ZWxscyAgPGJlbndlbGxzQGNocm9taXVtLm9yZz4KKworICAgICAgICBDYW52YXMgZHJhd0ltYWdl
IHdpdGggU291cmNlSW4sIERlc3RpbmF0aW9uSW4sIFNvdXJjZU91dCwgRGVzdGluYXRpb25BdG9w
IGFuZCBDb3B5IGhhdmUgZXJyb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NjkyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRt
bAorCisgICAgICAgIFVzZSB0aGUgc2FtZSBtZXRob2QgYXMgZmlsbHMgdG8gaGFuZGxlIGNvbXBv
c2l0ZWQgZHJhd0ltYWdlIGNhbGxzIHRoYXQgd2lsbCBhZmZlY3QgdGhlIHdob2xlCisgICAgICAg
IGNhbnZhcy4gVG8gZG8gdGhpcyBjb2RlIHVzZWQgd2hlbiBkb2luZyBmaWxscyBoYXMgYmVlbiBm
YWN0b3JlZCBpbnRvIHNlcGFyYXRlIGZ1bmN0aW9ucyBhbmQKKyAgICAgICAgdXNlZCBieSBkcmF3
SW1hZ2UuIFNvbWUgZnVuY3Rpb25zIHVzZWQgdG8gZG8gdGhlc2UgdHlwZXMgb2Ygb3BlcmF0aW9u
cyBoYXZlIGFsc28gYmVlbiByZW5hbWVkLgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzRnVsbENhbnZhc0Nv
bXBvc2l0ZU1vZGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpmaWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Zmls
bFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3
SW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjYWxj
dWxhdGVDb21wb3NpdGluZ0J1ZmZlclJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjpjcmVhdGVDb21wb3NpdGluZ0J1ZmZlcik6CisgICAgICAgIChXZWJD
b3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNvbXBvc2l0ZUJ1ZmZlcik6CisgICAgICAg
IChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZ1bGxDYW52YXNDb21wb3NpdGVk
RHJhd0ltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZnVsbENhbnZhc0NvbXBvc2l0ZWRGaWxsKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaDoKKwogMjAxMS0xMC0xNiAgS2VudGFybyBIYXJhICA8aGFyYWtl
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgR2VuZXJhdGUgWFNMVFByb2Nlc3NvciBjb25zdHJ1
Y3RvciBmb3IgSlNDIGJ5IFtDb25zdHJ1Y3Rvcl0gSURMLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKaW5kZXggNDZi
ZWQzMTFmNGM5NDU1NDAwZTRlMmVhY2JjNDEyNDA5M2UyNzY2OC4uMGRjZWE1ZDgxZGE2NWUwYzRh
YTQ2NTg4NWVlNDNjYzMzNzUwZGViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCkBAIC05MjksNiArOTI5LDE0
IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjbGVhclBhdGhGb3JEYXNoYm9hcmRC
YWNrd2FyZENvbXBhdGliaWxpdHlNb2RlKCkKIH0KICNlbmRpZgogCitzdGF0aWMgYm9vbCBpc0Z1
bGxDYW52YXNDb21wb3NpdGVNb2RlKENvbXBvc2l0ZU9wZXJhdG9yIG9wKQoreworICAgIC8vIFNl
ZSA0LjguMTEuMS4zIENvbXBvc2l0aW5nCisgICAgLy8gQ29tcG9zaXRlU291cmNlQXRvcCBhbmQg
Q29tcG9zaXRlRGVzdGluYXRpb25PdXQgYXJlIG5vdCBsaXN0ZWQgaGVyZSBhcyB0aGUgcGxhdGZv
cm1zIGFscmVhZHkKKyAgICAvLyBpbXBsZW1lbnQgdGhlIHNwZWNpZmljYXRpb24ncyBiZWhhdmlv
ci4KKyAgICByZXR1cm4gb3AgPT0gQ29tcG9zaXRlU291cmNlSW4gfHwgb3AgPT0gQ29tcG9zaXRl
U291cmNlT3V0IHx8IG9wID09IENvbXBvc2l0ZURlc3RpbmF0aW9uSW4gfHwgb3AgPT0gQ29tcG9z
aXRlRGVzdGluYXRpb25BdG9wOworfQorCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZmlsbCgpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0KiBjID0gZHJhd2luZ0NvbnRleHQoKTsKQEAg
LTkzOCw4ICs5NDYsOCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZmlsbCgpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIGlmICghbV9wYXRoLmlzRW1wdHkoKSkgewotICAgICAgICBp
ZiAoc2hvdWxkRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZSgpKQotICAgICAgICAgICAgZmls
bEFuZERpc3BsYXlUcmFuc3BhcmVuY3lFbHNld2hlcmUobV9wYXRoKTsKKyAgICAgICAgaWYgKGlz
RnVsbENhbnZhc0NvbXBvc2l0ZU1vZGUoc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSkpCisgICAg
ICAgICAgICBmdWxsQ2FudmFzQ29tcG9zaXRlZEZpbGwobV9wYXRoKTsKICAgICAgICAgZWxzZSBp
ZiAoc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9PSBDb21wb3NpdGVDb3B5KSB7CiAgICAgICAg
ICAgICBjbGVhckNhbnZhcygpOwogICAgICAgICAgICAgYy0+ZmlsbFBhdGgobV9wYXRoKTsKQEAg
LTEwNDQsOCArMTA1Miw4IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpmaWxsUmVj
dChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpCiAKICAgICBGbG9hdFJl
Y3QgcmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKIAotICAgIGlmIChzaG91bGREaXNwbGF5VHJh
bnNwYXJlbmN5RWxzZXdoZXJlKCkpCi0gICAgICAgIGZpbGxBbmREaXNwbGF5VHJhbnNwYXJlbmN5
RWxzZXdoZXJlKHJlY3QpOworICAgIGlmIChpc0Z1bGxDYW52YXNDb21wb3NpdGVNb2RlKHN0YXRl
KCkubV9nbG9iYWxDb21wb3NpdGUpKQorICAgICAgICBmdWxsQ2FudmFzQ29tcG9zaXRlZEZpbGwo
cmVjdCk7CiAgICAgZWxzZSBpZiAoc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9PSBDb21wb3Np
dGVDb3B5KSB7CiAgICAgICAgIGNsZWFyQ2FudmFzKCk7CiAgICAgICAgIGMtPmZpbGxSZWN0KHJl
Y3QpOwpAQCAtMTMyMiw4ICsxMzMwLDE3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpkcmF3SW1hZ2UoSFRNTEltYWdlRWxlbWVudCogaW1hZ2UsIGNvbnN0IEZsb2F0UmVjCiAKICAg
ICBjaGVja09yaWdpbihpbWFnZSk7CiAKLSAgICBjLT5kcmF3SW1hZ2UoY2FjaGVkSW1hZ2UtPmlt
YWdlRm9yUmVuZGVyZXIoaW1hZ2UtPnJlbmRlcmVyKCkpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBu
b3JtYWxpemVkRHN0UmVjdCwgbm9ybWFsaXplZFNyY1JlY3QsIG9wKTsKLSAgICBkaWREcmF3KG5v
cm1hbGl6ZWREc3RSZWN0KTsKKyAgICBpZiAoaXNGdWxsQ2FudmFzQ29tcG9zaXRlTW9kZShvcCkp
IHsKKyAgICAgICAgZnVsbENhbnZhc0NvbXBvc2l0ZWREcmF3SW1hZ2UoY2FjaGVkSW1hZ2UtPmlt
YWdlRm9yUmVuZGVyZXIoaW1hZ2UtPnJlbmRlcmVyKCkpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBu
b3JtYWxpemVkRHN0UmVjdCwgbm9ybWFsaXplZFNyY1JlY3QsIG9wKTsKKyAgICAgICAgZGlkRHJh
dyhGbG9hdFJlY3QoMCwgMCwgY2FudmFzKCktPndpZHRoKCksIGNhbnZhcygpLT5oZWlnaHQoKSks
IENhbnZhc0RpZERyYXdBcHBseUNsaXApOworICAgIH0gZWxzZSBpZiAob3AgPT0gQ29tcG9zaXRl
Q29weSkgeworICAgICAgICBjbGVhckNhbnZhcygpOworICAgICAgICBjLT5kcmF3SW1hZ2UoY2Fj
aGVkSW1hZ2UtPmltYWdlRm9yUmVuZGVyZXIoaW1hZ2UtPnJlbmRlcmVyKCkpLCBDb2xvclNwYWNl
RGV2aWNlUkdCLCBub3JtYWxpemVkRHN0UmVjdCwgbm9ybWFsaXplZFNyY1JlY3QsIG9wKTsKKyAg
ICAgICAgZGlkRHJhdyhGbG9hdFJlY3QoMCwgMCwgY2FudmFzKCktPndpZHRoKCksIGNhbnZhcygp
LT5oZWlnaHQoKSksIENhbnZhc0RpZERyYXdBcHBseUNsaXApOworICAgIH0gZWxzZSB7CisgICAg
ICAgIGMtPmRyYXdJbWFnZShjYWNoZWRJbWFnZS0+aW1hZ2VGb3JSZW5kZXJlcihpbWFnZS0+cmVu
ZGVyZXIoKSksIENvbG9yU3BhY2VEZXZpY2VSR0IsIG5vcm1hbGl6ZWREc3RSZWN0LCBub3JtYWxp
emVkU3JjUmVjdCwgb3ApOworICAgICAgICBkaWREcmF3KG5vcm1hbGl6ZWREc3RSZWN0KTsKKyAg
ICB9CiB9CiAKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3SW1hZ2UoSFRNTENh
bnZhc0VsZW1lbnQqIGNhbnZhcywgZmxvYXQgeCwgZmxvYXQgeSwgRXhjZXB0aW9uQ29kZSYgZWMp
CkBAIC0xNTExLDE1ICsxNTI4LDYgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNs
ZWFyQ2FudmFzKCkKICAgICBjLT5yZXN0b3JlKCk7CiB9CiAKLWJvb2wgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEOjpzaG91bGREaXNwbGF5VHJhbnNwYXJlbmN5RWxzZXdoZXJlKCkgY29uc3QKLXsK
LSAgICAvLyBTZWUgNC44LjExLjEuMyBDb21wb3NpdGluZwotICAgIC8vIENvbXBvc2l0ZVNvdXJj
ZUF0b3AgYW5kIENvbXBvc2l0ZURlc3RpbmF0aW9uT3V0IGFyZSBub3QgbGlzdGVkIGhlcmUgYXMg
dGhlIHBsYXRmb3JtcyBhbHJlYWR5Ci0gICAgLy8gaW1wbGVtZW50IHRoZSBzcGVjaWZpY2F0aW9u
J3MgYmVoYXZpb3IuCi0gICAgcmV0dXJuIHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUgPT0gQ29t
cG9zaXRlU291cmNlSW4gfHwgc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9PSBDb21wb3NpdGVT
b3VyY2VPdXQKLSAgICAgICAgICAgfHwgc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9PSBDb21w
b3NpdGVEZXN0aW5hdGlvbkluIHx8IHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUgPT0gQ29tcG9z
aXRlRGVzdGluYXRpb25BdG9wOwotfQotCiBQYXRoIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
dHJhbnNmb3JtQXJlYVRvRGV2aWNlKGNvbnN0IFBhdGgmIHBhdGgpIGNvbnN0CiB7CiAgICAgUGF0
aCB0cmFuc2Zvcm1lZChwYXRoKTsKQEAgLTE1MzUsMzEgKzE1NDMsMjkgQEAgUGF0aCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OnRyYW5zZm9ybUFyZWFUb0RldmljZShjb25zdCBGbG9hdFJlY3Qm
IHJlY3QpIGNvbnMKICAgICByZXR1cm4gdHJhbnNmb3JtQXJlYVRvRGV2aWNlKHBhdGgpOwogfQog
Ci10ZW1wbGF0ZTxjbGFzcyBUPiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZmlsbEFu
ZERpc3BsYXlUcmFuc3BhcmVuY3lFbHNld2hlcmUoY29uc3QgVCYgYXJlYSkKK3RlbXBsYXRlPGNs
YXNzIFQ+IEludFJlY3QgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjYWxjdWxhdGVDb21wb3Np
dGluZ0J1ZmZlclJlY3QoY29uc3QgVCYgYXJlYSwgSW50U2l6ZSogY3JvcHBlZE9mZnNldCkKIHsK
LSAgICBBU1NFUlQoc2hvdWxkRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZSgpKTsKLQogICAg
IEludFJlY3QgY2FudmFzUmVjdCgwLCAwLCBjYW52YXMoKS0+d2lkdGgoKSwgY2FudmFzKCktPmhl
aWdodCgpKTsKICAgICBjYW52YXNSZWN0ID0gY2FudmFzKCktPmJhc2VUcmFuc2Zvcm0oKS5tYXBS
ZWN0KGNhbnZhc1JlY3QpOwogICAgIFBhdGggcGF0aCA9IHRyYW5zZm9ybUFyZWFUb0RldmljZShh
cmVhKTsKICAgICBJbnRSZWN0IGJ1ZmZlclJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KHBhdGguYm91
bmRpbmdSZWN0KCkpOworICAgIEludFBvaW50IG9yaWdpbmFsTG9jYXRpb24gPSBidWZmZXJSZWN0
LmxvY2F0aW9uKCk7CiAgICAgYnVmZmVyUmVjdC5pbnRlcnNlY3QoY2FudmFzUmVjdCk7CisgICAg
aWYgKGNyb3BwZWRPZmZzZXQpCisgICAgICAgICpjcm9wcGVkT2Zmc2V0ID0gb3JpZ2luYWxMb2Nh
dGlvbiAtIGJ1ZmZlclJlY3QubG9jYXRpb24oKTsKKyAgICByZXR1cm4gYnVmZmVyUmVjdDsKK30K
IAotICAgIGlmIChidWZmZXJSZWN0LmlzRW1wdHkoKSkgewotICAgICAgICBjbGVhckNhbnZhcygp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgcGF0aC50cmFuc2xhdGUoRmxvYXRTaXpl
KC1idWZmZXJSZWN0LngoKSwgLWJ1ZmZlclJlY3QueSgpKSk7Ci0KK1Bhc3NPd25QdHI8SW1hZ2VC
dWZmZXI+IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRlQ29tcG9zaXRpbmdCdWZmZXIo
Y29uc3QgSW50UmVjdCYgYnVmZmVyUmVjdCkKK3sKICAgICBSZW5kZXJpbmdNb2RlIHJlbmRlck1v
ZGUgPSBpc0FjY2VsZXJhdGVkKCkgPyBBY2NlbGVyYXRlZCA6IFVuYWNjZWxlcmF0ZWQ7Ci0gICAg
T3duUHRyPEltYWdlQnVmZmVyPiBidWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGJ1ZmZlclJl
Y3Quc2l6ZSgpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCByZW5kZXJNb2RlKTsKLSAgICBpZiAoIWJ1
ZmZlcikKLSAgICAgICAgcmV0dXJuOworICAgIHJldHVybiBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGJ1
ZmZlclJlY3Quc2l6ZSgpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCByZW5kZXJNb2RlKTsKK30KIAot
ICAgIGJ1ZmZlci0+Y29udGV4dCgpLT5zZXRDb21wb3NpdGVPcGVyYXRpb24oQ29tcG9zaXRlU291
cmNlT3Zlcik7Ci0gICAgc3RhdGUoKS5tX2ZpbGxTdHlsZS0+YXBwbHlGaWxsQ29sb3IoYnVmZmVy
LT5jb250ZXh0KCkpOwotICAgIGJ1ZmZlci0+Y29udGV4dCgpLT5maWxsUGF0aChwYXRoKTsKK3Zv
aWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjb21wb3NpdGVCdWZmZXIoSW1hZ2VCdWZmZXIq
IGJ1ZmZlciwgY29uc3QgSW50UmVjdCYgYnVmZmVyUmVjdCwgQ29tcG9zaXRlT3BlcmF0b3Igb3Ap
Cit7CisgICAgSW50UmVjdCBjYW52YXNSZWN0KDAsIDAsIGNhbnZhcygpLT53aWR0aCgpLCBjYW52
YXMoKS0+aGVpZ2h0KCkpOworICAgIGNhbnZhc1JlY3QgPSBjYW52YXMoKS0+YmFzZVRyYW5zZm9y
bSgpLm1hcFJlY3QoY2FudmFzUmVjdCk7CiAKICAgICBHcmFwaGljc0NvbnRleHQqIGMgPSBkcmF3
aW5nQ29udGV4dCgpOwogICAgIGlmICghYykKQEAgLTE1NjcsMTYgKzE1NzMsNzIgQEAgdGVtcGxh
dGU8Y2xhc3MgVD4gdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZpbGxBbmREaXNwbGF5
VHJhbnNwYXJlbmN5RWxzZXcKIAogICAgIGMtPnNhdmUoKTsKICAgICBjLT5zZXRDVE0oQWZmaW5l
VHJhbnNmb3JtKCkpOworICAgIGMtPnNldENvbXBvc2l0ZU9wZXJhdGlvbihvcCk7CiAKICAgICBj
LT5zYXZlKCk7CiAgICAgYy0+Y2xpcE91dChidWZmZXJSZWN0KTsKICAgICBjLT5jbGVhclJlY3Qo
Y2FudmFzUmVjdCk7CiAgICAgYy0+cmVzdG9yZSgpOwogCi0gICAgYy0+ZHJhd0ltYWdlQnVmZmVy
KGJ1ZmZlci5nZXQoKSwgQ29sb3JTcGFjZURldmljZVJHQiwgYnVmZmVyUmVjdC5sb2NhdGlvbigp
LCBzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlKTsKKyAgICBjLT5kcmF3SW1hZ2VCdWZmZXIoYnVm
ZmVyLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBidWZmZXJSZWN0LmxvY2F0aW9uKCksIHN0YXRlKCku
bV9nbG9iYWxDb21wb3NpdGUpOwogICAgIGMtPnJlc3RvcmUoKTsKIH0KIAordm9pZCBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmZ1bGxDYW52YXNDb21wb3NpdGVkRHJhd0ltYWdlKEltYWdlKiBp
bWFnZSwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdCwg
Y29uc3QgRmxvYXRSZWN0JiBzcmMsIENvbXBvc2l0ZU9wZXJhdG9yIG9wKQoreworICAgIEFTU0VS
VChpc0Z1bGxDYW52YXNDb21wb3NpdGVNb2RlKG9wKSk7CisKKyAgICBJbnRTaXplIGNyb3BwZWRP
ZmZzZXQ7CisgICAgSW50UmVjdCBidWZmZXJSZWN0ID0gY2FsY3VsYXRlQ29tcG9zaXRpbmdCdWZm
ZXJSZWN0KGRlc3QsICZjcm9wcGVkT2Zmc2V0KTsKKyAgICBpZiAoYnVmZmVyUmVjdC5pc0VtcHR5
KCkpIHsKKyAgICAgICAgY2xlYXJDYW52YXMoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gYnVmZmVyID0gY3JlYXRlQ29tcG9zaXRpbmdCdWZmZXIo
YnVmZmVyUmVjdCk7CisgICAgaWYgKCFidWZmZXIpCisgICAgICAgIHJldHVybjsKKworICAgIEdy
YXBoaWNzQ29udGV4dCogYyA9IGRyYXdpbmdDb250ZXh0KCk7CisgICAgaWYgKCFjKQorICAgICAg
ICByZXR1cm47CisKKyAgICBGbG9hdFJlY3QgYWRqdXN0ZWREZXN0ID0gZGVzdDsKKyAgICBhZGp1
c3RlZERlc3Quc2V0TG9jYXRpb24oRmxvYXRQb2ludCgwLCAwKSk7CisgICAgQWZmaW5lVHJhbnNm
b3JtIGVmZmVjdGl2ZVRyYW5zZm9ybSA9IGMtPmdldENUTSgpOworICAgIEludFJlY3QgdHJhbnNm
b3JtZWRBZGp1c3RlZFJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGVmZmVjdGl2ZVRyYW5zZm9ybS5t
YXBSZWN0KGFkanVzdGVkRGVzdCkpOworICAgIGJ1ZmZlci0+Y29udGV4dCgpLT50cmFuc2xhdGUo
LXRyYW5zZm9ybWVkQWRqdXN0ZWRSZWN0LmxvY2F0aW9uKCkueCgpLCAtdHJhbnNmb3JtZWRBZGp1
c3RlZFJlY3QubG9jYXRpb24oKS55KCkpOworICAgIGJ1ZmZlci0+Y29udGV4dCgpLT50cmFuc2xh
dGUoY3JvcHBlZE9mZnNldC53aWR0aCgpLCBjcm9wcGVkT2Zmc2V0LmhlaWdodCgpKTsKKyAgICBi
dWZmZXItPmNvbnRleHQoKS0+Y29uY2F0Q1RNKGVmZmVjdGl2ZVRyYW5zZm9ybSk7CisgICAgYnVm
ZmVyLT5jb250ZXh0KCktPmRyYXdJbWFnZShpbWFnZSwgc3R5bGVDb2xvclNwYWNlLCBhZGp1c3Rl
ZERlc3QsIHNyYywgQ29tcG9zaXRlU291cmNlT3Zlcik7CisKKyAgICBjb21wb3NpdGVCdWZmZXIo
YnVmZmVyLmdldCgpLCBidWZmZXJSZWN0LCBvcCk7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQ+IHZv
aWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpmdWxsQ2FudmFzQ29tcG9zaXRlZEZpbGwoY29u
c3QgVCYgYXJlYSkKK3sKKyAgICBBU1NFUlQoaXNGdWxsQ2FudmFzQ29tcG9zaXRlTW9kZShzdGF0
ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlKSk7CisKKyAgICBJbnRSZWN0IGJ1ZmZlclJlY3QgPSBjYWxj
dWxhdGVDb21wb3NpdGluZ0J1ZmZlclJlY3QoYXJlYSwgMCk7CisgICAgaWYgKGJ1ZmZlclJlY3Qu
aXNFbXB0eSgpKSB7CisgICAgICAgIGNsZWFyQ2FudmFzKCk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBPd25QdHI8SW1hZ2VCdWZmZXI+IGJ1ZmZlciA9IGNyZWF0ZUNvbXBvc2l0aW5n
QnVmZmVyKGJ1ZmZlclJlY3QpOworICAgIGlmICghYnVmZmVyKQorICAgICAgICByZXR1cm47CisK
KyAgICBQYXRoIHBhdGggPSB0cmFuc2Zvcm1BcmVhVG9EZXZpY2UoYXJlYSk7CisgICAgcGF0aC50
cmFuc2xhdGUoRmxvYXRTaXplKC1idWZmZXJSZWN0LngoKSwgLWJ1ZmZlclJlY3QueSgpKSk7CisK
KyAgICBidWZmZXItPmNvbnRleHQoKS0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZVNv
dXJjZU92ZXIpOworICAgIHN0YXRlKCkubV9maWxsU3R5bGUtPmFwcGx5RmlsbENvbG9yKGJ1ZmZl
ci0+Y29udGV4dCgpKTsKKyAgICBidWZmZXItPmNvbnRleHQoKS0+ZmlsbFBhdGgocGF0aCk7CisK
KyAgICBjb21wb3NpdGVCdWZmZXIoYnVmZmVyLmdldCgpLCBidWZmZXJSZWN0LCBzdGF0ZSgpLm1f
Z2xvYmFsQ29tcG9zaXRlKTsKK30KKwogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnBy
ZXBhcmVHcmFkaWVudEZvckRhc2hib2FyZChDYW52YXNHcmFkaWVudCogZ3JhZGllbnQpIGNvbnN0
CiB7CiAjaWYgRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAppbmRleCBiZjBlY2Y0
YmEwZTRkYjg4MWYzY2I3YTRlOTI5N2ZhY2U0ZmFkYjAyLi40ZjU3MjQxMGE1YTc5YjJhM2U3MTM0
NzU3MjE0ZjYxYjc1NjNiNTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQu
aCIKICNpbmNsdWRlICJDb2xvci5oIgorI2luY2x1ZGUgIkNvbG9yU3BhY2UuaCIKICNpbmNsdWRl
ICJEYXNoQXJyYXkuaCIKICNpbmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlICJGb250Lmgi
CkBAIC0yOTgsOCArMjk5LDEzIEBAIHByaXZhdGU6CiAgICAgdm9pZCBjbGVhckNhbnZhcygpOwog
ICAgIFBhdGggdHJhbnNmb3JtQXJlYVRvRGV2aWNlKGNvbnN0IFBhdGgmKSBjb25zdDsKICAgICBQ
YXRoIHRyYW5zZm9ybUFyZWFUb0RldmljZShjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsKLSAgICBi
b29sIHNob3VsZERpc3BsYXlUcmFuc3BhcmVuY3lFbHNld2hlcmUoKSBjb25zdDsKLSAgICB0ZW1w
bGF0ZTxjbGFzcyBUPiB2b2lkIGZpbGxBbmREaXNwbGF5VHJhbnNwYXJlbmN5RWxzZXdoZXJlKGNv
bnN0IFQmIGFyZWEpOworCisgICAgdGVtcGxhdGU8Y2xhc3MgVD4gSW50UmVjdCBjYWxjdWxhdGVD
b21wb3NpdGluZ0J1ZmZlclJlY3QoY29uc3QgVCYsIEludFNpemUqKTsKKyAgICBQYXNzT3duUHRy
PEltYWdlQnVmZmVyPiBjcmVhdGVDb21wb3NpdGluZ0J1ZmZlcihjb25zdCBJbnRSZWN0Jik7Cisg
ICAgdm9pZCBjb21wb3NpdGVCdWZmZXIoSW1hZ2VCdWZmZXIqLCBjb25zdCBJbnRSZWN0JiwgQ29t
cG9zaXRlT3BlcmF0b3IpOworCisgICAgdGVtcGxhdGU8Y2xhc3MgVD4gdm9pZCBmdWxsQ2FudmFz
Q29tcG9zaXRlZEZpbGwoY29uc3QgVCYpOworICAgIHZvaWQgZnVsbENhbnZhc0NvbXBvc2l0ZWRE
cmF3SW1hZ2UoSW1hZ2UqLCBDb2xvclNwYWNlLCBjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBGbG9h
dFJlY3QmLCBDb21wb3NpdGVPcGVyYXRvcik7CiAKICAgICB2b2lkIHByZXBhcmVHcmFkaWVudEZv
ckRhc2hib2FyZChDYW52YXNHcmFkaWVudCogZ3JhZGllbnQpIGNvbnN0OwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMTEw
MGM4OTFhZjg4NWMzN2RjZDQyZDZiYTQ3MWIxNWQwYzMyMjA1NC4uMzExY2UyYmUwMDM0Y2NjYTkx
M2Y1MzRjYzQ3ZDlmMDZjMjc3NTliMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTEwLTE2
ICBCZW4gV2VsbHMgIDxiZW53ZWxsc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2FudmFzIGRy
YXdJbWFnZSB3aXRoIFNvdXJjZUluLCBEZXN0aW5hdGlvbkluLCBTb3VyY2VPdXQsIERlc3RpbmF0
aW9uQXRvcCBhbmQgQ29weSBoYXZlIGVycm9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2Uu
aHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2NhbnZhcy9jYW52YXMtY29tcG9z
aXRlLWltYWdlLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwog
MjAxMS0xMC0xNiAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFtRdF0gVW5yZXZpZXdlZCB3ZWVrZW5kIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MjJjZDk2ZTEzZjY4ODQ2OWMzYjlhMGZmODMwYmMyYjU2M2RjYzZjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS5odG1sCkBA
IC0wLDAgKzEsMTE0IEBACis8aHRtbD4gCisgIDxoZWFkPiAKKyAgICA8dGl0bGU+QSBjYW52YXMg
Z2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uIGV4YW1wbGU8L3RpdGxlPiAKKyAgICA8bWV0YSBuYW1l
PSJEQy5jcmVhdG9yIiBjb250ZW50PSJLYW1pZWwgTWFydGluZXQsIGh0dHA6Ly93d3cubWFydGlu
ZXQubmwvIj4gCisgICAgPG1ldGEgbmFtZT0iREMucHVibGlzaGVyIiBjb250ZW50PSJNb3ppbGxh
IERldmVsb3BlciBDZW50ZXIsIGh0dHA6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmciPiAKKyAgICA8
c2NyaXB0IHR5cGU9ImFwcGxpY2F0aW9uL3gtamF2YXNjcmlwdCI+IAorICAgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKwkgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCh0cnVlKTsKKworICAgICAgLy8gVGhpcyB0ZXN0IHNob3VsZCBzaG93IGEgdGFibGUgb2Yg
Y2FudmFzIGVsZW1lbnRzLiBPbnRvIHRoZSBiYWNrZ3JvdW5kIG9mIGVhY2ggYSBibHVlCisgICAg
ICAvLyBzcXVhcmUgaXMgZHJhd24sIGVpdGhlciBmdWxseSBvcGFxdWUgb3Igd2l0aCBzb21lIHRy
YW5zcGFyZW5jeSwgYW5kIHRoZW4gYSBjbGlwIGFuZAorICAgICAgLy8gdHJhbnNmb3JtYXRpb24g
aXMgYXBwbGllZC4gVGhlIGNsaXAgb25seSBhbGxvd3MgZHJhd2luZyBpbiB0aGUgbGVmdCB0d28g
dGhpcmRzIG9mIHRoZQorICAgICAgLy8gY2FudmFzLgorCisgICAgICAvLyBPbmNlIGVhY2ggY2Fu
dmFzIGhhcyBiZWVuIHNldCB1cCwgYW4gaW1hZ2UgaXMgZHJhd24gd2l0aCB0aGUgY29tcG9zaXRl
IG1vZGUgZm9yIHRoYXQgcm93LgorICAgICAgLy8gRWFjaCByb3cgdXNlcyBhIGRpZmZlcmVudCBj
b21wb3NpdGluZyBtb2RlLiBEaWZmZXJlbnQgY29sdW1ucyBhcmUgdXNlZCBmb3Igd2hlbiB0aGUK
KyAgICAgIC8vIGJhY2tncm91bmQgaXMgb3IgaXNuJ3QgdHJhbnNwYXJlbnQsIGFuZCB3aGVuIHRo
ZSBpbWFnZSBpcyBkcmF3biB3aXRoIG9yIHdpdGhvdXQgYSBnbG9iYWwKKyAgICAgIC8vIGFscGhh
LgorICAgICAgCisgICAgICAvLyBUaGUgaW1hZ2UgaXMgYSBncmVlbiByZWN0YW5nbGUgd2hpY2gg
Z2V0cyBza2V3ZWQgYnkgdHJhbnNmb3JtIGFuZCBjdXQgb2ZmIGJ5IHRoZSBjbGlwLgorICAgICAg
Ly8gSW4gZWFjaCByb3cgdGhlIGdyZWVuIHJlY3RhbmdsZSBzaG91bGQgYmUgZHJhd24gd2l0aCB0
aGUgYXBwcm9wcmlhdGUgY29tcG9zaXRpbmcKKyAgICAgIC8vIG1vZGUsIGFzIHBlciB0aGUgSFRN
TDUgY2FudmFzIHNwZWMuIFRoZSBiYWNrZ3JvdW5kIG9uIHRoZSByaWdodCBzaG91bGQgYWx3YXlz
IGJlIGxlZnQKKyAgICAgIC8vIHVudG91Y2hlZCBkdWUgdG8gdGhlIGNsaXAuCisKKyAgICAgIC8v
IFRoZXNlIG1hcCB0byB0aGUgcm93cyBvZiB0aGUgdGFibGUKKyAgICAgIHZhciBjb21wb3NpdGVU
eXBlcyA9IFsKKyAgICAgICAgJ3NvdXJjZS1vdmVyJywnc291cmNlLWluJywnc291cmNlLW91dCcs
J3NvdXJjZS1hdG9wJywKKyAgICAgICAgJ2Rlc3RpbmF0aW9uLW92ZXInLCdkZXN0aW5hdGlvbi1p
bicsJ2Rlc3RpbmF0aW9uLW91dCcsJ2Rlc3RpbmF0aW9uLWF0b3AnLAorICAgICAgICAnbGlnaHRl
cicsJ2RhcmtlcicsJ2NvcHknLCd4b3InCisgICAgICBdOworICAgICAgLy8gVGhlc2UgbWFwIHRv
IHRoZSBjb2x1bW5zIG9mIHRoZSB0YWJsZQorICAgICAgdmFyIHRlc3ROYW1lcyA9IFsKKyAgICAg
ICAgJ3NvbGlkIG9uIHNvbGlkJywgJ2FscGhhIG9uIHNvbGlkJywgJ3NvbGlkIG9uIGFscGhhJywg
J2FscGhhIG9uIGFscGhhJworICAgICAgXTsKKyAgICAgIGZ1bmN0aW9uIGNyZWF0ZU91dHB1dFRh
YmxlKCkgeworICAgICAgICB2YXIgdGFibGVFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdv
dXRwdXR0YWJsZScpOworICAgICAgICB2YXIgcm93ID0gdGFibGVFbC5pbnNlcnRSb3coLTEpOwor
ICAgICAgICB2YXIgY2VsbCA9IHJvdy5pbnNlcnRDZWxsKC0xKTsKKyAgICAgICAgdmFyIGxhYmVs
OworICAgICAgICB2YXIgY2FudmFzOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbXBv
c2l0ZVR5cGVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgcm93ID0gdGFibGVFbC5pbnNlcnRS
b3coLTEpOworICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGVzdE5hbWVzLmxlbmd0aDsg
aisrKSB7CisgICAgICAgICAgICBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52
YXMnKTsKKyAgICAgICAgICAgIGNhbnZhcy53aWR0aCA9IDEzMDsKKyAgICAgICAgICAgIGNhbnZh
cy5oZWlnaHQgPSA0NTsKKyAgICAgICAgICAgIGNhbnZhcy5pZCA9IGNvbXBvc2l0ZVR5cGVzW2ld
ICsgdGVzdE5hbWVzW2pdOworICAgICAgICAgICAgY2VsbCA9IHJvdy5pbnNlcnRDZWxsKC0xKTsK
KyAgICAgICAgICAgIGNlbGwuYXBwZW5kQ2hpbGQoY2FudmFzKTsKKyAgICAgICAgICB9CisgICAg
ICAgIH0KKyAgICAgIH0KKyAgICAgIGZ1bmN0aW9uIGdldENvbnRleHQoY29tcG9zaXRlSW5kZXgs
IHRlc3RJbmRleCkgeworICAgICAgICB2YXIgaWQgPSBjb21wb3NpdGVUeXBlc1tjb21wb3NpdGVJ
bmRleF0gKyB0ZXN0TmFtZXNbdGVzdEluZGV4XTsKKyAgICAgICAgdmFyIGNvbnRleHQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZChpZCkuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICAgICAgcmV0dXJu
IGNvbnRleHQ7CisgICAgICB9CisgICAgICBmdW5jdGlvbiBzZXR1cENvbnRleHQoY29udGV4dCwg
YWxwaGEpIHsKKyAgICAgICAgaWYgKGFscGhhKSB7CisgICAgICAgICAgY29udGV4dC5maWxsU3R5
bGUgPSAncmdiYSgwMCwxMDAsMjU1LDAuNSknOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
IGNvbnRleHQuZmlsbFN0eWxlID0gJ3JnYmEoMDAsMTAwLDI1NSwxKSc7CisgICAgICAgIH0gCisg
ICAgICAgIGNvbnRleHQuZmlsbFJlY3QoNSwgNSwgMTIwLCAzNSk7CisgICAgICAgIGNvbnRleHQu
YmVnaW5QYXRoKCk7CisgICAgICAgIGNvbnRleHQubW92ZVRvKDAsIDApOworICAgICAgICBjb250
ZXh0LmxpbmVUbygwLCA0NSk7CisgICAgICAgIGNvbnRleHQubGluZVRvKDgwLCA0NSk7CisgICAg
ICAgIGNvbnRleHQubGluZVRvKDgwLCAwKTsKKyAgICAgICAgY29udGV4dC5jbGlwKCk7CisgICAg
ICAgIGNvbnRleHQudHJhbnNsYXRlKDQwLCAtMTApOworICAgICAgICBjb250ZXh0LnNjYWxlKDAu
OCwgMS4yKTsKKyAgICAgICAgY29udGV4dC5yb3RhdGUoTWF0aC5QSSAvIDgpOworICAgICAgfQor
ICAgICAgZnVuY3Rpb24gZG9EcmF3KGNvbnRleHQsIGNvbXBvc2l0ZUluZGV4LCBhbHBoYSkgewor
ICAgICAgICBjb250ZXh0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9IGNvbXBvc2l0ZVR5cGVz
W2NvbXBvc2l0ZUluZGV4XTsKKyAgICAgICAgaWYgKGFscGhhKQorICAgICAgICAgIGNvbnRleHQu
Z2xvYmFsQWxwaGEgPSAwLjU7CisgICAgICAgIGltYWdlRWxlbWVudCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdpbWFnZScpOworICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShpbWFnZUVsZW1l
bnQsIDAsIDApOworICAgICAgfQorICAgICAgZnVuY3Rpb24gZHJhdygpIHsKKyAgICAgICAgY3Jl
YXRlT3V0cHV0VGFibGUoKTsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb21wb3NpdGVU
eXBlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGVzdE5h
bWVzLmxlbmd0aDsgaisrKSB7CisgICAgICAgICAgICB2YXIgY29udGV4dCA9IGdldENvbnRleHQo
aSwgaik7CisgICAgICAgICAgICBzZXR1cENvbnRleHQoY29udGV4dCwgaiAlIDQgPiAxKTsKKyAg
ICAgICAgICAgIGRvRHJhdyhjb250ZXh0LCBpLCBqICUgMik7CisgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgICB9CisgICAgPC9zY3JpcHQ+IAorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+
IAorICAgICAgYm9keSB7IG1hcmdpbjogNXB4OyBmb250LWZhbWlseTogYXJpYWwsdmVyZGFuYSxo
ZWx2ZXRpY2E7IGJhY2tncm91bmQ6ICNmZmY7fQorICAgICAgY2FudmFzIHsgYm9yZGVyOiAxcHgg
c29saWQgIzk5OTsgfQorICAgICAgdGQgeyBtYXJnaW46IDBweDsgcGFkZGluZzogMHB4OyB9Cisg
ICAgICB0YWJsZSB7IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH0KKyAgICAgIGltZyB7IGRp
c3BsYXk6IG5vbmU7IH0KKyAgICA8L3N0eWxlPiAKKyAgPC9oZWFkPiAKKyAgPGJvZHkgb25sb2Fk
PSJkcmF3KCk7Ij4gCisgICAgPGRpdj4gCisgICAgICA8dGFibGUgaWQ9J291dHB1dHRhYmxlJz4K
KyAgICAgIDwvdGFibGU+CisgICAgPC9kaXY+IAorICAgIDxpbWcgaWQgPSAiaW1hZ2UiIHNyYz0i
ZGF0YTppbWFnZS9wbmc7YmFzZTY0LAoraVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUpZQUFBQThD
QUlBQUFBTDVOUTlBQUFBQVhOU1IwSUFyczRjNlFBQUFBbHdTRmx6QUFBTAorRXdBQUN4TUJBSnFj
R0FBQUFBZDBTVTFGQjlzS0VRQUlHMVNFTGZNQUFBQVpkRVZZZEVOdmJXMWxiblFBUTNKbFlYUmxa
Q0IzYVhSbworSUVkSlRWQlhnUTRYQUFBQWMwbEVRVlI0MnUzUlFSRUFBQVFBUVNUVHZ4UVJ2TTNz
UmJqTm50RHJ5Z0tFUWlpRUNJVlFDSVVRb1JBSworb1JBaUZFSWhGRUtFUWlpRVFvaFFDSVZRQ0JF
S29SQUtJVUloRkVJaFJDaUVRaWlFQ0lWUUNJVVFvUkFLb1JBaUZFSWhGRUtFUWlpRQorUW9oUUNJ
VlFDQkVLb1JEcWJnSHVGZ0czOU9vL2p3QUFBQUJKUlU1RXJrSmdnZz09CisgICAgIj4KKyAgPC9i
b2R5PiAKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rl
c3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCA2MThjZjY0MjY2YzU1NmQwM2E5Yjg3YjE4MjcwYmZm
OWQ1NDQyZTdlLi4wOWQzNWE1OGYzM2ZlZjFiMTEwYTEzODk0MjE2ZTIzZWIzODIyNWY0IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMu
dHh0CkBAIC0zNTgzLDYgKzM1ODMsOSBAQCBCVUdfTEVWSU4gU05PV0xFT1BBUkQgREVCVUcgOiBo
dHRwL3Rlc3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1zY3JpcHQtaQogCiBCVUdf
TEVWSU4gTUFDIERFQlVHIDogc3ZnL2N1c3RvbS9vYmplY3Qtbm8tc2l6ZS1hdHRyaWJ1dGVzLnho
dG1sID0gUEFTUyBJTUFHRStURVhUCiAKKy8vIE5ldyB0ZXN0IGZvciBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5MjAKK0JVR1dLNjY5MjAgTUFDIFdJTiA6IGZhc3Qv
Y2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRtbCA9IElNQUdFCisKIC8vIEZhaWxpbmcg
YWZ0ZXIgcjk1MTg4CiBCVUdfS0VJU0hJIDogZWRpdGluZy9zdHlsZS9ub24taW5oZXJpdGFibGUt
c3R5bGVzLmh0bWwgPSBGQUlMIFBBU1MgVEVYVAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS1leHBlY3RlZC5w
bmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0
ZS1pbWFnZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzhjNWYzN2ZjYjliYTU2ZGEyYzNlOTQ0
MzNmOGM3MGY2YjA2NTUwZApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTk3NDAKemNtYyh7MlVI
WkB3az0kTWZNZ1pQTmtzJCUkciVYfTEoQlJ7NUo3VjRDSUBMajFPIUQ7UkJ7ayN2ViFDJjJyNDs/
CnpXUjt3aG9acWVuJi1hfms/c0BuOXw5eFk7RiZ3bkx0OXRqWSZ9KihXPVVud2pUfigyVWtkX2RG
QVFHalVhKyhsPwp6YXsrPnxeLXA3aTVzTEVedGwpKitMdGZ2KiVHVFAtLVd9bHhAJG17LWg+OGZe
NWZ0R095fkQkUU1AV0c4dUFyY2gKejVSYUFSVH13ZWg7Um9pbit6QG1EUWopdSY/VWtASj5oSUNO
QHA5I1c/MX1XYjtMRGVsUzVyXnJOJDJ3OGBETCVFCnpIfUtDeSled1ZuZGw3SD81QldfQEM9JSFM
R1dpbj9hcyN6QnMrT2dVWFl2Zkkja0owQGxzMSk0N2w8YHFlZC0/Mwp6YH05PHdYNTdRYUl2MnQm
cEpJOWE+ZHMyKl5CTk5LV3ZPI0V3b1B9UTlyJX1UajsjeV49MjZyUl82TzdxPT5ebzsKejJpRWx9
Q0A3bykyamNtck1IUmZIXm1VbklMNkM/NzNLeFBWczdXWHhEOURROWB7QnNJMDN7MDxCPCpWTz8o
WGZ5CnpeSDl9Q1ZTUGVWe18mb2x7JGtmZD5XMCFAMmMpITIrbyFJQGEjQW1PO0gpJCY8YlBvazFS
RkJzMUpPb3lJeTJXPAp6aHwoNXU1dzVDekFxQExNcSQtQGhJVH5lXlJoRzJtRy1WamRhJn14TFdg
IzF9M1RGVDRsYSM7QShxRSQ/ckRYZzEKelRrS35fZ2F0a1YlaVFqZ3UpZ3piQ2JyJkNOQDx6PkZW
ak47NHQtNVVMZ1MwNlFJOEVAWGglblFlNVU8dFBnT31NCnpYMS1RMm0kQW9fUG5vTExAVC17VkQq
bUk0TktLPVhOb3otMS1HYkhyemZiJmFxYS0pO3tjUTJLKChRV15RKzVxKgp6P3M5dl4qQU8+LWgz
ck5wWXYjZCN0alcqfjZEYTxiSjg/eGN7fVFRTEZgYmMrJCVlIVdxUHd4WEltP0lMX2llXyMKej1P
XjIkXnMwPTk+eipwSTk/PUIpWVY+K2NxJURrY3leS3JodFBRLWRHMF5eak51YWBIeFhmPko+aSYk
TUpkXkVrCnojKTJgSWgjfVFjJihSYDx2JjhqMSlUUHtyKHA9MV5VRWdsanVXLTNtLVB6UmhzaCQ2
RS1AQzVMZHM8T21tdWhEYgp6SHxYZmg4b3xIXzJPKSFpWHg2U1ohKGY0PCFGRTRCMmlsdUlycUUh
YCREaDs0LShzc2RjYzliY3QpbWFGdiU+R1YKenE/dF52cDJyTUBnJHtFRHpiRURoPVAjTDYqbHtE
Qz1GVWtEUjc7SylFcSROcyEmUUg0RFdzM01DNE8rTmNKX0pjCno7N0QxVDZNPH40Y2FHaVN1UUlR
THdeNnRwTSFCQHRMKWxwN0tCQCpyWTtsQFl4Jkk3TCNoYnN4VUdhKUJGZH5haQp6Slc4LV44Wjhr
RG96Vz00JVNFVCFiVHBjbiU0IVFFJWw1eWNJZ1h8bWJrXnUyYkRrSDQmIyZpSVQ3Zk1jcyk3ZmYK
ekxXdjR9ISZ9MTF6dnlmdyM0blVfeGUxUT85KHdoXjlgcnYqeDB8PVRsKlE1V0tfXzVnJUVTOFZQ
NmJJXyllbSs/Cno0KHY9O0x6Sk5CciVqJndUKmlsT2c3ej1XZSVsYzUxaVVkSXhpNHZKISN6fUla
b1FCbzUwN31ycmN9OzRgJUdgZAp6ZUhrfkFHeDIrNGReQEY1I0d2WCgtK2NqcDEwMXp4bnhILStt
NmxUfVBCNGVWc2NQPlBsY3w+UCs/ZUB8aD9fZHUKemMoLX5ZVXcjZGhAKE81cG9YXmpGNk9ZSkhF
PnVRUEtTb3ZXNFhGdVl0QXBFWVo0JFN5U0BafEM8bTheMDAmK0VOCnpDaTxFS0x6MjcrI0IjfEgp
bjdqSzt5IWJTTEhYV3I+OXJSfUtleFBaMzk3YVNBQW05UkxYfXRsP2s8TyFgTD0oOwp6N1MpNC0y
JGorMExCMDMleUhvSTk5aUshfjdjOSVzRUJiNEA0SDJnMStZREAydUMjZj5VKFVxfFlFfUVFTnh3
TVEKemk3dT5nbWpCU2RxPilBXnVvbkNTdGR1UXYjPGJSfDtxJD0hanRMbHp0Kz9QPyQpez5rP1lr
NTBTenoyUG0wVV45CnpmMVA5SlNFTEJ5Kk51Wkh0TStfV2B5OFRfXjUlTyp3MStQNHZFfUojeH5p
aUlYSj9DVGY5O0taKVkpe3M0JVBPZgp6OSYrTmtYeGV6RGNrdEQ1SFZxe0R1IyZGWTVvSko/I2kw
ZVIydG54aHtXUXZ+aFRsSFl2UGxYTCRFZ0JKTV4+NlAKelBUdEt0S1heJU5OQG07SUpHPClKOFJK
JCtSRVJJfDxEU1IxTUVncnhZMWk7QmF+PHVoZ31QUEM/ZWIoQGdKKl53CnpVeHRTYW5nblZ0PkdA
QWk0ako1cHVLPjhzaXtGTEtkQn1fUCtvb31XbGtmQlZJbHsjNnkyT2p1aiVpJHlObCRNSgp6Z1pF
R35oWVUpbUVZXz93dVZ7NmZGZz10dWhscXBvZE0mcDQ7dzFybjU8VEI0UVF7ZilXcih0NDBHeEBV
T1c9UCYKekohZ0lyUF53a3VYV0sxQ0MxUVdmcHZALVlhQz9fUzFjZVplbihHTHpRYDc5O2tWak95
QXJvWT1jdks1MlRVeHV3CnpSUHsyZjdAbExMIzZFQjtAeytQdU0zQ2J6PkdPOFVuZHJOXmtzYDNf
P3t8XnRudFRuVTc+e30pe0tNU1JAQXk5dQp6bj8oYSU5PThKdHtuX0xZRUtZSUYkOSo5YjZ9MG8l
S3t6KylAK3ZiRWk9QTI8TTA3fGJGdDJsPXMtWGRxdHZYdngKemxeNX0pOX14X2pIYGlSbXhBYDd+
Q3E2YXkxb2JYNEZPdiVAS2Y2bnkrdipZekRNaylrT29xfSZQSzlZZTFyT3x0Cnp1QStQMERWR1Q7
TnkrMClwVDVAZDxVfj9GJD5ebitCWGBkc0I5fX1gcUFOJilLVjhzWlhNMnh+bDg3OWhjSzA8bgp6
Ymt6WShEa3k8cSg3Z1pKUzRLfENEPDgyKWtpPiVPUkp0ekdJTTczRUFebmpqUihTWFZMayVSTk5F
Y2FCRmVJcDcKemBodW5XVm9UVWRzPj5ETnI0NShCc2c+OCNPRT1+TkEwJT08eVd5MkBeRFBUKDMo
YUBuUkREIyhMMEhIYWdqUFptCnpua2pnPiNueEshKCgmM1A8alomMGcqQipqNkIySGxLclphK0Q0
bkFhc3Q+MGNHcmFXZDcxMipDaS1KOCVwJUtEdgp6Xkl6TWFxaDd0aURifWl3JDZfPmw+SDc5TG1g
T2hqRjlNdjt5WF5+KTtWVT07Q2k7Tn1TMT5CWHdnQGJZKVR5LT8Kek1kITlTNWxSbnJjc20hTlg/
QGAzaFIrS0t8RGItRnk5fn03R3F8RF43eDlESyRMUjdaPXFIQHVCWVpqeWRHZD4tCnpVPEh3WiFI
PkJXY0l8fHV3bmJKITlILWtTMnhUQmlaSXhZZT00aV9FPUI0bE41KnBUNVZJU2QjWU1Zfl9edE91
OQp6UmolKUImSldUMmFDRWZEREh6YUllNisxT2FhOHw9UF5JK3J5cnQ0MkZfYSl4ciZkSkR7YDcy
X1QwQnFva0R8QjUKej99RVZYQlZ6KXNIYVZrOFduYjQ2TURIezdIdz58eDZKdm1fcDFoN147RVRf
fCFmdlpzcEA/IWY7ZH49MHhOfSQ7Cno+R0MzYkBTQ1orWiZUfCFOJkI1MEokMVo2M1AkI2hMdzYl
MXFkYVgwbEUyZ2JPMFpaOVN8cyVOJGAzKShKMGROLQp6Qj5TM3s0WVRRVG5+bTY7amlsaDhzVjdB
S29kQVJSMHtTMnVpMGJ9WkdCRVZSXlglP2d4WF4pbW5WOHZvZEV0WTYKeiMjJj4mblZxJVhXdFhI
ej9XVVNAenBeViRgXlk8OUlRRkQqJnY5KExOfWxPX00tPng9dyREeFNzOXAzRU9kZDQ3Cnp6TThP
aHs+YFEzeEcqTiRpSzJpN3pwc1k8WDZSMTZkJm5mSVBFKTl2WkpJbiFjcyhaQ250WG57ej5za2VN
VSZ+RAp6WEJIRDlIZjhnNWBTen1YJSh1fEV3Yy1HIS16OEtue2s7Vm5pX1BBbWxRWktfQX5vXlhl
S1p3Mlc9bzxzdT1MTm8KellmI1NhOWlPNXIqKEEqJCU1Xi1IaUgqdGQqfXM7Z3UyXkxseSpFZHY5
NmVZd2wmaVhWRGJPQGY9QHo9YFIrVkptCnpsZSNtfHJTSmlCbWozVTFqWlpRdlNHdilAOHdnMyZF
Nis4Q3c/WnpgV0ZgJC04RXU/clZrUTU9Q1hwPiFjdWBXQAp6Q3FrJSo+S1V5clMxeCZ5PzQ5dn1C
JlFtTEdMdHZTc1NETSVCbTxfN1dhUDhmNV5FO2MwdTdAZDVhPmwtdVgobXgKelYhQVkqdjlZJnE3
d14pe0hlXmNRa0Z7eE9gQkklXl9Re3gzTzUofnc0YkxSPjtCMDxfNTNARmtnKzBBYjRZNVVRCnp2
S0YtbzxCcDh2QiVTVzJwdX44PUt4YEJ+SmgwciV7P2x+dWBBcHdPKComKjdpeWkhODglYmwhSnB+
RHAjRlhjUQp6XnR4JkRtVWdXdCFrcTI1Sm98cmw/bi1gR2BBKitgU2JyQTN6ZjRLV19ja3w9aS1j
LXlqcVR2PjtEKztKdnh3fEcKejg5aT88SXNXPnR1Z305dCZ5LVY1X3V6WH08RXJ3ayo9Jm9hWjhM
e21edHNXTDghUWp3OS1zM2BNd2FCMz5jSj1ACnprb19hKXJVfEpwdWQ0MSNlbFpHYF4qeW9TT2NQ
biF1eVlKUzkwMFF6aFVyPEJ2b2s2S3Z5Rz8mbT1OMGQlbkZAcwp6cjg7V2g+I3JgR2BlbDFPT3VF
Q1ooN2ZhdjhuLW15T2NRX35aa1R7bHNBMjRTbEojT2tNSkRrYGNJKU89YXxnP24KeiFpVSZEYWBn
NnwmRmBjK0o8PElMTXU+Yn13ZWczRExLeTBJSWMwc00oJF87T3dHRkFvc2kydV9qcFgyJFFNQ2Mx
CnolNXgxbilXRkElT0smV0c/c3x3SURQc2lrOUFzY1h4dTspfFFFNnAhUTdKMy1vQmYxZE4/NkNO
TTs9WTZZc1lOdAp6KTEjfFVMZzhyPSU3PWwmNFl4R0tobHM/emxuN0g/JmVHPFllZmlqSV89TVct
Sip1WE5uUEducTF1M2dOel9WQkwKenR8UT5majRtVSl0NTAzdSRWUDt0NH4zaHw7JkozS0dSc1B9
dk5fKUFJPCorV0Bab2NfU290WXdjN2pwIVVqYmNGCno8cXhxWjlLYk5XRzthTilFKXEpZVcjcD5y
WFpZN1JNdXpRaiRwY2t0V1EzI0dXTWN0K2ZkXj9oQT1PaWtNZCMtNAp6YlR4JSNfKXJWKlVkbDwq
Mk95SVcqI2xxJE9XaVY5TlotfUR3YyN1RVpaVExNM1gyb3FLfG5BQ0FOYGczdTRvNEUKelAxUWBO
Q1h+elpJTVVafEVXclEpJEJoPEM4IVJQU1RfPCZhNVFpPSZjRipPaEhnI1oyS1JQe1ZVWCErSVVk
K1F3CnpOPlQ8LXd9cGJ9M0JoM01RaUcrMXJMbklLek9NIVQzTzwmfGBHU1YyUDxuQlpeWXheN01U
O3A3KmMwazBjbmVSPwp6MGt+Kk5pSl5hUGFtdj8xUUowMzQzayRQPnF+YHBVR2dsRENINlc1eFoj
RzZuaEZXR3BESCo1aWljR3VUQFo5SWcKekY9WXE/dkFsPjFOdGAydkIhclplUX1GRHxPb189KUti
dGJpWEhXe0FZQDBCLTI5P1BPPXdHaldgPD85fWM2QHtCCnomQFVgfTBtJFc9OUk2PzUmWShuISVM
QTdEe25SKShVXyReQUZhKVNXQFAmazxJdm5hVkZoQ0k1MH5SVCNhMVRaOwp6ZU5rYHtDbGE+cz83
OHZGVXBJKWV8SmZZfDBXKXtwUjJtaFhae1Y5NnV0KkBrPntXJmRFWFE/KkgxKzZAc3V5QmsKenVS
azdRU0RFPy0mVCswND56VTcmT2xaVklsdUJhVE9gKilvQlBJXyhNNzBqYUJaOG9NVVRfJjlzS3ZH
antIMT5fCnojSy01aG5mel5kKmZKOXZWIUxFTmtvUEROK25oPWJ2c0UwIz5IQzR+Skl9ZFJkTURa
VW48Kz12YVVfSnloIVY1egp6Zll7d3M/Xn4+fnpeOG5CbDNWQ3JfWTFePUxwdmZWMjNLUDx4S2V9
XzAwQTcpQmxiXiQ+ITd1RnslTmR3aT0kbkQKekY8SXM5OTAhdUNxTlFxUW02US1pR0d3ZUo/VCpV
VTV0VCkjTntDMUJESUV5R24pZip6eGB3fSVkVH0yO3BqYSZUCnpBdiFMI0pRSHIyNkRwaWtMIy1z
d3BPRlAmQklVI04jS0BrSUxmIVc8Xlh6XzRCUS1sMGllSHExQTZLSXVoWV9ndwp6YGYhN0M5KnZr
ZzQpenYyQTVMcD04bDF9NzIrUEkmKHRkV3l5fG5NKigke1JuLVp+bCNrZW4yOCkjTElhI2lXbF8K
ejRyUDtXUzF9eztWbHRpJTRYKmtkWjdGc0gpallZKHBmaE44RmFNak1ueXBJJjw1NWhsWDVvKGFW
SHwjdmB8SE5ACnpgSHlgXyNfPyV3eVJWa25sWENkcF55VGlLJHJUWHF0Wk19TDVAdG1VOE5+I0lC
NFh5cEdMbChKOSt6cUZoKT5RZQp6Kih2MVVfKDxlMStqdERPPl9WTDJfSH1VT1RWRkZjSCpjJVFm
aXZqK1RkZWxFdyZ4M15mQSs8fGk7JGNnM1lSKVkKeiEkLVIxYG9vKE5nKVEmciooSFpyaDRQR2JT
Kzc1QXQ8OUdoXjt3OU97N3JqVytVdSFKNXRQdjB5VnN6JCgwYGNXCnpWXn1nRHY4eCMkQ2VLUWEj
JHhFJXFzZV5UPWE8U3dLej4jbHk1NHxJT3RBQ1lOJm9CTXg/aCF7bUtZPGE/TzZpdgp6PlNtZm1B
Mm55c2R3UXgmY3RuS3Q5SkhNRVBuZF85TTVhPTloMzBHdT1XcypFVFdCLWBDJkNPOE1OJFVHZCZQ
PEMKemE5RCF5aD45JUxLVXI5KEtOIW5tU2g4RXYoVGtuTXZ5S3hAKlYyJXdEQC0+VDdSPFFNKXtS
dnpnVG1EWkFAb2x+Cnotan1AVTZ2Jl9GUCF7bElSYjBKfis2X04lXigyazIlY2plU0R8VWJNc3Fz
SzJ7bGZ+P3l5aVdOTVBuI0lJTFJGQQp6M05nb0UpYCNNRVBja2UzYmNaRiV0SnJ2bXJFNCM4VVk/
Nm9XJDktU0N4V3pZcG01e3NDekZ3QEczVFd4IUwzaEQKeiV+TiZ+SjtfS1kmMUlPSmdXSE9EZl5i
dVlLLSUla0kjITVwOWNBJjs1fGR7R1JebkgpTDwqTThjanpqbDNjb1Z8Cnp6dXxOKnNuaGlZdzQ0
X3RQZVJUcTYzUjBNbmk5a1opSzR8VTIxckM5V253VHdnUUpmR15WVTs8Sl44PyU2OSpSewp6Sj0+
ejdffFExSXVIcXBCPUA9MDhieS0wT09weWFxXlNUQ0FWUz9sdEBMNiliR3M2dmdIeX4yNUNTRiUq
NmF6PyUKej0raGRvKGBkOX49LWVWKHVZUnpnSVVXISM3ejQ/Z2loP1oydmVZJWZedEx7VDNySXEw
eyoxI1JjOEhCI0t3bnpHCnpVeU5RSEgqeWpWVHduKjBDXnU7bzRIS01MNTVqTF89KTI1NjY0WmlZ
NShGIzdXVVYtfmtjYzcqU01HXyVFQVZhOQp6eD4wbSkjez4weUgheDkqM2B+MVVyVHA4VWN3fUJX
Tz49YSgpfCQ+LXRhYlh3ajhFJmZLfGdjITc/WEkyYlU8RUoKejxlK0Bae0dMX1RuTzBJcUF5WD1R
eX42TkI/NFkmakVyTmxJRVJsaVh2QyVoSjkpbE9NbGpKZ2g0cSoycCF2RHVnCnpIdDkhSUVVUm9I
QG9YWH1ZMV5eTGJseyFvcHlGWTlUcj1zKHpRPjdaPjZoYHsqNnxgWWRQNEo0JDlaZT1KIWEtUQp6
O2kqeDtBYVBKWShyNW9MTkZyfGwoTnRnVFBUeVA0JXxhT3xzZUZmPCkwfSR8e0ZefUZeWURWMz5S
KS1OPERCJCUKejBNJXJQeEw+b0FnWkN6UzxzZjl1U19AeWRYMDRGU0NoRVAyKzFLMkVxRjw2ZFk4
fkYhaUVkMm1nLVk0Ril4T28rCnpTIX5BWCt6Ql91a1RYZWMkNkUqNTw7JWR5UCY/IzUrKVI3Pks1
JiE4UzxHeSs/XkVULWllJXQpeTVTNm1aeWQtQAp6eDU7PnUmRCgzSFNlVSpIYTQlR0UqOFVgXytt
KTZsOExhdGZLVHlwcWA4P2xndT56Rno2fVFCKV54UV5gWUMlRD0KelFTNS1RPlRLcFBgV21zdW1v
QnpzXzRWX3NeQFFvZmNlRmxsWmNGe05AYG9zITlFIz9qQlheRGJ5MDJ9U3h2enYqCnp2TXxjViMt
S2p9TkBiOUghUHYjaFVJKjIzQ2JNYmJOTXF3eCp8cVpHJDJGfjVAe2VFTyo9ci1MKVJyMWVDPDEm
JAp6cGwqNDRQfW8kP2FFPmVxJTdPN09RZXolSiY1bSRFek03a0ApUSg8UXFmSyl8Uj9ldmo4R0RV
Ql5HaV80T0IrNWkKej9hTyQ1eGMhVCQmX0JFO2VyV3goZ1NeZzFgIUVgUV90TkJCZWE4Rks+KXtF
NShva2M+Zk8pJmdUTTNtRUJFOVJyCno/S05NeGNpdGZeOFkhNjdSYDhgOUgtbUFBYlBKTi0lP2c4
fGJPUkVzdCpNVz9vMGkhOD0hY0RgVVdzUGF6NHhBSgp6dE12VHYwT3lQWFYxPjlxVVlwfkYrenRQ
PlRydkhTITtic2JEVWl2Y1cmRT5tejJmQmBUKld0ezkycFdAMyUqbTcKekJBPGI3X3lQQHh3I1VE
O0ZQeyY9SE1gNSphcVMwcj9Ic0BBVjRJWTdtQ0g8fEt8dTBMdGtZTHVvQE1gLVhQRnReCnpkdjEz
NEJDdkNIUGVoUHQ2Rio4TXdfcyZUWEpNaHhAQmFNLVNHIWtARUFxZG07X140bD9yP3cxUDNVRDN2
NlI9agp6dEdkPktDTC1oQUN5Zm1mQTw8cDNfUHVKO143NSNCdjZIRUdkVz9jWiZwOTBBeSlVV08r
djkwJDR5fjRkaWkxVE8KemooU3tCX0NUZEFIIz51T3gpUkFYKWNqVGhrSEcyXzJ9fWY2TXUkVkh1
Ry0wI2N8cyVNejI8YFpsaGJVamlhTnJaCnpgd2luYHBJNyY/PWllTllFMWgrUk59PVA1SS1TdiNS
RHlGbWdIcHw0V0JCbT51eF57U3d0bXkhUzNheXJZZWUqIwp6ZHJQRVRSMERBcnpVTE9ARjFfb3Jq
dn1xPUgwaHhjZjcmV1Rgb2FIc19vVX0kcXMkOVl2MzwhZShqbk9LIUtYPWQKejwhX0A4aUh0dDk5
RiU8aUl3eE4/IVh6Rk18Mz5kX0U7cnloTE4wPzduYDxeZTFJOFNkbnRMNEtlMFg/V3ROMVNVCnok
Q3J9ZEp4VitJPWI+JSMpQ1JQWD1ELXAxd2RMZWYwKT04S3E7fXNhdUBvJDZmYH40MkxGMSpSWGBY
fkVLc0xiQAp6Y3t6XjBoKjdmeFVLYGY9c35eZXBHOHJhT1F3aTA4dFhSfFJIPWpEVkBNOHk1O01P
M2cpIz5rb3Z0Yklzb1g9bkIKejNHVHxzQlImSUcxdVgzRXRQMXswIyR1U1NLMzwwfHVsT2BieDBE
clRAZ2ZMMyNYMEdfZjs4WmUyZzApSURkKGMrCnpGOTgoOXBsUUFKPn5UUykyTkIlbWt9WTY/Tj5E
ZSpuWlp3ak11MGNDcllKcDRqQTgrTko8QW5hNnZiOTNlWnBoRgp6N0Ala0I3KGhVTjxTUj1XcTxM
PGVLLVVLNVFlYncyQyplPD9vU1N3PCZ9TVNrZTNJdz5ULTtYITFlX3JebmQ8WDcKej8mZ0d9UlRl
cCsqZjE5b1R8bU9ZMntFNyF7KzFBPGpvd1A9YkUtdGpWbDhJZCZCRU0tdylSQFVuSUx7RkkhPSZt
CnpnNGBVJEBDSn1DVmB2Z3xqUlA0VkJ6Vl8/Q0Uta1Q4clByUipzPnxvZktgTU9DcklgX1pDLV81
SEptZ0hNdEV4OAp6MSZNSzZIWHxJcFc2b3RhKmcxVEt4OUllR3o9KSZ1O1h4SG1UPEhNQGh5WHBh
VkZzOEY0IzE+Zm1TJUBsUExUI2EKejtWbVM2e3MqYz40Kyo5TVR2P0YmTU9zYihqYDQhZ0lKOX0t
RkJUYHFUP3ttVjZkVUJuXzx1TWJmTDFmciF1bVFTCnpxajEoTmU+PmRCQVRtNHFFX1l0TT5DMnhk
NDltMXpQISZ4elE7OE1qIUAxV09YaiZhSjdqeSZKdioyeGo0RHo+bwp6Rn5rUD5HUlVGaCpJNS05
dWtrZVg7dlZ8MTVGUmo1dDJYJWx5M0ttZXQzKFdtP1FMWGFpeW44MDMwMVQlcTAkcG8KemBqRjAy
T2IpcG1IamNgbGg5TERUI35FfmIxQ1Y0fkF+QzZURkBQSXBvMT0+U3tBOz5icGBjNHxAM3l9Sl8+
MjU/CnozUW9MWHhIK0BeQkYxXnt3PEpTU3FuU2haWksqRCt3YkN3Y1dmKzJwdEV1UXB4emhYMkE2
aD02SmppaiUoTWJlfgp6TSVZXl9LPTVqUyheUUVRdW02S3B8NnkkV2E4Xzh4MTJIRzl3ZUxQJUFh
fU1gfENIayZlcDRDa247c0M7Qn4tPjkKemNNU3VKXj9oPHFNUHBzSmEwYGxWKmdGcVMpJEVoJjdH
KTZEUkl+aEY1aVVrZUdUekJZan18bm1FdTdVT2RqNlZ1CnpjKlpWQWNLRHNmIXNlVX43QCN7QGdi
RF5UdEZRM3o/TDtSO3c+IU5jVm9VYkxsVVFqIUZ4Qkl9YmJeVXZ4aX1Kcgp6MyZ7NHN1OEVfYj99
SDF8LWdhKFBaPUg4V18tQ0VETDtKP19iKHt3R0wqQUFTYCMkMC0pWG8xRT1nK2EtcF9vJGIKenFK
bUBvI2RUdj5VbnBsOG5YaElgPWJaRVZNZmEwcllifSVFbXdpdzkwcTZtZzEzJTA2VVd1V3ErMzY8
diNLdHE5Cno3UGJ2Rk1AQCNDQUpENiMhQnYjeVF6bn5AcEU7OXJaTWFCQj9OXyZDdkJsNH5WdzBr
Qm5AYFMtYGI0eVpPVjdSWgp6IXl9VUIzMUszOWw0WksyaFIlfUR0PEJ+UmQ4RkBneUBxTU88WUc7
LU14fDBhKXFEKWtTKiVtXzxlYz9xU09Ic2IKej88QVlYazBZaW0zNDdxej0mNnUzKjg5ejVJOE50
XnpCKihJKHo/KFNOQFRFTDEwPlU5bnZYJW9SKTYtTFNhKVhQCnoke1loPXckRGp9OUdNcDs9YD5f
a2RaVW5+bmBqT1lffV9qYD0rMHFGOVV0dUdUQjdaZGotNz4hUXlafUpNOT82dgp6K3Ikb3xTcG5C
VVFDM0h6YGApT3w4bkV8diMxJU5ZYFhVayo5QF9eSW04dFJeUnh7X0dnPmJvcHc9eVFmODZtfikK
elNUMTg7IU1PMX1kQih9NEVnZHAzcD5lbWZuVVIjZHBkT0ZaZ3ArSDJ1e2RvezVPUCMtTEJicHko
eE9MZ0peNzB3CnokUCVROEBuPHxDQXsob0VgczNWcypOZ2xQOTtoSkNOOHU1TGFpXkMmTz1Ua0hw
anMjKmhCNjwzayFZTjNPZDhBegp6XjNINzs1VFBJYTAmJDVQQiRJeGA9M2hha2ohQ1FFMClrPGVf
Zm9uPzkhTlc1c3AwZSlGclhNcDBiSV9mdTEocFAKekFWfj1GPGxaN1Q5NUc2OXFNSlE1aTU+SERh
OUJKSV9QK3d9NHw0X31Xd3g5Rzk1YkE7Z0Z0aDwwZ290MTdFWCYlCnolNUpoelhBUF98ZmVzIX04
WTZyNHZ8QWtyampgdiEmYWN1eyUzdCZUPVJFcDIoZjt0QTFMXj9SKTBKTSZkR1MwPwp6Q30ySj9a
KFVAZzgwZnA4ZFFtVl9GczlhVERzbWZuZmBie3JLM1NrMkRFVGY7ZkNhfDg7N2BhbFhHcm4+dyFN
TCsKellvR0xNTWF0OW1HTG1yVHN0YjJPIU5iVThvZGReRmtXVHlNbzB4USZqcHRPb2F2Vz9QZSl9
fmQrNVgqNXI5T28/CnpFO1E0PUxZXm45T3ViVUB4Z3ttJHFtPXcte0okdCVRcGUzbyQ9e3laXypQ
aiN5cU1BJFFyajJPPVV5LTxUd281UQp6eDQtdmktKUl0RGcqbnZsUGlPeGgmaWJOJiVMdkJRPU0k
WUpQb0l2e3tjXklta0JCM0xRb2B+Sy1kI1p3MkFSPEoKejB5MUdATkhwcisjRVd4ODNRUjAtc1ZH
NWNob2RfUFRoenlGIXJ2cTEyPz1xZkV9fD4+SG9AcXcrVllFPGRwVjRVCnpad2hLVCRDSHpoNUJL
UWJxfTJRMzUldENPa3IhNSZBdk14Iy1RdVJyb34qI01aZUAobVpeWUlZRjF4O1Z5YCZiSAp6KiF7
RCt6PzFJUmoyKWxReGRTdVlKJk9pQWh1M3x2JlpveiM2YEFeY2B8XzUtI0xpb3RPZnFYLWlGQEhp
MX5aUTcKel5RR20lUE87TFo2dH1FdUs9dTBJKkttRnRFIV9CNGt7P2tjTFk4eiRxR1ZJTDc4WFQz
eUgzTnNmS3puZ0V+QHxRCnpQdUV8aU9OUElnOWxzfFBAMl92KUReZnR2dDFrJGROZl4pbHMtI045
P3wrfEkpMmNULUJpSlFAR21NYXY5VDZhagp6JjkpYGNSaldmWHtHdjslR1JyOzhzeSp4a1NAMCEp
JjZiYDMqJG1iQlYhaWRnMSRkOyopTTJ+eTVXKHVwYClHdlMKelRKa3NqUkxNRVRqUjlWTms3NEh2
Jj9MeVMtfHUtI1pRdHUkP0VhMHYoSGUwZHFgbEBPdnhrIVREfUF7U2FZOHMwCnpFXmVoRT16TXZm
bnY+V0REdjB+OG5fZzhIZmg/TnJpP0N+fVp6Y0FQcz9FUCpkZ09RQz9UOzdXLWIlTCVQI2FyVwp6
e2wwNFg5TnNRPD5pdEY1aDxvaSk1PylhVXlSV2oqbkMzVSs9RzJHYHNjWGBxez0+MXMwX05TV0hH
WTFtTEMoRz8KenBoRGNFWHx4OE0pYlMlZHp5eTM3cnhMUnFlLWJjfExwNWVPO1p4MSNUTzlFRUBO
dnl7PzRpblIqdnNnV3dYaVlvCnpXSSpubzJqdVFLI2tsYWtwWm5XLTs5UW9uUFJSK2dpRG8hdHMw
fWN6V0Z1WnojPC1AQG9wPExaJjI8I197Z3Vvbwp6bnNfTHBJX3MkZ1BBRT5wSCp2QGJYb2Y7N2tJ
eH1oSm5OaXhTaXlKR1V1V2RebmFAYl9kT1ckcytyMmdRWF48dj4KemlHUzZpWk1MRzxYTj8qcHZh
UypDVUQ8Ozt3Nz1LZTchazwxcSQ2N0s9JUgjeDVZaTkpPWpSNFZVYkoqRDNsVDlLCnomNkBoJShe
JE4yYEh0c2lTRiotIzIzTE1gQjdQQTJxdCNPIXsraXMzcjxwZUNIQ2FwRk9DWmxfezhYSj0tNzl8
Zgp6PGcmRnwmV0RlSTZ2YVBPPVVmNjhGSkQmcnN4e0JLZzdaVClgSWolWT94QVgrITw2MHlOYjV7
JCFfPXlwSU9sYn4KejF+eXBwaHswd3ZldEBAN2txd2VwSUB4dyk2R01JRCpUJXJXR3R6VTl5M0ZI
dFVTSDZ2YmdYX0JKVmJQaGxoXz1LCno0VmctcG1sVksoeF5nbyk1fit7KChTbSFpSEJtRWFXZl9a
MkEwKCgtczZZSElYJHRtKSs7UGg0O312VSoyUSN+SAp6a09pTzVDcExmQ2FMbVJra2xJNChpLTVG
RUckRFNhLWAmZiFxKVFxMyFGMUBVQitiJUV4Pn55UF8oP2E8KzBjTVIKenVSWUlWeyg0c0dkaDd9
MVN5cHxYO1AwdFJhS1FgezhqWFZiYkkqbm1tLVBpeUVfKjdzXmJ8aH15MWR5SyhgeXNFCnohLWhO
dURhKTdSPHRGMEx3b08ydUZzRiRwOEpVT2BibmFZMSEqQi17JHoyej1BY2goZ0pVS3xGZ0pkVVpM
NHNQMAp6MCpOYl97KUVpc2FFK3lOJWV6VkhzdmstTEQ5KUdrIWFwIWwtTnZ+VXtQdX4mU2VSUnVe
JFI9YHF5PSktK21DbyQKemNgOSZKYlkzPytzQTQhczBRNV9hR3w0fiZJQj9oUGdDVXY7QEBuQlM2
blBOQEMhPHJwO3V4OztWZCFkezVpQWpeCnp2PDlFS0NGc1R6cyQ7WWYtIyl3bSY3N3A2V3A5VUlg
VzU4PHUkMVNzM2x6dWpidE5iM1Z2eXJBZHhpc2BEeGF3Vgp6JEZ6NVlBSU9ieCN0U0luKWRwV3dl
K1M1bDBlUzFYPmF8RmBgc2szbm0+KklQenZfb1N2XmBrTWU4RnRJb0N9SGYKenRtNFNObkUmKW8/
IXcyM1NkeStrUyZJNE4rZGhOOHxIR1d+e355SXNUUG9rXypMbTxaKFBYek9EXl9HYXpgOVVACnpG
PiY4IWYyc05IbH5IOFBwMCkzOD5DZjlOUVo5QT5VXlomPWwqWlJ4P0MrQDZuUj99SlooMShSZSt2
OUtaWW5TXgp6ZjBheV87Kkh2VCpHbFk4PiVuSyFwWU4ha0wpa1Z+ZVk0dWVGSz1fNytqYVVJUnZC
JnhuaHRPKTV6JHExZWpDWkkKeighSk5Pc2lXcyhQPFBxaURkfm12WWRYWT9eNSljai1fRE0zTXVF
YmhQO1NNSUlSNUg5dmlqaDdrXnl1a0JVUm16Cnp7amgpR18/Z1UldVdCZWt5TUUybGlYUGBNJjhk
eH0/Nl9NYygrWm9IJW48I0lSTClMKWY8eTwkSmBzRDNiWTBHTQp6eTBpKW5oTkJkbCFfZXF3Tl9+
VTJIeGtGc0FPdj9lbFZ7JkFZPlR7PGk/Nyt2bF5QSCh3QzI4fFZVamFed2VCTU4KellYNUloNkdT
b2szZXkwamVrVjsoVXc5VnwlVmtgSE5xWmghJCsoMkQ7cyFFOVlhKS1xdER7OUM+Z0FUXy1NRSpI
CnpLYmZsQmFtdk9rYWc4Yyk5TFVfYi0tdmFaKiVWY0oqKkxGfl9UWSFtUW14KiM3YUBSPzJuTGh7
OHJgUT8oMzI+UAp6byhsI01JeEd0LSZtOWM0PiVGQil7P3JTbzM3eGhzMENKXjdJXnJEMEFlI2ko
UCtOUCtxdj5hSVpfP2lTY1cwaGAKeiR1VE8qMlR8b0lzLUYyaD9SdERKNX5rWlZ3eSQhPCEzO0I5
YGdDSEpqJldjV0d1KU9TTEJzYDgrMFBmYTJUUTlDCnpmbWBEeGQjMG0zPVU2TG01S1dgNl9PTEU2
bkd9ZlkqJUBkaCU7TCQ5TTlAKiV3P0FITjR0JUFSOEdoNUdCWGd0agp6dUVtMiooalglK04xLVZM
JVZQWXJnMmJLIzIrRXU8bmZRSDc5eT9WZjlTN3l0Z1NgOGFaIUN+KXZwUjg9XlhFVyoKekl8WkJA
WihWI0VYSUk0KVg5Ul5tYzElMipeZHZnY1hgKm5XVVZheHpUS0E1c242V3Q3KFBLTXQ5T3dRZTNj
dl55CnpiX1dfek4tbTFfXzBKdl9IbWhEaiZuc1chPm9Ra0RxZEIrODVMJiopZD1zQVAjT01Uencx
eWFNLVZhVE0oJEpkPQp6ej93MXJIeStgWF96OD1VQTAtd1BeNnJ7LV9TWjw1TDc+QiNoNnQlcjgh
QTcyK2BHfWJtZGAxfHR1Ukk9Qkx2RmkKel5IcDZXMThFQTlIfWtSIUhUP1N1bF8jYjgyM0ojXjxQ
cHstQU5aaXk3JEJnbjs0aHM3Qk5BQllrfnhtUitzR0lPCnptQGBQMWdIKFpPQk44TnB5ejVwM0FV
dz9FMGghR2ZoM000YDVIR1JSVWBBY2gxdnlqU3BqXzM3P1pTVjlPamhCOAp6OU1JRmdoZXVmMjFn
WEpYYSRFfEQ/bnxiQU0/JHpQSzh7RFE/UEFgKCNMfVkzSHZUM2VsZGBXXzYqfnI/IyNOaV8Kel9n
N0NNQFBhK3ljPTdQVExRSUZjPngqNVc1I1kyS1o5TklWJCoteHphcn1Ze0NtPEkjVl5sTTZTbiNa
NDNVND9lCnpQWCohZ19tfU1wI2crfW1BVTE9KWw3MEV7VEZyb2VIWVYmZF9rWCNDeF9oaH5NcGdX
WSFiWE9UTyR8U3VVa2R9bAp6NDM1SyhQdlM3OEBRPE59RG5sM3R5ITQzYl5Vc2hCPFheQWx2IWFQ
c1hAbHxQN1g+RVhuJD0jQ0tKejA0aGohNSUKenNFPj9oU1QwO1pUNyEpcmZDdlpDOStPMGB6Kmh0
O0Q2S1pzJFJIMVZJPWtRcDBJcD5hb3Q9SWhxYCkpKUVGMXpSCnpkd1pnJFZWNCRJSnolaThIUW13
eUNFRiZEaXtuNjwqX0opWSlaUE5wdzdlQUVOQTtKSzVxMUx3UUhlTGshckEoQgp6KndjPmclZzRf
NTxeNCN4bntxbSZEJmg8VHJLb2BWPDZyNkZ8NnE4U0l5Ti1TaGBoUEQlRlhnR2o+VE1vJlBQb0MK
enZEOUFOTFV0dyFJWTN7I2EmN21tUSh9SGFodH1IKnBIMD1OWDU+dFU4V3U+K0V1U1d2R2lYfWND
MH5qO0goITNjCnpKJG01PXNQZ2t+dXctcXJVdC1UJEhrK00lQFYpe0ZZaygoRXItSSZHYVlKb3tu
cUdBWUF1O3I9cUZuaXpUb2xacAp6PVh7XnphdnU9dnE4N3JRYEYqQjI1eGFvNUAhdVNhJUlLX0Jj
fEsoekV9MEdoKXRiO098OEVuUW55Nko3K0M/eHsKem5NNVFIRmMobUEzTS1hJF9HPjtZdX1MM1Q+
ZGwxKlBESG50YCY9QENMTShrZFlSdTEkTXN8aWNNQHYtNTAlaTVnCnpwMEFqX0xfWWo+e3Rlciox
ajxCZHFaKFFGT157NEVmXzVWPVNLdWh2P30qVSU7Kyk8bTlFcmswTUFmdkU/ZG5gOwp6JVN6NHNH
YEkxU21CLV5gKkpwJTYqdSNCMENubX1FZFJHZUVzOzJBTXN7KWFoS2pvOTE2QVdJQG18MVdLUylL
PGoKeiNhcXQ0MkpnUUk4OFledklAJGV1elU7RWh3RmJTZ3VHLXNwcnxLeDRKO0R4RzBmWUYyNDc7
TFAzXj0xbHtALT5MCnpOdUJtNCZJMXgqVzktdktyWjA+S0pPfHZQOyR7cjlKRzArPUI/c2AkWj94
ZyV6V2VmaCVLbHNGbDtTWTUlUExIPgp6PVgrS0laTklCQHt4fDsobSZfU3E5RW41OSExQ1BoeCE7
VjtIZllqZnQ5XlVFWngyVHVDTTdkey03JFNtQWV0Zm8KelZ6bSFtJChPWTx5VU0tTmBNfip3cWMr
OTglUlFgIXdsJTVXSWI8Nns5NnN8MTY2KnVKdEhfbGtsX1RWQXtOTmN5Cnp3S3E8Qzg9K09FZiNL
MWNrTmpQKGRTM1R6dj0yKzI5TzNwTWU7ci1wSnRZdUxhYkpAPnpoUmhoeyVhNHZaXmB9Kgp6aVFr
cWYhMFZ4cFEoMzNCUCZVYFVFSWs/Q1pJNSVtdyhVczk/RmJONjJ3N3BBIURNIVE5R19YYXFvWiV7
X0A0I3sKenRBS2hUSFVLejQ1U3BHK0lyYWU9SEhzZlZMNzw1RHE0X2lFIXA9QXZAajVFLTQ0M1Uk
WiUzWXlkckdvZFpeXjI2CnpfVUQpS19vT2Z1I3BAKklpQ1c4VGF+PEN3MV9hIShJZFp7fTlwSTR2
eDg9Z05mQXV5MEpzZD9wX3cxRUFYUVFMUQp6Q0V4cCNUZHQobVZgVEtkSlMqRGpKWFNeeTQ9PSkk
JGVGQUxXcU9eZm5sSU1Bbzg0PVU/eUQ3Nl4rM2hRZWtOQHAKenNRSiFOPlpDYGRyWTJlSiVxSHFf
d2QyWH4oT080VHBfQjgkUnpAZHgoKXFZOHNuMCg7biYjWSlXVkwmMSU7SUUkCnpMcmc0VWtsdkps
e19GOXVsWGA7diEtXkZ0Vj5GRyNNKFN9clZIRGw2S2R7aktFSnhmbEZuRHJIV0F0VkdrciorXwp6
JTwjQkJmVUFgM1c+TVJ8MXVQUDhwUyNnd1JVVnl6an1zTGdGczgjcCRxbk0hKEJ8VGB1eSlNJGl4
byVVe3VucCMKekx6VkMkeHAqPFdgYXsrQUkkeXE7Pk87Kk9RNnZ9Q1ZmMjYlV1lhI3A+anxHS0dG
OXl5ZUhTbU1lTk9DfD5+Zzt7CnpeUEVBcTxeR1Y4Kyh0dnIyKjwlZypnWFFEZUB7ZGNGcWxNM057
OyZTUUhUPk1lTkdndU52fnI/UWJLUG8kKUs3cwp6IWU8e1Q9fWAmbE1Gc31uZTQ/PTJgNzZeJSVf
a2tXNzJ1K1NHPGlhcDM8PzIkTkNZKTdrWXFkNlg1YVozNittaVUKekklUFoxMVR0UnZZYVhiNmVz
ayt0e0pDZSF7P3lfR0gpRjttVWN4I2xuZDtCYig0QSQqQWVvUzNOOCQoJHQ7PjY9Cno9ciFaUEBN
U1ZASylMYCs7KChCKFZwfGQ1YlFObDc9THV6MEp+elV3eTdWbGJ5fWRXXkR4TEBJQDN0VjB7JDJX
Pwp6SyVrXztscUI3LUJUKWhlXkhON01gdkBVUmBxNnZxJmF0K3QodUsjZE9kPX1zP1M+TzFVfVla
emN3PSpqRDJPOTkKeip9VU8ybjUrbyswfkw1LXVtbEE4WlUmT0spbjBadkh0THRDPHA9eU13PnBN
bnpEU1dOU3Ujb2RFS3JEOUUqWE8/Cno5YmxtY0Z2ZGclc3tJQ3d8M0ZpX2c7b0YzZz03Rlp0PG9t
S00tMmRTc2BOKEVnNWpeUlBwUG81JTVZTXYwRihrVwp6d3xGXmxAeGYkeWxMbyt+T1FLQ0FxUG1O
ODc9Q0ZiRmN2dWRBV35mNUc0VDtzcDtzdyowVSl5KXRgd3JJO1p1fGUKejVjWjgreWghe0EpfEhY
PVozPSk/KSRZTW1HWj1pV0RWRzh0aVNqSChSYCYjbzBHOW5qbF9CSD00MkU4USktWDV6CnpFQjcq
JHlQQG0wRURWI0ojfHspbGteMGZkTDN8Jlc+VlgtazNaTiolJGN3UX5NKlY/TC1BK2pPaHlHS15Q
aGhGbAp6ekleUUBxNiZVNFM2aEkzb3Y9MSRlaz98cGRAc2NjU1NwJlQ7akJZS0V9YlhVajdmX1hO
SnNZZlR1bD48VHR6LU8KekdlUlN8ej48PCltc0Y8d3J0V0FZXzMwNCVEWXhDPmhwKnh1Q3BPQ3wp
Rkp+SCZ0ckBGRVNhPndVJEQkeWohdS1oCnpBV1ArM0BYbXdeeFZpc0VVRU9ndylgQX44ez99cX5l
Q1dGcUh0TndoLWgjRW4wKzVJY14jRk49ZHFRO202TTBwRQp6PDtvVUJhTGpjRHpJaHpFS05qWnN6
cTJMJmNYcFJJbkBqSGpPbHlzNT04RGEqOD1TR2AmVz48VDxIRzMxI2pVV2QKemt7N25ONUZrZTBP
dCk7TGZHJmM4bG8lflpAZTRXMms5VT0xekt5KW1ldCljRlltcndwX3tlZm9sc0RxIypPKXxYCnp7
WmBYJmhgR0F7YH1xU2drUG0xfGFQX2Q7fDdCa2gtR09lUl9aYWhpWmpPSG42S3tVQT9BNT9ASWZo
VCF1ey1wQwp6V09lfXpvWGFwbnQpPWskU0BjUnBIOWltWGYlYX1VN1NPYW0oPDkxVlBCVFpWVndD
Qi1GUyNuMDAlcEc0dCV+IXgKekBqKz5aWGItNTtmT3NwTUotQ2hVRj4zZ2I9eCM9YC1LeUN4KTZ1
Pz5ATClqSzUwe19OS3RVMipGdj1IX0l2fWQ9Cno9PSModTtUSF9IdVcxTVNWb2dYamAyYERaNXBu
fUx5U0hAZi1sVSQ2IyZfJDM3PVo8TSk5M2w3ODQpV3pCWE9AeAp6ZjVKbG9nQFl8YD1SUGhjYXR2
Ozllbm5RczBPTzFwN3F7PElaT15JISl7QDc8cCtGRykzUVdUcjw9YmdTOV89K34KenFiWGlGXzho
eS1hPDdCaWhBdnM0Q2NIZDReeGdTYVFZTTRBdiVfcytGSmNZbFlTbE5hZWNjN1IwOHVuNEAqQnsw
CnpVRyR4LThge0Y/cEc9NktYMVZBRj1NK21salZ1R0lKcldJciFaKiRmam4zI2FmI18zaVNNOzdx
QCghOzJ5akpsXwp6ZG4jSkUrSXYqMSFZKnsySDNvUCE8OzgkWDNZP2x8YSolVDg0fVNmbUhqKWo4
eGtkYEs1anRzUmVKdFlzQ0NXc0QKeilRKmdWMTYmPEpqP288USRlbjt0NC17JTg/YEx9NXl9LSlV
dFAxPTcldXpFIV41V1VeMGw/N2lRITE1e000Nyp2CnpIYmopLUE/RilSQCV5TEFQWGBtJSo5QU1O
Y0hCZiVDMUtqUSpWbGEmTkApK3R1OWEpP00+eTBBS1N9a3pGV0pZRQp6U2tUNTtJbHElPT1HMVBp
P3FEVyt5NzNjJERCMlNqPVojYDI9fF5EJD03TDtnNDZZcUFDY2VwQk40RyU5bWIpVn0Kejh9XlFK
Y0IpRHtrUk56OVl3RkJfejJ7fFJFamFzM3lIaUJLaXw7TyV4QEQ+RXpocnB5PlRqKDkrTT9waGNU
Nl5DCnpEeUt+YWpUdTFnJHAyYShUfSpZaEF9fEJqNkZvZlIkcTtfKXVHNFExWWEhKVhQd3cmSndU
fWFVP3EleUhxMUFUTgp6Y2lwcit3c2JEeXMqZUNIQ0pDZWxXI3FpVkxCbHY3czJJaU9zamhKPjJw
JUU5MCpUd0NzQ2oofnU1MyZyKUlnMHAKenBLWkE7dWFKfVA2Tn58MzhuPit6JWgzM05DJk8ySUB3
alp4Z2Rgclp7bGYtbDBxcnJwOEd+YUhyMDBYTTBGeUN8CnpfPjFfSCZHTXNOWD5aNGZRZnx0NzE/
eTt9P0BxYHsmMWoxbk1MMGM1bCsqNmIpdmdnaW97UHojPXx8VkcxTDY7eQp6K2V9KEFTU0x9e3lY
KlRMM0J4YiZjaXlxJmhJTnk/RW8/VF52JFVLNWE2ZEdEPVpKZ0BfWEdUKzZAV1BZK2dWc0kKemk0
WF5zWEVRQFJ3bVBsbF4jKHFrcGIhbG1PcFRYOFRNMCpQZUBreFl7OGQ9NlBNSWdkWD0kcF4+QzFV
NWk5R2tACnpAPXY+LWlteTRhZDVCTmhycFhqeSg+XkJ1VCViNkhnRWk2aFI+SHNXZTs5PkBCJjBJ
PCVyaW83cGYjVlB0WnAhKgp6NnVCVHQ0Z344QVRBSlBCVjR6bU8jP0paWTNaVS0ldH1VbnR6aHV6
KVQ4PShKeHlIPUgkUXlLeXlyZHg8WHdAQVUKelFAKExpRHVpKzY+Jlp3cDFmUWtud050RHRXYCZY
SVkmdjhOPlBucUhUVC1vbEEoZ19PeWErMitFVHh7ZyZtKWcyCnp7I1pTdzdqWXFCS3BLTEE2dm5V
YUBqdWYme0EtWGBBWCprSDU2Ql9fSDY0bik+QDVHYHtGakVDMGJ1OTl0ODVlbgp6fDcrbDw0e3Na
fTQ5bk5xOzRpM08pbHFfNTtWPWhpUHxZTzMrenZvQzF9P3w3VmJlYmc0OEViQnJGViZXQ1k/VE4K
elRtaFVQTVJvKUZOQ3NmOUB4fk8pNCg1RlAwNlBqS2k+VXptOV4zd0RteEJlOz4qbDBedyh+fDBF
V1FPV2Y8VWF8CnpVMnVuSyVoMmYhKnI1fl5RRkdpNkBRLXU9dypPLXNvdz99eWZXT1Nue3RtPSZI
JG05I2NffCVxMDY7RHN6OV8qTAp6STN3K197TEAxTV5sOThibHdtOHkxRTdKVTc7eDReJih7T0BL
bElQaShBclopTXV0YTtHUFEmdzV5PWF3N1M7P3UKenI8JSl7WUpnI04kRlFuMHJMTll7XkFwa30m
JV9fIz9yKXQ1UXsmV1MzJm9kU3puNnZ4cG09T2QyWV5MJiltMHt4CnpHQSQ1YHt3UDFkPT5PbFNN
NDdnS19XZFdJNnxEXyhgZnByVSplMDlBS3NjQXxhODszPUZqS0Qwe0V+JT9fSyRHZAp6ejBkZiV1
OztwamA/YGtaTTlvayhMVGU5Y14jNTR7WEhSQiRxUD9ZWGE1PmV7TiRjdzBvUyF3UkY5P2stUHk9
SEgKeiZBdk9WZEZDTnopR19LVTNpO3AxTWpIUHJuMUJBajBUfUlER0pueVpIUWkkfUghbEE+bSgh
Z3VZXkN5YXxJO2VDCnpAdCleKSNQV1c1YktsKzNZWkE7N29UY1RhQlpZcDtIMHU+cTlublRAJUFM
M05HN0Uzc0V9K2B0TlVyZ2s1SDspZQp6LUVmSGgmWjJkY1FnIXFxc200PylOelZjQ3Z7TTNneE1f
SjR6bWtGYjx2fmJOVmdMUEc5YDE8WmUpOz5KbEdzMTUKekVSKk5TO05POyUlXz1lV3NvJUQpezN6
bEA9RWZ6XzxDQ0xoeSFFezd5VSo4X3dAUWMtZHY2JnNWbDY3fkZXV2cwCnprKEVeP2t+eGt4KiNL
T2M5Z0Q+THhkUTQrOHJ8V1YqOFBgaVBRUUN0JihybENDUCRnQXZJV30waV5AdExYOTchPAp6NUZS
PTBfTlNxPEAoeDlubldJVXY+bzxqITB2aTxmP3IzVHomeiFrOzU0RH5fVTduPF9GcDg3Si1TYThp
SF5PTmMKelVBUDl6Plh+bm83QSpDRk9RMCkxRC1eVlR7Zzg3Z2RqRjdjSitIKnJrbXs7MkA5KmAx
KW4zd0Azel8yJjI9KUE4CnpRcz5rM0khby1FQ0ZpSCFTQCtSaD4zWHYxblh9OyE1Vzdje2w7bjl2
aUFRdmFqUGZhQno/WHVxSUpYfGs5MzVwbQp6Vm5jemJKekFDUDQ9cGxIZG5KfChkMmdCfCt5ZTVK
T3t+OUtyKVE0ZkVmWG03a3xrPjYlZiM4T25fbntQWV88PXkKekh1MGx9U28yPjFIMWtoalpka0JY
X1o9P1g3ZCgmdl8oeG9FV1Zkd3I/ZmdRfD8kJGFza2RYKyZgcHVVZjJ9aTZJCnptQjxYQVhSb35C
QUNCQ2ZCK2Nwbkt5YkYlUFRraU1BLWNFalFkS2FRJHRDJHokMUlPKSMoIXk2XlZeZmtHJiVlVQp6
PHZjdWxfbCl2JXA5fnxLZlROfns/QyMjNFg4PTtnWGlLXkg9RXUtcmx1N1Y+RE9ZSVJgfllacyE7
IXpIaXxWSWcKelU7ZGhPQFN7QUJaOylJWiViI3o1ajdJISVZWWJpaURMcTRnVENCZmB7dyR5MyF8
YGtUZFJYUiFYIylEfV92fEE8CnotQCRXYFc2SyZGZUE+fEgqTld2PiE/Vn1Wayp1S3gpZ2k2IVJn
RSEodEhSZ0YkQ1Y9SzR3fDREMHBnKzFweWRwPgp6Xz5URjw3QyFHO00odkA9SW1pPlRXPkg0e2dr
NHNgYz16KGRWNyVmckNyeG55eUMhKms+anNPN29PfTBzalEkRlMKejkkaDhURXFqXkRscCU3aUVp
QUl+RzRYLTlLNn0oRDlRRT41M141dyFEfilyZyNmYDh+MFFEZ2g4d3AwQVJVX0ElCnpSM1dQPHsy
RWIwQD0yZzF1e0h8cDZUY2IpLWdnZV9gbk08YCh2I24oJU9mUlM2aU9FI0JONSR9UChsRCZRY2h1
WAp6MW18QDlxazBsYkdyMk5nd2M/MUg0e1FNdTckWihpO058aT1oXlZCbkJDKUJUV3BLNCY2ZTx9
WmE5VFg7VUUteTYKej1PWXF2RjVsRDchQ0RHVyMwNEpWdys1aD5pVE5VMy1ld1RvWWsrPkFfTSgj
S3hZXipWYDdlMTdAcDhOTkBiNW5DCnpGdUs4Uit6PCEydWA0UVJoYF5pfWZFUmB6SDc2TmhSNWpz
Q2tBfEpIZVQ7Qj8meV4obzAhXnFGMGFAKz5he1ZKWAp6JSRVOXE4WEU5alNgOSM+TihEYDZfP0Uw
ZXlveFZmZ3NzOXJDeiY/Yl4jLX1QN3B0ez12U31uUlleQGVoMXtxbjwKej1HbWErWmIpdG1qKXQ0
Z0h4Z3IqUCEme2okfEdQYkZtSENQZm5CfHkwUEFOPSlONzh3ZGxjLTRJaSt5eDhIXmRtCnpMM3B7
Wj5EPTBHMDwxaHNnSyE2YktQYkNgLW5raVUwZXlQbDcrYmxLY1Q8eEo8RjtZfkwhZ09ed0JTTz9S
Q1pEWAp6U09MIUBZNWxgK3I5akljLU5EIy14ezdhN2FIfjFlPT1AO0okK2EyTXhSVF4yaj5PKEUh
cithVChkKkk2UT1vczYKejs3NEo3TyRyeV9UcnU4V3o3YWBfND1GSnBLN1pgTUs4TFUlMDZtSXVL
aVBrUjhUWiZVbml9RilAaSNDfHxKNWNkCnpSR2h9ezEjcTEkXmVlQyFCRVRoXlojKU9pOyh1JjFM
dD5pREQmUXV3fEhzdUZ1MzUlMjctPz5+SVhnQXtSclJfMwp6I3NXd3NWWXU8Nl9MKVd7PW0jSGdy
NHB2TjgjfG12IWZnLUNFTzBOd1V3YVExV1NMd217WGNZQ3JBaWdyS0txOHQKenVZOTJHUyhqJlhx
KVRSMmtoYHtUMXA0RyZIPW4yUT5OTE5meipIdVp3YGxLRXRBe0RaTmE4dWVBYyopbXs5SiYoCnoq
cUwhbD9tS1V8Nz5pdSM1Y2p1O0RPKyF2Nmo0ZEBoVlB1cFVBXihsVHstKUVtN1RYUyszJmxUMTYl
cVJ0aUVQYwp6ZWsrd3NiKiFmTyNCQHczZjNfNlRDcU12MEZ+SGtZM2dWc1ZQWWI3PFdJeip1Yipy
JTJhWEhIbEVXTzgjWnJ2QmgKekw3TiteNmBGLUp5PH4rKlJeZyN2KipyVUF2UHZZelpsV0ljUG5+
UXd0KUFFK2ZvQ1B1WUtGJV8rMitTOGprIWJFCno8VnhAczk7LTg1LW80WjZgTUFKYShIOH5TJThT
VyZCMXcxTj1PV1pVZm9BSHtuOGxAPj5IZ1FJR19+KDdxR19OWgp6bmlPNFZ2UzhMck03JEdxKzs3
aCZtakhKVlkxTSplPWVuLXdtOUI4VEsxUDx4OHpeTmA0bXlAfiR0N0RvYCQ3PVgKemd+TmBRbmoh
KzwoTlg2LXdLWWVqYG1UWF8jUXlTUHtickNxVWFDNldTezQ4ZmZxVVdRMUZAcnIlVEpkaDVedCRj
CnoqMFBNezl3PUAyWCRhcWhvbXUzXiVhdU54V05zWmhtUU13SFhkXlowTmAhelBpe3hMTTlnYV9H
cXI3ZEEkZDR7awp6cVBqTyQ9WmA9Qms4WklyM0VTWHokQyhiU1o0R31RY2puKmlnVXpSQFQjTWok
ZFk7UHo2e2o4amJRMTRRWSFyZUcKemBnbEFuYTw7TnpOK09KYnpRcFB6PEFaeXxLK0pYLWRDRzlp
c0liWmk+c09UdXkyJHhhO0B0KlEhTHh+K0VkZD5uCnombkVHaDttVSNoXnZQYEg9aXZIKntCKn1o
c192IVpKPEhHaVgmYDFGS0tgfTR1byVPP183byY4KEwofWE0JmZCNQp6ZjMmODtzPzxqS0ZzaXcr
WTVQKjskQGp6TWcwcm59ayR5WmkzPFNwfUNHflE9aH1ZN0s2QWBtTzQxeDYhZExVNlQKelhhPktR
ai09TChrO1JIVWBGND1AMU82cTE7REhqMEg8PXxLPUFfbDwxMElmSjd9Rm1YdDdPVzV7NDthe3Y+
a0d4Cno4TUtENmsxMmdVU3Q8d00qJFVeNz4rXjY/NVBKTzgjJGxLYzkrZksken5jQnUhcEsmKUZD
Ym1XISVofHJKNk0lQQp6ITI3Y19uSDI8MHI7bUZXOzJ5NlVkVG1GJXpZWVlvZ3x7JGhUemRDIUwk
VjwmUCpyS2FYQmhWNT4kS3UxXn5MZDEKem52JVgyYnpCKERpZndadCYySk4lalVAb3FpLU56Z2Ym
K0hie3xYQWxHJW42bUYzNC1EdFlKOHs5ZDRlOG5tN016CnoqPyRwZihkcCs7RXtAayFhbD5ifWNC
PH5qcCEwKH1qcVc1SStZR24xd3RmeCNId1Z+I0U/K3pkVnFeTUM+ZTh4ZQp6c1JmPDcoJFZkTUdK
cS1MKj02SGhIRmZCIyU8LT92U0JmfilGNiU+ZzBPemFSU0VCaTsxYU98Y016TyQ/SWJpZUoKemZB
TTZGKmlPPSR8NDA3VE1zOHhJWV4oR0VTNyljbXpoZFpyOEZBbFF8S0V0WG4wXnBvbVM3bUNkJH5X
O3A9STtwCnphRzlNWU8zWkFpKDYzLX10JkhsK0UwMXAqVFU5MSZqeVlMb01xfUUpYW10OCVVITBJ
PGcxN014PVBPSHsyQ3RfIQp6WX5WeV5qYTdTWnFwcDszPl48KWteIXc4Z2t+Pm5jIShufD9fdzNQ
MFBZQnJsRilwbSRgX2F5K2cpZSR1MkZRTlIKenIzeThCejEtVDVLOypoLWZ4XzQmMkN3RUQwJk5A
P3hzRCZxKGNle0x7X35fbVdXJSlmdUN9anRtNyY0MnF+MjxHCnpVRD9pKHhoJWlgLWM2eXw1QSRm
P2M+elJENCFMJSMpTT5IV2VPfmx0eGxXNVlDZ3IofVlHbjhxRG5abXZRXjtUUwp6KF5QWCQ3ZHlQ
c3hsaDhoXmVucnU4eW9PeksoemxCbkQodGUlY09LJXkxNC1PK3VhTXN6WmhNJChfQjA5YFZjWkcK
eihYNj1GMWtDc3hYZypXZkhxYXcqVjRPQlJDN2grbDFOdExnZnRlbyVqRkFObD1ZSmBra3NMaisw
c2duK1BMUXdJCnpxb3ZCaW9UVFJxc019eDdPby1kPldaeFM7ZWheMDswWFoxVlcrV3VIb2xaQyRv
PSlVbjckWUdrbThTa2hvNXdPfgp6KzIyM1FUNlMtJSM7JF9YeGEtb25KWVg4byR0ZzY+Nm5FQ3sj
aG5iTWUyVHs3Iz9oWTxzTm9ZfEwwPCFobyM9Z28KelBhb3wwbl96c01DZCs9QjMyanBEeyprazt2
a2Z7MClWSk47QFVGOGowIyR2TmQheT9iUmA8TmpedntTKjEmaEohCnpHeTRTSUE5c2VoSkI8ZyZW
TEMmQSU1YDtTOVkwRTZCa3BCeV59RzItUy02U3JmLTAoWHBSWnFqLXRCTz80bEopUwp6bExlPzts
eDtkWDhDKX5iVCFWPW1yRnBGI0ImKVctdDZ5QjFLdCNFcz9feTx5PW1teytCKEhjRW4hd1cxOX44
WFcKemEpTyg1Tj5maWZiRzFIKipkblZ9YlFfQ1h6Izt0WlBDKGwlTGE9aGwyaz5neiFWSG5ySEVD
QjYtM1Q/bnh1TWdMCno3Y0FHfGNBT1gwcFd0QDlERko7LVJXKWpjZlNLOXE+NW9HK2V0aTIqbFhj
PGNYajwmczwhYV8wK3kyV2o5WWNAZwp6P3h1YkxXbDNgTCQ+VE5wMldSVXppR1hLci1wPURfKDMx
NzY0ek1UQypjTSZaKFJtS0lqfllJc2VsSld7SDI3YXgKejJ8cXglK3BoIUFacGVNYF5iPkZseCZC
RUpjPWdHck5kYFUjaldhYmgkcGkkUkElNiQrWDs8eUE4TT5nOTJMU2tWCno2PTRiTUlpSTxjIXA0
NjUteEAoPVA+NSVid0BePUo9LWdhUChYPkBDdCFDO0JJK2Q+ZztFSkhsQ3E3ODJSb0hrMwp6Nkk3
YUBUX3g9YjVZS00qdGJibU5lQ2cqJkNZPWlRMHV9PTFXaEBkQUleZ1pkaiVRY3tkPXZ8XzJkV3Uz
OFlvRl4Kej4pRWMxRVdyZl5qRCl+Vzd0flpgREVwXiF4an5vcmBqfUdWdzJNUm5eKHgxMWNBOE98
YDZeb0xBTU1nKzJPblU2Cno5Wjs7WWxhNyFlQndxb2w3Tm80eWdfcWtGSnVkfE5BRmAqaW9xKFYw
RylCdHVmMl8rJU9pNG5YUV92UyZJaXdeVgp6MUsqZUslYX4zPShBMUApNSUodyZIfFFMQXhXK0Nt
ekNlNWYpLXFETmF8UUhqZTEhZGZ6KzBDYEN6e2VnM3t3MWIKemJTaktlU3tpXktnRjFrSjFUR29D
SSQkT1d1QUBLO3dmJkJETGdrKDI7MG4tZihjREl+My0kPTNkOGhqNChIbXlkCnp6KyFSaTg/Z2t8
bS1jdUtpU3hqTSUpKzlNTGZwQ3FZZ3VuYFZTM0UmUmxHfFg9eHpKY09PMHVVMjk0QUBqfn5KcAp6
Qjw+dnpfJlV1bnlhaXFHUkVeP0Q7MWtUZ0N3MnlJUntTP0YkYmE3KDU8dl5RQF4pIXFTNGkzd1U+
SCRRRFF0NnQKejNteVF3IW9MSCRoe3dvPWRGe3U1Sk8hNjs3PD1BXkFrZl52YjJZXjZVU1YxZHxI
WCRyYzY2PVJNa281WipnMFVtCnpyWU5WOThrR0k7Uz9xSWojTUF6KjdTKVNwX0lnejdnTChARWt4
UH1jWV9EcyFELU8ka1JoSWpITElhNlYjMkpJZAp6am9Wb19jY2BeeztGc2d7PExfNzs/eTBHSm9U
XjteXzA3QnsmangrfiQ0MG8td2ZzTighZFVGRFViVVlleS0mZysKemQ7dkpKPzttRnp8SCthNG9l
dTh1S0ZgKnFCTU0ldkw7ayg+YEBnVmJ8OWVOdmlCSjNnJjQlSjVyaXFOM3JBYGNLClJQciklak83
ZzA1MXYyS3J7fGt0PioyKHw/CgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFn
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jYW52YXMvY2Fu
dmFzLWNvbXBvc2l0ZS1pbWFnZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFm
ZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWltYWdlLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxIEBACisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>111529</attachid>
            <date>2011-10-18 17:00:30 -0700</date>
            <delta_ts>2011-10-23 21:11:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66920-20111019110028.patch</filename>
            <type>text/plain</type>
            <size>39240</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTc3OTQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5MzEzNDUzY2VhZjc5OTE3
ZjQ3ZjY4YTVkZTNkZDYwMWY4ZTI4MTYzLi5jYWRkMWQ0YWZjMTE2NzZlODUwZTdiNzA3NDA1OWE1
MjY0NmFlMWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMTAtMTggIEJlbiBX
ZWxscyAgPGJlbndlbGxzQGNocm9taXVtLm9yZz4KKworICAgICAgICBDYW52YXMgZHJhd0ltYWdl
IHdpdGggU291cmNlSW4sIERlc3RpbmF0aW9uSW4sIFNvdXJjZU91dCwgRGVzdGluYXRpb25BdG9w
IGFuZCBDb3B5IGhhdmUgZXJyb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NjkyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRt
bAorCisgICAgICAgIFVzZSB0aGUgc2FtZSBtZXRob2QgYXMgZmlsbHMgdG8gaGFuZGxlIGNvbXBv
c2l0ZWQgZHJhd0ltYWdlIGNhbGxzIHRoYXQgd2lsbCBhZmZlY3QgdGhlIHdob2xlCisgICAgICAg
IGNhbnZhcy4gVG8gZG8gdGhpcyBjb2RlIHVzZWQgd2hlbiBkb2luZyBmaWxscyBoYXMgYmVlbiBm
YWN0b3JlZCBpbnRvIHNlcGFyYXRlIGZ1bmN0aW9ucyBhbmQKKyAgICAgICAgdXNlZCBieSBkcmF3
SW1hZ2UuIFNvbWUgZnVuY3Rpb25zIHVzZWQgdG8gZG8gdGhlc2UgdHlwZXMgb2Ygb3BlcmF0aW9u
cyBoYXZlIGFsc28gYmVlbiByZW5hbWVkLgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzRnVsbENhbnZhc0Nv
bXBvc2l0ZU1vZGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpmaWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Zmls
bFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3
SW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjYWxj
dWxhdGVDb21wb3NpdGluZ0J1ZmZlclJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjpjcmVhdGVDb21wb3NpdGluZ0J1ZmZlcik6CisgICAgICAgIChXZWJD
b3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNvbXBvc2l0ZUJ1ZmZlcik6CisgICAgICAg
IChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZ1bGxDYW52YXNDb21wb3NpdGVk
RHJhd0ltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZnVsbENhbnZhc0NvbXBvc2l0ZWRGaWxsKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaDoKIDIwMTEtMTAtMTggIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFw
cGxlLmNvbT4KIAogICAgICAgICBDZXJ0YWluIGNvbHVtbi1ydWxlIHN0eWxlcyByZW5kZXIgaW5j
b3JyZWN0bHkgaW4gdmVydGljYWwgd3JpdGluZyBtb2RlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKaW5kZXggNDZi
ZWQzMTFmNGM5NDU1NDAwZTRlMmVhY2JjNDEyNDA5M2UyNzY2OC4uMzBmZmFiY2ZhOTcyNzY2ZjNi
NWJlM2UzNzdlNzNjZjM3ODYzNTg5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCkBAIC05MjksNiArOTI5LDE0
IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjbGVhclBhdGhGb3JEYXNoYm9hcmRC
YWNrd2FyZENvbXBhdGliaWxpdHlNb2RlKCkKIH0KICNlbmRpZgogCitzdGF0aWMgYm9vbCBpc0Z1
bGxDYW52YXNDb21wb3NpdGVNb2RlKENvbXBvc2l0ZU9wZXJhdG9yIG9wKQoreworICAgIC8vIFNl
ZSA0LjguMTEuMS4zIENvbXBvc2l0aW5nCisgICAgLy8gQ29tcG9zaXRlU291cmNlQXRvcCBhbmQg
Q29tcG9zaXRlRGVzdGluYXRpb25PdXQgYXJlIG5vdCBsaXN0ZWQgaGVyZSBhcyB0aGUgcGxhdGZv
cm1zIGFscmVhZHkKKyAgICAvLyBpbXBsZW1lbnQgdGhlIHNwZWNpZmljYXRpb24ncyBiZWhhdmlv
ci4KKyAgICByZXR1cm4gb3AgPT0gQ29tcG9zaXRlU291cmNlSW4gfHwgb3AgPT0gQ29tcG9zaXRl
U291cmNlT3V0IHx8IG9wID09IENvbXBvc2l0ZURlc3RpbmF0aW9uSW4gfHwgb3AgPT0gQ29tcG9z
aXRlRGVzdGluYXRpb25BdG9wOworfQorCiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZmlsbCgpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0KiBjID0gZHJhd2luZ0NvbnRleHQoKTsKQEAg
LTkzOCw4ICs5NDYsOCBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZmlsbCgpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIGlmICghbV9wYXRoLmlzRW1wdHkoKSkgewotICAgICAgICBp
ZiAoc2hvdWxkRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZSgpKQotICAgICAgICAgICAgZmls
bEFuZERpc3BsYXlUcmFuc3BhcmVuY3lFbHNld2hlcmUobV9wYXRoKTsKKyAgICAgICAgaWYgKGlz
RnVsbENhbnZhc0NvbXBvc2l0ZU1vZGUoc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSkpCisgICAg
ICAgICAgICBmdWxsQ2FudmFzQ29tcG9zaXRlZEZpbGwobV9wYXRoKTsKICAgICAgICAgZWxzZSBp
ZiAoc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9PSBDb21wb3NpdGVDb3B5KSB7CiAgICAgICAg
ICAgICBjbGVhckNhbnZhcygpOwogICAgICAgICAgICAgYy0+ZmlsbFBhdGgobV9wYXRoKTsKQEAg
LTEwNDQsOCArMTA1Miw4IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpmaWxsUmVj
dChmbG9hdCB4LCBmbG9hdCB5LCBmbG9hdCB3aWR0aCwgZmxvYXQgaGVpCiAKICAgICBGbG9hdFJl
Y3QgcmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKIAotICAgIGlmIChzaG91bGREaXNwbGF5VHJh
bnNwYXJlbmN5RWxzZXdoZXJlKCkpCi0gICAgICAgIGZpbGxBbmREaXNwbGF5VHJhbnNwYXJlbmN5
RWxzZXdoZXJlKHJlY3QpOworICAgIGlmIChpc0Z1bGxDYW52YXNDb21wb3NpdGVNb2RlKHN0YXRl
KCkubV9nbG9iYWxDb21wb3NpdGUpKQorICAgICAgICBmdWxsQ2FudmFzQ29tcG9zaXRlZEZpbGwo
cmVjdCk7CiAgICAgZWxzZSBpZiAoc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9PSBDb21wb3Np
dGVDb3B5KSB7CiAgICAgICAgIGNsZWFyQ2FudmFzKCk7CiAgICAgICAgIGMtPmZpbGxSZWN0KHJl
Y3QpOwpAQCAtMTMyMiw4ICsxMzMwLDE3IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpkcmF3SW1hZ2UoSFRNTEltYWdlRWxlbWVudCogaW1hZ2UsIGNvbnN0IEZsb2F0UmVjCiAKICAg
ICBjaGVja09yaWdpbihpbWFnZSk7CiAKLSAgICBjLT5kcmF3SW1hZ2UoY2FjaGVkSW1hZ2UtPmlt
YWdlRm9yUmVuZGVyZXIoaW1hZ2UtPnJlbmRlcmVyKCkpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBu
b3JtYWxpemVkRHN0UmVjdCwgbm9ybWFsaXplZFNyY1JlY3QsIG9wKTsKLSAgICBkaWREcmF3KG5v
cm1hbGl6ZWREc3RSZWN0KTsKKyAgICBpZiAoaXNGdWxsQ2FudmFzQ29tcG9zaXRlTW9kZShvcCkp
IHsKKyAgICAgICAgZnVsbENhbnZhc0NvbXBvc2l0ZWREcmF3SW1hZ2UoY2FjaGVkSW1hZ2UtPmlt
YWdlRm9yUmVuZGVyZXIoaW1hZ2UtPnJlbmRlcmVyKCkpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCBu
b3JtYWxpemVkRHN0UmVjdCwgbm9ybWFsaXplZFNyY1JlY3QsIG9wKTsKKyAgICAgICAgZGlkRHJh
dyhGbG9hdFJlY3QoRmxvYXRQb2ludDo6emVybygpLCBjYW52YXMoKS0+c2l6ZSgpKSwgQ2FudmFz
RGlkRHJhd0FwcGx5Q2xpcCk7CisgICAgfSBlbHNlIGlmIChvcCA9PSBDb21wb3NpdGVDb3B5KSB7
CisgICAgICAgIGNsZWFyQ2FudmFzKCk7CisgICAgICAgIGMtPmRyYXdJbWFnZShjYWNoZWRJbWFn
ZS0+aW1hZ2VGb3JSZW5kZXJlcihpbWFnZS0+cmVuZGVyZXIoKSksIENvbG9yU3BhY2VEZXZpY2VS
R0IsIG5vcm1hbGl6ZWREc3RSZWN0LCBub3JtYWxpemVkU3JjUmVjdCwgb3ApOworICAgICAgICBk
aWREcmF3KEZsb2F0UmVjdChGbG9hdFBvaW50Ojp6ZXJvKCksIGNhbnZhcygpLT5zaXplKCkpLCBD
YW52YXNEaWREcmF3QXBwbHlDbGlwKTsKKyAgICB9IGVsc2UgeworICAgICAgICBjLT5kcmF3SW1h
Z2UoY2FjaGVkSW1hZ2UtPmltYWdlRm9yUmVuZGVyZXIoaW1hZ2UtPnJlbmRlcmVyKCkpLCBDb2xv
clNwYWNlRGV2aWNlUkdCLCBub3JtYWxpemVkRHN0UmVjdCwgbm9ybWFsaXplZFNyY1JlY3QsIG9w
KTsKKyAgICAgICAgZGlkRHJhdyhub3JtYWxpemVkRHN0UmVjdCk7CisgICAgfQogfQogCiB2b2lk
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZHJhd0ltYWdlKEhUTUxDYW52YXNFbGVtZW50KiBj
YW52YXMsIGZsb2F0IHgsIGZsb2F0IHksIEV4Y2VwdGlvbkNvZGUmIGVjKQpAQCAtMTUxMSwxNSAr
MTUyOCw2IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjbGVhckNhbnZhcygpCiAg
ICAgYy0+cmVzdG9yZSgpOwogfQogCi1ib29sIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6c2hv
dWxkRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZSgpIGNvbnN0Ci17Ci0gICAgLy8gU2VlIDQu
OC4xMS4xLjMgQ29tcG9zaXRpbmcKLSAgICAvLyBDb21wb3NpdGVTb3VyY2VBdG9wIGFuZCBDb21w
b3NpdGVEZXN0aW5hdGlvbk91dCBhcmUgbm90IGxpc3RlZCBoZXJlIGFzIHRoZSBwbGF0Zm9ybXMg
YWxyZWFkeQotICAgIC8vIGltcGxlbWVudCB0aGUgc3BlY2lmaWNhdGlvbidzIGJlaGF2aW9yLgot
ICAgIHJldHVybiBzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlID09IENvbXBvc2l0ZVNvdXJjZUlu
IHx8IHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUgPT0gQ29tcG9zaXRlU291cmNlT3V0Ci0gICAg
ICAgICAgIHx8IHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUgPT0gQ29tcG9zaXRlRGVzdGluYXRp
b25JbiB8fCBzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlID09IENvbXBvc2l0ZURlc3RpbmF0aW9u
QXRvcDsKLX0KLQogUGF0aCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnRyYW5zZm9ybUFyZWFU
b0RldmljZShjb25zdCBQYXRoJiBwYXRoKSBjb25zdAogewogICAgIFBhdGggdHJhbnNmb3JtZWQo
cGF0aCk7CkBAIC0xNTM1LDMxICsxNTQzLDI5IEBAIFBhdGggQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEOjp0cmFuc2Zvcm1BcmVhVG9EZXZpY2UoY29uc3QgRmxvYXRSZWN0JiByZWN0KSBjb25zCiAg
ICAgcmV0dXJuIHRyYW5zZm9ybUFyZWFUb0RldmljZShwYXRoKTsKIH0KIAotdGVtcGxhdGU8Y2xh
c3MgVD4gdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZpbGxBbmREaXNwbGF5VHJhbnNw
YXJlbmN5RWxzZXdoZXJlKGNvbnN0IFQmIGFyZWEpCit0ZW1wbGF0ZTxjbGFzcyBUPiBJbnRSZWN0
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y2FsY3VsYXRlQ29tcG9zaXRpbmdCdWZmZXJSZWN0
KGNvbnN0IFQmIGFyZWEsIEludFNpemUqIGNyb3BwZWRPZmZzZXQpCiB7Ci0gICAgQVNTRVJUKHNo
b3VsZERpc3BsYXlUcmFuc3BhcmVuY3lFbHNld2hlcmUoKSk7Ci0KICAgICBJbnRSZWN0IGNhbnZh
c1JlY3QoMCwgMCwgY2FudmFzKCktPndpZHRoKCksIGNhbnZhcygpLT5oZWlnaHQoKSk7CiAgICAg
Y2FudmFzUmVjdCA9IGNhbnZhcygpLT5iYXNlVHJhbnNmb3JtKCkubWFwUmVjdChjYW52YXNSZWN0
KTsKICAgICBQYXRoIHBhdGggPSB0cmFuc2Zvcm1BcmVhVG9EZXZpY2UoYXJlYSk7CiAgICAgSW50
UmVjdCBidWZmZXJSZWN0ID0gZW5jbG9zaW5nSW50UmVjdChwYXRoLmJvdW5kaW5nUmVjdCgpKTsK
KyAgICBJbnRQb2ludCBvcmlnaW5hbExvY2F0aW9uID0gYnVmZmVyUmVjdC5sb2NhdGlvbigpOwog
ICAgIGJ1ZmZlclJlY3QuaW50ZXJzZWN0KGNhbnZhc1JlY3QpOworICAgIGlmIChjcm9wcGVkT2Zm
c2V0KQorICAgICAgICAqY3JvcHBlZE9mZnNldCA9IG9yaWdpbmFsTG9jYXRpb24gLSBidWZmZXJS
ZWN0LmxvY2F0aW9uKCk7CisgICAgcmV0dXJuIGJ1ZmZlclJlY3Q7Cit9CiAKLSAgICBpZiAoYnVm
ZmVyUmVjdC5pc0VtcHR5KCkpIHsKLSAgICAgICAgY2xlYXJDYW52YXMoKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIHBhdGgudHJhbnNsYXRlKEZsb2F0U2l6ZSgtYnVmZmVyUmVjdC54
KCksIC1idWZmZXJSZWN0LnkoKSkpOwotCitQYXNzT3duUHRyPEltYWdlQnVmZmVyPiBDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQ6OmNyZWF0ZUNvbXBvc2l0aW5nQnVmZmVyKGNvbnN0IEludFJlY3Qm
IGJ1ZmZlclJlY3QpCit7CiAgICAgUmVuZGVyaW5nTW9kZSByZW5kZXJNb2RlID0gaXNBY2NlbGVy
YXRlZCgpID8gQWNjZWxlcmF0ZWQgOiBVbmFjY2VsZXJhdGVkOwotICAgIE93blB0cjxJbWFnZUJ1
ZmZlcj4gYnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZShidWZmZXJSZWN0LnNpemUoKSwgQ29s
b3JTcGFjZURldmljZVJHQiwgcmVuZGVyTW9kZSk7Ci0gICAgaWYgKCFidWZmZXIpCi0gICAgICAg
IHJldHVybjsKKyAgICByZXR1cm4gSW1hZ2VCdWZmZXI6OmNyZWF0ZShidWZmZXJSZWN0LnNpemUo
KSwgQ29sb3JTcGFjZURldmljZVJHQiwgcmVuZGVyTW9kZSk7Cit9CiAKLSAgICBidWZmZXItPmNv
bnRleHQoKS0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZVNvdXJjZU92ZXIpOwotICAg
IHN0YXRlKCkubV9maWxsU3R5bGUtPmFwcGx5RmlsbENvbG9yKGJ1ZmZlci0+Y29udGV4dCgpKTsK
LSAgICBidWZmZXItPmNvbnRleHQoKS0+ZmlsbFBhdGgocGF0aCk7Cit2b2lkIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRDo6Y29tcG9zaXRlQnVmZmVyKEltYWdlQnVmZmVyKiBidWZmZXIsIGNvbnN0
IEludFJlY3QmIGJ1ZmZlclJlY3QsIENvbXBvc2l0ZU9wZXJhdG9yIG9wKQoreworICAgIEludFJl
Y3QgY2FudmFzUmVjdCgwLCAwLCBjYW52YXMoKS0+d2lkdGgoKSwgY2FudmFzKCktPmhlaWdodCgp
KTsKKyAgICBjYW52YXNSZWN0ID0gY2FudmFzKCktPmJhc2VUcmFuc2Zvcm0oKS5tYXBSZWN0KGNh
bnZhc1JlY3QpOwogCiAgICAgR3JhcGhpY3NDb250ZXh0KiBjID0gZHJhd2luZ0NvbnRleHQoKTsK
ICAgICBpZiAoIWMpCkBAIC0xNTY3LDE2ICsxNTczLDcyIEBAIHRlbXBsYXRlPGNsYXNzIFQ+IHZv
aWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpmaWxsQW5kRGlzcGxheVRyYW5zcGFyZW5jeUVs
c2V3CiAKICAgICBjLT5zYXZlKCk7CiAgICAgYy0+c2V0Q1RNKEFmZmluZVRyYW5zZm9ybSgpKTsK
KyAgICBjLT5zZXRDb21wb3NpdGVPcGVyYXRpb24ob3ApOwogCiAgICAgYy0+c2F2ZSgpOwogICAg
IGMtPmNsaXBPdXQoYnVmZmVyUmVjdCk7CiAgICAgYy0+Y2xlYXJSZWN0KGNhbnZhc1JlY3QpOwog
ICAgIGMtPnJlc3RvcmUoKTsKIAotICAgIGMtPmRyYXdJbWFnZUJ1ZmZlcihidWZmZXIuZ2V0KCks
IENvbG9yU3BhY2VEZXZpY2VSR0IsIGJ1ZmZlclJlY3QubG9jYXRpb24oKSwgc3RhdGUoKS5tX2ds
b2JhbENvbXBvc2l0ZSk7CisgICAgYy0+ZHJhd0ltYWdlQnVmZmVyKGJ1ZmZlciwgQ29sb3JTcGFj
ZURldmljZVJHQiwgYnVmZmVyUmVjdC5sb2NhdGlvbigpLCBzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9z
aXRlKTsKICAgICBjLT5yZXN0b3JlKCk7CiB9CiAKK3ZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEOjpmdWxsQ2FudmFzQ29tcG9zaXRlZERyYXdJbWFnZShJbWFnZSogaW1hZ2UsIENvbG9yU3Bh
Y2Ugc3R5bGVDb2xvclNwYWNlLCBjb25zdCBGbG9hdFJlY3QmIGRlc3QsIGNvbnN0IEZsb2F0UmVj
dCYgc3JjLCBDb21wb3NpdGVPcGVyYXRvciBvcCkKK3sKKyAgICBBU1NFUlQoaXNGdWxsQ2FudmFz
Q29tcG9zaXRlTW9kZShvcCkpOworCisgICAgSW50U2l6ZSBjcm9wcGVkT2Zmc2V0OworICAgIElu
dFJlY3QgYnVmZmVyUmVjdCA9IGNhbGN1bGF0ZUNvbXBvc2l0aW5nQnVmZmVyUmVjdChkZXN0LCAm
Y3JvcHBlZE9mZnNldCk7CisgICAgaWYgKGJ1ZmZlclJlY3QuaXNFbXB0eSgpKSB7CisgICAgICAg
IGNsZWFyQ2FudmFzKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBPd25QdHI8SW1h
Z2VCdWZmZXI+IGJ1ZmZlciA9IGNyZWF0ZUNvbXBvc2l0aW5nQnVmZmVyKGJ1ZmZlclJlY3QpOwor
ICAgIGlmICghYnVmZmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBHcmFwaGljc0NvbnRleHQq
IGMgPSBkcmF3aW5nQ29udGV4dCgpOworICAgIGlmICghYykKKyAgICAgICAgcmV0dXJuOworCisg
ICAgRmxvYXRSZWN0IGFkanVzdGVkRGVzdCA9IGRlc3Q7CisgICAgYWRqdXN0ZWREZXN0LnNldExv
Y2F0aW9uKEZsb2F0UG9pbnQoMCwgMCkpOworICAgIEFmZmluZVRyYW5zZm9ybSBlZmZlY3RpdmVU
cmFuc2Zvcm0gPSBjLT5nZXRDVE0oKTsKKyAgICBJbnRSZWN0IHRyYW5zZm9ybWVkQWRqdXN0ZWRS
ZWN0ID0gZW5jbG9zaW5nSW50UmVjdChlZmZlY3RpdmVUcmFuc2Zvcm0ubWFwUmVjdChhZGp1c3Rl
ZERlc3QpKTsKKyAgICBidWZmZXItPmNvbnRleHQoKS0+dHJhbnNsYXRlKC10cmFuc2Zvcm1lZEFk
anVzdGVkUmVjdC5sb2NhdGlvbigpLngoKSwgLXRyYW5zZm9ybWVkQWRqdXN0ZWRSZWN0LmxvY2F0
aW9uKCkueSgpKTsKKyAgICBidWZmZXItPmNvbnRleHQoKS0+dHJhbnNsYXRlKGNyb3BwZWRPZmZz
ZXQud2lkdGgoKSwgY3JvcHBlZE9mZnNldC5oZWlnaHQoKSk7CisgICAgYnVmZmVyLT5jb250ZXh0
KCktPmNvbmNhdENUTShlZmZlY3RpdmVUcmFuc2Zvcm0pOworICAgIGJ1ZmZlci0+Y29udGV4dCgp
LT5kcmF3SW1hZ2UoaW1hZ2UsIHN0eWxlQ29sb3JTcGFjZSwgYWRqdXN0ZWREZXN0LCBzcmMsIENv
bXBvc2l0ZVNvdXJjZU92ZXIpOworCisgICAgY29tcG9zaXRlQnVmZmVyKGJ1ZmZlci5nZXQoKSwg
YnVmZmVyUmVjdCwgb3ApOworfQorCit0ZW1wbGF0ZTxjbGFzcyBUPiB2b2lkIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRDo6ZnVsbENhbnZhc0NvbXBvc2l0ZWRGaWxsKGNvbnN0IFQmIGFyZWEpCit7
CisgICAgQVNTRVJUKGlzRnVsbENhbnZhc0NvbXBvc2l0ZU1vZGUoc3RhdGUoKS5tX2dsb2JhbENv
bXBvc2l0ZSkpOworCisgICAgSW50UmVjdCBidWZmZXJSZWN0ID0gY2FsY3VsYXRlQ29tcG9zaXRp
bmdCdWZmZXJSZWN0KGFyZWEsIDApOworICAgIGlmIChidWZmZXJSZWN0LmlzRW1wdHkoKSkgewor
ICAgICAgICBjbGVhckNhbnZhcygpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgT3du
UHRyPEltYWdlQnVmZmVyPiBidWZmZXIgPSBjcmVhdGVDb21wb3NpdGluZ0J1ZmZlcihidWZmZXJS
ZWN0KTsKKyAgICBpZiAoIWJ1ZmZlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgUGF0aCBwYXRo
ID0gdHJhbnNmb3JtQXJlYVRvRGV2aWNlKGFyZWEpOworICAgIHBhdGgudHJhbnNsYXRlKEZsb2F0
U2l6ZSgtYnVmZmVyUmVjdC54KCksIC1idWZmZXJSZWN0LnkoKSkpOworCisgICAgYnVmZmVyLT5j
b250ZXh0KCktPnNldENvbXBvc2l0ZU9wZXJhdGlvbihDb21wb3NpdGVTb3VyY2VPdmVyKTsKKyAg
ICBzdGF0ZSgpLm1fZmlsbFN0eWxlLT5hcHBseUZpbGxDb2xvcihidWZmZXItPmNvbnRleHQoKSk7
CisgICAgYnVmZmVyLT5jb250ZXh0KCktPmZpbGxQYXRoKHBhdGgpOworCisgICAgY29tcG9zaXRl
QnVmZmVyKGJ1ZmZlci5nZXQoKSwgYnVmZmVyUmVjdCwgc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0
ZSk7Cit9CisKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpwcmVwYXJlR3JhZGllbnRG
b3JEYXNoYm9hcmQoQ2FudmFzR3JhZGllbnQqIGdyYWRpZW50KSBjb25zdAogewogI2lmIEVOQUJM
RShEQVNIQk9BUkRfU1VQUE9SVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmgKaW5kZXggYmYwZWNmNGJhMGU0ZGI4ODFmM2Ni
N2E0ZTkyOTdmYWNlNGZhZGIwMi4uNGY1NzI0MTBhNWE3OWIyYTNlNzEzNDc1NzIxNGY2MWI3NTYz
YjUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVy
aW5nQ29udGV4dDJELmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJELmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJBZmZpbmVUcmFu
c2Zvcm0uaCIKICNpbmNsdWRlICJDYW52YXNSZW5kZXJpbmdDb250ZXh0LmgiCiAjaW5jbHVkZSAi
Q29sb3IuaCIKKyNpbmNsdWRlICJDb2xvclNwYWNlLmgiCiAjaW5jbHVkZSAiRGFzaEFycmF5Lmgi
CiAjaW5jbHVkZSAiRmxvYXRTaXplLmgiCiAjaW5jbHVkZSAiRm9udC5oIgpAQCAtMjk4LDggKzI5
OSwxMyBAQCBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJDYW52YXMoKTsKICAgICBQYXRoIHRyYW5z
Zm9ybUFyZWFUb0RldmljZShjb25zdCBQYXRoJikgY29uc3Q7CiAgICAgUGF0aCB0cmFuc2Zvcm1B
cmVhVG9EZXZpY2UoY29uc3QgRmxvYXRSZWN0JikgY29uc3Q7Ci0gICAgYm9vbCBzaG91bGREaXNw
bGF5VHJhbnNwYXJlbmN5RWxzZXdoZXJlKCkgY29uc3Q7Ci0gICAgdGVtcGxhdGU8Y2xhc3MgVD4g
dm9pZCBmaWxsQW5kRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZShjb25zdCBUJiBhcmVhKTsK
KworICAgIHRlbXBsYXRlPGNsYXNzIFQ+IEludFJlY3QgY2FsY3VsYXRlQ29tcG9zaXRpbmdCdWZm
ZXJSZWN0KGNvbnN0IFQmLCBJbnRTaXplKik7CisgICAgUGFzc093blB0cjxJbWFnZUJ1ZmZlcj4g
Y3JlYXRlQ29tcG9zaXRpbmdCdWZmZXIoY29uc3QgSW50UmVjdCYpOworICAgIHZvaWQgY29tcG9z
aXRlQnVmZmVyKEltYWdlQnVmZmVyKiwgY29uc3QgSW50UmVjdCYsIENvbXBvc2l0ZU9wZXJhdG9y
KTsKKworICAgIHRlbXBsYXRlPGNsYXNzIFQ+IHZvaWQgZnVsbENhbnZhc0NvbXBvc2l0ZWRGaWxs
KGNvbnN0IFQmKTsKKyAgICB2b2lkIGZ1bGxDYW52YXNDb21wb3NpdGVkRHJhd0ltYWdlKEltYWdl
KiwgQ29sb3JTcGFjZSwgY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0JiwgQ29tcG9z
aXRlT3BlcmF0b3IpOwogCiAgICAgdm9pZCBwcmVwYXJlR3JhZGllbnRGb3JEYXNoYm9hcmQoQ2Fu
dmFzR3JhZGllbnQqIGdyYWRpZW50KSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAzMDE4ZjQxMmE0NjAwZjk3
MzY1NjljZmNjZWU2YTcyM2Q5MGU5OWQuLjRiODM5ZWViNmY3NzljNjY0ZmM2YjQ1MGI0ODJiZDUx
MzFkY2M1YzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0xMC0xOCAgQmVuIFdlbGxzICA8
YmVud2VsbHNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENhbnZhcyBkcmF3SW1hZ2Ugd2l0aCBT
b3VyY2VJbiwgRGVzdGluYXRpb25JbiwgU291cmNlT3V0LCBEZXN0aW5hdGlvbkF0b3AgYW5kIENv
cHkgaGF2ZSBlcnJvcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY2OTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWltYWdlLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS1leHBl
Y3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2NhbnZhcy9jYW52
YXMtY29tcG9zaXRlLWltYWdlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTEtMTAtMTggIERh
biBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBDZXJ0YWluIGNvbHVtbi1y
dWxlIHN0eWxlcyByZW5kZXIgaW5jb3JyZWN0bHkgaW4gdmVydGljYWwgd3JpdGluZyBtb2Rlcwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFn
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmJlNzgyNGI4YmE2YTZhNmM3MjlmZjQ2YzkzZTFjYmExNmMwNzExYjkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtY29tcG9z
aXRlLWltYWdlLmh0bWwKQEAgLTAsMCArMSwxMTIgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+
IAorICA8aGVhZD4gCisgICAgPHRpdGxlPlRlc3QgZHJhd2luZyBpbWFnZXMgd2l0aCBjYW52YXMg
d2l0aCBkaWZmZXJlbnQgY29tcG9zaXRlIG1vZGVzLjwvdGl0bGU+CisgICAgPHNjcmlwdCB0eXBl
PSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPiAKKyAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisJICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQodHJ1ZSk7
CisKKyAgICAgIC8vIFRoaXMgdGVzdCBzaG91bGQgc2hvdyBhIHRhYmxlIG9mIGNhbnZhcyBlbGVt
ZW50cy4gT250byB0aGUgYmFja2dyb3VuZCBvZiBlYWNoIGEgYmx1ZQorICAgICAgLy8gc3F1YXJl
IGlzIGRyYXduLCBlaXRoZXIgZnVsbHkgb3BhcXVlIG9yIHdpdGggc29tZSB0cmFuc3BhcmVuY3ks
IGFuZCB0aGVuIGEgY2xpcCBhbmQKKyAgICAgIC8vIHRyYW5zZm9ybWF0aW9uIGlzIGFwcGxpZWQu
IFRoZSBjbGlwIG9ubHkgYWxsb3dzIGRyYXdpbmcgaW4gdGhlIGxlZnQgdHdvIHRoaXJkcyBvZiB0
aGUKKyAgICAgIC8vIGNhbnZhcy4KKworICAgICAgLy8gT25jZSBlYWNoIGNhbnZhcyBoYXMgYmVl
biBzZXQgdXAsIGFuIGltYWdlIGlzIGRyYXduIHdpdGggdGhlIGNvbXBvc2l0ZSBtb2RlIGZvciB0
aGF0IHJvdy4KKyAgICAgIC8vIEVhY2ggcm93IHVzZXMgYSBkaWZmZXJlbnQgY29tcG9zaXRpbmcg
bW9kZS4gRGlmZmVyZW50IGNvbHVtbnMgYXJlIHVzZWQgZm9yIHdoZW4gdGhlCisgICAgICAvLyBi
YWNrZ3JvdW5kIGlzIG9yIGlzbid0IHRyYW5zcGFyZW50LCBhbmQgd2hlbiB0aGUgaW1hZ2UgaXMg
ZHJhd24gd2l0aCBvciB3aXRob3V0IGEgZ2xvYmFsCisgICAgICAvLyBhbHBoYS4KKyAgICAgIAor
ICAgICAgLy8gVGhlIGltYWdlIGlzIGEgZ3JlZW4gcmVjdGFuZ2xlIHdoaWNoIGdldHMgc2tld2Vk
IGJ5IHRyYW5zZm9ybSBhbmQgY3V0IG9mZiBieSB0aGUgY2xpcC4KKyAgICAgIC8vIEluIGVhY2gg
cm93IHRoZSBncmVlbiByZWN0YW5nbGUgc2hvdWxkIGJlIGRyYXduIHdpdGggdGhlIGFwcHJvcHJp
YXRlIGNvbXBvc2l0aW5nCisgICAgICAvLyBtb2RlLCBhcyBwZXIgdGhlIEhUTUw1IGNhbnZhcyBz
cGVjLiBUaGUgYmFja2dyb3VuZCBvbiB0aGUgcmlnaHQgc2hvdWxkIGFsd2F5cyBiZSBsZWZ0Cisg
ICAgICAvLyB1bnRvdWNoZWQgZHVlIHRvIHRoZSBjbGlwLgorCisgICAgICAvLyBUaGVzZSBtYXAg
dG8gdGhlIHJvd3Mgb2YgdGhlIHRhYmxlCisgICAgICB2YXIgY29tcG9zaXRlVHlwZXMgPSBbCisg
ICAgICAgICdzb3VyY2Utb3ZlcicsJ3NvdXJjZS1pbicsJ3NvdXJjZS1vdXQnLCdzb3VyY2UtYXRv
cCcsCisgICAgICAgICdkZXN0aW5hdGlvbi1vdmVyJywnZGVzdGluYXRpb24taW4nLCdkZXN0aW5h
dGlvbi1vdXQnLCdkZXN0aW5hdGlvbi1hdG9wJywKKyAgICAgICAgJ2xpZ2h0ZXInLCdkYXJrZXIn
LCdjb3B5JywneG9yJworICAgICAgXTsKKyAgICAgIC8vIFRoZXNlIG1hcCB0byB0aGUgY29sdW1u
cyBvZiB0aGUgdGFibGUKKyAgICAgIHZhciB0ZXN0TmFtZXMgPSBbCisgICAgICAgICdzb2xpZCBv
biBzb2xpZCcsICdhbHBoYSBvbiBzb2xpZCcsICdzb2xpZCBvbiBhbHBoYScsICdhbHBoYSBvbiBh
bHBoYScKKyAgICAgIF07CisgICAgICBmdW5jdGlvbiBjcmVhdGVPdXRwdXRUYWJsZSgpIHsKKyAg
ICAgICAgdmFyIHRhYmxlRWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3V0cHV0dGFibGUn
KTsKKyAgICAgICAgdmFyIHJvdzsKKyAgICAgICAgdmFyIGNlbGw7CisgICAgICAgIHZhciBsYWJl
bDsKKyAgICAgICAgdmFyIGNhbnZhczsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb21w
b3NpdGVUeXBlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgIHJvdyA9IHRhYmxlRWwuaW5zZXJ0
Um93KC0xKTsKKyAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRlc3ROYW1lcy5sZW5ndGg7
IGorKykgeworICAgICAgICAgICAgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2Fu
dmFzJyk7CisgICAgICAgICAgICBjYW52YXMud2lkdGggPSAxMzA7CisgICAgICAgICAgICBjYW52
YXMuaGVpZ2h0ID0gNDA7CisgICAgICAgICAgICBjYW52YXMuaWQgPSBjb21wb3NpdGVUeXBlc1tp
XSArIHRlc3ROYW1lc1tqXTsKKyAgICAgICAgICAgIGNlbGwgPSByb3cuaW5zZXJ0Q2VsbCgtMSk7
CisgICAgICAgICAgICBjZWxsLmFwcGVuZENoaWxkKGNhbnZhcyk7CisgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgICB9CisgICAgICBmdW5jdGlvbiBnZXRDb250ZXh0KGNvbXBvc2l0ZUluZGV4
LCB0ZXN0SW5kZXgpIHsKKyAgICAgICAgdmFyIGlkID0gY29tcG9zaXRlVHlwZXNbY29tcG9zaXRl
SW5kZXhdICsgdGVzdE5hbWVzW3Rlc3RJbmRleF07CisgICAgICAgIHZhciBjb250ZXh0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoaWQpLmdldENvbnRleHQoJzJkJyk7CisgICAgICAgIHJldHVy
biBjb250ZXh0OworICAgICAgfQorICAgICAgZnVuY3Rpb24gc2V0dXBDb250ZXh0KGNvbnRleHQs
IGFscGhhKSB7CisgICAgICAgIGlmIChhbHBoYSkgeworICAgICAgICAgIGNvbnRleHQuZmlsbFN0
eWxlID0gJ3JnYmEoMDAsMTAwLDI1NSwwLjUpJzsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICBjb250ZXh0LmZpbGxTdHlsZSA9ICdyZ2JhKDAwLDEwMCwyNTUsMSknOworICAgICAgICB9IAor
ICAgICAgICBjb250ZXh0LmZpbGxSZWN0KDUsIDUsIDEyMCwgMzApOworICAgICAgICBjb250ZXh0
LmJlZ2luUGF0aCgpOworICAgICAgICBjb250ZXh0Lm1vdmVUbygwLCAwKTsKKyAgICAgICAgY29u
dGV4dC5saW5lVG8oMCwgNDUpOworICAgICAgICBjb250ZXh0LmxpbmVUbyg4MCwgNDUpOworICAg
ICAgICBjb250ZXh0LmxpbmVUbyg4MCwgMCk7CisgICAgICAgIGNvbnRleHQuY2xpcCgpOworICAg
ICAgICBjb250ZXh0LnRyYW5zbGF0ZSg0MCwgLTEwKTsKKyAgICAgICAgY29udGV4dC5zY2FsZSgw
LjgsIDEuMik7CisgICAgICAgIGNvbnRleHQucm90YXRlKE1hdGguUEkgLyA4KTsKKyAgICAgIH0K
KyAgICAgIGZ1bmN0aW9uIGRvRHJhdyhjb250ZXh0LCBjb21wb3NpdGVJbmRleCwgYWxwaGEpIHsK
KyAgICAgICAgY29udGV4dC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSBjb21wb3NpdGVUeXBl
c1tjb21wb3NpdGVJbmRleF07CisgICAgICAgIGlmIChhbHBoYSkKKyAgICAgICAgICBjb250ZXh0
Lmdsb2JhbEFscGhhID0gMC41OworICAgICAgICBpbWFnZUVsZW1lbnQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnaW1hZ2UnKTsKKyAgICAgICAgY29udGV4dC5kcmF3SW1hZ2UoaW1hZ2VFbGVt
ZW50LCAwLCAwKTsKKyAgICAgIH0KKyAgICAgIGZ1bmN0aW9uIGRyYXcoKSB7CisgICAgICAgIGNy
ZWF0ZU91dHB1dFRhYmxlKCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29tcG9zaXRl
VHlwZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRlc3RO
YW1lcy5sZW5ndGg7IGorKykgeworICAgICAgICAgICAgdmFyIGNvbnRleHQgPSBnZXRDb250ZXh0
KGksIGopOworICAgICAgICAgICAgc2V0dXBDb250ZXh0KGNvbnRleHQsIGogJSA0ID4gMSk7Cisg
ICAgICAgICAgICBkb0RyYXcoY29udGV4dCwgaSwgaiAlIDIpOworICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgfQorICAgIDwvc2NyaXB0PiAKKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
PiAKKyAgICAgIGJvZHkgeyBtYXJnaW46IDVweDsgZm9udC1mYW1pbHk6IGFyaWFsLHZlcmRhbmEs
aGVsdmV0aWNhOyBiYWNrZ3JvdW5kOiAjZmZmOyB9CisgICAgICBjYW52YXMgeyBib3JkZXI6IDFw
eCBzb2xpZCAjOTk5OyB9CisgICAgICB0ZCB7IG1hcmdpbjogMHB4OyBwYWRkaW5nOiAwcHg7IH0K
KyAgICAgIHRhYmxlIHsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgfQorICAgICAgaW1nIHsg
ZGlzcGxheTogbm9uZTsgfQorICAgIDwvc3R5bGU+IAorICA8L2hlYWQ+IAorICA8Ym9keSBvbmxv
YWQ9ImRyYXcoKTsiPiAKKyAgICA8ZGl2PiAKKyAgICAgIDx0YWJsZSBpZD0nb3V0cHV0dGFibGUn
PjwvdGFibGU+CisgICAgPC9kaXY+IAorICAgIDxpbWcgaWQgPSAiaW1hZ2UiIHNyYz0iZGF0YTpp
bWFnZS9wbmc7YmFzZTY0LAoraVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUpZQUFBQThDQUlBQUFB
TDVOUTlBQUFBQVhOU1IwSUFyczRjNlFBQUFBbHdTRmx6QUFBTAorRXdBQUN4TUJBSnFjR0FBQUFB
ZDBTVTFGQjlzS0VRQUlHMVNFTGZNQUFBQVpkRVZZZEVOdmJXMWxiblFBUTNKbFlYUmxaQ0IzYVhS
bworSUVkSlRWQlhnUTRYQUFBQWMwbEVRVlI0MnUzUlFSRUFBQVFBUVNUVHZ4UVJ2TTNzUmJqTm50
RHJ5Z0tFUWlpRUNJVlFDSVVRb1JBSworb1JBaUZFSWhGRUtFUWlpRVFvaFFDSVZRQ0JFS29SQUtJ
VUloRkVJaFJDaUVRaWlFQ0lWUUNJVVFvUkFLb1JBaUZFSWhGRUtFUWlpRQorUW9oUUNJVlFDQkVL
b1JEcWJnSHVGZ0czOU9vL2p3QUFBQUJKUlU1RXJrSmdnZz09CisgICAgIj4KKyAgPC9ib2R5PiAK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3Rf
ZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhw
ZWN0YXRpb25zLnR4dAppbmRleCA3ODVjNzllODdjNjdjYjdhMTZmMTgxOWVjYmQ3NmJkMzZhMzBk
NzNiLi4xMTNkNGNhZDgwNmU3NWRlYzk2NmRmMGQwMDNlYjc1OTQ5N2U4MmUzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CkBA
IC0zNTg0LDYgKzM1ODQsOSBAQCBCVUdfTEVWSU4gU05PV0xFT1BBUkQgREVCVUcgOiBodHRwL3Rl
c3RzL3NlY3VyaXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1zY3JpcHQtaQogCiBCVUdfTEVWSU4g
TUFDIERFQlVHIDogc3ZnL2N1c3RvbS9vYmplY3Qtbm8tc2l6ZS1hdHRyaWJ1dGVzLnhodG1sID0g
UEFTUyBJTUFHRStURVhUCiAKKy8vIE5ldyB0ZXN0IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjY5MjAKK0JVR1dLNjY5MjAgTUFDIFdJTiA6IGZhc3QvY2FudmFz
L2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRtbCA9IElNQUdFCisKIC8vIEZhaWxpbmcgYWZ0ZXIg
cjk1MTg4CiBCVUdfS0VJU0hJIDogZWRpdGluZy9zdHlsZS9ub24taW5oZXJpdGFibGUtc3R5bGVz
Lmh0bWwgPSBGQUlMIFBBU1MgVEVYVAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS1leHBlY3RlZC5wbmcgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFn
ZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWJlOTMzZTA0MTI0YjQ4OTQ4NGE0NzljOGEwMzEy
MjdjMzY5MTAyMwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTg5NDcKemNtZF9TWEZ3RiYpLTc2
cWZgfGxfb0RxfkxLX297LUw9WnU4aDg4ND9XWUgjU2xMUTA9MzZjZkxTI2t5dUw2RHIzCnopWnsy
Uj1lRyh0WFlYXnFeV0FzZno0IWZqP0AhYWNEekl2RypQTFVIRj1vQWV0UlJEYmtANngwTEhNIXs/
a1BoTQp6N0NpKUVZRkB3dUJQN0htJS18MkpnUzRpRGsoc2ZQck07c1MjUSlTcD1vYTZUciQmTVRo
Q0VNcl8+MnZDT15pKT0Kek8hIVEwYjNaalU8Z3JeTXE9TylPTmNQP3gpdDUxZyEmV3YhbzM2YDtL
fl9KKXBIZSkwZk9zM04kelI5c04mMClwCnp2bHkyJmI+QFRhJXZZWSluQnJqTyl+OWNwJSFSUzZ4
O34wdFhiTFcpZWNFUjNgPnt+ZCZnN1gxQCo+aj5NNGpXNAp6NVdecVNvVEMrZDcmXkRVWXF1Yj5R
Sj9qR2AjWmZpYmBhQmlGTUt6PXVjREA2KnRJNShody1ARFV9dHNIWlMmWkQKemRwbnY+VCR+ZUpN
PG5sezZNUl8+LXE/NSRSTGYxdDBZMjI1PCQ+MnI/OW0oVEcmRDUmWVk7Pm4tcSl2JldgKU0wCnpo
N2RucXdZdW5PO0xrb0ZhTD5+IWFXI2wwSFAydURhNXMzKWZvOGRaRytVN151QWM1JE0rbGQ+Umdw
ek5EbHNPUAp6XkJxMDt4OClhYllUalhXdU9JbFc8WHRPc14/VHIjdyFxMEptZ0NjIXFXWjt+cS05
YSVwMGQyRiZQSiYzaV54YW0KelBuRjJWNTsmcEJAQWp6OGFRIXhXdVUzbCtvcmx9JjhrIUA5IWNq
OTlGRlJVdz9uTmZ2PXdkYlJrcnF0RGdVVktpCno1RVEkUlp+QyVaKFpLXz5KbHAkWWl8WSZiTShD
SkFMajBffHIhQCo0UnAkO2cqdFAhSmVYKnhJQzQzO3xrKDE/SQp6SD9wVmFQNGFYYUw4U0o0LVdF
N0Q3UDF9O2MhTm5oViRjaHlUcTt3JXdMcShyell0eGJ6ZkJYMGNaMXxPZVFFem0KemQlPzJVPTdZ
N3ZnLTR1TD0kLUUkLU1eM010TVlCPUFgNTxCU0x3bl9DditaUDl1aH0+c3IlRGFZK09KX0N9enNP
CnpfcWJrdF9eRGw7eXh6ZyFYbnt0fWRlY0daZDM3PT9PT3FvQ1hKXn47QClAVXlYdVZzVG1Re34h
JVYpO1ghe1haJAp6bjM/fDF3bEhnI2NVfDVUdDwxYU5KVzVmbU5MPV97SmwpX1ZzO21BWmB1KCVr
aWM8OVZGSlRjSWRWT0Q+akQ0WGcKelhuRHlTbEtyaGdlZzJ2ZnkyI1NlLXI7dz5rI1VjN2FhUn1e
KCg4NHFHP3orei1wRXsjaitiRHpgeis1USstWHE5Cno8O09yVjZ8SnNYSz4hMGZPU01PNEB1cSU3
VnkzTzV2dmgwJlEzSTBfK1JBISRjQ0MwZ1F7IUVhNX1CNSloVjxnaQp6eFVeO0FrKUY3bUxVSyRH
bkd3bj96dys1UDRiRUJLWDw1c2JOMiVkbDJnQ2hyb2MhRD0rVFdWbHVDN31JPmZrR2gKek9OXnxU
TXN0PFR2Q15fRGFPcUtxNj9IdDxgPCVKQWIhZ3IpREIhdntBdmJSKlktSWVsXkowWX5rMi1DVD4r
fCh4CnpQSXRkWEtncmVBS0V6R2s7X2dRWTU3b3UocjNSWkBqJDtfbT5yb21ydiMxd3Q2THNIdjd4
QldtQyFPYCozZD1iMQp6ezk1XiQpNjAlRnhUX2JWUVFvWWk3bjM5WXZOSFlmPX1rdXJWaUllN14+
Pi1yNTB6aTM5bjRvT1JnQj5YczJiIz4KendLXzFCJDE+X2Raa3M7T1NQSWZOdDFOT3xsSUFoSmdW
KkU+Y0o5KUFiK0Y+Tnk/Q15TUHA1WkpQbzgwTTFzQmIxCnp1VXNFZFpSMjlRS1B4KHEkI01tKCFK
Yi07MUdSMTRjJEdqZ3BUVlhFZGdeOGBsaUU4UjhrcmFrVUtfMHo/KlhwTAp6cmo+bXJJe3h3O3xF
SH1aZFlSRkwySyN5PSU4JUBqdU5UVjZ2JmpXVjNaTHdCa3h7dGVfPDYpKlhZTXNXYyU+RnQKenFC
dUYlVChoJV5QbmVUWVFRaUc7MThTe2U7V3ZIV3tCWUp3cWlVcUl5dmp9fkgpMGs7UE0/XjllT3Ja
Vyo8Zj01Cnpke3l8SWlKVWhBK1djS19IN2VAR1dWcyVgUk4wQGkwNWc1Jk13d01FO1dxTWNEND08
LVQ0SGElPXUoWlREeVEleQp6NHw0WmxDeWA2TVpwSGF+JEYrRkpfY2A7PGBfdTUmbjdIS3YmaE8w
PUg1Q1dBLXNzbkZyYz4qX0FTST4zWmBDalIKekZTQmZsKms7cHExU2tKbys1WnxNcDtBQU9mdj9x
a3NZV0l1NDVfQ25tY2ExdjxKazUmUXd6eEpoWklVcHtiTzN5CnpeITA2OWlPZnAyPlpleEclTiND
SWRmXz5obGZLSXdPeStHdnMqOFN7WHN3O3c+ZnlmcUk3KHpqUXthfnVsSDsjdgp6bEc/cUZPN21C
b3soTlFneCpuUDIqamZqb210JShQJVZXPSNvckBIVm4/MkdqY1ZEYGtQdzA0TW1OJWJNXjFffisK
ekdaPkEqNW8yansrNDF0bDhaMXI3NDs4X3pEWXtBXkUkdGU9T3c3JW9GUWV5cU8pUzB+M2crc15T
Q2BoaTlzRyZ6CnpnVzhTZW5TQ0sqREQqUlgoKDZseWglQW49Z31oNXAhIzc3JSEreEVPRCEpeUsw
KmcwZ24qWlklZU12b3R5VmVuPAp6cm18K3hLPEx2I1d5ZFg2P01GdXRBdXRLQzdgOVBtU3ImQH5g
bVI1TCpyYHtNXlZmKnkqeWJAa0ZjaGU9cU5hd2MKenBFdVBwa3ZKK0QydXZiRT8mJTNnTnhYaWJh
bz0/fjclUVBrJj9AZz5CcDc5SEQ9OCYtQCtMTVhnJWdTIytydGZTCnp2NUNaJTNHaW4wcV9QWEh5
UE8yYyt4OD5FKU5ZVitqNylHKXJ8P3Y4aH4tWH5FXzJZIWc0OysxRldzTnM8KDd6Owp6XzhsPEtk
T2Vne3xJaSE8WC1YcG97dXVlUTFrU3MqPHglQWpCQV4wMCk4d347WCtGMFlmIVQkfDJRKi17MitT
WnYKemE2UHNebUVEXjx1PWw4VWpFIypIMGZlSUYpOWxyX1UmX0V0V1k2VmlFMlRnbUxNOUQ9Tj9K
Rmg0IyVqYW0lO0QqCnpuclpPaj5JTDRZI3tEYCgwRWlaITkldnwkTEdwR3poK1k5fU4zYlFzQFQo
WCgzTGt1MzNoay1qdkxANSZHUWNsRgp6OzU5ZW5OVXR9ZXpNYEp6OD5iQFpyKEd2dmIlJXt3NFBV
SFVyUGg7eSo1TGV2MURfKkNaUWQ2T2NTOUdXWTk4OXwKejdLd0h6ZUUrcCRHS1UrLXMhciswRyo+
QHJ1RCM9ez01NWx9OEElc1VpRXl7UGNKPC1lY0J4IXs8NyFeV1c9dlBLCnomTSQ1NzQpSWdRbHIt
PSZjenFKO1lYdWtaKSNXPi0jJX4xRUdsaHt+NXFOIz5ZeTxXSmV4SUF8VkBEUmxhc1N5Kgp6Mzds
V1NZVWI0O1FKWWJ2N0JgNi16bWF1SC1PPSt6ZnQ5UyFUM3ViV0tRMnAzc0BHdEhKVFNXazJJZlcx
KTlaIygKeiFLcm9mJEZPbGJfPFF9JC19Q0tfX3twfGw1czA0WlFXO2l2PGFoP1AjZkBfeDYoWHVH
VV5yaFUqdCRsMnopdjZfCnpxflFzVV5YXjFvS29JJFQpT2lSKGttSGo9a2pFMntvPCFDJmlqTzNu
Qz1INldOKURATiVqRWheY2g/SitjO2ZESQp6ZWl6c2FhRmVnJW4hfXhGO1d6dDF3aSV7PHZ3M2Fp
SD1iLWBQbGNXJHJOTjgkUUppTDZ3OCp4WDd0NzNhQ1YyTmAKekBvNzQoLSpNPz01M3EwU1VUa2ZM
Y1RPTXoqJDFUSjt7MGQjXnc3JWQ2Ryp7eSZ2JT50JUpNUmM5RF5sbExER2RyCnpzXihNK1dZLUAk
K3VyUnx1dElRZ0huRURoYCFKQyNjamlPfSNgUStOK3I7cCFIQVJzcWx+Z3FkV0c+UVg1OUhFcAp6
LTZhbDxPeHorM08zUEdQV2Q1XigtX1NVKHwzXmM+YE1wP1gmRjYtbXshQjRDXktiZVdBbGdAIWQ0
XyhwVTk+Rj4KemRyS05FU2JMT28lLXMqIWNzQF5yT01OcndOTGZWczElPUxDNDxxbU09cH58SyYz
X2RBK24/ZWNUV2w5PTN4bzJxCnpnK2NzP1AqUEFmSHMpd3QzQVNhO2kqbm96enFzOVNiQDZQT1ZO
ZHBaO1VsdUg+Tk56PGQlWiM4ZV5oI1JAKT1pUAp6eD0mVDRld1B9U2EzWX58O2w3bVg9blpOfXBw
c0ExeTM4VnY9e2dKbUVQTF5uJjEodTAmVlFTX1RDSjJrKHR7VWsKejV3emZXR04yISRncDRRX09D
e0pjbDtpWGZZQGgjJGdEbFotPyVIZThkSkwoOWkrTTMwNXkpN2JTcTBYelgxP041CnpqaVF8QE5E
PFYxd2QhSjlEZiYtR2t5cDUhSkphemlIclRmZUxvVllCMlMjP0soPVA1d0Y3cTReNU14Ti1fZFNz
Zwp6QHBIeUsjNT4lZiV8QCFsPkw9b3VZMzNePlM5KiNrXm8jVjQ8bXoqRVYlXlVBTVdMdWk7TEla
e19vRn5+O2ApWTwKemE5XmV2Qmp3cl44Vl4+RzBReHM4QlQ2WkZIVi04JkRjc3J4UT4xODxtYFR0
JSU7Y3FRRC1+cFB0ZXdmc3p4Xi1PCno5Slp6QHlZQWhyVXpXVkhacl9wQ2kkKGJiRVpeSS1lZkw/
bnhqWDJ4b3VgfFJKdmNUTzViflh0antiIU1QTXFSaQp6ZDFRP31fNC1ZVlB+VUZBWjJqamU1d2pQ
fl5PdG9ZVTJhMGZ5YiFyUnkkX2NyK3wtcDxUUEBhT3klZHc9MnhtYDEKenppUFR+eHJeeW9jVWwr
RT01RXtGa1QjWW8yQGl3VXFRYVJ4MkUzTy1WfHFWSTlfMnpkcEcwcUtRWGYkZT0hYlp0CnpzeElK
ZyR6bntsT00jcDVZcEV2UTZ7KiVTMWxRTzFIYjtrZHBvVF4lUjhlanJgckxWQWp9cFNWM3JgP0Mz
V2lHdgp6Mz5KcVJzO3RPRjVabWR+QDZuQGZmQ0czazNVZzVwQT55bjNfQHY3P148JiRRcCV7Tn5h
LTdFKSsrUlc1X2pERn4KeiR4SCZAaitKIWg1U3xPem1idzNvPzA9Kk0wY0l2MkQrRUMkYGNBMGlI
KTcpc0NMJGhiNVh3PXFBI3l3QTNePGJTCnpaM2hzJFJTWTtZaE9eQW4tfmpTa09vWlA4dm5GVCM2
VXN9NnA3Mz1uPDZ1T049aFZydSoqPFdOQHY2VWxLYTk0Xgp6N09mPjIwXmFtX3ohQlkpRlQ5SHR0
cCV9TVMpJEMrPXNrKCNwVF4rcHQ9cW8/VlY3Q3ZqZFl6dkB0aTY9OTF1SzQKejJyOz52XmlVMT5M
U3Yoa0ojNHI9TkMqSkwjfT1+NEJWaGxFRlo3eVJKKXImO1d9VXQjVj1AeT8xak9CPjFPc2szCnpi
XzspVUwkZXw8b2k3Snx6VkRJPkM4UDtqPG12YVNnOXg0RXd6O0UjYXJLd0tPQExYNCg/IVY3RkEx
IUx6OHlHZAp6VCtkMy1AS1hKRylaYiF2cWFaT29JaztYMEo0cjA0eVA1amk0c1o1aVMxQyRUWGti
PFohelpVXyZEdHo+bldKcmkKej5VdUdtZG5QfHhEK1chOCN1YXBVS09mYVFGNTxzIyFJQGtJYEZW
RnwrSk9LbGhqQU04WmZwSig0ZiFveTRoWC11Cnppd0Z6NUJ4NkQ+Xng0X2opaGZfZXpPcCh7K0RP
S3xsKW1zK3VzbDhQa0AkflQxfTh8OHBXRl43Z3tNSkhEQTAweAp6cGA1S2AhNih7cmFKJEktSnQ+
dFVEK3N+O3ROUEQ2X2w5eVJ0dzJHdSg2Kn4+Q1ludDJAO0JiUnAmVGVBY0M0cikKejw3UEJHZU1v
LTU8O3kpaXJ9UX5udjFrMHJBJChieSYqUUkhN3whb3woWWBoRmBUYXFUKWJUUkdKZmBHeFEyfFpz
Cnp4aFlZTlVzPVQhTUdnfH5VUT4mbmQrV0xraTgoajUtUzVpMG5eYjh8XlM2MFMySDghTikha2Fk
QVd9Z2VUSXt+Qgp6ey19RUd4S3xEJnJ2b3hzd3hjKXZSZipZMmF4KnBCS04zJUpRUGFCX1l8R1Iq
ey1QZCF0OCQlKEBxSX10cSNTJVEKemo8cjM/SzFKNjRlUkxnRUBXNUkxXlU8KHJJR0otLUxkTEM2
dGVROE4+N0RnUE9zem0rbj8zZClGUSZPajxndlB5CnpOeHh8Rm09KkhDZUBgeCgpT2M0MDxjRFYk
ZylDMDwxN0J2dHBRdDFgbiFjbTYzPXh6XkNkbntQJXxYdz5CVF9IUwp6dnVWfDliYWA+fnJyTVVt
P15oTDNzK0JTb2hRZGc3Qm1PPWRCMX1ySypMYG9kSHMtX31nKDY7Pyp6MWBTbU9QdUEKejdWUj5X
YERDRHN4VURIRTg2dE9TdTVebE1tOHtVYkI1cGolNmAzVEw+ZDxXRytmeTtucFgkXiRZbjFzS0R4
RzxTCnpqYU9VN1FBS3g8PHdnXzBJKj03XnhoWEFoOEJnSWZZS098KlBNZj07d3srdGdnIUEmdmBF
JWM8U31PaTZPMFNaZAp6SSE8RiU0UTdnJnlIMFlqSyQmS0Y5djstYWNOI0RJQGEzcm1SaXkoRTl7
PTxuRHYmWTdBdyNBQHl1PGxZNFZKVkEKekhyfERYSml7Y3BTR2Nae3hsUzJYMjJ+Klh2THNKeCNq
YWwybGNISlpqa31FaD5NY1BuRn1QSVhNdSNTJmpuQ3RRCnpvOUY3NkRjdHM+bTZHPjFiWVNAV0p5
P1kzVmtYWSpyPndqT1pyUlZAdE05aXBxIUtOVzBubHVhJG97I1orOClFRQp6NHhhY0UpajE1Qilt
U2c0Y1dmanw1ZGJPK1hYYncldVB6QXdUcClaXkM0UUwkbmduUiMwO1ozPEghOSpZdj9oWigKemY5
XkhMeCghb3x5RX5FTz5aZHgpSHs3KysyPyRTYTQqLWstZkg9QXljSCF3UFBMa1pkRmI5Py01N147
Zy1CfVc9Cnp0cFAoNzNQPUUtQFd3b19wUlR3T2QwZjcmPkVWNn07ZjJEK0o5JSUpQlRjYn5kcnVo
YEFYYlJ3N1Q5VkVaXmh0JQp6UWFUVkFhWGNXcnohQXBfOCpqeTJiJmkyJUpONykmVC1KQUc7VkJW
M05FKnk/PHReNHd7WWpfLV5BTldefDN2Vm0KeiNEIVhWTnsoNylmSUQlKHleUjhhKVlfWTUhYUdM
dF5NXj9ReTBPOFlCUWNMX1Y2ZEtrOElUWXhZfmNTMjlMfSVDCnpWJXw4NUtve3t6TV9XQXQ7anJ7
bDFGeDA/b0ctfFR4YFFZbmwpM3x8RXhkJlRhTkBSR2p7NkhEN0omKD5NJVVFUQp6SHFPSSZueVA2
S1VNU0l9WkI3QExNMDRMVV5oQF9nSWFhSUtxLXI/ZCZHOWVoeTl2VUdQMkU0Q0IxJVVLO0p5PS0K
ejdxZn1Zby0pZ0BtYGAqNV9YRD1OWT53QXxWWnRIPDVpMXxiYTZAV0orRHI0LXNDJipzUjlPTz14
I2BfNkU8QW1rCnpKYFprZ25BYFpwNE0obH1tSCVEVDYyJHAwZ2lOJGNoPXxrQDxuZkdxbDBlP2JG
VmltVkJoZ2J+eXsmOEtLekllPQp6Y3g2ektUVEs1bDJ6dmh0NVlKKkImIXFUfEVhenRwSW81N2w8
O3dAanRIdSp6SDx1MyYtY1JQNk90OTxsUm9oTy0Kej1hLU5IdFF8M09AT2psKDFAJm1QcX47ZGpG
THMqTSYtZT9abnBBdFRmUzlxJT87ZUU4TEZeI2piRlA4RHA5ajJLCnpUWnhyT28xLWFmRHViPGBi
NVJAMTtfaDEkN1R+TzV0QF9aOFNpRTgkc3M3PVljZ0JfKTQoT2ZIWDI0dmlzKnt4RAp6eUQzRkV0
dHdIcXNRMVptU15tem0oYzFwQV81cn1rdTFmIVhELUlua3h+Z1o2QkY/c1ZyZDRrfDxJdkYkKTlm
ZzgKeio0SzBCYEA/JEBPNSpYPVRpMmREYCpVZWtFUDNPb19pX31GQ3IxOCp4fk4jfit3djNrWFlo
TzVkO0dZbCNwKDlRCnpLJU1eNl5zSHQlUkc1KyRVQUJIQD5RNG5pb0xVaDsyMXg2bjBkSjhGYyM5
elo8OENYMW9wfD5qalh5UztHc2Yyfgp6dShQfmI7XldQQjNSKXdFSGtiaEhXWH4rREF5YSRuRSNa
MClMS1Nid2xfRjNmczsyKEZra1lWaSRZRkVsbnAjQWEKelNPdGRfOX0lPC1ARkhIc3FRbGtNNVZp
Sl5tMEd9OXhLdV5rY3J8dEgqUkBCWGV8NDg0PiklfGp2QXZvQClTNzh1CnpOPiktX0stTHxwQX5i
JVpXOVU0cF9mZkA2VSorLXs/JlFtJTxkQl9PenA4PERKalIjTVJDNmB7Y0VWVDhPWCtwUgp6bCtC
ZSg0RGBMVSsjbThjWTxvaSo+P2gyUXJLdTlkRTE+NXo/RWxXZGdlenJ3NEh4fUskVmtuZkshYTtV
JXJ0SjsKeilDN3RGZ2kzR2pMR3B3ejlfZXokWUYoSmRWWHdyazE5NGZrMkBuRWpkTjFrcmVmaE03
JDkybV9PalpyR1UqKVM7CnpUd2ItTXk9Q31pP0wzSHk7Yzg0fHctPDl0QyVGTUt5dTh3bFAlfGpZ
YipZWnU0UHJrWWVAe2lMc3BmUjM0eGBaUgp6I01lVWhoZDxwcEQoNSU5PmtQNn1BdUkwQDJLUUko
SmV0VSszR0BIdWs4M3wyOHpwQT9eV20oWUtST3FERjxBcVMKeiZOI0lrNjhQJUZiUH4oZ3BXaW9q
LTNVNTVRdChGZXZRWkpkM2VYcHEkZSoyTjJCMC1mY2hacTc8Qkk9dEhAfnMlCnpmR19oNUw3Zyl7
QTg4bUlAdD9yZVppTG51X1cqdSFsT21WZkA2TylodHpYOEFhTkprOyN2NCZAR1pSWVRYM0JMcwp6
eHtqSWw3IXEzUDBMNjVKVyR5MUtAZz51K2MwfkBZaVomLXdAbTVZbkhUfHZgNWo8SVZTdH05OyFJ
KVBPUyZQJDcKeit0KmFCZzclJUxDeWBJTFYpRXNwTz94byUwUEl2TiRvaFB8TD9Dd3xOSW48PHRm
Wnt3UDdIaj1GVlk3KWF8dmxGCno7NF9BKSN5UChVViVRRSU/Ym92QVg8aF5ZeUA3WmY7XndqKTlr
SSQ2cSFhPD8xOEZeP1dnTGJVSU1ga1dmWXE8Twp6U2B6IXdWfDVhKWAxYmRSSjFtKDJJSlkpWHpv
JUZZZTJnS004I3o9UUJaU140QypgcGZYSEQhakhHY0ZBezIjcCsKenU+RW5qWjlIdXh2MkkxJDVX
Kjt2ZTV8cmdgfD52b3s5c2szX0tKYldYU25iX0FSUGJ+JFlYWkoqUk5iMGB3PEtiCnpsZF42dEVx
R0h5KCU7UWRRYF9GdUc1IzE/SG1hUCtleTU5KHF1P19qTU9McTdKJnpkVSMpbCgjejBLSUBBdzhy
cgp6I0hWU2p3dEMpd1ROdXlCezNvWWtZYk0xQ05Dc1FpbTxta2RTdS1FKHdQOHhXeDlMYXA+WS0y
UmheND1TU2N+dlEKejJVNUs1Mj5AQURkcDdxJFNaYCl+MXJpMGg0P2R+RDxUKF9XZihfdEJVPGUo
WTFYRTxMTCV+O2wlZ0ZGOzAzOSl7CnpmNGpFc2BzK3lFV24hPV9Gcik+dlh+Z2lrdUwwQW0zVCFZ
R29tUGNZZ2B8QDBVd25rY0VTeWVNZEIkaTEqNT5iPQp6V1NLejl0Tn18dlkhRnZ3Oy02c1lVUUYm
NVhfT2xKQVBkRlBnZExSbzYpWD5gUTNERUtrNnZafEUtKzB1ckM9XzQKenRvRHAmZz1eT0xaSXZj
TmM4ZmNTUFQhNkt5YD5lbHZLflh4UkVeKXc8Ulk/NzwlZFVeenJPcWclc1hleXxORjRrCnpMUT0r
VjJpMDE+eElhKyUhMmV3O0BmLVFuZ19tNSNYMEZQcylKRihaeFFuYzFya2NfSkx1NU9jNz1OI0B7
K1psJAp6fDEqfDZqdy04VSEhQ35mbmZsPGNjNm9mdypFUTFhUEVpZnRHKXc9IU1xPEFBM2JJTjZn
c0xxfklGajxOK25HfWAKemRuVT9uVlAya2o/VEcmVTJVVkE3eytqPHlXYX1FRHdYT042YzEzOGRK
ekI1cik5TzNrPEFBOXVPO2c4QiUjYz1uCnooVCRrdyp+OXNfOExmWSEoQV9KP2VHPnU7VG1IUj43
c2k4VWlPbGRHJUdIOVdWdyZxaU0mRDczcWdyeENZdEF6cgp6ZXJKcilaSUZ7TXdCVCtJWVZ4TzRE
X0hyTzthSTFDaVJrZi1ISisjJXB5fT1gcGUpRTJfYUZqRD10O2dYSzg9el8Kej5IdE0pVFMpSX1R
UkUpNyRPbCZfS0Aoc1o0QjBjPHFRcmR0Zzs7fmt7Pko/PGd9RHo/TUN0V0A4Kj88WT8zZkx2Cnoo
LWEmfitvVV4tV2NaI1ZjWnlrb2MxfHpaQEk0Tn1ARFcwe0sze1FwdyQ2bDxoWW5AWXo3WHsmRS00
V2FxWXZnJgp6YkpjVyMmQVhgc0p8eTt9ZyZ3NllVIUJ4ViNYQm1oMjExcClWQTI4cCpGcVR9WldD
QjBzOEVnY18qVylKe1I3KS0KelI3bV9FJEZfYiUzV2BrdCVWejNDNmBmRTU5bVhjIVhzJThZZUM8
Q1hXRHI+WnYhKX53Q35QfH1xcVFEJXI3MiVfCnoreSMtZWZidD5SNSh1KXduWT1JcWZHTm9kRmdn
N1J5VVFTMmpybipNeyYqNUckKz5aWUI+PSp7ZktgY201bkN9Mgp6bmhYTj9rXyhqY1FXRTU5MU5+
MVpBVXxBeTMrWnFrZCFlPmJyXndkK2xAdmlyQlBmO2NnS3l+dyM7YyRsaFRxM0UKejVGNWBqNlVr
bjhJYm1QbjV0dzt9Qk1ifktERkVMSnBGfCNqV2Z3e3s8YnlfNlF3JVc0ezB8RTdCO056bj5AeDEq
CnpaM0JibUl7PTw0MGBQZVBnPyYjakZYaCllc1BpVzxIfkw4ZiUkMmZVN3ZqSj0qOzlhTGdiPHRZ
WkB7KEAjT1V3Nwp6KnNnSFI0Vz09MjJ7MHBvcG9BO3hNMWFqX0hHPCVlZSt4VFE2RmpjVkdrWV5H
OHU9Kj9DI3FHTilRX0M9QUohbWMKemF6OGRUX2AkX0JAdDVBPjgpeT5SPylKY1F4QDE8I2c9N19s
MClOV1FLKjttSm47eXFpemMpO2ZOS1pBP2UxK2Y/Cnp1dWNITCR8RnJeOTw8MlBiWUJfd3hpUmoh
bGxzKkl6bUY+R2FLSyNUKz9Re2tBT0tfazt6NU9CJW5NMz0+ZUN2Tgp6fDBnQmdHM3hTaVU/NzEo
SXN7I09VfT40VE96ZEl2PXNCensxfmEkOHdLO2RkfDUrQmFmRzwoeHhaJlZTJDwyTzcKel9vUml+
cEliQWchJCNzaClCKUJUNmpjSCMlcDxwSnspOFoxci1Xfm92a2I8WWF4cmF3LTxhZkZae2JZdVVv
PEg3CnpzQ3Fkb3ZAU0g2VkQrd2pSIVgrWWI/RCM9VSliSjNhK0N4WXl0bHtRJCN2WW1tU3RfTjsh
S1RKIWlCTSE0fXc8NAp6aGx2Z2pQMGUzaVFPR1BFNWR2MSVANkNKQz5GJlNhayUyclo1Iyg9d0pq
QzJgQElBU1RwIXdQMD9gXyZ6YmRuY2IKel8lKDw1bS1ET19kTlN4TjhXe2plbUYtYkxnPzA4T1pQ
NjRYT1VJMkl4eWxMQ2poTE9eWFd3ZmNBTWEjWDZ3MF85CnolPmNjZSUmemt6dXhNQVJWQSNYJVU4
fnRCYS1XKWJpdjZ9Kkk0K09zbnd4Z0NleT5XIWpeTX1GKE4oXz1xVEgmWgp6dDBNMzAxJSVNKTVi
JmZsQGxASUMoZ3BwLUtVWFZlam8rc3J2V3ozS0BYPUwhSDs+bCFoWjB+dHZvT1IyNll6KFQKejZU
VjNScWZZNDtFK2U+N0NiQlNTPFNtPzM+QXVsO1ZVMnAlVjdIOTVSUDJ9IVotMEtpXkokQ0RwNm4j
bkw8bEY1CnpqaX5QdiMwdClGbnFsUE1fVFdxSXB8RW42cCVNQSpwSSR+aVBROEU2TjFgViNYfEhM
R21sdFkjWF9AQyUqNjtZTwp6PmQ/WVg2TVpPRHpaXjxLWjlgKj14RUpLTyhCTVF+OHV6bkJ8Smtv
azJLaSsxSmRxQUdKaUdaWD16NSokWlVPUVcKejMhdVd1JG5tKUg3YGtLYU90LVcpLX1xUyF6anJL
Q2JEXjc/K2RiNyVSWGhAJVNkO2MjZm9XajxSXnZtPS0/QCU2CnpafHZLR0MxalhjcT01PCFaZm13
TFoobihGN29FXnxnamNfT2xefU03TGQ7RUR2R1R7dHs8JnI2KWsjaW9IMWozYgp6Tm5SdlUta1Ej
SWhYJS1IMWU4VXYqY0pDWGJ4RDh0KnVac1dFVkA/OzxCTmxoV2FwaD55UmM8WjdyYWpzP1NDNGAK
ekI2aXk5T05nKj51fHdyemBiZGhaKlAtQzZmYitiUHh+VXdycFFwbH1RcWQyY2M+I1JtKXBiJnJu
SlZTdEpLcXohCnpHQmUxXiNWVG8jQThZSntoJGtfa3N6WmFCbEgxWk0zSkhVJExAYytAVyZMXlFk
Z1dXTEJ4RT1Hc2N3OXctTnRqSgp6PV5PPXNHY1JRPyghMH1BWDNiTypBaldockAlaHYqTCFAbX1O
QmJ6cUY5XldSWi1EK3g8X2Q2OUNVVStVTFdHP00KejVlb3lVJVlwbURvdlRhPSZMU0xHcD9QRnU1
OHs9Z21YfFBecTUpZG1NdmFaZXM9XzZ1NE1ZTWw+SSFKZW0tO1heCnpDdylWM2tJfGxsSDkmfEsj
YlJWM3hIcW9Dak9jNG5XKyF3QVM+PV5HUXsyWHRjSVgoKT03e3ZIeCojKU5TVkNuNwp6NW1UaCVf
cE11KDEkZlZhMHxLNGdYR0V9RXs5eDlnKWF7THpxPlpTPE4lO3o1Q283O2V6bkwheiYydnp1Z28t
Q2sKejtHJChFdVlnKFM3cyRFJjV5NkVUelVyWlJlXy1JKGpZOFd0VkFrWSZPLXxVNXBLa0BXQntS
PExiMHtme3VibVFxCno7SW1ePExnYlM8Yj5weVYjVWNyeDl8VGh2NDNZP2EjfjFxS2BfNHg1Sl97
SVM+SytRbHMkfk1BUlpBdF5DRzYkVAp6RnNkezFUbjAyb0dlQ31mPDJNTFFgcyE2M3hqfFROcS1P
QF8wSz1QQ3VyJXVnKkZHJkBUNDVjRF9DYTBFZ0NlSUEKej4mOTJyMVliVkEwPFFANUNfIXkwOzJy
dF5JaGxrS2pRcVdab3hQdjIlKyRzO0lUV0JYbDJGVzc5cVBmOW99LS1eCnp2OHluQ2FKTFA9YzJ9
Xjk0RmBlfWhgfmh2eUBXNkwtcV9mRklQPjJ7KUJqTlBoYnIyY0hxaylBX30pWFcmRTsqPwp6Mj43
bDcrfUVQLT0+ZHBsenpuLWw7aU5STy12ejw9JTxociZ3fV9tXz5PSTgjKEo/NmRtbE9aTyRLXjxh
O3RHeDkKemxASGUlZjk1e3hKIyN1X25SVnoxTD51cjZyJihGRXp2dyNuQ3I3YTdoa2Uta1hnY0JA
IUYrPyRNZUJiTzFsOEw4CnpkZTdae2U+MH4haVZkTlFIdSM8SzRfbXxMUkF4NUU7MX1JfVRHY195
VVVlPDQ4a1U8bTF6KD0yUjg8Y3JoRUhYMQp6bHplZWgrOGIoNjU0WHpidWdVfXdSbUVzI0lYSEBL
X31Bd1k7anM0bkY5M0chSmo+RyMqVUB6dSkrcE0+cn5tO3EKekchfm1aJCsmRHUmcjBBUFB5UWFB
I3BiUHxrIUptO25KSGM0PEJ2QVdwWDNoe0w4NUVHUkZLfUUoZU9nKmM1bWlfCnpHamUodmd3SCF4
VlUoN0N5d2xSVjFkaW1MaFFCcmJ4SFI7cTBlekh5Rzx8PXw1SWJ4dEJQV2s0RjtUWlF6U31WKAp6
LUVqSHxLNkwpTzQkM2h6YntpRyVJM3Vee3tDTkFZNDM0NjNyTFd6WVc/ZUVIbyplajw8WFZLWT9Y
dHl8cClqNXYKelUmMUR5Z0hkUXNuajxsUjJofFp9bWhxQmR1aihBTGxsZH4xTVJrezYyaj0pNkRM
ck5CdlREMjdyN0FVaXZOQWt2CnpOZStDKHF4M31HNjhHMHRmP04rbGpuNVhIKU5ZVkxNVjUoLXQ0
TSZken0yYH5nKVI4OU9RZ0NJJk5zVFp1SXhZVQp6emctXnFPRVU+ZlZUKzV+TShwRSRtNj5MbXZx
a30jTj9QczxuKjgjKzB7bkM5NW9lKmJ1YkRtZT0qN3olX1p7bmoKemVVQ289e2tPQ1UtQFAoY0ho
JTBlWXNgKUdZSWx3QEJSeGN5OGc0JTlNWTRuTk5+KVVuUXpnUClJe1VmaXBIRWQtCnppMTJ2cWd9
e1g+Jik1I3RUK15FUm0zPmNSZjB6NVk+ME5wUHlhKGNTYH16bTFrQVUyajdRTWBpbHJHRHVoIzdO
QQp6JGxFb355REtRaHo8YmN2YFJkVlRIU2RuWWorb34kYCs9UiVCYDVLWlZAX0xOYHgmP0ZqbEkj
a1ZuaSZETDh1I0cKekpCJVAlcyNvfXdCRFlYSUZNXnhQKT42ZGUwVVJDRHVoUU1xYUVpej5ZMjB3
R09IU0ZwRzBTNUxZc0RTY3BnKm5iCnpjaEpMa2FMMy1gLVU3RzJwaHlDUzxtTDRhTUUwdCVobk18
TCg9O0orSD1IfmhQVkFwMmRYbDNLSWI0MDBkPk1Vbgp6WnExRzhxN2o1QWBOQDc1ezlhfklPdkZX
TThKbH0qdE94cDVCeXt0aShtMXdYWGt2UjlqK2ZWc0EwcXl0NmdrM0QKeihWTnJ5ZHU4I240SURt
Y3VWY2JgNT1qI1ZLOVE2SiF4SkZnMnhVUzZIVW8mXjt1dGk2UlF+NjxKRTR6M1kpaXt0CnpkbSU7
T2FjIWNvdTYhYSQ/fCFgbGA1dGEjWl5UfDM2bUpPT2Q5VlQjITQtKU41ZiZKMHAyPD52Syp1a1ol
T24tPwp6X251UD8mJj5ic2JTM3prelVPQ2B6emxYNVd7ZD5RUXA+I1I9RCpAKytKdlNjR3p8dXlQ
a0RHRjs2TiR2bG4rTz4Kej5OaS1tXmlGV0s/VFB2bmVeUEQzM0shN253Tz9KUVdCTyNLK1hTTDBj
PWJXRGtnRDJmVm5kPDg3aG9gYmh+UGRgCnokPyRmTT0lRk1xWGM7fkh0P3NBIz9VUStiNntGc2FA
aTxAMEI2RTZmcj1wWCh6ZHs9X0RLcERrbnB7PW1SJHBtaQp6Zn4kMWs8RVNrPyhmTn41d19WczAt
MEx2cV95bnZoVH0qP0U7Q0pVWXhIS2l4ciVte0h2bWBPPmtaSkAjPnxxNSEKentOSGg8JC1BSlNf
PGgqUVI7YFF5NWVOVGVXZG1XQlVhfDdweHFtPDZ6diVJZWVDditqaEdpNXdzNTJTZmE8JFVfCnot
MClySDsrPlJrJDRXQXRMaDx5TXp6Y1doVlJlP3NqTzhjYmcmUV5JTzdtdzA5PTZkRVRMZCFCOzQt
WmBRO0ZoYgp6Kn5eWkAkdGpKU2N8Wl45JVFITjIhS0UqZ0EoO3xzT2pPd1pXPSpSfmojJEB5UVpU
VTgqTDhTNjU/KnEzelRNdS0Keng0aFd3NVNOQjhNM01EPlI3bXFrdU55Rj5AOEF0PV8hUzRUI1I0
MUwtd08wdDxVbyh8VkJ5XkpvMzdlSFFRQ1B1CnopViZ4ZzR7Nz9VZiVxaDg5U0hfYiQ+fldHS0wj
aCQ7YD0+XlQ7QT5QLVN4fEB5bDhoVl8xdWslLUprWX1uVyF7JQp6PyVhPj5iVDt5PEVeR1N9PEA1
UmE9M2NYLXd1NGYheUp1REsjKTc3emdHVGdrek05bXIpQ0Y0aShlbENFdk5WUGsKemlNMC1VYUgh
SENXcWZDbCVrOVhRSDkkcUdRSng8P1hxdGEwVklXWj0rIz5OK0FNJEZOeHRiTSRGOGNDSkJQZmNs
Cnp1ZkNudGJedCk/eCFLP188OStOKyY1ez8/JTZrRH1mRiNjTzxsXkkmdmEkQ1Y/VCplTD55IzJ2
aCNSfTlSeEI8awp6V0B6LT1pMD1BUHcpSGxaUkEtT2AjWXRUYjU9NlE0UDBvP05iVHheZEtxKm93
Oz9PaVdNUCRrPmlkYiNoR3xVSnsKekRMTU5+YlBZTi13cnZTS15KY2xSOUE3TTB5fHN0ZktuRT15
KEttUWZLYUsmNkUmJHtDMmlafjhjWnY/VVRvKDs/CnomRW9IajdZNkRhSnJxQkImdEh8MWBvZiZh
U201eXw9Vk9RUTYyYGBDWl4wTUJadkI/Z0hCfTMmO3NkRXBZd347ZAp6X0NFOXlGKCVDIVl7PGso
OUJybFp6KHFnRUE0VDIwMTw5c2M9MlB7XmpxNVVGN3ZDM1BaO1gySXxMTEd8MS1UPHAKeno9enVQ
PDhpflV4P15YVntiX09Sb2MwemlFYVhubD08KGE3SyZCQz10MDBkd3BiQGZ1QHFNbX1eV0puOCQy
P0JKCnp5dz5AfERQSzdXSWFYcVV7JmJhamAyMDxKWWt+QHFvOTJgOV5QZnIjR3okdDJNfUlgWnU3
eGhCPz9hYnFXNFIqcgp6KFJOWT1qIWJDVjhfY3xCOW5Ad15SU3g2UXFRLWp0LWNtYkkjUXV6V0Vj
andFZl9qSW04VSo7S2dWK1NaZmplN0cKendlWigpRVZPYkJ6PEZ1fndeX21RPCpweUAzeGllYl80
VGxEUjt2aVdTNHdGcj1TKld3VWp8KTxlYSRJeT1iTEJWCnpTWGZTWE8rfiYhdUJCciE9RCs4NF5Y
X3JtOGQtNHFeWHhiJXZYdnsyX3llSllMUTRESW9aU3tkJkdFOH42V3kqXgp6JDNxN3dXeWRAKCZi
e1R+Rkktb1lfUHo+JD9iTzAheXZQR2F2REYmQCpjWnBJPn1LfkhyQX09QkxCMFh9YVB7WioKejhr
K219eUpNR1lUMzE5S2NOfGRQdyVHTFc8YDY0VDlJaCVxdUd3cD03bDArWHhseFpxc2REM1ZmYShp
aSlVT3t2CnpiSXwmREJsQEJCaUE9fFF2ZD5DLS1MQGpMZFk/VzYtKWBJYStWa3J4PWgkdHZ4eXNe
cktXWk5vNGhYdzRrRSFoaQp6MWVVXnxFbVpaeXN6WD1pQ3FIZ3ZxR1ZpNThEdHF2bTRofjN6PzI5
MGVKKTQ8c216Tmh4am5FLW9QMEMoeW9jXmYKenZwbTVBVWd9Q0ZlNEt5aWROWkh1a2J4Tk1oeiVy
NjgwKVhXSWczVzkhSX5DWW9CQzhZZS1Rel40WCFScXRtTF9iCnpjOTExWVZEY05GdHRCTHNKPG0m
JmBVSCMpdyVWJmZBUDJ+SD9XYk1eIyluWmJtbkloVUZjeGZsSjlSdkdWODwqWgp6VWxyfWdtcXlG
TG5hY3kxOUJ8P3A+bl5+MFZDQzVTI2spVVFKT1F2SyNefWZJK3YrLUViOStvKWQkR34tNjV7Kj4K
emBMWUVAPFktfnR7TCZgS1N+dVBqeXNCV3AyfFh9am5Gczgje015bCtYWU5AZzVSUnNAdiZvU2Zn
MikzRmM+cmc4Cno5PVApNFo0Yn1reSsjMCY5SyVwQj5KcTM/UEsqI1NlWUR1Rz5WcldjOzFjTEwx
fTFEUjZTJmBvOE0zajtZe2NBXgp6PlNCdEtAQmt6KVZXOSpEQCt0dHx6cUB+WG5NMzhyQ3xrWGFR
QV9Sd2lyaWBXSD98SkhvVW5JI3FVKnRoSFE9UG0Keno7MT9AOzMmWXVQe1hQN2NAcilVVkElaHFI
anErYUFxZTtlR2N8Tj5GX1ZEaGhBazhOWnZCc19lYGR2UnF3MFBFCno4ejYjT2FUU3ktdlZiU2Z6
QVJ3TlR8aiRkMihAWW56bF5aeiQ2I14pMEVJJT05azdLTGMta2c8PmxsSEQ/Y0ImSQp6aWArMWdk
NkhEIVhlSkVYOSNpbDcweiY1IXlGSm13JWteei17LVhrdldaN0ktPWAhKDwoQz9NWmwtJWtRclNm
PVEKejd8bUwwVXBpKmAkbnRCcEtZI1htPj5DbE9fM2JfbSFWPUNVZ09QRU9eQU9xM2hPMWU9PHV2
IzFARWlLPTBwfFNGCnpQN3FLcWZAbU5YYHolKFJMe0JBcS1UUFpNJERQMEVufTB9XzxCdlRhcEpz
cXhoXmppfHF1NjM4YGlHNXg+aUtsRwp6P359ZnI5bEMmKlA3ViRgYV82RFBsRy17dGZUOzRjdzFX
KzQ5LT9JeGU8KGwmYk1ObUolJipETkFxcVBqPXFaWjkKejJ8PWwlOCNZbURRa3wyRHtoPWtTPFVm
K3FXeEI1aDZSc097NE9zTSYwfmR6PSl8PkxrRH1hODJFMCZwRWxDZFkhCnpjS2dLZGlJd3tHRVJl
Y3soWkRUXiZtS09RPmlhb3p1WHZYRUAqO1AlXjUwdyQzcGNBYFctZG5lejk8UF9uI3MrcAp6b058
d0l5ci12QTctdT1XMkNTZEp2S0xJJWp2eE0+Jj82RmRtSVpDSmUhakFzdE51a0h2WG1SLVFHUDJv
WCZzcmMKekh1c19zPjN7Q3NyeXlvIWsjMDVNUCFiTHRXUkdyWVNfSUJ9cSRkK3RxRGl3UTUoTVBJ
ej9xNEl3O18wK3NiREZlCnpxQHI0QC0/ZWQ0WGlhdTV3VHNZc1cyOE15KVdxZnEqPnsxcTZaTz0+
aT9obHk3S3BCe2VsPTtHayppKmQlX2d1Wgp6UGtwMSNufDhSeiNIUX1eaDY/YGk7T0lvV2BeP3NT
Q19jOHZpdis5SXBBdHNhVHprQyoheiZASWI2KGgrTHNeNGQKej5YKDwhZCFXfk0mc21RM3MpdUxt
ZVdJZjQ4NWREaUh3SU1JP1BZcn5xP18xTW8kWnkkU01lMWpSYGJibUg+I0UhCnpeWlBHeU1+TClf
amswMSZSRFRPSXVzZEg/Ri1ZYVZTQk1odTF8YSEyQFkkQT4/dH5QVGs3MW5ZdGhjcHZFNFRSaAp6
TWwzO2pCQDZxLVk0dHttX1dRUSghRzdeP15HfWlZXmtPWXdAPGU/RUlLemMrPUQ4Pjw4ZHBVZiVL
fntkQmR2ZmMKenRzfGAwWXtkQTUpUUEzekZ7PClPWWdQM2E4QkJgTTlKdl9ubXFUe0dGRERmUllG
eFdqPUgkSDVzaUNUZDRfPDZ2Cno8MnxVPlEoVG9rbSQzNnc2bE1KNXUxMCR9ciZlOypsJUlHaXB9
cmspe14oRDgjflZgem1hM2hmQDBCUjxPZ3EhUQp6Nn47bnF3Un1nXipXSkBBT2ZRLTh0TDc/eXQ3
KT8pMFc4VWYhc0lIMlN+dlVzZldPRzYxWCFeUU0jOT9yZCE2UkkKej5DKlAoSzw8M3RSV0RVRHFu
ZmRGdFVPVF9yR3ZuIzRoKyEhR1ljZUYlfiRnKWokRDZePzN+dlVAOXRCK3hxNj8jCnp0Tz5CIyo3
SUhwTVRHdn5ncXxoWG5RcUFvS3dEay1qXm8mQ3o7aHQzKXl0UXwqazsqZGo4PFA8MVZ6eCs2SWZe
cwp6PC1AQWJ1b2lTIzFYZXA+MUkqYnIpV25KJVNPRzNUdXkmWWtsdihyYVlVMWRKUHhXQG07S2tR
bDFfanRPem5NYUUKemQ8V2p+eT81SWdVREhsOTdhIVVeZDZwJFFiJHclQnFwQkt3M3c3UlM0IzJk
N0tNZmRGQms1YWlgREJ0JCoxSGtDCnpoeHJrQ1NKQFVlVyEmM0FjX3g9QFB7QChubl4qeGRKOXB1
MWFPM1A7Iz9HTEM3O0ZJTiomWHNmXlI1OHpBTWZPSQp6STlZLSs0MUcqVTwydkhScnRmOGd5bGIq
XklCOSliY3xjPzQ/MntqMyQhIXwjTUc+PDIpMW5UelRnPXNFbShNPj0KejVFWlJzJVQmJUB7fWom
KDdDTkt8cShxQXNVVGhKMjNVQDxwcnojaGY+PyhaQyV3S2I7SlVWZCRXe0h5TWpSNU9OCnpKZGc8
PDZGS3Vfc05UQz9iP1ctSS03eXNlUEgoUk9CM2M2bU1vJG51RlVJO3tgdmNwe2k4eWNvR2h2e1hn
TlNrSAp6NiFTMzJZd3pBfnhQcW5fUmFxPzsyZSE3YTk+NElRVUF0an5UMksxZ2x8fisocUEhJFR7
ZCk/U0EpZyk4dThCemkKejE+JTlTXjRyZzZkIyQ+MFEmVVRsMWxDRFlCWik1KEJ3KWghS1VoO090
el5MSXJtfVRCJnROalMyOCpPV1UhalY9CnorRGdXZFZRRyV9X1ZhRkJ5JERobj48aTQkVDNRNW9Q
YFBzd3t1N2NHdjxFemFxMkd1JTluVlU8SERAVVQ7Sl5Xewp6P0Q3diU3PFlsPWBZYjdxYGdZbmQl
X3FVUkJhcismMDxRM348blNVaDI8cmJfWV8wZVMzT3VIRlZYMkJZTWQzK3oKenJGQlVlYXNpdC1W
N2BESDBnSSZBUkRoS3loSjckX0olQEFLNk5OP2ptQilfOTJoO1AtMn16YiRIPVp1YkV0dFNTCno0
TWJGZTZXMkdhc21nKTgqZjR8KlVadzR4MVc/JndAPz8+cHJPQmNkM3BuNHMwdlklSTg7fWlzO1hK
NFdeNUM4Ywp6SmtCPUtpKjRrS3lOI2VXYGJ1KiRLNDNXbk48aT5FZ1ZOUW5wQU1FPEZab3RNaCFC
NWx8MzswbXZ+a1dSIzNsWD4Keip1UyZhcGJ2M3BKXkxPe2oqaGVyWHh5bFpVeDs3VllsdkVYX2d8
JXJYU3k+WVVlQWlNZT5pekhaV05TWSFKZUgzCnptKDx8d2dLZml6eV8jcGhfZ3lfRWYmbUhIdGUj
Xn1lMiR8T2pRPD1IN3cxJlV1bXdeXldUSD1EO3xwS3tQZF44fAp6LWZ2RCM7M3I9MSNYPWZQRSNV
UzN1TnVlQkhLZ0VhYmJsN2ZDd18jKElQJXxCbVA/JEAqYnE/ZXxIWjRnJWpEIWUKemdhUTNWR3xA
elVDKVN0fSU9d3RSa1RIfl9Xen1iZT9vV317ZWc9ZUM7T2MyfiZYLTtZXl95QTJwKD5ud3NJOE10
CnpJbDx+eCtvSiFOT2EpbH0+Wn5WZkgkLWMkaURvQCRpfSlxZTt9e1Z8K2d9ZT9rQGJGNFRkZGJ1
UT50KDckPSh6Qgp6M0EoSFBAKUlILWE/Ty18SDdPZC1QVHQ+VD1kais1SD5GWVBDKFdNR0U7O3pD
PEh+cHZpJDB9I3pqdXclbHtmdn4KelFEI2B5KWY9M2JXWjl9OE1IX1ZYREo4RVBXZEUle3Q0S3ZM
VEg3TDtBRG1OaEt9aUtLSlNzXlRWVWI9eFAkSW9SCnpJRXhQa0N7SHZjazBKUn0xSldPOV9yOHJj
dDIyKUE4dnpAPko8cEp+Nig+b01lPjxecDt8PVRGYE1IRCpsSnZUYgp6QGZaS185TSMwVnF0dzUz
QnNSUVZ2LXppV1o/KGJlcEIrOz9pRS1sZjReIU1layFBR1NtcCN3ckNAZ08+O2VybjAKeig5RHs8
MVdfP0VDNTZoITJXNWROO1k/VnxjVCVvfEBqbjw9WmZAST9wN3FxdiZ3blBiN3BxT3REVjVZQy01
MnM9Cnp7I3RzcXpMbD9lcVphNm8oUlpXRGRMSGVjOD4rNUZwZF9FalBxckxCYU1Pb3ttTThrU2Ar
aX1MaWh3NCpsNihtTgp6YXE3R0RPYnJAIURRS24xMi1WQkhTVlZufFpUUUNGYi1HMn53LTIkeHJJ
PGRxYzcrO19CREd+VkBxd0kxSDBVdCsKeiF1NEl5KjQjVWB4RyViN05xJSZGKThiLSRhKGErLXFZ
KT9vKWU9bVQhQDdfZnAhaUQkVHcqVnlSan1JeG85QGAjCnp2SjhKV3ZGPnk9b0hZT1NoWipRYzM3
Mlg5c098Zkp4fmRAPTchNzR7PWlKUTBoOzdMV0pwP1dEbjM5dk5scS1ucwp6JHFOeE5kMz0kQVVQ
PXc8cDJKdmVLNnlSKTJIO2pOa2FKQlNMLXhpY2EoV24hPD01PmN1bHckUTQoa0h1cENieUsKelNR
K1lJe3MmeVoyPXFmfiMqcnQ+SENCNSE8Pj52YHcoUnwlP25OKUtTQEFiND5UIV9vMGRhUj4kMEJj
UUhAZX1+CnpKPy1tT281VygwU1pnbksjdWsoLXlzbG9tKmI2cXorWSF2WlJ+WVY0KU5eND0jeFQl
cF5GZFo9JkBqJCMhVmRJbQp6QVgkaHR3RURfOWYmWkg+ckp1ejc4TWdFWVA4Vl44JW4jOz5mY05D
OStGKl5nPVN+fXJHVkE4SWhfYGp5LUheS0sKelp+Z1phQjt5SGNvYzB5ITNwNjFPOTNVPDtVTjww
UGFRRnkxamZqOXRKUSN9JFV0TT0jaUUrdkZgZSg7I2B4Vy08CnpBSF8zLVcjK0N9PWlNaXY+diN4
VEQzdXgqbGw5MDwhe29lYHpeaCsraXhWa2lIPG55Q1BXSHY3Xnglai1yNUAjSAp6cWJYY1ZCUHFN
dWgwdi1IeDxuUm1YVztRKTNOI2whc2JYZFE8O19ePSN3RXxTNSRaYzk/KCF3N3RaSWF9OF9+PnoK
ekpWflpydlpmQmdgeT98RHhTP0hwR3k9e2haaUhzRj8oP2FmcGVYZ2doTlNDVlE0TEppZntFMnZZ
ZHg8alNPPFB9CnpmTmhaJXcoJl8oSCgpNy0xKGFFXklnKmlES3ZSJFU3ZnBiO3lUSWZxO2tUWks0
bl9LcWAzWUp7PSlVMGRKVUJGdwp6LV5Paj1Jam4peCNZcSlhU352ZktpbEV6ZlBYVzRXKmR4c2lw
T2BvVFVZR0BMPlhpMigqZSl9V0VUeCp1MTd9YzgKejBZektZND5ZbSh3cVIjPUtqRHhNTFM7eUdE
KGFuc3JTRDYyelkoal84I1hxKitBSXBRIztgZFliYG5pfkluaHx8Cnp4aVdqOyFxd0Q/ejElV3kl
WFZJdzh5aGE1PklXS3UoZm9uQU5CdTNwQTc8NSFpIy10QmdaSml7emVYKyNueFR+MQp6S21uRDVg
USpNQmVFQ041cjhxe09VPUFNJnU+SjNaK04+ekI1bn5+TDBKbC0/Mn11YSplYTk+M2V+PFFXSmw7
P3QKenN+Y1M8ZmhMK3c0JkpXNSt4YEFoS0tEUXImQnd1KHokR3dVTHNycHE5UWFuQVc3bTg2Kz9X
MVMwaTBiJXs7OHBDCnpHI0gzRDJCOCFSdW1fcHA+bXohUSFsWEE0cj08X01YO3F5Y0U3Q1Z3QEBw
X2Fvdl9qbStFO053KlU/RjRBaDAzNAp6QUFtSzRJJipAZUhuQTdAcyhvbiNqQ0FqaXxISlMzZT92
S1BhLUFkdy0yYUtoZkg3cmZ7R2owWmVsYEVpRTw9ejMKej0pMzJITkJuUFUkRSU5Xk5je1QkUD89
UTBuYEBFemArVFYxdkZkaEpxVW9gSWtaJHJxIUdRfHNWdjNkeWd1OXFWCnphJWxfajBAKmZHXmsr
NU5UZ3dqKGBKVjJrez16JTIwKGFLKGAlQFFYdVRxRXdtbV5NZmRpNWpKNEhlTDJ0WWhKKAp6T1Nv
PnI8am1ZLVpTKl5HUHE+STdrKjFSMzJrb2dMellRcXltbU5YKERffm5ZKn1Qb31vO3FSKm9IKX1i
cXB6UFAKenR7QmorXkRuKGVRU1cocnVaNj11amhqQmNwdCU/e0EybCp9cE9MYVl8SSVQfFlmfExo
TDUqKSp2SyE0R1JTfkpgCno/JGJLRDNHQjZTUS1oOWEmIU1TQU9gdE9NNVYkc3BBezF9a2xCJGxp
cGl9PHx0ZXRtSCVTfVI5c3oyPHF7cE03KAp6dHomVmQ7VG47OzhoWWtZPz99aERvfHBEXlZnN1hM
dG52WmNPV3JqaHdEfGl9Z1cxTXl2KTtgNGpWb2YzXj92V3oKekt3KXJOMVoqUFQoJGIkXm0/KTU0
XiF3TkskNCRRVlktNDJgSHdqRWMwJmBgWXMhSyYycURjVUNZVjE7a3JTQ29JCno0RyE/RlQkP3xs
RD5wIVB6I1RwLUgmPGNYSkBVLUQmVXwqeFMxO2Qkc1R6V0k1VzRMRygwWio3X2pVcnFqTn1SRgp6
bF9WJEsxTE9IcU5Ve2JQdD99U2Bwa3JHSy19LTleYFJJdm0pX0ZBUWg5S0dMY1hSfjBlZkQzRCgq
JDVfPyo1YXwKelNlcSNhY1BWOSk0SG9GSDVlQldBWEUqTns1TVYlcjVqMH55YkU0Y1llViFMTmlJ
M0FyPDhedlB3SEUrO3JFbGQjCnplUi14bkxHfSNHIVRPN0lQcGdkLUp6ITFCYW5HSGRFXkByRVpx
NTFYZ3wtSD0maWI9RXt2Uzt7KVhDJiRie1d8MQp6RDBgajJKZ0M0WEA7Z0FfIVl+eD9rJHdPZyk4
VXBKZVlNbUElfTgyPGR4VTR1XlVlfXdSIUwjRW1abUYqRjloTWIKeiFwe1cmIUltcjA9V0s+MiVG
QW17KVphI2NLPmI5ejZxa3ZwLXBgZ3JsS3luTGV1OW9sQVFyJmhNI0QtUlQ8bFkxCnpzfEFwX01w
NXIwYGslQXBwX08lfktSTkNlcGtgfXVtRW4zKTAyayFoK1E2RjI0eGJxSHNoUiQ0MXZSR1c/fmtI
eAp6T2k7TytqJnxTel92STdlPnFUVSpgPXRqZChHLUhqRlpEazM9ITJCaWFGcWlGKCpqX2NyP35s
fmN+U3xDZiZLdlMKemBnZ3w9d0pPYWU1Rl5pKT4lPE9rK3BFcH11VFdhdFpBcyQpMElfNk9WTiYk
Sl8qPz1aMTRGdzFObV9+aGM+ZykqCnpWdGpzY3haVTgldENuTlkxejRYRT5vMT1RST15V0s7OzEr
bj1eJm9YO29OWSN4b0Z3ellYQ09LYUAjKDZwdUIxfAp6YVBZcT0mVFB3PzM+JmQ7I2tTN3gxQDc4
VVJ5YzFHRHplKUItMSsrQW9wc0V2PjdUXzBLa1EtMGI+UlpiWUliUnkKenFEODkpZygkc1c8PEdY
cEtnflJvJmI2NGA5Z0g2TW5lJDRucDMwanhzSyN9Rl82SyRXYChSKE8kdz8ydVI0OzBzCnolTm0j
PGJIbnpJNj1iPzxfNzhwc1cmWUMjPV58ZFl3KzZUK0UzRig/IVZJZi03TVdSRDF8TFpLd1h9LVVf
MGk5agp6VEl8JXFiJTJPfWBkazdNTjdyfG0wdngpMVZpbHNzTXUzQSM/UD96RVVDYTNQQ1NgYmlK
YHduVl5JX1pNfDUoM0kKelBZVzgqc1dmQHoxVDVudWo8OXl+aDBUQSRHSGtQUnpRTVdxJnhRP0R4
cWhQTHYkWmc5eyFfXlooaE59WVpecmtpCnpzM2NuLWR8V0QqPHFMYShNTjxBSFZgcz4jKGFKfTJC
bFlBXzFWRVNoUGJVNVYwQzlpNDFtYkFYeTR5O0BsNVJUQwp6KVQ8PyZoO3hYdmtQPHN1PzM5fn1x
e0NsJmZPcVFsdkxRP30tQit0V2VHSXxEY2hFKzlKSnMmbnFsN1glPzlBdkYKej9iKXg7anw4RlRK
Qz1GalcmVWFeJD8tJFVSZks3fkZ3NWp5MDFNYXVxVnUhT1hJKC0oR0pvLUVldGU7clopOEF4CnpK
TWwhSzBvZVZ3e3Izen5uakhOfj1RaCFiX01lZDhNMFZaWTA5KmZNNEw1fi0rTWJ9fXNJbCFJSXB6
KkRgVDYoSgp6JnBRX2w1SWU0NEdRST1qWFBjZzJNPTRUamtxal9QdHw5LX4hPUdLTCVtPUpofDFT
VWNPZGI0Q0R8YWVWQztuQjIKekxFMmhuUjt2K1YtYFVrcVd4Ymc4WTwza1NuZzc8cC0kJkUkajRT
ZGZVQkJKVVhLV2p7Zz4qTVNVblJOWHh5Zz59CnpVRV9NLSpLZiVman5MbHQwX3s9OHlgVGZOe2JP
YGFeP312ZDY5ejdoWkZ2NCU1c3toVT4pbWV+P0xJO0ZFMThMSAp6b3UyISohR2l9KmpyO3tmPHYr
bzUyU25SP3BvXml2QEtoeyFaMHJUUlI9fmVlcDFUSnFyRG5VRXhDd1AzcyFJQ3YKel88ZXVZUkhZ
QTNPc0MpLT1wVFV9Rys/PilhYyVkQWliSit3Q09+YUtsbm1jUDQ3ZHo+MzJHI0s9Z1F6UmZiOG84
CnpgX202PExjOyVNOEtATns1QSUweyooVCQ0M2dBZlBCRTt7cmRRd1R9JCQ8Xz07VkNQalhHRzQr
PUsoWG4jfSR5Nwp6dzNYP2FJfHdaQFJZbE0rWnYqLWF6e09WPWNyYnpQZzRUfk1QVFNDQSVqcUtx
Y0VsMWVXPyZ+bF5ZcCRiX0BBOU4KeiF3NnRiNDxzVG1sZj1IZGJZaWxIamFqaHM+YTl9fDJLOzto
MDRHbXYxVmUtUExYbDVwdEFPezRUVUpfK1pYM2MqCnp7Rnt5NnY1fkY8d3FraloxVTVAQSF4e20y
enlNWjRCeWopQjlpJU5Lel5vQ1FWMUBgZXRPNU5lTjVSUS1ePEVBKwp6a3BfUFR0cSZqNm07Z3BU
UURYay1FbEBxfVo4LTc2Zl40UylEPk1LZzJsfCE2WktaZCR1RVZ2JSNIbHxFP21tRWYKejJZP1FB
Ml8mQGEkYEYtXnlQYylNUkNhZkh3aTdWYDFOQU5EUmNheyVqPmpGNCp8XnIteFhJJXlQQmF9KztH
SCM2CnptO3dlX2g/b1JxJGJsMzdpUjR7MVoqNkpAQzIodj56dUhWVitqd0dTMEN0MTRHenAtUyRn
eyteTCE/bHM/cmx3ewp6d0gtRWNjRUVwO3BGVT5iOUlYS2NjaDI3IXNLSmYpLTVrVCNvJHQxMil+
RD5wUmxreEFzKj9LVUNrLTJSO0M4VmwKel59IzM/amhGSGcmWjQ4YHZ1dyM9ZGxmQH1nS0xYNlA/
fD5IbClaY2RkZnF8RHo8cWZveE09IU0/OTtkNCh5OzNuCnomWVpLRilfR2Ymc2YkRVNwdDteUClk
VG1oVlNOPk54UWhuPjBHM2sjQFZgUHF7bWE3eHskN0lvfDhjfE52OCZPTgpXKj1yaFFLajRJZVdU
aDRFPD1qUVFgTSZeWnslI3hxCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFn
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jYW52YXMvY2Fu
dmFzLWNvbXBvc2l0ZS1pbWFnZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxMzc4OTE3OTFm
ZTk2OTI3YWQ3OGU2NGIwYWFkN2JkZWQwOGJkYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWltYWdlLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxIEBACisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112138</attachid>
            <date>2011-10-23 21:11:18 -0700</date>
            <delta_ts>2011-10-25 22:40:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-66920-20111024151116.patch</filename>
            <type>text/plain</type>
            <size>50759</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgyMTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5NTBmOGFhYWUwNmJlZmU0
YzFkMWM2OGVkMGMxNGZhMDFlNTY2Zjk5Li5iZTQ5YmMwNjlmZWYzZjc2OTZiODA1Zjc0NmNiNGYw
YzQ4MjE5OGI2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMjMgIEJlbiBX
ZWxscyAgPGJlbndlbGxzQGNocm9taXVtLm9yZz4KKworICAgICAgICBDYW52YXMgZHJhd0ltYWdl
IHdpdGggU291cmNlSW4sIERlc3RpbmF0aW9uSW4sIFNvdXJjZU91dCwgRGVzdGluYXRpb25BdG9w
IGFuZCBDb3B5IGhhdmUgZXJyb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NjkyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRt
bAorCisgICAgICAgIFVzZSB0aGUgc2FtZSBtZXRob2QgYXMgZmlsbHMgdG8gaGFuZGxlIGNvbXBv
c2l0ZWQgZHJhd0ltYWdlIGNhbGxzIHRoYXQgd2lsbCBhZmZlY3QgdGhlIHdob2xlCisgICAgICAg
IGNhbnZhcy4gVG8gZG8gdGhpcyBjb2RlIHVzZWQgd2hlbiBkb2luZyBmaWxscyBoYXMgYmVlbiBm
YWN0b3JlZCBpbnRvIHNlcGVyYXRlIGZ1bmN0aW9ucyBhbmQKKyAgICAgICAgdXNlZCBieSBkcmF3
SW1hZ2UuIFNvbWUgZnVuY3Rpb25zIHVzZWQgdG8gZG8gdGhlc2UgdHlwZXMgb2Ygb3BlcmF0aW9u
cyBoYXZlIGFsc28gYmVlbiByZW5hbWVkLgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzRnVsbENhbnZhc0Nv
bXBvc2l0ZU1vZGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpmaWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Zmls
bFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3
SW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjYWxj
dWxhdGVDb21wb3NpdGluZ0J1ZmZlclJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjpjcmVhdGVDb21wb3NpdGluZ0J1ZmZlcik6CisgICAgICAgIChXZWJD
b3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNvbXBvc2l0ZUJ1ZmZlcik6CisgICAgICAg
IChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZ1bGxDYW52YXNDb21wb3NpdGVk
RHJhd0ltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZnVsbENhbnZhc0NvbXBvc2l0ZWRGaWxsKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaDoKKwogMjAxMS0xMC0yMyAgTm9lbCBHb3Jkb24gIDxub2VsLmdv
cmRvbkBnbWFpbC5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgR2VvbG9jYXRpb25T
ZXJ2aWNlR3RrLntoLGNwcH0gZnJvbSB0aGUgZ3lwIHByb2plY3RzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAppbmRl
eCA0NmJlZDMxMWY0Yzk0NTU0MDBlNGUyZWFjYmM0MTI0MDkzZTI3NjY4Li4zMGZmYWJjZmE5NzI3
NjZmM2I1YmUzZTM3N2U3M2NmMzc4NjM1ODk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKQEAgLTkyOSw2ICs5
MjksMTQgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNsZWFyUGF0aEZvckRhc2hi
b2FyZEJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUoKQogfQogI2VuZGlmCiAKK3N0YXRpYyBib29s
IGlzRnVsbENhbnZhc0NvbXBvc2l0ZU1vZGUoQ29tcG9zaXRlT3BlcmF0b3Igb3ApCit7CisgICAg
Ly8gU2VlIDQuOC4xMS4xLjMgQ29tcG9zaXRpbmcKKyAgICAvLyBDb21wb3NpdGVTb3VyY2VBdG9w
IGFuZCBDb21wb3NpdGVEZXN0aW5hdGlvbk91dCBhcmUgbm90IGxpc3RlZCBoZXJlIGFzIHRoZSBw
bGF0Zm9ybXMgYWxyZWFkeQorICAgIC8vIGltcGxlbWVudCB0aGUgc3BlY2lmaWNhdGlvbidzIGJl
aGF2aW9yLgorICAgIHJldHVybiBvcCA9PSBDb21wb3NpdGVTb3VyY2VJbiB8fCBvcCA9PSBDb21w
b3NpdGVTb3VyY2VPdXQgfHwgb3AgPT0gQ29tcG9zaXRlRGVzdGluYXRpb25JbiB8fCBvcCA9PSBD
b21wb3NpdGVEZXN0aW5hdGlvbkF0b3A7Cit9CisKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEOjpmaWxsKCkKIHsKICAgICBHcmFwaGljc0NvbnRleHQqIGMgPSBkcmF3aW5nQ29udGV4dCgp
OwpAQCAtOTM4LDggKzk0Niw4IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpmaWxs
KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX3BhdGguaXNFbXB0eSgpKSB7Ci0gICAg
ICAgIGlmIChzaG91bGREaXNwbGF5VHJhbnNwYXJlbmN5RWxzZXdoZXJlKCkpCi0gICAgICAgICAg
ICBmaWxsQW5kRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZShtX3BhdGgpOworICAgICAgICBp
ZiAoaXNGdWxsQ2FudmFzQ29tcG9zaXRlTW9kZShzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlKSkK
KyAgICAgICAgICAgIGZ1bGxDYW52YXNDb21wb3NpdGVkRmlsbChtX3BhdGgpOwogICAgICAgICBl
bHNlIGlmIChzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlID09IENvbXBvc2l0ZUNvcHkpIHsKICAg
ICAgICAgICAgIGNsZWFyQ2FudmFzKCk7CiAgICAgICAgICAgICBjLT5maWxsUGF0aChtX3BhdGgp
OwpAQCAtMTA0NCw4ICsxMDUyLDggQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZp
bGxSZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWkKIAogICAgIEZs
b2F0UmVjdCByZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOwogCi0gICAgaWYgKHNob3VsZERpc3Bs
YXlUcmFuc3BhcmVuY3lFbHNld2hlcmUoKSkKLSAgICAgICAgZmlsbEFuZERpc3BsYXlUcmFuc3Bh
cmVuY3lFbHNld2hlcmUocmVjdCk7CisgICAgaWYgKGlzRnVsbENhbnZhc0NvbXBvc2l0ZU1vZGUo
c3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSkpCisgICAgICAgIGZ1bGxDYW52YXNDb21wb3NpdGVk
RmlsbChyZWN0KTsKICAgICBlbHNlIGlmIChzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlID09IENv
bXBvc2l0ZUNvcHkpIHsKICAgICAgICAgY2xlYXJDYW52YXMoKTsKICAgICAgICAgYy0+ZmlsbFJl
Y3QocmVjdCk7CkBAIC0xMzIyLDggKzEzMzAsMTcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQ6OmRyYXdJbWFnZShIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZSwgY29uc3QgRmxvYXRSZWMK
IAogICAgIGNoZWNrT3JpZ2luKGltYWdlKTsKIAotICAgIGMtPmRyYXdJbWFnZShjYWNoZWRJbWFn
ZS0+aW1hZ2VGb3JSZW5kZXJlcihpbWFnZS0+cmVuZGVyZXIoKSksIENvbG9yU3BhY2VEZXZpY2VS
R0IsIG5vcm1hbGl6ZWREc3RSZWN0LCBub3JtYWxpemVkU3JjUmVjdCwgb3ApOwotICAgIGRpZERy
YXcobm9ybWFsaXplZERzdFJlY3QpOworICAgIGlmIChpc0Z1bGxDYW52YXNDb21wb3NpdGVNb2Rl
KG9wKSkgeworICAgICAgICBmdWxsQ2FudmFzQ29tcG9zaXRlZERyYXdJbWFnZShjYWNoZWRJbWFn
ZS0+aW1hZ2VGb3JSZW5kZXJlcihpbWFnZS0+cmVuZGVyZXIoKSksIENvbG9yU3BhY2VEZXZpY2VS
R0IsIG5vcm1hbGl6ZWREc3RSZWN0LCBub3JtYWxpemVkU3JjUmVjdCwgb3ApOworICAgICAgICBk
aWREcmF3KEZsb2F0UmVjdChGbG9hdFBvaW50Ojp6ZXJvKCksIGNhbnZhcygpLT5zaXplKCkpLCBD
YW52YXNEaWREcmF3QXBwbHlDbGlwKTsKKyAgICB9IGVsc2UgaWYgKG9wID09IENvbXBvc2l0ZUNv
cHkpIHsKKyAgICAgICAgY2xlYXJDYW52YXMoKTsKKyAgICAgICAgYy0+ZHJhd0ltYWdlKGNhY2hl
ZEltYWdlLT5pbWFnZUZvclJlbmRlcmVyKGltYWdlLT5yZW5kZXJlcigpKSwgQ29sb3JTcGFjZURl
dmljZVJHQiwgbm9ybWFsaXplZERzdFJlY3QsIG5vcm1hbGl6ZWRTcmNSZWN0LCBvcCk7CisgICAg
ICAgIGRpZERyYXcoRmxvYXRSZWN0KEZsb2F0UG9pbnQ6Onplcm8oKSwgY2FudmFzKCktPnNpemUo
KSksIENhbnZhc0RpZERyYXdBcHBseUNsaXApOworICAgIH0gZWxzZSB7CisgICAgICAgIGMtPmRy
YXdJbWFnZShjYWNoZWRJbWFnZS0+aW1hZ2VGb3JSZW5kZXJlcihpbWFnZS0+cmVuZGVyZXIoKSks
IENvbG9yU3BhY2VEZXZpY2VSR0IsIG5vcm1hbGl6ZWREc3RSZWN0LCBub3JtYWxpemVkU3JjUmVj
dCwgb3ApOworICAgICAgICBkaWREcmF3KG5vcm1hbGl6ZWREc3RSZWN0KTsKKyAgICB9CiB9CiAK
IHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3SW1hZ2UoSFRNTENhbnZhc0VsZW1l
bnQqIGNhbnZhcywgZmxvYXQgeCwgZmxvYXQgeSwgRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC0xNTEx
LDE1ICsxNTI4LDYgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNsZWFyQ2FudmFz
KCkKICAgICBjLT5yZXN0b3JlKCk7CiB9CiAKLWJvb2wgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpzaG91bGREaXNwbGF5VHJhbnNwYXJlbmN5RWxzZXdoZXJlKCkgY29uc3QKLXsKLSAgICAvLyBT
ZWUgNC44LjExLjEuMyBDb21wb3NpdGluZwotICAgIC8vIENvbXBvc2l0ZVNvdXJjZUF0b3AgYW5k
IENvbXBvc2l0ZURlc3RpbmF0aW9uT3V0IGFyZSBub3QgbGlzdGVkIGhlcmUgYXMgdGhlIHBsYXRm
b3JtcyBhbHJlYWR5Ci0gICAgLy8gaW1wbGVtZW50IHRoZSBzcGVjaWZpY2F0aW9uJ3MgYmVoYXZp
b3IuCi0gICAgcmV0dXJuIHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUgPT0gQ29tcG9zaXRlU291
cmNlSW4gfHwgc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9PSBDb21wb3NpdGVTb3VyY2VPdXQK
LSAgICAgICAgICAgfHwgc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9PSBDb21wb3NpdGVEZXN0
aW5hdGlvbkluIHx8IHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUgPT0gQ29tcG9zaXRlRGVzdGlu
YXRpb25BdG9wOwotfQotCiBQYXRoIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6dHJhbnNmb3Jt
QXJlYVRvRGV2aWNlKGNvbnN0IFBhdGgmIHBhdGgpIGNvbnN0CiB7CiAgICAgUGF0aCB0cmFuc2Zv
cm1lZChwYXRoKTsKQEAgLTE1MzUsMzEgKzE1NDMsMjkgQEAgUGF0aCBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OnRyYW5zZm9ybUFyZWFUb0RldmljZShjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNv
bnMKICAgICByZXR1cm4gdHJhbnNmb3JtQXJlYVRvRGV2aWNlKHBhdGgpOwogfQogCi10ZW1wbGF0
ZTxjbGFzcyBUPiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZmlsbEFuZERpc3BsYXlU
cmFuc3BhcmVuY3lFbHNld2hlcmUoY29uc3QgVCYgYXJlYSkKK3RlbXBsYXRlPGNsYXNzIFQ+IElu
dFJlY3QgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjYWxjdWxhdGVDb21wb3NpdGluZ0J1ZmZl
clJlY3QoY29uc3QgVCYgYXJlYSwgSW50U2l6ZSogY3JvcHBlZE9mZnNldCkKIHsKLSAgICBBU1NF
UlQoc2hvdWxkRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZSgpKTsKLQogICAgIEludFJlY3Qg
Y2FudmFzUmVjdCgwLCAwLCBjYW52YXMoKS0+d2lkdGgoKSwgY2FudmFzKCktPmhlaWdodCgpKTsK
ICAgICBjYW52YXNSZWN0ID0gY2FudmFzKCktPmJhc2VUcmFuc2Zvcm0oKS5tYXBSZWN0KGNhbnZh
c1JlY3QpOwogICAgIFBhdGggcGF0aCA9IHRyYW5zZm9ybUFyZWFUb0RldmljZShhcmVhKTsKICAg
ICBJbnRSZWN0IGJ1ZmZlclJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KHBhdGguYm91bmRpbmdSZWN0
KCkpOworICAgIEludFBvaW50IG9yaWdpbmFsTG9jYXRpb24gPSBidWZmZXJSZWN0LmxvY2F0aW9u
KCk7CiAgICAgYnVmZmVyUmVjdC5pbnRlcnNlY3QoY2FudmFzUmVjdCk7CisgICAgaWYgKGNyb3Bw
ZWRPZmZzZXQpCisgICAgICAgICpjcm9wcGVkT2Zmc2V0ID0gb3JpZ2luYWxMb2NhdGlvbiAtIGJ1
ZmZlclJlY3QubG9jYXRpb24oKTsKKyAgICByZXR1cm4gYnVmZmVyUmVjdDsKK30KIAotICAgIGlm
IChidWZmZXJSZWN0LmlzRW1wdHkoKSkgewotICAgICAgICBjbGVhckNhbnZhcygpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgcGF0aC50cmFuc2xhdGUoRmxvYXRTaXplKC1idWZmZXJS
ZWN0LngoKSwgLWJ1ZmZlclJlY3QueSgpKSk7Ci0KK1Bhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRlQ29tcG9zaXRpbmdCdWZmZXIoY29uc3QgSW50
UmVjdCYgYnVmZmVyUmVjdCkKK3sKICAgICBSZW5kZXJpbmdNb2RlIHJlbmRlck1vZGUgPSBpc0Fj
Y2VsZXJhdGVkKCkgPyBBY2NlbGVyYXRlZCA6IFVuYWNjZWxlcmF0ZWQ7Ci0gICAgT3duUHRyPElt
YWdlQnVmZmVyPiBidWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGJ1ZmZlclJlY3Quc2l6ZSgp
LCBDb2xvclNwYWNlRGV2aWNlUkdCLCByZW5kZXJNb2RlKTsKLSAgICBpZiAoIWJ1ZmZlcikKLSAg
ICAgICAgcmV0dXJuOworICAgIHJldHVybiBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGJ1ZmZlclJlY3Qu
c2l6ZSgpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCByZW5kZXJNb2RlKTsKK30KIAotICAgIGJ1ZmZl
ci0+Y29udGV4dCgpLT5zZXRDb21wb3NpdGVPcGVyYXRpb24oQ29tcG9zaXRlU291cmNlT3Zlcik7
Ci0gICAgc3RhdGUoKS5tX2ZpbGxTdHlsZS0+YXBwbHlGaWxsQ29sb3IoYnVmZmVyLT5jb250ZXh0
KCkpOwotICAgIGJ1ZmZlci0+Y29udGV4dCgpLT5maWxsUGF0aChwYXRoKTsKK3ZvaWQgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEOjpjb21wb3NpdGVCdWZmZXIoSW1hZ2VCdWZmZXIqIGJ1ZmZlciwg
Y29uc3QgSW50UmVjdCYgYnVmZmVyUmVjdCwgQ29tcG9zaXRlT3BlcmF0b3Igb3ApCit7CisgICAg
SW50UmVjdCBjYW52YXNSZWN0KDAsIDAsIGNhbnZhcygpLT53aWR0aCgpLCBjYW52YXMoKS0+aGVp
Z2h0KCkpOworICAgIGNhbnZhc1JlY3QgPSBjYW52YXMoKS0+YmFzZVRyYW5zZm9ybSgpLm1hcFJl
Y3QoY2FudmFzUmVjdCk7CiAKICAgICBHcmFwaGljc0NvbnRleHQqIGMgPSBkcmF3aW5nQ29udGV4
dCgpOwogICAgIGlmICghYykKQEAgLTE1NjcsMTYgKzE1NzMsNzIgQEAgdGVtcGxhdGU8Y2xhc3Mg
VD4gdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZpbGxBbmREaXNwbGF5VHJhbnNwYXJl
bmN5RWxzZXcKIAogICAgIGMtPnNhdmUoKTsKICAgICBjLT5zZXRDVE0oQWZmaW5lVHJhbnNmb3Jt
KCkpOworICAgIGMtPnNldENvbXBvc2l0ZU9wZXJhdGlvbihvcCk7CiAKICAgICBjLT5zYXZlKCk7
CiAgICAgYy0+Y2xpcE91dChidWZmZXJSZWN0KTsKICAgICBjLT5jbGVhclJlY3QoY2FudmFzUmVj
dCk7CiAgICAgYy0+cmVzdG9yZSgpOwogCi0gICAgYy0+ZHJhd0ltYWdlQnVmZmVyKGJ1ZmZlci5n
ZXQoKSwgQ29sb3JTcGFjZURldmljZVJHQiwgYnVmZmVyUmVjdC5sb2NhdGlvbigpLCBzdGF0ZSgp
Lm1fZ2xvYmFsQ29tcG9zaXRlKTsKKyAgICBjLT5kcmF3SW1hZ2VCdWZmZXIoYnVmZmVyLCBDb2xv
clNwYWNlRGV2aWNlUkdCLCBidWZmZXJSZWN0LmxvY2F0aW9uKCksIHN0YXRlKCkubV9nbG9iYWxD
b21wb3NpdGUpOwogICAgIGMtPnJlc3RvcmUoKTsKIH0KIAordm9pZCBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OmZ1bGxDYW52YXNDb21wb3NpdGVkRHJhd0ltYWdlKEltYWdlKiBpbWFnZSwgQ29s
b3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdCwgY29uc3QgRmxv
YXRSZWN0JiBzcmMsIENvbXBvc2l0ZU9wZXJhdG9yIG9wKQoreworICAgIEFTU0VSVChpc0Z1bGxD
YW52YXNDb21wb3NpdGVNb2RlKG9wKSk7CisKKyAgICBJbnRTaXplIGNyb3BwZWRPZmZzZXQ7Cisg
ICAgSW50UmVjdCBidWZmZXJSZWN0ID0gY2FsY3VsYXRlQ29tcG9zaXRpbmdCdWZmZXJSZWN0KGRl
c3QsICZjcm9wcGVkT2Zmc2V0KTsKKyAgICBpZiAoYnVmZmVyUmVjdC5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgY2xlYXJDYW52YXMoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE93blB0
cjxJbWFnZUJ1ZmZlcj4gYnVmZmVyID0gY3JlYXRlQ29tcG9zaXRpbmdCdWZmZXIoYnVmZmVyUmVj
dCk7CisgICAgaWYgKCFidWZmZXIpCisgICAgICAgIHJldHVybjsKKworICAgIEdyYXBoaWNzQ29u
dGV4dCogYyA9IGRyYXdpbmdDb250ZXh0KCk7CisgICAgaWYgKCFjKQorICAgICAgICByZXR1cm47
CisKKyAgICBGbG9hdFJlY3QgYWRqdXN0ZWREZXN0ID0gZGVzdDsKKyAgICBhZGp1c3RlZERlc3Qu
c2V0TG9jYXRpb24oRmxvYXRQb2ludCgwLCAwKSk7CisgICAgQWZmaW5lVHJhbnNmb3JtIGVmZmVj
dGl2ZVRyYW5zZm9ybSA9IGMtPmdldENUTSgpOworICAgIEludFJlY3QgdHJhbnNmb3JtZWRBZGp1
c3RlZFJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGVmZmVjdGl2ZVRyYW5zZm9ybS5tYXBSZWN0KGFk
anVzdGVkRGVzdCkpOworICAgIGJ1ZmZlci0+Y29udGV4dCgpLT50cmFuc2xhdGUoLXRyYW5zZm9y
bWVkQWRqdXN0ZWRSZWN0LmxvY2F0aW9uKCkueCgpLCAtdHJhbnNmb3JtZWRBZGp1c3RlZFJlY3Qu
bG9jYXRpb24oKS55KCkpOworICAgIGJ1ZmZlci0+Y29udGV4dCgpLT50cmFuc2xhdGUoY3JvcHBl
ZE9mZnNldC53aWR0aCgpLCBjcm9wcGVkT2Zmc2V0LmhlaWdodCgpKTsKKyAgICBidWZmZXItPmNv
bnRleHQoKS0+Y29uY2F0Q1RNKGVmZmVjdGl2ZVRyYW5zZm9ybSk7CisgICAgYnVmZmVyLT5jb250
ZXh0KCktPmRyYXdJbWFnZShpbWFnZSwgc3R5bGVDb2xvclNwYWNlLCBhZGp1c3RlZERlc3QsIHNy
YywgQ29tcG9zaXRlU291cmNlT3Zlcik7CisKKyAgICBjb21wb3NpdGVCdWZmZXIoYnVmZmVyLmdl
dCgpLCBidWZmZXJSZWN0LCBvcCk7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQ+IHZvaWQgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEOjpmdWxsQ2FudmFzQ29tcG9zaXRlZEZpbGwoY29uc3QgVCYgYXJl
YSkKK3sKKyAgICBBU1NFUlQoaXNGdWxsQ2FudmFzQ29tcG9zaXRlTW9kZShzdGF0ZSgpLm1fZ2xv
YmFsQ29tcG9zaXRlKSk7CisKKyAgICBJbnRSZWN0IGJ1ZmZlclJlY3QgPSBjYWxjdWxhdGVDb21w
b3NpdGluZ0J1ZmZlclJlY3QoYXJlYSwgMCk7CisgICAgaWYgKGJ1ZmZlclJlY3QuaXNFbXB0eSgp
KSB7CisgICAgICAgIGNsZWFyQ2FudmFzKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBPd25QdHI8SW1hZ2VCdWZmZXI+IGJ1ZmZlciA9IGNyZWF0ZUNvbXBvc2l0aW5nQnVmZmVyKGJ1
ZmZlclJlY3QpOworICAgIGlmICghYnVmZmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBQYXRo
IHBhdGggPSB0cmFuc2Zvcm1BcmVhVG9EZXZpY2UoYXJlYSk7CisgICAgcGF0aC50cmFuc2xhdGUo
RmxvYXRTaXplKC1idWZmZXJSZWN0LngoKSwgLWJ1ZmZlclJlY3QueSgpKSk7CisKKyAgICBidWZm
ZXItPmNvbnRleHQoKS0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZVNvdXJjZU92ZXIp
OworICAgIHN0YXRlKCkubV9maWxsU3R5bGUtPmFwcGx5RmlsbENvbG9yKGJ1ZmZlci0+Y29udGV4
dCgpKTsKKyAgICBidWZmZXItPmNvbnRleHQoKS0+ZmlsbFBhdGgocGF0aCk7CisKKyAgICBjb21w
b3NpdGVCdWZmZXIoYnVmZmVyLmdldCgpLCBidWZmZXJSZWN0LCBzdGF0ZSgpLm1fZ2xvYmFsQ29t
cG9zaXRlKTsKK30KKwogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnByZXBhcmVHcmFk
aWVudEZvckRhc2hib2FyZChDYW52YXNHcmFkaWVudCogZ3JhZGllbnQpIGNvbnN0CiB7CiAjaWYg
RU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAppbmRleCBiZjBlY2Y0YmEwZTRkYjg4
MWYzY2I3YTRlOTI5N2ZhY2U0ZmFkYjAyLi40ZjU3MjQxMGE1YTc5YjJhM2U3MTM0NzU3MjE0ZjYx
Yjc1NjNiNTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkFmZmlu
ZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNs
dWRlICJDb2xvci5oIgorI2luY2x1ZGUgIkNvbG9yU3BhY2UuaCIKICNpbmNsdWRlICJEYXNoQXJy
YXkuaCIKICNpbmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlICJGb250LmgiCkBAIC0yOTgs
OCArMjk5LDEzIEBAIHByaXZhdGU6CiAgICAgdm9pZCBjbGVhckNhbnZhcygpOwogICAgIFBhdGgg
dHJhbnNmb3JtQXJlYVRvRGV2aWNlKGNvbnN0IFBhdGgmKSBjb25zdDsKICAgICBQYXRoIHRyYW5z
Zm9ybUFyZWFUb0RldmljZShjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsKLSAgICBib29sIHNob3Vs
ZERpc3BsYXlUcmFuc3BhcmVuY3lFbHNld2hlcmUoKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFz
cyBUPiB2b2lkIGZpbGxBbmREaXNwbGF5VHJhbnNwYXJlbmN5RWxzZXdoZXJlKGNvbnN0IFQmIGFy
ZWEpOworCisgICAgdGVtcGxhdGU8Y2xhc3MgVD4gSW50UmVjdCBjYWxjdWxhdGVDb21wb3NpdGlu
Z0J1ZmZlclJlY3QoY29uc3QgVCYsIEludFNpemUqKTsKKyAgICBQYXNzT3duUHRyPEltYWdlQnVm
ZmVyPiBjcmVhdGVDb21wb3NpdGluZ0J1ZmZlcihjb25zdCBJbnRSZWN0Jik7CisgICAgdm9pZCBj
b21wb3NpdGVCdWZmZXIoSW1hZ2VCdWZmZXIqLCBjb25zdCBJbnRSZWN0JiwgQ29tcG9zaXRlT3Bl
cmF0b3IpOworCisgICAgdGVtcGxhdGU8Y2xhc3MgVD4gdm9pZCBmdWxsQ2FudmFzQ29tcG9zaXRl
ZEZpbGwoY29uc3QgVCYpOworICAgIHZvaWQgZnVsbENhbnZhc0NvbXBvc2l0ZWREcmF3SW1hZ2Uo
SW1hZ2UqLCBDb2xvclNwYWNlLCBjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBGbG9hdFJlY3QmLCBD
b21wb3NpdGVPcGVyYXRvcik7CiAKICAgICB2b2lkIHByZXBhcmVHcmFkaWVudEZvckRhc2hib2Fy
ZChDYW52YXNHcmFkaWVudCogZ3JhZGllbnQpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2M2NzVmZWE0NWEx
YWNiYjk5OGMyN2M5MzYxNmJhMjZjNzIwZWZkMi4uNjQ3NWQyODUxMjA0YzcxMGUzYjEwYzgzNDgz
N2Q0OGFhYWY1M2ZmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTEwLTIzICBCZW4gV2Vs
bHMgIDxiZW53ZWxsc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2FudmFzIGRyYXdJbWFnZSB3
aXRoIFNvdXJjZUluLCBEZXN0aW5hdGlvbkluLCBTb3VyY2VPdXQsIERlc3RpbmF0aW9uQXRvcCBh
bmQgQ29weSBoYXZlIGVycm9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjY5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWltYWdl
Lmh0bWw6IEFkZGVkLgorCiAyMDExLTEwLTIzICBZdXpvIEZ1amlzaGltYSAgPHl1em9AZ29vZ2xl
LmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIFRlc3QgZXhwZWN0YXRpb24gY2hhbmdlIGZvciAi
cjk4MTgzIGNhdXNlcyA0IHNub3dsZW9wYXJkIHRlc3RzIHRvIGZhaWwiLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWltYWdlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43ZmJhZTgzY2QyM2NkNWQwY2YzMzQ0NzNiOWNkZmRmMDhlYzkw
MWIwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWNv
bXBvc2l0ZS1pbWFnZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxODUgQEAKK1Rlc3QgUmVzdWx0
cworc29saWQgb24gc29saWQJYWxwaGEgb24gc29saWQJc29saWQgb24gYWxwaGEJYWxwaGEgb24g
YWxwaGEKK3NvdXJjZS1vdmVyCQkJCQorc291cmNlLWluCQkJCQorc291cmNlLW91dAkJCQkKK3Nv
dXJjZS1hdG9wCQkJCQorZGVzdGluYXRpb24tb3ZlcgkJCQkKK2Rlc3RpbmF0aW9uLWluCQkJCQor
ZGVzdGluYXRpb24tb3V0CQkJCQorZGVzdGluYXRpb24tYXRvcAkJCQkKK2xpZ2h0ZXIJCQkJCitk
YXJrZXIJCQkJCitjb3B5CQkJCQoreG9yCQkJCQorVGVzdCBJbWFnZQorCitUZXN0IE91dHB1dAor
TW9kZTogc291cmNlLW92ZXIKKworVGVzdDogc29saWQgb24gc29saWQKKworUEFTUworVGVzdDog
YWxwaGEgb24gc29saWQKKworUEFTUworVGVzdDogc29saWQgb24gYWxwaGEKKworUEFTUworVGVz
dDogYWxwaGEgb24gYWxwaGEKKworUEFTUworTW9kZTogc291cmNlLWluCisKK1Rlc3Q6IHNvbGlk
IG9uIHNvbGlkCisKK1BBU1MKK1Rlc3Q6IGFscGhhIG9uIHNvbGlkCisKK1BBU1MKK1Rlc3Q6IHNv
bGlkIG9uIGFscGhhCisKK1BBU1MKK1Rlc3Q6IGFscGhhIG9uIGFscGhhCisKK1BBU1MKK01vZGU6
IHNvdXJjZS1vdXQKKworVGVzdDogc29saWQgb24gc29saWQKKworUEFTUworVGVzdDogYWxwaGEg
b24gc29saWQKKworUEFTUworVGVzdDogc29saWQgb24gYWxwaGEKKworUEFTUworVGVzdDogYWxw
aGEgb24gYWxwaGEKKworUEFTUworTW9kZTogc291cmNlLWF0b3AKKworVGVzdDogc29saWQgb24g
c29saWQKKworUEFTUworVGVzdDogYWxwaGEgb24gc29saWQKKworUEFTUworVGVzdDogc29saWQg
b24gYWxwaGEKKworUEFTUworVGVzdDogYWxwaGEgb24gYWxwaGEKKworUEFTUworTW9kZTogZGVz
dGluYXRpb24tb3ZlcgorCitUZXN0OiBzb2xpZCBvbiBzb2xpZAorCitQQVNTCitUZXN0OiBhbHBo
YSBvbiBzb2xpZAorCitQQVNTCitUZXN0OiBzb2xpZCBvbiBhbHBoYQorCitQQVNTCitUZXN0OiBh
bHBoYSBvbiBhbHBoYQorCitQQVNTCitNb2RlOiBkZXN0aW5hdGlvbi1pbgorCitUZXN0OiBzb2xp
ZCBvbiBzb2xpZAorCitQQVNTCitUZXN0OiBhbHBoYSBvbiBzb2xpZAorCitQQVNTCitUZXN0OiBz
b2xpZCBvbiBhbHBoYQorCitQQVNTCitUZXN0OiBhbHBoYSBvbiBhbHBoYQorCitQQVNTCitNb2Rl
OiBkZXN0aW5hdGlvbi1vdXQKKworVGVzdDogc29saWQgb24gc29saWQKKworUEFTUworVGVzdDog
YWxwaGEgb24gc29saWQKKworUEFTUworVGVzdDogc29saWQgb24gYWxwaGEKKworUEFTUworVGVz
dDogYWxwaGEgb24gYWxwaGEKKworUEFTUworTW9kZTogZGVzdGluYXRpb24tYXRvcAorCitUZXN0
OiBzb2xpZCBvbiBzb2xpZAorCitQQVNTCitUZXN0OiBhbHBoYSBvbiBzb2xpZAorCitQQVNTCitU
ZXN0OiBzb2xpZCBvbiBhbHBoYQorCitQQVNTCitUZXN0OiBhbHBoYSBvbiBhbHBoYQorCitQQVNT
CitNb2RlOiBsaWdodGVyCisKK1Rlc3Q6IHNvbGlkIG9uIHNvbGlkCisKK1BBU1MKK1Rlc3Q6IGFs
cGhhIG9uIHNvbGlkCisKK1BBU1MKK1Rlc3Q6IHNvbGlkIG9uIGFscGhhCisKK1BBU1MKK1Rlc3Q6
IGFscGhhIG9uIGFscGhhCisKK1BBU1MKK01vZGU6IGRhcmtlcgorCitUZXN0OiBzb2xpZCBvbiBz
b2xpZAorCitQQVNTCitUZXN0OiBhbHBoYSBvbiBzb2xpZAorCitQQVNTCitUZXN0OiBzb2xpZCBv
biBhbHBoYQorCitQQVNTCitUZXN0OiBhbHBoYSBvbiBhbHBoYQorCitQQVNTCitNb2RlOiBjb3B5
CisKK1Rlc3Q6IHNvbGlkIG9uIHNvbGlkCisKK1BBU1MKK1Rlc3Q6IGFscGhhIG9uIHNvbGlkCisK
K1BBU1MKK1Rlc3Q6IHNvbGlkIG9uIGFscGhhCisKK1BBU1MKK1Rlc3Q6IGFscGhhIG9uIGFscGhh
CisKK1BBU1MKK01vZGU6IHhvcgorCitUZXN0OiBzb2xpZCBvbiBzb2xpZAorCitQQVNTCitUZXN0
OiBhbHBoYSBvbiBzb2xpZAorCitQQVNTCitUZXN0OiBzb2xpZCBvbiBhbHBoYQorCitQQVNTCitU
ZXN0OiBhbHBoYSBvbiBhbHBoYQorCitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWltYWdlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy9jYW52YXMtY29tcG9zaXRlLWltYWdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzlhYTJjMzBhZGRh
NmVlZTUxZTIzZmMyNjljOWE0YWQ5NTgyODk3MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRtbApAQCAtMCwwICsxLDQ4
NiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPlRlc3Qg
ZHJhd2luZyBpbWFnZXMgd2l0aCBjYW52YXMgd2l0aCBkaWZmZXJlbnQgY29tcG9zaXRlIG1vZGVz
LjwvdGl0bGU+CisgICAgPHNjcmlwdCB0eXBlPSJhcHBsaWNhdGlvbi94LWphdmFzY3JpcHQiPgor
ICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICB9CisKKyAgICAgIC8vIFRoaXMgdGVzdCBzaG91
bGQgc2hvdyBhIHRhYmxlIG9mIGNhbnZhcyBlbGVtZW50cy4gT250byB0aGUgYmFja2dyb3VuZCBv
ZiBlYWNoIGEgYmx1ZQorICAgICAgLy8gc3F1YXJlIGlzIGRyYXduLCBlaXRoZXIgZnVsbHkgb3Bh
cXVlIG9yIHdpdGggc29tZSB0cmFuc3BhcmVuY3ksIGFuZCB0aGVuIGEgY2xpcCBhbmQKKyAgICAg
IC8vIHRyYW5zZm9ybWF0aW9uIGlzIGFwcGxpZWQuIFRoZSBjbGlwIG9ubHkgYWxsb3dzIGRyYXdp
bmcgaW4gdGhlIGxlZnQgdHdvIHRoaXJkcyBvZiB0aGUKKyAgICAgIC8vIGNhbnZhcy4KKworICAg
ICAgLy8gT25jZSBlYWNoIGNhbnZhcyBoYXMgYmVlbiBzZXQgdXAsIGFuIGltYWdlIGlzIGRyYXdu
IHdpdGggdGhlIGNvbXBvc2l0ZSBtb2RlIGZvciB0aGF0IHJvdy4KKyAgICAgIC8vIEVhY2ggcm93
IHVzZXMgYSBkaWZmZXJlbnQgY29tcG9zaXRpbmcgbW9kZS4gRGlmZmVyZW50IGNvbHVtbnMgYXJl
IHVzZWQgZm9yIHdoZW4gdGhlCisgICAgICAvLyBiYWNrZ3JvdW5kIGlzIG9yIGlzbid0IHRyYW5z
cGFyZW50LCBhbmQgd2hlbiB0aGUgaW1hZ2UgaXMgZHJhd24gd2l0aCBvciB3aXRob3V0IGEgZ2xv
YmFsCisgICAgICAvLyBhbHBoYS4KKworICAgICAgLy8gVGhlIGltYWdlIGlzIGEgZ3JlZW4gcmVj
dGFuZ2xlIHdoaWNoIGdldHMgc2tld2VkIGJ5IHRyYW5zZm9ybSBhbmQgY3V0IG9mZiBieSB0aGUg
Y2xpcC4KKyAgICAgIC8vIEluIGVhY2ggcm93IHRoZSBncmVlbiByZWN0YW5nbGUgc2hvdWxkIGJl
IGRyYXduIHdpdGggdGhlIGFwcHJvcHJpYXRlIGNvbXBvc2l0aW5nCisgICAgICAvLyBtb2RlLCBh
cyBwZXIgdGhlIEhUTUw1IGNhbnZhcyBzcGVjLiBUaGUgYmFja2dyb3VuZCBvbiB0aGUgcmlnaHQg
c2hvdWxkIGFsd2F5cyBiZSBsZWZ0CisgICAgICAvLyB1bnRvdWNoZWQgZHVlIHRvIHRoZSBjbGlw
LgorCisgICAgICAvLyBUaGVzZSBtYXAgdG8gdGhlIHJvd3Mgb2YgdGhlIHRhYmxlCisgICAgICB2
YXIgY29tcG9zaXRlVHlwZXMgPSBbCisgICAgICAgICdzb3VyY2Utb3ZlcicsJ3NvdXJjZS1pbics
J3NvdXJjZS1vdXQnLCdzb3VyY2UtYXRvcCcsCisgICAgICAgICdkZXN0aW5hdGlvbi1vdmVyJywn
ZGVzdGluYXRpb24taW4nLCdkZXN0aW5hdGlvbi1vdXQnLCdkZXN0aW5hdGlvbi1hdG9wJywKKyAg
ICAgICAgJ2xpZ2h0ZXInLCdkYXJrZXInLCdjb3B5JywneG9yJworICAgICAgXTsKKworICAgICAg
Ly8gVGhlc2UgbWFwIHRvIHRoZSBjb2x1bW5zIG9mIHRoZSB0YWJsZQorICAgICAgdmFyIHRlc3RO
YW1lcyA9IFsKKyAgICAgICAgJ3NvbGlkIG9uIHNvbGlkJywgJ2FscGhhIG9uIHNvbGlkJywgJ3Nv
bGlkIG9uIGFscGhhJywgJ2FscGhhIG9uIGFscGhhJworICAgICAgXTsKKworICAgICAgLy8gVGhl
c2UgYXJlIHRoZSBwb2ludHMgd2hlcmUgcGl4ZWwgdmFsdWVzIGFyZSBjaGVja2VkIGZvciBjb3Jy
ZWN0bmVzcworICAgICAgdmFyIHRlc3RQb2ludHMgPSBbCisgICAgICAgIC8vIHBvaW50cyBkb3du
IHRoZSBsZWZ0IGVkZ2UKKyAgICAgICAge3g6IDEwLCB5OiAzfSwge3g6IDEwLCB5OiAyMH0sIHt4
OiAxMCwgeTogMzd9LAorICAgICAgICAvLyBwb2ludHMgb3V0c2lkZSB0aGUgbGVmdCBlZGdlIG9m
IHRoZSBpbWFnZQorICAgICAgICB7eDogMzMsIHk6IDN9LCB7eDogMjgsIHk6IDIwfSwge3g6IDM4
LCB5OiAzMH0sIHt4OiA0OSwgeTogMzd9LAorICAgICAgICAvLyBwb2ludHMgaW5zaWRlIHRoZSBs
ZWZ0IGVkZ2Ugb2YgdGhlIGltYWdlCisgICAgICAgIHt4OiAzOSwgeTogM30sIHt4OiAzNCwgeTog
MjB9LCB7eDogNDgsIHk6IDMwfSwge3g6IDU3LCB5OiAzN30sCisgICAgICAgIC8vIHBvaW50cyBp
bnNpZGUgdGhlIHJpZ2h0IGVkZ2Ugb2YgdGhlIGltYWdlCisgICAgICAgIHt4OiA1NiwgeTogM30s
IHt4OiA2NSwgeTogOH0sIHt4OiA3NywgeTogMTZ9LCB7eDogNzcsIHk6IDMwfSwge3g6IDc3LCB5
OiAzN30sCisgICAgICAgIC8vIHBvaW50cyBvdXRzaWRlIHRoZSByaWdodCBlZGdlIG9mIHRoZSBp
bWFnZQorICAgICAgICB7eDogNjUsIHk6IDN9LCB7eDogNzQsIHk6IDh9LAorICAgICAgICAvLyBw
b2ludHMgaW4gdGhlIHJlZ2lvbiB0aGF0IGdldHMgY2xpcHBlZAorICAgICAgICB7eDogODMsIHk6
IDN9LCB7eDogODMsIHk6IDIwfSwge3g6IDgzLCB5OiAzN30sIHt4OiAxMjAsIHk6IDN9LCB7eDog
MTIwLCB5OiAyMH0sIHt4OiAxMjAsIHk6IDM3fSwKKyAgICAgIF07CisKKyAgICAgIHZhciBleHBl
Y3RlZENvbG9ycyA9IFsKKyAgICAgICAgLy8gc291cmNlLW92ZXIKKyAgICAgICAgW1tbMCwgMCwg
MCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFsw
LCAxMDAsIDI1NSwgMjU1XSwgWzAsIDEwMCwgMjU1LCAyNTVdLAorICAgICAgICAgIFswLCAwLCAw
LCAwXSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwgWzY0LCAyNTUsIDAsIDI1NV0sIFs2NCwgMjU1LCAw
LCAyNTVdLCBbNjQsIDI1NSwgMCwgMjU1XSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwKKyAgICAgICAg
ICBbMjQ0LCAyMzMsIDUyLCAyNTVdLCBbMTkxLCAxOTEsIDE5MSwgMjU1XSwgWzE5MSwgMTkxLCAx
OTEsIDI1NV0sIFs4MiwgMTY5LCA4MiwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUs
IDI1NV0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAw
LCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXV0s
CisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAw
XSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAxMDAsIDI1NSwgMjU1XSwK
KyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsyNDMsIDIzMywgNTEsIDEyOF0sIFszMiwgMTc4LCAx
MjcsIDI1NV0sIFszMiwgMTc4LCAxMjcsIDI1NV0sIFs2MywgMjU1LCAwLCAxMjhdLCBbMjQzLCAy
MzMsIDUxLCAxMjhdLAorICAgICAgICAgIFsxMjIsIDE2NywgMTUzLCAyNTVdLCBbOTYsIDE0Niwg
MjIzLCAyNTVdLCBbOTYsIDE0NiwgMjIzLCAyNTVdLCBbODEsIDE2OSwgODEsIDEyOF0sIFswLCAw
LCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAs
IDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1
LCAyNTVdLCBbMCwgMCwgMCwgMF1dLAorICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDEwMCwg
MjU1LCAxMjddLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjdd
LCBbMCwgMTAwLCAyNTUsIDEyN10sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMjQ0LCAyMzMs
IDUyLCAyNTVdLCBbNjQsIDI1NSwgMCwgMjU1XSwgWzY0LCAyNTUsIDAsIDI1NV0sIFs2NCwgMjU1
LCAwLCAyNTVdLCBbMjQ0LCAyMzMsIDUyLCAyNTVdLAorICAgICAgICAgIFsyNDQsIDIzMywgNTIs
IDI1NV0sIFsxOTEsIDE5MSwgMTkxLCAyNTVdLCBbMTkxLCAxOTEsIDE5MSwgMjU1XSwgWzgyLCAx
NjksIDgyLCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwKKyAgICAgICAg
ICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwg
MCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwg
MCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0s
IFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDEwMCwgMjU1LCAxMjddLAorICAgICAgICAgIFswLCAw
LCAwLCAwXSwgWzI0MywgMjMzLCA1MSwgMTI4XSwgWzQyLCAyMDQsIDg0LCAxOTFdLCBbNDIsIDIw
NCwgODQsIDE5MV0sIFs2MywgMjU1LCAwLCAxMjhdLCBbMjQzLCAyMzMsIDUxLCAxMjhdLAorICAg
ICAgICAgIFsxNjIsIDE4OSwgMTE4LCAxOTFdLCBbMTI4LCAxNjEsIDIxMiwgMTkxXSwgWzEyOCwg
MTYxLCAyMTIsIDE5MV0sIFs4MSwgMTY5LCA4MSwgMTI4XSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAw
LCAyNTUsIDEyN10sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10s
IFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAw
LCAwXV1dLAorICAgICAgICAvLyBzb3VyY2UtaW4KKyAgICAgICAgW1tbMCwgMCwgMCwgMF0sIFsw
LCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAs
IDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbNjQsIDI1
NSwgMCwgMjU1XSwgWzY0LCAyNTUsIDAsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBd
LAorICAgICAgICAgIFsyNDQsIDIzMywgNTIsIDI1NV0sIFsxOTEsIDE5MSwgMTkxLCAyNTVdLCBb
MTkxLCAxOTEsIDE5MSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAw
LCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAs
IDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdXSwK
KyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwg
MCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAw
LCAwXSwgWzAsIDAsIDAsIDBdLCBbNjMsIDI1NSwgMCwgMTI4XSwgWzYzLCAyNTUsIDAsIDEyOF0s
IFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFsyNDMsIDIzMywgNTEsIDEy
OF0sIFsxOTEsIDE5MSwgMTkxLCAxMjhdLCBbMTkxLCAxOTEsIDE5MSwgMTI4XSwgWzAsIDAsIDAs
IDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0s
IFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAs
IDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAw
LCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAs
IDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbNjQsIDI1NSwg
MCwgMTI3XSwgWzY0LCAyNTUsIDAsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAor
ICAgICAgICAgIFsyNDQsIDIzMiwgNTIsIDEyN10sIFsxOTAsIDE5MCwgMTkwLCAxMjddLCBbMTkw
LCAxOTAsIDE5MCwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAw
XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAs
IDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdXSwKKyAg
ICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwg
MCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAw
XSwgWzAsIDAsIDAsIDBdLCBbNjMsIDI1NSwgMCwgNjRdLCBbNjMsIDI1NSwgMCwgNjRdLCBbMCwg
MCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMjQzLCAyMzEsIDUxLCA2NF0sIFsx
OTEsIDE5MSwgMTkxLCA2NF0sIFsxOTEsIDE5MSwgMTkxLCA2NF0sIFswLCAwLCAwLCAwXSwgWzAs
IDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAw
LCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEy
N10sIFswLCAwLCAwLCAwXV1dLAorICAgICAgICAvLyBzb3VyY2Utb3V0CisgICAgICAgIFtbWzAs
IDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwg
MCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsyNDQsIDIz
MywgNTIsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbNjQsIDI1NSwgMCwgMjU1
XSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAwLCAw
LCAwXSwgWzAsIDAsIDAsIDBdLCBbODIsIDE2OSwgODIsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAs
IDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBb
MCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwg
MF1dLAorICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0s
IFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAs
IDAsIDAsIDBdLCBbMjQzLCAyMzMsIDUxLCAxMjhdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAw
XSwgWzYzLCAyNTUsIDAsIDEyOF0sIFsyNDMsIDIzMywgNTEsIDEyOF0sCisgICAgICAgICAgWzAs
IDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzgxLCAxNjksIDgxLCAxMjhd
LCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsw
LCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1
NSwgMjU1XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAwLCAw
LCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAs
IDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwgWzYzLCAy
NTUsIDAsIDEyOF0sIFs2MywgMjU1LCAwLCAxMjhdLCBbNjQsIDI1NSwgMCwgMjU1XSwgWzI0NCwg
MjMzLCA1MiwgMjU1XSwKKyAgICAgICAgICBbMjQzLCAyMzMsIDUxLCAxMjhdLCBbMTkxLCAxOTEs
IDE5MSwgMTI4XSwgWzE5MSwgMTkxLCAxOTEsIDEyOF0sIFs4MiwgMTY5LCA4MiwgMjU1XSwgWzAs
IDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAw
LCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEy
N10sIFswLCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0s
IFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwK
KyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsyNDMsIDIzMywgNTEsIDEyOF0sIFs2MywgMjU1LCAw
LCA2NF0sIFs2MywgMjU1LCAwLCA2NF0sIFs2MywgMjU1LCAwLCAxMjhdLCBbMjQzLCAyMzMsIDUx
LCAxMjhdLAorICAgICAgICAgIFsyNDMsIDIzMSwgNTEsIDY0XSwgWzE5MSwgMTkxLCAxOTEsIDY0
XSwgWzE5MSwgMTkxLCAxOTEsIDY0XSwgWzgxLCAxNjksIDgxLCAxMjhdLCBbMCwgMCwgMCwgMF0s
IFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3
XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAs
IDAsIDBdXV0sCisgICAgICAgIC8vIHNvdXJjZS1hdG9wCisgICAgICAgIFtbWzAsIDAsIDAsIDBd
LCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAw
LCAyNTUsIDI1NV0sIFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0s
IFswLCAwLCAwLCAwXSwgWzY0LCAyNTUsIDAsIDI1NV0sIFs2NCwgMjU1LCAwLCAyNTVdLCBbMCwg
MCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMjQ0LCAyMzMsIDUyLCAyNTVdLCBb
MTkxLCAxOTEsIDE5MSwgMjU1XSwgWzE5MSwgMTkxLCAxOTEsIDI1NV0sIFswLCAwLCAwLCAwXSwg
WzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sCisgICAgICAgICAgWzAsIDAsIDAsIDBd
LCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAw
LCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwg
MTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUs
IDI1NV0sIFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAw
LCAwLCAwXSwgWzMyLCAxNzgsIDEyNywgMjU1XSwgWzMyLCAxNzgsIDEyNywgMjU1XSwgWzAsIDAs
IDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzEyMiwgMTY3LCAxNTMsIDI1NV0sIFs5
NiwgMTQ2LCAyMjMsIDI1NV0sIFs5NiwgMTQ2LCAyMjMsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAs
IDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBb
MCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAy
NTUsIDI1NV0sIFswLCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwgMTAw
LCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEy
N10sIFswLCAxMDAsIDI1NSwgMTI3XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAwLCAw
LCAwXSwgWzY0LCAyNTUsIDAsIDEyN10sIFs2NCwgMjU1LCAwLCAxMjddLCBbMCwgMCwgMCwgMF0s
IFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMjQ0LCAyMzIsIDUyLCAxMjddLCBbMTkwLCAxOTAs
IDE5MCwgMTI3XSwgWzE5MCwgMTkwLCAxOTAsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAs
IDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAw
LCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEy
N10sIFswLCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUs
IDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFsw
LCAxMDAsIDI1NSwgMTI3XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwg
WzMyLCAxNzgsIDEyNiwgMTI3XSwgWzMyLCAxNzgsIDEyNiwgMTI3XSwgWzAsIDAsIDAsIDBdLCBb
MCwgMCwgMCwgMF0sCisgICAgICAgICAgWzEyMiwgMTY2LCAxNTIsIDEyN10sIFs5NiwgMTQ2LCAy
MjIsIDEyN10sIFs5NiwgMTQ2LCAyMjIsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBd
LCBbMCwgMTAwLCAyNTUsIDEyN10sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAy
NTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10s
IFswLCAwLCAwLCAwXV1dLAorICAgICAgICAvLyBkZXN0aW5hdGlvbi1vdmVyCisgICAgICAgIFtb
WzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAs
IDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAgICBb
MCwgMCwgMCwgMF0sIFsyNDQsIDIzMywgNTIsIDI1NV0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAs
IDEwMCwgMjU1LCAyNTVdLCBbNjQsIDI1NSwgMCwgMjU1XSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwK
KyAgICAgICAgICBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDEw
MCwgMjU1LCAyNTVdLCBbODIsIDE2OSwgODIsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwg
MjU1LCAyNTVdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBb
MCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwg
MF1dLAorICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwg
MCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMTAwLCAyNTUsIDI1
NV0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMjQzLCAyMzMsIDUxLCAxMjhdLCBbMCwgMTAw
LCAyNTUsIDI1NV0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzYzLCAyNTUsIDAsIDEyOF0sIFsyNDMs
IDIzMywgNTEsIDEyOF0sCisgICAgICAgICAgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMTAwLCAy
NTUsIDI1NV0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzgxLCAxNjksIDgxLCAxMjhdLCBbMCwgMCwg
MCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAx
MDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwg
MjU1XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1
NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwg
WzAsIDEwMCwgMjU1LCAxMjddLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzI0NCwgMjMzLCA1
MiwgMjU1XSwgWzMyLCAxNzgsIDEyNywgMjU1XSwgWzMyLCAxNzgsIDEyNywgMjU1XSwgWzY0LCAy
NTUsIDAsIDI1NV0sIFsyNDQsIDIzMywgNTIsIDI1NV0sCisgICAgICAgICAgWzEyMiwgMTY3LCAx
NTMsIDI1NV0sIFs5NiwgMTQ2LCAyMjMsIDI1NV0sIFs5NiwgMTQ2LCAyMjMsIDI1NV0sIFs4Miwg
MTY5LCA4MiwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sCisgICAgICAg
ICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAs
IDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAs
IDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBd
LCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAxMDAsIDI1NSwgMTI3XSwKKyAgICAgICAgICBbMCwg
MCwgMCwgMF0sIFsyNDMsIDIzMywgNTEsIDEyOF0sIFsyMSwgMTUyLCAxNjksIDE5MV0sIFsyMSwg
MTUyLCAxNjksIDE5MV0sIFs2MywgMjU1LCAwLCAxMjhdLCBbMjQzLCAyMzMsIDUxLCAxMjhdLAor
ICAgICAgICAgIFs4MSwgMTQ0LCAxODYsIDE5MV0sIFs2NCwgMTMwLCAyMzMsIDE5MV0sIFs2NCwg
MTMwLCAyMzMsIDE5MV0sIFs4MSwgMTY5LCA4MSwgMTI4XSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAw
LCAyNTUsIDEyN10sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10s
IFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAw
LCAwXV1dLAorICAgICAgICAvLyBkZXN0aW5hdGlvbi1pbgorICAgICAgICBbW1swLCAwLCAwLCAw
XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBd
LCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFsw
LCAxMDAsIDI1NSwgMjU1XSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAw
LCAwLCAwXSwKKyAgICAgICAgICBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAxMDAsIDI1NSwgMjU1
XSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAs
IDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwg
MCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF1d
LAorICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFsw
LCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAs
IDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCA5OSwgMjU1LCAxMjhdLCBbMCwgOTksIDI1NSwgMTI4
XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDk5LCAyNTUsIDEy
OF0sIFswLCA5OSwgMjU1LCAxMjhdLCBbMCwgOTksIDI1NSwgMTI4XSwgWzAsIDAsIDAsIDBdLCBb
MCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAx
MDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwg
MjU1XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAw
XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBd
LAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEy
N10sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAg
ICAgICAgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAxMDAsIDI1
NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAg
ICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwg
MCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtb
MCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFsw
LCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDAs
IDAsIDBdLCBbMCwgMTAxLCAyNTUsIDYzXSwgWzAsIDEwMSwgMjU1LCA2M10sIFswLCAwLCAwLCAw
XSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAxMDEsIDI1NSwgNjNdLCBbMCwgMTAxLCAy
NTUsIDYzXSwgWzAsIDEwMSwgMjU1LCA2M10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBb
MCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10s
IFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAw
LCAwXV1dLAorICAgICAgICAvLyBkZXN0aW5hdGlvbi1vdXQKKyAgICAgICAgW1tbMCwgMCwgMCwg
MF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAx
MDAsIDI1NSwgMjU1XSwgWzAsIDEwMCwgMjU1LCAyNTVdLAorICAgICAgICAgIFswLCAwLCAwLCAw
XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBd
LCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFsw
LCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1
XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAs
IDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdXSwKKyAg
ICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBb
MCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDEwMCwgMjU1LCAyNTVdLAorICAg
ICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFsw
LCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAg
WzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAxMDAsIDI1NSwgMTI3
XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAg
ICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwg
MCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtb
MCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwg
MF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDEwMCwgMjU1LCAxMjddLAorICAgICAgICAgIFsw
LCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAs
IDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMCwg
MCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAs
IDI1NSwgMTI3XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwg
WzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAs
IDBdXSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAs
IDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDEwMCwgMjU1LCAx
MjddLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAxLCAyNTUs
IDYzXSwgWzAsIDEwMSwgMjU1LCA2M10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAg
ICAgICAgIFswLCAxMDEsIDI1NSwgNjNdLCBbMCwgMTAxLCAyNTUsIDYzXSwgWzAsIDEwMSwgMjU1
LCA2M10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sCisg
ICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwg
WzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXV1dLAorICAgICAg
ICAvLyBkZXN0aW5hdGlvbi1hdG9wCisgICAgICAgIFtbWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwg
MF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAw
XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsyNDQsIDIzMywgNTIsIDI1NV0sIFswLCAxMDAs
IDI1NSwgMjU1XSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbNjQsIDI1NSwgMCwgMjU1XSwgWzI0NCwg
MjMzLCA1MiwgMjU1XSwKKyAgICAgICAgICBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAxMDAsIDI1
NSwgMjU1XSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbODIsIDE2OSwgODIsIDI1NV0sIFswLCAwLCAw
LCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1
LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBb
MCwgMCwgMCwgMF1dLAorICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwg
MCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAg
ICAgICAgWzAsIDAsIDAsIDBdLCBbMjQzLCAyMzMsIDUxLCAxMjhdLCBbMCwgOTksIDI1NSwgMTI4
XSwgWzAsIDk5LCAyNTUsIDEyOF0sIFs2MywgMjU1LCAwLCAxMjhdLCBbMjQzLCAyMzMsIDUxLCAx
MjhdLAorICAgICAgICAgIFswLCA5OSwgMjU1LCAxMjhdLCBbMCwgOTksIDI1NSwgMTI4XSwgWzAs
IDk5LCAyNTUsIDEyOF0sIFs4MSwgMTY5LCA4MSwgMTI4XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwg
MCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAw
LCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXV0s
CisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAs
IDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwg
MCwgMF0sIFsyNDQsIDIzMywgNTIsIDI1NV0sIFszMiwgMTc4LCAxMjcsIDI1NV0sIFszMiwgMTc4
LCAxMjcsIDI1NV0sIFs2NCwgMjU1LCAwLCAyNTVdLCBbMjQ0LCAyMzMsIDUyLCAyNTVdLAorICAg
ICAgICAgIFsxMjIsIDE2NywgMTUzLCAyNTVdLCBbOTYsIDE0NiwgMjIzLCAyNTVdLCBbOTYsIDE0
NiwgMjIzLCAyNTVdLCBbODIsIDE2OSwgODIsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAs
IDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMCwg
MCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMCwgMCwgMF1dLAor
ICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAw
LCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAs
IDBdLCBbMjQzLCAyMzMsIDUxLCAxMjhdLCBbMzEsIDE3NywgMTI3LCAxMjhdLCBbMzEsIDE3Nywg
MTI3LCAxMjhdLCBbNjMsIDI1NSwgMCwgMTI4XSwgWzI0MywgMjMzLCA1MSwgMTI4XSwKKyAgICAg
ICAgICBbMTIxLCAxNjcsIDE1MywgMTI4XSwgWzk1LCAxNDUsIDIyMywgMTI4XSwgWzk1LCAxNDUs
IDIyMywgMTI4XSwgWzgxLCAxNjksIDgxLCAxMjhdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAw
XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAs
IDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdXV0sCisg
ICAgICAgIC8vIGxpZ2h0ZXIKKyAgICAgICAgW1tbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwg
MjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAs
IDEwMCwgMjU1LCAyNTVdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzI0NCwgMjMzLCA1Miwg
MjU1XSwgWzY0LCAyNTUsIDI1NSwgMjU1XSwgWzY0LCAyNTUsIDI1NSwgMjU1XSwgWzY0LCAyNTUs
IDAsIDI1NV0sIFsyNDQsIDIzMywgNTIsIDI1NV0sCisgICAgICAgICAgWzI0NCwgMjU1LCAyNTUs
IDI1NV0sIFsxOTEsIDI1NSwgMjU1LCAyNTVdLCBbMTkxLCAyNTUsIDI1NSwgMjU1XSwgWzgyLCAx
NjksIDgyLCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAg
ICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwg
MCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwg
MCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0s
IFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDEwMCwgMjU1LCAyNTVdLAorICAgICAgICAgIFswLCAw
LCAwLCAwXSwgWzI0MywgMjMzLCA1MSwgMTI4XSwgWzMyLCAyMjgsIDI1NSwgMjU1XSwgWzMyLCAy
MjgsIDI1NSwgMjU1XSwgWzYzLCAyNTUsIDAsIDEyOF0sIFsyNDMsIDIzMywgNTEsIDEyOF0sCisg
ICAgICAgICAgWzEyMiwgMjE3LCAyNTUsIDI1NV0sIFs5NiwgMTk2LCAyNTUsIDI1NV0sIFs5Niwg
MTk2LCAyNTUsIDI1NV0sIFs4MSwgMTY5LCA4MSwgMTI4XSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAw
LCAyNTUsIDI1NV0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0s
IFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAw
LCAwXV0sCisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAw
LCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAxMDAsIDI1NSwg
MTI3XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsyNDQsIDIzMywgNTIsIDI1NV0sIFs2NCwg
MjU1LCAxMjcsIDI1NV0sIFs2NCwgMjU1LCAxMjcsIDI1NV0sIFs2NCwgMjU1LCAwLCAyNTVdLCBb
MjQ0LCAyMzMsIDUyLCAyNTVdLAorICAgICAgICAgIFsyNDQsIDI1NSwgMTc5LCAyNTVdLCBbMTkx
LCAyNDEsIDI1NSwgMjU1XSwgWzE5MSwgMjQxLCAyNTUsIDI1NV0sIFs4MiwgMTY5LCA4MiwgMjU1
XSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sCisgICAgICAgICAgWzAsIDAsIDAs
IDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwg
MTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBb
MCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAy
NTUsIDEyN10sIFswLCAxMDAsIDI1NSwgMTI3XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsy
NDMsIDIzMywgNTEsIDEyOF0sIFszMiwgMTc4LCAxMjcsIDI1NV0sIFszMiwgMTc4LCAxMjcsIDI1
NV0sIFs2MywgMjU1LCAwLCAxMjhdLCBbMjQzLCAyMzMsIDUxLCAxMjhdLAorICAgICAgICAgIFsx
MjIsIDE2NywgMTUzLCAyNTVdLCBbOTYsIDE0NiwgMjIzLCAyNTVdLCBbOTYsIDE0NiwgMjIzLCAy
NTVdLCBbODEsIDE2OSwgODEsIDEyOF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjdd
LAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMCwgMCwg
MF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMCwgMCwgMF1dXSwKKyAg
ICAgICAgLy8gZGFya2VyCisgICAgICAgIFtbWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1
NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAx
MDAsIDI1NSwgMjU1XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsyNDQsIDIzMywgNTIsIDI1
NV0sIFswLCAxMDAsIDAsIDI1NV0sIFswLCAxMDAsIDAsIDI1NV0sIFs2NCwgMjU1LCAwLCAyNTVd
LCBbMjQ0LCAyMzMsIDUyLCAyNTVdLAorICAgICAgICAgIFswLCAxMDAsIDUyLCAyNTVdLCBbMCwg
MTAwLCAxOTEsIDI1NV0sIFswLCAxMDAsIDE5MSwgMjU1XSwgWzgyLCAxNjksIDgyLCAyNTVdLCBb
MCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0s
IFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAs
IDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAx
MDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwg
MjU1XSwgWzAsIDEwMCwgMjU1LCAyNTVdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzI0Mywg
MjMzLCA1MSwgMTI4XSwgWzAsIDEwMCwgMTI3LCAyNTVdLCBbMCwgMTAwLCAxMjcsIDI1NV0sIFs2
MywgMjU1LCAwLCAxMjhdLCBbMjQzLCAyMzMsIDUxLCAxMjhdLAorICAgICAgICAgIFswLCAxMDAs
IDE1MywgMjU1XSwgWzAsIDEwMCwgMjIzLCAyNTVdLCBbMCwgMTAwLCAyMjMsIDI1NV0sIFs4MSwg
MTY5LCA4MSwgMTI4XSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sCisgICAgICAg
ICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAs
IDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAs
IDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBd
LCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAxMDAsIDI1NSwgMTI3XSwKKyAgICAgICAgICBbMCwg
MCwgMCwgMF0sIFsyNDQsIDIzMywgNTIsIDI1NV0sIFszMiwgMTc4LCAwLCAyNTVdLCBbMzIsIDE3
OCwgMCwgMjU1XSwgWzY0LCAyNTUsIDAsIDI1NV0sIFsyNDQsIDIzMywgNTIsIDI1NV0sCisgICAg
ICAgICAgWzEyMiwgMTY3LCA1MiwgMjU1XSwgWzk2LCAxNDYsIDE5MSwgMjU1XSwgWzk2LCAxNDYs
IDE5MSwgMjU1XSwgWzgyLCAxNjksIDgyLCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1
NSwgMTI3XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAs
IDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBd
XSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAs
IDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDEwMCwgMjU1LCAxMjdd
LAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzI0MywgMjMzLCA1MSwgMTI4XSwgWzIxLCAxNTIs
IDg0LCAxOTFdLCBbMjEsIDE1MiwgODQsIDE5MV0sIFs2MywgMjU1LCAwLCAxMjhdLCBbMjQzLCAy
MzMsIDUxLCAxMjhdLAorICAgICAgICAgIFs4MSwgMTQ1LCAxMTgsIDE5MV0sIFs2NCwgMTMwLCAy
MTIsIDE5MV0sIFs2NCwgMTMwLCAyMTIsIDE5MV0sIFs4MSwgMTY5LCA4MSwgMTI4XSwgWzAsIDAs
IDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwg
MTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUs
IDEyN10sIFswLCAwLCAwLCAwXV1dLAorICAgICAgICAvLyBjb3B5CisgICAgICAgIFtbWzAsIDAs
IDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwg
MCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsyNDQsIDIzMywg
NTIsIDI1NV0sIFs2NCwgMjU1LCAwLCAyNTVdLCBbNjQsIDI1NSwgMCwgMjU1XSwgWzY0LCAyNTUs
IDAsIDI1NV0sIFsyNDQsIDIzMywgNTIsIDI1NV0sCisgICAgICAgICAgWzI0NCwgMjMzLCA1Miwg
MjU1XSwgWzE5MSwgMTkxLCAxOTEsIDI1NV0sIFsxOTEsIDE5MSwgMTkxLCAyNTVdLCBbODIsIDE2
OSwgODIsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAw
LCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwg
WzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF1dLAorICAgICAgICAgW1swLCAwLCAwLCAw
XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBd
LCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMjQzLCAyMzMsIDUxLCAx
MjhdLCBbNjMsIDI1NSwgMCwgMTI4XSwgWzYzLCAyNTUsIDAsIDEyOF0sIFs2MywgMjU1LCAwLCAx
MjhdLCBbMjQzLCAyMzMsIDUxLCAxMjhdLAorICAgICAgICAgIFsyNDMsIDIzMywgNTEsIDEyOF0s
IFsxOTEsIDE5MSwgMTkxLCAxMjhdLCBbMTkxLCAxOTEsIDE5MSwgMTI4XSwgWzgxLCAxNjksIDgx
LCAxMjhdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwg
MF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAx
MDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFsw
LCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAs
IDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwg
WzY0LCAyNTUsIDAsIDI1NV0sIFs2NCwgMjU1LCAwLCAyNTVdLCBbNjQsIDI1NSwgMCwgMjU1XSwg
WzI0NCwgMjMzLCA1MiwgMjU1XSwKKyAgICAgICAgICBbMjQ0LCAyMzMsIDUyLCAyNTVdLCBbMTkx
LCAxOTEsIDE5MSwgMjU1XSwgWzE5MSwgMTkxLCAxOTEsIDI1NV0sIFs4MiwgMTY5LCA4MiwgMjU1
XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBb
MCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAy
NTUsIDEyN10sIFswLCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwgMCwg
MCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAw
LCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsyNDMsIDIzMywgNTEsIDEyOF0sIFs2Mywg
MjU1LCAwLCAxMjhdLCBbNjMsIDI1NSwgMCwgMTI4XSwgWzYzLCAyNTUsIDAsIDEyOF0sIFsyNDMs
IDIzMywgNTEsIDEyOF0sCisgICAgICAgICAgWzI0MywgMjMzLCA1MSwgMTI4XSwgWzE5MSwgMTkx
LCAxOTEsIDEyOF0sIFsxOTEsIDE5MSwgMTkxLCAxMjhdLCBbODEsIDE2OSwgODEsIDEyOF0sIFsw
LCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEw
MCwgMjU1LCAxMjddLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAx
MjddLCBbMCwgMCwgMCwgMF1dXSwKKyAgICAgICAgLy8geG9yCisgICAgICAgIFtbWzAsIDAsIDAs
IDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwg
MTAwLCAyNTUsIDI1NV0sIFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAgICBbMCwgMCwgMCwg
MF0sIFsyNDQsIDIzMywgNTIsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbNjQs
IDI1NSwgMCwgMjU1XSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwKKyAgICAgICAgICBbMCwgMCwgMCwg
MF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbODIsIDE2OSwgODIsIDI1NV0sIFswLCAw
LCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAs
IDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1
LCAyNTVdLCBbMCwgMCwgMCwgMF1dLAorICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDEwMCwg
MjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVd
LCBbMCwgMTAwLCAyNTUsIDI1NV0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMjQzLCAyMzMs
IDUxLCAxMjhdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzYzLCAy
NTUsIDAsIDEyOF0sIFsyNDMsIDIzMywgNTEsIDEyOF0sCisgICAgICAgICAgWzAsIDEwMCwgMjU1
LCAxMjddLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzgxLCAxNjks
IDgxLCAxMjhdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAgICBb
MCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwg
MF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwg
MCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFsw
LCAxMDAsIDI1NSwgMTI3XSwgWzAsIDEwMCwgMjU1LCAxMjddLAorICAgICAgICAgIFswLCAwLCAw
LCAwXSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwgWzYzLCAyNTUsIDAsIDEyOF0sIFs2MywgMjU1LCAw
LCAxMjhdLCBbNjQsIDI1NSwgMCwgMjU1XSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwKKyAgICAgICAg
ICBbMjQzLCAyMzMsIDUxLCAxMjhdLCBbMTkxLCAxOTEsIDE5MSwgMTI4XSwgWzE5MSwgMTkxLCAx
OTEsIDEyOF0sIFs4MiwgMTY5LCA4MiwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUs
IDEyN10sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAw
LCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXV0s
CisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAw
XSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAxMDAsIDI1NSwgMTI3XSwK
KyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsyNDMsIDIzMywgNTEsIDEyOF0sIFszMiwgMTc4LCAx
MjYsIDEyN10sIFszMiwgMTc4LCAxMjYsIDEyN10sIFs2MywgMjU1LCAwLCAxMjhdLCBbMjQzLCAy
MzMsIDUxLCAxMjhdLAorICAgICAgICAgIFsxMjIsIDE2OCwgMTUyLCAxMjddLCBbOTYsIDE0Niwg
MjIyLCAxMjddLCBbOTYsIDE0NiwgMjIyLCAxMjddLCBbODEsIDE2OSwgODEsIDEyOF0sIFswLCAw
LCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAs
IDEwMCwgMjU1LCAxMjddLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1
LCAxMjddLCBbMCwgMCwgMCwgMF1dXSwKKyAgICAgIF0KKworICAgICAgZnVuY3Rpb24gY3JlYXRl
T3V0cHV0VGFibGUoKSB7CisgICAgICAgIHZhciB0YWJsZUVsID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ291dHB1dHRhYmxlJyk7CisgICAgICAgIHZhciByb3cgPSB0YWJsZUVsLmluc2VydFJv
dygtMSk7CisgICAgICAgIHZhciBjZWxsID0gcm93Lmluc2VydENlbGwoLTEpOworICAgICAgICB2
YXIgbGFiZWw7CisgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGVzdE5hbWVzLmxlbmd0aDsg
aisrKSB7CisgICAgICAgICAgY2VsbCA9IHJvdy5pbnNlcnRDZWxsKC0xKTsKKyAgICAgICAgICBs
YWJlbCA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRlc3ROYW1lc1tqXSk7CisgICAgICAgICAg
Y2VsbC5hcHBlbmRDaGlsZChsYWJlbCk7CisgICAgICAgIH0KKyAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCBjb21wb3NpdGVUeXBlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgIHJvdyA9IHRh
YmxlRWwuaW5zZXJ0Um93KC0xKTsKKyAgICAgICAgICBjZWxsID0gcm93Lmluc2VydENlbGwoLTEp
OworICAgICAgICAgIGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY29tcG9zaXRlVHlw
ZXNbaV0pOworICAgICAgICAgIGNlbGwuYXBwZW5kQ2hpbGQobGFiZWwpOworICAgICAgICAgIGZv
ciAodmFyIGogPSAwOyBqIDwgdGVzdE5hbWVzLmxlbmd0aDsgaisrKSB7CisgICAgICAgICAgICB2
YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CisgICAgICAgICAg
ICBjYW52YXMud2lkdGggPSAxMzA7CisgICAgICAgICAgICBjYW52YXMuaGVpZ2h0ID0gNDA7Cisg
ICAgICAgICAgICBjYW52YXMuaWQgPSBjb21wb3NpdGVUeXBlc1tpXSArIHRlc3ROYW1lc1tqXTsK
KyAgICAgICAgICAgIGNlbGwgPSByb3cuaW5zZXJ0Q2VsbCgtMSk7CisgICAgICAgICAgICBjZWxs
LmFwcGVuZENoaWxkKGNhbnZhcyk7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisK
KyAgICAgIGZ1bmN0aW9uIGdldENvbnRleHQoY29tcG9zaXRlSW5kZXgsIHRlc3RJbmRleCkgewor
ICAgICAgICB2YXIgaWQgPSBjb21wb3NpdGVUeXBlc1tjb21wb3NpdGVJbmRleF0gKyB0ZXN0TmFt
ZXNbdGVzdEluZGV4XTsKKyAgICAgICAgdmFyIGNvbnRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZChpZCkuZ2V0Q29udGV4dCgnMmQnKTsKKyAgICAgICAgcmV0dXJuIGNvbnRleHQ7CisgICAg
ICB9CisKKyAgICAgIGZ1bmN0aW9uIHNldHVwQ29udGV4dChjb250ZXh0LCBhbHBoYSkgeworICAg
ICAgICBpZiAoYWxwaGEpIHsKKyAgICAgICAgICBjb250ZXh0LmZpbGxTdHlsZSA9ICdyZ2JhKDAw
LDEwMCwyNTUsMC41KSc7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgY29udGV4dC5maWxs
U3R5bGUgPSAncmdiYSgwMCwxMDAsMjU1LDEpJzsKKyAgICAgICAgfQorICAgICAgICBjb250ZXh0
LmZpbGxSZWN0KDUsIDUsIDEyMCwgMzApOworICAgICAgICBjb250ZXh0LmJlZ2luUGF0aCgpOwor
ICAgICAgICBjb250ZXh0Lm1vdmVUbygwLCAwKTsKKyAgICAgICAgY29udGV4dC5saW5lVG8oMCwg
NDUpOworICAgICAgICBjb250ZXh0LmxpbmVUbyg4MCwgNDUpOworICAgICAgICBjb250ZXh0Lmxp
bmVUbyg4MCwgMCk7CisgICAgICAgIGNvbnRleHQuY2xpcCgpOworICAgICAgICBjb250ZXh0LnRy
YW5zbGF0ZSg0MCwgLTEwKTsKKyAgICAgICAgY29udGV4dC5zY2FsZSgwLjQsIDAuNik7CisgICAg
ICAgIGNvbnRleHQucm90YXRlKE1hdGguUEkgLyA4KTsKKyAgICAgIH0KKworICAgICAgZnVuY3Rp
b24gZHJhd0ltYWdlKGNvbnRleHQsIGNvbXBvc2l0ZUluZGV4LCBhbHBoYSkgeworICAgICAgICBj
b250ZXh0Lmdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiA9IGNvbXBvc2l0ZVR5cGVzW2NvbXBvc2l0
ZUluZGV4XTsKKyAgICAgICAgaWYgKGFscGhhKQorICAgICAgICAgIGNvbnRleHQuZ2xvYmFsQWxw
aGEgPSAwLjU7CisgICAgICAgIGltYWdlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdpbWFnZScpOworICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShpbWFnZUVsZW1lbnQsIDAsIDAp
OworICAgICAgfQorCisgICAgICBmdW5jdGlvbiBhZGRPdXRwdXQoZWxlbWVudCwgc3R5bGUsIGlu
bmVySFRNTCkgeworICAgICAgICB2YXIgb3V0cHV0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ291dHB1dCcpOworICAgICAgICB2YXIgb3V0cHV0RWwgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KGVsZW1lbnQpOworICAgICAgICBpZiAoc3R5bGUpCisgICAgICAgICAgICBvdXRwdXRFbC5z
ZXRBdHRyaWJ1dGUoJ2NsYXNzJywgc3R5bGUpOworICAgICAgICBvdXRwdXRFbC5pbm5lckhUTUwg
PSBpbm5lckhUTUw7CisgICAgICAgIG91dHB1dERpdi5hcHBlbmRDaGlsZChvdXRwdXRFbCk7Cisg
ICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIGFkZEV4cGVjdGVkT3V0cHV0KGNvbnRleHQsIHgsIHks
IGFjdHVhbENvbG9yLCBhZGRCcmVhaywgYWRkT3BlbmluZywgYWRkQ2xvc2luZykgeworICAgICAg
ICB2YXIgZXJyb3JTdHJpbmcgPSAnWycgKyBhY3R1YWxDb2xvclswXSArICcsICcgKyBhY3R1YWxD
b2xvclsxXSArICcsICcgKyBhY3R1YWxDb2xvclsyXSArICcsICcgKyBhY3R1YWxDb2xvclszXSAr
ICddJzsKKyAgICAgICAgaWYgKGFkZE9wZW5pbmcpCisgICAgICAgICAgZXJyb3JTdHJpbmcgPSAn
WycgKyBlcnJvclN0cmluZzsKKyAgICAgICAgaWYgKGFkZENsb3NpbmcpCisgICAgICAgICAgZXJy
b3JTdHJpbmcgPSBlcnJvclN0cmluZyArICddJzsKKyAgICAgICAgZXJyb3JTdHJpbmcgPSBlcnJv
clN0cmluZyArICcsICc7CisgICAgICAgIGlmIChhZGRCcmVhaykKKyAgICAgICAgICBlcnJvclN0
cmluZyA9IGVycm9yU3RyaW5nICsgJzxicj4nOworICAgICAgICBhZGRPdXRwdXQoJ3NwYW4nLCAn
JywgZXJyb3JTdHJpbmcpOworICAgICAgfQorCisgICAgICBmdW5jdGlvbiByZWJhc2VsaW5lKGNv
bnRleHQsIGNvbXBvc2l0ZUluZGV4LCB0ZXN0SW5kZXgpIHsKKyAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCB0ZXN0UG9pbnRzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgdmFyIGltZyA9IGNv
bnRleHQuZ2V0SW1hZ2VEYXRhKHRlc3RQb2ludHNbaV0ueCwgdGVzdFBvaW50c1tpXS55LCAxLCAx
KS5kYXRhOworICAgICAgICAgIHZhciBhY3R1YWxDb2xvciA9IFtpbWdbMF0sIGltZ1sxXSwgaW1n
WzJdLCBpbWdbM11dOworICAgICAgICAgIGFkZEV4cGVjdGVkT3V0cHV0KGNvbnRleHQsIHRlc3RQ
b2ludHNbaV0ueCwgdGVzdFBvaW50c1tpXS55LCBhY3R1YWxDb2xvciwgISgoaSsxKSU2KSwgaSA9
PSAwLCBpID09IDIzKTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICBmdW5jdGlvbiBpc0Rp
ZmZlcmVudENvbG9yKGFjdHVhbENvbG9yLCBleHBlY3RlZENvbG9yKSB7CisgICAgICAgICAgdmFy
IGFjdHVhbEFscGhhID0gYWN0dWFsQ29sb3JbM107CisgICAgICAgICAgdmFyIGV4cGVjdGVkQWxw
aGEgPSBleHBlY3RlZENvbG9yWzNdOworICAgICAgICAgIGlmIChNYXRoLmFicyhhY3R1YWxBbHBo
YSAtIGV4cGVjdGVkQWxwaGEpID4gMykgcmV0dXJuIHRydWU7CisgICAgICAgICAgLy8gRm9yIHRo
ZSB2YWx1ZSBvZiBSR0IsIHdlIGNvbXBhcmUgdGhlIHZhbHVlcyB0aGUgdXNlcnMgYWN0dWFsbHkg
c2VlLgorICAgICAgICAgIGlmIChNYXRoLmFicyhhY3R1YWxDb2xvclswXSAqIGFjdHVhbEFscGhh
IC8gMjU2IC0gZXhwZWN0ZWRDb2xvclswXSAqIGV4cGVjdGVkQWxwaGEgLyAyNTYpID4gMykgcmV0
dXJuIHRydWU7CisgICAgICAgICAgaWYgKE1hdGguYWJzKGFjdHVhbENvbG9yWzFdICogYWN0dWFs
QWxwaGEgLyAyNTYgLSBleHBlY3RlZENvbG9yWzFdICogZXhwZWN0ZWRBbHBoYSAvIDI1NikgPiAz
KSByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICBpZiAoTWF0aC5hYnMoYWN0dWFsQ29sb3JbMl0gKiBh
Y3R1YWxBbHBoYSAvIDI1NiAtIGV4cGVjdGVkQ29sb3JbMl0gKiBleHBlY3RlZEFscGhhIC8gMjU2
KSA+IDMpIHJldHVybiB0cnVlOworICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgIH0KKwor
ICAgICAgZnVuY3Rpb24gYWRkRXJyb3IoY29udGV4dCwgeCwgeSwgYWN0dWFsQ29sb3IsIGV4cGVj
dGVkQ29sb3IpIHsKKyAgICAgICAgY29udGV4dC5maWxsU3R5bGUgPSAncmdiKDI1NSwgMCwgMCkn
OworICAgICAgICBjb250ZXh0LmZpbGxSZWN0KHgsIHksIDEsIDEpOworICAgICAgICB2YXIgZXJy
b3JTdHJpbmcgPSAnRXJyb3IgYXQgKCcgKyB4ICsgJywgJyArIHkgKyAnKTogJzsKKyAgICAgICAg
ZXJyb3JTdHJpbmcgPSBlcnJvclN0cmluZyArICdBY3R1YWwgY29sb3IgWycgKyBhY3R1YWxDb2xv
clswXSArICcsICcgKyBhY3R1YWxDb2xvclsxXSArICcsICcgKyBhY3R1YWxDb2xvclsyXSArICcs
ICcgKyBhY3R1YWxDb2xvclszXSArICddOyAnOworICAgICAgICBlcnJvclN0cmluZyA9IGVycm9y
U3RyaW5nICsgJ0V4cGVjdGVkIGNvbG9yIFsnICsgZXhwZWN0ZWRDb2xvclswXSArICcsICcgKyBl
eHBlY3RlZENvbG9yWzFdICsgJywgJyArIGV4cGVjdGVkQ29sb3JbMl0gKyAnLCAnICsgZXhwZWN0
ZWRDb2xvclszXSArICddOyAnOworICAgICAgICBhZGRPdXRwdXQoJ2RpdicsICdlcnJvcicsIGVy
cm9yU3RyaW5nKTsKKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gY2hlY2tSZXN1bHQoY29udGV4
dCwgY29tcG9zaXRlSW5kZXgsIHRlc3RJbmRleCkgeworICAgICAgICB2YXIgZXJyb3JDb3VudCA9
IDA7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGVzdFBvaW50cy5sZW5ndGg7IGkrKykg
eworICAgICAgICAgIHZhciBpbWcgPSBjb250ZXh0LmdldEltYWdlRGF0YSh0ZXN0UG9pbnRzW2ld
LngsIHRlc3RQb2ludHNbaV0ueSwgMSwgMSkuZGF0YTsKKyAgICAgICAgICB2YXIgYWN0dWFsQ29s
b3IgPSBbaW1nWzBdLCBpbWdbMV0sIGltZ1syXSwgaW1nWzNdXTsKKyAgICAgICAgICB2YXIgZXhw
ZWN0ZWRDb2xvciA9IGV4cGVjdGVkQ29sb3JzW2NvbXBvc2l0ZUluZGV4XVt0ZXN0SW5kZXhdW2ld
OworICAgICAgICAgIGlmIChpc0RpZmZlcmVudENvbG9yKGFjdHVhbENvbG9yLCBleHBlY3RlZENv
bG9yKSkgeworICAgICAgICAgICAgYWRkRXJyb3IoY29udGV4dCwgdGVzdFBvaW50c1tpXS54LCB0
ZXN0UG9pbnRzW2ldLnksIGFjdHVhbENvbG9yLCBleHBlY3RlZENvbG9yKTsKKyAgICAgICAgICAg
IGVycm9yQ291bnQrKzsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVycm9y
Q291bnQpCisgICAgICAgICAgYWRkT3V0cHV0KCdkaXYnLCAnZmFpbCcsICdGQUlMOiAnICsgZXJy
b3JDb3VudCArICcgZXJyb3JzLicpOworICAgICAgICBlbHNlCisgICAgICAgICAgYWRkT3V0cHV0
KCdkaXYnLCAncGFzcycsICdQQVNTJyk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHJ1blRl
c3QoKSB7CisgICAgICAgIGNyZWF0ZU91dHB1dFRhYmxlKCk7CisgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgY29tcG9zaXRlVHlwZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICBmb3IgKHZh
ciBqID0gMDsgaiA8IHRlc3ROYW1lcy5sZW5ndGg7IGorKykgeworICAgICAgICAgICAgdmFyIGNv
bnRleHQgPSBnZXRDb250ZXh0KGksIGopOworICAgICAgICAgICAgY29udGV4dC5zYXZlKCk7Cisg
ICAgICAgICAgICBzZXR1cENvbnRleHQoY29udGV4dCwgaiAlIDQgPiAxKTsKKyAgICAgICAgICAg
IGRyYXdJbWFnZShjb250ZXh0LCBpLCBqICUgMik7CisgICAgICAgICAgICBjb250ZXh0LnJlc3Rv
cmUoKTsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkg
PCBjb21wb3NpdGVUeXBlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgIGFkZE91dHB1dCgnaDEn
LCAnJywgJ01vZGU6ICcgKyBjb21wb3NpdGVUeXBlc1tpXSk7CisgICAgICAgICAgZm9yICh2YXIg
aiA9IDA7IGogPCB0ZXN0TmFtZXMubGVuZ3RoOyBqKyspIHsKKyAgICAgICAgICAgIGFkZE91dHB1
dCgnaDInLCAnJywgJ1Rlc3Q6ICcgKyB0ZXN0TmFtZXNbal0pOworICAgICAgICAgICAgdmFyIGNv
bnRleHQgPSBnZXRDb250ZXh0KGksIGopOworICAgICAgICAgICAgY2hlY2tSZXN1bHQoY29udGV4
dCwgaSwgaik7CisgICAgICAgICAgICAvL3JlYmFzZWxpbmUoY29udGV4dCwgaSwgaik7CisgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgICAgIGlmIChsYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgIH0KKyAg
ICA8L3NjcmlwdD4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgYm9keSB7IG1h
cmdpbjogNXB4OyBmb250LWZhbWlseTogYXJpYWwsdmVyZGFuYSxoZWx2ZXRpY2E7IGJhY2tncm91
bmQ6ICNmZmY7IH0KKyAgICAgIGNhbnZhcyB7IGJvcmRlcjogMXB4IHNvbGlkICM5OTk7IH0KKyAg
ICAgIGRpdiB7IG1hcmdpbjogMTBweDsgfQorICAgICAgI291dHB1dCBoMSB7IGZvbnQtc2l6ZTog
bWVkaXVtOyBmb250LXdlaWdodDogbm9ybWFsOyB9CisgICAgICAjb3V0cHV0IGgyIHsgZm9udC1z
aXplOiBzbWFsbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfQorICAgICAgI291dHB1dCBkaXYgeyBm
b250LXNpemU6IHNtYWxsOyBtYXJnaW46IDBweDsgfQorICAgICAgI291dHB1dCAucGFzcyB7IGNv
bG9yOiBncmVlbjsgfQorICAgICAgI291dHB1dCAuZmFpbCB7IGNvbG9yOiByZ2IoMjU1LCAwLCAw
KTsgfQorICAgICAgI291dHB1dCAuZXJyb3IgeyBjb2xvcjogcmdiKDI1NSwgMCwgNjQpOyB9Cisg
ICAgICB0ZCB7IHBhZGRpbmc6IDJweCA1cHg7IH0KKyAgICAgIHRhYmxlIHsgYm9yZGVyLWNvbGxh
cHNlOiBjb2xsYXBzZTsgfQorICAgIDwvc3R5bGU+CisgIDwvaGVhZD4KKyAgPGJvZHkgb25sb2Fk
PSJydW5UZXN0KCk7Ij4KKyAgICA8ZGl2PlRlc3QgUmVzdWx0czwvZGl2PgorICAgIDxkaXY+PHRh
YmxlIGlkPSdvdXRwdXR0YWJsZSc+PC90YWJsZT48L2Rpdj4KKyAgICA8ZGl2PlRlc3QgSW1hZ2U8
L2Rpdj4KKyAgICA8ZGl2PjxpbWcgaWQgPSAiaW1hZ2UiIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFz
ZTY0LAorICAgIGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFKWUFBQUE4Q0FJQUFBQUw1TlE5QUFB
S1EybERRMUJKUTBNZ2NISnZabWxzWlFBQQorICAgIGVOcWRVM2RZay9jV1B0LzNaUTlXUXRqd3Na
ZHNnUUFpSTZ3SXlCQlpvaENTQUdHRUVCSkF4WVdJQ2xZVUZSR2NTRlhFZ3RVSworICAgIFNKMkk0
cUFvdUdkQmlvaGFpMVZjT080ZjNLZTFmWHJ2N2UzNzEvdTg1NXpuL001NXp3K0FFUklta2VhaWFn
QTVVb1U4T3RnZgorICAgIGowOUl4TW05Z0FJVlNPQUVJQkRteThKbkJjVUFBUEFEZVhoK2RMQS8v
QUd2YndBQ0FIRFZMaVFTeCtIL2c3cFFKbGNBSUpFQQorICAgIDRDSVM1d3NCa0ZJQXlDNVV5QlFB
eUJnQXNGT3paQW9BbEFBQWJIbDhRaUlBcWcwQTdQUkpQZ1VBMkttVDNCY0EyS0ljcVFnQQorICAg
IGpRRUFtU2hISkFKQXV3QmdWWUZTTEFMQXdnQ2dyRUFpTGdUQXJnR0FXYll5UndLQXZRVUFkbzVZ
a0E5QVlBQ0FtVUlzekFBZworICAgIE9BSUFReDRUelFNZ1RBT2dNTksvNEtsZmNJVzRTQUVBd011
VnpaZEwwak1VdUpYUUduZnk4T0RpSWVMQ2JMRkNZUmNwRUdZSgorICAgIDVDS2NsNXNqRTBqbkEw
ek9EQUFBR3ZuUndmNDRQNURuNXVUaDVtYm5iTy8weGFMK2EvQnZJajRoOGQvK3ZJd0NCQUFRVHMv
dgorICAgIDJsL2w1ZFlEY01jQnNIVy9hNmxiQU5wV0FHamYrVjB6MndtZ1dnclFldm1MZVRqOFFC
NmVvVkRJUEIwY0Nnc0w3U1Zpb2IwdworICAgIDQ0cysvelBoYitDTGZ2YjhRQjcrMjNyd0FIR2FR
Sm10d0tPRC9YRmhibmF1VW83bnl3UkNNVzczNXlQK3g0Vi8vWTRwMGVJMAorICAgIHNWd3NGWXJ4
V0ltNFVDSk54M201VXBGRUljbVY0aExwZnpMeEg1YjlDWk4zRFFDc2hrL0FUcllIdGN0c3dIN3VB
UUtMRGxqUworICAgIGRnQkFmdk10akJvTGtRQVFaelF5ZWZjQUFKTy8rWTlBS3dFQXpaZWs0d0FB
dk9nWVhLaVVGMHpHQ0FBQVJLQ0JLckJCQnd6QgorICAgIEZLekFEcHpCSGJ6QUZ3SmhCa1JBRENU
QVBCQkNCdVNBSEFxaEdKWkJHVlRBT3RnRXRiQURHcUFSbXVFUXRNRXhPQTNuNEJKYworICAgIGdl
dHdGd1pnR0o3Q0dMeUdDUVJCeUFnVFlTRTZpQkZpanRnaXpnZ1htWTRFSW1GSU5KS0FwQ0RwaUJS
UklzWEljcVFDcVVKcQorICAgIGtWMUlJL0l0Y2hRNWpWeEErcERieUNBeWl2eUt2RWN4bElHeVVR
UFVBblZBdWFnZkdvckdvSFBSZERRUFhZQ1dvbXZSR3JRZQorICAgIFBZQzJvcWZSUytoMWRBQjlp
bzVqZ05FeERtYU0yV0ZjaklkRllJbFlHaWJIRm1QbFdEVldqelZqSFZnM2RoVWJ3SjVoN3dnawor
ICAgIEFvdUFFK3dJWG9RUXdteUNrSkJIV0V4WVE2Z2w3Q08wRXJvSVZ3bURoREhDSnlLVHFFKzBK
WG9TK2NSNFlqcXhrRmhHckNidQorICAgIElSNGhuaVZlSnc0VFg1TklKQTdKa3VST0NpRWxrREpK
QzBsclNOdElMYVJUcEQ3U0VHbWNUQ2Jya0czSjN1UUlzb0NzSUplUgorICAgIHQ1QVBrRStTKzhu
RDVMY1VPc1dJNGt3Sm9pUlNwSlFTU2pWbFArVUVwWjh5UXBtZ3FsSE5xWjdVQ0txSU9wOWFTVzJn
ZGxBdgorICAgIFU0ZXBFelIxbWlYTm14WkR5NlF0bzlYUW1tbG5hZmRvTCtsMHVnbmRneDVGbDlD
WDBtdm9CK25uNllQMGR3d05oZzJEeDBoaQorICAgIEtCbHJHWHNacHhpM0dTK1pUS1lGMDVlWnlG
UXcxeklibVdlWUQ1aHZWVmdxOWlwOEZaSEtFcFU2bFZhVmZwWG5xbFJWYzFVLworICAgIDFYbXFD
MVNyVlErclhsWjlwa1pWczFEanFRblVGcXZWcVIxVnU2azJyczVTZDFLUFVNOVJYNk8rWC8yQytt
TU5zb2FGUnFDRworICAgIFNLTlVZN2ZHR1kwaEZzWXlaZkZZUXRaeVZnUHJMR3VZVFdKYnN2bnNU
SFlGK3h0MkwzdE1VME56cW1hc1pwRm1uZVp4elFFTworICAgIHhySGc4RG5abkVyT0ljNE56bnN0
QXkwL0xiSFdhcTFtclg2dE45cDYycjdhWXUxeTdSYnQ2OXJ2ZFhDZFFKMHNuZlU2YlRyMworICAg
IGRRbTZOcnBSdW9XNjIzWFA2ajdUWSt0NTZRbjF5dlVPNmQzUlIvVnQ5S1AxRitydjF1L1JIemN3
TkFnMmtCbHNNVGhqOE15UQorICAgIFkraHJtR200MGZDRTRhZ1J5Mmk2a2NSb285RkpveWU0SnU2
SForTTFlQmMrWnF4dkhHS3NOTjVsM0dzOFlXSnBNdHVreEtURgorICAgIDVMNHB6WlJybW1hNjBi
VFRkTXpNeUN6Y3JOaXN5ZXlPT2RXY2E1NWh2dG04Mi95TmhhVkZuTVZLaXphTHg1YmFsbnpMQlpa
TgorICAgIGx2ZXNtRlkrVm5sVzlWYlhyRW5XWE9zczYyM1dWMnhRRzFlYkRKczZtOHUycUsyYnJj
UjJtMjNmRk9JVWp5blNLZlZUYnRveAorICAgIDdQenNDdXlhN0FidE9mWmg5aVgyYmZiUEhjd2NF
aDNXTzNRN2ZISjBkY3gyYkhDODY2VGhOTU9weEtuRDZWZG5HMmVoYzUzegorICAgIE5SZW1TNURM
RXBkMmx4ZFRiYWVLcDI2ZmVzdVY1UnJ1dXRLMTAvV2ptN3ViM0szWmJkVGR6RDNGZmF2N1RTNmJH
OGxkd3ozdgorICAgIFFmVHc5MWppY2N6am5hZWJwOEx6a09jdlhuWmVXVjc3dlI1UHM1d21udFl3
YmNqYnhGdmd2Y3Q3WURvK1BXWDZ6dWtEUHNZKworICAgIEFwOTZuNGUrcHI0aTN6MitJMzdXZnBs
K0IveWUrenY2eS8yUCtML2hlZklXOFU0RllBSEJBZVVCdllFYWdiTURhd01mQkprRQorICAgIHBR
YzFCWTBGdXdZdkRENFZRZ3dKRFZrZmNwTnZ3QmZ5Ry9sak05eG5MSnJSRmNvSW5SVmFHL293ekNa
TUh0WVJqb2JQQ044UQorICAgIGZtK20rVXpwekxZSWlPQkhiSWk0SDJrWm1SZjVmUlFwS2pLcUx1
cFJ0Rk4wY1hUM0xOYXM1Rm43WjcyTzhZK3BqTGs3MjJxMgorICAgIGNuWm5yR3BzVW14ajdKdTRn
TGlxdUlGNGgvaEY4WmNTZEJNa0NlMko1TVRZeEQySjQzTUM1MnlhTTV6a21sU1dkR091NWR5aQor
ICAgIHVSZm02YzdMbm5jOFdUVlprSHc0aFpnU2w3SS81WU1nUWxBdkdFL2xwMjVOSFJQeWhKdUZU
MFcrb28yaVViRzN1RW84a3VhZAorICAgIFZwWDJPTjA3ZlVQNmFJWlBSblhHTXdsUFVpdDVrUm1T
dVNQelRWWkUxdDZzejlseDJTMDVsSnlVbktOU0RXbVd0Q3ZYTUxjbworICAgIHQwOW1LeXVURGVS
NTVtM0tHNU9IeXZma0kvbHo4OXNWYklWTTBhTzBVcTVRRGhaTUw2Z3JlRnNZVzNpNFNMMUlXdFF6
MzJiKworICAgIDZ2a2pDNElXZkwyUXNGQzRzTFBZdUhoWjhlQWl2MFc3RmlPTFV4ZDNMakZkVXJw
a2VHbncwbjNMYU11eWx2MVE0bGhTVmZKcQorICAgIGVkenlqbEtEMHFXbFF5dUNWelNWcVpUSnky
NnU5RnE1WXhWaGxXUlY3MnFYMVZ0V2Z5b1hsVitzY0t5b3J2aXdScmptNGxkTworICAgIFg5Vjg5
WGx0MnRyZVNyZks3ZXRJNjZUcmJxejNXYit2U3IxcVFkWFFodkFOclJ2eGplVWJYMjFLM25TaGVt
cjFqczIwemNyTgorICAgIEF6VmhOZTFiekxhczIvS2hOcVAyZXAxL1hjdFcvYTJydDc3Wkp0cld2
OTEzZS9NT2d4MFZPOTd2bE95OHRTdDRWMnU5UlgzMQorICAgIGJ0THVndDJQR21JYnVyL21mdDI0
UjNkUHhaNlBlNlY3Qi9aRjcrdHFkRzlzM0srL3Y3SUpiVkkyalI1SU9uRGxtNEJ2MnB2dAorICAg
IG1uZTFjRm9xRHNKQjVjRW4zNlo4ZStOUTZLSE93OXpEemQrWmY3ZjFDT3RJZVN2U09yOTFyQzJq
YmFBOW9iM3Y2SXlqblIxZQorICAgIEhVZSt0LzkrN3pIalkzWEhOWTlYbnFDZEtEM3grZVNDaytP
blpLZWVuVTQvUGRTWjNIbjNUUHlaYTExUlhiMW5ROCtlUHhkMAorICAgIDdreTNYL2ZKODk3bmox
M3d2SEQwSXZkaTJ5VzNTNjA5cmoxSGZuRDk0VWl2VzIvclpmZkw3VmM4cm5UMFRlczcwZS9UZi9w
cQorICAgIHdOVnoxL2pYTGwyZmViM3Z4dXdidDI0bTNSeTRKYnIxK0hiMjdSZDNDdTVNM0YxNmoz
aXYvTDdhL2VvSCtnL3FmN1Qrc1dYQQorICAgIGJlRDRZTUJnejhOWkQrOE9DWWVlL3BULzA0Zmgw
a2ZNUjlValJpT05qNTBmSHhzTkdyM3laTTZUNGFleXB4UFB5bjVXLzNucgorICAgIGM2dm4zLzNp
KzB2UFdQelk4QXY1aTgrL3JubXA4M0x2cTZtdk9zY2p4eCs4em5rOThhYjhyYzdiZmUrNDc3cmZ4
NzBmbVNqOAorICAgIFFQNVE4OUg2WThlbjBFLzNQdWQ4L3Z3djk0VHorNEE1SlJFQUFBQUpjRWha
Y3dBQUN4TUFBQXNUQVFDYW5CZ0FBQUFIZEVsTgorICAgIFJRZmJDaFVMRmlTMWxFZW5BQUFBR1hS
RldIUkRiMjF0Wlc1MEFFTnlaV0YwWldRZ2QybDBhQ0JIU1UxUVY0RU9Gd0FBQUl4SgorICAgIFJF
RlVlTnJ0MDBFUmdDQVVSVkUrRWN4aUFETlFpeVpXY1c4SDkreWhCdjQ1dDhHYk15L0dkNWJVUFcv
UFBiQVdJUlJDSVVRbworICAgIGhFSW9oQWlGVUFpRkVLRVFDcUVRSWhSQ0lSUkNoRUlvaEVLSVVB
aUZVQWdSNm5mRk5aTXZQTzdtaFVJb2hFS0lVQWlGVUFnUgorICAgIENxRVFDaUZDSVJSQ0lVUW9o
RUlvaEFpRlVBaUZFS0VRQ3FFUUl0Um1MZFVUQndFd2F2VTJBQUFBQUVsRlRrU3VRbUNDCisgICAg
Ij48L2Rpdj4KKyAgICA8ZGl2PlRlc3QgT3V0cHV0PC9kaXY+CisgICAgPGRpdiBpZD0nb3V0cHV0
Jz48L2Rpdj4KKyAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112450</attachid>
            <date>2011-10-25 22:40:34 -0700</date>
            <delta_ts>2011-10-26 00:51:15 -0700</delta_ts>
            <desc>Test updated to pass on all platforms.</desc>
            <filename>bug-66920-20111026164032.patch</filename>
            <type>text/plain</type>
            <size>44919</size>
            <attacher name="Ben Wells">benwells</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTgyMTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5NTBmOGFhYWUwNmJlZmU0
YzFkMWM2OGVkMGMxNGZhMDFlNTY2Zjk5Li5iZTQ5YmMwNjlmZWYzZjc2OTZiODA1Zjc0NmNiNGYw
YzQ4MjE5OGI2IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMTAtMjMgIEJlbiBX
ZWxscyAgPGJlbndlbGxzQGNocm9taXVtLm9yZz4KKworICAgICAgICBDYW52YXMgZHJhd0ltYWdl
IHdpdGggU291cmNlSW4sIERlc3RpbmF0aW9uSW4sIFNvdXJjZU91dCwgRGVzdGluYXRpb25BdG9w
IGFuZCBDb3B5IGhhdmUgZXJyb3JzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NjkyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRt
bAorCisgICAgICAgIFVzZSB0aGUgc2FtZSBtZXRob2QgYXMgZmlsbHMgdG8gaGFuZGxlIGNvbXBv
c2l0ZWQgZHJhd0ltYWdlIGNhbGxzIHRoYXQgd2lsbCBhZmZlY3QgdGhlIHdob2xlCisgICAgICAg
IGNhbnZhcy4gVG8gZG8gdGhpcyBjb2RlIHVzZWQgd2hlbiBkb2luZyBmaWxscyBoYXMgYmVlbiBm
YWN0b3JlZCBpbnRvIHNlcGVyYXRlIGZ1bmN0aW9ucyBhbmQKKyAgICAgICAgdXNlZCBieSBkcmF3
SW1hZ2UuIFNvbWUgZnVuY3Rpb25zIHVzZWQgdG8gZG8gdGhlc2UgdHlwZXMgb2Ygb3BlcmF0aW9u
cyBoYXZlIGFsc28gYmVlbiByZW5hbWVkLgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJELmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzRnVsbENhbnZhc0Nv
bXBvc2l0ZU1vZGUpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpmaWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Zmls
bFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3
SW1hZ2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjYWxj
dWxhdGVDb21wb3NpdGluZ0J1ZmZlclJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEOjpjcmVhdGVDb21wb3NpdGluZ0J1ZmZlcik6CisgICAgICAgIChXZWJD
b3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNvbXBvc2l0ZUJ1ZmZlcik6CisgICAgICAg
IChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZ1bGxDYW52YXNDb21wb3NpdGVk
RHJhd0ltYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6
ZnVsbENhbnZhc0NvbXBvc2l0ZWRGaWxsKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaDoKKwogMjAxMS0xMC0yMyAgTm9lbCBHb3Jkb24gIDxub2VsLmdv
cmRvbkBnbWFpbC5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgR2VvbG9jYXRpb25T
ZXJ2aWNlR3RrLntoLGNwcH0gZnJvbSB0aGUgZ3lwIHByb2plY3RzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAppbmRl
eCA0NmJlZDMxMWY0Yzk0NTU0MDBlNGUyZWFjYmM0MTI0MDkzZTI3NjY4Li4zMGZmYWJjZmE5NzI3
NjZmM2I1YmUzZTM3N2U3M2NmMzc4NjM1ODk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5jcHAKQEAgLTkyOSw2ICs5
MjksMTQgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNsZWFyUGF0aEZvckRhc2hi
b2FyZEJhY2t3YXJkQ29tcGF0aWJpbGl0eU1vZGUoKQogfQogI2VuZGlmCiAKK3N0YXRpYyBib29s
IGlzRnVsbENhbnZhc0NvbXBvc2l0ZU1vZGUoQ29tcG9zaXRlT3BlcmF0b3Igb3ApCit7CisgICAg
Ly8gU2VlIDQuOC4xMS4xLjMgQ29tcG9zaXRpbmcKKyAgICAvLyBDb21wb3NpdGVTb3VyY2VBdG9w
IGFuZCBDb21wb3NpdGVEZXN0aW5hdGlvbk91dCBhcmUgbm90IGxpc3RlZCBoZXJlIGFzIHRoZSBw
bGF0Zm9ybXMgYWxyZWFkeQorICAgIC8vIGltcGxlbWVudCB0aGUgc3BlY2lmaWNhdGlvbidzIGJl
aGF2aW9yLgorICAgIHJldHVybiBvcCA9PSBDb21wb3NpdGVTb3VyY2VJbiB8fCBvcCA9PSBDb21w
b3NpdGVTb3VyY2VPdXQgfHwgb3AgPT0gQ29tcG9zaXRlRGVzdGluYXRpb25JbiB8fCBvcCA9PSBD
b21wb3NpdGVEZXN0aW5hdGlvbkF0b3A7Cit9CisKIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEOjpmaWxsKCkKIHsKICAgICBHcmFwaGljc0NvbnRleHQqIGMgPSBkcmF3aW5nQ29udGV4dCgp
OwpAQCAtOTM4LDggKzk0Niw4IEBAIHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpmaWxs
KCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFtX3BhdGguaXNFbXB0eSgpKSB7Ci0gICAg
ICAgIGlmIChzaG91bGREaXNwbGF5VHJhbnNwYXJlbmN5RWxzZXdoZXJlKCkpCi0gICAgICAgICAg
ICBmaWxsQW5kRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZShtX3BhdGgpOworICAgICAgICBp
ZiAoaXNGdWxsQ2FudmFzQ29tcG9zaXRlTW9kZShzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlKSkK
KyAgICAgICAgICAgIGZ1bGxDYW52YXNDb21wb3NpdGVkRmlsbChtX3BhdGgpOwogICAgICAgICBl
bHNlIGlmIChzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlID09IENvbXBvc2l0ZUNvcHkpIHsKICAg
ICAgICAgICAgIGNsZWFyQ2FudmFzKCk7CiAgICAgICAgICAgICBjLT5maWxsUGF0aChtX3BhdGgp
OwpAQCAtMTA0NCw4ICsxMDUyLDggQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZp
bGxSZWN0KGZsb2F0IHgsIGZsb2F0IHksIGZsb2F0IHdpZHRoLCBmbG9hdCBoZWkKIAogICAgIEZs
b2F0UmVjdCByZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOwogCi0gICAgaWYgKHNob3VsZERpc3Bs
YXlUcmFuc3BhcmVuY3lFbHNld2hlcmUoKSkKLSAgICAgICAgZmlsbEFuZERpc3BsYXlUcmFuc3Bh
cmVuY3lFbHNld2hlcmUocmVjdCk7CisgICAgaWYgKGlzRnVsbENhbnZhc0NvbXBvc2l0ZU1vZGUo
c3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSkpCisgICAgICAgIGZ1bGxDYW52YXNDb21wb3NpdGVk
RmlsbChyZWN0KTsKICAgICBlbHNlIGlmIChzdGF0ZSgpLm1fZ2xvYmFsQ29tcG9zaXRlID09IENv
bXBvc2l0ZUNvcHkpIHsKICAgICAgICAgY2xlYXJDYW52YXMoKTsKICAgICAgICAgYy0+ZmlsbFJl
Y3QocmVjdCk7CkBAIC0xMzIyLDggKzEzMzAsMTcgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQ6OmRyYXdJbWFnZShIVE1MSW1hZ2VFbGVtZW50KiBpbWFnZSwgY29uc3QgRmxvYXRSZWMK
IAogICAgIGNoZWNrT3JpZ2luKGltYWdlKTsKIAotICAgIGMtPmRyYXdJbWFnZShjYWNoZWRJbWFn
ZS0+aW1hZ2VGb3JSZW5kZXJlcihpbWFnZS0+cmVuZGVyZXIoKSksIENvbG9yU3BhY2VEZXZpY2VS
R0IsIG5vcm1hbGl6ZWREc3RSZWN0LCBub3JtYWxpemVkU3JjUmVjdCwgb3ApOwotICAgIGRpZERy
YXcobm9ybWFsaXplZERzdFJlY3QpOworICAgIGlmIChpc0Z1bGxDYW52YXNDb21wb3NpdGVNb2Rl
KG9wKSkgeworICAgICAgICBmdWxsQ2FudmFzQ29tcG9zaXRlZERyYXdJbWFnZShjYWNoZWRJbWFn
ZS0+aW1hZ2VGb3JSZW5kZXJlcihpbWFnZS0+cmVuZGVyZXIoKSksIENvbG9yU3BhY2VEZXZpY2VS
R0IsIG5vcm1hbGl6ZWREc3RSZWN0LCBub3JtYWxpemVkU3JjUmVjdCwgb3ApOworICAgICAgICBk
aWREcmF3KEZsb2F0UmVjdChGbG9hdFBvaW50Ojp6ZXJvKCksIGNhbnZhcygpLT5zaXplKCkpLCBD
YW52YXNEaWREcmF3QXBwbHlDbGlwKTsKKyAgICB9IGVsc2UgaWYgKG9wID09IENvbXBvc2l0ZUNv
cHkpIHsKKyAgICAgICAgY2xlYXJDYW52YXMoKTsKKyAgICAgICAgYy0+ZHJhd0ltYWdlKGNhY2hl
ZEltYWdlLT5pbWFnZUZvclJlbmRlcmVyKGltYWdlLT5yZW5kZXJlcigpKSwgQ29sb3JTcGFjZURl
dmljZVJHQiwgbm9ybWFsaXplZERzdFJlY3QsIG5vcm1hbGl6ZWRTcmNSZWN0LCBvcCk7CisgICAg
ICAgIGRpZERyYXcoRmxvYXRSZWN0KEZsb2F0UG9pbnQ6Onplcm8oKSwgY2FudmFzKCktPnNpemUo
KSksIENhbnZhc0RpZERyYXdBcHBseUNsaXApOworICAgIH0gZWxzZSB7CisgICAgICAgIGMtPmRy
YXdJbWFnZShjYWNoZWRJbWFnZS0+aW1hZ2VGb3JSZW5kZXJlcihpbWFnZS0+cmVuZGVyZXIoKSks
IENvbG9yU3BhY2VEZXZpY2VSR0IsIG5vcm1hbGl6ZWREc3RSZWN0LCBub3JtYWxpemVkU3JjUmVj
dCwgb3ApOworICAgICAgICBkaWREcmF3KG5vcm1hbGl6ZWREc3RSZWN0KTsKKyAgICB9CiB9CiAK
IHZvaWQgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpkcmF3SW1hZ2UoSFRNTENhbnZhc0VsZW1l
bnQqIGNhbnZhcywgZmxvYXQgeCwgZmxvYXQgeSwgRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC0xNTEx
LDE1ICsxNTI4LDYgQEAgdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmNsZWFyQ2FudmFz
KCkKICAgICBjLT5yZXN0b3JlKCk7CiB9CiAKLWJvb2wgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpzaG91bGREaXNwbGF5VHJhbnNwYXJlbmN5RWxzZXdoZXJlKCkgY29uc3QKLXsKLSAgICAvLyBT
ZWUgNC44LjExLjEuMyBDb21wb3NpdGluZwotICAgIC8vIENvbXBvc2l0ZVNvdXJjZUF0b3AgYW5k
IENvbXBvc2l0ZURlc3RpbmF0aW9uT3V0IGFyZSBub3QgbGlzdGVkIGhlcmUgYXMgdGhlIHBsYXRm
b3JtcyBhbHJlYWR5Ci0gICAgLy8gaW1wbGVtZW50IHRoZSBzcGVjaWZpY2F0aW9uJ3MgYmVoYXZp
b3IuCi0gICAgcmV0dXJuIHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUgPT0gQ29tcG9zaXRlU291
cmNlSW4gfHwgc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9PSBDb21wb3NpdGVTb3VyY2VPdXQK
LSAgICAgICAgICAgfHwgc3RhdGUoKS5tX2dsb2JhbENvbXBvc2l0ZSA9PSBDb21wb3NpdGVEZXN0
aW5hdGlvbkluIHx8IHN0YXRlKCkubV9nbG9iYWxDb21wb3NpdGUgPT0gQ29tcG9zaXRlRGVzdGlu
YXRpb25BdG9wOwotfQotCiBQYXRoIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6dHJhbnNmb3Jt
QXJlYVRvRGV2aWNlKGNvbnN0IFBhdGgmIHBhdGgpIGNvbnN0CiB7CiAgICAgUGF0aCB0cmFuc2Zv
cm1lZChwYXRoKTsKQEAgLTE1MzUsMzEgKzE1NDMsMjkgQEAgUGF0aCBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OnRyYW5zZm9ybUFyZWFUb0RldmljZShjb25zdCBGbG9hdFJlY3QmIHJlY3QpIGNv
bnMKICAgICByZXR1cm4gdHJhbnNmb3JtQXJlYVRvRGV2aWNlKHBhdGgpOwogfQogCi10ZW1wbGF0
ZTxjbGFzcyBUPiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6ZmlsbEFuZERpc3BsYXlU
cmFuc3BhcmVuY3lFbHNld2hlcmUoY29uc3QgVCYgYXJlYSkKK3RlbXBsYXRlPGNsYXNzIFQ+IElu
dFJlY3QgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjpjYWxjdWxhdGVDb21wb3NpdGluZ0J1ZmZl
clJlY3QoY29uc3QgVCYgYXJlYSwgSW50U2l6ZSogY3JvcHBlZE9mZnNldCkKIHsKLSAgICBBU1NF
UlQoc2hvdWxkRGlzcGxheVRyYW5zcGFyZW5jeUVsc2V3aGVyZSgpKTsKLQogICAgIEludFJlY3Qg
Y2FudmFzUmVjdCgwLCAwLCBjYW52YXMoKS0+d2lkdGgoKSwgY2FudmFzKCktPmhlaWdodCgpKTsK
ICAgICBjYW52YXNSZWN0ID0gY2FudmFzKCktPmJhc2VUcmFuc2Zvcm0oKS5tYXBSZWN0KGNhbnZh
c1JlY3QpOwogICAgIFBhdGggcGF0aCA9IHRyYW5zZm9ybUFyZWFUb0RldmljZShhcmVhKTsKICAg
ICBJbnRSZWN0IGJ1ZmZlclJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KHBhdGguYm91bmRpbmdSZWN0
KCkpOworICAgIEludFBvaW50IG9yaWdpbmFsTG9jYXRpb24gPSBidWZmZXJSZWN0LmxvY2F0aW9u
KCk7CiAgICAgYnVmZmVyUmVjdC5pbnRlcnNlY3QoY2FudmFzUmVjdCk7CisgICAgaWYgKGNyb3Bw
ZWRPZmZzZXQpCisgICAgICAgICpjcm9wcGVkT2Zmc2V0ID0gb3JpZ2luYWxMb2NhdGlvbiAtIGJ1
ZmZlclJlY3QubG9jYXRpb24oKTsKKyAgICByZXR1cm4gYnVmZmVyUmVjdDsKK30KIAotICAgIGlm
IChidWZmZXJSZWN0LmlzRW1wdHkoKSkgewotICAgICAgICBjbGVhckNhbnZhcygpOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgcGF0aC50cmFuc2xhdGUoRmxvYXRTaXplKC1idWZmZXJS
ZWN0LngoKSwgLWJ1ZmZlclJlY3QueSgpKSk7Ci0KK1Bhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRDo6Y3JlYXRlQ29tcG9zaXRpbmdCdWZmZXIoY29uc3QgSW50
UmVjdCYgYnVmZmVyUmVjdCkKK3sKICAgICBSZW5kZXJpbmdNb2RlIHJlbmRlck1vZGUgPSBpc0Fj
Y2VsZXJhdGVkKCkgPyBBY2NlbGVyYXRlZCA6IFVuYWNjZWxlcmF0ZWQ7Ci0gICAgT3duUHRyPElt
YWdlQnVmZmVyPiBidWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGJ1ZmZlclJlY3Quc2l6ZSgp
LCBDb2xvclNwYWNlRGV2aWNlUkdCLCByZW5kZXJNb2RlKTsKLSAgICBpZiAoIWJ1ZmZlcikKLSAg
ICAgICAgcmV0dXJuOworICAgIHJldHVybiBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGJ1ZmZlclJlY3Qu
c2l6ZSgpLCBDb2xvclNwYWNlRGV2aWNlUkdCLCByZW5kZXJNb2RlKTsKK30KIAotICAgIGJ1ZmZl
ci0+Y29udGV4dCgpLT5zZXRDb21wb3NpdGVPcGVyYXRpb24oQ29tcG9zaXRlU291cmNlT3Zlcik7
Ci0gICAgc3RhdGUoKS5tX2ZpbGxTdHlsZS0+YXBwbHlGaWxsQ29sb3IoYnVmZmVyLT5jb250ZXh0
KCkpOwotICAgIGJ1ZmZlci0+Y29udGV4dCgpLT5maWxsUGF0aChwYXRoKTsKK3ZvaWQgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEOjpjb21wb3NpdGVCdWZmZXIoSW1hZ2VCdWZmZXIqIGJ1ZmZlciwg
Y29uc3QgSW50UmVjdCYgYnVmZmVyUmVjdCwgQ29tcG9zaXRlT3BlcmF0b3Igb3ApCit7CisgICAg
SW50UmVjdCBjYW52YXNSZWN0KDAsIDAsIGNhbnZhcygpLT53aWR0aCgpLCBjYW52YXMoKS0+aGVp
Z2h0KCkpOworICAgIGNhbnZhc1JlY3QgPSBjYW52YXMoKS0+YmFzZVRyYW5zZm9ybSgpLm1hcFJl
Y3QoY2FudmFzUmVjdCk7CiAKICAgICBHcmFwaGljc0NvbnRleHQqIGMgPSBkcmF3aW5nQ29udGV4
dCgpOwogICAgIGlmICghYykKQEAgLTE1NjcsMTYgKzE1NzMsNzIgQEAgdGVtcGxhdGU8Y2xhc3Mg
VD4gdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmZpbGxBbmREaXNwbGF5VHJhbnNwYXJl
bmN5RWxzZXcKIAogICAgIGMtPnNhdmUoKTsKICAgICBjLT5zZXRDVE0oQWZmaW5lVHJhbnNmb3Jt
KCkpOworICAgIGMtPnNldENvbXBvc2l0ZU9wZXJhdGlvbihvcCk7CiAKICAgICBjLT5zYXZlKCk7
CiAgICAgYy0+Y2xpcE91dChidWZmZXJSZWN0KTsKICAgICBjLT5jbGVhclJlY3QoY2FudmFzUmVj
dCk7CiAgICAgYy0+cmVzdG9yZSgpOwogCi0gICAgYy0+ZHJhd0ltYWdlQnVmZmVyKGJ1ZmZlci5n
ZXQoKSwgQ29sb3JTcGFjZURldmljZVJHQiwgYnVmZmVyUmVjdC5sb2NhdGlvbigpLCBzdGF0ZSgp
Lm1fZ2xvYmFsQ29tcG9zaXRlKTsKKyAgICBjLT5kcmF3SW1hZ2VCdWZmZXIoYnVmZmVyLCBDb2xv
clNwYWNlRGV2aWNlUkdCLCBidWZmZXJSZWN0LmxvY2F0aW9uKCksIHN0YXRlKCkubV9nbG9iYWxD
b21wb3NpdGUpOwogICAgIGMtPnJlc3RvcmUoKTsKIH0KIAordm9pZCBDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ6OmZ1bGxDYW52YXNDb21wb3NpdGVkRHJhd0ltYWdlKEltYWdlKiBpbWFnZSwgQ29s
b3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdCwgY29uc3QgRmxv
YXRSZWN0JiBzcmMsIENvbXBvc2l0ZU9wZXJhdG9yIG9wKQoreworICAgIEFTU0VSVChpc0Z1bGxD
YW52YXNDb21wb3NpdGVNb2RlKG9wKSk7CisKKyAgICBJbnRTaXplIGNyb3BwZWRPZmZzZXQ7Cisg
ICAgSW50UmVjdCBidWZmZXJSZWN0ID0gY2FsY3VsYXRlQ29tcG9zaXRpbmdCdWZmZXJSZWN0KGRl
c3QsICZjcm9wcGVkT2Zmc2V0KTsKKyAgICBpZiAoYnVmZmVyUmVjdC5pc0VtcHR5KCkpIHsKKyAg
ICAgICAgY2xlYXJDYW52YXMoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIE93blB0
cjxJbWFnZUJ1ZmZlcj4gYnVmZmVyID0gY3JlYXRlQ29tcG9zaXRpbmdCdWZmZXIoYnVmZmVyUmVj
dCk7CisgICAgaWYgKCFidWZmZXIpCisgICAgICAgIHJldHVybjsKKworICAgIEdyYXBoaWNzQ29u
dGV4dCogYyA9IGRyYXdpbmdDb250ZXh0KCk7CisgICAgaWYgKCFjKQorICAgICAgICByZXR1cm47
CisKKyAgICBGbG9hdFJlY3QgYWRqdXN0ZWREZXN0ID0gZGVzdDsKKyAgICBhZGp1c3RlZERlc3Qu
c2V0TG9jYXRpb24oRmxvYXRQb2ludCgwLCAwKSk7CisgICAgQWZmaW5lVHJhbnNmb3JtIGVmZmVj
dGl2ZVRyYW5zZm9ybSA9IGMtPmdldENUTSgpOworICAgIEludFJlY3QgdHJhbnNmb3JtZWRBZGp1
c3RlZFJlY3QgPSBlbmNsb3NpbmdJbnRSZWN0KGVmZmVjdGl2ZVRyYW5zZm9ybS5tYXBSZWN0KGFk
anVzdGVkRGVzdCkpOworICAgIGJ1ZmZlci0+Y29udGV4dCgpLT50cmFuc2xhdGUoLXRyYW5zZm9y
bWVkQWRqdXN0ZWRSZWN0LmxvY2F0aW9uKCkueCgpLCAtdHJhbnNmb3JtZWRBZGp1c3RlZFJlY3Qu
bG9jYXRpb24oKS55KCkpOworICAgIGJ1ZmZlci0+Y29udGV4dCgpLT50cmFuc2xhdGUoY3JvcHBl
ZE9mZnNldC53aWR0aCgpLCBjcm9wcGVkT2Zmc2V0LmhlaWdodCgpKTsKKyAgICBidWZmZXItPmNv
bnRleHQoKS0+Y29uY2F0Q1RNKGVmZmVjdGl2ZVRyYW5zZm9ybSk7CisgICAgYnVmZmVyLT5jb250
ZXh0KCktPmRyYXdJbWFnZShpbWFnZSwgc3R5bGVDb2xvclNwYWNlLCBhZGp1c3RlZERlc3QsIHNy
YywgQ29tcG9zaXRlU291cmNlT3Zlcik7CisKKyAgICBjb21wb3NpdGVCdWZmZXIoYnVmZmVyLmdl
dCgpLCBidWZmZXJSZWN0LCBvcCk7Cit9CisKK3RlbXBsYXRlPGNsYXNzIFQ+IHZvaWQgQ2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEOjpmdWxsQ2FudmFzQ29tcG9zaXRlZEZpbGwoY29uc3QgVCYgYXJl
YSkKK3sKKyAgICBBU1NFUlQoaXNGdWxsQ2FudmFzQ29tcG9zaXRlTW9kZShzdGF0ZSgpLm1fZ2xv
YmFsQ29tcG9zaXRlKSk7CisKKyAgICBJbnRSZWN0IGJ1ZmZlclJlY3QgPSBjYWxjdWxhdGVDb21w
b3NpdGluZ0J1ZmZlclJlY3QoYXJlYSwgMCk7CisgICAgaWYgKGJ1ZmZlclJlY3QuaXNFbXB0eSgp
KSB7CisgICAgICAgIGNsZWFyQ2FudmFzKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBPd25QdHI8SW1hZ2VCdWZmZXI+IGJ1ZmZlciA9IGNyZWF0ZUNvbXBvc2l0aW5nQnVmZmVyKGJ1
ZmZlclJlY3QpOworICAgIGlmICghYnVmZmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBQYXRo
IHBhdGggPSB0cmFuc2Zvcm1BcmVhVG9EZXZpY2UoYXJlYSk7CisgICAgcGF0aC50cmFuc2xhdGUo
RmxvYXRTaXplKC1idWZmZXJSZWN0LngoKSwgLWJ1ZmZlclJlY3QueSgpKSk7CisKKyAgICBidWZm
ZXItPmNvbnRleHQoKS0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZVNvdXJjZU92ZXIp
OworICAgIHN0YXRlKCkubV9maWxsU3R5bGUtPmFwcGx5RmlsbENvbG9yKGJ1ZmZlci0+Y29udGV4
dCgpKTsKKyAgICBidWZmZXItPmNvbnRleHQoKS0+ZmlsbFBhdGgocGF0aCk7CisKKyAgICBjb21w
b3NpdGVCdWZmZXIoYnVmZmVyLmdldCgpLCBidWZmZXJSZWN0LCBzdGF0ZSgpLm1fZ2xvYmFsQ29t
cG9zaXRlKTsKK30KKwogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OnByZXBhcmVHcmFk
aWVudEZvckRhc2hib2FyZChDYW52YXNHcmFkaWVudCogZ3JhZGllbnQpIGNvbnN0CiB7CiAjaWYg
RU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuaAppbmRleCBiZjBlY2Y0YmEwZTRkYjg4
MWYzY2I3YTRlOTI5N2ZhY2U0ZmFkYjAyLi40ZjU3MjQxMGE1YTc5YjJhM2U3MTM0NzU3MjE0ZjYx
Yjc1NjNiNTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkFmZmlu
ZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkNhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIKICNpbmNs
dWRlICJDb2xvci5oIgorI2luY2x1ZGUgIkNvbG9yU3BhY2UuaCIKICNpbmNsdWRlICJEYXNoQXJy
YXkuaCIKICNpbmNsdWRlICJGbG9hdFNpemUuaCIKICNpbmNsdWRlICJGb250LmgiCkBAIC0yOTgs
OCArMjk5LDEzIEBAIHByaXZhdGU6CiAgICAgdm9pZCBjbGVhckNhbnZhcygpOwogICAgIFBhdGgg
dHJhbnNmb3JtQXJlYVRvRGV2aWNlKGNvbnN0IFBhdGgmKSBjb25zdDsKICAgICBQYXRoIHRyYW5z
Zm9ybUFyZWFUb0RldmljZShjb25zdCBGbG9hdFJlY3QmKSBjb25zdDsKLSAgICBib29sIHNob3Vs
ZERpc3BsYXlUcmFuc3BhcmVuY3lFbHNld2hlcmUoKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFz
cyBUPiB2b2lkIGZpbGxBbmREaXNwbGF5VHJhbnNwYXJlbmN5RWxzZXdoZXJlKGNvbnN0IFQmIGFy
ZWEpOworCisgICAgdGVtcGxhdGU8Y2xhc3MgVD4gSW50UmVjdCBjYWxjdWxhdGVDb21wb3NpdGlu
Z0J1ZmZlclJlY3QoY29uc3QgVCYsIEludFNpemUqKTsKKyAgICBQYXNzT3duUHRyPEltYWdlQnVm
ZmVyPiBjcmVhdGVDb21wb3NpdGluZ0J1ZmZlcihjb25zdCBJbnRSZWN0Jik7CisgICAgdm9pZCBj
b21wb3NpdGVCdWZmZXIoSW1hZ2VCdWZmZXIqLCBjb25zdCBJbnRSZWN0JiwgQ29tcG9zaXRlT3Bl
cmF0b3IpOworCisgICAgdGVtcGxhdGU8Y2xhc3MgVD4gdm9pZCBmdWxsQ2FudmFzQ29tcG9zaXRl
ZEZpbGwoY29uc3QgVCYpOworICAgIHZvaWQgZnVsbENhbnZhc0NvbXBvc2l0ZWREcmF3SW1hZ2Uo
SW1hZ2UqLCBDb2xvclNwYWNlLCBjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBGbG9hdFJlY3QmLCBD
b21wb3NpdGVPcGVyYXRvcik7CiAKICAgICB2b2lkIHByZXBhcmVHcmFkaWVudEZvckRhc2hib2Fy
ZChDYW52YXNHcmFkaWVudCogZ3JhZGllbnQpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2M2NzVmZWE0NWEx
YWNiYjk5OGMyN2M5MzYxNmJhMjZjNzIwZWZkMi4uNjQ3NWQyODUxMjA0YzcxMGUzYjEwYzgzNDgz
N2Q0OGFhYWY1M2ZmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDExLTEwLTIzICBCZW4gV2Vs
bHMgIDxiZW53ZWxsc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2FudmFzIGRyYXdJbWFnZSB3
aXRoIFNvdXJjZUluLCBEZXN0aW5hdGlvbkluLCBTb3VyY2VPdXQsIERlc3RpbmF0aW9uQXRvcCBh
bmQgQ29weSBoYXZlIGVycm9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjY5MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWltYWdl
Lmh0bWw6IEFkZGVkLgorCiAyMDExLTEwLTIzICBZdXpvIEZ1amlzaGltYSAgPHl1em9AZ29vZ2xl
LmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIFRlc3QgZXhwZWN0YXRpb24gY2hhbmdlIGZvciAi
cjk4MTgzIGNhdXNlcyA0IHNub3dsZW9wYXJkIHRlc3RzIHRvIGZhaWwiLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1pbWFnZS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtY29tcG9zaXRlLWltYWdlLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi42YTg0YjllZTYzYmYyZjFhZGVlNjFiZDhjMmVhNTk3OGIzZWE3
M2M5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWNv
bXBvc2l0ZS1pbWFnZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNzAgQEAKK1Rlc3QgUmVzdWx0
cworc29saWQgb24gc29saWQJYWxwaGEgb24gc29saWQJc29saWQgb24gYWxwaGEJYWxwaGEgb24g
YWxwaGEKK3NvdXJjZS1vdmVyCQkJCQorc291cmNlLWluCQkJCQorc291cmNlLW91dAkJCQkKK3Nv
dXJjZS1hdG9wCQkJCQorZGVzdGluYXRpb24tb3ZlcgkJCQkKK2Rlc3RpbmF0aW9uLWluCQkJCQor
ZGVzdGluYXRpb24tb3V0CQkJCQorZGVzdGluYXRpb24tYXRvcAkJCQkKK2xpZ2h0ZXIJCQkJCitj
b3B5CQkJCQoreG9yCQkJCQorVGVzdCBJbWFnZQorCitUZXN0IE91dHB1dAorTW9kZTogc291cmNl
LW92ZXIKKworVGVzdDogc29saWQgb24gc29saWQKKworUEFTUworVGVzdDogYWxwaGEgb24gc29s
aWQKKworUEFTUworVGVzdDogc29saWQgb24gYWxwaGEKKworUEFTUworVGVzdDogYWxwaGEgb24g
YWxwaGEKKworUEFTUworTW9kZTogc291cmNlLWluCisKK1Rlc3Q6IHNvbGlkIG9uIHNvbGlkCisK
K1BBU1MKK1Rlc3Q6IGFscGhhIG9uIHNvbGlkCisKK1BBU1MKK1Rlc3Q6IHNvbGlkIG9uIGFscGhh
CisKK1BBU1MKK1Rlc3Q6IGFscGhhIG9uIGFscGhhCisKK1BBU1MKK01vZGU6IHNvdXJjZS1vdXQK
KworVGVzdDogc29saWQgb24gc29saWQKKworUEFTUworVGVzdDogYWxwaGEgb24gc29saWQKKwor
UEFTUworVGVzdDogc29saWQgb24gYWxwaGEKKworUEFTUworVGVzdDogYWxwaGEgb24gYWxwaGEK
KworUEFTUworTW9kZTogc291cmNlLWF0b3AKKworVGVzdDogc29saWQgb24gc29saWQKKworUEFT
UworVGVzdDogYWxwaGEgb24gc29saWQKKworUEFTUworVGVzdDogc29saWQgb24gYWxwaGEKKwor
UEFTUworVGVzdDogYWxwaGEgb24gYWxwaGEKKworUEFTUworTW9kZTogZGVzdGluYXRpb24tb3Zl
cgorCitUZXN0OiBzb2xpZCBvbiBzb2xpZAorCitQQVNTCitUZXN0OiBhbHBoYSBvbiBzb2xpZAor
CitQQVNTCitUZXN0OiBzb2xpZCBvbiBhbHBoYQorCitQQVNTCitUZXN0OiBhbHBoYSBvbiBhbHBo
YQorCitQQVNTCitNb2RlOiBkZXN0aW5hdGlvbi1pbgorCitUZXN0OiBzb2xpZCBvbiBzb2xpZAor
CitQQVNTCitUZXN0OiBhbHBoYSBvbiBzb2xpZAorCitQQVNTCitUZXN0OiBzb2xpZCBvbiBhbHBo
YQorCitQQVNTCitUZXN0OiBhbHBoYSBvbiBhbHBoYQorCitQQVNTCitNb2RlOiBkZXN0aW5hdGlv
bi1vdXQKKworVGVzdDogc29saWQgb24gc29saWQKKworUEFTUworVGVzdDogYWxwaGEgb24gc29s
aWQKKworUEFTUworVGVzdDogc29saWQgb24gYWxwaGEKKworUEFTUworVGVzdDogYWxwaGEgb24g
YWxwaGEKKworUEFTUworTW9kZTogZGVzdGluYXRpb24tYXRvcAorCitUZXN0OiBzb2xpZCBvbiBz
b2xpZAorCitQQVNTCitUZXN0OiBhbHBoYSBvbiBzb2xpZAorCitQQVNTCitUZXN0OiBzb2xpZCBv
biBhbHBoYQorCitQQVNTCitUZXN0OiBhbHBoYSBvbiBhbHBoYQorCitQQVNTCitNb2RlOiBsaWdo
dGVyCisKK1Rlc3Q6IHNvbGlkIG9uIHNvbGlkCisKK1BBU1MKK1Rlc3Q6IGFscGhhIG9uIHNvbGlk
CisKK1BBU1MKK1Rlc3Q6IHNvbGlkIG9uIGFscGhhCisKK1BBU1MKK1Rlc3Q6IGFscGhhIG9uIGFs
cGhhCisKK1BBU1MKK01vZGU6IGNvcHkKKworVGVzdDogc29saWQgb24gc29saWQKKworUEFTUwor
VGVzdDogYWxwaGEgb24gc29saWQKKworUEFTUworVGVzdDogc29saWQgb24gYWxwaGEKKworUEFT
UworVGVzdDogYWxwaGEgb24gYWxwaGEKKworUEFTUworTW9kZTogeG9yCisKK1Rlc3Q6IHNvbGlk
IG9uIHNvbGlkCisKK1BBU1MKK1Rlc3Q6IGFscGhhIG9uIHNvbGlkCisKK1BBU1MKK1Rlc3Q6IHNv
bGlkIG9uIGFscGhhCisKK1BBU1MKK1Rlc3Q6IGFscGhhIG9uIGFscGhhCisKK1BBU1MKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1jb21wb3NpdGUtaW1hZ2UuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42NTdkYTk2YTJhYTEyNzRjNzY0NjRjNjQ2YjYwNjBjMzFiZWRhOTZhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLWNvbXBvc2l0ZS1p
bWFnZS5odG1sCkBAIC0wLDAgKzEsNDIxIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICA8
aGVhZD4KKyAgICA8dGl0bGU+VGVzdCBkcmF3aW5nIGltYWdlcyB3aXRoIGNhbnZhcyB3aXRoIGRp
ZmZlcmVudCBjb21wb3NpdGUgbW9kZXMuPC90aXRsZT4KKyAgICA8c2NyaXB0IHR5cGU9ImFwcGxp
Y2F0aW9uL3gtamF2YXNjcmlwdCI+CisgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgIH0KKwor
ICAgICAgLy8gVGhpcyB0ZXN0IHNob3VsZCBzaG93IGEgdGFibGUgb2YgY2FudmFzIGVsZW1lbnRz
LiBPbnRvIHRoZSBiYWNrZ3JvdW5kIG9mIGVhY2ggYSBibHVlCisgICAgICAvLyBzcXVhcmUgaXMg
ZHJhd24sIGVpdGhlciBmdWxseSBvcGFxdWUgb3Igd2l0aCBzb21lIHRyYW5zcGFyZW5jeSwgYW5k
IHRoZW4gYSBjbGlwIGFuZAorICAgICAgLy8gdHJhbnNmb3JtYXRpb24gaXMgYXBwbGllZC4gVGhl
IGNsaXAgb25seSBhbGxvd3MgZHJhd2luZyBpbiB0aGUgbGVmdCB0d28gdGhpcmRzIG9mIHRoZQor
ICAgICAgLy8gY2FudmFzLgorCisgICAgICAvLyBPbmNlIGVhY2ggY2FudmFzIGhhcyBiZWVuIHNl
dCB1cCwgYW4gaW1hZ2UgaXMgZHJhd24gd2l0aCB0aGUgY29tcG9zaXRlIG1vZGUgZm9yIHRoYXQg
cm93LgorICAgICAgLy8gRWFjaCByb3cgdXNlcyBhIGRpZmZlcmVudCBjb21wb3NpdGluZyBtb2Rl
LiBEaWZmZXJlbnQgY29sdW1ucyBhcmUgdXNlZCBmb3Igd2hlbiB0aGUKKyAgICAgIC8vIGJhY2tn
cm91bmQgaXMgb3IgaXNuJ3QgdHJhbnNwYXJlbnQsIGFuZCB3aGVuIHRoZSBpbWFnZSBpcyBkcmF3
biB3aXRoIG9yIHdpdGhvdXQgYSBnbG9iYWwKKyAgICAgIC8vIGFscGhhLgorCisgICAgICAvLyBU
aGUgaW1hZ2UgaXMgYSBncmVlbiByZWN0YW5nbGUgd2hpY2ggZ2V0cyBza2V3ZWQgYnkgdHJhbnNm
b3JtIGFuZCBjdXQgb2ZmIGJ5IHRoZSBjbGlwLgorICAgICAgLy8gSW4gZWFjaCByb3cgdGhlIGdy
ZWVuIHJlY3RhbmdsZSBzaG91bGQgYmUgZHJhd24gd2l0aCB0aGUgYXBwcm9wcmlhdGUgY29tcG9z
aXRpbmcKKyAgICAgIC8vIG1vZGUsIGFzIHBlciB0aGUgSFRNTDUgY2FudmFzIHNwZWMuIFRoZSBi
YWNrZ3JvdW5kIG9uIHRoZSByaWdodCBzaG91bGQgYWx3YXlzIGJlIGxlZnQKKyAgICAgIC8vIHVu
dG91Y2hlZCBkdWUgdG8gdGhlIGNsaXAuCisKKyAgICAgIC8vIFRoZXNlIG1hcCB0byB0aGUgcm93
cyBvZiB0aGUgdGFibGUKKyAgICAgIHZhciBjb21wb3NpdGVUeXBlcyA9IFsKKyAgICAgICAgJ3Nv
dXJjZS1vdmVyJywnc291cmNlLWluJywnc291cmNlLW91dCcsJ3NvdXJjZS1hdG9wJywKKyAgICAg
ICAgJ2Rlc3RpbmF0aW9uLW92ZXInLCdkZXN0aW5hdGlvbi1pbicsJ2Rlc3RpbmF0aW9uLW91dCcs
J2Rlc3RpbmF0aW9uLWF0b3AnLAorICAgICAgICAnbGlnaHRlcicsJ2NvcHknLCd4b3InCisgICAg
ICBdOworCisgICAgICAvLyBUaGVzZSBtYXAgdG8gdGhlIGNvbHVtbnMgb2YgdGhlIHRhYmxlCisg
ICAgICB2YXIgdGVzdE5hbWVzID0gWworICAgICAgICAnc29saWQgb24gc29saWQnLCAnYWxwaGEg
b24gc29saWQnLCAnc29saWQgb24gYWxwaGEnLCAnYWxwaGEgb24gYWxwaGEnCisgICAgICBdOwor
CisgICAgICAvLyBUaGVzZSBhcmUgdGhlIHBvaW50cyB3aGVyZSBwaXhlbCB2YWx1ZXMgYXJlIGNo
ZWNrZWQgZm9yIGNvcnJlY3RuZXNzCisgICAgICB2YXIgdGVzdFBvaW50cyA9IFsKKyAgICAgICAg
Ly8gcG9pbnRzIGRvd24gdGhlIGxlZnQgZWRnZQorICAgICAgICB7eDogMTAsIHk6IDN9LCB7eDog
MTAsIHk6IDIwfSwge3g6IDEwLCB5OiAzN30sCisgICAgICAgIC8vIHBvaW50cyBvdXRzaWRlIHRo
ZSBsZWZ0IGVkZ2Ugb2YgdGhlIGltYWdlCisgICAgICAgIHt4OiAzMywgeTogM30sIHt4OiAyOCwg
eTogMjB9LCB7eDogMzgsIHk6IDMwfSwge3g6IDQ5LCB5OiAzN30sCisgICAgICAgIC8vIHBvaW50
cyBpbnNpZGUgdGhlIGxlZnQgZWRnZSBvZiB0aGUgaW1hZ2UKKyAgICAgICAge3g6IDM5LCB5OiAz
fSwge3g6IDM0LCB5OiAyMH0sIHt4OiA0OCwgeTogMzB9LCB7eDogNTcsIHk6IDM3fSwKKyAgICAg
ICAgLy8gcG9pbnRzIGluc2lkZSB0aGUgcmlnaHQgZWRnZSBvZiB0aGUgaW1hZ2UKKyAgICAgICAg
e3g6IDU2LCB5OiAzfSwge3g6IDY1LCB5OiA4fSwge3g6IDc3LCB5OiAxNn0sIHt4OiA3NywgeTog
MzB9LCB7eDogNzcsIHk6IDM3fSwKKyAgICAgICAgLy8gcG9pbnRzIG91dHNpZGUgdGhlIHJpZ2h0
IGVkZ2Ugb2YgdGhlIGltYWdlCisgICAgICAgIHt4OiA2NSwgeTogM30sIHt4OiA3NCwgeTogOH0s
CisgICAgICAgIC8vIHBvaW50cyBpbiB0aGUgcmVnaW9uIHRoYXQgZ2V0cyBjbGlwcGVkCisgICAg
ICAgIHt4OiA4MywgeTogM30sIHt4OiA4MywgeTogMjB9LCB7eDogODMsIHk6IDM3fSwge3g6IDEy
MCwgeTogM30sIHt4OiAxMjAsIHk6IDIwfSwge3g6IDEyMCwgeTogMzd9LAorICAgICAgXTsKKwor
ICAgICAgdmFyIGV4cGVjdGVkQ29sb3JzID0gWworICAgICAgICAvLyBzb3VyY2Utb3ZlcgorICAg
ICAgICBbW1swLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFsw
LCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMTAwLCAyNTUsIDI1NV0sCisgICAg
ICAgICAgWzAsIDAsIDAsIDBdLCBbMjQ0LCAyMzMsIDUyLCAyNTVdLCBbNjQsIDI1NSwgMCwgMjU1
XSwgWzY0LCAyNTUsIDAsIDI1NV0sIFs2NCwgMjU1LCAwLCAyNTVdLCBbMjQ0LCAyMzMsIDUyLCAy
NTVdLAorICAgICAgICAgIFsyNDQsIDIzMywgNTIsIDI1NV0sIFsxOTEsIDE5MSwgMTkxLCAyNTVd
LCBbMTkxLCAxOTEsIDE5MSwgMjU1XSwgWzgyLCAxNjksIDgyLCAyNTVdLCBbMCwgMCwgMCwgMF0s
IFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1
NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwg
WzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1
XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDEw
MCwgMjU1LCAyNTVdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzI0MywgMjMzLCA1MSwgMTI4
XSwgWzMyLCAxNzgsIDEyNywgMjU1XSwgWzMyLCAxNzgsIDEyNywgMjU1XSwgWzYzLCAyNTUsIDAs
IDEyOF0sIFsyNDMsIDIzMywgNTEsIDEyOF0sCisgICAgICAgICAgWzEyMiwgMTY3LCAxNTMsIDI1
NV0sIFs5NiwgMTQ2LCAyMjMsIDI1NV0sIFs5NiwgMTQ2LCAyMjMsIDI1NV0sIFs4MSwgMTY5LCA4
MSwgMTI4XSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sCisgICAgICAgICAgWzAs
IDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBd
LCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAsIDAsIDAs
IDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwg
MTAwLCAyNTUsIDEyN10sIFswLCAxMDAsIDI1NSwgMTI3XSwKKyAgICAgICAgICBbMCwgMCwgMCwg
MF0sIFsyNDQsIDIzMywgNTIsIDI1NV0sIFs2NCwgMjU1LCAwLCAyNTVdLCBbNjQsIDI1NSwgMCwg
MjU1XSwgWzY0LCAyNTUsIDAsIDI1NV0sIFsyNDQsIDIzMywgNTIsIDI1NV0sCisgICAgICAgICAg
WzI0NCwgMjMzLCA1MiwgMjU1XSwgWzE5MSwgMTkxLCAxOTEsIDI1NV0sIFsxOTEsIDE5MSwgMTkx
LCAyNTVdLCBbODIsIDE2OSwgODIsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAx
MjddLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMCwg
MCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMCwgMCwgMF1dLAor
ICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMCwgMCwgMF0s
IFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMTAwLCAyNTUsIDEyN10sCisg
ICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMjQzLCAyMzMsIDUxLCAxMjhdLCBbNDIsIDIwNCwgODQs
IDE5MV0sIFs0MiwgMjA0LCA4NCwgMTkxXSwgWzYzLCAyNTUsIDAsIDEyOF0sIFsyNDMsIDIzMywg
NTEsIDEyOF0sCisgICAgICAgICAgWzE2MiwgMTg5LCAxMTgsIDE5MV0sIFsxMjgsIDE2MSwgMjEy
LCAxOTFdLCBbMTI4LCAxNjEsIDIxMiwgMTkxXSwgWzgxLCAxNjksIDgxLCAxMjhdLCBbMCwgMCwg
MCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAx
MDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwg
MTI3XSwgWzAsIDAsIDAsIDBdXV0sCisgICAgICAgIC8vIHNvdXJjZS1pbgorICAgICAgICBbW1sw
LCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAs
IDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMCwg
MCwgMF0sIFs2NCwgMjU1LCAwLCAyNTVdLCBbNjQsIDI1NSwgMCwgMjU1XSwgWzAsIDAsIDAsIDBd
LCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzI0NCwgMjMzLCA1MiwgMjU1XSwgWzE5MSwgMTkx
LCAxOTEsIDI1NV0sIFsxOTEsIDE5MSwgMTkxLCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAw
LCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1
LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBb
MCwgMCwgMCwgMF1dLAorICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwg
MCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAg
ICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFs2MywgMjU1LCAwLCAxMjhdLCBbNjMs
IDI1NSwgMCwgMTI4XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzI0
MywgMjMzLCA1MSwgMTI4XSwgWzE5MSwgMTkxLCAxOTEsIDEyOF0sIFsxOTEsIDE5MSwgMTkxLCAx
MjhdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAg
IFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAw
LCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF1dLAorICAgICAgICAgW1swLCAw
LCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAs
IDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwg
MF0sIFs2NCwgMjU1LCAwLCAxMjddLCBbNjQsIDI1NSwgMCwgMTI3XSwgWzAsIDAsIDAsIDBdLCBb
MCwgMCwgMCwgMF0sCisgICAgICAgICAgWzI0NCwgMjMyLCA1MiwgMTI3XSwgWzE5MCwgMTkwLCAx
OTAsIDEyN10sIFsxOTAsIDE5MCwgMTkwLCAxMjddLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAw
XSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAx
MjddLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwg
MCwgMCwgMF1dLAorICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwg
MCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAg
ICAgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFs2MywgMjU1LCAwLCA2NF0sIFs2MywgMjU1
LCAwLCA2NF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFsyNDMsIDIz
MSwgNTEsIDY0XSwgWzE5MSwgMTkxLCAxOTEsIDY0XSwgWzE5MSwgMTkxLCAxOTEsIDY0XSwgWzAs
IDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwg
MCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFsw
LCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdXV0sCisgICAgICAgIC8vIHNvdXJjZS1vdXQK
KyAgICAgICAgW1tbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwg
MCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAw
LCAwXSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFs2
NCwgMjU1LCAwLCAyNTVdLCBbMjQ0LCAyMzMsIDUyLCAyNTVdLAorICAgICAgICAgIFswLCAwLCAw
LCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFs4MiwgMTY5LCA4MiwgMjU1XSwgWzAs
IDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAw
LCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1
NV0sIFswLCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0s
IFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwK
KyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsyNDMsIDIzMywgNTEsIDEyOF0sIFswLCAwLCAwLCAw
XSwgWzAsIDAsIDAsIDBdLCBbNjMsIDI1NSwgMCwgMTI4XSwgWzI0MywgMjMzLCA1MSwgMTI4XSwK
KyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbODEs
IDE2OSwgODEsIDEyOF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFsw
LCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAw
XSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF1dLAorICAgICAgICAgW1swLCAwLCAw
LCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAs
IDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMjQ0LCAyMzMsIDUy
LCAyNTVdLCBbNjMsIDI1NSwgMCwgMTI4XSwgWzYzLCAyNTUsIDAsIDEyOF0sIFs2NCwgMjU1LCAw
LCAyNTVdLCBbMjQ0LCAyMzMsIDUyLCAyNTVdLAorICAgICAgICAgIFsyNDMsIDIzMywgNTEsIDEy
OF0sIFsxOTEsIDE5MSwgMTkxLCAxMjhdLCBbMTkxLCAxOTEsIDE5MSwgMTI4XSwgWzgyLCAxNjks
IDgyLCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwg
MCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFsw
LCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0s
IFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwg
WzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzI0MywgMjMzLCA1MSwgMTI4
XSwgWzYzLCAyNTUsIDAsIDY0XSwgWzYzLCAyNTUsIDAsIDY0XSwgWzYzLCAyNTUsIDAsIDEyOF0s
IFsyNDMsIDIzMywgNTEsIDEyOF0sCisgICAgICAgICAgWzI0MywgMjMxLCA1MSwgNjRdLCBbMTkx
LCAxOTEsIDE5MSwgNjRdLCBbMTkxLCAxOTEsIDE5MSwgNjRdLCBbODEsIDE2OSwgODEsIDEyOF0s
IFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAs
IDEwMCwgMjU1LCAxMjddLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1
LCAxMjddLCBbMCwgMCwgMCwgMF1dXSwKKyAgICAgICAgLy8gc291cmNlLWF0b3AKKyAgICAgICAg
W1tbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwg
MCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDEwMCwgMjU1LCAyNTVdLAorICAgICAgICAg
IFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbNjQsIDI1NSwgMCwgMjU1XSwgWzY0LCAyNTUs
IDAsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFsyNDQsIDIz
MywgNTIsIDI1NV0sIFsxOTEsIDE5MSwgMTkxLCAyNTVdLCBbMTkxLCAxOTEsIDE5MSwgMjU1XSwg
WzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAg
ICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwg
MCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwg
MCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0s
IFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDEwMCwgMjU1LCAyNTVdLAorICAgICAgICAgIFswLCAw
LCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMzIsIDE3OCwgMTI3LCAyNTVdLCBbMzIsIDE3OCwgMTI3
LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMTIyLCAxNjcs
IDE1MywgMjU1XSwgWzk2LCAxNDYsIDIyMywgMjU1XSwgWzk2LCAxNDYsIDIyMywgMjU1XSwgWzAs
IDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAgICBb
MCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwg
MF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwg
MCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFsw
LCAxMDAsIDI1NSwgMTI3XSwgWzAsIDEwMCwgMjU1LCAxMjddLAorICAgICAgICAgIFswLCAwLCAw
LCAwXSwgWzAsIDAsIDAsIDBdLCBbNjQsIDI1NSwgMCwgMTI3XSwgWzY0LCAyNTUsIDAsIDEyN10s
IFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFsyNDQsIDIzMiwgNTIsIDEy
N10sIFsxOTAsIDE5MCwgMTkwLCAxMjddLCBbMTkwLCAxOTAsIDE5MCwgMTI3XSwgWzAsIDAsIDAs
IDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwKKyAgICAgICAgICBbMCwgMCwg
MCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFsw
LCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0s
IFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAs
IDI1NSwgMTI3XSwgWzAsIDEwMCwgMjU1LCAxMjddLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwg
WzAsIDAsIDAsIDBdLCBbMzIsIDE3OCwgMTI2LCAxMjddLCBbMzIsIDE3OCwgMTI2LCAxMjddLCBb
MCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMTIyLCAxNjYsIDE1MiwgMTI3
XSwgWzk2LCAxNDYsIDIyMiwgMTI3XSwgWzk2LCAxNDYsIDIyMiwgMTI3XSwgWzAsIDAsIDAsIDBd
LCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwKKyAgICAgICAgICBbMCwgMCwgMCwg
MF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAx
MDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdXV0sCisgICAgICAgIC8vIGRlc3RpbmF0aW9uLW92
ZXIKKyAgICAgICAgW1tbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAs
IDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDEwMCwgMjU1LCAyNTVd
LAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwgWzAsIDEwMCwg
MjU1LCAyNTVdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFs2NCwgMjU1LCAwLCAyNTVdLCBbMjQ0LCAy
MzMsIDUyLCAyNTVdLAorICAgICAgICAgIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDEwMCwgMjU1
LCAyNTVdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFs4MiwgMTY5LCA4MiwgMjU1XSwgWzAsIDAsIDAs
IDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAw
LCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1
NV0sIFswLCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUs
IDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFsw
LCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsyNDMsIDIzMywgNTEs
IDEyOF0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbNjMsIDI1NSwg
MCwgMTI4XSwgWzI0MywgMjMzLCA1MSwgMTI4XSwKKyAgICAgICAgICBbMCwgMTAwLCAyNTUsIDI1
NV0sIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbODEsIDE2OSwgODEs
IDEyOF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLAorICAgICAgICAgIFswLCAw
LCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwg
WzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF1dLAorICAgICAgICAgW1swLCAwLCAwLCAw
XSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEw
MCwgMjU1LCAxMjddLCBbMCwgMTAwLCAyNTUsIDEyN10sCisgICAgICAgICAgWzAsIDAsIDAsIDBd
LCBbMjQ0LCAyMzMsIDUyLCAyNTVdLCBbMzIsIDE3OCwgMTI3LCAyNTVdLCBbMzIsIDE3OCwgMTI3
LCAyNTVdLCBbNjQsIDI1NSwgMCwgMjU1XSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwKKyAgICAgICAg
ICBbMTIyLCAxNjcsIDE1MywgMjU1XSwgWzk2LCAxNDYsIDIyMywgMjU1XSwgWzk2LCAxNDYsIDIy
MywgMjU1XSwgWzgyLCAxNjksIDgyLCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwg
MTI3XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAs
IDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdXSwK
KyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBd
LCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDEwMCwgMjU1LCAxMjddLAor
ICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzI0MywgMjMzLCA1MSwgMTI4XSwgWzIxLCAxNTIsIDE2
OSwgMTkxXSwgWzIxLCAxNTIsIDE2OSwgMTkxXSwgWzYzLCAyNTUsIDAsIDEyOF0sIFsyNDMsIDIz
MywgNTEsIDEyOF0sCisgICAgICAgICAgWzgxLCAxNDQsIDE4NiwgMTkxXSwgWzY0LCAxMzAsIDIz
MywgMTkxXSwgWzY0LCAxMzAsIDIzMywgMTkxXSwgWzgxLCAxNjksIDgxLCAxMjhdLCBbMCwgMCwg
MCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAx
MDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwg
MTI3XSwgWzAsIDAsIDAsIDBdXV0sCisgICAgICAgIC8vIGRlc3RpbmF0aW9uLWluCisgICAgICAg
IFtbWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBd
LCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsw
LCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAw
LCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAxMDAsIDI1NSwgMjU1XSwgWzAs
IDEwMCwgMjU1LCAyNTVdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAs
IDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAy
NTUsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1NV0s
IFswLCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFsw
LCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAg
ICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDk5LCAyNTUsIDEyOF0sIFsw
LCA5OSwgMjU1LCAxMjhdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBb
MCwgOTksIDI1NSwgMTI4XSwgWzAsIDk5LCAyNTUsIDEyOF0sIFswLCA5OSwgMjU1LCAxMjhdLCBb
MCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAw
LCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwg
WzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF1dLAorICAgICAgICAgW1swLCAwLCAwLCAw
XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBd
LCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFsw
LCAxMDAsIDI1NSwgMTI3XSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMCwgMCwgMF0sIFswLCAw
LCAwLCAwXSwKKyAgICAgICAgICBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAxMDAsIDI1NSwgMTI3
XSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAs
IDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwg
MCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMCwgMCwgMF1d
LAorICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFsw
LCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAs
IDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDEsIDI1NSwgNjNdLCBbMCwgMTAxLCAyNTUsIDYz
XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDEwMSwgMjU1LCA2
M10sIFswLCAxMDEsIDI1NSwgNjNdLCBbMCwgMTAxLCAyNTUsIDYzXSwgWzAsIDAsIDAsIDBdLCBb
MCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAx
MDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwg
MTI3XSwgWzAsIDAsIDAsIDBdXV0sCisgICAgICAgIC8vIGRlc3RpbmF0aW9uLW91dAorICAgICAg
ICBbW1swLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAw
LCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMTAwLCAyNTUsIDI1NV0sCisgICAgICAg
ICAgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBd
LCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsw
LCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAs
IDEwMCwgMjU1LCAyNTVdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAy
NTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwg
MCwgMCwgMF1dLAorICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBb
MCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMTAwLCAy
NTUsIDI1NV0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAs
IDI1NSwgMTI3XSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAw
XSwKKyAgICAgICAgICBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAs
IDEwMCwgMjU1LCAxMjddLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1
LCAyNTVdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwg
MCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF1d
LAorICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMCwgMCwg
MF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMTAwLCAyNTUsIDEyN10s
CisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAs
IDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwg
MCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAw
LCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEw
MCwgMjU1LCAxMjddLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAx
MjddLCBbMCwgMCwgMCwgMF1dLAorICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1
LCAxMjddLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBb
MCwgMTAwLCAyNTUsIDEyN10sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0s
IFswLCAxMDEsIDI1NSwgNjNdLCBbMCwgMTAxLCAyNTUsIDYzXSwgWzAsIDAsIDAsIDBdLCBbMCwg
MCwgMCwgMF0sCisgICAgICAgICAgWzAsIDEwMSwgMjU1LCA2M10sIFswLCAxMDEsIDI1NSwgNjNd
LCBbMCwgMTAxLCAyNTUsIDYzXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAs
IDI1NSwgMTI3XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwg
WzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAs
IDBdXV0sCisgICAgICAgIC8vIGRlc3RpbmF0aW9uLWF0b3AKKyAgICAgICAgW1tbMCwgMCwgMCwg
MF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAw
XSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzI0NCwgMjMzLCA1Miwg
MjU1XSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFs2NCwgMjU1LCAw
LCAyNTVdLCBbMjQ0LCAyMzMsIDUyLCAyNTVdLAorICAgICAgICAgIFswLCAxMDAsIDI1NSwgMjU1
XSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMTAwLCAyNTUsIDI1NV0sIFs4MiwgMTY5LCA4Miwg
MjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBd
LCBbMCwgMTAwLCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAw
LCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwg
MCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAw
LCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsyNDMsIDIzMywgNTEsIDEyOF0sIFsw
LCA5OSwgMjU1LCAxMjhdLCBbMCwgOTksIDI1NSwgMTI4XSwgWzYzLCAyNTUsIDAsIDEyOF0sIFsy
NDMsIDIzMywgNTEsIDEyOF0sCisgICAgICAgICAgWzAsIDk5LCAyNTUsIDEyOF0sIFswLCA5OSwg
MjU1LCAxMjhdLCBbMCwgOTksIDI1NSwgMTI4XSwgWzgxLCAxNjksIDgxLCAxMjhdLCBbMCwgMCwg
MCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1
NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwg
WzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAs
IDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAg
ICAgICAgIFswLCAwLCAwLCAwXSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwgWzMyLCAxNzgsIDEyNywg
MjU1XSwgWzMyLCAxNzgsIDEyNywgMjU1XSwgWzY0LCAyNTUsIDAsIDI1NV0sIFsyNDQsIDIzMywg
NTIsIDI1NV0sCisgICAgICAgICAgWzEyMiwgMTY3LCAxNTMsIDI1NV0sIFs5NiwgMTQ2LCAyMjMs
IDI1NV0sIFs5NiwgMTQ2LCAyMjMsIDI1NV0sIFs4MiwgMTY5LCA4MiwgMjU1XSwgWzAsIDAsIDAs
IDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUs
IDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFsw
LCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAw
LCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAg
ICAgICBbMCwgMCwgMCwgMF0sIFsyNDMsIDIzMywgNTEsIDEyOF0sIFszMSwgMTc3LCAxMjcsIDEy
OF0sIFszMSwgMTc3LCAxMjcsIDEyOF0sIFs2MywgMjU1LCAwLCAxMjhdLCBbMjQzLCAyMzMsIDUx
LCAxMjhdLAorICAgICAgICAgIFsxMjEsIDE2NywgMTUzLCAxMjhdLCBbOTUsIDE0NSwgMjIzLCAx
MjhdLCBbOTUsIDE0NSwgMjIzLCAxMjhdLCBbODEsIDE2OSwgODEsIDEyOF0sIFswLCAwLCAwLCAw
XSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAx
MjddLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwg
MCwgMCwgMF1dXSwKKyAgICAgICAgLy8gbGlnaHRlcgorICAgICAgICBbW1swLCAwLCAwLCAwXSwg
WzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwg
MjU1LCAyNTVdLCBbMCwgMTAwLCAyNTUsIDI1NV0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBb
MjQ0LCAyMzMsIDUyLCAyNTVdLCBbNjQsIDI1NSwgMjU1LCAyNTVdLCBbNjQsIDI1NSwgMjU1LCAy
NTVdLCBbNjQsIDI1NSwgMCwgMjU1XSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwKKyAgICAgICAgICBb
MjQ0LCAyNTUsIDI1NSwgMjU1XSwgWzE5MSwgMjU1LCAyNTUsIDI1NV0sIFsxOTEsIDI1NSwgMjU1
LCAyNTVdLCBbODIsIDE2OSwgODIsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAy
NTVdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwg
MCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF1dLAor
ICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0s
IFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMTAwLCAyNTUsIDI1NV0sCisg
ICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMjQzLCAyMzMsIDUxLCAxMjhdLCBbMzIsIDIyOCwgMjU1
LCAyNTVdLCBbMzIsIDIyOCwgMjU1LCAyNTVdLCBbNjMsIDI1NSwgMCwgMTI4XSwgWzI0MywgMjMz
LCA1MSwgMTI4XSwKKyAgICAgICAgICBbMTIyLCAyMTcsIDI1NSwgMjU1XSwgWzk2LCAxOTYsIDI1
NSwgMjU1XSwgWzk2LCAxOTYsIDI1NSwgMjU1XSwgWzgxLCAxNjksIDgxLCAxMjhdLCBbMCwgMCwg
MCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAx
MDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwg
MjU1XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1
NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwg
WzAsIDEwMCwgMjU1LCAxMjddLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzI0NCwgMjMzLCA1
MiwgMjU1XSwgWzY0LCAyNTUsIDEyNywgMjU1XSwgWzY0LCAyNTUsIDEyNywgMjU1XSwgWzY0LCAy
NTUsIDAsIDI1NV0sIFsyNDQsIDIzMywgNTIsIDI1NV0sCisgICAgICAgICAgWzI0NCwgMjU1LCAx
NzksIDI1NV0sIFsxOTEsIDI0MSwgMjU1LCAyNTVdLCBbMTkxLCAyNDEsIDI1NSwgMjU1XSwgWzgy
LCAxNjksIDgyLCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwKKyAgICAg
ICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwg
MCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtb
MCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwg
MF0sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzAsIDEwMCwgMjU1LCAxMjddLAorICAgICAgICAgIFsw
LCAwLCAwLCAwXSwgWzI0MywgMjMzLCA1MSwgMTI4XSwgWzMyLCAxNzgsIDEyNywgMjU1XSwgWzMy
LCAxNzgsIDEyNywgMjU1XSwgWzYzLCAyNTUsIDAsIDEyOF0sIFsyNDMsIDIzMywgNTEsIDEyOF0s
CisgICAgICAgICAgWzEyMiwgMTY3LCAxNTMsIDI1NV0sIFs5NiwgMTQ2LCAyMjMsIDI1NV0sIFs5
NiwgMTQ2LCAyMjMsIDI1NV0sIFs4MSwgMTY5LCA4MSwgMTI4XSwgWzAsIDAsIDAsIDBdLCBbMCwg
MTAwLCAyNTUsIDEyN10sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEy
N10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAw
LCAwLCAwXV1dLAorICAgICAgICAvLyBjb3B5CisgICAgICAgIFtbWzAsIDAsIDAsIDBdLCBbMCwg
MCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAw
LCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsyNDQsIDIzMywgNTIsIDI1NV0sIFs2
NCwgMjU1LCAwLCAyNTVdLCBbNjQsIDI1NSwgMCwgMjU1XSwgWzY0LCAyNTUsIDAsIDI1NV0sIFsy
NDQsIDIzMywgNTIsIDI1NV0sCisgICAgICAgICAgWzI0NCwgMjMzLCA1MiwgMjU1XSwgWzE5MSwg
MTkxLCAxOTEsIDI1NV0sIFsxOTEsIDE5MSwgMTkxLCAyNTVdLCBbODIsIDE2OSwgODIsIDI1NV0s
IFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAs
IDEwMCwgMjU1LCAyNTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1
LCAyNTVdLCBbMCwgMCwgMCwgMF1dLAorICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDAsIDAs
IDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwg
MF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMjQzLCAyMzMsIDUxLCAxMjhdLCBbNjMsIDI1
NSwgMCwgMTI4XSwgWzYzLCAyNTUsIDAsIDEyOF0sIFs2MywgMjU1LCAwLCAxMjhdLCBbMjQzLCAy
MzMsIDUxLCAxMjhdLAorICAgICAgICAgIFsyNDMsIDIzMywgNTEsIDEyOF0sIFsxOTEsIDE5MSwg
MTkxLCAxMjhdLCBbMTkxLCAxOTEsIDE5MSwgMTI4XSwgWzgxLCAxNjksIDgxLCAxMjhdLCBbMCwg
MCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAxMDAs
IDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1
XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwg
WzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLAor
ICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwgWzY0LCAyNTUsIDAs
IDI1NV0sIFs2NCwgMjU1LCAwLCAyNTVdLCBbNjQsIDI1NSwgMCwgMjU1XSwgWzI0NCwgMjMzLCA1
MiwgMjU1XSwKKyAgICAgICAgICBbMjQ0LCAyMzMsIDUyLCAyNTVdLCBbMTkxLCAxOTEsIDE5MSwg
MjU1XSwgWzE5MSwgMTkxLCAxOTEsIDI1NV0sIFs4MiwgMTY5LCA4MiwgMjU1XSwgWzAsIDAsIDAs
IDBdLCBbMCwgMCwgMCwgMF0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUs
IDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFsw
LCAwLCAwLCAwXV0sCisgICAgICAgICBbWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAw
LCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwKKyAgICAg
ICAgICBbMCwgMCwgMCwgMF0sIFsyNDMsIDIzMywgNTEsIDEyOF0sIFs2MywgMjU1LCAwLCAxMjhd
LCBbNjMsIDI1NSwgMCwgMTI4XSwgWzYzLCAyNTUsIDAsIDEyOF0sIFsyNDMsIDIzMywgNTEsIDEy
OF0sCisgICAgICAgICAgWzI0MywgMjMzLCA1MSwgMTI4XSwgWzE5MSwgMTkxLCAxOTEsIDEyOF0s
IFsxOTEsIDE5MSwgMTkxLCAxMjhdLCBbODEsIDE2OSwgODEsIDEyOF0sIFswLCAwLCAwLCAwXSwg
WzAsIDAsIDAsIDBdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjdd
LCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwgMCwg
MCwgMF1dXSwKKyAgICAgICAgLy8geG9yCisgICAgICAgIFtbWzAsIDAsIDAsIDBdLCBbMCwgMTAw
LCAyNTUsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDI1
NV0sIFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFsyNDQsIDIz
MywgNTIsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAsIDBdLCBbNjQsIDI1NSwgMCwgMjU1
XSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0sIFswLCAwLCAw
LCAwXSwgWzAsIDAsIDAsIDBdLCBbODIsIDE2OSwgODIsIDI1NV0sIFswLCAwLCAwLCAwXSwgWzAs
IDEwMCwgMjU1LCAyNTVdLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAy
NTVdLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwg
MCwgMCwgMF1dLAorICAgICAgICAgW1swLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBb
MCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAyNTVdLCBbMCwgMTAwLCAy
NTUsIDI1NV0sCisgICAgICAgICAgWzAsIDAsIDAsIDBdLCBbMjQzLCAyMzMsIDUxLCAxMjhdLCBb
MCwgMTAwLCAyNTUsIDEyN10sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzYzLCAyNTUsIDAsIDEyOF0s
IFsyNDMsIDIzMywgNTEsIDEyOF0sCisgICAgICAgICAgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwg
MTAwLCAyNTUsIDEyN10sIFswLCAxMDAsIDI1NSwgMTI3XSwgWzgxLCAxNjksIDgxLCAxMjhdLCBb
MCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwgMjU1XSwKKyAgICAgICAgICBbMCwgMCwgMCwgMF0s
IFswLCAxMDAsIDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAs
IDI1NSwgMjU1XSwgWzAsIDAsIDAsIDBdXSwKKyAgICAgICAgIFtbMCwgMCwgMCwgMF0sIFswLCAx
MDAsIDI1NSwgMTI3XSwgWzAsIDAsIDAsIDBdLCBbMCwgMCwgMCwgMF0sIFswLCAxMDAsIDI1NSwg
MTI3XSwgWzAsIDEwMCwgMjU1LCAxMjddLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzI0NCwg
MjMzLCA1MiwgMjU1XSwgWzYzLCAyNTUsIDAsIDEyOF0sIFs2MywgMjU1LCAwLCAxMjhdLCBbNjQs
IDI1NSwgMCwgMjU1XSwgWzI0NCwgMjMzLCA1MiwgMjU1XSwKKyAgICAgICAgICBbMjQzLCAyMzMs
IDUxLCAxMjhdLCBbMTkxLCAxOTEsIDE5MSwgMTI4XSwgWzE5MSwgMTkxLCAxOTEsIDEyOF0sIFs4
MiwgMTY5LCA4MiwgMjU1XSwgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sCisgICAg
ICAgICAgWzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAs
IDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXV0sCisgICAgICAgICBb
WzAsIDAsIDAsIDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAwLCAwLCAwXSwgWzAsIDAsIDAs
IDBdLCBbMCwgMTAwLCAyNTUsIDEyN10sIFswLCAxMDAsIDI1NSwgMTI3XSwKKyAgICAgICAgICBb
MCwgMCwgMCwgMF0sIFsyNDMsIDIzMywgNTEsIDEyOF0sIFszMiwgMTc4LCAxMjYsIDEyN10sIFsz
MiwgMTc4LCAxMjYsIDEyN10sIFs2MywgMjU1LCAwLCAxMjhdLCBbMjQzLCAyMzMsIDUxLCAxMjhd
LAorICAgICAgICAgIFsxMjIsIDE2OCwgMTUyLCAxMjddLCBbOTYsIDE0NiwgMjIyLCAxMjddLCBb
OTYsIDE0NiwgMjIyLCAxMjddLCBbODEsIDE2OSwgODEsIDEyOF0sIFswLCAwLCAwLCAwXSwgWzAs
IDEwMCwgMjU1LCAxMjddLAorICAgICAgICAgIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAx
MjddLCBbMCwgMCwgMCwgMF0sIFswLCAwLCAwLCAwXSwgWzAsIDEwMCwgMjU1LCAxMjddLCBbMCwg
MCwgMCwgMF1dXSwKKyAgICAgIF0KKworICAgICAgZnVuY3Rpb24gY3JlYXRlT3V0cHV0VGFibGUo
KSB7CisgICAgICAgIHZhciB0YWJsZUVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ291dHB1
dHRhYmxlJyk7CisgICAgICAgIHZhciByb3cgPSB0YWJsZUVsLmluc2VydFJvdygtMSk7CisgICAg
ICAgIHZhciBjZWxsID0gcm93Lmluc2VydENlbGwoLTEpOworICAgICAgICB2YXIgbGFiZWw7Cisg
ICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdGVzdE5hbWVzLmxlbmd0aDsgaisrKSB7CisgICAg
ICAgICAgY2VsbCA9IHJvdy5pbnNlcnRDZWxsKC0xKTsKKyAgICAgICAgICBsYWJlbCA9IGRvY3Vt
ZW50LmNyZWF0ZVRleHROb2RlKHRlc3ROYW1lc1tqXSk7CisgICAgICAgICAgY2VsbC5hcHBlbmRD
aGlsZChsYWJlbCk7CisgICAgICAgIH0KKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb21w
b3NpdGVUeXBlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgIHJvdyA9IHRhYmxlRWwuaW5zZXJ0
Um93KC0xKTsKKyAgICAgICAgICBjZWxsID0gcm93Lmluc2VydENlbGwoLTEpOworICAgICAgICAg
IGxhYmVsID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY29tcG9zaXRlVHlwZXNbaV0pOworICAg
ICAgICAgIGNlbGwuYXBwZW5kQ2hpbGQobGFiZWwpOworICAgICAgICAgIGZvciAodmFyIGogPSAw
OyBqIDwgdGVzdE5hbWVzLmxlbmd0aDsgaisrKSB7CisgICAgICAgICAgICB2YXIgY2FudmFzID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CisgICAgICAgICAgICBjYW52YXMud2lk
dGggPSAxMzA7CisgICAgICAgICAgICBjYW52YXMuaGVpZ2h0ID0gNDA7CisgICAgICAgICAgICBj
YW52YXMuaWQgPSBjb21wb3NpdGVUeXBlc1tpXSArIHRlc3ROYW1lc1tqXTsKKyAgICAgICAgICAg
IGNlbGwgPSByb3cuaW5zZXJ0Q2VsbCgtMSk7CisgICAgICAgICAgICBjZWxsLmFwcGVuZENoaWxk
KGNhbnZhcyk7CisgICAgICAgICAgfQorICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1bmN0
aW9uIGdldENvbnRleHQoY29tcG9zaXRlSW5kZXgsIHRlc3RJbmRleCkgeworICAgICAgICB2YXIg
aWQgPSBjb21wb3NpdGVUeXBlc1tjb21wb3NpdGVJbmRleF0gKyB0ZXN0TmFtZXNbdGVzdEluZGV4
XTsKKyAgICAgICAgdmFyIGNvbnRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZCkuZ2V0
Q29udGV4dCgnMmQnKTsKKyAgICAgICAgcmV0dXJuIGNvbnRleHQ7CisgICAgICB9CisKKyAgICAg
IGZ1bmN0aW9uIHNldHVwQ29udGV4dChjb250ZXh0LCBhbHBoYSkgeworICAgICAgICBpZiAoYWxw
aGEpIHsKKyAgICAgICAgICBjb250ZXh0LmZpbGxTdHlsZSA9ICdyZ2JhKDAwLDEwMCwyNTUsMC41
KSc7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgY29udGV4dC5maWxsU3R5bGUgPSAncmdi
YSgwMCwxMDAsMjU1LDEpJzsKKyAgICAgICAgfQorICAgICAgICBjb250ZXh0LmZpbGxSZWN0KDUs
IDUsIDEyMCwgMzApOworICAgICAgICBjb250ZXh0LmJlZ2luUGF0aCgpOworICAgICAgICBjb250
ZXh0Lm1vdmVUbygwLCAwKTsKKyAgICAgICAgY29udGV4dC5saW5lVG8oMCwgNDUpOworICAgICAg
ICBjb250ZXh0LmxpbmVUbyg4MCwgNDUpOworICAgICAgICBjb250ZXh0LmxpbmVUbyg4MCwgMCk7
CisgICAgICAgIGNvbnRleHQuY2xpcCgpOworICAgICAgICBjb250ZXh0LnRyYW5zbGF0ZSg0MCwg
LTEwKTsKKyAgICAgICAgY29udGV4dC5zY2FsZSgwLjQsIDAuNik7CisgICAgICAgIGNvbnRleHQu
cm90YXRlKE1hdGguUEkgLyA4KTsKKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gZHJhd0ltYWdl
KGNvbnRleHQsIGNvbXBvc2l0ZUluZGV4LCBhbHBoYSkgeworICAgICAgICBjb250ZXh0Lmdsb2Jh
bENvbXBvc2l0ZU9wZXJhdGlvbiA9IGNvbXBvc2l0ZVR5cGVzW2NvbXBvc2l0ZUluZGV4XTsKKyAg
ICAgICAgaWYgKGFscGhhKQorICAgICAgICAgIGNvbnRleHQuZ2xvYmFsQWxwaGEgPSAwLjU7Cisg
ICAgICAgIGltYWdlRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdpbWFnZScpOwor
ICAgICAgICBjb250ZXh0LmRyYXdJbWFnZShpbWFnZUVsZW1lbnQsIDAsIDApOworICAgICAgfQor
CisgICAgICBmdW5jdGlvbiBhZGRPdXRwdXQoZWxlbWVudCwgc3R5bGUsIGlubmVySFRNTCkgewor
ICAgICAgICB2YXIgb3V0cHV0RGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ291dHB1dCcp
OworICAgICAgICB2YXIgb3V0cHV0RWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KGVsZW1lbnQp
OworICAgICAgICBpZiAoc3R5bGUpCisgICAgICAgICAgICBvdXRwdXRFbC5zZXRBdHRyaWJ1dGUo
J2NsYXNzJywgc3R5bGUpOworICAgICAgICBvdXRwdXRFbC5pbm5lckhUTUwgPSBpbm5lckhUTUw7
CisgICAgICAgIG91dHB1dERpdi5hcHBlbmRDaGlsZChvdXRwdXRFbCk7CisgICAgICB9CisKKyAg
ICAgIGZ1bmN0aW9uIGFkZEV4cGVjdGVkT3V0cHV0KGNvbnRleHQsIHgsIHksIGFjdHVhbENvbG9y
LCBhZGRCcmVhaywgYWRkT3BlbmluZywgYWRkQ2xvc2luZykgeworICAgICAgICB2YXIgZXJyb3JT
dHJpbmcgPSAnWycgKyBhY3R1YWxDb2xvclswXSArICcsICcgKyBhY3R1YWxDb2xvclsxXSArICcs
ICcgKyBhY3R1YWxDb2xvclsyXSArICcsICcgKyBhY3R1YWxDb2xvclszXSArICddJzsKKyAgICAg
ICAgaWYgKGFkZE9wZW5pbmcpCisgICAgICAgICAgZXJyb3JTdHJpbmcgPSAnWycgKyBlcnJvclN0
cmluZzsKKyAgICAgICAgaWYgKGFkZENsb3NpbmcpCisgICAgICAgICAgZXJyb3JTdHJpbmcgPSBl
cnJvclN0cmluZyArICddJzsKKyAgICAgICAgZXJyb3JTdHJpbmcgPSBlcnJvclN0cmluZyArICcs
ICc7CisgICAgICAgIGlmIChhZGRCcmVhaykKKyAgICAgICAgICBlcnJvclN0cmluZyA9IGVycm9y
U3RyaW5nICsgJzxicj4nOworICAgICAgICBhZGRPdXRwdXQoJ3NwYW4nLCAnJywgZXJyb3JTdHJp
bmcpOworICAgICAgfQorCisgICAgICBmdW5jdGlvbiByZWJhc2VsaW5lKGNvbnRleHQsIGNvbXBv
c2l0ZUluZGV4LCB0ZXN0SW5kZXgpIHsKKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0ZXN0
UG9pbnRzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgdmFyIGltZyA9IGNvbnRleHQuZ2V0SW1h
Z2VEYXRhKHRlc3RQb2ludHNbaV0ueCwgdGVzdFBvaW50c1tpXS55LCAxLCAxKS5kYXRhOworICAg
ICAgICAgIHZhciBhY3R1YWxDb2xvciA9IFtpbWdbMF0sIGltZ1sxXSwgaW1nWzJdLCBpbWdbM11d
OworICAgICAgICAgIGFkZEV4cGVjdGVkT3V0cHV0KGNvbnRleHQsIHRlc3RQb2ludHNbaV0ueCwg
dGVzdFBvaW50c1tpXS55LCBhY3R1YWxDb2xvciwgISgoaSsxKSU2KSwgaSA9PSAwLCBpID09IDIz
KTsKKyAgICAgICAgfQorICAgICAgfQorCisgICAgICBmdW5jdGlvbiBpc0RpZmZlcmVudENvbG9y
KGFjdHVhbENvbG9yLCBleHBlY3RlZENvbG9yKSB7CisgICAgICAgICAgdmFyIGFjdHVhbEFscGhh
ID0gYWN0dWFsQ29sb3JbM107CisgICAgICAgICAgdmFyIGV4cGVjdGVkQWxwaGEgPSBleHBlY3Rl
ZENvbG9yWzNdOworICAgICAgICAgIGlmIChNYXRoLmFicyhhY3R1YWxBbHBoYSAtIGV4cGVjdGVk
QWxwaGEpID4gMykgcmV0dXJuIHRydWU7CisgICAgICAgICAgLy8gRm9yIHRoZSB2YWx1ZSBvZiBS
R0IsIHdlIGNvbXBhcmUgdGhlIHZhbHVlcyB0aGUgdXNlcnMgYWN0dWFsbHkgc2VlLgorICAgICAg
ICAgIGlmIChNYXRoLmFicyhhY3R1YWxDb2xvclswXSAqIGFjdHVhbEFscGhhIC8gMjU2IC0gZXhw
ZWN0ZWRDb2xvclswXSAqIGV4cGVjdGVkQWxwaGEgLyAyNTYpID4gMykgcmV0dXJuIHRydWU7Cisg
ICAgICAgICAgaWYgKE1hdGguYWJzKGFjdHVhbENvbG9yWzFdICogYWN0dWFsQWxwaGEgLyAyNTYg
LSBleHBlY3RlZENvbG9yWzFdICogZXhwZWN0ZWRBbHBoYSAvIDI1NikgPiAzKSByZXR1cm4gdHJ1
ZTsKKyAgICAgICAgICBpZiAoTWF0aC5hYnMoYWN0dWFsQ29sb3JbMl0gKiBhY3R1YWxBbHBoYSAv
IDI1NiAtIGV4cGVjdGVkQ29sb3JbMl0gKiBleHBlY3RlZEFscGhhIC8gMjU2KSA+IDMpIHJldHVy
biB0cnVlOworICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgIH0KKworICAgICAgZnVuY3Rp
b24gYWRkRXJyb3IoY29udGV4dCwgeCwgeSwgYWN0dWFsQ29sb3IsIGV4cGVjdGVkQ29sb3IpIHsK
KyAgICAgICAgY29udGV4dC5maWxsU3R5bGUgPSAncmdiKDI1NSwgMCwgMCknOworICAgICAgICBj
b250ZXh0LmZpbGxSZWN0KHgsIHksIDEsIDEpOworICAgICAgICB2YXIgZXJyb3JTdHJpbmcgPSAn
RXJyb3IgYXQgKCcgKyB4ICsgJywgJyArIHkgKyAnKTogJzsKKyAgICAgICAgZXJyb3JTdHJpbmcg
PSBlcnJvclN0cmluZyArICdBY3R1YWwgY29sb3IgWycgKyBhY3R1YWxDb2xvclswXSArICcsICcg
KyBhY3R1YWxDb2xvclsxXSArICcsICcgKyBhY3R1YWxDb2xvclsyXSArICcsICcgKyBhY3R1YWxD
b2xvclszXSArICddOyAnOworICAgICAgICBlcnJvclN0cmluZyA9IGVycm9yU3RyaW5nICsgJ0V4
cGVjdGVkIGNvbG9yIFsnICsgZXhwZWN0ZWRDb2xvclswXSArICcsICcgKyBleHBlY3RlZENvbG9y
WzFdICsgJywgJyArIGV4cGVjdGVkQ29sb3JbMl0gKyAnLCAnICsgZXhwZWN0ZWRDb2xvclszXSAr
ICddOyAnOworICAgICAgICBhZGRPdXRwdXQoJ2RpdicsICdlcnJvcicsIGVycm9yU3RyaW5nKTsK
KyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gY2hlY2tSZXN1bHQoY29udGV4dCwgY29tcG9zaXRl
SW5kZXgsIHRlc3RJbmRleCkgeworICAgICAgICB2YXIgZXJyb3JDb3VudCA9IDA7CisgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgdGVzdFBvaW50cy5sZW5ndGg7IGkrKykgeworICAgICAgICAg
IHZhciBpbWcgPSBjb250ZXh0LmdldEltYWdlRGF0YSh0ZXN0UG9pbnRzW2ldLngsIHRlc3RQb2lu
dHNbaV0ueSwgMSwgMSkuZGF0YTsKKyAgICAgICAgICB2YXIgYWN0dWFsQ29sb3IgPSBbaW1nWzBd
LCBpbWdbMV0sIGltZ1syXSwgaW1nWzNdXTsKKyAgICAgICAgICB2YXIgZXhwZWN0ZWRDb2xvciA9
IGV4cGVjdGVkQ29sb3JzW2NvbXBvc2l0ZUluZGV4XVt0ZXN0SW5kZXhdW2ldOworICAgICAgICAg
IGlmIChpc0RpZmZlcmVudENvbG9yKGFjdHVhbENvbG9yLCBleHBlY3RlZENvbG9yKSkgeworICAg
ICAgICAgICAgYWRkRXJyb3IoY29udGV4dCwgdGVzdFBvaW50c1tpXS54LCB0ZXN0UG9pbnRzW2ld
LnksIGFjdHVhbENvbG9yLCBleHBlY3RlZENvbG9yKTsKKyAgICAgICAgICAgIGVycm9yQ291bnQr
KzsKKyAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVycm9yQ291bnQpCisgICAg
ICAgICAgYWRkT3V0cHV0KCdkaXYnLCAnZmFpbCcsICdGQUlMOiAnICsgZXJyb3JDb3VudCArICcg
ZXJyb3JzLicpOworICAgICAgICBlbHNlCisgICAgICAgICAgYWRkT3V0cHV0KCdkaXYnLCAncGFz
cycsICdQQVNTJyk7CisgICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CisgICAg
ICAgIGNyZWF0ZU91dHB1dFRhYmxlKCk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29t
cG9zaXRlVHlwZXMubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8
IHRlc3ROYW1lcy5sZW5ndGg7IGorKykgeworICAgICAgICAgICAgdmFyIGNvbnRleHQgPSBnZXRD
b250ZXh0KGksIGopOworICAgICAgICAgICAgY29udGV4dC5zYXZlKCk7CisgICAgICAgICAgICBz
ZXR1cENvbnRleHQoY29udGV4dCwgaiAlIDQgPiAxKTsKKyAgICAgICAgICAgIGRyYXdJbWFnZShj
b250ZXh0LCBpLCBqICUgMik7CisgICAgICAgICAgICBjb250ZXh0LnJlc3RvcmUoKTsKKyAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb21wb3NpdGVU
eXBlcy5sZW5ndGg7IGkrKykgeworICAgICAgICAgIGFkZE91dHB1dCgnaDEnLCAnJywgJ01vZGU6
ICcgKyBjb21wb3NpdGVUeXBlc1tpXSk7CisgICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCB0
ZXN0TmFtZXMubGVuZ3RoOyBqKyspIHsKKyAgICAgICAgICAgIGFkZE91dHB1dCgnaDInLCAnJywg
J1Rlc3Q6ICcgKyB0ZXN0TmFtZXNbal0pOworICAgICAgICAgICAgdmFyIGNvbnRleHQgPSBnZXRD
b250ZXh0KGksIGopOworICAgICAgICAgICAgY2hlY2tSZXN1bHQoY29udGV4dCwgaSwgaik7Cisg
ICAgICAgICAgICAvL3JlYmFzZWxpbmUoY29udGV4dCwgaSwgaik7CisgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgICAgIGlmIChsYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgIH0KKyAgICA8L3NjcmlwdD4K
KyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgYm9keSB7IG1hcmdpbjogNXB4OyBm
b250LWZhbWlseTogYXJpYWwsdmVyZGFuYSxoZWx2ZXRpY2E7IGJhY2tncm91bmQ6ICNmZmY7IH0K
KyAgICAgIGNhbnZhcyB7IGJvcmRlcjogMXB4IHNvbGlkICM5OTk7IH0KKyAgICAgIGRpdiB7IG1h
cmdpbjogMTBweDsgfQorICAgICAgI291dHB1dCBoMSB7IGZvbnQtc2l6ZTogbWVkaXVtOyBmb250
LXdlaWdodDogbm9ybWFsOyB9CisgICAgICAjb3V0cHV0IGgyIHsgZm9udC1zaXplOiBzbWFsbDsg
Zm9udC13ZWlnaHQ6IG5vcm1hbDsgfQorICAgICAgI291dHB1dCBkaXYgeyBmb250LXNpemU6IHNt
YWxsOyBtYXJnaW46IDBweDsgfQorICAgICAgI291dHB1dCAucGFzcyB7IGNvbG9yOiBncmVlbjsg
fQorICAgICAgI291dHB1dCAuZmFpbCB7IGNvbG9yOiByZ2IoMjU1LCAwLCAwKTsgfQorICAgICAg
I291dHB1dCAuZXJyb3IgeyBjb2xvcjogcmdiKDI1NSwgMCwgNjQpOyB9CisgICAgICB0ZCB7IHBh
ZGRpbmc6IDJweCA1cHg7IH0KKyAgICAgIHRhYmxlIHsgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBz
ZTsgfQorICAgIDwvc3R5bGU+CisgIDwvaGVhZD4KKyAgPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7
Ij4KKyAgICA8ZGl2PlRlc3QgUmVzdWx0czwvZGl2PgorICAgIDxkaXY+PHRhYmxlIGlkPSdvdXRw
dXR0YWJsZSc+PC90YWJsZT48L2Rpdj4KKyAgICA8ZGl2PlRlc3QgSW1hZ2U8L2Rpdj4KKyAgICA8
ZGl2PjxpbWcgaWQgPSAiaW1hZ2UiIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LAorICAgICAg
aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUpZQUFBQThDQUlBQUFBTDVOUTlBQUFBQVhOU1IwSUFy
czRjNlFBQUFBbHdTRmx6CisgICAgICBBQUFMRXdBQUN4TUJBSnFjR0FBQUFBZDBTVTFGQjlzS0dn
VUhPS0N4QmFRQUFBQVpkRVZZZEVOdmJXMWxiblFBUTNKbFlYUmwKKyAgICAgIFpDQjNhWFJvSUVk
SlRWQlhnUTRYQUFBQWpFbEVRVlI0MnUzVFFSR0FJQlJGVVQ0UnpHSUFNMUNMSmxaeGJ3ZjM3S0VH
L2ptMworICAgICAgd1pzekw4WjNsdFE5Yjg4OXNCWWhGRUloUkNpRVFpaUVDSVZRQ0lVUW9SQUtv
UkFpRkVJaEZFS0VRaWlFUW9oUUNJVlFDQkhxCisgICAgICBkOFUxa3k4ODd1YUZRaWlFUW9oUUNJ
VlFDQkVLb1JBS0lVSWhGRUloUkNpRVFpaUVDSVZRQ0lVUW9SQUtvUkFpMUdZdDFSTUgKKyAgICAg
IEFUQnE5VFlBQUFBQVNVVk9SSzVDWUlJPQorICAgICI+PC9kaXY+CisgICAgPGRpdj5UZXN0IE91
dHB1dDwvZGl2PgorICAgIDxkaXYgaWQ9J291dHB1dCc+PC9kaXY+CisgIDwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>