<?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>90528</bug_id>
          
          <creation_ts>2012-07-04 01:23:58 -0700</creation_ts>
          <short_desc>[chromium] Remove dependency on ScrollbarTheme from the compositor</short_desc>
          <delta_ts>2012-07-30 14:11:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>90094</dependson>
          <blocked>91032</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adrienne Walker">enne</reporter>
          <assigned_to name="Adrienne Walker">enne</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enne</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wjmaclean</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>662743</commentid>
    <comment_count>0</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-04 01:23:58 -0700</bug_when>
    <thetext>[chromium] Make ScrollbarLayerChromium use WebScrollbarLayer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662751</commentid>
    <comment_count>1</comment_count>
      <attachid>150737</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-04 01:43:38 -0700</bug_when>
    <thetext>Created attachment 150737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662754</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-04 01:47:10 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662755</commentid>
    <comment_count>3</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-04 01:47:10 -0700</bug_when>
    <thetext>I think the ChangeLogs give a good overview of what all this new code is for. 

Belatedly, I this patch could just add WebScrollbar, WebScrollbarImpl, and WebScrollbarThemeClientImpl and I could have punted painting and geometry until later, but I was already done by the time I had that realization.  Sorry for the 100k patch of boilerplate.  :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>662762</commentid>
    <comment_count>4</comment_count>
      <attachid>150737</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-04 01:58:54 -0700</bug_when>
    <thetext>Comment on attachment 150737
Patch

Attachment 150737 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13139442</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666947</commentid>
    <comment_count>5</comment_count>
      <attachid>151750</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-11 12:24:43 -0700</bug_when>
    <thetext>Created attachment 151750
Rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667086</commentid>
    <comment_count>6</comment_count>
      <attachid>151786</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-11 14:48:54 -0700</bug_when>
    <thetext>Created attachment 151786
Export the right functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667158</commentid>
    <comment_count>7</comment_count>
      <attachid>151786</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-11 15:43:11 -0700</bug_when>
    <thetext>Comment on attachment 151786
Export the right functions

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

New failing tests:
jquery/manipulation.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667159</commentid>
    <comment_count>8</comment_count>
      <attachid>151806</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-11 15:43:15 -0700</bug_when>
    <thetext>Created attachment 151806
Archive of layout-test-results from gce-cr-linux-03

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-03  Port: &lt;class &apos;webkitpy.common.config.ports.ChromiumXVFBPort&apos;&gt;  Platform: Linux-2.6.39-gcg-201203291735-x86_64-with-Ubuntu-10.04-lucid</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667212</commentid>
    <comment_count>9</comment_count>
      <attachid>151786</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-11 16:59:09 -0700</bug_when>
    <thetext>Comment on attachment 151786
Export the right functions

That test failure just looks like flake to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667981</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-12 10:55:37 -0700</bug_when>
    <thetext>&gt; That test failure just looks like flake to me.

Yes, sorry.  That&apos;s one of the flakier tests.  We should mark it as flaky in TestExpectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667991</commentid>
    <comment_count>11</comment_count>
      <attachid>151786</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-12 10:59:49 -0700</bug_when>
    <thetext>Comment on attachment 151786
Export the right functions

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

&gt; Source/WebKit/chromium/src/WebScrollbarImpl.cpp:164
&gt; +    switch (m_scrollbar-&gt;scrollbarOverlayStyle()) {
&gt; +    default:
&gt; +        ASSERT_NOT_REACHED();
&gt; +    case WebCore::ScrollbarOverlayStyleDefault:
&gt; +        return WebScrollbar::ScrollbarOverlayStyleDefault;
&gt; +    case WebCore::ScrollbarOverlayStyleDark:
&gt; +        return WebScrollbar::ScrollbarOverlayStyleDark;
&gt; +    case WebCore::ScrollbarOverlayStyleLight:
&gt; +        return WebScrollbar::ScrollbarOverlayStyleLight;
&gt; +    }

Typically we use a COMPILE_ASSERT that these enums match and then just use static_cast to convert between them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667999</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-12 11:03:12 -0700</bug_when>
    <thetext>I don&apos;t feel confident in reviewing this patch.  :(  I understand the big picture of what we&apos;re trying to do here, but I don&apos;t have much knowledge about the details.  I probably should have synced up with jamesr earlier to understand what he&apos;d like me to do in these cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679513</commentid>
    <comment_count>13</comment_count>
      <attachid>154687</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-26 10:54:07 -0700</bug_when>
    <thetext>Created attachment 154687
Rebased, static casts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679515</commentid>
    <comment_count>14</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-26 10:56:01 -0700</bug_when>
    <thetext>jamesr: This GTFO patch is all you, whenever you get a chance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679799</commentid>
    <comment_count>15</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-07-26 15:04:36 -0700</bug_when>
    <thetext>Thanks, will look ASAP (still have a bit of catching up to do before diving into patches, but hope to look by end of the week)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>680822</commentid>
    <comment_count>16</comment_count>
      <attachid>154687</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-07-27 11:04:16 -0700</bug_when>
    <thetext>Comment on attachment 154687
Rebased, static casts

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

R=me (with many comments)

&gt; Source/Platform/chromium/public/WebScrollbar.h:47
&gt; +#if WEBKIT_IMPLEMENTATION
&gt; +    WEBKIT_EXPORT static PassOwnPtr&lt;WebScrollbar&gt; create(WebCore::Scrollbar*);
&gt; +#endif

I think WEBKIT_IMPLEMENTATION blocks are more commonly at the end of the public: section, with the rationale being that most people who read the interface don&apos;t need to know or care about implementation details

&gt; Source/Platform/chromium/public/WebScrollbarThemeGeometry.h:29
&gt; +#include &lt;public/WebRect.h&gt;

just &quot;WebRect.h&quot; - it&apos;s in the same directory so a non-qualified #include will work and I&apos;m not sure that Source/Platform/chromium/ is on the include path of every file that might end up transitively including this header.

&gt; Source/Platform/chromium/public/WebScrollbarThemeGeometry.h:72
&gt; +    WebScrollbarThemeGeometry(WebCore::ScrollbarThemeComposite*);

do we want explicit? (I&apos;m not sure, it might be helpful to have implicit conversions somewhere)

&gt; Source/Platform/chromium/public/WebScrollbarThemePainter.h:29
&gt; +#include &lt;public/WebCanvas.h&gt;

&quot;WebCanvas.h&quot;

&gt; Source/WebKit/chromium/src/WebScrollbarImpl.h:40
&gt; +    // Implement WebKit::WebScrollbar methods

OVERRIDEs, in that case?

&gt; Source/WebKit/chromium/src/WebScrollbarThemeClientImpl.h:47
&gt; +    virtual int x() const;

OVERRIDEs, please</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682085</commentid>
    <comment_count>17</comment_count>
      <attachid>155303</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-30 09:35:55 -0700</bug_when>
    <thetext>Created attachment 155303
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682086</commentid>
    <comment_count>18</comment_count>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-30 09:37:44 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 154687 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=154687&amp;action=review
&gt; 
&gt; R=me (with many comments)

Not that many, thanks.  :)

&gt; &gt; Source/Platform/chromium/public/WebScrollbar.h:47
&gt; &gt; +#if WEBKIT_IMPLEMENTATION
&gt; &gt; +    WEBKIT_EXPORT static PassOwnPtr&lt;WebScrollbar&gt; create(WebCore::Scrollbar*);
&gt; &gt; +#endif
&gt; 
&gt; I think WEBKIT_IMPLEMENTATION blocks are more commonly at the end of the public: section, with the rationale being that most people who read the interface don&apos;t need to know or care about implementation details

Thanks.  I don&apos;t think I recognized that was a stylistic choice before.

&gt; &gt; Source/Platform/chromium/public/WebScrollbarThemeGeometry.h:29
&gt; &gt; +#include &lt;public/WebRect.h&gt;
&gt; 
&gt; just &quot;WebRect.h&quot; - it&apos;s in the same directory so a non-qualified #include will work and I&apos;m not sure that Source/Platform/chromium/ is on the include path of every file that might end up transitively including this header.

Done.

&gt; &gt; Source/Platform/chromium/public/WebScrollbarThemeGeometry.h:72
&gt; &gt; +    WebScrollbarThemeGeometry(WebCore::ScrollbarThemeComposite*);
&gt; 
&gt; do we want explicit? (I&apos;m not sure, it might be helpful to have implicit conversions somewhere)

Yes.  Done.

&gt; &gt; Source/Platform/chromium/public/WebScrollbarThemePainter.h:29
&gt; &gt; +#include &lt;public/WebCanvas.h&gt;
&gt; 
&gt; &quot;WebCanvas.h&quot;

Done.

&gt; &gt; Source/WebKit/chromium/src/WebScrollbarImpl.h:40
&gt; &gt; +    // Implement WebKit::WebScrollbar methods
&gt; 
&gt; OVERRIDEs, in that case?

Done.

&gt; &gt; Source/WebKit/chromium/src/WebScrollbarThemeClientImpl.h:47
&gt; &gt; +    virtual int x() const;
&gt; 
&gt; OVERRIDEs, please

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682368</commentid>
    <comment_count>19</comment_count>
      <attachid>155303</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-30 14:11:28 -0700</bug_when>
    <thetext>Comment on attachment 155303
Patch for landing

Clearing flags on attachment: 155303

Committed r124091: &lt;http://trac.webkit.org/changeset/124091&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>682369</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-30 14:11:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150737</attachid>
            <date>2012-07-04 01:43:38 -0700</date>
            <delta_ts>2012-07-11 12:24:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90528-20120704014337.patch</filename>
            <type>text/plain</type>
            <size>106873</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxODM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBhNTcxNzdmN2E2NDY2
NjhkYjVjYzZmZDY0OTEwNGUzMzU4ZWM4NWZmLi5hZTdmNzYwMWNmOGU3MmVlMjRlNjU1NWUxZjJj
NGNlN2MxMzgzMWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxMi0wNy0wNCAg
QWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0g
TWFrZSBTY3JvbGxiYXJMYXllckNocm9taXVtIHVzZSBXZWJTY3JvbGxiYXJMYXllcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1MjgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGbGVzaCBvdXQgV2ViU2Ny
b2xsYmFyIGZ1bmN0aW9ucyBlbm91Z2ggdG8gYmUgYWJsZSB0byBpbXBsZW1lbnQKKyAgICAgICAg
dGhlIHBhcnRzIG9mIFNjcm9sbGJhclRoZW1lQ2xpZW50IHRoYXQgQ2hyb21pdW0gdXNlcy4KKwor
ICAgICAgICBXcmFwIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlIGluIHRoZSBQbGF0Zm9ybSBBUEkg
dmlhIHR3byBkaWZmZXJlbnQKKyAgICAgICAgY2xhc3NlczogV2ViU2Nyb2xsYmFyVGhlbWVQYWlu
dGVyIGlzIHRoZSBub24tdGhyZWFkc2FmZSB2ZXJzaW9uIHRoYXQKKyAgICAgICAgaXMgdXNlZCB0
byBwYWludCBwYXJ0cyBvZiBhIHNjcm9sbGJhciBpbnRvIGEgY29udGV4dC4gVGhpcyBpcyBpbnRl
bmRlZAorICAgICAgICB0byBvbmx5IGJlIHVzZWQgb24gdGhlIG1haW4gdGhyZWFkLiBXZWJTY3Jv
bGxiYXJUaGVtZUdlb21ldHJ5IGlzIHRoZQorICAgICAgICB0aHJlYWRzYWZlIHZlcnNpb24sIHVz
ZWQgdG8gZ2V0IHRoZSBsb2NhdGlvbiBhbmQgc2l6ZXMgb2Ygc2Nyb2xsYmFyCisgICAgICAgIHBh
cnRzIG9uIGJvdGggdGhyZWFkcywgc28gdGhleSBjYW4gYmUgcGFpbnRlZCBvbiB0aGUgbWFpbiB0
aHJlYWQgYW5kCisgICAgICAgIGNvbXBvc2l0ZWQgb24gdGhlIGNvbXBvc2l0b3IgdGhyZWFkLgor
CisgICAgICAgIFVuZm9ydHVuYXRlbHksIHRoZXJlIGlzIG5vIHdheSB0byBlbmZvcmNlIHRoZXNl
IHRocmVhZCBzYWZldHkgaXNzdWVzLAorICAgICAgICBhcyBvdGhlciBwb3J0cyB1c2UgdGhlIFNj
cm9sbGJhclRoZW1lIGhpZXJhcmNoeSBkaWZmZXJlbnRseSB0aGFuCisgICAgICAgIENocm9taXVt
IGRvZXMuIE9uIHRoZSBicmlnaHQgc2lkZSwgb3RoZXIgdGhhbiBwYWludGluZywgdGhlCisgICAg
ICAgIFNjcm9sbGJhclRoZW1lIGNvZGUgaXMgbGFyZ2VseSBmdW5jdGlvbmFsIGFuZCB3ZSBjYW4g
ZW5mb3JjZSB0aGlzCisgICAgICAgIGludGVybmFsbHkgZm9yIHRoZSBDaHJvbWl1bSBwb3J0Lgor
CisgICAgICAgICogUGxhdGZvcm0uZ3lwaToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2Vi
U2Nyb2xsYmFyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgIChXZWJTY3JvbGxiYXIpOgorICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxi
YXJUaGVtZUdlb21ldHJ5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0
cnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp+V2ViU2Ny
b2xsYmFyVGhlbWVHZW9tZXRyeSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1l
R2VvbWV0cnk6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1l
R2VvbWV0cnk6OmlzTnVsbCk6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJh
clRoZW1lUGFpbnRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcik6CisgICAgICAgIChXZWJL
aXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyKToK
KyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjp+V2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVy
OjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6
OmlzTnVsbCk6CisKIDIwMTItMDctMDMgIEFsZXggU2FraGFydGNob3VrICA8YWxleHN0QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIEF2b2lkIGNhbGxpbmcgZ2V0VW5pZm9ybUxv
Y2F0aW9uPz8oKSBpbiB0aGUgY29tcG9zaXRvciBzdGFydHVwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNmODc5
NTIwYWE0Y2Q5NGEzZjBlNjczMmZiMDRiYzliNjY4NzM2ZS4uODdhYzkwODM3NGVkZTQxNzVjZGIw
YzZiYjllODU1MWYyMDhkOThlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDEyLTA3
LTA0ICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9t
aXVtXSBNYWtlIFNjcm9sbGJhckxheWVyQ2hyb21pdW0gdXNlIFdlYlNjcm9sbGJhckxheWVyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDUyOAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RlZCBieSBl
eGlzdGluZyBsYXlvdXQgdGVzdHMuCisKKyAgICAgICAgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bSBp
cyBtb2RpZmllZCB0byB1c2UgdGhlIFBsYXRmb3JtIEFQSSBmb3IKKyAgICAgICAgV2ViU2Nyb2xs
YmFyLCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIsIGFuZCBXZWJTY3JvbGxiYXJUaGVtZUdlb21l
dHJ5LgorICAgICAgICBUaGlzIHByZXZlbnRzIEFQSSBkZXBlbmRlbmNpZXMgZnJvbSB0aGUgY29t
cG9zaXRvciBjb2RlIGludG8gV2ViQ29yZQorICAgICAgICBzY3JvbGxiYXIgYW5kIHRoZW1lIGNv
ZGUuCisKKyAgICAgICAgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyIG5vdyBpbXBs
ZW1lbnRzIHRoZSBXZWJTY3JvbGxiYXIgQVBJCisgICAgICAgIGluc3RlYWQgb2YgdGhlIFNjcm9s
bGJhclRoZW1lQ2xpZW50IEFQSS4KKworICAgICAgICBBbHNvLCBDQ1Njcm9sbGJhckxheWVySW1w
bCBub3cgbm8gbG9uZ2VyIGdldHMgdGhlIHRoZW1lIGZyb20gYSBzdGF0aWMKKyAgICAgICAgYWNj
ZXNzb3IuIEl0IG5vdyBnZXRzIGEgImNvcHkiIG9mIHRoZSB0aGVtZSBmcm9tIHRoZSBtYWluIHRo
cmVhZCB2aWEKKyAgICAgICAgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSwgd2hpY2ggaXMgbW9y
ZSBjb3JyZWN0IGZvciByZW5kZXIgdGhlbWUKKyAgICAgICAgc2Nyb2xsYmFycyAoYWx0aG91Z2gg
dGhpcyBjYXVzZXMgY3Jhc2hlcyBkdWUgdG8gYmFkIGNhc3RzLCBzbyB0aGlzCisgICAgICAgIHBh
dGNoIHR1cm5zIHRoZW0gb2ZmKS4KKworICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVt
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3Jl
YXRlU2Nyb2xsYmFyTGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ2xp
ZW50Lmg6CisgICAgICAgIChTY3JvbGxiYXJUaGVtZUNsaWVudCk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxiYXJMYXllckNocm9taXVtOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJMYXllckNocm9taXVtOjpwdXNoUHJvcGVydGllc1Rv
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhckJhY2tncm91bmRQYWludGVyOjpjcmVhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50ZXI6OlNjcm9sbGJh
ckJhY2tncm91bmRQYWludGVyKToKKyAgICAgICAgKFNjcm9sbGJhckJhY2tncm91bmRQYWludGVy
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRodW1iUGFpbnRlcjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRodW1iUGFpbnRlcjo6U2Nyb2xsYmFyVGh1bWJQYWlu
dGVyKToKKyAgICAgICAgKFNjcm9sbGJhclRodW1iUGFpbnRlcik6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxiYXJMYXllckNocm9taXVtOjpjcmVhdGVUZXh0dXJlVXBkYXRlcklmTmVlZGVkKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhckxheWVyQ2hyb21pdW06OnNldFRleHR1cmVQcmlv
cml0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhckxheWVyQ2hyb21pdW06OnVwZGF0
ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFyTGF5ZXJD
aHJvbWl1bS5oOgorICAgICAgICAoU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bSk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXllckltcGwuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyTGF5ZXJJ
bXBsKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpzZXRTY3JvbGxi
YXJEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OnRvVVZSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjphcHBlbmRRdWFkcyk6CisgICAgICAgIChXZWJDb3JlOjpD
Q1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmlzT3ZlcmxheSk6CisgICAgICAgIChX
ZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6bG9jYXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpz
aXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJh
cjo6ZW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NT
Y3JvbGxiYXI6Om1heGltdW0pOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllcklt
cGw6OkNDU2Nyb2xsYmFyOjp0b3RhbFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxi
YXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjppc1Njcm9sbFZpZXdTY3JvbGxiYXIpOgorICAgICAg
ICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjppc1Njcm9sbGFi
bGVBcmVhQWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpD
Q1Njcm9sbGJhcjo6Z2V0VGlja21hcmtzKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFy
TGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6Y29udHJvbFNpemUpOgorICAgICAgICAoV2ViQ29yZTo6
Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpwcmVzc2VkUGFydCk6CisgICAgICAg
IChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmhvdmVyZWRQYXJ0
KToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6
c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5
ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6b3JpZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q0NT
Y3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjppc0N1c3RvbVNjcm9sbGJhcik6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXllckltcGwu
aDoKKyAgICAgICAgKENDU2Nyb2xsYmFyTGF5ZXJJbXBsKToKKyAgICAgICAgKENDU2Nyb2xsYmFy
KToKKwogMjAxMi0wNy0wNCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyMTgxMy4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKaW5kZXggZGY2N2ZlZjI3ODJjNGMwOTg0YWFlNjFhMDA3MDYxNWQ0MmJi
ODExZi4uNzNmMmFkMzgyMWY2YTA2ZTBlNGY0ZTAxNmExMWRiMjE3NjVlNDhkZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNjEgQEAKKzIwMTItMDctMDQgIEFkcmllbm5l
IFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIE1ha2UgU2Ny
b2xsYmFyTGF5ZXJDaHJvbWl1bSB1c2UgV2ViU2Nyb2xsYmFyTGF5ZXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwNTI4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGltcGxlbWVudGF0aW9ucyBmb3Ig
V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBhbmQKKyAgICAgICAgV2ViU2Nyb2xsYmFyVGhlbWVQ
YWludGVyLiBGaWxsIG91dCBhZGRpdGlvbmFsIEFQSSBjYWxscyBmb3IKKyAgICAgICAgV2ViUGx1
Z2luU2Nyb2xsYmFySW1wbCBzaW5jZSBpdCBkZXJpdmVzIGZyb20gV2ViU2Nyb2xsYmFyLgorCisg
ICAgICAgIEFkZCBXZWJTY3JvbGxiYXJJbXBsIHRvIHRoZSBjbGllbnQgQVBJIHRvIHdyYXAgYW5k
IG93biBhbiBleGlzdGluZworICAgICAgICBXZWJDb3JlIFNjcm9sbGJhciBvYmplY3QgYW5kIHBy
b3ZpZGUgdGhlIFdlYlNjcm9sbGJhciBpbnRlcmZhY2UuCisKKyAgICAgICAgQnkga2VlcGluZyBX
ZWJTY3JvbGxiYXIgc2VwYXJhdGUgZnJvbSBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LCB0aGUK
KyAgICAgICAgY29tcG9zaXRvciB0aHJlYWQgY2FuIGNyZWF0ZSBpdHMgb3duIHRocmVhZC1zYWZl
IGRhdGEgYmFnIHZlcnNpb24gb2YgYQorICAgICAgICBXZWJTY3JvbGxiYXIgKENDU2Nyb2xsYmFy
TGF5ZXJJbXBsOjpDQ1Njcm9sbGJhciksIGJ1dCB0aGlzIHJlcXVpcmVzCisgICAgICAgIFdlYlNj
cm9sbGJhclRoZW1lQ2xpZW50SW1wbC4KKworICAgICAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVu
dEltcGwgZG9lcyB0aGUgcmV2ZXJzZSBvZiBXZWJTY3JvbGxiYXJJbXBsOyBpdAorICAgICAgICB3
cmFwcyBhIFdlYlNjcm9sbGJhciBhbmQgcHJvdmlkZXMgdGhlIFNjcm9sbGJhclRoZW1lQ2xpZW50
IGludGVyZmFjZS4KKyAgICAgICAgVGhpcyBpcyBzbyB0aGF0IGEgV2ViU2Nyb2xsYmFyIGNhbiBi
ZSBwYXNzZWQgdG8gdGhlIGdlb21ldHJ5IGFuZAorICAgICAgICBwYWludGVyIGZ1bmN0aW9ucy4g
VGhlbiwgaW50ZXJuYWxseSB0aGUgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsCisgICAgICAg
IGNhbiBiZSB1c2VkIHRvIGFkYXB0IHRoZSBXZWJTY3JvbGxiYXIgdG8gdGhlIFNjcm9sbGJhclRo
ZW1lQ2xpZW50CisgICAgICAgIGludGVyZmFjZSBzbyB0aGUgZ2VvbWV0cnkgYW5kIHBhaW50ZXIg
ZnVuY3Rpb25zIGNhbiBjYWxsIGRpcmVjdAorICAgICAgICBmdW5jdGlvbnMgb24gU2Nyb2xsYmFy
VGhlbWVDb21wb3NpdGUuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAqIHNyYy9F
eHRlcm5hbFBvcHVwTWVudS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBzcmMvV2Vi
UGx1Z2luU2Nyb2xsYmFySW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9s
bGJhckltcGw6OldlYlBsdWdpblNjcm9sbGJhckltcGwpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
bHVnaW5TY3JvbGxiYXJJbXBsOjpsb2NhdGlvbik6CisgICAgICAgIChXZWJLaXQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpzaXplKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6ZW5hYmxlZCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBsdWdpblNjcm9sbGJhckltcGw6Om1heGltdW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVn
aW5TY3JvbGxiYXJJbXBsOjp0b3RhbFNpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5T
Y3JvbGxiYXJJbXBsOjppc1Njcm9sbFZpZXdTY3JvbGxiYXIpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjppc1Njcm9sbGFibGVBcmVhQWN0aXZlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6Z2V0VGlja21hcmtzKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6Y29udHJvbFNpemUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpwcmVzc2VkUGFydCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6OmhvdmVyZWRQYXJ0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6b3JpZW50YXRpb24pOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjppc0N1c3RvbVNjcm9sbGJhcik6
CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6Om9uTW91c2VVcCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6Om9uTW91c2VNb3ZlKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6b25Nb3VzZUxlYXZlKToKKyAg
ICAgICAgKiBzcmMvV2ViUGx1Z2luU2Nyb2xsYmFySW1wbC5oOgorICAgICAgICAoV2ViUGx1Z2lu
U2Nyb2xsYmFySW1wbCk6CisgICAgICAgICogc3JjL1dlYlNjcm9sbGJhckltcGwuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhcjo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6V2ViU2Nyb2xsYmFySW1w
bCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OmlzT3ZlcmxheSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OnZhbHVlKToKKyAgICAgICAgKFdlYktpdDo6
V2ViU2Nyb2xsYmFySW1wbDo6bG9jYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxi
YXJJbXBsOjpzaXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6ZW5hYmxl
ZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6Om1heGltdW0pOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjp0b3RhbFNpemUpOgorICAgICAgICAoV2ViS2l0
OjpXZWJTY3JvbGxiYXJJbXBsOjppc1Njcm9sbFZpZXdTY3JvbGxiYXIpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJTY3JvbGxiYXJJbXBsOjppc1Njcm9sbGFibGVBcmVhQWN0aXZlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6Z2V0VGlja21hcmtzKToKKyAgICAgICAgKFdlYktp
dDo6V2ViU2Nyb2xsYmFySW1wbDo6Y29udHJvbFNpemUpOgorICAgICAgICAoV2ViS2l0Ojp0b1dl
YlNjcm9sbGJhclBhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjpwcmVz
c2VkUGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OmhvdmVyZWRQYXJ0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6c2Nyb2xsYmFyT3ZlcmxheVN0
eWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6b3JpZW50YXRpb24pOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjppc0N1c3RvbVNjcm9sbGJhcik6Cisg
ICAgICAgICogc3JjL1dlYlNjcm9sbGJhckltcGwuaDogQ29waWVkIGZyb20gU291cmNlL1BsYXRm
b3JtL2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXIuaC4KKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlNjcm9sbGJhckltcGwpOgorICAgICAgICAq
IHNyYy9XZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6V2Vi
U2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVDbGllbnRJbXBsOjp4KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsOjp5KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJ
bXBsOjp3aWR0aCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1w
bDo6aGVpZ2h0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBs
OjpzaXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjps
b2NhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6
cGFyZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpy
b290KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpzZXRG
cmFtZVJlY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6
OmZyYW1lUmVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1w
bDo6aW52YWxpZGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50
SW1wbDo6aW52YWxpZGF0ZVJlY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGw6OnNjcm9sbGJhck92ZXJsYXlTdHlsZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6Z2V0VGlja21hcmtzKToKKyAgICAgICAgKFdlYktp
dDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjppc1Njcm9sbGFibGVBcmVhQWN0aXZlKToK
KyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjppc1Njcm9sbFZp
ZXdTY3JvbGxiYXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudElt
cGw6OmNvbnZlcnRGcm9tQ29udGFpbmluZ1dpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlNj
cm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aXNDdXN0b21TY3JvbGxiYXIpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6Om9yaWVudGF0aW9uKToKKyAgICAgICAg
KFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjp2YWx1ZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6Y3VycmVudFBvcyk6CisgICAgICAg
IChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6dmlzaWJsZVNpemUpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnRvdGFsU2l6ZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6bWF4aW11bSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6Y29udHJvbFNpemUp
OgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmxpbmVTdGVw
KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpwYWdlU3Rl
cCk6CisgICAgICAgIChXZWJLaXQ6OnRvV2ViQ29yZVBhcnQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnByZXNzZWRQYXJ0KToKKyAgICAgICAgKFdlYktp
dDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpob3ZlcmVkUGFydCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6c3R5bGVDaGFuZ2VkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjplbmFibGVkKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpzZXRFbmFibGVkKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjppc092ZXJsYXlTY3Jv
bGxiYXIpOgorICAgICAgICAqIHNyYy9XZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwuaDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJT
Y3JvbGxiYXJUaGVtZUNsaWVudEltcGwpOgorICAgICAgICAqIHNyYy9XZWJTY3JvbGxiYXJUaGVt
ZUdlb21ldHJ5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojphc3NpZ24pOgorICAgICAgICAoV2ViS2l0OjpX
ZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0aHVtYlBvc2l0aW9uKToKKyAgICAgICAgKFdlYktp
dDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6dGh1bWJMZW5ndGgpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0cmFja1Bvc2l0aW9uKToKKyAgICAgICAg
KFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6dHJhY2tMZW5ndGgpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjpoYXNCdXR0b25zKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6aGFzVGh1bWIpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0cmFja1JlY3QpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0aHVtYlJlY3QpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjptaW5pbXVtVGh1bWJMZW5ndGgp
OgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjpzY3JvbGxiYXJU
aGlja25lc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojpi
YWNrQnV0dG9uU3RhcnRSZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeTo6YmFja0J1dHRvbkVuZFJlY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxi
YXJUaGVtZUdlb21ldHJ5Ojpmb3J3YXJkQnV0dG9uU3RhcnRSZWN0KToKKyAgICAgICAgKFdlYktp
dDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6Zm9yd2FyZEJ1dHRvbkVuZFJlY3QpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojpjb25zdHJhaW5UcmFja1Jl
Y3RUb1RyYWNrUGllY2VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9t
ZXRyeTo6c3BsaXRUcmFjayk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2Vv
bWV0cnk6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkpOgorICAgICAgICAqIHNyYy9XZWJTY3Jv
bGxiYXJUaGVtZVBhaW50ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6YXNzaWduKToKKyAgICAgICAgKFdl
YktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludFNjcm9sbGJhckJhY2tncm91bmQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50VHJhY2tC
YWNrZ3JvdW5kKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpw
YWludEJhY2tUcmFja1BhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBh
aW50ZXI6OnBhaW50Rm9yd2FyZFRyYWNrUGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9s
bGJhclRoZW1lUGFpbnRlcjo6cGFpbnRCYWNrQnV0dG9uU3RhcnQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50QmFja0J1dHRvbkVuZCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRGb3J3YXJkQnV0dG9uU3Rh
cnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50Rm9y
d2FyZEJ1dHRvbkVuZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRl
cjo6cGFpbnRUaWNrbWFya3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBh
aW50ZXI6OnBhaW50VGh1bWIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBh
aW50ZXI6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcik6CisgICAgICAgICogdGVzdHMvU2Nyb2xs
YmFyTGF5ZXJDaHJvbWl1bVRlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1Njcm9sbGJh
cjo6Y29udmVydEZyb21Db250YWluaW5nV2luZG93KToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tT
Y3JvbGxiYXI6OmlzT3ZlcmxheVNjcm9sbGJhcik6CisgICAgICAgIChNb2NrU2Nyb2xsYmFyKToK
KyAgICAgICAgKFdlYkNvcmU6OlRFU1QpOgorCiAyMDEyLTA3LTAzICBBbGV4IFNha2hhcnRjaG91
ayAgPGFsZXhzdEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBBdm9pZCBjYWxs
aW5nIGdldFVuaWZvcm1Mb2NhdGlvbj8/KCkgaW4gdGhlIGNvbXBvc2l0b3Igc3RhcnR1cApkaWZm
IC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkgYi9Tb3VyY2UvUGxhdGZvcm0v
UGxhdGZvcm0uZ3lwaQppbmRleCA3ZDU2NGY3NGJkNDE1MDA1ZDVlYmJlNjM2Y2NkODk4MzZiNzQw
ZWIzLi43MzY3MjRlMDk1NmZkODM2NjM3ODQ0ZWU2YzMyM2E2NzMzNjE5ODcxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQorKysgYi9Tb3VyY2UvUGxhdGZvcm0vUGxh
dGZvcm0uZ3lwaQpAQCAtOTYsNiArOTYsOCBAQAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1Ymxp
Yy9XZWJSZWZlcnJlclBvbGljeS5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2Vi
UmVuZGVyaW5nU3RhdHMuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNjcm9s
bGJhci5oJywKKyAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeS5oJywKKyAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyVGhl
bWVQYWludGVyLmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJTZXNzaW9uRGVz
Y3JpcHRpb25EZXNjcmlwdG9yLmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJT
aXplLmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJTb2NrZXRTdHJlYW1FcnJv
ci5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Ny
b2xsYmFyLmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhci5o
CmluZGV4IDg3OTU1NjU1MmQxYTMxNmQ0ZDJkNTk3ZDY2YzVlYjA1MGQ5OWUwZjEuLmJlMjljMTIw
NDc3OWIxN2NiMDQzNTI0NWNmM2ZjNGE1YjUzZDI5OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0
Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyLmgKKysrIGIvU291cmNlL1BsYXRmb3Jt
L2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXIuaApAQCAtMjUsMTAgKzI1LDI3IEBACiAjaWZu
ZGVmIFdlYlNjcm9sbGJhcl9oCiAjZGVmaW5lIFdlYlNjcm9sbGJhcl9oCiAKKyNpbmNsdWRlICJX
ZWJQb2ludC5oIgorI2luY2x1ZGUgIldlYlJlY3QuaCIKKyNpbmNsdWRlICJXZWJTaXplLmgiCisj
aW5jbHVkZSAiV2ViVmVjdG9yLmgiCisjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCisjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KKyNlbmRpZgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFz
cyBTY3JvbGxiYXI7Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogCisvLyBBIGNvbnN0IGFjY2Vz
c29yIGludGVyZmFjZSBmb3IgYSBXZWJLaXQgc2Nyb2xsYmFyCiBjbGFzcyBXZWJTY3JvbGxiYXIg
ewogcHVibGljOgorI2lmIFdFQktJVF9JTVBMRU1FTlRBVElPTgorICAgIFdFQktJVF9FWFBPUlQg
c3RhdGljIFBhc3NPd25QdHI8V2ViU2Nyb2xsYmFyPiBjcmVhdGUoV2ViQ29yZTo6U2Nyb2xsYmFy
Kik7CisjZW5kaWYKKwogICAgIGVudW0gT3JpZW50YXRpb24gewogICAgICAgICBIb3Jpem9udGFs
LAogICAgICAgICBWZXJ0aWNhbApAQCAtNDYsNiArNjMsMzEgQEAgcHVibGljOgogICAgICAgICBT
Y3JvbGxCeVBpeGVsCiAgICAgfTsKIAorICAgIGVudW0gU2Nyb2xsYmFyQ29udHJvbFNpemUgewor
ICAgICAgICBSZWd1bGFyU2Nyb2xsYmFyLAorICAgICAgICBTbWFsbFNjcm9sbGJhcgorICAgIH07
CisKKyAgICBlbnVtIFNjcm9sbGJhclBhcnQgeworICAgICAgICBOb1BhcnQsCisgICAgICAgIEJh
Y2tCdXR0b25TdGFydFBhcnQsCisgICAgICAgIEZvcndhcmRCdXR0b25TdGFydFBhcnQsCisgICAg
ICAgIEJhY2tUcmFja1BhcnQsCisgICAgICAgIFRodW1iUGFydCwKKyAgICAgICAgRm9yd2FyZFRy
YWNrUGFydCwKKyAgICAgICAgQmFja0J1dHRvbkVuZFBhcnQsCisgICAgICAgIEZvcndhcmRCdXR0
b25FbmRQYXJ0LAorICAgICAgICBTY3JvbGxiYXJCR1BhcnQsCisgICAgICAgIFRyYWNrQkdQYXJ0
LAorICAgICAgICBBbGxQYXJ0cworICAgIH07CisKKyAgICBlbnVtIFNjcm9sbGJhck92ZXJsYXlT
dHlsZSB7CisgICAgICAgIFNjcm9sbGJhck92ZXJsYXlTdHlsZURlZmF1bHQsCisgICAgICAgIFNj
cm9sbGJhck92ZXJsYXlTdHlsZURhcmssCisgICAgICAgIFNjcm9sbGJhck92ZXJsYXlTdHlsZUxp
Z2h0CisgICAgfTsKKwogICAgIHZpcnR1YWwgfldlYlNjcm9sbGJhcigpIHsgfQogCiAgICAgLy8g
UmV0dXJuIHRydWUgaWYgdGhpcyBpcyBhbiBvdmVybGF5IHNjcm9sbGJhci4KQEAgLTUzLDYgKzk1
LDIxIEBAIHB1YmxpYzoKIAogICAgIC8vIEdldHMgdGhlIGN1cnJlbnQgdmFsdWUgKGkuZS4gcG9z
aXRpb24gaW5zaWRlIHRoZSByZWdpb24pLgogICAgIHZpcnR1YWwgaW50IHZhbHVlKCkgY29uc3Qg
PSAwOworCisgICAgdmlydHVhbCBXZWJQb2ludCBsb2NhdGlvbigpIGNvbnN0ID0gMDsKKyAgICB2
aXJ0dWFsIFdlYlNpemUgc2l6ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgZW5hYmxl
ZCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGludCBtYXhpbXVtKCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgaW50IHRvdGFsU2l6ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNT
Y3JvbGxWaWV3U2Nyb2xsYmFyKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9s
bGFibGVBcmVhQWN0aXZlKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgdm9pZCBnZXRUaWNrbWFy
a3MoV2ViVmVjdG9yPFdlYlJlY3Q+JiB0aWNrbWFya3MpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFs
IFNjcm9sbGJhckNvbnRyb2xTaXplIGNvbnRyb2xTaXplKCkgY29uc3QgPSAwOworICAgIHZpcnR1
YWwgU2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIFNj
cm9sbGJhclBhcnQgaG92ZXJlZFBhcnQoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBTY3JvbGxi
YXJPdmVybGF5U3R5bGUgc2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkgY29uc3QgPSAwOworICAgIHZp
cnR1YWwgYm9vbCBpc0N1c3RvbVNjcm9sbGJhcigpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIE9y
aWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3QgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnkuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMv
V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUwMDE3OTFlZmRlYjEzNjkz
MDFiZWFhMDhjMzg4ZTc2OGYwNTk2N2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvUGxhdGZv
cm0vY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkuaApAQCAtMCwwICsx
LDg5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5X2gKKyNkZWZp
bmUgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeV9oCisKKyNpbmNsdWRlIDxwdWJsaWMvV2ViUmVj
dC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0
ZTsKK307CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJTY3JvbGxiYXI7CisKK2Ns
YXNzIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgeworcHVibGljOgorICAgIFdlYlNjcm9sbGJh
clRoZW1lR2VvbWV0cnkoKSB7IGFzc2lnbigwKTsgfQorCisgICAgV2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeShjb25zdCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5JiBnZW9tZXRyeSkgeyBhc3Np
Z24oZ2VvbWV0cnkpOyB9CisgICAgdmlydHVhbCB+V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSgp
IHsgfQorICAgIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkmIG9wZXJhdG9yPShjb25zdCBXZWJT
Y3JvbGxiYXJUaGVtZUdlb21ldHJ5JiBnZW9tZXRyeSkKKyAgICB7CisgICAgICAgIGFzc2lnbihn
ZW9tZXRyeSk7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAgICBib29sIGlzTnVs
bCgpIGNvbnN0IHsgcmV0dXJuIG1fdGhlbWU7IH0KKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNz
aWduKGNvbnN0IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkmKTsKKworICAgIGludCB0aHVtYlBv
c2l0aW9uKFdlYlNjcm9sbGJhciopOworICAgIGludCB0aHVtYkxlbmd0aChXZWJTY3JvbGxiYXIq
KTsKKyAgICBpbnQgdHJhY2tQb3NpdGlvbihXZWJTY3JvbGxiYXIqKTsKKyAgICBpbnQgdHJhY2tM
ZW5ndGgoV2ViU2Nyb2xsYmFyKik7CisKKyAgICBib29sIGhhc0J1dHRvbnMoV2ViU2Nyb2xsYmFy
Kik7CisgICAgYm9vbCBoYXNUaHVtYihXZWJTY3JvbGxiYXIqKTsKKworICAgIFdlYlJlY3QgdHJh
Y2tSZWN0KFdlYlNjcm9sbGJhciopOworICAgIFdlYlJlY3QgdGh1bWJSZWN0KFdlYlNjcm9sbGJh
ciopOworCisgICAgaW50IG1pbmltdW1UaHVtYkxlbmd0aChXZWJTY3JvbGxiYXIqKTsKKyAgICBp
bnQgc2Nyb2xsYmFyVGhpY2tuZXNzKFdlYlNjcm9sbGJhciopOworCisgICAgV2ViUmVjdCBiYWNr
QnV0dG9uU3RhcnRSZWN0KFdlYlNjcm9sbGJhciopOworICAgIFdlYlJlY3QgYmFja0J1dHRvbkVu
ZFJlY3QoV2ViU2Nyb2xsYmFyKik7CisgICAgV2ViUmVjdCBmb3J3YXJkQnV0dG9uU3RhcnRSZWN0
KFdlYlNjcm9sbGJhciopOworICAgIFdlYlJlY3QgZm9yd2FyZEJ1dHRvbkVuZFJlY3QoV2ViU2Ny
b2xsYmFyKik7CisKKyAgICBXZWJSZWN0IGNvbnN0cmFpblRyYWNrUmVjdFRvVHJhY2tQaWVjZXMo
V2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOworICAgIHZvaWQgc3BsaXRUcmFjayhXZWJT
Y3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0JiB0cmFjaywgV2ViUmVjdCYgc3RhcnRUcmFjaywgV2Vi
UmVjdCYgdGh1bWIsIFdlYlJlY3QmIGVuZFRyYWNrKTsKKworI2lmIFdFQktJVF9JTVBMRU1FTlRB
VElPTgorICAgIC8vIFRoZSB0aGVtZSBpcyBub3Qgb3duZWQgYnkgdGhlIGdlb21ldHJ5LiBJdCBp
cyBhc3N1bWVkIHRoYXQgdGhpcyBpcyBhCisgICAgLy8gc3RhdGljIHBvaW50ZXIgYW5kIHRoZSBm
dW5jdGlvbnMgdGhhdCBhcmUgY2FsbGVkIG9uIGl0IGZyb20gdGhpcyBjbGFzcworICAgIC8vIGFy
ZSB0aHJlYWRzYWZlLgorICAgIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkoV2ViQ29yZTo6U2Ny
b2xsYmFyVGhlbWVDb21wb3NpdGUqKTsKKyNlbmRpZgorCitwcml2YXRlOgorICAgIFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKiBtX3RoZW1lOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1
YmxpYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1
bS9wdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGJmN2IzYWNm
MzNlZTQ4MTgwNmI5NGFmODEyYTJhMzEzMWNjYzNiZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmgKQEAg
LTAsMCArMSw4MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
CisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyX2gK
KyNkZWZpbmUgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyX2gKKworI2luY2x1ZGUgPHB1YmxpYy9X
ZWJDYW52YXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgU2Nyb2xsYmFyVGhlbWVD
b21wb3NpdGU7Cit9OworCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViU2Nyb2xsYmFy
OworY2xhc3MgV2ViUmVjdDsKKworLy8gQW4gaW50ZXJmYWNlIHRvIGEgU2Nyb2xsYmFyVGhlbWVD
b21wb3NpdGUuIENhbiBvbmx5IGJlIHVzZWQgb24gdGhlIHNhbWUKKy8vIHRocmVhZCB0aGF0IGl0
IGlzIGNvbnN0cnVjdGVkLgorY2xhc3MgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIHsKK3B1Ymxp
YzoKKyAgICBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIoKSB7IGFzc2lnbigwKTsgfQorICAgIFdl
YlNjcm9sbGJhclRoZW1lUGFpbnRlcihjb25zdCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXImIGdl
b21ldHJ5KSB7IGFzc2lnbihnZW9tZXRyeSk7IH0KKyAgICB2aXJ0dWFsIH5XZWJTY3JvbGxiYXJU
aGVtZVBhaW50ZXIoKSB7IH0KKyAgICBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXImIG9wZXJhdG9y
PShjb25zdCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXImIHBhaW50ZXIpCisgICAgeworICAgICAg
ICBhc3NpZ24ocGFpbnRlcik7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAgICBi
b29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIG1fdGhlbWU7IH0KKyAgICBXRUJLSVRfRVhQT1JU
IHZvaWQgYXNzaWduKGNvbnN0IFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlciYpOworCisgICAgdm9p
ZCBwYWludFNjcm9sbGJhckJhY2tncm91bmQoV2ViQ2FudmFzKiwgV2ViU2Nyb2xsYmFyKiwgY29u
c3QgV2ViUmVjdCYpOworICAgIHZvaWQgcGFpbnRUcmFja0JhY2tncm91bmQoV2ViQ2FudmFzKiwg
V2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOworICAgIHZvaWQgcGFpbnRCYWNrVHJhY2tQ
YXJ0KFdlYkNhbnZhcyosIFdlYlNjcm9sbGJhciosIGNvbnN0IFdlYlJlY3QmKTsKKyAgICB2b2lk
IHBhaW50Rm9yd2FyZFRyYWNrUGFydChXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBX
ZWJSZWN0Jik7CisgICAgdm9pZCBwYWludEJhY2tCdXR0b25TdGFydChXZWJDYW52YXMqLCBXZWJT
Y3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgdm9pZCBwYWludEJhY2tCdXR0b25FbmQo
V2ViQ2FudmFzKiwgV2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOworICAgIHZvaWQgcGFp
bnRGb3J3YXJkQnV0dG9uU3RhcnQoV2ViQ2FudmFzKiwgV2ViU2Nyb2xsYmFyKiwgY29uc3QgV2Vi
UmVjdCYpOworICAgIHZvaWQgcGFpbnRGb3J3YXJkQnV0dG9uRW5kKFdlYkNhbnZhcyosIFdlYlNj
cm9sbGJhciosIGNvbnN0IFdlYlJlY3QmKTsKKyAgICB2b2lkIHBhaW50VGlja21hcmtzKFdlYkNh
bnZhcyosIFdlYlNjcm9sbGJhciosIGNvbnN0IFdlYlJlY3QmKTsKKyAgICB2b2lkIHBhaW50VGh1
bWIoV2ViQ2FudmFzKiwgV2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOworCisjaWYgV0VC
S0lUX0lNUExFTUVOVEFUSU9OCisgICAgLy8gVGhlIHRoZW1lIGlzIG5vdCBvd25lZCBieSB0aGlz
IGNsYXNzLiBJdCBpcyBhc3N1bWVkIHRoYXQgdGhlIHRoZW1lIGlzIGEKKyAgICAvLyBzdGF0aWMg
cG9pbnRlci4gVGhlIGZ1bmN0aW9ucyBjYWxsZWQgZnJvbSB0aGUgcGFpbnRlciBtYXkgbm90IGJl
CisgICAgLy8gdGhyZWFkc2FmZSwgc28gYWxsIGNhbGxzIG11c3QgYmUgbWFkZSBmcm9tIHRoZSBz
YW1lIHRocmVhZCB0aGF0IGl0IGlzCisgICAgLy8gY3JlYXRlZCBvbi4KKyAgICBXZWJTY3JvbGxi
YXJUaGVtZVBhaW50ZXIoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqKTsKKyNlbmRp
ZgorCitwcml2YXRlOgorICAgIFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKiBtX3Ro
ZW1lOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0
b3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9T
Y3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcAppbmRleCA3Y2ZiODZjMGYwNmQzNGU0ODZi
ODY1YjA4MDgzNWZmOGQ1ZmYyNGFkLi5jMmMxNTUxNGEwNGViZWJkYTQ1ZTcyYWNkMDVmNTg3Nzhk
ZThkYWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1
bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcApA
QCAtMzQsOSArMzQsMTIgQEAKICNpbmNsdWRlICJSZW5kZXJMYXllckNvbXBvc2l0b3IuaCIKICNp
bmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5o
IgotI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lLmgiCisjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWVD
b21wb3NpdGUuaCIKICNpbmNsdWRlICJjYy9DQ1Byb3h5LmgiCiAjaW5jbHVkZSA8cHVibGljL1dl
YlNjcm9sbGFibGVMYXllci5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXIuaD4KKyNp
bmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5oPgorI2luY2x1ZGUgPHB1
YmxpYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuaD4KIAogdXNpbmcgV2ViS2l0OjpXZWJMYXll
cjsKIHVzaW5nIFdlYktpdDo6V2ViU2Nyb2xsYWJsZUxheWVyOwpAQCAtMTMxLDEzICsxMzQsMjEg
QEAgc3RhdGljIFdlYkxheWVyIGNyZWF0ZVNjcm9sbGJhckxheWVyKFNjcm9sbGJhciogc2Nyb2xs
YmFyLCBXZWJTY3JvbGxhYmxlTGF5ZXIgc2MKICAgICBwbGF0Zm9ybVN1cHBvcnRlZCA9IGZhbHNl
OwogI2VuZGlmCiAKLSAgICBpZiAoIXBsYXRmb3JtU3VwcG9ydGVkIHx8IHNjcm9sbGJhci0+aXNP
dmVybGF5U2Nyb2xsYmFyKCkpIHsKKyAgICBpZiAoIXBsYXRmb3JtU3VwcG9ydGVkIHx8IHNjcm9s
bGJhci0+aXNPdmVybGF5U2Nyb2xsYmFyKCkgfHwgc2Nyb2xsYmFyLT5pc0N1c3RvbVNjcm9sbGJh
cigpKSB7CiAgICAgICAgIHNjcm9sbGJhckdyYXBoaWNzTGF5ZXItPnNldENvbnRlbnRzVG9NZWRp
YSgwKTsKICAgICAgICAgc2Nyb2xsYmFyR3JhcGhpY3NMYXllci0+c2V0RHJhd3NDb250ZW50KHRy
dWUpOwogICAgICAgICByZXR1cm4gV2ViTGF5ZXIoKTsKICAgICB9CiAKLSAgICBSZWZQdHI8U2Ny
b2xsYmFyTGF5ZXJDaHJvbWl1bT4gc2Nyb2xsYmFyTGF5ZXIgPSBTY3JvbGxiYXJMYXllckNocm9t
aXVtOjpjcmVhdGUoc2Nyb2xsYmFyLCBzY3JvbGxMYXllci51bndyYXA8TGF5ZXJDaHJvbWl1bT4o
KS0+aWQoKSk7CisgICAgLy8gQWxsIENocm9taXVtIHNjcm9sbGJhciB0aGVtZXMgZGVyaXZlIGZy
b20gU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuCisgICAgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUq
IHRoZW1lQ29tcG9zaXRlID0gc3RhdGljX2Nhc3Q8U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqPihz
Y3JvbGxiYXItPnRoZW1lKCkpOworCisgICAgLy8gU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bSBvd25z
IHRoZSBXZWJTY3JvbGxiYXIKKyAgICBPd25QdHI8V2ViS2l0OjpXZWJTY3JvbGxiYXI+IHdlYlNj
cm9sbGJhciA9IFdlYktpdDo6V2ViU2Nyb2xsYmFyOjpjcmVhdGUoc2Nyb2xsYmFyKTsKKyAgICBX
ZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVyKHRoZW1lQ29tcG9zaXRlKTsK
KyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgZ2VvbWV0cnkodGhlbWVDb21w
b3NpdGUpOworCisgICAgUmVmUHRyPFNjcm9sbGJhckxheWVyQ2hyb21pdW0+IHNjcm9sbGJhckxh
eWVyID0gU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKHdlYlNjcm9sbGJhci5yZWxlYXNl
KCksIHBhaW50ZXIsIGdlb21ldHJ5LCBzY3JvbGxMYXllci51bndyYXA8TGF5ZXJDaHJvbWl1bT4o
KS0+aWQoKSk7CiAgICAgc2Nyb2xsYmFyR3JhcGhpY3NMYXllci0+c2V0Q29udGVudHNUb01lZGlh
KHNjcm9sbGJhckxheWVyLmdldCgpKTsKICAgICBzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5zZXRE
cmF3c0NvbnRlbnQoZmFsc2UpOwogICAgIHNjcm9sbGJhckxheWVyLT5zZXRPcGFxdWUoc2Nyb2xs
YmFyR3JhcGhpY3NMYXllci0+Y29udGVudHNPcGFxdWUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDbGllbnQuaAppbmRleCA4NzFjNTJlOTBiODk5MGY4ODZh
NmI3ZDNmZDVmZDRlNGRiZjY5ZjI1Li5lYmE0MDk0NjljMmRiMjkzMmZlZTUyZTkyNzE0MTA1ZTY0
ZGZiMGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVt
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ2xp
ZW50LmgKQEAgLTgzLDYgKzgzLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBlbmFibGVk
KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRFbmFibGVkKGJvb2wpID0gMDsKIAor
ICAgIHZpcnR1YWwgYm9vbCBpc092ZXJsYXlTY3JvbGxiYXIoKSBjb25zdCA9IDA7CisKIHByb3Rl
Y3RlZDoKICAgICB2aXJ0dWFsIH5TY3JvbGxiYXJUaGVtZUNsaWVudCgpIHsgfQogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Njcm9sbGJh
ckxheWVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggZGQ2YTQzZDAyOTg3N2I3MWQw
ZTI4ODFmYjVkNWM5ODZlNGU1YzU4Zi4uNjFhZmUxMzAwMDU2NmQyYmZiMDI2ZWQwZTRhMGFhYzAz
ZGYzNTc2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5jcHAKQEAgLTM3
LDYgKzM3LDkgQEAKICNpbmNsdWRlICJjYy9DQ0xheWVyVHJlZUhvc3QuaCIKICNpbmNsdWRlICJj
Yy9DQ1Njcm9sbGJhckxheWVySW1wbC5oIgogI2luY2x1ZGUgImNjL0NDVGV4dHVyZVVwZGF0ZXIu
aCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViUmVjdC5oPgorCit1c2luZyBXZWJLaXQ6OldlYlJlY3Q7
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDUsMjcgKzQ4LDE4IEBAIFBhc3NPd25QdHI8
Q0NMYXllckltcGw+IFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNyZWF0ZUNDTGF5ZXJJbXBsKCkK
ICAgICByZXR1cm4gQ0NTY3JvbGxiYXJMYXllckltcGw6OmNyZWF0ZShpZCgpKTsKIH0KIAotUGFz
c1JlZlB0cjxTY3JvbGxiYXJMYXllckNocm9taXVtPiBTY3JvbGxiYXJMYXllckNocm9taXVtOjpj
cmVhdGUoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGludCBzY3JvbGxMYXllcklkKQorUGFzc1JlZlB0
cjxTY3JvbGxiYXJMYXllckNocm9taXVtPiBTY3JvbGxiYXJMYXllckNocm9taXVtOjpjcmVhdGUo
UGFzc093blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhcj4gc2Nyb2xsYmFyLCBXZWJLaXQ6OldlYlNj
cm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVyLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2Vv
bWV0cnkgZ2VvbWV0cnksIGludCBzY3JvbGxMYXllcklkKQogewotICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bShzY3JvbGxiYXIsIHNjcm9sbExheWVySWQpKTsK
KyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGJhckxheWVyQ2hyb21pdW0oc2Nyb2xsYmFy
LCBwYWludGVyLCBnZW9tZXRyeSwgc2Nyb2xsTGF5ZXJJZCkpOwogfQogCi1TY3JvbGxiYXJMYXll
ckNocm9taXVtOjpTY3JvbGxiYXJMYXllckNocm9taXVtKFNjcm9sbGJhciogc2Nyb2xsYmFyLCBp
bnQgc2Nyb2xsTGF5ZXJJZCkKK1Njcm9sbGJhckxheWVyQ2hyb21pdW06OlNjcm9sbGJhckxheWVy
Q2hyb21pdW0oUGFzc093blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhcj4gc2Nyb2xsYmFyLCBXZWJL
aXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVyLCBXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lR2VvbWV0cnkgZ2VvbWV0cnksIGludCBzY3JvbGxMYXllcklkKQogICAgIDogbV9zY3Jv
bGxiYXIoc2Nyb2xsYmFyKQorICAgICwgbV9wYWludGVyKHBhaW50ZXIpCisgICAgLCBtX2dlb21l
dHJ5KGdlb21ldHJ5KQogICAgICwgbV9zY3JvbGxMYXllcklkKHNjcm9sbExheWVySWQpCiAgICAg
LCBtX3RleHR1cmVGb3JtYXQoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSkKLSAgICAs
IG1fc2Nyb2xsYmFyT3ZlcmxheVN0eWxlKHNjcm9sbGJhci0+c2Nyb2xsYmFyT3ZlcmxheVN0eWxl
KCkpCi0gICAgLCBtX2lzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoc2Nyb2xsYmFyLT5pc1Njcm9sbGFi
bGVBcmVhQWN0aXZlKCkpCi0gICAgLCBtX2lzU2Nyb2xsVmlld1Njcm9sbGJhcihzY3JvbGxiYXIt
PmlzU2Nyb2xsVmlld1Njcm9sbGJhcigpKQotICAgICwgbV9vcmllbnRhdGlvbihzY3JvbGxiYXIt
Pm9yaWVudGF0aW9uKCkpCi0gICAgLCBtX2NvbnRyb2xTaXplKHNjcm9sbGJhci0+Y29udHJvbFNp
emUoKSkKLXsKLX0KLQotU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIFNjcm9sbGJhckxheWVyQ2hy
b21pdW06OnRoZW1lKCkgY29uc3QKIHsKLSAgICAvLyBBbGwgQ2hyb21pdW0gc2Nyb2xsYmFycyBh
cmUgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUtZGVyaXZlZC4KLSAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqPihtX3Njcm9sbGJhci0+dGhlbWUoKSk7CiB9CiAK
IHZvaWQgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6cHVzaFByb3BlcnRpZXNUbyhDQ0xheWVySW1w
bCogbGF5ZXIpCkBAIC03NCw3ICs2OCw3IEBAIHZvaWQgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6
cHVzaFByb3BlcnRpZXNUbyhDQ0xheWVySW1wbCogbGF5ZXIpCiAKICAgICBDQ1Njcm9sbGJhckxh
eWVySW1wbCogc2Nyb2xsYmFyTGF5ZXIgPSBzdGF0aWNfY2FzdDxDQ1Njcm9sbGJhckxheWVySW1w
bCo+KGxheWVyKTsKIAotICAgIHNjcm9sbGJhckxheWVyLT5zZXRTY3JvbGxiYXJPdmVybGF5U3R5
bGUobV9zY3JvbGxiYXJPdmVybGF5U3R5bGUpOworICAgIHNjcm9sbGJhckxheWVyLT5zZXRTY3Jv
bGxiYXJEYXRhKG1fc2Nyb2xsYmFyLmdldCgpLCBtX2dlb21ldHJ5KTsKIAogICAgIGlmIChtX2Jh
Y2tUcmFjayAmJiBtX2JhY2tUcmFjay0+dGV4dHVyZSgpLT5oYXZlQmFja2luZ1RleHR1cmUoKSkK
ICAgICAgICAgc2Nyb2xsYmFyTGF5ZXItPnNldEJhY2tUcmFja1RleHR1cmVJZChtX2JhY2tUcmFj
ay0+dGV4dHVyZSgpLT50ZXh0dXJlSWQoKSk7CkBAIC05MCwxMDUgKzg0LDk0IEBAIHZvaWQgU2Ny
b2xsYmFyTGF5ZXJDaHJvbWl1bTo6cHVzaFByb3BlcnRpZXNUbyhDQ0xheWVySW1wbCogbGF5ZXIp
CiAgICAgICAgIHNjcm9sbGJhckxheWVyLT5zZXRUaHVtYlRleHR1cmVJZChtX3RodW1iLT50ZXh0
dXJlKCktPnRleHR1cmVJZCgpKTsKICAgICBlbHNlCiAgICAgICAgIHNjcm9sbGJhckxheWVyLT5z
ZXRUaHVtYlRleHR1cmVJZCgwKTsKLQotICAgIFZlY3RvcjxJbnRSZWN0PiB0aWNrbWFya3M7Ci0g
ICAgbV9zY3JvbGxiYXItPmdldFRpY2ttYXJrcyh0aWNrbWFya3MpOwotICAgIHNjcm9sbGJhckxh
eWVyLT5zZXRUaWNrbWFya3ModGlja21hcmtzKTsKLQotICAgIHNjcm9sbGJhckxheWVyLT5zZXRJ
c1Njcm9sbGFibGVBcmVhQWN0aXZlKG1faXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSk7Ci0gICAgc2Ny
b2xsYmFyTGF5ZXItPnNldElzU2Nyb2xsVmlld1Njcm9sbGJhcihtX2lzU2Nyb2xsVmlld1Njcm9s
bGJhcik7Ci0KLSAgICBzY3JvbGxiYXJMYXllci0+c2V0T3JpZW50YXRpb24obV9vcmllbnRhdGlv
bik7Ci0KLSAgICBzY3JvbGxiYXJMYXllci0+c2V0Q29udHJvbFNpemUobV9jb250cm9sU2l6ZSk7
Ci0KLSAgICBzY3JvbGxiYXJMYXllci0+c2V0UHJlc3NlZFBhcnQobV9zY3JvbGxiYXItPnByZXNz
ZWRQYXJ0KCkpOwotICAgIHNjcm9sbGJhckxheWVyLT5zZXRIb3ZlcmVkUGFydChtX3Njcm9sbGJh
ci0+aG92ZXJlZFBhcnQoKSk7Ci0KLSAgICBzY3JvbGxiYXJMYXllci0+c2V0RW5hYmxlZChtX3Nj
cm9sbGJhci0+ZW5hYmxlZCgpKTsKIH0KIAogY2xhc3MgU2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50
ZXIgOiBwdWJsaWMgTGF5ZXJQYWludGVyQ2hyb21pdW0gewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFNjcm9sbGJhckJhY2tncm91bmRQYWludGVyKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c093blB0cjxTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcj4gY3JlYXRlKFNjcm9sbGJhclRoZW1l
Q2xpZW50KiBzY3JvbGxiYXIsIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKiB0aGVtZSwgU2Nyb2xs
YmFyUGFydCB0cmFja1BhcnQpCisgICAgc3RhdGljIFBhc3NPd25QdHI8U2Nyb2xsYmFyQmFja2dy
b3VuZFBhaW50ZXI+IGNyZWF0ZShXZWJLaXQ6OldlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBXZWJL
aXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVyLCBXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lR2VvbWV0cnkgZ2VvbWV0cnksIFNjcm9sbGJhclBhcnQgdHJhY2tQYXJ0KQogICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcihz
Y3JvbGxiYXIsIHRoZW1lLCB0cmFja1BhcnQpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcihzY3JvbGxiYXIsIHBhaW50ZXIsIGdlb21ldHJ5
LCB0cmFja1BhcnQpKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoU2tDYW52YXMq
IGNhbnZhcywgY29uc3QgSW50UmVjdCYgY29udGVudFJlY3QsIEZsb2F0UmVjdCYpIE9WRVJSSURF
CisgICAgdmlydHVhbCB2b2lkIHBhaW50KFNrQ2FudmFzKiBza0NhbnZhcywgY29uc3QgSW50UmVj
dCYgY29udGVudFJlY3QsIEZsb2F0UmVjdCYpIE9WRVJSSURFCiAgICAgewotICAgICAgICBQbGF0
Zm9ybUNvbnRleHRTa2lhIHBsYXRmb3JtQ29udGV4dChjYW52YXMpOwotICAgICAgICBwbGF0Zm9y
bUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7Ci0gICAgICAgIEdyYXBoaWNz
Q29udGV4dCBjb250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOwotCisgICAgICAgIFdlYktpdDo6V2Vi
Q2FudmFzKiBjYW52YXMgPSBza0NhbnZhczsKICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBpcyBh
IHNpbXBsaWZpY2F0aW9uIG9mIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlOjpwYWludC4KLSAgICAg
ICAgbV90aGVtZS0+cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKCZjb250ZXh0LCBtX3Njcm9sbGJh
cik7CisgICAgICAgIG1fcGFpbnRlci5wYWludFNjcm9sbGJhckJhY2tncm91bmQoY2FudmFzLCBt
X3Njcm9sbGJhciwgY29udGVudFJlY3QpOwogCi0gICAgICAgIGlmIChtX3RoZW1lLT5oYXNCdXR0
b25zKG1fc2Nyb2xsYmFyKSkgewotICAgICAgICAgICAgSW50UmVjdCBiYWNrQnV0dG9uU3RhcnRQ
YWludFJlY3QgPSBtX3RoZW1lLT5iYWNrQnV0dG9uUmVjdChtX3Njcm9sbGJhciwgQmFja0J1dHRv
blN0YXJ0UGFydCwgdHJ1ZSk7Ci0gICAgICAgICAgICBtX3RoZW1lLT5wYWludEJ1dHRvbigmY29u
dGV4dCwgbV9zY3JvbGxiYXIsIGJhY2tCdXR0b25TdGFydFBhaW50UmVjdCwgQmFja0J1dHRvblN0
YXJ0UGFydCk7CisgICAgICAgIGlmIChtX2dlb21ldHJ5Lmhhc0J1dHRvbnMobV9zY3JvbGxiYXIp
KSB7CisgICAgICAgICAgICBXZWJSZWN0IGJhY2tCdXR0b25TdGFydFBhaW50UmVjdCA9IG1fZ2Vv
bWV0cnkuYmFja0J1dHRvblN0YXJ0UmVjdChtX3Njcm9sbGJhcik7CisgICAgICAgICAgICBtX3Bh
aW50ZXIucGFpbnRCYWNrQnV0dG9uU3RhcnQoY2FudmFzLCBtX3Njcm9sbGJhciwgYmFja0J1dHRv
blN0YXJ0UGFpbnRSZWN0KTsKIAotICAgICAgICAgICAgSW50UmVjdCBiYWNrQnV0dG9uRW5kUGFp
bnRSZWN0ID0gbV90aGVtZS0+YmFja0J1dHRvblJlY3QobV9zY3JvbGxiYXIsIEJhY2tCdXR0b25F
bmRQYXJ0LCB0cnVlKTsKLSAgICAgICAgICAgIG1fdGhlbWUtPnBhaW50QnV0dG9uKCZjb250ZXh0
LCBtX3Njcm9sbGJhciwgYmFja0J1dHRvbkVuZFBhaW50UmVjdCwgQmFja0J1dHRvbkVuZFBhcnQp
OworICAgICAgICAgICAgV2ViUmVjdCBiYWNrQnV0dG9uRW5kUGFpbnRSZWN0ID0gbV9nZW9tZXRy
eS5iYWNrQnV0dG9uRW5kUmVjdChtX3Njcm9sbGJhcik7CisgICAgICAgICAgICBtX3BhaW50ZXIu
cGFpbnRCYWNrQnV0dG9uRW5kKGNhbnZhcywgbV9zY3JvbGxiYXIsIGJhY2tCdXR0b25FbmRQYWlu
dFJlY3QpOwogCi0gICAgICAgICAgICBJbnRSZWN0IGZvcndhcmRCdXR0b25TdGFydFBhaW50UmVj
dCA9IG1fdGhlbWUtPmZvcndhcmRCdXR0b25SZWN0KG1fc2Nyb2xsYmFyLCBGb3J3YXJkQnV0dG9u
U3RhcnRQYXJ0LCB0cnVlKTsKLSAgICAgICAgICAgIG1fdGhlbWUtPnBhaW50QnV0dG9uKCZjb250
ZXh0LCBtX3Njcm9sbGJhciwgZm9yd2FyZEJ1dHRvblN0YXJ0UGFpbnRSZWN0LCBGb3J3YXJkQnV0
dG9uU3RhcnRQYXJ0KTsKKyAgICAgICAgICAgIFdlYlJlY3QgZm9yd2FyZEJ1dHRvblN0YXJ0UGFp
bnRSZWN0ID0gbV9nZW9tZXRyeS5mb3J3YXJkQnV0dG9uU3RhcnRSZWN0KG1fc2Nyb2xsYmFyKTsK
KyAgICAgICAgICAgIG1fcGFpbnRlci5wYWludEZvcndhcmRCdXR0b25TdGFydChjYW52YXMsIG1f
c2Nyb2xsYmFyLCBmb3J3YXJkQnV0dG9uU3RhcnRQYWludFJlY3QpOwogCi0gICAgICAgICAgICBJ
bnRSZWN0IGZvcndhcmRCdXR0b25FbmRQYWludFJlY3QgPSBtX3RoZW1lLT5mb3J3YXJkQnV0dG9u
UmVjdChtX3Njcm9sbGJhciwgRm9yd2FyZEJ1dHRvbkVuZFBhcnQsIHRydWUpOwotICAgICAgICAg
ICAgbV90aGVtZS0+cGFpbnRCdXR0b24oJmNvbnRleHQsIG1fc2Nyb2xsYmFyLCBmb3J3YXJkQnV0
dG9uRW5kUGFpbnRSZWN0LCBGb3J3YXJkQnV0dG9uRW5kUGFydCk7CisgICAgICAgICAgICBXZWJS
ZWN0IGZvcndhcmRCdXR0b25FbmRQYWludFJlY3QgPSBtX2dlb21ldHJ5LmZvcndhcmRCdXR0b25F
bmRSZWN0KG1fc2Nyb2xsYmFyKTsKKyAgICAgICAgICAgIG1fcGFpbnRlci5wYWludEZvcndhcmRC
dXR0b25FbmQoY2FudmFzLCBtX3Njcm9sbGJhciwgZm9yd2FyZEJ1dHRvbkVuZFBhaW50UmVjdCk7
CiAgICAgICAgIH0KIAotICAgICAgICBJbnRSZWN0IHRyYWNrUGFpbnRSZWN0ID0gbV90aGVtZS0+
dHJhY2tSZWN0KG1fc2Nyb2xsYmFyLCB0cnVlKTsKLSAgICAgICAgbV90aGVtZS0+cGFpbnRUcmFj
a0JhY2tncm91bmQoJmNvbnRleHQsIG1fc2Nyb2xsYmFyLCB0cmFja1BhaW50UmVjdCk7CisgICAg
ICAgIFdlYlJlY3QgdHJhY2tQYWludFJlY3QgPSBtX2dlb21ldHJ5LnRyYWNrUmVjdChtX3Njcm9s
bGJhcik7CisgICAgICAgIG1fcGFpbnRlci5wYWludFRyYWNrQmFja2dyb3VuZChjYW52YXMsIG1f
c2Nyb2xsYmFyLCB0cmFja1BhaW50UmVjdCk7CiAKLSAgICAgICAgYm9vbCB0aHVtYlByZXNlbnQg
PSBtX3RoZW1lLT5oYXNUaHVtYihtX3Njcm9sbGJhcik7Ci0gICAgICAgIGlmICh0aHVtYlByZXNl
bnQpCi0gICAgICAgICAgICBtX3RoZW1lLT5wYWludFRyYWNrUGllY2UoJmNvbnRleHQsIG1fc2Ny
b2xsYmFyLCB0cmFja1BhaW50UmVjdCwgbV90cmFja1BhcnQpOworICAgICAgICBib29sIHRodW1i
UHJlc2VudCA9IG1fZ2VvbWV0cnkuaGFzVGh1bWIobV9zY3JvbGxiYXIpOworICAgICAgICBpZiAo
dGh1bWJQcmVzZW50KSB7CisgICAgICAgICAgICBpZiAobV90cmFja1BhcnQgPT0gRm9yd2FyZFRy
YWNrUGFydCkKKyAgICAgICAgICAgICAgICBtX3BhaW50ZXIucGFpbnRGb3J3YXJkVHJhY2tQYXJ0
KGNhbnZhcywgbV9zY3JvbGxiYXIsIHRyYWNrUGFpbnRSZWN0KTsKKyAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICBtX3BhaW50ZXIucGFpbnRCYWNrVHJhY2tQYXJ0KGNhbnZhcywgbV9z
Y3JvbGxiYXIsIHRyYWNrUGFpbnRSZWN0KTsKKyAgICAgICAgfQogCi0gICAgICAgIG1fdGhlbWUt
PnBhaW50VGlja21hcmtzKCZjb250ZXh0LCBtX3Njcm9sbGJhciwgdHJhY2tQYWludFJlY3QpOwor
ICAgICAgICBtX3BhaW50ZXIucGFpbnRUaWNrbWFya3MoY2FudmFzLCBtX3Njcm9sbGJhciwgdHJh
Y2tQYWludFJlY3QpOwogICAgIH0KIHByaXZhdGU6Ci0gICAgU2Nyb2xsYmFyQmFja2dyb3VuZFBh
aW50ZXIoU2Nyb2xsYmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhciwgU2Nyb2xsYmFyVGhlbWVDb21w
b3NpdGUqIHRoZW1lLCBTY3JvbGxiYXJQYXJ0IHRyYWNrUGFydCkKKyAgICBTY3JvbGxiYXJCYWNr
Z3JvdW5kUGFpbnRlcihXZWJLaXQ6OldlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBXZWJLaXQ6Oldl
YlNjcm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVyLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1l
R2VvbWV0cnkgZ2VvbWV0cnksIFNjcm9sbGJhclBhcnQgdHJhY2tQYXJ0KQogICAgICAgICA6IG1f
c2Nyb2xsYmFyKHNjcm9sbGJhcikKLSAgICAgICAgLCBtX3RoZW1lKHRoZW1lKQorICAgICAgICAs
IG1fcGFpbnRlcihwYWludGVyKQorICAgICAgICAsIG1fZ2VvbWV0cnkoZ2VvbWV0cnkpCiAgICAg
ICAgICwgbV90cmFja1BhcnQodHJhY2tQYXJ0KQogICAgIHsKICAgICB9CiAKLSAgICBTY3JvbGxi
YXJUaGVtZUNsaWVudCogbV9zY3JvbGxiYXI7Ci0gICAgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUq
IG1fdGhlbWU7CisgICAgV2ViS2l0OjpXZWJTY3JvbGxiYXIqIG1fc2Nyb2xsYmFyOworICAgIFdl
YktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIG1fcGFpbnRlcjsKKyAgICBXZWJLaXQ6Oldl
YlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgbV9nZW9tZXRyeTsKICAgICBTY3JvbGxiYXJQYXJ0IG1f
dHJhY2tQYXJ0OwogfTsKIAogY2xhc3MgU2Nyb2xsYmFyVGh1bWJQYWludGVyIDogcHVibGljIExh
eWVyUGFpbnRlckNocm9taXVtIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JvbGxiYXJU
aHVtYlBhaW50ZXIpOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFNjcm9sbGJhclRo
dW1iUGFpbnRlcj4gY3JlYXRlKFNjcm9sbGJhclRoZW1lQ2xpZW50KiBzY3JvbGxiYXIsIFNjcm9s
bGJhclRoZW1lQ29tcG9zaXRlKiB0aGVtZSkKKyAgICBzdGF0aWMgUGFzc093blB0cjxTY3JvbGxi
YXJUaHVtYlBhaW50ZXI+IGNyZWF0ZShXZWJLaXQ6OldlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBX
ZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVyLCBXZWJLaXQ6OldlYlNjcm9s
bGJhclRoZW1lR2VvbWV0cnkgZ2VvbWV0cnkpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRQ
dHIobmV3IFNjcm9sbGJhclRodW1iUGFpbnRlcihzY3JvbGxiYXIsIHRoZW1lKSk7CisgICAgICAg
IHJldHVybiBhZG9wdFB0cihuZXcgU2Nyb2xsYmFyVGh1bWJQYWludGVyKHNjcm9sbGJhciwgcGFp
bnRlciwgZ2VvbWV0cnkpKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoU2tDYW52
YXMqIGNhbnZhcywgY29uc3QgSW50UmVjdCYgY29udGVudFJlY3QsIEZsb2F0UmVjdCYgb3BhcXVl
KSBPVkVSUklERQorICAgIHZpcnR1YWwgdm9pZCBwYWludChTa0NhbnZhcyogc2tDYW52YXMsIGNv
bnN0IEludFJlY3QmIGNvbnRlbnRSZWN0LCBGbG9hdFJlY3QmIG9wYXF1ZSkgT1ZFUlJJREUKICAg
ICB7Ci0gICAgICAgIFBsYXRmb3JtQ29udGV4dFNraWEgcGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7
Ci0gICAgICAgIHBsYXRmb3JtQ29udGV4dC5zZXREcmF3aW5nVG9JbWFnZUJ1ZmZlcih0cnVlKTsK
LSAgICAgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAg
ICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMgPSBza0NhbnZhczsKIAogICAgICAgICAvLyBD
b25zaWRlciB0aGUgdGh1bWIgdG8gYmUgYXQgdGhlIG9yaWdpbiB3aGVuIHBhaW50aW5nLgotICAg
ICAgICBJbnRSZWN0IHRodW1iUmVjdCA9IEludFJlY3QoSW50UG9pbnQoKSwgbV90aGVtZS0+dGh1
bWJSZWN0KG1fc2Nyb2xsYmFyKS5zaXplKCkpOwotICAgICAgICBtX3RoZW1lLT5wYWludFRodW1i
KCZjb250ZXh0LCBtX3Njcm9sbGJhciwgdGh1bWJSZWN0KTsKKyAgICAgICAgV2ViUmVjdCB0aHVt
YlJlY3QgPSBtX2dlb21ldHJ5LnRodW1iUmVjdChtX3Njcm9sbGJhcik7CisgICAgICAgIHRodW1i
UmVjdC54ID0gMDsKKyAgICAgICAgdGh1bWJSZWN0LnkgPSAwOworICAgICAgICBtX3BhaW50ZXIu
cGFpbnRUaHVtYihjYW52YXMsIG1fc2Nyb2xsYmFyLCB0aHVtYlJlY3QpOwogICAgIH0KIAogcHJp
dmF0ZToKLSAgICBTY3JvbGxiYXJUaHVtYlBhaW50ZXIoU2Nyb2xsYmFyVGhlbWVDbGllbnQqIHNj
cm9sbGJhciwgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIHRoZW1lKQorICAgIFNjcm9sbGJhclRo
dW1iUGFpbnRlcihXZWJLaXQ6OldlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBXZWJLaXQ6OldlYlNj
cm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVyLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2Vv
bWV0cnkgZ2VvbWV0cnkpCiAgICAgICAgIDogbV9zY3JvbGxiYXIoc2Nyb2xsYmFyKQotICAgICAg
ICAsIG1fdGhlbWUodGhlbWUpCisgICAgICAgICwgbV9wYWludGVyKHBhaW50ZXIpCisgICAgICAg
ICwgbV9nZW9tZXRyeShnZW9tZXRyeSkKICAgICB7CiAgICAgfQogCi0gICAgU2Nyb2xsYmFyVGhl
bWVDbGllbnQqIG1fc2Nyb2xsYmFyOwotICAgIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKiBtX3Ro
ZW1lOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyKiBtX3Njcm9sbGJhcjsKKyAgICBXZWJLaXQ6
OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBtX3BhaW50ZXI7CisgICAgV2ViS2l0OjpXZWJTY3Jv
bGxiYXJUaGVtZUdlb21ldHJ5IG1fZ2VvbWV0cnk7CiB9OwogCiB2b2lkIFNjcm9sbGJhckxheWVy
Q2hyb21pdW06OnNldExheWVyVHJlZUhvc3QoQ0NMYXllclRyZWVIb3N0KiBob3N0KQpAQCAtMjA5
LDIwICsxOTIsMjAgQEAgdm9pZCBTY3JvbGxiYXJMYXllckNocm9taXVtOjpjcmVhdGVUZXh0dXJl
VXBkYXRlcklmTmVlZGVkKCkKICAgICBtX3RleHR1cmVGb3JtYXQgPSBsYXllclRyZWVIb3N0KCkt
PmxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMoKS5iZXN0VGV4dHVyZUZvcm1hdDsKIAogICAgIGlm
ICghbV9iYWNrVHJhY2tVcGRhdGVyKQotICAgICAgICBtX2JhY2tUcmFja1VwZGF0ZXIgPSBCaXRt
YXBDYW52YXNMYXllclRleHR1cmVVcGRhdGVyOjpjcmVhdGUoU2Nyb2xsYmFyQmFja2dyb3VuZFBh
aW50ZXI6OmNyZWF0ZShtX3Njcm9sbGJhci5nZXQoKSwgdGhlbWUoKSwgQmFja1RyYWNrUGFydCks
IHVzZU1hcFN1YkltYWdlKTsKKyAgICAgICAgbV9iYWNrVHJhY2tVcGRhdGVyID0gQml0bWFwQ2Fu
dmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6Y3JlYXRlKFNjcm9sbGJhckJhY2tncm91bmRQYWludGVy
OjpjcmVhdGUobV9zY3JvbGxiYXIuZ2V0KCksIG1fcGFpbnRlciwgbV9nZW9tZXRyeSwgQmFja1Ry
YWNrUGFydCksIHVzZU1hcFN1YkltYWdlKTsKICAgICBpZiAoIW1fYmFja1RyYWNrKQogICAgICAg
ICBtX2JhY2tUcmFjayA9IG1fYmFja1RyYWNrVXBkYXRlci0+Y3JlYXRlVGV4dHVyZShsYXllclRy
ZWVIb3N0KCktPmNvbnRlbnRzVGV4dHVyZU1hbmFnZXIoKSk7CiAKICAgICAvLyBPbmx5IGNyZWF0
ZSB0d28tcGFydCB0cmFjayBpZiB3ZSB0aGluayB0aGUgdHdvIHBhcnRzIGNvdWxkIGJlIGRpZmZl
cmVudCBpbiBhcHBlYXJhbmNlLgogICAgIGlmIChtX3Njcm9sbGJhci0+aXNDdXN0b21TY3JvbGxi
YXIoKSkgewogICAgICAgICBpZiAoIW1fZm9yZVRyYWNrVXBkYXRlcikKLSAgICAgICAgICAgIG1f
Zm9yZVRyYWNrVXBkYXRlciA9IEJpdG1hcENhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6OmNyZWF0
ZShTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcjo6Y3JlYXRlKG1fc2Nyb2xsYmFyLmdldCgpLCB0
aGVtZSgpLCBGb3J3YXJkVHJhY2tQYXJ0KSwgdXNlTWFwU3ViSW1hZ2UpOworICAgICAgICAgICAg
bV9mb3JlVHJhY2tVcGRhdGVyID0gQml0bWFwQ2FudmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6Y3Jl
YXRlKFNjcm9sbGJhckJhY2tncm91bmRQYWludGVyOjpjcmVhdGUobV9zY3JvbGxiYXIuZ2V0KCks
IG1fcGFpbnRlciwgbV9nZW9tZXRyeSwgRm9yd2FyZFRyYWNrUGFydCksIHVzZU1hcFN1YkltYWdl
KTsKICAgICAgICAgaWYgKCFtX2ZvcmVUcmFjaykKICAgICAgICAgICAgIG1fZm9yZVRyYWNrID0g
bV9mb3JlVHJhY2tVcGRhdGVyLT5jcmVhdGVUZXh0dXJlKGxheWVyVHJlZUhvc3QoKS0+Y29udGVu
dHNUZXh0dXJlTWFuYWdlcigpKTsKICAgICB9CiAKICAgICBpZiAoIW1fdGh1bWJVcGRhdGVyKQot
ICAgICAgICBtX3RodW1iVXBkYXRlciA9IEJpdG1hcENhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6
OmNyZWF0ZShTY3JvbGxiYXJUaHVtYlBhaW50ZXI6OmNyZWF0ZShtX3Njcm9sbGJhci5nZXQoKSwg
dGhlbWUoKSksIHVzZU1hcFN1YkltYWdlKTsKKyAgICAgICAgbV90aHVtYlVwZGF0ZXIgPSBCaXRt
YXBDYW52YXNMYXllclRleHR1cmVVcGRhdGVyOjpjcmVhdGUoU2Nyb2xsYmFyVGh1bWJQYWludGVy
OjpjcmVhdGUobV9zY3JvbGxiYXIuZ2V0KCksIG1fcGFpbnRlciwgbV9nZW9tZXRyeSksIHVzZU1h
cFN1YkltYWdlKTsKICAgICBpZiAoIW1fdGh1bWIpCiAgICAgICAgIG1fdGh1bWIgPSBtX3RodW1i
VXBkYXRlci0+Y3JlYXRlVGV4dHVyZShsYXllclRyZWVIb3N0KCktPmNvbnRlbnRzVGV4dHVyZU1h
bmFnZXIoKSk7CiB9CkBAIC0yNjcsNyArMjUwLDcgQEAgdm9pZCBTY3JvbGxiYXJMYXllckNocm9t
aXVtOjpzZXRUZXh0dXJlUHJpb3JpdGllcyhjb25zdCBDQ1ByaW9yaXR5Q2FsY3VsYXRvciYpCiAg
ICAgICAgIG1fZm9yZVRyYWNrLT50ZXh0dXJlKCktPnNldFJlcXVlc3RQcmlvcml0eShDQ1ByaW9y
aXR5Q2FsY3VsYXRvcjo6dWlQcmlvcml0eSgpKTsKICAgICB9CiAgICAgaWYgKG1fdGh1bWIpIHsK
LSAgICAgICAgSW50U2l6ZSB0aHVtYlNpemUgPSB0aGVtZSgpLT50aHVtYlJlY3QobV9zY3JvbGxi
YXIuZ2V0KCkpLnNpemUoKTsKKyAgICAgICAgSW50U2l6ZSB0aHVtYlNpemUgPSBJbnRSZWN0KG1f
Z2VvbWV0cnkudGh1bWJSZWN0KG1fc2Nyb2xsYmFyLmdldCgpKSkuc2l6ZSgpOwogICAgICAgICBt
X3RodW1iLT50ZXh0dXJlKCktPnNldERpbWVuc2lvbnModGh1bWJTaXplLCBtX3RleHR1cmVGb3Jt
YXQpOwogICAgICAgICBtX3RodW1iLT50ZXh0dXJlKCktPnNldFJlcXVlc3RQcmlvcml0eShDQ1By
aW9yaXR5Q2FsY3VsYXRvcjo6dWlQcmlvcml0eSgpKTsKICAgICB9CkBAIC0yODAsMTQgKzI2Mywx
NCBAQCB2b2lkIFNjcm9sbGJhckxheWVyQ2hyb21pdW06OnVwZGF0ZShDQ1RleHR1cmVVcGRhdGVy
JiB1cGRhdGVyLCBjb25zdCBDQ09jY2x1c2lvbgogCiAgICAgY3JlYXRlVGV4dHVyZVVwZGF0ZXJJ
Zk5lZWRlZCgpOwogCi0gICAgSW50UG9pbnQgc2Nyb2xsYmFyT3JpZ2luKG1fc2Nyb2xsYmFyLT54
KCksIG1fc2Nyb2xsYmFyLT55KCkpOworICAgIEludFBvaW50IHNjcm9sbGJhck9yaWdpbihtX3Nj
cm9sbGJhci0+bG9jYXRpb24oKSk7CiAgICAgSW50UmVjdCBjb250ZW50UmVjdChzY3JvbGxiYXJP
cmlnaW4sIGNvbnRlbnRCb3VuZHMoKSk7CiAgICAgdXBkYXRlUGFydChtX2JhY2tUcmFja1VwZGF0
ZXIuZ2V0KCksIG1fYmFja1RyYWNrLmdldCgpLCBjb250ZW50UmVjdCwgdXBkYXRlcik7CiAgICAg
aWYgKG1fZm9yZVRyYWNrICYmIG1fZm9yZVRyYWNrVXBkYXRlcikKICAgICAgICAgdXBkYXRlUGFy
dChtX2ZvcmVUcmFja1VwZGF0ZXIuZ2V0KCksIG1fZm9yZVRyYWNrLmdldCgpLCBjb250ZW50UmVj
dCwgdXBkYXRlcik7CiAKICAgICAvLyBDb25zaWRlciB0aGUgdGh1bWIgdG8gYmUgYXQgdGhlIG9y
aWdpbiB3aGVuIHBhaW50aW5nLgotICAgIEludFJlY3QgdGh1bWJSZWN0ID0gSW50UmVjdChJbnRQ
b2ludCgpLCB0aGVtZSgpLT50aHVtYlJlY3QobV9zY3JvbGxiYXIuZ2V0KCkpLnNpemUoKSk7Cisg
ICAgSW50UmVjdCB0aHVtYlJlY3QgPSBJbnRSZWN0KEludFBvaW50KCksIEludFJlY3QobV9nZW9t
ZXRyeS50aHVtYlJlY3QobV9zY3JvbGxiYXIuZ2V0KCkpKS5zaXplKCkpOwogICAgIGlmICghdGh1
bWJSZWN0LmlzRW1wdHkoKSkKICAgICAgICAgdXBkYXRlUGFydChtX3RodW1iVXBkYXRlci5nZXQo
KSwgbV90aHVtYi5nZXQoKSwgdGh1bWJSZWN0LCB1cGRhdGVyKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Njcm9sbGJhckxheWVyQ2hy
b21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Njcm9s
bGJhckxheWVyQ2hyb21pdW0uaAppbmRleCAwYThhMmExM2I3MzFjZTc4MDA0ZjA1ZDZkOThiYWI4
ZTBjYzhjZjk0Li4wNjJmNDcyYTJiZTE2MmZmYWQ5ZjhiYzk1YThlMzhmZGQzYjJhMWQyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TY3JvbGxi
YXJMYXllckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5oCkBAIC0zMCw3ICszMCw5IEBACiAKICNp
bmNsdWRlICJMYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSAiTGF5ZXJUZXh0dXJlVXBkYXRlci5o
IgotI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJh
ci5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Lmg+CisjaW5j
bHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTQxLDcgKzQzLDcgQEAgY2xhc3MgQ0NUZXh0dXJlVXBkYXRlcjsKIGNsYXNz
IFNjcm9sbGJhckxheWVyQ2hyb21pdW0gOiBwdWJsaWMgTGF5ZXJDaHJvbWl1bSB7CiBwdWJsaWM6
CiAgICAgdmlydHVhbCBQYXNzT3duUHRyPENDTGF5ZXJJbXBsPiBjcmVhdGVDQ0xheWVySW1wbCgp
OwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGJhckxheWVyQ2hyb21pdW0+IGNyZWF0ZShT
Y3JvbGxiYXIqLCBpbnQgc2Nyb2xsTGF5ZXJJZCk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2Ny
b2xsYmFyTGF5ZXJDaHJvbWl1bT4gY3JlYXRlKFBhc3NPd25QdHI8V2ViS2l0OjpXZWJTY3JvbGxi
YXI+LCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciwgV2ViS2l0OjpXZWJTY3JvbGxi
YXJUaGVtZUdlb21ldHJ5LCBpbnQgc2Nyb2xsTGF5ZXJJZCk7CiAKICAgICAvLyBMYXllckNocm9t
aXVtIGludGVyZmFjZQogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0dXJlUHJpb3JpdGllcyhjb25z
dCBDQ1ByaW9yaXR5Q2FsY3VsYXRvciYpIE9WRVJSSURFOwpAQCAtNTUsMTQgKzU3LDE1IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIFNjcm9sbGJhckxheWVyQ2hyb21pdW0qIHRvU2Nyb2xsYmFyTGF5
ZXJDaHJvbWl1bSgpIHsgcmV0dXJuIHRoaXM7IH0KIAogcHJvdGVjdGVkOgotICAgIFNjcm9sbGJh
ckxheWVyQ2hyb21pdW0oU2Nyb2xsYmFyKiwgaW50IHNjcm9sbExheWVySWQpOworICAgIFNjcm9s
bGJhckxheWVyQ2hyb21pdW0oUGFzc093blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhcj4sIFdlYktp
dDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2Vv
bWV0cnksIGludCBzY3JvbGxMYXllcklkKTsKIAogcHJpdmF0ZToKLSAgICBTY3JvbGxiYXJUaGVt
ZUNvbXBvc2l0ZSogdGhlbWUoKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVBhcnQoTGF5ZXJUZXh0
dXJlVXBkYXRlciosIExheWVyVGV4dHVyZVVwZGF0ZXI6OlRleHR1cmUqLCBjb25zdCBJbnRSZWN0
JiwgQ0NUZXh0dXJlVXBkYXRlciYpOwogICAgIHZvaWQgY3JlYXRlVGV4dHVyZVVwZGF0ZXJJZk5l
ZWRlZCgpOwogCi0gICAgUmVmUHRyPFNjcm9sbGJhcj4gbV9zY3JvbGxiYXI7CisgICAgT3duUHRy
PFdlYktpdDo6V2ViU2Nyb2xsYmFyPiBtX3Njcm9sbGJhcjsKKyAgICBXZWJLaXQ6OldlYlNjcm9s
bGJhclRoZW1lUGFpbnRlciBtX3BhaW50ZXI7CisgICAgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZUdlb21ldHJ5IG1fZ2VvbWV0cnk7CiAgICAgaW50IG1fc2Nyb2xsTGF5ZXJJZDsKIAogICAgIEdD
M0RlbnVtIG1fdGV4dHVyZUZvcm1hdDsKQEAgLTc1LDE0ICs3OCw2IEBAIHByaXZhdGU6CiAgICAg
T3duUHRyPExheWVyVGV4dHVyZVVwZGF0ZXI6OlRleHR1cmU+IG1fYmFja1RyYWNrOwogICAgIE93
blB0cjxMYXllclRleHR1cmVVcGRhdGVyOjpUZXh0dXJlPiBtX2ZvcmVUcmFjazsKICAgICBPd25Q
dHI8TGF5ZXJUZXh0dXJlVXBkYXRlcjo6VGV4dHVyZT4gbV90aHVtYjsKLQotICAgIFNjcm9sbGJh
ck92ZXJsYXlTdHlsZSBtX3Njcm9sbGJhck92ZXJsYXlTdHlsZTsKLSAgICBib29sIG1faXNTY3Jv
bGxhYmxlQXJlYUFjdGl2ZTsKLSAgICBib29sIG1faXNTY3JvbGxWaWV3U2Nyb2xsYmFyOwotCi0g
ICAgU2Nyb2xsYmFyT3JpZW50YXRpb24gbV9vcmllbnRhdGlvbjsKLQotICAgIFNjcm9sbGJhckNv
bnRyb2xTaXplIG1fY29udHJvbFNpemU7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9s
bGJhckxheWVySW1wbC5jcHAKaW5kZXggZjM4ZmJkYTAxZjY2ZTM4MDYxZDEwNmZiYzBiYzFjMDQz
NjI4MDMxOS4uYTFlZmU4NDJjZTllOGRjMWU4Y2EwMzVkMTM1NzcwYWY4ODZiMzliMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3Jv
bGxiYXJMYXllckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmNwcApAQCAtMjksMTEgKzI5LDEyIEBA
CiAKICNpbmNsdWRlICJDQ1Njcm9sbGJhckxheWVySW1wbC5oIgogCi0jaW5jbHVkZSAiU2Nyb2xs
YmFyVGhlbWUuaCIKLSNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS5oIgogI2luY2x1
ZGUgImNjL0NDUXVhZEN1bGxlci5oIgogI2luY2x1ZGUgImNjL0NDVGV4dHVyZURyYXdRdWFkLmgi
CiAKK3VzaW5nIFdlYktpdDo6V2ViUmVjdDsKK3VzaW5nIFdlYktpdDo6V2ViU2Nyb2xsYmFyOwor
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NPd25QdHI8Q0NTY3JvbGxiYXJMYXllckltcGw+
IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpjcmVhdGUoaW50IGlkKQpAQCAtNDgsMzYgKzQ5LDU1IEBA
IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhckxheWVySW1wbChpbnQgaWQpCiAgICAg
LCBtX2JhY2tUcmFja1RleHR1cmVJZCgwKQogICAgICwgbV9mb3JlVHJhY2tUZXh0dXJlSWQoMCkK
ICAgICAsIG1fdGh1bWJUZXh0dXJlSWQoMCkKKyAgICAsIG1fc2Nyb2xsYmFyT3ZlcmxheVN0eWxl
KFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlRGVmYXVsdCkKKyAgICAsIG1fb3Jp
ZW50YXRpb24oV2ViU2Nyb2xsYmFyOjpIb3Jpem9udGFsKQorICAgICwgbV9jb250cm9sU2l6ZShX
ZWJTY3JvbGxiYXI6OlJlZ3VsYXJTY3JvbGxiYXIpCisgICAgLCBtX3ByZXNzZWRQYXJ0KFdlYlNj
cm9sbGJhcjo6Tm9QYXJ0KQorICAgICwgbV9ob3ZlcmVkUGFydChXZWJTY3JvbGxiYXI6Ok5vUGFy
dCkKKyAgICAsIG1faXNTY3JvbGxhYmxlQXJlYUFjdGl2ZShmYWxzZSkKKyAgICAsIG1faXNTY3Jv
bGxWaWV3U2Nyb2xsYmFyKGZhbHNlKQorICAgICwgbV9lbmFibGVkKGZhbHNlKQorICAgICwgbV9p
c0N1c3RvbVNjcm9sbGJhcihmYWxzZSkKKyAgICAsIG1faXNPdmVybGF5U2Nyb2xsYmFyKGZhbHNl
KQogewogfQogCi1uYW1lc3BhY2UgewotCi1GbG9hdFJlY3QgdG9VVlJlY3QoY29uc3QgSW50UmVj
dCYgciwgY29uc3QgSW50UmVjdCYgYm91bmRzKQordm9pZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6
c2V0U2Nyb2xsYmFyRGF0YShjb25zdCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgV2ViS2l0OjpX
ZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IGdlb21ldHJ5KQogewotICAgIEFTU0VSVChib3VuZHMu
Y29udGFpbnMocikpOwotICAgIHJldHVybiBGbG9hdFJlY3Qoc3RhdGljX2Nhc3Q8ZmxvYXQ+KHIu
eCgpKSAvIGJvdW5kcy53aWR0aCgpLCBzdGF0aWNfY2FzdDxmbG9hdD4oci55KCkpIC8gYm91bmRz
LmhlaWdodCgpLAotICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHIud2lk
dGgoKSkgLyBib3VuZHMud2lkdGgoKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHIuaGVpZ2h0KCkpIC8g
Ym91bmRzLmhlaWdodCgpKTsKKyAgICBtX2dlb21ldHJ5ID0gZ2VvbWV0cnk7CisKKyAgICBtX3Nj
cm9sbGJhck92ZXJsYXlTdHlsZSA9IHNjcm9sbGJhci0+c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCk7
CisgICAgbV9vcmllbnRhdGlvbiA9IHNjcm9sbGJhci0+b3JpZW50YXRpb24oKTsKKyAgICBtX2Nv
bnRyb2xTaXplID0gc2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpOworICAgIG1fcHJlc3NlZFBhcnQg
PSBzY3JvbGxiYXItPnByZXNzZWRQYXJ0KCk7CisgICAgbV9ob3ZlcmVkUGFydCA9IHNjcm9sbGJh
ci0+aG92ZXJlZFBhcnQoKTsKKyAgICBtX2lzU2Nyb2xsYWJsZUFyZWFBY3RpdmUgPSBzY3JvbGxi
YXItPmlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKTsKKyAgICBtX2lzU2Nyb2xsVmlld1Njcm9sbGJh
ciA9IHNjcm9sbGJhci0+aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCk7CisgICAgbV9lbmFibGVkID0g
c2Nyb2xsYmFyLT5lbmFibGVkKCk7CisgICAgbV9pc0N1c3RvbVNjcm9sbGJhciA9IHNjcm9sbGJh
ci0+aXNDdXN0b21TY3JvbGxiYXIoKTsKKyAgICBtX2lzT3ZlcmxheVNjcm9sbGJhciA9IHNjcm9s
bGJhci0+aXNPdmVybGF5KCk7CisKKyAgICBzY3JvbGxiYXItPmdldFRpY2ttYXJrcyhtX3RpY2tt
YXJrcyk7CiB9CiAKK3N0YXRpYyBGbG9hdFJlY3QgdG9VVlJlY3QoY29uc3QgV2ViUmVjdCYgciwg
Y29uc3QgV2ViUmVjdCYgYm91bmRzKQoreworICAgIHJldHVybiBGbG9hdFJlY3Qoc3RhdGljX2Nh
c3Q8ZmxvYXQ+KHIueCkgLyBib3VuZHMud2lkdGgsIHN0YXRpY19jYXN0PGZsb2F0PihyLnkpIC8g
Ym91bmRzLmhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGZsb2F0Pihy
LndpZHRoKSAvIGJvdW5kcy53aWR0aCwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHIuaGVpZ2h0KSAvIGJv
dW5kcy5oZWlnaHQpOwogfQogCiB2b2lkIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjphcHBlbmRRdWFk
cyhDQ1F1YWRDdWxsZXImIHF1YWRMaXN0LCBjb25zdCBDQ1NoYXJlZFF1YWRTdGF0ZSogc2hhcmVk
UXVhZFN0YXRlLCBib29sJikKIHsKLSAgICBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhlbWUg
PSBzdGF0aWNfY2FzdDxTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSo+KFNjcm9sbGJhclRoZW1lOjp0
aGVtZSgpKTsKLSAgICBpZiAoIXRoZW1lKQotICAgICAgICByZXR1cm47Ci0KICAgICBib29sIHBy
ZW11bHRpcGxlZEFscGhhID0gZmFsc2U7CiAgICAgYm9vbCBmbGlwcGVkID0gZmFsc2U7CiAgICAg
RmxvYXRSZWN0IHV2UmVjdCgwLCAwLCAxLCAxKTsKICAgICBJbnRSZWN0IGJvdW5kc1JlY3QoSW50
UG9pbnQoKSwgY29udGVudEJvdW5kcygpKTsKIAotICAgIEludFJlY3QgdGh1bWJSZWN0LCBiYWNr
VHJhY2tSZWN0LCBmb3JlVHJhY2tSZWN0OwotICAgIHRoZW1lLT5zcGxpdFRyYWNrKCZtX3Njcm9s
bGJhciwgdGhlbWUtPnRyYWNrUmVjdCgmbV9zY3JvbGxiYXIpLCBiYWNrVHJhY2tSZWN0LCB0aHVt
YlJlY3QsIGZvcmVUcmFja1JlY3QpOworICAgIFdlYlJlY3QgdGh1bWJSZWN0LCBiYWNrVHJhY2tS
ZWN0LCBmb3JlVHJhY2tSZWN0OworICAgIG1fZ2VvbWV0cnkuc3BsaXRUcmFjaygmbV9zY3JvbGxi
YXIsIG1fZ2VvbWV0cnkudHJhY2tSZWN0KCZtX3Njcm9sbGJhciksIGJhY2tUcmFja1JlY3QsIHRo
dW1iUmVjdCwgZm9yZVRyYWNrUmVjdCk7CiAKLSAgICBpZiAobV90aHVtYlRleHR1cmVJZCAmJiB0
aGVtZS0+aGFzVGh1bWIoJm1fc2Nyb2xsYmFyKSAmJiAhdGh1bWJSZWN0LmlzRW1wdHkoKSkgewot
ICAgICAgICBPd25QdHI8Q0NUZXh0dXJlRHJhd1F1YWQ+IHF1YWQgPSBDQ1RleHR1cmVEcmF3UXVh
ZDo6Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZSwgdGh1bWJSZWN0LCBtX3RodW1iVGV4dHVyZUlkLCBw
cmVtdWx0aXBsZWRBbHBoYSwgdXZSZWN0LCBmbGlwcGVkKTsKKyAgICBpZiAobV90aHVtYlRleHR1
cmVJZCAmJiBtX2dlb21ldHJ5Lmhhc1RodW1iKCZtX3Njcm9sbGJhcikgJiYgIXRodW1iUmVjdC5p
c0VtcHR5KCkpIHsKKyAgICAgICAgT3duUHRyPENDVGV4dHVyZURyYXdRdWFkPiBxdWFkID0gQ0NU
ZXh0dXJlRHJhd1F1YWQ6OmNyZWF0ZShzaGFyZWRRdWFkU3RhdGUsIEludFJlY3QodGh1bWJSZWN0
KSwgbV90aHVtYlRleHR1cmVJZCwgcHJlbXVsdGlwbGVkQWxwaGEsIHV2UmVjdCwgZmxpcHBlZCk7
CiAgICAgICAgIHF1YWQtPnNldE5lZWRzQmxlbmRpbmcoKTsKICAgICAgICAgcXVhZExpc3QuYXBw
ZW5kKHF1YWQucmVsZWFzZSgpKTsKICAgICB9CkBAIC04NywxMzAgKzEwNyw1MCBAQCB2b2lkIEND
U2Nyb2xsYmFyTGF5ZXJJbXBsOjphcHBlbmRRdWFkcyhDQ1F1YWRDdWxsZXImIHF1YWRMaXN0LCBj
b25zdCBDQ1NoYXJlZFF1YQogCiAgICAgLy8gV2Ugb25seSBwYWludCB0aGUgdHJhY2sgaW4gdHdv
IHBhcnRzIGlmIHdlIHdlcmUgZ2l2ZW4gYSB0ZXh0dXJlIGZvciB0aGUgZm9yd2FyZCB0cmFjayBw
YXJ0LgogICAgIGlmIChtX2ZvcmVUcmFja1RleHR1cmVJZCAmJiAhZm9yZVRyYWNrUmVjdC5pc0Vt
cHR5KCkpCi0gICAgICAgIHF1YWRMaXN0LmFwcGVuZChDQ1RleHR1cmVEcmF3UXVhZDo6Y3JlYXRl
KHNoYXJlZFF1YWRTdGF0ZSwgZm9yZVRyYWNrUmVjdCwgbV9mb3JlVHJhY2tUZXh0dXJlSWQsIHBy
ZW11bHRpcGxlZEFscGhhLCB0b1VWUmVjdChmb3JlVHJhY2tSZWN0LCBib3VuZHNSZWN0KSwgZmxp
cHBlZCkpOworICAgICAgICBxdWFkTGlzdC5hcHBlbmQoQ0NUZXh0dXJlRHJhd1F1YWQ6OmNyZWF0
ZShzaGFyZWRRdWFkU3RhdGUsIEludFJlY3QoZm9yZVRyYWNrUmVjdCksIG1fZm9yZVRyYWNrVGV4
dHVyZUlkLCBwcmVtdWx0aXBsZWRBbHBoYSwgdG9VVlJlY3QoZm9yZVRyYWNrUmVjdCwgYm91bmRz
UmVjdCksIGZsaXBwZWQpKTsKIAogICAgIC8vIE9yZGVyIG1hdHRlcnMgaGVyZTogc2luY2UgdGhl
IGJhY2sgdHJhY2sgdGV4dHVyZSBpcyBiZWluZyBkcmF3biB0byB0aGUgZW50aXJlIGNvbnRlbnRz
IHJlY3QsIHdlIG11c3QgYXBwZW5kIGl0IGFmdGVyIHRoZSB0aHVtYiBhbmQKICAgICAvLyBmb3Jl
IHRyYWNrIHF1YWRzLiBUaGUgYmFjayB0cmFjayB0ZXh0dXJlIGNvbnRhaW5zIChhbmQgZGlzcGxh
eXMpIHRoZSBidXR0b25zLgogICAgIGlmICghYm91bmRzUmVjdC5pc0VtcHR5KCkpCi0gICAgICAg
IHF1YWRMaXN0LmFwcGVuZChDQ1RleHR1cmVEcmF3UXVhZDo6Y3JlYXRlKHNoYXJlZFF1YWRTdGF0
ZSwgYm91bmRzUmVjdCwgbV9iYWNrVHJhY2tUZXh0dXJlSWQsIHByZW11bHRpcGxlZEFscGhhLCB1
dlJlY3QsIGZsaXBwZWQpKTsKLX0KLQotCi1pbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Ny
b2xsYmFyOjp4KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZnJhbWVSZWN0KCkueCgpOwotfQotCi1p
bnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjp5KCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gZnJhbWVSZWN0KCkueSgpOwotfQotCi1pbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkND
U2Nyb2xsYmFyOjp3aWR0aCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZyYW1lUmVjdCgpLndpZHRo
KCk7Ci19Ci0KLWludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmhlaWdodCgp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZyYW1lUmVjdCgpLmhlaWdodCgpOwotfQotCi1JbnRTaXpl
IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6c2l6ZSgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIGZyYW1lUmVjdCgpLnNpemUoKTsKLX0KLQotSW50UG9pbnQgQ0NTY3JvbGxiYXJMYXll
ckltcGw6OkNDU2Nyb2xsYmFyOjpsb2NhdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZyYW1l
UmVjdCgpLmxvY2F0aW9uKCk7Ci19Ci0KLVNjcm9sbFZpZXcqIENDU2Nyb2xsYmFyTGF5ZXJJbXBs
OjpDQ1Njcm9sbGJhcjo6cGFyZW50KCkgY29uc3QKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLSAgICByZXR1cm4gMDsKLX0KLQotU2Nyb2xsVmlldyogQ0NTY3JvbGxiYXJMYXllckltcGw6
OkNDU2Nyb2xsYmFyOjpyb290KCkgY29uc3QKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
LSAgICByZXR1cm4gMDsKLX0KLQotdm9pZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxi
YXI6OnNldEZyYW1lUmVjdChjb25zdCBJbnRSZWN0JikKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLX0KLQotSW50UmVjdCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmZy
YW1lUmVjdCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQoKSwgbV9vd25l
ci0+Y29udGVudEJvdW5kcygpKTsKLX0KLQotdm9pZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NT
Y3JvbGxiYXI6OmludmFsaWRhdGUoKQotewotICAgIGludmFsaWRhdGVSZWN0KGZyYW1lUmVjdCgp
KTsKLX0KLQotdm9pZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmludmFsaWRh
dGVSZWN0KGNvbnN0IEludFJlY3QmKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQot
Ci1TY3JvbGxiYXJPdmVybGF5U3R5bGUgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFy
OjpzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdAotewotICAgIHJldHVybiBtX293bmVyLT5t
X3Njcm9sbGJhck92ZXJsYXlTdHlsZTsKLX0KLQotdm9pZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6
Q0NTY3JvbGxiYXI6OmdldFRpY2ttYXJrcyhWZWN0b3I8SW50UmVjdD4mIHRpY2ttYXJrcykgY29u
c3QKLXsKLSAgICB0aWNrbWFya3MgPSBtX293bmVyLT5tX3RpY2ttYXJrczsKKyAgICAgICAgcXVh
ZExpc3QuYXBwZW5kKENDVGV4dHVyZURyYXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBJ
bnRSZWN0KGJvdW5kc1JlY3QpLCBtX2JhY2tUcmFja1RleHR1cmVJZCwgcHJlbXVsdGlwbGVkQWxw
aGEsIHV2UmVjdCwgZmxpcHBlZCkpOwogfQogCi1ib29sIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpD
Q1Njcm9sbGJhcjo6aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgpIGNvbnN0Citib29sIENDU2Nyb2xs
YmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aXNPdmVybGF5KCkgY29uc3QKIHsKLSAgICByZXR1
cm4gbV9vd25lci0+bV9pc1Njcm9sbGFibGVBcmVhQWN0aXZlOworICAgIHJldHVybiBtX293bmVy
LT5tX2lzT3ZlcmxheVNjcm9sbGJhcjsKIH0KIAotYm9vbCBDQ1Njcm9sbGJhckxheWVySW1wbDo6
Q0NTY3JvbGxiYXI6OmlzU2Nyb2xsVmlld1Njcm9sbGJhcigpIGNvbnN0CitpbnQgQ0NTY3JvbGxi
YXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjp2YWx1ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1f
b3duZXItPm1faXNTY3JvbGxWaWV3U2Nyb2xsYmFyOworICAgIGlmICghbV9vd25lci0+bV9zY3Jv
bGxMYXllcikKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKG9yaWVudGF0aW9uKCkgPT0gV2Vi
U2Nyb2xsYmFyOjpIb3Jpem9udGFsKQorICAgICAgICByZXR1cm4gbV9vd25lci0+bV9zY3JvbGxM
YXllci0+c2Nyb2xsUG9zaXRpb24oKS54KCkgKyBtX293bmVyLT5tX3Njcm9sbExheWVyLT5zY3Jv
bGxEZWx0YSgpLndpZHRoKCk7CisgICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXItPnNj
cm9sbFBvc2l0aW9uKCkueSgpICsgbV9vd25lci0+bV9zY3JvbGxMYXllci0+c2Nyb2xsRGVsdGEo
KS5oZWlnaHQoKTsKIH0KIAotSW50UG9pbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xs
YmFyOjpjb252ZXJ0RnJvbUNvbnRhaW5pbmdXaW5kb3coY29uc3QgSW50UG9pbnQmIHdpbmRvd1Bv
aW50KQorV2ViS2l0OjpXZWJQb2ludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6
OmxvY2F0aW9uKCkgY29uc3QKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1
cm4gd2luZG93UG9pbnQ7CisgICAgcmV0dXJuIFdlYktpdDo6V2ViUG9pbnQoKTsKIH0KIAotYm9v
bCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmlzQ3VzdG9tU2Nyb2xsYmFyKCkg
Y29uc3QKK1dlYktpdDo6V2ViU2l6ZSBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6
OnNpemUoKSBjb25zdAogewotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gbV9vd25lci0+
Y29udGVudEJvdW5kcygpOwogfQogCi1TY3JvbGxiYXJPcmllbnRhdGlvbiBDQ1Njcm9sbGJhckxh
eWVySW1wbDo6Q0NTY3JvbGxiYXI6Om9yaWVudGF0aW9uKCkgY29uc3QKK2Jvb2wgQ0NTY3JvbGxi
YXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjplbmFibGVkKCkgY29uc3QKIHsKLSAgICByZXR1cm4g
bV9vd25lci0+bV9vcmllbnRhdGlvbjsKKyAgICByZXR1cm4gbV9vd25lci0+bV9lbmFibGVkOwog
fQogCi1pbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjp2YWx1ZSgpIGNvbnN0
CitpbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjptYXhpbXVtKCkgY29uc3QK
IHsKICAgICBpZiAoIW1fb3duZXItPm1fc2Nyb2xsTGF5ZXIpCiAgICAgICAgIHJldHVybiAwOwot
ICAgIGlmIChvcmllbnRhdGlvbigpID09IEhvcml6b250YWxTY3JvbGxiYXIpCi0gICAgICAgIHJl
dHVybiBtX293bmVyLT5tX3Njcm9sbExheWVyLT5zY3JvbGxQb3NpdGlvbigpLngoKSArIG1fb3du
ZXItPm1fc2Nyb2xsTGF5ZXItPnNjcm9sbERlbHRhKCkud2lkdGgoKTsKLSAgICByZXR1cm4gbV9v
d25lci0+bV9zY3JvbGxMYXllci0+c2Nyb2xsUG9zaXRpb24oKS55KCkgKyBtX293bmVyLT5tX3Nj
cm9sbExheWVyLT5zY3JvbGxEZWx0YSgpLmhlaWdodCgpOwotfQotCi1mbG9hdCBDQ1Njcm9sbGJh
ckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmN1cnJlbnRQb3MoKSBjb25zdAotewotICAgIHJldHVy
biB2YWx1ZSgpOwotfQotCi1pbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjp2
aXNpYmxlU2l6ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRvdGFsU2l6ZSgpIC0gbWF4aW11bSgp
OworICAgIGlmIChvcmllbnRhdGlvbigpID09IFdlYlNjcm9sbGJhcjo6SG9yaXpvbnRhbCkKKyAg
ICAgICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXItPm1heFNjcm9sbFBvc2l0aW9uKCku
d2lkdGgoKTsKKyAgICByZXR1cm4gbV9vd25lci0+bV9zY3JvbGxMYXllci0+bWF4U2Nyb2xsUG9z
aXRpb24oKS5oZWlnaHQoKTsKIH0KIAogaW50IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9s
bGJhcjo6dG90YWxTaXplKCkgY29uc3QKQEAgLTIyMCw1OSArMTYwLDU0IEBAIGludCBDQ1Njcm9s
bGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnRvdGFsU2l6ZSgpIGNvbnN0CiAgICAgLy8gQ29w
eSAmIHBhc3RlIGZyb20gQ0NMYXllclRyZWVIb3N0SW1wbC4uLgogICAgIC8vIEZJWE1FOiBIYXJk
Y29kaW5nIHRoZSBmaXJzdCBjaGlsZCBoZXJlIGlzIHdlaXJkLiBUaGluayBvZgogICAgIC8vIGEg
Y2xlYW5lciB3YXkgdG8gZ2V0IHRoZSBjb250ZW50Qm91bmRzIG9uIHRoZSBJbXBsIHNpZGUuCi0g
ICAgaWYgKG9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikKKyAgICBpZiAob3Jp
ZW50YXRpb24oKSA9PSBXZWJTY3JvbGxiYXI6Okhvcml6b250YWwpCiAgICAgICAgIHJldHVybiBt
X293bmVyLT5tX3Njcm9sbExheWVyLT5jaGlsZHJlbigpWzBdLT5ib3VuZHMoKS53aWR0aCgpOwog
ICAgIHJldHVybiBtX293bmVyLT5tX3Njcm9sbExheWVyLT5jaGlsZHJlbigpWzBdLT5ib3VuZHMo
KS5oZWlnaHQoKTsKIH0KIAotaW50IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6
bWF4aW11bSgpIGNvbnN0Citib29sIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6
aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fb3duZXItPm1fc2Ny
b2xsTGF5ZXIpCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmIChvcmllbnRhdGlvbigpID09IEhv
cml6b250YWxTY3JvbGxiYXIpCi0gICAgICAgIHJldHVybiBtX293bmVyLT5tX3Njcm9sbExheWVy
LT5tYXhTY3JvbGxQb3NpdGlvbigpLndpZHRoKCk7Ci0gICAgcmV0dXJuIG1fb3duZXItPm1fc2Ny
b2xsTGF5ZXItPm1heFNjcm9sbFBvc2l0aW9uKCkuaGVpZ2h0KCk7CisgICAgcmV0dXJuIG1fb3du
ZXItPm1faXNTY3JvbGxWaWV3U2Nyb2xsYmFyOwogfQogCi1TY3JvbGxiYXJDb250cm9sU2l6ZSBD
Q1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmNvbnRyb2xTaXplKCkgY29uc3QKK2Jv
b2wgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjppc1Njcm9sbGFibGVBcmVhQWN0
aXZlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9vd25lci0+bV9jb250cm9sU2l6ZTsKKyAgICBy
ZXR1cm4gbV9vd25lci0+bV9pc1Njcm9sbGFibGVBcmVhQWN0aXZlOwogfQogCi1pbnQgQ0NTY3Jv
bGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpsaW5lU3RlcCgpIGNvbnN0Cit2b2lkIENDU2Ny
b2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6Z2V0VGlja21hcmtzKFdlYktpdDo6V2ViVmVj
dG9yPFdlYlJlY3Q+JiB0aWNrbWFya3MpIGNvbnN0CiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7Ci0gICAgcmV0dXJuIDA7CisgICAgdGlja21hcmtzID0gbV9vd25lci0+bV90aWNrbWFya3M7
CiB9CiAKLWludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnBhZ2VTdGVwKCkg
Y29uc3QKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyQ29udHJvbFNpemUgQ0NTY3JvbGxiYXJMYXll
ckltcGw6OkNDU2Nyb2xsYmFyOjpjb250cm9sU2l6ZSgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG1fb3duZXItPm1fY29udHJv
bFNpemU7CiB9CiAKLVNjcm9sbGJhclBhcnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xs
YmFyOjpwcmVzc2VkUGFydCgpIGNvbnN0CitXZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBhcnQgQ0NT
Y3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpwcmVzc2VkUGFydCgpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIG1fb3duZXItPm1fcHJlc3NlZFBhcnQ7CiB9CiAKLVNjcm9sbGJhclBhcnQgQ0NT
Y3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpob3ZlcmVkUGFydCgpIGNvbnN0CitXZWJT
Y3JvbGxiYXI6OlNjcm9sbGJhclBhcnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFy
Ojpob3ZlcmVkUGFydCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fb3duZXItPm1faG92ZXJlZFBh
cnQ7CiB9CiAKLXZvaWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpzdHlsZUNo
YW5nZWQoKQorV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5U3R5bGUgQ0NTY3JvbGxiYXJM
YXllckltcGw6OkNDU2Nyb2xsYmFyOjpzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdAogewor
ICAgIHJldHVybiBtX293bmVyLT5tX3Njcm9sbGJhck92ZXJsYXlTdHlsZTsKIH0KIAotYm9vbCBD
Q1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmVuYWJsZWQoKSBjb25zdAorV2ViU2Ny
b2xsYmFyOjpPcmllbnRhdGlvbiBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6Om9y
aWVudGF0aW9uKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9vd25lci0+bV9lbmFibGVkOworICAg
IHJldHVybiBtX293bmVyLT5tX29yaWVudGF0aW9uOwogfQogCi12b2lkIENDU2Nyb2xsYmFyTGF5
ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6c2V0RW5hYmxlZChib29sKQorYm9vbCBDQ1Njcm9sbGJhckxh
eWVySW1wbDo6Q0NTY3JvbGxiYXI6OmlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3QKIHsKLSAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbV9vd25lci0+bV9pc0N1c3RvbVNjcm9s
bGJhcjsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXllckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmgKaW5kZXgg
ZWNlMmI5NTcxNDE0YmY0MjU2ZmRiNGVlNGZkNWVhMWM3YzA0NmYzMS4uN2YwNDQzYmVjYTUxOWMx
NWM0ZmViOGMzMTRlNzkzMDA3Y2E3NTQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXllckltcGwuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxh
eWVySW1wbC5oCkBAIC0zMCw2ICszMCwxMCBAQAogCiAjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWVD
bGllbnQuaCIKICNpbmNsdWRlICJjYy9DQ0xheWVySW1wbC5oIgorI2luY2x1ZGUgPHB1YmxpYy9X
ZWJSZWN0Lmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhci5oPgorI2luY2x1ZGUgPHB1
YmxpYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Lmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlZl
Y3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDE5ICs0Myw3IEBAIGNsYXNz
IENDU2Nyb2xsYmFyTGF5ZXJJbXBsIDogcHVibGljIENDTGF5ZXJJbXBsIHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc093blB0cjxDQ1Njcm9sbGJhckxheWVySW1wbD4gY3JlYXRlKGludCBpZCk7
CiAKLSAgICB2b2lkIHNldFNjcm9sbGJhck92ZXJsYXlTdHlsZShTY3JvbGxiYXJPdmVybGF5U3R5
bGUgc2Nyb2xsYmFyT3ZlcmxheVN0eWxlKSB7IG1fc2Nyb2xsYmFyT3ZlcmxheVN0eWxlID0gc2Ny
b2xsYmFyT3ZlcmxheVN0eWxlOyB9Ci0gICAgdm9pZCBzZXRUaWNrbWFya3MoY29uc3QgVmVjdG9y
PEludFJlY3Q+JiB0aWNrbWFya3MpIHsgbV90aWNrbWFya3MgPSB0aWNrbWFya3M7IH0KLSAgICB2
b2lkIHNldElzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoYm9vbCBpc1Njcm9sbGFibGVBcmVhQWN0aXZl
KSB7IG1faXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSA9IGlzU2Nyb2xsYWJsZUFyZWFBY3RpdmU7IH0K
LSAgICB2b2lkIHNldElzU2Nyb2xsVmlld1Njcm9sbGJhcihib29sIGlzU2Nyb2xsVmlld1Njcm9s
bGJhcikgeyBtX2lzU2Nyb2xsVmlld1Njcm9sbGJhciA9IGlzU2Nyb2xsVmlld1Njcm9sbGJhcjsg
fQotCi0gICAgdm9pZCBzZXRPcmllbnRhdGlvbihTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRh
dGlvbikgeyBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247IH0KLQotICAgIHZvaWQgc2V0Q29u
dHJvbFNpemUoU2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUpIHsgbV9jb250cm9sU2l6
ZSA9IGNvbnRyb2xTaXplOyB9Ci0KLSAgICB2b2lkIHNldFByZXNzZWRQYXJ0KFNjcm9sbGJhclBh
cnQgcHJlc3NlZFBhcnQpIHsgbV9wcmVzc2VkUGFydCA9IHByZXNzZWRQYXJ0OyB9Ci0gICAgdm9p
ZCBzZXRIb3ZlcmVkUGFydChTY3JvbGxiYXJQYXJ0IGhvdmVyZWRQYXJ0KSB7IG1faG92ZXJlZFBh
cnQgPSBob3ZlcmVkUGFydDsgfQotCi0gICAgdm9pZCBzZXRFbmFibGVkKGJvb2wgZW5hYmxlZCkg
eyBtX2VuYWJsZWQgPSBlbmFibGVkOyB9CisgICAgdm9pZCBzZXRTY3JvbGxiYXJEYXRhKGNvbnN0
IFdlYktpdDo6V2ViU2Nyb2xsYmFyKiwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5
KTsKIAogICAgIHZvaWQgc2V0QmFja1RyYWNrVGV4dHVyZUlkKHVuc2lnbmVkIGlkKSB7IG1fYmFj
a1RyYWNrVGV4dHVyZUlkID0gaWQ7IH0KICAgICB2b2lkIHNldEZvcmVUcmFja1RleHR1cmVJZCh1
bnNpZ25lZCBpZCkgeyBtX2ZvcmVUcmFja1RleHR1cmVJZCA9IGlkOyB9CkBAIC02OSw1NCArNjEs
MjcgQEAgcHJpdmF0ZToKICAgICBDQ0xheWVySW1wbCogbV9zY3JvbGxMYXllcjsKIAogICAgIC8v
IG5lc3RlZCBjbGFzcyBvbmx5IHRvIGF2b2lkIG5hbWVzcGFjZSBwcm9ibGVtCi0gICAgY2xhc3Mg
Q0NTY3JvbGxiYXIgOiBwdWJsaWMgU2Nyb2xsYmFyVGhlbWVDbGllbnQgeworICAgIGNsYXNzIEND
U2Nyb2xsYmFyIDogcHVibGljIFdlYktpdDo6V2ViU2Nyb2xsYmFyIHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIGV4cGxpY2l0IENDU2Nyb2xsYmFyKENDU2Nyb2xsYmFyTGF5ZXJJbXBsKiBvd25lcikg
OiBtX293bmVyKG93bmVyKSB7IH0KIAotICAgICAgICAvLyBTY3JvbGxiYXJUaGVtZUNsaWVudCBp
bXBsZW1lbnRhdGlvbgotICAgICAgICB2aXJ0dWFsIGludCB4KCkgY29uc3Q7Ci0gICAgICAgIHZp
cnR1YWwgaW50IHkoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBpbnQgd2lkdGgoKSBjb25zdDsK
LSAgICAgICAgdmlydHVhbCBpbnQgaGVpZ2h0KCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgSW50
U2l6ZSBzaXplKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgSW50UG9pbnQgbG9jYXRpb24oKSBj
b25zdDsKLQotICAgICAgICB2aXJ0dWFsIFNjcm9sbFZpZXcqIHBhcmVudCgpIGNvbnN0OwotICAg
ICAgICB2aXJ0dWFsIFNjcm9sbFZpZXcqIHJvb3QoKSBjb25zdDsKLQotICAgICAgICB2aXJ0dWFs
IHZvaWQgc2V0RnJhbWVSZWN0KGNvbnN0IEludFJlY3QmKTsKLSAgICAgICAgdmlydHVhbCBJbnRS
ZWN0IGZyYW1lUmVjdCgpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRl
KCk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlUmVjdChjb25zdCBJbnRSZWN0Jik7
Ci0KLSAgICAgICAgdmlydHVhbCBTY3JvbGxiYXJPdmVybGF5U3R5bGUgc2Nyb2xsYmFyT3Zlcmxh
eVN0eWxlKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBnZXRUaWNrbWFya3MoVmVjdG9y
PEludFJlY3Q+JikgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbGFibGVBcmVh
QWN0aXZlKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbFZpZXdTY3JvbGxi
YXIoKSBjb25zdDsKLQotICAgICAgICB2aXJ0dWFsIEludFBvaW50IGNvbnZlcnRGcm9tQ29udGFp
bmluZ1dpbmRvdyhjb25zdCBJbnRQb2ludCYgd2luZG93UG9pbnQpOwotCi0gICAgICAgIHZpcnR1
YWwgYm9vbCBpc0N1c3RvbVNjcm9sbGJhcigpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIFNjcm9s
bGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3Q7Ci0KKyAgICAgICAgLy8gV2ViU2Ny
b2xsYmFyIGltcGxlbWVudGF0aW9uCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc092ZXJsYXkoKSBj
b25zdDsKICAgICAgICAgdmlydHVhbCBpbnQgdmFsdWUoKSBjb25zdDsKLSAgICAgICAgdmlydHVh
bCBmbG9hdCBjdXJyZW50UG9zKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgaW50IHZpc2libGVT
aXplKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgaW50IHRvdGFsU2l6ZSgpIGNvbnN0OwotICAg
ICAgICB2aXJ0dWFsIGludCBtYXhpbXVtKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgU2Nyb2xs
YmFyQ29udHJvbFNpemUgY29udHJvbFNpemUoKSBjb25zdDsKLQotICAgICAgICB2aXJ0dWFsIGlu
dCBsaW5lU3RlcCgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGludCBwYWdlU3RlcCgpIGNvbnN0
OwotCi0gICAgICAgIHZpcnR1YWwgU2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCgpIGNvbnN0Owot
ICAgICAgICB2aXJ0dWFsIFNjcm9sbGJhclBhcnQgaG92ZXJlZFBhcnQoKSBjb25zdDsKLQotICAg
ICAgICB2aXJ0dWFsIHZvaWQgc3R5bGVDaGFuZ2VkKCk7Ci0KKyAgICAgICAgdmlydHVhbCBXZWJL
aXQ6OldlYlBvaW50IGxvY2F0aW9uKCkgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgV2ViS2l0OjpX
ZWJTaXplIHNpemUoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGVuYWJsZWQoKSBjb25z
dDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHNldEVuYWJsZWQoYm9vbCk7CisgICAgICAgIHZpcnR1
YWwgaW50IG1heGltdW0oKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBpbnQgdG90YWxTaXplKCkg
Y29uc3Q7CisgICAgICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBjb25z
dDsKKyAgICAgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSBjb25zdDsK
KyAgICAgICAgdmlydHVhbCB2b2lkIGdldFRpY2ttYXJrcyhXZWJLaXQ6OldlYlZlY3RvcjxXZWJL
aXQ6OldlYlJlY3Q+JiB0aWNrbWFya3MpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIFdlYlNjcm9s
bGJhcjo6U2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUoKSBjb25zdDsKKyAgICAgICAg
dmlydHVhbCBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQoKSBjb25zdDsK
KyAgICAgICAgdmlydHVhbCBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBhcnQgaG92ZXJlZFBhcnQo
KSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlT
dHlsZSBzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBXZWJT
Y3JvbGxiYXI6Ok9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3Q7CisgICAgICAgIHZpcnR1
YWwgYm9vbCBpc0N1c3RvbVNjcm9sbGJhcigpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgQ0NTY3JvbGxiYXJMYXllckltcGwqIG1fb3duZXI7CkBAIC0xMjgsMTkgKzkzLDIwIEBAIHBy
aXZhdGU6CiAgICAgdW5zaWduZWQgbV9mb3JlVHJhY2tUZXh0dXJlSWQ7CiAgICAgdW5zaWduZWQg
bV90aHVtYlRleHR1cmVJZDsKIAotICAgIFNjcm9sbGJhck92ZXJsYXlTdHlsZSBtX3Njcm9sbGJh
ck92ZXJsYXlTdHlsZTsKLSAgICBWZWN0b3I8SW50UmVjdD4gbV90aWNrbWFya3M7CisgICAgV2Vi
S2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IG1fZ2VvbWV0cnk7CisKKyAgICAvLyBEYXRh
IHRvIGltcGxlbWVudCBDQ1Njcm9sbGJhcgorICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyOjpTY3Jv
bGxiYXJPdmVybGF5U3R5bGUgbV9zY3JvbGxiYXJPdmVybGF5U3R5bGU7CisgICAgV2ViS2l0OjpX
ZWJWZWN0b3I8V2ViS2l0OjpXZWJSZWN0PiBtX3RpY2ttYXJrczsKKyAgICBXZWJLaXQ6OldlYlNj
cm9sbGJhcjo6T3JpZW50YXRpb24gbV9vcmllbnRhdGlvbjsKKyAgICBXZWJLaXQ6OldlYlNjcm9s
bGJhcjo6U2Nyb2xsYmFyQ29udHJvbFNpemUgbV9jb250cm9sU2l6ZTsKKyAgICBXZWJLaXQ6Oldl
YlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBtX3ByZXNzZWRQYXJ0OworICAgIFdlYktpdDo6V2Vi
U2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0IG1faG92ZXJlZFBhcnQ7CiAgICAgYm9vbCBtX2lzU2Ny
b2xsYWJsZUFyZWFBY3RpdmU7CiAgICAgYm9vbCBtX2lzU2Nyb2xsVmlld1Njcm9sbGJhcjsKLQot
ICAgIFNjcm9sbGJhck9yaWVudGF0aW9uIG1fb3JpZW50YXRpb247Ci0KLSAgICBTY3JvbGxiYXJD
b250cm9sU2l6ZSBtX2NvbnRyb2xTaXplOwotCi0gICAgU2Nyb2xsYmFyUGFydCBtX3ByZXNzZWRQ
YXJ0OwotICAgIFNjcm9sbGJhclBhcnQgbV9ob3ZlcmVkUGFydDsKLQogICAgIGJvb2wgbV9lbmFi
bGVkOworICAgIGJvb2wgbV9pc0N1c3RvbVNjcm9sbGJhcjsKKyAgICBib29sIG1faXNPdmVybGF5
U2Nyb2xsYmFyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9X
ZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IDc4ZTQy
OGIyMjg1ZDM2M2U1NDc4ZGY3ZmEyMzhmMzZmM2ViZWY5MDcuLmJjNDZlZGZmYmIzYzljZTYyZTE4
MDlmNDczMThiYTNiNGZhMTBlZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTYy
Niw2ICs2MjYsMTIgQEAKICAgICAgICAgICAgICAgICAnc3JjL1dlYlNjb3BlZFVzZXJHZXN0dXJl
LmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JpcHRDb250cm9sbGVyLmNwcCcsCiAg
ICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JvbGxhYmxlTGF5ZXIuY3BwJywKKyAgICAgICAgICAg
ICAgICAnc3JjL1dlYlNjcm9sbGJhckltcGwuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1dl
YlNjcm9sbGJhckltcGwuaCcsCisgICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGwuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYlNjcm9sbGJhclRoZW1l
Q2xpZW50SW1wbC5oJywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYlNjcm9sbGJhclRoZW1lR2Vv
bWV0cnkuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRl
ci5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViU2VhcmNoYWJsZUZvcm1EYXRhLmNwcCcs
CiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJTZWN1cml0eU9yaWdpbi5jcHAnLAogICAgICAgICAg
ICAgICAgICdzcmMvV2ViU2VjdXJpdHlQb2xpY3kuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0V4dGVybmFsUG9wdXBNZW51LmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9FeHRlcm5hbFBvcHVwTWVudS5oCmluZGV4IGFlZmQzNWUxMjkzZjg3NDI1YmUw
MjEyNjg1Nzk2MzU5OGUwNmVkYzguLmI1NTJjZmMzZmRhOGRiNzAwODM1MWY4YzI4NWYwOTM1YTI4
Y2E0MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0V4dGVybmFsUG9w
dXBNZW51LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1l
bnUuaApAQCAtMzMsNiArMzMsOCBAQAogCiAjaW5jbHVkZSAiUG9wdXBNZW51LmgiCiAjaW5jbHVk
ZSAiV2ViRXh0ZXJuYWxQb3B1cE1lbnVDbGllbnQuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViQ2Fu
dmFzLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBGcmFtZVZpZXc7CkBAIC00NSw2ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJL
aXQgewogY2xhc3MgV2ViRXh0ZXJuYWxQb3B1cE1lbnU7CiBjbGFzcyBXZWJWaWV3Q2xpZW50Owog
c3RydWN0IFdlYlBvcHVwTWVudUluZm87CitjbGFzcyBXZWJJbnB1dEV2ZW50OworY2xhc3MgV2Vi
UmVjdDsKIAogLy8gVGhlIEV4dGVybmFsUG9wdXBNZW51IGNvbm5lY3RzIHRoZSBhY3R1YWwgaW1w
bGVtZW50YXRpb24gb2YgdGhlIHBvcHVwIG1lbnUKIC8vIHRvIHRoZSBXZWJDb3JlIHBvcHVwIG1l
bnUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5TY3Jv
bGxiYXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpblNjcm9s
bGJhckltcGwuY3BwCmluZGV4IGIwZjYzYTdlNGEwZDYxMzE0YmE1MmI4ZjI2OGE0ZTY0NDkzNWQ4
MGEuLmYzNGRiZmRjN2U5ZWEyMjk2MTkxZmNmNmNhNGViN2EwMzYxYmJlZTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpblNjcm9sbGJhckltcGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpblNjcm9sbGJhckltcGwuY3Bw
CkBAIC02OSw4ICs2OSw4IEBAIFdlYlBsdWdpblNjcm9sbGJhckltcGw6OldlYlBsdWdpblNjcm9s
bGJhckltcGwoT3JpZW50YXRpb24gb3JpZW50YXRpb24sCiB7CiAgICAgbV9zY3JvbGxiYXIgPSBT
Y3JvbGxiYXI6OmNyZWF0ZU5hdGl2ZVNjcm9sbGJhcigKICAgICAgICAgc3RhdGljX2Nhc3Q8U2Ny
b2xsYWJsZUFyZWEqPihtX2dyb3VwKSwKLSAgICAgICAgc3RhdGljX2Nhc3Q8U2Nyb2xsYmFyT3Jp
ZW50YXRpb24+KG9yaWVudGF0aW9uKSwKLSAgICAgICAgUmVndWxhclNjcm9sbGJhcik7CisgICAg
ICAgIHN0YXRpY19jYXN0PFdlYkNvcmU6OlNjcm9sbGJhck9yaWVudGF0aW9uPihvcmllbnRhdGlv
biksCisgICAgICAgIFdlYkNvcmU6OlJlZ3VsYXJTY3JvbGxiYXIpOwogICAgIG1fZ3JvdXAtPnNj
cm9sbGJhckNyZWF0ZWQodGhpcyk7CiB9CiAKQEAgLTEyMyw2ICsxMjMsNzggQEAgaW50IFdlYlBs
dWdpblNjcm9sbGJhckltcGw6OnZhbHVlKCkgY29uc3QKICAgICByZXR1cm4gbV9zY3JvbGxPZmZz
ZXQ7CiB9CiAKK1dlYlBvaW50IFdlYlBsdWdpblNjcm9sbGJhckltcGw6OmxvY2F0aW9uKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmZyYW1lUmVjdCgpLmxvY2F0aW9uKCk7Cit9
CisKK1dlYlNpemUgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6c2l6ZSgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fc2Nyb2xsYmFyLT5mcmFtZVJlY3QoKS5zaXplKCk7Cit9CisKK2Jvb2wgV2ViUGx1
Z2luU2Nyb2xsYmFySW1wbDo6ZW5hYmxlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xs
YmFyLT5lbmFibGVkKCk7Cit9CisKK2ludCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjptYXhpbXVt
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPm1heGltdW0oKTsKK30KKworaW50
IFdlYlBsdWdpblNjcm9sbGJhckltcGw6OnRvdGFsU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1fc2Nyb2xsYmFyLT50b3RhbFNpemUoKTsKK30KKworYm9vbCBXZWJQbHVnaW5TY3JvbGxiYXJJ
bXBsOjppc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9s
bGJhci0+aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCk7Cit9CisKK2Jvb2wgV2ViUGx1Z2luU2Nyb2xs
YmFySW1wbDo6aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
c2Nyb2xsYmFyLT5pc1Njcm9sbGFibGVBcmVhQWN0aXZlKCk7Cit9CisKK3ZvaWQgV2ViUGx1Z2lu
U2Nyb2xsYmFySW1wbDo6Z2V0VGlja21hcmtzKFdlYlZlY3RvcjxXZWJSZWN0PiYgdGlja21hcmtz
KSBjb25zdAoreworICAgIG1fY2xpZW50LT5nZXRUaWNrbWFya3MoY29uc3RfY2FzdDxXZWJQbHVn
aW5TY3JvbGxiYXJJbXBsKj4odGhpcyksICZ0aWNrbWFya3MpOworfQorCitXZWJTY3JvbGxiYXI6
OlNjcm9sbGJhckNvbnRyb2xTaXplIFdlYlBsdWdpblNjcm9sbGJhckltcGw6OmNvbnRyb2xTaXpl
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViU2Nyb2xsYmFyOjpTY3JvbGxi
YXJDb250cm9sU2l6ZT4obV9zY3JvbGxiYXItPmNvbnRyb2xTaXplKCkpOworfQorCitXZWJTY3Jv
bGxiYXI6OlNjcm9sbGJhclBhcnQgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6cHJlc3NlZFBhcnQo
KSBjb25zdAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJTY3JvbGxiYXI6OlNjcm9sbGJh
clBhcnQ+KG1fc2Nyb2xsYmFyLT5wcmVzc2VkUGFydCgpKTsKK30KKworV2ViU2Nyb2xsYmFyOjpT
Y3JvbGxiYXJQYXJ0IFdlYlBsdWdpblNjcm9sbGJhckltcGw6OmhvdmVyZWRQYXJ0KCkgY29uc3QK
K3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0Piht
X3Njcm9sbGJhci0+aG92ZXJlZFBhcnQoKSk7Cit9CisKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFy
T3ZlcmxheVN0eWxlIFdlYlBsdWdpblNjcm9sbGJhckltcGw6OnNjcm9sbGJhck92ZXJsYXlTdHls
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYlNjcm9sbGJhcjo6U2Nyb2xs
YmFyT3ZlcmxheVN0eWxlPihtX3Njcm9sbGJhci0+c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkpOwor
fQorCitXZWJTY3JvbGxiYXI6Ok9yaWVudGF0aW9uIFdlYlBsdWdpblNjcm9sbGJhckltcGw6Om9y
aWVudGF0aW9uKCkgY29uc3QKK3sKKyAgICBpZiAobV9zY3JvbGxiYXItPm9yaWVudGF0aW9uKCkg
PT0gV2ViQ29yZTo6SG9yaXpvbnRhbFNjcm9sbGJhcikKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9s
bGJhcjo6SG9yaXpvbnRhbDsKKyAgICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpWZXJ0aWNhbDsKK30K
KworYm9vbCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjppc0N1c3RvbVNjcm9sbGJhcigpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5pc0N1c3RvbVNjcm9sbGJhcigpOworfQorCiB2
b2lkIFdlYlBsdWdpblNjcm9sbGJhckltcGw6OnNldExvY2F0aW9uKGNvbnN0IFdlYlJlY3QmIHJl
Y3QpCiB7CiAgICAgSW50UmVjdCBvbGRSZWN0ID0gbV9zY3JvbGxiYXItPmZyYW1lUmVjdCgpOwpA
QCAtMjExLDcgKzI4Myw3IEBAIGJvb2wgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6b25Nb3VzZURv
d24oY29uc3QgV2ViSW5wdXRFdmVudCYgZXZlbnQpCiBib29sIFdlYlBsdWdpblNjcm9sbGJhcklt
cGw6Om9uTW91c2VVcChjb25zdCBXZWJJbnB1dEV2ZW50JiBldmVudCkKIHsKICAgICBXZWJNb3Vz
ZUV2ZW50IG1vdXNldXAgPSAqc3RhdGljX2Nhc3Q8Y29uc3QgV2ViTW91c2VFdmVudCo+KCZldmVu
dCk7Ci0gICAgaWYgKG1fc2Nyb2xsYmFyLT5wcmVzc2VkUGFydCgpID09IE5vUGFydCkKKyAgICBp
ZiAobV9zY3JvbGxiYXItPnByZXNzZWRQYXJ0KCkgPT0gV2ViQ29yZTo6Tm9QYXJ0KQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gbV9zY3JvbGxiYXItPm1vdXNlVXAoUGxhdGZv
cm1Nb3VzZUV2ZW50QnVpbGRlcihtX3Njcm9sbGJhci5nZXQoKSwgbW91c2V1cCkpOwpAQCAtMjIx
LDIwICsyOTMsMjAgQEAgYm9vbCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpvbk1vdXNlTW92ZShj
b25zdCBXZWJJbnB1dEV2ZW50JiBldmVudCkKIHsKICAgICBXZWJNb3VzZUV2ZW50IG1vdXNlbW92
ZSA9ICpzdGF0aWNfY2FzdDxjb25zdCBXZWJNb3VzZUV2ZW50Kj4oJmV2ZW50KTsKICAgICBpZiAo
bV9zY3JvbGxiYXItPmZyYW1lUmVjdCgpLmNvbnRhaW5zKG1vdXNlbW92ZS54LCBtb3VzZW1vdmUu
eSkKLSAgICAgICAgfHwgbV9zY3JvbGxiYXItPnByZXNzZWRQYXJ0KCkgIT0gTm9QYXJ0KSB7Cisg
ICAgICAgIHx8IG1fc2Nyb2xsYmFyLT5wcmVzc2VkUGFydCgpICE9IFdlYkNvcmU6Ok5vUGFydCkg
ewogICAgICAgICBtb3VzZW1vdmUueCAtPSBtX3Njcm9sbGJhci0+eCgpOwogICAgICAgICBtb3Vz
ZW1vdmUueSAtPSBtX3Njcm9sbGJhci0+eSgpOwogICAgICAgICByZXR1cm4gbV9zY3JvbGxiYXIt
Pm1vdXNlTW92ZWQoUGxhdGZvcm1Nb3VzZUV2ZW50QnVpbGRlcihtX3Njcm9sbGJhci5nZXQoKSwg
bW91c2Vtb3ZlKSk7CiAgICAgfQogCi0gICAgaWYgKG1fc2Nyb2xsYmFyLT5ob3ZlcmVkUGFydCgp
ICE9IE5vUGFydCAmJiAhbV9zY3JvbGxiYXItPmlzT3ZlcmxheVNjcm9sbGJhcigpKQorICAgIGlm
IChtX3Njcm9sbGJhci0+aG92ZXJlZFBhcnQoKSAhPSBXZWJDb3JlOjpOb1BhcnQgJiYgIW1fc2Ny
b2xsYmFyLT5pc092ZXJsYXlTY3JvbGxiYXIoKSkKICAgICAgICAgbV9zY3JvbGxiYXItPm1vdXNl
RXhpdGVkKCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiBib29sIFdlYlBsdWdpblNjcm9sbGJh
ckltcGw6Om9uTW91c2VMZWF2ZShjb25zdCBXZWJJbnB1dEV2ZW50JiBldmVudCkKIHsKLSAgICBp
ZiAobV9zY3JvbGxiYXItPmhvdmVyZWRQYXJ0KCkgIT0gTm9QYXJ0KQorICAgIGlmIChtX3Njcm9s
bGJhci0+aG92ZXJlZFBhcnQoKSAhPSBXZWJDb3JlOjpOb1BhcnQpCiAgICAgICAgIG1fc2Nyb2xs
YmFyLT5tb3VzZUV4aXRlZCgpOwogCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luU2Nyb2xsYmFySW1wbC5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luU2Nyb2xsYmFySW1wbC5oCmluZGV4IGI0MmNi
ODJmZDk1YjNmZThmMjY2ZmQyZGQ3MWYxNTJlMTcwMjU0MzkuLmEzNDc5MTE3MjQ3YjU4Y2FjMjFh
ZmJhMWE1YTJmNjc0ZDEzY2E3YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlBsdWdpblNjcm9sbGJhckltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJQbHVnaW5TY3JvbGxiYXJJbXBsLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgcHVibGljOgog
CiAgICAgdm9pZCBzZXRTY3JvbGxPZmZzZXQoaW50KTsKICAgICB2b2lkIGludmFsaWRhdGVTY3Jv
bGxiYXJSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKyAgICAvLyBGSVhNRTogQ29tYmlu
ZSB0aGlzIHdpdGggdGhlIG90aGVyIGdldFRpY2ttYXJrcyBtZXRob2QKICAgICB2b2lkIGdldFRp
Y2ttYXJrcyhWZWN0b3I8V2ViQ29yZTo6SW50UmVjdD4mKSBjb25zdDsKICAgICBXZWJDb3JlOjpJ
bnRQb2ludCBjb252ZXJ0RnJvbUNvbnRhaW5pbmdWaWV3VG9TY3JvbGxiYXIoY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmIHBhcmVudFBvaW50KSBjb25zdDsKICAgICB2b2lkIHNjcm9sbGJhclN0eWxl
Q2hhbmdlZCgpOwpAQCAtNTksNiArNjAsMjAgQEAgcHVibGljOgogICAgIC8vIFdlYktpdDo6V2Vi
U2Nyb2xsYmFyIG1ldGhvZHMKICAgICB2aXJ0dWFsIGJvb2wgaXNPdmVybGF5KCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBpbnQgdmFsdWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYlBvaW50IGxvY2F0
aW9uKCkgY29uc3Q7CisgICAgdmlydHVhbCBXZWJTaXplIHNpemUoKSBjb25zdDsKKyAgICB2aXJ0
dWFsIGJvb2wgZW5hYmxlZCgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IG1heGltdW0oKSBjb25z
dDsKKyAgICB2aXJ0dWFsIGludCB0b3RhbFNpemUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wg
aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlzU2Nyb2xs
YWJsZUFyZWFBY3RpdmUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0VGlja21hcmtzKFdl
YlZlY3RvcjxXZWJSZWN0PiYgdGlja21hcmtzKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYlNjcm9s
bGJhcjo6U2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUoKSBjb25zdDsKKyAgICB2aXJ0
dWFsIFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCgpIGNvbnN0OworICAg
IHZpcnR1YWwgV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0IGhvdmVyZWRQYXJ0KCkgY29uc3Q7
CisgICAgdmlydHVhbCBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlTdHlsZSBzY3JvbGxi
YXJPdmVybGF5U3R5bGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYlNjcm9sbGJhcjo6T3JpZW50
YXRpb24gb3JpZW50YXRpb24oKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNDdXN0b21TY3Jv
bGxiYXIoKSBjb25zdDsKIAogICAgIC8vIFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFyIG1ldGhv
ZHMKICAgICB2aXJ0dWFsIHZvaWQgc2V0TG9jYXRpb24oY29uc3QgV2ViUmVjdCYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFySW1wbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJJbXBsLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5iYzg3NzY0YmZmMjQzMzRiOTE4ZWI1NzA2N2NhNTVjYTdlZWNkODk3Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFySW1wbC5jcHAKQEAg
LTAsMCArMSwxODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lu
Y2x1ZGUgIldlYlNjcm9sbGJhckltcGwuaCIKKworI2luY2x1ZGUgIkludFJlY3QuaCIKKyNpbmNs
dWRlICJTY3JvbGxiYXIuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1Bhc3NPd25QdHI8V2Vi
U2Nyb2xsYmFyPiBXZWJTY3JvbGxiYXI6OmNyZWF0ZShXZWJDb3JlOjpTY3JvbGxiYXIqIHNjcm9s
bGJhcikKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFdlYlNjcm9sbGJhckltcGwoc2Nyb2xs
YmFyKSk7Cit9CisKK1dlYlNjcm9sbGJhckltcGw6OldlYlNjcm9sbGJhckltcGwoV2ViQ29yZTo6
U2Nyb2xsYmFyKiBzY3JvbGxiYXIpCisgICAgOiBtX3Njcm9sbGJhcihzY3JvbGxiYXIpCit7Cit9
CisKK2Jvb2wgV2ViU2Nyb2xsYmFySW1wbDo6aXNPdmVybGF5KCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9zY3JvbGxiYXItPmlzT3ZlcmxheVNjcm9sbGJhcigpOworfQorCitpbnQgV2ViU2Nyb2xs
YmFySW1wbDo6dmFsdWUoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+dmFsdWUo
KTsKK30KKworV2ViUG9pbnQgV2ViU2Nyb2xsYmFySW1wbDo6bG9jYXRpb24oKSBjb25zdAorewor
ICAgIHJldHVybiBtX3Njcm9sbGJhci0+bG9jYXRpb24oKTsKK30KKworV2ViU2l6ZSBXZWJTY3Jv
bGxiYXJJbXBsOjpzaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPnNpemUo
KTsKK30KKworYm9vbCBXZWJTY3JvbGxiYXJJbXBsOjplbmFibGVkKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9zY3JvbGxiYXItPmVuYWJsZWQoKTsKK30KKworaW50IFdlYlNjcm9sbGJhckltcGw6
Om1heGltdW0oKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+bWF4aW11bSgpOwor
fQorCitpbnQgV2ViU2Nyb2xsYmFySW1wbDo6dG90YWxTaXplKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9zY3JvbGxiYXItPnRvdGFsU2l6ZSgpOworfQorCitib29sIFdlYlNjcm9sbGJhckltcGw6
OmlzU2Nyb2xsVmlld1Njcm9sbGJhcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFy
LT5pc1Njcm9sbFZpZXdTY3JvbGxiYXIoKTsKK30KKworYm9vbCBXZWJTY3JvbGxiYXJJbXBsOjpp
c1Njcm9sbGFibGVBcmVhQWN0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXIt
PmlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJJbXBsOjpn
ZXRUaWNrbWFya3MoV2ViVmVjdG9yPFdlYlJlY3Q+JiB3ZWJUaWNrbWFya3MpIGNvbnN0Cit7Cisg
ICAgVmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+IHRpY2ttYXJrczsKKyAgICBtX3Njcm9sbGJhci0+
Z2V0VGlja21hcmtzKHRpY2ttYXJrcyk7CisKKyAgICBXZWJWZWN0b3I8V2ViUmVjdD4gcmVzdWx0
KHRpY2ttYXJrcy5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdGlja21hcmtz
LnNpemUoKTsgKytpKQorICAgICAgICByZXN1bHRbaV0gPSB0aWNrbWFya3NbaV07CisKKyAgICB3
ZWJUaWNrbWFya3Muc3dhcChyZXN1bHQpOworfQorCitXZWJTY3JvbGxiYXI6OlNjcm9sbGJhckNv
bnRyb2xTaXplIFdlYlNjcm9sbGJhckltcGw6OmNvbnRyb2xTaXplKCkgY29uc3QKK3sKKyAgICBz
d2l0Y2ggKG1fc2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpKSB7CisgICAgZGVmYXVsdDoKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgY2FzZSBXZWJDb3JlOjpSZWd1bGFyU2Nyb2xs
YmFyOgorICAgICAgICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpSZWd1bGFyU2Nyb2xsYmFyOworICAg
IGNhc2UgV2ViQ29yZTo6U21hbGxTY3JvbGxiYXI6CisgICAgICAgIHJldHVybiBXZWJTY3JvbGxi
YXI6OlNtYWxsU2Nyb2xsYmFyOworICAgIH0KK30KKworc3RhdGljIFdlYlNjcm9sbGJhcjo6U2Ny
b2xsYmFyUGFydCB0b1dlYlNjcm9sbGJhclBhcnQoV2ViQ29yZTo6U2Nyb2xsYmFyUGFydCBwYXJ0
KQoreworICAgIHN3aXRjaCAocGFydCkgeworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgIGNhc2UgV2ViQ29yZTo6Tm9QYXJ0OgorICAgICAgICByZXR1cm4g
V2ViU2Nyb2xsYmFyOjpOb1BhcnQ7CisgICAgY2FzZSBXZWJDb3JlOjpCYWNrQnV0dG9uU3RhcnRQ
YXJ0OgorICAgICAgICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpCYWNrQnV0dG9uU3RhcnRQYXJ0Owor
ICAgIGNhc2UgV2ViQ29yZTo6Rm9yd2FyZEJ1dHRvblN0YXJ0UGFydDoKKyAgICAgICAgcmV0dXJu
IFdlYlNjcm9sbGJhcjo6Rm9yd2FyZEJ1dHRvblN0YXJ0UGFydDsKKyAgICBjYXNlIFdlYkNvcmU6
OkJhY2tUcmFja1BhcnQ6CisgICAgICAgIHJldHVybiBXZWJTY3JvbGxiYXI6OkJhY2tUcmFja1Bh
cnQ7CisgICAgY2FzZSBXZWJDb3JlOjpUaHVtYlBhcnQ6CisgICAgICAgIHJldHVybiBXZWJTY3Jv
bGxiYXI6OlRodW1iUGFydDsKKyAgICBjYXNlIFdlYkNvcmU6OkZvcndhcmRUcmFja1BhcnQ6Cisg
ICAgICAgIHJldHVybiBXZWJTY3JvbGxiYXI6OkZvcndhcmRUcmFja1BhcnQ7CisgICAgY2FzZSBX
ZWJDb3JlOjpCYWNrQnV0dG9uRW5kUGFydDoKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJhcjo6
QmFja0J1dHRvbkVuZFBhcnQ7CisgICAgY2FzZSBXZWJDb3JlOjpGb3J3YXJkQnV0dG9uRW5kUGFy
dDoKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJhcjo6Rm9yd2FyZEJ1dHRvbkVuZFBhcnQ7Cisg
ICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxiYXJCR1BhcnQ6CisgICAgICAgIHJldHVybiBXZWJTY3Jv
bGxiYXI6OlNjcm9sbGJhckJHUGFydDsKKyAgICBjYXNlIFdlYkNvcmU6OlRyYWNrQkdQYXJ0Ogor
ICAgICAgICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpUcmFja0JHUGFydDsKKyAgICBjYXNlIFdlYkNv
cmU6OkFsbFBhcnRzOgorICAgICAgICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpBbGxQYXJ0czsKKyAg
ICB9Cit9CisKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBXZWJTY3JvbGxiYXJJbXBsOjpw
cmVzc2VkUGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRvV2ViU2Nyb2xsYmFyUGFydChtX3Nj
cm9sbGJhci0+cHJlc3NlZFBhcnQoKSk7Cit9CisKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFy
dCBXZWJTY3JvbGxiYXJJbXBsOjpob3ZlcmVkUGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRv
V2ViU2Nyb2xsYmFyUGFydChtX3Njcm9sbGJhci0+aG92ZXJlZFBhcnQoKSk7Cit9CisKK1dlYlNj
cm9sbGJhcjo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlIFdlYlNjcm9sbGJhckltcGw6OnNjcm9sbGJh
ck92ZXJsYXlTdHlsZSgpIGNvbnN0Cit7CisgICAgc3dpdGNoIChtX3Njcm9sbGJhci0+c2Nyb2xs
YmFyT3ZlcmxheVN0eWxlKCkpIHsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbGJhck92ZXJsYXlTdHlsZURlZmF1bHQ6
CisgICAgICAgIHJldHVybiBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlTdHlsZURlZmF1
bHQ7CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxiYXJPdmVybGF5U3R5bGVEYXJrOgorICAgICAg
ICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5U3R5bGVEYXJrOworICAgIGNh
c2UgV2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlTGlnaHQ6CisgICAgICAgIHJldHVybiBX
ZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlTdHlsZUxpZ2h0OworICAgIH0KK30KKworV2Vi
U2Nyb2xsYmFyOjpPcmllbnRhdGlvbiBXZWJTY3JvbGxiYXJJbXBsOjpvcmllbnRhdGlvbigpIGNv
bnN0Cit7CisgICAgc3dpdGNoIChtX3Njcm9sbGJhci0+b3JpZW50YXRpb24oKSkgeworICAgIGRl
ZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGNhc2UgV2ViQ29yZTo6
SG9yaXpvbnRhbFNjcm9sbGJhcjoKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJhcjo6SG9yaXpv
bnRhbDsKKyAgICBjYXNlIFdlYkNvcmU6OlZlcnRpY2FsU2Nyb2xsYmFyOgorICAgICAgICByZXR1
cm4gV2ViU2Nyb2xsYmFyOjpWZXJ0aWNhbDsKKyAgICB9Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFy
SW1wbDo6aXNDdXN0b21TY3JvbGxiYXIoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJh
ci0+aXNDdXN0b21TY3JvbGxiYXIoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJJbXBsLmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJJbXBsLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTc4ZjliMDk5MmJhZWNmOWQyNzAxNTUyNTYzYzExNmYyMzhhODk5MwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhckltcGwuaApAQCAtMCww
ICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlNjcm9sbGJhckltcGxfaAorI2Rl
ZmluZSBXZWJTY3JvbGxiYXJJbXBsX2gKKworI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXIu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgU2Nyb2xsYmFyOworfQorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworY2xhc3MgV2ViU2Nyb2xsYmFySW1wbCA6IHB1YmxpYyBXZWJTY3JvbGxi
YXIgeworcHVibGljOgorICAgIFdlYlNjcm9sbGJhckltcGwoV2ViQ29yZTo6U2Nyb2xsYmFyKik7
CisKKyAgICAvLyBJbXBsZW1lbnQgV2ViS2l0OjpXZWJTY3JvbGxiYXIgbWV0aG9kcworICAgIHZp
cnR1YWwgYm9vbCBpc092ZXJsYXkoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGludCB2YWx1ZSgpIGNv
bnN0OworICAgIHZpcnR1YWwgV2ViUG9pbnQgbG9jYXRpb24oKSBjb25zdDsKKyAgICB2aXJ0dWFs
IFdlYlNpemUgc2l6ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBlbmFibGVkKCkgY29uc3Q7
CisgICAgdmlydHVhbCBpbnQgbWF4aW11bSgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHRvdGFs
U2l6ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBj
b25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgpIGNvbnN0Owor
ICAgIHZpcnR1YWwgdm9pZCBnZXRUaWNrbWFya3MoV2ViVmVjdG9yPFdlYlJlY3Q+JiB0aWNrbWFy
a3MpIGNvbnN0OworICAgIHZpcnR1YWwgU2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUo
KSBjb25zdDsKKyAgICB2aXJ0dWFsIFNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQoKSBjb25zdDsK
KyAgICB2aXJ0dWFsIFNjcm9sbGJhclBhcnQgaG92ZXJlZFBhcnQoKSBjb25zdDsKKyAgICB2aXJ0
dWFsIFNjcm9sbGJhck92ZXJsYXlTdHlsZSBzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdDsK
KyAgICB2aXJ0dWFsIE9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3Q7CisgICAgdmlydHVh
bCBib29sIGlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgUmVmUHRy
PFdlYkNvcmU6OlNjcm9sbGJhcj4gbV9zY3JvbGxiYXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjAyNjE4MDk1
NmE0Njg3NjZhZTMzODdkMDRlOWVjNzhmZmE1OTMzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsLmNwcApAQCAt
MCwwICsxLDI3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
CisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIldl
YlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbC5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK1dlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6V2Vi
U2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQorICAgIDog
bV9zY3JvbGxiYXIoc2Nyb2xsYmFyKQoreworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGll
bnRJbXBsOjp4KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbG9jYXRpb24oKS54KCk7Cit9CisKK2lu
dCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnkoKSBjb25zdAoreworICAgIHJldHVybiBs
b2NhdGlvbigpLnkoKTsKK30KKworaW50IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6d2lk
dGgoKSBjb25zdAoreworICAgIHJldHVybiBzaXplKCkud2lkdGgoKTsKK30KKworaW50IFdlYlNj
cm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aGVpZ2h0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc2l6
ZSgpLmhlaWdodCgpOworfQorCitJbnRTaXplIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6
c2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5zaXplKCk7Cit9CisKK0lu
dFBvaW50IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6bG9jYXRpb24oKSBjb25zdAorewor
ICAgIHJldHVybiBtX3Njcm9sbGJhci0+bG9jYXRpb24oKTsKK30KKworU2Nyb2xsVmlldyogV2Vi
U2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpwYXJlbnQoKSBjb25zdAoreworICAgIC8vIFVudXNl
ZCBieSBDaHJvbWl1bSBzY3JvbGxiYXIgdGhlbWVzLgorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgIHJldHVybiAwOworfQorCitTY3JvbGxWaWV3KiBXZWJTY3JvbGxiYXJUaGVtZUNsaWVu
dEltcGw6OnJvb3QoKSBjb25zdAoreworICAgIC8vIFVudXNlZCBieSBDaHJvbWl1bSBzY3JvbGxi
YXIgdGhlbWVzLgorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQor
Cit2b2lkIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6c2V0RnJhbWVSZWN0KGNvbnN0IElu
dFJlY3QmKQoreworICAgIC8vIFVudXNlZCBieSBDaHJvbWl1bSBzY3JvbGxiYXIgdGhlbWVzLgor
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitJbnRSZWN0IFdlYlNjcm9sbGJhclRoZW1l
Q2xpZW50SW1wbDo6ZnJhbWVSZWN0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW50UmVjdChsb2Nh
dGlvbigpLCBzaXplKCkpOworfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6
aW52YWxpZGF0ZSgpCit7CisgICAgLy8gVW51c2VkIGJ5IENocm9taXVtIHNjcm9sbGJhciB0aGVt
ZXMuCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhl
bWVDbGllbnRJbXBsOjppbnZhbGlkYXRlUmVjdChjb25zdCBJbnRSZWN0JikKK3sKKyAgICAvLyBV
bnVzZWQgYnkgQ2hyb21pdW0gc2Nyb2xsYmFyIHRoZW1lcy4KKyAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKK30KKworV2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlIFdlYlNjcm9sbGJhclRo
ZW1lQ2xpZW50SW1wbDo6c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkgY29uc3QKK3sKKyAgICBzd2l0
Y2ggKG1fc2Nyb2xsYmFyLT5zY3JvbGxiYXJPdmVybGF5U3R5bGUoKSkgeworICAgIGRlZmF1bHQ6
CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpT
Y3JvbGxiYXJPdmVybGF5U3R5bGVEZWZhdWx0OgorICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Ny
b2xsYmFyT3ZlcmxheVN0eWxlRGVmYXVsdDsKKyAgICBjYXNlIFdlYlNjcm9sbGJhcjo6U2Nyb2xs
YmFyT3ZlcmxheVN0eWxlRGFyazoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbGJhck92
ZXJsYXlTdHlsZURhcms7CisgICAgY2FzZSBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlT
dHlsZUxpZ2h0OgorICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxl
TGlnaHQ7CisgICAgfQorfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6Z2V0
VGlja21hcmtzKFZlY3RvcjxJbnRSZWN0PiYgdGlja21hcmtzKSBjb25zdAoreworICAgIFdlYlZl
Y3RvcjxXZWJSZWN0PiB3ZWJUaWNrbWFya3M7CisgICAgbV9zY3JvbGxiYXItPmdldFRpY2ttYXJr
cyh3ZWJUaWNrbWFya3MpOworICAgIHRpY2ttYXJrcy5yZXNpemUod2ViVGlja21hcmtzLnNpemUo
KSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB3ZWJUaWNrbWFya3Muc2l6ZSgpOyArK2kp
CisgICAgICAgIHRpY2ttYXJrc1tpXSA9IHdlYlRpY2ttYXJrc1tpXTsKK30KKworYm9vbCBXZWJT
Y3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSBjb25zdAor
eworICAgIHJldHVybiBtX3Njcm9sbGJhci0+aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgpOworfQor
Citib29sIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aXNTY3JvbGxWaWV3U2Nyb2xsYmFy
KCkgY29uc3QKK3sKKyAgICAvLyBVbnVzZWQgYnkgQ2hyb21pdW0gc2Nyb2xsYmFyIHRoZW1lcy4K
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0ludFBv
aW50IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6Y29udmVydEZyb21Db250YWluaW5nV2lu
ZG93KGNvbnN0IEludFBvaW50JiB3aW5kb3dQb2ludCkKK3sKKyAgICAvLyBVbnVzZWQgYnkgQ2hy
b21pdW0gc2Nyb2xsYmFyIHRoZW1lcy4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBy
ZXR1cm4gd2luZG93UG9pbnQ7Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBs
Ojppc0N1c3RvbVNjcm9sbGJhcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5p
c0N1c3RvbVNjcm9sbGJhcigpOworfQorCitTY3JvbGxiYXJPcmllbnRhdGlvbiBXZWJTY3JvbGxi
YXJUaGVtZUNsaWVudEltcGw6Om9yaWVudGF0aW9uKCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKG1f
c2Nyb2xsYmFyLT5vcmllbnRhdGlvbigpKSB7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgY2FzZSBXZWJTY3JvbGxiYXI6Okhvcml6b250YWw6CisgICAg
ICAgIHJldHVybiBIb3Jpem9udGFsU2Nyb2xsYmFyOworICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpW
ZXJ0aWNhbDoKKyAgICAgICAgcmV0dXJuIFZlcnRpY2FsU2Nyb2xsYmFyOworICAgIH0KK30KKwor
aW50IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6dmFsdWUoKSBjb25zdAoreworICAgIHJl
dHVybiBtX3Njcm9sbGJhci0+dmFsdWUoKTsKK30KKworZmxvYXQgV2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsOjpjdXJyZW50UG9zKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdmFsdWUoKTsKK30K
KworaW50IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6dmlzaWJsZVNpemUoKSBjb25zdAor
eworICAgIHJldHVybiB0b3RhbFNpemUoKSAtIG1heGltdW0oKTsKK30KKworaW50IFdlYlNjcm9s
bGJhclRoZW1lQ2xpZW50SW1wbDo6dG90YWxTaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9z
Y3JvbGxiYXItPnRvdGFsU2l6ZSgpOworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJ
bXBsOjptYXhpbXVtKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPm1heGltdW0o
KTsKK30KKworV2ViQ29yZTo6U2Nyb2xsYmFyQ29udHJvbFNpemUgV2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsOjpjb250cm9sU2l6ZSgpIGNvbnN0Cit7CisgICAgc3dpdGNoIChtX3Njcm9sbGJh
ci0+Y29udHJvbFNpemUoKSkgeworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpSZWd1bGFyU2Nyb2xsYmFyOgorICAgICAg
ICByZXR1cm4gV2ViQ29yZTo6UmVndWxhclNjcm9sbGJhcjsKKyAgICBjYXNlIFdlYlNjcm9sbGJh
cjo6U21hbGxTY3JvbGxiYXI6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpTbWFsbFNjcm9sbGJh
cjsKKyAgICB9Cit9CisKK2ludCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmxpbmVTdGVw
KCkgY29uc3QKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30K
KworaW50IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6cGFnZVN0ZXAoKSBjb25zdAorewor
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgV2Vi
Q29yZTo6U2Nyb2xsYmFyUGFydCB0b1dlYkNvcmVQYXJ0KFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFy
UGFydCBwYXJ0KQoreworICAgIHN3aXRjaCAocGFydCkgeworICAgIGRlZmF1bHQ6CisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpOb1BhcnQ6Cisg
ICAgICAgIHJldHVybiBXZWJDb3JlOjpOb1BhcnQ7CisgICAgY2FzZSBXZWJTY3JvbGxiYXI6OkJh
Y2tCdXR0b25TdGFydFBhcnQ6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpCYWNrQnV0dG9uU3Rh
cnRQYXJ0OworICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpGb3J3YXJkQnV0dG9uU3RhcnRQYXJ0Ogor
ICAgICAgICByZXR1cm4gV2ViQ29yZTo6Rm9yd2FyZEJ1dHRvblN0YXJ0UGFydDsKKyAgICBjYXNl
IFdlYlNjcm9sbGJhcjo6QmFja1RyYWNrUGFydDoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkJh
Y2tUcmFja1BhcnQ7CisgICAgY2FzZSBXZWJTY3JvbGxiYXI6OlRodW1iUGFydDoKKyAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OlRodW1iUGFydDsKKyAgICBjYXNlIFdlYlNjcm9sbGJhcjo6Rm9yd2Fy
ZFRyYWNrUGFydDoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkZvcndhcmRUcmFja1BhcnQ7Cisg
ICAgY2FzZSBXZWJTY3JvbGxiYXI6OkJhY2tCdXR0b25FbmRQYXJ0OgorICAgICAgICByZXR1cm4g
V2ViQ29yZTo6QmFja0J1dHRvbkVuZFBhcnQ7CisgICAgY2FzZSBXZWJTY3JvbGxiYXI6OkZvcndh
cmRCdXR0b25FbmRQYXJ0OgorICAgICAgICByZXR1cm4gV2ViQ29yZTo6Rm9yd2FyZEJ1dHRvbkVu
ZFBhcnQ7CisgICAgY2FzZSBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhckJHUGFydDoKKyAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OlNjcm9sbGJhckJHUGFydDsKKyAgICBjYXNlIFdlYlNjcm9sbGJhcjo6
VHJhY2tCR1BhcnQ6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpUcmFja0JHUGFydDsKKyAgICBj
YXNlIFdlYlNjcm9sbGJhcjo6QWxsUGFydHM6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpBbGxQ
YXJ0czsKKyAgICB9Cit9CisKK1dlYkNvcmU6OlNjcm9sbGJhclBhcnQgV2ViU2Nyb2xsYmFyVGhl
bWVDbGllbnRJbXBsOjpwcmVzc2VkUGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRvV2ViQ29y
ZVBhcnQobV9zY3JvbGxiYXItPnByZXNzZWRQYXJ0KCkpOworfQorCitXZWJDb3JlOjpTY3JvbGxi
YXJQYXJ0IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aG92ZXJlZFBhcnQoKSBjb25zdAor
eworICAgIHJldHVybiB0b1dlYkNvcmVQYXJ0KG1fc2Nyb2xsYmFyLT5ob3ZlcmVkUGFydCgpKTsK
K30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnN0eWxlQ2hhbmdlZCgpCit7
CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsOjplbmFibGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmVu
YWJsZWQoKTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnNldEVuYWJs
ZWQoYm9vbCkKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworYm9vbCBXZWJTY3Jv
bGxiYXJUaGVtZUNsaWVudEltcGw6OmlzT3ZlcmxheVNjcm9sbGJhcigpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fc2Nyb2xsYmFyLT5pc092ZXJsYXkoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJU
aGVtZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJh
clRoZW1lQ2xpZW50SW1wbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFkZDI2MjY5NGZkMzIzYzE0MTZmMzJhNGQ4
ODNjNTBiNzQzOTRlZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwuaApAQCAtMCwwICsxLDk5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAq
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGxfaAorI2RlZmluZSBXZWJTY3Jv
bGxiYXJUaGVtZUNsaWVudEltcGxfaAorCisjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWVDbGllbnQu
aCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+CisjaW5jbHVkZSA8d3RmL05vbmNv
cHlhYmxlLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFNjcm9sbFZpZXc7Cit9CisK
K25hbWVzcGFjZSBXZWJLaXQgeworCisvLyBBZGFwdHMgYSBXZWJTY3JvbGxiYXIgdG8gdGhlIFNj
cm9sbGJhclRoZW1lQ2xpZW50IGludGVyZmFjZQorY2xhc3MgV2ViU2Nyb2xsYmFyVGhlbWVDbGll
bnRJbXBsIDogcHVibGljIFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2xpZW50IHsKKyAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwpOworcHVibGljOgor
ICAgIC8vIENhbGxlciBtdXN0IHJldGFpbiBvd25lcnNoaXAgb2YgdGhpcyBwb2ludGVyIGFuZCBl
bnN1cmUgdGhhdCBpdHMgbGlmZXRpbWUKKyAgICAvLyBleGNlZWRzIHRoaXMgaW5zdGFuY2UuCisg
ICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsKFdlYlNjcm9sbGJhciopOworCisgICAgdmly
dHVhbCBpbnQgeCgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHkoKSBjb25zdDsKKyAgICB2aXJ0
dWFsIGludCB3aWR0aCgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IGhlaWdodCgpIGNvbnN0Owor
ICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50U2l6ZSBzaXplKCkgY29uc3Q7CisgICAgdmlydHVhbCBX
ZWJDb3JlOjpJbnRQb2ludCBsb2NhdGlvbigpIGNvbnN0OworCisgICAgdmlydHVhbCBXZWJDb3Jl
OjpTY3JvbGxWaWV3KiBwYXJlbnQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNjcm9s
bFZpZXcqIHJvb3QoKSBjb25zdDsKKworICAgIHZpcnR1YWwgdm9pZCBzZXRGcmFtZVJlY3QoY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UmVjdCBmcmFt
ZVJlY3QoKSBjb25zdDsKKworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKCk7CisgICAgdmly
dHVhbCB2b2lkIGludmFsaWRhdGVSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKworICAg
IHZpcnR1YWwgV2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlIHNjcm9sbGJhck92ZXJsYXlT
dHlsZSgpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBnZXRUaWNrbWFya3MoVmVjdG9yPFdlYkNv
cmU6OkludFJlY3Q+JikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsYWJsZUFyZWFB
Y3RpdmUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCkg
Y29uc3Q7CisKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFBvaW50IGNvbnZlcnRGcm9tQ29udGFp
bmluZ1dpbmRvdyhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOworCisgICAgdmlydHVhbCBib29s
IGlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3Q7CisgICAgdmlydHVhbCBXZWJDb3JlOjpTY3JvbGxi
YXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbigpIGNvbnN0OworCisgICAgdmlydHVhbCBpbnQgdmFs
dWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGZsb2F0IGN1cnJlbnRQb3MoKSBjb25zdDsKKyAgICB2
aXJ0dWFsIGludCB2aXNpYmxlU2l6ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHRvdGFsU2l6
ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IG1heGltdW0oKSBjb25zdDsKKyAgICB2aXJ0dWFs
IFdlYkNvcmU6OlNjcm9sbGJhckNvbnRyb2xTaXplIGNvbnRyb2xTaXplKCkgY29uc3Q7CisKKyAg
ICB2aXJ0dWFsIGludCBsaW5lU3RlcCgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHBhZ2VTdGVw
KCkgY29uc3Q7CisKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNjcm9sbGJhclBhcnQgcHJlc3NlZFBh
cnQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNjcm9sbGJhclBhcnQgaG92ZXJlZFBh
cnQoKSBjb25zdDsKKworICAgIHZpcnR1YWwgdm9pZCBzdHlsZUNoYW5nZWQoKTsKKworICAgIHZp
cnR1YWwgYm9vbCBlbmFibGVkKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHNldEVuYWJsZWQo
Ym9vbCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNPdmVybGF5U2Nyb2xsYmFyKCkgY29uc3Q7CisK
K3ByaXZhdGU6CisgICAgV2ViS2l0OjpXZWJTY3JvbGxiYXIqIG1fc2Nyb2xsYmFyOworfTsKKwor
fQorCisjZW5kaWYgLy8gV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uN2UwOTA5ZWYwY2RiMjJiYTFlODdjMTkwZmRiNmE0MGU5YTJkMzBlZgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJh
clRoZW1lR2VvbWV0cnkuY3BwCkBAIC0wLDAgKzEsMTU0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRS
SUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorCisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkuaD4K
KworI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLmgiCisjaW5jbHVkZSAiV2ViU2Ny
b2xsYmFyVGhlbWVDbGllbnRJbXBsLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYlJlY3QuaD4KKyNp
bmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OworCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5
Ojphc3NpZ24oY29uc3QgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSYgZ2VvbWV0cnkpCit7Cisg
ICAgLy8gVGhpcyBpcyBhIHBvaW50ZXIgdG8gYSBzdGF0aWMgb2JqZWN0LCBzbyBubyBvd25lcnNo
aXAgdHJhbnNmZXJyYWwuCisgICAgbV90aGVtZSA9IGdlb21ldHJ5Lm1fdGhlbWU7Cit9CisKK2lu
dCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0aHVtYlBvc2l0aW9uKFdlYlNjcm9sbGJhciog
c2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Ny
b2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+dGh1bWJQb3NpdGlvbigmY2xpZW50KTsKK30K
KworaW50IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnRodW1iTGVuZ3RoKFdlYlNjcm9sbGJh
ciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQo
c2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+dGh1bWJMZW5ndGgoJmNsaWVudCk7Cit9
CisKK2ludCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0cmFja1Bvc2l0aW9uKFdlYlNjcm9s
bGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGll
bnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+dHJhY2tQb3NpdGlvbigmY2xpZW50
KTsKK30KKworaW50IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnRyYWNrTGVuZ3RoKFdlYlNj
cm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBj
bGllbnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+dHJhY2tMZW5ndGgoJmNsaWVu
dCk7Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6aGFzQnV0dG9ucyhXZWJT
Y3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwg
Y2xpZW50KHNjcm9sbGJhcik7CisgICAgcmV0dXJuIG1fdGhlbWUtPmhhc0J1dHRvbnMoJmNsaWVu
dCk7Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6aGFzVGh1bWIoV2ViU2Ny
b2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNs
aWVudChzY3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT5oYXNUaHVtYigmY2xpZW50KTsK
K30KKworV2ViUmVjdCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0cmFja1JlY3QoV2ViU2Ny
b2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNs
aWVudChzY3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT50cmFja1JlY3QoJmNsaWVudCk7
Cit9CisKK1dlYlJlY3QgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6dGh1bWJSZWN0KFdlYlNj
cm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBj
bGllbnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+dGh1bWJSZWN0KCZjbGllbnQp
OworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6bWluaW11bVRodW1iTGVuZ3Ro
KFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50
SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+bWluaW11bVRodW1i
TGVuZ3RoKCZjbGllbnQpOworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6c2Ny
b2xsYmFyVGhpY2tuZXNzKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9s
bGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVt
ZS0+c2Nyb2xsYmFyVGhpY2tuZXNzKGNsaWVudC5jb250cm9sU2l6ZSgpKTsKK30KKworV2ViUmVj
dCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjpiYWNrQnV0dG9uU3RhcnRSZWN0KFdlYlNjcm9s
bGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGll
bnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+YmFja0J1dHRvblJlY3QoJmNsaWVu
dCwgQmFja0J1dHRvblN0YXJ0UGFydCwgZmFsc2UpOworfQorCitXZWJSZWN0IFdlYlNjcm9sbGJh
clRoZW1lR2VvbWV0cnk6OmJhY2tCdXR0b25FbmRSZWN0KFdlYlNjcm9sbGJhciogc2Nyb2xsYmFy
KQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsK
KyAgICByZXR1cm4gbV90aGVtZS0+YmFja0J1dHRvblJlY3QoJmNsaWVudCwgQmFja0J1dHRvbkVu
ZFBhcnQsIGZhbHNlKTsKK30KKworV2ViUmVjdCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojpm
b3J3YXJkQnV0dG9uU3RhcnRSZWN0KFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIFdl
YlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4g
bV90aGVtZS0+Zm9yd2FyZEJ1dHRvblJlY3QoJmNsaWVudCwgRm9yd2FyZEJ1dHRvblN0YXJ0UGFy
dCwgZmFsc2UpOworfQorCitXZWJSZWN0IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OmZvcndh
cmRCdXR0b25FbmRSZWN0KFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9s
bGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVt
ZS0+Zm9yd2FyZEJ1dHRvblJlY3QoJmNsaWVudCwgRm9yd2FyZEJ1dHRvbkVuZFBhcnQsIGZhbHNl
KTsKK30KKworV2ViUmVjdCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojpjb25zdHJhaW5UcmFj
a1JlY3RUb1RyYWNrUGllY2VzKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0
JiByZWN0KQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xs
YmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+Y29uc3RyYWluVHJhY2tSZWN0VG9UcmFja1BpZWNl
cygmY2xpZW50LCBJbnRSZWN0KHJlY3QpKTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZUdl
b21ldHJ5OjpzcGxpdFRyYWNrKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0
JiB3ZWJUcmFjaywgV2ViUmVjdCYgd2ViU3RhcnRUcmFjaywgV2ViUmVjdCYgd2ViVGh1bWIsIFdl
YlJlY3QmIHdlYkVuZFRyYWNrKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBj
bGllbnQoc2Nyb2xsYmFyKTsKKyAgICBJbnRSZWN0IHRyYWNrKHdlYlRyYWNrKTsKKyAgICBJbnRS
ZWN0IHN0YXJ0VHJhY2s7CisgICAgSW50UmVjdCB0aHVtYjsKKyAgICBJbnRSZWN0IGVuZFRyYWNr
OworICAgIG1fdGhlbWUtPnNwbGl0VHJhY2soJmNsaWVudCwgdHJhY2ssIHN0YXJ0VHJhY2ssIHRo
dW1iLCBlbmRUcmFjayk7CisKKyAgICB3ZWJTdGFydFRyYWNrID0gc3RhcnRUcmFjazsKKyAgICB3
ZWJUaHVtYiA9IHRodW1iOworICAgIHdlYkVuZFRyYWNrID0gZW5kVHJhY2s7Cit9CisKK1dlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnk6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkoV2ViQ29yZTo6
U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIHRoZW1lKQorICAgIDogbV90aGVtZSh0aGVtZSkKK3sK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjJi
ZmNkNmMwNjk3NWVlYmZmZjZjMzdkMTk1OTFhYmU5MWI5ODQyCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmNwcApA
QCAtMCwwICsxLDE0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUg
PHB1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuaD4KKworI2luY2x1ZGUgIlBsYXRmb3Jt
Q29udGV4dFNraWEuaCIKKyNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS5oIgorI2lu
Y2x1ZGUgIldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbC5oIgorI2luY2x1ZGUgPHB1YmxpYy9X
ZWJSZWN0Lmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhci5oPgorCit1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgV2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyOjphc3NpZ24oY29uc3QgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyJiBwYWlu
dGVyKQoreworICAgIC8vIFRoaXMgaXMgYSBwb2ludGVyIHRvIGEgc3RhdGljIG9iamVjdCwgc28g
bm8gb3duZXJzaGlwIHRyYW5zZmVycmFsLgorICAgIG1fdGhlbWUgPSBwYWludGVyLm1fdGhlbWU7
Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludFNjcm9sbGJhckJhY2tn
cm91bmQoV2ViQ2FudmFzKiBjYW52YXMsIFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBX
ZWJSZWN0JiByZWN0KQoreworICAgIFNrUmVjdCBjbGlwID0gU2tSZWN0OjpNYWtlWFlXSChyZWN0
LngsIHJlY3QueSwgcmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpOworICAgIGNhbnZhcy0+Y2xpcFJl
Y3QoY2xpcCk7CisKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9s
bGJhcik7CisgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsK
KyAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CisgICAg
R3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAgbV90aGVtZS0+
cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKCZjb250ZXh0LCAmY2xpZW50KTsKK30KKwordm9pZCBX
ZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50VHJhY2tCYWNrZ3JvdW5kKFdlYkNhbnZhcyog
Y2FudmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3sK
KyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAg
UGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKKyAgICBwbGF0Zm9y
bUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CisgICAgR3JhcGhpY3NDb250
ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAgbV90aGVtZS0+cGFpbnRUcmFja0Jh
Y2tncm91bmQoJmNvbnRleHQsICZjbGllbnQsIEludFJlY3QocmVjdCkpOworfQorCit2b2lkIFdl
YlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRCYWNrVHJhY2tQYXJ0KFdlYkNhbnZhcyogY2Fu
dmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3sKKyAg
ICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgUGxh
dGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKKyAgICBwbGF0Zm9ybUNv
bnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CisgICAgR3JhcGhpY3NDb250ZXh0
IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAgbV90aGVtZS0+cGFpbnRUcmFja1BpZWNl
KCZjb250ZXh0LCAmY2xpZW50LCBJbnRSZWN0KHJlY3QpLCBXZWJDb3JlOjpCYWNrVHJhY2tQYXJ0
KTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50Rm9yd2FyZFRyYWNr
UGFydChXZWJDYW52YXMqIGNhbnZhcywgV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdl
YlJlY3QmIHJlY3QpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChz
Y3JvbGxiYXIpOworICAgIFBsYXRmb3JtQ29udGV4dFNraWEgcGxhdGZvcm1Db250ZXh0KGNhbnZh
cyk7CisgICAgcGxhdGZvcm1Db250ZXh0LnNldERyYXdpbmdUb0ltYWdlQnVmZmVyKHRydWUpOwor
ICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOworICAgIG1fdGhl
bWUtPnBhaW50VHJhY2tQaWVjZSgmY29udGV4dCwgJmNsaWVudCwgSW50UmVjdChyZWN0KSwgV2Vi
Q29yZTo6Rm9yd2FyZFRyYWNrUGFydCk7Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWlu
dGVyOjpwYWludEJhY2tCdXR0b25TdGFydChXZWJDYW52YXMqIGNhbnZhcywgV2ViU2Nyb2xsYmFy
KiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhl
bWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIFBsYXRmb3JtQ29udGV4dFNraWEg
cGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7CisgICAgcGxhdGZvcm1Db250ZXh0LnNldERyYXdpbmdU
b0ltYWdlQnVmZmVyKHRydWUpOworICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZwbGF0Zm9y
bUNvbnRleHQpOworICAgIG1fdGhlbWUtPnBhaW50QnV0dG9uKCZjb250ZXh0LCAmY2xpZW50LCBJ
bnRSZWN0KHJlY3QpLCBXZWJDb3JlOjpCYWNrQnV0dG9uU3RhcnRQYXJ0KTsKK30KKwordm9pZCBX
ZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50QmFja0J1dHRvbkVuZChXZWJDYW52YXMqIGNh
bnZhcywgV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCit7Cisg
ICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIFBs
YXRmb3JtQ29udGV4dFNraWEgcGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7CisgICAgcGxhdGZvcm1D
b250ZXh0LnNldERyYXdpbmdUb0ltYWdlQnVmZmVyKHRydWUpOworICAgIEdyYXBoaWNzQ29udGV4
dCBjb250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOworICAgIG1fdGhlbWUtPnBhaW50QnV0dG9uKCZj
b250ZXh0LCAmY2xpZW50LCBJbnRSZWN0KHJlY3QpLCBXZWJDb3JlOjpCYWNrQnV0dG9uRW5kUGFy
dCk7Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludEZvcndhcmRCdXR0
b25TdGFydChXZWJDYW52YXMqIGNhbnZhcywgV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0
IFdlYlJlY3QmIHJlY3QpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVu
dChzY3JvbGxiYXIpOworICAgIFBsYXRmb3JtQ29udGV4dFNraWEgcGxhdGZvcm1Db250ZXh0KGNh
bnZhcyk7CisgICAgcGxhdGZvcm1Db250ZXh0LnNldERyYXdpbmdUb0ltYWdlQnVmZmVyKHRydWUp
OworICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOworICAgIG1f
dGhlbWUtPnBhaW50QnV0dG9uKCZjb250ZXh0LCAmY2xpZW50LCBJbnRSZWN0KHJlY3QpLCBXZWJD
b3JlOjpGb3J3YXJkQnV0dG9uU3RhcnRQYXJ0KTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVt
ZVBhaW50ZXI6OnBhaW50Rm9yd2FyZEJ1dHRvbkVuZChXZWJDYW52YXMqIGNhbnZhcywgV2ViU2Ny
b2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCit7CisgICAgV2ViU2Nyb2xs
YmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIFBsYXRmb3JtQ29udGV4
dFNraWEgcGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7CisgICAgcGxhdGZvcm1Db250ZXh0LnNldERy
YXdpbmdUb0ltYWdlQnVmZmVyKHRydWUpOworICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZw
bGF0Zm9ybUNvbnRleHQpOworICAgIG1fdGhlbWUtPnBhaW50QnV0dG9uKCZjb250ZXh0LCAmY2xp
ZW50LCBJbnRSZWN0KHJlY3QpLCBXZWJDb3JlOjpGb3J3YXJkQnV0dG9uRW5kUGFydCk7Cit9CisK
K3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludFRpY2ttYXJrcyhXZWJDYW52YXMq
IGNhbnZhcywgV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCit7
CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAg
IFBsYXRmb3JtQ29udGV4dFNraWEgcGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7CisgICAgcGxhdGZv
cm1Db250ZXh0LnNldERyYXdpbmdUb0ltYWdlQnVmZmVyKHRydWUpOworICAgIEdyYXBoaWNzQ29u
dGV4dCBjb250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOworICAgIG1fdGhlbWUtPnBhaW50VGlja21h
cmtzKCZjb250ZXh0LCAmY2xpZW50LCBJbnRSZWN0KHJlY3QpKTsKK30KKwordm9pZCBXZWJTY3Jv
bGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50VGh1bWIoV2ViQ2FudmFzKiBjYW52YXMsIFdlYlNjcm9s
bGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiByZWN0KQoreworICAgIFdlYlNjcm9sbGJh
clRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICBQbGF0Zm9ybUNvbnRleHRT
a2lhIHBsYXRmb3JtQ29udGV4dChjYW52YXMpOworICAgIHBsYXRmb3JtQ29udGV4dC5zZXREcmF3
aW5nVG9JbWFnZUJ1ZmZlcih0cnVlKTsKKyAgICBHcmFwaGljc0NvbnRleHQgY29udGV4dCgmcGxh
dGZvcm1Db250ZXh0KTsKKyAgICBtX3RoZW1lLT5wYWludFRodW1iKCZjb250ZXh0LCAmY2xpZW50
LCBJbnRSZWN0KHJlY3QpKTsKK30KKworV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpXZWJTY3Jv
bGxiYXJUaGVtZVBhaW50ZXIoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIHRoZW1l
KQorICAgIDogbV90aGVtZSh0aGVtZSkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Njcm9sbGJhckxheWVyQ2hy
b21pdW1UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsYmFyTGF5
ZXJDaHJvbWl1bVRlc3QuY3BwCmluZGV4IGQyY2Q5YmVmYzlhMDdlMTE2YzUxODg5YTRhN2I0ZDQ5
NzlkZmEyNDQuLjBlOWY3MTY3NmE0ZTRmMDIzOTI4OGY5YTgxZTM4ZDA4MWJhMjc1NzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1
bVRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsYmFyTGF5
ZXJDaHJvbWl1bVRlc3QuY3BwCkBAIC0zMiw2ICszMiw5IEBACiAjaW5jbHVkZSAiY2MvQ0NTY3Jv
bGxiYXJMYXllckltcGwuaCIKICNpbmNsdWRlICJjYy9DQ1NpbmdsZVRocmVhZFByb3h5LmgiCiAj
aW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+
CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkuaD4KKyNpbmNsdWRl
IDxwdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogCkBAIC02MCw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNT
Y3JvbGxhYmxlQXJlYUFjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVh
bCBib29sIGlzU2Nyb2xsVmlld1Njcm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAK
LSAgICB2aXJ0dWFsIEludFBvaW50IGNvbnZlcnRGcm9tQ29udGFpbmluZ1dpbmRvdyhjb25zdCBJ
bnRQb2ludCYgd2luZG93UG9pbnQpIHsgcmV0dXJuIEludFBvaW50KCk7IH0KKyAgICB2aXJ0dWFs
IEludFBvaW50IGNvbnZlcnRGcm9tQ29udGFpbmluZ1dpbmRvdyhjb25zdCBJbnRQb2ludCYgd2lu
ZG93UG9pbnQpIHsgcmV0dXJuIHdpbmRvd1BvaW50OyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaXND
dXN0b21TY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgU2Ny
b2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24oKSBjb25zdCB7IHJldHVybiBIb3Jpem9udGFs
U2Nyb2xsYmFyOyB9CkBAIC04Myw2ICs4Niw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wg
ZW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldEVu
YWJsZWQoYm9vbCkgeyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNPdmVybGF5U2Nyb2xsYmFyKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIE1vY2tTY3JvbGxiYXIoKSA6IFNjcm9sbGJh
cigwLCBIb3Jpem9udGFsU2Nyb2xsYmFyLCBSZWd1bGFyU2Nyb2xsYmFyKSB7IH0KICAgICB2aXJ0
dWFsIH5Nb2NrU2Nyb2xsYmFyKCkgeyB9CiB9OwpAQCAtOTEsMTIgKzk2LDE2IEBAIFRFU1QoU2Ny
b2xsYmFyTGF5ZXJDaHJvbWl1bVRlc3QsIHJlc29sdmVTY3JvbGxMYXllclBvaW50ZXIpCiB7CiAg
ICAgRGVidWdTY29wZWRTZXRJbXBsVGhyZWFkIGltcGw7CiAKKyAgICBSZWZQdHI8TW9ja1Njcm9s
bGJhcj4gbW9ja1Njcm9sbGJhciA9IGFkb3B0UmVmKG5ldyBNb2NrU2Nyb2xsYmFyKTsKKyAgICBX
ZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgZ2VvbWV0cnkoMCk7CisgICAgV2ViS2l0
OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIgcGFpbnRlcigwKTsKKwogICAgIFNldHRpbmdzOjpz
ZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWQodHJ1ZSk7CiAgICAgewotICAgICAgICBSZWZQdHI8TW9j
a1Njcm9sbGJhcj4gc2Nyb2xsYmFyID0gYWRvcHRSZWYobmV3IE1vY2tTY3JvbGxiYXIpOworICAg
ICAgICBPd25QdHI8V2ViS2l0OjpXZWJTY3JvbGxiYXI+IHNjcm9sbGJhciA9IFdlYktpdDo6V2Vi
U2Nyb2xsYmFyOjpjcmVhdGUobW9ja1Njcm9sbGJhci5nZXQoKSk7CiAgICAgICAgIFJlZlB0cjxM
YXllckNocm9taXVtPiBsYXllclRyZWVSb290ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CiAg
ICAgICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBjaGlsZDEgPSBMYXllckNocm9taXVtOjpjcmVh
dGUoKTsKLSAgICAgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkMiA9IFNjcm9sbGJhckxh
eWVyQ2hyb21pdW06OmNyZWF0ZShzY3JvbGxiYXIuZ2V0KCksIGNoaWxkMS0+aWQoKSk7CisgICAg
ICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBjaGlsZDIgPSBTY3JvbGxiYXJMYXllckNocm9taXVt
OjpjcmVhdGUoc2Nyb2xsYmFyLnJlbGVhc2UoKSwgcGFpbnRlciwgZ2VvbWV0cnksIGNoaWxkMS0+
aWQoKSk7CiAgICAgICAgIGxheWVyVHJlZVJvb3QtPmFkZENoaWxkKGNoaWxkMSk7CiAgICAgICAg
IGxheWVyVHJlZVJvb3QtPmFkZENoaWxkKGNoaWxkMik7CiAKQEAgLTEwOSwxMCArMTE4LDEwIEBA
IFRFU1QoU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bVRlc3QsIHJlc29sdmVTY3JvbGxMYXllclBvaW50
ZXIpCiAgICAgfQogCiAgICAgeyAvLyBhbm90aGVyIHRyYXZlcnNlIG9yZGVyCi0gICAgICAgIFJl
ZlB0cjxNb2NrU2Nyb2xsYmFyPiBzY3JvbGxiYXIgPSBhZG9wdFJlZihuZXcgTW9ja1Njcm9sbGJh
cik7CisgICAgICAgIE93blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhcj4gc2Nyb2xsYmFyID0gV2Vi
S2l0OjpXZWJTY3JvbGxiYXI6OmNyZWF0ZShtb2NrU2Nyb2xsYmFyLmdldCgpKTsKICAgICAgICAg
UmVmUHRyPExheWVyQ2hyb21pdW0+IGxheWVyVHJlZVJvb3QgPSBMYXllckNocm9taXVtOjpjcmVh
dGUoKTsKICAgICAgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkMiA9IExheWVyQ2hyb21p
dW06OmNyZWF0ZSgpOwotICAgICAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGQxID0gU2Ny
b2xsYmFyTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKHNjcm9sbGJhci5nZXQoKSwgY2hpbGQyLT5pZCgp
KTsKKyAgICAgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkMSA9IFNjcm9sbGJhckxheWVy
Q2hyb21pdW06OmNyZWF0ZShzY3JvbGxiYXIucmVsZWFzZSgpLCBwYWludGVyLCBnZW9tZXRyeSwg
Y2hpbGQyLT5pZCgpKTsKICAgICAgICAgbGF5ZXJUcmVlUm9vdC0+YWRkQ2hpbGQoY2hpbGQxKTsK
ICAgICAgICAgbGF5ZXJUcmVlUm9vdC0+YWRkQ2hpbGQoY2hpbGQyKTsKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDhlNmRl
ZmZkMjEzNWJmYmUyYzZiYjg3MWE0ZGZjMzMwM2U0NzhmYzkuLmIwYmE2ZTFjOTZjYWNjYzQ5NWYy
OTAwYzI3NzY2YjJlZGU0MDM3YzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNy0wNCAg
QWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0g
TWFrZSBTY3JvbGxiYXJMYXllckNocm9taXVtIHVzZSBXZWJTY3JvbGxiYXJMYXllcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1MjgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYXJrIGN1c3RvbS1jb21w
b3NpdGVkLWRpZmZlcmVudC10cmFjay1wYXJ0cy5odG1sIGFzIGZhaWxpbmcgYmVjYXVzZQorICAg
ICAgICBjdXN0b20gc2Nyb2xsYmFycyBubyBsb25nZXIgY3JlYXRlIFNjcm9sbGJhckxheWVyQ2hy
b21pdW1zLiBUaGlzIGlzCisgICAgICAgIGR1ZSB0byB0aGUgdW5zYWZlIGNhc3RzIGluIFJlbmRl
clRoZW1lU2Nyb2xsYmFyLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVj
dGF0aW9uczoKKwogMjAxMi0wNy0wNCAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBn
bWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyMTgxMy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGFl
MzY5ODY2ZjQ4YzRiYzM4MTlmYTc0NzQyYWM4MDQ1MzQ0MjRkM2YuLmYxMWM1YTJjYzUyYWQxZmY2
YTc0ZGNkY2FiY2FiYzkyMTY3NWU2MTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzcyNywzICszNzI3LDUgQEAgQlVHV0s5MDQ2OSBX
SU4gOiBzdG9yYWdlL3dlYnNxbC9tdWx0aXBsZS1kYXRhYmFzZXMtZ2FyYmFnZS1jb2xsZWN0aW9u
Lmh0bWwgPSBQQVMKIEJVR1dLODgxNzEgV0lOIDogY3NzMS9mb3JtYXR0aW5nX21vZGVsL2Zsb2F0
aW5nX2VsZW1lbnRzLmh0bWwgPSBJTUFHRQogCiBCVUdXSzkwNTE3IFdJTiA6IHN2Zy9XM0MtSTE4
Ti90c3Bhbi1kaXJSVEwtdWJOb25lLWluLWRlZmF1bHQtY29udGV4dC5zdmcgPSBQQVNTIENSQVNI
CisKK0JVR0NSMTM1NzA5IDogcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvc2Nyb2xsYmFy
cy9jdXN0b20tY29tcG9zaXRlZC1kaWZmZXJlbnQtdHJhY2stcGFydHMuaHRtbCA9IElNQUdFCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151750</attachid>
            <date>2012-07-11 12:24:43 -0700</date>
            <delta_ts>2012-07-11 14:48:49 -0700</delta_ts>
            <desc>Rebased</desc>
            <filename>bug-90528-20120711122442.patch</filename>
            <type>text/plain</type>
            <size>107455</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAyOGJjZDU2NjJkMmRj
ODlkMmZlMTJiODJhNDQ4OGYyODkzYzgyM2NjLi4wOGViNWUyMTM4OTY0ZjU0NjBlNjFiZDE1NjRj
MzY5ZTFjYTA4NjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxMi0wNy0xMSAg
QWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0g
TWFrZSBTY3JvbGxiYXJMYXllckNocm9taXVtIHVzZSBXZWJTY3JvbGxiYXJMYXllcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1MjgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGbGVzaCBvdXQgV2ViU2Ny
b2xsYmFyIGZ1bmN0aW9ucyBlbm91Z2ggdG8gYmUgYWJsZSB0byBpbXBsZW1lbnQKKyAgICAgICAg
dGhlIHBhcnRzIG9mIFNjcm9sbGJhclRoZW1lQ2xpZW50IHRoYXQgQ2hyb21pdW0gdXNlcy4KKwor
ICAgICAgICBXcmFwIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlIGluIHRoZSBQbGF0Zm9ybSBBUEkg
dmlhIHR3byBkaWZmZXJlbnQKKyAgICAgICAgY2xhc3NlczogV2ViU2Nyb2xsYmFyVGhlbWVQYWlu
dGVyIGlzIHRoZSBub24tdGhyZWFkc2FmZSB2ZXJzaW9uIHRoYXQKKyAgICAgICAgaXMgdXNlZCB0
byBwYWludCBwYXJ0cyBvZiBhIHNjcm9sbGJhciBpbnRvIGEgY29udGV4dC4gVGhpcyBpcyBpbnRl
bmRlZAorICAgICAgICB0byBvbmx5IGJlIHVzZWQgb24gdGhlIG1haW4gdGhyZWFkLiBXZWJTY3Jv
bGxiYXJUaGVtZUdlb21ldHJ5IGlzIHRoZQorICAgICAgICB0aHJlYWRzYWZlIHZlcnNpb24sIHVz
ZWQgdG8gZ2V0IHRoZSBsb2NhdGlvbiBhbmQgc2l6ZXMgb2Ygc2Nyb2xsYmFyCisgICAgICAgIHBh
cnRzIG9uIGJvdGggdGhyZWFkcywgc28gdGhleSBjYW4gYmUgcGFpbnRlZCBvbiB0aGUgbWFpbiB0
aHJlYWQgYW5kCisgICAgICAgIGNvbXBvc2l0ZWQgb24gdGhlIGNvbXBvc2l0b3IgdGhyZWFkLgor
CisgICAgICAgIFVuZm9ydHVuYXRlbHksIHRoZXJlIGlzIG5vIHdheSB0byBlbmZvcmNlIHRoZXNl
IHRocmVhZCBzYWZldHkgaXNzdWVzLAorICAgICAgICBhcyBvdGhlciBwb3J0cyB1c2UgdGhlIFNj
cm9sbGJhclRoZW1lIGhpZXJhcmNoeSBkaWZmZXJlbnRseSB0aGFuCisgICAgICAgIENocm9taXVt
IGRvZXMuIE9uIHRoZSBicmlnaHQgc2lkZSwgb3RoZXIgdGhhbiBwYWludGluZywgdGhlCisgICAg
ICAgIFNjcm9sbGJhclRoZW1lIGNvZGUgaXMgbGFyZ2VseSBmdW5jdGlvbmFsIGFuZCB3ZSBjYW4g
ZW5mb3JjZSB0aGlzCisgICAgICAgIGludGVybmFsbHkgZm9yIHRoZSBDaHJvbWl1bSBwb3J0Lgor
CisgICAgICAgICogUGxhdGZvcm0uZ3lwaToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvV2Vi
U2Nyb2xsYmFyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgIChXZWJTY3JvbGxiYXIpOgorICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxi
YXJUaGVtZUdlb21ldHJ5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0
cnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp+V2ViU2Ny
b2xsYmFyVGhlbWVHZW9tZXRyeSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1l
R2VvbWV0cnk6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1l
R2VvbWV0cnk6OmlzTnVsbCk6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJh
clRoZW1lUGFpbnRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcik6CisgICAgICAgIChXZWJL
aXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyKToK
KyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjp+V2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVy
OjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6
OmlzTnVsbCk6CisKIDIwMTItMDctMDUgIElhbiBWb2xsaWNrICA8dm9sbGlja0BjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBDcmVhdGUgYSBXZWJLaXQ6OldlYiogd3JhcHBlciBm
b3IgdGhlIGNjIGFuaW1hdGlvbiBjbGFzc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDFlZTdhYTUzZDM5YWE2
OWU2NTM4Y2FkZWI4NDJjNTJjMzAzOGFjOC4uOGI3Mzg5MGY5MjQ4ZDJlZTg2MTE0M2EzNjhhZGRl
MWE1ODZmY2QzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDEyLTA3LTExICBBZHJp
ZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBNYWtl
IFNjcm9sbGJhckxheWVyQ2hyb21pdW0gdXNlIFdlYlNjcm9sbGJhckxheWVyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDUyOAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RlZCBieSBleGlzdGluZyBs
YXlvdXQgdGVzdHMuCisKKyAgICAgICAgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bSBpcyBtb2RpZmll
ZCB0byB1c2UgdGhlIFBsYXRmb3JtIEFQSSBmb3IKKyAgICAgICAgV2ViU2Nyb2xsYmFyLCBXZWJT
Y3JvbGxiYXJUaGVtZVBhaW50ZXIsIGFuZCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LgorICAg
ICAgICBUaGlzIHByZXZlbnRzIEFQSSBkZXBlbmRlbmNpZXMgZnJvbSB0aGUgY29tcG9zaXRvciBj
b2RlIGludG8gV2ViQ29yZQorICAgICAgICBzY3JvbGxiYXIgYW5kIHRoZW1lIGNvZGUuCisKKyAg
ICAgICAgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyIG5vdyBpbXBsZW1lbnRzIHRo
ZSBXZWJTY3JvbGxiYXIgQVBJCisgICAgICAgIGluc3RlYWQgb2YgdGhlIFNjcm9sbGJhclRoZW1l
Q2xpZW50IEFQSS4KKworICAgICAgICBBbHNvLCBDQ1Njcm9sbGJhckxheWVySW1wbCBub3cgbm8g
bG9uZ2VyIGdldHMgdGhlIHRoZW1lIGZyb20gYSBzdGF0aWMKKyAgICAgICAgYWNjZXNzb3IuIEl0
IG5vdyBnZXRzIGEgImNvcHkiIG9mIHRoZSB0aGVtZSBmcm9tIHRoZSBtYWluIHRocmVhZCB2aWEK
KyAgICAgICAgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSwgd2hpY2ggaXMgbW9yZSBjb3JyZWN0
IGZvciByZW5kZXIgdGhlbWUKKyAgICAgICAgc2Nyb2xsYmFycyB3aGljaCB3ZXJlIHByZXZpb3Vz
bHkgdXNpbmcgdGhlIG5hdGl2ZSB0aGVtZSB0byBnZXQgcGFydAorICAgICAgICBnZW9tZXRyeS4g
VXNpbmcgdGhlIGNvcnJlY3QgdGhlbWUgdW5mb3J0dW5hdGVseSBjYXVzZXMgY3Jhc2hlcyBkdWUg
dG8KKyAgICAgICAgYmFkIGNhc3RzIGluIFJlbmRlclNjcm9sbGJhclRoZW1lLCBzbyB0aGlzIHBh
dGNoIHR1cm5zIGJhY2sgb2ZmIHRoZQorICAgICAgICB1c2Ugb2YgU2Nyb2xsYmFyTGF5ZXJDaHJv
bWl1bSBmb3IgdGhlbWVkIHNjcm9sbGJhcnMgdW50aWwgdGhhdCBjYW4gYmUKKyAgICAgICAgcmVz
b2x2ZWQuCisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29y
ZGluYXRvckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVNjcm9sbGJhckxh
eWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZUNsaWVudC5oOgorICAgICAg
ICAoU2Nyb2xsYmFyVGhlbWVDbGllbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL1Njcm9sbGJhckxheWVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsYmFyTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJh
ckxheWVyQ2hyb21pdW06OlNjcm9sbGJhckxheWVyQ2hyb21pdW0pOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6cHVzaFByb3BlcnRpZXNUbyk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGJhckJhY2tncm91bmRQYWludGVyOjpTY3JvbGxiYXJCYWNrZ3JvdW5kUGFp
bnRlcik6CisgICAgICAgIChTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcik6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxiYXJUaHVtYlBhaW50ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxiYXJUaHVtYlBhaW50ZXI6OlNjcm9sbGJhclRodW1iUGFpbnRlcik6CisgICAgICAg
IChTY3JvbGxiYXJUaHVtYlBhaW50ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyTGF5
ZXJDaHJvbWl1bTo6Y3JlYXRlVGV4dHVyZVVwZGF0ZXJJZk5lZWRlZCk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxiYXJMYXllckNocm9taXVtOjpzZXRUZXh0dXJlUHJpb3JpdGllcyk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxiYXJMYXllckNocm9taXVtOjp1cGRhdGUpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Njcm9sbGJhckxheWVyQ2hyb21pdW0uaDoKKyAg
ICAgICAgKFNjcm9sbGJhckxheWVyQ2hyb21pdW0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhckxheWVySW1wbCk6CisgICAgICAg
IChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6c2V0U2Nyb2xsYmFyRGF0YSk6CisgICAg
ICAgIChXZWJDb3JlOjp0b1VWUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxh
eWVySW1wbDo6YXBwZW5kUXVhZHMpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXll
ckltcGw6OkNDU2Nyb2xsYmFyOjppc092ZXJsYXkpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3Jv
bGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjp2YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
Q1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmxvY2F0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6c2l6ZSk6CisgICAgICAg
IChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmVuYWJsZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjptYXhp
bXVtKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJh
cjo6dG90YWxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpD
Q1Njcm9sbGJhcjo6aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OkND
U2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSk6
CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6Omdl
dFRpY2ttYXJrcyk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NT
Y3JvbGxiYXI6OmNvbnRyb2xTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5
ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6cHJlc3NlZFBhcnQpOgorICAgICAgICAoV2ViQ29yZTo6Q0NT
Y3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpob3ZlcmVkUGFydCk6CisgICAgICAgIChX
ZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnNjcm9sbGJhck92ZXJs
YXlTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3Jv
bGxiYXI6Om9yaWVudGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJ
bXBsOjpDQ1Njcm9sbGJhcjo6aXNDdXN0b21TY3JvbGxiYXIpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmg6CisgICAgICAgIChD
Q1Njcm9sbGJhckxheWVySW1wbCk6CisgICAgICAgIChDQ1Njcm9sbGJhcik6CisKIDIwMTItMDct
MTEgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CiAKICAg
ICAgICAgTm9kZXNGcm9tUmVjdCBkb2Vzbid0IHdvcmsgb24gU1ZHIHJvb3QgZWxlbWVudHMuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDJhMjUzZDVlYzVlYWUwODE4MjY5NjhkYWY5ZTc4
ZDNhMzU3ZWU1YTguLjhiNDY3MjZhYjFjMWU3NjdkY2E1MWVlYjhlOWZkNDZhMjI2NDBlNTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYxIEBACisyMDEyLTA3LTExICBB
ZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBN
YWtlIFNjcm9sbGJhckxheWVyQ2hyb21pdW0gdXNlIFdlYlNjcm9sbGJhckxheWVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDUyOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBpbXBsZW1lbnRhdGlv
bnMgZm9yIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgYW5kCisgICAgICAgIFdlYlNjcm9sbGJh
clRoZW1lUGFpbnRlci4gRmlsbCBvdXQgYWRkaXRpb25hbCBBUEkgY2FsbHMgZm9yCisgICAgICAg
IFdlYlBsdWdpblNjcm9sbGJhckltcGwgc2luY2UgaXQgZGVyaXZlcyBmcm9tIFdlYlNjcm9sbGJh
ci4KKworICAgICAgICBBZGQgV2ViU2Nyb2xsYmFySW1wbCB0byB0aGUgY2xpZW50IEFQSSB0byB3
cmFwIGFuZCBvd24gYW4gZXhpc3RpbmcKKyAgICAgICAgV2ViQ29yZSBTY3JvbGxiYXIgb2JqZWN0
IGFuZCBwcm92aWRlIHRoZSBXZWJTY3JvbGxiYXIgaW50ZXJmYWNlLgorCisgICAgICAgIEJ5IGtl
ZXBpbmcgV2ViU2Nyb2xsYmFyIHNlcGFyYXRlIGZyb20gV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRy
eSwgdGhlCisgICAgICAgIGNvbXBvc2l0b3IgdGhyZWFkIGNhbiBjcmVhdGUgaXRzIG93biB0aHJl
YWQtc2FmZSBkYXRhIGJhZyB2ZXJzaW9uIG9mIGEKKyAgICAgICAgV2ViU2Nyb2xsYmFyIChDQ1Nj
cm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXIpLCBidXQgdGhpcyByZXF1aXJlcworICAgICAg
ICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwuCisKKyAgICAgICAgV2ViU2Nyb2xsYmFyVGhl
bWVDbGllbnRJbXBsIGRvZXMgdGhlIHJldmVyc2Ugb2YgV2ViU2Nyb2xsYmFySW1wbDsgaXQKKyAg
ICAgICAgd3JhcHMgYSBXZWJTY3JvbGxiYXIgYW5kIHByb3ZpZGVzIHRoZSBTY3JvbGxiYXJUaGVt
ZUNsaWVudCBpbnRlcmZhY2UuCisgICAgICAgIFRoaXMgaXMgc28gdGhhdCBhIFdlYlNjcm9sbGJh
ciBjYW4gYmUgcGFzc2VkIHRvIHRoZSBnZW9tZXRyeSBhbmQKKyAgICAgICAgcGFpbnRlciBmdW5j
dGlvbnMuIFRoZW4sIGludGVybmFsbHkgdGhlIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbAor
ICAgICAgICBjYW4gYmUgdXNlZCB0byBhZGFwdCB0aGUgV2ViU2Nyb2xsYmFyIHRvIHRoZSBTY3Jv
bGxiYXJUaGVtZUNsaWVudAorICAgICAgICBpbnRlcmZhY2Ugc28gdGhlIGdlb21ldHJ5IGFuZCBw
YWludGVyIGZ1bmN0aW9ucyBjYW4gY2FsbCBkaXJlY3QKKyAgICAgICAgZnVuY3Rpb25zIG9uIFNj
cm9sbGJhclRoZW1lQ29tcG9zaXRlLgorCisgICAgICAgICogV2ViS2l0Lmd5cDoKKyAgICAgICAg
KiBzcmMvRXh0ZXJuYWxQb3B1cE1lbnUuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICog
c3JjL1dlYlBsdWdpblNjcm9sbGJhckltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVn
aW5TY3JvbGxiYXJJbXBsOjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6bG9jYXRpb24pOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6c2l6ZSk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6OmVuYWJsZWQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjptYXhpbXVtKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6dG90YWxTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGx1Z2luU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6OmdldFRpY2ttYXJrcyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6OmNvbnRyb2xTaXplKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6cHJlc3NlZFBhcnQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpob3ZlcmVkUGFydCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6OnNjcm9sbGJhck92ZXJsYXlTdHls
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6Om9yaWVudGF0aW9u
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6aXNDdXN0b21TY3Jv
bGxiYXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpvbk1vdXNl
VXApOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpvbk1vdXNlTW92
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6Om9uTW91c2VMZWF2
ZSk6CisgICAgICAgICogc3JjL1dlYlBsdWdpblNjcm9sbGJhckltcGwuaDoKKyAgICAgICAgKFdl
YlBsdWdpblNjcm9sbGJhckltcGwpOgorICAgICAgICAqIHNyYy9XZWJTY3JvbGxiYXJJbXBsLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxi
YXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OldlYlNjcm9s
bGJhckltcGwpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjppc092ZXJsYXkp
OgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjp2YWx1ZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OmxvY2F0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
U2Nyb2xsYmFySW1wbDo6c2l6ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6
OmVuYWJsZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjptYXhpbXVtKToK
KyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6dG90YWxTaXplKToKKyAgICAgICAg
KFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OmdldFRpY2ttYXJrcyk6CisgICAgICAg
IChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OmNvbnRyb2xTaXplKToKKyAgICAgICAgKFdlYktp
dDo6dG9XZWJTY3JvbGxiYXJQYXJ0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1w
bDo6cHJlc3NlZFBhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjpob3Zl
cmVkUGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OnNjcm9sbGJhck92
ZXJsYXlTdHlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6Om9yaWVudGF0
aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6aXNDdXN0b21TY3JvbGxi
YXIpOgorICAgICAgICAqIHNyYy9XZWJTY3JvbGxiYXJJbXBsLmg6IENvcGllZCBmcm9tIFNvdXJj
ZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyLmguCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJTY3JvbGxiYXJJbXBsKToKKyAg
ICAgICAgKiBzcmMvV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudElt
cGw6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNj
cm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6eCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lQ2xpZW50SW1wbDo6eSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1l
Q2xpZW50SW1wbDo6d2lkdGgpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNs
aWVudEltcGw6OmhlaWdodCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xp
ZW50SW1wbDo6c2l6ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50
SW1wbDo6bG9jYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVu
dEltcGw6OnBhcmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50
SW1wbDo6cm9vdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1w
bDo6c2V0RnJhbWVSZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGll
bnRJbXBsOjpmcmFtZVJlY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNs
aWVudEltcGw6OmludmFsaWRhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGw6OmludmFsaWRhdGVSZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xs
YmFyVGhlbWVDbGllbnRJbXBsOjpzY3JvbGxiYXJPdmVybGF5U3R5bGUpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmdldFRpY2ttYXJrcyk6CisgICAgICAg
IChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aXNTY3JvbGxhYmxlQXJlYUFj
dGl2ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aXNT
Y3JvbGxWaWV3U2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsOjpjb252ZXJ0RnJvbUNvbnRhaW5pbmdXaW5kb3cpOgorICAgICAgICAoV2ViS2l0
OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmlzQ3VzdG9tU2Nyb2xsYmFyKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpvcmllbnRhdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6dmFsdWUpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmN1cnJlbnRQb3MpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnZpc2libGVTaXpl
KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjp0b3RhbFNp
emUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6Om1heGlt
dW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmNvbnRy
b2xTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjps
aW5lU3RlcCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6
cGFnZVN0ZXApOgorICAgICAgICAoV2ViS2l0Ojp0b1dlYkNvcmVQYXJ0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpwcmVzc2VkUGFydCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aG92ZXJlZFBhcnQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnN0eWxlQ2hhbmdlZCk6
CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6ZW5hYmxlZCk6
CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6c2V0RW5hYmxl
ZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aXNPdmVy
bGF5U2Nyb2xsYmFyKToKKyAgICAgICAgKiBzcmMvV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBs
Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAg
ICAoV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViU2Nyb2xs
YmFyVGhlbWVHZW9tZXRyeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6YXNzaWduKToKKyAgICAgICAgKFdl
YktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6dGh1bWJQb3NpdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnRodW1iTGVuZ3RoKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6dHJhY2tQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnRyYWNrTGVuZ3RoKToK
KyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6aGFzQnV0dG9ucyk6
CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6Omhhc1RodW1iKToK
KyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6dHJhY2tSZWN0KToK
KyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6dGh1bWJSZWN0KToK
KyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6bWluaW11bVRodW1i
TGVuZ3RoKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6c2Ny
b2xsYmFyVGhpY2tuZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9t
ZXRyeTo6YmFja0J1dHRvblN0YXJ0UmVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lR2VvbWV0cnk6OmJhY2tCdXR0b25FbmRSZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
U2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6Zm9yd2FyZEJ1dHRvblN0YXJ0UmVjdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OmZvcndhcmRCdXR0b25FbmRSZWN0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6Y29uc3RyYWlu
VHJhY2tSZWN0VG9UcmFja1BpZWNlcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRo
ZW1lR2VvbWV0cnk6OnNwbGl0VHJhY2spOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJU
aGVtZUdlb21ldHJ5OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5KToKKyAgICAgICAgKiBzcmMv
V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OmFzc2lnbik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRTY3JvbGxiYXJCYWNr
Z3JvdW5kKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWlu
dFRyYWNrQmFja2dyb3VuZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFp
bnRlcjo6cGFpbnRCYWNrVHJhY2tQYXJ0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyOjpwYWludEZvcndhcmRUcmFja1BhcnQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50QmFja0J1dHRvblN0YXJ0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludEJhY2tCdXR0b25FbmQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50Rm9yd2FyZEJ1
dHRvblN0YXJ0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpw
YWludEZvcndhcmRCdXR0b25FbmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZVBhaW50ZXI6OnBhaW50VGlja21hcmtzKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyOjpwYWludFRodW1iKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyOjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIpOgorICAgICAgICAqIHRlc3Rz
L1Njcm9sbGJhckxheWVyQ2hyb21pdW1UZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tT
Y3JvbGxiYXI6OmNvbnZlcnRGcm9tQ29udGFpbmluZ1dpbmRvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpNb2NrU2Nyb2xsYmFyOjppc092ZXJsYXlTY3JvbGxiYXIpOgorICAgICAgICAoTW9ja1Njcm9s
bGJhcik6CisgICAgICAgIChXZWJDb3JlOjpURVNUKToKKwogMjAxMi0wNy0xMCAgUGF2ZWwgRmVs
ZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBt
aWdyYXRlIGZyb20gYmFja2dyb3VuZCBpbWFnZXMgdG8gQ1NTIGZvciBzdGF0dXNiYXIgcmVuZGVy
aW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkgYi9Tb3VyY2Uv
UGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQppbmRleCBhNmIzNWZkOTM4ZThhMDg5MjdhNmNlMWNmOTc0
NGQ3MWU0YzRhNjMyLi4yODg5YjU3MjM4N2ZhZjQxZTUwNzViYzA2M2NjYzViZDU2YWMwNTc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQorKysgYi9Tb3VyY2UvUGxh
dGZvcm0vUGxhdGZvcm0uZ3lwaQpAQCAtMTAwLDYgKzEwMCw4IEBACiAgICAgICAgICAgICAnY2hy
b21pdW0vcHVibGljL1dlYlJlZmVycmVyUG9saWN5LmgnLAogICAgICAgICAgICAgJ2Nocm9taXVt
L3B1YmxpYy9XZWJSZW5kZXJpbmdTdGF0cy5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJs
aWMvV2ViU2Nyb2xsYmFyLmgnLAorICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJTY3Jv
bGxiYXJUaGVtZUdlb21ldHJ5LmgnLAorICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJT
Y3JvbGxiYXJUaGVtZVBhaW50ZXIuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dl
YlNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0v
cHVibGljL1dlYlNpemUuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNvY2tl
dFN0cmVhbUVycm9yLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1
YmxpYy9XZWJTY3JvbGxiYXIuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2Vi
U2Nyb2xsYmFyLmgKaW5kZXggODc5NTU2NTUyZDFhMzE2ZDRkMmQ1OTdkNjZjNWViMDUwZDk5ZTBm
MS4uYmUyOWMxMjA0Nzc5YjE3Y2IwNDM1MjQ1Y2YzZmM0YTViNTNkMjk4ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXIuaAorKysgYi9Tb3Vy
Y2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhci5oCkBAIC0yNSwxMCArMjUs
MjcgQEAKICNpZm5kZWYgV2ViU2Nyb2xsYmFyX2gKICNkZWZpbmUgV2ViU2Nyb2xsYmFyX2gKIAor
I2luY2x1ZGUgIldlYlBvaW50LmgiCisjaW5jbHVkZSAiV2ViUmVjdC5oIgorI2luY2x1ZGUgIldl
YlNpemUuaCIKKyNpbmNsdWRlICJXZWJWZWN0b3IuaCIKKyNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJ
T04KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKK2NsYXNzIFNjcm9sbGJhcjsKK30KKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKKy8vIEEg
Y29uc3QgYWNjZXNzb3IgaW50ZXJmYWNlIGZvciBhIFdlYktpdCBzY3JvbGxiYXIKIGNsYXNzIFdl
YlNjcm9sbGJhciB7CiBwdWJsaWM6CisjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCisgICAgV0VC
S0lUX0VYUE9SVCBzdGF0aWMgUGFzc093blB0cjxXZWJTY3JvbGxiYXI+IGNyZWF0ZShXZWJDb3Jl
OjpTY3JvbGxiYXIqKTsKKyNlbmRpZgorCiAgICAgZW51bSBPcmllbnRhdGlvbiB7CiAgICAgICAg
IEhvcml6b250YWwsCiAgICAgICAgIFZlcnRpY2FsCkBAIC00Niw2ICs2MywzMSBAQCBwdWJsaWM6
CiAgICAgICAgIFNjcm9sbEJ5UGl4ZWwKICAgICB9OwogCisgICAgZW51bSBTY3JvbGxiYXJDb250
cm9sU2l6ZSB7CisgICAgICAgIFJlZ3VsYXJTY3JvbGxiYXIsCisgICAgICAgIFNtYWxsU2Nyb2xs
YmFyCisgICAgfTsKKworICAgIGVudW0gU2Nyb2xsYmFyUGFydCB7CisgICAgICAgIE5vUGFydCwK
KyAgICAgICAgQmFja0J1dHRvblN0YXJ0UGFydCwKKyAgICAgICAgRm9yd2FyZEJ1dHRvblN0YXJ0
UGFydCwKKyAgICAgICAgQmFja1RyYWNrUGFydCwKKyAgICAgICAgVGh1bWJQYXJ0LAorICAgICAg
ICBGb3J3YXJkVHJhY2tQYXJ0LAorICAgICAgICBCYWNrQnV0dG9uRW5kUGFydCwKKyAgICAgICAg
Rm9yd2FyZEJ1dHRvbkVuZFBhcnQsCisgICAgICAgIFNjcm9sbGJhckJHUGFydCwKKyAgICAgICAg
VHJhY2tCR1BhcnQsCisgICAgICAgIEFsbFBhcnRzCisgICAgfTsKKworICAgIGVudW0gU2Nyb2xs
YmFyT3ZlcmxheVN0eWxlIHsKKyAgICAgICAgU2Nyb2xsYmFyT3ZlcmxheVN0eWxlRGVmYXVsdCwK
KyAgICAgICAgU2Nyb2xsYmFyT3ZlcmxheVN0eWxlRGFyaywKKyAgICAgICAgU2Nyb2xsYmFyT3Zl
cmxheVN0eWxlTGlnaHQKKyAgICB9OworCiAgICAgdmlydHVhbCB+V2ViU2Nyb2xsYmFyKCkgeyB9
CiAKICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiB0aGlzIGlzIGFuIG92ZXJsYXkgc2Nyb2xsYmFyLgpA
QCAtNTMsNiArOTUsMjEgQEAgcHVibGljOgogCiAgICAgLy8gR2V0cyB0aGUgY3VycmVudCB2YWx1
ZSAoaS5lLiBwb3NpdGlvbiBpbnNpZGUgdGhlIHJlZ2lvbikuCiAgICAgdmlydHVhbCBpbnQgdmFs
dWUoKSBjb25zdCA9IDA7CisKKyAgICB2aXJ0dWFsIFdlYlBvaW50IGxvY2F0aW9uKCkgY29uc3Qg
PSAwOworICAgIHZpcnR1YWwgV2ViU2l6ZSBzaXplKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwg
Ym9vbCBlbmFibGVkKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgaW50IG1heGltdW0oKSBjb25z
dCA9IDA7CisgICAgdmlydHVhbCBpbnQgdG90YWxTaXplKCkgY29uc3QgPSAwOworICAgIHZpcnR1
YWwgYm9vbCBpc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBi
b29sIGlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGdldFRpY2ttYXJrcyhXZWJWZWN0b3I8V2ViUmVjdD4mIHRpY2ttYXJrcykgY29uc3QgPSAwOwor
ICAgIHZpcnR1YWwgU2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUoKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBTY3JvbGxiYXJQYXJ0IHByZXNzZWRQYXJ0KCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgU2Nyb2xsYmFyUGFydCBob3ZlcmVkUGFydCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0
dWFsIFNjcm9sbGJhck92ZXJsYXlTdHlsZSBzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdCA9
IDA7CisgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgT3JpZW50YXRpb24gb3JpZW50YXRpb24oKSBjb25zdCA9IDA7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9w
dWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9t
aXVtL3B1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2JmN2M5
NzZlYmQ2MjAyZmY2M2UyZTc2Y2M1NmQ1NjUwYjJkNzViMAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5o
CkBAIC0wLDAgKzEsODkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0
cnlfaAorI2RlZmluZSBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5X2gKKworI2luY2x1ZGUgPHB1
YmxpYy9XZWJSZWN0Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFNjcm9sbGJhclRo
ZW1lQ29tcG9zaXRlOworfTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlNjcm9s
bGJhcjsKKworY2xhc3MgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSB7CitwdWJsaWM6CisgICAg
V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSgpOworCisgICAgV2ViU2Nyb2xsYmFyVGhlbWVHZW9t
ZXRyeShjb25zdCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5JiBnZW9tZXRyeSkgeyBhc3NpZ24o
Z2VvbWV0cnkpOyB9CisgICAgdmlydHVhbCB+V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSgpOwor
ICAgIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkmIG9wZXJhdG9yPShjb25zdCBXZWJTY3JvbGxi
YXJUaGVtZUdlb21ldHJ5JiBnZW9tZXRyeSkKKyAgICB7CisgICAgICAgIGFzc2lnbihnZW9tZXRy
eSk7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAgICBib29sIGlzTnVsbCgpIGNv
bnN0IHsgcmV0dXJuIG1fdGhlbWU7IH0KKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNzaWduKGNv
bnN0IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkmKTsKKworICAgIGludCB0aHVtYlBvc2l0aW9u
KFdlYlNjcm9sbGJhciopOworICAgIGludCB0aHVtYkxlbmd0aChXZWJTY3JvbGxiYXIqKTsKKyAg
ICBpbnQgdHJhY2tQb3NpdGlvbihXZWJTY3JvbGxiYXIqKTsKKyAgICBpbnQgdHJhY2tMZW5ndGgo
V2ViU2Nyb2xsYmFyKik7CisKKyAgICBib29sIGhhc0J1dHRvbnMoV2ViU2Nyb2xsYmFyKik7Cisg
ICAgYm9vbCBoYXNUaHVtYihXZWJTY3JvbGxiYXIqKTsKKworICAgIFdlYlJlY3QgdHJhY2tSZWN0
KFdlYlNjcm9sbGJhciopOworICAgIFdlYlJlY3QgdGh1bWJSZWN0KFdlYlNjcm9sbGJhciopOwor
CisgICAgaW50IG1pbmltdW1UaHVtYkxlbmd0aChXZWJTY3JvbGxiYXIqKTsKKyAgICBpbnQgc2Ny
b2xsYmFyVGhpY2tuZXNzKFdlYlNjcm9sbGJhciopOworCisgICAgV2ViUmVjdCBiYWNrQnV0dG9u
U3RhcnRSZWN0KFdlYlNjcm9sbGJhciopOworICAgIFdlYlJlY3QgYmFja0J1dHRvbkVuZFJlY3Qo
V2ViU2Nyb2xsYmFyKik7CisgICAgV2ViUmVjdCBmb3J3YXJkQnV0dG9uU3RhcnRSZWN0KFdlYlNj
cm9sbGJhciopOworICAgIFdlYlJlY3QgZm9yd2FyZEJ1dHRvbkVuZFJlY3QoV2ViU2Nyb2xsYmFy
Kik7CisKKyAgICBXZWJSZWN0IGNvbnN0cmFpblRyYWNrUmVjdFRvVHJhY2tQaWVjZXMoV2ViU2Ny
b2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOworICAgIHZvaWQgc3BsaXRUcmFjayhXZWJTY3JvbGxi
YXIqLCBjb25zdCBXZWJSZWN0JiB0cmFjaywgV2ViUmVjdCYgc3RhcnRUcmFjaywgV2ViUmVjdCYg
dGh1bWIsIFdlYlJlY3QmIGVuZFRyYWNrKTsKKworI2lmIFdFQktJVF9JTVBMRU1FTlRBVElPTgor
ICAgIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDb21w
b3NpdGUqKTsKKyNlbmRpZgorCitwcml2YXRlOgorICAgIC8vIFRoZSB0aGVtZSBpcyBub3Qgb3du
ZWQgYnkgdGhpcyBjbGFzcy4gSXQgaXMgYXNzdW1lZCB0aGF0IHRoZSB0aGVtZSBpcyBhCisgICAg
Ly8gc3RhdGljIHBvaW50ZXIgYW5kIGl0cyBsaWZldGltZSBpcyBlc3NlbnRpYWxseSBpbmZpbml0
ZS4gT25seSB0aHJlYWQtc2FmZQorICAgIC8vIGZ1bmN0aW9ucyBvbiB0aGUgdGhlbWUgY2FuIGJl
IGNhbGxlZCBieSB0aGlzIHRoZW1lLgorICAgIFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ29tcG9z
aXRlKiBtX3RoZW1lOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXJUaGVt
ZVBhaW50ZXIuaCBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTE2ZjBlNGU0OGViZTliNWQxYWI5NTA3MzNhMjUz
ZDRkYThkODA1MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9w
dWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmgKQEAgLTAsMCArMSw3OSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
QU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyX2gKKyNkZWZpbmUgV2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyX2gKKworI2luY2x1ZGUgPHB1YmxpYy9XZWJDYW52YXMuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworY2xhc3MgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGU7Cit9OworCituYW1l
c3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViU2Nyb2xsYmFyOworY2xhc3MgV2ViUmVjdDsKKwor
Y2xhc3MgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIHsKK3B1YmxpYzoKKyAgICBXZWJTY3JvbGxi
YXJUaGVtZVBhaW50ZXIoKTsKKyAgICBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIoY29uc3QgV2Vi
U2Nyb2xsYmFyVGhlbWVQYWludGVyJiBnZW9tZXRyeSkgeyBhc3NpZ24oZ2VvbWV0cnkpOyB9Cisg
ICAgdmlydHVhbCB+V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyKCk7CisgICAgV2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyJiBvcGVyYXRvcj0oY29uc3QgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyJiBw
YWludGVyKQorICAgIHsKKyAgICAgICAgYXNzaWduKHBhaW50ZXIpOworICAgICAgICByZXR1cm4g
KnRoaXM7CisgICAgfQorCisgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBtX3RoZW1l
OyB9CisgICAgdm9pZCBhc3NpZ24oY29uc3QgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyJik7CisK
KyAgICB2b2lkIHBhaW50U2Nyb2xsYmFyQmFja2dyb3VuZChXZWJDYW52YXMqLCBXZWJTY3JvbGxi
YXIqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgdm9pZCBwYWludFRyYWNrQmFja2dyb3VuZChXZWJD
YW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgdm9pZCBwYWludEJh
Y2tUcmFja1BhcnQoV2ViQ2FudmFzKiwgV2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOwor
ICAgIHZvaWQgcGFpbnRGb3J3YXJkVHJhY2tQYXJ0KFdlYkNhbnZhcyosIFdlYlNjcm9sbGJhcios
IGNvbnN0IFdlYlJlY3QmKTsKKyAgICB2b2lkIHBhaW50QmFja0J1dHRvblN0YXJ0KFdlYkNhbnZh
cyosIFdlYlNjcm9sbGJhciosIGNvbnN0IFdlYlJlY3QmKTsKKyAgICB2b2lkIHBhaW50QmFja0J1
dHRvbkVuZChXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0Jik7CisgICAg
dm9pZCBwYWludEZvcndhcmRCdXR0b25TdGFydChXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBj
b25zdCBXZWJSZWN0Jik7CisgICAgdm9pZCBwYWludEZvcndhcmRCdXR0b25FbmQoV2ViQ2FudmFz
KiwgV2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOworICAgIHZvaWQgcGFpbnRUaWNrbWFy
a3MoV2ViQ2FudmFzKiwgV2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOworICAgIHZvaWQg
cGFpbnRUaHVtYihXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0Jik7CisK
KyNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KKyAgICBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIo
V2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqKTsKKyNlbmRpZgorCitwcml2YXRlOgor
ICAgIC8vIFRoZSB0aGVtZSBpcyBub3Qgb3duZWQgYnkgdGhpcyBjbGFzcy4gSXQgaXMgYXNzdW1l
ZCB0aGF0IHRoZSB0aGVtZSBpcyBhCisgICAgLy8gc3RhdGljIHBvaW50ZXIgYW5kIGl0cyBsaWZl
dGltZSBpcyBlc3NlbnRpYWxseSBpbmZpbml0ZS4gVGhlIGZ1bmN0aW9ucworICAgIC8vIGNhbGxl
ZCBmcm9tIHRoZSBwYWludGVyIG1heSBub3QgYmUgdGhyZWFkLXNhZmUsIHNvIGFsbCBjYWxscyBt
dXN0IGJlIG1hZGUKKyAgICAvLyBmcm9tIHRoZSBzYW1lIHRocmVhZCB0aGF0IGl0IGlzIGNyZWF0
ZWQgb24uCisgICAgV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIG1fdGhlbWU7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9t
aXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCmluZGV4IDdjZmI4NmMwZjA2ZDM0ZTQ4NmI4NjViMDgw
ODM1ZmY4ZDVmZjI0YWQuLmMyYzE1NTE0YTA0ZWJlYmRhNDVlNzJhY2QwNWY1ODc3OGRlOGRhZDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCkBAIC0zNCw5
ICszNCwxMiBAQAogI2luY2x1ZGUgIlJlbmRlckxheWVyQ29tcG9zaXRvci5oIgogI2luY2x1ZGUg
IlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJTY3JvbGxiYXJMYXllckNocm9taXVtLmgiCi0jaW5j
bHVkZSAiU2Nyb2xsYmFyVGhlbWUuaCIKKyNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZUNvbXBvc2l0
ZS5oIgogI2luY2x1ZGUgImNjL0NDUHJveHkuaCIKICNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xs
YWJsZUxheWVyLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhci5oPgorI2luY2x1ZGUg
PHB1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Lmg+CisjaW5jbHVkZSA8cHVibGljL1dl
YlNjcm9sbGJhclRoZW1lUGFpbnRlci5oPgogCiB1c2luZyBXZWJLaXQ6OldlYkxheWVyOwogdXNp
bmcgV2ViS2l0OjpXZWJTY3JvbGxhYmxlTGF5ZXI7CkBAIC0xMzEsMTMgKzEzNCwyMSBAQCBzdGF0
aWMgV2ViTGF5ZXIgY3JlYXRlU2Nyb2xsYmFyTGF5ZXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIFdl
YlNjcm9sbGFibGVMYXllciBzYwogICAgIHBsYXRmb3JtU3VwcG9ydGVkID0gZmFsc2U7CiAjZW5k
aWYKIAotICAgIGlmICghcGxhdGZvcm1TdXBwb3J0ZWQgfHwgc2Nyb2xsYmFyLT5pc092ZXJsYXlT
Y3JvbGxiYXIoKSkgeworICAgIGlmICghcGxhdGZvcm1TdXBwb3J0ZWQgfHwgc2Nyb2xsYmFyLT5p
c092ZXJsYXlTY3JvbGxiYXIoKSB8fCBzY3JvbGxiYXItPmlzQ3VzdG9tU2Nyb2xsYmFyKCkpIHsK
ICAgICAgICAgc2Nyb2xsYmFyR3JhcGhpY3NMYXllci0+c2V0Q29udGVudHNUb01lZGlhKDApOwog
ICAgICAgICBzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CiAg
ICAgICAgIHJldHVybiBXZWJMYXllcigpOwogICAgIH0KIAotICAgIFJlZlB0cjxTY3JvbGxiYXJM
YXllckNocm9taXVtPiBzY3JvbGxiYXJMYXllciA9IFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNy
ZWF0ZShzY3JvbGxiYXIsIHNjcm9sbExheWVyLnVud3JhcDxMYXllckNocm9taXVtPigpLT5pZCgp
KTsKKyAgICAvLyBBbGwgQ2hyb21pdW0gc2Nyb2xsYmFyIHRoZW1lcyBkZXJpdmUgZnJvbSBTY3Jv
bGxiYXJUaGVtZUNvbXBvc2l0ZS4KKyAgICBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhlbWVD
b21wb3NpdGUgPSBzdGF0aWNfY2FzdDxTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSo+KHNjcm9sbGJh
ci0+dGhlbWUoKSk7CisKKyAgICAvLyBTY3JvbGxiYXJMYXllckNocm9taXVtIG93bnMgdGhlIFdl
YlNjcm9sbGJhcgorICAgIE93blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhcj4gd2ViU2Nyb2xsYmFy
ID0gV2ViS2l0OjpXZWJTY3JvbGxiYXI6OmNyZWF0ZShzY3JvbGxiYXIpOworICAgIFdlYktpdDo6
V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIodGhlbWVDb21wb3NpdGUpOworICAgIFdl
YktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBnZW9tZXRyeSh0aGVtZUNvbXBvc2l0ZSk7
CisKKyAgICBSZWZQdHI8U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4gc2Nyb2xsYmFyTGF5ZXIgPSBT
Y3JvbGxiYXJMYXllckNocm9taXVtOjpjcmVhdGUod2ViU2Nyb2xsYmFyLnJlbGVhc2UoKSwgcGFp
bnRlciwgZ2VvbWV0cnksIHNjcm9sbExheWVyLnVud3JhcDxMYXllckNocm9taXVtPigpLT5pZCgp
KTsKICAgICBzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5zZXRDb250ZW50c1RvTWVkaWEoc2Nyb2xs
YmFyTGF5ZXIuZ2V0KCkpOwogICAgIHNjcm9sbGJhckdyYXBoaWNzTGF5ZXItPnNldERyYXdzQ29u
dGVudChmYWxzZSk7CiAgICAgc2Nyb2xsYmFyTGF5ZXItPnNldE9wYXF1ZShzY3JvbGxiYXJHcmFw
aGljc0xheWVyLT5jb250ZW50c09wYXF1ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxiYXJUaGVtZUNsaWVudC5oCmluZGV4IDg3MWM1MmU5MGI4OTkwZjg4NmE2YjdkM2Zk
NWZkNGU0ZGJmNjlmMjUuLmViYTQwOTQ2OWMyZGIyOTMyZmVlNTJlOTI3MTQxMDVlNjRkZmIwZDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDbGllbnQuaApA
QCAtODMsNiArODMsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGVuYWJsZWQoKSBjb25z
dCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEVuYWJsZWQoYm9vbCkgPSAwOwogCisgICAgdmly
dHVhbCBib29sIGlzT3ZlcmxheVNjcm9sbGJhcigpIGNvbnN0ID0gMDsKKwogcHJvdGVjdGVkOgog
ICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1lQ2xpZW50KCkgeyB9CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFyTGF5ZXJD
aHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9T
Y3JvbGxiYXJMYXllckNocm9taXVtLmNwcAppbmRleCA1NmM5NmE3NGEwYmI2YzUxNTk1NzM4NDg0
OThhYWM3ZWU1N2Q1OWM1Li41NGJiZTdhM2ZkMzhhYTQzNzRmOGQ4NTJjN2UzYzFmMGNkMjhiMmVm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9T
Y3JvbGxiYXJMYXllckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9TY3JvbGxiYXJMYXllckNocm9taXVtLmNwcApAQCAtMzcsNiArMzcs
OSBAQAogI2luY2x1ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdC5oIgogI2luY2x1ZGUgImNjL0NDU2Ny
b2xsYmFyTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NUZXh0dXJlVXBkYXRlci5oIgorI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJSZWN0Lmg+CisKK3VzaW5nIFdlYktpdDo6V2ViUmVjdDsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NSwyNyArNDgsMTggQEAgUGFzc093blB0cjxDQ0xheWVy
SW1wbD4gU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlQ0NMYXllckltcGwoKQogICAgIHJl
dHVybiBDQ1Njcm9sbGJhckxheWVySW1wbDo6Y3JlYXRlKGlkKCkpOwogfQogCi1QYXNzUmVmUHRy
PFNjcm9sbGJhckxheWVyQ2hyb21pdW0+IFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNyZWF0ZShT
Y3JvbGxiYXIqIHNjcm9sbGJhciwgaW50IHNjcm9sbExheWVySWQpCitQYXNzUmVmUHRyPFNjcm9s
bGJhckxheWVyQ2hyb21pdW0+IFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNyZWF0ZShQYXNzT3du
UHRyPFdlYktpdDo6V2ViU2Nyb2xsYmFyPiBzY3JvbGxiYXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyIHBhaW50ZXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBn
ZW9tZXRyeSwgaW50IHNjcm9sbExheWVySWQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBT
Y3JvbGxiYXJMYXllckNocm9taXVtKHNjcm9sbGJhciwgc2Nyb2xsTGF5ZXJJZCkpOworICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bShzY3JvbGxiYXIsIHBhaW50
ZXIsIGdlb21ldHJ5LCBzY3JvbGxMYXllcklkKSk7CiB9CiAKLVNjcm9sbGJhckxheWVyQ2hyb21p
dW06OlNjcm9sbGJhckxheWVyQ2hyb21pdW0oU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGludCBzY3Jv
bGxMYXllcklkKQorU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1
bShQYXNzT3duUHRyPFdlYktpdDo6V2ViU2Nyb2xsYmFyPiBzY3JvbGxiYXIsIFdlYktpdDo6V2Vi
U2Nyb2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeSBnZW9tZXRyeSwgaW50IHNjcm9sbExheWVySWQpCiAgICAgOiBtX3Njcm9sbGJhcihz
Y3JvbGxiYXIpCisgICAgLCBtX3BhaW50ZXIocGFpbnRlcikKKyAgICAsIG1fZ2VvbWV0cnkoZ2Vv
bWV0cnkpCiAgICAgLCBtX3Njcm9sbExheWVySWQoc2Nyb2xsTGF5ZXJJZCkKICAgICAsIG1fdGV4
dHVyZUZvcm1hdChHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNKQotICAgICwgbV9zY3Jv
bGxiYXJPdmVybGF5U3R5bGUoc2Nyb2xsYmFyLT5zY3JvbGxiYXJPdmVybGF5U3R5bGUoKSkKLSAg
ICAsIG1faXNTY3JvbGxhYmxlQXJlYUFjdGl2ZShzY3JvbGxiYXItPmlzU2Nyb2xsYWJsZUFyZWFB
Y3RpdmUoKSkKLSAgICAsIG1faXNTY3JvbGxWaWV3U2Nyb2xsYmFyKHNjcm9sbGJhci0+aXNTY3Jv
bGxWaWV3U2Nyb2xsYmFyKCkpCi0gICAgLCBtX29yaWVudGF0aW9uKHNjcm9sbGJhci0+b3JpZW50
YXRpb24oKSkKLSAgICAsIG1fY29udHJvbFNpemUoc2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpKQot
ewotfQotCi1TY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6
dGhlbWUoKSBjb25zdAogewotICAgIC8vIEFsbCBDaHJvbWl1bSBzY3JvbGxiYXJzIGFyZSBTY3Jv
bGxiYXJUaGVtZUNvbXBvc2l0ZS1kZXJpdmVkLgotICAgIHJldHVybiBzdGF0aWNfY2FzdDxTY3Jv
bGxiYXJUaGVtZUNvbXBvc2l0ZSo+KG1fc2Nyb2xsYmFyLT50aGVtZSgpKTsKIH0KIAogdm9pZCBT
Y3JvbGxiYXJMYXllckNocm9taXVtOjpwdXNoUHJvcGVydGllc1RvKENDTGF5ZXJJbXBsKiBsYXll
cikKQEAgLTc0LDcgKzY4LDcgQEAgdm9pZCBTY3JvbGxiYXJMYXllckNocm9taXVtOjpwdXNoUHJv
cGVydGllc1RvKENDTGF5ZXJJbXBsKiBsYXllcikKIAogICAgIENDU2Nyb2xsYmFyTGF5ZXJJbXBs
KiBzY3JvbGxiYXJMYXllciA9IHN0YXRpY19jYXN0PENDU2Nyb2xsYmFyTGF5ZXJJbXBsKj4obGF5
ZXIpOwogCi0gICAgc2Nyb2xsYmFyTGF5ZXItPnNldFNjcm9sbGJhck92ZXJsYXlTdHlsZShtX3Nj
cm9sbGJhck92ZXJsYXlTdHlsZSk7CisgICAgc2Nyb2xsYmFyTGF5ZXItPnNldFNjcm9sbGJhckRh
dGEobV9zY3JvbGxiYXIuZ2V0KCksIG1fZ2VvbWV0cnkpOwogCiAgICAgaWYgKG1fYmFja1RyYWNr
ICYmIG1fYmFja1RyYWNrLT50ZXh0dXJlKCktPmhhdmVCYWNraW5nVGV4dHVyZSgpKQogICAgICAg
ICBzY3JvbGxiYXJMYXllci0+c2V0QmFja1RyYWNrVGV4dHVyZUlkKG1fYmFja1RyYWNrLT50ZXh0
dXJlKCktPnRleHR1cmVJZCgpKTsKQEAgLTkwLDEwNSArODQsOTQgQEAgdm9pZCBTY3JvbGxiYXJM
YXllckNocm9taXVtOjpwdXNoUHJvcGVydGllc1RvKENDTGF5ZXJJbXBsKiBsYXllcikKICAgICAg
ICAgc2Nyb2xsYmFyTGF5ZXItPnNldFRodW1iVGV4dHVyZUlkKG1fdGh1bWItPnRleHR1cmUoKS0+
dGV4dHVyZUlkKCkpOwogICAgIGVsc2UKICAgICAgICAgc2Nyb2xsYmFyTGF5ZXItPnNldFRodW1i
VGV4dHVyZUlkKDApOwotCi0gICAgVmVjdG9yPEludFJlY3Q+IHRpY2ttYXJrczsKLSAgICBtX3Nj
cm9sbGJhci0+Z2V0VGlja21hcmtzKHRpY2ttYXJrcyk7Ci0gICAgc2Nyb2xsYmFyTGF5ZXItPnNl
dFRpY2ttYXJrcyh0aWNrbWFya3MpOwotCi0gICAgc2Nyb2xsYmFyTGF5ZXItPnNldElzU2Nyb2xs
YWJsZUFyZWFBY3RpdmUobV9pc1Njcm9sbGFibGVBcmVhQWN0aXZlKTsKLSAgICBzY3JvbGxiYXJM
YXllci0+c2V0SXNTY3JvbGxWaWV3U2Nyb2xsYmFyKG1faXNTY3JvbGxWaWV3U2Nyb2xsYmFyKTsK
LQotICAgIHNjcm9sbGJhckxheWVyLT5zZXRPcmllbnRhdGlvbihtX29yaWVudGF0aW9uKTsKLQot
ICAgIHNjcm9sbGJhckxheWVyLT5zZXRDb250cm9sU2l6ZShtX2NvbnRyb2xTaXplKTsKLQotICAg
IHNjcm9sbGJhckxheWVyLT5zZXRQcmVzc2VkUGFydChtX3Njcm9sbGJhci0+cHJlc3NlZFBhcnQo
KSk7Ci0gICAgc2Nyb2xsYmFyTGF5ZXItPnNldEhvdmVyZWRQYXJ0KG1fc2Nyb2xsYmFyLT5ob3Zl
cmVkUGFydCgpKTsKLQotICAgIHNjcm9sbGJhckxheWVyLT5zZXRFbmFibGVkKG1fc2Nyb2xsYmFy
LT5lbmFibGVkKCkpOwogfQogCiBjbGFzcyBTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlciA6IHB1
YmxpYyBMYXllclBhaW50ZXJDaHJvbWl1bSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2Ny
b2xsYmFyQmFja2dyb3VuZFBhaW50ZXIpOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRy
PFNjcm9sbGJhckJhY2tncm91bmRQYWludGVyPiBjcmVhdGUoU2Nyb2xsYmFyVGhlbWVDbGllbnQq
IHNjcm9sbGJhciwgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIHRoZW1lLCBTY3JvbGxiYXJQYXJ0
IHRyYWNrUGFydCkKKyAgICBzdGF0aWMgUGFzc093blB0cjxTY3JvbGxiYXJCYWNrZ3JvdW5kUGFp
bnRlcj4gY3JlYXRlKFdlYktpdDo6V2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIFdlYktpdDo6V2Vi
U2Nyb2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeSBnZW9tZXRyeSwgU2Nyb2xsYmFyUGFydCB0cmFja1BhcnQpCiAgICAgewotICAgICAg
ICByZXR1cm4gYWRvcHRQdHIobmV3IFNjcm9sbGJhckJhY2tncm91bmRQYWludGVyKHNjcm9sbGJh
ciwgdGhlbWUsIHRyYWNrUGFydCkpOworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNjcm9s
bGJhckJhY2tncm91bmRQYWludGVyKHNjcm9sbGJhciwgcGFpbnRlciwgZ2VvbWV0cnksIHRyYWNr
UGFydCkpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBwYWludChTa0NhbnZhcyogY2FudmFz
LCBjb25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCwgRmxvYXRSZWN0JikgT1ZFUlJJREUKKyAgICB2
aXJ0dWFsIHZvaWQgcGFpbnQoU2tDYW52YXMqIHNrQ2FudmFzLCBjb25zdCBJbnRSZWN0JiBjb250
ZW50UmVjdCwgRmxvYXRSZWN0JikgT1ZFUlJJREUKICAgICB7Ci0gICAgICAgIFBsYXRmb3JtQ29u
dGV4dFNraWEgcGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7Ci0gICAgICAgIHBsYXRmb3JtQ29udGV4
dC5zZXREcmF3aW5nVG9JbWFnZUJ1ZmZlcih0cnVlKTsKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0
IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7Ci0KKyAgICAgICAgV2ViS2l0OjpXZWJDYW52YXMq
IGNhbnZhcyA9IHNrQ2FudmFzOwogICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGlzIGEgc2ltcGxp
ZmljYXRpb24gb2YgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGU6OnBhaW50LgotICAgICAgICBtX3Ro
ZW1lLT5wYWludFNjcm9sbGJhckJhY2tncm91bmQoJmNvbnRleHQsIG1fc2Nyb2xsYmFyKTsKKyAg
ICAgICAgbV9wYWludGVyLnBhaW50U2Nyb2xsYmFyQmFja2dyb3VuZChjYW52YXMsIG1fc2Nyb2xs
YmFyLCBjb250ZW50UmVjdCk7CiAKLSAgICAgICAgaWYgKG1fdGhlbWUtPmhhc0J1dHRvbnMobV9z
Y3JvbGxiYXIpKSB7Ci0gICAgICAgICAgICBJbnRSZWN0IGJhY2tCdXR0b25TdGFydFBhaW50UmVj
dCA9IG1fdGhlbWUtPmJhY2tCdXR0b25SZWN0KG1fc2Nyb2xsYmFyLCBCYWNrQnV0dG9uU3RhcnRQ
YXJ0LCB0cnVlKTsKLSAgICAgICAgICAgIG1fdGhlbWUtPnBhaW50QnV0dG9uKCZjb250ZXh0LCBt
X3Njcm9sbGJhciwgYmFja0J1dHRvblN0YXJ0UGFpbnRSZWN0LCBCYWNrQnV0dG9uU3RhcnRQYXJ0
KTsKKyAgICAgICAgaWYgKG1fZ2VvbWV0cnkuaGFzQnV0dG9ucyhtX3Njcm9sbGJhcikpIHsKKyAg
ICAgICAgICAgIFdlYlJlY3QgYmFja0J1dHRvblN0YXJ0UGFpbnRSZWN0ID0gbV9nZW9tZXRyeS5i
YWNrQnV0dG9uU3RhcnRSZWN0KG1fc2Nyb2xsYmFyKTsKKyAgICAgICAgICAgIG1fcGFpbnRlci5w
YWludEJhY2tCdXR0b25TdGFydChjYW52YXMsIG1fc2Nyb2xsYmFyLCBiYWNrQnV0dG9uU3RhcnRQ
YWludFJlY3QpOwogCi0gICAgICAgICAgICBJbnRSZWN0IGJhY2tCdXR0b25FbmRQYWludFJlY3Qg
PSBtX3RoZW1lLT5iYWNrQnV0dG9uUmVjdChtX3Njcm9sbGJhciwgQmFja0J1dHRvbkVuZFBhcnQs
IHRydWUpOwotICAgICAgICAgICAgbV90aGVtZS0+cGFpbnRCdXR0b24oJmNvbnRleHQsIG1fc2Ny
b2xsYmFyLCBiYWNrQnV0dG9uRW5kUGFpbnRSZWN0LCBCYWNrQnV0dG9uRW5kUGFydCk7CisgICAg
ICAgICAgICBXZWJSZWN0IGJhY2tCdXR0b25FbmRQYWludFJlY3QgPSBtX2dlb21ldHJ5LmJhY2tC
dXR0b25FbmRSZWN0KG1fc2Nyb2xsYmFyKTsKKyAgICAgICAgICAgIG1fcGFpbnRlci5wYWludEJh
Y2tCdXR0b25FbmQoY2FudmFzLCBtX3Njcm9sbGJhciwgYmFja0J1dHRvbkVuZFBhaW50UmVjdCk7
CiAKLSAgICAgICAgICAgIEludFJlY3QgZm9yd2FyZEJ1dHRvblN0YXJ0UGFpbnRSZWN0ID0gbV90
aGVtZS0+Zm9yd2FyZEJ1dHRvblJlY3QobV9zY3JvbGxiYXIsIEZvcndhcmRCdXR0b25TdGFydFBh
cnQsIHRydWUpOwotICAgICAgICAgICAgbV90aGVtZS0+cGFpbnRCdXR0b24oJmNvbnRleHQsIG1f
c2Nyb2xsYmFyLCBmb3J3YXJkQnV0dG9uU3RhcnRQYWludFJlY3QsIEZvcndhcmRCdXR0b25TdGFy
dFBhcnQpOworICAgICAgICAgICAgV2ViUmVjdCBmb3J3YXJkQnV0dG9uU3RhcnRQYWludFJlY3Qg
PSBtX2dlb21ldHJ5LmZvcndhcmRCdXR0b25TdGFydFJlY3QobV9zY3JvbGxiYXIpOworICAgICAg
ICAgICAgbV9wYWludGVyLnBhaW50Rm9yd2FyZEJ1dHRvblN0YXJ0KGNhbnZhcywgbV9zY3JvbGxi
YXIsIGZvcndhcmRCdXR0b25TdGFydFBhaW50UmVjdCk7CiAKLSAgICAgICAgICAgIEludFJlY3Qg
Zm9yd2FyZEJ1dHRvbkVuZFBhaW50UmVjdCA9IG1fdGhlbWUtPmZvcndhcmRCdXR0b25SZWN0KG1f
c2Nyb2xsYmFyLCBGb3J3YXJkQnV0dG9uRW5kUGFydCwgdHJ1ZSk7Ci0gICAgICAgICAgICBtX3Ro
ZW1lLT5wYWludEJ1dHRvbigmY29udGV4dCwgbV9zY3JvbGxiYXIsIGZvcndhcmRCdXR0b25FbmRQ
YWludFJlY3QsIEZvcndhcmRCdXR0b25FbmRQYXJ0KTsKKyAgICAgICAgICAgIFdlYlJlY3QgZm9y
d2FyZEJ1dHRvbkVuZFBhaW50UmVjdCA9IG1fZ2VvbWV0cnkuZm9yd2FyZEJ1dHRvbkVuZFJlY3Qo
bV9zY3JvbGxiYXIpOworICAgICAgICAgICAgbV9wYWludGVyLnBhaW50Rm9yd2FyZEJ1dHRvbkVu
ZChjYW52YXMsIG1fc2Nyb2xsYmFyLCBmb3J3YXJkQnV0dG9uRW5kUGFpbnRSZWN0KTsKICAgICAg
ICAgfQogCi0gICAgICAgIEludFJlY3QgdHJhY2tQYWludFJlY3QgPSBtX3RoZW1lLT50cmFja1Jl
Y3QobV9zY3JvbGxiYXIsIHRydWUpOwotICAgICAgICBtX3RoZW1lLT5wYWludFRyYWNrQmFja2dy
b3VuZCgmY29udGV4dCwgbV9zY3JvbGxiYXIsIHRyYWNrUGFpbnRSZWN0KTsKKyAgICAgICAgV2Vi
UmVjdCB0cmFja1BhaW50UmVjdCA9IG1fZ2VvbWV0cnkudHJhY2tSZWN0KG1fc2Nyb2xsYmFyKTsK
KyAgICAgICAgbV9wYWludGVyLnBhaW50VHJhY2tCYWNrZ3JvdW5kKGNhbnZhcywgbV9zY3JvbGxi
YXIsIHRyYWNrUGFpbnRSZWN0KTsKIAotICAgICAgICBib29sIHRodW1iUHJlc2VudCA9IG1fdGhl
bWUtPmhhc1RodW1iKG1fc2Nyb2xsYmFyKTsKLSAgICAgICAgaWYgKHRodW1iUHJlc2VudCkKLSAg
ICAgICAgICAgIG1fdGhlbWUtPnBhaW50VHJhY2tQaWVjZSgmY29udGV4dCwgbV9zY3JvbGxiYXIs
IHRyYWNrUGFpbnRSZWN0LCBtX3RyYWNrUGFydCk7CisgICAgICAgIGJvb2wgdGh1bWJQcmVzZW50
ID0gbV9nZW9tZXRyeS5oYXNUaHVtYihtX3Njcm9sbGJhcik7CisgICAgICAgIGlmICh0aHVtYlBy
ZXNlbnQpIHsKKyAgICAgICAgICAgIGlmIChtX3RyYWNrUGFydCA9PSBGb3J3YXJkVHJhY2tQYXJ0
KQorICAgICAgICAgICAgICAgIG1fcGFpbnRlci5wYWludEZvcndhcmRUcmFja1BhcnQoY2FudmFz
LCBtX3Njcm9sbGJhciwgdHJhY2tQYWludFJlY3QpOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIG1fcGFpbnRlci5wYWludEJhY2tUcmFja1BhcnQoY2FudmFzLCBtX3Njcm9sbGJh
ciwgdHJhY2tQYWludFJlY3QpOworICAgICAgICB9CiAKLSAgICAgICAgbV90aGVtZS0+cGFpbnRU
aWNrbWFya3MoJmNvbnRleHQsIG1fc2Nyb2xsYmFyLCB0cmFja1BhaW50UmVjdCk7CisgICAgICAg
IG1fcGFpbnRlci5wYWludFRpY2ttYXJrcyhjYW52YXMsIG1fc2Nyb2xsYmFyLCB0cmFja1BhaW50
UmVjdCk7CiAgICAgfQogcHJpdmF0ZToKLSAgICBTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcihT
Y3JvbGxiYXJUaGVtZUNsaWVudCogc2Nyb2xsYmFyLCBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSog
dGhlbWUsIFNjcm9sbGJhclBhcnQgdHJhY2tQYXJ0KQorICAgIFNjcm9sbGJhckJhY2tncm91bmRQ
YWludGVyKFdlYktpdDo6V2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIFdlYktpdDo6V2ViU2Nyb2xs
YmFyVGhlbWVQYWludGVyIHBhaW50ZXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRy
eSBnZW9tZXRyeSwgU2Nyb2xsYmFyUGFydCB0cmFja1BhcnQpCiAgICAgICAgIDogbV9zY3JvbGxi
YXIoc2Nyb2xsYmFyKQotICAgICAgICAsIG1fdGhlbWUodGhlbWUpCisgICAgICAgICwgbV9wYWlu
dGVyKHBhaW50ZXIpCisgICAgICAgICwgbV9nZW9tZXRyeShnZW9tZXRyeSkKICAgICAgICAgLCBt
X3RyYWNrUGFydCh0cmFja1BhcnQpCiAgICAgewogICAgIH0KIAotICAgIFNjcm9sbGJhclRoZW1l
Q2xpZW50KiBtX3Njcm9sbGJhcjsKLSAgICBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogbV90aGVt
ZTsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhciogbV9zY3JvbGxiYXI7CisgICAgV2ViS2l0OjpX
ZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIgbV9wYWludGVyOworICAgIFdlYktpdDo6V2ViU2Nyb2xs
YmFyVGhlbWVHZW9tZXRyeSBtX2dlb21ldHJ5OwogICAgIFNjcm9sbGJhclBhcnQgbV90cmFja1Bh
cnQ7CiB9OwogCiBjbGFzcyBTY3JvbGxiYXJUaHVtYlBhaW50ZXIgOiBwdWJsaWMgTGF5ZXJQYWlu
dGVyQ2hyb21pdW0gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhclRodW1iUGFp
bnRlcik7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8U2Nyb2xsYmFyVGh1bWJQYWlu
dGVyPiBjcmVhdGUoU2Nyb2xsYmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhciwgU2Nyb2xsYmFyVGhl
bWVDb21wb3NpdGUqIHRoZW1lKQorICAgIHN0YXRpYyBQYXNzT3duUHRyPFNjcm9sbGJhclRodW1i
UGFpbnRlcj4gY3JlYXRlKFdlYktpdDo6V2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIFdlYktpdDo6
V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhl
bWVHZW9tZXRyeSBnZW9tZXRyeSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcg
U2Nyb2xsYmFyVGh1bWJQYWludGVyKHNjcm9sbGJhciwgdGhlbWUpKTsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBTY3JvbGxiYXJUaHVtYlBhaW50ZXIoc2Nyb2xsYmFyLCBwYWludGVyLCBn
ZW9tZXRyeSkpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBwYWludChTa0NhbnZhcyogY2Fu
dmFzLCBjb25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCwgRmxvYXRSZWN0JiBvcGFxdWUpIE9WRVJS
SURFCisgICAgdmlydHVhbCB2b2lkIHBhaW50KFNrQ2FudmFzKiBza0NhbnZhcywgY29uc3QgSW50
UmVjdCYgY29udGVudFJlY3QsIEZsb2F0UmVjdCYgb3BhcXVlKSBPVkVSUklERQogICAgIHsKLSAg
ICAgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKLSAgICAg
ICAgcGxhdGZvcm1Db250ZXh0LnNldERyYXdpbmdUb0ltYWdlQnVmZmVyKHRydWUpOwotICAgICAg
ICBHcmFwaGljc0NvbnRleHQgY29udGV4dCgmcGxhdGZvcm1Db250ZXh0KTsKKyAgICAgICAgV2Vi
S2l0OjpXZWJDYW52YXMqIGNhbnZhcyA9IHNrQ2FudmFzOwogCiAgICAgICAgIC8vIENvbnNpZGVy
IHRoZSB0aHVtYiB0byBiZSBhdCB0aGUgb3JpZ2luIHdoZW4gcGFpbnRpbmcuCi0gICAgICAgIElu
dFJlY3QgdGh1bWJSZWN0ID0gSW50UmVjdChJbnRQb2ludCgpLCBtX3RoZW1lLT50aHVtYlJlY3Qo
bV9zY3JvbGxiYXIpLnNpemUoKSk7Ci0gICAgICAgIG1fdGhlbWUtPnBhaW50VGh1bWIoJmNvbnRl
eHQsIG1fc2Nyb2xsYmFyLCB0aHVtYlJlY3QpOworICAgICAgICBXZWJSZWN0IHRodW1iUmVjdCA9
IG1fZ2VvbWV0cnkudGh1bWJSZWN0KG1fc2Nyb2xsYmFyKTsKKyAgICAgICAgdGh1bWJSZWN0Lngg
PSAwOworICAgICAgICB0aHVtYlJlY3QueSA9IDA7CisgICAgICAgIG1fcGFpbnRlci5wYWludFRo
dW1iKGNhbnZhcywgbV9zY3JvbGxiYXIsIHRodW1iUmVjdCk7CiAgICAgfQogCiBwcml2YXRlOgot
ICAgIFNjcm9sbGJhclRodW1iUGFpbnRlcihTY3JvbGxiYXJUaGVtZUNsaWVudCogc2Nyb2xsYmFy
LCBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhlbWUpCisgICAgU2Nyb2xsYmFyVGh1bWJQYWlu
dGVyKFdlYktpdDo6V2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyIHBhaW50ZXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBn
ZW9tZXRyeSkKICAgICAgICAgOiBtX3Njcm9sbGJhcihzY3JvbGxiYXIpCi0gICAgICAgICwgbV90
aGVtZSh0aGVtZSkKKyAgICAgICAgLCBtX3BhaW50ZXIocGFpbnRlcikKKyAgICAgICAgLCBtX2dl
b21ldHJ5KGdlb21ldHJ5KQogICAgIHsKICAgICB9CiAKLSAgICBTY3JvbGxiYXJUaGVtZUNsaWVu
dCogbV9zY3JvbGxiYXI7Ci0gICAgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIG1fdGhlbWU7Cisg
ICAgV2ViS2l0OjpXZWJTY3JvbGxiYXIqIG1fc2Nyb2xsYmFyOworICAgIFdlYktpdDo6V2ViU2Ny
b2xsYmFyVGhlbWVQYWludGVyIG1fcGFpbnRlcjsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhclRo
ZW1lR2VvbWV0cnkgbV9nZW9tZXRyeTsKIH07CiAKIHZvaWQgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1
bTo6c2V0TGF5ZXJUcmVlSG9zdChDQ0xheWVyVHJlZUhvc3QqIGhvc3QpCkBAIC0yMDksMjAgKzE5
MiwyMCBAQCB2b2lkIFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNyZWF0ZVRleHR1cmVVcGRhdGVy
SWZOZWVkZWQoKQogICAgIG1fdGV4dHVyZUZvcm1hdCA9IGxheWVyVHJlZUhvc3QoKS0+bGF5ZXJS
ZW5kZXJlckNhcGFiaWxpdGllcygpLmJlc3RUZXh0dXJlRm9ybWF0OwogCiAgICAgaWYgKCFtX2Jh
Y2tUcmFja1VwZGF0ZXIpCi0gICAgICAgIG1fYmFja1RyYWNrVXBkYXRlciA9IEJpdG1hcENhbnZh
c0xheWVyVGV4dHVyZVVwZGF0ZXI6OmNyZWF0ZShTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcjo6
Y3JlYXRlKG1fc2Nyb2xsYmFyLmdldCgpLCB0aGVtZSgpLCBCYWNrVHJhY2tQYXJ0KSwgdXNlTWFw
U3ViSW1hZ2UpOworICAgICAgICBtX2JhY2tUcmFja1VwZGF0ZXIgPSBCaXRtYXBDYW52YXNMYXll
clRleHR1cmVVcGRhdGVyOjpjcmVhdGUoU2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50ZXI6OmNyZWF0
ZShtX3Njcm9sbGJhci5nZXQoKSwgbV9wYWludGVyLCBtX2dlb21ldHJ5LCBCYWNrVHJhY2tQYXJ0
KSwgdXNlTWFwU3ViSW1hZ2UpOwogICAgIGlmICghbV9iYWNrVHJhY2spCiAgICAgICAgIG1fYmFj
a1RyYWNrID0gbV9iYWNrVHJhY2tVcGRhdGVyLT5jcmVhdGVUZXh0dXJlKGxheWVyVHJlZUhvc3Qo
KS0+Y29udGVudHNUZXh0dXJlTWFuYWdlcigpKTsKIAogICAgIC8vIE9ubHkgY3JlYXRlIHR3by1w
YXJ0IHRyYWNrIGlmIHdlIHRoaW5rIHRoZSB0d28gcGFydHMgY291bGQgYmUgZGlmZmVyZW50IGlu
IGFwcGVhcmFuY2UuCiAgICAgaWYgKG1fc2Nyb2xsYmFyLT5pc0N1c3RvbVNjcm9sbGJhcigpKSB7
CiAgICAgICAgIGlmICghbV9mb3JlVHJhY2tVcGRhdGVyKQotICAgICAgICAgICAgbV9mb3JlVHJh
Y2tVcGRhdGVyID0gQml0bWFwQ2FudmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6Y3JlYXRlKFNjcm9s
bGJhckJhY2tncm91bmRQYWludGVyOjpjcmVhdGUobV9zY3JvbGxiYXIuZ2V0KCksIHRoZW1lKCks
IEZvcndhcmRUcmFja1BhcnQpLCB1c2VNYXBTdWJJbWFnZSk7CisgICAgICAgICAgICBtX2ZvcmVU
cmFja1VwZGF0ZXIgPSBCaXRtYXBDYW52YXNMYXllclRleHR1cmVVcGRhdGVyOjpjcmVhdGUoU2Ny
b2xsYmFyQmFja2dyb3VuZFBhaW50ZXI6OmNyZWF0ZShtX3Njcm9sbGJhci5nZXQoKSwgbV9wYWlu
dGVyLCBtX2dlb21ldHJ5LCBGb3J3YXJkVHJhY2tQYXJ0KSwgdXNlTWFwU3ViSW1hZ2UpOwogICAg
ICAgICBpZiAoIW1fZm9yZVRyYWNrKQogICAgICAgICAgICAgbV9mb3JlVHJhY2sgPSBtX2ZvcmVU
cmFja1VwZGF0ZXItPmNyZWF0ZVRleHR1cmUobGF5ZXJUcmVlSG9zdCgpLT5jb250ZW50c1RleHR1
cmVNYW5hZ2VyKCkpOwogICAgIH0KIAogICAgIGlmICghbV90aHVtYlVwZGF0ZXIpCi0gICAgICAg
IG1fdGh1bWJVcGRhdGVyID0gQml0bWFwQ2FudmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6Y3JlYXRl
KFNjcm9sbGJhclRodW1iUGFpbnRlcjo6Y3JlYXRlKG1fc2Nyb2xsYmFyLmdldCgpLCB0aGVtZSgp
KSwgdXNlTWFwU3ViSW1hZ2UpOworICAgICAgICBtX3RodW1iVXBkYXRlciA9IEJpdG1hcENhbnZh
c0xheWVyVGV4dHVyZVVwZGF0ZXI6OmNyZWF0ZShTY3JvbGxiYXJUaHVtYlBhaW50ZXI6OmNyZWF0
ZShtX3Njcm9sbGJhci5nZXQoKSwgbV9wYWludGVyLCBtX2dlb21ldHJ5KSwgdXNlTWFwU3ViSW1h
Z2UpOwogICAgIGlmICghbV90aHVtYikKICAgICAgICAgbV90aHVtYiA9IG1fdGh1bWJVcGRhdGVy
LT5jcmVhdGVUZXh0dXJlKGxheWVyVHJlZUhvc3QoKS0+Y29udGVudHNUZXh0dXJlTWFuYWdlcigp
KTsKIH0KQEAgLTI2OCw3ICsyNTEsNyBAQCB2b2lkIFNjcm9sbGJhckxheWVyQ2hyb21pdW06OnNl
dFRleHR1cmVQcmlvcml0aWVzKGNvbnN0IENDUHJpb3JpdHlDYWxjdWxhdG9yJikKICAgICAgICAg
bV9mb3JlVHJhY2stPnRleHR1cmUoKS0+c2V0UmVxdWVzdFByaW9yaXR5KENDUHJpb3JpdHlDYWxj
dWxhdG9yOjp1aVByaW9yaXR5KGRyYXdzVG9Sb290U3VyZmFjZSkpOwogICAgIH0KICAgICBpZiAo
bV90aHVtYikgewotICAgICAgICBJbnRTaXplIHRodW1iU2l6ZSA9IHRoZW1lKCktPnRodW1iUmVj
dChtX3Njcm9sbGJhci5nZXQoKSkuc2l6ZSgpOworICAgICAgICBJbnRTaXplIHRodW1iU2l6ZSA9
IEludFJlY3QobV9nZW9tZXRyeS50aHVtYlJlY3QobV9zY3JvbGxiYXIuZ2V0KCkpKS5zaXplKCk7
CiAgICAgICAgIG1fdGh1bWItPnRleHR1cmUoKS0+c2V0RGltZW5zaW9ucyh0aHVtYlNpemUsIG1f
dGV4dHVyZUZvcm1hdCk7CiAgICAgICAgIG1fdGh1bWItPnRleHR1cmUoKS0+c2V0UmVxdWVzdFBy
aW9yaXR5KENDUHJpb3JpdHlDYWxjdWxhdG9yOjp1aVByaW9yaXR5KGRyYXdzVG9Sb290U3VyZmFj
ZSkpOwogICAgIH0KQEAgLTI4MSwxNCArMjY0LDE0IEBAIHZvaWQgU2Nyb2xsYmFyTGF5ZXJDaHJv
bWl1bTo6dXBkYXRlKENDVGV4dHVyZVVwZGF0ZXImIHVwZGF0ZXIsIGNvbnN0IENDT2NjbHVzaW9u
CiAKICAgICBjcmVhdGVUZXh0dXJlVXBkYXRlcklmTmVlZGVkKCk7CiAKLSAgICBJbnRQb2ludCBz
Y3JvbGxiYXJPcmlnaW4obV9zY3JvbGxiYXItPngoKSwgbV9zY3JvbGxiYXItPnkoKSk7CisgICAg
SW50UG9pbnQgc2Nyb2xsYmFyT3JpZ2luKG1fc2Nyb2xsYmFyLT5sb2NhdGlvbigpKTsKICAgICBJ
bnRSZWN0IGNvbnRlbnRSZWN0KHNjcm9sbGJhck9yaWdpbiwgY29udGVudEJvdW5kcygpKTsKICAg
ICB1cGRhdGVQYXJ0KG1fYmFja1RyYWNrVXBkYXRlci5nZXQoKSwgbV9iYWNrVHJhY2suZ2V0KCks
IGNvbnRlbnRSZWN0LCB1cGRhdGVyKTsKICAgICBpZiAobV9mb3JlVHJhY2sgJiYgbV9mb3JlVHJh
Y2tVcGRhdGVyKQogICAgICAgICB1cGRhdGVQYXJ0KG1fZm9yZVRyYWNrVXBkYXRlci5nZXQoKSwg
bV9mb3JlVHJhY2suZ2V0KCksIGNvbnRlbnRSZWN0LCB1cGRhdGVyKTsKIAogICAgIC8vIENvbnNp
ZGVyIHRoZSB0aHVtYiB0byBiZSBhdCB0aGUgb3JpZ2luIHdoZW4gcGFpbnRpbmcuCi0gICAgSW50
UmVjdCB0aHVtYlJlY3QgPSBJbnRSZWN0KEludFBvaW50KCksIHRoZW1lKCktPnRodW1iUmVjdCht
X3Njcm9sbGJhci5nZXQoKSkuc2l6ZSgpKTsKKyAgICBJbnRSZWN0IHRodW1iUmVjdCA9IEludFJl
Y3QoSW50UG9pbnQoKSwgSW50UmVjdChtX2dlb21ldHJ5LnRodW1iUmVjdChtX3Njcm9sbGJhci5n
ZXQoKSkpLnNpemUoKSk7CiAgICAgaWYgKCF0aHVtYlJlY3QuaXNFbXB0eSgpKQogICAgICAgICB1
cGRhdGVQYXJ0KG1fdGh1bWJVcGRhdGVyLmdldCgpLCBtX3RodW1iLmdldCgpLCB0aHVtYlJlY3Qs
IHVwZGF0ZXIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5oCmluZGV4IDBh
OGEyYTEzYjczMWNlNzgwMDRmMDVkNmQ5OGJhYjhlMGNjOGNmOTQuLjA2MmY0NzJhMmJlMTYyZmZh
ZDlmOGJjOTVhOGUzOGZkZDNiMmExZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL1Njcm9sbGJhckxheWVyQ2hyb21pdW0uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TY3JvbGxiYXJMYXllckNocm9t
aXVtLmgKQEAgLTMwLDcgKzMwLDkgQEAKIAogI2luY2x1ZGUgIkxheWVyQ2hyb21pdW0uaCIKICNp
bmNsdWRlICJMYXllclRleHR1cmVVcGRhdGVyLmgiCi0jaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIK
KyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnkuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyVGhl
bWVQYWludGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsNyArNDMsNyBAQCBj
bGFzcyBDQ1RleHR1cmVVcGRhdGVyOwogY2xhc3MgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bSA6IHB1
YmxpYyBMYXllckNocm9taXVtIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8Q0NM
YXllckltcGw+IGNyZWF0ZUNDTGF5ZXJJbXBsKCk7Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2Ny
b2xsYmFyTGF5ZXJDaHJvbWl1bT4gY3JlYXRlKFNjcm9sbGJhciosIGludCBzY3JvbGxMYXllcklk
KTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JvbGxiYXJMYXllckNocm9taXVtPiBjcmVhdGUo
UGFzc093blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhcj4sIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhl
bWVQYWludGVyLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnksIGludCBzY3JvbGxM
YXllcklkKTsKIAogICAgIC8vIExheWVyQ2hyb21pdW0gaW50ZXJmYWNlCiAgICAgdmlydHVhbCB2
b2lkIHNldFRleHR1cmVQcmlvcml0aWVzKGNvbnN0IENDUHJpb3JpdHlDYWxjdWxhdG9yJikgT1ZF
UlJJREU7CkBAIC01NSwxNCArNTcsMTUgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU2Nyb2xsYmFy
TGF5ZXJDaHJvbWl1bSogdG9TY3JvbGxiYXJMYXllckNocm9taXVtKCkgeyByZXR1cm4gdGhpczsg
fQogCiBwcm90ZWN0ZWQ6Ci0gICAgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bShTY3JvbGxiYXIqLCBp
bnQgc2Nyb2xsTGF5ZXJJZCk7CisgICAgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bShQYXNzT3duUHRy
PFdlYktpdDo6V2ViU2Nyb2xsYmFyPiwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIs
IFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSwgaW50IHNjcm9sbExheWVySWQpOwog
CiBwcml2YXRlOgotICAgIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKiB0aGVtZSgpIGNvbnN0Owog
ICAgIHZvaWQgdXBkYXRlUGFydChMYXllclRleHR1cmVVcGRhdGVyKiwgTGF5ZXJUZXh0dXJlVXBk
YXRlcjo6VGV4dHVyZSosIGNvbnN0IEludFJlY3QmLCBDQ1RleHR1cmVVcGRhdGVyJik7CiAgICAg
dm9pZCBjcmVhdGVUZXh0dXJlVXBkYXRlcklmTmVlZGVkKCk7CiAKLSAgICBSZWZQdHI8U2Nyb2xs
YmFyPiBtX3Njcm9sbGJhcjsKKyAgICBPd25QdHI8V2ViS2l0OjpXZWJTY3JvbGxiYXI+IG1fc2Ny
b2xsYmFyOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIG1fcGFpbnRlcjsK
KyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgbV9nZW9tZXRyeTsKICAgICBp
bnQgbV9zY3JvbGxMYXllcklkOwogCiAgICAgR0MzRGVudW0gbV90ZXh0dXJlRm9ybWF0OwpAQCAt
NzUsMTQgKzc4LDYgQEAgcHJpdmF0ZToKICAgICBPd25QdHI8TGF5ZXJUZXh0dXJlVXBkYXRlcjo6
VGV4dHVyZT4gbV9iYWNrVHJhY2s7CiAgICAgT3duUHRyPExheWVyVGV4dHVyZVVwZGF0ZXI6OlRl
eHR1cmU+IG1fZm9yZVRyYWNrOwogICAgIE93blB0cjxMYXllclRleHR1cmVVcGRhdGVyOjpUZXh0
dXJlPiBtX3RodW1iOwotCi0gICAgU2Nyb2xsYmFyT3ZlcmxheVN0eWxlIG1fc2Nyb2xsYmFyT3Zl
cmxheVN0eWxlOwotICAgIGJvb2wgbV9pc1Njcm9sbGFibGVBcmVhQWN0aXZlOwotICAgIGJvb2wg
bV9pc1Njcm9sbFZpZXdTY3JvbGxiYXI7Ci0KLSAgICBTY3JvbGxiYXJPcmllbnRhdGlvbiBtX29y
aWVudGF0aW9uOwotCi0gICAgU2Nyb2xsYmFyQ29udHJvbFNpemUgbV9jb250cm9sU2l6ZTsKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmNwcAppbmRleCBmMzhm
YmRhMDFmNjZlMzgwNjFkMTA2ZmJjMGJjMWMwNDM2MjgwMzE5Li5hMWVmZTg0MmNlOWU4ZGMxZThj
YTAzNWQxMzU3NzBhZjg4NmIzOWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXll
ckltcGwuY3BwCkBAIC0yOSwxMSArMjksMTIgQEAKIAogI2luY2x1ZGUgIkNDU2Nyb2xsYmFyTGF5
ZXJJbXBsLmgiCiAKLSNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZS5oIgotI2luY2x1ZGUgIlNjcm9s
bGJhclRoZW1lQ29tcG9zaXRlLmgiCiAjaW5jbHVkZSAiY2MvQ0NRdWFkQ3VsbGVyLmgiCiAjaW5j
bHVkZSAiY2MvQ0NUZXh0dXJlRHJhd1F1YWQuaCIKIAordXNpbmcgV2ViS2l0OjpXZWJSZWN0Owor
dXNpbmcgV2ViS2l0OjpXZWJTY3JvbGxiYXI7CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUGFz
c093blB0cjxDQ1Njcm9sbGJhckxheWVySW1wbD4gQ0NTY3JvbGxiYXJMYXllckltcGw6OmNyZWF0
ZShpbnQgaWQpCkBAIC00OCwzNiArNDksNTUgQEAgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Ny
b2xsYmFyTGF5ZXJJbXBsKGludCBpZCkKICAgICAsIG1fYmFja1RyYWNrVGV4dHVyZUlkKDApCiAg
ICAgLCBtX2ZvcmVUcmFja1RleHR1cmVJZCgwKQogICAgICwgbV90aHVtYlRleHR1cmVJZCgwKQor
ICAgICwgbV9zY3JvbGxiYXJPdmVybGF5U3R5bGUoV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVy
bGF5U3R5bGVEZWZhdWx0KQorICAgICwgbV9vcmllbnRhdGlvbihXZWJTY3JvbGxiYXI6Okhvcml6
b250YWwpCisgICAgLCBtX2NvbnRyb2xTaXplKFdlYlNjcm9sbGJhcjo6UmVndWxhclNjcm9sbGJh
cikKKyAgICAsIG1fcHJlc3NlZFBhcnQoV2ViU2Nyb2xsYmFyOjpOb1BhcnQpCisgICAgLCBtX2hv
dmVyZWRQYXJ0KFdlYlNjcm9sbGJhcjo6Tm9QYXJ0KQorICAgICwgbV9pc1Njcm9sbGFibGVBcmVh
QWN0aXZlKGZhbHNlKQorICAgICwgbV9pc1Njcm9sbFZpZXdTY3JvbGxiYXIoZmFsc2UpCisgICAg
LCBtX2VuYWJsZWQoZmFsc2UpCisgICAgLCBtX2lzQ3VzdG9tU2Nyb2xsYmFyKGZhbHNlKQorICAg
ICwgbV9pc092ZXJsYXlTY3JvbGxiYXIoZmFsc2UpCiB7CiB9CiAKLW5hbWVzcGFjZSB7Ci0KLUZs
b2F0UmVjdCB0b1VWUmVjdChjb25zdCBJbnRSZWN0JiByLCBjb25zdCBJbnRSZWN0JiBib3VuZHMp
Cit2b2lkIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpzZXRTY3JvbGxiYXJEYXRhKGNvbnN0IFdlYlNj
cm9sbGJhciogc2Nyb2xsYmFyLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgZ2Vv
bWV0cnkpCiB7Ci0gICAgQVNTRVJUKGJvdW5kcy5jb250YWlucyhyKSk7Ci0gICAgcmV0dXJuIEZs
b2F0UmVjdChzdGF0aWNfY2FzdDxmbG9hdD4oci54KCkpIC8gYm91bmRzLndpZHRoKCksIHN0YXRp
Y19jYXN0PGZsb2F0PihyLnkoKSkgLyBib3VuZHMuaGVpZ2h0KCksCi0gICAgICAgICAgICAgICAg
ICAgICBzdGF0aWNfY2FzdDxmbG9hdD4oci53aWR0aCgpKSAvIGJvdW5kcy53aWR0aCgpLCBzdGF0
aWNfY2FzdDxmbG9hdD4oci5oZWlnaHQoKSkgLyBib3VuZHMuaGVpZ2h0KCkpOworICAgIG1fZ2Vv
bWV0cnkgPSBnZW9tZXRyeTsKKworICAgIG1fc2Nyb2xsYmFyT3ZlcmxheVN0eWxlID0gc2Nyb2xs
YmFyLT5zY3JvbGxiYXJPdmVybGF5U3R5bGUoKTsKKyAgICBtX29yaWVudGF0aW9uID0gc2Nyb2xs
YmFyLT5vcmllbnRhdGlvbigpOworICAgIG1fY29udHJvbFNpemUgPSBzY3JvbGxiYXItPmNvbnRy
b2xTaXplKCk7CisgICAgbV9wcmVzc2VkUGFydCA9IHNjcm9sbGJhci0+cHJlc3NlZFBhcnQoKTsK
KyAgICBtX2hvdmVyZWRQYXJ0ID0gc2Nyb2xsYmFyLT5ob3ZlcmVkUGFydCgpOworICAgIG1faXNT
Y3JvbGxhYmxlQXJlYUFjdGl2ZSA9IHNjcm9sbGJhci0+aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgp
OworICAgIG1faXNTY3JvbGxWaWV3U2Nyb2xsYmFyID0gc2Nyb2xsYmFyLT5pc1Njcm9sbFZpZXdT
Y3JvbGxiYXIoKTsKKyAgICBtX2VuYWJsZWQgPSBzY3JvbGxiYXItPmVuYWJsZWQoKTsKKyAgICBt
X2lzQ3VzdG9tU2Nyb2xsYmFyID0gc2Nyb2xsYmFyLT5pc0N1c3RvbVNjcm9sbGJhcigpOworICAg
IG1faXNPdmVybGF5U2Nyb2xsYmFyID0gc2Nyb2xsYmFyLT5pc092ZXJsYXkoKTsKKworICAgIHNj
cm9sbGJhci0+Z2V0VGlja21hcmtzKG1fdGlja21hcmtzKTsKIH0KIAorc3RhdGljIEZsb2F0UmVj
dCB0b1VWUmVjdChjb25zdCBXZWJSZWN0JiByLCBjb25zdCBXZWJSZWN0JiBib3VuZHMpCit7Cisg
ICAgcmV0dXJuIEZsb2F0UmVjdChzdGF0aWNfY2FzdDxmbG9hdD4oci54KSAvIGJvdW5kcy53aWR0
aCwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHIueSkgLyBib3VuZHMuaGVpZ2h0LAorICAgICAgICAgICAg
ICAgICAgICAgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHIud2lkdGgpIC8gYm91bmRzLndpZHRoLCBzdGF0
aWNfY2FzdDxmbG9hdD4oci5oZWlnaHQpIC8gYm91bmRzLmhlaWdodCk7CiB9CiAKIHZvaWQgQ0NT
Y3JvbGxiYXJMYXllckltcGw6OmFwcGVuZFF1YWRzKENDUXVhZEN1bGxlciYgcXVhZExpc3QsIGNv
bnN0IENDU2hhcmVkUXVhZFN0YXRlKiBzaGFyZWRRdWFkU3RhdGUsIGJvb2wmKQogewotICAgIFNj
cm9sbGJhclRoZW1lQ29tcG9zaXRlKiB0aGVtZSA9IHN0YXRpY19jYXN0PFNjcm9sbGJhclRoZW1l
Q29tcG9zaXRlKj4oU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkpOwotICAgIGlmICghdGhlbWUpCi0g
ICAgICAgIHJldHVybjsKLQogICAgIGJvb2wgcHJlbXVsdGlwbGVkQWxwaGEgPSBmYWxzZTsKICAg
ICBib29sIGZsaXBwZWQgPSBmYWxzZTsKICAgICBGbG9hdFJlY3QgdXZSZWN0KDAsIDAsIDEsIDEp
OwogICAgIEludFJlY3QgYm91bmRzUmVjdChJbnRQb2ludCgpLCBjb250ZW50Qm91bmRzKCkpOwog
Ci0gICAgSW50UmVjdCB0aHVtYlJlY3QsIGJhY2tUcmFja1JlY3QsIGZvcmVUcmFja1JlY3Q7Ci0g
ICAgdGhlbWUtPnNwbGl0VHJhY2soJm1fc2Nyb2xsYmFyLCB0aGVtZS0+dHJhY2tSZWN0KCZtX3Nj
cm9sbGJhciksIGJhY2tUcmFja1JlY3QsIHRodW1iUmVjdCwgZm9yZVRyYWNrUmVjdCk7CisgICAg
V2ViUmVjdCB0aHVtYlJlY3QsIGJhY2tUcmFja1JlY3QsIGZvcmVUcmFja1JlY3Q7CisgICAgbV9n
ZW9tZXRyeS5zcGxpdFRyYWNrKCZtX3Njcm9sbGJhciwgbV9nZW9tZXRyeS50cmFja1JlY3QoJm1f
c2Nyb2xsYmFyKSwgYmFja1RyYWNrUmVjdCwgdGh1bWJSZWN0LCBmb3JlVHJhY2tSZWN0KTsKIAot
ICAgIGlmIChtX3RodW1iVGV4dHVyZUlkICYmIHRoZW1lLT5oYXNUaHVtYigmbV9zY3JvbGxiYXIp
ICYmICF0aHVtYlJlY3QuaXNFbXB0eSgpKSB7Ci0gICAgICAgIE93blB0cjxDQ1RleHR1cmVEcmF3
UXVhZD4gcXVhZCA9IENDVGV4dHVyZURyYXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCB0
aHVtYlJlY3QsIG1fdGh1bWJUZXh0dXJlSWQsIHByZW11bHRpcGxlZEFscGhhLCB1dlJlY3QsIGZs
aXBwZWQpOworICAgIGlmIChtX3RodW1iVGV4dHVyZUlkICYmIG1fZ2VvbWV0cnkuaGFzVGh1bWIo
Jm1fc2Nyb2xsYmFyKSAmJiAhdGh1bWJSZWN0LmlzRW1wdHkoKSkgeworICAgICAgICBPd25QdHI8
Q0NUZXh0dXJlRHJhd1F1YWQ+IHF1YWQgPSBDQ1RleHR1cmVEcmF3UXVhZDo6Y3JlYXRlKHNoYXJl
ZFF1YWRTdGF0ZSwgSW50UmVjdCh0aHVtYlJlY3QpLCBtX3RodW1iVGV4dHVyZUlkLCBwcmVtdWx0
aXBsZWRBbHBoYSwgdXZSZWN0LCBmbGlwcGVkKTsKICAgICAgICAgcXVhZC0+c2V0TmVlZHNCbGVu
ZGluZygpOwogICAgICAgICBxdWFkTGlzdC5hcHBlbmQocXVhZC5yZWxlYXNlKCkpOwogICAgIH0K
QEAgLTg3LDEzMCArMTA3LDUwIEBAIHZvaWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OmFwcGVuZFF1
YWRzKENDUXVhZEN1bGxlciYgcXVhZExpc3QsIGNvbnN0IENDU2hhcmVkUXVhCiAKICAgICAvLyBX
ZSBvbmx5IHBhaW50IHRoZSB0cmFjayBpbiB0d28gcGFydHMgaWYgd2Ugd2VyZSBnaXZlbiBhIHRl
eHR1cmUgZm9yIHRoZSBmb3J3YXJkIHRyYWNrIHBhcnQuCiAgICAgaWYgKG1fZm9yZVRyYWNrVGV4
dHVyZUlkICYmICFmb3JlVHJhY2tSZWN0LmlzRW1wdHkoKSkKLSAgICAgICAgcXVhZExpc3QuYXBw
ZW5kKENDVGV4dHVyZURyYXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBmb3JlVHJhY2tS
ZWN0LCBtX2ZvcmVUcmFja1RleHR1cmVJZCwgcHJlbXVsdGlwbGVkQWxwaGEsIHRvVVZSZWN0KGZv
cmVUcmFja1JlY3QsIGJvdW5kc1JlY3QpLCBmbGlwcGVkKSk7CisgICAgICAgIHF1YWRMaXN0LmFw
cGVuZChDQ1RleHR1cmVEcmF3UXVhZDo6Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZSwgSW50UmVjdChm
b3JlVHJhY2tSZWN0KSwgbV9mb3JlVHJhY2tUZXh0dXJlSWQsIHByZW11bHRpcGxlZEFscGhhLCB0
b1VWUmVjdChmb3JlVHJhY2tSZWN0LCBib3VuZHNSZWN0KSwgZmxpcHBlZCkpOwogCiAgICAgLy8g
T3JkZXIgbWF0dGVycyBoZXJlOiBzaW5jZSB0aGUgYmFjayB0cmFjayB0ZXh0dXJlIGlzIGJlaW5n
IGRyYXduIHRvIHRoZSBlbnRpcmUgY29udGVudHMgcmVjdCwgd2UgbXVzdCBhcHBlbmQgaXQgYWZ0
ZXIgdGhlIHRodW1iIGFuZAogICAgIC8vIGZvcmUgdHJhY2sgcXVhZHMuIFRoZSBiYWNrIHRyYWNr
IHRleHR1cmUgY29udGFpbnMgKGFuZCBkaXNwbGF5cykgdGhlIGJ1dHRvbnMuCiAgICAgaWYgKCFi
b3VuZHNSZWN0LmlzRW1wdHkoKSkKLSAgICAgICAgcXVhZExpc3QuYXBwZW5kKENDVGV4dHVyZURy
YXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBib3VuZHNSZWN0LCBtX2JhY2tUcmFja1Rl
eHR1cmVJZCwgcHJlbXVsdGlwbGVkQWxwaGEsIHV2UmVjdCwgZmxpcHBlZCkpOwotfQotCi0KLWlu
dCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OngoKSBjb25zdAotewotICAgIHJl
dHVybiBmcmFtZVJlY3QoKS54KCk7Ci19Ci0KLWludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NT
Y3JvbGxiYXI6OnkoKSBjb25zdAotewotICAgIHJldHVybiBmcmFtZVJlY3QoKS55KCk7Ci19Ci0K
LWludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OndpZHRoKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gZnJhbWVSZWN0KCkud2lkdGgoKTsKLX0KLQotaW50IENDU2Nyb2xsYmFyTGF5
ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aGVpZ2h0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZnJhbWVS
ZWN0KCkuaGVpZ2h0KCk7Ci19Ci0KLUludFNpemUgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Ny
b2xsYmFyOjpzaXplKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZnJhbWVSZWN0KCkuc2l6ZSgpOwot
fQotCi1JbnRQb2ludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmxvY2F0aW9u
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZnJhbWVSZWN0KCkubG9jYXRpb24oKTsKLX0KLQotU2Ny
b2xsVmlldyogQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpwYXJlbnQoKSBjb25z
dAotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiAwOwotfQotCi1TY3Jv
bGxWaWV3KiBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnJvb3QoKSBjb25zdAot
ewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiAwOwotfQotCi12b2lkIEND
U2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6c2V0RnJhbWVSZWN0KGNvbnN0IEludFJl
Y3QmKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1JbnRSZWN0IENDU2Nyb2xs
YmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6ZnJhbWVSZWN0KCkgY29uc3QKLXsKLSAgICByZXR1
cm4gSW50UmVjdChJbnRQb2ludCgpLCBtX293bmVyLT5jb250ZW50Qm91bmRzKCkpOwotfQotCi12
b2lkIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aW52YWxpZGF0ZSgpCi17Ci0g
ICAgaW52YWxpZGF0ZVJlY3QoZnJhbWVSZWN0KCkpOwotfQotCi12b2lkIENDU2Nyb2xsYmFyTGF5
ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aW52YWxpZGF0ZVJlY3QoY29uc3QgSW50UmVjdCYpCi17Ci0g
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KLVNjcm9sbGJhck92ZXJsYXlTdHlsZSBDQ1Nj
cm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnNjcm9sbGJhck92ZXJsYXlTdHlsZSgpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xsYmFyT3ZlcmxheVN0eWxlOwotfQot
Ci12b2lkIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6Z2V0VGlja21hcmtzKFZl
Y3RvcjxJbnRSZWN0PiYgdGlja21hcmtzKSBjb25zdAotewotICAgIHRpY2ttYXJrcyA9IG1fb3du
ZXItPm1fdGlja21hcmtzOworICAgICAgICBxdWFkTGlzdC5hcHBlbmQoQ0NUZXh0dXJlRHJhd1F1
YWQ6OmNyZWF0ZShzaGFyZWRRdWFkU3RhdGUsIEludFJlY3QoYm91bmRzUmVjdCksIG1fYmFja1Ry
YWNrVGV4dHVyZUlkLCBwcmVtdWx0aXBsZWRBbHBoYSwgdXZSZWN0LCBmbGlwcGVkKSk7CiB9CiAK
LWJvb2wgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjppc1Njcm9sbGFibGVBcmVh
QWN0aXZlKCkgY29uc3QKK2Jvb2wgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpp
c092ZXJsYXkoKSBjb25zdAogewotICAgIHJldHVybiBtX293bmVyLT5tX2lzU2Nyb2xsYWJsZUFy
ZWFBY3RpdmU7CisgICAgcmV0dXJuIG1fb3duZXItPm1faXNPdmVybGF5U2Nyb2xsYmFyOwogfQog
Ci1ib29sIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aXNTY3JvbGxWaWV3U2Ny
b2xsYmFyKCkgY29uc3QKK2ludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnZh
bHVlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9vd25lci0+bV9pc1Njcm9sbFZpZXdTY3JvbGxi
YXI7CisgICAgaWYgKCFtX293bmVyLT5tX3Njcm9sbExheWVyKQorICAgICAgICByZXR1cm4gMDsK
KyAgICBpZiAob3JpZW50YXRpb24oKSA9PSBXZWJTY3JvbGxiYXI6Okhvcml6b250YWwpCisgICAg
ICAgIHJldHVybiBtX293bmVyLT5tX3Njcm9sbExheWVyLT5zY3JvbGxQb3NpdGlvbigpLngoKSAr
IG1fb3duZXItPm1fc2Nyb2xsTGF5ZXItPnNjcm9sbERlbHRhKCkud2lkdGgoKTsKKyAgICByZXR1
cm4gbV9vd25lci0+bV9zY3JvbGxMYXllci0+c2Nyb2xsUG9zaXRpb24oKS55KCkgKyBtX293bmVy
LT5tX3Njcm9sbExheWVyLT5zY3JvbGxEZWx0YSgpLmhlaWdodCgpOwogfQogCi1JbnRQb2ludCBD
Q1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmNvbnZlcnRGcm9tQ29udGFpbmluZ1dp
bmRvdyhjb25zdCBJbnRQb2ludCYgd2luZG93UG9pbnQpCitXZWJLaXQ6OldlYlBvaW50IENDU2Ny
b2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6bG9jYXRpb24oKSBjb25zdAogewotICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiB3aW5kb3dQb2ludDsKKyAgICByZXR1cm4g
V2ViS2l0OjpXZWJQb2ludCgpOwogfQogCi1ib29sIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Nj
cm9sbGJhcjo6aXNDdXN0b21TY3JvbGxiYXIoKSBjb25zdAorV2ViS2l0OjpXZWJTaXplIENDU2Ny
b2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6c2l6ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IGZhbHNlOworICAgIHJldHVybiBtX293bmVyLT5jb250ZW50Qm91bmRzKCk7CiB9CiAKLVNjcm9s
bGJhck9yaWVudGF0aW9uIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6b3JpZW50
YXRpb24oKSBjb25zdAorYm9vbCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmVu
YWJsZWQoKSBjb25zdAogewotICAgIHJldHVybiBtX293bmVyLT5tX29yaWVudGF0aW9uOworICAg
IHJldHVybiBtX293bmVyLT5tX2VuYWJsZWQ7CiB9CiAKLWludCBDQ1Njcm9sbGJhckxheWVySW1w
bDo6Q0NTY3JvbGxiYXI6OnZhbHVlKCkgY29uc3QKK2ludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6
Q0NTY3JvbGxiYXI6Om1heGltdW0oKSBjb25zdAogewogICAgIGlmICghbV9vd25lci0+bV9zY3Jv
bGxMYXllcikKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKG9yaWVudGF0aW9uKCkgPT0gSG9y
aXpvbnRhbFNjcm9sbGJhcikKLSAgICAgICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXIt
PnNjcm9sbFBvc2l0aW9uKCkueCgpICsgbV9vd25lci0+bV9zY3JvbGxMYXllci0+c2Nyb2xsRGVs
dGEoKS53aWR0aCgpOwotICAgIHJldHVybiBtX293bmVyLT5tX3Njcm9sbExheWVyLT5zY3JvbGxQ
b3NpdGlvbigpLnkoKSArIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXItPnNjcm9sbERlbHRhKCkuaGVp
Z2h0KCk7Ci19Ci0KLWZsb2F0IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6Y3Vy
cmVudFBvcygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHZhbHVlKCk7Ci19Ci0KLWludCBDQ1Njcm9s
bGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnZpc2libGVTaXplKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gdG90YWxTaXplKCkgLSBtYXhpbXVtKCk7CisgICAgaWYgKG9yaWVudGF0aW9uKCkgPT0g
V2ViU2Nyb2xsYmFyOjpIb3Jpem9udGFsKQorICAgICAgICByZXR1cm4gbV9vd25lci0+bV9zY3Jv
bGxMYXllci0+bWF4U2Nyb2xsUG9zaXRpb24oKS53aWR0aCgpOworICAgIHJldHVybiBtX293bmVy
LT5tX3Njcm9sbExheWVyLT5tYXhTY3JvbGxQb3NpdGlvbigpLmhlaWdodCgpOwogfQogCiBpbnQg
Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjp0b3RhbFNpemUoKSBjb25zdApAQCAt
MjIwLDU5ICsxNjAsNTQgQEAgaW50IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6
dG90YWxTaXplKCkgY29uc3QKICAgICAvLyBDb3B5ICYgcGFzdGUgZnJvbSBDQ0xheWVyVHJlZUhv
c3RJbXBsLi4uCiAgICAgLy8gRklYTUU6IEhhcmRjb2RpbmcgdGhlIGZpcnN0IGNoaWxkIGhlcmUg
aXMgd2VpcmQuIFRoaW5rIG9mCiAgICAgLy8gYSBjbGVhbmVyIHdheSB0byBnZXQgdGhlIGNvbnRl
bnRCb3VuZHMgb24gdGhlIEltcGwgc2lkZS4KLSAgICBpZiAob3JpZW50YXRpb24oKSA9PSBIb3Jp
em9udGFsU2Nyb2xsYmFyKQorICAgIGlmIChvcmllbnRhdGlvbigpID09IFdlYlNjcm9sbGJhcjo6
SG9yaXpvbnRhbCkKICAgICAgICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXItPmNoaWxk
cmVuKClbMF0tPmJvdW5kcygpLndpZHRoKCk7CiAgICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xs
TGF5ZXItPmNoaWxkcmVuKClbMF0tPmJvdW5kcygpLmhlaWdodCgpOwogfQogCi1pbnQgQ0NTY3Jv
bGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjptYXhpbXVtKCkgY29uc3QKK2Jvb2wgQ0NTY3Jv
bGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjppc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBjb25z
dAogewotICAgIGlmICghbV9vd25lci0+bV9zY3JvbGxMYXllcikKLSAgICAgICAgcmV0dXJuIDA7
Ci0gICAgaWYgKG9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikKLSAgICAgICAg
cmV0dXJuIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXItPm1heFNjcm9sbFBvc2l0aW9uKCkud2lkdGgo
KTsKLSAgICByZXR1cm4gbV9vd25lci0+bV9zY3JvbGxMYXllci0+bWF4U2Nyb2xsUG9zaXRpb24o
KS5oZWlnaHQoKTsKKyAgICByZXR1cm4gbV9vd25lci0+bV9pc1Njcm9sbFZpZXdTY3JvbGxiYXI7
CiB9CiAKLVNjcm9sbGJhckNvbnRyb2xTaXplIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9s
bGJhcjo6Y29udHJvbFNpemUoKSBjb25zdAorYm9vbCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NT
Y3JvbGxiYXI6OmlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSBjb25zdAogewotICAgIHJldHVybiBt
X293bmVyLT5tX2NvbnRyb2xTaXplOworICAgIHJldHVybiBtX293bmVyLT5tX2lzU2Nyb2xsYWJs
ZUFyZWFBY3RpdmU7CiB9CiAKLWludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6
OmxpbmVTdGVwKCkgY29uc3QKK3ZvaWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFy
OjpnZXRUaWNrbWFya3MoV2ViS2l0OjpXZWJWZWN0b3I8V2ViUmVjdD4mIHRpY2ttYXJrcykgY29u
c3QKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMDsKKyAgICB0aWNr
bWFya3MgPSBtX293bmVyLT5tX3RpY2ttYXJrczsKIH0KIAotaW50IENDU2Nyb2xsYmFyTGF5ZXJJ
bXBsOjpDQ1Njcm9sbGJhcjo6cGFnZVN0ZXAoKSBjb25zdAorV2ViU2Nyb2xsYmFyOjpTY3JvbGxi
YXJDb250cm9sU2l6ZSBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmNvbnRyb2xT
aXplKCkgY29uc3QKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gbV9vd25lci0+bV9jb250cm9sU2l6ZTsKIH0KIAotU2Nyb2xsYmFyUGFydCBD
Q1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnByZXNzZWRQYXJ0KCkgY29uc3QKK1dl
YlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxi
YXI6OnByZXNzZWRQYXJ0KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9vd25lci0+bV9wcmVzc2Vk
UGFydDsKIH0KIAotU2Nyb2xsYmFyUGFydCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxi
YXI6OmhvdmVyZWRQYXJ0KCkgY29uc3QKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBDQ1Nj
cm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmhvdmVyZWRQYXJ0KCkgY29uc3QKIHsKICAg
ICByZXR1cm4gbV9vd25lci0+bV9ob3ZlcmVkUGFydDsKIH0KIAotdm9pZCBDQ1Njcm9sbGJhckxh
eWVySW1wbDo6Q0NTY3JvbGxiYXI6OnN0eWxlQ2hhbmdlZCgpCitXZWJTY3JvbGxiYXI6OlNjcm9s
bGJhck92ZXJsYXlTdHlsZSBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnNjcm9s
bGJhck92ZXJsYXlTdHlsZSgpIGNvbnN0CiB7CisgICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xs
YmFyT3ZlcmxheVN0eWxlOwogfQogCi1ib29sIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9s
bGJhcjo6ZW5hYmxlZCgpIGNvbnN0CitXZWJTY3JvbGxiYXI6Ok9yaWVudGF0aW9uIENDU2Nyb2xs
YmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6b3JpZW50YXRpb24oKSBjb25zdAogewotICAgIHJl
dHVybiBtX293bmVyLT5tX2VuYWJsZWQ7CisgICAgcmV0dXJuIG1fb3duZXItPm1fb3JpZW50YXRp
b247CiB9CiAKLXZvaWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpzZXRFbmFi
bGVkKGJvb2wpCitib29sIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aXNDdXN0
b21TY3JvbGxiYXIoKSBjb25zdAogewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJl
dHVybiBtX293bmVyLT5tX2lzQ3VzdG9tU2Nyb2xsYmFyOwogfQogCiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxh
eWVySW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NTY3JvbGxiYXJMYXllckltcGwuaAppbmRleCBlY2UyYjk1NzE0MTRiZjQyNTZmZGI0ZWU0ZmQ1
ZWExYzdjMDQ2ZjMxLi43ZjA0NDNiZWNhNTE5YzE1YzRmZWI4YzMxNGU3OTMwMDdjYTc1NDljIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1Njcm9sbGJhckxheWVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmgKQEAgLTMwLDYgKzMwLDEwIEBA
CiAKICNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZUNsaWVudC5oIgogI2luY2x1ZGUgImNjL0NDTGF5
ZXJJbXBsLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYlJlY3QuaD4KKyNpbmNsdWRlIDxwdWJsaWMv
V2ViU2Nyb2xsYmFyLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0
cnkuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIApAQCAtMzksMTkgKzQzLDcgQEAgY2xhc3MgQ0NTY3JvbGxiYXJMYXllckltcGwgOiBwdWJs
aWMgQ0NMYXllckltcGwgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPENDU2Nyb2xs
YmFyTGF5ZXJJbXBsPiBjcmVhdGUoaW50IGlkKTsKIAotICAgIHZvaWQgc2V0U2Nyb2xsYmFyT3Zl
cmxheVN0eWxlKFNjcm9sbGJhck92ZXJsYXlTdHlsZSBzY3JvbGxiYXJPdmVybGF5U3R5bGUpIHsg
bV9zY3JvbGxiYXJPdmVybGF5U3R5bGUgPSBzY3JvbGxiYXJPdmVybGF5U3R5bGU7IH0KLSAgICB2
b2lkIHNldFRpY2ttYXJrcyhjb25zdCBWZWN0b3I8SW50UmVjdD4mIHRpY2ttYXJrcykgeyBtX3Rp
Y2ttYXJrcyA9IHRpY2ttYXJrczsgfQotICAgIHZvaWQgc2V0SXNTY3JvbGxhYmxlQXJlYUFjdGl2
ZShib29sIGlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUpIHsgbV9pc1Njcm9sbGFibGVBcmVhQWN0aXZl
ID0gaXNTY3JvbGxhYmxlQXJlYUFjdGl2ZTsgfQotICAgIHZvaWQgc2V0SXNTY3JvbGxWaWV3U2Ny
b2xsYmFyKGJvb2wgaXNTY3JvbGxWaWV3U2Nyb2xsYmFyKSB7IG1faXNTY3JvbGxWaWV3U2Nyb2xs
YmFyID0gaXNTY3JvbGxWaWV3U2Nyb2xsYmFyOyB9Ci0KLSAgICB2b2lkIHNldE9yaWVudGF0aW9u
KFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uKSB7IG1fb3JpZW50YXRpb24gPSBvcmll
bnRhdGlvbjsgfQotCi0gICAgdm9pZCBzZXRDb250cm9sU2l6ZShTY3JvbGxiYXJDb250cm9sU2l6
ZSBjb250cm9sU2l6ZSkgeyBtX2NvbnRyb2xTaXplID0gY29udHJvbFNpemU7IH0KLQotICAgIHZv
aWQgc2V0UHJlc3NlZFBhcnQoU2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCkgeyBtX3ByZXNzZWRQ
YXJ0ID0gcHJlc3NlZFBhcnQ7IH0KLSAgICB2b2lkIHNldEhvdmVyZWRQYXJ0KFNjcm9sbGJhclBh
cnQgaG92ZXJlZFBhcnQpIHsgbV9ob3ZlcmVkUGFydCA9IGhvdmVyZWRQYXJ0OyB9Ci0KLSAgICB2
b2lkIHNldEVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fZW5hYmxlZCA9IGVuYWJsZWQ7IH0KKyAg
ICB2b2lkIHNldFNjcm9sbGJhckRhdGEoY29uc3QgV2ViS2l0OjpXZWJTY3JvbGxiYXIqLCBXZWJL
aXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkpOwogCiAgICAgdm9pZCBzZXRCYWNrVHJhY2tU
ZXh0dXJlSWQodW5zaWduZWQgaWQpIHsgbV9iYWNrVHJhY2tUZXh0dXJlSWQgPSBpZDsgfQogICAg
IHZvaWQgc2V0Rm9yZVRyYWNrVGV4dHVyZUlkKHVuc2lnbmVkIGlkKSB7IG1fZm9yZVRyYWNrVGV4
dHVyZUlkID0gaWQ7IH0KQEAgLTY5LDU0ICs2MSwyNyBAQCBwcml2YXRlOgogICAgIENDTGF5ZXJJ
bXBsKiBtX3Njcm9sbExheWVyOwogCiAgICAgLy8gbmVzdGVkIGNsYXNzIG9ubHkgdG8gYXZvaWQg
bmFtZXNwYWNlIHByb2JsZW0KLSAgICBjbGFzcyBDQ1Njcm9sbGJhciA6IHB1YmxpYyBTY3JvbGxi
YXJUaGVtZUNsaWVudCB7CisgICAgY2xhc3MgQ0NTY3JvbGxiYXIgOiBwdWJsaWMgV2ViS2l0OjpX
ZWJTY3JvbGxiYXIgewogICAgIHB1YmxpYzoKICAgICAgICAgZXhwbGljaXQgQ0NTY3JvbGxiYXIo
Q0NTY3JvbGxiYXJMYXllckltcGwqIG93bmVyKSA6IG1fb3duZXIob3duZXIpIHsgfQogCi0gICAg
ICAgIC8vIFNjcm9sbGJhclRoZW1lQ2xpZW50IGltcGxlbWVudGF0aW9uCi0gICAgICAgIHZpcnR1
YWwgaW50IHgoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBpbnQgeSgpIGNvbnN0OwotICAgICAg
ICB2aXJ0dWFsIGludCB3aWR0aCgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGludCBoZWlnaHQo
KSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBJbnRTaXplIHNpemUoKSBjb25zdDsKLSAgICAgICAg
dmlydHVhbCBJbnRQb2ludCBsb2NhdGlvbigpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwgU2Ny
b2xsVmlldyogcGFyZW50KCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgU2Nyb2xsVmlldyogcm9v
dCgpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzZXRGcmFtZVJlY3QoY29uc3QgSW50
UmVjdCYpOwotICAgICAgICB2aXJ0dWFsIEludFJlY3QgZnJhbWVSZWN0KCkgY29uc3Q7Ci0KLSAg
ICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGUoKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGlu
dmFsaWRhdGVSZWN0KGNvbnN0IEludFJlY3QmKTsKLQotICAgICAgICB2aXJ0dWFsIFNjcm9sbGJh
ck92ZXJsYXlTdHlsZSBzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdDsKLSAgICAgICAgdmly
dHVhbCB2b2lkIGdldFRpY2ttYXJrcyhWZWN0b3I8SW50UmVjdD4mKSBjb25zdDsKLSAgICAgICAg
dmlydHVhbCBib29sIGlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSBjb25zdDsKLSAgICAgICAgdmly
dHVhbCBib29sIGlzU2Nyb2xsVmlld1Njcm9sbGJhcigpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1
YWwgSW50UG9pbnQgY29udmVydEZyb21Db250YWluaW5nV2luZG93KGNvbnN0IEludFBvaW50JiB3
aW5kb3dQb2ludCk7Ci0KLSAgICAgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tU2Nyb2xsYmFyKCkg
Y29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24o
KSBjb25zdDsKLQorICAgICAgICAvLyBXZWJTY3JvbGxiYXIgaW1wbGVtZW50YXRpb24KKyAgICAg
ICAgdmlydHVhbCBib29sIGlzT3ZlcmxheSgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGludCB2
YWx1ZSgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGZsb2F0IGN1cnJlbnRQb3MoKSBjb25zdDsK
LSAgICAgICAgdmlydHVhbCBpbnQgdmlzaWJsZVNpemUoKSBjb25zdDsKLSAgICAgICAgdmlydHVh
bCBpbnQgdG90YWxTaXplKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgaW50IG1heGltdW0oKSBj
b25zdDsKLSAgICAgICAgdmlydHVhbCBTY3JvbGxiYXJDb250cm9sU2l6ZSBjb250cm9sU2l6ZSgp
IGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwgaW50IGxpbmVTdGVwKCkgY29uc3Q7Ci0gICAgICAg
IHZpcnR1YWwgaW50IHBhZ2VTdGVwKCkgY29uc3Q7Ci0KLSAgICAgICAgdmlydHVhbCBTY3JvbGxi
YXJQYXJ0IHByZXNzZWRQYXJ0KCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgU2Nyb2xsYmFyUGFy
dCBob3ZlcmVkUGFydCgpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzdHlsZUNoYW5n
ZWQoKTsKLQorICAgICAgICB2aXJ0dWFsIFdlYktpdDo6V2ViUG9pbnQgbG9jYXRpb24oKSBjb25z
dDsKKyAgICAgICAgdmlydHVhbCBXZWJLaXQ6OldlYlNpemUgc2l6ZSgpIGNvbnN0OwogICAgICAg
ICB2aXJ0dWFsIGJvb2wgZW5hYmxlZCgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0
RW5hYmxlZChib29sKTsKKyAgICAgICAgdmlydHVhbCBpbnQgbWF4aW11bSgpIGNvbnN0OworICAg
ICAgICB2aXJ0dWFsIGludCB0b3RhbFNpemUoKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBib29s
IGlzU2Nyb2xsVmlld1Njcm9sbGJhcigpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIGJvb2wgaXNT
Y3JvbGxhYmxlQXJlYUFjdGl2ZSgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIHZvaWQgZ2V0VGlj
a21hcmtzKFdlYktpdDo6V2ViVmVjdG9yPFdlYktpdDo6V2ViUmVjdD4mIHRpY2ttYXJrcykgY29u
c3Q7CisgICAgICAgIHZpcnR1YWwgV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJDb250cm9sU2l6ZSBj
b250cm9sU2l6ZSgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIFdlYlNjcm9sbGJhcjo6U2Nyb2xs
YmFyUGFydCBwcmVzc2VkUGFydCgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIFdlYlNjcm9sbGJh
cjo6U2Nyb2xsYmFyUGFydCBob3ZlcmVkUGFydCgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIFdl
YlNjcm9sbGJhcjo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlIHNjcm9sbGJhck92ZXJsYXlTdHlsZSgp
IGNvbnN0OworICAgICAgICB2aXJ0dWFsIFdlYlNjcm9sbGJhcjo6T3JpZW50YXRpb24gb3JpZW50
YXRpb24oKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tU2Nyb2xsYmFyKCkg
Y29uc3Q7CiAKICAgICBwcml2YXRlOgogICAgICAgICBDQ1Njcm9sbGJhckxheWVySW1wbCogbV9v
d25lcjsKQEAgLTEyOCwxOSArOTMsMjAgQEAgcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX2ZvcmVU
cmFja1RleHR1cmVJZDsKICAgICB1bnNpZ25lZCBtX3RodW1iVGV4dHVyZUlkOwogCi0gICAgU2Ny
b2xsYmFyT3ZlcmxheVN0eWxlIG1fc2Nyb2xsYmFyT3ZlcmxheVN0eWxlOwotICAgIFZlY3RvcjxJ
bnRSZWN0PiBtX3RpY2ttYXJrczsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0
cnkgbV9nZW9tZXRyeTsKKworICAgIC8vIERhdGEgdG8gaW1wbGVtZW50IENDU2Nyb2xsYmFyCisg
ICAgV2ViS2l0OjpXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlTdHlsZSBtX3Njcm9sbGJh
ck92ZXJsYXlTdHlsZTsKKyAgICBXZWJLaXQ6OldlYlZlY3RvcjxXZWJLaXQ6OldlYlJlY3Q+IG1f
dGlja21hcmtzOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyOjpPcmllbnRhdGlvbiBtX29yaWVu
dGF0aW9uOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJDb250cm9sU2l6ZSBt
X2NvbnRyb2xTaXplOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0IG1f
cHJlc3NlZFBhcnQ7CisgICAgV2ViS2l0OjpXZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBhcnQgbV9o
b3ZlcmVkUGFydDsKICAgICBib29sIG1faXNTY3JvbGxhYmxlQXJlYUFjdGl2ZTsKICAgICBib29s
IG1faXNTY3JvbGxWaWV3U2Nyb2xsYmFyOwotCi0gICAgU2Nyb2xsYmFyT3JpZW50YXRpb24gbV9v
cmllbnRhdGlvbjsKLQotICAgIFNjcm9sbGJhckNvbnRyb2xTaXplIG1fY29udHJvbFNpemU7Ci0K
LSAgICBTY3JvbGxiYXJQYXJ0IG1fcHJlc3NlZFBhcnQ7Ci0gICAgU2Nyb2xsYmFyUGFydCBtX2hv
dmVyZWRQYXJ0OwotCiAgICAgYm9vbCBtX2VuYWJsZWQ7CisgICAgYm9vbCBtX2lzQ3VzdG9tU2Ny
b2xsYmFyOworICAgIGJvb2wgbV9pc092ZXJsYXlTY3JvbGxiYXI7CiB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL1dlYktpdC5neXAKaW5kZXggNmZjZTQ0MDc1ODc4M2EzZTJkMTkyZThhM2NlOTdiMGQy
N2EwYTRiNy4uYTNlNTQ2ZWNhYjg3MTkzNWEwMTYxNjgyYWJlMThiZjQzNmI3OTg1ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cApAQCAtNjMwLDYgKzYzMCwxMiBAQAogICAgICAgICAgICAg
ICAgICdzcmMvV2ViU2NvcGVkVXNlckdlc3R1cmUuY3BwJywKICAgICAgICAgICAgICAgICAnc3Jj
L1dlYlNjcmlwdENvbnRyb2xsZXIuY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYlNjcm9s
bGFibGVMYXllci5jcHAnLAorICAgICAgICAgICAgICAgICdzcmMvV2ViU2Nyb2xsYmFySW1wbC5j
cHAnLAorICAgICAgICAgICAgICAgICdzcmMvV2ViU2Nyb2xsYmFySW1wbC5oJywKKyAgICAgICAg
ICAgICAgICAnc3JjL1dlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbC5jcHAnLAorICAgICAgICAg
ICAgICAgICdzcmMvV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsLmgnLAorICAgICAgICAgICAg
ICAgICdzcmMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5jcHAnLAorICAgICAgICAgICAgICAg
ICdzcmMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3Ny
Yy9XZWJTZWFyY2hhYmxlRm9ybURhdGEuY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYlNl
Y3VyaXR5T3JpZ2luLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJTZWN1cml0eVBvbGlj
eS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRXh0ZXJuYWxQ
b3B1cE1lbnUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0V4dGVybmFsUG9wdXBNZW51
LmgKaW5kZXggYWVmZDM1ZTEyOTNmODc0MjViZTAyMTI2ODU3OTYzNTk4ZTA2ZWRjOC4uYjU1MmNm
YzNmZGE4ZGI3MDA4MzUxZjhjMjg1ZjA5MzVhMjhjYTQzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1lbnUuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9FeHRlcm5hbFBvcHVwTWVudS5oCkBAIC0zMyw2ICszMyw4IEBACiAKICNp
bmNsdWRlICJQb3B1cE1lbnUuaCIKICNpbmNsdWRlICJXZWJFeHRlcm5hbFBvcHVwTWVudUNsaWVu
dC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJDYW52YXMuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2Vi
U2Nyb2xsYmFyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEZyYW1lVmlldzsKQEAg
LTQ1LDYgKzQ3LDggQEAgbmFtZXNwYWNlIFdlYktpdCB7CiBjbGFzcyBXZWJFeHRlcm5hbFBvcHVw
TWVudTsKIGNsYXNzIFdlYlZpZXdDbGllbnQ7CiBzdHJ1Y3QgV2ViUG9wdXBNZW51SW5mbzsKK2Ns
YXNzIFdlYklucHV0RXZlbnQ7CitjbGFzcyBXZWJSZWN0OwogCiAvLyBUaGUgRXh0ZXJuYWxQb3B1
cE1lbnUgY29ubmVjdHMgdGhlIGFjdHVhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgcG9wdXAgbWVu
dQogLy8gdG8gdGhlIFdlYkNvcmUgcG9wdXAgbWVudS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpblNjcm9sbGJhckltcGwuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luU2Nyb2xsYmFySW1wbC5jcHAKaW5kZXggYjBmNjNhN2U0
YTBkNjEzMTRiYTUyYjhmMjY4YTRlNjQ0OTM1ZDgwYS4uZjM0ZGJmZGM3ZTllYTIyOTYxOTFmY2Y2
Y2E0ZWI3YTAzNjFiYmVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViUGx1Z2luU2Nyb2xsYmFySW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViUGx1Z2luU2Nyb2xsYmFySW1wbC5jcHAKQEAgLTY5LDggKzY5LDggQEAgV2ViUGx1Z2lu
U2Nyb2xsYmFySW1wbDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbChPcmllbnRhdGlvbiBvcmllbnRh
dGlvbiwKIHsKICAgICBtX3Njcm9sbGJhciA9IFNjcm9sbGJhcjo6Y3JlYXRlTmF0aXZlU2Nyb2xs
YmFyKAogICAgICAgICBzdGF0aWNfY2FzdDxTY3JvbGxhYmxlQXJlYSo+KG1fZ3JvdXApLAotICAg
ICAgICBzdGF0aWNfY2FzdDxTY3JvbGxiYXJPcmllbnRhdGlvbj4ob3JpZW50YXRpb24pLAotICAg
ICAgICBSZWd1bGFyU2Nyb2xsYmFyKTsKKyAgICAgICAgc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U2Ny
b2xsYmFyT3JpZW50YXRpb24+KG9yaWVudGF0aW9uKSwKKyAgICAgICAgV2ViQ29yZTo6UmVndWxh
clNjcm9sbGJhcik7CiAgICAgbV9ncm91cC0+c2Nyb2xsYmFyQ3JlYXRlZCh0aGlzKTsKIH0KIApA
QCAtMTIzLDYgKzEyMyw3OCBAQCBpbnQgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6dmFsdWUoKSBj
b25zdAogICAgIHJldHVybiBtX3Njcm9sbE9mZnNldDsKIH0KIAorV2ViUG9pbnQgV2ViUGx1Z2lu
U2Nyb2xsYmFySW1wbDo6bG9jYXRpb24oKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJh
ci0+ZnJhbWVSZWN0KCkubG9jYXRpb24oKTsKK30KKworV2ViU2l6ZSBXZWJQbHVnaW5TY3JvbGxi
YXJJbXBsOjpzaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmZyYW1lUmVj
dCgpLnNpemUoKTsKK30KKworYm9vbCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjplbmFibGVkKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmVuYWJsZWQoKTsKK30KKworaW50IFdl
YlBsdWdpblNjcm9sbGJhckltcGw6Om1heGltdW0oKSBjb25zdAoreworICAgIHJldHVybiBtX3Nj
cm9sbGJhci0+bWF4aW11bSgpOworfQorCitpbnQgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6dG90
YWxTaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPnRvdGFsU2l6ZSgpOwor
fQorCitib29sIFdlYlBsdWdpblNjcm9sbGJhckltcGw6OmlzU2Nyb2xsVmlld1Njcm9sbGJhcigp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5pc1Njcm9sbFZpZXdTY3JvbGxiYXIo
KTsKK30KKworYm9vbCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjppc1Njcm9sbGFibGVBcmVhQWN0
aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmlzU2Nyb2xsYWJsZUFyZWFB
Y3RpdmUoKTsKK30KKwordm9pZCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpnZXRUaWNrbWFya3Mo
V2ViVmVjdG9yPFdlYlJlY3Q+JiB0aWNrbWFya3MpIGNvbnN0Cit7CisgICAgbV9jbGllbnQtPmdl
dFRpY2ttYXJrcyhjb25zdF9jYXN0PFdlYlBsdWdpblNjcm9sbGJhckltcGwqPih0aGlzKSwgJnRp
Y2ttYXJrcyk7Cit9CisKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyQ29udHJvbFNpemUgV2ViUGx1
Z2luU2Nyb2xsYmFySW1wbDo6Y29udHJvbFNpemUoKSBjb25zdAoreworICAgIHJldHVybiBzdGF0
aWNfY2FzdDxXZWJTY3JvbGxiYXI6OlNjcm9sbGJhckNvbnRyb2xTaXplPihtX3Njcm9sbGJhci0+
Y29udHJvbFNpemUoKSk7Cit9CisKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBXZWJQbHVn
aW5TY3JvbGxiYXJJbXBsOjpwcmVzc2VkUGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydD4obV9zY3JvbGxiYXItPnByZXNzZWRQ
YXJ0KCkpOworfQorCitXZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBhcnQgV2ViUGx1Z2luU2Nyb2xs
YmFySW1wbDo6aG92ZXJlZFBhcnQoKSBjb25zdAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxX
ZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBhcnQ+KG1fc2Nyb2xsYmFyLT5ob3ZlcmVkUGFydCgpKTsK
K30KKworV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5U3R5bGUgV2ViUGx1Z2luU2Nyb2xs
YmFySW1wbDo6c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8V2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5U3R5bGU+KG1fc2Nyb2xsYmFy
LT5zY3JvbGxiYXJPdmVybGF5U3R5bGUoKSk7Cit9CisKK1dlYlNjcm9sbGJhcjo6T3JpZW50YXRp
b24gV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6b3JpZW50YXRpb24oKSBjb25zdAoreworICAgIGlm
IChtX3Njcm9sbGJhci0+b3JpZW50YXRpb24oKSA9PSBXZWJDb3JlOjpIb3Jpem9udGFsU2Nyb2xs
YmFyKQorICAgICAgICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpIb3Jpem9udGFsOworICAgIHJldHVy
biBXZWJTY3JvbGxiYXI6OlZlcnRpY2FsOworfQorCitib29sIFdlYlBsdWdpblNjcm9sbGJhcklt
cGw6OmlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXIt
PmlzQ3VzdG9tU2Nyb2xsYmFyKCk7Cit9CisKIHZvaWQgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6
c2V0TG9jYXRpb24oY29uc3QgV2ViUmVjdCYgcmVjdCkKIHsKICAgICBJbnRSZWN0IG9sZFJlY3Qg
PSBtX3Njcm9sbGJhci0+ZnJhbWVSZWN0KCk7CkBAIC0yMTEsNyArMjgzLDcgQEAgYm9vbCBXZWJQ
bHVnaW5TY3JvbGxiYXJJbXBsOjpvbk1vdXNlRG93bihjb25zdCBXZWJJbnB1dEV2ZW50JiBldmVu
dCkKIGJvb2wgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6b25Nb3VzZVVwKGNvbnN0IFdlYklucHV0
RXZlbnQmIGV2ZW50KQogewogICAgIFdlYk1vdXNlRXZlbnQgbW91c2V1cCA9ICpzdGF0aWNfY2Fz
dDxjb25zdCBXZWJNb3VzZUV2ZW50Kj4oJmV2ZW50KTsKLSAgICBpZiAobV9zY3JvbGxiYXItPnBy
ZXNzZWRQYXJ0KCkgPT0gTm9QYXJ0KQorICAgIGlmIChtX3Njcm9sbGJhci0+cHJlc3NlZFBhcnQo
KSA9PSBXZWJDb3JlOjpOb1BhcnQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHJldHVy
biBtX3Njcm9sbGJhci0+bW91c2VVcChQbGF0Zm9ybU1vdXNlRXZlbnRCdWlsZGVyKG1fc2Nyb2xs
YmFyLmdldCgpLCBtb3VzZXVwKSk7CkBAIC0yMjEsMjAgKzI5MywyMCBAQCBib29sIFdlYlBsdWdp
blNjcm9sbGJhckltcGw6Om9uTW91c2VNb3ZlKGNvbnN0IFdlYklucHV0RXZlbnQmIGV2ZW50KQog
ewogICAgIFdlYk1vdXNlRXZlbnQgbW91c2Vtb3ZlID0gKnN0YXRpY19jYXN0PGNvbnN0IFdlYk1v
dXNlRXZlbnQqPigmZXZlbnQpOwogICAgIGlmIChtX3Njcm9sbGJhci0+ZnJhbWVSZWN0KCkuY29u
dGFpbnMobW91c2Vtb3ZlLngsIG1vdXNlbW92ZS55KQotICAgICAgICB8fCBtX3Njcm9sbGJhci0+
cHJlc3NlZFBhcnQoKSAhPSBOb1BhcnQpIHsKKyAgICAgICAgfHwgbV9zY3JvbGxiYXItPnByZXNz
ZWRQYXJ0KCkgIT0gV2ViQ29yZTo6Tm9QYXJ0KSB7CiAgICAgICAgIG1vdXNlbW92ZS54IC09IG1f
c2Nyb2xsYmFyLT54KCk7CiAgICAgICAgIG1vdXNlbW92ZS55IC09IG1fc2Nyb2xsYmFyLT55KCk7
CiAgICAgICAgIHJldHVybiBtX3Njcm9sbGJhci0+bW91c2VNb3ZlZChQbGF0Zm9ybU1vdXNlRXZl
bnRCdWlsZGVyKG1fc2Nyb2xsYmFyLmdldCgpLCBtb3VzZW1vdmUpKTsKICAgICB9CiAKLSAgICBp
ZiAobV9zY3JvbGxiYXItPmhvdmVyZWRQYXJ0KCkgIT0gTm9QYXJ0ICYmICFtX3Njcm9sbGJhci0+
aXNPdmVybGF5U2Nyb2xsYmFyKCkpCisgICAgaWYgKG1fc2Nyb2xsYmFyLT5ob3ZlcmVkUGFydCgp
ICE9IFdlYkNvcmU6Ok5vUGFydCAmJiAhbV9zY3JvbGxiYXItPmlzT3ZlcmxheVNjcm9sbGJhcigp
KQogICAgICAgICBtX3Njcm9sbGJhci0+bW91c2VFeGl0ZWQoKTsKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKIGJvb2wgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6b25Nb3VzZUxlYXZlKGNvbnN0IFdl
YklucHV0RXZlbnQmIGV2ZW50KQogewotICAgIGlmIChtX3Njcm9sbGJhci0+aG92ZXJlZFBhcnQo
KSAhPSBOb1BhcnQpCisgICAgaWYgKG1fc2Nyb2xsYmFyLT5ob3ZlcmVkUGFydCgpICE9IFdlYkNv
cmU6Ok5vUGFydCkKICAgICAgICAgbV9zY3JvbGxiYXItPm1vdXNlRXhpdGVkKCk7CiAKICAgICBy
ZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQ
bHVnaW5TY3JvbGxiYXJJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVn
aW5TY3JvbGxiYXJJbXBsLmgKaW5kZXggYjQyY2I4MmZkOTViM2ZlOGYyNjZmZDJkZDcxZjE1MmUx
NzAyNTQzOS4uYTM0NzkxMTcyNDdiNThjYWMyMWFmYmExYTVhMmY2NzRkMTNjYTdjNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luU2Nyb2xsYmFySW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpblNjcm9sbGJhckltcGwu
aApAQCAtNDksNiArNDksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldFNjcm9sbE9mZnNldChp
bnQpOwogICAgIHZvaWQgaW52YWxpZGF0ZVNjcm9sbGJhclJlY3QoY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYpOworICAgIC8vIEZJWE1FOiBDb21iaW5lIHRoaXMgd2l0aCB0aGUgb3RoZXIgZ2V0VGlj
a21hcmtzIG1ldGhvZAogICAgIHZvaWQgZ2V0VGlja21hcmtzKFZlY3RvcjxXZWJDb3JlOjpJbnRS
ZWN0PiYpIGNvbnN0OwogICAgIFdlYkNvcmU6OkludFBvaW50IGNvbnZlcnRGcm9tQ29udGFpbmlu
Z1ZpZXdUb1Njcm9sbGJhcihjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcGFyZW50UG9pbnQpIGNv
bnN0OwogICAgIHZvaWQgc2Nyb2xsYmFyU3R5bGVDaGFuZ2VkKCk7CkBAIC01OSw2ICs2MCwyMCBA
QCBwdWJsaWM6CiAgICAgLy8gV2ViS2l0OjpXZWJTY3JvbGxiYXIgbWV0aG9kcwogICAgIHZpcnR1
YWwgYm9vbCBpc092ZXJsYXkoKSBjb25zdDsKICAgICB2aXJ0dWFsIGludCB2YWx1ZSgpIGNvbnN0
OworICAgIHZpcnR1YWwgV2ViUG9pbnQgbG9jYXRpb24oKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdl
YlNpemUgc2l6ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBlbmFibGVkKCkgY29uc3Q7Cisg
ICAgdmlydHVhbCBpbnQgbWF4aW11bSgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHRvdGFsU2l6
ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgpIGNvbnN0OworICAg
IHZpcnR1YWwgdm9pZCBnZXRUaWNrbWFya3MoV2ViVmVjdG9yPFdlYlJlY3Q+JiB0aWNrbWFya3Mp
IGNvbnN0OworICAgIHZpcnR1YWwgV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJDb250cm9sU2l6ZSBj
b250cm9sU2l6ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQ
YXJ0IHByZXNzZWRQYXJ0KCkgY29uc3Q7CisgICAgdmlydHVhbCBXZWJTY3JvbGxiYXI6OlNjcm9s
bGJhclBhcnQgaG92ZXJlZFBhcnQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYlNjcm9sbGJhcjo6
U2Nyb2xsYmFyT3ZlcmxheVN0eWxlIHNjcm9sbGJhck92ZXJsYXlTdHlsZSgpIGNvbnN0OworICAg
IHZpcnR1YWwgV2ViU2Nyb2xsYmFyOjpPcmllbnRhdGlvbiBvcmllbnRhdGlvbigpIGNvbnN0Owor
ICAgIHZpcnR1YWwgYm9vbCBpc0N1c3RvbVNjcm9sbGJhcigpIGNvbnN0OwogCiAgICAgLy8gV2Vi
S2l0OjpXZWJQbHVnaW5TY3JvbGxiYXIgbWV0aG9kcwogICAgIHZpcnR1YWwgdm9pZCBzZXRMb2Nh
dGlvbihjb25zdCBXZWJSZWN0Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJTY3JvbGxiYXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNjcm9sbGJhckltcGwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjODc3NjRiZmYyNDMzNGI5MThlYjU3MDY3
Y2E1NWNhN2VlY2Q4OTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJTY3JvbGxiYXJJbXBsLmNwcApAQCAtMCwwICsxLDE4NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisg
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04K
KyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiV2ViU2Nyb2xsYmFySW1wbC5oIgor
CisjaW5jbHVkZSAiSW50UmVjdC5oIgorI2luY2x1ZGUgIlNjcm9sbGJhci5oIgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworUGFzc093blB0cjxXZWJTY3JvbGxiYXI+IFdlYlNjcm9sbGJhcjo6Y3Jl
YXRlKFdlYkNvcmU6OlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIHJldHVybiBhZG9wdFB0
cihuZXcgV2ViU2Nyb2xsYmFySW1wbChzY3JvbGxiYXIpKTsKK30KKworV2ViU2Nyb2xsYmFySW1w
bDo6V2ViU2Nyb2xsYmFySW1wbChXZWJDb3JlOjpTY3JvbGxiYXIqIHNjcm9sbGJhcikKKyAgICA6
IG1fc2Nyb2xsYmFyKHNjcm9sbGJhcikKK3sKK30KKworYm9vbCBXZWJTY3JvbGxiYXJJbXBsOjpp
c092ZXJsYXkoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+aXNPdmVybGF5U2Ny
b2xsYmFyKCk7Cit9CisKK2ludCBXZWJTY3JvbGxiYXJJbXBsOjp2YWx1ZSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT52YWx1ZSgpOworfQorCitXZWJQb2ludCBXZWJTY3JvbGxi
YXJJbXBsOjpsb2NhdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5sb2Nh
dGlvbigpOworfQorCitXZWJTaXplIFdlYlNjcm9sbGJhckltcGw6OnNpemUoKSBjb25zdAorewor
ICAgIHJldHVybiBtX3Njcm9sbGJhci0+c2l6ZSgpOworfQorCitib29sIFdlYlNjcm9sbGJhcklt
cGw6OmVuYWJsZWQoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+ZW5hYmxlZCgp
OworfQorCitpbnQgV2ViU2Nyb2xsYmFySW1wbDo6bWF4aW11bSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fc2Nyb2xsYmFyLT5tYXhpbXVtKCk7Cit9CisKK2ludCBXZWJTY3JvbGxiYXJJbXBsOjp0
b3RhbFNpemUoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+dG90YWxTaXplKCk7
Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmlzU2Nyb2xsVmlld1Njcm9sbGJhcigpOwor
fQorCitib29sIFdlYlNjcm9sbGJhckltcGw6OmlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSBjb25z
dAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgpOwor
fQorCit2b2lkIFdlYlNjcm9sbGJhckltcGw6OmdldFRpY2ttYXJrcyhXZWJWZWN0b3I8V2ViUmVj
dD4mIHdlYlRpY2ttYXJrcykgY29uc3QKK3sKKyAgICBWZWN0b3I8V2ViQ29yZTo6SW50UmVjdD4g
dGlja21hcmtzOworICAgIG1fc2Nyb2xsYmFyLT5nZXRUaWNrbWFya3ModGlja21hcmtzKTsKKwor
ICAgIFdlYlZlY3RvcjxXZWJSZWN0PiByZXN1bHQodGlja21hcmtzLnNpemUoKSk7CisgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCB0aWNrbWFya3Muc2l6ZSgpOyArK2kpCisgICAgICAgIHJlc3Vs
dFtpXSA9IHRpY2ttYXJrc1tpXTsKKworICAgIHdlYlRpY2ttYXJrcy5zd2FwKHJlc3VsdCk7Cit9
CisKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyQ29udHJvbFNpemUgV2ViU2Nyb2xsYmFySW1wbDo6
Y29udHJvbFNpemUoKSBjb25zdAoreworICAgIHN3aXRjaCAobV9zY3JvbGxiYXItPmNvbnRyb2xT
aXplKCkpIHsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICBjYXNlIFdlYkNvcmU6OlJlZ3VsYXJTY3JvbGxiYXI6CisgICAgICAgIHJldHVybiBXZWJTY3Jv
bGxiYXI6OlJlZ3VsYXJTY3JvbGxiYXI7CisgICAgY2FzZSBXZWJDb3JlOjpTbWFsbFNjcm9sbGJh
cjoKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJhcjo6U21hbGxTY3JvbGxiYXI7CisgICAgfQor
fQorCitzdGF0aWMgV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0IHRvV2ViU2Nyb2xsYmFyUGFy
dChXZWJDb3JlOjpTY3JvbGxiYXJQYXJ0IHBhcnQpCit7CisgICAgc3dpdGNoIChwYXJ0KSB7Cisg
ICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgY2FzZSBXZWJD
b3JlOjpOb1BhcnQ6CisgICAgICAgIHJldHVybiBXZWJTY3JvbGxiYXI6Ok5vUGFydDsKKyAgICBj
YXNlIFdlYkNvcmU6OkJhY2tCdXR0b25TdGFydFBhcnQ6CisgICAgICAgIHJldHVybiBXZWJTY3Jv
bGxiYXI6OkJhY2tCdXR0b25TdGFydFBhcnQ7CisgICAgY2FzZSBXZWJDb3JlOjpGb3J3YXJkQnV0
dG9uU3RhcnRQYXJ0OgorICAgICAgICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpGb3J3YXJkQnV0dG9u
U3RhcnRQYXJ0OworICAgIGNhc2UgV2ViQ29yZTo6QmFja1RyYWNrUGFydDoKKyAgICAgICAgcmV0
dXJuIFdlYlNjcm9sbGJhcjo6QmFja1RyYWNrUGFydDsKKyAgICBjYXNlIFdlYkNvcmU6OlRodW1i
UGFydDoKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJhcjo6VGh1bWJQYXJ0OworICAgIGNhc2Ug
V2ViQ29yZTo6Rm9yd2FyZFRyYWNrUGFydDoKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJhcjo6
Rm9yd2FyZFRyYWNrUGFydDsKKyAgICBjYXNlIFdlYkNvcmU6OkJhY2tCdXR0b25FbmRQYXJ0Ogor
ICAgICAgICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpCYWNrQnV0dG9uRW5kUGFydDsKKyAgICBjYXNl
IFdlYkNvcmU6OkZvcndhcmRCdXR0b25FbmRQYXJ0OgorICAgICAgICByZXR1cm4gV2ViU2Nyb2xs
YmFyOjpGb3J3YXJkQnV0dG9uRW5kUGFydDsKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbGJhckJH
UGFydDoKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyQkdQYXJ0OworICAg
IGNhc2UgV2ViQ29yZTo6VHJhY2tCR1BhcnQ6CisgICAgICAgIHJldHVybiBXZWJTY3JvbGxiYXI6
OlRyYWNrQkdQYXJ0OworICAgIGNhc2UgV2ViQ29yZTo6QWxsUGFydHM6CisgICAgICAgIHJldHVy
biBXZWJTY3JvbGxiYXI6OkFsbFBhcnRzOworICAgIH0KK30KKworV2ViU2Nyb2xsYmFyOjpTY3Jv
bGxiYXJQYXJ0IFdlYlNjcm9sbGJhckltcGw6OnByZXNzZWRQYXJ0KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gdG9XZWJTY3JvbGxiYXJQYXJ0KG1fc2Nyb2xsYmFyLT5wcmVzc2VkUGFydCgpKTsKK30K
KworV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0IFdlYlNjcm9sbGJhckltcGw6OmhvdmVyZWRQ
YXJ0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdG9XZWJTY3JvbGxiYXJQYXJ0KG1fc2Nyb2xsYmFy
LT5ob3ZlcmVkUGFydCgpKTsKK30KKworV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5U3R5
bGUgV2ViU2Nyb2xsYmFySW1wbDo6c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkgY29uc3QKK3sKKyAg
ICBzd2l0Y2ggKG1fc2Nyb2xsYmFyLT5zY3JvbGxiYXJPdmVybGF5U3R5bGUoKSkgeworICAgIGRl
ZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGNhc2UgV2ViQ29yZTo6
U2Nyb2xsYmFyT3ZlcmxheVN0eWxlRGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJh
cjo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlRGVmYXVsdDsKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9s
bGJhck92ZXJsYXlTdHlsZURhcms6CisgICAgICAgIHJldHVybiBXZWJTY3JvbGxiYXI6OlNjcm9s
bGJhck92ZXJsYXlTdHlsZURhcms7CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxiYXJPdmVybGF5
U3R5bGVMaWdodDoKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyT3Zlcmxh
eVN0eWxlTGlnaHQ7CisgICAgfQorfQorCitXZWJTY3JvbGxiYXI6Ok9yaWVudGF0aW9uIFdlYlNj
cm9sbGJhckltcGw6Om9yaWVudGF0aW9uKCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKG1fc2Nyb2xs
YmFyLT5vcmllbnRhdGlvbigpKSB7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgY2FzZSBXZWJDb3JlOjpIb3Jpem9udGFsU2Nyb2xsYmFyOgorICAgICAg
ICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpIb3Jpem9udGFsOworICAgIGNhc2UgV2ViQ29yZTo6VmVy
dGljYWxTY3JvbGxiYXI6CisgICAgICAgIHJldHVybiBXZWJTY3JvbGxiYXI6OlZlcnRpY2FsOwor
ICAgIH0KK30KKworYm9vbCBXZWJTY3JvbGxiYXJJbXBsOjppc0N1c3RvbVNjcm9sbGJhcigpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5pc0N1c3RvbVNjcm9sbGJhcigpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlNjcm9sbGJhckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNjcm9sbGJhckltcGwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzhmOWIwOTkyYmFlY2Y5ZDI3MDE1NTI1NjNj
MTE2ZjIzOGE4OTkzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViU2Nyb2xsYmFySW1wbC5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgV2ViU2Nyb2xsYmFySW1wbF9oCisjZGVmaW5lIFdlYlNjcm9sbGJhckltcGxfaAorCisj
aW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7Citj
bGFzcyBTY3JvbGxiYXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJTY3Jv
bGxiYXJJbXBsIDogcHVibGljIFdlYlNjcm9sbGJhciB7CitwdWJsaWM6CisgICAgV2ViU2Nyb2xs
YmFySW1wbChXZWJDb3JlOjpTY3JvbGxiYXIqKTsKKworICAgIC8vIEltcGxlbWVudCBXZWJLaXQ6
OldlYlNjcm9sbGJhciBtZXRob2RzCisgICAgdmlydHVhbCBib29sIGlzT3ZlcmxheSgpIGNvbnN0
OworICAgIHZpcnR1YWwgaW50IHZhbHVlKCkgY29uc3Q7CisgICAgdmlydHVhbCBXZWJQb2ludCBs
b2NhdGlvbigpIGNvbnN0OworICAgIHZpcnR1YWwgV2ViU2l6ZSBzaXplKCkgY29uc3Q7CisgICAg
dmlydHVhbCBib29sIGVuYWJsZWQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGludCBtYXhpbXVtKCkg
Y29uc3Q7CisgICAgdmlydHVhbCBpbnQgdG90YWxTaXplKCkgY29uc3Q7CisgICAgdmlydHVhbCBi
b29sIGlzU2Nyb2xsVmlld1Njcm9sbGJhcigpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBpc1Nj
cm9sbGFibGVBcmVhQWN0aXZlKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGdldFRpY2ttYXJr
cyhXZWJWZWN0b3I8V2ViUmVjdD4mIHRpY2ttYXJrcykgY29uc3Q7CisgICAgdmlydHVhbCBTY3Jv
bGxiYXJDb250cm9sU2l6ZSBjb250cm9sU2l6ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgU2Nyb2xs
YmFyUGFydCBwcmVzc2VkUGFydCgpIGNvbnN0OworICAgIHZpcnR1YWwgU2Nyb2xsYmFyUGFydCBo
b3ZlcmVkUGFydCgpIGNvbnN0OworICAgIHZpcnR1YWwgU2Nyb2xsYmFyT3ZlcmxheVN0eWxlIHNj
cm9sbGJhck92ZXJsYXlTdHlsZSgpIGNvbnN0OworICAgIHZpcnR1YWwgT3JpZW50YXRpb24gb3Jp
ZW50YXRpb24oKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNDdXN0b21TY3JvbGxiYXIoKSBj
b25zdDsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8V2ViQ29yZTo6U2Nyb2xsYmFyPiBtX3Njcm9s
bGJhcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJUaGVtZUNsaWVudElt
cGwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM2MDI2MTgwOTU2YTQ2ODc2NmFlMzM4N2QwNGU5ZWM3OGZmYTU5
MzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3Jv
bGxiYXJUaGVtZUNsaWVudEltcGwuY3BwCkBAIC0wLDAgKzEsMjc0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRT
IENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisg
KiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsLmgi
CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2Vi
U2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwoV2Vi
U2Nyb2xsYmFyKiBzY3JvbGxiYXIpCisgICAgOiBtX3Njcm9sbGJhcihzY3JvbGxiYXIpCit7Cit9
CisKK2ludCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OngoKSBjb25zdAoreworICAgIHJl
dHVybiBsb2NhdGlvbigpLngoKTsKK30KKworaW50IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1w
bDo6eSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGxvY2F0aW9uKCkueSgpOworfQorCitpbnQgV2Vi
U2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjp3aWR0aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHNp
emUoKS53aWR0aCgpOworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpoZWln
aHQoKSBjb25zdAoreworICAgIHJldHVybiBzaXplKCkuaGVpZ2h0KCk7Cit9CisKK0ludFNpemUg
V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpzaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9zY3JvbGxiYXItPnNpemUoKTsKK30KKworSW50UG9pbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGll
bnRJbXBsOjpsb2NhdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5sb2Nh
dGlvbigpOworfQorCitTY3JvbGxWaWV3KiBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnBh
cmVudCgpIGNvbnN0Cit7CisgICAgLy8gVW51c2VkIGJ5IENocm9taXVtIHNjcm9sbGJhciB0aGVt
ZXMuCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK1Njcm9s
bFZpZXcqIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6cm9vdCgpIGNvbnN0Cit7CisgICAg
Ly8gVW51c2VkIGJ5IENocm9taXVtIHNjcm9sbGJhciB0aGVtZXMuCisgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVDbGll
bnRJbXBsOjpzZXRGcmFtZVJlY3QoY29uc3QgSW50UmVjdCYpCit7CisgICAgLy8gVW51c2VkIGJ5
IENocm9taXVtIHNjcm9sbGJhciB0aGVtZXMuCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9
CisKK0ludFJlY3QgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpmcmFtZVJlY3QoKSBjb25z
dAoreworICAgIHJldHVybiBJbnRSZWN0KGxvY2F0aW9uKCksIHNpemUoKSk7Cit9CisKK3ZvaWQg
V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjppbnZhbGlkYXRlKCkKK3sKKyAgICAvLyBVbnVz
ZWQgYnkgQ2hyb21pdW0gc2Nyb2xsYmFyIHRoZW1lcy4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmludmFsaWRhdGVSZWN0
KGNvbnN0IEludFJlY3QmKQoreworICAgIC8vIFVudXNlZCBieSBDaHJvbWl1bSBzY3JvbGxiYXIg
dGhlbWVzLgorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitXZWJDb3JlOjpTY3JvbGxi
YXJPdmVybGF5U3R5bGUgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpzY3JvbGxiYXJPdmVy
bGF5U3R5bGUoKSBjb25zdAoreworICAgIHN3aXRjaCAobV9zY3JvbGxiYXItPnNjcm9sbGJhck92
ZXJsYXlTdHlsZSgpKSB7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgY2FzZSBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlTdHlsZURlZmF1bHQ6
CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxiYXJPdmVybGF5U3R5bGVEZWZhdWx0Owor
ICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5U3R5bGVEYXJrOgorICAgICAg
ICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlRGFyazsKKyAgICBjYXNlIFdl
YlNjcm9sbGJhcjo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlTGlnaHQ6CisgICAgICAgIHJldHVybiBX
ZWJDb3JlOjpTY3JvbGxiYXJPdmVybGF5U3R5bGVMaWdodDsKKyAgICB9Cit9CisKK3ZvaWQgV2Vi
U2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpnZXRUaWNrbWFya3MoVmVjdG9yPEludFJlY3Q+JiB0
aWNrbWFya3MpIGNvbnN0Cit7CisgICAgV2ViVmVjdG9yPFdlYlJlY3Q+IHdlYlRpY2ttYXJrczsK
KyAgICBtX3Njcm9sbGJhci0+Z2V0VGlja21hcmtzKHdlYlRpY2ttYXJrcyk7CisgICAgdGlja21h
cmtzLnJlc2l6ZSh3ZWJUaWNrbWFya3Muc2l6ZSgpKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IHdlYlRpY2ttYXJrcy5zaXplKCk7ICsraSkKKyAgICAgICAgdGlja21hcmtzW2ldID0gd2Vi
VGlja21hcmtzW2ldOworfQorCitib29sIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aXNT
Y3JvbGxhYmxlQXJlYUFjdGl2ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5p
c1Njcm9sbGFibGVBcmVhQWN0aXZlKCk7Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFyVGhlbWVDbGll
bnRJbXBsOjppc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBjb25zdAoreworICAgIC8vIFVudXNlZCBi
eSBDaHJvbWl1bSBzY3JvbGxiYXIgdGhlbWVzLgorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIHJldHVybiBmYWxzZTsKK30KKworSW50UG9pbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJ
bXBsOjpjb252ZXJ0RnJvbUNvbnRhaW5pbmdXaW5kb3coY29uc3QgSW50UG9pbnQmIHdpbmRvd1Bv
aW50KQoreworICAgIC8vIFVudXNlZCBieSBDaHJvbWl1bSBzY3JvbGxiYXIgdGhlbWVzLgorICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiB3aW5kb3dQb2ludDsKK30KKworYm9v
bCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmlzQ3VzdG9tU2Nyb2xsYmFyKCk7Cit9CisKK1Nj
cm9sbGJhck9yaWVudGF0aW9uIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6b3JpZW50YXRp
b24oKSBjb25zdAoreworICAgIHN3aXRjaCAobV9zY3JvbGxiYXItPm9yaWVudGF0aW9uKCkpIHsK
KyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICBjYXNlIFdl
YlNjcm9sbGJhcjo6SG9yaXpvbnRhbDoKKyAgICAgICAgcmV0dXJuIEhvcml6b250YWxTY3JvbGxi
YXI7CisgICAgY2FzZSBXZWJTY3JvbGxiYXI6OlZlcnRpY2FsOgorICAgICAgICByZXR1cm4gVmVy
dGljYWxTY3JvbGxiYXI7CisgICAgfQorfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJ
bXBsOjp2YWx1ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT52YWx1ZSgpOwor
fQorCitmbG9hdCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmN1cnJlbnRQb3MoKSBjb25z
dAoreworICAgIHJldHVybiB2YWx1ZSgpOworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGll
bnRJbXBsOjp2aXNpYmxlU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRvdGFsU2l6ZSgpIC0g
bWF4aW11bSgpOworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjp0b3RhbFNp
emUoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+dG90YWxTaXplKCk7Cit9CisK
K2ludCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6Om1heGltdW0oKSBjb25zdAoreworICAg
IHJldHVybiBtX3Njcm9sbGJhci0+bWF4aW11bSgpOworfQorCitXZWJDb3JlOjpTY3JvbGxiYXJD
b250cm9sU2l6ZSBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmNvbnRyb2xTaXplKCkgY29u
c3QKK3sKKyAgICBzd2l0Y2ggKG1fc2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpKSB7CisgICAgZGVm
YXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgY2FzZSBXZWJTY3JvbGxi
YXI6OlJlZ3VsYXJTY3JvbGxiYXI6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpSZWd1bGFyU2Ny
b2xsYmFyOworICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpTbWFsbFNjcm9sbGJhcjoKKyAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OlNtYWxsU2Nyb2xsYmFyOworICAgIH0KK30KKworaW50IFdlYlNjcm9s
bGJhclRoZW1lQ2xpZW50SW1wbDo6bGluZVN0ZXAoKSBjb25zdAoreworICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGll
bnRJbXBsOjpwYWdlU3RlcCgpIGNvbnN0Cit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBXZWJDb3JlOjpTY3JvbGxiYXJQYXJ0IHRvV2ViQ29y
ZVBhcnQoV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0IHBhcnQpCit7CisgICAgc3dpdGNoIChw
YXJ0KSB7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
Y2FzZSBXZWJTY3JvbGxiYXI6Ok5vUGFydDoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6Ok5vUGFy
dDsKKyAgICBjYXNlIFdlYlNjcm9sbGJhcjo6QmFja0J1dHRvblN0YXJ0UGFydDoKKyAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OkJhY2tCdXR0b25TdGFydFBhcnQ7CisgICAgY2FzZSBXZWJTY3JvbGxi
YXI6OkZvcndhcmRCdXR0b25TdGFydFBhcnQ6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpGb3J3
YXJkQnV0dG9uU3RhcnRQYXJ0OworICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpCYWNrVHJhY2tQYXJ0
OgorICAgICAgICByZXR1cm4gV2ViQ29yZTo6QmFja1RyYWNrUGFydDsKKyAgICBjYXNlIFdlYlNj
cm9sbGJhcjo6VGh1bWJQYXJ0OgorICAgICAgICByZXR1cm4gV2ViQ29yZTo6VGh1bWJQYXJ0Owor
ICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpGb3J3YXJkVHJhY2tQYXJ0OgorICAgICAgICByZXR1cm4g
V2ViQ29yZTo6Rm9yd2FyZFRyYWNrUGFydDsKKyAgICBjYXNlIFdlYlNjcm9sbGJhcjo6QmFja0J1
dHRvbkVuZFBhcnQ6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpCYWNrQnV0dG9uRW5kUGFydDsK
KyAgICBjYXNlIFdlYlNjcm9sbGJhcjo6Rm9yd2FyZEJ1dHRvbkVuZFBhcnQ6CisgICAgICAgIHJl
dHVybiBXZWJDb3JlOjpGb3J3YXJkQnV0dG9uRW5kUGFydDsKKyAgICBjYXNlIFdlYlNjcm9sbGJh
cjo6U2Nyb2xsYmFyQkdQYXJ0OgorICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsYmFyQkdQ
YXJ0OworICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpUcmFja0JHUGFydDoKKyAgICAgICAgcmV0dXJu
IFdlYkNvcmU6OlRyYWNrQkdQYXJ0OworICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpBbGxQYXJ0czoK
KyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkFsbFBhcnRzOworICAgIH0KK30KKworV2ViQ29yZTo6
U2Nyb2xsYmFyUGFydCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnByZXNzZWRQYXJ0KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gdG9XZWJDb3JlUGFydChtX3Njcm9sbGJhci0+cHJlc3NlZFBh
cnQoKSk7Cit9CisKK1dlYkNvcmU6OlNjcm9sbGJhclBhcnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGll
bnRJbXBsOjpob3ZlcmVkUGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRvV2ViQ29yZVBhcnQo
bV9zY3JvbGxiYXItPmhvdmVyZWRQYXJ0KCkpOworfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1l
Q2xpZW50SW1wbDo6c3R5bGVDaGFuZ2VkKCkKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
K30KKworYm9vbCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmVuYWJsZWQoKSBjb25zdAor
eworICAgIHJldHVybiBtX3Njcm9sbGJhci0+ZW5hYmxlZCgpOworfQorCit2b2lkIFdlYlNjcm9s
bGJhclRoZW1lQ2xpZW50SW1wbDo6c2V0RW5hYmxlZChib29sKQoreworICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworfQorCitib29sIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aXNPdmVy
bGF5U2Nyb2xsYmFyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmlzT3Zlcmxh
eSgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYWRkMjYyNjk0ZmQzMjNjMTQxNmYzMmE0ZDg4M2M1MGI3NDM5NGVkZAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhclRoZW1lQ2xpZW50
SW1wbC5oCkBAIC0wLDAgKzEsOTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlNjcm9sbGJhclRoZW1l
Q2xpZW50SW1wbF9oCisjZGVmaW5lIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbF9oCisKKyNp
bmNsdWRlICJTY3JvbGxiYXJUaGVtZUNsaWVudC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3Jv
bGxiYXIuaD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworY2xhc3MgU2Nyb2xsVmlldzsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKKy8vIEFk
YXB0cyBhIFdlYlNjcm9sbGJhciB0byB0aGUgU2Nyb2xsYmFyVGhlbWVDbGllbnQgaW50ZXJmYWNl
CitjbGFzcyBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgOiBwdWJsaWMgV2ViQ29yZTo6U2Ny
b2xsYmFyVGhlbWVDbGllbnQgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYlNjcm9sbGJh
clRoZW1lQ2xpZW50SW1wbCk7CitwdWJsaWM6CisgICAgLy8gQ2FsbGVyIG11c3QgcmV0YWluIG93
bmVyc2hpcCBvZiB0aGlzIHBvaW50ZXIgYW5kIGVuc3VyZSB0aGF0IGl0cyBsaWZldGltZQorICAg
IC8vIGV4Y2VlZHMgdGhpcyBpbnN0YW5jZS4KKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudElt
cGwoV2ViU2Nyb2xsYmFyKik7CisKKyAgICB2aXJ0dWFsIGludCB4KCkgY29uc3Q7CisgICAgdmly
dHVhbCBpbnQgeSgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHdpZHRoKCkgY29uc3Q7CisgICAg
dmlydHVhbCBpbnQgaGVpZ2h0KCkgY29uc3Q7CisgICAgdmlydHVhbCBXZWJDb3JlOjpJbnRTaXpl
IHNpemUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFBvaW50IGxvY2F0aW9uKCkg
Y29uc3Q7CisKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNjcm9sbFZpZXcqIHBhcmVudCgpIGNvbnN0
OworICAgIHZpcnR1YWwgV2ViQ29yZTo6U2Nyb2xsVmlldyogcm9vdCgpIGNvbnN0OworCisgICAg
dmlydHVhbCB2b2lkIHNldEZyYW1lUmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CisgICAg
dmlydHVhbCBXZWJDb3JlOjpJbnRSZWN0IGZyYW1lUmVjdCgpIGNvbnN0OworCisgICAgdmlydHVh
bCB2b2lkIGludmFsaWRhdGUoKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVJlY3QoY29u
c3QgV2ViQ29yZTo6SW50UmVjdCYpOworCisgICAgdmlydHVhbCBXZWJDb3JlOjpTY3JvbGxiYXJP
dmVybGF5U3R5bGUgc2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkgY29uc3Q7CisgICAgdmlydHVhbCB2
b2lkIGdldFRpY2ttYXJrcyhWZWN0b3I8V2ViQ29yZTo6SW50UmVjdD4mKSBjb25zdDsKKyAgICB2
aXJ0dWFsIGJvb2wgaXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgpIGNvbnN0OworICAgIHZpcnR1YWwg
Ym9vbCBpc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBjb25zdDsKKworICAgIHZpcnR1YWwgV2ViQ29y
ZTo6SW50UG9pbnQgY29udmVydEZyb21Db250YWluaW5nV2luZG93KGNvbnN0IFdlYkNvcmU6Oklu
dFBvaW50Jik7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNDdXN0b21TY3JvbGxiYXIoKSBjb25zdDsK
KyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkg
Y29uc3Q7CisKKyAgICB2aXJ0dWFsIGludCB2YWx1ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgZmxv
YXQgY3VycmVudFBvcygpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHZpc2libGVTaXplKCkgY29u
c3Q7CisgICAgdmlydHVhbCBpbnQgdG90YWxTaXplKCkgY29uc3Q7CisgICAgdmlydHVhbCBpbnQg
bWF4aW11bSgpIGNvbnN0OworICAgIHZpcnR1YWwgV2ViQ29yZTo6U2Nyb2xsYmFyQ29udHJvbFNp
emUgY29udHJvbFNpemUoKSBjb25zdDsKKworICAgIHZpcnR1YWwgaW50IGxpbmVTdGVwKCkgY29u
c3Q7CisgICAgdmlydHVhbCBpbnQgcGFnZVN0ZXAoKSBjb25zdDsKKworICAgIHZpcnR1YWwgV2Vi
Q29yZTo6U2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCgpIGNvbnN0OworICAgIHZpcnR1YWwgV2Vi
Q29yZTo6U2Nyb2xsYmFyUGFydCBob3ZlcmVkUGFydCgpIGNvbnN0OworCisgICAgdmlydHVhbCB2
b2lkIHN0eWxlQ2hhbmdlZCgpOworCisgICAgdmlydHVhbCBib29sIGVuYWJsZWQoKSBjb25zdDsK
KyAgICB2aXJ0dWFsIHZvaWQgc2V0RW5hYmxlZChib29sKTsKKworICAgIHZpcnR1YWwgYm9vbCBp
c092ZXJsYXlTY3JvbGxiYXIoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBXZWJLaXQ6OldlYlNj
cm9sbGJhciogbV9zY3JvbGxiYXI7Cit9OworCit9CisKKyNlbmRpZiAvLyBXZWJTY3JvbGxiYXJU
aGVtZUNsaWVudEltcGxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iOWUxM2JlYmFlNDEz
ZjQ3ZjE1ZjJmODBkOTIzNGQ5OWJmZTdiYTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5jcHAKQEAgLTAsMCAr
MSwxNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlIDxwdWJsaWMv
V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5oPgorCisjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWVD
b21wb3NpdGUuaCIKKyNpbmNsdWRlICJXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwuaCIKKyNp
bmNsdWRlIDxwdWJsaWMvV2ViUmVjdC5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXIu
aD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitX
ZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5KCkKKyAg
ICA6IG1fdGhlbWUoMCkKK3sKK30KKworV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6V2ViU2Ny
b2xsYmFyVGhlbWVHZW9tZXRyeShXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhl
bWUpCisgICAgOiBtX3RoZW1lKHRoZW1lKQoreworfQorCitXZWJTY3JvbGxiYXJUaGVtZUdlb21l
dHJ5Ojp+V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSgpCit7Cit9CisKK3ZvaWQgV2ViU2Nyb2xs
YmFyVGhlbWVHZW9tZXRyeTo6YXNzaWduKGNvbnN0IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkm
IGdlb21ldHJ5KQoreworICAgIC8vIFRoaXMgaXMgYSBwb2ludGVyIHRvIGEgc3RhdGljIG9iamVj
dCwgc28gbm8gb3duZXJzaGlwIHRyYW5zZmVycmFsLgorICAgIG1fdGhlbWUgPSBnZW9tZXRyeS5t
X3RoZW1lOworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6dGh1bWJQb3NpdGlv
bihXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVu
dEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgcmV0dXJuIG1fdGhlbWUtPnRodW1iUG9zaXRp
b24oJmNsaWVudCk7Cit9CisKK2ludCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0aHVtYkxl
bmd0aChXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNs
aWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgcmV0dXJuIG1fdGhlbWUtPnRodW1iTGVu
Z3RoKCZjbGllbnQpOworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6dHJhY2tQ
b3NpdGlvbihXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgcmV0dXJuIG1fdGhlbWUtPnRyYWNr
UG9zaXRpb24oJmNsaWVudCk7Cit9CisKK2ludCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0
cmFja0xlbmd0aChXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICBXZWJTY3JvbGxiYXJU
aGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgcmV0dXJuIG1fdGhlbWUtPnRy
YWNrTGVuZ3RoKCZjbGllbnQpOworfQorCitib29sIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6
Omhhc0J1dHRvbnMoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFy
VGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT5o
YXNCdXR0b25zKCZjbGllbnQpOworfQorCitib29sIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6
Omhhc1RodW1iKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRo
ZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+aGFz
VGh1bWIoJmNsaWVudCk7Cit9CisKK1dlYlJlY3QgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6
dHJhY2tSZWN0KFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRo
ZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+dHJh
Y2tSZWN0KCZjbGllbnQpOworfQorCitXZWJSZWN0IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6
OnRodW1iUmVjdChXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICBXZWJTY3JvbGxiYXJU
aGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgcmV0dXJuIG1fdGhlbWUtPnRo
dW1iUmVjdCgmY2xpZW50KTsKK30KKworaW50IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6Om1p
bmltdW1UaHVtYkxlbmd0aChXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICBXZWJTY3Jv
bGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgcmV0dXJuIG1fdGhl
bWUtPm1pbmltdW1UaHVtYkxlbmd0aCgmY2xpZW50KTsKK30KKworaW50IFdlYlNjcm9sbGJhclRo
ZW1lR2VvbWV0cnk6OnNjcm9sbGJhclRoaWNrbmVzcyhXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikK
K3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7Cisg
ICAgcmV0dXJuIG1fdGhlbWUtPnNjcm9sbGJhclRoaWNrbmVzcyhjbGllbnQuY29udHJvbFNpemUo
KSk7Cit9CisKK1dlYlJlY3QgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6YmFja0J1dHRvblN0
YXJ0UmVjdChXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgcmV0dXJuIG1fdGhlbWUtPmJhY2tC
dXR0b25SZWN0KCZjbGllbnQsIEJhY2tCdXR0b25TdGFydFBhcnQsIGZhbHNlKTsKK30KKworV2Vi
UmVjdCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjpiYWNrQnV0dG9uRW5kUmVjdChXZWJTY3Jv
bGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xp
ZW50KHNjcm9sbGJhcik7CisgICAgcmV0dXJuIG1fdGhlbWUtPmJhY2tCdXR0b25SZWN0KCZjbGll
bnQsIEJhY2tCdXR0b25FbmRQYXJ0LCBmYWxzZSk7Cit9CisKK1dlYlJlY3QgV2ViU2Nyb2xsYmFy
VGhlbWVHZW9tZXRyeTo6Zm9yd2FyZEJ1dHRvblN0YXJ0UmVjdChXZWJTY3JvbGxiYXIqIHNjcm9s
bGJhcikKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJh
cik7CisgICAgcmV0dXJuIG1fdGhlbWUtPmZvcndhcmRCdXR0b25SZWN0KCZjbGllbnQsIEZvcndh
cmRCdXR0b25TdGFydFBhcnQsIGZhbHNlKTsKK30KKworV2ViUmVjdCBXZWJTY3JvbGxiYXJUaGVt
ZUdlb21ldHJ5Ojpmb3J3YXJkQnV0dG9uRW5kUmVjdChXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikK
K3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7Cisg
ICAgcmV0dXJuIG1fdGhlbWUtPmZvcndhcmRCdXR0b25SZWN0KCZjbGllbnQsIEZvcndhcmRCdXR0
b25FbmRQYXJ0LCBmYWxzZSk7Cit9CisKK1dlYlJlY3QgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRy
eTo6Y29uc3RyYWluVHJhY2tSZWN0VG9UcmFja1BpZWNlcyhXZWJTY3JvbGxiYXIqIHNjcm9sbGJh
ciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudElt
cGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgcmV0dXJuIG1fdGhlbWUtPmNvbnN0cmFpblRyYWNr
UmVjdFRvVHJhY2tQaWVjZXMoJmNsaWVudCwgSW50UmVjdChyZWN0KSk7Cit9CisKK3ZvaWQgV2Vi
U2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6c3BsaXRUcmFjayhXZWJTY3JvbGxiYXIqIHNjcm9sbGJh
ciwgY29uc3QgV2ViUmVjdCYgd2ViVHJhY2ssIFdlYlJlY3QmIHdlYlN0YXJ0VHJhY2ssIFdlYlJl
Y3QmIHdlYlRodW1iLCBXZWJSZWN0JiB3ZWJFbmRUcmFjaykKK3sKKyAgICBXZWJTY3JvbGxiYXJU
aGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgSW50UmVjdCB0cmFjayh3ZWJU
cmFjayk7CisgICAgSW50UmVjdCBzdGFydFRyYWNrOworICAgIEludFJlY3QgdGh1bWI7CisgICAg
SW50UmVjdCBlbmRUcmFjazsKKyAgICBtX3RoZW1lLT5zcGxpdFRyYWNrKCZjbGllbnQsIHRyYWNr
LCBzdGFydFRyYWNrLCB0aHVtYiwgZW5kVHJhY2spOworCisgICAgd2ViU3RhcnRUcmFjayA9IHN0
YXJ0VHJhY2s7CisgICAgd2ViVGh1bWIgPSB0aHVtYjsKKyAgICB3ZWJFbmRUcmFjayA9IGVuZFRy
YWNrOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmFhNzE2ZjQwMTFmMzUxODNhNjNkMWFhMDIxYmE0MzJlYmYwYWUzODMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIu
Y3BwCkBAIC0wLDAgKzEsMTUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5j
bHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5oPgorCisjaW5jbHVkZSAiUGxh
dGZvcm1Db250ZXh0U2tpYS5oIgorI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLmgi
CisjaW5jbHVkZSAiV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsLmgiCisjaW5jbHVkZSA8cHVi
bGljL1dlYlJlY3QuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+CisKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyOjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIoKQorICAgIDogbV90aGVtZSgw
KQoreworfQorCitXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6On5XZWJTY3JvbGxiYXJUaGVtZVBh
aW50ZXIoKQoreworfQorCitXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OldlYlNjcm9sbGJhclRo
ZW1lUGFpbnRlcihXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhlbWUpCisgICAg
OiBtX3RoZW1lKHRoZW1lKQoreworfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6
YXNzaWduKGNvbnN0IFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlciYgcGFpbnRlcikKK3sKKyAgICAv
LyBUaGlzIGlzIGEgcG9pbnRlciB0byBhIHN0YXRpYyBvYmplY3QsIHNvIG5vIG93bmVyc2hpcCB0
cmFuc2ZlcnJhbC4KKyAgICBtX3RoZW1lID0gcGFpbnRlci5tX3RoZW1lOworfQorCit2b2lkIFdl
YlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKFdlYkNhbnZh
cyogY2FudmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkK
K3sKKyAgICBTa1JlY3QgY2xpcCA9IFNrUmVjdDo6TWFrZVhZV0gocmVjdC54LCByZWN0LnksIHJl
Y3Qud2lkdGgsIHJlY3QuaGVpZ2h0KTsKKyAgICBjYW52YXMtPmNsaXBSZWN0KGNsaXApOworCisg
ICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIFBs
YXRmb3JtQ29udGV4dFNraWEgcGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7CisgICAgcGxhdGZvcm1D
b250ZXh0LnNldERyYXdpbmdUb0ltYWdlQnVmZmVyKHRydWUpOworICAgIEdyYXBoaWNzQ29udGV4
dCBjb250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOworICAgIG1fdGhlbWUtPnBhaW50U2Nyb2xsYmFy
QmFja2dyb3VuZCgmY29udGV4dCwgJmNsaWVudCk7Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhl
bWVQYWludGVyOjpwYWludFRyYWNrQmFja2dyb3VuZChXZWJDYW52YXMqIGNhbnZhcywgV2ViU2Ny
b2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCit7CisgICAgV2ViU2Nyb2xs
YmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIFBsYXRmb3JtQ29udGV4
dFNraWEgcGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7CisgICAgcGxhdGZvcm1Db250ZXh0LnNldERy
YXdpbmdUb0ltYWdlQnVmZmVyKHRydWUpOworICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZw
bGF0Zm9ybUNvbnRleHQpOworICAgIG1fdGhlbWUtPnBhaW50VHJhY2tCYWNrZ3JvdW5kKCZjb250
ZXh0LCAmY2xpZW50LCBJbnRSZWN0KHJlY3QpKTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVt
ZVBhaW50ZXI6OnBhaW50QmFja1RyYWNrUGFydChXZWJDYW52YXMqIGNhbnZhcywgV2ViU2Nyb2xs
YmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCit7CisgICAgV2ViU2Nyb2xsYmFy
VGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIFBsYXRmb3JtQ29udGV4dFNr
aWEgcGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7CisgICAgcGxhdGZvcm1Db250ZXh0LnNldERyYXdp
bmdUb0ltYWdlQnVmZmVyKHRydWUpOworICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZwbGF0
Zm9ybUNvbnRleHQpOworICAgIG1fdGhlbWUtPnBhaW50VHJhY2tQaWVjZSgmY29udGV4dCwgJmNs
aWVudCwgSW50UmVjdChyZWN0KSwgV2ViQ29yZTo6QmFja1RyYWNrUGFydCk7Cit9CisKK3ZvaWQg
V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludEZvcndhcmRUcmFja1BhcnQoV2ViQ2FudmFz
KiBjYW52YXMsIFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiByZWN0KQor
eworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAg
ICBQbGF0Zm9ybUNvbnRleHRTa2lhIHBsYXRmb3JtQ29udGV4dChjYW52YXMpOworICAgIHBsYXRm
b3JtQ29udGV4dC5zZXREcmF3aW5nVG9JbWFnZUJ1ZmZlcih0cnVlKTsKKyAgICBHcmFwaGljc0Nv
bnRleHQgY29udGV4dCgmcGxhdGZvcm1Db250ZXh0KTsKKyAgICBtX3RoZW1lLT5wYWludFRyYWNr
UGllY2UoJmNvbnRleHQsICZjbGllbnQsIEludFJlY3QocmVjdCksIFdlYkNvcmU6OkZvcndhcmRU
cmFja1BhcnQpOworfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRCYWNr
QnV0dG9uU3RhcnQoV2ViQ2FudmFzKiBjYW52YXMsIFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBj
b25zdCBXZWJSZWN0JiByZWN0KQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBj
bGllbnQoc2Nyb2xsYmFyKTsKKyAgICBQbGF0Zm9ybUNvbnRleHRTa2lhIHBsYXRmb3JtQ29udGV4
dChjYW52YXMpOworICAgIHBsYXRmb3JtQ29udGV4dC5zZXREcmF3aW5nVG9JbWFnZUJ1ZmZlcih0
cnVlKTsKKyAgICBHcmFwaGljc0NvbnRleHQgY29udGV4dCgmcGxhdGZvcm1Db250ZXh0KTsKKyAg
ICBtX3RoZW1lLT5wYWludEJ1dHRvbigmY29udGV4dCwgJmNsaWVudCwgSW50UmVjdChyZWN0KSwg
V2ViQ29yZTo6QmFja0J1dHRvblN0YXJ0UGFydCk7Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhl
bWVQYWludGVyOjpwYWludEJhY2tCdXR0b25FbmQoV2ViQ2FudmFzKiBjYW52YXMsIFdlYlNjcm9s
bGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiByZWN0KQoreworICAgIFdlYlNjcm9sbGJh
clRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICBQbGF0Zm9ybUNvbnRleHRT
a2lhIHBsYXRmb3JtQ29udGV4dChjYW52YXMpOworICAgIHBsYXRmb3JtQ29udGV4dC5zZXREcmF3
aW5nVG9JbWFnZUJ1ZmZlcih0cnVlKTsKKyAgICBHcmFwaGljc0NvbnRleHQgY29udGV4dCgmcGxh
dGZvcm1Db250ZXh0KTsKKyAgICBtX3RoZW1lLT5wYWludEJ1dHRvbigmY29udGV4dCwgJmNsaWVu
dCwgSW50UmVjdChyZWN0KSwgV2ViQ29yZTo6QmFja0J1dHRvbkVuZFBhcnQpOworfQorCit2b2lk
IFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRGb3J3YXJkQnV0dG9uU3RhcnQoV2ViQ2Fu
dmFzKiBjYW52YXMsIFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiByZWN0
KQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsK
KyAgICBQbGF0Zm9ybUNvbnRleHRTa2lhIHBsYXRmb3JtQ29udGV4dChjYW52YXMpOworICAgIHBs
YXRmb3JtQ29udGV4dC5zZXREcmF3aW5nVG9JbWFnZUJ1ZmZlcih0cnVlKTsKKyAgICBHcmFwaGlj
c0NvbnRleHQgY29udGV4dCgmcGxhdGZvcm1Db250ZXh0KTsKKyAgICBtX3RoZW1lLT5wYWludEJ1
dHRvbigmY29udGV4dCwgJmNsaWVudCwgSW50UmVjdChyZWN0KSwgV2ViQ29yZTo6Rm9yd2FyZEJ1
dHRvblN0YXJ0UGFydCk7Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWlu
dEZvcndhcmRCdXR0b25FbmQoV2ViQ2FudmFzKiBjYW52YXMsIFdlYlNjcm9sbGJhciogc2Nyb2xs
YmFyLCBjb25zdCBXZWJSZWN0JiByZWN0KQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50
SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICBQbGF0Zm9ybUNvbnRleHRTa2lhIHBsYXRmb3Jt
Q29udGV4dChjYW52YXMpOworICAgIHBsYXRmb3JtQ29udGV4dC5zZXREcmF3aW5nVG9JbWFnZUJ1
ZmZlcih0cnVlKTsKKyAgICBHcmFwaGljc0NvbnRleHQgY29udGV4dCgmcGxhdGZvcm1Db250ZXh0
KTsKKyAgICBtX3RoZW1lLT5wYWludEJ1dHRvbigmY29udGV4dCwgJmNsaWVudCwgSW50UmVjdChy
ZWN0KSwgV2ViQ29yZTo6Rm9yd2FyZEJ1dHRvbkVuZFBhcnQpOworfQorCit2b2lkIFdlYlNjcm9s
bGJhclRoZW1lUGFpbnRlcjo6cGFpbnRUaWNrbWFya3MoV2ViQ2FudmFzKiBjYW52YXMsIFdlYlNj
cm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiByZWN0KQoreworICAgIFdlYlNjcm9s
bGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICBQbGF0Zm9ybUNvbnRl
eHRTa2lhIHBsYXRmb3JtQ29udGV4dChjYW52YXMpOworICAgIHBsYXRmb3JtQ29udGV4dC5zZXRE
cmF3aW5nVG9JbWFnZUJ1ZmZlcih0cnVlKTsKKyAgICBHcmFwaGljc0NvbnRleHQgY29udGV4dCgm
cGxhdGZvcm1Db250ZXh0KTsKKyAgICBtX3RoZW1lLT5wYWludFRpY2ttYXJrcygmY29udGV4dCwg
JmNsaWVudCwgSW50UmVjdChyZWN0KSk7Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWlu
dGVyOjpwYWludFRodW1iKFdlYkNhbnZhcyogY2FudmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJh
ciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudElt
cGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNv
bnRleHQoY2FudmFzKTsKKyAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZm
ZXIodHJ1ZSk7CisgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7
CisgICAgbV90aGVtZS0+cGFpbnRUaHVtYigmY29udGV4dCwgJmNsaWVudCwgSW50UmVjdChyZWN0
KSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxiYXJMYXllckNocm9taXVtVGVzdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Njcm9sbGJhckxheWVyQ2hyb21pdW1UZXN0LmNwcAppbmRl
eCBkMmNkOWJlZmM5YTA3ZTExNmM1MTg4OWE0YTdiNGQ0OTc5ZGZhMjQ0Li4wZTlmNzE2NzZhNGU0
ZjAyMzkyODhmOWE4MWUzOGQwODFiYTI3NTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL1Njcm9sbGJhckxheWVyQ2hyb21pdW1UZXN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Njcm9sbGJhckxheWVyQ2hyb21pdW1UZXN0LmNwcApAQCAt
MzIsNiArMzIsOSBAQAogI2luY2x1ZGUgImNjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmgiCiAjaW5j
bHVkZSAiY2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5oIgogI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+
CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhci5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJT
Y3JvbGxiYXJUaGVtZUdlb21ldHJ5Lmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRo
ZW1lUGFpbnRlci5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtNjAsNyArNjMs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbFZpZXdTY3Jv
bGxiYXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCi0gICAgdmlydHVhbCBJbnRQb2ludCBj
b252ZXJ0RnJvbUNvbnRhaW5pbmdXaW5kb3coY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvaW50KSB7
IHJldHVybiBJbnRQb2ludCgpOyB9CisgICAgdmlydHVhbCBJbnRQb2ludCBjb252ZXJ0RnJvbUNv
bnRhaW5pbmdXaW5kb3coY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvaW50KSB7IHJldHVybiB3aW5k
b3dQb2ludDsgfQogCiAgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVu
dGF0aW9uKCkgY29uc3QgeyByZXR1cm4gSG9yaXpvbnRhbFNjcm9sbGJhcjsgfQpAQCAtODMsNiAr
ODYsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGVuYWJsZWQoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBzZXRFbmFibGVkKGJvb2wpIHsgfQogCisgICAg
dmlydHVhbCBib29sIGlzT3ZlcmxheVNjcm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CisKICAgICBNb2NrU2Nyb2xsYmFyKCkgOiBTY3JvbGxiYXIoMCwgSG9yaXpvbnRhbFNjcm9sbGJh
ciwgUmVndWxhclNjcm9sbGJhcikgeyB9CiAgICAgdmlydHVhbCB+TW9ja1Njcm9sbGJhcigpIHsg
fQogfTsKQEAgLTkxLDEyICs5NiwxNiBAQCBURVNUKFNjcm9sbGJhckxheWVyQ2hyb21pdW1UZXN0
LCByZXNvbHZlU2Nyb2xsTGF5ZXJQb2ludGVyKQogewogICAgIERlYnVnU2NvcGVkU2V0SW1wbFRo
cmVhZCBpbXBsOwogCisgICAgUmVmUHRyPE1vY2tTY3JvbGxiYXI+IG1vY2tTY3JvbGxiYXIgPSBh
ZG9wdFJlZihuZXcgTW9ja1Njcm9sbGJhcik7CisgICAgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZUdlb21ldHJ5IGdlb21ldHJ5KDApOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWlu
dGVyIHBhaW50ZXIoMCk7CisKICAgICBTZXR0aW5nczo6c2V0TW9ja1Njcm9sbGJhcnNFbmFibGVk
KHRydWUpOwogICAgIHsKLSAgICAgICAgUmVmUHRyPE1vY2tTY3JvbGxiYXI+IHNjcm9sbGJhciA9
IGFkb3B0UmVmKG5ldyBNb2NrU2Nyb2xsYmFyKTsKKyAgICAgICAgT3duUHRyPFdlYktpdDo6V2Vi
U2Nyb2xsYmFyPiBzY3JvbGxiYXIgPSBXZWJLaXQ6OldlYlNjcm9sbGJhcjo6Y3JlYXRlKG1vY2tT
Y3JvbGxiYXIuZ2V0KCkpOwogICAgICAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gbGF5ZXJUcmVl
Um9vdCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOwogICAgICAgICBSZWZQdHI8TGF5ZXJDaHJv
bWl1bT4gY2hpbGQxID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7Ci0gICAgICAgIFJlZlB0cjxM
YXllckNocm9taXVtPiBjaGlsZDIgPSBTY3JvbGxiYXJMYXllckNocm9taXVtOjpjcmVhdGUoc2Ny
b2xsYmFyLmdldCgpLCBjaGlsZDEtPmlkKCkpOworICAgICAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1
bT4gY2hpbGQyID0gU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKHNjcm9sbGJhci5yZWxl
YXNlKCksIHBhaW50ZXIsIGdlb21ldHJ5LCBjaGlsZDEtPmlkKCkpOwogICAgICAgICBsYXllclRy
ZWVSb290LT5hZGRDaGlsZChjaGlsZDEpOwogICAgICAgICBsYXllclRyZWVSb290LT5hZGRDaGls
ZChjaGlsZDIpOwogCkBAIC0xMDksMTAgKzExOCwxMCBAQCBURVNUKFNjcm9sbGJhckxheWVyQ2hy
b21pdW1UZXN0LCByZXNvbHZlU2Nyb2xsTGF5ZXJQb2ludGVyKQogICAgIH0KIAogICAgIHsgLy8g
YW5vdGhlciB0cmF2ZXJzZSBvcmRlcgotICAgICAgICBSZWZQdHI8TW9ja1Njcm9sbGJhcj4gc2Ny
b2xsYmFyID0gYWRvcHRSZWYobmV3IE1vY2tTY3JvbGxiYXIpOworICAgICAgICBPd25QdHI8V2Vi
S2l0OjpXZWJTY3JvbGxiYXI+IHNjcm9sbGJhciA9IFdlYktpdDo6V2ViU2Nyb2xsYmFyOjpjcmVh
dGUobW9ja1Njcm9sbGJhci5nZXQoKSk7CiAgICAgICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBs
YXllclRyZWVSb290ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CiAgICAgICAgIFJlZlB0cjxM
YXllckNocm9taXVtPiBjaGlsZDIgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKLSAgICAgICAg
UmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkMSA9IFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNy
ZWF0ZShzY3JvbGxiYXIuZ2V0KCksIGNoaWxkMi0+aWQoKSk7CisgICAgICAgIFJlZlB0cjxMYXll
ckNocm9taXVtPiBjaGlsZDEgPSBTY3JvbGxiYXJMYXllckNocm9taXVtOjpjcmVhdGUoc2Nyb2xs
YmFyLnJlbGVhc2UoKSwgcGFpbnRlciwgZ2VvbWV0cnksIGNoaWxkMi0+aWQoKSk7CiAgICAgICAg
IGxheWVyVHJlZVJvb3QtPmFkZENoaWxkKGNoaWxkMSk7CiAgICAgICAgIGxheWVyVHJlZVJvb3Qt
PmFkZENoaWxkKGNoaWxkMik7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5MjRkOGEzOGNmMmI5YTljYThmMDI0ZmQzNGIz
YmFlOWNiMmExMTE2Li5jYTA5NjMzNTE2ZTlhM2MwNmQzNzhjMmUzZDU0YThlODIxODMwNTMyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMDctMTEgIEFkcmllbm5lIFdhbGtlciAgPGVubmVA
Z29vZ2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1dIE1ha2UgU2Nyb2xsYmFyTGF5ZXJDaHJv
bWl1bSB1c2UgV2ViU2Nyb2xsYmFyTGF5ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTkwNTI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgTWFyayBjdXN0b20tY29tcG9zaXRlZC1kaWZmZXJlbnQtdHJhY2st
cGFydHMuaHRtbCBhcyBmYWlsaW5nIGJlY2F1c2UKKyAgICAgICAgY3VzdG9tIHNjcm9sbGJhcnMg
bm8gbG9uZ2VyIGNyZWF0ZSBTY3JvbGxiYXJMYXllckNocm9taXVtcy4gVGhpcyBpcworICAgICAg
ICBkdWUgdG8gdGhlIHVuc2FmZSBjYXN0cyBpbiBSZW5kZXJUaGVtZVNjcm9sbGJhci4KKworICAg
ICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTItMDctMTEg
IEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tpYS5jb20+CiAKICAgICAg
ICAgTm9kZXNGcm9tUmVjdCBkb2Vzbid0IHdvcmsgb24gU1ZHIHJvb3QgZWxlbWVudHMuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5Yzc2
ZjYyY2M5ZTRiYmQ5ZjAzYjQ3ZDE5OWNkNDQzZGIwYmZmZDY3Li5kYjU2YzBiZWNhNDQwMjc2NGY5
MzVkNDllYzBkZWJmMGNkYTY0OTEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM3MjcsNiArMzcyNyw4IEBAIEJVR1dLODgxNzEgV0lO
IDogY3NzMS9mb3JtYXR0aW5nX21vZGVsL2Zsb2F0aW5nX2VsZW1lbnRzLmh0bWwgPSBJTUFHRQog
CiBCVUdXSzkwNTE3IFdJTiA6IHN2Zy9XM0MtSTE4Ti90c3Bhbi1kaXJSVEwtdWJOb25lLWluLWRl
ZmF1bHQtY29udGV4dC5zdmcgPSBQQVNTIENSQVNICiAKK0JVR0NSMTM1NzA5IDogcGxhdGZvcm0v
Y2hyb21pdW0vY29tcG9zaXRpbmcvc2Nyb2xsYmFycy9jdXN0b20tY29tcG9zaXRlZC1kaWZmZXJl
bnQtdHJhY2stcGFydHMuaHRtbCA9IElNQUdFCisKIC8vIHdlYmtpdElzRnVsbFNjcmVlbiBkb2Vz
IG5vdCBoYXZlIHRoZSBjb3JyZWN0IHZhbHVlIGFmdGVyIGFuIGlmcmFtZSBleGl0cyBmdWxsc2Ny
ZWVuCiBCVUdXSzkwNzA0IDogZnVsbHNjcmVlbi9leGl0LWZ1bGwtc2NyZWVuLWlmcmFtZS5odG1s
ID0gVEVYVAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151786</attachid>
            <date>2012-07-11 14:48:54 -0700</date>
            <delta_ts>2012-07-26 10:54:03 -0700</delta_ts>
            <desc>Export the right functions</desc>
            <filename>bug-90528-20120711144853.patch</filename>
            <type>text/plain</type>
            <size>107595</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMzQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCAyOGJjZDU2NjJkMmRj
ODlkMmZlMTJiODJhNDQ4OGYyODkzYzgyM2NjLi45OWI0ZTAxYzhmNWJhYTM4YTZhMTBiZGFkYjUw
MzkwMjFiMjJkNTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxMi0wNy0xMSAg
QWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0g
UmVtb3ZlIGRlcGVuZGVuY3kgb24gU2Nyb2xsYmFyVGhlbWUgZnJvbSB0aGUgY29tcG9zaXRvcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1MjgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGbGVzaCBvdXQg
V2ViU2Nyb2xsYmFyIGZ1bmN0aW9ucyBlbm91Z2ggdG8gYmUgYWJsZSB0byBpbXBsZW1lbnQKKyAg
ICAgICAgdGhlIHBhcnRzIG9mIFNjcm9sbGJhclRoZW1lQ2xpZW50IHRoYXQgQ2hyb21pdW0gdXNl
cy4KKworICAgICAgICBXcmFwIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlIGluIHRoZSBQbGF0Zm9y
bSBBUEkgdmlhIHR3byBkaWZmZXJlbnQKKyAgICAgICAgY2xhc3NlczogV2ViU2Nyb2xsYmFyVGhl
bWVQYWludGVyIGlzIHRoZSBub24tdGhyZWFkc2FmZSB2ZXJzaW9uIHRoYXQKKyAgICAgICAgaXMg
dXNlZCB0byBwYWludCBwYXJ0cyBvZiBhIHNjcm9sbGJhciBpbnRvIGEgY29udGV4dC4gVGhpcyBp
cyBpbnRlbmRlZAorICAgICAgICB0byBvbmx5IGJlIHVzZWQgb24gdGhlIG1haW4gdGhyZWFkLiBX
ZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IGlzIHRoZQorICAgICAgICB0aHJlYWRzYWZlIHZlcnNp
b24sIHVzZWQgdG8gZ2V0IHRoZSBsb2NhdGlvbiBhbmQgc2l6ZXMgb2Ygc2Nyb2xsYmFyCisgICAg
ICAgIHBhcnRzIG9uIGJvdGggdGhyZWFkcywgc28gdGhleSBjYW4gYmUgcGFpbnRlZCBvbiB0aGUg
bWFpbiB0aHJlYWQgYW5kCisgICAgICAgIGNvbXBvc2l0ZWQgb24gdGhlIGNvbXBvc2l0b3IgdGhy
ZWFkLgorCisgICAgICAgIFVuZm9ydHVuYXRlbHksIHRoZXJlIGlzIG5vIHdheSB0byBlbmZvcmNl
IHRoZXNlIHRocmVhZCBzYWZldHkgaXNzdWVzLAorICAgICAgICBhcyBvdGhlciBwb3J0cyB1c2Ug
dGhlIFNjcm9sbGJhclRoZW1lIGhpZXJhcmNoeSBkaWZmZXJlbnRseSB0aGFuCisgICAgICAgIENo
cm9taXVtIGRvZXMuIE9uIHRoZSBicmlnaHQgc2lkZSwgb3RoZXIgdGhhbiBwYWludGluZywgdGhl
CisgICAgICAgIFNjcm9sbGJhclRoZW1lIGNvZGUgaXMgbGFyZ2VseSBmdW5jdGlvbmFsIGFuZCB3
ZSBjYW4gZW5mb3JjZSB0aGlzCisgICAgICAgIGludGVybmFsbHkgZm9yIHRoZSBDaHJvbWl1bSBw
b3J0LgorCisgICAgICAgICogUGxhdGZvcm0uZ3lwaToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJs
aWMvV2ViU2Nyb2xsYmFyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6
CisgICAgICAgIChXZWJTY3JvbGxiYXIpOgorICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJT
Y3JvbGxiYXJUaGVtZUdlb21ldHJ5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OldlYlNjcm9sbGJhclRoZW1l
R2VvbWV0cnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp+
V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lR2VvbWV0cnk6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lR2VvbWV0cnk6OmlzTnVsbCk6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlNj
cm9sbGJhclRoZW1lUGFpbnRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcik6CisgICAgICAg
IChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6V2ViU2Nyb2xsYmFyVGhlbWVQYWlu
dGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjp+V2ViU2Ny
b2xsYmFyVGhlbWVQYWludGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQ
YWludGVyOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBh
aW50ZXI6OmlzTnVsbCk6CisKIDIwMTItMDctMDUgIElhbiBWb2xsaWNrICA8dm9sbGlja0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBDcmVhdGUgYSBXZWJLaXQ6OldlYiogd3Jh
cHBlciBmb3IgdGhlIGNjIGFuaW1hdGlvbiBjbGFzc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDFlZTdhYTUz
ZDM5YWE2OWU2NTM4Y2FkZWI4NDJjNTJjMzAzOGFjOC4uMzhhZWE3YTc3NzZkMzdkMGUyZWFiYjcw
ODllNTczNTE1MTYzYmUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDEyLTA3LTEx
ICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVt
XSBSZW1vdmUgZGVwZW5kZW5jeSBvbiBTY3JvbGxiYXJUaGVtZSBmcm9tIHRoZSBjb21wb3NpdG9y
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDUyOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RlZCBi
eSBleGlzdGluZyBsYXlvdXQgdGVzdHMuCisKKyAgICAgICAgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1
bSBpcyBtb2RpZmllZCB0byB1c2UgdGhlIFBsYXRmb3JtIEFQSSBmb3IKKyAgICAgICAgV2ViU2Ny
b2xsYmFyLCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIsIGFuZCBXZWJTY3JvbGxiYXJUaGVtZUdl
b21ldHJ5LgorICAgICAgICBUaGlzIHByZXZlbnRzIEFQSSBkZXBlbmRlbmNpZXMgZnJvbSB0aGUg
Y29tcG9zaXRvciBjb2RlIGludG8gV2ViQ29yZQorICAgICAgICBzY3JvbGxiYXIgYW5kIHRoZW1l
IGNvZGUuCisKKyAgICAgICAgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyIG5vdyBp
bXBsZW1lbnRzIHRoZSBXZWJTY3JvbGxiYXIgQVBJCisgICAgICAgIGluc3RlYWQgb2YgdGhlIFNj
cm9sbGJhclRoZW1lQ2xpZW50IEFQSS4KKworICAgICAgICBBbHNvLCBDQ1Njcm9sbGJhckxheWVy
SW1wbCBub3cgbm8gbG9uZ2VyIGdldHMgdGhlIHRoZW1lIGZyb20gYSBzdGF0aWMKKyAgICAgICAg
YWNjZXNzb3IuIEl0IG5vdyBnZXRzIGEgImNvcHkiIG9mIHRoZSB0aGVtZSBmcm9tIHRoZSBtYWlu
IHRocmVhZCB2aWEKKyAgICAgICAgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSwgd2hpY2ggaXMg
bW9yZSBjb3JyZWN0IGZvciByZW5kZXIgdGhlbWUKKyAgICAgICAgc2Nyb2xsYmFycyB3aGljaCB3
ZXJlIHByZXZpb3VzbHkgdXNpbmcgdGhlIG5hdGl2ZSB0aGVtZSB0byBnZXQgcGFydAorICAgICAg
ICBnZW9tZXRyeS4gVXNpbmcgdGhlIGNvcnJlY3QgdGhlbWUgdW5mb3J0dW5hdGVseSBjYXVzZXMg
Y3Jhc2hlcyBkdWUgdG8KKyAgICAgICAgYmFkIGNhc3RzIGluIFJlbmRlclNjcm9sbGJhclRoZW1l
LCBzbyB0aGlzIHBhdGNoIHR1cm5zIGJhY2sgb2ZmIHRoZQorICAgICAgICB1c2Ugb2YgU2Nyb2xs
YmFyTGF5ZXJDaHJvbWl1bSBmb3IgdGhlbWVkIHNjcm9sbGJhcnMgdW50aWwgdGhhdCBjYW4gYmUK
KyAgICAgICAgcmVzb2x2ZWQuCisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9T
Y3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0
ZVNjcm9sbGJhckxheWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZUNsaWVu
dC5oOgorICAgICAgICAoU2Nyb2xsYmFyVGhlbWVDbGllbnQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL1Njcm9sbGJhckxheWVyQ2hyb21pdW0uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGJhckxheWVyQ2hyb21pdW06OlNjcm9sbGJhckxheWVyQ2hyb21pdW0pOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6cHVzaFByb3BlcnRpZXNUbyk6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcjo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhckJhY2tncm91bmRQYWludGVyOjpTY3JvbGxiYXJC
YWNrZ3JvdW5kUGFpbnRlcik6CisgICAgICAgIChTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcik6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaHVtYlBhaW50ZXI6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaHVtYlBhaW50ZXI6OlNjcm9sbGJhclRodW1iUGFpbnRl
cik6CisgICAgICAgIChTY3JvbGxiYXJUaHVtYlBhaW50ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlVGV4dHVyZVVwZGF0ZXJJZk5lZWRlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJMYXllckNocm9taXVtOjpzZXRUZXh0dXJlUHJpb3Jp
dGllcyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJMYXllckNocm9taXVtOjp1cGRhdGUp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Njcm9sbGJhckxheWVyQ2hy
b21pdW0uaDoKKyAgICAgICAgKFNjcm9sbGJhckxheWVyQ2hyb21pdW0pOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhckxheWVySW1w
bCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6c2V0U2Nyb2xsYmFy
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjp0b1VWUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpD
Q1Njcm9sbGJhckxheWVySW1wbDo6YXBwZW5kUXVhZHMpOgorICAgICAgICAoV2ViQ29yZTo6Q0NT
Y3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjppc092ZXJsYXkpOgorICAgICAgICAoV2Vi
Q29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjp2YWx1ZSk6CisgICAgICAg
IChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmxvY2F0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6c2l6
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6
OmVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Ny
b2xsYmFyOjptYXhpbXVtKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBs
OjpDQ1Njcm9sbGJhcjo6dG90YWxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFy
TGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aXNTY3JvbGxhYmxl
QXJlYUFjdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NT
Y3JvbGxiYXI6OmdldFRpY2ttYXJrcyk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxh
eWVySW1wbDo6Q0NTY3JvbGxiYXI6OmNvbnRyb2xTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkND
U2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6cHJlc3NlZFBhcnQpOgorICAgICAgICAo
V2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpob3ZlcmVkUGFydCk6
CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnNj
cm9sbGJhck92ZXJsYXlTdHlsZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVy
SW1wbDo6Q0NTY3JvbGxiYXI6Om9yaWVudGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Ny
b2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aXNDdXN0b21TY3JvbGxiYXIpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmg6
CisgICAgICAgIChDQ1Njcm9sbGJhckxheWVySW1wbCk6CisgICAgICAgIChDQ1Njcm9sbGJhcik6
CisKIDIwMTItMDctMTEgIEFsbGFuIFNhbmRmZWxkIEplbnNlbiAgPGFsbGFuLmplbnNlbkBub2tp
YS5jb20+CiAKICAgICAgICAgTm9kZXNGcm9tUmVjdCBkb2Vzbid0IHdvcmsgb24gU1ZHIHJvb3Qg
ZWxlbWVudHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDJhMjUzZDVlYzVlYWUwODE4
MjY5NjhkYWY5ZTc4ZDNhMzU3ZWU1YTguLjE3ZGI2NzI5MTg5ODE4MzNkMGVjN2FkZDFiZTYwOGEx
NzVjMjBhMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYxIEBACisy
MDEyLTA3LTExICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAg
W2Nocm9taXVtXSBSZW1vdmUgZGVwZW5kZW5jeSBvbiBTY3JvbGxiYXJUaGVtZSBmcm9tIHRoZSBj
b21wb3NpdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05MDUyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBpbXBsZW1lbnRhdGlvbnMgZm9yIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgYW5kCisg
ICAgICAgIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlci4gRmlsbCBvdXQgYWRkaXRpb25hbCBBUEkg
Y2FsbHMgZm9yCisgICAgICAgIFdlYlBsdWdpblNjcm9sbGJhckltcGwgc2luY2UgaXQgZGVyaXZl
cyBmcm9tIFdlYlNjcm9sbGJhci4KKworICAgICAgICBBZGQgV2ViU2Nyb2xsYmFySW1wbCB0byB0
aGUgY2xpZW50IEFQSSB0byB3cmFwIGFuZCBvd24gYW4gZXhpc3RpbmcKKyAgICAgICAgV2ViQ29y
ZSBTY3JvbGxiYXIgb2JqZWN0IGFuZCBwcm92aWRlIHRoZSBXZWJTY3JvbGxiYXIgaW50ZXJmYWNl
LgorCisgICAgICAgIEJ5IGtlZXBpbmcgV2ViU2Nyb2xsYmFyIHNlcGFyYXRlIGZyb20gV2ViU2Ny
b2xsYmFyVGhlbWVHZW9tZXRyeSwgdGhlCisgICAgICAgIGNvbXBvc2l0b3IgdGhyZWFkIGNhbiBj
cmVhdGUgaXRzIG93biB0aHJlYWQtc2FmZSBkYXRhIGJhZyB2ZXJzaW9uIG9mIGEKKyAgICAgICAg
V2ViU2Nyb2xsYmFyIChDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXIpLCBidXQgdGhp
cyByZXF1aXJlcworICAgICAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwuCisKKyAgICAg
ICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGRvZXMgdGhlIHJldmVyc2Ugb2YgV2ViU2Ny
b2xsYmFySW1wbDsgaXQKKyAgICAgICAgd3JhcHMgYSBXZWJTY3JvbGxiYXIgYW5kIHByb3ZpZGVz
IHRoZSBTY3JvbGxiYXJUaGVtZUNsaWVudCBpbnRlcmZhY2UuCisgICAgICAgIFRoaXMgaXMgc28g
dGhhdCBhIFdlYlNjcm9sbGJhciBjYW4gYmUgcGFzc2VkIHRvIHRoZSBnZW9tZXRyeSBhbmQKKyAg
ICAgICAgcGFpbnRlciBmdW5jdGlvbnMuIFRoZW4sIGludGVybmFsbHkgdGhlIFdlYlNjcm9sbGJh
clRoZW1lQ2xpZW50SW1wbAorICAgICAgICBjYW4gYmUgdXNlZCB0byBhZGFwdCB0aGUgV2ViU2Ny
b2xsYmFyIHRvIHRoZSBTY3JvbGxiYXJUaGVtZUNsaWVudAorICAgICAgICBpbnRlcmZhY2Ugc28g
dGhlIGdlb21ldHJ5IGFuZCBwYWludGVyIGZ1bmN0aW9ucyBjYW4gY2FsbCBkaXJlY3QKKyAgICAg
ICAgZnVuY3Rpb25zIG9uIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLgorCisgICAgICAgICogV2Vi
S2l0Lmd5cDoKKyAgICAgICAgKiBzcmMvRXh0ZXJuYWxQb3B1cE1lbnUuaDoKKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgICogc3JjL1dlYlBsdWdpblNjcm9sbGJhckltcGwuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBs
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6bG9jYXRpb24pOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1w
bDo6c2l6ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6OmVuYWJs
ZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjptYXhpbXVtKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6dG90YWxTaXplKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxWaWV3U2Nyb2xs
YmFyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxh
YmxlQXJlYUFjdGl2ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6
OmdldFRpY2ttYXJrcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6
OmNvbnRyb2xTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6
cHJlc3NlZFBhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpo
b3ZlcmVkUGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6OnNj
cm9sbGJhck92ZXJsYXlTdHlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJh
ckltcGw6Om9yaWVudGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFy
SW1wbDo6aXNDdXN0b21TY3JvbGxiYXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3Jv
bGxiYXJJbXBsOjpvbk1vdXNlVXApOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxi
YXJJbXBsOjpvbk1vdXNlTW92ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJh
ckltcGw6Om9uTW91c2VMZWF2ZSk6CisgICAgICAgICogc3JjL1dlYlBsdWdpblNjcm9sbGJhcklt
cGwuaDoKKyAgICAgICAgKFdlYlBsdWdpblNjcm9sbGJhckltcGwpOgorICAgICAgICAqIHNyYy9X
ZWJTY3JvbGxiYXJJbXBsLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJTY3JvbGxiYXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9s
bGJhckltcGw6OldlYlNjcm9sbGJhckltcGwpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxi
YXJJbXBsOjppc092ZXJsYXkpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjp2
YWx1ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OmxvY2F0aW9uKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6c2l6ZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlNjcm9sbGJhckltcGw6OmVuYWJsZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxi
YXJJbXBsOjptYXhpbXVtKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6dG90
YWxTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxWaWV3
U2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxh
YmxlQXJlYUFjdGl2ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OmdldFRp
Y2ttYXJrcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OmNvbnRyb2xTaXpl
KToKKyAgICAgICAgKFdlYktpdDo6dG9XZWJTY3JvbGxiYXJQYXJ0KToKKyAgICAgICAgKFdlYktp
dDo6V2ViU2Nyb2xsYmFySW1wbDo6cHJlc3NlZFBhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJT
Y3JvbGxiYXJJbXBsOjpob3ZlcmVkUGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJh
ckltcGw6OnNjcm9sbGJhck92ZXJsYXlTdHlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9s
bGJhckltcGw6Om9yaWVudGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1w
bDo6aXNDdXN0b21TY3JvbGxiYXIpOgorICAgICAgICAqIHNyYy9XZWJTY3JvbGxiYXJJbXBsLmg6
IENvcGllZCBmcm9tIFNvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFy
LmguCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJT
Y3JvbGxiYXJJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBs
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3Jv
bGxiYXJUaGVtZUNsaWVudEltcGw6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6eCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6eSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6d2lkdGgpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmhlaWdodCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6c2l6ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNj
cm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6bG9jYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJT
Y3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnBhcmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNj
cm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6cm9vdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9s
bGJhclRoZW1lQ2xpZW50SW1wbDo6c2V0RnJhbWVSZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
U2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpmcmFtZVJlY3QpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmludmFsaWRhdGUpOgorICAgICAgICAoV2ViS2l0
OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmludmFsaWRhdGVSZWN0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpzY3JvbGxiYXJPdmVybGF5U3R5
bGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmdldFRp
Y2ttYXJrcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6
aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRo
ZW1lQ2xpZW50SW1wbDo6aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYktpdDo6
V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpjb252ZXJ0RnJvbUNvbnRhaW5pbmdXaW5kb3cp
OgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmlzQ3VzdG9t
U2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBs
OjpvcmllbnRhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50
SW1wbDo6dmFsdWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudElt
cGw6OmN1cnJlbnRQb3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVu
dEltcGw6OnZpc2libGVTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsOjp0b3RhbFNpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGw6Om1heGltdW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGw6OmNvbnRyb2xTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVDbGllbnRJbXBsOjpsaW5lU3RlcCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lQ2xpZW50SW1wbDo6cGFnZVN0ZXApOgorICAgICAgICAoV2ViS2l0Ojp0b1dlYkNvcmVQ
YXJ0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpwcmVz
c2VkUGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6
aG92ZXJlZFBhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudElt
cGw6OnN0eWxlQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xp
ZW50SW1wbDo6ZW5hYmxlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xp
ZW50SW1wbDo6c2V0RW5hYmxlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1l
Q2xpZW50SW1wbDo6aXNPdmVybGF5U2Nyb2xsYmFyKToKKyAgICAgICAgKiBzcmMvV2ViU2Nyb2xs
YmFyVGhlbWVDbGllbnRJbXBsLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJLaXQpOgorICAgICAgICAoV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsKToKKyAgICAg
ICAgKiBzcmMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6YXNz
aWduKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6dGh1bWJQ
b3NpdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnRo
dW1iTGVuZ3RoKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6
dHJhY2tQb3NpdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0
cnk6OnRyYWNrTGVuZ3RoKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9t
ZXRyeTo6aGFzQnV0dG9ucyk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2Vv
bWV0cnk6Omhhc1RodW1iKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9t
ZXRyeTo6dHJhY2tSZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9t
ZXRyeTo6dGh1bWJSZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9t
ZXRyeTo6bWluaW11bVRodW1iTGVuZ3RoKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVHZW9tZXRyeTo6c2Nyb2xsYmFyVGhpY2tuZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
U2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6YmFja0J1dHRvblN0YXJ0UmVjdCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OmJhY2tCdXR0b25FbmRSZWN0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6Zm9yd2FyZEJ1dHRvblN0
YXJ0UmVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OmZv
cndhcmRCdXR0b25FbmRSZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeTo6Y29uc3RyYWluVHJhY2tSZWN0VG9UcmFja1BpZWNlcyk6CisgICAgICAgIChXZWJL
aXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnNwbGl0VHJhY2spOgorICAgICAgICAoV2Vi
S2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5
KToKKyAgICAgICAgKiBzcmMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50
ZXI6OmFzc2lnbik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6
cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyOjpwYWludFRyYWNrQmFja2dyb3VuZCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRCYWNrVHJhY2tQYXJ0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludEZvcndhcmRUcmFja1BhcnQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50QmFja0J1dHRv
blN0YXJ0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWlu
dEJhY2tCdXR0b25FbmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50
ZXI6OnBhaW50Rm9yd2FyZEJ1dHRvblN0YXJ0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xs
YmFyVGhlbWVQYWludGVyOjpwYWludEZvcndhcmRCdXR0b25FbmQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50VGlja21hcmtzKToKKyAgICAgICAgKFdl
YktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludFRodW1iKToKKyAgICAgICAgKFdl
YktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIp
OgorICAgICAgICAqIHRlc3RzL1Njcm9sbGJhckxheWVyQ2hyb21pdW1UZXN0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1vY2tTY3JvbGxiYXI6OmNvbnZlcnRGcm9tQ29udGFpbmluZ1dpbmRvdyk6
CisgICAgICAgIChXZWJDb3JlOjpNb2NrU2Nyb2xsYmFyOjppc092ZXJsYXlTY3JvbGxiYXIpOgor
ICAgICAgICAoTW9ja1Njcm9sbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpURVNUKToKKwogMjAx
Mi0wNy0xMCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBtaWdyYXRlIGZyb20gYmFja2dyb3VuZCBpbWFnZXMgdG8gQ1NTIGZv
ciBzdGF0dXNiYXIgcmVuZGVyaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtL1BsYXRm
b3JtLmd5cGkgYi9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQppbmRleCBhNmIzNWZkOTM4
ZThhMDg5MjdhNmNlMWNmOTc0NGQ3MWU0YzRhNjMyLi4yODg5YjU3MjM4N2ZhZjQxZTUwNzViYzA2
M2NjYzViZDU2YWMwNTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lw
aQorKysgYi9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQpAQCAtMTAwLDYgKzEwMCw4IEBA
CiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlJlZmVycmVyUG9saWN5LmgnLAogICAg
ICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJSZW5kZXJpbmdTdGF0cy5oJywKICAgICAgICAg
ICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyLmgnLAorICAgICAgICAgICAgJ2Nocm9t
aXVtL3B1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LmgnLAorICAgICAgICAgICAgJ2No
cm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuaCcsCiAgICAgICAgICAgICAn
Y2hyb21pdW0vcHVibGljL1dlYlNlc3Npb25EZXNjcmlwdGlvbkRlc2NyaXB0b3IuaCcsCiAgICAg
ICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNpemUuaCcsCiAgICAgICAgICAgICAnY2hyb21p
dW0vcHVibGljL1dlYlNvY2tldFN0cmVhbUVycm9yLmgnLApkaWZmIC0tZ2l0IGEvU291cmNlL1Bs
YXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXIuaCBiL1NvdXJjZS9QbGF0Zm9ybS9j
aHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyLmgKaW5kZXggODc5NTU2NTUyZDFhMzE2ZDRkMmQ1
OTdkNjZjNWViMDUwZDk5ZTBmMS4uYmUyOWMxMjA0Nzc5YjE3Y2IwNDM1MjQ1Y2YzZmM0YTViNTNk
Mjk4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJTY3Jv
bGxiYXIuaAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJh
ci5oCkBAIC0yNSwxMCArMjUsMjcgQEAKICNpZm5kZWYgV2ViU2Nyb2xsYmFyX2gKICNkZWZpbmUg
V2ViU2Nyb2xsYmFyX2gKIAorI2luY2x1ZGUgIldlYlBvaW50LmgiCisjaW5jbHVkZSAiV2ViUmVj
dC5oIgorI2luY2x1ZGUgIldlYlNpemUuaCIKKyNpbmNsdWRlICJXZWJWZWN0b3IuaCIKKyNpZiBX
RUJLSVRfSU1QTEVNRU5UQVRJT04KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2VuZGlm
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFNjcm9sbGJhcjsKK30KKwogbmFtZXNwYWNl
IFdlYktpdCB7CiAKKy8vIEEgY29uc3QgYWNjZXNzb3IgaW50ZXJmYWNlIGZvciBhIFdlYktpdCBz
Y3JvbGxiYXIKIGNsYXNzIFdlYlNjcm9sbGJhciB7CiBwdWJsaWM6CisjaWYgV0VCS0lUX0lNUExF
TUVOVEFUSU9OCisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgUGFzc093blB0cjxXZWJTY3JvbGxi
YXI+IGNyZWF0ZShXZWJDb3JlOjpTY3JvbGxiYXIqKTsKKyNlbmRpZgorCiAgICAgZW51bSBPcmll
bnRhdGlvbiB7CiAgICAgICAgIEhvcml6b250YWwsCiAgICAgICAgIFZlcnRpY2FsCkBAIC00Niw2
ICs2MywzMSBAQCBwdWJsaWM6CiAgICAgICAgIFNjcm9sbEJ5UGl4ZWwKICAgICB9OwogCisgICAg
ZW51bSBTY3JvbGxiYXJDb250cm9sU2l6ZSB7CisgICAgICAgIFJlZ3VsYXJTY3JvbGxiYXIsCisg
ICAgICAgIFNtYWxsU2Nyb2xsYmFyCisgICAgfTsKKworICAgIGVudW0gU2Nyb2xsYmFyUGFydCB7
CisgICAgICAgIE5vUGFydCwKKyAgICAgICAgQmFja0J1dHRvblN0YXJ0UGFydCwKKyAgICAgICAg
Rm9yd2FyZEJ1dHRvblN0YXJ0UGFydCwKKyAgICAgICAgQmFja1RyYWNrUGFydCwKKyAgICAgICAg
VGh1bWJQYXJ0LAorICAgICAgICBGb3J3YXJkVHJhY2tQYXJ0LAorICAgICAgICBCYWNrQnV0dG9u
RW5kUGFydCwKKyAgICAgICAgRm9yd2FyZEJ1dHRvbkVuZFBhcnQsCisgICAgICAgIFNjcm9sbGJh
ckJHUGFydCwKKyAgICAgICAgVHJhY2tCR1BhcnQsCisgICAgICAgIEFsbFBhcnRzCisgICAgfTsK
KworICAgIGVudW0gU2Nyb2xsYmFyT3ZlcmxheVN0eWxlIHsKKyAgICAgICAgU2Nyb2xsYmFyT3Zl
cmxheVN0eWxlRGVmYXVsdCwKKyAgICAgICAgU2Nyb2xsYmFyT3ZlcmxheVN0eWxlRGFyaywKKyAg
ICAgICAgU2Nyb2xsYmFyT3ZlcmxheVN0eWxlTGlnaHQKKyAgICB9OworCiAgICAgdmlydHVhbCB+
V2ViU2Nyb2xsYmFyKCkgeyB9CiAKICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiB0aGlzIGlzIGFuIG92
ZXJsYXkgc2Nyb2xsYmFyLgpAQCAtNTMsNiArOTUsMjEgQEAgcHVibGljOgogCiAgICAgLy8gR2V0
cyB0aGUgY3VycmVudCB2YWx1ZSAoaS5lLiBwb3NpdGlvbiBpbnNpZGUgdGhlIHJlZ2lvbikuCiAg
ICAgdmlydHVhbCBpbnQgdmFsdWUoKSBjb25zdCA9IDA7CisKKyAgICB2aXJ0dWFsIFdlYlBvaW50
IGxvY2F0aW9uKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgV2ViU2l6ZSBzaXplKCkgY29uc3Qg
PSAwOworICAgIHZpcnR1YWwgYm9vbCBlbmFibGVkKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwg
aW50IG1heGltdW0oKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBpbnQgdG90YWxTaXplKCkgY29u
c3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBjb25zdCA9
IDA7CisgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCB2b2lkIGdldFRpY2ttYXJrcyhXZWJWZWN0b3I8V2ViUmVjdD4mIHRpY2tt
YXJrcykgY29uc3QgPSAwOworICAgIHZpcnR1YWwgU2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJv
bFNpemUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBTY3JvbGxiYXJQYXJ0IHByZXNzZWRQYXJ0
KCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgU2Nyb2xsYmFyUGFydCBob3ZlcmVkUGFydCgpIGNv
bnN0ID0gMDsKKyAgICB2aXJ0dWFsIFNjcm9sbGJhck92ZXJsYXlTdHlsZSBzY3JvbGxiYXJPdmVy
bGF5U3R5bGUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tU2Nyb2xsYmFy
KCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgT3JpZW50YXRpb24gb3JpZW50YXRpb24oKSBjb25z
dCA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9Q
bGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5oIGIvU291
cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmZlNDllZWE5OTA5NmVmODFhZDg0YTM5ZDQ2NTlhZTQwNWY0N2JkMAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xs
YmFyVGhlbWVHZW9tZXRyeS5oCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJ
QlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnlfaAorI2RlZmluZSBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5
X2gKKworI2luY2x1ZGUgPHB1YmxpYy9XZWJSZWN0Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
K2NsYXNzIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlOworfTsKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIFdlYlNjcm9sbGJhcjsKKworY2xhc3MgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRy
eSB7CitwdWJsaWM6CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSgpIDogbV90aGVtZSgw
KSB7IH0KKworICAgIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkoY29uc3QgV2ViU2Nyb2xsYmFy
VGhlbWVHZW9tZXRyeSYgZ2VvbWV0cnkpIHsgYXNzaWduKGdlb21ldHJ5KTsgfQorICAgIHZpcnR1
YWwgfldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkoKSB7IH0KKyAgICBXZWJTY3JvbGxiYXJUaGVt
ZUdlb21ldHJ5JiBvcGVyYXRvcj0oY29uc3QgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSYgZ2Vv
bWV0cnkpCisgICAgeworICAgICAgICBhc3NpZ24oZ2VvbWV0cnkpOworICAgICAgICByZXR1cm4g
KnRoaXM7CisgICAgfQorCisgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBtX3RoZW1l
OyB9CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFzc2lnbihjb25zdCBXZWJTY3JvbGxiYXJUaGVt
ZUdlb21ldHJ5Jik7CisKKyAgICBXRUJLSVRfRVhQT1JUIGludCB0aHVtYlBvc2l0aW9uKFdlYlNj
cm9sbGJhciopOworICAgIFdFQktJVF9FWFBPUlQgaW50IHRodW1iTGVuZ3RoKFdlYlNjcm9sbGJh
ciopOworICAgIFdFQktJVF9FWFBPUlQgaW50IHRyYWNrUG9zaXRpb24oV2ViU2Nyb2xsYmFyKik7
CisgICAgV0VCS0lUX0VYUE9SVCBpbnQgdHJhY2tMZW5ndGgoV2ViU2Nyb2xsYmFyKik7CisgICAg
V0VCS0lUX0VYUE9SVCBib29sIGhhc0J1dHRvbnMoV2ViU2Nyb2xsYmFyKik7CisgICAgV0VCS0lU
X0VYUE9SVCBib29sIGhhc1RodW1iKFdlYlNjcm9sbGJhciopOworICAgIFdFQktJVF9FWFBPUlQg
V2ViUmVjdCB0cmFja1JlY3QoV2ViU2Nyb2xsYmFyKik7CisgICAgV0VCS0lUX0VYUE9SVCBXZWJS
ZWN0IHRodW1iUmVjdChXZWJTY3JvbGxiYXIqKTsKKyAgICBXRUJLSVRfRVhQT1JUIGludCBtaW5p
bXVtVGh1bWJMZW5ndGgoV2ViU2Nyb2xsYmFyKik7CisgICAgV0VCS0lUX0VYUE9SVCBpbnQgc2Ny
b2xsYmFyVGhpY2tuZXNzKFdlYlNjcm9sbGJhciopOworICAgIFdFQktJVF9FWFBPUlQgV2ViUmVj
dCBiYWNrQnV0dG9uU3RhcnRSZWN0KFdlYlNjcm9sbGJhciopOworICAgIFdFQktJVF9FWFBPUlQg
V2ViUmVjdCBiYWNrQnV0dG9uRW5kUmVjdChXZWJTY3JvbGxiYXIqKTsKKyAgICBXRUJLSVRfRVhQ
T1JUIFdlYlJlY3QgZm9yd2FyZEJ1dHRvblN0YXJ0UmVjdChXZWJTY3JvbGxiYXIqKTsKKyAgICBX
RUJLSVRfRVhQT1JUIFdlYlJlY3QgZm9yd2FyZEJ1dHRvbkVuZFJlY3QoV2ViU2Nyb2xsYmFyKik7
CisgICAgV0VCS0lUX0VYUE9SVCBXZWJSZWN0IGNvbnN0cmFpblRyYWNrUmVjdFRvVHJhY2tQaWVj
ZXMoV2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOworICAgIFdFQktJVF9FWFBPUlQgdm9p
ZCBzcGxpdFRyYWNrKFdlYlNjcm9sbGJhciosIGNvbnN0IFdlYlJlY3QmIHRyYWNrLCBXZWJSZWN0
JiBzdGFydFRyYWNrLCBXZWJSZWN0JiB0aHVtYiwgV2ViUmVjdCYgZW5kVHJhY2spOworCisjaWYg
V0VCS0lUX0lNUExFTUVOVEFUSU9OCisgICAgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeShXZWJD
b3JlOjpTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSopOworI2VuZGlmCisKK3ByaXZhdGU6CisgICAg
Ly8gVGhlIHRoZW1lIGlzIG5vdCBvd25lZCBieSB0aGlzIGNsYXNzLiBJdCBpcyBhc3N1bWVkIHRo
YXQgdGhlIHRoZW1lIGlzIGEKKyAgICAvLyBzdGF0aWMgcG9pbnRlciBhbmQgaXRzIGxpZmV0aW1l
IGlzIGVzc2VudGlhbGx5IGluZmluaXRlLiBPbmx5IHRocmVhZC1zYWZlCisgICAgLy8gZnVuY3Rp
b25zIG9uIHRoZSB0aGVtZSBjYW4gYmUgY2FsbGVkIGJ5IHRoaXMgdGhlbWUuCisgICAgV2ViQ29y
ZTo6U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIG1fdGhlbWU7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0v
cHVibGljL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9t
aXVtL3B1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzM1MmE5
ZTJhNWI2ZDg3N2RiMmQyYjFmZDMzY2NiNGE0MmNjNTU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuaApA
QCAtMCwwICsxLDc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXJf
aAorI2RlZmluZSBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXJfaAorCisjaW5jbHVkZSA8cHVibGlj
L1dlYkNhbnZhcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBTY3JvbGxiYXJUaGVt
ZUNvbXBvc2l0ZTsKK307CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJTY3JvbGxi
YXI7CitjbGFzcyBXZWJSZWN0OworCitjbGFzcyBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIgewor
cHVibGljOgorICAgIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcigpIDogbV90aGVtZSgwKSB7IH0K
KyAgICBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIoY29uc3QgV2ViU2Nyb2xsYmFyVGhlbWVQYWlu
dGVyJiBnZW9tZXRyeSkgeyBhc3NpZ24oZ2VvbWV0cnkpOyB9CisgICAgdmlydHVhbCB+V2ViU2Ny
b2xsYmFyVGhlbWVQYWludGVyKCkgeyB9CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyJiBv
cGVyYXRvcj0oY29uc3QgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyJiBwYWludGVyKQorICAgIHsK
KyAgICAgICAgYXNzaWduKHBhaW50ZXIpOworICAgICAgICByZXR1cm4gKnRoaXM7CisgICAgfQor
CisgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBtX3RoZW1lOyB9CisgICAgV0VCS0lU
X0VYUE9SVCB2b2lkIGFzc2lnbihjb25zdCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXImKTsKKwor
ICAgIFdFQktJVF9FWFBPUlQgdm9pZCBwYWludFNjcm9sbGJhckJhY2tncm91bmQoV2ViQ2FudmFz
KiwgV2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOworICAgIFdFQktJVF9FWFBPUlQgdm9p
ZCBwYWludFRyYWNrQmFja2dyb3VuZChXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBX
ZWJSZWN0Jik7CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHBhaW50QmFja1RyYWNrUGFydChXZWJD
YW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgV0VCS0lUX0VYUE9S
VCB2b2lkIHBhaW50Rm9yd2FyZFRyYWNrUGFydChXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBj
b25zdCBXZWJSZWN0Jik7CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHBhaW50QmFja0J1dHRvblN0
YXJ0KFdlYkNhbnZhcyosIFdlYlNjcm9sbGJhciosIGNvbnN0IFdlYlJlY3QmKTsKKyAgICBXRUJL
SVRfRVhQT1JUIHZvaWQgcGFpbnRCYWNrQnV0dG9uRW5kKFdlYkNhbnZhcyosIFdlYlNjcm9sbGJh
ciosIGNvbnN0IFdlYlJlY3QmKTsKKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgcGFpbnRGb3J3YXJk
QnV0dG9uU3RhcnQoV2ViQ2FudmFzKiwgV2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOwor
ICAgIFdFQktJVF9FWFBPUlQgdm9pZCBwYWludEZvcndhcmRCdXR0b25FbmQoV2ViQ2FudmFzKiwg
V2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBw
YWludFRpY2ttYXJrcyhXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0Jik7
CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHBhaW50VGh1bWIoV2ViQ2FudmFzKiwgV2ViU2Nyb2xs
YmFyKiwgY29uc3QgV2ViUmVjdCYpOworCisjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCisgICAg
V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ29tcG9zaXRl
Kik7CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICAvLyBUaGUgdGhlbWUgaXMgbm90IG93bmVkIGJ5
IHRoaXMgY2xhc3MuIEl0IGlzIGFzc3VtZWQgdGhhdCB0aGUgdGhlbWUgaXMgYQorICAgIC8vIHN0
YXRpYyBwb2ludGVyIGFuZCBpdHMgbGlmZXRpbWUgaXMgZXNzZW50aWFsbHkgaW5maW5pdGUuIFRo
ZSBmdW5jdGlvbnMKKyAgICAvLyBjYWxsZWQgZnJvbSB0aGUgcGFpbnRlciBtYXkgbm90IGJlIHRo
cmVhZC1zYWZlLCBzbyBhbGwgY2FsbHMgbXVzdCBiZSBtYWRlCisgICAgLy8gZnJvbSB0aGUgc2Ft
ZSB0aHJlYWQgdGhhdCBpdCBpcyBjcmVhdGVkIG9uLgorICAgIFdlYkNvcmU6OlNjcm9sbGJhclRo
ZW1lQ29tcG9zaXRlKiBtX3RoZW1lOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0v
U2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcAppbmRleCA3
Y2ZiODZjMGYwNmQzNGU0ODZiODY1YjA4MDgzNWZmOGQ1ZmYyNGFkLi5jMmMxNTUxNGEwNGViZWJk
YTQ1ZTcyYWNkMDVmNTg3NzhkZThkYWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGlu
YXRvckNocm9taXVtLmNwcApAQCAtMzQsOSArMzQsMTIgQEAKICNpbmNsdWRlICJSZW5kZXJMYXll
ckNvbXBvc2l0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU2Nyb2xs
YmFyTGF5ZXJDaHJvbWl1bS5oIgotI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lLmgiCisjaW5jbHVk
ZSAiU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuaCIKICNpbmNsdWRlICJjYy9DQ1Byb3h5LmgiCiAj
aW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGFibGVMYXllci5oPgorI2luY2x1ZGUgPHB1YmxpYy9X
ZWJTY3JvbGxiYXIuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRy
eS5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuaD4KIAogdXNp
bmcgV2ViS2l0OjpXZWJMYXllcjsKIHVzaW5nIFdlYktpdDo6V2ViU2Nyb2xsYWJsZUxheWVyOwpA
QCAtMTMxLDEzICsxMzQsMjEgQEAgc3RhdGljIFdlYkxheWVyIGNyZWF0ZVNjcm9sbGJhckxheWVy
KFNjcm9sbGJhciogc2Nyb2xsYmFyLCBXZWJTY3JvbGxhYmxlTGF5ZXIgc2MKICAgICBwbGF0Zm9y
bVN1cHBvcnRlZCA9IGZhbHNlOwogI2VuZGlmCiAKLSAgICBpZiAoIXBsYXRmb3JtU3VwcG9ydGVk
IHx8IHNjcm9sbGJhci0+aXNPdmVybGF5U2Nyb2xsYmFyKCkpIHsKKyAgICBpZiAoIXBsYXRmb3Jt
U3VwcG9ydGVkIHx8IHNjcm9sbGJhci0+aXNPdmVybGF5U2Nyb2xsYmFyKCkgfHwgc2Nyb2xsYmFy
LT5pc0N1c3RvbVNjcm9sbGJhcigpKSB7CiAgICAgICAgIHNjcm9sbGJhckdyYXBoaWNzTGF5ZXIt
PnNldENvbnRlbnRzVG9NZWRpYSgwKTsKICAgICAgICAgc2Nyb2xsYmFyR3JhcGhpY3NMYXllci0+
c2V0RHJhd3NDb250ZW50KHRydWUpOwogICAgICAgICByZXR1cm4gV2ViTGF5ZXIoKTsKICAgICB9
CiAKLSAgICBSZWZQdHI8U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4gc2Nyb2xsYmFyTGF5ZXIgPSBT
Y3JvbGxiYXJMYXllckNocm9taXVtOjpjcmVhdGUoc2Nyb2xsYmFyLCBzY3JvbGxMYXllci51bndy
YXA8TGF5ZXJDaHJvbWl1bT4oKS0+aWQoKSk7CisgICAgLy8gQWxsIENocm9taXVtIHNjcm9sbGJh
ciB0aGVtZXMgZGVyaXZlIGZyb20gU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuCisgICAgU2Nyb2xs
YmFyVGhlbWVDb21wb3NpdGUqIHRoZW1lQ29tcG9zaXRlID0gc3RhdGljX2Nhc3Q8U2Nyb2xsYmFy
VGhlbWVDb21wb3NpdGUqPihzY3JvbGxiYXItPnRoZW1lKCkpOworCisgICAgLy8gU2Nyb2xsYmFy
TGF5ZXJDaHJvbWl1bSBvd25zIHRoZSBXZWJTY3JvbGxiYXIKKyAgICBPd25QdHI8V2ViS2l0OjpX
ZWJTY3JvbGxiYXI+IHdlYlNjcm9sbGJhciA9IFdlYktpdDo6V2ViU2Nyb2xsYmFyOjpjcmVhdGUo
c2Nyb2xsYmFyKTsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVy
KHRoZW1lQ29tcG9zaXRlKTsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkg
Z2VvbWV0cnkodGhlbWVDb21wb3NpdGUpOworCisgICAgUmVmUHRyPFNjcm9sbGJhckxheWVyQ2hy
b21pdW0+IHNjcm9sbGJhckxheWVyID0gU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKHdl
YlNjcm9sbGJhci5yZWxlYXNlKCksIHBhaW50ZXIsIGdlb21ldHJ5LCBzY3JvbGxMYXllci51bndy
YXA8TGF5ZXJDaHJvbWl1bT4oKS0+aWQoKSk7CiAgICAgc2Nyb2xsYmFyR3JhcGhpY3NMYXllci0+
c2V0Q29udGVudHNUb01lZGlhKHNjcm9sbGJhckxheWVyLmdldCgpKTsKICAgICBzY3JvbGxiYXJH
cmFwaGljc0xheWVyLT5zZXREcmF3c0NvbnRlbnQoZmFsc2UpOwogICAgIHNjcm9sbGJhckxheWVy
LT5zZXRPcGFxdWUoc2Nyb2xsYmFyR3JhcGhpY3NMYXllci0+Y29udGVudHNPcGFxdWUoKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZUNsaWVudC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDbGllbnQuaAppbmRleCA4
NzFjNTJlOTBiODk5MGY4ODZhNmI3ZDNmZDVmZDRlNGRiZjY5ZjI1Li5lYmE0MDk0NjljMmRiMjkz
MmZlZTUyZTkyNzE0MTA1ZTY0ZGZiMGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxiYXJUaGVtZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGJhclRoZW1lQ2xpZW50LmgKQEAgLTgzLDYgKzgzLDggQEAgcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCBlbmFibGVkKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRFbmFi
bGVkKGJvb2wpID0gMDsKIAorICAgIHZpcnR1YWwgYm9vbCBpc092ZXJsYXlTY3JvbGxiYXIoKSBj
b25zdCA9IDA7CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5TY3JvbGxiYXJUaGVtZUNsaWVu
dCgpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1Njcm9sbGJhckxheWVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXgg
NTZjOTZhNzRhMGJiNmM1MTU5NTczODQ4NDk4YWFjN2VlNTdkNTljNS4uNTRiYmU3YTNmZDM4YWE0
Mzc0ZjhkODUyYzdlM2MxZjBjZDI4YjJlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFyTGF5ZXJD
aHJvbWl1bS5jcHAKQEAgLTM3LDYgKzM3LDkgQEAKICNpbmNsdWRlICJjYy9DQ0xheWVyVHJlZUhv
c3QuaCIKICNpbmNsdWRlICJjYy9DQ1Njcm9sbGJhckxheWVySW1wbC5oIgogI2luY2x1ZGUgImNj
L0NDVGV4dHVyZVVwZGF0ZXIuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViUmVjdC5oPgorCit1c2lu
ZyBXZWJLaXQ6OldlYlJlY3Q7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDUsMjcgKzQ4
LDE4IEBAIFBhc3NPd25QdHI8Q0NMYXllckltcGw+IFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNy
ZWF0ZUNDTGF5ZXJJbXBsKCkKICAgICByZXR1cm4gQ0NTY3JvbGxiYXJMYXllckltcGw6OmNyZWF0
ZShpZCgpKTsKIH0KIAotUGFzc1JlZlB0cjxTY3JvbGxiYXJMYXllckNocm9taXVtPiBTY3JvbGxi
YXJMYXllckNocm9taXVtOjpjcmVhdGUoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGludCBzY3JvbGxM
YXllcklkKQorUGFzc1JlZlB0cjxTY3JvbGxiYXJMYXllckNocm9taXVtPiBTY3JvbGxiYXJMYXll
ckNocm9taXVtOjpjcmVhdGUoUGFzc093blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhcj4gc2Nyb2xs
YmFyLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVyLCBXZWJLaXQ6Oldl
YlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgZ2VvbWV0cnksIGludCBzY3JvbGxMYXllcklkKQogewot
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bShzY3JvbGxiYXIs
IHNjcm9sbExheWVySWQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGJhckxheWVy
Q2hyb21pdW0oc2Nyb2xsYmFyLCBwYWludGVyLCBnZW9tZXRyeSwgc2Nyb2xsTGF5ZXJJZCkpOwog
fQogCi1TY3JvbGxiYXJMYXllckNocm9taXVtOjpTY3JvbGxiYXJMYXllckNocm9taXVtKFNjcm9s
bGJhciogc2Nyb2xsYmFyLCBpbnQgc2Nyb2xsTGF5ZXJJZCkKK1Njcm9sbGJhckxheWVyQ2hyb21p
dW06OlNjcm9sbGJhckxheWVyQ2hyb21pdW0oUGFzc093blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJh
cj4gc2Nyb2xsYmFyLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVyLCBX
ZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgZ2VvbWV0cnksIGludCBzY3JvbGxMYXll
cklkKQogICAgIDogbV9zY3JvbGxiYXIoc2Nyb2xsYmFyKQorICAgICwgbV9wYWludGVyKHBhaW50
ZXIpCisgICAgLCBtX2dlb21ldHJ5KGdlb21ldHJ5KQogICAgICwgbV9zY3JvbGxMYXllcklkKHNj
cm9sbExheWVySWQpCiAgICAgLCBtX3RleHR1cmVGb3JtYXQoR3JhcGhpY3NDb250ZXh0M0Q6OklO
VkFMSURfRU5VTSkKLSAgICAsIG1fc2Nyb2xsYmFyT3ZlcmxheVN0eWxlKHNjcm9sbGJhci0+c2Ny
b2xsYmFyT3ZlcmxheVN0eWxlKCkpCi0gICAgLCBtX2lzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoc2Ny
b2xsYmFyLT5pc1Njcm9sbGFibGVBcmVhQWN0aXZlKCkpCi0gICAgLCBtX2lzU2Nyb2xsVmlld1Nj
cm9sbGJhcihzY3JvbGxiYXItPmlzU2Nyb2xsVmlld1Njcm9sbGJhcigpKQotICAgICwgbV9vcmll
bnRhdGlvbihzY3JvbGxiYXItPm9yaWVudGF0aW9uKCkpCi0gICAgLCBtX2NvbnRyb2xTaXplKHNj
cm9sbGJhci0+Y29udHJvbFNpemUoKSkKLXsKLX0KLQotU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUq
IFNjcm9sbGJhckxheWVyQ2hyb21pdW06OnRoZW1lKCkgY29uc3QKIHsKLSAgICAvLyBBbGwgQ2hy
b21pdW0gc2Nyb2xsYmFycyBhcmUgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUtZGVyaXZlZC4KLSAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqPihtX3Njcm9sbGJh
ci0+dGhlbWUoKSk7CiB9CiAKIHZvaWQgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6cHVzaFByb3Bl
cnRpZXNUbyhDQ0xheWVySW1wbCogbGF5ZXIpCkBAIC03NCw3ICs2OCw3IEBAIHZvaWQgU2Nyb2xs
YmFyTGF5ZXJDaHJvbWl1bTo6cHVzaFByb3BlcnRpZXNUbyhDQ0xheWVySW1wbCogbGF5ZXIpCiAK
ICAgICBDQ1Njcm9sbGJhckxheWVySW1wbCogc2Nyb2xsYmFyTGF5ZXIgPSBzdGF0aWNfY2FzdDxD
Q1Njcm9sbGJhckxheWVySW1wbCo+KGxheWVyKTsKIAotICAgIHNjcm9sbGJhckxheWVyLT5zZXRT
Y3JvbGxiYXJPdmVybGF5U3R5bGUobV9zY3JvbGxiYXJPdmVybGF5U3R5bGUpOworICAgIHNjcm9s
bGJhckxheWVyLT5zZXRTY3JvbGxiYXJEYXRhKG1fc2Nyb2xsYmFyLmdldCgpLCBtX2dlb21ldHJ5
KTsKIAogICAgIGlmIChtX2JhY2tUcmFjayAmJiBtX2JhY2tUcmFjay0+dGV4dHVyZSgpLT5oYXZl
QmFja2luZ1RleHR1cmUoKSkKICAgICAgICAgc2Nyb2xsYmFyTGF5ZXItPnNldEJhY2tUcmFja1Rl
eHR1cmVJZChtX2JhY2tUcmFjay0+dGV4dHVyZSgpLT50ZXh0dXJlSWQoKSk7CkBAIC05MCwxMDUg
Kzg0LDk0IEBAIHZvaWQgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6cHVzaFByb3BlcnRpZXNUbyhD
Q0xheWVySW1wbCogbGF5ZXIpCiAgICAgICAgIHNjcm9sbGJhckxheWVyLT5zZXRUaHVtYlRleHR1
cmVJZChtX3RodW1iLT50ZXh0dXJlKCktPnRleHR1cmVJZCgpKTsKICAgICBlbHNlCiAgICAgICAg
IHNjcm9sbGJhckxheWVyLT5zZXRUaHVtYlRleHR1cmVJZCgwKTsKLQotICAgIFZlY3RvcjxJbnRS
ZWN0PiB0aWNrbWFya3M7Ci0gICAgbV9zY3JvbGxiYXItPmdldFRpY2ttYXJrcyh0aWNrbWFya3Mp
OwotICAgIHNjcm9sbGJhckxheWVyLT5zZXRUaWNrbWFya3ModGlja21hcmtzKTsKLQotICAgIHNj
cm9sbGJhckxheWVyLT5zZXRJc1Njcm9sbGFibGVBcmVhQWN0aXZlKG1faXNTY3JvbGxhYmxlQXJl
YUFjdGl2ZSk7Ci0gICAgc2Nyb2xsYmFyTGF5ZXItPnNldElzU2Nyb2xsVmlld1Njcm9sbGJhciht
X2lzU2Nyb2xsVmlld1Njcm9sbGJhcik7Ci0KLSAgICBzY3JvbGxiYXJMYXllci0+c2V0T3JpZW50
YXRpb24obV9vcmllbnRhdGlvbik7Ci0KLSAgICBzY3JvbGxiYXJMYXllci0+c2V0Q29udHJvbFNp
emUobV9jb250cm9sU2l6ZSk7Ci0KLSAgICBzY3JvbGxiYXJMYXllci0+c2V0UHJlc3NlZFBhcnQo
bV9zY3JvbGxiYXItPnByZXNzZWRQYXJ0KCkpOwotICAgIHNjcm9sbGJhckxheWVyLT5zZXRIb3Zl
cmVkUGFydChtX3Njcm9sbGJhci0+aG92ZXJlZFBhcnQoKSk7Ci0KLSAgICBzY3JvbGxiYXJMYXll
ci0+c2V0RW5hYmxlZChtX3Njcm9sbGJhci0+ZW5hYmxlZCgpKTsKIH0KIAogY2xhc3MgU2Nyb2xs
YmFyQmFja2dyb3VuZFBhaW50ZXIgOiBwdWJsaWMgTGF5ZXJQYWludGVyQ2hyb21pdW0gewogICAg
IFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcm9sbGJhckJhY2tncm91bmRQYWludGVyKTsKIHB1Ymxp
YzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcj4gY3Jl
YXRlKFNjcm9sbGJhclRoZW1lQ2xpZW50KiBzY3JvbGxiYXIsIFNjcm9sbGJhclRoZW1lQ29tcG9z
aXRlKiB0aGVtZSwgU2Nyb2xsYmFyUGFydCB0cmFja1BhcnQpCisgICAgc3RhdGljIFBhc3NPd25Q
dHI8U2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50ZXI+IGNyZWF0ZShXZWJLaXQ6OldlYlNjcm9sbGJh
ciogc2Nyb2xsYmFyLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVyLCBX
ZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgZ2VvbWV0cnksIFNjcm9sbGJhclBhcnQg
dHJhY2tQYXJ0KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTY3JvbGxiYXJC
YWNrZ3JvdW5kUGFpbnRlcihzY3JvbGxiYXIsIHRoZW1lLCB0cmFja1BhcnQpKTsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UHRyKG5ldyBTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcihzY3JvbGxiYXIs
IHBhaW50ZXIsIGdlb21ldHJ5LCB0cmFja1BhcnQpKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZv
aWQgcGFpbnQoU2tDYW52YXMqIGNhbnZhcywgY29uc3QgSW50UmVjdCYgY29udGVudFJlY3QsIEZs
b2F0UmVjdCYpIE9WRVJSSURFCisgICAgdmlydHVhbCB2b2lkIHBhaW50KFNrQ2FudmFzKiBza0Nh
bnZhcywgY29uc3QgSW50UmVjdCYgY29udGVudFJlY3QsIEZsb2F0UmVjdCYpIE9WRVJSSURFCiAg
ICAgewotICAgICAgICBQbGF0Zm9ybUNvbnRleHRTa2lhIHBsYXRmb3JtQ29udGV4dChjYW52YXMp
OwotICAgICAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7
Ci0gICAgICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOwotCisg
ICAgICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMgPSBza0NhbnZhczsKICAgICAgICAgLy8g
VGhlIGZvbGxvd2luZyBpcyBhIHNpbXBsaWZpY2F0aW9uIG9mIFNjcm9sbGJhclRoZW1lQ29tcG9z
aXRlOjpwYWludC4KLSAgICAgICAgbV90aGVtZS0+cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKCZj
b250ZXh0LCBtX3Njcm9sbGJhcik7CisgICAgICAgIG1fcGFpbnRlci5wYWludFNjcm9sbGJhckJh
Y2tncm91bmQoY2FudmFzLCBtX3Njcm9sbGJhciwgY29udGVudFJlY3QpOwogCi0gICAgICAgIGlm
IChtX3RoZW1lLT5oYXNCdXR0b25zKG1fc2Nyb2xsYmFyKSkgewotICAgICAgICAgICAgSW50UmVj
dCBiYWNrQnV0dG9uU3RhcnRQYWludFJlY3QgPSBtX3RoZW1lLT5iYWNrQnV0dG9uUmVjdChtX3Nj
cm9sbGJhciwgQmFja0J1dHRvblN0YXJ0UGFydCwgdHJ1ZSk7Ci0gICAgICAgICAgICBtX3RoZW1l
LT5wYWludEJ1dHRvbigmY29udGV4dCwgbV9zY3JvbGxiYXIsIGJhY2tCdXR0b25TdGFydFBhaW50
UmVjdCwgQmFja0J1dHRvblN0YXJ0UGFydCk7CisgICAgICAgIGlmIChtX2dlb21ldHJ5Lmhhc0J1
dHRvbnMobV9zY3JvbGxiYXIpKSB7CisgICAgICAgICAgICBXZWJSZWN0IGJhY2tCdXR0b25TdGFy
dFBhaW50UmVjdCA9IG1fZ2VvbWV0cnkuYmFja0J1dHRvblN0YXJ0UmVjdChtX3Njcm9sbGJhcik7
CisgICAgICAgICAgICBtX3BhaW50ZXIucGFpbnRCYWNrQnV0dG9uU3RhcnQoY2FudmFzLCBtX3Nj
cm9sbGJhciwgYmFja0J1dHRvblN0YXJ0UGFpbnRSZWN0KTsKIAotICAgICAgICAgICAgSW50UmVj
dCBiYWNrQnV0dG9uRW5kUGFpbnRSZWN0ID0gbV90aGVtZS0+YmFja0J1dHRvblJlY3QobV9zY3Jv
bGxiYXIsIEJhY2tCdXR0b25FbmRQYXJ0LCB0cnVlKTsKLSAgICAgICAgICAgIG1fdGhlbWUtPnBh
aW50QnV0dG9uKCZjb250ZXh0LCBtX3Njcm9sbGJhciwgYmFja0J1dHRvbkVuZFBhaW50UmVjdCwg
QmFja0J1dHRvbkVuZFBhcnQpOworICAgICAgICAgICAgV2ViUmVjdCBiYWNrQnV0dG9uRW5kUGFp
bnRSZWN0ID0gbV9nZW9tZXRyeS5iYWNrQnV0dG9uRW5kUmVjdChtX3Njcm9sbGJhcik7CisgICAg
ICAgICAgICBtX3BhaW50ZXIucGFpbnRCYWNrQnV0dG9uRW5kKGNhbnZhcywgbV9zY3JvbGxiYXIs
IGJhY2tCdXR0b25FbmRQYWludFJlY3QpOwogCi0gICAgICAgICAgICBJbnRSZWN0IGZvcndhcmRC
dXR0b25TdGFydFBhaW50UmVjdCA9IG1fdGhlbWUtPmZvcndhcmRCdXR0b25SZWN0KG1fc2Nyb2xs
YmFyLCBGb3J3YXJkQnV0dG9uU3RhcnRQYXJ0LCB0cnVlKTsKLSAgICAgICAgICAgIG1fdGhlbWUt
PnBhaW50QnV0dG9uKCZjb250ZXh0LCBtX3Njcm9sbGJhciwgZm9yd2FyZEJ1dHRvblN0YXJ0UGFp
bnRSZWN0LCBGb3J3YXJkQnV0dG9uU3RhcnRQYXJ0KTsKKyAgICAgICAgICAgIFdlYlJlY3QgZm9y
d2FyZEJ1dHRvblN0YXJ0UGFpbnRSZWN0ID0gbV9nZW9tZXRyeS5mb3J3YXJkQnV0dG9uU3RhcnRS
ZWN0KG1fc2Nyb2xsYmFyKTsKKyAgICAgICAgICAgIG1fcGFpbnRlci5wYWludEZvcndhcmRCdXR0
b25TdGFydChjYW52YXMsIG1fc2Nyb2xsYmFyLCBmb3J3YXJkQnV0dG9uU3RhcnRQYWludFJlY3Qp
OwogCi0gICAgICAgICAgICBJbnRSZWN0IGZvcndhcmRCdXR0b25FbmRQYWludFJlY3QgPSBtX3Ro
ZW1lLT5mb3J3YXJkQnV0dG9uUmVjdChtX3Njcm9sbGJhciwgRm9yd2FyZEJ1dHRvbkVuZFBhcnQs
IHRydWUpOwotICAgICAgICAgICAgbV90aGVtZS0+cGFpbnRCdXR0b24oJmNvbnRleHQsIG1fc2Ny
b2xsYmFyLCBmb3J3YXJkQnV0dG9uRW5kUGFpbnRSZWN0LCBGb3J3YXJkQnV0dG9uRW5kUGFydCk7
CisgICAgICAgICAgICBXZWJSZWN0IGZvcndhcmRCdXR0b25FbmRQYWludFJlY3QgPSBtX2dlb21l
dHJ5LmZvcndhcmRCdXR0b25FbmRSZWN0KG1fc2Nyb2xsYmFyKTsKKyAgICAgICAgICAgIG1fcGFp
bnRlci5wYWludEZvcndhcmRCdXR0b25FbmQoY2FudmFzLCBtX3Njcm9sbGJhciwgZm9yd2FyZEJ1
dHRvbkVuZFBhaW50UmVjdCk7CiAgICAgICAgIH0KIAotICAgICAgICBJbnRSZWN0IHRyYWNrUGFp
bnRSZWN0ID0gbV90aGVtZS0+dHJhY2tSZWN0KG1fc2Nyb2xsYmFyLCB0cnVlKTsKLSAgICAgICAg
bV90aGVtZS0+cGFpbnRUcmFja0JhY2tncm91bmQoJmNvbnRleHQsIG1fc2Nyb2xsYmFyLCB0cmFj
a1BhaW50UmVjdCk7CisgICAgICAgIFdlYlJlY3QgdHJhY2tQYWludFJlY3QgPSBtX2dlb21ldHJ5
LnRyYWNrUmVjdChtX3Njcm9sbGJhcik7CisgICAgICAgIG1fcGFpbnRlci5wYWludFRyYWNrQmFj
a2dyb3VuZChjYW52YXMsIG1fc2Nyb2xsYmFyLCB0cmFja1BhaW50UmVjdCk7CiAKLSAgICAgICAg
Ym9vbCB0aHVtYlByZXNlbnQgPSBtX3RoZW1lLT5oYXNUaHVtYihtX3Njcm9sbGJhcik7Ci0gICAg
ICAgIGlmICh0aHVtYlByZXNlbnQpCi0gICAgICAgICAgICBtX3RoZW1lLT5wYWludFRyYWNrUGll
Y2UoJmNvbnRleHQsIG1fc2Nyb2xsYmFyLCB0cmFja1BhaW50UmVjdCwgbV90cmFja1BhcnQpOwor
ICAgICAgICBib29sIHRodW1iUHJlc2VudCA9IG1fZ2VvbWV0cnkuaGFzVGh1bWIobV9zY3JvbGxi
YXIpOworICAgICAgICBpZiAodGh1bWJQcmVzZW50KSB7CisgICAgICAgICAgICBpZiAobV90cmFj
a1BhcnQgPT0gRm9yd2FyZFRyYWNrUGFydCkKKyAgICAgICAgICAgICAgICBtX3BhaW50ZXIucGFp
bnRGb3J3YXJkVHJhY2tQYXJ0KGNhbnZhcywgbV9zY3JvbGxiYXIsIHRyYWNrUGFpbnRSZWN0KTsK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBtX3BhaW50ZXIucGFpbnRCYWNrVHJh
Y2tQYXJ0KGNhbnZhcywgbV9zY3JvbGxiYXIsIHRyYWNrUGFpbnRSZWN0KTsKKyAgICAgICAgfQog
Ci0gICAgICAgIG1fdGhlbWUtPnBhaW50VGlja21hcmtzKCZjb250ZXh0LCBtX3Njcm9sbGJhciwg
dHJhY2tQYWludFJlY3QpOworICAgICAgICBtX3BhaW50ZXIucGFpbnRUaWNrbWFya3MoY2FudmFz
LCBtX3Njcm9sbGJhciwgdHJhY2tQYWludFJlY3QpOwogICAgIH0KIHByaXZhdGU6Ci0gICAgU2Ny
b2xsYmFyQmFja2dyb3VuZFBhaW50ZXIoU2Nyb2xsYmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhciwg
U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIHRoZW1lLCBTY3JvbGxiYXJQYXJ0IHRyYWNrUGFydCkK
KyAgICBTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcihXZWJLaXQ6OldlYlNjcm9sbGJhciogc2Ny
b2xsYmFyLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVyLCBXZWJLaXQ6
OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgZ2VvbWV0cnksIFNjcm9sbGJhclBhcnQgdHJhY2tQ
YXJ0KQogICAgICAgICA6IG1fc2Nyb2xsYmFyKHNjcm9sbGJhcikKLSAgICAgICAgLCBtX3RoZW1l
KHRoZW1lKQorICAgICAgICAsIG1fcGFpbnRlcihwYWludGVyKQorICAgICAgICAsIG1fZ2VvbWV0
cnkoZ2VvbWV0cnkpCiAgICAgICAgICwgbV90cmFja1BhcnQodHJhY2tQYXJ0KQogICAgIHsKICAg
ICB9CiAKLSAgICBTY3JvbGxiYXJUaGVtZUNsaWVudCogbV9zY3JvbGxiYXI7Ci0gICAgU2Nyb2xs
YmFyVGhlbWVDb21wb3NpdGUqIG1fdGhlbWU7CisgICAgV2ViS2l0OjpXZWJTY3JvbGxiYXIqIG1f
c2Nyb2xsYmFyOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIG1fcGFpbnRl
cjsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgbV9nZW9tZXRyeTsKICAg
ICBTY3JvbGxiYXJQYXJ0IG1fdHJhY2tQYXJ0OwogfTsKIAogY2xhc3MgU2Nyb2xsYmFyVGh1bWJQ
YWludGVyIDogcHVibGljIExheWVyUGFpbnRlckNocm9taXVtIHsKICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY3JvbGxiYXJUaHVtYlBhaW50ZXIpOwogcHVibGljOgotICAgIHN0YXRpYyBQYXNz
T3duUHRyPFNjcm9sbGJhclRodW1iUGFpbnRlcj4gY3JlYXRlKFNjcm9sbGJhclRoZW1lQ2xpZW50
KiBzY3JvbGxiYXIsIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKiB0aGVtZSkKKyAgICBzdGF0aWMg
UGFzc093blB0cjxTY3JvbGxiYXJUaHVtYlBhaW50ZXI+IGNyZWF0ZShXZWJLaXQ6OldlYlNjcm9s
bGJhciogc2Nyb2xsYmFyLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVy
LCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgZ2VvbWV0cnkpCiAgICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNjcm9sbGJhclRodW1iUGFpbnRlcihzY3JvbGxiYXIs
IHRoZW1lKSk7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2Nyb2xsYmFyVGh1bWJQYWlu
dGVyKHNjcm9sbGJhciwgcGFpbnRlciwgZ2VvbWV0cnkpKTsKICAgICB9CiAKLSAgICB2aXJ0dWFs
IHZvaWQgcGFpbnQoU2tDYW52YXMqIGNhbnZhcywgY29uc3QgSW50UmVjdCYgY29udGVudFJlY3Qs
IEZsb2F0UmVjdCYgb3BhcXVlKSBPVkVSUklERQorICAgIHZpcnR1YWwgdm9pZCBwYWludChTa0Nh
bnZhcyogc2tDYW52YXMsIGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0LCBGbG9hdFJlY3QmIG9w
YXF1ZSkgT1ZFUlJJREUKICAgICB7Ci0gICAgICAgIFBsYXRmb3JtQ29udGV4dFNraWEgcGxhdGZv
cm1Db250ZXh0KGNhbnZhcyk7Ci0gICAgICAgIHBsYXRmb3JtQ29udGV4dC5zZXREcmF3aW5nVG9J
bWFnZUJ1ZmZlcih0cnVlKTsKLSAgICAgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRm
b3JtQ29udGV4dCk7CisgICAgICAgIFdlYktpdDo6V2ViQ2FudmFzKiBjYW52YXMgPSBza0NhbnZh
czsKIAogICAgICAgICAvLyBDb25zaWRlciB0aGUgdGh1bWIgdG8gYmUgYXQgdGhlIG9yaWdpbiB3
aGVuIHBhaW50aW5nLgotICAgICAgICBJbnRSZWN0IHRodW1iUmVjdCA9IEludFJlY3QoSW50UG9p
bnQoKSwgbV90aGVtZS0+dGh1bWJSZWN0KG1fc2Nyb2xsYmFyKS5zaXplKCkpOwotICAgICAgICBt
X3RoZW1lLT5wYWludFRodW1iKCZjb250ZXh0LCBtX3Njcm9sbGJhciwgdGh1bWJSZWN0KTsKKyAg
ICAgICAgV2ViUmVjdCB0aHVtYlJlY3QgPSBtX2dlb21ldHJ5LnRodW1iUmVjdChtX3Njcm9sbGJh
cik7CisgICAgICAgIHRodW1iUmVjdC54ID0gMDsKKyAgICAgICAgdGh1bWJSZWN0LnkgPSAwOwor
ICAgICAgICBtX3BhaW50ZXIucGFpbnRUaHVtYihjYW52YXMsIG1fc2Nyb2xsYmFyLCB0aHVtYlJl
Y3QpOwogICAgIH0KIAogcHJpdmF0ZToKLSAgICBTY3JvbGxiYXJUaHVtYlBhaW50ZXIoU2Nyb2xs
YmFyVGhlbWVDbGllbnQqIHNjcm9sbGJhciwgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIHRoZW1l
KQorICAgIFNjcm9sbGJhclRodW1iUGFpbnRlcihXZWJLaXQ6OldlYlNjcm9sbGJhciogc2Nyb2xs
YmFyLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVyLCBXZWJLaXQ6Oldl
YlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgZ2VvbWV0cnkpCiAgICAgICAgIDogbV9zY3JvbGxiYXIo
c2Nyb2xsYmFyKQotICAgICAgICAsIG1fdGhlbWUodGhlbWUpCisgICAgICAgICwgbV9wYWludGVy
KHBhaW50ZXIpCisgICAgICAgICwgbV9nZW9tZXRyeShnZW9tZXRyeSkKICAgICB7CiAgICAgfQog
Ci0gICAgU2Nyb2xsYmFyVGhlbWVDbGllbnQqIG1fc2Nyb2xsYmFyOwotICAgIFNjcm9sbGJhclRo
ZW1lQ29tcG9zaXRlKiBtX3RoZW1lOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyKiBtX3Njcm9s
bGJhcjsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBtX3BhaW50ZXI7Cisg
ICAgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IG1fZ2VvbWV0cnk7CiB9OwogCiB2
b2lkIFNjcm9sbGJhckxheWVyQ2hyb21pdW06OnNldExheWVyVHJlZUhvc3QoQ0NMYXllclRyZWVI
b3N0KiBob3N0KQpAQCAtMjA5LDIwICsxOTIsMjAgQEAgdm9pZCBTY3JvbGxiYXJMYXllckNocm9t
aXVtOjpjcmVhdGVUZXh0dXJlVXBkYXRlcklmTmVlZGVkKCkKICAgICBtX3RleHR1cmVGb3JtYXQg
PSBsYXllclRyZWVIb3N0KCktPmxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMoKS5iZXN0VGV4dHVy
ZUZvcm1hdDsKIAogICAgIGlmICghbV9iYWNrVHJhY2tVcGRhdGVyKQotICAgICAgICBtX2JhY2tU
cmFja1VwZGF0ZXIgPSBCaXRtYXBDYW52YXNMYXllclRleHR1cmVVcGRhdGVyOjpjcmVhdGUoU2Ny
b2xsYmFyQmFja2dyb3VuZFBhaW50ZXI6OmNyZWF0ZShtX3Njcm9sbGJhci5nZXQoKSwgdGhlbWUo
KSwgQmFja1RyYWNrUGFydCksIHVzZU1hcFN1YkltYWdlKTsKKyAgICAgICAgbV9iYWNrVHJhY2tV
cGRhdGVyID0gQml0bWFwQ2FudmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6Y3JlYXRlKFNjcm9sbGJh
ckJhY2tncm91bmRQYWludGVyOjpjcmVhdGUobV9zY3JvbGxiYXIuZ2V0KCksIG1fcGFpbnRlciwg
bV9nZW9tZXRyeSwgQmFja1RyYWNrUGFydCksIHVzZU1hcFN1YkltYWdlKTsKICAgICBpZiAoIW1f
YmFja1RyYWNrKQogICAgICAgICBtX2JhY2tUcmFjayA9IG1fYmFja1RyYWNrVXBkYXRlci0+Y3Jl
YXRlVGV4dHVyZShsYXllclRyZWVIb3N0KCktPmNvbnRlbnRzVGV4dHVyZU1hbmFnZXIoKSk7CiAK
ICAgICAvLyBPbmx5IGNyZWF0ZSB0d28tcGFydCB0cmFjayBpZiB3ZSB0aGluayB0aGUgdHdvIHBh
cnRzIGNvdWxkIGJlIGRpZmZlcmVudCBpbiBhcHBlYXJhbmNlLgogICAgIGlmIChtX3Njcm9sbGJh
ci0+aXNDdXN0b21TY3JvbGxiYXIoKSkgewogICAgICAgICBpZiAoIW1fZm9yZVRyYWNrVXBkYXRl
cikKLSAgICAgICAgICAgIG1fZm9yZVRyYWNrVXBkYXRlciA9IEJpdG1hcENhbnZhc0xheWVyVGV4
dHVyZVVwZGF0ZXI6OmNyZWF0ZShTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcjo6Y3JlYXRlKG1f
c2Nyb2xsYmFyLmdldCgpLCB0aGVtZSgpLCBGb3J3YXJkVHJhY2tQYXJ0KSwgdXNlTWFwU3ViSW1h
Z2UpOworICAgICAgICAgICAgbV9mb3JlVHJhY2tVcGRhdGVyID0gQml0bWFwQ2FudmFzTGF5ZXJU
ZXh0dXJlVXBkYXRlcjo6Y3JlYXRlKFNjcm9sbGJhckJhY2tncm91bmRQYWludGVyOjpjcmVhdGUo
bV9zY3JvbGxiYXIuZ2V0KCksIG1fcGFpbnRlciwgbV9nZW9tZXRyeSwgRm9yd2FyZFRyYWNrUGFy
dCksIHVzZU1hcFN1YkltYWdlKTsKICAgICAgICAgaWYgKCFtX2ZvcmVUcmFjaykKICAgICAgICAg
ICAgIG1fZm9yZVRyYWNrID0gbV9mb3JlVHJhY2tVcGRhdGVyLT5jcmVhdGVUZXh0dXJlKGxheWVy
VHJlZUhvc3QoKS0+Y29udGVudHNUZXh0dXJlTWFuYWdlcigpKTsKICAgICB9CiAKICAgICBpZiAo
IW1fdGh1bWJVcGRhdGVyKQotICAgICAgICBtX3RodW1iVXBkYXRlciA9IEJpdG1hcENhbnZhc0xh
eWVyVGV4dHVyZVVwZGF0ZXI6OmNyZWF0ZShTY3JvbGxiYXJUaHVtYlBhaW50ZXI6OmNyZWF0ZSht
X3Njcm9sbGJhci5nZXQoKSwgdGhlbWUoKSksIHVzZU1hcFN1YkltYWdlKTsKKyAgICAgICAgbV90
aHVtYlVwZGF0ZXIgPSBCaXRtYXBDYW52YXNMYXllclRleHR1cmVVcGRhdGVyOjpjcmVhdGUoU2Ny
b2xsYmFyVGh1bWJQYWludGVyOjpjcmVhdGUobV9zY3JvbGxiYXIuZ2V0KCksIG1fcGFpbnRlciwg
bV9nZW9tZXRyeSksIHVzZU1hcFN1YkltYWdlKTsKICAgICBpZiAoIW1fdGh1bWIpCiAgICAgICAg
IG1fdGh1bWIgPSBtX3RodW1iVXBkYXRlci0+Y3JlYXRlVGV4dHVyZShsYXllclRyZWVIb3N0KCkt
PmNvbnRlbnRzVGV4dHVyZU1hbmFnZXIoKSk7CiB9CkBAIC0yNjgsNyArMjUxLDcgQEAgdm9pZCBT
Y3JvbGxiYXJMYXllckNocm9taXVtOjpzZXRUZXh0dXJlUHJpb3JpdGllcyhjb25zdCBDQ1ByaW9y
aXR5Q2FsY3VsYXRvciYpCiAgICAgICAgIG1fZm9yZVRyYWNrLT50ZXh0dXJlKCktPnNldFJlcXVl
c3RQcmlvcml0eShDQ1ByaW9yaXR5Q2FsY3VsYXRvcjo6dWlQcmlvcml0eShkcmF3c1RvUm9vdFN1
cmZhY2UpKTsKICAgICB9CiAgICAgaWYgKG1fdGh1bWIpIHsKLSAgICAgICAgSW50U2l6ZSB0aHVt
YlNpemUgPSB0aGVtZSgpLT50aHVtYlJlY3QobV9zY3JvbGxiYXIuZ2V0KCkpLnNpemUoKTsKKyAg
ICAgICAgSW50U2l6ZSB0aHVtYlNpemUgPSBJbnRSZWN0KG1fZ2VvbWV0cnkudGh1bWJSZWN0KG1f
c2Nyb2xsYmFyLmdldCgpKSkuc2l6ZSgpOwogICAgICAgICBtX3RodW1iLT50ZXh0dXJlKCktPnNl
dERpbWVuc2lvbnModGh1bWJTaXplLCBtX3RleHR1cmVGb3JtYXQpOwogICAgICAgICBtX3RodW1i
LT50ZXh0dXJlKCktPnNldFJlcXVlc3RQcmlvcml0eShDQ1ByaW9yaXR5Q2FsY3VsYXRvcjo6dWlQ
cmlvcml0eShkcmF3c1RvUm9vdFN1cmZhY2UpKTsKICAgICB9CkBAIC0yODEsMTQgKzI2NCwxNCBA
QCB2b2lkIFNjcm9sbGJhckxheWVyQ2hyb21pdW06OnVwZGF0ZShDQ1RleHR1cmVVcGRhdGVyJiB1
cGRhdGVyLCBjb25zdCBDQ09jY2x1c2lvbgogCiAgICAgY3JlYXRlVGV4dHVyZVVwZGF0ZXJJZk5l
ZWRlZCgpOwogCi0gICAgSW50UG9pbnQgc2Nyb2xsYmFyT3JpZ2luKG1fc2Nyb2xsYmFyLT54KCks
IG1fc2Nyb2xsYmFyLT55KCkpOworICAgIEludFBvaW50IHNjcm9sbGJhck9yaWdpbihtX3Njcm9s
bGJhci0+bG9jYXRpb24oKSk7CiAgICAgSW50UmVjdCBjb250ZW50UmVjdChzY3JvbGxiYXJPcmln
aW4sIGNvbnRlbnRCb3VuZHMoKSk7CiAgICAgdXBkYXRlUGFydChtX2JhY2tUcmFja1VwZGF0ZXIu
Z2V0KCksIG1fYmFja1RyYWNrLmdldCgpLCBjb250ZW50UmVjdCwgdXBkYXRlcik7CiAgICAgaWYg
KG1fZm9yZVRyYWNrICYmIG1fZm9yZVRyYWNrVXBkYXRlcikKICAgICAgICAgdXBkYXRlUGFydCht
X2ZvcmVUcmFja1VwZGF0ZXIuZ2V0KCksIG1fZm9yZVRyYWNrLmdldCgpLCBjb250ZW50UmVjdCwg
dXBkYXRlcik7CiAKICAgICAvLyBDb25zaWRlciB0aGUgdGh1bWIgdG8gYmUgYXQgdGhlIG9yaWdp
biB3aGVuIHBhaW50aW5nLgotICAgIEludFJlY3QgdGh1bWJSZWN0ID0gSW50UmVjdChJbnRQb2lu
dCgpLCB0aGVtZSgpLT50aHVtYlJlY3QobV9zY3JvbGxiYXIuZ2V0KCkpLnNpemUoKSk7CisgICAg
SW50UmVjdCB0aHVtYlJlY3QgPSBJbnRSZWN0KEludFBvaW50KCksIEludFJlY3QobV9nZW9tZXRy
eS50aHVtYlJlY3QobV9zY3JvbGxiYXIuZ2V0KCkpKS5zaXplKCkpOwogICAgIGlmICghdGh1bWJS
ZWN0LmlzRW1wdHkoKSkKICAgICAgICAgdXBkYXRlUGFydChtX3RodW1iVXBkYXRlci5nZXQoKSwg
bV90aHVtYi5nZXQoKSwgdGh1bWJSZWN0LCB1cGRhdGVyKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Njcm9sbGJhckxheWVyQ2hyb21p
dW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Njcm9sbGJh
ckxheWVyQ2hyb21pdW0uaAppbmRleCAwYThhMmExM2I3MzFjZTc4MDA0ZjA1ZDZkOThiYWI4ZTBj
YzhjZjk0Li4wNjJmNDcyYTJiZTE2MmZmYWQ5ZjhiYzk1YThlMzhmZGQzYjJhMWQyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TY3JvbGxiYXJM
YXllckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5oCkBAIC0zMCw3ICszMCw5IEBACiAKICNpbmNs
dWRlICJMYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSAiTGF5ZXJUZXh0dXJlVXBkYXRlci5oIgot
I2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhci5o
PgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Lmg+CisjaW5jbHVk
ZSA8cHVibGljL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTQxLDcgKzQzLDcgQEAgY2xhc3MgQ0NUZXh0dXJlVXBkYXRlcjsKIGNsYXNzIFNj
cm9sbGJhckxheWVyQ2hyb21pdW0gOiBwdWJsaWMgTGF5ZXJDaHJvbWl1bSB7CiBwdWJsaWM6CiAg
ICAgdmlydHVhbCBQYXNzT3duUHRyPENDTGF5ZXJJbXBsPiBjcmVhdGVDQ0xheWVySW1wbCgpOwot
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGJhckxheWVyQ2hyb21pdW0+IGNyZWF0ZShTY3Jv
bGxiYXIqLCBpbnQgc2Nyb2xsTGF5ZXJJZCk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2Nyb2xs
YmFyTGF5ZXJDaHJvbWl1bT4gY3JlYXRlKFBhc3NPd25QdHI8V2ViS2l0OjpXZWJTY3JvbGxiYXI+
LCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciwgV2ViS2l0OjpXZWJTY3JvbGxiYXJU
aGVtZUdlb21ldHJ5LCBpbnQgc2Nyb2xsTGF5ZXJJZCk7CiAKICAgICAvLyBMYXllckNocm9taXVt
IGludGVyZmFjZQogICAgIHZpcnR1YWwgdm9pZCBzZXRUZXh0dXJlUHJpb3JpdGllcyhjb25zdCBD
Q1ByaW9yaXR5Q2FsY3VsYXRvciYpIE9WRVJSSURFOwpAQCAtNTUsMTQgKzU3LDE1IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIFNjcm9sbGJhckxheWVyQ2hyb21pdW0qIHRvU2Nyb2xsYmFyTGF5ZXJD
aHJvbWl1bSgpIHsgcmV0dXJuIHRoaXM7IH0KIAogcHJvdGVjdGVkOgotICAgIFNjcm9sbGJhckxh
eWVyQ2hyb21pdW0oU2Nyb2xsYmFyKiwgaW50IHNjcm9sbExheWVySWQpOworICAgIFNjcm9sbGJh
ckxheWVyQ2hyb21pdW0oUGFzc093blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhcj4sIFdlYktpdDo6
V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0
cnksIGludCBzY3JvbGxMYXllcklkKTsKIAogcHJpdmF0ZToKLSAgICBTY3JvbGxiYXJUaGVtZUNv
bXBvc2l0ZSogdGhlbWUoKSBjb25zdDsKICAgICB2b2lkIHVwZGF0ZVBhcnQoTGF5ZXJUZXh0dXJl
VXBkYXRlciosIExheWVyVGV4dHVyZVVwZGF0ZXI6OlRleHR1cmUqLCBjb25zdCBJbnRSZWN0Jiwg
Q0NUZXh0dXJlVXBkYXRlciYpOwogICAgIHZvaWQgY3JlYXRlVGV4dHVyZVVwZGF0ZXJJZk5lZWRl
ZCgpOwogCi0gICAgUmVmUHRyPFNjcm9sbGJhcj4gbV9zY3JvbGxiYXI7CisgICAgT3duUHRyPFdl
YktpdDo6V2ViU2Nyb2xsYmFyPiBtX3Njcm9sbGJhcjsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lUGFpbnRlciBtX3BhaW50ZXI7CisgICAgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdl
b21ldHJ5IG1fZ2VvbWV0cnk7CiAgICAgaW50IG1fc2Nyb2xsTGF5ZXJJZDsKIAogICAgIEdDM0Rl
bnVtIG1fdGV4dHVyZUZvcm1hdDsKQEAgLTc1LDE0ICs3OCw2IEBAIHByaXZhdGU6CiAgICAgT3du
UHRyPExheWVyVGV4dHVyZVVwZGF0ZXI6OlRleHR1cmU+IG1fYmFja1RyYWNrOwogICAgIE93blB0
cjxMYXllclRleHR1cmVVcGRhdGVyOjpUZXh0dXJlPiBtX2ZvcmVUcmFjazsKICAgICBPd25QdHI8
TGF5ZXJUZXh0dXJlVXBkYXRlcjo6VGV4dHVyZT4gbV90aHVtYjsKLQotICAgIFNjcm9sbGJhck92
ZXJsYXlTdHlsZSBtX3Njcm9sbGJhck92ZXJsYXlTdHlsZTsKLSAgICBib29sIG1faXNTY3JvbGxh
YmxlQXJlYUFjdGl2ZTsKLSAgICBib29sIG1faXNTY3JvbGxWaWV3U2Nyb2xsYmFyOwotCi0gICAg
U2Nyb2xsYmFyT3JpZW50YXRpb24gbV9vcmllbnRhdGlvbjsKLQotICAgIFNjcm9sbGJhckNvbnRy
b2xTaXplIG1fY29udHJvbFNpemU7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJh
ckxheWVySW1wbC5jcHAKaW5kZXggZjM4ZmJkYTAxZjY2ZTM4MDYxZDEwNmZiYzBiYzFjMDQzNjI4
MDMxOS4uYTFlZmU4NDJjZTllOGRjMWU4Y2EwMzVkMTM1NzcwYWY4ODZiMzliMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxi
YXJMYXllckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmNwcApAQCAtMjksMTEgKzI5LDEyIEBACiAK
ICNpbmNsdWRlICJDQ1Njcm9sbGJhckxheWVySW1wbC5oIgogCi0jaW5jbHVkZSAiU2Nyb2xsYmFy
VGhlbWUuaCIKLSNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS5oIgogI2luY2x1ZGUg
ImNjL0NDUXVhZEN1bGxlci5oIgogI2luY2x1ZGUgImNjL0NDVGV4dHVyZURyYXdRdWFkLmgiCiAK
K3VzaW5nIFdlYktpdDo6V2ViUmVjdDsKK3VzaW5nIFdlYktpdDo6V2ViU2Nyb2xsYmFyOworCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NPd25QdHI8Q0NTY3JvbGxiYXJMYXllckltcGw+IEND
U2Nyb2xsYmFyTGF5ZXJJbXBsOjpjcmVhdGUoaW50IGlkKQpAQCAtNDgsMzYgKzQ5LDU1IEBAIEND
U2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhckxheWVySW1wbChpbnQgaWQpCiAgICAgLCBt
X2JhY2tUcmFja1RleHR1cmVJZCgwKQogICAgICwgbV9mb3JlVHJhY2tUZXh0dXJlSWQoMCkKICAg
ICAsIG1fdGh1bWJUZXh0dXJlSWQoMCkKKyAgICAsIG1fc2Nyb2xsYmFyT3ZlcmxheVN0eWxlKFdl
YlNjcm9sbGJhcjo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlRGVmYXVsdCkKKyAgICAsIG1fb3JpZW50
YXRpb24oV2ViU2Nyb2xsYmFyOjpIb3Jpem9udGFsKQorICAgICwgbV9jb250cm9sU2l6ZShXZWJT
Y3JvbGxiYXI6OlJlZ3VsYXJTY3JvbGxiYXIpCisgICAgLCBtX3ByZXNzZWRQYXJ0KFdlYlNjcm9s
bGJhcjo6Tm9QYXJ0KQorICAgICwgbV9ob3ZlcmVkUGFydChXZWJTY3JvbGxiYXI6Ok5vUGFydCkK
KyAgICAsIG1faXNTY3JvbGxhYmxlQXJlYUFjdGl2ZShmYWxzZSkKKyAgICAsIG1faXNTY3JvbGxW
aWV3U2Nyb2xsYmFyKGZhbHNlKQorICAgICwgbV9lbmFibGVkKGZhbHNlKQorICAgICwgbV9pc0N1
c3RvbVNjcm9sbGJhcihmYWxzZSkKKyAgICAsIG1faXNPdmVybGF5U2Nyb2xsYmFyKGZhbHNlKQog
ewogfQogCi1uYW1lc3BhY2UgewotCi1GbG9hdFJlY3QgdG9VVlJlY3QoY29uc3QgSW50UmVjdCYg
ciwgY29uc3QgSW50UmVjdCYgYm91bmRzKQordm9pZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6c2V0
U2Nyb2xsYmFyRGF0YShjb25zdCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgV2ViS2l0OjpXZWJT
Y3JvbGxiYXJUaGVtZUdlb21ldHJ5IGdlb21ldHJ5KQogewotICAgIEFTU0VSVChib3VuZHMuY29u
dGFpbnMocikpOwotICAgIHJldHVybiBGbG9hdFJlY3Qoc3RhdGljX2Nhc3Q8ZmxvYXQ+KHIueCgp
KSAvIGJvdW5kcy53aWR0aCgpLCBzdGF0aWNfY2FzdDxmbG9hdD4oci55KCkpIC8gYm91bmRzLmhl
aWdodCgpLAotICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHIud2lkdGgo
KSkgLyBib3VuZHMud2lkdGgoKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHIuaGVpZ2h0KCkpIC8gYm91
bmRzLmhlaWdodCgpKTsKKyAgICBtX2dlb21ldHJ5ID0gZ2VvbWV0cnk7CisKKyAgICBtX3Njcm9s
bGJhck92ZXJsYXlTdHlsZSA9IHNjcm9sbGJhci0+c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCk7Cisg
ICAgbV9vcmllbnRhdGlvbiA9IHNjcm9sbGJhci0+b3JpZW50YXRpb24oKTsKKyAgICBtX2NvbnRy
b2xTaXplID0gc2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpOworICAgIG1fcHJlc3NlZFBhcnQgPSBz
Y3JvbGxiYXItPnByZXNzZWRQYXJ0KCk7CisgICAgbV9ob3ZlcmVkUGFydCA9IHNjcm9sbGJhci0+
aG92ZXJlZFBhcnQoKTsKKyAgICBtX2lzU2Nyb2xsYWJsZUFyZWFBY3RpdmUgPSBzY3JvbGxiYXIt
PmlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKTsKKyAgICBtX2lzU2Nyb2xsVmlld1Njcm9sbGJhciA9
IHNjcm9sbGJhci0+aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCk7CisgICAgbV9lbmFibGVkID0gc2Ny
b2xsYmFyLT5lbmFibGVkKCk7CisgICAgbV9pc0N1c3RvbVNjcm9sbGJhciA9IHNjcm9sbGJhci0+
aXNDdXN0b21TY3JvbGxiYXIoKTsKKyAgICBtX2lzT3ZlcmxheVNjcm9sbGJhciA9IHNjcm9sbGJh
ci0+aXNPdmVybGF5KCk7CisKKyAgICBzY3JvbGxiYXItPmdldFRpY2ttYXJrcyhtX3RpY2ttYXJr
cyk7CiB9CiAKK3N0YXRpYyBGbG9hdFJlY3QgdG9VVlJlY3QoY29uc3QgV2ViUmVjdCYgciwgY29u
c3QgV2ViUmVjdCYgYm91bmRzKQoreworICAgIHJldHVybiBGbG9hdFJlY3Qoc3RhdGljX2Nhc3Q8
ZmxvYXQ+KHIueCkgLyBib3VuZHMud2lkdGgsIHN0YXRpY19jYXN0PGZsb2F0PihyLnkpIC8gYm91
bmRzLmhlaWdodCwKKyAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGZsb2F0PihyLndp
ZHRoKSAvIGJvdW5kcy53aWR0aCwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHIuaGVpZ2h0KSAvIGJvdW5k
cy5oZWlnaHQpOwogfQogCiB2b2lkIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjphcHBlbmRRdWFkcyhD
Q1F1YWRDdWxsZXImIHF1YWRMaXN0LCBjb25zdCBDQ1NoYXJlZFF1YWRTdGF0ZSogc2hhcmVkUXVh
ZFN0YXRlLCBib29sJikKIHsKLSAgICBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhlbWUgPSBz
dGF0aWNfY2FzdDxTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSo+KFNjcm9sbGJhclRoZW1lOjp0aGVt
ZSgpKTsKLSAgICBpZiAoIXRoZW1lKQotICAgICAgICByZXR1cm47Ci0KICAgICBib29sIHByZW11
bHRpcGxlZEFscGhhID0gZmFsc2U7CiAgICAgYm9vbCBmbGlwcGVkID0gZmFsc2U7CiAgICAgRmxv
YXRSZWN0IHV2UmVjdCgwLCAwLCAxLCAxKTsKICAgICBJbnRSZWN0IGJvdW5kc1JlY3QoSW50UG9p
bnQoKSwgY29udGVudEJvdW5kcygpKTsKIAotICAgIEludFJlY3QgdGh1bWJSZWN0LCBiYWNrVHJh
Y2tSZWN0LCBmb3JlVHJhY2tSZWN0OwotICAgIHRoZW1lLT5zcGxpdFRyYWNrKCZtX3Njcm9sbGJh
ciwgdGhlbWUtPnRyYWNrUmVjdCgmbV9zY3JvbGxiYXIpLCBiYWNrVHJhY2tSZWN0LCB0aHVtYlJl
Y3QsIGZvcmVUcmFja1JlY3QpOworICAgIFdlYlJlY3QgdGh1bWJSZWN0LCBiYWNrVHJhY2tSZWN0
LCBmb3JlVHJhY2tSZWN0OworICAgIG1fZ2VvbWV0cnkuc3BsaXRUcmFjaygmbV9zY3JvbGxiYXIs
IG1fZ2VvbWV0cnkudHJhY2tSZWN0KCZtX3Njcm9sbGJhciksIGJhY2tUcmFja1JlY3QsIHRodW1i
UmVjdCwgZm9yZVRyYWNrUmVjdCk7CiAKLSAgICBpZiAobV90aHVtYlRleHR1cmVJZCAmJiB0aGVt
ZS0+aGFzVGh1bWIoJm1fc2Nyb2xsYmFyKSAmJiAhdGh1bWJSZWN0LmlzRW1wdHkoKSkgewotICAg
ICAgICBPd25QdHI8Q0NUZXh0dXJlRHJhd1F1YWQ+IHF1YWQgPSBDQ1RleHR1cmVEcmF3UXVhZDo6
Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZSwgdGh1bWJSZWN0LCBtX3RodW1iVGV4dHVyZUlkLCBwcmVt
dWx0aXBsZWRBbHBoYSwgdXZSZWN0LCBmbGlwcGVkKTsKKyAgICBpZiAobV90aHVtYlRleHR1cmVJ
ZCAmJiBtX2dlb21ldHJ5Lmhhc1RodW1iKCZtX3Njcm9sbGJhcikgJiYgIXRodW1iUmVjdC5pc0Vt
cHR5KCkpIHsKKyAgICAgICAgT3duUHRyPENDVGV4dHVyZURyYXdRdWFkPiBxdWFkID0gQ0NUZXh0
dXJlRHJhd1F1YWQ6OmNyZWF0ZShzaGFyZWRRdWFkU3RhdGUsIEludFJlY3QodGh1bWJSZWN0KSwg
bV90aHVtYlRleHR1cmVJZCwgcHJlbXVsdGlwbGVkQWxwaGEsIHV2UmVjdCwgZmxpcHBlZCk7CiAg
ICAgICAgIHF1YWQtPnNldE5lZWRzQmxlbmRpbmcoKTsKICAgICAgICAgcXVhZExpc3QuYXBwZW5k
KHF1YWQucmVsZWFzZSgpKTsKICAgICB9CkBAIC04NywxMzAgKzEwNyw1MCBAQCB2b2lkIENDU2Ny
b2xsYmFyTGF5ZXJJbXBsOjphcHBlbmRRdWFkcyhDQ1F1YWRDdWxsZXImIHF1YWRMaXN0LCBjb25z
dCBDQ1NoYXJlZFF1YQogCiAgICAgLy8gV2Ugb25seSBwYWludCB0aGUgdHJhY2sgaW4gdHdvIHBh
cnRzIGlmIHdlIHdlcmUgZ2l2ZW4gYSB0ZXh0dXJlIGZvciB0aGUgZm9yd2FyZCB0cmFjayBwYXJ0
LgogICAgIGlmIChtX2ZvcmVUcmFja1RleHR1cmVJZCAmJiAhZm9yZVRyYWNrUmVjdC5pc0VtcHR5
KCkpCi0gICAgICAgIHF1YWRMaXN0LmFwcGVuZChDQ1RleHR1cmVEcmF3UXVhZDo6Y3JlYXRlKHNo
YXJlZFF1YWRTdGF0ZSwgZm9yZVRyYWNrUmVjdCwgbV9mb3JlVHJhY2tUZXh0dXJlSWQsIHByZW11
bHRpcGxlZEFscGhhLCB0b1VWUmVjdChmb3JlVHJhY2tSZWN0LCBib3VuZHNSZWN0KSwgZmxpcHBl
ZCkpOworICAgICAgICBxdWFkTGlzdC5hcHBlbmQoQ0NUZXh0dXJlRHJhd1F1YWQ6OmNyZWF0ZShz
aGFyZWRRdWFkU3RhdGUsIEludFJlY3QoZm9yZVRyYWNrUmVjdCksIG1fZm9yZVRyYWNrVGV4dHVy
ZUlkLCBwcmVtdWx0aXBsZWRBbHBoYSwgdG9VVlJlY3QoZm9yZVRyYWNrUmVjdCwgYm91bmRzUmVj
dCksIGZsaXBwZWQpKTsKIAogICAgIC8vIE9yZGVyIG1hdHRlcnMgaGVyZTogc2luY2UgdGhlIGJh
Y2sgdHJhY2sgdGV4dHVyZSBpcyBiZWluZyBkcmF3biB0byB0aGUgZW50aXJlIGNvbnRlbnRzIHJl
Y3QsIHdlIG11c3QgYXBwZW5kIGl0IGFmdGVyIHRoZSB0aHVtYiBhbmQKICAgICAvLyBmb3JlIHRy
YWNrIHF1YWRzLiBUaGUgYmFjayB0cmFjayB0ZXh0dXJlIGNvbnRhaW5zIChhbmQgZGlzcGxheXMp
IHRoZSBidXR0b25zLgogICAgIGlmICghYm91bmRzUmVjdC5pc0VtcHR5KCkpCi0gICAgICAgIHF1
YWRMaXN0LmFwcGVuZChDQ1RleHR1cmVEcmF3UXVhZDo6Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZSwg
Ym91bmRzUmVjdCwgbV9iYWNrVHJhY2tUZXh0dXJlSWQsIHByZW11bHRpcGxlZEFscGhhLCB1dlJl
Y3QsIGZsaXBwZWQpKTsKLX0KLQotCi1pbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xs
YmFyOjp4KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZnJhbWVSZWN0KCkueCgpOwotfQotCi1pbnQg
Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjp5KCkgY29uc3QKLXsKLSAgICByZXR1
cm4gZnJhbWVSZWN0KCkueSgpOwotfQotCi1pbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Ny
b2xsYmFyOjp3aWR0aCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZyYW1lUmVjdCgpLndpZHRoKCk7
Ci19Ci0KLWludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmhlaWdodCgpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIGZyYW1lUmVjdCgpLmhlaWdodCgpOwotfQotCi1JbnRTaXplIEND
U2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6c2l6ZSgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIGZyYW1lUmVjdCgpLnNpemUoKTsKLX0KLQotSW50UG9pbnQgQ0NTY3JvbGxiYXJMYXllcklt
cGw6OkNDU2Nyb2xsYmFyOjpsb2NhdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZyYW1lUmVj
dCgpLmxvY2F0aW9uKCk7Ci19Ci0KLVNjcm9sbFZpZXcqIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpD
Q1Njcm9sbGJhcjo6cGFyZW50KCkgY29uc3QKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
LSAgICByZXR1cm4gMDsKLX0KLQotU2Nyb2xsVmlldyogQ0NTY3JvbGxiYXJMYXllckltcGw6OkND
U2Nyb2xsYmFyOjpyb290KCkgY29uc3QKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICByZXR1cm4gMDsKLX0KLQotdm9pZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6
OnNldEZyYW1lUmVjdChjb25zdCBJbnRSZWN0JikKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLX0KLQotSW50UmVjdCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmZyYW1l
UmVjdCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIEludFJlY3QoSW50UG9pbnQoKSwgbV9vd25lci0+
Y29udGVudEJvdW5kcygpKTsKLX0KLQotdm9pZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3Jv
bGxiYXI6OmludmFsaWRhdGUoKQotewotICAgIGludmFsaWRhdGVSZWN0KGZyYW1lUmVjdCgpKTsK
LX0KLQotdm9pZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmludmFsaWRhdGVS
ZWN0KGNvbnN0IEludFJlY3QmKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi1T
Y3JvbGxiYXJPdmVybGF5U3R5bGUgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpz
Y3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdAotewotICAgIHJldHVybiBtX293bmVyLT5tX3Nj
cm9sbGJhck92ZXJsYXlTdHlsZTsKLX0KLQotdm9pZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NT
Y3JvbGxiYXI6OmdldFRpY2ttYXJrcyhWZWN0b3I8SW50UmVjdD4mIHRpY2ttYXJrcykgY29uc3QK
LXsKLSAgICB0aWNrbWFya3MgPSBtX293bmVyLT5tX3RpY2ttYXJrczsKKyAgICAgICAgcXVhZExp
c3QuYXBwZW5kKENDVGV4dHVyZURyYXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBJbnRS
ZWN0KGJvdW5kc1JlY3QpLCBtX2JhY2tUcmFja1RleHR1cmVJZCwgcHJlbXVsdGlwbGVkQWxwaGEs
IHV2UmVjdCwgZmxpcHBlZCkpOwogfQogCi1ib29sIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Nj
cm9sbGJhcjo6aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgpIGNvbnN0Citib29sIENDU2Nyb2xsYmFy
TGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aXNPdmVybGF5KCkgY29uc3QKIHsKLSAgICByZXR1cm4g
bV9vd25lci0+bV9pc1Njcm9sbGFibGVBcmVhQWN0aXZlOworICAgIHJldHVybiBtX293bmVyLT5t
X2lzT3ZlcmxheVNjcm9sbGJhcjsKIH0KIAotYm9vbCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NT
Y3JvbGxiYXI6OmlzU2Nyb2xsVmlld1Njcm9sbGJhcigpIGNvbnN0CitpbnQgQ0NTY3JvbGxiYXJM
YXllckltcGw6OkNDU2Nyb2xsYmFyOjp2YWx1ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fb3du
ZXItPm1faXNTY3JvbGxWaWV3U2Nyb2xsYmFyOworICAgIGlmICghbV9vd25lci0+bV9zY3JvbGxM
YXllcikKKyAgICAgICAgcmV0dXJuIDA7CisgICAgaWYgKG9yaWVudGF0aW9uKCkgPT0gV2ViU2Ny
b2xsYmFyOjpIb3Jpem9udGFsKQorICAgICAgICByZXR1cm4gbV9vd25lci0+bV9zY3JvbGxMYXll
ci0+c2Nyb2xsUG9zaXRpb24oKS54KCkgKyBtX293bmVyLT5tX3Njcm9sbExheWVyLT5zY3JvbGxE
ZWx0YSgpLndpZHRoKCk7CisgICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXItPnNjcm9s
bFBvc2l0aW9uKCkueSgpICsgbV9vd25lci0+bV9zY3JvbGxMYXllci0+c2Nyb2xsRGVsdGEoKS5o
ZWlnaHQoKTsKIH0KIAotSW50UG9pbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFy
Ojpjb252ZXJ0RnJvbUNvbnRhaW5pbmdXaW5kb3coY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvaW50
KQorV2ViS2l0OjpXZWJQb2ludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6Omxv
Y2F0aW9uKCkgY29uc3QKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4g
d2luZG93UG9pbnQ7CisgICAgcmV0dXJuIFdlYktpdDo6V2ViUG9pbnQoKTsKIH0KIAotYm9vbCBD
Q1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29u
c3QKK1dlYktpdDo6V2ViU2l6ZSBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnNp
emUoKSBjb25zdAogewotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gbV9vd25lci0+Y29u
dGVudEJvdW5kcygpOwogfQogCi1TY3JvbGxiYXJPcmllbnRhdGlvbiBDQ1Njcm9sbGJhckxheWVy
SW1wbDo6Q0NTY3JvbGxiYXI6Om9yaWVudGF0aW9uKCkgY29uc3QKK2Jvb2wgQ0NTY3JvbGxiYXJM
YXllckltcGw6OkNDU2Nyb2xsYmFyOjplbmFibGVkKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9v
d25lci0+bV9vcmllbnRhdGlvbjsKKyAgICByZXR1cm4gbV9vd25lci0+bV9lbmFibGVkOwogfQog
Ci1pbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjp2YWx1ZSgpIGNvbnN0Citp
bnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjptYXhpbXVtKCkgY29uc3QKIHsK
ICAgICBpZiAoIW1fb3duZXItPm1fc2Nyb2xsTGF5ZXIpCiAgICAgICAgIHJldHVybiAwOwotICAg
IGlmIChvcmllbnRhdGlvbigpID09IEhvcml6b250YWxTY3JvbGxiYXIpCi0gICAgICAgIHJldHVy
biBtX293bmVyLT5tX3Njcm9sbExheWVyLT5zY3JvbGxQb3NpdGlvbigpLngoKSArIG1fb3duZXIt
Pm1fc2Nyb2xsTGF5ZXItPnNjcm9sbERlbHRhKCkud2lkdGgoKTsKLSAgICByZXR1cm4gbV9vd25l
ci0+bV9zY3JvbGxMYXllci0+c2Nyb2xsUG9zaXRpb24oKS55KCkgKyBtX293bmVyLT5tX3Njcm9s
bExheWVyLT5zY3JvbGxEZWx0YSgpLmhlaWdodCgpOwotfQotCi1mbG9hdCBDQ1Njcm9sbGJhckxh
eWVySW1wbDo6Q0NTY3JvbGxiYXI6OmN1cnJlbnRQb3MoKSBjb25zdAotewotICAgIHJldHVybiB2
YWx1ZSgpOwotfQotCi1pbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjp2aXNp
YmxlU2l6ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHRvdGFsU2l6ZSgpIC0gbWF4aW11bSgpOwor
ICAgIGlmIChvcmllbnRhdGlvbigpID09IFdlYlNjcm9sbGJhcjo6SG9yaXpvbnRhbCkKKyAgICAg
ICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXItPm1heFNjcm9sbFBvc2l0aW9uKCkud2lk
dGgoKTsKKyAgICByZXR1cm4gbV9vd25lci0+bV9zY3JvbGxMYXllci0+bWF4U2Nyb2xsUG9zaXRp
b24oKS5oZWlnaHQoKTsKIH0KIAogaW50IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJh
cjo6dG90YWxTaXplKCkgY29uc3QKQEAgLTIyMCw1OSArMTYwLDU0IEBAIGludCBDQ1Njcm9sbGJh
ckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnRvdGFsU2l6ZSgpIGNvbnN0CiAgICAgLy8gQ29weSAm
IHBhc3RlIGZyb20gQ0NMYXllclRyZWVIb3N0SW1wbC4uLgogICAgIC8vIEZJWE1FOiBIYXJkY29k
aW5nIHRoZSBmaXJzdCBjaGlsZCBoZXJlIGlzIHdlaXJkLiBUaGluayBvZgogICAgIC8vIGEgY2xl
YW5lciB3YXkgdG8gZ2V0IHRoZSBjb250ZW50Qm91bmRzIG9uIHRoZSBJbXBsIHNpZGUuCi0gICAg
aWYgKG9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikKKyAgICBpZiAob3JpZW50
YXRpb24oKSA9PSBXZWJTY3JvbGxiYXI6Okhvcml6b250YWwpCiAgICAgICAgIHJldHVybiBtX293
bmVyLT5tX3Njcm9sbExheWVyLT5jaGlsZHJlbigpWzBdLT5ib3VuZHMoKS53aWR0aCgpOwogICAg
IHJldHVybiBtX293bmVyLT5tX3Njcm9sbExheWVyLT5jaGlsZHJlbigpWzBdLT5ib3VuZHMoKS5o
ZWlnaHQoKTsKIH0KIAotaW50IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6bWF4
aW11bSgpIGNvbnN0Citib29sIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aXNT
Y3JvbGxWaWV3U2Nyb2xsYmFyKCkgY29uc3QKIHsKLSAgICBpZiAoIW1fb3duZXItPm1fc2Nyb2xs
TGF5ZXIpCi0gICAgICAgIHJldHVybiAwOwotICAgIGlmIChvcmllbnRhdGlvbigpID09IEhvcml6
b250YWxTY3JvbGxiYXIpCi0gICAgICAgIHJldHVybiBtX293bmVyLT5tX3Njcm9sbExheWVyLT5t
YXhTY3JvbGxQb3NpdGlvbigpLndpZHRoKCk7Ci0gICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xs
TGF5ZXItPm1heFNjcm9sbFBvc2l0aW9uKCkuaGVpZ2h0KCk7CisgICAgcmV0dXJuIG1fb3duZXIt
Pm1faXNTY3JvbGxWaWV3U2Nyb2xsYmFyOwogfQogCi1TY3JvbGxiYXJDb250cm9sU2l6ZSBDQ1Nj
cm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmNvbnRyb2xTaXplKCkgY29uc3QKK2Jvb2wg
Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjppc1Njcm9sbGFibGVBcmVhQWN0aXZl
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9vd25lci0+bV9jb250cm9sU2l6ZTsKKyAgICByZXR1
cm4gbV9vd25lci0+bV9pc1Njcm9sbGFibGVBcmVhQWN0aXZlOwogfQogCi1pbnQgQ0NTY3JvbGxi
YXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpsaW5lU3RlcCgpIGNvbnN0Cit2b2lkIENDU2Nyb2xs
YmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6Z2V0VGlja21hcmtzKFdlYktpdDo6V2ViVmVjdG9y
PFdlYlJlY3Q+JiB0aWNrbWFya3MpIGNvbnN0CiB7Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgcmV0dXJuIDA7CisgICAgdGlja21hcmtzID0gbV9vd25lci0+bV90aWNrbWFya3M7CiB9
CiAKLWludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnBhZ2VTdGVwKCkgY29u
c3QKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyQ29udHJvbFNpemUgQ0NTY3JvbGxiYXJMYXllcklt
cGw6OkNDU2Nyb2xsYmFyOjpjb250cm9sU2l6ZSgpIGNvbnN0CiB7Ci0gICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG1fb3duZXItPm1fY29udHJvbFNp
emU7CiB9CiAKLVNjcm9sbGJhclBhcnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFy
OjpwcmVzc2VkUGFydCgpIGNvbnN0CitXZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBhcnQgQ0NTY3Jv
bGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpwcmVzc2VkUGFydCgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuIG1fb3duZXItPm1fcHJlc3NlZFBhcnQ7CiB9CiAKLVNjcm9sbGJhclBhcnQgQ0NTY3Jv
bGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpob3ZlcmVkUGFydCgpIGNvbnN0CitXZWJTY3Jv
bGxiYXI6OlNjcm9sbGJhclBhcnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpo
b3ZlcmVkUGFydCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fb3duZXItPm1faG92ZXJlZFBhcnQ7
CiB9CiAKLXZvaWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpzdHlsZUNoYW5n
ZWQoKQorV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5U3R5bGUgQ0NTY3JvbGxiYXJMYXll
ckltcGw6OkNDU2Nyb2xsYmFyOjpzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdAogeworICAg
IHJldHVybiBtX293bmVyLT5tX3Njcm9sbGJhck92ZXJsYXlTdHlsZTsKIH0KIAotYm9vbCBDQ1Nj
cm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmVuYWJsZWQoKSBjb25zdAorV2ViU2Nyb2xs
YmFyOjpPcmllbnRhdGlvbiBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6Om9yaWVu
dGF0aW9uKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9vd25lci0+bV9lbmFibGVkOworICAgIHJl
dHVybiBtX293bmVyLT5tX29yaWVudGF0aW9uOwogfQogCi12b2lkIENDU2Nyb2xsYmFyTGF5ZXJJ
bXBsOjpDQ1Njcm9sbGJhcjo6c2V0RW5hYmxlZChib29sKQorYm9vbCBDQ1Njcm9sbGJhckxheWVy
SW1wbDo6Q0NTY3JvbGxiYXI6OmlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3QKIHsKLSAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gbV9vd25lci0+bV9pc0N1c3RvbVNjcm9sbGJh
cjsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXllckltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmgKaW5kZXggZWNl
MmI5NTcxNDE0YmY0MjU2ZmRiNGVlNGZkNWVhMWM3YzA0NmYzMS4uN2YwNDQzYmVjYTUxOWMxNWM0
ZmViOGMzMTRlNzkzMDA3Y2E3NTQ5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXllckltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVy
SW1wbC5oCkBAIC0zMCw2ICszMCwxMCBAQAogCiAjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWVDbGll
bnQuaCIKICNpbmNsdWRlICJjYy9DQ0xheWVySW1wbC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJS
ZWN0Lmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhci5oPgorI2luY2x1ZGUgPHB1Ymxp
Yy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Lmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlZlY3Rv
ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTM5LDE5ICs0Myw3IEBAIGNsYXNzIEND
U2Nyb2xsYmFyTGF5ZXJJbXBsIDogcHVibGljIENDTGF5ZXJJbXBsIHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc093blB0cjxDQ1Njcm9sbGJhckxheWVySW1wbD4gY3JlYXRlKGludCBpZCk7CiAK
LSAgICB2b2lkIHNldFNjcm9sbGJhck92ZXJsYXlTdHlsZShTY3JvbGxiYXJPdmVybGF5U3R5bGUg
c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKSB7IG1fc2Nyb2xsYmFyT3ZlcmxheVN0eWxlID0gc2Nyb2xs
YmFyT3ZlcmxheVN0eWxlOyB9Ci0gICAgdm9pZCBzZXRUaWNrbWFya3MoY29uc3QgVmVjdG9yPElu
dFJlY3Q+JiB0aWNrbWFya3MpIHsgbV90aWNrbWFya3MgPSB0aWNrbWFya3M7IH0KLSAgICB2b2lk
IHNldElzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoYm9vbCBpc1Njcm9sbGFibGVBcmVhQWN0aXZlKSB7
IG1faXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSA9IGlzU2Nyb2xsYWJsZUFyZWFBY3RpdmU7IH0KLSAg
ICB2b2lkIHNldElzU2Nyb2xsVmlld1Njcm9sbGJhcihib29sIGlzU2Nyb2xsVmlld1Njcm9sbGJh
cikgeyBtX2lzU2Nyb2xsVmlld1Njcm9sbGJhciA9IGlzU2Nyb2xsVmlld1Njcm9sbGJhcjsgfQot
Ci0gICAgdm9pZCBzZXRPcmllbnRhdGlvbihTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlv
bikgeyBtX29yaWVudGF0aW9uID0gb3JpZW50YXRpb247IH0KLQotICAgIHZvaWQgc2V0Q29udHJv
bFNpemUoU2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUpIHsgbV9jb250cm9sU2l6ZSA9
IGNvbnRyb2xTaXplOyB9Ci0KLSAgICB2b2lkIHNldFByZXNzZWRQYXJ0KFNjcm9sbGJhclBhcnQg
cHJlc3NlZFBhcnQpIHsgbV9wcmVzc2VkUGFydCA9IHByZXNzZWRQYXJ0OyB9Ci0gICAgdm9pZCBz
ZXRIb3ZlcmVkUGFydChTY3JvbGxiYXJQYXJ0IGhvdmVyZWRQYXJ0KSB7IG1faG92ZXJlZFBhcnQg
PSBob3ZlcmVkUGFydDsgfQotCi0gICAgdm9pZCBzZXRFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBt
X2VuYWJsZWQgPSBlbmFibGVkOyB9CisgICAgdm9pZCBzZXRTY3JvbGxiYXJEYXRhKGNvbnN0IFdl
YktpdDo6V2ViU2Nyb2xsYmFyKiwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5KTsK
IAogICAgIHZvaWQgc2V0QmFja1RyYWNrVGV4dHVyZUlkKHVuc2lnbmVkIGlkKSB7IG1fYmFja1Ry
YWNrVGV4dHVyZUlkID0gaWQ7IH0KICAgICB2b2lkIHNldEZvcmVUcmFja1RleHR1cmVJZCh1bnNp
Z25lZCBpZCkgeyBtX2ZvcmVUcmFja1RleHR1cmVJZCA9IGlkOyB9CkBAIC02OSw1NCArNjEsMjcg
QEAgcHJpdmF0ZToKICAgICBDQ0xheWVySW1wbCogbV9zY3JvbGxMYXllcjsKIAogICAgIC8vIG5l
c3RlZCBjbGFzcyBvbmx5IHRvIGF2b2lkIG5hbWVzcGFjZSBwcm9ibGVtCi0gICAgY2xhc3MgQ0NT
Y3JvbGxiYXIgOiBwdWJsaWMgU2Nyb2xsYmFyVGhlbWVDbGllbnQgeworICAgIGNsYXNzIENDU2Ny
b2xsYmFyIDogcHVibGljIFdlYktpdDo6V2ViU2Nyb2xsYmFyIHsKICAgICBwdWJsaWM6CiAgICAg
ICAgIGV4cGxpY2l0IENDU2Nyb2xsYmFyKENDU2Nyb2xsYmFyTGF5ZXJJbXBsKiBvd25lcikgOiBt
X293bmVyKG93bmVyKSB7IH0KIAotICAgICAgICAvLyBTY3JvbGxiYXJUaGVtZUNsaWVudCBpbXBs
ZW1lbnRhdGlvbgotICAgICAgICB2aXJ0dWFsIGludCB4KCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1
YWwgaW50IHkoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBpbnQgd2lkdGgoKSBjb25zdDsKLSAg
ICAgICAgdmlydHVhbCBpbnQgaGVpZ2h0KCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgSW50U2l6
ZSBzaXplKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgSW50UG9pbnQgbG9jYXRpb24oKSBjb25z
dDsKLQotICAgICAgICB2aXJ0dWFsIFNjcm9sbFZpZXcqIHBhcmVudCgpIGNvbnN0OwotICAgICAg
ICB2aXJ0dWFsIFNjcm9sbFZpZXcqIHJvb3QoKSBjb25zdDsKLQotICAgICAgICB2aXJ0dWFsIHZv
aWQgc2V0RnJhbWVSZWN0KGNvbnN0IEludFJlY3QmKTsKLSAgICAgICAgdmlydHVhbCBJbnRSZWN0
IGZyYW1lUmVjdCgpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKCk7
Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlUmVjdChjb25zdCBJbnRSZWN0Jik7Ci0K
LSAgICAgICAgdmlydHVhbCBTY3JvbGxiYXJPdmVybGF5U3R5bGUgc2Nyb2xsYmFyT3ZlcmxheVN0
eWxlKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBnZXRUaWNrbWFya3MoVmVjdG9yPElu
dFJlY3Q+JikgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbGFibGVBcmVhQWN0
aXZlKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbFZpZXdTY3JvbGxiYXIo
KSBjb25zdDsKLQotICAgICAgICB2aXJ0dWFsIEludFBvaW50IGNvbnZlcnRGcm9tQ29udGFpbmlu
Z1dpbmRvdyhjb25zdCBJbnRQb2ludCYgd2luZG93UG9pbnQpOwotCi0gICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0N1c3RvbVNjcm9sbGJhcigpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIFNjcm9sbGJh
ck9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3Q7Ci0KKyAgICAgICAgLy8gV2ViU2Nyb2xs
YmFyIGltcGxlbWVudGF0aW9uCisgICAgICAgIHZpcnR1YWwgYm9vbCBpc092ZXJsYXkoKSBjb25z
dDsKICAgICAgICAgdmlydHVhbCBpbnQgdmFsdWUoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBm
bG9hdCBjdXJyZW50UG9zKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgaW50IHZpc2libGVTaXpl
KCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgaW50IHRvdGFsU2l6ZSgpIGNvbnN0OwotICAgICAg
ICB2aXJ0dWFsIGludCBtYXhpbXVtKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgU2Nyb2xsYmFy
Q29udHJvbFNpemUgY29udHJvbFNpemUoKSBjb25zdDsKLQotICAgICAgICB2aXJ0dWFsIGludCBs
aW5lU3RlcCgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGludCBwYWdlU3RlcCgpIGNvbnN0Owot
Ci0gICAgICAgIHZpcnR1YWwgU2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCgpIGNvbnN0OwotICAg
ICAgICB2aXJ0dWFsIFNjcm9sbGJhclBhcnQgaG92ZXJlZFBhcnQoKSBjb25zdDsKLQotICAgICAg
ICB2aXJ0dWFsIHZvaWQgc3R5bGVDaGFuZ2VkKCk7Ci0KKyAgICAgICAgdmlydHVhbCBXZWJLaXQ6
OldlYlBvaW50IGxvY2F0aW9uKCkgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJT
aXplIHNpemUoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGVuYWJsZWQoKSBjb25zdDsK
LSAgICAgICAgdmlydHVhbCB2b2lkIHNldEVuYWJsZWQoYm9vbCk7CisgICAgICAgIHZpcnR1YWwg
aW50IG1heGltdW0oKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBpbnQgdG90YWxTaXplKCkgY29u
c3Q7CisgICAgICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBjb25zdDsK
KyAgICAgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSBjb25zdDsKKyAg
ICAgICAgdmlydHVhbCB2b2lkIGdldFRpY2ttYXJrcyhXZWJLaXQ6OldlYlZlY3RvcjxXZWJLaXQ6
OldlYlJlY3Q+JiB0aWNrbWFya3MpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIFdlYlNjcm9sbGJh
cjo6U2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUoKSBjb25zdDsKKyAgICAgICAgdmly
dHVhbCBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQoKSBjb25zdDsKKyAg
ICAgICAgdmlydHVhbCBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBhcnQgaG92ZXJlZFBhcnQoKSBj
b25zdDsKKyAgICAgICAgdmlydHVhbCBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlTdHls
ZSBzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBXZWJTY3Jv
bGxiYXI6Ok9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3Q7CisgICAgICAgIHZpcnR1YWwg
Ym9vbCBpc0N1c3RvbVNjcm9sbGJhcigpIGNvbnN0OwogCiAgICAgcHJpdmF0ZToKICAgICAgICAg
Q0NTY3JvbGxiYXJMYXllckltcGwqIG1fb3duZXI7CkBAIC0xMjgsMTkgKzkzLDIwIEBAIHByaXZh
dGU6CiAgICAgdW5zaWduZWQgbV9mb3JlVHJhY2tUZXh0dXJlSWQ7CiAgICAgdW5zaWduZWQgbV90
aHVtYlRleHR1cmVJZDsKIAotICAgIFNjcm9sbGJhck92ZXJsYXlTdHlsZSBtX3Njcm9sbGJhck92
ZXJsYXlTdHlsZTsKLSAgICBWZWN0b3I8SW50UmVjdD4gbV90aWNrbWFya3M7CisgICAgV2ViS2l0
OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IG1fZ2VvbWV0cnk7CisKKyAgICAvLyBEYXRhIHRv
IGltcGxlbWVudCBDQ1Njcm9sbGJhcgorICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyOjpTY3JvbGxi
YXJPdmVybGF5U3R5bGUgbV9zY3JvbGxiYXJPdmVybGF5U3R5bGU7CisgICAgV2ViS2l0OjpXZWJW
ZWN0b3I8V2ViS2l0OjpXZWJSZWN0PiBtX3RpY2ttYXJrczsKKyAgICBXZWJLaXQ6OldlYlNjcm9s
bGJhcjo6T3JpZW50YXRpb24gbV9vcmllbnRhdGlvbjsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJh
cjo6U2Nyb2xsYmFyQ29udHJvbFNpemUgbV9jb250cm9sU2l6ZTsKKyAgICBXZWJLaXQ6OldlYlNj
cm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBtX3ByZXNzZWRQYXJ0OworICAgIFdlYktpdDo6V2ViU2Ny
b2xsYmFyOjpTY3JvbGxiYXJQYXJ0IG1faG92ZXJlZFBhcnQ7CiAgICAgYm9vbCBtX2lzU2Nyb2xs
YWJsZUFyZWFBY3RpdmU7CiAgICAgYm9vbCBtX2lzU2Nyb2xsVmlld1Njcm9sbGJhcjsKLQotICAg
IFNjcm9sbGJhck9yaWVudGF0aW9uIG1fb3JpZW50YXRpb247Ci0KLSAgICBTY3JvbGxiYXJDb250
cm9sU2l6ZSBtX2NvbnRyb2xTaXplOwotCi0gICAgU2Nyb2xsYmFyUGFydCBtX3ByZXNzZWRQYXJ0
OwotICAgIFNjcm9sbGJhclBhcnQgbV9ob3ZlcmVkUGFydDsKLQogICAgIGJvb2wgbV9lbmFibGVk
OworICAgIGJvb2wgbV9pc0N1c3RvbVNjcm9sbGJhcjsKKyAgICBib29sIG1faXNPdmVybGF5U2Ny
b2xsYmFyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJL
aXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IDZmY2U0NDA3
NTg3ODNhM2UyZDE5MmU4YTNjZTk3YjBkMjdhMGE0YjcuLmEzZTU0NmVjYWI4NzE5MzVhMDE2MTY4
MmFiZTE4YmY0MzZiNzk4NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2Vi
S2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTYzMCw2
ICs2MzAsMTIgQEAKICAgICAgICAgICAgICAgICAnc3JjL1dlYlNjb3BlZFVzZXJHZXN0dXJlLmNw
cCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JpcHRDb250cm9sbGVyLmNwcCcsCiAgICAg
ICAgICAgICAgICAgJ3NyYy9XZWJTY3JvbGxhYmxlTGF5ZXIuY3BwJywKKyAgICAgICAgICAgICAg
ICAnc3JjL1dlYlNjcm9sbGJhckltcGwuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYlNj
cm9sbGJhckltcGwuaCcsCisgICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JvbGxiYXJUaGVtZUNs
aWVudEltcGwuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYlNjcm9sbGJhclRoZW1lQ2xp
ZW50SW1wbC5oJywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0
cnkuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5j
cHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViU2VhcmNoYWJsZUZvcm1EYXRhLmNwcCcsCiAg
ICAgICAgICAgICAgICAgJ3NyYy9XZWJTZWN1cml0eU9yaWdpbi5jcHAnLAogICAgICAgICAgICAg
ICAgICdzcmMvV2ViU2VjdXJpdHlQb2xpY3kuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0V4dGVybmFsUG9wdXBNZW51LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9FeHRlcm5hbFBvcHVwTWVudS5oCmluZGV4IGFlZmQzNWUxMjkzZjg3NDI1YmUwMjEy
Njg1Nzk2MzU5OGUwNmVkYzguLmI1NTJjZmMzZmRhOGRiNzAwODM1MWY4YzI4NWYwOTM1YTI4Y2E0
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0V4dGVybmFsUG9wdXBN
ZW51LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1lbnUu
aApAQCAtMzMsNiArMzMsOCBAQAogCiAjaW5jbHVkZSAiUG9wdXBNZW51LmgiCiAjaW5jbHVkZSAi
V2ViRXh0ZXJuYWxQb3B1cE1lbnVDbGllbnQuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViQ2FudmFz
Lmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBjbGFzcyBGcmFtZVZpZXc7CkBAIC00NSw2ICs0Nyw4IEBAIG5hbWVzcGFjZSBXZWJLaXQg
ewogY2xhc3MgV2ViRXh0ZXJuYWxQb3B1cE1lbnU7CiBjbGFzcyBXZWJWaWV3Q2xpZW50Owogc3Ry
dWN0IFdlYlBvcHVwTWVudUluZm87CitjbGFzcyBXZWJJbnB1dEV2ZW50OworY2xhc3MgV2ViUmVj
dDsKIAogLy8gVGhlIEV4dGVybmFsUG9wdXBNZW51IGNvbm5lY3RzIHRoZSBhY3R1YWwgaW1wbGVt
ZW50YXRpb24gb2YgdGhlIHBvcHVwIG1lbnUKIC8vIHRvIHRoZSBXZWJDb3JlIHBvcHVwIG1lbnUu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5TY3JvbGxi
YXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpblNjcm9sbGJh
ckltcGwuY3BwCmluZGV4IGIwZjYzYTdlNGEwZDYxMzE0YmE1MmI4ZjI2OGE0ZTY0NDkzNWQ4MGEu
LmYzNGRiZmRjN2U5ZWEyMjk2MTkxZmNmNmNhNGViN2EwMzYxYmJlZTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpblNjcm9sbGJhckltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpblNjcm9sbGJhckltcGwuY3BwCkBA
IC02OSw4ICs2OSw4IEBAIFdlYlBsdWdpblNjcm9sbGJhckltcGw6OldlYlBsdWdpblNjcm9sbGJh
ckltcGwoT3JpZW50YXRpb24gb3JpZW50YXRpb24sCiB7CiAgICAgbV9zY3JvbGxiYXIgPSBTY3Jv
bGxiYXI6OmNyZWF0ZU5hdGl2ZVNjcm9sbGJhcigKICAgICAgICAgc3RhdGljX2Nhc3Q8U2Nyb2xs
YWJsZUFyZWEqPihtX2dyb3VwKSwKLSAgICAgICAgc3RhdGljX2Nhc3Q8U2Nyb2xsYmFyT3JpZW50
YXRpb24+KG9yaWVudGF0aW9uKSwKLSAgICAgICAgUmVndWxhclNjcm9sbGJhcik7CisgICAgICAg
IHN0YXRpY19jYXN0PFdlYkNvcmU6OlNjcm9sbGJhck9yaWVudGF0aW9uPihvcmllbnRhdGlvbiks
CisgICAgICAgIFdlYkNvcmU6OlJlZ3VsYXJTY3JvbGxiYXIpOwogICAgIG1fZ3JvdXAtPnNjcm9s
bGJhckNyZWF0ZWQodGhpcyk7CiB9CiAKQEAgLTEyMyw2ICsxMjMsNzggQEAgaW50IFdlYlBsdWdp
blNjcm9sbGJhckltcGw6OnZhbHVlKCkgY29uc3QKICAgICByZXR1cm4gbV9zY3JvbGxPZmZzZXQ7
CiB9CiAKK1dlYlBvaW50IFdlYlBsdWdpblNjcm9sbGJhckltcGw6OmxvY2F0aW9uKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmZyYW1lUmVjdCgpLmxvY2F0aW9uKCk7Cit9CisK
K1dlYlNpemUgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6c2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fc2Nyb2xsYmFyLT5mcmFtZVJlY3QoKS5zaXplKCk7Cit9CisKK2Jvb2wgV2ViUGx1Z2lu
U2Nyb2xsYmFySW1wbDo6ZW5hYmxlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFy
LT5lbmFibGVkKCk7Cit9CisKK2ludCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjptYXhpbXVtKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPm1heGltdW0oKTsKK30KKworaW50IFdl
YlBsdWdpblNjcm9sbGJhckltcGw6OnRvdGFsU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
c2Nyb2xsYmFyLT50b3RhbFNpemUoKTsKK30KKworYm9vbCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBs
Ojppc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJh
ci0+aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCk7Cit9CisKK2Jvb2wgV2ViUGx1Z2luU2Nyb2xsYmFy
SW1wbDo6aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Ny
b2xsYmFyLT5pc1Njcm9sbGFibGVBcmVhQWN0aXZlKCk7Cit9CisKK3ZvaWQgV2ViUGx1Z2luU2Ny
b2xsYmFySW1wbDo6Z2V0VGlja21hcmtzKFdlYlZlY3RvcjxXZWJSZWN0PiYgdGlja21hcmtzKSBj
b25zdAoreworICAgIG1fY2xpZW50LT5nZXRUaWNrbWFya3MoY29uc3RfY2FzdDxXZWJQbHVnaW5T
Y3JvbGxiYXJJbXBsKj4odGhpcyksICZ0aWNrbWFya3MpOworfQorCitXZWJTY3JvbGxiYXI6OlNj
cm9sbGJhckNvbnRyb2xTaXplIFdlYlBsdWdpblNjcm9sbGJhckltcGw6OmNvbnRyb2xTaXplKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJD
b250cm9sU2l6ZT4obV9zY3JvbGxiYXItPmNvbnRyb2xTaXplKCkpOworfQorCitXZWJTY3JvbGxi
YXI6OlNjcm9sbGJhclBhcnQgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6cHJlc3NlZFBhcnQoKSBj
b25zdAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBh
cnQ+KG1fc2Nyb2xsYmFyLT5wcmVzc2VkUGFydCgpKTsKK30KKworV2ViU2Nyb2xsYmFyOjpTY3Jv
bGxiYXJQYXJ0IFdlYlBsdWdpblNjcm9sbGJhckltcGw6OmhvdmVyZWRQYXJ0KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0PihtX3Nj
cm9sbGJhci0+aG92ZXJlZFBhcnQoKSk7Cit9CisKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyT3Zl
cmxheVN0eWxlIFdlYlBsdWdpblNjcm9sbGJhckltcGw6OnNjcm9sbGJhck92ZXJsYXlTdHlsZSgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFy
T3ZlcmxheVN0eWxlPihtX3Njcm9sbGJhci0+c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkpOworfQor
CitXZWJTY3JvbGxiYXI6Ok9yaWVudGF0aW9uIFdlYlBsdWdpblNjcm9sbGJhckltcGw6Om9yaWVu
dGF0aW9uKCkgY29uc3QKK3sKKyAgICBpZiAobV9zY3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0g
V2ViQ29yZTo6SG9yaXpvbnRhbFNjcm9sbGJhcikKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJh
cjo6SG9yaXpvbnRhbDsKKyAgICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpWZXJ0aWNhbDsKK30KKwor
Ym9vbCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjppc0N1c3RvbVNjcm9sbGJhcigpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5pc0N1c3RvbVNjcm9sbGJhcigpOworfQorCiB2b2lk
IFdlYlBsdWdpblNjcm9sbGJhckltcGw6OnNldExvY2F0aW9uKGNvbnN0IFdlYlJlY3QmIHJlY3Qp
CiB7CiAgICAgSW50UmVjdCBvbGRSZWN0ID0gbV9zY3JvbGxiYXItPmZyYW1lUmVjdCgpOwpAQCAt
MjExLDcgKzI4Myw3IEBAIGJvb2wgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6b25Nb3VzZURvd24o
Y29uc3QgV2ViSW5wdXRFdmVudCYgZXZlbnQpCiBib29sIFdlYlBsdWdpblNjcm9sbGJhckltcGw6
Om9uTW91c2VVcChjb25zdCBXZWJJbnB1dEV2ZW50JiBldmVudCkKIHsKICAgICBXZWJNb3VzZUV2
ZW50IG1vdXNldXAgPSAqc3RhdGljX2Nhc3Q8Y29uc3QgV2ViTW91c2VFdmVudCo+KCZldmVudCk7
Ci0gICAgaWYgKG1fc2Nyb2xsYmFyLT5wcmVzc2VkUGFydCgpID09IE5vUGFydCkKKyAgICBpZiAo
bV9zY3JvbGxiYXItPnByZXNzZWRQYXJ0KCkgPT0gV2ViQ29yZTo6Tm9QYXJ0KQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gbV9zY3JvbGxiYXItPm1vdXNlVXAoUGxhdGZvcm1N
b3VzZUV2ZW50QnVpbGRlcihtX3Njcm9sbGJhci5nZXQoKSwgbW91c2V1cCkpOwpAQCAtMjIxLDIw
ICsyOTMsMjAgQEAgYm9vbCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpvbk1vdXNlTW92ZShjb25z
dCBXZWJJbnB1dEV2ZW50JiBldmVudCkKIHsKICAgICBXZWJNb3VzZUV2ZW50IG1vdXNlbW92ZSA9
ICpzdGF0aWNfY2FzdDxjb25zdCBXZWJNb3VzZUV2ZW50Kj4oJmV2ZW50KTsKICAgICBpZiAobV9z
Y3JvbGxiYXItPmZyYW1lUmVjdCgpLmNvbnRhaW5zKG1vdXNlbW92ZS54LCBtb3VzZW1vdmUueSkK
LSAgICAgICAgfHwgbV9zY3JvbGxiYXItPnByZXNzZWRQYXJ0KCkgIT0gTm9QYXJ0KSB7CisgICAg
ICAgIHx8IG1fc2Nyb2xsYmFyLT5wcmVzc2VkUGFydCgpICE9IFdlYkNvcmU6Ok5vUGFydCkgewog
ICAgICAgICBtb3VzZW1vdmUueCAtPSBtX3Njcm9sbGJhci0+eCgpOwogICAgICAgICBtb3VzZW1v
dmUueSAtPSBtX3Njcm9sbGJhci0+eSgpOwogICAgICAgICByZXR1cm4gbV9zY3JvbGxiYXItPm1v
dXNlTW92ZWQoUGxhdGZvcm1Nb3VzZUV2ZW50QnVpbGRlcihtX3Njcm9sbGJhci5nZXQoKSwgbW91
c2Vtb3ZlKSk7CiAgICAgfQogCi0gICAgaWYgKG1fc2Nyb2xsYmFyLT5ob3ZlcmVkUGFydCgpICE9
IE5vUGFydCAmJiAhbV9zY3JvbGxiYXItPmlzT3ZlcmxheVNjcm9sbGJhcigpKQorICAgIGlmICht
X3Njcm9sbGJhci0+aG92ZXJlZFBhcnQoKSAhPSBXZWJDb3JlOjpOb1BhcnQgJiYgIW1fc2Nyb2xs
YmFyLT5pc092ZXJsYXlTY3JvbGxiYXIoKSkKICAgICAgICAgbV9zY3JvbGxiYXItPm1vdXNlRXhp
dGVkKCk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiBib29sIFdlYlBsdWdpblNjcm9sbGJhcklt
cGw6Om9uTW91c2VMZWF2ZShjb25zdCBXZWJJbnB1dEV2ZW50JiBldmVudCkKIHsKLSAgICBpZiAo
bV9zY3JvbGxiYXItPmhvdmVyZWRQYXJ0KCkgIT0gTm9QYXJ0KQorICAgIGlmIChtX3Njcm9sbGJh
ci0+aG92ZXJlZFBhcnQoKSAhPSBXZWJDb3JlOjpOb1BhcnQpCiAgICAgICAgIG1fc2Nyb2xsYmFy
LT5tb3VzZUV4aXRlZCgpOwogCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luU2Nyb2xsYmFySW1wbC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luU2Nyb2xsYmFySW1wbC5oCmluZGV4IGI0MmNiODJm
ZDk1YjNmZThmMjY2ZmQyZGQ3MWYxNTJlMTcwMjU0MzkuLmEzNDc5MTE3MjQ3YjU4Y2FjMjFhZmJh
MWE1YTJmNjc0ZDEzY2E3YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlBsdWdpblNjcm9sbGJhckltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJQbHVnaW5TY3JvbGxiYXJJbXBsLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBzZXRTY3JvbGxPZmZzZXQoaW50KTsKICAgICB2b2lkIGludmFsaWRhdGVTY3JvbGxi
YXJSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKyAgICAvLyBGSVhNRTogQ29tYmluZSB0
aGlzIHdpdGggdGhlIG90aGVyIGdldFRpY2ttYXJrcyBtZXRob2QKICAgICB2b2lkIGdldFRpY2tt
YXJrcyhWZWN0b3I8V2ViQ29yZTo6SW50UmVjdD4mKSBjb25zdDsKICAgICBXZWJDb3JlOjpJbnRQ
b2ludCBjb252ZXJ0RnJvbUNvbnRhaW5pbmdWaWV3VG9TY3JvbGxiYXIoY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmIHBhcmVudFBvaW50KSBjb25zdDsKICAgICB2b2lkIHNjcm9sbGJhclN0eWxlQ2hh
bmdlZCgpOwpAQCAtNTksNiArNjAsMjAgQEAgcHVibGljOgogICAgIC8vIFdlYktpdDo6V2ViU2Ny
b2xsYmFyIG1ldGhvZHMKICAgICB2aXJ0dWFsIGJvb2wgaXNPdmVybGF5KCkgY29uc3Q7CiAgICAg
dmlydHVhbCBpbnQgdmFsdWUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYlBvaW50IGxvY2F0aW9u
KCkgY29uc3Q7CisgICAgdmlydHVhbCBXZWJTaXplIHNpemUoKSBjb25zdDsKKyAgICB2aXJ0dWFs
IGJvb2wgZW5hYmxlZCgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IG1heGltdW0oKSBjb25zdDsK
KyAgICB2aXJ0dWFsIGludCB0b3RhbFNpemUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNT
Y3JvbGxWaWV3U2Nyb2xsYmFyKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsYWJs
ZUFyZWFBY3RpdmUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0VGlja21hcmtzKFdlYlZl
Y3RvcjxXZWJSZWN0PiYgdGlja21hcmtzKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYlNjcm9sbGJh
cjo6U2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUoKSBjb25zdDsKKyAgICB2aXJ0dWFs
IFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCgpIGNvbnN0OworICAgIHZp
cnR1YWwgV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0IGhvdmVyZWRQYXJ0KCkgY29uc3Q7Cisg
ICAgdmlydHVhbCBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlTdHlsZSBzY3JvbGxiYXJP
dmVybGF5U3R5bGUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYlNjcm9sbGJhcjo6T3JpZW50YXRp
b24gb3JpZW50YXRpb24oKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNDdXN0b21TY3JvbGxi
YXIoKSBjb25zdDsKIAogICAgIC8vIFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFyIG1ldGhvZHMK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0TG9jYXRpb24oY29uc3QgV2ViUmVjdCYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFySW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJJbXBsLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
Yzg3NzY0YmZmMjQzMzRiOTE4ZWI1NzA2N2NhNTVjYTdlZWNkODk3Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFySW1wbC5jcHAKQEAgLTAs
MCArMSwxODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1
ZGUgIldlYlNjcm9sbGJhckltcGwuaCIKKworI2luY2x1ZGUgIkludFJlY3QuaCIKKyNpbmNsdWRl
ICJTY3JvbGxiYXIuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1Bhc3NPd25QdHI8V2ViU2Ny
b2xsYmFyPiBXZWJTY3JvbGxiYXI6OmNyZWF0ZShXZWJDb3JlOjpTY3JvbGxiYXIqIHNjcm9sbGJh
cikKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFdlYlNjcm9sbGJhckltcGwoc2Nyb2xsYmFy
KSk7Cit9CisKK1dlYlNjcm9sbGJhckltcGw6OldlYlNjcm9sbGJhckltcGwoV2ViQ29yZTo6U2Ny
b2xsYmFyKiBzY3JvbGxiYXIpCisgICAgOiBtX3Njcm9sbGJhcihzY3JvbGxiYXIpCit7Cit9CisK
K2Jvb2wgV2ViU2Nyb2xsYmFySW1wbDo6aXNPdmVybGF5KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9zY3JvbGxiYXItPmlzT3ZlcmxheVNjcm9sbGJhcigpOworfQorCitpbnQgV2ViU2Nyb2xsYmFy
SW1wbDo6dmFsdWUoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+dmFsdWUoKTsK
K30KKworV2ViUG9pbnQgV2ViU2Nyb2xsYmFySW1wbDo6bG9jYXRpb24oKSBjb25zdAoreworICAg
IHJldHVybiBtX3Njcm9sbGJhci0+bG9jYXRpb24oKTsKK30KKworV2ViU2l6ZSBXZWJTY3JvbGxi
YXJJbXBsOjpzaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPnNpemUoKTsK
K30KKworYm9vbCBXZWJTY3JvbGxiYXJJbXBsOjplbmFibGVkKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9zY3JvbGxiYXItPmVuYWJsZWQoKTsKK30KKworaW50IFdlYlNjcm9sbGJhckltcGw6Om1h
eGltdW0oKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+bWF4aW11bSgpOworfQor
CitpbnQgV2ViU2Nyb2xsYmFySW1wbDo6dG90YWxTaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9zY3JvbGxiYXItPnRvdGFsU2l6ZSgpOworfQorCitib29sIFdlYlNjcm9sbGJhckltcGw6Omlz
U2Nyb2xsVmlld1Njcm9sbGJhcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5p
c1Njcm9sbFZpZXdTY3JvbGxiYXIoKTsKK30KKworYm9vbCBXZWJTY3JvbGxiYXJJbXBsOjppc1Nj
cm9sbGFibGVBcmVhQWN0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmlz
U2Nyb2xsYWJsZUFyZWFBY3RpdmUoKTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJJbXBsOjpnZXRU
aWNrbWFya3MoV2ViVmVjdG9yPFdlYlJlY3Q+JiB3ZWJUaWNrbWFya3MpIGNvbnN0Cit7CisgICAg
VmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+IHRpY2ttYXJrczsKKyAgICBtX3Njcm9sbGJhci0+Z2V0
VGlja21hcmtzKHRpY2ttYXJrcyk7CisKKyAgICBXZWJWZWN0b3I8V2ViUmVjdD4gcmVzdWx0KHRp
Y2ttYXJrcy5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdGlja21hcmtzLnNp
emUoKTsgKytpKQorICAgICAgICByZXN1bHRbaV0gPSB0aWNrbWFya3NbaV07CisKKyAgICB3ZWJU
aWNrbWFya3Muc3dhcChyZXN1bHQpOworfQorCitXZWJTY3JvbGxiYXI6OlNjcm9sbGJhckNvbnRy
b2xTaXplIFdlYlNjcm9sbGJhckltcGw6OmNvbnRyb2xTaXplKCkgY29uc3QKK3sKKyAgICBzd2l0
Y2ggKG1fc2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpKSB7CisgICAgZGVmYXVsdDoKKyAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgY2FzZSBXZWJDb3JlOjpSZWd1bGFyU2Nyb2xsYmFy
OgorICAgICAgICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpSZWd1bGFyU2Nyb2xsYmFyOworICAgIGNh
c2UgV2ViQ29yZTo6U21hbGxTY3JvbGxiYXI6CisgICAgICAgIHJldHVybiBXZWJTY3JvbGxiYXI6
OlNtYWxsU2Nyb2xsYmFyOworICAgIH0KK30KKworc3RhdGljIFdlYlNjcm9sbGJhcjo6U2Nyb2xs
YmFyUGFydCB0b1dlYlNjcm9sbGJhclBhcnQoV2ViQ29yZTo6U2Nyb2xsYmFyUGFydCBwYXJ0KQor
eworICAgIHN3aXRjaCAocGFydCkgeworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgIGNhc2UgV2ViQ29yZTo6Tm9QYXJ0OgorICAgICAgICByZXR1cm4gV2Vi
U2Nyb2xsYmFyOjpOb1BhcnQ7CisgICAgY2FzZSBXZWJDb3JlOjpCYWNrQnV0dG9uU3RhcnRQYXJ0
OgorICAgICAgICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpCYWNrQnV0dG9uU3RhcnRQYXJ0OworICAg
IGNhc2UgV2ViQ29yZTo6Rm9yd2FyZEJ1dHRvblN0YXJ0UGFydDoKKyAgICAgICAgcmV0dXJuIFdl
YlNjcm9sbGJhcjo6Rm9yd2FyZEJ1dHRvblN0YXJ0UGFydDsKKyAgICBjYXNlIFdlYkNvcmU6OkJh
Y2tUcmFja1BhcnQ6CisgICAgICAgIHJldHVybiBXZWJTY3JvbGxiYXI6OkJhY2tUcmFja1BhcnQ7
CisgICAgY2FzZSBXZWJDb3JlOjpUaHVtYlBhcnQ6CisgICAgICAgIHJldHVybiBXZWJTY3JvbGxi
YXI6OlRodW1iUGFydDsKKyAgICBjYXNlIFdlYkNvcmU6OkZvcndhcmRUcmFja1BhcnQ6CisgICAg
ICAgIHJldHVybiBXZWJTY3JvbGxiYXI6OkZvcndhcmRUcmFja1BhcnQ7CisgICAgY2FzZSBXZWJD
b3JlOjpCYWNrQnV0dG9uRW5kUGFydDoKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJhcjo6QmFj
a0J1dHRvbkVuZFBhcnQ7CisgICAgY2FzZSBXZWJDb3JlOjpGb3J3YXJkQnV0dG9uRW5kUGFydDoK
KyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJhcjo6Rm9yd2FyZEJ1dHRvbkVuZFBhcnQ7CisgICAg
Y2FzZSBXZWJDb3JlOjpTY3JvbGxiYXJCR1BhcnQ6CisgICAgICAgIHJldHVybiBXZWJTY3JvbGxi
YXI6OlNjcm9sbGJhckJHUGFydDsKKyAgICBjYXNlIFdlYkNvcmU6OlRyYWNrQkdQYXJ0OgorICAg
ICAgICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpUcmFja0JHUGFydDsKKyAgICBjYXNlIFdlYkNvcmU6
OkFsbFBhcnRzOgorICAgICAgICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpBbGxQYXJ0czsKKyAgICB9
Cit9CisKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBXZWJTY3JvbGxiYXJJbXBsOjpwcmVz
c2VkUGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRvV2ViU2Nyb2xsYmFyUGFydChtX3Njcm9s
bGJhci0+cHJlc3NlZFBhcnQoKSk7Cit9CisKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBX
ZWJTY3JvbGxiYXJJbXBsOjpob3ZlcmVkUGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRvV2Vi
U2Nyb2xsYmFyUGFydChtX3Njcm9sbGJhci0+aG92ZXJlZFBhcnQoKSk7Cit9CisKK1dlYlNjcm9s
bGJhcjo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlIFdlYlNjcm9sbGJhckltcGw6OnNjcm9sbGJhck92
ZXJsYXlTdHlsZSgpIGNvbnN0Cit7CisgICAgc3dpdGNoIChtX3Njcm9sbGJhci0+c2Nyb2xsYmFy
T3ZlcmxheVN0eWxlKCkpIHsKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbGJhck92ZXJsYXlTdHlsZURlZmF1bHQ6Cisg
ICAgICAgIHJldHVybiBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlTdHlsZURlZmF1bHQ7
CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxiYXJPdmVybGF5U3R5bGVEYXJrOgorICAgICAgICBy
ZXR1cm4gV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5U3R5bGVEYXJrOworICAgIGNhc2Ug
V2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlTGlnaHQ6CisgICAgICAgIHJldHVybiBXZWJT
Y3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlTdHlsZUxpZ2h0OworICAgIH0KK30KKworV2ViU2Ny
b2xsYmFyOjpPcmllbnRhdGlvbiBXZWJTY3JvbGxiYXJJbXBsOjpvcmllbnRhdGlvbigpIGNvbnN0
Cit7CisgICAgc3dpdGNoIChtX3Njcm9sbGJhci0+b3JpZW50YXRpb24oKSkgeworICAgIGRlZmF1
bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGNhc2UgV2ViQ29yZTo6SG9y
aXpvbnRhbFNjcm9sbGJhcjoKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJhcjo6SG9yaXpvbnRh
bDsKKyAgICBjYXNlIFdlYkNvcmU6OlZlcnRpY2FsU2Nyb2xsYmFyOgorICAgICAgICByZXR1cm4g
V2ViU2Nyb2xsYmFyOjpWZXJ0aWNhbDsKKyAgICB9Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFySW1w
bDo6aXNDdXN0b21TY3JvbGxiYXIoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+
aXNDdXN0b21TY3JvbGxiYXIoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJJbXBsLmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJJbXBsLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTc4
ZjliMDk5MmJhZWNmOWQyNzAxNTUyNTYzYzExNmYyMzhhODk5MwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhckltcGwuaApAQCAtMCwwICsx
LDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlNjcm9sbGJhckltcGxfaAorI2RlZmlu
ZSBXZWJTY3JvbGxiYXJJbXBsX2gKKworI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXIuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgU2Nyb2xsYmFyOworfQorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworY2xhc3MgV2ViU2Nyb2xsYmFySW1wbCA6IHB1YmxpYyBXZWJTY3JvbGxiYXIg
eworcHVibGljOgorICAgIFdlYlNjcm9sbGJhckltcGwoV2ViQ29yZTo6U2Nyb2xsYmFyKik7CisK
KyAgICAvLyBJbXBsZW1lbnQgV2ViS2l0OjpXZWJTY3JvbGxiYXIgbWV0aG9kcworICAgIHZpcnR1
YWwgYm9vbCBpc092ZXJsYXkoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGludCB2YWx1ZSgpIGNvbnN0
OworICAgIHZpcnR1YWwgV2ViUG9pbnQgbG9jYXRpb24oKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdl
YlNpemUgc2l6ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBlbmFibGVkKCkgY29uc3Q7Cisg
ICAgdmlydHVhbCBpbnQgbWF4aW11bSgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHRvdGFsU2l6
ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgpIGNvbnN0OworICAg
IHZpcnR1YWwgdm9pZCBnZXRUaWNrbWFya3MoV2ViVmVjdG9yPFdlYlJlY3Q+JiB0aWNrbWFya3Mp
IGNvbnN0OworICAgIHZpcnR1YWwgU2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUoKSBj
b25zdDsKKyAgICB2aXJ0dWFsIFNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQoKSBjb25zdDsKKyAg
ICB2aXJ0dWFsIFNjcm9sbGJhclBhcnQgaG92ZXJlZFBhcnQoKSBjb25zdDsKKyAgICB2aXJ0dWFs
IFNjcm9sbGJhck92ZXJsYXlTdHlsZSBzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdDsKKyAg
ICB2aXJ0dWFsIE9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3Q7CisgICAgdmlydHVhbCBi
b29sIGlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPFdl
YkNvcmU6OlNjcm9sbGJhcj4gbV9zY3JvbGxiYXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJT
Y3JvbGxiYXJUaGVtZUNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNjAyNjE4MDk1NmE0
Njg3NjZhZTMzODdkMDRlOWVjNzhmZmE1OTMzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsLmNwcApAQCAtMCww
ICsxLDI3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
CisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisg
KiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgIldlYlNj
cm9sbGJhclRoZW1lQ2xpZW50SW1wbC5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK1dlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6V2ViU2Ny
b2xsYmFyVGhlbWVDbGllbnRJbXBsKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQorICAgIDogbV9z
Y3JvbGxiYXIoc2Nyb2xsYmFyKQoreworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJ
bXBsOjp4KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbG9jYXRpb24oKS54KCk7Cit9CisKK2ludCBX
ZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnkoKSBjb25zdAoreworICAgIHJldHVybiBsb2Nh
dGlvbigpLnkoKTsKK30KKworaW50IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6d2lkdGgo
KSBjb25zdAoreworICAgIHJldHVybiBzaXplKCkud2lkdGgoKTsKK30KKworaW50IFdlYlNjcm9s
bGJhclRoZW1lQ2xpZW50SW1wbDo6aGVpZ2h0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc2l6ZSgp
LmhlaWdodCgpOworfQorCitJbnRTaXplIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6c2l6
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5zaXplKCk7Cit9CisKK0ludFBv
aW50IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6bG9jYXRpb24oKSBjb25zdAoreworICAg
IHJldHVybiBtX3Njcm9sbGJhci0+bG9jYXRpb24oKTsKK30KKworU2Nyb2xsVmlldyogV2ViU2Ny
b2xsYmFyVGhlbWVDbGllbnRJbXBsOjpwYXJlbnQoKSBjb25zdAoreworICAgIC8vIFVudXNlZCBi
eSBDaHJvbWl1bSBzY3JvbGxiYXIgdGhlbWVzLgorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIHJldHVybiAwOworfQorCitTY3JvbGxWaWV3KiBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudElt
cGw6OnJvb3QoKSBjb25zdAoreworICAgIC8vIFVudXNlZCBieSBDaHJvbWl1bSBzY3JvbGxiYXIg
dGhlbWVzLgorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQorCit2
b2lkIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6c2V0RnJhbWVSZWN0KGNvbnN0IEludFJl
Y3QmKQoreworICAgIC8vIFVudXNlZCBieSBDaHJvbWl1bSBzY3JvbGxiYXIgdGhlbWVzLgorICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitJbnRSZWN0IFdlYlNjcm9sbGJhclRoZW1lQ2xp
ZW50SW1wbDo6ZnJhbWVSZWN0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW50UmVjdChsb2NhdGlv
bigpLCBzaXplKCkpOworfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aW52
YWxpZGF0ZSgpCit7CisgICAgLy8gVW51c2VkIGJ5IENocm9taXVtIHNjcm9sbGJhciB0aGVtZXMu
CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsOjppbnZhbGlkYXRlUmVjdChjb25zdCBJbnRSZWN0JikKK3sKKyAgICAvLyBVbnVz
ZWQgYnkgQ2hyb21pdW0gc2Nyb2xsYmFyIHRoZW1lcy4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKK30KKworV2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlIFdlYlNjcm9sbGJhclRoZW1l
Q2xpZW50SW1wbDo6c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkgY29uc3QKK3sKKyAgICBzd2l0Y2gg
KG1fc2Nyb2xsYmFyLT5zY3JvbGxiYXJPdmVybGF5U3R5bGUoKSkgeworICAgIGRlZmF1bHQ6Cisg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpTY3Jv
bGxiYXJPdmVybGF5U3R5bGVEZWZhdWx0OgorICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xs
YmFyT3ZlcmxheVN0eWxlRGVmYXVsdDsKKyAgICBjYXNlIFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFy
T3ZlcmxheVN0eWxlRGFyazoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbGJhck92ZXJs
YXlTdHlsZURhcms7CisgICAgY2FzZSBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlTdHls
ZUxpZ2h0OgorICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlTGln
aHQ7CisgICAgfQorfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6Z2V0VGlj
a21hcmtzKFZlY3RvcjxJbnRSZWN0PiYgdGlja21hcmtzKSBjb25zdAoreworICAgIFdlYlZlY3Rv
cjxXZWJSZWN0PiB3ZWJUaWNrbWFya3M7CisgICAgbV9zY3JvbGxiYXItPmdldFRpY2ttYXJrcyh3
ZWJUaWNrbWFya3MpOworICAgIHRpY2ttYXJrcy5yZXNpemUod2ViVGlja21hcmtzLnNpemUoKSk7
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB3ZWJUaWNrbWFya3Muc2l6ZSgpOyArK2kpCisg
ICAgICAgIHRpY2ttYXJrc1tpXSA9IHdlYlRpY2ttYXJrc1tpXTsKK30KKworYm9vbCBXZWJTY3Jv
bGxiYXJUaGVtZUNsaWVudEltcGw6OmlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSBjb25zdAorewor
ICAgIHJldHVybiBtX3Njcm9sbGJhci0+aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgpOworfQorCiti
b29sIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCkg
Y29uc3QKK3sKKyAgICAvLyBVbnVzZWQgYnkgQ2hyb21pdW0gc2Nyb2xsYmFyIHRoZW1lcy4KKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0ludFBvaW50
IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6Y29udmVydEZyb21Db250YWluaW5nV2luZG93
KGNvbnN0IEludFBvaW50JiB3aW5kb3dQb2ludCkKK3sKKyAgICAvLyBVbnVzZWQgYnkgQ2hyb21p
dW0gc2Nyb2xsYmFyIHRoZW1lcy4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1
cm4gd2luZG93UG9pbnQ7Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpp
c0N1c3RvbVNjcm9sbGJhcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5pc0N1
c3RvbVNjcm9sbGJhcigpOworfQorCitTY3JvbGxiYXJPcmllbnRhdGlvbiBXZWJTY3JvbGxiYXJU
aGVtZUNsaWVudEltcGw6Om9yaWVudGF0aW9uKCkgY29uc3QKK3sKKyAgICBzd2l0Y2ggKG1fc2Ny
b2xsYmFyLT5vcmllbnRhdGlvbigpKSB7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgY2FzZSBXZWJTY3JvbGxiYXI6Okhvcml6b250YWw6CisgICAgICAg
IHJldHVybiBIb3Jpem9udGFsU2Nyb2xsYmFyOworICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpWZXJ0
aWNhbDoKKyAgICAgICAgcmV0dXJuIFZlcnRpY2FsU2Nyb2xsYmFyOworICAgIH0KK30KKworaW50
IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6dmFsdWUoKSBjb25zdAoreworICAgIHJldHVy
biBtX3Njcm9sbGJhci0+dmFsdWUoKTsKK30KKworZmxvYXQgV2ViU2Nyb2xsYmFyVGhlbWVDbGll
bnRJbXBsOjpjdXJyZW50UG9zKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdmFsdWUoKTsKK30KKwor
aW50IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6dmlzaWJsZVNpemUoKSBjb25zdAorewor
ICAgIHJldHVybiB0b3RhbFNpemUoKSAtIG1heGltdW0oKTsKK30KKworaW50IFdlYlNjcm9sbGJh
clRoZW1lQ2xpZW50SW1wbDo6dG90YWxTaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3Jv
bGxiYXItPnRvdGFsU2l6ZSgpOworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBs
OjptYXhpbXVtKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPm1heGltdW0oKTsK
K30KKworV2ViQ29yZTo6U2Nyb2xsYmFyQ29udHJvbFNpemUgV2ViU2Nyb2xsYmFyVGhlbWVDbGll
bnRJbXBsOjpjb250cm9sU2l6ZSgpIGNvbnN0Cit7CisgICAgc3dpdGNoIChtX3Njcm9sbGJhci0+
Y29udHJvbFNpemUoKSkgeworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpSZWd1bGFyU2Nyb2xsYmFyOgorICAgICAgICBy
ZXR1cm4gV2ViQ29yZTo6UmVndWxhclNjcm9sbGJhcjsKKyAgICBjYXNlIFdlYlNjcm9sbGJhcjo6
U21hbGxTY3JvbGxiYXI6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpTbWFsbFNjcm9sbGJhcjsK
KyAgICB9Cit9CisKK2ludCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmxpbmVTdGVwKCkg
Y29uc3QKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKwor
aW50IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6cGFnZVN0ZXAoKSBjb25zdAoreworICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgV2ViQ29y
ZTo6U2Nyb2xsYmFyUGFydCB0b1dlYkNvcmVQYXJ0KFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFy
dCBwYXJ0KQoreworICAgIHN3aXRjaCAocGFydCkgeworICAgIGRlZmF1bHQ6CisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpOb1BhcnQ6CisgICAg
ICAgIHJldHVybiBXZWJDb3JlOjpOb1BhcnQ7CisgICAgY2FzZSBXZWJTY3JvbGxiYXI6OkJhY2tC
dXR0b25TdGFydFBhcnQ6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpCYWNrQnV0dG9uU3RhcnRQ
YXJ0OworICAgIGNhc2UgV2ViU2Nyb2xsYmFyOjpGb3J3YXJkQnV0dG9uU3RhcnRQYXJ0OgorICAg
ICAgICByZXR1cm4gV2ViQ29yZTo6Rm9yd2FyZEJ1dHRvblN0YXJ0UGFydDsKKyAgICBjYXNlIFdl
YlNjcm9sbGJhcjo6QmFja1RyYWNrUGFydDoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkJhY2tU
cmFja1BhcnQ7CisgICAgY2FzZSBXZWJTY3JvbGxiYXI6OlRodW1iUGFydDoKKyAgICAgICAgcmV0
dXJuIFdlYkNvcmU6OlRodW1iUGFydDsKKyAgICBjYXNlIFdlYlNjcm9sbGJhcjo6Rm9yd2FyZFRy
YWNrUGFydDoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkZvcndhcmRUcmFja1BhcnQ7CisgICAg
Y2FzZSBXZWJTY3JvbGxiYXI6OkJhY2tCdXR0b25FbmRQYXJ0OgorICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6QmFja0J1dHRvbkVuZFBhcnQ7CisgICAgY2FzZSBXZWJTY3JvbGxiYXI6OkZvcndhcmRC
dXR0b25FbmRQYXJ0OgorICAgICAgICByZXR1cm4gV2ViQ29yZTo6Rm9yd2FyZEJ1dHRvbkVuZFBh
cnQ7CisgICAgY2FzZSBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhckJHUGFydDoKKyAgICAgICAgcmV0
dXJuIFdlYkNvcmU6OlNjcm9sbGJhckJHUGFydDsKKyAgICBjYXNlIFdlYlNjcm9sbGJhcjo6VHJh
Y2tCR1BhcnQ6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpUcmFja0JHUGFydDsKKyAgICBjYXNl
IFdlYlNjcm9sbGJhcjo6QWxsUGFydHM6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpBbGxQYXJ0
czsKKyAgICB9Cit9CisKK1dlYkNvcmU6OlNjcm9sbGJhclBhcnQgV2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsOjpwcmVzc2VkUGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRvV2ViQ29yZVBh
cnQobV9zY3JvbGxiYXItPnByZXNzZWRQYXJ0KCkpOworfQorCitXZWJDb3JlOjpTY3JvbGxiYXJQ
YXJ0IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aG92ZXJlZFBhcnQoKSBjb25zdAorewor
ICAgIHJldHVybiB0b1dlYkNvcmVQYXJ0KG1fc2Nyb2xsYmFyLT5ob3ZlcmVkUGFydCgpKTsKK30K
Kwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnN0eWxlQ2hhbmdlZCgpCit7Cisg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFyVGhlbWVDbGll
bnRJbXBsOjplbmFibGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmVuYWJs
ZWQoKTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnNldEVuYWJsZWQo
Ym9vbCkKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworYm9vbCBXZWJTY3JvbGxi
YXJUaGVtZUNsaWVudEltcGw6OmlzT3ZlcmxheVNjcm9sbGJhcigpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fc2Nyb2xsYmFyLT5pc092ZXJsYXkoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhclRo
ZW1lQ2xpZW50SW1wbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFkZDI2MjY5NGZkMzIzYzE0MTZmMzJhNGQ4ODNj
NTBiNzQzOTRlZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwuaApAQCAtMCwwICsxLDk5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBB
TkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGxfaAorI2RlZmluZSBXZWJTY3JvbGxi
YXJUaGVtZUNsaWVudEltcGxfaAorCisjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWVDbGllbnQuaCIK
KyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+CisjaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFNjcm9sbFZpZXc7Cit9CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCisvLyBBZGFwdHMgYSBXZWJTY3JvbGxiYXIgdG8gdGhlIFNjcm9s
bGJhclRoZW1lQ2xpZW50IGludGVyZmFjZQorY2xhc3MgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJ
bXBsIDogcHVibGljIFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ2xpZW50IHsKKyAgICBXVEZfTUFL
RV9OT05DT1BZQUJMRShXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwpOworcHVibGljOgorICAg
IC8vIENhbGxlciBtdXN0IHJldGFpbiBvd25lcnNoaXAgb2YgdGhpcyBwb2ludGVyIGFuZCBlbnN1
cmUgdGhhdCBpdHMgbGlmZXRpbWUKKyAgICAvLyBleGNlZWRzIHRoaXMgaW5zdGFuY2UuCisgICAg
V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsKFdlYlNjcm9sbGJhciopOworCisgICAgdmlydHVh
bCBpbnQgeCgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHkoKSBjb25zdDsKKyAgICB2aXJ0dWFs
IGludCB3aWR0aCgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IGhlaWdodCgpIGNvbnN0OworICAg
IHZpcnR1YWwgV2ViQ29yZTo6SW50U2l6ZSBzaXplKCkgY29uc3Q7CisgICAgdmlydHVhbCBXZWJD
b3JlOjpJbnRQb2ludCBsb2NhdGlvbigpIGNvbnN0OworCisgICAgdmlydHVhbCBXZWJDb3JlOjpT
Y3JvbGxWaWV3KiBwYXJlbnQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNjcm9sbFZp
ZXcqIHJvb3QoKSBjb25zdDsKKworICAgIHZpcnR1YWwgdm9pZCBzZXRGcmFtZVJlY3QoY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UmVjdCBmcmFtZVJl
Y3QoKSBjb25zdDsKKworICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlKCk7CisgICAgdmlydHVh
bCB2b2lkIGludmFsaWRhdGVSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKTsKKworICAgIHZp
cnR1YWwgV2ViQ29yZTo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlIHNjcm9sbGJhck92ZXJsYXlTdHls
ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBnZXRUaWNrbWFya3MoVmVjdG9yPFdlYkNvcmU6
OkludFJlY3Q+JikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsYWJsZUFyZWFBY3Rp
dmUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCkgY29u
c3Q7CisKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFBvaW50IGNvbnZlcnRGcm9tQ29udGFpbmlu
Z1dpbmRvdyhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOworCisgICAgdmlydHVhbCBib29sIGlz
Q3VzdG9tU2Nyb2xsYmFyKCkgY29uc3Q7CisgICAgdmlydHVhbCBXZWJDb3JlOjpTY3JvbGxiYXJP
cmllbnRhdGlvbiBvcmllbnRhdGlvbigpIGNvbnN0OworCisgICAgdmlydHVhbCBpbnQgdmFsdWUo
KSBjb25zdDsKKyAgICB2aXJ0dWFsIGZsb2F0IGN1cnJlbnRQb3MoKSBjb25zdDsKKyAgICB2aXJ0
dWFsIGludCB2aXNpYmxlU2l6ZSgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHRvdGFsU2l6ZSgp
IGNvbnN0OworICAgIHZpcnR1YWwgaW50IG1heGltdW0oKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdl
YkNvcmU6OlNjcm9sbGJhckNvbnRyb2xTaXplIGNvbnRyb2xTaXplKCkgY29uc3Q7CisKKyAgICB2
aXJ0dWFsIGludCBsaW5lU3RlcCgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHBhZ2VTdGVwKCkg
Y29uc3Q7CisKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQo
KSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNjcm9sbGJhclBhcnQgaG92ZXJlZFBhcnQo
KSBjb25zdDsKKworICAgIHZpcnR1YWwgdm9pZCBzdHlsZUNoYW5nZWQoKTsKKworICAgIHZpcnR1
YWwgYm9vbCBlbmFibGVkKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHNldEVuYWJsZWQoYm9v
bCk7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNPdmVybGF5U2Nyb2xsYmFyKCkgY29uc3Q7CisKK3By
aXZhdGU6CisgICAgV2ViS2l0OjpXZWJTY3JvbGxiYXIqIG1fc2Nyb2xsYmFyOworfTsKKworfQor
CisjZW5kaWYgLy8gV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uN2UwOTA5ZWYwY2RiMjJiYTFlODdjMTkwZmRiNmE0MGU5YTJkMzBlZgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhclRo
ZW1lR2VvbWV0cnkuY3BwCkBAIC0wLDAgKzEsMTU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorCisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkuaD4KKwor
I2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLmgiCisjaW5jbHVkZSAiV2ViU2Nyb2xs
YmFyVGhlbWVDbGllbnRJbXBsLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYlJlY3QuaD4KKyNpbmNs
dWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwor
CituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojph
c3NpZ24oY29uc3QgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSYgZ2VvbWV0cnkpCit7CisgICAg
Ly8gVGhpcyBpcyBhIHBvaW50ZXIgdG8gYSBzdGF0aWMgb2JqZWN0LCBzbyBubyBvd25lcnNoaXAg
dHJhbnNmZXJyYWwuCisgICAgbV90aGVtZSA9IGdlb21ldHJ5Lm1fdGhlbWU7Cit9CisKK2ludCBX
ZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0aHVtYlBvc2l0aW9uKFdlYlNjcm9sbGJhciogc2Ny
b2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xs
YmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+dGh1bWJQb3NpdGlvbigmY2xpZW50KTsKK30KKwor
aW50IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnRodW1iTGVuZ3RoKFdlYlNjcm9sbGJhciog
c2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Ny
b2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+dGh1bWJMZW5ndGgoJmNsaWVudCk7Cit9CisK
K2ludCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0cmFja1Bvc2l0aW9uKFdlYlNjcm9sbGJh
ciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQo
c2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+dHJhY2tQb3NpdGlvbigmY2xpZW50KTsK
K30KKworaW50IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnRyYWNrTGVuZ3RoKFdlYlNjcm9s
bGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGll
bnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+dHJhY2tMZW5ndGgoJmNsaWVudCk7
Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6aGFzQnV0dG9ucyhXZWJTY3Jv
bGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xp
ZW50KHNjcm9sbGJhcik7CisgICAgcmV0dXJuIG1fdGhlbWUtPmhhc0J1dHRvbnMoJmNsaWVudCk7
Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6aGFzVGh1bWIoV2ViU2Nyb2xs
YmFyKiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVu
dChzY3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT5oYXNUaHVtYigmY2xpZW50KTsKK30K
KworV2ViUmVjdCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0cmFja1JlY3QoV2ViU2Nyb2xs
YmFyKiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVu
dChzY3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT50cmFja1JlY3QoJmNsaWVudCk7Cit9
CisKK1dlYlJlY3QgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6dGh1bWJSZWN0KFdlYlNjcm9s
bGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGll
bnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+dGh1bWJSZWN0KCZjbGllbnQpOwor
fQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6bWluaW11bVRodW1iTGVuZ3RoKFdl
YlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1w
bCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+bWluaW11bVRodW1iTGVu
Z3RoKCZjbGllbnQpOworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6c2Nyb2xs
YmFyVGhpY2tuZXNzKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJh
clRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+
c2Nyb2xsYmFyVGhpY2tuZXNzKGNsaWVudC5jb250cm9sU2l6ZSgpKTsKK30KKworV2ViUmVjdCBX
ZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjpiYWNrQnV0dG9uU3RhcnRSZWN0KFdlYlNjcm9sbGJh
ciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQo
c2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+YmFja0J1dHRvblJlY3QoJmNsaWVudCwg
QmFja0J1dHRvblN0YXJ0UGFydCwgZmFsc2UpOworfQorCitXZWJSZWN0IFdlYlNjcm9sbGJhclRo
ZW1lR2VvbWV0cnk6OmJhY2tCdXR0b25FbmRSZWN0KFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQor
eworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAg
ICByZXR1cm4gbV90aGVtZS0+YmFja0J1dHRvblJlY3QoJmNsaWVudCwgQmFja0J1dHRvbkVuZFBh
cnQsIGZhbHNlKTsKK30KKworV2ViUmVjdCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojpmb3J3
YXJkQnV0dG9uU3RhcnRSZWN0KFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNj
cm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90
aGVtZS0+Zm9yd2FyZEJ1dHRvblJlY3QoJmNsaWVudCwgRm9yd2FyZEJ1dHRvblN0YXJ0UGFydCwg
ZmFsc2UpOworfQorCitXZWJSZWN0IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OmZvcndhcmRC
dXR0b25FbmRSZWN0KFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJh
clRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+
Zm9yd2FyZEJ1dHRvblJlY3QoJmNsaWVudCwgRm9yd2FyZEJ1dHRvbkVuZFBhcnQsIGZhbHNlKTsK
K30KKworV2ViUmVjdCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojpjb25zdHJhaW5UcmFja1Jl
Y3RUb1RyYWNrUGllY2VzKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiBy
ZWN0KQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFy
KTsKKyAgICByZXR1cm4gbV90aGVtZS0+Y29uc3RyYWluVHJhY2tSZWN0VG9UcmFja1BpZWNlcygm
Y2xpZW50LCBJbnRSZWN0KHJlY3QpKTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZUdlb21l
dHJ5OjpzcGxpdFRyYWNrKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiB3
ZWJUcmFjaywgV2ViUmVjdCYgd2ViU3RhcnRUcmFjaywgV2ViUmVjdCYgd2ViVGh1bWIsIFdlYlJl
Y3QmIHdlYkVuZFRyYWNrKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGll
bnQoc2Nyb2xsYmFyKTsKKyAgICBJbnRSZWN0IHRyYWNrKHdlYlRyYWNrKTsKKyAgICBJbnRSZWN0
IHN0YXJ0VHJhY2s7CisgICAgSW50UmVjdCB0aHVtYjsKKyAgICBJbnRSZWN0IGVuZFRyYWNrOwor
ICAgIG1fdGhlbWUtPnNwbGl0VHJhY2soJmNsaWVudCwgdHJhY2ssIHN0YXJ0VHJhY2ssIHRodW1i
LCBlbmRUcmFjayk7CisKKyAgICB3ZWJTdGFydFRyYWNrID0gc3RhcnRUcmFjazsKKyAgICB3ZWJU
aHVtYiA9IHRodW1iOworICAgIHdlYkVuZFRyYWNrID0gZW5kVHJhY2s7Cit9CisKK1dlYlNjcm9s
bGJhclRoZW1lR2VvbWV0cnk6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkoV2ViQ29yZTo6U2Ny
b2xsYmFyVGhlbWVDb21wb3NpdGUqIHRoZW1lKQorICAgIDogbV90aGVtZSh0aGVtZSkKK3sKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjJiZmNk
NmMwNjk3NWVlYmZmZjZjMzdkMTk1OTFhYmU5MWI5ODQyCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmNwcApAQCAt
MCwwICsxLDE0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
CisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgPHB1
YmxpYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuaD4KKworI2luY2x1ZGUgIlBsYXRmb3JtQ29u
dGV4dFNraWEuaCIKKyNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS5oIgorI2luY2x1
ZGUgIldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJS
ZWN0Lmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhci5oPgorCit1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhl
bWVQYWludGVyOjphc3NpZ24oY29uc3QgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyJiBwYWludGVy
KQoreworICAgIC8vIFRoaXMgaXMgYSBwb2ludGVyIHRvIGEgc3RhdGljIG9iamVjdCwgc28gbm8g
b3duZXJzaGlwIHRyYW5zZmVycmFsLgorICAgIG1fdGhlbWUgPSBwYWludGVyLm1fdGhlbWU7Cit9
CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludFNjcm9sbGJhckJhY2tncm91
bmQoV2ViQ2FudmFzKiBjYW52YXMsIFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJS
ZWN0JiByZWN0KQoreworICAgIFNrUmVjdCBjbGlwID0gU2tSZWN0OjpNYWtlWFlXSChyZWN0Lngs
IHJlY3QueSwgcmVjdC53aWR0aCwgcmVjdC5oZWlnaHQpOworICAgIGNhbnZhcy0+Y2xpcFJlY3Qo
Y2xpcCk7CisKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJh
cik7CisgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKKyAg
ICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CisgICAgR3Jh
cGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAgbV90aGVtZS0+cGFp
bnRTY3JvbGxiYXJCYWNrZ3JvdW5kKCZjb250ZXh0LCAmY2xpZW50KTsKK30KKwordm9pZCBXZWJT
Y3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50VHJhY2tCYWNrZ3JvdW5kKFdlYkNhbnZhcyogY2Fu
dmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3sKKyAg
ICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgUGxh
dGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKKyAgICBwbGF0Zm9ybUNv
bnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CisgICAgR3JhcGhpY3NDb250ZXh0
IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAgbV90aGVtZS0+cGFpbnRUcmFja0JhY2tn
cm91bmQoJmNvbnRleHQsICZjbGllbnQsIEludFJlY3QocmVjdCkpOworfQorCit2b2lkIFdlYlNj
cm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRCYWNrVHJhY2tQYXJ0KFdlYkNhbnZhcyogY2FudmFz
LCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3sKKyAgICBX
ZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgUGxhdGZv
cm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKKyAgICBwbGF0Zm9ybUNvbnRl
eHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CisgICAgR3JhcGhpY3NDb250ZXh0IGNv
bnRleHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAgbV90aGVtZS0+cGFpbnRUcmFja1BpZWNlKCZj
b250ZXh0LCAmY2xpZW50LCBJbnRSZWN0KHJlY3QpLCBXZWJDb3JlOjpCYWNrVHJhY2tQYXJ0KTsK
K30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50Rm9yd2FyZFRyYWNrUGFy
dChXZWJDYW52YXMqIGNhbnZhcywgV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJl
Y3QmIHJlY3QpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3Jv
bGxiYXIpOworICAgIFBsYXRmb3JtQ29udGV4dFNraWEgcGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7
CisgICAgcGxhdGZvcm1Db250ZXh0LnNldERyYXdpbmdUb0ltYWdlQnVmZmVyKHRydWUpOworICAg
IEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOworICAgIG1fdGhlbWUt
PnBhaW50VHJhY2tQaWVjZSgmY29udGV4dCwgJmNsaWVudCwgSW50UmVjdChyZWN0KSwgV2ViQ29y
ZTo6Rm9yd2FyZFRyYWNrUGFydCk7Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVy
OjpwYWludEJhY2tCdXR0b25TdGFydChXZWJDYW52YXMqIGNhbnZhcywgV2ViU2Nyb2xsYmFyKiBz
Y3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIFBsYXRmb3JtQ29udGV4dFNraWEgcGxh
dGZvcm1Db250ZXh0KGNhbnZhcyk7CisgICAgcGxhdGZvcm1Db250ZXh0LnNldERyYXdpbmdUb0lt
YWdlQnVmZmVyKHRydWUpOworICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZwbGF0Zm9ybUNv
bnRleHQpOworICAgIG1fdGhlbWUtPnBhaW50QnV0dG9uKCZjb250ZXh0LCAmY2xpZW50LCBJbnRS
ZWN0KHJlY3QpLCBXZWJDb3JlOjpCYWNrQnV0dG9uU3RhcnRQYXJ0KTsKK30KKwordm9pZCBXZWJT
Y3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50QmFja0J1dHRvbkVuZChXZWJDYW52YXMqIGNhbnZh
cywgV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCit7CisgICAg
V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIFBsYXRm
b3JtQ29udGV4dFNraWEgcGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7CisgICAgcGxhdGZvcm1Db250
ZXh0LnNldERyYXdpbmdUb0ltYWdlQnVmZmVyKHRydWUpOworICAgIEdyYXBoaWNzQ29udGV4dCBj
b250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOworICAgIG1fdGhlbWUtPnBhaW50QnV0dG9uKCZjb250
ZXh0LCAmY2xpZW50LCBJbnRSZWN0KHJlY3QpLCBXZWJDb3JlOjpCYWNrQnV0dG9uRW5kUGFydCk7
Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludEZvcndhcmRCdXR0b25T
dGFydChXZWJDYW52YXMqIGNhbnZhcywgV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdl
YlJlY3QmIHJlY3QpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChz
Y3JvbGxiYXIpOworICAgIFBsYXRmb3JtQ29udGV4dFNraWEgcGxhdGZvcm1Db250ZXh0KGNhbnZh
cyk7CisgICAgcGxhdGZvcm1Db250ZXh0LnNldERyYXdpbmdUb0ltYWdlQnVmZmVyKHRydWUpOwor
ICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOworICAgIG1fdGhl
bWUtPnBhaW50QnV0dG9uKCZjb250ZXh0LCAmY2xpZW50LCBJbnRSZWN0KHJlY3QpLCBXZWJDb3Jl
OjpGb3J3YXJkQnV0dG9uU3RhcnRQYXJ0KTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZVBh
aW50ZXI6OnBhaW50Rm9yd2FyZEJ1dHRvbkVuZChXZWJDYW52YXMqIGNhbnZhcywgV2ViU2Nyb2xs
YmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCit7CisgICAgV2ViU2Nyb2xsYmFy
VGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIFBsYXRmb3JtQ29udGV4dFNr
aWEgcGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7CisgICAgcGxhdGZvcm1Db250ZXh0LnNldERyYXdp
bmdUb0ltYWdlQnVmZmVyKHRydWUpOworICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZwbGF0
Zm9ybUNvbnRleHQpOworICAgIG1fdGhlbWUtPnBhaW50QnV0dG9uKCZjb250ZXh0LCAmY2xpZW50
LCBJbnRSZWN0KHJlY3QpLCBXZWJDb3JlOjpGb3J3YXJkQnV0dG9uRW5kUGFydCk7Cit9CisKK3Zv
aWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludFRpY2ttYXJrcyhXZWJDYW52YXMqIGNh
bnZhcywgV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCit7Cisg
ICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIFBs
YXRmb3JtQ29udGV4dFNraWEgcGxhdGZvcm1Db250ZXh0KGNhbnZhcyk7CisgICAgcGxhdGZvcm1D
b250ZXh0LnNldERyYXdpbmdUb0ltYWdlQnVmZmVyKHRydWUpOworICAgIEdyYXBoaWNzQ29udGV4
dCBjb250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOworICAgIG1fdGhlbWUtPnBhaW50VGlja21hcmtz
KCZjb250ZXh0LCAmY2xpZW50LCBJbnRSZWN0KHJlY3QpKTsKK30KKwordm9pZCBXZWJTY3JvbGxi
YXJUaGVtZVBhaW50ZXI6OnBhaW50VGh1bWIoV2ViQ2FudmFzKiBjYW52YXMsIFdlYlNjcm9sbGJh
ciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiByZWN0KQoreworICAgIFdlYlNjcm9sbGJhclRo
ZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICBQbGF0Zm9ybUNvbnRleHRTa2lh
IHBsYXRmb3JtQ29udGV4dChjYW52YXMpOworICAgIHBsYXRmb3JtQ29udGV4dC5zZXREcmF3aW5n
VG9JbWFnZUJ1ZmZlcih0cnVlKTsKKyAgICBHcmFwaGljc0NvbnRleHQgY29udGV4dCgmcGxhdGZv
cm1Db250ZXh0KTsKKyAgICBtX3RoZW1lLT5wYWludFRodW1iKCZjb250ZXh0LCAmY2xpZW50LCBJ
bnRSZWN0KHJlY3QpKTsKK30KKworV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpXZWJTY3JvbGxi
YXJUaGVtZVBhaW50ZXIoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIHRoZW1lKQor
ICAgIDogbV90aGVtZSh0aGVtZSkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1Njcm9sbGJhckxheWVyQ2hyb21p
dW1UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsYmFyTGF5ZXJD
aHJvbWl1bVRlc3QuY3BwCmluZGV4IGQyY2Q5YmVmYzlhMDdlMTE2YzUxODg5YTRhN2I0ZDQ5Nzlk
ZmEyNDQuLjBlOWY3MTY3NmE0ZTRmMDIzOTI4OGY5YTgxZTM4ZDA4MWJhMjc1NzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bVRl
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsYmFyTGF5ZXJD
aHJvbWl1bVRlc3QuY3BwCkBAIC0zMiw2ICszMiw5IEBACiAjaW5jbHVkZSAiY2MvQ0NTY3JvbGxi
YXJMYXllckltcGwuaCIKICNpbmNsdWRlICJjYy9DQ1NpbmdsZVRocmVhZFByb3h5LmgiCiAjaW5j
bHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+Cisj
aW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkuaD4KKyNpbmNsdWRlIDxw
dWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCkBAIC02MCw3ICs2Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNTY3Jv
bGxhYmxlQXJlYUFjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBi
b29sIGlzU2Nyb2xsVmlld1Njcm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKLSAg
ICB2aXJ0dWFsIEludFBvaW50IGNvbnZlcnRGcm9tQ29udGFpbmluZ1dpbmRvdyhjb25zdCBJbnRQ
b2ludCYgd2luZG93UG9pbnQpIHsgcmV0dXJuIEludFBvaW50KCk7IH0KKyAgICB2aXJ0dWFsIElu
dFBvaW50IGNvbnZlcnRGcm9tQ29udGFpbmluZ1dpbmRvdyhjb25zdCBJbnRQb2ludCYgd2luZG93
UG9pbnQpIHsgcmV0dXJuIHdpbmRvd1BvaW50OyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNDdXN0
b21TY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgU2Nyb2xs
YmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24oKSBjb25zdCB7IHJldHVybiBIb3Jpem9udGFsU2Ny
b2xsYmFyOyB9CkBAIC04Myw2ICs4Niw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgZW5h
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIHNldEVuYWJs
ZWQoYm9vbCkgeyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgaXNPdmVybGF5U2Nyb2xsYmFyKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KKwogICAgIE1vY2tTY3JvbGxiYXIoKSA6IFNjcm9sbGJhcigw
LCBIb3Jpem9udGFsU2Nyb2xsYmFyLCBSZWd1bGFyU2Nyb2xsYmFyKSB7IH0KICAgICB2aXJ0dWFs
IH5Nb2NrU2Nyb2xsYmFyKCkgeyB9CiB9OwpAQCAtOTEsMTIgKzk2LDE2IEBAIFRFU1QoU2Nyb2xs
YmFyTGF5ZXJDaHJvbWl1bVRlc3QsIHJlc29sdmVTY3JvbGxMYXllclBvaW50ZXIpCiB7CiAgICAg
RGVidWdTY29wZWRTZXRJbXBsVGhyZWFkIGltcGw7CiAKKyAgICBSZWZQdHI8TW9ja1Njcm9sbGJh
cj4gbW9ja1Njcm9sbGJhciA9IGFkb3B0UmVmKG5ldyBNb2NrU2Nyb2xsYmFyKTsKKyAgICBXZWJL
aXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkgZ2VvbWV0cnkoMCk7CisgICAgV2ViS2l0OjpX
ZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIgcGFpbnRlcigwKTsKKwogICAgIFNldHRpbmdzOjpzZXRN
b2NrU2Nyb2xsYmFyc0VuYWJsZWQodHJ1ZSk7CiAgICAgewotICAgICAgICBSZWZQdHI8TW9ja1Nj
cm9sbGJhcj4gc2Nyb2xsYmFyID0gYWRvcHRSZWYobmV3IE1vY2tTY3JvbGxiYXIpOworICAgICAg
ICBPd25QdHI8V2ViS2l0OjpXZWJTY3JvbGxiYXI+IHNjcm9sbGJhciA9IFdlYktpdDo6V2ViU2Ny
b2xsYmFyOjpjcmVhdGUobW9ja1Njcm9sbGJhci5nZXQoKSk7CiAgICAgICAgIFJlZlB0cjxMYXll
ckNocm9taXVtPiBsYXllclRyZWVSb290ID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7CiAgICAg
ICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBjaGlsZDEgPSBMYXllckNocm9taXVtOjpjcmVhdGUo
KTsKLSAgICAgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkMiA9IFNjcm9sbGJhckxheWVy
Q2hyb21pdW06OmNyZWF0ZShzY3JvbGxiYXIuZ2V0KCksIGNoaWxkMS0+aWQoKSk7CisgICAgICAg
IFJlZlB0cjxMYXllckNocm9taXVtPiBjaGlsZDIgPSBTY3JvbGxiYXJMYXllckNocm9taXVtOjpj
cmVhdGUoc2Nyb2xsYmFyLnJlbGVhc2UoKSwgcGFpbnRlciwgZ2VvbWV0cnksIGNoaWxkMS0+aWQo
KSk7CiAgICAgICAgIGxheWVyVHJlZVJvb3QtPmFkZENoaWxkKGNoaWxkMSk7CiAgICAgICAgIGxh
eWVyVHJlZVJvb3QtPmFkZENoaWxkKGNoaWxkMik7CiAKQEAgLTEwOSwxMCArMTE4LDEwIEBAIFRF
U1QoU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bVRlc3QsIHJlc29sdmVTY3JvbGxMYXllclBvaW50ZXIp
CiAgICAgfQogCiAgICAgeyAvLyBhbm90aGVyIHRyYXZlcnNlIG9yZGVyCi0gICAgICAgIFJlZlB0
cjxNb2NrU2Nyb2xsYmFyPiBzY3JvbGxiYXIgPSBhZG9wdFJlZihuZXcgTW9ja1Njcm9sbGJhcik7
CisgICAgICAgIE93blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhcj4gc2Nyb2xsYmFyID0gV2ViS2l0
OjpXZWJTY3JvbGxiYXI6OmNyZWF0ZShtb2NrU2Nyb2xsYmFyLmdldCgpKTsKICAgICAgICAgUmVm
UHRyPExheWVyQ2hyb21pdW0+IGxheWVyVHJlZVJvb3QgPSBMYXllckNocm9taXVtOjpjcmVhdGUo
KTsKICAgICAgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkMiA9IExheWVyQ2hyb21pdW06
OmNyZWF0ZSgpOwotICAgICAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGQxID0gU2Nyb2xs
YmFyTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKHNjcm9sbGJhci5nZXQoKSwgY2hpbGQyLT5pZCgpKTsK
KyAgICAgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkMSA9IFNjcm9sbGJhckxheWVyQ2hy
b21pdW06OmNyZWF0ZShzY3JvbGxiYXIucmVsZWFzZSgpLCBwYWludGVyLCBnZW9tZXRyeSwgY2hp
bGQyLT5pZCgpKTsKICAgICAgICAgbGF5ZXJUcmVlUm9vdC0+YWRkQ2hpbGQoY2hpbGQxKTsKICAg
ICAgICAgbGF5ZXJUcmVlUm9vdC0+YWRkQ2hpbGQoY2hpbGQyKTsKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDkyNGQ4YTM4
Y2YyYjlhOWNhOGYwMjRmZDM0YjNiYWU5Y2IyYTExMTYuLmZlOGEyMTlmMGFiMDJkMWY3OTM1MzZj
NDYxNjZjNDkwMTE1NGM4ZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNy0xMSAgQWRy
aWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0gUmVt
b3ZlIGRlcGVuZGVuY3kgb24gU2Nyb2xsYmFyVGhlbWUgZnJvbSB0aGUgY29tcG9zaXRvcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1MjgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYXJrIGN1c3RvbS1j
b21wb3NpdGVkLWRpZmZlcmVudC10cmFjay1wYXJ0cy5odG1sIGFzIGZhaWxpbmcgYmVjYXVzZQor
ICAgICAgICBjdXN0b20gc2Nyb2xsYmFycyBubyBsb25nZXIgY3JlYXRlIFNjcm9sbGJhckxheWVy
Q2hyb21pdW1zLiBUaGlzIGlzCisgICAgICAgIGR1ZSB0byB0aGUgdW5zYWZlIGNhc3RzIGluIFJl
bmRlclRoZW1lU2Nyb2xsYmFyLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4
cGVjdGF0aW9uczoKKwogMjAxMi0wNy0xMSAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4u
amVuc2VuQG5va2lhLmNvbT4KIAogICAgICAgICBOb2Rlc0Zyb21SZWN0IGRvZXNuJ3Qgd29yayBv
biBTVkcgcm9vdCBlbGVtZW50cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDljNzZmNjJjYzllNGJiZDlmMDNiNDdkMTk5Y2Q0NDNkYjBi
ZmZkNjcuLmRiNTZjMGJlY2E0NDAyNzY0ZjkzNWQ0OWVjMGRlYmYwY2RhNjQ5MTAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzcyNyw2
ICszNzI3LDggQEAgQlVHV0s4ODE3MSBXSU4gOiBjc3MxL2Zvcm1hdHRpbmdfbW9kZWwvZmxvYXRp
bmdfZWxlbWVudHMuaHRtbCA9IElNQUdFCiAKIEJVR1dLOTA1MTcgV0lOIDogc3ZnL1czQy1JMThO
L3RzcGFuLWRpclJUTC11Yk5vbmUtaW4tZGVmYXVsdC1jb250ZXh0LnN2ZyA9IFBBU1MgQ1JBU0gK
IAorQlVHQ1IxMzU3MDkgOiBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9zY3JvbGxiYXJz
L2N1c3RvbS1jb21wb3NpdGVkLWRpZmZlcmVudC10cmFjay1wYXJ0cy5odG1sID0gSU1BR0UKKwog
Ly8gd2Via2l0SXNGdWxsU2NyZWVuIGRvZXMgbm90IGhhdmUgdGhlIGNvcnJlY3QgdmFsdWUgYWZ0
ZXIgYW4gaWZyYW1lIGV4aXRzIGZ1bGxzY3JlZW4KIEJVR1dLOTA3MDQgOiBmdWxsc2NyZWVuL2V4
aXQtZnVsbC1zY3JlZW4taWZyYW1lLmh0bWwgPSBURVhUCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>151806</attachid>
            <date>2012-07-11 15:43:15 -0700</date>
            <delta_ts>2012-07-11 15:43:15 -0700</delta_ts>
            <desc>Archive of layout-test-results from gce-cr-linux-03</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>384307</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">UEsDBAoAAAAAAK+x60AAAAAAAAAAAAAAAAAYABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvVVQJ
AAOK+v1Pi/r9T3V4CwABBOgDAAAE6AMAAFBLAwQUAAIACABWsOtADKFF8ogzAAApeAIANAAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3dlYmtpdF91bml0X3Rlc3RzX291dHB1dC54bWxVVAkAAwT4
/U+L+v1PdXgLAAEE6AMAAAToAwAAzF3dVuM4Er7fp+jD/Qwk0D30npndExJosksSOgn9MzdzhK0k
WhwpI8lA5ulXJTkhgciWbck9V02DXV9VuVQqSVWlX//9vEzePWIuCKO/HbV+Pjl6h2nEYkLnvx3d
Ta9+Oj/697/+8avEQoqUqH/e6R/Voyfvfzl6N0MkSTlW/1cvxkSg+wTHvx2dKyqcM25+L8lSvYOW
q9+O2iet9k8nv/zUak3b7X+etP951jJ/V3/6+ZeP7aN3FMF/OkkyBZyjf/3j3bsX9OyvY0xjzKcA
NmZPPYzkAp4+2vB2ZmXs5A1j6oefT35paaAMKkJig9RFdIKlAjl6pySQqXqPp3TnzZP3R++iBAlR
wNlxAf0pG6Bn9W9fvf98GKweEEdi0Z+pZ0fqa88S9S8gS/WdbaKdnvlAzEDuqNBy5sinENslEH89
3ppFkZF0cZJ4sJIP57lW0mVJuqRWQzm1yfaKu+NiDG0s5scK9uKIZz6fQXG3mVMvqLtGUyhnnt0c
Qi0ynK/4vk9Xqbx8xFReoUgyvt4znNOyhnNicy89lgKTCYkerHbT2pPNzpxFowOWCny30hhdllLp
YCylQYbp8hbFXUazmaQ+RtFHmkScJUmHkiVSb15S/QGqfiHL19lSLRTGwo1FW7NE2bZ55TKba71j
9DKJaxIu9xmGjOL9kVLax560bT425Y94oEbyDaEYccfhYuPvuADkc4pijiSJSuvPHaOb3gelr2Tg
YSW4UP4kwiFVxJCQ/umbx0eK9zxj8oMQ0JLM4zeMzoODbAGGbJIqCEKDI02WjMlFBQ9W4uMEGoJ7
X5/LsBCTBePBxsj0iTRiwlI0CxLauLTegloXiJMDUHcmfAUSWl9fFxgnU45CzCavEcLJomaT9Bkw
HlQ0HEiatxihv02PPakV50W6XOFgM+XdqjmEoEHFrrICAX1BfK2WDHr1JC7/TMkjSjCN1s0hNSyY
hrtBfI4bxpxIjFehLGUi2apPBySOkwByjTEsxbEvAIc9ky8EP+0t/lot6+KvdXDx13r/0bL4u2JR
KvqiT1EkySO2TXmt9usthhemLHrqaIITRQ6778AUU00lG2NB/sIDohSaLifqR+vu1fsa9K8xmS/k
Zn+uQ+Mr8ozjrySWC6uWTmvgafIGVIFpnA14ELw+vcDyCWMKGhRWiBoIG/bzAdp1bAA9533/8sz3
+pPOxc1l748pfpbadU3Xqx36lMm8fbdC+hMsL2MiYbBOcILVEGF0NJsJLIX66FvQPp0xm1Dt89Ko
V4wvuwtE51ZNtc8KiDq4qbvxjfoqK0bF/lZVy8+W4bPkqIckctsBfcNMKSn+TNUf/iZC7PDiKoMK
XqmYqY8+UrESAhvbl8XfNrvcIMEwER2O7yhRDLs7fBurFktWM2i00FgT9f8bTOc2b+wNqEdmM8wx
lQHR0GqVrPU7iXW69AExZjIo/UmEkpDkH/BTOOq3Kqxb4ZwwyAfIAElOnsPRH/HYaaVXnrxyEDQO
TP6Ws7lySiIcwtcFpmZYsyGTAxjlHsDK+GT9rjGD/ROdj968soq7yGzdwzOUJrKr5kAVtMAxYJdj
NfxFP1bejMhqtviG/eM8HnbAVRDSji8TvFTgokHQTpI0hLraRQ6KZR7slzsUrog1Ze3e9tWgSB0h
yJzClzJjLLASL/9MUSIuGEswoo0gDtRwJOCkGwHTD2aQJNIvBwZ8wMa1rMMaZMU4qSLKadwMzhhW
/oHBqsRn5RCGjKolALwXHksjBNZYpYi5CkQjcpyaAG4067LligkVoOjfK0KiAfTOMxEdOm/om+2g
QRTA74larPI1/Lpx9B6eYwo+HweHhzXSt+AI38MGAvWWY+XArpFoCgr22dVPktwnwYGyGL8hmBHf
zGOhowzQoVTDqTHAC1g2qjHcNF74+XOLFNxl7CJ9bwRpM6917lkqvzUP+QOk/L0RyG3k4HdNWGYH
xZykKio6mzHU1vaIvoj4X7yecfXbkqIeYtSi5OkTc0TL3UUvg7jguEkJx3gFu0/xLuQU6pfCQd5R
wbiC3AgXEErncl3gv4iamMiS0PlVSqMKc0UJyEv1Y1NYJpu3Scn6tEm0USqbFa5BwG4qJFs2a5vZ
3nMYOIe5YsKiBywvnyWmsEHaI2IFW/1KAbuzxXsvh7pAckJgrecmYAFvx3aUWwReTKrVSmikbNsw
uESfU6b880QFA06VOrWw1NoLJST2B+Nsh2o0wA5fLeP7+ez8Q44BQlgGJ2fXOElYGRH3eXMwiU4c
X6zV37soSUQQpCHrMrXGe5ZT9KCTiIKgfCU0Zk8XRIYRQmdV2lM91Od874zgYGi3aI4nKlBXFv7X
K0Nrlw2J27aQ+Ho6uBmy2J7MdfImN+kQX7Z6yszArnJCtUM5b1YIR7UN8dP29Voj9OTcVmIHMF+J
XOSLdvL+kGhv2bNleXX6N5M/upPJGAuW8ihHh+e1gC4SRB/yRTk7rYWwferb4OYaCX000sOKIM/Z
f9EljvUVqH0dWHp+BanNEi1oDrY4wDFBtwlaY95NCKayv1wlderqLcbYp0Qq/oZpknwhMWYGzM0J
5vBoz3js0FjXmzeA1lP/5Wx9y9kjcc5UqSTUxlvtCCX8wDmYyg28PFXrd8jSNLEnLOdRHCBnsa9T
GuBU3gTjatq/R9GDo7AFnFYS2BDAtYTNqYcuJ/Ahr5PDbTmBa0zjtmLvEsNvhwfLOLhWS0rEo8W6
GkEHPehpZl8PJyW/dLtl7UEDYSaVkHbtPifvcGSbR+CJKyj4V2EcjrNg1jqNVEFQy2OIJ8CHX5Xb
Kiwm3l1wtsQwl/0HPSIRcbKSjp1sStIfsmKEt6OrGGGzWhuoBZGC0Y0wQF0jTuaEdhc4pynIeQU4
/EgirM9rTLuNO4FFtgMCsCyV4AhWjKsVzdynoLpmRI0qBiUDelZXUUdHZqUxOjC2nyJVtA6ke9Zw
Ne0N0LOuwHkR3CdQjzxCocfvjC31vocwTzv1AHICGOOEobjHsKASWkWpaZnjyKshGghtepnO7sY3
t8pxYf6IRX5t1IfycH29y10kSLuCIN0EI65rxXAMK8C8b1HFqIyLHDJJZlmqmrhRmrujoD+fnvMQ
kvlKVhd37gelLxis6+OvjCexcGy45OgFaNynMNqtxvRLeaqfoEGUnh87QkWrhOZOk2eVAK7U/HUt
l8lolst9oU5cAgn1jaXHk0P7qaFGKneeZmXOflrYBAqcEDaAszkZ3ECVOBUsC1XxRLAsTM3TwLJw
VU8Cy+JUPwWsIlG1E8AqSBUP46oJ1RBY3VO/sng1TvzyoRx8+yYnhXFdPXuNaJxgDtsqnvdCZmrl
YlLeZsR1dymPufoC7s1hH73tgczVfxWZTT8FBD7TPbgvYvfYAXREBxBz6M2Tuop2R+3PKeO4EcBb
Ql1rz+oBXemmiHnfMADelbLDBuEa/G4az3irnKOcVgBQkxmB+RhDvwCPsjp4oK17dtyTbJfwqtum
C9kckvWoFc5tF14xV9TbYcBi8N+xF5wi3cE28GSthjpn9M3R7Ecvs5JQ5GEnEKAcrOIwR8d22hOi
zAXDa1dq/rtcrpzSymvAjHEq1IfR28UiLBR03YCWX8o/Rg8KU9fH5PXK8Ah8y9kKqgGwdxm5UiDu
do0COzOJ+USXpaYcJU0IN11gmh3FhQAaIPGgFo1Q1ajUmP0EvwxnMdmDWw9QE6TQaxBw+JA+sr9J
ceYtvZmmSwWCxR9DZsBcBHrF1XEBafP8kF0wGFUiGAJssHrHkArgm26ODl5vwqMuUxB+6X8PTB+a
I31zjFFKkv0egNM/VHTyB/zvFkIWNcq++Qf5/gbEoyQqLpsyiRJ7U6qKVAfoGbZfYZ2iSAcYUW8w
vCOgbXW/V64Nn4pxnFRm1sEb62M2iAzUWCXK++x17iife2BL5VylYtEjXK61e3OT5yBrx3b6oyhK
0hjHoXF6OMFQ7xEOoa/WMreIUBkQQ5PWIdQWzXltW0ckHG++U2jhBog/ZNbQSyERW+MHBNSvHEYd
0aFyQfqBH8XALcePhKUiEBNk84FHqRzNBnjJ+Dogyu+YM3DncWhxhox+IQIqm/OC8ENRR024LCTP
Xy7WxjW1A0jqJbAykRXi2L82Tanl3QqAxjiS0K0qO4SFGyFi6LCn0y3iUNj9jaAqMNpBFxrVLB0D
+CLxQFaix9HTJyyF3t4K8xm57ho6ZZMlSpIQw2GRzo39m2+oL10K4Mjg6gOUGIwAnwOiY5HNQlkC
k56MHHtN1UT7EVAdGht3QmTWxAseCqXaIZP72t0ddc1Kva22E83igj9x3nQo5cbMrJD5rdEK/Zkq
VzoPotgVgVVHJuEAS06iAGqMlSidJGEROJTMHes2hlBhJCcpn6EId5GaIvDmsQDTA2U0a7yxNyX0
wZh7REidVlEYP9Z14CW48DmmCheI6hUpExxnC+i7FWSUvdrs95SOLy5S4RQx5vLkJpZ5c4Aomr8S
5tyLMHzT3Vjj9CH2nqmX1YcgS+K0BDnA4bEL1uVzhDFU9/wAyAF6DgIWpxE2C4opCwBgtogMgCav
y0C9Y2w/SFgkufdodliB4wusJsPst5uREwaYPSoANsRP2Ut1UBwHsn0Lq+3tIBKOlvXCAdYKcGid
je3YXb4S64YdwLEyl0fIPFDvuZ6E5uM5arXLViSIq4f/wqKowzlaC+gv6y7TLlMl7pu8R9xuJC1P
Pl+w5DHLt9FgtwwCKPf7iQ4z6Xh18fx1DsMHb0dqkQpJVOgjtDxONwfPi3IWMBy2T1aI+iGn9Sxw
BItsx5DYgeoYo/gWCZ3NDbx+wZHON+lv0ezlAmWxNjr2yX9KiVOLzzekiqyt273lhHEiYQMuG5gB
8j/qhxl2Rm2fQe8E7czQIgTK/hx9u7vrkb3eBGz2sr7eQveMDo+5DUeuCBcyJF6FKKQ0Fte3hmcL
VTVyX+LUzqOyfrD4USoFifGYsc2C9gcxAk31zHC6cev7W5qJJx2r7DCilq5b+I1ZdxLBdn9fn5Ei
X3U76imFXCQoetAZPHsT/4m3xGKgq9Ofsp0KAeGaGlgUOW4YHOTzuKgzU3YDQJ8KSLhymjjKAm0a
AjQA1UtNR/cmsA7rr0NjfbzbrCrDolq1Gg4WTpL1VlWGpCIMaOKURRktz2hjRGO23IjSgaLBMri1
h6Idv5agDp5NR6KPKHnr2Uo3Rzo7PcprMVZKoLdsHTvQVor7nGKnU+OyGJpuZw4B9vbkeEMgAFxN
P1ZNfab5fYKf79QvHO9iq6RHyCZuAAsegiJ2FS5A5EIgqBPbG1SEZ8QAPsQ7dvsHyXz6g3DPAlhV
WV+tHGPbEdDBX+uAcD/HztsuTRfRTfAJseeAqTBZrWZH1P2YcJ9DaxcYDHF8sj2TM+SFL/rjlIqd
+6aE+4B7TbvwgyRIwhFx1tVg8kBQvUk05zbJ6MEc2eY1mGjvN/uwsndciNJNyCq3rUirPlJ/qdbV
UJzg1i+jHoY+Zs/OvHNamXz0pcD/MEJDK9AgQe15iQ4wNZBukVzkIrV9IenPlgt15gtqBH44nFBR
1rAVskkgNY5G651mX0G+2B29h5Q4HMMRCezNwWBe5ZQpf6gFt+nak6mT6qs8YX/7inG9S5eTYPnz
yWkZcFd//MnUhuqCec8neTNYlmaEi6erg/wcF1GestSpADqHfKGmIBOlM1fB0tzct7dRUstbOJH1
3Zo4XhP2hiNbh0m97VIyh8WVeI+lStgeEf+Dk6pQIAfIq4Blea8ceexdU+Zk0LuOoG1XglYrqKD3
jTCEv4cg3CNozqiySd+Eu+bwDcfmBV1XGhbDpGMEBhEGRS1ywoikW4E3obsDQIEUuDMumoQJo7aN
p3KU5G1UWwWnidEz5WS5xPHFOjDOZQJdf2CNGxxqR22vpOuhJZrjJoDfilsTuyiMeVnR6V4FEECZ
7Fcdc8ImzVwfidfKajnLyUJ6YUCHwZk2Nssl92zfMoIcu7ADmfQ7HA0ZLWSqKYbUuiBbuQKpl4X5
30Rfb9n7UcrL8jp2mSy4Wy6Unt5wUnjnY31Oisb+DYt0V994mC7vMe937wK1PR9jfZv8feLah9PG
mZtYREi4EvcGo4dat5WcndkFmmHYicDddWQV6vTV93vLl7X1eRxDIkeGYdt+bZ050S9WF324JvNF
AjdhBMjcNcV/eyiuBaMHWMutMPzE0WpBIrGXwnmpLCiO3QqCbICFOlQGnvQu4BjuHhpm1hpGrY/W
nvKcp6uXJlGWPd/9HdiDrLkJBVo06USWrN0PXgxkks6hFdmF8mn36UwZ/Xesi5D6spNAi7715bOy
bDFZsDSJe5C7tHD8mnYBjh1ZGbIMlogI8fjlD5C4oSMzyCsz89yCJJBwldUON8XfViGgsoaxzVcy
bc71R2riG2WfAu98jL5QsyI3jX7hdmO2wr2Uu+46lWdB94g20FtudJAI6cpwoQcoxqspVB6r7epX
Tln3JcnmPgCt4SxBYIAeth2pWOp8hVse48cu8BBefk5J9JCsb5iQ2bZ3xlRHwMmyY3zlhRWWyk+r
1GR+Znmv25v+JukKLmrIBknW1FaNFQr5MNlZbk2TtbPKdPQIY2bO4XAjDIrcntJIv1BOA+BwaYk/
w1cTKIm62tHoxD3XLnTuVUcojnXbuSV7xF01ocReqROdaBGULhRrXNJ4NINoNADIRP2sgaZPJMJe
ATheJVDuDNT1ohU/+VeVDWS6QPIaiZFc6GoEt1ZW1WG3avSMAnarPJkmrYTwSl1gGYTuHMttEKdn
cUgqUr6brNLEuSGjO1wEdwRNsBxiHAu4TihB6y5KBRYQ36vV/QVeoEfifONNSeSsM+jaNFwpAVwR
1KzMblOxeOlJ2omidAnKxeKlIY1/JR9oMDPlREWxXOwqvwZwqVlpe3XbNRMywGXRGHLidC9nXNox
HuDNPkNtGiJN0nsZFMuUgsFjTWD0aXCBMjcM6VQv3WWdd0NcMEvHSVnQekWyenSvBbm6iSI0l9qM
u43fG+MYqo/B234yrbJVGKzbP5vnq4zJ15I46eO/d+Ob/XDxg5fG4zDBgmRufS5fuChqMN4jM70t
KN8Qz2sw7k7/bnp17onmxKP4OGIx9kFJ37zrhdLYFJu79ix3oKd9g/tV8oUUIdvQBx3XkhAHEWde
vqEvlUPphFqweDHR0WzmeHWCg7XjlWNLhmIb4EyyiCX9CpwV+k68vmeIx6GW20C3K3kyxsqhu56S
7TOVU4YwmmSXNfDfXVRTnuz3MGQ7Ych+C0O2G4bsF59kL0WEVtgnRVPRMkX3/onCtloQwkP8lBCK
gxFu+6cMifsXHKOHYEyfBqN8Vo1ykU/Wef+h++ywlxIDl2nFxpObQL2L7Aizy2Ld9Gn3hNpfsrUJ
DKEbmItEB5nKDTkvGEt8Ux6gZ/W8shLvhAkNQ9joou+0u1mKsFkhhFCyoRyAZaOLL4gHU0cY2obv
ieRuJ7wV+A5De5dv2Cu4wXTutECqLEE4FKj9RhwbkWKDJsLBGRxTtxBGYWFoZ3ybERzSoWnajuvt
Kt4nGP3LZ6jkkx0aZyZloEQYgyWClanpzEFwCBsyjQXoivYFdmgy8idumtpj5riYbCsM2bY/stlG
lX817BNuhSIcTBWnoQifhSL8viphh1G4STyEdSumcYAE0wuTDD2RjOMxhhM/tyQaG3P2mg2K9dXT
N2SGI3virzuImxODVhJqDKeQc3LIp5XvX2HtM8RW2t9uzohNXKGxHRO3Czg+dsM1Wd/5uC0PuJP0
fgPpPALyMQq/KP2fsiFDqVZues6uadmPuC/kGwar6u7tNzpM2mEQdO4ZlwH2MaYL7Ng+dp8JJ74P
JqPvC+FHilSnUJh2x1knAXHag8VAqStFc/i1HZ3rTLjRCkVErrdYAaG2tTs/BkzfBUrmYyZ/DPYG
WE3eLIF+5KbM+1G5ornbPW5++dFXHb1hSlcK/yiOFH6aID5Ayuk9B4Q3FU04bsIQO4nEnOp6/ibg
tqI1BSt0PvREIq5TOLJktL3kLQ+4Re5a5/Tf6GtMugmBjoHbi+wr18PZpmg4d+7M4Q4hpWpOYtco
J4dHNxkThuTnFMVBLo+BJD7oOYoRd5xVX/HjJgNJdH0wNvUdIsCCYo7hBkU4zb9QpFzkOMjTcRH1
noqfJgsUs6d6GEUq+4rv/45as7LlV3H5MIXmhh7wxrVktSWnvQDDJ6OtiwugVET7xKyspptyx4Tw
HG5dLaU3Glw+QlFxVk1ar/T/g80FDlmMO3GMs1qHeJCaMEJju7WzszJrPYJ9lgCb5RC4Qb7qZ1cW
syNVIHKfStwE2BXhWD+dXY+8ecmqzve14CDFcfPgtq02vC0CyWdMZe95K9J5CaSiUdHjaL7TT6/a
tottHKRJcv3/7q7vOXFcWb/ffyY7ycw9uy+3ioRhhzoJ5ASyU7UvW44tQGeMxLHsMOxff9SSzK8A
lm21sO7L1CQBfd2fWq2W1GpFLLF8sfBIlHPlnzhDaVdffdp+tmG7lXSTWIabh7HXl9+cBV+9N5t1
yYEQN2dbksvBrz9XnNm5Z8tG1boKodmV/FyUqp0gZxQkibuWEMhMEhQyZbMIZD4Qajtc7VtzT6pp
GIPYsmkMcvXxptvWEMjVDaOQa5pGILdP4W1cq/2BOs25p7dsGYPfbdsIBJtED8s6/zYtyrW31U0/
67bcd5ZqFqOndMMI3QSHQ9aZLPUatH4KzbbZIcvvbh22Z520Va/BR/qD6PNA501jWMBs2/pUtmP7
YLZNy2aJRa2LRNRv1P0QPmwfYywfISB0qTplIU4bc0+0bheDYNMyArHPGUnUGz3uG8QQ94VE6Xee
pcnXnxG8vKO90iQnq9cV/NvnawbOpSxjYrmpjwH9Apdo3XnjY/gXuDJ9iO4MaRlR0MF1e+5H3LZp
jEG3axzDkC2L8li3hSGkuosfxbnj5tzbQdkyhhls20YgeMqdRqplcziiOg0uy+bai1r5SvNegVbE
+1j7MKrCrq662yfvNCa2B+jnZbVTNaUrdVntpJ6f3WyW82xp90byaWEuJ8M+LCIYa3YlC+ohbEvA
TTl/5FaGXA9gJP99TgvhGKj6FfKpbDFDOBcZMzJZcLv3qfdkOOdHc756ilghPfTGYZNQo52vSKMW
LahdQPXTaSR+IKWhSGkZfPWJ5Aue2L7y9lEwa1ORUir38jG15hc3FZCgMATkk1gWnzst06WSUiRT
Q8VuLqrXPH8nWTQnpmYoJNOMGXxfFcSJMgoFLe95llj6J8fY3yLhD1y97ijkfwS041XvI+grqa2L
IF1Hb42Np3iu348fshkf8Ex9B03RXH50VzbfMVy1x5twCCt4anA/uL07hwXWp+rkTL8JrMqTjrh5
4sZKy7OiXizrVxYO3JZ6VS0MGfhgfFiTee4MzqJDYbpPptqCMQJcsj6AsFPqo1AX8zcwEQ4+ORQm
EckxCDxw4E4Jm15fkKRIj+LcujHLhUAMHteGWkd8uaS5pTIHIt1YtKuK7d2TOWUqjdghjOG0F/+n
kBMKbMPLIZbaHgjboqjJSjq5fDNZ0zxewAr3I7J1EFuLQV2ucChXVgmkP63d99E+wiCCKQcHR9sC
pib7CCiayOl7a8VQaB+aByCBiDFZRyuF0S9g50hGEjFJWo7XGo5HPQH6FMWL7UvFZQTh6CKc/HEk
x1JP3W9Vqgul+3AG5TqtPfhZcS9URZqQXNOph4Cp3C9/K/R2j/41ogA7I1WgUJ7UeEyWGGngj715
RBkuD3ulUY2dbUUzgugU2L3PIQq0N23s5IBnCtair3wVJAA3mEvaCSE7ZVLEMRFiVqR7zCjB/Mm1
Y0R8p2mqUovV9pKy5V6/rG47XRAYWE1cRUN54CJOLpfsCeD+AU9yIMIC+Wp0qHL8fqjfOSpF/5hh
KzniuvvUl8y4U0/fsHfrB14a23/ENOBfsOEo+shDvkSD4Op7RHM916lHyAEabqOI54zP5XQjEOXQ
VeHFXyNulB8zok4axzPzJ5/g0zVX4MIHujJmPemCjRnAZ6LO8++L3IfRlQyoS8f+O6CcCU0kCd79
kQtU71mk6YNlRY/WGPqSK6hmIuYheyP5mhDM6OIoOMe3od/lzLDF0S8f70LqcptKoEYO6v4bWA4M
pBIy3QwTXI99iAtourrWrsNhaFO176qu+1keJjgQR4KWFuDBi1dBw6vojMOLN0fsYI5CyqhYyGBR
p0qpd/OUaFtREcEP15Tb0SF5UFEjepB4iC8n+90vBlEqriaIP5M8Bnbb69Urem11kyKbRTFBe2zV
tK+fvBG9jKgHg0miC/ZYHoGfEPVcAYeIUXhQCN41Mshqo7l8V2iyiDKSwCa94q0VejXFgPMg59rj
7dpfnW3XapLlqkCi2DrvY6kun28U5gktKHAtXleqpNMsxwFSAwHAzHGKjLbGjOBjSV8/SKO5cjxI
FKoXkeD8bswsjb4Fxghq4ORknkXphP5NPlnvRLvDvMU3xXue53z5Au8j44BNircX6aQtjw6aN3+L
3L5yh3ACG8vfuseSPd/7SUUvpXOmfavoy9lsHMdpkRAveJNoJqNp1UKCQyaU+6AJmcRUCJ4BmWD0
vrC0Zj4Rn6MMnpNVmSe+MEccCc48x/UEm5Fxi/arZ3xl9CrpUYU56svDBOqA5pttnTDxFFGmM9f0
5KMyAAROWl2NGsdtxUflSCUTC8fZyhf5ccJNKbZTblSyiDP78cbNObFRuQnEbs6J3YIbVQ6RJCpk
cutxkFixERiJj05aiY3Ajvhw61GQZyQbwZF46bydIPgR5aTSsFyJpcx4rHTSUCxldsdKEIGKpcx4
rLSzFWRnayl7C3Z0uyy4cKWG3LjsdNLX1JDbLTtB+JwacuOyE4rtIPgdyOLOp1AiPp+uOVyKFEH4
nRpy47LT6XmrhvxuWQrC/9SQG5ed0GwIwQ+Zk2Xj7cazGZxuBOGJakmOzVAnZ7JakrtmKAhPVEty
bIbCsSE8P6Qus625blbFXhlhIbmjWgp44qvLhlVLASS+gtp/bqKIJ96CszMEP2ZqDaygrJZGntA3
yI4LI6iqL74XrjppWfXFR+EqiECrvvheuArMrrz6K+MxsRKHvJNnrc912Oz0XoQDvfywGrgztNbn
OmwG5i6t9WnBpn5SLwzfWCGrexY6aS8VsrZnIQgfVCGrexa6bAsY+Y9EvcUAdSHMXYQwsiCtxUbl
ppuZbtZiO+UmCHdiLzYqN4HYDZ6/UTUVUqqioaAuetSQH5elLpuQjdxu2QnJ+djIjctOKLaD63+e
IvEjpGCnSmY8VrpuL5dkdsdKaD7mksx4rIRgKwh+RRFrrumqevz64m44idpNFPDEVydNqokCSHwF
4ZiaKOCJr+DsCyOvKc4IYSE7sEYa+GKsmyknTTTAYiyMPMwmGvhiLDwb8xGHQWGYcIOwKul9MBXG
9FglPQZTQSVk1tbCB2Nh2ZaXuCsoh1VffC9cBTIVIvqs82CBBlqI3soeLDC78hBfQQm8dBN2lGWp
gz/WgpgVLXXAYy3IbS9LHfyxFqKt+YjDQnRsTZXwyFun08ebKoPIX5jRGr6XqwsZRuSG7+dOrW1H
PF84z8PyuDavkN8PW8HsZFTIj8NWmEeU1fL7YSs02/K1TxaS42qigCe+wtnVwPNdl+DC3THD8151
4IKzLw9x14Bn6lfj2Wyc0TllQUZf1lr4ZC6I2dJaC0zmgozKrLXwyVyYNodRp0EXroGH+mRT+mml
r8tVvgmjKkNd6TGYCqM2QF3pHTM1Ct2sRn4ta4RiXNjlPBoo0oK3u2RbgiEIs7KQ1w0bQXgkC3lb
sPHK5CSak+Qu0Y0FYSC2Qrfg5Vk2sJKxBX0nYZlLHcEd83NP5CIzeZDfyqJgubJRom0Evo8B19Lh
qduAig001KEVa9mcPNOfJN1e4Wcq2zqlK1gBBEJbMyVa8NZjdBnl8nfmTeVP4731eBCuvpEGDhn7
JXjGfvHF2PaxoHApq6VC+6q++3/SuGLKn6NMrgpCqrndQA1U7kKsJ91AHRQO8QrYeLdB5Fo2dsAh
PcPQUJX2NRdMOJSEVLWkSmY8VrpciaJKZneshFS1pEpmPFZCsBXc10wM2CvjITmZJgp44qvrr0xY
K4DEV0gzfi0FPPEVnH3h+a8eS458ZZ/OZgQWBekmJD/WSBHP/HXZ7hopgsxfiKvsRgp55jFYO8Tz
g+rSyHhmfgrJ8dlJjs1Ql03KTnLXDIUUpNlJjs1QODaE4IemfLXkW7ihUFtiJJlyk4UYhEtqqoRH
3jppZE2VQOQtCPfVVAmPvAVpb+hxVrnhH268ZamBL8YCmDstNcBiLMTFZD1NfDEXnq0h+LM+Z2U2
mk64GhEiF6sDnt3Lz8wzXrBEvz0VhHNrr85VuOykKbZXxwuXQTnE9mpdhdPA7RNjnbvmxyjihSTF
fm7ImgYSErZV5go8dnM90lIZDzyGsR5uqcwVeAzaHq8aV5aJc0E9AuhOvatyHPi8XqWWV26D8Kzu
1Loqt52uIelOvZYcH7n6e5LydbCr+jbKXIHHznrWNsp44DEYL9pGmSvwGLQ9+vGPw9kHXBHUfQtH
Ol2P1VCMtIlO/lgN1YU20el6rP5/sFWU17UP0L8vCPuID0WuaZSmm8Cus7lU7eocd/TCk0vVvHMc
yFU7l6pdneNO7wW4VbEF10+U0WWxVL+BhAL6dxhHUzXkxmWnk+6yhtxu2QnC0dWQG5edUGynpd95
ivLFa05TLZZR9osTZd9JRmcbcJ2QB/UHFfSNpjSXvxE0fpCfE1Y8HEp4Uw9rwLO9Mmiu8Z4z/m9o
mbPxTMKsCEtoXKRR9pxGzDnaVxanXMhuNymzUFXrVbL4wLMMCmwxCjPSPcxSAg1b1Vyf/UHk7BcT
4Rq+2l7V4J9mhHzjIlfJdwue5ans3OR2a7+3LuOJidQ6JXqIWel1WcSbs0BPRZrTSzgn4hcLrFac
3nWf0zuPnN415/SBL5dyhLC5OkCSa37KCl7A0X4WrZtHwncXWLZQ/q5S+Qq5G5sYyeGITejmP1kQ
8KnG1NMfTnr3j1/7f51jgfG8lrUdS+tG7dvm/X77W6t+l1+vpfJte5VbW3o7Q7fVt61hP0SsLxu4
T3n8Q8D/5NBp4UTv2jhRG+d2Wt52HvW2BWgDyr9n8s96VdDWyKTouJqfkNWB2r1ZTjIV9aYEZ1fF
yUR6VuIWk+pKhqW5vrofJW9yAfB9QVMyZO+t2cA2BRvhmxLTe5MhyyCTf4btKwdsfGpnG58qbeOs
xG3nHV3+1FQj3tZCfYjSFAjv8GixVaCxjSTJtrUOByKHYjb2FAsCmyhvPMoSU9B7kkfZO4HZp8VO
9Jd2VvCl0klUyN2UjymNf2xpVV5nt8dNkuYBy5ff2gUs1fZQJfkNaphohd5yMMJKa0qXkq1BweKD
4XnrchZrvwqvkhp5YW4F36Az+hyG2Q+60rEKNG2ccGLKjnd42rARvvGcumHxIuOM/r2biMAdyWGx
JKKze0UVUmNvH9nAN3EZZWMDyqhYkOTrO9k/svDsK6wG7DmRsR3FRdwmAyHOeJpO6HJlFVRfde/q
QNR2Cit5ZDvWy+zrK34scrv92w6kLJyVrHHXgi96juZkEkcpcbAk+Py5marye1Vdek7UFovE1tsm
PrZiW++UmKn/YRGxeZc3RY7kbBzBkXcaaysZRHHOM/Vf8Qcl6xXP5HyQYF5VdBPHWavQOIDI+ZLG
bR3b53+0IkJ+vWryPhDThbIQE5sErtdVIiPjxtq32xaz2BW7LHVTMvSDwmWCSYuI8XPLiLHSHxxL
inwwcRKuNcHQc+Yqd1fXSBcERo7Nq5AbsP8UsY0pvyS6fPZ2KCeyaZ8AaxYwad0fOUSeLCc/W8wd
X9od6n6xOdU9IW4L5V/IisBWigv1b39pFTnC16vVPylwUwIGWaS21qJUL65a9DzutvlHQRurrHYM
emn6QlhCslan+XefsD3KKWlxN8TPIjadNXtJQpLdrmW7+AR/zjwlro8Z8yxu480dVb9Q/a3La+EP
orrMHXhIScSKVVePWy6KfOM/W+EQu4nh6XhkxHPpQHgM89SAZ3pdOy5yOPB+IkuebR7p/hq1vuP9
Fdvx1tWknVP+B4o4NTtQ3Tw4uDZQfxPlnLsQapj3SZpHI17uc9QdMjsBbypR4Dv3RT7ieucJGa0M
yrQ3wwN74TyHRBGTxamGrt4GRwKECYkXOeAa9+wcKCOrVJo2fF6dv2sOVdzhHCuWDi4DZXRws3sn
powqm7iLStT1gpBUnVB9i1iSItm+7KfU6LH/HjQCFONsEJVTNziEFzKHsiFwD8gfHJjmeDYTJEfA
XFEWL36Xv5O+D6P5E0cezkEoW9A3aniTNr49Z9G7jUKNtmdQ9E/OlzgDzkoGQwKbb/+KIElCE0ix
GmkHSpIx+0ZlyM2w3NqayrnhELC8WowFaVQs4WSkgDbTrqTXjjIy5QA4kDGCgCzPrTWre2R7mW6o
E+JwznhG8DBGnG2D5QQA0ZDUMsjr/P5EheoqiYuMYe5ywnVHVDR1B4Ek9xu1OcbQwpad/cle0kHm
1n0hz7+XoXcXiHHt9EpqK+x7suEsMWsdJCAVsN0Xb2/nY9HWkaExWTKTDgxtpMuIiSVSBxksgZM2
13MO796jaPdujrYf+DvBcdByYbqIVmQ7x76ynKpZFyVmU0e1k3W0eiExoe9E9KOltH24Qo0S9j7v
EJF6aFWF4Kr1ES+PuN2v6aSfz+hbAQGk+ubX5SrfmNennlEVvAg94rjgHwNaA3wxwGxtMrE+c4Lj
JxWeiBwQpRR0RmOdCyv95pRjRp+zD2cU6vrZw040DL5l6zKuHaegNC+ymOhLbwcHcc5RU8XhQH58
KgFgJw4BZBGJaRYxASG9nPO2FyAw5la95WKUeYjiBeLsegoLe1ieBD3Ym0WYBVMifzIBrzDQE7Uh
NM3ofA5DY4mDnasCW0s5w+ux+BwJ4cBGa25dg3qcHW5e3zk769ElU9QIkYHaUgzAuY9XDVcW+7Le
WAOarAe/kJBi/o2SLMrixcavpgcbtCjQQs+WEL2NOJTgwUYpK837woFt7ZXaWTfsNnOzzXrRPLzu
y2gOzMWHyR4APlKRSyGAdOwRegp3b+5uuLdiDS/RYg9jU4OZ3AC+XBEm9HUfng3oT5I8w2ac/Fm1
C/bep1CzCmbAiDLUDqgh1NZCSdJJ+frSfCLWdamkG9sN9W6IWN5BmuxOgDsi2VCGgGBvVK61d6eb
XeXvhLQdkXBrfRppEeXfItEZjwfyDEUvFfzgbx0ayIYxGVh5kAnmXQh8Hoo0FQeTk0AOeS4gP2SR
WMgoKOO+NDfIJmXD3DAzi0IPMgzFc8ZX0RzyYEwNyXQzbZzs4wrfg1/ZHnteJRI1HQ0USPhhInub
5puKoB8BWSGmmgdvoLf9F557xrxLxpkcYvMsWi1o7J/ou2SvBO414PfVH0IFG1PA9p4sqFxzos+S
F+iAA65Sms13bzLsSfDKVtsqwoj4sEk7gEfqC5UrZ5z+c0YEyd6JuEv8Yl8NeJs75CXGvaw5RELS
Acr5Fmp5ow+Db1SlBkOFHK5PnlQ7sCngC9XPruQB5Ksk9x3KVcvR58P5ndC3jHQbZ3K1AVfz3VWQ
95zcFdC3SzOVapKUhx3+hIDNcDO1eFVfLZbLEvFX6PxysY4eyJ9HBZcmfG2qglNR88iQfaPzRf95
iLmcLt5y+Z0JgVWCAxzLc7MJz3L9AsX2vOx/nbwRoXLAx1K3tM7h6r44Z+h6kV2R98ARYLSuNqIE
+DaTyIEBYgrl4mmhAV71MayMB1M+p9JZtlstWOCaJyV+UjV4x5lOySgDowRi8hH/s09nsxawlpb9
ryJKDuz61oldD1Ie5dC2nHekuqJWcL+T6az5zdJayVFHLVpyM5SMRjk/HPefnfBDIPwEr2Svw6E0
54411bSL0HDMoeGfuC2rSaz2QuAEim0HH9/g++Tw4R+FYG7T9TKiXzFKYM9NerIaG1zNMj12dZIh
546n6dH09elXJ6qKDYtHZN3gWs5ZAc+mk6mNE/72Jp3dXvVILDzQ7DkqhL7vK4olQdYNymSW5Rk9
8DnN6DuNUjXDUVyo3X7v94iW64OyC1W5Vq33cDZdkA185pHLUZNNuf6UHEPyDzTrF5kfUv5VkKLW
/a66OCp+yopVjgcxiaUdFXIu4HOSL+RSEO4bae+Tb4bCXPvwiK82n6AVYwT40B5GUQm1G7HbrhUv
BYONrY5JUW4CDhlYOUEfS4+cr5DHEqQ35wQdSM0G2FOBegai93vGi5WXaUAlKMHUA/5hr1JzsnXQ
8AaDO0dRHb78k2xm8AzGTvuHQi6LDqOXX5xEL2NG1EKlhLRS8qJ858bCmnsCWsgw2g9UWcOhRLOP
x5qgya7aLsZ9dJdHMOgyf3Blt+0j4nbdKxOwOZGU38VDeijeaHxP/qbS5Rw9heAEsdp5qQd8XiS/
Z5ZdbnZXTIW3JVTt4XkOR2t/DZcmMawHb+JYqHtW1Bt7UPBrqkuHbJDCjqMD5GqS+ySN4BVdacSy
/Ym6W9SG5Qt10qaR+PHMRQ5GkcDbJ/rumJWa58U8N/fHC0reiZhGmYyZgSAI1kZygUQFsc7MqoBt
Ru9u5nWzRQJUbm/iqdzfLdGNuT0fHqtQZk1j8pX9B4JeAbOJBESCglDKhN3wZBFTj+a4xxqRn7n6
wiRiKpHj688IcrjG7IVINYFLaMUD8ESN/XSj7vf5Bjdaq/69igAH2isxfEvwLUpnPlTXZdmhsug7
OCdVD0fflcfG0kX3zA/6/j+wAAPLh6oH8Ippl+gWLlldnNdbyEcBxWdnc52ImHp5gEit4KUvKDAG
NaMYqbMlf0LUm1p4MqaolYNqD6j35fXnITNG3bCHjDRkoHLXrU5pvcZge5do7NMemqu2OyutnevR
GPReWntGEhyrPMbaXu42qPY3xhpj9pJE7dgl6qJwecSOizki61cWKwP10YUNkmRaqAYzoh+fYlD0
SB9kfNknIpZTZFSnsJI79B6LVcEJD9gfjNbmYklL8BHX39AZE/lCFctSJowKdzB3wM0d8zCpKiZX
4/5IY64vXhY+tSRsPEytF0ktVfEKpI9A4gXHHBJgk2pzPRkUaap/h6thg5TmZli9OC6WBWTgCFVA
6oXYFhU9h1cdAfdUjLHdmTs8DfjiZk8io0uIzf8kGdc5JdbXZE5Kd3MZRsbVWxQ0kPJwzIM+PXi0
hkXWR7tNMLaHUmgIqmfsq+Q2gah7jtiIqEKG5bUSV+qgDMU2USVHHi37UKgjZh/Iw6jZh5Ohg9ku
RIRBbBpOiMXJs2PnoJKnCaT0m6W0KWWr66Brk2+taeVcFLH3SNz21Ux7n9FkTtokiF6oowQ/QvDw
SGck3sRSxb2nGkjSJzOSWdaJPCfzTSPkEWc+wa1hP4a+rqCd4ja0sFvHaarwI7xgAnV4LJcsZwWz
0qsnBI/hiDJ5fXl85JLXo5zU2ud2n8/tZU7kv+OMzimbFLFcfp4vbHD4lNZZEW+qcKCyY0YvnDar
B/XaYD1kXAg7pZwBqaWSwjJntddDHmjLQEJ+IYkqOYSrX4lyfT2v18dyyZgVsCOndv6fSL7giR+s
b+DKL1Rv/uzKdjWQjEpykupLPr4w4bWjtXRFKxmzkip963B74Nv3fhD/9z//BVBLAwQKAAAAAABT
o+tAAAAAAAAAAAAAAAAAHQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NzczMvVVQJAAN+4f1P
i/r9T3V4CwABBOgDAAAE6AMAAFBLAwQKAAAAAABTo+tAAAAAAAAAAAAAAAAAJQAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2NzczMvZmlsdGVycy9VVAkAA37h/U+L+v1PdXgLAAEE6AMAAAToAwAA
UEsDBBQAAgAIAFOj60AHykg5TwEAAGoLAABMABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3Nz
My9maWx0ZXJzL2JsdXItZmlsdGVyLXBhZ2Utc2Nyb2xsLXNlbGYtYWN0dWFsLnBuZ1VUCQADfuH9
T37h/U91eAsAAQToAwAABOgDAADrDPBz5+WS4mJgYOD19HAJYmBgVmBgYIrgYAKKiIqIqgMpzRLX
iJLkjNTk7OLSXAbDNMO0ZCOzNAtzi1QD48Q0w5TUJFPjtFRjy8RUwzQjsycnIn4yMHD98XRxDKmY
8/bORl9mRxHXi6ZSnT1iGk0yOxm5FvBNd2PWnu7CHMC0rWTtwcfFj+T3fMhacvfwcTaGA/J+v+t+
frS4n8POcMDI77pM//voswwMFQGP078xMTQctTkrx8CwQaqRlUFAOIKBwXDIM6Q3szMw3Gmsva9v
/61p2PgKxNhYOGMvA0OC4eNUcMz1fL/JzcAgZrzPLt2fgeHH93vrLOVuv15bxsBgs2yj7fl5wGid
tvFnjwCDwlP7YRMGo4xRxihj8BSzjz9W/NworsPQMOMAE0MH5yhjlDHKGGVQl3FD/5AY30Pvhn+6
wMYzg6ern8s6p4QmAFBLAwQUAAIACABTo+tAL6QsajQBAAD8DAAASgAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2NzczMvZmlsdGVycy9ibHVyLWZpbHRlci1wYWdlLXNjcm9sbC1zZWxmLWRpZmYu
cG5nVVQJAAN+4f1PfuH9T3V4CwABBOgDAAAE6AMAAOsM8HPn5ZLiYmBg4PX0cAliYGBWYGBgiuBg
A4rMKmsqYGDgOezp4hhSMeft7YO5hxwEHC4y7jS45WHqYJp5eOUZy6ddExznN9yzfpu6dmfd2V8b
zuYwMzAULJ9fuvfd3uqaZ0DDGLZzCDAwKGz+I8tnvPu6BgPDgee308711x1mY2FgOAGWU3ZgYGjo
YWBkYDBiGsaCm/dUAYPjwd41r3f9XsfLwcAwQRAYPg5uDUBRSUYmBoYUlmEsmPbTOsf4eTgfULTG
ThoeSGcK0559ML0ezg8U/5N//kXb4zNnvr39zw8MqG3pJc3qESCtljE2+4Hy78orH4y8gBsVHBUc
FRwVxFKkVn4Fih6otpzrt/v9rdHQGRUcFRwVHBVEF5wZ/yRFvMplnWkhkMPg6ernss4poQkAUEsD
BBQAAgAIAFOj60ASCh0otAEAAHcNAABOABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3NzMy9m
aWx0ZXJzL2JsdXItZmlsdGVyLXBhZ2Utc2Nyb2xsLXNlbGYtZXhwZWN0ZWQucG5nVVQJAAN+4f1P
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
qN/dEXF7Is7SR/Dv39/vFev4x6aCtW14qNuI/ccfv/7yfZ1fm/anit0cLWRBJ0HoNAi9C0Lvg9CH
IPRjEPoYhH4KQdvGmgUdJMs4SJZxkCxjryyxz5L74AydBKHTIHRYufdB6EMQ+jEIfQxCP4Wg/X1w
hvbKUmgAZLlPsEkANg3A7gKw+wDsIQD7GID1SfqH36mt+0PG2RZsQsD+3NRdSN5TfGj+Pmn/0BRv
5LJMsEkANqQMuwDsPgB7CMA+BmCPAdgnOtY7r0yxAXLzrms/9F3X1OQeMUOH5Z0GoXdB6H0Q+hCE
fgxC+/rHqJh6G3sCTejQlA7d0aF7OvRAhz7SoQHt+kSGekfdBEqXlnfM/Vi2aHcjT8Q/ls9kKDy2
QwZrixwZmFCBKRW4owL3VOAjFXikAp+IQG9/GoDUBo+pDR5TGzymNnhMbfD4QAVSJRNTJRNTJZNQ
JZNQJZNQJZNQJZNQJZNQJZNQJZP4JEOdUaiqAVUpoKoDVEWAqgJQF3/qsk9VCanqIFUVpKqBVMMG
1aShcUR5xER5xER5xER5xER5JER5JER5JER5JER5JER5JER5JER5UOeNhCiPhCiPlCiPlCiPlCiP
lCiPlCiPlCiPlCiPlCiPlCiPlCiPHVEeO6I8dkR57Ijy2BHlsSPKY0eUx44ojx1RHjuiPPZEeeyJ
8tgT5bEnymNPlMeeKI89UR57ojz2RHnsifI4EOVxIMrjQJTHgSiPA1EeB6I8DkR5HIjyOBDlcSDK
45Eoj0eiPB6J8ngkyuORKI9HojweifJ4JMrjkSiPR6I8jkR5HInyOBLlcSTK40iUx5EojyNRHkei
PI5EeRyJ8ngiyuOJKI8nojyeiPJ4IsrjiSiPJ6I8nojyeCLK44m8H6RuCKk79Ji6RY+pe/SYukmP
qbv0mLpNj6n79Ji6UY/JO3X6Vp0qGfJmnbxbJ2/Xyft18oadvGMnb9mpe/aYummPE7IVhSoZ6r49
pm7cY+rOPaZu3WPq3j2mbt5j6u49pm7fY+r+PU7JBi6qZKhb+Ji6h4+pm/iYuouPqdv4mLqPj6kb
+Zi6k4+pW/l4R7Y9UiXj3c3/XLKq+Ex3vVrifVULcfwIcfoIcfj4uWlv9DKM2CQAG1KGXQB2H4A9
BGAfA7DHAOwTHetVG35usxvZI2kGTkLAaQh4FwLeh4APIeDHEPAxBPxEAYdMGAu8TzT/IPurjUh6
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
xe/d54YIC2kSAaw5/Sk7UVaFETUJuzC0IjzqSshiUDNv2autG0zx4859PLfyf8XEgrm/yu5Gnmg/
tU580KeKdUdDXqq3+5XTsMq9uiChfSA8cKDmSKnPpC9Rs51QnsFTNs8qOoWIDCuLDzVGabZjxrUc
zwF9cGsB1c5NP9hkXP3XmISASQmYHQGzJ2AOfoxhrV9jCHWPCXWPCWWOKWV+JGCOBMyTH5MQ2ich
tE9CaJ+E0D4JoX0SQvskhPZJCO2TEtonJbRPSmiflDB2UsLYSQntnBLaMCW0YUpowx2hDXeENtwR
2nBHaMMdoQ13hDbcUzCE/rwnyGJPkMWeIIsDoQ0P/jaMHx4ImJiASQgYSnn8MpX7FAzaI/cB3EuZ
qISQ4Ceoh6TktkMu+6S11cxLNvLSjbzdRt5+I++wjUdY0828jXKIN8oh3tgu8dZ2edzIO27kPW3j
JRvll2yUX7JRfgZ9Re+A4XzPNK7n6YknPfWk7zzpvvIdPOmPnvSjJ/3JnW4Yp/N0T/vFnvaLPe0X
e9ov9rRf7Gm/2NN+saf9Yk/7JZ72Szztl3jaL/G0X+JpP9/4SDztl3jaL/G0X+Jpv9TTfqmn/VJP
+6We9ks97Zd62i/1tF/qab/U036pp/12nvbbedpv52m/naf9dp7223nab+dpv52n/Xae9tt52m/v
ab+9p/32nvbbe9pv72m/vaf99p7223vab+9pv72n/Q6e9jt42u/gbr/sxOcrftSyysdoKrzIeL9D
RPYCHMcsxj0jrxz8zatuiIIfRko3kEIp4JeWbCGlW0i7DaRQCp7hbmkKSSR/URr5dUReDA0BN0WI
ZHQ4BH9Vse+MDvg/GnOIbzhc2gjjiZ4MZxB5U3N4jqZmRRgfTwybiOdtA85JxFbGMyWMnnbC8AER
HpTxjWQIopB3PvK0xjJeCXrZRugfDBPABKC6gPlMZ5ZvD89GyHM9GXuiueOp/qnpuubm5MoboELm
85pNsnTTm9u9Yq/6dBE6XAhrrOzcodTCk4/S4GNF6pbQDW+tWs8ZCGQn54zPe43dG70LWbH2avMx
uSBisBAVViF5DzmAi57PelhEp/7i5Ko+NL31bkOWhbqRDuuXqd966F0HfoJwbKyvCS1Pd1vmnkX0
cZk6P6zmAcKtJHmxb1rayfm8f6xV7Nyp3bsYZfJvTgK6IYxjCn0NnITB6CfqFJEqNTJQfCLJCZdu
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
bvKwbeFrlxGZiQomaUPkvXEuBkp0ACgMha9MNpUfS0tYGwceRA24zK6XrABfikPGp7aMZQ2/wCVA
3WQDcd1HrUTPcf/KSYeXx/NGk8MPjVHhub6vt2mBGhVNh2tFNIYAQhCjZIykjvEwAsR1vGe40cPq
DXkY0d5AgTGXlEMqep+O0BRG/xQzuDefQBivWa6CSnngJH7CnbZ4Rw9h9JJSZmX0sb/UoSXF2amA
EJWFjqf6o7P5DksDa+nKWrq2lm6spVtr6c5a+mQtfbb3xqO92N5bvr27fHt/+fYO8+095tu7zLf3
mW/vNN/ea4G914IRGbP3WmDvtcDea4G91wJ7rwX2XgvsvRbYe21l77WVvddWI1PT3msre6+t7L22
svfayt5rK3uvrey9trb32trea2t7r61HVjR7r63tvba299ra3mtre6+t7b22sffaxt5rG3uvbey9
thnZCOy9trH32sbeaxt7r23svba199rW3mtbe69t7b22tffadmT/tPfa1t5rW3uvbe29trP32s7e
azt7r+3svbaz99rO3mu7EbXD3ms7e6/t7L32ZO+1J3uvPdl77cnea0/2Xnuy99qTvdeeRrS1EXXN
3i3PIwrZ44g+9zhGP6LRPY6odI8jOt3jiFL3OKLVPY6odY8jet3jiDo8qg+P9N+YRjymEo/pxGNK
8ZhWPKYWj+nFI4qxP6IZ+8HYgWKk/0aUY39EO/ZH1GN/RD/2RxRkf0QF9kd0YH9ECfZHtGA4MB/u
mKP0zJLomMcsjToviYw0l2wfJyy7lvEl/puf/IMpRKsJRBQS5aM7cnrvowMn9MoJvXZCb5zQWyf0
zgn95IR+pqDR8+py9S4Yp/0gDE5wk+dCrHHDHqOxQt9DfCdejIhMDQtosBUNtqbBNjRYWx5ul+Rc
ltec4atgcbNS2/e6hf3bhB5pDwxheS7xhfUGzk6kHg7AFRg8ve48wLCTng50KCvb7n12MODg7via
pQXTBRqyk6sH8/g2jt4adXuHwZzZ7cCuPa8BOzlkIAbKwf31GFnKbnFRireGCX3cQDLUA2yZDgTz
cqvMSQVLjmRmOQPvO4x5dU8Pgzj2Y8RipP7z6y9i6GphViXoE/BXFeevxdJc4RXoYUZd+bC1+U1i
pATu1nnPRqe/mVo3mZt0OZ7BCTs33Gd5OZE0z8P7voJg2tMYyKtaFHMUSomazW0aAzU+06jhoXlY
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
wrJp8Ms8RbXMIbBLdkS6dFNngB0jZIcjuUxWDN7hwzjtT1EkwY6ME0N7FHNPnyWgy04lI05rDoyB
Ut/6dQndcvQ5KL6+gc8pGsGRaR63rTBUz52k85/lloFGttafiuB+1UJ9oigzkGY9raq2sL7JiuWF
9WWywEefWHjPxqqelR/5AVBLAwQUAAIACADqsOtA+9Ctc/wAAAB1AQAAQwAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvY2FsLUNTUy1mcm9tLWxvY2FsLWFjdHVhbC50eHRV
VAkAAxj5/U8Y+f1PdXgLAAEE6AMAAAToAwAAPY/BasMwEETv/oq5pb3kXt+Ka0ohaUrs0rMir2MR
ZddIqxr/faUGfBJiHjtvmtNndzq0OLZd9/re1vCOCS81vtmadJ0U/TpTG4KEGo1hFkUkxRxkpqAr
djHYHWQEJ++rfnIRSlFRXskowY0w8GKNx+g8wRqGY+vTQFvQdB2irp72qJoUArH6Fbpds4/mCyEk
xt1wMj4DwvhxPMgSc5R9I2EhDIICT+a3FIyJrbpMencjzEanXg6l9ExRUrD09AxJGl3WyTPezn12
qD7G3E64GHu7Bkk8lEEreS9LCfg/LdaLiXmDGWjYV1VfXL9MjPmHw7Ys0F2Usu8DrP4AUEsDBBQA
AgAIAOqw60C7vm0+xAAAACYBAABFABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2Fk
ZXIvbG9jYWwtQ1NTLWZyb20tbG9jYWwtZXhwZWN0ZWQudHh0VVQJAAMY+f1PGPn9T3V4CwABBOgD
AAAE6AMAAD2PsW7DMAxEd33Fje2Sn0iXAhmKxEBnRqJqIQpZiFQN/32lFvBEEHfkvVvWYnA2x5wK
Y0bJIFSNVJFLZUQSFIm1Jz6E8+0G873yCeHcW2PxusOPb+NG1HFntC54knSqw6CCzyJJNxtSpG6M
jZEU07zSzwzIXaKX4azlwfgmXxe9zNArm/YW+eUV2t3KwNGMt+syGMJ7HumMO8XHV9MuaRbauVbd
piB/6qTeyEYHSpxOISyT9YPMxobL0azxU50H778x/AJQSwMECgAAAAAA4KPrQAAAAAAAAAAAAAAA
ACEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC9VVAkAA4Pi/U+L+v1PdXgLAAEE
6AMAAAToAwAAUEsDBBQAAgAIAA2x60CBSnetSwAAAKwAAABMABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC94c2wveHNsdC10cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJyLnR4
dFVUCQADWvn9T4Pi/U91eAsAAQToAwAABOgDAAC1zLENgDAMRNE+U9wKtGzjwAVZcmxkLOZHomAD
6q/3t5inmpSGg5mRK4YaAVMnFtA46YVbUqUbW3LnUNdXxMBh0cW+juJVbfvl+gBQSwMEFAACAAgA
DbHrQFBdSDeMAAAA+AAAAD8AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC94c2x0
LWJhZC1pbXBvcnQtdXJpLXN0ZGVyci50eHRVVAkAA1n5/U+C4v1PdXgLAAEE6AMAAAToAwAArY7B
DcMwDAP/nUILuHr0lxn67AKKozRCZSuQZaTdvkmzQj8EyQMIZiurKIVYBXY3H2AW5Z8MiFhq4FMC
Nx5fEikvbkV6Sbw1vNPHejy4RcOZWuC7KTo36565HSnSSFOSsppH6i7XvQOVynADVi5cA0562clw
WhigVxr3E2GgRtM/zlRrPS/HEAWpXr5QSwMEFAACAAgADbHrQG1H1F6FAAAA8QAAAD0AHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1zdGRlcnIudHh0
VVQJAANZ+f1PguL9T3V4CwABBOgDAAAE6AMAAK2OsQ3DMAwEe0/BBRQW6TRDyiwgy3RMRBINkoKd
7e3EK6R5PP6Luyx15ZKcpQGpikaYudAvIiLW5vhix43GN3vIi0rlXgNtho/0ke5PMjeckznuVlDJ
pGsmw33RMEm+nSsUbgR3oEKVmgPXVdSH84lXhQi9pfEEu0CRNP1RIFwImr4mwwFQSwMECgAAAAAA
hqPrQAAAAAAAAAAAAAAAACQAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy9V
VAkAA9vh/U+L+v1PdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAALWw60AAAAAAAAAAAAAAAAAqABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvVVQJAAO1+P1Pi/r9T3V4
CwABBOgDAAAE6AMAAFBLAwQUAAIACACzsOtAgU9tOagAAADQAgAAUQAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMt
c3RkZXJyLnR4dFVUCQADsvj9T9zh/U91eAsAAQToAwAABOgDAADNzrEOgjAUheHdp7ijLqQCpZSN
GDQOgmlMHIghpS3QBIpp6+DbS1x9AFlOzr99NYkJzr6TRoTEKCFpjKKsYKxiWT8qFzZiko1UYpbK
BkJsMaJ494BrwY4Vu+TloYB7zspzecog997q9uUVINAOpHa8HZUM4DYsOXAHTvem04IbD09lu9lO
3Ai1fMNH/97UPx4apeGKPARhvMR6PHsS4mRFnpDuKf2b5wNQSwMEFAACAAgAiKPrQEyWHAjOAAAA
pQEAAEEAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9wcm9ncmFt
LXRlc3Qtc3RkZXJyLnR4dFVUCQAD3+H9T9/h/U91eAsAAQToAwAABOgDAADFjkFLwzAYhu/+iu+o
lxFbuiy5Va2lUDsJuh3GKN++ZG0gSyWJg/17i7sqePPy8L7wwvvssiITXF65yu9XgvOlYLmQlVJr
JQdnYtbTSffa0KRNWBDdFkwUd3uoW/gegazbvuk2Zds89TPfK5AwuAfrdZlSsId2Ikx28hIaf0Zn
NdCIASmZcLP7QYDnnLE/CLxW6nmtXsrusYJtqbqmqyVcLz+TAQY2grYRD87oBbyNcx0xQrSDP1pC
n+DDhOMUTujJzNmjS5dfjES2/DejL1BLAwQUAAIACAC0sOtAdY4qmtsAAAAyAQAARQAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tc3Rk
ZXJyLnR4dFVUCQADs/j9T93h/U91eAsAAQToAwAABOgDAACNjzFrwzAUhPf8ihvbJcRJXNXaTOMa
g2sXEZohFKPIz47AloP00tJ/XzfQqUuX4+644buj2IpY3uRxI8Q2SqJIxEJmStVK9gOFdWPGtmnJ
TC35pTF38SqJ79/xmqnnWr2k1VOGQ6qqosolUmZvT1cmrGADWhv0aaB2if15jmcdEGzvOmu0Y1zI
d5MftTM0e6cH/loc//KsHzbJP3jyErcRZF42RfWWlsWuqWfKdF/UFST6Yef1ZzbQSI6DhGam8cLg
CdoYCgHTlTF18Nr1hA/ybOca1v1Mf28tvgFQSwMEFAACAAgAsrDrQIs9N6fKAAAAQAYAAE4AHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWFycmF5cy1vdXQt
b2YtYm91bmRzLXN0ZGVyci50eHRVVAkAA7D4/U/b4f1PdXgLAAEE6AMAAAToAwAAzdLPisIwEAbw
+z7FHNeL5E/TSXIrKFIodimLF5ES01gKrZU0Kvv263rdF5jLwAzf4cfwHTFDZd9DS0RpeJ5n2tht
09SN7cewiNZPXdsFP3chrr3/VMyo1Ql2FbxDYHdVW+4PRVVu2vpr2xTfZb0HC/24ie5ZxOh+Fgsu
pTDdEqQZnPdhWWC+J5gvEN21D/AIMQ2vMwzXv2gczvcUgH0c//s0Y5q0DzkS9iGXr4WwTzBJ+n9C
Ccr9Mzwj7tPIKPuEQsr9M5KLnIzvF1BLAwQUAAIACAC4sOtALX90+YkAAACQAAAAWAAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLXZpZXdwb3J0LXBhcmFt
ZXRlcnMtcHJlc2VydmVkLXN0ZGVyci50eHRVVAkAA7v4/U/l4f1PdXgLAAEE6AMAAAToAwAAHcdB
C4IwGIDhe7/iO9ZFRF3T3YZYdGjGCDpEyNw+daAztnXo3yddXp73SQtK2D9lTmlRVWV2zEvWSNlK
Ns4Ysk4vpjOoV4M+0XpP0oocXnBr5KmVVy7qBh5cios4M+Axett/IkIKNoCxQfUzmgTu07aTChDs
6AarlYvwRj+sflFO42an5vjd/QBQSwMEFAACAAgAsrDrQKfCR5OKAAAA+wAAAEQAHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9lcnJvci1yZXBvcnRpbmctc3RkZXJy
LnR4dFVUCQADsPj9T9vh/U91eAsAAQToAwAABOgDAACLNjcxN7UCExbG5ubGliZmJhZGZlauQUH+
QVbpOanFRvHJuSnxKanJ+SmpRXrJyRqmBpammrEK7j4KYEUKVu4+8Z5+YY4+ni7xQDLUVcFKIT3H
PbXEMbkksyzVsaSkKDPJSiEzLyW1QiG/tEQhP02hKDEvPZUrGtNyMyMTIypaHpqXmZZflIvVdgBQ
SwMEFAACAAgAtbDrQBjxfM3OAAAAnwEAAE8AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L2NhbnZhcy93ZWJnbC9zaGFkZXItZGVsZXRlZC1ieS1hY2Nlc3Nvci1zdGRlcnIudHh0VVQJAAO1
+P1Ptfj9T3V4CwABBOgDAAAE6AMAAM3OMW/CMBQE4J1f8cayoEDiuHhLaRpFSkNlFRhQFT2eTWLJ
OJXtVuq/bwQjS8cupzvphu/IM87ENR5TzrM0y3K+zkUp5VaK3uqw6uiiOqVpVNoviB5YsmbzD3gr
5ctWvhbtpoRDIdu6rQQUMXpz+ooaEjABlAl4slot4H2Y5oABgund2RC6CJ/an0d/QUd66g5t/Jkd
7z08Wab/yJOzJVv9wVM1cD2BqJqubvdFUz93U+5KENDbJ+PUTdeMhNGMTkDtvtEaBTSgR4raz34B
UEsDBBQAAgAIALKw60ATexOfAgEAAKIJAABQABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFz
dC9jYW52YXMvd2ViZ2wvZHJhdy1lbGVtZW50cy1vdXQtb2YtYm91bmRzLXN0ZGVyci50eHRVVAkA
A7D4/U/b4f1PdXgLAAEE6AMAAAToAwAAzdQ7S8RAEMDx3k8xpdfIvl/dwYUjcFwkiM0hIdlsQiAP
2Wz066snVgpWB9NMsUzx4w87Fy20dNdhuNbcMsmpUi4ry6J0/RhWVvmprdrglzbEB+/vJbFy9wLH
E1yXwB1PVX5+3p/yQ1U8ZuX+KS/O4KAfD7F+z8YwhTmtDmI99wGWLcHSQbNsc7tCt0Rotq4L8e7y
WyKMtjgkUlqGQ6KEQdLEKo6jiSJcExwSyrTAIeGMIGnCDZU4JMIKfgtJnVKYXhOkBWrvw7r+qL6J
byGm4fMZhvlrNQ7NlgKQP4SGMKVRtDKUUYq7FTVE4RYybglyoTUMt5AbguN6GKFv8yP+kXwAUEsD
BBQAAgAIALaw60ACOaRbPQEAAFwMAABJABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9j
YW52YXMvd2ViZ2wvdHlwZS1jb252ZXJzaW9uLXRlc3Qtc3RkZXJyLnR4dFVUCQADuPj9T+Lh/U91
eAsAAQToAwAABOgDAADNlj1PwzAQhnd+xY2wVP6IP7cIQlSppCiiMFQoSh03tZQ6KHER/HtCWRk6
IOLlZEuW3sf33vm8FYlg+hwkFSLhXCAkE52V5brUbWdHUpljUzXW9I0dFsZcM6TYzSs8ZuX9unxI
i9sMXtKyWBa5hjSEwe1OwQICN0LjxnrX2WYBT4dpe6hHGF3r987UPsCbHfb9cKy9sdPa1134vNr+
wiMYiokHcxpVfrAg8gKefAXnQ6DzVbUsntPV8q6a4iYDDW2X25Ca4N7tD6IG5xv7Af0pQL+Hofat
/U2cEIL/UHzj3feVL1VXWOCYrFCUirh4VFw8CeGzlarilM1WqpISHNMrprBEMiYeKYSKikfFxaNQ
XH4pRGdrZaUISuZqZYEowhFZIdA0BVlUPJSruHhimoITT0LYTK0ziXP8Xx+2L1BLAwQUAAIACACz
sOtAhqquBKoAAACIAgAAVAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dl
YmdsL2luZGV4LXZhbGlkYXRpb24tY29waWVzLWluZGljZXMtc3RkZXJyLnR4dFVUCQADsvj9T93h
/U91eAsAAQToAwAABOgDAADNzr0KgzAYheG9V/GN7VJiTEzNJigiiBYpXaRIGr+K4E9JYnv7bV17
Ay5nOLzDUwsmuFzn5AvBvICGAQtlUlVlJbsBLW302DYt6rlFc9R6z0nIDzdIc1gjkGneZMU1yrO4
Kc9JFV2ysgAJ3RAb9U4GHHFyVoJyDsenAzeD0hqthXlxMD/AqKlDeKFx/feGfvqlpr8vDoHs6j+h
7/mMbFtICQ02LvQ535DwA1BLAwQUAAIACAC0sOtAEMh+350AAABEAQAAXwAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tdmVyaWZpZXMt
dG9vLW1hbnktaW5kaWNlcy1zdGRlcnIudHh0VVQJAAOz+P1P3eH9T3V4CwABBOgDAAAE6AMAAM2O
sQ6CMBQAd7/ijboYRGptNxIIISFgGuNCDKnlSUiAmvahv6+y+gMuN1xuuJpHnMkFxz3n0Y6LUIhA
pkpVSnYD+rAxY9u0aGyLbmvMmgWCba6QFbBEILOiyctLXORJU51SFZ/zqgQJ3ZA4/UoHHHEiL0ET
4fggIAvaGPQe7Exg7+D01CE80VH/0dBP39T1t5kQglX9exjtDuyPDt9QSwMEFAACAAgAsrDrQBWO
JnOXAAAA9gEAAEQAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9n
ZXQtYWN0aXZlLXRlc3Qtc3RkZXJyLnR4dFVUCQADsPj9T9vh/U91eAsAAQToAwAABOgDAACLNjcx
N7UCExbG5ubGlmamBuYmxlauQUH+QVbpOanFRvHJuSnxKanJ+SmpRXrJyRqmBpammrEK7j4KYEUK
Vu4+8Z5+YY4+ni7xQDLUVcFKIT3HPbXEMbkksyw1NC8zLb8o10ohMy8ltUIhv7REIT9NoSgxLz2V
KxrTdiMjowG03dICyKGe7Y4lJUWZSURabmZoamxBH8sBUEsDBBQAAgAIALOw60BKg812kwAAACAB
AABRABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZ2wtYmluZC1h
dHRyaWItbG9jYXRpb24tdGVzdC1zdGRlcnIudHh0VVQJAAOx+P1P2+H9T3V4CwABBOgDAAAE6AMA
AMWOsQrCMBQAd7/ijbqUYhrSZisSxcFWguBQpKTJaxtoU0ni4N9bXP0Al+Nuu4ZljPIvcsIYKRgh
OaVcSFlLPkwY9q2eTWtQLwZ9ovWWpgXdPeAq5LGWl7I6CLiXsjpXJw5ljN52r4iQgg1gbFDdhCaB
27jmqAIEO7jeauUiPNH3i5+V07i6U1N8b5rfn5wU2d9+PlBLAwQUAAIACAC0sOtA7eqJfVgAAABe
AAAASgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL251bGwtb2Jq
ZWN0LWJlaGF2aW91ci1zdGRlcnIudHh0VVQJAAOz+P1P3uH9T3V4CwABBOgDAAAE6AMAAIs2NzE3
tQITFsbm5iZGRqZG5oYmVq5BQf5BVuk5qcVG8cm5KfEpqcn5KalFesnJGqYGlqaasQruPgpgRQpW
7j7xnn5hjj6eLvH+Aa5BjiGe/n4KVkDIBQBQSwMECgAAAAAAoaPrQAAAAAAAAAAAAAAAACgAHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vVVQJAAMN4v1Pi/r9T3V4CwAB
BOgDAAAE6AMAAFBLAwQUAAIACADOsOtAZ7opTmUAAABuAAAAOgAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9vcC1jb3B5LXN0ZGVyci50eHRVVAkAA+P4/U8N4v1PdXgL
AAEE6AMAAAToAwAAizY3sTC3AhMWxubmlgaGxoZGRhZWrkFB/kFWaZk5qfHFlcUlqbnxKZlFqckl
+UWV8SmJJYlJicWpesnJGhamppqxCs6JeeolCkWpufllqQqJCnClCuWZJRkKyRmZOSlFqXl6XABQ
SwMEFAACAAgAzrDrQLlYEq9lAAAAbgAAADoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0
L2ZpbGVzeXN0ZW0vb3AtbW92ZS1zdGRlcnIudHh0VVQJAAPj+P1PDeL9T3V4CwABBOgDAAAE6AMA
AIs2N7EwtwITFsbm5pYGJkZmpiaWVq5BQf5BVmmZOanxxZXFJam58SmZRanJJflFlfEpiSWJSYnF
qXrJyRoWpqaasQrOiXnqJQpFqbn5ZakKiQpwpQrlmSUZCskZmTkpRal5elwAUEsDBBQAAgAIAM6w
60ClK7WyZQAAAG4AAAA8ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVt
L29wLXJlbW92ZS1zdGRlcnIudHh0VVQJAAPj+P1PDeL9T3V4CwABBOgDAAAE6AMAAIs2N7EwtwIT
Fsbm5pYGpgbmFiaWVq5BQf5BVmmZOanxxZXFJam58SmZRanJJflFlfEpiSWJSYnFqXrJyRoWpqaa
sQrOiXnqJQpFqbn5ZakKiQpwpQrlmSUZCskZmTkpRal5elwAUEsDBBQAAgAIAKGx60CFFqo6Jj8B
ALIKDwAmABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvYWNjZXNzX2xvZy50eHRVVAkAA276/U8+
4f1PdXgLAAEE6AMAAAToAwAA7F1tb9u4lv6+v6K4QPpll41I6nWAoJjpdO7t4u5tsc2+AItFIUu0
rVaWNJKcxPvrl5TkRLZImRIpOUk9BTyObeg5byQPzzk8hMh5Z9B/8A2g//4Hwut/3cbXyIDoF2T8
gqxfsPPmnw363/+++ctfP96+ufazLPCDNbn2g4AUBbiLfJCTMMpJUL7L1tmbv93efrmG7+Bf3mDD
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
3bmZ0p2bKd25mdKdmynduZkynJspw7mZMpybKcO5mTKcmynDuZkynJspw7mZMpybKcO5mTKcmynD
uZkynJspw7mZMpybKcO5mdLuHw1YxrxFjHmLyPOW0EVeQhd5CV3kJXSRl9BFXkIXeQld5CV0kZcE
nCnYMLDk+UoDBjSiQ2M6NKFDUzp0S4fu6NA9HXpgTMGGgeVMLWPCQsaMhYwpCxlzFjImLWTMWsiY
tpAxbxFj3iLOOmPMW8SYt4gxbxFj3iLG+EaM8Y0Z4xszxjfmCDLy+G7ponRLF6XbgNGAhA5N6VDy
qtzRR2BHH4EdfQR29BHY09u6p7d1T2/rntPWlA7d0qE7OnRPhx4YU7BhYBnzlQUscMQBxxxwwgGn
HPCWNRq8sWOMx5Ez0gx3oYZHPHjMgyc8eMqDb3nwHQ++Zw4ks68Rs7MRs7cRr7tcxuFyDpd1uLzD
ZR4u93DZh8s/BUess9yFAwFzhtksweCJA71ucuTRlu4s3NKdhVu6dWZLN7ls6SaXLd3ksqWbXLZ0
k8uWbsTY0o0YW7oRY0s3YmzpRowt3YixpWveW7rmvaVr3lu65g1QRreOnI6dGPtEj4+YePKQ7OlN
2dNbsec0IKFDUzp0S4fu6NA9Y1w3DCxjEkLGLFDtZTu61N/Rpf6OLvV3dJv8jr5B7OgbxI6+Qezo
G8SOvkHs6Db5Hd0mv6NvOzv6trOjbzs7+razo287O/q2s6NvOzv6trOjbzs7+razowf07+g71I6z
Q+2YO9SOuUPtmDvUjr5D7eg71I6+Q+3oO9SOvkPt6DvUjr5D7eg71I6xQ+0YO9SOsUPtGDvUnr5D
7ek71J6+Q+3pO9SevkPt6TvUnr5D7ek71J6+Q+3pO9Sevu3s6dvOnr7t7Onbzp6+7ezp286evu3s
6dvOnr7t7Onbzp6+7ew5e8meuZfsmXvJnr437Ol7w56+N+zpe8Oevjfs6XvDnr437Ol7w57uH9kz
tpE9YxvZM7aRA31rONC3hgN9azjQt4YDfWs40LeGA31rONC3hgN9azjQt4YDfWs40LeGA31rONC3
hgN9azjQt4YDPZrnQI/mOdCF4YEuDA90YXigC8MDXRge6MLwwPH0AZizN/X4iIdnfODAgUZ0aEyH
0uYv2pAlbrQhS1wBTei1JpxaYzo0oUNTOnRLh+7o0D0VmtLHNaWPa0of15Q+ril9XFP6uG7pI7Cl
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
YBAMgkEwCAbBIBgEg2AQDIJBMAgGwSAYBINgEAyCQTD+Iwzn75ICYM01p2Rj31b1dP4rPN4fPpis
CE/h47kAgTpkTt3ZROfxYqdM3q7rfBqNMf3TjqLu7CjtQoh4Ex2vSLuBcbBtTK9JYBpqjfVO5ih2
/2noJ8sFn77m/lRGMHuwDqxItTGUU5zVWgt2LMvrhwf4kKMWUJppZ1/6apIFQupQr+mVil+T4JEx
ymPVSeMJINTLfLPtn0qq3g56rtcbnLvtU7dr/VZyFe7kMkl0rV53OLZ4S5Y6KydLq8aWAtvb8Jr7
UiBgvdr7Zqth/13QL8p3VCP2u0QqklHzgWOWASxDG8e5Gn2kB9Ks/N1EmY2+z4Yyx4MivIuzntu9
2mE6yLMMZ/YoflTvLVh2pb7mUaaqzy4gmlrMg0HC4DiRsCexsCAJgzYOJzCBRuwuCBU28y5nLU3D
/qf2yx62E2xbs4UtYA3burnPVZZvs2k8GmgdldevE1+B+Vpd7IvmA77L1HZFQ9jcys0NjrD2GIoD
Mi8PYhgF3pHZMKh2knMYEp1P0XsFy6CMWJz4qQn7BZhWA3iuBvMFUEsDBAoAAAAAAOuj60AAAAAA
AAAAAAAAAAAhABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vVVQJAAOa4v1Pi/r9
T3V4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAAtpOtAAAAAAAAAAAAAAAAAKgAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL1VUCQADFuP9T4v6/U91eAsAAQToAwAABOgD
AABQSwMECgAAAAAALaTrQAAAAAAAAAAAAAAAADIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9w
bGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL1VUCQADFuP9T4v6/U91eAsAAQToAwAABOgDAABQSwME
CgAAAAAALaTrQAAAAAAAAAAAAAAAADYAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9y
bS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9VVAkAAxbj/U+L+v1PdXgLAAEE6AMAAAToAwAAUEsDBAoA
AAAAAC2k60AAAAAAAAAAAAAAAAA7ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0v
Y2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9VVAkAAxbj/U+L+v1PdXgLAAEE6AMAAAToAwAAUEsD
BAoAAAAAAC2k60AAAAAAAAAAAAAAAABCABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZv
cm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvVVQJAAMW4/1Pi/r9T3V4CwABBOgD
AAAE6AMAAFBLAwQKAAAAAAAypOtAAAAAAAAAAAAAAAAASAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL1VUCQAD
IOP9T4v6/U91eAsAAQToAwAABOgDAABQSwMEFAACAAgAWbHrQA3CaJqpAAAA2gIAAG8AHAB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2Nh
bnZhcy93ZWJnbC9nbC12ZXJ0ZXgtYXR0cmliLXplcm8taXNzdWVzLXN0ZGVyci50eHRVVAkAA+n5
/U8X4/1PdXgLAAEE6AMAAAToAwAAzdCxDoIwGATg3af4R11IC5S0bMSgcRBMY+JAjCltgSZQTFsH
314SV3dZLnfbl2swRjHKv0kTikicZCxJ0rzkvOZ5P2ofP+SkHkrLWWkXSbkliJHdHS4lP9T8XFT7
Em4Fr07VMYciBGfaV9CAwHhQxot21CqC67DMQXjwpredkcIGeGrXzW4SVuqlWzGG96b5IaIErUzE
sjjDaxKlKGN0VR+lmGLK/ib6AFBLAwQUAAIACABZsetAhD2GJtoAAAA2AQAAYwAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFz
L3dlYmdsL2luZGV4LXZhbGlkYXRpb24tc3RkZXJyLnR4dFVUCQAD6vn9Txjj/U91eAsAAQToAwAA
BOgDAACNjz1rwzAYhPf8ihvbJSgfBkebaVxjcO0iQjuEYBT5tSOQ5SC9aem/r9vSrUOX4+644bnj
aiXWQv5ouklFskl2qdimMleqUXJwFNetGbu2IzN1FJbG3CVil9yf8Jyrx0Y9ZfVDjtdM1WVdSGTM
wZ5vTBCwEZ2N+uyoW+JwmeNFR0Q7+N4a7RlXCv0URu0Nzd5rxx+L459E21T8g6io8D2CLKq2rF+y
qty3zcyZHcqmhsTg9kG/545G8hwlNDONVwZP0MZQjJhujKlH0H4gvFFgO9ew/mv6e2zxCVBLAwQU
AAIACABYsetAyJS2VcgAAABUBgAAbAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctYXJyYXlzLW91dC1v
Zi1ib3VuZHMtc3RkZXJyLnR4dFVUCQAD6Pn9Txbj/U91eAsAAQToAwAABOgDAADN08EKgkAQBuB7
TzHHusS6u+a6N0EJQTQkukjItm4imMa6Fb19WtceYBiYw/AfPoaZyvMIJfLXBRPE9zy6lEzKsihl
25uJ1vrW1I3RY2PsVuu1T0J/c4Z9Bt8QyH1Wp/kpytK4Lg5JGR3TIgcJbR9b9YqsVe9JgnLO3O4O
3AhKazNNMD4cjFewamgNPI113TyGbliitrs8nAGyqv4J6Y6GuIWMYd+hL4jALdyxMEAuFIKjFnIq
OO5P4SwQuO+Qz0SKXBgyPJ/yAVBLAwQUAAIACABYsetAcd/0QosAAAD/AAAAYgAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFz
L3dlYmdsL2Vycm9yLXJlcG9ydGluZy1zdGRlcnIudHh0VVQJAAPo+f1PFuP9T3V4CwABBOgDAAAE
6AMAAIs2NDQwMrCCkBbGFgamhiYGppaGhlauQUH+QVbpOanFRvHJuSnxKanJ+SmpRXrJyRqmBpam
mrEK7j4KYEUKVu4+8Z5+YY4+ni7xQDLUVcFKIT3HPbXEMbkksyzVsaSkKDPJSiEzLyW1QiG/tEQh
P02hKDEvPZUrGpv1ZpYmZlS0PjQvMy2/KBer/QBQSwMEFAACAAgAXbHrQH/PrQmJAAAAkgAAAGgA
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9m
YXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wb3NpdGUtbW9kZXMtc3RkZXJyLnR4dFVUCQAD8vn9
TyDj/U91eAsAAQToAwAABOgDAAAlx0ELgjAYgOF7v+I71kXmhmK7DbHokMYIOkTI3D51MGds69C/
T+jy8rzPPCeU8H8rVpGSlBWjjPFGyk7yyWGkvV5Mb1CvBkOm9b4gx+LwglsjT528irZu4CFke2nP
HERKwQ6fhEDARjA2qsGhyeA+bzurCNFOfrRa+QRvDOMaFuU1bvbKpe/uB1BLAwQUAAIACABYsetA
RXhZ0QUBAADECQAAbgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVt
L3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2RyYXctZWxlbWVudHMtb3V0LW9mLWJvdW5k
cy1zdGRlcnIudHh0VVQJAAPo+f1PFuP9T3V4CwABBOgDAAAE6AMAAM3UPWvDQAwG4L2/QmOzlNN9
+OzbAjHBYOJiSpdQjH0+G4M/yvnc/v2mDd0yNlSLBqHhQeLVGZFxZq41FjFTyJnSiTZpWRal6Ue3
8spObdU6u7TOP1n7qFiidm9wzOFnCMwxr7LT6z7PDlXxnJb7l6w4gYF+PPj6Mx3d5OawGvD13DtY
tgBLB82yze0K3eKh2brO+YfzLYtGxshYtIyoWGKlJRELsiSmshdExQUVC2cioWIROqGSI5RSk7mR
UniXX1eH4Kb3AGGB2lq3rr+uK/LD+TBc2jDM36N+aLbggN00CsY5lXwJZPfJ+l/uCyMVUzfySwzI
G3VM3igiRCrZkDL5j7/2BVBLAwQUAAIACABcsetA0GzStUEBAACKDAAAZwAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dl
YmdsL3R5cGUtY29udmVyc2lvbi10ZXN0LXN0ZGVyci50eHRVVAkAA+/5/U8d4/1PdXgLAAEE6AMA
AAToAwAAzZY/a8MwEMX3foob2yXov87eTOuaQOoU07RDKMaRFUfg2MVWSvvtmzZrhgwl1nKcQPB+
0rsHt6aUMBKfKnIkErnQMsI4LYplETetHVlp9nVZW9PXdpgZcytJJO/e4TktHpfFU5Lfp/CWFPk8
z2JIvB/c5uAtEHAj1G6sNq2tZ/CyOx531Qija7qtM1Xn4cMO237YV52xx76rWv99sz5DJLngUWBE
SFVgRBHKC4iyBfxdgjhblPP8NVnMH8pjXaUQQ9Nm1ifGu097gozBdbX9gv7god/CUHWNPS8vuCL/
KL/q3O+zL9ZXlCAPyhBFpVSBEWkSGhFyOt3QKkaVmHBoNVNCB2WI5vQiQ65JxAULi0hxIgIjUkIF
RqT1hMHWmiBOGGzUjMqgDEGtA4sR6kgH9kdIGQ2MiAmcLkaISlxrqfsBUEsDBBQAAgAIAFqx60B2
6FC4zAAAAKUBAABsABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0v
dmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvb2JqZWN0LWRlbGV0aW9uLWJlaGF2aW91ci1z
dGRlcnIudHh0VVQJAAPr+f1PGeP9T3V4CwABBOgDAAAE6AMAAM3OvWrDMBQF4D1PccdmCYoSga3N
bRxjcJwi+jOYYm6uFFugyEFSCn37mmbt0LHL4Rw4w9et14wzec9skzGx5VxsMiFLpY5KDs5E3tNF
99rQpE1YET0IlovlBzyXan9Uh6J9KuG9UG3dVhKKlII93ZIBBjaCthFPzugVvIzzHDFCtIM/W0Kf
4GrCeQoX9GTm7tGlr0X3qyjn/H+J8q1gfxBVDfycQFZNX7dvRVPv+jlfS5AwuEfr9d3XTITJTl5C
7T/RWQ00YkBKJiy+AVBLAwQUAAIACABZsetA/gRsYagAAACQAgAAcgAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmds
L2luZGV4LXZhbGlkYXRpb24tY29waWVzLWluZGljZXMtc3RkZXJyLnR4dFVUCQAD6vn9Txjj/U91
eAsAAQToAwAABOgDAADNzr0KgzAYheG9V/GN7VISNRizCYoIoiWULqUEG7+KoKYksb39/q29AJcz
HN7hOVNKAiJ+y0NOWBgkEQ0TkUvZSNGP6AKlp051qE2Hdq/1lpGE7S5QVPCNQBSVKutTWpWZag65
TI9lU4OAfsxs+8xHnHD2TkDrPU53D95AqzU6B2bxYG5g27lHeKD1w/uGYf6kdrguHoFszn+NnLO1
G1lE1m+Mabwi4wtQSwMEFAACAAgAWbHrQMFNPh6eAAAASAEAAH0AHAB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9p
bmRleC12YWxpZGF0aW9uLXZlcmlmaWVzLXRvby1tYW55LWluZGljZXMtc3RkZXJyLnR4dFVUCQAD
6vn9Txjj/U91eAsAAQToAwAABOgDAADNjrsKgzAUQPd+xR3bpUTTFM0mKCKIllC6SAk23oqgpiTX
9vf7WvsBXc5wOMNpgoCFTH4Z8YgJzmO2j4XMlKqV7Ef0oTZTpzs0tkO3NWYtWCw2Z8hL+EQg81IX
1Skpi1TXh0wlx6KuQEI/pq59ZCNOOJOX0BLhdCMgC60x6D3YhcBewbVzj3BHR8NLwzC/UzdcFkJg
q+bXY8D57o8en1BLAwQUAAIACABYsetAIwZDVJkAAAD+AQAAYgAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2dl
dC1hY3RpdmUtdGVzdC1zdGRlcnIudHh0VVQJAAPo+f1PFuP9T3V4CwABBOgDAAAE6AMAAIs2NDQw
MrCCkBbGFgamhqYWJubmhlauQUH+QVbpOanFRvHJuSnxKanJ+SmpRXrJyRqmBpammrEK7j4KYEUK
Vu4+8Z5+YY4+ni7xQDLUVcFKIT3HPbXEMbkksyw1NC8zLb8o10ohMy8ltUIhv7REIT9NoSgxLz2V
Kxqb/aampgYDaL+loaUJNf3vWFJSlJlEvPVGpiZm9LEeAFBLAwQUAAIACABYsetAKhmjNpUAAAAk
AQAAbwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwv
Z3B1L2Zhc3QvY2FudmFzL3dlYmdsL2dsLWJpbmQtYXR0cmliLWxvY2F0aW9uLXRlc3Qtc3RkZXJy
LnR4dFVUCQAD6Pn9Txbj/U91eAsAAQToAwAABOgDAACLNjQ0MDKwgpAWxhYGpoZmJuYmhgZWrkFB
/kFW6TmpxUbxybkp8SmpyfkpqUV6yckapgaWppqxCgGuQW7+Qb6Ofs6uCuGOQX6efu5WCo4lJUWZ
SaUlqQoGCpnFCimZxYlJOakpegohGUBuRmKxQnFmel5aZnJiXolCQWpRWn5RbmJeciqQnZeYU1LJ
FY3FRWBHDZiLAFBLAwQUAAIACABasetAdOH2elkAAABgAAAAaAAcAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL251
bGwtb2JqZWN0LWJlaGF2aW91ci1zdGRlcnIudHh0VVQJAAPr+f1PGeP9T3V4CwABBOgDAAAE6AMA
AIs2NDQwMrCCkBbGFgamxpYmhiYW5lauQUH+QVbpOanFRvHJuSnxKanJ+SmpRXrJyRqmBpammrEK
7j4KYEUKVu4+8Z5+YY4+ni7x/gGuQY4hnv5+ClZAyAUAUEsDBAoAAAAAAOuj60AAAAAAAAAAAAAA
AAAvABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC9VVAkA
A5ri/U+L+v1PdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAOuj60AAAAAAAAAAAAAAAAA1ABwAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9VVAkAA5ri
/U+L+v1PdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAOuj60AAAAAAAAAAAAAAAAA+ABwAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0eS9V
VAkAA5ri/U+L+v1PdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAOuj60AAAAAAAAAAAAAAAABLABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1
cml0eS9taXhlZENvbnRlbnQvVVQJAAOa4v1Pi/r9T3V4CwABBOgDAAAE6AMAAFBLAwQUAAIACAAY
setAibrx72sAAABvAAAAewAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9t
aXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L2luc2VjdXJlLWlmcmFtZS1pbi1t
YWluLWZyYW1lLWFsbG93ZWQtc3RkZXJyLnR4dFVUCQADb/n9T5ri/U91eAsAAQToAwAABOgDAACL
tjS0MLOyNDI3sLIwNrc0NjC1NDQ1NrFyDQryD7JKTi0qiS9LLcpMq4wvKMpPjs8rLtZLTtYwNzHR
jFVwdg0KiQ/w9owIA6twBipWSMsvUjA0MtczAEJDhbTEzJzUFIXUoiJbXQtDC0MuAFBLAwQKAAAA
AACcsetAAAAAAAAAAAAAAAAAQwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3B5d2Vic29ja2V0
LndzLmxvZy0xMUp1bDIwMTItMjIxMjU2LW91dC50eHRVVAkAA2j6/U9o+v1PdXgLAAEE6AMAAATo
AwAAUEsDBBQAAgAIAJWx60DYLFkRnEsAAMUQAgAmABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
dGVzdHNfcnVuMC50eHRVVAkAA1n6/U9A4f1PdXgLAAEE6AMAAAToAwAAvX1bd9w2su77+S+MrG7J
9jzmPpnjxFmxZ2afJy92E93NiE0yBCmp8+tPVQHgrXEpkO29155YEr+vCOJaVSgUTm1b37VCtvIu
ret9uj+Ju3S/F1Imz3maNCLLG7Fvv6lP9f85WbD7JpWn5OUkyqRMn/Nj2ublMUlf0kvS4h936f7p
m1N7LhxskYmyzdMi6ZrCg7s0eVHke0DlblQmDqIBiYl4BqEyyUQhWgGFywuRNGkusWhtfhbNOhls
tg8o26a6APLQpGfhA7b4b5bkIWB+gHfDW5OqyY95mZzTMj8AhkOR8KtfuEx3hcg8iGrfnVHUS5ND
fSEugaqjP20W0dwkca7bC+P7DmleJFWZdHWWgvANF+nDFYW/Rx+qRuTHMgkj81KKpp3W1EvenvoP
8xU4SHZTi2oPw21fla23ks8p9KFGyKpr9tAwMMp9WF1ilAo8HGd5K0VxYHDqtPEPqh5pJiNfxVyB
GVCqONWpDjDM3Yz5DKdmBXqWpG2LIhKotbqpjlBznuFfHQ5FXgKJZloPriSY6UxJkV5E460szYCS
taLIff3AlBIarYO+4JkTG1FUaeZ7fq6edT34ULovcZrxCuyGyvxc+xqtrWo1ySb3bpCeIgKf8Jxn
onI/7isdelSR7dPGU2cvTQW9SMJUkbZd452cZlA38PXUJGb+MRV4hdYLalruRZFkHfamBKc/LAQt
5ixGI57TIoc6y2HWlB10Y1jIMwe1rsaD9yiutIkRjMbiXi15stuZz5B2ioTGrQE5Lo6jECNhiXit
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
A9JPPNAPN2RhZ3zvVjtn8qz7EwWOZXWTFza7qegr/dwB00XM31FX5C7l6zFeIctF1NbDw5zO8tn/
XB7/+6fjq+ubD8fXP14c/d385/XlweFxe+AlgAfPzcj8dPJLb/FWT4J5zi++kYU3XlLiH67OGmy+
H3caJv4fUEsDBAoAAAAAADaj60AAAAAAAAAAAAAAAAAdABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC9VVAkAA0fh/U+L+v1PdXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAAKqj60AAAAAAAAAA
AAAAAAAjABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9VVAkAAyDi/U+L+v1P
dXgLAAEE6AMAAAToAwAAUEsDBAoAAAAAADaj60AAAAAAAAAAAAAAAAApABwAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9VVAkAA0fh/U+L+v1PdXgLAAEE6AMAAAToAwAA
UEsDBBQAAgAIAGOw60D+waUdQAEAAFoCAABFABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0
cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC1hY3R1YWwudHh0VVQJAAMa+P1PGvj9T3V4
CwABBOgDAAAE6AMAAI3RXUvDMBQG4Pv9isO8mMLoso9+MBBhOlBRBjoUryRNTte4mIwkXVuH/93M
WYfCYFchh+c9OUkkrdEAdXBKuuQMrPhASAipIkJaAA+oOJongeUBIo+IT6RmS9hcz+/vPg/SX6x5
DZvJ7OplZ5Nu8mPjZFSFyejbNnqOlYPNifPL/9ZxHFX9uOEAWwOmUHtWCu7yrRtD+8Z1LKy0tSKV
CJn2dwJbMIbWZoUEg2sqBadOaAVOA6OFRcA1Kme3+0wYBFsrlhutdGFlHcCzr+S6kFx1HDBDbQ4i
A60QdAYu1/sG1umVb5Nj+9C0/TBs5h1GxM8rNeUBPCJC7tzKjnu9tFjYoMR0KVygzaLnzy5ffTFg
C3Eh+Hk8iKNBAO1j349U5A+dvqfIOfJZ+obMh2aT2+nlfJfyM3UHTXDo/7QfktYXUEsDBAoAAgAA
AGOw60Cc6ad1BgAAAAYAAABHABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9j
YWNoZS9wb3N0LXJlZGlyZWN0LWdldC1leHBlY3RlZC50eHRVVAkAAxr4/U8a+P1PdXgLAAEE6AMA
AAToAwAAUEFTUwoKUEsDBBQAAgAIAGOw60BXNUJbmQEAABcDAABDABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC1kaWZmLnR4dFVUCQAD
Gvj9Txv4/U91eAsAAQToAwAABOgDAAClklFv0zAQx9/zKU7lYaDEidOtTTQJUQqTADEV0QrEE3Ls
S2PmxVV8XlOqfXccSjeBVGkST7bPv/v7f+djjEFGt5vMiJ31xAgdsQ6dN+SyhmiTDRGXSSEbzDb2
963SHUpiaySG/SZsUaXUE0RxHP+XmpDkhTlozWbA8mQMcZ7kHGaziH16vVxGLIqDOHYgCJ7zhL8A
p38ilJz3U86jGOAztgq7Lxq3p5gnCcyNlTewf7e6/nh/mn2grdrBfr54++0Al0n5By7Ki35SXhzg
I77CUOL+GYXlX/GimPZ58cADDBB0vn3ktlpRM4CXMHpPZw5CJ52uDEJtQ13gvJToXO0NdHgnjFaC
tG2BLEjhHQLeYUtuONeh+eB2rWw621rvzC6FryHSWG9Ue0YgO+Ea0DXYFsHWQI19FHBkN0GmwdFJ
u/lkcjR8PuXBsLFCpbBEhGEg3GWWVX7t0i1WN5pS262z8Pj2ewimcq1fafWyGBfTcQqjJ7eQ9/xv
9uq2QqVQLaofYdRgv5h/uHqzOqQFV8n4mHkefjaf8OgXUEsDBBQAAgAIAGSw60C5x48m2x8AAKgr
AABFABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGly
ZWN0LWdldC1hY3R1YWwucG5nVVQJAAMb+P1PR+H9T3V4CwABBOgDAAAE6AMAAO16aVSTV7t2rLW2
otBWxQoibQVRELAyCQixReUNCBQZgiBERcQwypSAIWBVSgsqGgVkCDgwCDFEhhDCFCdAQEETIkMY
ZAjIkDAHSEhy7rTvedf51vp+nN9nNQsWK8l+nr33PVzDfvjzV0fbTRvUNiAQiE2ofx05gUCs/R6B
+Mzjy8/gk61bturAn72RRz0ifS/4+QZGRAUjTIzOnPXdb25kZHzQyM/3J6Oz50wOGJ/38zU1Mjf2
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
NCe6CJ7Tn5eLReBC8VUreE41b9EB9/CB9dkpkPqLkDLWjBk7ArhBI9HdKtwcQN4jn2kr1rC9Xv74
/ngQfYatbGE7m3/5tWPTfvrEJul5M0rP/7N7eomNh+2xD8Nb6yQZN4NkjwN0DLjavGAbJX3ZcRPo
ffUnBJUlUrlGKGw4E1AtBBIVtQaHD1wryb2yBrwFwWtCwAc0nrp1oRwCtUaUzhpbk24juAuV0tZa
mhMPwnEqQRVgDYItwJf2xYC8rYJNib1DaQej0T7v2ZiFvNpyGcECEUrvK5rEcV6vKNpgvlY+sm4V
h703v0MxEiv1ScmLZJiMhxH03nt/rGGv0Ks/OUqJcp7fowii+ezb1eflThUy9Yd74Vl408GIPf23
oyzufuQ/UEsDBAoAAgAAAGSw60Cc6ad1BgAAAAYAAABTABwAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1leHBlY3Rl
ZC50eHRVVAkAAxv4/U8b+P1PdXgLAAEE6AMAAAToAwAAUEFTUwoKUEsDBBQAAgAIAGSw60DV9h1i
kAgAABsfAABXABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0
LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1wcmV0dHktZGlmZi5odG1sVVQJAAMb+P1PR+H9T3V4
CwABBOgDAAAE6AMAANVZa2/bRhb97l8xsJG6LUyKsiRbj8RF4we6Rbsp1sEu9pMxJIfixCRHnRna
UrL973vnRZEUKbnYAO42aETO48657zPM21Tm2dXR25TgGH6E3GTk6mie0eLxDM2fqKCSxOjLEYL/
JFlLLyYR41hSVsxRwQqy0FMh4zHhXsikZPkcDVdrFMMziRdHfxwZcVZIxDLG5+gkGM30nH9HM3JD
k8TOhzh6XHJWFrHnliZT9ad+kDlBsIzG6CSOYzOXsEJ6Cc5ptpmjnBVMrHBkAeaYLylAHpIcBWZo
xUA5rQcnGWj0RDSgdNhCOhqNOuQLXAhPEE6T2qSgn4k+o36ol5FEzlHgT9x4TMUqwyBE4jAjXkSy
zEw801imICAI3liMOI5psax2G3zWPeqp6SELmRYpAJPV8pQ9Ed7SajKZLPoMTogxha/88gucJezm
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
8+31R6MLOPLs3KkzgjI7nAQHaUaNPCtSoqfra7c/mqcCcdT/Jv5fUEsDBBQAAgAIAGSw60CNpXyK
jwEAAOgCAABRABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0
LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy13ZGlmZi5odG1sVVQJAAMb+P1PR+H9T3V4CwABBOgD
AAAE6AMAAI2SX0/bMBTF3/kUV+WBIVWJW2gTdaET3ZDYtKkTrUB7mhz7pjH17MjXockqvvuclYJA
qsST7Xt/5/j4T1Yil9OMfKtxGknUsIWci/XK2drICRwXnH+ER4i4lG9bvOhaWbwTZ/HOqnJhThU3
IDQnugie05+Xi0XgQvFVK3hONW/RAffwgfXZKZD6i5Ay1owZOwK4QSPR3SrcHEDeI59pK9awvV7+
+P54EH2GrWxhO5t/+bVj0376xCbpeTNKz/+ze3qJjYftsQ/DW+skGTeDZI8DdAy42rxgGyV92XET
6H31JwSVJVK5RihsOBNQLQQSFbUGhw9cK8m9sga8BcFrQsAHNJ66daEcArVGlM4aW5NuI7gLldLW
WpoTD8JxKkEVYA2CLcCX9sWAvK2CTYm9Q2kHo9E+79mYhbzachnBAhFK7yuaxHFeryjaYL5WPrJu
FYe9N79DMRIr9UnJi2SYjIcR9N57f6xhr9CrPzlKiXKe36MIovns29Xn5U4VMvWHe+FZeNPBiD39
t6Ms7n7kP1BLAwQUAAIACABksOtAucePJtsfAACoKwAAUQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtYWN0dWFs
LnBuZ1VUCQADG/j9T0fh/U91eAsAAQToAwAABOgDAADtemlUk1e7dqy1tqLQVsUKIm0FURCwMgkI
sUXlDQgUGYIgREXEMMqUgCFgVUoLKhoFZAg4MAgxRIYQwhQnQEBBEyJDGGQIyJAwB0hIcu6073nX
+db6fpzfZzULFivJfp699z1cw37481dH200b1DYgEIhNqH8dOYFArP0egfjM48vP4JOtW7bqwJ+9
kUc9In0v+PkGRkQFI0yMzpz13W9uZGR80MjP9yejs+dMDhif9/M1NTI39vU7YBTxgzoTgfgegTry
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
1BSF1KIiW10LQwtDLgBQSwMECgAAAAAAeaPrQAAAAAAAAAAAAAAAACkAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL21lZGlhL1VUCQADxeH9T4v6/U91eAsAAQToAwAABOgDAABQ
SwMEFAACAAgAobHrQKHt/cRwMQAAdUIAAFsAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL21lZGlhL3ZpZGVvLWJ1ZmZlcmVkLXJhbmdlLWNvbnRhaW5zLWN1cnJlbnRUaW1lLWRp
ZmYucG5nVVQJAANu+v1PxeH9T3V4CwABBOgDAAAE6AMAAO17eTjU/7s3+baK6ltSES1aJLRZIksK
TUL2nUrKki2GDIPSLqkplOz7OhNZxzKVoghZxzaGJMzYGdsYnvvd73vOc37nnOdc53qu57me81zn
559hPp/5zHu579dyv2+PLupo8q3bsY6Li4sPc+6sPhcXzy4urhWma1bBO5Fed9y4uHZxYc6eNrwV
NUzz8RNo+bA8MVartkuV67Rs0J57GmI7MhNkP8Xyrlsh2aAm8vZS3mRc+Sc+weaEgz9zXAJ3PTZd
E7zuZ/qehH171PXiT69Rezmedkmieuuft1d9iema55wem+4W866tXVszwMH1241+izp+PbzHbyzq
eN/bw0wHbhhEIPcmbRoX+kndsGINerVdswu9PNkdiF6O3OdaAS/vt/39xUeThYEVvUca+Lnsj9Tk
RpLXwi0bRv+jT+z+x8V/XPzHxX//4qu0VQJPH+tP/aoV2LQp/uGa3PVuCrlZPTXywh8kxzwV+j0V
jKytiQwGo8cEnqKzbffqZ69ebcu3b9gT5czt9uc62Qt3P7L2aWYaZxsaG6c8fvy40kaci8t+y25a
wcPHj/f4cdn/KWmed9HQMMilewVX4P4tjcufba9c+UjjP8FdkytWHIAfeXa1mEO11uffbOPBw/34
0aN4ia1cXAfSn604d/Xq1SAT4U2bdqc2tffgNpLJ8R8zWDa+GJ7sk/Pywk8DHhQ1GcirOaSxpYWX
V3FzBaZs0udaWxXoYTK36+GJ6EvSS0W8k6K374emKFOsnG88saW+7A1+YM3F5TbpSHjaTJn7LN2c
qiuKH/+w+o9NFTtuNgxaz3jy7yV6yIiLY1ZvEGmOUfItlXJaiJrx8nPS3VA1wWx/dz2o8k5YWNgQ
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
bGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL21lZGlhL3ZpZGVvLWJ1ZmZlcmVkLXJhbmdl
LWNvbnRhaW5zLWN1cnJlbnRUaW1lLWV4cGVjdGVkLnBuZ1VUCQADbvr9T8Xh/U91eAsAAQToAwAA
BOgDAADte3VUlO375ygKKkhISoqIqKQ0DKGo8BqARXd3lzQKCK8IKCmtoHTX0AMIUgLSDKnSDCEj
DDHEXvO+37P7i91zds/Z3d8/7/MH4xm457nuKz5xP+OfD1WUzp5hPoNAIM7e/eP2YwSC5AICcVzz
1HF4h56Ongderrre0XQ1sTQzsXFxs0OIC4mIiRsJCQuJiZpJmAiZmF6XkBAVFhYVM5W4LmQkarr8
PU4GgbiAuHv75tNnyauT3rpPh5qPNsQm7hwTU3jw9BKFsmq2J/nSz+tFKbRxzoMZCarmjPzI1Adp
nW3RTjW5VlPNGaGujwZeC9wzThWS/TGTQsch6NrCezE7VFpI6OvKNAfW6mjeSOBrY/NTuXV5r1Wt
Mry2zbpsOXqt3jzy5oDoMYjYrc4PS3ydsD6lCS+vaIrhJx2XIbx3RbERtvbwdcBJBOI90zFyBOLG
dQ4LByaKl1gpSsTQr9fSiCpPp5N/vX+cAYEIMD7BB4tb/7c+6J8F/yz4L14glzqE3zh96tQvHFwX
Ez487xdF5Z6nEBsp0S5QzxsyFVZTUxtyeooIYHl108W5Rmg0hWP/4IBFzPrp0a3jzMmw6NWrV9bB
PYfixxASch6Ct3d3dt4UBnj1Zz/i4uDoFeAhQdibrh3KT05Po/Xb+oSsEi8H+X36diEIj/U/2vYl
YEOr1HYJBJcMaoT9+TVSPgcHB9UkPA5Xql2QWjj0fn96/yNmf9t/Gl2YkeNPGjig0y8RrD2rt41C
MfgbQ1RxtcfyGMrGzGoumld/78Fsx1WHzknrDW0v3HbXa0vRKlp6IxiBaCz42JDpO+G5kJIi7baH
H3f4UwsvI62KjXVY/sgtjygpKWEU1JdxmX/tG7y382x03WI8Snuld3HRMtL8Ylx8/BGuSzAVfxxR
dTKbShP3VNp9ZbQjmmd9HOXQl35naWkJt+lZNs2ZixzvjkcFiXZv3ObVKrRKTJWJ0Q3cVW6PbOE4
/BUyODjI4b/vtPPrx56OMwvSbXmw3nu7vFxUTVZ6vLdiPM25Fb0/Jyhi/vXXomJqq3GCmM1wczD5
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
sgNXu7i4COlVltq+IiBgv7E0AsxWNnFfVrZml4CBJZ47dw6LxV4NN8dE8vpS0p4XslAFGMIiTDLI
6u62k4DrdjcPjkF85JLWDwBl/QpbQ6Az4Dnp3d/3cLEJzn9VOmbk6dmlyPm5Ocj/QFVzlX+UnvsC
iL7c0qqe5zXbc7Fg0w7WpA+KfQ72leSKLYfI50KhXBWpeup9DqDf8Mo+O+ETq/3GNnXhvNTHj986
SyMfwvJASUmvxtUO6ncoD8nEyDhXcxdApfq0Dy+6qmp0I/YF/KVI3XUBXh5/r32wTP5fLqf+/v8P
fw/4e8DfA/4e8PeAvwf8/xowfHCYvkJ77tS7aXX4AOLBfSVZtIzBq/8BUEsDBAoAAAAAALKj60AA
AAAAAAAAAAAAAAAsABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9VVAkAAzDi/U+L+v1PdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIANew60A8m99MRQAAAEkAAABb
ABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zY3JpcHQtY3Jv
c3NvcmlnaW4tbG9hZHMtY29ycmVjdGx5LWV4cGVjdGVkLnR4dFVUCQAD9fj9T/X4/U91eAsAAQTo
AwAABOgDAABz9HENCrFSKE4uyiwoUShKzNPjCsnILFYoSS0uUShILC5OLVbITFMoyUiFqcnJT0wp
VkjOLypKTS7JqdTj4gpwDA7mAgBQSwMEFAACAAgA2rDrQFZwUmliAAAAjgAAAFUAHAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteG1sLWV4dGVy
bmFsLWVudGl0eS1zdGRlcnIudHh0VVQJAAP7+P1PJeL9T3V4CwABBOgDAAAE6AMAAI3MMQrDMAwF
0N2n+FuWguhqOvYG3QvC+Q4B2zKKAuntS2/QA7xX98YsIowiV29SNLTZlu8ZU/2gg+7myHhaOTtH
YD/APuOT0jvVv/kr1AOhG3hNluB6w/JYMCxQ7Rzrr/sCUEsDBBQAAgAIANqw60BgS2YQkQAAAPsB
AABdABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVO
SUVELXhzbC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0VVQJAAP7+P1PJeL9T3V4
CwABBOgDAAAE6AMAAO2OMQ6DMAxFd07hC4QEllaZYejSngEFUyKZJLKdCm5fOvQGHau/vq/3Qt5K
pEljToDMmT0skRBW1eKt7fpL6851/uqcs4KhctTD7iJmGO+3cTC7kJlzqBsmNV/gwfEZU7tvBBQT
Qg9I+CFA9CCUFVGb8+lfyHK6PeREB3StgwUnrYwCEyNILSWz4tyEf+iPQ99QSwMEFAACAAgA17Dr
QOOz/wHyBwAA9hkAAF8AHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktcHJldHR5LWRpZmYuaHRtbFVU
CQAD9vj9TyDi/U91eAsAAQToAwAABOgDAAC9WVtv2zYUfs+vIBJ0AYpKtmO7je02Q5fLhqFbh6V7
LiiJsthQokZSdtxt/32HN1mSpTgDtjVoLPNyeC7f+c6h8jZTObs6eZsRnMCHVDtGrk6WjBYPr9By
QyVVJEF/nCD4p8ijChISc4EV5cUSFbwgKzMVcZEQEURcKZ4v0aR8RAk8k2R18teJFeeExJxxsURn
4+nCzIV3lJEbmqZuPsLxw1rwqkgCvzS91D/Ng+wJkjOaoLMkSexcygsVpDinbLdEOS+4LHHsFMyx
WFNQeUJyNLZDJQfjjB2CMLBoQ4xC2aSj6XQ67ZEvcSEDSQRNG5OSfiXmjOahASOpWqJxOPfjCZUl
wyBE4YiRICaM2YktTVQGAsbjF05HnCS0WNe7rX4uPPqpHSGnMi0yUEzVyzO+IaJj1Xw+Xw05nBDr
ilDH5QOcJd3mlHEMpgi6zlQ7enrVNbgA06I+ioP7qQIzx0fMdlYGRm7LU9sMrAtMHDXctgKXe83u
SazjNwgcs7kNmy5kHG693wFU4/LRnnD7WEKIQT6YRl6hUH90LRxUT9KERDv9GxlVv2M8fvgFCxWC
qcuUCqmCOKMsGXSsPu4e9r96SpggOYT21ZHz3Bne/bQA+JAg0ktasJt71AFaFI0xCzCja8gPxXvM
EkSj/QdcJIx4dzg52oX6e0ZsQPd4jishdWi02t0sxBFEp/IRgzNr4NgEMuo9pUUL54dwWAuyW3WA
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
s4KXnMnbeivG2+Bc9QVQSwMEFAACAAgA17DrQGKCjwYWAQAAFQIAAFcAHAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1j
b3JyZWN0bHktZGlmZi50eHRVVAkAA/X4/U/2+P1PdXgLAAEE6AMAAAToAwAArZDBasMwDEDv+Qrd
U8fJxtjIKaWEwehWaNoP0BylMSR2sJSu/fu5LRu7jcHQQUJIT+IppUDLOOkBz34WJcSiAvE8COte
ZNKXDmsmMwcrZ80m2EmUCZ7ZB3uwTg0eW1bGh0BGhrOi0xQLajM5CSRpmv77BTQy43DjVxWoYnEP
abF4gKpK0tXmrdmsa3itm2b5XJewd4wdwQsesbmyAUVojFk8WGfFohAgODzaA4r1DkyP7kDQ+QBd
wJHgw0oP++0aLh+XWhd3j1keoyif8jz/8Ty69t2fqFX2uqgiYlTip6yXcYgwP/6RGFX5ORjiX9hZ
kiawXNfbXQk3hRDQZQnsestwcQwTMhOD7UB6+hq6uoVvt3Eh+QRQSwMEFAACAAgA17DrQMyMSI4O
AQAAtgEAAFkAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3Nj
cmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktd2RpZmYuaHRtbFVUCQAD9fj9TyDi/U91
eAsAAQToAwAABOgDAACVkMFKA0EMhu/7FAHPndl6UdZ1ocgiSLXSrQ+QzmQ7g7szyyStFvHdnVq8
eBHJIYHk/yBf7QhtU7McB2qUpQE+YIvmdZfiPtgKLnrEG/gEhdb+XmF/WtX6HK71GTWlPPOEAcyA
zLc52NytnrrVsoXHtusW920FL4GxJ3jAA3Ym+UkARWjMXSL44MWjECAEPPgdio+Z5jDsCPqYoE84
Erx5cfCyXoITmSqt55dXqsw1r67LstRMZp+8HDVjsNv4Tnbmv4OzjBhnEiflZBwyLI7/JCbiuE+G
+A+2ym6yiKYoFst2vamAz78mDKrYOM8gxAJT1kQMvgdx9HMzRLQMJqZERoajKornRdcVtT75/QJQ
SwMECgAAAAAAs6PrQAAAAAAAAAAAAAAAAEIAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9VVAkAAzHi/U+L+v1PdXgLAAEE
6AMAAAToAwAAUEsDBBQAAgAIAOGw60BjqqxsggAAAKgAAABqABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZm
ZWN0ZWQtYnktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVUCQADBvn9TzHi/U91eAsAAQToAwAABOgD
AAAtjUEKwzAMBO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lII
y22d48iS7jHGYMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LK
nZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQAAgAIAOGw60BjqqxsggAAAKgAAABYABwAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
eHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUCQADBvn9TzDi/U91eAsAAQToAwAABOgDAAAtjUEKwzAM
BO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHG
YMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFE
m4Lsak3U8Zq+UEsDBAoAAAAAAG+k60AAAAAAAAAAAAAAAAAgABwAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcmV0cmllcy9VVAkAA5Lj/U+L+v1PdXgLAAEE6AMAAAToAwAAUEsDBBQAAgAIAK6x60C3
k+Nf5AAAAJwBAAAuABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcmV0cmllcy90ZXN0c19ydW4w
LnR4dFVUCQADiPr9T5Lj/U91eAsAAQToAwAABOgDAABlj1FywzAIRP97F6pD9AjpBbCMLTUSuIAy
TU5f7HSmnsmXtOIt2i3uW3Iyt9RprphudSaBaSwLKc2gyCtBFnasbJCHKrF/1k7vxXt7K/9+o5hW
vyfLWjeHrGImWtfK0ATncEu4s7f7i/ent10pfY/Q6UEq0IhXL6Bkm7D9/bdgjOkWGSzN1Tb0XKCT
GUZMc628woyOJ3oR7ZHO0Wlf5qIEk8qVGI7HM6oYu1LGXKL7oSL0YCc9UXsZ0jgyNvi4XAKUDod8
pQbvF9hDwCbmgJMMh6khX5/0V3TWe+rIdRsNvQo/B79QSwECHgMKAAAAAACvsetAAAAAAAAAAAAA
AAAAGAAYAAAAAAAAABAA7UEAAAAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvVVQFAAOK+v1PdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAVrDrQAyhRfKIMwAAKXgCADQAGAAAAAAAAQAAAKSBUgAA
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3dlYmtpdF91bml0X3Rlc3RzX291dHB1dC54bWxVVAUA
AwT4/U91eAsAAQToAwAABOgDAABQSwECHgMKAAAAAABTo+tAAAAAAAAAAAAAAAAAHQAYAAAAAAAA
ABAA7UFINAAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY3NzMy9VVAUAA37h/U91eAsAAQToAwAA
BOgDAABQSwECHgMKAAAAAABTo+tAAAAAAAAAAAAAAAAAJQAYAAAAAAAAABAA7UGfNAAAdG1wL2xh
eW91dC10ZXN0LXJlc3VsdHMvY3NzMy9maWx0ZXJzL1VUBQADfuH9T3V4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAFOj60AHykg5TwEAAGoLAABMABgAAAAAAAAAAACkgf40AAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9jc3MzL2ZpbHRlcnMvYmx1ci1maWx0ZXItcGFnZS1zY3JvbGwtc2VsZi1hY3R1
YWwucG5nVVQFAAN+4f1PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAU6PrQC+kLGo0AQAA/AwA
AEoAGAAAAAAAAAAAAKSB0zYAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NzczMvZmlsdGVycy9i
bHVyLWZpbHRlci1wYWdlLXNjcm9sbC1zZWxmLWRpZmYucG5nVVQFAAN+4f1PdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgAU6PrQBIKHSi0AQAAdw0AAE4AGAAAAAAAAAAAAKSBizgAAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2NzczMvZmlsdGVycy9ibHVyLWZpbHRlci1wYWdlLXNjcm9sbC1zZWxm
LWV4cGVjdGVkLnBuZ1VUBQADfuH9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAFOj60BVUGLC
OQIAALQFAABMABgAAAAAAAEAAACkgcc6AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jc3MzL2Zp
bHRlcnMvYmx1ci1maWx0ZXItcGFnZS1zY3JvbGwtc2VsZi1kaWZmcy5odG1sVVQFAAN+4f1PdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAm7HrQAxGGQ5IpgAAMo0EACYAGAAAAAAAAQAAAKSBhj0A
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3RzX3J1bjEudHh0VVQFAANm+v1PdXgLAAEE6AMA
AAToAwAAUEsBAh4DCgAAAAAAnLHrQAAAAAAAAAAAAAAAAEMAGAAAAAAAAAAAAKSBLuQAAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3B5d2Vic29ja2V0LndzLmxvZy0xMUp1bDIwMTItMjIxMjU2LWVy
ci50eHRVVAUAA2j6/U91eAsAAQToAwAABOgDAABQSwECHgMUAAIACACUsetAJ6JXn1qzAABYLQUA
JgAYAAAAAAABAAAApIGr5AAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdHNfcnVuMi50eHRV
VAUAA1j6/U91eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADdo+tAAAAAAAAAAAAAAAAAHQAYAAAA
AAAAABAA7UFlmAEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9VVAUAA4Li/U91eAsAAQTo
AwAABOgDAABQSwECHgMKAAAAAAC7o+tAAAAAAAAAAAAAAAAAJAAYAAAAAAAAABAA7UG8mAEAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvVVQFAANB4v1PdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgA6rDrQOyh41L4BwAAJRkAAEkAGAAAAAAAAQAAAKSBGpkBAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvbG9hZGVyL2xvY2FsLUNTUy1mcm9tLWxvY2FsLXByZXR0eS1kaWZm
Lmh0bWxVVAUAAxj5/U91eAsAAQToAwAABOgDAABQSwECHgMUAAIACADqsOtA9LWCqhgBAADCAQAA
QQAYAAAAAAABAAAApIGVoQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9sb2FkZXIvbG9j
YWwtQ1NTLWZyb20tbG9jYWwtZGlmZi50eHRVVAUAAxj5/U91eAsAAQToAwAABOgDAABQSwECHgMU
AAIACADqsOtAJeC2SD0BAADoAQAAQwAYAAAAAAABAAAApIEoowEAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvZmFzdC9sb2FkZXIvbG9jYWwtQ1NTLWZyb20tbG9jYWwtd2RpZmYuaHRtbFVUBQADGPn9
T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAOqw60D70K1z/AAAAHUBAABDABgAAAAAAAEAAACk
geKkAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2xvYWRlci9sb2NhbC1DU1MtZnJvbS1s
b2NhbC1hY3R1YWwudHh0VVQFAAMY+f1PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA6rDrQLu+
bT7EAAAAJgEAAEUAGAAAAAAAAQAAAKSBW6YBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3Qv
bG9hZGVyL2xvY2FsLUNTUy1mcm9tLWxvY2FsLWV4cGVjdGVkLnR4dFVUBQADGPn9T3V4CwABBOgD
AAAE6AMAAFBLAQIeAwoAAAAAAOCj60AAAAAAAAAAAAAAAAAhABgAAAAAAAAAEADtQZ6nAQB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC9VVAUAA4Pi/U91eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACAANsetAgUp3rUsAAACsAAAATAAYAAAAAAABAAAApIH5pwEAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZmFzdC94c2wveHNsdC10cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJy
LnR4dFVUBQADWvn9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAA2x60BQXUg3jAAAAPgAAAA/
ABgAAAAAAAEAAACkgcqoAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L3hzbC94c2x0LWJh
ZC1pbXBvcnQtdXJpLXN0ZGVyci50eHRVVAUAA1n5/U91eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CAANsetAbUfUXoUAAADxAAAAPQAYAAAAAAABAAAApIHPqQEAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvZmFzdC94c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUBQADWfn9T3V4CwABBOgD
AAAE6AMAAFBLAQIeAwoAAAAAAIaj60AAAAAAAAAAAAAAAAAkABgAAAAAAAAAEADtQcuqAQB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy9VVAUAA9vh/U91eAsAAQToAwAABOgDAABQ
SwECHgMKAAAAAAC1sOtAAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UEpqwEAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvVVQFAAO1+P1PdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAs7DrQIFPbTmoAAAA0AIAAFEAGAAAAAAAAQAAAKSBjasBAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2dsLXZlcnRleC1hdHRyaWItemVyby1pc3N1ZXMt
c3RkZXJyLnR4dFVUBQADsvj9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAIij60BMlhwIzgAA
AKUBAABBABgAAAAAAAEAAACkgcCsAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZh
cy93ZWJnbC9wcm9ncmFtLXRlc3Qtc3RkZXJyLnR4dFVUBQAD3+H9T3V4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIALSw60B1jiqa2wAAADIBAABFABgAAAAAAAEAAACkgQmuAQB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXN0ZGVyci50eHRV
VAUAA7P4/U91eAsAAQToAwAABOgDAABQSwECHgMUAAIACACysOtAiz03p8oAAABABgAATgAYAAAA
AAABAAAApIFjrwEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvZHJh
dy1hcnJheXMtb3V0LW9mLWJvdW5kcy1zdGRlcnIudHh0VVQFAAOw+P1PdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgAuLDrQC1/dPmJAAAAkAAAAFgAGAAAAAAAAQAAAKSBtbABAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLXZpZXdwb3J0LXBhcmFtZXRlcnMt
cHJlc2VydmVkLXN0ZGVyci50eHRVVAUAA7v4/U91eAsAAQToAwAABOgDAABQSwECHgMUAAIACACy
sOtAp8JHk4oAAAD7AAAARAAYAAAAAAABAAAApIHQsQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
ZmFzdC9jYW52YXMvd2ViZ2wvZXJyb3ItcmVwb3J0aW5nLXN0ZGVyci50eHRVVAUAA7D4/U91eAsA
AQToAwAABOgDAABQSwECHgMUAAIACAC1sOtAGPF8zc4AAACfAQAATwAYAAAAAAABAAAApIHYsgEA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52YXMvd2ViZ2wvc2hhZGVyLWRlbGV0ZWQt
YnktYWNjZXNzb3Itc3RkZXJyLnR4dFVUBQADtfj9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
ALKw60ATexOfAgEAAKIJAABQABgAAAAAAAEAAACkgS+0AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9mYXN0L2NhbnZhcy93ZWJnbC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMtc3RkZXJyLnR4
dFVUBQADsPj9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALaw60ACOaRbPQEAAFwMAABJABgA
AAAAAAEAAACkgbu1AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC90
eXBlLWNvbnZlcnNpb24tdGVzdC1zdGRlcnIudHh0VVQFAAO4+P1PdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAs7DrQIaqrgSqAAAAiAIAAFQAGAAAAAAAAQAAAKSBe7cBAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2Zhc3QvY2FudmFzL3dlYmdsL2luZGV4LXZhbGlkYXRpb24tY29waWVzLWluZGlj
ZXMtc3RkZXJyLnR4dFVUBQADsvj9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALSw60AQyH7f
nQAAAEQBAABfABgAAAAAAAEAAACkgbO4AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2Nh
bnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLXZlcmlmaWVzLXRvby1tYW55LWluZGljZXMtc3Rk
ZXJyLnR4dFVUBQADs/j9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALKw60AVjiZzlwAAAPYB
AABEABgAAAAAAAEAAACkgem5AQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93
ZWJnbC9nZXQtYWN0aXZlLXRlc3Qtc3RkZXJyLnR4dFVUBQADsPj9T3V4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIALOw60BKg812kwAAACABAABRABgAAAAAAAEAAACkgf66AQB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9mYXN0L2NhbnZhcy93ZWJnbC9nbC1iaW5kLWF0dHJpYi1sb2NhdGlvbi10ZXN0
LXN0ZGVyci50eHRVVAUAA7H4/U91eAsAAQToAwAABOgDAABQSwECHgMUAAIACAC0sOtA7eqJfVgA
AABeAAAASgAYAAAAAAABAAAApIEcvAEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9jYW52
YXMvd2ViZ2wvbnVsbC1vYmplY3QtYmVoYXZpb3VyLXN0ZGVyci50eHRVVAUAA7P4/U91eAsAAQTo
AwAABOgDAABQSwECHgMKAAAAAACho+tAAAAAAAAAAAAAAAAAKAAYAAAAAAAAABAA7UH4vAEAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxlc3lzdGVtL1VUBQADDeL9T3V4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIAM6w60BnuilOZQAAAG4AAAA6ABgAAAAAAAEAAACkgVq9AQB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtY29weS1zdGRlcnIudHh0VVQFAAPj
+P1PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAzrDrQLlYEq9lAAAAbgAAADoAGAAAAAAAAQAA
AKSBM74BAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Zhc3QvZmlsZXN5c3RlbS9vcC1tb3ZlLXN0
ZGVyci50eHRVVAUAA+P4/U91eAsAAQToAwAABOgDAABQSwECHgMUAAIACADOsOtApSu1smUAAABu
AAAAPAAYAAAAAAABAAAApIEMvwEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvZmFzdC9maWxlc3lz
dGVtL29wLXJlbW92ZS1zdGRlcnIudHh0VVQFAAPj+P1PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgAobHrQIUWqjomPwEAsgoPACYAGAAAAAAAAQAAAKSB578BAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2FjY2Vzc19sb2cudHh0VVQFAANu+v1PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAkbHr
QDKO/WletQAAlgsFACYAGAAAAAAAAQAAAKSBbf8CAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rl
c3RzX3J1bjMudHh0VVQFAANR+v1PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgApLHrQECprf6s
MQAAscYEACUAGAAAAAAAAQAAAKSBK7UDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Vycm9yX2xv
Zy50eHRVVAUAA3T6/U91eAsAAQToAwAABOgDAABQSwECHgMKAAAAAADro+tAAAAAAAAAAAAAAAAA
IQAYAAAAAAAAABAA7UE25wMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vVVQFAAOa
4v1PdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAALaTrQAAAAAAAAAAAAAAAACoAGAAAAAAAAAAQ
AO1BkecDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL1VUBQADFuP9
T3V4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAC2k60AAAAAAAAAAAAAAAAAyABgAAAAAAAAAEADt
QfXnAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL1VU
BQADFuP9T3V4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAC2k60AAAAAAAAAAAAAAAAA2ABgAAAAA
AAAAEADtQWHoAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0
dWFsL2dwdS9VVAUAAxbj/U91eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAtpOtAAAAAAAAAAAAA
AAAAOwAYAAAAAAAAABAA7UHR6AMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hy
b21pdW0vdmlydHVhbC9ncHUvZmFzdC9VVAUAAxbj/U91eAsAAQToAwAABOgDAABQSwECHgMKAAAA
AAAtpOtAAAAAAAAAAAAAAAAAQgAYAAAAAAAAABAA7UFG6QMAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvVVQFAAMW4/1PdXgL
AAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAMqTrQAAAAAAAAAAAAAAAAEgAGAAAAAAAAAAQAO1BwukD
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zh
c3QvY2FudmFzL3dlYmdsL1VUBQADIOP9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAFmx60AN
wmiaqQAAANoCAABvABgAAAAAAAEAAACkgUTqAwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0
Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC9nbC12ZXJ0ZXgtYXR0
cmliLXplcm8taXNzdWVzLXN0ZGVyci50eHRVVAUAA+n5/U91eAsAAQToAwAABOgDAABQSwECHgMU
AAIACABZsetAhD2GJtoAAAA2AQAAYwAYAAAAAAABAAAApIGW6wMAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvaW5k
ZXgtdmFsaWRhdGlvbi1zdGRlcnIudHh0VVQFAAPq+f1PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgAWLHrQMiUtlXIAAAAVAYAAGwAGAAAAAAAAQAAAKSBDe0DAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFzL3dlYmdsL2RyYXct
YXJyYXlzLW91dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUBQAD6Pn9T3V4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAFix60Bx3/RCiwAAAP8AAABiABgAAAAAAAEAAACkgXvuAwB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJn
bC9lcnJvci1yZXBvcnRpbmctc3RkZXJyLnR4dFVUBQAD6Pn9T3V4CwABBOgDAAAE6AMAAFBLAQIe
AxQAAgAIAF2x60B/z60JiQAAAJIAAABoABgAAAAAAAEAAACkgaLvAwB0bXAvbGF5b3V0LXRlc3Qt
cmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJnbC93
ZWJnbC1jb21wb3NpdGUtbW9kZXMtc3RkZXJyLnR4dFVUBQAD8vn9T3V4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAFix60BFeFnRBQEAAMQJAABuABgAAAAAAAEAAACkgc3wAwB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2NhbnZhcy93ZWJn
bC9kcmF3LWVsZW1lbnRzLW91dC1vZi1ib3VuZHMtc3RkZXJyLnR4dFVUBQAD6Pn9T3V4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIAFyx60DQbNK1QQEAAIoMAABnABgAAAAAAAEAAACkgXryAwB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dwdS9mYXN0L2Nh
bnZhcy93ZWJnbC90eXBlLWNvbnZlcnNpb24tdGVzdC1zdGRlcnIudHh0VVQFAAPv+f1PdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAWrHrQHboULjMAAAApQEAAGwAGAAAAAAAAQAAAKSBXPQDAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3Qv
Y2FudmFzL3dlYmdsL29iamVjdC1kZWxldGlvbi1iZWhhdmlvdXItc3RkZXJyLnR4dFVUBQAD6/n9
T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAFmx60D+BGxhqAAAAJACAAByABgAAAAAAAEAAACk
gc71AwB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS92aXJ0dWFsL2dw
dS9mYXN0L2NhbnZhcy93ZWJnbC9pbmRleC12YWxpZGF0aW9uLWNvcGllcy1pbmRpY2VzLXN0ZGVy
ci50eHRVVAUAA+r5/U91eAsAAQToAwAABOgDAABQSwECHgMUAAIACABZsetAwU0+Hp4AAABIAQAA
fQAYAAAAAAABAAAApIEi9wMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21p
dW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvaW5kZXgtdmFsaWRhdGlvbi12ZXJpZmll
cy10b28tbWFueS1pbmRpY2VzLXN0ZGVyci50eHRVVAUAA+r5/U91eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACABYsetAIwZDVJkAAAD+AQAAYgAYAAAAAAABAAAApIF3+AMAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wv
Z2V0LWFjdGl2ZS10ZXN0LXN0ZGVyci50eHRVVAUAA+j5/U91eAsAAQToAwAABOgDAABQSwECHgMU
AAIACABYsetAKhmjNpUAAAAkAQAAbwAYAAAAAAABAAAApIGs+QMAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvcGxhdGZvcm0vY2hyb21pdW0vdmlydHVhbC9ncHUvZmFzdC9jYW52YXMvd2ViZ2wvZ2wt
YmluZC1hdHRyaWItbG9jYXRpb24tdGVzdC1zdGRlcnIudHh0VVQFAAPo+f1PdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgAWrHrQHTh9npZAAAAYAAAAGgAGAAAAAAAAQAAAKSB6voDAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL3ZpcnR1YWwvZ3B1L2Zhc3QvY2FudmFz
L3dlYmdsL251bGwtb2JqZWN0LWJlaGF2aW91ci1zdGRlcnIudHh0VVQFAAPr+f1PdXgLAAEE6AMA
AAToAwAAUEsBAh4DCgAAAAAA66PrQAAAAAAAAAAAAAAAAC8AGAAAAAAAAAAQAO1B5fsDAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvVVQFAAOa4v1PdXgLAAEE
6AMAAAToAwAAUEsBAh4DCgAAAAAA66PrQAAAAAAAAAAAAAAAADUAGAAAAAAAAAAQAO1BTvwDAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvVVQFAAOa
4v1PdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAA66PrQAAAAAAAAAAAAAAAAD4AGAAAAAAAAAAQ
AO1BvfwDAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVz
dHMvc2VjdXJpdHkvVVQFAAOa4v1PdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAA66PrQAAAAAAA
AAAAAAAAAEsAGAAAAAAAAAAQAO1BNf0DAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3BsYXRmb3Jt
L2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvbWl4ZWRDb250ZW50L1VUBQADmuL9T3V4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIABix60CJuvHvawAAAG8AAAB7ABgAAAAAAAEAAACkgbr9AwB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3Vy
aXR5L21peGVkQ29udGVudC9pbnNlY3VyZS1pZnJhbWUtaW4tbWFpbi1mcmFtZS1hbGxvd2VkLXN0
ZGVyci50eHRVVAUAA2/5/U91eAsAAQToAwAABOgDAABQSwECHgMKAAAAAACcsetAAAAAAAAAAAAA
AAAAQwAYAAAAAAAAAAAApIHa/gMAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcHl3ZWJzb2NrZXQu
d3MubG9nLTExSnVsMjAxMi0yMjEyNTYtb3V0LnR4dFVUBQADaPr9T3V4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIAJWx60DYLFkRnEsAAMUQAgAmABgAAAAAAAEAAACkgVf/AwB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy90ZXN0c19ydW4wLnR4dFVUBQADWfr9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIAK+x60CWKy8CjCMAAPqXAAAkABgAAAAAAAEAAACkgVNLBAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9yZXN1bHRzLmh0bWxVVAUAA4r6/U91eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAxpOtA
AAAAAAAAAAAAAAAAIAAYAAAAAAAAABAA7UE9bwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGx1
Z2lucy9VVAUAAx7j/U91eAsAAQToAwAABOgDAABQSwECHgMUAAIACABdsetAR7OHKu0AAABTAQAA
RAAYAAAAAAABAAAApIGXbwQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcGx1Z2lucy9udWxsLW5w
cC1nZXR2YWx1ZS1wb2ludGVyLXN0ZGVyci50eHRVVAUAA/L5/U91eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACACvsetAFjesbT0CAAAvBQAAKQAYAAAAAAABAAAApIECcQQAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZnVsbF9yZXN1bHRzLmpzb25VVAUAA4r6/U91eAsAAQToAwAABOgDAABQSwECHgMU
AAIACACcsetAkexmgRokAABvYQAAIgAYAAAAAAABAAAApIGicwQAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvaHR0cGQuY29uZlVUBQADZ/r9T3V4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAADaj60AA
AAAAAAAAAAAAAAAdABgAAAAAAAAAEADtQRiYBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L1VUBQADR+H9T3V4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAKqj60AAAAAAAAAAAAAAAAAjABgA
AAAAAAAAEADtQW+YBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL1VUBQADIOL9
T3V4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAADaj60AAAAAAAAAAAAAAAAApABgAAAAAAAAAEADt
QcyYBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL1VUBQADR+H9T3V4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGOw60D+waUdQAEAAFoCAABFABgAAAAAAAEAAACkgS+Z
BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3Qt
Z2V0LWFjdHVhbC50eHRVVAUAAxr4/U91eAsAAQToAwAABOgDAABQSwECHgMKAAIAAABjsOtAnOmn
dQYAAAAGAAAARwAYAAAAAAABAAAApIHumgQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90
ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC1leHBlY3RlZC50eHRVVAUAAxr4/U91eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACABjsOtAVzVCW5kBAAAXAwAAQwAYAAAAAAABAAAApIF1mwQAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC1k
aWZmLnR4dFVUBQADGvj9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGSw60C5x48m2x8AAKgr
AABFABgAAAAAAAAAAACkgYudBAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2Nh
Y2hlL3Bvc3QtcmVkaXJlY3QtZ2V0LWFjdHVhbC5wbmdVVAUAAxv4/U91eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACABjsOtAjaV8io8BAADoAgAARQAYAAAAAAABAAAApIHlvQQAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0LWdldC13ZGlmZi5odG1s
VVQFAAMa+P1PdXgLAAEE6AMAAAToAwAAUEsBAh4DCgACAAAAZLDrQJzpp3UGAAAABgAAAFMAGAAA
AAAAAQAAAKSB878EAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9z
dC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtZXhwZWN0ZWQudHh0VVQFAAMb+P1PdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgAZLDrQNX2HWKQCAAAGx8AAFcAGAAAAAAAAQAAAKSBhsAEAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJy
ZXNvdXJjZXMtcHJldHR5LWRpZmYuaHRtbFVUBQADG/j9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQA
AgAIAGSw60CNpXyKjwEAAOgCAABRABgAAAAAAAEAAACkgafJBAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLXdkaWZm
Lmh0bWxVVAUAAxv4/U91eAsAAQToAwAABOgDAABQSwECHgMUAAIACABksOtAucePJtsfAACoKwAA
UQAYAAAAAAAAAAAApIHBywQAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNo
ZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1hY3R1YWwucG5nVVQFAAMb+P1PdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAZLDrQJxCjy2JCAAADx8AAEsAGAAAAAAAAQAAAKSBJ+wEAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQt
cHJldHR5LWRpZmYuaHRtbFVUBQADG/j9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAGSw60Db
KJQDoQEAAC8DAABPABgAAAAAAAEAAACkgTX1BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWRpZmYudHh0VVQFAAMb
+P1PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAZLDrQP7BpR1AAQAAWgIAAFEAGAAAAAAAAQAA
AKSBX/cEAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRo
LWNhY2hlZC1zdWJyZXNvdXJjZXMtYWN0dWFsLnR4dFVUBQADG/j9T3V4CwABBOgDAAAE6AMAAFBL
AQIeAwoAAAAAAJCj60AAAAAAAAAAAAAAAAAoABgAAAAAAAAAEADtQSr5BAB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL21pc2MvVVQFAAPw4f1PdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAvbDrQBU1NZJ6AAAAvAAAAEIAGAAAAAAAAQAAAKSBjPkEAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHAvdGVzdHMvbWlzYy94c2x0LWJhZC1pbXBvcnQtc3RkZXJyLnR4dFVUBQADxfj9
T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIALGw60CeSJvfawAAAG8AAABHABgAAAAAAAEAAACk
gYL6BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL21pc2MvZG5zLXByZWZldGNo
LWNvbnRyb2wtc3RkZXJyLnR4dFVUBQADrvj9T3V4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAAHmj
60AAAAAAAAAAAAAAAAApABgAAAAAAAAAEADtQW77BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9o
dHRwL3Rlc3RzL21lZGlhL1VUBQADxeH9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKGx60Ch
7f3EcDEAAHVCAABbABgAAAAAAAAAAACkgdH7BAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRw
L3Rlc3RzL21lZGlhL3ZpZGVvLWJ1ZmZlcmVkLXJhbmdlLWNvbnRhaW5zLWN1cnJlbnRUaW1lLWRp
ZmYucG5nVVQFAANu+v1PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAobHrQBBVH6pBAgAA3wUA
AF0AGAAAAAAAAQAAAKSB1i0FAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvbWVk
aWEvdmlkZW8tYnVmZmVyZWQtcmFuZ2UtY29udGFpbnMtY3VycmVudFRpbWUtZGlmZnMuaHRtbFVU
BQADbvr9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKGx60B4V8ebwywAAGc7AABfABgAAAAA
AAAAAACkga4wBQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL21lZGlhL3ZpZGVv
LWJ1ZmZlcmVkLXJhbmdlLWNvbnRhaW5zLWN1cnJlbnRUaW1lLWV4cGVjdGVkLnBuZ1VUBQADbvr9
T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAKGx60AiKWkNTSwAAEs7AABdABgAAAAAAAAAAACk
gQpeBQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL21lZGlhL3ZpZGVvLWJ1ZmZl
cmVkLXJhbmdlLWNvbnRhaW5zLWN1cnJlbnRUaW1lLWFjdHVhbC5wbmdVVAUAA276/U91eAsAAQTo
AwAABOgDAABQSwECHgMKAAAAAACyo+tAAAAAAAAAAAAAAAAALAAYAAAAAAAAABAA7UHuigUAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9VVAUAAzDi/U91eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACADXsOtAPJvfTEUAAABJAAAAWwAYAAAAAAABAAAApIFUiwUAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zY3JpcHQtY3Jvc3Nvcmln
aW4tbG9hZHMtY29ycmVjdGx5LWV4cGVjdGVkLnR4dFVUBQAD9fj9T3V4CwABBOgDAAAE6AMAAFBL
AQIeAxQAAgAIANqw60BWcFJpYgAAAI4AAABVABgAAAAAAAEAAACkgS6MBQB0bXAvbGF5b3V0LXRl
c3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteG1sLWV4dGVybmFsLWVu
dGl0eS1zdGRlcnIudHh0VVQFAAP7+P1PdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA2rDrQGBL
ZhCRAAAA+wEAAF0AGAAAAAAAAQAAAKSBH40FAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAv
dGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wtZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3Rk
ZXJyLnR4dFVUBQAD+/j9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIANew60Djs/8B8gcAAPYZ
AABfABgAAAAAAAEAAACkgUeOBQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktcHJldHR5LWRpZmYuaHRt
bFVUBQAD9vj9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIANew60AA82dCyQAAAEMBAABZABgA
AAAAAAEAAACkgdKWBQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L3NjcmlwdC1jcm9zc29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktYWN0dWFsLnR4dFVUBQAD9fj9T3V4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIANew60Bigo8GFgEAABUCAABXABgAAAAAAAEAAACkgS6Y
BQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NjcmlwdC1jcm9z
c29yaWdpbi1sb2Fkcy1jb3JyZWN0bHktZGlmZi50eHRVVAUAA/X4/U91eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACADXsOtAzIxIjg4BAAC2AQAAWQAYAAAAAAABAAAApIHVmQUAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zY3JpcHQtY3Jvc3NvcmlnaW4tbG9hZHMt
Y29ycmVjdGx5LXdkaWZmLmh0bWxVVAUAA/X4/U91eAsAAQToAwAABOgDAABQSwECHgMKAAAAAACz
o+tAAAAAAAAAAAAAAAAAQgAYAAAAAAAAABAA7UF2mwUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQFAAMx4v1PdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgA4bDrQGOqrGyCAAAAqAAAAGoAGAAAAAAAAQAAAKSB8psFAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L3hzbC11bmFmZmVjdGVkLWJ5LXN0eWxlLXNyYy0yLXN0ZGVyci50eHRVVAUAAwb5/U91
eAsAAQToAwAABOgDAABQSwECHgMUAAIACADhsOtAY6qsbIIAAACoAAAAWAAYAAAAAAABAAAApIEY
nQUAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kveHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUBQADBvn9T3V4CwABBOgDAAAE6AMA
AFBLAQIeAwoAAAAAAG+k60AAAAAAAAAAAAAAAAAgABgAAAAAAAAAEADtQSyeBQB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9yZXRyaWVzL1VUBQADkuP9T3V4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAI
AK6x60C3k+Nf5AAAAJwBAAAuABgAAAAAAAEAAACkgYaeBQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0
cy9yZXRyaWVzL3Rlc3RzX3J1bjAudHh0VVQFAAOI+v1PdXgLAAEE6AMAAAToAwAAUEsFBgAAAABx
AHEASz0AANKfBQAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154687</attachid>
            <date>2012-07-26 10:54:07 -0700</date>
            <delta_ts>2012-07-30 09:35:50 -0700</delta_ts>
            <desc>Rebased, static casts</desc>
            <filename>bug-90528-20120726105356.patch</filename>
            <type>text/plain</type>
            <size>106594</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBmZDhjYzA4NjZiODdl
MDJjZmFkYTc4MTQwYzVmMDk2N2Y1NWUzMzRmLi5mZTliMDZmMWE5ZGYzMTUxNGY4ODZiYjY5M2I0
OTNlODEwMjExOTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxMi0wNy0yNiAg
QWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0g
UmVtb3ZlIGRlcGVuZGVuY3kgb24gU2Nyb2xsYmFyVGhlbWUgZnJvbSB0aGUgY29tcG9zaXRvcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1MjgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGbGVzaCBvdXQg
V2ViU2Nyb2xsYmFyIGZ1bmN0aW9ucyBlbm91Z2ggdG8gYmUgYWJsZSB0byBpbXBsZW1lbnQKKyAg
ICAgICAgdGhlIHBhcnRzIG9mIFNjcm9sbGJhclRoZW1lQ2xpZW50IHRoYXQgQ2hyb21pdW0gdXNl
cy4KKworICAgICAgICBXcmFwIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlIGluIHRoZSBQbGF0Zm9y
bSBBUEkgdmlhIHR3byBkaWZmZXJlbnQKKyAgICAgICAgY2xhc3NlczogV2ViU2Nyb2xsYmFyVGhl
bWVQYWludGVyIGlzIHRoZSBub24tdGhyZWFkc2FmZSB2ZXJzaW9uIHRoYXQKKyAgICAgICAgaXMg
dXNlZCB0byBwYWludCBwYXJ0cyBvZiBhIHNjcm9sbGJhciBpbnRvIGEgY29udGV4dC4gVGhpcyBp
cyBpbnRlbmRlZAorICAgICAgICB0byBvbmx5IGJlIHVzZWQgb24gdGhlIG1haW4gdGhyZWFkLiBX
ZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IGlzIHRoZQorICAgICAgICB0aHJlYWRzYWZlIHZlcnNp
b24sIHVzZWQgdG8gZ2V0IHRoZSBsb2NhdGlvbiBhbmQgc2l6ZXMgb2Ygc2Nyb2xsYmFyCisgICAg
ICAgIHBhcnRzIG9uIGJvdGggdGhyZWFkcywgc28gdGhleSBjYW4gYmUgcGFpbnRlZCBvbiB0aGUg
bWFpbiB0aHJlYWQgYW5kCisgICAgICAgIGNvbXBvc2l0ZWQgb24gdGhlIGNvbXBvc2l0b3IgdGhy
ZWFkLgorCisgICAgICAgIFVuZm9ydHVuYXRlbHksIHRoZXJlIGlzIG5vIHdheSB0byBlbmZvcmNl
IHRoZXNlIHRocmVhZCBzYWZldHkgaXNzdWVzLAorICAgICAgICBhcyBvdGhlciBwb3J0cyB1c2Ug
dGhlIFNjcm9sbGJhclRoZW1lIGhpZXJhcmNoeSBkaWZmZXJlbnRseSB0aGFuCisgICAgICAgIENo
cm9taXVtIGRvZXMuIE9uIHRoZSBicmlnaHQgc2lkZSwgb3RoZXIgdGhhbiBwYWludGluZywgdGhl
CisgICAgICAgIFNjcm9sbGJhclRoZW1lIGNvZGUgaXMgbGFyZ2VseSBmdW5jdGlvbmFsIGFuZCB3
ZSBjYW4gZW5mb3JjZSB0aGlzCisgICAgICAgIGludGVybmFsbHkgZm9yIHRoZSBDaHJvbWl1bSBw
b3J0LgorCisgICAgICAgICogUGxhdGZvcm0uZ3lwaToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJs
aWMvV2ViU2Nyb2xsYmFyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6
CisgICAgICAgIChXZWJTY3JvbGxiYXIpOgorICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJT
Y3JvbGxiYXJUaGVtZUdlb21ldHJ5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OldlYlNjcm9sbGJhclRoZW1l
R2VvbWV0cnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp+
V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lR2VvbWV0cnk6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lR2VvbWV0cnk6OmlzTnVsbCk6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlNj
cm9sbGJhclRoZW1lUGFpbnRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcik6CisgICAgICAg
IChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6V2ViU2Nyb2xsYmFyVGhlbWVQYWlu
dGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjp+V2ViU2Ny
b2xsYmFyVGhlbWVQYWludGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQ
YWludGVyOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBh
aW50ZXI6OmlzTnVsbCk6CisKIDIwMTItMDctMjUgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3
QGdvb2dsZS5jb20+CiAKICAgICAgICAgTWVkaWFTdHJlYW0gQVBJOiBVcGRhdGUgTWVkaWFTdHJl
YW1UcmFjayB0byBtYXRjaCB0aGUgc3BlY2lmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc2NzhmNjA2
MTM4M2YzOTYxNzg5ZDRiOWU4ZTBhOTQ5YTYyNmY5ZGYuLjllNzdiNDYyZDE4MjViOWExNmM0MWUw
ZGYxOTkzOWY3ZGQ3ZTA4NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MyBAQAorMjAxMi0wNy0y
NiAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1
bV0gUmVtb3ZlIGRlcGVuZGVuY3kgb24gU2Nyb2xsYmFyVGhlbWUgZnJvbSB0aGUgY29tcG9zaXRv
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1MjgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0ZWQg
YnkgZXhpc3RpbmcgbGF5b3V0IHRlc3RzLgorCisgICAgICAgIFNjcm9sbGJhckxheWVyQ2hyb21p
dW0gaXMgbW9kaWZpZWQgdG8gdXNlIHRoZSBQbGF0Zm9ybSBBUEkgZm9yCisgICAgICAgIFdlYlNj
cm9sbGJhciwgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLCBhbmQgV2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeS4KKyAgICAgICAgVGhpcyBwcmV2ZW50cyBBUEkgZGVwZW5kZW5jaWVzIGZyb20gdGhl
IGNvbXBvc2l0b3IgY29kZSBpbnRvIFdlYkNvcmUKKyAgICAgICAgc2Nyb2xsYmFyIGFuZCB0aGVt
ZSBjb2RlLgorCisgICAgICAgIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhciBub3cg
aW1wbGVtZW50cyB0aGUgV2ViU2Nyb2xsYmFyIEFQSQorICAgICAgICBpbnN0ZWFkIG9mIHRoZSBT
Y3JvbGxiYXJUaGVtZUNsaWVudCBBUEkuCisKKyAgICAgICAgQWxzbywgQ0NTY3JvbGxiYXJMYXll
ckltcGwgbm93IG5vIGxvbmdlciBnZXRzIHRoZSB0aGVtZSBmcm9tIGEgc3RhdGljCisgICAgICAg
IGFjY2Vzc29yLiBJdCBub3cgZ2V0cyBhICJjb3B5IiBvZiB0aGUgdGhlbWUgZnJvbSB0aGUgbWFp
biB0aHJlYWQgdmlhCisgICAgICAgIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnksIHdoaWNoIGlz
IG1vcmUgY29ycmVjdCBmb3IgcmVuZGVyIHRoZW1lCisgICAgICAgIHNjcm9sbGJhcnMgd2hpY2gg
d2VyZSBwcmV2aW91c2x5IHVzaW5nIHRoZSBuYXRpdmUgdGhlbWUgdG8gZ2V0IHBhcnQKKyAgICAg
ICAgZ2VvbWV0cnkuIFVzaW5nIHRoZSBjb3JyZWN0IHRoZW1lIHVuZm9ydHVuYXRlbHkgY2F1c2Vz
IGNyYXNoZXMgZHVlIHRvCisgICAgICAgIGJhZCBjYXN0cyBpbiBSZW5kZXJTY3JvbGxiYXJUaGVt
ZSwgc28gdGhpcyBwYXRjaCB0dXJucyBiYWNrIG9mZiB0aGUKKyAgICAgICAgdXNlIG9mIFNjcm9s
bGJhckxheWVyQ2hyb21pdW0gZm9yIHRoZW1lZCBzY3JvbGxiYXJzIHVudGlsIHRoYXQgY2FuIGJl
CisgICAgICAgIHJlc29sdmVkLgorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0v
U2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVh
dGVTY3JvbGxiYXJMYXllcik6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDbGll
bnQuaDoKKyAgICAgICAgKFNjcm9sbGJhclRoZW1lQ2xpZW50KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9TY3JvbGxiYXJMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxiYXJMYXllckNocm9taXVtOjpTY3JvbGxiYXJMYXllckNocm9taXVtKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhckxheWVyQ2hyb21pdW06OnB1c2hQcm9wZXJ0aWVzVG8p
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50ZXI6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcjo6U2Nyb2xsYmFy
QmFja2dyb3VuZFBhaW50ZXIpOgorICAgICAgICAoU2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGh1bWJQYWludGVyOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGh1bWJQYWludGVyOjpTY3JvbGxiYXJUaHVtYlBhaW50
ZXIpOgorICAgICAgICAoU2Nyb2xsYmFyVGh1bWJQYWludGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNyZWF0ZVRleHR1cmVVcGRhdGVySWZOZWVkZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6c2V0VGV4dHVyZVByaW9y
aXRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6dXBkYXRl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TY3JvbGxiYXJMYXllckNo
cm9taXVtLmg6CisgICAgICAgIChTY3JvbGxiYXJMYXllckNocm9taXVtKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXJMYXllcklt
cGwpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OnNldFNjcm9sbGJh
ckRhdGEpOgorICAgICAgICAoV2ViQ29yZTo6dG9VVlJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6
Q0NTY3JvbGxiYXJMYXllckltcGw6OmFwcGVuZFF1YWRzKToKKyAgICAgICAgKFdlYkNvcmU6OkND
U2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aXNPdmVybGF5KToKKyAgICAgICAgKFdl
YkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6dmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpsb2NhdGlvbik6
CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnNp
emUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFy
OjplbmFibGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Nj
cm9sbGJhcjo6bWF4aW11bSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1w
bDo6Q0NTY3JvbGxiYXI6OnRvdGFsU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJh
ckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmlzU2Nyb2xsVmlld1Njcm9sbGJhcik6CisgICAgICAg
IChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmlzU2Nyb2xsYWJs
ZUFyZWFBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkND
U2Nyb2xsYmFyOjpnZXRUaWNrbWFya3MpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJM
YXllckltcGw6OkNDU2Nyb2xsYmFyOjpjb250cm9sU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpD
Q1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnByZXNzZWRQYXJ0KToKKyAgICAgICAg
KFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aG92ZXJlZFBhcnQp
OgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpz
Y3JvbGxiYXJPdmVybGF5U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXll
ckltcGw6OkNDU2Nyb2xsYmFyOjpvcmllbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDQ1Nj
cm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmlzQ3VzdG9tU2Nyb2xsYmFyKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5o
OgorICAgICAgICAoQ0NTY3JvbGxiYXJMYXllckltcGwpOgorICAgICAgICAoQ0NTY3JvbGxiYXIp
OgorCiAyMDEyLTA3LTI1ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIEluaXRpYWxpemUgUXVhbGlmaWVkTmFtZSdzIHN0cmluZ3MgZnJvbSB0aGUgcmVh
ZCBvbmx5IGRhdGEgc2VnbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA3OGIwNDFl
NDViOTJhMDI0MGMxOWJlZWQ1NTA5YjM2NmQzM2FmZmNkLi40ZTcwYWViMjc2NmJkYjRkMWUxZWM1
Y2RjZTAwY2Q4NjBhMzJmMmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2MCBAQAorMjAxMi0wNy0yNiAgQWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgor
CisgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIGRlcGVuZGVuY3kgb24gU2Nyb2xsYmFyVGhlbWUg
ZnJvbSB0aGUgY29tcG9zaXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTA1MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgaW1wbGVtZW50YXRpb25zIGZvciBXZWJTY3JvbGxiYXJUaGVtZUdlb21l
dHJ5IGFuZAorICAgICAgICBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuIEZpbGwgb3V0IGFkZGl0
aW9uYWwgQVBJIGNhbGxzIGZvcgorICAgICAgICBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsIHNpbmNl
IGl0IGRlcml2ZXMgZnJvbSBXZWJTY3JvbGxiYXIuCisKKyAgICAgICAgQWRkIFdlYlNjcm9sbGJh
ckltcGwgdG8gdGhlIGNsaWVudCBBUEkgdG8gd3JhcCBhbmQgb3duIGFuIGV4aXN0aW5nCisgICAg
ICAgIFdlYkNvcmUgU2Nyb2xsYmFyIG9iamVjdCBhbmQgcHJvdmlkZSB0aGUgV2ViU2Nyb2xsYmFy
IGludGVyZmFjZS4KKworICAgICAgICBCeSBrZWVwaW5nIFdlYlNjcm9sbGJhciBzZXBhcmF0ZSBm
cm9tIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnksIHRoZQorICAgICAgICBjb21wb3NpdG9yIHRo
cmVhZCBjYW4gY3JlYXRlIGl0cyBvd24gdGhyZWFkLXNhZmUgZGF0YSBiYWcgdmVyc2lvbiBvZiBh
CisgICAgICAgIFdlYlNjcm9sbGJhciAoQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFy
KSwgYnV0IHRoaXMgcmVxdWlyZXMKKyAgICAgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBs
LgorCisgICAgICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBkb2VzIHRoZSByZXZlcnNl
IG9mIFdlYlNjcm9sbGJhckltcGw7IGl0CisgICAgICAgIHdyYXBzIGEgV2ViU2Nyb2xsYmFyIGFu
ZCBwcm92aWRlcyB0aGUgU2Nyb2xsYmFyVGhlbWVDbGllbnQgaW50ZXJmYWNlLgorICAgICAgICBU
aGlzIGlzIHNvIHRoYXQgYSBXZWJTY3JvbGxiYXIgY2FuIGJlIHBhc3NlZCB0byB0aGUgZ2VvbWV0
cnkgYW5kCisgICAgICAgIHBhaW50ZXIgZnVuY3Rpb25zLiBUaGVuLCBpbnRlcm5hbGx5IHRoZSBX
ZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwKKyAgICAgICAgY2FuIGJlIHVzZWQgdG8gYWRhcHQg
dGhlIFdlYlNjcm9sbGJhciB0byB0aGUgU2Nyb2xsYmFyVGhlbWVDbGllbnQKKyAgICAgICAgaW50
ZXJmYWNlIHNvIHRoZSBnZW9tZXRyeSBhbmQgcGFpbnRlciBmdW5jdGlvbnMgY2FuIGNhbGwgZGly
ZWN0CisgICAgICAgIGZ1bmN0aW9ucyBvbiBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS4KKworICAg
ICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICogc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3Bw
OgorICAgICAgICAqIHNyYy9FeHRlcm5hbFBvcHVwTWVudS5oOgorICAgICAgICAoV2ViS2l0KToK
KyAgICAgICAgKiBzcmMvV2ViUGx1Z2luU2Nyb2xsYmFySW1wbC5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6OldlYlBsdWdpblNjcm9sbGJhckltcGwpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpsb2NhdGlvbik6CisgICAgICAg
IChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpzaXpl
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6ZW5hYmxlZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6Om1heGltdW0pOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjp0b3RhbFNpemUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjppc1Njcm9sbFZpZXdTY3JvbGxiYXIpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjppc1Njcm9sbGFibGVBcmVh
QWN0aXZlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6Z2V0VGlj
a21hcmtzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6Y29udHJv
bFNpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpwcmVzc2Vk
UGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6OmhvdmVyZWRQ
YXJ0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6c2Nyb2xsYmFy
T3ZlcmxheVN0eWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6
b3JpZW50YXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpp
c0N1c3RvbVNjcm9sbGJhcik6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhcklt
cGw6Om9uTW91c2VVcCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6
Om9uTW91c2VNb3ZlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6
b25Nb3VzZUxlYXZlKToKKyAgICAgICAgKiBzcmMvV2ViUGx1Z2luU2Nyb2xsYmFySW1wbC5oOgor
ICAgICAgICAoV2ViUGx1Z2luU2Nyb2xsYmFySW1wbCk6CisgICAgICAgICogc3JjL1dlYlNjcm9s
bGJhckltcGwuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlNjcm9sbGJhcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1w
bDo6V2ViU2Nyb2xsYmFySW1wbCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6
OmlzT3ZlcmxheSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OnZhbHVlKToK
KyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6bG9jYXRpb24pOgorICAgICAgICAo
V2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjpzaXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Ny
b2xsYmFySW1wbDo6ZW5hYmxlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6
Om1heGltdW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjp0b3RhbFNpemUp
OgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjppc1Njcm9sbFZpZXdTY3JvbGxi
YXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjppc1Njcm9sbGFibGVBcmVh
QWN0aXZlKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6Z2V0VGlja21hcmtz
KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6Y29udHJvbFNpemUpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjpwcmVzc2VkUGFydCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OmhvdmVyZWRQYXJ0KToKKyAgICAgICAgKFdlYktpdDo6
V2ViU2Nyb2xsYmFySW1wbDo6c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKToKKyAgICAgICAgKFdlYktp
dDo6V2ViU2Nyb2xsYmFySW1wbDo6b3JpZW50YXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJT
Y3JvbGxiYXJJbXBsOjppc0N1c3RvbVNjcm9sbGJhcik6CisgICAgICAgICogc3JjL1dlYlNjcm9s
bGJhckltcGwuaDogQ29waWVkIGZyb20gU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9X
ZWJTY3JvbGxiYXIuaC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViS2l0KToKKyAg
ICAgICAgKFdlYlNjcm9sbGJhckltcGwpOgorICAgICAgICAqIHNyYy9XZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGwuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJ
bXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjp4KToK
KyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjp5KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjp3aWR0aCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aGVpZ2h0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpzaXplKToKKyAgICAgICAgKFdl
YktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpsb2NhdGlvbik6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6cGFyZW50KToKKyAgICAgICAgKFdl
YktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpyb290KToKKyAgICAgICAgKFdlYktp
dDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpzZXRGcmFtZVJlY3QpOgorICAgICAgICAo
V2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmZyYW1lUmVjdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aW52YWxpZGF0ZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aW52YWxpZGF0ZVJlY3Qp
OgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnNjcm9sbGJh
ck92ZXJsYXlTdHlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50
SW1wbDo6Z2V0VGlja21hcmtzKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsOjppc1Njcm9sbGFibGVBcmVhQWN0aXZlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
U2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjppc1Njcm9sbFZpZXdTY3JvbGxiYXIpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmNvbnZlcnRGcm9tQ29udGFp
bmluZ1dpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1w
bDo6aXNDdXN0b21TY3JvbGxiYXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGw6Om9yaWVudGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVDbGllbnRJbXBsOjp2YWx1ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRo
ZW1lQ2xpZW50SW1wbDo6Y3VycmVudFBvcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lQ2xpZW50SW1wbDo6dmlzaWJsZVNpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3Jv
bGxiYXJUaGVtZUNsaWVudEltcGw6OnRvdGFsU2l6ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNj
cm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6bWF4aW11bSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNj
cm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6Y29udHJvbFNpemUpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmxpbmVTdGVwKToKKyAgICAgICAgKFdlYktpdDo6
V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpwYWdlU3RlcCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6cHJlc3NlZFBhcnQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmhvdmVyZWRQYXJ0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpzdHlsZUNoYW5nZWQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmVuYWJsZWQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnNldEVuYWJsZWQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmlzT3ZlcmxheVNj
cm9sbGJhcik6CisgICAgICAgICogc3JjL1dlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbC5oOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdl
YlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCk6CisgICAgICAgICogc3JjL1dlYlNjcm9sbGJhclRo
ZW1lR2VvbWV0cnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OmFzc2lnbik6CisgICAgICAgIChXZWJLaXQ6
OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnRodW1iUG9zaXRpb24pOgorICAgICAgICAoV2Vi
S2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0aHVtYkxlbmd0aCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnRyYWNrUG9zaXRpb24pOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0cmFja0xlbmd0aCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6Omhhc0J1dHRvbnMpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjpoYXNUaHVtYik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnRyYWNrUmVjdCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnRodW1iUmVjdCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6Om1pbmltdW1UaHVtYkxlbmd0
aCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnNjcm9sbGJh
clRoaWNrbmVzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6
OmJhY2tCdXR0b25TdGFydFJlY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZUdlb21ldHJ5OjpiYWNrQnV0dG9uRW5kUmVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9s
bGJhclRoZW1lR2VvbWV0cnk6OmZvcndhcmRCdXR0b25TdGFydFJlY3QpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojpmb3J3YXJkQnV0dG9uRW5kUmVjdCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OmNvbnN0cmFpblRyYWNr
UmVjdFRvVHJhY2tQaWVjZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdl
b21ldHJ5OjpzcGxpdFRyYWNrKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeTo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSk6CisgICAgICAgICogc3JjL1dlYlNj
cm9sbGJhclRoZW1lUGFpbnRlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjphc3NpZ24pOgorICAgICAgICAo
V2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50U2Nyb2xsYmFyQmFja2dyb3Vu
ZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRUcmFj
a0JhY2tncm91bmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6
OnBhaW50QmFja1RyYWNrUGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1l
UGFpbnRlcjo6cGFpbnRGb3J3YXJkVHJhY2tQYXJ0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Ny
b2xsYmFyVGhlbWVQYWludGVyOjpwYWludEJhY2tCdXR0b25TdGFydCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRCYWNrQnV0dG9uRW5kKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludEZvcndhcmRCdXR0b25T
dGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRG
b3J3YXJkQnV0dG9uRW5kKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWlu
dGVyOjpwYWludFRpY2ttYXJrcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1l
UGFpbnRlcjo6cGFpbnRUaHVtYik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1l
UGFpbnRlcjo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyKToKKyAgICAgICAgKiB0ZXN0cy9TY3Jv
bGxiYXJMYXllckNocm9taXVtVGVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrU2Nyb2xs
YmFyOjpjb252ZXJ0RnJvbUNvbnRhaW5pbmdXaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6TW9j
a1Njcm9sbGJhcjo6aXNPdmVybGF5U2Nyb2xsYmFyKToKKyAgICAgICAgKE1vY2tTY3JvbGxiYXIp
OgorICAgICAgICAoV2ViQ29yZTo6VEVTVCk6CisKIDIwMTItMDctMTkgIEFkcmllbm5lIFdhbGtl
ciAgPGVubmVAZ29vZ2xlLmNvbT4KIAogICAgICAgICBbY2hyb21pdW1dIE1ha2UgYWxsIGNvbXBv
c2l0b3Igc2NyZWVuIHNwYWNlIHRyYW5zZm9ybXMgb3BlcmF0ZSBvbiBjb250ZW50IHJlY3RzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaSBiL1NvdXJjZS9QbGF0Zm9y
bS9QbGF0Zm9ybS5neXBpCmluZGV4IDQ2NWRjMzEyY2QxNzRkNWNkN2ZlMzA3MDgxZWY0MGMxN2I2
MzQwYTkuLjc4Nzk2YmQ4YjI5NmVlYTdkZDNiOGJlYzE5Y2Y5OGY4ZGI1ZWQ5YjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCisrKyBiL1NvdXJjZS9QbGF0Zm9ybS9Q
bGF0Zm9ybS5neXBpCkBAIC0xMDksNiArMTA5LDggQEAKICAgICAgICAgICAgICdjaHJvbWl1bS9w
dWJsaWMvV2ViUmVmZXJyZXJQb2xpY3kuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGlj
L1dlYlJlbmRlcmluZ1N0YXRzLmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJT
Y3JvbGxiYXIuaCcsCisgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhclRo
ZW1lR2VvbWV0cnkuaCcsCisgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJh
clRoZW1lUGFpbnRlci5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViU2Vzc2lv
bkRlc2NyaXB0aW9uRGVzY3JpcHRvci5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMv
V2ViU2l6ZS5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViU29ja2V0U3RyZWFt
RXJyb3IuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dl
YlNjcm9sbGJhci5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxi
YXIuaAppbmRleCA4Nzk1NTY1NTJkMWEzMTZkNGQyZDU5N2Q2NmM1ZWIwNTBkOTllMGYxLi4xNDI4
ZjljMmFjNDFhY2QwNjM3NDkyMGRmYTJlMjE4MWMzMWI0MTY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
UGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhci5oCisrKyBiL1NvdXJjZS9QbGF0
Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyLmgKQEAgLTI1LDEwICsyNSwyNyBAQAog
I2lmbmRlZiBXZWJTY3JvbGxiYXJfaAogI2RlZmluZSBXZWJTY3JvbGxiYXJfaAogCisjaW5jbHVk
ZSAiV2ViUG9pbnQuaCIKKyNpbmNsdWRlICJXZWJSZWN0LmgiCisjaW5jbHVkZSAiV2ViU2l6ZS5o
IgorI2luY2x1ZGUgIldlYlZlY3Rvci5oIgorI2lmIFdFQktJVF9JTVBMRU1FTlRBVElPTgorI2lu
Y2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Y2xhc3MgU2Nyb2xsYmFyOworfQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorLy8gQSBjb25zdCBh
Y2Nlc3NvciBpbnRlcmZhY2UgZm9yIGEgV2ViS2l0IHNjcm9sbGJhcgogY2xhc3MgV2ViU2Nyb2xs
YmFyIHsKIHB1YmxpYzoKKyNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KKyAgICBXRUJLSVRfRVhQ
T1JUIHN0YXRpYyBQYXNzT3duUHRyPFdlYlNjcm9sbGJhcj4gY3JlYXRlKFdlYkNvcmU6OlNjcm9s
bGJhciopOworI2VuZGlmCisKICAgICBlbnVtIE9yaWVudGF0aW9uIHsKICAgICAgICAgSG9yaXpv
bnRhbCwKICAgICAgICAgVmVydGljYWwKQEAgLTQ2LDYgKzYzLDMxIEBAIHB1YmxpYzoKICAgICAg
ICAgU2Nyb2xsQnlQaXhlbAogICAgIH07CiAKKyAgICBlbnVtIFNjcm9sbGJhckNvbnRyb2xTaXpl
IHsKKyAgICAgICAgUmVndWxhclNjcm9sbGJhciwKKyAgICAgICAgU21hbGxTY3JvbGxiYXIKKyAg
ICB9OworCisgICAgZW51bSBTY3JvbGxiYXJQYXJ0IHsKKyAgICAgICAgTm9QYXJ0ID0gMCwKKyAg
ICAgICAgQmFja0J1dHRvblN0YXJ0UGFydCA9IDEsCisgICAgICAgIEZvcndhcmRCdXR0b25TdGFy
dFBhcnQgPSAxIDw8IDEsCisgICAgICAgIEJhY2tUcmFja1BhcnQgPSAxIDw8IDIsCisgICAgICAg
IFRodW1iUGFydCA9IDEgPDwgMywKKyAgICAgICAgRm9yd2FyZFRyYWNrUGFydCA9IDEgPDwgNCwK
KyAgICAgICAgQmFja0J1dHRvbkVuZFBhcnQgPSAxIDw8IDUsCisgICAgICAgIEZvcndhcmRCdXR0
b25FbmRQYXJ0ID0gMSA8PCA2LAorICAgICAgICBTY3JvbGxiYXJCR1BhcnQgPSAxIDw8IDcsCisg
ICAgICAgIFRyYWNrQkdQYXJ0ID0gMSA8PCA4LAorICAgICAgICBBbGxQYXJ0cyA9IDB4ZmZmZmZm
ZmYKKyAgICB9OworCisgICAgZW51bSBTY3JvbGxiYXJPdmVybGF5U3R5bGUgeworICAgICAgICBT
Y3JvbGxiYXJPdmVybGF5U3R5bGVEZWZhdWx0LAorICAgICAgICBTY3JvbGxiYXJPdmVybGF5U3R5
bGVEYXJrLAorICAgICAgICBTY3JvbGxiYXJPdmVybGF5U3R5bGVMaWdodAorICAgIH07CisKICAg
ICB2aXJ0dWFsIH5XZWJTY3JvbGxiYXIoKSB7IH0KIAogICAgIC8vIFJldHVybiB0cnVlIGlmIHRo
aXMgaXMgYW4gb3ZlcmxheSBzY3JvbGxiYXIuCkBAIC01Myw2ICs5NSwyMSBAQCBwdWJsaWM6CiAK
ICAgICAvLyBHZXRzIHRoZSBjdXJyZW50IHZhbHVlIChpLmUuIHBvc2l0aW9uIGluc2lkZSB0aGUg
cmVnaW9uKS4KICAgICB2aXJ0dWFsIGludCB2YWx1ZSgpIGNvbnN0ID0gMDsKKworICAgIHZpcnR1
YWwgV2ViUG9pbnQgbG9jYXRpb24oKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBXZWJTaXplIHNp
emUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29sIGVuYWJsZWQoKSBjb25zdCA9IDA7Cisg
ICAgdmlydHVhbCBpbnQgbWF4aW11bSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGludCB0b3Rh
bFNpemUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsVmlld1Njcm9sbGJh
cigpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgp
IGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0VGlja21hcmtzKFdlYlZlY3RvcjxXZWJS
ZWN0PiYgdGlja21hcmtzKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBTY3JvbGxiYXJDb250cm9s
U2l6ZSBjb250cm9sU2l6ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIFNjcm9sbGJhclBhcnQg
cHJlc3NlZFBhcnQoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBTY3JvbGxiYXJQYXJ0IGhvdmVy
ZWRQYXJ0KCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgU2Nyb2xsYmFyT3ZlcmxheVN0eWxlIHNj
cm9sbGJhck92ZXJsYXlTdHlsZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNDdXN0
b21TY3JvbGxiYXIoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBPcmllbnRhdGlvbiBvcmllbnRh
dGlvbigpIGNvbnN0ID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21l
dHJ5LmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhclRoZW1l
R2VvbWV0cnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZmU0OWVlYTk5MDk2ZWY4MWFkODRhMzlkNDY1OWFlNDA1
ZjQ3YmQwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1Ymxp
Yy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LmgKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisg
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeV9oCisjZGVmaW5lIFdlYlNjcm9sbGJhclRo
ZW1lR2VvbWV0cnlfaAorCisjaW5jbHVkZSA8cHVibGljL1dlYlJlY3QuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworY2xhc3MgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGU7Cit9OworCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworY2xhc3MgV2ViU2Nyb2xsYmFyOworCitjbGFzcyBXZWJTY3JvbGxiYXJU
aGVtZUdlb21ldHJ5IHsKK3B1YmxpYzoKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5KCkg
OiBtX3RoZW1lKDApIHsgfQorCisgICAgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeShjb25zdCBX
ZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5JiBnZW9tZXRyeSkgeyBhc3NpZ24oZ2VvbWV0cnkpOyB9
CisgICAgdmlydHVhbCB+V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSgpIHsgfQorICAgIFdlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnkmIG9wZXJhdG9yPShjb25zdCBXZWJTY3JvbGxiYXJUaGVtZUdl
b21ldHJ5JiBnZW9tZXRyeSkKKyAgICB7CisgICAgICAgIGFzc2lnbihnZW9tZXRyeSk7CisgICAg
ICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0
dXJuIG1fdGhlbWU7IH0KKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNzaWduKGNvbnN0IFdlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnkmKTsKKworICAgIFdFQktJVF9FWFBPUlQgaW50IHRodW1iUG9z
aXRpb24oV2ViU2Nyb2xsYmFyKik7CisgICAgV0VCS0lUX0VYUE9SVCBpbnQgdGh1bWJMZW5ndGgo
V2ViU2Nyb2xsYmFyKik7CisgICAgV0VCS0lUX0VYUE9SVCBpbnQgdHJhY2tQb3NpdGlvbihXZWJT
Y3JvbGxiYXIqKTsKKyAgICBXRUJLSVRfRVhQT1JUIGludCB0cmFja0xlbmd0aChXZWJTY3JvbGxi
YXIqKTsKKyAgICBXRUJLSVRfRVhQT1JUIGJvb2wgaGFzQnV0dG9ucyhXZWJTY3JvbGxiYXIqKTsK
KyAgICBXRUJLSVRfRVhQT1JUIGJvb2wgaGFzVGh1bWIoV2ViU2Nyb2xsYmFyKik7CisgICAgV0VC
S0lUX0VYUE9SVCBXZWJSZWN0IHRyYWNrUmVjdChXZWJTY3JvbGxiYXIqKTsKKyAgICBXRUJLSVRf
RVhQT1JUIFdlYlJlY3QgdGh1bWJSZWN0KFdlYlNjcm9sbGJhciopOworICAgIFdFQktJVF9FWFBP
UlQgaW50IG1pbmltdW1UaHVtYkxlbmd0aChXZWJTY3JvbGxiYXIqKTsKKyAgICBXRUJLSVRfRVhQ
T1JUIGludCBzY3JvbGxiYXJUaGlja25lc3MoV2ViU2Nyb2xsYmFyKik7CisgICAgV0VCS0lUX0VY
UE9SVCBXZWJSZWN0IGJhY2tCdXR0b25TdGFydFJlY3QoV2ViU2Nyb2xsYmFyKik7CisgICAgV0VC
S0lUX0VYUE9SVCBXZWJSZWN0IGJhY2tCdXR0b25FbmRSZWN0KFdlYlNjcm9sbGJhciopOworICAg
IFdFQktJVF9FWFBPUlQgV2ViUmVjdCBmb3J3YXJkQnV0dG9uU3RhcnRSZWN0KFdlYlNjcm9sbGJh
ciopOworICAgIFdFQktJVF9FWFBPUlQgV2ViUmVjdCBmb3J3YXJkQnV0dG9uRW5kUmVjdChXZWJT
Y3JvbGxiYXIqKTsKKyAgICBXRUJLSVRfRVhQT1JUIFdlYlJlY3QgY29uc3RyYWluVHJhY2tSZWN0
VG9UcmFja1BpZWNlcyhXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgV0VCS0lU
X0VYUE9SVCB2b2lkIHNwbGl0VHJhY2soV2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYgdHJh
Y2ssIFdlYlJlY3QmIHN0YXJ0VHJhY2ssIFdlYlJlY3QmIHRodW1iLCBXZWJSZWN0JiBlbmRUcmFj
ayk7CisKKyNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KKyAgICBXZWJTY3JvbGxiYXJUaGVtZUdl
b21ldHJ5KFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKik7CisjZW5kaWYKKworcHJp
dmF0ZToKKyAgICAvLyBUaGUgdGhlbWUgaXMgbm90IG93bmVkIGJ5IHRoaXMgY2xhc3MuIEl0IGlz
IGFzc3VtZWQgdGhhdCB0aGUgdGhlbWUgaXMgYQorICAgIC8vIHN0YXRpYyBwb2ludGVyIGFuZCBp
dHMgbGlmZXRpbWUgaXMgZXNzZW50aWFsbHkgaW5maW5pdGUuIE9ubHkgdGhyZWFkLXNhZmUKKyAg
ICAvLyBmdW5jdGlvbnMgb24gdGhlIHRoZW1lIGNhbiBiZSBjYWxsZWQgYnkgdGhpcyB0aGVtZS4K
KyAgICBXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogbV90aGVtZTsKK307CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9y
bS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmggYi9Tb3VyY2UvUGxh
dGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjEzMzUyYTllMmE1YjZkODc3ZGIyZDJiMWZkMzNjY2I0YTQyY2M1NTYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhclRoZW1l
UGFpbnRlci5oCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlNjcm9sbGJhclRo
ZW1lUGFpbnRlcl9oCisjZGVmaW5lIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcl9oCisKKyNpbmNs
dWRlIDxwdWJsaWMvV2ViQ2FudmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFNj
cm9sbGJhclRoZW1lQ29tcG9zaXRlOworfTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNz
IFdlYlNjcm9sbGJhcjsKK2NsYXNzIFdlYlJlY3Q7CisKK2NsYXNzIFdlYlNjcm9sbGJhclRoZW1l
UGFpbnRlciB7CitwdWJsaWM6CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyKCkgOiBtX3Ro
ZW1lKDApIHsgfQorICAgIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcihjb25zdCBXZWJTY3JvbGxi
YXJUaGVtZVBhaW50ZXImIGdlb21ldHJ5KSB7IGFzc2lnbihnZW9tZXRyeSk7IH0KKyAgICB2aXJ0
dWFsIH5XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIoKSB7IH0KKyAgICBXZWJTY3JvbGxiYXJUaGVt
ZVBhaW50ZXImIG9wZXJhdG9yPShjb25zdCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXImIHBhaW50
ZXIpCisgICAgeworICAgICAgICBhc3NpZ24ocGFpbnRlcik7CisgICAgICAgIHJldHVybiAqdGhp
czsKKyAgICB9CisKKyAgICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIG1fdGhlbWU7IH0K
KyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNzaWduKGNvbnN0IFdlYlNjcm9sbGJhclRoZW1lUGFp
bnRlciYpOworCisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHBhaW50U2Nyb2xsYmFyQmFja2dyb3Vu
ZChXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgV0VCS0lU
X0VYUE9SVCB2b2lkIHBhaW50VHJhY2tCYWNrZ3JvdW5kKFdlYkNhbnZhcyosIFdlYlNjcm9sbGJh
ciosIGNvbnN0IFdlYlJlY3QmKTsKKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgcGFpbnRCYWNrVHJh
Y2tQYXJ0KFdlYkNhbnZhcyosIFdlYlNjcm9sbGJhciosIGNvbnN0IFdlYlJlY3QmKTsKKyAgICBX
RUJLSVRfRVhQT1JUIHZvaWQgcGFpbnRGb3J3YXJkVHJhY2tQYXJ0KFdlYkNhbnZhcyosIFdlYlNj
cm9sbGJhciosIGNvbnN0IFdlYlJlY3QmKTsKKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgcGFpbnRC
YWNrQnV0dG9uU3RhcnQoV2ViQ2FudmFzKiwgV2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYp
OworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBwYWludEJhY2tCdXR0b25FbmQoV2ViQ2FudmFzKiwg
V2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBw
YWludEZvcndhcmRCdXR0b25TdGFydChXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBX
ZWJSZWN0Jik7CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHBhaW50Rm9yd2FyZEJ1dHRvbkVuZChX
ZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgV0VCS0lUX0VY
UE9SVCB2b2lkIHBhaW50VGlja21hcmtzKFdlYkNhbnZhcyosIFdlYlNjcm9sbGJhciosIGNvbnN0
IFdlYlJlY3QmKTsKKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgcGFpbnRUaHVtYihXZWJDYW52YXMq
LCBXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0Jik7CisKKyNpZiBXRUJLSVRfSU1QTEVNRU5U
QVRJT04KKyAgICBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIoV2ViQ29yZTo6U2Nyb2xsYmFyVGhl
bWVDb21wb3NpdGUqKTsKKyNlbmRpZgorCitwcml2YXRlOgorICAgIC8vIFRoZSB0aGVtZSBpcyBu
b3Qgb3duZWQgYnkgdGhpcyBjbGFzcy4gSXQgaXMgYXNzdW1lZCB0aGF0IHRoZSB0aGVtZSBpcyBh
CisgICAgLy8gc3RhdGljIHBvaW50ZXIgYW5kIGl0cyBsaWZldGltZSBpcyBlc3NlbnRpYWxseSBp
bmZpbml0ZS4gVGhlIGZ1bmN0aW9ucworICAgIC8vIGNhbGxlZCBmcm9tIHRoZSBwYWludGVyIG1h
eSBub3QgYmUgdGhyZWFkLXNhZmUsIHNvIGFsbCBjYWxscyBtdXN0IGJlIG1hZGUKKyAgICAvLyBm
cm9tIHRoZSBzYW1lIHRocmVhZCB0aGF0IGl0IGlzIGNyZWF0ZWQgb24uCisgICAgV2ViQ29yZTo6
U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIG1fdGhlbWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0u
Y3BwCmluZGV4IDk5NzI2MDg3Y2Y3ZDA3ZTQxMzFjZjExNjg2NTdmMjg4NTg5MmU1YTMuLjdmYTNm
NWQxNjVlMWY5YjY3NWE5ZDg0NjEwOGZjOGY2MjgxYWE4MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21p
dW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCkBAIC0zNCw5ICszNCwxMiBAQAogI2luY2x1ZGUg
IlJlbmRlckxheWVyQ29tcG9zaXRvci5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNs
dWRlICJTY3JvbGxiYXJMYXllckNocm9taXVtLmgiCi0jaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWUu
aCIKKyNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS5oIgogI2luY2x1ZGUgImNjL0ND
UHJveHkuaCIKICNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYWJsZUxheWVyLmg+CisjaW5jbHVk
ZSA8cHVibGljL1dlYlNjcm9sbGJhci5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXJU
aGVtZUdlb21ldHJ5Lmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRl
ci5oPgogCiB1c2luZyBXZWJLaXQ6OldlYkxheWVyOwogdXNpbmcgV2ViS2l0OjpXZWJTY3JvbGxh
YmxlTGF5ZXI7CkBAIC0xMzQsMTMgKzEzNywyMSBAQCBzdGF0aWMgV2ViTGF5ZXIgY3JlYXRlU2Ny
b2xsYmFyTGF5ZXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIFdlYlNjcm9sbGFibGVMYXllciBzYwog
ICAgIHBsYXRmb3JtU3VwcG9ydGVkID0gZmFsc2U7CiAjZW5kaWYKIAotICAgIGlmICghcGxhdGZv
cm1TdXBwb3J0ZWQgfHwgc2Nyb2xsYmFyLT5pc092ZXJsYXlTY3JvbGxiYXIoKSkgeworICAgIGlm
ICghcGxhdGZvcm1TdXBwb3J0ZWQgfHwgc2Nyb2xsYmFyLT5pc092ZXJsYXlTY3JvbGxiYXIoKSB8
fCBzY3JvbGxiYXItPmlzQ3VzdG9tU2Nyb2xsYmFyKCkpIHsKICAgICAgICAgc2Nyb2xsYmFyR3Jh
cGhpY3NMYXllci0+c2V0Q29udGVudHNUb01lZGlhKDApOwogICAgICAgICBzY3JvbGxiYXJHcmFw
aGljc0xheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7CiAgICAgICAgIHJldHVybiBXZWJMYXll
cigpOwogICAgIH0KIAotICAgIFJlZlB0cjxTY3JvbGxiYXJMYXllckNocm9taXVtPiBzY3JvbGxi
YXJMYXllciA9IFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNyZWF0ZShzY3JvbGxiYXIsIHNjcm9s
bExheWVyLnVud3JhcDxMYXllckNocm9taXVtPigpLT5pZCgpKTsKKyAgICAvLyBBbGwgQ2hyb21p
dW0gc2Nyb2xsYmFyIHRoZW1lcyBkZXJpdmUgZnJvbSBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS4K
KyAgICBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhlbWVDb21wb3NpdGUgPSBzdGF0aWNfY2Fz
dDxTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSo+KHNjcm9sbGJhci0+dGhlbWUoKSk7CisKKyAgICAv
LyBTY3JvbGxiYXJMYXllckNocm9taXVtIG93bnMgdGhlIFdlYlNjcm9sbGJhcgorICAgIE93blB0
cjxXZWJLaXQ6OldlYlNjcm9sbGJhcj4gd2ViU2Nyb2xsYmFyID0gV2ViS2l0OjpXZWJTY3JvbGxi
YXI6OmNyZWF0ZShzY3JvbGxiYXIpOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWlu
dGVyIHBhaW50ZXIodGhlbWVDb21wb3NpdGUpOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhl
bWVHZW9tZXRyeSBnZW9tZXRyeSh0aGVtZUNvbXBvc2l0ZSk7CisKKyAgICBSZWZQdHI8U2Nyb2xs
YmFyTGF5ZXJDaHJvbWl1bT4gc2Nyb2xsYmFyTGF5ZXIgPSBTY3JvbGxiYXJMYXllckNocm9taXVt
OjpjcmVhdGUod2ViU2Nyb2xsYmFyLnJlbGVhc2UoKSwgcGFpbnRlciwgZ2VvbWV0cnksIHNjcm9s
bExheWVyLnVud3JhcDxMYXllckNocm9taXVtPigpLT5pZCgpKTsKICAgICBzY3JvbGxiYXJHcmFw
aGljc0xheWVyLT5zZXRDb250ZW50c1RvTWVkaWEoc2Nyb2xsYmFyTGF5ZXIuZ2V0KCkpOwogICAg
IHNjcm9sbGJhckdyYXBoaWNzTGF5ZXItPnNldERyYXdzQ29udGVudChmYWxzZSk7CiAgICAgc2Ny
b2xsYmFyTGF5ZXItPnNldE9wYXF1ZShzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5jb250ZW50c09w
YXF1ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRo
ZW1lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZUNsaWVu
dC5oCmluZGV4IDg3MWM1MmU5MGI4OTkwZjg4NmE2YjdkM2ZkNWZkNGU0ZGJmNjlmMjUuLmViYTQw
OTQ2OWMyZGIyOTMyZmVlNTJlOTI3MTQxMDVlNjRkZmIwZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDbGllbnQuaApAQCAtODMsNiArODMsOCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIGVuYWJsZWQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIHNldEVuYWJsZWQoYm9vbCkgPSAwOwogCisgICAgdmlydHVhbCBib29sIGlzT3ZlcmxheVNj
cm9sbGJhcigpIGNvbnN0ID0gMDsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgflNjcm9sbGJh
clRoZW1lQ2xpZW50KCkgeyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TY3JvbGxiYXJMYXllckNocm9taXVt
LmNwcAppbmRleCAwNmM2MDc5ZmU1ZWIyZjc0YTQzOTk3NzBlMmM2NGE4ZDVhMmJhMGVhLi42MGE5
NDNmZmJkNzkyYzUzZmFmNDM3NjcwNWJlYjMwNmQxMDQwMjU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TY3JvbGxiYXJMYXllckNocm9taXVt
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TY3Jv
bGxiYXJMYXllckNocm9taXVtLmNwcApAQCAtMzcsNiArMzcsOSBAQAogI2luY2x1ZGUgImNjL0ND
TGF5ZXJUcmVlSG9zdC5oIgogI2luY2x1ZGUgImNjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmgiCiAj
aW5jbHVkZSAiY2MvQ0NUZXh0dXJlVXBkYXRlci5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJSZWN0
Lmg+CisKK3VzaW5nIFdlYktpdDo6V2ViUmVjdDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBA
IC00NSwyNyArNDgsMTggQEAgUGFzc093blB0cjxDQ0xheWVySW1wbD4gU2Nyb2xsYmFyTGF5ZXJD
aHJvbWl1bTo6Y3JlYXRlQ0NMYXllckltcGwoKQogICAgIHJldHVybiBDQ1Njcm9sbGJhckxheWVy
SW1wbDo6Y3JlYXRlKGlkKCkpOwogfQogCi1QYXNzUmVmUHRyPFNjcm9sbGJhckxheWVyQ2hyb21p
dW0+IFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNyZWF0ZShTY3JvbGxiYXIqIHNjcm9sbGJhciwg
aW50IHNjcm9sbExheWVySWQpCitQYXNzUmVmUHRyPFNjcm9sbGJhckxheWVyQ2hyb21pdW0+IFNj
cm9sbGJhckxheWVyQ2hyb21pdW06OmNyZWF0ZShQYXNzT3duUHRyPFdlYktpdDo6V2ViU2Nyb2xs
YmFyPiBzY3JvbGxiYXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIs
IFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBnZW9tZXRyeSwgaW50IHNjcm9sbExh
eWVySWQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxiYXJMYXllckNocm9taXVt
KHNjcm9sbGJhciwgc2Nyb2xsTGF5ZXJJZCkpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Ny
b2xsYmFyTGF5ZXJDaHJvbWl1bShzY3JvbGxiYXIsIHBhaW50ZXIsIGdlb21ldHJ5LCBzY3JvbGxM
YXllcklkKSk7CiB9CiAKLVNjcm9sbGJhckxheWVyQ2hyb21pdW06OlNjcm9sbGJhckxheWVyQ2hy
b21pdW0oU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGludCBzY3JvbGxMYXllcklkKQorU2Nyb2xsYmFy
TGF5ZXJDaHJvbWl1bTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bShQYXNzT3duUHRyPFdlYktpdDo6
V2ViU2Nyb2xsYmFyPiBzY3JvbGxiYXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVy
IHBhaW50ZXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBnZW9tZXRyeSwgaW50
IHNjcm9sbExheWVySWQpCiAgICAgOiBtX3Njcm9sbGJhcihzY3JvbGxiYXIpCisgICAgLCBtX3Bh
aW50ZXIocGFpbnRlcikKKyAgICAsIG1fZ2VvbWV0cnkoZ2VvbWV0cnkpCiAgICAgLCBtX3Njcm9s
bExheWVySWQoc2Nyb2xsTGF5ZXJJZCkKICAgICAsIG1fdGV4dHVyZUZvcm1hdChHcmFwaGljc0Nv
bnRleHQzRDo6SU5WQUxJRF9FTlVNKQotICAgICwgbV9zY3JvbGxiYXJPdmVybGF5U3R5bGUoc2Ny
b2xsYmFyLT5zY3JvbGxiYXJPdmVybGF5U3R5bGUoKSkKLSAgICAsIG1faXNTY3JvbGxhYmxlQXJl
YUFjdGl2ZShzY3JvbGxiYXItPmlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSkKLSAgICAsIG1faXNT
Y3JvbGxWaWV3U2Nyb2xsYmFyKHNjcm9sbGJhci0+aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCkpCi0g
ICAgLCBtX29yaWVudGF0aW9uKHNjcm9sbGJhci0+b3JpZW50YXRpb24oKSkKLSAgICAsIG1fY29u
dHJvbFNpemUoc2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpKQotewotfQotCi1TY3JvbGxiYXJUaGVt
ZUNvbXBvc2l0ZSogU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6dGhlbWUoKSBjb25zdAogewotICAg
IC8vIEFsbCBDaHJvbWl1bSBzY3JvbGxiYXJzIGFyZSBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS1k
ZXJpdmVkLgotICAgIHJldHVybiBzdGF0aWNfY2FzdDxTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSo+
KG1fc2Nyb2xsYmFyLT50aGVtZSgpKTsKIH0KIAogdm9pZCBTY3JvbGxiYXJMYXllckNocm9taXVt
OjpwdXNoUHJvcGVydGllc1RvKENDTGF5ZXJJbXBsKiBsYXllcikKQEAgLTc0LDcgKzY4LDcgQEAg
dm9pZCBTY3JvbGxiYXJMYXllckNocm9taXVtOjpwdXNoUHJvcGVydGllc1RvKENDTGF5ZXJJbXBs
KiBsYXllcikKIAogICAgIENDU2Nyb2xsYmFyTGF5ZXJJbXBsKiBzY3JvbGxiYXJMYXllciA9IHN0
YXRpY19jYXN0PENDU2Nyb2xsYmFyTGF5ZXJJbXBsKj4obGF5ZXIpOwogCi0gICAgc2Nyb2xsYmFy
TGF5ZXItPnNldFNjcm9sbGJhck92ZXJsYXlTdHlsZShtX3Njcm9sbGJhck92ZXJsYXlTdHlsZSk7
CisgICAgc2Nyb2xsYmFyTGF5ZXItPnNldFNjcm9sbGJhckRhdGEobV9zY3JvbGxiYXIuZ2V0KCks
IG1fZ2VvbWV0cnkpOwogCiAgICAgaWYgKG1fYmFja1RyYWNrICYmIG1fYmFja1RyYWNrLT50ZXh0
dXJlKCktPmhhdmVCYWNraW5nVGV4dHVyZSgpKQogICAgICAgICBzY3JvbGxiYXJMYXllci0+c2V0
QmFja1RyYWNrUmVzb3VyY2VJZChtX2JhY2tUcmFjay0+dGV4dHVyZSgpLT5yZXNvdXJjZUlkKCkp
OwpAQCAtOTAsMTA1ICs4NCw5NCBAQCB2b2lkIFNjcm9sbGJhckxheWVyQ2hyb21pdW06OnB1c2hQ
cm9wZXJ0aWVzVG8oQ0NMYXllckltcGwqIGxheWVyKQogICAgICAgICBzY3JvbGxiYXJMYXllci0+
c2V0VGh1bWJSZXNvdXJjZUlkKG1fdGh1bWItPnRleHR1cmUoKS0+cmVzb3VyY2VJZCgpKTsKICAg
ICBlbHNlCiAgICAgICAgIHNjcm9sbGJhckxheWVyLT5zZXRUaHVtYlJlc291cmNlSWQoMCk7Ci0K
LSAgICBWZWN0b3I8SW50UmVjdD4gdGlja21hcmtzOwotICAgIG1fc2Nyb2xsYmFyLT5nZXRUaWNr
bWFya3ModGlja21hcmtzKTsKLSAgICBzY3JvbGxiYXJMYXllci0+c2V0VGlja21hcmtzKHRpY2tt
YXJrcyk7Ci0KLSAgICBzY3JvbGxiYXJMYXllci0+c2V0SXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSht
X2lzU2Nyb2xsYWJsZUFyZWFBY3RpdmUpOwotICAgIHNjcm9sbGJhckxheWVyLT5zZXRJc1Njcm9s
bFZpZXdTY3JvbGxiYXIobV9pc1Njcm9sbFZpZXdTY3JvbGxiYXIpOwotCi0gICAgc2Nyb2xsYmFy
TGF5ZXItPnNldE9yaWVudGF0aW9uKG1fb3JpZW50YXRpb24pOwotCi0gICAgc2Nyb2xsYmFyTGF5
ZXItPnNldENvbnRyb2xTaXplKG1fY29udHJvbFNpemUpOwotCi0gICAgc2Nyb2xsYmFyTGF5ZXIt
PnNldFByZXNzZWRQYXJ0KG1fc2Nyb2xsYmFyLT5wcmVzc2VkUGFydCgpKTsKLSAgICBzY3JvbGxi
YXJMYXllci0+c2V0SG92ZXJlZFBhcnQobV9zY3JvbGxiYXItPmhvdmVyZWRQYXJ0KCkpOwotCi0g
ICAgc2Nyb2xsYmFyTGF5ZXItPnNldEVuYWJsZWQobV9zY3JvbGxiYXItPmVuYWJsZWQoKSk7CiB9
CiAKIGNsYXNzIFNjcm9sbGJhckJhY2tncm91bmRQYWludGVyIDogcHVibGljIExheWVyUGFpbnRl
ckNocm9taXVtIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShTY3JvbGxiYXJCYWNrZ3JvdW5k
UGFpbnRlcik7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25QdHI8U2Nyb2xsYmFyQmFja2dy
b3VuZFBhaW50ZXI+IGNyZWF0ZShTY3JvbGxiYXJUaGVtZUNsaWVudCogc2Nyb2xsYmFyLCBTY3Jv
bGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhlbWUsIFNjcm9sbGJhclBhcnQgdHJhY2tQYXJ0KQorICAg
IHN0YXRpYyBQYXNzT3duUHRyPFNjcm9sbGJhckJhY2tncm91bmRQYWludGVyPiBjcmVhdGUoV2Vi
S2l0OjpXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBh
aW50ZXIgcGFpbnRlciwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IGdlb21ldHJ5
LCBTY3JvbGxiYXJQYXJ0IHRyYWNrUGFydCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0
cihuZXcgU2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50ZXIoc2Nyb2xsYmFyLCB0aGVtZSwgdHJhY2tQ
YXJ0KSk7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2Nyb2xsYmFyQmFja2dyb3VuZFBh
aW50ZXIoc2Nyb2xsYmFyLCBwYWludGVyLCBnZW9tZXRyeSwgdHJhY2tQYXJ0KSk7CiAgICAgfQog
Ci0gICAgdmlydHVhbCB2b2lkIHBhaW50KFNrQ2FudmFzKiBjYW52YXMsIGNvbnN0IEludFJlY3Qm
IGNvbnRlbnRSZWN0LCBGbG9hdFJlY3QmKSBPVkVSUklERQorICAgIHZpcnR1YWwgdm9pZCBwYWlu
dChTa0NhbnZhcyogc2tDYW52YXMsIGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0LCBGbG9hdFJl
Y3QmKSBPVkVSUklERQogICAgIHsKLSAgICAgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9y
bUNvbnRleHQoY2FudmFzKTsKLSAgICAgICAgcGxhdGZvcm1Db250ZXh0LnNldERyYXdpbmdUb0lt
YWdlQnVmZmVyKHRydWUpOwotICAgICAgICBHcmFwaGljc0NvbnRleHQgY29udGV4dCgmcGxhdGZv
cm1Db250ZXh0KTsKLQorICAgICAgICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFzID0gc2tDYW52
YXM7CiAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgaXMgYSBzaW1wbGlmaWNhdGlvbiBvZiBTY3Jv
bGxiYXJUaGVtZUNvbXBvc2l0ZTo6cGFpbnQuCi0gICAgICAgIG1fdGhlbWUtPnBhaW50U2Nyb2xs
YmFyQmFja2dyb3VuZCgmY29udGV4dCwgbV9zY3JvbGxiYXIpOworICAgICAgICBtX3BhaW50ZXIu
cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKGNhbnZhcywgbV9zY3JvbGxiYXIsIGNvbnRlbnRSZWN0
KTsKIAotICAgICAgICBpZiAobV90aGVtZS0+aGFzQnV0dG9ucyhtX3Njcm9sbGJhcikpIHsKLSAg
ICAgICAgICAgIEludFJlY3QgYmFja0J1dHRvblN0YXJ0UGFpbnRSZWN0ID0gbV90aGVtZS0+YmFj
a0J1dHRvblJlY3QobV9zY3JvbGxiYXIsIEJhY2tCdXR0b25TdGFydFBhcnQsIHRydWUpOwotICAg
ICAgICAgICAgbV90aGVtZS0+cGFpbnRCdXR0b24oJmNvbnRleHQsIG1fc2Nyb2xsYmFyLCBiYWNr
QnV0dG9uU3RhcnRQYWludFJlY3QsIEJhY2tCdXR0b25TdGFydFBhcnQpOworICAgICAgICBpZiAo
bV9nZW9tZXRyeS5oYXNCdXR0b25zKG1fc2Nyb2xsYmFyKSkgeworICAgICAgICAgICAgV2ViUmVj
dCBiYWNrQnV0dG9uU3RhcnRQYWludFJlY3QgPSBtX2dlb21ldHJ5LmJhY2tCdXR0b25TdGFydFJl
Y3QobV9zY3JvbGxiYXIpOworICAgICAgICAgICAgbV9wYWludGVyLnBhaW50QmFja0J1dHRvblN0
YXJ0KGNhbnZhcywgbV9zY3JvbGxiYXIsIGJhY2tCdXR0b25TdGFydFBhaW50UmVjdCk7CiAKLSAg
ICAgICAgICAgIEludFJlY3QgYmFja0J1dHRvbkVuZFBhaW50UmVjdCA9IG1fdGhlbWUtPmJhY2tC
dXR0b25SZWN0KG1fc2Nyb2xsYmFyLCBCYWNrQnV0dG9uRW5kUGFydCwgdHJ1ZSk7Ci0gICAgICAg
ICAgICBtX3RoZW1lLT5wYWludEJ1dHRvbigmY29udGV4dCwgbV9zY3JvbGxiYXIsIGJhY2tCdXR0
b25FbmRQYWludFJlY3QsIEJhY2tCdXR0b25FbmRQYXJ0KTsKKyAgICAgICAgICAgIFdlYlJlY3Qg
YmFja0J1dHRvbkVuZFBhaW50UmVjdCA9IG1fZ2VvbWV0cnkuYmFja0J1dHRvbkVuZFJlY3QobV9z
Y3JvbGxiYXIpOworICAgICAgICAgICAgbV9wYWludGVyLnBhaW50QmFja0J1dHRvbkVuZChjYW52
YXMsIG1fc2Nyb2xsYmFyLCBiYWNrQnV0dG9uRW5kUGFpbnRSZWN0KTsKIAotICAgICAgICAgICAg
SW50UmVjdCBmb3J3YXJkQnV0dG9uU3RhcnRQYWludFJlY3QgPSBtX3RoZW1lLT5mb3J3YXJkQnV0
dG9uUmVjdChtX3Njcm9sbGJhciwgRm9yd2FyZEJ1dHRvblN0YXJ0UGFydCwgdHJ1ZSk7Ci0gICAg
ICAgICAgICBtX3RoZW1lLT5wYWludEJ1dHRvbigmY29udGV4dCwgbV9zY3JvbGxiYXIsIGZvcndh
cmRCdXR0b25TdGFydFBhaW50UmVjdCwgRm9yd2FyZEJ1dHRvblN0YXJ0UGFydCk7CisgICAgICAg
ICAgICBXZWJSZWN0IGZvcndhcmRCdXR0b25TdGFydFBhaW50UmVjdCA9IG1fZ2VvbWV0cnkuZm9y
d2FyZEJ1dHRvblN0YXJ0UmVjdChtX3Njcm9sbGJhcik7CisgICAgICAgICAgICBtX3BhaW50ZXIu
cGFpbnRGb3J3YXJkQnV0dG9uU3RhcnQoY2FudmFzLCBtX3Njcm9sbGJhciwgZm9yd2FyZEJ1dHRv
blN0YXJ0UGFpbnRSZWN0KTsKIAotICAgICAgICAgICAgSW50UmVjdCBmb3J3YXJkQnV0dG9uRW5k
UGFpbnRSZWN0ID0gbV90aGVtZS0+Zm9yd2FyZEJ1dHRvblJlY3QobV9zY3JvbGxiYXIsIEZvcndh
cmRCdXR0b25FbmRQYXJ0LCB0cnVlKTsKLSAgICAgICAgICAgIG1fdGhlbWUtPnBhaW50QnV0dG9u
KCZjb250ZXh0LCBtX3Njcm9sbGJhciwgZm9yd2FyZEJ1dHRvbkVuZFBhaW50UmVjdCwgRm9yd2Fy
ZEJ1dHRvbkVuZFBhcnQpOworICAgICAgICAgICAgV2ViUmVjdCBmb3J3YXJkQnV0dG9uRW5kUGFp
bnRSZWN0ID0gbV9nZW9tZXRyeS5mb3J3YXJkQnV0dG9uRW5kUmVjdChtX3Njcm9sbGJhcik7Cisg
ICAgICAgICAgICBtX3BhaW50ZXIucGFpbnRGb3J3YXJkQnV0dG9uRW5kKGNhbnZhcywgbV9zY3Jv
bGxiYXIsIGZvcndhcmRCdXR0b25FbmRQYWludFJlY3QpOwogICAgICAgICB9CiAKLSAgICAgICAg
SW50UmVjdCB0cmFja1BhaW50UmVjdCA9IG1fdGhlbWUtPnRyYWNrUmVjdChtX3Njcm9sbGJhciwg
dHJ1ZSk7Ci0gICAgICAgIG1fdGhlbWUtPnBhaW50VHJhY2tCYWNrZ3JvdW5kKCZjb250ZXh0LCBt
X3Njcm9sbGJhciwgdHJhY2tQYWludFJlY3QpOworICAgICAgICBXZWJSZWN0IHRyYWNrUGFpbnRS
ZWN0ID0gbV9nZW9tZXRyeS50cmFja1JlY3QobV9zY3JvbGxiYXIpOworICAgICAgICBtX3BhaW50
ZXIucGFpbnRUcmFja0JhY2tncm91bmQoY2FudmFzLCBtX3Njcm9sbGJhciwgdHJhY2tQYWludFJl
Y3QpOwogCi0gICAgICAgIGJvb2wgdGh1bWJQcmVzZW50ID0gbV90aGVtZS0+aGFzVGh1bWIobV9z
Y3JvbGxiYXIpOwotICAgICAgICBpZiAodGh1bWJQcmVzZW50KQotICAgICAgICAgICAgbV90aGVt
ZS0+cGFpbnRUcmFja1BpZWNlKCZjb250ZXh0LCBtX3Njcm9sbGJhciwgdHJhY2tQYWludFJlY3Qs
IG1fdHJhY2tQYXJ0KTsKKyAgICAgICAgYm9vbCB0aHVtYlByZXNlbnQgPSBtX2dlb21ldHJ5Lmhh
c1RodW1iKG1fc2Nyb2xsYmFyKTsKKyAgICAgICAgaWYgKHRodW1iUHJlc2VudCkgeworICAgICAg
ICAgICAgaWYgKG1fdHJhY2tQYXJ0ID09IEZvcndhcmRUcmFja1BhcnQpCisgICAgICAgICAgICAg
ICAgbV9wYWludGVyLnBhaW50Rm9yd2FyZFRyYWNrUGFydChjYW52YXMsIG1fc2Nyb2xsYmFyLCB0
cmFja1BhaW50UmVjdCk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgbV9wYWlu
dGVyLnBhaW50QmFja1RyYWNrUGFydChjYW52YXMsIG1fc2Nyb2xsYmFyLCB0cmFja1BhaW50UmVj
dCk7CisgICAgICAgIH0KIAotICAgICAgICBtX3RoZW1lLT5wYWludFRpY2ttYXJrcygmY29udGV4
dCwgbV9zY3JvbGxiYXIsIHRyYWNrUGFpbnRSZWN0KTsKKyAgICAgICAgbV9wYWludGVyLnBhaW50
VGlja21hcmtzKGNhbnZhcywgbV9zY3JvbGxiYXIsIHRyYWNrUGFpbnRSZWN0KTsKICAgICB9CiBw
cml2YXRlOgotICAgIFNjcm9sbGJhckJhY2tncm91bmRQYWludGVyKFNjcm9sbGJhclRoZW1lQ2xp
ZW50KiBzY3JvbGxiYXIsIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKiB0aGVtZSwgU2Nyb2xsYmFy
UGFydCB0cmFja1BhcnQpCisgICAgU2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50ZXIoV2ViS2l0OjpX
ZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIg
cGFpbnRlciwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IGdlb21ldHJ5LCBTY3Jv
bGxiYXJQYXJ0IHRyYWNrUGFydCkKICAgICAgICAgOiBtX3Njcm9sbGJhcihzY3JvbGxiYXIpCi0g
ICAgICAgICwgbV90aGVtZSh0aGVtZSkKKyAgICAgICAgLCBtX3BhaW50ZXIocGFpbnRlcikKKyAg
ICAgICAgLCBtX2dlb21ldHJ5KGdlb21ldHJ5KQogICAgICAgICAsIG1fdHJhY2tQYXJ0KHRyYWNr
UGFydCkKICAgICB7CiAgICAgfQogCi0gICAgU2Nyb2xsYmFyVGhlbWVDbGllbnQqIG1fc2Nyb2xs
YmFyOwotICAgIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKiBtX3RoZW1lOworICAgIFdlYktpdDo6
V2ViU2Nyb2xsYmFyKiBtX3Njcm9sbGJhcjsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1l
UGFpbnRlciBtX3BhaW50ZXI7CisgICAgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5
IG1fZ2VvbWV0cnk7CiAgICAgU2Nyb2xsYmFyUGFydCBtX3RyYWNrUGFydDsKIH07CiAKIGNsYXNz
IFNjcm9sbGJhclRodW1iUGFpbnRlciA6IHB1YmxpYyBMYXllclBhaW50ZXJDaHJvbWl1bSB7CiAg
ICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2Nyb2xsYmFyVGh1bWJQYWludGVyKTsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUGFzc093blB0cjxTY3JvbGxiYXJUaHVtYlBhaW50ZXI+IGNyZWF0ZShTY3Jv
bGxiYXJUaGVtZUNsaWVudCogc2Nyb2xsYmFyLCBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhl
bWUpCisgICAgc3RhdGljIFBhc3NPd25QdHI8U2Nyb2xsYmFyVGh1bWJQYWludGVyPiBjcmVhdGUo
V2ViS2l0OjpXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZVBhaW50ZXIgcGFpbnRlciwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IGdlb21l
dHJ5KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTY3JvbGxiYXJUaHVtYlBh
aW50ZXIoc2Nyb2xsYmFyLCB0aGVtZSkpOworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNj
cm9sbGJhclRodW1iUGFpbnRlcihzY3JvbGxiYXIsIHBhaW50ZXIsIGdlb21ldHJ5KSk7CiAgICAg
fQogCi0gICAgdmlydHVhbCB2b2lkIHBhaW50KFNrQ2FudmFzKiBjYW52YXMsIGNvbnN0IEludFJl
Y3QmIGNvbnRlbnRSZWN0LCBGbG9hdFJlY3QmIG9wYXF1ZSkgT1ZFUlJJREUKKyAgICB2aXJ0dWFs
IHZvaWQgcGFpbnQoU2tDYW52YXMqIHNrQ2FudmFzLCBjb25zdCBJbnRSZWN0JiBjb250ZW50UmVj
dCwgRmxvYXRSZWN0JiBvcGFxdWUpIE9WRVJSSURFCiAgICAgewotICAgICAgICBQbGF0Zm9ybUNv
bnRleHRTa2lhIHBsYXRmb3JtQ29udGV4dChjYW52YXMpOwotICAgICAgICBwbGF0Zm9ybUNvbnRl
eHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7Ci0gICAgICAgIEdyYXBoaWNzQ29udGV4
dCBjb250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOworICAgICAgICBXZWJLaXQ6OldlYkNhbnZhcyog
Y2FudmFzID0gc2tDYW52YXM7CiAKICAgICAgICAgLy8gQ29uc2lkZXIgdGhlIHRodW1iIHRvIGJl
IGF0IHRoZSBvcmlnaW4gd2hlbiBwYWludGluZy4KLSAgICAgICAgSW50UmVjdCB0aHVtYlJlY3Qg
PSBJbnRSZWN0KEludFBvaW50KCksIG1fdGhlbWUtPnRodW1iUmVjdChtX3Njcm9sbGJhcikuc2l6
ZSgpKTsKLSAgICAgICAgbV90aGVtZS0+cGFpbnRUaHVtYigmY29udGV4dCwgbV9zY3JvbGxiYXIs
IHRodW1iUmVjdCk7CisgICAgICAgIFdlYlJlY3QgdGh1bWJSZWN0ID0gbV9nZW9tZXRyeS50aHVt
YlJlY3QobV9zY3JvbGxiYXIpOworICAgICAgICB0aHVtYlJlY3QueCA9IDA7CisgICAgICAgIHRo
dW1iUmVjdC55ID0gMDsKKyAgICAgICAgbV9wYWludGVyLnBhaW50VGh1bWIoY2FudmFzLCBtX3Nj
cm9sbGJhciwgdGh1bWJSZWN0KTsKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgU2Nyb2xsYmFyVGh1
bWJQYWludGVyKFNjcm9sbGJhclRoZW1lQ2xpZW50KiBzY3JvbGxiYXIsIFNjcm9sbGJhclRoZW1l
Q29tcG9zaXRlKiB0aGVtZSkKKyAgICBTY3JvbGxiYXJUaHVtYlBhaW50ZXIoV2ViS2l0OjpXZWJT
Y3JvbGxiYXIqIHNjcm9sbGJhciwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIgcGFp
bnRlciwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IGdlb21ldHJ5KQogICAgICAg
ICA6IG1fc2Nyb2xsYmFyKHNjcm9sbGJhcikKLSAgICAgICAgLCBtX3RoZW1lKHRoZW1lKQorICAg
ICAgICAsIG1fcGFpbnRlcihwYWludGVyKQorICAgICAgICAsIG1fZ2VvbWV0cnkoZ2VvbWV0cnkp
CiAgICAgewogICAgIH0KIAotICAgIFNjcm9sbGJhclRoZW1lQ2xpZW50KiBtX3Njcm9sbGJhcjsK
LSAgICBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogbV90aGVtZTsKKyAgICBXZWJLaXQ6OldlYlNj
cm9sbGJhciogbV9zY3JvbGxiYXI7CisgICAgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50
ZXIgbV9wYWludGVyOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBtX2dl
b21ldHJ5OwogfTsKIAogdm9pZCBTY3JvbGxiYXJMYXllckNocm9taXVtOjpzZXRMYXllclRyZWVI
b3N0KENDTGF5ZXJUcmVlSG9zdCogaG9zdCkKQEAgLTIwOCwyMCArMTkxLDIwIEBAIHZvaWQgU2Ny
b2xsYmFyTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlVGV4dHVyZVVwZGF0ZXJJZk5lZWRlZCgpCiAgICAg
bV90ZXh0dXJlRm9ybWF0ID0gbGF5ZXJUcmVlSG9zdCgpLT5sYXllclJlbmRlcmVyQ2FwYWJpbGl0
aWVzKCkuYmVzdFRleHR1cmVGb3JtYXQ7CiAKICAgICBpZiAoIW1fYmFja1RyYWNrVXBkYXRlcikK
LSAgICAgICAgbV9iYWNrVHJhY2tVcGRhdGVyID0gQml0bWFwQ2FudmFzTGF5ZXJUZXh0dXJlVXBk
YXRlcjo6Y3JlYXRlKFNjcm9sbGJhckJhY2tncm91bmRQYWludGVyOjpjcmVhdGUobV9zY3JvbGxi
YXIuZ2V0KCksIHRoZW1lKCksIEJhY2tUcmFja1BhcnQpKTsKKyAgICAgICAgbV9iYWNrVHJhY2tV
cGRhdGVyID0gQml0bWFwQ2FudmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6Y3JlYXRlKFNjcm9sbGJh
ckJhY2tncm91bmRQYWludGVyOjpjcmVhdGUobV9zY3JvbGxiYXIuZ2V0KCksIG1fcGFpbnRlciwg
bV9nZW9tZXRyeSwgQmFja1RyYWNrUGFydCkpOwogICAgIGlmICghbV9iYWNrVHJhY2spCiAgICAg
ICAgIG1fYmFja1RyYWNrID0gbV9iYWNrVHJhY2tVcGRhdGVyLT5jcmVhdGVUZXh0dXJlKGxheWVy
VHJlZUhvc3QoKS0+Y29udGVudHNUZXh0dXJlTWFuYWdlcigpKTsKIAogICAgIC8vIE9ubHkgY3Jl
YXRlIHR3by1wYXJ0IHRyYWNrIGlmIHdlIHRoaW5rIHRoZSB0d28gcGFydHMgY291bGQgYmUgZGlm
ZmVyZW50IGluIGFwcGVhcmFuY2UuCiAgICAgaWYgKG1fc2Nyb2xsYmFyLT5pc0N1c3RvbVNjcm9s
bGJhcigpKSB7CiAgICAgICAgIGlmICghbV9mb3JlVHJhY2tVcGRhdGVyKQotICAgICAgICAgICAg
bV9mb3JlVHJhY2tVcGRhdGVyID0gQml0bWFwQ2FudmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6Y3Jl
YXRlKFNjcm9sbGJhckJhY2tncm91bmRQYWludGVyOjpjcmVhdGUobV9zY3JvbGxiYXIuZ2V0KCks
IHRoZW1lKCksIEZvcndhcmRUcmFja1BhcnQpKTsKKyAgICAgICAgICAgIG1fZm9yZVRyYWNrVXBk
YXRlciA9IEJpdG1hcENhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6OmNyZWF0ZShTY3JvbGxiYXJC
YWNrZ3JvdW5kUGFpbnRlcjo6Y3JlYXRlKG1fc2Nyb2xsYmFyLmdldCgpLCBtX3BhaW50ZXIsIG1f
Z2VvbWV0cnksIEZvcndhcmRUcmFja1BhcnQpKTsKICAgICAgICAgaWYgKCFtX2ZvcmVUcmFjaykK
ICAgICAgICAgICAgIG1fZm9yZVRyYWNrID0gbV9mb3JlVHJhY2tVcGRhdGVyLT5jcmVhdGVUZXh0
dXJlKGxheWVyVHJlZUhvc3QoKS0+Y29udGVudHNUZXh0dXJlTWFuYWdlcigpKTsKICAgICB9CiAK
ICAgICBpZiAoIW1fdGh1bWJVcGRhdGVyKQotICAgICAgICBtX3RodW1iVXBkYXRlciA9IEJpdG1h
cENhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6OmNyZWF0ZShTY3JvbGxiYXJUaHVtYlBhaW50ZXI6
OmNyZWF0ZShtX3Njcm9sbGJhci5nZXQoKSwgdGhlbWUoKSkpOworICAgICAgICBtX3RodW1iVXBk
YXRlciA9IEJpdG1hcENhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6OmNyZWF0ZShTY3JvbGxiYXJU
aHVtYlBhaW50ZXI6OmNyZWF0ZShtX3Njcm9sbGJhci5nZXQoKSwgbV9wYWludGVyLCBtX2dlb21l
dHJ5KSk7CiAgICAgaWYgKCFtX3RodW1iKQogICAgICAgICBtX3RodW1iID0gbV90aHVtYlVwZGF0
ZXItPmNyZWF0ZVRleHR1cmUobGF5ZXJUcmVlSG9zdCgpLT5jb250ZW50c1RleHR1cmVNYW5hZ2Vy
KCkpOwogfQpAQCAtMjY3LDcgKzI1MCw3IEBAIHZvaWQgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6
c2V0VGV4dHVyZVByaW9yaXRpZXMoY29uc3QgQ0NQcmlvcml0eUNhbGN1bGF0b3ImKQogICAgICAg
ICBtX2ZvcmVUcmFjay0+dGV4dHVyZSgpLT5zZXRSZXF1ZXN0UHJpb3JpdHkoQ0NQcmlvcml0eUNh
bGN1bGF0b3I6OnVpUHJpb3JpdHkoZHJhd3NUb1Jvb3QpKTsKICAgICB9CiAgICAgaWYgKG1fdGh1
bWIpIHsKLSAgICAgICAgSW50U2l6ZSB0aHVtYlNpemUgPSB0aGVtZSgpLT50aHVtYlJlY3QobV9z
Y3JvbGxiYXIuZ2V0KCkpLnNpemUoKTsKKyAgICAgICAgSW50U2l6ZSB0aHVtYlNpemUgPSBJbnRS
ZWN0KG1fZ2VvbWV0cnkudGh1bWJSZWN0KG1fc2Nyb2xsYmFyLmdldCgpKSkuc2l6ZSgpOwogICAg
ICAgICBtX3RodW1iLT50ZXh0dXJlKCktPnNldERpbWVuc2lvbnModGh1bWJTaXplLCBtX3RleHR1
cmVGb3JtYXQpOwogICAgICAgICBtX3RodW1iLT50ZXh0dXJlKCktPnNldFJlcXVlc3RQcmlvcml0
eShDQ1ByaW9yaXR5Q2FsY3VsYXRvcjo6dWlQcmlvcml0eShkcmF3c1RvUm9vdCkpOwogICAgIH0K
QEAgLTI4MCwxNCArMjYzLDE0IEBAIHZvaWQgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6dXBkYXRl
KENDVGV4dHVyZVVwZGF0ZXImIHVwZGF0ZXIsIGNvbnN0IENDT2NjbHVzaW9uCiAKICAgICBjcmVh
dGVUZXh0dXJlVXBkYXRlcklmTmVlZGVkKCk7CiAKLSAgICBJbnRQb2ludCBzY3JvbGxiYXJPcmln
aW4obV9zY3JvbGxiYXItPngoKSwgbV9zY3JvbGxiYXItPnkoKSk7CisgICAgSW50UG9pbnQgc2Ny
b2xsYmFyT3JpZ2luKG1fc2Nyb2xsYmFyLT5sb2NhdGlvbigpKTsKICAgICBJbnRSZWN0IGNvbnRl
bnRSZWN0KHNjcm9sbGJhck9yaWdpbiwgY29udGVudEJvdW5kcygpKTsKICAgICB1cGRhdGVQYXJ0
KG1fYmFja1RyYWNrVXBkYXRlci5nZXQoKSwgbV9iYWNrVHJhY2suZ2V0KCksIGNvbnRlbnRSZWN0
LCB1cGRhdGVyLCBzdGF0cyk7CiAgICAgaWYgKG1fZm9yZVRyYWNrICYmIG1fZm9yZVRyYWNrVXBk
YXRlcikKICAgICAgICAgdXBkYXRlUGFydChtX2ZvcmVUcmFja1VwZGF0ZXIuZ2V0KCksIG1fZm9y
ZVRyYWNrLmdldCgpLCBjb250ZW50UmVjdCwgdXBkYXRlciwgc3RhdHMpOwogCiAgICAgLy8gQ29u
c2lkZXIgdGhlIHRodW1iIHRvIGJlIGF0IHRoZSBvcmlnaW4gd2hlbiBwYWludGluZy4KLSAgICBJ
bnRSZWN0IHRodW1iUmVjdCA9IEludFJlY3QoSW50UG9pbnQoKSwgdGhlbWUoKS0+dGh1bWJSZWN0
KG1fc2Nyb2xsYmFyLmdldCgpKS5zaXplKCkpOworICAgIEludFJlY3QgdGh1bWJSZWN0ID0gSW50
UmVjdChJbnRQb2ludCgpLCBJbnRSZWN0KG1fZ2VvbWV0cnkudGh1bWJSZWN0KG1fc2Nyb2xsYmFy
LmdldCgpKSkuc2l6ZSgpKTsKICAgICBpZiAoIXRodW1iUmVjdC5pc0VtcHR5KCkpCiAgICAgICAg
IHVwZGF0ZVBhcnQobV90aHVtYlVwZGF0ZXIuZ2V0KCksIG1fdGh1bWIuZ2V0KCksIHRodW1iUmVj
dCwgdXBkYXRlciwgc3RhdHMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5o
CmluZGV4IDE3YTdhY2U4MjEwZTVlMTg0MjUwOTA5ZDMzMmZhNzJlYzE1MWI5ZDEuLjQyNTJlMjY4
ZWRjYzFkODliNDM1M2U0NTU1ZTQ3NzFmOTMxMWMwNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Njcm9sbGJhckxheWVyQ2hyb21pdW0uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TY3JvbGxiYXJM
YXllckNocm9taXVtLmgKQEAgLTMwLDcgKzMwLDkgQEAKIAogI2luY2x1ZGUgIkxheWVyQ2hyb21p
dW0uaCIKICNpbmNsdWRlICJMYXllclRleHR1cmVVcGRhdGVyLmgiCi0jaW5jbHVkZSAiU2Nyb2xs
VHlwZXMuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+CisjaW5jbHVkZSA8cHVi
bGljL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Ny
b2xsYmFyVGhlbWVQYWludGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsNyAr
NDMsNyBAQCBjbGFzcyBDQ1RleHR1cmVVcGRhdGVyOwogY2xhc3MgU2Nyb2xsYmFyTGF5ZXJDaHJv
bWl1bSA6IHB1YmxpYyBMYXllckNocm9taXVtIHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NP
d25QdHI8Q0NMYXllckltcGw+IGNyZWF0ZUNDTGF5ZXJJbXBsKCk7Ci0gICAgc3RhdGljIFBhc3NS
ZWZQdHI8U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4gY3JlYXRlKFNjcm9sbGJhciosIGludCBzY3Jv
bGxMYXllcklkKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JvbGxiYXJMYXllckNocm9taXVt
PiBjcmVhdGUoUGFzc093blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhcj4sIFdlYktpdDo6V2ViU2Ny
b2xsYmFyVGhlbWVQYWludGVyLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnksIGlu
dCBzY3JvbGxMYXllcklkKTsKIAogICAgIC8vIExheWVyQ2hyb21pdW0gaW50ZXJmYWNlCiAgICAg
dmlydHVhbCB2b2lkIHNldFRleHR1cmVQcmlvcml0aWVzKGNvbnN0IENDUHJpb3JpdHlDYWxjdWxh
dG9yJikgT1ZFUlJJREU7CkBAIC01NSwxNCArNTcsMTUgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bSogdG9TY3JvbGxiYXJMYXllckNocm9taXVtKCkgeyByZXR1
cm4gdGhpczsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bShTY3Jv
bGxiYXIqLCBpbnQgc2Nyb2xsTGF5ZXJJZCk7CisgICAgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bShQ
YXNzT3duUHRyPFdlYktpdDo6V2ViU2Nyb2xsYmFyPiwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZVBhaW50ZXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSwgaW50IHNjcm9sbExh
eWVySWQpOwogCiBwcml2YXRlOgotICAgIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKiB0aGVtZSgp
IGNvbnN0OwogICAgIHZvaWQgdXBkYXRlUGFydChMYXllclRleHR1cmVVcGRhdGVyKiwgTGF5ZXJU
ZXh0dXJlVXBkYXRlcjo6VGV4dHVyZSosIGNvbnN0IEludFJlY3QmLCBDQ1RleHR1cmVVcGRhdGVy
JiwgQ0NSZW5kZXJpbmdTdGF0cyYpOwogICAgIHZvaWQgY3JlYXRlVGV4dHVyZVVwZGF0ZXJJZk5l
ZWRlZCgpOwogCi0gICAgUmVmUHRyPFNjcm9sbGJhcj4gbV9zY3JvbGxiYXI7CisgICAgT3duUHRy
PFdlYktpdDo6V2ViU2Nyb2xsYmFyPiBtX3Njcm9sbGJhcjsKKyAgICBXZWJLaXQ6OldlYlNjcm9s
bGJhclRoZW1lUGFpbnRlciBtX3BhaW50ZXI7CisgICAgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZUdlb21ldHJ5IG1fZ2VvbWV0cnk7CiAgICAgaW50IG1fc2Nyb2xsTGF5ZXJJZDsKIAogICAgIEdD
M0RlbnVtIG1fdGV4dHVyZUZvcm1hdDsKQEAgLTc1LDE0ICs3OCw2IEBAIHByaXZhdGU6CiAgICAg
T3duUHRyPExheWVyVGV4dHVyZVVwZGF0ZXI6OlRleHR1cmU+IG1fYmFja1RyYWNrOwogICAgIE93
blB0cjxMYXllclRleHR1cmVVcGRhdGVyOjpUZXh0dXJlPiBtX2ZvcmVUcmFjazsKICAgICBPd25Q
dHI8TGF5ZXJUZXh0dXJlVXBkYXRlcjo6VGV4dHVyZT4gbV90aHVtYjsKLQotICAgIFNjcm9sbGJh
ck92ZXJsYXlTdHlsZSBtX3Njcm9sbGJhck92ZXJsYXlTdHlsZTsKLSAgICBib29sIG1faXNTY3Jv
bGxhYmxlQXJlYUFjdGl2ZTsKLSAgICBib29sIG1faXNTY3JvbGxWaWV3U2Nyb2xsYmFyOwotCi0g
ICAgU2Nyb2xsYmFyT3JpZW50YXRpb24gbV9vcmllbnRhdGlvbjsKLQotICAgIFNjcm9sbGJhckNv
bnRyb2xTaXplIG1fY29udHJvbFNpemU7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9s
bGJhckxheWVySW1wbC5jcHAKaW5kZXggMWZjZDFkYThiZjQxZTJkMjJiNjE4Yzk0NmMyM2UzOGM0
NWM5ODhiZi4uNTAxMGU0N2Q5NzgwM2NiZjJiODIzYTc3YTRhNzVhNGE0NzZiY2Q0YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3Jv
bGxiYXJMYXllckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmNwcApAQCAtMjksMTEgKzI5LDEyIEBA
CiAKICNpbmNsdWRlICJDQ1Njcm9sbGJhckxheWVySW1wbC5oIgogCi0jaW5jbHVkZSAiU2Nyb2xs
YmFyVGhlbWUuaCIKLSNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS5oIgogI2luY2x1
ZGUgImNjL0NDUXVhZFNpbmsuaCIKICNpbmNsdWRlICJjYy9DQ1RleHR1cmVEcmF3UXVhZC5oIgog
Cit1c2luZyBXZWJLaXQ6OldlYlJlY3Q7Cit1c2luZyBXZWJLaXQ6OldlYlNjcm9sbGJhcjsKKwog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBQYXNzT3duUHRyPENDU2Nyb2xsYmFyTGF5ZXJJbXBsPiBD
Q1Njcm9sbGJhckxheWVySW1wbDo6Y3JlYXRlKGludCBpZCkKQEAgLTQ4LDM2ICs0OSw1NSBAQCBD
Q1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXJMYXllckltcGwoaW50IGlkKQogICAgICwg
bV9iYWNrVHJhY2tSZXNvdXJjZUlkKDApCiAgICAgLCBtX2ZvcmVUcmFja1Jlc291cmNlSWQoMCkK
ICAgICAsIG1fdGh1bWJSZXNvdXJjZUlkKDApCisgICAgLCBtX3Njcm9sbGJhck92ZXJsYXlTdHls
ZShXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlTdHlsZURlZmF1bHQpCisgICAgLCBtX29y
aWVudGF0aW9uKFdlYlNjcm9sbGJhcjo6SG9yaXpvbnRhbCkKKyAgICAsIG1fY29udHJvbFNpemUo
V2ViU2Nyb2xsYmFyOjpSZWd1bGFyU2Nyb2xsYmFyKQorICAgICwgbV9wcmVzc2VkUGFydChXZWJT
Y3JvbGxiYXI6Ok5vUGFydCkKKyAgICAsIG1faG92ZXJlZFBhcnQoV2ViU2Nyb2xsYmFyOjpOb1Bh
cnQpCisgICAgLCBtX2lzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoZmFsc2UpCisgICAgLCBtX2lzU2Ny
b2xsVmlld1Njcm9sbGJhcihmYWxzZSkKKyAgICAsIG1fZW5hYmxlZChmYWxzZSkKKyAgICAsIG1f
aXNDdXN0b21TY3JvbGxiYXIoZmFsc2UpCisgICAgLCBtX2lzT3ZlcmxheVNjcm9sbGJhcihmYWxz
ZSkKIHsKIH0KIAotbmFtZXNwYWNlIHsKLQotRmxvYXRSZWN0IHRvVVZSZWN0KGNvbnN0IEludFJl
Y3QmIHIsIGNvbnN0IEludFJlY3QmIGJvdW5kcykKK3ZvaWQgQ0NTY3JvbGxiYXJMYXllckltcGw6
OnNldFNjcm9sbGJhckRhdGEoY29uc3QgV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIFdlYktpdDo6
V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBnZW9tZXRyeSkKIHsKLSAgICBBU1NFUlQoYm91bmRz
LmNvbnRhaW5zKHIpKTsKLSAgICByZXR1cm4gRmxvYXRSZWN0KHN0YXRpY19jYXN0PGZsb2F0Pihy
LngoKSkgLyBib3VuZHMud2lkdGgoKSwgc3RhdGljX2Nhc3Q8ZmxvYXQ+KHIueSgpKSAvIGJvdW5k
cy5oZWlnaHQoKSwKLSAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19jYXN0PGZsb2F0PihyLndp
ZHRoKCkpIC8gYm91bmRzLndpZHRoKCksIHN0YXRpY19jYXN0PGZsb2F0PihyLmhlaWdodCgpKSAv
IGJvdW5kcy5oZWlnaHQoKSk7CisgICAgbV9nZW9tZXRyeSA9IGdlb21ldHJ5OworCisgICAgbV9z
Y3JvbGxiYXJPdmVybGF5U3R5bGUgPSBzY3JvbGxiYXItPnNjcm9sbGJhck92ZXJsYXlTdHlsZSgp
OworICAgIG1fb3JpZW50YXRpb24gPSBzY3JvbGxiYXItPm9yaWVudGF0aW9uKCk7CisgICAgbV9j
b250cm9sU2l6ZSA9IHNjcm9sbGJhci0+Y29udHJvbFNpemUoKTsKKyAgICBtX3ByZXNzZWRQYXJ0
ID0gc2Nyb2xsYmFyLT5wcmVzc2VkUGFydCgpOworICAgIG1faG92ZXJlZFBhcnQgPSBzY3JvbGxi
YXItPmhvdmVyZWRQYXJ0KCk7CisgICAgbV9pc1Njcm9sbGFibGVBcmVhQWN0aXZlID0gc2Nyb2xs
YmFyLT5pc1Njcm9sbGFibGVBcmVhQWN0aXZlKCk7CisgICAgbV9pc1Njcm9sbFZpZXdTY3JvbGxi
YXIgPSBzY3JvbGxiYXItPmlzU2Nyb2xsVmlld1Njcm9sbGJhcigpOworICAgIG1fZW5hYmxlZCA9
IHNjcm9sbGJhci0+ZW5hYmxlZCgpOworICAgIG1faXNDdXN0b21TY3JvbGxiYXIgPSBzY3JvbGxi
YXItPmlzQ3VzdG9tU2Nyb2xsYmFyKCk7CisgICAgbV9pc092ZXJsYXlTY3JvbGxiYXIgPSBzY3Jv
bGxiYXItPmlzT3ZlcmxheSgpOworCisgICAgc2Nyb2xsYmFyLT5nZXRUaWNrbWFya3MobV90aWNr
bWFya3MpOwogfQogCitzdGF0aWMgRmxvYXRSZWN0IHRvVVZSZWN0KGNvbnN0IFdlYlJlY3QmIHIs
IGNvbnN0IFdlYlJlY3QmIGJvdW5kcykKK3sKKyAgICByZXR1cm4gRmxvYXRSZWN0KHN0YXRpY19j
YXN0PGZsb2F0PihyLngpIC8gYm91bmRzLndpZHRoLCBzdGF0aWNfY2FzdDxmbG9hdD4oci55KSAv
IGJvdW5kcy5oZWlnaHQsCisgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxmbG9hdD4o
ci53aWR0aCkgLyBib3VuZHMud2lkdGgsIHN0YXRpY19jYXN0PGZsb2F0PihyLmhlaWdodCkgLyBi
b3VuZHMuaGVpZ2h0KTsKIH0KIAogdm9pZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6YXBwZW5kUXVh
ZHMoQ0NRdWFkU2luayYgcXVhZExpc3QsIGNvbnN0IENDU2hhcmVkUXVhZFN0YXRlKiBzaGFyZWRR
dWFkU3RhdGUsIGJvb2wmKQogewotICAgIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKiB0aGVtZSA9
IHN0YXRpY19jYXN0PFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKj4oU2Nyb2xsYmFyVGhlbWU6OnRo
ZW1lKCkpOwotICAgIGlmICghdGhlbWUpCi0gICAgICAgIHJldHVybjsKLQogICAgIGJvb2wgcHJl
bXVsdGlwbGVkQWxwaGEgPSBmYWxzZTsKICAgICBib29sIGZsaXBwZWQgPSBmYWxzZTsKICAgICBG
bG9hdFJlY3QgdXZSZWN0KDAsIDAsIDEsIDEpOwogICAgIEludFJlY3QgYm91bmRzUmVjdChJbnRQ
b2ludCgpLCBjb250ZW50Qm91bmRzKCkpOwogCi0gICAgSW50UmVjdCB0aHVtYlJlY3QsIGJhY2tU
cmFja1JlY3QsIGZvcmVUcmFja1JlY3Q7Ci0gICAgdGhlbWUtPnNwbGl0VHJhY2soJm1fc2Nyb2xs
YmFyLCB0aGVtZS0+dHJhY2tSZWN0KCZtX3Njcm9sbGJhciksIGJhY2tUcmFja1JlY3QsIHRodW1i
UmVjdCwgZm9yZVRyYWNrUmVjdCk7CisgICAgV2ViUmVjdCB0aHVtYlJlY3QsIGJhY2tUcmFja1Jl
Y3QsIGZvcmVUcmFja1JlY3Q7CisgICAgbV9nZW9tZXRyeS5zcGxpdFRyYWNrKCZtX3Njcm9sbGJh
ciwgbV9nZW9tZXRyeS50cmFja1JlY3QoJm1fc2Nyb2xsYmFyKSwgYmFja1RyYWNrUmVjdCwgdGh1
bWJSZWN0LCBmb3JlVHJhY2tSZWN0KTsKIAotICAgIGlmIChtX3RodW1iUmVzb3VyY2VJZCAmJiB0
aGVtZS0+aGFzVGh1bWIoJm1fc2Nyb2xsYmFyKSAmJiAhdGh1bWJSZWN0LmlzRW1wdHkoKSkgewot
ICAgICAgICBPd25QdHI8Q0NUZXh0dXJlRHJhd1F1YWQ+IHF1YWQgPSBDQ1RleHR1cmVEcmF3UXVh
ZDo6Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZSwgdGh1bWJSZWN0LCBtX3RodW1iUmVzb3VyY2VJZCwg
cHJlbXVsdGlwbGVkQWxwaGEsIHV2UmVjdCwgZmxpcHBlZCk7CisgICAgaWYgKG1fdGh1bWJSZXNv
dXJjZUlkICYmIG1fZ2VvbWV0cnkuaGFzVGh1bWIoJm1fc2Nyb2xsYmFyKSAmJiAhdGh1bWJSZWN0
LmlzRW1wdHkoKSkgeworICAgICAgICBPd25QdHI8Q0NUZXh0dXJlRHJhd1F1YWQ+IHF1YWQgPSBD
Q1RleHR1cmVEcmF3UXVhZDo6Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZSwgSW50UmVjdCh0aHVtYlJl
Y3QpLCBtX3RodW1iUmVzb3VyY2VJZCwgcHJlbXVsdGlwbGVkQWxwaGEsIHV2UmVjdCwgZmxpcHBl
ZCk7CiAgICAgICAgIHF1YWQtPnNldE5lZWRzQmxlbmRpbmcoKTsKICAgICAgICAgcXVhZExpc3Qu
YXBwZW5kKHF1YWQucmVsZWFzZSgpKTsKICAgICB9CkBAIC04NywxMzAgKzEwNyw1MCBAQCB2b2lk
IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjphcHBlbmRRdWFkcyhDQ1F1YWRTaW5rJiBxdWFkTGlzdCwg
Y29uc3QgQ0NTaGFyZWRRdWFkUwogCiAgICAgLy8gV2Ugb25seSBwYWludCB0aGUgdHJhY2sgaW4g
dHdvIHBhcnRzIGlmIHdlIHdlcmUgZ2l2ZW4gYSB0ZXh0dXJlIGZvciB0aGUgZm9yd2FyZCB0cmFj
ayBwYXJ0LgogICAgIGlmIChtX2ZvcmVUcmFja1Jlc291cmNlSWQgJiYgIWZvcmVUcmFja1JlY3Qu
aXNFbXB0eSgpKQotICAgICAgICBxdWFkTGlzdC5hcHBlbmQoQ0NUZXh0dXJlRHJhd1F1YWQ6OmNy
ZWF0ZShzaGFyZWRRdWFkU3RhdGUsIGZvcmVUcmFja1JlY3QsIG1fZm9yZVRyYWNrUmVzb3VyY2VJ
ZCwgcHJlbXVsdGlwbGVkQWxwaGEsIHRvVVZSZWN0KGZvcmVUcmFja1JlY3QsIGJvdW5kc1JlY3Qp
LCBmbGlwcGVkKSk7CisgICAgICAgIHF1YWRMaXN0LmFwcGVuZChDQ1RleHR1cmVEcmF3UXVhZDo6
Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZSwgSW50UmVjdChmb3JlVHJhY2tSZWN0KSwgbV9mb3JlVHJh
Y2tSZXNvdXJjZUlkLCBwcmVtdWx0aXBsZWRBbHBoYSwgdG9VVlJlY3QoZm9yZVRyYWNrUmVjdCwg
Ym91bmRzUmVjdCksIGZsaXBwZWQpKTsKIAogICAgIC8vIE9yZGVyIG1hdHRlcnMgaGVyZTogc2lu
Y2UgdGhlIGJhY2sgdHJhY2sgdGV4dHVyZSBpcyBiZWluZyBkcmF3biB0byB0aGUgZW50aXJlIGNv
bnRlbnRzIHJlY3QsIHdlIG11c3QgYXBwZW5kIGl0IGFmdGVyIHRoZSB0aHVtYiBhbmQKICAgICAv
LyBmb3JlIHRyYWNrIHF1YWRzLiBUaGUgYmFjayB0cmFjayB0ZXh0dXJlIGNvbnRhaW5zIChhbmQg
ZGlzcGxheXMpIHRoZSBidXR0b25zLgogICAgIGlmICghYm91bmRzUmVjdC5pc0VtcHR5KCkpCi0g
ICAgICAgIHF1YWRMaXN0LmFwcGVuZChDQ1RleHR1cmVEcmF3UXVhZDo6Y3JlYXRlKHNoYXJlZFF1
YWRTdGF0ZSwgYm91bmRzUmVjdCwgbV9iYWNrVHJhY2tSZXNvdXJjZUlkLCBwcmVtdWx0aXBsZWRB
bHBoYSwgdXZSZWN0LCBmbGlwcGVkKSk7Ci19Ci0KLQotaW50IENDU2Nyb2xsYmFyTGF5ZXJJbXBs
OjpDQ1Njcm9sbGJhcjo6eCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZyYW1lUmVjdCgpLngoKTsK
LX0KLQotaW50IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6eSgpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIGZyYW1lUmVjdCgpLnkoKTsKLX0KLQotaW50IENDU2Nyb2xsYmFyTGF5ZXJJ
bXBsOjpDQ1Njcm9sbGJhcjo6d2lkdGgoKSBjb25zdAotewotICAgIHJldHVybiBmcmFtZVJlY3Qo
KS53aWR0aCgpOwotfQotCi1pbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpo
ZWlnaHQoKSBjb25zdAotewotICAgIHJldHVybiBmcmFtZVJlY3QoKS5oZWlnaHQoKTsKLX0KLQot
SW50U2l6ZSBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnNpemUoKSBjb25zdAot
ewotICAgIHJldHVybiBmcmFtZVJlY3QoKS5zaXplKCk7Ci19Ci0KLUludFBvaW50IENDU2Nyb2xs
YmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6bG9jYXRpb24oKSBjb25zdAotewotICAgIHJldHVy
biBmcmFtZVJlY3QoKS5sb2NhdGlvbigpOwotfQotCi1TY3JvbGxWaWV3KiBDQ1Njcm9sbGJhckxh
eWVySW1wbDo6Q0NTY3JvbGxiYXI6OnBhcmVudCgpIGNvbnN0Ci17Ci0gICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLVNjcm9sbFZpZXcqIENDU2Nyb2xsYmFyTGF5
ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6cm9vdCgpIGNvbnN0Ci17Ci0gICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLXZvaWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkND
U2Nyb2xsYmFyOjpzZXRGcmFtZVJlY3QoY29uc3QgSW50UmVjdCYpCi17Ci0gICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci19Ci0KLUludFJlY3QgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xs
YmFyOjpmcmFtZVJlY3QoKSBjb25zdAotewotICAgIHJldHVybiBJbnRSZWN0KEludFBvaW50KCks
IG1fb3duZXItPmNvbnRlbnRCb3VuZHMoKSk7Ci19Ci0KLXZvaWQgQ0NTY3JvbGxiYXJMYXllcklt
cGw6OkNDU2Nyb2xsYmFyOjppbnZhbGlkYXRlKCkKLXsKLSAgICBpbnZhbGlkYXRlUmVjdChmcmFt
ZVJlY3QoKSk7Ci19Ci0KLXZvaWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpp
bnZhbGlkYXRlUmVjdChjb25zdCBJbnRSZWN0JikKLXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKLX0KLQotU2Nyb2xsYmFyT3ZlcmxheVN0eWxlIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Nj
cm9sbGJhcjo6c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9v
d25lci0+bV9zY3JvbGxiYXJPdmVybGF5U3R5bGU7Ci19Ci0KLXZvaWQgQ0NTY3JvbGxiYXJMYXll
ckltcGw6OkNDU2Nyb2xsYmFyOjpnZXRUaWNrbWFya3MoVmVjdG9yPEludFJlY3Q+JiB0aWNrbWFy
a3MpIGNvbnN0Ci17Ci0gICAgdGlja21hcmtzID0gbV9vd25lci0+bV90aWNrbWFya3M7CisgICAg
ICAgIHF1YWRMaXN0LmFwcGVuZChDQ1RleHR1cmVEcmF3UXVhZDo6Y3JlYXRlKHNoYXJlZFF1YWRT
dGF0ZSwgSW50UmVjdChib3VuZHNSZWN0KSwgbV9iYWNrVHJhY2tSZXNvdXJjZUlkLCBwcmVtdWx0
aXBsZWRBbHBoYSwgdXZSZWN0LCBmbGlwcGVkKSk7CiB9CiAKLWJvb2wgQ0NTY3JvbGxiYXJMYXll
ckltcGw6OkNDU2Nyb2xsYmFyOjppc1Njcm9sbGFibGVBcmVhQWN0aXZlKCkgY29uc3QKK2Jvb2wg
Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjppc092ZXJsYXkoKSBjb25zdAogewot
ICAgIHJldHVybiBtX293bmVyLT5tX2lzU2Nyb2xsYWJsZUFyZWFBY3RpdmU7CisgICAgcmV0dXJu
IG1fb3duZXItPm1faXNPdmVybGF5U2Nyb2xsYmFyOwogfQogCi1ib29sIENDU2Nyb2xsYmFyTGF5
ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCkgY29uc3QKK2ludCBD
Q1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnZhbHVlKCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gbV9vd25lci0+bV9pc1Njcm9sbFZpZXdTY3JvbGxiYXI7CisgICAgaWYgKCFtX293bmVy
LT5tX3Njcm9sbExheWVyKQorICAgICAgICByZXR1cm4gMDsKKyAgICBpZiAob3JpZW50YXRpb24o
KSA9PSBXZWJTY3JvbGxiYXI6Okhvcml6b250YWwpCisgICAgICAgIHJldHVybiBtX293bmVyLT5t
X3Njcm9sbExheWVyLT5zY3JvbGxQb3NpdGlvbigpLngoKSArIG1fb3duZXItPm1fc2Nyb2xsTGF5
ZXItPnNjcm9sbERlbHRhKCkud2lkdGgoKTsKKyAgICByZXR1cm4gbV9vd25lci0+bV9zY3JvbGxM
YXllci0+c2Nyb2xsUG9zaXRpb24oKS55KCkgKyBtX293bmVyLT5tX3Njcm9sbExheWVyLT5zY3Jv
bGxEZWx0YSgpLmhlaWdodCgpOwogfQogCi1JbnRQb2ludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6
Q0NTY3JvbGxiYXI6OmNvbnZlcnRGcm9tQ29udGFpbmluZ1dpbmRvdyhjb25zdCBJbnRQb2ludCYg
d2luZG93UG9pbnQpCitXZWJLaXQ6OldlYlBvaW50IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Nj
cm9sbGJhcjo6bG9jYXRpb24oKSBjb25zdAogewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwot
ICAgIHJldHVybiB3aW5kb3dQb2ludDsKKyAgICByZXR1cm4gV2ViS2l0OjpXZWJQb2ludCgpOwog
fQogCi1ib29sIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aXNDdXN0b21TY3Jv
bGxiYXIoKSBjb25zdAorV2ViS2l0OjpXZWJTaXplIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Nj
cm9sbGJhcjo6c2l6ZSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBt
X293bmVyLT5jb250ZW50Qm91bmRzKCk7CiB9CiAKLVNjcm9sbGJhck9yaWVudGF0aW9uIENDU2Ny
b2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6b3JpZW50YXRpb24oKSBjb25zdAorYm9vbCBD
Q1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmVuYWJsZWQoKSBjb25zdAogewotICAg
IHJldHVybiBtX293bmVyLT5tX29yaWVudGF0aW9uOworICAgIHJldHVybiBtX293bmVyLT5tX2Vu
YWJsZWQ7CiB9CiAKLWludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnZhbHVl
KCkgY29uc3QKK2ludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6Om1heGltdW0o
KSBjb25zdAogewogICAgIGlmICghbV9vd25lci0+bV9zY3JvbGxMYXllcikKICAgICAgICAgcmV0
dXJuIDA7Ci0gICAgaWYgKG9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikKLSAg
ICAgICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXItPnNjcm9sbFBvc2l0aW9uKCkueCgp
ICsgbV9vd25lci0+bV9zY3JvbGxMYXllci0+c2Nyb2xsRGVsdGEoKS53aWR0aCgpOwotICAgIHJl
dHVybiBtX293bmVyLT5tX3Njcm9sbExheWVyLT5zY3JvbGxQb3NpdGlvbigpLnkoKSArIG1fb3du
ZXItPm1fc2Nyb2xsTGF5ZXItPnNjcm9sbERlbHRhKCkuaGVpZ2h0KCk7Ci19Ci0KLWZsb2F0IEND
U2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6Y3VycmVudFBvcygpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIHZhbHVlKCk7Ci19Ci0KLWludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3Jv
bGxiYXI6OnZpc2libGVTaXplKCkgY29uc3QKLXsKLSAgICByZXR1cm4gdG90YWxTaXplKCkgLSBt
YXhpbXVtKCk7CisgICAgaWYgKG9yaWVudGF0aW9uKCkgPT0gV2ViU2Nyb2xsYmFyOjpIb3Jpem9u
dGFsKQorICAgICAgICByZXR1cm4gbV9vd25lci0+bV9zY3JvbGxMYXllci0+bWF4U2Nyb2xsUG9z
aXRpb24oKS53aWR0aCgpOworICAgIHJldHVybiBtX293bmVyLT5tX3Njcm9sbExheWVyLT5tYXhT
Y3JvbGxQb3NpdGlvbigpLmhlaWdodCgpOwogfQogCiBpbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6
OkNDU2Nyb2xsYmFyOjp0b3RhbFNpemUoKSBjb25zdApAQCAtMjIwLDU5ICsxNjAsNTQgQEAgaW50
IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6dG90YWxTaXplKCkgY29uc3QKICAg
ICAvLyBDb3B5ICYgcGFzdGUgZnJvbSBDQ0xheWVyVHJlZUhvc3RJbXBsLi4uCiAgICAgLy8gRklY
TUU6IEhhcmRjb2RpbmcgdGhlIGZpcnN0IGNoaWxkIGhlcmUgaXMgd2VpcmQuIFRoaW5rIG9mCiAg
ICAgLy8gYSBjbGVhbmVyIHdheSB0byBnZXQgdGhlIGNvbnRlbnRCb3VuZHMgb24gdGhlIEltcGwg
c2lkZS4KLSAgICBpZiAob3JpZW50YXRpb24oKSA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyKQorICAg
IGlmIChvcmllbnRhdGlvbigpID09IFdlYlNjcm9sbGJhcjo6SG9yaXpvbnRhbCkKICAgICAgICAg
cmV0dXJuIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXItPmNoaWxkcmVuKClbMF0tPmJvdW5kcygpLndp
ZHRoKCk7CiAgICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXItPmNoaWxkcmVuKClbMF0t
PmJvdW5kcygpLmhlaWdodCgpOwogfQogCi1pbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Ny
b2xsYmFyOjptYXhpbXVtKCkgY29uc3QKK2Jvb2wgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Ny
b2xsYmFyOjppc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBjb25zdAogewotICAgIGlmICghbV9vd25l
ci0+bV9zY3JvbGxMYXllcikKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKG9yaWVudGF0aW9u
KCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikKLSAgICAgICAgcmV0dXJuIG1fb3duZXItPm1fc2Ny
b2xsTGF5ZXItPm1heFNjcm9sbFBvc2l0aW9uKCkud2lkdGgoKTsKLSAgICByZXR1cm4gbV9vd25l
ci0+bV9zY3JvbGxMYXllci0+bWF4U2Nyb2xsUG9zaXRpb24oKS5oZWlnaHQoKTsKKyAgICByZXR1
cm4gbV9vd25lci0+bV9pc1Njcm9sbFZpZXdTY3JvbGxiYXI7CiB9CiAKLVNjcm9sbGJhckNvbnRy
b2xTaXplIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6Y29udHJvbFNpemUoKSBj
b25zdAorYm9vbCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmlzU2Nyb2xsYWJs
ZUFyZWFBY3RpdmUoKSBjb25zdAogewotICAgIHJldHVybiBtX293bmVyLT5tX2NvbnRyb2xTaXpl
OworICAgIHJldHVybiBtX293bmVyLT5tX2lzU2Nyb2xsYWJsZUFyZWFBY3RpdmU7CiB9CiAKLWlu
dCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmxpbmVTdGVwKCkgY29uc3QKK3Zv
aWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpnZXRUaWNrbWFya3MoV2ViS2l0
OjpXZWJWZWN0b3I8V2ViUmVjdD4mIHRpY2ttYXJrcykgY29uc3QKIHsKLSAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMDsKKyAgICB0aWNrbWFya3MgPSBtX293bmVyLT5tX3Rp
Y2ttYXJrczsKIH0KIAotaW50IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6cGFn
ZVN0ZXAoKSBjb25zdAorV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJDb250cm9sU2l6ZSBDQ1Njcm9s
bGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmNvbnRyb2xTaXplKCkgY29uc3QKIHsKLSAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbV9vd25lci0+
bV9jb250cm9sU2l6ZTsKIH0KIAotU2Nyb2xsYmFyUGFydCBDQ1Njcm9sbGJhckxheWVySW1wbDo6
Q0NTY3JvbGxiYXI6OnByZXNzZWRQYXJ0KCkgY29uc3QKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFy
UGFydCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnByZXNzZWRQYXJ0KCkgY29u
c3QKIHsKICAgICByZXR1cm4gbV9vd25lci0+bV9wcmVzc2VkUGFydDsKIH0KIAotU2Nyb2xsYmFy
UGFydCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmhvdmVyZWRQYXJ0KCkgY29u
c3QKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NT
Y3JvbGxiYXI6OmhvdmVyZWRQYXJ0KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9vd25lci0+bV9o
b3ZlcmVkUGFydDsKIH0KIAotdm9pZCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6
OnN0eWxlQ2hhbmdlZCgpCitXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlTdHlsZSBDQ1Nj
cm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnNjcm9sbGJhck92ZXJsYXlTdHlsZSgpIGNv
bnN0CiB7CisgICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xsYmFyT3ZlcmxheVN0eWxlOwogfQog
Ci1ib29sIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6ZW5hYmxlZCgpIGNvbnN0
CitXZWJTY3JvbGxiYXI6Ok9yaWVudGF0aW9uIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9s
bGJhcjo6b3JpZW50YXRpb24oKSBjb25zdAogewotICAgIHJldHVybiBtX293bmVyLT5tX2VuYWJs
ZWQ7CisgICAgcmV0dXJuIG1fb3duZXItPm1fb3JpZW50YXRpb247CiB9CiAKLXZvaWQgQ0NTY3Jv
bGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpzZXRFbmFibGVkKGJvb2wpCitib29sIENDU2Ny
b2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aXNDdXN0b21TY3JvbGxiYXIoKSBjb25zdAog
ewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBtX293bmVyLT5tX2lzQ3Vz
dG9tU2Nyb2xsYmFyOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXllckltcGwu
aAppbmRleCBmYWEzMzYxYmFkMzc1OTgwNGU4MDM0OGQ0MjIwZGViNjdiM2UwMDVjLi5mMmQyYTJl
ZjMxZDU4N2I3YjJhMTJjMWIxZmZmZWU0ODM2YjdlM2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Ny
b2xsYmFyTGF5ZXJJbXBsLmgKQEAgLTMwLDYgKzMwLDEwIEBACiAKICNpbmNsdWRlICJTY3JvbGxi
YXJUaGVtZUNsaWVudC5oIgogI2luY2x1ZGUgImNjL0NDTGF5ZXJJbXBsLmgiCisjaW5jbHVkZSA8
cHVibGljL1dlYlJlY3QuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+CisjaW5j
bHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkuaD4KKyNpbmNsdWRlIDxwdWJs
aWMvV2ViVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMzksMTkgKzQzLDcg
QEAgY2xhc3MgQ0NTY3JvbGxiYXJMYXllckltcGwgOiBwdWJsaWMgQ0NMYXllckltcGwgewogcHVi
bGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPENDU2Nyb2xsYmFyTGF5ZXJJbXBsPiBjcmVhdGUo
aW50IGlkKTsKIAotICAgIHZvaWQgc2V0U2Nyb2xsYmFyT3ZlcmxheVN0eWxlKFNjcm9sbGJhck92
ZXJsYXlTdHlsZSBzY3JvbGxiYXJPdmVybGF5U3R5bGUpIHsgbV9zY3JvbGxiYXJPdmVybGF5U3R5
bGUgPSBzY3JvbGxiYXJPdmVybGF5U3R5bGU7IH0KLSAgICB2b2lkIHNldFRpY2ttYXJrcyhjb25z
dCBWZWN0b3I8SW50UmVjdD4mIHRpY2ttYXJrcykgeyBtX3RpY2ttYXJrcyA9IHRpY2ttYXJrczsg
fQotICAgIHZvaWQgc2V0SXNTY3JvbGxhYmxlQXJlYUFjdGl2ZShib29sIGlzU2Nyb2xsYWJsZUFy
ZWFBY3RpdmUpIHsgbV9pc1Njcm9sbGFibGVBcmVhQWN0aXZlID0gaXNTY3JvbGxhYmxlQXJlYUFj
dGl2ZTsgfQotICAgIHZvaWQgc2V0SXNTY3JvbGxWaWV3U2Nyb2xsYmFyKGJvb2wgaXNTY3JvbGxW
aWV3U2Nyb2xsYmFyKSB7IG1faXNTY3JvbGxWaWV3U2Nyb2xsYmFyID0gaXNTY3JvbGxWaWV3U2Ny
b2xsYmFyOyB9Ci0KLSAgICB2b2lkIHNldE9yaWVudGF0aW9uKFNjcm9sbGJhck9yaWVudGF0aW9u
IG9yaWVudGF0aW9uKSB7IG1fb3JpZW50YXRpb24gPSBvcmllbnRhdGlvbjsgfQotCi0gICAgdm9p
ZCBzZXRDb250cm9sU2l6ZShTY3JvbGxiYXJDb250cm9sU2l6ZSBjb250cm9sU2l6ZSkgeyBtX2Nv
bnRyb2xTaXplID0gY29udHJvbFNpemU7IH0KLQotICAgIHZvaWQgc2V0UHJlc3NlZFBhcnQoU2Ny
b2xsYmFyUGFydCBwcmVzc2VkUGFydCkgeyBtX3ByZXNzZWRQYXJ0ID0gcHJlc3NlZFBhcnQ7IH0K
LSAgICB2b2lkIHNldEhvdmVyZWRQYXJ0KFNjcm9sbGJhclBhcnQgaG92ZXJlZFBhcnQpIHsgbV9o
b3ZlcmVkUGFydCA9IGhvdmVyZWRQYXJ0OyB9Ci0KLSAgICB2b2lkIHNldEVuYWJsZWQoYm9vbCBl
bmFibGVkKSB7IG1fZW5hYmxlZCA9IGVuYWJsZWQ7IH0KKyAgICB2b2lkIHNldFNjcm9sbGJhckRh
dGEoY29uc3QgV2ViS2l0OjpXZWJTY3JvbGxiYXIqLCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1l
R2VvbWV0cnkpOwogCiAgICAgdm9pZCBzZXRCYWNrVHJhY2tSZXNvdXJjZUlkKENDUmVzb3VyY2VQ
cm92aWRlcjo6UmVzb3VyY2VJZCBpZCkgeyBtX2JhY2tUcmFja1Jlc291cmNlSWQgPSBpZDsgfQog
ICAgIHZvaWQgc2V0Rm9yZVRyYWNrUmVzb3VyY2VJZChDQ1Jlc291cmNlUHJvdmlkZXI6OlJlc291
cmNlSWQgaWQpIHsgbV9mb3JlVHJhY2tSZXNvdXJjZUlkID0gaWQ7IH0KQEAgLTY5LDU0ICs2MSwy
NyBAQCBwcml2YXRlOgogICAgIENDTGF5ZXJJbXBsKiBtX3Njcm9sbExheWVyOwogCiAgICAgLy8g
bmVzdGVkIGNsYXNzIG9ubHkgdG8gYXZvaWQgbmFtZXNwYWNlIHByb2JsZW0KLSAgICBjbGFzcyBD
Q1Njcm9sbGJhciA6IHB1YmxpYyBTY3JvbGxiYXJUaGVtZUNsaWVudCB7CisgICAgY2xhc3MgQ0NT
Y3JvbGxiYXIgOiBwdWJsaWMgV2ViS2l0OjpXZWJTY3JvbGxiYXIgewogICAgIHB1YmxpYzoKICAg
ICAgICAgZXhwbGljaXQgQ0NTY3JvbGxiYXIoQ0NTY3JvbGxiYXJMYXllckltcGwqIG93bmVyKSA6
IG1fb3duZXIob3duZXIpIHsgfQogCi0gICAgICAgIC8vIFNjcm9sbGJhclRoZW1lQ2xpZW50IGlt
cGxlbWVudGF0aW9uCi0gICAgICAgIHZpcnR1YWwgaW50IHgoKSBjb25zdDsKLSAgICAgICAgdmly
dHVhbCBpbnQgeSgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGludCB3aWR0aCgpIGNvbnN0Owot
ICAgICAgICB2aXJ0dWFsIGludCBoZWlnaHQoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBJbnRT
aXplIHNpemUoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBJbnRQb2ludCBsb2NhdGlvbigpIGNv
bnN0OwotCi0gICAgICAgIHZpcnR1YWwgU2Nyb2xsVmlldyogcGFyZW50KCkgY29uc3Q7Ci0gICAg
ICAgIHZpcnR1YWwgU2Nyb2xsVmlldyogcm9vdCgpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwg
dm9pZCBzZXRGcmFtZVJlY3QoY29uc3QgSW50UmVjdCYpOwotICAgICAgICB2aXJ0dWFsIEludFJl
Y3QgZnJhbWVSZWN0KCkgY29uc3Q7Ci0KLSAgICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGUo
KTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVSZWN0KGNvbnN0IEludFJlY3QmKTsK
LQotICAgICAgICB2aXJ0dWFsIFNjcm9sbGJhck92ZXJsYXlTdHlsZSBzY3JvbGxiYXJPdmVybGF5
U3R5bGUoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCB2b2lkIGdldFRpY2ttYXJrcyhWZWN0b3I8
SW50UmVjdD4mKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsYWJsZUFyZWFB
Y3RpdmUoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsVmlld1Njcm9sbGJh
cigpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwgSW50UG9pbnQgY29udmVydEZyb21Db250YWlu
aW5nV2luZG93KGNvbnN0IEludFBvaW50JiB3aW5kb3dQb2ludCk7Ci0KLSAgICAgICAgdmlydHVh
bCBib29sIGlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgU2Nyb2xs
YmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24oKSBjb25zdDsKLQorICAgICAgICAvLyBXZWJTY3Jv
bGxiYXIgaW1wbGVtZW50YXRpb24KKyAgICAgICAgdmlydHVhbCBib29sIGlzT3ZlcmxheSgpIGNv
bnN0OwogICAgICAgICB2aXJ0dWFsIGludCB2YWx1ZSgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFs
IGZsb2F0IGN1cnJlbnRQb3MoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBpbnQgdmlzaWJsZVNp
emUoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBpbnQgdG90YWxTaXplKCkgY29uc3Q7Ci0gICAg
ICAgIHZpcnR1YWwgaW50IG1heGltdW0oKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBTY3JvbGxi
YXJDb250cm9sU2l6ZSBjb250cm9sU2l6ZSgpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwgaW50
IGxpbmVTdGVwKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgaW50IHBhZ2VTdGVwKCkgY29uc3Q7
Ci0KLSAgICAgICAgdmlydHVhbCBTY3JvbGxiYXJQYXJ0IHByZXNzZWRQYXJ0KCkgY29uc3Q7Ci0g
ICAgICAgIHZpcnR1YWwgU2Nyb2xsYmFyUGFydCBob3ZlcmVkUGFydCgpIGNvbnN0OwotCi0gICAg
ICAgIHZpcnR1YWwgdm9pZCBzdHlsZUNoYW5nZWQoKTsKLQorICAgICAgICB2aXJ0dWFsIFdlYktp
dDo6V2ViUG9pbnQgbG9jYXRpb24oKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBXZWJLaXQ6Oldl
YlNpemUgc2l6ZSgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGJvb2wgZW5hYmxlZCgpIGNvbnN0
OwotICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0RW5hYmxlZChib29sKTsKKyAgICAgICAgdmlydHVh
bCBpbnQgbWF4aW11bSgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIGludCB0b3RhbFNpemUoKSBj
b25zdDsKKyAgICAgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsVmlld1Njcm9sbGJhcigpIGNvbnN0
OworICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgpIGNvbnN0Owor
ICAgICAgICB2aXJ0dWFsIHZvaWQgZ2V0VGlja21hcmtzKFdlYktpdDo6V2ViVmVjdG9yPFdlYktp
dDo6V2ViUmVjdD4mIHRpY2ttYXJrcykgY29uc3Q7CisgICAgICAgIHZpcnR1YWwgV2ViU2Nyb2xs
YmFyOjpTY3JvbGxiYXJDb250cm9sU2l6ZSBjb250cm9sU2l6ZSgpIGNvbnN0OworICAgICAgICB2
aXJ0dWFsIFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCgpIGNvbnN0Owor
ICAgICAgICB2aXJ0dWFsIFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBob3ZlcmVkUGFydCgp
IGNvbnN0OworICAgICAgICB2aXJ0dWFsIFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyT3ZlcmxheVN0
eWxlIHNjcm9sbGJhck92ZXJsYXlTdHlsZSgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIFdlYlNj
cm9sbGJhcjo6T3JpZW50YXRpb24gb3JpZW50YXRpb24oKSBjb25zdDsKKyAgICAgICAgdmlydHVh
bCBib29sIGlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3Q7CiAKICAgICBwcml2YXRlOgogICAgICAg
ICBDQ1Njcm9sbGJhckxheWVySW1wbCogbV9vd25lcjsKQEAgLTEyOCwxOSArOTMsMjAgQEAgcHJp
dmF0ZToKICAgICBDQ1Jlc291cmNlUHJvdmlkZXI6OlJlc291cmNlSWQgbV9mb3JlVHJhY2tSZXNv
dXJjZUlkOwogICAgIENDUmVzb3VyY2VQcm92aWRlcjo6UmVzb3VyY2VJZCBtX3RodW1iUmVzb3Vy
Y2VJZDsKIAotICAgIFNjcm9sbGJhck92ZXJsYXlTdHlsZSBtX3Njcm9sbGJhck92ZXJsYXlTdHls
ZTsKLSAgICBWZWN0b3I8SW50UmVjdD4gbV90aWNrbWFya3M7CisgICAgV2ViS2l0OjpXZWJTY3Jv
bGxiYXJUaGVtZUdlb21ldHJ5IG1fZ2VvbWV0cnk7CisKKyAgICAvLyBEYXRhIHRvIGltcGxlbWVu
dCBDQ1Njcm9sbGJhcgorICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5
U3R5bGUgbV9zY3JvbGxiYXJPdmVybGF5U3R5bGU7CisgICAgV2ViS2l0OjpXZWJWZWN0b3I8V2Vi
S2l0OjpXZWJSZWN0PiBtX3RpY2ttYXJrczsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhcjo6T3Jp
ZW50YXRpb24gbV9vcmllbnRhdGlvbjsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhcjo6U2Nyb2xs
YmFyQ29udHJvbFNpemUgbV9jb250cm9sU2l6ZTsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhcjo6
U2Nyb2xsYmFyUGFydCBtX3ByZXNzZWRQYXJ0OworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyOjpT
Y3JvbGxiYXJQYXJ0IG1faG92ZXJlZFBhcnQ7CiAgICAgYm9vbCBtX2lzU2Nyb2xsYWJsZUFyZWFB
Y3RpdmU7CiAgICAgYm9vbCBtX2lzU2Nyb2xsVmlld1Njcm9sbGJhcjsKLQotICAgIFNjcm9sbGJh
ck9yaWVudGF0aW9uIG1fb3JpZW50YXRpb247Ci0KLSAgICBTY3JvbGxiYXJDb250cm9sU2l6ZSBt
X2NvbnRyb2xTaXplOwotCi0gICAgU2Nyb2xsYmFyUGFydCBtX3ByZXNzZWRQYXJ0OwotICAgIFNj
cm9sbGJhclBhcnQgbV9ob3ZlcmVkUGFydDsKLQogICAgIGJvb2wgbV9lbmFibGVkOworICAgIGJv
b2wgbV9pc0N1c3RvbVNjcm9sbGJhcjsKKyAgICBib29sIG1faXNPdmVybGF5U2Nyb2xsYmFyOwog
fTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IDQ1Yjk0OTg2NmFiMjVhMWFj
NjA3OGI0MjkzN2ViMGU3YWEwYmVkN2MuLjBiYmZkYzU2NGQxOWFiYjIxOWU2M2RlNjAxNDg3Zjk4
MGUxNDllYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTYzMSw2ICs2MzEsMTIg
QEAKICAgICAgICAgICAgICAgICAnc3JjL1dlYlNjb3BlZFVzZXJHZXN0dXJlLmNwcCcsCiAgICAg
ICAgICAgICAgICAgJ3NyYy9XZWJTY3JpcHRDb250cm9sbGVyLmNwcCcsCiAgICAgICAgICAgICAg
ICAgJ3NyYy9XZWJTY3JvbGxhYmxlTGF5ZXIuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1dl
YlNjcm9sbGJhckltcGwuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYlNjcm9sbGJhcklt
cGwuaCcsCisgICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwu
Y3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbC5o
JywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkuY3BwJywK
KyAgICAgICAgICAgICAgICAnc3JjL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5jcHAnLAogICAg
ICAgICAgICAgICAgICdzcmMvV2ViU2VhcmNoYWJsZUZvcm1EYXRhLmNwcCcsCiAgICAgICAgICAg
ICAgICAgJ3NyYy9XZWJTZWN1cml0eU9yaWdpbi5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMv
V2ViU2VjdXJpdHlQb2xpY3kuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKaW5kZXggNWYyNTAzNTFhOWU5MjAxOTE5MTdlMTRi
OGJmZWNhZjdjNDFiN2VlOC4uOWNmNjA4OTNkODVjNGFmNWZmNDRlODNlZWQzYWMxZjYzMTI2NGI3
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdF
bnVtcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdF
bnVtcy5jcHAKQEAgLTQzMyw2ICs0MzMsMjMgQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShXZWJTY3JvbGxiYXI6OlNjcm9sbEJ5UGFnZSwgU2Nyb2xsQnlQYWdlKTsKIENPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oV2ViU2Nyb2xsYmFyOjpTY3JvbGxCeURvY3VtZW50LCBTY3JvbGxC
eURvY3VtZW50KTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViU2Nyb2xsYmFyOjpT
Y3JvbGxCeVBpeGVsLCBTY3JvbGxCeVBpeGVsKTsKIAorQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXZWJTY3JvbGxiYXI6OlJlZ3VsYXJTY3JvbGxiYXIsIFJlZ3VsYXJTY3JvbGxiYXIpOwor
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJTY3JvbGxiYXI6OlNtYWxsU2Nyb2xsYmFy
LCBTbWFsbFNjcm9sbGJhcik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlNjcm9s
bGJhcjo6Tm9QYXJ0LCBOb1BhcnQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJT
Y3JvbGxiYXI6OkJhY2tCdXR0b25TdGFydFBhcnQsIEJhY2tCdXR0b25TdGFydFBhcnQpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJTY3JvbGxiYXI6OkZvcndhcmRCdXR0b25TdGFy
dFBhcnQsIEZvcndhcmRCdXR0b25TdGFydFBhcnQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXZWJTY3JvbGxiYXI6OkJhY2tUcmFja1BhcnQsIEJhY2tUcmFja1BhcnQpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJTY3JvbGxiYXI6OlRodW1iUGFydCwgVGh1bWJQYXJ0
KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViU2Nyb2xsYmFyOjpGb3J3YXJkVHJh
Y2tQYXJ0LCBGb3J3YXJkVHJhY2tQYXJ0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
V2ViU2Nyb2xsYmFyOjpCYWNrQnV0dG9uRW5kUGFydCwgQmFja0J1dHRvbkVuZFBhcnQpOworQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJTY3JvbGxiYXI6OkZvcndhcmRCdXR0b25FbmRQ
YXJ0LCBGb3J3YXJkQnV0dG9uRW5kUGFydCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyQkdQYXJ0LCBTY3JvbGxiYXJCR1BhcnQpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJTY3JvbGxiYXI6OlRyYWNrQkdQYXJ0LCBUcmFja0JH
UGFydCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlNjcm9sbGJhcjo6QWxsUGFy
dHMsIEFsbFBhcnRzKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViU2Nyb2xsYmFy
OjpTY3JvbGxiYXJPdmVybGF5U3R5bGVEZWZhdWx0LCBTY3JvbGxiYXJPdmVybGF5U3R5bGVEZWZh
dWx0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViU2Nyb2xsYmFyOjpTY3JvbGxi
YXJPdmVybGF5U3R5bGVEYXJrLCBTY3JvbGxiYXJPdmVybGF5U3R5bGVEYXJrKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5U3R5bGVM
aWdodCwgU2Nyb2xsYmFyT3ZlcmxheVN0eWxlTGlnaHQpOworCiBDT01QSUxFX0FTU0VSVF9NQVRD
SElOR19FTlVNKFdlYlNldHRpbmdzOjpFZGl0aW5nQmVoYXZpb3JNYWMsIEVkaXRpbmdNYWNCZWhh
dmlvcik7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlNldHRpbmdzOjpFZGl0aW5n
QmVoYXZpb3JXaW4sIEVkaXRpbmdXaW5kb3dzQmVoYXZpb3IpOwogQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShXZWJTZXR0aW5nczo6RWRpdGluZ0JlaGF2aW9yVW5peCwgRWRpdGluZ1VuaXhC
ZWhhdmlvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FeHRlcm5h
bFBvcHVwTWVudS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1l
bnUuaAppbmRleCBhZWZkMzVlMTI5M2Y4NzQyNWJlMDIxMjY4NTc5NjM1OThlMDZlZGM4Li5iNTUy
Y2ZjM2ZkYThkYjcwMDgzNTFmOGMyODVmMDkzNWEyOGNhNDMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9FeHRlcm5hbFBvcHVwTWVudS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0V4dGVybmFsUG9wdXBNZW51LmgKQEAgLTMzLDYgKzMzLDggQEAKIAog
I2luY2x1ZGUgIlBvcHVwTWVudS5oIgogI2luY2x1ZGUgIldlYkV4dGVybmFsUG9wdXBNZW51Q2xp
ZW50LmgiCisjaW5jbHVkZSA8cHVibGljL1dlYkNhbnZhcy5oPgorI2luY2x1ZGUgPHB1YmxpYy9X
ZWJTY3JvbGxiYXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRnJhbWVWaWV3OwpA
QCAtNDUsNiArNDcsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkV4dGVybmFsUG9w
dXBNZW51OwogY2xhc3MgV2ViVmlld0NsaWVudDsKIHN0cnVjdCBXZWJQb3B1cE1lbnVJbmZvOwor
Y2xhc3MgV2ViSW5wdXRFdmVudDsKK2NsYXNzIFdlYlJlY3Q7CiAKIC8vIFRoZSBFeHRlcm5hbFBv
cHVwTWVudSBjb25uZWN0cyB0aGUgYWN0dWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBwb3B1cCBt
ZW51CiAvLyB0byB0aGUgV2ViQ29yZSBwb3B1cCBtZW51LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luU2Nyb2xsYmFySW1wbC5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5TY3JvbGxiYXJJbXBsLmNwcAppbmRleCBiMGY2M2E3
ZTRhMGQ2MTMxNGJhNTJiOGYyNjhhNGU2NDQ5MzVkODBhLi5mMzRkYmZkYzdlOWVhMjI5NjE5MWZj
ZjZjYTRlYjdhMDM2MWJiZWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJQbHVnaW5TY3JvbGxiYXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJQbHVnaW5TY3JvbGxiYXJJbXBsLmNwcApAQCAtNjksOCArNjksOCBAQCBXZWJQbHVn
aW5TY3JvbGxiYXJJbXBsOjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsKE9yaWVudGF0aW9uIG9yaWVu
dGF0aW9uLAogewogICAgIG1fc2Nyb2xsYmFyID0gU2Nyb2xsYmFyOjpjcmVhdGVOYXRpdmVTY3Jv
bGxiYXIoCiAgICAgICAgIHN0YXRpY19jYXN0PFNjcm9sbGFibGVBcmVhKj4obV9ncm91cCksCi0g
ICAgICAgIHN0YXRpY19jYXN0PFNjcm9sbGJhck9yaWVudGF0aW9uPihvcmllbnRhdGlvbiksCi0g
ICAgICAgIFJlZ3VsYXJTY3JvbGxiYXIpOworICAgICAgICBzdGF0aWNfY2FzdDxXZWJDb3JlOjpT
Y3JvbGxiYXJPcmllbnRhdGlvbj4ob3JpZW50YXRpb24pLAorICAgICAgICBXZWJDb3JlOjpSZWd1
bGFyU2Nyb2xsYmFyKTsKICAgICBtX2dyb3VwLT5zY3JvbGxiYXJDcmVhdGVkKHRoaXMpOwogfQog
CkBAIC0xMjMsNiArMTIzLDc4IEBAIGludCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjp2YWx1ZSgp
IGNvbnN0CiAgICAgcmV0dXJuIG1fc2Nyb2xsT2Zmc2V0OwogfQogCitXZWJQb2ludCBXZWJQbHVn
aW5TY3JvbGxiYXJJbXBsOjpsb2NhdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xs
YmFyLT5mcmFtZVJlY3QoKS5sb2NhdGlvbigpOworfQorCitXZWJTaXplIFdlYlBsdWdpblNjcm9s
bGJhckltcGw6OnNpemUoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+ZnJhbWVS
ZWN0KCkuc2l6ZSgpOworfQorCitib29sIFdlYlBsdWdpblNjcm9sbGJhckltcGw6OmVuYWJsZWQo
KSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+ZW5hYmxlZCgpOworfQorCitpbnQg
V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6bWF4aW11bSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1f
c2Nyb2xsYmFyLT5tYXhpbXVtKCk7Cit9CisKK2ludCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjp0
b3RhbFNpemUoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+dG90YWxTaXplKCk7
Cit9CisKK2Jvb2wgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxWaWV3U2Nyb2xsYmFy
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmlzU2Nyb2xsVmlld1Njcm9sbGJh
cigpOworfQorCitib29sIFdlYlBsdWdpblNjcm9sbGJhckltcGw6OmlzU2Nyb2xsYWJsZUFyZWFB
Y3RpdmUoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+aXNTY3JvbGxhYmxlQXJl
YUFjdGl2ZSgpOworfQorCit2b2lkIFdlYlBsdWdpblNjcm9sbGJhckltcGw6OmdldFRpY2ttYXJr
cyhXZWJWZWN0b3I8V2ViUmVjdD4mIHRpY2ttYXJrcykgY29uc3QKK3sKKyAgICBtX2NsaWVudC0+
Z2V0VGlja21hcmtzKGNvbnN0X2Nhc3Q8V2ViUGx1Z2luU2Nyb2xsYmFySW1wbCo+KHRoaXMpLCAm
dGlja21hcmtzKTsKK30KKworV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJDb250cm9sU2l6ZSBXZWJQ
bHVnaW5TY3JvbGxiYXJJbXBsOjpjb250cm9sU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyQ29udHJvbFNpemU+KG1fc2Nyb2xsYmFy
LT5jb250cm9sU2l6ZSgpKTsKK30KKworV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0IFdlYlBs
dWdpblNjcm9sbGJhckltcGw6OnByZXNzZWRQYXJ0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8V2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0PihtX3Njcm9sbGJhci0+cHJlc3Nl
ZFBhcnQoKSk7Cit9CisKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBXZWJQbHVnaW5TY3Jv
bGxiYXJJbXBsOjpob3ZlcmVkUGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0
PFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydD4obV9zY3JvbGxiYXItPmhvdmVyZWRQYXJ0KCkp
OworfQorCitXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlTdHlsZSBXZWJQbHVnaW5TY3Jv
bGxiYXJJbXBsOjpzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdAoreworICAgIHJldHVybiBz
dGF0aWNfY2FzdDxXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJsYXlTdHlsZT4obV9zY3JvbGxi
YXItPnNjcm9sbGJhck92ZXJsYXlTdHlsZSgpKTsKK30KKworV2ViU2Nyb2xsYmFyOjpPcmllbnRh
dGlvbiBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpvcmllbnRhdGlvbigpIGNvbnN0Cit7CisgICAg
aWYgKG1fc2Nyb2xsYmFyLT5vcmllbnRhdGlvbigpID09IFdlYkNvcmU6Okhvcml6b250YWxTY3Jv
bGxiYXIpCisgICAgICAgIHJldHVybiBXZWJTY3JvbGxiYXI6Okhvcml6b250YWw7CisgICAgcmV0
dXJuIFdlYlNjcm9sbGJhcjo6VmVydGljYWw7Cit9CisKK2Jvb2wgV2ViUGx1Z2luU2Nyb2xsYmFy
SW1wbDo6aXNDdXN0b21TY3JvbGxiYXIoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJh
ci0+aXNDdXN0b21TY3JvbGxiYXIoKTsKK30KKwogdm9pZCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBs
OjpzZXRMb2NhdGlvbihjb25zdCBXZWJSZWN0JiByZWN0KQogewogICAgIEludFJlY3Qgb2xkUmVj
dCA9IG1fc2Nyb2xsYmFyLT5mcmFtZVJlY3QoKTsKQEAgLTIxMSw3ICsyODMsNyBAQCBib29sIFdl
YlBsdWdpblNjcm9sbGJhckltcGw6Om9uTW91c2VEb3duKGNvbnN0IFdlYklucHV0RXZlbnQmIGV2
ZW50KQogYm9vbCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpvbk1vdXNlVXAoY29uc3QgV2ViSW5w
dXRFdmVudCYgZXZlbnQpCiB7CiAgICAgV2ViTW91c2VFdmVudCBtb3VzZXVwID0gKnN0YXRpY19j
YXN0PGNvbnN0IFdlYk1vdXNlRXZlbnQqPigmZXZlbnQpOwotICAgIGlmIChtX3Njcm9sbGJhci0+
cHJlc3NlZFBhcnQoKSA9PSBOb1BhcnQpCisgICAgaWYgKG1fc2Nyb2xsYmFyLT5wcmVzc2VkUGFy
dCgpID09IFdlYkNvcmU6Ok5vUGFydCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgcmV0
dXJuIG1fc2Nyb2xsYmFyLT5tb3VzZVVwKFBsYXRmb3JtTW91c2VFdmVudEJ1aWxkZXIobV9zY3Jv
bGxiYXIuZ2V0KCksIG1vdXNldXApKTsKQEAgLTIyMSwyMCArMjkzLDIwIEBAIGJvb2wgV2ViUGx1
Z2luU2Nyb2xsYmFySW1wbDo6b25Nb3VzZU1vdmUoY29uc3QgV2ViSW5wdXRFdmVudCYgZXZlbnQp
CiB7CiAgICAgV2ViTW91c2VFdmVudCBtb3VzZW1vdmUgPSAqc3RhdGljX2Nhc3Q8Y29uc3QgV2Vi
TW91c2VFdmVudCo+KCZldmVudCk7CiAgICAgaWYgKG1fc2Nyb2xsYmFyLT5mcmFtZVJlY3QoKS5j
b250YWlucyhtb3VzZW1vdmUueCwgbW91c2Vtb3ZlLnkpCi0gICAgICAgIHx8IG1fc2Nyb2xsYmFy
LT5wcmVzc2VkUGFydCgpICE9IE5vUGFydCkgeworICAgICAgICB8fCBtX3Njcm9sbGJhci0+cHJl
c3NlZFBhcnQoKSAhPSBXZWJDb3JlOjpOb1BhcnQpIHsKICAgICAgICAgbW91c2Vtb3ZlLnggLT0g
bV9zY3JvbGxiYXItPngoKTsKICAgICAgICAgbW91c2Vtb3ZlLnkgLT0gbV9zY3JvbGxiYXItPnko
KTsKICAgICAgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5tb3VzZU1vdmVkKFBsYXRmb3JtTW91c2VF
dmVudEJ1aWxkZXIobV9zY3JvbGxiYXIuZ2V0KCksIG1vdXNlbW92ZSkpOwogICAgIH0KIAotICAg
IGlmIChtX3Njcm9sbGJhci0+aG92ZXJlZFBhcnQoKSAhPSBOb1BhcnQgJiYgIW1fc2Nyb2xsYmFy
LT5pc092ZXJsYXlTY3JvbGxiYXIoKSkKKyAgICBpZiAobV9zY3JvbGxiYXItPmhvdmVyZWRQYXJ0
KCkgIT0gV2ViQ29yZTo6Tm9QYXJ0ICYmICFtX3Njcm9sbGJhci0+aXNPdmVybGF5U2Nyb2xsYmFy
KCkpCiAgICAgICAgIG1fc2Nyb2xsYmFyLT5tb3VzZUV4aXRlZCgpOwogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAogYm9vbCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpvbk1vdXNlTGVhdmUoY29uc3Qg
V2ViSW5wdXRFdmVudCYgZXZlbnQpCiB7Ci0gICAgaWYgKG1fc2Nyb2xsYmFyLT5ob3ZlcmVkUGFy
dCgpICE9IE5vUGFydCkKKyAgICBpZiAobV9zY3JvbGxiYXItPmhvdmVyZWRQYXJ0KCkgIT0gV2Vi
Q29yZTo6Tm9QYXJ0KQogICAgICAgICBtX3Njcm9sbGJhci0+bW91c2VFeGl0ZWQoKTsKIAogICAg
IHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlBsdWdpblNjcm9sbGJhckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBs
dWdpblNjcm9sbGJhckltcGwuaAppbmRleCBiNDJjYjgyZmQ5NWIzZmU4ZjI2NmZkMmRkNzFmMTUy
ZTE3MDI1NDM5Li5hMzQ3OTExNzI0N2I1OGNhYzIxYWZiYTFhNWEyZjY3NGQxM2NhN2M1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5TY3JvbGxiYXJJbXBs
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luU2Nyb2xsYmFySW1w
bC5oCkBAIC00OSw2ICs0OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0U2Nyb2xsT2Zmc2V0
KGludCk7CiAgICAgdm9pZCBpbnZhbGlkYXRlU2Nyb2xsYmFyUmVjdChjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0Jik7CisgICAgLy8gRklYTUU6IENvbWJpbmUgdGhpcyB3aXRoIHRoZSBvdGhlciBnZXRU
aWNrbWFya3MgbWV0aG9kCiAgICAgdm9pZCBnZXRUaWNrbWFya3MoVmVjdG9yPFdlYkNvcmU6Oklu
dFJlY3Q+JikgY29uc3Q7CiAgICAgV2ViQ29yZTo6SW50UG9pbnQgY29udmVydEZyb21Db250YWlu
aW5nVmlld1RvU2Nyb2xsYmFyKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwYXJlbnRQb2ludCkg
Y29uc3Q7CiAgICAgdm9pZCBzY3JvbGxiYXJTdHlsZUNoYW5nZWQoKTsKQEAgLTU5LDYgKzYwLDIw
IEBAIHB1YmxpYzoKICAgICAvLyBXZWJLaXQ6OldlYlNjcm9sbGJhciBtZXRob2RzCiAgICAgdmly
dHVhbCBib29sIGlzT3ZlcmxheSgpIGNvbnN0OwogICAgIHZpcnR1YWwgaW50IHZhbHVlKCkgY29u
c3Q7CisgICAgdmlydHVhbCBXZWJQb2ludCBsb2NhdGlvbigpIGNvbnN0OworICAgIHZpcnR1YWwg
V2ViU2l6ZSBzaXplKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGVuYWJsZWQoKSBjb25zdDsK
KyAgICB2aXJ0dWFsIGludCBtYXhpbXVtKCkgY29uc3Q7CisgICAgdmlydHVhbCBpbnQgdG90YWxT
aXplKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsVmlld1Njcm9sbGJhcigpIGNv
bnN0OworICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbGFibGVBcmVhQWN0aXZlKCkgY29uc3Q7Cisg
ICAgdmlydHVhbCB2b2lkIGdldFRpY2ttYXJrcyhXZWJWZWN0b3I8V2ViUmVjdD4mIHRpY2ttYXJr
cykgY29uc3Q7CisgICAgdmlydHVhbCBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhckNvbnRyb2xTaXpl
IGNvbnRyb2xTaXplKCkgY29uc3Q7CisgICAgdmlydHVhbCBXZWJTY3JvbGxiYXI6OlNjcm9sbGJh
clBhcnQgcHJlc3NlZFBhcnQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYlNjcm9sbGJhcjo6U2Ny
b2xsYmFyUGFydCBob3ZlcmVkUGFydCgpIGNvbnN0OworICAgIHZpcnR1YWwgV2ViU2Nyb2xsYmFy
OjpTY3JvbGxiYXJPdmVybGF5U3R5bGUgc2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkgY29uc3Q7Cisg
ICAgdmlydHVhbCBXZWJTY3JvbGxiYXI6Ok9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3Q7
CisgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3Q7CiAKICAgICAvLyBX
ZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhciBtZXRob2RzCiAgICAgdmlydHVhbCB2b2lkIHNldExv
Y2F0aW9uKGNvbnN0IFdlYlJlY3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlNjcm9sbGJhckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViU2Nyb2xsYmFySW1wbC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzNiOTI2OTdlNTIyNGI2YTBlMDY4YzFi
YTM1MDNkYjlkMzhhODQ2YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlNjcm9sbGJhckltcGwuY3BwCkBAIC0wLDAgKzEsMTMxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlICJXZWJTY3JvbGxiYXJJbXBsLmgi
CisKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitQYXNzT3duUHRyPFdlYlNjcm9sbGJhcj4gV2ViU2Nyb2xsYmFyOjpj
cmVhdGUoV2ViQ29yZTo6U2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBXZWJTY3JvbGxiYXJJbXBsKHNjcm9sbGJhcikpOworfQorCitXZWJTY3JvbGxiYXJJ
bXBsOjpXZWJTY3JvbGxiYXJJbXBsKFdlYkNvcmU6OlNjcm9sbGJhciogc2Nyb2xsYmFyKQorICAg
IDogbV9zY3JvbGxiYXIoc2Nyb2xsYmFyKQoreworfQorCitib29sIFdlYlNjcm9sbGJhckltcGw6
OmlzT3ZlcmxheSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5pc092ZXJsYXlT
Y3JvbGxiYXIoKTsKK30KKworaW50IFdlYlNjcm9sbGJhckltcGw6OnZhbHVlKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9zY3JvbGxiYXItPnZhbHVlKCk7Cit9CisKK1dlYlBvaW50IFdlYlNjcm9s
bGJhckltcGw6OmxvY2F0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmxv
Y2F0aW9uKCk7Cit9CisKK1dlYlNpemUgV2ViU2Nyb2xsYmFySW1wbDo6c2l6ZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5zaXplKCk7Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFy
SW1wbDo6ZW5hYmxlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5lbmFibGVk
KCk7Cit9CisKK2ludCBXZWJTY3JvbGxiYXJJbXBsOjptYXhpbXVtKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9zY3JvbGxiYXItPm1heGltdW0oKTsKK30KKworaW50IFdlYlNjcm9sbGJhckltcGw6
OnRvdGFsU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT50b3RhbFNpemUo
KTsKK30KKworYm9vbCBXZWJTY3JvbGxiYXJJbXBsOjppc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBj
b25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCk7
Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5pc1Njcm9sbGFibGVBcmVhQWN0aXZlKCk7
Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFySW1wbDo6Z2V0VGlja21hcmtzKFdlYlZlY3RvcjxXZWJS
ZWN0PiYgd2ViVGlja21hcmtzKSBjb25zdAoreworICAgIFZlY3RvcjxXZWJDb3JlOjpJbnRSZWN0
PiB0aWNrbWFya3M7CisgICAgbV9zY3JvbGxiYXItPmdldFRpY2ttYXJrcyh0aWNrbWFya3MpOwor
CisgICAgV2ViVmVjdG9yPFdlYlJlY3Q+IHJlc3VsdCh0aWNrbWFya3Muc2l6ZSgpKTsKKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IHRpY2ttYXJrcy5zaXplKCk7ICsraSkKKyAgICAgICAgcmVz
dWx0W2ldID0gdGlja21hcmtzW2ldOworCisgICAgd2ViVGlja21hcmtzLnN3YXAocmVzdWx0KTsK
K30KKworV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJDb250cm9sU2l6ZSBXZWJTY3JvbGxiYXJJbXBs
Ojpjb250cm9sU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYlNjcm9s
bGJhcjo6U2Nyb2xsYmFyQ29udHJvbFNpemU+KG1fc2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpKTsK
K30KKworV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0IFdlYlNjcm9sbGJhckltcGw6OnByZXNz
ZWRQYXJ0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViU2Nyb2xsYmFyOjpT
Y3JvbGxiYXJQYXJ0PihtX3Njcm9sbGJhci0+cHJlc3NlZFBhcnQoKSk7Cit9CisKK1dlYlNjcm9s
bGJhcjo6U2Nyb2xsYmFyUGFydCBXZWJTY3JvbGxiYXJJbXBsOjpob3ZlcmVkUGFydCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydD4o
bV9zY3JvbGxiYXItPmhvdmVyZWRQYXJ0KCkpOworfQorCitXZWJTY3JvbGxiYXI6OlNjcm9sbGJh
ck92ZXJsYXlTdHlsZSBXZWJTY3JvbGxiYXJJbXBsOjpzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBj
b25zdAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92
ZXJsYXlTdHlsZT4obV9zY3JvbGxiYXItPnNjcm9sbGJhck92ZXJsYXlTdHlsZSgpKTsKK30KKwor
V2ViU2Nyb2xsYmFyOjpPcmllbnRhdGlvbiBXZWJTY3JvbGxiYXJJbXBsOjpvcmllbnRhdGlvbigp
IGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYlNjcm9sbGJhcjo6T3JpZW50YXRp
b24+KG1fc2Nyb2xsYmFyLT5vcmllbnRhdGlvbigpKTsKK30KKworYm9vbCBXZWJTY3JvbGxiYXJJ
bXBsOjppc0N1c3RvbVNjcm9sbGJhcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFy
LT5pc0N1c3RvbVNjcm9sbGJhcigpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhckltcGwuaCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhckltcGwuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
NzhmOWIwOTkyYmFlY2Y5ZDI3MDE1NTI1NjNjMTE2ZjIzOGE4OTkzCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFySW1wbC5oCkBAIC0wLDAg
KzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViU2Nyb2xsYmFySW1wbF9oCisjZGVm
aW5lIFdlYlNjcm9sbGJhckltcGxfaAorCisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBTY3JvbGxiYXI7Cit9CisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitjbGFzcyBXZWJTY3JvbGxiYXJJbXBsIDogcHVibGljIFdlYlNjcm9sbGJh
ciB7CitwdWJsaWM6CisgICAgV2ViU2Nyb2xsYmFySW1wbChXZWJDb3JlOjpTY3JvbGxiYXIqKTsK
KworICAgIC8vIEltcGxlbWVudCBXZWJLaXQ6OldlYlNjcm9sbGJhciBtZXRob2RzCisgICAgdmly
dHVhbCBib29sIGlzT3ZlcmxheSgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50IHZhbHVlKCkgY29u
c3Q7CisgICAgdmlydHVhbCBXZWJQb2ludCBsb2NhdGlvbigpIGNvbnN0OworICAgIHZpcnR1YWwg
V2ViU2l6ZSBzaXplKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGVuYWJsZWQoKSBjb25zdDsK
KyAgICB2aXJ0dWFsIGludCBtYXhpbXVtKCkgY29uc3Q7CisgICAgdmlydHVhbCBpbnQgdG90YWxT
aXplKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsVmlld1Njcm9sbGJhcigpIGNv
bnN0OworICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbGFibGVBcmVhQWN0aXZlKCkgY29uc3Q7Cisg
ICAgdmlydHVhbCB2b2lkIGdldFRpY2ttYXJrcyhXZWJWZWN0b3I8V2ViUmVjdD4mIHRpY2ttYXJr
cykgY29uc3Q7CisgICAgdmlydHVhbCBTY3JvbGxiYXJDb250cm9sU2l6ZSBjb250cm9sU2l6ZSgp
IGNvbnN0OworICAgIHZpcnR1YWwgU2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCgpIGNvbnN0Owor
ICAgIHZpcnR1YWwgU2Nyb2xsYmFyUGFydCBob3ZlcmVkUGFydCgpIGNvbnN0OworICAgIHZpcnR1
YWwgU2Nyb2xsYmFyT3ZlcmxheVN0eWxlIHNjcm9sbGJhck92ZXJsYXlTdHlsZSgpIGNvbnN0Owor
ICAgIHZpcnR1YWwgT3JpZW50YXRpb24gb3JpZW50YXRpb24oKSBjb25zdDsKKyAgICB2aXJ0dWFs
IGJvb2wgaXNDdXN0b21TY3JvbGxiYXIoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8
V2ViQ29yZTo6U2Nyb2xsYmFyPiBtX3Njcm9sbGJhcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4Yzk0NThkMDZj
MTgyMjVlZTNlYTg0MTljOGIwYTI3ZTM2MWFjMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwuY3BwCkBAIC0w
LDAgKzEsMjIxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YK
KyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSAiV2Vi
U2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpXZWJT
Y3JvbGxiYXJUaGVtZUNsaWVudEltcGwoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCisgICAgOiBt
X3Njcm9sbGJhcihzY3JvbGxiYXIpCit7Cit9CisKK2ludCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVu
dEltcGw6OngoKSBjb25zdAoreworICAgIHJldHVybiBsb2NhdGlvbigpLngoKTsKK30KKworaW50
IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6eSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGxv
Y2F0aW9uKCkueSgpOworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjp3aWR0
aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHNpemUoKS53aWR0aCgpOworfQorCitpbnQgV2ViU2Ny
b2xsYmFyVGhlbWVDbGllbnRJbXBsOjpoZWlnaHQoKSBjb25zdAoreworICAgIHJldHVybiBzaXpl
KCkuaGVpZ2h0KCk7Cit9CisKK0ludFNpemUgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpz
aXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPnNpemUoKTsKK30KKworSW50
UG9pbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpsb2NhdGlvbigpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5sb2NhdGlvbigpOworfQorCitTY3JvbGxWaWV3KiBXZWJT
Y3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnBhcmVudCgpIGNvbnN0Cit7CisgICAgLy8gVW51c2Vk
IGJ5IENocm9taXVtIHNjcm9sbGJhciB0aGVtZXMuCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgcmV0dXJuIDA7Cit9CisKK1Njcm9sbFZpZXcqIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50
SW1wbDo6cm9vdCgpIGNvbnN0Cit7CisgICAgLy8gVW51c2VkIGJ5IENocm9taXVtIHNjcm9sbGJh
ciB0aGVtZXMuCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7Cit9CisK
K3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpzZXRGcmFtZVJlY3QoY29uc3QgSW50
UmVjdCYpCit7CisgICAgLy8gVW51c2VkIGJ5IENocm9taXVtIHNjcm9sbGJhciB0aGVtZXMuCisg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK0ludFJlY3QgV2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsOjpmcmFtZVJlY3QoKSBjb25zdAoreworICAgIHJldHVybiBJbnRSZWN0KGxvY2F0
aW9uKCksIHNpemUoKSk7Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpp
bnZhbGlkYXRlKCkKK3sKKyAgICAvLyBVbnVzZWQgYnkgQ2hyb21pdW0gc2Nyb2xsYmFyIHRoZW1l
cy4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGw6OmludmFsaWRhdGVSZWN0KGNvbnN0IEludFJlY3QmKQoreworICAgIC8vIFVu
dXNlZCBieSBDaHJvbWl1bSBzY3JvbGxiYXIgdGhlbWVzLgorICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworfQorCitXZWJDb3JlOjpTY3JvbGxiYXJPdmVybGF5U3R5bGUgV2ViU2Nyb2xsYmFyVGhl
bWVDbGllbnRJbXBsOjpzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdAoreworICAgIHJldHVy
biBzdGF0aWNfY2FzdDxXZWJDb3JlOjpTY3JvbGxiYXJPdmVybGF5U3R5bGU+KG1fc2Nyb2xsYmFy
LT5zY3JvbGxiYXJPdmVybGF5U3R5bGUoKSk7Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsOjpnZXRUaWNrbWFya3MoVmVjdG9yPEludFJlY3Q+JiB0aWNrbWFya3MpIGNvbnN0
Cit7CisgICAgV2ViVmVjdG9yPFdlYlJlY3Q+IHdlYlRpY2ttYXJrczsKKyAgICBtX3Njcm9sbGJh
ci0+Z2V0VGlja21hcmtzKHdlYlRpY2ttYXJrcyk7CisgICAgdGlja21hcmtzLnJlc2l6ZSh3ZWJU
aWNrbWFya3Muc2l6ZSgpKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHdlYlRpY2ttYXJr
cy5zaXplKCk7ICsraSkKKyAgICAgICAgdGlja21hcmtzW2ldID0gd2ViVGlja21hcmtzW2ldOwor
fQorCitib29sIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aXNTY3JvbGxhYmxlQXJlYUFj
dGl2ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5pc1Njcm9sbGFibGVBcmVh
QWN0aXZlKCk7Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjppc1Njcm9s
bFZpZXdTY3JvbGxiYXIoKSBjb25zdAoreworICAgIC8vIFVudXNlZCBieSBDaHJvbWl1bSBzY3Jv
bGxiYXIgdGhlbWVzLgorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBmYWxz
ZTsKK30KKworSW50UG9pbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpjb252ZXJ0RnJv
bUNvbnRhaW5pbmdXaW5kb3coY29uc3QgSW50UG9pbnQmIHdpbmRvd1BvaW50KQoreworICAgIC8v
IFVudXNlZCBieSBDaHJvbWl1bSBzY3JvbGxiYXIgdGhlbWVzLgorICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIHJldHVybiB3aW5kb3dQb2ludDsKK30KKworYm9vbCBXZWJTY3JvbGxiYXJU
aGVtZUNsaWVudEltcGw6OmlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9zY3JvbGxiYXItPmlzQ3VzdG9tU2Nyb2xsYmFyKCk7Cit9CisKK1dlYkNvcmU6OlNjcm9sbGJh
ck9yaWVudGF0aW9uIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6b3JpZW50YXRpb24oKSBj
b25zdAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJDb3JlOjpTY3JvbGxiYXJPcmllbnRh
dGlvbj4obV9zY3JvbGxiYXItPm9yaWVudGF0aW9uKCkpOworfQorCitpbnQgV2ViU2Nyb2xsYmFy
VGhlbWVDbGllbnRJbXBsOjp2YWx1ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFy
LT52YWx1ZSgpOworfQorCitmbG9hdCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmN1cnJl
bnRQb3MoKSBjb25zdAoreworICAgIHJldHVybiB2YWx1ZSgpOworfQorCitpbnQgV2ViU2Nyb2xs
YmFyVGhlbWVDbGllbnRJbXBsOjp2aXNpYmxlU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRv
dGFsU2l6ZSgpIC0gbWF4aW11bSgpOworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJ
bXBsOjp0b3RhbFNpemUoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+dG90YWxT
aXplKCk7Cit9CisKK2ludCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6Om1heGltdW0oKSBj
b25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+bWF4aW11bSgpOworfQorCitXZWJDb3Jl
OjpTY3JvbGxiYXJDb250cm9sU2l6ZSBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmNvbnRy
b2xTaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U2Nyb2xs
YmFyQ29udHJvbFNpemU+KG1fc2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpKTsKK30KKworaW50IFdl
YlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6bGluZVN0ZXAoKSBjb25zdAoreworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhl
bWVDbGllbnRJbXBsOjpwYWdlU3RlcCgpIGNvbnN0Cit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgcmV0dXJuIDA7Cit9CisKK1dlYkNvcmU6OlNjcm9sbGJhclBhcnQgV2ViU2Nyb2xs
YmFyVGhlbWVDbGllbnRJbXBsOjpwcmVzc2VkUGFydCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFdlYkNvcmU6OlNjcm9sbGJhclBhcnQ+KG1fc2Nyb2xsYmFyLT5wcmVzc2VkUGFy
dCgpKTsKK30KKworV2ViQ29yZTo6U2Nyb2xsYmFyUGFydCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVu
dEltcGw6OmhvdmVyZWRQYXJ0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2Vi
Q29yZTo6U2Nyb2xsYmFyUGFydD4obV9zY3JvbGxiYXItPmhvdmVyZWRQYXJ0KCkpOworfQorCit2
b2lkIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6c3R5bGVDaGFuZ2VkKCkKK3sKKyAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworYm9vbCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudElt
cGw6OmVuYWJsZWQoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+ZW5hYmxlZCgp
OworfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6c2V0RW5hYmxlZChib29s
KQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCitib29sIFdlYlNjcm9sbGJhclRo
ZW1lQ2xpZW50SW1wbDo6aXNPdmVybGF5U2Nyb2xsYmFyKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9zY3JvbGxiYXItPmlzT3ZlcmxheSgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhclRoZW1lQ2xp
ZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWRkMjYyNjk0ZmQzMjNjMTQxNmYzMmE0ZDg4M2M1MGI3
NDM5NGVkZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbC5oCkBAIC0wLDAgKzEsOTkgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMK
KyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbF9oCisjZGVmaW5lIFdlYlNjcm9sbGJhclRo
ZW1lQ2xpZW50SW1wbF9oCisKKyNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZUNsaWVudC5oIgorI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXIuaD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUu
aD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgU2Nyb2xsVmlldzsKK30KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKKy8vIEFkYXB0cyBhIFdlYlNjcm9sbGJhciB0byB0aGUgU2Nyb2xsYmFy
VGhlbWVDbGllbnQgaW50ZXJmYWNlCitjbGFzcyBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwg
OiBwdWJsaWMgV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDbGllbnQgeworICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCk7CitwdWJsaWM6CisgICAgLy8g
Q2FsbGVyIG11c3QgcmV0YWluIG93bmVyc2hpcCBvZiB0aGlzIHBvaW50ZXIgYW5kIGVuc3VyZSB0
aGF0IGl0cyBsaWZldGltZQorICAgIC8vIGV4Y2VlZHMgdGhpcyBpbnN0YW5jZS4KKyAgICBXZWJT
Y3JvbGxiYXJUaGVtZUNsaWVudEltcGwoV2ViU2Nyb2xsYmFyKik7CisKKyAgICB2aXJ0dWFsIGlu
dCB4KCkgY29uc3Q7CisgICAgdmlydHVhbCBpbnQgeSgpIGNvbnN0OworICAgIHZpcnR1YWwgaW50
IHdpZHRoKCkgY29uc3Q7CisgICAgdmlydHVhbCBpbnQgaGVpZ2h0KCkgY29uc3Q7CisgICAgdmly
dHVhbCBXZWJDb3JlOjpJbnRTaXplIHNpemUoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6
OkludFBvaW50IGxvY2F0aW9uKCkgY29uc3Q7CisKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNjcm9s
bFZpZXcqIHBhcmVudCgpIGNvbnN0OworICAgIHZpcnR1YWwgV2ViQ29yZTo6U2Nyb2xsVmlldyog
cm9vdCgpIGNvbnN0OworCisgICAgdmlydHVhbCB2b2lkIHNldEZyYW1lUmVjdChjb25zdCBXZWJD
b3JlOjpJbnRSZWN0Jik7CisgICAgdmlydHVhbCBXZWJDb3JlOjpJbnRSZWN0IGZyYW1lUmVjdCgp
IGNvbnN0OworCisgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGUoKTsKKyAgICB2aXJ0dWFsIHZv
aWQgaW52YWxpZGF0ZVJlY3QoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOworCisgICAgdmlydHVh
bCBXZWJDb3JlOjpTY3JvbGxiYXJPdmVybGF5U3R5bGUgc2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkg
Y29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGdldFRpY2ttYXJrcyhWZWN0b3I8V2ViQ29yZTo6SW50
UmVjdD4mKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSgp
IGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBjb25zdDsK
KworICAgIHZpcnR1YWwgV2ViQ29yZTo6SW50UG9pbnQgY29udmVydEZyb21Db250YWluaW5nV2lu
ZG93KGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jik7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNDdXN0
b21TY3JvbGxiYXIoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNjcm9sbGJhck9yaWVu
dGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3Q7CisKKyAgICB2aXJ0dWFsIGludCB2YWx1ZSgpIGNv
bnN0OworICAgIHZpcnR1YWwgZmxvYXQgY3VycmVudFBvcygpIGNvbnN0OworICAgIHZpcnR1YWwg
aW50IHZpc2libGVTaXplKCkgY29uc3Q7CisgICAgdmlydHVhbCBpbnQgdG90YWxTaXplKCkgY29u
c3Q7CisgICAgdmlydHVhbCBpbnQgbWF4aW11bSgpIGNvbnN0OworICAgIHZpcnR1YWwgV2ViQ29y
ZTo6U2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUoKSBjb25zdDsKKworICAgIHZpcnR1
YWwgaW50IGxpbmVTdGVwKCkgY29uc3Q7CisgICAgdmlydHVhbCBpbnQgcGFnZVN0ZXAoKSBjb25z
dDsKKworICAgIHZpcnR1YWwgV2ViQ29yZTo6U2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCgpIGNv
bnN0OworICAgIHZpcnR1YWwgV2ViQ29yZTo6U2Nyb2xsYmFyUGFydCBob3ZlcmVkUGFydCgpIGNv
bnN0OworCisgICAgdmlydHVhbCB2b2lkIHN0eWxlQ2hhbmdlZCgpOworCisgICAgdmlydHVhbCBi
b29sIGVuYWJsZWQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RW5hYmxlZChib29sKTsK
KworICAgIHZpcnR1YWwgYm9vbCBpc092ZXJsYXlTY3JvbGxiYXIoKSBjb25zdDsKKworcHJpdmF0
ZToKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhciogbV9zY3JvbGxiYXI7Cit9OworCit9CisKKyNl
bmRpZiAvLyBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGxfaApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43ZTA5MDllZjBjZGIyMmJhMWU4N2MxOTBmZGI2YTQwZTlhMmQzMGVmCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeS5jcHAKQEAgLTAsMCArMSwxNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5oPgorCisjaW5j
bHVkZSAiU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuaCIKKyNpbmNsdWRlICJXZWJTY3JvbGxiYXJU
aGVtZUNsaWVudEltcGwuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViUmVjdC5oPgorI2luY2x1ZGUg
PHB1YmxpYy9XZWJTY3JvbGxiYXIuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OmFzc2ln
bihjb25zdCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5JiBnZW9tZXRyeSkKK3sKKyAgICAvLyBU
aGlzIGlzIGEgcG9pbnRlciB0byBhIHN0YXRpYyBvYmplY3QsIHNvIG5vIG93bmVyc2hpcCB0cmFu
c2ZlcnJhbC4KKyAgICBtX3RoZW1lID0gZ2VvbWV0cnkubV90aGVtZTsKK30KKworaW50IFdlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnk6OnRodW1iUG9zaXRpb24oV2ViU2Nyb2xsYmFyKiBzY3JvbGxi
YXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIp
OworICAgIHJldHVybiBtX3RoZW1lLT50aHVtYlBvc2l0aW9uKCZjbGllbnQpOworfQorCitpbnQg
V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6dGh1bWJMZW5ndGgoV2ViU2Nyb2xsYmFyKiBzY3Jv
bGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxi
YXIpOworICAgIHJldHVybiBtX3RoZW1lLT50aHVtYkxlbmd0aCgmY2xpZW50KTsKK30KKworaW50
IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnRyYWNrUG9zaXRpb24oV2ViU2Nyb2xsYmFyKiBz
Y3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3Jv
bGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT50cmFja1Bvc2l0aW9uKCZjbGllbnQpOworfQor
CitpbnQgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6dHJhY2tMZW5ndGgoV2ViU2Nyb2xsYmFy
KiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChz
Y3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT50cmFja0xlbmd0aCgmY2xpZW50KTsKK30K
KworYm9vbCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjpoYXNCdXR0b25zKFdlYlNjcm9sbGJh
ciogc2Nyb2xsYmFyKQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQo
c2Nyb2xsYmFyKTsKKyAgICByZXR1cm4gbV90aGVtZS0+aGFzQnV0dG9ucygmY2xpZW50KTsKK30K
KworYm9vbCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjpoYXNUaHVtYihXZWJTY3JvbGxiYXIq
IHNjcm9sbGJhcikKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNj
cm9sbGJhcik7CisgICAgcmV0dXJuIG1fdGhlbWUtPmhhc1RodW1iKCZjbGllbnQpOworfQorCitX
ZWJSZWN0IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnRyYWNrUmVjdChXZWJTY3JvbGxiYXIq
IHNjcm9sbGJhcikKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNj
cm9sbGJhcik7CisgICAgcmV0dXJuIG1fdGhlbWUtPnRyYWNrUmVjdCgmY2xpZW50KTsKK30KKwor
V2ViUmVjdCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp0aHVtYlJlY3QoV2ViU2Nyb2xsYmFy
KiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChz
Y3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT50aHVtYlJlY3QoJmNsaWVudCk7Cit9CisK
K2ludCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjptaW5pbXVtVGh1bWJMZW5ndGgoV2ViU2Ny
b2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNs
aWVudChzY3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT5taW5pbXVtVGh1bWJMZW5ndGgo
JmNsaWVudCk7Cit9CisKK2ludCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjpzY3JvbGxiYXJU
aGlja25lc3MoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhl
bWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT5zY3Jv
bGxiYXJUaGlja25lc3MoY2xpZW50LmNvbnRyb2xTaXplKCkpOworfQorCitXZWJSZWN0IFdlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnk6OmJhY2tCdXR0b25TdGFydFJlY3QoV2ViU2Nyb2xsYmFyKiBz
Y3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3Jv
bGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT5iYWNrQnV0dG9uUmVjdCgmY2xpZW50LCBCYWNr
QnV0dG9uU3RhcnRQYXJ0LCBmYWxzZSk7Cit9CisKK1dlYlJlY3QgV2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeTo6YmFja0J1dHRvbkVuZFJlY3QoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7Cisg
ICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIHJl
dHVybiBtX3RoZW1lLT5iYWNrQnV0dG9uUmVjdCgmY2xpZW50LCBCYWNrQnV0dG9uRW5kUGFydCwg
ZmFsc2UpOworfQorCitXZWJSZWN0IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OmZvcndhcmRC
dXR0b25TdGFydFJlY3QoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xs
YmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1l
LT5mb3J3YXJkQnV0dG9uUmVjdCgmY2xpZW50LCBGb3J3YXJkQnV0dG9uU3RhcnRQYXJ0LCBmYWxz
ZSk7Cit9CisKK1dlYlJlY3QgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6Zm9yd2FyZEJ1dHRv
bkVuZFJlY3QoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhl
bWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT5mb3J3
YXJkQnV0dG9uUmVjdCgmY2xpZW50LCBGb3J3YXJkQnV0dG9uRW5kUGFydCwgZmFsc2UpOworfQor
CitXZWJSZWN0IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OmNvbnN0cmFpblRyYWNrUmVjdFRv
VHJhY2tQaWVjZXMoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHJlY3Qp
Cit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOwor
ICAgIHJldHVybiBtX3RoZW1lLT5jb25zdHJhaW5UcmFja1JlY3RUb1RyYWNrUGllY2VzKCZjbGll
bnQsIEludFJlY3QocmVjdCkpOworfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6
OnNwbGl0VHJhY2soV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHdlYlRy
YWNrLCBXZWJSZWN0JiB3ZWJTdGFydFRyYWNrLCBXZWJSZWN0JiB3ZWJUaHVtYiwgV2ViUmVjdCYg
d2ViRW5kVHJhY2spCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChz
Y3JvbGxiYXIpOworICAgIEludFJlY3QgdHJhY2sod2ViVHJhY2spOworICAgIEludFJlY3Qgc3Rh
cnRUcmFjazsKKyAgICBJbnRSZWN0IHRodW1iOworICAgIEludFJlY3QgZW5kVHJhY2s7CisgICAg
bV90aGVtZS0+c3BsaXRUcmFjaygmY2xpZW50LCB0cmFjaywgc3RhcnRUcmFjaywgdGh1bWIsIGVu
ZFRyYWNrKTsKKworICAgIHdlYlN0YXJ0VHJhY2sgPSBzdGFydFRyYWNrOworICAgIHdlYlRodW1i
ID0gdGh1bWI7CisgICAgd2ViRW5kVHJhY2sgPSBlbmRUcmFjazsKK30KKworV2ViU2Nyb2xsYmFy
VGhlbWVHZW9tZXRyeTo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeShXZWJDb3JlOjpTY3JvbGxi
YXJUaGVtZUNvbXBvc2l0ZSogdGhlbWUpCisgICAgOiBtX3RoZW1lKHRoZW1lKQoreworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyMmJmY2Q2YzA2
OTc1ZWViZmZmNmMzN2QxOTU5MWFiZTkxYjk4NDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuY3BwCkBAIC0wLDAg
KzEsMTQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAq
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSA8cHVibGlj
L1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5oPgorCisjaW5jbHVkZSAiUGxhdGZvcm1Db250ZXh0
U2tpYS5oIgorI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLmgiCisjaW5jbHVkZSAi
V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYlJlY3Qu
aD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZVBh
aW50ZXI6OmFzc2lnbihjb25zdCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXImIHBhaW50ZXIpCit7
CisgICAgLy8gVGhpcyBpcyBhIHBvaW50ZXIgdG8gYSBzdGF0aWMgb2JqZWN0LCBzbyBubyBvd25l
cnNoaXAgdHJhbnNmZXJyYWwuCisgICAgbV90aGVtZSA9IHBhaW50ZXIubV90aGVtZTsKK30KKwor
dm9pZCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50U2Nyb2xsYmFyQmFja2dyb3VuZChX
ZWJDYW52YXMqIGNhbnZhcywgV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3Qm
IHJlY3QpCit7CisgICAgU2tSZWN0IGNsaXAgPSBTa1JlY3Q6Ok1ha2VYWVdIKHJlY3QueCwgcmVj
dC55LCByZWN0LndpZHRoLCByZWN0LmhlaWdodCk7CisgICAgY2FudmFzLT5jbGlwUmVjdChjbGlw
KTsKKworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsK
KyAgICBQbGF0Zm9ybUNvbnRleHRTa2lhIHBsYXRmb3JtQ29udGV4dChjYW52YXMpOworICAgIHBs
YXRmb3JtQ29udGV4dC5zZXREcmF3aW5nVG9JbWFnZUJ1ZmZlcih0cnVlKTsKKyAgICBHcmFwaGlj
c0NvbnRleHQgY29udGV4dCgmcGxhdGZvcm1Db250ZXh0KTsKKyAgICBtX3RoZW1lLT5wYWludFNj
cm9sbGJhckJhY2tncm91bmQoJmNvbnRleHQsICZjbGllbnQpOworfQorCit2b2lkIFdlYlNjcm9s
bGJhclRoZW1lUGFpbnRlcjo6cGFpbnRUcmFja0JhY2tncm91bmQoV2ViQ2FudmFzKiBjYW52YXMs
IFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiByZWN0KQoreworICAgIFdl
YlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICBQbGF0Zm9y
bUNvbnRleHRTa2lhIHBsYXRmb3JtQ29udGV4dChjYW52YXMpOworICAgIHBsYXRmb3JtQ29udGV4
dC5zZXREcmF3aW5nVG9JbWFnZUJ1ZmZlcih0cnVlKTsKKyAgICBHcmFwaGljc0NvbnRleHQgY29u
dGV4dCgmcGxhdGZvcm1Db250ZXh0KTsKKyAgICBtX3RoZW1lLT5wYWludFRyYWNrQmFja2dyb3Vu
ZCgmY29udGV4dCwgJmNsaWVudCwgSW50UmVjdChyZWN0KSk7Cit9CisKK3ZvaWQgV2ViU2Nyb2xs
YmFyVGhlbWVQYWludGVyOjpwYWludEJhY2tUcmFja1BhcnQoV2ViQ2FudmFzKiBjYW52YXMsIFdl
YlNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiByZWN0KQoreworICAgIFdlYlNj
cm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICBQbGF0Zm9ybUNv
bnRleHRTa2lhIHBsYXRmb3JtQ29udGV4dChjYW52YXMpOworICAgIHBsYXRmb3JtQ29udGV4dC5z
ZXREcmF3aW5nVG9JbWFnZUJ1ZmZlcih0cnVlKTsKKyAgICBHcmFwaGljc0NvbnRleHQgY29udGV4
dCgmcGxhdGZvcm1Db250ZXh0KTsKKyAgICBtX3RoZW1lLT5wYWludFRyYWNrUGllY2UoJmNvbnRl
eHQsICZjbGllbnQsIEludFJlY3QocmVjdCksIFdlYkNvcmU6OkJhY2tUcmFja1BhcnQpOworfQor
Cit2b2lkIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRGb3J3YXJkVHJhY2tQYXJ0KFdl
YkNhbnZhcyogY2FudmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYg
cmVjdCkKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJh
cik7CisgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKKyAg
ICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CisgICAgR3Jh
cGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAgbV90aGVtZS0+cGFp
bnRUcmFja1BpZWNlKCZjb250ZXh0LCAmY2xpZW50LCBJbnRSZWN0KHJlY3QpLCBXZWJDb3JlOjpG
b3J3YXJkVHJhY2tQYXJ0KTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBh
aW50QmFja0J1dHRvblN0YXJ0KFdlYkNhbnZhcyogY2FudmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9s
bGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVu
dEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9y
bUNvbnRleHQoY2FudmFzKTsKKyAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VC
dWZmZXIodHJ1ZSk7CisgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4
dCk7CisgICAgbV90aGVtZS0+cGFpbnRCdXR0b24oJmNvbnRleHQsICZjbGllbnQsIEludFJlY3Qo
cmVjdCksIFdlYkNvcmU6OkJhY2tCdXR0b25TdGFydFBhcnQpOworfQorCit2b2lkIFdlYlNjcm9s
bGJhclRoZW1lUGFpbnRlcjo6cGFpbnRCYWNrQnV0dG9uRW5kKFdlYkNhbnZhcyogY2FudmFzLCBX
ZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3sKKyAgICBXZWJT
Y3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgUGxhdGZvcm1D
b250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKKyAgICBwbGF0Zm9ybUNvbnRleHQu
c2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CisgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRl
eHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAgbV90aGVtZS0+cGFpbnRCdXR0b24oJmNvbnRleHQs
ICZjbGllbnQsIEludFJlY3QocmVjdCksIFdlYkNvcmU6OkJhY2tCdXR0b25FbmRQYXJ0KTsKK30K
Kwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50Rm9yd2FyZEJ1dHRvblN0YXJ0
KFdlYkNhbnZhcyogY2FudmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2ViUmVj
dCYgcmVjdCkKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9s
bGJhcik7CisgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsK
KyAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CisgICAg
R3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAgbV90aGVtZS0+
cGFpbnRCdXR0b24oJmNvbnRleHQsICZjbGllbnQsIEludFJlY3QocmVjdCksIFdlYkNvcmU6OkZv
cndhcmRCdXR0b25TdGFydFBhcnQpOworfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRl
cjo6cGFpbnRGb3J3YXJkQnV0dG9uRW5kKFdlYkNhbnZhcyogY2FudmFzLCBXZWJTY3JvbGxiYXIq
IHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBw
bGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKKyAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1Rv
SW1hZ2VCdWZmZXIodHJ1ZSk7CisgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3Jt
Q29udGV4dCk7CisgICAgbV90aGVtZS0+cGFpbnRCdXR0b24oJmNvbnRleHQsICZjbGllbnQsIElu
dFJlY3QocmVjdCksIFdlYkNvcmU6OkZvcndhcmRCdXR0b25FbmRQYXJ0KTsKK30KKwordm9pZCBX
ZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50VGlja21hcmtzKFdlYkNhbnZhcyogY2FudmFz
LCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3sKKyAgICBX
ZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgUGxhdGZv
cm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKKyAgICBwbGF0Zm9ybUNvbnRl
eHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CisgICAgR3JhcGhpY3NDb250ZXh0IGNv
bnRleHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAgbV90aGVtZS0+cGFpbnRUaWNrbWFya3MoJmNv
bnRleHQsICZjbGllbnQsIEludFJlY3QocmVjdCkpOworfQorCit2b2lkIFdlYlNjcm9sbGJhclRo
ZW1lUGFpbnRlcjo6cGFpbnRUaHVtYihXZWJDYW52YXMqIGNhbnZhcywgV2ViU2Nyb2xsYmFyKiBz
Y3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIFBsYXRmb3JtQ29udGV4dFNraWEgcGxh
dGZvcm1Db250ZXh0KGNhbnZhcyk7CisgICAgcGxhdGZvcm1Db250ZXh0LnNldERyYXdpbmdUb0lt
YWdlQnVmZmVyKHRydWUpOworICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZwbGF0Zm9ybUNv
bnRleHQpOworICAgIG1fdGhlbWUtPnBhaW50VGh1bWIoJmNvbnRleHQsICZjbGllbnQsIEludFJl
Y3QocmVjdCkpOworfQorCitXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OldlYlNjcm9sbGJhclRo
ZW1lUGFpbnRlcihXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhlbWUpCisgICAg
OiBtX3RoZW1lKHRoZW1lKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bVRl
c3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxiYXJMYXllckNocm9t
aXVtVGVzdC5jcHAKaW5kZXggZDJjZDliZWZjOWEwN2UxMTZjNTE4ODlhNGE3YjRkNDk3OWRmYTI0
NC4uMGU5ZjcxNjc2YTRlNGYwMjM5Mjg4ZjlhODFlMzhkMDgxYmEyNzU3OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxiYXJMYXllckNocm9taXVtVGVzdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxiYXJMYXllckNocm9t
aXVtVGVzdC5jcHAKQEAgLTMyLDYgKzMyLDkgQEAKICNpbmNsdWRlICJjYy9DQ1Njcm9sbGJhckxh
eWVySW1wbC5oIgogI2luY2x1ZGUgImNjL0NDU2luZ2xlVGhyZWFkUHJveHkuaCIKICNpbmNsdWRl
IDxndGVzdC9ndGVzdC5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXIuaD4KKyNpbmNs
dWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5oPgorI2luY2x1ZGUgPHB1Ymxp
Yy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKQEAgLTYwLDcgKzYzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbGFi
bGVBcmVhQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wg
aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZp
cnR1YWwgSW50UG9pbnQgY29udmVydEZyb21Db250YWluaW5nV2luZG93KGNvbnN0IEludFBvaW50
JiB3aW5kb3dQb2ludCkgeyByZXR1cm4gSW50UG9pbnQoKTsgfQorICAgIHZpcnR1YWwgSW50UG9p
bnQgY29udmVydEZyb21Db250YWluaW5nV2luZG93KGNvbnN0IEludFBvaW50JiB3aW5kb3dQb2lu
dCkgeyByZXR1cm4gd2luZG93UG9pbnQ7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBpc0N1c3RvbVNj
cm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBTY3JvbGxiYXJP
cmllbnRhdGlvbiBvcmllbnRhdGlvbigpIGNvbnN0IHsgcmV0dXJuIEhvcml6b250YWxTY3JvbGxi
YXI7IH0KQEAgLTgzLDYgKzg2LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBlbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0RW5hYmxlZChi
b29sKSB7IH0KIAorICAgIHZpcnR1YWwgYm9vbCBpc092ZXJsYXlTY3JvbGxiYXIoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQorCiAgICAgTW9ja1Njcm9sbGJhcigpIDogU2Nyb2xsYmFyKDAsIEhv
cml6b250YWxTY3JvbGxiYXIsIFJlZ3VsYXJTY3JvbGxiYXIpIHsgfQogICAgIHZpcnR1YWwgfk1v
Y2tTY3JvbGxiYXIoKSB7IH0KIH07CkBAIC05MSwxMiArOTYsMTYgQEAgVEVTVChTY3JvbGxiYXJM
YXllckNocm9taXVtVGVzdCwgcmVzb2x2ZVNjcm9sbExheWVyUG9pbnRlcikKIHsKICAgICBEZWJ1
Z1Njb3BlZFNldEltcGxUaHJlYWQgaW1wbDsKIAorICAgIFJlZlB0cjxNb2NrU2Nyb2xsYmFyPiBt
b2NrU2Nyb2xsYmFyID0gYWRvcHRSZWYobmV3IE1vY2tTY3JvbGxiYXIpOworICAgIFdlYktpdDo6
V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBnZW9tZXRyeSgwKTsKKyAgICBXZWJLaXQ6OldlYlNj
cm9sbGJhclRoZW1lUGFpbnRlciBwYWludGVyKDApOworCiAgICAgU2V0dGluZ3M6OnNldE1vY2tT
Y3JvbGxiYXJzRW5hYmxlZCh0cnVlKTsKICAgICB7Ci0gICAgICAgIFJlZlB0cjxNb2NrU2Nyb2xs
YmFyPiBzY3JvbGxiYXIgPSBhZG9wdFJlZihuZXcgTW9ja1Njcm9sbGJhcik7CisgICAgICAgIE93
blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhcj4gc2Nyb2xsYmFyID0gV2ViS2l0OjpXZWJTY3JvbGxi
YXI6OmNyZWF0ZShtb2NrU2Nyb2xsYmFyLmdldCgpKTsKICAgICAgICAgUmVmUHRyPExheWVyQ2hy
b21pdW0+IGxheWVyVHJlZVJvb3QgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKICAgICAgICAg
UmVmUHRyPExheWVyQ2hyb21pdW0+IGNoaWxkMSA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOwot
ICAgICAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGQyID0gU2Nyb2xsYmFyTGF5ZXJDaHJv
bWl1bTo6Y3JlYXRlKHNjcm9sbGJhci5nZXQoKSwgY2hpbGQxLT5pZCgpKTsKKyAgICAgICAgUmVm
UHRyPExheWVyQ2hyb21pdW0+IGNoaWxkMiA9IFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNyZWF0
ZShzY3JvbGxiYXIucmVsZWFzZSgpLCBwYWludGVyLCBnZW9tZXRyeSwgY2hpbGQxLT5pZCgpKTsK
ICAgICAgICAgbGF5ZXJUcmVlUm9vdC0+YWRkQ2hpbGQoY2hpbGQxKTsKICAgICAgICAgbGF5ZXJU
cmVlUm9vdC0+YWRkQ2hpbGQoY2hpbGQyKTsKIApAQCAtMTA5LDEwICsxMTgsMTAgQEAgVEVTVChT
Y3JvbGxiYXJMYXllckNocm9taXVtVGVzdCwgcmVzb2x2ZVNjcm9sbExheWVyUG9pbnRlcikKICAg
ICB9CiAKICAgICB7IC8vIGFub3RoZXIgdHJhdmVyc2Ugb3JkZXIKLSAgICAgICAgUmVmUHRyPE1v
Y2tTY3JvbGxiYXI+IHNjcm9sbGJhciA9IGFkb3B0UmVmKG5ldyBNb2NrU2Nyb2xsYmFyKTsKKyAg
ICAgICAgT3duUHRyPFdlYktpdDo6V2ViU2Nyb2xsYmFyPiBzY3JvbGxiYXIgPSBXZWJLaXQ6Oldl
YlNjcm9sbGJhcjo6Y3JlYXRlKG1vY2tTY3JvbGxiYXIuZ2V0KCkpOwogICAgICAgICBSZWZQdHI8
TGF5ZXJDaHJvbWl1bT4gbGF5ZXJUcmVlUm9vdCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOwog
ICAgICAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGQyID0gTGF5ZXJDaHJvbWl1bTo6Y3Jl
YXRlKCk7Ci0gICAgICAgIFJlZlB0cjxMYXllckNocm9taXVtPiBjaGlsZDEgPSBTY3JvbGxiYXJM
YXllckNocm9taXVtOjpjcmVhdGUoc2Nyb2xsYmFyLmdldCgpLCBjaGlsZDItPmlkKCkpOworICAg
ICAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gY2hpbGQxID0gU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1
bTo6Y3JlYXRlKHNjcm9sbGJhci5yZWxlYXNlKCksIHBhaW50ZXIsIGdlb21ldHJ5LCBjaGlsZDIt
PmlkKCkpOwogICAgICAgICBsYXllclRyZWVSb290LT5hZGRDaGlsZChjaGlsZDEpOwogICAgICAg
ICBsYXllclRyZWVSb290LT5hZGRDaGlsZChjaGlsZDIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzU3YmNjYTljZjE3
MjJmYWRiZjJhMDUzMzY0ZjRiZDRmZmRiZDhhYi4uYjBkYzEyM2RlMDFmYzQyNjBlNDQ4MDhjZjQ2
MWYwNWRmMjRkY2ZhNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA3LTI2ICBBZHJpZW5u
ZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUg
ZGVwZW5kZW5jeSBvbiBTY3JvbGxiYXJUaGVtZSBmcm9tIHRoZSBjb21wb3NpdG9yCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDUyOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hcmsgY3VzdG9tLWNvbXBv
c2l0ZWQtZGlmZmVyZW50LXRyYWNrLXBhcnRzLmh0bWwgYXMgZmFpbGluZyBiZWNhdXNlCisgICAg
ICAgIGN1c3RvbSBzY3JvbGxiYXJzIG5vIGxvbmdlciBjcmVhdGUgU2Nyb2xsYmFyTGF5ZXJDaHJv
bWl1bXMuIFRoaXMgaXMKKyAgICAgICAgZHVlIHRvIHRoZSB1bnNhZmUgY2FzdHMgaW4gUmVuZGVy
VGhlbWVTY3JvbGxiYXIuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0
YXRpb25zOgorCiAyMDEyLTA3LTI1ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAK
ICAgICAgICAgSGl0IHRlc3RpbmcgaW4gb25lIGNvbHVtbiBvciBpbiB0aGUgZ2FwIGJldHdlZW4g
Y2xvdW1ucyBhbG9uZyB0aGUgYmxvY2sgYXhpcyBjYW4gcmV0dXJuIGEgcmVzdWx0IGZyb20gdGhl
IHdyb25nIGNvbHVtbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggMzgyM2JmNDZkODFlZDI3Zjk4ZmFiN2VhY2Y1MTVhZWI2YmJkYTUxNS4u
N2NlNjA1YTM0M2M4OGQzMjIxN2MyNjIwM2M2ZDhiYWQyYjRkOWFjYyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNTgxLDYgKzM1ODEs
OCBAQCBCVUdXSzg1ODU2IEJVR1dLOTE3NTYgOiBmYXN0L292ZXJmbG93L3VucmVhY2hhYmxlLW92
ZXJmbG93LXJ0bC1idWcuaHRtbCA9IElNQUdFKwogLy8gUmVxdWlyZSByZWJhc2VsaW5lIGFmdGVy
IGJ1ZyA4ODE3MQogQlVHV0s4ODE3MSBXSU4gOiBjc3MxL2Zvcm1hdHRpbmdfbW9kZWwvZmxvYXRp
bmdfZWxlbWVudHMuaHRtbCA9IElNQUdFCiAKK0JVR0NSMTM1NzA5IDogcGxhdGZvcm0vY2hyb21p
dW0vY29tcG9zaXRpbmcvc2Nyb2xsYmFycy9jdXN0b20tY29tcG9zaXRlZC1kaWZmZXJlbnQtdHJh
Y2stcGFydHMuaHRtbCA9IElNQUdFCisKIC8vIHdlYmtpdElzRnVsbFNjcmVlbiBkb2VzIG5vdCBo
YXZlIHRoZSBjb3JyZWN0IHZhbHVlIGFmdGVyIGFuIGlmcmFtZSBleGl0cyBmdWxsc2NyZWVuCiBC
VUdXSzkwNzA0IDogZnVsbHNjcmVlbi9leGl0LWZ1bGwtc2NyZWVuLWlmcmFtZS5odG1sID0gVEVY
VAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155303</attachid>
            <date>2012-07-30 09:35:55 -0700</date>
            <delta_ts>2012-07-30 14:11:28 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-90528-20120730093539.patch</filename>
            <type>text/plain</type>
            <size>108182</size>
            <attacher name="Adrienne Walker">enne</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MDI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCBmNmY1MWI5NmExYWQy
YzM1ODU4YjQ3NjA2ZWIxOTc5ODlhZmQ2NjRhLi5kOWEzODQ2YzY3NGRkOWQ3MDgzNDFhZWYyYTdl
OTdiNDk2MTNjNzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxMi0wNy0zMCAg
QWRyaWVubmUgV2Fsa2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0g
UmVtb3ZlIGRlcGVuZGVuY3kgb24gU2Nyb2xsYmFyVGhlbWUgZnJvbSB0aGUgY29tcG9zaXRvcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1MjgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KKworICAgICAgICBGbGVzaCBvdXQg
V2ViU2Nyb2xsYmFyIGZ1bmN0aW9ucyBlbm91Z2ggdG8gYmUgYWJsZSB0byBpbXBsZW1lbnQKKyAg
ICAgICAgdGhlIHBhcnRzIG9mIFNjcm9sbGJhclRoZW1lQ2xpZW50IHRoYXQgQ2hyb21pdW0gdXNl
cy4KKworICAgICAgICBXcmFwIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlIGluIHRoZSBQbGF0Zm9y
bSBBUEkgdmlhIHR3byBkaWZmZXJlbnQKKyAgICAgICAgY2xhc3NlczogV2ViU2Nyb2xsYmFyVGhl
bWVQYWludGVyIGlzIHRoZSBub24tdGhyZWFkc2FmZSB2ZXJzaW9uIHRoYXQKKyAgICAgICAgaXMg
dXNlZCB0byBwYWludCBwYXJ0cyBvZiBhIHNjcm9sbGJhciBpbnRvIGEgY29udGV4dC4gVGhpcyBp
cyBpbnRlbmRlZAorICAgICAgICB0byBvbmx5IGJlIHVzZWQgb24gdGhlIG1haW4gdGhyZWFkLiBX
ZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IGlzIHRoZQorICAgICAgICB0aHJlYWRzYWZlIHZlcnNp
b24sIHVzZWQgdG8gZ2V0IHRoZSBsb2NhdGlvbiBhbmQgc2l6ZXMgb2Ygc2Nyb2xsYmFyCisgICAg
ICAgIHBhcnRzIG9uIGJvdGggdGhyZWFkcywgc28gdGhleSBjYW4gYmUgcGFpbnRlZCBvbiB0aGUg
bWFpbiB0aHJlYWQgYW5kCisgICAgICAgIGNvbXBvc2l0ZWQgb24gdGhlIGNvbXBvc2l0b3IgdGhy
ZWFkLgorCisgICAgICAgIFVuZm9ydHVuYXRlbHksIHRoZXJlIGlzIG5vIHdheSB0byBlbmZvcmNl
IHRoZXNlIHRocmVhZCBzYWZldHkgaXNzdWVzLAorICAgICAgICBhcyBvdGhlciBwb3J0cyB1c2Ug
dGhlIFNjcm9sbGJhclRoZW1lIGhpZXJhcmNoeSBkaWZmZXJlbnRseSB0aGFuCisgICAgICAgIENo
cm9taXVtIGRvZXMuIE9uIHRoZSBicmlnaHQgc2lkZSwgb3RoZXIgdGhhbiBwYWludGluZywgdGhl
CisgICAgICAgIFNjcm9sbGJhclRoZW1lIGNvZGUgaXMgbGFyZ2VseSBmdW5jdGlvbmFsIGFuZCB3
ZSBjYW4gZW5mb3JjZSB0aGlzCisgICAgICAgIGludGVybmFsbHkgZm9yIHRoZSBDaHJvbWl1bSBw
b3J0LgorCisgICAgICAgICogUGxhdGZvcm0uZ3lwaToKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJs
aWMvV2ViU2Nyb2xsYmFyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6
CisgICAgICAgIChXZWJTY3JvbGxiYXIpOgorICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJT
Y3JvbGxiYXJUaGVtZUdlb21ldHJ5Lmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OldlYlNjcm9sbGJhclRoZW1l
R2VvbWV0cnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojp+
V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lR2VvbWV0cnk6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lR2VvbWV0cnk6OmlzTnVsbCk6CisgICAgICAgICogY2hyb21pdW0vcHVibGljL1dlYlNj
cm9sbGJhclRoZW1lUGFpbnRlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcik6CisgICAgICAg
IChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6V2ViU2Nyb2xsYmFyVGhlbWVQYWlu
dGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjp+V2ViU2Ny
b2xsYmFyVGhlbWVQYWludGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQ
YWludGVyOjpvcGVyYXRvcj0pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBh
aW50ZXI6OmlzTnVsbCk6CisKIDIwMTItMDctMzAgIEtlaXNoaSBIYXR0b3JpICA8a2Vpc2hpQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IGRhdGFsaXN0IFVJIGZvciBpbnB1dCB0eXBl
IGNvbG9yIGZvciBDaHJvbWl1bQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDJkZGE3NGQwOTA0NGJhOWFlYzgzMzY3
NmM5NjRmMzM2YzI4ZDFiZjYuLjM2MjIxODA4YjFjY2JkNTU3NDZlMzZhYjExNGQzYzYwZTBkNDgx
OGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MyBAQAorMjAxMi0wNy0zMCAgQWRyaWVubmUgV2Fs
a2VyICA8ZW5uZUBnb29nbGUuY29tPgorCisgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIGRlcGVu
ZGVuY3kgb24gU2Nyb2xsYmFyVGhlbWUgZnJvbSB0aGUgY29tcG9zaXRvcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTA1MjgKKworICAgICAgICBSZXZp
ZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KKworICAgICAgICBUZXN0ZWQgYnkgZXhpc3RpbmcgbGF5
b3V0IHRlc3RzLgorCisgICAgICAgIFNjcm9sbGJhckxheWVyQ2hyb21pdW0gaXMgbW9kaWZpZWQg
dG8gdXNlIHRoZSBQbGF0Zm9ybSBBUEkgZm9yCisgICAgICAgIFdlYlNjcm9sbGJhciwgV2ViU2Ny
b2xsYmFyVGhlbWVQYWludGVyLCBhbmQgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS4KKyAgICAg
ICAgVGhpcyBwcmV2ZW50cyBBUEkgZGVwZW5kZW5jaWVzIGZyb20gdGhlIGNvbXBvc2l0b3IgY29k
ZSBpbnRvIFdlYkNvcmUKKyAgICAgICAgc2Nyb2xsYmFyIGFuZCB0aGVtZSBjb2RlLgorCisgICAg
ICAgIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhciBub3cgaW1wbGVtZW50cyB0aGUg
V2ViU2Nyb2xsYmFyIEFQSQorICAgICAgICBpbnN0ZWFkIG9mIHRoZSBTY3JvbGxiYXJUaGVtZUNs
aWVudCBBUEkuCisKKyAgICAgICAgQWxzbywgQ0NTY3JvbGxiYXJMYXllckltcGwgbm93IG5vIGxv
bmdlciBnZXRzIHRoZSB0aGVtZSBmcm9tIGEgc3RhdGljCisgICAgICAgIGFjY2Vzc29yLiBJdCBu
b3cgZ2V0cyBhICJjb3B5IiBvZiB0aGUgdGhlbWUgZnJvbSB0aGUgbWFpbiB0aHJlYWQgdmlhCisg
ICAgICAgIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnksIHdoaWNoIGlzIG1vcmUgY29ycmVjdCBm
b3IgcmVuZGVyIHRoZW1lCisgICAgICAgIHNjcm9sbGJhcnMgd2hpY2ggd2VyZSBwcmV2aW91c2x5
IHVzaW5nIHRoZSBuYXRpdmUgdGhlbWUgdG8gZ2V0IHBhcnQKKyAgICAgICAgZ2VvbWV0cnkuIFVz
aW5nIHRoZSBjb3JyZWN0IHRoZW1lIHVuZm9ydHVuYXRlbHkgY2F1c2VzIGNyYXNoZXMgZHVlIHRv
CisgICAgICAgIGJhZCBjYXN0cyBpbiBSZW5kZXJTY3JvbGxiYXJUaGVtZSwgc28gdGhpcyBwYXRj
aCB0dXJucyBiYWNrIG9mZiB0aGUKKyAgICAgICAgdXNlIG9mIFNjcm9sbGJhckxheWVyQ2hyb21p
dW0gZm9yIHRoZW1lZCBzY3JvbGxiYXJzIHVudGlsIHRoYXQgY2FuIGJlCisgICAgICAgIHJlc29s
dmVkLgorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRp
bmF0b3JDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVTY3JvbGxiYXJMYXll
cik6CisgICAgICAgICogcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDbGllbnQuaDoKKyAgICAgICAg
KFNjcm9sbGJhclRoZW1lQ2xpZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9TY3JvbGxiYXJMYXllckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGJhckxheWVyQ2hyb21pdW06OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJM
YXllckNocm9taXVtOjpTY3JvbGxiYXJMYXllckNocm9taXVtKToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhckxheWVyQ2hyb21pdW06OnB1c2hQcm9wZXJ0aWVzVG8pOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcjo6U2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50
ZXIpOgorICAgICAgICAoU2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50ZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsYmFyVGh1bWJQYWludGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYmFyVGh1bWJQYWludGVyOjpTY3JvbGxiYXJUaHVtYlBhaW50ZXIpOgorICAgICAgICAo
U2Nyb2xsYmFyVGh1bWJQYWludGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhckxheWVy
Q2hyb21pdW06OmNyZWF0ZVRleHR1cmVVcGRhdGVySWZOZWVkZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6c2V0VGV4dHVyZVByaW9yaXRpZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6dXBkYXRlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TY3JvbGxiYXJMYXllckNocm9taXVtLmg6CisgICAg
ICAgIChTY3JvbGxiYXJMYXllckNocm9taXVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXJMYXllckltcGwpOgorICAgICAgICAo
V2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OnNldFNjcm9sbGJhckRhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6dG9VVlJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXll
ckltcGw6OmFwcGVuZFF1YWRzKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJ
bXBsOjpDQ1Njcm9sbGJhcjo6aXNPdmVybGF5KToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xs
YmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NT
Y3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpsb2NhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnNpemUpOgorICAgICAgICAo
V2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjplbmFibGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6bWF4aW11
bSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6
OnRvdGFsU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NT
Y3JvbGxiYXI6OmlzU2Nyb2xsVmlld1Njcm9sbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpDQ1Nj
cm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpnZXRU
aWNrbWFya3MpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Ny
b2xsYmFyOjpjb250cm9sU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVy
SW1wbDo6Q0NTY3JvbGxiYXI6OnByZXNzZWRQYXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Ny
b2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aG92ZXJlZFBhcnQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpzY3JvbGxiYXJPdmVybGF5
U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xs
YmFyOjpvcmllbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDQ1Njcm9sbGJhckxheWVySW1w
bDo6Q0NTY3JvbGxiYXI6OmlzQ3VzdG9tU2Nyb2xsYmFyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5oOgorICAgICAgICAoQ0NT
Y3JvbGxiYXJMYXllckltcGwpOgorICAgICAgICAoQ0NTY3JvbGxiYXIpOgorCiAyMDEyLTA3LTMw
ICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBQcm9o
aWJpdCBoYXZpbmcgQXV0aG9yU2hhZG93RE9NIG9mIGlucHV0IG9yIHRleHRhcmVhIGVsZW1lbnQg
Zm9yIGEgd2hpbGUgYW5kIGhhdmluZyBhIGZsYWcgdG8gZW5hYmxlIGl0IGluIEludGVybmFscy4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNzNiZjJiZDAzNzY5MDkzY2I0NzNmMGFjNGEw
M2I1ZjFlYTRmYTkyNy4uYmY3YjljMWVhNmZhNGUzNmY4NWMyODkyNWFmMjlmM2YzMGNmZGY4MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNjAgQEAKKzIwMTItMDctMzAg
IEFkcmllbm5lIFdhbGtlciAgPGVubmVAZ29vZ2xlLmNvbT4KKworICAgICAgICBbY2hyb21pdW1d
IFJlbW92ZSBkZXBlbmRlbmN5IG9uIFNjcm9sbGJhclRoZW1lIGZyb20gdGhlIGNvbXBvc2l0b3IK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwNTI4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCisKKyAgICAgICAgQWRkIGltcGxl
bWVudGF0aW9ucyBmb3IgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBhbmQKKyAgICAgICAgV2Vi
U2Nyb2xsYmFyVGhlbWVQYWludGVyLiBGaWxsIG91dCBhZGRpdGlvbmFsIEFQSSBjYWxscyBmb3IK
KyAgICAgICAgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbCBzaW5jZSBpdCBkZXJpdmVzIGZyb20gV2Vi
U2Nyb2xsYmFyLgorCisgICAgICAgIEFkZCBXZWJTY3JvbGxiYXJJbXBsIHRvIHRoZSBjbGllbnQg
QVBJIHRvIHdyYXAgYW5kIG93biBhbiBleGlzdGluZworICAgICAgICBXZWJDb3JlIFNjcm9sbGJh
ciBvYmplY3QgYW5kIHByb3ZpZGUgdGhlIFdlYlNjcm9sbGJhciBpbnRlcmZhY2UuCisKKyAgICAg
ICAgQnkga2VlcGluZyBXZWJTY3JvbGxiYXIgc2VwYXJhdGUgZnJvbSBXZWJTY3JvbGxiYXJUaGVt
ZUdlb21ldHJ5LCB0aGUKKyAgICAgICAgY29tcG9zaXRvciB0aHJlYWQgY2FuIGNyZWF0ZSBpdHMg
b3duIHRocmVhZC1zYWZlIGRhdGEgYmFnIHZlcnNpb24gb2YgYQorICAgICAgICBXZWJTY3JvbGxi
YXIgKENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhciksIGJ1dCB0aGlzIHJlcXVpcmVz
CisgICAgICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbC4KKworICAgICAgICBXZWJTY3Jv
bGxiYXJUaGVtZUNsaWVudEltcGwgZG9lcyB0aGUgcmV2ZXJzZSBvZiBXZWJTY3JvbGxiYXJJbXBs
OyBpdAorICAgICAgICB3cmFwcyBhIFdlYlNjcm9sbGJhciBhbmQgcHJvdmlkZXMgdGhlIFNjcm9s
bGJhclRoZW1lQ2xpZW50IGludGVyZmFjZS4KKyAgICAgICAgVGhpcyBpcyBzbyB0aGF0IGEgV2Vi
U2Nyb2xsYmFyIGNhbiBiZSBwYXNzZWQgdG8gdGhlIGdlb21ldHJ5IGFuZAorICAgICAgICBwYWlu
dGVyIGZ1bmN0aW9ucy4gVGhlbiwgaW50ZXJuYWxseSB0aGUgV2ViU2Nyb2xsYmFyVGhlbWVDbGll
bnRJbXBsCisgICAgICAgIGNhbiBiZSB1c2VkIHRvIGFkYXB0IHRoZSBXZWJTY3JvbGxiYXIgdG8g
dGhlIFNjcm9sbGJhclRoZW1lQ2xpZW50CisgICAgICAgIGludGVyZmFjZSBzbyB0aGUgZ2VvbWV0
cnkgYW5kIHBhaW50ZXIgZnVuY3Rpb25zIGNhbiBjYWxsIGRpcmVjdAorICAgICAgICBmdW5jdGlv
bnMgb24gU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgor
ICAgICAgICAqIHNyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMvRXh0
ZXJuYWxQb3B1cE1lbnUuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL1dlYlBs
dWdpblNjcm9sbGJhckltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxi
YXJJbXBsOjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1
Z2luU2Nyb2xsYmFySW1wbDo6bG9jYXRpb24pOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6c2l6ZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlBsdWdpblNjcm9sbGJhckltcGw6OmVuYWJsZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
bHVnaW5TY3JvbGxiYXJJbXBsOjptYXhpbXVtKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2lu
U2Nyb2xsYmFySW1wbDo6dG90YWxTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGx1Z2luU2Ny
b2xsYmFySW1wbDo6aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGx1Z2luU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6OmdldFRpY2ttYXJrcyk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6OmNvbnRyb2xTaXplKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6cHJlc3NlZFBhcnQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpob3ZlcmVkUGFydCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6OnNjcm9sbGJhck92ZXJsYXlTdHlsZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6Om9yaWVudGF0aW9uKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6aXNDdXN0b21TY3JvbGxiYXIpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpvbk1vdXNlVXApOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpvbk1vdXNlTW92ZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhckltcGw6Om9uTW91c2VMZWF2ZSk6CisgICAg
ICAgICogc3JjL1dlYlBsdWdpblNjcm9sbGJhckltcGwuaDoKKyAgICAgICAgKFdlYlBsdWdpblNj
cm9sbGJhckltcGwpOgorICAgICAgICAqIHNyYy9XZWJTY3JvbGxiYXJJbXBsLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXI6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OldlYlNjcm9sbGJhckltcGwp
OgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjppc092ZXJsYXkpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjp2YWx1ZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlNjcm9sbGJhckltcGw6OmxvY2F0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFy
SW1wbDo6c2l6ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OmVuYWJsZWQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJbXBsOjptYXhpbXVtKToKKyAgICAgICAg
KFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6dG90YWxTaXplKToKKyAgICAgICAgKFdlYktpdDo6
V2ViU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYktp
dDo6V2ViU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxhYmxlQXJlYUFjdGl2ZSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OmdldFRpY2ttYXJrcyk6CisgICAgICAgIChXZWJLaXQ6
OldlYlNjcm9sbGJhckltcGw6OmNvbnRyb2xTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Ny
b2xsYmFySW1wbDo6cHJlc3NlZFBhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJJ
bXBsOjpob3ZlcmVkUGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6OnNj
cm9sbGJhck92ZXJsYXlTdHlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhckltcGw6
Om9yaWVudGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFySW1wbDo6aXNDdXN0
b21TY3JvbGxiYXIpOgorICAgICAgICAqIHNyYy9XZWJTY3JvbGxiYXJJbXBsLmg6IENvcGllZCBm
cm9tIFNvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyLmguCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJTY3JvbGxiYXJJ
bXBsKToKKyAgICAgICAgKiBzcmMvV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGw6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6eCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6eSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9s
bGJhclRoZW1lQ2xpZW50SW1wbDo6d2lkdGgpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxi
YXJUaGVtZUNsaWVudEltcGw6OmhlaWdodCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lQ2xpZW50SW1wbDo6c2l6ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRo
ZW1lQ2xpZW50SW1wbDo6bG9jYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJU
aGVtZUNsaWVudEltcGw6OnBhcmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRo
ZW1lQ2xpZW50SW1wbDo6cm9vdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1l
Q2xpZW50SW1wbDo6c2V0RnJhbWVSZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVDbGllbnRJbXBsOjpmcmFtZVJlY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxi
YXJUaGVtZUNsaWVudEltcGw6OmludmFsaWRhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3Jv
bGxiYXJUaGVtZUNsaWVudEltcGw6OmludmFsaWRhdGVSZWN0KToKKyAgICAgICAgKFdlYktpdDo6
V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpzY3JvbGxiYXJPdmVybGF5U3R5bGUpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmdldFRpY2ttYXJrcyk6
CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6aXNTY3JvbGxh
YmxlQXJlYUFjdGl2ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50
SW1wbDo6aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xs
YmFyVGhlbWVDbGllbnRJbXBsOjpjb252ZXJ0RnJvbUNvbnRhaW5pbmdXaW5kb3cpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmlzQ3VzdG9tU2Nyb2xsYmFy
KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpvcmllbnRh
dGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6dmFs
dWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmN1cnJl
bnRQb3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnZp
c2libGVTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBs
Ojp0b3RhbFNpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudElt
cGw6Om1heGltdW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNsaWVudElt
cGw6OmNvbnRyb2xTaXplKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVDbGll
bnRJbXBsOjpsaW5lU3RlcCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lQ2xp
ZW50SW1wbDo6cGFnZVN0ZXApOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUNs
aWVudEltcGw6OnByZXNzZWRQYXJ0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhl
bWVDbGllbnRJbXBsOjpob3ZlcmVkUGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJh
clRoZW1lQ2xpZW50SW1wbDo6c3R5bGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Ny
b2xsYmFyVGhlbWVDbGllbnRJbXBsOjplbmFibGVkKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Ny
b2xsYmFyVGhlbWVDbGllbnRJbXBsOjpzZXRFbmFibGVkKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
U2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjppc092ZXJsYXlTY3JvbGxiYXIpOgorICAgICAgICAq
IHNyYy9XZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJTY3JvbGxiYXJUaGVtZUNsaWVu
dEltcGwpOgorICAgICAgICAqIHNyYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZUdlb21ldHJ5Ojphc3NpZ24pOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdl
b21ldHJ5Ojp0aHVtYlBvc2l0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhl
bWVHZW9tZXRyeTo6dGh1bWJMZW5ndGgpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJU
aGVtZUdlb21ldHJ5Ojp0cmFja1Bvc2l0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xs
YmFyVGhlbWVHZW9tZXRyeTo6dHJhY2tMZW5ndGgpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3Jv
bGxiYXJUaGVtZUdlb21ldHJ5OjpoYXNCdXR0b25zKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Ny
b2xsYmFyVGhlbWVHZW9tZXRyeTo6aGFzVGh1bWIpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3Jv
bGxiYXJUaGVtZUdlb21ldHJ5Ojp0cmFja1JlY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3Jv
bGxiYXJUaGVtZUdlb21ldHJ5Ojp0aHVtYlJlY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3Jv
bGxiYXJUaGVtZUdlb21ldHJ5OjptaW5pbXVtVGh1bWJMZW5ndGgpOgorICAgICAgICAoV2ViS2l0
OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjpzY3JvbGxiYXJUaGlja25lc3MpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjpiYWNrQnV0dG9uU3RhcnRSZWN0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6YmFja0J1dHRv
bkVuZFJlY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojpm
b3J3YXJkQnV0dG9uU3RhcnRSZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhl
bWVHZW9tZXRyeTo6Zm9yd2FyZEJ1dHRvbkVuZFJlY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJT
Y3JvbGxiYXJUaGVtZUdlb21ldHJ5Ojpjb25zdHJhaW5UcmFja1JlY3RUb1RyYWNrUGllY2VzKToK
KyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6c3BsaXRUcmFjayk6
CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OldlYlNjcm9sbGJh
clRoZW1lR2VvbWV0cnkpOgorICAgICAgICAqIHNyYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9s
bGJhclRoZW1lUGFpbnRlcjo6YXNzaWduKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVQYWludGVyOjpwYWludFNjcm9sbGJhckJhY2tncm91bmQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50VHJhY2tCYWNrZ3JvdW5kKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyOjpwYWludEJhY2tUcmFja1BhcnQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50Rm9yd2Fy
ZFRyYWNrUGFydCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6
cGFpbnRCYWNrQnV0dG9uU3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZVBhaW50ZXI6OnBhaW50QmFja0J1dHRvbkVuZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9s
bGJhclRoZW1lUGFpbnRlcjo6cGFpbnRGb3J3YXJkQnV0dG9uU3RhcnQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50Rm9yd2FyZEJ1dHRvbkVuZCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRUaWNrbWFya3Mp
OgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50VGh1bWIp
OgorICAgICAgICAoV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OldlYlNjcm9sbGJh
clRoZW1lUGFpbnRlcik6CisgICAgICAgICogdGVzdHMvU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bVRl
c3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1Njcm9sbGJhcjo6Y29udmVydEZyb21Db250
YWluaW5nV2luZG93KToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tTY3JvbGxiYXI6OmlzT3Zlcmxh
eVNjcm9sbGJhcik6CisgICAgICAgIChNb2NrU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6
OlRFU1QpOgorCiAyMDEyLTA3LTMwICBLZWlzaGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEltcGxlbWVudCBkYXRhbGlzdCBVSSBmb3IgaW5wdXQgdHlwZSBjb2xvciBm
b3IgQ2hyb21pdW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpIGIv
U291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKaW5kZXggNDY1ZGMzMTJjZDE3NGQ1Y2Q3ZmUz
MDcwODFlZjQwYzE3YjYzNDBhOS4uNzg3OTZiZDhiMjk2ZWVhN2RkM2I4YmVjMTljZjk4ZjhkYjVl
ZDliMCAxMDA2NDQKLS0tIGEvU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKKysrIGIvU291
cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKQEAgLTEwOSw2ICsxMDksOCBAQAogICAgICAgICAg
ICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJSZWZlcnJlclBvbGljeS5oJywKICAgICAgICAgICAgICdj
aHJvbWl1bS9wdWJsaWMvV2ViUmVuZGVyaW5nU3RhdHMuaCcsCiAgICAgICAgICAgICAnY2hyb21p
dW0vcHVibGljL1dlYlNjcm9sbGJhci5oJywKKyAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMv
V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5oJywKKyAgICAgICAgICAgICdjaHJvbWl1bS9wdWJs
aWMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1
YmxpYy9XZWJTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmgnLAogICAgICAgICAgICAgJ2No
cm9taXVtL3B1YmxpYy9XZWJTaXplLmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9X
ZWJTb2NrZXRTdHJlYW1FcnJvci5oJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJv
bWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyLmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVi
bGljL1dlYlNjcm9sbGJhci5oCmluZGV4IDg3OTU1NjU1MmQxYTMxNmQ0ZDJkNTk3ZDY2YzVlYjA1
MGQ5OWUwZjEuLjhiYWYzNGI3NjQyMjcwZjUwOGJmN2RhMGI2M2QwZjQ2ZTk4ZWVmZDQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyLmgKKysr
IGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXIuaApAQCAtMjUs
OCArMjUsMjEgQEAKICNpZm5kZWYgV2ViU2Nyb2xsYmFyX2gKICNkZWZpbmUgV2ViU2Nyb2xsYmFy
X2gKIAorI2luY2x1ZGUgIldlYlBvaW50LmgiCisjaW5jbHVkZSAiV2ViUmVjdC5oIgorI2luY2x1
ZGUgIldlYlNpemUuaCIKKyNpbmNsdWRlICJXZWJWZWN0b3IuaCIKKyNpZiBXRUJLSVRfSU1QTEVN
RU5UQVRJT04KKyNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgorI2VuZGlmCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKK2NsYXNzIFNjcm9sbGJhcjsKK30KKwogbmFtZXNwYWNlIFdlYktpdCB7CiAK
Ky8vIEEgY29uc3QgYWNjZXNzb3IgaW50ZXJmYWNlIGZvciBhIFdlYktpdCBzY3JvbGxiYXIKIGNs
YXNzIFdlYlNjcm9sbGJhciB7CiBwdWJsaWM6CiAgICAgZW51bSBPcmllbnRhdGlvbiB7CkBAIC00
Niw2ICs1OSwzMSBAQCBwdWJsaWM6CiAgICAgICAgIFNjcm9sbEJ5UGl4ZWwKICAgICB9OwogCisg
ICAgZW51bSBTY3JvbGxiYXJDb250cm9sU2l6ZSB7CisgICAgICAgIFJlZ3VsYXJTY3JvbGxiYXIs
CisgICAgICAgIFNtYWxsU2Nyb2xsYmFyCisgICAgfTsKKworICAgIGVudW0gU2Nyb2xsYmFyUGFy
dCB7CisgICAgICAgIE5vUGFydCA9IDAsCisgICAgICAgIEJhY2tCdXR0b25TdGFydFBhcnQgPSAx
LAorICAgICAgICBGb3J3YXJkQnV0dG9uU3RhcnRQYXJ0ID0gMSA8PCAxLAorICAgICAgICBCYWNr
VHJhY2tQYXJ0ID0gMSA8PCAyLAorICAgICAgICBUaHVtYlBhcnQgPSAxIDw8IDMsCisgICAgICAg
IEZvcndhcmRUcmFja1BhcnQgPSAxIDw8IDQsCisgICAgICAgIEJhY2tCdXR0b25FbmRQYXJ0ID0g
MSA8PCA1LAorICAgICAgICBGb3J3YXJkQnV0dG9uRW5kUGFydCA9IDEgPDwgNiwKKyAgICAgICAg
U2Nyb2xsYmFyQkdQYXJ0ID0gMSA8PCA3LAorICAgICAgICBUcmFja0JHUGFydCA9IDEgPDwgOCwK
KyAgICAgICAgQWxsUGFydHMgPSAweGZmZmZmZmZmCisgICAgfTsKKworICAgIGVudW0gU2Nyb2xs
YmFyT3ZlcmxheVN0eWxlIHsKKyAgICAgICAgU2Nyb2xsYmFyT3ZlcmxheVN0eWxlRGVmYXVsdCwK
KyAgICAgICAgU2Nyb2xsYmFyT3ZlcmxheVN0eWxlRGFyaywKKyAgICAgICAgU2Nyb2xsYmFyT3Zl
cmxheVN0eWxlTGlnaHQKKyAgICB9OworCiAgICAgdmlydHVhbCB+V2ViU2Nyb2xsYmFyKCkgeyB9
CiAKICAgICAvLyBSZXR1cm4gdHJ1ZSBpZiB0aGlzIGlzIGFuIG92ZXJsYXkgc2Nyb2xsYmFyLgpA
QCAtNTMsNiArOTEsMjUgQEAgcHVibGljOgogCiAgICAgLy8gR2V0cyB0aGUgY3VycmVudCB2YWx1
ZSAoaS5lLiBwb3NpdGlvbiBpbnNpZGUgdGhlIHJlZ2lvbikuCiAgICAgdmlydHVhbCBpbnQgdmFs
dWUoKSBjb25zdCA9IDA7CisKKyAgICB2aXJ0dWFsIFdlYlBvaW50IGxvY2F0aW9uKCkgY29uc3Qg
PSAwOworICAgIHZpcnR1YWwgV2ViU2l6ZSBzaXplKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwg
Ym9vbCBlbmFibGVkKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgaW50IG1heGltdW0oKSBjb25z
dCA9IDA7CisgICAgdmlydHVhbCBpbnQgdG90YWxTaXplKCkgY29uc3QgPSAwOworICAgIHZpcnR1
YWwgYm9vbCBpc1Njcm9sbFZpZXdTY3JvbGxiYXIoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBi
b29sIGlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGdldFRpY2ttYXJrcyhXZWJWZWN0b3I8V2ViUmVjdD4mIHRpY2ttYXJrcykgY29uc3QgPSAwOwor
ICAgIHZpcnR1YWwgU2Nyb2xsYmFyQ29udHJvbFNpemUgY29udHJvbFNpemUoKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBTY3JvbGxiYXJQYXJ0IHByZXNzZWRQYXJ0KCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgU2Nyb2xsYmFyUGFydCBob3ZlcmVkUGFydCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0
dWFsIFNjcm9sbGJhck92ZXJsYXlTdHlsZSBzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdCA9
IDA7CisgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3QgPSAwOworICAg
IHZpcnR1YWwgT3JpZW50YXRpb24gb3JpZW50YXRpb24oKSBjb25zdCA9IDA7CisKKyNpZiBXRUJL
SVRfSU1QTEVNRU5UQVRJT04KKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBQYXNzT3duUHRyPFdl
YlNjcm9sbGJhcj4gY3JlYXRlKFdlYkNvcmU6OlNjcm9sbGJhciopOworI2VuZGlmCiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1
bS9wdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5oIGIvU291cmNlL1BsYXRmb3JtL2No
cm9taXVtL3B1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjc3
OGQ1Y2ZiMzZkZTdhZTVmMWMxMGRjOTI0YTE1OTc5YjMwZDUxOAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRy
eS5oCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlNjcm9sbGJhclRoZW1lR2Vv
bWV0cnlfaAorI2RlZmluZSBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5X2gKKworI2luY2x1ZGUg
IldlYlJlY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgU2Nyb2xsYmFyVGhlbWVD
b21wb3NpdGU7Cit9OworCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViU2Nyb2xsYmFy
OworCitjbGFzcyBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IHsKK3B1YmxpYzoKKyAgICBXZWJT
Y3JvbGxiYXJUaGVtZUdlb21ldHJ5KCkgOiBtX3RoZW1lKDApIHsgfQorCisgICAgV2ViU2Nyb2xs
YmFyVGhlbWVHZW9tZXRyeShjb25zdCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5JiBnZW9tZXRy
eSkgeyBhc3NpZ24oZ2VvbWV0cnkpOyB9CisgICAgdmlydHVhbCB+V2ViU2Nyb2xsYmFyVGhlbWVH
ZW9tZXRyeSgpIHsgfQorICAgIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkmIG9wZXJhdG9yPShj
b25zdCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5JiBnZW9tZXRyeSkKKyAgICB7CisgICAgICAg
IGFzc2lnbihnZW9tZXRyeSk7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAgICBi
b29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIG1fdGhlbWU7IH0KKyAgICBXRUJLSVRfRVhQT1JU
IHZvaWQgYXNzaWduKGNvbnN0IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkmKTsKKworICAgIFdF
QktJVF9FWFBPUlQgaW50IHRodW1iUG9zaXRpb24oV2ViU2Nyb2xsYmFyKik7CisgICAgV0VCS0lU
X0VYUE9SVCBpbnQgdGh1bWJMZW5ndGgoV2ViU2Nyb2xsYmFyKik7CisgICAgV0VCS0lUX0VYUE9S
VCBpbnQgdHJhY2tQb3NpdGlvbihXZWJTY3JvbGxiYXIqKTsKKyAgICBXRUJLSVRfRVhQT1JUIGlu
dCB0cmFja0xlbmd0aChXZWJTY3JvbGxiYXIqKTsKKyAgICBXRUJLSVRfRVhQT1JUIGJvb2wgaGFz
QnV0dG9ucyhXZWJTY3JvbGxiYXIqKTsKKyAgICBXRUJLSVRfRVhQT1JUIGJvb2wgaGFzVGh1bWIo
V2ViU2Nyb2xsYmFyKik7CisgICAgV0VCS0lUX0VYUE9SVCBXZWJSZWN0IHRyYWNrUmVjdChXZWJT
Y3JvbGxiYXIqKTsKKyAgICBXRUJLSVRfRVhQT1JUIFdlYlJlY3QgdGh1bWJSZWN0KFdlYlNjcm9s
bGJhciopOworICAgIFdFQktJVF9FWFBPUlQgaW50IG1pbmltdW1UaHVtYkxlbmd0aChXZWJTY3Jv
bGxiYXIqKTsKKyAgICBXRUJLSVRfRVhQT1JUIGludCBzY3JvbGxiYXJUaGlja25lc3MoV2ViU2Ny
b2xsYmFyKik7CisgICAgV0VCS0lUX0VYUE9SVCBXZWJSZWN0IGJhY2tCdXR0b25TdGFydFJlY3Qo
V2ViU2Nyb2xsYmFyKik7CisgICAgV0VCS0lUX0VYUE9SVCBXZWJSZWN0IGJhY2tCdXR0b25FbmRS
ZWN0KFdlYlNjcm9sbGJhciopOworICAgIFdFQktJVF9FWFBPUlQgV2ViUmVjdCBmb3J3YXJkQnV0
dG9uU3RhcnRSZWN0KFdlYlNjcm9sbGJhciopOworICAgIFdFQktJVF9FWFBPUlQgV2ViUmVjdCBm
b3J3YXJkQnV0dG9uRW5kUmVjdChXZWJTY3JvbGxiYXIqKTsKKyAgICBXRUJLSVRfRVhQT1JUIFdl
YlJlY3QgY29uc3RyYWluVHJhY2tSZWN0VG9UcmFja1BpZWNlcyhXZWJTY3JvbGxiYXIqLCBjb25z
dCBXZWJSZWN0Jik7CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNwbGl0VHJhY2soV2ViU2Nyb2xs
YmFyKiwgY29uc3QgV2ViUmVjdCYgdHJhY2ssIFdlYlJlY3QmIHN0YXJ0VHJhY2ssIFdlYlJlY3Qm
IHRodW1iLCBXZWJSZWN0JiBlbmRUcmFjayk7CisKKyNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04K
KyAgICBleHBsaWNpdCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5KFdlYkNvcmU6OlNjcm9sbGJh
clRoZW1lQ29tcG9zaXRlKik7CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICAvLyBUaGUgdGhlbWUg
aXMgbm90IG93bmVkIGJ5IHRoaXMgY2xhc3MuIEl0IGlzIGFzc3VtZWQgdGhhdCB0aGUgdGhlbWUg
aXMgYQorICAgIC8vIHN0YXRpYyBwb2ludGVyIGFuZCBpdHMgbGlmZXRpbWUgaXMgZXNzZW50aWFs
bHkgaW5maW5pdGUuIE9ubHkgdGhyZWFkLXNhZmUKKyAgICAvLyBmdW5jdGlvbnMgb24gdGhlIHRo
ZW1lIGNhbiBiZSBjYWxsZWQgYnkgdGhpcyB0aGVtZS4KKyAgICBXZWJDb3JlOjpTY3JvbGxiYXJU
aGVtZUNvbXBvc2l0ZSogbV90aGVtZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Ny
b2xsYmFyVGhlbWVQYWludGVyLmggYi9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dl
YlNjcm9sbGJhclRoZW1lUGFpbnRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiYzRjMmE1NzYyNzcwYWRlYThh
NmEwNzcyMTc4ODI1MzFkMDg5OTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvUGxhdGZvcm0v
Y2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5oCkBAIC0wLDAgKzEsNzkg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcl9oCisjZGVmaW5lIFdl
YlNjcm9sbGJhclRoZW1lUGFpbnRlcl9oCisKKyNpbmNsdWRlICJXZWJDYW52YXMuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGU7Cit9OworCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViU2Nyb2xsYmFyOworc3RydWN0IFdlYlJlY3Q7
CisKK2NsYXNzIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlciB7CitwdWJsaWM6CisgICAgV2ViU2Ny
b2xsYmFyVGhlbWVQYWludGVyKCkgOiBtX3RoZW1lKDApIHsgfQorICAgIFdlYlNjcm9sbGJhclRo
ZW1lUGFpbnRlcihjb25zdCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXImIGdlb21ldHJ5KSB7IGFz
c2lnbihnZW9tZXRyeSk7IH0KKyAgICB2aXJ0dWFsIH5XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIo
KSB7IH0KKyAgICBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXImIG9wZXJhdG9yPShjb25zdCBXZWJT
Y3JvbGxiYXJUaGVtZVBhaW50ZXImIHBhaW50ZXIpCisgICAgeworICAgICAgICBhc3NpZ24ocGFp
bnRlcik7CisgICAgICAgIHJldHVybiAqdGhpczsKKyAgICB9CisKKyAgICBib29sIGlzTnVsbCgp
IGNvbnN0IHsgcmV0dXJuIG1fdGhlbWU7IH0KKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNzaWdu
KGNvbnN0IFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlciYpOworCisgICAgV0VCS0lUX0VYUE9SVCB2
b2lkIHBhaW50U2Nyb2xsYmFyQmFja2dyb3VuZChXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBj
b25zdCBXZWJSZWN0Jik7CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHBhaW50VHJhY2tCYWNrZ3Jv
dW5kKFdlYkNhbnZhcyosIFdlYlNjcm9sbGJhciosIGNvbnN0IFdlYlJlY3QmKTsKKyAgICBXRUJL
SVRfRVhQT1JUIHZvaWQgcGFpbnRCYWNrVHJhY2tQYXJ0KFdlYkNhbnZhcyosIFdlYlNjcm9sbGJh
ciosIGNvbnN0IFdlYlJlY3QmKTsKKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgcGFpbnRGb3J3YXJk
VHJhY2tQYXJ0KFdlYkNhbnZhcyosIFdlYlNjcm9sbGJhciosIGNvbnN0IFdlYlJlY3QmKTsKKyAg
ICBXRUJLSVRfRVhQT1JUIHZvaWQgcGFpbnRCYWNrQnV0dG9uU3RhcnQoV2ViQ2FudmFzKiwgV2Vi
U2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYpOworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBwYWlu
dEJhY2tCdXR0b25FbmQoV2ViQ2FudmFzKiwgV2ViU2Nyb2xsYmFyKiwgY29uc3QgV2ViUmVjdCYp
OworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBwYWludEZvcndhcmRCdXR0b25TdGFydChXZWJDYW52
YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0Jik7CisgICAgV0VCS0lUX0VYUE9SVCB2
b2lkIHBhaW50Rm9yd2FyZEJ1dHRvbkVuZChXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25z
dCBXZWJSZWN0Jik7CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHBhaW50VGlja21hcmtzKFdlYkNh
bnZhcyosIFdlYlNjcm9sbGJhciosIGNvbnN0IFdlYlJlY3QmKTsKKyAgICBXRUJLSVRfRVhQT1JU
IHZvaWQgcGFpbnRUaHVtYihXZWJDYW52YXMqLCBXZWJTY3JvbGxiYXIqLCBjb25zdCBXZWJSZWN0
Jik7CisKKyNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KKyAgICBXZWJTY3JvbGxiYXJUaGVtZVBh
aW50ZXIoV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqKTsKKyNlbmRpZgorCitwcml2
YXRlOgorICAgIC8vIFRoZSB0aGVtZSBpcyBub3Qgb3duZWQgYnkgdGhpcyBjbGFzcy4gSXQgaXMg
YXNzdW1lZCB0aGF0IHRoZSB0aGVtZSBpcyBhCisgICAgLy8gc3RhdGljIHBvaW50ZXIgYW5kIGl0
cyBsaWZldGltZSBpcyBlc3NlbnRpYWxseSBpbmZpbml0ZS4gVGhlIGZ1bmN0aW9ucworICAgIC8v
IGNhbGxlZCBmcm9tIHRoZSBwYWludGVyIG1heSBub3QgYmUgdGhyZWFkLXNhZmUsIHNvIGFsbCBj
YWxscyBtdXN0IGJlIG1hZGUKKyAgICAvLyBmcm9tIHRoZSBzYW1lIHRocmVhZCB0aGF0IGl0IGlz
IGNyZWF0ZWQgb24uCisgICAgV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUqIG1fdGhl
bWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRv
ckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCmluZGV4IDk5NzI2MDg3Y2Y3ZDA3ZTQxMzFj
ZjExNjg2NTdmMjg4NTg5MmU1YTMuLjdmYTNmNWQxNjVlMWY5YjY3NWE5ZDg0NjEwOGZjOGY2Mjgx
YWE4MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVt
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCkBA
IC0zNCw5ICszNCwxMiBAQAogI2luY2x1ZGUgIlJlbmRlckxheWVyQ29tcG9zaXRvci5oIgogI2lu
Y2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJTY3JvbGxiYXJMYXllckNocm9taXVtLmgi
Ci0jaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWUuaCIKKyNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZUNv
bXBvc2l0ZS5oIgogI2luY2x1ZGUgImNjL0NDUHJveHkuaCIKICNpbmNsdWRlIDxwdWJsaWMvV2Vi
U2Nyb2xsYWJsZUxheWVyLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhci5oPgorI2lu
Y2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5Lmg+CisjaW5jbHVkZSA8cHVi
bGljL1dlYlNjcm9sbGJhclRoZW1lUGFpbnRlci5oPgogCiB1c2luZyBXZWJLaXQ6OldlYkxheWVy
OwogdXNpbmcgV2ViS2l0OjpXZWJTY3JvbGxhYmxlTGF5ZXI7CkBAIC0xMzQsMTMgKzEzNywyMSBA
QCBzdGF0aWMgV2ViTGF5ZXIgY3JlYXRlU2Nyb2xsYmFyTGF5ZXIoU2Nyb2xsYmFyKiBzY3JvbGxi
YXIsIFdlYlNjcm9sbGFibGVMYXllciBzYwogICAgIHBsYXRmb3JtU3VwcG9ydGVkID0gZmFsc2U7
CiAjZW5kaWYKIAotICAgIGlmICghcGxhdGZvcm1TdXBwb3J0ZWQgfHwgc2Nyb2xsYmFyLT5pc092
ZXJsYXlTY3JvbGxiYXIoKSkgeworICAgIGlmICghcGxhdGZvcm1TdXBwb3J0ZWQgfHwgc2Nyb2xs
YmFyLT5pc092ZXJsYXlTY3JvbGxiYXIoKSB8fCBzY3JvbGxiYXItPmlzQ3VzdG9tU2Nyb2xsYmFy
KCkpIHsKICAgICAgICAgc2Nyb2xsYmFyR3JhcGhpY3NMYXllci0+c2V0Q29udGVudHNUb01lZGlh
KDApOwogICAgICAgICBzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5zZXREcmF3c0NvbnRlbnQodHJ1
ZSk7CiAgICAgICAgIHJldHVybiBXZWJMYXllcigpOwogICAgIH0KIAotICAgIFJlZlB0cjxTY3Jv
bGxiYXJMYXllckNocm9taXVtPiBzY3JvbGxiYXJMYXllciA9IFNjcm9sbGJhckxheWVyQ2hyb21p
dW06OmNyZWF0ZShzY3JvbGxiYXIsIHNjcm9sbExheWVyLnVud3JhcDxMYXllckNocm9taXVtPigp
LT5pZCgpKTsKKyAgICAvLyBBbGwgQ2hyb21pdW0gc2Nyb2xsYmFyIHRoZW1lcyBkZXJpdmUgZnJv
bSBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS4KKyAgICBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSog
dGhlbWVDb21wb3NpdGUgPSBzdGF0aWNfY2FzdDxTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSo+KHNj
cm9sbGJhci0+dGhlbWUoKSk7CisKKyAgICAvLyBTY3JvbGxiYXJMYXllckNocm9taXVtIG93bnMg
dGhlIFdlYlNjcm9sbGJhcgorICAgIE93blB0cjxXZWJLaXQ6OldlYlNjcm9sbGJhcj4gd2ViU2Ny
b2xsYmFyID0gV2ViS2l0OjpXZWJTY3JvbGxiYXI6OmNyZWF0ZShzY3JvbGxiYXIpOworICAgIFdl
YktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIodGhlbWVDb21wb3NpdGUpOwor
ICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBnZW9tZXRyeSh0aGVtZUNvbXBv
c2l0ZSk7CisKKyAgICBSZWZQdHI8U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4gc2Nyb2xsYmFyTGF5
ZXIgPSBTY3JvbGxiYXJMYXllckNocm9taXVtOjpjcmVhdGUod2ViU2Nyb2xsYmFyLnJlbGVhc2Uo
KSwgcGFpbnRlciwgZ2VvbWV0cnksIHNjcm9sbExheWVyLnVud3JhcDxMYXllckNocm9taXVtPigp
LT5pZCgpKTsKICAgICBzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5zZXRDb250ZW50c1RvTWVkaWEo
c2Nyb2xsYmFyTGF5ZXIuZ2V0KCkpOwogICAgIHNjcm9sbGJhckdyYXBoaWNzTGF5ZXItPnNldERy
YXdzQ29udGVudChmYWxzZSk7CiAgICAgc2Nyb2xsYmFyTGF5ZXItPnNldE9wYXF1ZShzY3JvbGxi
YXJHcmFwaGljc0xheWVyLT5jb250ZW50c09wYXF1ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxiYXJUaGVtZUNsaWVudC5oCmluZGV4IDg3MWM1MmU5MGI4OTkwZjg4NmE2
YjdkM2ZkNWZkNGU0ZGJmNjlmMjUuLmViYTQwOTQ2OWMyZGIyOTMyZmVlNTJlOTI3MTQxMDVlNjRk
ZmIwZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1l
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDbGll
bnQuaApAQCAtODMsNiArODMsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGVuYWJsZWQo
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEVuYWJsZWQoYm9vbCkgPSAwOwogCisg
ICAgdmlydHVhbCBib29sIGlzT3ZlcmxheVNjcm9sbGJhcigpIGNvbnN0ID0gMDsKKwogcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgflNjcm9sbGJhclRoZW1lQ2xpZW50KCkgeyB9CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFy
TGF5ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9TY3JvbGxiYXJMYXllckNocm9taXVtLmNwcAppbmRleCAwNmM2MDc5ZmU1ZWIyZjc0YTQz
OTk3NzBlMmM2NGE4ZDVhMmJhMGVhLi42MGE5NDNmZmJkNzkyYzUzZmFmNDM3NjcwNWJlYjMwNmQx
MDQwMjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9TY3JvbGxiYXJMYXllckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9TY3JvbGxiYXJMYXllckNocm9taXVtLmNwcApAQCAtMzcs
NiArMzcsOSBAQAogI2luY2x1ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdC5oIgogI2luY2x1ZGUgImNj
L0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmgiCiAjaW5jbHVkZSAiY2MvQ0NUZXh0dXJlVXBkYXRlci5o
IgorI2luY2x1ZGUgPHB1YmxpYy9XZWJSZWN0Lmg+CisKK3VzaW5nIFdlYktpdDo6V2ViUmVjdDsK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00NSwyNyArNDgsMTggQEAgUGFzc093blB0cjxD
Q0xheWVySW1wbD4gU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlQ0NMYXllckltcGwoKQog
ICAgIHJldHVybiBDQ1Njcm9sbGJhckxheWVySW1wbDo6Y3JlYXRlKGlkKCkpOwogfQogCi1QYXNz
UmVmUHRyPFNjcm9sbGJhckxheWVyQ2hyb21pdW0+IFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNy
ZWF0ZShTY3JvbGxiYXIqIHNjcm9sbGJhciwgaW50IHNjcm9sbExheWVySWQpCitQYXNzUmVmUHRy
PFNjcm9sbGJhckxheWVyQ2hyb21pdW0+IFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNyZWF0ZShQ
YXNzT3duUHRyPFdlYktpdDo6V2ViU2Nyb2xsYmFyPiBzY3JvbGxiYXIsIFdlYktpdDo6V2ViU2Ny
b2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9t
ZXRyeSBnZW9tZXRyeSwgaW50IHNjcm9sbExheWVySWQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBTY3JvbGxiYXJMYXllckNocm9taXVtKHNjcm9sbGJhciwgc2Nyb2xsTGF5ZXJJZCkpOwor
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bShzY3JvbGxiYXIs
IHBhaW50ZXIsIGdlb21ldHJ5LCBzY3JvbGxMYXllcklkKSk7CiB9CiAKLVNjcm9sbGJhckxheWVy
Q2hyb21pdW06OlNjcm9sbGJhckxheWVyQ2hyb21pdW0oU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGlu
dCBzY3JvbGxMYXllcklkKQorU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6U2Nyb2xsYmFyTGF5ZXJD
aHJvbWl1bShQYXNzT3duUHRyPFdlYktpdDo6V2ViU2Nyb2xsYmFyPiBzY3JvbGxiYXIsIFdlYktp
dDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyIHBhaW50ZXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVHZW9tZXRyeSBnZW9tZXRyeSwgaW50IHNjcm9sbExheWVySWQpCiAgICAgOiBtX3Njcm9s
bGJhcihzY3JvbGxiYXIpCisgICAgLCBtX3BhaW50ZXIocGFpbnRlcikKKyAgICAsIG1fZ2VvbWV0
cnkoZ2VvbWV0cnkpCiAgICAgLCBtX3Njcm9sbExheWVySWQoc2Nyb2xsTGF5ZXJJZCkKICAgICAs
IG1fdGV4dHVyZUZvcm1hdChHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9FTlVNKQotICAgICwg
bV9zY3JvbGxiYXJPdmVybGF5U3R5bGUoc2Nyb2xsYmFyLT5zY3JvbGxiYXJPdmVybGF5U3R5bGUo
KSkKLSAgICAsIG1faXNTY3JvbGxhYmxlQXJlYUFjdGl2ZShzY3JvbGxiYXItPmlzU2Nyb2xsYWJs
ZUFyZWFBY3RpdmUoKSkKLSAgICAsIG1faXNTY3JvbGxWaWV3U2Nyb2xsYmFyKHNjcm9sbGJhci0+
aXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCkpCi0gICAgLCBtX29yaWVudGF0aW9uKHNjcm9sbGJhci0+
b3JpZW50YXRpb24oKSkKLSAgICAsIG1fY29udHJvbFNpemUoc2Nyb2xsYmFyLT5jb250cm9sU2l6
ZSgpKQotewotfQotCi1TY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogU2Nyb2xsYmFyTGF5ZXJDaHJv
bWl1bTo6dGhlbWUoKSBjb25zdAogewotICAgIC8vIEFsbCBDaHJvbWl1bSBzY3JvbGxiYXJzIGFy
ZSBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS1kZXJpdmVkLgotICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSo+KG1fc2Nyb2xsYmFyLT50aGVtZSgpKTsKIH0KIAog
dm9pZCBTY3JvbGxiYXJMYXllckNocm9taXVtOjpwdXNoUHJvcGVydGllc1RvKENDTGF5ZXJJbXBs
KiBsYXllcikKQEAgLTc0LDcgKzY4LDcgQEAgdm9pZCBTY3JvbGxiYXJMYXllckNocm9taXVtOjpw
dXNoUHJvcGVydGllc1RvKENDTGF5ZXJJbXBsKiBsYXllcikKIAogICAgIENDU2Nyb2xsYmFyTGF5
ZXJJbXBsKiBzY3JvbGxiYXJMYXllciA9IHN0YXRpY19jYXN0PENDU2Nyb2xsYmFyTGF5ZXJJbXBs
Kj4obGF5ZXIpOwogCi0gICAgc2Nyb2xsYmFyTGF5ZXItPnNldFNjcm9sbGJhck92ZXJsYXlTdHls
ZShtX3Njcm9sbGJhck92ZXJsYXlTdHlsZSk7CisgICAgc2Nyb2xsYmFyTGF5ZXItPnNldFNjcm9s
bGJhckRhdGEobV9zY3JvbGxiYXIuZ2V0KCksIG1fZ2VvbWV0cnkpOwogCiAgICAgaWYgKG1fYmFj
a1RyYWNrICYmIG1fYmFja1RyYWNrLT50ZXh0dXJlKCktPmhhdmVCYWNraW5nVGV4dHVyZSgpKQog
ICAgICAgICBzY3JvbGxiYXJMYXllci0+c2V0QmFja1RyYWNrUmVzb3VyY2VJZChtX2JhY2tUcmFj
ay0+dGV4dHVyZSgpLT5yZXNvdXJjZUlkKCkpOwpAQCAtOTAsMTA1ICs4NCw5NCBAQCB2b2lkIFNj
cm9sbGJhckxheWVyQ2hyb21pdW06OnB1c2hQcm9wZXJ0aWVzVG8oQ0NMYXllckltcGwqIGxheWVy
KQogICAgICAgICBzY3JvbGxiYXJMYXllci0+c2V0VGh1bWJSZXNvdXJjZUlkKG1fdGh1bWItPnRl
eHR1cmUoKS0+cmVzb3VyY2VJZCgpKTsKICAgICBlbHNlCiAgICAgICAgIHNjcm9sbGJhckxheWVy
LT5zZXRUaHVtYlJlc291cmNlSWQoMCk7Ci0KLSAgICBWZWN0b3I8SW50UmVjdD4gdGlja21hcmtz
OwotICAgIG1fc2Nyb2xsYmFyLT5nZXRUaWNrbWFya3ModGlja21hcmtzKTsKLSAgICBzY3JvbGxi
YXJMYXllci0+c2V0VGlja21hcmtzKHRpY2ttYXJrcyk7Ci0KLSAgICBzY3JvbGxiYXJMYXllci0+
c2V0SXNTY3JvbGxhYmxlQXJlYUFjdGl2ZShtX2lzU2Nyb2xsYWJsZUFyZWFBY3RpdmUpOwotICAg
IHNjcm9sbGJhckxheWVyLT5zZXRJc1Njcm9sbFZpZXdTY3JvbGxiYXIobV9pc1Njcm9sbFZpZXdT
Y3JvbGxiYXIpOwotCi0gICAgc2Nyb2xsYmFyTGF5ZXItPnNldE9yaWVudGF0aW9uKG1fb3JpZW50
YXRpb24pOwotCi0gICAgc2Nyb2xsYmFyTGF5ZXItPnNldENvbnRyb2xTaXplKG1fY29udHJvbFNp
emUpOwotCi0gICAgc2Nyb2xsYmFyTGF5ZXItPnNldFByZXNzZWRQYXJ0KG1fc2Nyb2xsYmFyLT5w
cmVzc2VkUGFydCgpKTsKLSAgICBzY3JvbGxiYXJMYXllci0+c2V0SG92ZXJlZFBhcnQobV9zY3Jv
bGxiYXItPmhvdmVyZWRQYXJ0KCkpOwotCi0gICAgc2Nyb2xsYmFyTGF5ZXItPnNldEVuYWJsZWQo
bV9zY3JvbGxiYXItPmVuYWJsZWQoKSk7CiB9CiAKIGNsYXNzIFNjcm9sbGJhckJhY2tncm91bmRQ
YWludGVyIDogcHVibGljIExheWVyUGFpbnRlckNocm9taXVtIHsKICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcik7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NPd25QdHI8U2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50ZXI+IGNyZWF0ZShTY3JvbGxiYXJU
aGVtZUNsaWVudCogc2Nyb2xsYmFyLCBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhlbWUsIFNj
cm9sbGJhclBhcnQgdHJhY2tQYXJ0KQorICAgIHN0YXRpYyBQYXNzT3duUHRyPFNjcm9sbGJhckJh
Y2tncm91bmRQYWludGVyPiBjcmVhdGUoV2ViS2l0OjpXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwg
V2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIgcGFpbnRlciwgV2ViS2l0OjpXZWJTY3Jv
bGxiYXJUaGVtZUdlb21ldHJ5IGdlb21ldHJ5LCBTY3JvbGxiYXJQYXJ0IHRyYWNrUGFydCkKICAg
ICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgU2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50
ZXIoc2Nyb2xsYmFyLCB0aGVtZSwgdHJhY2tQYXJ0KSk7CisgICAgICAgIHJldHVybiBhZG9wdFB0
cihuZXcgU2Nyb2xsYmFyQmFja2dyb3VuZFBhaW50ZXIoc2Nyb2xsYmFyLCBwYWludGVyLCBnZW9t
ZXRyeSwgdHJhY2tQYXJ0KSk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIHBhaW50KFNrQ2Fu
dmFzKiBjYW52YXMsIGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0LCBGbG9hdFJlY3QmKSBPVkVS
UklERQorICAgIHZpcnR1YWwgdm9pZCBwYWludChTa0NhbnZhcyogc2tDYW52YXMsIGNvbnN0IElu
dFJlY3QmIGNvbnRlbnRSZWN0LCBGbG9hdFJlY3QmKSBPVkVSUklERQogICAgIHsKLSAgICAgICAg
UGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKLSAgICAgICAgcGxh
dGZvcm1Db250ZXh0LnNldERyYXdpbmdUb0ltYWdlQnVmZmVyKHRydWUpOwotICAgICAgICBHcmFw
aGljc0NvbnRleHQgY29udGV4dCgmcGxhdGZvcm1Db250ZXh0KTsKLQorICAgICAgICBXZWJLaXQ6
OldlYkNhbnZhcyogY2FudmFzID0gc2tDYW52YXM7CiAgICAgICAgIC8vIFRoZSBmb2xsb3dpbmcg
aXMgYSBzaW1wbGlmaWNhdGlvbiBvZiBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZTo6cGFpbnQuCi0g
ICAgICAgIG1fdGhlbWUtPnBhaW50U2Nyb2xsYmFyQmFja2dyb3VuZCgmY29udGV4dCwgbV9zY3Jv
bGxiYXIpOworICAgICAgICBtX3BhaW50ZXIucGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKGNhbnZh
cywgbV9zY3JvbGxiYXIsIGNvbnRlbnRSZWN0KTsKIAotICAgICAgICBpZiAobV90aGVtZS0+aGFz
QnV0dG9ucyhtX3Njcm9sbGJhcikpIHsKLSAgICAgICAgICAgIEludFJlY3QgYmFja0J1dHRvblN0
YXJ0UGFpbnRSZWN0ID0gbV90aGVtZS0+YmFja0J1dHRvblJlY3QobV9zY3JvbGxiYXIsIEJhY2tC
dXR0b25TdGFydFBhcnQsIHRydWUpOwotICAgICAgICAgICAgbV90aGVtZS0+cGFpbnRCdXR0b24o
JmNvbnRleHQsIG1fc2Nyb2xsYmFyLCBiYWNrQnV0dG9uU3RhcnRQYWludFJlY3QsIEJhY2tCdXR0
b25TdGFydFBhcnQpOworICAgICAgICBpZiAobV9nZW9tZXRyeS5oYXNCdXR0b25zKG1fc2Nyb2xs
YmFyKSkgeworICAgICAgICAgICAgV2ViUmVjdCBiYWNrQnV0dG9uU3RhcnRQYWludFJlY3QgPSBt
X2dlb21ldHJ5LmJhY2tCdXR0b25TdGFydFJlY3QobV9zY3JvbGxiYXIpOworICAgICAgICAgICAg
bV9wYWludGVyLnBhaW50QmFja0J1dHRvblN0YXJ0KGNhbnZhcywgbV9zY3JvbGxiYXIsIGJhY2tC
dXR0b25TdGFydFBhaW50UmVjdCk7CiAKLSAgICAgICAgICAgIEludFJlY3QgYmFja0J1dHRvbkVu
ZFBhaW50UmVjdCA9IG1fdGhlbWUtPmJhY2tCdXR0b25SZWN0KG1fc2Nyb2xsYmFyLCBCYWNrQnV0
dG9uRW5kUGFydCwgdHJ1ZSk7Ci0gICAgICAgICAgICBtX3RoZW1lLT5wYWludEJ1dHRvbigmY29u
dGV4dCwgbV9zY3JvbGxiYXIsIGJhY2tCdXR0b25FbmRQYWludFJlY3QsIEJhY2tCdXR0b25FbmRQ
YXJ0KTsKKyAgICAgICAgICAgIFdlYlJlY3QgYmFja0J1dHRvbkVuZFBhaW50UmVjdCA9IG1fZ2Vv
bWV0cnkuYmFja0J1dHRvbkVuZFJlY3QobV9zY3JvbGxiYXIpOworICAgICAgICAgICAgbV9wYWlu
dGVyLnBhaW50QmFja0J1dHRvbkVuZChjYW52YXMsIG1fc2Nyb2xsYmFyLCBiYWNrQnV0dG9uRW5k
UGFpbnRSZWN0KTsKIAotICAgICAgICAgICAgSW50UmVjdCBmb3J3YXJkQnV0dG9uU3RhcnRQYWlu
dFJlY3QgPSBtX3RoZW1lLT5mb3J3YXJkQnV0dG9uUmVjdChtX3Njcm9sbGJhciwgRm9yd2FyZEJ1
dHRvblN0YXJ0UGFydCwgdHJ1ZSk7Ci0gICAgICAgICAgICBtX3RoZW1lLT5wYWludEJ1dHRvbigm
Y29udGV4dCwgbV9zY3JvbGxiYXIsIGZvcndhcmRCdXR0b25TdGFydFBhaW50UmVjdCwgRm9yd2Fy
ZEJ1dHRvblN0YXJ0UGFydCk7CisgICAgICAgICAgICBXZWJSZWN0IGZvcndhcmRCdXR0b25TdGFy
dFBhaW50UmVjdCA9IG1fZ2VvbWV0cnkuZm9yd2FyZEJ1dHRvblN0YXJ0UmVjdChtX3Njcm9sbGJh
cik7CisgICAgICAgICAgICBtX3BhaW50ZXIucGFpbnRGb3J3YXJkQnV0dG9uU3RhcnQoY2FudmFz
LCBtX3Njcm9sbGJhciwgZm9yd2FyZEJ1dHRvblN0YXJ0UGFpbnRSZWN0KTsKIAotICAgICAgICAg
ICAgSW50UmVjdCBmb3J3YXJkQnV0dG9uRW5kUGFpbnRSZWN0ID0gbV90aGVtZS0+Zm9yd2FyZEJ1
dHRvblJlY3QobV9zY3JvbGxiYXIsIEZvcndhcmRCdXR0b25FbmRQYXJ0LCB0cnVlKTsKLSAgICAg
ICAgICAgIG1fdGhlbWUtPnBhaW50QnV0dG9uKCZjb250ZXh0LCBtX3Njcm9sbGJhciwgZm9yd2Fy
ZEJ1dHRvbkVuZFBhaW50UmVjdCwgRm9yd2FyZEJ1dHRvbkVuZFBhcnQpOworICAgICAgICAgICAg
V2ViUmVjdCBmb3J3YXJkQnV0dG9uRW5kUGFpbnRSZWN0ID0gbV9nZW9tZXRyeS5mb3J3YXJkQnV0
dG9uRW5kUmVjdChtX3Njcm9sbGJhcik7CisgICAgICAgICAgICBtX3BhaW50ZXIucGFpbnRGb3J3
YXJkQnV0dG9uRW5kKGNhbnZhcywgbV9zY3JvbGxiYXIsIGZvcndhcmRCdXR0b25FbmRQYWludFJl
Y3QpOwogICAgICAgICB9CiAKLSAgICAgICAgSW50UmVjdCB0cmFja1BhaW50UmVjdCA9IG1fdGhl
bWUtPnRyYWNrUmVjdChtX3Njcm9sbGJhciwgdHJ1ZSk7Ci0gICAgICAgIG1fdGhlbWUtPnBhaW50
VHJhY2tCYWNrZ3JvdW5kKCZjb250ZXh0LCBtX3Njcm9sbGJhciwgdHJhY2tQYWludFJlY3QpOwor
ICAgICAgICBXZWJSZWN0IHRyYWNrUGFpbnRSZWN0ID0gbV9nZW9tZXRyeS50cmFja1JlY3QobV9z
Y3JvbGxiYXIpOworICAgICAgICBtX3BhaW50ZXIucGFpbnRUcmFja0JhY2tncm91bmQoY2FudmFz
LCBtX3Njcm9sbGJhciwgdHJhY2tQYWludFJlY3QpOwogCi0gICAgICAgIGJvb2wgdGh1bWJQcmVz
ZW50ID0gbV90aGVtZS0+aGFzVGh1bWIobV9zY3JvbGxiYXIpOwotICAgICAgICBpZiAodGh1bWJQ
cmVzZW50KQotICAgICAgICAgICAgbV90aGVtZS0+cGFpbnRUcmFja1BpZWNlKCZjb250ZXh0LCBt
X3Njcm9sbGJhciwgdHJhY2tQYWludFJlY3QsIG1fdHJhY2tQYXJ0KTsKKyAgICAgICAgYm9vbCB0
aHVtYlByZXNlbnQgPSBtX2dlb21ldHJ5Lmhhc1RodW1iKG1fc2Nyb2xsYmFyKTsKKyAgICAgICAg
aWYgKHRodW1iUHJlc2VudCkgeworICAgICAgICAgICAgaWYgKG1fdHJhY2tQYXJ0ID09IEZvcndh
cmRUcmFja1BhcnQpCisgICAgICAgICAgICAgICAgbV9wYWludGVyLnBhaW50Rm9yd2FyZFRyYWNr
UGFydChjYW52YXMsIG1fc2Nyb2xsYmFyLCB0cmFja1BhaW50UmVjdCk7CisgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgbV9wYWludGVyLnBhaW50QmFja1RyYWNrUGFydChjYW52YXMs
IG1fc2Nyb2xsYmFyLCB0cmFja1BhaW50UmVjdCk7CisgICAgICAgIH0KIAotICAgICAgICBtX3Ro
ZW1lLT5wYWludFRpY2ttYXJrcygmY29udGV4dCwgbV9zY3JvbGxiYXIsIHRyYWNrUGFpbnRSZWN0
KTsKKyAgICAgICAgbV9wYWludGVyLnBhaW50VGlja21hcmtzKGNhbnZhcywgbV9zY3JvbGxiYXIs
IHRyYWNrUGFpbnRSZWN0KTsKICAgICB9CiBwcml2YXRlOgotICAgIFNjcm9sbGJhckJhY2tncm91
bmRQYWludGVyKFNjcm9sbGJhclRoZW1lQ2xpZW50KiBzY3JvbGxiYXIsIFNjcm9sbGJhclRoZW1l
Q29tcG9zaXRlKiB0aGVtZSwgU2Nyb2xsYmFyUGFydCB0cmFja1BhcnQpCisgICAgU2Nyb2xsYmFy
QmFja2dyb3VuZFBhaW50ZXIoV2ViS2l0OjpXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgV2ViS2l0
OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIgcGFpbnRlciwgV2ViS2l0OjpXZWJTY3JvbGxiYXJU
aGVtZUdlb21ldHJ5IGdlb21ldHJ5LCBTY3JvbGxiYXJQYXJ0IHRyYWNrUGFydCkKICAgICAgICAg
OiBtX3Njcm9sbGJhcihzY3JvbGxiYXIpCi0gICAgICAgICwgbV90aGVtZSh0aGVtZSkKKyAgICAg
ICAgLCBtX3BhaW50ZXIocGFpbnRlcikKKyAgICAgICAgLCBtX2dlb21ldHJ5KGdlb21ldHJ5KQog
ICAgICAgICAsIG1fdHJhY2tQYXJ0KHRyYWNrUGFydCkKICAgICB7CiAgICAgfQogCi0gICAgU2Ny
b2xsYmFyVGhlbWVDbGllbnQqIG1fc2Nyb2xsYmFyOwotICAgIFNjcm9sbGJhclRoZW1lQ29tcG9z
aXRlKiBtX3RoZW1lOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyKiBtX3Njcm9sbGJhcjsKKyAg
ICBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBtX3BhaW50ZXI7CisgICAgV2ViS2l0
OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IG1fZ2VvbWV0cnk7CiAgICAgU2Nyb2xsYmFyUGFy
dCBtX3RyYWNrUGFydDsKIH07CiAKIGNsYXNzIFNjcm9sbGJhclRodW1iUGFpbnRlciA6IHB1Ymxp
YyBMYXllclBhaW50ZXJDaHJvbWl1bSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2Nyb2xs
YmFyVGh1bWJQYWludGVyKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxTY3JvbGxi
YXJUaHVtYlBhaW50ZXI+IGNyZWF0ZShTY3JvbGxiYXJUaGVtZUNsaWVudCogc2Nyb2xsYmFyLCBT
Y3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhlbWUpCisgICAgc3RhdGljIFBhc3NPd25QdHI8U2Ny
b2xsYmFyVGh1bWJQYWludGVyPiBjcmVhdGUoV2ViS2l0OjpXZWJTY3JvbGxiYXIqIHNjcm9sbGJh
ciwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIgcGFpbnRlciwgV2ViS2l0OjpXZWJT
Y3JvbGxiYXJUaGVtZUdlb21ldHJ5IGdlb21ldHJ5KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBTY3JvbGxiYXJUaHVtYlBhaW50ZXIoc2Nyb2xsYmFyLCB0aGVtZSkpOworICAg
ICAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNjcm9sbGJhclRodW1iUGFpbnRlcihzY3JvbGxiYXIs
IHBhaW50ZXIsIGdlb21ldHJ5KSk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIHBhaW50KFNr
Q2FudmFzKiBjYW52YXMsIGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0LCBGbG9hdFJlY3QmIG9w
YXF1ZSkgT1ZFUlJJREUKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoU2tDYW52YXMqIHNrQ2FudmFz
LCBjb25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCwgRmxvYXRSZWN0JiBvcGFxdWUpIE9WRVJSSURF
CiAgICAgewotICAgICAgICBQbGF0Zm9ybUNvbnRleHRTa2lhIHBsYXRmb3JtQ29udGV4dChjYW52
YXMpOwotICAgICAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1
ZSk7Ci0gICAgICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOwor
ICAgICAgICBXZWJLaXQ6OldlYkNhbnZhcyogY2FudmFzID0gc2tDYW52YXM7CiAKICAgICAgICAg
Ly8gQ29uc2lkZXIgdGhlIHRodW1iIHRvIGJlIGF0IHRoZSBvcmlnaW4gd2hlbiBwYWludGluZy4K
LSAgICAgICAgSW50UmVjdCB0aHVtYlJlY3QgPSBJbnRSZWN0KEludFBvaW50KCksIG1fdGhlbWUt
PnRodW1iUmVjdChtX3Njcm9sbGJhcikuc2l6ZSgpKTsKLSAgICAgICAgbV90aGVtZS0+cGFpbnRU
aHVtYigmY29udGV4dCwgbV9zY3JvbGxiYXIsIHRodW1iUmVjdCk7CisgICAgICAgIFdlYlJlY3Qg
dGh1bWJSZWN0ID0gbV9nZW9tZXRyeS50aHVtYlJlY3QobV9zY3JvbGxiYXIpOworICAgICAgICB0
aHVtYlJlY3QueCA9IDA7CisgICAgICAgIHRodW1iUmVjdC55ID0gMDsKKyAgICAgICAgbV9wYWlu
dGVyLnBhaW50VGh1bWIoY2FudmFzLCBtX3Njcm9sbGJhciwgdGh1bWJSZWN0KTsKICAgICB9CiAK
IHByaXZhdGU6Ci0gICAgU2Nyb2xsYmFyVGh1bWJQYWludGVyKFNjcm9sbGJhclRoZW1lQ2xpZW50
KiBzY3JvbGxiYXIsIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlKiB0aGVtZSkKKyAgICBTY3JvbGxi
YXJUaHVtYlBhaW50ZXIoV2ViS2l0OjpXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgV2ViS2l0OjpX
ZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIgcGFpbnRlciwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVt
ZUdlb21ldHJ5IGdlb21ldHJ5KQogICAgICAgICA6IG1fc2Nyb2xsYmFyKHNjcm9sbGJhcikKLSAg
ICAgICAgLCBtX3RoZW1lKHRoZW1lKQorICAgICAgICAsIG1fcGFpbnRlcihwYWludGVyKQorICAg
ICAgICAsIG1fZ2VvbWV0cnkoZ2VvbWV0cnkpCiAgICAgewogICAgIH0KIAotICAgIFNjcm9sbGJh
clRoZW1lQ2xpZW50KiBtX3Njcm9sbGJhcjsKLSAgICBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSog
bV90aGVtZTsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhciogbV9zY3JvbGxiYXI7CisgICAgV2Vi
S2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIgbV9wYWludGVyOworICAgIFdlYktpdDo6V2Vi
U2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBtX2dlb21ldHJ5OwogfTsKIAogdm9pZCBTY3JvbGxiYXJM
YXllckNocm9taXVtOjpzZXRMYXllclRyZWVIb3N0KENDTGF5ZXJUcmVlSG9zdCogaG9zdCkKQEAg
LTIwOCwyMCArMTkxLDIwIEBAIHZvaWQgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlVGV4
dHVyZVVwZGF0ZXJJZk5lZWRlZCgpCiAgICAgbV90ZXh0dXJlRm9ybWF0ID0gbGF5ZXJUcmVlSG9z
dCgpLT5sYXllclJlbmRlcmVyQ2FwYWJpbGl0aWVzKCkuYmVzdFRleHR1cmVGb3JtYXQ7CiAKICAg
ICBpZiAoIW1fYmFja1RyYWNrVXBkYXRlcikKLSAgICAgICAgbV9iYWNrVHJhY2tVcGRhdGVyID0g
Qml0bWFwQ2FudmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6Y3JlYXRlKFNjcm9sbGJhckJhY2tncm91
bmRQYWludGVyOjpjcmVhdGUobV9zY3JvbGxiYXIuZ2V0KCksIHRoZW1lKCksIEJhY2tUcmFja1Bh
cnQpKTsKKyAgICAgICAgbV9iYWNrVHJhY2tVcGRhdGVyID0gQml0bWFwQ2FudmFzTGF5ZXJUZXh0
dXJlVXBkYXRlcjo6Y3JlYXRlKFNjcm9sbGJhckJhY2tncm91bmRQYWludGVyOjpjcmVhdGUobV9z
Y3JvbGxiYXIuZ2V0KCksIG1fcGFpbnRlciwgbV9nZW9tZXRyeSwgQmFja1RyYWNrUGFydCkpOwog
ICAgIGlmICghbV9iYWNrVHJhY2spCiAgICAgICAgIG1fYmFja1RyYWNrID0gbV9iYWNrVHJhY2tV
cGRhdGVyLT5jcmVhdGVUZXh0dXJlKGxheWVyVHJlZUhvc3QoKS0+Y29udGVudHNUZXh0dXJlTWFu
YWdlcigpKTsKIAogICAgIC8vIE9ubHkgY3JlYXRlIHR3by1wYXJ0IHRyYWNrIGlmIHdlIHRoaW5r
IHRoZSB0d28gcGFydHMgY291bGQgYmUgZGlmZmVyZW50IGluIGFwcGVhcmFuY2UuCiAgICAgaWYg
KG1fc2Nyb2xsYmFyLT5pc0N1c3RvbVNjcm9sbGJhcigpKSB7CiAgICAgICAgIGlmICghbV9mb3Jl
VHJhY2tVcGRhdGVyKQotICAgICAgICAgICAgbV9mb3JlVHJhY2tVcGRhdGVyID0gQml0bWFwQ2Fu
dmFzTGF5ZXJUZXh0dXJlVXBkYXRlcjo6Y3JlYXRlKFNjcm9sbGJhckJhY2tncm91bmRQYWludGVy
OjpjcmVhdGUobV9zY3JvbGxiYXIuZ2V0KCksIHRoZW1lKCksIEZvcndhcmRUcmFja1BhcnQpKTsK
KyAgICAgICAgICAgIG1fZm9yZVRyYWNrVXBkYXRlciA9IEJpdG1hcENhbnZhc0xheWVyVGV4dHVy
ZVVwZGF0ZXI6OmNyZWF0ZShTY3JvbGxiYXJCYWNrZ3JvdW5kUGFpbnRlcjo6Y3JlYXRlKG1fc2Ny
b2xsYmFyLmdldCgpLCBtX3BhaW50ZXIsIG1fZ2VvbWV0cnksIEZvcndhcmRUcmFja1BhcnQpKTsK
ICAgICAgICAgaWYgKCFtX2ZvcmVUcmFjaykKICAgICAgICAgICAgIG1fZm9yZVRyYWNrID0gbV9m
b3JlVHJhY2tVcGRhdGVyLT5jcmVhdGVUZXh0dXJlKGxheWVyVHJlZUhvc3QoKS0+Y29udGVudHNU
ZXh0dXJlTWFuYWdlcigpKTsKICAgICB9CiAKICAgICBpZiAoIW1fdGh1bWJVcGRhdGVyKQotICAg
ICAgICBtX3RodW1iVXBkYXRlciA9IEJpdG1hcENhbnZhc0xheWVyVGV4dHVyZVVwZGF0ZXI6OmNy
ZWF0ZShTY3JvbGxiYXJUaHVtYlBhaW50ZXI6OmNyZWF0ZShtX3Njcm9sbGJhci5nZXQoKSwgdGhl
bWUoKSkpOworICAgICAgICBtX3RodW1iVXBkYXRlciA9IEJpdG1hcENhbnZhc0xheWVyVGV4dHVy
ZVVwZGF0ZXI6OmNyZWF0ZShTY3JvbGxiYXJUaHVtYlBhaW50ZXI6OmNyZWF0ZShtX3Njcm9sbGJh
ci5nZXQoKSwgbV9wYWludGVyLCBtX2dlb21ldHJ5KSk7CiAgICAgaWYgKCFtX3RodW1iKQogICAg
ICAgICBtX3RodW1iID0gbV90aHVtYlVwZGF0ZXItPmNyZWF0ZVRleHR1cmUobGF5ZXJUcmVlSG9z
dCgpLT5jb250ZW50c1RleHR1cmVNYW5hZ2VyKCkpOwogfQpAQCAtMjY3LDcgKzI1MCw3IEBAIHZv
aWQgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6c2V0VGV4dHVyZVByaW9yaXRpZXMoY29uc3QgQ0NQ
cmlvcml0eUNhbGN1bGF0b3ImKQogICAgICAgICBtX2ZvcmVUcmFjay0+dGV4dHVyZSgpLT5zZXRS
ZXF1ZXN0UHJpb3JpdHkoQ0NQcmlvcml0eUNhbGN1bGF0b3I6OnVpUHJpb3JpdHkoZHJhd3NUb1Jv
b3QpKTsKICAgICB9CiAgICAgaWYgKG1fdGh1bWIpIHsKLSAgICAgICAgSW50U2l6ZSB0aHVtYlNp
emUgPSB0aGVtZSgpLT50aHVtYlJlY3QobV9zY3JvbGxiYXIuZ2V0KCkpLnNpemUoKTsKKyAgICAg
ICAgSW50U2l6ZSB0aHVtYlNpemUgPSBJbnRSZWN0KG1fZ2VvbWV0cnkudGh1bWJSZWN0KG1fc2Ny
b2xsYmFyLmdldCgpKSkuc2l6ZSgpOwogICAgICAgICBtX3RodW1iLT50ZXh0dXJlKCktPnNldERp
bWVuc2lvbnModGh1bWJTaXplLCBtX3RleHR1cmVGb3JtYXQpOwogICAgICAgICBtX3RodW1iLT50
ZXh0dXJlKCktPnNldFJlcXVlc3RQcmlvcml0eShDQ1ByaW9yaXR5Q2FsY3VsYXRvcjo6dWlQcmlv
cml0eShkcmF3c1RvUm9vdCkpOwogICAgIH0KQEAgLTI4MCwxNCArMjYzLDE0IEBAIHZvaWQgU2Ny
b2xsYmFyTGF5ZXJDaHJvbWl1bTo6dXBkYXRlKENDVGV4dHVyZVVwZGF0ZXImIHVwZGF0ZXIsIGNv
bnN0IENDT2NjbHVzaW9uCiAKICAgICBjcmVhdGVUZXh0dXJlVXBkYXRlcklmTmVlZGVkKCk7CiAK
LSAgICBJbnRQb2ludCBzY3JvbGxiYXJPcmlnaW4obV9zY3JvbGxiYXItPngoKSwgbV9zY3JvbGxi
YXItPnkoKSk7CisgICAgSW50UG9pbnQgc2Nyb2xsYmFyT3JpZ2luKG1fc2Nyb2xsYmFyLT5sb2Nh
dGlvbigpKTsKICAgICBJbnRSZWN0IGNvbnRlbnRSZWN0KHNjcm9sbGJhck9yaWdpbiwgY29udGVu
dEJvdW5kcygpKTsKICAgICB1cGRhdGVQYXJ0KG1fYmFja1RyYWNrVXBkYXRlci5nZXQoKSwgbV9i
YWNrVHJhY2suZ2V0KCksIGNvbnRlbnRSZWN0LCB1cGRhdGVyLCBzdGF0cyk7CiAgICAgaWYgKG1f
Zm9yZVRyYWNrICYmIG1fZm9yZVRyYWNrVXBkYXRlcikKICAgICAgICAgdXBkYXRlUGFydChtX2Zv
cmVUcmFja1VwZGF0ZXIuZ2V0KCksIG1fZm9yZVRyYWNrLmdldCgpLCBjb250ZW50UmVjdCwgdXBk
YXRlciwgc3RhdHMpOwogCiAgICAgLy8gQ29uc2lkZXIgdGhlIHRodW1iIHRvIGJlIGF0IHRoZSBv
cmlnaW4gd2hlbiBwYWludGluZy4KLSAgICBJbnRSZWN0IHRodW1iUmVjdCA9IEludFJlY3QoSW50
UG9pbnQoKSwgdGhlbWUoKS0+dGh1bWJSZWN0KG1fc2Nyb2xsYmFyLmdldCgpKS5zaXplKCkpOwor
ICAgIEludFJlY3QgdGh1bWJSZWN0ID0gSW50UmVjdChJbnRQb2ludCgpLCBJbnRSZWN0KG1fZ2Vv
bWV0cnkudGh1bWJSZWN0KG1fc2Nyb2xsYmFyLmdldCgpKSkuc2l6ZSgpKTsKICAgICBpZiAoIXRo
dW1iUmVjdC5pc0VtcHR5KCkpCiAgICAgICAgIHVwZGF0ZVBhcnQobV90aHVtYlVwZGF0ZXIuZ2V0
KCksIG1fdGh1bWIuZ2V0KCksIHRodW1iUmVjdCwgdXBkYXRlciwgc3RhdHMpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vU2Nyb2xsYmFy
TGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5oCmluZGV4IDE3YTdhY2U4MjEwZTVlMTg0MjUwOTA5
ZDMzMmZhNzJlYzE1MWI5ZDEuLjQyNTJlMjY4ZWRjYzFkODliNDM1M2U0NTU1ZTQ3NzFmOTMxMWMw
NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L1Njcm9sbGJhckxheWVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9TY3JvbGxiYXJMYXllckNocm9taXVtLmgKQEAgLTMwLDcgKzMwLDkg
QEAKIAogI2luY2x1ZGUgIkxheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlICJMYXllclRleHR1cmVV
cGRhdGVyLmgiCi0jaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2Vi
U2Nyb2xsYmFyLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnku
aD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsNyArNDMsNyBAQCBjbGFzcyBDQ1RleHR1cmVVcGRhdGVy
OwogY2xhc3MgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bSA6IHB1YmxpYyBMYXllckNocm9taXVtIHsK
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NPd25QdHI8Q0NMYXllckltcGw+IGNyZWF0ZUNDTGF5
ZXJJbXBsKCk7Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bT4g
Y3JlYXRlKFNjcm9sbGJhciosIGludCBzY3JvbGxMYXllcklkKTsKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxTY3JvbGxiYXJMYXllckNocm9taXVtPiBjcmVhdGUoUGFzc093blB0cjxXZWJLaXQ6Oldl
YlNjcm9sbGJhcj4sIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVQYWludGVyLCBXZWJLaXQ6Oldl
YlNjcm9sbGJhclRoZW1lR2VvbWV0cnksIGludCBzY3JvbGxMYXllcklkKTsKIAogICAgIC8vIExh
eWVyQ2hyb21pdW0gaW50ZXJmYWNlCiAgICAgdmlydHVhbCB2b2lkIHNldFRleHR1cmVQcmlvcml0
aWVzKGNvbnN0IENDUHJpb3JpdHlDYWxjdWxhdG9yJikgT1ZFUlJJREU7CkBAIC01NSwxNCArNTcs
MTUgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bSogdG9TY3Jv
bGxiYXJMYXllckNocm9taXVtKCkgeyByZXR1cm4gdGhpczsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAg
U2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bShTY3JvbGxiYXIqLCBpbnQgc2Nyb2xsTGF5ZXJJZCk7Cisg
ICAgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bShQYXNzT3duUHRyPFdlYktpdDo6V2ViU2Nyb2xsYmFy
PiwgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFy
VGhlbWVHZW9tZXRyeSwgaW50IHNjcm9sbExheWVySWQpOwogCiBwcml2YXRlOgotICAgIFNjcm9s
bGJhclRoZW1lQ29tcG9zaXRlKiB0aGVtZSgpIGNvbnN0OwogICAgIHZvaWQgdXBkYXRlUGFydChM
YXllclRleHR1cmVVcGRhdGVyKiwgTGF5ZXJUZXh0dXJlVXBkYXRlcjo6VGV4dHVyZSosIGNvbnN0
IEludFJlY3QmLCBDQ1RleHR1cmVVcGRhdGVyJiwgQ0NSZW5kZXJpbmdTdGF0cyYpOwogICAgIHZv
aWQgY3JlYXRlVGV4dHVyZVVwZGF0ZXJJZk5lZWRlZCgpOwogCi0gICAgUmVmUHRyPFNjcm9sbGJh
cj4gbV9zY3JvbGxiYXI7CisgICAgT3duUHRyPFdlYktpdDo6V2ViU2Nyb2xsYmFyPiBtX3Njcm9s
bGJhcjsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlciBtX3BhaW50ZXI7Cisg
ICAgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IG1fZ2VvbWV0cnk7CiAgICAgaW50
IG1fc2Nyb2xsTGF5ZXJJZDsKIAogICAgIEdDM0RlbnVtIG1fdGV4dHVyZUZvcm1hdDsKQEAgLTc1
LDE0ICs3OCw2IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPExheWVyVGV4dHVyZVVwZGF0ZXI6OlRl
eHR1cmU+IG1fYmFja1RyYWNrOwogICAgIE93blB0cjxMYXllclRleHR1cmVVcGRhdGVyOjpUZXh0
dXJlPiBtX2ZvcmVUcmFjazsKICAgICBPd25QdHI8TGF5ZXJUZXh0dXJlVXBkYXRlcjo6VGV4dHVy
ZT4gbV90aHVtYjsKLQotICAgIFNjcm9sbGJhck92ZXJsYXlTdHlsZSBtX3Njcm9sbGJhck92ZXJs
YXlTdHlsZTsKLSAgICBib29sIG1faXNTY3JvbGxhYmxlQXJlYUFjdGl2ZTsKLSAgICBib29sIG1f
aXNTY3JvbGxWaWV3U2Nyb2xsYmFyOwotCi0gICAgU2Nyb2xsYmFyT3JpZW50YXRpb24gbV9vcmll
bnRhdGlvbjsKLQotICAgIFNjcm9sbGJhckNvbnRyb2xTaXplIG1fY29udHJvbFNpemU7CiB9Owog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5jcHAKaW5kZXggMWZjZDFk
YThiZjQxZTJkMjJiNjE4Yzk0NmMyM2UzOGM0NWM5ODhiZi4uNTAxMGU0N2Q5NzgwM2NiZjJiODIz
YTc3YTRhNzVhNGE0NzZiY2Q0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTY3JvbGxiYXJMYXllckltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJ
bXBsLmNwcApAQCAtMjksMTEgKzI5LDEyIEBACiAKICNpbmNsdWRlICJDQ1Njcm9sbGJhckxheWVy
SW1wbC5oIgogCi0jaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWUuaCIKLSNpbmNsdWRlICJTY3JvbGxi
YXJUaGVtZUNvbXBvc2l0ZS5oIgogI2luY2x1ZGUgImNjL0NDUXVhZFNpbmsuaCIKICNpbmNsdWRl
ICJjYy9DQ1RleHR1cmVEcmF3UXVhZC5oIgogCit1c2luZyBXZWJLaXQ6OldlYlJlY3Q7Cit1c2lu
ZyBXZWJLaXQ6OldlYlNjcm9sbGJhcjsKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBQYXNzT3du
UHRyPENDU2Nyb2xsYmFyTGF5ZXJJbXBsPiBDQ1Njcm9sbGJhckxheWVySW1wbDo6Y3JlYXRlKGlu
dCBpZCkKQEAgLTQ4LDM2ICs0OSw1NSBAQCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxi
YXJMYXllckltcGwoaW50IGlkKQogICAgICwgbV9iYWNrVHJhY2tSZXNvdXJjZUlkKDApCiAgICAg
LCBtX2ZvcmVUcmFja1Jlc291cmNlSWQoMCkKICAgICAsIG1fdGh1bWJSZXNvdXJjZUlkKDApCisg
ICAgLCBtX3Njcm9sbGJhck92ZXJsYXlTdHlsZShXZWJTY3JvbGxiYXI6OlNjcm9sbGJhck92ZXJs
YXlTdHlsZURlZmF1bHQpCisgICAgLCBtX29yaWVudGF0aW9uKFdlYlNjcm9sbGJhcjo6SG9yaXpv
bnRhbCkKKyAgICAsIG1fY29udHJvbFNpemUoV2ViU2Nyb2xsYmFyOjpSZWd1bGFyU2Nyb2xsYmFy
KQorICAgICwgbV9wcmVzc2VkUGFydChXZWJTY3JvbGxiYXI6Ok5vUGFydCkKKyAgICAsIG1faG92
ZXJlZFBhcnQoV2ViU2Nyb2xsYmFyOjpOb1BhcnQpCisgICAgLCBtX2lzU2Nyb2xsYWJsZUFyZWFB
Y3RpdmUoZmFsc2UpCisgICAgLCBtX2lzU2Nyb2xsVmlld1Njcm9sbGJhcihmYWxzZSkKKyAgICAs
IG1fZW5hYmxlZChmYWxzZSkKKyAgICAsIG1faXNDdXN0b21TY3JvbGxiYXIoZmFsc2UpCisgICAg
LCBtX2lzT3ZlcmxheVNjcm9sbGJhcihmYWxzZSkKIHsKIH0KIAotbmFtZXNwYWNlIHsKLQotRmxv
YXRSZWN0IHRvVVZSZWN0KGNvbnN0IEludFJlY3QmIHIsIGNvbnN0IEludFJlY3QmIGJvdW5kcykK
K3ZvaWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OnNldFNjcm9sbGJhckRhdGEoY29uc3QgV2ViU2Ny
b2xsYmFyKiBzY3JvbGxiYXIsIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeSBnZW9t
ZXRyeSkKIHsKLSAgICBBU1NFUlQoYm91bmRzLmNvbnRhaW5zKHIpKTsKLSAgICByZXR1cm4gRmxv
YXRSZWN0KHN0YXRpY19jYXN0PGZsb2F0PihyLngoKSkgLyBib3VuZHMud2lkdGgoKSwgc3RhdGlj
X2Nhc3Q8ZmxvYXQ+KHIueSgpKSAvIGJvdW5kcy5oZWlnaHQoKSwKLSAgICAgICAgICAgICAgICAg
ICAgIHN0YXRpY19jYXN0PGZsb2F0PihyLndpZHRoKCkpIC8gYm91bmRzLndpZHRoKCksIHN0YXRp
Y19jYXN0PGZsb2F0PihyLmhlaWdodCgpKSAvIGJvdW5kcy5oZWlnaHQoKSk7CisgICAgbV9nZW9t
ZXRyeSA9IGdlb21ldHJ5OworCisgICAgbV9zY3JvbGxiYXJPdmVybGF5U3R5bGUgPSBzY3JvbGxi
YXItPnNjcm9sbGJhck92ZXJsYXlTdHlsZSgpOworICAgIG1fb3JpZW50YXRpb24gPSBzY3JvbGxi
YXItPm9yaWVudGF0aW9uKCk7CisgICAgbV9jb250cm9sU2l6ZSA9IHNjcm9sbGJhci0+Y29udHJv
bFNpemUoKTsKKyAgICBtX3ByZXNzZWRQYXJ0ID0gc2Nyb2xsYmFyLT5wcmVzc2VkUGFydCgpOwor
ICAgIG1faG92ZXJlZFBhcnQgPSBzY3JvbGxiYXItPmhvdmVyZWRQYXJ0KCk7CisgICAgbV9pc1Nj
cm9sbGFibGVBcmVhQWN0aXZlID0gc2Nyb2xsYmFyLT5pc1Njcm9sbGFibGVBcmVhQWN0aXZlKCk7
CisgICAgbV9pc1Njcm9sbFZpZXdTY3JvbGxiYXIgPSBzY3JvbGxiYXItPmlzU2Nyb2xsVmlld1Nj
cm9sbGJhcigpOworICAgIG1fZW5hYmxlZCA9IHNjcm9sbGJhci0+ZW5hYmxlZCgpOworICAgIG1f
aXNDdXN0b21TY3JvbGxiYXIgPSBzY3JvbGxiYXItPmlzQ3VzdG9tU2Nyb2xsYmFyKCk7CisgICAg
bV9pc092ZXJsYXlTY3JvbGxiYXIgPSBzY3JvbGxiYXItPmlzT3ZlcmxheSgpOworCisgICAgc2Ny
b2xsYmFyLT5nZXRUaWNrbWFya3MobV90aWNrbWFya3MpOwogfQogCitzdGF0aWMgRmxvYXRSZWN0
IHRvVVZSZWN0KGNvbnN0IFdlYlJlY3QmIHIsIGNvbnN0IFdlYlJlY3QmIGJvdW5kcykKK3sKKyAg
ICByZXR1cm4gRmxvYXRSZWN0KHN0YXRpY19jYXN0PGZsb2F0PihyLngpIC8gYm91bmRzLndpZHRo
LCBzdGF0aWNfY2FzdDxmbG9hdD4oci55KSAvIGJvdW5kcy5oZWlnaHQsCisgICAgICAgICAgICAg
ICAgICAgICBzdGF0aWNfY2FzdDxmbG9hdD4oci53aWR0aCkgLyBib3VuZHMud2lkdGgsIHN0YXRp
Y19jYXN0PGZsb2F0PihyLmhlaWdodCkgLyBib3VuZHMuaGVpZ2h0KTsKIH0KIAogdm9pZCBDQ1Nj
cm9sbGJhckxheWVySW1wbDo6YXBwZW5kUXVhZHMoQ0NRdWFkU2luayYgcXVhZExpc3QsIGNvbnN0
IENDU2hhcmVkUXVhZFN0YXRlKiBzaGFyZWRRdWFkU3RhdGUsIGJvb2wmKQogewotICAgIFNjcm9s
bGJhclRoZW1lQ29tcG9zaXRlKiB0aGVtZSA9IHN0YXRpY19jYXN0PFNjcm9sbGJhclRoZW1lQ29t
cG9zaXRlKj4oU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkpOwotICAgIGlmICghdGhlbWUpCi0gICAg
ICAgIHJldHVybjsKLQogICAgIGJvb2wgcHJlbXVsdGlwbGVkQWxwaGEgPSBmYWxzZTsKICAgICBi
b29sIGZsaXBwZWQgPSBmYWxzZTsKICAgICBGbG9hdFJlY3QgdXZSZWN0KDAsIDAsIDEsIDEpOwog
ICAgIEludFJlY3QgYm91bmRzUmVjdChJbnRQb2ludCgpLCBjb250ZW50Qm91bmRzKCkpOwogCi0g
ICAgSW50UmVjdCB0aHVtYlJlY3QsIGJhY2tUcmFja1JlY3QsIGZvcmVUcmFja1JlY3Q7Ci0gICAg
dGhlbWUtPnNwbGl0VHJhY2soJm1fc2Nyb2xsYmFyLCB0aGVtZS0+dHJhY2tSZWN0KCZtX3Njcm9s
bGJhciksIGJhY2tUcmFja1JlY3QsIHRodW1iUmVjdCwgZm9yZVRyYWNrUmVjdCk7CisgICAgV2Vi
UmVjdCB0aHVtYlJlY3QsIGJhY2tUcmFja1JlY3QsIGZvcmVUcmFja1JlY3Q7CisgICAgbV9nZW9t
ZXRyeS5zcGxpdFRyYWNrKCZtX3Njcm9sbGJhciwgbV9nZW9tZXRyeS50cmFja1JlY3QoJm1fc2Ny
b2xsYmFyKSwgYmFja1RyYWNrUmVjdCwgdGh1bWJSZWN0LCBmb3JlVHJhY2tSZWN0KTsKIAotICAg
IGlmIChtX3RodW1iUmVzb3VyY2VJZCAmJiB0aGVtZS0+aGFzVGh1bWIoJm1fc2Nyb2xsYmFyKSAm
JiAhdGh1bWJSZWN0LmlzRW1wdHkoKSkgewotICAgICAgICBPd25QdHI8Q0NUZXh0dXJlRHJhd1F1
YWQ+IHF1YWQgPSBDQ1RleHR1cmVEcmF3UXVhZDo6Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZSwgdGh1
bWJSZWN0LCBtX3RodW1iUmVzb3VyY2VJZCwgcHJlbXVsdGlwbGVkQWxwaGEsIHV2UmVjdCwgZmxp
cHBlZCk7CisgICAgaWYgKG1fdGh1bWJSZXNvdXJjZUlkICYmIG1fZ2VvbWV0cnkuaGFzVGh1bWIo
Jm1fc2Nyb2xsYmFyKSAmJiAhdGh1bWJSZWN0LmlzRW1wdHkoKSkgeworICAgICAgICBPd25QdHI8
Q0NUZXh0dXJlRHJhd1F1YWQ+IHF1YWQgPSBDQ1RleHR1cmVEcmF3UXVhZDo6Y3JlYXRlKHNoYXJl
ZFF1YWRTdGF0ZSwgSW50UmVjdCh0aHVtYlJlY3QpLCBtX3RodW1iUmVzb3VyY2VJZCwgcHJlbXVs
dGlwbGVkQWxwaGEsIHV2UmVjdCwgZmxpcHBlZCk7CiAgICAgICAgIHF1YWQtPnNldE5lZWRzQmxl
bmRpbmcoKTsKICAgICAgICAgcXVhZExpc3QuYXBwZW5kKHF1YWQucmVsZWFzZSgpKTsKICAgICB9
CkBAIC04NywxMzAgKzEwNyw1MCBAQCB2b2lkIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjphcHBlbmRR
dWFkcyhDQ1F1YWRTaW5rJiBxdWFkTGlzdCwgY29uc3QgQ0NTaGFyZWRRdWFkUwogCiAgICAgLy8g
V2Ugb25seSBwYWludCB0aGUgdHJhY2sgaW4gdHdvIHBhcnRzIGlmIHdlIHdlcmUgZ2l2ZW4gYSB0
ZXh0dXJlIGZvciB0aGUgZm9yd2FyZCB0cmFjayBwYXJ0LgogICAgIGlmIChtX2ZvcmVUcmFja1Jl
c291cmNlSWQgJiYgIWZvcmVUcmFja1JlY3QuaXNFbXB0eSgpKQotICAgICAgICBxdWFkTGlzdC5h
cHBlbmQoQ0NUZXh0dXJlRHJhd1F1YWQ6OmNyZWF0ZShzaGFyZWRRdWFkU3RhdGUsIGZvcmVUcmFj
a1JlY3QsIG1fZm9yZVRyYWNrUmVzb3VyY2VJZCwgcHJlbXVsdGlwbGVkQWxwaGEsIHRvVVZSZWN0
KGZvcmVUcmFja1JlY3QsIGJvdW5kc1JlY3QpLCBmbGlwcGVkKSk7CisgICAgICAgIHF1YWRMaXN0
LmFwcGVuZChDQ1RleHR1cmVEcmF3UXVhZDo6Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZSwgSW50UmVj
dChmb3JlVHJhY2tSZWN0KSwgbV9mb3JlVHJhY2tSZXNvdXJjZUlkLCBwcmVtdWx0aXBsZWRBbHBo
YSwgdG9VVlJlY3QoZm9yZVRyYWNrUmVjdCwgYm91bmRzUmVjdCksIGZsaXBwZWQpKTsKIAogICAg
IC8vIE9yZGVyIG1hdHRlcnMgaGVyZTogc2luY2UgdGhlIGJhY2sgdHJhY2sgdGV4dHVyZSBpcyBi
ZWluZyBkcmF3biB0byB0aGUgZW50aXJlIGNvbnRlbnRzIHJlY3QsIHdlIG11c3QgYXBwZW5kIGl0
IGFmdGVyIHRoZSB0aHVtYiBhbmQKICAgICAvLyBmb3JlIHRyYWNrIHF1YWRzLiBUaGUgYmFjayB0
cmFjayB0ZXh0dXJlIGNvbnRhaW5zIChhbmQgZGlzcGxheXMpIHRoZSBidXR0b25zLgogICAgIGlm
ICghYm91bmRzUmVjdC5pc0VtcHR5KCkpCi0gICAgICAgIHF1YWRMaXN0LmFwcGVuZChDQ1RleHR1
cmVEcmF3UXVhZDo6Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZSwgYm91bmRzUmVjdCwgbV9iYWNrVHJh
Y2tSZXNvdXJjZUlkLCBwcmVtdWx0aXBsZWRBbHBoYSwgdXZSZWN0LCBmbGlwcGVkKSk7Ci19Ci0K
LQotaW50IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6eCgpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIGZyYW1lUmVjdCgpLngoKTsKLX0KLQotaW50IENDU2Nyb2xsYmFyTGF5ZXJJbXBs
OjpDQ1Njcm9sbGJhcjo6eSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZyYW1lUmVjdCgpLnkoKTsK
LX0KLQotaW50IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6d2lkdGgoKSBjb25z
dAotewotICAgIHJldHVybiBmcmFtZVJlY3QoKS53aWR0aCgpOwotfQotCi1pbnQgQ0NTY3JvbGxi
YXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpoZWlnaHQoKSBjb25zdAotewotICAgIHJldHVybiBm
cmFtZVJlY3QoKS5oZWlnaHQoKTsKLX0KLQotSW50U2l6ZSBDQ1Njcm9sbGJhckxheWVySW1wbDo6
Q0NTY3JvbGxiYXI6OnNpemUoKSBjb25zdAotewotICAgIHJldHVybiBmcmFtZVJlY3QoKS5zaXpl
KCk7Ci19Ci0KLUludFBvaW50IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6bG9j
YXRpb24oKSBjb25zdAotewotICAgIHJldHVybiBmcmFtZVJlY3QoKS5sb2NhdGlvbigpOwotfQot
Ci1TY3JvbGxWaWV3KiBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnBhcmVudCgp
IGNvbnN0Ci17Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0K
LVNjcm9sbFZpZXcqIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6cm9vdCgpIGNv
bnN0Ci17Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLXZv
aWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpzZXRGcmFtZVJlY3QoY29uc3Qg
SW50UmVjdCYpCi17Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci19Ci0KLUludFJlY3QgQ0NT
Y3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpmcmFtZVJlY3QoKSBjb25zdAotewotICAg
IHJldHVybiBJbnRSZWN0KEludFBvaW50KCksIG1fb3duZXItPmNvbnRlbnRCb3VuZHMoKSk7Ci19
Ci0KLXZvaWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjppbnZhbGlkYXRlKCkK
LXsKLSAgICBpbnZhbGlkYXRlUmVjdChmcmFtZVJlY3QoKSk7Ci19Ci0KLXZvaWQgQ0NTY3JvbGxi
YXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjppbnZhbGlkYXRlUmVjdChjb25zdCBJbnRSZWN0JikK
LXsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLQotU2Nyb2xsYmFyT3ZlcmxheVN0eWxl
IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6c2Nyb2xsYmFyT3ZlcmxheVN0eWxl
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9vd25lci0+bV9zY3JvbGxiYXJPdmVybGF5U3R5bGU7
Ci19Ci0KLXZvaWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpnZXRUaWNrbWFy
a3MoVmVjdG9yPEludFJlY3Q+JiB0aWNrbWFya3MpIGNvbnN0Ci17Ci0gICAgdGlja21hcmtzID0g
bV9vd25lci0+bV90aWNrbWFya3M7CisgICAgICAgIHF1YWRMaXN0LmFwcGVuZChDQ1RleHR1cmVE
cmF3UXVhZDo6Y3JlYXRlKHNoYXJlZFF1YWRTdGF0ZSwgSW50UmVjdChib3VuZHNSZWN0KSwgbV9i
YWNrVHJhY2tSZXNvdXJjZUlkLCBwcmVtdWx0aXBsZWRBbHBoYSwgdXZSZWN0LCBmbGlwcGVkKSk7
CiB9CiAKLWJvb2wgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjppc1Njcm9sbGFi
bGVBcmVhQWN0aXZlKCkgY29uc3QKK2Jvb2wgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xs
YmFyOjppc092ZXJsYXkoKSBjb25zdAogewotICAgIHJldHVybiBtX293bmVyLT5tX2lzU2Nyb2xs
YWJsZUFyZWFBY3RpdmU7CisgICAgcmV0dXJuIG1fb3duZXItPm1faXNPdmVybGF5U2Nyb2xsYmFy
OwogfQogCi1ib29sIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6aXNTY3JvbGxW
aWV3U2Nyb2xsYmFyKCkgY29uc3QKK2ludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxi
YXI6OnZhbHVlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9vd25lci0+bV9pc1Njcm9sbFZpZXdT
Y3JvbGxiYXI7CisgICAgaWYgKCFtX293bmVyLT5tX3Njcm9sbExheWVyKQorICAgICAgICByZXR1
cm4gMDsKKyAgICBpZiAob3JpZW50YXRpb24oKSA9PSBXZWJTY3JvbGxiYXI6Okhvcml6b250YWwp
CisgICAgICAgIHJldHVybiBtX293bmVyLT5tX3Njcm9sbExheWVyLT5zY3JvbGxQb3NpdGlvbigp
LngoKSArIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXItPnNjcm9sbERlbHRhKCkud2lkdGgoKTsKKyAg
ICByZXR1cm4gbV9vd25lci0+bV9zY3JvbGxMYXllci0+c2Nyb2xsUG9zaXRpb24oKS55KCkgKyBt
X293bmVyLT5tX3Njcm9sbExheWVyLT5zY3JvbGxEZWx0YSgpLmhlaWdodCgpOwogfQogCi1JbnRQ
b2ludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmNvbnZlcnRGcm9tQ29udGFp
bmluZ1dpbmRvdyhjb25zdCBJbnRQb2ludCYgd2luZG93UG9pbnQpCitXZWJLaXQ6OldlYlBvaW50
IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6bG9jYXRpb24oKSBjb25zdAogewot
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiB3aW5kb3dQb2ludDsKKyAgICBy
ZXR1cm4gV2ViS2l0OjpXZWJQb2ludCgpOwogfQogCi1ib29sIENDU2Nyb2xsYmFyTGF5ZXJJbXBs
OjpDQ1Njcm9sbGJhcjo6aXNDdXN0b21TY3JvbGxiYXIoKSBjb25zdAorV2ViS2l0OjpXZWJTaXpl
IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6c2l6ZSgpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX293bmVyLT5jb250ZW50Qm91bmRzKCk7CiB9CiAK
LVNjcm9sbGJhck9yaWVudGF0aW9uIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6
b3JpZW50YXRpb24oKSBjb25zdAorYm9vbCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxi
YXI6OmVuYWJsZWQoKSBjb25zdAogewotICAgIHJldHVybiBtX293bmVyLT5tX29yaWVudGF0aW9u
OworICAgIHJldHVybiBtX293bmVyLT5tX2VuYWJsZWQ7CiB9CiAKLWludCBDQ1Njcm9sbGJhckxh
eWVySW1wbDo6Q0NTY3JvbGxiYXI6OnZhbHVlKCkgY29uc3QKK2ludCBDQ1Njcm9sbGJhckxheWVy
SW1wbDo6Q0NTY3JvbGxiYXI6Om1heGltdW0oKSBjb25zdAogewogICAgIGlmICghbV9vd25lci0+
bV9zY3JvbGxMYXllcikKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKG9yaWVudGF0aW9uKCkg
PT0gSG9yaXpvbnRhbFNjcm9sbGJhcikKLSAgICAgICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xs
TGF5ZXItPnNjcm9sbFBvc2l0aW9uKCkueCgpICsgbV9vd25lci0+bV9zY3JvbGxMYXllci0+c2Ny
b2xsRGVsdGEoKS53aWR0aCgpOwotICAgIHJldHVybiBtX293bmVyLT5tX3Njcm9sbExheWVyLT5z
Y3JvbGxQb3NpdGlvbigpLnkoKSArIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXItPnNjcm9sbERlbHRh
KCkuaGVpZ2h0KCk7Ci19Ci0KLWZsb2F0IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJh
cjo6Y3VycmVudFBvcygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHZhbHVlKCk7Ci19Ci0KLWludCBD
Q1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnZpc2libGVTaXplKCkgY29uc3QKLXsK
LSAgICByZXR1cm4gdG90YWxTaXplKCkgLSBtYXhpbXVtKCk7CisgICAgaWYgKG9yaWVudGF0aW9u
KCkgPT0gV2ViU2Nyb2xsYmFyOjpIb3Jpem9udGFsKQorICAgICAgICByZXR1cm4gbV9vd25lci0+
bV9zY3JvbGxMYXllci0+bWF4U2Nyb2xsUG9zaXRpb24oKS53aWR0aCgpOworICAgIHJldHVybiBt
X293bmVyLT5tX3Njcm9sbExheWVyLT5tYXhTY3JvbGxQb3NpdGlvbigpLmhlaWdodCgpOwogfQog
CiBpbnQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjp0b3RhbFNpemUoKSBjb25z
dApAQCAtMjIwLDU5ICsxNjAsNTQgQEAgaW50IENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9s
bGJhcjo6dG90YWxTaXplKCkgY29uc3QKICAgICAvLyBDb3B5ICYgcGFzdGUgZnJvbSBDQ0xheWVy
VHJlZUhvc3RJbXBsLi4uCiAgICAgLy8gRklYTUU6IEhhcmRjb2RpbmcgdGhlIGZpcnN0IGNoaWxk
IGhlcmUgaXMgd2VpcmQuIFRoaW5rIG9mCiAgICAgLy8gYSBjbGVhbmVyIHdheSB0byBnZXQgdGhl
IGNvbnRlbnRCb3VuZHMgb24gdGhlIEltcGwgc2lkZS4KLSAgICBpZiAob3JpZW50YXRpb24oKSA9
PSBIb3Jpem9udGFsU2Nyb2xsYmFyKQorICAgIGlmIChvcmllbnRhdGlvbigpID09IFdlYlNjcm9s
bGJhcjo6SG9yaXpvbnRhbCkKICAgICAgICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXIt
PmNoaWxkcmVuKClbMF0tPmJvdW5kcygpLndpZHRoKCk7CiAgICAgcmV0dXJuIG1fb3duZXItPm1f
c2Nyb2xsTGF5ZXItPmNoaWxkcmVuKClbMF0tPmJvdW5kcygpLmhlaWdodCgpOwogfQogCi1pbnQg
Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjptYXhpbXVtKCkgY29uc3QKK2Jvb2wg
Q0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjppc1Njcm9sbFZpZXdTY3JvbGxiYXIo
KSBjb25zdAogewotICAgIGlmICghbV9vd25lci0+bV9zY3JvbGxMYXllcikKLSAgICAgICAgcmV0
dXJuIDA7Ci0gICAgaWYgKG9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikKLSAg
ICAgICAgcmV0dXJuIG1fb3duZXItPm1fc2Nyb2xsTGF5ZXItPm1heFNjcm9sbFBvc2l0aW9uKCku
d2lkdGgoKTsKLSAgICByZXR1cm4gbV9vd25lci0+bV9zY3JvbGxMYXllci0+bWF4U2Nyb2xsUG9z
aXRpb24oKS5oZWlnaHQoKTsKKyAgICByZXR1cm4gbV9vd25lci0+bV9pc1Njcm9sbFZpZXdTY3Jv
bGxiYXI7CiB9CiAKLVNjcm9sbGJhckNvbnRyb2xTaXplIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpD
Q1Njcm9sbGJhcjo6Y29udHJvbFNpemUoKSBjb25zdAorYm9vbCBDQ1Njcm9sbGJhckxheWVySW1w
bDo6Q0NTY3JvbGxiYXI6OmlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSBjb25zdAogewotICAgIHJl
dHVybiBtX293bmVyLT5tX2NvbnRyb2xTaXplOworICAgIHJldHVybiBtX293bmVyLT5tX2lzU2Ny
b2xsYWJsZUFyZWFBY3RpdmU7CiB9CiAKLWludCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3Jv
bGxiYXI6OmxpbmVTdGVwKCkgY29uc3QKK3ZvaWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Ny
b2xsYmFyOjpnZXRUaWNrbWFya3MoV2ViS2l0OjpXZWJWZWN0b3I8V2ViUmVjdD4mIHRpY2ttYXJr
cykgY29uc3QKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMDsKKyAg
ICB0aWNrbWFya3MgPSBtX293bmVyLT5tX3RpY2ttYXJrczsKIH0KIAotaW50IENDU2Nyb2xsYmFy
TGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6cGFnZVN0ZXAoKSBjb25zdAorV2ViU2Nyb2xsYmFyOjpT
Y3JvbGxiYXJDb250cm9sU2l6ZSBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmNv
bnRyb2xTaXplKCkgY29uc3QKIHsKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1
cm4gMDsKKyAgICByZXR1cm4gbV9vd25lci0+bV9jb250cm9sU2l6ZTsKIH0KIAotU2Nyb2xsYmFy
UGFydCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnByZXNzZWRQYXJ0KCkgY29u
c3QKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NT
Y3JvbGxiYXI6OnByZXNzZWRQYXJ0KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9vd25lci0+bV9w
cmVzc2VkUGFydDsKIH0KIAotU2Nyb2xsYmFyUGFydCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NT
Y3JvbGxiYXI6OmhvdmVyZWRQYXJ0KCkgY29uc3QKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFy
dCBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OmhvdmVyZWRQYXJ0KCkgY29uc3QK
IHsKICAgICByZXR1cm4gbV9vd25lci0+bV9ob3ZlcmVkUGFydDsKIH0KIAotdm9pZCBDQ1Njcm9s
bGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6OnN0eWxlQ2hhbmdlZCgpCitXZWJTY3JvbGxiYXI6
OlNjcm9sbGJhck92ZXJsYXlTdHlsZSBDQ1Njcm9sbGJhckxheWVySW1wbDo6Q0NTY3JvbGxiYXI6
OnNjcm9sbGJhck92ZXJsYXlTdHlsZSgpIGNvbnN0CiB7CisgICAgcmV0dXJuIG1fb3duZXItPm1f
c2Nyb2xsYmFyT3ZlcmxheVN0eWxlOwogfQogCi1ib29sIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpD
Q1Njcm9sbGJhcjo6ZW5hYmxlZCgpIGNvbnN0CitXZWJTY3JvbGxiYXI6Ok9yaWVudGF0aW9uIEND
U2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6b3JpZW50YXRpb24oKSBjb25zdAogewot
ICAgIHJldHVybiBtX293bmVyLT5tX2VuYWJsZWQ7CisgICAgcmV0dXJuIG1fb3duZXItPm1fb3Jp
ZW50YXRpb247CiB9CiAKLXZvaWQgQ0NTY3JvbGxiYXJMYXllckltcGw6OkNDU2Nyb2xsYmFyOjpz
ZXRFbmFibGVkKGJvb2wpCitib29sIENDU2Nyb2xsYmFyTGF5ZXJJbXBsOjpDQ1Njcm9sbGJhcjo6
aXNDdXN0b21TY3JvbGxiYXIoKSBjb25zdAogewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIHJldHVybiBtX293bmVyLT5tX2lzQ3VzdG9tU2Nyb2xsYmFyOwogfQogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9s
bGJhckxheWVySW1wbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NTY3JvbGxiYXJMYXllckltcGwuaAppbmRleCBmYWEzMzYxYmFkMzc1OTgwNGU4MDM0
OGQ0MjIwZGViNjdiM2UwMDVjLi5mMmQyYTJlZjMxZDU4N2I3YjJhMTJjMWIxZmZmZWU0ODM2Yjdl
M2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ1Njcm9sbGJhckxheWVySW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsYmFyTGF5ZXJJbXBsLmgKQEAgLTMwLDYgKzMw
LDEwIEBACiAKICNpbmNsdWRlICJTY3JvbGxiYXJUaGVtZUNsaWVudC5oIgogI2luY2x1ZGUgImNj
L0NDTGF5ZXJJbXBsLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYlJlY3QuaD4KKyNpbmNsdWRlIDxw
dWJsaWMvV2ViU2Nyb2xsYmFyLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRoZW1l
R2VvbWV0cnkuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViVmVjdG9yLmg+CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIApAQCAtMzksMTkgKzQzLDcgQEAgY2xhc3MgQ0NTY3JvbGxiYXJMYXllckltcGwg
OiBwdWJsaWMgQ0NMYXllckltcGwgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPEND
U2Nyb2xsYmFyTGF5ZXJJbXBsPiBjcmVhdGUoaW50IGlkKTsKIAotICAgIHZvaWQgc2V0U2Nyb2xs
YmFyT3ZlcmxheVN0eWxlKFNjcm9sbGJhck92ZXJsYXlTdHlsZSBzY3JvbGxiYXJPdmVybGF5U3R5
bGUpIHsgbV9zY3JvbGxiYXJPdmVybGF5U3R5bGUgPSBzY3JvbGxiYXJPdmVybGF5U3R5bGU7IH0K
LSAgICB2b2lkIHNldFRpY2ttYXJrcyhjb25zdCBWZWN0b3I8SW50UmVjdD4mIHRpY2ttYXJrcykg
eyBtX3RpY2ttYXJrcyA9IHRpY2ttYXJrczsgfQotICAgIHZvaWQgc2V0SXNTY3JvbGxhYmxlQXJl
YUFjdGl2ZShib29sIGlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUpIHsgbV9pc1Njcm9sbGFibGVBcmVh
QWN0aXZlID0gaXNTY3JvbGxhYmxlQXJlYUFjdGl2ZTsgfQotICAgIHZvaWQgc2V0SXNTY3JvbGxW
aWV3U2Nyb2xsYmFyKGJvb2wgaXNTY3JvbGxWaWV3U2Nyb2xsYmFyKSB7IG1faXNTY3JvbGxWaWV3
U2Nyb2xsYmFyID0gaXNTY3JvbGxWaWV3U2Nyb2xsYmFyOyB9Ci0KLSAgICB2b2lkIHNldE9yaWVu
dGF0aW9uKFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uKSB7IG1fb3JpZW50YXRpb24g
PSBvcmllbnRhdGlvbjsgfQotCi0gICAgdm9pZCBzZXRDb250cm9sU2l6ZShTY3JvbGxiYXJDb250
cm9sU2l6ZSBjb250cm9sU2l6ZSkgeyBtX2NvbnRyb2xTaXplID0gY29udHJvbFNpemU7IH0KLQot
ICAgIHZvaWQgc2V0UHJlc3NlZFBhcnQoU2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCkgeyBtX3By
ZXNzZWRQYXJ0ID0gcHJlc3NlZFBhcnQ7IH0KLSAgICB2b2lkIHNldEhvdmVyZWRQYXJ0KFNjcm9s
bGJhclBhcnQgaG92ZXJlZFBhcnQpIHsgbV9ob3ZlcmVkUGFydCA9IGhvdmVyZWRQYXJ0OyB9Ci0K
LSAgICB2b2lkIHNldEVuYWJsZWQoYm9vbCBlbmFibGVkKSB7IG1fZW5hYmxlZCA9IGVuYWJsZWQ7
IH0KKyAgICB2b2lkIHNldFNjcm9sbGJhckRhdGEoY29uc3QgV2ViS2l0OjpXZWJTY3JvbGxiYXIq
LCBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnkpOwogCiAgICAgdm9pZCBzZXRCYWNr
VHJhY2tSZXNvdXJjZUlkKENDUmVzb3VyY2VQcm92aWRlcjo6UmVzb3VyY2VJZCBpZCkgeyBtX2Jh
Y2tUcmFja1Jlc291cmNlSWQgPSBpZDsgfQogICAgIHZvaWQgc2V0Rm9yZVRyYWNrUmVzb3VyY2VJ
ZChDQ1Jlc291cmNlUHJvdmlkZXI6OlJlc291cmNlSWQgaWQpIHsgbV9mb3JlVHJhY2tSZXNvdXJj
ZUlkID0gaWQ7IH0KQEAgLTY5LDU0ICs2MSwyNyBAQCBwcml2YXRlOgogICAgIENDTGF5ZXJJbXBs
KiBtX3Njcm9sbExheWVyOwogCiAgICAgLy8gbmVzdGVkIGNsYXNzIG9ubHkgdG8gYXZvaWQgbmFt
ZXNwYWNlIHByb2JsZW0KLSAgICBjbGFzcyBDQ1Njcm9sbGJhciA6IHB1YmxpYyBTY3JvbGxiYXJU
aGVtZUNsaWVudCB7CisgICAgY2xhc3MgQ0NTY3JvbGxiYXIgOiBwdWJsaWMgV2ViS2l0OjpXZWJT
Y3JvbGxiYXIgewogICAgIHB1YmxpYzoKICAgICAgICAgZXhwbGljaXQgQ0NTY3JvbGxiYXIoQ0NT
Y3JvbGxiYXJMYXllckltcGwqIG93bmVyKSA6IG1fb3duZXIob3duZXIpIHsgfQogCi0gICAgICAg
IC8vIFNjcm9sbGJhclRoZW1lQ2xpZW50IGltcGxlbWVudGF0aW9uCi0gICAgICAgIHZpcnR1YWwg
aW50IHgoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBpbnQgeSgpIGNvbnN0OwotICAgICAgICB2
aXJ0dWFsIGludCB3aWR0aCgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGludCBoZWlnaHQoKSBj
b25zdDsKLSAgICAgICAgdmlydHVhbCBJbnRTaXplIHNpemUoKSBjb25zdDsKLSAgICAgICAgdmly
dHVhbCBJbnRQb2ludCBsb2NhdGlvbigpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwgU2Nyb2xs
VmlldyogcGFyZW50KCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgU2Nyb2xsVmlldyogcm9vdCgp
IGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzZXRGcmFtZVJlY3QoY29uc3QgSW50UmVj
dCYpOwotICAgICAgICB2aXJ0dWFsIEludFJlY3QgZnJhbWVSZWN0KCkgY29uc3Q7Ci0KLSAgICAg
ICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGUoKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGludmFs
aWRhdGVSZWN0KGNvbnN0IEludFJlY3QmKTsKLQotICAgICAgICB2aXJ0dWFsIFNjcm9sbGJhck92
ZXJsYXlTdHlsZSBzY3JvbGxiYXJPdmVybGF5U3R5bGUoKSBjb25zdDsKLSAgICAgICAgdmlydHVh
bCB2b2lkIGdldFRpY2ttYXJrcyhWZWN0b3I8SW50UmVjdD4mKSBjb25zdDsKLSAgICAgICAgdmly
dHVhbCBib29sIGlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSBjb25zdDsKLSAgICAgICAgdmlydHVh
bCBib29sIGlzU2Nyb2xsVmlld1Njcm9sbGJhcigpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwg
SW50UG9pbnQgY29udmVydEZyb21Db250YWluaW5nV2luZG93KGNvbnN0IEludFBvaW50JiB3aW5k
b3dQb2ludCk7Ci0KLSAgICAgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29u
c3Q7Ci0gICAgICAgIHZpcnR1YWwgU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24oKSBj
b25zdDsKLQorICAgICAgICAvLyBXZWJTY3JvbGxiYXIgaW1wbGVtZW50YXRpb24KKyAgICAgICAg
dmlydHVhbCBib29sIGlzT3ZlcmxheSgpIGNvbnN0OwogICAgICAgICB2aXJ0dWFsIGludCB2YWx1
ZSgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIGZsb2F0IGN1cnJlbnRQb3MoKSBjb25zdDsKLSAg
ICAgICAgdmlydHVhbCBpbnQgdmlzaWJsZVNpemUoKSBjb25zdDsKLSAgICAgICAgdmlydHVhbCBp
bnQgdG90YWxTaXplKCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgaW50IG1heGltdW0oKSBjb25z
dDsKLSAgICAgICAgdmlydHVhbCBTY3JvbGxiYXJDb250cm9sU2l6ZSBjb250cm9sU2l6ZSgpIGNv
bnN0OwotCi0gICAgICAgIHZpcnR1YWwgaW50IGxpbmVTdGVwKCkgY29uc3Q7Ci0gICAgICAgIHZp
cnR1YWwgaW50IHBhZ2VTdGVwKCkgY29uc3Q7Ci0KLSAgICAgICAgdmlydHVhbCBTY3JvbGxiYXJQ
YXJ0IHByZXNzZWRQYXJ0KCkgY29uc3Q7Ci0gICAgICAgIHZpcnR1YWwgU2Nyb2xsYmFyUGFydCBo
b3ZlcmVkUGFydCgpIGNvbnN0OwotCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzdHlsZUNoYW5nZWQo
KTsKLQorICAgICAgICB2aXJ0dWFsIFdlYktpdDo6V2ViUG9pbnQgbG9jYXRpb24oKSBjb25zdDsK
KyAgICAgICAgdmlydHVhbCBXZWJLaXQ6OldlYlNpemUgc2l6ZSgpIGNvbnN0OwogICAgICAgICB2
aXJ0dWFsIGJvb2wgZW5hYmxlZCgpIGNvbnN0OwotICAgICAgICB2aXJ0dWFsIHZvaWQgc2V0RW5h
YmxlZChib29sKTsKKyAgICAgICAgdmlydHVhbCBpbnQgbWF4aW11bSgpIGNvbnN0OworICAgICAg
ICB2aXJ0dWFsIGludCB0b3RhbFNpemUoKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBib29sIGlz
U2Nyb2xsVmlld1Njcm9sbGJhcigpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIGJvb2wgaXNTY3Jv
bGxhYmxlQXJlYUFjdGl2ZSgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIHZvaWQgZ2V0VGlja21h
cmtzKFdlYktpdDo6V2ViVmVjdG9yPFdlYktpdDo6V2ViUmVjdD4mIHRpY2ttYXJrcykgY29uc3Q7
CisgICAgICAgIHZpcnR1YWwgV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJDb250cm9sU2l6ZSBjb250
cm9sU2l6ZSgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFy
UGFydCBwcmVzc2VkUGFydCgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIFdlYlNjcm9sbGJhcjo6
U2Nyb2xsYmFyUGFydCBob3ZlcmVkUGFydCgpIGNvbnN0OworICAgICAgICB2aXJ0dWFsIFdlYlNj
cm9sbGJhcjo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlIHNjcm9sbGJhck92ZXJsYXlTdHlsZSgpIGNv
bnN0OworICAgICAgICB2aXJ0dWFsIFdlYlNjcm9sbGJhcjo6T3JpZW50YXRpb24gb3JpZW50YXRp
b24oKSBjb25zdDsKKyAgICAgICAgdmlydHVhbCBib29sIGlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29u
c3Q7CiAKICAgICBwcml2YXRlOgogICAgICAgICBDQ1Njcm9sbGJhckxheWVySW1wbCogbV9vd25l
cjsKQEAgLTEyOCwxOSArOTMsMjAgQEAgcHJpdmF0ZToKICAgICBDQ1Jlc291cmNlUHJvdmlkZXI6
OlJlc291cmNlSWQgbV9mb3JlVHJhY2tSZXNvdXJjZUlkOwogICAgIENDUmVzb3VyY2VQcm92aWRl
cjo6UmVzb3VyY2VJZCBtX3RodW1iUmVzb3VyY2VJZDsKIAotICAgIFNjcm9sbGJhck92ZXJsYXlT
dHlsZSBtX3Njcm9sbGJhck92ZXJsYXlTdHlsZTsKLSAgICBWZWN0b3I8SW50UmVjdD4gbV90aWNr
bWFya3M7CisgICAgV2ViS2l0OjpXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5IG1fZ2VvbWV0cnk7
CisKKyAgICAvLyBEYXRhIHRvIGltcGxlbWVudCBDQ1Njcm9sbGJhcgorICAgIFdlYktpdDo6V2Vi
U2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5U3R5bGUgbV9zY3JvbGxiYXJPdmVybGF5U3R5bGU7
CisgICAgV2ViS2l0OjpXZWJWZWN0b3I8V2ViS2l0OjpXZWJSZWN0PiBtX3RpY2ttYXJrczsKKyAg
ICBXZWJLaXQ6OldlYlNjcm9sbGJhcjo6T3JpZW50YXRpb24gbV9vcmllbnRhdGlvbjsKKyAgICBX
ZWJLaXQ6OldlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyQ29udHJvbFNpemUgbV9jb250cm9sU2l6ZTsK
KyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBtX3ByZXNzZWRQYXJ0Owor
ICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0IG1faG92ZXJlZFBhcnQ7CiAg
ICAgYm9vbCBtX2lzU2Nyb2xsYWJsZUFyZWFBY3RpdmU7CiAgICAgYm9vbCBtX2lzU2Nyb2xsVmll
d1Njcm9sbGJhcjsKLQotICAgIFNjcm9sbGJhck9yaWVudGF0aW9uIG1fb3JpZW50YXRpb247Ci0K
LSAgICBTY3JvbGxiYXJDb250cm9sU2l6ZSBtX2NvbnRyb2xTaXplOwotCi0gICAgU2Nyb2xsYmFy
UGFydCBtX3ByZXNzZWRQYXJ0OwotICAgIFNjcm9sbGJhclBhcnQgbV9ob3ZlcmVkUGFydDsKLQog
ICAgIGJvb2wgbV9lbmFibGVkOworICAgIGJvb2wgbV9pc0N1c3RvbVNjcm9sbGJhcjsKKyAgICBi
b29sIG1faXNPdmVybGF5U2Nyb2xsYmFyOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQu
Z3lwCmluZGV4IDVjMjQyMjI2MTM0ODlmYjg4MGI1MzNkZTUwZTc1NWZkMzRlMjIzNmYuLmFkMWU4
NjYyOTE4YWIwZTNhMTE0MGNhNTNlOWE0OTc2ODVhYWVhZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dl
YktpdC5neXAKQEAgLTYyOSw2ICs2MjksMTIgQEAKICAgICAgICAgICAgICAgICAnc3JjL1dlYlNj
b3BlZFVzZXJHZXN0dXJlLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JpcHRDb250
cm9sbGVyLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJTY3JvbGxhYmxlTGF5ZXIuY3Bw
JywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYlNjcm9sbGJhckltcGwuY3BwJywKKyAgICAgICAg
ICAgICAgICAnc3JjL1dlYlNjcm9sbGJhckltcGwuaCcsCisgICAgICAgICAgICAgICAgJ3NyYy9X
ZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1dl
YlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbC5oJywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnkuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYlNjcm9s
bGJhclRoZW1lUGFpbnRlci5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViU2VhcmNoYWJs
ZUZvcm1EYXRhLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJTZWN1cml0eU9yaWdpbi5j
cHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViU2VjdXJpdHlQb2xpY3kuY3BwJywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3Bw
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKaW5k
ZXggNWYyNTAzNTFhOWU5MjAxOTE5MTdlMTRiOGJmZWNhZjdjNDFiN2VlOC4uOWNmNjA4OTNkODVj
NGFmNWZmNDRlODNlZWQzYWMxZjYzMTI2NGI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKQEAgLTQzMyw2ICs0MzMsMjMgQEAg
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJTY3JvbGxiYXI6OlNjcm9sbEJ5UGFnZSwg
U2Nyb2xsQnlQYWdlKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViU2Nyb2xsYmFy
OjpTY3JvbGxCeURvY3VtZW50LCBTY3JvbGxCeURvY3VtZW50KTsKIENPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oV2ViU2Nyb2xsYmFyOjpTY3JvbGxCeVBpeGVsLCBTY3JvbGxCeVBpeGVsKTsK
IAorQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJTY3JvbGxiYXI6OlJlZ3VsYXJTY3Jv
bGxiYXIsIFJlZ3VsYXJTY3JvbGxiYXIpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShX
ZWJTY3JvbGxiYXI6OlNtYWxsU2Nyb2xsYmFyLCBTbWFsbFNjcm9sbGJhcik7CitDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKFdlYlNjcm9sbGJhcjo6Tm9QYXJ0LCBOb1BhcnQpOworQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJTY3JvbGxiYXI6OkJhY2tCdXR0b25TdGFydFBhcnQs
IEJhY2tCdXR0b25TdGFydFBhcnQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJT
Y3JvbGxiYXI6OkZvcndhcmRCdXR0b25TdGFydFBhcnQsIEZvcndhcmRCdXR0b25TdGFydFBhcnQp
OworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJTY3JvbGxiYXI6OkJhY2tUcmFja1Bh
cnQsIEJhY2tUcmFja1BhcnQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJTY3Jv
bGxiYXI6OlRodW1iUGFydCwgVGh1bWJQYXJ0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViU2Nyb2xsYmFyOjpGb3J3YXJkVHJhY2tQYXJ0LCBGb3J3YXJkVHJhY2tQYXJ0KTsKK0NP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViU2Nyb2xsYmFyOjpCYWNrQnV0dG9uRW5kUGFy
dCwgQmFja0J1dHRvbkVuZFBhcnQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJT
Y3JvbGxiYXI6OkZvcndhcmRCdXR0b25FbmRQYXJ0LCBGb3J3YXJkQnV0dG9uRW5kUGFydCk7CitD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyQkdQYXJ0
LCBTY3JvbGxiYXJCR1BhcnQpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJTY3Jv
bGxiYXI6OlRyYWNrQkdQYXJ0LCBUcmFja0JHUGFydCk7CitDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKFdlYlNjcm9sbGJhcjo6QWxsUGFydHMsIEFsbFBhcnRzKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5U3R5bGVEZWZhdWx0
LCBTY3JvbGxiYXJPdmVybGF5U3R5bGVEZWZhdWx0KTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5U3R5bGVEYXJrLCBTY3JvbGxiYXJP
dmVybGF5U3R5bGVEYXJrKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViU2Nyb2xs
YmFyOjpTY3JvbGxiYXJPdmVybGF5U3R5bGVMaWdodCwgU2Nyb2xsYmFyT3ZlcmxheVN0eWxlTGln
aHQpOworCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlNldHRpbmdzOjpFZGl0aW5n
QmVoYXZpb3JNYWMsIEVkaXRpbmdNYWNCZWhhdmlvcik7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElO
R19FTlVNKFdlYlNldHRpbmdzOjpFZGl0aW5nQmVoYXZpb3JXaW4sIEVkaXRpbmdXaW5kb3dzQmVo
YXZpb3IpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJTZXR0aW5nczo6RWRpdGlu
Z0JlaGF2aW9yVW5peCwgRWRpdGluZ1VuaXhCZWhhdmlvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9FeHRlcm5hbFBvcHVwTWVudS5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRXh0ZXJuYWxQb3B1cE1lbnUuaAppbmRleCBhZWZkMzVlMTI5M2Y4NzQyNWJl
MDIxMjY4NTc5NjM1OThlMDZlZGM4Li4zODJiZjRjYmY5OGFiMzA3NGM0M2Q4ZDFlYjFiNzJlYjFl
YmI3ZTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FeHRlcm5hbFBv
cHVwTWVudS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0V4dGVybmFsUG9wdXBN
ZW51LmgKQEAgLTMzLDYgKzMzLDggQEAKIAogI2luY2x1ZGUgIlBvcHVwTWVudS5oIgogI2luY2x1
ZGUgIldlYkV4dGVybmFsUG9wdXBNZW51Q2xpZW50LmgiCisjaW5jbHVkZSA8cHVibGljL1dlYkNh
bnZhcy5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXIuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogY2xhc3MgRnJhbWVWaWV3OwpAQCAtNDUsNiArNDcsNyBAQCBuYW1lc3BhY2UgV2Vi
S2l0IHsKIGNsYXNzIFdlYkV4dGVybmFsUG9wdXBNZW51OwogY2xhc3MgV2ViVmlld0NsaWVudDsK
IHN0cnVjdCBXZWJQb3B1cE1lbnVJbmZvOworY2xhc3MgV2ViSW5wdXRFdmVudDsKIAogLy8gVGhl
IEV4dGVybmFsUG9wdXBNZW51IGNvbm5lY3RzIHRoZSBhY3R1YWwgaW1wbGVtZW50YXRpb24gb2Yg
dGhlIHBvcHVwIG1lbnUKIC8vIHRvIHRoZSBXZWJDb3JlIHBvcHVwIG1lbnUuCkBAIC03Niw3ICs3
OSw3IEBAIHByaXZhdGU6CiAKICAgICAvLyBUaGUgYWN0dWFsIGltcGxlbWVudG9yIG9mIHRoZSBz
aG93IG1lbnUuCiAgICAgV2ViRXh0ZXJuYWxQb3B1cE1lbnUqIG1fd2ViRXh0ZXJuYWxQb3B1cE1l
bnU7Ci19OyAKK307CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5TY3JvbGxiYXJJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpblNjcm9sbGJhckltcGwuY3BwCmluZGV4IGIw
ZjYzYTdlNGEwZDYxMzE0YmE1MmI4ZjI2OGE0ZTY0NDkzNWQ4MGEuLmYzNGRiZmRjN2U5ZWEyMjk2
MTkxZmNmNmNhNGViN2EwMzYxYmJlZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlBsdWdpblNjcm9sbGJhckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlBsdWdpblNjcm9sbGJhckltcGwuY3BwCkBAIC02OSw4ICs2OSw4IEBAIFdl
YlBsdWdpblNjcm9sbGJhckltcGw6OldlYlBsdWdpblNjcm9sbGJhckltcGwoT3JpZW50YXRpb24g
b3JpZW50YXRpb24sCiB7CiAgICAgbV9zY3JvbGxiYXIgPSBTY3JvbGxiYXI6OmNyZWF0ZU5hdGl2
ZVNjcm9sbGJhcigKICAgICAgICAgc3RhdGljX2Nhc3Q8U2Nyb2xsYWJsZUFyZWEqPihtX2dyb3Vw
KSwKLSAgICAgICAgc3RhdGljX2Nhc3Q8U2Nyb2xsYmFyT3JpZW50YXRpb24+KG9yaWVudGF0aW9u
KSwKLSAgICAgICAgUmVndWxhclNjcm9sbGJhcik7CisgICAgICAgIHN0YXRpY19jYXN0PFdlYkNv
cmU6OlNjcm9sbGJhck9yaWVudGF0aW9uPihvcmllbnRhdGlvbiksCisgICAgICAgIFdlYkNvcmU6
OlJlZ3VsYXJTY3JvbGxiYXIpOwogICAgIG1fZ3JvdXAtPnNjcm9sbGJhckNyZWF0ZWQodGhpcyk7
CiB9CiAKQEAgLTEyMyw2ICsxMjMsNzggQEAgaW50IFdlYlBsdWdpblNjcm9sbGJhckltcGw6OnZh
bHVlKCkgY29uc3QKICAgICByZXR1cm4gbV9zY3JvbGxPZmZzZXQ7CiB9CiAKK1dlYlBvaW50IFdl
YlBsdWdpblNjcm9sbGJhckltcGw6OmxvY2F0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9z
Y3JvbGxiYXItPmZyYW1lUmVjdCgpLmxvY2F0aW9uKCk7Cit9CisKK1dlYlNpemUgV2ViUGx1Z2lu
U2Nyb2xsYmFySW1wbDo6c2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5m
cmFtZVJlY3QoKS5zaXplKCk7Cit9CisKK2Jvb2wgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6ZW5h
YmxlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5lbmFibGVkKCk7Cit9CisK
K2ludCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjptYXhpbXVtKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9zY3JvbGxiYXItPm1heGltdW0oKTsKK30KKworaW50IFdlYlBsdWdpblNjcm9sbGJhcklt
cGw6OnRvdGFsU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT50b3RhbFNp
emUoKTsKK30KKworYm9vbCBXZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjppc1Njcm9sbFZpZXdTY3Jv
bGxiYXIoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+aXNTY3JvbGxWaWV3U2Ny
b2xsYmFyKCk7Cit9CisKK2Jvb2wgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6aXNTY3JvbGxhYmxl
QXJlYUFjdGl2ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5pc1Njcm9sbGFi
bGVBcmVhQWN0aXZlKCk7Cit9CisKK3ZvaWQgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6Z2V0VGlj
a21hcmtzKFdlYlZlY3RvcjxXZWJSZWN0PiYgdGlja21hcmtzKSBjb25zdAoreworICAgIG1fY2xp
ZW50LT5nZXRUaWNrbWFya3MoY29uc3RfY2FzdDxXZWJQbHVnaW5TY3JvbGxiYXJJbXBsKj4odGhp
cyksICZ0aWNrbWFya3MpOworfQorCitXZWJTY3JvbGxiYXI6OlNjcm9sbGJhckNvbnRyb2xTaXpl
IFdlYlBsdWdpblNjcm9sbGJhckltcGw6OmNvbnRyb2xTaXplKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8V2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJDb250cm9sU2l6ZT4obV9zY3Jv
bGxiYXItPmNvbnRyb2xTaXplKCkpOworfQorCitXZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBhcnQg
V2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6cHJlc3NlZFBhcnQoKSBjb25zdAoreworICAgIHJldHVy
biBzdGF0aWNfY2FzdDxXZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBhcnQ+KG1fc2Nyb2xsYmFyLT5w
cmVzc2VkUGFydCgpKTsKK30KKworV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0IFdlYlBsdWdp
blNjcm9sbGJhckltcGw6OmhvdmVyZWRQYXJ0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8V2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0PihtX3Njcm9sbGJhci0+aG92ZXJlZFBh
cnQoKSk7Cit9CisKK1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlIFdlYlBsdWdp
blNjcm9sbGJhckltcGw6OnNjcm9sbGJhck92ZXJsYXlTdHlsZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIHN0YXRpY19jYXN0PFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlPihtX3Nj
cm9sbGJhci0+c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkpOworfQorCitXZWJTY3JvbGxiYXI6Ok9y
aWVudGF0aW9uIFdlYlBsdWdpblNjcm9sbGJhckltcGw6Om9yaWVudGF0aW9uKCkgY29uc3QKK3sK
KyAgICBpZiAobV9zY3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gV2ViQ29yZTo6SG9yaXpvbnRh
bFNjcm9sbGJhcikKKyAgICAgICAgcmV0dXJuIFdlYlNjcm9sbGJhcjo6SG9yaXpvbnRhbDsKKyAg
ICByZXR1cm4gV2ViU2Nyb2xsYmFyOjpWZXJ0aWNhbDsKK30KKworYm9vbCBXZWJQbHVnaW5TY3Jv
bGxiYXJJbXBsOjppc0N1c3RvbVNjcm9sbGJhcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Ny
b2xsYmFyLT5pc0N1c3RvbVNjcm9sbGJhcigpOworfQorCiB2b2lkIFdlYlBsdWdpblNjcm9sbGJh
ckltcGw6OnNldExvY2F0aW9uKGNvbnN0IFdlYlJlY3QmIHJlY3QpCiB7CiAgICAgSW50UmVjdCBv
bGRSZWN0ID0gbV9zY3JvbGxiYXItPmZyYW1lUmVjdCgpOwpAQCAtMjExLDcgKzI4Myw3IEBAIGJv
b2wgV2ViUGx1Z2luU2Nyb2xsYmFySW1wbDo6b25Nb3VzZURvd24oY29uc3QgV2ViSW5wdXRFdmVu
dCYgZXZlbnQpCiBib29sIFdlYlBsdWdpblNjcm9sbGJhckltcGw6Om9uTW91c2VVcChjb25zdCBX
ZWJJbnB1dEV2ZW50JiBldmVudCkKIHsKICAgICBXZWJNb3VzZUV2ZW50IG1vdXNldXAgPSAqc3Rh
dGljX2Nhc3Q8Y29uc3QgV2ViTW91c2VFdmVudCo+KCZldmVudCk7Ci0gICAgaWYgKG1fc2Nyb2xs
YmFyLT5wcmVzc2VkUGFydCgpID09IE5vUGFydCkKKyAgICBpZiAobV9zY3JvbGxiYXItPnByZXNz
ZWRQYXJ0KCkgPT0gV2ViQ29yZTo6Tm9QYXJ0KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAg
ICByZXR1cm4gbV9zY3JvbGxiYXItPm1vdXNlVXAoUGxhdGZvcm1Nb3VzZUV2ZW50QnVpbGRlciht
X3Njcm9sbGJhci5nZXQoKSwgbW91c2V1cCkpOwpAQCAtMjIxLDIwICsyOTMsMjAgQEAgYm9vbCBX
ZWJQbHVnaW5TY3JvbGxiYXJJbXBsOjpvbk1vdXNlTW92ZShjb25zdCBXZWJJbnB1dEV2ZW50JiBl
dmVudCkKIHsKICAgICBXZWJNb3VzZUV2ZW50IG1vdXNlbW92ZSA9ICpzdGF0aWNfY2FzdDxjb25z
dCBXZWJNb3VzZUV2ZW50Kj4oJmV2ZW50KTsKICAgICBpZiAobV9zY3JvbGxiYXItPmZyYW1lUmVj
dCgpLmNvbnRhaW5zKG1vdXNlbW92ZS54LCBtb3VzZW1vdmUueSkKLSAgICAgICAgfHwgbV9zY3Jv
bGxiYXItPnByZXNzZWRQYXJ0KCkgIT0gTm9QYXJ0KSB7CisgICAgICAgIHx8IG1fc2Nyb2xsYmFy
LT5wcmVzc2VkUGFydCgpICE9IFdlYkNvcmU6Ok5vUGFydCkgewogICAgICAgICBtb3VzZW1vdmUu
eCAtPSBtX3Njcm9sbGJhci0+eCgpOwogICAgICAgICBtb3VzZW1vdmUueSAtPSBtX3Njcm9sbGJh
ci0+eSgpOwogICAgICAgICByZXR1cm4gbV9zY3JvbGxiYXItPm1vdXNlTW92ZWQoUGxhdGZvcm1N
b3VzZUV2ZW50QnVpbGRlcihtX3Njcm9sbGJhci5nZXQoKSwgbW91c2Vtb3ZlKSk7CiAgICAgfQog
Ci0gICAgaWYgKG1fc2Nyb2xsYmFyLT5ob3ZlcmVkUGFydCgpICE9IE5vUGFydCAmJiAhbV9zY3Jv
bGxiYXItPmlzT3ZlcmxheVNjcm9sbGJhcigpKQorICAgIGlmIChtX3Njcm9sbGJhci0+aG92ZXJl
ZFBhcnQoKSAhPSBXZWJDb3JlOjpOb1BhcnQgJiYgIW1fc2Nyb2xsYmFyLT5pc092ZXJsYXlTY3Jv
bGxiYXIoKSkKICAgICAgICAgbV9zY3JvbGxiYXItPm1vdXNlRXhpdGVkKCk7CiAgICAgcmV0dXJu
IGZhbHNlOwogfQogCiBib29sIFdlYlBsdWdpblNjcm9sbGJhckltcGw6Om9uTW91c2VMZWF2ZShj
b25zdCBXZWJJbnB1dEV2ZW50JiBldmVudCkKIHsKLSAgICBpZiAobV9zY3JvbGxiYXItPmhvdmVy
ZWRQYXJ0KCkgIT0gTm9QYXJ0KQorICAgIGlmIChtX3Njcm9sbGJhci0+aG92ZXJlZFBhcnQoKSAh
PSBXZWJDb3JlOjpOb1BhcnQpCiAgICAgICAgIG1fc2Nyb2xsYmFyLT5tb3VzZUV4aXRlZCgpOwog
CiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViUGx1Z2luU2Nyb2xsYmFySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViUGx1Z2luU2Nyb2xsYmFySW1wbC5oCmluZGV4IGI0MmNiODJmZDk1YjNmZThmMjY2ZmQyZGQ3
MWYxNTJlMTcwMjU0MzkuLjQzZTNmZDdiMjZlMjlhNjhmODI3ZWUyODJlODNiOTVkNzg3YzU1NWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpblNjcm9sbGJh
ckltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5TY3JvbGxi
YXJJbXBsLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRTY3JvbGxP
ZmZzZXQoaW50KTsKICAgICB2b2lkIGludmFsaWRhdGVTY3JvbGxiYXJSZWN0KGNvbnN0IFdlYkNv
cmU6OkludFJlY3QmKTsKKyAgICAvLyBGSVhNRTogQ29tYmluZSB0aGlzIHdpdGggdGhlIG90aGVy
IGdldFRpY2ttYXJrcyBtZXRob2QKICAgICB2b2lkIGdldFRpY2ttYXJrcyhWZWN0b3I8V2ViQ29y
ZTo6SW50UmVjdD4mKSBjb25zdDsKICAgICBXZWJDb3JlOjpJbnRQb2ludCBjb252ZXJ0RnJvbUNv
bnRhaW5pbmdWaWV3VG9TY3JvbGxiYXIoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBhcmVudFBv
aW50KSBjb25zdDsKICAgICB2b2lkIHNjcm9sbGJhclN0eWxlQ2hhbmdlZCgpOwpAQCAtNTcsMTYg
KzU4LDMwIEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpTY3JvbGxiYXIqIHNjcm9sbGJhcigpIHsg
cmV0dXJuIG1fc2Nyb2xsYmFyLmdldCgpOyB9CiAKICAgICAvLyBXZWJLaXQ6OldlYlNjcm9sbGJh
ciBtZXRob2RzCi0gICAgdmlydHVhbCBib29sIGlzT3ZlcmxheSgpIGNvbnN0OwotICAgIHZpcnR1
YWwgaW50IHZhbHVlKCkgY29uc3Q7CisgICAgdmlydHVhbCBib29sIGlzT3ZlcmxheSgpIGNvbnN0
IE9WRVJSSURFOworICAgIHZpcnR1YWwgaW50IHZhbHVlKCkgY29uc3QgT1ZFUlJJREU7CisgICAg
dmlydHVhbCBXZWJQb2ludCBsb2NhdGlvbigpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwg
V2ViU2l6ZSBzaXplKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGVuYWJsZWQo
KSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGludCBtYXhpbXVtKCkgY29uc3QgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCBpbnQgdG90YWxTaXplKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmly
dHVhbCBib29sIGlzU2Nyb2xsVmlld1Njcm9sbGJhcigpIGNvbnN0IE9WRVJSSURFOworICAgIHZp
cnR1YWwgYm9vbCBpc1Njcm9sbGFibGVBcmVhQWN0aXZlKCkgY29uc3QgT1ZFUlJJREU7CisgICAg
dmlydHVhbCB2b2lkIGdldFRpY2ttYXJrcyhXZWJWZWN0b3I8V2ViUmVjdD4mIHRpY2ttYXJrcykg
Y29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBXZWJTY3JvbGxiYXI6OlNjcm9sbGJhckNvbnRy
b2xTaXplIGNvbnRyb2xTaXplKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBXZWJTY3Jv
bGxiYXI6OlNjcm9sbGJhclBhcnQgcHJlc3NlZFBhcnQoKSBjb25zdCBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIFdlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyUGFydCBob3ZlcmVkUGFydCgpIGNvbnN0IE9W
RVJSSURFOworICAgIHZpcnR1YWwgV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJPdmVybGF5U3R5bGUg
c2Nyb2xsYmFyT3ZlcmxheVN0eWxlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBXZWJT
Y3JvbGxiYXI6Ok9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29uc3QgT1ZFUlJJREU7CisgICAg
dmlydHVhbCBib29sIGlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICAv
LyBXZWJLaXQ6OldlYlBsdWdpblNjcm9sbGJhciBtZXRob2RzCi0gICAgdmlydHVhbCB2b2lkIHNl
dExvY2F0aW9uKGNvbnN0IFdlYlJlY3QmKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWUoaW50
IHBvc2l0aW9uKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0RG9jdW1lbnRTaXplKGludCk7Ci0gICAg
dmlydHVhbCB2b2lkIHNjcm9sbChTY3JvbGxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBm
bG9hdCBtdWx0aXBsaWVyKTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoV2ViQ2FudmFzKiwgY29u
c3QgV2ViUmVjdCYpOwotICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVJbnB1dEV2ZW50KGNvbnN0IFdl
YklucHV0RXZlbnQmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0TG9jYXRpb24oY29uc3QgV2ViUmVj
dCYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZShpbnQgcG9zaXRpb24pIE9W
RVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBzZXREb2N1bWVudFNpemUoaW50KSBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsKFNjcm9sbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJp
dHksIGZsb2F0IG11bHRpcGxpZXIpIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBwYWludChX
ZWJDYW52YXMqLCBjb25zdCBXZWJSZWN0JikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGhh
bmRsZUlucHV0RXZlbnQoY29uc3QgV2ViSW5wdXRFdmVudCYpIE9WRVJSSURFOwogCiBwcml2YXRl
OgogICAgIGJvb2wgb25Nb3VzZURvd24oY29uc3QgV2ViSW5wdXRFdmVudCYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFySW1wbC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJJbXBsLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
M2I5MjY5N2U1MjI0YjZhMGUwNjhjMWJhMzUwM2RiOWQzOGE4NDZjCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFySW1wbC5jcHAKQEAgLTAs
MCArMSwxMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwor
ICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1
ZGUgIldlYlNjcm9sbGJhckltcGwuaCIKKworI2luY2x1ZGUgIkludFJlY3QuaCIKKyNpbmNsdWRl
ICJTY3JvbGxiYXIuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1Bhc3NPd25QdHI8V2ViU2Ny
b2xsYmFyPiBXZWJTY3JvbGxiYXI6OmNyZWF0ZShXZWJDb3JlOjpTY3JvbGxiYXIqIHNjcm9sbGJh
cikKK3sKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IFdlYlNjcm9sbGJhckltcGwoc2Nyb2xsYmFy
KSk7Cit9CisKK1dlYlNjcm9sbGJhckltcGw6OldlYlNjcm9sbGJhckltcGwoV2ViQ29yZTo6U2Ny
b2xsYmFyKiBzY3JvbGxiYXIpCisgICAgOiBtX3Njcm9sbGJhcihzY3JvbGxiYXIpCit7Cit9CisK
K2Jvb2wgV2ViU2Nyb2xsYmFySW1wbDo6aXNPdmVybGF5KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9zY3JvbGxiYXItPmlzT3ZlcmxheVNjcm9sbGJhcigpOworfQorCitpbnQgV2ViU2Nyb2xsYmFy
SW1wbDo6dmFsdWUoKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+dmFsdWUoKTsK
K30KKworV2ViUG9pbnQgV2ViU2Nyb2xsYmFySW1wbDo6bG9jYXRpb24oKSBjb25zdAoreworICAg
IHJldHVybiBtX3Njcm9sbGJhci0+bG9jYXRpb24oKTsKK30KKworV2ViU2l6ZSBXZWJTY3JvbGxi
YXJJbXBsOjpzaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPnNpemUoKTsK
K30KKworYm9vbCBXZWJTY3JvbGxiYXJJbXBsOjplbmFibGVkKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9zY3JvbGxiYXItPmVuYWJsZWQoKTsKK30KKworaW50IFdlYlNjcm9sbGJhckltcGw6Om1h
eGltdW0oKSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+bWF4aW11bSgpOworfQor
CitpbnQgV2ViU2Nyb2xsYmFySW1wbDo6dG90YWxTaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9zY3JvbGxiYXItPnRvdGFsU2l6ZSgpOworfQorCitib29sIFdlYlNjcm9sbGJhckltcGw6Omlz
U2Nyb2xsVmlld1Njcm9sbGJhcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5p
c1Njcm9sbFZpZXdTY3JvbGxiYXIoKTsKK30KKworYm9vbCBXZWJTY3JvbGxiYXJJbXBsOjppc1Nj
cm9sbGFibGVBcmVhQWN0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmlz
U2Nyb2xsYWJsZUFyZWFBY3RpdmUoKTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJJbXBsOjpnZXRU
aWNrbWFya3MoV2ViVmVjdG9yPFdlYlJlY3Q+JiB3ZWJUaWNrbWFya3MpIGNvbnN0Cit7CisgICAg
VmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+IHRpY2ttYXJrczsKKyAgICBtX3Njcm9sbGJhci0+Z2V0
VGlja21hcmtzKHRpY2ttYXJrcyk7CisKKyAgICBXZWJWZWN0b3I8V2ViUmVjdD4gcmVzdWx0KHRp
Y2ttYXJrcy5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdGlja21hcmtzLnNp
emUoKTsgKytpKQorICAgICAgICByZXN1bHRbaV0gPSB0aWNrbWFya3NbaV07CisKKyAgICB3ZWJU
aWNrbWFya3Muc3dhcChyZXN1bHQpOworfQorCitXZWJTY3JvbGxiYXI6OlNjcm9sbGJhckNvbnRy
b2xTaXplIFdlYlNjcm9sbGJhckltcGw6OmNvbnRyb2xTaXplKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8V2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJDb250cm9sU2l6ZT4obV9zY3Jv
bGxiYXItPmNvbnRyb2xTaXplKCkpOworfQorCitXZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBhcnQg
V2ViU2Nyb2xsYmFySW1wbDo6cHJlc3NlZFBhcnQoKSBjb25zdAoreworICAgIHJldHVybiBzdGF0
aWNfY2FzdDxXZWJTY3JvbGxiYXI6OlNjcm9sbGJhclBhcnQ+KG1fc2Nyb2xsYmFyLT5wcmVzc2Vk
UGFydCgpKTsKK30KKworV2ViU2Nyb2xsYmFyOjpTY3JvbGxiYXJQYXJ0IFdlYlNjcm9sbGJhcklt
cGw6OmhvdmVyZWRQYXJ0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViU2Ny
b2xsYmFyOjpTY3JvbGxiYXJQYXJ0PihtX3Njcm9sbGJhci0+aG92ZXJlZFBhcnQoKSk7Cit9CisK
K1dlYlNjcm9sbGJhcjo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlIFdlYlNjcm9sbGJhckltcGw6OnNj
cm9sbGJhck92ZXJsYXlTdHlsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdl
YlNjcm9sbGJhcjo6U2Nyb2xsYmFyT3ZlcmxheVN0eWxlPihtX3Njcm9sbGJhci0+c2Nyb2xsYmFy
T3ZlcmxheVN0eWxlKCkpOworfQorCitXZWJTY3JvbGxiYXI6Ok9yaWVudGF0aW9uIFdlYlNjcm9s
bGJhckltcGw6Om9yaWVudGF0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
V2ViU2Nyb2xsYmFyOjpPcmllbnRhdGlvbj4obV9zY3JvbGxiYXItPm9yaWVudGF0aW9uKCkpOwor
fQorCitib29sIFdlYlNjcm9sbGJhckltcGw6OmlzQ3VzdG9tU2Nyb2xsYmFyKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmlzQ3VzdG9tU2Nyb2xsYmFyKCk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViU2Nyb2xsYmFySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xs
YmFySW1wbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjOTIzMWFhYTVkOGM5ZDdlZDk5MmIyZjE5MzEzN2E3OGQ1
YWQwMTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJT
Y3JvbGxiYXJJbXBsLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBX
ZWJTY3JvbGxiYXJJbXBsX2gKKyNkZWZpbmUgV2ViU2Nyb2xsYmFySW1wbF9oCisKKyNpbmNsdWRl
IDxwdWJsaWMvV2ViU2Nyb2xsYmFyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFNj
cm9sbGJhcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlNjcm9sbGJhcklt
cGwgOiBwdWJsaWMgV2ViU2Nyb2xsYmFyIHsKK3B1YmxpYzoKKyAgICBXZWJTY3JvbGxiYXJJbXBs
KFdlYkNvcmU6OlNjcm9sbGJhciopOworCisgICAgLy8gSW1wbGVtZW50IFdlYktpdDo6V2ViU2Ny
b2xsYmFyIG1ldGhvZHMKKyAgICB2aXJ0dWFsIGJvb2wgaXNPdmVybGF5KCkgY29uc3QgT1ZFUlJJ
REU7CisgICAgdmlydHVhbCBpbnQgdmFsdWUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IFdlYlBvaW50IGxvY2F0aW9uKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBXZWJTaXpl
IHNpemUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgZW5hYmxlZCgpIGNvbnN0
IE9WRVJSSURFOworICAgIHZpcnR1YWwgaW50IG1heGltdW0oKSBjb25zdCBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIGludCB0b3RhbFNpemUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJv
b2wgaXNTY3JvbGxWaWV3U2Nyb2xsYmFyKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBi
b29sIGlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IHZvaWQgZ2V0VGlja21hcmtzKFdlYlZlY3RvcjxXZWJSZWN0PiYgdGlja21hcmtzKSBjb25zdCBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIFNjcm9sbGJhckNvbnRyb2xTaXplIGNvbnRyb2xTaXplKCkg
Y29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTY3JvbGxiYXJQYXJ0IHByZXNzZWRQYXJ0KCkg
Y29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTY3JvbGxiYXJQYXJ0IGhvdmVyZWRQYXJ0KCkg
Y29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTY3JvbGxiYXJPdmVybGF5U3R5bGUgc2Nyb2xs
YmFyT3ZlcmxheVN0eWxlKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBPcmllbnRhdGlv
biBvcmllbnRhdGlvbigpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBpc0N1c3Rv
bVNjcm9sbGJhcigpIGNvbnN0IE9WRVJSSURFOworCitwcml2YXRlOgorICAgIFJlZlB0cjxXZWJD
b3JlOjpTY3JvbGxiYXI+IG1fc2Nyb2xsYmFyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Ny
b2xsYmFyVGhlbWVDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjhjOTQ1OGQwNmMxODIy
NWVlM2VhODQxOWM4YjBhMjdlMzYxYWMxNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbC5jcHAKQEAgLTAsMCAr
MSwyMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlICJXZWJTY3Jv
bGxiYXJUaGVtZUNsaWVudEltcGwuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OldlYlNjcm9s
bGJhclRoZW1lQ2xpZW50SW1wbChXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKKyAgICA6IG1fc2Ny
b2xsYmFyKHNjcm9sbGJhcikKK3sKK30KKworaW50IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1w
bDo6eCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGxvY2F0aW9uKCkueCgpOworfQorCitpbnQgV2Vi
U2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjp5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbG9jYXRp
b24oKS55KCk7Cit9CisKK2ludCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OndpZHRoKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gc2l6ZSgpLndpZHRoKCk7Cit9CisKK2ludCBXZWJTY3JvbGxi
YXJUaGVtZUNsaWVudEltcGw6OmhlaWdodCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHNpemUoKS5o
ZWlnaHQoKTsKK30KKworSW50U2l6ZSBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnNpemUo
KSBjb25zdAoreworICAgIHJldHVybiBtX3Njcm9sbGJhci0+c2l6ZSgpOworfQorCitJbnRQb2lu
dCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmxvY2F0aW9uKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9zY3JvbGxiYXItPmxvY2F0aW9uKCk7Cit9CisKK1Njcm9sbFZpZXcqIFdlYlNjcm9s
bGJhclRoZW1lQ2xpZW50SW1wbDo6cGFyZW50KCkgY29uc3QKK3sKKyAgICAvLyBVbnVzZWQgYnkg
Q2hyb21pdW0gc2Nyb2xsYmFyIHRoZW1lcy4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAg
ICByZXR1cm4gMDsKK30KKworU2Nyb2xsVmlldyogV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBs
Ojpyb290KCkgY29uc3QKK3sKKyAgICAvLyBVbnVzZWQgYnkgQ2hyb21pdW0gc2Nyb2xsYmFyIHRo
ZW1lcy4KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gMDsKK30KKwordm9p
ZCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OnNldEZyYW1lUmVjdChjb25zdCBJbnRSZWN0
JikKK3sKKyAgICAvLyBVbnVzZWQgYnkgQ2hyb21pdW0gc2Nyb2xsYmFyIHRoZW1lcy4KKyAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKworSW50UmVjdCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVu
dEltcGw6OmZyYW1lUmVjdCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEludFJlY3QobG9jYXRpb24o
KSwgc2l6ZSgpKTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmludmFs
aWRhdGUoKQoreworICAgIC8vIFVudXNlZCBieSBDaHJvbWl1bSBzY3JvbGxiYXIgdGhlbWVzLgor
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lQ2xp
ZW50SW1wbDo6aW52YWxpZGF0ZVJlY3QoY29uc3QgSW50UmVjdCYpCit7CisgICAgLy8gVW51c2Vk
IGJ5IENocm9taXVtIHNjcm9sbGJhciB0aGVtZXMuCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Cit9CisKK1dlYkNvcmU6OlNjcm9sbGJhck92ZXJsYXlTdHlsZSBXZWJTY3JvbGxiYXJUaGVtZUNs
aWVudEltcGw6OnNjcm9sbGJhck92ZXJsYXlTdHlsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFdlYkNvcmU6OlNjcm9sbGJhck92ZXJsYXlTdHlsZT4obV9zY3JvbGxiYXItPnNj
cm9sbGJhck92ZXJsYXlTdHlsZSgpKTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVu
dEltcGw6OmdldFRpY2ttYXJrcyhWZWN0b3I8SW50UmVjdD4mIHRpY2ttYXJrcykgY29uc3QKK3sK
KyAgICBXZWJWZWN0b3I8V2ViUmVjdD4gd2ViVGlja21hcmtzOworICAgIG1fc2Nyb2xsYmFyLT5n
ZXRUaWNrbWFya3Mod2ViVGlja21hcmtzKTsKKyAgICB0aWNrbWFya3MucmVzaXplKHdlYlRpY2tt
YXJrcy5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgd2ViVGlja21hcmtzLnNp
emUoKTsgKytpKQorICAgICAgICB0aWNrbWFya3NbaV0gPSB3ZWJUaWNrbWFya3NbaV07Cit9CisK
K2Jvb2wgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjppc1Njcm9sbGFibGVBcmVhQWN0aXZl
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPmlzU2Nyb2xsYWJsZUFyZWFBY3Rp
dmUoKTsKK30KKworYm9vbCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmlzU2Nyb2xsVmll
d1Njcm9sbGJhcigpIGNvbnN0Cit7CisgICAgLy8gVW51c2VkIGJ5IENocm9taXVtIHNjcm9sbGJh
ciB0aGVtZXMuCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCitJbnRQb2ludCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6OmNvbnZlcnRGcm9tQ29u
dGFpbmluZ1dpbmRvdyhjb25zdCBJbnRQb2ludCYgd2luZG93UG9pbnQpCit7CisgICAgLy8gVW51
c2VkIGJ5IENocm9taXVtIHNjcm9sbGJhciB0aGVtZXMuCisgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgcmV0dXJuIHdpbmRvd1BvaW50OworfQorCitib29sIFdlYlNjcm9sbGJhclRoZW1l
Q2xpZW50SW1wbDo6aXNDdXN0b21TY3JvbGxiYXIoKSBjb25zdAoreworICAgIHJldHVybiBtX3Nj
cm9sbGJhci0+aXNDdXN0b21TY3JvbGxiYXIoKTsKK30KKworV2ViQ29yZTo6U2Nyb2xsYmFyT3Jp
ZW50YXRpb24gV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpvcmllbnRhdGlvbigpIGNvbnN0
Cit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYkNvcmU6OlNjcm9sbGJhck9yaWVudGF0aW9u
PihtX3Njcm9sbGJhci0+b3JpZW50YXRpb24oKSk7Cit9CisKK2ludCBXZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGw6OnZhbHVlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zY3JvbGxiYXItPnZh
bHVlKCk7Cit9CisKK2Zsb2F0IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6Y3VycmVudFBv
cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIHZhbHVlKCk7Cit9CisKK2ludCBXZWJTY3JvbGxiYXJU
aGVtZUNsaWVudEltcGw6OnZpc2libGVTaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdG90YWxT
aXplKCkgLSBtYXhpbXVtKCk7Cit9CisKK2ludCBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGw6
OnRvdGFsU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT50b3RhbFNpemUo
KTsKK30KKworaW50IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6bWF4aW11bSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5tYXhpbXVtKCk7Cit9CisKK1dlYkNvcmU6OlNj
cm9sbGJhckNvbnRyb2xTaXplIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6Y29udHJvbFNp
emUoKSBjb25zdAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJDb3JlOjpTY3JvbGxiYXJD
b250cm9sU2l6ZT4obV9zY3JvbGxiYXItPmNvbnRyb2xTaXplKCkpOworfQorCitpbnQgV2ViU2Ny
b2xsYmFyVGhlbWVDbGllbnRJbXBsOjpsaW5lU3RlcCgpIGNvbnN0Cit7CisgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBXZWJTY3JvbGxiYXJUaGVtZUNs
aWVudEltcGw6OnBhZ2VTdGVwKCkgY29uc3QKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICByZXR1cm4gMDsKK30KKworV2ViQ29yZTo6U2Nyb2xsYmFyUGFydCBXZWJTY3JvbGxiYXJU
aGVtZUNsaWVudEltcGw6OnByZXNzZWRQYXJ0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8V2ViQ29yZTo6U2Nyb2xsYmFyUGFydD4obV9zY3JvbGxiYXItPnByZXNzZWRQYXJ0KCkp
OworfQorCitXZWJDb3JlOjpTY3JvbGxiYXJQYXJ0IFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1w
bDo6aG92ZXJlZFBhcnQoKSBjb25zdAoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJDb3Jl
OjpTY3JvbGxiYXJQYXJ0PihtX3Njcm9sbGJhci0+aG92ZXJlZFBhcnQoKSk7Cit9CisKK3ZvaWQg
V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpzdHlsZUNoYW5nZWQoKQoreworICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOworfQorCitib29sIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbDo6
ZW5hYmxlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc2Nyb2xsYmFyLT5lbmFibGVkKCk7Cit9
CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsOjpzZXRFbmFibGVkKGJvb2wpCit7
CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisKK2Jvb2wgV2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsOjppc092ZXJsYXlTY3JvbGxiYXIoKSBjb25zdAoreworICAgIHJldHVybiBtX3Nj
cm9sbGJhci0+aXNPdmVybGF5KCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJ
bXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxiYXJUaGVtZUNsaWVu
dEltcGwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iM2E2YWM5NTZmZmEwMjVkY2Y5YzM5NThiMDc2YWNkZmM2YTg3
MmMzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Ny
b2xsYmFyVGhlbWVDbGllbnRJbXBsLmgKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBD
T05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsX2gKKyNkZWZpbmUgV2ViU2Nyb2xsYmFyVGhlbWVD
bGllbnRJbXBsX2gKKworI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lQ2xpZW50LmgiCisjaW5jbHVk
ZSA8cHVibGljL1dlYlNjcm9sbGJhci5oPgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBTY3JvbGxWaWV3OworfQorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworLy8gQWRhcHRzIGEgV2ViU2Nyb2xsYmFyIHRvIHRoZSBTY3JvbGxiYXJUaGVt
ZUNsaWVudCBpbnRlcmZhY2UKK2NsYXNzIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCA6IHB1
YmxpYyBXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNsaWVudCB7CisgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsKTsKK3B1YmxpYzoKKyAgICAvLyBDYWxs
ZXIgbXVzdCByZXRhaW4gb3duZXJzaGlwIG9mIHRoaXMgcG9pbnRlciBhbmQgZW5zdXJlIHRoYXQg
aXRzIGxpZmV0aW1lCisgICAgLy8gZXhjZWVkcyB0aGlzIGluc3RhbmNlLgorICAgIFdlYlNjcm9s
bGJhclRoZW1lQ2xpZW50SW1wbChXZWJTY3JvbGxiYXIqKTsKKworICAgIC8vIEltcGxlbWVudCBX
ZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNsaWVudCBpbnRlcmZhY2UKKyAgICB2aXJ0dWFsIGludCB4
KCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBpbnQgeSgpIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgaW50IHdpZHRoKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBpbnQg
aGVpZ2h0KCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBXZWJDb3JlOjpJbnRTaXplIHNp
emUoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OkludFBvaW50IGxvY2F0
aW9uKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBXZWJDb3JlOjpTY3JvbGxWaWV3KiBw
YXJlbnQoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNjcm9sbFZpZXcq
IHJvb3QoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0RnJhbWVSZWN0KGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6Oklu
dFJlY3QgZnJhbWVSZWN0KCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGludmFs
aWRhdGUoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgaW52YWxpZGF0ZVJlY3QoY29uc3Qg
V2ViQ29yZTo6SW50UmVjdCYpIE9WRVJSSURFOworICAgIHZpcnR1YWwgV2ViQ29yZTo6U2Nyb2xs
YmFyT3ZlcmxheVN0eWxlIHNjcm9sbGJhck92ZXJsYXlTdHlsZSgpIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgdm9pZCBnZXRUaWNrbWFya3MoVmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+Jikg
Y29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsYWJsZUFyZWFBY3RpdmUo
KSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGJvb2wgaXNTY3JvbGxWaWV3U2Nyb2xsYmFy
KCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBXZWJDb3JlOjpJbnRQb2ludCBjb252ZXJ0
RnJvbUNvbnRhaW5pbmdXaW5kb3coY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmKSBPVkVSUklERTsK
KyAgICB2aXJ0dWFsIGJvb2wgaXNDdXN0b21TY3JvbGxiYXIoKSBjb25zdCBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIFdlYkNvcmU6OlNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uKCkgY29u
c3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBpbnQgdmFsdWUoKSBjb25zdCBPVkVSUklERTsKKyAg
ICB2aXJ0dWFsIGZsb2F0IGN1cnJlbnRQb3MoKSBjb25zdCBPVkVSUklERTsKKyAgICB2aXJ0dWFs
IGludCB2aXNpYmxlU2l6ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgaW50IHRvdGFs
U2l6ZSgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgaW50IG1heGltdW0oKSBjb25zdCBP
VkVSUklERTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OlNjcm9sbGJhckNvbnRyb2xTaXplIGNvbnRy
b2xTaXplKCkgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBpbnQgbGluZVN0ZXAoKSBjb25z
dCBPVkVSUklERTsKKyAgICB2aXJ0dWFsIGludCBwYWdlU3RlcCgpIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgV2ViQ29yZTo6U2Nyb2xsYmFyUGFydCBwcmVzc2VkUGFydCgpIGNvbnN0IE9W
RVJSSURFOworICAgIHZpcnR1YWwgV2ViQ29yZTo6U2Nyb2xsYmFyUGFydCBob3ZlcmVkUGFydCgp
IGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBzdHlsZUNoYW5nZWQoKSBPVkVSUklE
RTsKKyAgICB2aXJ0dWFsIGJvb2wgZW5hYmxlZCgpIGNvbnN0IE9WRVJSSURFOworICAgIHZpcnR1
YWwgdm9pZCBzZXRFbmFibGVkKGJvb2wpIE9WRVJSSURFOworICAgIHZpcnR1YWwgYm9vbCBpc092
ZXJsYXlTY3JvbGxiYXIoKSBjb25zdCBPVkVSUklERTsKKworcHJpdmF0ZToKKyAgICBXZWJLaXQ6
OldlYlNjcm9sbGJhciogbV9zY3JvbGxiYXI7Cit9OworCit9CisKKyNlbmRpZiAvLyBXZWJTY3Jv
bGxiYXJUaGVtZUNsaWVudEltcGxfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZTA5MDll
ZjBjZGIyMmJhMWU4N2MxOTBmZGI2YTQwZTlhMmQzMGVmCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5jcHAKQEAg
LTAsMCArMSwxNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlIDxw
dWJsaWMvV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5oPgorCisjaW5jbHVkZSAiU2Nyb2xsYmFy
VGhlbWVDb21wb3NpdGUuaCIKKyNpbmNsdWRlICJXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwu
aCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViUmVjdC5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3Jv
bGxiYXIuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OmFzc2lnbihjb25zdCBXZWJTY3Jv
bGxiYXJUaGVtZUdlb21ldHJ5JiBnZW9tZXRyeSkKK3sKKyAgICAvLyBUaGlzIGlzIGEgcG9pbnRl
ciB0byBhIHN0YXRpYyBvYmplY3QsIHNvIG5vIG93bmVyc2hpcCB0cmFuc2ZlcnJhbC4KKyAgICBt
X3RoZW1lID0gZ2VvbWV0cnkubV90aGVtZTsKK30KKworaW50IFdlYlNjcm9sbGJhclRoZW1lR2Vv
bWV0cnk6OnRodW1iUG9zaXRpb24oV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgV2Vi
U2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIHJldHVybiBt
X3RoZW1lLT50aHVtYlBvc2l0aW9uKCZjbGllbnQpOworfQorCitpbnQgV2ViU2Nyb2xsYmFyVGhl
bWVHZW9tZXRyeTo6dGh1bWJMZW5ndGgoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAg
V2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIHJldHVy
biBtX3RoZW1lLT50aHVtYkxlbmd0aCgmY2xpZW50KTsKK30KKworaW50IFdlYlNjcm9sbGJhclRo
ZW1lR2VvbWV0cnk6OnRyYWNrUG9zaXRpb24oV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7Cisg
ICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIHJl
dHVybiBtX3RoZW1lLT50cmFja1Bvc2l0aW9uKCZjbGllbnQpOworfQorCitpbnQgV2ViU2Nyb2xs
YmFyVGhlbWVHZW9tZXRyeTo6dHJhY2tMZW5ndGgoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7
CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAg
IHJldHVybiBtX3RoZW1lLT50cmFja0xlbmd0aCgmY2xpZW50KTsKK30KKworYm9vbCBXZWJTY3Jv
bGxiYXJUaGVtZUdlb21ldHJ5OjpoYXNCdXR0b25zKFdlYlNjcm9sbGJhciogc2Nyb2xsYmFyKQor
eworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAg
ICByZXR1cm4gbV90aGVtZS0+aGFzQnV0dG9ucygmY2xpZW50KTsKK30KKworYm9vbCBXZWJTY3Jv
bGxiYXJUaGVtZUdlb21ldHJ5OjpoYXNUaHVtYihXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sK
KyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAg
cmV0dXJuIG1fdGhlbWUtPmhhc1RodW1iKCZjbGllbnQpOworfQorCitXZWJSZWN0IFdlYlNjcm9s
bGJhclRoZW1lR2VvbWV0cnk6OnRyYWNrUmVjdChXZWJTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sK
KyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAg
cmV0dXJuIG1fdGhlbWUtPnRyYWNrUmVjdCgmY2xpZW50KTsKK30KKworV2ViUmVjdCBXZWJTY3Jv
bGxiYXJUaGVtZUdlb21ldHJ5Ojp0aHVtYlJlY3QoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7
CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAg
IHJldHVybiBtX3RoZW1lLT50aHVtYlJlY3QoJmNsaWVudCk7Cit9CisKK2ludCBXZWJTY3JvbGxi
YXJUaGVtZUdlb21ldHJ5OjptaW5pbXVtVGh1bWJMZW5ndGgoV2ViU2Nyb2xsYmFyKiBzY3JvbGxi
YXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIp
OworICAgIHJldHVybiBtX3RoZW1lLT5taW5pbXVtVGh1bWJMZW5ndGgoJmNsaWVudCk7Cit9CisK
K2ludCBXZWJTY3JvbGxiYXJUaGVtZUdlb21ldHJ5OjpzY3JvbGxiYXJUaGlja25lc3MoV2ViU2Ny
b2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNs
aWVudChzY3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT5zY3JvbGxiYXJUaGlja25lc3Mo
Y2xpZW50LmNvbnRyb2xTaXplKCkpOworfQorCitXZWJSZWN0IFdlYlNjcm9sbGJhclRoZW1lR2Vv
bWV0cnk6OmJhY2tCdXR0b25TdGFydFJlY3QoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7Cisg
ICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIHJl
dHVybiBtX3RoZW1lLT5iYWNrQnV0dG9uUmVjdCgmY2xpZW50LCBCYWNrQnV0dG9uU3RhcnRQYXJ0
LCBmYWxzZSk7Cit9CisKK1dlYlJlY3QgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6YmFja0J1
dHRvbkVuZFJlY3QoV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFy
VGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT5i
YWNrQnV0dG9uUmVjdCgmY2xpZW50LCBCYWNrQnV0dG9uRW5kUGFydCwgZmFsc2UpOworfQorCitX
ZWJSZWN0IFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OmZvcndhcmRCdXR0b25TdGFydFJlY3Qo
V2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJ
bXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT5mb3J3YXJkQnV0dG9u
UmVjdCgmY2xpZW50LCBGb3J3YXJkQnV0dG9uU3RhcnRQYXJ0LCBmYWxzZSk7Cit9CisKK1dlYlJl
Y3QgV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6Zm9yd2FyZEJ1dHRvbkVuZFJlY3QoV2ViU2Ny
b2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNs
aWVudChzY3JvbGxiYXIpOworICAgIHJldHVybiBtX3RoZW1lLT5mb3J3YXJkQnV0dG9uUmVjdCgm
Y2xpZW50LCBGb3J3YXJkQnV0dG9uRW5kUGFydCwgZmFsc2UpOworfQorCitXZWJSZWN0IFdlYlNj
cm9sbGJhclRoZW1lR2VvbWV0cnk6OmNvbnN0cmFpblRyYWNrUmVjdFRvVHJhY2tQaWVjZXMoV2Vi
U2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCit7CisgICAgV2ViU2Ny
b2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAgIHJldHVybiBtX3Ro
ZW1lLT5jb25zdHJhaW5UcmFja1JlY3RUb1RyYWNrUGllY2VzKCZjbGllbnQsIEludFJlY3QocmVj
dCkpOworfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lR2VvbWV0cnk6OnNwbGl0VHJhY2soV2Vi
U2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHdlYlRyYWNrLCBXZWJSZWN0JiB3
ZWJTdGFydFRyYWNrLCBXZWJSZWN0JiB3ZWJUaHVtYiwgV2ViUmVjdCYgd2ViRW5kVHJhY2spCit7
CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVudChzY3JvbGxiYXIpOworICAg
IEludFJlY3QgdHJhY2sod2ViVHJhY2spOworICAgIEludFJlY3Qgc3RhcnRUcmFjazsKKyAgICBJ
bnRSZWN0IHRodW1iOworICAgIEludFJlY3QgZW5kVHJhY2s7CisgICAgbV90aGVtZS0+c3BsaXRU
cmFjaygmY2xpZW50LCB0cmFjaywgc3RhcnRUcmFjaywgdGh1bWIsIGVuZFRyYWNrKTsKKworICAg
IHdlYlN0YXJ0VHJhY2sgPSBzdGFydFRyYWNrOworICAgIHdlYlRodW1iID0gdGh1bWI7CisgICAg
d2ViRW5kVHJhY2sgPSBlbmRUcmFjazsKK30KKworV2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeTo6
V2ViU2Nyb2xsYmFyVGhlbWVHZW9tZXRyeShXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNvbXBvc2l0
ZSogdGhlbWUpCisgICAgOiBtX3RoZW1lKHRoZW1lKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGJh
clRoZW1lUGFpbnRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxi
YXJUaGVtZVBhaW50ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyMmJmY2Q2YzA2OTc1ZWViZmZmNmMzN2Qx
OTU5MWFiZTkxYjk4NDIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXIuY3BwCkBAIC0wLDAgKzEsMTQ0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAq
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaW5jbHVkZSA8cHVibGljL1dlYlNjcm9sbGJhclRo
ZW1lUGFpbnRlci5oPgorCisjaW5jbHVkZSAiUGxhdGZvcm1Db250ZXh0U2tpYS5oIgorI2luY2x1
ZGUgIlNjcm9sbGJhclRoZW1lQ29tcG9zaXRlLmgiCisjaW5jbHVkZSAiV2ViU2Nyb2xsYmFyVGhl
bWVDbGllbnRJbXBsLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYlJlY3QuaD4KKyNpbmNsdWRlIDxw
dWJsaWMvV2ViU2Nyb2xsYmFyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1l
c3BhY2UgV2ViS2l0IHsKKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OmFzc2lnbihj
b25zdCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXImIHBhaW50ZXIpCit7CisgICAgLy8gVGhpcyBp
cyBhIHBvaW50ZXIgdG8gYSBzdGF0aWMgb2JqZWN0LCBzbyBubyBvd25lcnNoaXAgdHJhbnNmZXJy
YWwuCisgICAgbV90aGVtZSA9IHBhaW50ZXIubV90aGVtZTsKK30KKwordm9pZCBXZWJTY3JvbGxi
YXJUaGVtZVBhaW50ZXI6OnBhaW50U2Nyb2xsYmFyQmFja2dyb3VuZChXZWJDYW52YXMqIGNhbnZh
cywgV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFdlYlJlY3QmIHJlY3QpCit7CisgICAg
U2tSZWN0IGNsaXAgPSBTa1JlY3Q6Ok1ha2VYWVdIKHJlY3QueCwgcmVjdC55LCByZWN0LndpZHRo
LCByZWN0LmhlaWdodCk7CisgICAgY2FudmFzLT5jbGlwUmVjdChjbGlwKTsKKworICAgIFdlYlNj
cm9sbGJhclRoZW1lQ2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICBQbGF0Zm9ybUNv
bnRleHRTa2lhIHBsYXRmb3JtQ29udGV4dChjYW52YXMpOworICAgIHBsYXRmb3JtQ29udGV4dC5z
ZXREcmF3aW5nVG9JbWFnZUJ1ZmZlcih0cnVlKTsKKyAgICBHcmFwaGljc0NvbnRleHQgY29udGV4
dCgmcGxhdGZvcm1Db250ZXh0KTsKKyAgICBtX3RoZW1lLT5wYWludFNjcm9sbGJhckJhY2tncm91
bmQoJmNvbnRleHQsICZjbGllbnQpOworfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRl
cjo6cGFpbnRUcmFja0JhY2tncm91bmQoV2ViQ2FudmFzKiBjYW52YXMsIFdlYlNjcm9sbGJhciog
c2Nyb2xsYmFyLCBjb25zdCBXZWJSZWN0JiByZWN0KQoreworICAgIFdlYlNjcm9sbGJhclRoZW1l
Q2xpZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICBQbGF0Zm9ybUNvbnRleHRTa2lhIHBs
YXRmb3JtQ29udGV4dChjYW52YXMpOworICAgIHBsYXRmb3JtQ29udGV4dC5zZXREcmF3aW5nVG9J
bWFnZUJ1ZmZlcih0cnVlKTsKKyAgICBHcmFwaGljc0NvbnRleHQgY29udGV4dCgmcGxhdGZvcm1D
b250ZXh0KTsKKyAgICBtX3RoZW1lLT5wYWludFRyYWNrQmFja2dyb3VuZCgmY29udGV4dCwgJmNs
aWVudCwgSW50UmVjdChyZWN0KSk7Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYmFyVGhlbWVQYWludGVy
OjpwYWludEJhY2tUcmFja1BhcnQoV2ViQ2FudmFzKiBjYW52YXMsIFdlYlNjcm9sbGJhciogc2Ny
b2xsYmFyLCBjb25zdCBXZWJSZWN0JiByZWN0KQoreworICAgIFdlYlNjcm9sbGJhclRoZW1lQ2xp
ZW50SW1wbCBjbGllbnQoc2Nyb2xsYmFyKTsKKyAgICBQbGF0Zm9ybUNvbnRleHRTa2lhIHBsYXRm
b3JtQ29udGV4dChjYW52YXMpOworICAgIHBsYXRmb3JtQ29udGV4dC5zZXREcmF3aW5nVG9JbWFn
ZUJ1ZmZlcih0cnVlKTsKKyAgICBHcmFwaGljc0NvbnRleHQgY29udGV4dCgmcGxhdGZvcm1Db250
ZXh0KTsKKyAgICBtX3RoZW1lLT5wYWludFRyYWNrUGllY2UoJmNvbnRleHQsICZjbGllbnQsIElu
dFJlY3QocmVjdCksIFdlYkNvcmU6OkJhY2tUcmFja1BhcnQpOworfQorCit2b2lkIFdlYlNjcm9s
bGJhclRoZW1lUGFpbnRlcjo6cGFpbnRGb3J3YXJkVHJhY2tQYXJ0KFdlYkNhbnZhcyogY2FudmFz
LCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3sKKyAgICBX
ZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgUGxhdGZv
cm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKKyAgICBwbGF0Zm9ybUNvbnRl
eHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CisgICAgR3JhcGhpY3NDb250ZXh0IGNv
bnRleHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAgbV90aGVtZS0+cGFpbnRUcmFja1BpZWNlKCZj
b250ZXh0LCAmY2xpZW50LCBJbnRSZWN0KHJlY3QpLCBXZWJDb3JlOjpGb3J3YXJkVHJhY2tQYXJ0
KTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50QmFja0J1dHRvblN0
YXJ0KFdlYkNhbnZhcyogY2FudmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2Vi
UmVjdCYgcmVjdCkKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNj
cm9sbGJhcik7CisgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFz
KTsKKyAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7Cisg
ICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAgbV90aGVt
ZS0+cGFpbnRCdXR0b24oJmNvbnRleHQsICZjbGllbnQsIEludFJlY3QocmVjdCksIFdlYkNvcmU6
OkJhY2tCdXR0b25TdGFydFBhcnQpOworfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRl
cjo6cGFpbnRCYWNrQnV0dG9uRW5kKFdlYkNhbnZhcyogY2FudmFzLCBXZWJTY3JvbGxiYXIqIHNj
cm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNs
aWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0
Zm9ybUNvbnRleHQoY2FudmFzKTsKKyAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1h
Z2VCdWZmZXIodHJ1ZSk7CisgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29u
dGV4dCk7CisgICAgbV90aGVtZS0+cGFpbnRCdXR0b24oJmNvbnRleHQsICZjbGllbnQsIEludFJl
Y3QocmVjdCksIFdlYkNvcmU6OkJhY2tCdXR0b25FbmRQYXJ0KTsKK30KKwordm9pZCBXZWJTY3Jv
bGxiYXJUaGVtZVBhaW50ZXI6OnBhaW50Rm9yd2FyZEJ1dHRvblN0YXJ0KFdlYkNhbnZhcyogY2Fu
dmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3sKKyAg
ICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgUGxh
dGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKKyAgICBwbGF0Zm9ybUNv
bnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1ZSk7CisgICAgR3JhcGhpY3NDb250ZXh0
IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAgbV90aGVtZS0+cGFpbnRCdXR0b24oJmNv
bnRleHQsICZjbGllbnQsIEludFJlY3QocmVjdCksIFdlYkNvcmU6OkZvcndhcmRCdXR0b25TdGFy
dFBhcnQpOworfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFpbnRGb3J3YXJk
QnV0dG9uRW5kKFdlYkNhbnZhcyogY2FudmFzLCBXZWJTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29u
c3QgV2ViUmVjdCYgcmVjdCkKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVtZUNsaWVudEltcGwgY2xp
ZW50KHNjcm9sbGJhcik7CisgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBwbGF0Zm9ybUNvbnRleHQo
Y2FudmFzKTsKKyAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1RvSW1hZ2VCdWZmZXIodHJ1
ZSk7CisgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3JtQ29udGV4dCk7CisgICAg
bV90aGVtZS0+cGFpbnRCdXR0b24oJmNvbnRleHQsICZjbGllbnQsIEludFJlY3QocmVjdCksIFdl
YkNvcmU6OkZvcndhcmRCdXR0b25FbmRQYXJ0KTsKK30KKwordm9pZCBXZWJTY3JvbGxiYXJUaGVt
ZVBhaW50ZXI6OnBhaW50VGlja21hcmtzKFdlYkNhbnZhcyogY2FudmFzLCBXZWJTY3JvbGxiYXIq
IHNjcm9sbGJhciwgY29uc3QgV2ViUmVjdCYgcmVjdCkKK3sKKyAgICBXZWJTY3JvbGxiYXJUaGVt
ZUNsaWVudEltcGwgY2xpZW50KHNjcm9sbGJhcik7CisgICAgUGxhdGZvcm1Db250ZXh0U2tpYSBw
bGF0Zm9ybUNvbnRleHQoY2FudmFzKTsKKyAgICBwbGF0Zm9ybUNvbnRleHQuc2V0RHJhd2luZ1Rv
SW1hZ2VCdWZmZXIodHJ1ZSk7CisgICAgR3JhcGhpY3NDb250ZXh0IGNvbnRleHQoJnBsYXRmb3Jt
Q29udGV4dCk7CisgICAgbV90aGVtZS0+cGFpbnRUaWNrbWFya3MoJmNvbnRleHQsICZjbGllbnQs
IEludFJlY3QocmVjdCkpOworfQorCit2b2lkIFdlYlNjcm9sbGJhclRoZW1lUGFpbnRlcjo6cGFp
bnRUaHVtYihXZWJDYW52YXMqIGNhbnZhcywgV2ViU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0
IFdlYlJlY3QmIHJlY3QpCit7CisgICAgV2ViU2Nyb2xsYmFyVGhlbWVDbGllbnRJbXBsIGNsaWVu
dChzY3JvbGxiYXIpOworICAgIFBsYXRmb3JtQ29udGV4dFNraWEgcGxhdGZvcm1Db250ZXh0KGNh
bnZhcyk7CisgICAgcGxhdGZvcm1Db250ZXh0LnNldERyYXdpbmdUb0ltYWdlQnVmZmVyKHRydWUp
OworICAgIEdyYXBoaWNzQ29udGV4dCBjb250ZXh0KCZwbGF0Zm9ybUNvbnRleHQpOworICAgIG1f
dGhlbWUtPnBhaW50VGh1bWIoJmNvbnRleHQsICZjbGllbnQsIEludFJlY3QocmVjdCkpOworfQor
CitXZWJTY3JvbGxiYXJUaGVtZVBhaW50ZXI6OldlYlNjcm9sbGJhclRoZW1lUGFpbnRlcihXZWJD
b3JlOjpTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZSogdGhlbWUpCisgICAgOiBtX3RoZW1lKHRoZW1l
KQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bVRlc3QuY3BwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxiYXJMYXllckNocm9taXVtVGVzdC5jcHAKaW5k
ZXggZDJjZDliZWZjOWEwN2UxMTZjNTE4ODlhNGE3YjRkNDk3OWRmYTI0NC4uMGU5ZjcxNjc2YTRl
NGYwMjM5Mjg4ZjlhODFlMzhkMDgxYmEyNzU3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9TY3JvbGxiYXJMYXllckNocm9taXVtVGVzdC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9TY3JvbGxiYXJMYXllckNocm9taXVtVGVzdC5jcHAKQEAg
LTMyLDYgKzMyLDkgQEAKICNpbmNsdWRlICJjYy9DQ1Njcm9sbGJhckxheWVySW1wbC5oIgogI2lu
Y2x1ZGUgImNjL0NDU2luZ2xlVGhyZWFkUHJveHkuaCIKICNpbmNsdWRlIDxndGVzdC9ndGVzdC5o
PgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXIuaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2Vi
U2Nyb2xsYmFyVGhlbWVHZW9tZXRyeS5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTY3JvbGxiYXJU
aGVtZVBhaW50ZXIuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTYwLDcgKzYz
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbGFibGVBcmVhQWN0aXZlKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNTY3JvbGxWaWV3U2Ny
b2xsYmFyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotICAgIHZpcnR1YWwgSW50UG9pbnQg
Y29udmVydEZyb21Db250YWluaW5nV2luZG93KGNvbnN0IEludFBvaW50JiB3aW5kb3dQb2ludCkg
eyByZXR1cm4gSW50UG9pbnQoKTsgfQorICAgIHZpcnR1YWwgSW50UG9pbnQgY29udmVydEZyb21D
b250YWluaW5nV2luZG93KGNvbnN0IEludFBvaW50JiB3aW5kb3dQb2ludCkgeyByZXR1cm4gd2lu
ZG93UG9pbnQ7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBpc0N1c3RvbVNjcm9sbGJhcigpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmll
bnRhdGlvbigpIGNvbnN0IHsgcmV0dXJuIEhvcml6b250YWxTY3JvbGxiYXI7IH0KQEAgLTgzLDYg
Kzg2LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBlbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0RW5hYmxlZChib29sKSB7IH0KIAorICAg
IHZpcnR1YWwgYm9vbCBpc092ZXJsYXlTY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQorCiAgICAgTW9ja1Njcm9sbGJhcigpIDogU2Nyb2xsYmFyKDAsIEhvcml6b250YWxTY3JvbGxi
YXIsIFJlZ3VsYXJTY3JvbGxiYXIpIHsgfQogICAgIHZpcnR1YWwgfk1vY2tTY3JvbGxiYXIoKSB7
IH0KIH07CkBAIC05MSwxMiArOTYsMTYgQEAgVEVTVChTY3JvbGxiYXJMYXllckNocm9taXVtVGVz
dCwgcmVzb2x2ZVNjcm9sbExheWVyUG9pbnRlcikKIHsKICAgICBEZWJ1Z1Njb3BlZFNldEltcGxU
aHJlYWQgaW1wbDsKIAorICAgIFJlZlB0cjxNb2NrU2Nyb2xsYmFyPiBtb2NrU2Nyb2xsYmFyID0g
YWRvcHRSZWYobmV3IE1vY2tTY3JvbGxiYXIpOworICAgIFdlYktpdDo6V2ViU2Nyb2xsYmFyVGhl
bWVHZW9tZXRyeSBnZW9tZXRyeSgwKTsKKyAgICBXZWJLaXQ6OldlYlNjcm9sbGJhclRoZW1lUGFp
bnRlciBwYWludGVyKDApOworCiAgICAgU2V0dGluZ3M6OnNldE1vY2tTY3JvbGxiYXJzRW5hYmxl
ZCh0cnVlKTsKICAgICB7Ci0gICAgICAgIFJlZlB0cjxNb2NrU2Nyb2xsYmFyPiBzY3JvbGxiYXIg
PSBhZG9wdFJlZihuZXcgTW9ja1Njcm9sbGJhcik7CisgICAgICAgIE93blB0cjxXZWJLaXQ6Oldl
YlNjcm9sbGJhcj4gc2Nyb2xsYmFyID0gV2ViS2l0OjpXZWJTY3JvbGxiYXI6OmNyZWF0ZShtb2Nr
U2Nyb2xsYmFyLmdldCgpKTsKICAgICAgICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IGxheWVyVHJl
ZVJvb3QgPSBMYXllckNocm9taXVtOjpjcmVhdGUoKTsKICAgICAgICAgUmVmUHRyPExheWVyQ2hy
b21pdW0+IGNoaWxkMSA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOwotICAgICAgICBSZWZQdHI8
TGF5ZXJDaHJvbWl1bT4gY2hpbGQyID0gU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKHNj
cm9sbGJhci5nZXQoKSwgY2hpbGQxLT5pZCgpKTsKKyAgICAgICAgUmVmUHRyPExheWVyQ2hyb21p
dW0+IGNoaWxkMiA9IFNjcm9sbGJhckxheWVyQ2hyb21pdW06OmNyZWF0ZShzY3JvbGxiYXIucmVs
ZWFzZSgpLCBwYWludGVyLCBnZW9tZXRyeSwgY2hpbGQxLT5pZCgpKTsKICAgICAgICAgbGF5ZXJU
cmVlUm9vdC0+YWRkQ2hpbGQoY2hpbGQxKTsKICAgICAgICAgbGF5ZXJUcmVlUm9vdC0+YWRkQ2hp
bGQoY2hpbGQyKTsKIApAQCAtMTA5LDEwICsxMTgsMTAgQEAgVEVTVChTY3JvbGxiYXJMYXllckNo
cm9taXVtVGVzdCwgcmVzb2x2ZVNjcm9sbExheWVyUG9pbnRlcikKICAgICB9CiAKICAgICB7IC8v
IGFub3RoZXIgdHJhdmVyc2Ugb3JkZXIKLSAgICAgICAgUmVmUHRyPE1vY2tTY3JvbGxiYXI+IHNj
cm9sbGJhciA9IGFkb3B0UmVmKG5ldyBNb2NrU2Nyb2xsYmFyKTsKKyAgICAgICAgT3duUHRyPFdl
YktpdDo6V2ViU2Nyb2xsYmFyPiBzY3JvbGxiYXIgPSBXZWJLaXQ6OldlYlNjcm9sbGJhcjo6Y3Jl
YXRlKG1vY2tTY3JvbGxiYXIuZ2V0KCkpOwogICAgICAgICBSZWZQdHI8TGF5ZXJDaHJvbWl1bT4g
bGF5ZXJUcmVlUm9vdCA9IExheWVyQ2hyb21pdW06OmNyZWF0ZSgpOwogICAgICAgICBSZWZQdHI8
TGF5ZXJDaHJvbWl1bT4gY2hpbGQyID0gTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKCk7Ci0gICAgICAg
IFJlZlB0cjxMYXllckNocm9taXVtPiBjaGlsZDEgPSBTY3JvbGxiYXJMYXllckNocm9taXVtOjpj
cmVhdGUoc2Nyb2xsYmFyLmdldCgpLCBjaGlsZDItPmlkKCkpOworICAgICAgICBSZWZQdHI8TGF5
ZXJDaHJvbWl1bT4gY2hpbGQxID0gU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKHNjcm9s
bGJhci5yZWxlYXNlKCksIHBhaW50ZXIsIGdlb21ldHJ5LCBjaGlsZDItPmlkKCkpOwogICAgICAg
ICBsYXllclRyZWVSb290LT5hZGRDaGlsZChjaGlsZDEpOwogICAgICAgICBsYXllclRyZWVSb290
LT5hZGRDaGlsZChjaGlsZDIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzk0Yjc5ZTJjYzc0MWM2ZTgxYTIxY2E2ZmE4
YjVjOTI5YWU4M2EyYy4uNjE0MjI2OGMwMzZkODkyN2IzN2NhZTcyODA5OTlhYjYxM2YwMTMwNiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA3LTMwICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5l
QGdvb2dsZS5jb20+CisKKyAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgZGVwZW5kZW5jeSBvbiBT
Y3JvbGxiYXJUaGVtZSBmcm9tIHRoZSBjb21wb3NpdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDUyOAorCisgICAgICAgIFJldmlld2VkIGJ5IEph
bWVzIFJvYmluc29uLgorCisgICAgICAgIE1hcmsgY3VzdG9tLWNvbXBvc2l0ZWQtZGlmZmVyZW50
LXRyYWNrLXBhcnRzLmh0bWwgYXMgZmFpbGluZyBiZWNhdXNlCisgICAgICAgIGN1c3RvbSBzY3Jv
bGxiYXJzIG5vIGxvbmdlciBjcmVhdGUgU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bXMuIFRoaXMgaXMK
KyAgICAgICAgZHVlIHRvIHRoZSB1bnNhZmUgY2FzdHMgaW4gUmVuZGVyVGhlbWVTY3JvbGxiYXIu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDEy
LTA3LTMwICBTaGlueWEgS2F3YW5ha2EgIDxzaGlueWFrQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBQcm9oaWJpdCBoYXZpbmcgQXV0aG9yU2hhZG93RE9NIG9mIGlucHV0IG9yIHRleHRhcmVhIGVs
ZW1lbnQgZm9yIGEgd2hpbGUgYW5kIGhhdmluZyBhIGZsYWcgdG8gZW5hYmxlIGl0IGluIEludGVy
bmFscy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDkxODFiYzkzMzJkZjhkNWNjNjc5MTliMDFiOGY2ZGZhMjdmYzFkNjMuLmI4NDcxNWVj
NjIyMjA0MWNhNzQ0MzQ3ZDIzYTFlODQxYWQzYzY3YTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzU3Nyw2ICszNTc3LDggQEAgQlVH
V0s5MDQzMCA6IGluc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1yZWNlaXZlLXJlc3BvbnNlLWV2
ZW50Lmh0bWwgPSBQQVNTIFRFWFQKIC8vIFJlcXVpcmUgcmViYXNlbGluZSBhZnRlciBidWcgODgx
NzEKIEJVR1dLODgxNzEgV0lOIDogY3NzMS9mb3JtYXR0aW5nX21vZGVsL2Zsb2F0aW5nX2VsZW1l
bnRzLmh0bWwgPSBJTUFHRQogCitCVUdDUjEzNTcwOSA6IHBsYXRmb3JtL2Nocm9taXVtL2NvbXBv
c2l0aW5nL3Njcm9sbGJhcnMvY3VzdG9tLWNvbXBvc2l0ZWQtZGlmZmVyZW50LXRyYWNrLXBhcnRz
Lmh0bWwgPSBJTUFHRQorCiAvLyB3ZWJraXRJc0Z1bGxTY3JlZW4gZG9lcyBub3QgaGF2ZSB0aGUg
Y29ycmVjdCB2YWx1ZSBhZnRlciBhbiBpZnJhbWUgZXhpdHMgZnVsbHNjcmVlbgogQlVHV0s5MDcw
NCA6IGZ1bGxzY3JlZW4vZXhpdC1mdWxsLXNjcmVlbi1pZnJhbWUuaHRtbCA9IFRFWFQKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>