<?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>128175</bug_id>
          
          <creation_ts>2014-02-04 05:00:20 -0800</creation_ts>
          <short_desc>REGRESSION(r162947): Document::topDocument() returns an incorrect reference for cached Documents</short_desc>
          <delta_ts>2014-02-26 09:49:31 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>cfleizach</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>mario</cc>
    
    <cc>mpakulavelrutka</cc>
    
    <cc>t.tom</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>976286</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-04 05:00:20 -0800</bug_when>
    <thetext>[GTK] CachedFrame::destroy() should clear the Document&apos;s AXObjectCache before destroying CachedFrame children</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976287</commentid>
    <comment_count>1</comment_count>
      <attachid>223099</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-04 05:05:11 -0800</bug_when>
    <thetext>Created attachment 223099
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976302</commentid>
    <comment_count>2</comment_count>
      <attachid>223099</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-02-04 06:04:43 -0800</bug_when>
    <thetext>Comment on attachment 223099
Patch

I&apos;m almost ok with this patch, but I just realized that this might be a problem if CachedFrame is not the main frame, since clearAXObjectCache() is meant to be called only over the top document (as returned by Document::topDocument().

Thus, could you just update this patch to make that call conditioned to this-&gt;isMainFrame() (or to m_document == &amp;m_document-&gt;topDocument()) and check whether that fixes the crash equally well? If that&apos;s the case, I&apos;ll be happy to r+ the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976313</commentid>
    <comment_count>3</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-04 06:30:08 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 223099 [details])
&gt; I&apos;m almost ok with this patch, but I just realized that this might be a problem if CachedFrame is not the main frame, since clearAXObjectCache() is meant to be called only over the top document (as returned by Document::topDocument().
&gt; 
&gt; Thus, could you just update this patch to make that call conditioned to this-&gt;isMainFrame() (or to m_document == &amp;m_document-&gt;topDocument()) and check whether that fixes the crash equally well? If that&apos;s the case, I&apos;ll be happy to r+ the patch

I understand what you&apos;re aiming at, after all there&apos;s an ASSERT for just that condition in Document::clearAXObjectCache().

Calling that method only for the top document doesn&apos;t fix the crashes, though. This outlines the bigger problem of non-top documents having their own AXObjectCaches created.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976317</commentid>
    <comment_count>4</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2014-02-04 06:44:15 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; [...]
&gt; Calling that method only for the top document doesn&apos;t fix the crashes, though. 
&gt; This outlines the bigger problem of non-top documents having their own 
&gt; AXObjectCaches created.

Yes, that seems to be another (and bigger) issue. However, I assume that was written that way for some reason, so before letting this in I&apos;d rather have Chris&apos;s opinion on this (adding him to CC).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976322</commentid>
    <comment_count>5</comment_count>
      <attachid>223099</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-04 06:50:47 -0800</bug_when>
    <thetext>Comment on attachment 223099
Patch

Removing the review flag since this patch is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976335</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-04 07:16:02 -0800</bug_when>
    <thetext>This regressed with r162947 which changed the way the top document is determined.
http://trac.webkit.org/changeset/162947</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976402</commentid>
    <comment_count>7</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-02-04 09:51:16 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; (From update of attachment 223099 [details] [details])
&gt; &gt; I&apos;m almost ok with this patch, but I just realized that this might be a problem if CachedFrame is not the main frame, since clearAXObjectCache() is meant to be called only over the top document (as returned by Document::topDocument().
&gt; &gt; 
&gt; &gt; Thus, could you just update this patch to make that call conditioned to this-&gt;isMainFrame() (or to m_document == &amp;m_document-&gt;topDocument()) and check whether that fixes the crash equally well? If that&apos;s the case, I&apos;ll be happy to r+ the patch
&gt; 
&gt; I understand what you&apos;re aiming at, after all there&apos;s an ASSERT for just that condition in Document::clearAXObjectCache().
&gt; 
&gt; Calling that method only for the top document doesn&apos;t fix the crashes, though. This outlines the bigger problem of non-top documents having their own AXObjectCaches created.

As far as I know, non top documents should not have their own ax object cache. 
Why don&apos;t existing Frame destruction methods take care of this? Is it because topDocument returns a different value than before?

Can you post a backtrace for one of these crashes?

I&apos;m worried that this might throw out all objects if a subframe is removed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976501</commentid>
    <comment_count>8</comment_count>
      <attachid>223158</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-04 13:57:50 -0800</bug_when>
    <thetext>Created attachment 223158
Backtrace to ASSERT(&amp;topDocument == this || !m_axObjectCache)

This issue is being expressed in debug builds with an assertion in Document::axObjectCache().
http://trac.webkit.org/browser/trunk/Source/WebCore/dom/Document.cpp#L2183

This is happening due to the cached Document still being connected to the Frame object in which the currently-used Document resides. So when the cached Document&apos;s axObjectCache() is retrieved, the top Document is determined to be the current one.

The backtrace shows another, different problem -- the AXObjectCache::notificationPostTimerFired is called after the Document to which AXObjectCache belongs is cached. Is that acceptable? Should the method return early if the document is in cache?

This is all nicely exhibited by the LayoutTests/fast/history/timed-refresh-in-cached-frame.html layout test. When the test is done, the &apos;PASSED&apos; URL is loaded, producing a new document. The notification timer is fired after that for the AXObjectCache that belongs to the now-cached Document that presented timed-refresh-in-cached-frame.html, and the topDocument() for the latter Document returns the current Document of the main frame -- the Document presenting the &apos;PASSED&apos; content.
http://trac.webkit.org/browser/trunk/LayoutTests/fast/history/timed-refresh-in-cached-frame.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976741</commentid>
    <comment_count>9</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-05 08:09:39 -0800</bug_when>
    <thetext>The issue here is that the timed-refresh-in-cached-frame.html-containing Document gets cached in FrameLoader::commitProvisionalLoad()[1].
If it weren&apos;t cached, in Frame::setDocument()[2] prepareForDestruction() would be called on that Document object, which would disconnect it from the frame and subsequently the topDocument() method would return a reference to that object itself.

For instance, adjusting WebKitTestRunner to use the document viewer cache model bypasses the problem as the page cache capacity is dropped to 0 and no caching is done.[3]

CC-ing Antti who authored r162947.

[1] http://trac.webkit.org/browser/trunk/Source/WebCore/loader/FrameLoader.cpp#L1774
[2] http://trac.webkit.org/browser/trunk/Source/WebCore/page/Frame.cpp#L291
[3] http://trac.webkit.org/browser/trunk/Source/WebCore/history/PageCache.cpp#L375</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976760</commentid>
    <comment_count>10</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-02-05 09:06:02 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created an attachment (id=223158) [details]
&gt; Backtrace to ASSERT(&amp;topDocument == this || !m_axObjectCache)
&gt; 
&gt; This issue is being expressed in debug builds with an assertion in Document::axObjectCache().
&gt; http://trac.webkit.org/browser/trunk/Source/WebCore/dom/Document.cpp#L2183
&gt; 
&gt; This is happening due to the cached Document still being connected to the Frame object in which the currently-used Document resides. So when the cached Document&apos;s axObjectCache() is retrieved, the top Document is determined to be the current one.
&gt; 
&gt; The backtrace shows another, different problem -- the AXObjectCache::notificationPostTimerFired is called after the Document to which AXObjectCache belongs is cached. Is that acceptable? Should the method return early if the document is in cache?
&gt; 
&gt; This is all nicely exhibited by the LayoutTests/fast/history/timed-refresh-in-cached-frame.html layout test. When the test is done, the &apos;PASSED&apos; URL is loaded, producing a new document. The notification timer is fired after that for the AXObjectCache that belongs to the now-cached Document that presented timed-refresh-in-cached-frame.html, and the topDocument() for the latter Document returns the current Document of the main frame -- the Document presenting the &apos;PASSED&apos; content.
&gt; http://trac.webkit.org/browser/trunk/LayoutTests/fast/history/timed-refresh-in-cached-frame.html

So when a Document is cached, are all the render objects and nodes destroyed? Or are they kept around. Not that familiar with Document caching yet, so I&apos;m not fully sure of the implications associated with accessibility

Regarding notifications, we should probably return early if the document has moved to the cache. It seems that at that point it is no longer visible or usable to the user, so sending further notifications would not be useful</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977841</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-02-07 09:21:38 -0800</bug_when>
    <thetext>&lt;rdar://problem/16012340&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978899</commentid>
    <comment_count>12</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-10 08:47:31 -0800</bug_when>
    <thetext>I can confirm that reversing Document::topDocument() back to traversing up the chain of owner elements (i.e. reversing the changes made in r162947) completely fixes the problem.

Adding an early return in AXObjectCache::notificationPostTimerFired in case of document residing in the page cache only delays the problem until an assertion in the RenderObject destructor due to the m_hasAXObject flag equaling to true, indicating that AccessibilityRenderObjects are not being detached.
http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderObject.cpp#L122</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>978903</commentid>
    <comment_count>13</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-02-10 08:49:07 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; I can confirm that reversing Document::topDocument() back to traversing up the chain of owner elements (i.e. reversing the changes made in r162947) completely fixes the problem.
&gt; 
&gt; Adding an early return in AXObjectCache::notificationPostTimerFired in case of document residing in the page cache only delays the problem until an assertion in the RenderObject destructor due to the m_hasAXObject flag equaling to true, indicating that AccessibilityRenderObjects are not being detached.
&gt; http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderObject.cpp#L122

Maybe we should have an AX topDocument() method that does what the old behavior does</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979829</commentid>
    <comment_count>14</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-12 03:53:06 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (In reply to comment #12)
&gt; &gt; I can confirm that reversing Document::topDocument() back to traversing up the chain of owner elements (i.e. reversing the changes made in r162947) completely fixes the problem.
&gt; &gt; 
&gt; &gt; Adding an early return in AXObjectCache::notificationPostTimerFired in case of document residing in the page cache only delays the problem until an assertion in the RenderObject destructor due to the m_hasAXObject flag equaling to true, indicating that AccessibilityRenderObjects are not being detached.
&gt; &gt; http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/RenderObject.cpp#L122
&gt; 
&gt; Maybe we should have an AX topDocument() method that does what the old behavior does

I tried this approach, but it doesn&apos;t help.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979835</commentid>
    <comment_count>15</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-12 04:32:04 -0800</bug_when>
    <thetext>This only seems to be an issue on GTK and EFL WK2 ports (but not WK1) -- odd.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979921</commentid>
    <comment_count>16</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-02-12 11:00:36 -0800</bug_when>
    <thetext>&gt; So when a Document is cached, are all the render objects and nodes destroyed? 

There were some changes in this area, so I think that non-rendering code should be prepared for either behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979923</commentid>
    <comment_count>17</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-12 11:06:45 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; &gt; So when a Document is cached, are all the render objects and nodes destroyed? 
&gt; 
&gt; There were some changes in this area, so I think that non-rendering code should be prepared for either behavior.

At this time, Documents in Page Cache will retain their entire render trees, though it&apos;s expected that you don&apos;t interact with the renderers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979976</commentid>
    <comment_count>18</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-12 12:46:04 -0800</bug_when>
    <thetext>Falling back to traversing the ownership chain when the Document is in page cache or is having its render tree destroyed fixes all problems for the GTK port, and very likely the EFL port as well.

The first case led to assertions in Document::axObjectCache() (attachment #223158) and in the second case the AXObjectCache objects were not being destroyed, leaving the AccessibilityRenderObjects attached and leading to assertions in RenderObject destructors (mentioned in comment #12 and detailed in bug #128259).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>979990</commentid>
    <comment_count>19</comment_count>
      <attachid>224001</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-12 13:36:46 -0800</bug_when>
    <thetext>Created attachment 224001
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980889</commentid>
    <comment_count>20</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2014-02-14 11:35:00 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; Created an attachment (id=224001) [details]
&gt; Patch

This is also causing problems on Mac (like https://bugs.webkit.org/show_bug.cgi?id=128738)

Applying this patch seems to fix it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981266</commentid>
    <comment_count>21</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-16 01:37:47 -0800</bug_when>
    <thetext>*** Bug 128738 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981268</commentid>
    <comment_count>22</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-16 01:38:35 -0800</bug_when>
    <thetext>*** Bug 128259 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>982043</commentid>
    <comment_count>23</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-18 12:13:18 -0800</bug_when>
    <thetext>Given that this now affects all ports, could someone please review the patch?

The only concern I&apos;m having is whether the fast path is chosen only for the appropriate cases of state, current and future. Is this protected well enough or should Document::topDocument() behavior change back to traversing the owner elements?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983187</commentid>
    <comment_count>24</comment_count>
      <attachid>224001</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-02-21 06:01:31 -0800</bug_when>
    <thetext>Comment on attachment 224001
Patch

This looks like papering over the problem. At least in Mac case (bug 128738) the underlying issue seems to be calling topDocument in the middle of Document destruction. Calling into half-deleted objects is generally bad so the question should be how can we avoid that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>983331</commentid>
    <comment_count>25</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-21 13:50:43 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; (From update of attachment 224001 [details])
&gt; This looks like papering over the problem. At least in Mac case (bug 128738) the underlying issue seems to be calling topDocument in the middle of Document destruction. Calling into half-deleted objects is generally bad so the question should be how can we avoid that.

This problem, in this specific case, only became a real-world issue after Document::topDocument() was changed in a way that makes clearing the AX cache at the top of the frame tree prone to crashes.

Can we at least roll back the Document::topDocument() behavior to pre-r162947 to avoid the still-present crashes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984763</commentid>
    <comment_count>26</comment_count>
      <attachid>224001</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-02-26 09:25:05 -0800</bug_when>
    <thetext>Comment on attachment 224001
Patch

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

Ok, lets land this while we figure out a real fix.

&gt; Source/WebCore/dom/Document.cpp:4251
&gt; +    if (!m_inPageCache &amp;&amp; !m_renderTreeBeingDestroyed) {

Please add a FIXME here indicating that this is a workaround for AX teardown problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>984771</commentid>
    <comment_count>27</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-02-26 09:49:31 -0800</bug_when>
    <thetext>Committed r164718: &lt;http://trac.webkit.org/changeset/164718&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223099</attachid>
            <date>2014-02-04 05:05:11 -0800</date>
            <delta_ts>2014-02-12 13:36:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128175-20140204140508.patch</filename>
            <type>text/plain</type>
            <size>1795</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzMzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWM1ZTA5MTBiM2QwNmEx
ZmEyZGNiMWYwNWUyMGVlOTcxZTdhMjI1Zi4uMWU0Zjc1OWE5NDExYTY1YjdlZmZhYTYyMjVjNWZm
NjkzMjgyODIzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE0LTAyLTA0ICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBDYWNoZWRG
cmFtZTo6ZGVzdHJveSgpIHNob3VsZCBjbGVhciB0aGUgRG9jdW1lbnQncyBBWE9iamVjdENhY2hl
IGJlZm9yZSBkZXN0cm95aW5nIENhY2hlZEZyYW1lIGNoaWxkcmVuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjgxNzUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVuIGRlc3Ryb3lpbmcgdGhlIENhY2hl
ZEZyYW1lLCB0aGUgY2hpbGRyZW4gZnJhbWVzIGFyZSBkZXN0cm95ZWQgYmVmb3JlIHRoZSBBWE9i
amVjdENhY2hlCisgICAgICAgIG9mIHRoZSBEb2N1bWVudCBvZiB0aGUgcm9vdCBDYWNoZWRGcmFt
ZS4gVGhpcyBpcyBjYXVzaW5nIGFzc2VydGlvbnMgb24gdGhlIEdUSyBwb3J0IGR1ZSB0bworICAg
ICAgICBSZW5kZXJPYmplY3RzIGJlaW5nIGRlbGV0ZWQgZnJvbSB0aGUgY2hpbGRyZW4gZnJhbWVz
JyByZW5kZXIgdHJlZXMgYnV0IHN0aWxsIGJlYXJpbmcgdGhlCisgICAgICAgIEFYT2JqZWN0Q2Fj
aGUgbWFyayBkdWUgdG8gYmVpbmcgY29udGFpbmVkIGluIHRoZSBBWE9iamVjdENhY2hlIG9mIHRo
ZSByb290IGZyYW1lJ3MgZG9jdW1lbnQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC0gZml4ZXMg
Y3Jhc2hlcyBpbiBleGlzdGluZyBsYXlvdXQgdGVzdHMgb24gdGhlIEdUSyBwb3J0LgorCisgICAg
ICAgICogaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRG
cmFtZTo6ZGVzdHJveSk6CisKIDIwMTQtMDItMDQgIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBh
ZG9iZS5jb20+CiAKICAgICAgICAgW0NTUyBSZWdpb25zXSBGaXggQXNzZXJ0IFNIT1VMRCBORVZF
UiBCRSBSRUFDSEVEIGluIFJlbmRlckxheWVyOjplbmNsb3NpbmdFbGVtZW50KCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2hpc3RvcnkvQ2FjaGVkRnJhbWUuY3BwIGIvU291cmNlL1dlYkNv
cmUvaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHAKaW5kZXggNzIxZTllM2NmYzJmMTg3YWVlNWYzZmMy
YTAwYWQ0ZGQ2NjY3ZjdiOS4uMGE2MzE1M2ZjMTkxMjZkMDA1N2RlN2VjODRmOTNjOTI4MjgyMWEx
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9DYWNoZWRGcmFtZS5jcHAKQEAgLTI2MSw2ICsyNjEs
NyBAQCB2b2lkIENhY2hlZEZyYW1lOjpkZXN0cm95KCkKICAgICBBU1NFUlQobV9kb2N1bWVudC0+
ZnJhbWUoKSA9PSAmbV92aWV3LT5mcmFtZSgpKTsKIAogICAgIG1fZG9jdW1lbnQtPmRvbVdpbmRv
dygpLT53aWxsRGVzdHJveUNhY2hlZEZyYW1lKCk7CisgICAgbV9kb2N1bWVudC0+Y2xlYXJBWE9i
amVjdENhY2hlKCk7CiAKICAgICBpZiAoIW1faXNNYWluRnJhbWUpIHsKICAgICAgICAgbV92aWV3
LT5mcmFtZSgpLmRldGFjaEZyb21QYWdlKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>223158</attachid>
            <date>2014-02-04 13:57:50 -0800</date>
            <delta_ts>2014-02-04 13:57:50 -0800</delta_ts>
            <desc>Backtrace to ASSERT(&amp;topDocument == this || !m_axObjectCache)</desc>
            <filename>bt.gdb</filename>
            <type>text/plain</type>
            <size>49624</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">IzAgIFdURkNyYXNoICgpIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL0Fzc2VydGlvbnMuY3BwOjMz
MwpObyBsb2NhbHMuCiMxICAweDAwMDA3ZjJhMzZmYmQwZjUgaW4gV2ViQ29yZTo6RG9jdW1lbnQ6
OmF4T2JqZWN0Q2FjaGUgKHRoaXM9MHgxNTA0NmIwKSBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwOjIxNzYKICAgICAgICB0b3BEb2N1bWVudCA9IEAweDE1NmMyYzA6IHs8
V2ViQ29yZTo6Q29udGFpbmVyTm9kZT4gPSB7PFdlYkNvcmU6Ok5vZGU+ID0gezxXZWJDb3JlOjpF
dmVudFRhcmdldD4gPSB7X3ZwdHIkRXZlbnRUYXJnZXQgPSAweDdmMmEzYTQ5NjFmMCA8dnRhYmxl
IGZvciBXZWJDb3JlOjpIVE1MRG9jdW1lbnQrMTY+fSwgPFdlYkNvcmU6OlNjcmlwdFdyYXBwYWJs
ZT4gPSB7bV93cmFwcGVyID0ge21faW1wbCA9IDB4N2YyYTNiYWRiYzYwfX0sIDxXZWJDb3JlOjpU
cmVlU2hhcmVkPFdlYkNvcmU6Ok5vZGU+PiA9IHttX2RlbGV0aW9uSGFzQmVndW4gPSBmYWxzZSwg
bV9pblJlbW92ZWRMYXN0UmVmRnVuY3Rpb24gPSBmYWxzZSwgbV9yZWZDb3VudCA9IDIsIG1fYWRv
cHRpb25Jc1JlcXVpcmVkID0gZmFsc2V9LCBtX25vZGVGbGFncyA9IDg0NTAsIG1fcGFyZW50Tm9k
ZSA9IDB4MCwgbV90cmVlU2NvcGUgPSAweDE1NmMzMTgsIG1fcHJldmlvdXMgPSAweDAsIG1fbmV4
dCA9IDB4MCwgbV9kYXRhID0ge21fcmVuZGVyZXIgPSAweDE1M2QxNTAsIG1fcmFyZURhdGEgPSAw
eDE1M2QxNTB9fSwgbV9maXJzdENoaWxkID0gMHgxNGZjYTAwLCBtX2xhc3RDaGlsZCA9IDB4MTRm
Y2EwMH0sIDxXZWJDb3JlOjpUcmVlU2NvcGU+ID0ge192cHRyJFRyZWVTY29wZSA9IDB4N2YyYTNh
NDk2NGQwIDx2dGFibGUgZm9yIFdlYkNvcmU6OkhUTUxEb2N1bWVudCs3NTI+LCBtX3Jvb3ROb2Rl
ID0gMHgxNTZjMmMwLCBtX2RvY3VtZW50U2NvcGUgPSAweDE1NmMyYzAsIG1fcGFyZW50VHJlZVNj
b3BlID0gMHgwLCBtX3NlbGZPbmx5UmVmQ291bnQgPSA3LCBtX2VsZW1lbnRzQnlJZCA9IHttX3B0
ciA9IDB4MH0sIG1fZWxlbWVudHNCeU5hbWUgPSB7bV9wdHIgPSAweDB9LCBtX2ltYWdlTWFwc0J5
TmFtZSA9IHttX3B0ciA9IDB4MH0sIG1fbGFiZWxzQnlGb3JBdHRyaWJ1dGUgPSB7bV9wdHIgPSAw
eDB9LCBtX2lkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeSA9IHttX3B0ciA9IDB4MTY0YWZiMH0sIG1f
c2VsZWN0aW9uID0ge21fcHRyID0gMHgwfX0sIDxXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250
ZXh0PiA9IHs8V2ViQ29yZTo6U2VjdXJpdHlDb250ZXh0PiA9IHtfdnB0ciRTZWN1cml0eUNvbnRl
eHQgPSAweDdmMmEzYTQ5NjUwMCA8dnRhYmxlIGZvciBXZWJDb3JlOjpIVE1MRG9jdW1lbnQrODAw
PiwgbV9tYXlEaXNwbGF5U2VhbWxlc3NseVdpdGhQYXJlbnQgPSBmYWxzZSwgbV9oYXZlSW5pdGlh
bGl6ZWRTZWN1cml0eU9yaWdpbiA9IHRydWUsIG1fc2FuZGJveEZsYWdzID0gMCwgbV9zZWN1cml0
eU9yaWdpbiA9IHttX3B0ciA9IDB4MTY4YWQ4MH0sIG1fY29udGVudFNlY3VyaXR5UG9saWN5ID0g
e21fcHRyID0gMHgxNjAwNzgwfX0sIDxXZWJDb3JlOjpTdXBwbGVtZW50YWJsZTxXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Pj4gPSB7bV9zdXBwbGVtZW50cyA9IHttX2ltcGwgPSB7c3Rh
dGljIG1fbWF4TG9hZCA9IDIsIHN0YXRpYyBtX21pbkxvYWQgPSA2LCBtX3RhYmxlID0gMHgwLCBt
X3RhYmxlU2l6ZSA9IDAsIG1fdGFibGVTaXplTWFzayA9IDAsIG1fa2V5Q291bnQgPSAwLCBtX2Rl
bGV0ZWRDb3VudCA9IDAsIG1faXRlcmF0b3JzID0gMHgwLCBtX211dGV4ID0ge19NX3QgPSB7PHN0
ZDo6X1R1cGxlX2ltcGw8MCwgc3RkOjptdXRleCosIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjpt
dXRleD4gPj4gPSB7PHN0ZDo6X1R1cGxlX2ltcGw8MSwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6
Om11dGV4PiA+PiA9IHs8c3RkOjpfVHVwbGVfaW1wbDwyLCA+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+
fSwgPHN0ZDo6X0hlYWRfYmFzZTwxLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+LCB0
cnVlPj4gPSB7PHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4+ID0gezxObyBkYXRhIGZp
ZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9IZWFk
X2Jhc2U8MCwgc3RkOjptdXRleCosIGZhbHNlPj4gPSB7X01faGVhZF9pbXBsID0gMHgxNTNlYWUw
fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59fX19LCBtX3RocmVhZElkID0g
MX0sIG1fbWVzc2FnZVBvcnRzID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhMb2FkID0gMiwgc3Rh
dGljIG1fbWluTG9hZCA9IDYsIG1fdGFibGUgPSAweDAsIG1fdGFibGVTaXplID0gMCwgbV90YWJs
ZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENvdW50ID0gMCwgbV9pdGVy
YXRvcnMgPSAweDAsIG1fbXV0ZXggPSB7X01fdCA9IHs8c3RkOjpfVHVwbGVfaW1wbDwwLCBzdGQ6
Om11dGV4Kiwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiA+PiA9IHs8c3RkOjpfVHVw
bGVfaW1wbDwxLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+ID4+ID0gezxzdGQ6Ol9U
dXBsZV9pbXBsPDIsID4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfSGVhZF9iYXNlPDEs
IHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4sIHRydWU+PiA9IHs8c3RkOjpkZWZhdWx0
X2RlbGV0ZTxzdGQ6Om11dGV4Pj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxk
cz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0hlYWRfYmFzZTwwLCBzdGQ6Om11dGV4Kiwg
ZmFsc2U+PiA9IHtfTV9oZWFkX2ltcGwgPSAweDE1M2ViMTB9LCA8Tm8gZGF0YSBmaWVsZHM+fSwg
PE5vIGRhdGEgZmllbGRzPn19fX0sIG1fZGVzdHJ1Y3Rpb25PYnNlcnZlcnMgPSB7bV9pbXBsID0g
e3N0YXRpYyBtX21heExvYWQgPSAyLCBzdGF0aWMgbV9taW5Mb2FkID0gNiwgbV90YWJsZSA9IDB4
MTZlZTE0MCwgbV90YWJsZVNpemUgPSAxNiwgbV90YWJsZVNpemVNYXNrID0gMTUsIG1fa2V5Q291
bnQgPSA0LCBtX2RlbGV0ZWRDb3VudCA9IDAsIG1faXRlcmF0b3JzID0gMHgwLCBtX211dGV4ID0g
e19NX3QgPSB7PHN0ZDo6X1R1cGxlX2ltcGw8MCwgc3RkOjptdXRleCosIHN0ZDo6ZGVmYXVsdF9k
ZWxldGU8c3RkOjptdXRleD4gPj4gPSB7PHN0ZDo6X1R1cGxlX2ltcGw8MSwgc3RkOjpkZWZhdWx0
X2RlbGV0ZTxzdGQ6Om11dGV4PiA+PiA9IHs8c3RkOjpfVHVwbGVfaW1wbDwyLCA+PiA9IHs8Tm8g
ZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0hlYWRfYmFzZTwxLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0
ZDo6bXV0ZXg+LCB0cnVlPj4gPSB7PHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4+ID0g
ezxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0s
IDxzdGQ6Ol9IZWFkX2Jhc2U8MCwgc3RkOjptdXRleCosIGZhbHNlPj4gPSB7X01faGVhZF9pbXBs
ID0gMHgxNWVmYTcwfSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59fX19LCBt
X2FjdGl2ZURPTU9iamVjdHMgPSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExvYWQgPSAyLCBzdGF0
aWMgbV9taW5Mb2FkID0gNiwgbV90YWJsZSA9IDB4MTUzY2IxMCwgbV90YWJsZVNpemUgPSA4LCBt
X3RhYmxlU2l6ZU1hc2sgPSA3LCBtX2tleUNvdW50ID0gMiwgbV9kZWxldGVkQ291bnQgPSAwLCBt
X2l0ZXJhdG9ycyA9IDB4MCwgbV9tdXRleCA9IHtfTV90ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDAs
IHN0ZDo6bXV0ZXgqLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+ID4+ID0gezxzdGQ6
Ol9UdXBsZV9pbXBsPDEsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4gPj4gPSB7PHN0
ZDo6X1R1cGxlX2ltcGw8MiwgPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9IZWFkX2Jh
c2U8MSwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiwgdHJ1ZT4+ID0gezxzdGQ6OmRl
ZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEg
ZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfSGVhZF9iYXNlPDAsIHN0ZDo6bXV0
ZXgqLCBmYWxzZT4+ID0ge19NX2hlYWRfaW1wbCA9IDB4MTVlZmFhMH0sIDxObyBkYXRhIGZpZWxk
cz59LCA8Tm8gZGF0YSBmaWVsZHM+fX19fSwgbV9pdGVyYXRpbmdBY3RpdmVET01PYmplY3RzID0g
ZmFsc2UsIG1faW5EZXN0cnVjdG9yID0gZmFsc2UsIG1fY2lyY3VsYXJTZXF1ZW50aWFsSUQgPSAx
LCBtX3RpbWVvdXRzID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhMb2FkID0gMiwgc3RhdGljIG1f
bWluTG9hZCA9IDYsIG1fdGFibGUgPSAweDE1N2IyNjAsIG1fdGFibGVTaXplID0gOCwgbV90YWJs
ZVNpemVNYXNrID0gNywgbV9rZXlDb3VudCA9IDEsIG1fZGVsZXRlZENvdW50ID0gMCwgbV9pdGVy
YXRvcnMgPSAweDAsIG1fbXV0ZXggPSB7X01fdCA9IHs8c3RkOjpfVHVwbGVfaW1wbDwwLCBzdGQ6
Om11dGV4Kiwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiA+PiA9IHs8c3RkOjpfVHVw
bGVfaW1wbDwxLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+ID4+ID0gezxzdGQ6Ol9U
dXBsZV9pbXBsPDIsID4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfSGVhZF9iYXNlPDEs
IHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4sIHRydWU+PiA9IHs8c3RkOjpkZWZhdWx0
X2RlbGV0ZTxzdGQ6Om11dGV4Pj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxk
cz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0hlYWRfYmFzZTwwLCBzdGQ6Om11dGV4Kiwg
ZmFsc2U+PiA9IHtfTV9oZWFkX2ltcGwgPSAweDE1ZWZhZDB9LCA8Tm8gZGF0YSBmaWVsZHM+fSwg
PE5vIGRhdGEgZmllbGRzPn19fX0sIG1faW5EaXNwYXRjaEVycm9yRXZlbnQgPSBmYWxzZSwgbV9w
ZW5kaW5nRXhjZXB0aW9ucyA9IHttX3B0ciA9IDB4MH0sIG1fYWN0aXZlRE9NT2JqZWN0c0FyZVN1
c3BlbmRlZCA9IGZhbHNlLCBtX3JlYXNvbkZvclN1c3BlbmRpbmdBY3RpdmVET01PYmplY3RzID0g
NDI5NDk2NzI5NSwgbV9hY3RpdmVET01PYmplY3RzQXJlU3RvcHBlZCA9IGZhbHNlLCBtX3B1Ymxp
Y1VSTE1hbmFnZXIgPSB7bV9wdHIgPSAweDB9LCBtX2RhdGFiYXNlQ29udGV4dCA9IHttX3B0ciA9
IDB4MH19LCBtX3N0eWxlUmVzb2x2ZXJUaHJvd2F3YXlUaW1lciA9IHs8V2ViQ29yZTo6VGltZXJC
YXNlPiA9IHtfdnB0ciRUaW1lckJhc2UgPSAweDdmMmEzYTQ0OGU5MCA8dnRhYmxlIGZvciBXZWJD
b3JlOjpEZWZlcnJhYmxlT25lU2hvdFRpbWVyPFdlYkNvcmU6OkRvY3VtZW50PisxNj4sIG1fbmV4
dEZpcmVUaW1lID0gNDc1ODEuMjUwMDgxOTk5OTk5LCBtX3VuYWxpZ25lZE5leHRGaXJlVGltZSA9
IDQ3NTgxLjI1MDA4MTk5OTk5OSwgbV9yZXBlYXRJbnRlcnZhbCA9IDAsIG1faGVhcEluZGV4ID0g
MTEsIG1faGVhcEluc2VydGlvbk9yZGVyID0gOTIsIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJI
ZWFwID0gMHgxNmIyM2YwLCBtX3RocmVhZCA9IDEsIG1fd2FzRGVsZXRlZCA9IGZhbHNlfSwgbV9v
YmplY3QgPSAweDE1NmMyYzAsIG1fZnVuY3Rpb24gPSA8ZXJyb3IgcmVhZGluZyB2YXJpYWJsZT4s
IG1fc3R5bGVSZXNvbHZlciA9IHttX3B0ciA9IDB4MTM4M2MwMH0sIG1fZGlkQ2FsY3VsYXRlU3R5
bGVSZXNvbHZlciA9IGZhbHNlLCBtX2hhc05vZGVzV2l0aFBsYWNlaG9sZGVyU3R5bGUgPSBmYWxz
ZSwgbV9uZWVkc05vdGlmeVJlbW92ZUFsbFBlbmRpbmdTdHlsZXNoZWV0ID0gZmFsc2UsIG1faWdu
b3JlUGVuZGluZ1N0eWxlc2hlZXRzID0gZmFsc2UsIG1fcGVuZGluZ1NoZWV0TGF5b3V0ID0gV2Vi
Q29yZTo6RG9jdW1lbnQ6Ok5vTGF5b3V0V2l0aFBlbmRpbmdTaGVldHMsIG1fZnJhbWUgPSAweDE2
Y2YxYjAsIG1fZG9tV2luZG93ID0ge21fcHRyID0gMHgxNTA2NDgwfSwgbV9jYWNoZWRSZXNvdXJj
ZUxvYWRlciA9IHttX3B0ciA9IDB4MTU4NGJjMH0sIG1fcGFyc2VyID0ge21fcHRyID0gMHgwfSwg
bV9hY3RpdmVQYXJzZXJDb3VudCA9IDAsIG1fd2VsbEZvcm1lZCA9IHRydWUsIG1fdXJsID0ge21f
c3RyaW5nID0gImRhdGE6dGV4dC9odG1sLDxwPlBBU1NFRCBpZiBkaWRuJ3QgY3Jhc2ggaW4gdHdv
IHNlY29uZHMuPC9wPjxzY3JpcHQ+aWYgKHdpbmRvdy50ZXN0UnVubmVyKSBzZXRUaW1lb3V0KFwi
dGVzdFJ1bm5lci5ub3RpZnlEb25lKClcIiwgMjUwMCk7IDwvc2NyaXB0PiIsIG1faXNWYWxpZCA9
IHRydWUsIG1fcHJvdG9jb2xJc0luSFRUUEZhbWlseSA9IGZhbHNlLCBtX3NjaGVtZUVuZCA9IDQs
IG1fdXNlclN0YXJ0ID0gNSwgbV91c2VyRW5kID0gNSwgbV9wYXNzd29yZEVuZCA9IDUsIG1faG9z
dEVuZCA9IDUsIG1fcG9ydEVuZCA9IDUsIG1fcGF0aEFmdGVyTGFzdFNsYXNoID0gMTM4LCBtX3Bh
dGhFbmQgPSAxNDUsIG1fcXVlcnlFbmQgPSAxNDUsIG1fZnJhZ21lbnRFbmQgPSAxNDV9LCBtX2Jh
c2VVUkwgPSB7bV9zdHJpbmcgPSAiZGF0YTp0ZXh0L2h0bWwsPHA+UEFTU0VEIGlmIGRpZG4ndCBj
cmFzaCBpbiB0d28gc2Vjb25kcy48L3A+PHNjcmlwdD5pZiAod2luZG93LnRlc3RSdW5uZXIpIHNl
dFRpbWVvdXQoXCJ0ZXN0UnVubmVyLm5vdGlmeURvbmUoKVwiLCAyNTAwKTsgPC9zY3JpcHQ+Iiwg
bV9pc1ZhbGlkID0gdHJ1ZSwgbV9wcm90b2NvbElzSW5IVFRQRmFtaWx5ID0gZmFsc2UsIG1fc2No
ZW1lRW5kID0gNCwgbV91c2VyU3RhcnQgPSA1LCBtX3VzZXJFbmQgPSA1LCBtX3Bhc3N3b3JkRW5k
ID0gNSwgbV9ob3N0RW5kID0gNSwgbV9wb3J0RW5kID0gNSwgbV9wYXRoQWZ0ZXJMYXN0U2xhc2gg
PSAxMzgsIG1fcGF0aEVuZCA9IDE0NSwgbV9xdWVyeUVuZCA9IDE0NSwgbV9mcmFnbWVudEVuZCA9
IDE0NX0sIG1fYmFzZVVSTE92ZXJyaWRlID0ge21fc3RyaW5nID0gIihudWxsKSIsIG1faXNWYWxp
ZCA9IGZhbHNlLCBtX3Byb3RvY29sSXNJbkhUVFBGYW1pbHkgPSBmYWxzZSwgbV9zY2hlbWVFbmQg
PSAwLCBtX3VzZXJTdGFydCA9IDAsIG1fdXNlckVuZCA9IDAsIG1fcGFzc3dvcmRFbmQgPSAwLCBt
X2hvc3RFbmQgPSAwLCBtX3BvcnRFbmQgPSAwLCBtX3BhdGhBZnRlckxhc3RTbGFzaCA9IDAsIG1f
cGF0aEVuZCA9IDAsIG1fcXVlcnlFbmQgPSAwLCBtX2ZyYWdtZW50RW5kID0gMH0sIG1fYmFzZUVs
ZW1lbnRVUkwgPSB7bV9zdHJpbmcgPSAiKG51bGwpIiwgbV9pc1ZhbGlkID0gZmFsc2UsIG1fcHJv
dG9jb2xJc0luSFRUUEZhbWlseSA9IGZhbHNlLCBtX3NjaGVtZUVuZCA9IDAsIG1fdXNlclN0YXJ0
ID0gMCwgbV91c2VyRW5kID0gMCwgbV9wYXNzd29yZEVuZCA9IDAsIG1faG9zdEVuZCA9IDAsIG1f
cG9ydEVuZCA9IDAsIG1fcGF0aEFmdGVyTGFzdFNsYXNoID0gMCwgbV9wYXRoRW5kID0gMCwgbV9x
dWVyeUVuZCA9IDAsIG1fZnJhZ21lbnRFbmQgPSAwfSwgbV9jb29raWVVUkwgPSB7bV9zdHJpbmcg
PSAiZGF0YTp0ZXh0L2h0bWwsPHA+UEFTU0VEIGlmIGRpZG4ndCBjcmFzaCBpbiB0d28gc2Vjb25k
cy48L3A+PHNjcmlwdD5pZiAod2luZG93LnRlc3RSdW5uZXIpIHNldFRpbWVvdXQoXCJ0ZXN0UnVu
bmVyLm5vdGlmeURvbmUoKVwiLCAyNTAwKTsgPC9zY3JpcHQ+IiwgbV9pc1ZhbGlkID0gdHJ1ZSwg
bV9wcm90b2NvbElzSW5IVFRQRmFtaWx5ID0gZmFsc2UsIG1fc2NoZW1lRW5kID0gNCwgbV91c2Vy
U3RhcnQgPSA1LCBtX3VzZXJFbmQgPSA1LCBtX3Bhc3N3b3JkRW5kID0gNSwgbV9ob3N0RW5kID0g
NSwgbV9wb3J0RW5kID0gNSwgbV9wYXRoQWZ0ZXJMYXN0U2xhc2ggPSAxMzgsIG1fcGF0aEVuZCA9
IDE0NSwgbV9xdWVyeUVuZCA9IDE0NSwgbV9mcmFnbWVudEVuZCA9IDE0NX0sIG1fZmlyc3RQYXJ0
eUZvckNvb2tpZXMgPSB7bV9zdHJpbmcgPSAiZGF0YTp0ZXh0L2h0bWwsPHA+UEFTU0VEIGlmIGRp
ZG4ndCBjcmFzaCBpbiB0d28gc2Vjb25kcy48L3A+PHNjcmlwdD5pZiAod2luZG93LnRlc3RSdW5u
ZXIpIHNldFRpbWVvdXQoXCJ0ZXN0UnVubmVyLm5vdGlmeURvbmUoKVwiLCAyNTAwKTsgPC9zY3Jp
cHQ+IiwgbV9pc1ZhbGlkID0gdHJ1ZSwgbV9wcm90b2NvbElzSW5IVFRQRmFtaWx5ID0gZmFsc2Us
IG1fc2NoZW1lRW5kID0gNCwgbV91c2VyU3RhcnQgPSA1LCBtX3VzZXJFbmQgPSA1LCBtX3Bhc3N3
b3JkRW5kID0gNSwgbV9ob3N0RW5kID0gNSwgbV9wb3J0RW5kID0gNSwgbV9wYXRoQWZ0ZXJMYXN0
U2xhc2ggPSAxMzgsIG1fcGF0aEVuZCA9IDE0NSwgbV9xdWVyeUVuZCA9IDE0NSwgbV9mcmFnbWVu
dEVuZCA9IDE0NX0sIG1fZG9jdW1lbnRVUkkgPSAiZGF0YTp0ZXh0L2h0bWwsPHA+UEFTU0VEIGlm
IGRpZG4ndCBjcmFzaCBpbiB0d28gc2Vjb25kcy48L3A+PHNjcmlwdD5pZiAod2luZG93LnRlc3RS
dW5uZXIpIHNldFRpbWVvdXQoXCJ0ZXN0UnVubmVyLm5vdGlmeURvbmUoKVwiLCAyNTAwKTsgPC9z
Y3JpcHQ+IiwgbV9iYXNlVGFyZ2V0ID0gIihudWxsKSIsIG1faW1wbGVtZW50YXRpb24gPSB7bV9w
dHIgPSAweDB9LCBtX2VsZW1lbnRTaGVldCA9IHttX3B0ciA9IDB4MH0sIG1fcHJpbnRpbmcgPSBm
YWxzZSwgbV9wYWdpbmF0ZWRGb3JTY3JlZW4gPSBmYWxzZSwgbV9pZ25vcmVBdXRvZm9jdXMgPSBm
YWxzZSwgbV9jb21wYXRpYmlsaXR5TW9kZSA9IFdlYkNvcmU6OkRvY3VtZW50OjpRdWlya3NNb2Rl
LCBtX2NvbXBhdGliaWxpdHlNb2RlTG9ja2VkID0gZmFsc2UsIG1fdGV4dENvbG9yID0ge3N0YXRp
YyBibGFjayA9IDQyNzgxOTAwODAsIHN0YXRpYyB3aGl0ZSA9IDQyOTQ5NjcyOTUsIHN0YXRpYyBk
YXJrR3JheSA9IDQyODY2MTE1ODQsIHN0YXRpYyBncmF5ID0gNDI4ODcxNjk2MCwgc3RhdGljIGxp
Z2h0R3JheSA9IDQyOTA4MjIzMzYsIHN0YXRpYyB0cmFuc3BhcmVudCA9IDAsIHN0YXRpYyBjeWFu
ID0gNDI3ODI1NTYxNSwgbV9jb2xvciA9IDQyNzgxOTAwODAsIG1fdmFsaWQgPSB0cnVlfSwgbV9m
b2N1c2VkRWxlbWVudCA9IHttX3B0ciA9IDB4MH0sIG1faG92ZXJlZEVsZW1lbnQgPSB7bV9wdHIg
PSAweDB9LCBtX2FjdGl2ZUVsZW1lbnQgPSB7bV9wdHIgPSAweDB9LCBtX2RvY3VtZW50RWxlbWVu
dCA9IHttX3B0ciA9IDB4MTRmY2EwMH0sIG1fdXNlckFjdGlvbkVsZW1lbnRzID0ge21fZWxlbWVu
dHMgPSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExvYWQgPSAyLCBzdGF0aWMgbV9taW5Mb2FkID0g
NiwgbV90YWJsZSA9IDB4MCwgbV90YWJsZVNpemUgPSAwLCBtX3RhYmxlU2l6ZU1hc2sgPSAwLCBt
X2tleUNvdW50ID0gMCwgbV9kZWxldGVkQ291bnQgPSAwLCBtX2l0ZXJhdG9ycyA9IDB4MCwgbV9t
dXRleCA9IHtfTV90ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDAsIHN0ZDo6bXV0ZXgqLCBzdGQ6OmRl
ZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+ID4+ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDEsIHN0ZDo6
ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4gPj4gPSB7PHN0ZDo6X1R1cGxlX2ltcGw8MiwgPj4g
PSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9IZWFkX2Jhc2U8MSwgc3RkOjpkZWZhdWx0X2Rl
bGV0ZTxzdGQ6Om11dGV4PiwgdHJ1ZT4+ID0gezxzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0
ZXg+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZp
ZWxkcz59LCA8c3RkOjpfSGVhZF9iYXNlPDAsIHN0ZDo6bXV0ZXgqLCBmYWxzZT4+ID0ge19NX2hl
YWRfaW1wbCA9IDB4MTYwNGQ2MH0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+
fX19fX0sIG1fZG9tVHJlZVZlcnNpb24gPSA0OCwgc3RhdGljIHNfZ2xvYmFsVHJlZVZlcnNpb24g
PSA0OCwgbV9ub2RlSXRlcmF0b3JzID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhMb2FkID0gMiwg
c3RhdGljIG1fbWluTG9hZCA9IDYsIG1fdGFibGUgPSAweDAsIG1fdGFibGVTaXplID0gMCwgbV90
YWJsZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENvdW50ID0gMCwgbV9p
dGVyYXRvcnMgPSAweDAsIG1fbXV0ZXggPSB7X01fdCA9IHs8c3RkOjpfVHVwbGVfaW1wbDwwLCBz
dGQ6Om11dGV4Kiwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiA+PiA9IHs8c3RkOjpf
VHVwbGVfaW1wbDwxLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+ID4+ID0gezxzdGQ6
Ol9UdXBsZV9pbXBsPDIsID4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfSGVhZF9iYXNl
PDEsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4sIHRydWU+PiA9IHs8c3RkOjpkZWZh
dWx0X2RlbGV0ZTxzdGQ6Om11dGV4Pj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZp
ZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0hlYWRfYmFzZTwwLCBzdGQ6Om11dGV4
KiwgZmFsc2U+PiA9IHtfTV9oZWFkX2ltcGwgPSAweDE2MDRkOTB9LCA8Tm8gZGF0YSBmaWVsZHM+
fSwgPE5vIGRhdGEgZmllbGRzPn19fX0sIG1fcmFuZ2VzID0ge21faW1wbCA9IHtzdGF0aWMgbV9t
YXhMb2FkID0gMiwgc3RhdGljIG1fbWluTG9hZCA9IDYsIG1fdGFibGUgPSAweDAsIG1fdGFibGVT
aXplID0gMCwgbV90YWJsZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENv
dW50ID0gMCwgbV9pdGVyYXRvcnMgPSAweDAsIG1fbXV0ZXggPSB7X01fdCA9IHs8c3RkOjpfVHVw
bGVfaW1wbDwwLCBzdGQ6Om11dGV4Kiwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiA+
PiA9IHs8c3RkOjpfVHVwbGVfaW1wbDwxLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+
ID4+ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDIsID4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3Rk
OjpfSGVhZF9iYXNlPDEsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4sIHRydWU+PiA9
IHs8c3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4Pj4gPSB7PE5vIGRhdGEgZmllbGRzPn0s
IDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0hlYWRfYmFzZTww
LCBzdGQ6Om11dGV4KiwgZmFsc2U+PiA9IHtfTV9oZWFkX2ltcGwgPSAweDE2MDRkYzB9LCA8Tm8g
ZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn19fX0sIG1fbGlzdGVuZXJUeXBlcyA9IDAs
IG1fbXV0YXRpb25PYnNlcnZlclR5cGVzID0gMCAnXDAwMCcsIG1fc3R5bGVTaGVldENvbGxlY3Rp
b24gPSB7bV9kb2N1bWVudCA9IEAweDE1NmMyYzBQeXRob24gRXhjZXB0aW9uIDxjbGFzcyAnVHlw
ZUVycm9yJz4gaXRlcigpIHJldHVybmVkIG5vbi1pdGVyYXRvciBvZiB0eXBlICdJdGVyYXRvcic6
IApQeXRob24gRXhjZXB0aW9uIDxjbGFzcyAnVHlwZUVycm9yJz4gaXRlcigpIHJldHVybmVkIG5v
bi1pdGVyYXRvciBvZiB0eXBlICdJdGVyYXRvcic6IAosIG1fc3R5bGVTaGVldHNGb3JTdHlsZVNo
ZWV0TGlzdCA9IFdURjo6VmVjdG9yIG9mIGxlbmd0aCAwLCBjYXBhY2l0eSAwLCBtX2FjdGl2ZUF1
dGhvclN0eWxlU2hlZXRzID0gV1RGOjpWZWN0b3Igb2YgbGVuZ3RoIDAsIGNhcGFjaXR5IDAsIG1f
d2Vha0NvcHlPZkFjdGl2ZVN0eWxlU2hlZXRMaXN0Rm9yRmFzdExvb2t1cCA9IHttX3B0ciA9IDB4
MH0sIG1fcGVuZGluZ1N0eWxlc2hlZXRzID0gMCwgbV9wYWdlVXNlclNoZWV0ID0ge21fcHRyID0g
MHgwfVB5dGhvbiBFeGNlcHRpb24gPGNsYXNzICdUeXBlRXJyb3InPiBpdGVyKCkgcmV0dXJuZWQg
bm9uLWl0ZXJhdG9yIG9mIHR5cGUgJ0l0ZXJhdG9yJzogClB5dGhvbiBFeGNlcHRpb24gPGNsYXNz
ICdUeXBlRXJyb3InPiBpdGVyKCkgcmV0dXJuZWQgbm9uLWl0ZXJhdG9yIG9mIHR5cGUgJ0l0ZXJh
dG9yJzogCiwgbV9pbmplY3RlZFVzZXJTdHlsZVNoZWV0cyA9IFdURjo6VmVjdG9yIG9mIGxlbmd0
aCAwLCBjYXBhY2l0eSAwLCBtX2luamVjdGVkQXV0aG9yU3R5bGVTaGVldHMgPSBXVEY6OlZlY3Rv
ciBvZiBsZW5ndGggMCwgY2FwYWNpdHkgMCwgbV9pbmplY3RlZFN0eWxlU2hlZXRDYWNoZVZhbGlk
ID0gdHJ1ZVB5dGhvbiBFeGNlcHRpb24gPGNsYXNzICdUeXBlRXJyb3InPiBpdGVyKCkgcmV0dXJu
ZWQgbm9uLWl0ZXJhdG9yIG9mIHR5cGUgJ0l0ZXJhdG9yJzogClB5dGhvbiBFeGNlcHRpb24gPGNs
YXNzICdUeXBlRXJyb3InPiBpdGVyKCkgcmV0dXJuZWQgbm9uLWl0ZXJhdG9yIG9mIHR5cGUgJ0l0
ZXJhdG9yJzogCiwgbV91c2VyU3R5bGVTaGVldHMgPSBXVEY6OlZlY3RvciBvZiBsZW5ndGggMCwg
Y2FwYWNpdHkgMCwgbV9hdXRob3JTdHlsZVNoZWV0cyA9IFdURjo6VmVjdG9yIG9mIGxlbmd0aCAw
LCBjYXBhY2l0eSAwLCBtX2hhZEFjdGl2ZUxvYWRpbmdTdHlsZXNoZWV0ID0gZmFsc2UsIG1fcGVu
ZGluZ1VwZGF0ZVR5cGUgPSBXZWJDb3JlOjpEb2N1bWVudFN0eWxlU2hlZXRDb2xsZWN0aW9uOjpO
b1VwZGF0ZSwgbV9zdHlsZVNoZWV0Q2FuZGlkYXRlTm9kZXMgPSB7bV9pbXBsID0ge3N0YXRpYyBt
X21heExvYWQgPSAyLCBzdGF0aWMgbV9taW5Mb2FkID0gNiwgbV90YWJsZSA9IDB4MCwgbV90YWJs
ZVNpemUgPSAwLCBtX3RhYmxlU2l6ZU1hc2sgPSAwLCBtX2tleUNvdW50ID0gMCwgbV9kZWxldGVk
Q291bnQgPSAwLCBtX2l0ZXJhdG9ycyA9IDB4MCwgbV9tdXRleCA9IHtfTV90ID0gezxzdGQ6Ol9U
dXBsZV9pbXBsPDAsIHN0ZDo6bXV0ZXgqLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+
ID4+ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDEsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRl
eD4gPj4gPSB7PHN0ZDo6X1R1cGxlX2ltcGw8MiwgPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxz
dGQ6Ol9IZWFkX2Jhc2U8MSwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiwgdHJ1ZT4+
ID0gezxzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+
fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfSGVhZF9iYXNl
PDAsIHN0ZDo6bXV0ZXgqLCBmYWxzZT4+ID0ge19NX2hlYWRfaW1wbCA9IDB4MTUxMDcxMH0sIDxO
byBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fX19LCBtX2hlYWQgPSAweDAsIG1fdGFp
bCA9IDB4MCwgbV9hbGxvY2F0b3IgPSB7X01fdCA9IHs8c3RkOjpfVHVwbGVfaW1wbDwwLCBXVEY6
Okxpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjxXZWJDb3JlOjpOb2RlKiwgMzI+Kiwgc3RkOjpkZWZh
dWx0X2RlbGV0ZTxXVEY6Okxpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjxXZWJDb3JlOjpOb2RlKiwg
MzI+ID4gPj4gPSB7PHN0ZDo6X1R1cGxlX2ltcGw8MSwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxXVEY6
Okxpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjxXZWJDb3JlOjpOb2RlKiwgMzI+ID4gPj4gPSB7PHN0
ZDo6X1R1cGxlX2ltcGw8MiwgPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9IZWFkX2Jh
c2U8MSwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxXVEY6Okxpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjxX
ZWJDb3JlOjpOb2RlKiwgMzI+ID4sIHRydWU+PiA9IHs8c3RkOjpkZWZhdWx0X2RlbGV0ZTxXVEY6
Okxpc3RIYXNoU2V0Tm9kZUFsbG9jYXRvcjxXZWJDb3JlOjpOb2RlKiwgMzI+ID4+ID0gezxObyBk
YXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6
Ol9IZWFkX2Jhc2U8MCwgV1RGOjpMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I8V2ViQ29yZTo6Tm9k
ZSosIDMyPiosIGZhbHNlPj4gPSB7X01faGVhZF9pbXBsID0gMHgxNmQ2MzYwfSwgPE5vIGRhdGEg
ZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59fX0sIG1fcHJlZmVycmVkU3R5bGVzaGVldFNldE5h
bWUgPSAiKG51bGwpIiwgbV9zZWxlY3RlZFN0eWxlc2hlZXRTZXROYW1lID0gIihudWxsKSIsIG1f
dXNlc1NpYmxpbmdSdWxlcyA9IGZhbHNlLCBtX3VzZXNTaWJsaW5nUnVsZXNPdmVycmlkZSA9IGZh
bHNlLCBtX3VzZXNGaXJzdExpbmVSdWxlcyA9IGZhbHNlLCBtX3VzZXNGaXJzdExldHRlclJ1bGVz
ID0gZmFsc2UsIG1fdXNlc0JlZm9yZUFmdGVyUnVsZXMgPSB0cnVlLCBtX3VzZXNCZWZvcmVBZnRl
clJ1bGVzT3ZlcnJpZGUgPSBmYWxzZSwgbV91c2VzUmVtVW5pdHMgPSBmYWxzZX0sIG1fc3R5bGVT
aGVldExpc3QgPSB7bV9wdHIgPSAweDB9LCBtX2Zvcm1Db250cm9sbGVyID0ge21fcHRyID0gMHgw
fSwgbV9saW5rQ29sb3IgPSB7c3RhdGljIGJsYWNrID0gNDI3ODE5MDA4MCwgc3RhdGljIHdoaXRl
ID0gNDI5NDk2NzI5NSwgc3RhdGljIGRhcmtHcmF5ID0gNDI4NjYxMTU4NCwgc3RhdGljIGdyYXkg
PSA0Mjg4NzE2OTYwLCBzdGF0aWMgbGlnaHRHcmF5ID0gNDI5MDgyMjMzNiwgc3RhdGljIHRyYW5z
cGFyZW50ID0gMCwgc3RhdGljIGN5YW4gPSA0Mjc4MjU1NjE1LCBtX2NvbG9yID0gNDI3ODE5MDMx
OCwgbV92YWxpZCA9IHRydWV9LCBtX3Zpc2l0ZWRMaW5rQ29sb3IgPSB7c3RhdGljIGJsYWNrID0g
NDI3ODE5MDA4MCwgc3RhdGljIHdoaXRlID0gNDI5NDk2NzI5NSwgc3RhdGljIGRhcmtHcmF5ID0g
NDI4NjYxMTU4NCwgc3RhdGljIGdyYXkgPSA0Mjg4NzE2OTYwLCBzdGF0aWMgbGlnaHRHcmF5ID0g
NDI5MDgyMjMzNiwgc3RhdGljIHRyYW5zcGFyZW50ID0gMCwgc3RhdGljIGN5YW4gPSA0Mjc4MjU1
NjE1LCBtX2NvbG9yID0gNDI4Mzc2NzQzNSwgbV92YWxpZCA9IHRydWV9LCBtX2FjdGl2ZUxpbmtD
b2xvciA9IHtzdGF0aWMgYmxhY2sgPSA0Mjc4MTkwMDgwLCBzdGF0aWMgd2hpdGUgPSA0Mjk0OTY3
Mjk1LCBzdGF0aWMgZGFya0dyYXkgPSA0Mjg2NjExNTg0LCBzdGF0aWMgZ3JheSA9IDQyODg3MTY5
NjAsIHN0YXRpYyBsaWdodEdyYXkgPSA0MjkwODIyMzM2LCBzdGF0aWMgdHJhbnNwYXJlbnQgPSAw
LCBzdGF0aWMgY3lhbiA9IDQyNzgyNTU2MTUsIG1fY29sb3IgPSA0Mjk0OTAxNzYwLCBtX3ZhbGlk
ID0gdHJ1ZX0sIG1fdmlzaXRlZExpbmtTdGF0ZSA9IHttX3B0ciA9IDB4MTUxMDc0MH0sIG1fdmlz
dWFsbHlPcmRlcmVkID0gZmFsc2UsIG1fcmVhZHlTdGF0ZSA9IFdlYkNvcmU6OkRvY3VtZW50OjpD
b21wbGV0ZSwgbV9iUGFyc2luZyA9IGZhbHNlLCBtX29wdGltaXplZFN0eWxlU2hlZXRVcGRhdGVU
aW1lciA9IHs8V2ViQ29yZTo6VGltZXJCYXNlPiA9IHtfdnB0ciRUaW1lckJhc2UgPSAweDdmMmEz
YTQ0OGU2MCA8dnRhYmxlIGZvciBXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpEb2N1bWVudD4rMTY+
LCBtX25leHRGaXJlVGltZSA9IDAsIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lID0gMCwgbV9yZXBl
YXRJbnRlcnZhbCA9IDAsIG1faGVhcEluZGV4ID0gLTEsIG1faGVhcEluc2VydGlvbk9yZGVyID0g
MCwgbV9jYWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAgPSAweDAsIG1fdGhyZWFkID0gMSwgbV93
YXNEZWxldGVkID0gZmFsc2V9LCBtX2Z1bmN0aW9uID0gezxzdGQ6Ol9NYXliZV91bmFyeV9vcl9i
aW5hcnlfZnVuY3Rpb248dm9pZCwgPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5j
dGlvbl9iYXNlPiA9IHtzdGF0aWMgX01fbWF4X3NpemUgPSAxNiwgc3RhdGljIF9NX21heF9hbGln
biA9IDgsIF9NX2Z1bmN0b3IgPSB7X01fdW51c2VkID0ge19NX29iamVjdCA9IDB4MTUxMDdiMCwg
X01fY29uc3Rfb2JqZWN0ID0gMHgxNTEwN2IwLCBfTV9mdW5jdGlvbl9wb2ludGVyID0gMHgxNTEw
N2IwLCBfTV9tZW1iZXJfcG9pbnRlciA9IDxlcnJvciByZWFkaW5nIHZhcmlhYmxlPiwgX01fcG9k
X2RhdGEgPSAiXDI2MFxhUVwwMDFcMDAwXDAwMFwwMDBcMDAwXDMyMVwwMDBcMDAwXDAwMFwwMDBc
MDAwXDAwMCJ9LCBfTV9tYW5hZ2VyID0gMHg3ZjJhMzZmZjRjZjAgPHN0ZDo6X0Z1bmN0aW9uX2Jh
c2U6Ol9CYXNlX21hbmFnZXI8c3RkOjpfQmluZDxzdGQ6Ol9NZW1fZm48dm9pZCAoV2ViQ29yZTo6
RG9jdW1lbnQ6OiopKFdlYkNvcmU6OlRpbWVyPFdlYkNvcmU6OkRvY3VtZW50PiYpPiAoV2ViQ29y
ZTo6RG9jdW1lbnQqLCBzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFdlYkNvcmU6OlRpbWVyPFdlYkNv
cmU6OkRvY3VtZW50PiA+KT4gPjo6X01fbWFuYWdlcihzdGQ6Ol9BbnlfZGF0YSYsIHN0ZDo6X0Fu
eV9kYXRhIGNvbnN0Jiwgc3RkOjpfTWFuYWdlcl9vcGVyYXRpb24pPn0sIF9NX2ludm9rZXIgPSAw
eDdmMmEzNmZmNGNjMCA8c3RkOjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkICgpLCBzdGQ6Ol9CaW5k
PHN0ZDo6X01lbV9mbjx2b2lkIChXZWJDb3JlOjpEb2N1bWVudDo6KikoV2ViQ29yZTo6VGltZXI8
V2ViQ29yZTo6RG9jdW1lbnQ+Jik+IChXZWJDb3JlOjpEb2N1bWVudCosIHN0ZDo6cmVmZXJlbmNl
X3dyYXBwZXI8V2ViQ29yZTo6VGltZXI8V2ViQ29yZTo6RG9jdW1lbnQ+ID4pPiA+OjpfTV9pbnZv
a2Uoc3RkOjpfQW55X2RhdGEgY29uc3QmKT59fSwgbV9zdHlsZVJlY2FsY1RpbWVyID0gezxXZWJD
b3JlOjpUaW1lckJhc2U+ID0ge192cHRyJFRpbWVyQmFzZSA9IDB4N2YyYTNhNDQ4ZTYwIDx2dGFi
bGUgZm9yIFdlYkNvcmU6OlRpbWVyPFdlYkNvcmU6OkRvY3VtZW50PisxNj4sIG1fbmV4dEZpcmVU
aW1lID0gMCwgbV91bmFsaWduZWROZXh0RmlyZVRpbWUgPSAwLCBtX3JlcGVhdEludGVydmFsID0g
MCwgbV9oZWFwSW5kZXggPSAtMSwgbV9oZWFwSW5zZXJ0aW9uT3JkZXIgPSA5NCwgbV9jYWNoZWRU
aHJlYWRHbG9iYWxUaW1lckhlYXAgPSAweDE2YjIzZjAsIG1fdGhyZWFkID0gMSwgbV93YXNEZWxl
dGVkID0gZmFsc2V9LCBtX2Z1bmN0aW9uID0gezxzdGQ6Ol9NYXliZV91bmFyeV9vcl9iaW5hcnlf
ZnVuY3Rpb248dm9pZCwgPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlvbl9i
YXNlPiA9IHtzdGF0aWMgX01fbWF4X3NpemUgPSAxNiwgc3RhdGljIF9NX21heF9hbGlnbiA9IDgs
IF9NX2Z1bmN0b3IgPSB7X01fdW51c2VkID0ge19NX29iamVjdCA9IDB4MTY4ZmVjMCwgX01fY29u
c3Rfb2JqZWN0ID0gMHgxNjhmZWMwLCBfTV9mdW5jdGlvbl9wb2ludGVyID0gMHgxNjhmZWMwLCBf
TV9tZW1iZXJfcG9pbnRlciA9IDxlcnJvciByZWFkaW5nIHZhcmlhYmxlPiwgX01fcG9kX2RhdGEg
PSAiXDMwMFwzNzZoXDAwMSIsICdcMDAwJyA8cmVwZWF0cyAxMSB0aW1lcz59LCBfTV9tYW5hZ2Vy
ID0gMHg3ZjJhMzZmZjRjZjAgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U6Ol9CYXNlX21hbmFnZXI8c3Rk
OjpfQmluZDxzdGQ6Ol9NZW1fZm48dm9pZCAoV2ViQ29yZTo6RG9jdW1lbnQ6OiopKFdlYkNvcmU6
OlRpbWVyPFdlYkNvcmU6OkRvY3VtZW50PiYpPiAoV2ViQ29yZTo6RG9jdW1lbnQqLCBzdGQ6OnJl
ZmVyZW5jZV93cmFwcGVyPFdlYkNvcmU6OlRpbWVyPFdlYkNvcmU6OkRvY3VtZW50PiA+KT4gPjo6
X01fbWFuYWdlcihzdGQ6Ol9BbnlfZGF0YSYsIHN0ZDo6X0FueV9kYXRhIGNvbnN0Jiwgc3RkOjpf
TWFuYWdlcl9vcGVyYXRpb24pPn0sIF9NX2ludm9rZXIgPSAweDdmMmEzNmZmNGNjMCA8c3RkOjpf
RnVuY3Rpb25faGFuZGxlcjx2b2lkICgpLCBzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lkIChX
ZWJDb3JlOjpEb2N1bWVudDo6KikoV2ViQ29yZTo6VGltZXI8V2ViQ29yZTo6RG9jdW1lbnQ+Jik+
IChXZWJDb3JlOjpEb2N1bWVudCosIHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8V2ViQ29yZTo6VGlt
ZXI8V2ViQ29yZTo6RG9jdW1lbnQ+ID4pPiA+OjpfTV9pbnZva2Uoc3RkOjpfQW55X2RhdGEgY29u
c3QmKT59fSwgbV9wZW5kaW5nU3R5bGVSZWNhbGNTaG91bGRGb3JjZSA9IGZhbHNlLCBtX2luU3R5
bGVSZWNhbGMgPSBmYWxzZSwgbV9jbG9zZUFmdGVyU3R5bGVSZWNhbGMgPSBmYWxzZSwgbV9nb3Rv
QW5jaG9yTmVlZGVkQWZ0ZXJTdHlsZXNoZWV0c0xvYWQgPSBmYWxzZSwgbV9pc0ROU1ByZWZldGNo
RW5hYmxlZCA9IGZhbHNlLCBtX2hhdmVFeHBsaWNpdGx5RGlzYWJsZWRETlNQcmVmZXRjaCA9IGZh
bHNlLCBtX2ZyYW1lRWxlbWVudHNTaG91bGRJZ25vcmVTY3JvbGxpbmcgPSBmYWxzZSwgbV9jb250
YWluc1ZhbGlkaXR5U3R5bGVSdWxlcyA9IGZhbHNlLCBtX3VwZGF0ZUZvY3VzQXBwZWFyYW5jZVJl
c3RvcmVzU2VsZWN0aW9uID0gZmFsc2UsIG1faWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50ID0g
MCwgbV90aXRsZSA9IHttX3N0cmluZyA9ICIobnVsbCkiLCBtX2RpcmVjdGlvbiA9IFdlYkNvcmU6
OkxUUn0sIG1fcmF3VGl0bGUgPSB7bV9zdHJpbmcgPSAiKG51bGwpIiwgbV9kaXJlY3Rpb24gPSBX
ZWJDb3JlOjpMVFJ9LCBtX3RpdGxlU2V0RXhwbGljaXRseSA9IGZhbHNlLCBtX3RpdGxlRWxlbWVu
dCA9IHttX3B0ciA9IDB4MH0sIG1fYXhPYmplY3RDYWNoZSA9IHttX3B0ciA9IDB4MTUwOGY3MH0s
IG1fbWFya2VycyA9IHttX3B0ciA9IDB4MTY4ZmVmMH0sIG1fdXBkYXRlRm9jdXNBcHBlYXJhbmNl
VGltZXIgPSB7PFdlYkNvcmU6OlRpbWVyQmFzZT4gPSB7X3ZwdHIkVGltZXJCYXNlID0gMHg3ZjJh
M2E0NDhlNjAgPHZ0YWJsZSBmb3IgV2ViQ29yZTo6VGltZXI8V2ViQ29yZTo6RG9jdW1lbnQ+KzE2
PiwgbV9uZXh0RmlyZVRpbWUgPSAwLCBtX3VuYWxpZ25lZE5leHRGaXJlVGltZSA9IDAsIG1fcmVw
ZWF0SW50ZXJ2YWwgPSAwLCBtX2hlYXBJbmRleCA9IC0xLCBtX2hlYXBJbnNlcnRpb25PcmRlciA9
IDAsIG1fY2FjaGVkVGhyZWFkR2xvYmFsVGltZXJIZWFwID0gMHgwLCBtX3RocmVhZCA9IDEsIG1f
d2FzRGVsZXRlZCA9IGZhbHNlfSwgbV9mdW5jdGlvbiA9IHs8c3RkOjpfTWF5YmVfdW5hcnlfb3Jf
YmluYXJ5X2Z1bmN0aW9uPHZvaWQsID4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfRnVu
Y3Rpb25fYmFzZT4gPSB7c3RhdGljIF9NX21heF9zaXplID0gMTYsIHN0YXRpYyBfTV9tYXhfYWxp
Z24gPSA4LCBfTV9mdW5jdG9yID0ge19NX3VudXNlZCA9IHtfTV9vYmplY3QgPSAweDE2OGZmNjAs
IF9NX2NvbnN0X29iamVjdCA9IDB4MTY4ZmY2MCwgX01fZnVuY3Rpb25fcG9pbnRlciA9IDB4MTY4
ZmY2MCwgX01fbWVtYmVyX3BvaW50ZXIgPSA8ZXJyb3IgcmVhZGluZyB2YXJpYWJsZT4sIF9NX3Bv
ZF9kYXRhID0gImBcMzc3aFwwMDFcMDAwXDAwMFwwMDBcMDAwXDM2MEZcYlwwMDBcMDAwXDAwMFww
MDAifSwgX01fbWFuYWdlciA9IDB4N2YyYTM2ZmY0Y2YwIDxzdGQ6Ol9GdW5jdGlvbl9iYXNlOjpf
QmFzZV9tYW5hZ2VyPHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPHZvaWQgKFdlYkNvcmU6OkRvY3Vt
ZW50OjoqKShXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpEb2N1bWVudD4mKT4gKFdlYkNvcmU6OkRv
Y3VtZW50Kiwgc3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpE
b2N1bWVudD4gPik+ID46Ol9NX21hbmFnZXIoc3RkOjpfQW55X2RhdGEmLCBzdGQ6Ol9BbnlfZGF0
YSBjb25zdCYsIHN0ZDo6X01hbmFnZXJfb3BlcmF0aW9uKT59LCBfTV9pbnZva2VyID0gMHg3ZjJh
MzZmZjRjYzAgPHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCAoKSwgc3RkOjpfQmluZDxzdGQ6
Ol9NZW1fZm48dm9pZCAoV2ViQ29yZTo6RG9jdW1lbnQ6OiopKFdlYkNvcmU6OlRpbWVyPFdlYkNv
cmU6OkRvY3VtZW50PiYpPiAoV2ViQ29yZTo6RG9jdW1lbnQqLCBzdGQ6OnJlZmVyZW5jZV93cmFw
cGVyPFdlYkNvcmU6OlRpbWVyPFdlYkNvcmU6OkRvY3VtZW50PiA+KT4gPjo6X01faW52b2tlKHN0
ZDo6X0FueV9kYXRhIGNvbnN0Jik+fX0sIG1fcmVzZXRIaWRkZW5Gb2N1c0VsZW1lbnRUaW1lciA9
IHs8V2ViQ29yZTo6VGltZXJCYXNlPiA9IHtfdnB0ciRUaW1lckJhc2UgPSAweDdmMmEzYTQ0OGU2
MCA8dnRhYmxlIGZvciBXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpEb2N1bWVudD4rMTY+LCBtX25l
eHRGaXJlVGltZSA9IDAsIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lID0gMCwgbV9yZXBlYXRJbnRl
cnZhbCA9IDAsIG1faGVhcEluZGV4ID0gLTEsIG1faGVhcEluc2VydGlvbk9yZGVyID0gMCwgbV9j
YWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAgPSAweDAsIG1fdGhyZWFkID0gMSwgbV93YXNEZWxl
dGVkID0gZmFsc2V9LCBtX2Z1bmN0aW9uID0gezxzdGQ6Ol9NYXliZV91bmFyeV9vcl9iaW5hcnlf
ZnVuY3Rpb248dm9pZCwgPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlvbl9i
YXNlPiA9IHtzdGF0aWMgX01fbWF4X3NpemUgPSAxNiwgc3RhdGljIF9NX21heF9hbGlnbiA9IDgs
IF9NX2Z1bmN0b3IgPSB7X01fdW51c2VkID0ge19NX29iamVjdCA9IDB4MTY4ZmY5MCwgX01fY29u
c3Rfb2JqZWN0ID0gMHgxNjhmZjkwLCBfTV9mdW5jdGlvbl9wb2ludGVyID0gMHgxNjhmZjkwLCBf
TV9tZW1iZXJfcG9pbnRlciA9IDxlcnJvciByZWFkaW5nIHZhcmlhYmxlPiwgX01fcG9kX2RhdGEg
PSAiXDIyMFwzNzdoXDAwMVwwMDBcMDAwXDAwMFwwMDBcMjAwXDMxMlZcMDAxXDAwMFwwMDBcMDAw
In0sIF9NX21hbmFnZXIgPSAweDdmMmEzNmZmNGNmMCA8c3RkOjpfRnVuY3Rpb25fYmFzZTo6X0Jh
c2VfbWFuYWdlcjxzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lkIChXZWJDb3JlOjpEb2N1bWVu
dDo6KikoV2ViQ29yZTo6VGltZXI8V2ViQ29yZTo6RG9jdW1lbnQ+Jik+IChXZWJDb3JlOjpEb2N1
bWVudCosIHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8V2ViQ29yZTo6VGltZXI8V2ViQ29yZTo6RG9j
dW1lbnQ+ID4pPiA+OjpfTV9tYW5hZ2VyKHN0ZDo6X0FueV9kYXRhJiwgc3RkOjpfQW55X2RhdGEg
Y29uc3QmLCBzdGQ6Ol9NYW5hZ2VyX29wZXJhdGlvbik+fSwgX01faW52b2tlciA9IDB4N2YyYTM2
ZmY0Y2MwIDxzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQgKCksIHN0ZDo6X0JpbmQ8c3RkOjpf
TWVtX2ZuPHZvaWQgKFdlYkNvcmU6OkRvY3VtZW50OjoqKShXZWJDb3JlOjpUaW1lcjxXZWJDb3Jl
OjpEb2N1bWVudD4mKT4gKFdlYkNvcmU6OkRvY3VtZW50Kiwgc3RkOjpyZWZlcmVuY2Vfd3JhcHBl
cjxXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpEb2N1bWVudD4gPik+ID46Ol9NX2ludm9rZShzdGQ6
Ol9BbnlfZGF0YSBjb25zdCYpPn19LCBtX2Nzc1RhcmdldCA9IDB4MCwgbV9wcm9jZXNzaW5nTG9h
ZEV2ZW50ID0gZmFsc2UsIG1fbG9hZEV2ZW50RmluaXNoZWQgPSB0cnVlLCBtX3BlbmRpbmdTdGF0
ZU9iamVjdCA9IHttX3B0ciA9IDB4MH0sIG1fc3RhcnRUaW1lID0ge19fZCA9IHtfX3IgPSA0NzQ5
NDg5ODY0MjYwN319LCBtX292ZXJNaW5pbXVtTGF5b3V0VGhyZXNob2xkID0gdHJ1ZSwgbV9zY3Jp
cHRSdW5uZXIgPSB7X01fdCA9IHs8c3RkOjpfVHVwbGVfaW1wbDwwLCBXZWJDb3JlOjpTY3JpcHRS
dW5uZXIqLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPFdlYkNvcmU6OlNjcmlwdFJ1bm5lcj4gPj4gPSB7
PHN0ZDo6X1R1cGxlX2ltcGw8MSwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxXZWJDb3JlOjpTY3JpcHRS
dW5uZXI+ID4+ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDIsID4+ID0gezxObyBkYXRhIGZpZWxkcz59
LCA8c3RkOjpfSGVhZF9iYXNlPDEsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8V2ViQ29yZTo6U2NyaXB0
UnVubmVyPiwgdHJ1ZT4+ID0gezxzdGQ6OmRlZmF1bHRfZGVsZXRlPFdlYkNvcmU6OlNjcmlwdFJ1
bm5lcj4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEg
ZmllbGRzPn0sIDxzdGQ6Ol9IZWFkX2Jhc2U8MCwgV2ViQ29yZTo6U2NyaXB0UnVubmVyKiwgZmFs
c2U+PiA9IHtfTV9oZWFkX2ltcGwgPSAweDE2ZWRlOTB9LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5v
IGRhdGEgZmllbGRzPn19UHl0aG9uIEV4Y2VwdGlvbiA8Y2xhc3MgJ1R5cGVFcnJvcic+IGl0ZXIo
KSByZXR1cm5lZCBub24taXRlcmF0b3Igb2YgdHlwZSAnSXRlcmF0b3InOiAKLCBtX2N1cnJlbnRT
Y3JpcHRTdGFjayA9IFdURjo6VmVjdG9yIG9mIGxlbmd0aCAwLCBjYXBhY2l0eSAxNiwgbV90cmFu
c2Zvcm1Tb3VyY2UgPSB7bV9wdHIgPSAweDB9LCBtX3RyYW5zZm9ybVNvdXJjZURvY3VtZW50ID0g
e21fcHRyID0gMHgwfSwgbV94bWxFbmNvZGluZyA9ICIobnVsbCkiLCBtX3htbFZlcnNpb24gPSAi
KG51bGwpIiwgbV94bWxTdGFuZGFsb25lID0gMCwgbV9oYXNYTUxEZWNsYXJhdGlvbiA9IDAsIG1f
Y29udGVudExhbmd1YWdlID0gIihudWxsKSIsIG1fZGVjb2RlciA9IHttX3B0ciA9IDB4MTZiNjFl
MH0sIG1fZGVzaWduTW9kZSA9IFdlYkNvcmU6OkRvY3VtZW50Ojppbmhlcml0LCBtX2xpc3RzSW52
YWxpZGF0ZWRBdERvY3VtZW50ID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhMb2FkID0gMiwgc3Rh
dGljIG1fbWluTG9hZCA9IDYsIG1fdGFibGUgPSAweDAsIG1fdGFibGVTaXplID0gMCwgbV90YWJs
ZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENvdW50ID0gMCwgbV9pdGVy
YXRvcnMgPSAweDAsIG1fbXV0ZXggPSB7X01fdCA9IHs8c3RkOjpfVHVwbGVfaW1wbDwwLCBzdGQ6
Om11dGV4Kiwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiA+PiA9IHs8c3RkOjpfVHVw
bGVfaW1wbDwxLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+ID4+ID0gezxzdGQ6Ol9U
dXBsZV9pbXBsPDIsID4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfSGVhZF9iYXNlPDEs
IHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4sIHRydWU+PiA9IHs8c3RkOjpkZWZhdWx0
X2RlbGV0ZTxzdGQ6Om11dGV4Pj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxk
cz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0hlYWRfYmFzZTwwLCBzdGQ6Om11dGV4Kiwg
ZmFsc2U+PiA9IHtfTV9oZWFkX2ltcGwgPSAweDE1MmMwZTB9LCA8Tm8gZGF0YSBmaWVsZHM+fSwg
PE5vIGRhdGEgZmllbGRzPn19fX0sIG1fY29sbGVjdGlvbnNJbnZhbGlkYXRlZEF0RG9jdW1lbnQg
PSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExvYWQgPSAyLCBzdGF0aWMgbV9taW5Mb2FkID0gNiwg
bV90YWJsZSA9IDB4MCwgbV90YWJsZVNpemUgPSAwLCBtX3RhYmxlU2l6ZU1hc2sgPSAwLCBtX2tl
eUNvdW50ID0gMCwgbV9kZWxldGVkQ291bnQgPSAwLCBtX2l0ZXJhdG9ycyA9IDB4MCwgbV9tdXRl
eCA9IHtfTV90ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDAsIHN0ZDo6bXV0ZXgqLCBzdGQ6OmRlZmF1
bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+ID4+ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDEsIHN0ZDo6ZGVm
YXVsdF9kZWxldGU8c3RkOjptdXRleD4gPj4gPSB7PHN0ZDo6X1R1cGxlX2ltcGw8MiwgPj4gPSB7
PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9IZWFkX2Jhc2U8MSwgc3RkOjpkZWZhdWx0X2RlbGV0
ZTxzdGQ6Om11dGV4PiwgdHJ1ZT4+ID0gezxzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+
PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxk
cz59LCA8c3RkOjpfSGVhZF9iYXNlPDAsIHN0ZDo6bXV0ZXgqLCBmYWxzZT4+ID0ge19NX2hlYWRf
aW1wbCA9IDB4MTZmMzE3MH0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fX19
fSwgbV9ub2RlTGlzdEFuZENvbGxlY3Rpb25Db3VudHMgPSB7MCwgMCwgMCwgMCwgMCwgMCwgMCwg
MH0sIG1feHBhdGhFdmFsdWF0b3IgPSB7bV9wdHIgPSAweDB9LCBtX3N2Z0V4dGVuc2lvbnMgPSB7
bV9wdHIgPSAweDB9LCBtX2Nzc0NhbnZhc0VsZW1lbnRzID0ge21faW1wbCA9IHtzdGF0aWMgbV9t
YXhMb2FkID0gMiwgc3RhdGljIG1fbWluTG9hZCA9IDYsIG1fdGFibGUgPSAweDAsIG1fdGFibGVT
aXplID0gMCwgbV90YWJsZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENv
dW50ID0gMCwgbV9pdGVyYXRvcnMgPSAweDAsIG1fbXV0ZXggPSB7X01fdCA9IHs8c3RkOjpfVHVw
bGVfaW1wbDwwLCBzdGQ6Om11dGV4Kiwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiA+
PiA9IHs8c3RkOjpfVHVwbGVfaW1wbDwxLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+
ID4+ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDIsID4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3Rk
OjpfSGVhZF9iYXNlPDEsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4sIHRydWU+PiA9
IHs8c3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4Pj4gPSB7PE5vIGRhdGEgZmllbGRzPn0s
IDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0hlYWRfYmFzZTww
LCBzdGQ6Om11dGV4KiwgZmFsc2U+PiA9IHtfTV9oZWFkX2ltcGwgPSAweDE1MDY4ZTB9LCA8Tm8g
ZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn19fX0sIG1fY3JlYXRlUmVuZGVyZXJzID0g
dHJ1ZSwgbV9pblBhZ2VDYWNoZSA9IGZhbHNlUHl0aG9uIEV4Y2VwdGlvbiA8Y2xhc3MgJ1R5cGVF
cnJvcic+IGl0ZXIoKSByZXR1cm5lZCBub24taXRlcmF0b3Igb2YgdHlwZSAnSXRlcmF0b3InOiAK
LCBtX2ljb25VUkxzID0gV1RGOjpWZWN0b3Igb2YgbGVuZ3RoIDAsIGNhcGFjaXR5IDAsIG1fZG9j
dW1lbnRTdXNwZW5zaW9uQ2FsbGJhY2tFbGVtZW50cyA9IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4
TG9hZCA9IDIsIHN0YXRpYyBtX21pbkxvYWQgPSA2LCBtX3RhYmxlID0gMHgwLCBtX3RhYmxlU2l6
ZSA9IDAsIG1fdGFibGVTaXplTWFzayA9IDAsIG1fa2V5Q291bnQgPSAwLCBtX2RlbGV0ZWRDb3Vu
dCA9IDAsIG1faXRlcmF0b3JzID0gMHgwLCBtX211dGV4ID0ge19NX3QgPSB7PHN0ZDo6X1R1cGxl
X2ltcGw8MCwgc3RkOjptdXRleCosIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4gPj4g
PSB7PHN0ZDo6X1R1cGxlX2ltcGw8MSwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiA+
PiA9IHs8c3RkOjpfVHVwbGVfaW1wbDwyLCA+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6
X0hlYWRfYmFzZTwxLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+LCB0cnVlPj4gPSB7
PHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8
Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9IZWFkX2Jhc2U8MCwg
c3RkOjptdXRleCosIGZhbHNlPj4gPSB7X01faGVhZF9pbXBsID0gMHgxNTA2OTEwfSwgPE5vIGRh
dGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59fX19LCBtX21lZGlhVm9sdW1lQ2FsbGJhY2tF
bGVtZW50cyA9IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9hZCA9IDIsIHN0YXRpYyBtX21pbkxv
YWQgPSA2LCBtX3RhYmxlID0gMHgwLCBtX3RhYmxlU2l6ZSA9IDAsIG1fdGFibGVTaXplTWFzayA9
IDAsIG1fa2V5Q291bnQgPSAwLCBtX2RlbGV0ZWRDb3VudCA9IDAsIG1faXRlcmF0b3JzID0gMHgw
LCBtX211dGV4ID0ge19NX3QgPSB7PHN0ZDo6X1R1cGxlX2ltcGw8MCwgc3RkOjptdXRleCosIHN0
ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4gPj4gPSB7PHN0ZDo6X1R1cGxlX2ltcGw8MSwg
c3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiA+PiA9IHs8c3RkOjpfVHVwbGVfaW1wbDwy
LCA+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0hlYWRfYmFzZTwxLCBzdGQ6OmRlZmF1
bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+LCB0cnVlPj4gPSB7PHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3Rk
OjptdXRleD4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRh
dGEgZmllbGRzPn0sIDxzdGQ6Ol9IZWFkX2Jhc2U8MCwgc3RkOjptdXRleCosIGZhbHNlPj4gPSB7
X01faGVhZF9pbXBsID0gMHgxNTA2OTQwfSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZp
ZWxkcz59fX19LCBtX3ByaXZhdGVCcm93c2luZ1N0YXRlQ2hhbmdlZEVsZW1lbnRzID0ge21faW1w
bCA9IHtzdGF0aWMgbV9tYXhMb2FkID0gMiwgc3RhdGljIG1fbWluTG9hZCA9IDYsIG1fdGFibGUg
PSAweDAsIG1fdGFibGVTaXplID0gMCwgbV90YWJsZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9
IDAsIG1fZGVsZXRlZENvdW50ID0gMCwgbV9pdGVyYXRvcnMgPSAweDAsIG1fbXV0ZXggPSB7X01f
dCA9IHs8c3RkOjpfVHVwbGVfaW1wbDwwLCBzdGQ6Om11dGV4Kiwgc3RkOjpkZWZhdWx0X2RlbGV0
ZTxzdGQ6Om11dGV4PiA+PiA9IHs8c3RkOjpfVHVwbGVfaW1wbDwxLCBzdGQ6OmRlZmF1bHRfZGVs
ZXRlPHN0ZDo6bXV0ZXg+ID4+ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDIsID4+ID0gezxObyBkYXRh
IGZpZWxkcz59LCA8c3RkOjpfSGVhZF9iYXNlPDEsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjpt
dXRleD4sIHRydWU+PiA9IHs8c3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4Pj4gPSB7PE5v
IGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0
ZDo6X0hlYWRfYmFzZTwwLCBzdGQ6Om11dGV4KiwgZmFsc2U+PiA9IHtfTV9oZWFkX2ltcGwgPSAw
eDE1MDY5NzB9LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn19fX0sIG1fY2Fw
dGlvblByZWZlcmVuY2VzQ2hhbmdlZEVsZW1lbnRzID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhM
b2FkID0gMiwgc3RhdGljIG1fbWluTG9hZCA9IDYsIG1fdGFibGUgPSAweDAsIG1fdGFibGVTaXpl
ID0gMCwgbV90YWJsZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENvdW50
ID0gMCwgbV9pdGVyYXRvcnMgPSAweDAsIG1fbXV0ZXggPSB7X01fdCA9IHs8c3RkOjpfVHVwbGVf
aW1wbDwwLCBzdGQ6Om11dGV4Kiwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiA+PiA9
IHs8c3RkOjpfVHVwbGVfaW1wbDwxLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+ID4+
ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDIsID4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpf
SGVhZF9iYXNlPDEsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4sIHRydWU+PiA9IHs8
c3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4Pj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxO
byBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0hlYWRfYmFzZTwwLCBz
dGQ6Om11dGV4KiwgZmFsc2U+PiA9IHtfTV9oZWFkX2ltcGwgPSAweDE2OGFkNTB9LCA8Tm8gZGF0
YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn19fX0sIG1fdmlzaWJpbGl0eVN0YXRlQ2FsbGJh
Y2tFbGVtZW50cyA9IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9hZCA9IDIsIHN0YXRpYyBtX21p
bkxvYWQgPSA2LCBtX3RhYmxlID0gMHgwLCBtX3RhYmxlU2l6ZSA9IDAsIG1fdGFibGVTaXplTWFz
ayA9IDAsIG1fa2V5Q291bnQgPSAwLCBtX2RlbGV0ZWRDb3VudCA9IDAsIG1faXRlcmF0b3JzID0g
MHgwLCBtX211dGV4ID0ge19NX3QgPSB7PHN0ZDo6X1R1cGxlX2ltcGw8MCwgc3RkOjptdXRleCos
IHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4gPj4gPSB7PHN0ZDo6X1R1cGxlX2ltcGw8
MSwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiA+PiA9IHs8c3RkOjpfVHVwbGVfaW1w
bDwyLCA+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0hlYWRfYmFzZTwxLCBzdGQ6OmRl
ZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+LCB0cnVlPj4gPSB7PHN0ZDo6ZGVmYXVsdF9kZWxldGU8
c3RkOjptdXRleD4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5v
IGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9IZWFkX2Jhc2U8MCwgc3RkOjptdXRleCosIGZhbHNlPj4g
PSB7X01faGVhZF9pbXBsID0gMHgxNTA2OWEwfSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRh
IGZpZWxkcz59fX19LCBtX2VsZW1lbnRzQnlBY2Nlc3NLZXkgPSB7bV9pbXBsID0ge3N0YXRpYyBt
X21heExvYWQgPSAyLCBzdGF0aWMgbV9taW5Mb2FkID0gNiwgbV90YWJsZSA9IDB4MCwgbV90YWJs
ZVNpemUgPSAwLCBtX3RhYmxlU2l6ZU1hc2sgPSAwLCBtX2tleUNvdW50ID0gMCwgbV9kZWxldGVk
Q291bnQgPSAwLCBtX2l0ZXJhdG9ycyA9IDB4MCwgbV9tdXRleCA9IHtfTV90ID0gezxzdGQ6Ol9U
dXBsZV9pbXBsPDAsIHN0ZDo6bXV0ZXgqLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+
ID4+ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDEsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRl
eD4gPj4gPSB7PHN0ZDo6X1R1cGxlX2ltcGw8MiwgPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxz
dGQ6Ol9IZWFkX2Jhc2U8MSwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiwgdHJ1ZT4+
ID0gezxzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+
fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfSGVhZF9iYXNl
PDAsIHN0ZDo6bXV0ZXgqLCBmYWxzZT4+ID0ge19NX2hlYWRfaW1wbCA9IDB4MTUwNjlkMH0sIDxO
byBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fX19fSwgbV9hY2Nlc3NLZXlNYXBWYWxp
ZCA9IGZhbHNlLCBtX2ltYWdlc0J5VXNlbWFwID0ge21fbWFwID0ge21faW1wbCA9IHtzdGF0aWMg
bV9tYXhMb2FkID0gMiwgc3RhdGljIG1fbWluTG9hZCA9IDYsIG1fdGFibGUgPSAweDAsIG1fdGFi
bGVTaXplID0gMCwgbV90YWJsZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRl
ZENvdW50ID0gMCwgbV9pdGVyYXRvcnMgPSAweDAsIG1fbXV0ZXggPSB7X01fdCA9IHs8c3RkOjpf
VHVwbGVfaW1wbDwwLCBzdGQ6Om11dGV4Kiwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4
PiA+PiA9IHs8c3RkOjpfVHVwbGVfaW1wbDwxLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0
ZXg+ID4+ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDIsID4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8
c3RkOjpfSGVhZF9iYXNlPDEsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4sIHRydWU+
PiA9IHs8c3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4Pj4gPSB7PE5vIGRhdGEgZmllbGRz
Pn0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0hlYWRfYmFz
ZTwwLCBzdGQ6Om11dGV4KiwgZmFsc2U+PiA9IHtfTV9oZWFkX2ltcGwgPSAweDE1MDZhMDB9LCA8
Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn19fX19LCBtX3NlbGVjdG9yUXVlcnlD
YWNoZSA9IHttX3B0ciA9IDB4MH0sIG1fZG9jdW1lbnRDbGFzc2VzID0gMSAnXDAwMScsIG1faXNT
eW50aGVzaXplZCA9IGZhbHNlLCBtX2lzTm9uUmVuZGVyZWRQbGFjZWhvbGRlciA9IGZhbHNlLCBt
X2lzVmlld1NvdXJjZSA9IGZhbHNlLCBtX3Nhd0VsZW1lbnRzSW5Lbm93bk5hbWVzcGFjZXMgPSBm
YWxzZSwgbV9pc1NyY2RvY0RvY3VtZW50ID0gZmFsc2UsIG1fcmVuZGVyVmlldyA9IHttX3B0ciA9
IDB4MTUzZDE1MH0sIG1fZXZlbnRRdWV1ZSA9IHs8V2ViQ29yZTo6RXZlbnRRdWV1ZT4gPSB7X3Zw
dHIkRXZlbnRRdWV1ZSA9IDB4N2YyYTNhNDg3NzQwIDx2dGFibGUgZm9yIFdlYkNvcmU6OkRvY3Vt
ZW50RXZlbnRRdWV1ZSsxNj59LCBtX2RvY3VtZW50ID0gQDB4MTU2YzJjMCwgbV9wZW5kaW5nRXZl
bnRUaW1lciA9IHttX3B0ciA9IDB4MTUwNmEzMH0sIG1fcXVldWVkRXZlbnRzID0ge21faW1wbCA9
IHtzdGF0aWMgbV9tYXhMb2FkID0gMiwgc3RhdGljIG1fbWluTG9hZCA9IDYsIG1fdGFibGUgPSAw
eDAsIG1fdGFibGVTaXplID0gMCwgbV90YWJsZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAs
IG1fZGVsZXRlZENvdW50ID0gMCwgbV9pdGVyYXRvcnMgPSAweDAsIG1fbXV0ZXggPSB7X01fdCA9
IHs8c3RkOjpfVHVwbGVfaW1wbDwwLCBzdGQ6Om11dGV4Kiwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxz
dGQ6Om11dGV4PiA+PiA9IHs8c3RkOjpfVHVwbGVfaW1wbDwxLCBzdGQ6OmRlZmF1bHRfZGVsZXRl
PHN0ZDo6bXV0ZXg+ID4+ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDIsID4+ID0gezxObyBkYXRhIGZp
ZWxkcz59LCA8c3RkOjpfSGVhZF9iYXNlPDEsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRl
eD4sIHRydWU+PiA9IHs8c3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4Pj4gPSB7PE5vIGRh
dGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6
X0hlYWRfYmFzZTwwLCBzdGQ6Om11dGV4KiwgZmFsc2U+PiA9IHtfTV9oZWFkX2ltcGwgPSAweDE1
M2NiNjB9LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn19fSwgbV9oZWFkID0g
MHgwLCBtX3RhaWwgPSAweDAsIG1fYWxsb2NhdG9yID0ge19NX3QgPSB7PHN0ZDo6X1R1cGxlX2lt
cGw8MCwgV1RGOjpMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I8V1RGOjpSZWZQdHI8V2ViQ29yZTo6
RXZlbnQ+LCAxNj4qLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPFdURjo6TGlzdEhhc2hTZXROb2RlQWxs
b2NhdG9yPFdURjo6UmVmUHRyPFdlYkNvcmU6OkV2ZW50PiwgMTY+ID4gPj4gPSB7PHN0ZDo6X1R1
cGxlX2ltcGw8MSwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxXVEY6Okxpc3RIYXNoU2V0Tm9kZUFsbG9j
YXRvcjxXVEY6OlJlZlB0cjxXZWJDb3JlOjpFdmVudD4sIDE2PiA+ID4+ID0gezxzdGQ6Ol9UdXBs
ZV9pbXBsPDIsID4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfSGVhZF9iYXNlPDEsIHN0
ZDo6ZGVmYXVsdF9kZWxldGU8V1RGOjpMaXN0SGFzaFNldE5vZGVBbGxvY2F0b3I8V1RGOjpSZWZQ
dHI8V2ViQ29yZTo6RXZlbnQ+LCAxNj4gPiwgdHJ1ZT4+ID0gezxzdGQ6OmRlZmF1bHRfZGVsZXRl
PFdURjo6TGlzdEhhc2hTZXROb2RlQWxsb2NhdG9yPFdURjo6UmVmUHRyPFdlYkNvcmU6OkV2ZW50
PiwgMTY+ID4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRh
dGEgZmllbGRzPn0sIDxzdGQ6Ol9IZWFkX2Jhc2U8MCwgV1RGOjpMaXN0SGFzaFNldE5vZGVBbGxv
Y2F0b3I8V1RGOjpSZWZQdHI8V2ViQ29yZTo6RXZlbnQ+LCAxNj4qLCBmYWxzZT4+ID0ge19NX2hl
YWRfaW1wbCA9IDB4MTYzNzgwMH0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+
fX19LCBtX25vZGVzV2l0aFF1ZXVlZFNjcm9sbEV2ZW50cyA9IHttX2ltcGwgPSB7c3RhdGljIG1f
bWF4TG9hZCA9IDIsIHN0YXRpYyBtX21pbkxvYWQgPSA2LCBtX3RhYmxlID0gMHgwLCBtX3RhYmxl
U2l6ZSA9IDAsIG1fdGFibGVTaXplTWFzayA9IDAsIG1fa2V5Q291bnQgPSAwLCBtX2RlbGV0ZWRD
b3VudCA9IDAsIG1faXRlcmF0b3JzID0gMHgwLCBtX211dGV4ID0ge19NX3QgPSB7PHN0ZDo6X1R1
cGxlX2ltcGw8MCwgc3RkOjptdXRleCosIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4g
Pj4gPSB7PHN0ZDo6X1R1cGxlX2ltcGw8MSwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4
PiA+PiA9IHs8c3RkOjpfVHVwbGVfaW1wbDwyLCA+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0
ZDo6X0hlYWRfYmFzZTwxLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+LCB0cnVlPj4g
PSB7PHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4+ID0gezxObyBkYXRhIGZpZWxkcz59
LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9IZWFkX2Jhc2U8
MCwgc3RkOjptdXRleCosIGZhbHNlPj4gPSB7X01faGVhZF9pbXBsID0gMHgxNTNjYjkwfSwgPE5v
IGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59fX19LCBtX2lzQ2xvc2VkID0gZmFsc2V9
LCBtX3dlYWtGYWN0b3J5ID0ge21fcmVmID0ge21fcHRyID0gMHgxNjM3YTkwfX0sIG1fbWVkaWFD
YW5TdGFydExpc3RlbmVycyA9IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9hZCA9IDIsIHN0YXRp
YyBtX21pbkxvYWQgPSA2LCBtX3RhYmxlID0gMHgwLCBtX3RhYmxlU2l6ZSA9IDAsIG1fdGFibGVT
aXplTWFzayA9IDAsIG1fa2V5Q291bnQgPSAwLCBtX2RlbGV0ZWRDb3VudCA9IDAsIG1faXRlcmF0
b3JzID0gMHgwLCBtX211dGV4ID0ge19NX3QgPSB7PHN0ZDo6X1R1cGxlX2ltcGw8MCwgc3RkOjpt
dXRleCosIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4gPj4gPSB7PHN0ZDo6X1R1cGxl
X2ltcGw8MSwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiA+PiA9IHs8c3RkOjpfVHVw
bGVfaW1wbDwyLCA+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0hlYWRfYmFzZTwxLCBz
dGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+LCB0cnVlPj4gPSB7PHN0ZDo6ZGVmYXVsdF9k
ZWxldGU8c3RkOjptdXRleD4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+
fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9IZWFkX2Jhc2U8MCwgc3RkOjptdXRleCosIGZh
bHNlPj4gPSB7X01faGVhZF9pbXBsID0gMHgxNTNjYmMwfSwgPE5vIGRhdGEgZmllbGRzPn0sIDxO
byBkYXRhIGZpZWxkcz59fX19LCBtX2lkQXR0cmlidXRlTmFtZSA9ICJpZCIsIG1fYXJlS2V5c0Vu
YWJsZWRJbkZ1bGxTY3JlZW4gPSBmYWxzZSwgbV9mdWxsU2NyZWVuRWxlbWVudCA9IHttX3B0ciA9
IDB4MH1QeXRob24gRXhjZXB0aW9uIDxjbGFzcyAnVHlwZUVycm9yJz4gaXRlcigpIHJldHVybmVk
IG5vbi1pdGVyYXRvciBvZiB0eXBlICdJdGVyYXRvcic6IAosIG1fZnVsbFNjcmVlbkVsZW1lbnRT
dGFjayA9IFdURjo6VmVjdG9yIG9mIGxlbmd0aCAwLCBjYXBhY2l0eSAwLCBtX2Z1bGxTY3JlZW5S
ZW5kZXJlciA9IDB4MCwgbV9mdWxsU2NyZWVuQ2hhbmdlRGVsYXlUaW1lciA9IHs8V2ViQ29yZTo6
VGltZXJCYXNlPiA9IHtfdnB0ciRUaW1lckJhc2UgPSAweDdmMmEzYTQ0OGU2MCA8dnRhYmxlIGZv
ciBXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpEb2N1bWVudD4rMTY+LCBtX25leHRGaXJlVGltZSA9
IDAsIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lID0gMCwgbV9yZXBlYXRJbnRlcnZhbCA9IDAsIG1f
aGVhcEluZGV4ID0gLTEsIG1faGVhcEluc2VydGlvbk9yZGVyID0gMzI1NTQsIG1fY2FjaGVkVGhy
ZWFkR2xvYmFsVGltZXJIZWFwID0gMHgwLCBtX3RocmVhZCA9IDEsIG1fd2FzRGVsZXRlZCA9IGZh
bHNlfSwgbV9mdW5jdGlvbiA9IHs8c3RkOjpfTWF5YmVfdW5hcnlfb3JfYmluYXJ5X2Z1bmN0aW9u
PHZvaWQsID4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfRnVuY3Rpb25fYmFzZT4gPSB7
c3RhdGljIF9NX21heF9zaXplID0gMTYsIHN0YXRpYyBfTV9tYXhfYWxpZ24gPSA4LCBfTV9mdW5j
dG9yID0ge19NX3VudXNlZCA9IHtfTV9vYmplY3QgPSAweDE1M2NiZjAsIF9NX2NvbnN0X29iamVj
dCA9IDB4MTUzY2JmMCwgX01fZnVuY3Rpb25fcG9pbnRlciA9IDB4MTUzY2JmMCwgX01fbWVtYmVy
X3BvaW50ZXIgPSA8ZXJyb3IgcmVhZGluZyB2YXJpYWJsZT4sIF9NX3BvZF9kYXRhID0gIlwzNjBc
MzEzU1wwMDFcMDAwXDAwMFwwMDBcMDAwXDIzMEdcMjMyXDA2MSpcMTc3XDAwMCJ9LCBfTV9tYW5h
Z2VyID0gMHg3ZjJhMzZmZjRjZjAgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U6Ol9CYXNlX21hbmFnZXI8
c3RkOjpfQmluZDxzdGQ6Ol9NZW1fZm48dm9pZCAoV2ViQ29yZTo6RG9jdW1lbnQ6OiopKFdlYkNv
cmU6OlRpbWVyPFdlYkNvcmU6OkRvY3VtZW50PiYpPiAoV2ViQ29yZTo6RG9jdW1lbnQqLCBzdGQ6
OnJlZmVyZW5jZV93cmFwcGVyPFdlYkNvcmU6OlRpbWVyPFdlYkNvcmU6OkRvY3VtZW50PiA+KT4g
Pjo6X01fbWFuYWdlcihzdGQ6Ol9BbnlfZGF0YSYsIHN0ZDo6X0FueV9kYXRhIGNvbnN0Jiwgc3Rk
OjpfTWFuYWdlcl9vcGVyYXRpb24pPn0sIF9NX2ludm9rZXIgPSAweDdmMmEzNmZmNGNjMCA8c3Rk
OjpfRnVuY3Rpb25faGFuZGxlcjx2b2lkICgpLCBzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lk
IChXZWJDb3JlOjpEb2N1bWVudDo6KikoV2ViQ29yZTo6VGltZXI8V2ViQ29yZTo6RG9jdW1lbnQ+
Jik+IChXZWJDb3JlOjpEb2N1bWVudCosIHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8V2ViQ29yZTo6
VGltZXI8V2ViQ29yZTo6RG9jdW1lbnQ+ID4pPiA+OjpfTV9pbnZva2Uoc3RkOjpfQW55X2RhdGEg
Y29uc3QmKT59fSwgbV9mdWxsU2NyZWVuQ2hhbmdlRXZlbnRUYXJnZXRRdWV1ZSA9IHttX3N0YXJ0
ID0gMCwgbV9lbmQgPSAwLCBtX2J1ZmZlciA9IHs8V1RGOjpWZWN0b3JCdWZmZXJCYXNlPFdURjo6
UmVmUHRyPFdlYkNvcmU6Ok5vZGU+ID4+ID0ge21fYnVmZmVyID0gMHgwLCBtX2NhcGFjaXR5ID0g
MCwgbV9zaXplID0gMH0sIDxObyBkYXRhIGZpZWxkcz59LCBtX2l0ZXJhdG9ycyA9IDB4MH0sIG1f
ZnVsbFNjcmVlbkVycm9yRXZlbnRUYXJnZXRRdWV1ZSA9IHttX3N0YXJ0ID0gMCwgbV9lbmQgPSAw
LCBtX2J1ZmZlciA9IHs8V1RGOjpWZWN0b3JCdWZmZXJCYXNlPFdURjo6UmVmUHRyPFdlYkNvcmU6
Ok5vZGU+ID4+ID0ge21fYnVmZmVyID0gMHgwLCBtX2NhcGFjaXR5ID0gMCwgbV9zaXplID0gMH0s
IDxObyBkYXRhIGZpZWxkcz59LCBtX2l0ZXJhdG9ycyA9IDB4MH0sIG1faXNBbmltYXRpbmdGdWxs
U2NyZWVuID0gZmFsc2UsIG1fc2F2ZWRQbGFjZWhvbGRlckZyYW1lUmVjdCA9IHttX2xvY2F0aW9u
ID0gTGF5b3V0UG9pbnQoMHB4ICgwKSwgMHB4ICgwKSksIG1fc2l6ZSA9IExheW91dFNpemUoMHB4
ICgwKSwgMHB4ICgwKSl9LCBtX3NhdmVkUGxhY2Vob2xkZXJSZW5kZXJTdHlsZSA9IHttX3B0ciA9
IDB4MH0sIG1fbG9hZEV2ZW50RGVsYXlDb3VudCA9IDAsIG1fbG9hZEV2ZW50RGVsYXlUaW1lciA9
IHs8V2ViQ29yZTo6VGltZXJCYXNlPiA9IHtfdnB0ciRUaW1lckJhc2UgPSAweDdmMmEzYTQ0OGU2
MCA8dnRhYmxlIGZvciBXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpEb2N1bWVudD4rMTY+LCBtX25l
eHRGaXJlVGltZSA9IDAsIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lID0gMCwgbV9yZXBlYXRJbnRl
cnZhbCA9IDAsIG1faGVhcEluZGV4ID0gLTEsIG1faGVhcEluc2VydGlvbk9yZGVyID0gMCwgbV9j
YWNoZWRUaHJlYWRHbG9iYWxUaW1lckhlYXAgPSAweDAsIG1fdGhyZWFkID0gMSwgbV93YXNEZWxl
dGVkID0gZmFsc2V9LCBtX2Z1bmN0aW9uID0gezxzdGQ6Ol9NYXliZV91bmFyeV9vcl9iaW5hcnlf
ZnVuY3Rpb248dm9pZCwgPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlvbl9i
YXNlPiA9IHtzdGF0aWMgX01fbWF4X3NpemUgPSAxNiwgc3RhdGljIF9NX21heF9hbGlnbiA9IDgs
IF9NX2Z1bmN0b3IgPSB7X01fdW51c2VkID0ge19NX29iamVjdCA9IDB4MTUzY2MyMCwgX01fY29u
c3Rfb2JqZWN0ID0gMHgxNTNjYzIwLCBfTV9mdW5jdGlvbl9wb2ludGVyID0gMHgxNTNjYzIwLCBf
TV9tZW1iZXJfcG9pbnRlciA9IDxlcnJvciByZWFkaW5nIHZhcmlhYmxlPiwgX01fcG9kX2RhdGEg
PSAiIFwzMTRTXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAxXDAwMVwwMDBcMDAwXDAwMFwwMDBcMDAw
In0sIF9NX21hbmFnZXIgPSAweDdmMmEzNmZmNGNmMCA8c3RkOjpfRnVuY3Rpb25fYmFzZTo6X0Jh
c2VfbWFuYWdlcjxzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lkIChXZWJDb3JlOjpEb2N1bWVu
dDo6KikoV2ViQ29yZTo6VGltZXI8V2ViQ29yZTo6RG9jdW1lbnQ+Jik+IChXZWJDb3JlOjpEb2N1
bWVudCosIHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8V2ViQ29yZTo6VGltZXI8V2ViQ29yZTo6RG9j
dW1lbnQ+ID4pPiA+OjpfTV9tYW5hZ2VyKHN0ZDo6X0FueV9kYXRhJiwgc3RkOjpfQW55X2RhdGEg
Y29uc3QmLCBzdGQ6Ol9NYW5hZ2VyX29wZXJhdGlvbik+fSwgX01faW52b2tlciA9IDB4N2YyYTM2
ZmY0Y2MwIDxzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQgKCksIHN0ZDo6X0JpbmQ8c3RkOjpf
TWVtX2ZuPHZvaWQgKFdlYkNvcmU6OkRvY3VtZW50OjoqKShXZWJDb3JlOjpUaW1lcjxXZWJDb3Jl
OjpEb2N1bWVudD4mKT4gKFdlYkNvcmU6OkRvY3VtZW50Kiwgc3RkOjpyZWZlcmVuY2Vfd3JhcHBl
cjxXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpEb2N1bWVudD4gPik+ID46Ol9NX2ludm9rZShzdGQ6
Ol9BbnlfZGF0YSBjb25zdCYpPn19LCBtX3ZpZXdwb3J0QXJndW1lbnRzID0ge3R5cGUgPSBXZWJD
b3JlOjpWaWV3cG9ydEFyZ3VtZW50czo6SW1wbGljaXQsIHdpZHRoID0gLTEsIG1pbldpZHRoID0g
LTEsIG1heFdpZHRoID0gLTEsIGhlaWdodCA9IC0xLCBtaW5IZWlnaHQgPSAtMSwgbWF4SGVpZ2h0
ID0gLTEsIHpvb20gPSAtMSwgbWluWm9vbSA9IC0xLCBtYXhab29tID0gLTEsIHVzZXJab29tID0g
LTEsIG9yaWVudGF0aW9uID0gLTEsIHN0YXRpYyBkZXByZWNhdGVkVGFyZ2V0RFBJID0gMTYwfSwg
bV9yZWZlcnJlclBvbGljeSA9IFdlYkNvcmU6OlJlZmVycmVyUG9saWN5RGVmYXVsdCwgbV9kaXJl
Y3Rpb25TZXRPbkRvY3VtZW50RWxlbWVudCA9IGZhbHNlLCBtX3dyaXRpbmdNb2RlU2V0T25Eb2N1
bWVudEVsZW1lbnQgPSBmYWxzZSwgbV9kb2N1bWVudFRpbWluZyA9IHtkb21Mb2FkaW5nID0gNDc1
NTEuMjQ1Mzg5OTk5OTk2LCBkb21JbnRlcmFjdGl2ZSA9IDQ3NTUxLjI0OTg0Nzk5OTk5OSwgZG9t
Q29udGVudExvYWRlZEV2ZW50U3RhcnQgPSA0NzU1MS4yNDk4NzkwMDAwMDMsIGRvbUNvbnRlbnRM
b2FkZWRFdmVudEVuZCA9IDQ3NTUxLjI0OTg5NCwgZG9tQ29tcGxldGUgPSA0NzU1MS4yNTE0Nzk5
OTk5OTl9LCBtX21lZGlhUXVlcnlNYXRjaGVyID0ge21fcHRyID0gMHgwfSwgbV93cml0ZVJlY3Vy
c2lvbklzVG9vRGVlcCA9IGZhbHNlLCBtX3dyaXRlUmVjdXJzaW9uRGVwdGggPSAwLCBtX3doZWVs
RXZlbnRIYW5kbGVyQ291bnQgPSAwLCBtX2xhc3RIYW5kbGVkVXNlckdlc3R1cmVUaW1lc3RhbXAg
PSAwLCBtX3NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlciA9IHttX3B0ciA9IDB4MH0sIG1fcGVu
ZGluZ1Rhc2tzVGltZXIgPSB7PFdlYkNvcmU6OlRpbWVyQmFzZT4gPSB7X3ZwdHIkVGltZXJCYXNl
ID0gMHg3ZjJhM2E0NDhlNjAgPHZ0YWJsZSBmb3IgV2ViQ29yZTo6VGltZXI8V2ViQ29yZTo6RG9j
dW1lbnQ+KzE2PiwgbV9uZXh0RmlyZVRpbWUgPSAwLCBtX3VuYWxpZ25lZE5leHRGaXJlVGltZSA9
IDAsIG1fcmVwZWF0SW50ZXJ2YWwgPSAwLCBtX2hlYXBJbmRleCA9IC0xLCBtX2hlYXBJbnNlcnRp
b25PcmRlciA9IDMyNTU0LCBtX2NhY2hlZFRocmVhZEdsb2JhbFRpbWVySGVhcCA9IDB4MCwgbV90
aHJlYWQgPSAxLCBtX3dhc0RlbGV0ZWQgPSBmYWxzZX0sIG1fZnVuY3Rpb24gPSB7PHN0ZDo6X01h
eWJlX3VuYXJ5X29yX2JpbmFyeV9mdW5jdGlvbjx2b2lkLCA+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+
fSwgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U+ID0ge3N0YXRpYyBfTV9tYXhfc2l6ZSA9IDE2LCBzdGF0
aWMgX01fbWF4X2FsaWduID0gOCwgX01fZnVuY3RvciA9IHtfTV91bnVzZWQgPSB7X01fb2JqZWN0
ID0gMHgxNTNjYzUwLCBfTV9jb25zdF9vYmplY3QgPSAweDE1M2NjNTAsIF9NX2Z1bmN0aW9uX3Bv
aW50ZXIgPSAweDE1M2NjNTAsIF9NX21lbWJlcl9wb2ludGVyID0gPGVycm9yIHJlYWRpbmcgdmFy
aWFibGU+LCBfTV9wb2RfZGF0YSA9ICJQXDMxNFNcMDAxXDAwMFwwMDBcMDAwXDAwMFwzNDNOXGJc
MDAwXDAwMFwwMDBcMDAwIn0sIF9NX21hbmFnZXIgPSAweDdmMmEzNmZmNGNmMCA8c3RkOjpfRnVu
Y3Rpb25fYmFzZTo6X0Jhc2VfbWFuYWdlcjxzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lkIChX
ZWJDb3JlOjpEb2N1bWVudDo6KikoV2ViQ29yZTo6VGltZXI8V2ViQ29yZTo6RG9jdW1lbnQ+Jik+
IChXZWJDb3JlOjpEb2N1bWVudCosIHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8V2ViQ29yZTo6VGlt
ZXI8V2ViQ29yZTo6RG9jdW1lbnQ+ID4pPiA+OjpfTV9tYW5hZ2VyKHN0ZDo6X0FueV9kYXRhJiwg
c3RkOjpfQW55X2RhdGEgY29uc3QmLCBzdGQ6Ol9NYW5hZ2VyX29wZXJhdGlvbik+fSwgX01faW52
b2tlciA9IDB4N2YyYTM2ZmY0Y2MwIDxzdGQ6Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQgKCksIHN0
ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPHZvaWQgKFdlYkNvcmU6OkRvY3VtZW50OjoqKShXZWJDb3Jl
OjpUaW1lcjxXZWJDb3JlOjpEb2N1bWVudD4mKT4gKFdlYkNvcmU6OkRvY3VtZW50Kiwgc3RkOjpy
ZWZlcmVuY2Vfd3JhcHBlcjxXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpEb2N1bWVudD4gPik+ID46
Ol9NX2ludm9rZShzdGQ6Ol9BbnlfZGF0YSBjb25zdCYpPn19UHl0aG9uIEV4Y2VwdGlvbiA8Y2xh
c3MgJ1R5cGVFcnJvcic+IGl0ZXIoKSByZXR1cm5lZCBub24taXRlcmF0b3Igb2YgdHlwZSAnSXRl
cmF0b3InOiAKLCBtX3BlbmRpbmdUYXNrcyA9IFdURjo6VmVjdG9yIG9mIGxlbmd0aCAwLCBjYXBh
Y2l0eSAwLCBtX3NjaGVkdWxlZFRhc2tzQXJlU3VzcGVuZGVkID0gZmFsc2UsIG1fdmlzdWFsVXBk
YXRlc0FsbG93ZWQgPSB0cnVlLCBtX3Zpc3VhbFVwZGF0ZXNTdXBwcmVzc2lvblRpbWVyID0gezxX
ZWJDb3JlOjpUaW1lckJhc2U+ID0ge192cHRyJFRpbWVyQmFzZSA9IDB4N2YyYTNhNDQ4ZTYwIDx2
dGFibGUgZm9yIFdlYkNvcmU6OlRpbWVyPFdlYkNvcmU6OkRvY3VtZW50PisxNj4sIG1fbmV4dEZp
cmVUaW1lID0gMCwgbV91bmFsaWduZWROZXh0RmlyZVRpbWUgPSAwLCBtX3JlcGVhdEludGVydmFs
ID0gMCwgbV9oZWFwSW5kZXggPSAtMSwgbV9oZWFwSW5zZXJ0aW9uT3JkZXIgPSAwLCBtX2NhY2hl
ZFRocmVhZEdsb2JhbFRpbWVySGVhcCA9IDB4MCwgbV90aHJlYWQgPSAxLCBtX3dhc0RlbGV0ZWQg
PSBmYWxzZX0sIG1fZnVuY3Rpb24gPSB7PHN0ZDo6X01heWJlX3VuYXJ5X29yX2JpbmFyeV9mdW5j
dGlvbjx2b2lkLCA+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U+
ID0ge3N0YXRpYyBfTV9tYXhfc2l6ZSA9IDE2LCBzdGF0aWMgX01fbWF4X2FsaWduID0gOCwgX01f
ZnVuY3RvciA9IHtfTV91bnVzZWQgPSB7X01fb2JqZWN0ID0gMHgxNjAwNjkwLCBfTV9jb25zdF9v
YmplY3QgPSAweDE2MDA2OTAsIF9NX2Z1bmN0aW9uX3BvaW50ZXIgPSAweDE2MDA2OTAsIF9NX21l
bWJlcl9wb2ludGVyID0gPGVycm9yIHJlYWRpbmcgdmFyaWFibGU+LCBfTV9wb2RfZGF0YSA9ICJc
MjIwXDAwNmBcMDAxXDAwMFwwMDBcMDAwXDAwMFwyNDFcMDE2XDAwMFwwMDBcMDAwXDAwMFwwMDAi
fSwgX01fbWFuYWdlciA9IDB4N2YyYTM2ZmY0Y2YwIDxzdGQ6Ol9GdW5jdGlvbl9iYXNlOjpfQmFz
ZV9tYW5hZ2VyPHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPHZvaWQgKFdlYkNvcmU6OkRvY3VtZW50
OjoqKShXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpEb2N1bWVudD4mKT4gKFdlYkNvcmU6OkRvY3Vt
ZW50Kiwgc3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpEb2N1
bWVudD4gPik+ID46Ol9NX21hbmFnZXIoc3RkOjpfQW55X2RhdGEmLCBzdGQ6Ol9BbnlfZGF0YSBj
b25zdCYsIHN0ZDo6X01hbmFnZXJfb3BlcmF0aW9uKT59LCBfTV9pbnZva2VyID0gMHg3ZjJhMzZm
ZjRjYzAgPHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8dm9pZCAoKSwgc3RkOjpfQmluZDxzdGQ6Ol9N
ZW1fZm48dm9pZCAoV2ViQ29yZTo6RG9jdW1lbnQ6OiopKFdlYkNvcmU6OlRpbWVyPFdlYkNvcmU6
OkRvY3VtZW50PiYpPiAoV2ViQ29yZTo6RG9jdW1lbnQqLCBzdGQ6OnJlZmVyZW5jZV93cmFwcGVy
PFdlYkNvcmU6OlRpbWVyPFdlYkNvcmU6OkRvY3VtZW50PiA+KT4gPjo6X01faW52b2tlKHN0ZDo6
X0FueV9kYXRhIGNvbnN0Jik+fX0sIG1fbmFtZWRGbG93cyA9IHttX3B0ciA9IDB4MH0sIG1fZG9t
U2VjdXJpdHlQb2xpY3kgPSB7bV9wdHIgPSAweDB9LCBtX3NoYXJlZE9iamVjdFBvb2xDbGVhclRp
bWVyID0gezxXZWJDb3JlOjpUaW1lckJhc2U+ID0ge192cHRyJFRpbWVyQmFzZSA9IDB4N2YyYTNh
NDQ4ZTYwIDx2dGFibGUgZm9yIFdlYkNvcmU6OlRpbWVyPFdlYkNvcmU6OkRvY3VtZW50PisxNj4s
IG1fbmV4dEZpcmVUaW1lID0gNDc2NDcuNDQzNTM0OTk5OTk5LCBtX3VuYWxpZ25lZE5leHRGaXJl
VGltZSA9IDQ3NjQ3LjQ0MzUzNDk5OTk5OSwgbV9yZXBlYXRJbnRlcnZhbCA9IDAsIG1faGVhcElu
ZGV4ID0gOSwgbV9oZWFwSW5zZXJ0aW9uT3JkZXIgPSA5NywgbV9jYWNoZWRUaHJlYWRHbG9iYWxU
aW1lckhlYXAgPSAweDE2YjIzZjAsIG1fdGhyZWFkID0gMSwgbV93YXNEZWxldGVkID0gZmFsc2V9
LCBtX2Z1bmN0aW9uID0gezxzdGQ6Ol9NYXliZV91bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb248dm9p
ZCwgPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlvbl9iYXNlPiA9IHtzdGF0
aWMgX01fbWF4X3NpemUgPSAxNiwgc3RhdGljIF9NX21heF9hbGlnbiA9IDgsIF9NX2Z1bmN0b3Ig
PSB7X01fdW51c2VkID0ge19NX29iamVjdCA9IDB4MTYwMDZjMCwgX01fY29uc3Rfb2JqZWN0ID0g
MHgxNjAwNmMwLCBfTV9mdW5jdGlvbl9wb2ludGVyID0gMHgxNjAwNmMwLCBfTV9tZW1iZXJfcG9p
bnRlciA9IDxlcnJvciByZWFkaW5nIHZhcmlhYmxlPiwgX01fcG9kX2RhdGEgPSAiXDMwMFwwMDZg
XDAwMVwwMDBcMDAwXDAwMFwwMDBcMjAwXDMyMVZcMDAxXDAwMFwwMDBcMDAwIn0sIF9NX21hbmFn
ZXIgPSAweDdmMmEzNmZmNGNmMCA8c3RkOjpfRnVuY3Rpb25fYmFzZTo6X0Jhc2VfbWFuYWdlcjxz
dGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lkIChXZWJDb3JlOjpEb2N1bWVudDo6KikoV2ViQ29y
ZTo6VGltZXI8V2ViQ29yZTo6RG9jdW1lbnQ+Jik+IChXZWJDb3JlOjpEb2N1bWVudCosIHN0ZDo6
cmVmZXJlbmNlX3dyYXBwZXI8V2ViQ29yZTo6VGltZXI8V2ViQ29yZTo6RG9jdW1lbnQ+ID4pPiA+
OjpfTV9tYW5hZ2VyKHN0ZDo6X0FueV9kYXRhJiwgc3RkOjpfQW55X2RhdGEgY29uc3QmLCBzdGQ6
Ol9NYW5hZ2VyX29wZXJhdGlvbik+fSwgX01faW52b2tlciA9IDB4N2YyYTM2ZmY0Y2MwIDxzdGQ6
Ol9GdW5jdGlvbl9oYW5kbGVyPHZvaWQgKCksIHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPHZvaWQg
KFdlYkNvcmU6OkRvY3VtZW50OjoqKShXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpEb2N1bWVudD4m
KT4gKFdlYkNvcmU6OkRvY3VtZW50Kiwgc3RkOjpyZWZlcmVuY2Vfd3JhcHBlcjxXZWJDb3JlOjpU
aW1lcjxXZWJDb3JlOjpEb2N1bWVudD4gPik+ID46Ol9NX2ludm9rZShzdGQ6Ol9BbnlfZGF0YSBj
b25zdCYpPn19LCBtX3NoYXJlZE9iamVjdFBvb2wgPSB7bV9wdHIgPSAweDE2YjUwNTB9LCBtX2Rp
ZERpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzQ2hhbmdlZCA9IHRydWUsIG1fbG9jYWxlQ2FjaGUg
PSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExvYWQgPSAyLCBzdGF0aWMgbV9taW5Mb2FkID0gNiwg
bV90YWJsZSA9IDB4MCwgbV90YWJsZVNpemUgPSAwLCBtX3RhYmxlU2l6ZU1hc2sgPSAwLCBtX2tl
eUNvdW50ID0gMCwgbV9kZWxldGVkQ291bnQgPSAwLCBtX2l0ZXJhdG9ycyA9IDB4MCwgbV9tdXRl
eCA9IHtfTV90ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDAsIHN0ZDo6bXV0ZXgqLCBzdGQ6OmRlZmF1
bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+ID4+ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDEsIHN0ZDo6ZGVm
YXVsdF9kZWxldGU8c3RkOjptdXRleD4gPj4gPSB7PHN0ZDo6X1R1cGxlX2ltcGw8MiwgPj4gPSB7
PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9IZWFkX2Jhc2U8MSwgc3RkOjpkZWZhdWx0X2RlbGV0
ZTxzdGQ6Om11dGV4PiwgdHJ1ZT4+ID0gezxzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+
PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxk
cz59LCA8c3RkOjpfSGVhZF9iYXNlPDAsIHN0ZDo6bXV0ZXgqLCBmYWxzZT4+ID0ge19NX2hlYWRf
aW1wbCA9IDB4MTYwMDZmMH0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fX19
fSwgbV90ZW1wbGF0ZURvY3VtZW50ID0ge21fcHRyID0gMHgwfSwgbV90ZW1wbGF0ZURvY3VtZW50
SG9zdCA9IDB4MCwgbV9kaWRBc3NvY2lhdGVGb3JtQ29udHJvbHNUaW1lciA9IHs8V2ViQ29yZTo6
VGltZXJCYXNlPiA9IHtfdnB0ciRUaW1lckJhc2UgPSAweDdmMmEzYTQ0OGU2MCA8dnRhYmxlIGZv
ciBXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpEb2N1bWVudD4rMTY+LCBtX25leHRGaXJlVGltZSA9
IDAsIG1fdW5hbGlnbmVkTmV4dEZpcmVUaW1lID0gMCwgbV9yZXBlYXRJbnRlcnZhbCA9IDAsIG1f
aGVhcEluZGV4ID0gLTEsIG1faGVhcEluc2VydGlvbk9yZGVyID0gMCwgbV9jYWNoZWRUaHJlYWRH
bG9iYWxUaW1lckhlYXAgPSAweDAsIG1fdGhyZWFkID0gMSwgbV93YXNEZWxldGVkID0gZmFsc2V9
LCBtX2Z1bmN0aW9uID0gezxzdGQ6Ol9NYXliZV91bmFyeV9vcl9iaW5hcnlfZnVuY3Rpb248dm9p
ZCwgPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9GdW5jdGlvbl9iYXNlPiA9IHtzdGF0
aWMgX01fbWF4X3NpemUgPSAxNiwgc3RhdGljIF9NX21heF9hbGlnbiA9IDgsIF9NX2Z1bmN0b3Ig
PSB7X01fdW51c2VkID0ge19NX29iamVjdCA9IDB4MTYwMDcyMCwgX01fY29uc3Rfb2JqZWN0ID0g
MHgxNjAwNzIwLCBfTV9mdW5jdGlvbl9wb2ludGVyID0gMHgxNjAwNzIwLCBfTV9tZW1iZXJfcG9p
bnRlciA9IDxlcnJvciByZWFkaW5nIHZhcmlhYmxlPiwgX01fcG9kX2RhdGEgPSAiIFxhYFwwMDFc
MDAwXDAwMFwwMDBcMDAwXDIwMFwzMjFWXDAwMVwwMDBcMDAwXDAwMCJ9LCBfTV9tYW5hZ2VyID0g
MHg3ZjJhMzZmZjRjZjAgPHN0ZDo6X0Z1bmN0aW9uX2Jhc2U6Ol9CYXNlX21hbmFnZXI8c3RkOjpf
QmluZDxzdGQ6Ol9NZW1fZm48dm9pZCAoV2ViQ29yZTo6RG9jdW1lbnQ6OiopKFdlYkNvcmU6OlRp
bWVyPFdlYkNvcmU6OkRvY3VtZW50PiYpPiAoV2ViQ29yZTo6RG9jdW1lbnQqLCBzdGQ6OnJlZmVy
ZW5jZV93cmFwcGVyPFdlYkNvcmU6OlRpbWVyPFdlYkNvcmU6OkRvY3VtZW50PiA+KT4gPjo6X01f
bWFuYWdlcihzdGQ6Ol9BbnlfZGF0YSYsIHN0ZDo6X0FueV9kYXRhIGNvbnN0Jiwgc3RkOjpfTWFu
YWdlcl9vcGVyYXRpb24pPn0sIF9NX2ludm9rZXIgPSAweDdmMmEzNmZmNGNjMCA8c3RkOjpfRnVu
Y3Rpb25faGFuZGxlcjx2b2lkICgpLCBzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lkIChXZWJD
b3JlOjpEb2N1bWVudDo6KikoV2ViQ29yZTo6VGltZXI8V2ViQ29yZTo6RG9jdW1lbnQ+Jik+IChX
ZWJDb3JlOjpEb2N1bWVudCosIHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8V2ViQ29yZTo6VGltZXI8
V2ViQ29yZTo6RG9jdW1lbnQ+ID4pPiA+OjpfTV9pbnZva2Uoc3RkOjpfQW55X2RhdGEgY29uc3Qm
KT59fSwgbV9hc3NvY2lhdGVkRm9ybUNvbnRyb2xzID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhM
b2FkID0gMiwgc3RhdGljIG1fbWluTG9hZCA9IDYsIG1fdGFibGUgPSAweDAsIG1fdGFibGVTaXpl
ID0gMCwgbV90YWJsZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENvdW50
ID0gMCwgbV9pdGVyYXRvcnMgPSAweDAsIG1fbXV0ZXggPSB7X01fdCA9IHs8c3RkOjpfVHVwbGVf
aW1wbDwwLCBzdGQ6Om11dGV4Kiwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiA+PiA9
IHs8c3RkOjpfVHVwbGVfaW1wbDwxLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+ID4+
ID0gezxzdGQ6Ol9UdXBsZV9pbXBsPDIsID4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpf
SGVhZF9iYXNlPDEsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4sIHRydWU+PiA9IHs8
c3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4Pj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxO
byBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPHN0ZDo6X0hlYWRfYmFzZTwwLCBz
dGQ6Om11dGV4KiwgZmFsc2U+PiA9IHtfTV9oZWFkX2ltcGwgPSAweDE2MDA3NTB9LCA8Tm8gZGF0
YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn19fX0sIG1faGFzSW5qZWN0ZWRQbHVnSW5zU2Ny
aXB0ID0gZmFsc2UsIG1fcmVuZGVyVHJlZUJlaW5nRGVzdHJveWVkID0gZmFsc2V9CiMyICAweDAw
MDA3ZjJhMzZjMjczMDQgaW4gV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdDo6YXhPYmplY3RD
YWNoZSAodGhpcz0weDE1MTllMTApIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQWNjZXNzaWJpbGl0eU9iamVjdC5jcHA6MTY4MAogICAgICAgIGRvYyA9IDB4MTUwNDZiMAoj
MyAgMHgwMDAwN2YyYTM2YzRkMGRkIGluIFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6Om5vdGlmaWNh
dGlvblBvc3RUaW1lckZpcmVkICh0aGlzPTB4MTVlZjY4MCkgYXQgLi4vLi4vU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcDo2NzQKICAgICAgICBvYmogPSAweDE1
MTllMTAKICAgICAgICBub3RpZmljYXRpb24gPSBXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWEFj
dGl2ZURlc2NlbmRhbnRDaGFuZ2VkClB5dGhvbiBFeGNlcHRpb24gPGNsYXNzICdUeXBlRXJyb3In
PiBpdGVyKCkgcmV0dXJuZWQgbm9uLWl0ZXJhdG9yIG9mIHR5cGUgJ0l0ZXJhdG9yJzogCiAgICAg
ICAgX19yYW5nZSA9IFdURjo6VmVjdG9yIG9mIGxlbmd0aCAxLCBjYXBhY2l0eSAxNgogICAgICAg
IF9fYmVnaW4gPSAweDE1MTgzYjAKICAgICAgICBfX2VuZCA9IDB4MTUxODNjMAogICAgICAgIG5v
dGUgPSBAMHgxNTE4M2IwOiB7Zmlyc3QgPSB7bV9wdHIgPSAweDE1MTllMTB9LCBzZWNvbmQgPSBX
ZWJDb3JlOjpBWE9iamVjdENhY2hlOjpBWExheW91dENvbXBsZXRlfQogICAgICAgIHByb3RlY3Rv
ckZvckNhY2hlT3duZXIgPSB7bV9wdHIgPSAweDE1MDQ2YjB9ClB5dGhvbiBFeGNlcHRpb24gPGNs
YXNzICdUeXBlRXJyb3InPiBpdGVyKCkgcmV0dXJuZWQgbm9uLWl0ZXJhdG9yIG9mIHR5cGUgJ0l0
ZXJhdG9yJzogCiAgICAgICAgbm90aWZpY2F0aW9ucyA9IFdURjo6VmVjdG9yIG9mIGxlbmd0aCAx
LCBjYXBhY2l0eSAxNgojNCAgMHgwMDAwN2YyYTM2YzVlOWZhIGluIHN0ZDo6X01lbV9mbjx2b2lk
IChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjoqKShXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpBWE9i
amVjdENhY2hlPiYpPjo6b3BlcmF0b3IoKTxXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpBWE9iamVj
dENhY2hlPiYsIHZvaWQ+ICh0aGlzPTB4MTVlZjkxMCwgX19vYmplY3Q9MHgxNWVmNjgwLCBfX2Fy
Z3M9Li4uKSBhdCAvdXNyL2xpYi9nY2MveDg2XzY0LWxpbnV4LWdudS80LjgvLi4vLi4vLi4vLi4v
aW5jbHVkZS9jKysvNC44L2Z1bmN0aW9uYWw6NjAxCk5vIGxvY2Fscy4KIzUgIDB4MDAwMDdmMmEz
NmM1ZTk2MCBpbiBzdGQ6Ol9CaW5kPHN0ZDo6X01lbV9mbjx2b2lkIChXZWJDb3JlOjpBWE9iamVj
dENhY2hlOjoqKShXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpBWE9iamVjdENhY2hlPiYpPiAoV2Vi
Q29yZTo6QVhPYmplY3RDYWNoZSosIHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8V2ViQ29yZTo6VGlt
ZXI8V2ViQ29yZTo6QVhPYmplY3RDYWNoZT4gPik+OjpfX2NhbGw8dm9pZCwgLCAwdWwsIDF1bD4o
c3RkOjp0dXBsZTw+JiYsIHN0ZDo6X0luZGV4X3R1cGxlPDB1bCwgMXVsPikgKHRoaXM9MHgxNWVm
OTEwLCBfX2FyZ3M9PHVua25vd24gdHlwZSBpbiAvaG9tZS96YW4vRGV2L3dlYmtpdC9oYWNraGFj
ay9XZWJLaXRCdWlsZC9EZWJ1Zy8ubGlicy9saWJ3ZWJraXQyZ3RrLTMuMC5zby4yNSwgQ1UgMHg3
N2YxMjk0LCBESUUgMHg3ODhiY2U5PikgYXQgL3Vzci9saWIvZ2NjL3g4Nl82NC1saW51eC1nbnUv
NC44Ly4uLy4uLy4uLy4uL2luY2x1ZGUvYysrLzQuOC9mdW5jdGlvbmFsOjEyOTYKTm8gbG9jYWxz
LgojNiAgMHgwMDAwN2YyYTM2YzVlOGU2IGluIHN0ZDo6X0JpbmQ8c3RkOjpfTWVtX2ZuPHZvaWQg
KFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OiopKFdlYkNvcmU6OlRpbWVyPFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU+Jik+IChXZWJDb3JlOjpBWE9iamVjdENhY2hlKiwgc3RkOjpyZWZlcmVuY2Vfd3Jh
cHBlcjxXZWJDb3JlOjpUaW1lcjxXZWJDb3JlOjpBWE9iamVjdENhY2hlPiA+KT46Om9wZXJhdG9y
KCk8LCB2b2lkPigpICh0aGlzPTB4MTVlZjkxMCkgYXQgL3Vzci9saWIvZ2NjL3g4Nl82NC1saW51
eC1nbnUvNC44Ly4uLy4uLy4uLy4uL2luY2x1ZGUvYysrLzQuOC9mdW5jdGlvbmFsOjEzNTQKTm8g
bG9jYWxzLgojNyAgMHgwMDAwN2YyYTM2YzVlNTVkIGluIHN0ZDo6X0Z1bmN0aW9uX2hhbmRsZXI8
dm9pZCAoKSwgc3RkOjpfQmluZDxzdGQ6Ol9NZW1fZm48dm9pZCAoV2ViQ29yZTo6QVhPYmplY3RD
YWNoZTo6KikoV2ViQ29yZTo6VGltZXI8V2ViQ29yZTo6QVhPYmplY3RDYWNoZT4mKT4gKFdlYkNv
cmU6OkFYT2JqZWN0Q2FjaGUqLCBzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPFdlYkNvcmU6OlRpbWVy
PFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU+ID4pPiA+OjpfTV9pbnZva2Uoc3RkOjpfQW55X2RhdGEg
Y29uc3QmKSAoX19mdW5jdG9yPS4uLikgYXQgL3Vzci9saWIvZ2NjL3g4Nl82NC1saW51eC1nbnUv
NC44Ly4uLy4uLy4uLy4uL2luY2x1ZGUvYysrLzQuOC9mdW5jdGlvbmFsOjIwNzEKTm8gbG9jYWxz
LgojOCAgMHgwMDAwN2YyYTNiNTYzN2NlIGluIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT46Om9wZXJh
dG9yKCkoKSBjb25zdCAodGhpcz0weDE1ZWY3YjgpIGF0IC91c3IvbGliL2djYy94ODZfNjQtbGlu
dXgtZ251LzQuOC8uLi8uLi8uLi8uLi9pbmNsdWRlL2MrKy80LjgvZnVuY3Rpb25hbDoyNDY0Ck5v
IGxvY2Fscy4KIzkgIDB4MDAwMDdmMmEzNmM1ZGZkYyBpbiBXZWJDb3JlOjpUaW1lcjxXZWJDb3Jl
OjpBWE9iamVjdENhY2hlPjo6ZmlyZWQgKHRoaXM9MHgxNWVmNzgwKSBhdCAuLi8uLi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9UaW1lci5oOjEzMgpObyBsb2NhbHMuCiMxMCAweDAwMDA3ZjJhMzg3
ZGJlOWMgaW4gV2ViQ29yZTo6VGhyZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkSW50ZXJuYWwg
KHRoaXM9MHgxNmIyM2YwKSBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaHJlYWRU
aW1lcnMuY3BwOjEzMgogICAgICAgIHRpbWVyID0gMHgxNWVmNzgwCiAgICAgICAgaW50ZXJ2YWwg
PSAwCiAgICAgICAgZmlyZVRpbWUgPSA0NzYzNy40NDc0MDcKICAgICAgICB0aW1lVG9RdWl0ID0g
NDc2MzcuNDk3NDA3MDAwMDAzCiMxMSAweDAwMDA3ZjJhMzg3ZGJiYzkgaW4gV2ViQ29yZTo6VGhy
ZWFkVGltZXJzOjpzaGFyZWRUaW1lckZpcmVkICgpIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1RocmVhZFRpbWVycy5jcHA6MTA3Ck5vIGxvY2Fscy4KIzEyIDB4MDAwMDdmMmEzODgw
NjRkMyBpbiBXZWJDb3JlOjpzaGFyZWRUaW1lclRpbWVvdXRDYWxsYmFjayAoKSBhdCAuLi8uLi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvU2hhcmVkVGltZXJHdGsuY3BwOjQ5Ck5vIGxvY2Fs
cy4KIzEzIDB4MDAwMDdmMmEzMjYzNmU0MyBpbiBnX3RpbWVvdXRfZGlzcGF0Y2ggKHNvdXJjZT1z
b3VyY2VAZW50cnk9MHgxNTE5OTkwLCBjYWxsYmFjaz08b3B0aW1pemVkIG91dD4sIHVzZXJfZGF0
YT08b3B0aW1pemVkIG91dD4pIGF0IGdtYWluLmM6NDQ1MAogICAgICAgIHRpbWVvdXRfc291cmNl
ID0gMHgxNTE5OTkwCiAgICAgICAgYWdhaW4gPSA8b3B0aW1pemVkIG91dD4KIzE0IDB4MDAwMDdm
MmEzMjYzNjJlNiBpbiBnX21haW5fZGlzcGF0Y2ggKGNvbnRleHQ9MHgxMzAwMWUwKSBhdCBnbWFp
bi5jOjMwNjUKICAgICAgICBkaXNwYXRjaCA9IDB4N2YyYTMyNjM2ZTMwIDxnX3RpbWVvdXRfZGlz
cGF0Y2g+CiAgICAgICAgd2FzX2luX2NhbGwgPSAwCiAgICAgICAgdXNlcl9kYXRhID0gMHgwCiAg
ICAgICAgY2FsbGJhY2sgPSAweDdmMmEzODgwNjRiMCA8V2ViQ29yZTo6c2hhcmVkVGltZXJUaW1l
b3V0Q2FsbGJhY2sodm9pZCopPgogICAgICAgIGNiX2Z1bmNzID0gMHg3ZjJhMzI5MTY5MDAgPGdf
c291cmNlX2NhbGxiYWNrX2Z1bmNzPgogICAgICAgIGNiX2RhdGEgPSAweDE1Y2JjNzAKICAgICAg
ICBuZWVkX2Rlc3Ryb3kgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBjdXJyZW50X3NvdXJjZV9s
aW5rID0ge2RhdGEgPSAweDE1MTk5OTAsIG5leHQgPSAweDB9CiAgICAgICAgc291cmNlID0gMHgx
NTE5OTkwCiAgICAgICAgY3VycmVudCA9IDB4MTM4ZjQ2MAogICAgICAgIGkgPSAwCiMxNSBnX21h
aW5fY29udGV4dF9kaXNwYXRjaCAoY29udGV4dD1jb250ZXh0QGVudHJ5PTB4MTMwMDFlMCkgYXQg
Z21haW4uYzozNjQxCk5vIGxvY2Fscy4KIzE2IDB4MDAwMDdmMmEzMjYzNjYzOCBpbiBnX21haW5f
Y29udGV4dF9pdGVyYXRlIChjb250ZXh0PTB4MTMwMDFlMCwgYmxvY2s9YmxvY2tAZW50cnk9MSwg
ZGlzcGF0Y2g9ZGlzcGF0Y2hAZW50cnk9MSwgc2VsZj08b3B0aW1pemVkIG91dD4pIGF0IGdtYWlu
LmM6MzcxMgogICAgICAgIG1heF9wcmlvcml0eSA9IDEyMAogICAgICAgIHRpbWVvdXQgPSAwCiAg
ICAgICAgc29tZV9yZWFkeSA9IDEKICAgICAgICBuZmRzID0gPG9wdGltaXplZCBvdXQ+CiAgICAg
ICAgYWxsb2NhdGVkX25mZHMgPSAzCiAgICAgICAgZmRzID0gMHgxNzIwNzIwCiMxNyAweDAwMDA3
ZjJhMzI2MzZhM2EgaW4gZ19tYWluX2xvb3BfcnVuIChsb29wPTB4MTM3NjJiMCkgYXQgZ21haW4u
YzozOTA2CiAgICAgICAgX19QUkVUVFlfRlVOQ1RJT05fXyA9ICJnX21haW5fbG9vcF9ydW4iCiMx
OCAweDAwMDA3ZjJhM2I1OGUzYWIgaW4gV1RGOjpSdW5Mb29wOjpydW4gKCkgYXQgLi4vLi4vU291
cmNlL1dURi93dGYvZ3RrL1J1bkxvb3BHdGsuY3BwOjU5CiAgICAgICAgbWFpblJ1bkxvb3AgPSAw
eDEzYjYxZDAKICAgICAgICBpbm5lcm1vc3RMb29wID0gMHgxMzc2MmIwCiAgICAgICAgbmVzdGVk
TWFpbkxvb3AgPSAweDEzNzQwOTAKIzE5IDB4MDAwMDdmMmEzNmEzNDIwNCBpbiBXZWJLaXQ6Oldl
YlByb2Nlc3NNYWluR3RrIChhcmdjPTIsIGFyZ3Y9MHg3ZmZmODU2MWNiNzgpIGF0IC4uLy4uL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcDo3NQogICAg
ICAgIHNvY2tldCA9IDEwCiAgICAgICAgcGFyYW1ldGVycyA9IHt1aVByb2Nlc3NOYW1lID0gIihu
dWxsKSIsIGNsaWVudElkZW50aWZpZXIgPSAiKG51bGwpIiwgY29ubmVjdGlvbklkZW50aWZpZXIg
PSAxMCwgZXh0cmFJbml0aWFsaXphdGlvbkRhdGEgPSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExv
YWQgPSAyLCBzdGF0aWMgbV9taW5Mb2FkID0gNiwgbV90YWJsZSA9IDB4MCwgbV90YWJsZVNpemUg
PSAwLCBtX3RhYmxlU2l6ZU1hc2sgPSAwLCBtX2tleUNvdW50ID0gMCwgbV9kZWxldGVkQ291bnQg
PSAwLCBtX2l0ZXJhdG9ycyA9IDB4MCwgbV9tdXRleCA9IHtfTV90ID0gezxzdGQ6Ol9UdXBsZV9p
bXBsPDAsIHN0ZDo6bXV0ZXgqLCBzdGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+ID4+ID0g
ezxzdGQ6Ol9UdXBsZV9pbXBsPDEsIHN0ZDo6ZGVmYXVsdF9kZWxldGU8c3RkOjptdXRleD4gPj4g
PSB7PHN0ZDo6X1R1cGxlX2ltcGw8MiwgPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxzdGQ6Ol9I
ZWFkX2Jhc2U8MSwgc3RkOjpkZWZhdWx0X2RlbGV0ZTxzdGQ6Om11dGV4PiwgdHJ1ZT4+ID0gezxz
dGQ6OmRlZmF1bHRfZGVsZXRlPHN0ZDo6bXV0ZXg+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPE5v
IGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCA8c3RkOjpfSGVhZF9iYXNlPDAsIHN0
ZDo6bXV0ZXgqLCBmYWxzZT4+ID0ge19NX2hlYWRfaW1wbCA9IDB4MTNiZWUzMH0sIDxObyBkYXRh
IGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fX19fX0KIzIwIDB4MDAwMDAwMDAwMDQwMDk5MiBp
biBtYWluIChhcmdjPTIsIGFyZ3Y9MHg3ZmZmODU2MWNiNzgpIGF0IC4uLy4uL1NvdXJjZS9XZWJL
aXQyL2d0ay9NYWluR3RrLmNwcDozMQpObyBsb2NhbHMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224001</attachid>
            <date>2014-02-12 13:36:46 -0800</date>
            <delta_ts>2014-02-26 09:25:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128175-20140212223645.patch</filename>
            <type>text/plain</type>
            <size>2566</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Mzk3NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDE0LTAyLTEyICBaYW4gRG9i
ZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIxNjI5
NDcpOiBEb2N1bWVudDo6dG9wRG9jdW1lbnQoKSByZXR1cm5zIGFuIGluY29ycmVjdCByZWZlcmVu
Y2UgZm9yIGNhY2hlZCBEb2N1bWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyODE3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50Ojp0b3BEb2N1bWVudCk6IEZhbGwgYmFjayB0byBwcmUtcjE2Mjk0NyB3YXkgb2YgZGV0
ZXJtaW5pbmcgdGhlIHRvcCBkb2N1bWVudAorICAgICAgICB3aGVuIHRoZSBEb2N1bWVudCBpcyBp
biBwYWdlIGNhY2hlIG9yIGlzIGluIHRoZSBtaWRkbGUgb2YgaGF2aW5nIGl0cyByZW5kZXIgdHJl
ZSBkZXN0cm95ZWQuCisgICAgICAgIEluIHRoZSBmaXJzdCBjYXNlLCB0aGUgZGV0ZXJtaW5lZCB0
b3AgZG9jdW1lbnQgaXMgYWN0dWFsbHkgdGhlIGRvY3VtZW50IGN1cnJlbnRseSBsb2FkZWQgaW4g
dGhlCisgICAgICAgIEZyYW1lIHRvIHdoaWNoIHRoZSBjYWNoZWQgZG9jdW1lbnQgaXMgc3RpbGwg
Y29ubmVjdGVkLCB3aGljaCBpcyBvYnZpb3VzbHkgbm90IGRlc2lyZWQuIEluIHRoZQorICAgICAg
ICBzZWNvbmQgY2FzZSB0aGUgdG9wIGRvY3VtZW50IGlzIHNpbWlsYXJseSBpbmNvcnJlY3RseSBk
ZWR1Y2VkLCBsZWFkaW5nIHRvIG5vbi1kZWxldGlvbiBvZiB0aGUKKyAgICAgICAgcHJvcGVyIHRv
cCBkb2N1bWVudCdzIEFYT2JqZWN0Q2FjaGUuIEJlY2F1c2Ugb2YgdGhpcyBBY2Nlc3NpYmlsaXR5
UmVuZGVyT2JqZWN0cyBhcmUgbm90IGRldGFjaGVkCisgICAgICAgIHdoaWNoIHJlc3VsdHMgaW4g
YXNzZXJ0aW9ucyBpbiBSZW5kZXJPYmplY3QgZGVzdHJ1Y3RvciB3aGVyZSB0aGUgb2JqZWN0cyBh
cmUgZm91bmQgdG8gYmUgc3RpbGwKKyAgICAgICAgZmxhZ2dlZCBhcyBpbiB1c2UgYnkgdGhlIEFY
IGNhY2hlLgorCiAyMDE0LTAyLTEyICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgogCiAgICAgICAgIFdoZWVsIGV2ZW50cyBkb24ndCBsYXRjaCB0byBpbm5lciBzY3JvbGxhYmxl
IGVsZW1lbnRzIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxNjM5Njkp
CisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
MjQ4LDExICs0MjQ4LDE4IEBAIERvY3VtZW50KiBEb2N1bWVudDo6cGFyZW50RG9jdW1lbnQoKSBj
b24KIAogRG9jdW1lbnQmIERvY3VtZW50Ojp0b3BEb2N1bWVudCgpIGNvbnN0CiB7Ci0gICAgaWYg
KCFtX2ZyYW1lKQotICAgICAgICByZXR1cm4gY29uc3RfY2FzdDxEb2N1bWVudCY+KCp0aGlzKTsK
LSAgICAvLyBUaGlzIHNob3VsZCBhbHdheXMgYmUgbm9uLW51bGwuCi0gICAgRG9jdW1lbnQqIG1h
aW5GcmFtZURvY3VtZW50ID0gbV9mcmFtZS0+bWFpbkZyYW1lKCkuZG9jdW1lbnQoKTsKLSAgICBy
ZXR1cm4gbWFpbkZyYW1lRG9jdW1lbnQgPyAqbWFpbkZyYW1lRG9jdW1lbnQgOiBjb25zdF9jYXN0
PERvY3VtZW50Jj4oKnRoaXMpOworICAgIGlmICghbV9pblBhZ2VDYWNoZSAmJiAhbV9yZW5kZXJU
cmVlQmVpbmdEZXN0cm95ZWQpIHsKKyAgICAgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICAgICAg
cmV0dXJuIGNvbnN0X2Nhc3Q8RG9jdW1lbnQmPigqdGhpcyk7CisgICAgICAgIC8vIFRoaXMgc2hv
dWxkIGFsd2F5cyBiZSBub24tbnVsbC4KKyAgICAgICAgRG9jdW1lbnQqIG1haW5GcmFtZURvY3Vt
ZW50ID0gbV9mcmFtZS0+bWFpbkZyYW1lKCkuZG9jdW1lbnQoKTsKKyAgICAgICAgcmV0dXJuIG1h
aW5GcmFtZURvY3VtZW50ID8gKm1haW5GcmFtZURvY3VtZW50IDogY29uc3RfY2FzdDxEb2N1bWVu
dCY+KCp0aGlzKTsKKyAgICB9CisKKyAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjb25zdF9jYXN0
PERvY3VtZW50Kj4odGhpcyk7CisgICAgd2hpbGUgKEVsZW1lbnQqIGVsZW1lbnQgPSBkb2N1bWVu
dC0+b3duZXJFbGVtZW50KCkpCisgICAgICAgIGRvY3VtZW50ID0gJmVsZW1lbnQtPmRvY3VtZW50
KCk7CisgICAgcmV0dXJuICpkb2N1bWVudDsKIH0KIAogUGFzc1JlZlB0cjxBdHRyPiBEb2N1bWVu
dDo6Y3JlYXRlQXR0cmlidXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMp
Cg==
</data>
<flag name="review"
          id="248082"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>