<?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>177808</bug_id>
          
          <creation_ts>2017-10-03 06:06:38 -0700</creation_ts>
          <short_desc>REGRESSION(r222697): [GTK] Crash in WebCore::SelectionRangeData::apply</short_desc>
          <delta_ts>2017-10-27 00:04:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>Other</version>
          <rep_platform>PC</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>168219</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1355790</commentid>
    <comment_count>0</comment_count>
      <attachid>322512</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-10-03 06:06:38 -0700</bug_when>
    <thetext>Created attachment 322512
Backtrace

To reproduce, visit https://expired.badssl.com/ and click the Technical Information expander. In trunk it crashes 100%. Backtrace attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364660</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-10-25 20:50:43 -0700</bug_when>
    <thetext>Another reproducer is to run TestWebViewEditor, it will crash 100% (in debug builds):

#0  0x00007fc9ae285646 in std::__atomic_base&lt;unsigned char&gt;::compare_exchange_weak (__m2=std::memory_order_acquire, __m1=std::memory_order_acquire, 
    __i2=1 &apos;\001&apos;, __i1=@0x7ffd4b9639ab: 0 &apos;\000&apos;, this=0x0)
    at /usr/include/c++/7/bits/atomic_base.h:434
#1  std::__atomic_base&lt;unsigned char&gt;::compare_exchange_weak (
    __m=std::memory_order_acquire, __i2=1 &apos;\001&apos;, __i1=&lt;optimized out&gt;, 
    this=0x0) at /usr/include/c++/7/bits/atomic_base.h:456
#2  WTF::Atomic&lt;unsigned char&gt;::compareExchangeWeak (this=0x0, 
    expected=0 &apos;\000&apos;, desired=1 &apos;\001&apos;, order=std::memory_order_acquire)
    at ../../Source/WTF/wtf/Atomics.h:87
#3  0x00007fc9ae2850a6 in WTF::LockAlgorithm&lt;unsigned char, (unsigned char)1, (unsigned char)2&gt;::lockFastAssumingZero (lock=...)
    at ../../Source/WTF/wtf/LockAlgorithm.h:46
#4  0x00007fc9ae284cd2 in WTF::LockBase::lock (this=0x0)
    at ../../Source/WTF/wtf/Lock.h:62
#5  0x00007fc9ae28608e in std::lock_guard&lt;WTF::Lock&gt;::lock_guard (
    this=0x7ffd4b963a68, __m=...) at /usr/include/c++/7/bits/std_mutex.h:162
#6  0x00007fc9ae31e0fa in WTF::HashTable&lt;WTF::String, WTF::KeyValuePair&lt;WTF::String, WTF::String&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WTF::String, WTF::String&gt; &gt;, WTF::StringHash, WTF::HashMap&lt;WTF::String, WTF::String, WTF::StringHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;WTF::String&gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;WTF::String&gt; &gt;::invalidateIterators (
    this=0x7ffd4b963c78) at ../../Source/WTF/wtf/HashTable.h:1389
#7  0x00007fc9ae31e088 in WTF::HashTable&lt;WTF::String, WTF::KeyValuePair&lt;WTF::String, WTF::String&gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WTF::String, WTF::String&gt; &gt;, WTF::StringHash, WTF::HashMap&lt;WTF::String, WTF::String, WTF::StringHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;WTF::String&gt; &gt;::KeyValuePairTraits, WTF::HashTraits&lt;WTF::String&gt; &gt;::~HashTable (
    this=0x7ffd4b963c78, __in_chrg=&lt;optimized out&gt;)
    at ../../Source/WTF/wtf/HashTable.h:359
#8  0x00007fc9ae31dfda in WTF::HashMap&lt;WTF::String, WTF::String, WTF::StringHash, WTF::HashTraits&lt;WTF::String&gt;, WTF::HashTraits&lt;WTF::String&gt; &gt;::~HashMap (
    this=0x7ffd4b963c78, __in_chrg=&lt;optimized out&gt;)
    at ../../Source/WTF/wtf/HashMap.h:36
#9  0x00007fc9ae54cf6a in WebCore::SelectionData::~SelectionData (
    this=0x7ffd4b963c10, __in_chrg=&lt;optimized out&gt;)
    at ../../Source/WebCore/platform/gtk/SelectionData.h:29
#10 0x00007fc9aeefd4c3 in WebCore::SelectionRangeData::apply (
    this=0x7fc94ecf03f0, newSelection=..., 
    blockRepaintMode=WebCore::SelectionRangeData::RepaintMode::NewXOROld)
    at ../../Source/WebCore/rendering/SelectionRangeData.cpp:261
#11 0x00007fc9aeefc0da in WebCore::SelectionRangeData::set (
    this=0x7fc94ecf03f0, selection=..., 
    blockRepaintMode=WebCore::SelectionRangeData::RepaintMode::NewXOROld)
    at ../../Source/WebCore/rendering/SelectionRangeData.cpp:169
#12 0x00007fc9b0089d3e in WebCore::FrameSelection::updateAppearance (
    this=0x7fc9929be640)
    at ../../Source/WebCore/editing/FrameSelection.cpp:2117
#13 0x00007fc9b0081700 in WebCore::FrameSelection::updateAndRevealSelection (
    this=0x7fc9929be640, intent=...)
    at ../../Source/WebCore/editing/FrameSelection.cpp:400
#14 0x00007fc9b00815d6 in WebCore::FrameSelection::setSelection (
    this=0x7fc9929be640, selection=..., options=6, intent=..., 
    align=WebCore::FrameSelection::AlignCursorOnScrollIfNeeded, 
    granularity=WebCore::CharacterGranularity)
    at ../../Source/WebCore/editing/FrameSelection.cpp:369
#15 0x00007fc9b0080405 in WebCore::FrameSelection::moveTo (
    this=0x7fc9929be640, base=..., extent=..., affinity=WebCore::DOWNSTREAM, 
    userTriggered=WebCore::NotUserTriggered)
    at ../../Source/WebCore/editing/FrameSelection.cpp:178
#16 0x00007fc9b047a840 in WebCore::DOMSelection::setBaseAndExtent (
    this=0x7fc9929f9aa0, baseNode=0x7fc9929bf750, baseOffset=0, 
    extentNode=0x7fc9929bf750, extentOffset=1)
    at ../../Source/WebCore/page/DOMSelection.cpp:215
#17 0x00007fc9b047bbcf in WebCore::DOMSelection::selectAllChildren (
    this=0x7fc9929f9aa0, node=...)
    at ../../Source/WebCore/page/DOMSelection.cpp:428
#18 0x00007fc9b0a6ab19 in WebCore::jsDOMSelectionPrototypeFunctionSelectAllChildrenBody (state=0x7ffd4b964440, castedThis=0x7fc94b8d84e0, throwScope=...)
    at DerivedSources/WebCore/JSDOMSelection.cpp:477
#19 0x00007fc9b0a74858 in WebCore::IDLOperation&lt;WebCore::JSDOMSelection&gt;::call&lt;WebCore::jsDOMSelectionPrototypeFunctionSelectAllChildrenBody&gt; (state=..., 
    operationName=0x7fc9b2a3555f &quot;selectAllChildren&quot;)
    at ../../Source/WebCore/bindings/js/JSDOMOperation.h:53
#20 0x00007fc9b0a6ab47 in WebCore::jsDOMSelectionPrototypeFunctionSelectAllChildren (state=0x7ffd4b964440) at DerivedSources/WebCore/JSDOMSelection.cpp:483
#21 0x00007fc950d2d028 in ?? ()
#22 0x00007ffd4b9644b0 in ?? ()
#23 0x00007fc9a4ea226a in llint_entry ()
   from /home/mcatanzaro/Projects/WebKit/WebKitBuild/GNOME/lib/libjavascriptcoregtk-4.0.so.18

The problem appears to be a name collision between WebCore::SelectionData and WebCore::SelectionData. Yes, those are the same names. I don&apos;t understand how exactly it&apos;s happening, but it seems the destructor for a Source/WebCore/platform/gtk/SelectionData.h SelectionData is being called on a Source/WebCore/rendering/SelectionRangeData.cpp SelectionData. Yikes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364678</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-10-25 21:44:43 -0700</bug_when>
    <thetext>This is probably to blame for the huge amount of the API and layout test crashes we&apos;re seeing on the debug bot right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364681</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-10-25 21:50:44 -0700</bug_when>
    <thetext>Fix is trivial, but note that TestWebViewEditor will still crash after this due to bug #151654.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364683</commentid>
    <comment_count>4</comment_count>
      <attachid>324957</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-10-25 21:57:12 -0700</bug_when>
    <thetext>Created attachment 324957
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364696</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-10-25 22:52:14 -0700</bug_when>
    <thetext>Adding rev info, so that I know I don&apos;t need to merge this in stable branch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364698</commentid>
    <comment_count>6</comment_count>
      <attachid>324957</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-10-25 22:56:15 -0700</bug_when>
    <thetext>Comment on attachment 324957
Patch

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

&gt; Source/WebCore/rendering/SelectionRangeData.cpp:48
&gt; +namespace { // See bug #177808.
&gt; +
&gt;  struct SelectionData {

Since this is only used internally in this file, maybe we can just rename it, SelectionInfo, SelectionContext or whatever. Another possibility would be to move gtk SelectionData to PAL, but it depends on URL and Image.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1364765</commentid>
    <comment_count>7</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-10-26 03:56:10 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #6)
&gt; Comment on attachment 324957 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=324957&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/SelectionRangeData.cpp:48
&gt; &gt; +namespace { // See bug #177808.
&gt; &gt; +
&gt; &gt;  struct SelectionData {
&gt; 
&gt; Since this is only used internally in this file, maybe we can just rename
&gt; it, SelectionInfo, SelectionContext or whatever. 

There&apos;s no need for that: SelectionData is a fine name, and classes declared in source files should be in an anonymous namespace anyway (for exactly this reason). Renaming GTK&apos;s SelectionData to PasteboardSelectionData might make sense, though.

&gt; Another possibility would
&gt; be to move gtk SelectionData to PAL, but it depends on URL and Image.

Yes, all the pasteboard code should be moved down to PAL. But I don&apos;t want to work on that today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365274</commentid>
    <comment_count>8</comment_count>
      <attachid>324957</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-27 00:04:54 -0700</bug_when>
    <thetext>Comment on attachment 324957
Patch

Clearing flags on attachment: 324957

Committed r224087: &lt;https://trac.webkit.org/changeset/224087&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365275</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-27 00:04:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>322512</attachid>
            <date>2017-10-03 06:06:38 -0700</date>
            <delta_ts>2017-10-03 06:06:38 -0700</delta_ts>
            <desc>Backtrace</desc>
            <filename>gdb.txt</filename>
            <type>text/plain</type>
            <size>29674</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">IzAgIDB4MDAwMDdmODc5MTAwNjc5NiBpbiBzdGQ6Ol9fYXRvbWljX2Jhc2U8dW5zaWduZWQgY2hh
cj46OmNvbXBhcmVfZXhjaGFuZ2Vfd2VhayAoCiAgICBfX20yPXN0ZDo6bWVtb3J5X29yZGVyX2Fj
cXVpcmUsIF9fbTE9c3RkOjptZW1vcnlfb3JkZXJfYWNxdWlyZSwgX19pMj0xICdcMDAxJywgCiAg
ICBfX2kxPUAweDdmZmRhOTBmZWY3YjogMCAnXDAwMCcsIHRoaXM9MHgwKSBhdCAvdXNyL2luY2x1
ZGUvYysrLzcvYml0cy9hdG9taWNfYmFzZS5oOjQzNAogICAgICAgIF9fYjIgPSBzdGQ6Om1lbW9y
eV9vcmRlcl9hY3F1aXJlCiAgICAgICAgX19iMSA9IHN0ZDo6bWVtb3J5X29yZGVyX2FjcXVpcmUK
IzEgIHN0ZDo6X19hdG9taWNfYmFzZTx1bnNpZ25lZCBjaGFyPjo6Y29tcGFyZV9leGNoYW5nZV93
ZWFrIChfX209c3RkOjptZW1vcnlfb3JkZXJfYWNxdWlyZSwgCiAgICBfX2kyPTEgJ1wwMDEnLCBf
X2kxPTxvcHRpbWl6ZWQgb3V0PiwgdGhpcz0weDApIGF0IC91c3IvaW5jbHVkZS9jKysvNy9iaXRz
L2F0b21pY19iYXNlLmg6NDU2Ck5vIGxvY2Fscy4KIzIgIFdURjo6QXRvbWljPHVuc2lnbmVkIGNo
YXI+Ojpjb21wYXJlRXhjaGFuZ2VXZWFrICh0aGlzPTB4MCwgZXhwZWN0ZWQ9MCAnXDAwMCcsIGRl
c2lyZWQ9MSAnXDAwMScsIAogICAgb3JkZXI9c3RkOjptZW1vcnlfb3JkZXJfYWNxdWlyZSkgYXQg
Li4vLi4vU291cmNlL1dURi93dGYvQXRvbWljcy5oOjg3CiAgICAgICAgZXhwZWN0ZWRPckFjdHVh
bCA9IDAgJ1wwMDAnCiMzICAweDAwMDA3Zjg3OTEwMDYxZjYgaW4gV1RGOjpMb2NrQWxnb3JpdGht
PHVuc2lnbmVkIGNoYXIsICh1bnNpZ25lZCBjaGFyKTEsICh1bnNpZ25lZCBjaGFyKTI+Ojpsb2Nr
RmFzdEFzc3VtaW5nWmVybyAobG9jaz0uLi4pIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL0xvY2tB
bGdvcml0aG0uaDo0NgpObyBsb2NhbHMuCiM0ICAweDAwMDA3Zjg3OTEwMDVlMjIgaW4gV1RGOjpM
b2NrQmFzZTo6bG9jayAodGhpcz0weDApIGF0IC4uLy4uL1NvdXJjZS9XVEYvd3RmL0xvY2suaDo2
MgpObyBsb2NhbHMuCiM1ICAweDAwMDA3Zjg3OTEwMDcxZGUgaW4gc3RkOjpsb2NrX2d1YXJkPFdU
Rjo6TG9jaz46OmxvY2tfZ3VhcmQgKHRoaXM9MHg3ZmZkYTkwZmYwMzgsIF9fbT0uLi4pCiAgICBh
dCAvdXNyL2luY2x1ZGUvYysrLzcvYml0cy9zdGRfbXV0ZXguaDoxNjIKTm8gbG9jYWxzLgojNiAg
MHgwMDAwN2Y4NzkxMDk1NGZjIGluIFdURjo6SGFzaFRhYmxlPFdURjo6U3RyaW5nLCBXVEY6Oktl
eVZhbHVlUGFpcjxXVEY6OlN0cmluZywgV1RGOjpTdHJpbmc+LCBXVEY6OktleVZhbHVlUGFpcktl
eUV4dHJhY3RvcjxXVEY6OktleVZhbHVlUGFpcjxXVEY6OlN0cmluZywgV1RGOjpTdHJpbmc+ID4s
IFdURjo6U3RyaW5nSGFzaCwgV1RGOjpIYXNoTWFwPFdURjo6U3RyaW5nLCBXVEY6OlN0cmluZywg
V1RGOjpTdHJpbmdIYXNoLCBXVEY6Okhhc2hUcmFpdHM8V1RGOjpTdHJpbmc+LCBXVEY6Okhhc2hU
cmFpdHM8V1RGOjpTdHJpbmc+ID46OktleVZhbHVlUGFpclRyYWl0cywgV1RGOjpIYXNoVHJhaXRz
PFdURjo6U3RyaW5nPiA+OjppbnZhbGlkYXRlSXRlcmF0b3JzICh0aGlzPTB4N2ZmZGE5MGZmMjQ4
KQogICAgYXQgLi4vLi4vU291cmNlL1dURi93dGYvSGFzaFRhYmxlLmg6MTM4OQogICAgICAgIGxv
Y2sgPSB7X01fZGV2aWNlID0gQDB4MH0KICAgICAgICBuZXh0ID0gMHgxCiM3ICAweDAwMDA3Zjg3
OTEwOTU0NDIgaW4gV1RGOjpIYXNoVGFibGU8V1RGOjpTdHJpbmcsIFdURjo6S2V5VmFsdWVQYWly
PFdURjo6U3RyaW5nLCBXVEY6OlN0cmluZz4sIFdURjo6S2V5VmFsdWVQYWlyS2V5RXh0cmFjdG9y
PFdURjo6S2V5VmFsdWVQYWlyPFdURjo6U3RyaW5nLCBXVEY6OlN0cmluZz4gPiwgV1RGOjpTdHJp
bmdIYXNoLCBXVEY6Okhhc2hNYXA8V1RGOjpTdHJpbmcsIFdURjo6U3RyaW5nLCBXVEY6OlN0cmlu
Z0hhc2gsIFdURjo6SGFzaFRyYWl0czxXVEY6OlN0cmluZz4sIFdURjo6SGFzaFRyYWl0czxXVEY6
OlN0cmluZz4gPjo6S2V5VmFsdWVQYWlyVHJhaXRzLCBXVEY6Okhhc2hUcmFpdHM8V1RGOjpTdHJp
bmc+ID46On5IYXNoVGFibGUgKHRoaXM9MHg3ZmZkYTkwZmYyNDgsIAogICAgX19pbl9jaHJnPTxv
cHRpbWl6ZWQgb3V0PikgYXQgLi4vLi4vU291cmNlL1dURi93dGYvSGFzaFRhYmxlLmg6MzU5Ck5v
IGxvY2Fscy4KIzggIDB4MDAwMDdmODc5MTA5NTM1ZSBpbiBXVEY6Okhhc2hNYXA8V1RGOjpTdHJp
bmcsIFdURjo6U3RyaW5nLCBXVEY6OlN0cmluZ0hhc2gsIFdURjo6SGFzaFRyYWl0czxXVEY6OlN0
cmluZz4sIFdURjo6SGFzaFRyYWl0czxXVEY6OlN0cmluZz4gPjo6fkhhc2hNYXAgKHRoaXM9MHg3
ZmZkYTkwZmYyNDgsIF9faW5fY2hyZz08b3B0aW1pemVkIG91dD4pCiAgICBhdCAuLi8uLi9Tb3Vy
Y2UvV1RGL3d0Zi9IYXNoTWFwLmg6MzYKTm8gbG9jYWxzLgojOSAgMHgwMDAwN2Y4NzkxMmJlZjMy
IGluIFdlYkNvcmU6OlNlbGVjdGlvbkRhdGE6On5TZWxlY3Rpb25EYXRhICh0aGlzPTB4N2ZmZGE5
MGZmMWUwLCAKICAgIF9faW5fY2hyZz08b3B0aW1pemVkIG91dD4pIGF0IC4uLy4uL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9TZWxlY3Rpb25EYXRhLmg6MjkKTm8gbG9jYWxzLgojMTAgMHgw
MDAwN2Y4NzkyNmRlZTJmIGluIFdlYkNvcmU6OlNlbGVjdGlvblJhbmdlRGF0YTo6YXBwbHkgKHRo
aXM9MHg3Zjg3Mjk0Zjk5ZjgsIG5ld1NlbGVjdGlvbj0uLi4sIAogICAgYmxvY2tSZXBhaW50TW9k
ZT1XZWJDb3JlOjpTZWxlY3Rpb25SYW5nZURhdGE6OlJlcGFpbnRNb2RlOjpOZXdNaW51c09sZCkK
ICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TZWxlY3Rpb25SYW5nZURhdGEu
Y3BwOjI2MQogICAgICAgIG9sZFNlbGVjdGlvbkRhdGEgPSB7CiAgICAgICAgICBzdGFydFBvc2l0
aW9uID0gUHl0aG9uIEV4Y2VwdGlvbiA8Y2xhc3MgJ2dkYi5lcnJvcic+IFRoZXJlIGlzIG5vIG1l
bWJlciBvciBtZXRob2QgbmFtZWQgX01fcGF5bG9hZC46IAp7PHN0ZDo6Y29uc3RleHByX29wdGlv
bmFsX2Jhc2U8dW5zaWduZWQgaW50Pj4gPSB7aW5pdF8gPSBmYWxzZSwgc3RvcmFnZV8gPSB7ZHVt
bXlfID0gMCAnXDAwMCcsIAogICAgICAgICAgICAgICAgdmFsdWVfID0gMH19LCA8Tm8gZGF0YSBm
aWVsZHM+fSwgCiAgICAgICAgICBlbmRQb3NpdGlvbiA9IFB5dGhvbiBFeGNlcHRpb24gPGNsYXNz
ICdnZGIuZXJyb3InPiBUaGVyZSBpcyBubyBtZW1iZXIgb3IgbWV0aG9kIG5hbWVkIF9NX3BheWxv
YWQuOiAKezxzdGQ6OmNvbnN0ZXhwcl9vcHRpb25hbF9iYXNlPHVuc2lnbmVkIGludD4+ID0ge2lu
aXRfID0gZmFsc2UsIHN0b3JhZ2VfID0ge2R1bW15XyA9IDAgJ1wwMDAnLCAKICAgICAgICAgICAg
ICAgIHZhbHVlXyA9IDMyNTEyfX0sIDxObyBkYXRhIGZpZWxkcz59LCByZW5kZXJlcnMgPSB7bV9p
bXBsID0ge3N0YXRpYyBtX21heExvYWQgPSAyLCAKICAgICAgICAgICAgICBzdGF0aWMgbV9taW5M
b2FkID0gNiwgbV90YWJsZSA9IDB4MCwgbV90YWJsZVNpemUgPSAwLCBtX3RhYmxlU2l6ZU1hc2sg
PSAwLCAKICAgICAgICAgICAgICBtX2tleUNvdW50ID0gMCwgbV9kZWxldGVkQ291bnQgPSAwLCBt
X2l0ZXJhdG9ycyA9IDB4MCwgCiAgICAgICAgICAgICAgbV9tdXRleCA9IHN0ZDo6dW5pcXVlX3B0
cjxXVEY6OkxvY2s+IGNvbnRhaW5pbmcgMHg3Zjg3NzQ3OGM2MDB9fSwgYmxvY2tzID0ge21faW1w
bCA9IHsKICAgICAgICAgICAgICBzdGF0aWMgbV9tYXhMb2FkID0gMiwgc3RhdGljIG1fbWluTG9h
ZCA9IDYsIG1fdGFibGUgPSAweDAsIG1fdGFibGVTaXplID0gMCwgCiAgICAgICAgICAgICAgbV90
YWJsZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENvdW50ID0gMCwgbV9p
dGVyYXRvcnMgPSAweDAsIAogICAgICAgICAgICAgIG1fbXV0ZXggPSBzdGQ6OnVuaXF1ZV9wdHI8
V1RGOjpMb2NrPiBjb250YWluaW5nIDB4N2Y4Nzc0NzhjNjA4fX19CiAgICAgICAgc2VsZWN0aW9u
U3RhcnQgPSAweDAKICAgICAgICBzZWxlY3Rpb25EYXRhRW5kID0gMHgwCiAgICAgICAgc2VsZWN0
aW9uRW5kID0gMHgwCiAgICAgICAgc2VsZWN0aW9uSXRlcmF0b3IgPSB7bV9jdXJyZW50ID0gMHgw
LCAKICAgICAgICAgIG1fc3Bhbm5lclN0YWNrID0gezxXVEY6OlZlY3RvckJ1ZmZlcjxXZWJDb3Jl
OjpSZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRlciosIDAsIFdURjo6RmFzdE1hbGxv
Yz4+ID0gezxXVEY6OlZlY3RvckJ1ZmZlckJhc2U8V2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5T
cGFubmVyUGxhY2Vob2xkZXIqLCBXVEY6OkZhc3RNYWxsb2M+PiA9IHsKICAgICAgICAgICAgICAg
IG1fYnVmZmVyID0gMHgwLCBtX2NhcGFjaXR5ID0gMCwgbV9zaXplID0gMH0sIDxObyBkYXRhIGZp
ZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fX0KICAgICAgICBuZXdTZWxlY3RlZFJlbmRlcmVycyA9
IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9hZCA9IDIsIHN0YXRpYyBtX21pbkxvYWQgPSA2LCAK
ICAgICAgICAgICAgbV90YWJsZSA9IDB4YmJhZGJlZWYsIG1fdGFibGVTaXplID0gMCwgbV90YWJs
ZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIAogICAgICAgICAgICBtX2RlbGV0ZWRDb3Vu
dCA9IDAsIG1faXRlcmF0b3JzID0gMHgwLCBtX211dGV4ID0gc3RkOjp1bmlxdWVfcHRyPFdURjo6
TG9jaz4gY29udGFpbmluZyAweDB9fQogICAgICAgIG5ld1NlbGVjdGVkQmxvY2tzID0ge21faW1w
bCA9IHtzdGF0aWMgbV9tYXhMb2FkID0gMiwgc3RhdGljIG1fbWluTG9hZCA9IDYsIAogICAgICAg
ICAgICBtX3RhYmxlID0gMHhiYmFkYmVlZiwgbV90YWJsZVNpemUgPSAwLCBtX3RhYmxlU2l6ZU1h
c2sgPSAwLCBtX2tleUNvdW50ID0gMCwgCiAgICAgICAgICAgIG1fZGVsZXRlZENvdW50ID0gMCwg
bV9pdGVyYXRvcnMgPSAweDAsIG1fbXV0ZXggPSBzdGQ6OnVuaXF1ZV9wdHI8V1RGOjpMb2NrPiBj
b250YWluaW5nIDB4MH19CiMxMSAweDAwMDA3Zjg3OTI2ZGRiOWUgaW4gV2ViQ29yZTo6U2VsZWN0
aW9uUmFuZ2VEYXRhOjpzZXQgKHRoaXM9MHg3Zjg3Mjk0Zjk5ZjgsIHNlbGVjdGlvbj0uLi4sIAog
ICAgYmxvY2tSZXBhaW50TW9kZT1XZWJDb3JlOjpTZWxlY3Rpb25SYW5nZURhdGE6OlJlcGFpbnRN
b2RlOjpOZXdNaW51c09sZCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9T
ZWxlY3Rpb25SYW5nZURhdGEuY3BwOjE2OQogICAgICAgIGlzQ2FyZXQgPSB0cnVlCiMxMiAweDAw
MDA3Zjg3OTI2ZGRiZWQgaW4gV2ViQ29yZTo6U2VsZWN0aW9uUmFuZ2VEYXRhOjpjbGVhciAodGhp
cz0weDdmODcyOTRmOTlmOCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9T
ZWxlY3Rpb25SYW5nZURhdGEuY3BwOjE3NQpObyBsb2NhbHMuCiMxMyAweDAwMDA3Zjg3OTFlODk0
ZTkgaW4gV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFwcGVhcmFuY2UgKHRoaXM9MHg3
Zjg3NzQ3YjQ2NDApCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2Vs
ZWN0aW9uLmNwcDoyMDkyCiAgICAgICAgb2xkU2VsZWN0aW9uID0ge21fYmFzZSA9IHttX2FuY2hv
ck5vZGUgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCAKICAgICAgICAgICAg
ICBtX3B0ciA9IDB4N2Y4Nzc0NzU5ODcwfSwgbV9vZmZzZXQgPSAxLCBtX2FuY2hvclR5cGUgPSAw
LCAKICAgICAgICAgICAgbV9pc0xlZ2FjeUVkaXRpbmdQb3NpdGlvbiA9IHRydWV9LCBtX2V4dGVu
dCA9IHttX2FuY2hvck5vZGUgPSB7CiAgICAgICAgICAgICAgc3RhdGljIGlzUmVmUHRyID0gPG9w
dGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y4Nzc0NzU5ODcwfSwgbV9vZmZzZXQgPSAxLCAKICAg
ICAgICAgICAgbV9hbmNob3JUeXBlID0gMCwgbV9pc0xlZ2FjeUVkaXRpbmdQb3NpdGlvbiA9IHRy
dWV9LCBtX3N0YXJ0ID0ge21fYW5jaG9yTm9kZSA9IHsKICAgICAgICAgICAgICBzdGF0aWMgaXNS
ZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3Zjg3NzQ3NTk4NzB9LCBtX29mZnNl
dCA9IDEsIAogICAgICAgICAgICBtX2FuY2hvclR5cGUgPSAwLCBtX2lzTGVnYWN5RWRpdGluZ1Bv
c2l0aW9uID0gdHJ1ZX0sIG1fZW5kID0ge21fYW5jaG9yTm9kZSA9IHsKICAgICAgICAgICAgICBz
dGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3Zjg3NzQ3NTk4NzB9
LCBtX29mZnNldCA9IDEsIAogICAgICAgICAgICBtX2FuY2hvclR5cGUgPSAwLCBtX2lzTGVnYWN5
RWRpdGluZ1Bvc2l0aW9uID0gdHJ1ZX0sIG1fYWZmaW5pdHkgPSBXZWJDb3JlOjpET1dOU1RSRUFN
LCAKICAgICAgICAgIG1fc2VsZWN0aW9uVHlwZSA9IFdlYkNvcmU6OlZpc2libGVTZWxlY3Rpb246
OkNhcmV0U2VsZWN0aW9uLCBtX2Jhc2VJc0ZpcnN0ID0gdHJ1ZSwgCiAgICAgICAgICBtX2lzRGly
ZWN0aW9uYWwgPSB0cnVlfQogICAgICAgIHBhaW50QmxvY2tDdXJzb3IgPSBmYWxzZQogICAgICAg
IGNhcmV0UmVjdENoYW5nZWRPckNsZWFyZWQgPSB0cnVlCiAgICAgICAgY2FyZXRCcm93c2luZyA9
IGZhbHNlCiAgICAgICAgc2hvdWxkQmxpbmsgPSBmYWxzZQogICAgICAgIHZpZXcgPSAweDdmODcy
OTRmOThjMAogICAgICAgIGVuZFZpc2libGVQb3NpdGlvbiA9IHttX2RlZXBQb3NpdGlvbiA9IHtt
X2FuY2hvck5vZGUgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCAKICAgICAg
ICAgICAgICBtX3B0ciA9IDB4N2Y4Nzc0NzU5ODcwfSwgbV9vZmZzZXQgPSAxLCBtX2FuY2hvclR5
cGUgPSAwLCAKICAgICAgICAgICAgbV9pc0xlZ2FjeUVkaXRpbmdQb3NpdGlvbiA9IHRydWV9LCBt
X2FmZmluaXR5ID0gV2ViQ29yZTo6RE9XTlNUUkVBTX0KICAgICAgICBzZWxlY3Rpb24gPSB7bV9i
YXNlID0ge21fYW5jaG9yTm9kZSA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4s
IAogICAgICAgICAgICAgIG1fcHRyID0gMHg3Zjg3NzQ3NTk4NzB9LCBtX29mZnNldCA9IDEsIG1f
YW5jaG9yVHlwZSA9IDAsIAogICAgICAgICAgICBtX2lzTGVnYWN5RWRpdGluZ1Bvc2l0aW9uID0g
dHJ1ZX0sIG1fZXh0ZW50ID0ge21fYW5jaG9yTm9kZSA9IHsKICAgICAgICAgICAgICBzdGF0aWMg
aXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3Zjg3NzQ3NTk4NzB9LCBtX29m
ZnNldCA9IDEsIAogICAgICAgICAgICBtX2FuY2hvclR5cGUgPSAwLCBtX2lzTGVnYWN5RWRpdGlu
Z1Bvc2l0aW9uID0gdHJ1ZX0sIG1fc3RhcnQgPSB7bV9hbmNob3JOb2RlID0gewogICAgICAgICAg
ICAgIHN0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmODc3NDc1
OTg3MH0sIG1fb2Zmc2V0ID0gMSwgCiAgICAgICAgICAgIG1fYW5jaG9yVHlwZSA9IDAsIG1faXNM
ZWdhY3lFZGl0aW5nUG9zaXRpb24gPSB0cnVlfSwgbV9lbmQgPSB7bV9hbmNob3JOb2RlID0gewog
ICAgICAgICAgICAgIHN0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAw
eDdmODc3NDc1OTg3MH0sIG1fb2Zmc2V0ID0gMSwgCiAgICAgICAgICAgIG1fYW5jaG9yVHlwZSA9
IDAsIG1faXNMZWdhY3lFZGl0aW5nUG9zaXRpb24gPSB0cnVlfSwgbV9hZmZpbml0eSA9IFdlYkNv
cmU6OkRPV05TVFJFQU0sIAogICAgICAgICAgbV9zZWxlY3Rpb25UeXBlID0gV2ViQ29yZTo6Vmlz
aWJsZVNlbGVjdGlvbjo6Q2FyZXRTZWxlY3Rpb24sIG1fYmFzZUlzRmlyc3QgPSB0cnVlLCAKICAg
ICAgICAgIG1faXNEaXJlY3Rpb25hbCA9IGZhbHNlfQogICAgICAgIHN0YXJ0UG9zID0ge21fYW5j
aG9yTm9kZSA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3
Zjg3OTg3OWE3NDB9LCAKICAgICAgICAgIG1fb2Zmc2V0ID0gLTE5MTIwNjMzMTUsIG1fYW5jaG9y
VHlwZSA9IDcsIG1faXNMZWdhY3lFZGl0aW5nUG9zaXRpb24gPSBmYWxzZX0KICAgICAgICBjYW5k
aWRhdGUgPSB7bV9hbmNob3JOb2RlID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0
PiwgbV9wdHIgPSAweDdmZmRhOTBmZjU1MH0sIAogICAgICAgICAgbV9vZmZzZXQgPSAtMTg1NzY4
MDMyNywgbV9hbmNob3JUeXBlID0gMSwgbV9pc0xlZ2FjeUVkaXRpbmdQb3NpdGlvbiA9IGZhbHNl
fQogICAgICAgIGVuZFBvcyA9IHttX2FuY2hvck5vZGUgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9w
dGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y4Nzk4NzlhYTk4fSwgCiAgICAgICAgICBtX29mZnNl
dCA9IC0xNDU4NTcxOTM2LCBtX2FuY2hvclR5cGUgPSA1LCBtX2lzTGVnYWN5RWRpdGluZ1Bvc2l0
aW9uID0gdHJ1ZX0KICAgICAgICBfX1BSRVRUWV9GVU5DVElPTl9fID0gInZvaWQgV2ViQ29yZTo6
RnJhbWVTZWxlY3Rpb246OnVwZGF0ZUFwcGVhcmFuY2UoKSIKIzE0IDB4MDAwMDdmODc5MWU4MTEx
ZSBpbiBXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6dXBkYXRlQW5kUmV2ZWFsU2VsZWN0aW9uICh0
aGlzPTB4N2Y4Nzc0N2I0NjQwLCAKICAgIGludGVudD0uLi4pIGF0IC4uLy4uL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOjQwMApObyBsb2NhbHMuCiMxNSAweDAwMDA3
Zjg3OTFlODBmZjQgaW4gV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNldFNlbGVjdGlvbiAodGhp
cz0weDdmODc3NDdiNDY0MCwgc2VsZWN0aW9uPS4uLiwgCiAgICBvcHRpb25zPTcsIGludGVudD0u
Li4sIGFsaWduPVdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpBbGlnbkN1cnNvck9uU2Nyb2xsSWZO
ZWVkZWQsIAogICAgZ3JhbnVsYXJpdHk9V2ViQ29yZTo6Q2hhcmFjdGVyR3JhbnVsYXJpdHkpIGF0
IC4uLy4uL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOjM2OQogICAg
ICAgIHByb3RlY3RlZEZyYW1lID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0Piwg
bV9wdHIgPSAweDdmODc3NDdhMTAwMH0KICAgICAgICBkb2N1bWVudCA9IDB4N2Y4Nzc0NzhiMDAw
CiAgICAgICAgZnJhbWVWaWV3ID0gMHg3Zjg3Mjk0ZjViMDAKIzE2IDB4MDAwMDdmODc5MWU4MDkx
OCBpbiBXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6c2V0U2VsZWN0aW9uQnlNb3VzZUlmRGlmZmVy
ZW50ICh0aGlzPTB4N2Y4Nzc0N2I0NjQwLCAKICAgIHBhc3NlZE5ld1NlbGVjdGlvbj0uLi4sIGdy
YW51bGFyaXR5PVdlYkNvcmU6OkNoYXJhY3RlckdyYW51bGFyaXR5LCAKICAgIGVuZHBvaW50c0Fk
anVzdG1lbnRNb2RlPVdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uOjpEb05vdEFkanN1dEVuZHBvaW50
cykKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3Bw
OjI3NwogICAgICAgIG5ld1NlbGVjdGlvbiA9IHttX2Jhc2UgPSB7bV9hbmNob3JOb2RlID0ge3N0
YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgCiAgICAgICAgICAgICAgbV9wdHIgPSAw
eDdmODc3NDc1OTg3MH0sIG1fb2Zmc2V0ID0gMSwgbV9hbmNob3JUeXBlID0gMCwgCiAgICAgICAg
ICAgIG1faXNMZWdhY3lFZGl0aW5nUG9zaXRpb24gPSB0cnVlfSwgbV9leHRlbnQgPSB7bV9hbmNo
b3JOb2RlID0gewogICAgICAgICAgICAgIHN0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0
PiwgbV9wdHIgPSAweDdmODc3NDc1OTg3MH0sIG1fb2Zmc2V0ID0gMSwgCiAgICAgICAgICAgIG1f
YW5jaG9yVHlwZSA9IDAsIG1faXNMZWdhY3lFZGl0aW5nUG9zaXRpb24gPSB0cnVlfSwgbV9zdGFy
dCA9IHttX2FuY2hvck5vZGUgPSB7CiAgICAgICAgICAgICAgc3RhdGljIGlzUmVmUHRyID0gPG9w
dGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y4Nzc0NzU5ODcwfSwgbV9vZmZzZXQgPSAxLCAKICAg
ICAgICAgICAgbV9hbmNob3JUeXBlID0gMCwgbV9pc0xlZ2FjeUVkaXRpbmdQb3NpdGlvbiA9IHRy
dWV9LCBtX2VuZCA9IHttX2FuY2hvck5vZGUgPSB7CiAgICAgICAgICAgICAgc3RhdGljIGlzUmVm
UHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y4Nzc0NzU5ODcwfSwgbV9vZmZzZXQg
PSAxLCAKICAgICAgICAgICAgbV9hbmNob3JUeXBlID0gMCwgbV9pc0xlZ2FjeUVkaXRpbmdQb3Np
dGlvbiA9IHRydWV9LCBtX2FmZmluaXR5ID0gV2ViQ29yZTo6RE9XTlNUUkVBTSwgCiAgICAgICAg
ICBtX3NlbGVjdGlvblR5cGUgPSBXZWJDb3JlOjpWaXNpYmxlU2VsZWN0aW9uOjpDYXJldFNlbGVj
dGlvbiwgbV9iYXNlSXNGaXJzdCA9IHRydWUsIAogICAgICAgICAgbV9pc0RpcmVjdGlvbmFsID0g
dHJ1ZX0KICAgICAgICBpc0RpcmVjdGlvbmFsID0gdHJ1ZQogICAgICAgIGJhc2UgPSB7bV9kZWVw
UG9zaXRpb24gPSB7bV9hbmNob3JOb2RlID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQg
b3V0PiwgCiAgICAgICAgICAgICAgbV9wdHIgPSAweDdmODc3NDc1OTg3MH0sIG1fb2Zmc2V0ID0g
MSwgbV9hbmNob3JUeXBlID0gMCwgCiAgICAgICAgICAgIG1faXNMZWdhY3lFZGl0aW5nUG9zaXRp
b24gPSB0cnVlfSwgbV9hZmZpbml0eSA9IFdlYkNvcmU6OkRPV05TVFJFQU19CiAgICAgICAgbmV3
QmFzZSA9IHttX2RlZXBQb3NpdGlvbiA9IHttX2FuY2hvck5vZGUgPSB7c3RhdGljIGlzUmVmUHRy
ID0gPG9wdGltaXplZCBvdXQ+LCAKICAgICAgICAgICAgICBtX3B0ciA9IDB4N2Y4Nzc0NzU5ODcw
fSwgbV9vZmZzZXQgPSAxLCBtX2FuY2hvclR5cGUgPSAwLCAKICAgICAgICAgICAgbV9pc0xlZ2Fj
eUVkaXRpbmdQb3NpdGlvbiA9IHRydWV9LCBtX2FmZmluaXR5ID0gV2ViQ29yZTo6RE9XTlNUUkVB
TX0KICAgICAgICBleHRlbnQgPSB7bV9kZWVwUG9zaXRpb24gPSB7bV9hbmNob3JOb2RlID0ge3N0
YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgCiAgICAgICAgICAgICAgbV9wdHIgPSAw
eDdmODc3NDc1OTg3MH0sIG1fb2Zmc2V0ID0gMSwgbV9hbmNob3JUeXBlID0gMCwgCiAgICAgICAg
ICAgIG1faXNMZWdhY3lFZGl0aW5nUG9zaXRpb24gPSB0cnVlfSwgbV9hZmZpbml0eSA9IFdlYkNv
cmU6OkRPV05TVFJFQU19CiAgICAgICAgbmV3RXh0ZW50ID0ge21fZGVlcFBvc2l0aW9uID0ge21f
YW5jaG9yTm9kZSA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIAogICAgICAg
ICAgICAgIG1fcHRyID0gMHg3Zjg3NzQ3NTk4NzB9LCBtX29mZnNldCA9IDEsIG1fYW5jaG9yVHlw
ZSA9IDAsIAogICAgICAgICAgICBtX2lzTGVnYWN5RWRpdGluZ1Bvc2l0aW9uID0gdHJ1ZX0sIG1f
YWZmaW5pdHkgPSBXZWJDb3JlOjpET1dOU1RSRUFNfQogICAgICAgIGludGVudCA9IHt0eXBlID0g
V2ViQ29yZTo6QVhUZXh0U3RhdGVDaGFuZ2VUeXBlU2VsZWN0aW9uTW92ZSwge3NlbGVjdGlvbiA9
IHsKICAgICAgICAgICAgICBkaXJlY3Rpb24gPSBXZWJDb3JlOjpBWFRleHRTZWxlY3Rpb25EaXJl
Y3Rpb25EaXNjb250aWd1b3VzLCAKICAgICAgICAgICAgICBncmFudWxhcml0eSA9IFdlYkNvcmU6
OkFYVGV4dFNlbGVjdGlvbkdyYW51bGFyaXR5VW5rbm93biwgZm9jdXNDaGFuZ2UgPSBmYWxzZX0s
IAogICAgICAgICAgICBjaGFuZ2UgPSBXZWJDb3JlOjpBWFRleHRFZGl0VHlwZUN1dH19CiMxNyAw
eDAwMDA3Zjg3OTIyMmFkN2YgaW4gV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjp1cGRhdGVTZWxlY3Rp
b25Gb3JNb3VzZURvd25EaXNwYXRjaGluZ1NlbGVjdFN0YXJ0ICgKICAgIHRoaXM9MHg3Zjg3NzQ3
YzYyNDAsIHRhcmdldE5vZGU9MHg3Zjg3NzQ3NTk4NzAsIHNlbGVjdGlvbj0uLi4sIAogICAgZ3Jh
bnVsYXJpdHk9V2ViQ29yZTo6Q2hhcmFjdGVyR3JhbnVsYXJpdHkpIGF0IC4uLy4uL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcDo1MTkKTm8gbG9jYWxzLgojMTggMHgwMDAwN2Y4
NzkyMjJiZjhmIGluIFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50
U2luZ2xlQ2xpY2sgKHRoaXM9MHg3Zjg3NzQ3YzYyNDAsIAogICAgZXZlbnQ9Li4uKSBhdCAuLi8u
Li9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHA6NzEyCiAgICAgICAgcHJvdGVj
dGVkRnJhbWUgPSB7c3RhdGljIGlzUmVmID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y4
Nzc0N2ExMDAwfQogICAgICAgIHRhcmdldE5vZGUgPSAweDdmODc3NDc1OTg3MAogICAgICAgIGV4
dGVuZFNlbGVjdGlvbiA9IGZhbHNlCiAgICAgICAgdmlzaWJsZVBvcyA9IHttX2RlZXBQb3NpdGlv
biA9IHttX2FuY2hvck5vZGUgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCAK
ICAgICAgICAgICAgICBtX3B0ciA9IDB4N2Y4Nzc0NzU5ODcwfSwgbV9vZmZzZXQgPSAxLCBtX2Fu
Y2hvclR5cGUgPSAwLCAKICAgICAgICAgICAgbV9pc0xlZ2FjeUVkaXRpbmdQb3NpdGlvbiA9IHRy
dWV9LCBtX2FmZmluaXR5ID0gV2ViQ29yZTo6RE9XTlNUUkVBTX0KICAgICAgICBwb3MgPSB7bV9h
bmNob3JOb2RlID0ge3N0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAw
eDdmODc3NDc1OTg3MH0sIAogICAgICAgICAgbV9vZmZzZXQgPSAxLCBtX2FuY2hvclR5cGUgPSAw
LCBtX2lzTGVnYWN5RWRpdGluZ1Bvc2l0aW9uID0gdHJ1ZX0KICAgICAgICBuZXdTZWxlY3Rpb24g
PSB7bV9iYXNlID0ge21fYW5jaG9yTm9kZSA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVk
IG91dD4sIAogICAgICAgICAgICAgIG1fcHRyID0gMHg3Zjg3NzQ3NTk4NzB9LCBtX29mZnNldCA9
IDEsIG1fYW5jaG9yVHlwZSA9IDAsIAogICAgICAgICAgICBtX2lzTGVnYWN5RWRpdGluZ1Bvc2l0
aW9uID0gdHJ1ZX0sIG1fZXh0ZW50ID0ge21fYW5jaG9yTm9kZSA9IHsKICAgICAgICAgICAgICBz
dGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3Zjg3NzQ3NTk4NzB9
LCBtX29mZnNldCA9IDEsIAogICAgICAgICAgICBtX2FuY2hvclR5cGUgPSAwLCBtX2lzTGVnYWN5
RWRpdGluZ1Bvc2l0aW9uID0gdHJ1ZX0sIG1fc3RhcnQgPSB7bV9hbmNob3JOb2RlID0gewogICAg
ICAgICAgICAgIHN0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdm
ODc3NDc1OTg3MH0sIG1fb2Zmc2V0ID0gMSwgCiAgICAgICAgICAgIG1fYW5jaG9yVHlwZSA9IDAs
IG1faXNMZWdhY3lFZGl0aW5nUG9zaXRpb24gPSB0cnVlfSwgbV9lbmQgPSB7bV9hbmNob3JOb2Rl
ID0gewogICAgICAgICAgICAgIHN0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9w
dHIgPSAweDdmODc3NDc1OTg3MH0sIG1fb2Zmc2V0ID0gMSwgCiAgICAgICAgICAgIG1fYW5jaG9y
VHlwZSA9IDAsIG1faXNMZWdhY3lFZGl0aW5nUG9zaXRpb24gPSB0cnVlfSwgbV9hZmZpbml0eSA9
IFdlYkNvcmU6OkRPV05TVFJFQU0sIAogICAgICAgICAgbV9zZWxlY3Rpb25UeXBlID0gV2ViQ29y
ZTo6VmlzaWJsZVNlbGVjdGlvbjo6Q2FyZXRTZWxlY3Rpb24sIG1fYmFzZUlzRmlyc3QgPSB0cnVl
LCAKICAgICAgICAgIG1faXNEaXJlY3Rpb25hbCA9IGZhbHNlfQogICAgICAgIGdyYW51bGFyaXR5
ID0gV2ViQ29yZTo6Q2hhcmFjdGVyR3JhbnVsYXJpdHkKICAgICAgICBoYW5kbGVkID0gMTY5CiMx
OSAweDAwMDA3Zjg3OTIyMmM1MmUgaW4gV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVNb3Vz
ZVByZXNzRXZlbnQgKHRoaXM9MHg3Zjg3NzQ3YzYyNDAsIGV2ZW50PS4uLikKICAgIGF0IC4uLy4u
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcDo4MDQKICAgICAgICBwcm90ZWN0
ZWRGcmFtZSA9IHtzdGF0aWMgaXNSZWYgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3Zjg3
NzQ3YTEwMDB9CiAgICAgICAgc2luZ2xlQ2xpY2sgPSB0cnVlCiAgICAgICAgaXNNb3VzZURvd25P
bkxpbmtPckltYWdlID0gZmFsc2UKICAgICAgICBzd2FsbG93RXZlbnQgPSBmYWxzZQojMjAgMHgw
MDAwN2Y4NzkyMjJmZGQyIGluIFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVz
c0V2ZW50ICh0aGlzPTB4N2Y4Nzc0N2M2MjQwLCAKICAgIHBsYXRmb3JtTW91c2VFdmVudD0uLi4p
IGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcDoxNzYyCiAgICAg
ICAgcHJvdGVjdGVkRnJhbWUgPSB7c3RhdGljIGlzUmVmID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0
ciA9IDB4N2Y4Nzc0N2ExMDAwfQogICAgICAgIHByb3RlY3RvciA9IHtzdGF0aWMgaXNSZWZQdHIg
PSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHg3Zjg3Mjk0ZjViMDB9CiAgICAgICAgZGVmYXVs
dFByZXZlbnRlZCA9IGZhbHNlCiAgICAgICAgZ2VzdHVyZUluZGljYXRvciA9IHttX3ByZXZpb3Vz
VG9rZW4gPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4MH19
CiAgICAgICAgcmVxdWVzdCA9IHttX3JlcXVlc3RUeXBlID0gMjYwfQogICAgICAgIGRvY3VtZW50
UG9pbnQgPSB7bV94ID0ge21fdmFsdWUgPSAyNjU2MH0sIG1feSA9IHttX3ZhbHVlID0gMTYyNTZ9
fQogICAgICAgIG1vdXNlRXZlbnQgPSB7bV9ldmVudCA9IHs8V2ViQ29yZTo6UGxhdGZvcm1FdmVu
dD4gPSB7bV90eXBlID0gNiwgbV9tb2RpZmllcnMgPSB7bV9zdG9yYWdlID0gMH0sIAogICAgICAg
ICAgICAgIG1fdGltZXN0YW1wID0ge3N0YXRpYyBjbG9ja1R5cGUgPSBXVEY6OkNsb2NrVHlwZTo6
V2FsbCwgbV92YWx1ZSA9IDE1MDcwMzUzNTIuNTc4NjU2OX19LCAKICAgICAgICAgICAgbV9wb3Np
dGlvbiA9IHttX3ggPSA0MTUsIG1feSA9IDI1NH0sIG1fZ2xvYmFsUG9zaXRpb24gPSB7bV94ID0g
NDQxLCBtX3kgPSAzMjR9LCAKICAgICAgICAgICAgbV9idXR0b24gPSBXZWJDb3JlOjpMZWZ0QnV0
dG9uLCBtX2NsaWNrQ291bnQgPSAxLCBtX21vZGlmaWVyRmxhZ3MgPSAwLCBtX2ZvcmNlID0gMSwg
CiAgICAgICAgICAgIG1fc3ludGhldGljQ2xpY2tUeXBlID0gV2ViQ29yZTo6Tm9UYXB9LCBtX2hp
dFRlc3RSZXN1bHQgPSB7bV9oaXRUZXN0TG9jYXRpb24gPSB7bV9wb2ludCA9IHsKICAgICAgICAg
ICAgICAgIG1feCA9IHttX3ZhbHVlID0gMjY1NjB9LCBtX3kgPSB7bV92YWx1ZSA9IDE2MjU2fX0s
IG1fYm91bmRpbmdCb3ggPSB7bV9sb2NhdGlvbiA9IHsKICAgICAgICAgICAgICAgICAgbV94ID0g
NDE1LCBtX3kgPSAyNTR9LCBtX3NpemUgPSB7bV93aWR0aCA9IDEsIG1faGVpZ2h0ID0gMX19LCBt
X3RyYW5zZm9ybWVkUG9pbnQgPSB7CiAgICAgICAgICAgICAgICBtX3ggPSA0MTUsIG1feSA9IDI1
NH0sIG1fdHJhbnNmb3JtZWRSZWN0ID0ge21fcDEgPSB7bV94ID0gNDE1LCBtX3kgPSAyNTR9LCBt
X3AyID0gewogICAgICAgICAgICAgICAgICBtX3ggPSA0MTYsIG1feSA9IDI1NH0sIG1fcDMgPSB7
bV94ID0gNDE2LCBtX3kgPSAyNTV9LCBtX3A0ID0ge21feCA9IDQxNSwgbV95ID0gMjU1fX0sIAog
ICAgICAgICAgICAgIG1faXNSZWN0QmFzZWQgPSBmYWxzZSwgbV9pc1JlY3RpbGluZWFyID0gdHJ1
ZX0sIG1faW5uZXJOb2RlID0gewogICAgICAgICAgICAgIHN0YXRpYyBpc1JlZlB0ciA9IDxvcHRp
bWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmODc3NDc1OTg3MH0sIG1faW5uZXJOb25TaGFyZWROb2Rl
ID0gewogICAgICAgICAgICAgIHN0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9w
dHIgPSAweDdmODc3NDc1OTg3MH0sIG1fcG9pbnRJbklubmVyTm9kZUZyYW1lID0gewogICAgICAg
ICAgICAgIG1feCA9IHttX3ZhbHVlID0gMjY1NjB9LCBtX3kgPSB7bV92YWx1ZSA9IDE2MjU2fX0s
IG1fbG9jYWxQb2ludCA9IHttX3ggPSB7CiAgICAgICAgICAgICAgICBtX3ZhbHVlID0gMTE1Mn0s
IG1feSA9IHttX3ZhbHVlID0gNzY4fX0sIG1faW5uZXJVUkxFbGVtZW50ID0gewogICAgICAgICAg
ICAgIHN0YXRpYyBpc1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDB9LCBtX3Nj
cm9sbGJhciA9IHsKICAgICAgICAgICAgICBzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91
dD4sIG1fcHRyID0gMHgwfSwgbV9pc092ZXJXaWRnZXQgPSBmYWxzZSwgCiAgICAgICAgICAgIG1f
bGlzdEJhc2VkVGVzdFJlc3VsdCA9IHN0ZDo6dW5pcXVlX3B0cjxXVEY6Okxpc3RIYXNoU2V0PFdU
Rjo6UmVmUHRyPFdlYkNvcmU6Ok5vZGU+LCBXVEY6OlB0ckhhc2g8V1RGOjpSZWZQdHI8V2ViQ29y
ZTo6Tm9kZT4gPiA+PiBjb250YWluaW5nIDB4MH19CiAgICAgICAgc2Nyb2xsYmFyID0gMHgwCiAg
ICAgICAgcGFzc2VkVG9TY3JvbGxiYXIgPSBmYWxzZQogICAgICAgIHN3YWxsb3dFdmVudCA9IGZh
bHNlCiMyMSAweDAwMDA3Zjg3OTI3N2Y1MGMgaW4gV2ViQ29yZTo6VXNlcklucHV0QnJpZGdlOjpo
YW5kbGVNb3VzZVByZXNzRXZlbnQgKHRoaXM9MHhiZjIwODAsIAogICAgbW91c2VFdmVudD0uLi4p
IGF0IC4uLy4uL1NvdXJjZS9XZWJDb3JlL3JlcGxheS9Vc2VySW5wdXRCcmlkZ2UuY3BwOjU4Ck5v
IGxvY2Fscy4KIzIyIDB4MDAwMDdmODc5MTViOTlhYiBpbiBXZWJLaXQ6OmhhbmRsZU1vdXNlRXZl
bnQgKG1vdXNlRXZlbnQ9Li4uLCBwYWdlPTB4N2Y4NzI5NGZhNjAwKQogICAgYXQgLi4vLi4vU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6MjMwOQogICAgICAgIGhh
bmRsZWQgPSBmYWxzZQogICAgICAgIGZyYW1lID0gQDB4N2Y4Nzc0N2ExMDAwOiB7PFdURjo6VGhy
ZWFkU2FmZVJlZkNvdW50ZWQ8V2ViQ29yZTo6RnJhbWU+PiA9IHs8V1RGOjpUaHJlYWRTYWZlUmVm
Q291bnRlZEJhc2U+ID0ge21fcmVmQ291bnQgPSB7PHN0ZDo6X19hdG9taWNfYmFzZTx1bnNpZ25l
ZCBpbnQ+PiA9IHtzdGF0aWMgX1NfYWxpZ25tZW50ID0gNCwgCiAgICAgICAgICAgICAgICAgIF9N
X2kgPSA3fSwgPE5vIGRhdGEgZmllbGRzPn19LCA8Tm8gZGF0YSBmaWVsZHM+fSwgCiAgICAgICAg
ICBfdnB0ci5GcmFtZSA9IDB4N2Y4Nzk4MGM1ZjYwIDx2dGFibGUgZm9yIFdlYkNvcmU6Ok1haW5G
cmFtZSsxNj4sIG1fZGVzdHJ1Y3Rpb25PYnNlcnZlcnMgPSB7CiAgICAgICAgICAgIG1faW1wbCA9
IHtzdGF0aWMgbV9tYXhMb2FkID0gMiwgc3RhdGljIG1fbWluTG9hZCA9IDYsIG1fdGFibGUgPSAw
eDdmODc3NDc4M2IwMCwgCiAgICAgICAgICAgICAgbV90YWJsZVNpemUgPSAxNiwgbV90YWJsZVNp
emVNYXNrID0gMTUsIG1fa2V5Q291bnQgPSA0LCBtX2RlbGV0ZWRDb3VudCA9IDAsIAogICAgICAg
ICAgICAgIG1faXRlcmF0b3JzID0gMHgwLCBtX211dGV4ID0gc3RkOjp1bmlxdWVfcHRyPFdURjo6
TG9jaz4gY29udGFpbmluZyAweDdmODc3NDdmZjkyOH19LCAKICAgICAgICAgIG1fbWFpbkZyYW1l
ID0gQDB4N2Y4Nzc0N2ExMDAwLCBtX3BhZ2UgPSAweDdmODcyOTJmMzAwMCwgbV9zZXR0aW5ncyA9
IHsKICAgICAgICAgICAgc3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9
IDB4N2Y4Nzc0N2EzMDAwfSwgbV90cmVlTm9kZSA9IHsKICAgICAgICAgICAgc3RhdGljIGludmFs
aWRDb3VudCA9IDQyOTQ5NjcyOTUsIG1fdGhpc0ZyYW1lID0gQDB4N2Y4Nzc0N2ExMDAwLCBtX3Bh
cmVudCA9IDB4MCwgbV9uYW1lID0gewogICAgICAgICAgICAgIG1fc3RyaW5nID0ge21faW1wbCA9
IHtzdGF0aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIG1fcHRyID0gMHgwfX19LCBtX3Vu
aXF1ZU5hbWUgPSB7CiAgICAgICAgICAgICAgbV9zdHJpbmcgPSB7bV9pbXBsID0ge3N0YXRpYyBp
c1JlZlB0ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDB9fX0sIG1fbmV4dFNpYmxpbmcg
PSB7CiAgICAgICAgICAgICAgc3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0
ciA9IDB4MH0sIG1fcHJldmlvdXNTaWJsaW5nID0gMHgwLCBtX2ZpcnN0Q2hpbGQgPSB7CiAgICAg
ICAgICAgICAgc3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4MH0s
IG1fbGFzdENoaWxkID0gMHgwLCAKICAgICAgICAgICAgbV9zY29wZWRDaGlsZENvdW50ID0gNDI5
NDk2NzI5NX0sIG1fbG9hZGVyID0gewogICAgICAgICAgICBtX3JlZiA9IHN0ZDo6dW5pcXVlX3B0
cjxXZWJDb3JlOjpGcmFtZUxvYWRlcj4gY29udGFpbmluZyAweGY5MmEwMH0sIAogICAgICAgICAg
bV9uYXZpZ2F0aW9uU2NoZWR1bGVyID0gewogICAgICAgICAgICBtX3JlZiA9IHN0ZDo6dW5pcXVl
X3B0cjxXZWJDb3JlOjpOYXZpZ2F0aW9uU2NoZWR1bGVyPiBjb250YWluaW5nIDB4YjYyNjkwfSwg
CiAgICAgICAgICBtX293bmVyRWxlbWVudCA9IDB4MCwgbV92aWV3ID0ge3N0YXRpYyBpc1JlZlB0
ciA9IDxvcHRpbWl6ZWQgb3V0PiwgbV9wdHIgPSAweDdmODcyOTRmNWIwMH0sIAogICAgICAgICAg
bV9kb2MgPSB7c3RhdGljIGlzUmVmUHRyID0gPG9wdGltaXplZCBvdXQ+LCBtX3B0ciA9IDB4N2Y4
Nzc0NzhiMDAwfSwgbV9zY3JpcHQgPSB7CiAgICAgICAgICAgIG1fcmVmID0gc3RkOjp1bmlxdWVf
cHRyPFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI+IGNvbnRhaW5pbmcgMHg3Zjg3NzQ3ZmNmMDB9
LCBtX2VkaXRvciA9IHsKICAgICAgICAgICAgbV9yZWYgPSBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29y
ZTo6RWRpdG9yPiBjb250YWluaW5nIDB4N2Y4Nzc0N2EwMDAwfSwgbV9zZWxlY3Rpb24gPSB7CiAg
ICAgICAgICAgIG1fcmVmID0gc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9u
PiBjb250YWluaW5nIDB4N2Y4Nzc0N2I0NjQwfSwgCiAgICAgICAgICBtX2FuaW1hdGlvbkNvbnRy
b2xsZXIgPSB7CiAgICAgICAgICAgIG1fcmVmID0gc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkNT
U0FuaW1hdGlvbkNvbnRyb2xsZXI+IGNvbnRhaW5pbmcgMHg3Zjg3NzQ3ZmY5NTh9LCAKICAgICAg
ICAgIG1fcGFnZVpvb21GYWN0b3IgPSAxLCBtX3RleHRab29tRmFjdG9yID0gMSwgCiAgICAgICAg
ICBtX2FjdGl2ZURPTU9iamVjdHNBbmRBbmltYXRpb25zU3VzcGVuZGVkQ291bnQgPSAwLCBtX21h
aW5GcmFtZVdhc0Rlc3Ryb3llZCA9IGZhbHNlLCAKICAgICAgICAgIG1fZG9jdW1lbnRJc0JlaW5n
UmVwbGFjZWQgPSBmYWxzZSwgbV9ldmVudEhhbmRsZXIgPSB7CiAgICAgICAgICAgIG1fcmVmID0g
c3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkV2ZW50SGFuZGxlcj4gY29udGFpbmluZyAweDdmODc3
NDdjNjI0MH19CiAgICAgICAgcGxhdGZvcm1Nb3VzZUV2ZW50ID0gezxXZWJDb3JlOjpQbGF0Zm9y
bUV2ZW50PiA9IHttX3R5cGUgPSA2LCBtX21vZGlmaWVycyA9IHttX3N0b3JhZ2UgPSAwfSwgCiAg
ICAgICAgICAgIG1fdGltZXN0YW1wID0ge3N0YXRpYyBjbG9ja1R5cGUgPSBXVEY6OkNsb2NrVHlw
ZTo6V2FsbCwgbV92YWx1ZSA9IDE1MDcwMzUzNTIuNTc4NjU2OX19LCAKICAgICAgICAgIG1fcG9z
aXRpb24gPSB7bV94ID0gNDE1LCBtX3kgPSAyNTR9LCBtX2dsb2JhbFBvc2l0aW9uID0ge21feCA9
IDQ0MSwgbV95ID0gMzI0fSwgCiAgICAgICAgICBtX2J1dHRvbiA9IFdlYkNvcmU6OkxlZnRCdXR0
b24sIG1fY2xpY2tDb3VudCA9IDEsIG1fbW9kaWZpZXJGbGFncyA9IDAsIG1fZm9yY2UgPSAxLCAK
ICAgICAgICAgIG1fc3ludGhldGljQ2xpY2tUeXBlID0gV2ViQ29yZTo6Tm9UYXB9CiAgICAgICAg
X19QUkVUVFlfRlVOQ1RJT05fXyA9ICJib29sIFdlYktpdDo6aGFuZGxlTW91c2VFdmVudChjb25z
dCBXZWJLaXQ6OldlYk1vdXNlRXZlbnQmLCBXZWJLaXQ6OldlYlBhZ2UqKSIKIzIzIDB4MDAwMDdm
ODc5MTViOWM0YiBpbiBXZWJLaXQ6OldlYlBhZ2U6Om1vdXNlRXZlbnQgKHRoaXM9MHg3Zjg3Mjk0
ZmE2MDAsIG1vdXNlRXZlbnQ9Li4uKQogICAgYXQgLi4vLi4vU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6MjM3NgogICAgICAgIGN1cnJlbnRFdmVudCA9IHttX3By
ZXZpb3VzQ3VycmVudEV2ZW50ID0gMHgwfQogICAgICAgIHVzZXJJc0ludGVyYWN0aW5nQ2hhbmdl
ID0ge21fc2NvcGVkVmFyaWFibGUgPSBAMHg3Zjg3Mjk0ZmE5NTgsIG1fb3JpZ2luYWxWYWx1ZSA9
IGZhbHNlfQogICAgICAgIHNob3VsZEhhbmRsZUV2ZW50ID0gdHJ1ZQogICAgICAgIGhhbmRsZWQg
PSBmYWxzZQojMjQgMHgwMDAwN2Y4NzkxOTQzMDhmIGluIElQQzo6Y2FsbE1lbWJlckZ1bmN0aW9u
SW1wbDxXZWJLaXQ6OldlYlBhZ2UsIHZvaWQgKFdlYktpdDo6V2ViUGFnZTo6KikoV2ViS2l0OjpX
ZWJNb3VzZUV2ZW50IGNvbnN0JiksIHN0ZDo6dHVwbGU8V2ViS2l0OjpXZWJNb3VzZUV2ZW50Piwg
MHVsPiAob2JqZWN0PTB4N2Y4NzI5NGZhNjAwLCBmdW5jdGlvbj0KICAgICh2b2lkIChXZWJLaXQ6
OldlYlBhZ2U6OiopKFdlYktpdDo6V2ViUGFnZSAqIGNvbnN0LCBjb25zdCBXZWJLaXQ6OldlYk1v
dXNlRXZlbnQgJikpIDB4N2Y4NzkxNWI5YWE0IDxXZWJLaXQ6OldlYlBhZ2U6Om1vdXNlRXZlbnQo
V2ViS2l0OjpXZWJNb3VzZUV2ZW50IGNvbnN0Jik+LCBhcmdzPS4uLikKICAgIGF0IC4uLy4uL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0hhbmRsZU1lc3NhZ2UuaDo0MApObyBsb2NhbHMuCiMy
NSAweDAwMDA3Zjg3OTE5NDBiZmEgaW4gSVBDOjpjYWxsTWVtYmVyRnVuY3Rpb248V2ViS2l0OjpX
ZWJQYWdlLCB2b2lkIChXZWJLaXQ6OldlYlBhZ2U6OiopKFdlYktpdDo6V2ViTW91c2VFdmVudCBj
b25zdCYpLCBzdGQ6OnR1cGxlPFdlYktpdDo6V2ViTW91c2VFdmVudD4sIHN0ZDo6aW50ZWdlcl9z
ZXF1ZW5jZTx1bnNpZ25lZCBsb25nLCAwdWw+ID4gKAogICAgYXJncz0uLi4sIG9iamVjdD0weDdm
ODcyOTRmYTYwMCwgZnVuY3Rpb249CiAgICAodm9pZCAoV2ViS2l0OjpXZWJQYWdlOjoqKShXZWJL
aXQ6OldlYlBhZ2UgKiBjb25zdCwgY29uc3QgV2ViS2l0OjpXZWJNb3VzZUV2ZW50ICYpKSAweDdm
ODc5MTViOWFhNCA8V2ViS2l0OjpXZWJQYWdlOjptb3VzZUV2ZW50KFdlYktpdDo6V2ViTW91c2VF
dmVudCBjb25zdCYpPikKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0hh
bmRsZU1lc3NhZ2UuaDo0NgpObyBsb2NhbHMuCiMyNiAweDAwMDA3Zjg3OTE5MzhlMWEgaW4gSVBD
OjpoYW5kbGVNZXNzYWdlPE1lc3NhZ2VzOjpXZWJQYWdlOjpNb3VzZUV2ZW50LCBXZWJLaXQ6Oldl
YlBhZ2UsIHZvaWQgKFdlYktpdDo6V2ViUGFnZTo6KikoV2ViS2l0OjpXZWJNb3VzZUV2ZW50IGNv
bnN0Jik+IChkZWNvZGVyPS4uLiwgb2JqZWN0PTB4N2Y4NzI5NGZhNjAwLCBmdW5jdGlvbj0KICAg
ICh2b2lkIChXZWJLaXQ6OldlYlBhZ2U6OiopKFdlYktpdDo6V2ViUGFnZSAqIGNvbnN0LCBjb25z
dCBXZWJLaXQ6OldlYk1vdXNlRXZlbnQgJikpIDB4N2Y4NzkxNWI5YWE0IDxXZWJLaXQ6OldlYlBh
Z2U6Om1vdXNlRXZlbnQoV2ViS2l0OjpXZWJNb3VzZUV2ZW50IGNvbnN0Jik+KQogICAgYXQgLi4v
Li4vU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2FnZS5oOjEyNgogICAgICAg
IF9fUFJFVFRZX0ZVTkNUSU9OX18gPSAidm9pZCBJUEM6OmhhbmRsZU1lc3NhZ2UoSVBDOjpEZWNv
ZGVyJiwgQyosIE1GKSBbd2l0aCBUID0gTWVzc2FnZXM6OldlYlBhZ2U6Ok1vdXNlRXZlbnQ7IEMg
PSBXZWJLaXQ6OldlYlBhZ2U7IE1GID0gdm9pZCAoV2ViS2l0OjpXZWJQYWdlOjoqKShjb25zdCBX
ZWJLaXQ6OldlYk1vdXNlRXZlbnQmKV0iCiAgICAgICAgYXJndW1lbnRzID0gc3RkOjp0dXBsZSBj
b250YWluaW5nID0ge1sxXSA9IHs8V2ViS2l0OjpXZWJFdmVudD4gPSB7bV90eXBlID0gMCwgbV9t
b2RpZmllcnMgPSAwLCAKICAgICAgICAgICAgICBtX3RpbWVzdGFtcCA9IHtzdGF0aWMgY2xvY2tU
eXBlID0gV1RGOjpDbG9ja1R5cGU6OldhbGwsIG1fdmFsdWUgPSAxNTA3MDM1MzUyLjU3ODY1Njl9
fSwgCiAgICAgICAgICAgIG1fYnV0dG9uID0gMCwgbV9wb3NpdGlvbiA9IHttX3ggPSA0MTUsIG1f
eSA9IDI1NH0sIG1fZ2xvYmFsUG9zaXRpb24gPSB7bV94ID0gNDQxLCAKICAgICAgICAgICAgICBt
X3kgPSAzMjR9LCBtX2RlbHRhWCA9IDAsIG1fZGVsdGFZID0gMCwgbV9kZWx0YVogPSAwLCBtX2Ns
aWNrQ291bnQgPSAxLCBtX2ZvcmNlID0gMCwgCiAgICAgICAgICAgIG1fc3ludGhldGljQ2xpY2tU
eXBlID0gMH19CiMyNyAweDAwMDA3Zjg3OTE5MzM1OGMgaW4gV2ViS2l0OjpXZWJQYWdlOjpkaWRS
ZWNlaXZlV2ViUGFnZU1lc3NhZ2UgKHRoaXM9MHg3Zjg3Mjk0ZmE2MDAsIAogICAgY29ubmVjdGlv
bj0uLi4sIGRlY29kZXI9Li4uKSBhdCBEZXJpdmVkU291cmNlcy9XZWJLaXQvV2ViUGFnZU1lc3Nh
Z2VSZWNlaXZlci5jcHA6MjA1CiAgICAgICAgX19QUkVUVFlfRlVOQ1RJT05fXyA9ICJ2b2lkIFdl
YktpdDo6V2ViUGFnZTo6ZGlkUmVjZWl2ZVdlYlBhZ2VNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpIgojMjggMHgwMDAwN2Y4NzkxNWJmZTkwIGluIFdlYktpdDo6V2ViUGFn
ZTo6ZGlkUmVjZWl2ZU1lc3NhZ2UgKHRoaXM9MHg3Zjg3Mjk0ZmE2MDAsIGNvbm5lY3Rpb249Li4u
LCAKICAgIGRlY29kZXI9Li4uKSBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDo0MTkzCk5vIGxvY2Fscy4KIzI5IDB4MDAwMDdmODc5MTE0ODk5YyBp
biBJUEM6Ok1lc3NhZ2VSZWNlaXZlck1hcDo6ZGlzcGF0Y2hNZXNzYWdlICh0aGlzPTB4Yjg0NmEw
LCBjb25uZWN0aW9uPS4uLiwgCiAgICBkZWNvZGVyPS4uLikgYXQgLi4vLi4vU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVJlY2VpdmVyTWFwLmNwcDoxMjMKICAgICAgICBtZXNzYWdl
UmVjZWl2ZXIgPSAweDdmODcyOTRmYTYxMAogICAgICAgIF9fUFJFVFRZX0ZVTkNUSU9OX18gPSAi
Ym9vbCBJUEM6Ok1lc3NhZ2VSZWNlaXZlck1hcDo6ZGlzcGF0Y2hNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYsIElQQzo6RGVjb2RlciYpIgojMzAgMHgwMDAwN2Y4NzkxNDNiMjk0IGluIFdlYktpdDo6
V2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UgKHRoaXM9MHhiODQ2MzAsIGNvbm5lY3Rpb249
Li4uLCAKICAgIGRlY29kZXI9Li4uKSBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUHJvY2Vzcy5jcHA6NjQ3CiAgICAgICAgX19QUkVUVFlfRlVOQ1RJT05fXyA9ICJ2aXJ0dWFs
IHZvaWQgV2ViS2l0OjpXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mLCBJUEM6OkRlY29kZXImKSIKIzMxIDB4MDAwMDdmODc5MTEzMGFlMiBpbiBJUEM6OkNvbm5l
Y3Rpb246OmRpc3BhdGNoTWVzc2FnZSAodGhpcz0weDdmODc3NDdlNDAwMCwgZGVjb2Rlcj0uLi4p
CiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNwcDo5
MDEKTm8gbG9jYWxzLgojMzIgMHgwMDAwN2Y4NzkxMTMwYzU1IGluIElQQzo6Q29ubmVjdGlvbjo6
ZGlzcGF0Y2hNZXNzYWdlICh0aGlzPTB4N2Y4Nzc0N2U0MDAwLCAKICAgIG1lc3NhZ2U9c3RkOjp1
bmlxdWVfcHRyPElQQzo6RGVjb2Rlcj4gY29udGFpbmluZyAweDdmODc3NDc5MmI0MCkKICAgIGF0
IC4uLy4uL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwOjkyOAogICAg
ICAgIG9sZERpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSA9IGZhbHNlCiMzMyAweDAwMDA3Zjg3OTEx
MzBlNGMgaW4gSVBDOjpDb25uZWN0aW9uOjpkaXNwYXRjaE9uZU1lc3NhZ2UgKHRoaXM9MHg3Zjg3
NzQ3ZTQwMDApCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0
aW9uLmNwcDo5NTkKICAgICAgICBtZXNzYWdlID0gc3RkOjp1bmlxdWVfcHRyPElQQzo6RGVjb2Rl
cj4gY29udGFpbmluZyAweDAKIzM0IDB4MDAwMDdmODc5MTEzMDljOCBpbiBJUEM6OkNvbm5lY3Rp
b246OjxsYW1iZGEoKT46Om9wZXJhdG9yKCkodm9pZCkgKF9fY2xvc3VyZT0weDdmODc3NDdlMTRh
OCkKICAgIGF0IC4uLy4uL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3Bw
Ojg5NQogICAgICAgIHByb3RlY3RlZFRoaXMgPSB7c3RhdGljIGlzUmVmID0gPG9wdGltaXplZCBv
dXQ+LCBtX3B0ciA9IDB4N2Y4Nzc0N2U0MDAwfQojMzUgMHgwMDAwN2Y4NzkxMTM2ZmFlIGluIFdU
Rjo6RnVuY3Rpb248dm9pZCgpPjo6Q2FsbGFibGVXcmFwcGVyPElQQzo6Q29ubmVjdGlvbjo6ZW5x
dWV1ZUluY29taW5nTWVzc2FnZShzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpEZWNvZGVyPik6OjxsYW1i
ZGEoKT4gPjo6Y2FsbCh2b2lkKSAodGhpcz0weDdmODc3NDdlMTRhMCkKICAgIGF0IC4uLy4uL1Nv
dXJjZS9XVEYvd3RmL0Z1bmN0aW9uLmg6MTAxCk5vIGxvY2Fscy4KIzM2IDB4MDAwMDdmODc5MTAy
Y2JmMiBpbiBXVEY6OkZ1bmN0aW9uPHZvaWQgKCk+OjpvcGVyYXRvcigpKCkgY29uc3QgKHRoaXM9
MHg3ZmZkYTkxMDIxYzgpCiAgICBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9GdW5jdGlvbi5oOjU2
CiAgICAgICAgX19QUkVUVFlfRlVOQ1RJT05fXyA9ICJPdXQgV1RGOjpGdW5jdGlvbjxPdXQoSW4g
Li4uKT46Om9wZXJhdG9yKCkoSW4gLi4uKSBjb25zdCBbd2l0aCBPdXQgPSB2b2lkOyBJbiA9IHt9
XSIKIzM3IDB4MDAwMDdmODc4ODM0MjdmZSBpbiBXVEY6OlJ1bkxvb3A6OnBlcmZvcm1Xb3JrICh0
aGlzPTB4N2Y4Nzc0N2ZjMTAwKQogICAgYXQgLi4vLi4vU291cmNlL1dURi93dGYvUnVuTG9vcC5j
cHA6MTA2CiAgICAgICAgZnVuY3Rpb24gPSB7CiAgICAgICAgICBtX2NhbGxhYmxlV3JhcHBlciA9
IHN0ZDo6dW5pcXVlX3B0cjxXVEY6OkZ1bmN0aW9uPHZvaWQoKT46OkNhbGxhYmxlV3JhcHBlckJh
c2U+IGNvbnRhaW5pbmcgMHg3Zjg3NzQ3ZTE0YTB9CiAgICAgICAgZnVuY3Rpb25zVG9IYW5kbGUg
PSAxCiMzOCAweDAwMDA3Zjg3ODgzOGQyZjIgaW4gV1RGOjpSdW5Mb29wOjo8bGFtYmRhKGdwb2lu
dGVyKT46Om9wZXJhdG9yKCkoZ3BvaW50ZXIpIGNvbnN0IChfX2Nsb3N1cmU9MHgwLCAKICAgIHVz
ZXJEYXRhPTB4N2Y4Nzc0N2ZjMTAwKSBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxv
b3BHTGliLmNwcDo2OApObyBsb2NhbHMuCiMzOSAweDAwMDA3Zjg3ODgzOGQzMTYgaW4gV1RGOjpS
dW5Mb29wOjo8bGFtYmRhKGdwb2ludGVyKT46Ol9GVU4oZ3BvaW50ZXIpICgpCiAgICBhdCAuLi8u
Li9Tb3VyY2UvV1RGL3d0Zi9nbGliL1J1bkxvb3BHTGliLmNwcDo3MApObyBsb2NhbHMuCiM0MCAw
eDAwMDA3Zjg3ODgzOGQyOTIgaW4gV1RGOjo8bGFtYmRhKEdTb3VyY2UqLCBHU291cmNlRnVuYywg
Z3BvaW50ZXIpPjo6b3BlcmF0b3IoKShHU291cmNlICosIEdTb3VyY2VGdW5jLCBncG9pbnRlcikg
Y29uc3QgKF9fY2xvc3VyZT0weDAsIHNvdXJjZT0weGI4NDU1MCwgCiAgICBjYWxsYmFjaz0weDdm
ODc4ODM4ZDJmOSA8V1RGOjpSdW5Mb29wOjo8bGFtYmRhKGdwb2ludGVyKT46Ol9GVU4oZ3BvaW50
ZXIpPiwgdXNlckRhdGE9MHg3Zjg3NzQ3ZmMxMDApCiAgICBhdCAuLi8uLi9Tb3VyY2UvV1RGL3d0
Zi9nbGliL1J1bkxvb3BHTGliLmNwcDo0NQpObyBsb2NhbHMuCiM0MSAweDAwMDA3Zjg3ODgzOGQy
YzEgaW4gV1RGOjo8bGFtYmRhKEdTb3VyY2UqLCBHU291cmNlRnVuYywgZ3BvaW50ZXIpPjo6X0ZV
TihHU291cmNlICosIEdTb3VyY2VGdW5jLCBncG9pbnRlcikgKCkgYXQgLi4vLi4vU291cmNlL1dU
Ri93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6NDYKTm8gbG9jYWxzLgojNDIgMHgwMDAwN2Y4Nzgx
NGMwN2Y2IGluIGdfbWFpbl9kaXNwYXRjaCAoY29udGV4dD0weGFmM2Q2MCkKICAgIGF0IC9ob21l
L21jYXRhbnphcm8vUHJvamVjdHMvR05PTUUvZ2xpYi9nbGliL2dtYWluLmM6MzE0OAogICAgICAg
IGRpc3BhdGNoID0gMHg3Zjg3ODgzOGQyOTQgPFdURjo6PGxhbWJkYShHU291cmNlKiwgR1NvdXJj
ZUZ1bmMsIGdwb2ludGVyKT46Ol9GVU4oR1NvdXJjZSAqLCBHU291cmNlRnVuYywgZ3BvaW50ZXIp
PgogICAgICAgIHByZXZfc291cmNlID0gMHgwCiAgICAgICAgd2FzX2luX2NhbGwgPSAwCiAgICAg
ICAgdXNlcl9kYXRhID0gMHg3Zjg3NzQ3ZmMxMDAKICAgICAgICBjYWxsYmFjayA9IDB4N2Y4Nzg4
MzhkMmY5IDxXVEY6OlJ1bkxvb3A6OjxsYW1iZGEoZ3BvaW50ZXIpPjo6X0ZVTihncG9pbnRlcik+
CiAgICAgICAgY2JfZnVuY3MgPSAweDdmODc4MTc5N2E0MCA8Z19zb3VyY2VfY2FsbGJhY2tfZnVu
Y3M+CiAgICAgICAgY2JfZGF0YSA9IDB4Yjg0NWUwCiAgICAgICAgbmVlZF9kZXN0cm95ID0gMAog
ICAgICAgIHNvdXJjZSA9IDB4Yjg0NTUwCiAgICAgICAgY3VycmVudCA9IDB4YjI1ZjQwCiAgICAg
ICAgaSA9IDAKICAgICAgICBfX2Z1bmNfXyA9ICJnX21haW5fZGlzcGF0Y2giCiM0MyAweDAwMDA3
Zjg3ODE0YzE2OTcgaW4gZ19tYWluX2NvbnRleHRfZGlzcGF0Y2ggKGNvbnRleHQ9MHhhZjNkNjAp
CiAgICBhdCAvaG9tZS9tY2F0YW56YXJvL1Byb2plY3RzL0dOT01FL2dsaWIvZ2xpYi9nbWFpbi5j
OjM4MTMKTm8gbG9jYWxzLgojNDQgMHgwMDAwN2Y4NzgxNGMxODdiIGluIGdfbWFpbl9jb250ZXh0
X2l0ZXJhdGUgKGNvbnRleHQ9MHhhZjNkNjAsIGJsb2NrPTEsIGRpc3BhdGNoPTEsIHNlbGY9MHhh
ZjU0ZjApCiAgICBhdCAvaG9tZS9tY2F0YW56YXJvL1Byb2plY3RzL0dOT01FL2dsaWIvZ2xpYi9n
bWFpbi5jOjM4ODYKICAgICAgICBtYXhfcHJpb3JpdHkgPSAyMTQ3NDgzNjQ3CiAgICAgICAgdGlt
ZW91dCA9IDI0MTAKICAgICAgICBzb21lX3JlYWR5ID0gMQogICAgICAgIG5mZHMgPSA1CiAgICAg
ICAgYWxsb2NhdGVkX25mZHMgPSA1CiAgICAgICAgZmRzID0gMHhmYWVlNDAKIzQ1IDB4MDAwMDdm
ODc4MTRjMWNhMSBpbiBnX21haW5fbG9vcF9ydW4gKGxvb3A9MHhiOGY3NTApCiAgICBhdCAvaG9t
ZS9tY2F0YW56YXJvL1Byb2plY3RzL0dOT01FL2dsaWIvZ2xpYi9nbWFpbi5jOjQwODIKICAgICAg
ICBzZWxmID0gMHhhZjU0ZjAKICAgICAgICBfX2Z1bmNfXyA9ICJnX21haW5fbG9vcF9ydW4iCiM0
NiAweDAwMDA3Zjg3ODgzOGQ3ZTAgaW4gV1RGOjpSdW5Mb29wOjpydW4gKCkgYXQgLi4vLi4vU291
cmNlL1dURi93dGYvZ2xpYi9SdW5Mb29wR0xpYi5jcHA6OTYKICAgICAgICBydW5Mb29wID0gQDB4
N2Y4Nzc0N2ZjMTAwOiB7PFdURjo6RnVuY3Rpb25EaXNwYXRjaGVyPiA9IHs8V1RGOjpUaHJlYWRT
YWZlUmVmQ291bnRlZDxXVEY6OkZ1bmN0aW9uRGlzcGF0Y2hlcj4+ID0gezxXVEY6OlRocmVhZFNh
ZmVSZWZDb3VudGVkQmFzZT4gPSB7bV9yZWZDb3VudCA9IHs8c3RkOjpfX2F0b21pY19iYXNlPHVu
c2lnbmVkIGludD4+ID0gewogICAgICAgICAgICAgICAgICAgIHN0YXRpYyBfU19hbGlnbm1lbnQg
PSA0LCBfTV9pID0gMjF9LCA8Tm8gZGF0YSBmaWVsZHM+fX0sIDxObyBkYXRhIGZpZWxkcz59LCAK
ICAgICAgICAgICAgX3ZwdHIuRnVuY3Rpb25EaXNwYXRjaGVyID0gMHg3Zjg3ODkxODJmODAgPHZ0
YWJsZSBmb3IgV1RGOjpSdW5Mb29wKzE2Pn0sIAogICAgICAgICAgbV9mdW5jdGlvblF1ZXVlTG9j
ayA9IHttX211dGV4ID0ge19fZGF0YSA9IHtfX2xvY2sgPSAwLCBfX2NvdW50ID0gMCwgX19vd25l
ciA9IDAsIAogICAgICAgICAgICAgICAgX19udXNlcnMgPSAwLCBfX2tpbmQgPSA1MTIsIF9fc3Bp
bnMgPSAwLCBfX2VsaXNpb24gPSAwLCBfX2xpc3QgPSB7X19wcmV2ID0gMHgwLCAKICAgICAgICAg
ICAgICAgICAgX19uZXh0ID0gMHgwfX0sIAogICAgICAgICAgICAgIF9fc2l6ZSA9ICdcMDAwJyA8
cmVwZWF0cyAxNyB0aW1lcz4sICJcMDAyIiwgJ1wwMDAnIDxyZXBlYXRzIDIxIHRpbWVzPiwgX19h
bGlnbiA9IDB9fSwgCiAgICAgICAgICBtX2Z1bmN0aW9uUXVldWUgPSB7bV9zdGFydCA9IDEzLCBt
X2VuZCA9IDEzLCAKICAgICAgICAgICAgbV9idWZmZXIgPSB7PFdURjo6VmVjdG9yQnVmZmVyQmFz
ZTxXVEY6OkZ1bmN0aW9uPHZvaWQoKT4sIFdURjo6RmFzdE1hbGxvYz4+ID0gewogICAgICAgICAg
ICAgICAgbV9idWZmZXIgPSAweDdmODc3NDdlMDE4MCwgbV9jYXBhY2l0eSA9IDE2LCBtX3NpemUg
PSAwfSwgPE5vIGRhdGEgZmllbGRzPn0sIAogICAgICAgICAgICBtX2l0ZXJhdG9ycyA9IDB4MH0s
IG1fbWFpbkNvbnRleHQgPSB7bV9wdHIgPSAweGFmM2Q2MH0sIAogICAgICAgICAgbV9tYWluTG9v
cHMgPSB7PFdURjo6VmVjdG9yQnVmZmVyPFdURjo6R1JlZlB0cjxfR01haW5Mb29wPiwgMCwgV1RG
OjpGYXN0TWFsbG9jPj4gPSB7PFdURjo6VmVjdG9yQnVmZmVyQmFzZTxXVEY6OkdSZWZQdHI8X0dN
YWluTG9vcD4sIFdURjo6RmFzdE1hbGxvYz4+ID0ge21fYnVmZmVyID0gMHg3Zjg3NzQ3ZmMxODAs
IG1fY2FwYWNpdHkgPSAxNiwgCiAgICAgICAgICAgICAgICBtX3NpemUgPSAxfSwgPE5vIGRhdGEg
ZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCBtX3NvdXJjZSA9IHttX3B0ciA9IDB4Yjg0NTUw
fX0KICAgICAgICBtYWluQ29udGV4dCA9IDB4YWYzZDYwCiAgICAgICAgX19QUkVUVFlfRlVOQ1RJ
T05fXyA9ICJzdGF0aWMgdm9pZCBXVEY6OlJ1bkxvb3A6OnJ1bigpIgogICAgICAgIGlubmVybW9z
dExvb3AgPSAweGI4Zjc1MAogICAgICAgIG5lc3RlZE1haW5Mb29wID0gMHg3ZmZkYTkxMDI0MDcK
IzQ3IDB4MDAwMDdmODc5MTg2OWE3NyBpbiBXZWJLaXQ6OkNoaWxkUHJvY2Vzc01haW48V2ViS2l0
OjpXZWJQcm9jZXNzLCBXZWJLaXQ6OldlYlByb2Nlc3NNYWluPiAoYXJnYz0yLCAKICAgIGFyZ3Y9
MHg3ZmZkYTkxMDI1YzgpIGF0IC4uLy4uL1NvdXJjZS9XZWJLaXQvU2hhcmVkL3VuaXgvQ2hpbGRQ
cm9jZXNzTWFpbi5oOjYxCiAgICAgICAgY2hpbGRNYWluID0gezxXZWJLaXQ6OkNoaWxkUHJvY2Vz
c01haW5CYXNlPiA9IHsKICAgICAgICAgICAgX3ZwdHIuQ2hpbGRQcm9jZXNzTWFpbkJhc2UgPSAw
eDdmODc5ODA3YjIwMCA8dnRhYmxlIGZvciBXZWJLaXQ6OldlYlByb2Nlc3NNYWluKzE2PiwgCiAg
ICAgICAgICAgIG1fcGFyYW1ldGVycyA9IHt1aVByb2Nlc3NOYW1lID0ge21faW1wbCA9IHtzdGF0
aWMgaXNSZWZQdHIgPSA8b3B0aW1pemVkIG91dD4sIAogICAgICAgICAgICAgICAgICBtX3B0ciA9
IDB4MH19LCBjbGllbnRJZGVudGlmaWVyID0ge21faW1wbCA9IHtzdGF0aWMgaXNSZWZQdHIgPSA8
b3B0aW1pemVkIG91dD4sIAogICAgICAgICAgICAgICAgICBtX3B0ciA9IDB4MH19LCBjb25uZWN0
aW9uSWRlbnRpZmllciA9IDE1LCBleHRyYUluaXRpYWxpemF0aW9uRGF0YSA9IHttX2ltcGwgPSB7
CiAgICAgICAgICAgICAgICAgIHN0YXRpYyBtX21heExvYWQgPSAyLCBzdGF0aWMgbV9taW5Mb2Fk
ID0gNiwgbV90YWJsZSA9IDB4MCwgbV90YWJsZVNpemUgPSAwLCAKICAgICAgICAgICAgICAgICAg
bV90YWJsZVNpemVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENvdW50ID0gMCwg
bV9pdGVyYXRvcnMgPSAweDAsIAogICAgICAgICAgICAgICAgICBtX211dGV4ID0gc3RkOjp1bmlx
dWVfcHRyPFdURjo6TG9jaz4gY29udGFpbmluZyAweDdmODc3NDdmZjAwOH19fX0sIDxObyBkYXRh
IGZpZWxkcz59CiM0OCAweDAwMDA3Zjg3OTE4Njk5MjkgaW4gV2ViS2l0OjpXZWJQcm9jZXNzTWFp
blVuaXggKGFyZ2M9MiwgYXJndj0weDdmZmRhOTEwMjVjOCkKICAgIGF0IC4uLy4uL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwOjY5Ck5vIGxvY2Fscy4K
IzQ5IDB4MDAwMDAwMDAwMDQwMGQwMiBpbiBtYWluIChhcmdjPTIsIGFyZ3Y9MHg3ZmZkYTkxMDI1
YzgpCiAgICBhdCAuLi8uLi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvRW50cnlQb2ludC91bml4
L1dlYlByb2Nlc3NNYWluLmNwcDo1MgpObyBsb2NhbHMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324957</attachid>
            <date>2017-10-25 21:57:12 -0700</date>
            <delta_ts>2017-10-27 00:04:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177808-20171025235711.patch</filename>
            <type>text/plain</type>
            <size>2131</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzOTk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDU5Y2MxZGMwYTRlNTE2
OWVkMDMyMzBmNzI3N2VlODNmOGM3NDExMS4uYzBiYjFkMmMyZGRjYTBjMzEzZTU3ZDYwM2NkNTYz
YjhkMDM5OTA4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE3LTEwLTI1ICBNaWNo
YWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBD
cmFzaCBpbiBXZWJDb3JlOjpTZWxlY3Rpb25SYW5nZURhdGE6OmFwcGx5CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc4MDgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgcHJvYmxlbSBhcHBlYXJzIHRv
IGJlIGEgbmFtZSBjb2xsaXNpb24gYmV0d2VlbiBXZWJDb3JlOjpTZWxlY3Rpb25EYXRhIGFuZAor
ICAgICAgICBXZWJDb3JlOjpTZWxlY3Rpb25EYXRhLiBZZXMsIHRob3NlIGFyZSB0aGUgc2FtZSBu
YW1lcy4gSXQgc2VlbXMgdGhlIGRlc3RydWN0b3IgZm9yIGEKKyAgICAgICAgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3RrL1NlbGVjdGlvbkRhdGEuaCBTZWxlY3Rpb25EYXRhIGlzIGJlaW5nIGNh
bGxlZCBvbiBhCisgICAgICAgIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TZWxlY3Rpb25SYW5n
ZURhdGEuY3BwIFNlbGVjdGlvbkRhdGEuIFlpa2VzLiBDYW4geW91IGZvcmdpdmUgdGhlCisgICAg
ICAgIHBvb3IgbGlua2VyIGZvciBub3QgYmVpbmcgbWFnaWM/CisKKyAgICAgICAgVGhpcyBmaXhl
cyBjcmFzaGVzIGluIGFwcHJveGltYXRlbHkgb25lIGJhamlsbGlvbiB0ZXN0cy4KKworICAgICAg
ICAqIHJlbmRlcmluZy9TZWxlY3Rpb25SYW5nZURhdGEuY3BwOiBNb3ZlIFNlbGVjdGlvbkRhdGEg
aW50byBhbiBhbm9ueW1vdXMgbmFtZXNwYWNlLgorCiAyMDE3LTEwLTI1ICBSeW9zdWtlIE5pd2Eg
IDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFN0eWxlOjpTY29wZTo6Zmx1c2hQZW5kaW5n
VXBkYXRlKCkgY2FuIHJlcGxhY2UgdGhlIGVudGlyZSBkb2N1bWVudCBpbiBYU0xUUHJvY2Vzc29y
OjpjcmVhdGVEb2N1bWVudEZyb21Tb3VyY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9TZWxlY3Rpb25SYW5nZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1NlbGVjdGlvblJhbmdlRGF0YS5jcHAKaW5kZXggYTM4YWRjZDhjOWNkMGJkMDU5OWFkYmZhZmM0
YmM0NmQ4ZWQwZDQ1NC4uYWFjZjVlODRhNmU3YzRhMWRmODQ1MGNiOWVjZDc3NTJlMzdlZWMyZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NlbGVjdGlvblJhbmdlRGF0YS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NlbGVjdGlvblJhbmdlRGF0YS5jcHAK
QEAgLTQyLDcgKzQyLDkgQEAKICNpbmNsdWRlICJWaXNpYmxlU2VsZWN0aW9uLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKLSAgICAKKworbmFtZXNwYWNlIHsgLy8gU2VlIGJ1ZyAjMTc3ODA4Lgor
CiBzdHJ1Y3QgU2VsZWN0aW9uRGF0YSB7CiAgICAgdXNpbmcgUmVuZGVyZXJNYXAgPSBIYXNoTWFw
PFJlbmRlck9iamVjdCosIHN0ZDo6dW5pcXVlX3B0cjxSZW5kZXJTZWxlY3Rpb25JbmZvPj47CiAg
ICAgdXNpbmcgUmVuZGVyQmxvY2tNYXAgPSBIYXNoTWFwPGNvbnN0IFJlbmRlckJsb2NrKiwgc3Rk
Ojp1bmlxdWVfcHRyPFJlbmRlckJsb2NrU2VsZWN0aW9uSW5mbz4+OwpAQCAtOTQsNiArOTYsOCBA
QCBwcml2YXRlOgogICAgIFZlY3RvcjxSZW5kZXJNdWx0aUNvbHVtblNwYW5uZXJQbGFjZWhvbGRl
cio+IG1fc3Bhbm5lclN0YWNrOwogfTsKIAorfSAvLyBhbm9ueW1vdXMgbmFtZXNwYWNlCisKIHN0
YXRpYyBSZW5kZXJPYmplY3QqIHJlbmRlcmVyQWZ0ZXJQb3NpdGlvbihjb25zdCBSZW5kZXJPYmpl
Y3QmIHJlbmRlcmVyLCB1bnNpZ25lZCBvZmZzZXQpCiB7CiAgICAgYXV0byogY2hpbGQgPSByZW5k
ZXJlci5jaGlsZEF0KG9mZnNldCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>