<?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>9410</bug_id>
          
          <creation_ts>2006-06-11 21:24:40 -0700</creation_ts>
          <short_desc>Support for CSS widows and orphans</short_desc>
          <delta_ts>2012-12-10 20:49:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.blooberry.com/indexdot/css/properties/print/widows.htm</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>40821</dependson>
          <blocked>39735</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Latapie">david</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dino</cc>
    
    <cc>douglas</cc>
    
    <cc>eric</cc>
    
    <cc>hayato</cc>
    
    <cc>hyatt</cc>
    
    <cc>joelewis</cc>
    
    <cc>macpherson</cc>
    
    <cc>markus.magnuson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>45385</commentid>
    <comment_count>0</comment_count>
    <who name="David Latapie">david</who>
    <bug_when>2006-06-11 21:24:40 -0700</bug_when>
    <thetext>See the attached HTML and PDF. Problem occurs at page #3, on top. The text is in French, but you should have no problem any way — and lipsuming the whole whould have been longer.

The CSS is p {orphans:3 !important;widows:3 !important;}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45386</commentid>
    <comment_count>1</comment_count>
      <attachid>8818</attachid>
    <who name="David Latapie">david</who>
    <bug_when>2006-06-11 21:26:13 -0700</bug_when>
    <thetext>Created attachment 8818
Test - PDF, French, orphan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45387</commentid>
    <comment_count>2</comment_count>
      <attachid>8819</attachid>
    <who name="David Latapie">david</who>
    <bug_when>2006-06-11 21:27:13 -0700</bug_when>
    <thetext>Created attachment 8819
Test - XHTML, French, orphan</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>45399</commentid>
    <comment_count>3</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-06-12 03:55:33 -0700</bug_when>
    <thetext>Confirming bug.  Looks like Opera is the only browser that supports this per Blooberry.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104095</commentid>
    <comment_count>4</comment_count>
    <who name="Joe Lewis">joelewis</who>
    <bug_when>2009-01-02 09:33:52 -0800</bug_when>
    <thetext>Adding my vote - would like to see support of missing print properties (@page page-break-inside, orphans, widows)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221609</commentid>
    <comment_count>5</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2010-05-06 04:34:25 -0700</bug_when>
    <thetext>I am working on this. Please see a comment at:
https://bugs.webkit.org/show_bug.cgi?id=34155#c1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786146</commentid>
    <comment_count>6</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-12-07 14:17:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/12838699&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786202</commentid>
    <comment_count>7</comment_count>
      <attachid>178288</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-12-07 15:00:07 -0800</bug_when>
    <thetext>Created attachment 178288
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786210</commentid>
    <comment_count>8</comment_count>
      <attachid>178288</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-12-07 15:07:17 -0800</bug_when>
    <thetext>Comment on attachment 178288
Patch

Attachment 178288 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15182696</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786214</commentid>
    <comment_count>9</comment_count>
      <attachid>178288</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-12-07 15:11:02 -0800</bug_when>
    <thetext>Comment on attachment 178288
Patch

Attachment 178288 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15187467</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786225</commentid>
    <comment_count>10</comment_count>
      <attachid>178288</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-07 15:25:39 -0800</bug_when>
    <thetext>Comment on attachment 178288
Patch

Attachment 178288 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15189454</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786235</commentid>
    <comment_count>11</comment_count>
      <attachid>178288</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-12-07 15:34:16 -0800</bug_when>
    <thetext>Comment on attachment 178288
Patch

Attachment 178288 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15175863</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786249</commentid>
    <comment_count>12</comment_count>
      <attachid>178288</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-07 15:52:35 -0800</bug_when>
    <thetext>Comment on attachment 178288
Patch

Attachment 178288 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15182707</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786252</commentid>
    <comment_count>13</comment_count>
      <attachid>178297</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-12-07 15:54:03 -0800</bug_when>
    <thetext>Created attachment 178297
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786415</commentid>
    <comment_count>14</comment_count>
      <attachid>178297</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-07 21:24:01 -0800</bug_when>
    <thetext>Comment on attachment 178297
Patch

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

New failing tests:
fast/events/ondrop-text-html.html
editing/pasteboard/onpaste-text-html.html
svg/css/getComputedStyle-basic.xhtml</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786560</commentid>
    <comment_count>15</comment_count>
      <attachid>178297</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-12-08 11:15:03 -0800</bug_when>
    <thetext>Comment on attachment 178297
Patch

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

&gt; Source/WebCore/css/CSSParser.cpp:2157
&gt; +    case CSSPropertyOrphans: // &lt;integer&gt; | inherit | auto (We&apos;ve added support for auto for backwards compatibility)
&gt; +    case CSSPropertyWidows: // &lt;integer&gt; | inherit | auto (Ditto)

Auto seems like a very strange way to say &quot;do nothing&quot; here. Is there some better way to say &quot;don&apos;t try to stop these&quot;?

&gt; Source/WebCore/rendering/RenderBlock.cpp:6778
&gt; +void RenderBlock::setBreakAtLineToAvoidWidow(RootInlineBox* lineToBreak)

We should assert this is non-zero, since the function to clear is separate.

&gt; Source/WebCore/rendering/RenderBlock.h:310
&gt; +    bool shouldBreakAtLineToAvoidWidow() const { return m_rareData ? m_rareData-&gt;m_shouldBreakAtLineToAvoidWidow : false; }

I like &amp;&amp; for expressions like this instead of ? :, what do you think?

&gt; Source/WebCore/rendering/RenderBlock.h:317
&gt; +    void clearShouldBreakAtLineToAvoidWidow() const
&gt; +    {
&gt; +        if (!m_rareData)
&gt; +            return;
&gt; +        m_rareData-&gt;m_shouldBreakAtLineToAvoidWidow = false;
&gt; +        m_rareData-&gt;m_lineBreakToAvoidWidow = 0;
&gt; +    }

Even if you want this to be inline, I think it would be better to put this outside the class definition in the header, to keep things tighter. But also, does this really need to be inline?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786569</commentid>
    <comment_count>16</comment_count>
      <attachid>178297</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-08 11:51:19 -0800</bug_when>
    <thetext>Comment on attachment 178297
Patch

Attachment 178297 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15218325

New failing tests:
svg/css/getComputedStyle-basic.xhtml</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787636</commentid>
    <comment_count>17</comment_count>
      <attachid>178297</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-12-10 12:35:32 -0800</bug_when>
    <thetext>Comment on attachment 178297
Patch

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

&gt;&gt; Source/WebCore/css/CSSParser.cpp:2157
&gt;&gt; +    case CSSPropertyWidows: // &lt;integer&gt; | inherit | auto (Ditto)
&gt; 
&gt; Auto seems like a very strange way to say &quot;do nothing&quot; here. Is there some better way to say &quot;don&apos;t try to stop these&quot;?

I originally thought to use &quot;none&quot;, but I was worried that it implied avoiding widows and orphans, rather than ignoring them. There is a value keyword &quot;ignore&quot;. I think I&apos;ll use that instead! Asking Ted if he agrees.

&gt;&gt; Source/WebCore/rendering/RenderBlock.cpp:6778
&gt;&gt; +void RenderBlock::setBreakAtLineToAvoidWidow(RootInlineBox* lineToBreak)
&gt; 
&gt; We should assert this is non-zero, since the function to clear is separate.

OK

&gt;&gt; Source/WebCore/rendering/RenderBlock.h:310
&gt;&gt; +    bool shouldBreakAtLineToAvoidWidow() const { return m_rareData ? m_rareData-&gt;m_shouldBreakAtLineToAvoidWidow : false; }
&gt; 
&gt; I like &amp;&amp; for expressions like this instead of ? :, what do you think?

Good point.

&gt;&gt; Source/WebCore/rendering/RenderBlock.h:317
&gt;&gt; +    }
&gt; 
&gt; Even if you want this to be inline, I think it would be better to put this outside the class definition in the header, to keep things tighter. But also, does this really need to be inline?

I don&apos;t think it should be inline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787638</commentid>
    <comment_count>18</comment_count>
      <attachid>178297</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-12-10 12:36:41 -0800</bug_when>
    <thetext>Comment on attachment 178297
Patch

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

&gt;&gt;&gt; Source/WebCore/css/CSSParser.cpp:2157
&gt;&gt;&gt; +    case CSSPropertyWidows: // &lt;integer&gt; | inherit | auto (Ditto)
&gt;&gt; 
&gt;&gt; Auto seems like a very strange way to say &quot;do nothing&quot; here. Is there some better way to say &quot;don&apos;t try to stop these&quot;?
&gt; 
&gt; I originally thought to use &quot;none&quot;, but I was worried that it implied avoiding widows and orphans, rather than ignoring them. There is a value keyword &quot;ignore&quot;. I think I&apos;ll use that instead! Asking Ted if he agrees.

Ted didn&apos;t like &quot;ignore&quot; and suggests &quot;auto&quot; is the right thing to do here (if you read it as letting the user agent make the choice).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787658</commentid>
    <comment_count>19</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-12-10 13:13:56 -0800</bug_when>
    <thetext>(In reply to comment #14)

&gt; New failing tests:
&gt; fast/events/ondrop-text-html.html
&gt; editing/pasteboard/onpaste-text-html.html

I&apos;m not sure why these would fail.

&gt; svg/css/getComputedStyle-basic.xhtml

I have fixed this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787672</commentid>
    <comment_count>20</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-12-10 13:25:46 -0800</bug_when>
    <thetext>Committed r137200: &lt;http://trac.webkit.org/changeset/137200&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787805</commentid>
    <comment_count>21</comment_count>
      <attachid>178297</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-12-10 15:59:42 -0800</bug_when>
    <thetext>Comment on attachment 178297
Patch

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

&gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:1699
&gt; +            // We now want to break at this line. Remember for next layout and trigger relayout.
&gt; +            setBreakAtLineToAvoidWidow(lineBox);
&gt; +            markLinesDirtyInBlockRange(lastRootBox()-&gt;lineBottomWithLeading(), lineBox-&gt;lineBottomWithLeading(), lineBox);

Isn&apos;t this going to break if it happens on two different page-breaks? The first causes any later to be invalid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787990</commentid>
    <comment_count>22</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-12-10 20:49:58 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 178297 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=178297&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBlockLineLayout.cpp:1699
&gt; &gt; +            // We now want to break at this line. Remember for next layout and trigger relayout.
&gt; &gt; +            setBreakAtLineToAvoidWidow(lineBox);
&gt; &gt; +            markLinesDirtyInBlockRange(lastRootBox()-&gt;lineBottomWithLeading(), lineBox-&gt;lineBottomWithLeading(), lineBox);
&gt; 
&gt; Isn&apos;t this going to break if it happens on two different page-breaks? The first causes any later to be invalid.

I think the latter will still break. All it means is on the next layout, make sure we add a pagination strut at the marked line. It as if that line doesn&apos;t fit on the page. Normal layout happens from then on.

Or do I misunderstand?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>8818</attachid>
            <date>2006-06-11 21:26:13 -0700</date>
            <delta_ts>2006-06-11 21:26:13 -0700</delta_ts>
            <desc>Test - PDF, French, orphan</desc>
            <filename>test_widows.pdf</filename>
            <type>application/pdf</type>
            <size>46746</size>
            <attacher name="David Latapie">david</attacher>
            
              <data encoding="base64">JVBERi0xLjMKJcTl8uXrp/Og0MTGCjIgMCBvYmoKPDwgL0xlbmd0aCA0IDAgUiAvRmlsdGVyIC9G
bGF0ZURlY29kZSA+PgpzdHJlYW0KeNqFVE1PwzAMvedX+MgQZHHsfF1BwBWkSly4oImBEJ3YCv8f
p5A0FR2smtq+PD87z3H3cAd7wAjsjHZEPoFzCSiQZu8J4fAE97CD9eWAsBkAx2vY5JBoWRv5+Ryi
zktMyDFbWdUh+GgdhGB1xEge2EbthYNQ2fzNXt+I/vMARgdnEyMmNT026JjaeJ2VCZwnbRMRQQ+I
wvI+Yq5GUI7wBpyCNjZKeQ3oDAoY0Dfxb/AC21MRcdp5Z7ILrDlJsaN0EpR83qgRNCSrRDtGbQmD
m9AxoxXUkG0UqniR4ZA0WaI0iv+kVBycoBxpJjNDa8pJoYqX7XOQTlrvnOobq8RrQUOaG9Ci1atJ
oYoXGTVzfFF8oZAZWhqh/rG8oO3+lxxsUNU2YhRf6lF/xMYFy9Wf/ZwMq4erP+JidVwt9+HXQSzz
ZrStfzn6MiY2j8k+j0RKASk6ZcDA+fQ+H81NDxcdSPkjS+6YZLwlfdfD+lryyzh3Wzi5fRyGB4v+
bKW615YvZRX+CaxgvijG1MX3Q44fnnYfZz80VWhM5rgG87S4/fz4PIyEq06+THdffmT2GAplbmRz
dHJlYW0KZW5kb2JqCjQgMCBvYmoKNDMwCmVuZG9iagoxIDAgb2JqCjw8IC9UeXBlIC9QYWdlIC9Q
YXJlbnQgNyAwIFIgL1Jlc291cmNlcyAzIDAgUiAvQ29udGVudHMgMiAwIFIgL01lZGlhQm94Clsw
IDAgNTk1IDg0Ml0gPj4KZW5kb2JqCjMgMCBvYmoKPDwgL1Byb2NTZXQgWyAvUERGIC9UZXh0IF0g
L0NvbG9yU3BhY2UgPDwgL0NzMSA1IDAgUiA+PiAvRXh0R1N0YXRlCjw8IC9HczEgOCAwIFIgL0dz
MiA5IDAgUiA+PiAvRm9udCA8PCAvRjEuMCA2IDAgUiA+PiA+PgplbmRvYmoKOCAwIG9iago8PCAv
VHlwZSAvRXh0R1N0YXRlIC9BQVBMOkFBIGZhbHNlID4+CmVuZG9iago5IDAgb2JqCjw8IC9UeXBl
IC9FeHRHU3RhdGUgL0FBUEw6QUEgdHJ1ZSA+PgplbmRvYmoKMTAgMCBvYmoKPDwgL0xlbmd0aCAx
MSAwIFIgL04gMyAvQWx0ZXJuYXRlIC9EZXZpY2VSR0IgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4K
c3RyZWFtCnjafZJPSBRRHMe/syVCrAVlJlLwTrYHVwbtYB2M3fVvyrasa6YIss6+2R2dnZ3ezG4l
HkKILkHWMbpY0Uk6hgcPHQIPEYJiXSLoKBkEgpeQ7Tczu+6I2oM37zO//7/fe0BdKG2aeoABecMW
yf4ouzs+weo3UIcGBEErrVhmJJEYdplscWTtfYXknJvh4/X/XQ2CEgISVYDGrMfXHJ72eMDh+7Zp
E086rOTSGWKTuE2kkjHiV8Rnsz6e9nGGWwrxMvFNxRQUJ5AiHigpWSfmDrFsZDSD5JeJuzKWkicm
38BTZxZemfYQ0H0FOPW5JpuwgOV3wKXWmizUDFwcA1Y6a7LdpDsfqWndUjs7XJEUjAJ1P8rl3Vag
/gWw/7xc/vu6XN5/Qzm+Ax91pShKlRlJ0hfA68Ndjf3c4EJTmHNfCVFQNZ37Rnq82uvXi0f1Jat0
EnszcVcXsET3MHYGGHoMvPwJXH0PXPgAJBqA1HUEHqG6bf7AzRMrmA+Fls3ZrEOWO1jYOTpZhF4I
Z7FC3izaXLBBQ2lvY2ldZ66pxQS3uCjxTDvyerHa7znaQW6MjtBJ8wqo3OqtsDSTSffQ3aCdeCPD
e3qdd0G8qGp9g86F0P6kir5Rj6Xzmj2Y8jjQbejx4QrDKMRvezGxY9rRZDW+VRrprcpn0rcSdLaQ
/MZsYcixaSLf0FwuNeaxlJrLxeIVXsU4dHBoMOhrgCGJfkQRhgmBAlTSaGShkZS7NoLYwuyxljoS
Pmak3yafbdfnHork7XjdQTSOhbaDCEz+Jv+Wt+Ql+a38a7GlGKppFsSUpqw/+0NxnczVuBVtpSYv
vkJ5I6TVkSVp/qAny1eprzrVWGypRXJy8CfxPV+X3JcpjGk30qybqeTqLPpGfNlOmh7Zrs2vNtdy
bZ1emdwMrs0fmlXhSFf8oKvD/zU7vz//B82wAWgKZW5kc3RyZWFtCmVuZG9iagoxMSAwIG9iago3
MDYKZW5kb2JqCjUgMCBvYmoKWyAvSUNDQmFzZWQgMTAgMCBSIF0KZW5kb2JqCjEzIDAgb2JqCjw8
IC9MZW5ndGggMTUgMCBSIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp42q1dW5Mdt3F+
x68Y2U5MJ+v14D5wHlJWSk6Vy3JFCe286GXJXVIr74XcC0Pr1+cAZwD0TH8NLsWVSkVJfQA0+oae
7kbj/fTd9H7Sy+T86RIXd/g379MU43KqjfZmuruY/ne6mX73H/d6en0/6fL3/es8ZDH2NB3+cnmI
+u1mzJsD9DTGsBhPfufMchpcCHr6bQr2NHhv9PHXh/ltnn8+zK3eT/NpTClqu/jD/5mn35L/Piys
dYqnh2kOI66nr19Oh0nKrw5/Gn3AxizTy+vpd3/Up7PS08s304v/+s308sfN70yov3txx4DWN+Bt
A6oV6GIDXrGR3oKRFRjqtOrFWwaMHaFHBlyWBrzYAZWd5wac9iPt3Kf9PQN2Yh1HKgo0fdr3bKQ1
MrbWlWkVwnayPgywDQbSVh2BnQhnbGRMg2kXT6ZVO2DS8lbc3Pl5zYAH4lfgJQd2Mfne6MjgNm0F
kNLeOZnfkwsDfh+0otH+ngGjl6XTLR3hyz3tXep0eCjAb14Wy/FZiqp0OP7q8KfWegp6PiqqOZ2n
o6L+T5l887tUf7eilYFqBRrbgFds5IEDFXjBgNatQPXihgFdn/Y1A/pZnFZp39c8/dl0OsyoNnTy
ek+nr/lu2+9W3lK07NyAj5wUSwPecVK4BjwvYrohhRXXPPyraUBO4ViwVRi4dGw54w5iWoHXBKgy
0MyDkWaOMkLm8E8FPhQTQYGmb2ViI03cUmgDtEFV4BkDOjtAyPc171eg6sBlgFDo015xYGyE5xSK
jq3ZgYQrEyP8QY5FSTDJyQJmNyxTe2Cn7SUb2TWD79NqrwbAJIuJNUEmfD73KvCUjbRB5op1XeL/
zIB+o+R6VfKv+O+WjTFYvZu37HchDDYYLWCHqsA02MPSGfmKAVOdVgEupyQbIDfgsnKEy0wmnY4D
oLFbIlDT5YhFvGYjnZXJ5/wsmy7nEzEje2DoSjKd7ynv4oJk4BdslgUeCI9sh0uSrYtLi7xDP/u2
w4mx0msv66QnmvVhv0NPNIuP7Ayh2//lXh68jWj7HM0RDz3h4cROeB/ko3TyER2ldYedh9zq+KXb
jjMOTE17GLc84dbP8b5U9Sq23tfhi2NHxTPufS31d1zCdObnCpy4V9FWAK7Z4QPrAFTYccguxzry
kgM7Qjf7U6h4XyvwlPsjeoBt6Fv52/4U0rGvyR2kpWPLt5KsqsBr7o/0NV9xf8QzIvTjP2vZCuTn
tPED4JErwvFv+z45tr6T74Id/x5zpbscK/CBuxyWcGXvdxHCA39kQHhDCP/IXQ4t87O4HCvwnB3/
eiDx1mg2kvgGs0x4a+NgWmca8P2e8JZwhe/TJ8iy7iI0/dz7XXGGa3YXQVxziUpeM7nBPlOf9vWe
8I7oyg/cC/CyJDjjGuG5i2BnmUJO4Io6ughGppAbccURrlzuCe8CUQeOblcW5CJ0asXwJOvulr7a
O+Z4JSMCDy7CQIU8UaHb/aHhiQrxk9dYmc3eGlmFvO1UPYG+QKXqAzu0vR3spXNr7JYESPJ77j50
qk4fuBfQzRb3kJaBHfXJMklu8hDmeXcufnZUQnH/Ic7MC/szikqsv+NoabM04D0K0FQgP65dmVbB
ozMHaOpIflz70ICPzH8IfU3ueYSO7QOPZziyFcXjGfJWDlyViXA4xvbkI/7DYNoc7KjAN9x/MA3I
j07CMn6W27kR/gEEOwYIHXSwAs+5/2BkwhvCMu4FBEO4svcfCMv4tNEM9rnoRvjXHDiQhBzs2GOr
aLCjAk+45zGQeKu7xHPnwsyTKCbWdEn4wPwHO5B4a5fBtM4T8u39B+9k2tpgB9PGWckjD56HSPhs
tPbk64RPRpYhmxZZHdxRkYTPfT0QTWf6mqfMfzADXXG2U+hrFJzoLNv7D64z+x33PIIsfS50wnOE
Qp/2FfdKApOh7ooQ28cRWtIAoWQb4SfuYswyQn5OUKjV0f+wMkJeYFkLXzQKfbunvHf4YFm9CCcf
SZ5Q/pr7C3Yw7aLZtIq6C6KaeWClJuouVMqffEkSo+cfsvUyzDvix6iO9XfgYzrT3xz9P56VySpj
mJ/2K5TsoJgoCRPnBpj4thjBpOakwtyA3IXXsUN5JiZW5BQONLR5z7mnEMV5lZl9H/oBpT4qlDsZ
pm/1judFEgEyb8APpnVGVeApB3aEpr/BE3+FfmCeTUgMSE78MAAutkkXB6Z5MJKQnh+ws5NH2q4W
L74//Ieka+ozdO3omh/s9U7X/sq9b1t/B1Jwh2+tCpxQevQAVNCE5vqPOvIWxeAq8JJ7336AUHaw
V+ADShh2bPfed+pr8kBk6ms+ch/64H2vwGuoNWArq2LMbCtqozUr8AL60CJCzjXCf0QJQ5FlOSdY
gSyIVDxhcU1C20sUgxMJbwht71EMjkipGMoo+sOl+Qyq0roYC2VYwo533D/u7ODRQOu30qw2LnDf
/WuU0qvAH7gLPDdGgshcbCN5jjFqyOWjsVk6I/+Kgm+ieuU6F5GRTveRPFdmImLkV8wRtJCRPEnm
Zjwf8nT5fLfQ6d2xtyMVjKyKLiRZodzSOXgNXVdp2uK6Shz0epbNnCcmh+eljCdM2jun2etZgdxd
7pREmTLXbCD3OnwYDSUm+557p7NsHPwyMII+dSOIXdeN7jzFdVWfOk4PX487OfsD905t/h32H3L9
zToJKkWKDchDUvkzewW+hX7oCuRHm+/TnrFDMUe6ViA4a/u0INKVVAXyHNvSR05/AtEsRgW1iWbV
oaA8x8oELKftSnrg3trGQBDscn1VVl1WjtsVyANPnuD7Dp63BapwDQ5i+OqkenFRZZa+F56ZN0mD
zdDTuFGQ1dkYWRxs1wAQtNK+icN0hmppRAG1RClueaFNasA7GHuSGFMO3ioNPHlFBJ8nr6IBUkYq
Y9pOfwR5L2ompOoNZdOMzAlIlUWZIzkbVrfID1BtZFVxOsFp15jU0oDnKBsm0rzEpJqIoJO6Eu4c
xJ0G6B7svKxk5QyWpMstnNH93E9msJnUyTBdwODSSnteqKGXgVHwxBJdsSyU9bJgekJfflq61GwN
D1r5kUX2QTarKle6tKEfYOxJ4ptfFrKZvTOSulH4+GzVLItmvuAbHl4K9XeomsU1IE/+HFSjAu9Q
quoAVNBA5oBTHTld80PaN+gZjySZAUah7wVEmepIhRZdUhvKvZEkz6vMbAabyWUp4rz5wkUFMv/U
2D6Sl8K4Ae3NwT+V1wxaplE+hdte2JeBiXGwl8UN5j1Y+CoNIDsU5Gnt4SOsAplxtrqTnuc+NBGy
S3QKV2m4QV+4MkbOiKRXlvCFY+TdYNo9X9Tu87cCT5/PPPjlScnq9XdHZVR7C+AXqdjNNeAVtAD+
eCWDh3xdaCOBdUgNCMJllu5KqkwoEWeweybxOnZMLpBjL+9+SW2D9yjCJk5b7AmYdi3m7xTnhfUH
CUGkaSnsCrznQetIgOxjwQ6mtVFV4DsUtJb36fu0J7yYP8q0NZ3LqF5/boR/QNFuedrFQIFdi/lH
W0kDSTApEWnef2RogwT2K1SdzwRWARNj/NPms5t1a8rnFlXoV+TBJ0cENFHE2Ek0ybE+UYxtqHtV
KBfe+cBzB4ssqSp/jYgczIHACoSBwAp8YCXlc5L3mavwxH3mKrwqqaDQrhOel8vZvuZHXoU3UB1H
lO4OVeF1W8+q8IJsBVy3p2ArsZuIe1RuJ2O7JEY+RT9JxDVzub44bQ4oVsLzinTtZMLnXDg6mVT9
WhEp5G160snkXVCDk4l8w5jB7n3XoFP0fdNI8wceoEziqa08YRYPtiYji5YnzDp6N1+YPj86MAd8
DnukhHrPHZh5/R3yNLIDswLZdZhckF+BIN/Xp/0RJcoPQKzZ2uvBtD404Bvu3fSR4NunY/sRRS/7
PkEpXkOIe2rLjkQ7R0ZVIPcbZrJREL10FboqhIInVfFb+u/EnEauwqur3cBvKRFPR/jMnaqDoRDl
x4TOLhDwjH3VK+bhLJ0lZ/B7CYhBi1pW6bpFBXOdDMyL6GuyekObbdsKPIGfS3Wjj6gobtVFsGg+
jyQBKl5CnfcDO7KJTPOdRidrg43LVhs2X1ML2QyofAuywXCza9LAz09NFAkmBfcM32QCZRl0hIR3
8EiXxCEn80QiOSK9D8yNiEZmmyOSfbRh9FD7J3aNL0EdnvgZQqSXVex4bQbk9SbJ+uQt4fhbXqa2
DIZ6L4vD4Sxt4vAa3YqrwB/gObsh7zcv1RcdiL5L9e/+aE+1oq7/lxarbSbvHPx36ASMBeNZTv40
L/uT/x4Vzh1/B4OXugHf8rhGasAbFLqoQH438HCWHIDYtdSuT3uBTv4KnAjP1M+n0+Eja52xMGEV
iH9+nurFEOjk4rGso2/bugJ500atn7jj0QlyiyIoFfh3HiRxm41LvrZpgrTZAw9G6L7Y9H/I8QCr
fcWwshGt9ncUNBHF1vhZVeA1iosATH7Ff7cgBXpE0ZK62LunSY0ai2RuiQAwFERSfZ6851QvIPDp
8xmdg/7uaAbjpcffIR0/fG5U4D3/3HANCD43YgO+gqbDJYUTMQcPoI58RHHQCuTB1NgRguWFm60w
1W1bYbWHSR6Zq3JF8hltlEihfMW3At9AHV2BLK2ePw4q8AYlWioQfBvERvgJBSLryGtUWVuBZ8xS
JMyVdpdGxDZnSzrLWEFDkmmbb/HK0xqvELYtlCiPdJrJkKJfBiI/c4iwAt+hEGEl/BXq5SFKvF00
lD5VCxZEhNw8QMgR2t7xWsEmmsOgbL4cQ35Xg7yv+e+SLB/5noykXsoRUT9BBQvy7n3Y7l7tmnj0
3bNvhYFFzA0+KiPvUblCHfke1RMiLqt6FVdc08+LbIBy+E80Xd44mfCeGHdeBGGjEm2pJ4SHbTkq
kAUR8h2aPZCMXAbYHo8FBWvofBwYIE+OhVeM8MSuXaHLuvI+iV1j+alAdO/58p/psJOds/Atapi2
/o4XO+vDZ2UFPqIgYAV+QEHAA1CKEC5t5DXqElaBF/zI7iNv0K3aCnxAdYgVyKvW576Vc1SGiBCq
ZYiqTwuqEMV9GkK+M54e7CNfg4hdA/6AKhwq4cH1Vy2TLxf9i4Q3hLYnqAZRJEIuM+xbQUe2tJVc
4LCn0PbIlraSb7hWII9/uXkr8dsjO8kUsoTwEzyyV8Kfo3Ddfs1NGSHSsuORnT8EJUlwhLYX8MiW
JN6ZWZb4cv522yG3nLAG2ZhHVN4vEVU5l2Siuk7xsWcRfCU+xeQKlffLBItBltScxxONS87jVSD3
D1KXVBgQFNnruw3nJsIT7eDpKDMwaN5a2UTkVlsytq5T6C07Gr0bIBRmWZd9iMRO7n0SYpauUQcM
kZ+HQ1VtbdYXfCSrdqim9KQrrevvYGROVeANujRQgXzafBynJDTWyE5WSlJRER9JvqDLSKEvZzQD
hLJZSwmX8pSP5CR8WZb4VkriHTwyrQJBLWmfJst9Sp+8mFRO5icwssS0Ev4wVOUET4IvWL6rUxIu
u3qzpZvanOBdBL6FISuJkeWjOwkfGybbqCQFF1KERF2rEGeZV+WQTsLHhu3sAGd/5wG6J+DlfVpn
lLymW+R9WqIH7I5mzsbJa0YzmHaZG+F5FVHXg3HJUrIbmVRSA6e5s+MtBy7A8qh+S0Ckmxsx0jVG
KlzKIxq0cvYL9uNw9geZqM534eFfx8FuZVLtv8g5xXlXzdhX+DUj1gJNBKzhqZOAflqLLFK5hkc8
JfKVgw1R1e7KgTyt6dOeoCxildQJnv3ryB/52a/hmqpmGBsjb1BvTRndsDTRAtcnltHQZRENk8o3
Dirw47N15dazcU86/usPN06Uqi0tGvQRVRU36I8oN7dCFWqiGUcze9+hd6j2pkF5wDuQmTmXcrA8
gxXOGS5xNPXB7PWpX/ErggHTsmWu5B3nPhYNrbfo67yNhX0xAbXILcGO9DW6g9DAZyg91dC6Qi2q
2ti36CN9gNYSNhIqnjWGEH1j3UAB7zygktUD1iprKGsv0Fd6A7/h0EShe7QoA/gXtbdY1I9oeTIz
rzAOfiCt+Sp+g54WrJ4j86bn4Pcfr3/CZuWAnpB7cxWq0GUF38feo9Z6cGZV2+826A26cjyYOdgR
VtH1sdxgLQavq2qLjwE1EsEZNMpLHas3qHKvjT1D9XoNynKKOUvXoPxWkyUzX2GTs2J1gar4Bjvy
oUPfMawCGXuHooIyJXM/3oYVbMgrcz8n+ga0SmTsLUr1yVKX7xXIcnU0PBJWufkHlDpV+/LKtLLO
DriQq/0aVteox8dgvzEMpL2YEXndRMa+4d8EumN1h3rdyVjlZncyVo5K+wP6LpBxzs10ZWnPUcHB
zF6ghqplfw16jUr7ZO12SxjIlUtxMLPXM5557fIRsS6sfrkeSHvuky9j5an1Pkf5NSjPa9AuDLjv
qd0AKTZiRXnSL/qBVfHUtvOOKEu33tSP+f7Fs+XG9JzYO0Tc3S7uZf9hLTH7BWqZj2bkvrBpMyrQ
R6ucD8dpALTYnhXKHfiiMWmWq+8a9AbV1jeszvEpDdYlvv8KPeNBwNihPBSaOiPQl0HsWE0oSCjT
ypTzIc3CZTdNqPGIgogyVsbOI6wsmfkBdMAb0MpQDoJLz10WQZIyuBFWkfDoPSrjh9Romb+NDkjR
lONhz3WA3TsxKQ5k0c6EgqAlrlEN+gZ/jgD6tmjkVhY3RfNmGXDOUs08AfcD1ABnR8bCnmFPsjFH
50Kg7/6mdZOFe+yFiPuMFlNf1XYost7YZcjXFDpWF+gKokxBNyeMs6rlR7LeOKOh/LJu7s5gGw4e
EHAjXN08kFDnCK63KOS53YnadU2ROXf0eiT776IdSKiLy8CWOspXjlWyg3Vz4zPZlvo5qAGU2vBL
1BhtS0m1C4LKsuiH2uw32nyNLkzIRibXHclGxlMmwXcC+sLvuc/klax9fsiHQPlw8mwVwzp7SLuS
4XN0Q3H9oXBFsUF5Ma0NHfoGxi0qlOXnStyiQi9Rz9IGfUAlSgOsAsHqHF0JaFD+WuRC1r1HtxHJ
uqBPC9mvAh5Rhd5Aj0jEKrdxkbEqUQ2RViWQWqE/MKxc5/44Jpmj1+SH83pj8h41VpD5mmuWgUwo
4ifJNIp2tM94pJGUX/UDzpWAK8dZEY9IxKp4RBXKn/3TrmE1zi8avacvvnptTVRP4lhxisCMvO6Y
yADyj4jM81Lozk+Q8rBUEx/RFcoGveMxlSFWVBPfo1ZtDStwi3JgAUoaFq6ramVWg/6IErGDmbsm
ouiFTQMpc5QLLAZcIi4irXI2llgA5l2YEa0oF+5gPKZC2XecS/OIGlSrJpR9bVi9Q2XS4slyjNYg
a3mMXpjhutYOzg7vCK0uUNe3PvM59D0qmOUdfdQDVfExYULXN4pGaKXRAZ9bI+wY/MU3/4rr4eZ9
rcR77Hq4eeR6uBkX2JWUSYXeoOrnBj1HTVozVAlNEFIf+wCDMRV6y/rDRTfaUXEu3DxyLkSsEpn5
Gr0t1KCsGU5JmYjrGsqFCTWJa1jxdW0a7PfoM7B1FXUUnPDhneusGvQKBlQqVhcwZSLvN0a0X9Wr
tAZjl4ToTFrJyRzMpdZtLHjkcNkojV6v34BeTH6rXeuxztsRGUNxVSDNUqHgnSErU1+VJIzIG+v0
gEZHd6LprULuhKR7NlhZUlUu8R6sG8PAXhSj1mfeY5X0QPfc7ADnphff/4Z9jO8N4/rLa+xH7Lai
tn6EpLDOhgEJS15HVJyS15E3GohAveOPJY+UzlGlO0EPKHfF+REVccmcdYlseGJ1g7lUSx5c4hRt
8D16YEgml6dacoOdBcn6eaoHoLIq6IGxyCXZA7TiyNz7hRjW9wytZWTQfWLHzHO8jaJ1wN89al9f
oaVslzZ9GnjzWTXoDer23qCnOIpBc2EbrHJMsEK/g4VZWqygiF4NcC7OglSNoIvnHcj3j9rVb8vr
HiMRPH/3C1jdBXjzCGsytJSHLoVeWqyNsGQn9zAno4PwdZI7vg/G+oCpoLoLIVddzENo6FjBQu/B
flOA1P81v31lIfUndHm6rXfNMyepQ29R7yRZM6yLSt6JDfNo5pB2FNxgFf1AXy2V/UtQsq1kzbBp
nkZQt1tX7WsxKvQExw3EiglNbMw5ar800rnN+8f5h+qT17aGnHMuDiTUUasFnxZs0A+8M5MbcN1R
2b+EuYqK1UdwFWuAlZ/Jfh94/cZIm72ZIfX5m8E7NsmPBtuRjuc2irIMemq1wI3ruOMrS1FoqfKm
pCjkmWMaaLNPoxP0GCag6z5ThuKYchxmTPVxnlloLlhctJa/VfwRwga9QG0UG/SeZyiCDF0zFGLt
hCdjP/AMxRCrSLC65hmK4dhExnJPJ6UO5W/zFvsmZSGNJjPz21bFOxOrI4yl6078zUJCScX7PxP+
Tih/IWTdlHFEcq7QPa8KHec+fFacJ+T2TQgjCsajwBev/ffolZnd2C/udxQT3OAzNTxa/ISo8jWv
KCE7gy0jZYm12jbS83i7pVJ3i7pGbmVDsfSIJLGWytUJqBlRMp+tI/L8Laxg11Jm/JgTEalBdZ/X
jixdTIHXlEZ2I19bk2nl5mVPqy+t8nPaQenh3oghmL1kF7+tHu3KLjKPlXMjCXB+Htj3oweVhOCa
C3o0cyBSe8qwinpgQ45xlEYN5l8tVLYUyriIFQrU+j/w7pcjrDzVww/oujs5ORR/gmcwsyUzv2JY
0RP6EvtZYu2Lj1TT9lhRS36COtR0nD/wRtV6YJZ8mkdsSAtV8We7wmJ4DvoYoGSeluEpYyYO5TqL
kVJ72uoOvYfhFiMWb+QyWiOl9nRmqRHSkao4XRK0tKJrUPh4T4Nyhy3aDWFEV6HU25onlEmUAE5d
7xS6cYYlKRUpNKnQv0BHTeRNcdRWYUDZHkJ9fvXGdPHguS9D+cpdQMrX1zCQU7G6gEUjdexPMBck
0qoEcoxUvlA8JFHazMojoaQkGbRugxJaPbDnKWY3oJWlHLxFj3E0rMDbuWTdE9QtT6ZVCQZ1HQBP
/A2w8m5AqxIqEmllqe5do1f+GhSXtYq2pjg9FavX0OkxUlbdzdDGKZLLEdd1mtq4exgNqmjdwgyO
kStB/ECwnCdoTRcwhSNPHTWxDQ8wS2PkWpDIVYk8l+EGxtdRZeGJlJmarHMY3BHtnTeIE2rjX8iD
HTUt4BUMBw/Wr2A2B5yrH8B1ezVAJ/oBET3VkysWOFrsQNb9MiRDcmrH+C/t1RNmek7aHem+9ONi
O3un9789y2f10Z96QgZe55CwcYIfqItkirUiub7F0CSe2ieljJQCLqEpI1a/BN2xAu2Glj72Ayye
NU4oNtcLwYp7WAsZCwJXpmP1Ewxcifs9ejw0Ma12byDKXDj6NGIFiw1KpsbRpxFnplxgteYlOWWk
BK8JZrTffF2gQl+hh8QGWCW926/avRbWoLyYdY4DDlrtlLwja+bBjqzVO4lV+2CMcZ++5GQJQ2gP
20v0Kkhb7zX2ZYAcq9pncLCTkEYzx8Z1hNVCaASCP2Tm97wT4QirckXHiIUdxgywciYMsHLUTj3y
18CIhjzAchNRnpwntLrHnozDQZTjdRtEDdWCKBX637DaxAyrTSpWV/BCjXHS7ROqPx95CmtkH70h
+/0JNQ6qWA2b75e7NU85u7zTg7OrhFZEq+mphtzzFJYbSGpJYRknXHbyyxCrNMSKasjd86WwTGCX
bOAzx+sP4bVj26EghTV36CW8lGyEVKMqHYnksbm4wkjJxHJBx7SEoAL9ikwQYy26Q1mlXklwGbG0
JTq6LvMiNjMrFDcRsUqdC8xfV/sKGRM+7a8fPY8drmoba5GoX1qViFQol3rMsQ4AtCgs+i6X1BDO
/YXX3RKu38LmSEYsHQqpY3UPU1gyVotDvFHkfrLEm30zRMSbd7x+Jgz2WcpojVA+ocplZCMVc5Tq
WFHKSmukvq4C9a9GLLjxRGJ4x6ZgB/S10UAK/pr/MClEQXzJRrQPpZSmysItvDIsypHTGs2saPRE
sgCO8uYe1s9UrPAlGxOECFdueAgkRpG2JvK6I4tXXihtWL2HTU9kWi2QGooGViSsjv6IWC6yaojQ
a5jaNn7W6oTkWPXXCAZY0TNrQu8RNKzO0cuj8kmanx4dYBWGWMUhVgvh4CPqdShrtU+Mg9nzUF/s
eSR2xwZf7zVimUrRpbT1KtU2jyPdpT76FuLMxbdYix1u0AMEbSx8gaBBp3P+LPpwcKSDr1Fr44bX
JY4zSOn3/Px5gz7yWzahQ0GRixkgfTzPV6xAUxPfx54+T2mITRv5ed7SkCKd+Zt+d8J8x5+6c+2H
KAZmOhR4vtm/XaETLNuuUNBxm6zLn94NZOwEM4UV+g4WdVfoGSzqrtA7eAOsQq94UbfZ4fzlrZay
uDc+fXYU9lNx0s3sg2cbzUxoNv0VOsoVfAM7/rTB4IK77WAco5OkRJXGfKIMldZ7W37sq6Mq9IRh
tSSCNE9qzYMdq5IeFBcuNVFt6jewKKoPVsCzFXdsXRhQqzTulNGiWsPzknHe0EOBenBRAsr1rDaY
lSbmZzhkG+MoMR9gg70uPeyZjpF8lOIjyRKoksaT1/X6s3X9E9qYH+v4DF3/TIu/nX2n69s2OcTy
Tn9CTb/pPPLrJjHCBS/QM15twXt4Rx1Be7BPNOZ+bsqiUIvwOFCHUq/eyHAOL6nLgy0d/ACzlgew
EkJ3dqAOnh59d9yBjgM99DGMkF5sx4qnUjcG8Qp60FtGfOmDxUcfxYe9B437hZMfDsqnijfjg/pk
C/JyZh2nROVTbUHFTeXRsVnHwpc6G5Q3N/ehQ7m7Fdxo5jh3rLhDVbj7JCKlGdL9Gl5TE4lUIm97
ZEnkjWz0HMbW5JmL13nkohBbq2NfwzbAFXoGI28VegWvq1XoJbwPX7F6BeNydewdjMvx/SqSL5TH
LstAKEqT4IrVNcwXImHs19YqlH2rW8ojnC8UcbarAinhBjoRc57jpDxiHDz6OOK6wQ+krpR2V6xO
0Btkg/0uDq2ryJU3UXJscgNpL1feKlY32DuSsHJDDjrCwfGVN7NsLcL6w3/wYu+RTDhqGN+gx0wA
X5v7YgcUdJ7I8QMv9iZjT2Cxt4SzctEOrElpvvMkCi5WIQqC7CXhp+DurLIAooVmQP1yPY/PrKi7
w3fyLzDNCXZyxx9DXQZS7amkXPOy8eFY75FU0+ylKAs+Un15gEFEyXwov4SBufSJoPXu+QqZ8pPE
T3gyRdEfVvb9K7yM94kZVQ/tHH8Iyp9tnwb5OLZCN8nuE/imCsAGhHRM2x9XQ10O16fsvtjwRX/a
/yvmnM/4FWjBrNAOTmBYU6SYmU1DDDgeM6H2GXpgFcysSPOgCuXp0fIZs0jBl5XLwmuojsz8ET3g
NsCKMB61FjIjrKLuWMFnWNvYB1gwXqGXMMVZoXzm1KUMlDnPsWN1AbsMitwvrQWZtCmQGDTL0/TF
WkLfc/j6y1OkuzRX3q5XLku8guXjnK4N6hBPFA0tLVJYKhIJvYP37SrVJ9hpoI4FPQghPxV510HE
ylF+XqG34BpW72FtuShHjnKOJxMd0Yx72INQlLJyI65i9RqmR0WdcxFqhiLpURmrxY8omczAxhwd
HonOJXnK11UkedqocQGvxImGwhsqWHewu4C4J08t4zV/lN0OrLmnmgT6CoWBZJXyc1Gy/GIHkuXT
POChp3yYfv98OSg3B5jheobKr1hnV9sqFOQRrWiAGvCsjhX6CO/CVegVDPVUKG9e4MnYCYZ6pLHH
UE+FPvC7cGRHZzAQVKHswmbJYck7SmTmCxgP6jtSoAWRPNZouqN9nsfEAa1KxKdC79BD8RsxU2IT
ga08Vol5C7oNNNFCFVhxQMHivFQof9Ip+hGNFjPa57J0rE7gXTiRgpZy7hv+gK0A7Y9FVeh/ckck
dKwmWOVdx75Dr81COVat16BIjVLlXaFvYKSnYsUfulgEHvVOhEhSVUt1VSiPISU/4EIGNKx47RPl
wi2sEO92ap9EsfPAmjgbRli5rSGVA8fFwQAKBN5amJUs5i7EEbJxbzbVPpckz0yZA26xEawm9Ji8
LKrlittG6dX+fr2IVblfL4qbt14NcHbDmYlF47QqnoaoIuXtKlHcfHRKVr4SRalQ+Oj8Fme1vxm2
VaBnea/K8UwkLgInPxSPilIPDma8glfInJSBLOVb6zQgqlGONVBco1r5lpPS06U03IlFLvnru2L1
AEvDnVjUE3yH8vxVMaxS/vHoemxyuZC36jPcvJyWdHLS/AtTkJvZeyrsK/gKr7NidGfu0G94Kmze
U2XjNoUR1BylQAlvbXb0X/wDRnecFb4HSllOhf4E2wHI+/WxY3UOezA5sSwnQkoqEt2p0Few+bMT
S4nS0rF6hK9E1LH4lQiRViV+46SiMdttAIzUuI7VFez+KNKqXPjnsqFI8EZe15OZz+ErV06qUCiX
5EQLYSmP3jKslmVgt0oqTJR2t+qRUDo+x8GOnB5JuzMj/T26T1aK9lAOnsGklzwztdOssYKjlpjP
HJYBF8qrERWrG9gpQMZqgZRUJCYjSntJQok66NejWCpo9wPZ8FTLLmBBe4Weci+KYDX9gbtRxDR8
gPkmUQnLqxHcUCryyKfj5VK/gsXtwKVgnW48ZR2+YeeE4iHl0/KkA/jTR6TaOlc8H3gPq3QcyOmp
VpnjpJxeaRLpfBCcnVwq7dbCl0uYjKpjeeFSKXR3XvjILIXubTCoJSaDL+FdfLdma9/DFJMTS33K
97pUT1Ce53ZifczsCdLAoyBoPcIGQ04sNjEJELO7MjaO8HJkx9Mr7DWseIEL9xbzqTcRcpvk9pde
4CgtpJtg293HwBeGJ9V29lHp9UIEYXoJLtspmV3HuA7P6v8SNjRyvDDuHtYEyTy0ZqSKlqrxBezo
iEyAaj0bK/R7q/XPY4PaMrm89QkIRG5ZfPf/uO90VgplbmRzdHJlYW0KZW5kb2JqCjE1IDAgb2Jq
Cjk2NzQKZW5kb2JqCjEyIDAgb2JqCjw8IC9UeXBlIC9QYWdlIC9QYXJlbnQgNyAwIFIgL1Jlc291
cmNlcyAxNCAwIFIgL0NvbnRlbnRzIDEzIDAgUiAvTWVkaWFCb3gKWzAgMCA1OTUgODQyXSA+Pgpl
bmRvYmoKMTQgMCBvYmoKPDwgL1Byb2NTZXQgWyAvUERGIC9UZXh0IF0gL0NvbG9yU3BhY2UgPDwg
L0NzMSA1IDAgUiAvQ3MzIDE2IDAgUiA+PgovRm9udCA8PCAvRjEuMCA2IDAgUiAvRjIuMCAxNyAw
IFIgL0YyLjEgMTggMCBSIC9GMy4xIDIwIDAgUiA+PiA+PgplbmRvYmoKMjEgMCBvYmoKPDwgL0xl
bmd0aCAyMiAwIFIgL04gMSAvQWx0ZXJuYXRlIC9EZXZpY2VHcmF5IC9GaWx0ZXIgL0ZsYXRlRGVj
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
XjX2Ki4LJakv2913De9lX/gffsh8wYr9lV1P8ZFp8AaIQ7Wr9KpEXtbR9opl+lZfn666Y7ldLaCq
dv1Cx1LJggal97iR+eCL2BtEQkfY+jLEQhb9aOkN6s/sWdwgyQmaH4VQZB809VWpO5aCvCNWUtmj
+iR2DvV3tFwSBKuvqIrTUDFzCQSp2ki4nCy9QV1vi84ruoos0E5/l9+A+q1BTFdCa1D1VKE1KDJN
7gAVaZlvpSTdXqiUvy7HrNwFc8yVUGcxyk4KKXl4fQPq5Zg4FiUTLF1FXe2TcxXVGUpJ0SD5ocmL
R7TBRyVCVq7T6wecuE5FdY1PQYOSL4hKs98jVDxr3uFTUNF0NZOPPmZuoxe5kML1/H36nNP6uMc9
D8sOs53SVzzVOT+5aMKnulux1yj1XkiX4sskNfJby8xj+2NjqlLoQVxaeFLvEXB5PUq9l1I3R/SG
6koszWxj78TOnD6qkY3F6//AMOP1fxgrqjNkOmws9lwuDc+peZusv84ITNEPIm1J3QaayEz4IDbf
9DecGOhrbE92kip5I03qPeovjTQbKlyXm0GgIANT5WWrrOA0WMtb0GEw1geCpq0QNdcKpLlWSJqm
l9eX/o4zcy37hGzAK7EUubpuoLVhYLDOxG6Sg7aQDqyXkk4gRs9d/lZ8gGnVZY7ajA+Dn0W60DVy
JM27IrfEs8gCUCGGtYwcYOELTAkarHGosLB3ZExKwBDPPdg6TU4d7DXvIj8qVqTAZt59v4t9mnJL
czi9ExofzPZh5yePm9R+ls+uvfhG7ETdpM/iHX6T7oQ7fIWF3c5n4lOCsF8LBZqlq3Sb+UE+u/ZS
4ZZOFRXeT+d7W1eV69m1l0I1y6+9sqH3g8fY6mpxkF/+D/I2DP4KZW5kc3RyZWFtCmVuZG9iagoy
NiAwIG9iagoyNjIzCmVuZG9iagoyMyAwIG9iago8PCAvVHlwZSAvUGFnZSAvUGFyZW50IDcgMCBS
IC9SZXNvdXJjZXMgMjUgMCBSIC9Db250ZW50cyAyNCAwIFIgL01lZGlhQm94ClswIDAgNTk1IDg0
Ml0gPj4KZW5kb2JqCjI1IDAgb2JqCjw8IC9Qcm9jU2V0IFsgL1BERiAvVGV4dCBdIC9Db2xvclNw
YWNlIDw8IC9DczEgNSAwIFIgL0NzMyAxNiAwIFIgPj4KL0ZvbnQgPDwgL0YyLjAgMTcgMCBSIC9G
Mi4xIDE4IDAgUiAvRjMuMSAyMCAwIFIgPj4gPj4KZW5kb2JqCjcgMCBvYmoKPDwgL1R5cGUgL1Bh
Z2VzIC9NZWRpYUJveCBbMCAwIDU5NSA4NDJdIC9Db3VudCAzIC9LaWRzIFsgMSAwIFIgMTIgMCBS
CjIzIDAgUiBdID4+CmVuZG9iagoyNyAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgNyAw
IFIgPj4KZW5kb2JqCjI4IDAgb2JqCjw8IC9MZW5ndGggMjkgMCBSIC9MZW5ndGgxIDY3OTYgL0Zp
bHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCnjatTh9fFNVlufe9/Ley0eTlzRfpUCSPtoUWgj9
IoWtbWiTNlBbSgo0wYamhUKrIOWjtIMw1MGdQsURdUdwnSnqTwZ0RFOcWYq7iuMH4K5lxhEFRVZ0
UVyH/nTmJ6NTabrnJSkC48z+s/uS894959537znnnq/7gACABnqAAc/yNc0dpQ1zliLlTQBiWL5p
o32lt2gE2xcQbl3ZsWrNjpas9wGYXACFZ9XqH6xs3f+xEkBYDaD9oK21ecUl8UfvAVj8OMesNiRo
31QUIt6D+JS2NRu7IyH1DMSfRDyyeu3y5pm7p+NcVhbx/DXN3R3koGIU8WLE7Xc2r2k9+2UJjrcG
EZ/asXbDRvoL5hvE70E80LG+tePPniPvIn4W+RtAGgFZHlkiIBz8rxe5rk1v6GG+dzx7E66Q1+AF
JagA1JoUrU7UG1KNf2s1k/nvsGKB/5dLMYZwFNIQjKwLkLexSwiXZYg1Yt8ZgNhslHcCtt9GLeTg
86Qsz//tRViiJVoYgkv4S1wjSGORkvh9NwaSYw7Cw/AcHIWTcAY+hZeua8v0V+EtuU3nkefpTqIk
TuilM+EBch7n+Zzk4u9L8lOyCOd5kawhuXCSXiBh5kfsMbKcqBF/gCwjX9CZ7FnYD/vJObw/Ri1I
/xX9HV3F/Cv8hbbTS9BDe6AXnoYNZBZs8BTMn+evqvR5K8rnespKbyn5hzmzi92zilwzpudmZ2VO
kTJsVqNe1KWoVUqB5xQsQwnk+qTKiD2aFYmyWZLfP13GpWYkNF9HiETtSKq8cUzUHokPs9840oMj
V9400pMY6bk2koj2EiiZnmv3SfbokFeyD5KlC4PYvs8rhezR4Xi7Jt5ms+JICiIOB75h91nbvPYo
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
x3YjHOYuQC97FKEX+5+CDewzsJi5A3qZ9TCXyYU89gXseyTxLs7zAK6Rjb8lsBsuExV5mgbok8wS
5p+Ys2w5ew97WVGp6Fdc5vZyl/lcvpSv4+9MymsFD8aSajQ5CiK4sAUkVyHTEtowJGXh5K/bdRWL
GkKVOYvWt7Z0Lm9r3VhTP7187eoV1316j30LJ7/347E1/kFehyfEAqgAL/hhHsyHW2EB1MFCCEA9
LILFyH8DBKED1sF9AJ6x2/x5tqUI9QgBhIUI8xDqENq9ebYgQgPCEoRahAUINQiVCD4E3Q6yzUru
D+8LU9FKPgSyrfP+zn2dz3Ue6/xt54edvH092baeNAWI2O/p7+jf3f9Y/8v9nP2hmQ/1PMR4Osju
H5KOrT1bH9sa3Xphq2LtNqLbYtti33L/FlZ3l+2u++9iPJvIArqAWcAuULCR7o7uaDej89q8Lu/9
3n3e57wcZGej3Aa94HHryk6ZiaT1ZWh8DpXPLvhsnG8y65tEfRPBN0GwCmbBKBgEUdAKGkElCAIn
/JoVqABC9SA/FqiOCnW3BQcI+UkoaqiG6kXlR9HWx/7xvpzvvcrJpOpoen0w+vCkUHU0HxswacAM
5aEc4muvLyfVdcEBAdGKxsTTLHaUDrjdvnZ74ktlJOQdmAkdz+fj8SStw9qx4YZrY+Jx86Io6v8A
W4dxNAplbmRzdHJlYW0KZW5kb2JqCjI5IDAgb2JqCjQ4MjEKZW5kb2JqCjMwIDAgb2JqCjw8IC9U
eXBlIC9Gb250RGVzY3JpcHRvciAvQXNjZW50IDkzOSAvQ2FwSGVpZ2h0IDcyMiAvRGVzY2VudCAt
MjIyIC9GbGFncwozMiAvRm9udEJCb3ggWyAtMTAxIC0yNzAgMTAxMCA5ODEgXSAvRm9udE5hbWUg
L1BDVFdZRitUcmVidWNoZXRNUy1Cb2xkCi9JdGFsaWNBbmdsZSAwIC9TdGVtViAwIC9NYXhXaWR0
aCAxMDM2IC9YSGVpZ2h0IDUyOCAvRm9udEZpbGUyIDI4IDAgUgo+PgplbmRvYmoKMzEgMCBvYmoK
WyAzMDEgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCAzNjcgNTAw
IDUwMCA1MDAgNTAwCjUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDM2NyA1MDAg
NTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAKNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1
MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1ODcgNTAwIDUwMAo1MDAgNTAwIDUwMCA1MDAgNTAwIDUw
MCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUzMyA1MDAgNTAwCjUwMCA1NzUgMzcw
IDUwMiA1MDAgMjk4IDUwMCA1MDAgMjk1IDg1OSA1OTAgNTY2IDU4MyA1ODQgNDI3IDQzMSAzOTYK
NTkxIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1
MDAgNTAwIDUwMAo1MDAgNTAwIDUwMCA1MDAgNTAwIDUwMCA1MDAgNTAwIDU3NSA1NzUgXQplbmRv
YmoKNiAwIG9iago8PCAvVHlwZSAvRm9udCAvU3VidHlwZSAvVHJ1ZVR5cGUgL0Jhc2VGb250IC9Q
Q1RXWUYrVHJlYnVjaGV0TVMtQm9sZAovRm9udERlc2NyaXB0b3IgMzAgMCBSIC9XaWR0aHMgMzEg
MCBSIC9GaXJzdENoYXIgMzIgL0xhc3RDaGFyIDE0MyAvRW5jb2RpbmcKL01hY1JvbWFuRW5jb2Rp
bmcgPj4KZW5kb2JqCjMyIDAgb2JqCjw8IC9MZW5ndGggMzMgMCBSIC9MZW5ndGgxIDE5MDk2IC9G
aWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp42u18C5gT1d33OTOZSWZym9wvm90km032kusm
m+w9mb0kG7Jc976wgV1YQBTlvoKiolJqAS21Xmjxban1itouW8AFbUVfpEIBUZG2CrS11Q+tbdWq
bZXNfudM9sKitv3e5/2+5/me5x2YzDlzycz5/X//65ksgAAAGdgESMAvurZvZesouAvtOQEAVC8a
WGv7vn/mftT+LQDi95asXHot3TbjRgAYdJwwLl2+Ycmt2+ueAED6BwAqjVct7uv/X+/e1gdA4yX0
HZGr0A7pm6IGAOJlqF9w1bVr1594WvIO6neh/kvLVyzqS+mqPwAgYUP9Jdf2rV8pSZOPov4dqG+7
ru/axb+s/8FZ1H8M9T0rV6xZS99FnUT9M6i/ZeXqxSvvbwzfD0BTDwBkJdoHAR4PHhGANPiXCyQm
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
1yCPPEZ8G/pwNKI9hxeB5oW2wU9bUT7Izpk7SDnq4aC6GTS31R8EUHz4a3fq9dzK6F6ajg9Kehvd
X1yMe5PJ+LJBflvj3ra2scbx42ON++4ba8ydm23ANWvda9xfscxfM3+t2w3wCWvQeW68yW7xMt5Y
M/kFwsE1aJT/G0NZu3oKZW5kc3RyZWFtCmVuZG9iagozMyAwIG9iagoxMjI5NwplbmRvYmoKMzQg
MCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9Bc2NlbnQgNzIxIC9DYXBIZWlnaHQgNjk4
IC9EZXNjZW50IC0yNzkgL0ZsYWdzCjMyIC9Gb250QkJveCBbIC01MDAgLTUwNCAxMjk1IDkzMyBd
IC9Gb250TmFtZSAvQkpOUUtMK0hvZWZsZXJUZXh0LVJlZ3VsYXIKL0l0YWxpY0FuZ2xlIDAgL1N0
ZW1WIDAgL01heFdpZHRoIDEyOTkgL1hIZWlnaHQgNDMzIC9Gb250RmlsZTIgMzIgMCBSCj4+CmVu
ZG9iagozNSAwIG9iagpbIDI1MCAyMzYgODAwIDgwMCA4MDAgODAwIDgwMCA4MDAgODAwIDgwMCA4
MDAgODAwIDI0NyA4MDAgMjQ3IDgwMCA4MDAKODAwIDgwMCA4MDAgODAwIDgwMCA4MDAgODAwIDgw
MCA4MDAgMjQ3IDI0NyA4MDAgODAwIDgwMCAzNTMgODAwIDczNAo2NDkgODAwIDgwMCA2NTEgODAw
IDgyMCA4MDAgNDQyIDM3NyA4MDAgNjE4IDk3MiA4NjAgODAwIDgwMCA4MjcgNzMyCjUwNyA3MTEg
NzgxIDc3MCA4MDAgODAwIDgwMCA4MDAgODAwIDgwMCA4MDAgODAwIDgwMCA4MDAgNDQ2IDU0OCA0
NjIKNTQyIDQ2OCAzMzUgNDcyIDU1NCAyODAgMjQ1IDU0NiAyNTkgODI3IDU0OCA1MzYgNTQ4IDUz
NyAzNzIgMzgyIDM2OQo1MjMgNDU1IDY5OSA0ODIgNDU4IDQ1NyA4MDAgODAwIDgwMCA4MDAgODAw
IDgwMCA4MDAgODAwIDgwMCA4MDAgODAwCjgwMCA4MDAgODAwIDgwMCA4MDAgODAwIDgwMCA4MDAg
ODAwIDgwMCA4MDAgODAwIDgwMCA4MDAgODAwIDgwMCA4MDAKODAwIDgwMCA4MDAgODAwIDgwMCA4
MDAgODAwIDgwMCA4MDAgODAwIDgwMCA4MDAgODAwIDgwMCA4MDAgODAwIDgwMAo4MDAgODAwIDgw
MCA4MDAgODAwIDgwMCA4MDAgODAwIDgwMCA4MDAgODAwIDgwMCA4MDAgODAwIDgwMCA4MDAgODAw
CjgwMCA4MDAgODAwIDgwMCA4MDAgODAwIDgwMCA4MDAgODAwIDgwMCA4MDAgODAwIDgwMCA4MDAg
ODAwIDgwMCA3NzEKXQplbmRvYmoKMTcgMCBvYmoKPDwgL1R5cGUgL0ZvbnQgL1N1YnR5cGUgL1Ry
dWVUeXBlIC9CYXNlRm9udCAvQkpOUUtMK0hvZWZsZXJUZXh0LVJlZ3VsYXIKL0ZvbnREZXNjcmlw
dG9yIDM0IDAgUiAvV2lkdGhzIDM1IDAgUiAvRmlyc3RDaGFyIDMyIC9MYXN0Q2hhciAyMDEgL0Vu
Y29kaW5nCi9NYWNSb21hbkVuY29kaW5nID4+CmVuZG9iagozNiAwIG9iago8PCAvTGVuZ3RoIDM3
IDAgUiAvTGVuZ3RoMSA2ODMyIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp42u04C3BT
15Xnvv/T90lIsiwbS7L8S2RbRvJPxrGejS2MZf4Gf4KCDTKYhIABh3UoTSjdpK0gKZNkgC5sStNM
kk0mjewSMCybmAwh4MUsbQjZpU5md9tmgW0npJNk0gRLe96Tcf6T2Z3uzuxMrua8ez73vnvOueec
e5+AAIAOdgAN8uq7e/phAzyFnHMIZau3Drh+6lvwIuI3APhra/rX3s21zf8OgHAFgLKvXX/vmofe
/8/XALQ4RHO9r7cndjX3+2cArNeRUdmHDO1vmCIAGwLk9d09MNi5nWORbkV6xfqNq3sKz9yKuO0Z
Zb27ewb7hXr6aaT/GWnXhp67e9+sfep3SH+EdHH/xi0DkIkYZOThY1H/5t7+fY0V+5AeAKCDyCOg
2KNYxIEyxg160IAJFbSAFWUC2FBmQK4EIvscANsOt9Jr4BY6DMUAqYtTcGnyY5QdAkj+Fv7v2jmY
gGEYg+2wGx6BZ6f5Mv4GEVZAHXRh/40t9Rdv4IWOL/GaoPUvusZheAWq4SDYoeHTN9O/oB8EP+5n
mJ5MzfvauQnYCw99gXcSjsOhz/PorXScXZqsS5bCfdO8bUwPXUqHJ8fgAjTDk9ACMXaAOg+HoOtz
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
IFsgLTUwMCAtNTA0IDEyOTUgOTMzIF0gL0ZvbnROYW1lIC9EVU5LTk8rSG9lZmxlclRleHQtUmVn
dWxhcgovSXRhbGljQW5nbGUgMCAvU3RlbVYgMCAvTWF4V2lkdGggMTI5OSAvWEhlaWdodCA0MzMg
L0ZvbnRGaWxlMiAzNiAwIFIKPj4KZW5kb2JqCjM5IDAgb2JqClsgNDY4IDIwNyA0NjggMzI2IDQ3
NiA0MDUgNDQ2IDk3NiA0NjggNTIzIDUzNiA3MzQgNDYyIF0KZW5kb2JqCjQwIDAgb2JqCjw8IC9M
ZW5ndGggNDEgMCBSIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp42l2Rz2rDMAyH73kK
H7tDiZx2awtBUDoKOewPy/YAjq0Uw+IYxz3k7WcrXQc7fIHP8s9EUnlqnhtnoyjfw6hbiqK3zgSa
xmvQJDq6WFfIShir4834qwflizKF23mKNDSuH0VdF0KUH6k8xTCL1dGMHT3ks7dgKFh3EauvU8sn
7dX7bxrIRQEFojDUp+delH9VA4mSo+vGpLqN8zql/m58zp5ExS6XX9KjockrTUG5CxU1ANbnMxbk
zL+S3CyJrr9drSQyAHTApBUugGTdIJOq+6xbZAAqk/URF0Busj4hk6pV1h0yKQtZ97gAcpv1gEyq
qqwKGYC+y9ohk5Qva2QAND9lkEnZHTf5203uN+/lPkd9DSGNkJfHs8tTs47u+/WjzynmB6TVmHkK
ZW5kc3RyZWFtCmVuZG9iago0MSAwIG9iagoyOTcKZW5kb2JqCjE4IDAgb2JqCjw8IC9UeXBlIC9G
b250IC9TdWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL0RVTktOTytIb2VmbGVyVGV4dC1SZWd1
bGFyCi9Gb250RGVzY3JpcHRvciAzOCAwIFIgL1dpZHRocyAzOSAwIFIgL0ZpcnN0Q2hhciAzMyAv
TGFzdENoYXIgNDUgL1RvVW5pY29kZQo0MCAwIFIgPj4KZW5kb2JqCjQyIDAgb2JqCjw8IC9MZW5n
dGggNDMgMCBSIC9MZW5ndGgxIDg1MDAgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCnja
vVkLeFRFlj5Vt/PupDuPDkkakttcwusGwsNHGlrokHRGiGITAnaDQjd0YogCkYDKu0UDscEH6Ax+
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
cmlwdG9yIC9Bc2NlbnQgOTY3IC9DYXBIZWlnaHQgNzMyIC9EZXNjZW50IC0yMTEgL0ZsYWdzCjQg
L0ZvbnRCQm94IFsgLTg2MyAtNzM4IDE2NDIgMTIwMyBdIC9Gb250TmFtZSAvRkRWVEFXK0x1Y2lk
YUdyYW5kZQovSXRhbGljQW5nbGUgMCAvU3RlbVYgMCAvTWF4V2lkdGggMTYyOSAvWEhlaWdodCA1
MzYgL0ZvbnRGaWxlMiA0MiAwIFIKPj4KZW5kb2JqCjQ1IDAgb2JqClsgMCBdCmVuZG9iago0NiAw
IG9iago8PCAvTGVuZ3RoIDQ3IDAgUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeNpd
kE1qxDAMhfc+hZbTxeAk62AoUway6A9NewDHloNhIhvFWeT2tT3pFLqQQXrvE8+Sl+FlIJ9AfnAw
IyZwnizjGjY2CBPOnkTbgfUmHV19zaKjkBke9zXhMpAL0PcCQH5meU28w+nZhgmfyuydLbKnGU7f
l7FOxi3GGy5ICRqhFFh0ed2rjm96QZAVPQ826z7t50z9Ob72iNDVvr1HMsHiGrVB1jSj6JtG9der
Ekj2n3QAkzucXavu1XSu+n+VgpYvPiKZjTmnqXeoMUoAT/g4VQyxULV+AH7acEoKZW5kc3RyZWFt
CmVuZG9iago0NyAwIG9iagoyMjEKZW5kb2JqCjIwIDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0
eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL0ZEVlRBVytMdWNpZGFHcmFuZGUgL0ZvbnREZXNjcmlw
dG9yCjQ0IDAgUiAvV2lkdGhzIDQ1IDAgUiAvRmlyc3RDaGFyIDMzIC9MYXN0Q2hhciAzMyAvVG9V
bmljb2RlIDQ2IDAgUgo+PgplbmRvYmoKNDggMCBvYmoKPDwgL0F1dGhvciAoRGF2aWQgTGF0YXBp
ZSkgL0NyZWF0b3IgKFdlYktpdCkgL0NyZWF0aW9uRGF0ZSAoRDoyMDA2MDYxMjA2MjMyOSswMicw
MCcpCi9Nb2REYXRlIChEOjIwMDYwNjEyMDYyMzI5KzAyJzAwJykgL1Byb2R1Y2VyIChNYWMgT1Mg
WCAxMC40LjYgUXVhcnR6IFBERkNvbnRleHQpCi9UaXRsZSAodGVzdF93aWRvd3MuaHRtbCkgPj4K
ZW5kb2JqCnhyZWYKMCA0OQowMDAwMDAwMDAwIDAwMDAwIG4gCjAwMDAwMDA1NDUgMDAwMDAgbiAK
MDAwMDAwMDAyMiAwMDAwMCBuIAowMDAwMDAwNjQ5IDAwMDAwIG4gCjAwMDAwMDA1MjYgMDAwMDAg
biAKMDAwMDAwMTcyMCAwMDAwMCBuIAowMDAwMDIxMzIxIDAwMDAwIG4gCjAwMDAwMTU1NDEgMDAw
MDAgbiAKMDAwMDAwMDc4NiAwMDAwMCBuIAowMDAwMDAwODM5IDAwMDAwIG4gCjAwMDAwMDA4OTEg
MDAwMDAgbiAKMDAwMDAwMTcwMCAwMDAwMCBuIAowMDAwMDExNTI3IDAwMDAwIG4gCjAwMDAwMDE3
NTYgMDAwMDAgbiAKMDAwMDAxMTYzNCAwMDAwMCBuIAowMDAwMDExNTA2IDAwMDAwIG4gCjAwMDAw
MTI1MzkgMDAwMDAgbiAKMDAwMDAzNDg0OCAwMDAwMCBuIAowMDAwMDM5ODIzIDAwMDAwIG4gCjAw
MDAwMDAwMDAgMDAwMDAgbiAKMDAwMDA0NTIyOSAwMDAwMCBuIAowMDAwMDExNzg0IDAwMDAwIG4g
CjAwMDAwMTI1MTkgMDAwMDAgbiAKMDAwMDAxNTI5NiAwMDAwMCBuIAowMDAwMDEyNTc2IDAwMDAw
IG4gCjAwMDAwMTU0MDMgMDAwMDAgbiAKMDAwMDAxNTI3NSAwMDAwMCBuIAowMDAwMDE1NjM4IDAw
MDAwIG4gCjAwMDAwMTU2ODggMDAwMDAgbiAKMDAwMDAyMDU5OSAwMDAwMCBuIAowMDAwMDIwNjIw
IDAwMDAwIG4gCjAwMDAwMjA4NTMgMDAwMDAgbiAKMDAwMDAyMTUwMiAwMDAwMCBuIAowMDAwMDMz
ODkwIDAwMDAwIG4gCjAwMDAwMzM5MTIgMDAwMDAgbiAKMDAwMDAzNDE0OCAwMDAwMCBuIAowMDAw
MDM1MDMzIDAwMDAwIG4gCjAwMDAwMzkxMDIgMDAwMDAgbiAKMDAwMDAzOTEyMyAwMDAwMCBuIAow
MDAwMDM5MzU4IDAwMDAwIG4gCjAwMDAwMzk0MzAgMDAwMDAgbiAKMDAwMDAzOTgwMyAwMDAwMCBu
IAowMDAwMDM5OTk3IDAwMDAwIG4gCjAwMDAwNDQ2NDAgMDAwMDAgbiAKMDAwMDA0NDY2MSAwMDAw
MCBuIAowMDAwMDQ0ODkwIDAwMDAwIG4gCjAwMDAwNDQ5MTIgMDAwMDAgbiAKMDAwMDA0NTIwOSAw
MDAwMCBuIAowMDAwMDQ1Mzk2IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgNDkgL1Jvb3QgMjcg
MCBSIC9JbmZvIDQ4IDAgUiAvSUQgWyA8MmY4NjMyYTYyOWUzMjFhMjdkMDE5MDlhZjJjMWVmZjI+
CjwyZjg2MzJhNjI5ZTMyMWEyN2QwMTkwOWFmMmMxZWZmMj4gXSA+PgpzdGFydHhyZWYKNDU2MDcK
JSVFT0YK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>8819</attachid>
            <date>2006-06-11 21:27:13 -0700</date>
            <delta_ts>2006-06-11 21:27:13 -0700</delta_ts>
            <desc>Test - XHTML, French, orphan</desc>
            <filename>test_widows.html</filename>
            <type>application/xhtml+xml</type>
            <size>4242</size>
            <attacher name="David Latapie">david</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCFET0NUWVBFIGh0bWwgUFVC
TElDICItLy9XM0MvL0RURCBYSFRNTCAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0
bWwxMS9EVEQveGh0bWwxMS5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5
OS94aHRtbCIgeG1sOmxhbmc9ImZyLWZyIj4KPGhlYWQ+Cgk8bWV0YSBodHRwLWVxdWl2PSJjb250
ZW50LXR5cGUiIGNvbnRlbnQ9ImFwcGxpY2F0aW9uL3hodG1sK3htbCIgLz4KCTxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiIHRpdGxlPSJEb3RjbGVhci1kZWZhdWx0LWVuaGFu
Y2VkIiBocmVmPSJmaWxlOi8vbG9jYWxob3N0L1VzZXJzL2RhdmlkL1NpdGVzL2Jsb2cvZG90Y2xl
YXItbmV3LXRtcC9kZWZhdWx0LWVuaGFuY2VkL3N0eWxlLmNzcyIgLz4KCTxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyI+CgkJI3BhZ2UJewoJCQlwYWRkaW5nLXJpZ2h0OjIlOwoJCQl3aWR0aDo2MGV4CgkJ
fQoKCQkucG9zdC1jaGFwbwl7Ym9yZGVyLWJvdHRvbTpzaWx2ZXIgLjFlbSBzb2xpZH0KCTwvc3R5
bGU+Cgk8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJwcmludCI+CgkJYm9keQl7CgkJCWJh
Y2tncm91bmQ6I2ZmZjsKCQkJYm9yZGVyOm5vbmUKCQl9CgoJCS5wb3N0LWNoYXBvCXtib3JkZXI6
bm9uZX0KCQkKCQloMgl7CgkJCWJvcmRlcjpzaWx2ZXIgLjVlbSBkb3VibGU7CgkJCWNvbG9yOiMz
MzMgIWltcG9ydGFudCAvKnBvdXJxdW9pwqA/Ki87CgkJCWRpc3BsYXk6YmxvY2s7CgkJCWZvbnQt
c2l6ZToyMDAlOwoJCQlmb250LXdlaWdodDo5MDA7CgkJCW1hcmdpbi10b3A6NTAlOwoJCQkvKm1h
cmdpbi1ib3R0b206NTAlOyovCgkJCXBhZGRpbmc6MWVtOwoJCQl0ZXh0LWFsaWduOmNlbnRlcgoJ
CX0KCgkJaDMJe3BhZGRpbmc6MmVtIDA7cGFnZS1icmVhay1iZWZvcmU6YWx3YXlzO3RleHQtYWxp
Z246Y2VudGVyfQoJCQoJCXAJe29ycGhhbnM6MyAhaW1wb3J0YW50O3dpZG93czozICFpbXBvcnRh
bnQpCgk8L3N0eWxlPgo8L2hlYWQ+Cgo8Ym9keT4KPCEtLUNBVMOJR09SSUUtLT4KPHA+PHR0Pjwv
dHQ+PC9wPgo8ZGl2IGlkPSJwYWdlIj4KPCEtLQk8ZGl2IGlkPSJtYWluIj4tLT4KCQk8ZGl2IGlk
PSJjb250ZW50Ij4KCQkJPGRpdiBjbGFzcz0icG9zdCI+CjwhLS1USVRSRS0tPgk8aDIgY2xhc3M9
InBvc3QtdGl0bGUiPlBhc3PDqSwgcHLDqXNlbnQsIGZ1dHVyPC9oMj4KPCEtLUNIQVDDlC0tPgk8
ZGl2IGNsYXNzPSJwb3N0LWNoYXBvIj4KCQkJCTwvZGl2Pgo8IS0tQk9EWS0tPgkJPGRpdiBjbGFz
cz0icG9zdC1jb250ZW50Ij4KPGgzPlByb2xvZ3VlwqA6IHF1ZSBsYSBsdW1pw6hyZSBzb2l0PC9o
Mz4KPCEtLSBQaHJhc2VzIGNvdXJ0ZXMgZXQgcXVpIG1ldHRlbnQgbWFsIMOgIGzigJlhaXNlIGF2
ZWMgcsOpZsOpcmVudCBkaWZmaWNpbGUuIFByw6lzZW50IGRlIG5hcnJhdGlvbi4gUXVlIGZhaXJl
IHBvdXIgbGEgcGFyZW50aMOoc2Ugc3VyIGxhIHByZXNzaW9uIGZvcnRl4oCvPyBNZSBwbGHDrnQg
bWFpcyBuZSBjYXNzZS10LWVsbGUgcGFzIGxlIHJ5dGhtZeKArz8tLT4KPHA+U2lsZW5jZS48L3A+
CjxwPkJvdXJkb25uZW1lbnQgZGFucyBsZXMgb3JlaWxsZXMuIEzDqWdlciBicnVpc3NlbWVudCBk
4oCZdW5lIHJpdmnDqHJlIGNvdWxhbnQgYXUgbG9pbi4gVnJvbWJpc3NlbWVudCBzb3VyZCBkZSBx
dWVscXVlIGNob3NlIHF1aSBz4oCZYXBwcm9jaGUsIHRyw6hzIHZpdGUuIExlcyBicnVpdHMgc2Ug
Zm9udCBkaXN0aW5jdHMsIGRldmllbm5lbnQgc29ucy4gQmlwLCBiaXAsIGJpcC4gTXVybXVyZXMs
IHRvYy10b2Mgc3VyIGR1IHZlcnJlLiBWdnZ2dnZ2duKApjwvcD4KPHA+VW4gcG9pbnQgbHVtaW5l
dXggcXVpIHPigJlhcHByb2NoZS4gVW4gbcOpdMOpb3JlIG1lIHRvbWJlIGRlc3N1cy4gQXZldWds
YW50LiBKZSBuZSB2b2lzIHBsdXMgcmllbiwgYWxvcnMgcXVlIGrigJllbnRlbmRzLCBkZSBwbHVz
IGVuIHBsdXMuIEplIHZldXggZnVpciwgbWFpcyBtZXMgbWVtYnJlcyByZXN0ZW50IGluZXJ0ZXMu
PC9wPgo8cD5MYSBsdW1pw6hyZSBzZSBkaXNzaXBlLCBldCBsZSBtw6l0w6lvcmUgZGV2aWVudCBk
ZXV4IHJhaWVzIGRlIGx1bWnDqHJlLiBBbG9ycyBxdWUgamUgZml4ZSBsZXMgbsOpb25zIGR1IHBs
YWZvbmQsIHVuZSB2b2l4IHN1ciBtYSBkcm9pdGUg4oCTwqBvdSBtYSBnYXVjaGXigK8/wqDigJMg
c2lnbmFsZSA8cT5vbHpva8OoLCB3w6lraW0tdXA8L3E+LjwvcD4KPHA+TGVzIGJydWl0cyBzZSBm
b25kIG1haW50ZW5hbnQgcGx1cyBwcsOpY2lzLCBwcmVzcXVlcyBpbnRlbGxpZ2libGVzLiBNb3V2
ZW1lbnQgZGUgbWFjaGluZSwgY2hhbnNvbiBkb3VjZSBk4oCZdW4gw6lsZWN0cm9jYXJkaW9ncmFt
bWUsIHRpbnRlbWVudCBkdSBtw6l0YWwuIE1lcyBtdXNjbGVzIG5lIHLDqWFnaXNzZW50IHF14oCZ
w6AgcGVpbmUsIGplIG5lIHBldXggdG91am91cnMgcGFzIGJvdWdlciBtYWxncsOpIG1lcyBlZmZv
cnRzLjwvcD4KPHA+SmUgc2VucyB1bmUgZmFpYmxlIHByZXNzaW9uIHN1ciBtb24gZnJvbnQgZXQg
bWEgbWFpbiBkcm9pdGUg4oCUIGrigJlhcHByZW5kcmFpcyBwbHVzIHRhcmQgcXXigJllbiBmYWl0
LCBj4oCZZXN0IHVuZSB0csOocyBmb3J0ZSBwcmVzc2lvbiwgbWFpcyBxdWUsIGR1IGZhaXQgZGVz
IGFuZXN0aMOpc2lhbnRzIGluZ8OpcsOpcyBwb3VyIHF1ZSBqZSBuZSBodXJsZSBwYXMgZGUgZG91
bGV1ciBxdWFuZCB0b3VzIG1lcyBtdXNjbGVzIHNlIHLDqXZlaWxsZW50IGVuIG3Dqm1lIHRlbXBz
LCBqZSBuZSBzZW5zIHByZXNxdWUgcmllbi4gUXVlbHF14oCZdW4gc3VzdXJyZSDDoCBtb24gb3Jl
aWxsZSwgZOKAmXVuZSB2b2l4IHRyw6hzIGxlbnRlIGV0IGV4Y2Vzc2l2ZW1lbnQgYXJ0aWN1bMOp
ZcKgOiA8cT5Cb25qb3VyLCBNb25zaWV1cjwhLS1Sb21haW4tLT4gVGVycmllci4gVG91dCB2YSBi
aWVuLCB2b3VzIMOqdGVzIGFycml2w6lzLiBOZSBmb3JjZXogcGFzIHRyb3AsIHZvcyBtdXNjbGVz
IHNvbnQgZW4gdHJhaW4gZGUgc2UgcsOpdmVpbGxlcuKArzsgdm91cyBkZXZyaWV6IHBvdXZvaXIg
Ym91Z2VyIGTigJlpY2kgY2lucSBtaW51dGVzLiBSZWxheGV6LXZvdXMgcG91ciBmYWNpbGl0ZXIg
bGUgcsOpdmVpbC4gTm91cyByw6lwb25kcm9ucyDDoCB0b3V0ZXMgdm9zIHF1ZXN0aW9ucyBkYW5z
IHVuZSBkaXphaW5lIGRlIG1pbnV0ZXMuPC9xPjwvcD4KPHA+UXVpIG1lIHBhcmxl4oCvPyBVbiBo
b21tZSwgdW5lIGZlbW1lLCB1biBhdXRvbWF0ZeKArz8gSuKAmWVzc2FpZSBkZSB0b3VybmVyIGxh
IHTDqnRlLCBvdSBtw6ptZSBkZSBjYWxpYnJlciBtb24gcmVnYXJkLCByaWVuIG7igJl5IGZhaXQs
IGPigJllc3Qgc8O7cmVtZW50IHRyb3AgdMO0dC4gw4AgY8O0dMOpLCBsYSB2b2l4IGNvbnRpbnVl
IMOgIGTDqWJpdGVyIHF1ZWxxdWVzIGNvbnNlaWxzIGV0IHJlbWFycXVlc8KgOiA8cT5wb3VscyBz
dGFibGUgZXQgcsOpZ3VsaWVyLCBFRUcgcGFyZmFpdCwgdm91cyDDqnRlcyBlbiBwbGVpbmUgZm9y
bWUsIGbDqWxpY2l0YXRpb25z4oCvISBFc3NheWV6IGRlIGJvdWdlciBsZXMgZG9pZ3RzIGRlIGxh
IG1haW4gZHJvaXRlLiBBdmV6LXZvdXMgc2VudGkgbGEgcGlxdXJlIHN1ciBsZSBicmFz4oCvPyBU
csOocyBiaWVu4oCmPC9xPjwvcD4KPHA+Vm9pbMOgLCDDp2EgY29tbWVuY2Ugw6AgYWxsZXIgdW4g
cGV1IG1pZXV4LiBKZSBwZXV4IGTDqWdsdXRpciDigJPCoGFyZ2gsIMOnYSBmYWl0IG1hbOKAryHC
oOKAkyBldCBib3VnZXIgbGVzIGzDqHZyZXMuIErigJlhcnJpdmUgw6AgcGxpc3NlciBsZXMgcGF1
cGnDqHJlcyBldCBkw6l0b3VybmVyIGxlIHJlZ2FyZCBkZSBjZXMgbsOpb25zLiBUb3VybmVyIGxh
IHTDqnRlLCBsZW50ZW1lbnQsIGRpZmZpY2lsZW1lbnQuIEluc3BpcmVyLCB1biBncmFuZCBjb3Vw
LiBM4oCZYWlyIHJlbnRyZSBlbiBtb2ksIGFybcOpZSBkZSBsdXRpbnMgZMOpYm91bGFudCBkYW5z
IGxlcyBhbHbDqW9sZXMgcG91ciBz4oCZeSBsaXZyZXIgw6AgdG91dGVzIHNvcnRlcyBkZSBqZXV4
LiBK4oCZZXhwaXJlLCBsb25ndWVtZW50LCBkw6lsaWNpZXVzZW1lbnQsIHByb2xvbmdlYW50IGNl
IG1vbWVudCBxdWksIGplIGxlIHNlbnMsIGZlcmEgZGF0ZS48L3A+CjxwPkplIHZpcy4gw4Agbm91
dmVhdS48L3A+CgkJCQkJPC9kaXY+CgkJCQk8L2Rpdj4KCQkJPC9kaXY+CgkJPC9kaXY+CjwhLS08
L2Rpdj4tLT4KPC9ib2R5Pgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178288</attachid>
            <date>2012-12-07 15:00:07 -0800</date>
            <delta_ts>2012-12-07 15:53:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-9410-20121208095730.patch</filename>
            <type>text/plain</type>
            <size>38092</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQ2ZWVhNGI5Y2Y2Mjhl
Y2E5Njg3ODFhYTYwYTA0NWNjNzYxZjRjNy4uNjMyYTdjYzA5ZGUzNmJiYzczYmJiNTUyMjdiNGRh
YzUyNGQ0YTNlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEyLTEyLTA3ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IGZvciBDU1Mgd2lk
b3dzIGFuZCBvcnBoYW5zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05NDEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIENTUyAnd2lkb3cnIGFuZCAnb3JwaGFuJyBwcm9wZXJ0aWVzIHdlcmUgc3VwcG9y
dGVkIGJ5IHRoZSBwYXJzZXIgYW5kCisgICAgICAgIHN0eWxlIHN5c3RlbSwgYnV0IHdlcmUgbm90
IGFjdHVhbGx5IGRvaW5nIGFueXRoaW5nIGluIGxheW91dC4gTm93IHRoZXkgZG8hCisKKyAgICAg
ICAgSW4gb3JkZXIgdG8gbm90IGJyZWFrIGV4aXN0aW5nIGNvbnRlbnQsIEkgdW5mb3J0dW5hdGVs
eSBoYWQgdG8gZ28gYWdhaW5zdAorICAgICAgICB0aGUgc3BlY2lmaWNhdGlvbiBhbmQgY2hhbmdl
IG91ciBkZWZhdWx0IHZhbHVlIGZyb20gMiB0byBhdXRvLiBBIHZhbHVlIG9mCisgICAgICAgIGF1
dG8gbWVhbnMgdGhhdCB3aWRvd3MgYW5kIG9ycGhhbnMgd2lsbCBub3QgY2F1c2UgYW55IHBhZ2Uv
Y29sdW1uIGJyZWFrcy4KKworICAgICAgICBTdXBwb3J0aW5nIG9ycGhhbnMgd2FzIGEgc21hbGwg
Y2hhbmdlLiBEdXJpbmcgbGluZSBsYXlvdXQsIGlmIHdlIHJlYWxpc2UKKyAgICAgICAgd2UgbmVl
ZCB0byBtb3ZlIHRvIGEgbmV3IHBhZ2UgaW4gYSBzaXR1YXRpb24gdGhhdCB3b3VsZCBjcmVhdGUg
YW4gb3JwaGFuLAorICAgICAgICBtb3ZlIHRoZSBlbnRpcmUgYmxvY2sgdG8gdGhlIG5ldyBwYWdl
LiBUaGVyZSB3YXMgYWxyZWFkeSBjb2RlIHRvIGRvIHRoaXMuCisKKyAgICAgICAgU3VwcG9ydCBm
b3Igd2lkb3dzIHdhcyB0cmlja2llci4gV2hlbiB3ZSBmaW5pc2ggbGF5aW5nIG91dCBhIGJsb2Nr
LCBjb3VudAorICAgICAgICB0aGUgbnVtYmVyIG9mIGhhbmdpbmcgbGluZXMuIElmIHdlJ3ZlIGNy
ZWF0ZWQgYSB3aWRvdywgYW5kIHRoZXJlIGFyZSBlbm91Z2gKKyAgICAgICAgYXZhaWxhYmxlIGxp
bmVzIG9uIHRoZSBwcmV2aW91cyBwYWdlLCB0aGVuIHN0ZWFsIHNvbWUgYW5kIHJlbWVtYmVyIHRo
ZSBsaW5lCisgICAgICAgIHRvIGJyZWFrIGF0LiBUcmlnZ2VyIGEgcmVsYXlvdXQuIFRoZW4gbm90
aWNlIHRoZSBsaW5lIHRoYXQgd2FzIG1hcmtlZCBmb3IKKyAgICAgICAgYnJlYWtpbmcgYW5kIGF2
b2lkIHRoZSB3aWRvdy4gVGhpcyBtZWFucyBzb21lIGJsb2NrcyBnbyB0aHJvdWdoIGxheW91dAor
ICAgICAgICB0d2ljZSwgYnV0IGFzIGxvbmcgYXMgdGhlIHdpZG93IHZhbHVlIGlzIHNtYWxsIGl0
IHNob3VsZG4ndCBiZSBhIGh1Z2UgcGVuYWx0eS4KKworICAgICAgICBUZXN0czogZmFzdC9tdWx0
aWNvbC93aWRvd3MtYW5kLW9ycGhhbnMuaHRtbCAobmV3IHRlc3QpCisgICAgICAgICAgICAgICBw
cmludGluZy9wYWdlLWJyZWFrLW9ycGhhbnMuaHRtbAorICAgICAgICAgICAgICAgcHJpbnRpbmcv
cGFnZS1icmVhay1vcnBoYW5zLWFuZC13aWRvd3MuaHRtbAorICAgICAgICAgICAgICAgcHJpbnRp
bmcvcGFnZS1icmVhay13aWRvd3MuaHRtbAorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOiBSZXR1cm4gQ1NTVmFsdWVBdXRvIGZvciB3
aWRvd3MgYW5kIG9ycGhhbnMgaWYgbmVjZXNzYXJ5LgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKTogU3VwcG9ydCAi
YXV0byIgaW4gd2lkb3cgYW5kIG9ycGhhbiBwcm9wZXJ0eSBwYXJzaW5nLgorICAgICAgICAqIGNz
cy9TdHlsZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyOjpTdHls
ZUJ1aWxkZXIpOiBDaGFuZ2UgcHJvcGVydHkgaGFuZGxlciB0byBzb21ldGhpbmcgdGhhdCBzdXBw
b3J0cyBhdXRvLgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5QW5pbWF0aW9uOjplbnN1cmVQcm9w
ZXJ0eU1hcCk6IEFkZCB3aWRvd3MgYW5kIG9ycGhhbnMgdG8gdGhlIGFuaW1hdGlvbiBtYXAuCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjpsYXlvdXRCbG9ja0NoaWxkKTogRGV0ZWN0IGlmIHdlJ3ZlIGNhdXNlZCBhIHdp
ZG93LWZpeGluZyBicmVhaywgYW5kIHJlcXVlc3QgcmVsYXlvdXQgZXZhbHVhdGlvbi4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjptYXJrRm9yUGFnaW5hdGlvblJlbGF5b3V0SWZOZWVk
ZWQpOiBUZXN0IGZvciBhIHdpZG93LWZpeGluZyBsaW5lLgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2s6OnNldEJyZWFrQXRMaW5lVG9Bdm9pZFdpZG93KTogTmV3IGZ1bmN0aW9uIHRvIHJl
bWVtYmVyIHdoZXJlIHdlIHNob3VsZCBicmVhayBvbiBuZXh0IGxheW91dC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrOjphZGp1c3RMaW5lUG9zaXRpb25Gb3JQYWdpbmF0aW9uKTogTW92
ZSB0aGUgZW50aXJlIGJsb2NrIHRvIGEgbmV3IHBhZ2UgaWYgdGhpcyB3b3VsZCBjcmVhdGUgYW4g
b3JwaGFuLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6OnNob3VsZEJyZWFrQXRMaW5lVG9Bdm9pZFdpZG93KTogTmV3IGZ1
bmN0aW9uIHRvIGluZGljYXRlIGlmIHdlIGFyZSByZW1lbWJlcmluZyBhIHdpZG93LgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNsZWFyU2hvdWxkQnJlYWtBdExpbmVUb0F2b2lkV2lk
b3cpOiBSZXNldCB0aGUgbGluZSBicmVha3MuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6bGluZUJyZWFrVG9Bdm9pZFdpZG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpSZW5kZXJCbG9ja1JhcmVEYXRhOjpSZW5kZXJCbG9ja1JhcmVEYXRhKTogQWRkIGEgZmxhZyBm
b3IgaW5kaWNhdGluZyBpZiB3ZSBhcmUgcmVtZW1iZXJpbmcgYSBsaW5lLCBhbmQgdGhlIGFjdHVh
bCBsaW5lIGl0c2VsZi4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRSdW5zQW5kRmxvYXRz
SW5SYW5nZSk6IFRoZSBjb2RlIHRvIGRldGVjdCBhbmQgZml4IHdpZG93cy4gRXhwbGFpbmVkIGFi
b3ZlLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOiBOZXcgbWV0aG9k
cyBmb3IgaW5kaWNhdGluZyBpZiB3aWRvd3MgYW5kIG9ycGhhbnMgYXJlIG5vbi1kZWZhdWx0IHZh
bHVlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5j
cHA6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWRE
YXRhLmg6IERpdHRvLgorCiAyMDEyLTEyLTA0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBs
ZS5jb20+CiAKICAgICAgICAgSU5WQUxJRF9TVEFURV9FUlIgZXJyb3IgdXBvbiBjYWxsaW5nIC5h
ZGRDdWUoKSBmb3IgYW4gYWxyZWFkeS1pbi11c2UgY3VlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCmluZGV4IDdhMDZiMDA5OTM3MWY3
MWM0MDAxYzdmOTBkNDU3NmFjYWEzMzQzNWQuLjkwYjVlODVhYzQxZjdlMTkxZDA2YmVkMWZiOTY5
YjVkYWQxMTZmODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0
eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0xOTg5LDYgKzE5ODksOCBAQCBQYXNzUmVmUHRyPENTU1Zh
bHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NT
UHJvcGVydAogICAgICAgICBjYXNlIENTU1Byb3BlcnR5T3BhY2l0eToKICAgICAgICAgICAgIHJl
dHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShzdHlsZS0+b3BhY2l0eSgpLCBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlPcnBoYW5z
OgorICAgICAgICAgICAgaWYgKHN0eWxlLT5oYXNBdXRvT3JwaGFucygpKQorICAgICAgICAgICAg
ICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVB
dXRvKTsKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShzdHls
ZS0+b3JwaGFucygpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7CiAgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlPdXRsaW5lQ29sb3I6CiAgICAgICAgICAgICByZXR1cm4gbV9hbGxvd1Zp
c2l0ZWRTdHlsZSA/IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUNvbG9yVmFsdWUoc3R5bGUtPnZpc2l0
ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eU91dGxpbmVDb2xvcikucmdiKCkpIDogY3VycmVu
dENvbG9yT3JWYWxpZENvbG9yKHN0eWxlLmdldCgpLCBzdHlsZS0+b3V0bGluZUNvbG9yKCkpOwpA
QCAtMjEzNyw2ICsyMTM5LDggQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnQKICAgICAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdoaXRlU3BhY2U6CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29s
KCkuY3JlYXRlVmFsdWUoc3R5bGUtPndoaXRlU3BhY2UoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlXaWRvd3M6CisgICAgICAgICAgICBpZiAoc3R5bGUtPmhhc0F1dG9XaWRvd3MoKSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVl
KENTU1ZhbHVlQXV0byk7CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRl
VmFsdWUoc3R5bGUtPndpZG93cygpLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7CiAg
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXaWR0aDoKICAgICAgICAgICAgIGlmIChyZW5kZXJlcikg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCBlNjlhYjk2YmM1MGU5MTM5MTIzOGNiYmIw
ODFjZjQwZThiNTY5NzY3Li42MmEzNDBhMTYzMWViYWRiYjA0ZGU4ZmFmMDc5NTFhZTNhMzVmNzFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtMjEzNiwxMCArMjEzNiwxMiBAQCBib29s
IENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRh
bnQpCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICAvKiBub2JyZWFrICov
Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eU9ycGhhbnM6ICAgICAgICAgICAgICAvLyA8aW50ZWdlcj4g
fCBpbmhlcml0Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdpZG93czogICAgICAgICAgICAgICAvLyA8
aW50ZWdlcj4gfCBpbmhlcml0Ci0gICAgICAgIC8vICMjIyBub3Qgc3VwcG9ydGVkIGxhdGVyIG9u
Ci0gICAgICAgIHZhbGlkUHJpbWl0aXZlID0gKCFpZCAmJiB2YWxpZFVuaXQodmFsdWUsIEZJbnRl
Z2VyLCBDU1NRdWlya3NNb2RlKSk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eU9ycGhhbnM6IC8vIDxp
bnRlZ2VyPiB8IGluaGVyaXQgfCBhdXRvIChXZSd2ZSBhZGRlZCBzdXBwb3J0IGZvciBhdXRvIGZv
ciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSkKKyAgICBjYXNlIENTU1Byb3BlcnR5V2lkb3dzOiAv
LyA8aW50ZWdlcj4gfCBpbmhlcml0IHwgYXV0byAoRGl0dG8pCisgICAgICAgIGlmIChpZCA9PSBD
U1NWYWx1ZUF1dG8pCisgICAgICAgICAgICB2YWxpZFByaW1pdGl2ZSA9IHRydWU7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gKCFpZCAmJiB2YWxpZFVuaXQodmFs
dWUsIEZJbnRlZ2VyLCBDU1NRdWlya3NNb2RlKSk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUxpbmVIZWlnaHQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVCdWlsZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCmlu
ZGV4IGVhNDc2NmY1YjgzZmZmOTU0NjY3NzBiYTU5YWFmMDM0MGQ5Y2IzYzguLjNhYjUzNTU0MDFk
OWM3ZjUzMDcyOTNiOTZhMThmZTRmZWZlZTE2ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxk
ZXIuY3BwCkBAIC0xODk1LDcgKzE4OTUsNyBAQCBTdHlsZUJ1aWxkZXI6OlN0eWxlQnVpbGRlcigp
CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5TWluSGVpZ2h0LCBBcHBseVByb3Bl
cnR5TGVuZ3RoPCZSZW5kZXJTdHlsZTo6bWluSGVpZ2h0LCAmUmVuZGVyU3R5bGU6OnNldE1pbkhl
aWdodCwgJlJlbmRlclN0eWxlOjppbml0aWFsTWluU2l6ZSwgQXV0b0VuYWJsZWQsIExlZ2FjeUlu
dHJpbnNpY0VuYWJsZWQsIEludHJpbnNpY0Rpc2FibGVkPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAg
ICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlNaW5XaWR0aCwgQXBwbHlQcm9wZXJ0eUxl
bmd0aDwmUmVuZGVyU3R5bGU6Om1pbldpZHRoLCAmUmVuZGVyU3R5bGU6OnNldE1pbldpZHRoLCAm
UmVuZGVyU3R5bGU6OmluaXRpYWxNaW5TaXplLCBBdXRvRW5hYmxlZCwgTGVnYWN5SW50cmluc2lj
RW5hYmxlZCwgSW50cmluc2ljRW5hYmxlZD46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJv
cGVydHlIYW5kbGVyKENTU1Byb3BlcnR5T3BhY2l0eSwgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8Zmxv
YXQsICZSZW5kZXJTdHlsZTo6b3BhY2l0eSwgZmxvYXQsICZSZW5kZXJTdHlsZTo6c2V0T3BhY2l0
eSwgZmxvYXQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbE9wYWNpdHk+OjpjcmVhdGVIYW5kbGVyKCkp
OwotICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eU9ycGhhbnMsIEFwcGx5UHJvcGVy
dHlEZWZhdWx0PHNob3J0LCAmUmVuZGVyU3R5bGU6Om9ycGhhbnMsIHNob3J0LCAmUmVuZGVyU3R5
bGU6OnNldE9ycGhhbnMsIHNob3J0LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxPcnBoYW5zPjo6Y3Jl
YXRlSGFuZGxlcigpKTsKKyAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlPcnBoYW5z
LCBBcHBseVByb3BlcnR5QXV0bzxzaG9ydCwgJlJlbmRlclN0eWxlOjpvcnBoYW5zLCAmUmVuZGVy
U3R5bGU6OnNldE9ycGhhbnMsICZSZW5kZXJTdHlsZTo6aGFzQXV0b09ycGhhbnMsICZSZW5kZXJT
dHlsZTo6c2V0SGFzQXV0b09ycGhhbnM+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3Bl
cnR5SGFuZGxlcihDU1NQcm9wZXJ0eU91dGxpbmUsIEFwcGx5UHJvcGVydHlFeHBhbmRpbmc8U3Vw
cHJlc3NWYWx1ZSwgQ1NTUHJvcGVydHlPdXRsaW5lV2lkdGgsIENTU1Byb3BlcnR5T3V0bGluZUNv
bG9yLCBDU1NQcm9wZXJ0eU91dGxpbmVTdHlsZT46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0
UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5T3V0bGluZUNvbG9yLCBBcHBseVByb3BlcnR5Q29s
b3I8Tm9Jbmhlcml0RnJvbVBhcmVudCwgJlJlbmRlclN0eWxlOjpvdXRsaW5lQ29sb3IsICZSZW5k
ZXJTdHlsZTo6c2V0T3V0bGluZUNvbG9yLCAmUmVuZGVyU3R5bGU6OnNldFZpc2l0ZWRMaW5rT3V0
bGluZUNvbG9yLCAmUmVuZGVyU3R5bGU6OmNvbG9yPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlPdXRsaW5lT2Zmc2V0LCBBcHBseVByb3BlcnR5
Q29tcHV0ZUxlbmd0aDxpbnQsICZSZW5kZXJTdHlsZTo6b3V0bGluZU9mZnNldCwgJlJlbmRlclN0
eWxlOjpzZXRPdXRsaW5lT2Zmc2V0LCAmUmVuZGVyU3R5bGU6OmluaXRpYWxPdXRsaW5lT2Zmc2V0
Pjo6Y3JlYXRlSGFuZGxlcigpKTsKQEAgLTIwODIsNyArMjA4Miw3IEBAIFN0eWxlQnVpbGRlcjo6
U3R5bGVCdWlsZGVyKCkKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXZWJraXRT
aGFwZU91dHNpZGUsIEFwcGx5UHJvcGVydHlFeGNsdXNpb25TaGFwZTwmUmVuZGVyU3R5bGU6OnNo
YXBlT3V0c2lkZSwgJlJlbmRlclN0eWxlOjpzZXRTaGFwZU91dHNpZGUsICZSZW5kZXJTdHlsZTo6
aW5pdGlhbFNoYXBlT3V0c2lkZT46OmNyZWF0ZUhhbmRsZXIoKSk7CiAjZW5kaWYKICAgICBzZXRQ
cm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXaGl0ZVNwYWNlLCBBcHBseVByb3BlcnR5RGVmYXVs
dDxFV2hpdGVTcGFjZSwgJlJlbmRlclN0eWxlOjp3aGl0ZVNwYWNlLCBFV2hpdGVTcGFjZSwgJlJl
bmRlclN0eWxlOjpzZXRXaGl0ZVNwYWNlLCBFV2hpdGVTcGFjZSwgJlJlbmRlclN0eWxlOjppbml0
aWFsV2hpdGVTcGFjZT46OmNyZWF0ZUhhbmRsZXIoKSk7Ci0gICAgc2V0UHJvcGVydHlIYW5kbGVy
KENTU1Byb3BlcnR5V2lkb3dzLCBBcHBseVByb3BlcnR5RGVmYXVsdDxzaG9ydCwgJlJlbmRlclN0
eWxlOjp3aWRvd3MsIHNob3J0LCAmUmVuZGVyU3R5bGU6OnNldFdpZG93cywgc2hvcnQsICZSZW5k
ZXJTdHlsZTo6aW5pdGlhbFdpZG93cz46OmNyZWF0ZUhhbmRsZXIoKSk7CisgICAgc2V0UHJvcGVy
dHlIYW5kbGVyKENTU1Byb3BlcnR5V2lkb3dzLCBBcHBseVByb3BlcnR5QXV0bzxzaG9ydCwgJlJl
bmRlclN0eWxlOjp3aWRvd3MsICZSZW5kZXJTdHlsZTo6c2V0V2lkb3dzLCAmUmVuZGVyU3R5bGU6
Omhhc0F1dG9XaWRvd3MsICZSZW5kZXJTdHlsZTo6c2V0SGFzQXV0b1dpZG93cz46OmNyZWF0ZUhh
bmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V2lkdGgsIEFwcGx5
UHJvcGVydHlMZW5ndGg8JlJlbmRlclN0eWxlOjp3aWR0aCwgJlJlbmRlclN0eWxlOjpzZXRXaWR0
aCwgJlJlbmRlclN0eWxlOjppbml0aWFsU2l6ZSwgQXV0b0VuYWJsZWQsIExlZ2FjeUludHJpbnNp
Y0VuYWJsZWQsIEludHJpbnNpY0VuYWJsZWQsIE5vbmVEaXNhYmxlZCwgVW5kZWZpbmVkRGlzYWJs
ZWQ+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0
eVdvcmRCcmVhaywgQXBwbHlQcm9wZXJ0eURlZmF1bHQ8RVdvcmRCcmVhaywgJlJlbmRlclN0eWxl
Ojp3b3JkQnJlYWssIEVXb3JkQnJlYWssICZSZW5kZXJTdHlsZTo6c2V0V29yZEJyZWFrLCBFV29y
ZEJyZWFrLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxXb3JkQnJlYWs+OjpjcmVhdGVIYW5kbGVyKCkp
OwogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdvcmRTcGFjaW5nLCBBcHBseVBy
b3BlcnR5Q29tcHV0ZUxlbmd0aDxpbnQsICZSZW5kZXJTdHlsZTo6d29yZFNwYWNpbmcsICZSZW5k
ZXJTdHlsZTo6c2V0V29yZFNwYWNpbmcsICZSZW5kZXJTdHlsZTo6aW5pdGlhbExldHRlcldvcmRT
cGFjaW5nLCBOb3JtYWxFbmFibGVkLCBUaGlja25lc3NEaXNhYmxlZCwgU1ZHWm9vbUVuYWJsZWQ+
OjpjcmVhdGVIYW5kbGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmlt
YXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uY3BwCmluZGV4IDI1MDRkYTQwNDFkMDE1ZGU1N2Jj
YmQ4YWJmYzkzZjQwMjkwNDI3NTMuLjAxOWY1NDM4YzZhNjU0OTI0OWZjMmE3NzNhOTA4Njg0NWU4
ZjA2MWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU1Byb3Bl
cnR5QW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQ
cm9wZXJ0eUFuaW1hdGlvbi5jcHAKQEAgLTExMzAsNiArMTEzMCw4IEBAIHZvaWQgQ1NTUHJvcGVy
dHlBbmltYXRpb246OmVuc3VyZVByb3BlcnR5TWFwKCkKICAgICBnUHJvcGVydHlXcmFwcGVycy0+
YXBwZW5kKG5ldyBQcm9wZXJ0eVdyYXBwZXI8c2hvcnQ+KENTU1Byb3BlcnR5V2Via2l0Qm9yZGVy
SG9yaXpvbnRhbFNwYWNpbmcsICZSZW5kZXJTdHlsZTo6aG9yaXpvbnRhbEJvcmRlclNwYWNpbmcs
ICZSZW5kZXJTdHlsZTo6c2V0SG9yaXpvbnRhbEJvcmRlclNwYWNpbmcpKTsKICAgICBnUHJvcGVy
dHlXcmFwcGVycy0+YXBwZW5kKG5ldyBQcm9wZXJ0eVdyYXBwZXI8c2hvcnQ+KENTU1Byb3BlcnR5
V2Via2l0Qm9yZGVyVmVydGljYWxTcGFjaW5nLCAmUmVuZGVyU3R5bGU6OnZlcnRpY2FsQm9yZGVy
U3BhY2luZywgJlJlbmRlclN0eWxlOjpzZXRWZXJ0aWNhbEJvcmRlclNwYWNpbmcpKTsKICAgICBn
UHJvcGVydHlXcmFwcGVycy0+YXBwZW5kKG5ldyBQcm9wZXJ0eVdyYXBwZXI8aW50PihDU1NQcm9w
ZXJ0eVpJbmRleCwgJlJlbmRlclN0eWxlOjp6SW5kZXgsICZSZW5kZXJTdHlsZTo6c2V0WkluZGV4
KSk7CisgICAgZ1Byb3BlcnR5V3JhcHBlcnMtPmFwcGVuZChuZXcgUHJvcGVydHlXcmFwcGVyPHNo
b3J0PihDU1NQcm9wZXJ0eU9ycGhhbnMsICZSZW5kZXJTdHlsZTo6b3JwaGFucywgJlJlbmRlclN0
eWxlOjpzZXRPcnBoYW5zKSk7CisgICAgZ1Byb3BlcnR5V3JhcHBlcnMtPmFwcGVuZChuZXcgUHJv
cGVydHlXcmFwcGVyPHNob3J0PihDU1NQcm9wZXJ0eVdpZG93cywgJlJlbmRlclN0eWxlOjp3aWRv
d3MsICZSZW5kZXJTdHlsZTo6c2V0V2lkb3dzKSk7CiAgICAgZ1Byb3BlcnR5V3JhcHBlcnMtPmFw
cGVuZChuZXcgUHJvcGVydHlXcmFwcGVyPExlbmd0aD4oQ1NTUHJvcGVydHlMaW5lSGVpZ2h0LCAm
UmVuZGVyU3R5bGU6OnNwZWNpZmllZExpbmVIZWlnaHQsICZSZW5kZXJTdHlsZTo6c2V0TGluZUhl
aWdodCkpOwogICAgIGdQcm9wZXJ0eVdyYXBwZXJzLT5hcHBlbmQobmV3IFByb3BlcnR5V3JhcHBl
cjxpbnQ+KENTU1Byb3BlcnR5T3V0bGluZU9mZnNldCwgJlJlbmRlclN0eWxlOjpvdXRsaW5lT2Zm
c2V0LCAmUmVuZGVyU3R5bGU6OnNldE91dGxpbmVPZmZzZXQpKTsKICAgICBnUHJvcGVydHlXcmFw
cGVycy0+YXBwZW5kKG5ldyBQcm9wZXJ0eVdyYXBwZXI8dW5zaWduZWQgc2hvcnQ+KENTU1Byb3Bl
cnR5T3V0bGluZVdpZHRoLCAmUmVuZGVyU3R5bGU6Om91dGxpbmVXaWR0aCwgJlJlbmRlclN0eWxl
OjpzZXRPdXRsaW5lV2lkdGgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwCmluZGV4IGMxZjc2ZTBiMDc3YTVlMjdhMTRmYTA1ODJiNDIwZGE1OWE1NDQ4NDkuLjczZjIw
ZGUwY2U1ZTg2MzMwNjgxNGQ3ZjAzZDQzYTE1Yzg2MmVmZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMjUxMSw3ICsyNTExLDcgQEAgdm9pZCBSZW5kZXJC
bG9jazo6bGF5b3V0QmxvY2tDaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBNYXJnaW5JbmZvJiBtYXJn
aW5JbmZvLCBMYXkKICAgICAvLyBOb3cgd2UgaGF2ZSBhIGZpbmFsIHRvcCBwb3NpdGlvbi4gIFNl
ZSBpZiBpdCByZWFsbHkgZG9lcyBlbmQgdXAgYmVpbmcgZGlmZmVyZW50IGZyb20gb3VyIGVzdGlt
YXRlLgogICAgIC8vIGNsZWFyRmxvYXRzSWZOZWVkZWQgY2FuIGFsc28gbWFyayB0aGUgY2hpbGQg
YXMgbmVlZGluZyBhIGxheW91dCBldmVuIHRob3VnaCB3ZSBkaWRuJ3QgbW92ZS4gVGhpcyBoYXBw
ZW5zCiAgICAgLy8gd2hlbiBjb2xsYXBzZU1hcmdpbnMgZHluYW1pY2FsbHkgYWRkcyBvdmVyaGFu
Z2luZyBmbG9hdHMgYmVjYXVzZSBvZiBhIGNoaWxkIHdpdGggbmVnYXRpdmUgbWFyZ2lucy4KLSAg
ICBpZiAobG9naWNhbFRvcEFmdGVyQ2xlYXIgIT0gbG9naWNhbFRvcEVzdGltYXRlIHx8IGNoaWxk
LT5uZWVkc0xheW91dCgpKSB7CisgICAgaWYgKGxvZ2ljYWxUb3BBZnRlckNsZWFyICE9IGxvZ2lj
YWxUb3BFc3RpbWF0ZSB8fCBjaGlsZC0+bmVlZHNMYXlvdXQoKSB8fCAocGFnaW5hdGVkICYmIGNo
aWxkUmVuZGVyQmxvY2sgJiYgY2hpbGRSZW5kZXJCbG9jay0+c2hvdWxkQnJlYWtBdExpbmVUb0F2
b2lkV2lkb3coKSkpIHsKICAgICAgICAgaWYgKGNoaWxkLT5zaHJpbmtUb0F2b2lkRmxvYXRzKCkp
IHsKICAgICAgICAgICAgIC8vIFRoZSBjaGlsZCdzIHdpZHRoIGRlcGVuZHMgb24gdGhlIGxpbmUg
d2lkdGguCiAgICAgICAgICAgICAvLyBXaGVuIHRoZSBjaGlsZCBzaGlmdHMgdG8gY2xlYXIgYW4g
aXRlbSwgaXRzIHdpZHRoIGNhbgpAQCAtMjcxOCw3ICsyNzE4LDcgQEAgdm9pZCBSZW5kZXJCbG9j
azo6bWFya0ZvclBhZ2luYXRpb25SZWxheW91dElmTmVlZGVkKCkKICAgICBpZiAobmVlZHNMYXlv
dXQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+
cGFnZUxvZ2ljYWxIZWlnaHRDaGFuZ2VkKCkgfHwgKHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+cGFn
ZUxvZ2ljYWxIZWlnaHQoKSAmJiB2aWV3KCktPmxheW91dFN0YXRlKCktPnBhZ2VMb2dpY2FsT2Zm
c2V0KHRoaXMsIGxvZ2ljYWxUb3AoKSkgIT0gcGFnZUxvZ2ljYWxPZmZzZXQoKSkpCisgICAgaWYg
KHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+cGFnZUxvZ2ljYWxIZWlnaHRDaGFuZ2VkKCkgfHwgKHZp
ZXcoKS0+bGF5b3V0U3RhdGUoKS0+cGFnZUxvZ2ljYWxIZWlnaHQoKSAmJiB2aWV3KCktPmxheW91
dFN0YXRlKCktPnBhZ2VMb2dpY2FsT2Zmc2V0KHRoaXMsIGxvZ2ljYWxUb3AoKSkgIT0gcGFnZUxv
Z2ljYWxPZmZzZXQoKSkgfHwgc2hvdWxkQnJlYWtBdExpbmVUb0F2b2lkV2lkb3coKSkKICAgICAg
ICAgc2V0Q2hpbGROZWVkc0xheW91dCh0cnVlLCBNYXJrT25seVRoaXMpOwogfQogCkBAIC02Nzcw
LDYgKzY3NzAsMTQgQEAgdm9pZCBSZW5kZXJCbG9jazo6c2V0UGFnZUxvZ2ljYWxPZmZzZXQoTGF5
b3V0VW5pdCBsb2dpY2FsT2Zmc2V0KQogICAgIG1fcmFyZURhdGEtPm1fcGFnZUxvZ2ljYWxPZmZz
ZXQgPSBsb2dpY2FsT2Zmc2V0OwogfQogCit2b2lkIFJlbmRlckJsb2NrOjpzZXRCcmVha0F0TGlu
ZVRvQXZvaWRXaWRvdyhSb290SW5saW5lQm94KiBsaW5lVG9CcmVhaykKK3sKKyAgICBpZiAoIW1f
cmFyZURhdGEpCisgICAgICAgIG1fcmFyZURhdGEgPSBhZG9wdFB0cihuZXcgUmVuZGVyQmxvY2tS
YXJlRGF0YSh0aGlzKSk7CisgICAgbV9yYXJlRGF0YS0+bV9zaG91bGRCcmVha0F0TGluZVRvQXZv
aWRXaWRvdyA9IHRydWU7CisgICAgbV9yYXJlRGF0YS0+bV9saW5lQnJlYWtUb0F2b2lkV2lkb3cg
PSBsaW5lVG9CcmVhazsKK30KKwogdm9pZCBSZW5kZXJCbG9jazo6YWJzb2x1dGVSZWN0cyhWZWN0
b3I8SW50UmVjdD4mIHJlY3RzLCBjb25zdCBMYXlvdXRQb2ludCYgYWNjdW11bGF0ZWRPZmZzZXQp
IGNvbnN0CiB7CiAgICAgLy8gRm9yIGJsb2NrcyBpbnNpZGUgaW5saW5lcywgd2UgZ28gYWhlYWQg
YW5kIGluY2x1ZGUgbWFyZ2lucyBzbyB0aGF0IHdlIHJ1biByaWdodCB1cCB0byB0aGUKQEAgLTcx
NTMsNyArNzE2MSwxMCBAQCB2b2lkIFJlbmRlckJsb2NrOjphZGp1c3RMaW5lUG9zaXRpb25Gb3JQ
YWdpbmF0aW9uKFJvb3RJbmxpbmVCb3gqIGxpbmVCb3gsIExheW91dAogICAgICAgICB8fCAhaGFz
TmV4dFBhZ2UobG9naWNhbE9mZnNldCkpCiAgICAgICAgIHJldHVybjsKICAgICBMYXlvdXRVbml0
IHJlbWFpbmluZ0xvZ2ljYWxIZWlnaHQgPSBwYWdlUmVtYWluaW5nTG9naWNhbEhlaWdodEZvck9m
ZnNldChsb2dpY2FsT2Zmc2V0LCBFeGNsdWRlUGFnZUJvdW5kYXJ5KTsKLSAgICBpZiAocmVtYWlu
aW5nTG9naWNhbEhlaWdodCA8IGxpbmVIZWlnaHQpIHsKKworICAgIGlmIChyZW1haW5pbmdMb2dp
Y2FsSGVpZ2h0IDwgbGluZUhlaWdodCB8fCAoc2hvdWxkQnJlYWtBdExpbmVUb0F2b2lkV2lkb3co
KSAmJiBsaW5lQnJlYWtUb0F2b2lkV2lkb3coKSA9PSBsaW5lQm94KSkgeworICAgICAgICBpZiAo
c2hvdWxkQnJlYWtBdExpbmVUb0F2b2lkV2lkb3coKSAmJiBsaW5lQnJlYWtUb0F2b2lkV2lkb3co
KSA9PSBsaW5lQm94KQorICAgICAgICAgICAgY2xlYXJTaG91bGRCcmVha0F0TGluZVRvQXZvaWRX
aWRvdygpOwogICAgICAgICAvLyBJZiB3ZSBoYXZlIGEgbm9uLXVuaWZvcm0gcGFnZSBoZWlnaHQs
IHRoZW4gd2UgaGF2ZSB0byBzaGlmdCBmdXJ0aGVyIHBvc3NpYmx5LgogICAgICAgICBpZiAoIWhh
c1VuaWZvcm1QYWdlTG9naWNhbEhlaWdodCAmJiAhcHVzaFRvTmV4dFBhZ2VXaXRoTWluaW11bUxv
Z2ljYWxIZWlnaHQocmVtYWluaW5nTG9naWNhbEhlaWdodCwgbG9naWNhbE9mZnNldCwgbGluZUhl
aWdodCkpCiAgICAgICAgICAgICByZXR1cm47CkBAIC03MTYzLDcgKzcxNzQsOCBAQCB2b2lkIFJl
bmRlckJsb2NrOjphZGp1c3RMaW5lUG9zaXRpb25Gb3JQYWdpbmF0aW9uKFJvb3RJbmxpbmVCb3gq
IGxpbmVCb3gsIExheW91dAogICAgICAgICB9CiAgICAgICAgIExheW91dFVuaXQgdG90YWxMb2dp
Y2FsSGVpZ2h0ID0gbGluZUhlaWdodCArIG1heDxMYXlvdXRVbml0PigwLCBsb2dpY2FsT2Zmc2V0
KTsKICAgICAgICAgTGF5b3V0VW5pdCBwYWdlTG9naWNhbEhlaWdodEF0TmV3T2Zmc2V0ID0gaGFz
VW5pZm9ybVBhZ2VMb2dpY2FsSGVpZ2h0ID8gcGFnZUxvZ2ljYWxIZWlnaHQgOiBwYWdlTG9naWNh
bEhlaWdodEZvck9mZnNldChsb2dpY2FsT2Zmc2V0ICsgcmVtYWluaW5nTG9naWNhbEhlaWdodCk7
Ci0gICAgICAgIGlmIChsaW5lQm94ID09IGZpcnN0Um9vdEJveCgpICYmIHRvdGFsTG9naWNhbEhl
aWdodCA8IHBhZ2VMb2dpY2FsSGVpZ2h0QXROZXdPZmZzZXQgJiYgIWlzT3V0T2ZGbG93UG9zaXRp
b25lZCgpICYmICFpc1RhYmxlQ2VsbCgpKQorICAgICAgICBpZiAoKChsaW5lQm94ID09IGZpcnN0
Um9vdEJveCgpICYmIHRvdGFsTG9naWNhbEhlaWdodCA8IHBhZ2VMb2dpY2FsSGVpZ2h0QXROZXdP
ZmZzZXQpIHx8ICghc3R5bGUoKS0+aGFzQXV0b09ycGhhbnMoKSAmJiBzdHlsZSgpLT5vcnBoYW5z
KCkgPj0gbGluZUNvdW50KCkpKQorICAgICAgICAgICAgJiYgIWlzT3V0T2ZGbG93UG9zaXRpb25l
ZCgpICYmICFpc1RhYmxlQ2VsbCgpKQogICAgICAgICAgICAgc2V0UGFnaW5hdGlvblN0cnV0KHJl
bWFpbmluZ0xvZ2ljYWxIZWlnaHQgKyBtYXg8TGF5b3V0VW5pdD4oMCwgbG9naWNhbE9mZnNldCkp
OwogICAgICAgICBlbHNlIHsKICAgICAgICAgICAgIGRlbHRhICs9IHJlbWFpbmluZ0xvZ2ljYWxI
ZWlnaHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDA1NDYwOGIx
ZmU3YmM3NDcxMDAwMWE1NDIzZDIzZGI3ZGNmMmZmYjcuLjJlYzljMGQ5ODhmZWVjMThkOTM5NThk
YWEyNjg0ZTRkZmY1YzQ2ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5o
CkBAIC0zMDMsNyArMzAzLDE4IEBAIHB1YmxpYzoKIAogICAgIExheW91dFVuaXQgcGFnaW5hdGlv
blN0cnV0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlRGF0YSA/IG1fcmFyZURhdGEtPm1fcGFnaW5h
dGlvblN0cnV0IDogTGF5b3V0VW5pdCgpOyB9CiAgICAgdm9pZCBzZXRQYWdpbmF0aW9uU3RydXQo
TGF5b3V0VW5pdCk7Ci0gICAgCisKKyAgICBib29sIHNob3VsZEJyZWFrQXRMaW5lVG9Bdm9pZFdp
ZG93KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlRGF0YSA/IG1fcmFyZURhdGEtPm1fc2hvdWxkQnJl
YWtBdExpbmVUb0F2b2lkV2lkb3cgOiBmYWxzZTsgfQorICAgIHZvaWQgY2xlYXJTaG91bGRCcmVh
a0F0TGluZVRvQXZvaWRXaWRvdygpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoIW1fcmFyZURh
dGEpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIG1fcmFyZURhdGEtPm1fc2hvdWxkQnJl
YWtBdExpbmVUb0F2b2lkV2lkb3cgPSBmYWxzZTsKKyAgICAgICAgbV9yYXJlRGF0YS0+bV9saW5l
QnJlYWtUb0F2b2lkV2lkb3cgPSBudWxscHRyOworICAgIH0KKyAgICBSb290SW5saW5lQm94KiBs
aW5lQnJlYWtUb0F2b2lkV2lkb3coKSBjb25zdCB7IHJldHVybiBtX3JhcmVEYXRhID8gbV9yYXJl
RGF0YS0+bV9saW5lQnJlYWtUb0F2b2lkV2lkb3cgOiAwOyB9CisgICAgdm9pZCBzZXRCcmVha0F0
TGluZVRvQXZvaWRXaWRvdyhSb290SW5saW5lQm94Kik7CisKICAgICAvLyBUaGUgcGFnZSBsb2dp
Y2FsIG9mZnNldCBpcyB0aGUgb2JqZWN0J3Mgb2Zmc2V0IGZyb20gdGhlIHRvcCBvZiB0aGUgcGFn
ZSBpbiB0aGUgcGFnZSBwcm9ncmVzc2lvbgogICAgIC8vIGRpcmVjdGlvbiAoc28gYW4geC1vZmZz
ZXQgaW4gdmVydGljYWwgdGV4dCBhbmQgYSB5LW9mZnNldCBmb3IgaG9yaXpvbnRhbCB0ZXh0KS4K
ICAgICBMYXlvdXRVbml0IHBhZ2VMb2dpY2FsT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gbV9yYXJl
RGF0YSA/IG1fcmFyZURhdGEtPm1fcGFnZUxvZ2ljYWxPZmZzZXQgOiBMYXlvdXRVbml0KCk7IH0K
QEAgLTExNDMsNiArMTE1NCw4IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAgICwgbV9wYWdpbmF0
aW9uU3RydXQoMCkKICAgICAgICAgICAgICwgbV9wYWdlTG9naWNhbE9mZnNldCgwKQogICAgICAg
ICAgICAgLCBtX2xpbmVHcmlkQm94KDApCisgICAgICAgICAgICAsIG1fc2hvdWxkQnJlYWtBdExp
bmVUb0F2b2lkV2lkb3coZmFsc2UpCisgICAgICAgICAgICAsIG1fbGluZUJyZWFrVG9Bdm9pZFdp
ZG93KDApCiAgICAgICAgIHsgCiAgICAgICAgIH0KIApAQCAtMTE2OSw2ICsxMTgyLDkgQEAgcHJv
dGVjdGVkOgogICAgICAgICBMYXlvdXRVbml0IG1fcGFnZUxvZ2ljYWxPZmZzZXQ7CiAgICAgICAg
IAogICAgICAgICBSb290SW5saW5lQm94KiBtX2xpbmVHcmlkQm94OworCisgICAgICAgIGJvb2wg
bV9zaG91bGRCcmVha0F0TGluZVRvQXZvaWRXaWRvdzsKKyAgICAgICAgUm9vdElubGluZUJveCog
bV9saW5lQnJlYWtUb0F2b2lkV2lkb3c7CiAgICAgIH07CiAKICAgICBPd25QdHI8UmVuZGVyQmxv
Y2tSYXJlRGF0YT4gbV9yYXJlRGF0YTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKaW5kZXggOTcwZmJjMzQ2YmU4ZDg3OTI2N2NjMWU0
MjY2NDQ4NzY2YzAwMDIxOC4uMGZmYTZhNWNmMDYwNmNjNzViYzMzM2UzNzE5OTU4OWQ4ZTU5ZGU1
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxh
eW91dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxh
eW91dC5jcHAKQEAgLTE1NDYsNiArMTU0Niw2MyBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRS
dW5zQW5kRmxvYXRzSW5SYW5nZShMaW5lTGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBJbmxpbgog
ICAgICAgICBsaW5lTWlkcG9pbnRTdGF0ZS5yZXNldCgpOwogICAgICAgICByZXNvbHZlci5zZXRQ
b3NpdGlvbihlbmQsIG51bWJlck9mSXNvbGF0ZUFuY2VzdG9ycyhlbmQpKTsKICAgICB9CisKKyAg
ICBpZiAocGFnaW5hdGVkICYmICFzdHlsZSgpLT5oYXNBdXRvV2lkb3dzKCkpIHsKKyAgICAgICAg
Ly8gQ2hlY2sgdGhlIGxpbmUgYm94ZXMgdG8gbWFrZSBzdXJlIHdlIGRpZG4ndCBjcmVhdGUgdW5h
Y2NlcHRhYmxlIHdpZG93cy4KKyAgICAgICAgLy8gSG93ZXZlciwgd2UnbGwgcHJpb3JpdGl6ZSBv
cnBoYW5zIC0gc28gbm90aGluZyB3ZSBkbyBoZXJlIHNob3VsZCBjcmVhdGUKKyAgICAgICAgLy8g
YSBuZXcgb3JwaGFuLgorCisgICAgICAgIFJvb3RJbmxpbmVCb3gqIGxpbmVCb3ggPSBsYXN0Um9v
dEJveCgpOworCisgICAgICAgIC8vIENvdW50IGZyb20gdGhlIGVuZCBvZiB0aGUgYmxvY2sgYmFj
a3dhcmRzLCB0byBzZWUgaG93IG1hbnkgaGFuZ2luZworICAgICAgICAvLyBsaW5lcyB3ZSBoYXZl
LgorICAgICAgICBSb290SW5saW5lQm94KiBmaXJzdExpbmVJbkJsb2NrID0gZmlyc3RSb290Qm94
KCk7CisgICAgICAgIGludCBudW1MaW5lc0hhbmdpbmcgPSAxOworICAgICAgICB3aGlsZSAobGlu
ZUJveCAmJiBsaW5lQm94ICE9IGZpcnN0TGluZUluQmxvY2sgJiYgIWxpbmVCb3gtPmlzRmlyc3RB
ZnRlclBhZ2VCcmVhaygpKSB7CisgICAgICAgICAgICArK251bUxpbmVzSGFuZ2luZzsKKyAgICAg
ICAgICAgIGxpbmVCb3ggPSBsaW5lQm94LT5wcmV2Um9vdEJveCgpOworICAgICAgICB9CisKKyAg
ICAgICAgLy8gSWYgdGhlcmUgd2VyZSBubyBicmVha3MgaW4gdGhlIGJsb2NrLCB3ZSBkaWRuJ3Qg
Y3JlYXRlIGFueSB3aWRvd3MuCisgICAgICAgIGlmICghbGluZUJveC0+aXNGaXJzdEFmdGVyUGFn
ZUJyZWFrKCkgfHwgbGluZUJveCA9PSBmaXJzdExpbmVJbkJsb2NrKQorICAgICAgICAgICAgcmV0
dXJuOworCisgICAgICAgIGlmIChudW1MaW5lc0hhbmdpbmcgPCBzdHlsZSgpLT53aWRvd3MoKSkg
eworICAgICAgICAgICAgLy8gV2UgaGF2ZSBkZXRlY3RlZCBhIHdpZG93LiBOb3cgd2UgbmVlZCB0
byB3b3JrIG91dCBob3cgbWFueQorICAgICAgICAgICAgLy8gbGluZXMgdGhlcmUgYXJlIG9uIHRo
ZSBwcmV2aW91cyBwYWdlLCBhbmQgaG93IG1hbnkgd2UgbmVlZAorICAgICAgICAgICAgLy8gdG8g
c3RlYWwuCisgICAgICAgICAgICBpbnQgbnVtTGluZXNOZWVkZWQgPSBzdHlsZSgpLT53aWRvd3Mo
KSAtIG51bUxpbmVzSGFuZ2luZzsKKyAgICAgICAgICAgIFJvb3RJbmxpbmVCb3gqIGN1cnJlbnRG
aXJzdExpbmVPZk5ld1BhZ2UgPSBsaW5lQm94OworCisgICAgICAgICAgICAvLyBDb3VudCB0aGUg
bnVtYmVyIG9mIGxpbmVzIGluIHRoZSBwcmV2aW91cyBwYWdlLgorICAgICAgICAgICAgbGluZUJv
eCA9IGxpbmVCb3gtPnByZXZSb290Qm94KCk7CisgICAgICAgICAgICBpbnQgbnVtTGluZXNJblBy
ZXZpb3VzUGFnZSA9IDE7CisgICAgICAgICAgICB3aGlsZSAobGluZUJveCAmJiBsaW5lQm94ICE9
IGZpcnN0TGluZUluQmxvY2sgJiYgIWxpbmVCb3gtPmlzRmlyc3RBZnRlclBhZ2VCcmVhaygpKSB7
CisgICAgICAgICAgICAgICAgKytudW1MaW5lc0luUHJldmlvdXNQYWdlOworICAgICAgICAgICAg
ICAgIGxpbmVCb3ggPSBsaW5lQm94LT5wcmV2Um9vdEJveCgpOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICAvLyBJZiB0aGVyZSB3YXMgYW4gZXhwbGljaXQgdmFsdWUgZm9yIG9ycGhhbnMs
IHJlc3BlY3QgdGhhdC4gSWYgbm90LCB3ZSBzdGlsbAorICAgICAgICAgICAgLy8gc2hvdWxkbid0
IGNyZWF0ZSBhIHNpdHVhdGlvbiB3aGVyZSB3ZSBtYWtlIGFuIG9ycGhhbiBiaWdnZXIgdGhhbiB0
aGUgaW5pdGlhbCB2YWx1ZS4KKyAgICAgICAgICAgIC8vIFRoaXMgbWVhbnMgdGhhdCBzZXR0aW5n
IHdpZG93cyBpbXBsaWVzIHdlIGFsc28gY2FyZSBhYm91dCBvcnBoYW5zLCBidXQgZ2l2ZW4KKyAg
ICAgICAgICAgIC8vIHRoZSBzcGVjaWZpY2F0aW9uIHNheXMgdGhlIGluaXRpYWwgb3JwaGFuIHZh
bHVlIGlzIG5vbi16ZXJvLCB0aGlzIGlzIG9rLiBUaGUKKyAgICAgICAgICAgIC8vIGF1dGhvciBp
cyBhbHdheXMgZnJlZSB0byBzZXQgb3JwaGFucyBleHBsaWNpdGx5IGFzIHdlbGwuCisgICAgICAg
ICAgICBpbnQgb3JwaGFucyA9IHN0eWxlKCktPmhhc0F1dG9PcnBoYW5zKCkgPyBzdHlsZSgpLT5p
bml0aWFsT3JwaGFucygpIDogc3R5bGUoKS0+b3JwaGFucygpOworICAgICAgICAgICAgaW50IG51
bUxpbmVzQXZhaWxhYmxlID0gbnVtTGluZXNJblByZXZpb3VzUGFnZSAtIG9ycGhhbnM7CisgICAg
ICAgICAgICBpZiAobnVtTGluZXNBdmFpbGFibGUgPD0gMCkKKyAgICAgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgICAgIGludCBudW1MaW5lc1RvVGFrZSA9IG1pbihudW1MaW5lc0F2YWls
YWJsZSwgbnVtTGluZXNOZWVkZWQpOworICAgICAgICAgICAgLy8gV2luZCBiYWNrIGZyb20gb3Vy
IGZpcnN0IHdpZG93ZWQgbGluZS4KKyAgICAgICAgICAgIGxpbmVCb3ggPSBjdXJyZW50Rmlyc3RM
aW5lT2ZOZXdQYWdlOworICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1MaW5lc1Rv
VGFrZTsgKytpKQorICAgICAgICAgICAgICAgIGxpbmVCb3ggPSBsaW5lQm94LT5wcmV2Um9vdEJv
eCgpOworCisgICAgICAgICAgICAvLyBXZSBub3cgd2FudCB0byBicmVhayBhdCB0aGlzIGxpbmUu
IFJlbWVtYmVyIGZvciBuZXh0IGxheW91dCBhbmQgdHJpZ2dlciByZWxheW91dC4KKyAgICAgICAg
ICAgIHNldEJyZWFrQXRMaW5lVG9Bdm9pZFdpZG93KGxpbmVCb3gpOworICAgICAgICAgICAgbWFy
a0xpbmVzRGlydHlJbkJsb2NrUmFuZ2UobGFzdFJvb3RCb3goKS0+bGluZUJvdHRvbVdpdGhMZWFk
aW5nKCksIGxpbmVCb3gtPmxpbmVCb3R0b21XaXRoTGVhZGluZygpLCBsaW5lQm94KTsKKyAgICAg
ICAgfQorICAgIH0KIH0KIAogdm9pZCBSZW5kZXJCbG9jazo6bGlua1RvRW5kTGluZUlmTmVlZGVk
KExpbmVMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IDRiYzI4MDg5MjgyMzBjNjczN2E1YTE0YmU5Yjgy
ZWI1NjUxMzc4MmUuLjIzNjdhNTllYTM0MGZiNTZiOTQyMzZkMzY2YjUxNzk0MzMxMzBiNzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC03MDcs
NiArNzA3LDggQEAgcHVibGljOgogCiAgICAgc2hvcnQgd2lkb3dzKCkgY29uc3QgeyByZXR1cm4g
cmFyZUluaGVyaXRlZERhdGEtPndpZG93czsgfQogICAgIHNob3J0IG9ycGhhbnMoKSBjb25zdCB7
IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+b3JwaGFuczsgfQorICAgIGJvb2wgaGFzQXV0b1dp
ZG93cygpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT5tX2hhc0F1dG9XaWRvd3M7
IH0KKyAgICBib29sIGhhc0F1dG9PcnBoYW5zKCkgY29uc3QgeyByZXR1cm4gcmFyZUluaGVyaXRl
ZERhdGEtPm1faGFzQXV0b09ycGhhbnM7IH0KICAgICBFUGFnZUJyZWFrIHBhZ2VCcmVha0luc2lk
ZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVQYWdlQnJlYWs+KG5vbmluaGVyaXRlZF9m
bGFncy5fcGFnZV9icmVha19pbnNpZGUpOyB9CiAgICAgRVBhZ2VCcmVhayBwYWdlQnJlYWtCZWZv
cmUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFUGFnZUJyZWFrPihub25pbmhlcml0ZWRf
ZmxhZ3MuX3BhZ2VfYnJlYWtfYmVmb3JlKTsgfQogICAgIEVQYWdlQnJlYWsgcGFnZUJyZWFrQWZ0
ZXIoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFUGFnZUJyZWFrPihub25pbmhlcml0ZWRf
ZmxhZ3MuX3BhZ2VfYnJlYWtfYWZ0ZXIpOyB9CkBAIC0xMTk3LDggKzExOTksMTIgQEAgcHVibGlj
OgogICAgIGludCB6SW5kZXgoKSBjb25zdCB7IHJldHVybiBtX2JveC0+ekluZGV4KCk7IH0KICAg
ICB2b2lkIHNldFpJbmRleChpbnQgdikgeyBTRVRfVkFSKG1fYm94LCBtX2hhc0F1dG9aSW5kZXgs
IGZhbHNlKTsgU0VUX1ZBUihtX2JveCwgbV96SW5kZXgsIHYpIH0KIAotICAgIHZvaWQgc2V0V2lk
b3dzKHNob3J0IHcpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgd2lkb3dzLCB3KTsgfQot
ICAgIHZvaWQgc2V0T3JwaGFucyhzaG9ydCBvKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEs
IG9ycGhhbnMsIG8pOyB9CisgICAgdm9pZCBzZXRIYXNBdXRvV2lkb3dzKCkgeyBTRVRfVkFSKHJh
cmVJbmhlcml0ZWREYXRhLCBtX2hhc0F1dG9XaWRvd3MsIHRydWUpOyBTRVRfVkFSKHJhcmVJbmhl
cml0ZWREYXRhLCB3aWRvd3MsIGluaXRpYWxXaWRvd3MoKSkgfQorICAgIHZvaWQgc2V0V2lkb3dz
KHNob3J0IHcpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgbV9oYXNBdXRvV2lkb3dzLCBm
YWxzZSk7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHdpZG93cywgdyk7IH0KKworICAgIHZv
aWQgc2V0SGFzQXV0b09ycGhhbnMoKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIG1faGFz
QXV0b09ycGhhbnMsIHRydWUpOyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBvcnBoYW5zLCBp
bml0aWFsT3JwaGFucygpKSB9CisgICAgdm9pZCBzZXRPcnBoYW5zKHNob3J0IG8pIHsgU0VUX1ZB
UihyYXJlSW5oZXJpdGVkRGF0YSwgbV9oYXNBdXRvT3JwaGFucywgZmFsc2UpOyBTRVRfVkFSKHJh
cmVJbmhlcml0ZWREYXRhLCBvcnBoYW5zLCBvKTsgfQorCiAgICAgLy8gRm9yIHZhbGlkIHZhbHVl
cyBvZiBwYWdlLWJyZWFrLWluc2lkZSBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvQ1NTMjEvcGFn
ZS5odG1sI3BhZ2UtYnJlYWstcHJvcHMKICAgICB2b2lkIHNldFBhZ2VCcmVha0luc2lkZShFUGFn
ZUJyZWFrIGIpIHsgQVNTRVJUKGIgPT0gUEJBVVRPIHx8IGIgPT0gUEJBVk9JRCk7IG5vbmluaGVy
aXRlZF9mbGFncy5fcGFnZV9icmVha19pbnNpZGUgPSBiOyB9CiAgICAgdm9pZCBzZXRQYWdlQnJl
YWtCZWZvcmUoRVBhZ2VCcmVhayBiKSB7IG5vbmluaGVyaXRlZF9mbGFncy5fcGFnZV9icmVha19i
ZWZvcmUgPSBiOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAKaW5kZXggYzAyYzEwNTkxMzFkOWU1Nzg2MjIy
NTY5YjlkZjVjNjA1ODc3OTlkNS4uODdhYzUxNWEzNTYyODMzYTc5MWU3ZTNmMTI4YWI5ZTk3ZjY3
Njc1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFy
ZUluaGVyaXRlZERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcApAQCAtNzAsNiArNzAsOCBAQCBTdHlsZVJhcmVJbmhl
cml0ZWREYXRhOjpTdHlsZVJhcmVJbmhlcml0ZWREYXRhKCkKICAgICAsIG1fZWZmZWN0aXZlWm9v
bShSZW5kZXJTdHlsZTo6aW5pdGlhbFpvb20oKSkKICAgICAsIHdpZG93cyhSZW5kZXJTdHlsZTo6
aW5pdGlhbFdpZG93cygpKQogICAgICwgb3JwaGFucyhSZW5kZXJTdHlsZTo6aW5pdGlhbE9ycGhh
bnMoKSkKKyAgICAsIG1faGFzQXV0b1dpZG93cyh0cnVlKQorICAgICwgbV9oYXNBdXRvT3JwaGFu
cyh0cnVlKQogICAgICwgdGV4dFNlY3VyaXR5KFJlbmRlclN0eWxlOjppbml0aWFsVGV4dFNlY3Vy
aXR5KCkpCiAgICAgLCB1c2VyTW9kaWZ5KFJFQURfT05MWSkKICAgICAsIHdvcmRCcmVhayhSZW5k
ZXJTdHlsZTo6aW5pdGlhbFdvcmRCcmVhaygpKQpAQCAtMTM2LDYgKzEzOCw4IEBAIFN0eWxlUmFy
ZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEoY29uc3QgU3R5bGVSYXJlSW5o
ZXJpdGVkRGF0YSYgbykKICAgICAsIG1fZWZmZWN0aXZlWm9vbShvLm1fZWZmZWN0aXZlWm9vbSkK
ICAgICAsIHdpZG93cyhvLndpZG93cykKICAgICAsIG9ycGhhbnMoby5vcnBoYW5zKQorICAgICwg
bV9oYXNBdXRvV2lkb3dzKG8ubV9oYXNBdXRvV2lkb3dzKQorICAgICwgbV9oYXNBdXRvT3JwaGFu
cyhvLm1faGFzQXV0b09ycGhhbnMpCiAgICAgLCB0ZXh0U2VjdXJpdHkoby50ZXh0U2VjdXJpdHkp
CiAgICAgLCB1c2VyTW9kaWZ5KG8udXNlck1vZGlmeSkKICAgICAsIHdvcmRCcmVhayhvLndvcmRC
cmVhaykKQEAgLTIyMCw2ICsyMjQsOCBAQCBib29sIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6Om9w
ZXJhdG9yPT0oY29uc3QgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YSYgbykgY29uc3QKICAgICAgICAg
JiYgbV9lZmZlY3RpdmVab29tID09IG8ubV9lZmZlY3RpdmVab29tCiAgICAgICAgICYmIHdpZG93
cyA9PSBvLndpZG93cwogICAgICAgICAmJiBvcnBoYW5zID09IG8ub3JwaGFucworICAgICAgICAm
JiBtX2hhc0F1dG9XaWRvd3MgPT0gby5tX2hhc0F1dG9XaWRvd3MKKyAgICAgICAgJiYgbV9oYXNB
dXRvT3JwaGFucyA9PSBvLm1faGFzQXV0b09ycGhhbnMKICAgICAgICAgJiYgdGV4dFNlY3VyaXR5
ID09IG8udGV4dFNlY3VyaXR5CiAgICAgICAgICYmIHVzZXJNb2RpZnkgPT0gby51c2VyTW9kaWZ5
CiAgICAgICAgICYmIHdvcmRCcmVhayA9PSBvLndvcmRCcmVhawpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKaW5kZXgg
MjIzODgzMzZhNjhlZGI5ZmIxNjMzYWY2NzAwNzc3OTdiMTk4ZGY4Ny4uMDcxOWUwYTU4OWE5YmZm
MWEwMWZjYzg0OTcxZmRiYTRiNzI5YjYyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCkBAIC04Miw2ICs4Miw4
IEBAIHB1YmxpYzoKICAgICAvLyBQYWdlZCBtZWRpYSBwcm9wZXJ0aWVzLgogICAgIHNob3J0IHdp
ZG93czsKICAgICBzaG9ydCBvcnBoYW5zOworICAgIHVuc2lnbmVkIG1faGFzQXV0b1dpZG93cyA6
IDE7CisgICAgdW5zaWduZWQgbV9oYXNBdXRvT3JwaGFucyA6IDE7CiAgICAgCiAgICAgdW5zaWdu
ZWQgdGV4dFNlY3VyaXR5IDogMjsgLy8gRVRleHRTZWN1cml0eQogICAgIHVuc2lnbmVkIHVzZXJN
b2RpZnkgOiAyOyAvLyBFVXNlck1vZGlmeSAoZWRpdGluZykKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1NWIwMWZhZjlhMTk1
ZTE2YjA0MmViMTE4ZWM3ZDA0OWY4OWU1ZDMzLi5lNWIwZjJlNjYxYTI4MmNjMmZjOTYyMTI1YWJi
ZmNhZWFjMmU2ZWM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMTItMDcgIERlYW4gSmFj
a3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFN1cHBvcnQgZm9yIENTUyB3aWRvd3Mg
YW5kIG9ycGhhbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTk0MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBIG5ldywgc2xpZ2h0bHkgbW9yZSBjb21wcmVoZW5zaXZlLCB0ZXN0IGZvciB3aWRvd3MgYW5k
IG9ycGhhbnMuIFdlIGFsc28KKyAgICAgICAgbm93IHBhc3MgdGhlIGV4aXN0aW5nIHdpZG93cyBh
bmQgb3JwaGFucyB0ZXN0cyBmcm9tIHByaW50aW5nLiBBbmQKKyAgICAgICAgc2luY2UgdGhlIGRl
ZmF1bHQgdmFsdWUgb2YgdGhlIHByb3BlcnRpZXMgY2hhbmdlZCwgdXBkYXRlIHRoZQorICAgICAg
ICBjb21wdXRlZCBzdHlsZSB0ZXN0IGFzIHdlbGwuCisKKyAgICAgICAgKiBmYXN0L2Nzcy9nZXRD
b21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0
L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvbXVsdGljb2wvd2lkb3dzLWFuZC1vcnBoYW5zLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tdWx0aWNvbC93aWRvd3MtYW5kLW9y
cGhhbnMuaHRtbDogQWRkZWQuCisgICAgICAgICogcHJpbnRpbmcvcGFnZS1icmVhay1vcnBoYW5z
LWFuZC13aWRvd3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHByaW50aW5nL3BhZ2UtYnJlYWst
b3JwaGFucy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcHJpbnRpbmcvcGFnZS1icmVhay13aWRv
d3MtZXhwZWN0ZWQudHh0OgorCiAyMDEyLTEyLTA0ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0Bh
cHBsZS5jb20+CiAKICAgICAgICAgSU5WQUxJRF9TVEFURV9FUlIgZXJyb3IgdXBvbiBjYWxsaW5n
IC5hZGRDdWUoKSBmb3IgYW4gYWxyZWFkeS1pbi11c2UgY3VlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUt
ZXhwZWN0ZWQudHh0CmluZGV4IGI1ZjFhZGE2YjMxM2E2ZGVlYjYyYzcxYjRjYTAyYTA3MDQ1YTU1
NDIuLjk4ODYyYjc5MDAxZDFjZWQzZWFmNTUyYzFhYmJjZGM3Yjk5NzVlMzIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29t
cHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CkBAIC02Myw3ICs2Myw3IEBAIG1heC13aWR0aDogbm9u
ZTsKIG1pbi1oZWlnaHQ6IDBweDsKIG1pbi13aWR0aDogMHB4Owogb3BhY2l0eTogMTsKLW9ycGhh
bnM6IDI7CitvcnBoYW5zOiBhdXRvOwogb3V0bGluZS1jb2xvcjogcmdiKDAsIDAsIDApOwogb3V0
bGluZS1zdHlsZTogbm9uZTsKIG91dGxpbmUtd2lkdGg6IDBweDsKQEAgLTk1LDcgKzk1LDcgQEAg
dW5pY29kZS1iaWRpOiBub3JtYWw7CiB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7CiB2aXNpYmls
aXR5OiB2aXNpYmxlOwogd2hpdGUtc3BhY2U6IG5vcm1hbDsKLXdpZG93czogMjsKK3dpZG93czog
YXV0bzsKIHdpZHRoOiA3ODRweDsKIHdvcmQtYnJlYWs6IG5vcm1hbDsKIHdvcmQtc3BhY2luZzog
MHB4OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9j
b21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJl
ci1leHBlY3RlZC50eHQKaW5kZXggZGRlZmZjMDc5NWFhYWNkYWJiZTgwNzQ1YmJhNmI1MmY1MDYz
NmYxOC4uZjBjODI4N2Y0ODk4MDdhMjQwODI1MWRhMWFmMTg1YTNhMjZhZWVjOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13
aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9n
ZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQu
dHh0CkBAIC02Miw3ICs2Miw3IEBAIG1heC13aWR0aDogbm9uZQogbWluLWhlaWdodDogMHB4CiBt
aW4td2lkdGg6IDBweAogb3BhY2l0eTogMQotb3JwaGFuczogMgorb3JwaGFuczogYXV0bwogb3V0
bGluZS1jb2xvcjogcmdiKDAsIDAsIDApCiBvdXRsaW5lLXN0eWxlOiBub25lCiBvdXRsaW5lLXdp
ZHRoOiAwcHgKQEAgLTk0LDcgKzk0LDcgQEAgdW5pY29kZS1iaWRpOiBub3JtYWwKIHZlcnRpY2Fs
LWFsaWduOiBiYXNlbGluZQogdmlzaWJpbGl0eTogdmlzaWJsZQogd2hpdGUtc3BhY2U6IG5vcm1h
bAotd2lkb3dzOiAyCit3aWRvd3M6IGF1dG8KIHdpZHRoOiA1MCUKIHdvcmQtYnJlYWs6IG5vcm1h
bAogd29yZC1zcGFjaW5nOiAwcHgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbXVsdGlj
b2wvd2lkb3dzLWFuZC1vcnBoYW5zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbXVs
dGljb2wvd2lkb3dzLWFuZC1vcnBoYW5zLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjZkYTVm
OTI4YjA0NzhiNTE1NWVlZmFiYTQwNjI2Y2RmNTg4MmIzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC93aWRvd3MtYW5kLW9ycGhhbnMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNDMgQEAKK1Rlc3Rpbmcgd2lkb3dzIGFuZCBvcnBoYW5zLiBBbnkgZ3JlZW4gbGlu
ZXMgc2hvdWxkIGJlIGF0IHRoZSBib3R0b20gb2YgcGFnZXMvY29sdW1ucywgYW5kIGFueSByZWQg
bGluZXMgc2hvdWxkIGJlIGF0IHRoZSB0b3Agb2YgcGFnZXMvY29sdW1ucy4KKwordGVzdDEgLSBO
b3JtYWwgYnJlYWtpbmcKKwordGVzdDIgLSBCYXNpYyBPcnBoYW4KKwordGVzdDMgLSBCYXNpYyBX
aWRvdworCit0ZXN0NCAtIE9ycGhhbnMgY2F1c2luZyBXaWRvd3MKKwordGVzdDUgLSBXaWRvd3Mg
YmxvY2tlZCBieSBPcnBoYW4gcnVsZQorCit0ZXN0NiAtIFJpZGljdWxvdXMgdmFsdWVzCisKK1BB
U1M6IHRlc3QxIEJsb2NrIDEgTGluZSAxIGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3QxIEJsb2Nr
IDIgTGluZSA1IGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3QxIEJsb2NrIDQgTGluZSAyIGlzIGNv
cnJlY3QuCisKK1BBU1M6IHRlc3QyIEJsb2NrIDEgTGluZSAxIGlzIGNvcnJlY3QuCisKK1BBU1M6
IHRlc3QyIEJsb2NrIDIgTGluZSAxIGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3QzIEJsb2NrIDEg
TGluZSAxIGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3QzIEJsb2NrIDIgTGluZSA1IGlzIGNvcnJl
Y3QuCisKK1BBU1M6IHRlc3Q0IEJsb2NrIDEgTGluZSAxIGlzIGNvcnJlY3QuCisKK1BBU1M6IHRl
c3Q0IEJsb2NrIDIgTGluZSAxIGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3Q0IEJsb2NrIDMgTGlu
ZSAzIGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3Q1IEJsb2NrIDEgTGluZSAxIGlzIGNvcnJlY3Qu
CisKK1BBU1M6IHRlc3Q1IEJsb2NrIDIgTGluZSAzIGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3Q2
IEJsb2NrIDEgTGluZSAxIGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3Q2IEJsb2NrIDIgTGluZSAx
IGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3Q2IEJsb2NrIDMgTGluZSAxIGlzIGNvcnJlY3QuCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211bHRpY29sL3dpZG93cy1hbmQtb3JwaGFucy5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC93aWRvd3MtYW5kLW9ycGhhbnMuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44ZmVjY2RjMWRiZWRlOTFiMDJkOWE0MGNkZjQ4NTE2YTFjMDNiYzlmCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC93aWRvd3MtYW5kLW9ycGhh
bnMuaHRtbApAQCAtMCwwICsxLDIwNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHRpdGxlPlRlc3RpbmcgV2lkb3dzIGFuZCBPcnBoYW5zPC90aXRsZT4KKzxzdHlsZT4KK2Jv
ZHkuaGlkZS1jb250YWluZXJzIC5jb250YWluZXIgeworICAgIGRpc3BsYXk6IG5vbmU7Cit9CisK
Ky5jb250YWluZXIgeworICAgIHdpZHRoOiA2MDBweDsKKyAgICBoZWlnaHQ6IDIwMHB4OworICAg
IC13ZWJraXQtY29sdW1uczogMzsKKyAgICBsaW5lLWhlaWdodDogMjBweDsgLyogMTAgbGluZXMg
cGVyIHBhZ2UgKi8KKyAgICBmb250LXNpemU6IDE2cHg7CisgICAgbWFyZ2luOiAwIDAgMjBweCAw
OworICAgIHBhZGRpbmc6IDA7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKK30KKworLmJsb2NrIHsK
KyAgICBtYXJnaW46IDAgMCAxNXB4IDA7CisgICAgcGFkZGluZzogMDsKK30KKworLnRvcCB7Cisg
ICAgY29sb3I6IHJlZDsKK30KKworLmJvdHRvbSB7CisgICAgY29sb3I6IGdyZWVuOworfQorPC9z
dHlsZT4KKzxzY3JpcHQ+Cit2YXIgcmVzdWx0czsKKworZnVuY3Rpb24gY3JlYXRlVGVzdENvbnRh
aW5lcihpZCwgZGVzY3JpcHRpb24sIGJsb2NrcykKK3sKKyAgICB2YXIgbGFiZWwgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJoMyIpOworICAgIGxhYmVsLnRleHRDb250ZW50ID0gaWQgKyAiIC0g
IiArIGRlc2NyaXB0aW9uOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobGFiZWwpOwor
ICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZWxl
bWVudC5jbGFzc05hbWUgPSAiY29udGFpbmVyIjsKKyAgICBlbGVtZW50LmlkID0gaWQ7CisKKyAg
ICBmb3IgKHZhciBpID0gMTsgaSA8PSBibG9ja3MubGVuZ3RoOyBpKyspIHsKKyAgICAgICAgdmFy
IGJsb2NrID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgIGJsb2NrLmNs
YXNzTmFtZSA9ICJibG9jayI7CisgICAgICAgIHZhciBudW1MaW5lcyA9IGJsb2Nrc1tpLTFdOwor
ICAgICAgICBmb3IgKHZhciBqID0gMTsgaiA8PSBudW1MaW5lczsgaisrKSB7CisgICAgICAgICAg
ICB2YXIgbGluZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICAgICAgICAg
IGxpbmUuaWQgPSBpZCArICItYmxvY2stIiArIGkgKyAiLWxpbmUtIiArIGo7CisgICAgICAgICAg
ICBsaW5lLnRleHRDb250ZW50ID0gIkJsb2NrICIgKyBpICsgIiBMaW5lICIgKyBqOworICAgICAg
ICAgICAgYmxvY2suYXBwZW5kQ2hpbGQobGluZSk7CisgICAgICAgICAgICBibG9jay5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpKTsKKyAgICAgICAgfQorICAgICAgICBl
bGVtZW50LmFwcGVuZENoaWxkKGJsb2NrKTsKKyAgICB9CisgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChlbGVtZW50KTsKKyAgICByZXR1cm4gZWxlbWVudDsKK30KKworZnVuY3Rpb24gbWFy
a1RvcExpbmUoY29udGFpbmVySWQsIGJsb2NrTnVtYmVyLCBsaW5lTnVtYmVyKQoreworICAgIHZh
ciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVySWQgKyAiLWJsb2Nr
LSIgKyBibG9ja051bWJlciArICItbGluZS0iICsgbGluZU51bWJlcik7CisgICAgZWxlbWVudC5j
bGFzc05hbWUgPSAidG9wIjsKK30KKworZnVuY3Rpb24gbWFya0JvdHRvbUxpbmUoY29udGFpbmVy
SWQsIGJsb2NrTnVtYmVyLCBsaW5lTnVtYmVyKQoreworICAgIHZhciBlbGVtZW50ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVySWQgKyAiLWJsb2NrLSIgKyBibG9ja051bWJlciAr
ICItbGluZS0iICsgbGluZU51bWJlcik7CisgICAgZWxlbWVudC5jbGFzc05hbWUgPSAiYm90dG9t
IjsKK30KKworZnVuY3Rpb24gbG9nUGFzcyhtc2cpIHsKKyAgICBsb2coIlBBU1M6ICIgKyBtc2cp
OworfQorCitmdW5jdGlvbiBsb2dGYWlsKG1zZykgeworICAgIGxvZygiRkFJTDogIiArIG1zZyk7
Cit9CisKK2Z1bmN0aW9uIGxvZyhtc2cpIHsKKyAgICBpZiAoIXJlc3VsdHMpCisgICAgICAgIHJl
c3VsdHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKworICAgIHZhciBvdXRwdXQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIik7CisgICAgb3V0cHV0LnRleHRDb250ZW50ID0g
bXNnOworICAgIHJlc3VsdHMuYXBwZW5kQ2hpbGQob3V0cHV0KTsKK30KKworZnVuY3Rpb24gdGVz
dElzRmlyc3RJbkNvbHVtbihjb250YWluZXJJZCwgYmxvY2tOdW1iZXIsIGxpbmVOdW1iZXIpCit7
CisgICAgLy8gR2V0IHRoZSB1cHBlciBib3VuZHMgb2YgdGhlIGNvbnRhaW5lciBhbmQgbGluZS4K
KyAgICB2YXIgdG9wT2ZDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250YWlu
ZXJJZCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wOworICAgIHZhciB0b3BPZkxpbmUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250YWluZXJJZCArICItYmxvY2stIiArIGJsb2NrTnVt
YmVyICsgIi1saW5lLSIgKyBsaW5lTnVtYmVyKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7
CisKKyAgICBpZiAoTWF0aC5hYnModG9wT2ZDb250YWluZXIgLSB0b3BPZkxpbmUpIDwgNSkgLy8g
R2l2ZSA1IHBpeGVscyB0byBhY2NvdW50IGZvciBzdWJwaXhlbCBsYXlvdXQuCisgICAgICAgIGxv
Z1Bhc3MoY29udGFpbmVySWQgKyAiIEJsb2NrICIgKyBibG9ja051bWJlciArICIgTGluZSAiICsg
bGluZU51bWJlciArICIgaXMgY29ycmVjdC4iKTsKKyAgICBlbHNlCisgICAgICAgIGxvZ0ZhaWwo
Y29udGFpbmVySWQgKyAiIEJsb2NrICIgKyBibG9ja051bWJlciArICIgTGluZSAiICsgbGluZU51
bWJlciArICIgd2Fzbid0IGF0IHRoZSB0b3Agb2YgdGhlIGNvbHVtbi4iKTsKK30KKworZnVuY3Rp
b24gcnVuVGVzdCgpCit7CisgICAgdmFyIGNvbnRhaW5lcjsKKworICAgIGNyZWF0ZVRlc3RDb250
YWluZXIoInRlc3QxIiwgIk5vcm1hbCBicmVha2luZyIsIFs1LCA2LCA1LCA1XSk7CisKKyAgICBt
YXJrVG9wTGluZSgidGVzdDEiLCAxLCAxKTsKKyAgICBtYXJrQm90dG9tTGluZSgidGVzdDEiLCAy
LCA0KTsKKyAgICBtYXJrVG9wTGluZSgidGVzdDEiLCAyLCA1KTsKKyAgICBtYXJrQm90dG9tTGlu
ZSgidGVzdDEiLCA0LCAxKTsKKyAgICBtYXJrVG9wTGluZSgidGVzdDEiLCA0LCAyKTsKKworICAg
IHRlc3RJc0ZpcnN0SW5Db2x1bW4oInRlc3QxIiwgMSwgMSk7CisgICAgdGVzdElzRmlyc3RJbkNv
bHVtbigidGVzdDEiLCAyLCA1KTsKKyAgICB0ZXN0SXNGaXJzdEluQ29sdW1uKCJ0ZXN0MSIsIDQs
IDIpOworCisgICAgY29udGFpbmVyID0gY3JlYXRlVGVzdENvbnRhaW5lcigidGVzdDIiLCAiQmFz
aWMgT3JwaGFuIiwgWzgsIDZdKTsKKyAgICBjb250YWluZXIuc3R5bGUub3JwaGFucyA9IDI7CisK
KyAgICBtYXJrVG9wTGluZSgidGVzdDIiLCAxLCAxKTsKKyAgICBtYXJrQm90dG9tTGluZSgidGVz
dDIiLCAxLCA4KTsgLy8gT3JwaGFuIGJyZWFrIGhhcHBlbnMgaGVyZS4KKyAgICBtYXJrVG9wTGlu
ZSgidGVzdDIiLCAyLCAxKTsKKworICAgIHRlc3RJc0ZpcnN0SW5Db2x1bW4oInRlc3QyIiwgMSwg
MSk7CisgICAgdGVzdElzRmlyc3RJbkNvbHVtbigidGVzdDIiLCAyLCAxKTsKKworICAgIGNvbnRh
aW5lciA9IGNyZWF0ZVRlc3RDb250YWluZXIoInRlc3QzIiwgIkJhc2ljIFdpZG93IiwgWzQsIDYs
IDNdKTsKKyAgICBjb250YWluZXIuc3R5bGUud2lkb3dzID0gMjsKKworICAgIG1hcmtUb3BMaW5l
KCJ0ZXN0MyIsIDEsIDEpOworICAgIG1hcmtCb3R0b21MaW5lKCJ0ZXN0MyIsIDIsIDQpOyAvLyBX
aWRvdyBicmVhayBoYXBwZW5zIGhlcmUuCisgICAgbWFya1RvcExpbmUoInRlc3QzIiwgMiwgNSk7
CisKKyAgICB0ZXN0SXNGaXJzdEluQ29sdW1uKCJ0ZXN0MyIsIDEsIDEpOworICAgIHRlc3RJc0Zp
cnN0SW5Db2x1bW4oInRlc3QzIiwgMiwgNSk7CisKKyAgICBjb250YWluZXIgPSBjcmVhdGVUZXN0
Q29udGFpbmVyKCJ0ZXN0NCIsICJPcnBoYW5zIGNhdXNpbmcgV2lkb3dzIiwgWzgsIDYsIDQsIDRd
KTsKKyAgICBjb250YWluZXIuc3R5bGUub3JwaGFucyA9IDI7CisgICAgY29udGFpbmVyLnN0eWxl
LndpZG93cyA9IDI7CisKKyAgICBtYXJrVG9wTGluZSgidGVzdDQiLCAxLCAxKTsKKyAgICBtYXJr
Qm90dG9tTGluZSgidGVzdDQiLCAxLCA4KTsgLy8gT3JwaGFuIGJyZWFrIGhhcHBlbnMgaGVyZS4K
KyAgICBtYXJrVG9wTGluZSgidGVzdDQiLCAyLCAxKTsKKyAgICBtYXJrQm90dG9tTGluZSgidGVz
dDQiLCAzLCAyKTsgLy8gQW5kIHRoYXQgY3JlYXRlcyBhIHdpZG93IGZvcmNpbmcgYSBicmVhayBo
ZXJlLgorICAgIG1hcmtUb3BMaW5lKCJ0ZXN0NCIsIDMsIDMpOworCisgICAgdGVzdElzRmlyc3RJ
bkNvbHVtbigidGVzdDQiLCAxLCAxKTsKKyAgICB0ZXN0SXNGaXJzdEluQ29sdW1uKCJ0ZXN0NCIs
IDIsIDEpOworICAgIHRlc3RJc0ZpcnN0SW5Db2x1bW4oInRlc3Q0IiwgMywgMyk7CisKKyAgICBj
b250YWluZXIgPSBjcmVhdGVUZXN0Q29udGFpbmVyKCJ0ZXN0NSIsICJXaWRvd3MgYmxvY2tlZCBi
eSBPcnBoYW4gcnVsZSIsIFs3LCAzLCA0XSk7CisgICAgY29udGFpbmVyLnN0eWxlLm9ycGhhbnMg
PSAyOworICAgIGNvbnRhaW5lci5zdHlsZS53aWRvd3MgPSAyOworCisgICAgbWFya1RvcExpbmUo
InRlc3Q1IiwgMSwgMSk7CisgICAgbWFya0JvdHRvbUxpbmUoInRlc3Q1IiwgMiwgMik7IC8vIFRo
aXMgbGluZSBzaG91bGQgbm90IG1vdmUgLSBwcm90ZWN0ZWQgYnkgb3JwaGFuaW5nLgorICAgIG1h
cmtUb3BMaW5lKCJ0ZXN0NSIsIDIsIDMpOyAvLyBUaGlzIGxpbmUgd29uJ3QgYmUgdW4td2lkb3dl
ZCAtIGJsb2NrZWQgYnkgb3JwaGFuaW5nLgorCisgICAgdGVzdElzRmlyc3RJbkNvbHVtbigidGVz
dDUiLCAxLCAxKTsKKyAgICB0ZXN0SXNGaXJzdEluQ29sdW1uKCJ0ZXN0NSIsIDIsIDMpOworCisg
ICAgY29udGFpbmVyID0gY3JlYXRlVGVzdENvbnRhaW5lcigidGVzdDYiLCAiUmlkaWN1bG91cyB2
YWx1ZXMiLCBbNywgNywgNywgN10pOworICAgIGNvbnRhaW5lci5zdHlsZS5vcnBoYW5zID0gMTAw
OworICAgIGNvbnRhaW5lci5zdHlsZS53aWRvd3MgPSAxMDA7CisKKyAgICBtYXJrVG9wTGluZSgi
dGVzdDYiLCAxLCAxKTsKKyAgICBtYXJrQm90dG9tTGluZSgidGVzdDYiLCAxLCA3KTsgLy8gT3Jw
aGFuIGJyZWFrIGhhcHBlbnMgaGVyZS4KKyAgICBtYXJrVG9wTGluZSgidGVzdDYiLCAyLCAxKTsg
Ly8gQWRvcHRlZC4KKyAgICBtYXJrQm90dG9tTGluZSgidGVzdDYiLCAyLCA3KTsgLy8gT3JwaGFu
IGJyZWFrLgorICAgIG1hcmtUb3BMaW5lKCJ0ZXN0NiIsIDMsIDEpOyAvLyBBZG9wdGVkLgorCisg
ICAgdGVzdElzRmlyc3RJbkNvbHVtbigidGVzdDYiLCAxLCAxKTsKKyAgICB0ZXN0SXNGaXJzdElu
Q29sdW1uKCJ0ZXN0NiIsIDIsIDEpOworICAgIHRlc3RJc0ZpcnN0SW5Db2x1bW4oInRlc3Q2Iiwg
MywgMSk7CisKKyAgICBpZiAocmVzdWx0cykKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChyZXN1bHRzKTsKKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAv
LyBIaWRlIGFsbCB0aGUgY29udGFpbmVycyBhbmQgbGVhdmUganVzdCB0aGUgdGVzdCByZXN1bHRz
IGZvciB0ZXh0IG91dHB1dC4KKyAgICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSAiaGlk
ZS1jb250YWluZXJzIjsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfQor
fQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKword2luZG93LmFkZEV2ZW50
TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0LCBmYWxzZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorICAgIDxwPgorICAgICAgICBUZXN0aW5nIHdpZG93cyBhbmQgb3JwaGFucy4gQW55IGdy
ZWVuIGxpbmVzCisgICAgICAgIHNob3VsZCBiZSBhdCB0aGUgYm90dG9tIG9mIHBhZ2VzL2NvbHVt
bnMsIGFuZCBhbnkgcmVkIGxpbmVzCisgICAgICAgIHNob3VsZCBiZSBhdCB0aGUgdG9wIG9mIHBh
Z2VzL2NvbHVtbnMuCisgICAgPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1icmVhay1vcnBoYW5zLWFuZC13aWRvd3MtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1icmVhay1vcnBoYW5zLWFuZC13aWRvd3Mt
ZXhwZWN0ZWQudHh0CmluZGV4IGZlZWVhMDk3YzBiNWIwZTE3ZmIwYTgyZDgwNjAzY2E1MTFkNzY3
Y2UuLmU4ZGM3NGI5OGZlMGZjZjkyMTA5NWI1NjIxYTE0NzM0MDg2NDNkMDggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3ByaW50aW5nL3BhZ2UtYnJlYWstb3JwaGFucy1hbmQtd2lkb3dzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLWJyZWFrLW9ycGhhbnMtYW5k
LXdpZG93cy1leHBlY3RlZC50eHQKQEAgLTgsNyArOCw3IEBAIFBBU1M6IHBhZ2UgbnVtYmVyIG9m
ICJwYWdlMS0xIiBpcyAxCiBQQVNTOiBwYWdlIG51bWJlciBvZiAicGFnZTEtMiIgaXMgMQogUEFT
UzogcGFnZSBudW1iZXIgb2YgInBhZ2UxLTMiIGlzIDEKIFBBU1M6IHBhZ2UgbnVtYmVyIG9mICJw
YWdlMiIgaXMgMgotRkFJTDogZXhwZWN0ZWQgcGFnZSBudW1iZXIgb2YgInBhZ2UzIiBpcyAzLiBX
YXMgMgorUEFTUzogcGFnZSBudW1iZXIgb2YgInBhZ2UzIiBpcyAzCiBQQVNTOiBwYWdlIG51bWJl
ciBvZiAicGFnZTQiIGlzIDQKIEZBSUw6IGV4cGVjdGVkIHBhZ2UgbnVtYmVyIG9mICJwYWdlNSIg
aXMgNS4gV2FzIDQKIFBBU1M6IHBhZ2UgbnVtYmVyIG9mICJwYWdlNi0xIiBpcyA2CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLWJyZWFrLW9ycGhhbnMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1icmVhay1vcnBoYW5zLWV4cGVjdGVkLnR4dApp
bmRleCAyMTI3YWFhMTk5MmU3ZGZlZWIzOGUyMDUyNGJlMDZkOWJmYjliYWE1Li4zZmMxNTIzNWMy
M2EzYzA2OTFiYjA3MWM0ZWM3NzI2ZjFlMmQzNjFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
cmludGluZy9wYWdlLWJyZWFrLW9ycGhhbnMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3ByaW50aW5nL3BhZ2UtYnJlYWstb3JwaGFucy1leHBlY3RlZC50eHQKQEAgLTcsOSArNywxMCBA
QCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogUEFTUzogcGFnZSBudW1iZXIgb2YgInBhZ2UxLTEi
IGlzIDEKIFBBU1M6IHBhZ2UgbnVtYmVyIG9mICJwYWdlMS0yIiBpcyAxCiBQQVNTOiBwYWdlIG51
bWJlciBvZiAicGFnZTMiIGlzIDMKLUZBSUw6IGV4cGVjdGVkIHBhZ2UgbnVtYmVyIG9mICJwYWdl
NCIgaXMgNC4gV2FzIDMKK1BBU1M6IHBhZ2UgbnVtYmVyIG9mICJwYWdlNCIgaXMgNAogUEFTUzog
cGFnZSBudW1iZXIgb2YgInBhZ2U1LTEiIGlzIDUKIFBBU1M6IHBhZ2UgbnVtYmVyIG9mICJwYWdl
NS0yIiBpcyA1CitBbGwgdGVzdHMgcGFzc2VkCiAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1icmVhay13aWRv
d3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1icmVhay13aWRvd3Mt
ZXhwZWN0ZWQudHh0CmluZGV4IGY0MGU0NjA2NGY5ODk5ZWZjYmM4YzEwMGRkMWU0ZmU5MmMxOGJh
NWIuLmFkYTkxNGFjZDQ2ZjEyYWRmOWM0NzhjNGY5NjIzZGI0OTkwNWZmYmYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3ByaW50aW5nL3BhZ2UtYnJlYWstd2lkb3dzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLWJyZWFrLXdpZG93cy1leHBlY3RlZC50eHQKQEAg
LTExLDcgKzExLDggQEAgUEFTUzogcGFnZSBudW1iZXIgb2YgInBhZ2UyLTIiIGlzIDIKIFBBU1M6
IHBhZ2UgbnVtYmVyIG9mICJwYWdlMy0xIiBpcyAzCiBQQVNTOiBwYWdlIG51bWJlciBvZiAicGFn
ZTMtMiIgaXMgMwogUEFTUzogcGFnZSBudW1iZXIgb2YgInBhZ2U0IiBpcyA0Ci1GQUlMOiBleHBl
Y3RlZCBwYWdlIG51bWJlciBvZiAicGFnZTUiIGlzIDUuIFdhcyA0CitQQVNTOiBwYWdlIG51bWJl
ciBvZiAicGFnZTUiIGlzIDUKK0FsbCB0ZXN0cyBwYXNzZWQKIAogUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178297</attachid>
            <date>2012-12-07 15:54:03 -0800</date>
            <delta_ts>2012-12-10 15:59:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-9410-20121208105126.patch</filename>
            <type>text/plain</type>
            <size>38059</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2OTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODliNTI3MDIzOTUyZjc0
ZDQ0YzYyOWQ3Nzg2MmJlNDkyNjcyMzA2MC4uYTE4NjQzY2NjODJiZDZhMDZlNTIyM2U3N2MxYjk5
YzA4ODI0NjRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDEyLTEyLTA3ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IGZvciBDU1Mgd2lk
b3dzIGFuZCBvcnBoYW5zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD05NDEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIENTUyAnd2lkb3cnIGFuZCAnb3JwaGFuJyBwcm9wZXJ0aWVzIHdlcmUgc3VwcG9y
dGVkIGJ5IHRoZSBwYXJzZXIgYW5kCisgICAgICAgIHN0eWxlIHN5c3RlbSwgYnV0IHdlcmUgbm90
IGFjdHVhbGx5IGRvaW5nIGFueXRoaW5nIGluIGxheW91dC4gTm93IHRoZXkgZG8hCisKKyAgICAg
ICAgSW4gb3JkZXIgdG8gbm90IGJyZWFrIGV4aXN0aW5nIGNvbnRlbnQsIEkgdW5mb3J0dW5hdGVs
eSBoYWQgdG8gZ28gYWdhaW5zdAorICAgICAgICB0aGUgc3BlY2lmaWNhdGlvbiBhbmQgY2hhbmdl
IG91ciBkZWZhdWx0IHZhbHVlIGZyb20gMiB0byBhdXRvLiBBIHZhbHVlIG9mCisgICAgICAgIGF1
dG8gbWVhbnMgdGhhdCB3aWRvd3MgYW5kIG9ycGhhbnMgd2lsbCBub3QgY2F1c2UgYW55IHBhZ2Uv
Y29sdW1uIGJyZWFrcy4KKworICAgICAgICBTdXBwb3J0aW5nIG9ycGhhbnMgd2FzIGEgc21hbGwg
Y2hhbmdlLiBEdXJpbmcgbGluZSBsYXlvdXQsIGlmIHdlIHJlYWxpc2UKKyAgICAgICAgd2UgbmVl
ZCB0byBtb3ZlIHRvIGEgbmV3IHBhZ2UgaW4gYSBzaXR1YXRpb24gdGhhdCB3b3VsZCBjcmVhdGUg
YW4gb3JwaGFuLAorICAgICAgICBtb3ZlIHRoZSBlbnRpcmUgYmxvY2sgdG8gdGhlIG5ldyBwYWdl
LiBUaGVyZSB3YXMgYWxyZWFkeSBjb2RlIHRvIGRvIHRoaXMuCisKKyAgICAgICAgU3VwcG9ydCBm
b3Igd2lkb3dzIHdhcyB0cmlja2llci4gV2hlbiB3ZSBmaW5pc2ggbGF5aW5nIG91dCBhIGJsb2Nr
LCBjb3VudAorICAgICAgICB0aGUgbnVtYmVyIG9mIGhhbmdpbmcgbGluZXMuIElmIHdlJ3ZlIGNy
ZWF0ZWQgYSB3aWRvdywgYW5kIHRoZXJlIGFyZSBlbm91Z2gKKyAgICAgICAgYXZhaWxhYmxlIGxp
bmVzIG9uIHRoZSBwcmV2aW91cyBwYWdlLCB0aGVuIHN0ZWFsIHNvbWUgYW5kIHJlbWVtYmVyIHRo
ZSBsaW5lCisgICAgICAgIHRvIGJyZWFrIGF0LiBUcmlnZ2VyIGEgcmVsYXlvdXQuIFRoZW4gbm90
aWNlIHRoZSBsaW5lIHRoYXQgd2FzIG1hcmtlZCBmb3IKKyAgICAgICAgYnJlYWtpbmcgYW5kIGF2
b2lkIHRoZSB3aWRvdy4gVGhpcyBtZWFucyBzb21lIGJsb2NrcyBnbyB0aHJvdWdoIGxheW91dAor
ICAgICAgICB0d2ljZSwgYnV0IGFzIGxvbmcgYXMgdGhlIHdpZG93IHZhbHVlIGlzIHNtYWxsIGl0
IHNob3VsZG4ndCBiZSBhIGh1Z2UgcGVuYWx0eS4KKworICAgICAgICBUZXN0czogZmFzdC9tdWx0
aWNvbC93aWRvd3MtYW5kLW9ycGhhbnMuaHRtbCAobmV3IHRlc3QpCisgICAgICAgICAgICAgICBw
cmludGluZy9wYWdlLWJyZWFrLW9ycGhhbnMuaHRtbAorICAgICAgICAgICAgICAgcHJpbnRpbmcv
cGFnZS1icmVhay1vcnBoYW5zLWFuZC13aWRvd3MuaHRtbAorICAgICAgICAgICAgICAgcHJpbnRp
bmcvcGFnZS1icmVhay13aWRvd3MuaHRtbAorCisgICAgICAgICogY3NzL0NTU0NvbXB1dGVkU3R5
bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NDb21wdXRlZFN0eWxlRGVj
bGFyYXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUpOiBSZXR1cm4gQ1NTVmFsdWVBdXRvIGZvciB3
aWRvd3MgYW5kIG9ycGhhbnMgaWYgbmVjZXNzYXJ5LgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpwYXJzZVZhbHVlKTogU3VwcG9ydCAi
YXV0byIgaW4gd2lkb3cgYW5kIG9ycGhhbiBwcm9wZXJ0eSBwYXJzaW5nLgorICAgICAgICAqIGNz
cy9TdHlsZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyOjpTdHls
ZUJ1aWxkZXIpOiBDaGFuZ2UgcHJvcGVydHkgaGFuZGxlciB0byBzb21ldGhpbmcgdGhhdCBzdXBw
b3J0cyBhdXRvLgorICAgICAgICAqIHBhZ2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5QW5pbWF0aW9uOjplbnN1cmVQcm9w
ZXJ0eU1hcCk6IEFkZCB3aWRvd3MgYW5kIG9ycGhhbnMgdG8gdGhlIGFuaW1hdGlvbiBtYXAuCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckJsb2NrOjpsYXlvdXRCbG9ja0NoaWxkKTogRGV0ZWN0IGlmIHdlJ3ZlIGNhdXNlZCBhIHdp
ZG93LWZpeGluZyBicmVhaywgYW5kIHJlcXVlc3QgcmVsYXlvdXQgZXZhbHVhdGlvbi4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjptYXJrRm9yUGFnaW5hdGlvblJlbGF5b3V0SWZOZWVk
ZWQpOiBUZXN0IGZvciBhIHdpZG93LWZpeGluZyBsaW5lLgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2s6OnNldEJyZWFrQXRMaW5lVG9Bdm9pZFdpZG93KTogTmV3IGZ1bmN0aW9uIHRvIHJl
bWVtYmVyIHdoZXJlIHdlIHNob3VsZCBicmVhayBvbiBuZXh0IGxheW91dC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrOjphZGp1c3RMaW5lUG9zaXRpb25Gb3JQYWdpbmF0aW9uKTogTW92
ZSB0aGUgZW50aXJlIGJsb2NrIHRvIGEgbmV3IHBhZ2UgaWYgdGhpcyB3b3VsZCBjcmVhdGUgYW4g
b3JwaGFuLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2s6OnNob3VsZEJyZWFrQXRMaW5lVG9Bdm9pZFdpZG93KTogTmV3IGZ1
bmN0aW9uIHRvIGluZGljYXRlIGlmIHdlIGFyZSByZW1lbWJlcmluZyBhIHdpZG93LgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNsZWFyU2hvdWxkQnJlYWtBdExpbmVUb0F2b2lkV2lk
b3cpOiBSZXNldCB0aGUgbGluZSBicmVha3MuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9j
azo6bGluZUJyZWFrVG9Bdm9pZFdpZG93KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2Nr
OjpSZW5kZXJCbG9ja1JhcmVEYXRhOjpSZW5kZXJCbG9ja1JhcmVEYXRhKTogQWRkIGEgZmxhZyBm
b3IgaW5kaWNhdGluZyBpZiB3ZSBhcmUgcmVtZW1iZXJpbmcgYSBsaW5lLCBhbmQgdGhlIGFjdHVh
bCBsaW5lIGl0c2VsZi4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRSdW5zQW5kRmxvYXRz
SW5SYW5nZSk6IFRoZSBjb2RlIHRvIGRldGVjdCBhbmQgZml4IHdpZG93cy4gRXhwbGFpbmVkIGFi
b3ZlLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOiBOZXcgbWV0aG9k
cyBmb3IgaW5kaWNhdGluZyBpZiB3aWRvd3MgYW5kIG9ycGhhbnMgYXJlIG5vbi1kZWZhdWx0IHZh
bHVlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5j
cHA6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWRE
YXRhLmg6IERpdHRvLgorCiAyMDEyLTEyLTA3ICBBbGVjIEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBJbmRleGVkREI6IHByb3BhZ2F0ZSB0cmFuc2FjdGlvbl9pZHMg
dGhyb3VnaCBvcGVuL3VwZ3JhZGVuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKaW5kZXggMGM3MGMwNjQ4ZDE5MDk2ZTQ4ZWQz
ZTRjMzFhNjRkYzZiYjIzYjBiMS4uNTg3YmJlYmZmMWZiNDg0OGRiYWVhOWNlOWYyYWIzNDVjZjNi
ZDQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNs
YXJhdGlvbi5jcHAKQEAgLTIwMDAsNiArMjAwMCw4IEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENT
U0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbjo6Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0
CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlPcGFjaXR5OgogICAgICAgICAgICAgcmV0dXJuIGNz
c1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHN0eWxlLT5vcGFjaXR5KCksIENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfTlVNQkVSKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eU9ycGhhbnM6CisgICAg
ICAgICAgICBpZiAoc3R5bGUtPmhhc0F1dG9PcnBoYW5zKCkpCisgICAgICAgICAgICAgICAgcmV0
dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUF1dG8pOwog
ICAgICAgICAgICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZVZhbHVlKHN0eWxlLT5vcnBo
YW5zKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKICAgICAgICAgY2FzZSBDU1NQ
cm9wZXJ0eU91dGxpbmVDb2xvcjoKICAgICAgICAgICAgIHJldHVybiBtX2FsbG93VmlzaXRlZFN0
eWxlID8gY3NzVmFsdWVQb29sKCkuY3JlYXRlQ29sb3JWYWx1ZShzdHlsZS0+dmlzaXRlZERlcGVu
ZGVudENvbG9yKENTU1Byb3BlcnR5T3V0bGluZUNvbG9yKS5yZ2IoKSkgOiBjdXJyZW50Q29sb3JP
clZhbGlkQ29sb3Ioc3R5bGUuZ2V0KCksIHN0eWxlLT5vdXRsaW5lQ29sb3IoKSk7CkBAIC0yMTQ4
LDYgKzIxNTAsOCBAQCBQYXNzUmVmUHRyPENTU1ZhbHVlPiBDU1NDb21wdXRlZFN0eWxlRGVjbGFy
YXRpb246OmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydAogICAgICAgICBjYXNlIENTU1By
b3BlcnR5V2hpdGVTcGFjZToKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVh
dGVWYWx1ZShzdHlsZS0+d2hpdGVTcGFjZSgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdp
ZG93czoKKyAgICAgICAgICAgIGlmIChzdHlsZS0+aGFzQXV0b1dpZG93cygpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFs
dWVBdXRvKTsKICAgICAgICAgICAgIHJldHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVWYWx1ZShz
dHlsZS0+d2lkb3dzKCksIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKICAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdpZHRoOgogICAgICAgICAgICAgaWYgKHJlbmRlcmVyKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGFmZDczYjczNWI0MTVmZDZlMWY0N2M4MzBmZjY3Yjhm
NzdhNWQ5YTkuLjU2NTBhZTVjMWRmMjZlMDNjNDExYmYxYzc0ZGVlNjJkYmQ1OWVmNDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0yMTUzLDEwICsyMTUzLDEyIEBAIGJvb2wgQ1NTUGFy
c2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIC8qIG5vYnJlYWsgKi8KLSAgICBj
YXNlIENTU1Byb3BlcnR5T3JwaGFuczogICAgICAgICAgICAgIC8vIDxpbnRlZ2VyPiB8IGluaGVy
aXQKLSAgICBjYXNlIENTU1Byb3BlcnR5V2lkb3dzOiAgICAgICAgICAgICAgIC8vIDxpbnRlZ2Vy
PiB8IGluaGVyaXQKLSAgICAgICAgLy8gIyMjIG5vdCBzdXBwb3J0ZWQgbGF0ZXIgb24KLSAgICAg
ICAgdmFsaWRQcmltaXRpdmUgPSAoIWlkICYmIHZhbGlkVW5pdCh2YWx1ZSwgRkludGVnZXIsIENT
U1F1aXJrc01vZGUpKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5T3JwaGFuczogLy8gPGludGVnZXI+
IHwgaW5oZXJpdCB8IGF1dG8gKFdlJ3ZlIGFkZGVkIHN1cHBvcnQgZm9yIGF1dG8gZm9yIGJhY2t3
YXJkcyBjb21wYXRpYmlsaXR5KQorICAgIGNhc2UgQ1NTUHJvcGVydHlXaWRvd3M6IC8vIDxpbnRl
Z2VyPiB8IGluaGVyaXQgfCBhdXRvIChEaXR0bykKKyAgICAgICAgaWYgKGlkID09IENTU1ZhbHVl
QXV0bykKKyAgICAgICAgICAgIHZhbGlkUHJpbWl0aXZlID0gdHJ1ZTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSAoIWlkICYmIHZhbGlkVW5pdCh2YWx1ZSwgRklu
dGVnZXIsIENTU1F1aXJrc01vZGUpKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIENTU1By
b3BlcnR5TGluZUhlaWdodDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1
aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAKaW5kZXggYzRk
ZDc0ZWExNGE0ZTZlMWMzMjI2NTNkMDY1NzU0Y2M5NjdlYzUwMy4uMzAzODBjZmIwZmJiZGZjOTE3
Y2ZjN2QyZTcxZTFkYWFkZDA4N2MyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlQnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5jcHAK
QEAgLTE4OTUsNyArMTg5NSw3IEBAIFN0eWxlQnVpbGRlcjo6U3R5bGVCdWlsZGVyKCkKICAgICBz
ZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlNaW5IZWlnaHQsIEFwcGx5UHJvcGVydHlMZW5n
dGg8JlJlbmRlclN0eWxlOjptaW5IZWlnaHQsICZSZW5kZXJTdHlsZTo6c2V0TWluSGVpZ2h0LCAm
UmVuZGVyU3R5bGU6OmluaXRpYWxNaW5TaXplLCBBdXRvRW5hYmxlZCwgTGVnYWN5SW50cmluc2lj
RW5hYmxlZCwgSW50cmluc2ljRGlzYWJsZWQ+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFBy
b3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eU1pbldpZHRoLCBBcHBseVByb3BlcnR5TGVuZ3RoPCZS
ZW5kZXJTdHlsZTo6bWluV2lkdGgsICZSZW5kZXJTdHlsZTo6c2V0TWluV2lkdGgsICZSZW5kZXJT
dHlsZTo6aW5pdGlhbE1pblNpemUsIEF1dG9FbmFibGVkLCBMZWdhY3lJbnRyaW5zaWNFbmFibGVk
LCBJbnRyaW5zaWNFbmFibGVkPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0eUhh
bmRsZXIoQ1NTUHJvcGVydHlPcGFjaXR5LCBBcHBseVByb3BlcnR5RGVmYXVsdDxmbG9hdCwgJlJl
bmRlclN0eWxlOjpvcGFjaXR5LCBmbG9hdCwgJlJlbmRlclN0eWxlOjpzZXRPcGFjaXR5LCBmbG9h
dCwgJlJlbmRlclN0eWxlOjppbml0aWFsT3BhY2l0eT46OmNyZWF0ZUhhbmRsZXIoKSk7Ci0gICAg
c2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5T3JwaGFucywgQXBwbHlQcm9wZXJ0eURlZmF1
bHQ8c2hvcnQsICZSZW5kZXJTdHlsZTo6b3JwaGFucywgc2hvcnQsICZSZW5kZXJTdHlsZTo6c2V0
T3JwaGFucywgc2hvcnQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbE9ycGhhbnM+OjpjcmVhdGVIYW5k
bGVyKCkpOworICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eU9ycGhhbnMsIEFwcGx5
UHJvcGVydHlBdXRvPHNob3J0LCAmUmVuZGVyU3R5bGU6Om9ycGhhbnMsICZSZW5kZXJTdHlsZTo6
c2V0T3JwaGFucywgJlJlbmRlclN0eWxlOjpoYXNBdXRvT3JwaGFucywgJlJlbmRlclN0eWxlOjpz
ZXRIYXNBdXRvT3JwaGFucz46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5k
bGVyKENTU1Byb3BlcnR5T3V0bGluZSwgQXBwbHlQcm9wZXJ0eUV4cGFuZGluZzxTdXBwcmVzc1Zh
bHVlLCBDU1NQcm9wZXJ0eU91dGxpbmVXaWR0aCwgQ1NTUHJvcGVydHlPdXRsaW5lQ29sb3IsIENT
U1Byb3BlcnR5T3V0bGluZVN0eWxlPjo6Y3JlYXRlSGFuZGxlcigpKTsKICAgICBzZXRQcm9wZXJ0
eUhhbmRsZXIoQ1NTUHJvcGVydHlPdXRsaW5lQ29sb3IsIEFwcGx5UHJvcGVydHlDb2xvcjxOb0lu
aGVyaXRGcm9tUGFyZW50LCAmUmVuZGVyU3R5bGU6Om91dGxpbmVDb2xvciwgJlJlbmRlclN0eWxl
OjpzZXRPdXRsaW5lQ29sb3IsICZSZW5kZXJTdHlsZTo6c2V0VmlzaXRlZExpbmtPdXRsaW5lQ29s
b3IsICZSZW5kZXJTdHlsZTo6Y29sb3I+OjpjcmVhdGVIYW5kbGVyKCkpOwogICAgIHNldFByb3Bl
cnR5SGFuZGxlcihDU1NQcm9wZXJ0eU91dGxpbmVPZmZzZXQsIEFwcGx5UHJvcGVydHlDb21wdXRl
TGVuZ3RoPGludCwgJlJlbmRlclN0eWxlOjpvdXRsaW5lT2Zmc2V0LCAmUmVuZGVyU3R5bGU6OnNl
dE91dGxpbmVPZmZzZXQsICZSZW5kZXJTdHlsZTo6aW5pdGlhbE91dGxpbmVPZmZzZXQ+OjpjcmVh
dGVIYW5kbGVyKCkpOwpAQCAtMjA4MSw3ICsyMDgxLDcgQEAgU3R5bGVCdWlsZGVyOjpTdHlsZUJ1
aWxkZXIoKQogICAgIHNldFByb3BlcnR5SGFuZGxlcihDU1NQcm9wZXJ0eVdlYmtpdFNoYXBlT3V0
c2lkZSwgQXBwbHlQcm9wZXJ0eUV4Y2x1c2lvblNoYXBlPCZSZW5kZXJTdHlsZTo6c2hhcGVPdXRz
aWRlLCAmUmVuZGVyU3R5bGU6OnNldFNoYXBlT3V0c2lkZSwgJlJlbmRlclN0eWxlOjppbml0aWFs
U2hhcGVPdXRzaWRlPjo6Y3JlYXRlSGFuZGxlcigpKTsKICNlbmRpZgogICAgIHNldFByb3BlcnR5
SGFuZGxlcihDU1NQcm9wZXJ0eVdoaXRlU3BhY2UsIEFwcGx5UHJvcGVydHlEZWZhdWx0PEVXaGl0
ZVNwYWNlLCAmUmVuZGVyU3R5bGU6OndoaXRlU3BhY2UsIEVXaGl0ZVNwYWNlLCAmUmVuZGVyU3R5
bGU6OnNldFdoaXRlU3BhY2UsIEVXaGl0ZVNwYWNlLCAmUmVuZGVyU3R5bGU6OmluaXRpYWxXaGl0
ZVNwYWNlPjo6Y3JlYXRlSGFuZGxlcigpKTsKLSAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJv
cGVydHlXaWRvd3MsIEFwcGx5UHJvcGVydHlEZWZhdWx0PHNob3J0LCAmUmVuZGVyU3R5bGU6Ondp
ZG93cywgc2hvcnQsICZSZW5kZXJTdHlsZTo6c2V0V2lkb3dzLCBzaG9ydCwgJlJlbmRlclN0eWxl
Ojppbml0aWFsV2lkb3dzPjo6Y3JlYXRlSGFuZGxlcigpKTsKKyAgICBzZXRQcm9wZXJ0eUhhbmRs
ZXIoQ1NTUHJvcGVydHlXaWRvd3MsIEFwcGx5UHJvcGVydHlBdXRvPHNob3J0LCAmUmVuZGVyU3R5
bGU6OndpZG93cywgJlJlbmRlclN0eWxlOjpzZXRXaWRvd3MsICZSZW5kZXJTdHlsZTo6aGFzQXV0
b1dpZG93cywgJlJlbmRlclN0eWxlOjpzZXRIYXNBdXRvV2lkb3dzPjo6Y3JlYXRlSGFuZGxlcigp
KTsKICAgICBzZXRQcm9wZXJ0eUhhbmRsZXIoQ1NTUHJvcGVydHlXaWR0aCwgQXBwbHlQcm9wZXJ0
eUxlbmd0aDwmUmVuZGVyU3R5bGU6OndpZHRoLCAmUmVuZGVyU3R5bGU6OnNldFdpZHRoLCAmUmVu
ZGVyU3R5bGU6OmluaXRpYWxTaXplLCBBdXRvRW5hYmxlZCwgTGVnYWN5SW50cmluc2ljRW5hYmxl
ZCwgSW50cmluc2ljRW5hYmxlZCwgTm9uZURpc2FibGVkLCBVbmRlZmluZWREaXNhYmxlZD46OmNy
ZWF0ZUhhbmRsZXIoKSk7CiAgICAgc2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V29yZEJy
ZWFrLCBBcHBseVByb3BlcnR5RGVmYXVsdDxFV29yZEJyZWFrLCAmUmVuZGVyU3R5bGU6OndvcmRC
cmVhaywgRVdvcmRCcmVhaywgJlJlbmRlclN0eWxlOjpzZXRXb3JkQnJlYWssIEVXb3JkQnJlYWss
ICZSZW5kZXJTdHlsZTo6aW5pdGlhbFdvcmRCcmVhaz46OmNyZWF0ZUhhbmRsZXIoKSk7CiAgICAg
c2V0UHJvcGVydHlIYW5kbGVyKENTU1Byb3BlcnR5V29yZFNwYWNpbmcsIEFwcGx5UHJvcGVydHlD
b21wdXRlTGVuZ3RoPGludCwgJlJlbmRlclN0eWxlOjp3b3JkU3BhY2luZywgJlJlbmRlclN0eWxl
OjpzZXRXb3JkU3BhY2luZywgJlJlbmRlclN0eWxlOjppbml0aWFsTGV0dGVyV29yZFNwYWNpbmcs
IE5vcm1hbEVuYWJsZWQsIFRoaWNrbmVzc0Rpc2FibGVkLCBTVkdab29tRW5hYmxlZD46OmNyZWF0
ZUhhbmRsZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9D
U1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9D
U1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAKaW5kZXggMjUwNGRhNDA0MWQwMTVkZTU3YmNiZDhhYmZj
OTNmNDAyOTA0Mjc1My4uMDE5ZjU0MzhjNmE2NTQ5MjQ5ZmMyYTc3M2E5MDg2ODQ1ZThmMDYxZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmlt
YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5
QW5pbWF0aW9uLmNwcApAQCAtMTEzMCw2ICsxMTMwLDggQEAgdm9pZCBDU1NQcm9wZXJ0eUFuaW1h
dGlvbjo6ZW5zdXJlUHJvcGVydHlNYXAoKQogICAgIGdQcm9wZXJ0eVdyYXBwZXJzLT5hcHBlbmQo
bmV3IFByb3BlcnR5V3JhcHBlcjxzaG9ydD4oQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJIb3Jpem9u
dGFsU3BhY2luZywgJlJlbmRlclN0eWxlOjpob3Jpem9udGFsQm9yZGVyU3BhY2luZywgJlJlbmRl
clN0eWxlOjpzZXRIb3Jpem9udGFsQm9yZGVyU3BhY2luZykpOwogICAgIGdQcm9wZXJ0eVdyYXBw
ZXJzLT5hcHBlbmQobmV3IFByb3BlcnR5V3JhcHBlcjxzaG9ydD4oQ1NTUHJvcGVydHlXZWJraXRC
b3JkZXJWZXJ0aWNhbFNwYWNpbmcsICZSZW5kZXJTdHlsZTo6dmVydGljYWxCb3JkZXJTcGFjaW5n
LCAmUmVuZGVyU3R5bGU6OnNldFZlcnRpY2FsQm9yZGVyU3BhY2luZykpOwogICAgIGdQcm9wZXJ0
eVdyYXBwZXJzLT5hcHBlbmQobmV3IFByb3BlcnR5V3JhcHBlcjxpbnQ+KENTU1Byb3BlcnR5Wklu
ZGV4LCAmUmVuZGVyU3R5bGU6OnpJbmRleCwgJlJlbmRlclN0eWxlOjpzZXRaSW5kZXgpKTsKKyAg
ICBnUHJvcGVydHlXcmFwcGVycy0+YXBwZW5kKG5ldyBQcm9wZXJ0eVdyYXBwZXI8c2hvcnQ+KENT
U1Byb3BlcnR5T3JwaGFucywgJlJlbmRlclN0eWxlOjpvcnBoYW5zLCAmUmVuZGVyU3R5bGU6OnNl
dE9ycGhhbnMpKTsKKyAgICBnUHJvcGVydHlXcmFwcGVycy0+YXBwZW5kKG5ldyBQcm9wZXJ0eVdy
YXBwZXI8c2hvcnQ+KENTU1Byb3BlcnR5V2lkb3dzLCAmUmVuZGVyU3R5bGU6OndpZG93cywgJlJl
bmRlclN0eWxlOjpzZXRXaWRvd3MpKTsKICAgICBnUHJvcGVydHlXcmFwcGVycy0+YXBwZW5kKG5l
dyBQcm9wZXJ0eVdyYXBwZXI8TGVuZ3RoPihDU1NQcm9wZXJ0eUxpbmVIZWlnaHQsICZSZW5kZXJT
dHlsZTo6c3BlY2lmaWVkTGluZUhlaWdodCwgJlJlbmRlclN0eWxlOjpzZXRMaW5lSGVpZ2h0KSk7
CiAgICAgZ1Byb3BlcnR5V3JhcHBlcnMtPmFwcGVuZChuZXcgUHJvcGVydHlXcmFwcGVyPGludD4o
Q1NTUHJvcGVydHlPdXRsaW5lT2Zmc2V0LCAmUmVuZGVyU3R5bGU6Om91dGxpbmVPZmZzZXQsICZS
ZW5kZXJTdHlsZTo6c2V0T3V0bGluZU9mZnNldCkpOwogICAgIGdQcm9wZXJ0eVdyYXBwZXJzLT5h
cHBlbmQobmV3IFByb3BlcnR5V3JhcHBlcjx1bnNpZ25lZCBzaG9ydD4oQ1NTUHJvcGVydHlPdXRs
aW5lV2lkdGgsICZSZW5kZXJTdHlsZTo6b3V0bGluZVdpZHRoLCAmUmVuZGVyU3R5bGU6OnNldE91
dGxpbmVXaWR0aCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5k
ZXggYzhmYjE1NDIxZDk5MjA3NWZlYjY1ZjlkODZiY2NiZGE3MDAzMDBlYS4uYTA3OTgwNTUxMzU0
NjIwMDJiYjI2ZWZhMDllMGIzY2U2ZWUxOWY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwCkBAIC0yNTE2LDcgKzI1MTYsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjps
YXlvdXRCbG9ja0NoaWxkKFJlbmRlckJveCogY2hpbGQsIE1hcmdpbkluZm8mIG1hcmdpbkluZm8s
IExheQogICAgIC8vIE5vdyB3ZSBoYXZlIGEgZmluYWwgdG9wIHBvc2l0aW9uLiAgU2VlIGlmIGl0
IHJlYWxseSBkb2VzIGVuZCB1cCBiZWluZyBkaWZmZXJlbnQgZnJvbSBvdXIgZXN0aW1hdGUuCiAg
ICAgLy8gY2xlYXJGbG9hdHNJZk5lZWRlZCBjYW4gYWxzbyBtYXJrIHRoZSBjaGlsZCBhcyBuZWVk
aW5nIGEgbGF5b3V0IGV2ZW4gdGhvdWdoIHdlIGRpZG4ndCBtb3ZlLiBUaGlzIGhhcHBlbnMKICAg
ICAvLyB3aGVuIGNvbGxhcHNlTWFyZ2lucyBkeW5hbWljYWxseSBhZGRzIG92ZXJoYW5naW5nIGZs
b2F0cyBiZWNhdXNlIG9mIGEgY2hpbGQgd2l0aCBuZWdhdGl2ZSBtYXJnaW5zLgotICAgIGlmIChs
b2dpY2FsVG9wQWZ0ZXJDbGVhciAhPSBsb2dpY2FsVG9wRXN0aW1hdGUgfHwgY2hpbGQtPm5lZWRz
TGF5b3V0KCkpIHsKKyAgICBpZiAobG9naWNhbFRvcEFmdGVyQ2xlYXIgIT0gbG9naWNhbFRvcEVz
dGltYXRlIHx8IGNoaWxkLT5uZWVkc0xheW91dCgpIHx8IChwYWdpbmF0ZWQgJiYgY2hpbGRSZW5k
ZXJCbG9jayAmJiBjaGlsZFJlbmRlckJsb2NrLT5zaG91bGRCcmVha0F0TGluZVRvQXZvaWRXaWRv
dygpKSkgewogICAgICAgICBpZiAoY2hpbGQtPnNocmlua1RvQXZvaWRGbG9hdHMoKSkgewogICAg
ICAgICAgICAgLy8gVGhlIGNoaWxkJ3Mgd2lkdGggZGVwZW5kcyBvbiB0aGUgbGluZSB3aWR0aC4K
ICAgICAgICAgICAgIC8vIFdoZW4gdGhlIGNoaWxkIHNoaWZ0cyB0byBjbGVhciBhbiBpdGVtLCBp
dHMgd2lkdGggY2FuCkBAIC0yNzIzLDcgKzI3MjMsNyBAQCB2b2lkIFJlbmRlckJsb2NrOjptYXJr
Rm9yUGFnaW5hdGlvblJlbGF5b3V0SWZOZWVkZWQoKQogICAgIGlmIChuZWVkc0xheW91dCgpKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBpZiAodmlldygpLT5sYXlvdXRTdGF0ZSgpLT5wYWdlTG9n
aWNhbEhlaWdodENoYW5nZWQoKSB8fCAodmlldygpLT5sYXlvdXRTdGF0ZSgpLT5wYWdlTG9naWNh
bEhlaWdodCgpICYmIHZpZXcoKS0+bGF5b3V0U3RhdGUoKS0+cGFnZUxvZ2ljYWxPZmZzZXQodGhp
cywgbG9naWNhbFRvcCgpKSAhPSBwYWdlTG9naWNhbE9mZnNldCgpKSkKKyAgICBpZiAodmlldygp
LT5sYXlvdXRTdGF0ZSgpLT5wYWdlTG9naWNhbEhlaWdodENoYW5nZWQoKSB8fCAodmlldygpLT5s
YXlvdXRTdGF0ZSgpLT5wYWdlTG9naWNhbEhlaWdodCgpICYmIHZpZXcoKS0+bGF5b3V0U3RhdGUo
KS0+cGFnZUxvZ2ljYWxPZmZzZXQodGhpcywgbG9naWNhbFRvcCgpKSAhPSBwYWdlTG9naWNhbE9m
ZnNldCgpKSB8fCBzaG91bGRCcmVha0F0TGluZVRvQXZvaWRXaWRvdygpKQogICAgICAgICBzZXRD
aGlsZE5lZWRzTGF5b3V0KHRydWUsIE1hcmtPbmx5VGhpcyk7CiB9CiAKQEAgLTY3NzUsNiArNjc3
NSwxNCBAQCB2b2lkIFJlbmRlckJsb2NrOjpzZXRQYWdlTG9naWNhbE9mZnNldChMYXlvdXRVbml0
IGxvZ2ljYWxPZmZzZXQpCiAgICAgbV9yYXJlRGF0YS0+bV9wYWdlTG9naWNhbE9mZnNldCA9IGxv
Z2ljYWxPZmZzZXQ7CiB9CiAKK3ZvaWQgUmVuZGVyQmxvY2s6OnNldEJyZWFrQXRMaW5lVG9Bdm9p
ZFdpZG93KFJvb3RJbmxpbmVCb3gqIGxpbmVUb0JyZWFrKQoreworICAgIGlmICghbV9yYXJlRGF0
YSkKKyAgICAgICAgbV9yYXJlRGF0YSA9IGFkb3B0UHRyKG5ldyBSZW5kZXJCbG9ja1JhcmVEYXRh
KHRoaXMpKTsKKyAgICBtX3JhcmVEYXRhLT5tX3Nob3VsZEJyZWFrQXRMaW5lVG9Bdm9pZFdpZG93
ID0gdHJ1ZTsKKyAgICBtX3JhcmVEYXRhLT5tX2xpbmVCcmVha1RvQXZvaWRXaWRvdyA9IGxpbmVU
b0JyZWFrOworfQorCiB2b2lkIFJlbmRlckJsb2NrOjphYnNvbHV0ZVJlY3RzKFZlY3RvcjxJbnRS
ZWN0PiYgcmVjdHMsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCkgY29uc3QK
IHsKICAgICAvLyBGb3IgYmxvY2tzIGluc2lkZSBpbmxpbmVzLCB3ZSBnbyBhaGVhZCBhbmQgaW5j
bHVkZSBtYXJnaW5zIHNvIHRoYXQgd2UgcnVuIHJpZ2h0IHVwIHRvIHRoZQpAQCAtNzE1OCw3ICs3
MTY2LDEwIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmFkanVzdExpbmVQb3NpdGlvbkZvclBhZ2luYXRp
b24oUm9vdElubGluZUJveCogbGluZUJveCwgTGF5b3V0CiAgICAgICAgIHx8ICFoYXNOZXh0UGFn
ZShsb2dpY2FsT2Zmc2V0KSkKICAgICAgICAgcmV0dXJuOwogICAgIExheW91dFVuaXQgcmVtYWlu
aW5nTG9naWNhbEhlaWdodCA9IHBhZ2VSZW1haW5pbmdMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0KGxv
Z2ljYWxPZmZzZXQsIEV4Y2x1ZGVQYWdlQm91bmRhcnkpOwotICAgIGlmIChyZW1haW5pbmdMb2dp
Y2FsSGVpZ2h0IDwgbGluZUhlaWdodCkgeworCisgICAgaWYgKHJlbWFpbmluZ0xvZ2ljYWxIZWln
aHQgPCBsaW5lSGVpZ2h0IHx8IChzaG91bGRCcmVha0F0TGluZVRvQXZvaWRXaWRvdygpICYmIGxp
bmVCcmVha1RvQXZvaWRXaWRvdygpID09IGxpbmVCb3gpKSB7CisgICAgICAgIGlmIChzaG91bGRC
cmVha0F0TGluZVRvQXZvaWRXaWRvdygpICYmIGxpbmVCcmVha1RvQXZvaWRXaWRvdygpID09IGxp
bmVCb3gpCisgICAgICAgICAgICBjbGVhclNob3VsZEJyZWFrQXRMaW5lVG9Bdm9pZFdpZG93KCk7
CiAgICAgICAgIC8vIElmIHdlIGhhdmUgYSBub24tdW5pZm9ybSBwYWdlIGhlaWdodCwgdGhlbiB3
ZSBoYXZlIHRvIHNoaWZ0IGZ1cnRoZXIgcG9zc2libHkuCiAgICAgICAgIGlmICghaGFzVW5pZm9y
bVBhZ2VMb2dpY2FsSGVpZ2h0ICYmICFwdXNoVG9OZXh0UGFnZVdpdGhNaW5pbXVtTG9naWNhbEhl
aWdodChyZW1haW5pbmdMb2dpY2FsSGVpZ2h0LCBsb2dpY2FsT2Zmc2V0LCBsaW5lSGVpZ2h0KSkK
ICAgICAgICAgICAgIHJldHVybjsKQEAgLTcxNjgsNyArNzE3OSw4IEBAIHZvaWQgUmVuZGVyQmxv
Y2s6OmFkanVzdExpbmVQb3NpdGlvbkZvclBhZ2luYXRpb24oUm9vdElubGluZUJveCogbGluZUJv
eCwgTGF5b3V0CiAgICAgICAgIH0KICAgICAgICAgTGF5b3V0VW5pdCB0b3RhbExvZ2ljYWxIZWln
aHQgPSBsaW5lSGVpZ2h0ICsgbWF4PExheW91dFVuaXQ+KDAsIGxvZ2ljYWxPZmZzZXQpOwogICAg
ICAgICBMYXlvdXRVbml0IHBhZ2VMb2dpY2FsSGVpZ2h0QXROZXdPZmZzZXQgPSBoYXNVbmlmb3Jt
UGFnZUxvZ2ljYWxIZWlnaHQgPyBwYWdlTG9naWNhbEhlaWdodCA6IHBhZ2VMb2dpY2FsSGVpZ2h0
Rm9yT2Zmc2V0KGxvZ2ljYWxPZmZzZXQgKyByZW1haW5pbmdMb2dpY2FsSGVpZ2h0KTsKLSAgICAg
ICAgaWYgKGxpbmVCb3ggPT0gZmlyc3RSb290Qm94KCkgJiYgdG90YWxMb2dpY2FsSGVpZ2h0IDwg
cGFnZUxvZ2ljYWxIZWlnaHRBdE5ld09mZnNldCAmJiAhaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkg
JiYgIWlzVGFibGVDZWxsKCkpCisgICAgICAgIGlmICgoKGxpbmVCb3ggPT0gZmlyc3RSb290Qm94
KCkgJiYgdG90YWxMb2dpY2FsSGVpZ2h0IDwgcGFnZUxvZ2ljYWxIZWlnaHRBdE5ld09mZnNldCkg
fHwgKCFzdHlsZSgpLT5oYXNBdXRvT3JwaGFucygpICYmIHN0eWxlKCktPm9ycGhhbnMoKSA+PSBs
aW5lQ291bnQoKSkpCisgICAgICAgICAgICAmJiAhaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgJiYg
IWlzVGFibGVDZWxsKCkpCiAgICAgICAgICAgICBzZXRQYWdpbmF0aW9uU3RydXQocmVtYWluaW5n
TG9naWNhbEhlaWdodCArIG1heDxMYXlvdXRVbml0PigwLCBsb2dpY2FsT2Zmc2V0KSk7CiAgICAg
ICAgIGVsc2UgewogICAgICAgICAgICAgZGVsdGEgKz0gcmVtYWluaW5nTG9naWNhbEhlaWdodDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggMzQ0ZDFkYjlmMWQ0ZjEw
YmMwYmU5YTBkZjYyZWY5OTNlY2JhODJhMy4uOTc2NDZhZmYxOTdiZTY1NmRkY2JhMTdhZGI0N2U5
ZmVmMjBhMWVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTMw
Niw3ICszMDYsMTggQEAgcHVibGljOgogCiAgICAgTGF5b3V0VW5pdCBwYWdpbmF0aW9uU3RydXQo
KSBjb25zdCB7IHJldHVybiBtX3JhcmVEYXRhID8gbV9yYXJlRGF0YS0+bV9wYWdpbmF0aW9uU3Ry
dXQgOiBMYXlvdXRVbml0KCk7IH0KICAgICB2b2lkIHNldFBhZ2luYXRpb25TdHJ1dChMYXlvdXRV
bml0KTsKLSAgICAKKworICAgIGJvb2wgc2hvdWxkQnJlYWtBdExpbmVUb0F2b2lkV2lkb3coKSBj
b25zdCB7IHJldHVybiBtX3JhcmVEYXRhID8gbV9yYXJlRGF0YS0+bV9zaG91bGRCcmVha0F0TGlu
ZVRvQXZvaWRXaWRvdyA6IGZhbHNlOyB9CisgICAgdm9pZCBjbGVhclNob3VsZEJyZWFrQXRMaW5l
VG9Bdm9pZFdpZG93KCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmICghbV9yYXJlRGF0YSkKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV9yYXJlRGF0YS0+bV9zaG91bGRCcmVha0F0TGlu
ZVRvQXZvaWRXaWRvdyA9IGZhbHNlOworICAgICAgICBtX3JhcmVEYXRhLT5tX2xpbmVCcmVha1Rv
QXZvaWRXaWRvdyA9IDA7CisgICAgfQorICAgIFJvb3RJbmxpbmVCb3gqIGxpbmVCcmVha1RvQXZv
aWRXaWRvdygpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZURhdGEgPyBtX3JhcmVEYXRhLT5tX2xpbmVC
cmVha1RvQXZvaWRXaWRvdyA6IDA7IH0KKyAgICB2b2lkIHNldEJyZWFrQXRMaW5lVG9Bdm9pZFdp
ZG93KFJvb3RJbmxpbmVCb3gqKTsKKwogICAgIC8vIFRoZSBwYWdlIGxvZ2ljYWwgb2Zmc2V0IGlz
IHRoZSBvYmplY3QncyBvZmZzZXQgZnJvbSB0aGUgdG9wIG9mIHRoZSBwYWdlIGluIHRoZSBwYWdl
IHByb2dyZXNzaW9uCiAgICAgLy8gZGlyZWN0aW9uIChzbyBhbiB4LW9mZnNldCBpbiB2ZXJ0aWNh
bCB0ZXh0IGFuZCBhIHktb2Zmc2V0IGZvciBob3Jpem9udGFsIHRleHQpLgogICAgIExheW91dFVu
aXQgcGFnZUxvZ2ljYWxPZmZzZXQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVEYXRhID8gbV9yYXJl
RGF0YS0+bV9wYWdlTG9naWNhbE9mZnNldCA6IExheW91dFVuaXQoKTsgfQpAQCAtMTE0Nyw2ICsx
MTU4LDggQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgLCBtX3BhZ2luYXRpb25TdHJ1dCgwKQog
ICAgICAgICAgICAgLCBtX3BhZ2VMb2dpY2FsT2Zmc2V0KDApCiAgICAgICAgICAgICAsIG1fbGlu
ZUdyaWRCb3goMCkKKyAgICAgICAgICAgICwgbV9zaG91bGRCcmVha0F0TGluZVRvQXZvaWRXaWRv
dyhmYWxzZSkKKyAgICAgICAgICAgICwgbV9saW5lQnJlYWtUb0F2b2lkV2lkb3coMCkKICAgICAg
ICAgeyAKICAgICAgICAgfQogCkBAIC0xMTczLDYgKzExODYsOSBAQCBwcm90ZWN0ZWQ6CiAgICAg
ICAgIExheW91dFVuaXQgbV9wYWdlTG9naWNhbE9mZnNldDsKICAgICAgICAgCiAgICAgICAgIFJv
b3RJbmxpbmVCb3gqIG1fbGluZUdyaWRCb3g7CisKKyAgICAgICAgYm9vbCBtX3Nob3VsZEJyZWFr
QXRMaW5lVG9Bdm9pZFdpZG93OworICAgICAgICBSb290SW5saW5lQm94KiBtX2xpbmVCcmVha1Rv
QXZvaWRXaWRvdzsKICAgICAgfTsKIAogICAgIE93blB0cjxSZW5kZXJCbG9ja1JhcmVEYXRhPiBt
X3JhcmVEYXRhOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tM
aW5lTGF5b3V0LmNwcAppbmRleCA0NTc2MDEyMTU2MWY4YzA3MjIzMTE4MDMxZDIxOGZlZTliNTZj
MmFhLi5mNjNmYmRkZDcyNTRlY2Y0NjRmN2Y4MzY1NzZiOTRhNDJlOGQ3NzQ4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcApAQCAt
MTY0Miw2ICsxNjQyLDYzIEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dFJ1bnNBbmRGbG9hdHNJ
blJhbmdlKExpbmVMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIElubGluCiAgICAgICAgIGxpbmVN
aWRwb2ludFN0YXRlLnJlc2V0KCk7CiAgICAgICAgIHJlc29sdmVyLnNldFBvc2l0aW9uKGVuZCwg
bnVtYmVyT2ZJc29sYXRlQW5jZXN0b3JzKGVuZCkpOwogICAgIH0KKworICAgIGlmIChwYWdpbmF0
ZWQgJiYgIXN0eWxlKCktPmhhc0F1dG9XaWRvd3MoKSkgeworICAgICAgICAvLyBDaGVjayB0aGUg
bGluZSBib3hlcyB0byBtYWtlIHN1cmUgd2UgZGlkbid0IGNyZWF0ZSB1bmFjY2VwdGFibGUgd2lk
b3dzLgorICAgICAgICAvLyBIb3dldmVyLCB3ZSdsbCBwcmlvcml0aXplIG9ycGhhbnMgLSBzbyBu
b3RoaW5nIHdlIGRvIGhlcmUgc2hvdWxkIGNyZWF0ZQorICAgICAgICAvLyBhIG5ldyBvcnBoYW4u
CisKKyAgICAgICAgUm9vdElubGluZUJveCogbGluZUJveCA9IGxhc3RSb290Qm94KCk7CisKKyAg
ICAgICAgLy8gQ291bnQgZnJvbSB0aGUgZW5kIG9mIHRoZSBibG9jayBiYWNrd2FyZHMsIHRvIHNl
ZSBob3cgbWFueSBoYW5naW5nCisgICAgICAgIC8vIGxpbmVzIHdlIGhhdmUuCisgICAgICAgIFJv
b3RJbmxpbmVCb3gqIGZpcnN0TGluZUluQmxvY2sgPSBmaXJzdFJvb3RCb3goKTsKKyAgICAgICAg
aW50IG51bUxpbmVzSGFuZ2luZyA9IDE7CisgICAgICAgIHdoaWxlIChsaW5lQm94ICYmIGxpbmVC
b3ggIT0gZmlyc3RMaW5lSW5CbG9jayAmJiAhbGluZUJveC0+aXNGaXJzdEFmdGVyUGFnZUJyZWFr
KCkpIHsKKyAgICAgICAgICAgICsrbnVtTGluZXNIYW5naW5nOworICAgICAgICAgICAgbGluZUJv
eCA9IGxpbmVCb3gtPnByZXZSb290Qm94KCk7CisgICAgICAgIH0KKworICAgICAgICAvLyBJZiB0
aGVyZSB3ZXJlIG5vIGJyZWFrcyBpbiB0aGUgYmxvY2ssIHdlIGRpZG4ndCBjcmVhdGUgYW55IHdp
ZG93cy4KKyAgICAgICAgaWYgKCFsaW5lQm94LT5pc0ZpcnN0QWZ0ZXJQYWdlQnJlYWsoKSB8fCBs
aW5lQm94ID09IGZpcnN0TGluZUluQmxvY2spCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAg
ICAgaWYgKG51bUxpbmVzSGFuZ2luZyA8IHN0eWxlKCktPndpZG93cygpKSB7CisgICAgICAgICAg
ICAvLyBXZSBoYXZlIGRldGVjdGVkIGEgd2lkb3cuIE5vdyB3ZSBuZWVkIHRvIHdvcmsgb3V0IGhv
dyBtYW55CisgICAgICAgICAgICAvLyBsaW5lcyB0aGVyZSBhcmUgb24gdGhlIHByZXZpb3VzIHBh
Z2UsIGFuZCBob3cgbWFueSB3ZSBuZWVkCisgICAgICAgICAgICAvLyB0byBzdGVhbC4KKyAgICAg
ICAgICAgIGludCBudW1MaW5lc05lZWRlZCA9IHN0eWxlKCktPndpZG93cygpIC0gbnVtTGluZXNI
YW5naW5nOworICAgICAgICAgICAgUm9vdElubGluZUJveCogY3VycmVudEZpcnN0TGluZU9mTmV3
UGFnZSA9IGxpbmVCb3g7CisKKyAgICAgICAgICAgIC8vIENvdW50IHRoZSBudW1iZXIgb2YgbGlu
ZXMgaW4gdGhlIHByZXZpb3VzIHBhZ2UuCisgICAgICAgICAgICBsaW5lQm94ID0gbGluZUJveC0+
cHJldlJvb3RCb3goKTsKKyAgICAgICAgICAgIGludCBudW1MaW5lc0luUHJldmlvdXNQYWdlID0g
MTsKKyAgICAgICAgICAgIHdoaWxlIChsaW5lQm94ICYmIGxpbmVCb3ggIT0gZmlyc3RMaW5lSW5C
bG9jayAmJiAhbGluZUJveC0+aXNGaXJzdEFmdGVyUGFnZUJyZWFrKCkpIHsKKyAgICAgICAgICAg
ICAgICArK251bUxpbmVzSW5QcmV2aW91c1BhZ2U7CisgICAgICAgICAgICAgICAgbGluZUJveCA9
IGxpbmVCb3gtPnByZXZSb290Qm94KCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC8v
IElmIHRoZXJlIHdhcyBhbiBleHBsaWNpdCB2YWx1ZSBmb3Igb3JwaGFucywgcmVzcGVjdCB0aGF0
LiBJZiBub3QsIHdlIHN0aWxsCisgICAgICAgICAgICAvLyBzaG91bGRuJ3QgY3JlYXRlIGEgc2l0
dWF0aW9uIHdoZXJlIHdlIG1ha2UgYW4gb3JwaGFuIGJpZ2dlciB0aGFuIHRoZSBpbml0aWFsIHZh
bHVlLgorICAgICAgICAgICAgLy8gVGhpcyBtZWFucyB0aGF0IHNldHRpbmcgd2lkb3dzIGltcGxp
ZXMgd2UgYWxzbyBjYXJlIGFib3V0IG9ycGhhbnMsIGJ1dCBnaXZlbgorICAgICAgICAgICAgLy8g
dGhlIHNwZWNpZmljYXRpb24gc2F5cyB0aGUgaW5pdGlhbCBvcnBoYW4gdmFsdWUgaXMgbm9uLXpl
cm8sIHRoaXMgaXMgb2suIFRoZQorICAgICAgICAgICAgLy8gYXV0aG9yIGlzIGFsd2F5cyBmcmVl
IHRvIHNldCBvcnBoYW5zIGV4cGxpY2l0bHkgYXMgd2VsbC4KKyAgICAgICAgICAgIGludCBvcnBo
YW5zID0gc3R5bGUoKS0+aGFzQXV0b09ycGhhbnMoKSA/IHN0eWxlKCktPmluaXRpYWxPcnBoYW5z
KCkgOiBzdHlsZSgpLT5vcnBoYW5zKCk7CisgICAgICAgICAgICBpbnQgbnVtTGluZXNBdmFpbGFi
bGUgPSBudW1MaW5lc0luUHJldmlvdXNQYWdlIC0gb3JwaGFuczsKKyAgICAgICAgICAgIGlmIChu
dW1MaW5lc0F2YWlsYWJsZSA8PSAwKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICAgICAgaW50IG51bUxpbmVzVG9UYWtlID0gbWluKG51bUxpbmVzQXZhaWxhYmxlLCBudW1MaW5l
c05lZWRlZCk7CisgICAgICAgICAgICAvLyBXaW5kIGJhY2sgZnJvbSBvdXIgZmlyc3Qgd2lkb3dl
ZCBsaW5lLgorICAgICAgICAgICAgbGluZUJveCA9IGN1cnJlbnRGaXJzdExpbmVPZk5ld1BhZ2U7
CisgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bUxpbmVzVG9UYWtlOyArK2kpCisg
ICAgICAgICAgICAgICAgbGluZUJveCA9IGxpbmVCb3gtPnByZXZSb290Qm94KCk7CisKKyAgICAg
ICAgICAgIC8vIFdlIG5vdyB3YW50IHRvIGJyZWFrIGF0IHRoaXMgbGluZS4gUmVtZW1iZXIgZm9y
IG5leHQgbGF5b3V0IGFuZCB0cmlnZ2VyIHJlbGF5b3V0LgorICAgICAgICAgICAgc2V0QnJlYWtB
dExpbmVUb0F2b2lkV2lkb3cobGluZUJveCk7CisgICAgICAgICAgICBtYXJrTGluZXNEaXJ0eUlu
QmxvY2tSYW5nZShsYXN0Um9vdEJveCgpLT5saW5lQm90dG9tV2l0aExlYWRpbmcoKSwgbGluZUJv
eC0+bGluZUJvdHRvbVdpdGhMZWFkaW5nKCksIGxpbmVCb3gpOworICAgICAgICB9CisgICAgfQog
fQogCiB2b2lkIFJlbmRlckJsb2NrOjpsaW5rVG9FbmRMaW5lSWZOZWVkZWQoTGluZUxheW91dFN0
YXRlJiBsYXlvdXRTdGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKaW5kZXggYzBmOGYxYzcwOWQ2YWIzYjBhYTc4N2JlMGYxYjZlNWFhNjhiODA0YS4u
NmU5NzMwZTRjMjk3NGNmODM0ZjBkOTdjNzdjZWQxZDFkMWQwNGVlYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTcwNiw2ICs3MDYsOCBAQCBw
dWJsaWM6CiAKICAgICBzaG9ydCB3aWRvd3MoKSBjb25zdCB7IHJldHVybiByYXJlSW5oZXJpdGVk
RGF0YS0+d2lkb3dzOyB9CiAgICAgc2hvcnQgb3JwaGFucygpIGNvbnN0IHsgcmV0dXJuIHJhcmVJ
bmhlcml0ZWREYXRhLT5vcnBoYW5zOyB9CisgICAgYm9vbCBoYXNBdXRvV2lkb3dzKCkgY29uc3Qg
eyByZXR1cm4gcmFyZUluaGVyaXRlZERhdGEtPm1faGFzQXV0b1dpZG93czsgfQorICAgIGJvb2wg
aGFzQXV0b09ycGhhbnMoKSBjb25zdCB7IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+bV9oYXNB
dXRvT3JwaGFuczsgfQogICAgIEVQYWdlQnJlYWsgcGFnZUJyZWFrSW5zaWRlKCkgY29uc3QgeyBy
ZXR1cm4gc3RhdGljX2Nhc3Q8RVBhZ2VCcmVhaz4obm9uaW5oZXJpdGVkX2ZsYWdzLl9wYWdlX2Jy
ZWFrX2luc2lkZSk7IH0KICAgICBFUGFnZUJyZWFrIHBhZ2VCcmVha0JlZm9yZSgpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PEVQYWdlQnJlYWs+KG5vbmluaGVyaXRlZF9mbGFncy5fcGFnZV9i
cmVha19iZWZvcmUpOyB9CiAgICAgRVBhZ2VCcmVhayBwYWdlQnJlYWtBZnRlcigpIGNvbnN0IHsg
cmV0dXJuIHN0YXRpY19jYXN0PEVQYWdlQnJlYWs+KG5vbmluaGVyaXRlZF9mbGFncy5fcGFnZV9i
cmVha19hZnRlcik7IH0KQEAgLTExOTgsOCArMTIwMCwxMiBAQCBwdWJsaWM6CiAgICAgaW50IHpJ
bmRleCgpIGNvbnN0IHsgcmV0dXJuIG1fYm94LT56SW5kZXgoKTsgfQogICAgIHZvaWQgc2V0Wklu
ZGV4KGludCB2KSB7IFNFVF9WQVIobV9ib3gsIG1faGFzQXV0b1pJbmRleCwgZmFsc2UpOyBTRVRf
VkFSKG1fYm94LCBtX3pJbmRleCwgdikgfQogCi0gICAgdm9pZCBzZXRXaWRvd3Moc2hvcnQgdykg
eyBTRVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCB3aWRvd3MsIHcpOyB9Ci0gICAgdm9pZCBzZXRP
cnBoYW5zKHNob3J0IG8pIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgb3JwaGFucywgbyk7
IH0KKyAgICB2b2lkIHNldEhhc0F1dG9XaWRvd3MoKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERh
dGEsIG1faGFzQXV0b1dpZG93cywgdHJ1ZSk7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHdp
ZG93cywgaW5pdGlhbFdpZG93cygpKSB9CisgICAgdm9pZCBzZXRXaWRvd3Moc2hvcnQgdykgeyBT
RVRfVkFSKHJhcmVJbmhlcml0ZWREYXRhLCBtX2hhc0F1dG9XaWRvd3MsIGZhbHNlKTsgU0VUX1ZB
UihyYXJlSW5oZXJpdGVkRGF0YSwgd2lkb3dzLCB3KTsgfQorCisgICAgdm9pZCBzZXRIYXNBdXRv
T3JwaGFucygpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgbV9oYXNBdXRvT3JwaGFucywg
dHJ1ZSk7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIG9ycGhhbnMsIGluaXRpYWxPcnBoYW5z
KCkpIH0KKyAgICB2b2lkIHNldE9ycGhhbnMoc2hvcnQgbykgeyBTRVRfVkFSKHJhcmVJbmhlcml0
ZWREYXRhLCBtX2hhc0F1dG9PcnBoYW5zLCBmYWxzZSk7IFNFVF9WQVIocmFyZUluaGVyaXRlZERh
dGEsIG9ycGhhbnMsIG8pOyB9CisKICAgICAvLyBGb3IgdmFsaWQgdmFsdWVzIG9mIHBhZ2UtYnJl
YWstaW5zaWRlIHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9DU1MyMS9wYWdlLmh0bWwjcGFnZS1i
cmVhay1wcm9wcwogICAgIHZvaWQgc2V0UGFnZUJyZWFrSW5zaWRlKEVQYWdlQnJlYWsgYikgeyBB
U1NFUlQoYiA9PSBQQkFVVE8gfHwgYiA9PSBQQkFWT0lEKTsgbm9uaW5oZXJpdGVkX2ZsYWdzLl9w
YWdlX2JyZWFrX2luc2lkZSA9IGI7IH0KICAgICB2b2lkIHNldFBhZ2VCcmVha0JlZm9yZShFUGFn
ZUJyZWFrIGIpIHsgbm9uaW5oZXJpdGVkX2ZsYWdzLl9wYWdlX2JyZWFrX2JlZm9yZSA9IGI7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhl
cml0ZWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJ
bmhlcml0ZWREYXRhLmNwcAppbmRleCBlYTEwYWViMzNiZjE3YWFkN2Y5NzJjMDdjMmYxZDU5N2Iy
NjhkNDRiLi4xZDExNjczNzJjNGVmYzkzZGZmODY5NzBmZjNiZjRjYTI5OWFhZTJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVy
aXRlZERhdGEuY3BwCkBAIC03MCw2ICs3MCw4IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0
eWxlUmFyZUluaGVyaXRlZERhdGEoKQogICAgICwgbV9lZmZlY3RpdmVab29tKFJlbmRlclN0eWxl
Ojppbml0aWFsWm9vbSgpKQogICAgICwgd2lkb3dzKFJlbmRlclN0eWxlOjppbml0aWFsV2lkb3dz
KCkpCiAgICAgLCBvcnBoYW5zKFJlbmRlclN0eWxlOjppbml0aWFsT3JwaGFucygpKQorICAgICwg
bV9oYXNBdXRvV2lkb3dzKHRydWUpCisgICAgLCBtX2hhc0F1dG9PcnBoYW5zKHRydWUpCiAgICAg
LCB0ZXh0U2VjdXJpdHkoUmVuZGVyU3R5bGU6OmluaXRpYWxUZXh0U2VjdXJpdHkoKSkKICAgICAs
IHVzZXJNb2RpZnkoUkVBRF9PTkxZKQogICAgICwgd29yZEJyZWFrKFJlbmRlclN0eWxlOjppbml0
aWFsV29yZEJyZWFrKCkpCkBAIC0xMzcsNiArMTM5LDggQEAgU3R5bGVSYXJlSW5oZXJpdGVkRGF0
YTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YShjb25zdCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhJiBv
KQogICAgICwgbV9lZmZlY3RpdmVab29tKG8ubV9lZmZlY3RpdmVab29tKQogICAgICwgd2lkb3dz
KG8ud2lkb3dzKQogICAgICwgb3JwaGFucyhvLm9ycGhhbnMpCisgICAgLCBtX2hhc0F1dG9XaWRv
d3Moby5tX2hhc0F1dG9XaWRvd3MpCisgICAgLCBtX2hhc0F1dG9PcnBoYW5zKG8ubV9oYXNBdXRv
T3JwaGFucykKICAgICAsIHRleHRTZWN1cml0eShvLnRleHRTZWN1cml0eSkKICAgICAsIHVzZXJN
b2RpZnkoby51c2VyTW9kaWZ5KQogICAgICwgd29yZEJyZWFrKG8ud29yZEJyZWFrKQpAQCAtMjIy
LDYgKzIyNiw4IEBAIGJvb2wgU3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PShjb25z
dCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhJiBvKSBjb25zdAogICAgICAgICAmJiBtX2VmZmVjdGl2
ZVpvb20gPT0gby5tX2VmZmVjdGl2ZVpvb20KICAgICAgICAgJiYgd2lkb3dzID09IG8ud2lkb3dz
CiAgICAgICAgICYmIG9ycGhhbnMgPT0gby5vcnBoYW5zCisgICAgICAgICYmIG1faGFzQXV0b1dp
ZG93cyA9PSBvLm1faGFzQXV0b1dpZG93cworICAgICAgICAmJiBtX2hhc0F1dG9PcnBoYW5zID09
IG8ubV9oYXNBdXRvT3JwaGFucwogICAgICAgICAmJiB0ZXh0U2VjdXJpdHkgPT0gby50ZXh0U2Vj
dXJpdHkKICAgICAgICAgJiYgdXNlck1vZGlmeSA9PSBvLnVzZXJNb2RpZnkKICAgICAgICAgJiYg
d29yZEJyZWFrID09IG8ud29yZEJyZWFrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaAppbmRleCAxZGYwMzUyZGE4YWFl
NTUyYWRmZWVkODQyMDQ3NTRkMWZhNTdkZjYwLi41NGM5ZmQyZDcxZjQ4YzdhYTg3OTJkN2U0YTc2
NGVmNjU1YjQyMDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKQEAgLTgyLDYgKzgyLDggQEAgcHVibGljOgog
ICAgIC8vIFBhZ2VkIG1lZGlhIHByb3BlcnRpZXMuCiAgICAgc2hvcnQgd2lkb3dzOwogICAgIHNo
b3J0IG9ycGhhbnM7CisgICAgdW5zaWduZWQgbV9oYXNBdXRvV2lkb3dzIDogMTsKKyAgICB1bnNp
Z25lZCBtX2hhc0F1dG9PcnBoYW5zIDogMTsKICAgICAKICAgICB1bnNpZ25lZCB0ZXh0U2VjdXJp
dHkgOiAyOyAvLyBFVGV4dFNlY3VyaXR5CiAgICAgdW5zaWduZWQgdXNlck1vZGlmeSA6IDI7IC8v
IEVVc2VyTW9kaWZ5IChlZGl0aW5nKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBjN2Q4ZGY4NDFhZTVhZjA5YWJmNWYwNmZm
ZGVhYTk4NzhlZjMyZjkuLmZiMWM5NmE3YzdjNWVkMDJkODJjMDQ1NmY0MWEyYmQzODQwMTUyYjMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0xMi0wNyAgRGVhbiBKYWNrc29uICA8ZGlub0Bh
cHBsZS5jb20+CisKKyAgICAgICAgU3VwcG9ydCBmb3IgQ1NTIHdpZG93cyBhbmQgb3JwaGFucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQxMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgbmV3LCBzbGln
aHRseSBtb3JlIGNvbXByZWhlbnNpdmUsIHRlc3QgZm9yIHdpZG93cyBhbmQgb3JwaGFucy4gV2Ug
YWxzbworICAgICAgICBub3cgcGFzcyB0aGUgZXhpc3Rpbmcgd2lkb3dzIGFuZCBvcnBoYW5zIHRl
c3RzIGZyb20gcHJpbnRpbmcuIEFuZAorICAgICAgICBzaW5jZSB0aGUgZGVmYXVsdCB2YWx1ZSBv
ZiB0aGUgcHJvcGVydGllcyBjaGFuZ2VkLCB1cGRhdGUgdGhlCisgICAgICAgIGNvbXB1dGVkIHN0
eWxlIHRlc3QgYXMgd2VsbC4KKworICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUv
Y29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL2dldENvbXB1
dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9tdWx0aWNvbC93aWRvd3MtYW5kLW9ycGhhbnMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L211bHRpY29sL3dpZG93cy1hbmQtb3JwaGFucy5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwcmludGluZy9wYWdlLWJyZWFrLW9ycGhhbnMtYW5kLXdpZG93cy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcHJpbnRpbmcvcGFnZS1icmVhay1vcnBoYW5zLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwcmludGluZy9wYWdlLWJyZWFrLXdpZG93cy1leHBlY3RlZC50
eHQ6CisKIDIwMTItMTItMDcgIERpbWEgR29yYmlrICA8ZGdvcmJpa0BhcHBsZS5jb20+CiAKICAg
ICAgICAgSW1wbGVtZW50IGdlbmVyYWwgOjpjdWUgcHNldWRvIGVsZW1lbnQgZm9yIHRoZSA8dmlk
ZW8+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2Nv
bXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1
dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CmluZGV4IGI1ZjFhZGE2YjMxM2E2
ZGVlYjYyYzcxYjRjYTAyYTA3MDQ1YTU1NDIuLjk4ODYyYjc5MDAxZDFjZWQzZWFmNTUyYzFhYmJj
ZGM3Yjk5NzVlMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVk
U3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CkBAIC02Myw3
ICs2Myw3IEBAIG1heC13aWR0aDogbm9uZTsKIG1pbi1oZWlnaHQ6IDBweDsKIG1pbi13aWR0aDog
MHB4Owogb3BhY2l0eTogMTsKLW9ycGhhbnM6IDI7CitvcnBoYW5zOiBhdXRvOwogb3V0bGluZS1j
b2xvcjogcmdiKDAsIDAsIDApOwogb3V0bGluZS1zdHlsZTogbm9uZTsKIG91dGxpbmUtd2lkdGg6
IDBweDsKQEAgLTk1LDcgKzk1LDcgQEAgdW5pY29kZS1iaWRpOiBub3JtYWw7CiB2ZXJ0aWNhbC1h
bGlnbjogYmFzZWxpbmU7CiB2aXNpYmlsaXR5OiB2aXNpYmxlOwogd2hpdGUtc3BhY2U6IG5vcm1h
bDsKLXdpZG93czogMjsKK3dpZG93czogYXV0bzsKIHdpZHRoOiA3ODRweDsKIHdvcmQtYnJlYWs6
IG5vcm1hbDsKIHdvcmQtc3BhY2luZzogMHB4OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0
ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQKaW5kZXggZGRlZmZjMDc5NWFh
YWNkYWJiZTgwNzQ1YmJhNmI1MmY1MDYzNmYxOC4uZjBjODI4N2Y0ODk4MDdhMjQwODI1MWRhMWFm
MTg1YTNhMjZhZWVjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0
ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdp
dGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CkBAIC02Miw3ICs2Miw3IEBAIG1heC13aWR0aDog
bm9uZQogbWluLWhlaWdodDogMHB4CiBtaW4td2lkdGg6IDBweAogb3BhY2l0eTogMQotb3JwaGFu
czogMgorb3JwaGFuczogYXV0bwogb3V0bGluZS1jb2xvcjogcmdiKDAsIDAsIDApCiBvdXRsaW5l
LXN0eWxlOiBub25lCiBvdXRsaW5lLXdpZHRoOiAwcHgKQEAgLTk0LDcgKzk0LDcgQEAgdW5pY29k
ZS1iaWRpOiBub3JtYWwKIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZQogdmlzaWJpbGl0eTogdmlz
aWJsZQogd2hpdGUtc3BhY2U6IG5vcm1hbAotd2lkb3dzOiAyCit3aWRvd3M6IGF1dG8KIHdpZHRo
OiA1MCUKIHdvcmQtYnJlYWs6IG5vcm1hbAogd29yZC1zcGFjaW5nOiAwcHgKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvd2lkb3dzLWFuZC1vcnBoYW5zLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvbXVsdGljb2wvd2lkb3dzLWFuZC1vcnBoYW5zLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yYjZkYTVmOTI4YjA0NzhiNTE1NWVlZmFiYTQwNjI2Y2RmNTg4MmIz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC93aWRvd3MtYW5k
LW9ycGhhbnMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDMgQEAKK1Rlc3Rpbmcgd2lkb3dzIGFu
ZCBvcnBoYW5zLiBBbnkgZ3JlZW4gbGluZXMgc2hvdWxkIGJlIGF0IHRoZSBib3R0b20gb2YgcGFn
ZXMvY29sdW1ucywgYW5kIGFueSByZWQgbGluZXMgc2hvdWxkIGJlIGF0IHRoZSB0b3Agb2YgcGFn
ZXMvY29sdW1ucy4KKwordGVzdDEgLSBOb3JtYWwgYnJlYWtpbmcKKwordGVzdDIgLSBCYXNpYyBP
cnBoYW4KKwordGVzdDMgLSBCYXNpYyBXaWRvdworCit0ZXN0NCAtIE9ycGhhbnMgY2F1c2luZyBX
aWRvd3MKKwordGVzdDUgLSBXaWRvd3MgYmxvY2tlZCBieSBPcnBoYW4gcnVsZQorCit0ZXN0NiAt
IFJpZGljdWxvdXMgdmFsdWVzCisKK1BBU1M6IHRlc3QxIEJsb2NrIDEgTGluZSAxIGlzIGNvcnJl
Y3QuCisKK1BBU1M6IHRlc3QxIEJsb2NrIDIgTGluZSA1IGlzIGNvcnJlY3QuCisKK1BBU1M6IHRl
c3QxIEJsb2NrIDQgTGluZSAyIGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3QyIEJsb2NrIDEgTGlu
ZSAxIGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3QyIEJsb2NrIDIgTGluZSAxIGlzIGNvcnJlY3Qu
CisKK1BBU1M6IHRlc3QzIEJsb2NrIDEgTGluZSAxIGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3Qz
IEJsb2NrIDIgTGluZSA1IGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3Q0IEJsb2NrIDEgTGluZSAx
IGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3Q0IEJsb2NrIDIgTGluZSAxIGlzIGNvcnJlY3QuCisK
K1BBU1M6IHRlc3Q0IEJsb2NrIDMgTGluZSAzIGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3Q1IEJs
b2NrIDEgTGluZSAxIGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3Q1IEJsb2NrIDIgTGluZSAzIGlz
IGNvcnJlY3QuCisKK1BBU1M6IHRlc3Q2IEJsb2NrIDEgTGluZSAxIGlzIGNvcnJlY3QuCisKK1BB
U1M6IHRlc3Q2IEJsb2NrIDIgTGluZSAxIGlzIGNvcnJlY3QuCisKK1BBU1M6IHRlc3Q2IEJsb2Nr
IDMgTGluZSAxIGlzIGNvcnJlY3QuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211bHRp
Y29sL3dpZG93cy1hbmQtb3JwaGFucy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tdWx0aWNvbC93
aWRvd3MtYW5kLW9ycGhhbnMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZmVjY2RjMWRiZWRlOTFiMDJkOWE0
MGNkZjQ4NTE2YTFjMDNiYzlmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9t
dWx0aWNvbC93aWRvd3MtYW5kLW9ycGhhbnMuaHRtbApAQCAtMCwwICsxLDIwNCBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRlc3RpbmcgV2lkb3dzIGFuZCBPcnBo
YW5zPC90aXRsZT4KKzxzdHlsZT4KK2JvZHkuaGlkZS1jb250YWluZXJzIC5jb250YWluZXIgewor
ICAgIGRpc3BsYXk6IG5vbmU7Cit9CisKKy5jb250YWluZXIgeworICAgIHdpZHRoOiA2MDBweDsK
KyAgICBoZWlnaHQ6IDIwMHB4OworICAgIC13ZWJraXQtY29sdW1uczogMzsKKyAgICBsaW5lLWhl
aWdodDogMjBweDsgLyogMTAgbGluZXMgcGVyIHBhZ2UgKi8KKyAgICBmb250LXNpemU6IDE2cHg7
CisgICAgbWFyZ2luOiAwIDAgMjBweCAwOworICAgIHBhZGRpbmc6IDA7CisgICAgb3ZlcmZsb3c6
IGhpZGRlbjsKK30KKworLmJsb2NrIHsKKyAgICBtYXJnaW46IDAgMCAxNXB4IDA7CisgICAgcGFk
ZGluZzogMDsKK30KKworLnRvcCB7CisgICAgY29sb3I6IHJlZDsKK30KKworLmJvdHRvbSB7Cisg
ICAgY29sb3I6IGdyZWVuOworfQorPC9zdHlsZT4KKzxzY3JpcHQ+Cit2YXIgcmVzdWx0czsKKwor
ZnVuY3Rpb24gY3JlYXRlVGVzdENvbnRhaW5lcihpZCwgZGVzY3JpcHRpb24sIGJsb2NrcykKK3sK
KyAgICB2YXIgbGFiZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJoMyIpOworICAgIGxhYmVs
LnRleHRDb250ZW50ID0gaWQgKyAiIC0gIiArIGRlc2NyaXB0aW9uOworICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQobGFiZWwpOworICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CisgICAgZWxlbWVudC5jbGFzc05hbWUgPSAiY29udGFpbmVyIjsKKyAg
ICBlbGVtZW50LmlkID0gaWQ7CisKKyAgICBmb3IgKHZhciBpID0gMTsgaSA8PSBibG9ja3MubGVu
Z3RoOyBpKyspIHsKKyAgICAgICAgdmFyIGJsb2NrID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgICAgIGJsb2NrLmNsYXNzTmFtZSA9ICJibG9jayI7CisgICAgICAgIHZhciBu
dW1MaW5lcyA9IGJsb2Nrc1tpLTFdOworICAgICAgICBmb3IgKHZhciBqID0gMTsgaiA8PSBudW1M
aW5lczsgaisrKSB7CisgICAgICAgICAgICB2YXIgbGluZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNwYW4iKTsKKyAgICAgICAgICAgIGxpbmUuaWQgPSBpZCArICItYmxvY2stIiArIGkgKyAi
LWxpbmUtIiArIGo7CisgICAgICAgICAgICBsaW5lLnRleHRDb250ZW50ID0gIkJsb2NrICIgKyBp
ICsgIiBMaW5lICIgKyBqOworICAgICAgICAgICAgYmxvY2suYXBwZW5kQ2hpbGQobGluZSk7Cisg
ICAgICAgICAgICBibG9jay5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIp
KTsKKyAgICAgICAgfQorICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKGJsb2NrKTsKKyAgICB9
CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTsKKyAgICByZXR1cm4gZWxl
bWVudDsKK30KKworZnVuY3Rpb24gbWFya1RvcExpbmUoY29udGFpbmVySWQsIGJsb2NrTnVtYmVy
LCBsaW5lTnVtYmVyKQoreworICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoY29udGFpbmVySWQgKyAiLWJsb2NrLSIgKyBibG9ja051bWJlciArICItbGluZS0iICsgbGlu
ZU51bWJlcik7CisgICAgZWxlbWVudC5jbGFzc05hbWUgPSAidG9wIjsKK30KKworZnVuY3Rpb24g
bWFya0JvdHRvbUxpbmUoY29udGFpbmVySWQsIGJsb2NrTnVtYmVyLCBsaW5lTnVtYmVyKQorewor
ICAgIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVySWQgKyAi
LWJsb2NrLSIgKyBibG9ja051bWJlciArICItbGluZS0iICsgbGluZU51bWJlcik7CisgICAgZWxl
bWVudC5jbGFzc05hbWUgPSAiYm90dG9tIjsKK30KKworZnVuY3Rpb24gbG9nUGFzcyhtc2cpIHsK
KyAgICBsb2coIlBBU1M6ICIgKyBtc2cpOworfQorCitmdW5jdGlvbiBsb2dGYWlsKG1zZykgewor
ICAgIGxvZygiRkFJTDogIiArIG1zZyk7Cit9CisKK2Z1bmN0aW9uIGxvZyhtc2cpIHsKKyAgICBp
ZiAoIXJlc3VsdHMpCisgICAgICAgIHJlc3VsdHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKKworICAgIHZhciBvdXRwdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIik7Cisg
ICAgb3V0cHV0LnRleHRDb250ZW50ID0gbXNnOworICAgIHJlc3VsdHMuYXBwZW5kQ2hpbGQob3V0
cHV0KTsKK30KKworZnVuY3Rpb24gdGVzdElzRmlyc3RJbkNvbHVtbihjb250YWluZXJJZCwgYmxv
Y2tOdW1iZXIsIGxpbmVOdW1iZXIpCit7CisgICAgLy8gR2V0IHRoZSB1cHBlciBib3VuZHMgb2Yg
dGhlIGNvbnRhaW5lciBhbmQgbGluZS4KKyAgICB2YXIgdG9wT2ZDb250YWluZXIgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZChjb250YWluZXJJZCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9w
OworICAgIHZhciB0b3BPZkxpbmUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChjb250YWluZXJJ
ZCArICItYmxvY2stIiArIGJsb2NrTnVtYmVyICsgIi1saW5lLSIgKyBsaW5lTnVtYmVyKS5nZXRC
b3VuZGluZ0NsaWVudFJlY3QoKS50b3A7CisKKyAgICBpZiAoTWF0aC5hYnModG9wT2ZDb250YWlu
ZXIgLSB0b3BPZkxpbmUpIDwgNSkgLy8gR2l2ZSA1IHBpeGVscyB0byBhY2NvdW50IGZvciBzdWJw
aXhlbCBsYXlvdXQuCisgICAgICAgIGxvZ1Bhc3MoY29udGFpbmVySWQgKyAiIEJsb2NrICIgKyBi
bG9ja051bWJlciArICIgTGluZSAiICsgbGluZU51bWJlciArICIgaXMgY29ycmVjdC4iKTsKKyAg
ICBlbHNlCisgICAgICAgIGxvZ0ZhaWwoY29udGFpbmVySWQgKyAiIEJsb2NrICIgKyBibG9ja051
bWJlciArICIgTGluZSAiICsgbGluZU51bWJlciArICIgd2Fzbid0IGF0IHRoZSB0b3Agb2YgdGhl
IGNvbHVtbi4iKTsKK30KKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgdmFyIGNvbnRhaW5l
cjsKKworICAgIGNyZWF0ZVRlc3RDb250YWluZXIoInRlc3QxIiwgIk5vcm1hbCBicmVha2luZyIs
IFs1LCA2LCA1LCA1XSk7CisKKyAgICBtYXJrVG9wTGluZSgidGVzdDEiLCAxLCAxKTsKKyAgICBt
YXJrQm90dG9tTGluZSgidGVzdDEiLCAyLCA0KTsKKyAgICBtYXJrVG9wTGluZSgidGVzdDEiLCAy
LCA1KTsKKyAgICBtYXJrQm90dG9tTGluZSgidGVzdDEiLCA0LCAxKTsKKyAgICBtYXJrVG9wTGlu
ZSgidGVzdDEiLCA0LCAyKTsKKworICAgIHRlc3RJc0ZpcnN0SW5Db2x1bW4oInRlc3QxIiwgMSwg
MSk7CisgICAgdGVzdElzRmlyc3RJbkNvbHVtbigidGVzdDEiLCAyLCA1KTsKKyAgICB0ZXN0SXNG
aXJzdEluQ29sdW1uKCJ0ZXN0MSIsIDQsIDIpOworCisgICAgY29udGFpbmVyID0gY3JlYXRlVGVz
dENvbnRhaW5lcigidGVzdDIiLCAiQmFzaWMgT3JwaGFuIiwgWzgsIDZdKTsKKyAgICBjb250YWlu
ZXIuc3R5bGUub3JwaGFucyA9IDI7CisKKyAgICBtYXJrVG9wTGluZSgidGVzdDIiLCAxLCAxKTsK
KyAgICBtYXJrQm90dG9tTGluZSgidGVzdDIiLCAxLCA4KTsgLy8gT3JwaGFuIGJyZWFrIGhhcHBl
bnMgaGVyZS4KKyAgICBtYXJrVG9wTGluZSgidGVzdDIiLCAyLCAxKTsKKworICAgIHRlc3RJc0Zp
cnN0SW5Db2x1bW4oInRlc3QyIiwgMSwgMSk7CisgICAgdGVzdElzRmlyc3RJbkNvbHVtbigidGVz
dDIiLCAyLCAxKTsKKworICAgIGNvbnRhaW5lciA9IGNyZWF0ZVRlc3RDb250YWluZXIoInRlc3Qz
IiwgIkJhc2ljIFdpZG93IiwgWzQsIDYsIDNdKTsKKyAgICBjb250YWluZXIuc3R5bGUud2lkb3dz
ID0gMjsKKworICAgIG1hcmtUb3BMaW5lKCJ0ZXN0MyIsIDEsIDEpOworICAgIG1hcmtCb3R0b21M
aW5lKCJ0ZXN0MyIsIDIsIDQpOyAvLyBXaWRvdyBicmVhayBoYXBwZW5zIGhlcmUuCisgICAgbWFy
a1RvcExpbmUoInRlc3QzIiwgMiwgNSk7CisKKyAgICB0ZXN0SXNGaXJzdEluQ29sdW1uKCJ0ZXN0
MyIsIDEsIDEpOworICAgIHRlc3RJc0ZpcnN0SW5Db2x1bW4oInRlc3QzIiwgMiwgNSk7CisKKyAg
ICBjb250YWluZXIgPSBjcmVhdGVUZXN0Q29udGFpbmVyKCJ0ZXN0NCIsICJPcnBoYW5zIGNhdXNp
bmcgV2lkb3dzIiwgWzgsIDYsIDQsIDRdKTsKKyAgICBjb250YWluZXIuc3R5bGUub3JwaGFucyA9
IDI7CisgICAgY29udGFpbmVyLnN0eWxlLndpZG93cyA9IDI7CisKKyAgICBtYXJrVG9wTGluZSgi
dGVzdDQiLCAxLCAxKTsKKyAgICBtYXJrQm90dG9tTGluZSgidGVzdDQiLCAxLCA4KTsgLy8gT3Jw
aGFuIGJyZWFrIGhhcHBlbnMgaGVyZS4KKyAgICBtYXJrVG9wTGluZSgidGVzdDQiLCAyLCAxKTsK
KyAgICBtYXJrQm90dG9tTGluZSgidGVzdDQiLCAzLCAyKTsgLy8gQW5kIHRoYXQgY3JlYXRlcyBh
IHdpZG93IGZvcmNpbmcgYSBicmVhayBoZXJlLgorICAgIG1hcmtUb3BMaW5lKCJ0ZXN0NCIsIDMs
IDMpOworCisgICAgdGVzdElzRmlyc3RJbkNvbHVtbigidGVzdDQiLCAxLCAxKTsKKyAgICB0ZXN0
SXNGaXJzdEluQ29sdW1uKCJ0ZXN0NCIsIDIsIDEpOworICAgIHRlc3RJc0ZpcnN0SW5Db2x1bW4o
InRlc3Q0IiwgMywgMyk7CisKKyAgICBjb250YWluZXIgPSBjcmVhdGVUZXN0Q29udGFpbmVyKCJ0
ZXN0NSIsICJXaWRvd3MgYmxvY2tlZCBieSBPcnBoYW4gcnVsZSIsIFs3LCAzLCA0XSk7CisgICAg
Y29udGFpbmVyLnN0eWxlLm9ycGhhbnMgPSAyOworICAgIGNvbnRhaW5lci5zdHlsZS53aWRvd3Mg
PSAyOworCisgICAgbWFya1RvcExpbmUoInRlc3Q1IiwgMSwgMSk7CisgICAgbWFya0JvdHRvbUxp
bmUoInRlc3Q1IiwgMiwgMik7IC8vIFRoaXMgbGluZSBzaG91bGQgbm90IG1vdmUgLSBwcm90ZWN0
ZWQgYnkgb3JwaGFuaW5nLgorICAgIG1hcmtUb3BMaW5lKCJ0ZXN0NSIsIDIsIDMpOyAvLyBUaGlz
IGxpbmUgd29uJ3QgYmUgdW4td2lkb3dlZCAtIGJsb2NrZWQgYnkgb3JwaGFuaW5nLgorCisgICAg
dGVzdElzRmlyc3RJbkNvbHVtbigidGVzdDUiLCAxLCAxKTsKKyAgICB0ZXN0SXNGaXJzdEluQ29s
dW1uKCJ0ZXN0NSIsIDIsIDMpOworCisgICAgY29udGFpbmVyID0gY3JlYXRlVGVzdENvbnRhaW5l
cigidGVzdDYiLCAiUmlkaWN1bG91cyB2YWx1ZXMiLCBbNywgNywgNywgN10pOworICAgIGNvbnRh
aW5lci5zdHlsZS5vcnBoYW5zID0gMTAwOworICAgIGNvbnRhaW5lci5zdHlsZS53aWRvd3MgPSAx
MDA7CisKKyAgICBtYXJrVG9wTGluZSgidGVzdDYiLCAxLCAxKTsKKyAgICBtYXJrQm90dG9tTGlu
ZSgidGVzdDYiLCAxLCA3KTsgLy8gT3JwaGFuIGJyZWFrIGhhcHBlbnMgaGVyZS4KKyAgICBtYXJr
VG9wTGluZSgidGVzdDYiLCAyLCAxKTsgLy8gQWRvcHRlZC4KKyAgICBtYXJrQm90dG9tTGluZSgi
dGVzdDYiLCAyLCA3KTsgLy8gT3JwaGFuIGJyZWFrLgorICAgIG1hcmtUb3BMaW5lKCJ0ZXN0NiIs
IDMsIDEpOyAvLyBBZG9wdGVkLgorCisgICAgdGVzdElzRmlyc3RJbkNvbHVtbigidGVzdDYiLCAx
LCAxKTsKKyAgICB0ZXN0SXNGaXJzdEluQ29sdW1uKCJ0ZXN0NiIsIDIsIDEpOworICAgIHRlc3RJ
c0ZpcnN0SW5Db2x1bW4oInRlc3Q2IiwgMywgMSk7CisKKyAgICBpZiAocmVzdWx0cykKKyAgICAg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyZXN1bHRzKTsKKworICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgICAgICAvLyBIaWRlIGFsbCB0aGUgY29udGFpbmVycyBhbmQgbGVh
dmUganVzdCB0aGUgdGVzdCByZXN1bHRzIGZvciB0ZXh0IG91dHB1dC4KKyAgICAgICAgZG9jdW1l
bnQuYm9keS5jbGFzc05hbWUgPSAiaGlkZS1jb250YWluZXJzIjsKKyAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgfQorfQorCitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUo
KTsKK30KKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW5UZXN0LCBmYWxzZSk7
Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxwPgorICAgICAgICBUZXN0aW5nIHdp
ZG93cyBhbmQgb3JwaGFucy4gQW55IGdyZWVuIGxpbmVzCisgICAgICAgIHNob3VsZCBiZSBhdCB0
aGUgYm90dG9tIG9mIHBhZ2VzL2NvbHVtbnMsIGFuZCBhbnkgcmVkIGxpbmVzCisgICAgICAgIHNo
b3VsZCBiZSBhdCB0aGUgdG9wIG9mIHBhZ2VzL2NvbHVtbnMuCisgICAgPC9wPgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1icmVhay1vcnBo
YW5zLWFuZC13aWRvd3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1i
cmVhay1vcnBoYW5zLWFuZC13aWRvd3MtZXhwZWN0ZWQudHh0CmluZGV4IGZlZWVhMDk3YzBiNWIw
ZTE3ZmIwYTgyZDgwNjAzY2E1MTFkNzY3Y2UuLmU4ZGM3NGI5OGZlMGZjZjkyMTA5NWI1NjIxYTE0
NzM0MDg2NDNkMDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3ByaW50aW5nL3BhZ2UtYnJlYWst
b3JwaGFucy1hbmQtd2lkb3dzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wcmludGlu
Zy9wYWdlLWJyZWFrLW9ycGhhbnMtYW5kLXdpZG93cy1leHBlY3RlZC50eHQKQEAgLTgsNyArOCw3
IEBAIFBBU1M6IHBhZ2UgbnVtYmVyIG9mICJwYWdlMS0xIiBpcyAxCiBQQVNTOiBwYWdlIG51bWJl
ciBvZiAicGFnZTEtMiIgaXMgMQogUEFTUzogcGFnZSBudW1iZXIgb2YgInBhZ2UxLTMiIGlzIDEK
IFBBU1M6IHBhZ2UgbnVtYmVyIG9mICJwYWdlMiIgaXMgMgotRkFJTDogZXhwZWN0ZWQgcGFnZSBu
dW1iZXIgb2YgInBhZ2UzIiBpcyAzLiBXYXMgMgorUEFTUzogcGFnZSBudW1iZXIgb2YgInBhZ2Uz
IiBpcyAzCiBQQVNTOiBwYWdlIG51bWJlciBvZiAicGFnZTQiIGlzIDQKIEZBSUw6IGV4cGVjdGVk
IHBhZ2UgbnVtYmVyIG9mICJwYWdlNSIgaXMgNS4gV2FzIDQKIFBBU1M6IHBhZ2UgbnVtYmVyIG9m
ICJwYWdlNi0xIiBpcyA2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLWJy
ZWFrLW9ycGhhbnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJpbnRpbmcvcGFnZS1icmVh
ay1vcnBoYW5zLWV4cGVjdGVkLnR4dAppbmRleCAyMTI3YWFhMTk5MmU3ZGZlZWIzOGUyMDUyNGJl
MDZkOWJmYjliYWE1Li4zZmMxNTIzNWMyM2EzYzA2OTFiYjA3MWM0ZWM3NzI2ZjFlMmQzNjFkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLWJyZWFrLW9ycGhhbnMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3ByaW50aW5nL3BhZ2UtYnJlYWstb3JwaGFucy1leHBl
Y3RlZC50eHQKQEAgLTcsOSArNywxMCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogUEFTUzog
cGFnZSBudW1iZXIgb2YgInBhZ2UxLTEiIGlzIDEKIFBBU1M6IHBhZ2UgbnVtYmVyIG9mICJwYWdl
MS0yIiBpcyAxCiBQQVNTOiBwYWdlIG51bWJlciBvZiAicGFnZTMiIGlzIDMKLUZBSUw6IGV4cGVj
dGVkIHBhZ2UgbnVtYmVyIG9mICJwYWdlNCIgaXMgNC4gV2FzIDMKK1BBU1M6IHBhZ2UgbnVtYmVy
IG9mICJwYWdlNCIgaXMgNAogUEFTUzogcGFnZSBudW1iZXIgb2YgInBhZ2U1LTEiIGlzIDUKIFBB
U1M6IHBhZ2UgbnVtYmVyIG9mICJwYWdlNS0yIiBpcyA1CitBbGwgdGVzdHMgcGFzc2VkCiAKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cHJpbnRpbmcvcGFnZS1icmVhay13aWRvd3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcHJp
bnRpbmcvcGFnZS1icmVhay13aWRvd3MtZXhwZWN0ZWQudHh0CmluZGV4IGY0MGU0NjA2NGY5ODk5
ZWZjYmM4YzEwMGRkMWU0ZmU5MmMxOGJhNWIuLmFkYTkxNGFjZDQ2ZjEyYWRmOWM0NzhjNGY5NjIz
ZGI0OTkwNWZmYmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3ByaW50aW5nL3BhZ2UtYnJlYWst
d2lkb3dzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wcmludGluZy9wYWdlLWJyZWFr
LXdpZG93cy1leHBlY3RlZC50eHQKQEAgLTExLDcgKzExLDggQEAgUEFTUzogcGFnZSBudW1iZXIg
b2YgInBhZ2UyLTIiIGlzIDIKIFBBU1M6IHBhZ2UgbnVtYmVyIG9mICJwYWdlMy0xIiBpcyAzCiBQ
QVNTOiBwYWdlIG51bWJlciBvZiAicGFnZTMtMiIgaXMgMwogUEFTUzogcGFnZSBudW1iZXIgb2Yg
InBhZ2U0IiBpcyA0Ci1GQUlMOiBleHBlY3RlZCBwYWdlIG51bWJlciBvZiAicGFnZTUiIGlzIDUu
IFdhcyA0CitQQVNTOiBwYWdlIG51bWJlciBvZiAicGFnZTUiIGlzIDUKK0FsbCB0ZXN0cyBwYXNz
ZWQKIAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCg==
</data>
<flag name="review"
          id="194780"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="194820"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>