<?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>92761</bug_id>
          
          <creation_ts>2012-07-31 08:40:01 -0700</creation_ts>
          <short_desc>Add callbacks to the FrameLoaderClient when a resource is requested</short_desc>
          <delta_ts>2012-11-28 00:20:43 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>jochen</reporter>
          <assigned_to name="Marja Hölttä">marja</assigned_to>
          <cc>abarth</cc>
    
    <cc>battre</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>japhet</cc>
    
    <cc>marja</cc>
    
    <cc>simonjam</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>683117</commentid>
    <comment_count>0</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-07-31 08:40:01 -0700</bug_when>
    <thetext>Add callbacks to the FrameLoaderClient for when a resource request finished for a script or image element</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683125</commentid>
    <comment_count>1</comment_count>
      <attachid>155552</attachid>
    <who name="">jochen</who>
    <bug_when>2012-07-31 08:45:14 -0700</bug_when>
    <thetext>Created attachment 155552
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683126</commentid>
    <comment_count>2</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-07-31 08:45:44 -0700</bug_when>
    <thetext>Adam, can you have a look plz</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683142</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-31 08:58:01 -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>683171</commentid>
    <comment_count>4</comment_count>
      <attachid>155552</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-31 09:12:33 -0700</bug_when>
    <thetext>Comment on attachment 155552
Patch

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

New failing tests:
canvas/philip/tests/2d.composite.image.source-over.html
http/tests/cache/stopped-revalidation.html
canvas/philip/tests/2d.composite.globalAlpha.canvas.html
canvas/philip/tests/2d.composite.globalAlpha.fill.html
canvas/philip/tests/2d.composite.clip.source-over.html
canvas/philip/tests/2d.composite.globalAlpha.imagepattern.html
canvas/philip/tests/2d.clearRect.zero.html
canvas/philip/tests/2d.composite.canvas.source-in.html
canvas/philip/tests/2d.composite.canvas.destination-out.html
accessibility/loading-iframe-sends-notification.html
canvas/philip/tests/2d.clearRect.globalcomposite.html
canvas/philip/tests/2d.clearRect.clip.html
canvas/philip/tests/2d.composite.clip.lighter.html
canvas/philip/tests/2d.composite.image.source-in.html
canvas/philip/tests/2d.composite.image.lighter.html
canvas/philip/tests/2d.composite.clip.destination-atop.html
canvas/philip/tests/2d.composite.image.destination-out.html
canvas/philip/tests/2d.composite.image.destination-atop.html
canvas/philip/tests/2d.clearRect.path.html
accessibility/image-link-inline-cont.html
canvas/philip/tests/2d.composite.canvas.destination-atop.html
canvas/philip/tests/2d.composite.clip.destination-out.html
accessibility/content-changed-notification-causes-crash.html
canvas/philip/tests/2d.composite.canvas.lighter.html
accessibility/img-alt-tag-only-whitespace.html
canvas/philip/tests/2d.composite.canvas.source-over.html
canvas/philip/tests/2d.composite.clip.source-in.html
canvas/philip/tests/2d.clearRect+fillRect.alpha0.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683172</commentid>
    <comment_count>5</comment_count>
      <attachid>155562</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-31 09:12:39 -0700</bug_when>
    <thetext>Created attachment 155562
Archive of layout-test-results from gce-cr-linux-05

The attached test failures were seen while running run-webkit-tests on the chromium-ews.
Bot: gce-cr-linux-05  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>683198</commentid>
    <comment_count>6</comment_count>
      <attachid>155552</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-07-31 09:38:18 -0700</bug_when>
    <thetext>Comment on attachment 155552
Patch

Attachment 155552 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13400486</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683932</commentid>
    <comment_count>7</comment_count>
      <attachid>155734</attachid>
    <who name="">jochen</who>
    <bug_when>2012-08-01 00:26:17 -0700</bug_when>
    <thetext>Created attachment 155734
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>683935</commentid>
    <comment_count>8</comment_count>
      <attachid>155735</attachid>
    <who name="">jochen</who>
    <bug_when>2012-08-01 00:32:11 -0700</bug_when>
    <thetext>Created attachment 155735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684055</commentid>
    <comment_count>9</comment_count>
      <attachid>155773</attachid>
    <who name="">jochen</who>
    <bug_when>2012-08-01 03:40:31 -0700</bug_when>
    <thetext>Created attachment 155773
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684366</commentid>
    <comment_count>10</comment_count>
      <attachid>155773</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-01 11:30:03 -0700</bug_when>
    <thetext>Comment on attachment 155773
Patch

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

I&apos;m tempted to r+ this with comments, but I think I&apos;d like to see one more round, if that&apos;s ok with you.

&gt; Source/WebCore/loader/FrameLoaderClient.h:167
&gt; +        virtual void dispatchImageLoadFinished(Element*, CachedResource*) { }
&gt; +        virtual void dispatchScriptLoadFinished(Element*, CachedResource*) { }

Why not provide more concerete types?  e.g., dispatchImageLoadFinished(Element*, CachedImage*) { }

&gt; Source/WebCore/loader/ImageLoader.cpp:270
&gt; +    document()-&gt;loader()-&gt;frameLoader()-&gt;client()-&gt;dispatchImageLoadFinished(client()-&gt;sourceElement(), resource);

Going through the DocumentLoader for these calls doesn&apos;t seem quite right.  It makes more sense to me to go through the Frame:

document()-&gt;frame()-&gt;loader()-&gt;client()-&gt;dispatchImageLoadFinished(client()-&gt;sourceElement(), resource);

Also, do we need to null-check the frame?

&gt; Source/WebKit/chromium/public/WebFrameClient.h:227
&gt; +    // The URL request for the given image element finished loading.
&gt; +    virtual void imageLoadFinished(WebFrame*, const WebElement&amp;, const WebURLRequest&amp;) { }

imageLoadFinished -&gt; didFinishImageLoad

That fits the naming pattern of the functions above.

&gt; Source/WebKit/chromium/public/WebFrameClient.h:230
&gt; +    // The URL request for the given script element finished loading.
&gt; +    virtual void scriptLoadFinished(WebFrame*, const WebElement&amp;, const WebURLRequest&amp;) { }

ditto

&gt; Source/WebKit/chromium/src/FrameLoaderClientImpl.h:111
&gt; +    virtual void dispatchImageLoadFinished(WebCore::Element* sourceElement, WebCore::CachedResource*);
&gt; +    virtual void dispatchScriptLoadFinished(WebCore::Element* sourceElement, WebCore::CachedResource*);

These should also probably be like dispatchDidFinishImageLoad to match the similar callbacks above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684395</commentid>
    <comment_count>11</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-08-01 11:44:49 -0700</bug_when>
    <thetext>I have another question for you:

as is, the callbacks are only invoked when the requested resource was not in the cache but had to be loaded. I guess that&apos;s ok for the targetted use case, because we&apos;d return a temporary error for the resource load, and I expect that every element will end up trying to load the resource over the network. Is that correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684423</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-01 11:59:10 -0700</bug_when>
    <thetext>&gt; as is, the callbacks are only invoked when the requested resource was not in the cache but had to be loaded. I guess that&apos;s ok for the targetted use case, because we&apos;d return a temporary error for the resource load, and I expect that every element will end up trying to load the resource over the network. Is that correct?

Doesn&apos;t didLoadResourceFromMemoryCache cover that case?  Maybe we should have a unified didLoadResourceFromNetwork callback rather than per-type notifications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684457</commentid>
    <comment_count>13</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-08-01 12:21:55 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; &gt; as is, the callbacks are only invoked when the requested resource was not in the cache but had to be loaded. I guess that&apos;s ok for the targetted use case, because we&apos;d return a temporary error for the resource load, and I expect that every element will end up trying to load the resource over the network. Is that correct?
&gt; 
&gt; Doesn&apos;t didLoadResourceFromMemoryCache cover that case?  Maybe we should have a unified didLoadResourceFromNetwork callback rather than per-type notifications.

that callback doesn&apos;t have the element that requested the resource. The main point of the new callbacks is to connect the element with the request for the embedder.

Of course, not all requests have an associated element, so I didn&apos;t come up with a good name and figured individual callbacks would be clearer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>684517</commentid>
    <comment_count>14</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-01 13:25:16 -0700</bug_when>
    <thetext>&gt; Of course, not all requests have an associated element, so I didn&apos;t come up with a good name and figured individual callbacks would be clearer

I mean, not all image loads have an element either, so we need to solve that problem in any case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743804</commentid>
    <comment_count>15</comment_count>
      <attachid>169073</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-10-16 19:36:38 -0700</bug_when>
    <thetext>Created attachment 169073
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744348</commentid>
    <comment_count>16</comment_count>
      <attachid>169205</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-10-17 10:13:02 -0700</bug_when>
    <thetext>Created attachment 169205
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744388</commentid>
    <comment_count>17</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-17 10:43:28 -0700</bug_when>
    <thetext>This is another example of a use-case we have for tracking who initiated a load.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744391</commentid>
    <comment_count>18</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-17 10:44:18 -0700</bug_when>
    <thetext>Bug 84883 has another approach for doing something similar.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744473</commentid>
    <comment_count>19</comment_count>
      <attachid>169205</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-17 11:56:38 -0700</bug_when>
    <thetext>Comment on attachment 169205
Patch

We discussed this over VC.  We&apos;re going to merge this work with the work on the bug mentioned above.  The plan is to create a CachedResourceRequest and then to have a frameloaderclient callback similar to willSendRequest but for this CachedResourceRequest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773726</commentid>
    <comment_count>20</comment_count>
      <attachid>175621</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-11-22 01:33:47 -0800</bug_when>
    <thetext>Created attachment 175621
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773849</commentid>
    <comment_count>21</comment_count>
      <attachid>175651</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-11-22 05:11:28 -0800</bug_when>
    <thetext>Created attachment 175651
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773887</commentid>
    <comment_count>22</comment_count>
      <attachid>175651</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-22 06:07:50 -0800</bug_when>
    <thetext>Comment on attachment 175651
Patch

Attachment 175651 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14961377</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773927</commentid>
    <comment_count>23</comment_count>
      <attachid>175651</attachid>
    <who name="">jochen</who>
    <bug_when>2012-11-22 06:58:14 -0800</bug_when>
    <thetext>Comment on attachment 175651
Patch

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

&gt; Source/WebCore/loader/FrameLoaderClient.h:170
&gt; +        virtual void dispatchResourceRequested(const AtomicString&amp; initiatorName, const KURL&amp;) { }

you need to omit &quot;initatorName&quot; as it&apos;s unused

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:426
&gt; +    if (Frame* f = frame()) {

do you know when frame is 0?

&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:430
&gt; +            f-&gt;loader()-&gt;client()-&gt;dispatchResourceRequested(request.initiatorName(), request.resourceRequest().url());

what should happen if initiatorName is &quot;&quot;?

&gt; LayoutTests/platform/chromium/fast/loader/resource-request-callbacks.html:62
&gt; +  This test checks that the correct callbacks for resource requests are

nit. indent 4 spaces</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773982</commentid>
    <comment_count>24</comment_count>
      <attachid>175651</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-22 08:54:36 -0800</bug_when>
    <thetext>Comment on attachment 175651
Patch

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

&gt; Source/WebCore/loader/FrameLoaderClient.h:169
&gt; +        virtual void dispatchResourceRequested(Element*, const KURL&amp;) { }

These are really &quot;WillRequestResource&quot; since the request hasn&apos;t happened yet.

Also, why not pass the entire CachedResourceRequest?  That would seem to give the WebKit layer the most flexibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774387</commentid>
    <comment_count>25</comment_count>
      <attachid>175771</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-11-23 03:45:15 -0800</bug_when>
    <thetext>Created attachment 175771
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774391</commentid>
    <comment_count>26</comment_count>
      <attachid>175651</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-11-23 03:48:14 -0800</bug_when>
    <thetext>Comment on attachment 175651
Patch

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

&gt;&gt; Source/WebCore/loader/FrameLoaderClient.h:169
&gt;&gt; +        virtual void dispatchResourceRequested(Element*, const KURL&amp;) { }
&gt; 
&gt; These are really &quot;WillRequestResource&quot; since the request hasn&apos;t happened yet.
&gt; 
&gt; Also, why not pass the entire CachedResourceRequest?  That would seem to give the WebKit layer the most flexibility.

Renamed this to dispatchWillRequestResource &amp; renamed other funcs correspondingly. Added WebCachedResourceRequest and passed that to the WebKit layer.

&gt;&gt; Source/WebCore/loader/FrameLoaderClient.h:170
&gt;&gt; +        virtual void dispatchResourceRequested(const AtomicString&amp; initiatorName, const KURL&amp;) { }
&gt; 
&gt; you need to omit &quot;initatorName&quot; as it&apos;s unused

Done

&gt;&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:426
&gt;&gt; +    if (Frame* f = frame()) {
&gt; 
&gt; do you know when frame is 0?

In requestImage, there is check for frame() being 0, and it calls this func even in that case -&gt; we need to check here, too.

&gt;&gt; Source/WebCore/loader/cache/CachedResourceLoader.cpp:430
&gt;&gt; +            f-&gt;loader()-&gt;client()-&gt;dispatchResourceRequested(request.initiatorName(), request.resourceRequest().url());
&gt; 
&gt; what should happen if initiatorName is &quot;&quot;?

This is no longer an issue since we&apos;re passing a WebCachedResourceRequest.

&gt;&gt; LayoutTests/platform/chromium/fast/loader/resource-request-callbacks.html:62
&gt;&gt; +  This test checks that the correct callbacks for resource requests are
&gt; 
&gt; nit. indent 4 spaces

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774428</commentid>
    <comment_count>27</comment_count>
      <attachid>175771</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-23 04:32:27 -0800</bug_when>
    <thetext>Comment on attachment 175771
Patch

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

New failing tests:
fast/text/atsui-small-caps-punctuation-size.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774437</commentid>
    <comment_count>28</comment_count>
      <attachid>175771</attachid>
    <who name="">jochen</who>
    <bug_when>2012-11-23 04:40:24 -0800</bug_when>
    <thetext>Comment on attachment 175771
Patch

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

&gt; Source/WebKit/chromium/public/WebCachedResourceRequest.h:32
&gt; +#define WebCachedResourceRequest_h

I think this should go into Source/Platform/chromium/public

&gt; Source/WebKit/chromium/public/WebCachedResourceRequest.h:53
&gt; +    WEBKIT_EXPORT WebURL url() const;

why not return a WebURLRequest?

&gt; Source/WebKit/chromium/public/WebCachedResourceRequest.h:65
&gt; +protected:

why not private?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774463</commentid>
    <comment_count>29</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-11-23 05:04:54 -0800</bug_when>
    <thetext>(In reply to comment #28)
&gt; (From update of attachment 175771 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=175771&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebCachedResourceRequest.h:32
&gt; &gt; +#define WebCachedResourceRequest_h
&gt; 
&gt; I think this should go into Source/Platform/chromium/public

Actually, disregard that comment, the location is already correct</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774506</commentid>
    <comment_count>30</comment_count>
      <attachid>175795</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-11-23 06:35:17 -0800</bug_when>
    <thetext>Created attachment 175795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774507</commentid>
    <comment_count>31</comment_count>
      <attachid>175771</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-11-23 06:36:02 -0800</bug_when>
    <thetext>Comment on attachment 175771
Patch

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

&gt;&gt; Source/WebKit/chromium/public/WebCachedResourceRequest.h:53
&gt;&gt; +    WEBKIT_EXPORT WebURL url() const;
&gt; 
&gt; why not return a WebURLRequest?

Done

&gt;&gt; Source/WebKit/chromium/public/WebCachedResourceRequest.h:65
&gt;&gt; +protected:
&gt; 
&gt; why not private?

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774511</commentid>
    <comment_count>32</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-11-23 06:43:41 -0800</bug_when>
    <thetext>looks quite reasonable, I like it. Let&apos;s wait for Adam</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774519</commentid>
    <comment_count>33</comment_count>
      <attachid>175800</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-11-23 06:52:51 -0800</bug_when>
    <thetext>Created attachment 175800
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774521</commentid>
    <comment_count>34</comment_count>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-11-23 06:56:24 -0800</bug_when>
    <thetext>The latest patch also renames the new class to WebCachedURLRequest (as discussed).

abarth@, could you have a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775702</commentid>
    <comment_count>35</comment_count>
      <attachid>175800</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-26 11:22:44 -0800</bug_when>
    <thetext>Comment on attachment 175800
Patch

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

&gt; Source/WebKit/chromium/public/WebCachedURLRequest.h:48
&gt; +    ~WebCachedURLRequest();

This isn&apos;t quite the right pattern for the dtor.  The problem is that you haven&apos;t exported the dtor and it&apos;s neither virtual nor inline.  Take a look at WebURLRequest for the correct pattern.  Basically, you want an inline dtor that calls an exported reset() function.

&gt; Source/WebKit/chromium/public/WebCachedURLRequest.h:53
&gt; +    void assign(const WebCachedURLRequest&amp;);
&gt; +    bool equals(const WebCachedURLRequest&amp;) const;

These need to be exported.  See WebURLRequest for an example.

&gt; Source/WebKit/chromium/public/WebCachedURLRequest.h:56
&gt; +    WEBKIT_EXPORT WebString charset() const;

Don&apos;t you need to include WebString.h for these declaration?

&gt; Source/WebKit/chromium/public/WebCachedURLRequest.h:59
&gt; +    WEBKIT_EXPORT WebElement initiatorElement() const;

I would expect you&apos;d need to include WebElement as well.

&gt; Source/WebKit/chromium/src/WebCachedURLRequest.cpp:37
&gt; +#include &lt;public/WebElement.h&gt;

There&apos;s no public/ prefix for WebElement.

We need to improve the header including patterns, but headers in the Client part of the API (the part in WebKit/chromium/public) are just included with their base name.  Headers in the Platform part of the API (the part in Platform/chromium/public) need the public/WebFoo.h pattern.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775708</commentid>
    <comment_count>36</comment_count>
      <attachid>175800</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-26 11:29:35 -0800</bug_when>
    <thetext>Comment on attachment 175800
Patch

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

&gt; Source/WebKit/chromium/public/WebCachedURLRequest.h:50
&gt; +    WebCachedURLRequest(const WebCachedURLRequest&amp; r) { assign(r); }

The problem with this API is that it implies that the embedder can retain a WebCachedURLRequest object.  However, because m_private is a raw pointer, the embedder has no control over the lifetime of the object m_private points to and can easily end up with a garbage pointer.

The solution to this problem is to move the constructor, destructor, and operator= to the private section of the class declaration.  That implies that the embedder can receive a pointer (or a reference) to this type of object but cannot make a copy.

&gt; Source/WebKit/chromium/src/WebCachedURLRequest.cpp:52
&gt; +    m_private = other.m_private;

This assign() function doesn&apos;t move over m_resourceRequestWrapper.  That&apos;s likely because m_resourceRequestWrapper is a WebPrivateOwnPtr, which prevents copies.  Instead of having a wonky asign() function, we just need to prevent copies of WebCachedURLRequest as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775709</commentid>
    <comment_count>37</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-26 11:29:55 -0800</bug_when>
    <thetext>The general approach in this patch looks good.  We just need to clean up the API design a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776734</commentid>
    <comment_count>38</comment_count>
      <attachid>176263</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-11-27 07:31:20 -0800</bug_when>
    <thetext>Created attachment 176263
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776738</commentid>
    <comment_count>39</comment_count>
      <attachid>176263</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-27 07:39:52 -0800</bug_when>
    <thetext>Comment on attachment 176263
Patch

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

&gt; Source/WebKit/chromium/public/WebCachedURLRequest.h:38
&gt; +#include &lt;wtf/Noncopyable.h&gt;

We cannot include WTF headers in the API.

&gt; Source/WebKit/chromium/public/WebCachedURLRequest.h:50
&gt; +WTF_MAKE_NONCOPYABLE(WebCachedURLRequest);

You need to do this manually rather than using the macro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776740</commentid>
    <comment_count>40</comment_count>
      <attachid>176266</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-11-27 07:44:09 -0800</bug_when>
    <thetext>Created attachment 176266
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776742</commentid>
    <comment_count>41</comment_count>
      <attachid>175800</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-11-27 07:47:35 -0800</bug_when>
    <thetext>Comment on attachment 175800
Patch

Thanks for comments!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776836</commentid>
    <comment_count>42</comment_count>
      <attachid>176266</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-27 09:13:34 -0800</bug_when>
    <thetext>Comment on attachment 176266
Patch

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

Thanks for iterating on the API.  This patch looks good with one minor nit below.

&gt; Source/WebKit/chromium/public/WebCachedURLRequest.h:37
&gt; +#include &quot;platform/WebCommon.h&quot;
&gt; +#include &quot;platform/WebPrivateOwnPtr.h&quot;
&gt; +#include &lt;public/WebString.h&gt;

These includes are inconsistent.  I think we use the &quot;platform/&quot; style in the API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776846</commentid>
    <comment_count>43</comment_count>
      <attachid>176285</attachid>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-11-27 09:21:27 -0800</bug_when>
    <thetext>Created attachment 176285
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776855</commentid>
    <comment_count>44</comment_count>
      <attachid>176285</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-27 09:25:52 -0800</bug_when>
    <thetext>Comment on attachment 176285
Patch

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

&gt; Source/WebKit/chromium/public/WebCachedURLRequest.h:44
&gt; +class WebElement;
&gt; +class WebString;

These aren&apos;t needed anymore, but they&apos;re also not harmful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776908</commentid>
    <comment_count>45</comment_count>
      <attachid>176285</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 10:01:46 -0800</bug_when>
    <thetext>Comment on attachment 176285
Patch

Clearing flags on attachment: 176285

Committed r135872: &lt;http://trac.webkit.org/changeset/135872&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776909</commentid>
    <comment_count>46</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 10:01:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776946</commentid>
    <comment_count>47</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-11-27 10:34:25 -0800</bug_when>
    <thetext>This broke the clang compile. I landed a fix in http://trac.webkit.org/changeset/135877.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>777595</commentid>
    <comment_count>48</comment_count>
    <who name="Marja Hölttä">marja</who>
    <bug_when>2012-11-28 00:20:20 -0800</bug_when>
    <thetext>tony@: Ahh, I see. Thanks for fixing it!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155552</attachid>
            <date>2012-07-31 08:45:14 -0700</date>
            <delta_ts>2012-08-01 00:26:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92761-20120731174457.patch</filename>
            <type>text/plain</type>
            <size>25957</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGNlMjE4YjAyYzNjMmNh
N2I5YTMzZDliMWM2MjFjZGE4NTFhMWU3MS4uZGJlNzc5ZjdiMzlmMTg3NGY2ZDBkNjNiMDY1ZDcw
MGNjNjA3N2VjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA3LTMxICBKb2No
ZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBjYWxsYmFj
a3MgdG8gdGhlIEZyYW1lTG9hZGVyQ2xpZW50IGZvciB3aGVuIGEgcmVzb3VyY2UgcmVxdWVzdCBm
aW5pc2hlZCBmb3IgYSBzY3JpcHQgb3IgaW1hZ2UgZWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBjaHJvbWl1bSwgd2hlbiBhbiBleHRlbnNp
b24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrIHJlcXVlc3QgKHdoaWNoCisgICAgICAgIGhhcHBl
bnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8gbm90aWZ5IGNvbnRlbnQgc2NyaXB0cyBy
dW5uaW5nIG9uCisgICAgICAgIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQgd2hpY2ggZWxlbWVudHMg
ZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUKKyAgICAgICAgcmVxdWVzdHMgd2VyZSBjYW5jZWxs
ZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0IGp1c3QKKyAgICAgICAg
ZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBpdHNlbGYgZG9lcyBub3Qg
Y2FycnkgYW55CisgICAgICAgIGluZm9ybWF0aW9uIHdoYXQgRE9NIGVsZW1lbnQgaXMgd2FzIG1h
ZGUgZm9yLCBjdXJyZW50bHkgYSBjb250ZW50IHNjcmlwdAorICAgICAgICBoYXMgdG8gc2VhcmNo
IHRoZSBET00gdHJlZSBhbmQgZ3Vlc3Mgd2hpY2ggcmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQg
YnkKKyAgICAgICAgaXRzIGNvdW50ZXIgcGFydC4gQnkgYWRkaW5nIHRoZXNlIGNhbGxiYWNrcywg
dGhlIGVtYmVkZGVyIGNhbiBtYWtlIHRoaXMKKyAgICAgICAgY29ubmVjdGlvbiBleHBsaWN0ZWx5
LgorCisgICAgICAgIFRlc3RzOiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1s
b2FkLWNhbGxiYWNrcy5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L2xvYWRlci9zY3JpcHQtbG9hZC1jYWxsYmFja3MuaHRtbAorCisgICAgICAgICogZG9tL1BlbmRp
bmdTY3JpcHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ1NjcmlwdDo6bm90aWZ5Rmlu
aXNoZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdEVsZW1lbnQ6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBsb2FkZXIvRnJh
bWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRnJhbWVMb2Fk
ZXJDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNo
SW1hZ2VMb2FkRmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQ6
OmRpc3BhdGNoU2NyaXB0TG9hZEZpbmlzaGVkKToKKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToK
KwogMjAxMi0wNy0zMSAgUmF1bCBIdWRlYSAgPHJodWRlYUBhZG9iZS5jb20+CiAKICAgICAgICAg
SW5zcGVjdG9yIGNyYXNoZXMgd2hlbiB0cnlpbmcgdG8gaW5zcGVjdCBhIHBhZ2Ugd2l0aCBDU1Mg
cmVnaW9uIHN0eWxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNWQwNzgxN2YwYzFk
MmJkOWIzYTUwYTgxNzM4ODc3NmZmYjkyYTM1My4uMWU1MmJiNTMwMDBkMmIxMjM0MmE3NTRiYWFl
NTM5NzQwMzNlZTBmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBA
QAorMjAxMi0wNy0zMSAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBBZGQgY2FsbGJhY2tzIHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCBmb3Igd2hlbiBh
IHJlc291cmNlIHJlcXVlc3QgZmluaXNoZWQgZm9yIGEgc2NyaXB0IG9yIGltYWdlIGVsZW1lbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNzYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMv
V2ViRnJhbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJGcmFtZUNs
aWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjppbWFnZUxvYWRGaW5pc2hl
ZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpzY3JpcHRMb2FkRmluaXNoZWQp
OgorICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoSW1hZ2VMb2FkRmluaXNoZWQpOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnRJbXBs
OjpkaXNwYXRjaFNjcmlwdExvYWRGaW5pc2hlZCk6CisgICAgICAgICogc3JjL0ZyYW1lTG9hZGVy
Q2xpZW50SW1wbC5oOgorICAgICAgICAoRnJhbWVMb2FkZXJDbGllbnRJbXBsKToKKwogMjAxMi0w
Ny0zMSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyNDE3OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9QZW5kaW5nU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9QZW5kaW5n
U2NyaXB0LmNwcAppbmRleCBjNjAyYTExMjY2M2YzOWU3MjMzMjk1OTAzZWNiYWJiYmRhNjdmYTk5
Li44MjY0NzU3MjVmNWM2NDU5NWNlMzk0NzkyNDk2MmI2N2MzMzdmNTA2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vUGVuZGluZ1NjcmlwdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1BlbmRpbmdTY3JpcHQuY3BwCkBAIC0yNyw3ICsyNywxMSBAQAogI2luY2x1ZGUgIlBlbmRp
bmdTY3JpcHQuaCIKIAogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5oIgorI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFbGVtZW50Lmgi
CisjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTYxLDggKzY1LDkgQEAgQ2FjaGVkU2NyaXB0
KiBQZW5kaW5nU2NyaXB0OjpjYWNoZWRTY3JpcHQoKSBjb25zdAogICAgIHJldHVybiBtX2NhY2hl
ZFNjcmlwdC5nZXQoKTsKIH0KIAotdm9pZCBQZW5kaW5nU2NyaXB0Ojpub3RpZnlGaW5pc2hlZChD
YWNoZWRSZXNvdXJjZSopCit2b2lkIFBlbmRpbmdTY3JpcHQ6Om5vdGlmeUZpbmlzaGVkKENhY2hl
ZFJlc291cmNlKiByZXNvdXJjZSkKIHsKKyAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmxvYWRl
cigpLT5mcmFtZUxvYWRlcigpLT5jbGllbnQoKS0+ZGlzcGF0Y2hTY3JpcHRMb2FkRmluaXNoZWQo
bV9lbGVtZW50LmdldCgpLCByZXNvdXJjZSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
bGVtZW50LmNwcAppbmRleCA5YzE2NTRlMWZjMTg5ZjgyMjE2ODM2MzNmMjNiODU2YzZlODU2ZWIw
Li41NWRlOGNkMzVmNzY5MWJhMjllYzllNzhkMDdlNjc0MWI5ZGJkZDBlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0yOSw5ICsyOSwxMSBAQAogI2luY2x1ZGUgIkNvbnRl
bnRTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNp
bmNsdWRlICJEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAi
RnJhbWVMb2FkZXIuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJI
VE1MU2NyaXB0RWxlbWVudC5oIgpAQCAtMzI5LDYgKzMzMSw4IEBAIHZvaWQgU2NyaXB0RWxlbWVu
dDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIEFTU0VSVCgh
bV93aWxsQmVQYXJzZXJFeGVjdXRlZCk7CiAgICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgcmVz
b3VyY2UgPT0gbV9jYWNoZWRTY3JpcHQpOwogCisgICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLT5s
b2FkZXIoKS0+ZnJhbWVMb2FkZXIoKS0+Y2xpZW50KCktPmRpc3BhdGNoU2NyaXB0TG9hZEZpbmlz
aGVkKG1fZWxlbWVudCwgcmVzb3VyY2UpOworCiAgICAgaWYgKG1fcmVxdWVzdFVzZXNBY2Nlc3ND
b250cm9sCiAgICAgICAgICYmICFtX2VsZW1lbnQtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2lu
KCktPmNhblJlcXVlc3QobV9jYWNoZWRTY3JpcHQtPnJlc3BvbnNlKCkudXJsKCkpCiAgICAgICAg
ICYmICFtX2NhY2hlZFNjcmlwdC0+cGFzc2VzQWNjZXNzQ29udHJvbENoZWNrKG1fZWxlbWVudC0+
ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggYmU4MTAyODdhNzBkNTVlOGU2NTZiZmYzZDY0MGFhZmE1
MzNiMTA2YS4uMjM5MjVmZTI1OWYwYWVjMWM2YzI3YzFmMDg3YTE2ZjlkZmY5YjFiYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTYyLDYgKzYyLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7
CiAgICAgY2xhc3MgQ2FjaGVkRnJhbWU7CisgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAgICAg
Y2xhc3MgQ29sb3I7CiAgICAgY2xhc3MgRE9NV2luZG93RXh0ZW5zaW9uOwogICAgIGNsYXNzIERP
TVdyYXBwZXJXb3JsZDsKQEAgLTEzMiw3ICsxMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRl
ciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSkgPSAwOwogICAgICAgICB2aXJ0dWFsIGJv
b2wgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpID0gMDsKLSAgICAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkQ2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlJikgPSAwOyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaERpZENhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvY3VtZW50TG9hZGVyKiwgdW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpID0g
MDsKICNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLKQogICAgICAgICB2aXJ0
dWFsIGJvb2wgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShEb2N1bWVudExv
YWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUHJvdGVjdGlvblNwYWNlJikg
PSAwOwogI2VuZGlmCkBAIC0xNjIsNiArMTYzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGaW5pc2hEb2N1bWVudExvYWQoKSA9IDA7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpbmlzaExvYWQoKSA9IDA7CiAKKyAgICAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoSW1hZ2VMb2FkRmluaXNoZWQoRWxlbWVudCogc291cmNl
RWxlbWVudCwgQ2FjaGVkUmVzb3VyY2UqKSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoU2NyaXB0TG9hZEZpbmlzaGVkKEVsZW1lbnQqIHNvdXJjZUVsZW1lbnQsIENhY2hlZFJlc291
cmNlKikgeyB9CisKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmlyc3RMYXlvdXQo
KSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpcnN0VmlzdWFsbHlOb25F
bXB0eUxheW91dCgpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkTmV3Rmly
c3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9h
ZGVyLmNwcAppbmRleCBlODk3ZjhhNGUzMGYyYWQ1MzBjNzlmOTIxYTU5OWVlZDNiNTkxYzE1Li4y
NTcyNzI3YTA1NTRhZDI1YmQ3YTQ5NWFhOWJkNzY3ZmFmOTY3OTBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTI2LDEwICsyNiwxMyBAQAogI2luY2x1ZGUgIkNhY2hl
ZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2lu
Y2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50U2hhZG93LmgiCiAjaW5jbHVkZSAi
RXZlbnQuaCIKICNpbmNsdWRlICJFdmVudFNlbmRlci5oIgorI2luY2x1ZGUgIkZyYW1lTG9hZGVy
LmgiCisjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKICNpbmNsdWRlICJIVE1MT2JqZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJ
ZGlvbXMuaCIKQEAgLTI2NCw2ICsyNjcsOCBAQCB2b2lkIEltYWdlTG9hZGVyOjpub3RpZnlGaW5p
c2hlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgaWYgKCFtX2hhc1BlbmRpbmdMb2Fk
RXZlbnQpCiAgICAgICAgIHJldHVybjsKIAorICAgIGRvY3VtZW50KCktPmxvYWRlcigpLT5mcmFt
ZUxvYWRlcigpLT5jbGllbnQoKS0+ZGlzcGF0Y2hJbWFnZUxvYWRGaW5pc2hlZChjbGllbnQoKS0+
c291cmNlRWxlbWVudCgpLCByZXNvdXJjZSk7CisKICAgICBpZiAoY2xpZW50KCktPnNvdXJjZUVs
ZW1lbnQoKS0+ZmFzdEhhc0F0dHJpYnV0ZShIVE1MTmFtZXM6OmNyb3Nzb3JpZ2luQXR0cikKICAg
ICAgICAgJiYgIWRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhblJlcXVlc3QoaW1hZ2Uo
KS0+cmVzcG9uc2UoKS51cmwoKSkKICAgICAgICAgJiYgIXJlc291cmNlLT5wYXNzZXNBY2Nlc3ND
b250cm9sQ2hlY2soZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSkpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCmluZGV4IGJjMzJkNmQ4NGYx
YWIxZTE4ZmE1YTcxZjUwMTJkZTdmZmVlYWMzNGEuLmVhNjY5MzA4OWQ1NzBjMmFhMTdhOTkyMzc5
OGM4MWU3NjA3ZDI4NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkZyYW1lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RnJhbWVDbGllbnQuaApAQCAtNTMsNiArNTMsNyBAQCBjbGFzcyBXZWJBcHBsaWNhdGlvbkNhY2hl
SG9zdENsaWVudDsKIGNsYXNzIFdlYkNvb2tpZUphcjsKIGNsYXNzIFdlYkRhdGFTb3VyY2U7CiBj
bGFzcyBXZWJET01FdmVudDsKK2NsYXNzIFdlYkVsZW1lbnQ7CiBjbGFzcyBXZWJGb3JtRWxlbWVu
dDsKIGNsYXNzIFdlYkZyYW1lOwogY2xhc3MgV2ViSW50ZW50OwpAQCAtMjIyLDYgKzIyMywxMiBA
QCBwdWJsaWM6CiAgICAgLy8gVGhlIGZyYW1lJ3MgZG9jdW1lbnQgYW5kIGFsbCBvZiBpdHMgc3Vi
cmVzb3VyY2VzIHN1Y2NlZWRlZCB0byBsb2FkLgogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hM
b2FkKFdlYkZyYW1lKikgeyB9CiAKKyAgICAvLyBUaGUgVVJMIHJlcXVlc3QgZm9yIHRoZSBnaXZl
biBpbWFnZSBlbGVtZW50IGZpbmlzaGVkIGxvYWRpbmcuCisgICAgdmlydHVhbCB2b2lkIGltYWdl
TG9hZEZpbmlzaGVkKFdlYkZyYW1lKiwgY29uc3QgV2ViRWxlbWVudCYsIGNvbnN0IFdlYlVSTFJl
cXVlc3QmKSB7IH0KKworICAgIC8vIFRoZSBVUkwgcmVxdWVzdCBmb3IgdGhlIGdpdmVuIHNjcmlw
dCBlbGVtZW50IGZpbmlzaGVkIGxvYWRpbmcuCisgICAgdmlydHVhbCB2b2lkIHNjcmlwdExvYWRG
aW5pc2hlZChXZWJGcmFtZSosIGNvbnN0IFdlYkVsZW1lbnQmLCBjb25zdCBXZWJVUkxSZXF1ZXN0
JikgeyB9CisKICAgICAvLyBUaGUgbmF2aWdhdGlvbiByZXN1bHRlZCBpbiBubyBjaGFuZ2UgdG8g
dGhlIGRvY3VtZW50cyB3aXRoaW4gdGhlIHBhZ2UuCiAgICAgLy8gRm9yIGV4YW1wbGUsIHRoZSBu
YXZpZ2F0aW9uIG1heSBoYXZlIGp1c3QgcmVzdWx0ZWQgaW4gc2Nyb2xsaW5nIHRvIGEKICAgICAv
LyBuYW1lZCBhbmNob3Igb3IgYSBQb3BTdGF0ZSBldmVudCBtYXkgaGF2ZSBiZWVuIGRpc3BhdGNo
ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNs
aWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGll
bnRJbXBsLmNwcAppbmRleCBiNjc3OThlNzRlNTYwYTIxNjM4MGJkZTBmMTZhOGVlM2Q2YzEzYTI4
Li5mMGUyOTk1OGYxZmUyMTQwYmE4NGIwYzUxYmFjNTRjNWU4ZDFkNGFlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKQEAg
LTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudEltcGwuaCIKIAogI2lu
Y2x1ZGUgIkJhY2tGb3J3YXJkTGlzdENocm9taXVtLmgiCisjaW5jbHVkZSAiQ2FjaGVkUmVzb3Vy
Y2UuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkRvY3VtZW50TG9hZGVyLmgiCkBAIC02NCw2ICs2NSw3IEBACiAjaW5jbHVkZSAiV2ViRGF0
YVNvdXJjZUltcGwuaCIKICNpbmNsdWRlICJXZWJEZXZUb29sc0FnZW50UHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgIldlYkRvY3VtZW50LmgiCisjaW5jbHVkZSAiV2ViRWxlbWVudC5oIgogI2luY2x1ZGUg
IldlYkZvcm1FbGVtZW50LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVDbGllbnQuaCIKICNpbmNsdWRl
ICJXZWJGcmFtZUltcGwuaCIKQEAgLTg2Miw2ICs4NjQsMjIgQEAgdm9pZCBGcmFtZUxvYWRlckNs
aWVudEltcGw6OmRpc3BhdGNoRGlkRmluaXNoTG9hZCgpCiAgICAgLy8gcHJvdmlzaW9uYWwgbG9h
ZCBzdWNjZWVkcyBvciBmYWlscywgbm90IHRoZSAicmVhbCIgb25lLgogfQogCit2b2lkIEZyYW1l
TG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hJbWFnZUxvYWRGaW5pc2hlZChFbGVtZW50KiBzb3Vy
Y2VFbGVtZW50LCBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCit7CisgICAgV2ViRWxlbWVudCBl
bGVtZW50KGFkb3B0UmVmKHNvdXJjZUVsZW1lbnQpKTsKKyAgICBXcmFwcGVkUmVzb3VyY2VSZXF1
ZXN0IHdlYnJlcShyZXNvdXJjZS0+cmVzb3VyY2VSZXF1ZXN0KCkpOworICAgIGlmIChtX3dlYkZy
YW1lLT5jbGllbnQoKSkKKyAgICAgICAgbV93ZWJGcmFtZS0+Y2xpZW50KCktPmltYWdlTG9hZEZp
bmlzaGVkKG1fd2ViRnJhbWUsIGVsZW1lbnQsIHdlYnJlcSk7Cit9CisKK3ZvaWQgRnJhbWVMb2Fk
ZXJDbGllbnRJbXBsOjpkaXNwYXRjaFNjcmlwdExvYWRGaW5pc2hlZChFbGVtZW50KiBzb3VyY2VF
bGVtZW50LCBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCit7CisgICAgV2ViRWxlbWVudCBlbGVt
ZW50KGFkb3B0UmVmKHNvdXJjZUVsZW1lbnQpKTsKKyAgICBXcmFwcGVkUmVzb3VyY2VSZXF1ZXN0
IHdlYnJlcShyZXNvdXJjZS0+cmVzb3VyY2VSZXF1ZXN0KCkpOworICAgIGlmIChtX3dlYkZyYW1l
LT5jbGllbnQoKSkKKyAgICAgICAgbV93ZWJGcmFtZS0+Y2xpZW50KCktPnNjcmlwdExvYWRGaW5p
c2hlZChtX3dlYkZyYW1lLCBlbGVtZW50LCB3ZWJyZXEpOworfQorCiB2b2lkIEZyYW1lTG9hZGVy
Q2xpZW50SW1wbDo6ZGlzcGF0Y2hEaWRGaXJzdExheW91dCgpCiB7CiAgICAgaWYgKG1fd2ViRnJh
bWUtPmNsaWVudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJh
bWVMb2FkZXJDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxv
YWRlckNsaWVudEltcGwuaAppbmRleCBlY2IyMGEyZmIyNWVmZTY0YWZlNjBkNDI0NmU2Yzk5M2Fm
NWYzMTI5Li4yZTRlMGJiOWE1ZDMwYjU1M2QzNjM2MjYxYWUxNTFlM2NhYzNmNTA4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaApA
QCAtMTA3LDYgKzEwNyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRG
YWlsTG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CiAgICAgdmlydHVhbCB2b2lk
IGRpc3BhdGNoRGlkRmluaXNoRG9jdW1lbnRMb2FkKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoRGlkRmluaXNoTG9hZCgpOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEltYWdlTG9hZEZp
bmlzaGVkKFdlYkNvcmU6OkVsZW1lbnQqIHNvdXJjZUVsZW1lbnQsIFdlYkNvcmU6OkNhY2hlZFJl
c291cmNlKik7CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoU2NyaXB0TG9hZEZpbmlzaGVkKFdl
YkNvcmU6OkVsZW1lbnQqIHNvdXJjZUVsZW1lbnQsIFdlYkNvcmU6OkNhY2hlZFJlc291cmNlKik7
CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmlyc3RMYXlvdXQoKTsKICAgICB2aXJ0dWFs
IHZvaWQgZGlzcGF0Y2hEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQoKTsKICAgICB2aXJ0
dWFsIFdlYkNvcmU6OkZyYW1lKiBkaXNwYXRjaENyZWF0ZVBhZ2UoY29uc3QgV2ViQ29yZTo6TmF2
aWdhdGlvbkFjdGlvbiYpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IGM3NDA0MmU3NjBhOWVkZjIzY2E0ZmQyMWYyNzhjZDZiMGJlYjBhMjkuLmJl
ZjgwNDAyNDdiOGNjYzkzMmVkNzY2MDJhNDE5NjQ1M2Q4NjZhZjYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMCBAQAogMjAxMi0w
Ny0zMSAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBB
ZGQgY2FsbGJhY2tzIHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCBmb3Igd2hlbiBhIHJlc291cmNl
IHJlcXVlc3QgZmluaXNoZWQgZm9yIGEgc2NyaXB0IG9yIGltYWdlIGVsZW1lbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNzYxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVzdFJ1bm5lci5k
dW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKCkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAoTGF5b3V0VGVz
dENvbnRyb2xsZXI6OmR1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3MpOgorICAgICAgICAo
TGF5b3V0VGVzdENvbnRyb2xsZXI6OnJlc2V0KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRy
b2xsZXIpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNob3VsZER1bXBJbWFn
ZUFuZFNjcmlwdExvYWRDYWxsYmFja3MpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNob3VsZER1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3MpOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oOgorICAgICAgICAoVGVzdFNoZWxsOjpzaG91
bGREdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKToKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9zdDo6aW1h
Z2VMb2FkRmluaXNoZWQpOgorICAgICAgICAoV2ViVmlld0hvc3Q6OnNjcmlwdExvYWRGaW5pc2hl
ZCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaDoKKyAg
ICAgICAgKFdlYlZpZXdIb3N0KToKKworMjAxMi0wNy0zMSAgSm9jaGVuIEVpc2luZ2VyICA8am9j
aGVuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBVbnJldmlld2VkLiBVcGRhdGUgd2F0Y2hsaXN0
CiAKICAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvd2F0Y2hsaXN0OiBU
dXJuZWQgb3V0IHRvIGJlIGxlc3MgdXNlZnVsIHRoYW4gSSBoYWQgaG9wZWQKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApp
bmRleCAwNDZlMWVjMmQ3YmNkNmNkOTFmMDIyNGExOGE1OTk4YjJkYzMzMmU5Li4yNDg5ZjYxZTVh
OThkZjUzMzkyYTI5YjE5MGYwNjI2MjhmMDgwZmRjIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0xNDAsNiAr
MTQwLDcgQEAgTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKFRlc3RT
aGVsbCogc2hlbGwpCiAgICAgYmluZE1ldGhvZCgiZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFj
ayIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjayk7
CiAgICAgYmluZE1ldGhvZCgiZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MiLCAm
TGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tz
KTsKICAgICBiaW5kTWV0aG9kKCJkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzIiwgJkxheW91dFRl
c3RDb250cm9sbGVyOjpkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKTsKKyAgICBiaW5kTWV0aG9k
KCJkdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzIiwgJkxheW91dFRlc3RDb250cm9sbGVy
OjpkdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKTsKICAgICBiaW5kTWV0aG9kKCJkdW1w
UmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFJl
c291cmNlUmVzcG9uc2VNSU1FVHlwZXMpOwogICAgIGJpbmRNZXRob2QoImR1bXBTZWxlY3Rpb25S
ZWN0IiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpkdW1wU2VsZWN0aW9uUmVjdCk7CiAgICAgYmlu
ZE1ldGhvZCgiZHVtcFN0YXR1c0NhbGxiYWNrcyIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVt
cFdpbmRvd1N0YXR1c0NoYW5nZXMpOwpAQCAtNDAwLDYgKzQwMSwxMiBAQCB2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKGNvbnN0IENwcEFyZ3VtZW50
TGlzdCYsIENwcAogICAgIHJlc3VsdC0+c2V0TnVsbCgpOwogfQogCit2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpkdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKGNvbnN0IENwcEFyZ3Vt
ZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICBtX2R1bXBJbWFnZUFuZFNjcmlw
dExvYWRDYWxsYmFja3MgPSB0cnVlOworICAgIHJlc3VsdC0+c2V0TnVsbCgpOworfQorCiB2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyhjb25z
dCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAgICAgbV9kdW1wUmVz
b3VyY2VSZXNwb25zZU1JTUVUeXBlcyA9IHRydWU7CkBAIC02NjEsNiArNjY4LDcgQEAgdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6cmVzZXQoKQogICAgIG1fZHVtcFByb2dyZXNzRmluaXNoZWRD
YWxsYmFjayA9IGZhbHNlOwogICAgIG1fZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFj
a3MgPSBmYWxzZTsKICAgICBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MgPSBmYWxzZTsKKyAg
ICBtX2R1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBS
ZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzID0gZmFsc2U7CiAgICAgbV9kdW1wQmFja0ZvcndhcmRM
aXN0ID0gZmFsc2U7CiAgICAgbV9kdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucyA9IGZhbHNl
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENv
bnRyb2xsZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250
cm9sbGVyLmgKaW5kZXggOWNmZDEyMzU5MjFhMjFhYjVhMWIzZWM0YzIyM2E5N2RkMjU2MDBhMC4u
MDg1Njg5ZGJhYmJlM2I0OGU0OTYzNWNmOGU2M2RlMTBhYjhkYjMzZSAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC0x
MDIsNyArMTAyLDEyIEBAIHB1YmxpYzoKICAgICAvLyBsaW5lIGZvciBlYWNoIHJlc291cmNlIGxv
YWQgY2FsbGJhY2suIEl0IHRha2VzIG5vIGFyZ3VtZW50cywgYW5kIGlnbm9yZXMKICAgICAvLyBh
bnkgdGhhdCBtYXkgYmUgcHJlc2VudC4KICAgICB2b2lkIGR1bXBSZXNvdXJjZUxvYWRDYWxsYmFj
a3MoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOyAgICAKLSAgICAKKworICAg
IC8vIFRoaXMgZnVuY3Rpb24gc2V0cyBhIGZsYWcgdGhhdCB0ZWxscyB0aGUgdGVzdF9zaGVsbCB0
byBkdW1wIGEKKyAgICAvLyBkZXNjcmlwdGl2ZSBsaW5lIGZvciBlYWNoIGltYWdlIGFuZCBzY3Jp
cHQgZWxlbWVudCB0aGF0IGxvYWRlZCBpdHMKKyAgICAvLyByZXNvdXJjZSB1c2luZyBhIHJlc291
cmNlIHJlcXVlc3QuCisgICAgdm9pZCBkdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKGNv
bnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKKwogICAgIC8vIFRoaXMgZnVuY3Rp
b24gc2V0cyBhIGZsYWcgdGhhdCB0ZWxscyB0aGUgdGVzdF9zaGVsbCB0byBkdW1wIHRoZSBNSU1F
IHR5cGUKICAgICAvLyBmb3IgZWFjaCByZXNvdXJjZSB0aGF0IHdhcyBsb2FkZWQuIEl0IHRha2Vz
IG5vIGFyZ3VtZW50cywgYW5kIGlnbm9yZXMgYW55CiAgICAgLy8gdGhhdCBtYXkgYmUgcHJlc2Vu
dC4KQEAgLTQ1OSw2ICs0NjQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzaG91bGREdW1wVXNlckdl
c3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcFVzZXJHZXN0dXJlSW5G
cmFtZUxvYWRDYWxsYmFja3M7IH0KICAgICB2b2lkIHNldFNob3VsZER1bXBVc2VyR2VzdHVyZUlu
RnJhbWVMb2FkQ2FsbGJhY2tzKGJvb2wgdmFsdWUpIHsgbV9kdW1wVXNlckdlc3R1cmVJbkZyYW1l
TG9hZENhbGxiYWNrcyA9IHZhbHVlOyB9CiAgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VMb2Fk
Q2FsbGJhY2tzKCkge3JldHVybiBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3M7IH0KKyAgICB2
b2lkIHNldFNob3VsZER1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3MoYm9vbCB2YWx1ZSkg
eyBtX2R1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3MgPSB2YWx1ZTsgfQorICAgIGJvb2wg
c2hvdWxkRHVtcEltYWdlQW5kU2NyaXB0TG9hZENhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcElt
YWdlQW5kU2NyaXB0TG9hZENhbGxiYWNrczsgfQogICAgIHZvaWQgc2V0U2hvdWxkRHVtcFJlc291
cmNlUmVzcG9uc2VNSU1FVHlwZXMoYm9vbCB2YWx1ZSkgeyBtX2R1bXBSZXNvdXJjZVJlc3BvbnNl
TUlNRVR5cGVzID0gdmFsdWU7IH0KICAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNl
TUlNRVR5cGVzKCkge3JldHVybiBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzOyB9CiAg
ICAgYm9vbCBzaG91bGREdW1wU3RhdHVzQ2FsbGJhY2tzKCkgeyByZXR1cm4gbV9kdW1wV2luZG93
U3RhdHVzQ2hhbmdlczsgfQpAQCAtNjExLDYgKzYxOCwxMCBAQCBwcml2YXRlOgogICAgIC8vIElm
IHRydWUsIHRoZSB0ZXN0X3NoZWxsIHdpbGwgb3V0cHV0IGEgZGVzY3JpcHRpdmUgbGluZSBmb3Ig
ZWFjaCByZXNvdXJjZQogICAgIC8vIGxvYWQgY2FsbGJhY2suCiAgICAgYm9vbCBtX2R1bXBSZXNv
dXJjZUxvYWRDYWxsYmFja3M7CisKKyAgICAvLyBJZiB0cnVlLCB0aGUgdGVzdF9zaGVsbCB3aWxs
IG91dHB1dCBhIGRlc2NyaXB0aXZlIGxpbmUgZm9yIGVhY2ggaW1hZ2UKKyAgICAvLyBhbmQgc2Ny
aXB0IGVsZW1lbnQgdGhhdCBsb2FkZWQgaXRzIHJlc291cmNlIHVzaW5nIGEgcmVzb3VyY2UgcmVx
dWVzdC4KKyAgICBib29sIG1fZHVtcEltYWdlQW5kU2NyaXB0TG9hZENhbGxiYWNrczsKICAgICAK
ICAgICAvLyBJZiB0cnVlLCB0aGUgdGVzdF9zaGVsbCB3aWxsIG91dHB1dCB0aGUgTUlNRSB0eXBl
IGZvciBlYWNoIHJlc291cmNlIHRoYXQgCiAgICAgLy8gd2FzIGxvYWRlZC4KZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKaW5kZXggMDc3ODE2MzZiYTc1MDc1OTUyYjJm
ZjM4YzRjNDczZGQ3NmM0Y2I1Yy4uOWNhZmEyNzU0MmVkNDZiYTgyY2JlNGYwNWIzN2UwYzQ4MTg4
NmZjMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxs
LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKQEAgLTEy
MCw2ICsxMjAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBzaG91bGREdW1wVXNlckdlc3R1cmVJbkZy
YW1lTG9hZENhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBt
X3Rlc3RJc1BlbmRpbmcpICYmIGxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3VsZER1bXBVc2Vy
R2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzKCk7IH0KICAgICBib29sIHNob3VsZER1bXBSZXNv
dXJjZUxvYWRDYWxsYmFja3MoKSBjb25zdCAgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5nIHx8
IG1fdGVzdElzUGVuZGluZykgJiYgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcFJl
c291cmNlTG9hZENhbGxiYWNrcygpOyB9CiAgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VSZXNw
b25zZU1JTUVUeXBlcygpIGNvbnN0ICB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90
ZXN0SXNQZW5kaW5nKSAmJiBsYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zaG91bGREdW1wUmVzb3Vy
Y2VSZXNwb25zZU1JTUVUeXBlcygpOyB9CisgICAgYm9vbCBzaG91bGREdW1wSW1hZ2VBbmRTY3Jp
cHRMb2FkQ2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5nIHx8IG1f
dGVzdElzUGVuZGluZykgJiYgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcEltYWdl
QW5kU2NyaXB0TG9hZENhbGxiYWNrcygpOyB9CiAgICAgdm9pZCBzZXRJc0xvYWRpbmcoYm9vbCBm
bGFnKSB7IG1faXNMb2FkaW5nID0gZmxhZzsgfQogCiAgICAgLy8gQ2FsbGVkIGJ5IHRoZSBMYXlv
dXRUZXN0Q29udHJvbGxlciB0byBzaWduYWwgdGVzdCBjb21wbGV0aW9uLgpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCmluZGV4IGJhNWVjZjBjODg3Yzc4
NDViZTIxYTFmOGUwZGMyNzMyODFiNDM0MDQuLjczYWRmYTM3MzM5NmY5MzI1MjQwYTI0MmUwYjE1
MjJiNzlkMjA2NWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dl
YlZpZXdIb3N0LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3
SG9zdC5jcHAKQEAgLTEyMzAsNiArMTIzMCwzMiBAQCB2b2lkIFdlYlZpZXdIb3N0OjpkaWRGaW5p
c2hMb2FkKFdlYkZyYW1lKiBmcmFtZSkKICAgICBsb2NhdGlvbkNoYW5nZURvbmUoZnJhbWUpOwog
fQogCit2b2lkIFdlYlZpZXdIb3N0OjppbWFnZUxvYWRGaW5pc2hlZChXZWJGcmFtZSogZnJhbWUs
IGNvbnN0IFdlYkVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFdlYlVSTFJlcXVlc3QmIHJlcXVlc3Qp
Cit7CisgICAgaWYgKG1fc2hlbGwtPnNob3VsZER1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFj
a3MoKSkgeworICAgICAgICBwcmludEZyYW1lRGVzY3JpcHRpb24oZnJhbWUpOworICAgICAgICBw
cmludGYoIiAtIGltYWdlIGVsZW1lbnQgd2l0aCAiKTsKKyAgICAgICAgaWYgKGVsZW1lbnQuaGFz
QXR0cmlidXRlKCJpZCIpKQorICAgICAgICAgICAgcHJpbnRmKCJpZCAnJXMnIiwgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoImlkIikudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIHByaW50Zigibm8gaWQiKTsKKyAgICAgICAgcHJpbnRmKCIgZmluaXNoZWQgbG9hZGluZyAn
JXMnXG4iLCBVUkxEZXNjcmlwdGlvbihyZXF1ZXN0LnVybCgpKS5jX3N0cigpKTsKKyAgICB9Cit9
CisKK3ZvaWQgV2ViVmlld0hvc3Q6OnNjcmlwdExvYWRGaW5pc2hlZChXZWJGcmFtZSogZnJhbWUs
IGNvbnN0IFdlYkVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFdlYlVSTFJlcXVlc3QmIHJlcXVlc3Qp
Cit7CisgICAgaWYgKG1fc2hlbGwtPnNob3VsZER1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFj
a3MoKSkgeworICAgICAgICBwcmludEZyYW1lRGVzY3JpcHRpb24oZnJhbWUpOworICAgICAgICBw
cmludGYoIiAtIHNjcmlwdCBlbGVtZW50IHdpdGggIik7CisgICAgICAgIGlmIChlbGVtZW50Lmhh
c0F0dHJpYnV0ZSgiaWQiKSkKKyAgICAgICAgICAgIHByaW50ZigiaWQgJyVzJyIsIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKCJpZCIpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBwcmludGYoIm5vIGlkIik7CisgICAgICAgIHByaW50ZigiIGZpbmlzaGVkIGxvYWRpbmcg
JyVzJ1xuIiwgVVJMRGVzY3JpcHRpb24ocmVxdWVzdC51cmwoKSkuY19zdHIoKSk7CisgICAgfQor
fQorCiB2b2lkIFdlYlZpZXdIb3N0OjpkaWROYXZpZ2F0ZVdpdGhpblBhZ2UoV2ViRnJhbWUqIGZy
YW1lLCBib29sIGlzTmV3TmF2aWdhdGlvbikKIHsKICAgICBmcmFtZS0+ZGF0YVNvdXJjZSgpLT5z
ZXRFeHRyYURhdGEobV9wZW5kaW5nRXh0cmFEYXRhLmxlYWtQdHIoKSk7CmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAppbmRleCAxM2YyZTFlYzUzZWI4MmIxMjhl
YzI5ZjE2YzA1ZDg1OTQyMjc2NGU2Li43ZTkzMWEyYjkxMWJkZDMxYjQ2YjNjM2EzNDdjYzdhMzZm
M2RmNGU3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3
SG9zdC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgK
QEAgLTI1Miw2ICsyNTIsOCBAQCBjbGFzcyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJLaXQ6Oldl
YlZpZXdDbGllbnQsIHB1YmxpYyBXZWJLaXQ6OldlYkZyYW1lQ2xpZW50LAogICAgIHZpcnR1YWwg
dm9pZCBkaWRIYW5kbGVPbmxvYWRFdmVudHMoV2ViS2l0OjpXZWJGcmFtZSopOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRGYWlsTG9hZChXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0OjpXZWJV
UkxFcnJvciYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkKFdlYktpdDo6V2ViRnJh
bWUqKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW1hZ2VMb2FkRmluaXNoZWQoV2ViS2l0OjpXZWJGcmFt
ZSosIGNvbnN0IFdlYktpdDo6V2ViRWxlbWVudCYsIGNvbnN0IFdlYktpdDo6V2ViVVJMUmVxdWVz
dCYpOworICAgIHZpcnR1YWwgdm9pZCBzY3JpcHRMb2FkRmluaXNoZWQoV2ViS2l0OjpXZWJGcmFt
ZSosIGNvbnN0IFdlYktpdDo6V2ViRWxlbWVudCYsIGNvbnN0IFdlYktpdDo6V2ViVVJMUmVxdWVz
dCYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWROYXZpZ2F0ZVdpdGhpblBhZ2UoV2ViS2l0OjpXZWJG
cmFtZSosIGJvb2wgaXNOZXdOYXZpZ2F0aW9uKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdl
TG9jYXRpb25XaXRoaW5QYWdlKFdlYktpdDo6V2ViRnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQg
YXNzaWduSWRlbnRpZmllclRvUmVxdWVzdChXZWJLaXQ6OldlYkZyYW1lKiwgdW5zaWduZWQgaWRl
bnRpZmllciwgY29uc3QgV2ViS2l0OjpXZWJVUkxSZXF1ZXN0Jik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTYxMmE2ZjM4
ZTk3NzRhNTY1N2FkNzliMjIyMDljZDU2NmUyOWVhMy4uOTEyNmEwMjY4NmZhZDEwMzVkODJjMzU5
NWI0MDUwN2NkZTU4NTkyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA3LTMxICBKb2No
ZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBjYWxsYmFj
a3MgdG8gdGhlIEZyYW1lTG9hZGVyQ2xpZW50IGZvciB3aGVuIGEgcmVzb3VyY2UgcmVxdWVzdCBm
aW5pc2hlZCBmb3IgYSBzY3JpcHQgb3IgaW1hZ2UgZWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9h
ZGVyL2ltYWdlLWxvYWQtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFja3MuaHRtbDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvcmVzb3VyY2Vz
L2VtcHR5LmpzOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRl
ci9zY3JpcHQtbG9hZC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9zY3JpcHQtbG9hZC1jYWxsYmFja3MuaHRtbDog
QWRkZWQuCisKIDIwMTItMDctMzEgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBVbnNraXAgcGFzc2luZyB0
ZXN0cyBhbmQgYWRkIG5ldyBleHBlY3RlZCBmaWxlcy4gKGJ1Zzg1MjAzKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvaW1hZ2UtbG9hZC1jYWxs
YmFja3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9s
b2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5ZDBl
ZGQwYmUyNTAwNGRmMmQzOTQ1ZGYyNTAwMjAxNTk1OWE2NzAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1sb2FkLWNhbGxi
YWNrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACittYWluIGZyYW1lIC0gaW1hZ2UgZWxl
bWVudCB3aXRoIGlkICdpbWcnIGZpbmlzaGVkIGxvYWRpbmcgJ2Jvc3Rvbi5naWYnCitUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIGNvcnJlY3QgY2FsbGJhY2tzIGZvciBpbWFnZSBsb2FkcyBhcmUg
aW52b2tlZC4gSXQgcGFzc2VzIGlmIHlvdSBzZWUgZXhhY3RseSBvbmUgY2FsbGJhY2sgZm9yIHRo
ZSBpbWFnZSB3aXRoIGlkICdpbWcnLgorCisgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1sb2FkLWNhbGxiYWNrcy5odG1sIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFj
a3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44N2Q5MjE5Yzg0NzU3MGY3ZGU5YTcxMDc2OTdkMDM5M2I3Yzgz
NjAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFz
dC9sb2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFja3MuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci5kdW1w
SW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKCk7Cit9IGVsc2UgeworICAgIGRvY3VtZW50Lndy
aXRlKCJUaGlzIHRlc3QgY2Fubm90IHJ1biB3aXRob3V0IGEgdGVzdFJ1bm5lciIpOworfQorPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPgorICBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhl
IGNvcnJlY3QgY2FsbGJhY2tzIGZvciBpbWFnZSBsb2FkcyBhcmUgaW52b2tlZC4gSXQKKyAgcGFz
c2VzIGlmIHlvdSBzZWUgZXhhY3RseSBvbmUgY2FsbGJhY2sgZm9yIHRoZSBpbWFnZSB3aXRoIGlk
ICdpbWcnLgorPC9wPgorPGltZyBpZD0iaW1nIiBzcmM9Ii4uLy4uL3Blcm1pc3Npb25jbGllbnQv
cmVzb3VyY2VzL2Jvc3Rvbi5naWYiIC8+Cis8aW1nIGlkPSJpbWctZmFpbCIgLz4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qv
bG9hZGVyL3Jlc291cmNlcy9lbXB0eS5qcyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9lbXB0eS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjFhMzkzNzQxYzk2
YzAzYzM3MTJiNGM4MGIzZDJiY2QwNjk1OWI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvcmVzb3VyY2VzL2VtcHR5LmpzCkBAIC0w
LDAgKzEgQEAKKy8vIGVtcHR5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9mYXN0L2xvYWRlci9zY3JpcHQtbG9hZC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvc2NyaXB0LWxvYWQtY2FsbGJh
Y2tzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMWZmZGZkNTJlMmIzMmE3NTg4MTEwOGYxMjBi
ZjQyYmMwNjU5MTZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vZmFzdC9sb2FkZXIvc2NyaXB0LWxvYWQtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDIgQEAKK21haW4gZnJhbWUgLSBzY3JpcHQgZWxlbWVudCB3aXRoIGlkICdzY3JpcHQn
IGZpbmlzaGVkIGxvYWRpbmcgJ2VtcHR5LmpzJworVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBj
b3JyZWN0IGNhbGxiYWNrcyBmb3Igc2NyaXB0IGxvYWRzIGFyZSBpbnZva2VkLiBJdCBwYXNzZXMg
aWYgeW91IHNlZSBleGFjdGx5IG9uZSBjYWxsYmFjayBmb3IgdGhlIHNjcmlwdCB3aXRoIGlkICdz
Y3JpcHQnLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9s
b2FkZXIvc2NyaXB0LWxvYWQtY2FsbGJhY2tzLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9mYXN0L2xvYWRlci9zY3JpcHQtbG9hZC1jYWxsYmFja3MuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44ODQ2ODczYmVhZTBlYmZlN2Q3ZmZlYjJhOGZhMDNlMTE3ZDVkMWVhCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvc2NyaXB0LWxv
YWQtY2FsbGJhY2tzLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcEltYWdlQW5kU2NyaXB0TG9h
ZENhbGxiYWNrcygpOworfSBlbHNlIHsKKyAgICBkb2N1bWVudC53cml0ZSgiVGhpcyB0ZXN0IGNh
bm5vdCBydW4gd2l0aG91dCBhIHRlc3RSdW5uZXIiKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8cD4KKyAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBjb3JyZWN0IGNhbGxiYWNr
cyBmb3Igc2NyaXB0IGxvYWRzIGFyZSBpbnZva2VkLiBJdAorICBwYXNzZXMgaWYgeW91IHNlZSBl
eGFjdGx5IG9uZSBjYWxsYmFjayBmb3IgdGhlIHNjcmlwdCB3aXRoIGlkICdzY3JpcHQnLgorPC9w
PgorPHNjcmlwdCBpZD0ic2NyaXB0IiBzcmM9InJlc291cmNlcy9lbXB0eS5qcyIgLz4KKzxzY3Jp
cHQgaWQ9InNjcmlwdC1mYWlsIj4KKy8vIG5vdGhpbmcgaW50ZXJlc3RpbmcgaGVyZQorPC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>155562</attachid>
            <date>2012-07-31 09:12:39 -0700</date>
            <delta_ts>2012-07-31 09:12:39 -0700</delta_ts>
            <desc>Archive of layout-test-results from gce-cr-linux-05</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>114365</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">UEsDBAoAAAAAACx//0AAAAAAAAAAAAAAAAAYABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvVVQJ
AANjABhQZAAYUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACAAif/9A+ttBHkcEAABIGAAAJgAcAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Rlc3RzX3J1bjEudHh0VVQJAANPABhQQgAYUHV4CwABBOgD
AAAE6AMAAJ1XUZbjKAz836vso3t339sDzBXmBjLIsaYx+AFOJ3v6FeCkk2mIwT8zabsKhFQqYZAS
vaeBNIXrOzz+JezwC2UQCgPICdXbFGb9BzwT1C+QaIKQ1gQyKwSyxgsJq0cB3qOLD8QIpFeHxRWM
nKwTmswHKgHGmutsVy8GbeWHkA78VKQ5AsFRyY/BXvKPSoQRqMjDoF8AJtRL/SUphUasi4KAXoDW
Cj2fWoEJfodVfa1hQP36LQc8cBWMILOsoQl7RudIxSC79vABruKTwkT1gBeHniudKgxaOKuxinUI
yhp9rQOYXU+dl/xeD+Cqu0gwZ+BTPj40VmGWbJ1RfMPSTRKewJxYg8YGGkmmg2Yl+7oONzIqClFh
N60oOreg879Jvfs7xRexGdHNZMicxD2T4nPiPVM9b2WqrxDLzGdEjXM8tecfMnATVRlpKw71xDoU
MxT7RBEv5lPvk5F6VSh2euTWksk5+BA+5l2MVq7peZly3kQqsmv43aSpddGxlDHJpGNtVVl33Am0
ePIi4KWYvJGcD0Jj4PwnkAgOjB+tm3ejiMKKySNPJ2Nd2YfyK+EXNlQntvIUY6UZTpgckxfl/zDl
sI7kmv398q0IFKIOd45BMwtBhySF2N0sO2JDjAFX4VGiwxoCt9JGLUK/jnEfImUcG6EYqSXYBM1H
5J1LkNwwt0aIjVPcVFtQsQdodDBzgVjU/skkGkj32XEJDovZmtkU4N4MZYRZueo+bCFkv9qNZF51
oNzlme1wsS5E8wx0RmGXGtOgZ6tiX7laTmU108am3nJsQa9Uy5NdGEhb5qq8WPDBgGPIaNAV11w0
hNSBhpNcBDwPrVt82QST2dRYjLHuw8fxuxVFhOtSNg+HM0/ewu0lec6eUm/sR/XfVblHzoWNDJ7h
oRxenjKzVQ9jrbZexhqb7G6w6voKtANIScZ54atkmPhGsHuYaKvxOpdm2pb4x3FZJab2SnMqBEfs
NxjtdiN92zRfBd4Xrg4tvKkP/v0f9bbdEJ7vLnvYEVn3N/+rgTWC+8ll+pOdS8cfb6CXCf56+/cg
r5M1gCfZRurCSn7eCD1pO4BO4XcxpJ0X63nMNLIMnpLHtMKtGfky1bz8AmFqhPqJdfTZCL7fJRrx
/6Gzr6H3vG1SlXa59jH4psQ9lf0Cgl2Os29fFUe49vblc4jM30N9bE2nKfSSvF2dxANJ2oi9+dlo
3am58bqzcrHNhGgJPVqL+KNK+53bnsffmR2p/EbtyGbkdiosUg7o64HWl5V+bT2yOnPRrqs8DX6k
+fH4KX+AyB7O+TcH+ApHWHU4wIyj+AAtXZSP8o6fkxirSR1guvhJ0sjLh+vwikw4aBbfyc198Z3a
3h0FbnuPZHKfYWROv2M88TpT0+0Zz7TehLS7hl3Q5Q9jCT5+CfLT3cthgd3X+F+80XJr9Ad7wv6t
JlZJUko306xa+3Uc6dJN/Srd/1BLAwQUAAIACAAif/9A+8J57FIBAABSBgAAJgAcAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL3Rlc3RzX3J1bjIudHh0VVQJAANPABhQQgAYUHV4CwABBOgDAAAE6AMA
AK2UXXKDMAyE33sXtWdSbAGa2jIji6Tcvgrkb6atA5k+wcC39kpeGYUzGhepHxgjGx8JTFFqVzQD
3v6+D5bTGz7Q11dwHdCRxCqwwIASE2mDPxSNpFCOpF0qpwYZipiW5MtBVAMcuQXXCjoltz+P1PIb
WSmszpORChqBegFaaZPqwkLHKUEukbxmjSfUF+W7VNetoIwY2OaXxLtEUuQ1oXFm6aGbZPle/2eV
PeItbItZMwd5SsajJ+uT5k4xt9P1NKgkl3mBSNXzPbtd8YloDs1dVIfiW7An9+lkXqYyKHnGG9zA
BuZe7pO/AW4gN3P76/SH8hcI9bjcRTWgN36S9XtDeN5WEgt5uViHBrk08HxNgfhZwnIbbcLPN5Zy
9DhuwpWyK+IWtsUY+nHv7uOJUiheXcUO9WcaD9yDFsNfJ+BQ4ry6x/RHN4O77h8GYmnlSn0DUEsD
BAoAAAAAABh//0AAAAAAAAAAAAAAAABDABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvcHl3ZWJz
b2NrZXQud3MubG9nLTMxSnVsMjAxMi0xNTU2NDgtZXJyLnR4dFVUCQADQAAYUEAAGFB1eAsAAQTo
AwAABOgDAABQSwMECgAAAAAAGn//QAAAAAAAAAAAAAAAACYAHAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9hY2Nlc3NpYmlsaXR5L1VUCQADRAAYUGQAGFB1eAsAAQToAwAABOgDAABQSwMEFAACAAgA
GX//QM2a4vxMAgAAaQUAAFoAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9hY2Nlc3NpYmlsaXR5
L2NvbnRlbnQtY2hhbmdlZC1ub3RpZmljYXRpb24tY2F1c2VzLWNyYXNoLXN0ZGVyci50eHRVVAkA
A0IAGFBCABhQdXgLAAEE6AMAAAToAwAAnZTJbtswEIbPyVP0mNy0i9ItsOEkaBbDDupDkcOQHNpE
KNKlKCd5+1KWZCtbW/TG5f/+GZIzPKFQY1lypM26LJcO2NODBYbj8dn5t5/BS0YIhPh4etIRZ6CN
fq1MU3/TUGG99cLznpo21XYp1xrUFWiu0PYOeUyKwjsEL7nIwggJD0EEpycrpBNjven0/nYKDpZu
P3tGeLozHCegFPW2nUsYJJxim8iOlKXUDq0PVJaXytAhYF2Wc1O7S7AU1jgxSiFz0ui5NQzrWup1
50WiJGHxB6srhK13QCuMrT6Y9GgS8ZR8gfbiHh2AOEXxZ+BCqYsdSAVU4XuYUPY4uqofxB/m5bUs
mUKwM2PvYCfXcEyQJ7zIwzEys/6hbgxwtD3WKUUYZCIaK6eGNRVqt7LStWKKa9nbiiADJj4TH5xN
VUnXvmNHoPDPXHTEd+ne5DFR0pPX1VYNnEPebnVoQiNeBH8PdiR8sDjLxsQCa9NYdjg4l3yBDOUO
jymKmIs0HlO3IPU/kRHJs/Q/4jHRUl900QJ/NVi7/oXvjJPitTfhR5cwjzFh7WFvfVH7WrkxxtfS
otEPUPfdkmV5mON7yRQF2nvrlXPU3LfDG4BQ+gEwK2OPCmTk8BH0urnv+Usl6T7+SrrNVPrTOLY5
dD+JC5J+kux13wuDe8T3F9q5+/2D8PCLAOef+Ax8iHv+wV/gcoPKV9YzSNdOZ1LLeoNDccW8SN8p
baNnUmG7MoioKNor9juj1ZAFRVsvlS+TfiFlOP7aKGMJb+dJSKOkOP0NUEsDBBQAAgAIABl//0DR
lstMhgIAAJsGAABdABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvYWNjZXNzaWJpbGl0eS9jb250
ZW50LWNoYW5nZWQtbm90aWZpY2F0aW9uLWNhdXNlcy1jcmFzaC1jcmFzaC1sb2cudHh0VVQJAANC
ABhQQgAYUHV4CwABBOgDAAAE6AMAAKWUyW7bMBCGz81T6JjctC9EUSCw6iRoFkN260ORA5ehTIQS
XYpy4rcvHUu2nNhpgN5Ecb5/huQ/QzVuFo5UpcOVdvK2WhZQM9AzDeCcLwVzfD/zowt0Np3lDz9n
yPkK1dKsv23W34sCOV8IbgAhBqQtEZoaTJ9mGlMYfp9fOL/dlzhNsQePb8lzXKt6Xam2cWpcQbO0
wEVHbwqairLG8hrXTILulJIgzbKBkvuS8NjzIWUe5u7+/xzISGmbJH+4y7HBU/O6egb8dK8YjLCU
xKbZqnpuyAgMC1ylCInagLYFIHQlFekLaRCaqMZcYU1wCSMlJVAjVD3RikLTiLrcaqZ+GNLgpOQ1
4KVVAm1vv3on1kmEPovSf0h0UCfRg0EE/HPgpZSXKywkJhLeiqSEPh650l+pPezLGiEqAeux0vd4
JUq8L5yFLEu8Y+hY24e+VdgarcO3BPfcmPvHiFzRtoLazLUwG4hAKbo03I0x5R9Bu0yqqoTZ+GBL
Ard2yQ7JH8Ic1DeSwircVEvZ8wbYZmsrERKfZe7nk+9JmzyI42NkAY1qNd1dEBOsAApiBfvSecB4
FByj77CoP6Xgp0kc/Ud+yof0iS4u4E8Ljemccq+M4OtOjO3VvCSAkA4v4842kfXgrVLWo0Vbz3DT
dWkcJ14Cp0Jz4KAftCUmdo7ZNjwAU0JOgmqu9D4SaPpuUHXxEzuTrqQgr3XNhVnkwp7W0MVuOqVB
lkYfHOam68E+m88OHmKbzcbtgN3Uw4x9oNvreXCgN7MPMF2AtA5+xsJslmNRi2YBvYkDlkUnCN3W
YyFh86cPJjwbPpWNGOx61M2GvqysHbuNiMKxkU0oDdnwf+gRP8zO/gJQSwMEFAACAAgAGn//QNaJ
XAn8AgAAPgcAAEwAHAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9hY2Nlc3NpYmlsaXR5L2ltZy1h
bHQtdGFnLW9ubHktd2hpdGVzcGFjZS1zdGRlcnIudHh0VVQJAANDABhQQwAYUHV4CwABBOgDAAAE
6AMAAJWVTW/bMAyGz+uv8LG7+duyb1uybAXarWgy9DAUgyxRiVBb8mRpTfbrR7u2Z/djw4AACan3
oUSKYhpnwPspjXW08mqwB809RqsK+JkFU0tFLQwO70HisrMeVR5lVv4ED44MGiu1OntT0haKgkPp
9kWxtZTd7wxlMP99/tb75h9TQmgAdyNxTpVWp1q71lO0hrZB4duBWru62cq9otUnqngFZoiQRSTP
MYJ/zEQa5iQNYyr8pZ0lc5skbLYOnBKWzG3CRLqweRjN7TwR4uzNLZQrbfDQFzXdw6WmHExRGFD4
3btuoNXOjJmKMIK8vHuNcw3H4m6Mrj9UUIOyI5XGIphTn3ZXlz056IqioaaFd9YaWTo77EZ5kAQL
bmtPeG0TREf96kDVHvhQzJDjZ44tdzFbsNNO7SOTiDjwydMjrrRqrXGs64ettOhlBjDDbm2RYUkz
JrJ/41Lh9nYLlVhVupVq/0IkAuTZQXYG4L2TVV/lxmgGbYv9ZOyO7jfaXKj3mp+GAGmSQfY/AUYu
jSL6V46N+XTe7pbfWV1LttP3oMYghMXl/wVZ4lA+O/taM9cV6Lq/PDw+vqEekr/G91PGNEzzf4G0
abCxJyLNFumugWkOfE0tfQqKyrWHRy7Istwn8QIc1LcG7xjV0x7Cx8nAX5KOD0ZIJdsD8M7Gbhgx
n6eLtr+iUo0PcUS55JueXrIhSSOG7AOU99J+31cOeQz09ebykbyom6oosDUtHPFFfFErjR6wwG/g
h4N26MMgpWlYdgV6ZZwN6mujj6ei+KytFKdXQmURT/IIQ11h1/XjQjcYwKkdbe+HN5tmQQZPJWsQ
YL4YVF5jUTHJBUDK8hmgb7X5owBGpqk86K6xeT5Wsuz3v8Xxv5aYkWWHaRSTKCfJC4e9wIoZHNxj
dJwyyRQd1yfhNNIp5y/EGfkAen6HddoeoMJLeaDSduZm6IpHZRzhrH6iNE5tZAW7qcZxVIo8RRGu
zLwB8/vC19hAgyNhMP+f8QWLeWfHQRnG+dlvUEsDBBQAAgAIABp//0CE3RKQOwMAAD8JAABKABwA
dG1wL2xheW91dC10ZXN0LXJlc3VsdHMvYWNjZXNzaWJpbGl0eS9pbWFnZS1saW5rLWlubGluZS1j
b250LWNyYXNoLWxvZy50eHRVVAkAA0MAGFBDABhQdXgLAAEE6AMAAAToAwAApZVNb9s4EIbP21+h
Y3Kzvj+wKNDYdRu02QS2FjksehiRQ5uIRKoU1cb763fkSLLdyF2jBXywhvO8Q3KGM8xAs3VKvXGE
Ns6ireoVKo4mN4jOVS2543lpFFxnb9b54v7vPHP+xKq2u7fd9/vVKnPq1qDzTRrbQulUaLeaOwzK
EvnoYtFUUoHFfsH5LsmttQ4oB5iV39DBZ4a1lVqN0B8FNJhlHIt2k2VrC+wpN8Dw+P/VtfPP7DlK
EnDxy4/kFSitdpVuG0dBhU1NwHVPdwddy42C8iMoXqLplWI/SdMjpdlzLGIvDBIegphN2+Nwyp6G
7LV/6CZFwsIpe8pENGnnnj9lh1CIg/0Ri7k2dOjbCjb4WQOlMMvMPpV70wob3ZrhxoTnY1p8+T++
rTklbWl09b7ECpUd6CgQ7hT9Mb/7vFfo/bOsBtPgO2uNLFrbRwfuhu4kv7Y7Ko8RhoGbb0FtkPdJ
8jj9pvDTqGaNdozcvLChCNxZcm7rc60aa1rW1eFaWrIyg3QD3drJDRQQMxFfLiMVbceusRTzUjdS
bSYUE0zObqx7jTetLPdZqY1m2DRUx8bmsFlqc6tuNN/1QlEYY/wrQgMf+T5cxLPhnJ21q5J3VleS
5foJ1SCWsKD4NbFTGSzOnmmhWdtd5MM+6XQsett7WP47vOsiAC9KLxWAuqaHM5JRPHkdC2SaI1+A
hWmBm91Ydm4cJ/ykRR1kenZ4c0xXlbSd6guKgl5LcEp+klTjS0NN7YWal5IUbqu6HHiLvFt6kQgK
j6ezy4MfSAruR9EUOfSTgeSSr5AhtfLD1oXPRehP0Xcg1UUKXhJH4W/EZ+KYPjMRVvi1xcY+GP28
y7K/tJVi14vxg5ob+xiw48u4o8ez75a6JpFW5dA89S0qit0Yz7kuUKC5N0Q8UJlQNzgBk6I4C+pH
bQ6eyJJXQ6/3f6A38KGUxX5fjzRtF5JOa9l2nHSJnybhTw5zq2hq03wcolHTDV9FI78RGCcocP4T
3UHPxRO9nBKw3mJJFfwdpO0+l1LJZjt0/cCnkXqGMK1ayhI7y+BciPQ4VeRxtOqyWXpclxWVY78Q
Mpwa/2zGAn5sD9zCC9I3/wFQSwMEFAACAAgAGn//QFOFRbb7AgAAnQcAAEcAHAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9hY2Nlc3NpYmlsaXR5L2ltYWdlLWxpbmstaW5saW5lLWNvbnQtc3RkZXJy
LnR4dFVUCQADQwAYUEMAGFB1eAsAAQToAwAABOgDAACdlUtT2zAQgM/kV/gIt/j9uEHSlEyhZUhm
OHQ4yNIq0WBLrixD0l/ftWM7NoRSOpMZZ1f77UNarYpKg/UstKlIZuVgtopZlGQZsIkBnQtJDLQK
60XgcmUsIi1CjXgGC3YUCiOUnJylpIQkYZBWmyRZGUKf1ppQGP4/v7B+TndBFBEbHjvinEgl97mq
SkuSHMoCDS9aal7lxUpsJMmuiWQZ6NZD6EZxjB6mu5CHju9FzCd8OpZDfyjHPj2u+3aURtQfyjHl
wUhmjjuUic/55OwB0pnSmPQyJxu4UYSBThINEr+N6h5KVemuUu64EKeP73FVwXBzF1rlXzLIQZqO
CjxuD6nr9e1NQ7Z2SVIQXcKlMVqklWmjEWb79ohbmT0eWw+Rzn62JXIDrN1Mh+FviI2j6BWYPlJ5
YHzu2dPodYozJUujK1r3w0oY1FINWGG9NqowJSHl4ce4kBjerCDjs0yVQm5OeIogepPIWgNcVSJr
drnQikJZYj9psyabhdJLeaXYvnUQ+CGEn3HQcYHrkr9ytKun1tanfGlULuhaPYHsnETUSz/nZIxD
+ib3uaJVvUF3zeFh+niHGkj87u5P6hEniD8CSVFgY/dEEI7KnQNVDNicGHIavNr37WKHYcSaK3/E
W6a7C1TluTC1twMCHLvZOxDfBPbiQuNwOFjPMoHkMi+yjjPA6qUD6qUOi6cfBzsSGMwNgiHR3eOO
YILdAwUceccUucu47w6pWyLkP5FOFAb+f8SjvKbemZj38KuC0txptdsnyXdlBN+3TtjRix264NG6
2Fts6mYaqQLhSq5J+dSOhCC0Q3htMgcO+odGyzs8XryNIyBK0zeAelD6aAE06od+a3eHvfk1E2kT
/wFfl7nAagzd9pM+cuPIP5HsUuLrhO9C5x2HmN97x/XesH8xCGMn/HS8DQ2/xg1cbSHDznohwtTi
QkhRbrtp6bn4lLyy1JVciAxqTWeU8rjeYlwZaG06jet+ybFNWoVPYfiM0Sn1WC17dup48eQPUEsD
BBQAAgAIABp//0CFiCgrdQAAAI8AAABSABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvYWNjZXNz
aWJpbGl0eS9sb2FkaW5nLWlmcmFtZS1zZW5kcy1ub3RpZmljYXRpb24tc3RkZXJyLnR4dFVUCQAD
RAAYUEQAGFB1eAsAAQToAwAABOgDAADjTEosTrWySklNKk23sgouSUzODilKTE5FZmtoKkQbVJhZ
WCQapsZycUJ0aCTm5edV5uaXFivkJeamFhcAFWpCdbmU5hYEZ6bnJeZ4JOal5KQWQU0wN7awtASa
YFBhnmZkYGGeZmyUmGYA4ptYWiYmGRpwAQBQSwMEFAACAAgAGn//QPR0QJE8AwAA0AgAAE8AHAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9hY2Nlc3NpYmlsaXR5L2ltZy1hbHQtdGFnLW9ubHktd2hp
dGVzcGFjZS1jcmFzaC1sb2cudHh0VVQJAANDABhQQwAYUHV4CwABBOgDAAAE6AMAAJ2VTW/bOBCG
z9tfoWNy07coYVGgsettgGQT2CpyKIKCIoc2EYnUUlRj99fvSJFUu5XToIAP1nCel5wPcpihzc4p
9dYR2jjLtqrXoDiY3AA4F7Xkju+nSXCZvdvky7vPeeb8DVVtD++774/rdebUrQHnmzS2paVTgd1p
7jBalsAnFwumkopaGBacZ4lurXWociiz8hs4sGdQW6nVBP1V0AayjEPRbrNsYyl7yg1lcPz/4tL5
4u5jQqgHjz+TF1Rpdah02ziKVtDUCFwOdBfoRm4VLT9RxUswg1ISkDQ9UnL3iYj9lMR+SIU7b0+i
OTuJ2Iw/cEpYNGcnTMSzdu4Hc/Y0EuKH/QGKhTYY9HVFt3CjKZYwy0xfyt60hka3ZsyY8ANIi8ff
8W3NsWgro6uPJVSg7EjHofDm6E/57U2vMPhnWU1NAx+sNbJo7bA75V7kzfIbe8D2mGA6cosdVVvg
Q5F8jr85/HRXswE77dy8sJEIPZecO/pCq8aalnV9uJEWrcwAZqBbO8lAQRMmkrfLSIXHsRsoxaLU
jVTbGUUC5OzButt41cqyr0ptNIOmwT42NqfblTbX6krzwyAURwkkfyI08nEQ0DfxbIyzs3Zd8sHq
SrJcP4EaxQgLiz8TO5WB4mxMS83aLpH3fdExLLzbPSy/j/e6CKkfp28VoHWNF2ci42Q2HUtgmgNf
Ukt/FhBl2+xeeC9JUpeEswID9WCwR5Ca9hQuvmj8NWS8oEIq2eyAd9/YVSPu8nj2et1SqcaHYJTg
kq96lVMNn8QBO9J4huJJ2q/bskUdFPy8vnlRuK7qMsuw5S3s8ebdqYVGC1jga/ivhWboby+msV8c
J/LM8zxQ90bvD1n2r7ZSHM5IJgGP0uBI8ha7uX++dI1Crcpp8zS8GXHiJXDOdQkCzJ1B4h6LgEk4
AUlRnAX1gzY/PIGRX6bQ4H+PTflPKYv+XA84/pYSI7ZsN40eEqQkeiWYa8ywwYE17oavYPTLbug3
AdNIo5y/ojvqeXCil2OeNzsosbjPVNruczV02wsRBjiDzhCmVStZQj7VKgwKkcZHzuhxtOox96SQ
FTbqsBAxmJvHrmAhP7aHXuGH6bv/AVBLAwQUAAIACAAaf/9AgpC7HKYAAADpAAAAVQAcAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2FjY2Vzc2liaWxpdHkvbG9hZGluZy1pZnJhbWUtc2VuZHMtbm90
aWZpY2F0aW9uLWNyYXNoLWxvZy50eHRVVAkAA0QAGFBEABhQdXgLAAEE6AMAAAToAwAAXY6xCoMw
FEXn+hVv1C1qqUkonSx0K2g6lQ5PfbFSjZIo6N+3goN0u/fCOdzSontD29egewvp1A0ZmYqsskTg
D00FUSQ4C6SXq/T+UBLO1A3jcln7NcskHAp0JGVFxVRLmY9YfpTFkvbZD+DJ5hPnGNLrn/TR9Gbp
+smBwY7c8AOCjV4P5U1tsL2hqVqymymJuRA7E5sTHTGe6DhCzfb7UQgsQuZ9AVBLAwQUAAIACAAh
f/9A74k8s/UJAABtjAAAJgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2FjY2Vzc19sb2cudHh0
VVQJAANOABhQPwAYUHV4CwABBOgDAAAE6AMAAO1dW2/bOBp9n18RDJC87LLhTaIUICg6bTrTxexO
geRhgcWiYGXa5owsaSU5l3+/lGwnjk3asknJdqoWcBMnzTnnu5AfP5IKwuwdVH/RGVB//0PQ5T+m
8SWGCF8h78rzrzx49jeo/vz37Odfb+7OLnmWRTwai0seRaIowL3kIBcDmYuofJeNs7Pf7u6+XqJ3
6OczAtkZ+AntjZCLIp3mCkWLNS4n8RIYhvAMIZ+0hjfhiRyKolzF9LpEJJBamTTKeTEGD2ORgITf
yxEvZTIC/IE/gbJ68zuP/tJZljHqROa++LRLfIOnPXZQCrauPzyDSEW2SErJYzDNY22Y+diJQjHJ
yqeWM9aIYW2mp1zGsYyUkaTOSJgQR8mwDGQwFqHMORYYpvlEpyyA0AmYTEqhPsjKy/orA3D+CZ6H
n88/ofMAVh//clO/4vrVW3r/Q/0KV3l5Ldrgvby2pdeS2bC13XzHvIY8jqvRyZoY6ySB3A3ZLyZI
RPmQ5rtbAHz9cHu7YoYQvX1yg1QUIElLIB5lUdoEDlXeJCE9scgxDzqflVB8/lEZg51/9OqPfzn/
iFoaXI5YMcAnqnkghiJXRRUQ96quKsBAxKIUqrKTsQA5l0VV15VyInLdbOuFboqt5iwA0tb22E1O
3f325fbb5y+/33z79MfN7bd//XH37ebfX27vdJaf5bLfLu6fxRoi7NriWFtBIthb3FF+afsQ0Cq1
djarVZ21gzED2KvaHCLaRS3pg2HdbEWZp0/KbsOcT4Q2iTwcWiGUs7WfNCJQbOOYgRwq1yungzSX
I5mAhUO0Yihzg1WoT/VqGHIzja5h2bRRkBO4pnUSMpqv4N9jMTD0jG2EDNJoOqnYP+RSTQ0VAFCz
RP2Wdu6lXujGbmbgtj22G7K18zbAaezrN1rbm8Dqpt7GTKaNxlfUfvvQBDHkMgZpAqbZgCt7aYMQ
sUYbJdtVrIG93gGqxyXaDpK27mInrarCeR+lExUVg+tZsbkCC7rQR51GoNZROCAt2c+hjkZuUt8k
Sode2mw80qKk1fYAPnGc7jPJeR7Nut3aaQgFrkagOYipaMBucAo5yWLxrnxcAyCt69gza15++KKv
rURMY16m+av4itIkEZGDQWAbYMbL8bVOfNXfViuQ+m2NiR1N9q9b6avrQcac+tH2UEkvp005B8gy
tYg76kSrPElIz6Xn0nPpufRcei49l55Lz6Xn0nPRtzfSXMhRAja1ORD1HbU5VsEM7Y7QawVuo0gS
dibRYf9wBW1l/bmqs1qEUhicJrRMCpGXrzf3HmQ5ft4o0m9HMKutvq2g2hPUjba0sQEyTiMeA7XK
Lg2ba4g02kPEW134GsnUeiSsG7CmWXEEUBOuhuMFHhjzYqz3U6ORGXfd78SOpqV1K5jPkQS+m5A1
Ytrstv8oBtkz7DvpDZ6UUvcyn+ewatRSQquzo7IsRDzUHhr2fEcmNaKart+hAwDbD9dztIznxtOi
ngfdSluAmUYmhJ3gzY6wrG83gc7UOHPPYnfGcK4EIeJW0xLefvtBjRUZ9KB29LSlpi58Z4ezhjLW
TmseDN1qWsU0ZBP2Ooe1DfvVW7+zA+311wAvywq8WvVneTpSBLWHmmnoZh7YlYrpmmqT/CQGNulw
GMtE4dV38PXnlRpNe6TrOZ04Kh9fW2BD6cjCg7Eyuh77h+P06lh8fdQCsQ7Z2B2q+XH8dJwRbcuK
HlVM0yOMJnqA5WR3dmjcgaddz0snEAsvs39SQzx36mP+JHLDUo2oH2gBtSTMBGpshXpOcBeAiRp4
ioxHSxQW36SbTSDtXHXTGtfbQ3OSJvVOQVV1Lr5vbcMAtQU+S4GXN9ao6DfCcFd8mlgHBW+GzTwo
1cKjFLE0XN8LmOdE8BqYcT3DnOBF6bR6OMdsWK/vQ66umjuT5S6hl0VNkxZlHRTo8fHxRLEWi3Ww
gNJmVKPrqtvlrIGZMsrvDM4+0uOUay+rBo06xdtVzBA2XI32GG4ByOAa6neD5W4E6gBqkt7P+2Da
QjSAxNEM7OACk3eIC3T7mI60KGifa23Hg7NsNXNfAiOMT9x89rcCjzipTj93zfFo2pprdMjqR0vo
bRua0NF6RodnKsDC1hD323RsbEODBUk7eoz2Yy3hubXefEtCZzKfuin55xCm/Vi/ZRDbIqJMs/mI
hgzPRnDTeiqm32uYQuHYnFGzRnJXdS2ADJZjNq6fPwzDWHJj5LvJwHuRFzJNxODlJO/6LICgmw7b
fIVfPf7opb+ogaOuewut9C46NZ0e7Ln2KUrRLfLhIqSV1l0fIH2AvMkAuZcDkWqbNpTsMbNPVJ3G
wdJBsfrz+mjY2k49Yo5qh5kGY9XgQEaNAMrKAWsyWIihPcL8FsZljTHJ6KqKEAf7FKQbYdLR/Zqx
WOBo6WN0im36Pe/bgAcZDyKeD/RP1nNTWWvQ2i3lmwFaGzFPkxEo5Cjh5TQ3tiuomw7+OpopWQN3
mvSKSNCGIqMemyL8cZyDxe3BTbvtmDA3BbEW0HTBIWgNcsNTdiHqVqm7UkErFLe81G0O2rLQF4++
38+l/gG0rmDOf98RTyIRg8G0OgoEqv5oNaDVv6RK/6vAsBukXNzzWKpFv6oHQTGNIiEG+mcEB42e
nqWFXOpdlE+xKMZClMpamqITdKnKymHNNFlBZOnyJZmR0FXprNGZ/OMwWVGmWaYWHctQ2khrNJn6
XZ/n3BIGCiDjRXUFf94++zMbrW1Y+8h3EXDrdqzGpmms7dI3m8b1Hpt+fx7zxGMm8xmWvvHoY+JA
2xKifl1EKA3tcaqfbS4IKHIQD/Wu3UsQRiP5fprI/03Fl8G1T0OIQhherNZcTaSxUwT2MCMUI//i
poojUVzfTcXfzzEkSL0oIPVaQal/KjB2BZn68Nd/3nXNk1CPIi+AzXj6V7TnuZEnpczHiuiufr/4
WP/UqrGQp/H1ZFrPhfMBT3RubcYwU+FrqWIxN/T0d6IfMg8R6oC9mjnznv2O+YtgGPh0Z/pfcz6a
cGPMBCfKu3V7eyH1Qw+tjn/8EfCRuEaw84mbBNALQ2gg9MPzUd7CVNU2Joftwyd8Q3xUPMMghL4x
oKustMm20yNnWFbpf00hpEHLRvB9H3keYtuMsPf882bJsQAxSGCj6Lk+x/hWlOBjmv4lhfpkZ7Jq
koI2RWCIMMHhZra2dbYlRxSowZ3i8OJDzQi6mwXfKjEG1Xgf+HBG7GhoEepjL6DmtLWus946wepy
mJqdTPN4na1ZLu9VlmoSt35r/q0+7Lk3545Vpqth3TNw93cg3zn3AIZh6FOvaVPIg/pmy8GGDUwg
oxCFTVdtaLOAnv+ui4eABkHg+Re/cxXVk3Qgh1IMNqigM8g9e4vqv2KbzgphPqXNyc6fx7V/I3T7
o7yKOH3YdMYY/PR/UEsDBBQAAgAIACJ//0DcO6QqpgEAAIEFAAAmABwAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvdGVzdHNfcnVuMy50eHRVVAkAA08AGFBCABhQdXgLAAEE6AMAAAToAwAAnVTRcqMw
DHy/f9FlpvdFwpZBU2N7ZENDv74yJIS2JtPeG6BdebUrg4FHLBxDvvyzFzNg6AmKYMguyggcgIIF
mimUv0MZ/R/8RNBH4euBUJZEsGNaFKHk0RA49p5D/+C2wLlg0X7loeI5/iEkCveqfs7gpmBWwHNC
IsmJFDnTBjRxTDFzUZEX7HL0k0rZvsQAm1W2OnQH6pvHheQ39Dcuw7FBQqlDnvTp4hRsrmc6zylV
vqwVGKNtyDYDmVeSLqLYRlV73IScFtlb6BYIKlmzMK/1LAyGcokNfYdBAvVYvYR3DpauW6tzRu07
c+bOE1jKRvPG+8od8ZZFMwKNUPf0UGggo5nG6mWnsnupzinBt2Q7vlbr/yvaE27N9TP/ebJf2mQj
0XuIzmUqMHC1ewFZbW+E5bxekXWV9n3WbieW9xRIsEoyMRRqubyKrHuW2RLEmcT5+HZT9R2+A4pM
Y8qH30Eui2/ovY2XkMOmY3fpVNJG6VA2VjPyTN7t5c3p/PIzWAOlu1jr90yaJxa6FtC8PIru40m2
hXWpDeplhHHKBWpaOuQG/ABQSwMEFAACAAgAIn//QFh3W9G6AwAApEYAACUAHAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9lcnJvcl9sb2cudHh0VVQJAANPABhQPwAYUHV4CwABBOgDAAAE6AMAAO2c
XW/aSBSG7/sr5nJX6vgLSAjSqqoS0rBKIFqotFKC0GAf42nsGWs+Avn3O3agLWzSpErSEnLExWAz
Pn6f8w72GWN8MbJA/rY5aYQkbHVae53mPomCMBqTizlTYkx6gpsOGYLWXApyyOIMCNdESENiKVI+
swoScpFxUXUbni571h3H7y5+EN+F4DGMycey6utHXuSFTfLH56kVxv5JCplMtM5X6wclCBfeD7wD
r31Fzk/O/ZbX8CIa2nqDphfukzk3GRnaTGou6Dkzcfa9SEqJAm0LLmZOvypYTmQJihmnV98htRWs
pIJSUrk2zjkIQ8Jo3wvcKxyTY54DSSTcZgQWXLs0+IUw/owbfw7TK25onClZcFtQmGv/lN1Ia0ag
jfYzY0rf1G9ZWcZ1HpxEaVUM2q/CUheW1mHp5SIJLhcHqWvDy0U7uF2ewrKNlm1r43O2bIP3jj4F
BapDqv12fP8rR6cdBME3CfGN4nnOY2oV9zJT5FuYnNFJbzg57p12J0eD7nDSH4wm3X97w5FXMMFT
t9Vr0vxFP96c78ZHtYUb2BSuHYSmCeRggM4zh0AV4+5LMKOGF6BoiDbugo3Rdtn4esx7FsseYxQa
hAahQY806F4vwocJXQFI+nUF2SHks3CRuXA1HnfvFh1X9RUug9Xicx30U8ZzKgW1ZcLcmIq8MiuJ
q4hzt1sSHiAFUjyJAhmQ4Q0xfJMuwMyluqKaFzZnRqp19a32408vKcvzKYuvnnJe+XUTeuRCLvz2
ITVSIzVSIzVSIzVSIzVSIzVSIzVSIzVSIzVSI/XvvAqaSgV8JuhXnavfpjeuj9b6fwJ7Myzi34kf
7eKYLxgXdBWZZkxnu8B/l/zGLton07TaiLLYBb7/No4GWrct1j0Q60PJTPbXXYe/datpqlgBaDjK
R/kb8psoH+W/Ufmt31yiL2to4c5NumSuohRS1Luobp1f9fuJ8kbUp7xVWJqzG1A/und4+/hvXcSE
vKKEbP09g8iADMiADMjwJhiuQVX/5IaErq54rnFE7RfhOBmNzie948nZ4Kh33OseTYa9/mH3GbGs
qNewafWfsOXaNbCDF+XqD/rdydnH0eHJ62falTGHHMixwxx723VM3mTS5iYHnQGYRtBcw9l7cEK2
fF4FEzHkNLHqdjZ3zXKe1I/1oNrGMUACyb0zsydnR9tpwc3TslFKbZzwhCuIDZ3Buq1h80WEuwWu
s5cU3gz/J3y/EzQ2nwATMzvLDBn2Po26/5y9JzqzppqYk0TOxbv/AFBLAwQKAAAAAAAYf/9AAAAA
AAAAAAAAAAAAQwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3B5d2Vic29ja2V0LndzLmxvZy0z
MUp1bDIwMTItMTU1NjQ4LW91dC50eHRVVAkAA0AAGFBAABhQdXgLAAEE6AMAAAToAwAAUEsDBBQA
AgAIACB//0CX+Z88AgIAAAcJAAAmABwAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvdGVzdHNfcnVu
MC50eHRVVAkAA0sAGFBBABhQdXgLAAEE6AMAAAToAwAApZbRcqMwDEXf91/UTPtHii1AU2N7ZEGa
v1+ZQCbbFIfZPmWCzxXytSQzqOaTUtFywpwduoFO6ByVAjMjCHkWcvqWh/xn+IF1gmWAy0ARIs7c
o3LsAS94Ba0Pz+g+3wYdw46aPEVlDDBJaHBX4RDYGcX7lKeOxCICzRa0gKdASpYcBwJBLjU15ZHk
dzEOq1tgUUlXIzvBkVqg1l8P/Arkzt5tb4Uk3HOEESN3xhyRFPvbDl7wHMg3iOSmsYa6CJtflQOz
bnn08V+yfRGNWa8H9tchB0gRpuzRgn8cJVtcCO2K7pIQ9xFekxwLif7r1IV1uG+slfBL8b40JGft
5lLUpskjWg0JlTSJs4OxLm+xa8Y1qulqn7EWCt0BTUZpN9Wd3IZRy5gn+AC6GHcrqs7afF/xfcLd
psKyBqhaQ4C5liX15lyj/VPXBY4mWiZtg4sLthUTBLySNM1aFZaZUuBWHWxZ2qFNVguNmSgUEvrW
+pjm1YcWtdbSkWN8gvfRwmNuHZqmfBuy8L4PrSPixRZm9pT2l++mW0UF71Aanl0kWRUVGxWokzSH
0zd0H/waBLb5sxn4RK8XKkZHAfxUqwnq+KtJLJf5IYXQjIHNM7apWSYrY7vI/Y40p8fm7enpa+IB
W3rR3a68Mp23bZSfJcUONxv5mM5OEg/BgL4yyy33tSb+AlBLAwQUAAIACAAsf/9AKR8PNuokAAA8
nQAAJAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3Jlc3VsdHMuaHRtbFVUCQADYwAYUGMAGFB1
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
tgxYh1QeZ8XF5++Fm0gYQuczflrazzuUV+ZIprCXrV9m65fiGIk7ay3PauLZDtdbShUIrqWuVbiL
s6s8/ybvlEkhl0oKVyxe98geotRFgOeSkqc7NAdktLA2j1kkSj4g816WsG4e+jd0l+YlVh/evusx
Nwa24jUBTDUve8GyiLGUmwf/xtxVtNkcVHr58Q9QSwMECgAAAAAAG3//QAAAAAAAAAAAAAAAAB8A
HAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jYW52YXMvVVQJAANFABhQZAAYUHV4CwABBOgDAAAE
6AMAAFBLAwQKAAAAAAAbf/9AAAAAAAAAAAAAAAAAJgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2NhbnZhcy9waGlsaXAvVVQJAANFABhQZAAYUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAAhf/9A
AAAAAAAAAAAAAAAALAAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NhbnZhcy9waGlsaXAvdGVz
dHMvVVQJAANOABhQZAAYUHV4CwABBOgDAAAE6AMAAFBLAwQUAAIACAAcf/9A9vlcxfoCAACdBwAA
WgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9z
aXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1vdXQtc3RkZXJyLnR4dFVUCQADSAAYUEgAGFB1eAsAAQTo
AwAABOgDAACdlUtT2zAQgM/kV/gItzh++wZJUzKFliGZ4dDhIEurRIMtubIMSX99147lOBBK6Uxm
nF3ttw9ptSprDc6z0KYmuVOA2SjmUJLnwEYGdCEkMdApnBeBy7VxiHQINeIZHNhSKI1QcnSWkQrS
lEFWr9N0aQh9WmlCYfj//ML5Od6GcUxceLTEOZFK7gpVV44kBVQlGl501KwuyqVYS5JfE8ly0J2H
yIuTBD2MtxEHDl4EMeHjYzkKhjIN6GHdHycQ02AoU8rDI5lNvKHMAs5HZw+QTZXGpBcFWcONIgx0
mmqQ+G1V91CpWttK+cSDJHt8j6tLhps716r4kkMB0lgq9Lk7pK5Xtzct2dmlaUl0BZfGaJHVpotG
mBu4R9zS7PDYeohY++mGyDWwbjMnDH9D7DiKXoLpI1V7JuC+O45fpzhVsjK6pk0/LIVBLdWAFTZr
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
A1BLAwQUAAIACAAgf/9AltwW0v8CAAA+BwAAUgAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2Nh
bnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWluLXN0ZGVyci50eHRV
VAkAA0sAGFBLABhQdXgLAAEE6AMAAAToAwAAlZXLbts6EIbXzVNo2e4k665dax+fBkjaIHaRRVEU
I3JoE5FIHYps7D59R4qkSrmcooABm8P/+0kOh+PGGfR+SGMdVF6N9qi5x6CqkF9YNLVUYHEIeA+S
pp31QHnArPyBHp4YNlZqdfGmhBaLgmPpDkWxs8Du9wYYzn+/fed99U9JlkGA30biLSitzrV2raeg
xrYh4buB2ri62cmDguojKF6hGRzSMMtzcvBPqQhEyoO8BOEvx2k8H4uYzeYhDjI2m4dIMJEsxnwV
zvV+LMTFmzss19rQpi9rOOCVBo6mKAwq+u5Dt9hqZ8aTilWIefntNc41nJK7Nbr+p8IalR2pJBLB
nPq4v77qyUFXFA2YFt9ba2Tp7LAa8CAOFtzOnunaJghG/foI6oB8SOaK02eOLVcxO7TTSu0jE4so
8LOnW1xr1VrjWFcPO2kpygzSCbu5xQnpcphI/4xLRcvbHVZiXelWqsMLThlmzzayN4gfnKz6LDdG
M2xbqidj93DYanOpPmh+HgySOMX0bwxGLglD+F+Ojefpot0tv7e6lmyv71GNJhmLyr8zWeJYPtv7
RjPXJeimvzzaPr2hHpI/x/dTRrBK8j+B0DRU2BORpIvjbpBpjnwDFp6ConLt8ZEL0jT3s2gBDuo7
Q3dM6mkN4VNn4C9JxwcjpJLtEXk3pmoYMZ8ni7K/BqnGhziiXPJtTy/ZVZaEjNgHLO+l/X6oHPFk
9OX26pG8rJuqKKg0LZ7oRXxWa00RtMhv8T+H7VCHQQLJquwS9Eo7G9Q3Rp/ORfFJWynOr1ilIY/z
kKyuqer6dqEbMnBqD+398GaTNEjxqWSDAs1nQ8obSiodcgFkZfkM0Hfa/FYgy6auPOhuqHj+rWTZ
r39H7X8j6USWHadWnIV5Fr+w2UvKmKHGPbpTl4knd5qfhFNLB85f8Bn5AHt+T3naHbGiS3kAabvh
dqiKR2UU8jx+ojRObWWF+ynHUViKPCERzcyiAfP7xNdUQEMgZjj/n8kSFvFuHAXlKsovfgFQSwME
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
3QPSTzzQDzdkYWd871Y7Z/Ks+xMFjmV1kxc2u6noK/3cAdNFzN9RV+Qu5esxXiHLRdTWw8OczvLZ
/1we//un46vrmw/H1z9eHP3d/Of15cHhcXvgJYAHz83I/HTyS2/xVk+Cec4vvpGFN15S4h+uzhps
vh93Gib+H1BLAwQKAAAAAAAcf/9AAAAAAAAAAAAAAAAAHQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2h0dHAvVVQJAANIABhQZAAYUHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAAcf/9AAAAAAAAA
AAAAAAAAIwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvVVQJAANIABhQZAAY
UHV4CwABBOgDAAAE6AMAAFBLAwQKAAAAAAAcf/9AAAAAAAAAAAAAAAAAKQAcAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvVVQJAANIABhQZAAYUHV4CwABBOgDAAAE6AMA
AFBLAwQUAAIACAAcf/9A/sGlHUABAABaAgAARQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0
dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtYWN0dWFsLnR4dFVUCQADSAAYUEgAGFB1
eAsAAQToAwAABOgDAACN0V1LwzAUBuD7/YrDvJjC6LKPfjAQYTpQUQY6FK8kTU7XuJiMJF1bh//d
zFmHwmBXIYfnPTlJJK3RAHVwSrrkDKz4QEgIqSJCWgAPqDiaJ4HlASKPiE+kZkvYXM/v7z4P0l+s
eQ2byezqZWeTbvJj42RUhcno2zZ6jpWDzYnzy//WcRxV/bjhAFsDplB7Vgru8q0bQ/vGdSystLUi
lQiZ9ncCWzCG1maFBINrKgWnTmgFTgOjhUXANSpnt/tMGARbK5YbrXRhZR3As6/kupBcdRwwQ20O
IgOtEHQGLtf7BtbplW+TY/vQtP0wbOYdRsTPKzXlATwiQu7cyo57vbRY2KDEdClcoM2i588uX30x
YAtxIfh5PIijQQDtY9+PVOQPnb6nyDnyWfqGzIdmk9vp5XyX8jN1B01w6P+0H5LWF1BLAwQKAAIA
AAAcf/9AnOmndQYAAAAGAAAARwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMv
Y2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtZXhwZWN0ZWQudHh0VVQJAANIABhQSAAYUHV4CwABBOgD
AAAE6AMAAFBBU1MKClBLAwQUAAIACAAcf/9AVzVCW5kBAAAXAwAAQwAcAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtZGlmZi50eHRVVAkA
A0gAGFBIABhQdXgLAAEE6AMAAAToAwAApZJRb9MwEMff8ylO5WGgxInTrU00CVEKkwAxFdEKxBNy
7Etj5sVVfF5Tqn13HEo3gVRpEk+2z7/7+3/nY4xBRrebzIid9cQIHbEOnTfksoZokw0Rl0khG8w2
9vet0h1KYmskhv0mbFGl1BNEcRz/l5qQ5IU5aM1mwPJkDHGe5Bxms4h9er1cRiyKgzh2IAie84S/
AKd/IpSc91POoxjgM7YKuy8at6eYJwnMjZU3sH+3uv54f5p9oK3awX6+ePvtAJdJ+Qcuyot+Ul4c
4CO+wlDi/hmF5V/xopj2efHAAwwQdL595LZaUTOAlzB6T2cOQiedrgxCbUNd4LyU6FztDXR4J4xW
grRtgSxI4R0C3mFLbjjXofngdq1sOtta78wuha8h0lhvVHtGIDvhGtA12BbB1kCNfRRwZDdBpsHR
Sbv5ZHI0fD7lwbCxQqWwRIRhINxlllV+7dItVjeaUtuts/D49nsIpnKtX2n1shgX03EKoye3kPf8
b/bqtkKlUC2qH2HUYL+Yf7h6szqkBVfJ+Jh5Hn42n/DoF1BLAwQUAAIACAAcf/9AucePJtsfAACo
KwAARQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRp
cmVjdC1nZXQtYWN0dWFsLnBuZ1VUCQADSAAYUEgAGFB1eAsAAQToAwAABOgDAADtemlUk1e7dqy1
tqLQVsUKIm0FURCwMgkIsUXlDQgUGYIgREXEMMqUgCFgVUoLKhoFZAg4MAgxRIYQwhQnQEBBEyJD
GGQIyJAwB0hIcu6073nX+db6fpzfZzULFivJfp699z1cw37481dH200b1DYgEIhNqH8dOYFArP0e
gfjM48vP4JOtW7bqwJ+9kUc9In0v+PkGRkQFI0yMzpz13W9uZGR80MjP9yejs+dMDhif9/M1NTI3
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
IDQnugie05+Xi0XgQvFVK3hONW/RAffwgfXZKZD6i5Ay1owZOwK4QSPR3SrcHEDeI59pK9awvV7+
+P54EH2GrWxhO5t/+bVj0376xCbpeTNKz/+ze3qJjYftsQ/DW+skGTeDZI8DdAy42rxgGyV92XET
6H31JwSVJVK5RihsOBNQLQQSFbUGhw9cK8m9sga8BcFrQsAHNJ66daEcArVGlM4aW5NuI7gLldLW
WpoTD8JxKkEVYA2CLcCX9sWAvK2CTYm9Q2kHo9E+79mYhbzachnBAhFK7yuaxHFeryjaYL5WPrJu
FYe9N79DMRIr9UnJi2SYjIcR9N57f6xhr9CrPzlKiXKe36MIovns29Xn5U4VMvWHe+FZeNPBiD39
t6Ms7n7kP1BLAwQKAAIAAAAcf/9AnOmndQYAAAAGAAAAUwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtZXhwZWN0
ZWQudHh0VVQJAANIABhQSAAYUHV4CwABBOgDAAAE6AMAAFBBU1MKClBLAwQUAAIACAAcf/9A1fYd
YpAIAAAbHwAAVwAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9z
dC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtcHJldHR5LWRpZmYuaHRtbFVUCQADSAAYUEgAGFB1
eAsAAQToAwAABOgDAADVWWtv20YW/e5fMbCRui1MirIkW4/EReMHukW7KdbBLvaTMSSH4sQkR50Z
2lKy/e9750WRFCm52ADuNmhEzuPOue8zzNtU5tnV0duU4Bh+hNxk5OpontHi8QzNn6igksToyxGC
/yRZSy8mEeNYUlbMUcEKstBTIeMx4V7IpGT5HA1XaxTDM4kXR38cGXFWSMQyxufoJBjN9Jx/RzNy
Q5PEzoc4elxyVhax55YmU/WnfpA5QbCMxugkjmMzl7BCegnOabaZo5wVTKxwZAHmmC8pQB6SHAVm
aMVAOa0HJxlo9EQ0oHTYQjoajTrkC1wITxBOk9qkoJ+JPqN+qJeRRM5R4E/ceEzFKsMgROIwI15E
ssxMPNNYpiAgCN5YjDiOabGsdht81j3qqekhC5kWKQCT1fKUPRHe0moymSz6DE6IMYWv/PILnCXs
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
//Pt9UejCzjy7NypM4IyO5wEB2lGjTwrUqKn62u3P5qnAnHU/yb+X1BLAwQUAAIACAAcf/9AjaV8
io8BAADoAgAAUQAcAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9z
dC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtd2RpZmYuaHRtbFVUCQADSAAYUEgAGFB1eAsAAQTo
AwAABOgDAACNkl9P2zAUxd/5FFflgSFViVtoE3WhE92Q2LSpE61Ae5oc+6Yx9ezI16HJKr77nJWC
QKrEk+17f+f4+E9WIpfTjHyrcRpJ1LCFnIv1ytnayAkcF5x/hEeIuJRvW7zoWlm8E2fxzqpyYU4V
NyA0J7oIntOfl4tF4ELxVSt4TjVv0QH38IH12SmQ+ouQMtaMGTsCuEEj0d0q3BxA3iOfaSvWsL1e
/vj+eBB9hq1sYTubf/m1Y9N++sQm6XkzSs//s3t6iY2H7bEPw1vrJBk3g2SPA3QMuNq8YBslfdlx
E+h99ScElSVSuUYobDgTUC0EEhW1BocPXCvJvbIGvAXBa0LABzSeunWhHAK1RpTOGluTbiO4C5XS
1lqaEw/CcSpBFWANgi3Al/bFgLytgk2JvUNpB6PRPu/ZmIW82nIZwQIRSu8rmsRxXq8o2mC+Vj6y
bhWHvTe/QzESK/VJyYtkmIyHEfTee3+sYa/Qqz85Solynt+jCKL57NvV5+VOFTL1h3vhWXjTwYg9
/bejLO5+5D9QSwMEFAACAAgAHH//QLnHjybbHwAAqCsAAFEAHAB0bXAvbGF5b3V0LXRlc3QtcmVz
dWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWFjdHVh
bC5wbmdVVAkAA0gAGFBIABhQdXgLAAEE6AMAAAToAwAA7XppVJNXu3astbai0FbFCiJtBVEQsDIJ
CLFF5Q0IFBmCIERFxDDKlIAhYFVKCyoaBWQIODAIMUSGEMIUJ0BAQRMiQxhkCMiQMAdISHLutO95
1/nW+n6c32c1CxYryX6evfc9XMN++PNXR9tNG9Q2IBCITah/HTmBQKz9HoH4zOPLz+CTrVu26sCf
vZFHPSJ9L/j5BkZEBSNMjM6c9d1vbmRkfNDIz/cno7PnTA4Yn/fzNTUyN/b1O2AU8YM6E4H4HoE6
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
X3J1bjIudHh0VVQFAANPABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgAAAAAAGH//QAAAAAAAAAAA
AAAAAEMAGAAAAAAAAAAAAKSBqwYAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL3B5d2Vic29ja2V0
LndzLmxvZy0zMUp1bDIwMTItMTU1NjQ4LWVyci50eHRVVAUAA0AAGFB1eAsAAQToAwAABOgDAABQ
SwECHgMKAAAAAAAaf/9AAAAAAAAAAAAAAAAAJgAYAAAAAAAAABAA7UEoBwAAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvYWNjZXNzaWJpbGl0eS9VVAUAA0QAGFB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACAAZf/9AzZri/EwCAABpBQAAWgAYAAAAAAABAAAApIGIBwAAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvYWNjZXNzaWJpbGl0eS9jb250ZW50LWNoYW5nZWQtbm90aWZpY2F0aW9uLWNhdXNlcy1j
cmFzaC1zdGRlcnIudHh0VVQFAANCABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAGX//QNGW
y0yGAgAAmwYAAF0AGAAAAAAAAQAAAKSBaAoAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2FjY2Vz
c2liaWxpdHkvY29udGVudC1jaGFuZ2VkLW5vdGlmaWNhdGlvbi1jYXVzZXMtY3Jhc2gtY3Jhc2gt
bG9nLnR4dFVUBQADQgAYUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABp//0DWiVwJ/AIAAD4H
AABMABgAAAAAAAEAAACkgYUNAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9hY2Nlc3NpYmlsaXR5
L2ltZy1hbHQtdGFnLW9ubHktd2hpdGVzcGFjZS1zdGRlcnIudHh0VVQFAANDABhQdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgAGn//QITdEpA7AwAAPwkAAEoAGAAAAAAAAQAAAKSBBxEAAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2FjY2Vzc2liaWxpdHkvaW1hZ2UtbGluay1pbmxpbmUtY29udC1j
cmFzaC1sb2cudHh0VVQFAANDABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAGn//QFOFRbb7
AgAAnQcAAEcAGAAAAAAAAQAAAKSBxhQAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2FjY2Vzc2li
aWxpdHkvaW1hZ2UtbGluay1pbmxpbmUtY29udC1zdGRlcnIudHh0VVQFAANDABhQdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgAGn//QIWIKCt1AAAAjwAAAFIAGAAAAAAAAQAAAKSBQhgAAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2FjY2Vzc2liaWxpdHkvbG9hZGluZy1pZnJhbWUtc2VuZHMtbm90
aWZpY2F0aW9uLXN0ZGVyci50eHRVVAUAA0QAGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAa
f/9A9HRAkTwDAADQCAAATwAYAAAAAAABAAAApIFDGQAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
YWNjZXNzaWJpbGl0eS9pbWctYWx0LXRhZy1vbmx5LXdoaXRlc3BhY2UtY3Jhc2gtbG9nLnR4dFVU
BQADQwAYUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABp//0CCkLscpgAAAOkAAABVABgAAAAA
AAEAAACkgQgdAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9hY2Nlc3NpYmlsaXR5L2xvYWRpbmct
aWZyYW1lLXNlbmRzLW5vdGlmaWNhdGlvbi1jcmFzaC1sb2cudHh0VVQFAANEABhQdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgAIX//QO+JPLP1CQAAbYwAACYAGAAAAAAAAQAAAKSBPR4AAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2FjY2Vzc19sb2cudHh0VVQFAANOABhQdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgAIn//QNw7pCqmAQAAgQUAACYAGAAAAAAAAQAAAKSBkigAAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL3Rlc3RzX3J1bjMudHh0VVQFAANPABhQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAIn//QFh3W9G6AwAApEYAACUAGAAAAAAAAQAAAKSBmCoAAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2Vycm9yX2xvZy50eHRVVAUAA08AGFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAY
f/9AAAAAAAAAAAAAAAAAQwAYAAAAAAAAAAAApIGxLgAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMv
cHl3ZWJzb2NrZXQud3MubG9nLTMxSnVsMjAxMi0xNTU2NDgtb3V0LnR4dFVUBQADQAAYUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIACB//0CX+Z88AgIAAAcJAAAmABgAAAAAAAEAAACkgS4vAAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy90ZXN0c19ydW4wLnR4dFVUBQADSwAYUHV4CwABBOgDAAAE
6AMAAFBLAQIeAxQAAgAIACx//0ApHw826iQAADydAAAkABgAAAAAAAEAAACkgZAxAAB0bXAvbGF5
b3V0LXRlc3QtcmVzdWx0cy9yZXN1bHRzLmh0bWxVVAUAA2MAGFB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACAAkf/9AgTok6WQCAABPDAAAKQAYAAAAAAABAAAApIHYVgAAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvZnVsbF9yZXN1bHRzLmpzb25VVAUAA1MAGFB1eAsAAQToAwAABOgDAABQSwECHgMK
AAAAAAAbf/9AAAAAAAAAAAAAAAAAHwAYAAAAAAAAABAA7UGfWQAAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvY2FudmFzL1VUBQADRQAYUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAABt//0AAAAAA
AAAAAAAAAAAmABgAAAAAAAAAEADtQfhZAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jYW52YXMv
cGhpbGlwL1VUBQADRQAYUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAAAAACF//0AAAAAAAAAAAAAA
AAAsABgAAAAAAAAAEADtQVhaAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jYW52YXMvcGhpbGlw
L3Rlc3RzL1VUBQADTgAYUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABx//0D2+VzF+gIAAJ0H
AABaABgAAAAAAAEAAACkgb5aAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jYW52YXMvcGhpbGlw
L3Rlc3RzLzJkLmNvbXBvc2l0ZS5jYW52YXMuZGVzdGluYXRpb24tb3V0LXN0ZGVyci50eHRVVAUA
A0gAGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAhf/9A1tiAQToDAADQCAAAVAAYAAAAAAAB
AAAApIFMXgAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5j
b21wb3NpdGUuaW1hZ2UubGlnaHRlci1jcmFzaC1sb2cudHh0VVQFAANOABhQdXgLAAEE6AMAAATo
AwAAUEsBAh4DFAACAAgAHX//QMDuIF38AgAAPgcAAFgAGAAAAAAAAQAAAKSBFGIAAHRtcC9sYXlv
dXQtdGVzdC1yZXN1bHRzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNsaXAuZGVz
dGluYXRpb24tb3V0LXN0ZGVyci50eHRVVAUAA0oAGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CAAhf/9AkcCMdjoDAADQCAAAXQAYAAAAAAABAAAApIGiZQAAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tYXRv
cC1jcmFzaC1sb2cudHh0VVQFAANNABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAG3//QG1/
SPP+AgAAPgcAAEgAGAAAAAAAAQAAAKSBc2kAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NhbnZh
cy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0LmNsaXAtc3RkZXJyLnR4dFVUBQADRQAYUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIACF//0Cf7Ea6/QIAAD4HAABVABgAAAAAAAEAAACkgfNsAAB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5p
bWFnZS5zb3VyY2Utb3Zlci1zdGRlcnIudHh0VVQFAANOABhQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAIH//QOp3ovM8AwAA0AgAAFUAGAAAAAAAAQAAAKSBf3AAAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLWluLWNy
YXNoLWxvZy50eHRVVAUAA0sAGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAdf/9AW5BY6foC
AACdBwAAVgAYAAAAAAABAAAApIFKdAAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY2FudmFzL3Bo
aWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1vdmVyLXN0ZGVyci50eHRVVAUA
A0kAGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAgf/9AebvCEzkDAADQCAAAVwAYAAAAAAAB
AAAApIHUdwAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5j
b21wb3NpdGUuZ2xvYmFsQWxwaGEuZmlsbC1jcmFzaC1sb2cudHh0VVQFAANMABhQdXgLAAEE6AMA
AAToAwAAUEsBAh4DFAACAAgAHX//QPc/u207AwAA0AgAAFMAGAAAAAAAAQAAAKSBnnsAAHRtcC9s
YXlvdXQtdGVzdC1yZXN1bHRzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNsaXAu
bGlnaHRlci1jcmFzaC1sb2cudHh0VVQFAANKABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgA
IH//QN7+3bX9AgAAPgcAAFYAGAAAAAAAAQAAAKSBZn8AAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRz
L2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmdsb2JhbEFscGhhLmNhbnZhcy1zdGRl
cnIudHh0VVQFAANLABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAHX//QARYqRwpAwAA2gcA
AFkAGAAAAAAAAQAAAKSB84IAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NhbnZhcy9waGlsaXAv
dGVzdHMvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tYXRvcC1zdGRlcnIudHh0VVQFAANJ
ABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAHH//QDfADDD6AgAAnQcAAFsAGAAAAAAAAQAA
AKSBr4YAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29t
cG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLXN0ZGVyci50eHRVVAUAA0cAGFB1eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACAAcf/9AIafFNjgDAAA/CQAAVwAYAAAAAAABAAAApIE+igAAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2Fu
dmFzLnNvdXJjZS1pbi1jcmFzaC1sb2cudHh0VVQFAANIABhQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAIX//QKK/OnI7AwAA0AgAAFgAGAAAAAAAAQAAAKSBB44AAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmltYWdlLnNvdXJjZS1vdmVy
LWNyYXNoLWxvZy50eHRVVAUAA04AGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAcf/9A8AM0
3PsCAACdBwAAVAAYAAAAAAABAAAApIHUkQAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLnNvdXJjZS1pbi1zdGRlcnIudHh0VVQF
AANIABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAIH//QH+5iV47AwAA0AgAAF8AGAAAAAAA
AQAAAKSBXZUAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQu
Y29tcG9zaXRlLmdsb2JhbEFscGhhLmltYWdlcGF0dGVybi1jcmFzaC1sb2cudHh0VVQFAANMABhQ
dXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAIH//QJbcFtL/AgAAPgcAAFIAGAAAAAAAAQAAAKSB
MZkAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9z
aXRlLmNsaXAuc291cmNlLWluLXN0ZGVyci50eHRVVAUAA0sAGFB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACAAbf/9AkG7UWf0CAAA+BwAASAAYAAAAAAABAAAApIG8nAAAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QucGF0aC1zdGRlcnIudHh0
VVQFAANGABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAHH//QCMKMI45AwAAPwkAAF4AGAAA
AAAAAQAAAKSBO6AAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NhbnZhcy9waGlsaXAvdGVzdHMv
MmQuY29tcG9zaXRlLmNhbnZhcy5kZXN0aW5hdGlvbi1hdG9wLWNyYXNoLWxvZy50eHRVVAUAA0cA
GFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAhf/9AvXFoPjsDAADQCAAAVgAYAAAAAAABAAAA
pIEMpAAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21w
b3NpdGUuaW1hZ2Uuc291cmNlLWluLWNyYXNoLWxvZy50eHRVVAUAA04AGFB1eAsAAQToAwAABOgD
AABQSwECHgMUAAIACAAdf/9A5YHoUmYDAACUCQAAXAAYAAAAAAABAAAApIHXpwAAdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2xpcC5kZXN0
aW5hdGlvbi1hdG9wLWNyYXNoLWxvZy50eHRVVAUAA0kAGFB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACAAbf/9AnREgHTcDAAA/CQAAVgAYAAAAAAABAAAApIHTqwAAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QrZmlsbFJlY3QuYWxwaGEwLWNy
YXNoLWxvZy50eHRVVAUAA0UAGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAbf/9AM2mgkToD
AADQCAAAVgAYAAAAAAABAAAApIGarwAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY2FudmFzL3Bo
aWxpcC90ZXN0cy8yZC5jbGVhclJlY3QuZ2xvYmFsY29tcG9zaXRlLWNyYXNoLWxvZy50eHRVVAUA
A0YAGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAdf/9A7CEjgvwCAAA+BwAAUAAYAAAAAAAB
AAAApIFkswAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5j
b21wb3NpdGUuY2xpcC5saWdodGVyLXN0ZGVyci50eHRVVAUAA0oAGFB1eAsAAQToAwAABOgDAABQ
SwECHgMUAAIACAAcf/9AcjF/njoDAADQCAAASwAYAAAAAAABAAAApIHqtgAAdG1wL2xheW91dC10
ZXN0LXJlc3VsdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QuemVyby1jcmFzaC1s
b2cudHh0VVQFAANHABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAIH//QFPXw908AwAA0AgA
AFcAGAAAAAAAAQAAAKSBqboAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NhbnZhcy9waGlsaXAv
dGVzdHMvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW92ZXItY3Jhc2gtbG9nLnR4dFVUBQADSwAY
UHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIACF//0C/7CCK/AIAAD4HAABRABgAAAAAAAEAAACk
gXa+AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBv
c2l0ZS5pbWFnZS5saWdodGVyLXN0ZGVyci50eHRVVAUAA04AGFB1eAsAAQToAwAABOgDAABQSwEC
HgMUAAIACAAgf/9Apx+c/zkDAADQCAAAWQAYAAAAAAABAAAApIH9wQAAdG1wL2xheW91dC10ZXN0
LXJlc3VsdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuZ2xvYmFsQWxwaGEuY2Fu
dmFzLWNyYXNoLWxvZy50eHRVVAUAA0sAGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAcf/9A
wFG3ePsCAACdBwAAUgAYAAAAAAABAAAApIHJxQAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY2Fu
dmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLmxpZ2h0ZXItc3RkZXJyLnR4dFVU
BQADSAAYUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIACB//0A6xWcq/QIAAD4HAABcABgAAAAA
AAEAAACkgVDJAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJk
LmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5pbWFnZXBhdHRlcm4tc3RkZXJyLnR4dFVUBQADTAAYUHV4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABx//0DF2Be+OgMAAD8JAABVABgAAAAAAAEAAACkgePM
AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0
ZS5jYW52YXMubGlnaHRlci1jcmFzaC1sb2cudHh0VVQFAANIABhQdXgLAAEE6AMAAAToAwAAUEsB
Ah4DFAACAAgAIH//QLZlg/r8AgAAPgcAAFQAGAAAAAAAAQAAAKSBrNAAAHRtcC9sYXlvdXQtdGVz
dC1yZXN1bHRzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNsaXAuc291cmNlLW92
ZXItc3RkZXJyLnR4dFVUBQADSwAYUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIACB//0BAYFQw
/AIAAD4HAABUABgAAAAAAAEAAACkgTbUAAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jYW52YXMv
cGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0ZS5nbG9iYWxBbHBoYS5maWxsLXN0ZGVyci50eHRVVAUA
A0wAGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAcf/9AWHFIdfsCAAA+BwAASAAYAAAAAAAB
AAAApIHA1wAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5j
bGVhclJlY3QuemVyby1zdGRlcnIudHh0VVQFAANHABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAAC
AAgAHX//QHTQssU6AwAA0AgAAFsAGAAAAAAAAQAAAKSBPdsAAHRtcC9sYXlvdXQtdGVzdC1yZXN1
bHRzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY29tcG9zaXRlLmNsaXAuZGVzdGluYXRpb24tb3V0
LWNyYXNoLWxvZy50eHRVVAUAA0oAGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAbf/9AobQm
RfwCAAA+BwAAUwAYAAAAAAABAAAApIEM3wAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY2FudmFz
L3BoaWxpcC90ZXN0cy8yZC5jbGVhclJlY3QuZ2xvYmFsY29tcG9zaXRlLXN0ZGVyci50eHRVVAUA
A0YAGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAhf/9ATN84EvwCAAA+BwAAWQAYAAAAAAAB
AAAApIGV4gAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5j
b21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tb3V0LXN0ZGVyci50eHRVVAUAA00AGFB1eAsAAQTo
AwAABOgDAABQSwECHgMUAAIACAAhf/9Ajoq7F/0CAAA+BwAAUwAYAAAAAAABAAAApIEk5gAAdG1w
L2xheW91dC10ZXN0LXJlc3VsdHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuaW1h
Z2Uuc291cmNlLWluLXN0ZGVyci50eHRVVAUAA04AGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIA
CAAcf/9A1N0cpDgDAAA/CQAAXQAYAAAAAAABAAAApIGu6QAAdG1wL2xheW91dC10ZXN0LXJlc3Vs
dHMvY2FudmFzL3BoaWxpcC90ZXN0cy8yZC5jb21wb3NpdGUuY2FudmFzLmRlc3RpbmF0aW9uLW91
dC1jcmFzaC1sb2cudHh0VVQFAANIABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAG3//QLif
e108AwAA0AgAAEsAGAAAAAAAAQAAAKSBfe0AAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NhbnZh
cy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0LmNsaXAtY3Jhc2gtbG9nLnR4dFVUBQADRQAYUHV4
CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIAB1//0Al+/NJOgMAAD8JAABZABgAAAAAAAEAAACkgT7x
AAB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNvbXBvc2l0
ZS5jYW52YXMuc291cmNlLW92ZXItY3Jhc2gtbG9nLnR4dFVUBQADSQAYUHV4CwABBOgDAAAE6AMA
AFBLAQIeAxQAAgAIABt//0DXKDMrOgMAANAIAABLABgAAAAAAAEAAACkgQv1AAB0bXAvbGF5b3V0
LXRlc3QtcmVzdWx0cy9jYW52YXMvcGhpbGlwL3Rlc3RzLzJkLmNsZWFyUmVjdC5wYXRoLWNyYXNo
LWxvZy50eHRVVAUAA0YAGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAhf/9A4lpkhv4CAAA+
BwAAWgAYAAAAAAABAAAApIHK+AAAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvY2FudmFzL3BoaWxp
cC90ZXN0cy8yZC5jb21wb3NpdGUuaW1hZ2UuZGVzdGluYXRpb24tYXRvcC1zdGRlcnIudHh0VVQF
AANNABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAIX//QHWlYy46AwAA0AgAAFwAGAAAAAAA
AQAAAKSBXPwAAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQu
Y29tcG9zaXRlLmltYWdlLmRlc3RpbmF0aW9uLW91dC1jcmFzaC1sb2cudHh0VVQFAANNABhQdXgL
AAEE6AMAAAToAwAAUEsBAh4DFAACAAgAG3//QELsuLD6AgAAnQcAAFMAGAAAAAAAAQAAAKSBLAAB
AHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2NhbnZhcy9waGlsaXAvdGVzdHMvMmQuY2xlYXJSZWN0
K2ZpbGxSZWN0LmFscGhhMC1zdGRlcnIudHh0VVQFAANFABhQdXgLAAEE6AMAAAToAwAAUEsBAh4D
FAACAAgAGH//QJHsZoEaJAAAb2EAACIAGAAAAAAAAQAAAKSBswMBAHRtcC9sYXlvdXQtdGVzdC1y
ZXN1bHRzL2h0dHBkLmNvbmZVVAUAAz8AGFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAcf/9A
AAAAAAAAAAAAAAAAHQAYAAAAAAAAABAA7UEpKAEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0
cC9VVAUAA0gAGFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAcf/9AAAAAAAAAAAAAAAAAIwAY
AAAAAAAAABAA7UGAKAEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9VVAUAA0gA
GFB1eAsAAQToAwAABOgDAABQSwECHgMKAAAAAAAcf/9AAAAAAAAAAAAAAAAAKQAYAAAAAAAAABAA
7UHdKAEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9VVAUAA0gAGFB1
eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAcf/9A/sGlHUABAABaAgAARQAYAAAAAAABAAAApIFA
KQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXJlZGlyZWN0
LWdldC1hY3R1YWwudHh0VVQFAANIABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DCgACAAAAHH//QJzp
p3UGAAAABgAAAEcAGAAAAAAAAQAAAKSB/yoBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAv
dGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtZXhwZWN0ZWQudHh0VVQFAANIABhQdXgLAAEE
6AMAAAToAwAAUEsBAh4DFAACAAgAHH//QFc1QluZAQAAFwMAAEMAGAAAAAAAAQAAAKSBhisBAHRt
cC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQt
ZGlmZi50eHRVVAUAA0gAGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAcf/9AucePJtsfAACo
KwAARQAYAAAAAAAAAAAApIGcLQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0cC90ZXN0cy9j
YWNoZS9wb3N0LXJlZGlyZWN0LWdldC1hY3R1YWwucG5nVVQFAANIABhQdXgLAAEE6AMAAAToAwAA
UEsBAh4DFAACAAgAHH//QI2lfIqPAQAA6AIAAEUAGAAAAAAAAQAAAKSB9k0BAHRtcC9sYXlvdXQt
dGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2FjaGUvcG9zdC1yZWRpcmVjdC1nZXQtd2RpZmYuaHRt
bFVUBQADSAAYUHV4CwABBOgDAAAE6AMAAFBLAQIeAwoAAgAAABx//0Cc6ad1BgAAAAYAAABTABgA
AAAAAAEAAACkgQRQAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bv
c3Qtd2l0aC1jYWNoZWQtc3VicmVzb3VyY2VzLWV4cGVjdGVkLnR4dFVUBQADSAAYUHV4CwABBOgD
AAAE6AMAAFBLAQIeAxQAAgAIABx//0DV9h1ikAgAABsfAABXABgAAAAAAAEAAACkgZdQAQB0bXAv
bGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3Qtd2l0aC1jYWNoZWQtc3Vi
cmVzb3VyY2VzLXByZXR0eS1kaWZmLmh0bWxVVAUAA0gAGFB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACAAcf/9AjaV8io8BAADoAgAAUQAYAAAAAAABAAAApIG4WQEAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy13ZGlm
Zi5odG1sVVQFAANIABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAHH//QLnHjybbHwAAqCsA
AFEAGAAAAAAAAAAAAKSB0lsBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2Fj
aGUvcG9zdC13aXRoLWNhY2hlZC1zdWJyZXNvdXJjZXMtYWN0dWFsLnBuZ1VUBQADSAAYUHV4CwAB
BOgDAAAE6AMAAFBLAQIeAxQAAgAIABx//0CcQo8tiQgAAA8fAABLABgAAAAAAAEAAACkgTh8AQB0
bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3Bvc3QtcmVkaXJlY3QtZ2V0
LXByZXR0eS1kaWZmLmh0bWxVVAUAA0gAGFB1eAsAAQToAwAABOgDAABQSwECHgMUAAIACAAcf/9A
2yiUA6EBAAAvAwAATwAYAAAAAAABAAAApIFGhQEAdG1wL2xheW91dC10ZXN0LXJlc3VsdHMvaHR0
cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1kaWZmLnR4dFVUBQAD
SAAYUHV4CwABBOgDAAAE6AMAAFBLAQIeAxQAAgAIABx//0CF+fAD8AEAALMEAABLABgAAAAAAAEA
AACkgXCHAQB0bXAvbGF5b3V0LXRlc3QtcmVzdWx0cy9odHRwL3Rlc3RzL2NhY2hlL3N0b3BwZWQt
cmV2YWxpZGF0aW9uLWNyYXNoLWxvZy50eHRVVAUAA0gAGFB1eAsAAQToAwAABOgDAABQSwECHgMU
AAIACAAcf/9A/sGlHUABAABaAgAAUQAYAAAAAAABAAAApIHliQEAdG1wL2xheW91dC10ZXN0LXJl
c3VsdHMvaHR0cC90ZXN0cy9jYWNoZS9wb3N0LXdpdGgtY2FjaGVkLXN1YnJlc291cmNlcy1hY3R1
YWwudHh0VVQFAANIABhQdXgLAAEE6AMAAAToAwAAUEsBAh4DFAACAAgAHH//QOih9Ie5AQAAuQMA
AEgAGAAAAAAAAQAAAKSBsIsBAHRtcC9sYXlvdXQtdGVzdC1yZXN1bHRzL2h0dHAvdGVzdHMvY2Fj
aGUvc3RvcHBlZC1yZXZhbGlkYXRpb24tc3RkZXJyLnR4dFVUBQADSAAYUHV4CwABBOgDAAAE6AMA
AFBLBQYAAAAAVwBXALwwAADrjQEAAAA=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155734</attachid>
            <date>2012-08-01 00:26:17 -0700</date>
            <delta_ts>2012-08-01 00:32:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92761-20120801092559.patch</filename>
            <type>text/plain</type>
            <size>25937</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGNlMjE4YjAyYzNjMmNh
N2I5YTMzZDliMWM2MjFjZGE4NTFhMWU3MS4uZGJlNzc5ZjdiMzlmMTg3NGY2ZDBkNjNiMDY1ZDcw
MGNjNjA3N2VjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA3LTMxICBKb2No
ZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBjYWxsYmFj
a3MgdG8gdGhlIEZyYW1lTG9hZGVyQ2xpZW50IGZvciB3aGVuIGEgcmVzb3VyY2UgcmVxdWVzdCBm
aW5pc2hlZCBmb3IgYSBzY3JpcHQgb3IgaW1hZ2UgZWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBjaHJvbWl1bSwgd2hlbiBhbiBleHRlbnNp
b24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrIHJlcXVlc3QgKHdoaWNoCisgICAgICAgIGhhcHBl
bnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8gbm90aWZ5IGNvbnRlbnQgc2NyaXB0cyBy
dW5uaW5nIG9uCisgICAgICAgIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQgd2hpY2ggZWxlbWVudHMg
ZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUKKyAgICAgICAgcmVxdWVzdHMgd2VyZSBjYW5jZWxs
ZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0IGp1c3QKKyAgICAgICAg
ZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBpdHNlbGYgZG9lcyBub3Qg
Y2FycnkgYW55CisgICAgICAgIGluZm9ybWF0aW9uIHdoYXQgRE9NIGVsZW1lbnQgaXMgd2FzIG1h
ZGUgZm9yLCBjdXJyZW50bHkgYSBjb250ZW50IHNjcmlwdAorICAgICAgICBoYXMgdG8gc2VhcmNo
IHRoZSBET00gdHJlZSBhbmQgZ3Vlc3Mgd2hpY2ggcmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQg
YnkKKyAgICAgICAgaXRzIGNvdW50ZXIgcGFydC4gQnkgYWRkaW5nIHRoZXNlIGNhbGxiYWNrcywg
dGhlIGVtYmVkZGVyIGNhbiBtYWtlIHRoaXMKKyAgICAgICAgY29ubmVjdGlvbiBleHBsaWN0ZWx5
LgorCisgICAgICAgIFRlc3RzOiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1s
b2FkLWNhbGxiYWNrcy5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L2xvYWRlci9zY3JpcHQtbG9hZC1jYWxsYmFja3MuaHRtbAorCisgICAgICAgICogZG9tL1BlbmRp
bmdTY3JpcHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ1NjcmlwdDo6bm90aWZ5Rmlu
aXNoZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdEVsZW1lbnQ6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBsb2FkZXIvRnJh
bWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRnJhbWVMb2Fk
ZXJDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNo
SW1hZ2VMb2FkRmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQ6
OmRpc3BhdGNoU2NyaXB0TG9hZEZpbmlzaGVkKToKKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToK
KwogMjAxMi0wNy0zMSAgUmF1bCBIdWRlYSAgPHJodWRlYUBhZG9iZS5jb20+CiAKICAgICAgICAg
SW5zcGVjdG9yIGNyYXNoZXMgd2hlbiB0cnlpbmcgdG8gaW5zcGVjdCBhIHBhZ2Ugd2l0aCBDU1Mg
cmVnaW9uIHN0eWxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNWQwNzgxN2YwYzFk
MmJkOWIzYTUwYTgxNzM4ODc3NmZmYjkyYTM1My4uMWU1MmJiNTMwMDBkMmIxMjM0MmE3NTRiYWFl
NTM5NzQwMzNlZTBmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBA
QAorMjAxMi0wNy0zMSAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBBZGQgY2FsbGJhY2tzIHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCBmb3Igd2hlbiBh
IHJlc291cmNlIHJlcXVlc3QgZmluaXNoZWQgZm9yIGEgc2NyaXB0IG9yIGltYWdlIGVsZW1lbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNzYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMv
V2ViRnJhbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJGcmFtZUNs
aWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjppbWFnZUxvYWRGaW5pc2hl
ZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpzY3JpcHRMb2FkRmluaXNoZWQp
OgorICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoSW1hZ2VMb2FkRmluaXNoZWQpOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnRJbXBs
OjpkaXNwYXRjaFNjcmlwdExvYWRGaW5pc2hlZCk6CisgICAgICAgICogc3JjL0ZyYW1lTG9hZGVy
Q2xpZW50SW1wbC5oOgorICAgICAgICAoRnJhbWVMb2FkZXJDbGllbnRJbXBsKToKKwogMjAxMi0w
Ny0zMSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyNDE3OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9QZW5kaW5nU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9QZW5kaW5n
U2NyaXB0LmNwcAppbmRleCBjNjAyYTExMjY2M2YzOWU3MjMzMjk1OTAzZWNiYWJiYmRhNjdmYTk5
Li44MjY0NzU3MjVmNWM2NDU5NWNlMzk0NzkyNDk2MmI2N2MzMzdmNTA2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vUGVuZGluZ1NjcmlwdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1BlbmRpbmdTY3JpcHQuY3BwCkBAIC0yNyw3ICsyNywxMSBAQAogI2luY2x1ZGUgIlBlbmRp
bmdTY3JpcHQuaCIKIAogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5oIgorI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFbGVtZW50Lmgi
CisjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTYxLDggKzY1LDkgQEAgQ2FjaGVkU2NyaXB0
KiBQZW5kaW5nU2NyaXB0OjpjYWNoZWRTY3JpcHQoKSBjb25zdAogICAgIHJldHVybiBtX2NhY2hl
ZFNjcmlwdC5nZXQoKTsKIH0KIAotdm9pZCBQZW5kaW5nU2NyaXB0Ojpub3RpZnlGaW5pc2hlZChD
YWNoZWRSZXNvdXJjZSopCit2b2lkIFBlbmRpbmdTY3JpcHQ6Om5vdGlmeUZpbmlzaGVkKENhY2hl
ZFJlc291cmNlKiByZXNvdXJjZSkKIHsKKyAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmxvYWRl
cigpLT5mcmFtZUxvYWRlcigpLT5jbGllbnQoKS0+ZGlzcGF0Y2hTY3JpcHRMb2FkRmluaXNoZWQo
bV9lbGVtZW50LmdldCgpLCByZXNvdXJjZSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
bGVtZW50LmNwcAppbmRleCA5YzE2NTRlMWZjMTg5ZjgyMjE2ODM2MzNmMjNiODU2YzZlODU2ZWIw
Li41NWRlOGNkMzVmNzY5MWJhMjllYzllNzhkMDdlNjc0MWI5ZGJkZDBlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0yOSw5ICsyOSwxMSBAQAogI2luY2x1ZGUgIkNvbnRl
bnRTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNp
bmNsdWRlICJEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAi
RnJhbWVMb2FkZXIuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJI
VE1MU2NyaXB0RWxlbWVudC5oIgpAQCAtMzI5LDYgKzMzMSw4IEBAIHZvaWQgU2NyaXB0RWxlbWVu
dDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIEFTU0VSVCgh
bV93aWxsQmVQYXJzZXJFeGVjdXRlZCk7CiAgICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgcmVz
b3VyY2UgPT0gbV9jYWNoZWRTY3JpcHQpOwogCisgICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLT5s
b2FkZXIoKS0+ZnJhbWVMb2FkZXIoKS0+Y2xpZW50KCktPmRpc3BhdGNoU2NyaXB0TG9hZEZpbmlz
aGVkKG1fZWxlbWVudCwgcmVzb3VyY2UpOworCiAgICAgaWYgKG1fcmVxdWVzdFVzZXNBY2Nlc3ND
b250cm9sCiAgICAgICAgICYmICFtX2VsZW1lbnQtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2lu
KCktPmNhblJlcXVlc3QobV9jYWNoZWRTY3JpcHQtPnJlc3BvbnNlKCkudXJsKCkpCiAgICAgICAg
ICYmICFtX2NhY2hlZFNjcmlwdC0+cGFzc2VzQWNjZXNzQ29udHJvbENoZWNrKG1fZWxlbWVudC0+
ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggYmU4MTAyODdhNzBkNTVlOGU2NTZiZmYzZDY0MGFhZmE1
MzNiMTA2YS4uMjM5MjVmZTI1OWYwYWVjMWM2YzI3YzFmMDg3YTE2ZjlkZmY5YjFiYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTYyLDYgKzYyLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7
CiAgICAgY2xhc3MgQ2FjaGVkRnJhbWU7CisgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAgICAg
Y2xhc3MgQ29sb3I7CiAgICAgY2xhc3MgRE9NV2luZG93RXh0ZW5zaW9uOwogICAgIGNsYXNzIERP
TVdyYXBwZXJXb3JsZDsKQEAgLTEzMiw3ICsxMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRl
ciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSkgPSAwOwogICAgICAgICB2aXJ0dWFsIGJv
b2wgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpID0gMDsKLSAgICAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkQ2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlJikgPSAwOyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaERpZENhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvY3VtZW50TG9hZGVyKiwgdW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpID0g
MDsKICNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLKQogICAgICAgICB2aXJ0
dWFsIGJvb2wgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShEb2N1bWVudExv
YWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUHJvdGVjdGlvblNwYWNlJikg
PSAwOwogI2VuZGlmCkBAIC0xNjIsNiArMTYzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGaW5pc2hEb2N1bWVudExvYWQoKSA9IDA7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpbmlzaExvYWQoKSA9IDA7CiAKKyAgICAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoSW1hZ2VMb2FkRmluaXNoZWQoRWxlbWVudCogc291cmNl
RWxlbWVudCwgQ2FjaGVkUmVzb3VyY2UqKSB7IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoU2NyaXB0TG9hZEZpbmlzaGVkKEVsZW1lbnQqIHNvdXJjZUVsZW1lbnQsIENhY2hlZFJlc291
cmNlKikgeyB9CisKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmlyc3RMYXlvdXQo
KSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpcnN0VmlzdWFsbHlOb25F
bXB0eUxheW91dCgpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkTmV3Rmly
c3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9h
ZGVyLmNwcAppbmRleCBlODk3ZjhhNGUzMGYyYWQ1MzBjNzlmOTIxYTU5OWVlZDNiNTkxYzE1Li4y
NTcyNzI3YTA1NTRhZDI1YmQ3YTQ5NWFhOWJkNzY3ZmFmOTY3OTBjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTI2LDEwICsyNiwxMyBAQAogI2luY2x1ZGUgIkNhY2hl
ZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5BY2Nlc3NDb250cm9sLmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2lu
Y2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50U2hhZG93LmgiCiAjaW5jbHVkZSAi
RXZlbnQuaCIKICNpbmNsdWRlICJFdmVudFNlbmRlci5oIgorI2luY2x1ZGUgIkZyYW1lTG9hZGVy
LmgiCisjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKICNpbmNsdWRlICJIVE1MT2JqZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJ
ZGlvbXMuaCIKQEAgLTI2NCw2ICsyNjcsOCBAQCB2b2lkIEltYWdlTG9hZGVyOjpub3RpZnlGaW5p
c2hlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgaWYgKCFtX2hhc1BlbmRpbmdMb2Fk
RXZlbnQpCiAgICAgICAgIHJldHVybjsKIAorICAgIGRvY3VtZW50KCktPmxvYWRlcigpLT5mcmFt
ZUxvYWRlcigpLT5jbGllbnQoKS0+ZGlzcGF0Y2hJbWFnZUxvYWRGaW5pc2hlZChjbGllbnQoKS0+
c291cmNlRWxlbWVudCgpLCByZXNvdXJjZSk7CisKICAgICBpZiAoY2xpZW50KCktPnNvdXJjZUVs
ZW1lbnQoKS0+ZmFzdEhhc0F0dHJpYnV0ZShIVE1MTmFtZXM6OmNyb3Nzb3JpZ2luQXR0cikKICAg
ICAgICAgJiYgIWRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhblJlcXVlc3QoaW1hZ2Uo
KS0+cmVzcG9uc2UoKS51cmwoKSkKICAgICAgICAgJiYgIXJlc291cmNlLT5wYXNzZXNBY2Nlc3ND
b250cm9sQ2hlY2soZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSkpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCmluZGV4IGJjMzJkNmQ4NGYx
YWIxZTE4ZmE1YTcxZjUwMTJkZTdmZmVlYWMzNGEuLmVhNjY5MzA4OWQ1NzBjMmFhMTdhOTkyMzc5
OGM4MWU3NjA3ZDI4NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkZyYW1lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RnJhbWVDbGllbnQuaApAQCAtNTMsNiArNTMsNyBAQCBjbGFzcyBXZWJBcHBsaWNhdGlvbkNhY2hl
SG9zdENsaWVudDsKIGNsYXNzIFdlYkNvb2tpZUphcjsKIGNsYXNzIFdlYkRhdGFTb3VyY2U7CiBj
bGFzcyBXZWJET01FdmVudDsKK2NsYXNzIFdlYkVsZW1lbnQ7CiBjbGFzcyBXZWJGb3JtRWxlbWVu
dDsKIGNsYXNzIFdlYkZyYW1lOwogY2xhc3MgV2ViSW50ZW50OwpAQCAtMjIyLDYgKzIyMywxMiBA
QCBwdWJsaWM6CiAgICAgLy8gVGhlIGZyYW1lJ3MgZG9jdW1lbnQgYW5kIGFsbCBvZiBpdHMgc3Vi
cmVzb3VyY2VzIHN1Y2NlZWRlZCB0byBsb2FkLgogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hM
b2FkKFdlYkZyYW1lKikgeyB9CiAKKyAgICAvLyBUaGUgVVJMIHJlcXVlc3QgZm9yIHRoZSBnaXZl
biBpbWFnZSBlbGVtZW50IGZpbmlzaGVkIGxvYWRpbmcuCisgICAgdmlydHVhbCB2b2lkIGltYWdl
TG9hZEZpbmlzaGVkKFdlYkZyYW1lKiwgY29uc3QgV2ViRWxlbWVudCYsIGNvbnN0IFdlYlVSTFJl
cXVlc3QmKSB7IH0KKworICAgIC8vIFRoZSBVUkwgcmVxdWVzdCBmb3IgdGhlIGdpdmVuIHNjcmlw
dCBlbGVtZW50IGZpbmlzaGVkIGxvYWRpbmcuCisgICAgdmlydHVhbCB2b2lkIHNjcmlwdExvYWRG
aW5pc2hlZChXZWJGcmFtZSosIGNvbnN0IFdlYkVsZW1lbnQmLCBjb25zdCBXZWJVUkxSZXF1ZXN0
JikgeyB9CisKICAgICAvLyBUaGUgbmF2aWdhdGlvbiByZXN1bHRlZCBpbiBubyBjaGFuZ2UgdG8g
dGhlIGRvY3VtZW50cyB3aXRoaW4gdGhlIHBhZ2UuCiAgICAgLy8gRm9yIGV4YW1wbGUsIHRoZSBu
YXZpZ2F0aW9uIG1heSBoYXZlIGp1c3QgcmVzdWx0ZWQgaW4gc2Nyb2xsaW5nIHRvIGEKICAgICAv
LyBuYW1lZCBhbmNob3Igb3IgYSBQb3BTdGF0ZSBldmVudCBtYXkgaGF2ZSBiZWVuIGRpc3BhdGNo
ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNs
aWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGll
bnRJbXBsLmNwcAppbmRleCBiNjc3OThlNzRlNTYwYTIxNjM4MGJkZTBmMTZhOGVlM2Q2YzEzYTI4
Li40ZDlhZjdlOGMzMGZmOTk3NzBkNTMwYzQyOWFkMmI5Y2FiNGZjM2EyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKQEAg
LTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudEltcGwuaCIKIAogI2lu
Y2x1ZGUgIkJhY2tGb3J3YXJkTGlzdENocm9taXVtLmgiCisjaW5jbHVkZSAiQ2FjaGVkUmVzb3Vy
Y2UuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkRvY3VtZW50TG9hZGVyLmgiCkBAIC02NCw2ICs2NSw3IEBACiAjaW5jbHVkZSAiV2ViRGF0
YVNvdXJjZUltcGwuaCIKICNpbmNsdWRlICJXZWJEZXZUb29sc0FnZW50UHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgIldlYkRvY3VtZW50LmgiCisjaW5jbHVkZSAiV2ViRWxlbWVudC5oIgogI2luY2x1ZGUg
IldlYkZvcm1FbGVtZW50LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVDbGllbnQuaCIKICNpbmNsdWRl
ICJXZWJGcmFtZUltcGwuaCIKQEAgLTg2Miw2ICs4NjQsMjIgQEAgdm9pZCBGcmFtZUxvYWRlckNs
aWVudEltcGw6OmRpc3BhdGNoRGlkRmluaXNoTG9hZCgpCiAgICAgLy8gcHJvdmlzaW9uYWwgbG9h
ZCBzdWNjZWVkcyBvciBmYWlscywgbm90IHRoZSAicmVhbCIgb25lLgogfQogCit2b2lkIEZyYW1l
TG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hJbWFnZUxvYWRGaW5pc2hlZChFbGVtZW50KiBzb3Vy
Y2VFbGVtZW50LCBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCit7CisgICAgV2ViRWxlbWVudCBl
bGVtZW50KHNvdXJjZUVsZW1lbnQpOworICAgIFdyYXBwZWRSZXNvdXJjZVJlcXVlc3Qgd2VicmVx
KHJlc291cmNlLT5yZXNvdXJjZVJlcXVlc3QoKSk7CisgICAgaWYgKG1fd2ViRnJhbWUtPmNsaWVu
dCgpKQorICAgICAgICBtX3dlYkZyYW1lLT5jbGllbnQoKS0+aW1hZ2VMb2FkRmluaXNoZWQobV93
ZWJGcmFtZSwgZWxlbWVudCwgd2VicmVxKTsKK30KKwordm9pZCBGcmFtZUxvYWRlckNsaWVudElt
cGw6OmRpc3BhdGNoU2NyaXB0TG9hZEZpbmlzaGVkKEVsZW1lbnQqIHNvdXJjZUVsZW1lbnQsIENh
Y2hlZFJlc291cmNlKiByZXNvdXJjZSkKK3sKKyAgICBXZWJFbGVtZW50IGVsZW1lbnQoc291cmNl
RWxlbWVudCk7CisgICAgV3JhcHBlZFJlc291cmNlUmVxdWVzdCB3ZWJyZXEocmVzb3VyY2UtPnJl
c291cmNlUmVxdWVzdCgpKTsKKyAgICBpZiAobV93ZWJGcmFtZS0+Y2xpZW50KCkpCisgICAgICAg
IG1fd2ViRnJhbWUtPmNsaWVudCgpLT5zY3JpcHRMb2FkRmluaXNoZWQobV93ZWJGcmFtZSwgZWxl
bWVudCwgd2VicmVxKTsKK30KKwogdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNo
RGlkRmlyc3RMYXlvdXQoKQogewogICAgIGlmIChtX3dlYkZyYW1lLT5jbGllbnQoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5o
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKaW5k
ZXggZWNiMjBhMmZiMjVlZmU2NGFmZTYwZDQyNDZlNmM5OTNhZjVmMzEyOS4uMmU0ZTBiYjlhNWQz
MGI1NTNkMzYzNjI2MWFlMTUxZTNjYWMzZjUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKQEAgLTEwNyw2ICsxMDcsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmFpbExvYWQoY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvciYpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpbmlzaERv
Y3VtZW50TG9hZCgpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpbmlzaExvYWQoKTsK
KyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hJbWFnZUxvYWRGaW5pc2hlZChXZWJDb3JlOjpFbGVt
ZW50KiBzb3VyY2VFbGVtZW50LCBXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZSopOworICAgIHZpcnR1
YWwgdm9pZCBkaXNwYXRjaFNjcmlwdExvYWRGaW5pc2hlZChXZWJDb3JlOjpFbGVtZW50KiBzb3Vy
Y2VFbGVtZW50LCBXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZSopOwogICAgIHZpcnR1YWwgdm9pZCBk
aXNwYXRjaERpZEZpcnN0TGF5b3V0KCk7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmly
c3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0KCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpGcmFtZSog
ZGlzcGF0Y2hDcmVhdGVQYWdlKGNvbnN0IFdlYkNvcmU6Ok5hdmlnYXRpb25BY3Rpb24mKTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjNzQwNDJl
NzYwYTllZGYyM2NhNGZkMjFmMjc4Y2Q2YjBiZWIwYTI5Li5iZWY4MDQwMjQ3YjhjY2M5MzJlZDc2
NjAyYTQxOTY0NTNkODY2YWY2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzAgQEAKIDIwMTItMDctMzEgIEpvY2hlbiBFaXNpbmdl
ciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0byB0aGUg
RnJhbWVMb2FkZXJDbGllbnQgZm9yIHdoZW4gYSByZXNvdXJjZSByZXF1ZXN0IGZpbmlzaGVkIGZv
ciBhIHNjcmlwdCBvciBpbWFnZSBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3RSdW5uZXIuZHVtcEltYWdlQW5kU2NyaXB0TG9h
ZENhbGxiYWNrcygpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0
VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91
dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpkdW1wSW1h
Z2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVy
OjpyZXNldCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENv
bnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKExh
eW91dFRlc3RDb250cm9sbGVyOjpzZXRTaG91bGREdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJh
Y2tzKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzaG91bGREdW1wSW1hZ2VBbmRT
Y3JpcHRMb2FkQ2FsbGJhY2tzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0U2hlbGwuaDoKKyAgICAgICAgKFRlc3RTaGVsbDo6c2hvdWxkRHVtcEltYWdlQW5kU2NyaXB0
TG9hZENhbGxiYWNrcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuY3BwOgorICAgICAgICAoV2ViVmlld0hvc3Q6OmltYWdlTG9hZEZpbmlzaGVkKToKKyAg
ICAgICAgKFdlYlZpZXdIb3N0OjpzY3JpcHRMb2FkRmluaXNoZWQpOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisgICAgICAgIChXZWJWaWV3SG9zdCk6
CisKKzIwMTItMDctMzEgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CisK
ICAgICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIHdhdGNobGlzdAogCiAgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9jb21tb24vY29uZmlnL3dhdGNobGlzdDogVHVybmVkIG91dCB0byBiZSBsZXNz
IHVzZWZ1bCB0aGFuIEkgaGFkIGhvcGVkCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMDQ2ZTFlYzJkN2JjZDZj
ZDkxZjAyMjRhMThhNTk5OGIyZGMzMzJlOS4uMjQ4OWY2MWU1YTk4ZGY1MzM5MmEyOWIxOTBmMDYy
NjI4ZjA4MGZkYyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMTQwLDYgKzE0MCw3IEBAIExheW91dFRlc3RD
b250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihUZXN0U2hlbGwqIHNoZWxsKQogICAgIGJp
bmRNZXRob2QoImR1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2siLCAmTGF5b3V0VGVzdENvbnRy
b2xsZXI6OmR1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2spOwogICAgIGJpbmRNZXRob2QoImR1
bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzIiwgJkxheW91dFRlc3RDb250cm9sbGVy
OjpkdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcyk7CiAgICAgYmluZE1ldGhvZCgi
ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFJl
c291cmNlTG9hZENhbGxiYWNrcyk7CisgICAgYmluZE1ldGhvZCgiZHVtcEltYWdlQW5kU2NyaXB0
TG9hZENhbGxiYWNrcyIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcEltYWdlQW5kU2NyaXB0
TG9hZENhbGxiYWNrcyk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFJlc291cmNlUmVzcG9uc2VNSU1F
VHlwZXMiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5
cGVzKTsKICAgICBiaW5kTWV0aG9kKCJkdW1wU2VsZWN0aW9uUmVjdCIsICZMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6ZHVtcFNlbGVjdGlvblJlY3QpOwogICAgIGJpbmRNZXRob2QoImR1bXBTdGF0dXND
YWxsYmFja3MiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBXaW5kb3dTdGF0dXNDaGFuZ2Vz
KTsKQEAgLTQwMCw2ICs0MDEsMTIgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFJl
c291cmNlTG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHAKICAgICByZXN1
bHQtPnNldE51bGwoKTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcEltYWdl
QW5kU2NyaXB0TG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50
KiByZXN1bHQpCit7CisgICAgbV9kdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzID0gdHJ1
ZTsKKyAgICByZXN1bHQtPnNldE51bGwoKTsKK30KKwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxl
cjo6ZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIG1fZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlw
ZXMgPSB0cnVlOwpAQCAtNjYxLDYgKzY2OCw3IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnJlc2V0KCkKICAgICBtX2R1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2sgPSBmYWxzZTsKICAg
ICBtX2R1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzID0gZmFsc2U7CiAgICAgbV9k
dW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzID0gZmFsc2U7CisgICAgbV9kdW1wSW1hZ2VBbmRTY3Jp
cHRMb2FkQ2FsbGJhY2tzID0gZmFsc2U7CiAgICAgbV9kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVU
eXBlcyA9IGZhbHNlOwogICAgIG1fZHVtcEJhY2tGb3J3YXJkTGlzdCA9IGZhbHNlOwogICAgIG1f
ZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnMgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDljZmQx
MjM1OTIxYTIxYWI1YTFiM2VjNGMyMjNhOTdkZDI1NjAwYTAuLjA4NTY4OWRiYWJiZTNiNDhlNDk2
MzVjZjhlNjNkZTEwYWI4ZGIzM2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMTAyLDcgKzEwMiwxMiBAQCBwdWJs
aWM6CiAgICAgLy8gbGluZSBmb3IgZWFjaCByZXNvdXJjZSBsb2FkIGNhbGxiYWNrLiBJdCB0YWtl
cyBubyBhcmd1bWVudHMsIGFuZCBpZ25vcmVzCiAgICAgLy8gYW55IHRoYXQgbWF5IGJlIHByZXNl
bnQuCiAgICAgdm9pZCBkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKGNvbnN0IENwcEFyZ3VtZW50
TGlzdCYsIENwcFZhcmlhbnQqKTsgICAgCi0gICAgCisKKyAgICAvLyBUaGlzIGZ1bmN0aW9uIHNl
dHMgYSBmbGFnIHRoYXQgdGVsbHMgdGhlIHRlc3Rfc2hlbGwgdG8gZHVtcCBhCisgICAgLy8gZGVz
Y3JpcHRpdmUgbGluZSBmb3IgZWFjaCBpbWFnZSBhbmQgc2NyaXB0IGVsZW1lbnQgdGhhdCBsb2Fk
ZWQgaXRzCisgICAgLy8gcmVzb3VyY2UgdXNpbmcgYSByZXNvdXJjZSByZXF1ZXN0LgorICAgIHZv
aWQgZHVtcEltYWdlQW5kU2NyaXB0TG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVudExpc3Qm
LCBDcHBWYXJpYW50Kik7CisKICAgICAvLyBUaGlzIGZ1bmN0aW9uIHNldHMgYSBmbGFnIHRoYXQg
dGVsbHMgdGhlIHRlc3Rfc2hlbGwgdG8gZHVtcCB0aGUgTUlNRSB0eXBlCiAgICAgLy8gZm9yIGVh
Y2ggcmVzb3VyY2UgdGhhdCB3YXMgbG9hZGVkLiBJdCB0YWtlcyBubyBhcmd1bWVudHMsIGFuZCBp
Z25vcmVzIGFueQogICAgIC8vIHRoYXQgbWF5IGJlIHByZXNlbnQuCkBAIC00NTksNiArNDY0LDgg
QEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkRHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxs
YmFja3MoKSB7IHJldHVybiBtX2R1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzOyB9
CiAgICAgdm9pZCBzZXRTaG91bGREdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcyhi
b29sIHZhbHVlKSB7IG1fZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MgPSB2YWx1
ZTsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpIHtyZXR1cm4g
bV9kdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzOyB9CisgICAgdm9pZCBzZXRTaG91bGREdW1wSW1h
Z2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKGJvb2wgdmFsdWUpIHsgbV9kdW1wSW1hZ2VBbmRTY3Jp
cHRMb2FkQ2FsbGJhY2tzID0gdmFsdWU7IH0KKyAgICBib29sIHNob3VsZER1bXBJbWFnZUFuZFNj
cmlwdExvYWRDYWxsYmFja3MoKSB7IHJldHVybiBtX2R1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxs
YmFja3M7IH0KICAgICB2b2lkIHNldFNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVz
KGJvb2wgdmFsdWUpIHsgbV9kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyA9IHZhbHVlOyB9
CiAgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpIHtyZXR1cm4g
bV9kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlczsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFN0
YXR1c0NhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcFdpbmRvd1N0YXR1c0NoYW5nZXM7IH0KQEAg
LTYxMSw2ICs2MTgsMTAgQEAgcHJpdmF0ZToKICAgICAvLyBJZiB0cnVlLCB0aGUgdGVzdF9zaGVs
bCB3aWxsIG91dHB1dCBhIGRlc2NyaXB0aXZlIGxpbmUgZm9yIGVhY2ggcmVzb3VyY2UKICAgICAv
LyBsb2FkIGNhbGxiYWNrLgogICAgIGJvb2wgbV9kdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzOwor
CisgICAgLy8gSWYgdHJ1ZSwgdGhlIHRlc3Rfc2hlbGwgd2lsbCBvdXRwdXQgYSBkZXNjcmlwdGl2
ZSBsaW5lIGZvciBlYWNoIGltYWdlCisgICAgLy8gYW5kIHNjcmlwdCBlbGVtZW50IHRoYXQgbG9h
ZGVkIGl0cyByZXNvdXJjZSB1c2luZyBhIHJlc291cmNlIHJlcXVlc3QuCisgICAgYm9vbCBtX2R1
bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3M7CiAgICAgCiAgICAgLy8gSWYgdHJ1ZSwgdGhl
IHRlc3Rfc2hlbGwgd2lsbCBvdXRwdXQgdGhlIE1JTUUgdHlwZSBmb3IgZWFjaCByZXNvdXJjZSB0
aGF0IAogICAgIC8vIHdhcyBsb2FkZWQuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RTaGVsbC5oCmluZGV4IDA3NzgxNjM2YmE3NTA3NTk1MmIyZmYzOGM0YzQ3M2RkNzZjNGNiNWMu
LjljYWZhMjc1NDJlZDQ2YmE4MmNiZTRmMDViMzdlMGM0ODE4ODZmYzAgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCkBAIC0xMjAsNiArMTIwLDcgQEAgcHVibGlj
OgogICAgIGJvb2wgc2hvdWxkRHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MoKSBj
b25zdCB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiBs
YXlvdXRUZXN0Q29udHJvbGxlcigpLT5zaG91bGREdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENh
bGxiYWNrcygpOyB9CiAgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCkg
Y29uc3QgIHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYm
IGxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3VsZER1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3Mo
KTsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoKSBjb25z
dCAgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5nIHx8IG1fdGVzdElzUGVuZGluZykgJiYgbGF5
b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMo
KTsgfQorICAgIGJvb2wgc2hvdWxkRHVtcEltYWdlQW5kU2NyaXB0TG9hZENhbGxiYWNrcygpIGNv
bnN0IHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYmIGxh
eW91dFRlc3RDb250cm9sbGVyKCktPnNob3VsZER1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFj
a3MoKTsgfQogICAgIHZvaWQgc2V0SXNMb2FkaW5nKGJvb2wgZmxhZykgeyBtX2lzTG9hZGluZyA9
IGZsYWc7IH0KIAogICAgIC8vIENhbGxlZCBieSB0aGUgTGF5b3V0VGVzdENvbnRyb2xsZXIgdG8g
c2lnbmFsIHRlc3QgY29tcGxldGlvbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1dlYlZpZXdIb3N0LmNwcAppbmRleCBiYTVlY2YwYzg4N2M3ODQ1YmUyMWExZjhlMGRjMjczMjgx
YjQzNDA0Li43M2FkZmEzNzMzOTZmOTMyNTI0MGEyNDJlMGIxNTIyYjc5ZDIwNjVhIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCkBAIC0xMjMwLDYg
KzEyMzAsMzIgQEAgdm9pZCBXZWJWaWV3SG9zdDo6ZGlkRmluaXNoTG9hZChXZWJGcmFtZSogZnJh
bWUpCiAgICAgbG9jYXRpb25DaGFuZ2VEb25lKGZyYW1lKTsKIH0KIAordm9pZCBXZWJWaWV3SG9z
dDo6aW1hZ2VMb2FkRmluaXNoZWQoV2ViRnJhbWUqIGZyYW1lLCBjb25zdCBXZWJFbGVtZW50JiBl
bGVtZW50LCBjb25zdCBXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0KQoreworICAgIGlmIChtX3NoZWxs
LT5zaG91bGREdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKCkpIHsKKyAgICAgICAgcHJp
bnRGcmFtZURlc2NyaXB0aW9uKGZyYW1lKTsKKyAgICAgICAgcHJpbnRmKCIgLSBpbWFnZSBlbGVt
ZW50IHdpdGggIik7CisgICAgICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZSgiaWQiKSkKKyAg
ICAgICAgICAgIHByaW50ZigiaWQgJyVzJyIsIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpLnV0
ZjgoKS5kYXRhKCkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBwcmludGYoIm5vIGlkIik7
CisgICAgICAgIHByaW50ZigiIGZpbmlzaGVkIGxvYWRpbmcgJyVzJ1xuIiwgVVJMRGVzY3JpcHRp
b24ocmVxdWVzdC51cmwoKSkuY19zdHIoKSk7CisgICAgfQorfQorCit2b2lkIFdlYlZpZXdIb3N0
OjpzY3JpcHRMb2FkRmluaXNoZWQoV2ViRnJhbWUqIGZyYW1lLCBjb25zdCBXZWJFbGVtZW50JiBl
bGVtZW50LCBjb25zdCBXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0KQoreworICAgIGlmIChtX3NoZWxs
LT5zaG91bGREdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKCkpIHsKKyAgICAgICAgcHJp
bnRGcmFtZURlc2NyaXB0aW9uKGZyYW1lKTsKKyAgICAgICAgcHJpbnRmKCIgLSBzY3JpcHQgZWxl
bWVudCB3aXRoICIpOworICAgICAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoImlkIikpCisg
ICAgICAgICAgICBwcmludGYoImlkICclcyciLCBlbGVtZW50LmdldEF0dHJpYnV0ZSgiaWQiKS51
dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJpbnRmKCJubyBpZCIp
OworICAgICAgICBwcmludGYoIiBmaW5pc2hlZCBsb2FkaW5nICclcydcbiIsIFVSTERlc2NyaXB0
aW9uKHJlcXVlc3QudXJsKCkpLmNfc3RyKCkpOworICAgIH0KK30KKwogdm9pZCBXZWJWaWV3SG9z
dDo6ZGlkTmF2aWdhdGVXaXRoaW5QYWdlKFdlYkZyYW1lKiBmcmFtZSwgYm9vbCBpc05ld05hdmln
YXRpb24pCiB7CiAgICAgZnJhbWUtPmRhdGFTb3VyY2UoKS0+c2V0RXh0cmFEYXRhKG1fcGVuZGlu
Z0V4dHJhRGF0YS5sZWFrUHRyKCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dl
YlZpZXdIb3N0LmgKaW5kZXggMTNmMmUxZWM1M2ViODJiMTI4ZWMyOWYxNmMwNWQ4NTk0MjI3NjRl
Ni4uN2U5MzFhMmI5MTFiZGQzMWI0NmIzYzNhMzQ3Y2M3YTM2ZjNkZjRlNyAxMDA2NDQKLS0tIGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCkBAIC0yNTIsNiArMjUyLDggQEAg
Y2xhc3MgV2ViVmlld0hvc3QgOiBwdWJsaWMgV2ViS2l0OjpXZWJWaWV3Q2xpZW50LCBwdWJsaWMg
V2ViS2l0OjpXZWJGcmFtZUNsaWVudCwKICAgICB2aXJ0dWFsIHZvaWQgZGlkSGFuZGxlT25sb2Fk
RXZlbnRzKFdlYktpdDo6V2ViRnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbExvYWQo
V2ViS2l0OjpXZWJGcmFtZSosIGNvbnN0IFdlYktpdDo6V2ViVVJMRXJyb3ImKTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkRmluaXNoTG9hZChXZWJLaXQ6OldlYkZyYW1lKik7CisgICAgdmlydHVhbCB2
b2lkIGltYWdlTG9hZEZpbmlzaGVkKFdlYktpdDo6V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6Oldl
YkVsZW1lbnQmLCBjb25zdCBXZWJLaXQ6OldlYlVSTFJlcXVlc3QmKTsKKyAgICB2aXJ0dWFsIHZv
aWQgc2NyaXB0TG9hZEZpbmlzaGVkKFdlYktpdDo6V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6Oldl
YkVsZW1lbnQmLCBjb25zdCBXZWJLaXQ6OldlYlVSTFJlcXVlc3QmKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkTmF2aWdhdGVXaXRoaW5QYWdlKFdlYktpdDo6V2ViRnJhbWUqLCBib29sIGlzTmV3TmF2
aWdhdGlvbik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZShX
ZWJLaXQ6OldlYkZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGFzc2lnbklkZW50aWZpZXJUb1Jl
cXVlc3QoV2ViS2l0OjpXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50aWZpZXIsIGNvbnN0IFdlYktp
dDo6V2ViVVJMUmVxdWVzdCYpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU2MTJhNmYzOGU5Nzc0YTU2NTdhZDc5YjIyMjA5
Y2Q1NjZlMjllYTMuLjkxMjZhMDI2ODZmYWQxMDM1ZDgyYzM1OTViNDA1MDdjZGU1ODU5MjIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNy0zMSAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVu
QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tzIHRvIHRoZSBGcmFtZUxvYWRl
ckNsaWVudCBmb3Igd2hlbiBhIHJlc291cmNlIHJlcXVlc3QgZmluaXNoZWQgZm9yIGEgc2NyaXB0
IG9yIGltYWdlIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkyNzYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1sb2FkLWNhbGxi
YWNrcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvbG9hZGVyL2ltYWdlLWxvYWQtY2FsbGJhY2tzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9lbXB0eS5qczogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvc2NyaXB0LWxvYWQtY2FsbGJh
Y2tzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFz
dC9sb2FkZXIvc2NyaXB0LWxvYWQtY2FsbGJhY2tzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTA3LTMx
ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBV
bnJldmlld2VkIGdhcmRlbmluZy4gVW5za2lwIHBhc3NpbmcgdGVzdHMgYW5kIGFkZCBuZXcgZXhw
ZWN0ZWQgZmlsZXMuIChidWc4NTIwMykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvbG9hZGVyL2ltYWdlLWxvYWQtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL2ltYWdlLWxvYWQtY2Fs
bGJhY2tzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OWQwZWRkMGJlMjUwMDRkZjJkMzk0NWRm
MjUwMDIwMTU5NTlhNjcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vZmFzdC9sb2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNCBAQAorbWFpbiBmcmFtZSAtIGltYWdlIGVsZW1lbnQgd2l0aCBpZCAnaW1nJyBm
aW5pc2hlZCBsb2FkaW5nICdib3N0b24uZ2lmJworVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBj
b3JyZWN0IGNhbGxiYWNrcyBmb3IgaW1hZ2UgbG9hZHMgYXJlIGludm9rZWQuIEl0IHBhc3NlcyBp
ZiB5b3Ugc2VlIGV4YWN0bHkgb25lIGNhbGxiYWNrIGZvciB0aGUgaW1hZ2Ugd2l0aCBpZCAnaW1n
Jy4KKworIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9s
b2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFja3MuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvbG9hZGVyL2ltYWdlLWxvYWQtY2FsbGJhY2tzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODdkOTIxOWM4NDc1NzBmN2RlOWE3MTA3Njk3ZDAzOTNiN2M4MzYwMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL2ltYWdlLWxvYWQt
Y2FsbGJhY2tzLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5u
ZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcEltYWdlQW5kU2NyaXB0TG9hZENh
bGxiYWNrcygpOworfSBlbHNlIHsKKyAgICBkb2N1bWVudC53cml0ZSgiVGhpcyB0ZXN0IGNhbm5v
dCBydW4gd2l0aG91dCBhIHRlc3RSdW5uZXIiKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cD4KKyAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBjb3JyZWN0IGNhbGxiYWNrcyBm
b3IgaW1hZ2UgbG9hZHMgYXJlIGludm9rZWQuIEl0CisgIHBhc3NlcyBpZiB5b3Ugc2VlIGV4YWN0
bHkgb25lIGNhbGxiYWNrIGZvciB0aGUgaW1hZ2Ugd2l0aCBpZCAnaW1nJy4KKzwvcD4KKzxpbWcg
aWQ9ImltZyIgc3JjPSIuLi8uLi9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9ib3N0b24uZ2lm
IiAvPgorPGltZyBpZD0iaW1nLWZhaWwiIC8+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZXMvZW1w
dHkuanMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJj
ZXMvZW1wdHkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxYTM5Mzc0MWM5NmMwM2MzNzEyYjRjODBiM2QyYmNk
MDY5NTliNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9lbXB0eS5qcwpAQCAtMCwwICsxIEBACisvLyBlbXB0eQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvc2Ny
aXB0LWxvYWQtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvbG9hZGVyL3NjcmlwdC1sb2FkLWNhbGxiYWNrcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTFmZmRmZDUyZTJiMzJhNzU4ODExMDhmMTIwYmY0MmJjMDY1OTE2ZQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Nj
cmlwdC1sb2FkLWNhbGxiYWNrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACittYWluIGZy
YW1lIC0gc2NyaXB0IGVsZW1lbnQgd2l0aCBpZCAnc2NyaXB0JyBmaW5pc2hlZCBsb2FkaW5nICdl
bXB0eS5qcycKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgY29ycmVjdCBjYWxsYmFja3MgZm9y
IHNjcmlwdCBsb2FkcyBhcmUgaW52b2tlZC4gSXQgcGFzc2VzIGlmIHlvdSBzZWUgZXhhY3RseSBv
bmUgY2FsbGJhY2sgZm9yIHRoZSBzY3JpcHQgd2l0aCBpZCAnc2NyaXB0Jy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3NjcmlwdC1sb2FkLWNh
bGxiYWNrcy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIv
c2NyaXB0LWxvYWQtY2FsbGJhY2tzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODg0Njg3M2JlYWUwZWJmZTdk
N2ZmZWIyYThmYTAzZTExN2Q1ZDFlYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3NjcmlwdC1sb2FkLWNhbGxiYWNrcy5odG1sCkBA
IC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+
CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
KyAgICB0ZXN0UnVubmVyLmR1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3MoKTsKK30gZWxz
ZSB7CisgICAgZG9jdW1lbnQud3JpdGUoIlRoaXMgdGVzdCBjYW5ub3QgcnVuIHdpdGhvdXQgYSB0
ZXN0UnVubmVyIik7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+CisgIFRoaXMg
dGVzdCBjaGVja3MgdGhhdCB0aGUgY29ycmVjdCBjYWxsYmFja3MgZm9yIHNjcmlwdCBsb2FkcyBh
cmUgaW52b2tlZC4gSXQKKyAgcGFzc2VzIGlmIHlvdSBzZWUgZXhhY3RseSBvbmUgY2FsbGJhY2sg
Zm9yIHRoZSBzY3JpcHQgd2l0aCBpZCAnc2NyaXB0Jy4KKzwvcD4KKzxzY3JpcHQgaWQ9InNjcmlw
dCIgc3JjPSJyZXNvdXJjZXMvZW1wdHkuanMiIC8+Cis8c2NyaXB0IGlkPSJzY3JpcHQtZmFpbCI+
CisvLyBub3RoaW5nIGludGVyZXN0aW5nIGhlcmUKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155735</attachid>
            <date>2012-08-01 00:32:11 -0700</date>
            <delta_ts>2012-08-01 03:40:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92761-20120801093153.patch</filename>
            <type>text/plain</type>
            <size>25909</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGNlMjE4YjAyYzNjMmNh
N2I5YTMzZDliMWM2MjFjZGE4NTFhMWU3MS4uZGJlNzc5ZjdiMzlmMTg3NGY2ZDBkNjNiMDY1ZDcw
MGNjNjA3N2VjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA3LTMxICBKb2No
ZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBjYWxsYmFj
a3MgdG8gdGhlIEZyYW1lTG9hZGVyQ2xpZW50IGZvciB3aGVuIGEgcmVzb3VyY2UgcmVxdWVzdCBm
aW5pc2hlZCBmb3IgYSBzY3JpcHQgb3IgaW1hZ2UgZWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBjaHJvbWl1bSwgd2hlbiBhbiBleHRlbnNp
b24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrIHJlcXVlc3QgKHdoaWNoCisgICAgICAgIGhhcHBl
bnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8gbm90aWZ5IGNvbnRlbnQgc2NyaXB0cyBy
dW5uaW5nIG9uCisgICAgICAgIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQgd2hpY2ggZWxlbWVudHMg
ZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUKKyAgICAgICAgcmVxdWVzdHMgd2VyZSBjYW5jZWxs
ZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0IGp1c3QKKyAgICAgICAg
ZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBpdHNlbGYgZG9lcyBub3Qg
Y2FycnkgYW55CisgICAgICAgIGluZm9ybWF0aW9uIHdoYXQgRE9NIGVsZW1lbnQgaXMgd2FzIG1h
ZGUgZm9yLCBjdXJyZW50bHkgYSBjb250ZW50IHNjcmlwdAorICAgICAgICBoYXMgdG8gc2VhcmNo
IHRoZSBET00gdHJlZSBhbmQgZ3Vlc3Mgd2hpY2ggcmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQg
YnkKKyAgICAgICAgaXRzIGNvdW50ZXIgcGFydC4gQnkgYWRkaW5nIHRoZXNlIGNhbGxiYWNrcywg
dGhlIGVtYmVkZGVyIGNhbiBtYWtlIHRoaXMKKyAgICAgICAgY29ubmVjdGlvbiBleHBsaWN0ZWx5
LgorCisgICAgICAgIFRlc3RzOiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1s
b2FkLWNhbGxiYWNrcy5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L2xvYWRlci9zY3JpcHQtbG9hZC1jYWxsYmFja3MuaHRtbAorCisgICAgICAgICogZG9tL1BlbmRp
bmdTY3JpcHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVuZGluZ1NjcmlwdDo6bm90aWZ5Rmlu
aXNoZWQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNjcmlwdEVsZW1lbnQ6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiBsb2FkZXIvRnJh
bWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoRnJhbWVMb2Fk
ZXJDbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNo
SW1hZ2VMb2FkRmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQ6
OmRpc3BhdGNoU2NyaXB0TG9hZEZpbmlzaGVkKToKKyAgICAgICAgKiBsb2FkZXIvSW1hZ2VMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKToK
KwogMjAxMi0wNy0zMSAgUmF1bCBIdWRlYSAgPHJodWRlYUBhZG9iZS5jb20+CiAKICAgICAgICAg
SW5zcGVjdG9yIGNyYXNoZXMgd2hlbiB0cnlpbmcgdG8gaW5zcGVjdCBhIHBhZ2Ugd2l0aCBDU1Mg
cmVnaW9uIHN0eWxpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNWQwNzgxN2YwYzFk
MmJkOWIzYTUwYTgxNzM4ODc3NmZmYjkyYTM1My4uMWU1MmJiNTMwMDBkMmIxMjM0MmE3NTRiYWFl
NTM5NzQwMzNlZTBmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBA
QAorMjAxMi0wNy0zMSAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBBZGQgY2FsbGJhY2tzIHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCBmb3Igd2hlbiBh
IHJlc291cmNlIHJlcXVlc3QgZmluaXNoZWQgZm9yIGEgc2NyaXB0IG9yIGltYWdlIGVsZW1lbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNzYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMv
V2ViRnJhbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJGcmFtZUNs
aWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjppbWFnZUxvYWRGaW5pc2hl
ZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpzY3JpcHRMb2FkRmluaXNoZWQp
OgorICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoSW1hZ2VMb2FkRmluaXNoZWQpOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnRJbXBs
OjpkaXNwYXRjaFNjcmlwdExvYWRGaW5pc2hlZCk6CisgICAgICAgICogc3JjL0ZyYW1lTG9hZGVy
Q2xpZW50SW1wbC5oOgorICAgICAgICAoRnJhbWVMb2FkZXJDbGllbnRJbXBsKToKKwogMjAxMi0w
Ny0zMSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyNDE3OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9QZW5kaW5nU2NyaXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9QZW5kaW5n
U2NyaXB0LmNwcAppbmRleCBjNjAyYTExMjY2M2YzOWU3MjMzMjk1OTAzZWNiYWJiYmRhNjdmYTk5
Li44MjY0NzU3MjVmNWM2NDU5NWNlMzk0NzkyNDk2MmI2N2MzMzdmNTA2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vUGVuZGluZ1NjcmlwdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1BlbmRpbmdTY3JpcHQuY3BwCkBAIC0yNyw3ICsyNywxMSBAQAogI2luY2x1ZGUgIlBlbmRp
bmdTY3JpcHQuaCIKIAogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5oIgorI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFbGVtZW50Lmgi
CisjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTYxLDggKzY1LDkgQEAgQ2FjaGVkU2NyaXB0
KiBQZW5kaW5nU2NyaXB0OjpjYWNoZWRTY3JpcHQoKSBjb25zdAogICAgIHJldHVybiBtX2NhY2hl
ZFNjcmlwdC5nZXQoKTsKIH0KIAotdm9pZCBQZW5kaW5nU2NyaXB0Ojpub3RpZnlGaW5pc2hlZChD
YWNoZWRSZXNvdXJjZSopCit2b2lkIFBlbmRpbmdTY3JpcHQ6Om5vdGlmeUZpbmlzaGVkKENhY2hl
ZFJlc291cmNlKiByZXNvdXJjZSkKIHsKKyAgICBtX2VsZW1lbnQtPmRvY3VtZW50KCktPmxvYWRl
cigpLT5mcmFtZUxvYWRlcigpLT5jbGllbnQoKS0+ZGlzcGF0Y2hTY3JpcHRMb2FkRmluaXNoZWQo
bV9lbGVtZW50LmdldCgpLCByZXNvdXJjZSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
bGVtZW50LmNwcAppbmRleCA5YzE2NTRlMWZjMTg5ZjgyMjE2ODM2MzNmMjNiODU2YzZlODU2ZWIw
Li41NWRlOGNkMzVmNzY5MWJhMjllYzllNzhkMDdlNjc0MWI5ZGJkZDBlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC0yOSw5ICsyOSwxMSBAQAogI2luY2x1ZGUgIkNvbnRl
bnRTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNp
bmNsdWRlICJEb2N1bWVudFBhcnNlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAi
RnJhbWVMb2FkZXIuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJI
VE1MU2NyaXB0RWxlbWVudC5oIgpAQCAtMzI5LDYgKzMzMSw4IEBAIHZvaWQgU2NyaXB0RWxlbWVu
dDo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQogICAgIEFTU0VSVCgh
bV93aWxsQmVQYXJzZXJFeGVjdXRlZCk7CiAgICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgcmVz
b3VyY2UgPT0gbV9jYWNoZWRTY3JpcHQpOwogCisgICAgbV9lbGVtZW50LT5kb2N1bWVudCgpLT5s
b2FkZXIoKS0+ZnJhbWVMb2FkZXIoKS0+Y2xpZW50KCktPmRpc3BhdGNoU2NyaXB0TG9hZEZpbmlz
aGVkKG1fZWxlbWVudCwgcmVzb3VyY2UpOworCiAgICAgaWYgKG1fcmVxdWVzdFVzZXNBY2Nlc3ND
b250cm9sCiAgICAgICAgICYmICFtX2VsZW1lbnQtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2lu
KCktPmNhblJlcXVlc3QobV9jYWNoZWRTY3JpcHQtPnJlc3BvbnNlKCkudXJsKCkpCiAgICAgICAg
ICYmICFtX2NhY2hlZFNjcmlwdC0+cGFzc2VzQWNjZXNzQ29udHJvbENoZWNrKG1fZWxlbWVudC0+
ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggYmU4MTAyODdhNzBkNTVlOGU2NTZiZmYzZDY0MGFhZmE1
MzNiMTA2YS4uMmYxNDc4OGE0MDliYzA1ODcxZmViYWE2NTM1NzI1OWQ2NWI5ZDI3NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTYyLDYgKzYyLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7
CiAgICAgY2xhc3MgQ2FjaGVkRnJhbWU7CisgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAgICAg
Y2xhc3MgQ29sb3I7CiAgICAgY2xhc3MgRE9NV2luZG93RXh0ZW5zaW9uOwogICAgIGNsYXNzIERP
TVdyYXBwZXJXb3JsZDsKQEAgLTEzMiw3ICsxMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRl
ciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSkgPSAwOwogICAgICAgICB2aXJ0dWFsIGJv
b2wgc2hvdWxkVXNlQ3JlZGVudGlhbFN0b3JhZ2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpID0gMDsKLSAgICAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkQ2FuY2VsQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlJikgPSAwOyAgICAgICAgCisgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaERpZENhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvY3VtZW50TG9hZGVyKiwgdW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpID0g
MDsKICNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLKQogICAgICAgICB2aXJ0
dWFsIGJvb2wgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShEb2N1bWVudExv
YWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUHJvdGVjdGlvblNwYWNlJikg
PSAwOwogI2VuZGlmCkBAIC0xNjIsNiArMTYzLDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGaW5pc2hEb2N1bWVudExvYWQoKSA9IDA7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpbmlzaExvYWQoKSA9IDA7CiAKKyAgICAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoSW1hZ2VMb2FkRmluaXNoZWQoRWxlbWVudCosIENhY2hl
ZFJlc291cmNlKikgeyB9CisgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFNjcmlwdExvYWRG
aW5pc2hlZChFbGVtZW50KiwgQ2FjaGVkUmVzb3VyY2UqKSB7IH0KKwogICAgICAgICB2aXJ0dWFs
IHZvaWQgZGlzcGF0Y2hEaWRGaXJzdExheW91dCgpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lk
IGRpc3BhdGNoRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0KCkgPSAwOwogICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWROZXdGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQoKSB7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IGU4OTdmOGE0ZTMwZjJh
ZDUzMGM3OWY5MjFhNTk5ZWVkM2I1OTFjMTUuLjI1NzI3MjdhMDU1NGFkMjViZDdhNDk1YWE5YmQ3
NjdmYWY5Njc5MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAtMjYs
MTAgKzI2LDEzIEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRl
ICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2lu
Y2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUg
IkVsZW1lbnRTaGFkb3cuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50U2Vu
ZGVyLmgiCisjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlckNs
aWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxPYmplY3RFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgpAQCAtMjY0LDYgKzI2Nyw4IEBA
IHZvaWQgSW1hZ2VMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJj
ZSkKICAgICBpZiAoIW1faGFzUGVuZGluZ0xvYWRFdmVudCkKICAgICAgICAgcmV0dXJuOwogCisg
ICAgZG9jdW1lbnQoKS0+bG9hZGVyKCktPmZyYW1lTG9hZGVyKCktPmNsaWVudCgpLT5kaXNwYXRj
aEltYWdlTG9hZEZpbmlzaGVkKGNsaWVudCgpLT5zb3VyY2VFbGVtZW50KCksIHJlc291cmNlKTsK
KwogICAgIGlmIChjbGllbnQoKS0+c291cmNlRWxlbWVudCgpLT5mYXN0SGFzQXR0cmlidXRlKEhU
TUxOYW1lczo6Y3Jvc3NvcmlnaW5BdHRyKQogICAgICAgICAmJiAhZG9jdW1lbnQoKS0+c2VjdXJp
dHlPcmlnaW4oKS0+Y2FuUmVxdWVzdChpbWFnZSgpLT5yZXNwb25zZSgpLnVybCgpKQogICAgICAg
ICAmJiAhcmVzb3VyY2UtPnBhc3Nlc0FjY2Vzc0NvbnRyb2xDaGVjayhkb2N1bWVudCgpLT5zZWN1
cml0eU9yaWdpbigpKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRnJhbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZy
YW1lQ2xpZW50LmgKaW5kZXggYmMzMmQ2ZDg0ZjFhYjFlMThmYTVhNzFmNTAxMmRlN2ZmZWVhYzM0
YS4uZWE2NjkzMDg5ZDU3MGMyYWExN2E5OTIzNzk4YzgxZTc2MDdkMjg0MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCkBAIC01Myw2ICs1Myw3
IEBAIGNsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50OwogY2xhc3MgV2ViQ29va2ll
SmFyOwogY2xhc3MgV2ViRGF0YVNvdXJjZTsKIGNsYXNzIFdlYkRPTUV2ZW50OworY2xhc3MgV2Vi
RWxlbWVudDsKIGNsYXNzIFdlYkZvcm1FbGVtZW50OwogY2xhc3MgV2ViRnJhbWU7CiBjbGFzcyBX
ZWJJbnRlbnQ7CkBAIC0yMjIsNiArMjIzLDEyIEBAIHB1YmxpYzoKICAgICAvLyBUaGUgZnJhbWUn
cyBkb2N1bWVudCBhbmQgYWxsIG9mIGl0cyBzdWJyZXNvdXJjZXMgc3VjY2VlZGVkIHRvIGxvYWQu
CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWQoV2ViRnJhbWUqKSB7IH0KIAorICAgIC8v
IFRoZSBVUkwgcmVxdWVzdCBmb3IgdGhlIGdpdmVuIGltYWdlIGVsZW1lbnQgZmluaXNoZWQgbG9h
ZGluZy4KKyAgICB2aXJ0dWFsIHZvaWQgaW1hZ2VMb2FkRmluaXNoZWQoV2ViRnJhbWUqLCBjb25z
dCBXZWJFbGVtZW50JiwgY29uc3QgV2ViVVJMUmVxdWVzdCYpIHsgfQorCisgICAgLy8gVGhlIFVS
TCByZXF1ZXN0IGZvciB0aGUgZ2l2ZW4gc2NyaXB0IGVsZW1lbnQgZmluaXNoZWQgbG9hZGluZy4K
KyAgICB2aXJ0dWFsIHZvaWQgc2NyaXB0TG9hZEZpbmlzaGVkKFdlYkZyYW1lKiwgY29uc3QgV2Vi
RWxlbWVudCYsIGNvbnN0IFdlYlVSTFJlcXVlc3QmKSB7IH0KKwogICAgIC8vIFRoZSBuYXZpZ2F0
aW9uIHJlc3VsdGVkIGluIG5vIGNoYW5nZSB0byB0aGUgZG9jdW1lbnRzIHdpdGhpbiB0aGUgcGFn
ZS4KICAgICAvLyBGb3IgZXhhbXBsZSwgdGhlIG5hdmlnYXRpb24gbWF5IGhhdmUganVzdCByZXN1
bHRlZCBpbiBzY3JvbGxpbmcgdG8gYQogICAgIC8vIG5hbWVkIGFuY2hvciBvciBhIFBvcFN0YXRl
IGV2ZW50IG1heSBoYXZlIGJlZW4gZGlzcGF0Y2hlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCmluZGV4IGI2Nzc5OGU3NGU1
NjBhMjE2MzgwYmRlMGYxNmE4ZWUzZDZjMTNhMjguLjRkOWFmN2U4YzMwZmY5OTc3MGQ1MzBjNDI5
YWQyYjljYWI0ZmMzYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Zy
YW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
RnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkZy
YW1lTG9hZGVyQ2xpZW50SW1wbC5oIgogCiAjaW5jbHVkZSAiQmFja0ZvcndhcmRMaXN0Q2hyb21p
dW0uaCIKKyNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZS5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKQEAgLTY0
LDYgKzY1LDcgQEAKICNpbmNsdWRlICJXZWJEYXRhU291cmNlSW1wbC5oIgogI2luY2x1ZGUgIldl
YkRldlRvb2xzQWdlbnRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViRG9jdW1lbnQuaCIKKyNpbmNs
dWRlICJXZWJFbGVtZW50LmgiCiAjaW5jbHVkZSAiV2ViRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRl
ICJXZWJGcmFtZUNsaWVudC5oIgogI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgpAQCAtODYyLDYg
Kzg2NCwyMiBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hEaWRGaW5pc2hM
b2FkKCkKICAgICAvLyBwcm92aXNpb25hbCBsb2FkIHN1Y2NlZWRzIG9yIGZhaWxzLCBub3QgdGhl
ICJyZWFsIiBvbmUuCiB9CiAKK3ZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRjaElt
YWdlTG9hZEZpbmlzaGVkKEVsZW1lbnQqIHNvdXJjZUVsZW1lbnQsIENhY2hlZFJlc291cmNlKiBy
ZXNvdXJjZSkKK3sKKyAgICBXZWJFbGVtZW50IGVsZW1lbnQoc291cmNlRWxlbWVudCk7CisgICAg
V3JhcHBlZFJlc291cmNlUmVxdWVzdCB3ZWJyZXEocmVzb3VyY2UtPnJlc291cmNlUmVxdWVzdCgp
KTsKKyAgICBpZiAobV93ZWJGcmFtZS0+Y2xpZW50KCkpCisgICAgICAgIG1fd2ViRnJhbWUtPmNs
aWVudCgpLT5pbWFnZUxvYWRGaW5pc2hlZChtX3dlYkZyYW1lLCBlbGVtZW50LCB3ZWJyZXEpOwor
fQorCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hTY3JpcHRMb2FkRmluaXNo
ZWQoRWxlbWVudCogc291cmNlRWxlbWVudCwgQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlKQorewor
ICAgIFdlYkVsZW1lbnQgZWxlbWVudChzb3VyY2VFbGVtZW50KTsKKyAgICBXcmFwcGVkUmVzb3Vy
Y2VSZXF1ZXN0IHdlYnJlcShyZXNvdXJjZS0+cmVzb3VyY2VSZXF1ZXN0KCkpOworICAgIGlmICht
X3dlYkZyYW1lLT5jbGllbnQoKSkKKyAgICAgICAgbV93ZWJGcmFtZS0+Y2xpZW50KCktPnNjcmlw
dExvYWRGaW5pc2hlZChtX3dlYkZyYW1lLCBlbGVtZW50LCB3ZWJyZXEpOworfQorCiB2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hEaWRGaXJzdExheW91dCgpCiB7CiAgICAgaWYg
KG1fd2ViRnJhbWUtPmNsaWVudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAppbmRleCBlY2IyMGEyZmIyNWVmZTY0YWZlNjBkNDI0
NmU2Yzk5M2FmNWYzMTI5Li4yZTRlMGJiOWE1ZDMwYjU1M2QzNjM2MjYxYWUxNTFlM2NhYzNmNTA4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVu
dEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVu
dEltcGwuaApAQCAtMTA3LDYgKzEwNyw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlz
cGF0Y2hEaWRGYWlsTG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CiAgICAgdmly
dHVhbCB2b2lkIGRpc3BhdGNoRGlkRmluaXNoRG9jdW1lbnRMb2FkKCk7CiAgICAgdmlydHVhbCB2
b2lkIGRpc3BhdGNoRGlkRmluaXNoTG9hZCgpOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaElt
YWdlTG9hZEZpbmlzaGVkKFdlYkNvcmU6OkVsZW1lbnQqIHNvdXJjZUVsZW1lbnQsIFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlKik7CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoU2NyaXB0TG9hZEZp
bmlzaGVkKFdlYkNvcmU6OkVsZW1lbnQqIHNvdXJjZUVsZW1lbnQsIFdlYkNvcmU6OkNhY2hlZFJl
c291cmNlKik7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmlyc3RMYXlvdXQoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGaXJzdFZpc3VhbGx5Tm9uRW1wdHlMYXlvdXQoKTsK
ICAgICB2aXJ0dWFsIFdlYkNvcmU6OkZyYW1lKiBkaXNwYXRjaENyZWF0ZVBhZ2UoY29uc3QgV2Vi
Q29yZTo6TmF2aWdhdGlvbkFjdGlvbiYpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGM3NDA0MmU3NjBhOWVkZjIzY2E0ZmQyMWYyNzhjZDZiMGJl
YjBhMjkuLmJlZjgwNDAyNDdiOGNjYzkzMmVkNzY2MDJhNDE5NjQ1M2Q4NjZhZjYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMCBA
QAogMjAxMi0wNy0zMSAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KIAor
ICAgICAgICBBZGQgY2FsbGJhY2tzIHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCBmb3Igd2hlbiBh
IHJlc291cmNlIHJlcXVlc3QgZmluaXNoZWQgZm9yIGEgc2NyaXB0IG9yIGltYWdlIGVsZW1lbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNzYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVz
dFJ1bm5lci5kdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKCkuCisKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAg
IChMYXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAo
TGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3MpOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnJlc2V0KToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0
VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNob3Vs
ZER1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3MpOgorICAgICAgICAoTGF5b3V0VGVzdENv
bnRyb2xsZXI6OnNob3VsZER1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3MpOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oOgorICAgICAgICAoVGVzdFNo
ZWxsOjpzaG91bGREdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKToKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChXZWJWaWV3
SG9zdDo6aW1hZ2VMb2FkRmluaXNoZWQpOgorICAgICAgICAoV2ViVmlld0hvc3Q6OnNjcmlwdExv
YWRGaW5pc2hlZCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hv
c3QuaDoKKyAgICAgICAgKFdlYlZpZXdIb3N0KToKKworMjAxMi0wNy0zMSAgSm9jaGVuIEVpc2lu
Z2VyICA8am9jaGVuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBVbnJldmlld2VkLiBVcGRhdGUg
d2F0Y2hsaXN0CiAKICAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9jb25maWcvd2F0
Y2hsaXN0OiBUdXJuZWQgb3V0IHRvIGJlIGxlc3MgdXNlZnVsIHRoYW4gSSBoYWQgaG9wZWQKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9s
bGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9s
bGVyLmNwcAppbmRleCAwNDZlMWVjMmQ3YmNkNmNkOTFmMDIyNGExOGE1OTk4YjJkYzMzMmU5Li4y
NDg5ZjYxZTVhOThkZjUzMzkyYTI5YjE5MGYwNjI2MjhmMDgwZmRjIDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBA
IC0xNDAsNiArMTQwLDcgQEAgTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9s
bGVyKFRlc3RTaGVsbCogc2hlbGwpCiAgICAgYmluZE1ldGhvZCgiZHVtcFByb2dyZXNzRmluaXNo
ZWRDYWxsYmFjayIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcFByb2dyZXNzRmluaXNoZWRD
YWxsYmFjayk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxs
YmFja3MiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2Fk
Q2FsbGJhY2tzKTsKICAgICBiaW5kTWV0aG9kKCJkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzIiwg
JkxheW91dFRlc3RDb250cm9sbGVyOjpkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKTsKKyAgICBi
aW5kTWV0aG9kKCJkdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzIiwgJkxheW91dFRlc3RD
b250cm9sbGVyOjpkdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKTsKICAgICBiaW5kTWV0
aG9kKCJkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyIsICZMYXlvdXRUZXN0Q29udHJvbGxl
cjo6ZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMpOwogICAgIGJpbmRNZXRob2QoImR1bXBT
ZWxlY3Rpb25SZWN0IiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpkdW1wU2VsZWN0aW9uUmVjdCk7
CiAgICAgYmluZE1ldGhvZCgiZHVtcFN0YXR1c0NhbGxiYWNrcyIsICZMYXlvdXRUZXN0Q29udHJv
bGxlcjo6ZHVtcFdpbmRvd1N0YXR1c0NoYW5nZXMpOwpAQCAtNDAwLDYgKzQwMSwxMiBAQCB2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKGNvbnN0IENw
cEFyZ3VtZW50TGlzdCYsIENwcAogICAgIHJlc3VsdC0+c2V0TnVsbCgpOwogfQogCit2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpkdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKGNvbnN0
IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICBtX2R1bXBJbWFn
ZUFuZFNjcmlwdExvYWRDYWxsYmFja3MgPSB0cnVlOworICAgIHJlc3VsdC0+c2V0TnVsbCgpOwor
fQorCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVU
eXBlcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAgICAg
bV9kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyA9IHRydWU7CkBAIC02NjEsNiArNjY4LDcg
QEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVzZXQoKQogICAgIG1fZHVtcFByb2dyZXNz
RmluaXNoZWRDYWxsYmFjayA9IGZhbHNlOwogICAgIG1fZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxv
YWRDYWxsYmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MgPSBm
YWxzZTsKKyAgICBtX2R1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3MgPSBmYWxzZTsKICAg
ICBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzID0gZmFsc2U7CiAgICAgbV9kdW1wQmFj
a0ZvcndhcmRMaXN0ID0gZmFsc2U7CiAgICAgbV9kdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9u
cyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5
b3V0VGVzdENvbnRyb2xsZXIuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmgKaW5kZXggOWNmZDEyMzU5MjFhMjFhYjVhMWIzZWM0YzIyM2E5N2Rk
MjU2MDBhMC4uMDg1Njg5ZGJhYmJlM2I0OGU0OTYzNWNmOGU2M2RlMTBhYjhkYjMzZSAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIu
aAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5oCkBAIC0xMDIsNyArMTAyLDEyIEBAIHB1YmxpYzoKICAgICAvLyBsaW5lIGZvciBlYWNoIHJl
c291cmNlIGxvYWQgY2FsbGJhY2suIEl0IHRha2VzIG5vIGFyZ3VtZW50cywgYW5kIGlnbm9yZXMK
ICAgICAvLyBhbnkgdGhhdCBtYXkgYmUgcHJlc2VudC4KICAgICB2b2lkIGR1bXBSZXNvdXJjZUxv
YWRDYWxsYmFja3MoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOyAgICAKLSAg
ICAKKworICAgIC8vIFRoaXMgZnVuY3Rpb24gc2V0cyBhIGZsYWcgdGhhdCB0ZWxscyB0aGUgdGVz
dF9zaGVsbCB0byBkdW1wIGEKKyAgICAvLyBkZXNjcmlwdGl2ZSBsaW5lIGZvciBlYWNoIGltYWdl
IGFuZCBzY3JpcHQgZWxlbWVudCB0aGF0IGxvYWRlZCBpdHMKKyAgICAvLyByZXNvdXJjZSB1c2lu
ZyBhIHJlc291cmNlIHJlcXVlc3QuCisgICAgdm9pZCBkdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2Fs
bGJhY2tzKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKKwogICAgIC8vIFRo
aXMgZnVuY3Rpb24gc2V0cyBhIGZsYWcgdGhhdCB0ZWxscyB0aGUgdGVzdF9zaGVsbCB0byBkdW1w
IHRoZSBNSU1FIHR5cGUKICAgICAvLyBmb3IgZWFjaCByZXNvdXJjZSB0aGF0IHdhcyBsb2FkZWQu
IEl0IHRha2VzIG5vIGFyZ3VtZW50cywgYW5kIGlnbm9yZXMgYW55CiAgICAgLy8gdGhhdCBtYXkg
YmUgcHJlc2VudC4KQEAgLTQ1OSw2ICs0NjQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzaG91bGRE
dW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcFVzZXJH
ZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3M7IH0KICAgICB2b2lkIHNldFNob3VsZER1bXBVc2Vy
R2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzKGJvb2wgdmFsdWUpIHsgbV9kdW1wVXNlckdlc3R1
cmVJbkZyYW1lTG9hZENhbGxiYWNrcyA9IHZhbHVlOyB9CiAgICAgYm9vbCBzaG91bGREdW1wUmVz
b3VyY2VMb2FkQ2FsbGJhY2tzKCkge3JldHVybiBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3M7
IH0KKyAgICB2b2lkIHNldFNob3VsZER1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3MoYm9v
bCB2YWx1ZSkgeyBtX2R1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3MgPSB2YWx1ZTsgfQor
ICAgIGJvb2wgc2hvdWxkRHVtcEltYWdlQW5kU2NyaXB0TG9hZENhbGxiYWNrcygpIHsgcmV0dXJu
IG1fZHVtcEltYWdlQW5kU2NyaXB0TG9hZENhbGxiYWNrczsgfQogICAgIHZvaWQgc2V0U2hvdWxk
RHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoYm9vbCB2YWx1ZSkgeyBtX2R1bXBSZXNvdXJj
ZVJlc3BvbnNlTUlNRVR5cGVzID0gdmFsdWU7IH0KICAgICBib29sIHNob3VsZER1bXBSZXNvdXJj
ZVJlc3BvbnNlTUlNRVR5cGVzKCkge3JldHVybiBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5
cGVzOyB9CiAgICAgYm9vbCBzaG91bGREdW1wU3RhdHVzQ2FsbGJhY2tzKCkgeyByZXR1cm4gbV9k
dW1wV2luZG93U3RhdHVzQ2hhbmdlczsgfQpAQCAtNjExLDYgKzYxOCwxMCBAQCBwcml2YXRlOgog
ICAgIC8vIElmIHRydWUsIHRoZSB0ZXN0X3NoZWxsIHdpbGwgb3V0cHV0IGEgZGVzY3JpcHRpdmUg
bGluZSBmb3IgZWFjaCByZXNvdXJjZQogICAgIC8vIGxvYWQgY2FsbGJhY2suCiAgICAgYm9vbCBt
X2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3M7CisKKyAgICAvLyBJZiB0cnVlLCB0aGUgdGVzdF9z
aGVsbCB3aWxsIG91dHB1dCBhIGRlc2NyaXB0aXZlIGxpbmUgZm9yIGVhY2ggaW1hZ2UKKyAgICAv
LyBhbmQgc2NyaXB0IGVsZW1lbnQgdGhhdCBsb2FkZWQgaXRzIHJlc291cmNlIHVzaW5nIGEgcmVz
b3VyY2UgcmVxdWVzdC4KKyAgICBib29sIG1fZHVtcEltYWdlQW5kU2NyaXB0TG9hZENhbGxiYWNr
czsKICAgICAKICAgICAvLyBJZiB0cnVlLCB0aGUgdGVzdF9zaGVsbCB3aWxsIG91dHB1dCB0aGUg
TUlNRSB0eXBlIGZvciBlYWNoIHJlc291cmNlIHRoYXQgCiAgICAgLy8gd2FzIGxvYWRlZC4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKaW5kZXggMDc3ODE2MzZiYTc1
MDc1OTUyYjJmZjM4YzRjNDczZGQ3NmM0Y2I1Yy4uOWNhZmEyNzU0MmVkNDZiYTgyY2JlNGYwNWIz
N2UwYzQ4MTg4NmZjMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFNoZWxsLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxs
LmgKQEAgLTEyMCw2ICsxMjAsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBzaG91bGREdW1wVXNlckdl
c3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBh
cmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYmIGxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3Vs
ZER1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzKCk7IH0KICAgICBib29sIHNob3Vs
ZER1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSBjb25zdCAgeyByZXR1cm4gKG1fdGVzdElzUHJl
cGFyaW5nIHx8IG1fdGVzdElzUGVuZGluZykgJiYgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hv
dWxkRHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpOyB9CiAgICAgYm9vbCBzaG91bGREdW1wUmVz
b3VyY2VSZXNwb25zZU1JTUVUeXBlcygpIGNvbnN0ICB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJp
bmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiBsYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zaG91bGRE
dW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpOyB9CisgICAgYm9vbCBzaG91bGREdW1wSW1h
Z2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFy
aW5nIHx8IG1fdGVzdElzUGVuZGluZykgJiYgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvdWxk
RHVtcEltYWdlQW5kU2NyaXB0TG9hZENhbGxiYWNrcygpOyB9CiAgICAgdm9pZCBzZXRJc0xvYWRp
bmcoYm9vbCBmbGFnKSB7IG1faXNMb2FkaW5nID0gZmxhZzsgfQogCiAgICAgLy8gQ2FsbGVkIGJ5
IHRoZSBMYXlvdXRUZXN0Q29udHJvbGxlciB0byBzaWduYWwgdGVzdCBjb21wbGV0aW9uLgpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCmluZGV4IGJhNWVj
ZjBjODg3Yzc4NDViZTIxYTFmOGUwZGMyNzMyODFiNDM0MDQuLjczYWRmYTM3MzM5NmY5MzI1MjQw
YTI0MmUwYjE1MjJiNzlkMjA2NWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlZpZXdIb3N0LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJWaWV3SG9zdC5jcHAKQEAgLTEyMzAsNiArMTIzMCwzMiBAQCB2b2lkIFdlYlZpZXdIb3N0
OjpkaWRGaW5pc2hMb2FkKFdlYkZyYW1lKiBmcmFtZSkKICAgICBsb2NhdGlvbkNoYW5nZURvbmUo
ZnJhbWUpOwogfQogCit2b2lkIFdlYlZpZXdIb3N0OjppbWFnZUxvYWRGaW5pc2hlZChXZWJGcmFt
ZSogZnJhbWUsIGNvbnN0IFdlYkVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFdlYlVSTFJlcXVlc3Qm
IHJlcXVlc3QpCit7CisgICAgaWYgKG1fc2hlbGwtPnNob3VsZER1bXBJbWFnZUFuZFNjcmlwdExv
YWRDYWxsYmFja3MoKSkgeworICAgICAgICBwcmludEZyYW1lRGVzY3JpcHRpb24oZnJhbWUpOwor
ICAgICAgICBwcmludGYoIiAtIGltYWdlIGVsZW1lbnQgd2l0aCAiKTsKKyAgICAgICAgaWYgKGVs
ZW1lbnQuaGFzQXR0cmlidXRlKCJpZCIpKQorICAgICAgICAgICAgcHJpbnRmKCJpZCAnJXMnIiwg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIHByaW50Zigibm8gaWQiKTsKKyAgICAgICAgcHJpbnRmKCIgZmluaXNoZWQg
bG9hZGluZyAnJXMnXG4iLCBVUkxEZXNjcmlwdGlvbihyZXF1ZXN0LnVybCgpKS5jX3N0cigpKTsK
KyAgICB9Cit9CisKK3ZvaWQgV2ViVmlld0hvc3Q6OnNjcmlwdExvYWRGaW5pc2hlZChXZWJGcmFt
ZSogZnJhbWUsIGNvbnN0IFdlYkVsZW1lbnQmIGVsZW1lbnQsIGNvbnN0IFdlYlVSTFJlcXVlc3Qm
IHJlcXVlc3QpCit7CisgICAgaWYgKG1fc2hlbGwtPnNob3VsZER1bXBJbWFnZUFuZFNjcmlwdExv
YWRDYWxsYmFja3MoKSkgeworICAgICAgICBwcmludEZyYW1lRGVzY3JpcHRpb24oZnJhbWUpOwor
ICAgICAgICBwcmludGYoIiAtIHNjcmlwdCBlbGVtZW50IHdpdGggIik7CisgICAgICAgIGlmIChl
bGVtZW50Lmhhc0F0dHJpYnV0ZSgiaWQiKSkKKyAgICAgICAgICAgIHByaW50ZigiaWQgJyVzJyIs
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBwcmludGYoIm5vIGlkIik7CisgICAgICAgIHByaW50ZigiIGZpbmlzaGVk
IGxvYWRpbmcgJyVzJ1xuIiwgVVJMRGVzY3JpcHRpb24ocmVxdWVzdC51cmwoKSkuY19zdHIoKSk7
CisgICAgfQorfQorCiB2b2lkIFdlYlZpZXdIb3N0OjpkaWROYXZpZ2F0ZVdpdGhpblBhZ2UoV2Vi
RnJhbWUqIGZyYW1lLCBib29sIGlzTmV3TmF2aWdhdGlvbikKIHsKICAgICBmcmFtZS0+ZGF0YVNv
dXJjZSgpLT5zZXRFeHRyYURhdGEobV9wZW5kaW5nRXh0cmFEYXRhLmxlYWtQdHIoKSk7CmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAppbmRleCAxM2YyZTFlYzUz
ZWI4MmIxMjhlYzI5ZjE2YzA1ZDg1OTQyMjc2NGU2Li43ZTkzMWEyYjkxMWJkZDMxYjQ2YjNjM2Ez
NDdjYzdhMzZmM2RmNGU3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJWaWV3SG9zdC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZp
ZXdIb3N0LmgKQEAgLTI1Miw2ICsyNTIsOCBAQCBjbGFzcyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBX
ZWJLaXQ6OldlYlZpZXdDbGllbnQsIHB1YmxpYyBXZWJLaXQ6OldlYkZyYW1lQ2xpZW50LAogICAg
IHZpcnR1YWwgdm9pZCBkaWRIYW5kbGVPbmxvYWRFdmVudHMoV2ViS2l0OjpXZWJGcmFtZSopOwog
ICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsTG9hZChXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2Vi
S2l0OjpXZWJVUkxFcnJvciYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkKFdlYktp
dDo6V2ViRnJhbWUqKTsKKyAgICB2aXJ0dWFsIHZvaWQgaW1hZ2VMb2FkRmluaXNoZWQoV2ViS2l0
OjpXZWJGcmFtZSosIGNvbnN0IFdlYktpdDo6V2ViRWxlbWVudCYsIGNvbnN0IFdlYktpdDo6V2Vi
VVJMUmVxdWVzdCYpOworICAgIHZpcnR1YWwgdm9pZCBzY3JpcHRMb2FkRmluaXNoZWQoV2ViS2l0
OjpXZWJGcmFtZSosIGNvbnN0IFdlYktpdDo6V2ViRWxlbWVudCYsIGNvbnN0IFdlYktpdDo6V2Vi
VVJMUmVxdWVzdCYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWROYXZpZ2F0ZVdpdGhpblBhZ2UoV2Vi
S2l0OjpXZWJGcmFtZSosIGJvb2wgaXNOZXdOYXZpZ2F0aW9uKTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkQ2hhbmdlTG9jYXRpb25XaXRoaW5QYWdlKFdlYktpdDo6V2ViRnJhbWUqKTsKICAgICB2aXJ0
dWFsIHZvaWQgYXNzaWduSWRlbnRpZmllclRvUmVxdWVzdChXZWJLaXQ6OldlYkZyYW1lKiwgdW5z
aWduZWQgaWRlbnRpZmllciwgY29uc3QgV2ViS2l0OjpXZWJVUkxSZXF1ZXN0Jik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ZTYxMmE2ZjM4ZTk3NzRhNTY1N2FkNzliMjIyMDljZDU2NmUyOWVhMy4uOTEyNmEwMjY4NmZhZDEw
MzVkODJjMzU5NWI0MDUwN2NkZTU4NTkyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA3
LTMxICBKb2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFk
ZCBjYWxsYmFja3MgdG8gdGhlIEZyYW1lTG9hZGVyQ2xpZW50IGZvciB3aGVuIGEgcmVzb3VyY2Ug
cmVxdWVzdCBmaW5pc2hlZCBmb3IgYSBzY3JpcHQgb3IgaW1hZ2UgZWxlbWVudAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2Zhc3QvbG9hZGVyL2ltYWdlLWxvYWQtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFj
a3MuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIv
cmVzb3VyY2VzL2VtcHR5LmpzOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9m
YXN0L2xvYWRlci9zY3JpcHQtbG9hZC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9zY3JpcHQtbG9hZC1jYWxsYmFj
a3MuaHRtbDogQWRkZWQuCisKIDIwMTItMDctMzEgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lA
d2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBVbnNraXAg
cGFzc2luZyB0ZXN0cyBhbmQgYWRkIG5ldyBleHBlY3RlZCBmaWxlcy4gKGJ1Zzg1MjAzKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvaW1hZ2Ut
bG9hZC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9sb2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY5ZDBlZGQwYmUyNTAwNGRmMmQzOTQ1ZGYyNTAwMjAxNTk1OWE2NzAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1s
b2FkLWNhbGxiYWNrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACittYWluIGZyYW1lIC0g
aW1hZ2UgZWxlbWVudCB3aXRoIGlkICdpbWcnIGZpbmlzaGVkIGxvYWRpbmcgJ2Jvc3Rvbi5naWYn
CitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGNvcnJlY3QgY2FsbGJhY2tzIGZvciBpbWFnZSBs
b2FkcyBhcmUgaW52b2tlZC4gSXQgcGFzc2VzIGlmIHlvdSBzZWUgZXhhY3RseSBvbmUgY2FsbGJh
Y2sgZm9yIHRoZSBpbWFnZSB3aXRoIGlkICdpbWcnLgorCisgCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1sb2FkLWNhbGxiYWNrcy5o
dG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvaW1hZ2UtbG9h
ZC1jYWxsYmFja3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44N2Q5MjE5Yzg0NzU3MGY3ZGU5YTcxMDc2OTdk
MDM5M2I3YzgzNjAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vZmFzdC9sb2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFja3MuaHRtbApAQCAtMCwwICsxLDIx
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1
bm5lci5kdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKCk7Cit9IGVsc2UgeworICAgIGRv
Y3VtZW50LndyaXRlKCJUaGlzIHRlc3QgY2Fubm90IHJ1biB3aXRob3V0IGEgdGVzdFJ1bm5lciIp
OworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPgorICBUaGlzIHRlc3QgY2hlY2tz
IHRoYXQgdGhlIGNvcnJlY3QgY2FsbGJhY2tzIGZvciBpbWFnZSBsb2FkcyBhcmUgaW52b2tlZC4g
SXQKKyAgcGFzc2VzIGlmIHlvdSBzZWUgZXhhY3RseSBvbmUgY2FsbGJhY2sgZm9yIHRoZSBpbWFn
ZSB3aXRoIGlkICdpbWcnLgorPC9wPgorPGltZyBpZD0iaW1nIiBzcmM9Ii4uLy4uL3Blcm1pc3Np
b25jbGllbnQvcmVzb3VyY2VzL2Jvc3Rvbi5naWYiIC8+Cis8aW1nIGlkPSJpbWctZmFpbCIgLz4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9lbXB0eS5qcyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9lbXB0eS5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjFh
MzkzNzQxYzk2YzAzYzM3MTJiNGM4MGIzZDJiY2QwNjk1OWI2Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvcmVzb3VyY2VzL2VtcHR5
LmpzCkBAIC0wLDAgKzEgQEAKKy8vIGVtcHR5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9zY3JpcHQtbG9hZC1jYWxsYmFja3MtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvc2NyaXB0LWxv
YWQtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMWZmZGZkNTJlMmIzMmE3NTg4
MTEwOGYxMjBiZjQyYmMwNjU5MTZlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvc2NyaXB0LWxvYWQtY2FsbGJhY2tzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDIgQEAKK21haW4gZnJhbWUgLSBzY3JpcHQgZWxlbWVudCB3aXRoIGlk
ICdzY3JpcHQnIGZpbmlzaGVkIGxvYWRpbmcgJ2VtcHR5LmpzJworVGhpcyB0ZXN0IGNoZWNrcyB0
aGF0IHRoZSBjb3JyZWN0IGNhbGxiYWNrcyBmb3Igc2NyaXB0IGxvYWRzIGFyZSBpbnZva2VkLiBJ
dCBwYXNzZXMgaWYgeW91IHNlZSBleGFjdGx5IG9uZSBjYWxsYmFjayBmb3IgdGhlIHNjcmlwdCB3
aXRoIGlkICdzY3JpcHQnLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9sb2FkZXIvc2NyaXB0LWxvYWQtY2FsbGJhY2tzLmh0bWwgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9zY3JpcHQtbG9hZC1jYWxsYmFja3MuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44ODQ2ODczYmVhZTBlYmZlN2Q3ZmZlYjJhOGZhMDNlMTE3ZDVkMWVhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIv
c2NyaXB0LWxvYWQtY2FsbGJhY2tzLmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgewor
ICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcEltYWdlQW5k
U2NyaXB0TG9hZENhbGxiYWNrcygpOworfSBlbHNlIHsKKyAgICBkb2N1bWVudC53cml0ZSgiVGhp
cyB0ZXN0IGNhbm5vdCBydW4gd2l0aG91dCBhIHRlc3RSdW5uZXIiKTsKK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD4KKyAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBjb3JyZWN0
IGNhbGxiYWNrcyBmb3Igc2NyaXB0IGxvYWRzIGFyZSBpbnZva2VkLiBJdAorICBwYXNzZXMgaWYg
eW91IHNlZSBleGFjdGx5IG9uZSBjYWxsYmFjayBmb3IgdGhlIHNjcmlwdCB3aXRoIGlkICdzY3Jp
cHQnLgorPC9wPgorPHNjcmlwdCBpZD0ic2NyaXB0IiBzcmM9InJlc291cmNlcy9lbXB0eS5qcyIg
Lz4KKzxzY3JpcHQgaWQ9InNjcmlwdC1mYWlsIj4KKy8vIG5vdGhpbmcgaW50ZXJlc3RpbmcgaGVy
ZQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>155773</attachid>
            <date>2012-08-01 03:40:31 -0700</date>
            <delta_ts>2012-10-16 19:36:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92761-20120801124013.patch</filename>
            <type>text/plain</type>
            <size>26235</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0MTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGNlMjE4YjAyYzNjMmNh
N2I5YTMzZDliMWM2MjFjZGE4NTFhMWU3MS4uMzhiNjRhZTNiMGZkZDEzODBjOTFlYzhkYzIwZmFl
Y2UxZjFlZDQyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA3LTMxICBKb2No
ZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBjYWxsYmFj
a3MgdG8gdGhlIEZyYW1lTG9hZGVyQ2xpZW50IGZvciB3aGVuIGEgcmVzb3VyY2UgcmVxdWVzdCBm
aW5pc2hlZCBmb3IgYSBzY3JpcHQgb3IgaW1hZ2UgZWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBjaHJvbWl1bSwgd2hlbiBhbiBleHRlbnNp
b24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrIHJlcXVlc3QgKHdoaWNoCisgICAgICAgIGhhcHBl
bnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8gbm90aWZ5IGNvbnRlbnQgc2NyaXB0cyBy
dW5uaW5nIG9uCisgICAgICAgIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQgd2hpY2ggZWxlbWVudHMg
ZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUKKyAgICAgICAgcmVxdWVzdHMgd2VyZSBjYW5jZWxs
ZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0IGp1c3QKKyAgICAgICAg
ZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBpdHNlbGYgZG9lcyBub3Qg
Y2FycnkgYW55CisgICAgICAgIGluZm9ybWF0aW9uIHdoYXQgRE9NIGVsZW1lbnQgaXMgd2FzIG1h
ZGUgZm9yLCBjdXJyZW50bHkgYSBjb250ZW50IHNjcmlwdAorICAgICAgICBoYXMgdG8gc2VhcmNo
IHRoZSBET00gdHJlZSBhbmQgZ3Vlc3Mgd2hpY2ggcmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQg
YnkKKyAgICAgICAgaXRzIGNvdW50ZXIgcGFydC4gQnkgYWRkaW5nIHRoZXNlIGNhbGxiYWNrcywg
dGhlIGVtYmVkZGVyIGNhbiBtYWtlIHRoaXMKKyAgICAgICAgY29ubmVjdGlvbiBleHBsaWN0ZWx5
LgorCisgICAgICAgIFRlc3RzOiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1s
b2FkLWNhbGxiYWNrcy5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L2xvYWRlci9zY3JpcHQtbG9hZC1jYWxsYmFja3MuaHRtbAorCisgICAgICAgICogZG9tL1Njcmlw
dEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6bm90aWZ5Rmlu
aXNoZWQpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTFNjcmlwdFJ1bm5lcjo6ZXhlY3V0ZVNjcmlwdHNXYWl0aW5nRm9y
TG9hZCk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKEZyYW1lTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6
OkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaEltYWdlTG9hZEZpbmlzaGVkKToKKyAgICAgICAg
KFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaFNjcmlwdExvYWRGaW5pc2hlZCk6
CisgICAgICAgICogbG9hZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlTG9hZGVyOjpub3RpZnlGaW5pc2hlZCk6CisKIDIwMTItMDctMzEgIFJhdWwgSHVkZWEgIDxy
aHVkZWFAYWRvYmUuY29tPgogCiAgICAgICAgIEluc3BlY3RvciBjcmFzaGVzIHdoZW4gdHJ5aW5n
IHRvIGluc3BlY3QgYSBwYWdlIHdpdGggQ1NTIHJlZ2lvbiBzdHlsaW5nCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDVkMDc4MTdmMGMxZDJiZDliM2E1MGE4MTczODg3NzZmZmI5MmEzNTMu
LjFlNTJiYjUzMDAwZDJiMTIzNDJhNzU0YmFhZTUzOTc0MDMzZWUwZjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDctMzEgIEpvY2hlbiBFaXNpbmdl
ciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0byB0aGUg
RnJhbWVMb2FkZXJDbGllbnQgZm9yIHdoZW4gYSByZXNvdXJjZSByZXF1ZXN0IGZpbmlzaGVkIGZv
ciBhIHNjcmlwdCBvciBpbWFnZSBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogcHVibGljL1dlYkZyYW1lQ2xpZW50Lmg6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViRnJhbWVDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUNsaWVudDo6aW1hZ2VMb2FkRmluaXNoZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFt
ZUNsaWVudDo6c2NyaXB0TG9hZEZpbmlzaGVkKToKKyAgICAgICAgKiBzcmMvRnJhbWVMb2FkZXJD
bGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnRJbXBsOjpk
aXNwYXRjaEltYWdlTG9hZEZpbmlzaGVkKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChX
ZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hTY3JpcHRMb2FkRmluaXNoZWQp
OgorICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaDoKKyAgICAgICAgKEZyYW1l
TG9hZGVyQ2xpZW50SW1wbCk6CisKIDIwMTItMDctMzEgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJl
dmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIx
MjQxNzkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKaW5kZXggOWMxNjU0ZTFmYzE4
OWY4MjIxNjgzNjMzZjIzYjg1NmM2ZTg1NmViMC4uNTVkZThjZDM1Zjc2OTFiYTI5ZWM5ZTc4ZDA3
ZTY3NDFiOWRiZGQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcApAQCAtMjks
OSArMjksMTEgQEAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRl
ICJDcm9zc09yaWdpbkFjY2Vzc0NvbnRyb2wuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2lu
Y2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRQYXJzZXIuaCIKICNp
bmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCisjaW5jbHVkZSAiRnJh
bWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1M
UGFyc2VySWRpb21zLmgiCiAjaW5jbHVkZSAiSFRNTFNjcmlwdEVsZW1lbnQuaCIKQEAgLTMyOSw2
ICszMzEsOCBAQCB2b2lkIFNjcmlwdEVsZW1lbnQ6Om5vdGlmeUZpbmlzaGVkKENhY2hlZFJlc291
cmNlKiByZXNvdXJjZSkKICAgICBBU1NFUlQoIW1fd2lsbEJlUGFyc2VyRXhlY3V0ZWQpOwogICAg
IEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsIHJlc291cmNlID09IG1fY2FjaGVkU2NyaXB0KTsKIAor
ICAgIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS0+bG9hZGVyKCktPmZyYW1lTG9hZGVyKCktPmNsaWVu
dCgpLT5kaXNwYXRjaFNjcmlwdExvYWRGaW5pc2hlZChtX2VsZW1lbnQsIHJlc291cmNlKTsKKwog
ICAgIGlmIChtX3JlcXVlc3RVc2VzQWNjZXNzQ29udHJvbAogICAgICAgICAmJiAhbV9lbGVtZW50
LT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KG1fY2FjaGVkU2NyaXB0
LT5yZXNwb25zZSgpLnVybCgpKQogICAgICAgICAmJiAhbV9jYWNoZWRTY3JpcHQtPnBhc3Nlc0Fj
Y2Vzc0NvbnRyb2xDaGVjayhtX2VsZW1lbnQtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkp
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MU2NyaXB0UnVu
bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuY3Bw
CmluZGV4IDA0MjQ0YTY1OGY2ZTFjYzQwOGExNTViZDcyMGUxNGYwNzVlOWY1YjkuLjY4ZTI3Yjdh
Yjc4YTJjNmU3NTJkNTk3ODc4NjgxZGQ5MDBjMGEwZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxTY3JpcHRSdW5uZXIuY3BwCkBAIC0yOSw5ICsyOSwxMyBAQAogI2lu
Y2x1ZGUgIkF0dHJpYnV0ZS5oIgogI2luY2x1ZGUgIkNhY2hlZFNjcmlwdC5oIgogI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRl
ICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJFdmVu
dC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiRnJhbWVMb2FkZXIuaCIKKyNpbmNs
dWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dFN0cmVhbS5oIgog
I2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxTY3JpcHRSdW5uZXJIb3N0Lmgi
CkBAIC0xOTYsNiArMjAwLDcgQEAgdm9pZCBIVE1MU2NyaXB0UnVubmVyOjpleGVjdXRlU2NyaXB0
c1dhaXRpbmdGb3JMb2FkKENhY2hlZFJlc291cmNlKiBjYWNoZWRTY3JpcHQKICAgICBBU1NFUlQo
aGFzUGFyc2VyQmxvY2tpbmdTY3JpcHQoKSk7CiAgICAgQVNTRVJUX1VOVVNFRChjYWNoZWRTY3Jp
cHQsIG1fcGFyc2VyQmxvY2tpbmdTY3JpcHQuY2FjaGVkU2NyaXB0KCkgPT0gY2FjaGVkU2NyaXB0
KTsKICAgICBBU1NFUlQobV9wYXJzZXJCbG9ja2luZ1NjcmlwdC5jYWNoZWRTY3JpcHQoKS0+aXNM
b2FkZWQoKSk7CisgICAgbV9kb2N1bWVudC0+bG9hZGVyKCktPmZyYW1lTG9hZGVyKCktPmNsaWVu
dCgpLT5kaXNwYXRjaFNjcmlwdExvYWRGaW5pc2hlZChtX3BhcnNlckJsb2NraW5nU2NyaXB0LmVs
ZW1lbnQoKSwgY2FjaGVkU2NyaXB0KTsKICAgICBleGVjdXRlUGFyc2luZ0Jsb2NraW5nU2NyaXB0
cygpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJD
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCmluZGV4
IGJlODEwMjg3YTcwZDU1ZThlNjU2YmZmM2Q2NDBhYWZhNTMzYjEwNmEuLjJmMTQ3ODhhNDA5YmMw
NTg3MWZlYmFhNjUzNTcyNTlkNjViOWQyNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlckNsaWVudC5oCkBAIC02Miw2ICs2Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwogICAgIGNsYXNzIENhY2hlZEZyYW1l
OworICAgIGNsYXNzIENhY2hlZFJlc291cmNlOwogICAgIGNsYXNzIENvbG9yOwogICAgIGNsYXNz
IERPTVdpbmRvd0V4dGVuc2lvbjsKICAgICBjbGFzcyBET01XcmFwcGVyV29ybGQ7CkBAIC0xMzIs
NyArMTMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlz
cGF0Y2hXaWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0
UmVzcG9uc2UpID0gMDsKICAgICAgICAgdmlydHVhbCBib29sIHNob3VsZFVzZUNyZWRlbnRpYWxT
dG9yYWdlKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKSA9IDA7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZShEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgQXV0
aGVudGljYXRpb25DaGFsbGVuZ2UmKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aERpZENhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKERvY3VtZW50TG9hZGVyKiwgdW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpID0gMDsg
ICAgICAgIAorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRDYW5jZWxBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZShEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwg
Y29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKSA9IDA7CiAjaWYgVVNFKFBST1RFQ1RJT05f
U1BBQ0VfQVVUSF9DQUxMQkFDSykKICAgICAgICAgdmlydHVhbCBib29sIGNhbkF1dGhlbnRpY2F0
ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlk
ZW50aWZpZXIsIGNvbnN0IFByb3RlY3Rpb25TcGFjZSYpID0gMDsKICNlbmRpZgpAQCAtMTYyLDYg
KzE2Myw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoRGlkRmluaXNoRG9jdW1lbnRMb2FkKCkgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlz
cGF0Y2hEaWRGaW5pc2hMb2FkKCkgPSAwOwogCisgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRj
aEltYWdlTG9hZEZpbmlzaGVkKEVsZW1lbnQqLCBDYWNoZWRSZXNvdXJjZSopIHsgfQorICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hTY3JpcHRMb2FkRmluaXNoZWQoRWxlbWVudCosIENhY2hl
ZFJlc291cmNlKikgeyB9CisKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmlyc3RM
YXlvdXQoKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpcnN0VmlzdWFs
bHlOb25FbXB0eUxheW91dCgpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlk
TmV3Rmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0lt
YWdlTG9hZGVyLmNwcAppbmRleCBlODk3ZjhhNGUzMGYyYWQ1MzBjNzlmOTIxYTU5OWVlZDNiNTkx
YzE1Li4yNTcyNzI3YTA1NTRhZDI1YmQ3YTQ5NWFhOWJkNzY3ZmFmOTY3OTBjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKQEAgLTI2LDEwICsyNiwxMyBAQAogI2luY2x1ZGUg
IkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiQ3Jvc3NPcmlnaW5BY2Nlc3NDb250
cm9sLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJEb2N1bWVudExvYWRlci5o
IgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50U2hhZG93LmgiCiAjaW5j
bHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudFNlbmRlci5oIgorI2luY2x1ZGUgIkZyYW1l
TG9hZGVyLmgiCisjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKICNpbmNsdWRlICJIVE1MT2JqZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxQ
YXJzZXJJZGlvbXMuaCIKQEAgLTI2NCw2ICsyNjcsOCBAQCB2b2lkIEltYWdlTG9hZGVyOjpub3Rp
ZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCiAgICAgaWYgKCFtX2hhc1BlbmRp
bmdMb2FkRXZlbnQpCiAgICAgICAgIHJldHVybjsKIAorICAgIGRvY3VtZW50KCktPmxvYWRlcigp
LT5mcmFtZUxvYWRlcigpLT5jbGllbnQoKS0+ZGlzcGF0Y2hJbWFnZUxvYWRGaW5pc2hlZChjbGll
bnQoKS0+c291cmNlRWxlbWVudCgpLCByZXNvdXJjZSk7CisKICAgICBpZiAoY2xpZW50KCktPnNv
dXJjZUVsZW1lbnQoKS0+ZmFzdEhhc0F0dHJpYnV0ZShIVE1MTmFtZXM6OmNyb3Nzb3JpZ2luQXR0
cikKICAgICAgICAgJiYgIWRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhblJlcXVlc3Qo
aW1hZ2UoKS0+cmVzcG9uc2UoKS51cmwoKSkKICAgICAgICAgJiYgIXJlc291cmNlLT5wYXNzZXNB
Y2Nlc3NDb250cm9sQ2hlY2soZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSkpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCmluZGV4IGJjMzJk
NmQ4NGYxYWIxZTE4ZmE1YTcxZjUwMTJkZTdmZmVlYWMzNGEuLmVhNjY5MzA4OWQ1NzBjMmFhMTdh
OTkyMzc5OGM4MWU3NjA3ZDI4NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkZyYW1lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRnJhbWVDbGllbnQuaApAQCAtNTMsNiArNTMsNyBAQCBjbGFzcyBXZWJBcHBsaWNhdGlv
bkNhY2hlSG9zdENsaWVudDsKIGNsYXNzIFdlYkNvb2tpZUphcjsKIGNsYXNzIFdlYkRhdGFTb3Vy
Y2U7CiBjbGFzcyBXZWJET01FdmVudDsKK2NsYXNzIFdlYkVsZW1lbnQ7CiBjbGFzcyBXZWJGb3Jt
RWxlbWVudDsKIGNsYXNzIFdlYkZyYW1lOwogY2xhc3MgV2ViSW50ZW50OwpAQCAtMjIyLDYgKzIy
MywxMiBAQCBwdWJsaWM6CiAgICAgLy8gVGhlIGZyYW1lJ3MgZG9jdW1lbnQgYW5kIGFsbCBvZiBp
dHMgc3VicmVzb3VyY2VzIHN1Y2NlZWRlZCB0byBsb2FkLgogICAgIHZpcnR1YWwgdm9pZCBkaWRG
aW5pc2hMb2FkKFdlYkZyYW1lKikgeyB9CiAKKyAgICAvLyBUaGUgVVJMIHJlcXVlc3QgZm9yIHRo
ZSBnaXZlbiBpbWFnZSBlbGVtZW50IGZpbmlzaGVkIGxvYWRpbmcuCisgICAgdmlydHVhbCB2b2lk
IGltYWdlTG9hZEZpbmlzaGVkKFdlYkZyYW1lKiwgY29uc3QgV2ViRWxlbWVudCYsIGNvbnN0IFdl
YlVSTFJlcXVlc3QmKSB7IH0KKworICAgIC8vIFRoZSBVUkwgcmVxdWVzdCBmb3IgdGhlIGdpdmVu
IHNjcmlwdCBlbGVtZW50IGZpbmlzaGVkIGxvYWRpbmcuCisgICAgdmlydHVhbCB2b2lkIHNjcmlw
dExvYWRGaW5pc2hlZChXZWJGcmFtZSosIGNvbnN0IFdlYkVsZW1lbnQmLCBjb25zdCBXZWJVUkxS
ZXF1ZXN0JikgeyB9CisKICAgICAvLyBUaGUgbmF2aWdhdGlvbiByZXN1bHRlZCBpbiBubyBjaGFu
Z2UgdG8gdGhlIGRvY3VtZW50cyB3aXRoaW4gdGhlIHBhZ2UuCiAgICAgLy8gRm9yIGV4YW1wbGUs
IHRoZSBuYXZpZ2F0aW9uIG1heSBoYXZlIGp1c3QgcmVzdWx0ZWQgaW4gc2Nyb2xsaW5nIHRvIGEK
ICAgICAvLyBuYW1lZCBhbmNob3Igb3IgYSBQb3BTdGF0ZSBldmVudCBtYXkgaGF2ZSBiZWVuIGRp
c3BhdGNoZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxv
YWRlckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2Fk
ZXJDbGllbnRJbXBsLmNwcAppbmRleCBiNjc3OThlNzRlNTYwYTIxNjM4MGJkZTBmMTZhOGVlM2Q2
YzEzYTI4Li40ZDlhZjdlOGMzMGZmOTk3NzBkNTMwYzQyOWFkMmI5Y2FiNGZjM2EyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5j
cHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudEltcGwuaCIK
IAogI2luY2x1ZGUgIkJhY2tGb3J3YXJkTGlzdENocm9taXVtLmgiCisjaW5jbHVkZSAiQ2FjaGVk
UmVzb3VyY2UuaCIKICNpbmNsdWRlICJDaHJvbWUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgog
I2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCkBAIC02NCw2ICs2NSw3IEBACiAjaW5jbHVkZSAi
V2ViRGF0YVNvdXJjZUltcGwuaCIKICNpbmNsdWRlICJXZWJEZXZUb29sc0FnZW50UHJpdmF0ZS5o
IgogI2luY2x1ZGUgIldlYkRvY3VtZW50LmgiCisjaW5jbHVkZSAiV2ViRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIldlYkZvcm1FbGVtZW50LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVDbGllbnQuaCIKICNp
bmNsdWRlICJXZWJGcmFtZUltcGwuaCIKQEAgLTg2Miw2ICs4NjQsMjIgQEAgdm9pZCBGcmFtZUxv
YWRlckNsaWVudEltcGw6OmRpc3BhdGNoRGlkRmluaXNoTG9hZCgpCiAgICAgLy8gcHJvdmlzaW9u
YWwgbG9hZCBzdWNjZWVkcyBvciBmYWlscywgbm90IHRoZSAicmVhbCIgb25lLgogfQogCit2b2lk
IEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hJbWFnZUxvYWRGaW5pc2hlZChFbGVtZW50
KiBzb3VyY2VFbGVtZW50LCBDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UpCit7CisgICAgV2ViRWxl
bWVudCBlbGVtZW50KHNvdXJjZUVsZW1lbnQpOworICAgIFdyYXBwZWRSZXNvdXJjZVJlcXVlc3Qg
d2VicmVxKHJlc291cmNlLT5yZXNvdXJjZVJlcXVlc3QoKSk7CisgICAgaWYgKG1fd2ViRnJhbWUt
PmNsaWVudCgpKQorICAgICAgICBtX3dlYkZyYW1lLT5jbGllbnQoKS0+aW1hZ2VMb2FkRmluaXNo
ZWQobV93ZWJGcmFtZSwgZWxlbWVudCwgd2VicmVxKTsKK30KKwordm9pZCBGcmFtZUxvYWRlckNs
aWVudEltcGw6OmRpc3BhdGNoU2NyaXB0TG9hZEZpbmlzaGVkKEVsZW1lbnQqIHNvdXJjZUVsZW1l
bnQsIENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKK3sKKyAgICBXZWJFbGVtZW50IGVsZW1lbnQo
c291cmNlRWxlbWVudCk7CisgICAgV3JhcHBlZFJlc291cmNlUmVxdWVzdCB3ZWJyZXEocmVzb3Vy
Y2UtPnJlc291cmNlUmVxdWVzdCgpKTsKKyAgICBpZiAobV93ZWJGcmFtZS0+Y2xpZW50KCkpCisg
ICAgICAgIG1fd2ViRnJhbWUtPmNsaWVudCgpLT5zY3JpcHRMb2FkRmluaXNoZWQobV93ZWJGcmFt
ZSwgZWxlbWVudCwgd2VicmVxKTsKK30KKwogdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRp
c3BhdGNoRGlkRmlyc3RMYXlvdXQoKQogewogICAgIGlmIChtX3dlYkZyYW1lLT5jbGllbnQoKSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50
SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBs
LmgKaW5kZXggZWNiMjBhMmZiMjVlZmU2NGFmZTYwZDQyNDZlNmM5OTNhZjVmMzEyOS4uMmU0ZTBi
YjlhNWQzMGI1NTNkMzYzNjI2MWFlMTUxZTNjYWMzZjUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKQEAgLTEwNyw2ICsxMDcs
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmFpbExvYWQoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZp
bmlzaERvY3VtZW50TG9hZCgpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpbmlzaExv
YWQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hJbWFnZUxvYWRGaW5pc2hlZChXZWJDb3Jl
OjpFbGVtZW50KiBzb3VyY2VFbGVtZW50LCBXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZSopOworICAg
IHZpcnR1YWwgdm9pZCBkaXNwYXRjaFNjcmlwdExvYWRGaW5pc2hlZChXZWJDb3JlOjpFbGVtZW50
KiBzb3VyY2VFbGVtZW50LCBXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZSopOwogICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaERpZEZpcnN0TGF5b3V0KCk7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
RGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5TGF5b3V0KCk7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpG
cmFtZSogZGlzcGF0Y2hDcmVhdGVQYWdlKGNvbnN0IFdlYkNvcmU6Ok5hdmlnYXRpb25BY3Rpb24m
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBj
NzQwNDJlNzYwYTllZGYyM2NhNGZkMjFmMjc4Y2Q2YjBiZWIwYTI5Li5iZWY4MDQwMjQ3YjhjY2M5
MzJlZDc2NjAyYTQxOTY0NTNkODY2YWY2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzAgQEAKIDIwMTItMDctMzEgIEpvY2hlbiBF
aXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0
byB0aGUgRnJhbWVMb2FkZXJDbGllbnQgZm9yIHdoZW4gYSByZXNvdXJjZSByZXF1ZXN0IGZpbmlz
aGVkIGZvciBhIHNjcmlwdCBvciBpbWFnZSBlbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHRlc3RSdW5uZXIuZHVtcEltYWdlQW5kU2Ny
aXB0TG9hZENhbGxiYWNrcygpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
TGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6
OkxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpk
dW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKToKKyAgICAgICAgKExheW91dFRlc3RDb250
cm9sbGVyOjpyZXNldCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0
VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAg
ICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRTaG91bGREdW1wSW1hZ2VBbmRTY3JpcHRMb2Fk
Q2FsbGJhY2tzKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzaG91bGREdW1wSW1h
Z2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9UZXN0U2hlbGwuaDoKKyAgICAgICAgKFRlc3RTaGVsbDo6c2hvdWxkRHVtcEltYWdlQW5k
U2NyaXB0TG9hZENhbGxiYWNrcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVmlld0hvc3QuY3BwOgorICAgICAgICAoV2ViVmlld0hvc3Q6OmltYWdlTG9hZEZpbmlzaGVk
KToKKyAgICAgICAgKFdlYlZpZXdIb3N0OjpzY3JpcHRMb2FkRmluaXNoZWQpOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisgICAgICAgIChXZWJWaWV3
SG9zdCk6CisKKzIwMTItMDctMzEgIEpvY2hlbiBFaXNpbmdlciAgPGpvY2hlbkBjaHJvbWl1bS5v
cmc+CisKICAgICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIHdhdGNobGlzdAogCiAgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9jb21tb24vY29uZmlnL3dhdGNobGlzdDogVHVybmVkIG91dCB0byBi
ZSBsZXNzIHVzZWZ1bCB0aGFuIEkgaGFkIGhvcGVkCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMDQ2ZTFlYzJk
N2JjZDZjZDkxZjAyMjRhMThhNTk5OGIyZGMzMzJlOS4uMjQ4OWY2MWU1YTk4ZGY1MzM5MmEyOWIx
OTBmMDYyNjI4ZjA4MGZkYyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMTQwLDYgKzE0MCw3IEBAIExheW91
dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihUZXN0U2hlbGwqIHNoZWxsKQog
ICAgIGJpbmRNZXRob2QoImR1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2siLCAmTGF5b3V0VGVz
dENvbnRyb2xsZXI6OmR1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2spOwogICAgIGJpbmRNZXRo
b2QoImR1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzIiwgJkxheW91dFRlc3RDb250
cm9sbGVyOjpkdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcyk7CiAgICAgYmluZE1l
dGhvZCgiZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6
ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyk7CisgICAgYmluZE1ldGhvZCgiZHVtcEltYWdlQW5k
U2NyaXB0TG9hZENhbGxiYWNrcyIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVtcEltYWdlQW5k
U2NyaXB0TG9hZENhbGxiYWNrcyk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFJlc291cmNlUmVzcG9u
c2VNSU1FVHlwZXMiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBSZXNvdXJjZVJlc3BvbnNl
TUlNRVR5cGVzKTsKICAgICBiaW5kTWV0aG9kKCJkdW1wU2VsZWN0aW9uUmVjdCIsICZMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6ZHVtcFNlbGVjdGlvblJlY3QpOwogICAgIGJpbmRNZXRob2QoImR1bXBT
dGF0dXNDYWxsYmFja3MiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OmR1bXBXaW5kb3dTdGF0dXND
aGFuZ2VzKTsKQEAgLTQwMCw2ICs0MDEsMTIgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHAKICAg
ICByZXN1bHQtPnNldE51bGwoKTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZHVt
cEltYWdlQW5kU2NyaXB0TG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBW
YXJpYW50KiByZXN1bHQpCit7CisgICAgbV9kdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tz
ID0gdHJ1ZTsKKyAgICByZXN1bHQtPnNldE51bGwoKTsKK30KKwogdm9pZCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6ZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoY29uc3QgQ3BwQXJndW1lbnRM
aXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIG1fZHVtcFJlc291cmNlUmVzcG9uc2VN
SU1FVHlwZXMgPSB0cnVlOwpAQCAtNjYxLDYgKzY2OCw3IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnJlc2V0KCkKICAgICBtX2R1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2sgPSBmYWxz
ZTsKICAgICBtX2R1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzID0gZmFsc2U7CiAg
ICAgbV9kdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzID0gZmFsc2U7CisgICAgbV9kdW1wSW1hZ2VB
bmRTY3JpcHRMb2FkQ2FsbGJhY2tzID0gZmFsc2U7CiAgICAgbV9kdW1wUmVzb3VyY2VSZXNwb25z
ZU1JTUVUeXBlcyA9IGZhbHNlOwogICAgIG1fZHVtcEJhY2tGb3J3YXJkTGlzdCA9IGZhbHNlOwog
ICAgIG1fZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnMgPSBmYWxzZTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4
IDljZmQxMjM1OTIxYTIxYWI1YTFiM2VjNGMyMjNhOTdkZDI1NjAwYTAuLjA4NTY4OWRiYWJiZTNi
NDhlNDk2MzVjZjhlNjNkZTEwYWI4ZGIzM2UgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMTAyLDcgKzEwMiwxMiBA
QCBwdWJsaWM6CiAgICAgLy8gbGluZSBmb3IgZWFjaCByZXNvdXJjZSBsb2FkIGNhbGxiYWNrLiBJ
dCB0YWtlcyBubyBhcmd1bWVudHMsIGFuZCBpZ25vcmVzCiAgICAgLy8gYW55IHRoYXQgbWF5IGJl
IHByZXNlbnQuCiAgICAgdm9pZCBkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKGNvbnN0IENwcEFy
Z3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsgICAgCi0gICAgCisKKyAgICAvLyBUaGlzIGZ1bmN0
aW9uIHNldHMgYSBmbGFnIHRoYXQgdGVsbHMgdGhlIHRlc3Rfc2hlbGwgdG8gZHVtcCBhCisgICAg
Ly8gZGVzY3JpcHRpdmUgbGluZSBmb3IgZWFjaCBpbWFnZSBhbmQgc2NyaXB0IGVsZW1lbnQgdGhh
dCBsb2FkZWQgaXRzCisgICAgLy8gcmVzb3VyY2UgdXNpbmcgYSByZXNvdXJjZSByZXF1ZXN0Lgor
ICAgIHZvaWQgZHVtcEltYWdlQW5kU2NyaXB0TG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50Kik7CisKICAgICAvLyBUaGlzIGZ1bmN0aW9uIHNldHMgYSBmbGFn
IHRoYXQgdGVsbHMgdGhlIHRlc3Rfc2hlbGwgdG8gZHVtcCB0aGUgTUlNRSB0eXBlCiAgICAgLy8g
Zm9yIGVhY2ggcmVzb3VyY2UgdGhhdCB3YXMgbG9hZGVkLiBJdCB0YWtlcyBubyBhcmd1bWVudHMs
IGFuZCBpZ25vcmVzIGFueQogICAgIC8vIHRoYXQgbWF5IGJlIHByZXNlbnQuCkBAIC00NTksNiAr
NDY0LDggQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkRHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxv
YWRDYWxsYmFja3MoKSB7IHJldHVybiBtX2R1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJh
Y2tzOyB9CiAgICAgdm9pZCBzZXRTaG91bGREdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxi
YWNrcyhib29sIHZhbHVlKSB7IG1fZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3Mg
PSB2YWx1ZTsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpIHty
ZXR1cm4gbV9kdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzOyB9CisgICAgdm9pZCBzZXRTaG91bGRE
dW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKGJvb2wgdmFsdWUpIHsgbV9kdW1wSW1hZ2VB
bmRTY3JpcHRMb2FkQ2FsbGJhY2tzID0gdmFsdWU7IH0KKyAgICBib29sIHNob3VsZER1bXBJbWFn
ZUFuZFNjcmlwdExvYWRDYWxsYmFja3MoKSB7IHJldHVybiBtX2R1bXBJbWFnZUFuZFNjcmlwdExv
YWRDYWxsYmFja3M7IH0KICAgICB2b2lkIHNldFNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlN
RVR5cGVzKGJvb2wgdmFsdWUpIHsgbV9kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyA9IHZh
bHVlOyB9CiAgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpIHty
ZXR1cm4gbV9kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlczsgfQogICAgIGJvb2wgc2hvdWxk
RHVtcFN0YXR1c0NhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcFdpbmRvd1N0YXR1c0NoYW5nZXM7
IH0KQEAgLTYxMSw2ICs2MTgsMTAgQEAgcHJpdmF0ZToKICAgICAvLyBJZiB0cnVlLCB0aGUgdGVz
dF9zaGVsbCB3aWxsIG91dHB1dCBhIGRlc2NyaXB0aXZlIGxpbmUgZm9yIGVhY2ggcmVzb3VyY2UK
ICAgICAvLyBsb2FkIGNhbGxiYWNrLgogICAgIGJvb2wgbV9kdW1wUmVzb3VyY2VMb2FkQ2FsbGJh
Y2tzOworCisgICAgLy8gSWYgdHJ1ZSwgdGhlIHRlc3Rfc2hlbGwgd2lsbCBvdXRwdXQgYSBkZXNj
cmlwdGl2ZSBsaW5lIGZvciBlYWNoIGltYWdlCisgICAgLy8gYW5kIHNjcmlwdCBlbGVtZW50IHRo
YXQgbG9hZGVkIGl0cyByZXNvdXJjZSB1c2luZyBhIHJlc291cmNlIHJlcXVlc3QuCisgICAgYm9v
bCBtX2R1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3M7CiAgICAgCiAgICAgLy8gSWYgdHJ1
ZSwgdGhlIHRlc3Rfc2hlbGwgd2lsbCBvdXRwdXQgdGhlIE1JTUUgdHlwZSBmb3IgZWFjaCByZXNv
dXJjZSB0aGF0IAogICAgIC8vIHdhcyBsb2FkZWQuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5oCmluZGV4IDA3NzgxNjM2YmE3NTA3NTk1MmIyZmYzOGM0YzQ3M2RkNzZj
NGNiNWMuLjljYWZhMjc1NDJlZDQ2YmE4MmNiZTRmMDViMzdlMGM0ODE4ODZmYzAgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCisrKyBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCkBAIC0xMjAsNiArMTIwLDcgQEAg
cHVibGljOgogICAgIGJvb2wgc2hvdWxkRHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFj
a3MoKSBjb25zdCB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5n
KSAmJiBsYXlvdXRUZXN0Q29udHJvbGxlcigpLT5zaG91bGREdW1wVXNlckdlc3R1cmVJbkZyYW1l
TG9hZENhbGxiYWNrcygpOyB9CiAgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJh
Y2tzKCkgY29uc3QgIHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRp
bmcpICYmIGxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3VsZER1bXBSZXNvdXJjZUxvYWRDYWxs
YmFja3MoKTsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMo
KSBjb25zdCAgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5nIHx8IG1fdGVzdElzUGVuZGluZykg
JiYgbGF5b3V0VGVzdENvbnRyb2xsZXIoKS0+c2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1F
VHlwZXMoKTsgfQorICAgIGJvb2wgc2hvdWxkRHVtcEltYWdlQW5kU2NyaXB0TG9hZENhbGxiYWNr
cygpIGNvbnN0IHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcp
ICYmIGxheW91dFRlc3RDb250cm9sbGVyKCktPnNob3VsZER1bXBJbWFnZUFuZFNjcmlwdExvYWRD
YWxsYmFja3MoKTsgfQogICAgIHZvaWQgc2V0SXNMb2FkaW5nKGJvb2wgZmxhZykgeyBtX2lzTG9h
ZGluZyA9IGZsYWc7IH0KIAogICAgIC8vIENhbGxlZCBieSB0aGUgTGF5b3V0VGVzdENvbnRyb2xs
ZXIgdG8gc2lnbmFsIHRlc3QgY29tcGxldGlvbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1dlYlZpZXdIb3N0LmNwcAppbmRleCBiYTVlY2YwYzg4N2M3ODQ1YmUyMWExZjhlMGRj
MjczMjgxYjQzNDA0Li43M2FkZmEzNzMzOTZmOTMyNTI0MGEyNDJlMGIxNTIyYjc5ZDIwNjVhIDEw
MDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAK
KysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCkBAIC0x
MjMwLDYgKzEyMzAsMzIgQEAgdm9pZCBXZWJWaWV3SG9zdDo6ZGlkRmluaXNoTG9hZChXZWJGcmFt
ZSogZnJhbWUpCiAgICAgbG9jYXRpb25DaGFuZ2VEb25lKGZyYW1lKTsKIH0KIAordm9pZCBXZWJW
aWV3SG9zdDo6aW1hZ2VMb2FkRmluaXNoZWQoV2ViRnJhbWUqIGZyYW1lLCBjb25zdCBXZWJFbGVt
ZW50JiBlbGVtZW50LCBjb25zdCBXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0KQoreworICAgIGlmICht
X3NoZWxsLT5zaG91bGREdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKCkpIHsKKyAgICAg
ICAgcHJpbnRGcmFtZURlc2NyaXB0aW9uKGZyYW1lKTsKKyAgICAgICAgcHJpbnRmKCIgLSBpbWFn
ZSBlbGVtZW50IHdpdGggIik7CisgICAgICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZSgiaWQi
KSkKKyAgICAgICAgICAgIHByaW50ZigiaWQgJyVzJyIsIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJp
ZCIpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBwcmludGYoIm5v
IGlkIik7CisgICAgICAgIHByaW50ZigiIGZpbmlzaGVkIGxvYWRpbmcgJyVzJ1xuIiwgVVJMRGVz
Y3JpcHRpb24ocmVxdWVzdC51cmwoKSkuY19zdHIoKSk7CisgICAgfQorfQorCit2b2lkIFdlYlZp
ZXdIb3N0OjpzY3JpcHRMb2FkRmluaXNoZWQoV2ViRnJhbWUqIGZyYW1lLCBjb25zdCBXZWJFbGVt
ZW50JiBlbGVtZW50LCBjb25zdCBXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0KQoreworICAgIGlmICht
X3NoZWxsLT5zaG91bGREdW1wSW1hZ2VBbmRTY3JpcHRMb2FkQ2FsbGJhY2tzKCkpIHsKKyAgICAg
ICAgcHJpbnRGcmFtZURlc2NyaXB0aW9uKGZyYW1lKTsKKyAgICAgICAgcHJpbnRmKCIgLSBzY3Jp
cHQgZWxlbWVudCB3aXRoICIpOworICAgICAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoImlk
IikpCisgICAgICAgICAgICBwcmludGYoImlkICclcyciLCBlbGVtZW50LmdldEF0dHJpYnV0ZSgi
aWQiKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJpbnRmKCJu
byBpZCIpOworICAgICAgICBwcmludGYoIiBmaW5pc2hlZCBsb2FkaW5nICclcydcbiIsIFVSTERl
c2NyaXB0aW9uKHJlcXVlc3QudXJsKCkpLmNfc3RyKCkpOworICAgIH0KK30KKwogdm9pZCBXZWJW
aWV3SG9zdDo6ZGlkTmF2aWdhdGVXaXRoaW5QYWdlKFdlYkZyYW1lKiBmcmFtZSwgYm9vbCBpc05l
d05hdmlnYXRpb24pCiB7CiAgICAgZnJhbWUtPmRhdGFTb3VyY2UoKS0+c2V0RXh0cmFEYXRhKG1f
cGVuZGluZ0V4dHJhRGF0YS5sZWFrUHRyKCkpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1dlYlZpZXdIb3N0LmgKaW5kZXggMTNmMmUxZWM1M2ViODJiMTI4ZWMyOWYxNmMwNWQ4NTk0
MjI3NjRlNi4uN2U5MzFhMmI5MTFiZGQzMWI0NmIzYzNhMzQ3Y2M3YTM2ZjNkZjRlNyAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCkBAIC0yNTIsNiArMjUy
LDggQEAgY2xhc3MgV2ViVmlld0hvc3QgOiBwdWJsaWMgV2ViS2l0OjpXZWJWaWV3Q2xpZW50LCBw
dWJsaWMgV2ViS2l0OjpXZWJGcmFtZUNsaWVudCwKICAgICB2aXJ0dWFsIHZvaWQgZGlkSGFuZGxl
T25sb2FkRXZlbnRzKFdlYktpdDo6V2ViRnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFp
bExvYWQoV2ViS2l0OjpXZWJGcmFtZSosIGNvbnN0IFdlYktpdDo6V2ViVVJMRXJyb3ImKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZChXZWJLaXQ6OldlYkZyYW1lKik7CisgICAgdmly
dHVhbCB2b2lkIGltYWdlTG9hZEZpbmlzaGVkKFdlYktpdDo6V2ViRnJhbWUqLCBjb25zdCBXZWJL
aXQ6OldlYkVsZW1lbnQmLCBjb25zdCBXZWJLaXQ6OldlYlVSTFJlcXVlc3QmKTsKKyAgICB2aXJ0
dWFsIHZvaWQgc2NyaXB0TG9hZEZpbmlzaGVkKFdlYktpdDo6V2ViRnJhbWUqLCBjb25zdCBXZWJL
aXQ6OldlYkVsZW1lbnQmLCBjb25zdCBXZWJLaXQ6OldlYlVSTFJlcXVlc3QmKTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkTmF2aWdhdGVXaXRoaW5QYWdlKFdlYktpdDo6V2ViRnJhbWUqLCBib29sIGlz
TmV3TmF2aWdhdGlvbik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUxvY2F0aW9uV2l0aGlu
UGFnZShXZWJLaXQ6OldlYkZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGFzc2lnbklkZW50aWZp
ZXJUb1JlcXVlc3QoV2ViS2l0OjpXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50aWZpZXIsIGNvbnN0
IFdlYktpdDo6V2ViVVJMUmVxdWVzdCYpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU2MTJhNmYzOGU5Nzc0YTU2NTdhZDc5
YjIyMjA5Y2Q1NjZlMjllYTMuLjkxMjZhMDI2ODZmYWQxMDM1ZDgyYzM1OTViNDA1MDdjZGU1ODU5
MjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0wNy0zMSAgSm9jaGVuIEVpc2luZ2VyICA8
am9jaGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tzIHRvIHRoZSBGcmFt
ZUxvYWRlckNsaWVudCBmb3Igd2hlbiBhIHJlc291cmNlIHJlcXVlc3QgZmluaXNoZWQgZm9yIGEg
c2NyaXB0IG9yIGltYWdlIGVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTkyNzYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1sb2Fk
LWNhbGxiYWNrcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9t
aXVtL2Zhc3QvbG9hZGVyL2ltYWdlLWxvYWQtY2FsbGJhY2tzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9lbXB0eS5qczogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvc2NyaXB0LWxvYWQt
Y2FsbGJhY2tzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9sb2FkZXIvc2NyaXB0LWxvYWQtY2FsbGJhY2tzLmh0bWw6IEFkZGVkLgorCiAyMDEy
LTA3LTMxICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAg
W1F0XSBVbnJldmlld2VkIGdhcmRlbmluZy4gVW5za2lwIHBhc3NpbmcgdGVzdHMgYW5kIGFkZCBu
ZXcgZXhwZWN0ZWQgZmlsZXMuIChidWc4NTIwMykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL2ltYWdlLWxvYWQtY2FsbGJhY2tzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL2ltYWdlLWxv
YWQtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OWQwZWRkMGJlMjUwMDRkZjJk
Mzk0NWRmMjUwMDIwMTU5NTlhNjcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFja3MtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNCBAQAorbWFpbiBmcmFtZSAtIGltYWdlIGVsZW1lbnQgd2l0aCBpZCAn
aW1nJyBmaW5pc2hlZCBsb2FkaW5nICdib3N0b24uZ2lmJworVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IHRoZSBjb3JyZWN0IGNhbGxiYWNrcyBmb3IgaW1hZ2UgbG9hZHMgYXJlIGludm9rZWQuIEl0IHBh
c3NlcyBpZiB5b3Ugc2VlIGV4YWN0bHkgb25lIGNhbGxiYWNrIGZvciB0aGUgaW1hZ2Ugd2l0aCBp
ZCAnaW1nJy4KKworIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
ZmFzdC9sb2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFja3MuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL2ltYWdlLWxvYWQtY2FsbGJhY2tzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uODdkOTIxOWM4NDc1NzBmN2RlOWE3MTA3Njk3ZDAzOTNiN2M4MzYwMgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL2ltYWdl
LWxvYWQtY2FsbGJhY2tzLmh0bWwKQEAgLTAsMCArMSwyMSBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcEltYWdlQW5kU2NyaXB0
TG9hZENhbGxiYWNrcygpOworfSBlbHNlIHsKKyAgICBkb2N1bWVudC53cml0ZSgiVGhpcyB0ZXN0
IGNhbm5vdCBydW4gd2l0aG91dCBhIHRlc3RSdW5uZXIiKTsKK30KKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8cD4KKyAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBjb3JyZWN0IGNhbGxi
YWNrcyBmb3IgaW1hZ2UgbG9hZHMgYXJlIGludm9rZWQuIEl0CisgIHBhc3NlcyBpZiB5b3Ugc2Vl
IGV4YWN0bHkgb25lIGNhbGxiYWNrIGZvciB0aGUgaW1hZ2Ugd2l0aCBpZCAnaW1nJy4KKzwvcD4K
KzxpbWcgaWQ9ImltZyIgc3JjPSIuLi8uLi9wZXJtaXNzaW9uY2xpZW50L3Jlc291cmNlcy9ib3N0
b24uZ2lmIiAvPgorPGltZyBpZD0iaW1nLWZhaWwiIC8+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJj
ZXMvZW1wdHkuanMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9y
ZXNvdXJjZXMvZW1wdHkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIxYTM5Mzc0MWM5NmMwM2MzNzEyYjRjODBi
M2QyYmNkMDY5NTliNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9lbXB0eS5qcwpAQCAtMCwwICsxIEBACisvLyBl
bXB0eQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2Fk
ZXIvc2NyaXB0LWxvYWQtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3NjcmlwdC1sb2FkLWNhbGxiYWNrcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTFmZmRmZDUyZTJiMzJhNzU4ODExMDhmMTIwYmY0MmJjMDY1OTE2ZQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9h
ZGVyL3NjcmlwdC1sb2FkLWNhbGxiYWNrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitt
YWluIGZyYW1lIC0gc2NyaXB0IGVsZW1lbnQgd2l0aCBpZCAnc2NyaXB0JyBmaW5pc2hlZCBsb2Fk
aW5nICdlbXB0eS5qcycKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgY29ycmVjdCBjYWxsYmFj
a3MgZm9yIHNjcmlwdCBsb2FkcyBhcmUgaW52b2tlZC4gSXQgcGFzc2VzIGlmIHlvdSBzZWUgZXhh
Y3RseSBvbmUgY2FsbGJhY2sgZm9yIHRoZSBzY3JpcHQgd2l0aCBpZCAnc2NyaXB0Jy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3NjcmlwdC1s
b2FkLWNhbGxiYWNrcy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9s
b2FkZXIvc2NyaXB0LWxvYWQtY2FsbGJhY2tzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGJjOWQzZTcwNWRk
ODJlOWU4MmJlZDhlZjJlNDk1NmFlZThmM2JjNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3NjcmlwdC1sb2FkLWNhbGxiYWNrcy5o
dG1sCkBAIC0wLDAgKzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBJbWFnZUFuZFNjcmlwdExvYWRDYWxsYmFja3MoKTsK
K30gZWxzZSB7CisgICAgZG9jdW1lbnQud3JpdGUoIlRoaXMgdGVzdCBjYW5ub3QgcnVuIHdpdGhv
dXQgYSB0ZXN0UnVubmVyIik7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+Cisg
IFRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgY29ycmVjdCBjYWxsYmFja3MgZm9yIHNjcmlwdCBs
b2FkcyBhcmUgaW52b2tlZC4gSXQKKyAgcGFzc2VzIGlmIHlvdSBzZWUgZXhhY3RseSBvbmUgY2Fs
bGJhY2sgZm9yIHRoZSBzY3JpcHQgd2l0aCBpZCAnc2NyaXB0Jy4KKzwvcD4KKzxzY3JpcHQgaWQ9
InNjcmlwdCIgc3JjPSJyZXNvdXJjZXMvZW1wdHkuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBpZD0i
c2NyaXB0LWZhaWwiPgorLy8gbm90aGluZyBpbnRlcmVzdGluZyBoZXJlCis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169073</attachid>
            <date>2012-10-16 19:36:38 -0700</date>
            <delta_ts>2012-10-17 10:12:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92761-20121017043526.patch</filename>
            <type>text/plain</type>
            <size>20137</size>
            <attacher name="Marja Hölttä">marja</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNlYjkxMDliZGQwM2Ix
Nzc3MTRmZmY1NmI2ZDVmMGEzMGZkMGJkMC4uNGM4NjJlYzkxMWVhYzdjOTJjYTQzMWFjMzlmNzVm
ZDdiOWU4OWU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTEwLTE2ICBNYXJq
YSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tz
IHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCBmb3Igd2hlbiBhbiBpbWFnZSBlbGVtZW50IHJlcXVl
c3RzIHRvIGxvYWQgYW4gaW1hZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05Mjc2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluIGNocm9taXVtLCB3aGVuIGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2Vs
cyBhIG5ldHdvcmsKKyAgICAgICAgcmVxdWVzdCAod2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2Vz
cyksIHdlJ2QgbGlrZSB0bworICAgICAgICBub3RpZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcg
b24gdGhlIGN1cnJlbnQgcGFnZSBhYm91dAorICAgICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQg
dG8gbG9hZCBiZWNhdXNlIHRoZSByZXF1ZXN0cyB3ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMg
b3Bwb3NlZCB0byBlLmcuIHRoZSBuZXR3b3JrIHJlcXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qg
d29yaykuIFNpbmNlIHRoZSByZXNvdXJjZSByZXF1ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAg
ICBjYXJyeSBhbnkgaW5mb3JtYXRpb24gd2hhdCBET00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3Is
CisgICAgICAgIGN1cnJlbnRseSBhIGNvbnRlbnQgc2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERP
TSB0cmVlIGFuZAorICAgICAgICBndWVzcyB3aGljaCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxl
ZCBieSBpdHMgY291bnRlcgorICAgICAgICBwYXJ0LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tz
LCB0aGUgZW1iZWRkZXIgY2FuIG1ha2UKKyAgICAgICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3Rl
bHkuCisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvaW1hZ2Ut
bG9hZC1jYWxsYmFja3MuaHRtbAorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50
Lmg6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hJbWFnZUxv
YWRSZXF1ZXN0ZWQpOgorICAgICAgICAoRnJhbWVMb2FkZXJDbGllbnQpOgorICAgICAgICAqIGxv
YWRlci9JbWFnZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUxvYWRlcjo6dXBk
YXRlRnJvbUVsZW1lbnQpOgorCiAyMDEyLTEwLTE2ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFt
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbUGFnZSBWaXNpYmlsaXR5IEFQSV0gVmlldy1sZXNz
IGRvY3VtZW50cyBzaG91bGQgcmVwb3J0IGFzIGhpZGRlbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwppbmRleCAzNDg5MThlNmQyYmMwMmM4OTk2YzdlODNhN2UzMWU4YmY2MzMyZDE5Li5jODQ4ZTA2
ZDk1YTBhMTFjZWQ0YWE4YTZiMGUyMWMxNDk0YTExNmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTEwLTE2ICBNYXJqYSBIw7ZsdHTDpCAgPG1hcmph
QGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tzIHRvIHRoZSBGcmFtZUxvYWRl
ckNsaWVudCBmb3Igd2hlbiBhbiBpbWFnZSBlbGVtZW50IHJlcXVlc3RzIHRvIGxvYWQgYW4gaW1h
Z2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc2
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGNo
cm9taXVtLCB3aGVuIGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2VscyBhIG5ldHdvcmsKKyAgICAg
ICAgcmVxdWVzdCAod2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2VzcyksIHdlJ2QgbGlrZSB0bwor
ICAgICAgICBub3RpZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcgb24gdGhlIGN1cnJlbnQgcGFn
ZSBhYm91dAorICAgICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQgdG8gbG9hZCBiZWNhdXNlIHRo
ZSByZXF1ZXN0cyB3ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMgb3Bwb3NlZCB0byBlLmcuIHRo
ZSBuZXR3b3JrIHJlcXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qgd29yaykuIFNpbmNlIHRoZSBy
ZXNvdXJjZSByZXF1ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAgICBjYXJyeSBhbnkgaW5mb3Jt
YXRpb24gd2hhdCBET00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3IsCisgICAgICAgIGN1cnJlbnRs
eSBhIGNvbnRlbnQgc2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERPTSB0cmVlIGFuZAorICAgICAg
ICBndWVzcyB3aGljaCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxlZCBieSBpdHMgY291bnRlcgor
ICAgICAgICBwYXJ0LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tzLCB0aGUgZW1iZWRkZXIgY2Fu
IG1ha2UKKyAgICAgICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3RlbHkuCisKKyAgICAgICAgKiBw
dWJsaWMvV2ViRnJhbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJG
cmFtZUNsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50OjpkaWRSZXF1ZXN0
SW1hZ2UpOgorICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoSW1hZ2VMb2FkUmVxdWVz
dGVkKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL0ZyYW1lTG9hZGVyQ2xpZW50
SW1wbC5oOgorICAgICAgICAoRnJhbWVMb2FkZXJDbGllbnRJbXBsKToKKwogMjAxMi0xMC0xNiAg
TWluIFFpbiAgPHFpbm1pbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRml4IGEgYnVnIHRoYXQg
d2UgYXJlIHVzaW5nIHNjYWxlZCBkYW1hZ2UgcmVjdCBmb3IgcGx1Z2lucyBpbnNpZGUgYW4gaWZy
YW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCmluZGV4IDRmMjM4
OGFmNWZiYjRjNWQ2NWMzMGJmZjg4ODQ1NTRjN2M4YjljMGQuLjYxNTdiMzZmNjRmMzM4ZGFiMTcz
MmMzNmE0NDZmNzgzYThmMDcxNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ckNsaWVudC5oCkBAIC0xNjYsNiArMTY2LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGaW5pc2hEb2N1bWVudExvYWQoKSA9IDA7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZEZpbmlzaExvYWQoKSA9IDA7CiAKKyAgICAgICAg
dmlydHVhbCB2b2lkIGRpc3BhdGNoSW1hZ2VMb2FkUmVxdWVzdGVkKEVsZW1lbnQqLCBjb25zdCBL
VVJMJikgeyB9CisKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkTGF5b3V0KCkgeyB9
CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZExheW91dChMYXlvdXRNaWxlc3RvbmVz
KSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAKaW5kZXggMDUyM2IzYTg5
ZjMxNjc1Y2M2OTllMTVkOWQxNjE2MDdmN2U3NWIxMS4uMGRkNzYxMjU0NmIyZjFhZjE2MjRjYTJh
NGZmY2E5ZTVhODdiZjI2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdl
TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCkBA
IC0yNiwxMCArMjYsMTMgQEAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgogI2lu
Y2x1ZGUgIkNyb3NzT3JpZ2luQWNjZXNzQ29udHJvbC5oIgogI2luY2x1ZGUgIkRvY3VtZW50Lmgi
CisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5j
bHVkZSAiRWxlbWVudFNoYWRvdy5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZl
bnRTZW5kZXIuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgorI2luY2x1ZGUgIkZyYW1lTG9h
ZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTE9iamVj
dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRpb21zLmgiCkBAIC0xODUsNiArMTg4
LDcgQEAgdm9pZCBJbWFnZUxvYWRlcjo6dXBkYXRlRnJvbUVsZW1lbnQoKQogICAgICAgICAgICAg
dXBkYXRlUmVxdWVzdEZvckFjY2Vzc0NvbnRyb2wocmVxdWVzdCwgZG9jdW1lbnQoKS0+c2VjdXJp
dHlPcmlnaW4oKSwgYWxsb3dDcmVkZW50aWFscyk7CiAgICAgICAgIH0KIAorICAgICAgICBkb2N1
bWVudCgpLT5sb2FkZXIoKS0+ZnJhbWVMb2FkZXIoKS0+Y2xpZW50KCktPmRpc3BhdGNoSW1hZ2VM
b2FkUmVxdWVzdGVkKGNsaWVudCgpLT5zb3VyY2VFbGVtZW50KCksIHJlcXVlc3QudXJsKCkpOwog
ICAgICAgICBpZiAobV9sb2FkTWFudWFsbHkpIHsKICAgICAgICAgICAgIGJvb2wgYXV0b0xvYWRP
dGhlckltYWdlcyA9IGRvY3VtZW50KCktPmNhY2hlZFJlc291cmNlTG9hZGVyKCktPmF1dG9Mb2Fk
SW1hZ2VzKCk7CiAgICAgICAgICAgICBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxvYWRlcigp
LT5zZXRBdXRvTG9hZEltYWdlcyhmYWxzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViRnJhbWVDbGllbnQuaAppbmRleCA3Mzk4MGJmN2YxZGQwODU1ODBiYzU1ZDhkOWM1
NjZmMTk5ZGVmNmU0Li5hZjA5NzkwYWNiNzM3YTZkYjUwODNlNzRlYjYzZWMxZDg5MmJmZDQxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKQEAg
LTUzLDYgKzUzLDcgQEAgY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQ7CiBjbGFz
cyBXZWJDb29raWVKYXI7CiBjbGFzcyBXZWJEYXRhU291cmNlOwogY2xhc3MgV2ViRE9NRXZlbnQ7
CitjbGFzcyBXZWJFbGVtZW50OwogY2xhc3MgV2ViRm9ybUVsZW1lbnQ7CiBjbGFzcyBXZWJGcmFt
ZTsKIGNsYXNzIFdlYkludGVudDsKQEAgLTIyNSw2ICsyMjYsOSBAQCBwdWJsaWM6CiAgICAgLy8g
VGhlIGZyYW1lJ3MgZG9jdW1lbnQgYW5kIGFsbCBvZiBpdHMgc3VicmVzb3VyY2VzIHN1Y2NlZWRl
ZCB0byBsb2FkLgogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkKFdlYkZyYW1lKikgeyB9
CiAKKyAgICAvLyBBbiBpbWFnZSBlbGVtZW50IHJlcXVlc3RlZCBhbiBVUkwuCisgICAgdmlydHVh
bCB2b2lkIGRpZFJlcXVlc3RJbWFnZShXZWJGcmFtZSosIGNvbnN0IFdlYkVsZW1lbnQmLCBjb25z
dCBXZWJVUkwmKSB7IH0KKwogICAgIC8vIFRoZSBuYXZpZ2F0aW9uIHJlc3VsdGVkIGluIG5vIGNo
YW5nZSB0byB0aGUgZG9jdW1lbnRzIHdpdGhpbiB0aGUgcGFnZS4KICAgICAvLyBGb3IgZXhhbXBs
ZSwgdGhlIG5hdmlnYXRpb24gbWF5IGhhdmUganVzdCByZXN1bHRlZCBpbiBzY3JvbGxpbmcgdG8g
YQogICAgIC8vIG5hbWVkIGFuY2hvciBvciBhIFBvcFN0YXRlIGV2ZW50IG1heSBoYXZlIGJlZW4g
ZGlzcGF0Y2hlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1l
TG9hZGVyQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxv
YWRlckNsaWVudEltcGwuY3BwCmluZGV4IDQ5ZTc4MGJhZmE1NjkwOTk3YzMzNmU2MjczNGU3OWE4
NTIzNWY1MmUuLjRhMTYyMmNlYWUxM2FmOTdjNGIzOGUwY2Q4ZDJmMjdiYjQyNDg4ODkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBs
LmNwcApAQCAtNjYsNiArNjYsNyBAQAogI2luY2x1ZGUgIldlYkRhdGFTb3VyY2VJbXBsLmgiCiAj
aW5jbHVkZSAiV2ViRGV2VG9vbHNBZ2VudFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJEb2N1bWVu
dC5oIgorI2luY2x1ZGUgIldlYkVsZW1lbnQuaCIKICNpbmNsdWRlICJXZWJGb3JtRWxlbWVudC5o
IgogI2luY2x1ZGUgIldlYkZyYW1lQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgi
CkBAIC04NjksNiArODcwLDEyIEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRj
aERpZEZpbmlzaExvYWQoKQogICAgIC8vIHByb3Zpc2lvbmFsIGxvYWQgc3VjY2VlZHMgb3IgZmFp
bHMsIG5vdCB0aGUgInJlYWwiIG9uZS4KIH0KIAordm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6
OmRpc3BhdGNoSW1hZ2VMb2FkUmVxdWVzdGVkKEVsZW1lbnQqIHNvdXJjZUVsZW1lbnQsIGNvbnN0
IEtVUkwmIHVybCkKK3sKKyAgICBpZiAobV93ZWJGcmFtZS0+Y2xpZW50KCkpCisgICAgICAgIG1f
d2ViRnJhbWUtPmNsaWVudCgpLT5kaWRSZXF1ZXN0SW1hZ2UobV93ZWJGcmFtZSwgV2ViRWxlbWVu
dChzb3VyY2VFbGVtZW50KSwgV2ViVVJMKHVybCkpOworfQorCiB2b2lkIEZyYW1lTG9hZGVyQ2xp
ZW50SW1wbDo6ZGlzcGF0Y2hEaWRMYXlvdXQoTGF5b3V0TWlsZXN0b25lcyBtaWxlc3RvbmVzKQog
ewogICAgIGlmICghbV93ZWJGcmFtZS0+Y2xpZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oCmluZGV4IDEyYTc2ZmVlZTM1MjYw
NWI5MDU3NTBhODRlNmM1ZmIzYmRiMWEzYmMuLmFhOTc2ZThiYWFkOWJhZThkZTE1YWJkMzg1NDU0
OGU2ODgwNjQzYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1l
TG9hZGVyQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1l
TG9hZGVyQ2xpZW50SW1wbC5oCkBAIC0xMTAsNiArMTEwLDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBkaXNwYXRjaERpZEZhaWxMb2FkKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3Im
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGaW5pc2hEb2N1bWVudExvYWQoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGaW5pc2hMb2FkKCk7CisgICAgdmlydHVhbCB2b2lk
IGRpc3BhdGNoSW1hZ2VMb2FkUmVxdWVzdGVkKFdlYkNvcmU6OkVsZW1lbnQqLCBjb25zdCBXZWJD
b3JlOjpLVVJMJik7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkTGF5b3V0KFdlYkNvcmU6
OkxheW91dE1pbGVzdG9uZXMpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6RnJhbWUqIGRpc3BhdGNo
Q3JlYXRlUGFnZShjb25zdCBXZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uJik7CiAgICAgdmlydHVh
bCB2b2lkIGRpc3BhdGNoU2hvdygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDNiNjIzZjhjMzdmOTRlY2YyZWVlMmJhNjkxNTM3MjZkOTRiZjU0
MTIuLmQ5NzgzYjNkZGUyMTQ3NjFhMzQ5NjgzZDUyY2YzNGM1NzViNDhmNTcgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAor
MjAxMi0xMC0xNiAgTWFyamEgSMO2bHR0w6QgIDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgQWRkIGNhbGxiYWNrcyB0byB0aGUgRnJhbWVMb2FkZXJDbGllbnQgZm9yIHdoZW4gYW4gaW1h
Z2UgZWxlbWVudCByZXF1ZXN0cyB0byBsb2FkIGFuIGltYWdlLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBjaHJvbWl1bSwgd2hlbiBhbiBleHRlbnNp
b24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisgICAgICAgIHJlcXVlc3QgKHdoaWNoIGhhcHBl
bnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8KKyAgICAgICAgbm90aWZ5IGNvbnRlbnQg
c2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQKKyAgICAgICAgd2hpY2gg
ZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUgcmVxdWVzdHMgd2VyZQorICAgICAg
ICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0IGp1c3QK
KyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBpdHNlbGYg
ZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55IGluZm9ybWF0aW9uIHdoYXQgRE9NIGVsZW1lbnQg
aXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJyZW50bHkgYSBjb250ZW50IHNjcmlwdCBoYXMg
dG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAgICAgICAgZ3Vlc3Mgd2hpY2ggcmVxdWVzdHMg
d2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50ZXIKKyAgICAgICAgcGFydC4gQnkgYWRkaW5n
IHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVyIGNhbiBtYWtlCisgICAgICAgIHRoaXMgY29u
bmVjdGlvbiBleHBsaWN0ZWx5LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
RFJUVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpEUlRUZXN0UnVubmVy
KToKKyAgICAgICAgKERSVFRlc3RSdW5uZXI6OmR1bXBJbWFnZUxvYWRDYWxsYmFja3MpOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaDoKKyAgICAgICAg
KERSVFRlc3RSdW5uZXIpOgorICAgICAgICAoRFJUVGVzdFJ1bm5lcjo6c2V0U2hvdWxkRHVtcElt
YWdlTG9hZENhbGxiYWNrcyk6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpzaG91bGREdW1wSW1h
Z2VMb2FkQ2FsbGJhY2tzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
U2hlbGwuaDoKKyAgICAgICAgKFRlc3RTaGVsbDo6c2hvdWxkRHVtcEltYWdlTG9hZENhbGxiYWNr
cyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwOgor
ICAgICAgICAoV2ViVmlld0hvc3Q6OmRpZFJlcXVlc3RJbWFnZSk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaDoKKyAgICAgICAgKFdlYlZpZXdIb3N0KToK
KwogMjAxMi0xMC0xNiAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbY2hyb21pdW1dIGFkZCBNb3VudGFpbiBMaW9uIGJhc2VsaW5lcwpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcAppbmRleCA4YWVlN2M1YjJj
NzQwMTA0YzgwMjIzODk0NThhMGJmZGZjMjlkNGY4Li4xZThjMmFmMGQ3MmYwZGI1MWQ5ZTQ2ZjA3
YmIyZjc4MDFkMDRmYzA3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9EUlRUZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9E
UlRUZXN0UnVubmVyLmNwcApAQCAtMTQwLDYgKzE0MCw3IEBAIERSVFRlc3RSdW5uZXI6OkRSVFRl
c3RSdW5uZXIoVGVzdFNoZWxsKiBzaGVsbCkKICAgICBiaW5kTWV0aG9kKCJkdW1wRGF0YWJhc2VD
YWxsYmFja3MiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcERhdGFiYXNlQ2FsbGJhY2tzKTsKICAgICBi
aW5kTWV0aG9kKCJkdW1wRWRpdGluZ0NhbGxiYWNrcyIsICZEUlRUZXN0UnVubmVyOjpkdW1wRWRp
dGluZ0NhbGxiYWNrcyk7CiAgICAgYmluZE1ldGhvZCgiZHVtcEZyYW1lTG9hZENhbGxiYWNrcyIs
ICZEUlRUZXN0UnVubmVyOjpkdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKTsKKyAgICBiaW5kTWV0aG9k
KCJkdW1wSW1hZ2VMb2FkQ2FsbGJhY2tzIiwgJkRSVFRlc3RSdW5uZXI6OmR1bXBJbWFnZUxvYWRD
YWxsYmFja3MpOwogICAgIGJpbmRNZXRob2QoImR1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2si
LCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjayk7CiAgICAgYmlu
ZE1ldGhvZCgiZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MiLCAmRFJUVGVzdFJ1
bm5lcjo6ZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MpOwogICAgIGJpbmRNZXRo
b2QoImR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFJlc291
cmNlTG9hZENhbGxiYWNrcyk7CkBAIC0zODQsNiArMzg1LDEyIEBAIHZvaWQgRFJUVGVzdFJ1bm5l
cjo6ZHVtcEZyYW1lTG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJp
YW50KiByCiAgICAgcmVzdWx0LT5zZXROdWxsKCk7CiB9CiAKK3ZvaWQgRFJUVGVzdFJ1bm5lcjo6
ZHVtcEltYWdlTG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50
KiByZXN1bHQpCit7CisgICAgbV9kdW1wSW1hZ2VMb2FkQ2FsbGJhY2tzID0gdHJ1ZTsKKyAgICBy
ZXN1bHQtPnNldE51bGwoKTsKK30KKwogdm9pZCBEUlRUZXN0UnVubmVyOjpkdW1wUHJvZ3Jlc3NG
aW5pc2hlZENhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3Vs
dCkKIHsKICAgICBtX2R1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2sgPSB0cnVlOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oCmluZGV4IDMwNDFiODZh
NzNjNWFiMmUwMzljOGVlMWQwYTc5MjdiNzJlOTc1MTIuLjlhOTliMjI0MGI0MzdmY2Q3YzE4NDFi
NDJkNTA3MDcwZjQ3OTc4MTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0RSVFRlc3RSdW5uZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9E
UlRUZXN0UnVubmVyLmgKQEAgLTc3LDYgKzc3LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGR1bXBG
cmFtZUxvYWRDYWxsYmFja3MoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwog
CiAgICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0aGF0IHRlbGxzIHRoZSB0ZXN0X3No
ZWxsIHRvIHByaW50IGEgbGluZSBvZgorICAgIC8vIGRlc2NyaXB0aXZlIHRleHQgZm9yIGVhY2gg
aW1hZ2UgZWxlbWVudCB0aGF0IHJlcXVlc3RlZCBhIGxvYWQuIEl0IHRha2VzCisgICAgLy8gbm8g
YXJndW1lbnRzLCBhbmQgaWdub3JlcyBhbnkgdGhhdCBtYXkgYmUgcHJlc2VudC4KKyAgICB2b2lk
IGR1bXBJbWFnZUxvYWRDYWxsYmFja3MoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFu
dCopOworCisgICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0aGF0IHRlbGxzIHRoZSB0
ZXN0X3NoZWxsIHRvIHByaW50IGEgbGluZSBvZgogICAgIC8vIGRlc2NyaXB0aXZlIHRleHQgZm9y
IHRoZSBwcm9ncmVzcyBmaW5pc2hlZCBjYWxsYmFjay4gSXQgdGFrZXMgbm8KICAgICAvLyBhcmd1
bWVudHMsIGFuZCBpZ25vcmVzIGFueSB0aGF0IG1heSBiZSBwcmVzZW50LgogICAgIHZvaWQgZHVt
cFByb2dyZXNzRmluaXNoZWRDYWxsYmFjayhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJp
YW50Kik7CkBAIC00NDksNiArNDU0LDggQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkRHVtcEVk
aXRpbmdDYWxsYmFja3MoKSB7IHJldHVybiBtX2R1bXBFZGl0aW5nQ2FsbGJhY2tzOyB9CiAgICAg
Ym9vbCBzaG91bGREdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCkgeyByZXR1cm4gbV9kdW1wRnJhbWVM
b2FkQ2FsbGJhY2tzOyB9CiAgICAgdm9pZCBzZXRTaG91bGREdW1wRnJhbWVMb2FkQ2FsbGJhY2tz
KGJvb2wgdmFsdWUpIHsgbV9kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzID0gdmFsdWU7IH0KKyAgICB2
b2lkIHNldFNob3VsZER1bXBJbWFnZUxvYWRDYWxsYmFja3MoYm9vbCB2YWx1ZSkgeyBtX2R1bXBJ
bWFnZUxvYWRDYWxsYmFja3MgPSB2YWx1ZTsgfQorICAgIGJvb2wgc2hvdWxkRHVtcEltYWdlTG9h
ZENhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcEltYWdlTG9hZENhbGxiYWNrczsgfQogICAgIGJv
b2wgc2hvdWxkRHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjaygpIHsgcmV0dXJuIG1fZHVtcFBy
b2dyZXNzRmluaXNoZWRDYWxsYmFjazsgfQogICAgIHZvaWQgc2V0U2hvdWxkRHVtcFByb2dyZXNz
RmluaXNoZWRDYWxsYmFjayhib29sIHZhbHVlKSB7IG1fZHVtcFByb2dyZXNzRmluaXNoZWRDYWxs
YmFjayA9IHZhbHVlOyB9CiAgICAgYm9vbCBzaG91bGREdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9h
ZENhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFj
a3M7IH0KQEAgLTU5NSw2ICs2MDIsMTAgQEAgcHJpdmF0ZToKICAgICAvLyBsb2FkIGNhbGxiYWNr
LgogICAgIGJvb2wgbV9kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzOwogCisgICAgLy8gSWYgdHJ1ZSwg
dGhlIHRlc3Rfc2hlbGwgd2lsbCBvdXRwdXQgYSBkZXNjcmlwdGl2ZSBsaW5lIGZvciBlYWNoIGlt
YWdlCisgICAgLy8gbG9hZCBjYWxsYmFjay4KKyAgICBib29sIG1fZHVtcEltYWdlTG9hZENhbGxi
YWNrczsKKwogICAgIC8vIElmIHRydWUsIHRoZSB0ZXN0X3NoZWxsIHdpbGwgb3V0cHV0IGEgZGVz
Y3JpcHRpdmUgbGluZSBmb3IgdGhlIHByb2dyZXNzCiAgICAgLy8gZmluaXNoZWQgY2FsbGJhY2su
CiAgICAgYm9vbCBtX2R1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2s7CmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaCBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCmluZGV4IDQ0YjVhZTM4OGM2OGQ2NWRlODkwZmM4
MDBmZWQ1MjI5ZWVjMmEzMjQuLjg4M2E2YjJjZGNkMWIwOWNiOWM5NThlODM0MjkwMWNjZDZmMzYx
ODcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5o
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCkBAIC0xMTQs
NiArMTE0LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRGb2N1cyhXZWJLaXQ6OldlYldpZGdl
dCosIGJvb2wgZW5hYmxlKTsKICAgICBib29sIHNob3VsZER1bXBGcmFtZUxvYWRDYWxsYmFja3Mo
KSBjb25zdCB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAm
JiB0ZXN0UnVubmVyKCktPnNob3VsZER1bXBGcmFtZUxvYWRDYWxsYmFja3MoKTsgfQorICAgIGJv
b2wgc2hvdWxkRHVtcEltYWdlTG9hZENhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIChtX3Rlc3RJ
c1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYmIHRlc3RSdW5uZXIoKS0+c2hvdWxkRHVt
cEltYWdlTG9hZENhbGxiYWNrcygpOyB9CiAgICAgYm9vbCBzaG91bGREdW1wVXNlckdlc3R1cmVJ
bkZyYW1lTG9hZENhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8
fCBtX3Rlc3RJc1BlbmRpbmcpICYmIHRlc3RSdW5uZXIoKS0+c2hvdWxkRHVtcFVzZXJHZXN0dXJl
SW5GcmFtZUxvYWRDYWxsYmFja3MoKTsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlTG9h
ZENhbGxiYWNrcygpIGNvbnN0ICB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0
SXNQZW5kaW5nKSAmJiB0ZXN0UnVubmVyKCktPnNob3VsZER1bXBSZXNvdXJjZUxvYWRDYWxsYmFj
a3MoKTsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoKSBj
b25zdCAgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5nIHx8IG1fdGVzdElzUGVuZGluZykgJiYg
dGVzdFJ1bm5lcigpLT5zaG91bGREdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpOyB9CmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKaW5kZXggYzdh
YjQ3NWU3ZmU3OWVmMThkNTI4ODJlMzU3MjZhNDU5NjU2ZDdlOS4uYjNmZGZiMDY4N2EzZDQ4ODA5
ZGY5Y2I5MjdiNDgyYmRjNTFjNzJhNiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1dlYlZpZXdIb3N0LmNwcApAQCAtMTI0NCw2ICsxMjQ0LDE5IEBAIHZvaWQgV2ViVmlld0hv
c3Q6OmRpZEZpbmlzaExvYWQoV2ViRnJhbWUqIGZyYW1lKQogICAgIGxvY2F0aW9uQ2hhbmdlRG9u
ZShmcmFtZSk7CiB9CiAKK3ZvaWQgV2ViVmlld0hvc3Q6OmRpZFJlcXVlc3RJbWFnZShXZWJLaXQ6
OldlYkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViRWxlbWVudCYgZWxlbWVudCwgY29uc3QgV2ViVVJM
JiB1cmwpCit7CisgICAgaWYgKG1fc2hlbGwtPnNob3VsZER1bXBJbWFnZUxvYWRDYWxsYmFja3Mo
KSkgeworICAgICAgICBwcmludEZyYW1lRGVzY3JpcHRpb24oZnJhbWUpOworICAgICAgICBwcmlu
dGYoIiAtIGltYWdlIGVsZW1lbnQgd2l0aCAiKTsKKyAgICAgICAgaWYgKGVsZW1lbnQuaGFzQXR0
cmlidXRlKCJpZCIpKQorICAgICAgICAgICAgcHJpbnRmKCJpZCAnJXMnIiwgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoImlkIikudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHByaW50Zigibm8gaWQiKTsKKyAgICAgICAgcHJpbnRmKCIgcmVxdWVzdGVkICclcydcbiIsIFVS
TERlc2NyaXB0aW9uKHVybCkuY19zdHIoKSk7CisgICAgfQorfQorCiB2b2lkIFdlYlZpZXdIb3N0
OjpkaWROYXZpZ2F0ZVdpdGhpblBhZ2UoV2ViRnJhbWUqIGZyYW1lLCBib29sIGlzTmV3TmF2aWdh
dGlvbikKIHsKICAgICBmcmFtZS0+ZGF0YVNvdXJjZSgpLT5zZXRFeHRyYURhdGEobV9wZW5kaW5n
RXh0cmFEYXRhLmxlYWtQdHIoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJWaWV3SG9zdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2Vi
Vmlld0hvc3QuaAppbmRleCBjOWUxN2IwN2ZkOGE0NTAxYTI5MDQ3ZTNkZWQ5NGNhZjA2YjQ0ODA1
Li5mZThkZWU5NmQzM2FmMGUzOTY3OTM5ZmU1NTBjNGVkZmNhMDM5YTgyIDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKQEAgLTI1NSw2ICsyNTUsNyBAQCBj
bGFzcyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpZXdDbGllbnQsIHB1YmxpYyBX
ZWJLaXQ6OldlYkZyYW1lQ2xpZW50LAogICAgIHZpcnR1YWwgdm9pZCBkaWRIYW5kbGVPbmxvYWRF
dmVudHMoV2ViS2l0OjpXZWJGcmFtZSopOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsTG9hZChX
ZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0OjpXZWJVUkxFcnJvciYpOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRGaW5pc2hMb2FkKFdlYktpdDo6V2ViRnJhbWUqKTsKKyAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVxdWVzdEltYWdlKFdlYktpdDo6V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6OldlYkVs
ZW1lbnQmLCBjb25zdCBXZWJLaXQ6OldlYlVSTCYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWROYXZp
Z2F0ZVdpdGhpblBhZ2UoV2ViS2l0OjpXZWJGcmFtZSosIGJvb2wgaXNOZXdOYXZpZ2F0aW9uKTsK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlTG9jYXRpb25XaXRoaW5QYWdlKFdlYktpdDo6V2Vi
RnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgYXNzaWduSWRlbnRpZmllclRvUmVxdWVzdChXZWJL
aXQ6OldlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgY29uc3QgV2ViS2l0OjpXZWJVUkxS
ZXF1ZXN0Jik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggNDMyMWVlMGEyZDdiMDI5NWU4NDJjZjlkMTZjNGU5MzRkZDgyZGQw
Yi4uNjlhNjY1YzU5MGE0MDg3MjBhMDFkZmZkMTk2NjJiODk1MjliNTVjNyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI1IEBACisyMDEyLTEwLTE2ICBNYXJqYSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBBZGQgY2FsbGJhY2tzIHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCBmb3Ig
d2hlbiBhbiBpbWFnZSBlbGVtZW50IHJlcXVlc3RzIHRvIGxvYWQgYW4gaW1hZ2UuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc2MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGNocm9taXVtLCB3aGVu
IGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2VscyBhIG5ldHdvcmsKKyAgICAgICAgcmVxdWVzdCAo
d2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2VzcyksIHdlJ2QgbGlrZSB0bworICAgICAgICBub3Rp
ZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcgb24gdGhlIGN1cnJlbnQgcGFnZSBhYm91dAorICAg
ICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQgdG8gbG9hZCBiZWNhdXNlIHRoZSByZXF1ZXN0cyB3
ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMgb3Bwb3NlZCB0byBlLmcuIHRoZSBuZXR3b3JrIHJl
cXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qgd29yaykuIFNpbmNlIHRoZSByZXNvdXJjZSByZXF1
ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAgICBjYXJyeSBhbnkgaW5mb3JtYXRpb24gd2hhdCBE
T00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3IsCisgICAgICAgIGN1cnJlbnRseSBhIGNvbnRlbnQg
c2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERPTSB0cmVlIGFuZAorICAgICAgICBndWVzcyB3aGlj
aCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxlZCBieSBpdHMgY291bnRlcgorICAgICAgICBwYXJ0
LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tzLCB0aGUgZW1iZWRkZXIgY2FuIG1ha2UKKyAgICAg
ICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3RlbHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9mYXN0L2xvYWRlci9pbWFnZS1sb2FkLWNhbGxiYWNrcy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL2ltYWdlLWxvYWQtY2Fs
bGJhY2tzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTE2ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9u
amFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbUGFnZSBWaXNpYmlsaXR5IEFQSV0gVmlldy1s
ZXNzIGRvY3VtZW50cyBzaG91bGQgcmVwb3J0IGFzIGhpZGRlbgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFja3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIv
aW1hZ2UtbG9hZC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkN2NiMjk4MjVh
NWNkMWY0ZWQ0NzM2NjhjZWMxY2FiNjM4YjQyN2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1sb2FkLWNhbGxiYWNrcy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorbWFpbiBmcmFtZSAtIGltYWdlIGVsZW1lbnQg
d2l0aCBpZCAnaW1nLW5vcm1hbCcgcmVxdWVzdGVkICdib3N0b24uZ2lmJworbWFpbiBmcmFtZSAt
IGltYWdlIGVsZW1lbnQgd2l0aCBpZCAnaW1nLWNoYW5naW5nJyByZXF1ZXN0ZWQgJ2Jvc3Rvbi5n
aWYnCittYWluIGZyYW1lIC0gaW1hZ2UgZWxlbWVudCB3aXRoIGlkICdpbWctY2hhbmdpbmcnIHJl
cXVlc3RlZCAnZGljZS5wbmcnCitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGNvcnJlY3QgY2Fs
bGJhY2tzIGZvciBpbWFnZSBsb2FkcyBhcmUgaW52b2tlZC4gSXQgcGFzc2VzIGlmIHlvdSBzZWUg
dGhlIGNhbGxiYWNrcyBmb3IgaW1nLW5vcm1hbCBhbmQgaW1nLWNoYW5naW5nICgyIHBjcykuCisK
KyAgCitQQVNTIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9h
ZGVyL2ltYWdlLWxvYWQtY2FsbGJhY2tzLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9mYXN0L2xvYWRlci9pbWFnZS1sb2FkLWNhbGxiYWNrcy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1
MDExZTI0M2Y1MGYwMzQwY2ViY2I4OWI0YWEzNDEyMmJiNTdmMzUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1sb2FkLWNh
bGxiYWNrcy5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisgICAgdGVzdFJ1bm5lci5kdW1wSW1hZ2VMb2FkQ2FsbGJhY2tzKCk7Cit9IGVsc2UgeworICAg
IGRvY3VtZW50LndyaXRlKCJUaGlzIHRlc3QgY2Fubm90IHJ1biB3aXRob3V0IGEgdGVzdFJ1bm5l
ciIpOworfQorCitmdW5jdGlvbiBjaGFuZ2VJbWFnZSgpIHsKKyAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiaW1nLWNoYW5naW5nIikuc3JjID0gIi4uLy4uL3Blcm1pc3Npb25jbGllbnQvcmVz
b3VyY2VzL2RpY2UucG5nIjsKKyAgICB0ZXN0UGFzc2VkKCcnKTsKKyAgICBmaW5pc2hKU1Rlc3Qo
KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KGNoYW5n
ZUltYWdlLCAxMDApOyI+Cis8cD4KKyAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBjb3JyZWN0
IGNhbGxiYWNrcyBmb3IgaW1hZ2UgbG9hZHMgYXJlIGludm9rZWQuIEl0CisgIHBhc3NlcyBpZiB5
b3Ugc2VlIHRoZSBjYWxsYmFja3MgZm9yIGltZy1ub3JtYWwgYW5kIGltZy1jaGFuZ2luZyAoMiBw
Y3MpLgorPC9wPgorPGltZyBpZD0iaW1nLW5vcm1hbCIgc3JjPSIuLi8uLi9wZXJtaXNzaW9uY2xp
ZW50L3Jlc291cmNlcy9ib3N0b24uZ2lmIiAvPgorPGltZyBpZD0iaW1nLWNoYW5naW5nIiBzcmM9
Ii4uLy4uL3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL2Jvc3Rvbi5naWYiIC8+Cis8aW1nIGlk
PSJpbWctZmFpbCIgLz4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169205</attachid>
            <date>2012-10-17 10:13:02 -0700</date>
            <delta_ts>2012-11-22 01:33:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92761-20121017191148.patch</filename>
            <type>text/plain</type>
            <size>20037</size>
            <attacher name="Marja Hölttä">marja</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNlYjkxMDliZGQwM2Ix
Nzc3MTRmZmY1NmI2ZDVmMGEzMGZkMGJkMC4uYWEwMmRmZGQ3ZTdlNzFkZTE1OTNmMzQzM2U2NzJm
MDZkOGFjYTgyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTEwLTE2ICBNYXJq
YSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tz
IHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCBmb3Igd2hlbiBhbiBpbWFnZSBlbGVtZW50IHJlcXVl
c3RzIHRvIGxvYWQgYW4gaW1hZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05Mjc2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluIGNocm9taXVtLCB3aGVuIGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2Vs
cyBhIG5ldHdvcmsKKyAgICAgICAgcmVxdWVzdCAod2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2Vz
cyksIHdlJ2QgbGlrZSB0bworICAgICAgICBub3RpZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcg
b24gdGhlIGN1cnJlbnQgcGFnZSBhYm91dAorICAgICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQg
dG8gbG9hZCBiZWNhdXNlIHRoZSByZXF1ZXN0cyB3ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMg
b3Bwb3NlZCB0byBlLmcuIHRoZSBuZXR3b3JrIHJlcXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qg
d29yaykuIFNpbmNlIHRoZSByZXNvdXJjZSByZXF1ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAg
ICBjYXJyeSBhbnkgaW5mb3JtYXRpb24gd2hhdCBET00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3Is
CisgICAgICAgIGN1cnJlbnRseSBhIGNvbnRlbnQgc2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERP
TSB0cmVlIGFuZAorICAgICAgICBndWVzcyB3aGljaCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxl
ZCBieSBpdHMgY291bnRlcgorICAgICAgICBwYXJ0LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tz
LCB0aGUgZW1iZWRkZXIgY2FuIG1ha2UKKyAgICAgICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3Rs
eS4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1s
b2FkLWNhbGxiYWNrcy5odG1sCisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaEltYWdlTG9h
ZFJlcXVlc3RlZCk6CisgICAgICAgIChGcmFtZUxvYWRlckNsaWVudCk6CisgICAgICAgICogbG9h
ZGVyL0ltYWdlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlTG9hZGVyOjp1cGRh
dGVGcm9tRWxlbWVudCk6CisKIDIwMTItMTAtMTYgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtQYWdlIFZpc2liaWxpdHkgQVBJXSBWaWV3LWxlc3Mg
ZG9jdW1lbnRzIHNob3VsZCByZXBvcnQgYXMgaGlkZGVuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IDM0ODkxOGU2ZDJiYzAyYzg5OTZjN2U4M2E3ZTMxZThiZjYzMzJkMTkuLjBiMGZiNmVh
YzIwZTQyMWZmMTczZWJmZGY3ZGQyMWNlMTlhODczMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTItMTAtMTYgIE1hcmphIEjDtmx0dMOkICA8bWFyamFA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBjYWxsYmFja3MgdG8gdGhlIEZyYW1lTG9hZGVy
Q2xpZW50IGZvciB3aGVuIGFuIGltYWdlIGVsZW1lbnQgcmVxdWVzdHMgdG8gbG9hZCBhbiBpbWFn
ZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNzYx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gY2hy
b21pdW0sIHdoZW4gYW4gZXh0ZW5zaW9uIHNjcmlwdCBjYW5jZWxzIGEgbmV0d29yaworICAgICAg
ICByZXF1ZXN0ICh3aGljaCBoYXBwZW5zIG91dCBvZiBwcm9jZXNzKSwgd2UnZCBsaWtlIHRvCisg
ICAgICAgIG5vdGlmeSBjb250ZW50IHNjcmlwdHMgcnVubmluZyBvbiB0aGUgY3VycmVudCBwYWdl
IGFib3V0CisgICAgICAgIHdoaWNoIGVsZW1lbnRzIGZhaWxlZCB0byBsb2FkIGJlY2F1c2UgdGhl
IHJlcXVlc3RzIHdlcmUKKyAgICAgICAgY2FuY2VsbGVkIChhcyBvcHBvc2VkIHRvIGUuZy4gdGhl
IG5ldHdvcmsgcmVxdWVzdCBqdXN0CisgICAgICAgIGRpZG4ndCB3b3JrKS4gU2luY2UgdGhlIHJl
c291cmNlIHJlcXVlc3QgaXRzZWxmIGRvZXMgbm90CisgICAgICAgIGNhcnJ5IGFueSBpbmZvcm1h
dGlvbiB3aGF0IERPTSBlbGVtZW50IGlzIHdhcyBtYWRlIGZvciwKKyAgICAgICAgY3VycmVudGx5
IGEgY29udGVudCBzY3JpcHQgaGFzIHRvIHNlYXJjaCB0aGUgRE9NIHRyZWUgYW5kCisgICAgICAg
IGd1ZXNzIHdoaWNoIHJlcXVlc3RzIHdpbGwgYmUgY2FuY2VsbGVkIGJ5IGl0cyBjb3VudGVyCisg
ICAgICAgIHBhcnQuIEJ5IGFkZGluZyB0aGVzZSBjYWxsYmFja3MsIHRoZSBlbWJlZGRlciBjYW4g
bWFrZQorICAgICAgICB0aGlzIGNvbm5lY3Rpb24gZXhwbGljdGx5LgorCisgICAgICAgICogcHVi
bGljL1dlYkZyYW1lQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViRnJh
bWVDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6ZGlkUmVxdWVzdElt
YWdlKToKKyAgICAgICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRjaEltYWdlTG9hZFJlcXVlc3Rl
ZCk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudElt
cGwuaDoKKyAgICAgICAgKEZyYW1lTG9hZGVyQ2xpZW50SW1wbCk6CisKIDIwMTItMTAtMTYgIE1p
biBRaW4gIDxxaW5taW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpeCBhIGJ1ZyB0aGF0IHdl
IGFyZSB1c2luZyBzY2FsZWQgZGFtYWdlIHJlY3QgZm9yIHBsdWdpbnMgaW5zaWRlIGFuIGlmcmFt
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCA0ZjIzODhh
ZjVmYmI0YzVkNjVjMzBiZmY4ODg0NTU0YzdjOGI5YzBkLi42MTU3YjM2ZjY0ZjMzOGRhYjE3MzJj
MzZhNDQ2Zjc4M2E4ZjA3MTcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJD
bGllbnQuaApAQCAtMTY2LDYgKzE2Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmluaXNoRG9jdW1lbnRMb2FkKCkgPSAwOwogICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGaW5pc2hMb2FkKCkgPSAwOwogCisgICAgICAgIHZp
cnR1YWwgdm9pZCBkaXNwYXRjaEltYWdlTG9hZFJlcXVlc3RlZChFbGVtZW50KiwgY29uc3QgS1VS
TCYpIHsgfQorCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZExheW91dCgpIHsgfQog
ICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMYXlvdXQoTGF5b3V0TWlsZXN0b25lcykg
eyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvSW1hZ2VMb2FkZXIuY3BwCmluZGV4IDA1MjNiM2E4OWYz
MTY3NWNjNjk5ZTE1ZDlkMTYxNjA3ZjdlNzViMTEuLjY4OGZiNzY0ZWE4NTdiODZiYjRmZGY4Y2Iy
NGNkMjE5NzJkZGNlMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9JbWFnZUxv
YWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ltYWdlTG9hZGVyLmNwcApAQCAt
MzAsNiArMzAsOSBAQAogI2luY2x1ZGUgIkVsZW1lbnRTaGFkb3cuaCIKICNpbmNsdWRlICJFdmVu
dC5oIgogI2luY2x1ZGUgIkV2ZW50U2VuZGVyLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNs
dWRlICJGcmFtZUxvYWRlci5oIgorI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAjaW5j
bHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTE9iamVjdEVsZW1lbnQuaCIKICNpbmNs
dWRlICJIVE1MUGFyc2VySWRpb21zLmgiCkBAIC0xODUsNiArMTg4LDkgQEAgdm9pZCBJbWFnZUxv
YWRlcjo6dXBkYXRlRnJvbUVsZW1lbnQoKQogICAgICAgICAgICAgdXBkYXRlUmVxdWVzdEZvckFj
Y2Vzc0NvbnRyb2wocmVxdWVzdCwgZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgYWxsb3dD
cmVkZW50aWFscyk7CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoZG9jdW1lbnQoKS0+ZnJhbWUo
KSkKKyAgICAgICAgICAgIGRvY3VtZW50KCktPmZyYW1lKCktPmxvYWRlcigpLT5jbGllbnQoKS0+
ZGlzcGF0Y2hJbWFnZUxvYWRSZXF1ZXN0ZWQoY2xpZW50KCktPnNvdXJjZUVsZW1lbnQoKSwgcmVx
dWVzdC51cmwoKSk7CisKICAgICAgICAgaWYgKG1fbG9hZE1hbnVhbGx5KSB7CiAgICAgICAgICAg
ICBib29sIGF1dG9Mb2FkT3RoZXJJbWFnZXMgPSBkb2N1bWVudCgpLT5jYWNoZWRSZXNvdXJjZUxv
YWRlcigpLT5hdXRvTG9hZEltYWdlcygpOwogICAgICAgICAgICAgZG9jdW1lbnQoKS0+Y2FjaGVk
UmVzb3VyY2VMb2FkZXIoKS0+c2V0QXV0b0xvYWRJbWFnZXMoZmFsc2UpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKaW5kZXggNzM5ODBiZjdmMWRk
MDg1NTgwYmM1NWQ4ZDljNTY2ZjE5OWRlZjZlNC4uYWYwOTc5MGFjYjczN2E2ZGI1MDgzZTc0ZWI2
M2VjMWQ4OTJiZmQ0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViRnJhbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJG
cmFtZUNsaWVudC5oCkBAIC01Myw2ICs1Myw3IEBAIGNsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGVI
b3N0Q2xpZW50OwogY2xhc3MgV2ViQ29va2llSmFyOwogY2xhc3MgV2ViRGF0YVNvdXJjZTsKIGNs
YXNzIFdlYkRPTUV2ZW50OworY2xhc3MgV2ViRWxlbWVudDsKIGNsYXNzIFdlYkZvcm1FbGVtZW50
OwogY2xhc3MgV2ViRnJhbWU7CiBjbGFzcyBXZWJJbnRlbnQ7CkBAIC0yMjUsNiArMjI2LDkgQEAg
cHVibGljOgogICAgIC8vIFRoZSBmcmFtZSdzIGRvY3VtZW50IGFuZCBhbGwgb2YgaXRzIHN1YnJl
c291cmNlcyBzdWNjZWVkZWQgdG8gbG9hZC4KICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9h
ZChXZWJGcmFtZSopIHsgfQogCisgICAgLy8gQW4gaW1hZ2UgZWxlbWVudCByZXF1ZXN0ZWQgYW4g
VVJMLgorICAgIHZpcnR1YWwgdm9pZCBkaWRSZXF1ZXN0SW1hZ2UoV2ViRnJhbWUqLCBjb25zdCBX
ZWJFbGVtZW50JiwgY29uc3QgV2ViVVJMJikgeyB9CisKICAgICAvLyBUaGUgbmF2aWdhdGlvbiBy
ZXN1bHRlZCBpbiBubyBjaGFuZ2UgdG8gdGhlIGRvY3VtZW50cyB3aXRoaW4gdGhlIHBhZ2UuCiAg
ICAgLy8gRm9yIGV4YW1wbGUsIHRoZSBuYXZpZ2F0aW9uIG1heSBoYXZlIGp1c3QgcmVzdWx0ZWQg
aW4gc2Nyb2xsaW5nIHRvIGEKICAgICAvLyBuYW1lZCBhbmNob3Igb3IgYSBQb3BTdGF0ZSBldmVu
dCBtYXkgaGF2ZSBiZWVuIGRpc3BhdGNoZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcAppbmRleCA0OWU3ODBiYWZhNTY5MDk5
N2MzMzZlNjI3MzRlNzlhODUyMzVmNTJlLi40YTE2MjJjZWFlMTNhZjk3YzRiMzhlMGNkOGQyZjI3
YmI0MjQ4ODg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxv
YWRlckNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1l
TG9hZGVyQ2xpZW50SW1wbC5jcHAKQEAgLTY2LDYgKzY2LDcgQEAKICNpbmNsdWRlICJXZWJEYXRh
U291cmNlSW1wbC5oIgogI2luY2x1ZGUgIldlYkRldlRvb2xzQWdlbnRQcml2YXRlLmgiCiAjaW5j
bHVkZSAiV2ViRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJXZWJFbGVtZW50LmgiCiAjaW5jbHVkZSAi
V2ViRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJXZWJGcmFtZUNsaWVudC5oIgogI2luY2x1ZGUg
IldlYkZyYW1lSW1wbC5oIgpAQCAtODY5LDYgKzg3MCwxMiBAQCB2b2lkIEZyYW1lTG9hZGVyQ2xp
ZW50SW1wbDo6ZGlzcGF0Y2hEaWRGaW5pc2hMb2FkKCkKICAgICAvLyBwcm92aXNpb25hbCBsb2Fk
IHN1Y2NlZWRzIG9yIGZhaWxzLCBub3QgdGhlICJyZWFsIiBvbmUuCiB9CiAKK3ZvaWQgRnJhbWVM
b2FkZXJDbGllbnRJbXBsOjpkaXNwYXRjaEltYWdlTG9hZFJlcXVlc3RlZChFbGVtZW50KiBzb3Vy
Y2VFbGVtZW50LCBjb25zdCBLVVJMJiB1cmwpCit7CisgICAgaWYgKG1fd2ViRnJhbWUtPmNsaWVu
dCgpKQorICAgICAgICBtX3dlYkZyYW1lLT5jbGllbnQoKS0+ZGlkUmVxdWVzdEltYWdlKG1fd2Vi
RnJhbWUsIFdlYkVsZW1lbnQoc291cmNlRWxlbWVudCksIFdlYlVSTCh1cmwpKTsKK30KKwogdm9p
ZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoRGlkTGF5b3V0KExheW91dE1pbGVzdG9u
ZXMgbWlsZXN0b25lcykKIHsKICAgICBpZiAoIW1fd2ViRnJhbWUtPmNsaWVudCgpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAppbmRl
eCAxMmE3NmZlZWUzNTI2MDViOTA1NzUwYTg0ZTZjNWZiM2JkYjFhM2JjLi5hYTk3NmU4YmFhZDli
YWU4ZGUxNWFiZDM4NTQ1NDhlNjg4MDY0M2E4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaApAQCAtMTEwLDYgKzExMCw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGYWlsTG9hZChjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yJik7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmluaXNoRG9j
dW1lbnRMb2FkKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmluaXNoTG9hZCgpOwor
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEltYWdlTG9hZFJlcXVlc3RlZChXZWJDb3JlOjpFbGVt
ZW50KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERp
ZExheW91dChXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzKTsKICAgICB2aXJ0dWFsIFdlYkNvcmU6
OkZyYW1lKiBkaXNwYXRjaENyZWF0ZVBhZ2UoY29uc3QgV2ViQ29yZTo6TmF2aWdhdGlvbkFjdGlv
biYpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFNob3coKTsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzYjYyM2Y4YzM3Zjk0ZWNmMmVlZTJi
YTY5MTUzNzI2ZDk0YmY1NDEyLi5kNTg1NzczNmEzMzE4MGU0NTJlYWJlOGRhOGMwNmNlYTdjMTE3
ODM2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMzYgQEAKKzIwMTItMTAtMTYgIE1hcmphIEjDtmx0dMOkICA8bWFyamFAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIEFkZCBjYWxsYmFja3MgdG8gdGhlIEZyYW1lTG9hZGVyQ2xpZW50
IGZvciB3aGVuIGFuIGltYWdlIGVsZW1lbnQgcmVxdWVzdHMgdG8gbG9hZCBhbiBpbWFnZS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNzYxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gY2hyb21pdW0s
IHdoZW4gYW4gZXh0ZW5zaW9uIHNjcmlwdCBjYW5jZWxzIGEgbmV0d29yaworICAgICAgICByZXF1
ZXN0ICh3aGljaCBoYXBwZW5zIG91dCBvZiBwcm9jZXNzKSwgd2UnZCBsaWtlIHRvCisgICAgICAg
IG5vdGlmeSBjb250ZW50IHNjcmlwdHMgcnVubmluZyBvbiB0aGUgY3VycmVudCBwYWdlIGFib3V0
CisgICAgICAgIHdoaWNoIGVsZW1lbnRzIGZhaWxlZCB0byBsb2FkIGJlY2F1c2UgdGhlIHJlcXVl
c3RzIHdlcmUKKyAgICAgICAgY2FuY2VsbGVkIChhcyBvcHBvc2VkIHRvIGUuZy4gdGhlIG5ldHdv
cmsgcmVxdWVzdCBqdXN0CisgICAgICAgIGRpZG4ndCB3b3JrKS4gU2luY2UgdGhlIHJlc291cmNl
IHJlcXVlc3QgaXRzZWxmIGRvZXMgbm90CisgICAgICAgIGNhcnJ5IGFueSBpbmZvcm1hdGlvbiB3
aGF0IERPTSBlbGVtZW50IGlzIHdhcyBtYWRlIGZvciwKKyAgICAgICAgY3VycmVudGx5IGEgY29u
dGVudCBzY3JpcHQgaGFzIHRvIHNlYXJjaCB0aGUgRE9NIHRyZWUgYW5kCisgICAgICAgIGd1ZXNz
IHdoaWNoIHJlcXVlc3RzIHdpbGwgYmUgY2FuY2VsbGVkIGJ5IGl0cyBjb3VudGVyCisgICAgICAg
IHBhcnQuIEJ5IGFkZGluZyB0aGVzZSBjYWxsYmFja3MsIHRoZSBlbWJlZGRlciBjYW4gbWFrZQor
ICAgICAgICB0aGlzIGNvbm5lY3Rpb24gZXhwbGljdGx5LgorCisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChEUlRUZXN0UnVubmVy
OjpEUlRUZXN0UnVubmVyKToKKyAgICAgICAgKERSVFRlc3RSdW5uZXI6OmR1bXBJbWFnZUxvYWRD
YWxsYmFja3MpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5u
ZXIuaDoKKyAgICAgICAgKERSVFRlc3RSdW5uZXIpOgorICAgICAgICAoRFJUVGVzdFJ1bm5lcjo6
c2V0U2hvdWxkRHVtcEltYWdlTG9hZENhbGxiYWNrcyk6CisgICAgICAgIChEUlRUZXN0UnVubmVy
OjpzaG91bGREdW1wSW1hZ2VMb2FkQ2FsbGJhY2tzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuaDoKKyAgICAgICAgKFRlc3RTaGVsbDo6c2hvdWxkRHVtcElt
YWdlTG9hZENhbGxiYWNrcyk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2Vi
Vmlld0hvc3QuY3BwOgorICAgICAgICAoV2ViVmlld0hvc3Q6OmRpZFJlcXVlc3RJbWFnZSk6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaDoKKyAgICAgICAg
KFdlYlZpZXdIb3N0KToKKwogMjAxMi0xMC0xNiAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIGFkZCBNb3VudGFpbiBMaW9uIGJhc2VsaW5l
cwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5l
ci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcApp
bmRleCA4YWVlN2M1YjJjNzQwMTA0YzgwMjIzODk0NThhMGJmZGZjMjlkNGY4Li4xZThjMmFmMGQ3
MmYwZGI1MWQ5ZTQ2ZjA3YmIyZjc4MDFkMDRmYzA3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcApAQCAtMTQwLDYgKzE0MCw3IEBAIERSVFRl
c3RSdW5uZXI6OkRSVFRlc3RSdW5uZXIoVGVzdFNoZWxsKiBzaGVsbCkKICAgICBiaW5kTWV0aG9k
KCJkdW1wRGF0YWJhc2VDYWxsYmFja3MiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcERhdGFiYXNlQ2Fs
bGJhY2tzKTsKICAgICBiaW5kTWV0aG9kKCJkdW1wRWRpdGluZ0NhbGxiYWNrcyIsICZEUlRUZXN0
UnVubmVyOjpkdW1wRWRpdGluZ0NhbGxiYWNrcyk7CiAgICAgYmluZE1ldGhvZCgiZHVtcEZyYW1l
TG9hZENhbGxiYWNrcyIsICZEUlRUZXN0UnVubmVyOjpkdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKTsK
KyAgICBiaW5kTWV0aG9kKCJkdW1wSW1hZ2VMb2FkQ2FsbGJhY2tzIiwgJkRSVFRlc3RSdW5uZXI6
OmR1bXBJbWFnZUxvYWRDYWxsYmFja3MpOwogICAgIGJpbmRNZXRob2QoImR1bXBQcm9ncmVzc0Zp
bmlzaGVkQ2FsbGJhY2siLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFByb2dyZXNzRmluaXNoZWRDYWxs
YmFjayk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFj
a3MiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3Mp
OwogICAgIGJpbmRNZXRob2QoImR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MiLCAmRFJUVGVzdFJ1
bm5lcjo6ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyk7CkBAIC0zODQsNiArMzg1LDEyIEBAIHZv
aWQgRFJUVGVzdFJ1bm5lcjo6ZHVtcEZyYW1lTG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50KiByCiAgICAgcmVzdWx0LT5zZXROdWxsKCk7CiB9CiAKK3ZvaWQg
RFJUVGVzdFJ1bm5lcjo6ZHVtcEltYWdlTG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVudExp
c3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCit7CisgICAgbV9kdW1wSW1hZ2VMb2FkQ2FsbGJhY2tz
ID0gdHJ1ZTsKKyAgICByZXN1bHQtPnNldE51bGwoKTsKK30KKwogdm9pZCBEUlRUZXN0UnVubmVy
OjpkdW1wUHJvZ3Jlc3NGaW5pc2hlZENhbGxiYWNrKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENw
cFZhcmlhbnQqIHJlc3VsdCkKIHsKICAgICBtX2R1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2sg
PSB0cnVlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVz
dFJ1bm5lci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5o
CmluZGV4IDMwNDFiODZhNzNjNWFiMmUwMzljOGVlMWQwYTc5MjdiNzJlOTc1MTIuLjlhOTliMjI0
MGI0MzdmY2Q3YzE4NDFiNDJkNTA3MDcwZjQ3OTc4MTIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmgKQEAgLTc3LDYgKzc3LDExIEBAIHB1YmxpYzoK
ICAgICB2b2lkIGR1bXBGcmFtZUxvYWRDYWxsYmFja3MoY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCopOwogCiAgICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0aGF0IHRl
bGxzIHRoZSB0ZXN0X3NoZWxsIHRvIHByaW50IGEgbGluZSBvZgorICAgIC8vIGRlc2NyaXB0aXZl
IHRleHQgZm9yIGVhY2ggaW1hZ2UgZWxlbWVudCB0aGF0IHJlcXVlc3RlZCBhIGxvYWQuIEl0IHRh
a2VzCisgICAgLy8gbm8gYXJndW1lbnRzLCBhbmQgaWdub3JlcyBhbnkgdGhhdCBtYXkgYmUgcHJl
c2VudC4KKyAgICB2b2lkIGR1bXBJbWFnZUxvYWRDYWxsYmFja3MoY29uc3QgQ3BwQXJndW1lbnRM
aXN0JiwgQ3BwVmFyaWFudCopOworCisgICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0
aGF0IHRlbGxzIHRoZSB0ZXN0X3NoZWxsIHRvIHByaW50IGEgbGluZSBvZgogICAgIC8vIGRlc2Ny
aXB0aXZlIHRleHQgZm9yIHRoZSBwcm9ncmVzcyBmaW5pc2hlZCBjYWxsYmFjay4gSXQgdGFrZXMg
bm8KICAgICAvLyBhcmd1bWVudHMsIGFuZCBpZ25vcmVzIGFueSB0aGF0IG1heSBiZSBwcmVzZW50
LgogICAgIHZvaWQgZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjayhjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50Kik7CkBAIC00NDksNiArNDU0LDggQEAgcHVibGljOgogICAgIGJv
b2wgc2hvdWxkRHVtcEVkaXRpbmdDYWxsYmFja3MoKSB7IHJldHVybiBtX2R1bXBFZGl0aW5nQ2Fs
bGJhY2tzOyB9CiAgICAgYm9vbCBzaG91bGREdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCkgeyByZXR1
cm4gbV9kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzOyB9CiAgICAgdm9pZCBzZXRTaG91bGREdW1wRnJh
bWVMb2FkQ2FsbGJhY2tzKGJvb2wgdmFsdWUpIHsgbV9kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzID0g
dmFsdWU7IH0KKyAgICB2b2lkIHNldFNob3VsZER1bXBJbWFnZUxvYWRDYWxsYmFja3MoYm9vbCB2
YWx1ZSkgeyBtX2R1bXBJbWFnZUxvYWRDYWxsYmFja3MgPSB2YWx1ZTsgfQorICAgIGJvb2wgc2hv
dWxkRHVtcEltYWdlTG9hZENhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcEltYWdlTG9hZENhbGxi
YWNrczsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjaygpIHsg
cmV0dXJuIG1fZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjazsgfQogICAgIHZvaWQgc2V0U2hv
dWxkRHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjayhib29sIHZhbHVlKSB7IG1fZHVtcFByb2dy
ZXNzRmluaXNoZWRDYWxsYmFjayA9IHZhbHVlOyB9CiAgICAgYm9vbCBzaG91bGREdW1wVXNlckdl
c3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcFVzZXJHZXN0dXJlSW5G
cmFtZUxvYWRDYWxsYmFja3M7IH0KQEAgLTU5NSw2ICs2MDIsMTAgQEAgcHJpdmF0ZToKICAgICAv
LyBsb2FkIGNhbGxiYWNrLgogICAgIGJvb2wgbV9kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzOwogCisg
ICAgLy8gSWYgdHJ1ZSwgdGhlIHRlc3Rfc2hlbGwgd2lsbCBvdXRwdXQgYSBkZXNjcmlwdGl2ZSBs
aW5lIGZvciBlYWNoIGltYWdlCisgICAgLy8gbG9hZCBjYWxsYmFjay4KKyAgICBib29sIG1fZHVt
cEltYWdlTG9hZENhbGxiYWNrczsKKwogICAgIC8vIElmIHRydWUsIHRoZSB0ZXN0X3NoZWxsIHdp
bGwgb3V0cHV0IGEgZGVzY3JpcHRpdmUgbGluZSBmb3IgdGhlIHByb2dyZXNzCiAgICAgLy8gZmlu
aXNoZWQgY2FsbGJhY2suCiAgICAgYm9vbCBtX2R1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2s7
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCmluZGV4IDQ0YjVhZTM4
OGM2OGQ2NWRlODkwZmM4MDBmZWQ1MjI5ZWVjMmEzMjQuLjg4M2E2YjJjZGNkMWIwOWNiOWM5NThl
ODM0MjkwMWNjZDZmMzYxODcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RT
aGVsbC5oCkBAIC0xMTQsNiArMTE0LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRGb2N1cyhX
ZWJLaXQ6OldlYldpZGdldCosIGJvb2wgZW5hYmxlKTsKICAgICBib29sIHNob3VsZER1bXBGcmFt
ZUxvYWRDYWxsYmFja3MoKSBjb25zdCB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90
ZXN0SXNQZW5kaW5nKSAmJiB0ZXN0UnVubmVyKCktPnNob3VsZER1bXBGcmFtZUxvYWRDYWxsYmFj
a3MoKTsgfQorICAgIGJvb2wgc2hvdWxkRHVtcEltYWdlTG9hZENhbGxiYWNrcygpIGNvbnN0IHsg
cmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYmIHRlc3RSdW5u
ZXIoKS0+c2hvdWxkRHVtcEltYWdlTG9hZENhbGxiYWNrcygpOyB9CiAgICAgYm9vbCBzaG91bGRE
dW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIChtX3Rl
c3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYmIHRlc3RSdW5uZXIoKS0+c2hvdWxk
RHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MoKTsgfQogICAgIGJvb2wgc2hvdWxk
RHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpIGNvbnN0ICB7IHJldHVybiAobV90ZXN0SXNQcmVw
YXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiB0ZXN0UnVubmVyKCktPnNob3VsZER1bXBSZXNv
dXJjZUxvYWRDYWxsYmFja3MoKTsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlUmVzcG9u
c2VNSU1FVHlwZXMoKSBjb25zdCAgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5nIHx8IG1fdGVz
dElzUGVuZGluZykgJiYgdGVzdFJ1bm5lcigpLT5zaG91bGREdW1wUmVzb3VyY2VSZXNwb25zZU1J
TUVUeXBlcygpOyB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9z
dC5jcHAKaW5kZXggYzdhYjQ3NWU3ZmU3OWVmMThkNTI4ODJlMzU3MjZhNDU5NjU2ZDdlOS4uYjNm
ZGZiMDY4N2EzZDQ4ODA5ZGY5Y2I5MjdiNDgyYmRjNTFjNzJhNiAxMDA2NDQKLS0tIGEvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcApAQCAtMTI0NCw2ICsxMjQ0LDE5IEBA
IHZvaWQgV2ViVmlld0hvc3Q6OmRpZEZpbmlzaExvYWQoV2ViRnJhbWUqIGZyYW1lKQogICAgIGxv
Y2F0aW9uQ2hhbmdlRG9uZShmcmFtZSk7CiB9CiAKK3ZvaWQgV2ViVmlld0hvc3Q6OmRpZFJlcXVl
c3RJbWFnZShXZWJLaXQ6OldlYkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViRWxlbWVudCYgZWxlbWVu
dCwgY29uc3QgV2ViVVJMJiB1cmwpCit7CisgICAgaWYgKG1fc2hlbGwtPnNob3VsZER1bXBJbWFn
ZUxvYWRDYWxsYmFja3MoKSkgeworICAgICAgICBwcmludEZyYW1lRGVzY3JpcHRpb24oZnJhbWUp
OworICAgICAgICBwcmludGYoIiAtIGltYWdlIGVsZW1lbnQgd2l0aCAiKTsKKyAgICAgICAgaWYg
KGVsZW1lbnQuaGFzQXR0cmlidXRlKCJpZCIpKQorICAgICAgICAgICAgcHJpbnRmKCJpZCAnJXMn
IiwgZWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHByaW50Zigibm8gaWQiKTsKKyAgICAgICAgcHJpbnRmKCIgcmVxdWVz
dGVkICclcydcbiIsIFVSTERlc2NyaXB0aW9uKHVybCkuY19zdHIoKSk7CisgICAgfQorfQorCiB2
b2lkIFdlYlZpZXdIb3N0OjpkaWROYXZpZ2F0ZVdpdGhpblBhZ2UoV2ViRnJhbWUqIGZyYW1lLCBi
b29sIGlzTmV3TmF2aWdhdGlvbikKIHsKICAgICBmcmFtZS0+ZGF0YVNvdXJjZSgpLT5zZXRFeHRy
YURhdGEobV9wZW5kaW5nRXh0cmFEYXRhLmxlYWtQdHIoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAppbmRleCBjOWUxN2IwN2ZkOGE0NTAxYTI5MDQ3ZTNk
ZWQ5NGNhZjA2YjQ0ODA1Li5mZThkZWU5NmQzM2FmMGUzOTY3OTM5ZmU1NTBjNGVkZmNhMDM5YTgy
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5o
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKQEAgLTI1
NSw2ICsyNTUsNyBAQCBjbGFzcyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpZXdD
bGllbnQsIHB1YmxpYyBXZWJLaXQ6OldlYkZyYW1lQ2xpZW50LAogICAgIHZpcnR1YWwgdm9pZCBk
aWRIYW5kbGVPbmxvYWRFdmVudHMoV2ViS2l0OjpXZWJGcmFtZSopOwogICAgIHZpcnR1YWwgdm9p
ZCBkaWRGYWlsTG9hZChXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0OjpXZWJVUkxFcnJv
ciYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkKFdlYktpdDo6V2ViRnJhbWUqKTsK
KyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVxdWVzdEltYWdlKFdlYktpdDo6V2ViRnJhbWUqLCBjb25z
dCBXZWJLaXQ6OldlYkVsZW1lbnQmLCBjb25zdCBXZWJLaXQ6OldlYlVSTCYpOwogICAgIHZpcnR1
YWwgdm9pZCBkaWROYXZpZ2F0ZVdpdGhpblBhZ2UoV2ViS2l0OjpXZWJGcmFtZSosIGJvb2wgaXNO
ZXdOYXZpZ2F0aW9uKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlTG9jYXRpb25XaXRoaW5Q
YWdlKFdlYktpdDo6V2ViRnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgYXNzaWduSWRlbnRpZmll
clRvUmVxdWVzdChXZWJLaXQ6OldlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgY29uc3Qg
V2ViS2l0OjpXZWJVUkxSZXF1ZXN0Jik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDMyMWVlMGEyZDdiMDI5NWU4NDJjZjlk
MTZjNGU5MzRkZDgyZGQwYi4uNDExNDIyMDBhNTIyNGZiN2JmZGZmZjQ3NjFiZmE0Yjk2MDYyYjk0
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTE2ICBNYXJqYSBIw7ZsdHTDpCAgPG1h
cmphQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tzIHRvIHRoZSBGcmFtZUxv
YWRlckNsaWVudCBmb3Igd2hlbiBhbiBpbWFnZSBlbGVtZW50IHJlcXVlc3RzIHRvIGxvYWQgYW4g
aW1hZ2UuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
Mjc2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
IGNocm9taXVtLCB3aGVuIGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2VscyBhIG5ldHdvcmsKKyAg
ICAgICAgcmVxdWVzdCAod2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2VzcyksIHdlJ2QgbGlrZSB0
bworICAgICAgICBub3RpZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcgb24gdGhlIGN1cnJlbnQg
cGFnZSBhYm91dAorICAgICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQgdG8gbG9hZCBiZWNhdXNl
IHRoZSByZXF1ZXN0cyB3ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMgb3Bwb3NlZCB0byBlLmcu
IHRoZSBuZXR3b3JrIHJlcXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qgd29yaykuIFNpbmNlIHRo
ZSByZXNvdXJjZSByZXF1ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAgICBjYXJyeSBhbnkgaW5m
b3JtYXRpb24gd2hhdCBET00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3IsCisgICAgICAgIGN1cnJl
bnRseSBhIGNvbnRlbnQgc2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERPTSB0cmVlIGFuZAorICAg
ICAgICBndWVzcyB3aGljaCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxlZCBieSBpdHMgY291bnRl
cgorICAgICAgICBwYXJ0LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tzLCB0aGUgZW1iZWRkZXIg
Y2FuIG1ha2UKKyAgICAgICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3RseS4KKworICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL2ltYWdlLWxvYWQtY2FsbGJhY2tzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIv
aW1hZ2UtbG9hZC1jYWxsYmFja3MuaHRtbDogQWRkZWQuCisKIDIwMTItMTAtMTYgIEphbWVzIFNp
bW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtQYWdlIFZpc2liaWxp
dHkgQVBJXSBWaWV3LWxlc3MgZG9jdW1lbnRzIHNob3VsZCByZXBvcnQgYXMgaGlkZGVuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1s
b2FkLWNhbGxiYWNrcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L2xvYWRlci9pbWFnZS1sb2FkLWNhbGxiYWNrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZGQ3Y2IyOTgyNWE1Y2QxZjRlZDQ3MzY2OGNlYzFjYWI2MzhiNDI3YQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL2ltYWdlLWxv
YWQtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACittYWluIGZyYW1lIC0g
aW1hZ2UgZWxlbWVudCB3aXRoIGlkICdpbWctbm9ybWFsJyByZXF1ZXN0ZWQgJ2Jvc3Rvbi5naWYn
CittYWluIGZyYW1lIC0gaW1hZ2UgZWxlbWVudCB3aXRoIGlkICdpbWctY2hhbmdpbmcnIHJlcXVl
c3RlZCAnYm9zdG9uLmdpZicKK21haW4gZnJhbWUgLSBpbWFnZSBlbGVtZW50IHdpdGggaWQgJ2lt
Zy1jaGFuZ2luZycgcmVxdWVzdGVkICdkaWNlLnBuZycKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0
aGUgY29ycmVjdCBjYWxsYmFja3MgZm9yIGltYWdlIGxvYWRzIGFyZSBpbnZva2VkLiBJdCBwYXNz
ZXMgaWYgeW91IHNlZSB0aGUgY2FsbGJhY2tzIGZvciBpbWctbm9ybWFsIGFuZCBpbWctY2hhbmdp
bmcgKDIgcGNzKS4KKworICAKK1BBU1MgCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vZmFzdC9sb2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFja3MuaHRtbCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL2ltYWdlLWxvYWQtY2FsbGJhY2tzLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNTUwMTFlMjQzZjUwZjAzNDBjZWJjYjg5YjRhYTM0MTIyYmI1N2YzNQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVy
L2ltYWdlLWxvYWQtY2FsbGJhY2tzLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBJbWFnZUxvYWRDYWxsYmFja3MoKTsK
K30gZWxzZSB7CisgICAgZG9jdW1lbnQud3JpdGUoIlRoaXMgdGVzdCBjYW5ub3QgcnVuIHdpdGhv
dXQgYSB0ZXN0UnVubmVyIik7Cit9CisKK2Z1bmN0aW9uIGNoYW5nZUltYWdlKCkgeworICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWctY2hhbmdpbmciKS5zcmMgPSAiLi4vLi4vcGVybWlz
c2lvbmNsaWVudC9yZXNvdXJjZXMvZGljZS5wbmciOworICAgIHRlc3RQYXNzZWQoJycpOworICAg
IGZpbmlzaEpTVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InNl
dFRpbWVvdXQoY2hhbmdlSW1hZ2UsIDEwMCk7Ij4KKzxwPgorICBUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgdGhlIGNvcnJlY3QgY2FsbGJhY2tzIGZvciBpbWFnZSBsb2FkcyBhcmUgaW52b2tlZC4gSXQK
KyAgcGFzc2VzIGlmIHlvdSBzZWUgdGhlIGNhbGxiYWNrcyBmb3IgaW1nLW5vcm1hbCBhbmQgaW1n
LWNoYW5naW5nICgyIHBjcykuCis8L3A+Cis8aW1nIGlkPSJpbWctbm9ybWFsIiBzcmM9Ii4uLy4u
L3Blcm1pc3Npb25jbGllbnQvcmVzb3VyY2VzL2Jvc3Rvbi5naWYiIC8+Cis8aW1nIGlkPSJpbWct
Y2hhbmdpbmciIHNyYz0iLi4vLi4vcGVybWlzc2lvbmNsaWVudC9yZXNvdXJjZXMvYm9zdG9uLmdp
ZiIgLz4KKzxpbWcgaWQ9ImltZy1mYWlsIiAvPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175621</attachid>
            <date>2012-11-22 01:33:47 -0800</date>
            <delta_ts>2012-11-22 05:11:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92761-20121122103132.patch</filename>
            <type>text/plain</type>
            <size>21241</size>
            <attacher name="Marja Hölttä">marja</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NDAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTVkYmNlYzg2YTRhODFl
YTE4MTg0M2U0YzA1NjI5YTVlODhjNTZmZi4uYmEyZWZmOWI1MTIzM2E4N2FhN2JhNTAxM2JkNTdk
MTU4ODc3OWVhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTExLTIyICBNYXJq
YSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tz
IHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCBmb3Igd2hlbiBsb2FkaW5nIGFuIGltYWdlIGlzIHJl
cXVlc3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTI3NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJ
biBDaHJvbWl1bSwgd2hlbiBhbiBleHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisg
ICAgICAgIHJlcXVlc3QgKHdoaWNoIGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2Ug
dG8KKyAgICAgICAgbm90aWZ5IGNvbnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50
IHBhZ2UgYWJvdXQKKyAgICAgICAgd2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVz
ZSB0aGUgcmVxdWVzdHMgd2VyZQorICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5n
LiB0aGUgbmV0d29yayByZXF1ZXN0IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0
aGUgcmVzb3VyY2UgcmVxdWVzdCBpdHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55IGlu
Zm9ybWF0aW9uIHdoYXQgRE9NIGVsZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJy
ZW50bHkgYSBjb250ZW50IHNjcmlwdCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAg
ICAgICAgZ3Vlc3Mgd2hpY2ggcmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50
ZXIKKyAgICAgICAgcGFydC4gQnkgYWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVy
IGNhbiBtYWtlCisgICAgICAgIHRoaXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAgICAg
VGVzdDogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFja3Mu
aHRtbAorCisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6CisgICAgICAgIChX
ZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hJbWFnZUxvYWRSZXF1ZXN0ZWQpOgor
ICAgICAgICAoRnJhbWVMb2FkZXJDbGllbnQpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxv
YWRlcjo6cmVxdWVzdEltYWdlKToKKwogMjAxMi0xMS0yMSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQu
cmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjEzNTM4My4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMjI4YjgzZjYzNDJiY2RlODU5
MmE1M2RjZGEzM2YxN2YwYTAxY2I2YS4uNDNmZjZkZmRhM2JiMzlhMWMxNDkxYTc2MmY0MTVjOWE0
YzM1Y2JhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAx
Mi0xMS0yMiAgTWFyamEgSMO2bHR0w6QgIDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
QWRkIGNhbGxiYWNrcyB0byB0aGUgRnJhbWVMb2FkZXJDbGllbnQgZm9yIHdoZW4gbG9hZGluZyBh
biBpbWFnZSBpcyByZXF1ZXN0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTkyNzYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgSW4gQ2hyb21pdW0sIHdoZW4gYW4gZXh0ZW5zaW9uIHNjcmlwdCBjYW5jZWxz
IGEgbmV0d29yaworICAgICAgICByZXF1ZXN0ICh3aGljaCBoYXBwZW5zIG91dCBvZiBwcm9jZXNz
KSwgd2UnZCBsaWtlIHRvCisgICAgICAgIG5vdGlmeSBjb250ZW50IHNjcmlwdHMgcnVubmluZyBv
biB0aGUgY3VycmVudCBwYWdlIGFib3V0CisgICAgICAgIHdoaWNoIGVsZW1lbnRzIGZhaWxlZCB0
byBsb2FkIGJlY2F1c2UgdGhlIHJlcXVlc3RzIHdlcmUKKyAgICAgICAgY2FuY2VsbGVkIChhcyBv
cHBvc2VkIHRvIGUuZy4gdGhlIG5ldHdvcmsgcmVxdWVzdCBqdXN0CisgICAgICAgIGRpZG4ndCB3
b3JrKS4gU2luY2UgdGhlIHJlc291cmNlIHJlcXVlc3QgaXRzZWxmIGRvZXMgbm90CisgICAgICAg
IGNhcnJ5IGFueSBpbmZvcm1hdGlvbiB3aGF0IERPTSBlbGVtZW50IGlzIHdhcyBtYWRlIGZvciwK
KyAgICAgICAgY3VycmVudGx5IGEgY29udGVudCBzY3JpcHQgaGFzIHRvIHNlYXJjaCB0aGUgRE9N
IHRyZWUgYW5kCisgICAgICAgIGd1ZXNzIHdoaWNoIHJlcXVlc3RzIHdpbGwgYmUgY2FuY2VsbGVk
IGJ5IGl0cyBjb3VudGVyCisgICAgICAgIHBhcnQuIEJ5IGFkZGluZyB0aGVzZSBjYWxsYmFja3Ms
IHRoZSBlbWJlZGRlciBjYW4gbWFrZQorICAgICAgICB0aGlzIGNvbm5lY3Rpb24gZXhwbGljdGx5
LgorCisgICAgICAgICogcHVibGljL1dlYkZyYW1lQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAoV2ViRnJhbWVDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNs
aWVudDo6ZGlkUmVxdWVzdEltYWdlKToKKyAgICAgICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRj
aEltYWdlTG9hZFJlcXVlc3RlZCk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHNyYy9G
cmFtZUxvYWRlckNsaWVudEltcGwuaDoKKyAgICAgICAgKEZyYW1lTG9hZGVyQ2xpZW50SW1wbCk6
CisKIDIwMTItMTEtMjEgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgVW5yZXZpZXdlZC4gTm93IHRoYXQgb2ZmZW5kaW5nIHBhdGNoIGhhcyBiZWVuIHJv
bGxlZCBvdXQgcmVlbmFibGUgSURCUmVxdWVzdFRlc3QuRXZlbnRzQWZ0ZXJTdG9wcGluZwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCA4NWU0ZWVjZjE5Mjk0
MWY3MDIzZWVhNmRiZWRkMDIxZWY3NDMyYmFjLi4xMDg1ZWRiNTIzNzgwNzNlNmZkMTdmN2MzOWU4
NDRkYTQxMDQ0OTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQu
aApAQCAtMTY2LDYgKzE2Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVh
bCB2b2lkIGRpc3BhdGNoRGlkRmluaXNoRG9jdW1lbnRMb2FkKCkgPSAwOwogICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlzcGF0Y2hEaWRGaW5pc2hMb2FkKCkgPSAwOwogCisgICAgICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaEltYWdlTG9hZFJlcXVlc3RlZChFbGVtZW50KiwgY29uc3QgS1VSTCYpIHsg
fQorCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERpZExheW91dCgpIHsgfQogICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRMYXlvdXQoTGF5b3V0TWlsZXN0b25lcykgeyB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXIuY3BwCmluZGV4IDgzYTVhMWNlNjc0Y2M3MmM1ZjExMDA5NmNiMzQ4YWIwODI1ZTRkNWYuLjMy
ZTQyMzI5ZDRkOTUyODFkZDZiYzQ0NTRiZTdjZDg2NjBkOWQ3OTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtMTU3
LDYgKzE1Nyw3IEBAIEZyYW1lKiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZnJhbWUoKSBjb25zdAog
Q2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkSW1hZ2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpy
ZXF1ZXN0SW1hZ2UoQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewogICAgIGlmIChG
cmFtZSogZiA9IGZyYW1lKCkpIHsKKyAgICAgICAgZi0+bG9hZGVyKCktPmNsaWVudCgpLT5kaXNw
YXRjaEltYWdlTG9hZFJlcXVlc3RlZChyZXF1ZXN0LmluaXRpYXRvckVsZW1lbnQoKS5nZXQoKSwg
cmVxdWVzdC5yZXNvdXJjZVJlcXVlc3QoKS51cmwoKSk7CiAgICAgICAgIGlmIChmLT5sb2FkZXIo
KS0+cGFnZURpc21pc3NhbEV2ZW50QmVpbmdEaXNwYXRjaGVkKCkgIT0gRnJhbWVMb2FkZXI6Ok5v
RGlzbWlzc2FsKSB7CiAgICAgICAgICAgICBLVVJMIHJlcXVlc3RVUkwgPSByZXF1ZXN0LnJlc291
cmNlUmVxdWVzdCgpLnVybCgpOwogICAgICAgICAgICAgaWYgKHJlcXVlc3RVUkwuaXNWYWxpZCgp
ICYmIGNhblJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2UsIHJlcXVlc3RVUkwp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKaW5k
ZXggYmRhM2MwMzg5ZDJjNTQwNTJhMzVlOWM1OWRiMzFkNGRkYjQ4MDY0Yy4uODY4N2NlMDM1ZWNj
NDBjYmY5ZjY1NWY4ZDdmYTViNzZjYmIzNmYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCkBAIC01Myw2ICs1Myw3IEBAIGNsYXNzIFdlYkFw
cGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50OwogY2xhc3MgV2ViQ29va2llSmFyOwogY2xhc3MgV2Vi
RGF0YVNvdXJjZTsKIGNsYXNzIFdlYkRPTUV2ZW50OworY2xhc3MgV2ViRWxlbWVudDsKIGNsYXNz
IFdlYkZvcm1FbGVtZW50OwogY2xhc3MgV2ViRnJhbWU7CiBjbGFzcyBXZWJJbnRlbnQ7CkBAIC0y
MjUsNiArMjI2LDkgQEAgcHVibGljOgogICAgIC8vIFRoZSBmcmFtZSdzIGRvY3VtZW50IGFuZCBh
bGwgb2YgaXRzIHN1YnJlc291cmNlcyBzdWNjZWVkZWQgdG8gbG9hZC4KICAgICB2aXJ0dWFsIHZv
aWQgZGlkRmluaXNoTG9hZChXZWJGcmFtZSopIHsgfQogCisgICAgLy8gQW4gaW1hZ2UgZWxlbWVu
dCByZXF1ZXN0ZWQgYW4gVVJMLgorICAgIHZpcnR1YWwgdm9pZCBkaWRSZXF1ZXN0SW1hZ2UoV2Vi
RnJhbWUqLCBjb25zdCBXZWJFbGVtZW50JiwgY29uc3QgV2ViVVJMJikgeyB9CisKICAgICAvLyBU
aGUgbmF2aWdhdGlvbiByZXN1bHRlZCBpbiBubyBjaGFuZ2UgdG8gdGhlIGRvY3VtZW50cyB3aXRo
aW4gdGhlIHBhZ2UuCiAgICAgLy8gRm9yIGV4YW1wbGUsIHRoZSBuYXZpZ2F0aW9uIG1heSBoYXZl
IGp1c3QgcmVzdWx0ZWQgaW4gc2Nyb2xsaW5nIHRvIGEKICAgICAvLyBuYW1lZCBhbmNob3Igb3Ig
YSBQb3BTdGF0ZSBldmVudCBtYXkgaGF2ZSBiZWVuIGRpc3BhdGNoZWQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcAppbmRleCA5
ZDBhYWI0OTViMzNkODEyODRmMGNhMTZkMTA5ZGI4NzEzNGVkNjk3Li5jOTEzNWM1NDY5NjVkMGYx
ZTg1OTEzNTU4OWU1ZmE5OTUzYzI2NjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKQEAgLTY5LDYgKzY5LDcgQEAKICNp
bmNsdWRlICJXZWJEYXRhU291cmNlSW1wbC5oIgogI2luY2x1ZGUgIldlYkRldlRvb2xzQWdlbnRQ
cml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJXZWJFbGVtZW50
LmgiCiAjaW5jbHVkZSAiV2ViRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJXZWJGcmFtZUNsaWVu
dC5oIgogI2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgpAQCAtODcyLDYgKzg3MywxMiBAQCB2b2lk
IEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hEaWRGaW5pc2hMb2FkKCkKICAgICAvLyBw
cm92aXNpb25hbCBsb2FkIHN1Y2NlZWRzIG9yIGZhaWxzLCBub3QgdGhlICJyZWFsIiBvbmUuCiB9
CiAKK3ZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRjaEltYWdlTG9hZFJlcXVlc3Rl
ZChFbGVtZW50KiBzb3VyY2VFbGVtZW50LCBjb25zdCBLVVJMJiB1cmwpCit7CisgICAgaWYgKG1f
d2ViRnJhbWUtPmNsaWVudCgpKQorICAgICAgICBtX3dlYkZyYW1lLT5jbGllbnQoKS0+ZGlkUmVx
dWVzdEltYWdlKG1fd2ViRnJhbWUsIFdlYkVsZW1lbnQoc291cmNlRWxlbWVudCksIFdlYlVSTCh1
cmwpKTsKK30KKwogdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoRGlkTGF5b3V0
KExheW91dE1pbGVzdG9uZXMgbWlsZXN0b25lcykKIHsKICAgICBpZiAoIW1fd2ViRnJhbWUtPmNs
aWVudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2Fk
ZXJDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNs
aWVudEltcGwuaAppbmRleCAyYWE2MjRiZGYzNmRkMjg2M2YyMjAxNmJmZTdlY2QwMTBlNzA3OWJj
Li4zYjFjMzIzNjk5NTEwODgxMjVkODNjMWYxYjIwNjY4ODA4ZTJhMWU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaApAQCAtMTEw
LDYgKzExMCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGYWlsTG9h
ZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CiAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoRGlkRmluaXNoRG9jdW1lbnRMb2FkKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlk
RmluaXNoTG9hZCgpOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEltYWdlTG9hZFJlcXVlc3Rl
ZChXZWJDb3JlOjpFbGVtZW50KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYpOwogICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaERpZExheW91dChXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzKTsKICAgICB2
aXJ0dWFsIFdlYkNvcmU6OkZyYW1lKiBkaXNwYXRjaENyZWF0ZVBhZ2UoY29uc3QgV2ViQ29yZTo6
TmF2aWdhdGlvbkFjdGlvbiYpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFNob3coKTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBjMzE0NDVh
ODExYjNlMzJmNzNhMjUyYmNhZjYzNWFkZWY2YTE2M2RkLi42ZjBmMjAwZWRjZWQwYjAyZGI3OTgy
ZjhkZDdiZWNhZDFlNGFlNGY2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTItMTEtMjIgIE1hcmphIEjDtmx0dMOk
ICA8bWFyamFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBjYWxsYmFja3MgdG8gdGhlIEZy
YW1lTG9hZGVyQ2xpZW50IGZvciB3aGVuIGxvYWRpbmcgYW4gaW1hZ2UgaXMgcmVxdWVzdGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc2MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIENocm9taXVt
LCB3aGVuIGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2VscyBhIG5ldHdvcmsKKyAgICAgICAgcmVx
dWVzdCAod2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2VzcyksIHdlJ2QgbGlrZSB0bworICAgICAg
ICBub3RpZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcgb24gdGhlIGN1cnJlbnQgcGFnZSBhYm91
dAorICAgICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQgdG8gbG9hZCBiZWNhdXNlIHRoZSByZXF1
ZXN0cyB3ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMgb3Bwb3NlZCB0byBlLmcuIHRoZSBuZXR3
b3JrIHJlcXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qgd29yaykuIFNpbmNlIHRoZSByZXNvdXJj
ZSByZXF1ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAgICBjYXJyeSBhbnkgaW5mb3JtYXRpb24g
d2hhdCBET00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3IsCisgICAgICAgIGN1cnJlbnRseSBhIGNv
bnRlbnQgc2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERPTSB0cmVlIGFuZAorICAgICAgICBndWVz
cyB3aGljaCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxlZCBieSBpdHMgY291bnRlcgorICAgICAg
ICBwYXJ0LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tzLCB0aGUgZW1iZWRkZXIgY2FuIG1ha2UK
KyAgICAgICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3RseS4KKworICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwOgorICAgICAgICAoRFJUVGVzdFJ1bm5l
cjo6RFJUVGVzdFJ1bm5lcik6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpkdW1wSW1hZ2VMb2Fk
Q2FsbGJhY2tzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVu
bmVyLmg6CisgICAgICAgIChEUlRUZXN0UnVubmVyKToKKyAgICAgICAgKERSVFRlc3RSdW5uZXI6
OnNldFNob3VsZER1bXBJbWFnZUxvYWRDYWxsYmFja3MpOgorICAgICAgICAoRFJUVGVzdFJ1bm5l
cjo6c2hvdWxkRHVtcEltYWdlTG9hZENhbGxiYWNrcyk6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFNoZWxsLmg6CisgICAgICAgIChUZXN0U2hlbGw6OnNob3VsZER1bXBJ
bWFnZUxvYWRDYWxsYmFja3MpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dl
YlZpZXdIb3N0LmNwcDoKKyAgICAgICAgKFdlYlZpZXdIb3N0OjpkaWRSZXF1ZXN0SW1hZ2UpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisgICAgICAg
IChXZWJWaWV3SG9zdCk6CisKIDIwMTItMTEtMjEgIFRoaWFnbyBNYXJjb3MgUC4gU2FudG9zICA8
dGhpYWdvLnNhbnRvc0BpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gS1VSTCB1bml0IHRlc3Qg
Y3Jhc2hpbmcgd2hlbiB0aWxlZCBiYWNraW5nIHN0b3JlIGlzIGVuYWJsZWQgb24gUmVsZWFzZSBC
b3RzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVu
bmVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3Bw
CmluZGV4IDJmODM5N2JlZTQ1MzViZmEwYWZhZDI4YjAwODQ2ZThlMjMyY2FiODAuLmIzYTkyODMx
MDYzYTY1Zjg3NzRiM2EwZTk5NjZhMzFiMTRjOTcwMzQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCkBAIC0xMzYsNiArMTM2LDcgQEAgRFJU
VGVzdFJ1bm5lcjo6RFJUVGVzdFJ1bm5lcihUZXN0U2hlbGwqIHNoZWxsKQogICAgIGJpbmRNZXRo
b2QoImR1bXBDaGlsZEZyYW1lU2Nyb2xsUG9zaXRpb25zIiwgJkRSVFRlc3RSdW5uZXI6OmR1bXBD
aGlsZEZyYW1lU2Nyb2xsUG9zaXRpb25zKTsKICAgICBiaW5kTWV0aG9kKCJkdW1wRWRpdGluZ0Nh
bGxiYWNrcyIsICZEUlRUZXN0UnVubmVyOjpkdW1wRWRpdGluZ0NhbGxiYWNrcyk7CiAgICAgYmlu
ZE1ldGhvZCgiZHVtcEZyYW1lTG9hZENhbGxiYWNrcyIsICZEUlRUZXN0UnVubmVyOjpkdW1wRnJh
bWVMb2FkQ2FsbGJhY2tzKTsKKyAgICBiaW5kTWV0aG9kKCJkdW1wSW1hZ2VMb2FkQ2FsbGJhY2tz
IiwgJkRSVFRlc3RSdW5uZXI6OmR1bXBJbWFnZUxvYWRDYWxsYmFja3MpOwogICAgIGJpbmRNZXRo
b2QoImR1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2siLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFBy
b2dyZXNzRmluaXNoZWRDYWxsYmFjayk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFVzZXJHZXN0dXJl
SW5GcmFtZUxvYWRDYWxsYmFja3MiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFVzZXJHZXN0dXJlSW5G
cmFtZUxvYWRDYWxsYmFja3MpOwogICAgIGJpbmRNZXRob2QoImR1bXBSZXNvdXJjZUxvYWRDYWxs
YmFja3MiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyk7CkBAIC0z
MDQsNiArMzA1LDEyIEBAIHZvaWQgRFJUVGVzdFJ1bm5lcjo6ZHVtcEZyYW1lTG9hZENhbGxiYWNr
cyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByCiAgICAgcmVzdWx0LT5zZXRO
dWxsKCk7CiB9CiAKK3ZvaWQgRFJUVGVzdFJ1bm5lcjo6ZHVtcEltYWdlTG9hZENhbGxiYWNrcyhj
b25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCit7CisgICAgbV9kdW1w
SW1hZ2VMb2FkQ2FsbGJhY2tzID0gdHJ1ZTsKKyAgICByZXN1bHQtPnNldE51bGwoKTsKK30KKwog
dm9pZCBEUlRUZXN0UnVubmVyOjpkdW1wUHJvZ3Jlc3NGaW5pc2hlZENhbGxiYWNrKGNvbnN0IENw
cEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKIHsKICAgICBtX2R1bXBQcm9ncmVz
c0ZpbmlzaGVkQ2FsbGJhY2sgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vRFJUVGVzdFJ1bm5lci5oCmluZGV4IDlmMDJlMWM1MzE3MGNjYTFmY2E4ZDc2MmUxMjcyYjQ3
MjExZTA1MmEuLmYzMzc0MTJlOGVjOTZkNGI4ZjkwNGZkNmRkYTZhODYzODQwN2EwZTkgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaAorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmgKQEAgLTkwLDYg
KzkwLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGR1bXBGcmFtZUxvYWRDYWxsYmFja3MoY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogCiAgICAgLy8gVGhpcyBmdW5jdGlvbiBz
ZXRzIGEgZmxhZyB0aGF0IHRlbGxzIHRoZSB0ZXN0X3NoZWxsIHRvIHByaW50IGEgbGluZSBvZgor
ICAgIC8vIGRlc2NyaXB0aXZlIHRleHQgZm9yIGVhY2ggaW1hZ2UgZWxlbWVudCB0aGF0IHJlcXVl
c3RlZCBhIGxvYWQuIEl0IHRha2VzCisgICAgLy8gbm8gYXJndW1lbnRzLCBhbmQgaWdub3JlcyBh
bnkgdGhhdCBtYXkgYmUgcHJlc2VudC4KKyAgICB2b2lkIGR1bXBJbWFnZUxvYWRDYWxsYmFja3Mo
Y29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworCisgICAgLy8gVGhpcyBmdW5j
dGlvbiBzZXRzIGEgZmxhZyB0aGF0IHRlbGxzIHRoZSB0ZXN0X3NoZWxsIHRvIHByaW50IGEgbGlu
ZSBvZgogICAgIC8vIGRlc2NyaXB0aXZlIHRleHQgZm9yIHRoZSBwcm9ncmVzcyBmaW5pc2hlZCBj
YWxsYmFjay4gSXQgdGFrZXMgbm8KICAgICAvLyBhcmd1bWVudHMsIGFuZCBpZ25vcmVzIGFueSB0
aGF0IG1heSBiZSBwcmVzZW50LgogICAgIHZvaWQgZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFj
ayhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CkBAIC0zMTMsNiArMzE4LDgg
QEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkRHVtcEVkaXRpbmdDYWxsYmFja3MoKSB7IHJldHVy
biBtX2R1bXBFZGl0aW5nQ2FsbGJhY2tzOyB9CiAgICAgYm9vbCBzaG91bGREdW1wRnJhbWVMb2Fk
Q2FsbGJhY2tzKCkgeyByZXR1cm4gbV9kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzOyB9CiAgICAgdm9p
ZCBzZXRTaG91bGREdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKGJvb2wgdmFsdWUpIHsgbV9kdW1wRnJh
bWVMb2FkQ2FsbGJhY2tzID0gdmFsdWU7IH0KKyAgICB2b2lkIHNldFNob3VsZER1bXBJbWFnZUxv
YWRDYWxsYmFja3MoYm9vbCB2YWx1ZSkgeyBtX2R1bXBJbWFnZUxvYWRDYWxsYmFja3MgPSB2YWx1
ZTsgfQorICAgIGJvb2wgc2hvdWxkRHVtcEltYWdlTG9hZENhbGxiYWNrcygpIHsgcmV0dXJuIG1f
ZHVtcEltYWdlTG9hZENhbGxiYWNrczsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFByb2dyZXNzRmlu
aXNoZWRDYWxsYmFjaygpIHsgcmV0dXJuIG1fZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjazsg
fQogICAgIHZvaWQgc2V0U2hvdWxkRHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjayhib29sIHZh
bHVlKSB7IG1fZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjayA9IHZhbHVlOyB9CiAgICAgYm9v
bCBzaG91bGREdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcygpIHsgcmV0dXJuIG1f
ZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3M7IH0KQEAgLTQ0MCw2ICs0NDcsMTAg
QEAgcHJpdmF0ZToKICAgICAvLyBsb2FkIGNhbGxiYWNrLgogICAgIGJvb2wgbV9kdW1wRnJhbWVM
b2FkQ2FsbGJhY2tzOwogCisgICAgLy8gSWYgdHJ1ZSwgdGhlIHRlc3Rfc2hlbGwgd2lsbCBvdXRw
dXQgYSBkZXNjcmlwdGl2ZSBsaW5lIGZvciBlYWNoIGltYWdlCisgICAgLy8gbG9hZCBjYWxsYmFj
ay4KKyAgICBib29sIG1fZHVtcEltYWdlTG9hZENhbGxiYWNrczsKKwogICAgIC8vIElmIHRydWUs
IHRoZSB0ZXN0X3NoZWxsIHdpbGwgb3V0cHV0IGEgZGVzY3JpcHRpdmUgbGluZSBmb3IgdGhlIHBy
b2dyZXNzCiAgICAgLy8gZmluaXNoZWQgY2FsbGJhY2suCiAgICAgYm9vbCBtX2R1bXBQcm9ncmVz
c0ZpbmlzaGVkQ2FsbGJhY2s7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9UZXN0U2hlbGwuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVs
bC5oCmluZGV4IDkxMjAxMjFkYjM4NzFkZjkyOTIwOWI4OTk0ZTlkYzBkNjJjNzIxZGIuLmE4OTFl
Njc4MmZjZTg5YzczMjgwZjNhODM2YzEwNmY4MTc3MmIzMzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCkBAIC0xMTIsNiArMTEyLDcgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBzZXRGb2N1cyhXZWJLaXQ6OldlYldpZGdldCosIGJvb2wgZW5hYmxlKTsKICAgICBi
b29sIHNob3VsZER1bXBGcmFtZUxvYWRDYWxsYmFja3MoKSBjb25zdCB7IHJldHVybiAobV90ZXN0
SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiB0ZXN0UnVubmVyKCktPnNob3VsZER1
bXBGcmFtZUxvYWRDYWxsYmFja3MoKTsgfQorICAgIGJvb2wgc2hvdWxkRHVtcEltYWdlTG9hZENh
bGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1Bl
bmRpbmcpICYmIHRlc3RSdW5uZXIoKS0+c2hvdWxkRHVtcEltYWdlTG9hZENhbGxiYWNrcygpOyB9
CiAgICAgYm9vbCBzaG91bGREdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcygpIGNv
bnN0IHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYmIHRl
c3RSdW5uZXIoKS0+c2hvdWxkRHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MoKTsg
fQogICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpIGNvbnN0ICB7IHJl
dHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiB0ZXN0UnVubmVy
KCktPnNob3VsZER1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKTsgfQogICAgIGJvb2wgc2hvdWxk
RHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoKSBjb25zdCAgeyByZXR1cm4gKG1fdGVzdElz
UHJlcGFyaW5nIHx8IG1fdGVzdElzUGVuZGluZykgJiYgdGVzdFJ1bm5lcigpLT5zaG91bGREdW1w
UmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpOyB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKaW5kZXggYmFmOGQwZDllM2QzNjM0ZjFiYTVjY2E0ZTIy
MTE5ZDU1YTU3NmUyMS4uYWIzZTQ5NDk4NTc2NzFlOTc4MWNlOTljMmIxZTUxOTVlMzRlMDE2YSAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3Bw
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcApAQCAt
MTA5Niw2ICsxMDk2LDE5IEBAIHZvaWQgV2ViVmlld0hvc3Q6OmRpZEZpbmlzaExvYWQoV2ViRnJh
bWUqIGZyYW1lKQogICAgIGxvY2F0aW9uQ2hhbmdlRG9uZShmcmFtZSk7CiB9CiAKK3ZvaWQgV2Vi
Vmlld0hvc3Q6OmRpZFJlcXVlc3RJbWFnZShXZWJLaXQ6OldlYkZyYW1lKiBmcmFtZSwgY29uc3Qg
V2ViRWxlbWVudCYgZWxlbWVudCwgY29uc3QgV2ViVVJMJiB1cmwpCit7CisgICAgaWYgKG1fc2hl
bGwtPnNob3VsZER1bXBJbWFnZUxvYWRDYWxsYmFja3MoKSkgeworICAgICAgICBwcmludEZyYW1l
RGVzY3JpcHRpb24oZnJhbWUpOworICAgICAgICBwcmludGYoIiAtIGltYWdlIGVsZW1lbnQgd2l0
aCAiKTsKKyAgICAgICAgaWYgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCJpZCIpKQorICAgICAgICAg
ICAgcHJpbnRmKCJpZCAnJXMnIiwgZWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikudXRmOCgpLmRh
dGEoKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHByaW50Zigibm8gaWQiKTsKKyAgICAg
ICAgcHJpbnRmKCIgcmVxdWVzdGVkICclcydcbiIsIFVSTERlc2NyaXB0aW9uKHVybCkuY19zdHIo
KSk7CisgICAgfQorfQorCiB2b2lkIFdlYlZpZXdIb3N0OjpkaWROYXZpZ2F0ZVdpdGhpblBhZ2Uo
V2ViRnJhbWUqIGZyYW1lLCBib29sIGlzTmV3TmF2aWdhdGlvbikKIHsKICAgICBmcmFtZS0+ZGF0
YVNvdXJjZSgpLT5zZXRFeHRyYURhdGEobV9wZW5kaW5nRXh0cmFEYXRhLmxlYWtQdHIoKSk7CmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAppbmRleCBlYjQxZDU0
YTQ2ZDM1NmVhMjA2M2M2M2NkMDg3ZjRjYTVjMmZmMDUxLi4wYzU5MzFlYjZiOTBkY2YyY2NhYjdm
MzgzYTIzOTg5NjM5NmJjMjg1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJWaWV3SG9zdC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dl
YlZpZXdIb3N0LmgKQEAgLTI1Niw2ICsyNTYsNyBAQCBjbGFzcyBXZWJWaWV3SG9zdCA6IHB1Ymxp
YyBXZWJLaXQ6OldlYlZpZXdDbGllbnQsIHB1YmxpYyBXZWJLaXQ6OldlYkZyYW1lQ2xpZW50LAog
ICAgIHZpcnR1YWwgdm9pZCBkaWRIYW5kbGVPbmxvYWRFdmVudHMoV2ViS2l0OjpXZWJGcmFtZSop
OwogICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsTG9hZChXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3Qg
V2ViS2l0OjpXZWJVUkxFcnJvciYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkKFdl
YktpdDo6V2ViRnJhbWUqKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVxdWVzdEltYWdlKFdlYktp
dDo6V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6OldlYkVsZW1lbnQmLCBjb25zdCBXZWJLaXQ6Oldl
YlVSTCYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWROYXZpZ2F0ZVdpdGhpblBhZ2UoV2ViS2l0OjpX
ZWJGcmFtZSosIGJvb2wgaXNOZXdOYXZpZ2F0aW9uKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hh
bmdlTG9jYXRpb25XaXRoaW5QYWdlKFdlYktpdDo6V2ViRnJhbWUqKTsKICAgICB2aXJ0dWFsIHZv
aWQgYXNzaWduSWRlbnRpZmllclRvUmVxdWVzdChXZWJLaXQ6OldlYkZyYW1lKiwgdW5zaWduZWQg
aWRlbnRpZmllciwgY29uc3QgV2ViS2l0OjpXZWJVUkxSZXF1ZXN0Jik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGE3NjIw
OTRkN2Q2M2U5YzA2NTlkNTEzZTUwYzc1M2MxNTRkYjljZC4uZDQ0YWNiYmQ2OGQ1MDJjZTNjYmI1
NTgzNjQ2NjU0ZTlmYmEyZGViMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTExLTIyICBN
YXJqYSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJh
Y2tzIHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCBmb3Igd2hlbiBsb2FkaW5nIGFuIGltYWdlIGlz
IHJlcXVlc3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTI3NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbiBDaHJvbWl1bSwgd2hlbiBhbiBleHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3Jr
CisgICAgICAgIHJlcXVlc3QgKHdoaWNoIGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxp
a2UgdG8KKyAgICAgICAgbm90aWZ5IGNvbnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJy
ZW50IHBhZ2UgYWJvdXQKKyAgICAgICAgd2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVj
YXVzZSB0aGUgcmVxdWVzdHMgd2VyZQorICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8g
ZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5j
ZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBpdHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55
IGluZm9ybWF0aW9uIHdoYXQgRE9NIGVsZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBj
dXJyZW50bHkgYSBjb250ZW50IHNjcmlwdCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQK
KyAgICAgICAgZ3Vlc3Mgd2hpY2ggcmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNv
dW50ZXIKKyAgICAgICAgcGFydC4gQnkgYWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVk
ZGVyIGNhbiBtYWtlCisgICAgICAgIHRoaXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1sb2FkLWNhbGxiYWNrcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9h
ZGVyL2ltYWdlLWxvYWQtY2FsbGJhY2tzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTIxICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQu
IFJldmVydGVkIGV4cGVjdGF0aW9uIGNoYW5nZXMgZnJvbSByMTM1MzgwIGFuZCBtYXJrZWQgY3Nz
My9maWx0ZXJzL2VmZmVjdC1yZWZlcmVuY2Utb3JkZXJpbmctaHcuaHRtbCBhcyBjcmFzaGluZwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvaW1h
Z2UtbG9hZC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hy
b21pdW0vZmFzdC9sb2FkZXIvaW1hZ2UtbG9hZC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmZiMzQ1ZjkxYjYxNDUwN2NlMjFhNGM2MGNlOWJhM2YzZmVhNjYwOTcKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFn
ZS1sb2FkLWNhbGxiYWNrcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNyBAQAorbWFpbiBmcmFt
ZSAtIGltYWdlIGVsZW1lbnQgd2l0aCBpZCAnd2l0aC1iYWNrZ3JvdW5kJyByZXF1ZXN0ZWQgJ2xl
bm5hLnBuZycKK21haW4gZnJhbWUgLSBpbWFnZSBlbGVtZW50IHdpdGggaWQgJ2ltZy1ub3JtYWwn
IHJlcXVlc3RlZCAnZGljZS5wbmcnCittYWluIGZyYW1lIC0gaW1hZ2UgZWxlbWVudCB3aXRoIGlk
ICdpbWctY2hhbmdpbmcnIHJlcXVlc3RlZCAnZGljZS5wbmcnCittYWluIGZyYW1lIC0gaW1hZ2Ug
ZWxlbWVudCB3aXRoIGlkICdpbWctbm90LXRoZXJlJyByZXF1ZXN0ZWQgJ25vdC1leGlzdGluZy5w
bmcnCittYWluIGZyYW1lIC0gaW1hZ2UgZWxlbWVudCB3aXRoIGlkICdpbWctY2hhbmdpbmcnIHJl
cXVlc3RlZCAnbXUucG5nJworbWFpbiBmcmFtZSAtIGltYWdlIGVsZW1lbnQgd2l0aCBpZCAnaW1n
LWNyZWF0ZWQnIHJlcXVlc3RlZCAnb3ZhbC5wbmcnCittYWluIGZyYW1lIC0gaW1hZ2UgZWxlbWVu
dCB3aXRoIGlkICdpbWctY3JlYXRlZC0yJyByZXF1ZXN0ZWQgJ3BuZ19wZXJfcm93X2FscGhhLnBu
ZycKK21haW4gZnJhbWUgLSBpbWFnZSBlbGVtZW50IHdpdGggaWQgJ3dpdGgtYmFja2dyb3VuZCcg
cmVxdWVzdGVkICdwYWxhdHRlZC1jb2xvci1wbmctZ2FtbWEtb25lLWNvbG9yLXByb2ZpbGUucG5n
JworVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBjb3JyZWN0IGNhbGxiYWNrcyBmb3IgaW1hZ2Ug
bG9hZHMgYXJlIGludm9rZWQuIEl0IHBhc3NlcyBpZiB5b3Ugc2VlIHRoZSBjYWxsYmFja3MgZm9y
IGVpZ2h0IGltYWdlcy4KKworICAgIAorCitQQVNTIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL2ltYWdlLWxvYWQtY2FsbGJhY2tzLmh0bWwgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9pbWFnZS1sb2FkLWNhbGxiYWNr
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjRiYmEzYjUyOGQzNGVmNDRlM2M5YzMxMWYwNGM4NWJjMDkzZWEx
OGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0
L2xvYWRlci9pbWFnZS1sb2FkLWNhbGxiYWNrcy5odG1sCkBAIC0wLDAgKzEsNTkgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0Pgord2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci5kdW1wSW1hZ2VMb2FkQ2FsbGJh
Y2tzKCk7Cit9IGVsc2UgeworICAgIGRvY3VtZW50LndyaXRlKCJUaGlzIHRlc3QgY2Fubm90IHJ1
biB3aXRob3V0IGEgdGVzdFJ1bm5lciIpOworfQorCitmdW5jdGlvbiByZXF1ZXN0TW9yZUltYWdl
cygpIHsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW1nLWNoYW5naW5nIikuc3JjID0g
Ii4uLy4uLy4uLy4uL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9tdS5wbmciOworCisgICAgdmFyIGNy
ZWF0ZWRJbWFnZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOworICAgIGNyZWF0ZWRJ
bWFnZS5pZCA9ICJpbWctY3JlYXRlZCI7CisgICAgY3JlYXRlZEltYWdlLnNyYyA9ICIuLi8uLi8u
Li8uLi9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvb3ZhbC5wbmciOworICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpbWFnZXMiKS5hcHBlbmRDaGlsZChjcmVhdGVkSW1hZ2UpOworCisgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndpdGgtYmFja2dyb3VuZCIpLnN0eWxlLmJhY2tncm91bmRJ
bWFnZSA9ICJ1cmwoLi4vLi4vLi4vLi4vZmFzdC9pbWFnZXMvcmVzb3VyY2VzL3BhbGF0dGVkLWNv
bG9yLXBuZy1nYW1tYS1vbmUtY29sb3ItcHJvZmlsZS5wbmcpIjsKKworICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJtb3JlLWltYWdlcyIpLmlubmVySFRNTCA9ICI8aW1nIGlkPSdpbWctY3Jl
YXRlZC0yJyBzcmM9Jy4uLy4uLy4uLy4uL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9wbmdfcGVyX3Jv
d19hbHBoYS5wbmcnPiI7CisKKyAgICBzZXRUaW1lb3V0KGZpbmlzaFRlc3QsIDApOworfQorCitm
dW5jdGlvbiBmaW5pc2hUZXN0KCkgeworICAgIHRlc3RQYXNzZWQoIiIpOworICAgIGZpbmlzaEpT
VGVzdCgpOworfQorPC9zY3JpcHQ+Cis8c3R5bGU+Cisjd2l0aC1iYWNrZ3JvdW5kCit7CisgICAg
YmFja2dyb3VuZC1pbWFnZTp1cmwoIi4uLy4uLy4uLy4uL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9s
ZW5uYS5wbmciKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InNldFRpbWVv
dXQocmVxdWVzdE1vcmVJbWFnZXMsIDEwMCk7Ij4KKzxkaXYgaWQ9IndpdGgtYmFja2dyb3VuZCI+
Cis8cD4KKyAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBjb3JyZWN0IGNhbGxiYWNrcyBmb3Ig
aW1hZ2UgbG9hZHMgYXJlIGludm9rZWQuIEl0CisgIHBhc3NlcyBpZiB5b3Ugc2VlIHRoZSBjYWxs
YmFja3MgZm9yIGVpZ2h0IGltYWdlcy4KKzwvcD4KKzwvZGl2PgorPGRpdiBpZD0iaW1hZ2VzIj4K
KzxpbWcgaWQ9ImltZy1ub3JtYWwiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9pbWFnZXMvcmVzb3Vy
Y2VzL2RpY2UucG5nIiAvPgorPGltZyBpZD0iaW1nLWNoYW5naW5nIiBzcmM9Ii4uLy4uLy4uLy4u
L2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9kaWNlLnBuZyIgLz4KKzxpbWcgaWQ9ImltZy1mYWlsIiAv
PgorPGltZyBpZD0iaW1nLW5vdC10aGVyZSIgc3JjPSJub3QtZXhpc3RpbmcucG5nIiAvPgorPC9k
aXY+Cis8ZGl2IGlkPSJtb3JlLWltYWdlcyI+Cis8L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
cG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175651</attachid>
            <date>2012-11-22 05:11:28 -0800</date>
            <delta_ts>2012-11-23 03:48:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92761-20121122140913.patch</filename>
            <type>text/plain</type>
            <size>23571</size>
            <attacher name="Marja Hölttä">marja</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc3ZDA3MGQ1YmViYjY0
Yjc4MTIyZjM5ZDJjODMwMzQyNGEzYzljZS4uNTAzYTM2NjQ0ZDU5MWRhY2MwZjJlMzg4ODdjNTJj
ZTAyOTA4YjEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTExLTIyICBNYXJq
YSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tz
IHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCB3aGVuIGEgcmVzb3VyY2UgaXMgcmVxdWVzdGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc2MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIENocm9taXVt
LCB3aGVuIGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2VscyBhIG5ldHdvcmsKKyAgICAgICAgcmVx
dWVzdCAod2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2VzcyksIHdlJ2QgbGlrZSB0bworICAgICAg
ICBub3RpZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcgb24gdGhlIGN1cnJlbnQgcGFnZSBhYm91
dAorICAgICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQgdG8gbG9hZCBiZWNhdXNlIHRoZSByZXF1
ZXN0cyB3ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMgb3Bwb3NlZCB0byBlLmcuIHRoZSBuZXR3
b3JrIHJlcXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qgd29yaykuIFNpbmNlIHRoZSByZXNvdXJj
ZSByZXF1ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAgICBjYXJyeSBhbnkgaW5mb3JtYXRpb24g
d2hhdCBET00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3IsCisgICAgICAgIGN1cnJlbnRseSBhIGNv
bnRlbnQgc2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERPTSB0cmVlIGFuZAorICAgICAgICBndWVz
cyB3aGljaCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxlZCBieSBpdHMgY291bnRlcgorICAgICAg
ICBwYXJ0LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tzLCB0aGUgZW1iZWRkZXIgY2FuIG1ha2UK
KyAgICAgICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3RseS4KKworICAgICAgICBUZXN0OiBwbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy5odG1s
CisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaFJlc291cmNlUmVxdWVzdGVkKToKKyAgICAg
ICAgKEZyYW1lTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VMb2FkZXI6
OnJlcXVlc3RSZXNvdXJjZSk6CisKIDIwMTItMTEtMjIgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5A
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbmFtZSB0aGUgImVkZW4iIGJpdCB0byBzb21ldGhp
bmcgbW9yZSBkZXNjcmlwdGl2ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBkNGQzMTcx
ZjAxN2YzOTBhNmM4OWUyMDg2NmFjYTk0NGY1N2VlYTY0Li5kOWU3MzM1YWNmM2EyNTdhNDEyMTkz
MzQwZDQxZTg1NmRhYzM5Yjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDMyIEBACisyMDEyLTExLTIyICBNYXJqYSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4K
KworICAgICAgICBBZGQgY2FsbGJhY2tzIHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCB3aGVuIGEg
cmVzb3VyY2UgaXMgcmVxdWVzdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05Mjc2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluIENocm9taXVtLCB3aGVuIGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2Vs
cyBhIG5ldHdvcmsKKyAgICAgICAgcmVxdWVzdCAod2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2Vz
cyksIHdlJ2QgbGlrZSB0bworICAgICAgICBub3RpZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcg
b24gdGhlIGN1cnJlbnQgcGFnZSBhYm91dAorICAgICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQg
dG8gbG9hZCBiZWNhdXNlIHRoZSByZXF1ZXN0cyB3ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMg
b3Bwb3NlZCB0byBlLmcuIHRoZSBuZXR3b3JrIHJlcXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qg
d29yaykuIFNpbmNlIHRoZSByZXNvdXJjZSByZXF1ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAg
ICBjYXJyeSBhbnkgaW5mb3JtYXRpb24gd2hhdCBET00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3Is
CisgICAgICAgIGN1cnJlbnRseSBhIGNvbnRlbnQgc2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERP
TSB0cmVlIGFuZAorICAgICAgICBndWVzcyB3aGljaCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxl
ZCBieSBpdHMgY291bnRlcgorICAgICAgICBwYXJ0LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tz
LCB0aGUgZW1iZWRkZXIgY2FuIG1ha2UKKyAgICAgICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3Rs
eS4KKworICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKFdlYkZyYW1lQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVD
bGllbnQ6OmRpZFJlcXVlc3RSZXNvdXJjZSk6CisgICAgICAgICogc3JjL0ZyYW1lTG9hZGVyQ2xp
ZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlz
cGF0Y2hSZXNvdXJjZVJlcXVlc3RlZCk6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHNy
Yy9GcmFtZUxvYWRlckNsaWVudEltcGwuaDoKKyAgICAgICAgKEZyYW1lTG9hZGVyQ2xpZW50SW1w
bCk6CisKIDIwMTItMTEtMjEgIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtjaHJvbWl1bV0gRGV2aWNlIHNjYWxlIGZhY3RvciBzaG91bGQgYmUgbm8tb3Ag
d2hlbiBhcHBseURldmljZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yID09IDAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggODVlNGVlY2YxOTI5NDFmNzAyM2Vl
YTZkYmVkZDAyMWVmNzQzMmJhYy4uNWNkNDMzMjMxYjM4MDUzZWFlMDNmMzNiOWQ4Y2Y5N2ZkNjU5
MTljNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTE2
Niw2ICsxNjYsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBk
aXNwYXRjaERpZEZpbmlzaERvY3VtZW50TG9hZCgpID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lk
IGRpc3BhdGNoRGlkRmluaXNoTG9hZCgpID0gMDsKIAorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlz
cGF0Y2hSZXNvdXJjZVJlcXVlc3RlZChFbGVtZW50KiwgY29uc3QgS1VSTCYpIHsgfQorICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hSZXNvdXJjZVJlcXVlc3RlZChjb25zdCBBdG9taWNTdHJp
bmcmIGluaXRpYXRvck5hbWUsIGNvbnN0IEtVUkwmKSB7IH0KKwogICAgICAgICB2aXJ0dWFsIHZv
aWQgZGlzcGF0Y2hEaWRMYXlvdXQoKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
RGlkTGF5b3V0KExheW91dE1pbGVzdG9uZXMpIHsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCA4M2E1YTFjZTY3
NGNjNzJjNWYxMTAwOTZjYjM0OGFiMDgyNWU0ZDVmLi5hYzM1NDIwZGY3ZmI2NTc1NTQ5ODcxYzlm
OTlhMGM0YzZjNjM3YjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUv
Q2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTQyMyw2ICs0MjMsMTMgQEAgQ2FjaGVkUmVz
b3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0
UmVzb3VyY2UoQ2FjaGUKICAgICBpZiAoIWNhblJlcXVlc3QodHlwZSwgdXJsLCByZXF1ZXN0LmZv
clByZWxvYWQoKSkpCiAgICAgICAgIHJldHVybiAwOwogCisgICAgaWYgKEZyYW1lKiBmID0gZnJh
bWUoKSkgeworICAgICAgICBpZiAocmVxdWVzdC5pbml0aWF0b3JFbGVtZW50KCkpCisgICAgICAg
ICAgICBmLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpc3BhdGNoUmVzb3VyY2VSZXF1ZXN0ZWQocmVx
dWVzdC5pbml0aWF0b3JFbGVtZW50KCkuZ2V0KCksIHJlcXVlc3QucmVzb3VyY2VSZXF1ZXN0KCku
dXJsKCkpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmLT5sb2FkZXIoKS0+Y2xpZW50KCkt
PmRpc3BhdGNoUmVzb3VyY2VSZXF1ZXN0ZWQocmVxdWVzdC5pbml0aWF0b3JOYW1lKCksIHJlcXVl
c3QucmVzb3VyY2VSZXF1ZXN0KCkudXJsKCkpOworICAgIH0KKwogICAgIGlmIChtZW1vcnlDYWNo
ZSgpLT5kaXNhYmxlZCgpKSB7CiAgICAgICAgIERvY3VtZW50UmVzb3VyY2VNYXA6Oml0ZXJhdG9y
IGl0ID0gbV9kb2N1bWVudFJlc291cmNlcy5maW5kKHVybC5zdHJpbmcoKSk7CiAgICAgICAgIGlm
IChpdCAhPSBtX2RvY3VtZW50UmVzb3VyY2VzLmVuZCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaAppbmRleCBiZGEzYzAzODlkMmM1NDA1MmEz
NWU5YzU5ZGIzMWQ0ZGRiNDgwNjRjLi5lYzFmMTBhYjRmMWRmNWZlOTRjZWUxYWM3YmEzZDNlMDg1
MTQwZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFt
ZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xp
ZW50LmgKQEAgLTUzLDYgKzUzLDcgQEAgY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGll
bnQ7CiBjbGFzcyBXZWJDb29raWVKYXI7CiBjbGFzcyBXZWJEYXRhU291cmNlOwogY2xhc3MgV2Vi
RE9NRXZlbnQ7CitjbGFzcyBXZWJFbGVtZW50OwogY2xhc3MgV2ViRm9ybUVsZW1lbnQ7CiBjbGFz
cyBXZWJGcmFtZTsKIGNsYXNzIFdlYkludGVudDsKQEAgLTIyNSw2ICsyMjYsMTAgQEAgcHVibGlj
OgogICAgIC8vIFRoZSBmcmFtZSdzIGRvY3VtZW50IGFuZCBhbGwgb2YgaXRzIHN1YnJlc291cmNl
cyBzdWNjZWVkZWQgdG8gbG9hZC4KICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZChXZWJG
cmFtZSopIHsgfQogCisgICAgLy8gQW4gZWxlbWVudCByZXF1ZXN0ZWQgYSByZXNvdXJjZS4KKyAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVxdWVzdFJlc291cmNlKFdlYkZyYW1lKiwgY29uc3QgV2ViRWxl
bWVudCYsIGNvbnN0IFdlYlVSTCYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZXF1ZXN0UmVz
b3VyY2UoV2ViRnJhbWUqLCBjb25zdCBXZWJTdHJpbmcmLCBjb25zdCBXZWJVUkwmKSB7IH0KKwog
ICAgIC8vIFRoZSBuYXZpZ2F0aW9uIHJlc3VsdGVkIGluIG5vIGNoYW5nZSB0byB0aGUgZG9jdW1l
bnRzIHdpdGhpbiB0aGUgcGFnZS4KICAgICAvLyBGb3IgZXhhbXBsZSwgdGhlIG5hdmlnYXRpb24g
bWF5IGhhdmUganVzdCByZXN1bHRlZCBpbiBzY3JvbGxpbmcgdG8gYQogICAgIC8vIG5hbWVkIGFu
Y2hvciBvciBhIFBvcFN0YXRlIGV2ZW50IG1heSBoYXZlIGJlZW4gZGlzcGF0Y2hlZC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3Bw
CmluZGV4IDlkMGFhYjQ5NWIzM2Q4MTI4NGYwY2ExNmQxMDlkYjg3MTM0ZWQ2OTcuLjFhYmZiYzRm
M2Y3ZDRiMTE3NWUwNmNmZDlmNzdmZmE0NmVkM2RjMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcApAQCAtNjksNiArNjks
NyBAQAogI2luY2x1ZGUgIldlYkRhdGFTb3VyY2VJbXBsLmgiCiAjaW5jbHVkZSAiV2ViRGV2VG9v
bHNBZ2VudFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJEb2N1bWVudC5oIgorI2luY2x1ZGUgIldl
YkVsZW1lbnQuaCIKICNpbmNsdWRlICJXZWJGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIldlYkZy
YW1lQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVJbXBsLmgiCkBAIC04NzIsNiArODczLDE4
IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRjaERpZEZpbmlzaExvYWQoKQog
ICAgIC8vIHByb3Zpc2lvbmFsIGxvYWQgc3VjY2VlZHMgb3IgZmFpbHMsIG5vdCB0aGUgInJlYWwi
IG9uZS4KIH0KIAordm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoUmVzb3VyY2VS
ZXF1ZXN0ZWQoRWxlbWVudCogc291cmNlRWxlbWVudCwgY29uc3QgS1VSTCYgdXJsKQoreworICAg
IGlmIChtX3dlYkZyYW1lLT5jbGllbnQoKSkKKyAgICAgICAgbV93ZWJGcmFtZS0+Y2xpZW50KCkt
PmRpZFJlcXVlc3RSZXNvdXJjZShtX3dlYkZyYW1lLCBXZWJFbGVtZW50KHNvdXJjZUVsZW1lbnQp
LCBXZWJVUkwodXJsKSk7Cit9CisKK3ZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRj
aFJlc291cmNlUmVxdWVzdGVkKGNvbnN0IEF0b21pY1N0cmluZyYgaW5pdGlhdG9yTmFtZSwgY29u
c3QgS1VSTCYgdXJsKQoreworICAgIGlmIChtX3dlYkZyYW1lLT5jbGllbnQoKSkKKyAgICAgICAg
bV93ZWJGcmFtZS0+Y2xpZW50KCktPmRpZFJlcXVlc3RSZXNvdXJjZShtX3dlYkZyYW1lLCBXZWJT
dHJpbmcoaW5pdGlhdG9yTmFtZSksIFdlYlVSTCh1cmwpKTsKK30KKwogdm9pZCBGcmFtZUxvYWRl
ckNsaWVudEltcGw6OmRpc3BhdGNoRGlkTGF5b3V0KExheW91dE1pbGVzdG9uZXMgbWlsZXN0b25l
cykKIHsKICAgICBpZiAoIW1fd2ViRnJhbWUtPmNsaWVudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAppbmRleCAyYWE2MjRiZGYz
NmRkMjg2M2YyMjAxNmJmZTdlY2QwMTBlNzA3OWJjLi40NWIwNmRhZjg0ZWQxMmViMWNmZmU3NDYz
ZThjYTk1YjEyZGU2ODlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9G
cmFtZUxvYWRlckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9G
cmFtZUxvYWRlckNsaWVudEltcGwuaApAQCAtMTEwLDYgKzExMCw4IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEaWRGYWlsTG9hZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yJik7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmluaXNoRG9jdW1lbnRMb2FkKCk7
CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkRmluaXNoTG9hZCgpOworICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaFJlc291cmNlUmVxdWVzdGVkKFdlYkNvcmU6OkVsZW1lbnQqLCBjb25zdCBX
ZWJDb3JlOjpLVVJMJik7CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoUmVzb3VyY2VSZXF1ZXN0
ZWQoY29uc3QgV1RGOjpBdG9taWNTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpLVVJMJik7CiAgICAg
dmlydHVhbCB2b2lkIGRpc3BhdGNoRGlkTGF5b3V0KFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMp
OwogICAgIHZpcnR1YWwgV2ViQ29yZTo6RnJhbWUqIGRpc3BhdGNoQ3JlYXRlUGFnZShjb25zdCBX
ZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uJik7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoU2hv
dygpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4
IDZlNjU5YmIwNDY2NTkzODczYWRjMGNhYTM3YmQ0NzM3MGQ2NTIyMzEuLmJkMWE0MGY3ZjUxNDk3
YjNlYzg1ZGU2N2IzZmE2YjYzODYwY2IxYzkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAxMi0xMS0yMiAgTWFyamEg
SMO2bHR0w6QgIDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0
byB0aGUgRnJhbWVMb2FkZXJDbGllbnQgd2hlbiBhIHJlc291cmNlIGlzIHJlcXVlc3RlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDaHJvbWl1bSwg
d2hlbiBhbiBleHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisgICAgICAgIHJlcXVl
c3QgKHdoaWNoIGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8KKyAgICAgICAg
bm90aWZ5IGNvbnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQK
KyAgICAgICAgd2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUgcmVxdWVz
dHMgd2VyZQorICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29y
ayByZXF1ZXN0IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2Ug
cmVxdWVzdCBpdHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55IGluZm9ybWF0aW9uIHdo
YXQgRE9NIGVsZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJyZW50bHkgYSBjb250
ZW50IHNjcmlwdCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAgICAgICAgZ3Vlc3Mg
d2hpY2ggcmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50ZXIKKyAgICAgICAg
cGFydC4gQnkgYWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVyIGNhbiBtYWtlCisg
ICAgICAgIHRoaXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKERSVFRlc3RSdW5uZXI6
OkRSVFRlc3RSdW5uZXIpOgorICAgICAgICAoRFJUVGVzdFJ1bm5lcjo6ZHVtcFJlc291cmNlUmVx
dWVzdENhbGxiYWNrcyk6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpyZXNldCk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oOgorICAgICAgICAoRFJU
VGVzdFJ1bm5lcik6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpzZXRTaG91bGREdW1wUmVzb3Vy
Y2VSZXF1ZXN0Q2FsbGJhY2tzKToKKyAgICAgICAgKERSVFRlc3RSdW5uZXI6OnNob3VsZER1bXBS
ZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5oOgorICAgICAgICAoVGVzdFNoZWxsOjpzaG91bGREdW1wUmVzb3VyY2VS
ZXF1ZXN0Q2FsbGJhY2tzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJW
aWV3SG9zdC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9zdDo6ZGlkUmVxdWVzdFJlc291cmNlKToK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oOgorICAgICAg
ICAoV2ViVmlld0hvc3QpOgorCiAyMDEyLTExLTIyICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNA
d2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdW1dUUl0gVGVzdENvbnRyb2xsZXI6OnBsYXRmb3Jt
UnVuVW50aWwgc2hvdWxkIG5vdCBkbyBidXN5IHdhaXRpbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHAKaW5kZXggMmY4Mzk3YmVlNDUzNWJmYTBh
ZmFkMjhiMDA4NDZlOGUyMzJjYWI4MC4uZTIyNTVjNzkzYjcwMGQ4YTA3ZDM0ZDY2YTQ1NTY4MTVm
ZmY4NGY1YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVz
dFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1
bm5lci5jcHAKQEAgLTEzOSw2ICsxMzksNyBAQCBEUlRUZXN0UnVubmVyOjpEUlRUZXN0UnVubmVy
KFRlc3RTaGVsbCogc2hlbGwpCiAgICAgYmluZE1ldGhvZCgiZHVtcFByb2dyZXNzRmluaXNoZWRD
YWxsYmFjayIsICZEUlRUZXN0UnVubmVyOjpkdW1wUHJvZ3Jlc3NGaW5pc2hlZENhbGxiYWNrKTsK
ICAgICBiaW5kTWV0aG9kKCJkdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcyIsICZE
UlRUZXN0UnVubmVyOjpkdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcyk7CiAgICAg
YmluZE1ldGhvZCgiZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyIsICZEUlRUZXN0UnVubmVyOjpk
dW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKTsKKyAgICBiaW5kTWV0aG9kKCJkdW1wUmVzb3VyY2VS
ZXF1ZXN0Q2FsbGJhY2tzIiwgJkRSVFRlc3RSdW5uZXI6OmR1bXBSZXNvdXJjZVJlcXVlc3RDYWxs
YmFja3MpOwogICAgIGJpbmRNZXRob2QoImR1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzIiwg
JkRSVFRlc3RSdW5uZXI6OmR1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKTsKICAgICBiaW5k
TWV0aG9kKCJkdW1wU2VsZWN0aW9uUmVjdCIsICZEUlRUZXN0UnVubmVyOjpkdW1wU2VsZWN0aW9u
UmVjdCk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFN0YXR1c0NhbGxiYWNrcyIsICZEUlRUZXN0UnVu
bmVyOjpkdW1wV2luZG93U3RhdHVzQ2hhbmdlcyk7CkBAIC0zMjIsNiArMzIzLDEyIEBAIHZvaWQg
RFJUVGVzdFJ1bm5lcjo6ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50CiAgICAgcmVzdWx0LT5zZXROdWxsKCk7CiB9CiAKK3ZvaWQgRFJU
VGVzdFJ1bm5lcjo6ZHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCit7CisgICAgbV9kdW1wUmVzb3VyY2VSZXF1ZXN0
Q2FsbGJhY2tzID0gdHJ1ZTsKKyAgICByZXN1bHQtPnNldE51bGwoKTsKK30KKwogdm9pZCBEUlRU
ZXN0UnVubmVyOjpkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyhjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAgICAgbV9kdW1wUmVzb3VyY2VSZXNwb25z
ZU1JTUVUeXBlcyA9IHRydWU7CkBAIC01NTYsNiArNTYzLDcgQEAgdm9pZCBEUlRUZXN0UnVubmVy
OjpyZXNldCgpCiAgICAgbV9kdW1wUHJvZ3Jlc3NGaW5pc2hlZENhbGxiYWNrID0gZmFsc2U7CiAg
ICAgbV9kdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcyA9IGZhbHNlOwogICAgIG1f
ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyA9IGZhbHNlOworICAgIG1fZHVtcFJlc291cmNlUmVx
dWVzdENhbGxiYWNrcyA9IGZhbHNlOwogICAgIG1fZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlw
ZXMgPSBmYWxzZTsKICAgICBtX2R1bXBCYWNrRm9yd2FyZExpc3QgPSBmYWxzZTsKICAgICBtX2R1
bXBDaGlsZEZyYW1lU2Nyb2xsUG9zaXRpb25zID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmggYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmgKaW5kZXggOWYwMmUxYzUzMTcwY2NhMWZjYThk
NzYyZTEyNzJiNDcyMTFlMDUyYS4uNDlmMjdjMzZiYzFjNWY3YjhmMjY1NzEyYzc1MTVhNjllNDQ1
MGU4ZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1
bm5lci5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIu
aApAQCAtMTE2LDcgKzExNiwxMiBAQCBwdWJsaWM6CiAgICAgLy8gbGluZSBmb3IgZWFjaCByZXNv
dXJjZSBsb2FkIGNhbGxiYWNrLiBJdCB0YWtlcyBubyBhcmd1bWVudHMsIGFuZCBpZ25vcmVzCiAg
ICAgLy8gYW55IHRoYXQgbWF5IGJlIHByZXNlbnQuCiAgICAgdm9pZCBkdW1wUmVzb3VyY2VMb2Fk
Q2FsbGJhY2tzKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsgICAgCi0gICAg
CisKKyAgICAvLyBUaGlzIGZ1bmN0aW9uIHNldHMgYSBmbGFnIHRoYXQgdGVsbHMgdGhlIHRlc3Rf
c2hlbGwgdG8gcHJpbnQgYSBsaW5lIG9mCisgICAgLy8gZGVzY3JpcHRpdmUgdGV4dCBmb3IgZWFj
aCBlbGVtZW50IHRoYXQgcmVxdWVzdGVkIGEgcmVzb3VyY2UuIEl0IHRha2VzIG5vCisgICAgLy8g
YXJndW1lbnRzLCBhbmQgaWdub3JlcyBhbnkgdGhhdCBtYXkgYmUgcHJlc2VudC4KKyAgICB2b2lk
IGR1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3Bw
VmFyaWFudCopOworCiAgICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0aGF0IHRlbGxz
IHRoZSB0ZXN0X3NoZWxsIHRvIGR1bXAgdGhlIE1JTUUgdHlwZQogICAgIC8vIGZvciBlYWNoIHJl
c291cmNlIHRoYXQgd2FzIGxvYWRlZC4gSXQgdGFrZXMgbm8gYXJndW1lbnRzLCBhbmQgaWdub3Jl
cyBhbnkKICAgICAvLyB0aGF0IG1heSBiZSBwcmVzZW50LgpAQCAtMzE4LDYgKzMyMyw4IEBAIHB1
YmxpYzoKICAgICBib29sIHNob3VsZER1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tz
KCkgeyByZXR1cm4gbV9kdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrczsgfQogICAg
IHZvaWQgc2V0U2hvdWxkRHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MoYm9vbCB2
YWx1ZSkgeyBtX2R1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzID0gdmFsdWU7IH0K
ICAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSB7cmV0dXJuIG1fZHVt
cFJlc291cmNlTG9hZENhbGxiYWNrczsgfQorICAgIHZvaWQgc2V0U2hvdWxkRHVtcFJlc291cmNl
UmVxdWVzdENhbGxiYWNrcyhib29sIHZhbHVlKSB7IG1fZHVtcFJlc291cmNlUmVxdWVzdENhbGxi
YWNrcyA9IHZhbHVlOyB9CisgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJh
Y2tzKCkgeyByZXR1cm4gbV9kdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzOyB9CiAgICAgdm9p
ZCBzZXRTaG91bGREdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyhib29sIHZhbHVlKSB7IG1f
ZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMgPSB2YWx1ZTsgfQogICAgIGJvb2wgc2hvdWxk
RHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoKSB7cmV0dXJuIG1fZHVtcFJlc291cmNlUmVz
cG9uc2VNSU1FVHlwZXM7IH0KICAgICBib29sIHNob3VsZER1bXBTdGF0dXNDYWxsYmFja3MoKSB7
IHJldHVybiBtX2R1bXBXaW5kb3dTdGF0dXNDaGFuZ2VzOyB9CkBAIC00NTEsNyArNDU4LDExIEBA
IHByaXZhdGU6CiAgICAgLy8gSWYgdHJ1ZSwgdGhlIHRlc3Rfc2hlbGwgd2lsbCBvdXRwdXQgYSBk
ZXNjcmlwdGl2ZSBsaW5lIGZvciBlYWNoIHJlc291cmNlCiAgICAgLy8gbG9hZCBjYWxsYmFjay4K
ICAgICBib29sIG1fZHVtcFJlc291cmNlTG9hZENhbGxiYWNrczsKLSAgICAKKworICAgIC8vIElm
IHRydWUsIHRoZSB0ZXN0X3NoZWxsIHdpbGwgb3V0cHV0IGEgZGVzY3JpcHRpdmUgbGluZSBmb3Ig
ZWFjaCByZXNvdXJjZQorICAgIC8vIHJlcXVlc3QgY2FsbGJhY2suCisgICAgYm9vbCBtX2R1bXBS
ZXNvdXJjZVJlcXVlc3RDYWxsYmFja3M7CisKICAgICAvLyBJZiB0cnVlLCB0aGUgdGVzdF9zaGVs
bCB3aWxsIG91dHB1dCB0aGUgTUlNRSB0eXBlIGZvciBlYWNoIHJlc291cmNlIHRoYXQgCiAgICAg
Ly8gd2FzIGxvYWRlZC4KICAgICBib29sIG1fZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXM7
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oCmluZGV4IDkxMjAxMjFk
YjM4NzFkZjkyOTIwOWI4OTk0ZTlkYzBkNjJjNzIxZGIuLjMwNmYzNWNkMWU4MjhkODNlMTdiODNj
NThkNDJjNDNiOWVkYjIxZGEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RT
aGVsbC5oCkBAIC0xMTIsNiArMTEyLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRGb2N1cyhX
ZWJLaXQ6OldlYldpZGdldCosIGJvb2wgZW5hYmxlKTsKICAgICBib29sIHNob3VsZER1bXBGcmFt
ZUxvYWRDYWxsYmFja3MoKSBjb25zdCB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90
ZXN0SXNQZW5kaW5nKSAmJiB0ZXN0UnVubmVyKCktPnNob3VsZER1bXBGcmFtZUxvYWRDYWxsYmFj
a3MoKTsgfQorICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcygpIGNv
bnN0IHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYmIHRl
c3RSdW5uZXIoKS0+c2hvdWxkRHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcygpOyB9CiAgICAg
Ym9vbCBzaG91bGREdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcygpIGNvbnN0IHsg
cmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYmIHRlc3RSdW5u
ZXIoKS0+c2hvdWxkRHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MoKTsgfQogICAg
IGJvb2wgc2hvdWxkRHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpIGNvbnN0ICB7IHJldHVybiAo
bV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiB0ZXN0UnVubmVyKCktPnNo
b3VsZER1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKTsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFJl
c291cmNlUmVzcG9uc2VNSU1FVHlwZXMoKSBjb25zdCAgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFy
aW5nIHx8IG1fdGVzdElzUGVuZGluZykgJiYgdGVzdFJ1bm5lcigpLT5zaG91bGREdW1wUmVzb3Vy
Y2VSZXNwb25zZU1JTUVUeXBlcygpOyB9CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJWaWV3SG9zdC5jcHAKaW5kZXggYmFmOGQwZDllM2QzNjM0ZjFiYTVjY2E0ZTIyMTE5ZDU1
YTU3NmUyMS4uMjc0MDk1MTU5MDEyNDI3MTczZmIxYWJkZjgxYmRiMjZjZDhiMTI5NiAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcApAQCAtMTA5Niw2
ICsxMDk2LDI3IEBAIHZvaWQgV2ViVmlld0hvc3Q6OmRpZEZpbmlzaExvYWQoV2ViRnJhbWUqIGZy
YW1lKQogICAgIGxvY2F0aW9uQ2hhbmdlRG9uZShmcmFtZSk7CiB9CiAKK3ZvaWQgV2ViVmlld0hv
c3Q6OmRpZFJlcXVlc3RSZXNvdXJjZShXZWJLaXQ6OldlYkZyYW1lKiBmcmFtZSwgY29uc3QgV2Vi
RWxlbWVudCYgZWxlbWVudCwgY29uc3QgV2ViVVJMJiB1cmwpCit7CisgICAgaWYgKG1fc2hlbGwt
PnNob3VsZER1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoKSkgeworICAgICAgICBwcmludEZy
YW1lRGVzY3JpcHRpb24oZnJhbWUpOworICAgICAgICBwcmludGYoIiAtIGVsZW1lbnQgd2l0aCAi
KTsKKyAgICAgICAgaWYgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCJpZCIpKQorICAgICAgICAgICAg
cHJpbnRmKCJpZCAnJXMnIiwgZWxlbWVudC5nZXRBdHRyaWJ1dGUoImlkIikudXRmOCgpLmRhdGEo
KSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHByaW50Zigibm8gaWQiKTsKKyAgICAgICAg
cHJpbnRmKCIgcmVxdWVzdGVkICclcydcbiIsIFVSTERlc2NyaXB0aW9uKHVybCkuY19zdHIoKSk7
CisgICAgfQorfQorCit2b2lkIFdlYlZpZXdIb3N0OjpkaWRSZXF1ZXN0UmVzb3VyY2UoV2ViS2l0
OjpXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFdlYlN0cmluZyYgaW5pdGlhdG9yTmFtZSwgY29uc3Qg
V2ViVVJMJiB1cmwpCit7CisgICAgaWYgKG1fc2hlbGwtPnNob3VsZER1bXBSZXNvdXJjZVJlcXVl
c3RDYWxsYmFja3MoKSkgeworICAgICAgICBwcmludEZyYW1lRGVzY3JpcHRpb24oZnJhbWUpOwor
ICAgICAgICBwcmludGYoIiAtICVzIHJlcXVlc3RlZCAnJXMnXG4iLCBpbml0aWF0b3JOYW1lLnV0
ZjgoKS5kYXRhKCksIFVSTERlc2NyaXB0aW9uKHVybCkuY19zdHIoKSk7CisgICAgfQorfQorCiB2
b2lkIFdlYlZpZXdIb3N0OjpkaWROYXZpZ2F0ZVdpdGhpblBhZ2UoV2ViRnJhbWUqIGZyYW1lLCBi
b29sIGlzTmV3TmF2aWdhdGlvbikKIHsKICAgICBmcmFtZS0+ZGF0YVNvdXJjZSgpLT5zZXRFeHRy
YURhdGEobV9wZW5kaW5nRXh0cmFEYXRhLmxlYWtQdHIoKSk7CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAppbmRleCBlYjQxZDU0YTQ2ZDM1NmVhMjA2M2M2M2Nk
MDg3ZjRjYTVjMmZmMDUxLi4xYjg5ODVmYzE3NjZhYzc1ZGM2OTI2MmVlNjM3MDlkMTIxZWVlNjgw
IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5o
CisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKQEAgLTI1
Niw2ICsyNTYsOCBAQCBjbGFzcyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJLaXQ6OldlYlZpZXdD
bGllbnQsIHB1YmxpYyBXZWJLaXQ6OldlYkZyYW1lQ2xpZW50LAogICAgIHZpcnR1YWwgdm9pZCBk
aWRIYW5kbGVPbmxvYWRFdmVudHMoV2ViS2l0OjpXZWJGcmFtZSopOwogICAgIHZpcnR1YWwgdm9p
ZCBkaWRGYWlsTG9hZChXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0OjpXZWJVUkxFcnJv
ciYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkKFdlYktpdDo6V2ViRnJhbWUqKTsK
KyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVxdWVzdFJlc291cmNlKFdlYktpdDo6V2ViRnJhbWUqLCBj
b25zdCBXZWJLaXQ6OldlYkVsZW1lbnQmLCBjb25zdCBXZWJLaXQ6OldlYlVSTCYpOworICAgIHZp
cnR1YWwgdm9pZCBkaWRSZXF1ZXN0UmVzb3VyY2UoV2ViS2l0OjpXZWJGcmFtZSosIGNvbnN0IFdl
YktpdDo6V2ViU3RyaW5nJiwgY29uc3QgV2ViS2l0OjpXZWJVUkwmKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkTmF2aWdhdGVXaXRoaW5QYWdlKFdlYktpdDo6V2ViRnJhbWUqLCBib29sIGlzTmV3TmF2
aWdhdGlvbik7CiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUxvY2F0aW9uV2l0aGluUGFnZShX
ZWJLaXQ6OldlYkZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGFzc2lnbklkZW50aWZpZXJUb1Jl
cXVlc3QoV2ViS2l0OjpXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50aWZpZXIsIGNvbnN0IFdlYktp
dDo6V2ViVVJMUmVxdWVzdCYpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRlMWEzOTFiMmI5Y2QzNjNiYmJkNWVmMDQyYjVi
MTgwOTgzODNjMDcuLjNmYTMyMjA0Y2YxZTQ2MzlmNGZjYTc2ZTEwNTA4ZWNjOTUzNGU3MzMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMi0xMS0yMiAgTWFyamEgSMO2bHR0w6QgIDxtYXJqYUBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0byB0aGUgRnJhbWVMb2FkZXJD
bGllbnQgd2hlbiBhIHJlc291cmNlIGlzIHJlcXVlc3RlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDaHJvbWl1bSwgd2hlbiBhbiBleHRlbnNpb24g
c2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisgICAgICAgIHJlcXVlc3QgKHdoaWNoIGhhcHBlbnMg
b3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8KKyAgICAgICAgbm90aWZ5IGNvbnRlbnQgc2Ny
aXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQKKyAgICAgICAgd2hpY2ggZWxl
bWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUgcmVxdWVzdHMgd2VyZQorICAgICAgICBj
YW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0IGp1c3QKKyAg
ICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBpdHNlbGYgZG9l
cyBub3QKKyAgICAgICAgY2FycnkgYW55IGluZm9ybWF0aW9uIHdoYXQgRE9NIGVsZW1lbnQgaXMg
d2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJyZW50bHkgYSBjb250ZW50IHNjcmlwdCBoYXMgdG8g
c2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAgICAgICAgZ3Vlc3Mgd2hpY2ggcmVxdWVzdHMgd2ls
bCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50ZXIKKyAgICAgICAgcGFydC4gQnkgYWRkaW5nIHRo
ZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVyIGNhbiBtYWtlCisgICAgICAgIHRoaXMgY29ubmVj
dGlvbiBleHBsaWN0bHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRl
ci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJh
Y2tzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTIyICBLcmlzdMOzZiBLb3N6dHnDsyAgPGtrcmlz
dG9mQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5n
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9y
ZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZTgzOTllYzlhMjE0OGFiZDg3NTYxN2RkMjQ2YzgxMWE5ZTJl
MzI0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDIxIEBACittYWluIGZyYW1lIC0gY3NzIHJlcXVlc3RlZCAnZ3c0MzIwNDcudHRmJworbWFp
biBmcmFtZSAtIGNzcyByZXF1ZXN0ZWQgJ2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cicKK21haW4g
ZnJhbWUgLSBlbGVtZW50IHdpdGggaWQgJ3dpdGgtYmFja2dyb3VuZCcgcmVxdWVzdGVkICdsZW5u
YS5wbmcnCittYWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICdpbWctbm9ybWFsJyByZXF1ZXN0
ZWQgJ2RpY2UucG5nJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBpZCAnaW1nLWNoYW5naW5n
JyByZXF1ZXN0ZWQgJ2RpY2UucG5nJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBpZCAnaW1n
LW5vdC10aGVyZScgcmVxdWVzdGVkICdub3QtZXhpc3RpbmcucG5nJworbWFpbiBmcmFtZSAtIGVs
ZW1lbnQgd2l0aCBubyBpZCByZXF1ZXN0ZWQgJ2pzLXRlc3QtcG9zdC5qcycKK21haW4gZnJhbWUg
LSBlbGVtZW50IHdpdGggaWQgJ2ltZy1jaGFuZ2luZycgcmVxdWVzdGVkICdtdS5wbmcnCittYWlu
IGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICdpbWctY3JlYXRlZCcgcmVxdWVzdGVkICdvdmFsLnBu
ZycKK21haW4gZnJhbWUgLSBlbGVtZW50IHdpdGggaWQgJ2ltZy1jcmVhdGVkLTInIHJlcXVlc3Rl
ZCAncG5nX3Blcl9yb3dfYWxwaGEucG5nJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBpZCAn
c2NyaXB0LWNyZWF0ZWQnIHJlcXVlc3RlZCAnZW1wdHktc2NyaXB0LmpzJworbWFpbiBmcmFtZSAt
IGVsZW1lbnQgd2l0aCBpZCAnd2l0aC1iYWNrZ3JvdW5kJyByZXF1ZXN0ZWQgJ3BhbGF0dGVkLWNv
bG9yLXBuZy1nYW1tYS1vbmUtY29sb3ItcHJvZmlsZS5wbmcnCitUaGlzIHRlc3QgY2hlY2tzIHRo
YXQgdGhlIGNvcnJlY3QgY2FsbGJhY2tzIGZvciByZXNvdXJjZSByZXF1ZXN0cyBhcmUgaW52b2tl
ZC4gSXQgcGFzc2VzIGlmIHlvdSBzZWUgdGhlIGNhbGxiYWNrcyBmb3IgZWlnaHQgcmVzb3VyY2Vz
LgorCisgICAgCisKK1BBU1MgCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
ZmFzdC9sb2FkZXIvcmVzb3VyY2UtcmVxdWVzdC1jYWxsYmFja3MuaHRtbCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJhY2tz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMDI0YjhhNjIwNWI1NDZiMGY5YjY1ODkxYWRmZTZlMTk5YWE2ZTJj
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3Qv
bG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJhY2tzLmh0bWwKQEAgLTAsMCArMSw3NyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit3
aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAg
ICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBSZXNvdXJjZVJl
cXVlc3RDYWxsYmFja3MoKTsKK30gZWxzZSB7CisgICAgZG9jdW1lbnQud3JpdGUoIlRoaXMgdGVz
dCBjYW5ub3QgcnVuIHdpdGhvdXQgYSB0ZXN0UnVubmVyIik7Cit9CisKK2Z1bmN0aW9uIHJlcXVl
c3RNb3JlUmVzb3VyY2VzKCkgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWctY2hh
bmdpbmciKS5zcmMgPSAiLi4vLi4vLi4vLi4vZmFzdC9pbWFnZXMvcmVzb3VyY2VzL211LnBuZyI7
CisKKyAgICB2YXIgY3JlYXRlZEltYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7
CisgICAgY3JlYXRlZEltYWdlLmlkID0gImltZy1jcmVhdGVkIjsKKyAgICBjcmVhdGVkSW1hZ2Uu
c3JjID0gIi4uLy4uLy4uLy4uL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9vdmFsLnBuZyI7CisgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltYWdlcyIpLmFwcGVuZENoaWxkKGNyZWF0ZWRJbWFn
ZSk7CisKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aC1iYWNrZ3JvdW5kIikuc3R5
bGUuYmFja2dyb3VuZEltYWdlID0gInVybCguLi8uLi8uLi8uLi9mYXN0L2ltYWdlcy9yZXNvdXJj
ZXMvcGFsYXR0ZWQtY29sb3ItcG5nLWdhbW1hLW9uZS1jb2xvci1wcm9maWxlLnBuZykiOworCisg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vcmUtaW1hZ2VzIikuaW5uZXJIVE1MID0gIjxp
bWcgaWQ9J2ltZy1jcmVhdGVkLTInIHNyYz0nLi4vLi4vLi4vLi4vZmFzdC9pbWFnZXMvcmVzb3Vy
Y2VzL3BuZ19wZXJfcm93X2FscGhhLnBuZyc+IjsKKworICAgIHZhciBjcmVhdGVkU2NyaXB0ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgY3JlYXRlZFNjcmlwdC5pZCA9
ICJzY3JpcHQtY3JlYXRlZCI7CisgICAgY3JlYXRlZFNjcmlwdC5zcmMgPSAiLi4vLi4vLi4vLi4v
ZmFzdC9sb2FkZXIvcmVzb3VyY2VzL2VtcHR5LXNjcmlwdC5qcyI7CisgICAgZG9jdW1lbnQuaGVh
ZC5hcHBlbmRDaGlsZChjcmVhdGVkU2NyaXB0KTsKKworICAgIHNldFRpbWVvdXQoZmluaXNoVGVz
dCwgMCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKSB7CisgICAgdGVzdFBhc3NlZCgiIik7
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9Cis8L3NjcmlwdD4KKzxzdHlsZT4KKyN3aXRoLWJhY2tn
cm91bmQKK3sKKyAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgiLi4vLi4vLi4vLi4vZmFzdC9pbWFn
ZXMvcmVzb3VyY2VzL2xlbm5hLnBuZyIpOworfQorYm9keQoreworICAgIGN1cnNvcjp1cmwoIi4u
Ly4uLy4uLy4uL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC1ob3RzcG90MzUtNC5jdXIi
KSwgcG9pbnRlcjsKK30KK0Bmb250LWZhY2UKK3sKKyAgICBmb250LWZhbWlseTogY3VzdG9tX2Zv
bnQ7CisgICAgc3JjOiB1cmwoIi4uLy4uLy4uLy4uL2Zhc3QvdGV4dC9yZXNvdXJjZXMvZ3c0MzIw
NDcudHRmIik7Cit9CitwCit7CisgICAgZm9udC1mYW1pbHk6IGN1c3RvbV9mb250OworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0VGltZW91dChyZXF1ZXN0TW9yZVJlc291
cmNlcywgMTAwKTsiPgorPGRpdiBpZD0id2l0aC1iYWNrZ3JvdW5kIj4KKzxwPgorICBUaGlzIHRl
c3QgY2hlY2tzIHRoYXQgdGhlIGNvcnJlY3QgY2FsbGJhY2tzIGZvciByZXNvdXJjZSByZXF1ZXN0
cyBhcmUKKyAgaW52b2tlZC4gSXQgcGFzc2VzIGlmIHlvdSBzZWUgdGhlIGNhbGxiYWNrcyBmb3Ig
ZWlnaHQgcmVzb3VyY2VzLgorPC9wPgorPC9kaXY+Cis8ZGl2IGlkPSJpbWFnZXMiPgorPGltZyBp
ZD0iaW1nLW5vcm1hbCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvZGlj
ZS5wbmciIC8+Cis8aW1nIGlkPSJpbWctY2hhbmdpbmciIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9p
bWFnZXMvcmVzb3VyY2VzL2RpY2UucG5nIiAvPgorPGltZyBpZD0iaW1nLWZhaWwiIC8+Cis8aW1n
IGlkPSJpbWctbm90LXRoZXJlIiBzcmM9Im5vdC1leGlzdGluZy5wbmciIC8+Cis8L2Rpdj4KKzxk
aXYgaWQ9Im1vcmUtaW1hZ2VzIj4KKzwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175771</attachid>
            <date>2012-11-23 03:45:15 -0800</date>
            <delta_ts>2012-11-23 06:36:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92761-20121123124258.patch</filename>
            <type>text/plain</type>
            <size>32052</size>
            <attacher name="Marja Hölttä">marja</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc3ZDA3MGQ1YmViYjY0
Yjc4MTIyZjM5ZDJjODMwMzQyNGEzYzljZS4uMGUxNTQ0NmQ5OWFlOWY2NjNiNThhMzNiNmFiOTYy
MDBlNzBkZGNmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTExLTIzICBNYXJq
YSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tz
IHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCB3aGVuIGEgcmVzb3VyY2UgaXMgcmVxdWVzdGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc2MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIENocm9taXVt
LCB3aGVuIGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2VscyBhIG5ldHdvcmsKKyAgICAgICAgcmVx
dWVzdCAod2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2VzcyksIHdlJ2QgbGlrZSB0bworICAgICAg
ICBub3RpZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcgb24gdGhlIGN1cnJlbnQgcGFnZSBhYm91
dAorICAgICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQgdG8gbG9hZCBiZWNhdXNlIHRoZSByZXF1
ZXN0cyB3ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMgb3Bwb3NlZCB0byBlLmcuIHRoZSBuZXR3
b3JrIHJlcXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qgd29yaykuIFNpbmNlIHRoZSByZXNvdXJj
ZSByZXF1ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAgICBjYXJyeSBhbnkgaW5mb3JtYXRpb24g
d2hhdCBET00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3IsCisgICAgICAgIGN1cnJlbnRseSBhIGNv
bnRlbnQgc2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERPTSB0cmVlIGFuZAorICAgICAgICBndWVz
cyB3aGljaCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxlZCBieSBpdHMgY291bnRlcgorICAgICAg
ICBwYXJ0LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tzLCB0aGUgZW1iZWRkZXIgY2FuIG1ha2UK
KyAgICAgICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3RseS4KKworICAgICAgICBUZXN0OiBwbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy5odG1s
CisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoV2lsbFJl
cXVlc3RSZXNvdXJjZSk6CisgICAgICAgIChGcmFtZUxvYWRlckNsaWVudCk6CisgICAgICAgICog
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorCiAyMDEyLTExLTIyICBL
ZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW5hbWUgdGhl
ICJlZGVuIiBiaXQgdG8gc29tZXRoaW5nIG1vcmUgZGVzY3JpcHRpdmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKaW5kZXggZDRkMzE3MWYwMTdmMzkwYTZjODllMjA4NjZhY2E5NDRmNTdlZWE2NC4u
MTZhNWVmNGZmODdjMjczNTlmMGE0MjQwOGY5MTY5MmY4ODZkNTBmZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MSBAQAorMjAxMi0xMS0yMyAgTWFyamEgSMO2bHR0w6Qg
IDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0byB0aGUgRnJh
bWVMb2FkZXJDbGllbnQgd2hlbiBhIHJlc291cmNlIGlzIHJlcXVlc3RlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDaHJvbWl1bSwgd2hlbiBhbiBl
eHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisgICAgICAgIHJlcXVlc3QgKHdoaWNo
IGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8KKyAgICAgICAgbm90aWZ5IGNv
bnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQKKyAgICAgICAg
d2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUgcmVxdWVzdHMgd2VyZQor
ICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0
IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBp
dHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55IGluZm9ybWF0aW9uIHdoYXQgRE9NIGVs
ZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJyZW50bHkgYSBjb250ZW50IHNjcmlw
dCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAgICAgICAgZ3Vlc3Mgd2hpY2ggcmVx
dWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50ZXIKKyAgICAgICAgcGFydC4gQnkg
YWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVyIGNhbiBtYWtlCisgICAgICAgIHRo
aXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAg
ICAqIHB1YmxpYy9XZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3QuaDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp+V2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0OjpXZWJDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZWRSZXNvdXJjZVJlcXVl
c3Q6Om9wZXJhdG9yPSk6CisgICAgICAgICogcHVibGljL1dlYkZyYW1lQ2xpZW50Lmg6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViRnJhbWVDbGllbnQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJGcmFtZUNsaWVudDo6d2lsbFJlcXVlc3RSZXNvdXJjZSk6CisgICAgICAgICogc3JjL0Zy
YW1lTG9hZGVyQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xp
ZW50SW1wbDo6ZGlzcGF0Y2hXaWxsUmVxdWVzdFJlc291cmNlKToKKyAgICAgICAgKFdlYktpdCk6
CisgICAgICAgICogc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oOgorICAgICAgICAoRnJhbWVM
b2FkZXJDbGllbnRJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNo
ZWRSZXNvdXJjZVJlcXVlc3Q6OmFzc2lnbik6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hlZFJl
c291cmNlUmVxdWVzdDo6ZXF1YWxzKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0Ojp1cmwpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZWRSZXNvdXJjZVJlcXVl
c3Q6OmNoYXJzZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6
OmZvclByZWxvYWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6
OmluaXRpYXRvck5hbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZWRSZXNvdXJjZVJlcXVl
c3Q6OmluaXRpYXRvckVsZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZWRSZXNvdXJj
ZVJlcXVlc3Q6OldlYkNhY2hlZFJlc291cmNlUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNhY2hlZFJlc291cmNlUmVxdWVzdDo6b3BlcmF0b3I9KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp0b0NhY2hlZFJlc291cmNlUmVxdWVzdCk6CisKIDIwMTIt
MTEtMjEgIFRpZW4tUmVuIENoZW4gIDx0cmNoZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtj
aHJvbWl1bV0gRGV2aWNlIHNjYWxlIGZhY3RvciBzaG91bGQgYmUgbm8tb3Agd2hlbiBhcHBseURl
dmljZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yID09IDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyQ2xpZW50LmgKaW5kZXggODVlNGVlY2YxOTI5NDFmNzAyM2VlYTZkYmVkZDAyMWVm
NzQzMmJhYy4uYTZmZGJhYmFlMmJhZmIyZDFkZmQyZDhiMDgyNGUxYmE3MjY1NmM4YSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTYzLDYgKzYzLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2U7
CiAgICAgY2xhc3MgQ2FjaGVkRnJhbWU7CisgICAgY2xhc3MgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
OwogICAgIGNsYXNzIENvbG9yOwogICAgIGNsYXNzIERPTVdpbmRvd0V4dGVuc2lvbjsKICAgICBj
bGFzcyBET01XcmFwcGVyV29ybGQ7CkBAIC0xNzksNiArMTgwLDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFVuYWJsZVRvSW1wbGVtZW50UG9s
aWN5KGNvbnN0IFJlc291cmNlRXJyb3ImKSA9IDA7CiAKKyAgICAgICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoV2lsbFJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZVJlcXVlc3QqKSB7IH0KKwog
ICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KFBhc3NSZWZQ
dHI8Rm9ybVN0YXRlPikgPSAwOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU3Vi
bWl0Rm9ybShGcmFtZVBvbGljeUZ1bmN0aW9uLCBQYXNzUmVmUHRyPEZvcm1TdGF0ZT4pID0gMDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNl
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxv
YWRlci5jcHAKaW5kZXggODNhNWExY2U2NzRjYzcyYzVmMTEwMDk2Y2IzNDhhYjA4MjVlNGQ1Zi4u
Yjk0NmZlNGVjZjNiOGM3MzA3NzExMTE2YTZjOWE5ZTlhMjc4YmE0ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC00
MjMsNiArNDIzLDkgQEAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IENhY2hl
ZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGUKICAgICBpZiAoIWNhblJlcXVl
c3QodHlwZSwgdXJsLCByZXF1ZXN0LmZvclByZWxvYWQoKSkpCiAgICAgICAgIHJldHVybiAwOwog
CisgICAgaWYgKEZyYW1lKiBmID0gZnJhbWUoKSkKKyAgICAgICAgZi0+bG9hZGVyKCktPmNsaWVu
dCgpLT5kaXNwYXRjaFdpbGxSZXF1ZXN0UmVzb3VyY2UoJnJlcXVlc3QpOworCiAgICAgaWYgKG1l
bW9yeUNhY2hlKCktPmRpc2FibGVkKCkpIHsKICAgICAgICAgRG9jdW1lbnRSZXNvdXJjZU1hcDo6
aXRlcmF0b3IgaXQgPSBtX2RvY3VtZW50UmVzb3VyY2VzLmZpbmQodXJsLnN0cmluZygpKTsKICAg
ICAgICAgaWYgKGl0ICE9IG1fZG9jdW1lbnRSZXNvdXJjZXMuZW5kKCkpIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vV2ViS2l0Lmd5cAppbmRleCAwZGQ1M2JmYTM3ZmUzMWY5M2RiMDJjYjA3ZWQzMDU5ZDQzZGMw
NmRlLi4zZmVhMDNhMDAxNTI1ODlkNTJlZjlhNTk2YWM5Y2NlZjI5YjQ3Y2Q2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC0xMDgsNiArMTA4LDcgQEAKICAgICAgICAgICAgICAgICAn
cHVibGljL1dlYkJpbmRpbmdzLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQmxvYi5o
JywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkNhY2hlLmgnLAorICAgICAgICAgICAgICAg
ICdwdWJsaWMvV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmgnLAogICAgICAgICAgICAgICAgICdw
dWJsaWMvV2ViQ29sb3JDaG9vc2VyLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQ29s
b3JDaG9vc2VyQ2xpZW50LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQ29sb3JOYW1l
LmgnLApAQCAtNDg5LDYgKzQ5MCw3IEBACiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJCbG9iLmNw
cCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJCbG9iRGF0YS5jcHAnLAogICAgICAgICAgICAg
ICAgICdzcmMvV2ViQ2FjaGUuY3BwJywKKyAgICAgICAgICAgICAgICAnc3JjL1dlYkNhY2hlZFJl
c291cmNlUmVxdWVzdC5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViQ29sb3JOYW1lLmNw
cCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJDb21tb24uY3BwJywKICAgICAgICAgICAgICAg
ICAnc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJbXBsLmNwcCcsCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3QuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNhY2hlZFJlc291cmNlUmVxdWVzdC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmJkNzE3ZWIyZDE4MmY2YTU3MTgzNGQ2NTZhZTI0NzExNjBkMTM1NzkKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QuaApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
KyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJDYWNoZWRSZXNvdXJj
ZVJlcXVlc3RfaAorI2RlZmluZSBXZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3RfaAorCisjaW5jbHVk
ZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsgY2xhc3MgQ2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0OyB9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJF
bGVtZW50OworY2xhc3MgV2ViU3RyaW5nOworY2xhc3MgV2ViVVJMOworCitjbGFzcyBXZWJDYWNo
ZWRSZXNvdXJjZVJlcXVlc3QgeworcHVibGljOgorICAgIH5XZWJDYWNoZWRSZXNvdXJjZVJlcXVl
c3QoKSB7IH0KKworICAgIFdlYkNhY2hlZFJlc291cmNlUmVxdWVzdChjb25zdCBXZWJDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QmIHIpIHsgYXNzaWduKHIpOyB9CisgICAgV2ViQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0JiBvcGVyYXRvcj0oY29uc3QgV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiByKSB7IGFz
c2lnbihyKTsgcmV0dXJuICp0aGlzOyB9CisgICAgdm9pZCBhc3NpZ24oY29uc3QgV2ViQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0Jik7CisgICAgYm9vbCBlcXVhbHMoY29uc3QgV2ViQ2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0JikgY29uc3Q7CisKKyAgICBXRUJLSVRfRVhQT1JUIFdlYlVSTCB1cmwoKSBjb25z
dDsKKyAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBjaGFyc2V0KCkgY29uc3Q7CisgICAgV0VC
S0lUX0VYUE9SVCBib29sIGZvclByZWxvYWQoKSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIFdl
YlN0cmluZyBpbml0aWF0b3JOYW1lKCkgY29uc3Q7CisgICAgV0VCS0lUX0VYUE9SVCBXZWJFbGVt
ZW50IGluaXRpYXRvckVsZW1lbnQoKSBjb25zdDsKKworI2lmIFdFQktJVF9JTVBMRU1FTlRBVElP
TgorICAgIFdlYkNhY2hlZFJlc291cmNlUmVxdWVzdChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJl
cXVlc3QqKTsKKyAgICBXZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3QmIG9wZXJhdG9yPShXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZVJlcXVlc3QqKTsKKyAgICBjb25zdCBXZWJDb3JlOjpDYWNoZWRSZXNv
dXJjZVJlcXVlc3QmIHRvQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0KCkgY29uc3Q7CisjZW5kaWYKKwor
cHJvdGVjdGVkOgorICAgIFdlYkNvcmU6OkNhY2hlZFJlc291cmNlUmVxdWVzdCogbV9wcml2YXRl
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKaW5kZXggYmRhM2MwMzg5ZDJjNTQw
NTJhMzVlOWM1OWRiMzFkNGRkYjQ4MDY0Yy4uODk3ZTg3NmMyNWUzZTgxYzlmODkzYmI4OTY2YjJh
MjU2MzAwNmNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RnJhbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFt
ZUNsaWVudC5oCkBAIC01MCw2ICs1MCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBX
ZWJBcHBsaWNhdGlvbkNhY2hlSG9zdDsKIGNsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xp
ZW50OworY2xhc3MgV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgV2ViQ29va2llSmFy
OwogY2xhc3MgV2ViRGF0YVNvdXJjZTsKIGNsYXNzIFdlYkRPTUV2ZW50OwpAQCAtMjUxLDYgKzI1
Miw5IEBAIHB1YmxpYzoKICAgICAgLy8gdGhlIGNsaWVudCBrZWVwcyBzdWNoIGFuIGFzc29jaWF0
aW9uLgogICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlSWRlbnRpZmllckZvclJlcXVlc3QodW5zaWdu
ZWQgaWRlbnRpZmllcikgeyB9CiAKKyAgICAvLyBBbiBlbGVtZW50IHdpbGwgcmVxdWVzdCBhIHJl
c291cmNlLgorICAgIHZpcnR1YWwgdm9pZCB3aWxsUmVxdWVzdFJlc291cmNlKFdlYkZyYW1lKiwg
Y29uc3QgV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JikgeyB9CisKICAgICAvLyBBIHJlcXVlc3Qg
aXMgYWJvdXQgdG8gYmUgc2VudCBvdXQsIGFuZCB0aGUgY2xpZW50IG1heSBtb2RpZnkgaXQuICBS
ZXF1ZXN0CiAgICAgLy8gaXMgd3JpdGFibGUsIGFuZCBjaGFuZ2VzIHRvIHRoZSBVUkwsIGZvciBl
eGFtcGxlLCB3aWxsIGNoYW5nZSB0aGUgcmVxdWVzdAogICAgIC8vIG1hZGUuICBJZiB0aGlzIHJl
cXVlc3QgaXMgdGhlIHJlc3VsdCBvZiBhIHJlZGlyZWN0LCB0aGVuIHJlZGlyZWN0UmVzcG9uc2UK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudElt
cGwuY3BwCmluZGV4IDlkMGFhYjQ5NWIzM2Q4MTI4NGYwY2ExNmQxMDlkYjg3MTM0ZWQ2OTcuLjRl
NmExY2FhYzhkYjQ2ZjM0ZDkyZmZhZTFjNTc4ODJmODQ5Yjk2OWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcApAQCAtNjUs
NiArNjUsNyBAQAogI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkKICNpbmNsdWRlICJX
ZWJBdXRvZmlsbENsaWVudC5oIgogI2VuZGlmCisjaW5jbHVkZSAiV2ViQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV2ViRE9NRXZlbnQuaCIKICNpbmNsdWRlICJXZWJEYXRhU291
cmNlSW1wbC5oIgogI2luY2x1ZGUgIldlYkRldlRvb2xzQWdlbnRQcml2YXRlLmgiCkBAIC0xMDQ4
LDYgKzEwNDksMTIgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoVW5hYmxl
VG9JbXBsZW1lbnRQb2xpY3koY29uc3QgUmVzb3VyY2VFcnJvciYKICAgICBtX3dlYkZyYW1lLT5j
bGllbnQoKS0+dW5hYmxlVG9JbXBsZW1lbnRQb2xpY3lXaXRoRXJyb3IobV93ZWJGcmFtZSwgZXJy
b3IpOwogfQogCit2b2lkIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hXaWxsUmVxdWVz
dFJlc291cmNlKENhY2hlZFJlc291cmNlUmVxdWVzdCogcmVxdWVzdCkKK3sKKyAgICBpZiAobV93
ZWJGcmFtZS0+Y2xpZW50KCkpCisgICAgICAgIG1fd2ViRnJhbWUtPmNsaWVudCgpLT53aWxsUmVx
dWVzdFJlc291cmNlKG1fd2ViRnJhbWUsIFdlYkNhY2hlZFJlc291cmNlUmVxdWVzdChyZXF1ZXN0
KSk7Cit9CisKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRjaFdpbGxTZW5kU3Vi
bWl0RXZlbnQoUGFzc1JlZlB0cjxGb3JtU3RhdGU+IHBycEZvcm1TdGF0ZSkKIHsKICAgICBpZiAo
bV93ZWJGcmFtZS0+Y2xpZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oCmluZGV4IDJhYTYyNGJkZjM2ZGQyODYzZjIyMDE2YmZl
N2VjZDAxMGU3MDc5YmMuLjc4ZmVhNjJmYWQxMGJlYTBkODkxNjM3NTAyZTRlZmM3ZTU5ZWFiMDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50
SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50
SW1wbC5oCkBAIC0xMTgsNiArMTE4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oV2ViQ29yZTo6RnJhbWVQb2xpY3lG
dW5jdGlvbiBmdW5jdGlvbiwgY29uc3QgV2ViQ29yZTo6TmF2aWdhdGlvbkFjdGlvbiYgYWN0aW9u
LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIFBhc3NSZWZQdHI8V2Vi
Q29yZTo6Rm9ybVN0YXRlPiBmb3JtX3N0YXRlKTsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsUG9s
aWN5Q2hlY2soKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hVbmFibGVUb0ltcGxlbWVudFBv
bGljeShjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7CisgICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoV2lsbFJlcXVlc3RSZXNvdXJjZShXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJlcXVlc3Qq
KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KFBhc3NSZWZQ
dHI8V2ViQ29yZTo6Rm9ybVN0YXRlPik7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFN1
Ym1pdEZvcm0oV2ViQ29yZTo6RnJhbWVQb2xpY3lGdW5jdGlvbiwgUGFzc1JlZlB0cjxXZWJDb3Jl
OjpGb3JtU3RhdGU+KTsKICAgICB2aXJ0dWFsIHZvaWQgcmV2ZXJ0VG9Qcm92aXNpb25hbFN0YXRl
KFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyKikgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41
NmU1NDU4NTRlNGEyMmM2ZjExZGQ4NmZmYjcyOGNmY2YyNDY4MjQxCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNw
cApAQCAtMCwwICsxLDk1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhl
IG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
CisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNhY2hl
ZFJlc291cmNlUmVxdWVzdC5oIgorCisjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Lmgi
CisjaW5jbHVkZSAiRWxlbWVudC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJFbGVtZW50Lmg+Cisj
aW5jbHVkZSA8cHVibGljL1dlYlN0cmluZy5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJVUkwuaD4K
KwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lk
IFdlYkNhY2hlZFJlc291cmNlUmVxdWVzdDo6YXNzaWduKGNvbnN0IFdlYkNhY2hlZFJlc291cmNl
UmVxdWVzdCYgb3RoZXIpCit7CisgICAgbV9wcml2YXRlID0gb3RoZXIubV9wcml2YXRlOworfQor
Citib29sIFdlYkNhY2hlZFJlc291cmNlUmVxdWVzdDo6ZXF1YWxzKGNvbnN0IFdlYkNhY2hlZFJl
c291cmNlUmVxdWVzdCYgcikgY29uc3QKK3sKKyAgICByZXR1cm4gKG1fcHJpdmF0ZSA9PSByLm1f
cHJpdmF0ZSk7Cit9CisKK1dlYlVSTCBXZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OnVybCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIFdlYlVSTChtX3ByaXZhdGUtPnJlc291cmNlUmVxdWVzdCgpLnVy
bCgpKTsKK30KKworV2ViU3RyaW5nIFdlYkNhY2hlZFJlc291cmNlUmVxdWVzdDo6Y2hhcnNldCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIFdlYlN0cmluZyhtX3ByaXZhdGUtPmNoYXJzZXQoKSk7Cit9
CisKK2Jvb2wgV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojpmb3JQcmVsb2FkKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9wcml2YXRlLT5mb3JQcmVsb2FkKCk7Cit9CisKK1dlYlN0cmluZyBXZWJD
YWNoZWRSZXNvdXJjZVJlcXVlc3Q6OmluaXRpYXRvck5hbWUoKSBjb25zdAoreworICAgIHJldHVy
biBXZWJTdHJpbmcobV9wcml2YXRlLT5pbml0aWF0b3JOYW1lKCkpOworfQorCitXZWJFbGVtZW50
IFdlYkNhY2hlZFJlc291cmNlUmVxdWVzdDo6aW5pdGlhdG9yRWxlbWVudCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIFdlYkVsZW1lbnQobV9wcml2YXRlLT5pbml0aWF0b3JFbGVtZW50KCkpOworfQor
CitXZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6OldlYkNhY2hlZFJlc291cmNlUmVxdWVzdChDYWNo
ZWRSZXNvdXJjZVJlcXVlc3QqIHJlcXVlc3QpCisgICAgOiBtX3ByaXZhdGUocmVxdWVzdCkKK3sK
K30KKworV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiBXZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6
Om9wZXJhdG9yPShDYWNoZWRSZXNvdXJjZVJlcXVlc3QqIHJlcXVlc3QpCit7CisgICAgbV9wcml2
YXRlID0gcmVxdWVzdDsKKyAgICByZXR1cm4gKnRoaXM7Cit9CisKK2NvbnN0IFdlYkNvcmU6OkNh
Y2hlZFJlc291cmNlUmVxdWVzdCYgV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp0b0NhY2hlZFJl
c291cmNlUmVxdWVzdCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICptX3ByaXZhdGU7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IDZlNjU5YmIwNDY2NTkzODczYWRjMGNhYTM3YmQ0NzM3MGQ2NTIyMzEu
LmE2YjAxNjk4NjE3NzRlMzc4ZGNiZDJlYTNiNzlkOTJkZDM2OTQyOTcgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAx
Mi0xMS0yMyAgTWFyamEgSMO2bHR0w6QgIDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
QWRkIGNhbGxiYWNrcyB0byB0aGUgRnJhbWVMb2FkZXJDbGllbnQgd2hlbiBhIHJlc291cmNlIGlz
IHJlcXVlc3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTI3NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbiBDaHJvbWl1bSwgd2hlbiBhbiBleHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3Jr
CisgICAgICAgIHJlcXVlc3QgKHdoaWNoIGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxp
a2UgdG8KKyAgICAgICAgbm90aWZ5IGNvbnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJy
ZW50IHBhZ2UgYWJvdXQKKyAgICAgICAgd2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVj
YXVzZSB0aGUgcmVxdWVzdHMgd2VyZQorICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8g
ZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5j
ZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBpdHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55
IGluZm9ybWF0aW9uIHdoYXQgRE9NIGVsZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBj
dXJyZW50bHkgYSBjb250ZW50IHNjcmlwdCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQK
KyAgICAgICAgZ3Vlc3Mgd2hpY2ggcmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNv
dW50ZXIKKyAgICAgICAgcGFydC4gQnkgYWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVk
ZGVyIGNhbiBtYWtlCisgICAgICAgIHRoaXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcDoKKyAgICAgICAg
KERSVFRlc3RSdW5uZXI6OkRSVFRlc3RSdW5uZXIpOgorICAgICAgICAoRFJUVGVzdFJ1bm5lcjo6
ZHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcyk6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpy
ZXNldCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5o
OgorICAgICAgICAoRFJUVGVzdFJ1bm5lcik6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpzZXRT
aG91bGREdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKToKKyAgICAgICAgKERSVFRlc3RSdW5u
ZXI6OnNob3VsZER1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MpOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5oOgorICAgICAgICAoVGVzdFNoZWxsOjpzaG91
bGREdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9zdDo6d2lsbFJl
cXVlc3RSZXNvdXJjZSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuaDoKKyAgICAgICAgKFdlYlZpZXdIb3N0KToKKwogMjAxMi0xMS0yMiAgQmFsYXpzIEtl
bGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XVtXVFJdIFRlc3RDb250
cm9sbGVyOjpwbGF0Zm9ybVJ1blVudGlsIHNob3VsZCBub3QgZG8gYnVzeSB3YWl0aW5nCmRpZmYg
LS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCmluZGV4IDJm
ODM5N2JlZTQ1MzViZmEwYWZhZDI4YjAwODQ2ZThlMjMyY2FiODAuLmUyMjU1Yzc5M2I3MDBkOGEw
N2QzNGQ2NmE0NTU2ODE1ZmZmODRmNWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCkBAIC0xMzksNiArMTM5LDcgQEAgRFJUVGVzdFJ1bm5l
cjo6RFJUVGVzdFJ1bm5lcihUZXN0U2hlbGwqIHNoZWxsKQogICAgIGJpbmRNZXRob2QoImR1bXBQ
cm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2siLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFByb2dyZXNzRmlu
aXNoZWRDYWxsYmFjayk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxv
YWRDYWxsYmFja3MiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRD
YWxsYmFja3MpOwogICAgIGJpbmRNZXRob2QoImR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MiLCAm
RFJUVGVzdFJ1bm5lcjo6ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyk7CisgICAgYmluZE1ldGhv
ZCgiZHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcyIsICZEUlRUZXN0UnVubmVyOjpkdW1wUmVz
b3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKTsKICAgICBiaW5kTWV0aG9kKCJkdW1wUmVzb3VyY2VSZXNw
b25zZU1JTUVUeXBlcyIsICZEUlRUZXN0UnVubmVyOjpkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVU
eXBlcyk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFNlbGVjdGlvblJlY3QiLCAmRFJUVGVzdFJ1bm5l
cjo6ZHVtcFNlbGVjdGlvblJlY3QpOwogICAgIGJpbmRNZXRob2QoImR1bXBTdGF0dXNDYWxsYmFj
a3MiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFdpbmRvd1N0YXR1c0NoYW5nZXMpOwpAQCAtMzIyLDYg
KzMyMywxMiBAQCB2b2lkIERSVFRlc3RSdW5uZXI6OmR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3Mo
Y29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudAogICAgIHJlc3VsdC0+c2V0TnVsbCgp
OwogfQogCit2b2lkIERSVFRlc3RSdW5uZXI6OmR1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3Mo
Y29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIG1fZHVt
cFJlc291cmNlUmVxdWVzdENhbGxiYWNrcyA9IHRydWU7CisgICAgcmVzdWx0LT5zZXROdWxsKCk7
Cit9CisKIHZvaWQgRFJUVGVzdFJ1bm5lcjo6ZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMo
Y29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIG1fZHVt
cFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMgPSB0cnVlOwpAQCAtNTU2LDYgKzU2Myw3IEBAIHZv
aWQgRFJUVGVzdFJ1bm5lcjo6cmVzZXQoKQogICAgIG1fZHVtcFByb2dyZXNzRmluaXNoZWRDYWxs
YmFjayA9IGZhbHNlOwogICAgIG1fZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3Mg
PSBmYWxzZTsKICAgICBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MgPSBmYWxzZTsKKyAgICBt
X2R1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBSZXNvdXJj
ZVJlc3BvbnNlTUlNRVR5cGVzID0gZmFsc2U7CiAgICAgbV9kdW1wQmFja0ZvcndhcmRMaXN0ID0g
ZmFsc2U7CiAgICAgbV9kdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucyA9IGZhbHNlOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oCmluZGV4IDlmMDJl
MWM1MzE3MGNjYTFmY2E4ZDc2MmUxMjcyYjQ3MjExZTA1MmEuLjQ5ZjI3YzM2YmMxYzVmN2I4ZjI2
NTcxMmM3NTE1YTY5ZTQ0NTBlOGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0RSVFRlc3RSdW5uZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9EUlRUZXN0UnVubmVyLmgKQEAgLTExNiw3ICsxMTYsMTIgQEAgcHVibGljOgogICAgIC8vIGxp
bmUgZm9yIGVhY2ggcmVzb3VyY2UgbG9hZCBjYWxsYmFjay4gSXQgdGFrZXMgbm8gYXJndW1lbnRz
LCBhbmQgaWdub3JlcwogICAgIC8vIGFueSB0aGF0IG1heSBiZSBwcmVzZW50LgogICAgIHZvaWQg
ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJp
YW50Kik7ICAgIAotICAgIAorCisgICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0aGF0
IHRlbGxzIHRoZSB0ZXN0X3NoZWxsIHRvIHByaW50IGEgbGluZSBvZgorICAgIC8vIGRlc2NyaXB0
aXZlIHRleHQgZm9yIGVhY2ggZWxlbWVudCB0aGF0IHJlcXVlc3RlZCBhIHJlc291cmNlLiBJdCB0
YWtlcyBubworICAgIC8vIGFyZ3VtZW50cywgYW5kIGlnbm9yZXMgYW55IHRoYXQgbWF5IGJlIHBy
ZXNlbnQuCisgICAgdm9pZCBkdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKGNvbnN0IENwcEFy
Z3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKKwogICAgIC8vIFRoaXMgZnVuY3Rpb24gc2V0cyBh
IGZsYWcgdGhhdCB0ZWxscyB0aGUgdGVzdF9zaGVsbCB0byBkdW1wIHRoZSBNSU1FIHR5cGUKICAg
ICAvLyBmb3IgZWFjaCByZXNvdXJjZSB0aGF0IHdhcyBsb2FkZWQuIEl0IHRha2VzIG5vIGFyZ3Vt
ZW50cywgYW5kIGlnbm9yZXMgYW55CiAgICAgLy8gdGhhdCBtYXkgYmUgcHJlc2VudC4KQEAgLTMx
OCw2ICszMjMsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzaG91bGREdW1wVXNlckdlc3R1cmVJbkZy
YW1lTG9hZENhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRD
YWxsYmFja3M7IH0KICAgICB2b2lkIHNldFNob3VsZER1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2Fk
Q2FsbGJhY2tzKGJvb2wgdmFsdWUpIHsgbV9kdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxi
YWNrcyA9IHZhbHVlOyB9CiAgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tz
KCkge3JldHVybiBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3M7IH0KKyAgICB2b2lkIHNldFNo
b3VsZER1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoYm9vbCB2YWx1ZSkgeyBtX2R1bXBSZXNv
dXJjZVJlcXVlc3RDYWxsYmFja3MgPSB2YWx1ZTsgfQorICAgIGJvb2wgc2hvdWxkRHVtcFJlc291
cmNlUmVxdWVzdENhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcFJlc291cmNlUmVxdWVzdENhbGxi
YWNrczsgfQogICAgIHZvaWQgc2V0U2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMo
Ym9vbCB2YWx1ZSkgeyBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzID0gdmFsdWU7IH0K
ICAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCkge3JldHVybiBt
X2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzOyB9CiAgICAgYm9vbCBzaG91bGREdW1wU3Rh
dHVzQ2FsbGJhY2tzKCkgeyByZXR1cm4gbV9kdW1wV2luZG93U3RhdHVzQ2hhbmdlczsgfQpAQCAt
NDUxLDcgKzQ1OCwxMSBAQCBwcml2YXRlOgogICAgIC8vIElmIHRydWUsIHRoZSB0ZXN0X3NoZWxs
IHdpbGwgb3V0cHV0IGEgZGVzY3JpcHRpdmUgbGluZSBmb3IgZWFjaCByZXNvdXJjZQogICAgIC8v
IGxvYWQgY2FsbGJhY2suCiAgICAgYm9vbCBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3M7Ci0g
ICAgCisKKyAgICAvLyBJZiB0cnVlLCB0aGUgdGVzdF9zaGVsbCB3aWxsIG91dHB1dCBhIGRlc2Ny
aXB0aXZlIGxpbmUgZm9yIGVhY2ggcmVzb3VyY2UKKyAgICAvLyByZXF1ZXN0IGNhbGxiYWNrLgor
ICAgIGJvb2wgbV9kdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzOworCiAgICAgLy8gSWYgdHJ1
ZSwgdGhlIHRlc3Rfc2hlbGwgd2lsbCBvdXRwdXQgdGhlIE1JTUUgdHlwZSBmb3IgZWFjaCByZXNv
dXJjZSB0aGF0IAogICAgIC8vIHdhcyBsb2FkZWQuCiAgICAgYm9vbCBtX2R1bXBSZXNvdXJjZVJl
c3BvbnNlTUlNRVR5cGVzOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vVGVzdFNoZWxsLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwu
aAppbmRleCA5MTIwMTIxZGIzODcxZGY5MjkyMDliODk5NGU5ZGMwZDYyYzcyMWRiLi4zMDZmMzVj
ZDFlODI4ZDgzZTE3YjgzYzU4ZDQyYzQzYjllZGIyMWRhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuaApAQCAtMTEyLDYgKzExMiw3IEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgc2V0Rm9jdXMoV2ViS2l0OjpXZWJXaWRnZXQqLCBib29sIGVuYWJsZSk7CiAgICAgYm9v
bCBzaG91bGREdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gKG1fdGVzdElz
UHJlcGFyaW5nIHx8IG1fdGVzdElzUGVuZGluZykgJiYgdGVzdFJ1bm5lcigpLT5zaG91bGREdW1w
RnJhbWVMb2FkQ2FsbGJhY2tzKCk7IH0KKyAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZVJlcXVl
c3RDYWxsYmFja3MoKSBjb25zdCB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0
SXNQZW5kaW5nKSAmJiB0ZXN0UnVubmVyKCktPnNob3VsZER1bXBSZXNvdXJjZVJlcXVlc3RDYWxs
YmFja3MoKTsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxs
YmFja3MoKSBjb25zdCB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5k
aW5nKSAmJiB0ZXN0UnVubmVyKCktPnNob3VsZER1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2Fs
bGJhY2tzKCk7IH0KICAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSBj
b25zdCAgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5nIHx8IG1fdGVzdElzUGVuZGluZykgJiYg
dGVzdFJ1bm5lcigpLT5zaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCk7IH0KICAgICBi
b29sIHNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCkgY29uc3QgIHsgcmV0dXJu
IChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYmIHRlc3RSdW5uZXIoKS0+
c2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoKTsgfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCmluZGV4IGJhZjhkMGQ5ZTNkMzYzNGYx
YmE1Y2NhNGUyMjExOWQ1NWE1NzZlMjEuLjhjZDAyZTVkZjY3MTQxNWM2NDkzMmE3MTA4YzczOTM4
ODQxNWNkMTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZp
ZXdIb3N0LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9z
dC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJUZXN0TmF2aWdhdGlvbkNvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJUZXN0U2hlbGwuaCIKICNpbmNsdWRlICJUZXN0V2ViUGx1Z2luLmgi
CisjaW5jbHVkZSAiV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV2ViQ29u
c29sZU1lc3NhZ2UuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudURhdGEuaCIKICNpbmNsdWRl
ICJXZWJET01NZXNzYWdlRXZlbnQuaCIKQEAgLTExMzksNiArMTE0MCwyMyBAQCBzdGF0aWMgYm9v
bCBob3N0SXNVc2VkQnlTb21lVGVzdHNUb0dlbmVyYXRlRXJyb3IoY29uc3Qgc3RyaW5nJiBob3N0
KQogICAgIHJldHVybiBob3N0ID09ICIyNTUuMjU1LjI1NS4yNTUiOwogfQogCit2b2lkIFdlYlZp
ZXdIb3N0Ojp3aWxsUmVxdWVzdFJlc291cmNlKFdlYktpdDo6V2ViRnJhbWUqIGZyYW1lLCBjb25z
dCBXZWJLaXQ6OldlYkNhY2hlZFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK3sKKyAgICBpZiAo
bV9zaGVsbC0+c2hvdWxkRHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcygpKSB7CisgICAgICAg
IHByaW50RnJhbWVEZXNjcmlwdGlvbihmcmFtZSk7CisgICAgICAgIFdlYkVsZW1lbnQgZWxlbWVu
dCA9IHJlcXVlc3QuaW5pdGlhdG9yRWxlbWVudCgpOworICAgICAgICBpZiAoIWVsZW1lbnQuaXNO
dWxsKCkpIHsKKyAgICAgICAgICAgIHByaW50ZigiIC0gZWxlbWVudCB3aXRoICIpOworICAgICAg
ICAgICAgaWYgKGVsZW1lbnQuaGFzQXR0cmlidXRlKCJpZCIpKQorICAgICAgICAgICAgICAgIHBy
aW50ZigiaWQgJyVzJyIsIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpLnV0ZjgoKS5kYXRhKCkp
OworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHByaW50Zigibm8gaWQiKTsKKyAg
ICAgICAgfSBlbHNlCisgICAgICAgICAgICBwcmludGYoIiAtICVzIiwgcmVxdWVzdC5pbml0aWF0
b3JOYW1lKCkudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIHByaW50ZigiIHJlcXVlc3RlZCAnJXMn
XG4iLCBVUkxEZXNjcmlwdGlvbihyZXF1ZXN0LnVybCgpKS5jX3N0cigpKTsKKyAgICB9Cit9CisK
IHZvaWQgV2ViVmlld0hvc3Q6OndpbGxTZW5kUmVxdWVzdChXZWJGcmFtZSogZnJhbWUsIHVuc2ln
bmVkIGlkZW50aWZpZXIsIFdlYlVSTFJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFdlYlVSTFJlc3Bv
bnNlJiByZWRpcmVjdFJlc3BvbnNlKQogewogICAgIC8vIE5lZWQgdG8gdXNlIEdVUkwgZm9yIGhv
c3QoKSBhbmQgU2NoZW1lSXMoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViVmlld0hvc3QuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZp
ZXdIb3N0LmgKaW5kZXggZWI0MWQ1NGE0NmQzNTZlYTIwNjNjNjNjZDA4N2Y0Y2E1YzJmZjA1MS4u
ZWRkYTZmZmZkNGJiNWEzZmU5ZWVhZTk4NDA1OTIxYWE1ODEwZTRkNSAxMDA2NDQKLS0tIGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCkBAIC0yNjAsNiArMjYwLDcgQEAgY2xh
c3MgV2ViVmlld0hvc3QgOiBwdWJsaWMgV2ViS2l0OjpXZWJWaWV3Q2xpZW50LCBwdWJsaWMgV2Vi
S2l0OjpXZWJGcmFtZUNsaWVudCwKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlTG9jYXRpb25X
aXRoaW5QYWdlKFdlYktpdDo6V2ViRnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgYXNzaWduSWRl
bnRpZmllclRvUmVxdWVzdChXZWJLaXQ6OldlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwg
Y29uc3QgV2ViS2l0OjpXZWJVUkxSZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUlk
ZW50aWZpZXJGb3JSZXF1ZXN0KHVuc2lnbmVkIGlkZW50aWZpZXIpOworICAgIHZpcnR1YWwgdm9p
ZCB3aWxsUmVxdWVzdFJlc291cmNlKFdlYktpdDo6V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6Oldl
YkNhY2hlZFJlc291cmNlUmVxdWVzdCYpOwogICAgIHZpcnR1YWwgdm9pZCB3aWxsU2VuZFJlcXVl
c3QoV2ViS2l0OjpXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50aWZpZXIsIFdlYktpdDo6V2ViVVJM
UmVxdWVzdCYsIGNvbnN0IFdlYktpdDo6V2ViVVJMUmVzcG9uc2UmKTsKICAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVjZWl2ZVJlc3BvbnNlKFdlYktpdDo6V2ViRnJhbWUqLCB1bnNpZ25lZCBpZGVudGlm
aWVyLCBjb25zdCBXZWJLaXQ6OldlYlVSTFJlc3BvbnNlJik7CiAgICAgdmlydHVhbCB2b2lkIGRp
ZEZpbmlzaFJlc291cmNlTG9hZChXZWJLaXQ6OldlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmll
cik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggZGUxYTM5MWIyYjljZDM2M2JiYmQ1ZWYwNDJiNWIxODA5ODM4M2MwNy4uYzc5
ODUxNzVjZjZmM2ZjMzlkNTM5Mzc5MDA5OTJmNDc3MGUwYTE5YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDEyLTExLTIzICBNYXJqYSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBBZGQgY2FsbGJhY2tzIHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCB3aGVuIGEgcmVz
b3VyY2UgaXMgcmVxdWVzdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05Mjc2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEluIENocm9taXVtLCB3aGVuIGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2VscyBh
IG5ldHdvcmsKKyAgICAgICAgcmVxdWVzdCAod2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2Vzcyks
IHdlJ2QgbGlrZSB0bworICAgICAgICBub3RpZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcgb24g
dGhlIGN1cnJlbnQgcGFnZSBhYm91dAorICAgICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQgdG8g
bG9hZCBiZWNhdXNlIHRoZSByZXF1ZXN0cyB3ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMgb3Bw
b3NlZCB0byBlLmcuIHRoZSBuZXR3b3JrIHJlcXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qgd29y
aykuIFNpbmNlIHRoZSByZXNvdXJjZSByZXF1ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAgICBj
YXJyeSBhbnkgaW5mb3JtYXRpb24gd2hhdCBET00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3IsCisg
ICAgICAgIGN1cnJlbnRseSBhIGNvbnRlbnQgc2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERPTSB0
cmVlIGFuZAorICAgICAgICBndWVzcyB3aGljaCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxlZCBi
eSBpdHMgY291bnRlcgorICAgICAgICBwYXJ0LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tzLCB0
aGUgZW1iZWRkZXIgY2FuIG1ha2UKKyAgICAgICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3RseS4K
KworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJlcXVl
c3QtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0vZmFzdC9sb2FkZXIvcmVzb3VyY2UtcmVxdWVzdC1jYWxsYmFja3MuaHRtbDogQWRkZWQu
CisKIDIwMTItMTEtMjIgIEtyaXN0w7NmIEtvc3p0ecOzICA8a2tyaXN0b2ZAaW5mLnUtc3plZ2Vk
Lmh1PgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3Qt
Y2FsbGJhY2tzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zh
c3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lODM5OWVjOWEyMTQ4YWJkODc1NjE3ZGQyNDZjODExYTllMmUzMjQwCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvcmVzb3Vy
Y2UtcmVxdWVzdC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK21haW4g
ZnJhbWUgLSBjc3MgcmVxdWVzdGVkICdndzQzMjA0Ny50dGYnCittYWluIGZyYW1lIC0gY3NzIHJl
cXVlc3RlZCAnZ3JlZW5ib3gtaG90c3BvdDM1LTQuY3VyJworbWFpbiBmcmFtZSAtIGVsZW1lbnQg
d2l0aCBpZCAnd2l0aC1iYWNrZ3JvdW5kJyByZXF1ZXN0ZWQgJ2xlbm5hLnBuZycKK21haW4gZnJh
bWUgLSBlbGVtZW50IHdpdGggaWQgJ2ltZy1ub3JtYWwnIHJlcXVlc3RlZCAnZGljZS5wbmcnCitt
YWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICdpbWctY2hhbmdpbmcnIHJlcXVlc3RlZCAnZGlj
ZS5wbmcnCittYWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICdpbWctbm90LXRoZXJlJyByZXF1
ZXN0ZWQgJ25vdC1leGlzdGluZy5wbmcnCittYWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIG5vIGlk
IHJlcXVlc3RlZCAnanMtdGVzdC1wb3N0LmpzJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBp
ZCAnaW1nLWNoYW5naW5nJyByZXF1ZXN0ZWQgJ211LnBuZycKK21haW4gZnJhbWUgLSBlbGVtZW50
IHdpdGggaWQgJ2ltZy1jcmVhdGVkJyByZXF1ZXN0ZWQgJ292YWwucG5nJworbWFpbiBmcmFtZSAt
IGVsZW1lbnQgd2l0aCBpZCAnaW1nLWNyZWF0ZWQtMicgcmVxdWVzdGVkICdwbmdfcGVyX3Jvd19h
bHBoYS5wbmcnCittYWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICdzY3JpcHQtY3JlYXRlZCcg
cmVxdWVzdGVkICdlbXB0eS1zY3JpcHQuanMnCittYWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIGlk
ICd3aXRoLWJhY2tncm91bmQnIHJlcXVlc3RlZCAncGFsYXR0ZWQtY29sb3ItcG5nLWdhbW1hLW9u
ZS1jb2xvci1wcm9maWxlLnBuZycKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgY29ycmVjdCBj
YWxsYmFja3MgZm9yIHJlc291cmNlIHJlcXVlc3RzIGFyZSBpbnZva2VkLiBJdCBwYXNzZXMgaWYg
eW91IHNlZSB0aGUgY2FsbGJhY2tzIGZvciBlaWdodCByZXNvdXJjZXMuCisKKyAgICAKKworUEFT
UyAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNv
dXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9sb2FkZXIvcmVzb3VyY2UtcmVxdWVzdC1jYWxsYmFja3MuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMGVmZGVlZmJiZGJmZTY2N2VkN2UzOTg0MjNkNGJlZTM3NjU3YTY4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvcmVzb3VyY2Ut
cmVxdWVzdC1jYWxsYmFja3MuaHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3dpbmRvdy5qc1Rlc3RJc0Fz
eW5jID0gdHJ1ZTsKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIuZHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcygp
OworfSBlbHNlIHsKKyAgICBkb2N1bWVudC53cml0ZSgiVGhpcyB0ZXN0IGNhbm5vdCBydW4gd2l0
aG91dCBhIHRlc3RSdW5uZXIiKTsKK30KKworZnVuY3Rpb24gcmVxdWVzdE1vcmVSZXNvdXJjZXMo
KSB7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltZy1jaGFuZ2luZyIpLnNyYyA9ICIu
Li8uLi8uLi8uLi9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvbXUucG5nIjsKKworICAgIHZhciBjcmVh
dGVkSW1hZ2UgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAgICBjcmVhdGVkSW1h
Z2UuaWQgPSAiaW1nLWNyZWF0ZWQiOworICAgIGNyZWF0ZWRJbWFnZS5zcmMgPSAiLi4vLi4vLi4v
Li4vZmFzdC9pbWFnZXMvcmVzb3VyY2VzL292YWwucG5nIjsKKyAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiaW1hZ2VzIikuYXBwZW5kQ2hpbGQoY3JlYXRlZEltYWdlKTsKKworICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ3aXRoLWJhY2tncm91bmQiKS5zdHlsZS5iYWNrZ3JvdW5kSW1h
Z2UgPSAidXJsKC4uLy4uLy4uLy4uL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9wYWxhdHRlZC1jb2xv
ci1wbmctZ2FtbWEtb25lLWNvbG9yLXByb2ZpbGUucG5nKSI7CisKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgibW9yZS1pbWFnZXMiKS5pbm5lckhUTUwgPSAiPGltZyBpZD0naW1nLWNyZWF0
ZWQtMicgc3JjPScuLi8uLi8uLi8uLi9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvcG5nX3Blcl9yb3df
YWxwaGEucG5nJz4iOworCisgICAgdmFyIGNyZWF0ZWRTY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJzY3JpcHQiKTsKKyAgICBjcmVhdGVkU2NyaXB0LmlkID0gInNjcmlwdC1jcmVhdGVk
IjsKKyAgICBjcmVhdGVkU2NyaXB0LnNyYyA9ICIuLi8uLi8uLi8uLi9mYXN0L2xvYWRlci9yZXNv
dXJjZXMvZW1wdHktc2NyaXB0LmpzIjsKKyAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGNy
ZWF0ZWRTY3JpcHQpOworCisgICAgc2V0VGltZW91dChmaW5pc2hUZXN0LCAwKTsKK30KKworZnVu
Y3Rpb24gZmluaXNoVGVzdCgpIHsKKyAgICB0ZXN0UGFzc2VkKCIiKTsKKyAgICBmaW5pc2hKU1Rl
c3QoKTsKK30KKzwvc2NyaXB0PgorPHN0eWxlPgorI3dpdGgtYmFja2dyb3VuZAoreworICAgIGJh
Y2tncm91bmQtaW1hZ2U6dXJsKCIuLi8uLi8uLi8uLi9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvbGVu
bmEucG5nIik7Cit9Citib2R5Cit7CisgICAgY3Vyc29yOnVybCgiLi4vLi4vLi4vLi4vZmFzdC9l
dmVudHMvcmVzb3VyY2VzL2dyZWVuYm94LWhvdHNwb3QzNS00LmN1ciIpLCBwb2ludGVyOworfQor
QGZvbnQtZmFjZQoreworICAgIGZvbnQtZmFtaWx5OiBjdXN0b21fZm9udDsKKyAgICBzcmM6IHVy
bCgiLi4vLi4vLi4vLi4vZmFzdC90ZXh0L3Jlc291cmNlcy9ndzQzMjA0Ny50dGYiKTsKK30KK3AK
K3sKKyAgICBmb250LWZhbWlseTogY3VzdG9tX2ZvbnQ7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHkgb25sb2FkPSJzZXRUaW1lb3V0KHJlcXVlc3RNb3JlUmVzb3VyY2VzLCAxMDApOyI+Cis8
ZGl2IGlkPSJ3aXRoLWJhY2tncm91bmQiPgorPHA+CisgICAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0
IHRoZSBjb3JyZWN0IGNhbGxiYWNrcyBmb3IgcmVzb3VyY2UgcmVxdWVzdHMgYXJlCisgICAgaW52
b2tlZC4gSXQgcGFzc2VzIGlmIHlvdSBzZWUgdGhlIGNhbGxiYWNrcyBmb3IgZWlnaHQgcmVzb3Vy
Y2VzLgorPC9wPgorPC9kaXY+Cis8ZGl2IGlkPSJpbWFnZXMiPgorPGltZyBpZD0iaW1nLW5vcm1h
bCIgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvZGljZS5wbmciIC8+Cis8
aW1nIGlkPSJpbWctY2hhbmdpbmciIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9pbWFnZXMvcmVzb3Vy
Y2VzL2RpY2UucG5nIiAvPgorPGltZyBpZD0iaW1nLWZhaWwiIC8+Cis8aW1nIGlkPSJpbWctbm90
LXRoZXJlIiBzcmM9Im5vdC1leGlzdGluZy5wbmciIC8+Cis8L2Rpdj4KKzxkaXYgaWQ9Im1vcmUt
aW1hZ2VzIj4KKzwvZGl2PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175795</attachid>
            <date>2012-11-23 06:35:17 -0800</date>
            <delta_ts>2012-11-23 06:52:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92761-20121123153300.patch</filename>
            <type>text/plain</type>
            <size>32626</size>
            <attacher name="Marja Hölttä">marja</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc3ZDA3MGQ1YmViYjY0
Yjc4MTIyZjM5ZDJjODMwMzQyNGEzYzljZS4uMGUxNTQ0NmQ5OWFlOWY2NjNiNThhMzNiNmFiOTYy
MDBlNzBkZGNmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTExLTIzICBNYXJq
YSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tz
IHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCB3aGVuIGEgcmVzb3VyY2UgaXMgcmVxdWVzdGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc2MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIENocm9taXVt
LCB3aGVuIGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2VscyBhIG5ldHdvcmsKKyAgICAgICAgcmVx
dWVzdCAod2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2VzcyksIHdlJ2QgbGlrZSB0bworICAgICAg
ICBub3RpZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcgb24gdGhlIGN1cnJlbnQgcGFnZSBhYm91
dAorICAgICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQgdG8gbG9hZCBiZWNhdXNlIHRoZSByZXF1
ZXN0cyB3ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMgb3Bwb3NlZCB0byBlLmcuIHRoZSBuZXR3
b3JrIHJlcXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qgd29yaykuIFNpbmNlIHRoZSByZXNvdXJj
ZSByZXF1ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAgICBjYXJyeSBhbnkgaW5mb3JtYXRpb24g
d2hhdCBET00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3IsCisgICAgICAgIGN1cnJlbnRseSBhIGNv
bnRlbnQgc2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERPTSB0cmVlIGFuZAorICAgICAgICBndWVz
cyB3aGljaCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxlZCBieSBpdHMgY291bnRlcgorICAgICAg
ICBwYXJ0LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tzLCB0aGUgZW1iZWRkZXIgY2FuIG1ha2UK
KyAgICAgICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3RseS4KKworICAgICAgICBUZXN0OiBwbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy5odG1s
CisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoV2lsbFJl
cXVlc3RSZXNvdXJjZSk6CisgICAgICAgIChGcmFtZUxvYWRlckNsaWVudCk6CisgICAgICAgICog
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorCiAyMDEyLTExLTIyICBL
ZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW5hbWUgdGhl
ICJlZGVuIiBiaXQgdG8gc29tZXRoaW5nIG1vcmUgZGVzY3JpcHRpdmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKaW5kZXggZDRkMzE3MWYwMTdmMzkwYTZjODllMjA4NjZhY2E5NDRmNTdlZWE2NC4u
ZTQ4M2M4Y2QyNWM1MjZhNjA5M2EzOWRiOTAzODZkZDA4MmFiYTExNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MSBAQAorMjAxMi0xMS0yMyAgTWFyamEgSMO2bHR0w6Qg
IDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0byB0aGUgRnJh
bWVMb2FkZXJDbGllbnQgd2hlbiBhIHJlc291cmNlIGlzIHJlcXVlc3RlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDaHJvbWl1bSwgd2hlbiBhbiBl
eHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisgICAgICAgIHJlcXVlc3QgKHdoaWNo
IGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8KKyAgICAgICAgbm90aWZ5IGNv
bnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQKKyAgICAgICAg
d2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUgcmVxdWVzdHMgd2VyZQor
ICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0
IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBp
dHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55IGluZm9ybWF0aW9uIHdoYXQgRE9NIGVs
ZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJyZW50bHkgYSBjb250ZW50IHNjcmlw
dCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAgICAgICAgZ3Vlc3Mgd2hpY2ggcmVx
dWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50ZXIKKyAgICAgICAgcGFydC4gQnkg
YWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVyIGNhbiBtYWtlCisgICAgICAgIHRo
aXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAg
ICAqIHB1YmxpYy9XZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3QuaDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp+V2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0OjpXZWJDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZWRSZXNvdXJjZVJlcXVl
c3Q6Om9wZXJhdG9yPSk6CisgICAgICAgICogcHVibGljL1dlYkZyYW1lQ2xpZW50Lmg6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViRnJhbWVDbGllbnQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJGcmFtZUNsaWVudDo6d2lsbFJlcXVlc3RSZXNvdXJjZSk6CisgICAgICAgICogc3JjL0Zy
YW1lTG9hZGVyQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xp
ZW50SW1wbDo6ZGlzcGF0Y2hXaWxsUmVxdWVzdFJlc291cmNlKToKKyAgICAgICAgKFdlYktpdCk6
CisgICAgICAgICogc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5oOgorICAgICAgICAoRnJhbWVM
b2FkZXJDbGllbnRJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNo
ZWRSZXNvdXJjZVJlcXVlc3Q6OmFzc2lnbik6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hlZFJl
c291cmNlUmVxdWVzdDo6ZXF1YWxzKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0Ojp1cmxSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0OjpjaGFyc2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0Ojpmb3JQcmVsb2FkKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0Ojppbml0aWF0b3JOYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0Ojppbml0aWF0b3JFbGVtZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0OjpXZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3QpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJL
aXQ6OldlYkNhY2hlZFJlc291cmNlUmVxdWVzdDo6dG9DYWNoZWRSZXNvdXJjZVJlcXVlc3QpOgor
CiAyMDEyLTExLTIxICBUaWVuLVJlbiBDaGVuICA8dHJjaGVuQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbY2hyb21pdW1dIERldmljZSBzY2FsZSBmYWN0b3Igc2hvdWxkIGJlIG5vLW9wIHdoZW4g
YXBwbHlEZXZpY2VTY2FsZUZhY3RvckluQ29tcG9zaXRvciA9PSAwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlckNsaWVudC5oCmluZGV4IDg1ZTRlZWNmMTkyOTQxZjcwMjNlZWE2ZGJl
ZGQwMjFlZjc0MzJiYWMuLmE2ZmRiYWJhZTJiYWZiMmQxZGZkMmQ4YjA4MjRlMWJhNzI2NTZjOGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCkBAIC02Myw2ICs2
Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlOwogICAgIGNsYXNzIENhY2hlZEZyYW1lOworICAgIGNsYXNzIENhY2hlZFJlc291cmNl
UmVxdWVzdDsKICAgICBjbGFzcyBDb2xvcjsKICAgICBjbGFzcyBET01XaW5kb3dFeHRlbnNpb247
CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxkOwpAQCAtMTc5LDYgKzE4MCw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hVbmFibGVUb0ltcGxl
bWVudFBvbGljeShjb25zdCBSZXNvdXJjZUVycm9yJikgPSAwOwogCisgICAgICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaFdpbGxSZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Kikg
eyB9CisKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChQ
YXNzUmVmUHRyPEZvcm1TdGF0ZT4pID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
V2lsbFN1Ym1pdEZvcm0oRnJhbWVQb2xpY3lGdW5jdGlvbiwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+
KSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IDgzYTVhMWNlNjc0Y2M3MmM1ZjExMDA5NmNiMzQ4YWIwODI1
ZTRkNWYuLmI5NDZmZTRlY2YzYjhjNzMwNzcxMTExNmE2YzlhOWU5YTI3OGJhNGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNw
cApAQCAtNDIzLDYgKzQyMyw5IEBAIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNl
PiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVzdFJlc291cmNlKENhY2hlCiAgICAgaWYgKCFj
YW5SZXF1ZXN0KHR5cGUsIHVybCwgcmVxdWVzdC5mb3JQcmVsb2FkKCkpKQogICAgICAgICByZXR1
cm4gMDsKIAorICAgIGlmIChGcmFtZSogZiA9IGZyYW1lKCkpCisgICAgICAgIGYtPmxvYWRlcigp
LT5jbGllbnQoKS0+ZGlzcGF0Y2hXaWxsUmVxdWVzdFJlc291cmNlKCZyZXF1ZXN0KTsKKwogICAg
IGlmIChtZW1vcnlDYWNoZSgpLT5kaXNhYmxlZCgpKSB7CiAgICAgICAgIERvY3VtZW50UmVzb3Vy
Y2VNYXA6Oml0ZXJhdG9yIGl0ID0gbV9kb2N1bWVudFJlc291cmNlcy5maW5kKHVybC5zdHJpbmco
KSk7CiAgICAgICAgIGlmIChpdCAhPSBtX2RvY3VtZW50UmVzb3VyY2VzLmVuZCgpKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL1dlYktpdC5neXAKaW5kZXggMGRkNTNiZmEzN2ZlMzFmOTNkYjAyY2IwN2VkMzA1
OWQ0M2RjMDZkZS4uM2ZlYTAzYTAwMTUyNTg5ZDUyZWY5YTU5NmFjOWNjZWYyOWI0N2NkNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cApAQCAtMTA4LDYgKzEwOCw3IEBACiAgICAgICAgICAg
ICAgICAgJ3B1YmxpYy9XZWJCaW5kaW5ncy5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dl
YkJsb2IuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDYWNoZS5oJywKKyAgICAgICAg
ICAgICAgICAncHVibGljL1dlYkNhY2hlZFJlc291cmNlUmVxdWVzdC5oJywKICAgICAgICAgICAg
ICAgICAncHVibGljL1dlYkNvbG9yQ2hvb3Nlci5oJywKICAgICAgICAgICAgICAgICAncHVibGlj
L1dlYkNvbG9yQ2hvb3NlckNsaWVudC5oJywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkNv
bG9yTmFtZS5oJywKQEAgLTQ4OSw2ICs0OTAsNyBAQAogICAgICAgICAgICAgICAgICdzcmMvV2Vi
QmxvYi5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViQmxvYkRhdGEuY3BwJywKICAgICAg
ICAgICAgICAgICAnc3JjL1dlYkNhY2hlLmNwcCcsCisgICAgICAgICAgICAgICAgJ3NyYy9XZWJD
YWNoZWRSZXNvdXJjZVJlcXVlc3QuY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYkNvbG9y
TmFtZS5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViQ29tbW9uLmNwcCcsCiAgICAgICAg
ICAgICAgICAgJ3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5jcHAnLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ2FjaGVkUmVzb3VyY2VSZXF1
ZXN0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDYWNoZWRSZXNvdXJjZVJl
cXVlc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mMGE0ZDdlZTJiZTM4NzNhNDAxMjdlOGFmZTFhYzA1Mjg2Y2Yw
Mjc2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0X2gKKyNkZWZpbmUgV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0X2gKKwor
I2luY2x1ZGUgInBsYXRmb3JtL1dlYkNvbW1vbi5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYlBy
aXZhdGVPd25QdHIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyBDYWNoZWRSZXNvdXJj
ZVJlcXVlc3Q7IH0KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkVsZW1lbnQ7Citj
bGFzcyBXZWJTdHJpbmc7CitjbGFzcyBXZWJVUkxSZXF1ZXN0OworY2xhc3MgV3JhcHBlZFJlc291
cmNlUmVxdWVzdDsKKworY2xhc3MgV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0IHsKK3B1YmxpYzoK
KyAgICB+V2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0KCk7CisKKyAgICBXZWJDYWNoZWRSZXNvdXJj
ZVJlcXVlc3QoY29uc3QgV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiByKSB7IGFzc2lnbihyKTsg
fQorICAgIFdlYkNhY2hlZFJlc291cmNlUmVxdWVzdCYgb3BlcmF0b3I9KGNvbnN0IFdlYkNhY2hl
ZFJlc291cmNlUmVxdWVzdCYgcikgeyBhc3NpZ24ocik7IHJldHVybiAqdGhpczsgfQorICAgIHZv
aWQgYXNzaWduKGNvbnN0IFdlYkNhY2hlZFJlc291cmNlUmVxdWVzdCYpOworICAgIGJvb2wgZXF1
YWxzKGNvbnN0IFdlYkNhY2hlZFJlc291cmNlUmVxdWVzdCYpIGNvbnN0OworCisgICAgV0VCS0lU
X0VYUE9SVCBjb25zdCBXZWJVUkxSZXF1ZXN0JiB1cmxSZXF1ZXN0KCkgY29uc3Q7CisgICAgV0VC
S0lUX0VYUE9SVCBXZWJTdHJpbmcgY2hhcnNldCgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQg
Ym9vbCBmb3JQcmVsb2FkKCkgY29uc3Q7CisgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgaW5p
dGlhdG9yTmFtZSgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgV2ViRWxlbWVudCBpbml0aWF0
b3JFbGVtZW50KCkgY29uc3Q7CisKKyNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KKyAgICBXZWJD
YWNoZWRSZXNvdXJjZVJlcXVlc3QoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0Kik7Cisg
ICAgV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiBvcGVyYXRvcj0oV2ViQ29yZTo6Q2FjaGVkUmVz
b3VyY2VSZXF1ZXN0Kik7CisgICAgY29uc3QgV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0
JiB0b0NhY2hlZFJlc291cmNlUmVxdWVzdCgpIGNvbnN0OworI2VuZGlmCisKK3ByaXZhdGU6Cisg
ICAgV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0KiBtX3ByaXZhdGU7CisgICAgbXV0YWJs
ZSBXZWJQcml2YXRlT3duUHRyPFdyYXBwZWRSZXNvdXJjZVJlcXVlc3Q+IG1fcmVzb3VyY2VSZXF1
ZXN0V3JhcHBlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCmluZGV4IGJkYTNj
MDM4OWQyYzU0MDUyYTM1ZTljNTlkYjMxZDRkZGI0ODA2NGMuLjg5N2U4NzZjMjVlM2U4MWM5Zjg5
M2JiODk2NmIyYTI1NjMwMDZjY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkZyYW1lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRnJhbWVDbGllbnQuaApAQCAtNTAsNiArNTAsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogY2xhc3MgV2ViQXBwbGljYXRpb25DYWNoZUhvc3Q7CiBjbGFzcyBXZWJBcHBsaWNhdGlvbkNh
Y2hlSG9zdENsaWVudDsKK2NsYXNzIFdlYkNhY2hlZFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFdl
YkNvb2tpZUphcjsKIGNsYXNzIFdlYkRhdGFTb3VyY2U7CiBjbGFzcyBXZWJET01FdmVudDsKQEAg
LTI1MSw2ICsyNTIsOSBAQCBwdWJsaWM6CiAgICAgIC8vIHRoZSBjbGllbnQga2VlcHMgc3VjaCBh
biBhc3NvY2lhdGlvbi4KICAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUlkZW50aWZpZXJGb3JSZXF1
ZXN0KHVuc2lnbmVkIGlkZW50aWZpZXIpIHsgfQogCisgICAgLy8gQW4gZWxlbWVudCB3aWxsIHJl
cXVlc3QgYSByZXNvdXJjZS4KKyAgICB2aXJ0dWFsIHZvaWQgd2lsbFJlcXVlc3RSZXNvdXJjZShX
ZWJGcmFtZSosIGNvbnN0IFdlYkNhY2hlZFJlc291cmNlUmVxdWVzdCYpIHsgfQorCiAgICAgLy8g
QSByZXF1ZXN0IGlzIGFib3V0IHRvIGJlIHNlbnQgb3V0LCBhbmQgdGhlIGNsaWVudCBtYXkgbW9k
aWZ5IGl0LiAgUmVxdWVzdAogICAgIC8vIGlzIHdyaXRhYmxlLCBhbmQgY2hhbmdlcyB0byB0aGUg
VVJMLCBmb3IgZXhhbXBsZSwgd2lsbCBjaGFuZ2UgdGhlIHJlcXVlc3QKICAgICAvLyBtYWRlLiAg
SWYgdGhpcyByZXF1ZXN0IGlzIHRoZSByZXN1bHQgb2YgYSByZWRpcmVjdCwgdGhlbiByZWRpcmVj
dFJlc3BvbnNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxv
YWRlckNsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2Fk
ZXJDbGllbnRJbXBsLmNwcAppbmRleCA5ZDBhYWI0OTViMzNkODEyODRmMGNhMTZkMTA5ZGI4NzEz
NGVkNjk3Li40ZTZhMWNhYWM4ZGI0NmYzNGQ5MmZmYWUxYzU3ODgyZjg0OWI5NjlkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5j
cHAKQEAgLTY1LDYgKzY1LDcgQEAKICNpZiBFTkFCTEUoUkVRVUVTVF9BVVRPQ09NUExFVEUpCiAj
aW5jbHVkZSAiV2ViQXV0b2ZpbGxDbGllbnQuaCIKICNlbmRpZgorI2luY2x1ZGUgIldlYkNhY2hl
ZFJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYkRPTUV2ZW50LmgiCiAjaW5jbHVkZSAi
V2ViRGF0YVNvdXJjZUltcGwuaCIKICNpbmNsdWRlICJXZWJEZXZUb29sc0FnZW50UHJpdmF0ZS5o
IgpAQCAtMTA0OCw2ICsxMDQ5LDEyIEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNw
YXRjaFVuYWJsZVRvSW1wbGVtZW50UG9saWN5KGNvbnN0IFJlc291cmNlRXJyb3ImCiAgICAgbV93
ZWJGcmFtZS0+Y2xpZW50KCktPnVuYWJsZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKG1fd2Vi
RnJhbWUsIGVycm9yKTsKIH0KIAordm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNo
V2lsbFJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZVJlcXVlc3QqIHJlcXVlc3QpCit7Cisg
ICAgaWYgKG1fd2ViRnJhbWUtPmNsaWVudCgpKQorICAgICAgICBtX3dlYkZyYW1lLT5jbGllbnQo
KS0+d2lsbFJlcXVlc3RSZXNvdXJjZShtX3dlYkZyYW1lLCBXZWJDYWNoZWRSZXNvdXJjZVJlcXVl
c3QocmVxdWVzdCkpOworfQorCiB2b2lkIEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hX
aWxsU2VuZFN1Ym1pdEV2ZW50KFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiBwcnBGb3JtU3RhdGUpCiB7
CiAgICAgaWYgKG1fd2ViRnJhbWUtPmNsaWVudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAppbmRleCAyYWE2MjRiZGYzNmRkMjg2
M2YyMjAxNmJmZTdlY2QwMTBlNzA3OWJjLi43OGZlYTYyZmFkMTBiZWEwZDg5MTYzNzUwMmU0ZWZj
N2U1OWVhYjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxv
YWRlckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxv
YWRlckNsaWVudEltcGwuaApAQCAtMTE4LDYgKzExOCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdlYkNvcmU6OkZy
YW1lUG9saWN5RnVuY3Rpb24gZnVuY3Rpb24sIGNvbnN0IFdlYkNvcmU6Ok5hdmlnYXRpb25BY3Rp
b24mIGFjdGlvbiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBQYXNz
UmVmUHRyPFdlYkNvcmU6OkZvcm1TdGF0ZT4gZm9ybV9zdGF0ZSk7CiAgICAgdmlydHVhbCB2b2lk
IGNhbmNlbFBvbGljeUNoZWNrKCk7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoVW5hYmxlVG9J
bXBsZW1lbnRQb2xpY3koY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOworICAgIHZpcnR1
YWwgdm9pZCBkaXNwYXRjaFdpbGxSZXF1ZXN0UmVzb3VyY2UoV2ViQ29yZTo6Q2FjaGVkUmVzb3Vy
Y2VSZXF1ZXN0Kik7CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVu
dChQYXNzUmVmUHRyPFdlYkNvcmU6OkZvcm1TdGF0ZT4pOwogICAgIHZpcnR1YWwgdm9pZCBkaXNw
YXRjaFdpbGxTdWJtaXRGb3JtKFdlYkNvcmU6OkZyYW1lUG9saWN5RnVuY3Rpb24sIFBhc3NSZWZQ
dHI8V2ViQ29yZTo6Rm9ybVN0YXRlPik7CiAgICAgdmlydHVhbCB2b2lkIHJldmVydFRvUHJvdmlz
aW9uYWxTdGF0ZShXZWJDb3JlOjpEb2N1bWVudExvYWRlciopIHsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNhY2hlZFJlc291cmNlUmVxdWVzdC5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODUzMmMzMzVmY2RlOGE2NGZmNTM5YTlhNDRmOGNhMTYyOGI4OGM4MQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNhY2hlZFJlc291cmNl
UmVxdWVzdC5jcHAKQEAgLTAsMCArMSwxMDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAg
ICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICog
TmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICog
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmgiCisKKyNpbmNsdWRlICJDYWNoZWRSZXNvdXJj
ZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiV3JhcHBlZFJlc291
cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJFbGVtZW50Lmg+CisjaW5jbHVkZSA8
cHVibGljL1dlYlN0cmluZy5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJVUkxSZXF1ZXN0Lmg+CisK
K3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViQ2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0Ojp+V2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0KCkKK3sKKyAgICBt
X3Jlc291cmNlUmVxdWVzdFdyYXBwZXIucmVzZXQoMCk7Cit9CisKK3ZvaWQgV2ViQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0Ojphc3NpZ24oY29uc3QgV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiBvdGhl
cikKK3sKKyAgICBtX3ByaXZhdGUgPSBvdGhlci5tX3ByaXZhdGU7Cit9CisKK2Jvb2wgV2ViQ2Fj
aGVkUmVzb3VyY2VSZXF1ZXN0OjplcXVhbHMoY29uc3QgV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0
JiByKSBjb25zdAoreworICAgIHJldHVybiAobV9wcml2YXRlID09IHIubV9wcml2YXRlKTsKK30K
KworY29uc3QgV2ViVVJMUmVxdWVzdCYgV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp1cmxSZXF1
ZXN0KCkgY29uc3QKK3sKKyAgICBpZiAoIW1fcmVzb3VyY2VSZXF1ZXN0V3JhcHBlci5nZXQoKSkK
KyAgICAgICAgbV9yZXNvdXJjZVJlcXVlc3RXcmFwcGVyLnJlc2V0KG5ldyBXcmFwcGVkUmVzb3Vy
Y2VSZXF1ZXN0KG1fcHJpdmF0ZS0+cmVzb3VyY2VSZXF1ZXN0KCkpKTsKKyAgICBlbHNlCisgICAg
ICAgIG1fcmVzb3VyY2VSZXF1ZXN0V3JhcHBlci0+YmluZChtX3ByaXZhdGUtPnJlc291cmNlUmVx
dWVzdCgpKTsKKyAgICByZXR1cm4gKm1fcmVzb3VyY2VSZXF1ZXN0V3JhcHBlci5nZXQoKTsKK30K
KworV2ViU3RyaW5nIFdlYkNhY2hlZFJlc291cmNlUmVxdWVzdDo6Y2hhcnNldCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIFdlYlN0cmluZyhtX3ByaXZhdGUtPmNoYXJzZXQoKSk7Cit9CisKK2Jvb2wg
V2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojpmb3JQcmVsb2FkKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbV9wcml2YXRlLT5mb3JQcmVsb2FkKCk7Cit9CisKK1dlYlN0cmluZyBXZWJDYWNoZWRSZXNv
dXJjZVJlcXVlc3Q6OmluaXRpYXRvck5hbWUoKSBjb25zdAoreworICAgIHJldHVybiBXZWJTdHJp
bmcobV9wcml2YXRlLT5pbml0aWF0b3JOYW1lKCkpOworfQorCitXZWJFbGVtZW50IFdlYkNhY2hl
ZFJlc291cmNlUmVxdWVzdDo6aW5pdGlhdG9yRWxlbWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IFdlYkVsZW1lbnQobV9wcml2YXRlLT5pbml0aWF0b3JFbGVtZW50KCkpOworfQorCitXZWJDYWNo
ZWRSZXNvdXJjZVJlcXVlc3Q6OldlYkNhY2hlZFJlc291cmNlUmVxdWVzdChDYWNoZWRSZXNvdXJj
ZVJlcXVlc3QqIHJlcXVlc3QpCisgICAgOiBtX3ByaXZhdGUocmVxdWVzdCkKK3sKK30KKworV2Vi
Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiBXZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3Q6Om9wZXJhdG9y
PShDYWNoZWRSZXNvdXJjZVJlcXVlc3QqIHJlcXVlc3QpCit7CisgICAgbV9wcml2YXRlID0gcmVx
dWVzdDsKKyAgICByZXR1cm4gKnRoaXM7Cit9CisKK2NvbnN0IFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlUmVxdWVzdCYgV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0Ojp0b0NhY2hlZFJlc291cmNlUmVx
dWVzdCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICptX3ByaXZhdGU7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDZlNjU5YmIwNDY2NTkzODczYWRjMGNhYTM3YmQ0NzM3MGQ2NTIyMzEuLmE2YjAxNjk4
NjE3NzRlMzc4ZGNiZDJlYTNiNzlkOTJkZDM2OTQyOTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAxMi0xMS0yMyAg
TWFyamEgSMO2bHR0w6QgIDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGNhbGxi
YWNrcyB0byB0aGUgRnJhbWVMb2FkZXJDbGllbnQgd2hlbiBhIHJlc291cmNlIGlzIHJlcXVlc3Rl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDaHJv
bWl1bSwgd2hlbiBhbiBleHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisgICAgICAg
IHJlcXVlc3QgKHdoaWNoIGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8KKyAg
ICAgICAgbm90aWZ5IGNvbnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50IHBhZ2Ug
YWJvdXQKKyAgICAgICAgd2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUg
cmVxdWVzdHMgd2VyZQorICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUg
bmV0d29yayByZXF1ZXN0IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVz
b3VyY2UgcmVxdWVzdCBpdHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55IGluZm9ybWF0
aW9uIHdoYXQgRE9NIGVsZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJyZW50bHkg
YSBjb250ZW50IHNjcmlwdCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAgICAgICAg
Z3Vlc3Mgd2hpY2ggcmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50ZXIKKyAg
ICAgICAgcGFydC4gQnkgYWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVyIGNhbiBt
YWtlCisgICAgICAgIHRoaXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKERSVFRlc3RS
dW5uZXI6OkRSVFRlc3RSdW5uZXIpOgorICAgICAgICAoRFJUVGVzdFJ1bm5lcjo6ZHVtcFJlc291
cmNlUmVxdWVzdENhbGxiYWNrcyk6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpyZXNldCk6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oOgorICAgICAg
ICAoRFJUVGVzdFJ1bm5lcik6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpzZXRTaG91bGREdW1w
UmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKToKKyAgICAgICAgKERSVFRlc3RSdW5uZXI6OnNob3Vs
ZER1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RTaGVsbC5oOgorICAgICAgICAoVGVzdFNoZWxsOjpzaG91bGREdW1wUmVz
b3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9zdDo6d2lsbFJlcXVlc3RSZXNv
dXJjZSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaDoK
KyAgICAgICAgKFdlYlZpZXdIb3N0KToKKwogMjAxMi0xMS0yMiAgQmFsYXpzIEtlbGVtZW4gIDxr
YmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XVtXVFJdIFRlc3RDb250cm9sbGVyOjpw
bGF0Zm9ybVJ1blVudGlsIHNob3VsZCBub3QgZG8gYnVzeSB3YWl0aW5nCmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCmluZGV4IDJmODM5N2JlZTQ1
MzViZmEwYWZhZDI4YjAwODQ2ZThlMjMyY2FiODAuLmUyMjU1Yzc5M2I3MDBkOGEwN2QzNGQ2NmE0
NTU2ODE1ZmZmODRmNWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0RSVFRlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RS
VFRlc3RSdW5uZXIuY3BwCkBAIC0xMzksNiArMTM5LDcgQEAgRFJUVGVzdFJ1bm5lcjo6RFJUVGVz
dFJ1bm5lcihUZXN0U2hlbGwqIHNoZWxsKQogICAgIGJpbmRNZXRob2QoImR1bXBQcm9ncmVzc0Zp
bmlzaGVkQ2FsbGJhY2siLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFByb2dyZXNzRmluaXNoZWRDYWxs
YmFjayk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFj
a3MiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3Mp
OwogICAgIGJpbmRNZXRob2QoImR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MiLCAmRFJUVGVzdFJ1
bm5lcjo6ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyk7CisgICAgYmluZE1ldGhvZCgiZHVtcFJl
c291cmNlUmVxdWVzdENhbGxiYWNrcyIsICZEUlRUZXN0UnVubmVyOjpkdW1wUmVzb3VyY2VSZXF1
ZXN0Q2FsbGJhY2tzKTsKICAgICBiaW5kTWV0aG9kKCJkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVU
eXBlcyIsICZEUlRUZXN0UnVubmVyOjpkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyk7CiAg
ICAgYmluZE1ldGhvZCgiZHVtcFNlbGVjdGlvblJlY3QiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFNl
bGVjdGlvblJlY3QpOwogICAgIGJpbmRNZXRob2QoImR1bXBTdGF0dXNDYWxsYmFja3MiLCAmRFJU
VGVzdFJ1bm5lcjo6ZHVtcFdpbmRvd1N0YXR1c0NoYW5nZXMpOwpAQCAtMzIyLDYgKzMyMywxMiBA
QCB2b2lkIERSVFRlc3RSdW5uZXI6OmR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoY29uc3QgQ3Bw
QXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudAogICAgIHJlc3VsdC0+c2V0TnVsbCgpOwogfQogCit2
b2lkIERSVFRlc3RSdW5uZXI6OmR1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoY29uc3QgQ3Bw
QXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIG1fZHVtcFJlc291cmNl
UmVxdWVzdENhbGxiYWNrcyA9IHRydWU7CisgICAgcmVzdWx0LT5zZXROdWxsKCk7Cit9CisKIHZv
aWQgRFJUVGVzdFJ1bm5lcjo6ZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoY29uc3QgQ3Bw
QXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIG1fZHVtcFJlc291cmNl
UmVzcG9uc2VNSU1FVHlwZXMgPSB0cnVlOwpAQCAtNTU2LDYgKzU2Myw3IEBAIHZvaWQgRFJUVGVz
dFJ1bm5lcjo6cmVzZXQoKQogICAgIG1fZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjayA9IGZh
bHNlOwogICAgIG1fZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MgPSBmYWxzZTsK
ICAgICBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MgPSBmYWxzZTsKKyAgICBtX2R1bXBSZXNv
dXJjZVJlcXVlc3RDYWxsYmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBSZXNvdXJjZVJlc3BvbnNl
TUlNRVR5cGVzID0gZmFsc2U7CiAgICAgbV9kdW1wQmFja0ZvcndhcmRMaXN0ID0gZmFsc2U7CiAg
ICAgbV9kdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oCmluZGV4IDlmMDJlMWM1MzE3MGNj
YTFmY2E4ZDc2MmUxMjcyYjQ3MjExZTA1MmEuLjQ5ZjI3YzM2YmMxYzVmN2I4ZjI2NTcxMmM3NTE1
YTY5ZTQ0NTBlOGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RS
VFRlc3RSdW5uZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0
UnVubmVyLmgKQEAgLTExNiw3ICsxMTYsMTIgQEAgcHVibGljOgogICAgIC8vIGxpbmUgZm9yIGVh
Y2ggcmVzb3VyY2UgbG9hZCBjYWxsYmFjay4gSXQgdGFrZXMgbm8gYXJndW1lbnRzLCBhbmQgaWdu
b3JlcwogICAgIC8vIGFueSB0aGF0IG1heSBiZSBwcmVzZW50LgogICAgIHZvaWQgZHVtcFJlc291
cmNlTG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7ICAg
IAotICAgIAorCisgICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0aGF0IHRlbGxzIHRo
ZSB0ZXN0X3NoZWxsIHRvIHByaW50IGEgbGluZSBvZgorICAgIC8vIGRlc2NyaXB0aXZlIHRleHQg
Zm9yIGVhY2ggZWxlbWVudCB0aGF0IHJlcXVlc3RlZCBhIHJlc291cmNlLiBJdCB0YWtlcyBubwor
ICAgIC8vIGFyZ3VtZW50cywgYW5kIGlnbm9yZXMgYW55IHRoYXQgbWF5IGJlIHByZXNlbnQuCisg
ICAgdm9pZCBkdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKGNvbnN0IENwcEFyZ3VtZW50TGlz
dCYsIENwcFZhcmlhbnQqKTsKKwogICAgIC8vIFRoaXMgZnVuY3Rpb24gc2V0cyBhIGZsYWcgdGhh
dCB0ZWxscyB0aGUgdGVzdF9zaGVsbCB0byBkdW1wIHRoZSBNSU1FIHR5cGUKICAgICAvLyBmb3Ig
ZWFjaCByZXNvdXJjZSB0aGF0IHdhcyBsb2FkZWQuIEl0IHRha2VzIG5vIGFyZ3VtZW50cywgYW5k
IGlnbm9yZXMgYW55CiAgICAgLy8gdGhhdCBtYXkgYmUgcHJlc2VudC4KQEAgLTMxOCw2ICszMjMs
OCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzaG91bGREdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENh
bGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3M7
IH0KICAgICB2b2lkIHNldFNob3VsZER1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tz
KGJvb2wgdmFsdWUpIHsgbV9kdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcyA9IHZh
bHVlOyB9CiAgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCkge3JldHVy
biBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3M7IH0KKyAgICB2b2lkIHNldFNob3VsZER1bXBS
ZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoYm9vbCB2YWx1ZSkgeyBtX2R1bXBSZXNvdXJjZVJlcXVl
c3RDYWxsYmFja3MgPSB2YWx1ZTsgfQorICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlUmVxdWVz
dENhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrczsgfQog
ICAgIHZvaWQgc2V0U2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoYm9vbCB2YWx1
ZSkgeyBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzID0gdmFsdWU7IH0KICAgICBib29s
IHNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCkge3JldHVybiBtX2R1bXBSZXNv
dXJjZVJlc3BvbnNlTUlNRVR5cGVzOyB9CiAgICAgYm9vbCBzaG91bGREdW1wU3RhdHVzQ2FsbGJh
Y2tzKCkgeyByZXR1cm4gbV9kdW1wV2luZG93U3RhdHVzQ2hhbmdlczsgfQpAQCAtNDUxLDcgKzQ1
OCwxMSBAQCBwcml2YXRlOgogICAgIC8vIElmIHRydWUsIHRoZSB0ZXN0X3NoZWxsIHdpbGwgb3V0
cHV0IGEgZGVzY3JpcHRpdmUgbGluZSBmb3IgZWFjaCByZXNvdXJjZQogICAgIC8vIGxvYWQgY2Fs
bGJhY2suCiAgICAgYm9vbCBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3M7Ci0gICAgCisKKyAg
ICAvLyBJZiB0cnVlLCB0aGUgdGVzdF9zaGVsbCB3aWxsIG91dHB1dCBhIGRlc2NyaXB0aXZlIGxp
bmUgZm9yIGVhY2ggcmVzb3VyY2UKKyAgICAvLyByZXF1ZXN0IGNhbGxiYWNrLgorICAgIGJvb2wg
bV9kdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzOworCiAgICAgLy8gSWYgdHJ1ZSwgdGhlIHRl
c3Rfc2hlbGwgd2lsbCBvdXRwdXQgdGhlIE1JTUUgdHlwZSBmb3IgZWFjaCByZXNvdXJjZSB0aGF0
IAogICAgIC8vIHdhcyBsb2FkZWQuCiAgICAgYm9vbCBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlN
RVR5cGVzOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNo
ZWxsLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAppbmRleCA5
MTIwMTIxZGIzODcxZGY5MjkyMDliODk5NGU5ZGMwZDYyYzcyMWRiLi4zMDZmMzVjZDFlODI4ZDgz
ZTE3YjgzYzU4ZDQyYzQzYjllZGIyMWRhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0U2hlbGwuaApAQCAtMTEyLDYgKzExMiw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0
Rm9jdXMoV2ViS2l0OjpXZWJXaWRnZXQqLCBib29sIGVuYWJsZSk7CiAgICAgYm9vbCBzaG91bGRE
dW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5n
IHx8IG1fdGVzdElzUGVuZGluZykgJiYgdGVzdFJ1bm5lcigpLT5zaG91bGREdW1wRnJhbWVMb2Fk
Q2FsbGJhY2tzKCk7IH0KKyAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFj
a3MoKSBjb25zdCB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5n
KSAmJiB0ZXN0UnVubmVyKCktPnNob3VsZER1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoKTsg
fQogICAgIGJvb2wgc2hvdWxkRHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MoKSBj
b25zdCB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiB0
ZXN0UnVubmVyKCktPnNob3VsZER1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzKCk7
IH0KICAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSBjb25zdCAgeyBy
ZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5nIHx8IG1fdGVzdElzUGVuZGluZykgJiYgdGVzdFJ1bm5l
cigpLT5zaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCk7IH0KICAgICBib29sIHNob3Vs
ZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCkgY29uc3QgIHsgcmV0dXJuIChtX3Rlc3RJ
c1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYmIHRlc3RSdW5uZXIoKS0+c2hvdWxkRHVt
cFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoKTsgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCmluZGV4IGJhZjhkMGQ5ZTNkMzYzNGYxYmE1Y2NhNGUy
MjExOWQ1NWE1NzZlMjEuLjkxODUyOTMxZTEwNTBjN2I3ZWM2OGUwNjc0ZjRkMDk3ZTg2YmZiZWUg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNw
cAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKQEAg
LTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJUZXN0U2hlbGwuaCIKICNpbmNsdWRlICJUZXN0V2ViUGx1Z2luLmgiCisjaW5jbHVk
ZSAiV2ViQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiV2ViQ29uc29sZU1lc3Nh
Z2UuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVudURhdGEuaCIKICNpbmNsdWRlICJXZWJET01N
ZXNzYWdlRXZlbnQuaCIKQEAgLTExMzksNiArMTE0MCwyMyBAQCBzdGF0aWMgYm9vbCBob3N0SXNV
c2VkQnlTb21lVGVzdHNUb0dlbmVyYXRlRXJyb3IoY29uc3Qgc3RyaW5nJiBob3N0KQogICAgIHJl
dHVybiBob3N0ID09ICIyNTUuMjU1LjI1NS4yNTUiOwogfQogCit2b2lkIFdlYlZpZXdIb3N0Ojp3
aWxsUmVxdWVzdFJlc291cmNlKFdlYktpdDo6V2ViRnJhbWUqIGZyYW1lLCBjb25zdCBXZWJLaXQ6
OldlYkNhY2hlZFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK3sKKyAgICBpZiAobV9zaGVsbC0+
c2hvdWxkRHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcygpKSB7CisgICAgICAgIHByaW50RnJh
bWVEZXNjcmlwdGlvbihmcmFtZSk7CisgICAgICAgIFdlYkVsZW1lbnQgZWxlbWVudCA9IHJlcXVl
c3QuaW5pdGlhdG9yRWxlbWVudCgpOworICAgICAgICBpZiAoIWVsZW1lbnQuaXNOdWxsKCkpIHsK
KyAgICAgICAgICAgIHByaW50ZigiIC0gZWxlbWVudCB3aXRoICIpOworICAgICAgICAgICAgaWYg
KGVsZW1lbnQuaGFzQXR0cmlidXRlKCJpZCIpKQorICAgICAgICAgICAgICAgIHByaW50ZigiaWQg
JyVzJyIsIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpLnV0ZjgoKS5kYXRhKCkpOworICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHByaW50Zigibm8gaWQiKTsKKyAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICBwcmludGYoIiAtICVzIiwgcmVxdWVzdC5pbml0aWF0b3JOYW1lKCku
dXRmOCgpLmRhdGEoKSk7CisgICAgICAgIHByaW50ZigiIHJlcXVlc3RlZCAnJXMnXG4iLCBVUkxE
ZXNjcmlwdGlvbihyZXF1ZXN0LnVybFJlcXVlc3QoKS51cmwoKSkuY19zdHIoKSk7CisgICAgfQor
fQorCiB2b2lkIFdlYlZpZXdIb3N0Ojp3aWxsU2VuZFJlcXVlc3QoV2ViRnJhbWUqIGZyYW1lLCB1
bnNpZ25lZCBpZGVudGlmaWVyLCBXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBXZWJVUkxS
ZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSkKIHsKICAgICAvLyBOZWVkIHRvIHVzZSBHVVJMIGZv
ciBob3N0KCkgYW5kIFNjaGVtZUlzKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlZpZXdIb3N0LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5oCmluZGV4IGViNDFkNTRhNDZkMzU2ZWEyMDYzYzYzY2QwODdmNGNhNWMyZmYw
NTEuLmVkZGE2ZmZmZDRiYjVhM2ZlOWVlYWU5ODQwNTkyMWFhNTgxMGU0ZDUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaApAQCAtMjYwLDYgKzI2MCw3IEBA
IGNsYXNzIFdlYlZpZXdIb3N0IDogcHVibGljIFdlYktpdDo6V2ViVmlld0NsaWVudCwgcHVibGlj
IFdlYktpdDo6V2ViRnJhbWVDbGllbnQsCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUxvY2F0
aW9uV2l0aGluUGFnZShXZWJLaXQ6OldlYkZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGFzc2ln
bklkZW50aWZpZXJUb1JlcXVlc3QoV2ViS2l0OjpXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50aWZp
ZXIsIGNvbnN0IFdlYktpdDo6V2ViVVJMUmVxdWVzdCYpOwogICAgIHZpcnR1YWwgdm9pZCByZW1v
dmVJZGVudGlmaWVyRm9yUmVxdWVzdCh1bnNpZ25lZCBpZGVudGlmaWVyKTsKKyAgICB2aXJ0dWFs
IHZvaWQgd2lsbFJlcXVlc3RSZXNvdXJjZShXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0
OjpXZWJDYWNoZWRSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFNlbmRS
ZXF1ZXN0KFdlYktpdDo6V2ViRnJhbWUqLCB1bnNpZ25lZCBpZGVudGlmaWVyLCBXZWJLaXQ6Oldl
YlVSTFJlcXVlc3QmLCBjb25zdCBXZWJLaXQ6OldlYlVSTFJlc3BvbnNlJik7CiAgICAgdmlydHVh
bCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShXZWJLaXQ6OldlYkZyYW1lKiwgdW5zaWduZWQgaWRl
bnRpZmllciwgY29uc3QgV2ViS2l0OjpXZWJVUkxSZXNwb25zZSYpOwogICAgIHZpcnR1YWwgdm9p
ZCBkaWRGaW5pc2hSZXNvdXJjZUxvYWQoV2ViS2l0OjpXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50
aWZpZXIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGRlMWEzOTFiMmI5Y2QzNjNiYmJkNWVmMDQyYjViMTgwOTgzODNjMDcu
LmM3OTg1MTc1Y2Y2ZjNmYzM5ZDUzOTM3OTAwOTkyZjQ3NzBlMGExOWMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNSBAQAorMjAxMi0xMS0yMyAgTWFyamEgSMO2bHR0w6QgIDxtYXJqYUBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0byB0aGUgRnJhbWVMb2FkZXJDbGllbnQgd2hlbiBh
IHJlc291cmNlIGlzIHJlcXVlc3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbiBDaHJvbWl1bSwgd2hlbiBhbiBleHRlbnNpb24gc2NyaXB0IGNhbmNl
bHMgYSBuZXR3b3JrCisgICAgICAgIHJlcXVlc3QgKHdoaWNoIGhhcHBlbnMgb3V0IG9mIHByb2Nl
c3MpLCB3ZSdkIGxpa2UgdG8KKyAgICAgICAgbm90aWZ5IGNvbnRlbnQgc2NyaXB0cyBydW5uaW5n
IG9uIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQKKyAgICAgICAgd2hpY2ggZWxlbWVudHMgZmFpbGVk
IHRvIGxvYWQgYmVjYXVzZSB0aGUgcmVxdWVzdHMgd2VyZQorICAgICAgICBjYW5jZWxsZWQgKGFz
IG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0IGp1c3QKKyAgICAgICAgZGlkbid0
IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBpdHNlbGYgZG9lcyBub3QKKyAgICAg
ICAgY2FycnkgYW55IGluZm9ybWF0aW9uIHdoYXQgRE9NIGVsZW1lbnQgaXMgd2FzIG1hZGUgZm9y
LAorICAgICAgICBjdXJyZW50bHkgYSBjb250ZW50IHNjcmlwdCBoYXMgdG8gc2VhcmNoIHRoZSBE
T00gdHJlZSBhbmQKKyAgICAgICAgZ3Vlc3Mgd2hpY2ggcmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxs
ZWQgYnkgaXRzIGNvdW50ZXIKKyAgICAgICAgcGFydC4gQnkgYWRkaW5nIHRoZXNlIGNhbGxiYWNr
cywgdGhlIGVtYmVkZGVyIGNhbiBtYWtlCisgICAgICAgIHRoaXMgY29ubmVjdGlvbiBleHBsaWN0
bHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1y
ZXF1ZXN0LWNhbGxiYWNrcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJhY2tzLmh0bWw6IEFk
ZGVkLgorCiAyMDEyLTExLTIyICBLcmlzdMOzZiBLb3N6dHnDsyAgPGtrcmlzdG9mQGluZi51LXN6
ZWdlZC5odT4KIAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1
ZXN0LWNhbGxiYWNrcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTgzOTllYzlhMjE0OGFiZDg3NTYxN2RkMjQ2YzgxMWE5ZTJlMzI0MAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jl
c291cmNlLXJlcXVlc3QtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIxIEBACitt
YWluIGZyYW1lIC0gY3NzIHJlcXVlc3RlZCAnZ3c0MzIwNDcudHRmJworbWFpbiBmcmFtZSAtIGNz
cyByZXF1ZXN0ZWQgJ2dyZWVuYm94LWhvdHNwb3QzNS00LmN1cicKK21haW4gZnJhbWUgLSBlbGVt
ZW50IHdpdGggaWQgJ3dpdGgtYmFja2dyb3VuZCcgcmVxdWVzdGVkICdsZW5uYS5wbmcnCittYWlu
IGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICdpbWctbm9ybWFsJyByZXF1ZXN0ZWQgJ2RpY2UucG5n
JworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBpZCAnaW1nLWNoYW5naW5nJyByZXF1ZXN0ZWQg
J2RpY2UucG5nJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBpZCAnaW1nLW5vdC10aGVyZScg
cmVxdWVzdGVkICdub3QtZXhpc3RpbmcucG5nJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBu
byBpZCByZXF1ZXN0ZWQgJ2pzLXRlc3QtcG9zdC5qcycKK21haW4gZnJhbWUgLSBlbGVtZW50IHdp
dGggaWQgJ2ltZy1jaGFuZ2luZycgcmVxdWVzdGVkICdtdS5wbmcnCittYWluIGZyYW1lIC0gZWxl
bWVudCB3aXRoIGlkICdpbWctY3JlYXRlZCcgcmVxdWVzdGVkICdvdmFsLnBuZycKK21haW4gZnJh
bWUgLSBlbGVtZW50IHdpdGggaWQgJ2ltZy1jcmVhdGVkLTInIHJlcXVlc3RlZCAncG5nX3Blcl9y
b3dfYWxwaGEucG5nJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBpZCAnc2NyaXB0LWNyZWF0
ZWQnIHJlcXVlc3RlZCAnZW1wdHktc2NyaXB0LmpzJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0
aCBpZCAnd2l0aC1iYWNrZ3JvdW5kJyByZXF1ZXN0ZWQgJ3BhbGF0dGVkLWNvbG9yLXBuZy1nYW1t
YS1vbmUtY29sb3ItcHJvZmlsZS5wbmcnCitUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGNvcnJl
Y3QgY2FsbGJhY2tzIGZvciByZXNvdXJjZSByZXF1ZXN0cyBhcmUgaW52b2tlZC4gSXQgcGFzc2Vz
IGlmIHlvdSBzZWUgdGhlIGNhbGxiYWNrcyBmb3IgZWlnaHQgcmVzb3VyY2VzLgorCisgICAgCisK
K1BBU1MgCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIv
cmVzb3VyY2UtcmVxdWVzdC1jYWxsYmFja3MuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJhY2tzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjBlZmRlZWZiYmRiZmU2NjdlZDdlMzk4NDIzZDRiZWUzNzY1N2E2OAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291
cmNlLXJlcXVlc3QtY2FsbGJhY2tzLmh0bWwKQEAgLTAsMCArMSw3NyBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cuanNUZXN0
SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLmR1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFj
a3MoKTsKK30gZWxzZSB7CisgICAgZG9jdW1lbnQud3JpdGUoIlRoaXMgdGVzdCBjYW5ub3QgcnVu
IHdpdGhvdXQgYSB0ZXN0UnVubmVyIik7Cit9CisKK2Z1bmN0aW9uIHJlcXVlc3RNb3JlUmVzb3Vy
Y2VzKCkgeworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWctY2hhbmdpbmciKS5zcmMg
PSAiLi4vLi4vLi4vLi4vZmFzdC9pbWFnZXMvcmVzb3VyY2VzL211LnBuZyI7CisKKyAgICB2YXIg
Y3JlYXRlZEltYWdlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7CisgICAgY3JlYXRl
ZEltYWdlLmlkID0gImltZy1jcmVhdGVkIjsKKyAgICBjcmVhdGVkSW1hZ2Uuc3JjID0gIi4uLy4u
Ly4uLy4uL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9vdmFsLnBuZyI7CisgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImltYWdlcyIpLmFwcGVuZENoaWxkKGNyZWF0ZWRJbWFnZSk7CisKKyAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aC1iYWNrZ3JvdW5kIikuc3R5bGUuYmFja2dyb3Vu
ZEltYWdlID0gInVybCguLi8uLi8uLi8uLi9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvcGFsYXR0ZWQt
Y29sb3ItcG5nLWdhbW1hLW9uZS1jb2xvci1wcm9maWxlLnBuZykiOworCisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoIm1vcmUtaW1hZ2VzIikuaW5uZXJIVE1MID0gIjxpbWcgaWQ9J2ltZy1j
cmVhdGVkLTInIHNyYz0nLi4vLi4vLi4vLi4vZmFzdC9pbWFnZXMvcmVzb3VyY2VzL3BuZ19wZXJf
cm93X2FscGhhLnBuZyc+IjsKKworICAgIHZhciBjcmVhdGVkU2NyaXB0ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgY3JlYXRlZFNjcmlwdC5pZCA9ICJzY3JpcHQtY3Jl
YXRlZCI7CisgICAgY3JlYXRlZFNjcmlwdC5zcmMgPSAiLi4vLi4vLi4vLi4vZmFzdC9sb2FkZXIv
cmVzb3VyY2VzL2VtcHR5LXNjcmlwdC5qcyI7CisgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGls
ZChjcmVhdGVkU2NyaXB0KTsKKworICAgIHNldFRpbWVvdXQoZmluaXNoVGVzdCwgMCk7Cit9CisK
K2Z1bmN0aW9uIGZpbmlzaFRlc3QoKSB7CisgICAgdGVzdFBhc3NlZCgiIik7CisgICAgZmluaXNo
SlNUZXN0KCk7Cit9Cis8L3NjcmlwdD4KKzxzdHlsZT4KKyN3aXRoLWJhY2tncm91bmQKK3sKKyAg
ICBiYWNrZ3JvdW5kLWltYWdlOnVybCgiLi4vLi4vLi4vLi4vZmFzdC9pbWFnZXMvcmVzb3VyY2Vz
L2xlbm5hLnBuZyIpOworfQorYm9keQoreworICAgIGN1cnNvcjp1cmwoIi4uLy4uLy4uLy4uL2Zh
c3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC1ob3RzcG90MzUtNC5jdXIiKSwgcG9pbnRlcjsK
K30KK0Bmb250LWZhY2UKK3sKKyAgICBmb250LWZhbWlseTogY3VzdG9tX2ZvbnQ7CisgICAgc3Jj
OiB1cmwoIi4uLy4uLy4uLy4uL2Zhc3QvdGV4dC9yZXNvdXJjZXMvZ3c0MzIwNDcudHRmIik7Cit9
CitwCit7CisgICAgZm9udC1mYW1pbHk6IGN1c3RvbV9mb250OworfQorPC9zdHlsZT4KKzwvaGVh
ZD4KKzxib2R5IG9ubG9hZD0ic2V0VGltZW91dChyZXF1ZXN0TW9yZVJlc291cmNlcywgMTAwKTsi
PgorPGRpdiBpZD0id2l0aC1iYWNrZ3JvdW5kIj4KKzxwPgorICAgIFRoaXMgdGVzdCBjaGVja3Mg
dGhhdCB0aGUgY29ycmVjdCBjYWxsYmFja3MgZm9yIHJlc291cmNlIHJlcXVlc3RzIGFyZQorICAg
IGludm9rZWQuIEl0IHBhc3NlcyBpZiB5b3Ugc2VlIHRoZSBjYWxsYmFja3MgZm9yIGVpZ2h0IHJl
c291cmNlcy4KKzwvcD4KKzwvZGl2PgorPGRpdiBpZD0iaW1hZ2VzIj4KKzxpbWcgaWQ9ImltZy1u
b3JtYWwiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2RpY2UucG5nIiAv
PgorPGltZyBpZD0iaW1nLWNoYW5naW5nIiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvaW1hZ2VzL3Jl
c291cmNlcy9kaWNlLnBuZyIgLz4KKzxpbWcgaWQ9ImltZy1mYWlsIiAvPgorPGltZyBpZD0iaW1n
LW5vdC10aGVyZSIgc3JjPSJub3QtZXhpc3RpbmcucG5nIiAvPgorPC9kaXY+Cis8ZGl2IGlkPSJt
b3JlLWltYWdlcyI+Cis8L2Rpdj4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175800</attachid>
            <date>2012-11-23 06:52:51 -0800</date>
            <delta_ts>2012-11-27 07:47:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92761-20121123155034.patch</filename>
            <type>text/plain</type>
            <size>32311</size>
            <attacher name="Marja Hölttä">marja</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc3ZDA3MGQ1YmViYjY0
Yjc4MTIyZjM5ZDJjODMwMzQyNGEzYzljZS4uMGUxNTQ0NmQ5OWFlOWY2NjNiNThhMzNiNmFiOTYy
MDBlNzBkZGNmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTExLTIzICBNYXJq
YSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tz
IHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCB3aGVuIGEgcmVzb3VyY2UgaXMgcmVxdWVzdGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc2MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIENocm9taXVt
LCB3aGVuIGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2VscyBhIG5ldHdvcmsKKyAgICAgICAgcmVx
dWVzdCAod2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2VzcyksIHdlJ2QgbGlrZSB0bworICAgICAg
ICBub3RpZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcgb24gdGhlIGN1cnJlbnQgcGFnZSBhYm91
dAorICAgICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQgdG8gbG9hZCBiZWNhdXNlIHRoZSByZXF1
ZXN0cyB3ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMgb3Bwb3NlZCB0byBlLmcuIHRoZSBuZXR3
b3JrIHJlcXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qgd29yaykuIFNpbmNlIHRoZSByZXNvdXJj
ZSByZXF1ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAgICBjYXJyeSBhbnkgaW5mb3JtYXRpb24g
d2hhdCBET00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3IsCisgICAgICAgIGN1cnJlbnRseSBhIGNv
bnRlbnQgc2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERPTSB0cmVlIGFuZAorICAgICAgICBndWVz
cyB3aGljaCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxlZCBieSBpdHMgY291bnRlcgorICAgICAg
ICBwYXJ0LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tzLCB0aGUgZW1iZWRkZXIgY2FuIG1ha2UK
KyAgICAgICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3RseS4KKworICAgICAgICBUZXN0OiBwbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy5odG1s
CisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoV2lsbFJl
cXVlc3RSZXNvdXJjZSk6CisgICAgICAgIChGcmFtZUxvYWRlckNsaWVudCk6CisgICAgICAgICog
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorCiAyMDEyLTExLTIyICBL
ZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW5hbWUgdGhl
ICJlZGVuIiBiaXQgdG8gc29tZXRoaW5nIG1vcmUgZGVzY3JpcHRpdmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKaW5kZXggZDRkMzE3MWYwMTdmMzkwYTZjODllMjA4NjZhY2E5NDRmNTdlZWE2NC4u
YzFiMjBlZmJlNDM1YWZlMDIzOGMyZGM1MWU5OWM2OWMwN2RlNTMyMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MSBAQAorMjAxMi0xMS0yMyAgTWFyamEgSMO2bHR0w6Qg
IDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0byB0aGUgRnJh
bWVMb2FkZXJDbGllbnQgd2hlbiBhIHJlc291cmNlIGlzIHJlcXVlc3RlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDaHJvbWl1bSwgd2hlbiBhbiBl
eHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisgICAgICAgIHJlcXVlc3QgKHdoaWNo
IGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8KKyAgICAgICAgbm90aWZ5IGNv
bnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQKKyAgICAgICAg
d2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUgcmVxdWVzdHMgd2VyZQor
ICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0
IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBp
dHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55IGluZm9ybWF0aW9uIHdoYXQgRE9NIGVs
ZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJyZW50bHkgYSBjb250ZW50IHNjcmlw
dCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAgICAgICAgZ3Vlc3Mgd2hpY2ggcmVx
dWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50ZXIKKyAgICAgICAgcGFydC4gQnkg
YWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVyIGNhbiBtYWtlCisgICAgICAgIHRo
aXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAg
ICAqIHB1YmxpYy9XZWJDYWNoZWRVUkxSZXF1ZXN0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKFdlYkNhY2hlZFVSTFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJD
YWNoZWRVUkxSZXF1ZXN0OjpXZWJDYWNoZWRVUkxSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6
V2ViQ2FjaGVkVVJMUmVxdWVzdDo6b3BlcmF0b3I9KToKKyAgICAgICAgKiBwdWJsaWMvV2ViRnJh
bWVDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJGcmFtZUNsaWVudCk6
CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lQ2xpZW50Ojp3aWxsUmVxdWVzdFJlc291cmNlKToK
KyAgICAgICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6RnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRjaFdpbGxSZXF1ZXN0UmVzb3VyY2UpOgor
ICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKiBzcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmg6
CisgICAgICAgIChGcmFtZUxvYWRlckNsaWVudEltcGwpOgorICAgICAgICAqIHNyYy9XZWJDYWNo
ZWRVUkxSZXF1ZXN0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJDYWNoZWRVUkxSZXF1ZXN0Ojp+V2ViQ2FjaGVkVVJMUmVxdWVzdCk6CisgICAgICAg
IChXZWJLaXQ6OldlYkNhY2hlZFVSTFJlcXVlc3Q6OmFzc2lnbik6CisgICAgICAgIChXZWJLaXQ6
OldlYkNhY2hlZFVSTFJlcXVlc3Q6OmVxdWFscyk6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hl
ZFVSTFJlcXVlc3Q6OnVybFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZWRVUkxS
ZXF1ZXN0OjpjaGFyc2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkVVJMUmVxdWVzdDo6
Zm9yUHJlbG9hZCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hlZFVSTFJlcXVlc3Q6OmluaXRp
YXRvck5hbWUpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZWRVUkxSZXF1ZXN0Ojppbml0aWF0
b3JFbGVtZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkVVJMUmVxdWVzdDo6V2ViQ2Fj
aGVkVVJMUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hlZFVSTFJlcXVlc3Q6Om9w
ZXJhdG9yPSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hlZFVSTFJlcXVlc3Q6OnRvQ2FjaGVk
UmVzb3VyY2VSZXF1ZXN0KToKKwogMjAxMi0xMS0yMSAgVGllbi1SZW4gQ2hlbiAgPHRyY2hlbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBEZXZpY2Ugc2NhbGUgZmFjdG9yIHNo
b3VsZCBiZSBuby1vcCB3aGVuIGFwcGx5RGV2aWNlU2NhbGVGYWN0b3JJbkNvbXBvc2l0b3IgPT0g
MApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCA4NWU0ZWVj
ZjE5Mjk0MWY3MDIzZWVhNmRiZWRkMDIxZWY3NDMyYmFjLi5hNmZkYmFiYWUyYmFmYjJkMWRmZDJk
OGIwODI0ZTFiYTcyNjU2YzhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJD
bGllbnQuaApAQCAtNjMsNiArNjMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFz
cyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKICAgICBjbGFzcyBDYWNoZWRGcmFtZTsKKyAgICBj
bGFzcyBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q7CiAgICAgY2xhc3MgQ29sb3I7CiAgICAgY2xhc3Mg
RE9NV2luZG93RXh0ZW5zaW9uOwogICAgIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKQEAgLTE3OSw2
ICsxODAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3koY29uc3QgUmVzb3VyY2VFcnJvciYpID0gMDsK
IAorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsUmVxdWVzdFJlc291cmNlKENhY2hl
ZFJlc291cmNlUmVxdWVzdCopIHsgfQorCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdp
bGxTZW5kU3VibWl0RXZlbnQoUGFzc1JlZlB0cjxGb3JtU3RhdGU+KSA9IDA7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rpb24sIFBh
c3NSZWZQdHI8Rm9ybVN0YXRlPikgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCA4M2E1YTFjZTY3NGNjNzJj
NWYxMTAwOTZjYjM0OGFiMDgyNWU0ZDVmLi5iOTQ2ZmU0ZWNmM2I4YzczMDc3MTExMTZhNmM5YTll
OWEyNzhiYTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTQyMyw2ICs0MjMsOSBAQCBDYWNoZWRSZXNvdXJjZUhh
bmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJj
ZShDYWNoZQogICAgIGlmICghY2FuUmVxdWVzdCh0eXBlLCB1cmwsIHJlcXVlc3QuZm9yUHJlbG9h
ZCgpKSkKICAgICAgICAgcmV0dXJuIDA7CiAKKyAgICBpZiAoRnJhbWUqIGYgPSBmcmFtZSgpKQor
ICAgICAgICBmLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpc3BhdGNoV2lsbFJlcXVlc3RSZXNvdXJj
ZSgmcmVxdWVzdCk7CisKICAgICBpZiAobWVtb3J5Q2FjaGUoKS0+ZGlzYWJsZWQoKSkgewogICAg
ICAgICBEb2N1bWVudFJlc291cmNlTWFwOjppdGVyYXRvciBpdCA9IG1fZG9jdW1lbnRSZXNvdXJj
ZXMuZmluZCh1cmwuc3RyaW5nKCkpOwogICAgICAgICBpZiAoaXQgIT0gbV9kb2N1bWVudFJlc291
cmNlcy5lbmQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQu
Z3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IDBkZDUzYmZhMzdm
ZTMxZjkzZGIwMmNiMDdlZDMwNTlkNDNkYzA2ZGUuLjhhYWU5N2Y1OTk2NGJlOTJkYmFkZTg2MmRj
OGY3ZTQ1NDUyMDJhOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0
Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTEwOCw2ICsx
MDgsNyBAQAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQmluZGluZ3MuaCcsCiAgICAgICAg
ICAgICAgICAgJ3B1YmxpYy9XZWJCbG9iLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2Vi
Q2FjaGUuaCcsCisgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDYWNoZWRVUkxSZXF1ZXN0Lmgn
LAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQ29sb3JDaG9vc2VyLmgnLAogICAgICAgICAg
ICAgICAgICdwdWJsaWMvV2ViQ29sb3JDaG9vc2VyQ2xpZW50LmgnLAogICAgICAgICAgICAgICAg
ICdwdWJsaWMvV2ViQ29sb3JOYW1lLmgnLApAQCAtNDg5LDYgKzQ5MCw3IEBACiAgICAgICAgICAg
ICAgICAgJ3NyYy9XZWJCbG9iLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJCbG9iRGF0
YS5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViQ2FjaGUuY3BwJywKKyAgICAgICAgICAg
ICAgICAnc3JjL1dlYkNhY2hlZFVSTFJlcXVlc3QuY3BwJywKICAgICAgICAgICAgICAgICAnc3Jj
L1dlYkNvbG9yTmFtZS5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViQ29tbW9uLmNwcCcs
CiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ2FjaGVkVVJM
UmVxdWVzdC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ2FjaGVkVVJMUmVx
dWVzdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA0OWFjNmI2N2Q5MjczOTVhMjA0M2ZjMjVmZjVjY2FmNDJjNjE3
Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJD
YWNoZWRVUkxSZXF1ZXN0LmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViQ2FjaGVkVVJMUmVx
dWVzdF9oCisjZGVmaW5lIFdlYkNhY2hlZFVSTFJlcXVlc3RfaAorCisjaW5jbHVkZSAicGxhdGZv
cm0vV2ViQ29tbW9uLmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViUHJpdmF0ZU93blB0ci5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIENhY2hlZFJlc291cmNlUmVxdWVzdDsgfQorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViRWxlbWVudDsKK2NsYXNzIFdlYlN0cmluZzsK
K2NsYXNzIFdlYlVSTFJlcXVlc3Q7CitjbGFzcyBXcmFwcGVkUmVzb3VyY2VSZXF1ZXN0OworCitj
bGFzcyBXZWJDYWNoZWRVUkxSZXF1ZXN0IHsKK3B1YmxpYzoKKyAgICB+V2ViQ2FjaGVkVVJMUmVx
dWVzdCgpOworCisgICAgV2ViQ2FjaGVkVVJMUmVxdWVzdChjb25zdCBXZWJDYWNoZWRVUkxSZXF1
ZXN0JiByKSB7IGFzc2lnbihyKTsgfQorICAgIFdlYkNhY2hlZFVSTFJlcXVlc3QmIG9wZXJhdG9y
PShjb25zdCBXZWJDYWNoZWRVUkxSZXF1ZXN0JiByKSB7IGFzc2lnbihyKTsgcmV0dXJuICp0aGlz
OyB9CisgICAgdm9pZCBhc3NpZ24oY29uc3QgV2ViQ2FjaGVkVVJMUmVxdWVzdCYpOworICAgIGJv
b2wgZXF1YWxzKGNvbnN0IFdlYkNhY2hlZFVSTFJlcXVlc3QmKSBjb25zdDsKKworICAgIFdFQktJ
VF9FWFBPUlQgY29uc3QgV2ViVVJMUmVxdWVzdCYgdXJsUmVxdWVzdCgpIGNvbnN0OworICAgIFdF
QktJVF9FWFBPUlQgV2ViU3RyaW5nIGNoYXJzZXQoKSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JU
IGJvb2wgZm9yUHJlbG9hZCgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIGlu
aXRpYXRvck5hbWUoKSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIFdlYkVsZW1lbnQgaW5pdGlh
dG9yRWxlbWVudCgpIGNvbnN0OworCisjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9OCisgICAgV2Vi
Q2FjaGVkVVJMUmVxdWVzdChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJlcXVlc3QqKTsKKyAgICBX
ZWJDYWNoZWRVUkxSZXF1ZXN0JiBvcGVyYXRvcj0oV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1
ZXN0Kik7CisgICAgY29uc3QgV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0JiB0b0NhY2hl
ZFJlc291cmNlUmVxdWVzdCgpIGNvbnN0OworI2VuZGlmCisKK3ByaXZhdGU6CisgICAgV2ViQ29y
ZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0KiBtX3ByaXZhdGU7CisgICAgbXV0YWJsZSBXZWJQcml2
YXRlT3duUHRyPFdyYXBwZWRSZXNvdXJjZVJlcXVlc3Q+IG1fcmVzb3VyY2VSZXF1ZXN0V3JhcHBl
cjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCmluZGV4IGJkYTNjMDM4OWQyYzU0
MDUyYTM1ZTljNTlkYjMxZDRkZGI0ODA2NGMuLmMyZWVlNTg2YTVkYzY0OWFhNjljMWQ0Mzg0M2Nk
NTU0ZTJiNzRhNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkZyYW1lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJh
bWVDbGllbnQuaApAQCAtNTAsNiArNTAsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3Mg
V2ViQXBwbGljYXRpb25DYWNoZUhvc3Q7CiBjbGFzcyBXZWJBcHBsaWNhdGlvbkNhY2hlSG9zdENs
aWVudDsKK2NsYXNzIFdlYkNhY2hlZFVSTFJlcXVlc3Q7CiBjbGFzcyBXZWJDb29raWVKYXI7CiBj
bGFzcyBXZWJEYXRhU291cmNlOwogY2xhc3MgV2ViRE9NRXZlbnQ7CkBAIC0yNTEsNiArMjUyLDkg
QEAgcHVibGljOgogICAgICAvLyB0aGUgY2xpZW50IGtlZXBzIHN1Y2ggYW4gYXNzb2NpYXRpb24u
CiAgICAgIHZpcnR1YWwgdm9pZCByZW1vdmVJZGVudGlmaWVyRm9yUmVxdWVzdCh1bnNpZ25lZCBp
ZGVudGlmaWVyKSB7IH0KIAorICAgIC8vIEFuIGVsZW1lbnQgd2lsbCByZXF1ZXN0IGEgcmVzb3Vy
Y2UuCisgICAgdmlydHVhbCB2b2lkIHdpbGxSZXF1ZXN0UmVzb3VyY2UoV2ViRnJhbWUqLCBjb25z
dCBXZWJDYWNoZWRVUkxSZXF1ZXN0JikgeyB9CisKICAgICAvLyBBIHJlcXVlc3QgaXMgYWJvdXQg
dG8gYmUgc2VudCBvdXQsIGFuZCB0aGUgY2xpZW50IG1heSBtb2RpZnkgaXQuICBSZXF1ZXN0CiAg
ICAgLy8gaXMgd3JpdGFibGUsIGFuZCBjaGFuZ2VzIHRvIHRoZSBVUkwsIGZvciBleGFtcGxlLCB3
aWxsIGNoYW5nZSB0aGUgcmVxdWVzdAogICAgIC8vIG1hZGUuICBJZiB0aGlzIHJlcXVlc3QgaXMg
dGhlIHJlc3VsdCBvZiBhIHJlZGlyZWN0LCB0aGVuIHJlZGlyZWN0UmVzcG9uc2UKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCmlu
ZGV4IDlkMGFhYjQ5NWIzM2Q4MTI4NGYwY2ExNmQxMDlkYjg3MTM0ZWQ2OTcuLjVhZDBmYWQ3N2Ji
MzY3MDNmNzU5NjU3MjdhNzFkZTdjYTllMTM5ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcApAQCAtNjUsNiArNjUsNyBA
QAogI2lmIEVOQUJMRShSRVFVRVNUX0FVVE9DT01QTEVURSkKICNpbmNsdWRlICJXZWJBdXRvZmls
bENsaWVudC5oIgogI2VuZGlmCisjaW5jbHVkZSAiV2ViQ2FjaGVkVVJMUmVxdWVzdC5oIgogI2lu
Y2x1ZGUgIldlYkRPTUV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViRGF0YVNvdXJjZUltcGwuaCIKICNp
bmNsdWRlICJXZWJEZXZUb29sc0FnZW50UHJpdmF0ZS5oIgpAQCAtMTA0OCw2ICsxMDQ5LDEyIEBA
IHZvaWQgRnJhbWVMb2FkZXJDbGllbnRJbXBsOjpkaXNwYXRjaFVuYWJsZVRvSW1wbGVtZW50UG9s
aWN5KGNvbnN0IFJlc291cmNlRXJyb3ImCiAgICAgbV93ZWJGcmFtZS0+Y2xpZW50KCktPnVuYWJs
ZVRvSW1wbGVtZW50UG9saWN5V2l0aEVycm9yKG1fd2ViRnJhbWUsIGVycm9yKTsKIH0KIAordm9p
ZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoV2lsbFJlcXVlc3RSZXNvdXJjZShDYWNo
ZWRSZXNvdXJjZVJlcXVlc3QqIHJlcXVlc3QpCit7CisgICAgaWYgKG1fd2ViRnJhbWUtPmNsaWVu
dCgpKQorICAgICAgICBtX3dlYkZyYW1lLT5jbGllbnQoKS0+d2lsbFJlcXVlc3RSZXNvdXJjZSht
X3dlYkZyYW1lLCBXZWJDYWNoZWRVUkxSZXF1ZXN0KHJlcXVlc3QpKTsKK30KKwogdm9pZCBGcmFt
ZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChQYXNzUmVmUHRy
PEZvcm1TdGF0ZT4gcHJwRm9ybVN0YXRlKQogewogICAgIGlmIChtX3dlYkZyYW1lLT5jbGllbnQo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xp
ZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJ
bXBsLmgKaW5kZXggMmFhNjI0YmRmMzZkZDI4NjNmMjIwMTZiZmU3ZWNkMDEwZTcwNzliYy4uNzhm
ZWE2MmZhZDEwYmVhMGQ4OTE2Mzc1MDJlNGVmYzdlNTllYWIwMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmgKQEAgLTExOCw2ICsx
MTgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRGVjaWRlUG9saWN5Rm9y
TmF2aWdhdGlvbkFjdGlvbihXZWJDb3JlOjpGcmFtZVBvbGljeUZ1bmN0aW9uIGZ1bmN0aW9uLCBj
b25zdCBXZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uJiBhY3Rpb24sIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYgcmVxdWVzdCwgUGFzc1JlZlB0cjxXZWJDb3JlOjpGb3JtU3RhdGU+IGZv
cm1fc3RhdGUpOwogICAgIHZpcnR1YWwgdm9pZCBjYW5jZWxQb2xpY3lDaGVjaygpOwogICAgIHZp
cnR1YWwgdm9pZCBkaXNwYXRjaFVuYWJsZVRvSW1wbGVtZW50UG9saWN5KGNvbnN0IFdlYkNvcmU6
OlJlc291cmNlRXJyb3ImKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsUmVxdWVzdFJl
c291cmNlKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlUmVxdWVzdCopOwogICAgIHZpcnR1YWwgdm9p
ZCBkaXNwYXRjaFdpbGxTZW5kU3VibWl0RXZlbnQoUGFzc1JlZlB0cjxXZWJDb3JlOjpGb3JtU3Rh
dGU+KTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsU3VibWl0Rm9ybShXZWJDb3JlOjpG
cmFtZVBvbGljeUZ1bmN0aW9uLCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZvcm1TdGF0ZT4pOwogICAg
IHZpcnR1YWwgdm9pZCByZXZlcnRUb1Byb3Zpc2lvbmFsU3RhdGUoV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXIqKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNh
Y2hlZFVSTFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGVk
VVJMUmVxdWVzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzRhY2Q0NGY5ODM2MzAyOTMzMTBhYjdmMDNjOGVh
OWUzNDE5YWM2YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkNhY2hlZFVSTFJlcXVlc3QuY3BwCkBAIC0wLDAgKzEsMTA1IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIldlYkNhY2hlZFVSTFJlcXVlc3QuaCIKKworI2luY2x1ZGUgIkNhY2hl
ZFJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNsdWRlICJXcmFw
cGVkUmVzb3VyY2VSZXF1ZXN0LmgiCisjaW5jbHVkZSA8cHVibGljL1dlYkVsZW1lbnQuaD4KKyNp
bmNsdWRlIDxwdWJsaWMvV2ViU3RyaW5nLmg+CisjaW5jbHVkZSA8cHVibGljL1dlYlVSTFJlcXVl
c3QuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgewor
CitXZWJDYWNoZWRVUkxSZXF1ZXN0Ojp+V2ViQ2FjaGVkVVJMUmVxdWVzdCgpCit7CisgICAgbV9y
ZXNvdXJjZVJlcXVlc3RXcmFwcGVyLnJlc2V0KDApOworfQorCit2b2lkIFdlYkNhY2hlZFVSTFJl
cXVlc3Q6OmFzc2lnbihjb25zdCBXZWJDYWNoZWRVUkxSZXF1ZXN0JiBvdGhlcikKK3sKKyAgICBt
X3ByaXZhdGUgPSBvdGhlci5tX3ByaXZhdGU7Cit9CisKK2Jvb2wgV2ViQ2FjaGVkVVJMUmVxdWVz
dDo6ZXF1YWxzKGNvbnN0IFdlYkNhY2hlZFVSTFJlcXVlc3QmIHIpIGNvbnN0Cit7CisgICAgcmV0
dXJuIChtX3ByaXZhdGUgPT0gci5tX3ByaXZhdGUpOworfQorCitjb25zdCBXZWJVUkxSZXF1ZXN0
JiBXZWJDYWNoZWRVUkxSZXF1ZXN0Ojp1cmxSZXF1ZXN0KCkgY29uc3QKK3sKKyAgICBpZiAoIW1f
cmVzb3VyY2VSZXF1ZXN0V3JhcHBlci5nZXQoKSkKKyAgICAgICAgbV9yZXNvdXJjZVJlcXVlc3RX
cmFwcGVyLnJlc2V0KG5ldyBXcmFwcGVkUmVzb3VyY2VSZXF1ZXN0KG1fcHJpdmF0ZS0+cmVzb3Vy
Y2VSZXF1ZXN0KCkpKTsKKyAgICBlbHNlCisgICAgICAgIG1fcmVzb3VyY2VSZXF1ZXN0V3JhcHBl
ci0+YmluZChtX3ByaXZhdGUtPnJlc291cmNlUmVxdWVzdCgpKTsKKyAgICByZXR1cm4gKm1fcmVz
b3VyY2VSZXF1ZXN0V3JhcHBlci5nZXQoKTsKK30KKworV2ViU3RyaW5nIFdlYkNhY2hlZFVSTFJl
cXVlc3Q6OmNoYXJzZXQoKSBjb25zdAoreworICAgIHJldHVybiBXZWJTdHJpbmcobV9wcml2YXRl
LT5jaGFyc2V0KCkpOworfQorCitib29sIFdlYkNhY2hlZFVSTFJlcXVlc3Q6OmZvclByZWxvYWQo
KSBjb25zdAoreworICAgIHJldHVybiBtX3ByaXZhdGUtPmZvclByZWxvYWQoKTsKK30KKworV2Vi
U3RyaW5nIFdlYkNhY2hlZFVSTFJlcXVlc3Q6OmluaXRpYXRvck5hbWUoKSBjb25zdAoreworICAg
IHJldHVybiBXZWJTdHJpbmcobV9wcml2YXRlLT5pbml0aWF0b3JOYW1lKCkpOworfQorCitXZWJF
bGVtZW50IFdlYkNhY2hlZFVSTFJlcXVlc3Q6OmluaXRpYXRvckVsZW1lbnQoKSBjb25zdAorewor
ICAgIHJldHVybiBXZWJFbGVtZW50KG1fcHJpdmF0ZS0+aW5pdGlhdG9yRWxlbWVudCgpKTsKK30K
KworV2ViQ2FjaGVkVVJMUmVxdWVzdDo6V2ViQ2FjaGVkVVJMUmVxdWVzdChDYWNoZWRSZXNvdXJj
ZVJlcXVlc3QqIHJlcXVlc3QpCisgICAgOiBtX3ByaXZhdGUocmVxdWVzdCkKK3sKK30KKworV2Vi
Q2FjaGVkVVJMUmVxdWVzdCYgV2ViQ2FjaGVkVVJMUmVxdWVzdDo6b3BlcmF0b3I9KENhY2hlZFJl
c291cmNlUmVxdWVzdCogcmVxdWVzdCkKK3sKKyAgICBtX3ByaXZhdGUgPSByZXF1ZXN0OworICAg
IHJldHVybiAqdGhpczsKK30KKworY29uc3QgV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0
JiBXZWJDYWNoZWRVUkxSZXF1ZXN0Ojp0b0NhY2hlZFJlc291cmNlUmVxdWVzdCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuICptX3ByaXZhdGU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDZlNjU5YmIw
NDY2NTkzODczYWRjMGNhYTM3YmQ0NzM3MGQ2NTIyMzEuLmE2YjAxNjk4NjE3NzRlMzc4ZGNiZDJl
YTNiNzlkOTJkZDM2OTQyOTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAxMi0xMS0yMyAgTWFyamEgSMO2bHR0w6Qg
IDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0byB0aGUgRnJh
bWVMb2FkZXJDbGllbnQgd2hlbiBhIHJlc291cmNlIGlzIHJlcXVlc3RlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDaHJvbWl1bSwgd2hlbiBhbiBl
eHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisgICAgICAgIHJlcXVlc3QgKHdoaWNo
IGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8KKyAgICAgICAgbm90aWZ5IGNv
bnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQKKyAgICAgICAg
d2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUgcmVxdWVzdHMgd2VyZQor
ICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0
IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBp
dHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55IGluZm9ybWF0aW9uIHdoYXQgRE9NIGVs
ZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJyZW50bHkgYSBjb250ZW50IHNjcmlw
dCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAgICAgICAgZ3Vlc3Mgd2hpY2ggcmVx
dWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50ZXIKKyAgICAgICAgcGFydC4gQnkg
YWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVyIGNhbiBtYWtlCisgICAgICAgIHRo
aXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9EUlRUZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKERSVFRlc3RSdW5uZXI6OkRSVFRlc3RS
dW5uZXIpOgorICAgICAgICAoRFJUVGVzdFJ1bm5lcjo6ZHVtcFJlc291cmNlUmVxdWVzdENhbGxi
YWNrcyk6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpyZXNldCk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oOgorICAgICAgICAoRFJUVGVzdFJ1bm5l
cik6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpzZXRTaG91bGREdW1wUmVzb3VyY2VSZXF1ZXN0
Q2FsbGJhY2tzKToKKyAgICAgICAgKERSVFRlc3RSdW5uZXI6OnNob3VsZER1bXBSZXNvdXJjZVJl
cXVlc3RDYWxsYmFja3MpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RT
aGVsbC5oOgorICAgICAgICAoVGVzdFNoZWxsOjpzaG91bGREdW1wUmVzb3VyY2VSZXF1ZXN0Q2Fs
bGJhY2tzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5j
cHA6CisgICAgICAgIChXZWJWaWV3SG9zdDo6d2lsbFJlcXVlc3RSZXNvdXJjZSk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaDoKKyAgICAgICAgKFdlYlZp
ZXdIb3N0KToKKwogMjAxMi0xMS0yMiAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgW1F0XVtXVFJdIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJ1blVudGls
IHNob3VsZCBub3QgZG8gYnVzeSB3YWl0aW5nCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCmluZGV4IDJmODM5N2JlZTQ1MzViZmEwYWZhZDI4YjAw
ODQ2ZThlMjMyY2FiODAuLmUyMjU1Yzc5M2I3MDBkOGEwN2QzNGQ2NmE0NTU2ODE1ZmZmODRmNWEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIu
Y3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3Bw
CkBAIC0xMzksNiArMTM5LDcgQEAgRFJUVGVzdFJ1bm5lcjo6RFJUVGVzdFJ1bm5lcihUZXN0U2hl
bGwqIHNoZWxsKQogICAgIGJpbmRNZXRob2QoImR1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2si
LCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjayk7CiAgICAgYmlu
ZE1ldGhvZCgiZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MiLCAmRFJUVGVzdFJ1
bm5lcjo6ZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MpOwogICAgIGJpbmRNZXRo
b2QoImR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFJlc291
cmNlTG9hZENhbGxiYWNrcyk7CisgICAgYmluZE1ldGhvZCgiZHVtcFJlc291cmNlUmVxdWVzdENh
bGxiYWNrcyIsICZEUlRUZXN0UnVubmVyOjpkdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKTsK
ICAgICBiaW5kTWV0aG9kKCJkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyIsICZEUlRUZXN0
UnVubmVyOjpkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyk7CiAgICAgYmluZE1ldGhvZCgi
ZHVtcFNlbGVjdGlvblJlY3QiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFNlbGVjdGlvblJlY3QpOwog
ICAgIGJpbmRNZXRob2QoImR1bXBTdGF0dXNDYWxsYmFja3MiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVt
cFdpbmRvd1N0YXR1c0NoYW5nZXMpOwpAQCAtMzIyLDYgKzMyMywxMiBAQCB2b2lkIERSVFRlc3RS
dW5uZXI6OmR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudAogICAgIHJlc3VsdC0+c2V0TnVsbCgpOwogfQogCit2b2lkIERSVFRlc3RSdW5u
ZXI6OmR1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIG1fZHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNr
cyA9IHRydWU7CisgICAgcmVzdWx0LT5zZXROdWxsKCk7Cit9CisKIHZvaWQgRFJUVGVzdFJ1bm5l
cjo6ZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIG1fZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlw
ZXMgPSB0cnVlOwpAQCAtNTU2LDYgKzU2Myw3IEBAIHZvaWQgRFJUVGVzdFJ1bm5lcjo6cmVzZXQo
KQogICAgIG1fZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjayA9IGZhbHNlOwogICAgIG1fZHVt
cFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBSZXNv
dXJjZUxvYWRDYWxsYmFja3MgPSBmYWxzZTsKKyAgICBtX2R1bXBSZXNvdXJjZVJlcXVlc3RDYWxs
YmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzID0gZmFs
c2U7CiAgICAgbV9kdW1wQmFja0ZvcndhcmRMaXN0ID0gZmFsc2U7CiAgICAgbV9kdW1wQ2hpbGRG
cmFtZVNjcm9sbFBvc2l0aW9ucyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vRFJUVGVzdFJ1bm5lci5oCmluZGV4IDlmMDJlMWM1MzE3MGNjYTFmY2E4ZDc2MmUxMjcy
YjQ3MjExZTA1MmEuLjQ5ZjI3YzM2YmMxYzVmN2I4ZjI2NTcxMmM3NTE1YTY5ZTQ0NTBlOGYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmgKQEAgLTEx
Niw3ICsxMTYsMTIgQEAgcHVibGljOgogICAgIC8vIGxpbmUgZm9yIGVhY2ggcmVzb3VyY2UgbG9h
ZCBjYWxsYmFjay4gSXQgdGFrZXMgbm8gYXJndW1lbnRzLCBhbmQgaWdub3JlcwogICAgIC8vIGFu
eSB0aGF0IG1heSBiZSBwcmVzZW50LgogICAgIHZvaWQgZHVtcFJlc291cmNlTG9hZENhbGxiYWNr
cyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7ICAgIAotICAgIAorCisgICAg
Ly8gVGhpcyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0aGF0IHRlbGxzIHRoZSB0ZXN0X3NoZWxsIHRv
IHByaW50IGEgbGluZSBvZgorICAgIC8vIGRlc2NyaXB0aXZlIHRleHQgZm9yIGVhY2ggZWxlbWVu
dCB0aGF0IHJlcXVlc3RlZCBhIHJlc291cmNlLiBJdCB0YWtlcyBubworICAgIC8vIGFyZ3VtZW50
cywgYW5kIGlnbm9yZXMgYW55IHRoYXQgbWF5IGJlIHByZXNlbnQuCisgICAgdm9pZCBkdW1wUmVz
b3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQq
KTsKKwogICAgIC8vIFRoaXMgZnVuY3Rpb24gc2V0cyBhIGZsYWcgdGhhdCB0ZWxscyB0aGUgdGVz
dF9zaGVsbCB0byBkdW1wIHRoZSBNSU1FIHR5cGUKICAgICAvLyBmb3IgZWFjaCByZXNvdXJjZSB0
aGF0IHdhcyBsb2FkZWQuIEl0IHRha2VzIG5vIGFyZ3VtZW50cywgYW5kIGlnbm9yZXMgYW55CiAg
ICAgLy8gdGhhdCBtYXkgYmUgcHJlc2VudC4KQEAgLTMxOCw2ICszMjMsOCBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBzaG91bGREdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcygpIHsgcmV0
dXJuIG1fZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3M7IH0KICAgICB2b2lkIHNl
dFNob3VsZER1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzKGJvb2wgdmFsdWUpIHsg
bV9kdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcyA9IHZhbHVlOyB9CiAgICAgYm9v
bCBzaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCkge3JldHVybiBtX2R1bXBSZXNvdXJj
ZUxvYWRDYWxsYmFja3M7IH0KKyAgICB2b2lkIHNldFNob3VsZER1bXBSZXNvdXJjZVJlcXVlc3RD
YWxsYmFja3MoYm9vbCB2YWx1ZSkgeyBtX2R1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MgPSB2
YWx1ZTsgfQorICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcygpIHsg
cmV0dXJuIG1fZHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrczsgfQogICAgIHZvaWQgc2V0U2hv
dWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoYm9vbCB2YWx1ZSkgeyBtX2R1bXBSZXNv
dXJjZVJlc3BvbnNlTUlNRVR5cGVzID0gdmFsdWU7IH0KICAgICBib29sIHNob3VsZER1bXBSZXNv
dXJjZVJlc3BvbnNlTUlNRVR5cGVzKCkge3JldHVybiBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlN
RVR5cGVzOyB9CiAgICAgYm9vbCBzaG91bGREdW1wU3RhdHVzQ2FsbGJhY2tzKCkgeyByZXR1cm4g
bV9kdW1wV2luZG93U3RhdHVzQ2hhbmdlczsgfQpAQCAtNDUxLDcgKzQ1OCwxMSBAQCBwcml2YXRl
OgogICAgIC8vIElmIHRydWUsIHRoZSB0ZXN0X3NoZWxsIHdpbGwgb3V0cHV0IGEgZGVzY3JpcHRp
dmUgbGluZSBmb3IgZWFjaCByZXNvdXJjZQogICAgIC8vIGxvYWQgY2FsbGJhY2suCiAgICAgYm9v
bCBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3M7Ci0gICAgCisKKyAgICAvLyBJZiB0cnVlLCB0
aGUgdGVzdF9zaGVsbCB3aWxsIG91dHB1dCBhIGRlc2NyaXB0aXZlIGxpbmUgZm9yIGVhY2ggcmVz
b3VyY2UKKyAgICAvLyByZXF1ZXN0IGNhbGxiYWNrLgorICAgIGJvb2wgbV9kdW1wUmVzb3VyY2VS
ZXF1ZXN0Q2FsbGJhY2tzOworCiAgICAgLy8gSWYgdHJ1ZSwgdGhlIHRlc3Rfc2hlbGwgd2lsbCBv
dXRwdXQgdGhlIE1JTUUgdHlwZSBmb3IgZWFjaCByZXNvdXJjZSB0aGF0IAogICAgIC8vIHdhcyBs
b2FkZWQuCiAgICAgYm9vbCBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmggYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAppbmRleCA5MTIwMTIxZGIzODcxZGY5
MjkyMDliODk5NGU5ZGMwZDYyYzcyMWRiLi4zMDZmMzVjZDFlODI4ZDgzZTE3YjgzYzU4ZDQyYzQz
YjllZGIyMWRhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
U2hlbGwuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaApA
QCAtMTEyLDYgKzExMiw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0Rm9jdXMoV2ViS2l0OjpX
ZWJXaWRnZXQqLCBib29sIGVuYWJsZSk7CiAgICAgYm9vbCBzaG91bGREdW1wRnJhbWVMb2FkQ2Fs
bGJhY2tzKCkgY29uc3QgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5nIHx8IG1fdGVzdElzUGVu
ZGluZykgJiYgdGVzdFJ1bm5lcigpLT5zaG91bGREdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCk7IH0K
KyAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoKSBjb25zdCB7IHJl
dHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiB0ZXN0UnVubmVy
KCktPnNob3VsZER1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoKTsgfQogICAgIGJvb2wgc2hv
dWxkRHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MoKSBjb25zdCB7IHJldHVybiAo
bV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiB0ZXN0UnVubmVyKCktPnNo
b3VsZER1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzKCk7IH0KICAgICBib29sIHNo
b3VsZER1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSBjb25zdCAgeyByZXR1cm4gKG1fdGVzdElz
UHJlcGFyaW5nIHx8IG1fdGVzdElzUGVuZGluZykgJiYgdGVzdFJ1bm5lcigpLT5zaG91bGREdW1w
UmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCk7IH0KICAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZVJl
c3BvbnNlTUlNRVR5cGVzKCkgY29uc3QgIHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBt
X3Rlc3RJc1BlbmRpbmcpICYmIHRlc3RSdW5uZXIoKS0+c2hvdWxkRHVtcFJlc291cmNlUmVzcG9u
c2VNSU1FVHlwZXMoKTsgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vV2ViVmlld0hvc3QuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuY3BwCmluZGV4IGJhZjhkMGQ5ZTNkMzYzNGYxYmE1Y2NhNGUyMjExOWQ1NWE1NzZlMjEu
LmQ2NTJjODFlZTkwYTNlNTJjNTdkMWEzODA2MjYxMzg4YTEzZDYwZmIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAK
ICNpbmNsdWRlICJUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJUZXN0U2hl
bGwuaCIKICNpbmNsdWRlICJUZXN0V2ViUGx1Z2luLmgiCisjaW5jbHVkZSAiV2ViQ2FjaGVkVVJM
UmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYkNvbnNvbGVNZXNzYWdlLmgiCiAjaW5jbHVkZSAiV2Vi
Q29udGV4dE1lbnVEYXRhLmgiCiAjaW5jbHVkZSAiV2ViRE9NTWVzc2FnZUV2ZW50LmgiCkBAIC0x
MTM5LDYgKzExNDAsMjMgQEAgc3RhdGljIGJvb2wgaG9zdElzVXNlZEJ5U29tZVRlc3RzVG9HZW5l
cmF0ZUVycm9yKGNvbnN0IHN0cmluZyYgaG9zdCkKICAgICByZXR1cm4gaG9zdCA9PSAiMjU1LjI1
NS4yNTUuMjU1IjsKIH0KIAordm9pZCBXZWJWaWV3SG9zdDo6d2lsbFJlcXVlc3RSZXNvdXJjZShX
ZWJLaXQ6OldlYkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViS2l0OjpXZWJDYWNoZWRVUkxSZXF1ZXN0
JiByZXF1ZXN0KQoreworICAgIGlmIChtX3NoZWxsLT5zaG91bGREdW1wUmVzb3VyY2VSZXF1ZXN0
Q2FsbGJhY2tzKCkpIHsKKyAgICAgICAgcHJpbnRGcmFtZURlc2NyaXB0aW9uKGZyYW1lKTsKKyAg
ICAgICAgV2ViRWxlbWVudCBlbGVtZW50ID0gcmVxdWVzdC5pbml0aWF0b3JFbGVtZW50KCk7Cisg
ICAgICAgIGlmICghZWxlbWVudC5pc051bGwoKSkgeworICAgICAgICAgICAgcHJpbnRmKCIgLSBl
bGVtZW50IHdpdGggIik7CisgICAgICAgICAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoImlk
IikpCisgICAgICAgICAgICAgICAgcHJpbnRmKCJpZCAnJXMnIiwgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoImlkIikudXRmOCgpLmRhdGEoKSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgcHJpbnRmKCJubyBpZCIpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHByaW50Zigi
IC0gJXMiLCByZXF1ZXN0LmluaXRpYXRvck5hbWUoKS51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAg
cHJpbnRmKCIgcmVxdWVzdGVkICclcydcbiIsIFVSTERlc2NyaXB0aW9uKHJlcXVlc3QudXJsUmVx
dWVzdCgpLnVybCgpKS5jX3N0cigpKTsKKyAgICB9Cit9CisKIHZvaWQgV2ViVmlld0hvc3Q6Ondp
bGxTZW5kUmVxdWVzdChXZWJGcmFtZSogZnJhbWUsIHVuc2lnbmVkIGlkZW50aWZpZXIsIFdlYlVS
TFJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFdlYlVSTFJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNl
KQogewogICAgIC8vIE5lZWQgdG8gdXNlIEdVUkwgZm9yIGhvc3QoKSBhbmQgU2NoZW1lSXMoKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKaW5kZXggZWI0MWQ1
NGE0NmQzNTZlYTIwNjNjNjNjZDA4N2Y0Y2E1YzJmZjA1MS4uOTc5MDZlYjI2NzJmYjYwOTg5ODY0
MGEwZmMyOWQ5NDJhM2EzNmNmMiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViVmlld0hvc3QuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5oCkBAIC0yNjAsNiArMjYwLDcgQEAgY2xhc3MgV2ViVmlld0hvc3QgOiBwdWJs
aWMgV2ViS2l0OjpXZWJWaWV3Q2xpZW50LCBwdWJsaWMgV2ViS2l0OjpXZWJGcmFtZUNsaWVudCwK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlTG9jYXRpb25XaXRoaW5QYWdlKFdlYktpdDo6V2Vi
RnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgYXNzaWduSWRlbnRpZmllclRvUmVxdWVzdChXZWJL
aXQ6OldlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgY29uc3QgV2ViS2l0OjpXZWJVUkxS
ZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUlkZW50aWZpZXJGb3JSZXF1ZXN0KHVu
c2lnbmVkIGlkZW50aWZpZXIpOworICAgIHZpcnR1YWwgdm9pZCB3aWxsUmVxdWVzdFJlc291cmNl
KFdlYktpdDo6V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6OldlYkNhY2hlZFVSTFJlcXVlc3QmKTsK
ICAgICB2aXJ0dWFsIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KFdlYktpdDo6V2ViRnJhbWUqLCB1bnNp
Z25lZCBpZGVudGlmaWVyLCBXZWJLaXQ6OldlYlVSTFJlcXVlc3QmLCBjb25zdCBXZWJLaXQ6Oldl
YlVSTFJlc3BvbnNlJik7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShXZWJL
aXQ6OldlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgY29uc3QgV2ViS2l0OjpXZWJVUkxS
ZXNwb25zZSYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hSZXNvdXJjZUxvYWQoV2ViS2l0
OjpXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50aWZpZXIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRlMWEzOTFiMmI5Y2Qz
NjNiYmJkNWVmMDQyYjViMTgwOTgzODNjMDcuLmM3OTg1MTc1Y2Y2ZjNmYzM5ZDUzOTM3OTAwOTky
ZjQ3NzBlMGExOWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMi0xMS0yMyAgTWFyamEgSMO2
bHR0w6QgIDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0byB0
aGUgRnJhbWVMb2FkZXJDbGllbnQgd2hlbiBhIHJlc291cmNlIGlzIHJlcXVlc3RlZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDaHJvbWl1bSwgd2hl
biBhbiBleHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisgICAgICAgIHJlcXVlc3Qg
KHdoaWNoIGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8KKyAgICAgICAgbm90
aWZ5IGNvbnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQKKyAg
ICAgICAgd2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUgcmVxdWVzdHMg
d2VyZQorICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayBy
ZXF1ZXN0IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVx
dWVzdCBpdHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55IGluZm9ybWF0aW9uIHdoYXQg
RE9NIGVsZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJyZW50bHkgYSBjb250ZW50
IHNjcmlwdCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAgICAgICAgZ3Vlc3Mgd2hp
Y2ggcmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50ZXIKKyAgICAgICAgcGFy
dC4gQnkgYWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVyIGNhbiBtYWtlCisgICAg
ICAgIHRoaXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNl
LXJlcXVlc3QtY2FsbGJhY2tzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTIyICBLcmlzdMOzZiBL
b3N6dHnDsyAgPGtrcmlzdG9mQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBbUXRdIFVucmV2
aWV3ZWQgZ2FyZGVuaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1
bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0
LWNhbGxiYWNrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTgzOTllYzlhMjE0OGFiZDg3NTYx
N2RkMjQ2YzgxMWE5ZTJlMzI0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJhY2tzLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDIxIEBACittYWluIGZyYW1lIC0gY3NzIHJlcXVlc3RlZCAnZ3c0
MzIwNDcudHRmJworbWFpbiBmcmFtZSAtIGNzcyByZXF1ZXN0ZWQgJ2dyZWVuYm94LWhvdHNwb3Qz
NS00LmN1cicKK21haW4gZnJhbWUgLSBlbGVtZW50IHdpdGggaWQgJ3dpdGgtYmFja2dyb3VuZCcg
cmVxdWVzdGVkICdsZW5uYS5wbmcnCittYWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICdpbWct
bm9ybWFsJyByZXF1ZXN0ZWQgJ2RpY2UucG5nJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBp
ZCAnaW1nLWNoYW5naW5nJyByZXF1ZXN0ZWQgJ2RpY2UucG5nJworbWFpbiBmcmFtZSAtIGVsZW1l
bnQgd2l0aCBpZCAnaW1nLW5vdC10aGVyZScgcmVxdWVzdGVkICdub3QtZXhpc3RpbmcucG5nJwor
bWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBubyBpZCByZXF1ZXN0ZWQgJ2pzLXRlc3QtcG9zdC5q
cycKK21haW4gZnJhbWUgLSBlbGVtZW50IHdpdGggaWQgJ2ltZy1jaGFuZ2luZycgcmVxdWVzdGVk
ICdtdS5wbmcnCittYWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICdpbWctY3JlYXRlZCcgcmVx
dWVzdGVkICdvdmFsLnBuZycKK21haW4gZnJhbWUgLSBlbGVtZW50IHdpdGggaWQgJ2ltZy1jcmVh
dGVkLTInIHJlcXVlc3RlZCAncG5nX3Blcl9yb3dfYWxwaGEucG5nJworbWFpbiBmcmFtZSAtIGVs
ZW1lbnQgd2l0aCBpZCAnc2NyaXB0LWNyZWF0ZWQnIHJlcXVlc3RlZCAnZW1wdHktc2NyaXB0Lmpz
JworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBpZCAnd2l0aC1iYWNrZ3JvdW5kJyByZXF1ZXN0
ZWQgJ3BhbGF0dGVkLWNvbG9yLXBuZy1nYW1tYS1vbmUtY29sb3ItcHJvZmlsZS5wbmcnCitUaGlz
IHRlc3QgY2hlY2tzIHRoYXQgdGhlIGNvcnJlY3QgY2FsbGJhY2tzIGZvciByZXNvdXJjZSByZXF1
ZXN0cyBhcmUgaW52b2tlZC4gSXQgcGFzc2VzIGlmIHlvdSBzZWUgdGhlIGNhbGxiYWNrcyBmb3Ig
ZWlnaHQgcmVzb3VyY2VzLgorCisgICAgCisKK1BBU1MgCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvcmVzb3VyY2UtcmVxdWVzdC1jYWxsYmFja3MuaHRt
bCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJl
cXVlc3QtY2FsbGJhY2tzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjBlZmRlZWZiYmRiZmU2NjdlZDdlMzk4
NDIzZDRiZWUzNzY1N2E2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJhY2tzLmh0bWwKQEAg
LTAsMCArMSw3NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBz
cmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQ+Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVy
LmR1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoKTsKK30gZWxzZSB7CisgICAgZG9jdW1lbnQu
d3JpdGUoIlRoaXMgdGVzdCBjYW5ub3QgcnVuIHdpdGhvdXQgYSB0ZXN0UnVubmVyIik7Cit9CisK
K2Z1bmN0aW9uIHJlcXVlc3RNb3JlUmVzb3VyY2VzKCkgeworICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJpbWctY2hhbmdpbmciKS5zcmMgPSAiLi4vLi4vLi4vLi4vZmFzdC9pbWFnZXMvcmVz
b3VyY2VzL211LnBuZyI7CisKKyAgICB2YXIgY3JlYXRlZEltYWdlID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiaW1nIik7CisgICAgY3JlYXRlZEltYWdlLmlkID0gImltZy1jcmVhdGVkIjsKKyAg
ICBjcmVhdGVkSW1hZ2Uuc3JjID0gIi4uLy4uLy4uLy4uL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9v
dmFsLnBuZyI7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltYWdlcyIpLmFwcGVuZENo
aWxkKGNyZWF0ZWRJbWFnZSk7CisKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0aC1i
YWNrZ3JvdW5kIikuc3R5bGUuYmFja2dyb3VuZEltYWdlID0gInVybCguLi8uLi8uLi8uLi9mYXN0
L2ltYWdlcy9yZXNvdXJjZXMvcGFsYXR0ZWQtY29sb3ItcG5nLWdhbW1hLW9uZS1jb2xvci1wcm9m
aWxlLnBuZykiOworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vcmUtaW1hZ2VzIiku
aW5uZXJIVE1MID0gIjxpbWcgaWQ9J2ltZy1jcmVhdGVkLTInIHNyYz0nLi4vLi4vLi4vLi4vZmFz
dC9pbWFnZXMvcmVzb3VyY2VzL3BuZ19wZXJfcm93X2FscGhhLnBuZyc+IjsKKworICAgIHZhciBj
cmVhdGVkU2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAgY3Jl
YXRlZFNjcmlwdC5pZCA9ICJzY3JpcHQtY3JlYXRlZCI7CisgICAgY3JlYXRlZFNjcmlwdC5zcmMg
PSAiLi4vLi4vLi4vLi4vZmFzdC9sb2FkZXIvcmVzb3VyY2VzL2VtcHR5LXNjcmlwdC5qcyI7Cisg
ICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChjcmVhdGVkU2NyaXB0KTsKKworICAgIHNldFRp
bWVvdXQoZmluaXNoVGVzdCwgMCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKSB7CisgICAg
dGVzdFBhc3NlZCgiIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9Cis8L3NjcmlwdD4KKzxzdHls
ZT4KKyN3aXRoLWJhY2tncm91bmQKK3sKKyAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgiLi4vLi4v
Li4vLi4vZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2xlbm5hLnBuZyIpOworfQorYm9keQoreworICAg
IGN1cnNvcjp1cmwoIi4uLy4uLy4uLy4uL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJveC1o
b3RzcG90MzUtNC5jdXIiKSwgcG9pbnRlcjsKK30KK0Bmb250LWZhY2UKK3sKKyAgICBmb250LWZh
bWlseTogY3VzdG9tX2ZvbnQ7CisgICAgc3JjOiB1cmwoIi4uLy4uLy4uLy4uL2Zhc3QvdGV4dC9y
ZXNvdXJjZXMvZ3c0MzIwNDcudHRmIik7Cit9CitwCit7CisgICAgZm9udC1mYW1pbHk6IGN1c3Rv
bV9mb250OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0VGltZW91dChy
ZXF1ZXN0TW9yZVJlc291cmNlcywgMTAwKTsiPgorPGRpdiBpZD0id2l0aC1iYWNrZ3JvdW5kIj4K
KzxwPgorICAgIFRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgY29ycmVjdCBjYWxsYmFja3MgZm9y
IHJlc291cmNlIHJlcXVlc3RzIGFyZQorICAgIGludm9rZWQuIEl0IHBhc3NlcyBpZiB5b3Ugc2Vl
IHRoZSBjYWxsYmFja3MgZm9yIGVpZ2h0IHJlc291cmNlcy4KKzwvcD4KKzwvZGl2PgorPGRpdiBp
ZD0iaW1hZ2VzIj4KKzxpbWcgaWQ9ImltZy1ub3JtYWwiIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9p
bWFnZXMvcmVzb3VyY2VzL2RpY2UucG5nIiAvPgorPGltZyBpZD0iaW1nLWNoYW5naW5nIiBzcmM9
Ii4uLy4uLy4uLy4uL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9kaWNlLnBuZyIgLz4KKzxpbWcgaWQ9
ImltZy1mYWlsIiAvPgorPGltZyBpZD0iaW1nLW5vdC10aGVyZSIgc3JjPSJub3QtZXhpc3Rpbmcu
cG5nIiAvPgorPC9kaXY+Cis8ZGl2IGlkPSJtb3JlLWltYWdlcyI+Cis8L2Rpdj4KKzxkaXYgaWQ9
ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176263</attachid>
            <date>2012-11-27 07:31:20 -0800</date>
            <delta_ts>2012-11-27 07:44:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92761-20121127162857.patch</filename>
            <type>text/plain</type>
            <size>31972</size>
            <attacher name="Marja Hölttä">marja</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc3ZDA3MGQ1YmViYjY0
Yjc4MTIyZjM5ZDJjODMwMzQyNGEzYzljZS4uMGUxNTQ0NmQ5OWFlOWY2NjNiNThhMzNiNmFiOTYy
MDBlNzBkZGNmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTExLTIzICBNYXJq
YSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tz
IHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCB3aGVuIGEgcmVzb3VyY2UgaXMgcmVxdWVzdGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc2MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIENocm9taXVt
LCB3aGVuIGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2VscyBhIG5ldHdvcmsKKyAgICAgICAgcmVx
dWVzdCAod2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2VzcyksIHdlJ2QgbGlrZSB0bworICAgICAg
ICBub3RpZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcgb24gdGhlIGN1cnJlbnQgcGFnZSBhYm91
dAorICAgICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQgdG8gbG9hZCBiZWNhdXNlIHRoZSByZXF1
ZXN0cyB3ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMgb3Bwb3NlZCB0byBlLmcuIHRoZSBuZXR3
b3JrIHJlcXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qgd29yaykuIFNpbmNlIHRoZSByZXNvdXJj
ZSByZXF1ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAgICBjYXJyeSBhbnkgaW5mb3JtYXRpb24g
d2hhdCBET00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3IsCisgICAgICAgIGN1cnJlbnRseSBhIGNv
bnRlbnQgc2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERPTSB0cmVlIGFuZAorICAgICAgICBndWVz
cyB3aGljaCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxlZCBieSBpdHMgY291bnRlcgorICAgICAg
ICBwYXJ0LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tzLCB0aGUgZW1iZWRkZXIgY2FuIG1ha2UK
KyAgICAgICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3RseS4KKworICAgICAgICBUZXN0OiBwbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy5odG1s
CisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoV2lsbFJl
cXVlc3RSZXNvdXJjZSk6CisgICAgICAgIChGcmFtZUxvYWRlckNsaWVudCk6CisgICAgICAgICog
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorCiAyMDEyLTExLTIyICBL
ZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW5hbWUgdGhl
ICJlZGVuIiBiaXQgdG8gc29tZXRoaW5nIG1vcmUgZGVzY3JpcHRpdmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKaW5kZXggZDRkMzE3MWYwMTdmMzkwYTZjODllMjA4NjZhY2E5NDRmNTdlZWE2NC4u
ZDJjNGNkZDVlY2U3ZjlhODRkZGU0ODZjZjI4NjRiMWQ0ODQwODY4MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OCBAQAorMjAxMi0xMS0yMyAgTWFyamEgSMO2bHR0w6Qg
IDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0byB0aGUgRnJh
bWVMb2FkZXJDbGllbnQgd2hlbiBhIHJlc291cmNlIGlzIHJlcXVlc3RlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDaHJvbWl1bSwgd2hlbiBhbiBl
eHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisgICAgICAgIHJlcXVlc3QgKHdoaWNo
IGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8KKyAgICAgICAgbm90aWZ5IGNv
bnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQKKyAgICAgICAg
d2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUgcmVxdWVzdHMgd2VyZQor
ICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0
IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBp
dHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55IGluZm9ybWF0aW9uIHdoYXQgRE9NIGVs
ZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJyZW50bHkgYSBjb250ZW50IHNjcmlw
dCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAgICAgICAgZ3Vlc3Mgd2hpY2ggcmVx
dWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50ZXIKKyAgICAgICAgcGFydC4gQnkg
YWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVyIGNhbiBtYWtlCisgICAgICAgIHRo
aXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAg
ICAqIHB1YmxpYy9XZWJDYWNoZWRVUkxSZXF1ZXN0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKFdlYkNhY2hlZFVSTFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJD
YWNoZWRVUkxSZXF1ZXN0Ojp+V2ViQ2FjaGVkVVJMUmVxdWVzdCk6CisgICAgICAgICogcHVibGlj
L1dlYkZyYW1lQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViRnJhbWVD
bGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6d2lsbFJlcXVlc3RSZXNv
dXJjZSk6CisgICAgICAgICogc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hXaWxsUmVxdWVzdFJlc291
cmNlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL0ZyYW1lTG9hZGVyQ2xpZW50
SW1wbC5oOgorICAgICAgICAoRnJhbWVMb2FkZXJDbGllbnRJbXBsKToKKyAgICAgICAgKiBzcmMv
V2ViQ2FjaGVkVVJMUmVxdWVzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ2FjaGVkVVJMUmVxdWVzdDo6ZXF1YWxzKToKKyAgICAgICAgKFdlYktp
dDo6V2ViQ2FjaGVkVVJMUmVxdWVzdDo6dXJsUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNhY2hlZFVSTFJlcXVlc3Q6OmNoYXJzZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZWRV
UkxSZXF1ZXN0Ojpmb3JQcmVsb2FkKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkVVJMUmVx
dWVzdDo6aW5pdGlhdG9yTmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hlZFVSTFJlcXVl
c3Q6OmluaXRpYXRvckVsZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZWRVUkxSZXF1
ZXN0OjpXZWJDYWNoZWRVUkxSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkVVJM
UmVxdWVzdDo6b3BlcmF0b3I9KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkVVJMUmVxdWVz
dDo6dG9DYWNoZWRSZXNvdXJjZVJlcXVlc3QpOgorCiAyMDEyLTExLTIxICBUaWVuLVJlbiBDaGVu
ICA8dHJjaGVuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERldmljZSBzY2Fs
ZSBmYWN0b3Igc2hvdWxkIGJlIG5vLW9wIHdoZW4gYXBwbHlEZXZpY2VTY2FsZUZhY3RvckluQ29t
cG9zaXRvciA9PSAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXJDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCmlu
ZGV4IDg1ZTRlZWNmMTkyOTQxZjcwMjNlZWE2ZGJlZGQwMjFlZjc0MzJiYWMuLmE2ZmRiYWJhZTJi
YWZiMmQxZGZkMmQ4YjA4MjRlMWJhNzI2NTZjOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlckNsaWVudC5oCkBAIC02Myw2ICs2Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwogICAgIGNsYXNzIENhY2hlZEZy
YW1lOworICAgIGNsYXNzIENhY2hlZFJlc291cmNlUmVxdWVzdDsKICAgICBjbGFzcyBDb2xvcjsK
ICAgICBjbGFzcyBET01XaW5kb3dFeHRlbnNpb247CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxk
OwpAQCAtMTc5LDYgKzE4MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0
dWFsIHZvaWQgZGlzcGF0Y2hVbmFibGVUb0ltcGxlbWVudFBvbGljeShjb25zdCBSZXNvdXJjZUVy
cm9yJikgPSAwOwogCisgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxSZXF1ZXN0UmVz
b3VyY2UoQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0KikgeyB9CisKICAgICAgICAgdmlydHVhbCB2b2lk
IGRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChQYXNzUmVmUHRyPEZvcm1TdGF0ZT4pID0gMDsK
ICAgICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFN1Ym1pdEZvcm0oRnJhbWVQb2xpY3lG
dW5jdGlvbiwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+KSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDgzYTVh
MWNlNjc0Y2M3MmM1ZjExMDA5NmNiMzQ4YWIwODI1ZTRkNWYuLmI5NDZmZTRlY2YzYjhjNzMwNzcx
MTExNmE2YzlhOWU5YTI3OGJhNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9j
YWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtNDIzLDYgKzQyMyw5IEBAIENhY2hl
ZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVx
dWVzdFJlc291cmNlKENhY2hlCiAgICAgaWYgKCFjYW5SZXF1ZXN0KHR5cGUsIHVybCwgcmVxdWVz
dC5mb3JQcmVsb2FkKCkpKQogICAgICAgICByZXR1cm4gMDsKIAorICAgIGlmIChGcmFtZSogZiA9
IGZyYW1lKCkpCisgICAgICAgIGYtPmxvYWRlcigpLT5jbGllbnQoKS0+ZGlzcGF0Y2hXaWxsUmVx
dWVzdFJlc291cmNlKCZyZXF1ZXN0KTsKKwogICAgIGlmIChtZW1vcnlDYWNoZSgpLT5kaXNhYmxl
ZCgpKSB7CiAgICAgICAgIERvY3VtZW50UmVzb3VyY2VNYXA6Oml0ZXJhdG9yIGl0ID0gbV9kb2N1
bWVudFJlc291cmNlcy5maW5kKHVybC5zdHJpbmcoKSk7CiAgICAgICAgIGlmIChpdCAhPSBtX2Rv
Y3VtZW50UmVzb3VyY2VzLmVuZCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKaW5kZXgg
MGRkNTNiZmEzN2ZlMzFmOTNkYjAyY2IwN2VkMzA1OWQ0M2RjMDZkZS4uOGFhZTk3ZjU5OTY0YmU5
MmRiYWRlODYyZGM4ZjdlNDU0NTIwMmE5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9XZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cApA
QCAtMTA4LDYgKzEwOCw3IEBACiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJCaW5kaW5ncy5o
JywKICAgICAgICAgICAgICAgICAncHVibGljL1dlYkJsb2IuaCcsCiAgICAgICAgICAgICAgICAg
J3B1YmxpYy9XZWJDYWNoZS5oJywKKyAgICAgICAgICAgICAgICAncHVibGljL1dlYkNhY2hlZFVS
TFJlcXVlc3QuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDb2xvckNob29zZXIuaCcs
CiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDb2xvckNob29zZXJDbGllbnQuaCcsCiAgICAg
ICAgICAgICAgICAgJ3B1YmxpYy9XZWJDb2xvck5hbWUuaCcsCkBAIC00ODksNiArNDkwLDcgQEAK
ICAgICAgICAgICAgICAgICAnc3JjL1dlYkJsb2IuY3BwJywKICAgICAgICAgICAgICAgICAnc3Jj
L1dlYkJsb2JEYXRhLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJDYWNoZS5jcHAnLAor
ICAgICAgICAgICAgICAgICdzcmMvV2ViQ2FjaGVkVVJMUmVxdWVzdC5jcHAnLAogICAgICAgICAg
ICAgICAgICdzcmMvV2ViQ29sb3JOYW1lLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJD
b21tb24uY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRs
ZXJJbXBsLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJDYWNoZWRVUkxSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJD
YWNoZWRVUkxSZXF1ZXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWJhYzZhZmU0YjFiYzhhNjc3OGM4YTQ4Njhi
NGZlNmFiYTcwNGNkZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkNhY2hlZFVSTFJlcXVlc3QuaApAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1
dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJD
YWNoZWRVUkxSZXF1ZXN0X2gKKyNkZWZpbmUgV2ViQ2FjaGVkVVJMUmVxdWVzdF9oCisKKyNpbmNs
dWRlICJXZWJFbGVtZW50LmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCisjaW5j
bHVkZSAicGxhdGZvcm0vV2ViUHJpdmF0ZU93blB0ci5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJT
dHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeyBjbGFzcyBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q7IH0KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIFdlYkVsZW1lbnQ7CitjbGFzcyBXZWJTdHJpbmc7CitjbGFzcyBXZWJVUkxSZXF1
ZXN0OworY2xhc3MgV3JhcHBlZFJlc291cmNlUmVxdWVzdDsKKworY2xhc3MgV2ViQ2FjaGVkVVJM
UmVxdWVzdCB7CitXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDYWNoZWRVUkxSZXF1ZXN0KTsKK3B1
YmxpYzoKKyAgICB+V2ViQ2FjaGVkVVJMUmVxdWVzdCgpIHsgcmVzZXQoKTsgfQorICAgIFdFQktJ
VF9FWFBPUlQgYm9vbCBlcXVhbHMoY29uc3QgV2ViQ2FjaGVkVVJMUmVxdWVzdCYpIGNvbnN0Owor
ICAgIFdFQktJVF9FWFBPUlQgdm9pZCByZXNldCgpOworCisgICAgV0VCS0lUX0VYUE9SVCBjb25z
dCBXZWJVUkxSZXF1ZXN0JiB1cmxSZXF1ZXN0KCkgY29uc3Q7CisgICAgV0VCS0lUX0VYUE9SVCBX
ZWJTdHJpbmcgY2hhcnNldCgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgYm9vbCBmb3JQcmVs
b2FkKCkgY29uc3Q7CisgICAgV0VCS0lUX0VYUE9SVCBXZWJTdHJpbmcgaW5pdGlhdG9yTmFtZSgp
IGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgV2ViRWxlbWVudCBpbml0aWF0b3JFbGVtZW50KCkg
Y29uc3Q7CisKKyNpZiBXRUJLSVRfSU1QTEVNRU5UQVRJT04KKyAgICBleHBsaWNpdCBXZWJDYWNo
ZWRVUkxSZXF1ZXN0KFdlYkNvcmU6OkNhY2hlZFJlc291cmNlUmVxdWVzdCopOworICAgIFdlYkNh
Y2hlZFVSTFJlcXVlc3QmIG9wZXJhdG9yPShXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJlcXVlc3Qq
KTsKKyAgICBjb25zdCBXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZVJlcXVlc3QmIHRvQ2FjaGVkUmVz
b3VyY2VSZXF1ZXN0KCkgY29uc3Q7CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBXZWJDb3JlOjpD
YWNoZWRSZXNvdXJjZVJlcXVlc3QqIG1fcHJpdmF0ZTsKKyAgICBtdXRhYmxlIFdlYlByaXZhdGVP
d25QdHI8V3JhcHBlZFJlc291cmNlUmVxdWVzdD4gbV9yZXNvdXJjZVJlcXVlc3RXcmFwcGVyOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKaW5kZXggYmRhM2MwMzg5ZDJjNTQwNTJh
MzVlOWM1OWRiMzFkNGRkYjQ4MDY0Yy4uYzJlZWU1ODZhNWRjNjQ5YWE2OWMxZDQzODQzY2Q1NTRl
MmI3NGE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJh
bWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNs
aWVudC5oCkBAIC01MCw2ICs1MCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJB
cHBsaWNhdGlvbkNhY2hlSG9zdDsKIGNsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50
OworY2xhc3MgV2ViQ2FjaGVkVVJMUmVxdWVzdDsKIGNsYXNzIFdlYkNvb2tpZUphcjsKIGNsYXNz
IFdlYkRhdGFTb3VyY2U7CiBjbGFzcyBXZWJET01FdmVudDsKQEAgLTI1MSw2ICsyNTIsOSBAQCBw
dWJsaWM6CiAgICAgIC8vIHRoZSBjbGllbnQga2VlcHMgc3VjaCBhbiBhc3NvY2lhdGlvbi4KICAg
ICAgdmlydHVhbCB2b2lkIHJlbW92ZUlkZW50aWZpZXJGb3JSZXF1ZXN0KHVuc2lnbmVkIGlkZW50
aWZpZXIpIHsgfQogCisgICAgLy8gQW4gZWxlbWVudCB3aWxsIHJlcXVlc3QgYSByZXNvdXJjZS4K
KyAgICB2aXJ0dWFsIHZvaWQgd2lsbFJlcXVlc3RSZXNvdXJjZShXZWJGcmFtZSosIGNvbnN0IFdl
YkNhY2hlZFVSTFJlcXVlc3QmKSB7IH0KKwogICAgIC8vIEEgcmVxdWVzdCBpcyBhYm91dCB0byBi
ZSBzZW50IG91dCwgYW5kIHRoZSBjbGllbnQgbWF5IG1vZGlmeSBpdC4gIFJlcXVlc3QKICAgICAv
LyBpcyB3cml0YWJsZSwgYW5kIGNoYW5nZXMgdG8gdGhlIFVSTCwgZm9yIGV4YW1wbGUsIHdpbGwg
Y2hhbmdlIHRoZSByZXF1ZXN0CiAgICAgLy8gbWFkZS4gIElmIHRoaXMgcmVxdWVzdCBpcyB0aGUg
cmVzdWx0IG9mIGEgcmVkaXJlY3QsIHRoZW4gcmVkaXJlY3RSZXNwb25zZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKaW5kZXgg
OWQwYWFiNDk1YjMzZDgxMjg0ZjBjYTE2ZDEwOWRiODcxMzRlZDY5Ny4uNWFkMGZhZDc3YmIzNjcw
M2Y3NTk2NTcyN2E3MWRlN2NhOWUxMzlkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCkBAIC02NSw2ICs2NSw3IEBACiAj
aWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQogI2luY2x1ZGUgIldlYkF1dG9maWxsQ2xp
ZW50LmgiCiAjZW5kaWYKKyNpbmNsdWRlICJXZWJDYWNoZWRVUkxSZXF1ZXN0LmgiCiAjaW5jbHVk
ZSAiV2ViRE9NRXZlbnQuaCIKICNpbmNsdWRlICJXZWJEYXRhU291cmNlSW1wbC5oIgogI2luY2x1
ZGUgIldlYkRldlRvb2xzQWdlbnRQcml2YXRlLmgiCkBAIC0xMDQ4LDYgKzEwNDksMTIgQEAgdm9p
ZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3ko
Y29uc3QgUmVzb3VyY2VFcnJvciYKICAgICBtX3dlYkZyYW1lLT5jbGllbnQoKS0+dW5hYmxlVG9J
bXBsZW1lbnRQb2xpY3lXaXRoRXJyb3IobV93ZWJGcmFtZSwgZXJyb3IpOwogfQogCit2b2lkIEZy
YW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hXaWxsUmVxdWVzdFJlc291cmNlKENhY2hlZFJl
c291cmNlUmVxdWVzdCogcmVxdWVzdCkKK3sKKyAgICBpZiAobV93ZWJGcmFtZS0+Y2xpZW50KCkp
CisgICAgICAgIG1fd2ViRnJhbWUtPmNsaWVudCgpLT53aWxsUmVxdWVzdFJlc291cmNlKG1fd2Vi
RnJhbWUsIFdlYkNhY2hlZFVSTFJlcXVlc3QocmVxdWVzdCkpOworfQorCiB2b2lkIEZyYW1lTG9h
ZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KFBhc3NSZWZQdHI8Rm9y
bVN0YXRlPiBwcnBGb3JtU3RhdGUpCiB7CiAgICAgaWYgKG1fd2ViRnJhbWUtPmNsaWVudCgpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJ
bXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwu
aAppbmRleCAyYWE2MjRiZGYzNmRkMjg2M2YyMjAxNmJmZTdlY2QwMTBlNzA3OWJjLi43OGZlYTYy
ZmFkMTBiZWEwZDg5MTYzNzUwMmU0ZWZjN2U1OWVhYjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaApAQCAtMTE4LDYgKzExOCw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uKFdlYkNvcmU6OkZyYW1lUG9saWN5RnVuY3Rpb24gZnVuY3Rpb24sIGNvbnN0
IFdlYkNvcmU6Ok5hdmlnYXRpb25BY3Rpb24mIGFjdGlvbiwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0LCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZvcm1TdGF0ZT4gZm9ybV9z
dGF0ZSk7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFBvbGljeUNoZWNrKCk7CiAgICAgdmlydHVh
bCB2b2lkIGRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3koY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VFcnJvciYpOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxSZXF1ZXN0UmVzb3Vy
Y2UoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0Kik7CiAgICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChQYXNzUmVmUHRyPFdlYkNvcmU6OkZvcm1TdGF0ZT4p
OwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKFdlYkNvcmU6OkZyYW1l
UG9saWN5RnVuY3Rpb24sIFBhc3NSZWZQdHI8V2ViQ29yZTo6Rm9ybVN0YXRlPik7CiAgICAgdmly
dHVhbCB2b2lkIHJldmVydFRvUHJvdmlzaW9uYWxTdGF0ZShXZWJDb3JlOjpEb2N1bWVudExvYWRl
ciopIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGVk
VVJMUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDYWNoZWRVUkxS
ZXF1ZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45OWZkZmM1YTBjZjc0OGY0MzBlNmYwNTNkMmJmNTI2MmM0
NWMxNDJjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Q2FjaGVkVVJMUmVxdWVzdC5jcHAKQEAgLTAsMCArMSw5OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisg
KiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJXZWJDYWNoZWRVUkxSZXF1ZXN0LmgiCisKKyNpbmNsdWRlICJDYWNoZWRSZXNv
dXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiV3JhcHBlZFJl
c291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJVUkxSZXF1ZXN0Lmg+CisKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworYm9vbCBXZWJD
YWNoZWRVUkxSZXF1ZXN0OjplcXVhbHMoY29uc3QgV2ViQ2FjaGVkVVJMUmVxdWVzdCYgcikgY29u
c3QKK3sKKyAgICByZXR1cm4gKG1fcHJpdmF0ZSA9PSByLm1fcHJpdmF0ZSk7Cit9CisKK3ZvaWQg
V2ViQ2FjaGVkVVJMUmVxdWVzdDo6cmVzZXQoKQoreworICAgIG1fcmVzb3VyY2VSZXF1ZXN0V3Jh
cHBlci5yZXNldCgwKTsKKyAgICBtX3ByaXZhdGUgPSAwOworfQorCitjb25zdCBXZWJVUkxSZXF1
ZXN0JiBXZWJDYWNoZWRVUkxSZXF1ZXN0Ojp1cmxSZXF1ZXN0KCkgY29uc3QKK3sKKyAgICBpZiAo
IW1fcmVzb3VyY2VSZXF1ZXN0V3JhcHBlci5nZXQoKSkKKyAgICAgICAgbV9yZXNvdXJjZVJlcXVl
c3RXcmFwcGVyLnJlc2V0KG5ldyBXcmFwcGVkUmVzb3VyY2VSZXF1ZXN0KG1fcHJpdmF0ZS0+cmVz
b3VyY2VSZXF1ZXN0KCkpKTsKKyAgICBlbHNlCisgICAgICAgIG1fcmVzb3VyY2VSZXF1ZXN0V3Jh
cHBlci0+YmluZChtX3ByaXZhdGUtPnJlc291cmNlUmVxdWVzdCgpKTsKKyAgICByZXR1cm4gKm1f
cmVzb3VyY2VSZXF1ZXN0V3JhcHBlci5nZXQoKTsKK30KKworV2ViU3RyaW5nIFdlYkNhY2hlZFVS
TFJlcXVlc3Q6OmNoYXJzZXQoKSBjb25zdAoreworICAgIHJldHVybiBXZWJTdHJpbmcobV9wcml2
YXRlLT5jaGFyc2V0KCkpOworfQorCitib29sIFdlYkNhY2hlZFVSTFJlcXVlc3Q6OmZvclByZWxv
YWQoKSBjb25zdAoreworICAgIHJldHVybiBtX3ByaXZhdGUtPmZvclByZWxvYWQoKTsKK30KKwor
V2ViU3RyaW5nIFdlYkNhY2hlZFVSTFJlcXVlc3Q6OmluaXRpYXRvck5hbWUoKSBjb25zdAorewor
ICAgIHJldHVybiBXZWJTdHJpbmcobV9wcml2YXRlLT5pbml0aWF0b3JOYW1lKCkpOworfQorCitX
ZWJFbGVtZW50IFdlYkNhY2hlZFVSTFJlcXVlc3Q6OmluaXRpYXRvckVsZW1lbnQoKSBjb25zdAor
eworICAgIHJldHVybiBXZWJFbGVtZW50KG1fcHJpdmF0ZS0+aW5pdGlhdG9yRWxlbWVudCgpKTsK
K30KKworV2ViQ2FjaGVkVVJMUmVxdWVzdDo6V2ViQ2FjaGVkVVJMUmVxdWVzdChDYWNoZWRSZXNv
dXJjZVJlcXVlc3QqIHJlcXVlc3QpCisgICAgOiBtX3ByaXZhdGUocmVxdWVzdCkKK3sKK30KKwor
V2ViQ2FjaGVkVVJMUmVxdWVzdCYgV2ViQ2FjaGVkVVJMUmVxdWVzdDo6b3BlcmF0b3I9KENhY2hl
ZFJlc291cmNlUmVxdWVzdCogcmVxdWVzdCkKK3sKKyAgICBtX3ByaXZhdGUgPSByZXF1ZXN0Owor
ICAgIHJldHVybiAqdGhpczsKK30KKworY29uc3QgV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1
ZXN0JiBXZWJDYWNoZWRVUkxSZXF1ZXN0Ojp0b0NhY2hlZFJlc291cmNlUmVxdWVzdCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuICptX3ByaXZhdGU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDZlNjU5
YmIwNDY2NTkzODczYWRjMGNhYTM3YmQ0NzM3MGQ2NTIyMzEuLmE2YjAxNjk4NjE3NzRlMzc4ZGNi
ZDJlYTNiNzlkOTJkZDM2OTQyOTcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAxMi0xMS0yMyAgTWFyamEgSMO2bHR0
w6QgIDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0byB0aGUg
RnJhbWVMb2FkZXJDbGllbnQgd2hlbiBhIHJlc291cmNlIGlzIHJlcXVlc3RlZAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDaHJvbWl1bSwgd2hlbiBh
biBleHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisgICAgICAgIHJlcXVlc3QgKHdo
aWNoIGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8KKyAgICAgICAgbm90aWZ5
IGNvbnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQKKyAgICAg
ICAgd2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUgcmVxdWVzdHMgd2Vy
ZQorICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayByZXF1
ZXN0IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVxdWVz
dCBpdHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55IGluZm9ybWF0aW9uIHdoYXQgRE9N
IGVsZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJyZW50bHkgYSBjb250ZW50IHNj
cmlwdCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAgICAgICAgZ3Vlc3Mgd2hpY2gg
cmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50ZXIKKyAgICAgICAgcGFydC4g
QnkgYWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVyIGNhbiBtYWtlCisgICAgICAg
IHRoaXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKERSVFRlc3RSdW5uZXI6OkRSVFRl
c3RSdW5uZXIpOgorICAgICAgICAoRFJUVGVzdFJ1bm5lcjo6ZHVtcFJlc291cmNlUmVxdWVzdENh
bGxiYWNrcyk6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpyZXNldCk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oOgorICAgICAgICAoRFJUVGVzdFJ1
bm5lcik6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpzZXRTaG91bGREdW1wUmVzb3VyY2VSZXF1
ZXN0Q2FsbGJhY2tzKToKKyAgICAgICAgKERSVFRlc3RSdW5uZXI6OnNob3VsZER1bXBSZXNvdXJj
ZVJlcXVlc3RDYWxsYmFja3MpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RTaGVsbC5oOgorICAgICAgICAoVGVzdFNoZWxsOjpzaG91bGREdW1wUmVzb3VyY2VSZXF1ZXN0
Q2FsbGJhY2tzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9z
dC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9zdDo6d2lsbFJlcXVlc3RSZXNvdXJjZSk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaDoKKyAgICAgICAgKFdl
YlZpZXdIb3N0KToKKwogMjAxMi0xMS0yMiAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgW1F0XVtXVFJdIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJ1blVu
dGlsIHNob3VsZCBub3QgZG8gYnVzeSB3YWl0aW5nCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCmluZGV4IDJmODM5N2JlZTQ1MzViZmEwYWZhZDI4
YjAwODQ2ZThlMjMyY2FiODAuLmUyMjU1Yzc5M2I3MDBkOGEwN2QzNGQ2NmE0NTU2ODE1ZmZmODRm
NWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5u
ZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIu
Y3BwCkBAIC0xMzksNiArMTM5LDcgQEAgRFJUVGVzdFJ1bm5lcjo6RFJUVGVzdFJ1bm5lcihUZXN0
U2hlbGwqIHNoZWxsKQogICAgIGJpbmRNZXRob2QoImR1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJh
Y2siLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjayk7CiAgICAg
YmluZE1ldGhvZCgiZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MiLCAmRFJUVGVz
dFJ1bm5lcjo6ZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MpOwogICAgIGJpbmRN
ZXRob2QoImR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFJl
c291cmNlTG9hZENhbGxiYWNrcyk7CisgICAgYmluZE1ldGhvZCgiZHVtcFJlc291cmNlUmVxdWVz
dENhbGxiYWNrcyIsICZEUlRUZXN0UnVubmVyOjpkdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tz
KTsKICAgICBiaW5kTWV0aG9kKCJkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyIsICZEUlRU
ZXN0UnVubmVyOjpkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyk7CiAgICAgYmluZE1ldGhv
ZCgiZHVtcFNlbGVjdGlvblJlY3QiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFNlbGVjdGlvblJlY3Qp
OwogICAgIGJpbmRNZXRob2QoImR1bXBTdGF0dXNDYWxsYmFja3MiLCAmRFJUVGVzdFJ1bm5lcjo6
ZHVtcFdpbmRvd1N0YXR1c0NoYW5nZXMpOwpAQCAtMzIyLDYgKzMyMywxMiBAQCB2b2lkIERSVFRl
c3RSdW5uZXI6OmR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoY29uc3QgQ3BwQXJndW1lbnRMaXN0
JiwgQ3BwVmFyaWFudAogICAgIHJlc3VsdC0+c2V0TnVsbCgpOwogfQogCit2b2lkIERSVFRlc3RS
dW5uZXI6OmR1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoY29uc3QgQ3BwQXJndW1lbnRMaXN0
JiwgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIG1fZHVtcFJlc291cmNlUmVxdWVzdENhbGxi
YWNrcyA9IHRydWU7CisgICAgcmVzdWx0LT5zZXROdWxsKCk7Cit9CisKIHZvaWQgRFJUVGVzdFJ1
bm5lcjo6ZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoY29uc3QgQ3BwQXJndW1lbnRMaXN0
JiwgQ3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIG1fZHVtcFJlc291cmNlUmVzcG9uc2VNSU1F
VHlwZXMgPSB0cnVlOwpAQCAtNTU2LDYgKzU2Myw3IEBAIHZvaWQgRFJUVGVzdFJ1bm5lcjo6cmVz
ZXQoKQogICAgIG1fZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjayA9IGZhbHNlOwogICAgIG1f
ZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBS
ZXNvdXJjZUxvYWRDYWxsYmFja3MgPSBmYWxzZTsKKyAgICBtX2R1bXBSZXNvdXJjZVJlcXVlc3RD
YWxsYmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzID0g
ZmFsc2U7CiAgICAgbV9kdW1wQmFja0ZvcndhcmRMaXN0ID0gZmFsc2U7CiAgICAgbV9kdW1wQ2hp
bGRGcmFtZVNjcm9sbFBvc2l0aW9ucyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oCmluZGV4IDlmMDJlMWM1MzE3MGNjYTFmY2E4ZDc2MmUx
MjcyYjQ3MjExZTA1MmEuLjQ5ZjI3YzM2YmMxYzVmN2I4ZjI2NTcxMmM3NTE1YTY5ZTQ0NTBlOGYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIu
aAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmgKQEAg
LTExNiw3ICsxMTYsMTIgQEAgcHVibGljOgogICAgIC8vIGxpbmUgZm9yIGVhY2ggcmVzb3VyY2Ug
bG9hZCBjYWxsYmFjay4gSXQgdGFrZXMgbm8gYXJndW1lbnRzLCBhbmQgaWdub3JlcwogICAgIC8v
IGFueSB0aGF0IG1heSBiZSBwcmVzZW50LgogICAgIHZvaWQgZHVtcFJlc291cmNlTG9hZENhbGxi
YWNrcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7ICAgIAotICAgIAorCisg
ICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0aGF0IHRlbGxzIHRoZSB0ZXN0X3NoZWxs
IHRvIHByaW50IGEgbGluZSBvZgorICAgIC8vIGRlc2NyaXB0aXZlIHRleHQgZm9yIGVhY2ggZWxl
bWVudCB0aGF0IHJlcXVlc3RlZCBhIHJlc291cmNlLiBJdCB0YWtlcyBubworICAgIC8vIGFyZ3Vt
ZW50cywgYW5kIGlnbm9yZXMgYW55IHRoYXQgbWF5IGJlIHByZXNlbnQuCisgICAgdm9pZCBkdW1w
UmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlh
bnQqKTsKKwogICAgIC8vIFRoaXMgZnVuY3Rpb24gc2V0cyBhIGZsYWcgdGhhdCB0ZWxscyB0aGUg
dGVzdF9zaGVsbCB0byBkdW1wIHRoZSBNSU1FIHR5cGUKICAgICAvLyBmb3IgZWFjaCByZXNvdXJj
ZSB0aGF0IHdhcyBsb2FkZWQuIEl0IHRha2VzIG5vIGFyZ3VtZW50cywgYW5kIGlnbm9yZXMgYW55
CiAgICAgLy8gdGhhdCBtYXkgYmUgcHJlc2VudC4KQEAgLTMxOCw2ICszMjMsOCBAQCBwdWJsaWM6
CiAgICAgYm9vbCBzaG91bGREdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcygpIHsg
cmV0dXJuIG1fZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3M7IH0KICAgICB2b2lk
IHNldFNob3VsZER1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzKGJvb2wgdmFsdWUp
IHsgbV9kdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcyA9IHZhbHVlOyB9CiAgICAg
Ym9vbCBzaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCkge3JldHVybiBtX2R1bXBSZXNv
dXJjZUxvYWRDYWxsYmFja3M7IH0KKyAgICB2b2lkIHNldFNob3VsZER1bXBSZXNvdXJjZVJlcXVl
c3RDYWxsYmFja3MoYm9vbCB2YWx1ZSkgeyBtX2R1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3Mg
PSB2YWx1ZTsgfQorICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcygp
IHsgcmV0dXJuIG1fZHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrczsgfQogICAgIHZvaWQgc2V0
U2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoYm9vbCB2YWx1ZSkgeyBtX2R1bXBS
ZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzID0gdmFsdWU7IH0KICAgICBib29sIHNob3VsZER1bXBS
ZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCkge3JldHVybiBtX2R1bXBSZXNvdXJjZVJlc3BvbnNl
TUlNRVR5cGVzOyB9CiAgICAgYm9vbCBzaG91bGREdW1wU3RhdHVzQ2FsbGJhY2tzKCkgeyByZXR1
cm4gbV9kdW1wV2luZG93U3RhdHVzQ2hhbmdlczsgfQpAQCAtNDUxLDcgKzQ1OCwxMSBAQCBwcml2
YXRlOgogICAgIC8vIElmIHRydWUsIHRoZSB0ZXN0X3NoZWxsIHdpbGwgb3V0cHV0IGEgZGVzY3Jp
cHRpdmUgbGluZSBmb3IgZWFjaCByZXNvdXJjZQogICAgIC8vIGxvYWQgY2FsbGJhY2suCiAgICAg
Ym9vbCBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3M7Ci0gICAgCisKKyAgICAvLyBJZiB0cnVl
LCB0aGUgdGVzdF9zaGVsbCB3aWxsIG91dHB1dCBhIGRlc2NyaXB0aXZlIGxpbmUgZm9yIGVhY2gg
cmVzb3VyY2UKKyAgICAvLyByZXF1ZXN0IGNhbGxiYWNrLgorICAgIGJvb2wgbV9kdW1wUmVzb3Vy
Y2VSZXF1ZXN0Q2FsbGJhY2tzOworCiAgICAgLy8gSWYgdHJ1ZSwgdGhlIHRlc3Rfc2hlbGwgd2ls
bCBvdXRwdXQgdGhlIE1JTUUgdHlwZSBmb3IgZWFjaCByZXNvdXJjZSB0aGF0IAogICAgIC8vIHdh
cyBsb2FkZWQuCiAgICAgYm9vbCBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmggYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAppbmRleCA5MTIwMTIxZGIzODcx
ZGY5MjkyMDliODk5NGU5ZGMwZDYyYzcyMWRiLi4zMDZmMzVjZDFlODI4ZDgzZTE3YjgzYzU4ZDQy
YzQzYjllZGIyMWRhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0U2hlbGwuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwu
aApAQCAtMTEyLDYgKzExMiw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0Rm9jdXMoV2ViS2l0
OjpXZWJXaWRnZXQqLCBib29sIGVuYWJsZSk7CiAgICAgYm9vbCBzaG91bGREdW1wRnJhbWVMb2Fk
Q2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5nIHx8IG1fdGVzdElz
UGVuZGluZykgJiYgdGVzdFJ1bm5lcigpLT5zaG91bGREdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCk7
IH0KKyAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoKSBjb25zdCB7
IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiB0ZXN0UnVu
bmVyKCktPnNob3VsZER1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoKTsgfQogICAgIGJvb2wg
c2hvdWxkRHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MoKSBjb25zdCB7IHJldHVy
biAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiB0ZXN0UnVubmVyKCkt
PnNob3VsZER1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzKCk7IH0KICAgICBib29s
IHNob3VsZER1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSBjb25zdCAgeyByZXR1cm4gKG1fdGVz
dElzUHJlcGFyaW5nIHx8IG1fdGVzdElzUGVuZGluZykgJiYgdGVzdFJ1bm5lcigpLT5zaG91bGRE
dW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCk7IH0KICAgICBib29sIHNob3VsZER1bXBSZXNvdXJj
ZVJlc3BvbnNlTUlNRVR5cGVzKCkgY29uc3QgIHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8
fCBtX3Rlc3RJc1BlbmRpbmcpICYmIHRlc3RSdW5uZXIoKS0+c2hvdWxkRHVtcFJlc291cmNlUmVz
cG9uc2VNSU1FVHlwZXMoKTsgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViVmlld0hvc3QuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2Vi
Vmlld0hvc3QuY3BwCmluZGV4IGJhZjhkMGQ5ZTNkMzYzNGYxYmE1Y2NhNGUyMjExOWQ1NWE1NzZl
MjEuLmQ2NTJjODFlZTkwYTNlNTJjNTdkMWEzODA2MjYxMzg4YTEzZDYwZmIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKQEAgLTM5LDYgKzM5LDcg
QEAKICNpbmNsdWRlICJUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJUZXN0
U2hlbGwuaCIKICNpbmNsdWRlICJUZXN0V2ViUGx1Z2luLmgiCisjaW5jbHVkZSAiV2ViQ2FjaGVk
VVJMUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYkNvbnNvbGVNZXNzYWdlLmgiCiAjaW5jbHVkZSAi
V2ViQ29udGV4dE1lbnVEYXRhLmgiCiAjaW5jbHVkZSAiV2ViRE9NTWVzc2FnZUV2ZW50LmgiCkBA
IC0xMTM5LDYgKzExNDAsMjMgQEAgc3RhdGljIGJvb2wgaG9zdElzVXNlZEJ5U29tZVRlc3RzVG9H
ZW5lcmF0ZUVycm9yKGNvbnN0IHN0cmluZyYgaG9zdCkKICAgICByZXR1cm4gaG9zdCA9PSAiMjU1
LjI1NS4yNTUuMjU1IjsKIH0KIAordm9pZCBXZWJWaWV3SG9zdDo6d2lsbFJlcXVlc3RSZXNvdXJj
ZShXZWJLaXQ6OldlYkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViS2l0OjpXZWJDYWNoZWRVUkxSZXF1
ZXN0JiByZXF1ZXN0KQoreworICAgIGlmIChtX3NoZWxsLT5zaG91bGREdW1wUmVzb3VyY2VSZXF1
ZXN0Q2FsbGJhY2tzKCkpIHsKKyAgICAgICAgcHJpbnRGcmFtZURlc2NyaXB0aW9uKGZyYW1lKTsK
KyAgICAgICAgV2ViRWxlbWVudCBlbGVtZW50ID0gcmVxdWVzdC5pbml0aWF0b3JFbGVtZW50KCk7
CisgICAgICAgIGlmICghZWxlbWVudC5pc051bGwoKSkgeworICAgICAgICAgICAgcHJpbnRmKCIg
LSBlbGVtZW50IHdpdGggIik7CisgICAgICAgICAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUo
ImlkIikpCisgICAgICAgICAgICAgICAgcHJpbnRmKCJpZCAnJXMnIiwgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoImlkIikudXRmOCgpLmRhdGEoKSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgcHJpbnRmKCJubyBpZCIpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHByaW50
ZigiIC0gJXMiLCByZXF1ZXN0LmluaXRpYXRvck5hbWUoKS51dGY4KCkuZGF0YSgpKTsKKyAgICAg
ICAgcHJpbnRmKCIgcmVxdWVzdGVkICclcydcbiIsIFVSTERlc2NyaXB0aW9uKHJlcXVlc3QudXJs
UmVxdWVzdCgpLnVybCgpKS5jX3N0cigpKTsKKyAgICB9Cit9CisKIHZvaWQgV2ViVmlld0hvc3Q6
OndpbGxTZW5kUmVxdWVzdChXZWJGcmFtZSogZnJhbWUsIHVuc2lnbmVkIGlkZW50aWZpZXIsIFdl
YlVSTFJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFdlYlVSTFJlc3BvbnNlJiByZWRpcmVjdFJlc3Bv
bnNlKQogewogICAgIC8vIE5lZWQgdG8gdXNlIEdVUkwgZm9yIGhvc3QoKSBhbmQgU2NoZW1lSXMo
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3Qu
aCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKaW5kZXggZWI0
MWQ1NGE0NmQzNTZlYTIwNjNjNjNjZDA4N2Y0Y2E1YzJmZjA1MS4uOTc5MDZlYjI2NzJmYjYwOTg5
ODY0MGEwZmMyOWQ5NDJhM2EzNmNmMiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJWaWV3SG9zdC5oCkBAIC0yNjAsNiArMjYwLDcgQEAgY2xhc3MgV2ViVmlld0hvc3QgOiBw
dWJsaWMgV2ViS2l0OjpXZWJWaWV3Q2xpZW50LCBwdWJsaWMgV2ViS2l0OjpXZWJGcmFtZUNsaWVu
dCwKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlTG9jYXRpb25XaXRoaW5QYWdlKFdlYktpdDo6
V2ViRnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgYXNzaWduSWRlbnRpZmllclRvUmVxdWVzdChX
ZWJLaXQ6OldlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgY29uc3QgV2ViS2l0OjpXZWJV
UkxSZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUlkZW50aWZpZXJGb3JSZXF1ZXN0
KHVuc2lnbmVkIGlkZW50aWZpZXIpOworICAgIHZpcnR1YWwgdm9pZCB3aWxsUmVxdWVzdFJlc291
cmNlKFdlYktpdDo6V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6OldlYkNhY2hlZFVSTFJlcXVlc3Qm
KTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KFdlYktpdDo6V2ViRnJhbWUqLCB1
bnNpZ25lZCBpZGVudGlmaWVyLCBXZWJLaXQ6OldlYlVSTFJlcXVlc3QmLCBjb25zdCBXZWJLaXQ6
OldlYlVSTFJlc3BvbnNlJik7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShX
ZWJLaXQ6OldlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgY29uc3QgV2ViS2l0OjpXZWJV
UkxSZXNwb25zZSYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hSZXNvdXJjZUxvYWQoV2Vi
S2l0OjpXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50aWZpZXIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGRlMWEzOTFiMmI5
Y2QzNjNiYmJkNWVmMDQyYjViMTgwOTgzODNjMDcuLmM3OTg1MTc1Y2Y2ZjNmYzM5ZDUzOTM3OTAw
OTkyZjQ3NzBlMGExOWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMi0xMS0yMyAgTWFyamEg
SMO2bHR0w6QgIDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0
byB0aGUgRnJhbWVMb2FkZXJDbGllbnQgd2hlbiBhIHJlc291cmNlIGlzIHJlcXVlc3RlZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDaHJvbWl1bSwg
d2hlbiBhbiBleHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisgICAgICAgIHJlcXVl
c3QgKHdoaWNoIGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8KKyAgICAgICAg
bm90aWZ5IGNvbnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQK
KyAgICAgICAgd2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUgcmVxdWVz
dHMgd2VyZQorICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29y
ayByZXF1ZXN0IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2Ug
cmVxdWVzdCBpdHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55IGluZm9ybWF0aW9uIHdo
YXQgRE9NIGVsZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJyZW50bHkgYSBjb250
ZW50IHNjcmlwdCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAgICAgICAgZ3Vlc3Mg
d2hpY2ggcmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50ZXIKKyAgICAgICAg
cGFydC4gQnkgYWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVyIGNhbiBtYWtlCisg
ICAgICAgIHRoaXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9j
aHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291
cmNlLXJlcXVlc3QtY2FsbGJhY2tzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTExLTIyICBLcmlzdMOz
ZiBLb3N6dHnDsyAgPGtrcmlzdG9mQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBbUXRdIFVu
cmV2aWV3ZWQgZ2FyZGVuaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1
ZXN0LWNhbGxiYWNrcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTgzOTllYzlhMjE0OGFiZDg3
NTYxN2RkMjQ2YzgxMWE5ZTJlMzI0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJhY2tzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDIxIEBACittYWluIGZyYW1lIC0gY3NzIHJlcXVlc3RlZCAn
Z3c0MzIwNDcudHRmJworbWFpbiBmcmFtZSAtIGNzcyByZXF1ZXN0ZWQgJ2dyZWVuYm94LWhvdHNw
b3QzNS00LmN1cicKK21haW4gZnJhbWUgLSBlbGVtZW50IHdpdGggaWQgJ3dpdGgtYmFja2dyb3Vu
ZCcgcmVxdWVzdGVkICdsZW5uYS5wbmcnCittYWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICdp
bWctbm9ybWFsJyByZXF1ZXN0ZWQgJ2RpY2UucG5nJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0
aCBpZCAnaW1nLWNoYW5naW5nJyByZXF1ZXN0ZWQgJ2RpY2UucG5nJworbWFpbiBmcmFtZSAtIGVs
ZW1lbnQgd2l0aCBpZCAnaW1nLW5vdC10aGVyZScgcmVxdWVzdGVkICdub3QtZXhpc3RpbmcucG5n
JworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBubyBpZCByZXF1ZXN0ZWQgJ2pzLXRlc3QtcG9z
dC5qcycKK21haW4gZnJhbWUgLSBlbGVtZW50IHdpdGggaWQgJ2ltZy1jaGFuZ2luZycgcmVxdWVz
dGVkICdtdS5wbmcnCittYWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICdpbWctY3JlYXRlZCcg
cmVxdWVzdGVkICdvdmFsLnBuZycKK21haW4gZnJhbWUgLSBlbGVtZW50IHdpdGggaWQgJ2ltZy1j
cmVhdGVkLTInIHJlcXVlc3RlZCAncG5nX3Blcl9yb3dfYWxwaGEucG5nJworbWFpbiBmcmFtZSAt
IGVsZW1lbnQgd2l0aCBpZCAnc2NyaXB0LWNyZWF0ZWQnIHJlcXVlc3RlZCAnZW1wdHktc2NyaXB0
LmpzJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBpZCAnd2l0aC1iYWNrZ3JvdW5kJyByZXF1
ZXN0ZWQgJ3BhbGF0dGVkLWNvbG9yLXBuZy1nYW1tYS1vbmUtY29sb3ItcHJvZmlsZS5wbmcnCitU
aGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGNvcnJlY3QgY2FsbGJhY2tzIGZvciByZXNvdXJjZSBy
ZXF1ZXN0cyBhcmUgaW52b2tlZC4gSXQgcGFzc2VzIGlmIHlvdSBzZWUgdGhlIGNhbGxiYWNrcyBm
b3IgZWlnaHQgcmVzb3VyY2VzLgorCisgICAgCisKK1BBU1MgCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvcmVzb3VyY2UtcmVxdWVzdC1jYWxsYmFja3Mu
aHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNl
LXJlcXVlc3QtY2FsbGJhY2tzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjBlZmRlZWZiYmRiZmU2NjdlZDdl
Mzk4NDIzZDRiZWUzNzY1N2E2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJhY2tzLmh0bWwK
QEAgLTAsMCArMSw3NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlw
dCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQ+Cit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CitpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKKyAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVu
bmVyLmR1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoKTsKK30gZWxzZSB7CisgICAgZG9jdW1l
bnQud3JpdGUoIlRoaXMgdGVzdCBjYW5ub3QgcnVuIHdpdGhvdXQgYSB0ZXN0UnVubmVyIik7Cit9
CisKK2Z1bmN0aW9uIHJlcXVlc3RNb3JlUmVzb3VyY2VzKCkgeworICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJpbWctY2hhbmdpbmciKS5zcmMgPSAiLi4vLi4vLi4vLi4vZmFzdC9pbWFnZXMv
cmVzb3VyY2VzL211LnBuZyI7CisKKyAgICB2YXIgY3JlYXRlZEltYWdlID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiaW1nIik7CisgICAgY3JlYXRlZEltYWdlLmlkID0gImltZy1jcmVhdGVkIjsK
KyAgICBjcmVhdGVkSW1hZ2Uuc3JjID0gIi4uLy4uLy4uLy4uL2Zhc3QvaW1hZ2VzL3Jlc291cmNl
cy9vdmFsLnBuZyI7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImltYWdlcyIpLmFwcGVu
ZENoaWxkKGNyZWF0ZWRJbWFnZSk7CisKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgid2l0
aC1iYWNrZ3JvdW5kIikuc3R5bGUuYmFja2dyb3VuZEltYWdlID0gInVybCguLi8uLi8uLi8uLi9m
YXN0L2ltYWdlcy9yZXNvdXJjZXMvcGFsYXR0ZWQtY29sb3ItcG5nLWdhbW1hLW9uZS1jb2xvci1w
cm9maWxlLnBuZykiOworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm1vcmUtaW1hZ2Vz
IikuaW5uZXJIVE1MID0gIjxpbWcgaWQ9J2ltZy1jcmVhdGVkLTInIHNyYz0nLi4vLi4vLi4vLi4v
ZmFzdC9pbWFnZXMvcmVzb3VyY2VzL3BuZ19wZXJfcm93X2FscGhhLnBuZyc+IjsKKworICAgIHZh
ciBjcmVhdGVkU2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CisgICAg
Y3JlYXRlZFNjcmlwdC5pZCA9ICJzY3JpcHQtY3JlYXRlZCI7CisgICAgY3JlYXRlZFNjcmlwdC5z
cmMgPSAiLi4vLi4vLi4vLi4vZmFzdC9sb2FkZXIvcmVzb3VyY2VzL2VtcHR5LXNjcmlwdC5qcyI7
CisgICAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChjcmVhdGVkU2NyaXB0KTsKKworICAgIHNl
dFRpbWVvdXQoZmluaXNoVGVzdCwgMCk7Cit9CisKK2Z1bmN0aW9uIGZpbmlzaFRlc3QoKSB7Cisg
ICAgdGVzdFBhc3NlZCgiIik7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9Cis8L3NjcmlwdD4KKzxz
dHlsZT4KKyN3aXRoLWJhY2tncm91bmQKK3sKKyAgICBiYWNrZ3JvdW5kLWltYWdlOnVybCgiLi4v
Li4vLi4vLi4vZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2xlbm5hLnBuZyIpOworfQorYm9keQorewor
ICAgIGN1cnNvcjp1cmwoIi4uLy4uLy4uLy4uL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9ncmVlbmJv
eC1ob3RzcG90MzUtNC5jdXIiKSwgcG9pbnRlcjsKK30KK0Bmb250LWZhY2UKK3sKKyAgICBmb250
LWZhbWlseTogY3VzdG9tX2ZvbnQ7CisgICAgc3JjOiB1cmwoIi4uLy4uLy4uLy4uL2Zhc3QvdGV4
dC9yZXNvdXJjZXMvZ3c0MzIwNDcudHRmIik7Cit9CitwCit7CisgICAgZm9udC1mYW1pbHk6IGN1
c3RvbV9mb250OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2V0VGltZW91
dChyZXF1ZXN0TW9yZVJlc291cmNlcywgMTAwKTsiPgorPGRpdiBpZD0id2l0aC1iYWNrZ3JvdW5k
Ij4KKzxwPgorICAgIFRoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgY29ycmVjdCBjYWxsYmFja3Mg
Zm9yIHJlc291cmNlIHJlcXVlc3RzIGFyZQorICAgIGludm9rZWQuIEl0IHBhc3NlcyBpZiB5b3Ug
c2VlIHRoZSBjYWxsYmFja3MgZm9yIGVpZ2h0IHJlc291cmNlcy4KKzwvcD4KKzwvZGl2PgorPGRp
diBpZD0iaW1hZ2VzIj4KKzxpbWcgaWQ9ImltZy1ub3JtYWwiIHNyYz0iLi4vLi4vLi4vLi4vZmFz
dC9pbWFnZXMvcmVzb3VyY2VzL2RpY2UucG5nIiAvPgorPGltZyBpZD0iaW1nLWNoYW5naW5nIiBz
cmM9Ii4uLy4uLy4uLy4uL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9kaWNlLnBuZyIgLz4KKzxpbWcg
aWQ9ImltZy1mYWlsIiAvPgorPGltZyBpZD0iaW1nLW5vdC10aGVyZSIgc3JjPSJub3QtZXhpc3Rp
bmcucG5nIiAvPgorPC9kaXY+Cis8ZGl2IGlkPSJtb3JlLWltYWdlcyI+Cis8L2Rpdj4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176266</attachid>
            <date>2012-11-27 07:44:09 -0800</date>
            <delta_ts>2012-11-27 09:21:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92761-20121127164145.patch</filename>
            <type>text/plain</type>
            <size>31400</size>
            <attacher name="Marja Hölttä">marja</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc3ZDA3MGQ1YmViYjY0
Yjc4MTIyZjM5ZDJjODMwMzQyNGEzYzljZS4uMjRlMjljN2RkYTM3Yzg0M2U3NDJiNTMzYTM0OTcw
NDhmODc1M2RiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTExLTI3ICBNYXJq
YSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tz
IHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCB3aGVuIGEgcmVzb3VyY2UgaXMgcmVxdWVzdGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc2MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIENocm9taXVt
LCB3aGVuIGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2VscyBhIG5ldHdvcmsKKyAgICAgICAgcmVx
dWVzdCAod2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2VzcyksIHdlJ2QgbGlrZSB0bworICAgICAg
ICBub3RpZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcgb24gdGhlIGN1cnJlbnQgcGFnZSBhYm91
dAorICAgICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQgdG8gbG9hZCBiZWNhdXNlIHRoZSByZXF1
ZXN0cyB3ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMgb3Bwb3NlZCB0byBlLmcuIHRoZSBuZXR3
b3JrIHJlcXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qgd29yaykuIFNpbmNlIHRoZSByZXNvdXJj
ZSByZXF1ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAgICBjYXJyeSBhbnkgaW5mb3JtYXRpb24g
d2hhdCBET00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3IsCisgICAgICAgIGN1cnJlbnRseSBhIGNv
bnRlbnQgc2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERPTSB0cmVlIGFuZAorICAgICAgICBndWVz
cyB3aGljaCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxlZCBieSBpdHMgY291bnRlcgorICAgICAg
ICBwYXJ0LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tzLCB0aGUgZW1iZWRkZXIgY2FuIG1ha2UK
KyAgICAgICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3RseS4KKworICAgICAgICBUZXN0OiBwbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy5odG1s
CisKKyAgICAgICAgKiBsb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoV2lsbFJl
cXVlc3RSZXNvdXJjZSk6CisgICAgICAgIChGcmFtZUxvYWRlckNsaWVudCk6CisgICAgICAgICog
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZFJlc291cmNlTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UpOgorCiAyMDEyLTExLTIyICBL
ZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW5hbWUgdGhl
ICJlZGVuIiBiaXQgdG8gc29tZXRoaW5nIG1vcmUgZGVzY3JpcHRpdmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKaW5kZXggZDRkMzE3MWYwMTdmMzkwYTZjODllMjA4NjZhY2E5NDRmNTdlZWE2NC4u
OTI3MmM0ZWVhMTQxNGZlNmVjM2UzMTBiNDVhOWFiNGYwMGYxOTRlMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NiBAQAorMjAxMi0xMS0yNyAgTWFyamEgSMO2bHR0w6Qg
IDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRkIGNhbGxiYWNrcyB0byB0aGUgRnJh
bWVMb2FkZXJDbGllbnQgd2hlbiBhIHJlc291cmNlIGlzIHJlcXVlc3RlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTI3NjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBDaHJvbWl1bSwgd2hlbiBhbiBl
eHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisgICAgICAgIHJlcXVlc3QgKHdoaWNo
IGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8KKyAgICAgICAgbm90aWZ5IGNv
bnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50IHBhZ2UgYWJvdXQKKyAgICAgICAg
d2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUgcmVxdWVzdHMgd2VyZQor
ICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUgbmV0d29yayByZXF1ZXN0
IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVzb3VyY2UgcmVxdWVzdCBp
dHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55IGluZm9ybWF0aW9uIHdoYXQgRE9NIGVs
ZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJyZW50bHkgYSBjb250ZW50IHNjcmlw
dCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAgICAgICAgZ3Vlc3Mgd2hpY2ggcmVx
dWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50ZXIKKyAgICAgICAgcGFydC4gQnkg
YWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVyIGNhbiBtYWtlCisgICAgICAgIHRo
aXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAg
ICAqIHB1YmxpYy9XZWJDYWNoZWRVUkxSZXF1ZXN0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKFdlYkNhY2hlZFVSTFJlcXVlc3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJD
YWNoZWRVUkxSZXF1ZXN0Ojp+V2ViQ2FjaGVkVVJMUmVxdWVzdCk6CisgICAgICAgICogcHVibGlj
L1dlYkZyYW1lQ2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2ViRnJhbWVD
bGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUNsaWVudDo6d2lsbFJlcXVlc3RSZXNv
dXJjZSk6CisgICAgICAgICogc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hXaWxsUmVxdWVzdFJlc291
cmNlKToKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL0ZyYW1lTG9hZGVyQ2xpZW50
SW1wbC5oOgorICAgICAgICAoRnJhbWVMb2FkZXJDbGllbnRJbXBsKToKKyAgICAgICAgKiBzcmMv
V2ViQ2FjaGVkVVJMUmVxdWVzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViQ2FjaGVkVVJMUmVxdWVzdDo6cmVzZXQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJDYWNoZWRVUkxSZXF1ZXN0Ojp1cmxSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Q2FjaGVkVVJMUmVxdWVzdDo6Y2hhcnNldCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hlZFVS
TFJlcXVlc3Q6OmZvclByZWxvYWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZWRVUkxSZXF1
ZXN0Ojppbml0aWF0b3JOYW1lKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkVVJMUmVxdWVz
dDo6aW5pdGlhdG9yRWxlbWVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hlZFVSTFJlcXVl
c3Q6OldlYkNhY2hlZFVSTFJlcXVlc3QpOgorCiAyMDEyLTExLTIxICBUaWVuLVJlbiBDaGVuICA8
dHJjaGVuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dIERldmljZSBzY2FsZSBm
YWN0b3Igc2hvdWxkIGJlIG5vLW9wIHdoZW4gYXBwbHlEZXZpY2VTY2FsZUZhY3RvckluQ29tcG9z
aXRvciA9PSAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJD
bGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oCmluZGV4
IDg1ZTRlZWNmMTkyOTQxZjcwMjNlZWE2ZGJlZGQwMjFlZjc0MzJiYWMuLmE2ZmRiYWJhZTJiYWZi
MmQxZGZkMmQ4YjA4MjRlMWJhNzI2NTZjOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9GcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFt
ZUxvYWRlckNsaWVudC5oCkBAIC02Myw2ICs2Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
ICAgIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOwogICAgIGNsYXNzIENhY2hlZEZyYW1l
OworICAgIGNsYXNzIENhY2hlZFJlc291cmNlUmVxdWVzdDsKICAgICBjbGFzcyBDb2xvcjsKICAg
ICBjbGFzcyBET01XaW5kb3dFeHRlbnNpb247CiAgICAgY2xhc3MgRE9NV3JhcHBlcldvcmxkOwpA
QCAtMTc5LDYgKzE4MCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFs
IHZvaWQgZGlzcGF0Y2hVbmFibGVUb0ltcGxlbWVudFBvbGljeShjb25zdCBSZXNvdXJjZUVycm9y
JikgPSAwOwogCisgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxSZXF1ZXN0UmVzb3Vy
Y2UoQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0KikgeyB9CisKICAgICAgICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChQYXNzUmVmUHRyPEZvcm1TdGF0ZT4pID0gMDsKICAg
ICAgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoV2lsbFN1Ym1pdEZvcm0oRnJhbWVQb2xpY3lGdW5j
dGlvbiwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+KSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDgzYTVhMWNl
Njc0Y2M3MmM1ZjExMDA5NmNiMzQ4YWIwODI1ZTRkNWYuLmI5NDZmZTRlY2YzYjhjNzMwNzcxMTEx
NmE2YzlhOWU5YTI3OGJhNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtNDIzLDYgKzQyMyw5IEBAIENhY2hlZFJl
c291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6cmVxdWVz
dFJlc291cmNlKENhY2hlCiAgICAgaWYgKCFjYW5SZXF1ZXN0KHR5cGUsIHVybCwgcmVxdWVzdC5m
b3JQcmVsb2FkKCkpKQogICAgICAgICByZXR1cm4gMDsKIAorICAgIGlmIChGcmFtZSogZiA9IGZy
YW1lKCkpCisgICAgICAgIGYtPmxvYWRlcigpLT5jbGllbnQoKS0+ZGlzcGF0Y2hXaWxsUmVxdWVz
dFJlc291cmNlKCZyZXF1ZXN0KTsKKwogICAgIGlmIChtZW1vcnlDYWNoZSgpLT5kaXNhYmxlZCgp
KSB7CiAgICAgICAgIERvY3VtZW50UmVzb3VyY2VNYXA6Oml0ZXJhdG9yIGl0ID0gbV9kb2N1bWVu
dFJlc291cmNlcy5maW5kKHVybC5zdHJpbmcoKSk7CiAgICAgICAgIGlmIChpdCAhPSBtX2RvY3Vt
ZW50UmVzb3VyY2VzLmVuZCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKaW5kZXggMGRk
NTNiZmEzN2ZlMzFmOTNkYjAyY2IwN2VkMzA1OWQ0M2RjMDZkZS4uOGFhZTk3ZjU5OTY0YmU5MmRi
YWRlODYyZGM4ZjdlNDU0NTIwMmE5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9XZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cApAQCAt
MTA4LDYgKzEwOCw3IEBACiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJCaW5kaW5ncy5oJywK
ICAgICAgICAgICAgICAgICAncHVibGljL1dlYkJsb2IuaCcsCiAgICAgICAgICAgICAgICAgJ3B1
YmxpYy9XZWJDYWNoZS5oJywKKyAgICAgICAgICAgICAgICAncHVibGljL1dlYkNhY2hlZFVSTFJl
cXVlc3QuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDb2xvckNob29zZXIuaCcsCiAg
ICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDb2xvckNob29zZXJDbGllbnQuaCcsCiAgICAgICAg
ICAgICAgICAgJ3B1YmxpYy9XZWJDb2xvck5hbWUuaCcsCkBAIC00ODksNiArNDkwLDcgQEAKICAg
ICAgICAgICAgICAgICAnc3JjL1dlYkJsb2IuY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dl
YkJsb2JEYXRhLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJDYWNoZS5jcHAnLAorICAg
ICAgICAgICAgICAgICdzcmMvV2ViQ2FjaGVkVVJMUmVxdWVzdC5jcHAnLAogICAgICAgICAgICAg
ICAgICdzcmMvV2ViQ29sb3JOYW1lLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJDb21t
b24uY3BwJywKICAgICAgICAgICAgICAgICAnc3JjL1dlYkNvbXBvc2l0b3JJbnB1dEhhbmRsZXJJ
bXBsLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJD
YWNoZWRVUkxSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDYWNo
ZWRVUkxSZXF1ZXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGE3ODE5ZTgyN2FmNDhiZTUzMTM2NjRlZjFkYzQw
OTI2NTljMDdiMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkNhY2hlZFVSTFJlcXVlc3QuaApAQCAtMCwwICsxLDczIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlv
bi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJDYWNo
ZWRVUkxSZXF1ZXN0X2gKKyNkZWZpbmUgV2ViQ2FjaGVkVVJMUmVxdWVzdF9oCisKKyNpbmNsdWRl
ICJXZWJFbGVtZW50LmgiCisjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ29tbW9uLmgiCisjaW5jbHVk
ZSAicGxhdGZvcm0vV2ViUHJpdmF0ZU93blB0ci5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJTdHJp
bmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q7
IH0KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkVsZW1lbnQ7CitjbGFzcyBXZWJT
dHJpbmc7CitjbGFzcyBXZWJVUkxSZXF1ZXN0OworY2xhc3MgV3JhcHBlZFJlc291cmNlUmVxdWVz
dDsKKworY2xhc3MgV2ViQ2FjaGVkVVJMUmVxdWVzdCB7CitwdWJsaWM6CisgICAgfldlYkNhY2hl
ZFVSTFJlcXVlc3QoKSB7IHJlc2V0KCk7IH0KKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgcmVzZXQo
KTsKKworICAgIFdFQktJVF9FWFBPUlQgY29uc3QgV2ViVVJMUmVxdWVzdCYgdXJsUmVxdWVzdCgp
IGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIGNoYXJzZXQoKSBjb25zdDsKKyAg
ICBXRUJLSVRfRVhQT1JUIGJvb2wgZm9yUHJlbG9hZCgpIGNvbnN0OworICAgIFdFQktJVF9FWFBP
UlQgV2ViU3RyaW5nIGluaXRpYXRvck5hbWUoKSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIFdl
YkVsZW1lbnQgaW5pdGlhdG9yRWxlbWVudCgpIGNvbnN0OworCisjaWYgV0VCS0lUX0lNUExFTUVO
VEFUSU9OCisgICAgZXhwbGljaXQgV2ViQ2FjaGVkVVJMUmVxdWVzdChXZWJDb3JlOjpDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QqKTsKKyNlbmRpZgorCitwcml2YXRlOgorICAgIFdlYkNhY2hlZFVSTFJl
cXVlc3QoY29uc3QgV2ViQ2FjaGVkVVJMUmVxdWVzdCYpOworICAgIFdlYkNhY2hlZFVSTFJlcXVl
c3QmIG9wZXJhdG9yPShjb25zdCBXZWJDYWNoZWRVUkxSZXF1ZXN0Jik7CisKKyAgICBXZWJDb3Jl
OjpDYWNoZWRSZXNvdXJjZVJlcXVlc3QqIG1fcHJpdmF0ZTsKKyAgICBtdXRhYmxlIFdlYlByaXZh
dGVPd25QdHI8V3JhcHBlZFJlc291cmNlUmVxdWVzdD4gbV9yZXNvdXJjZVJlcXVlc3RXcmFwcGVy
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKaW5kZXggYmRhM2MwMzg5ZDJjNTQw
NTJhMzVlOWM1OWRiMzFkNGRkYjQ4MDY0Yy4uYzJlZWU1ODZhNWRjNjQ5YWE2OWMxZDQzODQzY2Q1
NTRlMmI3NGE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RnJhbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFt
ZUNsaWVudC5oCkBAIC01MCw2ICs1MCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBX
ZWJBcHBsaWNhdGlvbkNhY2hlSG9zdDsKIGNsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xp
ZW50OworY2xhc3MgV2ViQ2FjaGVkVVJMUmVxdWVzdDsKIGNsYXNzIFdlYkNvb2tpZUphcjsKIGNs
YXNzIFdlYkRhdGFTb3VyY2U7CiBjbGFzcyBXZWJET01FdmVudDsKQEAgLTI1MSw2ICsyNTIsOSBA
QCBwdWJsaWM6CiAgICAgIC8vIHRoZSBjbGllbnQga2VlcHMgc3VjaCBhbiBhc3NvY2lhdGlvbi4K
ICAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUlkZW50aWZpZXJGb3JSZXF1ZXN0KHVuc2lnbmVkIGlk
ZW50aWZpZXIpIHsgfQogCisgICAgLy8gQW4gZWxlbWVudCB3aWxsIHJlcXVlc3QgYSByZXNvdXJj
ZS4KKyAgICB2aXJ0dWFsIHZvaWQgd2lsbFJlcXVlc3RSZXNvdXJjZShXZWJGcmFtZSosIGNvbnN0
IFdlYkNhY2hlZFVSTFJlcXVlc3QmKSB7IH0KKwogICAgIC8vIEEgcmVxdWVzdCBpcyBhYm91dCB0
byBiZSBzZW50IG91dCwgYW5kIHRoZSBjbGllbnQgbWF5IG1vZGlmeSBpdC4gIFJlcXVlc3QKICAg
ICAvLyBpcyB3cml0YWJsZSwgYW5kIGNoYW5nZXMgdG8gdGhlIFVSTCwgZm9yIGV4YW1wbGUsIHdp
bGwgY2hhbmdlIHRoZSByZXF1ZXN0CiAgICAgLy8gbWFkZS4gIElmIHRoaXMgcmVxdWVzdCBpcyB0
aGUgcmVzdWx0IG9mIGEgcmVkaXJlY3QsIHRoZW4gcmVkaXJlY3RSZXNwb25zZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKaW5k
ZXggOWQwYWFiNDk1YjMzZDgxMjg0ZjBjYTE2ZDEwOWRiODcxMzRlZDY5Ny4uNWFkMGZhZDc3YmIz
NjcwM2Y3NTk2NTcyN2E3MWRlN2NhOWUxMzlkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCkBAIC02NSw2ICs2NSw3IEBA
CiAjaWYgRU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQogI2luY2x1ZGUgIldlYkF1dG9maWxs
Q2xpZW50LmgiCiAjZW5kaWYKKyNpbmNsdWRlICJXZWJDYWNoZWRVUkxSZXF1ZXN0LmgiCiAjaW5j
bHVkZSAiV2ViRE9NRXZlbnQuaCIKICNpbmNsdWRlICJXZWJEYXRhU291cmNlSW1wbC5oIgogI2lu
Y2x1ZGUgIldlYkRldlRvb2xzQWdlbnRQcml2YXRlLmgiCkBAIC0xMDQ4LDYgKzEwNDksMTIgQEAg
dm9pZCBGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xp
Y3koY29uc3QgUmVzb3VyY2VFcnJvciYKICAgICBtX3dlYkZyYW1lLT5jbGllbnQoKS0+dW5hYmxl
VG9JbXBsZW1lbnRQb2xpY3lXaXRoRXJyb3IobV93ZWJGcmFtZSwgZXJyb3IpOwogfQogCit2b2lk
IEZyYW1lTG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hXaWxsUmVxdWVzdFJlc291cmNlKENhY2hl
ZFJlc291cmNlUmVxdWVzdCogcmVxdWVzdCkKK3sKKyAgICBpZiAobV93ZWJGcmFtZS0+Y2xpZW50
KCkpCisgICAgICAgIG1fd2ViRnJhbWUtPmNsaWVudCgpLT53aWxsUmVxdWVzdFJlc291cmNlKG1f
d2ViRnJhbWUsIFdlYkNhY2hlZFVSTFJlcXVlc3QocmVxdWVzdCkpOworfQorCiB2b2lkIEZyYW1l
TG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KFBhc3NSZWZQdHI8
Rm9ybVN0YXRlPiBwcnBGb3JtU3RhdGUpCiB7CiAgICAgaWYgKG1fd2ViRnJhbWUtPmNsaWVudCgp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGll
bnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudElt
cGwuaAppbmRleCAyYWE2MjRiZGYzNmRkMjg2M2YyMjAxNmJmZTdlY2QwMTBlNzA3OWJjLi43OGZl
YTYyZmFkMTBiZWEwZDg5MTYzNzUwMmU0ZWZjN2U1OWVhYjAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaApAQCAtMTE4LDYgKzEx
OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JO
YXZpZ2F0aW9uQWN0aW9uKFdlYkNvcmU6OkZyYW1lUG9saWN5RnVuY3Rpb24gZnVuY3Rpb24sIGNv
bnN0IFdlYkNvcmU6Ok5hdmlnYXRpb25BY3Rpb24mIGFjdGlvbiwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZvcm1TdGF0ZT4gZm9y
bV9zdGF0ZSk7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFBvbGljeUNoZWNrKCk7CiAgICAgdmly
dHVhbCB2b2lkIGRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3koY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciYpOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxSZXF1ZXN0UmVz
b3VyY2UoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0Kik7CiAgICAgdmlydHVhbCB2b2lk
IGRpc3BhdGNoV2lsbFNlbmRTdWJtaXRFdmVudChQYXNzUmVmUHRyPFdlYkNvcmU6OkZvcm1TdGF0
ZT4pOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKFdlYkNvcmU6OkZy
YW1lUG9saWN5RnVuY3Rpb24sIFBhc3NSZWZQdHI8V2ViQ29yZTo6Rm9ybVN0YXRlPik7CiAgICAg
dmlydHVhbCB2b2lkIHJldmVydFRvUHJvdmlzaW9uYWxTdGF0ZShXZWJDb3JlOjpEb2N1bWVudExv
YWRlciopIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ2Fj
aGVkVVJMUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDYWNoZWRV
UkxSZXF1ZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNzBjNTQxZDFkMDQwMTJhODNmYTliY2EyN2M2NTk5
NTQ2ZTFkNzMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViQ2FjaGVkVVJMUmVxdWVzdC5jcHAKQEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24u
CisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3Rl
IHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJXZWJDYWNoZWRVUkxSZXF1ZXN0LmgiCisKKyNpbmNsdWRlICJDYWNoZWRS
ZXNvdXJjZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiV3JhcHBl
ZFJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJVUkxSZXF1ZXN0Lmg+CisK
K3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBX
ZWJDYWNoZWRVUkxSZXF1ZXN0OjpyZXNldCgpCit7CisgICAgbV9yZXNvdXJjZVJlcXVlc3RXcmFw
cGVyLnJlc2V0KDApOworICAgIG1fcHJpdmF0ZSA9IDA7Cit9CisKK2NvbnN0IFdlYlVSTFJlcXVl
c3QmIFdlYkNhY2hlZFVSTFJlcXVlc3Q6OnVybFJlcXVlc3QoKSBjb25zdAoreworICAgIGlmICgh
bV9yZXNvdXJjZVJlcXVlc3RXcmFwcGVyLmdldCgpKQorICAgICAgICBtX3Jlc291cmNlUmVxdWVz
dFdyYXBwZXIucmVzZXQobmV3IFdyYXBwZWRSZXNvdXJjZVJlcXVlc3QobV9wcml2YXRlLT5yZXNv
dXJjZVJlcXVlc3QoKSkpOworICAgIGVsc2UKKyAgICAgICAgbV9yZXNvdXJjZVJlcXVlc3RXcmFw
cGVyLT5iaW5kKG1fcHJpdmF0ZS0+cmVzb3VyY2VSZXF1ZXN0KCkpOworICAgIHJldHVybiAqbV9y
ZXNvdXJjZVJlcXVlc3RXcmFwcGVyLmdldCgpOworfQorCitXZWJTdHJpbmcgV2ViQ2FjaGVkVVJM
UmVxdWVzdDo6Y2hhcnNldCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFdlYlN0cmluZyhtX3ByaXZh
dGUtPmNoYXJzZXQoKSk7Cit9CisKK2Jvb2wgV2ViQ2FjaGVkVVJMUmVxdWVzdDo6Zm9yUHJlbG9h
ZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+Zm9yUHJlbG9hZCgpOworfQorCitX
ZWJTdHJpbmcgV2ViQ2FjaGVkVVJMUmVxdWVzdDo6aW5pdGlhdG9yTmFtZSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIFdlYlN0cmluZyhtX3ByaXZhdGUtPmluaXRpYXRvck5hbWUoKSk7Cit9CisKK1dl
YkVsZW1lbnQgV2ViQ2FjaGVkVVJMUmVxdWVzdDo6aW5pdGlhdG9yRWxlbWVudCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIFdlYkVsZW1lbnQobV9wcml2YXRlLT5pbml0aWF0b3JFbGVtZW50KCkpOwor
fQorCitXZWJDYWNoZWRVUkxSZXF1ZXN0OjpXZWJDYWNoZWRVUkxSZXF1ZXN0KENhY2hlZFJlc291
cmNlUmVxdWVzdCogcmVxdWVzdCkKKyAgICA6IG1fcHJpdmF0ZShyZXF1ZXN0KQoreworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCA2ZTY1OWJiMDQ2NjU5Mzg3M2FkYzBjYWEzN2JkNDczNzBkNjUyMjMx
Li4xZWUwYjljZWM5MDFjNmYwMTdmNDQ5OGYzOGRkYWZhYjE5YjI1M2Q2IDEwMDY0NAotLS0gYS9U
b29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIw
MTItMTEtMjcgIE1hcmphIEjDtmx0dMOkICA8bWFyamFAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IEFkZCBjYWxsYmFja3MgdG8gdGhlIEZyYW1lTG9hZGVyQ2xpZW50IHdoZW4gYSByZXNvdXJjZSBp
cyByZXF1ZXN0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTkyNzYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW4gQ2hyb21pdW0sIHdoZW4gYW4gZXh0ZW5zaW9uIHNjcmlwdCBjYW5jZWxzIGEgbmV0d29y
aworICAgICAgICByZXF1ZXN0ICh3aGljaCBoYXBwZW5zIG91dCBvZiBwcm9jZXNzKSwgd2UnZCBs
aWtlIHRvCisgICAgICAgIG5vdGlmeSBjb250ZW50IHNjcmlwdHMgcnVubmluZyBvbiB0aGUgY3Vy
cmVudCBwYWdlIGFib3V0CisgICAgICAgIHdoaWNoIGVsZW1lbnRzIGZhaWxlZCB0byBsb2FkIGJl
Y2F1c2UgdGhlIHJlcXVlc3RzIHdlcmUKKyAgICAgICAgY2FuY2VsbGVkIChhcyBvcHBvc2VkIHRv
IGUuZy4gdGhlIG5ldHdvcmsgcmVxdWVzdCBqdXN0CisgICAgICAgIGRpZG4ndCB3b3JrKS4gU2lu
Y2UgdGhlIHJlc291cmNlIHJlcXVlc3QgaXRzZWxmIGRvZXMgbm90CisgICAgICAgIGNhcnJ5IGFu
eSBpbmZvcm1hdGlvbiB3aGF0IERPTSBlbGVtZW50IGlzIHdhcyBtYWRlIGZvciwKKyAgICAgICAg
Y3VycmVudGx5IGEgY29udGVudCBzY3JpcHQgaGFzIHRvIHNlYXJjaCB0aGUgRE9NIHRyZWUgYW5k
CisgICAgICAgIGd1ZXNzIHdoaWNoIHJlcXVlc3RzIHdpbGwgYmUgY2FuY2VsbGVkIGJ5IGl0cyBj
b3VudGVyCisgICAgICAgIHBhcnQuIEJ5IGFkZGluZyB0aGVzZSBjYWxsYmFja3MsIHRoZSBlbWJl
ZGRlciBjYW4gbWFrZQorICAgICAgICB0aGlzIGNvbm5lY3Rpb24gZXhwbGljdGx5LgorCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHA6CisgICAgICAg
IChEUlRUZXN0UnVubmVyOjpEUlRUZXN0UnVubmVyKToKKyAgICAgICAgKERSVFRlc3RSdW5uZXI6
OmR1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MpOgorICAgICAgICAoRFJUVGVzdFJ1bm5lcjo6
cmVzZXQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIu
aDoKKyAgICAgICAgKERSVFRlc3RSdW5uZXIpOgorICAgICAgICAoRFJUVGVzdFJ1bm5lcjo6c2V0
U2hvdWxkRHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcyk6CisgICAgICAgIChEUlRUZXN0UnVu
bmVyOjpzaG91bGREdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKToKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaDoKKyAgICAgICAgKFRlc3RTaGVsbDo6c2hv
dWxkRHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcyk6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwOgorICAgICAgICAoV2ViVmlld0hvc3Q6OndpbGxS
ZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZp
ZXdIb3N0Lmg6CisgICAgICAgIChXZWJWaWV3SG9zdCk6CisKIDIwMTItMTEtMjIgIEJhbGF6cyBL
ZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF1bV1RSXSBUZXN0Q29u
dHJvbGxlcjo6cGxhdGZvcm1SdW5VbnRpbCBzaG91bGQgbm90IGRvIGJ1c3kgd2FpdGluZwpkaWZm
IC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5jcHAg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcAppbmRleCAy
ZjgzOTdiZWU0NTM1YmZhMGFmYWQyOGIwMDg0NmU4ZTIzMmNhYjgwLi5lMjI1NWM3OTNiNzAwZDhh
MDdkMzRkNjZhNDU1NjgxNWZmZjg0ZjVhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcApAQCAtMTM5LDYgKzEzOSw3IEBAIERSVFRlc3RSdW5u
ZXI6OkRSVFRlc3RSdW5uZXIoVGVzdFNoZWxsKiBzaGVsbCkKICAgICBiaW5kTWV0aG9kKCJkdW1w
UHJvZ3Jlc3NGaW5pc2hlZENhbGxiYWNrIiwgJkRSVFRlc3RSdW5uZXI6OmR1bXBQcm9ncmVzc0Zp
bmlzaGVkQ2FsbGJhY2spOwogICAgIGJpbmRNZXRob2QoImR1bXBVc2VyR2VzdHVyZUluRnJhbWVM
b2FkQ2FsbGJhY2tzIiwgJkRSVFRlc3RSdW5uZXI6OmR1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2Fk
Q2FsbGJhY2tzKTsKICAgICBiaW5kTWV0aG9kKCJkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzIiwg
JkRSVFRlc3RSdW5uZXI6OmR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MpOworICAgIGJpbmRNZXRo
b2QoImR1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFJl
c291cmNlUmVxdWVzdENhbGxiYWNrcyk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFJlc291cmNlUmVz
cG9uc2VNSU1FVHlwZXMiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFJlc291cmNlUmVzcG9uc2VNSU1F
VHlwZXMpOwogICAgIGJpbmRNZXRob2QoImR1bXBTZWxlY3Rpb25SZWN0IiwgJkRSVFRlc3RSdW5u
ZXI6OmR1bXBTZWxlY3Rpb25SZWN0KTsKICAgICBiaW5kTWV0aG9kKCJkdW1wU3RhdHVzQ2FsbGJh
Y2tzIiwgJkRSVFRlc3RSdW5uZXI6OmR1bXBXaW5kb3dTdGF0dXNDaGFuZ2VzKTsKQEAgLTMyMiw2
ICszMjMsMTIgQEAgdm9pZCBEUlRUZXN0UnVubmVyOjpkdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tz
KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQKICAgICByZXN1bHQtPnNldE51bGwo
KTsKIH0KIAordm9pZCBEUlRUZXN0UnVubmVyOjpkdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tz
KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICBtX2R1
bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MgPSB0cnVlOworICAgIHJlc3VsdC0+c2V0TnVsbCgp
OworfQorCiB2b2lkIERSVFRlc3RSdW5uZXI6OmR1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVz
KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqIHJlc3VsdCkKIHsKICAgICBtX2R1
bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzID0gdHJ1ZTsKQEAgLTU1Niw2ICs1NjMsNyBAQCB2
b2lkIERSVFRlc3RSdW5uZXI6OnJlc2V0KCkKICAgICBtX2R1bXBQcm9ncmVzc0ZpbmlzaGVkQ2Fs
bGJhY2sgPSBmYWxzZTsKICAgICBtX2R1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tz
ID0gZmFsc2U7CiAgICAgbV9kdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzID0gZmFsc2U7CisgICAg
bV9kdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzID0gZmFsc2U7CiAgICAgbV9kdW1wUmVzb3Vy
Y2VSZXNwb25zZU1JTUVUeXBlcyA9IGZhbHNlOwogICAgIG1fZHVtcEJhY2tGb3J3YXJkTGlzdCA9
IGZhbHNlOwogICAgIG1fZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlvbnMgPSBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuaAppbmRleCA5ZjAy
ZTFjNTMxNzBjY2ExZmNhOGQ3NjJlMTI3MmI0NzIxMWUwNTJhLi40OWYyN2MzNmJjMWM1ZjdiOGYy
NjU3MTJjNzUxNWE2OWU0NDUwZThmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9EUlRUZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vRFJUVGVzdFJ1bm5lci5oCkBAIC0xMTYsNyArMTE2LDEyIEBAIHB1YmxpYzoKICAgICAvLyBs
aW5lIGZvciBlYWNoIHJlc291cmNlIGxvYWQgY2FsbGJhY2suIEl0IHRha2VzIG5vIGFyZ3VtZW50
cywgYW5kIGlnbm9yZXMKICAgICAvLyBhbnkgdGhhdCBtYXkgYmUgcHJlc2VudC4KICAgICB2b2lk
IGR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFy
aWFudCopOyAgICAKLSAgICAKKworICAgIC8vIFRoaXMgZnVuY3Rpb24gc2V0cyBhIGZsYWcgdGhh
dCB0ZWxscyB0aGUgdGVzdF9zaGVsbCB0byBwcmludCBhIGxpbmUgb2YKKyAgICAvLyBkZXNjcmlw
dGl2ZSB0ZXh0IGZvciBlYWNoIGVsZW1lbnQgdGhhdCByZXF1ZXN0ZWQgYSByZXNvdXJjZS4gSXQg
dGFrZXMgbm8KKyAgICAvLyBhcmd1bWVudHMsIGFuZCBpZ25vcmVzIGFueSB0aGF0IG1heSBiZSBw
cmVzZW50LgorICAgIHZvaWQgZHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcyhjb25zdCBDcHBB
cmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CisKICAgICAvLyBUaGlzIGZ1bmN0aW9uIHNldHMg
YSBmbGFnIHRoYXQgdGVsbHMgdGhlIHRlc3Rfc2hlbGwgdG8gZHVtcCB0aGUgTUlNRSB0eXBlCiAg
ICAgLy8gZm9yIGVhY2ggcmVzb3VyY2UgdGhhdCB3YXMgbG9hZGVkLiBJdCB0YWtlcyBubyBhcmd1
bWVudHMsIGFuZCBpZ25vcmVzIGFueQogICAgIC8vIHRoYXQgbWF5IGJlIHByZXNlbnQuCkBAIC0z
MTgsNiArMzIzLDggQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxkRHVtcFVzZXJHZXN0dXJlSW5G
cmFtZUxvYWRDYWxsYmFja3MoKSB7IHJldHVybiBtX2R1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2Fk
Q2FsbGJhY2tzOyB9CiAgICAgdm9pZCBzZXRTaG91bGREdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9h
ZENhbGxiYWNrcyhib29sIHZhbHVlKSB7IG1fZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxs
YmFja3MgPSB2YWx1ZTsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlTG9hZENhbGxiYWNr
cygpIHtyZXR1cm4gbV9kdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzOyB9CisgICAgdm9pZCBzZXRT
aG91bGREdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKGJvb2wgdmFsdWUpIHsgbV9kdW1wUmVz
b3VyY2VSZXF1ZXN0Q2FsbGJhY2tzID0gdmFsdWU7IH0KKyAgICBib29sIHNob3VsZER1bXBSZXNv
dXJjZVJlcXVlc3RDYWxsYmFja3MoKSB7IHJldHVybiBtX2R1bXBSZXNvdXJjZVJlcXVlc3RDYWxs
YmFja3M7IH0KICAgICB2b2lkIHNldFNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVz
KGJvb2wgdmFsdWUpIHsgbV9kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyA9IHZhbHVlOyB9
CiAgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpIHtyZXR1cm4g
bV9kdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlczsgfQogICAgIGJvb2wgc2hvdWxkRHVtcFN0
YXR1c0NhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcFdpbmRvd1N0YXR1c0NoYW5nZXM7IH0KQEAg
LTQ1MSw3ICs0NTgsMTEgQEAgcHJpdmF0ZToKICAgICAvLyBJZiB0cnVlLCB0aGUgdGVzdF9zaGVs
bCB3aWxsIG91dHB1dCBhIGRlc2NyaXB0aXZlIGxpbmUgZm9yIGVhY2ggcmVzb3VyY2UKICAgICAv
LyBsb2FkIGNhbGxiYWNrLgogICAgIGJvb2wgbV9kdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzOwot
ICAgIAorCisgICAgLy8gSWYgdHJ1ZSwgdGhlIHRlc3Rfc2hlbGwgd2lsbCBvdXRwdXQgYSBkZXNj
cmlwdGl2ZSBsaW5lIGZvciBlYWNoIHJlc291cmNlCisgICAgLy8gcmVxdWVzdCBjYWxsYmFjay4K
KyAgICBib29sIG1fZHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrczsKKwogICAgIC8vIElmIHRy
dWUsIHRoZSB0ZXN0X3NoZWxsIHdpbGwgb3V0cHV0IHRoZSBNSU1FIHR5cGUgZm9yIGVhY2ggcmVz
b3VyY2UgdGhhdCAKICAgICAvLyB3YXMgbG9hZGVkLgogICAgIGJvb2wgbV9kdW1wUmVzb3VyY2VS
ZXNwb25zZU1JTUVUeXBlczsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxs
LmgKaW5kZXggOTEyMDEyMWRiMzg3MWRmOTI5MjA5Yjg5OTRlOWRjMGQ2MmM3MjFkYi4uMzA2ZjM1
Y2QxZTgyOGQ4M2UxN2I4M2M1OGQ0MmM0M2I5ZWRiMjFkYSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFNoZWxsLmgKQEAgLTExMiw2ICsxMTIsNyBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIHNldEZvY3VzKFdlYktpdDo6V2ViV2lkZ2V0KiwgYm9vbCBlbmFibGUpOwogICAgIGJv
b2wgc2hvdWxkRHVtcEZyYW1lTG9hZENhbGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIChtX3Rlc3RJ
c1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYmIHRlc3RSdW5uZXIoKS0+c2hvdWxkRHVt
cEZyYW1lTG9hZENhbGxiYWNrcygpOyB9CisgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VSZXF1
ZXN0Q2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5nIHx8IG1fdGVz
dElzUGVuZGluZykgJiYgdGVzdFJ1bm5lcigpLT5zaG91bGREdW1wUmVzb3VyY2VSZXF1ZXN0Q2Fs
bGJhY2tzKCk7IH0KICAgICBib29sIHNob3VsZER1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2Fs
bGJhY2tzKCkgY29uc3QgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5nIHx8IG1fdGVzdElzUGVu
ZGluZykgJiYgdGVzdFJ1bm5lcigpLT5zaG91bGREdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENh
bGxiYWNrcygpOyB9CiAgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCkg
Y29uc3QgIHsgcmV0dXJuIChtX3Rlc3RJc1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYm
IHRlc3RSdW5uZXIoKS0+c2hvdWxkRHVtcFJlc291cmNlTG9hZENhbGxiYWNrcygpOyB9CiAgICAg
Ym9vbCBzaG91bGREdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcygpIGNvbnN0ICB7IHJldHVy
biAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiB0ZXN0UnVubmVyKCkt
PnNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCk7IH0KZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAppbmRleCBiYWY4ZDBkOWUzZDM2MzRm
MWJhNWNjYTRlMjIxMTlkNTVhNTc2ZTIxLi5kNjUyYzgxZWU5MGEzZTUyYzU3ZDFhMzgwNjI2MTM4
OGExM2Q2MGZiIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJW
aWV3SG9zdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hv
c3QuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiVGVzdE5hdmlnYXRpb25Db250cm9s
bGVyLmgiCiAjaW5jbHVkZSAiVGVzdFNoZWxsLmgiCiAjaW5jbHVkZSAiVGVzdFdlYlBsdWdpbi5o
IgorI2luY2x1ZGUgIldlYkNhY2hlZFVSTFJlcXVlc3QuaCIKICNpbmNsdWRlICJXZWJDb25zb2xl
TWVzc2FnZS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51RGF0YS5oIgogI2luY2x1ZGUgIldl
YkRPTU1lc3NhZ2VFdmVudC5oIgpAQCAtMTEzOSw2ICsxMTQwLDIzIEBAIHN0YXRpYyBib29sIGhv
c3RJc1VzZWRCeVNvbWVUZXN0c1RvR2VuZXJhdGVFcnJvcihjb25zdCBzdHJpbmcmIGhvc3QpCiAg
ICAgcmV0dXJuIGhvc3QgPT0gIjI1NS4yNTUuMjU1LjI1NSI7CiB9CiAKK3ZvaWQgV2ViVmlld0hv
c3Q6OndpbGxSZXF1ZXN0UmVzb3VyY2UoV2ViS2l0OjpXZWJGcmFtZSogZnJhbWUsIGNvbnN0IFdl
YktpdDo6V2ViQ2FjaGVkVVJMUmVxdWVzdCYgcmVxdWVzdCkKK3sKKyAgICBpZiAobV9zaGVsbC0+
c2hvdWxkRHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcygpKSB7CisgICAgICAgIHByaW50RnJh
bWVEZXNjcmlwdGlvbihmcmFtZSk7CisgICAgICAgIFdlYkVsZW1lbnQgZWxlbWVudCA9IHJlcXVl
c3QuaW5pdGlhdG9yRWxlbWVudCgpOworICAgICAgICBpZiAoIWVsZW1lbnQuaXNOdWxsKCkpIHsK
KyAgICAgICAgICAgIHByaW50ZigiIC0gZWxlbWVudCB3aXRoICIpOworICAgICAgICAgICAgaWYg
KGVsZW1lbnQuaGFzQXR0cmlidXRlKCJpZCIpKQorICAgICAgICAgICAgICAgIHByaW50ZigiaWQg
JyVzJyIsIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpLnV0ZjgoKS5kYXRhKCkpOworICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHByaW50Zigibm8gaWQiKTsKKyAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICBwcmludGYoIiAtICVzIiwgcmVxdWVzdC5pbml0aWF0b3JOYW1lKCku
dXRmOCgpLmRhdGEoKSk7CisgICAgICAgIHByaW50ZigiIHJlcXVlc3RlZCAnJXMnXG4iLCBVUkxE
ZXNjcmlwdGlvbihyZXF1ZXN0LnVybFJlcXVlc3QoKS51cmwoKSkuY19zdHIoKSk7CisgICAgfQor
fQorCiB2b2lkIFdlYlZpZXdIb3N0Ojp3aWxsU2VuZFJlcXVlc3QoV2ViRnJhbWUqIGZyYW1lLCB1
bnNpZ25lZCBpZGVudGlmaWVyLCBXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBXZWJVUkxS
ZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSkKIHsKICAgICAvLyBOZWVkIHRvIHVzZSBHVVJMIGZv
ciBob3N0KCkgYW5kIFNjaGVtZUlzKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1dlYlZpZXdIb3N0LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5oCmluZGV4IGViNDFkNTRhNDZkMzU2ZWEyMDYzYzYzY2QwODdmNGNhNWMyZmYw
NTEuLjk3OTA2ZWIyNjcyZmI2MDk4OTg2NDBhMGZjMjlkOTQyYTNhMzZjZjIgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaApAQCAtMjYwLDYgKzI2MCw3IEBA
IGNsYXNzIFdlYlZpZXdIb3N0IDogcHVibGljIFdlYktpdDo6V2ViVmlld0NsaWVudCwgcHVibGlj
IFdlYktpdDo6V2ViRnJhbWVDbGllbnQsCiAgICAgdmlydHVhbCB2b2lkIGRpZENoYW5nZUxvY2F0
aW9uV2l0aGluUGFnZShXZWJLaXQ6OldlYkZyYW1lKik7CiAgICAgdmlydHVhbCB2b2lkIGFzc2ln
bklkZW50aWZpZXJUb1JlcXVlc3QoV2ViS2l0OjpXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50aWZp
ZXIsIGNvbnN0IFdlYktpdDo6V2ViVVJMUmVxdWVzdCYpOwogICAgIHZpcnR1YWwgdm9pZCByZW1v
dmVJZGVudGlmaWVyRm9yUmVxdWVzdCh1bnNpZ25lZCBpZGVudGlmaWVyKTsKKyAgICB2aXJ0dWFs
IHZvaWQgd2lsbFJlcXVlc3RSZXNvdXJjZShXZWJLaXQ6OldlYkZyYW1lKiwgY29uc3QgV2ViS2l0
OjpXZWJDYWNoZWRVUkxSZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxTZW5kUmVxdWVz
dChXZWJLaXQ6OldlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgV2ViS2l0OjpXZWJVUkxS
ZXF1ZXN0JiwgY29uc3QgV2ViS2l0OjpXZWJVUkxSZXNwb25zZSYpOwogICAgIHZpcnR1YWwgdm9p
ZCBkaWRSZWNlaXZlUmVzcG9uc2UoV2ViS2l0OjpXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50aWZp
ZXIsIGNvbnN0IFdlYktpdDo6V2ViVVJMUmVzcG9uc2UmKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
RmluaXNoUmVzb3VyY2VMb2FkKFdlYktpdDo6V2ViRnJhbWUqLCB1bnNpZ25lZCBpZGVudGlmaWVy
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBkZTFhMzkxYjJiOWNkMzYzYmJiZDVlZjA0MmI1YjE4MDk4MzgzYzA3Li5mMmVl
ODQzYTY3ZGQxODBiNDY4NDYxMDZiYmYwNjVlY2NmOTBkOWY2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTItMTEtMjcgIE1hcmphIEjDtmx0dMOkICA8bWFyamFAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIEFkZCBjYWxsYmFja3MgdG8gdGhlIEZyYW1lTG9hZGVyQ2xpZW50IHdoZW4gYSByZXNv
dXJjZSBpcyByZXF1ZXN0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkyNzYxCisKKyAgICAgICAgSW4gQ2hyb21pdW0sIHdoZW4gYW4gZXh0ZW5zaW9u
IHNjcmlwdCBjYW5jZWxzIGEgbmV0d29yaworICAgICAgICByZXF1ZXN0ICh3aGljaCBoYXBwZW5z
IG91dCBvZiBwcm9jZXNzKSwgd2UnZCBsaWtlIHRvCisgICAgICAgIG5vdGlmeSBjb250ZW50IHNj
cmlwdHMgcnVubmluZyBvbiB0aGUgY3VycmVudCBwYWdlIGFib3V0CisgICAgICAgIHdoaWNoIGVs
ZW1lbnRzIGZhaWxlZCB0byBsb2FkIGJlY2F1c2UgdGhlIHJlcXVlc3RzIHdlcmUKKyAgICAgICAg
Y2FuY2VsbGVkIChhcyBvcHBvc2VkIHRvIGUuZy4gdGhlIG5ldHdvcmsgcmVxdWVzdCBqdXN0Cisg
ICAgICAgIGRpZG4ndCB3b3JrKS4gU2luY2UgdGhlIHJlc291cmNlIHJlcXVlc3QgaXRzZWxmIGRv
ZXMgbm90CisgICAgICAgIGNhcnJ5IGFueSBpbmZvcm1hdGlvbiB3aGF0IERPTSBlbGVtZW50IGlz
IHdhcyBtYWRlIGZvciwKKyAgICAgICAgY3VycmVudGx5IGEgY29udGVudCBzY3JpcHQgaGFzIHRv
IHNlYXJjaCB0aGUgRE9NIHRyZWUgYW5kCisgICAgICAgIGd1ZXNzIHdoaWNoIHJlcXVlc3RzIHdp
bGwgYmUgY2FuY2VsbGVkIGJ5IGl0cyBjb3VudGVyCisgICAgICAgIHBhcnQuIEJ5IGFkZGluZyB0
aGVzZSBjYWxsYmFja3MsIHRoZSBlbWJlZGRlciBjYW4gbWFrZQorICAgICAgICB0aGlzIGNvbm5l
Y3Rpb24gZXhwbGljdGx5LgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhl
IGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0
aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0vZmFzdC9sb2FkZXIvcmVzb3VyY2UtcmVxdWVzdC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJj
ZS1yZXF1ZXN0LWNhbGxiYWNrcy5odG1sOiBBZGRlZC4KKwogMjAxMi0xMS0yMiAgS3Jpc3TDs2Yg
S29zenR5w7MgIDxra3Jpc3RvZkBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBVbnJl
dmlld2VkIGdhcmRlbmluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vZmFzdC9sb2FkZXIvcmVzb3VyY2UtcmVxdWVzdC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvcmVzb3VyY2UtcmVxdWVz
dC1jYWxsYmFja3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4Mzk5ZWM5YTIxNDhhYmQ4NzU2
MTdkZDI0NmM4MTFhOWUyZTMyNDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyMSBAQAorbWFpbiBmcmFtZSAtIGNzcyByZXF1ZXN0ZWQgJ2d3
NDMyMDQ3LnR0ZicKK21haW4gZnJhbWUgLSBjc3MgcmVxdWVzdGVkICdncmVlbmJveC1ob3RzcG90
MzUtNC5jdXInCittYWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICd3aXRoLWJhY2tncm91bmQn
IHJlcXVlc3RlZCAnbGVubmEucG5nJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBpZCAnaW1n
LW5vcm1hbCcgcmVxdWVzdGVkICdkaWNlLnBuZycKK21haW4gZnJhbWUgLSBlbGVtZW50IHdpdGgg
aWQgJ2ltZy1jaGFuZ2luZycgcmVxdWVzdGVkICdkaWNlLnBuZycKK21haW4gZnJhbWUgLSBlbGVt
ZW50IHdpdGggaWQgJ2ltZy1ub3QtdGhlcmUnIHJlcXVlc3RlZCAnbm90LWV4aXN0aW5nLnBuZycK
K21haW4gZnJhbWUgLSBlbGVtZW50IHdpdGggbm8gaWQgcmVxdWVzdGVkICdqcy10ZXN0LXBvc3Qu
anMnCittYWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICdpbWctY2hhbmdpbmcnIHJlcXVlc3Rl
ZCAnbXUucG5nJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBpZCAnaW1nLWNyZWF0ZWQnIHJl
cXVlc3RlZCAnb3ZhbC5wbmcnCittYWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICdpbWctY3Jl
YXRlZC0yJyByZXF1ZXN0ZWQgJ3BuZ19wZXJfcm93X2FscGhhLnBuZycKK21haW4gZnJhbWUgLSBl
bGVtZW50IHdpdGggaWQgJ3NjcmlwdC1jcmVhdGVkJyByZXF1ZXN0ZWQgJ2VtcHR5LXNjcmlwdC5q
cycKK21haW4gZnJhbWUgLSBlbGVtZW50IHdpdGggaWQgJ3dpdGgtYmFja2dyb3VuZCcgcmVxdWVz
dGVkICdwYWxhdHRlZC1jb2xvci1wbmctZ2FtbWEtb25lLWNvbG9yLXByb2ZpbGUucG5nJworVGhp
cyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBjb3JyZWN0IGNhbGxiYWNrcyBmb3IgcmVzb3VyY2UgcmVx
dWVzdHMgYXJlIGludm9rZWQuIEl0IHBhc3NlcyBpZiB5b3Ugc2VlIHRoZSBjYWxsYmFja3MgZm9y
IGVpZ2h0IHJlc291cmNlcy4KKworICAgIAorCitQQVNTIAorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJhY2tzLmh0
bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1y
ZXF1ZXN0LWNhbGxiYWNrcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwZWZkZWVmYmJkYmZlNjY3ZWQ3ZTM5
ODQyM2Q0YmVlMzc2NTdhNjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNhbGxiYWNrcy5odG1sCkBA
IC0wLDAgKzEsNzcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0Pgord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworaWYgKHdpbmRvdy50
ZXN0UnVubmVyKSB7CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5l
ci5kdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKCk7Cit9IGVsc2UgeworICAgIGRvY3VtZW50
LndyaXRlKCJUaGlzIHRlc3QgY2Fubm90IHJ1biB3aXRob3V0IGEgdGVzdFJ1bm5lciIpOworfQor
CitmdW5jdGlvbiByZXF1ZXN0TW9yZVJlc291cmNlcygpIHsKKyAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiaW1nLWNoYW5naW5nIikuc3JjID0gIi4uLy4uLy4uLy4uL2Zhc3QvaW1hZ2VzL3Jl
c291cmNlcy9tdS5wbmciOworCisgICAgdmFyIGNyZWF0ZWRJbWFnZSA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoImltZyIpOworICAgIGNyZWF0ZWRJbWFnZS5pZCA9ICJpbWctY3JlYXRlZCI7Cisg
ICAgY3JlYXRlZEltYWdlLnNyYyA9ICIuLi8uLi8uLi8uLi9mYXN0L2ltYWdlcy9yZXNvdXJjZXMv
b3ZhbC5wbmciOworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbWFnZXMiKS5hcHBlbmRD
aGlsZChjcmVhdGVkSW1hZ2UpOworCisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIndpdGgt
YmFja2dyb3VuZCIpLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9ICJ1cmwoLi4vLi4vLi4vLi4vZmFz
dC9pbWFnZXMvcmVzb3VyY2VzL3BhbGF0dGVkLWNvbG9yLXBuZy1nYW1tYS1vbmUtY29sb3ItcHJv
ZmlsZS5wbmcpIjsKKworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtb3JlLWltYWdlcyIp
LmlubmVySFRNTCA9ICI8aW1nIGlkPSdpbWctY3JlYXRlZC0yJyBzcmM9Jy4uLy4uLy4uLy4uL2Zh
c3QvaW1hZ2VzL3Jlc291cmNlcy9wbmdfcGVyX3Jvd19hbHBoYS5wbmcnPiI7CisKKyAgICB2YXIg
Y3JlYXRlZFNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpOworICAgIGNy
ZWF0ZWRTY3JpcHQuaWQgPSAic2NyaXB0LWNyZWF0ZWQiOworICAgIGNyZWF0ZWRTY3JpcHQuc3Jj
ID0gIi4uLy4uLy4uLy4uL2Zhc3QvbG9hZGVyL3Jlc291cmNlcy9lbXB0eS1zY3JpcHQuanMiOwor
ICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoY3JlYXRlZFNjcmlwdCk7CisKKyAgICBzZXRU
aW1lb3V0KGZpbmlzaFRlc3QsIDApOworfQorCitmdW5jdGlvbiBmaW5pc2hUZXN0KCkgeworICAg
IHRlc3RQYXNzZWQoIiIpOworICAgIGZpbmlzaEpTVGVzdCgpOworfQorPC9zY3JpcHQ+Cis8c3R5
bGU+Cisjd2l0aC1iYWNrZ3JvdW5kCit7CisgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoIi4uLy4u
Ly4uLy4uL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9sZW5uYS5wbmciKTsKK30KK2JvZHkKK3sKKyAg
ICBjdXJzb3I6dXJsKCIuLi8uLi8uLi8uLi9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvZ3JlZW5ib3gt
aG90c3BvdDM1LTQuY3VyIiksIHBvaW50ZXI7Cit9CitAZm9udC1mYWNlCit7CisgICAgZm9udC1m
YW1pbHk6IGN1c3RvbV9mb250OworICAgIHNyYzogdXJsKCIuLi8uLi8uLi8uLi9mYXN0L3RleHQv
cmVzb3VyY2VzL2d3NDMyMDQ3LnR0ZiIpOworfQorcAoreworICAgIGZvbnQtZmFtaWx5OiBjdXN0
b21fZm9udDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InNldFRpbWVvdXQo
cmVxdWVzdE1vcmVSZXNvdXJjZXMsIDEwMCk7Ij4KKzxkaXYgaWQ9IndpdGgtYmFja2dyb3VuZCI+
Cis8cD4KKyAgICBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgdGhlIGNvcnJlY3QgY2FsbGJhY2tzIGZv
ciByZXNvdXJjZSByZXF1ZXN0cyBhcmUKKyAgICBpbnZva2VkLiBJdCBwYXNzZXMgaWYgeW91IHNl
ZSB0aGUgY2FsbGJhY2tzIGZvciBlaWdodCByZXNvdXJjZXMuCis8L3A+Cis8L2Rpdj4KKzxkaXYg
aWQ9ImltYWdlcyI+Cis8aW1nIGlkPSJpbWctbm9ybWFsIiBzcmM9Ii4uLy4uLy4uLy4uL2Zhc3Qv
aW1hZ2VzL3Jlc291cmNlcy9kaWNlLnBuZyIgLz4KKzxpbWcgaWQ9ImltZy1jaGFuZ2luZyIgc3Jj
PSIuLi8uLi8uLi8uLi9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvZGljZS5wbmciIC8+Cis8aW1nIGlk
PSJpbWctZmFpbCIgLz4KKzxpbWcgaWQ9ImltZy1ub3QtdGhlcmUiIHNyYz0ibm90LWV4aXN0aW5n
LnBuZyIgLz4KKzwvZGl2PgorPGRpdiBpZD0ibW9yZS1pbWFnZXMiPgorPC9kaXY+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176285</attachid>
            <date>2012-11-27 09:21:27 -0800</date>
            <delta_ts>2012-11-27 10:01:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92761-20121127181903.patch</filename>
            <type>text/plain</type>
            <size>31296</size>
            <attacher name="Marja Hölttä">marja</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzc3ZDA3MGQ1YmViYjY0
Yjc4MTIyZjM5ZDJjODMwMzQyNGEzYzljZS4uNzgzMGI5ODk3ZjE0NjFmYzQ2YTI5ZWY3YmY5MjQw
NGYyODgwNjk1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTExLTI3ICBNYXJq
YSBIw7ZsdHTDpCAgPG1hcmphQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tz
IHRvIHRoZSBGcmFtZUxvYWRlckNsaWVudCB3aGVuIGEgcmVzb3VyY2UgaXMgcmVxdWVzdGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc2MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgSW4gQ2hyb21pdW0sIHdo
ZW4gYW4gZXh0ZW5zaW9uIHNjcmlwdCBjYW5jZWxzIGEgbmV0d29yaworICAgICAgICByZXF1ZXN0
ICh3aGljaCBoYXBwZW5zIG91dCBvZiBwcm9jZXNzKSwgd2UnZCBsaWtlIHRvCisgICAgICAgIG5v
dGlmeSBjb250ZW50IHNjcmlwdHMgcnVubmluZyBvbiB0aGUgY3VycmVudCBwYWdlIGFib3V0Cisg
ICAgICAgIHdoaWNoIGVsZW1lbnRzIGZhaWxlZCB0byBsb2FkIGJlY2F1c2UgdGhlIHJlcXVlc3Rz
IHdlcmUKKyAgICAgICAgY2FuY2VsbGVkIChhcyBvcHBvc2VkIHRvIGUuZy4gdGhlIG5ldHdvcmsg
cmVxdWVzdCBqdXN0CisgICAgICAgIGRpZG4ndCB3b3JrKS4gU2luY2UgdGhlIHJlc291cmNlIHJl
cXVlc3QgaXRzZWxmIGRvZXMgbm90CisgICAgICAgIGNhcnJ5IGFueSBpbmZvcm1hdGlvbiB3aGF0
IERPTSBlbGVtZW50IGlzIHdhcyBtYWRlIGZvciwKKyAgICAgICAgY3VycmVudGx5IGEgY29udGVu
dCBzY3JpcHQgaGFzIHRvIHNlYXJjaCB0aGUgRE9NIHRyZWUgYW5kCisgICAgICAgIGd1ZXNzIHdo
aWNoIHJlcXVlc3RzIHdpbGwgYmUgY2FuY2VsbGVkIGJ5IGl0cyBjb3VudGVyCisgICAgICAgIHBh
cnQuIEJ5IGFkZGluZyB0aGVzZSBjYWxsYmFja3MsIHRoZSBlbWJlZGRlciBjYW4gbWFrZQorICAg
ICAgICB0aGlzIGNvbm5lY3Rpb24gZXhwbGljdGx5LgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3Jt
L2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJhY2tzLmh0bWwKKwor
ICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlckNsaWVudC5oOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hXaWxsUmVxdWVz
dFJlc291cmNlKToKKyAgICAgICAgKEZyYW1lTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKiBsb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6CisKIDIwMTItMTEtMjIgIEtlbnRh
cm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbmFtZSB0aGUgImVk
ZW4iIGJpdCB0byBzb21ldGhpbmcgbW9yZSBkZXNjcmlwdGl2ZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwppbmRleCBkNGQzMTcxZjAxN2YzOTBhNmM4OWUyMDg2NmFjYTk0NGY1N2VlYTY0Li4zZTll
NzJlZjU1YTVkYjlkYTdiNzQ3ZmU4OTBiNjc1MjA2OWIxNzNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDEyLTExLTI3ICBNYXJqYSBIw7ZsdHTDpCAgPG1h
cmphQGNocm9taXVtLm9yZz4KKworICAgICAgICBBZGQgY2FsbGJhY2tzIHRvIHRoZSBGcmFtZUxv
YWRlckNsaWVudCB3aGVuIGEgcmVzb3VyY2UgaXMgcmVxdWVzdGVkCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05Mjc2MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgSW4gQ2hyb21pdW0sIHdoZW4gYW4gZXh0ZW5zaW9u
IHNjcmlwdCBjYW5jZWxzIGEgbmV0d29yaworICAgICAgICByZXF1ZXN0ICh3aGljaCBoYXBwZW5z
IG91dCBvZiBwcm9jZXNzKSwgd2UnZCBsaWtlIHRvCisgICAgICAgIG5vdGlmeSBjb250ZW50IHNj
cmlwdHMgcnVubmluZyBvbiB0aGUgY3VycmVudCBwYWdlIGFib3V0CisgICAgICAgIHdoaWNoIGVs
ZW1lbnRzIGZhaWxlZCB0byBsb2FkIGJlY2F1c2UgdGhlIHJlcXVlc3RzIHdlcmUKKyAgICAgICAg
Y2FuY2VsbGVkIChhcyBvcHBvc2VkIHRvIGUuZy4gdGhlIG5ldHdvcmsgcmVxdWVzdCBqdXN0Cisg
ICAgICAgIGRpZG4ndCB3b3JrKS4gU2luY2UgdGhlIHJlc291cmNlIHJlcXVlc3QgaXRzZWxmIGRv
ZXMgbm90CisgICAgICAgIGNhcnJ5IGFueSBpbmZvcm1hdGlvbiB3aGF0IERPTSBlbGVtZW50IGlz
IHdhcyBtYWRlIGZvciwKKyAgICAgICAgY3VycmVudGx5IGEgY29udGVudCBzY3JpcHQgaGFzIHRv
IHNlYXJjaCB0aGUgRE9NIHRyZWUgYW5kCisgICAgICAgIGd1ZXNzIHdoaWNoIHJlcXVlc3RzIHdp
bGwgYmUgY2FuY2VsbGVkIGJ5IGl0cyBjb3VudGVyCisgICAgICAgIHBhcnQuIEJ5IGFkZGluZyB0
aGVzZSBjYWxsYmFja3MsIHRoZSBlbWJlZGRlciBjYW4gbWFrZQorICAgICAgICB0aGlzIGNvbm5l
Y3Rpb24gZXhwbGljdGx5LgorCisgICAgICAgICogV2ViS2l0Lmd5cDoKKyAgICAgICAgKiBwdWJs
aWMvV2ViQ2FjaGVkVVJMUmVxdWVzdC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAg
ICAgIChXZWJDYWNoZWRVUkxSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkVVJM
UmVxdWVzdDo6fldlYkNhY2hlZFVSTFJlcXVlc3QpOgorICAgICAgICAqIHB1YmxpYy9XZWJGcmFt
ZUNsaWVudC5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYkZyYW1lQ2xpZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVDbGllbnQ6OndpbGxSZXF1ZXN0UmVzb3VyY2UpOgor
ICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpGcmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoV2lsbFJlcXVlc3RSZXNvdXJjZSk6Cisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHNyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaDoK
KyAgICAgICAgKEZyYW1lTG9hZGVyQ2xpZW50SW1wbCk6CisgICAgICAgICogc3JjL1dlYkNhY2hl
ZFVSTFJlcXVlc3QuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJL
aXQ6OldlYkNhY2hlZFVSTFJlcXVlc3Q6OnJlc2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2Fj
aGVkVVJMUmVxdWVzdDo6dXJsUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hlZFVS
TFJlcXVlc3Q6OmNoYXJzZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZWRVUkxSZXF1ZXN0
Ojpmb3JQcmVsb2FkKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ2FjaGVkVVJMUmVxdWVzdDo6aW5p
dGlhdG9yTmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNhY2hlZFVSTFJlcXVlc3Q6OmluaXRp
YXRvckVsZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJDYWNoZWRVUkxSZXF1ZXN0OjpXZWJD
YWNoZWRVUkxSZXF1ZXN0KToKKwogMjAxMi0xMS0yMSAgVGllbi1SZW4gQ2hlbiAgPHRyY2hlbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBEZXZpY2Ugc2NhbGUgZmFjdG9yIHNo
b3VsZCBiZSBuby1vcCB3aGVuIGFwcGx5RGV2aWNlU2NhbGVGYWN0b3JJbkNvbXBvc2l0b3IgPT0g
MApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAppbmRleCA4NWU0ZWVj
ZjE5Mjk0MWY3MDIzZWVhNmRiZWRkMDIxZWY3NDMyYmFjLi5hNmZkYmFiYWUyYmFmYjJkMWRmZDJk
OGIwODI0ZTFiYTcyNjU2YzhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXJDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXJD
bGllbnQuaApAQCAtNjMsNiArNjMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFz
cyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKICAgICBjbGFzcyBDYWNoZWRGcmFtZTsKKyAgICBj
bGFzcyBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q7CiAgICAgY2xhc3MgQ29sb3I7CiAgICAgY2xhc3Mg
RE9NV2luZG93RXh0ZW5zaW9uOwogICAgIGNsYXNzIERPTVdyYXBwZXJXb3JsZDsKQEAgLTE3OSw2
ICsxODAsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGRp
c3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3koY29uc3QgUmVzb3VyY2VFcnJvciYpID0gMDsK
IAorICAgICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hXaWxsUmVxdWVzdFJlc291cmNlKENhY2hl
ZFJlc291cmNlUmVxdWVzdCopIHsgfQorCiAgICAgICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdp
bGxTZW5kU3VibWl0RXZlbnQoUGFzc1JlZlB0cjxGb3JtU3RhdGU+KSA9IDA7CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKEZyYW1lUG9saWN5RnVuY3Rpb24sIFBh
c3NSZWZQdHI8Rm9ybVN0YXRlPikgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCA4M2E1YTFjZTY3NGNjNzJj
NWYxMTAwOTZjYjM0OGFiMDgyNWU0ZDVmLi5iOTQ2ZmU0ZWNmM2I4YzczMDc3MTExMTZhNmM5YTll
OWEyNzhiYTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTQyMyw2ICs0MjMsOSBAQCBDYWNoZWRSZXNvdXJjZUhh
bmRsZTxDYWNoZWRSZXNvdXJjZT4gQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3RSZXNvdXJj
ZShDYWNoZQogICAgIGlmICghY2FuUmVxdWVzdCh0eXBlLCB1cmwsIHJlcXVlc3QuZm9yUHJlbG9h
ZCgpKSkKICAgICAgICAgcmV0dXJuIDA7CiAKKyAgICBpZiAoRnJhbWUqIGYgPSBmcmFtZSgpKQor
ICAgICAgICBmLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpc3BhdGNoV2lsbFJlcXVlc3RSZXNvdXJj
ZSgmcmVxdWVzdCk7CisKICAgICBpZiAobWVtb3J5Q2FjaGUoKS0+ZGlzYWJsZWQoKSkgewogICAg
ICAgICBEb2N1bWVudFJlc291cmNlTWFwOjppdGVyYXRvciBpdCA9IG1fZG9jdW1lbnRSZXNvdXJj
ZXMuZmluZCh1cmwuc3RyaW5nKCkpOwogICAgICAgICBpZiAoaXQgIT0gbV9kb2N1bWVudFJlc291
cmNlcy5lbmQoKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQu
Z3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IDBkZDUzYmZhMzdm
ZTMxZjkzZGIwMmNiMDdlZDMwNTlkNDNkYzA2ZGUuLjhhYWU5N2Y1OTk2NGJlOTJkYmFkZTg2MmRj
OGY3ZTQ1NDUyMDJhOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0
Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTEwOCw2ICsx
MDgsNyBAQAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQmluZGluZ3MuaCcsCiAgICAgICAg
ICAgICAgICAgJ3B1YmxpYy9XZWJCbG9iLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2Vi
Q2FjaGUuaCcsCisgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJDYWNoZWRVUkxSZXF1ZXN0Lmgn
LAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQ29sb3JDaG9vc2VyLmgnLAogICAgICAgICAg
ICAgICAgICdwdWJsaWMvV2ViQ29sb3JDaG9vc2VyQ2xpZW50LmgnLAogICAgICAgICAgICAgICAg
ICdwdWJsaWMvV2ViQ29sb3JOYW1lLmgnLApAQCAtNDg5LDYgKzQ5MCw3IEBACiAgICAgICAgICAg
ICAgICAgJ3NyYy9XZWJCbG9iLmNwcCcsCiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJCbG9iRGF0
YS5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViQ2FjaGUuY3BwJywKKyAgICAgICAgICAg
ICAgICAnc3JjL1dlYkNhY2hlZFVSTFJlcXVlc3QuY3BwJywKICAgICAgICAgICAgICAgICAnc3Jj
L1dlYkNvbG9yTmFtZS5jcHAnLAogICAgICAgICAgICAgICAgICdzcmMvV2ViQ29tbW9uLmNwcCcs
CiAgICAgICAgICAgICAgICAgJ3NyYy9XZWJDb21wb3NpdG9ySW5wdXRIYW5kbGVySW1wbC5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ2FjaGVkVVJM
UmVxdWVzdC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViQ2FjaGVkVVJMUmVx
dWVzdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjUwMDZhNzQ5ZDgxMGZiNTE2Mzg2NWRmNTViYTE5MjhkZDRhMWE1
YmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJD
YWNoZWRVUkxSZXF1ZXN0LmgKQEAgLTAsMCArMSw3MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViQ2FjaGVkVVJMUmVx
dWVzdF9oCisjZGVmaW5lIFdlYkNhY2hlZFVSTFJlcXVlc3RfaAorCisjaW5jbHVkZSAiV2ViRWxl
bWVudC5oIgorI2luY2x1ZGUgInBsYXRmb3JtL1dlYkNvbW1vbi5oIgorI2luY2x1ZGUgInBsYXRm
b3JtL1dlYlByaXZhdGVPd25QdHIuaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9XZWJTdHJpbmcuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyBDYWNoZWRSZXNvdXJjZVJlcXVlc3Q7IH0KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkVsZW1lbnQ7CitjbGFzcyBXZWJTdHJpbmc7
CitjbGFzcyBXZWJVUkxSZXF1ZXN0OworY2xhc3MgV3JhcHBlZFJlc291cmNlUmVxdWVzdDsKKwor
Y2xhc3MgV2ViQ2FjaGVkVVJMUmVxdWVzdCB7CitwdWJsaWM6CisgICAgfldlYkNhY2hlZFVSTFJl
cXVlc3QoKSB7IHJlc2V0KCk7IH0KKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgcmVzZXQoKTsKKwor
ICAgIFdFQktJVF9FWFBPUlQgY29uc3QgV2ViVVJMUmVxdWVzdCYgdXJsUmVxdWVzdCgpIGNvbnN0
OworICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIGNoYXJzZXQoKSBjb25zdDsKKyAgICBXRUJL
SVRfRVhQT1JUIGJvb2wgZm9yUHJlbG9hZCgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgV2Vi
U3RyaW5nIGluaXRpYXRvck5hbWUoKSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIFdlYkVsZW1l
bnQgaW5pdGlhdG9yRWxlbWVudCgpIGNvbnN0OworCisjaWYgV0VCS0lUX0lNUExFTUVOVEFUSU9O
CisgICAgZXhwbGljaXQgV2ViQ2FjaGVkVVJMUmVxdWVzdChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZVJlcXVlc3QqKTsKKyNlbmRpZgorCitwcml2YXRlOgorICAgIFdlYkNhY2hlZFVSTFJlcXVlc3Qo
Y29uc3QgV2ViQ2FjaGVkVVJMUmVxdWVzdCYpOworICAgIFdlYkNhY2hlZFVSTFJlcXVlc3QmIG9w
ZXJhdG9yPShjb25zdCBXZWJDYWNoZWRVUkxSZXF1ZXN0Jik7CisKKyAgICBXZWJDb3JlOjpDYWNo
ZWRSZXNvdXJjZVJlcXVlc3QqIG1fcHJpdmF0ZTsKKyAgICBtdXRhYmxlIFdlYlByaXZhdGVPd25Q
dHI8V3JhcHBlZFJlc291cmNlUmVxdWVzdD4gbV9yZXNvdXJjZVJlcXVlc3RXcmFwcGVyOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgKaW5kZXggYmRhM2MwMzg5ZDJjNTQwNTJhMzVl
OWM1OWRiMzFkNGRkYjQ4MDY0Yy4uYzJlZWU1ODZhNWRjNjQ5YWE2OWMxZDQzODQzY2Q1NTRlMmI3
NGE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWVD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZUNsaWVu
dC5oCkBAIC01MCw2ICs1MCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJBcHBs
aWNhdGlvbkNhY2hlSG9zdDsKIGNsYXNzIFdlYkFwcGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50Owor
Y2xhc3MgV2ViQ2FjaGVkVVJMUmVxdWVzdDsKIGNsYXNzIFdlYkNvb2tpZUphcjsKIGNsYXNzIFdl
YkRhdGFTb3VyY2U7CiBjbGFzcyBXZWJET01FdmVudDsKQEAgLTI1MSw2ICsyNTIsOSBAQCBwdWJs
aWM6CiAgICAgIC8vIHRoZSBjbGllbnQga2VlcHMgc3VjaCBhbiBhc3NvY2lhdGlvbi4KICAgICAg
dmlydHVhbCB2b2lkIHJlbW92ZUlkZW50aWZpZXJGb3JSZXF1ZXN0KHVuc2lnbmVkIGlkZW50aWZp
ZXIpIHsgfQogCisgICAgLy8gQW4gZWxlbWVudCB3aWxsIHJlcXVlc3QgYSByZXNvdXJjZS4KKyAg
ICB2aXJ0dWFsIHZvaWQgd2lsbFJlcXVlc3RSZXNvdXJjZShXZWJGcmFtZSosIGNvbnN0IFdlYkNh
Y2hlZFVSTFJlcXVlc3QmKSB7IH0KKwogICAgIC8vIEEgcmVxdWVzdCBpcyBhYm91dCB0byBiZSBz
ZW50IG91dCwgYW5kIHRoZSBjbGllbnQgbWF5IG1vZGlmeSBpdC4gIFJlcXVlc3QKICAgICAvLyBp
cyB3cml0YWJsZSwgYW5kIGNoYW5nZXMgdG8gdGhlIFVSTCwgZm9yIGV4YW1wbGUsIHdpbGwgY2hh
bmdlIHRoZSByZXF1ZXN0CiAgICAgLy8gbWFkZS4gIElmIHRoaXMgcmVxdWVzdCBpcyB0aGUgcmVz
dWx0IG9mIGEgcmVkaXJlY3QsIHRoZW4gcmVkaXJlY3RSZXNwb25zZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0ZyYW1lTG9hZGVyQ2xpZW50SW1wbC5jcHAKaW5kZXggOWQw
YWFiNDk1YjMzZDgxMjg0ZjBjYTE2ZDEwOWRiODcxMzRlZDY5Ny4uNWFkMGZhZDc3YmIzNjcwM2Y3
NTk2NTcyN2E3MWRlN2NhOWUxMzlkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuY3BwCkBAIC02NSw2ICs2NSw3IEBACiAjaWYg
RU5BQkxFKFJFUVVFU1RfQVVUT0NPTVBMRVRFKQogI2luY2x1ZGUgIldlYkF1dG9maWxsQ2xpZW50
LmgiCiAjZW5kaWYKKyNpbmNsdWRlICJXZWJDYWNoZWRVUkxSZXF1ZXN0LmgiCiAjaW5jbHVkZSAi
V2ViRE9NRXZlbnQuaCIKICNpbmNsdWRlICJXZWJEYXRhU291cmNlSW1wbC5oIgogI2luY2x1ZGUg
IldlYkRldlRvb2xzQWdlbnRQcml2YXRlLmgiCkBAIC0xMDQ4LDYgKzEwNDksMTIgQEAgdm9pZCBG
cmFtZUxvYWRlckNsaWVudEltcGw6OmRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3koY29u
c3QgUmVzb3VyY2VFcnJvciYKICAgICBtX3dlYkZyYW1lLT5jbGllbnQoKS0+dW5hYmxlVG9JbXBs
ZW1lbnRQb2xpY3lXaXRoRXJyb3IobV93ZWJGcmFtZSwgZXJyb3IpOwogfQogCit2b2lkIEZyYW1l
TG9hZGVyQ2xpZW50SW1wbDo6ZGlzcGF0Y2hXaWxsUmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291
cmNlUmVxdWVzdCogcmVxdWVzdCkKK3sKKyAgICBpZiAobV93ZWJGcmFtZS0+Y2xpZW50KCkpCisg
ICAgICAgIG1fd2ViRnJhbWUtPmNsaWVudCgpLT53aWxsUmVxdWVzdFJlc291cmNlKG1fd2ViRnJh
bWUsIFdlYkNhY2hlZFVSTFJlcXVlc3QocmVxdWVzdCkpOworfQorCiB2b2lkIEZyYW1lTG9hZGVy
Q2xpZW50SW1wbDo6ZGlzcGF0Y2hXaWxsU2VuZFN1Ym1pdEV2ZW50KFBhc3NSZWZQdHI8Rm9ybVN0
YXRlPiBwcnBGb3JtU3RhdGUpCiB7CiAgICAgaWYgKG1fd2ViRnJhbWUtPmNsaWVudCgpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRnJhbWVMb2FkZXJDbGllbnRJbXBs
LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaApp
bmRleCAyYWE2MjRiZGYzNmRkMjg2M2YyMjAxNmJmZTdlY2QwMTBlNzA3OWJjLi43OGZlYTYyZmFk
MTBiZWEwZDg5MTYzNzUwMmU0ZWZjN2U1OWVhYjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9GcmFtZUxvYWRlckNsaWVudEltcGwuaApAQCAtMTE4LDYgKzExOCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0
aW9uQWN0aW9uKFdlYkNvcmU6OkZyYW1lUG9saWN5RnVuY3Rpb24gZnVuY3Rpb24sIGNvbnN0IFdl
YkNvcmU6Ok5hdmlnYXRpb25BY3Rpb24mIGFjdGlvbiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBQYXNzUmVmUHRyPFdlYkNvcmU6OkZvcm1TdGF0ZT4gZm9ybV9zdGF0
ZSk7CiAgICAgdmlydHVhbCB2b2lkIGNhbmNlbFBvbGljeUNoZWNrKCk7CiAgICAgdmlydHVhbCB2
b2lkIGRpc3BhdGNoVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3koY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvciYpOworICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxSZXF1ZXN0UmVzb3VyY2Uo
V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VSZXF1ZXN0Kik7CiAgICAgdmlydHVhbCB2b2lkIGRpc3Bh
dGNoV2lsbFNlbmRTdWJtaXRFdmVudChQYXNzUmVmUHRyPFdlYkNvcmU6OkZvcm1TdGF0ZT4pOwog
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTdWJtaXRGb3JtKFdlYkNvcmU6OkZyYW1lUG9s
aWN5RnVuY3Rpb24sIFBhc3NSZWZQdHI8V2ViQ29yZTo6Rm9ybVN0YXRlPik7CiAgICAgdmlydHVh
bCB2b2lkIHJldmVydFRvUHJvdmlzaW9uYWxTdGF0ZShXZWJDb3JlOjpEb2N1bWVudExvYWRlciop
IHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ2FjaGVkVVJM
UmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDYWNoZWRVUkxSZXF1
ZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNzBjNTQxZDFkMDQwMTJhODNmYTliY2EyN2M2NTk5NTQ2ZTFk
NzMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ2Fj
aGVkVVJMUmVxdWVzdC5jcHAKQEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAg
ICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJXZWJDYWNoZWRVUkxSZXF1ZXN0LmgiCisKKyNpbmNsdWRlICJDYWNoZWRSZXNvdXJj
ZVJlcXVlc3QuaCIKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiV3JhcHBlZFJlc291
cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJVUkxSZXF1ZXN0Lmg+CisKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBXZWJDYWNo
ZWRVUkxSZXF1ZXN0OjpyZXNldCgpCit7CisgICAgbV9yZXNvdXJjZVJlcXVlc3RXcmFwcGVyLnJl
c2V0KDApOworICAgIG1fcHJpdmF0ZSA9IDA7Cit9CisKK2NvbnN0IFdlYlVSTFJlcXVlc3QmIFdl
YkNhY2hlZFVSTFJlcXVlc3Q6OnVybFJlcXVlc3QoKSBjb25zdAoreworICAgIGlmICghbV9yZXNv
dXJjZVJlcXVlc3RXcmFwcGVyLmdldCgpKQorICAgICAgICBtX3Jlc291cmNlUmVxdWVzdFdyYXBw
ZXIucmVzZXQobmV3IFdyYXBwZWRSZXNvdXJjZVJlcXVlc3QobV9wcml2YXRlLT5yZXNvdXJjZVJl
cXVlc3QoKSkpOworICAgIGVsc2UKKyAgICAgICAgbV9yZXNvdXJjZVJlcXVlc3RXcmFwcGVyLT5i
aW5kKG1fcHJpdmF0ZS0+cmVzb3VyY2VSZXF1ZXN0KCkpOworICAgIHJldHVybiAqbV9yZXNvdXJj
ZVJlcXVlc3RXcmFwcGVyLmdldCgpOworfQorCitXZWJTdHJpbmcgV2ViQ2FjaGVkVVJMUmVxdWVz
dDo6Y2hhcnNldCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFdlYlN0cmluZyhtX3ByaXZhdGUtPmNo
YXJzZXQoKSk7Cit9CisKK2Jvb2wgV2ViQ2FjaGVkVVJMUmVxdWVzdDo6Zm9yUHJlbG9hZCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fcHJpdmF0ZS0+Zm9yUHJlbG9hZCgpOworfQorCitXZWJTdHJp
bmcgV2ViQ2FjaGVkVVJMUmVxdWVzdDo6aW5pdGlhdG9yTmFtZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIFdlYlN0cmluZyhtX3ByaXZhdGUtPmluaXRpYXRvck5hbWUoKSk7Cit9CisKK1dlYkVsZW1l
bnQgV2ViQ2FjaGVkVVJMUmVxdWVzdDo6aW5pdGlhdG9yRWxlbWVudCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIFdlYkVsZW1lbnQobV9wcml2YXRlLT5pbml0aWF0b3JFbGVtZW50KCkpOworfQorCitX
ZWJDYWNoZWRVUkxSZXF1ZXN0OjpXZWJDYWNoZWRVUkxSZXF1ZXN0KENhY2hlZFJlc291cmNlUmVx
dWVzdCogcmVxdWVzdCkKKyAgICA6IG1fcHJpdmF0ZShyZXF1ZXN0KQoreworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA2ZTY1OWJiMDQ2NjU5Mzg3M2FkYzBjYWEzN2JkNDczNzBkNjUyMjMxLi5lNDA0
MjgxYjJkZGRjNWJhNWJhZmFjYTEzMDc5ZjczZTA5ODk3NDg2IDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTItMTEt
MjcgIE1hcmphIEjDtmx0dMOkICA8bWFyamFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEFkZCBj
YWxsYmFja3MgdG8gdGhlIEZyYW1lTG9hZGVyQ2xpZW50IHdoZW4gYSByZXNvdXJjZSBpcyByZXF1
ZXN0ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTky
NzYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBJbiBDaHJv
bWl1bSwgd2hlbiBhbiBleHRlbnNpb24gc2NyaXB0IGNhbmNlbHMgYSBuZXR3b3JrCisgICAgICAg
IHJlcXVlc3QgKHdoaWNoIGhhcHBlbnMgb3V0IG9mIHByb2Nlc3MpLCB3ZSdkIGxpa2UgdG8KKyAg
ICAgICAgbm90aWZ5IGNvbnRlbnQgc2NyaXB0cyBydW5uaW5nIG9uIHRoZSBjdXJyZW50IHBhZ2Ug
YWJvdXQKKyAgICAgICAgd2hpY2ggZWxlbWVudHMgZmFpbGVkIHRvIGxvYWQgYmVjYXVzZSB0aGUg
cmVxdWVzdHMgd2VyZQorICAgICAgICBjYW5jZWxsZWQgKGFzIG9wcG9zZWQgdG8gZS5nLiB0aGUg
bmV0d29yayByZXF1ZXN0IGp1c3QKKyAgICAgICAgZGlkbid0IHdvcmspLiBTaW5jZSB0aGUgcmVz
b3VyY2UgcmVxdWVzdCBpdHNlbGYgZG9lcyBub3QKKyAgICAgICAgY2FycnkgYW55IGluZm9ybWF0
aW9uIHdoYXQgRE9NIGVsZW1lbnQgaXMgd2FzIG1hZGUgZm9yLAorICAgICAgICBjdXJyZW50bHkg
YSBjb250ZW50IHNjcmlwdCBoYXMgdG8gc2VhcmNoIHRoZSBET00gdHJlZSBhbmQKKyAgICAgICAg
Z3Vlc3Mgd2hpY2ggcmVxdWVzdHMgd2lsbCBiZSBjYW5jZWxsZWQgYnkgaXRzIGNvdW50ZXIKKyAg
ICAgICAgcGFydC4gQnkgYWRkaW5nIHRoZXNlIGNhbGxiYWNrcywgdGhlIGVtYmVkZGVyIGNhbiBt
YWtlCisgICAgICAgIHRoaXMgY29ubmVjdGlvbiBleHBsaWN0bHkuCisKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKERSVFRlc3RS
dW5uZXI6OkRSVFRlc3RSdW5uZXIpOgorICAgICAgICAoRFJUVGVzdFJ1bm5lcjo6ZHVtcFJlc291
cmNlUmVxdWVzdENhbGxiYWNrcyk6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpyZXNldCk6Cisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oOgorICAgICAg
ICAoRFJUVGVzdFJ1bm5lcik6CisgICAgICAgIChEUlRUZXN0UnVubmVyOjpzZXRTaG91bGREdW1w
UmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKToKKyAgICAgICAgKERSVFRlc3RSdW5uZXI6OnNob3Vs
ZER1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RTaGVsbC5oOgorICAgICAgICAoVGVzdFNoZWxsOjpzaG91bGREdW1wUmVz
b3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9zdDo6d2lsbFJlcXVlc3RSZXNv
dXJjZSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaDoK
KyAgICAgICAgKFdlYlZpZXdIb3N0KToKKwogMjAxMi0xMS0yMiAgQmFsYXpzIEtlbGVtZW4gIDxr
YmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XVtXVFJdIFRlc3RDb250cm9sbGVyOjpw
bGF0Zm9ybVJ1blVudGlsIHNob3VsZCBub3QgZG8gYnVzeSB3YWl0aW5nCmRpZmYgLS1naXQgYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0UnVubmVyLmNwcCBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RSVFRlc3RSdW5uZXIuY3BwCmluZGV4IDJmODM5N2JlZTQ1
MzViZmEwYWZhZDI4YjAwODQ2ZThlMjMyY2FiODAuLmUyMjU1Yzc5M2I3MDBkOGEwN2QzNGQ2NmE0
NTU2ODE1ZmZmODRmNWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0RSVFRlc3RSdW5uZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RS
VFRlc3RSdW5uZXIuY3BwCkBAIC0xMzksNiArMTM5LDcgQEAgRFJUVGVzdFJ1bm5lcjo6RFJUVGVz
dFJ1bm5lcihUZXN0U2hlbGwqIHNoZWxsKQogICAgIGJpbmRNZXRob2QoImR1bXBQcm9ncmVzc0Zp
bmlzaGVkQ2FsbGJhY2siLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFByb2dyZXNzRmluaXNoZWRDYWxs
YmFjayk7CiAgICAgYmluZE1ldGhvZCgiZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFj
a3MiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3Mp
OwogICAgIGJpbmRNZXRob2QoImR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MiLCAmRFJUVGVzdFJ1
bm5lcjo6ZHVtcFJlc291cmNlTG9hZENhbGxiYWNrcyk7CisgICAgYmluZE1ldGhvZCgiZHVtcFJl
c291cmNlUmVxdWVzdENhbGxiYWNrcyIsICZEUlRUZXN0UnVubmVyOjpkdW1wUmVzb3VyY2VSZXF1
ZXN0Q2FsbGJhY2tzKTsKICAgICBiaW5kTWV0aG9kKCJkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVU
eXBlcyIsICZEUlRUZXN0UnVubmVyOjpkdW1wUmVzb3VyY2VSZXNwb25zZU1JTUVUeXBlcyk7CiAg
ICAgYmluZE1ldGhvZCgiZHVtcFNlbGVjdGlvblJlY3QiLCAmRFJUVGVzdFJ1bm5lcjo6ZHVtcFNl
bGVjdGlvblJlY3QpOwogICAgIGJpbmRNZXRob2QoImR1bXBTdGF0dXNDYWxsYmFja3MiLCAmRFJU
VGVzdFJ1bm5lcjo6ZHVtcFdpbmRvd1N0YXR1c0NoYW5nZXMpOwpAQCAtMzIyLDYgKzMyMywxMiBA
QCB2b2lkIERSVFRlc3RSdW5uZXI6OmR1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoY29uc3QgQ3Bw
QXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudAogICAgIHJlc3VsdC0+c2V0TnVsbCgpOwogfQogCit2
b2lkIERSVFRlc3RSdW5uZXI6OmR1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoY29uc3QgQ3Bw
QXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIG1fZHVtcFJlc291cmNl
UmVxdWVzdENhbGxiYWNrcyA9IHRydWU7CisgICAgcmVzdWx0LT5zZXROdWxsKCk7Cit9CisKIHZv
aWQgRFJUVGVzdFJ1bm5lcjo6ZHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoY29uc3QgQ3Bw
QXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIG1fZHVtcFJlc291cmNl
UmVzcG9uc2VNSU1FVHlwZXMgPSB0cnVlOwpAQCAtNTU2LDYgKzU2Myw3IEBAIHZvaWQgRFJUVGVz
dFJ1bm5lcjo6cmVzZXQoKQogICAgIG1fZHVtcFByb2dyZXNzRmluaXNoZWRDYWxsYmFjayA9IGZh
bHNlOwogICAgIG1fZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MgPSBmYWxzZTsK
ICAgICBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MgPSBmYWxzZTsKKyAgICBtX2R1bXBSZXNv
dXJjZVJlcXVlc3RDYWxsYmFja3MgPSBmYWxzZTsKICAgICBtX2R1bXBSZXNvdXJjZVJlc3BvbnNl
TUlNRVR5cGVzID0gZmFsc2U7CiAgICAgbV9kdW1wQmFja0ZvcndhcmRMaXN0ID0gZmFsc2U7CiAg
ICAgbV9kdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vRFJUVGVzdFJ1bm5lci5oCmluZGV4IDlmMDJlMWM1MzE3MGNj
YTFmY2E4ZDc2MmUxMjcyYjQ3MjExZTA1MmEuLjQ5ZjI3YzM2YmMxYzVmN2I4ZjI2NTcxMmM3NTE1
YTY5ZTQ0NTBlOGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0RS
VFRlc3RSdW5uZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9EUlRUZXN0
UnVubmVyLmgKQEAgLTExNiw3ICsxMTYsMTIgQEAgcHVibGljOgogICAgIC8vIGxpbmUgZm9yIGVh
Y2ggcmVzb3VyY2UgbG9hZCBjYWxsYmFjay4gSXQgdGFrZXMgbm8gYXJndW1lbnRzLCBhbmQgaWdu
b3JlcwogICAgIC8vIGFueSB0aGF0IG1heSBiZSBwcmVzZW50LgogICAgIHZvaWQgZHVtcFJlc291
cmNlTG9hZENhbGxiYWNrcyhjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7ICAg
IAotICAgIAorCisgICAgLy8gVGhpcyBmdW5jdGlvbiBzZXRzIGEgZmxhZyB0aGF0IHRlbGxzIHRo
ZSB0ZXN0X3NoZWxsIHRvIHByaW50IGEgbGluZSBvZgorICAgIC8vIGRlc2NyaXB0aXZlIHRleHQg
Zm9yIGVhY2ggZWxlbWVudCB0aGF0IHJlcXVlc3RlZCBhIHJlc291cmNlLiBJdCB0YWtlcyBubwor
ICAgIC8vIGFyZ3VtZW50cywgYW5kIGlnbm9yZXMgYW55IHRoYXQgbWF5IGJlIHByZXNlbnQuCisg
ICAgdm9pZCBkdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKGNvbnN0IENwcEFyZ3VtZW50TGlz
dCYsIENwcFZhcmlhbnQqKTsKKwogICAgIC8vIFRoaXMgZnVuY3Rpb24gc2V0cyBhIGZsYWcgdGhh
dCB0ZWxscyB0aGUgdGVzdF9zaGVsbCB0byBkdW1wIHRoZSBNSU1FIHR5cGUKICAgICAvLyBmb3Ig
ZWFjaCByZXNvdXJjZSB0aGF0IHdhcyBsb2FkZWQuIEl0IHRha2VzIG5vIGFyZ3VtZW50cywgYW5k
IGlnbm9yZXMgYW55CiAgICAgLy8gdGhhdCBtYXkgYmUgcHJlc2VudC4KQEAgLTMxOCw2ICszMjMs
OCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzaG91bGREdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENh
bGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3M7
IH0KICAgICB2b2lkIHNldFNob3VsZER1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tz
KGJvb2wgdmFsdWUpIHsgbV9kdW1wVXNlckdlc3R1cmVJbkZyYW1lTG9hZENhbGxiYWNrcyA9IHZh
bHVlOyB9CiAgICAgYm9vbCBzaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCkge3JldHVy
biBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3M7IH0KKyAgICB2b2lkIHNldFNob3VsZER1bXBS
ZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoYm9vbCB2YWx1ZSkgeyBtX2R1bXBSZXNvdXJjZVJlcXVl
c3RDYWxsYmFja3MgPSB2YWx1ZTsgfQorICAgIGJvb2wgc2hvdWxkRHVtcFJlc291cmNlUmVxdWVz
dENhbGxiYWNrcygpIHsgcmV0dXJuIG1fZHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrczsgfQog
ICAgIHZvaWQgc2V0U2hvdWxkRHVtcFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoYm9vbCB2YWx1
ZSkgeyBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzID0gdmFsdWU7IH0KICAgICBib29s
IHNob3VsZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCkge3JldHVybiBtX2R1bXBSZXNv
dXJjZVJlc3BvbnNlTUlNRVR5cGVzOyB9CiAgICAgYm9vbCBzaG91bGREdW1wU3RhdHVzQ2FsbGJh
Y2tzKCkgeyByZXR1cm4gbV9kdW1wV2luZG93U3RhdHVzQ2hhbmdlczsgfQpAQCAtNDUxLDcgKzQ1
OCwxMSBAQCBwcml2YXRlOgogICAgIC8vIElmIHRydWUsIHRoZSB0ZXN0X3NoZWxsIHdpbGwgb3V0
cHV0IGEgZGVzY3JpcHRpdmUgbGluZSBmb3IgZWFjaCByZXNvdXJjZQogICAgIC8vIGxvYWQgY2Fs
bGJhY2suCiAgICAgYm9vbCBtX2R1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3M7Ci0gICAgCisKKyAg
ICAvLyBJZiB0cnVlLCB0aGUgdGVzdF9zaGVsbCB3aWxsIG91dHB1dCBhIGRlc2NyaXB0aXZlIGxp
bmUgZm9yIGVhY2ggcmVzb3VyY2UKKyAgICAvLyByZXF1ZXN0IGNhbGxiYWNrLgorICAgIGJvb2wg
bV9kdW1wUmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzOworCiAgICAgLy8gSWYgdHJ1ZSwgdGhlIHRl
c3Rfc2hlbGwgd2lsbCBvdXRwdXQgdGhlIE1JTUUgdHlwZSBmb3IgZWFjaCByZXNvdXJjZSB0aGF0
IAogICAgIC8vIHdhcyBsb2FkZWQuCiAgICAgYm9vbCBtX2R1bXBSZXNvdXJjZVJlc3BvbnNlTUlN
RVR5cGVzOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNo
ZWxsLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAppbmRleCA5
MTIwMTIxZGIzODcxZGY5MjkyMDliODk5NGU5ZGMwZDYyYzcyMWRiLi4zMDZmMzVjZDFlODI4ZDgz
ZTE3YjgzYzU4ZDQyYzQzYjllZGIyMWRhIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9UZXN0U2hlbGwuaApAQCAtMTEyLDYgKzExMiw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0
Rm9jdXMoV2ViS2l0OjpXZWJXaWRnZXQqLCBib29sIGVuYWJsZSk7CiAgICAgYm9vbCBzaG91bGRE
dW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5n
IHx8IG1fdGVzdElzUGVuZGluZykgJiYgdGVzdFJ1bm5lcigpLT5zaG91bGREdW1wRnJhbWVMb2Fk
Q2FsbGJhY2tzKCk7IH0KKyAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFj
a3MoKSBjb25zdCB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5n
KSAmJiB0ZXN0UnVubmVyKCktPnNob3VsZER1bXBSZXNvdXJjZVJlcXVlc3RDYWxsYmFja3MoKTsg
fQogICAgIGJvb2wgc2hvdWxkRHVtcFVzZXJHZXN0dXJlSW5GcmFtZUxvYWRDYWxsYmFja3MoKSBj
b25zdCB7IHJldHVybiAobV90ZXN0SXNQcmVwYXJpbmcgfHwgbV90ZXN0SXNQZW5kaW5nKSAmJiB0
ZXN0UnVubmVyKCktPnNob3VsZER1bXBVc2VyR2VzdHVyZUluRnJhbWVMb2FkQ2FsbGJhY2tzKCk7
IH0KICAgICBib29sIHNob3VsZER1bXBSZXNvdXJjZUxvYWRDYWxsYmFja3MoKSBjb25zdCAgeyBy
ZXR1cm4gKG1fdGVzdElzUHJlcGFyaW5nIHx8IG1fdGVzdElzUGVuZGluZykgJiYgdGVzdFJ1bm5l
cigpLT5zaG91bGREdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCk7IH0KICAgICBib29sIHNob3Vs
ZER1bXBSZXNvdXJjZVJlc3BvbnNlTUlNRVR5cGVzKCkgY29uc3QgIHsgcmV0dXJuIChtX3Rlc3RJ
c1ByZXBhcmluZyB8fCBtX3Rlc3RJc1BlbmRpbmcpICYmIHRlc3RSdW5uZXIoKS0+c2hvdWxkRHVt
cFJlc291cmNlUmVzcG9uc2VNSU1FVHlwZXMoKTsgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCmluZGV4IGJhZjhkMGQ5ZTNkMzYzNGYxYmE1Y2NhNGUy
MjExOWQ1NWE1NzZlMjEuLmQ2NTJjODFlZTkwYTNlNTJjNTdkMWEzODA2MjYxMzg4YTEzZDYwZmIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNw
cAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKQEAg
LTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJUZXN0TmF2aWdhdGlvbkNvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJUZXN0U2hlbGwuaCIKICNpbmNsdWRlICJUZXN0V2ViUGx1Z2luLmgiCisjaW5jbHVk
ZSAiV2ViQ2FjaGVkVVJMUmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYkNvbnNvbGVNZXNzYWdlLmgi
CiAjaW5jbHVkZSAiV2ViQ29udGV4dE1lbnVEYXRhLmgiCiAjaW5jbHVkZSAiV2ViRE9NTWVzc2Fn
ZUV2ZW50LmgiCkBAIC0xMTM5LDYgKzExNDAsMjMgQEAgc3RhdGljIGJvb2wgaG9zdElzVXNlZEJ5
U29tZVRlc3RzVG9HZW5lcmF0ZUVycm9yKGNvbnN0IHN0cmluZyYgaG9zdCkKICAgICByZXR1cm4g
aG9zdCA9PSAiMjU1LjI1NS4yNTUuMjU1IjsKIH0KIAordm9pZCBXZWJWaWV3SG9zdDo6d2lsbFJl
cXVlc3RSZXNvdXJjZShXZWJLaXQ6OldlYkZyYW1lKiBmcmFtZSwgY29uc3QgV2ViS2l0OjpXZWJD
YWNoZWRVUkxSZXF1ZXN0JiByZXF1ZXN0KQoreworICAgIGlmIChtX3NoZWxsLT5zaG91bGREdW1w
UmVzb3VyY2VSZXF1ZXN0Q2FsbGJhY2tzKCkpIHsKKyAgICAgICAgcHJpbnRGcmFtZURlc2NyaXB0
aW9uKGZyYW1lKTsKKyAgICAgICAgV2ViRWxlbWVudCBlbGVtZW50ID0gcmVxdWVzdC5pbml0aWF0
b3JFbGVtZW50KCk7CisgICAgICAgIGlmICghZWxlbWVudC5pc051bGwoKSkgeworICAgICAgICAg
ICAgcHJpbnRmKCIgLSBlbGVtZW50IHdpdGggIik7CisgICAgICAgICAgICBpZiAoZWxlbWVudC5o
YXNBdHRyaWJ1dGUoImlkIikpCisgICAgICAgICAgICAgICAgcHJpbnRmKCJpZCAnJXMnIiwgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoImlkIikudXRmOCgpLmRhdGEoKSk7CisgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgcHJpbnRmKCJubyBpZCIpOworICAgICAgICB9IGVsc2UKKyAgICAg
ICAgICAgIHByaW50ZigiIC0gJXMiLCByZXF1ZXN0LmluaXRpYXRvck5hbWUoKS51dGY4KCkuZGF0
YSgpKTsKKyAgICAgICAgcHJpbnRmKCIgcmVxdWVzdGVkICclcydcbiIsIFVSTERlc2NyaXB0aW9u
KHJlcXVlc3QudXJsUmVxdWVzdCgpLnVybCgpKS5jX3N0cigpKTsKKyAgICB9Cit9CisKIHZvaWQg
V2ViVmlld0hvc3Q6OndpbGxTZW5kUmVxdWVzdChXZWJGcmFtZSogZnJhbWUsIHVuc2lnbmVkIGlk
ZW50aWZpZXIsIFdlYlVSTFJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFdlYlVSTFJlc3BvbnNlJiBy
ZWRpcmVjdFJlc3BvbnNlKQogewogICAgIC8vIE5lZWQgdG8gdXNlIEdVUkwgZm9yIGhvc3QoKSBh
bmQgU2NoZW1lSXMoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVmlld0hvc3QuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0
LmgKaW5kZXggZWI0MWQ1NGE0NmQzNTZlYTIwNjNjNjNjZDA4N2Y0Y2E1YzJmZjA1MS4uOTc5MDZl
YjI2NzJmYjYwOTg5ODY0MGEwZmMyOWQ5NDJhM2EzNmNmMiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCkBAIC0yNjAsNiArMjYwLDcgQEAgY2xhc3MgV2Vi
Vmlld0hvc3QgOiBwdWJsaWMgV2ViS2l0OjpXZWJWaWV3Q2xpZW50LCBwdWJsaWMgV2ViS2l0OjpX
ZWJGcmFtZUNsaWVudCwKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ2hhbmdlTG9jYXRpb25XaXRoaW5Q
YWdlKFdlYktpdDo6V2ViRnJhbWUqKTsKICAgICB2aXJ0dWFsIHZvaWQgYXNzaWduSWRlbnRpZmll
clRvUmVxdWVzdChXZWJLaXQ6OldlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgY29uc3Qg
V2ViS2l0OjpXZWJVUkxSZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUlkZW50aWZp
ZXJGb3JSZXF1ZXN0KHVuc2lnbmVkIGlkZW50aWZpZXIpOworICAgIHZpcnR1YWwgdm9pZCB3aWxs
UmVxdWVzdFJlc291cmNlKFdlYktpdDo6V2ViRnJhbWUqLCBjb25zdCBXZWJLaXQ6OldlYkNhY2hl
ZFVSTFJlcXVlc3QmKTsKICAgICB2aXJ0dWFsIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KFdlYktpdDo6
V2ViRnJhbWUqLCB1bnNpZ25lZCBpZGVudGlmaWVyLCBXZWJLaXQ6OldlYlVSTFJlcXVlc3QmLCBj
b25zdCBXZWJLaXQ6OldlYlVSTFJlc3BvbnNlJik7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2Vp
dmVSZXNwb25zZShXZWJLaXQ6OldlYkZyYW1lKiwgdW5zaWduZWQgaWRlbnRpZmllciwgY29uc3Qg
V2ViS2l0OjpXZWJVUkxSZXNwb25zZSYpOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hSZXNv
dXJjZUxvYWQoV2ViS2l0OjpXZWJGcmFtZSosIHVuc2lnbmVkIGlkZW50aWZpZXIpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGRlMWEzOTFiMmI5Y2QzNjNiYmJkNWVmMDQyYjViMTgwOTgzODNjMDcuLmFkODc5NDliYzA5NGJk
MTAxY2YyZGY5OTUzZTRiNzlkNTczN2U1NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMi0x
MS0yNyAgTWFyamEgSMO2bHR0w6QgIDxtYXJqYUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQWRk
IGNhbGxiYWNrcyB0byB0aGUgRnJhbWVMb2FkZXJDbGllbnQgd2hlbiBhIHJlc291cmNlIGlzIHJl
cXVlc3RlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTI3NjEKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIEluIENo
cm9taXVtLCB3aGVuIGFuIGV4dGVuc2lvbiBzY3JpcHQgY2FuY2VscyBhIG5ldHdvcmsKKyAgICAg
ICAgcmVxdWVzdCAod2hpY2ggaGFwcGVucyBvdXQgb2YgcHJvY2VzcyksIHdlJ2QgbGlrZSB0bwor
ICAgICAgICBub3RpZnkgY29udGVudCBzY3JpcHRzIHJ1bm5pbmcgb24gdGhlIGN1cnJlbnQgcGFn
ZSBhYm91dAorICAgICAgICB3aGljaCBlbGVtZW50cyBmYWlsZWQgdG8gbG9hZCBiZWNhdXNlIHRo
ZSByZXF1ZXN0cyB3ZXJlCisgICAgICAgIGNhbmNlbGxlZCAoYXMgb3Bwb3NlZCB0byBlLmcuIHRo
ZSBuZXR3b3JrIHJlcXVlc3QganVzdAorICAgICAgICBkaWRuJ3Qgd29yaykuIFNpbmNlIHRoZSBy
ZXNvdXJjZSByZXF1ZXN0IGl0c2VsZiBkb2VzIG5vdAorICAgICAgICBjYXJyeSBhbnkgaW5mb3Jt
YXRpb24gd2hhdCBET00gZWxlbWVudCBpcyB3YXMgbWFkZSBmb3IsCisgICAgICAgIGN1cnJlbnRs
eSBhIGNvbnRlbnQgc2NyaXB0IGhhcyB0byBzZWFyY2ggdGhlIERPTSB0cmVlIGFuZAorICAgICAg
ICBndWVzcyB3aGljaCByZXF1ZXN0cyB3aWxsIGJlIGNhbmNlbGxlZCBieSBpdHMgY291bnRlcgor
ICAgICAgICBwYXJ0LiBCeSBhZGRpbmcgdGhlc2UgY2FsbGJhY2tzLCB0aGUgZW1iZWRkZXIgY2Fu
IG1ha2UKKyAgICAgICAgdGhpcyBjb25uZWN0aW9uIGV4cGxpY3RseS4KKworICAgICAgICAqIHBs
YXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJhY2tzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2Fk
ZXIvcmVzb3VyY2UtcmVxdWVzdC1jYWxsYmFja3MuaHRtbDogQWRkZWQuCisKIDIwMTItMTEtMjIg
IEtyaXN0w7NmIEtvc3p0ecOzICA8a2tyaXN0b2ZAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAg
IFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291cmNlLXJlcXVlc3QtY2FsbGJhY2tzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Zhc3QvbG9hZGVyL3Jlc291
cmNlLXJlcXVlc3QtY2FsbGJhY2tzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODM5OWVjOWEy
MTQ4YWJkODc1NjE3ZGQyNDZjODExYTllMmUzMjQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvcmVzb3VyY2UtcmVxdWVzdC1jYWxs
YmFja3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK21haW4gZnJhbWUgLSBjc3MgcmVx
dWVzdGVkICdndzQzMjA0Ny50dGYnCittYWluIGZyYW1lIC0gY3NzIHJlcXVlc3RlZCAnZ3JlZW5i
b3gtaG90c3BvdDM1LTQuY3VyJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBpZCAnd2l0aC1i
YWNrZ3JvdW5kJyByZXF1ZXN0ZWQgJ2xlbm5hLnBuZycKK21haW4gZnJhbWUgLSBlbGVtZW50IHdp
dGggaWQgJ2ltZy1ub3JtYWwnIHJlcXVlc3RlZCAnZGljZS5wbmcnCittYWluIGZyYW1lIC0gZWxl
bWVudCB3aXRoIGlkICdpbWctY2hhbmdpbmcnIHJlcXVlc3RlZCAnZGljZS5wbmcnCittYWluIGZy
YW1lIC0gZWxlbWVudCB3aXRoIGlkICdpbWctbm90LXRoZXJlJyByZXF1ZXN0ZWQgJ25vdC1leGlz
dGluZy5wbmcnCittYWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIG5vIGlkIHJlcXVlc3RlZCAnanMt
dGVzdC1wb3N0LmpzJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBpZCAnaW1nLWNoYW5naW5n
JyByZXF1ZXN0ZWQgJ211LnBuZycKK21haW4gZnJhbWUgLSBlbGVtZW50IHdpdGggaWQgJ2ltZy1j
cmVhdGVkJyByZXF1ZXN0ZWQgJ292YWwucG5nJworbWFpbiBmcmFtZSAtIGVsZW1lbnQgd2l0aCBp
ZCAnaW1nLWNyZWF0ZWQtMicgcmVxdWVzdGVkICdwbmdfcGVyX3Jvd19hbHBoYS5wbmcnCittYWlu
IGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICdzY3JpcHQtY3JlYXRlZCcgcmVxdWVzdGVkICdlbXB0
eS1zY3JpcHQuanMnCittYWluIGZyYW1lIC0gZWxlbWVudCB3aXRoIGlkICd3aXRoLWJhY2tncm91
bmQnIHJlcXVlc3RlZCAncGFsYXR0ZWQtY29sb3ItcG5nLWdhbW1hLW9uZS1jb2xvci1wcm9maWxl
LnBuZycKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgY29ycmVjdCBjYWxsYmFja3MgZm9yIHJl
c291cmNlIHJlcXVlc3RzIGFyZSBpbnZva2VkLiBJdCBwYXNzZXMgaWYgeW91IHNlZSB0aGUgY2Fs
bGJhY2tzIGZvciBlaWdodCByZXNvdXJjZXMuCisKKyAgICAKKworUEFTUyAKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9mYXN0L2xvYWRlci9yZXNvdXJjZS1yZXF1ZXN0LWNh
bGxiYWNrcy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIv
cmVzb3VyY2UtcmVxdWVzdC1jYWxsYmFja3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMGVmZGVlZmJiZGJm
ZTY2N2VkN2UzOTg0MjNkNGJlZTM3NjU3YTY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vY2hyb21pdW0vZmFzdC9sb2FkZXIvcmVzb3VyY2UtcmVxdWVzdC1jYWxsYmFj
a3MuaHRtbApAQCAtMCwwICsxLDc3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICAg
IHRlc3RSdW5uZXIuZHVtcFJlc291cmNlUmVxdWVzdENhbGxiYWNrcygpOworfSBlbHNlIHsKKyAg
ICBkb2N1bWVudC53cml0ZSgiVGhpcyB0ZXN0IGNhbm5vdCBydW4gd2l0aG91dCBhIHRlc3RSdW5u
ZXIiKTsKK30KKworZnVuY3Rpb24gcmVxdWVzdE1vcmVSZXNvdXJjZXMoKSB7CisgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImltZy1jaGFuZ2luZyIpLnNyYyA9ICIuLi8uLi8uLi8uLi9mYXN0
L2ltYWdlcy9yZXNvdXJjZXMvbXUucG5nIjsKKworICAgIHZhciBjcmVhdGVkSW1hZ2UgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTsKKyAgICBjcmVhdGVkSW1hZ2UuaWQgPSAiaW1nLWNy
ZWF0ZWQiOworICAgIGNyZWF0ZWRJbWFnZS5zcmMgPSAiLi4vLi4vLi4vLi4vZmFzdC9pbWFnZXMv
cmVzb3VyY2VzL292YWwucG5nIjsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaW1hZ2Vz
IikuYXBwZW5kQ2hpbGQoY3JlYXRlZEltYWdlKTsKKworICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ3aXRoLWJhY2tncm91bmQiKS5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSAidXJsKC4uLy4u
Ly4uLy4uL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9wYWxhdHRlZC1jb2xvci1wbmctZ2FtbWEtb25l
LWNvbG9yLXByb2ZpbGUucG5nKSI7CisKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibW9y
ZS1pbWFnZXMiKS5pbm5lckhUTUwgPSAiPGltZyBpZD0naW1nLWNyZWF0ZWQtMicgc3JjPScuLi8u
Li8uLi8uLi9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvcG5nX3Blcl9yb3dfYWxwaGEucG5nJz4iOwor
CisgICAgdmFyIGNyZWF0ZWRTY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQi
KTsKKyAgICBjcmVhdGVkU2NyaXB0LmlkID0gInNjcmlwdC1jcmVhdGVkIjsKKyAgICBjcmVhdGVk
U2NyaXB0LnNyYyA9ICIuLi8uLi8uLi8uLi9mYXN0L2xvYWRlci9yZXNvdXJjZXMvZW1wdHktc2Ny
aXB0LmpzIjsKKyAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGNyZWF0ZWRTY3JpcHQpOwor
CisgICAgc2V0VGltZW91dChmaW5pc2hUZXN0LCAwKTsKK30KKworZnVuY3Rpb24gZmluaXNoVGVz
dCgpIHsKKyAgICB0ZXN0UGFzc2VkKCIiKTsKKyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKzwvc2Ny
aXB0PgorPHN0eWxlPgorI3dpdGgtYmFja2dyb3VuZAoreworICAgIGJhY2tncm91bmQtaW1hZ2U6
dXJsKCIuLi8uLi8uLi8uLi9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvbGVubmEucG5nIik7Cit9Citi
b2R5Cit7CisgICAgY3Vyc29yOnVybCgiLi4vLi4vLi4vLi4vZmFzdC9ldmVudHMvcmVzb3VyY2Vz
L2dyZWVuYm94LWhvdHNwb3QzNS00LmN1ciIpLCBwb2ludGVyOworfQorQGZvbnQtZmFjZQorewor
ICAgIGZvbnQtZmFtaWx5OiBjdXN0b21fZm9udDsKKyAgICBzcmM6IHVybCgiLi4vLi4vLi4vLi4v
ZmFzdC90ZXh0L3Jlc291cmNlcy9ndzQzMjA0Ny50dGYiKTsKK30KK3AKK3sKKyAgICBmb250LWZh
bWlseTogY3VzdG9tX2ZvbnQ7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJz
ZXRUaW1lb3V0KHJlcXVlc3RNb3JlUmVzb3VyY2VzLCAxMDApOyI+Cis8ZGl2IGlkPSJ3aXRoLWJh
Y2tncm91bmQiPgorPHA+CisgICAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSBjb3JyZWN0IGNh
bGxiYWNrcyBmb3IgcmVzb3VyY2UgcmVxdWVzdHMgYXJlCisgICAgaW52b2tlZC4gSXQgcGFzc2Vz
IGlmIHlvdSBzZWUgdGhlIGNhbGxiYWNrcyBmb3IgZWlnaHQgcmVzb3VyY2VzLgorPC9wPgorPC9k
aXY+Cis8ZGl2IGlkPSJpbWFnZXMiPgorPGltZyBpZD0iaW1nLW5vcm1hbCIgc3JjPSIuLi8uLi8u
Li8uLi9mYXN0L2ltYWdlcy9yZXNvdXJjZXMvZGljZS5wbmciIC8+Cis8aW1nIGlkPSJpbWctY2hh
bmdpbmciIHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9pbWFnZXMvcmVzb3VyY2VzL2RpY2UucG5nIiAv
PgorPGltZyBpZD0iaW1nLWZhaWwiIC8+Cis8aW1nIGlkPSJpbWctbm90LXRoZXJlIiBzcmM9Im5v
dC1leGlzdGluZy5wbmciIC8+Cis8L2Rpdj4KKzxkaXYgaWQ9Im1vcmUtaW1hZ2VzIj4KKzwvZGl2
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>