<?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>128743</bug_id>
          
          <creation_ts>2014-02-13 07:59:59 -0800</creation_ts>
          <short_desc>[JSC] Crash in LLInt CLoop on S390X</short_desc>
          <delta_ts>2014-05-15 20:55:15 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>131449</dependson>
    
    <dependson>131495</dependson>
    
    <dependson>132330</dependson>
    
    <dependson>132333</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tomas Popela">tpopela</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mgorse</cc>
    
    <cc>pochu27</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>980299</commentid>
    <comment_count>0</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-02-13 07:59:59 -0800</bug_when>
    <thetext>JSC in GTK port is crashing on S390X in JSC::LLInt::CLoop::execute. The crash occurs when you open Yelp (Gnome help) and it loads the JQuery. It can be reproduced on WebKitGTK+ 2.0.x and 2.2.x, but the crash is different as on 2.0.x it is crashing in getScope macro ( http://trac.webkit.org/browser/releases/WebKitGTK/webkit-2.0.4/Source/JavaScriptCore/llint/LowLevelInterpreter.asm#L588 ) that was removed before 2.2.x. In 2.2.x it is crashing in getById macro ( http://trac.webkit.org/browser/releases/WebKitGTK/webkit-2.2.4/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm#L867 ) - t3 is empty there. The backtraces and LLIntAssambly.h are attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980300</commentid>
    <comment_count>1</comment_count>
      <attachid>224070</attachid>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-02-13 08:00:29 -0800</bug_when>
    <thetext>Created attachment 224070
Crash from 2.0.4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980301</commentid>
    <comment_count>2</comment_count>
      <attachid>224071</attachid>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-02-13 08:00:50 -0800</bug_when>
    <thetext>Created attachment 224071
Crash from 2.2.4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980302</commentid>
    <comment_count>3</comment_count>
      <attachid>224072</attachid>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-02-13 08:01:31 -0800</bug_when>
    <thetext>Created attachment 224072
LLIntAssambly.h for 2.0.4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980303</commentid>
    <comment_count>4</comment_count>
      <attachid>224073</attachid>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-02-13 08:01:53 -0800</bug_when>
    <thetext>Created attachment 224073
LLIntAssambly.h for 2.2.4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981608</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-02-17 12:06:07 -0800</bug_when>
    <thetext>I can&apos;t reproduce this issue on Mac x86_64 with the C loop.  yelp.com loads and runs fine.  Looks like this is a S390X specific issue, and needs to be debugged on your side.

Here&apos;s a tip for debugging: with the C loop LLINT, you can use a LLINT pseudo instructions &quot;cloopDo&quot;.  For example:
    cloopDo // print(&quot;I was here\n&quot;);

Whatever you put in the // comment after the cloopDo instruction will be inserted into the generated LLINT instruction stream verbatim.  You can use this mechanism to do some debugging.  For example, you can insert printfs to dump the values of relevant CLoopRegisters, and see if they are what you expect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981612</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-02-17 12:12:17 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; I can&apos;t reproduce this issue on Mac x86_64 with the C loop.  yelp.com loads and runs fine.  Looks like this is a S390X specific issue, and needs to be debugged on your side.
&gt; 
&gt; Here&apos;s a tip for debugging: with the C loop LLINT, you can use a LLINT pseudo instructions &quot;cloopDo&quot;.  For example:
&gt;     cloopDo // print(&quot;I was here\n&quot;);
&gt; 
&gt; Whatever you put in the // comment after the cloopDo instruction will be inserted into the generated LLINT instruction stream verbatim.  You can use this mechanism to do some debugging.  For example, you can insert printfs to dump the values of relevant CLoopRegisters, and see if they are what you expect.

Which way do the endians go on S390X?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981812</commentid>
    <comment_count>7</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-02-18 00:07:27 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; I can&apos;t reproduce this issue on Mac x86_64 with the C loop.  yelp.com loads and runs fine.  Looks like this is a S390X specific issue, and needs to be debugged on your side.

Sorry Mark I had to write more clearly it&apos;s application Yelp - https://wiki.gnome.org/Apps/Yelp not Yelp.com

&gt; 
&gt; Here&apos;s a tip for debugging: with the C loop LLINT, you can use a LLINT pseudo instructions &quot;cloopDo&quot;.  For example:
&gt;     cloopDo // print(&quot;I was here\n&quot;);
&gt; 
&gt; Whatever you put in the // comment after the cloopDo instruction will be inserted into the generated LLINT instruction stream verbatim.  You can use this mechanism to do some debugging.  For example, you can insert printfs to dump the values of relevant CLoopRegisters, and see if they are what you expect.

Thank you for the info. I will try it. Clearly there is something wrong with registers, as on 2.2.x the t3 register is empty (and I&apos;m pretty sure it shouldn&apos;t be)..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>981815</commentid>
    <comment_count>8</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-02-18 00:11:24 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; I can&apos;t reproduce this issue on Mac x86_64 with the C loop.  yelp.com loads and runs fine.  Looks like this is a S390X specific issue, and needs to be debugged on your side.
&gt; &gt; 
&gt; &gt; Here&apos;s a tip for debugging: with the C loop LLINT, you can use a LLINT pseudo instructions &quot;cloopDo&quot;.  For example:
&gt; &gt;     cloopDo // print(&quot;I was here\n&quot;);
&gt; &gt; 
&gt; &gt; Whatever you put in the // comment after the cloopDo instruction will be inserted into the generated LLINT instruction stream verbatim.  You can use this mechanism to do some debugging.  For example, you can insert printfs to dump the values of relevant CLoopRegisters, and see if they are what you expect.
&gt; 
&gt; Which way do the endians go on S390X?

Hi Filip,
the S390X is 64bit Big Endian - http://en.wikipedia.org/wiki/Z/Architecture</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985289</commentid>
    <comment_count>9</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-02-27 11:51:31 -0800</bug_when>
    <thetext>Some news. It&apos;s crashing even on PowerPC (64bit) so it looks like big endian issue. Also it&apos;s not just crashing in Yelp, but on any site opened in GtkLauncher or on empty site just when invoking the inspector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985290</commentid>
    <comment_count>10</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-02-27 11:54:48 -0800</bug_when>
    <thetext>Also it&apos;s crashing in 2.3.90 that was branched from trunk ~ 3 weeks ago - https://trac.webkit.org/changeset/163300</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985291</commentid>
    <comment_count>11</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-02-27 11:55:18 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Some news. It&apos;s crashing even on PowerPC (64bit) so it looks like big endian issue. Also it&apos;s not just crashing in Yelp, but on any site opened in GtkLauncher or on empty site just when invoking the inspector.

The LLINT and some other parts of JSC make incorrect assumptions about endianness. This isn&apos;t a systemic problem; I think it&apos;s just a handful of places that incorrectly assume that the offset of the low bits is zero. These have crept in because JSC is mainly just tested on little endian hardware. 

I can&apos;t really fix these issues myself because I don&apos;t have access to any big endian hardware. But, if you could devote some time to finding where we&apos;re goofing things up, then certainly we would be happy to accept such fixes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>985296</commentid>
    <comment_count>12</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-02-27 12:11:37 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #9)
&gt; &gt; Some news. It&apos;s crashing even on PowerPC (64bit) so it looks like big endian issue. Also it&apos;s not just crashing in Yelp, but on any site opened in GtkLauncher or on empty site just when invoking the inspector.
&gt; 
&gt; The LLINT and some other parts of JSC make incorrect assumptions about endianness. This isn&apos;t a systemic problem; I think it&apos;s just a handful of places that incorrectly assume that the offset of the low bits is zero. These have crept in because JSC is mainly just tested on little endian hardware. 
&gt; 
&gt; I can&apos;t really fix these issues myself because I don&apos;t have access to any big endian hardware. But, if you could devote some time to finding where we&apos;re goofing things up, then certainly we would be happy to accept such fixes.

As I have access to big endian hardware and I definitely could devote time to fix these issues. But I will need some help in beginnings, and I will contact you off the bugzilla..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999271</commentid>
    <comment_count>13</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-04-09 13:25:45 -0700</bug_when>
    <thetext>I&apos;ve implemented a fix for a ProtoCallFrame endianness issue in https://bugs.webkit.org/show_bug.cgi?id=131449 based on information that Tomas provided offline.  Please re-test to see if there are any outstanding issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999492</commentid>
    <comment_count>14</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-04-10 04:10:10 -0700</bug_when>
    <thetext>Mark thanks for the fix. Now the easy things like 1+1 are working in jsc. But it looks like there are more places like this. Use a=1 and a+1 in jsc and you will get a crash. Wrong value is taken in getProperty() macro on line loadisFromInstruction(6, t0). Changing it to loadpFromInstruction fixes it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999578</commentid>
    <comment_count>15</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-04-10 10:51:54 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Wrong value is taken in getProperty() macro on line loadisFromInstruction(6, t0). Changing it to loadpFromInstruction fixes it.

Fixed in https://bugs.webkit.org/show_bug.cgi?id=131495.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000453</commentid>
    <comment_count>16</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2014-04-14 02:41:18 -0700</bug_when>
    <thetext>Ok, so after https://bugs.webkit.org/show_bug.cgi?id=131495 the jsc doesn&apos;t handle anything - it is crashing. The problem is that when it hits the loadisFromInstruction (XXX, register) where XXX != 6 the right data are 4 bytes back than counted offset (thus it is loading bad data). It looks like solution introduced in https://bugs.webkit.org/show_bug.cgi?id=131495 cannot be applied globally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1009707</commentid>
    <comment_count>17</comment_count>
    <who name="Mike Gorse">mgorse</who>
    <bug_when>2014-05-15 20:55:15 -0700</bug_when>
    <thetext>For get_from_scope and probably put_to_scope, bytecode/CodeBlock.cpp has code that writes a pointer to the instruction at +6. Sometimes it is an actual pointer, and sometimes it is an integer offset cast to a pointer. But sometimes the offset is added later in llint/LLIntSlowPaths.cpp, and there it the instruction&apos;s operand is set. These code paths need to be made to behave consistently; otherwise a big-endian system will sometimes have the offset in the low word and sometimes in the high word.

I have a patch that modifies the code in LLIntSlowPaths.cpp to cast to a pointer and changes the loadisfrominstruction in getProperty and putProperty to loadpfrominstruction. I don&apos;t really understand the code and don&apos;t know if this is the best way to fix it, and I&apos;m holding off on ataching it because I haven&apos;t tried to run the tests yet, although it fixes the crash that I&apos;m seeing, when combined with adjusting the commit size (that&apos;s a separate bug; not sure if it is filed here yet or not).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>224070</attachid>
            <date>2014-02-13 08:00:29 -0800</date>
            <delta_ts>2014-02-13 08:00:29 -0800</delta_ts>
            <desc>Crash from 2.0.4</desc>
            <filename>gdb_2_0_4.txt</filename>
            <type>text/plain</type>
            <size>10996</size>
            <attacher name="Tomas Popela">tpopela</attacher>
            
              <data encoding="base64">U3RhcnRpbmcgcHJvZ3JhbTogL2Jpbi95ZWxwIApUcmFjZWJhY2sgKG1vc3QgcmVjZW50IGNhbGwg
bGFzdCk6CiAgRmlsZSAiL3Vzci9zaGFyZS9nZGIvYXV0by1sb2FkL3Vzci9saWI2NC9saWJnb2Jq
ZWN0LTIuMC5zby4wLjM2MDAuMy1nZGIucHkiLCBsaW5lIDksIGluIDxtb2R1bGU+CiAgICBmcm9t
IGdvYmplY3QgaW1wb3J0IHJlZ2lzdGVyCiAgRmlsZSAiL3Vzci9zaGFyZS9nbGliLTIuMC9nZGIv
Z29iamVjdC5weSIsIGxpbmUgMywgaW4gPG1vZHVsZT4KICAgIGltcG9ydCBnZGIuYmFja3RyYWNl
CkltcG9ydEVycm9yOiBObyBtb2R1bGUgbmFtZWQgYmFja3RyYWNlCltUaHJlYWQgZGVidWdnaW5n
IHVzaW5nIGxpYnRocmVhZF9kYiBlbmFibGVkXQpVc2luZyBob3N0IGxpYnRocmVhZF9kYiBsaWJy
YXJ5ICIvbGliNjQvbGlidGhyZWFkX2RiLnNvLjEiLgpNaXNzaW5nIHNlcGFyYXRlIGRlYnVnaW5m
byBmb3IgL2xpYjY0L2xpYmdyYXBoaXRlMi5zby4zClRyeTogeXVtIC0tZW5hYmxlcmVwbz0nKmRl
YnVnKicgaW5zdGFsbCAvdXNyL2xpYi9kZWJ1Zy8uYnVpbGQtaWQvYTQvZWI2ZWRiMTQ1YzQ2OTNi
ZmE4Mzc0ZjJkOGUxMzVlNzY0YzM0ODguZGVidWcKW05ldyBUaHJlYWQgMHgzZmZmMWJmNjkxMCAo
TFdQIDM4NzUpXQpbTmV3IFRocmVhZCAweDNmZmYwOTRhOTEwIChMV1AgMzg3NildCltOZXcgVGhy
ZWFkIDB4M2ZmZTdjYTU5MTAgKExXUCAzODc3KV0KW1RocmVhZCAweDNmZmU3Y2E1OTEwIChMV1Ag
Mzg3NykgZXhpdGVkXQpbTmV3IFRocmVhZCAweDNmZmU3Y2E1OTEwIChMV1AgMzg3OCldCltOZXcg
VGhyZWFkIDB4M2ZmZTcwMjU5MTAgKExXUCAzODc5KV0KW05ldyBUaHJlYWQgMHgzZmZlNjdiZTkx
MCAoTFdQIDM4ODApXQpbTmV3IFRocmVhZCAweDNmZmU1ZmEyOTEwIChMV1AgMzg4MSldCltUaHJl
YWQgMHgzZmZlNjdiZTkxMCAoTFdQIDM4ODApIGV4aXRlZF0KW1RocmVhZCAweDNmZmU1ZmEyOTEw
IChMV1AgMzg4MSkgZXhpdGVkXQpbTmV3IFRocmVhZCAweDNmZmU1ZmEyOTEwIChMV1AgMzg4Mild
CltOZXcgVGhyZWFkIDB4M2ZmZTY3YmU5MTAgKExXUCAzODgzKV0KClByb2dyYW0gcmVjZWl2ZWQg
c2lnbmFsIFNJR1NFR1YsIFNlZ21lbnRhdGlvbiBmYXVsdC4KMHgwMDAwMDNmZmZhZDdlZmU2IGlu
IEpTQzo6TExJbnQ6OkNMb29wOjpleGVjdXRlIChjYWxsRnJhbWU9MHgzZmZlNGYzZjUxOCwgYm9v
dHN0cmFwT3Bjb2RlSWQ9Mzg0MTE5MzI0MCwgaXNJbml0aWFsaXphdGlvblBhc3M9ZmFsc2UpCiAg
ICBhdCBEZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZS9MTEludEFzc2VtYmx5Lmg6MzkwNgoz
OTA2CSAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAxNik7ICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo1ODgKIzAgIDB4MDAwMDAzZmZmYWQ3ZWZlNiBpbiBKU0M6OkxMSW50OjpDTG9vcDo6
ZXhlY3V0ZSAoY2FsbEZyYW1lPTB4M2ZmZTRmM2Y1MTgsIGJvb3RzdHJhcE9wY29kZUlkPTM4NDEx
OTMyNDAsIGlzSW5pdGlhbGl6YXRpb25QYXNzPWZhbHNlKQogICAgYXQgRGVyaXZlZFNvdXJjZXMv
SmF2YVNjcmlwdENvcmUvTExJbnRBc3NlbWJseS5oOjM5MDYKICAgICAgICB0MCA9IHt7aSA9IDQz
OTc1ODQ0MDg2MjQsIHUgPSA0Mzk3NTg0NDA4NjI0LCB7aTMycGFkZGluZyA9IDEwMjMsIGkzMiA9
IC00NjIxMDI0ODB9LCB7dTMycGFkZGluZyA9IDEwMjMsIHUzMiA9IDM4MzI4NjQ4MTZ9LCB7CiAg
ICAgICAgICAgICAgaThwYWRkaW5nID0gIlwwMDBcMDAwXDAwM1wzNzdcMzQ0IiwgPGluY29tcGxl
dGUgc2VxdWVuY2UgXDM0MD4sIGk4ID0gNDggJzAnfSwgewogICAgICAgICAgICAgIHU4cGFkZGlu
ZyA9ICJcMDAwXDAwMFwwMDNcMzc3XDM0NCIsIDxpbmNvbXBsZXRlIHNlcXVlbmNlIFwzNDA+LCB1
OCA9IDQ4ICcwJ30sIGk4cCA9IDB4M2ZmZTQ3NGUwMzAgIiIsIHZwID0gMHgzZmZlNDc0ZTAzMCwg
CiAgICAgICAgICAgIGV4ZWNTdGF0ZSA9IDB4M2ZmZTQ3NGUwMzAsIGluc3RydWN0aW9uID0gMHgz
ZmZlNDc0ZTAzMCwgbmF0aXZlRnVuYyA9IDB4M2ZmZTQ3NGUwMzAsIGk2NCA9IDQzOTc1ODQ0MDg2
MjQsIHU2NCA9IDQzOTc1ODQ0MDg2MjQsIAogICAgICAgICAgICBlbmNvZGVkSlNWYWx1ZSA9IDQz
OTc1ODQ0MDg2MjQsIGNhc3RUb0RvdWJsZSA9IDIuMTcyNjk1MzgwOTg4MjEyOGUtMzExLCBvcGNv
ZGUgPSAweDNmZmU0NzRlMDMwfX0KICAgICAgICB0MSA9IHt7aSA9IC0xOTg2NjU0MzAyNjMzOTg0
MDAwLCB1ID0gMTY0NjAwODk3NzEwNzU1Njc2MTYsIHtpMzJwYWRkaW5nID0gLTQ2MjU1NDAwMCwg
aTMyID0gMH0sIHt1MzJwYWRkaW5nID0gMzgzMjQxMzI5NiwgdTMyID0gMH0sIHsKICAgICAgICAg
ICAgICBpOHBhZGRpbmcgPSAiXDM0NG1cMzc0cFwwMDBcMDAwIiwgaTggPSAwICdcMDAwJ30sIHt1
OHBhZGRpbmcgPSAiXDM0NG1cMzc0cFwwMDBcMDAwIiwgdTggPSAwICdcMDAwJ30sIAogICAgICAg
ICAgICBpOHAgPSAweGU0NmRmYzcwMDAwMDAwMDAgPEFkZHJlc3MgMHhlNDZkZmM3MDAwMDAwMDAw
IG91dCBvZiBib3VuZHM+LCB2cCA9IDB4ZTQ2ZGZjNzAwMDAwMDAwMCwgZXhlY1N0YXRlID0gMHhl
NDZkZmM3MDAwMDAwMDAwLCAKICAgICAgICAgICAgaW5zdHJ1Y3Rpb24gPSAweGU0NmRmYzcwMDAw
MDAwMDAsIG5hdGl2ZUZ1bmMgPSAweGU0NmRmYzcwMDAwMDAwMDAsIGk2NCA9IC0xOTg2NjU0MzAy
NjMzOTg0MDAwLCB1NjQgPSAxNjQ2MDA4OTc3MTA3NTU2NzYxNiwgCiAgICAgICAgICAgIGVuY29k
ZWRKU1ZhbHVlID0gLTE5ODY2NTQzMDI2MzM5ODQwMDAsIGNhc3RUb0RvdWJsZSA9IC01LjkzMzE3
NjE1MjM2OTM1OWUrMTc1LCBvcGNvZGUgPSAweGU0NmRmYzcwMDAwMDAwMDB9fQogICAgICAgIHQy
ID0ge3tpID0gMSwgdSA9IDEsIHtpMzJwYWRkaW5nID0gMCwgaTMyID0gMX0sIHt1MzJwYWRkaW5n
ID0gMCwgdTMyID0gMX0sIHtpOHBhZGRpbmcgPSAiXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIiwg
aTggPSAxICdcMDAxJ30sIHsKICAgICAgICAgICAgICB1OHBhZGRpbmcgPSAiXDAwMFwwMDBcMDAw
XDAwMFwwMDBcMDAwIiwgdTggPSAxICdcMDAxJ30sIGk4cCA9IDB4MSA8QWRkcmVzcyAweDEgb3V0
IG9mIGJvdW5kcz4sIHZwID0gMHgxLCBleGVjU3RhdGUgPSAweDEsIAogICAgICAgICAgICBpbnN0
cnVjdGlvbiA9IDB4MSwgbmF0aXZlRnVuYyA9IDB4MSwgaTY0ID0gMSwgdTY0ID0gMSwgZW5jb2Rl
ZEpTVmFsdWUgPSAxLCBjYXN0VG9Eb3VibGUgPSA0Ljk0MDY1NjQ1ODQxMjQ2NTRlLTMyNCwgb3Bj
b2RlID0gMHgxfX0KICAgICAgICB0MyA9IHt7aSA9IDEsIHUgPSAxLCB7aTMycGFkZGluZyA9IDAs
IGkzMiA9IDF9LCB7dTMycGFkZGluZyA9IDAsIHUzMiA9IDF9LCB7aThwYWRkaW5nID0gIlwwMDBc
MDAwXDAwMFwwMDBcMDAwXDAwMCIsIGk4ID0gMSAnXDAwMSd9LCB7CiAgICAgICAgICAgICAgdThw
YWRkaW5nID0gIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCIsIHU4ID0gMSAnXDAwMSd9LCBpOHAg
PSAweDEgPEFkZHJlc3MgMHgxIG91dCBvZiBib3VuZHM+LCB2cCA9IDB4MSwgZXhlY1N0YXRlID0g
MHgxLCAKICAgICAgICAgICAgaW5zdHJ1Y3Rpb24gPSAweDEsIG5hdGl2ZUZ1bmMgPSAweDEsIGk2
NCA9IDEsIHU2NCA9IDEsIGVuY29kZWRKU1ZhbHVlID0gMSwgY2FzdFRvRG91YmxlID0gNC45NDA2
NTY0NTg0MTI0NjU0ZS0zMjQsIG9wY29kZSA9IDB4MX19CiAgICAgICAgdlBDID0gMHgxNmUKIzEg
IDB4MDAwMDAzZmZmYWQ2MDNhNiBpbiBKU0M6OkludGVycHJldGVyOjpleGVjdXRlICh0aGlzPTB4
M2ZmZjAwNDE0MDAsIHByb2dyYW09MHgzZmZlNDg1ZmY2MCwgY2FsbEZyYW1lPTB4M2ZmZTQ5N2Y2
NzgsIAogICAgdGhpc09iaj0weDNmZmU0OWFmZmQ4KSBhdCBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwOjk4NQogICAgICAgIHNjb3BlID0gMHgzZmZlNDk3
ZjQ3MAogICAgICAgIGdsb2JhbERhdGEgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBwb2xpY3kg
PSB7bV9pbnRlcnByZXRlciA9IEAweDNmZmYwMDQxNDAwLCBtX3JlcXVpcmVkQ2FwYWNpdHkgPSAx
MDQ4NTc2fQogICAgICAgIEpTT05QRGF0YSA9IFB5dGhvbiBFeGNlcHRpb24gPGNsYXNzICdnZGIu
ZXJyb3InPiBUaGVyZSBpcyBubyBtZW1iZXIgb3IgbWV0aG9kIG5hbWVkIG1fY2FwYWNpdHkuOiAK
CiAgICAgICAgcHJvZ3JhbVNvdXJjZSA9ICIvKiFcbiAqIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJh
cnkgdjEuNC40XG4gKiBodHRwOi8vanF1ZXJ5LmNvbS9cbiAqXG4gKiBDb3B5cmlnaHQgMjAxMCwg
Sm9obiBSZXNpZ1xuICogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9u
IDIgbGljZW5zZXMuXG4gKiBodHRwOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogSW5jbHVk
ZXMgU2l6eiIuLi4KICAgICAgICBuYXRpdmVTdGFjayA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAg
IGdsb2JhbE9iamVjdFNjb3BlID0ge21fZHluYW1pY0dsb2JhbE9iamVjdFNsb3QgPSBAMHgzZmZm
MDBjYTljOCwgbV9zYXZlZER5bmFtaWNHbG9iYWxPYmplY3QgPSAweDB9CiAgICAgICAgcGFyc2VS
ZXN1bHQgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBzYW1wbGluZ1Njb3BlID0ge21faW50ZXJw
cmV0ZXIgPSAweDNmZmYwMDQxNDAwfQogICAgICAgIGNvZGVCbG9jayA9IDB4M2ZmZjAxMTcyMDAK
ICAgICAgICByZXN1bHQgPSA8b3B0aW1pemVkIG91dD4KIzIgIDB4MDAwMDAzZmZmYWUzMDgwNCBp
biBKU0M6OmV2YWx1YXRlIChleGVjPTB4M2ZmZTQ5N2Y2NzgsIHNvdXJjZT0uLi4sIHRoaXNWYWx1
ZT0uLi4sIHJldHVybmVkRXhjZXB0aW9uPTB4M2ZmZmZmZmU2MjApCiAgICBhdCBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9Db21wbGV0aW9uLmNwcDo3NQogICAgICAgIHByb2ZpbGUgPSB7
bV9hY3RpdmUgPSBmYWxzZSwgc3RhdGljIHNfbW9kZSA9IEpTQzo6Q29kZVByb2ZpbGluZzo6RGlz
YWJsZWQsIHN0YXRpYyBzX3RyYWNrZXIgPSAweDAsIHN0YXRpYyBzX3Byb2ZpbGVTdGFjayA9IDB4
MH0KICAgICAgICBsb2NrID0ge21fZ2xvYmFsRGF0YSA9IHttX3B0ciA9IDB4M2ZmZjAwYzAwMDB9
fQogICAgICAgIHJlc3VsdCA9IDxvcHRpbWl6ZWQgb3V0PgojMyAgMHgwMDAwMDNmZmZjMzJjNjkw
IGluIGV2YWx1YXRlIChleGNlcHRpb249MHgzZmZmZmZmZTYyMCwgdGhpc1ZhbHVlPS4uLiwgc291
cmNlPS4uLiwgZXhlYz0weDNmZmU0OTdmNjc4KQogICAgYXQgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmg6NzcKICAgICAgICBsb2NrID0ge21fZ2xvYmFs
RGF0YSA9IHttX3B0ciA9IDB4M2ZmZjAwYzAwMDB9fQojNCAgV2ViQ29yZTo6U2NyaXB0Q29udHJv
bGxlcjo6ZXZhbHVhdGVJbldvcmxkICh0aGlzPTB4M2ZmZjAwNWQ4YTgsIHNvdXJjZUNvZGU9Li4u
LCB3b3JsZD08b3B0aW1pemVkIG91dD4pCiAgICBhdCBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRDb250cm9sbGVyLmNwcDoxNDEKICAgICAgICBleGVjID0gMHgzZmZlNDk3ZjY3OAog
ICAgICAgIGNvb2tpZSA9IHttX2luc3RydW1lbnRpbmdBZ2VudHMgPSB7bV9wdHIgPSAweDB9LCBt
X3RpbWVsaW5lQWdlbnRJZCA9IDB9CiAgICAgICAgZXZhbHVhdGlvbkV4Y2VwdGlvbiA9IHt1ID0g
e2FzSW50NjQgPSAwLCBwdHIgPSAweDAsIGFzQml0cyA9IHt0YWcgPSAwLCBwYXlsb2FkID0gMH19
fQogICAgICAgIGpzU291cmNlQ29kZSA9IEAweDNmZmZmZmZlODkwOiB7bV9wcm92aWRlciA9IHtt
X3B0ciA9IDB4M2ZmZTRlNTE1ZTh9LCBtX3N0YXJ0Q2hhciA9IDAsIG1fZW5kQ2hhciA9IDE4MzE4
NCwgbV9maXJzdExpbmUgPSAxfQogICAgICAgIHNhdmVkU291cmNlVVJMID0gMHgwCiAgICAgICAg
bG9jayA9IHttX2dsb2JhbERhdGEgPSB7bV9wdHIgPSAweDNmZmYwMGMwMDAwfX0KICAgICAgICBz
b3VyY2VVUkwgPSAiZmlsZTovLy91c3Ivc2hhcmUveWVscC14c2wvanMvanF1ZXJ5LmpzIgogICAg
ICAgIHByb3RlY3QgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICByZXR1cm5WYWx1ZSA9IDxvcHRp
bWl6ZWQgb3V0PgojNSAgMHgwMDAwMDNmZmZjMzJjYTdjIGluIFdlYkNvcmU6OlNjcmlwdENvbnRy
b2xsZXI6OmV2YWx1YXRlICh0aGlzPTB4M2ZmZjAwNWQ4YTgsIHNvdXJjZUNvZGU9Li4uKQogICAg
YXQgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHA6MTU4Ck5v
IGxvY2Fscy4KIzYgIDB4MDAwMDAzZmZmYzU3ZGUzZSBpbiBXZWJDb3JlOjpTY3JpcHRFbGVtZW50
OjpleGVjdXRlU2NyaXB0ICh0aGlzPTxvcHRpbWl6ZWQgb3V0Piwgc291cmNlQ29kZT0uLi4pCiAg
ICBhdCBTb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHA6MzExCiAgICAgICAgaWdu
b3JlRGVzY3RydWN0aXZlV3JpdGVDb3VudEluY3JlbWVudGVyID0gPG9wdGltaXplZCBvdXQ+CiAg
ICAgICAgZG9jdW1lbnQgPSB7bV9wdHIgPSAweDgwMzczMDAwfQojNyAgMHgwMDAwMDNmZmZjY2Fi
Y2M2IGluIFdlYkNvcmU6OlhNTERvY3VtZW50UGFyc2VyOjpub3RpZnlGaW5pc2hlZCAodGhpcz0w
eDNmZmYwMGNlZDgwLCB1bnVzZWRSZXNvdXJjZT08b3B0aW1pemVkIG91dD4pCiAgICBhdCBTb3Vy
Y2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyLmNwcDoyNjUKICAgICAgICBz
b3VyY2VDb2RlID0ge21fcHJvdmlkZXIgPSB7bV9wdHIgPSAweDNmZmU0ZTUxNWU4fSwgbV9jb2Rl
ID0ge21fcHJvdmlkZXIgPSB7bV9wdHIgPSAweDNmZmU0ZTUxNWU4fSwgbV9zdGFydENoYXIgPSAw
LCAKICAgICAgICAgICAgbV9lbmRDaGFyID0gMTgzMTg0LCBtX2ZpcnN0TGluZSA9IDF9LCBtX2Nh
Y2hlZFNjcmlwdCA9IHs8V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlPiA9IHsKICAg
ICAgICAgICAgICBtX3Jlc291cmNlID0gMHgzZmZlNGU0MmMwMH0sIDxObyBkYXRhIGZpZWxkcz59
LCBtX3VybCA9IHttX3N0cmluZyA9ICIobnVsbCkiLCBtX2lzVmFsaWQgPSBmYWxzZSwgCiAgICAg
ICAgICAgIG1fcHJvdG9jb2xJc0luSFRUUEZhbWlseSA9IGZhbHNlLCBtX3NjaGVtZUVuZCA9IDAs
IG1fdXNlclN0YXJ0ID0gMCwgbV91c2VyRW5kID0gMCwgbV9wYXNzd29yZEVuZCA9IDAsIG1faG9z
dEVuZCA9IDAsIAogICAgICAgICAgICBtX3BvcnRFbmQgPSAwLCBtX3BhdGhBZnRlckxhc3RTbGFz
aCA9IDAsIG1fcGF0aEVuZCA9IDAsIG1fcXVlcnlFbmQgPSAwLCBtX2ZyYWdtZW50RW5kID0gMH19
CiAgICAgICAgZSA9IHttX3B0ciA9IDB4M2ZmZjAwOTNiNDB9CiAgICAgICAgc2NyaXB0RWxlbWVu
dCA9IDB4M2ZmZjAwOTNiYTAKICAgICAgICBwcm90ZWN0ID0ge21fcHRyID0gMHgzZmZmMDBjZWQ4
MH0KIzggIDB4MDAwMDAzZmZmYzkzNDE2OCBpbiBXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Y2hl
Y2tOb3RpZnkgKHRoaXM9PG9wdGltaXplZCBvdXQ+KSBhdCBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2UuY3BwOjM3OAogICAgICAgIHcgPSB7bV9jbGllbnRTZXQgPSBA
MHgzZmZlNGU0MmMwOCwgCiAgICAgICAgICBtX2NsaWVudFZlY3RvciA9IFB5dGhvbiBFeGNlcHRp
b24gPGNsYXNzICdnZGIuZXJyb3InPiBUaGVyZSBpcyBubyBtZW1iZXIgb3IgbWV0aG9kIG5hbWVk
IG1fY2FwYWNpdHkuOiAKLCBtX2luZGV4ID0gMX0KIzkgIDB4MDAwMDAzZmZmYzliOWMwYSBpbiBX
ZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoTG9hZGluZyAodGhpcz0weDNmZmU0
ZTQyNDAwLCBmaW5pc2hUaW1lPTApCiAgICBhdCBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVz
b3VyY2VMb2FkZXIuY3BwOjI3OAogICAgICAgIHByb3RlY3QgPSB7bV9wdHIgPSAweDNmZmU0ZTQy
NDAwfQogICAgICAgIHByb3RlY3RSZXNvdXJjZSA9IHs8V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VI
YW5kbGVCYXNlPiA9IHttX3Jlc291cmNlID0gMHgzZmZlNGU0MmMwMH0sIDxObyBkYXRhIGZpZWxk
cz59CiMxMCAweDAwMDAwM2ZmZmQyOWI2ZGMgaW4gV2ViQ29yZTo6cmVhZENhbGxiYWNrIChhc3lu
Y1Jlc3VsdD08b3B0aW1pemVkIG91dD4sIGRhdGE9MHgzZmZmMDExMzZhOCkKICAgIGF0IFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3BwOjEz
MjcKICAgICAgICBoYW5kbGUgPSB7bV9wdHIgPSAweDNmZmYwMTEzNmE4fQogICAgICAgIGQgPSAw
eDNmZmYwMTE3ODAwCiAgICAgICAgZXJyb3IgPSB7bV9wdHIgPSAweDB9CiAgICAgICAgYnl0ZXNS
ZWFkID0gMAojMTEgMHgwMDAwMDNmZmZiNmQzZDc0IGluIGFzeW5jX3JlYWR5X2NhbGxiYWNrX3dy
YXBwZXIgKHNvdXJjZV9vYmplY3Q9MHgzZmZlYzAwNDEyMCwgcmVzPTB4ODA0MDU4NDAsIHVzZXJf
ZGF0YT0weDNmZmYwMTEzNmE4KQogICAgYXQgZ2lucHV0c3RyZWFtLmM6NTMwCiAgICAgICAgc3Ry
ZWFtID0gMHgzZmZlYzAwNDEyMAojMTIgMHgwMDAwMDNmZmZiNmY4YzI0IGluIGdfdGFza19yZXR1
cm5fbm93ICh0YXNrPTB4ODA0MDU4NDApIGF0IGd0YXNrLmM6MTEwNQpObyBsb2NhbHMuCiMxMyAw
eDAwMDAwM2ZmZmI2ZjhjNGUgaW4gY29tcGxldGVfaW5faWRsZV9jYiAodGFzaz0weDgwNDA1ODQw
KSBhdCBndGFzay5jOjExMTQKTm8gbG9jYWxzLgojMTQgMHgwMDAwMDNmZmZiNTI2MDk0IGluIGdf
bWFpbl9kaXNwYXRjaCAoY29udGV4dD0weDgwMDQ3ZTgwKSBhdCBnbWFpbi5jOjMwNTgKICAgICAg
ICBkaXNwYXRjaCA9IDB4M2ZmZmI1MjI3MzggPGdfaWRsZV9kaXNwYXRjaD4KICAgICAgICB3YXNf
aW5fY2FsbCA9IDAKICAgICAgICB1c2VyX2RhdGEgPSAweDgwNDA1ODQwCiAgICAgICAgY2FsbGJh
Y2sgPSAweDNmZmZiNmY4YzM4IDxjb21wbGV0ZV9pbl9pZGxlX2NiPgogICAgICAgIGNiX2Z1bmNz
ID0gMHgzZmZmYjYxNjE4MCA8Z19zb3VyY2VfY2FsbGJhY2tfZnVuY3M+CiAgICAgICAgY2JfZGF0
YSA9IDB4M2ZmZGNjMzQ3ZDAKICAgICAgICBuZWVkX2Rlc3Ryb3kgPSA8b3B0aW1pemVkIG91dD4K
ICAgICAgICBjdXJyZW50X3NvdXJjZV9saW5rID0ge2RhdGEgPSAweDNmZmRjODYwNDAwLCBuZXh0
ID0gMHgwfQogICAgICAgIHNvdXJjZSA9IDB4M2ZmZGM4NjA0MDAKICAgICAgICBjdXJyZW50ID0g
MHg4MDAxOTRiMAogICAgICAgIGkgPSAwCiMxNSBnX21haW5fY29udGV4dF9kaXNwYXRjaCAoY29u
dGV4dD0weDgwMDQ3ZTgwKSBhdCBnbWFpbi5jOjM2MzQKTm8gbG9jYWxzLgojMTYgMHgwMDAwMDNm
ZmZiNTI2NDA4IGluIGdfbWFpbl9jb250ZXh0X2l0ZXJhdGUgKGNvbnRleHQ9Y29udGV4dEBlbnRy
eT0weDgwMDQ3ZTgwLCBibG9jaz1ibG9ja0BlbnRyeT0xLCBkaXNwYXRjaD1kaXNwYXRjaEBlbnRy
eT0xLCAKICAgIHNlbGY9PG9wdGltaXplZCBvdXQ+KSBhdCBnbWFpbi5jOjM3MDUKICAgICAgICBt
YXhfcHJpb3JpdHkgPSAyMTQ3NDgzNjQ3CiAgICAgICAgdGltZW91dCA9IDE1MTEzCiAgICAgICAg
c29tZV9yZWFkeSA9IDEKICAgICAgICBuZmRzID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgYWxs
b2NhdGVkX25mZHMgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBmZHMgPSAweDgwMjNhMTQwCiMx
NyAweDAwMDAwM2ZmZmI1MjY1MTQgaW4gZ19tYWluX2NvbnRleHRfaXRlcmF0aW9uIChjb250ZXh0
PTB4ODAwNDdlODAsIG1heV9ibG9jaz08b3B0aW1pemVkIG91dD4pIGF0IGdtYWluLmM6Mzc2Ngog
ICAgICAgIHJldHZhbCA9IDxvcHRpbWl6ZWQgb3V0PgojMTggMHgwMDAwMDNmZmZiNzFjNGNjIGlu
IGdfYXBwbGljYXRpb25fcnVuIChhcHBsaWNhdGlvbj0weDgwMDI3MDQwLCBhcmdjPTxvcHRpbWl6
ZWQgb3V0PiwgYXJndj0weDNmZmZmZmZmMjk4KSBhdCBnYXBwbGljYXRpb24uYzoxNjIzCiAgICAg
ICAgYXJndW1lbnRzID0gMHg4MDAxODdiMAogICAgICAgIHN0YXR1cyA9IDAKICAgICAgICBpID0g
PG9wdGltaXplZCBvdXQ+CiAgICAgICAgX19QUkVUVFlfRlVOQ1RJT05fXyA9ICJnX2FwcGxpY2F0
aW9uX3J1biIKIzE5IDB4MDAwMDAzZmZmYjMzODU1MiBpbiBfX2xpYmNfc3RhcnRfbWFpbiAobWFp
bj0weDgwMDA2ODI4IDxtYWluPiwgYXJnYz08b3B0aW1pemVkIG91dD4sIHVicF9hdj0weDNmZmZm
ZmZmMjk4LCBpbml0PTxvcHRpbWl6ZWQgb3V0PiwgCiAgICBmaW5pPTB4ODAwMGI4MjggPF9fbGli
Y19jc3VfZmluaT4sIHJ0bGRfZmluaT0weDNmZmZkZmVjYzE4IDxfZGxfZmluaT4sIHN0YWNrX2Vu
ZD0weDNmZmZmZmZmMWUwKSBhdCBsaWJjLXN0YXJ0LmM6Mjc0CiAgICAgICAgc2VsZiA9IDxvcHRp
bWl6ZWQgb3V0PgogICAgICAgIHJlc3VsdCA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAgIHVud2lu
ZF9idWYgPSB7Y2FuY2VsX2ptcF9idWYgPSB7e2ptcF9idWYgPSB7e19fZ3JlZ3MgPSB7MjE0NzUz
MDc5MiwgNDM5ODA0NjUwNzY0OCwgMjE0NzUxMDQ1NiwgMjE0ODU2Nzk4NCwgMCwgMjE0NzUzMDY4
OCwgCiAgICAgICAgICAgICAgICAgICAgNDM5ODAxMjk0ODI4OCwgMCwgNTc5MjcyMDU0MzUzMDE5
MSwgNTc5MjcyMDYxNTA5ODQzNX0sIF9fZnByZWdzID0gezAsIDAsIDI5NDMzNTM2MzIsIDAsIDI5
NDMyOTEwNTYsIDAsIDAsIDB9fX0sIAogICAgICAgICAgICAgIG1hc2tfd2FzX3NhdmVkID0gMH19
LCBwcml2ID0ge3BhZCA9IHsweDAsIDB4MCwgMHgzZmZmZGZkYmM3MCwgMHgzZmZmZGZkYjQ1MH0s
IGRhdGEgPSB7cHJldiA9IDB4MCwgY2xlYW51cCA9IDB4MCwgCiAgICAgICAgICAgICAgY2FuY2Vs
dHlwZSA9IDEwMjN9fX0KICAgICAgICBub3RfZmlyc3RfY2FsbCA9IDxvcHRpbWl6ZWQgb3V0Pgoj
MjAgMHgwMDAwMDAwMDgwMDA2OGY2IGluIF9zdGFydCAoKQpObyBzeW1ib2wgdGFibGUgaW5mbyBh
dmFpbGFibGUuCkEgZGVidWdnaW5nIHNlc3Npb24gaXMgYWN0aXZlLgoKCUluZmVyaW9yIDEgW3By
b2Nlc3MgMzg2OF0gd2lsbCBiZSBraWxsZWQuCgpRdWl0IGFueXdheT8gKHkgb3IgbikgCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>224071</attachid>
            <date>2014-02-13 08:00:50 -0800</date>
            <delta_ts>2014-02-13 08:00:50 -0800</delta_ts>
            <desc>Crash from 2.2.4</desc>
            <filename>gdb_2_2_4.txt</filename>
            <type>text/plain</type>
            <size>165188</size>
            <attacher name="Tomas Popela">tpopela</attacher>
            
              <data encoding="base64">U3RhcnRpbmcgcHJvZ3JhbTogL3Vzci9iaW4veWVscCAKVHJhY2ViYWNrIChtb3N0IHJlY2VudCBj
YWxsIGxhc3QpOgogIEZpbGUgIi91c3Ivc2hhcmUvZ2RiL2F1dG8tbG9hZC91c3IvbGliNjQvbGli
Z29iamVjdC0yLjAuc28uMC4zODAwLjItZ2RiLnB5IiwgbGluZSA5LCBpbiA8bW9kdWxlPgogICAg
ZnJvbSBnb2JqZWN0IGltcG9ydCByZWdpc3RlcgogIEZpbGUgIi91c3Ivc2hhcmUvZ2xpYi0yLjAv
Z2RiL2dvYmplY3QucHkiLCBsaW5lIDMsIGluIDxtb2R1bGU+CiAgICBpbXBvcnQgZ2RiLmJhY2t0
cmFjZQpJbXBvcnRFcnJvcjogTm8gbW9kdWxlIG5hbWVkIGJhY2t0cmFjZQpbVGhyZWFkIGRlYnVn
Z2luZyB1c2luZyBsaWJ0aHJlYWRfZGIgZW5hYmxlZF0KVXNpbmcgaG9zdCBsaWJ0aHJlYWRfZGIg
bGlicmFyeSAiL2xpYjY0L2xpYnRocmVhZF9kYi5zby4xIi4KTWlzc2luZyBzZXBhcmF0ZSBkZWJ1
Z2luZm8gZm9yIC9saWI2NC9saWJncmFwaGl0ZTIuc28uMwpUcnk6IHl1bSAtLWVuYWJsZXJlcG89
JypkZWJ1ZyonIGluc3RhbGwgL3Vzci9saWIvZGVidWcvLmJ1aWxkLWlkL2M5LzM4M2ZlODZjYThk
MTViZWY1ZWNhMDJjZWM1YTcyOGI0YWJjZjA4LmRlYnVnCltOZXcgVGhyZWFkIDB4M2ZmZjE3OTI5
MTAgKExXUCA2Mzk1KV0KW05ldyBUaHJlYWQgMHgzZmZlNmY1MTkxMCAoTFdQIDYzOTYpXQpbTmV3
IFRocmVhZCAweDNmZmU2NzUxOTEwIChMV1AgNjM5NyldCltOZXcgVGhyZWFkIDB4M2ZmZTVmNTE5
MTAgKExXUCA2Mzk4KV0KW1RocmVhZCAweDNmZmU1ZjUxOTEwIChMV1AgNjM5OCkgZXhpdGVkXQpb
TmV3IFRocmVhZCAweDNmZmU1NzUxOTEwIChMV1AgNjM5OSldCltOZXcgVGhyZWFkIDB4M2ZmZTRm
NTE5MTAgKExXUCA2NDAwKV0KW05ldyBUaHJlYWQgMHgzZmZkN2ZmZjkxMCAoTFdQIDY0MDEpXQpb
TmV3IFRocmVhZCAweDNmZmQ3N2ZmOTEwIChMV1AgNjQwMildCltUaHJlYWQgMHgzZmZkN2ZmZjkx
MCAoTFdQIDY0MDEpIGV4aXRlZF0KW1RocmVhZCAweDNmZmQ3N2ZmOTEwIChMV1AgNjQwMikgZXhp
dGVkXQpbTmV3IFRocmVhZCAweDNmZmQ2ZmZmOTEwIChMV1AgNjQwMyldCltOZXcgVGhyZWFkIDB4
M2ZmZDYwOGE5MTAgKExXUCA2NDA0KV0KClByb2dyYW0gcmVjZWl2ZWQgc2lnbmFsIFNJR1NFR1Ys
IFNlZ21lbnRhdGlvbiBmYXVsdC4KSlNDOjpMTEludDo6Q0xvb3A6OmV4ZWN1dGUgKGNhbGxGcmFt
ZT0weDNmZmQ2NDAwM2I4LCBib290c3RyYXBPcGNvZGVJZD0yODgsIGlzSW5pdGlhbGl6YXRpb25Q
YXNzPTExMikgYXQgRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUvTExJbnRBc3NlbWJseS5o
OjIwNjcKMjA2NwkgICAgaWYgKCpDQVNUPGludHB0cl90Kj4odDMuaThwKSAhPSB0MS5pKSAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4NjcKIzAgIEpTQzo6TExJbnQ6OkNMb29wOjpleGVjdXRlIChjYWxs
RnJhbWU9MHgzZmZkNjQwMDNiOCwgYm9vdHN0cmFwT3Bjb2RlSWQ9Mjg4LCBpc0luaXRpYWxpemF0
aW9uUGFzcz0xMTIpIGF0IERlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL0xMSW50QXNzZW1i
bHkuaDoyMDY3CiAgICAgICAgdDAgPSB7e2kgPSAzNiwgdSA9IDM2LCB7aTMycGFkZGluZyA9IDAs
IGkzMiA9IDM2fSwge3UzMnBhZGRpbmcgPSAwLCB1MzIgPSAzNn0sIHtpOHBhZGRpbmcgPSAiXDAw
MFwwMDBcMDAwXDAwMFwwMDBcMDAwIiwgaTggPSAzNiAnJCd9LCB7dThwYWRkaW5nID0gIlwwMDBc
MDAwXDAwMFwwMDBcMDAwXDAwMCIsIAogICAgICAgICAgICAgIHU4ID0gMzYgJyQnfSwgaThwID0g
MHgyNCA8QWRkcmVzcyAweDI0IG91dCBvZiBib3VuZHM+LCB2cCA9IDB4MjQsIGV4ZWNTdGF0ZSA9
IDB4MjQsIGluc3RydWN0aW9uID0gMHgyNCwgbmF0aXZlRnVuYyA9IDB4MjQsIGk2NCA9IDM2LCB1
NjQgPSAzNiwgZW5jb2RlZEpTVmFsdWUgPSAzNiwgCiAgICAgICAgICAgIGNhc3RUb0RvdWJsZSA9
IDEuNzc4NjM2MzI1MDI4NDg3NmUtMzIyLCBvcGNvZGUgPSAweDI0fX0KICAgICAgICB0MSA9IHt7
aSA9IDAsIHUgPSAwLCB7aTMycGFkZGluZyA9IDAsIGkzMiA9IDB9LCB7dTMycGFkZGluZyA9IDAs
IHUzMiA9IDB9LCB7aThwYWRkaW5nID0gIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCIsIGk4ID0g
MCAnXDAwMCd9LCB7dThwYWRkaW5nID0gIlwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMCIsIAogICAg
ICAgICAgICAgIHU4ID0gMCAnXDAwMCd9LCBpOHAgPSAweDAsIHZwID0gMHgwLCBleGVjU3RhdGUg
PSAweDAsIGluc3RydWN0aW9uID0gMHgwLCBuYXRpdmVGdW5jID0gMHgwLCBpNjQgPSAwLCB1NjQg
PSAwLCBlbmNvZGVkSlNWYWx1ZSA9IDAsIGNhc3RUb0RvdWJsZSA9IDAsIG9wY29kZSA9IDB4MH19
CiAgICAgICAgdDIgPSB7e2kgPSAwLCB1ID0gMCwge2kzMnBhZGRpbmcgPSAwLCBpMzIgPSAwfSwg
e3UzMnBhZGRpbmcgPSAwLCB1MzIgPSAwfSwge2k4cGFkZGluZyA9ICJcMDAwXDAwMFwwMDBcMDAw
XDAwMFwwMDAiLCBpOCA9IDAgJ1wwMDAnfSwge3U4cGFkZGluZyA9ICJcMDAwXDAwMFwwMDBcMDAw
XDAwMFwwMDAiLCAKICAgICAgICAgICAgICB1OCA9IDAgJ1wwMDAnfSwgaThwID0gMHgwLCB2cCA9
IDB4MCwgZXhlY1N0YXRlID0gMHgwLCBpbnN0cnVjdGlvbiA9IDB4MCwgbmF0aXZlRnVuYyA9IDB4
MCwgaTY0ID0gMCwgdTY0ID0gMCwgZW5jb2RlZEpTVmFsdWUgPSAwLCBjYXN0VG9Eb3VibGUgPSAw
LCBvcGNvZGUgPSAweDB9fQogICAgICAgIHQzID0ge3tpID0gMCwgdSA9IDAsIHtpMzJwYWRkaW5n
ID0gMCwgaTMyID0gMH0sIHt1MzJwYWRkaW5nID0gMCwgdTMyID0gMH0sIHtpOHBhZGRpbmcgPSAi
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIiwgaTggPSAwICdcMDAwJ30sIHt1OHBhZGRpbmcgPSAi
XDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwIiwgCiAgICAgICAgICAgICAgdTggPSAwICdcMDAwJ30s
IGk4cCA9IDB4MCwgdnAgPSAweDAsIGV4ZWNTdGF0ZSA9IDB4MCwgaW5zdHJ1Y3Rpb24gPSAweDAs
IG5hdGl2ZUZ1bmMgPSAweDAsIGk2NCA9IDAsIHU2NCA9IDAsIGVuY29kZWRKU1ZhbHVlID0gMCwg
Y2FzdFRvRG91YmxlID0gMCwgb3Bjb2RlID0gMHgwfX0KICAgICAgICB2UEMgPSAweDk2CiMxICAw
eDAwMDAwM2ZmZmE4YjkzNDAgaW4gSlNDOjpJbnRlcnByZXRlcjo6ZXhlY3V0ZSAodGhpcz0weDNm
ZmYwM2YxZWEwLCBwcm9ncmFtPTB4M2ZmZDU3NGZmNzAsIGNhbGxGcmFtZT0weDNmZmU0MDJmOWUw
LCB0aGlzT2JqPTB4M2ZmZTQwNmZmZDgpCiAgICBhdCBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwOjc2NAogICAgICAgIHdhdGNoZG9nU2NvcGUgPSB7bV93
YXRjaGRvZyA9IEAweDNmZmYwNDRlMDQ4fQogICAgICAgIHNjb3BlID0gPG9wdGltaXplZCBvdXQ+
CiAgICAgICAgSlNPTlBEYXRhID0gV1RGOjpWZWN0b3Igb2YgbGVuZ3RoIDAsIGNhcGFjaXR5IDAK
ICAgICAgICBwcm9ncmFtU291cmNlID0gIi8qIVxuICogalF1ZXJ5IEphdmFTY3JpcHQgTGlicmFy
eSB2MS40LjRcbiAqIGh0dHA6Ly9qcXVlcnkuY29tL1xuICpcbiAqIENvcHlyaWdodCAyMDEwLCBK
b2huIFJlc2lnXG4gKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgb3IgR1BMIFZlcnNpb24g
MiBsaWNlbnNlcy5cbiAqIGh0dHA6Ly9qcXVlcnkub3JnL2xpY2Vuc2VcbiAqXG4gKiBJbmNsdWRl
cyBTaXp6Ii4uLgogICAgICAgIHZtID0gQDB4M2ZmZjA0NDUwMDA6IHs8V1RGOjpUaHJlYWRTYWZl
UmVmQ291bnRlZDxKU0M6OlZNPj4gPSB7PFdURjo6VGhyZWFkU2FmZVJlZkNvdW50ZWRCYXNlPiA9
IHttX3JlZkNvdW50ID0gNH0sIDxObyBkYXRhIGZpZWxkcz59LCBtX2FwaUxvY2sgPSB7bV9wdHIg
PSAweDNmZmYwM2Q0ZjAwfSwgaGVhcCA9IHsKICAgICAgICAgICAgc3RhdGljIHNfdGltZUNoZWNr
UmVzb2x1dGlvbiA9IDE2LCBzdGF0aWMgbWluRXh0cmFDb3N0ID0gMjU2LCBzdGF0aWMgbWF4RXh0
cmFDb3N0ID0gMTA0ODU3NiwgbV9oZWFwVHlwZSA9IEpTQzo6TGFyZ2VIZWFwLCBtX3JhbVNpemUg
PSA0MTk4MTQxOTUyLCBtX21pbkJ5dGVzUGVyQ3ljbGUgPSAzMzU1NDQzMiwgCiAgICAgICAgICAg
IG1fc2l6ZUFmdGVyTGFzdENvbGxlY3QgPSAwLCBtX2J5dGVzQWxsb2NhdGVkTGltaXQgPSAzMzU1
NDQzMiwgbV9ieXRlc0FsbG9jYXRlZCA9IDI2MDI0LCBtX2J5dGVzQWJhbmRvbmVkID0gMCwgbV9v
cGVyYXRpb25JblByb2dyZXNzID0gSlNDOjpOb09wZXJhdGlvbiwgbV9ibG9ja0FsbG9jYXRvciA9
IHsKICAgICAgICAgICAgICBtX3N1cGVyUmVnaW9uID0gezxXVEY6Ok1ldGFBbGxvY2F0b3I+ID0g
e192cHRyLk1ldGFBbGxvY2F0b3IgPSAweDNmZmZhYmJmMjM4IDx2dGFibGUgZm9yIEpTQzo6U3Vw
ZXJSZWdpb24rMTY+LCBtX2FsbG9jYXRpb25HcmFudWxlID0gNjU1MzYsIG1fbG9nQWxsb2NhdGlv
bkdyYW51bGUgPSAxNiwgCiAgICAgICAgICAgICAgICAgIG1fcGFnZVNpemUgPSA2NTUzNiwgbV9s
b2dQYWdlU2l6ZSA9IDE2LCBtX2ZyZWVTcGFjZVNpemVNYXAgPSB7bV9yb290ID0gMHgwfSwgbV9m
cmVlU3BhY2VTdGFydEFkZHJlc3NNYXAgPSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExvYWQgPSA8
b3B0aW1pemVkIG91dD4sIAogICAgICAgICAgICAgICAgICAgICAgc3RhdGljIG1fbWluTG9hZCA9
IDxvcHRpbWl6ZWQgb3V0PiwgbV90YWJsZSA9IDB4MCwgbV90YWJsZVNpemUgPSAwLCBtX3RhYmxl
U2l6ZU1hc2sgPSAwLCBtX2tleUNvdW50ID0gMCwgbV9kZWxldGVkQ291bnQgPSAwfX0sIG1fZnJl
ZVNwYWNlRW5kQWRkcmVzc01hcCA9IHttX2ltcGwgPSB7CiAgICAgICAgICAgICAgICAgICAgICBz
dGF0aWMgbV9tYXhMb2FkID0gPG9wdGltaXplZCBvdXQ+LCBzdGF0aWMgbV9taW5Mb2FkID0gPG9w
dGltaXplZCBvdXQ+LCBtX3RhYmxlID0gMHgwLCBtX3RhYmxlU2l6ZSA9IDAsIG1fdGFibGVTaXpl
TWFzayA9IDAsIG1fa2V5Q291bnQgPSAwLCBtX2RlbGV0ZWRDb3VudCA9IDB9fSwgCiAgICAgICAg
ICAgICAgICAgIG1fcGFnZU9jY3VwYW5jeU1hcCA9IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9h
ZCA9IDxvcHRpbWl6ZWQgb3V0Piwgc3RhdGljIG1fbWluTG9hZCA9IDxvcHRpbWl6ZWQgb3V0Piwg
bV90YWJsZSA9IDB4MCwgbV90YWJsZVNpemUgPSAwLCBtX3RhYmxlU2l6ZU1hc2sgPSAwLCAKICAg
ICAgICAgICAgICAgICAgICAgIG1fa2V5Q291bnQgPSAwLCBtX2RlbGV0ZWRDb3VudCA9IDB9fSwg
bV9ieXRlc0FsbG9jYXRlZCA9IDAsIG1fYnl0ZXNSZXNlcnZlZCA9IDAsIG1fYnl0ZXNDb21taXR0
ZWQgPSAwLCBtX2xvY2sgPSB7cHJpdmF0ZV9sb2NrXyA9IHtfX2RhdGEgPSB7X19sb2NrID0gMCwg
X19jb3VudCA9IDAsIAogICAgICAgICAgICAgICAgICAgICAgICBfX293bmVyID0gMCwgX19udXNl
cnMgPSAwLCBfX2tpbmQgPSAwLCBfX3NwaW5zID0gMCwgX19saXN0ID0ge19fcHJldiA9IDB4MCwg
X19uZXh0ID0gMHgwfX0sIF9fc2l6ZSA9ICdcMDAwJyA8cmVwZWF0cyAzOSB0aW1lcz4sIF9fYWxp
Z24gPSAwfX0sIG1fdHJhY2tlciA9IDB4MH0sIAogICAgICAgICAgICAgICAgc3RhdGljIHNfZml4
ZWRIZWFwTWVtb3J5UG9vbFNpemUgPSA0Mjk0OTY3Mjk2LCBtX3Jlc2VydmF0aW9uID0gezxXVEY6
OlBhZ2VCbG9jaz4gPSB7bV9yZWFsQmFzZSA9IDB4MCwgbV9iYXNlID0gMHgwLCBtX3NpemUgPSAw
fSwgbV9jb21taXR0ZWQgPSAwLCBtX3dyaXRhYmxlID0gZmFsc2UsIAogICAgICAgICAgICAgICAg
ICBtX2V4ZWN1dGFibGUgPSBmYWxzZX0sIG1fcmVzZXJ2YXRpb25CYXNlID0gMHgwfSwgbV9jb3Bp
ZWRSZWdpb25TZXQgPSB7bV9mdWxsUmVnaW9ucyA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4
MH0sIG1fcGFydGlhbFJlZ2lvbnMgPSB7bV9oZWFkID0gMHg4MDNiYzg3MCwgCiAgICAgICAgICAg
ICAgICAgIG1fdGFpbCA9IDB4ODAzYmM4NzB9LCBtX251bWJlck9mUGFydGlhbFJlZ2lvbnMgPSAx
LCBtX2Jsb2NrU2l6ZSA9IDMyNzY4fSwgbV9tYXJrZWRSZWdpb25TZXQgPSB7bV9mdWxsUmVnaW9u
cyA9IHttX2hlYWQgPSAweDgwNGEyN2EwLCBtX3RhaWwgPSAweDgwM2E5YTIwfSwgCiAgICAgICAg
ICAgICAgICBtX3BhcnRpYWxSZWdpb25zID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwg
bV9udW1iZXJPZlBhcnRpYWxSZWdpb25zID0gMCwgbV9ibG9ja1NpemUgPSA2NTUzNn0sIG1fZm91
cktCQmxvY2tSZWdpb25TZXQgPSB7bV9mdWxsUmVnaW9ucyA9IHttX2hlYWQgPSAweDAsIG1fdGFp
bCA9IDB4MH0sIAogICAgICAgICAgICAgICAgbV9wYXJ0aWFsUmVnaW9ucyA9IHttX2hlYWQgPSAw
eDgwNDI4OWIwLCBtX3RhaWwgPSAweDgwNDI4OWIwfSwgbV9udW1iZXJPZlBhcnRpYWxSZWdpb25z
ID0gMSwgbV9ibG9ja1NpemUgPSA0MDk2fSwgbV93b3JrTGlzdFJlZ2lvblNldCA9IHttX2Z1bGxS
ZWdpb25zID0ge21faGVhZCA9IDB4MCwgCiAgICAgICAgICAgICAgICAgIG1fdGFpbCA9IDB4MH0s
IG1fcGFydGlhbFJlZ2lvbnMgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX251bWJl
ck9mUGFydGlhbFJlZ2lvbnMgPSAwLCBtX2Jsb2NrU2l6ZSA9IDUxMn0sIG1fZW1wdHlSZWdpb25z
ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAgICAgICAgICAgbV9udW1iZXJP
ZkVtcHR5UmVnaW9ucyA9IDAsIG1faXNDdXJyZW50bHlBbGxvY2F0aW5nID0gdHJ1ZSwgbV9ibG9j
a0ZyZWVpbmdUaHJlYWRTaG91bGRRdWl0ID0gZmFsc2UsIG1fcmVnaW9uTG9jayA9IHtwcml2YXRl
X2xvY2tfID0ge19fZGF0YSA9IHtfX2xvY2sgPSAwLCBfX2NvdW50ID0gMCwgCiAgICAgICAgICAg
ICAgICAgICAgX19vd25lciA9IDAsIF9fbnVzZXJzID0gMCwgX19raW5kID0gMCwgX19zcGlucyA9
IDAsIF9fbGlzdCA9IHtfX3ByZXYgPSAweDAsIF9fbmV4dCA9IDB4MH19LCBfX3NpemUgPSAnXDAw
MCcgPHJlcGVhdHMgMzkgdGltZXM+LCBfX2FsaWduID0gMH19LCAKICAgICAgICAgICAgICBtX2Vt
cHR5UmVnaW9uQ29uZGl0aW9uTG9jayA9IHttX211dGV4ID0ge19fZGF0YSA9IHtfX2xvY2sgPSAw
LCBfX2NvdW50ID0gMCwgX19vd25lciA9IDAsIF9fbnVzZXJzID0gMSwgX19raW5kID0gNTEyLCBf
X3NwaW5zID0gMCwgX19saXN0ID0ge19fcHJldiA9IDB4MCwgX19uZXh0ID0gMHgwfX0sIAogICAg
ICAgICAgICAgICAgICBfX3NpemUgPSAnXDAwMCcgPHJlcGVhdHMgMTUgdGltZXM+LCAiXDAwMVww
MDBcMDAwXDAwMiIsICdcMDAwJyA8cmVwZWF0cyAyMCB0aW1lcz4sIF9fYWxpZ24gPSAwfX0sIG1f
ZW1wdHlSZWdpb25Db25kaXRpb24gPSB7bV9jb25kaXRpb24gPSB7X19kYXRhID0ge19fbG9jayA9
IDAsIAogICAgICAgICAgICAgICAgICAgIF9fZnV0ZXggPSAxLCBfX3RvdGFsX3NlcSA9IDEsIF9f
d2FrZXVwX3NlcSA9IDAsIF9fd29rZW5fc2VxID0gMCwgX19tdXRleCA9IDB4M2ZmZjA0NDUyNDgs
IF9fbndhaXRlcnMgPSAyLCBfX2Jyb2FkY2FzdF9zZXEgPSAwfSwgCiAgICAgICAgICAgICAgICAg
IF9fc2l6ZSA9ICJcMDAwXDAwMFwwMDBcMDAwXDAwMFwwMDBcMDAwXDAwMVwwMDBcMDAwXDAwMFww
MDBcMDAwXDAwMFwwMDBcMDAxIiwgJ1wwMDAnIDxyZXBlYXRzIDE4IHRpbWVzPiwgIlwwMDNcMzc3
XDM2MERSSFwwMDBcMDAwXDAwMFwwMDJcMDAwXDAwMFwwMDAiLCBfX2FsaWduID0gMX19LCAKICAg
ICAgICAgICAgICBtX2Jsb2NrRnJlZWluZ1RocmVhZCA9IDN9LCBtX29iamVjdFNwYWNlID0ge3N0
YXRpYyBwcmVjaXNlU3RlcCA9IDgsIHN0YXRpYyBwcmVjaXNlQ3V0b2ZmID0gMTI4LCBzdGF0aWMg
cHJlY2lzZUNvdW50ID0gMTYsIHN0YXRpYyBpbXByZWNpc2VTdGVwID0gMjU2LCAKICAgICAgICAg
ICAgICBzdGF0aWMgaW1wcmVjaXNlQ3V0b2ZmID0gMzI3NjgsIHN0YXRpYyBpbXByZWNpc2VDb3Vu
dCA9IDEyOCwgbV9ub3JtYWxEZXN0cnVjdG9yU3BhY2UgPSB7cHJlY2lzZUFsbG9jYXRvcnMgPSB7
bV9kYXRhID0ge3ttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAg
ICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4
MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXpl
ID0gOCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgCiAgICAg
ICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0g
MHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1f
Y3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0g
ewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1f
Y2VsbFNpemUgPSAxNiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1h
bCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9
LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVhZCA9IDB4M2ZmZDU4
NWZlMDAsIGJ5dGVzID0gNjQzOTJ9LCBtX2N1cnJlbnRCbG9jayA9IDB4M2ZmZDU4NTAwMDAsIG1f
YmxvY2tzVG9Td2VlcCA9IDB4M2ZmZDU4NTAwMDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4
M2ZmZDU4NTAwMDAsIAogICAgICAgICAgICAgICAgICAgICAgICBtX3RhaWwgPSAweDNmZmQ1ODUw
MDAwfSwgbV9jZWxsU2l6ZSA9IDI0LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9j
azo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZm
MDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBoZWFkID0g
MHgzZmZkNTdjZmU3MCwgYnl0ZXMgPSA2NDM4NH0sIG1fY3VycmVudEJsb2NrID0gMHgzZmZkNTdj
MDAwMCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgzZmZkNTdjMDAwMCwgbV9ibG9ja0xpc3QgPSB7bV9o
ZWFkID0gMHgzZmZkNTdjMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgIG1fdGFpbCA9IDB4
M2ZmZDU3YzAwMDB9LCBtX2NlbGxTaXplID0gMzIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1h
cmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2Ug
PSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAg
IGhlYWQgPSAweDNmZmU0MDZmZjg4LCBieXRlcyA9IDY0NDAwfSwgbV9jdXJyZW50QmxvY2sgPSAw
eDNmZmU0MDYwMDAwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDNmZmU0MDYwMDAwLCBtX2Jsb2NrTGlz
dCA9IHttX2hlYWQgPSAweDNmZmU0MDYwMDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgbV90
YWlsID0gMHgzZmZlNDA2MDAwMH0sIG1fY2VsbFNpemUgPSA0MCwgbV9kZXN0cnVjdG9yVHlwZSA9
IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJr
ZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAg
ICAgICAgICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1f
YmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwg
PSAweDB9LCBtX2NlbGxTaXplID0gNDgsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVj
dG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAx
MCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0g
MHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgCiAgICAgICAgICAgICAgICAg
ICAgICBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwg
bV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDU2LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpN
YXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAKICAgICAgICAgICAg
ICAgICAgICAgIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7
aGVhZCA9IDB4M2ZmZDU3ZmU0MzAsIGJ5dGVzID0gNjQzODR9LCBtX2N1cnJlbnRCbG9jayA9IDB4
M2ZmZDU3ZjAwMDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4M2ZmZDU3ZjAwMDAsIG1fYmxvY2tMaXN0
ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDNmZmQ1N2YwMDAwLCBtX3Rh
aWwgPSAweDNmZmQ1N2YwMDAwfSwgbV9jZWxsU2l6ZSA9IDY0LCBtX2Rlc3RydWN0b3JUeXBlID0g
SlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAKICAgICAg
ICAgICAgICAgICAgICAgIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxp
c3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxv
Y2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY2VsbFNpemUgPSA3MiwgbV9kZXN0cnVjdG9y
VHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwg
bV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgw
LCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgw
LCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90
YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDgwLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJr
ZWRCbG9jazo6Tm9ybWFsLCAKICAgICAgICAgICAgICAgICAgICAgIG1faGVhcCA9IDB4M2ZmZjA0
NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVh
ZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2Vl
cCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1faGVhZCA9
IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDg4LCBtX2Rlc3RydWN0b3JUeXBlID0g
SlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0gewogICAgICAgICAgICAgICAg
ICAgICAgICBoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9i
bG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9
IDB4MH0sIG1fY2VsbFNpemUgPSA5NiwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0
b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEw
LCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAw
eDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAg
ICAgIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBt
X3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTA0LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpN
YXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAKICAgICAgICAgICAg
ICAgICAgICAgIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7
aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9T
d2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCAK
ICAgICAgICAgICAgICAgICAgICAgIG1fY2VsbFNpemUgPSAxMTIsIG1fZGVzdHJ1Y3RvclR5cGUg
PSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFy
a2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0
ZXMgPSAwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9i
bG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9
IDB4MH0sIG1fY2VsbFNpemUgPSAxMjAsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJs
b2NrOjpOb3JtYWwsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAx
MCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0g
MHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0g
MHgwLCBtX2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgw
LCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTI4LCBtX2Rlc3RydWN0b3JUeXBlID0gSlND
OjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNw
YWNlID0gMHgzZmZmMDQ0NTJhOH19fSwgCiAgICAgICAgICAgICAgICBpbXByZWNpc2VBbGxvY2F0
b3JzID0ge21fZGF0YSA9IHt7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgzZmZkNTc2ZmQ3MCwgYnl0
ZXMgPSA2NDI1Nn0sIG1fY3VycmVudEJsb2NrID0gMHgzZmZkNTc2MDAwMCwgbV9ibG9ja3NUb1N3
ZWVwID0gMHgzZmZkNTc2MDAwMCwgbV9ibG9ja0xpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIG1faGVhZCA9IDB4M2ZmZDU3NjAwMDAsIG1fdGFpbCA9IDB4M2ZmZDU3NjAwMDB9LCBtX2Nl
bGxTaXplID0gMjU2LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFs
LCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fbWFya2Vk
U3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMg
PSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9j
a0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCAKICAgICAgICAgICAgICAgICAg
ICAgIG1fY2VsbFNpemUgPSA1MTIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2Nr
OjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYw
NDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgCiAgICAgICAg
ICAgICAgICAgICAgICBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgw
LCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUg
PSA3NjgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIAogICAg
ICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9
IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBt
X2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9
IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBt
X2NlbGxTaXplID0gMTAyNCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5v
cm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUy
YTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVhZCA9IDB4MCwg
Ynl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwg
bV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0g
MTI4MCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJr
ZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0g
MHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1f
Y3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fYmxvY2tzVG9Td2Vl
cCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2Nl
bGxTaXplID0gMTUzNiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1h
bCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAgICAgICAgICAgICBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVz
ID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxv
Y2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAgICAgICAgICAgICAg
ICAgICBtX2NlbGxTaXplID0gMTc5MiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxv
Y2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2Zm
ZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAg
ICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAw
eDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6
ZSA9IDIwNDgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIAog
ICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFj
ZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9
LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlz
dCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9
LCBtX2NlbGxTaXplID0gMjMwNCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6
Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0
NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVhZCA9IDB4
MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4
MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXpl
ID0gMjU2MCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpN
YXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNl
ID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0s
IG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fYmxvY2tzVG9T
d2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBt
X2NlbGxTaXplID0gMjgxNiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5v
cm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAgICAgICAgICAgICBtX21h
cmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5
dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1f
YmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAgICAgICAgICAg
ICAgICAgICBtX2NlbGxTaXplID0gMzA3MiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2Vk
QmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4
M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAg
ICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAg
PSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxs
U2l6ZSA9IDMzMjgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWws
IAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRT
cGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9
IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2Nr
TGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCBtX2NlbGxTaXplID0gMzU4NCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxv
Y2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2Zm
ZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVhZCA9
IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9
IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxT
aXplID0gMzg0MCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBlID0gSlND
OjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNw
YWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0g
MH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fYmxvY2tz
VG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9
LCBtX2NlbGxTaXplID0gNDA5NiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6
Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAgICAgICAgICAgICBt
X21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAs
IGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAs
IG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAgICAgICAg
ICAgICAgICAgICBtX2NlbGxTaXplID0gNDM1MiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFy
a2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9
IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAK
ICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dl
ZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9j
ZWxsU2l6ZSA9IDQ2MDgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3Jt
YWwsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJr
ZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRl
cyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Js
b2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgwLCBtX3RhaWwg
PSAweDB9LCBtX2NlbGxTaXplID0gNDg2NCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2Vk
QmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4
M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVh
ZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2Vl
cCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2Nl
bGxTaXplID0gNTEyMCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBlID0g
SlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVz
ID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fYmxv
Y2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCBtX2NlbGxTaXplID0gNTM3NiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxv
Y2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAgICAgICAgICAg
ICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAw
eDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAw
eDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAgICAg
ICAgICAgICAgICAgICBtX2NlbGxTaXplID0gNTYzMiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6
TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFj
ZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9
LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1Rv
U3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwg
bV9jZWxsU2l6ZSA9IDU4ODgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpO
b3JtYWwsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9t
YXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBi
eXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBt
X2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgwLCBtX3Rh
aWwgPSAweDB9LCBtX2NlbGxTaXplID0gNjE0NCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFy
a2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9
IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAg
aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9T
d2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBt
X2NlbGxTaXplID0gNjQwMCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBl
ID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21h
cmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5
dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAgICAgIG1f
YmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwg
PSAweDB9LCBtX2NlbGxTaXplID0gNjY1NiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2Vk
QmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAgICAgICAg
ICAgICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQg
PSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAg
PSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAg
ICAgICAgICAgICAgICAgICBtX2NlbGxTaXplID0gNjkxMiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpT
Qzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRT
cGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9
IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nr
c1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgw
fSwgbV9jZWxsU2l6ZSA9IDcxNjgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2Nr
OjpOb3JtYWwsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwg
bV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgw
LCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgw
LCBtX2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgwLCBt
X3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gNzQyNCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6
TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFj
ZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAg
ICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tz
VG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9
LCBtX2NlbGxTaXplID0gNzY4MCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JU
eXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBt
X21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAs
IGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAgICAg
IG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3Rh
aWwgPSAweDB9LCBtX2NlbGxTaXplID0gNzkzNiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFy
a2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAgICAg
ICAgICAgICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hl
YWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dl
ZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAg
ICAgICAgICAgICAgICAgICAgICBtX2NlbGxTaXplID0gODE5MiwgbV9kZXN0cnVjdG9yVHlwZSA9
IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJr
ZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRl
cyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Js
b2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0g
MHgwfSwgbV9jZWxsU2l6ZSA9IDg0NDgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJs
b2NrOjpOb3JtYWwsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAx
MCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0g
MHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0g
MHgwLCBtX2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgw
LCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gODcwNCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpT
Qzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRT
cGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAgICAg
ICAgICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxv
Y2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCBtX2NlbGxTaXplID0gODk2MCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0
b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEw
LCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAw
eDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAg
ICAgIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBt
X3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gOTIxNiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6
TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAg
ICAgICAgICAgICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0g
e2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1Rv
U3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwg
CiAgICAgICAgICAgICAgICAgICAgICBtX2NlbGxTaXplID0gOTQ3MiwgbV9kZXN0cnVjdG9yVHlw
ZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9t
YXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBi
eXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBt
X2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWls
ID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDk3MjgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtl
ZEJsb2NrOjpOb3JtYWwsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0
NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFk
ID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVw
ID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0g
MHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gOTk4NCwgbV9kZXN0cnVjdG9yVHlwZSA9
IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJr
ZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAg
ICAgICAgICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1f
YmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwg
PSAweDB9LCBtX2NlbGxTaXplID0gMTAyNDAsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0
cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0
NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFk
ID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgCiAgICAgICAgICAgICAg
ICAgICAgICBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4
MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDEwNDk2LCBtX2Rlc3RydWN0b3JUeXBlID0g
SlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAKICAgICAg
ICAgICAgICAgICAgICAgIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxp
c3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxv
Y2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY2VsbFNpemUgPSAxMDc1MiwgbV9kZXN0cnVj
dG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAx
MCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0g
MHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0g
MHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwg
bV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDExMDA4LCBtX2Rlc3RydWN0b3JUeXBlID0gSlND
OjpNYXJrZWRCbG9jazo6Tm9ybWFsLCAKICAgICAgICAgICAgICAgICAgICAgIG1faGVhcCA9IDB4
M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3Qg
PSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tz
VG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1f
aGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDExMjY0LCBtX2Rlc3RydWN0
b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEw
LCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0gewogICAgICAg
ICAgICAgICAgICAgICAgICBoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9
IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAs
IG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxMTUyMCwgCiAgICAgICAgICAgICAgICAgICAg
ICBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAw
eDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0
ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAg
ICAgICAgICAgICAgICAgIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9o
ZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTE3NzYsIG1fZGVzdHJ1Y3Rv
clR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAs
IAogICAgICAgICAgICAgICAgICAgICAgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7
bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4
MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1f
dGFpbCA9IDB4MH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jZWxsU2l6ZSA9IDEyMDMyLCBt
X2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNm
ZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0g
e2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50
QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFk
ID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTIyODgsIG1fZGVzdHJ1Y3RvclR5
cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIAogICAgICAgICAgICAgICAgICAgICAgbV9o
ZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9m
cmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwg
bV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAg
ICAgICAgbV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTI1NDQsIG1f
ZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2Zm
ZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7
CiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVu
dEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVh
ZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDEyODAwLCAKICAgICAgICAgICAg
ICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1f
aGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21f
ZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAs
IAogICAgICAgICAgICAgICAgICAgICAgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlz
dCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxMzA1NiwgbV9k
ZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZm
MDQ0NTAxMCwgCiAgICAgICAgICAgICAgICAgICAgICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0
NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJs
b2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9
IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2NlbGxTaXplID0g
MTMzMTIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVh
cCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJl
ZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgCiAgICAgICAgICAgICAgICAgICAgICBt
X2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9
IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxMzU2OCwgbV9kZXN0
cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgCiAgICAgICAgICAgICAgICAg
ICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJh
OH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2Nr
ID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAg
ICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAx
MzgyNCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFw
ID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVl
TGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwg
bV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3Qg
PSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTQwODAsIAogICAg
ICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5v
cm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUy
YTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9j
ayA9IDB4MCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1f
YmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDE0
MzM2LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAg
PSAweDNmZmYwNDQ1MDEwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fbWFya2VkU3BhY2UgPSAw
eDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9j
dXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7
bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY2Vs
bFNpemUgPSAxNDU5MiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1h
bCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9
LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAg
ICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxv
Y2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDE0ODQ4
LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCAKICAgICAgICAg
ICAgICAgICAgICAgIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNm
ZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJy
ZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7CiAg
ICAgICAgICAgICAgICAgICAgICAgIG1faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxs
U2l6ZSA9IDE1MTA0LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFs
LCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0s
IHttX2ZyZWVMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBoZWFkID0gMHgwLCBieXRl
cyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Js
b2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxNTM2
MCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRC
bG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgz
ZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3Vy
cmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fYmxvY2tzVG9Td2VlcCA9
IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxT
aXplID0gMTU2MTYsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWws
IG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIAogICAgICAgICAgICAgICAgICAgICAgbV9tYXJrZWRT
cGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9
IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2Nr
TGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIAogICAgICAgICAgICAgICAgICAg
ICAgbV9jZWxsU2l6ZSA9IDE1ODcyLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9j
azo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZm
MDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAg
ICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4
MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXpl
ID0gMTYxMjgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIAog
ICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFj
ZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9
LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlz
dCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9
LCBtX2NlbGxTaXplID0gMTYzODQsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2Nr
OjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYw
NDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWQgPSAw
eDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAw
eDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6
ZSA9IDE2NjQwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6
Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3Bh
Y2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAw
fSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIAogICAgICAgICAgICAgICAgICAgICAgbV9ibG9ja3NU
b1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0s
IG1fY2VsbFNpemUgPSAxNjg5NiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6
Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAgICAgICAgICAgICBt
X21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAs
IGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAs
IG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAgICAgICAg
ICAgICAgICAgICBtX2NlbGxTaXplID0gMTcxNTIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1h
cmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2Ug
PSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwg
CiAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3
ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1f
Y2VsbFNpemUgPSAxNzQwOCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5v
cm1hbCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21h
cmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5
dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1f
YmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFp
bCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxNzY2NCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFy
a2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9
IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAg
aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9T
d2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBt
X2NlbGxTaXplID0gMTc5MjAsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlw
ZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9t
YXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBi
eXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgCiAgICAgICAgICAgICAgICAgICAgICBt
X2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWls
ID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDE4MTc2LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJr
ZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAKICAgICAgICAgICAgICAg
ICAgICAgIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVh
ZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2Vl
cCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCAKICAg
ICAgICAgICAgICAgICAgICAgIG1fY2VsbFNpemUgPSAxODQzMiwgbV9kZXN0cnVjdG9yVHlwZSA9
IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJr
ZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRl
cyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Js
b2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0g
MHgwfSwgbV9jZWxsU2l6ZSA9IDE4Njg4LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRC
bG9jazo6Tm9ybWFsLCAKICAgICAgICAgICAgICAgICAgICAgIG1faGVhcCA9IDB4M2ZmZjA0NDUw
MTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9
IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9
IDB4MCwgbV9ibG9ja0xpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1faGVhZCA9IDB4
MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDE4OTQ0LCBtX2Rlc3RydWN0b3JUeXBlID0g
SlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0gewogICAgICAgICAgICAgICAg
ICAgICAgICBoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9i
bG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9
IDB4MH0sIG1fY2VsbFNpemUgPSAxOTIwMCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3Ry
dWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1
MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQg
PSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAg
ICAgICAgIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgw
LCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTk0NTYsIG1fZGVzdHJ1Y3RvclR5cGUgPSBK
U0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIAogICAgICAg
ICAgICAgICAgICAgICAgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlz
dCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9j
a3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4
MH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jZWxsU2l6ZSA9IDE5NzEyLCBtX2Rlc3RydWN0
b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEw
LCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAw
eDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAw
eDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBt
X3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTk5NjgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6
Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgz
ZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9
IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NU
b1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9o
ZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjAyMjQsIG1fZGVzdHJ1Y3Rv
clR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAs
IG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgIGhlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0g
MHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwg
bV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDIwNDgwLCAKICAgICAgICAgICAgICAgICAgICAg
IG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4
M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3Qg
PSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIAogICAgICAg
ICAgICAgICAgICAgICAgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hl
YWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyMDczNiwgbV9kZXN0cnVjdG9y
VHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwg
CiAgICAgICAgICAgICAgICAgICAgICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHtt
X2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgw
LCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90
YWlsID0gMHgwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2NlbGxTaXplID0gMjA5OTIsIG1f
ZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2Zm
ZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7
aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRC
bG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQg
PSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyMTI0OCwgbV9kZXN0cnVjdG9yVHlw
ZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hl
YXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2Zy
ZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBt
X2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAg
ICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyMTUwNCwgbV9k
ZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZm
MDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsK
ICAgICAgICAgICAgICAgICAgICAgICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50
QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFk
ID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjE3NjAsIAogICAgICAgICAgICAg
ICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9o
ZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9m
cmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwg
CiAgICAgICAgICAgICAgICAgICAgICBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0
ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDIyMDE2LCBtX2Rl
c3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYw
NDQ1MDEwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1
MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50Qmxv
Y2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0g
MHgwLCBtX3RhaWwgPSAweDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY2VsbFNpemUgPSAy
MjI3MiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFw
ID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVl
TGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1f
Y3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0g
e21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDIyNTI4LCBtX2Rlc3Ry
dWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCAKICAgICAgICAgICAgICAgICAg
ICAgIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4
fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sg
PSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgIG1faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDIy
Nzg0LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAg
PSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVM
aXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBt
X2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9
IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyMzA0MCwgCiAgICAg
ICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9y
bWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJh
OH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2Nr
ID0gMHgwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9i
bG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjMy
OTYsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9
IDB4M2ZmZjA0NDUwMTAsIAogICAgICAgICAgICAgICAgICAgICAgbV9tYXJrZWRTcGFjZSA9IDB4
M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1
cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHtt
X2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jZWxs
U2l6ZSA9IDIzNTUyLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFs
LCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0s
IHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAg
ICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9j
a0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjM4MDgs
IG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIAogICAgICAgICAg
ICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2Zm
ZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJl
bnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHsKICAg
ICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxT
aXplID0gMjQwNjQsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWws
IG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwg
e21fZnJlZUxpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWQgPSAweDAsIGJ5dGVz
ID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxv
Y2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDI0MzIw
LCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJs
b2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNm
ZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJy
ZW50QmxvY2sgPSAweDAsIAogICAgICAgICAgICAgICAgICAgICAgbV9ibG9ja3NUb1N3ZWVwID0g
MHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNp
emUgPSAyNDU3NiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwg
bV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAgICAgICAgICAgICBtX21hcmtlZFNw
YWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0g
MH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tM
aXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAgICAgICAgICAgICAgICAg
ICBtX2NlbGxTaXplID0gMjQ4MzIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2Nr
OjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYw
NDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgCiAgICAgICAg
ICAgICAgICAgICAgICBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgw
LCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUg
PSAyNTA4OCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgCiAg
ICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNl
ID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0s
IG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0
ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0s
IG1fY2VsbFNpemUgPSAyNTM0NCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6
Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0
NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVhZCA9IDB4
MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4
MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXpl
ID0gMjU2MDAsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6
TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFj
ZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9
LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Jsb2Nrc1Rv
U3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwg
bV9jZWxsU2l6ZSA9IDI1ODU2LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6
Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAKICAgICAgICAgICAgICAgICAgICAgIG1f
bWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwg
Ynl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwg
bV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCAKICAgICAgICAgICAg
ICAgICAgICAgIG1fY2VsbFNpemUgPSAyNjExMiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFy
a2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9
IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAK
ICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dl
ZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9j
ZWxsU2l6ZSA9IDI2MzY4LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9y
bWFsLCAKICAgICAgICAgICAgICAgICAgICAgIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFy
a2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0
ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9i
bG9ja0xpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1faGVhZCA9IDB4MCwgbV90YWls
ID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDI2NjI0LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJr
ZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0g
MHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBo
ZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3
ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1f
Y2VsbFNpemUgPSAyNjg4MCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBl
ID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21h
cmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5
dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAgICAgIG1f
YmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwg
PSAweDB9LCBtX2NlbGxTaXplID0gMjcxMzYsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtl
ZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIAogICAgICAgICAgICAgICAg
ICAgICAgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFk
ID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVw
ID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIAogICAg
ICAgICAgICAgICAgICAgICAgbV9jZWxsU2l6ZSA9IDI3MzkyLCBtX2Rlc3RydWN0b3JUeXBlID0g
SlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVz
ID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxv
Y2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCBtX2NlbGxTaXplID0gMjc2NDgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJs
b2NrOjpOb3JtYWwsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAx
MCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0g
MHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0g
MHgwLCBtX2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgw
LCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjc5MDQsIG1fZGVzdHJ1Y3RvclR5cGUgPSBK
U0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2Vk
U3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7CiAgICAgICAgICAgICAgICAg
ICAgICAgIGhlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Js
b2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0g
MHgwfSwgbV9jZWxsU2l6ZSA9IDI4MTYwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1
Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUw
MTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9
IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIAogICAgICAgICAgICAgICAg
ICAgICAgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAs
IG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyODQxNiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpT
Qzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAg
ICAgICAgICAgICAgICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0
ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nr
c1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgw
fSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2NlbGxTaXplID0gMjg2NzIsIG1fZGVzdHJ1Y3Rv
clR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAs
IG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4
MCwgYnl0ZXMgPSAwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRCbG9jayA9IDB4
MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1f
dGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyODkyOCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6
TWFya2VkQmxvY2s6Ok5vcm1hbCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNm
ZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0g
e2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1Rv
U3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hl
YWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyOTE4NCwgbV9kZXN0cnVjdG9y
VHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwg
bV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAg
ICAgICAgICAgICAgICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAw
eDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBt
X3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjk0NDAsIAogICAgICAgICAgICAgICAgICAgICAg
bV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgz
ZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9
IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgCiAgICAgICAg
ICAgICAgICAgICAgICBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVh
ZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDI5Njk2LCBtX2Rlc3RydWN0b3JU
eXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAK
ICAgICAgICAgICAgICAgICAgICAgIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21f
ZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAs
IG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3Rh
aWwgPSAweDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY2VsbFNpemUgPSAyOTk1MiwgbV9k
ZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZm
MDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHto
ZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJs
b2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9
IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDMwMjA4LCBtX2Rlc3RydWN0b3JUeXBl
ID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCAKICAgICAgICAgICAgICAgICAgICAgIG1faGVh
cCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJl
ZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1f
YmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIG1faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDMwNDY0LCBtX2Rl
c3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAgPSAweDNmZmYw
NDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0gewog
ICAgICAgICAgICAgICAgICAgICAgICBoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRC
bG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQg
PSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAzMDcyMCwgCiAgICAgICAgICAgICAg
ICAgICAgICBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hl
YXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2Zy
ZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAK
ICAgICAgICAgICAgICAgICAgICAgIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3Qg
PSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMzA5NzYsIG1fZGVz
dHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9IDB4M2ZmZjA0
NDUwMTAsIAogICAgICAgICAgICAgICAgICAgICAgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUy
YTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9j
ayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAw
eDAsIG1fdGFpbCA9IDB4MH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jZWxsU2l6ZSA9IDMx
MjMyLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9ybWFsLCBtX2hlYXAg
PSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVM
aXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9j
dXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7
bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMzE0ODgsIG1fZGVzdHJ1
Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIAogICAgICAgICAgICAgICAgICAg
ICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9
LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9
IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAg
ICAgICAgICAgICAgbV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMzE3
NDQsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWwsIG1faGVhcCA9
IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxp
c3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1f
Y3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0g
e21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDMyMDAwLCAKICAgICAg
ICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3Jt
YWwsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4
fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sg
PSAweDAsIAogICAgICAgICAgICAgICAgICAgICAgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Js
b2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAzMjI1
NiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgbV9oZWFwID0g
MHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAgICAgICAgICAgICBtX21hcmtlZFNwYWNlID0gMHgz
ZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3Vy
cmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21f
aGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2NlbGxT
aXplID0gMzI1MTIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb3JtYWws
IG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwg
e21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgCiAgICAgICAgICAgICAgICAg
ICAgICBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2Nr
TGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAzMjc2OCwg
bV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vcm1hbCwgCiAgICAgICAgICAg
ICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZm
MDQ0NTJhOH19fSwgbGFyZ2VBbGxvY2F0b3IgPSB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBi
eXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCAK
ICAgICAgICAgICAgICAgICAgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCBtX2NlbGxTaXplID0gMCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6
Ok5vcm1hbCwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0
NDUyYTh9fSwgCiAgICAgICAgICAgICAgbV9pbW1vcnRhbFN0cnVjdHVyZURlc3RydWN0b3JTcGFj
ZSA9IHtwcmVjaXNlQWxsb2NhdG9ycyA9IHttX2RhdGEgPSB7e21fZnJlZUxpc3QgPSB7aGVhZCA9
IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9
IDB4MCwgbV9ibG9ja0xpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1faGVhZCA9IDB4
MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6
Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwg
bV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7CiAgICAgICAgICAgICAgICAgICAgICBt
X2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgw
LCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90
YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDE2LCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVz
dHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgbV9oZWFw
ID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVl
TGlzdCA9IHtoZWFkID0gMHgzZmZlNDZiZDE3OCwgYnl0ZXMgPSA2NDM5Mn0sIAogICAgICAgICAg
ICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDNmZmU0NmIwMDAwLCBtX2Jsb2Nrc1RvU3dl
ZXAgPSAweDNmZmU0NmIwMDAwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDNmZmU0NmIwMDAw
LCBtX3RhaWwgPSAweDNmZmU0NmIwMDAwfSwgbV9jZWxsU2l6ZSA9IDI0LCAKICAgICAgICAgICAg
ICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0
cnVjdHVyZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0
NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAg
ICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAs
IG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9
IDMyLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1
cmUsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJr
ZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgzZmZkNTgz
ZjgwOCwgYnl0ZXMgPSA2NDQwMH0sIG1fY3VycmVudEJsb2NrID0gMHgzZmZkNTgzMDAwMCwgCiAg
ICAgICAgICAgICAgICAgICAgICBtX2Jsb2Nrc1RvU3dlZXAgPSAweDNmZmQ1ODMwMDAwLCBtX2Js
b2NrTGlzdCA9IHttX2hlYWQgPSAweDNmZmQ1ODMwMDAwLCBtX3RhaWwgPSAweDNmZmQ1ODMwMDAw
fSwgbV9jZWxsU2l6ZSA9IDQwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5
cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgbV9oZWFwID0gMHgzZmZm
MDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHto
ZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJs
b2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9
IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDQ4LCBtX2Rlc3RydWN0b3JUeXBlID0g
SlNDOjpNYXJrZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1cmUsIAogICAgICAgICAgICAgICAgICAg
ICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9
LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgzZmZkNTdhZjE1OCwgYnl0ZXMgPSA2NDQwMH0sIG1f
Y3VycmVudEJsb2NrID0gMHgzZmZkNTdhMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Js
b2Nrc1RvU3dlZXAgPSAweDNmZmQ1N2EwMDAwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDNm
ZmQ1N2EwMDAwLCBtX3RhaWwgPSAweDNmZmQ1N2EwMDAwfSwgbV9jZWxsU2l6ZSA9IDU2LCAKICAg
ICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJ
bW1vcnRhbFN0cnVjdHVyZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9
IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgzZmZkNTg3ZmVmMCwgYnl0
ZXMgPSA2NDM4NH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDNm
ZmQ1ODcwMDAwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDNmZmQ1ODcwMDAwLCBtX2Jsb2NrTGlzdCA9
IHttX2hlYWQgPSAweDNmZmQ1ODcwMDAwLCBtX3RhaWwgPSAweDNmZmQ1ODcwMDAwfSwgbV9jZWxs
U2l6ZSA9IDY0LCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6
Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwg
bV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgw
LCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgw
LCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90
YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDcyLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJr
ZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1cmUsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFw
ID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVl
TGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9i
bG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAg
ICAgbV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gODAsIG1fZGVzdHJ1
Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgbV9oZWFwID0g
MHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7CiAgICAgICAg
ICAgICAgICAgICAgICBtX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3Vy
cmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21f
aGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDg4LCAKICAgICAgICAgICAg
ICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0
cnVjdHVyZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0
NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAg
ICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAs
IG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9
IDk2LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1
cmUsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJr
ZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRl
cyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Js
b2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgwLCBtX3RhaWwg
PSAweDB9LCBtX2NlbGxTaXplID0gMTA0LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRC
bG9jazo6SW1tb3J0YWxTdHJ1Y3R1cmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2Vk
U3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwgewogICAgICAgICAgICAgICAgICAgICAgbV9mcmVlTGlz
dCA9IHtoZWFkID0gMHgzZmZlNDZkMmUwMCwgYnl0ZXMgPSA2NDQwMH0sIG1fY3VycmVudEJsb2Nr
ID0gMHgzZmZlNDZkMDAwMCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgzZmZlNDZkMDAwMCwgbV9ibG9j
a0xpc3QgPSB7bV9oZWFkID0gMHgzZmZlNDZkMDAwMCwgCiAgICAgICAgICAgICAgICAgICAgICAg
IG1fdGFpbCA9IDB4M2ZmZTQ2ZDAwMDB9LCBtX2NlbGxTaXplID0gMTEyLCBtX2Rlc3RydWN0b3JU
eXBlID0gSlNDOjpNYXJrZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1cmUsIG1faGVhcCA9IDB4M2Zm
ZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwgewogICAgICAgICAgICAg
ICAgICAgICAgbV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRC
bG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQg
PSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxMjAsIAogICAgICAgICAgICAgICAg
ICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0
dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJh
OH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAg
ICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9i
bG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTI4
LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1cmUs
IAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRT
cGFjZSA9IDB4M2ZmZjA0NDUyYTh9fX0sIGltcHJlY2lzZUFsbG9jYXRvcnMgPSB7bV9kYXRhID0g
e3ttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDNmZmQ1NTZmYzcwLCBieXRlcyA9IDY0MjU2fSwgCiAg
ICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRCbG9jayA9IDB4M2ZmZDU1NjAwMDAsIG1fYmxv
Y2tzVG9Td2VlcCA9IDB4M2ZmZDU1NjAwMDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4M2Zm
ZDU1NjAwMDAsIG1fdGFpbCA9IDB4M2ZmZDU1NjAwMDB9LCBtX2NlbGxTaXplID0gMjU2LCAKICAg
ICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJ
bW1vcnRhbFN0cnVjdHVyZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9
IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgzZmZkNTcyZmE3MCwgYnl0
ZXMgPSA2NDAwMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDNm
ZmQ1NzIwMDAwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDNmZmQ1NzIwMDAwLCBtX2Jsb2NrTGlzdCA9
IHttX2hlYWQgPSAweDNmZmQ1NzIwMDAwLCBtX3RhaWwgPSAweDNmZmQ1NzIwMDAwfSwgbV9jZWxs
U2l6ZSA9IDUxMiwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBlID0gSlND
OjpNYXJrZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1cmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAs
IG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4
MCwgYnl0ZXMgPSAwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRCbG9jayA9IDB4
MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1f
dGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA3NjgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1h
cmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hl
YXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2Zy
ZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBt
X2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAg
ICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxMDI0LCBtX2Rl
c3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1cmUsIG1faGVh
cCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwgewogICAg
ICAgICAgICAgICAgICAgICAgbV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBt
X2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9
IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxMjgwLCAKICAgICAg
ICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1v
cnRhbFN0cnVjdHVyZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4
M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAg
ICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAg
PSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxs
U2l6ZSA9IDE1MzYsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRh
bFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEw
LCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAw
eDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAw
eDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAs
IG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxNzkyLCBtX2Rlc3RydWN0b3JUeXBlID0gSlND
OjpNYXJrZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1cmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAs
IG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwgewogICAgICAgICAgICAgICAgICAgICAg
bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4
MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1f
dGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyMDQ4LCAKICAgICAgICAgICAgICAgICAgICAgIG1f
ZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgbV9o
ZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9m
cmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAg
IG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0
ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDIzMDQsIG1fZGVz
dHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAg
ICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0g
MHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1f
Y3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0g
ewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1f
Y2VsbFNpemUgPSAyNTYwLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6SW1t
b3J0YWxTdHJ1Y3R1cmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAw
eDNmZmYwNDQ1MmE4fSwgewogICAgICAgICAgICAgICAgICAgICAgbV9mcmVlTGlzdCA9IHtoZWFk
ID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVw
ID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2Vs
bFNpemUgPSAyODE2LCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBK
U0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAx
MCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0g
MHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0g
MHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwg
bV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDMwNzIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6
Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBt
X2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHtt
X2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgw
LCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAg
ICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAzMzI4LCBt
X2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1cmUsIG1f
aGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwgewog
ICAgICAgICAgICAgICAgICAgICAgbV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9
LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlz
dCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAzNTg0LCAKICAg
ICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJ
bW1vcnRhbFN0cnVjdHVyZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9
IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAK
ICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dl
ZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9j
ZWxsU2l6ZSA9IDM4NDAsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1v
cnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1
MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQg
PSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAg
PSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAw
eDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA0MDk2LCBtX2Rlc3RydWN0b3JUeXBlID0g
SlNDOjpNYXJrZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1cmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUw
MTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwgewogICAgICAgICAgICAgICAgICAg
ICAgbV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9
IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAs
IG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA0MzUyLCAKICAgICAgICAgICAgICAgICAgICAg
IG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwg
bV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7
bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAg
ICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tM
aXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDQ2MDgsIG1f
ZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAg
ICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNl
ID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0s
IG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0
ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0s
IG1fY2VsbFNpemUgPSA0ODY0LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6
SW1tb3J0YWxTdHJ1Y3R1cmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2Ug
PSAweDNmZmYwNDQ1MmE4fSwgewogICAgICAgICAgICAgICAgICAgICAgbV9mcmVlTGlzdCA9IHto
ZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3
ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1f
Y2VsbFNpemUgPSA1MTIwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUg
PSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgbV9oZWFwID0gMHgzZmZmMDQ0
NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFk
ID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2Nr
ID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4
MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDUzNzYsIG1fZGVzdHJ1Y3RvclR5cGUgPSBK
U0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAg
ICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0s
IHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0g
MHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAg
ICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA1NjMy
LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1cmUs
IG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwg
ewogICAgICAgICAgICAgICAgICAgICAgbV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9
IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2Nr
TGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA1ODg4LCAK
ICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2Nr
OjpJbW1vcnRhbFN0cnVjdHVyZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFj
ZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9
LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1Rv
U3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwg
bV9jZWxsU2l6ZSA9IDYxNDQsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJ
bW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYw
NDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hl
YWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dl
ZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQg
PSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA2NDAwLCBtX2Rlc3RydWN0b3JUeXBl
ID0gSlNDOjpNYXJrZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1cmUsIG1faGVhcCA9IDB4M2ZmZjA0
NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwgewogICAgICAgICAgICAgICAg
ICAgICAgbV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9j
ayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAw
eDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA2NjU2LCAKICAgICAgICAgICAgICAgICAg
ICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVy
ZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9
LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAg
ICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxv
Y2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDY5MTIs
IG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwg
CiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNw
YWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0g
MH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tM
aXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4
MH0sIG1fY2VsbFNpemUgPSA3MTY4LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9j
azo6SW1tb3J0YWxTdHJ1Y3R1cmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3Bh
Y2UgPSAweDNmZmYwNDQ1MmE4fSwgewogICAgICAgICAgICAgICAgICAgICAgbV9mcmVlTGlzdCA9
IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NU
b1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0s
IG1fY2VsbFNpemUgPSA3NDI0LCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5
cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgbV9oZWFwID0gMHgzZmZm
MDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHto
ZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJs
b2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9
IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDc2ODAsIG1fZGVzdHJ1Y3RvclR5cGUg
PSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAg
ICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJh
OH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2Nr
ID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAg
ICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA3
OTM2LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1
cmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4
fSwgewogICAgICAgICAgICAgICAgICAgICAgbV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRl
cyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Js
b2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA4MTky
LCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJs
b2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRT
cGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9
IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nr
c1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgw
fSwgbV9jZWxsU2l6ZSA9IDg0NDgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2Nr
OjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNm
ZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0g
e2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1Rv
U3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hl
YWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA4NzA0LCBtX2Rlc3RydWN0b3JU
eXBlID0gSlNDOjpNYXJrZWRCbG9jazo6SW1tb3J0YWxTdHJ1Y3R1cmUsIG1faGVhcCA9IDB4M2Zm
ZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwgewogICAgICAgICAgICAg
ICAgICAgICAgbV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRC
bG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQg
PSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA4OTYwLCAKICAgICAgICAgICAgICAg
ICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVj
dHVyZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUy
YTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAg
ICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1f
YmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDky
MTYsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVy
ZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVz
ID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxv
Y2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9
IDB4MH0sIG1fY2VsbFNpemUgPSA5NDcyLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRC
bG9jazo6SW1tb3J0YWxTdHJ1Y3R1cmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2Vk
U3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwgewogICAgICAgICAgICAgICAgICAgICAgbV9mcmVlTGlz
dCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9j
a3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4
MH0sIG1fY2VsbFNpemUgPSA5NzI4LCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3Rv
clR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgbV9oZWFwID0gMHgz
ZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9
IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVu
dEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVh
ZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDk5ODQsIG1fZGVzdHJ1Y3RvclR5
cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAg
ICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0
NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJs
b2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAg
ICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUg
PSAxMDI0MCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3Ry
dWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0
NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwg
Ynl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwg
bV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0g
MTA0OTYsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFy
a2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21h
cmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5
dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1f
YmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwg
PSAweDB9LCBtX2NlbGxTaXplID0gMTA3NTIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtl
ZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAg
PSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVM
aXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Js
b2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAg
ICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxMTAwOCwgbV9kZXN0
cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAg
PSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAg
ICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9j
dXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7
bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTEyNjQsIAogICAgICAg
ICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9y
dGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgz
ZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAg
ICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9
IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxT
aXplID0gMTE1MjAsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRh
bFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEw
LCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAw
eDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAw
eDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAs
IG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxMTc3NiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpT
Qzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEw
LCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAg
IG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAw
eDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBt
X3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTIwMzIsIAogICAgICAgICAgICAgICAgICAgICAg
bV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBt
X2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHtt
X2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAg
ICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xp
c3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTIyODgsIG1f
ZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAg
ICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNl
ID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0s
IG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0
ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0s
IG1fY2VsbFNpemUgPSAxMjU0NCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6
OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNl
ID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7
aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9T
d2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBt
X2NlbGxTaXplID0gMTI4MDAsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlw
ZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYw
NDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hl
YWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50Qmxv
Y2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0g
MHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTMwNTYsIG1fZGVzdHJ1Y3RvclR5cGUg
PSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAg
ICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJh
OH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2Nr
ID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAg
ICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAx
MzMxMiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0
dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJh
OH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0
ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9i
bG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTM1
NjgsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2Vk
QmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVz
ID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxv
Y2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCBtX2NlbGxTaXplID0gMTM4MjQsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJs
b2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAw
eDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0
ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nr
c1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBt
X2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxNDA4MCwgbV9kZXN0cnVj
dG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAw
eDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAg
ICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJy
ZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9o
ZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTQzMzYsIAogICAgICAgICAg
ICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFs
U3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZm
MDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAg
ICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4
MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXpl
ID0gMTQ1OTIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0
cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBt
X21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAs
IGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAs
IG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1f
dGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxNDg0OCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6
TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBt
X21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1f
ZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAs
IG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3Rh
aWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTUxMDQsIAogICAgICAgICAgICAgICAgICAgICAgbV9k
ZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hl
YXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2Zy
ZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAg
bV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3Qg
PSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTUzNjAsIG1fZGVz
dHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAg
ICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0g
MHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1f
Y3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0g
ewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1f
Y2VsbFNpemUgPSAxNTYxNiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Oklt
bW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0g
MHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVh
ZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2Vl
cCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2Nl
bGxTaXplID0gMTU4NzIsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9
IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1
MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQg
PSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sg
PSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgw
LCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTYxMjgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBK
U0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAg
ICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0s
IHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0g
MHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAg
ICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxNjM4
NCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJl
LCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0s
IHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMg
PSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9j
a0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTY2NDAs
IAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxv
Y2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNw
YWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0g
MH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tz
VG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9
LCBtX2NlbGxTaXplID0gMTY4OTYsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2Nr
OjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNm
ZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0g
e2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1Rv
U3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hl
YWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxNzE1MiwgbV9kZXN0cnVjdG9y
VHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNm
ZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAg
ICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50
QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFk
ID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTc0MDgsIAogICAgICAgICAgICAg
ICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3Ry
dWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0
NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAg
ICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwg
bV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0g
MTc2NjQsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVj
dHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21h
cmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5
dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1f
YmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFp
bCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxNzkyMCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFy
a2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21h
cmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJl
ZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1f
YmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwg
PSAweDB9LCBtX2NlbGxTaXplID0gMTgxNzYsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0
cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAg
PSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVM
aXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9j
dXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7
bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTg0MzIsIG1fZGVzdHJ1
Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAg
ICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgz
ZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3Vy
cmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewog
ICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2Vs
bFNpemUgPSAxODY4OCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9y
dGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgz
ZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9
IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9
IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxT
aXplID0gMTg5NDQsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpT
Qzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEw
LCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAw
eDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAw
eDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBt
X3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTkyMDAsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6
Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBt
X2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHtt
X2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgw
LCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAg
ICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxOTQ1Niwg
bV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBt
X2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsK
ICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAw
fSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xp
c3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTk3MTIsIAog
ICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6
OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNl
ID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0s
IAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9T
d2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBt
X2NlbGxTaXplID0gMTk5NjgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJ
bW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYw
NDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hl
YWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dl
ZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQg
PSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyMDIyNCwgbV9kZXN0cnVjdG9yVHlw
ZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYw
NDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAg
ICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50Qmxv
Y2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0g
MHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjA0ODAsIAogICAgICAgICAgICAgICAg
ICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0
dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJh
OH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAg
ICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9i
bG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjA3
MzYsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVy
ZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVz
ID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxv
Y2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9
IDB4MH0sIG1fY2VsbFNpemUgPSAyMDk5MiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2Vk
QmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxp
c3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxv
Y2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCBtX2NlbGxTaXplID0gMjEyNDgsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVj
dG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAw
eDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0
ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJy
ZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9o
ZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjE1MDQsIG1fZGVzdHJ1Y3Rv
clR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAg
ICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZm
MDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVu
dEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAg
ICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNp
emUgPSAyMTc2MCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFs
U3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZm
MDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4
MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4
MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXpl
ID0gMjIwMTYsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6
TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBt
X21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAs
IGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAs
IG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3Rh
aWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjIyNzIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1h
cmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hl
YXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2Zy
ZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBt
X2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAg
ICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyMjUyOCwgbV9k
ZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hl
YXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAg
ICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwg
bV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3Qg
PSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjI3ODQsIAogICAg
ICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Oklt
bW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0g
MHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAog
ICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2Vl
cCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2Nl
bGxTaXplID0gMjMwNDAsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1v
cnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1
MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQg
PSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAg
PSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAw
eDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyMzI5NiwgbV9kZXN0cnVjdG9yVHlwZSA9
IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1
MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAg
ICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sg
PSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgw
LCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjM1NTIsIAogICAgICAgICAgICAgICAgICAg
ICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJl
LCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0s
IHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAg
ICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9j
a0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjM4MDgs
IG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwg
CiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNw
YWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0g
MH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tM
aXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4
MH0sIG1fY2VsbFNpemUgPSAyNDA2NCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxv
Y2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNw
YWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3Qg
PSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tz
VG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9
LCBtX2NlbGxTaXplID0gMjQzMjAsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9y
VHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNm
ZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0g
e2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50
QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFk
ID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjQ1NzYsIG1fZGVzdHJ1Y3RvclR5
cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAg
ICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0
NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJs
b2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAg
ICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUg
PSAyNDgzMiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3Ry
dWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0
NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwg
Ynl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwg
bV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0g
MjUwODgsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFy
a2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21h
cmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5
dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1f
YmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwg
PSAweDB9LCBtX2NlbGxTaXplID0gMjUzNDQsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtl
ZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAg
PSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVM
aXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Js
b2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAg
ICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyNTYwMCwgbV9kZXN0
cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAg
PSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAg
ICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9j
dXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7
bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjU4NTYsIAogICAgICAg
ICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9y
dGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgz
ZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAg
ICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9
IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxT
aXplID0gMjYxMTIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRh
bFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEw
LCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAw
eDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAw
eDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAs
IG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyNjM2OCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpT
Qzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEw
LCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAg
IG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAw
eDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBt
X3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjY2MjQsIAogICAgICAgICAgICAgICAgICAgICAg
bV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBt
X2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHtt
X2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAg
ICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xp
c3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjY4ODAsIG1f
ZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAg
ICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNl
ID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0s
IG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0
ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0s
IG1fY2VsbFNpemUgPSAyNzEzNiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6
OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNl
ID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7
aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9T
d2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBt
X2NlbGxTaXplID0gMjczOTIsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlw
ZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYw
NDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hl
YWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50Qmxv
Y2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0g
MHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjc2NDgsIG1fZGVzdHJ1Y3RvclR5cGUg
PSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAg
ICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJh
OH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2Nr
ID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAg
ICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAy
NzkwNCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0
dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJh
OH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0
ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9i
bG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjgx
NjAsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2Vk
QmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVz
ID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxv
Y2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCBtX2NlbGxTaXplID0gMjg0MTYsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJs
b2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAw
eDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0
ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nr
c1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBt
X2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyODY3MiwgbV9kZXN0cnVj
dG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAw
eDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAg
ICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJy
ZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9o
ZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjg5MjgsIAogICAgICAgICAg
ICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFs
U3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZm
MDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAg
ICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4
MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXpl
ID0gMjkxODQsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0
cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBt
X21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAs
IGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAs
IG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1f
dGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyOTQ0MCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6
TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBt
X21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1f
ZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAs
IG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3Rh
aWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjk2OTYsIAogICAgICAgICAgICAgICAgICAgICAgbV9k
ZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hl
YXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2Zy
ZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAg
bV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3Qg
PSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjk5NTIsIG1fZGVz
dHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAg
ICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0g
MHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1f
Y3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0g
ewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1f
Y2VsbFNpemUgPSAzMDIwOCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Oklt
bW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0g
MHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVh
ZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2Vl
cCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2Nl
bGxTaXplID0gMzA0NjQsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9
IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1
MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQg
PSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sg
PSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgw
LCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMzA3MjAsIG1fZGVzdHJ1Y3RvclR5cGUgPSBK
U0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAg
ICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0s
IHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0g
MHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAg
ICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAzMDk3
NiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJl
LCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0s
IHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMg
PSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9j
a0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMzEyMzIs
IAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxv
Y2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNw
YWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0g
MH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tz
VG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9
LCBtX2NlbGxTaXplID0gMzE0ODgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2Nr
OjpJbW1vcnRhbFN0cnVjdHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNm
ZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0g
e2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1Rv
U3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hl
YWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAzMTc0NCwgbV9kZXN0cnVjdG9y
VHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNm
ZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAg
ICAgICAgICAgIG1fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50
QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFk
ID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMzIwMDAsIAogICAgICAgICAgICAg
ICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3Ry
dWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0
NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAg
ICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwg
bV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0g
MzIyNTYsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpJbW1vcnRhbFN0cnVj
dHVyZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21h
cmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5
dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1f
YmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFp
bCA9IDB4MH0sIG1fY2VsbFNpemUgPSAzMjUxMiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFy
a2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21h
cmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHsKICAgICAgICAgICAgICAgICAgICAgIG1fZnJl
ZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1f
YmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwg
PSAweDB9LCBtX2NlbGxTaXplID0gMzI3NjgsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0
cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAg
PSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH19fSwgbGFyZ2VB
bGxvY2F0b3IgPSB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCAKICAgICAgICAgICAgICAgICAg
ICBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgw
LCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUg
PSAwLCAKICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxv
Y2s6OkltbW9ydGFsU3RydWN0dXJlLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNw
YWNlID0gMHgzZmZmMDQ0NTJhOH19LCBtX25vcm1hbFNwYWNlID0ge3ByZWNpc2VBbGxvY2F0b3Jz
ID0ge21fZGF0YSA9IHt7CiAgICAgICAgICAgICAgICAgICAgICBtX2ZyZWVMaXN0ID0ge2hlYWQg
PSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAg
PSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxs
U2l6ZSA9IDgsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6
TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2Ug
PSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4M2ZmZTQwNGZlYjAsIGJ5
dGVzID0gNjQ0MDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgz
ZmZlNDA0MDAwMCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgzZmZlNDA0MDAwMCwgbV9ibG9ja0xpc3Qg
PSB7bV9oZWFkID0gMHgzZmZlNDA0MDAwMCwgbV90YWlsID0gMHgzZmZlNDA0MDAwMH0sIG1fY2Vs
bFNpemUgPSAxNiwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBlID0gSlND
OjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFj
ZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgzZmZkNTdlZmYyMCwg
Ynl0ZXMgPSA2NDM5Mn0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAw
eDNmZmQ1N2UwMDAwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDNmZmQ1N2UwMDAwLCBtX2Jsb2NrTGlz
dCA9IHttX2hlYWQgPSAweDNmZmQ1N2UwMDAwLCBtX3RhaWwgPSAweDNmZmQ1N2UwMDAwfSwgbV9j
ZWxsU2l6ZSA9IDI0LCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBK
U0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNw
YWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0g
MH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fYmxvY2tz
VG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9
LCBtX2NlbGxTaXplID0gMzIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpO
b25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fbWFy
a2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4M2ZmZDU3
OGZkMDgsIGJ5dGVzID0gNjQ0MDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4M2ZmZDU3ODAwMDAsIG1f
YmxvY2tzVG9Td2VlcCA9IDB4M2ZmZDU3ODAwMDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAg
ICAgICAgICAgICAgICBtX2hlYWQgPSAweDNmZmQ1NzgwMDAwLCBtX3RhaWwgPSAweDNmZmQ1Nzgw
MDAwfSwgbV9jZWxsU2l6ZSA9IDQwLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9j
azo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0
NDUyYTh9LCAKICAgICAgICAgICAgICAgICAgICB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBi
eXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBt
X2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA0
OCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRC
bG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2Zm
ZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJl
bnRCbG9jayA9IDB4MCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Jsb2Nrc1RvU3dlZXAgPSAw
eDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6
ZSA9IDU2LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFw
ID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAgICAgICAgICAgICBtX21hcmtlZFNwYWNlID0g
MHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1f
Y3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0g
e21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Nl
bGxTaXplID0gNjQsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBt
X2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHtt
X2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAg
ICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xp
c3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gNzIsIG1fZGVz
dHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCAKICAgICAgICAgICAgICAgICAg
ICAgIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4
fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sg
PSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgIG1faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDgw
LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgz
ZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9
IHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVhZCA9IDB4M2ZmZDU4MWUwNzAsIGJ5dGVzID0g
NjQzMjh9LCBtX2N1cnJlbnRCbG9jayA9IDB4M2ZmZDU4MTAwMDAsIG1fYmxvY2tzVG9Td2VlcCA9
IDB4M2ZmZDU4MTAwMDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4M2ZmZDU4MTAwMDAsIAog
ICAgICAgICAgICAgICAgICAgICAgICBtX3RhaWwgPSAweDNmZmQ1ODEwMDAwfSwgbV9jZWxsU2l6
ZSA9IDg4LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFw
ID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVl
TGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwg
bV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3Qg
PSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gOTYsIAogICAgICAg
ICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUs
IG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwg
e21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAw
eDAsIAogICAgICAgICAgICAgICAgICAgICAgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2Nr
TGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxMDQsIG1f
ZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYw
NDQ1MDEwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1
MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50Qmxv
Y2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0g
MHgwLCBtX3RhaWwgPSAweDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY2VsbFNpemUgPSAx
MTIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAw
eDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0
ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJy
ZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9o
ZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTIwLCBtX2Rlc3RydWN0b3JU
eXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hl
YXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2Zy
ZWVMaXN0ID0ge2hlYWQgPSAweDNmZmQ1NzRmZWYwLCBieXRlcyA9IDY0Mzg0fSwgbV9jdXJyZW50
QmxvY2sgPSAweDNmZmQ1NzQwMDAwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fYmxvY2tzVG9T
d2VlcCA9IDB4M2ZmZDU3NDAwMDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4M2ZmZDU3NDAw
MDAsIG1fdGFpbCA9IDB4M2ZmZDU3NDAwMDB9LCBtX2NlbGxTaXplID0gMTI4LCBtX2Rlc3RydWN0
b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgCiAgICAgICAgICAgICAgICAgICAgICBt
X2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH19fSwg
aW1wcmVjaXNlQWxsb2NhdG9ycyA9IHttX2RhdGEgPSB7e21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4
M2ZmZDU3MDExNzAsIGJ5dGVzID0gNjQyNTZ9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3Vy
cmVudEJsb2NrID0gMHgzZmZkNTcwMDAwMCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgzZmZkNTcwMDAw
MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgzZmZkNTcwMDAwMCwgbV90YWlsID0gMHgzZmZk
NTcwMDAwMH0sIG1fY2VsbFNpemUgPSAyNTYsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0
cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUw
MTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9
IDB4M2ZmZDU1MmZhNzAsIGJ5dGVzID0gNjQwMDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1f
Y3VycmVudEJsb2NrID0gMHgzZmZkNTUyMDAwMCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgzZmZkNTUy
MDAwMCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgzZmZkNTUyMDAwMCwgbV90YWlsID0gMHgz
ZmZkNTUyMDAwMH0sIG1fY2VsbFNpemUgPSA1MTIsIAogICAgICAgICAgICAgICAgICAgICAgbV9k
ZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0
NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVh
ZCA9IDB4M2ZmZDU1NGY3NzAsIGJ5dGVzID0gNjM3NDR9LCAKICAgICAgICAgICAgICAgICAgICAg
IG1fY3VycmVudEJsb2NrID0gMHgzZmZkNTU0MDAwMCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgzZmZk
NTU0MDAwMCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgzZmZkNTU0MDAwMCwgbV90YWlsID0g
MHgzZmZkNTU0MDAwMH0sIG1fY2VsbFNpemUgPSA3NjgsIAogICAgICAgICAgICAgICAgICAgICAg
bV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2Zm
ZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7
aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIAogICAgICAgICAg
ICAgICAgICAgICAgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQg
PSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxMDI0LCBtX2Rlc3RydWN0b3JUeXBl
ID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAg
ICAgICAgICAgICAgICAgICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVM
aXN0ID0ge2hlYWQgPSAweDNmZmU0MDJmNDcwLCBieXRlcyA9IDY0MDAwfSwgbV9jdXJyZW50Qmxv
Y2sgPSAweDNmZmU0MDIwMDAwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDNmZmU0MDIwMDAwLCBtX2Js
b2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgzZmZlNDAyMDAw
MCwgbV90YWlsID0gMHgzZmZlNDAyMDAwMH0sIG1fY2VsbFNpemUgPSAxMjgwLCBtX2Rlc3RydWN0
b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwg
CiAgICAgICAgICAgICAgICAgICAgICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHtt
X2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgw
LCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90
YWlsID0gMHgwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2NlbGxTaXplID0gMTUzNiwgbV9k
ZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0
NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVh
ZCA9IDB4MCwgYnl0ZXMgPSAwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRCbG9j
ayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAw
eDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxNzkyLCBtX2Rlc3RydWN0b3JUeXBlID0g
SlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAw
eDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0
ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nr
c1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBt
X2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyMDQ4LCBtX2Rlc3RydWN0
b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwg
bV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAg
ICAgICAgICAgICAgICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAw
eDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBt
X3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjMwNCwgCiAgICAgICAgICAgICAgICAgICAgICBt
X2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZm
MDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHto
ZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgCiAgICAgICAgICAg
ICAgICAgICAgICBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9
IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDI1NjAsIG1fZGVzdHJ1Y3RvclR5cGUg
PSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAKICAgICAg
ICAgICAgICAgICAgICAgIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxp
c3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxv
Y2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY2VsbFNpemUgPSAyODE2LCBtX2Rlc3RydWN0
b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwg
bV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgw
LCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgw
LCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90
YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDMwNzIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1h
cmtlZEJsb2NrOjpOb25lLCAKICAgICAgICAgICAgICAgICAgICAgIG1faGVhcCA9IDB4M2ZmZjA0
NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVh
ZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2Vl
cCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1faGVhZCA9
IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDMzMjgsIG1fZGVzdHJ1Y3RvclR5cGUg
PSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0gewogICAgICAgICAgICAgICAg
ICAgICAgICBoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9i
bG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9
IDB4MH0sIG1fY2VsbFNpemUgPSAzNTg0LCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1
Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEw
LCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAw
eDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAg
ICAgIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBt
X3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMzg0MCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6
TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIAogICAgICAgICAgICAg
ICAgICAgICAgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHto
ZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3
ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIAog
ICAgICAgICAgICAgICAgICAgICAgbV9jZWxsU2l6ZSA9IDQwOTYsIG1fZGVzdHJ1Y3RvclR5cGUg
PSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVz
ID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxv
Y2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCBtX2NlbGxTaXplID0gNDM1MiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxv
Y2s6Ok5vbmUsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwg
bV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgw
LCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgw
LCBtX2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgwLCBt
X3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gNDYwOCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6
TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2Ug
PSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAg
IGhlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1Rv
U3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwg
bV9jZWxsU2l6ZSA9IDQ4NjQsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlw
ZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFy
a2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0
ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIAogICAgICAgICAgICAgICAgICAgICAgbV9i
bG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9
IDB4MH0sIG1fY2VsbFNpemUgPSA1MTIwLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRC
bG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAgICAgICAgICAg
ICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAw
eDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAw
eDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAgICAg
ICAgICAgICAgICAgICBtX2NlbGxTaXplID0gNTM3NiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6
TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2Ug
PSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwg
CiAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3
ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1f
Y2VsbFNpemUgPSA1NjMyLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9u
ZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVz
ID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxv
Y2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9
IDB4MH0sIG1fY2VsbFNpemUgPSA1ODg4LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRC
bG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2Zm
ZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVhZCA9
IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9
IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxT
aXplID0gNjE0NCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBlID0gSlND
OjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFj
ZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9
LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Jsb2Nrc1Rv
U3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwg
bV9jZWxsU2l6ZSA9IDY0MDAsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpO
b25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fbWFy
a2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0
ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9i
bG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCAKICAgICAgICAgICAgICAg
ICAgICAgIG1fY2VsbFNpemUgPSA2NjU2LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRC
bG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2Zm
ZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAg
ICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAw
eDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6
ZSA9IDY5MTIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCAKICAg
ICAgICAgICAgICAgICAgICAgIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2Ug
PSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwg
bV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3Qg
PSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwg
bV9jZWxsU2l6ZSA9IDcxNjgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpO
b25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJh
OH0sIHttX2ZyZWVMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBoZWFkID0gMHgwLCBi
eXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBt
X2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA3
NDI0LCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtl
ZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgz
ZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3Vy
cmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fYmxvY2tzVG9Td2VlcCA9
IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxT
aXplID0gNzY4MCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1f
aGVhcCA9IDB4M2ZmZjA0NDUwMTAsIAogICAgICAgICAgICAgICAgICAgICAgbV9tYXJrZWRTcGFj
ZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9
LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlz
dCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIAogICAgICAgICAgICAgICAgICAgICAg
bV9jZWxsU2l6ZSA9IDc5MzYsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpO
b25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJh
OH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAg
ICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9i
bG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gODE5
MiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIAogICAgICAgICAg
ICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2Zm
ZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJl
bnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHsKICAg
ICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxT
aXplID0gODQ0OCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1f
aGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21f
ZnJlZUxpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWQgPSAweDAsIGJ5dGVzID0g
MH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tM
aXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDg3MDQsIAog
ICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6
Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1
MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50Qmxv
Y2sgPSAweDAsIAogICAgICAgICAgICAgICAgICAgICAgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBt
X2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA4
OTYwLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0g
MHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAgICAgICAgICAgICBtX21hcmtlZFNwYWNlID0gMHgz
ZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3Vy
cmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21f
aGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2NlbGxT
aXplID0gOTIxNiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1f
aGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21f
ZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgCiAgICAgICAgICAgICAgICAgICAg
ICBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlz
dCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA5NDcyLCBtX2Rl
c3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgCiAgICAgICAgICAgICAgICAg
ICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJh
OH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2Nr
ID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAg
ICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSA5
NzI4LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0g
MHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlz
dCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9j
dXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7
bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gOTk4NCwgCiAgICAgICAg
ICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwg
bV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7
bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4
MCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tM
aXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDEwMjQwLCBt
X2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZm
MDQ0NTAxMCwgCiAgICAgICAgICAgICAgICAgICAgICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0
NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJs
b2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9
IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2NlbGxTaXplID0g
MTA0OTYsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAg
PSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVM
aXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9j
dXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7
bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTA3NTIsIG1fZGVzdHJ1
Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCAKICAgICAgICAgICAgICAgICAgICAg
IG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwg
e21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAw
eDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7CiAgICAgICAgICAgICAg
ICAgICAgICAgIG1faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDExMDA4
LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgz
ZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9
IHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJy
ZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9o
ZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTEyNjQsIAogICAgICAgICAg
ICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1f
aGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21f
ZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAs
IAogICAgICAgICAgICAgICAgICAgICAgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlz
dCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxMTUyMCwgbV9k
ZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0
NDUwMTAsIAogICAgICAgICAgICAgICAgICAgICAgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUy
YTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9j
ayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAw
eDAsIG1fdGFpbCA9IDB4MH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jZWxsU2l6ZSA9IDEx
Nzc2LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0g
MHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlz
dCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3Vy
cmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21f
aGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDEyMDMyLCBtX2Rlc3RydWN0
b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgCiAgICAgICAgICAgICAgICAgICAgICBt
X2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHtt
X2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgw
LCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAg
ICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxMjI4OCwg
bV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2Zm
ZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7
CiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVu
dEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVh
ZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDEyNTQ0LCAKICAgICAgICAgICAg
ICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hl
YXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2Zy
ZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAK
ICAgICAgICAgICAgICAgICAgICAgIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3Qg
PSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTI4MDAsIG1fZGVz
dHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1
MDEwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4
fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sg
PSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgw
LCBtX3RhaWwgPSAweDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY2VsbFNpemUgPSAxMzA1
NiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4
M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3Qg
PSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJl
bnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hl
YWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxMzMxMiwgbV9kZXN0cnVjdG9y
VHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIAogICAgICAgICAgICAgICAgICAgICAgbV9o
ZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9m
cmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwg
bV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAg
ICAgICAgbV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTM1NjgsIG1f
ZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYw
NDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0gewog
ICAgICAgICAgICAgICAgICAgICAgICBoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRC
bG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQg
PSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxMzgyNCwgCiAgICAgICAgICAgICAg
ICAgICAgICBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFw
ID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVl
TGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgCiAg
ICAgICAgICAgICAgICAgICAgICBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0g
e21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDE0MDgwLCBtX2Rlc3Ry
dWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAx
MCwgCiAgICAgICAgICAgICAgICAgICAgICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0s
IHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0g
MHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwg
bV90YWlsID0gMHgwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2NlbGxTaXplID0gMTQzMzYs
IG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNm
ZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0g
e2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50
QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFk
ID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTQ1OTIsIG1fZGVzdHJ1Y3RvclR5
cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCAKICAgICAgICAgICAgICAgICAgICAgIG1faGVh
cCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJl
ZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1f
YmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAg
ICAgIG1faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDE0ODQ4LCBtX2Rl
c3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0
NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAg
ICAgICAgICAgICAgICAgICAgICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50Qmxv
Y2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0g
MHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTUxMDQsIAogICAgICAgICAgICAgICAg
ICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9
IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxp
c3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIAogICAg
ICAgICAgICAgICAgICAgICAgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHtt
X2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxNTM2MCwgbV9kZXN0cnVj
dG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAs
IAogICAgICAgICAgICAgICAgICAgICAgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7
bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4
MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1f
dGFpbCA9IDB4MH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jZWxsU2l6ZSA9IDE1NjE2LCBt
X2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZm
MDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHto
ZWFkID0gMHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJs
b2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9
IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDE1ODcyLCBtX2Rlc3RydWN0b3JUeXBl
ID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAg
PSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVM
aXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Js
b2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAg
ICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxNjEyOCwgbV9kZXN0
cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUw
MTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgIGhlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2Nr
ID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4
MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDE2Mzg0LCAKICAgICAgICAgICAgICAgICAg
ICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAw
eDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0
ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAg
ICAgICAgICAgICAgICAgIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9o
ZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTY2NDAsIG1fZGVzdHJ1Y3Rv
clR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAK
ICAgICAgICAgICAgICAgICAgICAgIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21f
ZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAs
IG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3Rh
aWwgPSAweDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY2VsbFNpemUgPSAxNjg5NiwgbV9k
ZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0
NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVh
ZCA9IDB4MCwgYnl0ZXMgPSAwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRCbG9j
ayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAw
eDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxNzE1MiwgbV9kZXN0cnVjdG9yVHlwZSA9
IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0g
MHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlz
dCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9j
a3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAg
bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTc0MDgsIG1fZGVzdHJ1
Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEw
LCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0gewogICAgICAg
ICAgICAgICAgICAgICAgICBoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9
IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAs
IG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxNzY2NCwgCiAgICAgICAgICAgICAgICAgICAg
ICBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgz
ZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9
IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgCiAgICAgICAg
ICAgICAgICAgICAgICBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVh
ZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDE3OTIwLCBtX2Rlc3RydWN0b3JU
eXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAg
ICAgICAgICAgICAgICAgICAgICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2Zy
ZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBt
X2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWls
ID0gMHgwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2NlbGxTaXplID0gMTgxNzYsIG1fZGVz
dHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1
MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQg
PSAweDAsIGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sg
PSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgw
LCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTg0MzIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBK
U0M6Ok1hcmtlZEJsb2NrOjpOb25lLCAKICAgICAgICAgICAgICAgICAgICAgIG1faGVhcCA9IDB4
M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3Qg
PSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tz
VG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1f
aGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDE4Njg4LCBtX2Rlc3RydWN0
b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwg
bV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAg
ICAgICAgICAgICAgICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAw
eDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBt
X3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMTg5NDQsIAogICAgICAgICAgICAgICAgICAgICAg
bV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2Zm
ZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7
aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIAogICAgICAgICAg
ICAgICAgICAgICAgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQg
PSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxOTIwMCwgbV9kZXN0cnVjdG9yVHlw
ZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIAogICAg
ICAgICAgICAgICAgICAgICAgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVl
TGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9i
bG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9
IDB4MH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jZWxsU2l6ZSA9IDE5NDU2LCBtX2Rlc3Ry
dWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAx
MCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0g
MHgwLCBieXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0g
MHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwg
bV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDE5NzEyLCBtX2Rlc3RydWN0b3JUeXBlID0gSlND
OjpNYXJrZWRCbG9jazo6Tm9uZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNm
ZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0g
e2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1Rv
U3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hl
YWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAxOTk2OCwgbV9kZXN0cnVjdG9y
VHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1f
bWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgIGhlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgw
LCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90
YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDIwMjI0LCAKICAgICAgICAgICAgICAgICAgICAgIG1f
ZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYw
NDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hl
YWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAg
ICAgICAgICAgIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0g
MHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjA0ODAsIG1fZGVzdHJ1Y3RvclR5cGUg
PSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAKICAgICAg
ICAgICAgICAgICAgICAgIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxp
c3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxv
Y2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY2VsbFNpemUgPSAyMDczNiwgbV9kZXN0cnVj
dG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAs
IG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4
MCwgYnl0ZXMgPSAwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRCbG9jayA9IDB4
MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1f
dGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyMDk5MiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6
TWFya2VkQmxvY2s6Ok5vbmUsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZm
MDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHto
ZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3
ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFk
ID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjEyNDgsIG1fZGVzdHJ1Y3RvclR5
cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21h
cmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0gewogICAgICAgICAgICAg
ICAgICAgICAgICBoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwg
bV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFp
bCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyMTUwNCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rl
c3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0
NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFk
ID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgCiAgICAgICAgICAgICAg
ICAgICAgICBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4
MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDIxNzYwLCBtX2Rlc3RydWN0b3JUeXBlID0g
SlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAg
ICAgICAgICAgICAgICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0
ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nr
c1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgw
fSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2NlbGxTaXplID0gMjIwMTYsIG1fZGVzdHJ1Y3Rv
clR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBt
X21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAs
IGJ5dGVzID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAs
IG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3Rh
aWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjIyNzIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1h
cmtlZEJsb2NrOjpOb25lLCAKICAgICAgICAgICAgICAgICAgICAgIG1faGVhcCA9IDB4M2ZmZjA0
NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVh
ZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2Vl
cCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1faGVhZCA9
IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDIyNTI4LCBtX2Rlc3RydWN0b3JUeXBl
ID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJr
ZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAg
ICAgICAgICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1f
YmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwg
PSAweDB9LCBtX2NlbGxTaXplID0gMjI3ODQsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0
cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUw
MTAsIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9
IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIAogICAgICAgICAgICAgICAg
ICAgICAgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAs
IG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyMzA0MCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpT
Qzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIAogICAgICAgICAg
ICAgICAgICAgICAgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9
IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NU
b1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0s
IAogICAgICAgICAgICAgICAgICAgICAgbV9jZWxsU2l6ZSA9IDIzMjk2LCBtX2Rlc3RydWN0b3JU
eXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9t
YXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBi
eXRlcyA9IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBt
X2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWls
ID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDIzNTUyLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJr
ZWRCbG9jazo6Tm9uZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1
MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQg
PSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAg
PSAweDAsIG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAw
eDAsIG1fdGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyMzgwOCwgbV9kZXN0cnVjdG9yVHlwZSA9
IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2Vk
U3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7CiAgICAgICAgICAgICAgICAg
ICAgICAgIGhlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Js
b2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0g
MHgwfSwgbV9jZWxsU2l6ZSA9IDI0MDY0LCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1
Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEw
LCBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAw
eDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAg
ICAgIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBt
X3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjQzMjAsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6
Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAKICAgICAgICAgICAg
ICAgICAgICAgIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7
aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9T
d2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCAK
ICAgICAgICAgICAgICAgICAgICAgIG1fY2VsbFNpemUgPSAyNDU3NiwgbV9kZXN0cnVjdG9yVHlw
ZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFy
a2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0
ZXMgPSAwfSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9i
bG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9
IDB4MH0sIG1fY2VsbFNpemUgPSAyNDgzMiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2Vk
QmxvY2s6Ok5vbmUsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAx
MCwgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0g
MHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0g
MHgwLCBtX2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgw
LCBtX3RhaWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjUwODgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBK
U0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNw
YWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0gewogICAgICAgICAgICAgICAgICAg
ICAgICBoZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9j
a3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4
MH0sIG1fY2VsbFNpemUgPSAyNTM0NCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0
b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwg
bV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgw
LCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgCiAgICAgICAgICAgICAgICAgICAg
ICBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90
YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDI1NjAwLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpN
YXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAgICAg
ICAgICAgICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hl
YWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dl
ZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAg
ICAgICAgICAgICAgICAgICAgICBtX2NlbGxTaXplID0gMjU4NTYsIG1fZGVzdHJ1Y3RvclR5cGUg
PSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVz
ID0gMH0sIAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxv
Y2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCBtX2NlbGxTaXplID0gMjYxMTIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJs
b2NrOjpOb25lLCAKICAgICAgICAgICAgICAgICAgICAgIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAs
IG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4
MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4
MCwgbV9ibG9ja0xpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1faGVhZCA9IDB4MCwg
bV90YWlsID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDI2MzY4LCBtX2Rlc3RydWN0b3JUeXBlID0gSlND
OjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFj
ZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAg
ICAgaGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tz
VG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9
LCBtX2NlbGxTaXplID0gMjY2MjQsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9y
VHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1f
bWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwg
Ynl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIAogICAgICAgICAgICAgICAgICAgICAg
bV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFp
bCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyNjg4MCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFy
a2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIAogICAgICAgICAgICAgICAg
ICAgICAgbV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFk
ID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVw
ID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIAogICAg
ICAgICAgICAgICAgICAgICAgbV9jZWxsU2l6ZSA9IDI3MTM2LCBtX2Rlc3RydWN0b3JUeXBlID0g
SlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRT
cGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9
IDB9LCAKICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nr
c1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgw
fSwgbV9jZWxsU2l6ZSA9IDI3MzkyLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9j
azo6Tm9uZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBt
X21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAs
IGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAs
IG1fYmxvY2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1f
dGFpbCA9IDB4MH0sIG1fY2VsbFNpemUgPSAyNzY0OCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6
TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2Ug
PSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAg
IGhlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1Rv
U3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwg
bV9jZWxsU2l6ZSA9IDI3OTA0LCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5
cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21h
cmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5
dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAgICAgIG1f
YmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwg
PSAweDB9LCBtX2NlbGxTaXplID0gMjgxNjAsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtl
ZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAKICAgICAgICAgICAgICAgICAg
ICAgIG1fbWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9
IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9
IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCAKICAgICAg
ICAgICAgICAgICAgICAgIG1fY2VsbFNpemUgPSAyODQxNiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpT
Qzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3Bh
Y2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAw
fSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NU
b1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0s
IG1fY2VsbFNpemUgPSAyODY3MiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6
Ok5vbmUsIAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9t
YXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBi
eXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBt
X2Jsb2NrTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgwLCBtX3Rh
aWwgPSAweDB9LCBtX2NlbGxTaXplID0gMjg5MjgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1h
cmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0g
MHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBo
ZWFkID0gMHgwLCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3
ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1f
Y2VsbFNpemUgPSAyOTE4NCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBl
ID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJr
ZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRl
cyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgCiAgICAgICAgICAgICAgICAgICAgICBtX2Js
b2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0g
MHgwfSwgbV9jZWxsU2l6ZSA9IDI5NDQwLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRC
bG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgCiAgICAgICAgICAgICAgICAgICAg
ICBtX21hcmtlZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAw
eDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAw
eDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgCiAgICAgICAg
ICAgICAgICAgICAgICBtX2NlbGxTaXplID0gMjk2OTYsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6
Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNl
ID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0s
IAogICAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9T
d2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBt
X2NlbGxTaXplID0gMjk5NTIsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2NrOjpO
b25lLCAKICAgICAgICAgICAgICAgICAgICAgIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFy
a2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0
ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwgbV9i
bG9ja0xpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1faGVhZCA9IDB4MCwgbV90YWls
ID0gMHgwfSwgbV9jZWxsU2l6ZSA9IDMwMjA4LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJr
ZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9IDB4
M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgaGVh
ZCA9IDB4MCwgYnl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2Vl
cCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2Nl
bGxTaXplID0gMzA0NjQsIAogICAgICAgICAgICAgICAgICAgICAgbV9kZXN0cnVjdG9yVHlwZSA9
IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2Vk
U3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMg
PSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIAogICAgICAgICAgICAgICAgICAgICAgbV9ibG9j
a3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4
MH0sIG1fY2VsbFNpemUgPSAzMDcyMCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxv
Y2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIAogICAgICAgICAgICAgICAgICAgICAg
bV9tYXJrZWRTcGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgw
LCBieXRlcyA9IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgw
LCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIAogICAgICAgICAg
ICAgICAgICAgICAgbV9jZWxsU2l6ZSA9IDMwOTc2LCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpN
YXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRTcGFjZSA9
IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9IDB9LCAK
ICAgICAgICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dl
ZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9j
ZWxsU2l6ZSA9IDMxMjMyLCBtX2Rlc3RydWN0b3JUeXBlID0gSlNDOjpNYXJrZWRCbG9jazo6Tm9u
ZSwgCiAgICAgICAgICAgICAgICAgICAgICBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtl
ZFNwYWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVz
ID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAgPSAweDAsIG1fYmxv
Y2tMaXN0ID0gewogICAgICAgICAgICAgICAgICAgICAgICBtX2hlYWQgPSAweDAsIG1fdGFpbCA9
IDB4MH0sIG1fY2VsbFNpemUgPSAzMTQ4OCwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2Vk
QmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAweDNm
ZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGhlYWQg
PSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nrc1RvU3dlZXAg
PSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgwfSwgbV9jZWxs
U2l6ZSA9IDMxNzQ0LCAKICAgICAgICAgICAgICAgICAgICAgIG1fZGVzdHJ1Y3RvclR5cGUgPSBK
U0M6Ok1hcmtlZEJsb2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNw
YWNlID0gMHgzZmZmMDQ0NTJhOH0sIHttX2ZyZWVMaXN0ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0g
MH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCAKICAgICAgICAgICAgICAgICAgICAgIG1fYmxvY2tz
VG9Td2VlcCA9IDB4MCwgbV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9
LCBtX2NlbGxTaXplID0gMzIwMDAsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJsb2Nr
OjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCAKICAgICAgICAgICAgICAgICAgICAgIG1f
bWFya2VkU3BhY2UgPSAweDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwg
Ynl0ZXMgPSAwfSwgbV9jdXJyZW50QmxvY2sgPSAweDAsIG1fYmxvY2tzVG9Td2VlcCA9IDB4MCwg
bV9ibG9ja0xpc3QgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCAKICAgICAgICAgICAg
ICAgICAgICAgIG1fY2VsbFNpemUgPSAzMjI1NiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFy
a2VkQmxvY2s6Ok5vbmUsIG1faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fbWFya2VkU3BhY2UgPSAw
eDNmZmYwNDQ1MmE4fSwge21fZnJlZUxpc3QgPSB7aGVhZCA9IDB4MCwgYnl0ZXMgPSAwfSwgCiAg
ICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVw
ID0gMHgwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0sIG1fY2Vs
bFNpemUgPSAzMjUxMiwgbV9kZXN0cnVjdG9yVHlwZSA9IEpTQzo6TWFya2VkQmxvY2s6Ok5vbmUs
IAogICAgICAgICAgICAgICAgICAgICAgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRT
cGFjZSA9IDB4M2ZmZjA0NDUyYTh9LCB7bV9mcmVlTGlzdCA9IHtoZWFkID0gMHgwLCBieXRlcyA9
IDB9LCBtX2N1cnJlbnRCbG9jayA9IDB4MCwgbV9ibG9ja3NUb1N3ZWVwID0gMHgwLCBtX2Jsb2Nr
TGlzdCA9IHsKICAgICAgICAgICAgICAgICAgICAgICAgbV9oZWFkID0gMHgwLCBtX3RhaWwgPSAw
eDB9LCBtX2NlbGxTaXplID0gMzI3NjgsIG1fZGVzdHJ1Y3RvclR5cGUgPSBKU0M6Ok1hcmtlZEJs
b2NrOjpOb25lLCBtX2hlYXAgPSAweDNmZmYwNDQ1MDEwLCBtX21hcmtlZFNwYWNlID0gMHgzZmZm
MDQ0NTJhOH19fSwgCiAgICAgICAgICAgICAgICBsYXJnZUFsbG9jYXRvciA9IHttX2ZyZWVMaXN0
ID0ge2hlYWQgPSAweDAsIGJ5dGVzID0gMH0sIG1fY3VycmVudEJsb2NrID0gMHgwLCBtX2Jsb2Nr
c1RvU3dlZXAgPSAweDAsIG1fYmxvY2tMaXN0ID0ge21faGVhZCA9IDB4MCwgbV90YWlsID0gMHgw
fSwgbV9jZWxsU2l6ZSA9IDAsIAogICAgICAgICAgICAgICAgICBtX2Rlc3RydWN0b3JUeXBlID0g
SlNDOjpNYXJrZWRCbG9jazo6Tm9uZSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9tYXJrZWRT
cGFjZSA9IDB4M2ZmZjA0NDUyYTh9fSwgbV9oZWFwID0gMHgzZmZmMDQ0NTAxMCwgbV9ibG9ja3Mg
PSB7bV9maWx0ZXIgPSB7CiAgICAgICAgICAgICAgICAgIG1fYml0cyA9IDQzOTc4Nzg2NzM0MDh9
LCBtX3NldCA9IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9hZCA9IDxvcHRpbWl6ZWQgb3V0Piwg
c3RhdGljIG1fbWluTG9hZCA9IDxvcHRpbWl6ZWQgb3V0PiwgbV90YWJsZSA9IDB4M2ZmZjA0OTdj
MDAsIG1fdGFibGVTaXplID0gNjQsIAogICAgICAgICAgICAgICAgICAgIG1fdGFibGVTaXplTWFz
ayA9IDYzLCBtX2tleUNvdW50ID0gMjEsIG1fZGVsZXRlZENvdW50ID0gMH19fX0sIG1fc3RvcmFn
ZVNwYWNlID0ge21faGVhcCA9IDB4M2ZmZjA0NDUwMTAsIG1fYWxsb2NhdG9yID0ge21fY3VycmVu
dFJlbWFpbmluZyA9IDI1OTUyLCAKICAgICAgICAgICAgICAgIG1fY3VycmVudFBheWxvYWRFbmQg
PSAweDNmZmU0NmY4MDAwICIiLCBtX2N1cnJlbnRCbG9jayA9IDB4M2ZmZTQ2ZjAwMDB9LCBtX2Js
b2NrRmlsdGVyID0ge21fYml0cyA9IDQzOTc1ODQwMjM1NTJ9LCBtX2Jsb2NrU2V0ID0ge21faW1w
bCA9IHsKICAgICAgICAgICAgICAgICAgc3RhdGljIG1fbWF4TG9hZCA9IDxvcHRpbWl6ZWQgb3V0
Piwgc3RhdGljIG1fbWluTG9hZCA9IDxvcHRpbWl6ZWQgb3V0PiwgbV90YWJsZSA9IDB4M2ZmZjAz
Y2I1NDAsIG1fdGFibGVTaXplID0gOCwgbV90YWJsZVNpemVNYXNrID0gNywgbV9rZXlDb3VudCA9
IDEsIAogICAgICAgICAgICAgICAgICBtX2RlbGV0ZWRDb3VudCA9IDB9fSwgbV90b1NwYWNlTG9j
ayA9IHtwcml2YXRlX2xvY2tfID0ge19fZGF0YSA9IHtfX2xvY2sgPSAwLCBfX2NvdW50ID0gMCwg
X19vd25lciA9IDAsIF9fbnVzZXJzID0gMCwgX19raW5kID0gMCwgX19zcGlucyA9IDAsIF9fbGlz
dCA9IHtfX3ByZXYgPSAweDAsIAogICAgICAgICAgICAgICAgICAgICAgX19uZXh0ID0gMHgwfX0s
IF9fc2l6ZSA9ICdcMDAwJyA8cmVwZWF0cyAzOSB0aW1lcz4sIF9fYWxpZ24gPSAwfX0sIG1fdG9T
cGFjZSA9IDB4M2ZmZjA0NGRiMzgsIG1fZnJvbVNwYWNlID0gMHgzZmZmMDQ0ZGI0OCwgbV9ibG9j
a3MxID0ge21faGVhZCA9IDB4M2ZmZTQ2ZjAwMDAsIAogICAgICAgICAgICAgICAgbV90YWlsID0g
MHgzZmZlNDZmMDAwMH0sIG1fYmxvY2tzMiA9IHttX2hlYWQgPSAweDAsIG1fdGFpbCA9IDB4MH0s
IG1fb3ZlcnNpemVCbG9ja3MgPSB7bV9oZWFkID0gMHgwLCBtX3RhaWwgPSAweDB9LCBtX2luQ29w
eWluZ1BoYXNlID0gZmFsc2UsIG1fc2hvdWxkRG9Db3B5UGhhc2UgPSBmYWxzZSwgCiAgICAgICAg
ICAgICAgbV9sb2FuZWRCbG9ja3NMb2NrID0ge21fbXV0ZXggPSB7X19kYXRhID0ge19fbG9jayA9
IDAsIF9fY291bnQgPSAwLCBfX293bmVyID0gMCwgX19udXNlcnMgPSAwLCBfX2tpbmQgPSA1MTIs
IF9fc3BpbnMgPSAwLCBfX2xpc3QgPSB7X19wcmV2ID0gMHgwLCBfX25leHQgPSAweDB9fSwgCiAg
ICAgICAgICAgICAgICAgIF9fc2l6ZSA9ICdcMDAwJyA8cmVwZWF0cyAxOCB0aW1lcz4sICJcMDAy
IiwgJ1wwMDAnIDxyZXBlYXRzIDIwIHRpbWVzPiwgX19hbGlnbiA9IDB9fSwgbV9sb2FuZWRCbG9j
a3NDb25kaXRpb24gPSB7bV9jb25kaXRpb24gPSB7X19kYXRhID0ge19fbG9jayA9IDAsIF9fZnV0
ZXggPSAwLCAKICAgICAgICAgICAgICAgICAgICBfX3RvdGFsX3NlcSA9IDAsIF9fd2FrZXVwX3Nl
cSA9IDAsIF9fd29rZW5fc2VxID0gMCwgX19tdXRleCA9IDB4MCwgX19ud2FpdGVycyA9IDAsIF9f
YnJvYWRjYXN0X3NlcSA9IDB9LCBfX3NpemUgPSAnXDAwMCcgPHJlcGVhdHMgNDcgdGltZXM+LCBf
X2FsaWduID0gMH19LCAKICAgICAgICAgICAgICBtX251bWJlck9mTG9hbmVkQmxvY2tzID0gMCwg
c3RhdGljIHNfbWF4QWxsb2NhdGlvblNpemUgPSAxNjM4NCwgc3RhdGljIHNfaW5pdGlhbEJsb2Nr
TnVtID0gMTYsIHN0YXRpYyBzX2Jsb2NrTWFzayA9IDE4NDQ2NzQ0MDczNzA5NTE4ODQ4fSwgbV9h
cnJheUJ1ZmZlcnMgPSB7CiAgICAgICAgICAgICAgbV92ZWN0b3IgPSBXVEY6OlZlY3RvciBvZiBs
ZW5ndGggMCwgY2FwYWNpdHkgMCwgbV9ieXRlcyA9IDB9LCBtX2V4dHJhTWVtb3J5VXNhZ2UgPSAw
LCBtX3Byb3RlY3RlZFZhbHVlcyA9IHttX2ltcGwgPSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExv
YWQgPSA8b3B0aW1pemVkIG91dD4sIAogICAgICAgICAgICAgICAgICBzdGF0aWMgbV9taW5Mb2Fk
ID0gPG9wdGltaXplZCBvdXQ+LCBtX3RhYmxlID0gMHgwLCBtX3RhYmxlU2l6ZSA9IDAsIG1fdGFi
bGVTaXplTWFzayA9IDAsIG1fa2V5Q291bnQgPSAwLCBtX2RlbGV0ZWRDb3VudCA9IDB9fX0sIAog
ICAgICAgICAgICBtX3RlbXBTb3J0aW5nVmVjdG9ycyA9IFdURjo6VmVjdG9yIG9mIGxlbmd0aCAw
LCBjYXBhY2l0eSAwLCBtX21hcmtMaXN0U2V0ID0ge21fcHRyID0gMHgwfSwgbV9tYWNoaW5lVGhy
ZWFkcyA9IHttX3JlZ2lzdGVyZWRUaHJlYWRzTXV0ZXggPSB7bV9tdXRleCA9IHtfX2RhdGEgPSB7
X19sb2NrID0gMCwgCiAgICAgICAgICAgICAgICAgICAgX19jb3VudCA9IDAsIF9fb3duZXIgPSAw
LCBfX251c2VycyA9IDAsIF9fa2luZCA9IDUxMiwgX19zcGlucyA9IDAsIF9fbGlzdCA9IHtfX3By
ZXYgPSAweDAsIF9fbmV4dCA9IDB4MH19LCAKICAgICAgICAgICAgICAgICAgX19zaXplID0gJ1ww
MDAnIDxyZXBlYXRzIDE4IHRpbWVzPiwgIlwwMDIiLCAnXDAwMCcgPHJlcGVhdHMgMjAgdGltZXM+
LCBfX2FsaWduID0gMH19LCBtX3JlZ2lzdGVyZWRUaHJlYWRzID0gMHgwLCBtX3RocmVhZFNwZWNp
ZmljID0gMH0sIG1fc2hhcmVkRGF0YSA9IHsKICAgICAgICAgICAgICBtX3ZtID0gMHgzZmZmMDQ0
NTAwMCwgbV9jb3BpZWRTcGFjZSA9IDB4M2ZmZjA0NGRhYzAsIG1fc2hvdWxkSGFzaENvbnMgPSBm
YWxzZSwgbV9nY1RocmVhZHMgPSBXVEY6OlZlY3RvciBvZiBsZW5ndGggMCwgY2FwYWNpdHkgMCwg
bV9tYXJraW5nTG9jayA9IHttX211dGV4ID0ge19fZGF0YSA9IHsKICAgICAgICAgICAgICAgICAg
ICBfX2xvY2sgPSAwLCBfX2NvdW50ID0gMCwgX19vd25lciA9IDAsIF9fbnVzZXJzID0gMCwgX19r
aW5kID0gNTEyLCBfX3NwaW5zID0gMCwgX19saXN0ID0ge19fcHJldiA9IDB4MCwgX19uZXh0ID0g
MHgwfX0sIAogICAgICAgICAgICAgICAgICBfX3NpemUgPSAnXDAwMCcgPHJlcGVhdHMgMTggdGlt
ZXM+LCAiXDAwMiIsICdcMDAwJyA8cmVwZWF0cyAyMCB0aW1lcz4sIF9fYWxpZ24gPSAwfX0sIG1f
bWFya2luZ0NvbmRpdGlvbiA9IHttX2NvbmRpdGlvbiA9IHtfX2RhdGEgPSB7X19sb2NrID0gMCwg
X19mdXRleCA9IDAsIAogICAgICAgICAgICAgICAgICAgIF9fdG90YWxfc2VxID0gMCwgX193YWtl
dXBfc2VxID0gMCwgX193b2tlbl9zZXEgPSAwLCBfX211dGV4ID0gMHgwLCBfX253YWl0ZXJzID0g
MCwgX19icm9hZGNhc3Rfc2VxID0gMH0sIF9fc2l6ZSA9ICdcMDAwJyA8cmVwZWF0cyA0NyB0aW1l
cz4sIF9fYWxpZ24gPSAwfX0sIAogICAgICAgICAgICAgIG1fc2hhcmVkTWFya1N0YWNrID0ge21f
c2VnbWVudHMgPSB7bV9oZWFkID0gMHgzZmZlNDcxMDAwMCwgbV90YWlsID0gMHgzZmZlNDcxMDAw
MH0sIG1fYmxvY2tBbGxvY2F0b3IgPSBAMHgzZmZmMDQ0NTA1MCwgc3RhdGljIHNfc2VnbWVudENh
cGFjaXR5ID0gNTA5LCBtX3RvcCA9IDAsIAogICAgICAgICAgICAgICAgbV9udW1iZXJPZlNlZ21l
bnRzID0gMX0sIG1fbnVtYmVyT2ZBY3RpdmVQYXJhbGxlbE1hcmtlcnMgPSAwLCBtX3BhcmFsbGVs
TWFya2Vyc1Nob3VsZEV4aXQgPSBmYWxzZSwgbV9vcGFxdWVSb290c0xvY2sgPSB7bV9tdXRleCA9
IHtfX2RhdGEgPSB7X19sb2NrID0gMCwgX19jb3VudCA9IDAsIAogICAgICAgICAgICAgICAgICAg
IF9fb3duZXIgPSAwLCBfX251c2VycyA9IDAsIF9fa2luZCA9IDUxMiwgX19zcGlucyA9IDAsIF9f
bGlzdCA9IHtfX3ByZXYgPSAweDAsIF9fbmV4dCA9IDB4MH19LCBfX3NpemUgPSAnXDAwMCcgPHJl
cGVhdHMgMTggdGltZXM+LCAiXDAwMiIsICdcMDAwJyA8cmVwZWF0cyAyMCB0aW1lcz4sIAogICAg
ICAgICAgICAgICAgICBfX2FsaWduID0gMH19LCBtX29wYXF1ZVJvb3RzID0ge21faW1wbCA9IHtz
dGF0aWMgbV9tYXhMb2FkID0gPG9wdGltaXplZCBvdXQ+LCBzdGF0aWMgbV9taW5Mb2FkID0gPG9w
dGltaXplZCBvdXQ+LCBtX3RhYmxlID0gMHgwLCBtX3RhYmxlU2l6ZSA9IDAsIG1fdGFibGVTaXpl
TWFzayA9IDAsIAogICAgICAgICAgICAgICAgICBtX2tleUNvdW50ID0gMCwgbV9kZWxldGVkQ291
bnQgPSAwfX0sIG1fY29weUxvY2sgPSB7cHJpdmF0ZV9sb2NrXyA9IHtfX2RhdGEgPSB7X19sb2Nr
ID0gMCwgX19jb3VudCA9IDAsIF9fb3duZXIgPSAwLCBfX251c2VycyA9IDAsIF9fa2luZCA9IDAs
IF9fc3BpbnMgPSAwLCBfX2xpc3QgPSB7CiAgICAgICAgICAgICAgICAgICAgICBfX3ByZXYgPSAw
eDAsIF9fbmV4dCA9IDB4MH19LCBfX3NpemUgPSAnXDAwMCcgPHJlcGVhdHMgMzkgdGltZXM+LCBf
X2FsaWduID0gMH19LCBtX2Jsb2Nrc1RvQ29weSA9IFdURjo6VmVjdG9yIG9mIGxlbmd0aCAwLCBj
YXBhY2l0eSAwLCBtX2NvcHlJbmRleCA9IDAsIAogICAgICAgICAgICAgIHN0YXRpYyBzX2Jsb2Nr
RnJhZ21lbnRMZW5ndGggPSAzMiwgbV9waGFzZUxvY2sgPSB7bV9tdXRleCA9IHtfX2RhdGEgPSB7
X19sb2NrID0gMCwgX19jb3VudCA9IDAsIF9fb3duZXIgPSAwLCBfX251c2VycyA9IDAsIF9fa2lu
ZCA9IDUxMiwgX19zcGlucyA9IDAsIF9fbGlzdCA9IHtfX3ByZXYgPSAweDAsIAogICAgICAgICAg
ICAgICAgICAgICAgX19uZXh0ID0gMHgwfX0sIF9fc2l6ZSA9ICdcMDAwJyA8cmVwZWF0cyAxOCB0
aW1lcz4sICJcMDAyIiwgJ1wwMDAnIDxyZXBlYXRzIDIwIHRpbWVzPiwgX19hbGlnbiA9IDB9fSwg
bV9waGFzZUNvbmRpdGlvbiA9IHttX2NvbmRpdGlvbiA9IHtfX2RhdGEgPSB7X19sb2NrID0gMCwg
CiAgICAgICAgICAgICAgICAgICAgX19mdXRleCA9IDAsIF9fdG90YWxfc2VxID0gMCwgX193YWtl
dXBfc2VxID0gMCwgX193b2tlbl9zZXEgPSAwLCBfX211dGV4ID0gMHgwLCBfX253YWl0ZXJzID0g
MCwgX19icm9hZGNhc3Rfc2VxID0gMH0sIF9fc2l6ZSA9ICdcMDAwJyA8cmVwZWF0cyA0NyB0aW1l
cz4sIF9fYWxpZ24gPSAwfX0sIAogICAgICAgICAgICAgIG1fYWN0aXZpdHlDb25kaXRpb24gPSB7
bV9jb25kaXRpb24gPSB7X19kYXRhID0ge19fbG9jayA9IDAsIF9fZnV0ZXggPSAwLCBfX3RvdGFs
X3NlcSA9IDAsIF9fd2FrZXVwX3NlcSA9IDAsIF9fd29rZW5fc2VxID0gMCwgX19tdXRleCA9IDB4
MCwgX19ud2FpdGVycyA9IDAsIAogICAgICAgICAgICAgICAgICAgIF9fYnJvYWRjYXN0X3NlcSA9
IDB9LCBfX3NpemUgPSAnXDAwMCcgPHJlcGVhdHMgNDcgdGltZXM+LCBfX2FsaWduID0gMH19LCBt
X251bWJlck9mQWN0aXZlR0NUaHJlYWRzID0gMCwgbV9nY1RocmVhZHNTaG91bGRXYWl0ID0gZmFs
c2UsIG1fY3VycmVudFBoYXNlID0gSlNDOjpOb1BoYXNlLCAKICAgICAgICAgICAgICBtX3dlYWtS
ZWZlcmVuY2VIYXJ2ZXN0ZXJzID0ge21fbG9jayA9IHtwcml2YXRlX2xvY2tfID0ge19fZGF0YSA9
IHtfX2xvY2sgPSAwLCBfX2NvdW50ID0gMCwgX19vd25lciA9IDAsIF9fbnVzZXJzID0gMCwgX19r
aW5kID0gMCwgX19zcGlucyA9IDAsIF9fbGlzdCA9IHtfX3ByZXYgPSAweDAsIAogICAgICAgICAg
ICAgICAgICAgICAgICBfX25leHQgPSAweDB9fSwgX19zaXplID0gJ1wwMDAnIDxyZXBlYXRzIDM5
IHRpbWVzPiwgX19hbGlnbiA9IDB9fSwgbV9maXJzdCA9IDB4MH0sIG1fdW5jb25kaXRpb25hbEZp
bmFsaXplcnMgPSB7bV9sb2NrID0ge3ByaXZhdGVfbG9ja18gPSB7X19kYXRhID0ge19fbG9jayA9
IDAsIAogICAgICAgICAgICAgICAgICAgICAgX19jb3VudCA9IDAsIF9fb3duZXIgPSAwLCBfX251
c2VycyA9IDAsIF9fa2luZCA9IDAsIF9fc3BpbnMgPSAwLCBfX2xpc3QgPSB7X19wcmV2ID0gMHgw
LCBfX25leHQgPSAweDB9fSwgX19zaXplID0gJ1wwMDAnIDxyZXBlYXRzIDM5IHRpbWVzPiwgX19h
bGlnbiA9IDB9fSwgCiAgICAgICAgICAgICAgICBtX2ZpcnN0ID0gMHgwfX0sIG1fc2xvdFZpc2l0
b3IgPSB7bV9zdGFjayA9IHttX3NlZ21lbnRzID0ge21faGVhZCA9IDB4M2ZmZTQ3MTEwMDAsIG1f
dGFpbCA9IDB4M2ZmZTQ3MTEwMDB9LCBtX2Jsb2NrQWxsb2NhdG9yID0gQDB4M2ZmZjA0NDUwNTAs
IAogICAgICAgICAgICAgICAgc3RhdGljIHNfc2VnbWVudENhcGFjaXR5ID0gNTA5LCBtX3RvcCA9
IDAsIG1fbnVtYmVyT2ZTZWdtZW50cyA9IDF9LCBtX29wYXF1ZVJvb3RzID0ge21faW1wbCA9IHtz
dGF0aWMgbV9tYXhMb2FkID0gPG9wdGltaXplZCBvdXQ+LCBzdGF0aWMgbV9taW5Mb2FkID0gPG9w
dGltaXplZCBvdXQ+LCAKICAgICAgICAgICAgICAgICAgbV90YWJsZSA9IDB4MCwgbV90YWJsZVNp
emUgPSAwLCBtX3RhYmxlU2l6ZU1hc2sgPSAwLCBtX2tleUNvdW50ID0gMCwgbV9kZWxldGVkQ291
bnQgPSAwfX0sIG1fdmlzaXRDb3VudCA9IDAsIG1faXNJblBhcmFsbGVsTW9kZSA9IGZhbHNlLCBt
X3NoYXJlZCA9IEAweDNmZmYwNDRkYzU4LCAKICAgICAgICAgICAgICBtX3Nob3VsZEhhc2hDb25z
ID0gZmFsc2UsIG1fdW5pcXVlU3RyaW5ncyA9IHttX2ltcGwgPSB7c3RhdGljIG1fbWF4TG9hZCA9
IDxvcHRpbWl6ZWQgb3V0Piwgc3RhdGljIG1fbWluTG9hZCA9IDxvcHRpbWl6ZWQgb3V0PiwgbV90
YWJsZSA9IDB4MCwgbV90YWJsZVNpemUgPSAwLCAKICAgICAgICAgICAgICAgICAgbV90YWJsZVNp
emVNYXNrID0gMCwgbV9rZXlDb3VudCA9IDAsIG1fZGVsZXRlZENvdW50ID0gMH19fSwgbV9jb3B5
VmlzaXRvciA9IHttX3NoYXJlZCA9IEAweDNmZmYwNDRkYzU4LCBtX2NvcGllZEFsbG9jYXRvciA9
IHttX2N1cnJlbnRSZW1haW5pbmcgPSAwLCAKICAgICAgICAgICAgICAgIG1fY3VycmVudFBheWxv
YWRFbmQgPSAweDAsIG1fY3VycmVudEJsb2NrID0gMHgwfX0sIG1faGFuZGxlU2V0ID0ge21fdm0g
PSAweDNmZmYwNDQ1MDAwLCBtX2Jsb2NrTGlzdCA9IHttX2hlYWQgPSAweDNmZmU0NzEyMDAwLCBt
X3RhaWwgPSAweDNmZmU0NzEyMDAwfSwgbV9zdHJvbmdMaXN0ID0gewogICAgICAgICAgICAgICAg
bV9oZWFkU2VudGluZWwgPSB7bV92YWx1ZSA9IHt1ID0ge2FzSW50NjQgPSAwLCBwdHIgPSAweDAs
IGFzQml0cyA9IHt0YWcgPSAwLCBwYXlsb2FkID0gMH19fSwgbV9wcmV2ID0gMHgwLCBtX25leHQg
PSAweDNmZmU0NzEyMmMwfSwgbV90YWlsU2VudGluZWwgPSB7bV92YWx1ZSA9IHt1ID0gewogICAg
ICAgICAgICAgICAgICAgICAgYXNJbnQ2NCA9IDAsIHB0ciA9IDB4MCwgYXNCaXRzID0ge3RhZyA9
IDAsIHBheWxvYWQgPSAwfX19LCBtX3ByZXYgPSAweDNmZmU0NzEyMDIwLCBtX25leHQgPSAweDB9
fSwgbV9pbW1lZGlhdGVMaXN0ID0ge21faGVhZFNlbnRpbmVsID0ge21fdmFsdWUgPSB7dSA9IHth
c0ludDY0ID0gMCwgCiAgICAgICAgICAgICAgICAgICAgICBwdHIgPSAweDAsIGFzQml0cyA9IHt0
YWcgPSAwLCBwYXlsb2FkID0gMH19fSwgbV9wcmV2ID0gMHgwLCBtX25leHQgPSAweDNmZmYwNDRk
Zjc4fSwgbV90YWlsU2VudGluZWwgPSB7bV92YWx1ZSA9IHt1ID0ge2FzSW50NjQgPSAwLCBwdHIg
PSAweDAsIGFzQml0cyA9IHt0YWcgPSAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgcGF5bG9h
ZCA9IDB9fX0sIG1fcHJldiA9IDB4M2ZmZjA0NGRmNjAsIG1fbmV4dCA9IDB4MH19LCBtX2ZyZWVM
aXN0ID0ge21faGVhZCA9IDB4M2ZmZTQ3MTIyNzh9LCBtX25leHRUb0ZpbmFsaXplID0gMHgwfSwg
bV9oYW5kbGVTdGFjayA9IHttX2Jsb2NrU3RhY2sgPSB7CiAgICAgICAgICAgICAgICBzdGF0aWMg
YmxvY2tTaXplID0gPG9wdGltaXplZCBvdXQ+LCBzdGF0aWMgYmxvY2tMZW5ndGggPSA8b3B0aW1p
emVkIG91dD4sIG1fYmxvY2tzID0gV1RGOjpWZWN0b3Igb2YgbGVuZ3RoIDEsIGNhcGFjaXR5IDE2
ID0gezB4M2ZmZjA0MzMwMDB9LCBtX3NwYXJlQmxvY2sgPSAweDB9LCBtX2ZyYW1lID0gewogICAg
ICAgICAgICAgICAgbV9uZXh0ID0gMHgzZmZmMDQzMzAwMCwgbV9lbmQgPSAweDNmZmYwNDM0MDAw
fX0sIG1fZGZnQ29kZUJsb2NrcyA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgbV9qaXRTdHViUm91dGlu
ZXMgPSB7PE5vIGRhdGEgZmllbGRzPn0sIG1fZmluYWxpemVyT3duZXIgPSA8aW5jb21wbGV0ZSB0
eXBlPiwgCiAgICAgICAgICAgIG1faXNTYWZlVG9Db2xsZWN0ID0gdHJ1ZSwgbV92bSA9IDB4M2Zm
ZjA0NDUwMDAsIG1fbGFzdEdDTGVuZ3RoID0gMCwgbV9sYXN0Q29kZURpc2NhcmRUaW1lID0gMTkx
MzEuODE3MTAxMDAwMDAxLCBtX2NvbXBpbGVkQ29kZSA9IHttX2hlYWQgPSAweDNmZmQ1NzRmZjcw
LCAKICAgICAgICAgICAgICBtX3RhaWwgPSAweDNmZmQ1NzAxMjcwfSwgbV9hY3Rpdml0eUNhbGxi
YWNrID0ge21fcHRyID0gMHgzZmZmMDQ0NDJiOH0sIG1fc3dlZXBlciA9IHttX3B0ciA9IDB4ODAw
ZDEwYzB9LCBtX2Jsb2NrU25hcHNob3QgPSBXVEY6OlZlY3RvciBvZiBsZW5ndGggMCwgY2FwYWNp
dHkgMCwgCiAgICAgICAgICAgIG1fZGVmZXJyYWxEZXB0aCA9IDB9LCB2bVR5cGUgPSBKU0M6OlZN
OjpEZWZhdWx0LCBjbGllbnREYXRhID0gMHgzZmZmMDQyNDFjMCwgdG9wQ2FsbEZyYW1lID0gMHgz
ZmZkNjQwMDNiOCwgd2F0Y2hkb2cgPSB7bV90aW1lckRpZEZpcmUgPSBmYWxzZSwgbV9kaWRGaXJl
ID0gZmFsc2UsIG1fbGltaXQgPSBpbmYsIAogICAgICAgICAgICBtX3N0YXJ0VGltZSA9IDAsIG1f
ZWxhcHNlZFRpbWUgPSAwLCBtX3JlZW50cnlDb3VudCA9IDEsIG1faXNTdG9wcGVkID0gdHJ1ZSwg
bV9jYWxsYmFjayA9IDB4MCwgbV9jYWxsYmFja0RhdGExID0gMHgwLCBtX2NhbGxiYWNrRGF0YTIg
PSAweDB9LCAKICAgICAgICAgIGFycmF5Q29uc3RydWN0b3JUYWJsZSA9IDB4M2ZmZjA0NDQyYTAs
IGFycmF5UHJvdG90eXBlVGFibGUgPSAweDNmZmYwNDQ0Mjg4LCBib29sZWFuUHJvdG90eXBlVGFi
bGUgPSAweDNmZmYwNDQ0MjcwLCBkYXRhVmlld1RhYmxlID0gMHgzZmZmMDQ0NDI1OCwgZGF0ZVRh
YmxlID0gMHgzZmZmMDQ0NDI0MCwgCiAgICAgICAgICBkYXRlQ29uc3RydWN0b3JUYWJsZSA9IDB4
M2ZmZjA0NDQyMjgsIGVycm9yUHJvdG90eXBlVGFibGUgPSAweDNmZmYwNDQ0MjEwLCBnbG9iYWxP
YmplY3RUYWJsZSA9IDB4M2ZmZjA0NDQxZjgsIGpzb25UYWJsZSA9IDB4M2ZmZjA0NDQxZTAsIG51
bWJlckNvbnN0cnVjdG9yVGFibGUgPSAweDNmZmYwNDQ0MWM4LCAKICAgICAgICAgIG51bWJlclBy
b3RvdHlwZVRhYmxlID0gMHgzZmZmMDQ0NDFiMCwgb2JqZWN0Q29uc3RydWN0b3JUYWJsZSA9IDB4
M2ZmZjA0NDQxOTgsIHByaXZhdGVOYW1lUHJvdG90eXBlVGFibGUgPSAweDNmZmYwNDQ0MTgwLCBy
ZWdFeHBUYWJsZSA9IDB4M2ZmZjA0NDQxNjgsIAogICAgICAgICAgcmVnRXhwQ29uc3RydWN0b3JU
YWJsZSA9IDB4M2ZmZjA0NDQxNTAsIHJlZ0V4cFByb3RvdHlwZVRhYmxlID0gMHgzZmZmMDQ0NDEz
OCwgc3RyaW5nQ29uc3RydWN0b3JUYWJsZSA9IDB4M2ZmZjA0NDQxMjAsIAogICAgICAgICAgc3Ry
dWN0dXJlU3RydWN0dXJlID0gezxKU0M6OkhhbmRsZTxKU0M6OlN0cnVjdHVyZT4+ID0gezxKU0M6
OkhhbmRsZUJhc2U+ID0gewogICAgICAgICAgICAgICAgbV9zbG90ID0gMHgzZmZlNDcxMjAyMH0s
IDxKU0M6OkhhbmRsZUNvbnZlcnRlcjxKU0M6OkhhbmRsZTxKU0M6OlN0cnVjdHVyZT4sIEpTQzo6
U3RydWN0dXJlPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8g
ZGF0YSBmaWVsZHM+fSwgCiAgICAgICAgICBzdHJ1Y3R1cmVSYXJlRGF0YVN0cnVjdHVyZSA9IHs8
SlNDOjpIYW5kbGU8SlNDOjpTdHJ1Y3R1cmU+PiA9IHs8SlNDOjpIYW5kbGVCYXNlPiA9IHsKICAg
ICAgICAgICAgICAgIG1fc2xvdCA9IDB4M2ZmZTQ3MTIwMzh9LCA8SlNDOjpIYW5kbGVDb252ZXJ0
ZXI8SlNDOjpIYW5kbGU8SlNDOjpTdHJ1Y3R1cmU+LCBKU0M6OlN0cnVjdHVyZT4+ID0gezxObyBk
YXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIAogICAg
ICAgICAgZGVidWdnZXJBY3RpdmF0aW9uU3RydWN0dXJlID0gezxKU0M6OkhhbmRsZTxKU0M6OlN0
cnVjdHVyZT4+ID0gezxKU0M6OkhhbmRsZUJhc2U+ID0gewogICAgICAgICAgICAgICAgbV9zbG90
ID0gMHgzZmZlNDcxMjA1MH0sIDxKU0M6OkhhbmRsZUNvbnZlcnRlcjxKU0M6OkhhbmRsZTxKU0M6
OlN0cnVjdHVyZT4sIEpTQzo6U3RydWN0dXJlPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxObyBk
YXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgCiAgICAgICAgICB0ZXJtaW5hdGVkRXhl
Y3V0aW9uRXJyb3JTdHJ1Y3R1cmUgPSB7PEpTQzo6SGFuZGxlPEpTQzo6U3RydWN0dXJlPj4gPSB7
PEpTQzo6SGFuZGxlQmFzZT4gPSB7CiAgICAgICAgICAgICAgICBtX3Nsb3QgPSAweDNmZmU0NzEy
MDY4fSwgPEpTQzo6SGFuZGxlQ29udmVydGVyPEpTQzo6SGFuZGxlPEpTQzo6U3RydWN0dXJlPiwg
SlNDOjpTdHJ1Y3R1cmU+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0s
IDxObyBkYXRhIGZpZWxkcz59LCAKICAgICAgICAgIHN0cmluZ1N0cnVjdHVyZSA9IHs8SlNDOjpI
YW5kbGU8SlNDOjpTdHJ1Y3R1cmU+PiA9IHs8SlNDOjpIYW5kbGVCYXNlPiA9IHsKICAgICAgICAg
ICAgICAgIG1fc2xvdCA9IDB4M2ZmZTQ3MTIwODB9LCA8SlNDOjpIYW5kbGVDb252ZXJ0ZXI8SlND
OjpIYW5kbGU8SlNDOjpTdHJ1Y3R1cmU+LCBKU0M6OlN0cnVjdHVyZT4+ID0gezxObyBkYXRhIGZp
ZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIAogICAgICAgICAg
bm90QW5PYmplY3RTdHJ1Y3R1cmUgPSB7PEpTQzo6SGFuZGxlPEpTQzo6U3RydWN0dXJlPj4gPSB7
PEpTQzo6SGFuZGxlQmFzZT4gPSB7CiAgICAgICAgICAgICAgICBtX3Nsb3QgPSAweDNmZmU0NzEy
MDk4fSwgPEpTQzo6SGFuZGxlQ29udmVydGVyPEpTQzo6SGFuZGxlPEpTQzo6U3RydWN0dXJlPiwg
SlNDOjpTdHJ1Y3R1cmU+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0s
IDxObyBkYXRhIGZpZWxkcz59LCAKICAgICAgICAgIHByb3BlcnR5TmFtZUl0ZXJhdG9yU3RydWN0
dXJlID0gezxKU0M6OkhhbmRsZTxKU0M6OlN0cnVjdHVyZT4+ID0gezxKU0M6OkhhbmRsZUJhc2U+
ID0gewogICAgICAgICAgICAgICAgbV9zbG90ID0gMHgzZmZlNDcxMjBiMH0sIDxKU0M6OkhhbmRs
ZUNvbnZlcnRlcjxKU0M6OkhhbmRsZTxKU0M6OlN0cnVjdHVyZT4sIEpTQzo6U3RydWN0dXJlPj4g
PSB7PE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+
fSwgCiAgICAgICAgICBnZXR0ZXJTZXR0ZXJTdHJ1Y3R1cmUgPSB7PEpTQzo6SGFuZGxlPEpTQzo6
U3RydWN0dXJlPj4gPSB7PEpTQzo6SGFuZGxlQmFzZT4gPSB7CiAgICAgICAgICAgICAgICBtX3Ns
b3QgPSAweDNmZmU0NzEyMGM4fSwgPEpTQzo6SGFuZGxlQ29udmVydGVyPEpTQzo6SGFuZGxlPEpT
Qzo6U3RydWN0dXJlPiwgSlNDOjpTdHJ1Y3R1cmU+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPE5v
IGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCAKICAgICAgICAgIGFwaVdyYXBwZXJT
dHJ1Y3R1cmUgPSB7PEpTQzo6SGFuZGxlPEpTQzo6U3RydWN0dXJlPj4gPSB7PEpTQzo6SGFuZGxl
QmFzZT4gPSB7CiAgICAgICAgICAgICAgICBtX3Nsb3QgPSAweDNmZmU0NzEyMGUwfSwgPEpTQzo6
SGFuZGxlQ29udmVydGVyPEpTQzo6SGFuZGxlPEpTQzo6U3RydWN0dXJlPiwgSlNDOjpTdHJ1Y3R1
cmU+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZp
ZWxkcz59LCAKICAgICAgICAgIEpTU2NvcGVTdHJ1Y3R1cmUgPSB7PEpTQzo6SGFuZGxlPEpTQzo6
U3RydWN0dXJlPj4gPSB7PEpTQzo6SGFuZGxlQmFzZT4gPSB7CiAgICAgICAgICAgICAgICBtX3Ns
b3QgPSAweDNmZmU0NzEyMGY4fSwgPEpTQzo6SGFuZGxlQ29udmVydGVyPEpTQzo6SGFuZGxlPEpT
Qzo6U3RydWN0dXJlPiwgSlNDOjpTdHJ1Y3R1cmU+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPE5v
IGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCAKICAgICAgICAgIGV4ZWN1dGFibGVT
dHJ1Y3R1cmUgPSB7PEpTQzo6SGFuZGxlPEpTQzo6U3RydWN0dXJlPj4gPSB7PEpTQzo6SGFuZGxl
QmFzZT4gPSB7CiAgICAgICAgICAgICAgICBtX3Nsb3QgPSAweDNmZmU0NzEyMTEwfSwgPEpTQzo6
SGFuZGxlQ29udmVydGVyPEpTQzo6SGFuZGxlPEpTQzo6U3RydWN0dXJlPiwgSlNDOjpTdHJ1Y3R1
cmU+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZp
ZWxkcz59LCAKICAgICAgICAgIG5hdGl2ZUV4ZWN1dGFibGVTdHJ1Y3R1cmUgPSB7PEpTQzo6SGFu
ZGxlPEpTQzo6U3RydWN0dXJlPj4gPSB7PEpTQzo6SGFuZGxlQmFzZT4gPSB7CiAgICAgICAgICAg
ICAgICBtX3Nsb3QgPSAweDNmZmU0NzEyMTI4fSwgPEpTQzo6SGFuZGxlQ29udmVydGVyPEpTQzo6
SGFuZGxlPEpTQzo6U3RydWN0dXJlPiwgSlNDOjpTdHJ1Y3R1cmU+PiA9IHs8Tm8gZGF0YSBmaWVs
ZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCAKICAgICAgICAgIGV2
YWxFeGVjdXRhYmxlU3RydWN0dXJlID0gezxKU0M6OkhhbmRsZTxKU0M6OlN0cnVjdHVyZT4+ID0g
ezxKU0M6OkhhbmRsZUJhc2U+ID0gewogICAgICAgICAgICAgICAgbV9zbG90ID0gMHgzZmZlNDcx
MjE0MH0sIDxKU0M6OkhhbmRsZUNvbnZlcnRlcjxKU0M6OkhhbmRsZTxKU0M6OlN0cnVjdHVyZT4s
IEpTQzo6U3RydWN0dXJlPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59
LCA8Tm8gZGF0YSBmaWVsZHM+fSwgCiAgICAgICAgICBwcm9ncmFtRXhlY3V0YWJsZVN0cnVjdHVy
ZSA9IHs8SlNDOjpIYW5kbGU8SlNDOjpTdHJ1Y3R1cmU+PiA9IHs8SlNDOjpIYW5kbGVCYXNlPiA9
IHsKICAgICAgICAgICAgICAgIG1fc2xvdCA9IDB4M2ZmZTQ3MTIxNTh9LCA8SlNDOjpIYW5kbGVD
b252ZXJ0ZXI8SlNDOjpIYW5kbGU8SlNDOjpTdHJ1Y3R1cmU+LCBKU0M6OlN0cnVjdHVyZT4+ID0g
ezxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0s
IAogICAgICAgICAgZnVuY3Rpb25FeGVjdXRhYmxlU3RydWN0dXJlID0gezxKU0M6OkhhbmRsZTxK
U0M6OlN0cnVjdHVyZT4+ID0gezxKU0M6OkhhbmRsZUJhc2U+ID0gewogICAgICAgICAgICAgICAg
bV9zbG90ID0gMHgzZmZlNDcxMjE3MH0sIDxKU0M6OkhhbmRsZUNvbnZlcnRlcjxKU0M6OkhhbmRs
ZTxKU0M6OlN0cnVjdHVyZT4sIEpTQzo6U3RydWN0dXJlPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0s
IDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgCiAgICAgICAgICByZWdFeHBT
dHJ1Y3R1cmUgPSB7PEpTQzo6SGFuZGxlPEpTQzo6U3RydWN0dXJlPj4gPSB7PEpTQzo6SGFuZGxl
QmFzZT4gPSB7CiAgICAgICAgICAgICAgICBtX3Nsb3QgPSAweDNmZmU0NzEyMTg4fSwgPEpTQzo6
SGFuZGxlQ29udmVydGVyPEpTQzo6SGFuZGxlPEpTQzo6U3RydWN0dXJlPiwgSlNDOjpTdHJ1Y3R1
cmU+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZp
ZWxkcz59LCAKICAgICAgICAgIHNoYXJlZFN5bWJvbFRhYmxlU3RydWN0dXJlID0gezxKU0M6Okhh
bmRsZTxKU0M6OlN0cnVjdHVyZT4+ID0gezxKU0M6OkhhbmRsZUJhc2U+ID0gewogICAgICAgICAg
ICAgICAgbV9zbG90ID0gMHgzZmZlNDcxMjFhMH0sIDxKU0M6OkhhbmRsZUNvbnZlcnRlcjxKU0M6
OkhhbmRsZTxKU0M6OlN0cnVjdHVyZT4sIEpTQzo6U3RydWN0dXJlPj4gPSB7PE5vIGRhdGEgZmll
bGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgCiAgICAgICAgICBz
dHJ1Y3R1cmVDaGFpblN0cnVjdHVyZSA9IHs8SlNDOjpIYW5kbGU8SlNDOjpTdHJ1Y3R1cmU+PiA9
IHs8SlNDOjpIYW5kbGVCYXNlPiA9IHsKICAgICAgICAgICAgICAgIG1fc2xvdCA9IDB4M2ZmZTQ3
MTIxYjh9LCA8SlNDOjpIYW5kbGVDb252ZXJ0ZXI8SlNDOjpIYW5kbGU8SlNDOjpTdHJ1Y3R1cmU+
LCBKU0M6OlN0cnVjdHVyZT4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+
fSwgPE5vIGRhdGEgZmllbGRzPn0sIAogICAgICAgICAgc3BhcnNlQXJyYXlWYWx1ZU1hcFN0cnVj
dHVyZSA9IHs8SlNDOjpIYW5kbGU8SlNDOjpTdHJ1Y3R1cmU+PiA9IHs8SlNDOjpIYW5kbGVCYXNl
PiA9IHsKICAgICAgICAgICAgICAgIG1fc2xvdCA9IDB4M2ZmZTQ3MTIxZDB9LCA8SlNDOjpIYW5k
bGVDb252ZXJ0ZXI8SlNDOjpIYW5kbGU8SlNDOjpTdHJ1Y3R1cmU+LCBKU0M6OlN0cnVjdHVyZT4+
ID0gezxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRz
Pn0sIAogICAgICAgICAgd2l0aFNjb3BlU3RydWN0dXJlID0gezxKU0M6OkhhbmRsZTxKU0M6OlN0
cnVjdHVyZT4+ID0gezxKU0M6OkhhbmRsZUJhc2U+ID0gewogICAgICAgICAgICAgICAgbV9zbG90
ID0gMHgzZmZlNDcxMjFlOH0sIDxKU0M6OkhhbmRsZUNvbnZlcnRlcjxKU0M6OkhhbmRsZTxKU0M6
OlN0cnVjdHVyZT4sIEpTQzo6U3RydWN0dXJlPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxObyBk
YXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+fSwgCiAgICAgICAgICB1bmxpbmtlZEZ1bmN0
aW9uRXhlY3V0YWJsZVN0cnVjdHVyZSA9IHs8SlNDOjpIYW5kbGU8SlNDOjpTdHJ1Y3R1cmU+PiA9
IHs8SlNDOjpIYW5kbGVCYXNlPiA9IHsKICAgICAgICAgICAgICAgIG1fc2xvdCA9IDB4M2ZmZTQ3
MTIyMDB9LCA8SlNDOjpIYW5kbGVDb252ZXJ0ZXI8SlNDOjpIYW5kbGU8SlNDOjpTdHJ1Y3R1cmU+
LCBKU0M6OlN0cnVjdHVyZT4+ID0gezxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBmaWVsZHM+
fSwgPE5vIGRhdGEgZmllbGRzPn0sIAogICAgICAgICAgdW5saW5rZWRQcm9ncmFtQ29kZUJsb2Nr
U3RydWN0dXJlID0gezxKU0M6OkhhbmRsZTxKU0M6OlN0cnVjdHVyZT4+ID0gezxKU0M6OkhhbmRs
ZUJhc2U+ID0gewogICAgICAgICAgICAgICAgbV9zbG90ID0gMHgzZmZlNDcxMjIxOH0sIDxKU0M6
OkhhbmRsZUNvbnZlcnRlcjxKU0M6OkhhbmRsZTxKU0M6OlN0cnVjdHVyZT4sIEpTQzo6U3RydWN0
dXJlPj4gPSB7PE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCA8Tm8gZGF0YSBm
aWVsZHM+fSwgCiAgICAgICAgICB1bmxpbmtlZEV2YWxDb2RlQmxvY2tTdHJ1Y3R1cmUgPSB7PEpT
Qzo6SGFuZGxlPEpTQzo6U3RydWN0dXJlPj4gPSB7PEpTQzo6SGFuZGxlQmFzZT4gPSB7CiAgICAg
ICAgICAgICAgICBtX3Nsb3QgPSAweDNmZmU0NzEyMjMwfSwgPEpTQzo6SGFuZGxlQ29udmVydGVy
PEpTQzo6SGFuZGxlPEpTQzo6U3RydWN0dXJlPiwgSlNDOjpTdHJ1Y3R1cmU+PiA9IHs8Tm8gZGF0
YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCAKICAgICAg
ICAgIHVubGlua2VkRnVuY3Rpb25Db2RlQmxvY2tTdHJ1Y3R1cmUgPSB7PEpTQzo6SGFuZGxlPEpT
Qzo6U3RydWN0dXJlPj4gPSB7PEpTQzo6SGFuZGxlQmFzZT4gPSB7CiAgICAgICAgICAgICAgICBt
X3Nsb3QgPSAweDNmZmU0NzEyMjQ4fSwgPEpTQzo6SGFuZGxlQ29udmVydGVyPEpTQzo6SGFuZGxl
PEpTQzo6U3RydWN0dXJlPiwgSlNDOjpTdHJ1Y3R1cmU+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwg
PE5vIGRhdGEgZmllbGRzPn0sIDxObyBkYXRhIGZpZWxkcz59LCAKICAgICAgICAgIHByb3BlcnR5
VGFibGVTdHJ1Y3R1cmUgPSB7PEpTQzo6SGFuZGxlPEpTQzo6U3RydWN0dXJlPj4gPSB7PEpTQzo6
SGFuZGxlQmFzZT4gPSB7CiAgICAgICAgICAgICAgICBtX3Nsb3QgPSAweDNmZmU0NzEyMjYwfSwg
PEpTQzo6SGFuZGxlQ29udmVydGVyPEpTQzo6SGFuZGxlPEpTQzo6U3RydWN0dXJlPiwgSlNDOjpT
dHJ1Y3R1cmU+PiA9IHs8Tm8gZGF0YSBmaWVsZHM+fSwgPE5vIGRhdGEgZmllbGRzPn0sIDxObyBk
YXRhIGZpZWxkcz59LCAKICAgICAgICAgIGlkZW50aWZpZXJUYWJsZSA9IDB4M2ZmZjAzYzIyZTgs
IHByb3BlcnR5TmFtZXMgPSAweDNmZmYwNDUwYTAwLCBlbXB0eUxpc3QgPSAweDNmZmYwM2NkNzM4
LCBzbWFsbFN0cmluZ3MgPSB7c3RhdGljIHNpbmdsZUNoYXJhY3RlclN0cmluZ0NvdW50ID0gMjU2
LCBtX2VtcHR5U3RyaW5nID0gMHgzZmZlNDZiZmZlMCwgCiAgICAgICAgICAgIG1fYm9vbGVhbiA9
IDB4M2ZmZTQ2YmU3YzgsIG1fZmFsc2UgPSAweDNmZmU0NmJlN2IwLCBtX2Z1bmN0aW9uID0gMHgz
ZmZlNDZiZTc5OCwgbV9udW1iZXIgPSAweDNmZmU0NmJlNzgwLCBtX251bGwgPSAweDNmZmU0NmJl
NzY4LCBtX29iamVjdCA9IDB4M2ZmZTQ2YmU3NTAsIAogICAgICAgICAgICBtX3VuZGVmaW5lZCA9
IDB4M2ZmZTQ2YmU3MzgsIG1fc3RyaW5nID0gMHgzZmZlNDZiZTcyMCwgbV90cnVlID0gMHgzZmZl
NDZiZTcwOCwgbV9zaW5nbGVDaGFyYWN0ZXJTdHJpbmdzID0gezB4M2ZmZTQ2YmZmYzgsIDB4M2Zm
ZTQ2YmZmYjAsIDB4M2ZmZTQ2YmZmOTgsIDB4M2ZmZTQ2YmZmODAsIAogICAgICAgICAgICAgIDB4
M2ZmZTQ2YmZmNjgsIDB4M2ZmZTQ2YmZmNTAsIDB4M2ZmZTQ2YmZmMzgsIDB4M2ZmZTQ2YmZmMjAs
IDB4M2ZmZTQ2YmZmMDgsIDB4M2ZmZTQ2YmZlZjAsIDB4M2ZmZTQ2YmZlZDgsIDB4M2ZmZTQ2YmZl
YzAsIDB4M2ZmZTQ2YmZlYTgsIDB4M2ZmZTQ2YmZlOTAsIDB4M2ZmZTQ2YmZlNzgsIAogICAgICAg
ICAgICAgIDB4M2ZmZTQ2YmZlNjAsIDB4M2ZmZTQ2YmZlNDgsIDB4M2ZmZTQ2YmZlMzAsIDB4M2Zm
ZTQ2YmZlMTgsIDB4M2ZmZTQ2YmZlMDAsIDB4M2ZmZTQ2YmZkZTgsIDB4M2ZmZTQ2YmZkZDAsIDB4
M2ZmZTQ2YmZkYjgsIDB4M2ZmZTQ2YmZkYTAsIDB4M2ZmZTQ2YmZkODgsIDB4M2ZmZTQ2YmZkNzAs
IAogICAgICAgICAgICAgIDB4M2ZmZTQ2YmZkNTgsIDB4M2ZmZTQ2YmZkNDAsIDB4M2ZmZTQ2YmZk
MjgsIDB4M2ZmZTQ2YmZkMTAsIDB4M2ZmZTQ2YmZjZjgsIDB4M2ZmZTQ2YmZjZTAsIDB4M2ZmZTQ2
YmZjYzgsIDB4M2ZmZTQ2YmZjYjAsIDB4M2ZmZTQ2YmZjOTgsIDB4M2ZmZTQ2YmZjODAsIDB4M2Zm
ZTQ2YmZjNjgsIAogICAgICAgICAgICAgIDB4M2ZmZTQ2YmZjNTAsIDB4M2ZmZTQ2YmZjMzgsIDB4
M2ZmZTQ2YmZjMjAsIDB4M2ZmZTQ2YmZjMDgsIDB4M2ZmZTQ2YmZiZjAsIDB4M2ZmZTQ2YmZiZDgs
IDB4M2ZmZTQ2YmZiYzAsIDB4M2ZmZTQ2YmZiYTgsIDB4M2ZmZTQ2YmZiOTAsIDB4M2ZmZTQ2YmZi
NzgsIDB4M2ZmZTQ2YmZiNjAsIAogICAgICAgICAgICAgIDB4M2ZmZTQ2YmZiNDgsIDB4M2ZmZTQ2
YmZiMzAsIDB4M2ZmZTQ2YmZiMTgsIDB4M2ZmZTQ2YmZiMDAsIDB4M2ZmZTQ2YmZhZTgsIDB4M2Zm
ZTQ2YmZhZDAsIDB4M2ZmZTQ2YmZhYjgsIDB4M2ZmZTQ2YmZhYTAsIDB4M2ZmZTQ2YmZhODgsIDB4
M2ZmZTQ2YmZhNzAsIDB4M2ZmZTQ2YmZhNTgsIAogICAgICAgICAgICAgIDB4M2ZmZTQ2YmZhNDAs
IDB4M2ZmZTQ2YmZhMjgsIDB4M2ZmZTQ2YmZhMTAsIDB4M2ZmZTQ2YmY5ZjgsIDB4M2ZmZTQ2YmY5
ZTAsIDB4M2ZmZTQ2YmY5YzgsIDB4M2ZmZTQ2YmY5YjAsIDB4M2ZmZTQ2YmY5OTgsIDB4M2ZmZTQ2
YmY5ODAsIDB4M2ZmZTQ2YmY5NjgsIDB4M2ZmZTQ2YmY5NTAsIAogICAgICAgICAgICAgIDB4M2Zm
ZTQ2YmY5MzgsIDB4M2ZmZTQ2YmY5MjAsIDB4M2ZmZTQ2YmY5MDgsIDB4M2ZmZTQ2YmY4ZjAsIDB4
M2ZmZTQ2YmY4ZDgsIDB4M2ZmZTQ2YmY4YzAsIDB4M2ZmZTQ2YmY4YTgsIDB4M2ZmZTQ2YmY4OTAs
IDB4M2ZmZTQ2YmY4NzgsIDB4M2ZmZTQ2YmY4NjAsIDB4M2ZmZTQ2YmY4NDgsIAogICAgICAgICAg
ICAgIDB4M2ZmZTQ2YmY4MzAsIDB4M2ZmZTQ2YmY4MTgsIDB4M2ZmZTQ2YmY4MDAsIDB4M2ZmZTQ2
YmY3ZTgsIDB4M2ZmZTQ2YmY3ZDAsIDB4M2ZmZTQ2YmY3YjgsIDB4M2ZmZTQ2YmY3YTAsIDB4M2Zm
ZTQ2YmY3ODgsIDB4M2ZmZTQ2YmY3NzAsIDB4M2ZmZTQ2YmY3NTgsIDB4M2ZmZTQ2YmY3NDAsIAog
ICAgICAgICAgICAgIDB4M2ZmZTQ2YmY3MjgsIDB4M2ZmZTQ2YmY3MTAsIDB4M2ZmZTQ2YmY2Zjgs
IDB4M2ZmZTQ2YmY2ZTAsIDB4M2ZmZTQ2YmY2YzgsIDB4M2ZmZTQ2YmY2YjAsIDB4M2ZmZTQ2YmY2
OTgsIDB4M2ZmZTQ2YmY2ODAsIDB4M2ZmZTQ2YmY2NjgsIDB4M2ZmZTQ2YmY2NTAsIDB4M2ZmZTQ2
YmY2MzgsIAogICAgICAgICAgICAgIDB4M2ZmZTQ2YmY2MjAsIDB4M2ZmZTQ2YmY2MDgsIDB4M2Zm
ZTQ2YmY1ZjAsIDB4M2ZmZTQ2YmY1ZDgsIDB4M2ZmZTQ2YmY1YzAsIDB4M2ZmZTQ2YmY1YTgsIDB4
M2ZmZTQ2YmY1OTAsIDB4M2ZmZTQ2YmY1NzgsIDB4M2ZmZTQ2YmY1NjAsIDB4M2ZmZTQ2YmY1NDgs
IDB4M2ZmZTQ2YmY1MzAsIAogICAgICAgICAgICAgIDB4M2ZmZTQ2YmY1MTgsIDB4M2ZmZTQ2YmY1
MDAsIDB4M2ZmZTQ2YmY0ZTgsIDB4M2ZmZTQ2YmY0ZDAsIDB4M2ZmZTQ2YmY0YjgsIDB4M2ZmZTQ2
YmY0YTAsIDB4M2ZmZTQ2YmY0ODgsIDB4M2ZmZTQ2YmY0NzAsIDB4M2ZmZTQ2YmY0NTgsIDB4M2Zm
ZTQ2YmY0NDAsIDB4M2ZmZTQ2YmY0MjgsIAogICAgICAgICAgICAgIDB4M2ZmZTQ2YmY0MTAsIDB4
M2ZmZTQ2YmYzZjgsIDB4M2ZmZTQ2YmYzZTAsIDB4M2ZmZTQ2YmYzYzgsIDB4M2ZmZTQ2YmYzYjAs
IDB4M2ZmZTQ2YmYzOTgsIDB4M2ZmZTQ2YmYzODAsIDB4M2ZmZTQ2YmYzNjgsIDB4M2ZmZTQ2YmYz
NTAsIDB4M2ZmZTQ2YmYzMzgsIDB4M2ZmZTQ2YmYzMjAsIAogICAgICAgICAgICAgIDB4M2ZmZTQ2
YmYzMDgsIDB4M2ZmZTQ2YmYyZjAsIDB4M2ZmZTQ2YmYyZDgsIDB4M2ZmZTQ2YmYyYzAsIDB4M2Zm
ZTQ2YmYyYTgsIDB4M2ZmZTQ2YmYyOTAsIDB4M2ZmZTQ2YmYyNzgsIDB4M2ZmZTQ2YmYyNjAsIDB4
M2ZmZTQ2YmYyNDgsIDB4M2ZmZTQ2YmYyMzAsIDB4M2ZmZTQ2YmYyMTgsIAogICAgICAgICAgICAg
IDB4M2ZmZTQ2YmYyMDAsIDB4M2ZmZTQ2YmYxZTgsIDB4M2ZmZTQ2YmYxZDAsIDB4M2ZmZTQ2YmYx
YjgsIDB4M2ZmZTQ2YmYxYTAsIDB4M2ZmZTQ2YmYxODgsIDB4M2ZmZTQ2YmYxNzAsIDB4M2ZmZTQ2
YmYxNTgsIDB4M2ZmZTQ2YmYxNDAsIDB4M2ZmZTQ2YmYxMjgsIDB4M2ZmZTQ2YmYxMTAsIAogICAg
ICAgICAgICAgIDB4M2ZmZTQ2YmYwZjgsIDB4M2ZmZTQ2YmYwZTAsIDB4M2ZmZTQ2YmYwYzgsIDB4
M2ZmZTQ2YmYwYjAsIDB4M2ZmZTQ2YmYwOTgsIDB4M2ZmZTQ2YmYwODAsIDB4M2ZmZTQ2YmYwNjgs
IDB4M2ZmZTQ2YmYwNTAsIDB4M2ZmZTQ2YmYwMzgsIDB4M2ZmZTQ2YmYwMjAsIDB4M2ZmZTQ2YmYw
MDgsIAogICAgICAgICAgICAgIDB4M2ZmZTQ2YmVmZjAsIDB4M2ZmZTQ2YmVmZDgsIDB4M2ZmZTQ2
YmVmYzAsIDB4M2ZmZTQ2YmVmYTgsIDB4M2ZmZTQ2YmVmOTAsIDB4M2ZmZTQ2YmVmNzgsIDB4M2Zm
ZTQ2YmVmNjAsIDB4M2ZmZTQ2YmVmNDgsIDB4M2ZmZTQ2YmVmMzAsIDB4M2ZmZTQ2YmVmMTgsIDB4
M2ZmZTQ2YmVmMDAsIAogICAgICAgICAgICAgIDB4M2ZmZTQ2YmVlZTgsIDB4M2ZmZTQ2YmVlZDAs
IDB4M2ZmZTQ2YmVlYjgsIDB4M2ZmZTQ2YmVlYTAsIDB4M2ZmZTQ2YmVlODgsIDB4M2ZmZTQ2YmVl
NzAsIDB4M2ZmZTQ2YmVlNTgsIDB4M2ZmZTQ2YmVlNDAsIDB4M2ZmZTQ2YmVlMjgsIDB4M2ZmZTQ2
YmVlMTAsIDB4M2ZmZTQ2YmVkZjgsIAogICAgICAgICAgICAgIDB4M2ZmZTQ2YmVkZTAsIDB4M2Zm
ZTQ2YmVkYzgsIDB4M2ZmZTQ2YmVkYjAsIDB4M2ZmZTQ2YmVkOTgsIDB4M2ZmZTQ2YmVkODAsIDB4
M2ZmZTQ2YmVkNjgsIDB4M2ZmZTQ2YmVkNTAsIDB4M2ZmZTQ2YmVkMzgsIDB4M2ZmZTQ2YmVkMjAu
Li59LCBtX3N0b3JhZ2UgPSB7bV9wdHIgPSAKICAgIDB4M2ZmZjA0MWM4MDB9fSwgbnVtZXJpY1N0
cmluZ3MgPSB7c3RhdGljIGNhY2hlU2l6ZSA9IDY0LCBkb3VibGVDYWNoZSA9IHttX2RhdGEgPSB7
e2tleSA9IDAsIHZhbHVlID0gIihudWxsKSJ9IDxyZXBlYXRzIDY0IHRpbWVzPn19LCBpbnRDYWNo
ZSA9IHttX2RhdGEgPSB7e2tleSA9IDAsIAogICAgICAgICAgICAgICAgICB2YWx1ZSA9ICIobnVs
bCkifSA8cmVwZWF0cyA2NCB0aW1lcz59fSwgdW5zaWduZWRDYWNoZSA9IHttX2RhdGEgPSB7e2tl
eSA9IDAsIHZhbHVlID0gIihudWxsKSJ9IDxyZXBlYXRzIDY0IHRpbWVzPn19LCBzbWFsbEludENh
Y2hlID0ge21fZGF0YSA9IHsKICAgICAgICAgICAgICAgICIobnVsbCkiIDxyZXBlYXRzIDY0IHRp
bWVzPn19fSwgZGF0ZUluc3RhbmNlQ2FjaGUgPSB7c3RhdGljIGNhY2hlU2l6ZSA9IDE2LCBtX2Nh
Y2hlID0ge21fZGF0YSA9IHt7a2V5ID0gbmFuKDB4ODAwMDAwMDAwMDAwMCksIHZhbHVlID0ge21f
cHRyID0gMHgwfX0gPHJlcGVhdHMgMTYgdGltZXM+fX19LCAKICAgICAgICAgIG1hY2hpbmVDb2Rl
Qnl0ZXNQZXJCeXRlY29kZVdvcmRGb3JCYXNlbGluZUpJVCA9IHttX2NvdW50ID0gMCwgbV9zdW0g
PSAwLCBtX3N1bU9mU3F1YXJlcyA9IDB9LCBjb2RlQmxvY2tzQmVpbmdDb21waWxlZCA9IFdURjo6
VmVjdG9yIG9mIGxlbmd0aCAwLCBjYXBhY2l0eSAxNiwgcHJvdG90eXBlTWFwID0gewogICAgICAg
ICAgICBtX3Byb3RvdHlwZXMgPSB7PFdURjo6SGFzaE1hcDxKU0M6OkpTT2JqZWN0KiwgSlNDOjpX
ZWFrPEpTQzo6SlNPYmplY3Q+LCBXVEY6OlB0ckhhc2g8SlNDOjpKU09iamVjdCo+LCBXVEY6Okhh
c2hUcmFpdHM8SlNDOjpKU09iamVjdCo+LCBXVEY6Okhhc2hUcmFpdHM8SlNDOjpXZWFrPEpTQzo6
SlNPYmplY3Q+ID4gPj4gPSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExvYWQgPSA8b3B0aW1pemVk
IG91dD4sIHN0YXRpYyBtX21pbkxvYWQgPSA8b3B0aW1pemVkIG91dD4sIG1fdGFibGUgPSAweDNm
ZmYwNDYwYzgwLCBtX3RhYmxlU2l6ZSA9IDgsIG1fdGFibGVTaXplTWFzayA9IDcsIG1fa2V5Q291
bnQgPSAzLCBtX2RlbGV0ZWRDb3VudCA9IDB9fSwgCiAgICAgICAgICAgICAgc3RhdGljIG1pbkdD
VGhyZXNob2xkID0gMywgbV9nY1RocmVzaG9sZCA9IDV9LCAKICAgICAgICAgICAgbV9zdHJ1Y3R1
cmVzID0gezxXVEY6Okhhc2hNYXA8c3RkOjpwYWlyPEpTQzo6SlNPYmplY3QqLCB1bnNpZ25lZCBp
bnQ+LCBKU0M6OldlYWs8SlNDOjpTdHJ1Y3R1cmU+LCBXVEY6OlBhaXJIYXNoPEpTQzo6SlNPYmpl
Y3QqLCB1bnNpZ25lZCBpbnQ+LCBXVEY6Okhhc2hUcmFpdHM8c3RkOjpwYWlyPEpTQzo6SlNPYmpl
Y3QqLCB1bnNpZ25lZCBpbnQ+ID4sIFdURjo6SGFzaFRyYWl0czxKU0M6OldlYWs8SlNDOjpTdHJ1
Y3R1cmU+ID4gPj4gPSB7bV9pbXBsID0ge3N0YXRpYyBtX21heExvYWQgPSA8b3B0aW1pemVkIG91
dD4sIHN0YXRpYyBtX21pbkxvYWQgPSA8b3B0aW1pemVkIG91dD4sIG1fdGFibGUgPSAweDNmZmU0
Mjg1OTAwLCAKICAgICAgICAgICAgICAgICAgbV90YWJsZVNpemUgPSAzMiwgbV90YWJsZVNpemVN
YXNrID0gMzEsIG1fa2V5Q291bnQgPSAxMywgbV9kZWxldGVkQ291bnQgPSAwfX0sIHN0YXRpYyBt
aW5HQ1RocmVzaG9sZCA9IDMsIG1fZ2NUaHJlc2hvbGQgPSAxN319LCBwYXJzZXJBcmVuYSA9IHtt
X3B0ciA9IDB4ODAzYThlYzB9LCAKICAgICAgICAgIHNvdXJjZVByb3ZpZGVyQ2FjaGVNYXAgPSB7
bV9pbXBsID0ge3N0YXRpYyBtX21heExvYWQgPSA8b3B0aW1pemVkIG91dD4sIHN0YXRpYyBtX21p
bkxvYWQgPSA8b3B0aW1pemVkIG91dD4sIG1fdGFibGUgPSAweDNmZmU0MWNiNTgwLCBtX3RhYmxl
U2l6ZSA9IDgsIG1fdGFibGVTaXplTWFzayA9IDcsIAogICAgICAgICAgICAgIG1fa2V5Q291bnQg
PSAxLCBtX2RlbGV0ZWRDb3VudCA9IDB9fSwga2V5d29yZHMgPSB7bV9wdHIgPSAweDgwM2MxMmYw
fSwgaW50ZXJwcmV0ZXIgPSAweDNmZmYwM2YxZWEwLCBqc0FycmF5Q2xhc3NJbmZvID0gMHgzZmZm
YWJjMWM5OCA8SlNDOjpKU0FycmF5OjpzX2luZm8+LCAKICAgICAgICAgIGpzRmluYWxPYmplY3RD
bGFzc0luZm8gPSAweDNmZmZhYmMyODU4IDxKU0M6OkpTRmluYWxPYmplY3Q6OnNfaW5mbz4sIGV4
Y2VwdGlvbkxvY2F0aW9uID0ge21fdmFsdWUgPSAweDB9LCBob3N0Q2FsbFJldHVyblZhbHVlID0g
e3UgPSB7YXNJbnQ2NCA9IDAsIHB0ciA9IDB4MCwgYXNCaXRzID0ge3RhZyA9IDAsIAogICAgICAg
ICAgICAgICAgcGF5bG9hZCA9IDB9fX0sIGNhbGxGcmFtZUZvclRocm93ID0gMHgwLCB0YXJnZXRN
YWNoaW5lUENGb3JUaHJvdyA9IDB4MCwgdGFyZ2V0SW50ZXJwcmV0ZXJQQ0ZvclRocm93ID0gMHgw
LCBkeW5hbWljR2xvYmFsT2JqZWN0ID0gMHgzZmZlNDAyZjk3MCwgCiAgICAgICAgICBzdHJpbmdS
ZWN1cnNpb25DaGVja1Zpc2l0ZWRPYmplY3RzID0ge21faW1wbCA9IHtzdGF0aWMgbV9tYXhMb2Fk
ID0gPG9wdGltaXplZCBvdXQ+LCBzdGF0aWMgbV9taW5Mb2FkID0gPG9wdGltaXplZCBvdXQ+LCBt
X3RhYmxlID0gMHgwLCBtX3RhYmxlU2l6ZSA9IDAsIG1fdGFibGVTaXplTWFzayA9IDAsIAogICAg
ICAgICAgICAgIG1fa2V5Q291bnQgPSAwLCBtX2RlbGV0ZWRDb3VudCA9IDB9fSwgbG9jYWxUaW1l
T2Zmc2V0Q2FjaGUgPSB7b2Zmc2V0ID0ge2lzRFNUID0gZmFsc2UsIG9mZnNldCA9IDB9LCBzdGFy
dCA9IDAsIGVuZCA9IC0xLCBpbmNyZW1lbnQgPSAwfSwgY2FjaGVkRGF0ZVN0cmluZyA9ICIobnVs
bCkiLCAKICAgICAgICAgIGNhY2hlZERhdGVTdHJpbmdWYWx1ZSA9IG5hbigweDgwMDAwMDAwMDAw
MDApLCBtX2VuYWJsZWRQcm9maWxlciA9IDB4MCwgbV9wZXJCeXRlY29kZVByb2ZpbGVyID0ge21f
cHRyID0gMHgwfSwgbV90eXBlZEFycmF5Q29udHJvbGxlciA9IHttX3B0ciA9IDB4M2ZmZjA0NDQx
MDh9LCBtX3JlZ0V4cENhY2hlID0gCiAgICAweDgwNDJhY2EwLCBtX3JlZ0V4cEFsbG9jYXRvciA9
IHttX2hlYWQgPSAweDB9LCBleGNsdXNpdmVUaHJlYWQgPSAxLCBjYWNoZWRTaW4gPSB7c3RhdGlj
IHNfY2FjaGVTaXplID0gPG9wdGltaXplZCBvdXQ+LCBtX2NhY2hlID0gMHgwfSwgbV9uZXdTdHJp
bmdzU2luY2VMYXN0SGFzaENvbnMgPSA0OTUsIAogICAgICAgICAgc3RhdGljIHNfbWluTnVtYmVy
T2ZOZXdTdHJpbmdzVG9IYXNoQ29ucyA9IDEwMCwgbV9leGNlcHRpb24gPSB7dSA9IHthc0ludDY0
ID0gMCwgcHRyID0gMHgwLCBhc0JpdHMgPSB7dGFnID0gMCwgcGF5bG9hZCA9IDB9fX0sIG1faW5E
ZWZpbmVPd25Qcm9wZXJ0eSA9IGZhbHNlLCBtX2NvZGVDYWNoZSA9IHsKICAgICAgICAgICAgbV9w
dHIgPSAweDgwM2E5NDUwfSwgbV9leGNlcHRpb25TdGFjayA9IHttX2RhdGEgPSAweDB9fQogICAg
ICAgIGdsb2JhbE9iamVjdFNjb3BlID0ge21fZHluYW1pY0dsb2JhbE9iamVjdFNsb3QgPSBAMHgz
ZmZmMDQ0ZmExOCwgbV9zYXZlZER5bmFtaWNHbG9iYWxPYmplY3QgPSAweDB9CiAgICAgICAgcGFy
c2VSZXN1bHQgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICBzYW1wbGluZ1Njb3BlID0ge21faW50
ZXJwcmV0ZXIgPSAweDNmZmYwM2YxZWEwfQogICAgICAgIGNvZGVCbG9jayA9IDB4M2ZmZjAzYzkw
MDAKICAgICAgICByZXN1bHQgPSA8b3B0aW1pemVkIG91dD4KIzIgIDB4MDAwMDAzZmZmYTlhMDU1
MCBpbiBKU0M6OmV2YWx1YXRlIChleGVjPTB4M2ZmZTQwMmY5ZTAsIHNvdXJjZT0uLi4sIHRoaXNW
YWx1ZT0uLi4sIHJldHVybmVkRXhjZXB0aW9uPTB4M2ZmZmZmZmU2NjgpIGF0IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0NvbXBsZXRpb24uY3BwOjgzCiAgICAgICAgcHJvZmlsZSA9IHtt
X2FjdGl2ZSA9IGZhbHNlLCBzdGF0aWMgc19tb2RlID0gSlNDOjpDb2RlUHJvZmlsaW5nOjpEaXNh
YmxlZCwgc3RhdGljIHNfdHJhY2tlciA9IDB4MCwgc3RhdGljIHNfcHJvZmlsZVN0YWNrID0gMHgw
fQogICAgICAgIHRoaXNPYmogPSAweDNmZmU0MDZmZmQ4CiAgICAgICAgbG9jayA9IHttX3ZtID0g
e21fcHRyID0gMHgzZmZmMDQ0NTAwMH19CiAgICAgICAgcmVzdWx0ID0gPG9wdGltaXplZCBvdXQ+
CiMzICAweDAwMDAwM2ZmZmMwY2I3MzYgaW4gZXZhbHVhdGUgKGV4Y2VwdGlvbj0weDNmZmZmZmZl
NjY4LCB0aGlzVmFsdWU9Li4uLCBzb3VyY2U9Li4uLCBleGVjPTB4M2ZmZTQwMmY5ZTApIGF0IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5oOjc0CiAgICAg
ICAgbG9jayA9IHttX3ZtID0ge21fcHRyID0gMHgzZmZmMDQ0NTAwMH19CiM0ICBXZWJDb3JlOjpT
Y3JpcHRDb250cm9sbGVyOjpldmFsdWF0ZUluV29ybGQgKHRoaXM9MHg4MDFjZjc4MCwgc291cmNl
Q29kZT0uLi4sIHdvcmxkPTxvcHRpbWl6ZWQgb3V0PikgYXQgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHA6MTQyCiAgICAgICAgZXhlYyA9IDB4M2ZmZTQwMmY5
ZTAKICAgICAgICBjb29raWUgPSB7bV9pbnN0cnVtZW50aW5nQWdlbnRzID0ge21fcHRyID0gMHgw
fSwgbV90aW1lbGluZUFnZW50SWQgPSAwfQogICAgICAgIGV2YWx1YXRpb25FeGNlcHRpb24gPSB7
dSA9IHthc0ludDY0ID0gMCwgcHRyID0gMHgwLCBhc0JpdHMgPSB7dGFnID0gMCwgcGF5bG9hZCA9
IDB9fX0KICAgICAgICBqc1NvdXJjZUNvZGUgPSBAMHgzZmZmZmZmZThlODoge21fcHJvdmlkZXIg
PSB7bV9wdHIgPSAweDNmZmU0MWM1NGQwfSwgbV9zdGFydENoYXIgPSAwLCBtX2VuZENoYXIgPSAx
ODMxODQsIG1fZmlyc3RMaW5lID0gMSwgbV9zdGFydENvbHVtbiA9IDF9CiAgICAgICAgc2F2ZWRT
b3VyY2VVUkwgPSAweDAKICAgICAgICBsb2NrID0ge21fdm0gPSB7bV9wdHIgPSAweDNmZmYwNDQ1
MDAwfX0KICAgICAgICBzb3VyY2VVUkwgPSAiZmlsZTovLy91c3Ivc2hhcmUveWVscC14c2wvanMv
anF1ZXJ5LmpzIgogICAgICAgIHByb3RlY3QgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICByZXR1
cm5WYWx1ZSA9IDxvcHRpbWl6ZWQgb3V0PgojNSAgMHgwMDAwMDNmZmZjMGNiYjQ4IGluIFdlYkNv
cmU6OlNjcmlwdENvbnRyb2xsZXI6OmV2YWx1YXRlICh0aGlzPTB4ODAxY2Y3ODAsIHNvdXJjZUNv
ZGU9Li4uKSBhdCBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNw
cDoxNTgKTm8gbG9jYWxzLgojNiAgMHgwMDAwMDNmZmZjMzBmMzkwIGluIFdlYkNvcmU6OlNjcmlw
dEVsZW1lbnQ6OmV4ZWN1dGVTY3JpcHQgKHRoaXM9MHgzZmZmMDNmMTY5MCwgc291cmNlQ29kZT0u
Li4pIGF0IFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcDozMTcKICAgICAgICBp
Z25vcmVEZXNjdHJ1Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIgPSA8b3B0aW1pemVkIG91dD4K
ICAgICAgICBkb2N1bWVudCA9IHttX3B0ciA9IDB4ODA0MmU0MDB9CiM3ICAweDAwMDAwM2ZmZmNh
NTNlNjYgaW4gV2ViQ29yZTo6WE1MRG9jdW1lbnRQYXJzZXI6Om5vdGlmeUZpbmlzaGVkICh0aGlz
PTB4M2ZmZjAzYzZhMDAsIHVudXNlZFJlc291cmNlPTxvcHRpbWl6ZWQgb3V0PikgYXQgU291cmNl
L1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5jcHA6MjY1CiAgICAgICAgc291
cmNlQ29kZSA9IHttX3Byb3ZpZGVyID0ge21fcHRyID0gMHgzZmZlNDFjNTRkMH0sIG1fY29kZSA9
IHttX3Byb3ZpZGVyID0ge21fcHRyID0gMHgzZmZlNDFjNTRkMH0sIG1fc3RhcnRDaGFyID0gMCwg
bV9lbmRDaGFyID0gMTgzMTg0LCBtX2ZpcnN0TGluZSA9IDEsIG1fc3RhcnRDb2x1bW4gPSAxfSwg
CiAgICAgICAgICBtX2NhY2hlZFNjcmlwdCA9IHs8V2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2VIYW5k
bGVCYXNlPiA9IHttX3Jlc291cmNlID0gMHgzZmZmMDQ5MzgwMH0sIDxObyBkYXRhIGZpZWxkcz59
LCBtX3VybCA9IHttX3N0cmluZyA9ICIobnVsbCkiLCBtX2lzVmFsaWQgPSBmYWxzZSwgCiAgICAg
ICAgICAgIG1fcHJvdG9jb2xJc0luSFRUUEZhbWlseSA9IGZhbHNlLCBtX3NjaGVtZUVuZCA9IDAs
IG1fdXNlclN0YXJ0ID0gMCwgbV91c2VyRW5kID0gMCwgbV9wYXNzd29yZEVuZCA9IDAsIG1faG9z
dEVuZCA9IDAsIG1fcG9ydEVuZCA9IDAsIG1fcGF0aEFmdGVyTGFzdFNsYXNoID0gMCwgbV9wYXRo
RW5kID0gMCwgCiAgICAgICAgICAgIG1fcXVlcnlFbmQgPSAwLCBtX2ZyYWdtZW50RW5kID0gMH19
CiAgICAgICAgZSA9IHttX3B0ciA9IDB4M2ZmZjAzZjE2MzB9CiAgICAgICAgc2NyaXB0RWxlbWVu
dCA9IDB4M2ZmZjAzZjE2OTAKICAgICAgICBwcm90ZWN0ID0ge21fcHRyID0gMHgzZmZmMDNjNmEw
MH0KIzggIDB4MDAwMDAzZmZmYzZjNmQwZSBpbiBXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6Y2hl
Y2tOb3RpZnkgKHRoaXM9MHgzZmZmMDQ5MzgwMCkgYXQgU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlLmNwcDozNjkKICAgICAgICB3ID0ge21fY2xpZW50U2V0ID0gQDB4
M2ZmZjA0OTM4MDgsIG1fY2xpZW50VmVjdG9yID0gV1RGOjpWZWN0b3Igb2YgbGVuZ3RoIDEsIGNh
cGFjaXR5IDEgPSB7MHgzZmZmMDNjNmEyOH0sIG1faW5kZXggPSAxfQojOSAgMHgwMDAwMDNmZmZj
NzNmMWI2IGluIFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nICh0
aGlzPTB4M2ZmZjA0OTMwMDAsIGZpbmlzaFRpbWU9MCkgYXQgU291cmNlL1dlYkNvcmUvbG9hZGVy
L1N1YnJlc291cmNlTG9hZGVyLmNwcDoyODIKICAgICAgICBwcm90ZWN0ID0ge21fcHRyID0gMHgz
ZmZmMDQ5MzAwMH0KICAgICAgICBwcm90ZWN0UmVzb3VyY2UgPSB7PFdlYkNvcmU6OkNhY2hlZFJl
c291cmNlSGFuZGxlQmFzZT4gPSB7bV9yZXNvdXJjZSA9IDB4M2ZmZjA0OTM4MDB9LCA8Tm8gZGF0
YSBmaWVsZHM+fQojMTAgMHgwMDAwMDNmZmZjZjY2NjNjIGluIFdlYkNvcmU6OnJlYWRDYWxsYmFj
ayAoYXN5bmNSZXN1bHQ9PG9wdGltaXplZCBvdXQ+LCBkYXRhPTB4M2ZmZTQxYzcyMjgpIGF0IFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUhhbmRsZVNvdXAuY3Bw
OjEzMzUKICAgICAgICBoYW5kbGUgPSB7bV9wdHIgPSAweDNmZmU0MWM3MjI4fQogICAgICAgIGQg
PSAweDNmZmYwNDE4MjAwCiAgICAgICAgZXJyb3IgPSB7bV9wdHIgPSAweDB9CiAgICAgICAgYnl0
ZXNSZWFkID0gMAojMTEgMHgwMDAwMDNmZmZiMmU5NjM4IGluIGFzeW5jX3JlYWR5X2NhbGxiYWNr
X3dyYXBwZXIgKHNvdXJjZV9vYmplY3Q9MHg4MDQyODFiMCwgcmVzPTB4ODAzYzNhODAsIHVzZXJf
ZGF0YT0weDNmZmU0MWM3MjI4KSBhdCBnaW5wdXRzdHJlYW0uYzo1MTkKICAgICAgICBzdHJlYW0g
PSAweDgwNDI4MWIwCiMxMiAweDAwMDAwM2ZmZmIzMGZlZmMgaW4gZ190YXNrX3JldHVybl9ub3cg
KHRhc2s9MHg4MDNjM2E4MCkgYXQgZ3Rhc2suYzoxMTA4Ck5vIGxvY2Fscy4KIzEzIDB4MDAwMDAz
ZmZmYjMwZmYyZSBpbiBjb21wbGV0ZV9pbl9pZGxlX2NiICh0YXNrPTB4ODAzYzNhODApIGF0IGd0
YXNrLmM6MTExNwpObyBsb2NhbHMuCiMxNCAweDAwMDAwM2ZmZmIxMmEzMWUgaW4gZ19tYWluX2Rp
c3BhdGNoIChjb250ZXh0PTB4ODAwNGE4NDApIGF0IGdtYWluLmM6MzA2NgogICAgICAgIGRpc3Bh
dGNoID0gMHgzZmZmYjEyNjc1YyA8Z19pZGxlX2Rpc3BhdGNoPgogICAgICAgIHdhc19pbl9jYWxs
ID0gMAogICAgICAgIHVzZXJfZGF0YSA9IDB4ODAzYzNhODAKICAgICAgICBjYWxsYmFjayA9IDB4
M2ZmZmIzMGZmMTggPGNvbXBsZXRlX2luX2lkbGVfY2I+CiAgICAgICAgY2JfZnVuY3MgPSAweDNm
ZmZiMjI0MTY4IDxnX3NvdXJjZV9jYWxsYmFja19mdW5jcz4KICAgICAgICBjYl9kYXRhID0gMHgz
ZmZjODAwMTBjMAogICAgICAgIG5lZWRfZGVzdHJveSA9IDxvcHRpbWl6ZWQgb3V0PgogICAgICAg
IGN1cnJlbnRfc291cmNlX2xpbmsgPSB7ZGF0YSA9IDB4M2ZmYzgwMDE2NTAsIG5leHQgPSAweDB9
CiAgICAgICAgc291cmNlID0gMHgzZmZjODAwMTY1MAogICAgICAgIGN1cnJlbnQgPSAweDgwMDdl
ODgwCiAgICAgICAgaSA9IDAKIzE1IGdfbWFpbl9jb250ZXh0X2Rpc3BhdGNoIChjb250ZXh0PTB4
ODAwNGE4NDApIGF0IGdtYWluLmM6MzY0MgpObyBsb2NhbHMuCiMxNiAweDAwMDAwM2ZmZmIxMmE2
YWMgaW4gZ19tYWluX2NvbnRleHRfaXRlcmF0ZSAoY29udGV4dD1jb250ZXh0QGVudHJ5PTB4ODAw
NGE4NDAsIGJsb2NrPWJsb2NrQGVudHJ5PTEsIGRpc3BhdGNoPWRpc3BhdGNoQGVudHJ5PTEsIHNl
bGY9PG9wdGltaXplZCBvdXQ+KSBhdCBnbWFpbi5jOjM3MTMKICAgICAgICBtYXhfcHJpb3JpdHkg
PSAyMTQ3NDgzNjQ3CiAgICAgICAgdGltZW91dCA9IDk4CiAgICAgICAgc29tZV9yZWFkeSA9IDEK
ICAgICAgICBuZmRzID0gPG9wdGltaXplZCBvdXQ+CiAgICAgICAgYWxsb2NhdGVkX25mZHMgPSA8
b3B0aW1pemVkIG91dD4KICAgICAgICBmZHMgPSAweDgwMDE4N2IwCiMxNyAweDAwMDAwM2ZmZmIx
MmE3YjIgaW4gZ19tYWluX2NvbnRleHRfaXRlcmF0aW9uIChjb250ZXh0PTB4ODAwNGE4NDAsIG1h
eV9ibG9jaz08b3B0aW1pemVkIG91dD4pIGF0IGdtYWluLmM6Mzc3NAogICAgICAgIHJldHZhbCA9
IDxvcHRpbWl6ZWQgb3V0PgojMTggMHgwMDAwMDNmZmZiMzM1OWEyIGluIGdfYXBwbGljYXRpb25f
cnVuIChhcHBsaWNhdGlvbj0weDgwMDI3MGYwLCBhcmdjPTxvcHRpbWl6ZWQgb3V0PiwgYXJndj0w
eDNmZmZmZmZmMmQ4KSBhdCBnYXBwbGljYXRpb24uYzoxNjM1CiAgICAgICAgYXJndW1lbnRzID0g
MHg4MDAxODdiMAogICAgICAgIHN0YXR1cyA9IDAKICAgICAgICBpID0gPG9wdGltaXplZCBvdXQ+
CiAgICAgICAgX19QUkVUVFlfRlVOQ1RJT05fXyA9ICJnX2FwcGxpY2F0aW9uX3J1biIKIzE5IDB4
MDAwMDAzZmZmYWYyMjlmOCBpbiBfX2xpYmNfc3RhcnRfbWFpbiAobWFpbj0weDgwMDA2N2Q4IDxt
YWluPiwgYXJnYz08b3B0aW1pemVkIG91dD4sIGFyZ3Y9MHgzZmZmZmZmZjJkOCwgaW5pdD08b3B0
aW1pemVkIG91dD4sIGZpbmk9MHg4MDAwYjhiNCA8X19saWJjX2NzdV9maW5pPiwgCiAgICBydGxk
X2Zpbmk9MHgzZmZmZGZlYmE4OCA8X2RsX2Zpbmk+LCBzdGFja19lbmQ9MHgzZmZmZmZmZjIyMCkg
YXQgbGliYy1zdGFydC5jOjI4NQogICAgICAgIHNlbGYgPSA8b3B0aW1pemVkIG91dD4KICAgICAg
ICByZXN1bHQgPSA8b3B0aW1pemVkIG91dD4KICAgICAgICB1bndpbmRfYnVmID0ge2NhbmNlbF9q
bXBfYnVmID0ge3tqbXBfYnVmID0ge3tfX2dyZWdzID0gezIxNDc1MzA5MzIsIDQzOTgwNDY1MDc3
MTIsIDIxNDc1MTAzNjgsIDIxNDg2MTcxNjgsIDAsIDIxNDc1MzA4MjQsIDQzOTc5NjMzNDU5MjAs
IDAsIDE3MjM4NjUyMzE3MDIwOTQwLCAxNzIzODY1MjM2ODEyMDM1MH0sIAogICAgICAgICAgICAg
ICAgICBfX2ZwcmVncyA9IHswLCAwLCAwLCAwLCAwLCAwLCAwLCAwfX19LCBtYXNrX3dhc19zYXZl
ZCA9IDB9fSwgcHJpdiA9IHtwYWQgPSB7MHgwLCAweDAsIDB4M2ZmZmRmZDljNzAsIDB4M2ZmZmRm
ZDk0NTB9LCBkYXRhID0ge3ByZXYgPSAweDAsIGNsZWFudXAgPSAweDAsIAogICAgICAgICAgICAg
IGNhbmNlbHR5cGUgPSAxMDIzfX19CiAgICAgICAgbm90X2ZpcnN0X2NhbGwgPSA8b3B0aW1pemVk
IG91dD4KIzIwIDB4MDAwMDAwMDA4MDAwNjg5ZSBpbiBfc3RhcnQgKCkKTm8gc3ltYm9sIHRhYmxl
IGluZm8gYXZhaWxhYmxlLgpBIGRlYnVnZ2luZyBzZXNzaW9uIGlzIGFjdGl2ZS4KCglJbmZlcmlv
ciAxIFtwcm9jZXNzIDYzODhdIHdpbGwgYmUga2lsbGVkLgoKUXVpdCBhbnl3YXk/ICh5IG9yIG4p
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>224072</attachid>
            <date>2014-02-13 08:01:31 -0800</date>
            <delta_ts>2014-02-13 08:01:31 -0800</delta_ts>
            <desc>LLIntAssambly.h for 2.0.4</desc>
            <filename>LLIntAssembly_2_0_4.h</filename>
            <type>text/plain</type>
            <size>566999</size>
            <attacher name="Tomas Popela">tpopela</attacher>
            
              <data encoding="base64">Ly8gb2ZmbGluZWFzbSBpbnB1dCBoYXNoOiBmNTcwOGQxNDI0OTY4YTIxNzU0YzUyYzc4NTk4YTE0
ODYzMGE2ZmI5IDEyYTFkYjBjNTYxNWU5ZmQyODBhZmNiMjAxYzIwMTFkMWQxZjA5ODAgZTAxZDcx
ZTdhNzU5M2FiYTc5YjhmMGEzNWVhMDI5ZDQzZTZhMDQ2OQojaWYgIU9GRkxJTkVfQVNNX0FSTXY3
cyAmJiBPRkZMSU5FX0FTTV9KU1ZBTFVFNjQgJiYgT0ZGTElORV9BU01fQklHX0VORElBTiAmJiBP
RkZMSU5FX0FTTV9DX0xPT1AgJiYgIU9GRkxJTkVfQVNNX0FTU0VSVF9FTkFCTEVEICYmICFPRkZM
SU5FX0FTTV9BUk12NyAmJiAhT0ZGTElORV9BU01fTUlQUyAmJiAhT0ZGTElORV9BU01fWDg2ICYm
ICFPRkZMSU5FX0FTTV9YODZfNjQgJiYgIU9GRkxJTkVfQVNNX0VYRUNVVElPTl9UUkFDSU5HICYm
ICFPRkZMSU5FX0FTTV9WQUxVRV9QUk9GSUxFUiAmJiAhT0ZGTElORV9BU01fSklUX0VOQUJMRUQg
JiYgIU9GRkxJTkVfQVNNX0FMV0FZU19BTExPQ0FURV9TTE9XCk9GRkxJTkVfQVNNX0JFR0lOCgpP
RkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2JlZ2luKQogICAgQ1JBU0goKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTY4CgpPRkZMSU5FX0FTTV9H
TFVFX0xBQkVMKGxsaW50X3Byb2dyYW1fcHJvbG9ndWUpCiAgICB0Mi5pID0gclJldFZQQy5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxODcKICAgICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCAtIDE2KSA9IHQyLmk7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjI5NQogICAgdDEu
aSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mjc4
CiAgICByQmFzZVBDLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDk2KTsgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMTYKICAgIHJQQy5pID0gaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMxNwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4MCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2V2YWxfcHJvbG9ndWUp
CiAgICB0Mi5pID0gclJldFZQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxODcKICAgICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDE2KSA9IHQyLmk7ICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjI5NQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206Mjc4CiAgICByQmFzZVBDLmkgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQxLmk4cCArIDk2KTsgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMTYKICAgIHJQQy5pID0gaW50cHRyX3QoMHgw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMxNwogICAgclBDLmkgPSByUEMu
aSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xB
QkVMKGxsaW50X2Z1bmN0aW9uX2Zvcl9jYWxsX3Byb2xvZ3VlKQogICAgdDIuaSA9IHJSZXRWUEMu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTg3CiAgICAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAgLSAxNikgPSB0Mi5pOyAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyOTUKICAg
IHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSAzMik7ICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjI2NgogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMjQpOyAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MjY3CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyA4MCk7ICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToyNjgKICAgICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpID0g
dDEuaTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjI4MgogICAgckJhc2VQQy5pID0gKkNBU1Q8aW50cHRy
X3QqPih0MS5pOHAgKyA5Nik7ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzE2CiAgICByUEMuaSA9IGludHB0cl90
KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMTcKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZnVuY3Rpb25Gb3JDYWxsQmVnaW4pCiAgICB0MC51
ID0gKkNBU1Q8dWludDMyX3QqPih0MS5pOHAgKyA0OCk7ICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozNjAK
ICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDg4KTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM2MQogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwICsgNDMzNDQpOyAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzYyCiAgICB0MC5pMzIgPSB0MC5pMzIgPDwgKGludHB0cl90KDB4MykgJiAw
eDFmKTsgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozNjMKICAgIHQwLmNsZWFySGlnaFdvcmQoKTsKICAgIHQwLmkg
PSBjZnIuaSArIHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM2NAog
ICAgaWYgKCpDQVNUPHVpbnRwdHJfdCo+KHQyLmk4cCArIDE2KSA+PSB0MC51KSAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzY1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9mdW5jdGlvbkluaXRpYWxpemF0aW9uX19z
dGFja0hlaWdodE9LOwogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0
ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiog
cGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5
cGUgcmVzdWx0ID0gbGxpbnRfc3RhY2tfY2hlY2soZXhlYywgcGMpOwogICAgICAgIExMSW50Ojpk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0K
ICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4g
KGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZnVuY3Rpb25Jbml0aWFsaXphdGlvbl9fc3RhY2tI
ZWlnaHRPSykKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9mdW5jdGlvbl9mb3JfY29uc3RydWN0
X3Byb2xvZ3VlKQogICAgdDIuaSA9IHJSZXRWUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTg3CiAgICAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSAxNikgPSB0
Mi5pOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToyOTUKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAgLSAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjI3MgogICAgdDEuaSA9ICpDQVNUPGludHB0
cl90Kj4odDEuaThwICsgMjQpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjczCiAgICB0MS5pID0gKkNB
U1Q8aW50cHRyX3QqPih0MS5pOHAgKyA4OCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyNzQKICAgICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpID0gdDEuaTsgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjI4
MgogICAgckJhc2VQQy5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyA5Nik7ICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzE2CiAgICByUEMuaSA9IGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMTcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
ZnVuY3Rpb25Gb3JDb25zdHJ1Y3RCZWdpbikKICAgIHQwLnUgPSAqQ0FTVDx1aW50MzJfdCo+KHQx
Lmk4cCArIDQ4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM2MAogICAgdDIuaSA9ICpDQVNUPGludHB0
cl90Kj4odDEuaThwICsgODgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzYxCiAgICB0Mi5pID0gKkNB
U1Q8aW50cHRyX3QqPih0Mi5pOHAgKyA0MzM0NCk7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozNjIKICAgIHQw
LmkzMiA9IHQwLmkzMiA8PCAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM2
MwogICAgdDAuY2xlYXJIaWdoV29yZCgpOwogICAgdDAuaSA9IGNmci5pICsgdDAuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzY0CiAgICBpZiAoKkNBU1Q8dWludHB0cl90
Kj4odDIuaThwICsgMTYpID49IHQwLnUpICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozNjUKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtXzBfZnVuY3Rpb25Jbml0aWFsaXphdGlvbl9fc3RhY2tIZWlnaHRPSzsKICAgIHJQ
Qy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNT
dGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlv
bio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3N0
YWNrX2NoZWNrKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwg
dDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9
IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAg
ICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgx
Zik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjk4CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtXzBfZnVuY3Rpb25Jbml0aWFsaXphdGlvbl9fc3RhY2tIZWlnaHRPSykKICAgIHJQQy5p
ID0gclBDLmkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
R0xVRV9MQUJFTChsbGludF9mdW5jdGlvbl9mb3JfY2FsbF9hcml0eV9jaGVjaykKICAgIHQyLmkg
PSByUmV0VlBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4Nwog
ICAgKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMTYpID0gdDIuaTsgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206Mjk1CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMzIpOyAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToyNjYKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDI0KTsg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjI2NwogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThw
ICsgODApOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjY4CiAgICAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAgLSA4KSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyODIKICAgIHJCYXNlUEMuaSA9ICpD
QVNUPGludHB0cl90Kj4odDEuaThwICsgOTYpOyAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMxNgogICAgclBDLmkg
PSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzE3CiAg
ICB0MC51ID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwIC0gNDQpOyAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE4MwogICAgaWYgKHQwLnUzMiA+PSAqQ0FTVDx1aW50MzJfdCo+KHQxLmk4cCArIDcyKSkg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxODQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Z1bmN0aW9uRm9yQ2Fs
bEJlZ2luOwogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhl
YyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBD
QVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gbGxpbnRfc2xvd19wYXRoX2NhbGxfYXJpdHlDaGVjayhleGVjLCBwYyk7CiAgICAgICAg
TExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUp
OwogICAgfQogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxODcKICAgIGlmICh0MC5pMzIgPT0gMCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9mdW5j
dGlvbkFyaXR5Q2hlY2tfX2NvbnRpbnVlOwogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oKEFT
U0VSVCgwID09IG9mZnNldG9mKEpJVFN0YWNrRnJhbWUsIGdsb2JhbERhdGEpKSwgJnNwLT5nbG9i
YWxEYXRhKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTg5CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyA0MzQx
Nik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE5MAogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwICsgNDM0MjQpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTEKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9mdW5jdGlvbkFyaXR5Q2hl
Y2tfX2NvbnRpbnVlKQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQKICAgIHJCYXNlUEMuaSA9ICpDQVNUPGludHB0cl90Kj4o
dDEuaThwICsgOTYpOyAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk1CiAgICByUEMuaSA9IGludHB0cl90KDB4
MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NgogICAgZ290byBfb2Zm
bGluZWFzbV9mdW5jdGlvbkZvckNhbGxCZWdpbjsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTcKCk9G
RkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfZnVuY3Rpb25fZm9yX2NvbnN0cnVjdF9hcml0eV9j
aGVjaykKICAgIHQyLmkgPSByUmV0VlBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjE4NwogICAgKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMTYpID0gdDIuaTsg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mjk1CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
IC0gMzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyNzIKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQxLmk4cCArIDI0KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjI3MwogICAgdDEuaSA9ICpDQVNUPGlu
dHB0cl90Kj4odDEuaThwICsgODgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mjc0CiAgICAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAgLSA4KSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyODIKICAg
IHJCYXNlUEMuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgOTYpOyAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMxNgogICAgclBDLmkgPSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzE3CiAgICB0MC51ID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwIC0gNDQpOyAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE4MwogICAgaWYgKHQwLnUzMiA+PSAqQ0FTVDx1aW50MzJfdCo+
KHQxLmk4cCArIDcyKSkgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2Z1bmN0aW9uRm9yQ29uc3RydWN0QmVnaW47CiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAg
ICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAg
IEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNs
b3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfY29uc3RydWN0X2FyaXR5
Q2hlY2soZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5p
bnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIGNmci5pID0gdDEuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg3CiAgICBpZiAodDAuaTMy
ID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4OAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fMF9mdW5jdGlvbkFyaXR5Q2hlY2tfX2NvbnRpbnVlOwogICAg
dDEuaSA9ICpDQVNUPGludHB0cl90Kj4oKEFTU0VSVCgwID09IG9mZnNldG9mKEpJVFN0YWNrRnJh
bWUsIGdsb2JhbERhdGEpKSwgJnNwLT5nbG9iYWxEYXRhKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg5CiAgICB0MC5pID0gKkNB
U1Q8aW50cHRyX3QqPih0MS5pOHAgKyA0MzQxNik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MAogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwICsgNDM0MjQpOyAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxOTEKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV8wX2Z1bmN0aW9uQXJpdHlDaGVja19fY29udGludWUpCiAgICB0MS5pID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NAogICAg
ckJhc2VQQy5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyA5Nik7ICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxOTUKICAgIHJQQy5pID0gaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTk2CiAgICBnb3RvIF9vZmZsaW5lYXNtX2Z1bmN0aW9uRm9yQ29uc3RydWN0
QmVnaW47ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE5NwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2Vu
dGVyKQogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyMDUKICAgIHQyLnUgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCArIDUyKTsg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjA2CiAgICBpZiAodDIuaTMyID09IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fb3BFbnRlckRvbmU7CiAgICB0MC5pID0gaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIwOAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9vcEVudGVyTG9vcCkKICAgIHQyLmkzMiA9IHQyLmkzMiAtIGludDMyX3QoMHgxKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjEwCiAgICB0Mi5jbGVhckhpZ2hXb3JkKCk7CiAg
ICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkg
PSB0MC5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjExCiAgICBpZiAodDIuaTMyICE9IDApICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIxMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BFbnRl
ckxvb3A7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wRW50ZXJEb25l
KQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4MSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfY3JlYXRlX2FjdGl2YXRpb24pCiAgICB0MC5pID0g
KkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjU5CiAgICBpZiAoKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpICE9IGludDY0X3QoMHgwKSkgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjAKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX29wQ3JlYXRlQWN0aXZhdGlvbkRvbmU7CiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAg
ICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAg
IEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNs
b3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfY3JlYXRlX2FjdGl2YXRp
b24oZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0
cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJCYXNl
UEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTYK
ICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTgKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
b3BDcmVhdGVBY3RpdmF0aW9uRG9uZSkKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDIp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2luaXRfbGF6
eV9yZWcpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0
MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSBpbnQ2NF90KDB4MCk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI5CiAgICByUEMu
aSA9IHJQQy5pICsgaW50cHRyX3QoMHgyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9jcmVhdGVfYXJndW1lbnRzKQogICAgdDAuaSA9ICpDQVNUPGludDMy
X3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAg
aWYgKCpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KSAhPSBpbnQ2NF90KDB4MCkpIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjM2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcENyZWF0
ZUFyZ3VtZW50c0RvbmU7CiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0
YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9u
KiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJu
VHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfY3JlYXRlX2FyZ3VtZW50cyhleGVjLCBwYyk7
CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5l
eGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSBy
UEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAg
clBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo5OAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcENyZWF0ZUFyZ3Vt
ZW50c0RvbmUpCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgyKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENP
REUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9jcmVhdGVfdGhpcykKICAgIHQwLmkg
PSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjU5CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwICsgKHQwLmkgPDwg
MykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDUKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQw
Lmk4cCArIDQwKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQ2CiAgICB0Mi5pID0gKkNBU1Q8aW50
cHRyX3QqPih0MC5pOHAgKyA0OCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0NwogICAgaWYgKHQx
LmkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDgK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wQ3JlYXRlVGhpc1Nsb3c7CiAgICB0MC5pID0gKkNB
U1Q8aW50cHRyX3QqPih0MS5pOHApOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozODEKICAgIGlm
ICh0MC5pID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM4
MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BDcmVhdGVUaGlzU2xvdzsKICAgIHQzLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQwLmk4cCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM4NQogICAg
KkNBU1Q8aW50cHRyX3QqPih0MS5pOHApID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
Mzg2CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCkgPSB0Mi5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozODkKICAgICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgOCkgPSBpbnRwdHJfdCgw
eDApOyAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5MAogICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MQog
ICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wQ3JlYXRlVGhpc1Nsb3cpCiAgICBy
UEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVj
U3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rp
b24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9z
bG93X3BhdGhfY3JlYXRlX3RoaXMoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5p
ID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQK
ICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90
KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBp
bnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX2dldF9jYWxsZWUpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRy
X3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjMKICAg
IHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSAzMik7ICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjYzCiAgICAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpID0gdDEuaTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNjUKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NvbnZlcnRf
dGhpcykKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
MykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIu
aThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzIKICAgIGlmICgodDAuaTY0
ICYgdGFnTWFzay5pNjQpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjczCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9vcENvbnZlcnRUaGlzU2xvdzsKICAgIHQwLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQwLmk4cCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjc0CiAgICBpZiAo
KkNBU1Q8dWludDhfdCo+KHQwLmk4cCArIDgpIDwgdWludDhfdCgweDExKSkgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3
NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BDb252ZXJ0VGhpc1Nsb3c7CiAgICB0MS5pID0g
KkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206NjMKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcENvbnZlcnRUaGlz
U2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMg
PSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FT
VDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3Vs
dCA9IGxsaW50X3Nsb3dfcGF0aF9jb252ZXJ0X3RoaXMoZXhlYywgcGMpOwogICAgICAgIExMSW50
OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAg
IH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBD
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkg
Pj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5p
ID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX25ld19vYmplY3QpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjMKICAgIHQxLmkg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjg4
CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA4KTsgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI4OQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzgxCiAgICBpZiAodDAuaSA9PSAwKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozODIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wTmV3
T2JqZWN0U2xvdzsKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM4NQogICAgKkNBU1Q8aW50cHRyX3QqPih0MS5pOHApID0gdDMuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzg2CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCkg
PSB0Mi5pOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozODkKICAgICpDQVNUPGludHB0cl90Kj4o
dDAuaThwICsgOCkgPSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MAogICAgdDEuaSA9ICpD
QVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo1OQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI5MgogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X29wTmV3T2JqZWN0U2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVj
U3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rp
b24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9uZXdfb2JqZWN0KGV4ZWMsIHBjKTsKICAg
ICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNT
dGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5p
IC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMu
aSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4
CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9tb3YpCiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDAu
aSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo1OQogICAgaWYgKHQxLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDIuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBfb2ZmbGlu
ZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
Y29uc3RhbnQpCiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1MQogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwICsg
MTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQxLmkgPSB0MS5pIC0gaW50cHRyX3Qo
MHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0Mi5pNjQgPSAqQ0FT
VDxpbnQ2NF90Kj4odDIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fZG9uZSkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKSA9IHQyLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMDUKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJf
dCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25v
dCkKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAodDAuaSA+PSBp
bnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fMF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAg
IHQyLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fMF9sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19kb25lOyAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtXzBfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0Mi5pID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAg
dDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTIKICAgIHQwLmkgPSB0MC5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTUzCiAgICB0Mi5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwICsgKHQw
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fMF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgdDIuaTY0
ID0gdDIuaTY0IF4gaW50NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMTQK
ICAgIGlmICgodDIuaTY0ICYgaW50NjRfdCgtMikpICE9IDApICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzE1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcE5vdFNsb3c7CiAgICB0Mi5pNjQg
PSB0Mi5pNjQgXiBpbnQ2NF90KDB4Nyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxNgog
ICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
ID0gdDIuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjMxNwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Myk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wTm90
U2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMg
PSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FT
VDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3Vs
dCA9IGxsaW50X3Nsb3dfcGF0aF9ub3QoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVS
ZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQ
Qy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0
cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkg
KyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xB
QkVMKG9wX2VxKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMu
aSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0My5p
ID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjU5CiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlDb21w
YXJpc29uX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfXzFfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0
MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2Vx
dWFsaXR5Q29tcGFyaXNvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX18xX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMy
X18xX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQxLmkg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUy
CiAgICB0MC5pID0gdDAuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE1MwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0MC5pIDw8
IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMy
X18xX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDEudTY0IDwgdGFnVHlw
ZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uX19zbG93OwogICAgaWYgKHQyLmkgPj0gaW50
cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZUludDMyX18yX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0ID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE0OAogICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVJbnQzMl9fMl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OQoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fMl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19j
b25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAx
MjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgw
eDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQwLmk2NCA9ICpDQVNU
PGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fMl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19k
b25lKQogICAgaWYgKHQwLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNjAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNv
bl9fc2xvdzsKICAgIHQwLmkgPSAodDAudTMyID09IHQxLnUzMik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MC5pNjQgPSB0MC5pNjQgfCBpbnQ2NF90KDB4Nik7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMzMwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAg
KyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMzNAogICAgclBDLmkg
PSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbl9fc2xvdykKICAgIHJQ
Qy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNT
dGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlv
bio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Ns
b3dfcGF0aF9lcShleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkg
PSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQog
ICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4
MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4
NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmVxKQog
ICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206NTkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0My5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAg
ICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlSW50MzJfXzNfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3Rh
bnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFy
aXNvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX18zX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Vx
dWFsaXR5Q29tcGFyaXNvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX18zX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQxLmkgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQxLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0MC5pID0g
dDAuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1Mwog
ICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Vx
dWFsaXR5Q29tcGFyaXNvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX18zX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQp
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
NF9lcXVhbGl0eUNvbXBhcmlzb25fX3Nsb3c7CiAgICBpZiAodDIuaSA+PSBpbnRwdHJfdCgweDQw
MDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fZXF1YWxpdHlDb21wYXJpc29uX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfXzRf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBn
b3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZUludDMyX180X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZUludDMyX180X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQog
ICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDEyODApOyAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDAp
OyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+
KHQwLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZUludDMyX180X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBp
ZiAodDAudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE2MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fNF9lcXVhbGl0eUNvbXBhcmlzb25fX3Nsb3c7
CiAgICB0MC5pID0gKHQwLnUzMiAhPSB0MS51MzIpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1MAogICAgdDAuaTY0ID0gdDAuaTY0IHwgaW50NjRfdCgweDYpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozMzMKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQzLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMzQKICAgIHJQQy5pID0gclBDLmkg
KyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV80X2VxdWFsaXR5Q29tcGFyaXNvbl9fc2xvdykKICAgIHJQQy5pOHAg
PSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAg
IHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+
KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQ
Qy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0
aF9uZXEoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5p
bnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJC
YXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2VxX251bGwpCiAg
ICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50
cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo1OQogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAo
dDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NgogICAgaWYgKCh0MC5pNjQgJiB0YWdN
YXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTcKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2VxdWFsTnVsbENvbXBhcmlzb25fX2ltbWVkaWF0ZTsKICAgIHQyLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQwLmk4cCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU4CiAg
ICBpZiAoKCpDQVNUPGludDhfdCo+KHQyLmk4cCArIDkpICYgaW50OF90KDB4MSkpICE9IDApICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsQ29tcGFyaXNvbl9fbWFz
cXVlcmFkZXNBc1VuZGVmaW5lZDsKICAgIHQwLmkgPSBpbnRwdHJfdCgweDApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzYwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFs
TnVsbENvbXBhcmlzb25fX2RvbmU7ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM2MQoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbE51bGxDb21wYXJpc29uX19tYXNxdWVyYWRlc0Fz
VW5kZWZpbmVkKQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNjMKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCAr
IDMyKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzY0CiAgICB0MC5pID0gKCpDQVNUPHVpbnRwdHJf
dCo+KHQyLmk4cCArIDE2KSA9PSB0MC51KTsgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM2NQogICAgZ290byBfb2ZmbGlu
ZWFzbV9lcXVhbE51bGxDb21wYXJpc29uX19kb25lOyAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNjYKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxOdWxsQ29tcGFyaXNvbl9faW1t
ZWRpYXRlKQogICAgdDAuaTY0ID0gdDAuaTY0ICYgaW50NjRfdCgtOSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNjgKICAgIHQwLmkgPSAodDAudTY0ID09IHVpbnQ2NF90KDB4MikpOyAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzY5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2VxdWFsTnVsbENvbXBhcmlzb25fX2RvbmUpCiAgICB0MS5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAg
ICB0MC5pNjQgPSB0MC5pNjQgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM3NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM3OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4
Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmVxX251
bGwpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NgogICAgaWYgKCh0MC5pNjQg
JiB0YWdNYXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTcKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtXzRfZXF1YWxOdWxsQ29tcGFyaXNvbl9faW1tZWRpYXRlOwogICAg
dDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTgKICAgIGlmICgoKkNBU1Q8aW50OF90Kj4odDIuaThwICsgOSkgJiBpbnQ4X3QoMHgxKSkg
IT0gMCkgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV80X2VxdWFsTnVsbENvbXBh
cmlzb25fX21hc3F1ZXJhZGVzQXNVbmRlZmluZWQ7CiAgICB0MC5pID0gaW50cHRyX3QoMHgwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM2MAogICAgZ290byBfb2ZmbGlu
ZWFzbV80X2VxdWFsTnVsbENvbXBhcmlzb25fX2RvbmU7ICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNjEKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fNF9lcXVhbE51bGxDb21wYXJpc29uX19t
YXNxdWVyYWRlc0FzVW5kZWZpbmVkKQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNjMKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQwLmk4cCArIDMyKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzY0CiAgICB0MC5pID0gKCpD
QVNUPHVpbnRwdHJfdCo+KHQyLmk4cCArIDE2KSA9PSB0MC51KTsgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM2NQogICAg
Z290byBfb2ZmbGluZWFzbV80X2VxdWFsTnVsbENvbXBhcmlzb25fX2RvbmU7ICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNjYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fNF9lcXVhbE51bGxD
b21wYXJpc29uX19pbW1lZGlhdGUpCiAgICB0MC5pNjQgPSB0MC5pNjQgJiBpbnQ2NF90KC05KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM2OAogICAgdDAuaSA9ICh0MC51NjQgPT0gdWlu
dDY0X3QoMHgyKSk7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNjkKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fNF9lcXVhbE51bGxDb21wYXJpc29uX19kb25lKQogICAg
dDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTo1OQogICAgdDAuaTY0ID0gdDAuaTY0IF4gaW50NjRfdCgweDcpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozODYKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQx
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozODcKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX3N0cmljdGVxKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQyLmkgPSAqQ0FTVDxp
bnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5
CiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXFfXzVfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZs
aW5lYXNtX3N0cmljdEVxX181X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxX181X2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQxLmkgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQxLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0MC5pID0g
dDAuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1Mwog
ICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0
cmljdEVxX181X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDIuaSA+PSBp
bnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXFfXzZfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29u
c3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxX182
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxX182X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Nv
bnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNTEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDEy
ODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4
NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0ID0gKkNBU1Q8
aW50NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxX182X2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICB0Mi5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5NwogICAgdDIuaTY0ID0gdDIuaTY0IHwgdDEu
aTY0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOTgKICAgIGlmICgodDIuaTY0
ICYgdGFnTWFzay5pNjQpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzk5CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcV9fc2xvdzsKICAgIGlmICh0MC51NjQgPj0gdGFn
VHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDAwCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9zdHJpY3RFcV9fbGVmdE9LOwogICAgaWYgKCh0MC5pNjQgJiB0YWdUeXBl
TnVtYmVyLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MDEKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX3N0cmljdEVxX19zbG93OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9zdHJpY3RFcV9fbGVmdE9LKQogICAgaWYgKHQxLnU2NCA+PSB0YWdUeXBlTnVtYmVy
LnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MDMKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX3N0cmljdEVxX19yaWdodE9LOwogICAgaWYgKCh0MS5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2
NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MDQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X3N0cmljdEVxX19zbG93OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9z
dHJpY3RFcV9fcmlnaHRPSykKICAgIHQwLmkgPSAodDAudTY0ID09IHQxLnU2NCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDE5CiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0MC5pNjQg
PSB0MC5pNjQgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQwOAog
ICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
ID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQwOQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmlj
dEVxX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSog
ZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMg
PSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3N0cmljdGVxKGV4ZWMsIHBjKTsKICAgICAgICBMTElu
dDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAg
ICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQ
Qy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5p
ID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMu
aSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9uc3RyaWN0ZXEpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDIuaSA9
ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206NTkKICAgIGlmICh0MC5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcV9fN19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdv
dG8gX29mZmxpbmVhc21fc3RyaWN0RXFfXzdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXFfXzdf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDEuaSA9ICpD
QVNUPGludHB0cl90Kj4odDEuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAg
IHQwLmkgPSB0MC5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTUzCiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQwLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fc3RyaWN0RXFfXzdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0
Mi5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcV9fOF9sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQy
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fc3Ry
aWN0RXFfXzhfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXFfXzhfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAu
aThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQyLmkgPSB0Mi5pIC0gaW50
cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MC5pNjQg
PSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXFfXzhf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIHQyLmkgPSB0MC5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzk3CiAgICB0Mi5pNjQgPSB0Mi5p
NjQgfCB0MS5pNjQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5OAogICAgaWYg
KCh0Mi5pNjQgJiB0YWdNYXNrLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzhfc3RyaWN0RXFfX3Nsb3c7CiAgICBpZiAodDAu
dTY0ID49IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQwMAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fOF9zdHJpY3RFcV9fbGVmdE9LOwogICAgaWYgKCh0MC5p
NjQgJiB0YWdUeXBlTnVtYmVyLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MDEKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtXzhfc3RyaWN0RXFfX3Nsb3c7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtXzhfc3RyaWN0RXFfX2xlZnRPSykKICAgIGlmICh0MS51NjQg
Pj0gdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDAzCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV84X3N0cmljdEVxX19yaWdodE9LOwogICAgaWYgKCh0MS5pNjQg
JiB0YWdUeXBlTnVtYmVyLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MDQKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtXzhfc3RyaWN0RXFfX3Nsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtXzhfc3RyaWN0RXFfX3JpZ2h0T0spCiAgICB0MC5pID0gKHQwLnU2
NCAhPSB0MS51NjQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQyNQogICAgdDEu
aSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo1OQogICAgdDAuaTY0ID0gdDAuaTY0IHwgaW50NjRfdCgweDYpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0MDgKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQxLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MDkKICAgIHJQQy5pID0gclBDLmkg
KyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV84X3N0cmljdEVxX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJC
YXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsK
ICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAg
ICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX25zdHJpY3Rl
cShleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3Ry
dWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQ
Qy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5Ngog
ICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHJlX2luYykKICAgIHQw
LmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206NTkKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MzIKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVt
YmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMzCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9wcmVPcF9fc2xvdzsKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDQ2CiAgICAgICAgaW50MzJfdCBhID0gaW50MzJf
dCgweDEpOwogICAgICAgIGludDMyX3QgYiA9IHQxLmkzMjsKICAgICAgICAvLyBzaWduKGIpIHNp
Z24oYSkgfCBPdmVyZmxvd3MgaWY6CiAgICAgICAgLy8gMCAgICAgICAwICAgICAgIHwgc2lnbihi
K2EpID0gMSAocG9zICsgcG9zICE9IG5lZykKICAgICAgICAvLyAwICAgICAgIDEgICAgICAgfCBu
ZXZlcgogICAgICAgIC8vIDEgICAgICAgMCAgICAgICB8IG5ldmVyCiAgICAgICAgLy8gMSAgICAg
ICAxICAgICAgIHwgc2lnbihiK2EpID0gMCAobmVnICsgbmVnICE9IHBvcykKICAgICAgICBpZiAo
KFNJR05fQklUMzIoYikgPT0gU0lHTl9CSVQzMihhKSkgJiYgKFNJR05fQklUMzIoYithKSAhPSBT
SUdOX0JJVDMyKGEpKSkgewogICAgICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3ByZU9wX19zbG93
OwogICAgICAgIH0KICAgICAgICB0MS5pMzIgPSB0MS5pMzIgKyBpbnQzMl90KDB4MSk7CiAgICB9
CiAgICB0MS5pNjQgPSB0MS5pNjQgfCB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQzNQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpID0gdDEuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzNgogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90
KDB4Mik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX3ByZU9wX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4
ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVj
dGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJl
dHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3ByZV9pbmMoZXhlYywgcGMpOwogICAg
ICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0
YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkg
LSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5p
ID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgK
ICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDIpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3ByZV9kZWMpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJf
dCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0
MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDMyCiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQzMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOF9wcmVPcF9f
c2xvdzsKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDUyCiAgICAgICAgaW50MzJfdCBhID0gaW50MzJfdCgweDEpOwogICAgICAg
IGludDMyX3QgYiA9IHQxLmkzMjsKICAgICAgICAvLyBzaWduKGIpIHNpZ24oYSkgfCBPdmVyZmxv
d3MgaWY6CiAgICAgICAgLy8gMCAgICAgICAwICAgICAgIHwgbmV2ZXIKICAgICAgICAvLyAwICAg
ICAgIDEgICAgICAgfCBzaWduKGItYSkgPSAxIChwb3MgLSBuZWcgIT0gcG9zKQogICAgICAgIC8v
IDEgICAgICAgMCAgICAgICB8IHNpZ24oYi1hKSA9IDAgKG5lZyAtIHBvcyAhPSBwb3MpCiAgICAg
ICAgLy8gMSAgICAgICAxICAgICAgIHwgbmV2ZXIKICAgICAgICBpZiAoKFNJR05fQklUMzIoYikg
IT0gU0lHTl9CSVQzMihhKSkgJiYgKFNJR05fQklUMzIoYi1hKSA9PSBTSUdOX0JJVDMyKGEpKSkg
ewogICAgICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzhfcHJlT3BfX3Nsb3c7CiAgICAgICAgfQog
ICAgICAgIHQxLmkzMiA9IHQxLmkzMiAtIGludDMyX3QoMHgxKTsKICAgIH0KICAgIHQxLmk2NCA9
IHQxLmk2NCB8IHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDM1CiAg
ICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkg
PSB0MS5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDM2CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgyKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fOF9wcmVP
cF9fc2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4
ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0g
Q0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9wcmVfZGVjKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9
CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+
IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9
IHJQQy5pICsgaW50cHRyX3QoMHgyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09Q
Q09ERV9MQUJFTChvcF9wb3N0X2luYykKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0MS5pID0gKkNB
U1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjU5CiAgICB0Mi5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDYwCiAgICBpZiAodDAuaTMyID09IHQxLmkzMikgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
cG9zdE9wX19kb25lOwogICAgaWYgKHQyLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3Bvc3RPcF9f
c2xvdzsKICAgIHQzLmkgPSB0Mi5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDYzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3OAogICAgICAgIGludDMyX3QgYSA9IGludDMyX3QoMHgx
KTsKICAgICAgICBpbnQzMl90IGIgPSB0My5pMzI7CiAgICAgICAgLy8gc2lnbihiKSBzaWduKGEp
IHwgT3ZlcmZsb3dzIGlmOgogICAgICAgIC8vIDAgICAgICAgMCAgICAgICB8IHNpZ24oYithKSA9
IDEgKHBvcyArIHBvcyAhPSBuZWcpCiAgICAgICAgLy8gMCAgICAgICAxICAgICAgIHwgbmV2ZXIK
ICAgICAgICAvLyAxICAgICAgIDAgICAgICAgfCBuZXZlcgogICAgICAgIC8vIDEgICAgICAgMSAg
ICAgICB8IHNpZ24oYithKSA9IDAgKG5lZyArIG5lZyAhPSBwb3MpCiAgICAgICAgaWYgKChTSUdO
X0JJVDMyKGIpID09IFNJR05fQklUMzIoYSkpICYmIChTSUdOX0JJVDMyKGIrYSkgIT0gU0lHTl9C
SVQzMihhKSkpIHsKICAgICAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wb3N0T3BfX3Nsb3c7CiAg
ICAgICAgfQogICAgICAgIHQzLmkzMiA9IHQzLmkzMiArIGludDMyX3QoMHgxKTsKICAgIH0KICAg
IHQzLmk2NCA9IHQzLmk2NCB8IHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDY1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSkgPSB0Mi5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDY2CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0
MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0My5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY3CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3Bvc3RPcF9fZG9uZSkKICAgIHJQQy5pID0gclBDLmkg
KyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9wb3N0T3BfX3Nsb3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQ
Qy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3
CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAg
ICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAg
IFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfcG9zdF9pbmMoZXhl
YywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlv
biwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9
IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQ
Qy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3Bvc3RfZGVjKQogICAgdDAuaSA9
ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206NTkKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQyLmk2NCA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjAKICAgIGlmICh0MC5p
MzIgPT0gdDEuaTMyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYxCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV84X3Bvc3RPcF9fZG9uZTsKICAgIGlmICh0Mi51NjQgPCB0
YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYyCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV84X3Bvc3RPcF9fc2xvdzsKICAgIHQzLmkgPSB0Mi5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYzCiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NAogICAg
ICAgIGludDMyX3QgYSA9IGludDMyX3QoMHgxKTsKICAgICAgICBpbnQzMl90IGIgPSB0My5pMzI7
CiAgICAgICAgLy8gc2lnbihiKSBzaWduKGEpIHwgT3ZlcmZsb3dzIGlmOgogICAgICAgIC8vIDAg
ICAgICAgMCAgICAgICB8IG5ldmVyCiAgICAgICAgLy8gMCAgICAgICAxICAgICAgIHwgc2lnbihi
LWEpID0gMSAocG9zIC0gbmVnICE9IHBvcykKICAgICAgICAvLyAxICAgICAgIDAgICAgICAgfCBz
aWduKGItYSkgPSAwIChuZWcgLSBwb3MgIT0gcG9zKQogICAgICAgIC8vIDEgICAgICAgMSAgICAg
ICB8IG5ldmVyCiAgICAgICAgaWYgKChTSUdOX0JJVDMyKGIpICE9IFNJR05fQklUMzIoYSkpICYm
IChTSUdOX0JJVDMyKGItYSkgPT0gU0lHTl9CSVQzMihhKSkpIHsKICAgICAgICAgICAgZ290byBf
b2ZmbGluZWFzbV84X3Bvc3RPcF9fc2xvdzsKICAgICAgICB9CiAgICAgICAgdDMuaTMyID0gdDMu
aTMyIC0gaW50MzJfdCgweDEpOwogICAgfQogICAgdDMuaTY0ID0gdDMuaTY0IHwgdGFnVHlwZU51
bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjUKICAgICpDQVNUPGludDY0X3QqPihj
ZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQyLmk2NDsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjYKICAg
ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9
IHQzLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0NjcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fOF9w
b3N0T3BfX2RvbmUpCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBD
Lmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9P
UENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fOF9wb3N0T3Bf
X3Nsb3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVj
ID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENB
U1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1
bHQgPSBsbGludF9zbG93X3BhdGhfcG9zdF9kZWMoZXhlYywgcGMpOwogICAgICAgIExMSW50Ojpk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0K
ICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4g
KGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0g
clBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BD
T0RFX0xBQkVMKG9wX3RvX2pzbnVtYmVyKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQxLmkgPSAq
Q0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206NTkKICAgIGlmICh0MC5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85X2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX2NvbnN0YW50OwogICAgdDIuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAg
KyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBfb2ZmbGluZWFz
bV85X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fOV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19j
b25zdGFudCkKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyAx
MjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDAuaSA9IHQwLmkgLSBpbnRwdHJfdCgw
eDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQyLmk2NCA9ICpDQVNU
PGludDY0X3QqPih0Mi5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV85X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2RvbmUpCiAgICBpZiAodDIudTY0ID49IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BUb0pzbnVt
YmVySXNJbW1lZGlhdGU7CiAgICBpZiAoKHQyLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAw
KSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ5NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BUb0pz
bnVtYmVyU2xvdzsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BUb0pz
bnVtYmVySXNJbW1lZGlhdGUpCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8
IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0Mi5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk2CiAgICByUEMuaSA9IHJQQy5pICsg
aW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fb3BUb0pzbnVtYmVyU2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFz
ZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAg
ICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF90b19qc251bWJl
cihleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3Ry
dWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQ
Qy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5Ngog
ICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Myk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmVnYXRlKQogICAgdDAu
aSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206NTkKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIGlmICh0MC5pID49IGludHB0cl90KDB4
NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV8xMF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQyLmk2NCA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fMTBfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9u
ZTsgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzEw
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDIuaSA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQyLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQyLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAg
ICB0MC5pID0gdDAuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1MwogICAgdDIuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCArICh0MC5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtXzEwX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDIudTY0IDwg
dGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fb3BOZWdhdGVOb3RJbnQ7CiAgICBpZiAoKHQyLmkzMiAmIGludDMy
X3QoMHg3ZmZmZmZmZikpID09IDApICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fb3BOZWdhdGVTbG93OwogICAgdDIuaTMyID0gLXQyLmkzMjsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTEKICAgIHQyLmNsZWFySGlnaFdvcmQo
KTsKICAgIHQyLmk2NCA9IHQyLmk2NCB8IHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTEyCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSkgPSB0Mi5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEzCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRy
X3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fb3BOZWdhdGVOb3RJbnQpCiAgICBpZiAoKHQyLmk2NCAmIHRhZ1R5cGVOdW1iZXIu
aTY0KSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNgogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fb3BOZWdhdGVTbG93OwogICAgdDIuaTY0ID0gdDIuaTY0IF4gaW50NjRfdCgweDgwMDAwMDAw
MDAwMDAwMDApOyAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsg
KHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQyLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIHJQQy5pID0g
clBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcE5lZ2F0ZVNsb3cpCiAgICByUEMuaThwID0gckJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0g
ckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnAp
OwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbmVnYXRl
KGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1
Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBD
LmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAg
ICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgzKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRD
SF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9hZGQpCiAgICB0MC5pID0g
KkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgx
OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTo1OQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIGlmICh0MC5pID49IGludHB0cl90KDB4NDAw
MDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fMTFfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0
MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2Jp
bmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX18xMV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19k
b25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlP
cF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fMTFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3Rh
bnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1MQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMTI4MCk7
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQwLmkgPSB0MC5pIC0gaW50cHRyX3QoMHg0MDAw
MDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2
NF90Kj4odDEuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9t
U3RvcmVfXzExX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDIuaSA+PSBp
bnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzEyX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBf
b2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fMTJfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzEyX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQw
Lmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGlu
dHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0
ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19i
aW5hcnlPcEN1c3RvbVN0b3JlX18xMl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAg
aWYgKHQwLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MzEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0
b3JlX19vcDFOb3RJbnQ7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUzMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5
T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMk5vdEludDsKICAgIHQyLmkgPSAqQ0FTVDxpbnQz
Ml90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTg4CiAgICAgICAgaW50MzJfdCBhID0gdDEuaTMyOwogICAgICAgIGludDMyX3QgYiA9IHQw
LmkzMjsKICAgICAgICAvLyBzaWduKGIpIHNpZ24oYSkgfCBPdmVyZmxvd3MgaWY6CiAgICAgICAg
Ly8gMCAgICAgICAwICAgICAgIHwgc2lnbihiK2EpID0gMSAocG9zICsgcG9zICE9IG5lZykKICAg
ICAgICAvLyAwICAgICAgIDEgICAgICAgfCBuZXZlcgogICAgICAgIC8vIDEgICAgICAgMCAgICAg
ICB8IG5ldmVyCiAgICAgICAgLy8gMSAgICAgICAxICAgICAgIHwgc2lnbihiK2EpID0gMCAobmVn
ICsgbmVnICE9IHBvcykKICAgICAgICBpZiAoKFNJR05fQklUMzIoYikgPT0gU0lHTl9CSVQzMihh
KSkgJiYgKFNJR05fQklUMzIoYithKSAhPSBTSUdOX0JJVDMyKGEpKSkgewogICAgICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAg
ICAgIH0KICAgICAgICB0MC5pMzIgPSB0MC5pMzIgKyB0MS5pMzI7CiAgICB9CiAgICB0MC5pNjQg
PSB0MC5pNjQgfCB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU3OQog
ICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
ID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjU4MAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFy
eU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19vcDFOb3RJbnQpCiAgICBpZiAoKHQwLmk2NCAmIHRh
Z1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzOQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX3Nsb3c7CiAgICBp
ZiAodDEudTY0ID49IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU0MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3Rv
cmVfX29wMU5vdEludE9wMkludDsKICAgIGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQp
ID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9i
aW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fc2xvdzsKICAgIHQxLmk2NCA9IHQxLmk2NCAr
IHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQyCiAgICBkMS5kID0g
dDEuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0Mwog
ICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fb3AxTm90
SW50UmVhZHk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTQ0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Jp
bmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19vcDFOb3RJbnRPcDJJbnQpCiAgICBkMS5kID0g
dDEuaTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BD
dXN0b21TdG9yZV9fb3AxTm90SW50UmVhZHkpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0MC5pNjQg
PSB0MC5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0OQog
ICAgZDAuZCA9IHQwLmNhc3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1NTAKICAgIGQwLmQgPSBkMC5kICsgZDEuZDsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTg5CiAgICB0MC5pNjQgPSBkMC5jYXN0VG9JbnQ2NDsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1MgogICAgdDAuaTY0ID0gdDAuaTY0IC0gdGFnVHlw
ZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NTMKICAgICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NTQK
ICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0
b21TdG9yZV9fb3AyTm90SW50KQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgaWYgKCh0MS5pNjQgJiB0
YWdUeXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NjAKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAg
ZDAuZCA9IHQwLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NjEKICAgIHQxLmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTYyCiAgICBkMS5kID0gdDEuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjU2MwogICAgZDAuZCA9IGQwLmQgKyBkMS5kOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1ODkKICAgIHQwLmk2NCA9IGQwLmNhc3RU
b0ludDY0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTY1CiAgICB0MC5pNjQg
PSB0MC5pNjQgLSB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU2Ngog
ICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
ID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjU2NwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFy
eU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNl
UEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAg
ICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAg
ICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2FkZChleGVjLCBw
Yyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0
MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkg
PSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5Nwog
ICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbXVsKQogICAgdDAuaSA9ICpDQVNUPGlu
dDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkK
ICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmlu
YXJ5T3BDdXN0b21TdG9yZV9fMTNfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAg
ICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVf
XzEzX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzEzX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0MC5pID0gdDAu
aSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAg
dDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFy
eU9wQ3VzdG9tU3RvcmVfXzEzX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAo
dDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fMTRfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9v
ZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzE0X2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFy
eU9wQ3VzdG9tU3RvcmVfXzE0X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAg
dDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDEyODApOyAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQw
Lmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzE0X2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDAudTY0IDwgdGFnVHlwZU51bWJlci51NjQp
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
MTRfYmluYXJ5T3BDdXN0b21TdG9yZV9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5
cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzIKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtXzE0X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMk5vdEludDsKICAgIHQyLmkg
PSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206NTkKICAgIHQzLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTk4CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU5OQogICAgICAgIHVpbnQzMl90IGEgPSB0MS5pMzI7
CiAgICAgICAgdWludDMyX3QgYiA9IHQzLmkzMjsKICAgICAgICBpZiAoKGIgfCBhKSA+PiAxNSkg
ewogICAgICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzE0X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX3Ns
b3c7CiAgICAgICAgfQogICAgICAgIHQzLmkzMiA9IHQzLmkzMiAqIHQxLmkzMjsKICAgIH0KICAg
IGlmICh0My5pMzIgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjAwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19pbnRl
Z2VyT3BlcmF0aW9uQW5kU3RvcmVfX2RvbmU7CiAgICBpZiAodDEuaTMyIDwgaW50MzJfdCgweDAp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwMQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fMTRfYmluYXJ5T3BDdXN0b21TdG9yZV9fc2xvdzsKICAgIGlmICh0MC5pMzIgPCBpbnQz
Ml90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAyCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV8xNF9iaW5hcnlPcEN1c3RvbVN0b3JlX19zbG93OwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19pbnRlZ2VyT3Bl
cmF0aW9uQW5kU3RvcmVfX2RvbmUpCiAgICB0My5pNjQgPSB0My5pNjQgfCB0YWdUeXBlTnVtYmVy
Lmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwNAogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDMuaTY0OyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwNQogICAgclBD
LmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzE0X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMU5v
dEludCkKICAgIGlmICgodDAuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTM5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8xNF9iaW5hcnlPcEN1c3Rv
bVN0b3JlX19zbG93OwogICAgaWYgKHQxLnU2NCA+PSB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzE0X2JpbmFy
eU9wQ3VzdG9tU3RvcmVfX29wMU5vdEludE9wMkludDsKICAgIGlmICgodDEuaTY0ICYgdGFnVHlw
ZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQxCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV8xNF9iaW5hcnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAgdDEuaTY0ID0gdDEu
aTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIGQx
LmQgPSB0MS5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTQzCiAgICBnb3RvIF9vZmZsaW5lYXNtXzE0X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMU5vdElu
dFJlYWR5OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjU0NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8xNF9i
aW5hcnlPcEN1c3RvbVN0b3JlX19vcDFOb3RJbnRPcDJJbnQpCiAgICBkMS5kID0gdDEuaTMyOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8xNF9iaW5hcnlPcEN1c3RvbVN0b3JlX19vcDFO
b3RJbnRSZWFkeSkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQwLmk2NCA9IHQwLmk2NCArIHRhZ1R5
cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ5CiAgICBkMC5kID0gdDAuY2Fz
dFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1MAogICAgZDAu
ZCA9IGQwLmQgKiBkMS5kOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MDcKICAgIHQwLmk2NCA9IGQwLmNhc3RUb0ludDY0OyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTUyCiAgICB0MC5pNjQgPSB0MC5pNjQgLSB0YWdUeXBlTnVtYmVyLmk2NDsgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjU1MwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1NAogICAgclBDLmkgPSByUEMu
aSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtXzE0X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMk5vdEludCkKICAg
IHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206NTkKICAgIGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDAp
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTYwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8xNF9iaW5h
cnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAgZDAuZCA9IHQwLmkzMjsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NjEKICAgIHQxLmk2NCA9IHQxLmk2NCArIHRh
Z1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTYyCiAgICBkMS5kID0gdDEu
Y2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU2MwogICAg
ZDAuZCA9IGQwLmQgKiBkMS5kOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2MDcKICAgIHQwLmk2NCA9IGQwLmNhc3RUb0ludDY0OyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTY1CiAgICB0MC5pNjQgPSB0MC5pNjQgLSB0YWdUeXBlTnVtYmVyLmk2NDsg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjU2NgogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAo
dDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU2NwogICAgclBDLmkgPSBy
UEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtXzE0X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX3Nsb3cpCiAgICBy
UEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVj
U3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rp
b24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9z
bG93X3BhdGhfbXVsKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIu
aSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1
CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYg
MHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3Qo
MHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9zdWIp
CiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsg
aW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo1OQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIGlmICh0MC5pID49IGlu
dHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fMTVfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9v
ZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX18xNV9sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fMTVfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEu
aThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQwLmkgPSB0MC5pIC0gaW50
cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MS5pNjQg
PSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2Jp
bmFyeU9wQ3VzdG9tU3RvcmVfXzE1X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBp
ZiAodDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3Rv
cmVfXzE2X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0ID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
OAogICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fMTZf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzE2X2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQwLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQwLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0Mi5p
ID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
MwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX18xNl9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19kb25lKQogICAgaWYgKHQwLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MzEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX18xNl9i
aW5hcnlPcEN1c3RvbVN0b3JlX19vcDFOb3RJbnQ7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51
bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzMgogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fYmluYXJ5T3BfXzE2X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMk5vdEludDsKICAg
IHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206NTkKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjE0CiAgICAgICAgaW50MzJfdCBhID0gdDEuaTMyOwogICAg
ICAgIGludDMyX3QgYiA9IHQwLmkzMjsKICAgICAgICAvLyBzaWduKGIpIHNpZ24oYSkgfCBPdmVy
Zmxvd3MgaWY6CiAgICAgICAgLy8gMCAgICAgICAwICAgICAgIHwgbmV2ZXIKICAgICAgICAvLyAw
ICAgICAgIDEgICAgICAgfCBzaWduKGItYSkgPSAxIChwb3MgLSBuZWcgIT0gcG9zKQogICAgICAg
IC8vIDEgICAgICAgMCAgICAgICB8IHNpZ24oYi1hKSA9IDAgKG5lZyAtIHBvcyAhPSBwb3MpCiAg
ICAgICAgLy8gMSAgICAgICAxICAgICAgIHwgbmV2ZXIKICAgICAgICBpZiAoKFNJR05fQklUMzIo
YikgIT0gU0lHTl9CSVQzMihhKSkgJiYgKFNJR05fQklUMzIoYi1hKSA9PSBTSUdOX0JJVDMyKGEp
KSkgewogICAgICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX18xNl9iaW5hcnlPcEN1
c3RvbVN0b3JlX19zbG93OwogICAgICAgIH0KICAgICAgICB0MC5pMzIgPSB0MC5pMzIgLSB0MS5p
MzI7CiAgICB9CiAgICB0MC5pNjQgPSB0MC5pNjQgfCB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjU3OQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8
PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU4MAogICAgclBDLmkgPSByUEMuaSAr
IGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX18xNl9iaW5hcnlPcEN1c3RvbVN0b3JlX19vcDFOb3RJ
bnQpCiAgICBpZiAoKHQwLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUzOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfXzE2X2JpbmFy
eU9wQ3VzdG9tU3RvcmVfX3Nsb3c7CiAgICBpZiAodDEudTY0ID49IHRhZ1R5cGVOdW1iZXIudTY0
KSAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
YmluYXJ5T3BfXzE2X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMU5vdEludE9wMkludDsKICAgIGlm
ICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTQxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fMTZfYmluYXJ5T3BDdXN0b21T
dG9yZV9fc2xvdzsKICAgIHQxLmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTQyCiAgICBkMS5kID0gdDEuY2FzdFRvRG91YmxlOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MwogICAgZ290byBfb2ZmbGluZWFzbV9iaW5h
cnlPcF9fMTZfYmluYXJ5T3BDdXN0b21TdG9yZV9fb3AxTm90SW50UmVhZHk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX18xNl9iaW5hcnlPcEN1
c3RvbVN0b3JlX19vcDFOb3RJbnRPcDJJbnQpCiAgICBkMS5kID0gdDEuaTMyOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fMTZfYmluYXJ5T3BDdXN0b21TdG9yZV9fb3Ax
Tm90SW50UmVhZHkpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0MC5pNjQgPSB0MC5pNjQgKyB0YWdU
eXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0OQogICAgZDAuZCA9IHQwLmNh
c3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NTAKICAgIGQw
LmQgPSBkMC5kIC0gZDEuZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjE1CiAgICB0MC5pNjQgPSBkMC5jYXN0VG9JbnQ2NDsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjU1MgogICAgdDAuaTY0ID0gdDAuaTY0IC0gdGFnVHlwZU51bWJlci5pNjQ7ICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NTMKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQy
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NTQKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fMTZfYmluYXJ5T3BDdXN0b21TdG9yZV9fb3Ay
Tm90SW50KQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgaWYgKCh0MS5pNjQgJiB0YWdUeXBlTnVtYmVy
Lmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NjAKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2JpbmFyeU9wX18xNl9iaW5hcnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAgZDAuZCA9IHQw
LmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NjEKICAg
IHQxLmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTYyCiAgICBkMS5kID0gdDEuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjU2MwogICAgZDAuZCA9IGQwLmQgLSBkMS5kOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTUKICAgIHQwLmk2NCA9IGQwLmNhc3RUb0ludDY0OyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTY1CiAgICB0MC5pNjQgPSB0MC5pNjQg
LSB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU2NgogICAgKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjU2NwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX18xNl9i
aW5hcnlPcEN1c3RvbVN0b3JlX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAg
ICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJ
bnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93
UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3N1YihleGVjLCBwYyk7CiAg
ICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVj
U3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMu
aSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBD
LmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZGl2KQogICAgdDAuaSA9ICpDQVNUPGludDMyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQy
LmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjU5CiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BD
dXN0b21TdG9yZV9fMTdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5p
NjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzE3X2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzE3X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0MC5pID0gdDAuaSAtIGlu
dHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDEuaTY0
ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3Vz
dG9tU3RvcmVfXzE3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDIuaSA+
PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fMThfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5l
YXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzE4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3Vz
dG9tU3RvcmVfXzE4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEK
ICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDEyODApOyAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCAr
ICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzE4X2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDAudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUzMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMThfYmlu
YXJ5T3BDdXN0b21TdG9yZV9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5cGVOdW1i
ZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzIKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtXzE4X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMk5vdEludDsKICAgIHQyLmkgPSAqQ0FT
VDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
NTkKICAgIGlmICh0MS5pMzIgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NjI0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8xOF9iaW5hcnlPcEN1c3RvbVN0
b3JlX19zbG93OwogICAgaWYgKHQxLmkzMiAhPSBpbnQzMl90KC0xKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2MjUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3Vz
dG9tU3RvcmVfX2ludGVnZXJPcGVyYXRpb25BbmRTdG9yZV9fbm90TmVnMlR3b1RoZTMxRGl2QnlO
ZWcxOwogICAgaWYgKHQwLmkzMiA9PSBpbnQzMl90KC0yMTQ3NDgzNjQ4KSkgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MjYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzE4X2JpbmFyeU9wQ3VzdG9t
U3RvcmVfX3Nsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFy
eU9wQ3VzdG9tU3RvcmVfX2ludGVnZXJPcGVyYXRpb25BbmRTdG9yZV9fbm90TmVnMlR3b1RoZTMx
RGl2QnlOZWcxKQogICAgaWYgKHQwLmkzMiAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2MjgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3Vz
dG9tU3RvcmVfX2ludGVnZXJPcGVyYXRpb25BbmRTdG9yZV9faW50T0s7CiAgICBpZiAodDEuaTMy
IDwgaW50MzJfdCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyOQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fMThfYmluYXJ5T3BDdXN0b21TdG9yZV9fc2xvdzsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9faW50
ZWdlck9wZXJhdGlvbkFuZFN0b3JlX19pbnRPSykKICAgIHQzLmkgPSB0MS5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjMxCiAgICB0MC5pID0gdDAuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYzMgogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MzMKICAgICAgICBpbnQ2NF90IHRlbXAgPSB0MC5pMzI7IC8vIHNpZ24gZXh0ZW5kIHRoZSBsb3cg
MzJiaXQKICAgICAgICB0MC5pMzIgPSB0ZW1wOyAvLyBsb3cgd29yZAogICAgICAgIHQwLmNsZWFy
SGlnaFdvcmQoKTsKICAgICAgICB0MS5pMzIgPSB1aW50NjRfdCh0ZW1wKSA+PiAzMjsgLy8gaGln
aCB3b3JkCiAgICAgICAgdDEuY2xlYXJIaWdoV29yZCgpOwogICAgfQogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MzQKICAgICAg
ICBpbnQ2NF90IGRpdmlkZW5kID0gKGludDY0X3QodDEudTMyKSA8PCAzMikgfCB0MC51MzI7CiAg
ICAgICAgaW50NjRfdCBkaXZpc29yID0gdDMuaTsKICAgICAgICB0MS5pMzIgPSBkaXZpZGVuZCAl
IGRpdmlzb3I7IC8vIHJlbWFpbmRlcgogICAgICAgIHQxLmNsZWFySGlnaFdvcmQoKTsKICAgICAg
ICB0MC5pMzIgPSBkaXZpZGVuZCAvIGRpdmlzb3I7IC8vIHF1b3RpZW50CiAgICAgICAgdDAuY2xl
YXJIaWdoV29yZCgpOwogICAgfQogICAgaWYgKHQxLmkzMiAhPSAwKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzE4
X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX3Nsb3c7CiAgICB0MC5pNjQgPSB0MC5pNjQgfCB0YWdUeXBl
TnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYzNgogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYzNwog
ICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzE4X2JpbmFyeU9wQ3VzdG9tU3RvcmVf
X29wMU5vdEludCkKICAgIGlmICgodDAuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTM5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8xOF9iaW5hcnlP
cEN1c3RvbVN0b3JlX19zbG93OwogICAgaWYgKHQxLnU2NCA+PSB0YWdUeXBlTnVtYmVyLnU2NCkg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzE4
X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMU5vdEludE9wMkludDsKICAgIGlmICgodDEuaTY0ICYg
dGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQxCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV8xOF9iaW5hcnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAgdDEuaTY0
ID0gdDEuaTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIK
ICAgIGQxLmQgPSB0MS5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTQzCiAgICBnb3RvIF9vZmZsaW5lYXNtXzE4X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29w
MU5vdEludFJlYWR5OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjU0NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV8xOF9iaW5hcnlPcEN1c3RvbVN0b3JlX19vcDFOb3RJbnRPcDJJbnQpCiAgICBkMS5kID0gdDEu
aTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8xOF9iaW5hcnlPcEN1c3RvbVN0b3Jl
X19vcDFOb3RJbnRSZWFkeSkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQwLmk2NCA9IHQwLmk2NCAr
IHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ5CiAgICBkMC5kID0g
dDAuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1MAog
ICAgZDAuZCA9IGQwLmQgLyBkMS5kOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MzkKICAgIHQwLmk2NCA9IGQwLmNhc3RUb0ludDY0OyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTUyCiAgICB0MC5pNjQgPSB0MC5pNjQgLSB0YWdUeXBlTnVtYmVyLmk2
NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1MwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAg
KyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1NAogICAgclBDLmkg
PSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzE4X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMk5vdElu
dCkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206NTkKICAgIGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQp
ID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTYwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8x
OF9iaW5hcnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAgZDAuZCA9IHQwLmkzMjsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NjEKICAgIHQxLmk2NCA9IHQxLmk2
NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTYyCiAgICBkMS5k
ID0gdDEuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU2
MwogICAgZDAuZCA9IGQwLmQgLyBkMS5kOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo2MzkKICAgIHQwLmk2NCA9IGQwLmNhc3RUb0ludDY0OyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTY1CiAgICB0MC5pNjQgPSB0MC5pNjQgLSB0YWdUeXBlTnVtYmVy
Lmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU2NgogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU2NwogICAgclBD
LmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzE4X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX3Nsb3cp
CiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FT
VDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5z
dHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfZGl2KGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9
IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAg
ICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgw
eDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50
cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9sc2hpZnQpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQzLmkg
PSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206NTkKICAgIGlmICh0MC5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcF9fMTlfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2JpdE9wX18xOV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcF9fMTlfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDEuaSA9ICpDQVNUPGlu
dHB0cl90Kj4odDEuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQwLmkg
PSB0MC5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUz
CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQwLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
Yml0T3BfXzE5X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDIuaSA+PSBp
bnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fYml0T3BfXzIwX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0
YW50OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcF9fMjBfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fYml0T3BfXzIwX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50
KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDEyODApOyAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAw
MDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRf
dCo+KHQwLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wX18yMF9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19kb25lKQogICAgaWYgKHQwLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2NDkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX19z
bG93OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2NTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX19zbG93OwogICAg
dDAuaTMyID0gdDAuaTMyIDw8ICh0MS5pICYgMHgxZik7ICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2NjQKICAgIHQwLmNsZWFySGlnaFdvcmQoKTsKICAgIHQwLmk2NCA9IHQwLmk2NCB8IHRhZ1R5
cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjUyCiAgICAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MC5pNjQ7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjUz
CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BfX3Nsb3cpCiAgICByUEMu
aThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5
CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3Rh
dGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24q
PihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93
X3BhdGhfbHNoaWZ0KGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIu
aSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1
CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYg
MHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3Qo
MHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9yc2hp
ZnQpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBD
Lmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQzLmkgPSAqQ0FT
VDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
NTkKICAgIGlmICh0MC5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcF9fMjFfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZs
aW5lYXNtX2JpdE9wX18yMV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OQoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcF9fMjFfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
IC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90
Kj4odDEuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQwLmkgPSB0MC5p
IC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0
MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3Bf
XzIxX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDIuaSA+PSBpbnRwdHJf
dCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fYml0T3BfXzIyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50Owog
ICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE0OAogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcF9fMjJfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fYml0T3BfXzIyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAg
dDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDEyODApOyAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQw
Lmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wX18yMl9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19kb25lKQogICAgaWYgKHQwLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2NDkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzIyX2JpdE9wX19zbG93
OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo2NTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzIyX2JpdE9wX19zbG93OwogICAg
dDAuaTMyID0gdDAuaTMyID4+ICh0MS5pICYgMHgxZik7ICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2NzIKICAgIHQwLmNsZWFySGlnaFdvcmQoKTsKICAgIHQwLmk2NCA9IHQwLmk2NCB8IHRhZ1R5
cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjUyCiAgICAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MC5pNjQ7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjUz
CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMjJfYml0T3BfX3Nsb3cpCiAgICBy
UEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVj
U3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rp
b24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9z
bG93X3BhdGhfcnNoaWZ0KGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJl
c3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQw
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBj
ZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMp
ICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRy
X3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF91
cnNoaWZ0KQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0My5pID0g
KkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjU5CiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BfXzIzX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBf
b2ZmbGluZWFzbV9iaXRPcF9fMjNfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BfXzIzX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQxLmkgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQxLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0MC5pID0g
dDAuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1Mwog
ICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Jp
dE9wX18yM19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQyLmkgPj0gaW50
cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2JpdE9wX18yNF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFu
dDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BfXzI0X2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2JpdE9wX18yNF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkK
ICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTUxCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAxMjgwKTsgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1MgogICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAw
KTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3Qq
Pih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcF9fMjRfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fZG9uZSkKICAgIGlmICh0MC51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjQ5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8yNF9iaXRPcF9f
c2xvdzsKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjUwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8yNF9iaXRPcF9fc2xvdzsK
ICAgIHQwLnUzMiA9IHQwLnUzMiA+PiAodDEuaSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjgxCiAgICB0MC5jbGVhckhpZ2hXb3JkKCk7CiAgICBpZiAodDAuaTMyIDwgaW50MzJf
dCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY4MgogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fMjRfYml0T3BfX3Nsb3c7CiAgICB0MC5pNjQgPSB0MC5pNjQgfCB0YWdUeXBl
TnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY1MgogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY1Mwog
ICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzI0X2JpdE9wX19zbG93KQogICAgclBD
Lmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4
OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0
YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9u
Kj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xv
d19wYXRoX3Vyc2hpZnQoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVz
dWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNm
ci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4Mykg
JiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJf
dCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2Jp
dGFuZCkKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
MykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDMuaSA9ICpD
QVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo1OQogICAgaWYgKHQwLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX18yNV9sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29m
ZmxpbmVhc21fYml0T3BfXzI1X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wX18yNV9sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRy
X3QqPih0MS5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDAuaSA9IHQw
LmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAg
IHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRP
cF9fMjVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0Mi5pID49IGludHB0
cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9iaXRPcF9fMjZfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7
CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX18yNl9sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9iaXRPcF9fMjZfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAg
ICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1MQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMTI4MCk7ICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNTIKICAgIHQyLmkgPSB0Mi5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4o
dDAuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BfXzI2X2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX2RvbmUpCiAgICBpZiAodDAudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjY0OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMjZfYml0T3BfX3Ns
b3c7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjY1MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMjZfYml0T3BfX3Nsb3c7CiAg
ICB0MC5pMzIgPSB0MC5pMzIgJiB0MS5pMzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjY5MQogICAgdDAuY2xlYXJIaWdoV29yZCgpOwogICAgdDAuaTY0ID0gdDAuaTY0IHwgdGFn
VHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NTIKICAgICpDQVNUPGludDY0
X3QqPihjZnIuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
NTMKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8yNl9iaXRPcF9fc2xvdykKICAg
IHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4
ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVj
dGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50
X3Nsb3dfcGF0aF9iaXRhbmQoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0g
dDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAg
IGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4
MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRw
dHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X2JpdHhvcikKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDMuaSA9
ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTo1OQogICAgaWYgKHQwLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX18yN19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8g
X29mZmxpbmVhc21fYml0T3BfXzI3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wX18yN19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MS5pID0gKkNBU1Q8aW50
cHRyX3QqPih0MS5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDAuaSA9
IHQwLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMK
ICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9i
aXRPcF9fMjdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0Mi5pID49IGlu
dHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9iaXRPcF9fMjhfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3Rh
bnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX18yOF9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9iaXRPcF9fMjhfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQp
CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE1MQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMTI4MCk7ICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQyLmkgPSB0Mi5pIC0gaW50cHRyX3QoMHg0MDAwMDAw
MCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90
Kj4odDAuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BfXzI4X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2RvbmUpCiAgICBpZiAodDAudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjY0OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMjhfYml0T3Bf
X3Nsb3c7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjY1MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMjhfYml0T3BfX3Nsb3c7
CiAgICB0MC5pMzIgPSB0MC5pMzIgXiB0MS5pMzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjY5OQogICAgdDAuY2xlYXJIaWdoV29yZCgpOwogICAgdDAuaTY0ID0gdDAuaTY0IHwg
dGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NTIKICAgICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2NTMKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8yOF9iaXRPcF9fc2xvdykK
ICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNU
PEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0
cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxs
aW50X3Nsb3dfcGF0aF9iaXR4b3IoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5p
ID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQK
ICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90
KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBp
bnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX2JpdG9yKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMu
aSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0My5p
ID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjU5CiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BfXzI5X2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290
byBfb2ZmbGluZWFzbV9iaXRPcF9fMjlfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BfXzI5X2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQxLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQxLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0MC5p
ID0gdDAuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
MwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0MC5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2JpdE9wX18yOV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQyLmkgPj0g
aW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX18zMF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25z
dGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BfXzMwX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2JpdE9wX18zMF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFu
dCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTUxCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAxMjgwKTsg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAw
MDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0
X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcF9fMzBfbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fZG9uZSkKICAgIGlmICh0MC51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjQ5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8zMF9iaXRP
cF9fc2xvdzsKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NjUwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8zMF9iaXRPcF9fc2xv
dzsKICAgIHQwLmkzMiA9IHQwLmkzMiB8IHQxLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NzA3CiAgICB0MC5jbGVhckhpZ2hXb3JkKCk7CiAgICB0MC5pNjQgPSB0MC5pNjQg
fCB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY1MgogICAgKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjY1MwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzMwX2JpdE9wX19zbG93
KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENB
U1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPElu
c3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0g
bGxpbnRfc2xvd19wYXRoX2JpdG9yKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMu
aSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0
CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJf
dCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsg
aW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJF
TChvcF9jaGVja19oYXNfaW5zdGFuY2UpCiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgaWYgKHQxLmkg
Pj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX18zMV9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8g
X29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzMxX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX18zMV9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAg
KyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDEuaSA9IHQxLmkgLSBpbnRwdHJf
dCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQwLmk2NCA9ICpD
QVNUPGludDY0X3QqPih0MC5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlQ2VsbF9fMzFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICgodDAu
aTY0ICYgdGFnTWFzay5pNjQpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY1CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9vcENoZWNrSGFzSW5zdGFuY2VTbG93OwogICAgdDAuaSA9
ICpDQVNUPGludHB0cl90Kj4odDAuaThwKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MTYK
ICAgIGlmICgoKkNBU1Q8aW50OF90Kj4odDAuaThwICsgOSkgJiBpbnQ4X3QoMHg4KSkgPT0gMCkg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NzE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcENoZWNrSGFzSW5zdGFuY2VTbG93
OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wQ2hlY2tIYXNJbnN0YW5jZVNs
b3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0g
Q0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8
SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQg
PSBsbGludF9zbG93X3BhdGhfY2hlY2tfaGFzX2luc3RhbmNlKGV4ZWMsIHBjKTsKICAgICAgICBM
TEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7
CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJh
c2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQ
Qy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICBy
UEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF9pbnN0YW5jZW9mKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQz
LmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206NTkKICAgIGlmICh0MC5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fMzJfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAg
ICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVDZWxsX18zMl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9f
MzJfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDEuaSA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIK
ICAgIHQwLmkgPSB0MC5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTUzCiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQwLmkgPDwg
MykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzMyX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2RvbmUpCiAgICBpZiAoKHQxLmk2NCAmIHRhZ01hc2suaTY0KSAhPSAwKSAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE2NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BJbnN0YW5j
ZW9mU2xvdzsKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NzMxCiAgICBpZiAoKkNBU1Q8dWludDhfdCo+KHQyLmk4cCArIDgpIDwg
dWludDhfdCgweDExKSkgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjczMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BJ
bnN0YW5jZW9mU2xvdzsKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAodDAuaSA+PSBpbnRwdHJf
dCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzMzX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX2NvbnN0YW50OwogICAgdDIuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAg
KyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBfb2ZmbGluZWFz
bV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fMzNfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
ZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUNlbGxfXzMzX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50
KQogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTEKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCArIDEyODApOyAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0MC5pID0gdDAuaSAtIGludHB0cl90KDB4NDAwMDAw
MDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDIuaTY0ID0gKkNBU1Q8aW50NjRf
dCo+KHQyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxs
X18zM19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKCh0Mi5pNjQgJiB0YWdN
YXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjUKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX29wSW5zdGFuY2VvZlNsb3c7CiAgICB0MC5pID0gaW50cHRyX3QoMHgxKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjczNwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcEluc3RhbmNlb2ZMb29wKQogICAgdDIuaSA9ICpDQVNU
PGludHB0cl90Kj4odDIuaThwKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MzkKICAgIHQy
Lmk2NCA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAgKyAyNCk7ICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NzQwCiAgICBpZiAodDIuaTY0ID09IHQxLmk2NCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjc0MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BJbnN0YW5jZW9mRG9uZTsK
ICAgIGlmICgodDIuaTY0ICYgdGFnTWFzay5pNjQpID09IDApICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NzQyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEluc3RhbmNlb2ZMb29wOwogICAg
dDAuaSA9IGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo3NDQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BJbnN0YW5jZW9m
RG9uZSkKICAgIHQwLmk2NCA9IHQwLmk2NCB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NzQ2CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0My5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSkgPSB0MC5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzQ3CiAgICByUEMuaSA9IHJQQy5pICsgaW50
cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fb3BJbnN0YW5jZW9mU2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBD
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcK
ICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAg
ICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAg
U2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9pbnN0YW5jZW9mKGV4
ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rp
b24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkg
PSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAgICBy
UEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBD
Lmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9P
UENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9pc191bmRlZmluZWQpCiAgICB0
MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTo1OQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgaWYgKHQxLmkgPj0gaW50cHRyX3Qo
MHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtXzM0X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0
ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE0OAogICAgZ290byBfb2ZmbGluZWFzbV8zNF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19k
b25lOyAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
MzRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDAuaSA9
ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIK
ICAgIHQxLmkgPSB0MS5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTUzCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQxLmkgPDwg
MykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fMzRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICgodDAuaTY0
ICYgdGFnTWFzay5pNjQpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzYwCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9vcElzVW5kZWZpbmVkQ2VsbDsKICAgIHQzLmkgPSAodDAudTY0
ID09IHVpbnQ2NF90KDB4YSkpOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzYxCiAgICB0My5p
NjQgPSB0My5pNjQgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc2
MgogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpID0gdDMuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjc2MwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Myk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29w
SXNVbmRlZmluZWRDZWxsKQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NjYKICAgIGlmICgoKkNBU1Q8aW50OF90Kj4odDAuaThw
ICsgOSkgJiBpbnQ4X3QoMHgxKSkgIT0gMCkgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzY3CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9tYXNxdWVyYWRlc0FzVW5kZWZpbmVkOwogICAgdDEuaSA9IGludHB0cl90KDB4Nik7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NjgKICAgICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQxLmk2NDsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NjkK
ICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9tYXNxdWVyYWRlc0FzVW5kZWZpbmVk
KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo3NzIKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDMyKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NzczCiAgICB0My5pID0gKCpDQVNUPHVpbnRwdHJfdCo+KHQwLmk4
cCArIDE2KSA9PSB0MS51KTsgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc3NAogICAgdDMuaTY0ID0gdDMuaTY0IHwgaW50
NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NzUKICAgICpDQVNUPGludDY0
X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQzLmk2NDsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3
NzYKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
T0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2lzX2Jvb2xlYW4pCiAgICB0MS5pID0gKkNBU1Q8
aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1
OQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo1OQogICAgaWYgKHQxLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkp
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzM1
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAg
Z290byBfb2ZmbGluZWFzbV8zNV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMzVfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDAuaSA9ICpDQVNUPGludHB0
cl90Kj4odDAuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQxLmkgPSB0
MS5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAg
ICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMzVf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIHQwLmk2NCA9IHQwLmk2NCBeIGludDY0
X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Nzg1CiAgICB0MC5pID0gKCh0MC5p
NjQgJiBpbnQ2NF90KC0yKSkgPT0gMCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc4NgogICAgdDAu
aTY0ID0gdDAuaTY0IHwgaW50NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3
ODcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo3ODgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2lzX251bWJlcikK
ICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAodDEuaSA+PSBpbnRw
dHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fMzZfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0
MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtXzM2X2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX2RvbmU7ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV8zNl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0
MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE1MgogICAgdDEuaSA9IHQxLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTMKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDEu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV8zNl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgdDEuaSA9
ICgodDAuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpICE9IDApOyAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OTcK
ICAgIHQxLmk2NCA9IHQxLmk2NCB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206Nzk4CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSkgPSB0MS5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Nzk5CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3Qo
MHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9pc19z
dHJpbmcpCiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgaWYgKHQxLmkg
Pj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtXzM3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50
OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBfb2ZmbGluZWFzbV8zN19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19kb25lOyAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fMzdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5p
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
MQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMTI4MCk7ICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTIKICAgIHQxLmkgPSB0MS5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThw
ICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fMzdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAg
IGlmICgodDAuaTY0ICYgdGFnTWFzay5pNjQpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206ODA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcElzU3RyaW5nTm90Q2VsbDsKICAgIHQw
LmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODA5CiAgICB0MS5pID0gKCpDQVNUPHVpbnQ4X3QqPih0MC5pOHAgKyA4KSA9PSB1aW50OF90KDB4
NSkpOyAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjgxMAogICAgdDEuaTY0ID0gdDEuaTY0IHwgaW50NjRfdCgweDYpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4MTEKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQy
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQxLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MTIKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9vcElzU3RyaW5nTm90Q2VsbCkKICAgICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IGludDY0X3QoMHg2KTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4MTUKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2luaXRfZ2xvYmFsX2NvbnN0KQogICAgdDEu
aSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206NTkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYzCiAgICBpZiAodDEuaSA+PSBpbnRwdHJfdCgw
eDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fMzhfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0Mi5pNjQg
PSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtXzM4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Rv
bmU7ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8z
OF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQyLmkgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0Mi5pID0g
KkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1Mgog
ICAgdDEuaSA9IHQxLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTMKICAgIHQyLmk2NCA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAgKyAodDEuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV8zOF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgKkNBU1Q8aW50NjRf
dCo+KHQwLmk4cCkgPSB0Mi5pNjQ7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NDQKICAgIHJQ
Qy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX2luaXRfZ2xvYmFsX2NvbnN0X2NoZWNrKQogICAgdDIuaSA9ICpD
QVNUPGludHB0cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjYzCiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjMKICAgIGlmICgqQ0FT
VDxpbnQ4X3QqPih0Mi5pOHApICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUzCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEluaXRHbG9iYWxDb25zdENoZWNrU2xvdzsKICAgIGlm
ICh0MS5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8zOV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19j
b25zdGFudDsKICAgIHQyLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQxLmkgPDwg
MykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fMzlfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtXzM5X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQog
ICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTEKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCArIDEyODApOyAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0MS5pID0gdDEuaSAtIGludHB0cl90KDB4NDAwMDAwMDAp
OyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDIuaTY0ID0gKkNBU1Q8aW50NjRfdCo+
KHQyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzM5X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Rv
bmUpCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKSA9IHQyLmk2NDsgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjg1NgogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wSW5pdEds
b2JhbENvbnN0Q2hlY2tTbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4
ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVj
dGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJl
dHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2luaXRfZ2xvYmFsX2NvbnN0X2NoZWNr
KGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1
Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBD
LmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAg
ICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRD
SF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfYnlfaWQpCiAgICB0
MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTo1OQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYzCiAgICBpZiAodDAuaSA+PSBpbnRwdHJf
dCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fZ2V0QnlJZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzQwX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDMuaTY0ID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBf
b2ZmbGluZWFzbV9nZXRCeUlkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNDBfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fZ2V0QnlJZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzQwX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQzLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQzLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0MC5p
ID0gdDAuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
MwogICAgdDMuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCArICh0MC5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2dldEJ5SWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX180MF9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19kb25lKQogICAgaWYgKCh0My5pNjQgJiB0YWdNYXNrLmk2NCkgIT0gMCkgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNjUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2dldEJ5SWRf
X29wR2V0QnlJZFNsb3c7CiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgyOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgaWYgKCpDQVNUPGludHB0cl90
Kj4odDMuaThwKSAhPSB0MS5pKSAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NzcKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2dldEJ5SWRfX29wR2V0QnlJZFNsb3c7CiAgICB0MS5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAg
ICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwICsgKHQyLmkgPDwgMCkgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4NzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4ODAKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg0MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MwogICAg
clBDLmkgPSByUEMuaSArIGludHB0cl90KDB4OSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
MykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2dldEJ5SWRfX29wR2V0QnlJZFNsb3cpCiAg
ICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxF
eGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1
Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGlu
dF9zbG93X3BhdGhfZ2V0X2J5X2lkKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMu
aSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0
CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJf
dCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsg
aW50cHRyX3QoMHg5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJF
TChvcF9nZXRfYnlfaWRfb3V0X29mX2xpbmUpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDEuaSA9
ICpDQVNUPGludHB0cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDIwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjYzCiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZ2V0QnlJZF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzQxX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0
YW50OwogICAgdDMuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBfb2ZmbGluZWFzbV9nZXRCeUlkX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNDFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZ2V0QnlJZF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzQxX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0
YW50KQogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTEKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCArIDEyODAp
OyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0MC5pID0gdDAuaSAtIGludHB0cl90KDB4NDAw
MDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDMuaTY0ID0gKkNBU1Q8aW50
NjRfdCo+KHQzLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2dldEJ5SWRfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsX180MV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKCh0
My5pNjQgJiB0YWdNYXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjUK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzQxX2dldEJ5SWRfX29wR2V0QnlJZFNsb3c7CiAgICB0
Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgyOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTo1OQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwICsgOCk7ICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206OTQ0CiAgICBpZiAoKkNBU1Q8aW50cHRyX3QqPih0My5pOHApICE9
IHQxLmkpICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
NDFfZ2V0QnlJZF9fb3BHZXRCeUlkU2xvdzsKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQzLmk2NCA9
ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAwKSArIGludHB0cl90KDB4MCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg3OQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpID0gdDMuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg4MAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDQwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYzCiAgICByUEMuaSA9IHJQ
Qy5pICsgaW50cHRyX3QoMHg5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fNDFfZ2V0QnlJZF9fb3BHZXRCeUlkU2xvdykKICAgIHJQQy5p
OHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkK
ICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0
ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+
KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3df
cGF0aF9nZXRfYnlfaWQoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVz
dWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNm
ci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4Mykg
JiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJf
dCgweDkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dl
dF9hcnJheV9sZW5ndGgpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDEuaSA9ICpDQVNUPGludHB0
cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYzCiAg
ICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfXzQyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDMuaTY0ID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
OAogICAgZ290byBfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNDJfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzQyX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQzLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0MC5pID0gdDAu
aSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAg
dDMuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xvYWRD
b25zdGFudE9yVmFyaWFibGVDZWxsX180Ml9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQog
ICAgaWYgKCh0My5pNjQgJiB0YWdNYXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNjUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wR2V0QXJyYXlMZW5ndGhTbG93Owog
ICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5MDQKICAgIHQyLmkgPSAqQ0FTVDx1aW50OF90Kj4odDIuaThwICsgMTEpOyAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjI0MQogICAgaWYgKCh0Mi5pMzIgJiBpbnQzMl90KDB4MSkpID09IDApICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MDYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wR2V0
QXJyYXlMZW5ndGhTbG93OwogICAgaWYgKCh0Mi5pMzIgJiBpbnQzMl90KDB4MWUpKSA9PSAwKSAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wR2V0
QXJyYXlMZW5ndGhTbG93OwogICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDIuaSA9ICpDQVNUPGludHB0
cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDQwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYzCiAg
ICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAgKyA4KTsgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjkxMAogICAgdDAudSA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwIC0gOCk7ICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5MTEKICAgIGlmICh0MC5pMzIgPCBpbnQzMl90KDB4MCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEdl
dEFycmF5TGVuZ3RoU2xvdzsKICAgIHQwLmk2NCA9IHQwLmk2NCB8IHRhZ1R5cGVOdW1iZXIuaTY0
OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEzCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCAr
ICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MC5pNjQ7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTE1CiAgICByUEMuaSA9
IHJQQy5pICsgaW50cHRyX3QoMHg5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BHZXRBcnJheUxlbmd0aFNsb3cpCiAgICByUEMuaThw
ID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAg
ICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUq
PihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihy
UEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3Bh
dGhfZ2V0X2J5X2lkKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIu
aSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1
CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYg
MHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3Qo
MHg5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRf
YXJndW1lbnRzX2xlbmd0aCkKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0MS5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAg
ICBpZiAoKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpICE9IDApIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTI3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEdldEFyZ3VtZW50c0xl
bmd0aFNsb3c7CiAgICB0Mi51ID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwIC0gNDQpOyAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjkyOAogICAgdDIuaTMyID0gdDIuaTMyIC0gaW50MzJfdCgweDEpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MjkKICAgIHQyLmNsZWFySGlnaFdvcmQoKTsKICAg
IHQyLmk2NCA9IHQyLmk2NCB8IHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTMwCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSkgPSB0Mi5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTMxCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fb3BHZXRBcmd1bWVudHNMZW5ndGhTbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2Nwog
ICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAg
ICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBT
bG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2dldF9hcmd1bWVudHNf
bGVuZ3RoKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAu
aW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQx
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAgICBy
QmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXRfYnlfaWQp
CiAgICB0My5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsg
aW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MjApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjMKICAgIGlmICh0My5pID49IGlu
dHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeUlkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNDNf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBn
b3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX180M19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNDNf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDAuaSA9ICpD
QVNUPGludHB0cl90Kj4odDAuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAg
IHQzLmkgPSB0My5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTUzCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQzLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fcHV0QnlJZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzQzX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCAmIHRhZ01hc2suaTY0KSAhPSAwKSAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BQ
dXRCeUlkU2xvdzsKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAoKkNBU1Q8aW50cHRyX3QqPih0
MC5pOHApICE9IHQxLmkpICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0OQogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fb3BQdXRCeUlkU2xvdzsKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDI4KSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAodDIuaSA+
PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZF9fZ2V0UHJvcGVydHlTdG9yYWdlX19jb250aW51
YXRpb25fXzQ0X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDMuaTY0ID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE0OAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeUlkX19nZXRQcm9wZXJ0eVN0b3JhZ2VfX2Nv
bnRpbnVhdGlvbl9fNDRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlJZF9fZ2V0UHJvcGVydHlTdG9y
YWdlX19jb250aW51YXRpb25fXzQ0X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQog
ICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTEKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCArIDEyODApOyAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDAp
OyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDMuaTY0ID0gKkNBU1Q8aW50NjRfdCo+
KHQzLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRfX2dldFByb3BlcnR5U3RvcmFnZV9f
Y29udGludWF0aW9uX180NF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgKkNBU1Q8
aW50NjRfdCo+KHQwLmk4cCArICh0MS5pIDw8IDApICsgaW50cHRyX3QoMHgwKSkgPSB0My5pNjQ7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTUzCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg5KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUo
KTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BQdXRCeUlkU2xvdykK
ICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNU
PEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0
cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxs
aW50X3Nsb3dfcGF0aF9wdXRfYnlfaWQoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVS
ZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQ
Qy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0
cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkg
KyBpbnRwdHJfdCgweDkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xB
QkVMKG9wX3B1dF9ieV9pZF9vdXRfb2ZfbGluZSkKICAgIHQzLmkgPSAqQ0FTVDxpbnQzMl90Kj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQxLmkg
PSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgyMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo2MwogICAgaWYgKHQzLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX180NV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25z
dGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQzLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzQ1X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX180NV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25z
dGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTUxCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAxMjgw
KTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDMuaSA9IHQzLmkgLSBpbnRwdHJfdCgweDQw
MDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQwLmk2NCA9ICpDQVNUPGlu
dDY0X3QqPih0MC5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlQ2VsbF9fNDVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICgo
dDAuaTY0ICYgdGFnTWFzay5pNjQpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY1
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFB1dEJ5SWRTbG93OwogICAgdDIuaSA9ICpDQVNU
PGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
NTkKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDgpOyAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjk0NAogICAgaWYgKCpDQVNUPGludHB0cl90Kj4odDAuaThwKSAhPSB0MS5pKSAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5NDkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0QnlJZFNs
b3c7CiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgyOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgaWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAw
MCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X3B1dEJ5SWRfX2dldFByb3BlcnR5U3RvcmFnZV9fY29udGludWF0aW9uX180Nl9sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIu
aThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxp
bmVhc21fcHV0QnlJZF9fZ2V0UHJvcGVydHlTdG9yYWdlX19jb250aW51YXRpb25fXzQ2X2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX3B1dEJ5SWRfX2dldFByb3BlcnR5U3RvcmFnZV9fY29udGludWF0aW9uX180
Nl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MC5pID0g
KkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1Mgog
ICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTMKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9wdXRCeUlkX19nZXRQcm9wZXJ0eVN0b3JhZ2VfX2NvbnRpbnVhdGlvbl9fNDZfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgICpDQVNUPGludDY0X3QqPih0My5pOHAgKyAo
dDEuaSA8PCAwKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1MwogICAgclBDLmkgPSBy
UEMuaSArIGludHB0cl90KDB4OSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENP
REVfTEFCRUwob3BfcHV0X2J5X2lkX3RyYW5zaXRpb25fZGlyZWN0KQogICAgdDMuaSA9ICpDQVNU
PGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1
OQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDIwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjYzCiAgICBpZiAodDMuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAw
KSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
cHV0QnlJZFRyYW5zaXRpb25fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX180N19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29m
ZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX180
N19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OQoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlvbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUNlbGxfXzQ3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEK
ICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDEyODApOyAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTUyCiAgICB0My5pID0gdDMuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCAr
ICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlQ2VsbF9fNDdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICgodDAuaTY0
ICYgdGFnTWFzay5pNjQpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY1CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9vcFB1dEJ5SWRTbG93OwogICAgdDIuaSA9ICpDQVNUPGludDMy
X3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAg
IGlmICgqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCkgIT0gdDEuaSkgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTc2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFB1dEJ5SWRTbG93OwogICAgdDEuaSA9
ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MjgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206NTkKICAgIHQzLmkgPSB0MC5pICsgdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTgzCiAgICBpZiAodDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0
QnlJZFRyYW5zaXRpb25fX2dldFByb3BlcnR5U3RvcmFnZV9fY29udGludWF0aW9uX180OF9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8g
X29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2dldFByb3BlcnR5U3RvcmFnZV9fY29udGlu
dWF0aW9uX180OF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlvbl9fZ2V0UHJvcGVy
dHlTdG9yYWdlX19jb250aW51YXRpb25fXzQ4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0
YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTEKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDEyODAp
OyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAw
MDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDEuaTY0ID0gKkNBU1Q8aW50
NjRfdCo+KHQxLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX19nZXRQ
cm9wZXJ0eVN0b3JhZ2VfX2NvbnRpbnVhdGlvbl9fNDhfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
ZG9uZSkKICAgICpDQVNUPGludDY0X3QqPih0My5pOHApID0gdDEuaTY0OyAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTg2CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MzApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjMKICAgICpDQVNUPGludHB0cl90Kj4o
dDAuaThwKSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTg4CiAgICByUEMuaSA9
IHJQQy5pICsgaW50cHRyX3QoMHg5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09Q
Q09ERV9MQUJFTChvcF9wdXRfYnlfaWRfdHJhbnNpdGlvbl9kaXJlY3Rfb3V0X29mX2xpbmUpCiAg
ICB0My5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50
cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjU5CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MjApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjMKICAgIGlmICh0My5pID49IGludHB0
cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfXzQ5X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0ID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
OAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlvbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZUNlbGxfXzQ5X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNDlfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3Rh
bnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1MQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMTI4MCk7
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQzLmkgPSB0My5pIC0gaW50cHRyX3QoMHg0MDAw
MDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2
NF90Kj4odDAuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2xvYWRD
b25zdGFudE9yVmFyaWFibGVDZWxsX180OV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQog
ICAgaWYgKCh0MC5pNjQgJiB0YWdNYXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNjUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0QnlJZFNsb3c7CiAgICB0Mi5p
ID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo1OQogICAgaWYgKCpDQVNUPGludHB0cl90Kj4odDAuaThwKSAhPSB0MS5pKSAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5NzYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0QnlJZFNs
b3c7CiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgyOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThw
ICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTQ0CiAgICB0My5pID0gdDMuaSArIHQxLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4MwogICAgaWYgKHQyLmkgPj0g
aW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX19nZXRQcm9wZXJ0eVN0b3JhZ2Vf
X2NvbnRpbnVhdGlvbl9fNTBfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0
MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX19nZXRQ
cm9wZXJ0eVN0b3JhZ2VfX2NvbnRpbnVhdGlvbl9fNTBfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
ZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlJ
ZFRyYW5zaXRpb25fX2dldFByb3BlcnR5U3RvcmFnZV9fY29udGludWF0aW9uX181MF9sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MS5pID0gKkNBU1Q8aW50
cHRyX3QqPih0MS5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDIuaSA9
IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMK
ICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9w
dXRCeUlkVHJhbnNpdGlvbl9fZ2V0UHJvcGVydHlTdG9yYWdlX19jb250aW51YXRpb25fXzUwX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKSA9
IHQxLmk2NDsgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4NgogICAgdDEuaSA9ICpDQVNUPGlu
dHB0cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDMwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYz
CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjk4OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4OSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHV0X2J5X2lkX3RyYW5zaXRpb25f
bm9ybWFsKQogICAgdDMuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYzCiAgICBpZiAodDMu
aSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0Nwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsX181MV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQw
Lmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2xvYWRD
b25zdGFudE9yVmFyaWFibGVDZWxsX181MV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNp
dGlvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzUxX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX2NvbnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4
cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0My5pID0gdDMuaSAtIGludHB0
cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0ID0g
KkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0
aW9uX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNTFfbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fZG9uZSkKICAgIGlmICgodDAuaTY0ICYgdGFnTWFzay5pNjQpICE9IDApICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTY1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFB1dEJ5SWRTbG93
OwogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206NTkKICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCkgIT0g
dDEuaSkgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTc2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9v
cFB1dEJ5SWRTbG93OwogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDM4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYzCiAgICB0My5pID0gKkNBU1Q8aW50cHRy
X3QqPih0My5pOHAgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwMDAKICAgIGlmICgqQ0FT
VDxpbnQ2NF90Kj4odDEuaThwICsgMjQpID09IGludDY0X3QoMHgyKSkgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTAwMgog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2FkZGl0aW9uYWxDaGVj
a3NfX2RvbmU7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRU
cmFuc2l0aW9uX19hZGRpdGlvbmFsQ2hlY2tzX19sb29wKQogICAgdDEuaTY0ID0gKkNBU1Q8aW50
NjRfdCo+KHQxLmk4cCArIDI0KTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDA0CiAgICB0MS5pID0g
KkNBU1Q8aW50cHRyX3QqPih0MS5pOHApOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwMDUK
ICAgIGlmICh0MS5pICE9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKSkgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTAwNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BQdXRCeUlkU2xvdzsKICAgIHQz
LmkgPSB0My5pICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTAwNwogICAgaWYgKCpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAyNCkgIT0gaW50NjRfdCgweDIp
KSAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMDA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlv
bl9fYWRkaXRpb25hbENoZWNrc19fbG9vcDsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2FkZGl0aW9uYWxDaGVja3NfX2RvbmUpCiAgICB0
MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgyOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTo1OQogICAgdDMuaSA9IHQwLmkgKyB0MS5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5ODMKICAgIGlmICh0Mi5pID49IGludHB0cl90KDB4NDAwMDAw
MDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9wdXRCeUlkVHJhbnNpdGlvbl9fZ2V0UHJvcGVydHlTdG9yYWdlX19jb250aW51YXRpb25fXzUy
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlvbl9fZ2V0UHJvcGVydHlTdG9yYWdlX19j
b250aW51YXRpb25fXzUyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX19nZXRQ
cm9wZXJ0eVN0b3JhZ2VfX2NvbnRpbnVhdGlvbl9fNTJfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
Y29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1MQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsg
MTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQyLmkgPSB0Mi5pIC0gaW50cHRyX3Qo
MHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MS5pNjQgPSAqQ0FT
VDxpbnQ2NF90Kj4odDEuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25f
X2dldFByb3BlcnR5U3RvcmFnZV9fY29udGludWF0aW9uX181Ml9sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19kb25lKQogICAgKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCkgPSB0MS5pNjQ7ICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5ODYKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgzMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MwogICAgKkNBU1Q8aW50cHRy
X3QqPih0MC5pOHApID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5ODgKICAgIHJQ
Qy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX3B1dF9ieV9pZF90cmFuc2l0aW9uX25vcm1hbF9vdXRfb2ZfbGlu
ZSkKICAgIHQzLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgyMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MwogICAgaWYgKHQzLmkgPj0g
aW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlQ2VsbF9fNTNfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MC5pNjQg
PSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fNTNfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX181M19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19j
b25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAx
MjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDMuaSA9IHQzLmkgLSBpbnRwdHJfdCgw
eDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQwLmk2NCA9ICpDQVNU
PGludDY0X3QqPih0MC5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlvbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzUzX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Rv
bmUpCiAgICBpZiAoKHQwLmk2NCAmIHRhZ01hc2suaTY0KSAhPSAwKSAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE2NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BQdXRCeUlkU2xvdzsKICAg
IHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAoKkNBU1Q8aW50cHRyX3QqPih0MC5pOHApICE9IHQxLmkp
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjk3NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BQdXRC
eUlkU2xvdzsKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgzOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MwogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4o
dDMuaThwICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDAwCiAgICBpZiAoKkNBU1Q8aW50
NjRfdCo+KHQxLmk4cCArIDI0KSA9PSBpbnQ2NF90KDB4MikpICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwMDIKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX181M19hZGRpdGlvbmFsQ2hlY2tz
X19kb25lOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkVHJh
bnNpdGlvbl9fNTNfYWRkaXRpb25hbENoZWNrc19fbG9vcCkKICAgIHQxLmk2NCA9ICpDQVNUPGlu
dDY0X3QqPih0MS5pOHAgKyAyNCk7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTAwNAogICAgdDEuaSA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDA1
CiAgICBpZiAodDEuaSAhPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCkpICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEwMDYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0QnlJZFNsb3c7CiAgICB0
My5pID0gdDMuaSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEwMDcKICAgIGlmICgqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgMjQpICE9IGludDY0X3QoMHgy
KSkgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTAwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRp
b25fXzUzX2FkZGl0aW9uYWxDaGVja3NfX2xvb3A7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX181M19hZGRpdGlvbmFsQ2hlY2tzX19kb25l
KQogICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MjgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCAr
IDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk0NAogICAgdDMuaSA9IHQzLmkgKyB0MS5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5ODMKICAgIGlmICh0Mi5pID49IGlu
dHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlvbl9fZ2V0UHJvcGVydHlTdG9yYWdlX19j
b250aW51YXRpb25fXzU0X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDEu
aTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE0OAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlvbl9fZ2V0UHJv
cGVydHlTdG9yYWdlX19jb250aW51YXRpb25fXzU0X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Rv
bmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRU
cmFuc2l0aW9uX19nZXRQcm9wZXJ0eVN0b3JhZ2VfX2NvbnRpbnVhdGlvbl9fNTRfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDEuaSA9ICpDQVNUPGludHB0
cl90Kj4odDEuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQyLmkgPSB0
Mi5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAg
ICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0
QnlJZFRyYW5zaXRpb25fX2dldFByb3BlcnR5U3RvcmFnZV9fY29udGludWF0aW9uX181NF9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCkgPSB0
MS5pNjQ7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5ODYKICAgIHQxLmkgPSAqQ0FTVDxpbnRw
dHJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgzMCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2Mwog
ICAgKkNBU1Q8aW50cHRyX3QqPih0MC5pOHApID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5ODgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDkpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9ieV92YWwpCiAgICB0Mi5pID0g
KkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgx
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTo1OQogICAgaWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsX181NV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQw
Lmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfXzU1X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX181NV9s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MC5pID0gKkNB
U1Q8aW50cHRyX3QqPih0MC5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAg
dDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTMKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNTVfbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fZG9uZSkKICAgIGlmICgodDAuaTY0ICYgdGFnTWFzay5pNjQpICE9IDApICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTY1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEdldEJ5VmFsU2xv
dzsKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTAzMgogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYzCiAgICB0Mi5pID0gKkNBU1Q8dWludDhf
dCo+KHQyLmk4cCArIDExKTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyNDEKICAgIHQzLmkgPSAqQ0FT
VDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjU5CiAgICBpZiAodDMuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUludDMyX181Nl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2
NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMy
X181Nl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OQoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfXzU2X2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQxLmkgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQxLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0
My5pID0gdDMuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE1MwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0My5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fNTZfbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fZG9uZSkKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTYwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEdldEJ5VmFsU2xv
dzsKICAgIHQxLmk2NCA9IHQxLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTAzNwogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgOCk7ICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMDM4CiAgICB0Mi5pMzIgPSB0Mi5pMzIgJiBpbnQzMl90KDB4
MWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwMzkKICAgIHQyLmNsZWFySGlnaFdvcmQo
KTsKICAgIGlmICh0Mi5pMzIgPT0gaW50MzJfdCgweDE0KSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTA0MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BHZXRCeVZhbElzQ29udGln
dW91czsKICAgIGlmICh0Mi5pMzIgIT0gaW50MzJfdCgweDFhKSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTA0MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BHZXRCeVZhbE5vdENv
bnRpZ3VvdXM7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wR2V0QnlW
YWxJc0NvbnRpZ3VvdXMpCiAgICBpZiAodDEudTMyID49ICpDQVNUPHVpbnQzMl90Kj4odDMuaThw
IC0gOCkpICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjEwNDQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wR2V0
QnlWYWxPdXRPZkJvdW5kczsKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQyLmk2NCA9ICpDQVNUPGlu
dDY0X3QqPih0My5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNDYKICAg
IGlmICh0Mi5pNjQgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTA0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BHZXRCeVZhbE91dE9mQm91bmRzOwog
ICAgZ290byBfb2ZmbGluZWFzbV9vcEdldEJ5VmFsRG9uZTsgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMDQ4CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wR2V0QnlW
YWxOb3RDb250aWd1b3VzKQogICAgaWYgKHQyLmkzMiAhPSBpbnQzMl90KDB4MTYpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDUxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEdl
dEJ5VmFsTm90RG91YmxlOwogICAgaWYgKHQxLnUzMiA+PSAqQ0FTVDx1aW50MzJfdCo+KHQzLmk4
cCAtIDgpKSAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDUyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEdl
dEJ5VmFsT3V0T2ZCb3VuZHM7CiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA1MwogICAgZDAuZCA9ICpDQVNU
PGRvdWJsZSo+KHQzLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA1NAog
ICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCkgfHwgaXNuYW4oZDAuZCkgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMDU1CiAgICAgICAgfHwgKGQwLmQgIT0gZDAuZCkpCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9vcEdldEJ5VmFsT3V0T2ZCb3VuZHM7CiAgICB0Mi5pNjQgPSBkMC5jYXN0VG9JbnQ2NDsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNTYKICAgIHQyLmk2NCA9IHQyLmk2
NCAtIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA1NwogICAgZ290
byBfb2ZmbGluZWFzbV9vcEdldEJ5VmFsRG9uZTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MDU4CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wR2V0QnlWYWxOb3RE
b3VibGUpCiAgICB0Mi5pMzIgPSB0Mi5pMzIgLSBpbnQzMl90KDB4MWMpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEwNjEKICAgIHQyLmNsZWFySGlnaFdvcmQoKTsKICAgIGlmICh0Mi51MzIg
PiB1aW50MzJfdCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA2MgogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fb3BHZXRCeVZhbFNsb3c7CiAgICBpZiAodDEudTMyID49ICpD
QVNUPHVpbnQzMl90Kj4odDMuaThwIC0gNCkpICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNjMKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX29wR2V0QnlWYWxPdXRPZkJvdW5kczsKICAgIHQwLmkgPSAqQ0FTVDxp
bnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkK
ICAgIHQyLmk2NCA9ICpDQVNUPGludDY0X3QqPih0My5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0
cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMDY1CiAgICBpZiAodDIuaTY0ID09IDApICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNjYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29w
R2V0QnlWYWxPdXRPZkJvdW5kczsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fb3BHZXRCeVZhbERvbmUpCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8
IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0Mi5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA2OQogICAgdDAuaSA9ICpDQVNUPGlu
dHB0cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDI4KSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYz
CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BHZXRCeVZhbE91dE9mQm91bmRz
KQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcEdldEJ5VmFsU2xvdykK
ICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNU
PEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0
cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxs
aW50X3Nsb3dfcGF0aF9nZXRfYnlfdmFsKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICBy
UEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRw
dHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5p
ICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9nZXRfYXJndW1lbnRfYnlfdmFsKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQxLmkg
PSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjU5CiAgICBpZiAoKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpICE9IDApIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BH
ZXRBcmd1bWVudEJ5VmFsU2xvdzsKICAgIGlmICh0MS5pID49IGludHB0cl90KDB4NDAwMDAwMDAp
KSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
b2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfXzU3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Nv
bnN0YW50OwogICAgdDIuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBfb2ZmbGluZWFzbV9sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlSW50MzJfXzU3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFy
aWFibGVJbnQzMl9fNTdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0Mi5p
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
MQogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwICsgMTI4MCk7ICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTIKICAgIHQxLmkgPSB0MS5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0Mi5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThw
ICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX181N19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQyLnU2NCA8IHRhZ1R5cGVOdW1iZXIu
dTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX29wR2V0QXJndW1lbnRCeVZhbFNsb3c7CiAgICB0Mi5pMzIgPSB0Mi5pMzIgKyBpbnQzMl90
KDB4MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwOTIKICAgIHQyLmNsZWFySGlnaFdv
cmQoKTsKICAgIHQxLnUgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAgLSA0NCk7ICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTA5MwogICAgaWYgKHQyLnUzMiA+PSB0MS51MzIpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDk0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEdl
dEFyZ3VtZW50QnlWYWxTbG93OwogICAgdDIuaTMyID0gLXQyLmkzMjsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDk1CiAgICB0Mi5jbGVhckhpZ2hXb3JkKCk7CiAg
ICB0Mi5pNjQgPSB0Mi5pMzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEwOTYKICAgIHQzLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgyMCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MwogICAgdDAuaTY0
ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KC01Nikp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEwOTkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQzLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTAwCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3Qo
MHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fb3BHZXRBcmd1bWVudEJ5VmFsU2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBD
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcK
ICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAg
ICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAg
U2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9nZXRfYXJndW1lbnRf
YnlfdmFsKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAu
aW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQx
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAgICBy
QmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg2KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfYnlfcG5h
bWUpCiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgaWYgKHQxLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAw
MCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
XzU4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0ID0gKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAog
ICAgZ290byBfb2ZmbGluZWFzbV81OF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fNThfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDAuaSA9ICpDQVNUPGlu
dHB0cl90Kj4odDAuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQxLmkg
PSB0MS5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUz
CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQxLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
NThfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90
Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBp
ZiAodDAuaTY0ICE9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKSkgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMTE1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEdldEJ5UG5hbWVT
bG93OwogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQzLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDI4KSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAodDIuaSA+
PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzU5X2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBf
b2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNTlfbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzU5X2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X2NvbnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCAr
IDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90
KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0ID0gKkNB
U1Q8aW50NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFy
aWFibGVDZWxsX181OV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKCh0MC5p
NjQgJiB0YWdNYXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjUKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX29wR2V0QnlQbmFtZVNsb3c7CiAgICB0MS5pNjQgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEy
MAogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTIxCiAgICBpZiAodDIuaSAhPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDgp
KSAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjExMjIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wR2V0QnlQ
bmFtZVNsb3c7CiAgICB0My5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgzMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDMudSA9ICpDQVNUPHVpbnQzMl90Kj4o
Y2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHg0KSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEyNAogICAgdDMuaTMy
ID0gdDMuaTMyIC0gaW50MzJfdCgweDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTI1
CiAgICB0My5jbGVhckhpZ2hXb3JkKCk7CiAgICBpZiAodDMudTMyID49ICpDQVNUPHVpbnQzMl90
Kj4odDEuaThwICsgMjQpKSAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMjYKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX29wR2V0QnlQbmFtZVNsb3c7CiAgICBpZiAodDMuaTMyIDwgKkNBU1Q8aW50MzJfdCo+KHQx
Lmk4cCArIDMyKSkgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMjcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X29wR2V0QnlQbmFtZUlubGluZVByb3BlcnR5OwogICAgdDMuaTMyID0gdDMuaTMyICsgaW50MzJf
dCgweDY0KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTI4CiAgICB0My5jbGVhckhpZ2hX
b3JkKCk7CiAgICB0My5pMzIgPSB0My5pMzIgLSAqQ0FTVDxpbnQzMl90Kj4odDEuaThwICsgMzIp
OyAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExMjkKICAgIHQzLmNsZWFySGlnaFdvcmQoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BHZXRCeVBuYW1lSW5saW5lUHJvcGVydHkpCiAgICBp
ZiAodDMuaTMyIDwgaW50MzJfdCgweDY0KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjgyNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNl
dF9faXNJbmxpbmU7CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA4KTsgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjgyOAogICAgdDMuaTMyID0gLXQzLmkzMjsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MjkKICAgIHQzLmNsZWFySGlnaFdvcmQoKTsK
ICAgIHQzLmk2NCA9IHQzLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODMwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZz
ZXRfX3JlYWR5OyAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjgzMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZSkKICAgIHQwLmkgPSB0MC5p
ICsgaW50cHRyX3QoLTc2OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMzCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVP
ZmZzZXRfX3JlYWR5KQogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0My5p
IDw8IDMpICsgaW50cHRyX3QoMHgzMTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MzUKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90
Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQw
Lmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTMzCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg3KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBD
Lmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9P
UENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BHZXRCeVBu
YW1lU2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4
ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0g
Q0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9nZXRfYnlfcG5hbWUoZXhlYywgcGMpOwogICAgICAgIExM
SW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsK
ICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFz
ZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBD
LmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQ
Qy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDcpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX3B1dF9ieV92YWwpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAo
dDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzYw
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAg
Z290byBfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNjBfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzYwX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0MC5pID0gdDAuaSAtIGlu
dHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDEuaTY0
ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVDZWxsX182MF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYg
KCh0MS5pNjQgJiB0YWdNYXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NjUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0QnlWYWxTbG93OwogICAgdDIuaSA9ICpD
QVNUPGludHB0cl90Kj4odDEuaThwKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTYzCiAg
ICB0My5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MjApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206NjMKICAgIHQyLmkgPSAqQ0FTVDx1aW50OF90Kj4odDIuaThwICsgMTEp
OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjI0MQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIGlmICh0MC5p
ID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfXzYxX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDMuaTY0ID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290
byBfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfXzYxX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fNjFfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fY29uc3RhbnQpCiAgICB0My5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4odDMu
aThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQwLmkgPSB0MC5pIC0gaW50
cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0My5pNjQg
PSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUludDMyX182MV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYg
KHQzLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NjAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0QnlWYWxTbG93OwogICAgdDMuaTY0ID0g
dDMuaTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTY4CiAg
ICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyA4KTsgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExNjkKICAgIHQyLmkzMiA9IHQyLmkzMiAmIGludDMyX3QoMHgxZSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTE3MAogICAgdDIuY2xlYXJIaWdoV29yZCgpOwogICAgaWYgKHQyLmkz
MiAhPSBpbnQzMl90KDB4MTQpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcxCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFB1dEJ5VmFsTm90SW50MzI7CiAgICBpZiAodDMudTMy
ID49ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwIC0gOCkpICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNDIKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbnRpZ3VvdXNQdXRCeVZhbF9fb3V0T2ZCb3VuZHM7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbnRpZ3VvdXNQdXRCeVZhbF9f
c3RvcmVSZXN1bHQpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgaWYgKHQyLmkgPj0gaW50cHRyX3Qo
MHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fNjJfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fNjJfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX182Ml9sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAg
LSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MS5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDIuaSA9IHQyLmkg
LSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQx
Lmk2NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb250aWd1
b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfXzYyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Rv
bmUpCiAgICBpZiAodDEudSA8IHRhZ1R5cGVOdW1iZXIudSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExNzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0QnlWYWxTbG93Owog
ICAgKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
ID0gdDEuaTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTc2CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29udGln
dW91c1B1dEJ5VmFsX19vdXRPZkJvdW5kcykKICAgIGlmICh0My51MzIgPj0gKkNBU1Q8dWludDMy
X3QqPih0MC5pOHAgLSA0KSkgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE0OQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fb3BQdXRCeVZhbE91dE9mQm91bmRzOwogICAgdDIuaTMyID0gdDMuaTMyICsgaW50MzJf
dCgweDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTU0CiAgICB0Mi5jbGVhckhpZ2hX
b3JkKCk7CiAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThwIC0gOCkgPSB0Mi5pMzI7ICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExNTUKICAgIGdvdG8gX29mZmxpbmVhc21fY29udGlndW91c1B1dEJ5VmFs
X19zdG9yZVJlc3VsdDsgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9vcFB1dEJ5VmFsTm90SW50MzIpCiAgICBpZiAodDIuaTMyICE9IGludDMyX3Qo
MHgxNikpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExODAKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX29wUHV0QnlWYWxOb3REb3VibGU7CiAgICBpZiAodDMudTMyID49ICpDQVNUPHVp
bnQzMl90Kj4odDAuaThwIC0gOCkpICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNDIKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtXzYzX2NvbnRpZ3VvdXNQdXRCeVZhbF9fb3V0T2ZCb3VuZHM7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzYzX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVS
ZXN1bHQpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgaWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0MDAw
MDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fNjNfbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCAr
ICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNt
X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fNjNfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
Y29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX182M19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5p
OHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDIuaSA9IHQyLmkgLSBpbnRw
dHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQxLmk2NCA9
ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb250aWd1b3VzUHV0
QnlWYWxfX3N0b3JlQ2FsbGJhY2tfXzYzX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAg
ICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExODQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3Rv
cmVDYWxsYmFja19fbm90SW50OwogICAgZDAuZCA9IHQxLmkzMjsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTg1CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbnRp
Z3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fcmVhZHk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE4NgoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJh
Y2tfX25vdEludCkKICAgIHQxLmkgPSB0MS5pICsgdGFnVHlwZU51bWJlci5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE4OAogICAgZDAuZCA9IHQxLmNhc3RUb0RvdWJsZTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTg5CiAgICBpZiAoc3RkOjppc25hbihkMC5k
KSB8fCBpc25hbihkMC5kKSAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExOTAKICAgICAgICB8fCAo
ZDAuZCAhPSBkMC5kKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0QnlWYWxTbG93OwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb250aWd1b3VzUHV0QnlWYWxf
X3N0b3JlQ2FsbGJhY2tfX3JlYWR5KQogICAgKkNBU1Q8ZG91YmxlKj4odDAuaThwICsgKHQzLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKSA9IGQwLmQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE5MgogICAgclBDLmkgPSByUEMuaSAr
IGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtXzYzX2NvbnRpZ3VvdXNQdXRCeVZhbF9fb3V0T2ZCb3VuZHMpCiAgICBp
ZiAodDMudTMyID49ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwIC0gNCkpICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNDkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0QnlWYWxPdXRPZkJvdW5kczsKICAg
IHQyLmkzMiA9IHQzLmkzMiArIGludDMyX3QoMHgxKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTE1NAogICAgdDIuY2xlYXJIaWdoV29yZCgpOwogICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4
cCAtIDgpID0gdDIuaTMyOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTU1CiAgICBnb3RvIF9vZmZs
aW5lYXNtXzYzX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVSZXN1bHQ7ICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNTYKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BQdXRCeVZhbE5vdERvdWJsZSkK
ICAgIGlmICh0Mi5pMzIgIT0gaW50MzJfdCgweDFhKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTE5NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BQdXRCeVZhbE5vdENvbnRpZ3Vv
dXM7CiAgICBpZiAodDMudTMyID49ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwIC0gOCkpICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExNDIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzY0X2NvbnRpZ3VvdXNQdXRC
eVZhbF9fb3V0T2ZCb3VuZHM7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
XzY0X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVSZXN1bHQpCiAgICB0Mi5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQog
ICAgaWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3Rv
cmVDYWxsYmFja19fNjRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5p
NjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVD
YWxsYmFja19fNjRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNh
bGxiYWNrX182NF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAg
ICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1MgogICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNTMKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAo
dDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfXzY0X2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCAr
ICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MS5pOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMDEKICAgIHJQQy5pID0g
clBDLmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV82NF9jb250aWd1b3VzUHV0QnlWYWxfX291dE9mQm91bmRz
KQogICAgaWYgKHQzLnUzMiA+PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCAtIDQpKSAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTQ5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFB1dEJ5VmFsT3V0T2ZCb3Vu
ZHM7CiAgICB0Mi5pMzIgPSB0My5pMzIgKyBpbnQzMl90KDB4MSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExNTQKICAgIHQyLmNsZWFySGlnaFdvcmQoKTsKICAgICpDQVNUPGludDMyX3Qq
Pih0MC5pOHAgLSA4KSA9IHQyLmkzMjsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE1NQogICAgZ290
byBfb2ZmbGluZWFzbV82NF9jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlUmVzdWx0OyAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wUHV0QnlWYWxOb3RD
b250aWd1b3VzKQogICAgaWYgKHQyLmkzMiAhPSBpbnQzMl90KDB4MWMpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMjA1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFB1dEJ5VmFs
U2xvdzsKICAgIGlmICh0My51MzIgPj0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAgLSA0KSkgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTIwNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BQdXRCeVZhbE91dE9m
Qm91bmRzOwogICAgaWYgKCpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MTApKSA9PSAwKSAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjEyMDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0
QnlWYWxBcnJheVN0b3JhZ2VFbXB0eTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fb3BQdXRCeVZhbEFycmF5U3RvcmFnZVN0b3JlUmVzdWx0KQogICAgdDIuaSA9ICpDQVNU
PGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
NTkKICAgIGlmICh0Mi5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV82NV9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsg
KHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21f
NjVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzY1X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Nv
bnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNTEKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDEy
ODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4
NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDEuaTY0ID0gKkNBU1Q8
aW50NjRfdCo+KHQxLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzY1X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2RvbmUpCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQzLmkgPDwgMykgKyBp
bnRwdHJfdCgweDEwKSkgPSB0MS5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTIxMgogICAgclBDLmkgPSByUEMuaSArIGludHB0
cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX29wUHV0QnlWYWxBcnJheVN0b3JhZ2VFbXB0eSkKICAgICpDQVNUPGludDMyX3Qq
Pih0MC5pOHAgKyAxMikgPSAqQ0FTVDxpbnQzMl90Kj4odDAuaThwICsgMTIpICsgaW50MzJfdCgw
eDEpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEyMjAKICAgIGlmICh0My51MzIgPCAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCAtIDgp
KSAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTIyMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BQdXRCeVZh
bEFycmF5U3RvcmFnZVN0b3JlUmVzdWx0OwogICAgdDEuaTMyID0gdDMuaTMyICsgaW50MzJfdCgw
eDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIyCiAgICB0MS5jbGVhckhpZ2hXb3Jk
KCk7CiAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThwIC0gOCkgPSB0MS5pMzI7ICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEyMjMKICAgIGdvdG8gX29mZmxpbmVhc21fb3BQdXRCeVZhbEFycmF5U3RvcmFn
ZVN0b3JlUmVzdWx0OyAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTIyNAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9vcFB1dEJ5VmFsT3V0T2ZCb3VuZHMpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX29wUHV0QnlWYWxTbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2Nwog
ICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAg
ICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBT
bG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3B1dF9ieV92YWwoZXhl
YywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlv
biwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9
IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQ
Qy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2xvb3ApCiAgICByUEMuaTMyID0g
clBDLmkzMiArICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ2CiAgICByUEMuY2xlYXJIaWdoV29yZCgpOwogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwo
b3Bfam1wKQogICAgclBDLmkzMiA9IHJQQy5pMzIgKyAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NgogICAgclBDLmNsZWFySGln
aFdvcmQoKTsKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2plcV9udWxsKQogICAgdDAuaSA9ICpDQVNUPGludDMy
X3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAg
dDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEyNjYKICAgIGlmICgodDAuaTY0ICYgdGFnTWFzay5pNjQpICE9IDApICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTI2NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxO
dWxsX19pbW1lZGlhdGU7CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjEyNjgKICAgIGlmICgoKkNBU1Q8aW50OF90Kj4odDIuaThw
ICsgOSkgJiBpbnQ4X3QoMHgxKSkgPT0gMCkgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI4NQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fZXF1YWxOdWxsX19jZWxsSGFuZGxlcl9fbm90TWFzcXVlcmFkZXNBc1VuZGVmaW5lZDsK
ICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTI4NgogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMzIpOyAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMjg3CiAgICBpZiAoKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyAx
NikgPT0gdDAuaSkgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyODgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2VxdWFsTnVsbF9fdGFyZ2V0OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9lcXVhbE51bGxfX2NlbGxIYW5kbGVyX19ub3RNYXNxdWVyYWRlc0FzVW5kZWZpbmVkKQogICAg
clBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
MykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsTnVsbF9fdGFyZ2V0KQogICAgclBD
LmkzMiA9IHJQQy5pMzIgKyAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
MykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYKICAgIHJQQy5jbGVhckhpZ2hXb3JkKCk7CiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxOdWxsX19pbW1lZGlhdGUpCiAgICB0MC5pNjQgPSB0
MC5pNjQgJiBpbnQ2NF90KC05KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNzYKICAg
IGlmICh0MC5pNjQgPT0gaW50NjRfdCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTI5MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsX190YXJnZXQ7CiAgICBy
UEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF9qbmVxX251bGwpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0MC5p
NjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTI2NgogICAgaWYgKCh0MC5pNjQgJiB0YWdNYXNrLmk2NCkgIT0gMCkgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMjY3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV82NV9lcXVhbE51
bGxfX2ltbWVkaWF0ZTsKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTI2OAogICAgaWYgKCgqQ0FTVDxpbnQ4X3QqPih0Mi5pOHAg
KyA5KSAmIGludDhfdCgweDEpKSA9PSAwKSAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjk4CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV82NV9lcXVhbE51bGxfX3RhcmdldDsKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI5OQogICAgdDAuaSA9ICpDQVNUPGlu
dHB0cl90Kj4odDAuaThwICsgMzIpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzAwCiAgICBpZiAo
KkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyAxNikgIT0gdDAuaSkgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEz
MDEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzY1X2VxdWFsTnVsbF9fdGFyZ2V0OwogICAgclBD
LmkgPSByUEMuaSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzY1X2VxdWFsTnVsbF9fdGFyZ2V0KQogICAgclBD
LmkzMiA9IHJQQy5pMzIgKyAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
MykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYKICAgIHJQQy5jbGVhckhpZ2hXb3JkKCk7CiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fNjVfZXF1YWxOdWxsX19pbW1lZGlhdGUpCiAgICB0MC5pNjQg
PSB0MC5pNjQgJiBpbnQ2NF90KC05KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNzYK
ICAgIGlmICh0MC5pNjQgIT0gaW50NjRfdCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTMwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fNjVfZXF1YWxOdWxsX190YXJnZXQ7
CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbmVxX3B0cikKICAgIHQwLmkgPSAqQ0FTVDxpbnQz
Ml90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAg
IHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjU5CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTAKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQy
Lmk4cCArIDMyKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMxMQogICAgdDEuaSA9ICpDQVNUPGlu
dHB0cl90Kj4odDIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDQ2OCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTIK
ICAgIGlmICh0MS5pICE9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSkpIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTMxMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BKbmVxUHRy
VGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wSm5lcVB0clRhcmdl
dCkKICAgIHJQQy5pMzIgPSByUEMuaTMyICsgKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2CiAgICByUEMuY2xlYXJIaWdoV29y
ZCgpOwogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
MykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5F
X0FTTV9PUENPREVfTEFCRUwob3Bfc3dpdGNoX2ltbSkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90
Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0
My5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjU5CiAgICBpZiAodDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fNjZfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9v
ZmZsaW5lYXNtXzY2X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7ICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OQoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV82Nl9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4
KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0
MS5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDIuaSA9IHQyLmkgLSBp
bnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQxLmk2
NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV82Nl9sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzY3CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRy
X3QqPih0Mi5pOHAgKyAxNDcyKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNjgKICAgIHQzLmkzMiA9
IHQzLmkzMiAqIGludDMyX3QoMHgyMCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM2OQog
ICAgdDMuY2xlYXJIaWdoV29yZCgpOwogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDIuaThw
ICsgNTYpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzcwCiAgICB0Mi5pID0gdDIuaSArIHQzLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNzEKICAgIGlmICh0MS51
NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM3Mgog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BTd2l0Y2hJbW1Ob3RJbnQ7CiAgICB0MS5pMzIgPSB0
MS5pMzIgLSAqQ0FTVDxpbnQzMl90Kj4odDIuaThwICsgMjQpOyAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNzMKICAg
IHQxLmNsZWFySGlnaFdvcmQoKTsKICAgIGlmICh0MS51MzIgPj0gKkNBU1Q8dWludDMyX3QqPih0
Mi5pOHApKSAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM3NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
b3BTd2l0Y2hJbW1GYWxsVGhyb3VnaDsKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4
cCArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM3NQogICAgdDEuaSA9ICpDQVNUPGludDMy
X3QqPih0My5pOHAgKyAodDEuaSA8PCAyKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNzYKICAgIGlm
ICh0MS5pMzIgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTM3NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BTd2l0Y2hJbW1GYWxsVGhyb3VnaDsKICAg
IHJQQy5pID0gclBDLmkgKyB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcFN3aXRjaEltbU5vdEludCkKICAgIGlm
ICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpICE9IDApICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTM4MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BTd2l0Y2hJbW1TbG93OwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcFN3aXRjaEltbUZhbGxUaHJvdWdoKQogICAg
clBDLmkzMiA9IHJQQy5pMzIgKyAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYKICAgIHJQQy5jbGVhckhpZ2hXb3JkKCk7CiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BTd2l0Y2hJbW1TbG93KQogICAgclBDLmk4cCA9IHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMu
aSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2Zy
LnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZw
KTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3N3
aXRjaF9pbW0oZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0
MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0g
dDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAg
IHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFm
KTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3N3aXRjaF9j
aGFyKQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQzLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIGlmICh0Mi5pID49
IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV82N19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsK
ICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fNjdfbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fZG9uZTsgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtXzY3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEK
ICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDEyODApOyAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1MwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCAr
ICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtXzY3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICB0
Mi5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzOTUKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCArIDE0NzIpOyAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTM5NgogICAgdDMuaTMyID0gdDMuaTMyICogaW50MzJfdCgweDIwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk3CiAgICB0My5jbGVhckhpZ2hXb3JkKCk7CiAgICB0
Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyA4MCk7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzOTgKICAgIHQyLmkgPSB0Mi5pICsgdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTM5OQogICAgaWYgKCh0MS5pNjQgJiB0YWdNYXNrLmk2NCkgIT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDAwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFN3
aXRjaENoYXJGYWxsVGhyb3VnaDsKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCk7
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQwMQogICAgaWYgKCpDQVNUPGludDhfdCo+KHQw
Lmk4cCArIDgpICE9IGludDhfdCgweDUpKSAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDAyCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9vcFN3aXRjaENoYXJGYWxsVGhyb3VnaDsKICAgIGlmICgqQ0FTVDxpbnQzMl90
Kj4odDEuaThwICsgMTIpICE9IGludDMyX3QoMHgxKSkgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQwMwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fb3BTd2l0Y2hDaGFyRmFsbFRocm91Z2g7CiAgICB0MC5pID0gKkNBU1Q8
aW50cHRyX3QqPih0MS5pOHAgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MDQKICAgIGlm
ICh0MC5pID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTQwNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BTd2l0Y2hPblJvcGU7CiAgICB0MS5pID0g
KkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MDYK
ICAgIGlmICgoKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCArIDI0KSAmIGludDMyX3QoMHg0MCkpICE9
IDApIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQwNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BTd2l0Y2hDaGFyOEJpdDsKICAg
IHQwLmkgPSAqQ0FTVDx1aW50MTZfdCo+KHQxLmk4cCk7ICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTQwOAogICAgZ290byBfb2ZmbGluZWFzbV9vcFN3aXRjaENoYXJSZWFkeTsgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNDA5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X29wU3dpdGNoQ2hhcjhCaXQpCiAgICB0MC5pID0gKkNBU1Q8dWludDhfdCo+KHQxLmk4cCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MTEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fb3BTd2l0Y2hDaGFyUmVhZHkpCiAgICB0MC5pMzIgPSB0MC5pMzIgLSAqQ0FT
VDxpbnQzMl90Kj4odDIuaThwICsgMjQpOyAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MTMKICAgIHQwLmNsZWFySGln
aFdvcmQoKTsKICAgIGlmICh0MC51MzIgPj0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHApKSAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQxNAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BTd2l0Y2hDaGFy
RmFsbFRocm91Z2g7CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyA4KTsgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0MTUKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4odDIuaThw
ICsgKHQwLmkgPDwgMikgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDE2CiAgICBpZiAodDEuaTMyID09
IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MTcKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX29wU3dpdGNoQ2hhckZhbGxUaHJvdWdoOwogICAgclBDLmkgPSBy
UEMuaSArIHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wU3dpdGNoQ2hhckZhbGxUaHJvdWdoKQogICAgclBDLmkz
MiA9IHJQQy5pMzIgKyAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDYKICAgIHJQQy5jbGVhckhpZ2hXb3JkKCk7CiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fb3BTd2l0Y2hPblJvcGUpCiAgICByUEMuaThwID0gckJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJh
c2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwog
ICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAg
ICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfc3dpdGNoX2No
YXIoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0
cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJCYXNl
UEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTYK
ICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25ld19mdW5jKQogICAg
dDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206NTkKICAgIGlmICh0Mi5pMzIgPT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTQzMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BOZXdG
dW5jVW5jaGVja2VkOwogICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgaWYgKCpDQVNUPGludDY0X3QqPihj
ZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSAhPSAwKSAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MzMKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX29wTmV3RnVuY0RvbmU7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX29wTmV3RnVuY1VuY2hlY2tlZCkKICAgIHJQQy5pOHAgPSByQmFzZVBD
Lmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSBy
QmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7
CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9uZXdfZnVu
YyhleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3Ry
dWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQ
Qy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5Ngog
ICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5OAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9v
cE5ld0Z1bmNEb25lKQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfdGVhcl9vZmZfYWN0aXZhdGlv
bikKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206NTkKICAgIGlmICgqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0
MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPT0gMCkgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgwCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9vcFRlYXJPZmZBY3RpdmF0aW9uTm90Q3JlYXRlZDsKICAgIHJQQy5pOHAgPSByQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkg
PSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAK
ICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52
cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7
CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF90ZWFy
X29mZl9hY3RpdmF0aW9uKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJl
c3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQw
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBj
ZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMp
ICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX29wVGVhck9mZkFjdGl2YXRpb25Ob3RDcmVhdGVkKQogICAgclBDLmkgPSBy
UEMuaSArIGludHB0cl90KDB4Mik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENP
REVfTEFCRUwob3BfdGVhcl9vZmZfYXJndW1lbnRzKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDAu
aTMyID0gdDAuaTMyIC0gaW50MzJfdCgweDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDg5CiAgICB0MC5jbGVhckhpZ2hXb3JkKCk7CiAgICBpZiAoKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID09IDApIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5MAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fb3BUZWFyT2ZmQXJndW1lbnRzTm90Q3JlYXRlZDsKICAgIHJQQy5pOHAg
PSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAg
IHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+
KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQ
Qy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0
aF90ZWFyX29mZl9hcmd1bWVudHMoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5p
ID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQK
ICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90
KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fb3BUZWFyT2ZmQXJndW1lbnRzTm90Q3JlYXRlZCkKICAgIHJQQy5p
ID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX3JldCkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIGlmICh0Mi5pID49IGlu
dHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV82OF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAg
IHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fNjhfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fZG9uZTsgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtXzY4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAg
IHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0
Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtXzY4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICB0Mi5p
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMTYpOyAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTUK
ICAgIGNmci5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gNDApOyAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5NgogICAgclJldFZQQy5pID0gdDIuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTk4CiAgICBnb3RvIGRvUmV0dXJuSGVscGVyOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTgKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9jYWxs
X3B1dF9yZXN1bHQpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0My5pID0gKkNBU1Q8aW50cHRyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjMKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQw
Lmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTA3CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBD
Lmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9P
UENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9yZXRfb2JqZWN0X29yX3RoaXMp
CiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsg
aW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAodDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fNjlf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBn
b3RvIF9vZmZsaW5lYXNtXzY5X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7ICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV82OV9sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MC5pID0gKkNBU1Q8aW50cHRy
X3QqPih0MC5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDIuaSA9IHQy
LmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAg
IHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV82OV9s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKCh0MC5pNjQgJiB0YWdNYXNrLmk2
NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTE4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9vcFJldE9iamVjdE9yVGhpc05vdE9iamVjdDsKICAgIHQyLmkgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQwLmk4cCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxOQogICAgaWYgKCpD
QVNUPHVpbnQ4X3QqPih0Mi5pOHAgKyA4KSA8IHVpbnQ4X3QoMHgxMSkpICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIw
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFJldE9iamVjdE9yVGhpc05vdE9iamVjdDsKICAg
IHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSAxNik7ICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5NQogICAgY2ZyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA0MCk7ICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk2CiAgICByUmV0VlBDLmkgPSB0Mi5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxOTgKICAgIGdvdG8gZG9SZXR1cm5IZWxwZXI7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9vcFJldE9iamVjdE9yVGhpc05vdE9iamVjdCkKICAgIHQyLmkgPSAqQ0FTVDxp
bnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5
CiAgICBpZiAodDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fNzBfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fY29uc3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0
Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtXzcw
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV83MF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25z
dGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTUxCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAxMjgw
KTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQw
MDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQwLmk2NCA9ICpDQVNUPGlu
dDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV83MF9sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19kb25lKQogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk1CiAgICBjZnIuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAt
IDQwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTYKICAgIHJSZXRWUEMuaSA9IHQyLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5OAogICAgZ290byBkb1JldHVybkhlbHBl
cjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CgpPRkZMSU5FX0FTTV9P
UENPREVfTEFCRUwob3BfdG9fcHJpbWl0aXZlKQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQzLmkg
PSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206NTkKICAgIGlmICh0Mi5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV83MV9sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIu
aThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxp
bmVhc21fNzFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzcxX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX2NvbnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4
cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0
cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0ID0g
KkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzcxX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCAmIHRhZ01hc2suaTY0KSAhPSAwKSAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MzQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29w
VG9QcmltaXRpdmVJc0ltbTsKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzNQogICAgaWYgKCpDQVNUPGludDhfdCo+KHQyLmk4
cCArIDgpICE9IGludDhfdCgweDUpKSAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTM2CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9vcFRvUHJpbWl0aXZlU2xvd0Nhc2U7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX29wVG9QcmltaXRpdmVJc0ltbSkKICAgICpDQVNUPGludDY0X3QqPihjZnIu
aThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTM4CiAgICBy
UEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BUb1ByaW1pdGl2ZVNsb3dDYXNlKQogICAg
clBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhl
Y1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0
aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRf
c2xvd19wYXRoX3RvX3ByaW1pdGl2ZShleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBD
LmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRy
X3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSAr
IGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFC
RUwob3BfbmV4dF9wbmFtZSkKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0Mi5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgyMCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQog
ICAgdDAudSA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRy
X3QoMHg0KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU1MgogICAgaWYgKHQwLmkzMiA9PSAqQ0FTVDxpbnQzMl90Kj4oY2ZyLmk4
cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHg0KSkpIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1MwogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fb3BOZXh0UG5hbWVFbmQ7CiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgyOCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDIuaSA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTU1NgogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwICsgNDApOyAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTU3CiAgICB0My5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwICsgKHQw
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTU4CiAgICB0MC5pMzIgPSB0MC5pMzIgKyBp
bnQzMl90KDB4MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NTkKICAgIHQwLmNsZWFy
SGlnaFdvcmQoKTsKICAgICpDQVNUPGludDMyX3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBp
bnRwdHJfdCgweDQpKSA9IHQwLmkzMjsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYwCiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0My5p
NjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTU2MgogICAgdDMuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMu
aSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQzLmk2NCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTY1CiAgICB0MS5p
ID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHApOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
NjYKICAgIGlmICh0MS5pICE9ICpDQVNUPGludHB0cl90Kj4odDIuaThwICsgOCkpICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTU2NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BOZXh0UG5hbWVTbG93Owog
ICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTY4CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA4KTsgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1NjkKICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCkgPT0g
MCkgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU3MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
b3BOZXh0UG5hbWVUYXJnZXQ7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X29wTmV4dFBuYW1lQ2hlY2tQcm90b3R5cGVMb29wKQogICAgaWYgKCpDQVNUPGludDY0X3QqPih0
MS5pOHAgKyAyNCkgPT0gaW50NjRfdCgweDIpKSAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTcyCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9vcE5leHRQbmFtZVNsb3c7CiAgICB0Mi5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4o
dDEuaThwICsgMjQpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NzMKICAgIHQxLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQyLmk4cCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU3NAogICAgaWYg
KHQxLmkgIT0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHApKSAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTc1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcE5leHRQbmFtZVNsb3c7CiAgICB0MC5pID0g
dDAuaSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NzYK
ICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCkgIT0gMCkgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTU3NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BOZXh0UG5hbWVDaGVja1Byb3Rv
dHlwZUxvb3A7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wTmV4dFBu
YW1lVGFyZ2V0KQogICAgclBDLmkzMiA9IHJQQy5pMzIgKyAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDMwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYKICAgIHJQQy5jbGVh
ckhpZ2hXb3JkKCk7CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BOZXh0UG5hbWVFbmQpCiAg
ICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg3KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BOZXh0UG5hbWVTbG93KQogICAgclBD
Lmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4
OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0
YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9u
Kj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xv
d19wYXRoX25leHRfcG5hbWUoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0g
dDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAg
IGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4
MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRw
dHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X2NhdGNoKQogICAgY2ZyLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNTk2CiAgICByQmFzZVBDLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAgLSA4KTsgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OTcKICAgIHJCYXNlUEMuaSA9ICpDQVNUPGludHB0
cl90Kj4ockJhc2VQQy5pOHAgKyA5Nik7ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5OAogICAgdDMuaSA9ICpDQVNU
PGludHB0cl90Kj4oKEFTU0VSVCgwID09IG9mZnNldG9mKEpJVFN0YWNrRnJhbWUsIGdsb2JhbERh
dGEpKSwgJnNwLT5nbG9iYWxEYXRhKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5OQogICAgclBDLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQzLmk4cCArIDQzNDMyKTsgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAwCiAgICByUEMuaSA9IHJQ
Qy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MDEKICAg
IHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTYwMgogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCArIDQzMzc2KTsgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNjAzCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwICsgNDMzNzYpID0g
aW50NjRfdCgweDApOyAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MDQKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgICpDQVNU
PGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2
NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNjA2CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgyKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENP
REUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9lbmQpCiAgICB0MC5pID0gKkNBU1Q8
aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5
CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTYxNgogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAt
IDE2KTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk1CiAgICBjZnIuaSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCAtIDQwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTYKICAgIHJSZXRWUEMuaSA9IHQyLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5OAogICAgZ290byBkb1Jl
dHVybkhlbHBlcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CgpPRkZM
SU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmUp
CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPigoQVNTRVJUKDAgPT0gb2Zmc2V0b2YoSklUU3Rh
Y2tGcmFtZSwgZ2xvYmFsRGF0YSkpLCAmc3AtPmdsb2JhbERhdGEpKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjI0CiAgICB0MC5p
ID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyA0MzQxNik7ICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2
MjUKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCArIDQzNDI0KTsgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTYyNgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xB
QkVMKGxsaW50X3Rocm93X2R1cmluZ19jYWxsX3RyYW1wb2xpbmUpCiAgICB0Mi5pID0gclJldFZQ
Qy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxODcKICAgIHQxLmkg
PSAqQ0FTVDxpbnRwdHJfdCo+KChBU1NFUlQoMCA9PSBvZmZzZXRvZihKSVRTdGFja0ZyYW1lLCBn
bG9iYWxEYXRhKSksICZzcC0+Z2xvYmFsRGF0YSkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MzEKICAgIHQwLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQxLmk4cCArIDQzNDE2KTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYzMgogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwICsgNDM0MjQpOyAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NjMzCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9u
ZXdfYXJyYXkpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBl
eGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9
IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSBy
ZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X2FycmF5KGV4ZWMsIHBjKTsKICAgICAgICBMTElu
dDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAg
ICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQ
Qy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5p
ID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMu
aSA9IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9uZXdfYXJyYXlfd2l0aF9zaXplKQogICAgclBDLmk4cCA9IHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9
IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZw
KTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX25ld19h
cnJheV93aXRoX3NpemUoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVz
dWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNm
ci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4Mykg
JiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJf
dCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25l
d19hcnJheV9idWZmZXIpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0
YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9u
KiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJu
VHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X2FycmF5X2J1ZmZlcihleGVjLCBwYyk7
CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5l
eGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSBy
UEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAg
clBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X3JlZ2V4cCkKICAgIHJQQy5pOHAgPSBy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQz
LmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNm
ci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52
cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9u
ZXdfcmVnZXhwKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwg
dDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9
IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAg
ICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgx
Zik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgz
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9sZXNzKQog
ICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8
RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3Ry
dWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxp
bnRfc2xvd19wYXRoX2xlc3MoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0g
dDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAg
IGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4
MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRw
dHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X2xlc3NlcSkKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4
ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0g
Q0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9sZXNzZXEoZXhlYywgcGMpOwogICAgICAgIExMSW50Ojpk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0K
ICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4g
KGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0g
clBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BD
T0RFX0xBQkVMKG9wX2dyZWF0ZXIpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAg
RXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3Ry
dWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfZ3JlYXRlcihleGVjLCBwYyk7CiAg
ICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVj
U3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMu
aSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBD
LmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ3JlYXRlcmVxKQogICAgclBDLmk4cCA9IHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9
IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZw
KTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2dyZWF0
ZXJlcShleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmlu
c3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJh
c2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbW9kKQogICAgclBD
Lmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4
OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0
YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9u
Kj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xv
d19wYXRoX21vZChleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkg
PSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQog
ICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4
MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4
NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfdHlwZW9m
KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENB
U1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPElu
c3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0g
bGxpbnRfc2xvd19wYXRoX3R5cGVvZihleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBD
LmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRy
X3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSAr
IGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFC
RUwob3BfaXNfb2JqZWN0KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlv
biogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2lzX29iamVjdChleGVjLCBwYyk7CiAgICAg
ICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3Rh
dGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAt
IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkg
PSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAog
ICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZM
SU5FX0FTTV9PUENPREVfTEFCRUwob3BfaXNfZnVuY3Rpb24pCiAgICByUEMuaThwID0gckJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0g
ckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnAp
OwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfaXNfZnVu
Y3Rpb24oZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5p
bnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJC
YXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2luKQogICAgclBD
Lmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4
OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0
YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9u
Kj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xv
d19wYXRoX2luKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwg
dDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9
IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAg
ICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgx
Zik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXRfdG9f
YmFzZV92YXJpYWJsZSkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgyMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MwogICAgdDAuaSA9ICpDQVNUPGludDMy
X3QqPih0MC5pOHAgKyAyNCk7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTU5CiAgICB0MS5pID0gKkNB
U1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjU5CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBp
bnRwdHJfdCgweDQpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206NTQ0CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAz
Mik7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo1NDUKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAodDIu
aSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0Nwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0VG9CYXNlVmFyaWFibGVCb2R5X183Ml9sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQzLmk2NCA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29m
ZmxpbmVhc21fcHV0VG9CYXNlVmFyaWFibGVCb2R5X183Ml9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRU
b0Jhc2VWYXJpYWJsZUJvZHlfXzcyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQog
ICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTEKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCArIDEyODApOyAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDAp
OyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDMuaTY0ID0gKkNBU1Q8aW50NjRfdCo+
KHQzLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dFRvQmFzZVZhcmlhYmxlQm9keV9fNzJfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAo
dDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDMuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1MzMKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX3B1dF90b19iYXNlKQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYzCiAgICB0MC5pOHAgKz0g
aW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1NjcKICAgIGlm
ICgqQ0FTVDxpbnQ4X3QqPih0MC5pOHApICE9IGludDhfdCgweDYpKSAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU2
OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZ2V0UHV0VG9CYXNlT3BlcmF0aW9uRmllbGRfX2Zp
ZWxkR2V0dGVyX19ub3RQdXRUb0Jhc2VWYXJpYWJsZTsKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90
Kj4odDAuaThwICsgMjQpOyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU2OQogICAgdDEuaSA9ICpDQVNU
PGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1
OQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50
cHRyX3QoMHg0KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjU0NAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMzIp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NTQ1CiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgaWYgKHQyLmkg
Pj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2dldFB1dFRvQmFzZU9wZXJhdGlvbkZpZWxkX19maWVsZEdl
dHRlcl9fcHV0VG9CYXNlVmFyaWFibGVCb2R5X183M19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19j
b25zdGFudDsKICAgIHQzLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwg
MykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fZ2V0UHV0VG9C
YXNlT3BlcmF0aW9uRmllbGRfX2ZpZWxkR2V0dGVyX19wdXRUb0Jhc2VWYXJpYWJsZUJvZHlfXzcz
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2dldFB1dFRvQmFzZU9wZXJhdGlvbkZpZWxkX19maWVsZEdldHRl
cl9fcHV0VG9CYXNlVmFyaWFibGVCb2R5X183M19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25z
dGFudCkKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTUxCiAgICB0My5pID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAgKyAxMjgw
KTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQw
MDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQzLmk2NCA9ICpDQVNUPGlu
dDY0X3QqPih0My5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9nZXRQdXRUb0Jhc2VPcGVyYXRpb25G
aWVsZF9fZmllbGRHZXR0ZXJfX3B1dFRvQmFzZVZhcmlhYmxlQm9keV9fNzNfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fZG9uZSkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDAuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpID0gdDMuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1MzMKICAgIHJQQy5pID0gclBDLmkgKyBpbnRw
dHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9nZXRQdXRUb0Jhc2VPcGVyYXRpb25GaWVsZF9fZmllbGRHZXR0ZXJfX25vdFB1
dFRvQmFzZVZhcmlhYmxlKQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlv
biogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3B1dF90b19iYXNlKGV4ZWMsIHBjKTsKICAg
ICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNT
dGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5p
IC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMu
aSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4
CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9yZXNvbHZlX2dsb2JhbF9wcm9wZXJ0eSkKICAgIHQw
LmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTo2MwogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgOCk7ICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206NTc5CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
IC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2NDMKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQxLmk4cCArIDMyKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjY0NAogICAgdDIuaSA9ICpDQVNUPGlu
dHB0cl90Kj4odDAuaThwICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjQ1CiAgICBpZiAoKkNB
U1Q8aW50cHRyX3QqPih0MS5pOHApICE9IHQyLmkpICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2NDYKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50X29wX3Jlc29sdmVfbG9jYWw7CiAgICB0MC5pID0g
KkNBU1Q8aW50MzJfdCo+KHQwLmk4cCArIDE2KTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2NDcKICAg
IHQwLmkgPSAtdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206ODIxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyA4KTsgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjgyMgogICAgdDIuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0
MC5pIDw8IDMpICsgaW50cHRyX3QoMHgzMTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MjMKICAgIHQwLmkgPSAqQ0FTVDxpbnQz
Ml90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAg
ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9
IHQyLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206NjI4CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4MjApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjMKICAgIHJQQy5pID0gclBDLmkgKyBpbnRw
dHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X3Jlc29sdmVfZ2xvYmFsX3ZhcikKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MwogICAgdDAuaSA9ICpDQVNU
PGludHB0cl90Kj4odDAuaThwICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTc5CiAgICB0MC5p
ID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2NjIK
ICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206NTkKICAgIHQzLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHApOyAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYxMwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAo
dDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDMuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MTQKICAgIHQxLmkgPSAqQ0FT
VDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgyMCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo2MwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcmVzb2x2ZV9zY29wZWRfdmFyKQogICAgdDAu
aSA9ICpDQVNUPGludHB0cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjYzCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA4KTsgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo1NzkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAg
LSAyMCk7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjY3MAogICAgdDIudSA9ICpDQVNUPHVpbnQzMl90Kj4o
dDAuaThwICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTg0CiAgICBpZiAodDIuaTMyID09IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1ODYKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3Jlc29sdmVTY29wZWRWYXJCb2R5X19nZXRTY29wZV9fZG9uZTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcmVzb2x2ZVNjb3BlZFZhckJvZHlfX2dl
dFNjb3BlX19sb29wKQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206NTg4CiAgICB0Mi5pMzIgPSB0Mi5pMzIgLSBpbnQzMl90KDB4MSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1ODkKICAgIHQyLmNsZWFySGlnaFdvcmQoKTsKICAg
IGlmICh0Mi5pMzIgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjU5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcmVzb2x2ZVNjb3BlZFZhckJvZHlfX2dldFNj
b3BlX19sb29wOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9yZXNvbHZl
U2NvcGVkVmFyQm9keV9fZ2V0U2NvcGVfX2RvbmUpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MS5pOHAgKyAzMik7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2NzMKICAgIHQyLmkgPSAqQ0FTVDxp
bnQzMl90Kj4odDAuaThwICsgNDApOyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjY3NgogICAgdDMuaSA9
ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTo1OQogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0Mi5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjU5NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDMu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OTgKICAgIHQzLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgyMCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2
MwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcmVzb2x2ZV9zY29wZWRfdmFyX29uX3RvcF9zY29w
ZSkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo2MwogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThw
ICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTc5CiAgICB0My5pID0gKkNBU1Q8aW50MzJfdCo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0MS5p
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMjApOyAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2OTUK
ICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDMyKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjY5NgogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPih0MC5pOHAgKyA0MCk7ICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Njk5CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQy
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTk3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MC5pNjQ7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5OAogICAgdDMuaSA9
ICpDQVNUPGludHB0cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDIwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjYzCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENP
REUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9yZXNvbHZlX3Njb3BlZF92YXJfd2l0
aF90b3Bfc2NvcGVfY2hlY2spCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjMKICAgIHQwLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQwLmk4cCArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU3OQogICAgdDEuaSA9
ICpDQVNUPGludDMyX3QqPih0MC5pOHAgKyAxNik7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NzA4CiAg
ICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJf
dCgweDQpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206NzEwCiAgICBpZiAodDEuaSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo3MTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2dldFNjb3BlX19s
b2FkSW5pdGlhbFNjb3BlX19zY29wZUNoYWluTm90Q3JlYXRlZDsKICAgIHQxLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQxLmk4cCArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjcxNAogICAgZ290byBf
b2ZmbGluZWFzbV9nZXRTY29wZV9fbG9hZEluaXRpYWxTY29wZV9fZG9uZTsgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NzE1Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2dldFNjb3BlX19sb2FkSW5pdGlh
bFNjb3BlX19zY29wZUNoYWluTm90Q3JlYXRlZCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAgLSAyMCk7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjcxNwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9nZXRTY29wZV9fbG9hZEluaXRpYWxTY29wZV9fZG9uZSkKICAg
IHQyLnUgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCArIDQwKTsgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjU4NAogICAgaWYgKHQyLmkzMiA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206NTg2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV83M19nZXRTY29wZV9fZG9uZTsK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fNzNfZ2V0U2NvcGVfX2xvb3Ap
CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAxNik7ICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTo1ODgKICAgIHQyLmkzMiA9IHQyLmkzMiAtIGludDMyX3QoMHgxKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjU4OQogICAgdDIuY2xlYXJIaWdoV29yZCgpOwogICAgaWYgKHQyLmkzMiAh
PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkwCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV83M19nZXRTY29wZV9fbG9vcDsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fNzNfZ2V0U2NvcGVfX2RvbmUpCiAgICB0MS5pID0gKkNBU1Q8aW50
cHRyX3QqPih0MS5pOHAgKyAzMik7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo3MjIKICAgIHQyLmkgPSAq
Q0FTVDxpbnQzMl90Kj4odDAuaThwICsgNjQpOyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjcyNQogICAg
dDMuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTo1OQogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0Mi5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAg
KyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OTgKICAgIHQzLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgy
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTo2MwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcmVzb2x2ZSkKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRfb3BfcmVzb2x2ZV9sb2NhbCkKICAgIHQwLmkg
PSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo2MwogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgOCk7ICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206NTc5CiAgICBpZiAodDAuaSA9PSAwKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo3MzQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX25vSW5z
dHJ1Y3Rpb25zOwogICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPih0MC5pOHApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206NzM1CiAgICBpZiAodDEuaTMyICE9IGludDMyX3QoMHg5KSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo3MzYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX25vdFNr
aXBTY29wZXM7CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMjApOyAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo2NzAKICAgIHQyLnUgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCArIDE2
KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU4NAogICAgaWYgKHQyLmkzMiA9PSAwKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTg2CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9yZXNvbHZlU2NvcGVkVmFyQm9keV9fNzRfZ2V0U2NvcGVfX2RvbmU7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3Jlc29sdmVTY29wZWRWYXJCb2R5X183NF9nZXRTY29w
ZV9fbG9vcCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDE2KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjU4OAogICAgdDIuaTMyID0gdDIuaTMyIC0gaW50MzJfdCgweDEpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NTg5CiAgICB0Mi5jbGVhckhpZ2hXb3JkKCk7CiAgICBpZiAo
dDIuaTMyICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OTAK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3Jlc29sdmVTY29wZWRWYXJCb2R5X183NF9nZXRTY29w
ZV9fbG9vcDsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcmVzb2x2ZVNj
b3BlZFZhckJvZHlfXzc0X2dldFNjb3BlX19kb25lKQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90
Kj4odDEuaThwICsgMzIpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjczCiAgICB0Mi5pID0gKkNBU1Q8
aW50MzJfdCo+KHQwLmk4cCArIDQwKTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2NzYKICAgIHQzLmkg
PSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206NTkKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDIuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo1OTcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQz
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTk4CiAgICB0My5pID0gKkNBU1Q8
aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MjApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
NjMKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9ub3RTa2lwU2NvcGVzKQogICAg
aWYgKHQxLmkzMiAhPSBpbnQzMl90KDB4NikpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
NzQwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9ub3RHZXRBbmRSZXR1cm5HbG9iYWxWYXI7CiAg
ICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAxNik7ICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo3NDEKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
MykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQzLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5p
OHApOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYxMwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDMuaTY0OyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MTQKICAgIHQxLmkg
PSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgyMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo2MwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX25vdEdldEFuZFJl
dHVybkdsb2JhbFZhcikKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbm9J
bnN0cnVjdGlvbnMpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRl
KiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBw
YyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlw
ZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfcmVzb2x2ZShleGVjLCBwYyk7CiAgICAgICAgTExJ
bnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwog
ICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNl
UEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMu
aSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBD
LmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9PUENPREVfTEFCRUwob3BfcmVzb2x2ZV9iYXNlX3RvX2dsb2JhbCkKICAgIHQxLmkgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjc1MwogICAgdDEu
aSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMzIpOyAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NzU0
CiAgICB0My5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsg
aW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjU5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0My5pIDw8
IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MS5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYyOAogICAgdDMuaSA9ICpDQVNUPGludHB0
cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDMwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYzCiAg
ICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg3KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX09QQ09ERV9MQUJFTChvcF9yZXNvbHZlX2Jhc2VfdG9fZ2xvYmFsX2R5bmFtaWMpCiAg
ICBnb3RvIG9wX3Jlc29sdmVfYmFzZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo3NjUKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9yZXNvbHZlX2Jhc2VfdG9fc2NvcGUp
CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MjApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206NjMKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCAr
IDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU3OQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCAtIDIwKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NzcyCiAgICB0Mi51ID0gKkNBU1Q8dWlu
dDMyX3QqPih0MC5pOHAgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1ODQKICAgIGlmICh0Mi5p
MzIgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU4NgogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fNzVfZ2V0U2NvcGVfX2RvbmU7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtXzc1X2dldFNjb3BlX19sb29wKQogICAgdDEuaSA9ICpDQVNU
PGludHB0cl90Kj4odDEuaThwICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTg4CiAgICB0Mi5p
MzIgPSB0Mi5pMzIgLSBpbnQzMl90KDB4MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1ODkK
ICAgIHQyLmNsZWFySGlnaFdvcmQoKTsKICAgIGlmICh0Mi5pMzIgIT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
NzVfZ2V0U2NvcGVfX2xvb3A7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
Xzc1X2dldFNjb3BlX19kb25lKQogICAgdDMuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDEuaTY0OyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MjgKICAg
IHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50
cHRyX3QoMHgzMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo2MwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Nyk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcmVzb2x2ZV9iYXNlX3Rv
X3Njb3BlX3dpdGhfdG9wX3Njb3BlX2NoZWNrKQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYzCiAgICB0MC5p
ID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1NzkK
ICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4odDAuaThwICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjc4OAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMp
ICsgaW50cHRyX3QoMHg0KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjc5MAogICAgaWYgKHQxLmkgPT0gMCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9n
ZXRTY29wZV9fNzVfbG9hZEluaXRpYWxTY29wZV9fc2NvcGVDaGFpbk5vdENyZWF0ZWQ7CiAgICB0
MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAxNik7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo3
OTQKICAgIGdvdG8gX29mZmxpbmVhc21fZ2V0U2NvcGVfXzc1X2xvYWRJbml0aWFsU2NvcGVfX2Rv
bmU7ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjc5NQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9nZXRTY29w
ZV9fNzVfbG9hZEluaXRpYWxTY29wZV9fc2NvcGVDaGFpbk5vdENyZWF0ZWQpCiAgICB0MS5pID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMjApOyAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo3OTcKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZ2V0U2NvcGVfXzc1X2xvYWRJbml0
aWFsU2NvcGVfX2RvbmUpCiAgICB0Mi51ID0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAgKyA0MCk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo1ODQKICAgIGlmICh0Mi5pMzIgPT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU4NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
NzZfZ2V0U2NvcGVfX2RvbmU7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
Xzc2X2dldFNjb3BlX19sb29wKQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsg
MTYpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206NTg4CiAgICB0Mi5pMzIgPSB0Mi5pMzIgLSBpbnQzMl90
KDB4MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1ODkKICAgIHQyLmNsZWFySGlnaFdvcmQo
KTsKICAgIGlmICh0Mi5pMzIgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjU5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fNzZfZ2V0U2NvcGVfX2xvb3A7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzc2X2dldFNjb3BlX19kb25lKQog
ICAgdDMuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo1OQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDMuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpID0gdDEuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MjgKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgzMCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MwogICAg
clBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Nyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
MykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5F
X0FTTV9PUENPREVfTEFCRUwob3BfcmVzb2x2ZV9iYXNlKQogICAgclBDLmk4cCA9IHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJC
YXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsK
ICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAg
ICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3Jlc29sdmVf
YmFzZShleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmlu
c3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJh
c2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Nyk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZW5zdXJlX3Byb3Bl
cnR5X2V4aXN0cykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUq
IGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBj
ID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9lbnN1cmVfcHJvcGVydHlfZXhpc3RzKGV4ZWMsIHBj
KTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQx
LmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9
IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAg
ICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9yZXNvbHZlX3dpdGhfYmFzZSkKICAgIHQw
LmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgyMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTo2MwogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgOCk7ICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206NTc5CiAgICBpZiAodDAuaSA9PSAwKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MjUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2lu
dGVycHJldFJlc29sdmVXaXRoQmFzZV9fc2xvd1BhdGg7CiAgICB0My5pID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwIC0gMjQpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MjcKICAgIHQyLmkgPSAqQ0FT
VDxpbnQzMl90Kj4odDAuaThwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgyOQogICAgaWYg
KHQyLmkzMiAhPSBpbnQzMl90KDB4OSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODMx
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9pbnRlcnByZXRSZXNvbHZlV2l0aEJhc2VfX25vdFNr
aXBTY29wZXM7CiAgICB0MS5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo4MzIKICAgIHQyLnUgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCArIDE2
KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU4NAogICAgaWYgKHQyLmkzMiA9PSAwKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTg2CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9pbnRlcnByZXRSZXNvbHZlV2l0aEJhc2VfXzc3X2dldFNjb3BlX19kb25lOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9pbnRlcnByZXRSZXNvbHZlV2l0aEJhc2VfXzc3
X2dldFNjb3BlX19sb29wKQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMTYp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NTg4CiAgICB0Mi5pMzIgPSB0Mi5pMzIgLSBpbnQzMl90KDB4
MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1ODkKICAgIHQyLmNsZWFySGlnaFdvcmQoKTsK
ICAgIGlmICh0Mi5pMzIgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjU5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21faW50ZXJwcmV0UmVzb2x2ZVdpdGhCYXNl
X183N19nZXRTY29wZV9fbG9vcDsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21faW50ZXJwcmV0UmVzb2x2ZVdpdGhCYXNlX183N19nZXRTY29wZV9fZG9uZSkKICAgIHQzLmkg
PSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgzNAog
ICAgdDAuaSA9IHQwLmkgKyBpbnRwdHJfdCgweDE4KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206ODM1CiAgICBnb3RvIF9vZmZsaW5lYXNtX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9faGF2
ZUNvcnJlY3RTY29wZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206ODM2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9fbm90U2tpcFNjb3BlcykKICAgIGlmICh0Mi5pMzIg
IT0gaW50MzJfdCgweDgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg0MAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21faW50ZXJwcmV0UmVzb2x2ZVdpdGhCYXNlX19ub3RTa2lwVG9wU2Nv
cGVOb2RlOwogICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPih0MC5pOHAgKyAxNik7ICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206ODQxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwICsgKHQx
LmkgPDwgMykgKyBpbnRwdHJfdCgweDQpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODQyCiAgICBpZiAodDEuaSA9PSAwKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4NDUKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9fZ2V0U2NvcGVfXzc3X2xvYWRJbml0aWFs
U2NvcGVfX3Njb3BlQ2hhaW5Ob3RDcmVhdGVkOwogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4o
dDEuaThwICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODQ2CiAgICBnb3RvIF9vZmZsaW5lYXNt
X2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9fZ2V0U2NvcGVfXzc3X2xvYWRJbml0aWFsU2NvcGVf
X2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjg0NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9pbnRlcnBy
ZXRSZXNvbHZlV2l0aEJhc2VfX2dldFNjb3BlX183N19sb2FkSW5pdGlhbFNjb3BlX19zY29wZUNo
YWluTm90Q3JlYXRlZCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSAyMCk7
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjg0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9pbnRlcnByZXRSZXNvbHZlV2l0aEJhc2VfX2dldFNjb3BlX183N19sb2FkSW5pdGlhbFNj
b3BlX19kb25lKQogICAgdDIudSA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwICsgNDApOyAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206NTg0CiAgICBpZiAodDIuaTMyID09IDApICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo1ODYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2ludGVy
cHJldFJlc29sdmVXaXRoQmFzZV9fNzhfZ2V0U2NvcGVfX2RvbmU7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9fNzhfZ2V0U2Nv
cGVfX2xvb3ApCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAxNik7ICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo1ODgKICAgIHQyLmkzMiA9IHQyLmkzMiAtIGludDMyX3QoMHgxKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU4OQogICAgdDIuY2xlYXJIaWdoV29yZCgpOwogICAgaWYg
KHQyLmkzMiAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkw
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9pbnRlcnByZXRSZXNvbHZlV2l0aEJhc2VfXzc4X2dl
dFNjb3BlX19sb29wOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9pbnRl
cnByZXRSZXNvbHZlV2l0aEJhc2VfXzc4X2dldFNjb3BlX19kb25lKQogICAgdDMuaSA9IHQxLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODUzCiAgICB0MC5p
ID0gdDAuaSArIGludHB0cl90KDB4MzApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4NTUK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21faW50ZXJwcmV0UmVzb2x2ZVdp
dGhCYXNlX19ub3RTa2lwVG9wU2NvcGVOb2RlKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9pbnRlcnByZXRSZXNvbHZlV2l0aEJhc2VfX2hhdmVDb3JyZWN0U2NvcGUpCiAg
ICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo4NjQKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
MykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIGlmICh0Mi5pMzIgIT0gaW50MzJfdCgweDMpKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg3MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
aW50ZXJwcmV0UmVzb2x2ZVdpdGhCYXNlX19ub3RTZXRCYXNlVG9TY29wZTsKICAgICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQzLmk2NDsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
ODcyCiAgICBnb3RvIF9vZmZsaW5lYXNtX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9faGF2ZVNl
dEJhc2U7ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo4NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21faW50ZXJw
cmV0UmVzb2x2ZVdpdGhCYXNlX19ub3RTZXRCYXNlVG9TY29wZSkKICAgIGlmICh0Mi5pMzIgIT0g
aW50MzJfdCgweDEpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg4MQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21faW50ZXJwcmV0UmVzb2x2ZVdpdGhCYXNlX19ub3RTZXRCYXNlVG9VbmRl
ZmluZWQ7CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSkgPSBpbnQ2NF90KDB4YSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg4MwogICAgZ290byBfb2ZmbGluZWFzbV9pbnRlcnBy
ZXRSZXNvbHZlV2l0aEJhc2VfX2hhdmVTZXRCYXNlOyAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODg4CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9fbm90U2V0QmFzZVRv
VW5kZWZpbmVkKQogICAgaWYgKHQyLmkzMiAhPSBpbnQzMl90KDB4NCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206ODkxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9pbnRlcnByZXRSZXNv
bHZlV2l0aEJhc2VfX3Nsb3dQYXRoOwogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDMuaThw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODkyCiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3Qq
Pih0Mi5pOHAgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4OTMKICAgICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQyLmk2NDsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODk1Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2ludGVycHJldFJlc29sdmVXaXRo
QmFzZV9faGF2ZVNldEJhc2UpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCArIDI0
KTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo5MDYKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAodDIu
aTMyICE9IGludDMyX3QoMHg1KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5MTEKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9fbm90R2V0QW5k
UmV0dXJuU2NvcGVkVmFyOwogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwICsgMzIp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206OTEyCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHQwLmk4
cCArIDQwKTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5MTUKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0
X3QqPih0My5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OTcKICAgICpDQVNU
PGludDY0X3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2
NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206NTk4CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4MzApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206NjMKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgw
eDcpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9pbnRlcnByZXRSZXNvbHZlV2l0aEJhc2VfX25vdEdldEFuZFJldHVyblNjb3BlZFZhcikK
ICAgIGlmICh0Mi5pMzIgIT0gaW50MzJfdCgweGIpKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjkyMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21faW50ZXJwcmV0UmVzb2x2ZVdpdGhCYXNl
X19zbG93UGF0aDsKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUq
IGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBj
ID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9yZXNvbHZlX3dpdGhfYmFzZShleGVjLCBwYyk7CiAg
ICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVj
U3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMu
aSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBD
LmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Nyk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2ludGVycHJldFJlc29sdmVXaXRo
QmFzZV9fc2xvd1BhdGgpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0
YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9u
KiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJu
VHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfcmVzb2x2ZV93aXRoX2Jhc2UoZXhlYywgcGMp
OwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEu
ZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0g
clBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAg
IHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDcpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3Jlc29sdmVfd2l0aF90aGlzKQogICAgdDAu
aSA9ICpDQVNUPGludHB0cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDIwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjYzCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA4KTsgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo1NzkKICAgIGlmICh0MC5pID09IDApICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgyNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fODBf
aW50ZXJwcmV0UmVzb2x2ZVdpdGhCYXNlX19zbG93UGF0aDsKICAgIHQzLmkgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAgLSAyNCk7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgyNwogICAgdDIuaSA9ICpD
QVNUPGludDMyX3QqPih0MC5pOHApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODI5CiAgICBp
ZiAodDIuaTMyICE9IGludDMyX3QoMHg5KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4
MzEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzgwX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9f
bm90U2tpcFNjb3BlczsKICAgIHQxLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjgzMgogICAgdDIudSA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThw
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTg0CiAgICBpZiAodDIuaTMyID09IDApICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1ODYKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9fNzlfZ2V0U2NvcGVfX2RvbmU7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2ludGVycHJldFJlc29sdmVXaXRoQmFz
ZV9fNzlfZ2V0U2NvcGVfX2xvb3ApCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAg
KyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1ODgKICAgIHQyLmkzMiA9IHQyLmkzMiAtIGludDMy
X3QoMHgxKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU4OQogICAgdDIuY2xlYXJIaWdoV29y
ZCgpOwogICAgaWYgKHQyLmkzMiAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206NTkwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9pbnRlcnByZXRSZXNvbHZlV2l0
aEJhc2VfXzc5X2dldFNjb3BlX19sb29wOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9pbnRlcnByZXRSZXNvbHZlV2l0aEJhc2VfXzc5X2dldFNjb3BlX19kb25lKQogICAg
dDMuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
ODM0CiAgICB0MC5pID0gdDAuaSArIGludHB0cl90KDB4MTgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo4MzUKICAgIGdvdG8gX29mZmxpbmVhc21fODBfaW50ZXJwcmV0UmVzb2x2ZVdpdGhC
YXNlX19oYXZlQ29ycmVjdFNjb3BlOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo4MzYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fODBfaW50ZXJwcmV0UmVzb2x2ZVdpdGhCYXNlX19ub3RTa2lwU2NvcGVzKQogICAg
aWYgKHQyLmkzMiAhPSBpbnQzMl90KDB4OCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
ODQwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV84MF9pbnRlcnByZXRSZXNvbHZlV2l0aEJhc2Vf
X25vdFNraXBUb3BTY29wZU5vZGU7CiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCAr
IDE2KTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4NDEKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4NCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4NDIKICAgIGlmICh0MS5p
ID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg0NQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21faW50ZXJwcmV0UmVzb2x2ZVdpdGhCYXNlX19nZXRTY29wZV9f
NzlfbG9hZEluaXRpYWxTY29wZV9fc2NvcGVDaGFpbk5vdENyZWF0ZWQ7CiAgICB0MS5pID0gKkNB
U1Q8aW50cHRyX3QqPih0MS5pOHAgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4NDYKICAgIGdv
dG8gX29mZmxpbmVhc21faW50ZXJwcmV0UmVzb2x2ZVdpdGhCYXNlX19nZXRTY29wZV9fNzlfbG9h
ZEluaXRpYWxTY29wZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206ODQ3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9fZ2V0U2NvcGVfXzc5X2xvYWRJbml0aWFs
U2NvcGVfX3Njb3BlQ2hhaW5Ob3RDcmVhdGVkKQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCAtIDIwKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9fZ2V0U2NvcGVfXzc5
X2xvYWRJbml0aWFsU2NvcGVfX2RvbmUpCiAgICB0Mi51ID0gKkNBU1Q8dWludDMyX3QqPih0MC5p
OHAgKyA0MCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1ODQKICAgIGlmICh0Mi5pMzIgPT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU4NgogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21faW50ZXJwcmV0UmVzb2x2ZVdpdGhCYXNlX184MF9nZXRTY29wZV9fZG9uZTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21faW50ZXJwcmV0UmVzb2x2ZVdpdGhC
YXNlX184MF9nZXRTY29wZV9fbG9vcCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4
cCArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU4OAogICAgdDIuaTMyID0gdDIuaTMyIC0gaW50
MzJfdCgweDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTg5CiAgICB0Mi5jbGVhckhpZ2hX
b3JkKCk7CiAgICBpZiAodDIuaTMyICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTo1OTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2ludGVycHJldFJlc29sdmVX
aXRoQmFzZV9fODBfZ2V0U2NvcGVfX2xvb3A7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9fODBfZ2V0U2NvcGVfX2RvbmUpCiAg
ICB0My5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo4NTMKICAgIHQwLmkgPSB0MC5pICsgaW50cHRyX3QoMHgzMCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjg1NQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV84MF9p
bnRlcnByZXRSZXNvbHZlV2l0aEJhc2VfX25vdFNraXBUb3BTY29wZU5vZGUpCgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzgwX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9f
aGF2ZUNvcnJlY3RTY29wZSkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg2NAogICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgaWYgKHQyLmkz
MiAhPSBpbnQzMl90KDB4MykpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODcwCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV84MF9pbnRlcnByZXRSZXNvbHZlV2l0aEJhc2VfX25vdFNldEJh
c2VUb1Njb3BlOwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpID0gdDMuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo4NzIKICAgIGdvdG8gX29mZmxpbmVhc21fODBfaW50ZXJw
cmV0UmVzb2x2ZVdpdGhCYXNlX19oYXZlU2V0QmFzZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODc3CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtXzgwX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9fbm90U2V0QmFz
ZVRvU2NvcGUpCiAgICBpZiAodDIuaTMyICE9IGludDMyX3QoMHgxKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo4ODEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzgwX2ludGVycHJldFJl
c29sdmVXaXRoQmFzZV9fbm90U2V0QmFzZVRvVW5kZWZpbmVkOwogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gaW50NjRfdCgweGEpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4
ODMKICAgIGdvdG8gX29mZmxpbmVhc21fODBfaW50ZXJwcmV0UmVzb2x2ZVdpdGhCYXNlX19oYXZl
U2V0QmFzZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206ODg4CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzgwX2lu
dGVycHJldFJlc29sdmVXaXRoQmFzZV9fbm90U2V0QmFzZVRvVW5kZWZpbmVkKQogICAgaWYgKHQy
LmkzMiAhPSBpbnQzMl90KDB4NCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODkxCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV84MF9pbnRlcnByZXRSZXNvbHZlV2l0aEJhc2VfX3Nsb3dQ
YXRoOwogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206ODkyCiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyAxNik7ICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo4OTMKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQxLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQyLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODk1CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtXzgwX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9faGF2ZVNldEJh
c2UpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCArIDI0KTsgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo5MDYKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAodDIuaTMyICE9IGludDMyX3Qo
MHg1KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5MTEKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtXzgwX2ludGVycHJldFJlc29sdmVXaXRoQmFzZV9fbm90R2V0QW5kUmV0dXJuU2NvcGVk
VmFyOwogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwICsgMzIpOyAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206OTEyCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCArIDQwKTsgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo5MTUKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0My5pOHAg
KyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OTcKICAgICpDQVNUPGludDY0X3QqPihj
ZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTk4CiAgICB0
MS5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MjgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206NjMKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV84MF9pbnRl
cnByZXRSZXNvbHZlV2l0aEJhc2VfX25vdEdldEFuZFJldHVyblNjb3BlZFZhcikKICAgIGlmICh0
Mi5pMzIgIT0gaW50MzJfdCgweGIpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjkyMAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fODBfaW50ZXJwcmV0UmVzb2x2ZVdpdGhCYXNlX19zbG93
UGF0aDsKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMg
PSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FT
VDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3Vs
dCA9IGxsaW50X3Nsb3dfcGF0aF9yZXNvbHZlX3dpdGhfdGhpcyhleGVjLCBwYyk7CiAgICAgICAg
TExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUp
OwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJC
YXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSBy
UEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAg
clBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
MykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzgwX2ludGVycHJldFJlc29sdmVXaXRoQmFz
ZV9fc2xvd1BhdGgpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRl
KiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBw
YyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlw
ZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfcmVzb2x2ZV93aXRoX3RoaXMoZXhlYywgcGMpOwog
ICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhl
Y1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBD
LmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQ
Qy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
T0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2RlbF9ieV9pZCkKICAgIHJQQy5pOHAgPSByQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkg
PSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAK
ICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52
cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7
CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9kZWxf
YnlfaWQoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5p
bnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJC
YXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2RlbF9ieV92YWwp
CiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FT
VDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5z
dHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfZGVsX2J5X3ZhbChleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAg
clBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50
cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMu
aSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVf
TEFCRUwob3BfcHV0X2J5X2luZGV4KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAg
IEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0
cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3B1dF9ieV9pbmRleChleGVjLCBw
Yyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0
MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkg
PSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5Nwog
ICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHV0X2dldHRlcl9zZXR0ZXIpCiAgICBy
UEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVj
U3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rp
b24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9z
bG93X3BhdGhfcHV0X2dldHRlcl9zZXR0ZXIoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAg
IHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGlu
dHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX2ptcF9zY29wZXMpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAg
RXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3Ry
dWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfam1wX3Njb3BlcyhleGVjLCBwYyk7
CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5l
eGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSBy
UEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAg
clBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbG9vcF9pZl90cnVlKQogICAgdDEuaSA9ICpD
QVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo1OQogICAgaWYgKHQxLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2p1bXBUcnVlT3JGYWxzZV9f
ODBfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAg
ICBnb3RvIF9vZmZsaW5lYXNtX2p1bXBUcnVlT3JGYWxzZV9fODBfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
anVtcFRydWVPckZhbHNlX184MF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAg
IHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTUxCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAxMjgwKTsgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1MgogICAgdDEuaSA9IHQxLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0
MC5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9qdW1wVHJ1ZU9yRmFsc2VfXzgwX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX2RvbmUpCiAgICB0MC5pNjQgPSB0MC5pNjQgXiBpbnQ2NF90KDB4Nik7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNDkKICAgIGlmICgodDAuaTY0ICYgaW50NjRfdCgt
MSkpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI1MAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fanVtcFRydWVPckZhbHNlX19zbG93OwogICAgaWYgKHQwLmkzMiAhPSAwKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTg1CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9qdW1wVHJ1ZU9yRmFsc2VfX3RhcmdldDsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRw
dHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9qdW1wVHJ1ZU9yRmFsc2VfX3RhcmdldCkKICAgIHJQQy5pMzIgPSByUEMuaTMy
ICsgKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ2CiAgICByUEMuY2xlYXJIaWdoV29yZCgpOwogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2p1bXBUcnVlT3JGYWxzZV9fc2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBD
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcK
ICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAg
ICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAg
U2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qdHJ1ZShleGVjLCBw
Yyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0
MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkg
PSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5Nwog
ICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfanRydWUpCiAgICB0MS5pID0gKkNBU1Q8
aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5
CiAgICBpZiAodDEuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fanVtcFRydWVPckZhbHNlX184MV9s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdv
dG8gX29mZmxpbmVhc21fanVtcFRydWVPckZhbHNlX184MV9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9qdW1w
VHJ1ZU9yRmFsc2VfXzgxX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAu
aSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDEyODApOyAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTUyCiAgICB0MS5pID0gdDEuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4
cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2p1bXBUcnVlT3JGYWxzZV9fODFfbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fZG9uZSkKICAgIHQwLmk2NCA9IHQwLmk2NCBeIGludDY0X3QoMHg2KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTI0OQogICAgaWYgKCh0MC5pNjQgJiBpbnQ2NF90KC0xKSkg
IT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjUwCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV84MV9qdW1wVHJ1ZU9yRmFsc2VfX3Nsb3c7CiAgICBpZiAodDAuaTMyICE9IDApICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTIKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtXzgxX2p1bXBUcnVlT3JGYWxzZV9fdGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGlu
dHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtXzgxX2p1bXBUcnVlT3JGYWxzZV9fdGFyZ2V0KQogICAgclBDLmkzMiA9IHJQ
Qy5pMzIgKyAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDYKICAgIHJQQy5jbGVhckhpZ2hXb3JkKCk7CiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fODFfanVtcFRydWVPckZhbHNlX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9
IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZw
KTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2p0cnVl
KGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1
Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBD
LmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAg
ICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRD
SF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9sb29wX2lmX2ZhbHNlKQog
ICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo1OQogICAgaWYgKHQxLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2p1bXBU
cnVlT3JGYWxzZV9fODJfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MC5p
NjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2p1bXBUcnVlT3JGYWxzZV9fODJfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fanVtcFRydWVPckZhbHNlX184Ml9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19j
b25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAx
MjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDEuaSA9IHQxLmkgLSBpbnRwdHJfdCgw
eDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQwLmk2NCA9ICpDQVNU
PGludDY0X3QqPih0MC5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9qdW1wVHJ1ZU9yRmFsc2VfXzgy
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICB0MC5pNjQgPSB0MC5pNjQgXiBpbnQ2
NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNDkKICAgIGlmICgodDAuaTY0
ICYgaW50NjRfdCgtMSkpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI1MAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fODJfanVtcFRydWVPckZhbHNlX19zbG93OwogICAgaWYgKHQw
LmkzMiA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTk5CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV84Ml9qdW1wVHJ1ZU9yRmFsc2VfX3RhcmdldDsKICAgIHJQ
Qy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV84Ml9qdW1wVHJ1ZU9yRmFsc2VfX3RhcmdldCkK
ICAgIHJQQy5pMzIgPSByUEMuaTMyICsgKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2CiAgICByUEMuY2xlYXJIaWdoV29yZCgp
OwogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzgyX2p1bXBUcnVlT3JGYWxzZV9fc2xvdykKICAg
IHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4
ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVj
dGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50
X3Nsb3dfcGF0aF9qZmFsc2UoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0g
dDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAg
IGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4
MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRw
dHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X2pmYWxzZSkKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIGlmICh0MS5pID49IGludHB0cl90KDB4NDAw
MDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9qdW1wVHJ1ZU9yRmFsc2VfXzgzX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50
OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBfb2ZmbGluZWFzbV9qdW1wVHJ1ZU9yRmFsc2Vf
XzgzX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2p1bXBUcnVlT3JGYWxzZV9fODNfbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0g
OCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4o
dDAuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQxLmkgPSB0MS5pIC0g
aW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MC5p
NjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fanVtcFRydWVP
ckZhbHNlX184M19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgdDAuaTY0ID0gdDAu
aTY0IF4gaW50NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjQ5CiAgICBp
ZiAoKHQwLmk2NCAmIGludDY0X3QoLTEpKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEyNTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzgzX2p1bXBUcnVlT3JGYWxzZV9fc2xvdzsK
ICAgIGlmICh0MC5pMzIgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEwMDYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzgzX2p1bXBUcnVlT3JGYWxzZV9fdGFy
Z2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzgzX2p1bXBUcnVlT3JGYWxz
ZV9fdGFyZ2V0KQogICAgclBDLmkzMiA9IHJQQy5pMzIgKyAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYKICAgIHJQQy5jbGVh
ckhpZ2hXb3JkKCk7CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fODNfanVtcFRydWVPckZhbHNl
X19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhl
YyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBD
QVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gbGxpbnRfc2xvd19wYXRoX2pmYWxzZShleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRl
Y29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQog
ICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAo
aW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSBy
UEMuaSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENP
REVfTEFCRUwob3BfbG9vcF9pZl9sZXNzKQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDMuaSA9ICpD
QVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206NTkKICAgIGlmICh0Mi5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX184NF9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8g
X29mZmxpbmVhc21fY29tcGFyZV9fODRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fODRfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDAuaSA9ICpDQVNU
PGludHB0cl90Kj4odDAuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQy
LmkgPSB0Mi5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTUzCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQyLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fY29tcGFyZV9fODRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0My5p
ID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX184NV9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQzLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFy
ZV9fODVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fODVfbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThw
ICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQzLmkgPSB0My5pIC0gaW50cHRy
X3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MS5pNjQgPSAq
Q0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fODVfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0MC51NjQgPCB0YWdUeXBlTnVtYmVy
LnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMyNQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fY29tcGFyZV9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5cGVOdW1iZXIu
dTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzI2CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9jb21wYXJlX19vcDJOb3RJbnQ7CiAgICBpZiAodDAuaTMyIDwgdDEuaTMyKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDEzCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9jb21wYXJlX19qdW1wVGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2NvbXBhcmVfX29wMU5vdEludCkKICAgIGlmICgodDAuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQp
ID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZV9fc2xvdzsKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFy
ZV9fb3AxTm90SW50T3AyTm90SW50OwogICAgZDEuZCA9IHQxLmkzMjsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMzCiAgICBnb3RvIF9vZmZsaW5lYXNtX2Nv
bXBhcmVfX29wMU5vdEludFJlYWR5OyAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzQKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fb3AxTm90SW50T3AyTm90SW50KQog
ICAgaWYgKCh0MS5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMzM2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX19zbG93OwogICAgdDEu
aTY0ID0gdDEuaTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MzM3CiAgICBkMS5kID0gdDEuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEzMzgKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29t
cGFyZV9fb3AxTm90SW50UmVhZHkpCiAgICB0MC5pNjQgPSB0MC5pNjQgKyB0YWdUeXBlTnVtYmVy
Lmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDAKICAgIGQwLmQgPSB0MC5jYXN0VG9Eb3Vi
bGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM0MQogICAgaWYgKGQwLmQg
PCBkMS5kKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAxNAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZV9fanVtcFRhcmdldDsKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX19vcDJOb3RJbnQpCiAgICBkMC5kID0gdDAuaTMy
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDYKICAgIGlm
ICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTM0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZV9fc2xvdzsKICAgIHQxLmk2NCA9
IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM0OAog
ICAgZDEuZCA9IHQxLmNhc3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMzQ5CiAgICBpZiAoZDAuZCA8IGQxLmQpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxMDE0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX19qdW1w
VGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfX2p1bXBU
YXJnZXQpCiAgICByUEMuaTMyID0gclBDLmkzMiArICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NgogICAgclBDLmNsZWFySGln
aFdvcmQoKTsKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX19zbG93KQogICAgclBD
Lmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4
OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0
YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9u
Kj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xv
d19wYXRoX2psZXNzKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIu
aSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1
CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYg
MHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3Qo
MHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbGVz
cykKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQzLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAodDIuaSA+PSBp
bnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fY29tcGFyZV9fODZfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29u
c3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzg2
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzg2X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Nv
bnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNTEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDEy
ODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4
NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0ID0gKkNBU1Q8
aW50NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzg2X2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDMuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAw
KSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZV9fODdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQg
PSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzg3X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2NvbXBhcmVfXzg3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEK
ICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDEyODApOyAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTUyCiAgICB0My5pID0gdDMuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1MwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCAr
ICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzg3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Rv
bmUpCiAgICBpZiAodDAudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEzMjUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzg3X2NvbXBhcmVfX29wMU5v
dEludDsKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTMyNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fODdfY29tcGFyZV9fb3Ay
Tm90SW50OwogICAgaWYgKHQwLmkzMiA8IHQxLmkzMikgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTAyMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fODdfY29tcGFyZV9fanVt
cFRhcmdldDsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV84N19jb21wYXJlX19v
cDFOb3RJbnQpCiAgICBpZiAoKHQwLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEzMzEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzg3X2NvbXBhcmVf
X3Nsb3c7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEzMzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzg3X2NvbXBhcmVfX29w
MU5vdEludE9wMk5vdEludDsKICAgIGQxLmQgPSB0MS5pMzI7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzMwogICAgZ290byBfb2ZmbGluZWFzbV84N19jb21w
YXJlX19vcDFOb3RJbnRSZWFkeTsgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzM0CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtXzg3X2NvbXBhcmVfX29wMU5vdEludE9wMk5vdEludCkKICAg
IGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTMzNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fODdfY29tcGFyZV9fc2xvdzsKICAgIHQx
Lmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTMzNwogICAgZDEuZCA9IHQxLmNhc3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMzM4CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzg3
X2NvbXBhcmVfX29wMU5vdEludFJlYWR5KQogICAgdDAuaTY0ID0gdDAuaTY0ICsgdGFnVHlwZU51
bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQwCiAgICBkMC5kID0gdDAuY2FzdFRv
RG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDEKICAgIGlmIChk
MC5kIDwgZDEuZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMjIK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzg3X2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAgICByUEMu
aSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fODdfY29tcGFyZV9fb3AyTm90SW50KQogICAgZDAu
ZCA9IHQwLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MzQ2CiAgICBpZiAoKHQxLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEzNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzg3X2NvbXBhcmVfX3Nsb3c7
CiAgICB0MS5pNjQgPSB0MS5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEzNDgKICAgIGQxLmQgPSB0MS5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTM0OQogICAgaWYgKGQwLmQgPCBkMS5kKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAyMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
ODdfY29tcGFyZV9fanVtcFRhcmdldDsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV84N19jb21wYXJlX19qdW1wVGFyZ2V0KQogICAgclBDLmkzMiA9IHJQQy5pMzIgKyAqQ0FTVDxp
bnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDYKICAgIHJQQy5jbGVhckhpZ2hXb3JkKCk7CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fODdf
Y29tcGFyZV9fc2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3Rh
dGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24q
IHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qbGVzcyhleGVjLCBwYyk7CiAgICAgICAgTExJ
bnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwog
ICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNl
UEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMu
aSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBD
LmkgPSByUEMuaSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9PUENPREVfTEFCRUwob3Bfam5sZXNzKQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDMuaSA9ICpD
QVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206NTkKICAgIGlmICh0Mi5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX184OF9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8g
X29mZmxpbmVhc21fY29tcGFyZV9fODhfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fODhfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDAuaSA9ICpDQVNU
PGludHB0cl90Kj4odDAuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQy
LmkgPSB0Mi5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTUzCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQyLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fY29tcGFyZV9fODhfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0My5p
ID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX184OV9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQzLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFy
ZV9fODlfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fODlfbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThw
ICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQzLmkgPSB0My5pIC0gaW50cHRy
X3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MS5pNjQgPSAq
Q0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fODlfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0MC51NjQgPCB0YWdUeXBlTnVtYmVy
LnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMyNQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fODlfY29tcGFyZV9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5cGVOdW1i
ZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzI2CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV84OV9jb21wYXJlX19vcDJOb3RJbnQ7CiAgICBpZiAodDAuaTMyID49IHQxLmkzMikg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDI5CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV84OV9jb21wYXJlX19qdW1wVGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0
cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtXzg5X2NvbXBhcmVfX29wMU5vdEludCkKICAgIGlmICgodDAuaTY0ICYgdGFnVHlw
ZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzMQogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fODlfY29tcGFyZV9fc2xvdzsKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVt
YmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzMgogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fODlfY29tcGFyZV9fb3AxTm90SW50T3AyTm90SW50OwogICAgZDEuZCA9IHQxLmkz
MjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMzCiAgICBn
b3RvIF9vZmZsaW5lYXNtXzg5X2NvbXBhcmVfX29wMU5vdEludFJlYWR5OyAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzMzQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fODlfY29tcGFyZV9f
b3AxTm90SW50T3AyTm90SW50KQogICAgaWYgKCh0MS5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2NCkg
PT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzM2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV84
OV9jb21wYXJlX19zbG93OwogICAgdDEuaTY0ID0gdDEuaTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzM3CiAgICBkMS5kID0gdDEuY2FzdFRvRG91YmxlOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzgKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fODlfY29tcGFyZV9fb3AxTm90SW50UmVhZHkpCiAgICB0MC5p
NjQgPSB0MC5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEz
NDAKICAgIGQwLmQgPSB0MC5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTM0MQogICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCkgfHwgaXNuYW4oZDEuZCkgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTAzMAogICAgICAgIHx8IChkMC5kID49IGQxLmQpKQogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fODlfY29tcGFyZV9fanVtcFRhcmdldDsKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV84OV9jb21wYXJlX19vcDJOb3RJbnQpCiAgICBkMC5kID0gdDAu
aTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDYKICAg
IGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTM0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fODlfY29tcGFyZV9fc2xvdzsKICAgIHQx
Lmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTM0OAogICAgZDEuZCA9IHQxLmNhc3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMzQ5CiAgICBpZiAoc3RkOjppc25hbihkMC5kKSB8fCBpc25hbihkMS5kKSAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxMDMwCiAgICAgICAgfHwgKGQwLmQgPj0gZDEuZCkpCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV84OV9jb21wYXJlX19qdW1wVGFyZ2V0OwogICAgclBDLmkgPSBy
UEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtXzg5X2NvbXBhcmVfX2p1bXBUYXJnZXQpCiAgICByUEMuaTMy
ID0gclBDLmkzMiArICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NgogICAgclBDLmNsZWFySGlnaFdvcmQoKTsKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV84OV9jb21wYXJlX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJC
YXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsK
ICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAg
ICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2pubGVzcyhl
eGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0
aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5p
ID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAg
clBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4MCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbG9vcF9pZl9ncmVhdGVyKQog
ICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo1OQogICAgdDMuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIGlmICh0Mi5pID49IGludHB0
cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9jb21wYXJlX185MF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFu
dDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZV9fOTBfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fY29tcGFyZV9fOTBfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3Rh
bnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1MQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMTI4MCk7
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQyLmkgPSB0Mi5pIC0gaW50cHRyX3QoMHg0MDAw
MDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2
NF90Kj4odDAuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fOTBfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0My5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21w
YXJlX185MV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDgKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZV9fOTFfbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29t
cGFyZV9fOTFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAg
dDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTIKICAgIHQzLmkgPSB0My5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTUzCiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQz
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fY29tcGFyZV9fOTFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkK
ICAgIGlmICh0MC51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTMyNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTFfY29tcGFyZV9fb3AxTm90SW50
OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMzI2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85MV9jb21wYXJlX19vcDJOb3RJ
bnQ7CiAgICBpZiAodDAuaTMyID4gdDEuaTMyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMDM3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85MV9jb21wYXJlX19qdW1wVGFy
Z2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzkxX2NvbXBhcmVfX29wMU5v
dEludCkKICAgIGlmICgodDAuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTMzMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTFfY29tcGFyZV9fc2xv
dzsKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTMzMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTFfY29tcGFyZV9fb3AxTm90
SW50T3AyTm90SW50OwogICAgZDEuZCA9IHQxLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMzCiAgICBnb3RvIF9vZmZsaW5lYXNtXzkxX2NvbXBhcmVf
X29wMU5vdEludFJlYWR5OyAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzQKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fOTFfY29tcGFyZV9fb3AxTm90SW50T3AyTm90SW50KQogICAgaWYg
KCh0MS5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MzM2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85MV9jb21wYXJlX19zbG93OwogICAgdDEuaTY0
ID0gdDEuaTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzM3
CiAgICBkMS5kID0gdDEuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEzMzgKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fOTFfY29t
cGFyZV9fb3AxTm90SW50UmVhZHkpCiAgICB0MC5pNjQgPSB0MC5pNjQgKyB0YWdUeXBlTnVtYmVy
Lmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDAKICAgIGQwLmQgPSB0MC5jYXN0VG9Eb3Vi
bGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM0MQogICAgaWYgKGQwLmQg
PiBkMS5kKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAzOAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fOTFfY29tcGFyZV9fanVtcFRhcmdldDsKICAgIHJQQy5pID0g
clBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV85MV9jb21wYXJlX19vcDJOb3RJbnQpCiAgICBkMC5kID0g
dDAuaTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDYK
ICAgIGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTM0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTFfY29tcGFyZV9fc2xvdzsKICAg
IHQxLmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTM0OAogICAgZDEuZCA9IHQxLmNhc3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzQ5CiAgICBpZiAoZDAuZCA+IGQxLmQpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMDM4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85MV9j
b21wYXJlX19qdW1wVGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzkx
X2NvbXBhcmVfX2p1bXBUYXJnZXQpCiAgICByUEMuaTMyID0gclBDLmkzMiArICpDQVNUPGludDMy
X3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0Ngog
ICAgclBDLmNsZWFySGlnaFdvcmQoKTsKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV85MV9jb21w
YXJlX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSog
ZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMg
PSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2pncmVhdGVyKGV4ZWMsIHBjKTsKICAgICAgICBMTElu
dDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAg
ICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQ
Qy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5p
ID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMu
aSA9IHJQQy5pICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9qZ3JlYXRlcikKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQzLmkgPSAq
Q0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjU5CiAgICBpZiAodDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZV9fOTJfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2NvbXBhcmVfXzkyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzkyX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQwLmkgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQwLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0
Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE1MwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2NvbXBhcmVfXzkyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDMu
aSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0Nwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZV9fOTNfbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0My5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBh
cmVfXzkzX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzkzX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4
cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0My5pID0gdDMuaSAtIGludHB0
cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDEuaTY0ID0g
KkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzkzX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDAudTY0IDwgdGFnVHlwZU51bWJl
ci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjUKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtXzkzX2NvbXBhcmVfX29wMU5vdEludDsKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVt
YmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMyNgogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fOTNfY29tcGFyZV9fb3AyTm90SW50OwogICAgaWYgKHQwLmkzMiA+IHQxLmkzMikg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA0NQogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fOTNfY29tcGFyZV9fanVtcFRhcmdldDsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRw
dHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV85M19jb21wYXJlX19vcDFOb3RJbnQpCiAgICBpZiAoKHQwLmk2NCAmIHRhZ1R5
cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzEKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtXzkzX2NvbXBhcmVfX3Nsb3c7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51
bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzIKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtXzkzX2NvbXBhcmVfX29wMU5vdEludE9wMk5vdEludDsKICAgIGQxLmQgPSB0MS5p
MzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzMwogICAg
Z290byBfb2ZmbGluZWFzbV85M19jb21wYXJlX19vcDFOb3RJbnRSZWFkeTsgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMzM0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzkzX2NvbXBhcmVf
X29wMU5vdEludE9wMk5vdEludCkKICAgIGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQp
ID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
OTNfY29tcGFyZV9fc2xvdzsKICAgIHQxLmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0
OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzNwogICAgZDEuZCA9IHQxLmNhc3RUb0RvdWJsZTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzM4CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtXzkzX2NvbXBhcmVfX29wMU5vdEludFJlYWR5KQogICAgdDAu
aTY0ID0gdDAuaTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MzQwCiAgICBkMC5kID0gdDAuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEzNDEKICAgIGlmIChkMC5kID4gZDEuZCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjEwNDYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzkzX2NvbXBh
cmVfX2p1bXBUYXJnZXQ7CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fOTNfY29t
cGFyZV9fb3AyTm90SW50KQogICAgZDAuZCA9IHQwLmkzMjsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQ2CiAgICBpZiAoKHQxLmk2NCAmIHRhZ1R5cGVOdW1i
ZXIuaTY0KSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDcKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtXzkzX2NvbXBhcmVfX3Nsb3c7CiAgICB0MS5pNjQgPSB0MS5pNjQgKyB0YWdUeXBlTnVt
YmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDgKICAgIGQxLmQgPSB0MS5jYXN0VG9E
b3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM0OQogICAgaWYgKGQw
LmQgPiBkMS5kKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA0Ngog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTNfY29tcGFyZV9fanVtcFRhcmdldDsKICAgIHJQQy5p
ID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV85M19jb21wYXJlX19qdW1wVGFyZ2V0KQogICAgclBD
LmkzMiA9IHJQQy5pMzIgKyAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
MykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYKICAgIHJQQy5jbGVhckhpZ2hXb3JkKCk7CiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fOTNfY29tcGFyZV9fc2xvdykKICAgIHJQQy5pOHAgPSByQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkg
PSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAK
ICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52
cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7
CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qZ3Jl
YXRlcihleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmlu
c3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJh
c2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4MCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bfam5ncmVhdGVyKQog
ICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo1OQogICAgdDMuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIGlmICh0Mi5pID49IGludHB0
cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9jb21wYXJlX185NF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFu
dDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZV9fOTRfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fY29tcGFyZV9fOTRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3Rh
bnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1MQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMTI4MCk7
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQyLmkgPSB0Mi5pIC0gaW50cHRyX3QoMHg0MDAw
MDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2
NF90Kj4odDAuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fOTRfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0My5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21w
YXJlX185NV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDgKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZV9fOTVfbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29t
cGFyZV9fOTVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAg
dDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTIKICAgIHQzLmkgPSB0My5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTUzCiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQz
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fY29tcGFyZV9fOTVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkK
ICAgIGlmICh0MC51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTMyNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTVfY29tcGFyZV9fb3AxTm90SW50
OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMzI2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85NV9jb21wYXJlX19vcDJOb3RJ
bnQ7CiAgICBpZiAodDAuaTMyIDw9IHQxLmkzMikgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMDUzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85NV9jb21wYXJlX19qdW1wVGFy
Z2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzk1X2NvbXBhcmVfX29wMU5v
dEludCkKICAgIGlmICgodDAuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTMzMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTVfY29tcGFyZV9fc2xv
dzsKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTMzMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTVfY29tcGFyZV9fb3AxTm90
SW50T3AyTm90SW50OwogICAgZDEuZCA9IHQxLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMzCiAgICBnb3RvIF9vZmZsaW5lYXNtXzk1X2NvbXBhcmVf
X29wMU5vdEludFJlYWR5OyAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzQKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fOTVfY29tcGFyZV9fb3AxTm90SW50T3AyTm90SW50KQogICAgaWYg
KCh0MS5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MzM2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85NV9jb21wYXJlX19zbG93OwogICAgdDEuaTY0
ID0gdDEuaTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzM3
CiAgICBkMS5kID0gdDEuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEzMzgKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fOTVfY29t
cGFyZV9fb3AxTm90SW50UmVhZHkpCiAgICB0MC5pNjQgPSB0MC5pNjQgKyB0YWdUeXBlTnVtYmVy
Lmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDAKICAgIGQwLmQgPSB0MC5jYXN0VG9Eb3Vi
bGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM0MQogICAgaWYgKHN0ZDo6
aXNuYW4oZDAuZCkgfHwgaXNuYW4oZDEuZCkgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA1NAogICAg
ICAgIHx8IChkMC5kIDw9IGQxLmQpKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTVfY29tcGFy
ZV9fanVtcFRhcmdldDsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV85NV9jb21w
YXJlX19vcDJOb3RJbnQpCiAgICBkMC5kID0gdDAuaTMyOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDYKICAgIGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJl
ci5pNjQpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM0NwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fOTVfY29tcGFyZV9fc2xvdzsKICAgIHQxLmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1i
ZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM0OAogICAgZDEuZCA9IHQxLmNhc3RUb0Rv
dWJsZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQ5CiAgICBpZiAoc3Rk
Ojppc25hbihkMC5kKSB8fCBpc25hbihkMS5kKSAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDU0CiAg
ICAgICAgfHwgKGQwLmQgPD0gZDEuZCkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85NV9jb21w
YXJlX19qdW1wVGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzk1X2Nv
bXBhcmVfX2p1bXBUYXJnZXQpCiAgICByUEMuaTMyID0gclBDLmkzMiArICpDQVNUPGludDMyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NgogICAg
clBDLmNsZWFySGlnaFdvcmQoKTsKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV85NV9jb21wYXJl
X19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhl
YyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBD
QVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gbGxpbnRfc2xvd19wYXRoX2puZ3JlYXRlcihleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6
OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAg
fQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+
PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkg
PSByUEMuaSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9P
UENPREVfTEFCRUwob3BfbG9vcF9pZl9sZXNzZXEpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0My5p
ID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo1OQogICAgaWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzk2
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAg
Z290byBfb2ZmbGluZWFzbV9jb21wYXJlX185Nl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25l
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX185
Nl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MC5pID0g
KkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1Mgog
ICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTMKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9jb21wYXJlX185Nl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYg
KHQzLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzk3X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2NvbnN0YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAo
dDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBfb2ZmbGluZWFzbV9j
b21wYXJlX185N19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX185N19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4
KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0
MS5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDMuaSA9IHQzLmkgLSBp
bnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQxLmk2
NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX185
N19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQwLnU2NCA8IHRhZ1R5cGVO
dW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzI1CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV85N19jb21wYXJlX19vcDFOb3RJbnQ7CiAgICBpZiAodDEudTY0IDwgdGFnVHlw
ZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjYKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtXzk3X2NvbXBhcmVfX29wMk5vdEludDsKICAgIGlmICh0MC5pMzIgPD0gdDEu
aTMyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNjEKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtXzk3X2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAgICByUEMuaSA9IHJQQy5pICsg
aW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fOTdfY29tcGFyZV9fb3AxTm90SW50KQogICAgaWYgKCh0MC5pNjQgJiB0
YWdUeXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMxCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV85N19jb21wYXJlX19zbG93OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5
cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMyCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV85N19jb21wYXJlX19vcDFOb3RJbnRPcDJOb3RJbnQ7CiAgICBkMS5kID0g
dDEuaTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzMK
ICAgIGdvdG8gX29mZmxpbmVhc21fOTdfY29tcGFyZV9fb3AxTm90SW50UmVhZHk7ICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTMzNAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV85N19jb21w
YXJlX19vcDFOb3RJbnRPcDJOb3RJbnQpCiAgICBpZiAoKHQxLmk2NCAmIHRhZ1R5cGVOdW1iZXIu
aTY0KSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzYKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtXzk3X2NvbXBhcmVfX3Nsb3c7CiAgICB0MS5pNjQgPSB0MS5pNjQgKyB0YWdUeXBlTnVtYmVy
Lmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzcKICAgIGQxLmQgPSB0MS5jYXN0VG9Eb3Vi
bGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzOAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV85N19jb21wYXJlX19vcDFOb3RJbnRSZWFkeSkKICAg
IHQwLmk2NCA9IHQwLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTM0MAogICAgZDAuZCA9IHQwLmNhc3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzQxCiAgICBpZiAoZDAuZCA8PSBkMS5kKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMDYyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85N19j
b21wYXJlX19qdW1wVGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzk3
X2NvbXBhcmVfX29wMk5vdEludCkKICAgIGQwLmQgPSB0MC5pMzI7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM0NgogICAgaWYgKCh0MS5pNjQgJiB0YWdUeXBl
TnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQ3CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV85N19jb21wYXJlX19zbG93OwogICAgdDEuaTY0ID0gdDEuaTY0ICsgdGFnVHlw
ZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQ4CiAgICBkMS5kID0gdDEuY2Fz
dFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDkKICAgIGlm
IChkMC5kIDw9IGQxLmQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
NjIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzk3X2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAgICBy
UEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fOTdfY29tcGFyZV9fanVtcFRhcmdldCkKICAg
IHJQQy5pMzIgPSByUEMuaTMyICsgKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2CiAgICByUEMuY2xlYXJIaWdoV29yZCgpOwog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzk3X2NvbXBhcmVfX3Nsb3cpCiAgICByUEMuaThwID0g
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0
My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihj
ZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMu
dnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhf
amxlc3NlcShleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQw
Lmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0
MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAg
ckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYp
OyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4MCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bfamxlc3NlcSkK
ICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206NTkKICAgIHQzLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICBpZiAodDIuaSA+PSBpbnRw
dHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fY29tcGFyZV9fOThfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3Rh
bnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzk4X2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzk4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0
YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDEyODAp
OyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAw
MDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDAuaTY0ID0gKkNBU1Q8aW50
NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzk4X2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDMuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29t
cGFyZV9fOTlfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzk5X2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Nv
bXBhcmVfXzk5X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAg
IHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTUyCiAgICB0My5pID0gdDMuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1MwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0
My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzk5X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUp
CiAgICBpZiAodDAudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEzMjUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzk5X2NvbXBhcmVfX29wMU5vdElu
dDsKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTMyNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTlfY29tcGFyZV9fb3AyTm90
SW50OwogICAgaWYgKHQwLmkzMiA8PSB0MS5pMzIpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTA2OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTlfY29tcGFyZV9fanVtcFRh
cmdldDsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV85OV9jb21wYXJlX19vcDFO
b3RJbnQpCiAgICBpZiAoKHQwLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEzMzEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzk5X2NvbXBhcmVfX3Ns
b3c7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEzMzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzk5X2NvbXBhcmVfX29wMU5v
dEludE9wMk5vdEludDsKICAgIGQxLmQgPSB0MS5pMzI7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzMwogICAgZ290byBfb2ZmbGluZWFzbV85OV9jb21wYXJl
X19vcDFOb3RJbnRSZWFkeTsgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzM0CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtXzk5X2NvbXBhcmVfX29wMU5vdEludE9wMk5vdEludCkKICAgIGlm
ICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTMzNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTlfY29tcGFyZV9fc2xvdzsKICAgIHQxLmk2
NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMz
NwogICAgZDEuZCA9IHQxLmNhc3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMzM4CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzk5X2Nv
bXBhcmVfX29wMU5vdEludFJlYWR5KQogICAgdDAuaTY0ID0gdDAuaTY0ICsgdGFnVHlwZU51bWJl
ci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQwCiAgICBkMC5kID0gdDAuY2FzdFRvRG91
YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDEKICAgIGlmIChkMC5k
IDw9IGQxLmQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNzAKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtXzk5X2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAgICByUEMuaSA9
IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fOTlfY29tcGFyZV9fb3AyTm90SW50KQogICAgZDAuZCA9
IHQwLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQ2
CiAgICBpZiAoKHQxLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEzNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzk5X2NvbXBhcmVfX3Nsb3c7CiAg
ICB0MS5pNjQgPSB0MS5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEzNDgKICAgIGQxLmQgPSB0MS5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTM0OQogICAgaWYgKGQwLmQgPD0gZDEuZCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTlf
Y29tcGFyZV9fanVtcFRhcmdldDsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV85
OV9jb21wYXJlX19qdW1wVGFyZ2V0KQogICAgclBDLmkzMiA9IHJQQy5pMzIgKyAqQ0FTVDxpbnQz
Ml90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYK
ICAgIHJQQy5jbGVhckhpZ2hXb3JkKCk7CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fOTlfY29t
cGFyZV9fc2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUq
IGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBj
ID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qbGVzc2VxKGV4ZWMsIHBjKTsKICAgICAgICBMTElu
dDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAg
ICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQ
Qy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5p
ID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMu
aSA9IHJQQy5pICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9qbmxlc3NlcSkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkKICAgIHQzLmkgPSAq
Q0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjU5CiAgICBpZiAodDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZV9fMTAwX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290
byBfb2ZmbGluZWFzbV9jb21wYXJlX18xMDBfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fMTAw
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQwLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAg
ICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1MwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2NvbXBhcmVfXzEwMF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYg
KHQzLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzEwMV9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsg
KHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZV9fMTAxX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzEwMV9sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAg
LSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MS5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDMuaSA9IHQzLmkg
LSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTMKICAgIHQx
Lmk2NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJl
X18xMDFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0MC51NjQgPCB0YWdU
eXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMyNQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fMTAxX2NvbXBhcmVfX29wMU5vdEludDsKICAgIGlmICh0MS51NjQgPCB0
YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMyNgogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fMTAxX2NvbXBhcmVfX29wMk5vdEludDsKICAgIGlmICh0MC5pMzIg
PiB0MS5pMzIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNzcKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtXzEwMV9jb21wYXJlX19qdW1wVGFyZ2V0OwogICAgclBDLmkgPSBy
UEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtXzEwMV9jb21wYXJlX19vcDFOb3RJbnQpCiAgICBpZiAoKHQw
Lmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzEK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzEwMV9jb21wYXJlX19zbG93OwogICAgaWYgKHQxLnU2
NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMyCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV8xMDFfY29tcGFyZV9fb3AxTm90SW50T3AyTm90SW50Owog
ICAgZDEuZCA9IHQxLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMzMzCiAgICBnb3RvIF9vZmZsaW5lYXNtXzEwMV9jb21wYXJlX19vcDFOb3RJbnRSZWFk
eTsgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEzMzQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fMTAxX2NvbXBhcmVfX29wMU5vdEludE9wMk5vdEludCkKICAgIGlmICgodDEuaTY0ICYgdGFn
VHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzNgogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fMTAxX2NvbXBhcmVfX3Nsb3c7CiAgICB0MS5pNjQgPSB0MS5pNjQgKyB0
YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzcKICAgIGQxLmQgPSB0
MS5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzOAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8xMDFfY29tcGFyZV9fb3AxTm90
SW50UmVhZHkpCiAgICB0MC5pNjQgPSB0MC5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEzNDAKICAgIGQwLmQgPSB0MC5jYXN0VG9Eb3VibGU7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM0MQogICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCkg
fHwgaXNuYW4oZDEuZCkgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3OAogICAgICAgIHx8IChkMC5k
ID4gZDEuZCkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8xMDFfY29tcGFyZV9fanVtcFRhcmdl
dDsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8xMDFfY29tcGFyZV9fb3AyTm90
SW50KQogICAgZDAuZCA9IHQwLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMzQ2CiAgICBpZiAoKHQxLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAw
KSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzEwMV9j
b21wYXJlX19zbG93OwogICAgdDEuaTY0ID0gdDEuaTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7ICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQ4CiAgICBkMS5kID0gdDEuY2FzdFRvRG91YmxlOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDkKICAgIGlmIChzdGQ6OmlzbmFuKGQw
LmQpIHx8IGlzbmFuKGQxLmQpICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNzgKICAgICAgICB8fCAo
ZDAuZCA+IGQxLmQpKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMTAxX2NvbXBhcmVfX2p1bXBU
YXJnZXQ7CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUo
KTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMTAxX2NvbXBhcmVfX2p1
bXBUYXJnZXQpCiAgICByUEMuaTMyID0gclBDLmkzMiArICpDQVNUPGludDMyX3QqPihyQmFzZVBD
Lmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NgogICAgclBDLmNsZWFy
SGlnaFdvcmQoKTsKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8xMDFfY29tcGFyZV9fc2xvdykK
ICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNU
PEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0
cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxs
aW50X3Nsb3dfcGF0aF9qbmxlc3NlcShleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBD
LmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRy
X3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSAr
IGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFC
RUwob3BfbG9vcF9pZl9ncmVhdGVyZXEpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0My5pID0gKkNB
U1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo1OQogICAgaWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzEwMl9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8g
X29mZmxpbmVhc21fY29tcGFyZV9fMTAyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzEwMl9s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MC5pID0gKkNB
U1Q8aW50cHRyX3QqPih0MC5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAg
dDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTMKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9jb21wYXJlX18xMDJfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0
My5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX18xMDNfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0
My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2Nv
bXBhcmVfXzEwM19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX18xMDNfbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0g
OCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4o
dDEuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQzLmkgPSB0My5pIC0g
aW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MS5p
NjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9f
MTAzX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDAudTY0IDwgdGFnVHlw
ZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjUKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtXzEwM19jb21wYXJlX19vcDFOb3RJbnQ7CiAgICBpZiAodDEudTY0IDwgdGFn
VHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjYKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtXzEwM19jb21wYXJlX19vcDJOb3RJbnQ7CiAgICBpZiAodDAuaTMyID49
IHQxLmkzMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDg1CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV8xMDNfY29tcGFyZV9fanVtcFRhcmdldDsKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV8xMDNfY29tcGFyZV9fb3AxTm90SW50KQogICAgaWYgKCh0MC5p
NjQgJiB0YWdUeXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMxCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV8xMDNfY29tcGFyZV9fc2xvdzsKICAgIGlmICh0MS51NjQg
PCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzMgogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fMTAzX2NvbXBhcmVfX29wMU5vdEludE9wMk5vdEludDsKICAg
IGQxLmQgPSB0MS5pMzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTMzMwogICAgZ290byBfb2ZmbGluZWFzbV8xMDNfY29tcGFyZV9fb3AxTm90SW50UmVhZHk7
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzM0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
XzEwM19jb21wYXJlX19vcDFOb3RJbnRPcDJOb3RJbnQpCiAgICBpZiAoKHQxLmk2NCAmIHRhZ1R5
cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzYKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtXzEwM19jb21wYXJlX19zbG93OwogICAgdDEuaTY0ID0gdDEuaTY0ICsgdGFn
VHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzM3CiAgICBkMS5kID0gdDEu
Y2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzgKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMTAzX2NvbXBhcmVfX29wMU5vdElu
dFJlYWR5KQogICAgdDAuaTY0ID0gdDAuaTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzQwCiAgICBkMC5kID0gdDAuY2FzdFRvRG91YmxlOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDEKICAgIGlmIChkMC5kID49IGQxLmQpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODYKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtXzEwM19jb21wYXJlX19qdW1wVGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0
cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtXzEwM19jb21wYXJlX19vcDJOb3RJbnQpCiAgICBkMC5kID0gdDAuaTMyOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDYKICAgIGlmICgodDEu
aTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM0Nwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fMTAzX2NvbXBhcmVfX3Nsb3c7CiAgICB0MS5pNjQgPSB0
MS5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDgKICAg
IGQxLmQgPSB0MS5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTM0OQogICAgaWYgKGQwLmQgPj0gZDEuZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTA4NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMTAzX2NvbXBhcmVfX2p1
bXBUYXJnZXQ7CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENP
REUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMTAzX2NvbXBhcmVf
X2p1bXBUYXJnZXQpCiAgICByUEMuaTMyID0gclBDLmkzMiArICpDQVNUPGludDMyX3QqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NgogICAgclBDLmNs
ZWFySGlnaFdvcmQoKTsKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8xMDNfY29tcGFyZV9fc2xv
dykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBD
QVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJ
bnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IGxsaW50X3Nsb3dfcGF0aF9qZ3JlYXRlcmVxKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVj
b2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAg
ICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChp
bnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQ
Qy5pICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9qZ3JlYXRlcmVxKQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBD
Lmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgdDMuaSA9ICpDQVNU
PGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
NTkKICAgIGlmICh0Mi5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX18xMDRfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9v
ZmZsaW5lYXNtX2NvbXBhcmVfXzEwNF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX18xMDRfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDAuaSA9ICpDQVNU
PGludHB0cl90Kj4odDAuaThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQy
LmkgPSB0Mi5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTUzCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQyLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fY29tcGFyZV9fMTA0X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDMu
aSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0Nwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZV9fMTA1X2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX2NvbnN0YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDMu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBfb2ZmbGluZWFzbV9jb21w
YXJlX18xMDVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fMTA1X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTEKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCArIDEyODApOyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0My5pID0gdDMuaSAtIGlu
dHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDEuaTY0
ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzEw
NV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQwLnU2NCA8IHRhZ1R5cGVO
dW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzI1CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV8xMDVfY29tcGFyZV9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5
cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzI2CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV8xMDVfY29tcGFyZV9fb3AyTm90SW50OwogICAgaWYgKHQwLmkzMiA+PSB0
MS5pMzIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA5MwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fMTA1X2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAgICByUEMuaSA9IHJQQy5p
ICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fMTA1X2NvbXBhcmVfX29wMU5vdEludCkKICAgIGlmICgodDAuaTY0
ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzMQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fMTA1X2NvbXBhcmVfX3Nsb3c7CiAgICBpZiAodDEudTY0IDwg
dGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzIKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtXzEwNV9jb21wYXJlX19vcDFOb3RJbnRPcDJOb3RJbnQ7CiAgICBk
MS5kID0gdDEuaTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzMzMKICAgIGdvdG8gX29mZmxpbmVhc21fMTA1X2NvbXBhcmVfX29wMU5vdEludFJlYWR5OyAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTMzNAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8x
MDVfY29tcGFyZV9fb3AxTm90SW50T3AyTm90SW50KQogICAgaWYgKCh0MS5pNjQgJiB0YWdUeXBl
TnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzM2CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV8xMDVfY29tcGFyZV9fc2xvdzsKICAgIHQxLmk2NCA9IHQxLmk2NCArIHRhZ1R5
cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzNwogICAgZDEuZCA9IHQxLmNh
c3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzM4CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzEwNV9jb21wYXJlX19vcDFOb3RJbnRS
ZWFkeSkKICAgIHQwLmk2NCA9IHQwLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTM0MAogICAgZDAuZCA9IHQwLmNhc3RUb0RvdWJsZTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQxCiAgICBpZiAoZDAuZCA+PSBkMS5kKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDk0CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV8xMDVfY29tcGFyZV9fanVtcFRhcmdldDsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJf
dCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV8xMDVfY29tcGFyZV9fb3AyTm90SW50KQogICAgZDAuZCA9IHQwLmkzMjsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQ2CiAgICBpZiAoKHQxLmk2
NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDcKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtXzEwNV9jb21wYXJlX19zbG93OwogICAgdDEuaTY0ID0gdDEu
aTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQ4CiAgICBk
MS5kID0gdDEuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzNDkKICAgIGlmIChkMC5kID49IGQxLmQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjEwOTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzEwNV9jb21wYXJlX19qdW1w
VGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzEwNV9jb21wYXJlX19q
dW1wVGFyZ2V0KQogICAgclBDLmkzMiA9IHJQQy5pMzIgKyAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYKICAgIHJQQy5jbGVh
ckhpZ2hXb3JkKCk7CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMTA1X2NvbXBhcmVfX3Nsb3cp
CiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FT
VDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5z
dHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfamdyZWF0ZXJlcShleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAg
clBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50
cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMu
aSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVf
TEFCRUwob3Bfam5ncmVhdGVyZXEpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0My5pID0gKkNBU1Q8
aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1
OQogICAgaWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzEwNl9sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDgKICAgIGdvdG8gX29m
ZmxpbmVhc21fY29tcGFyZV9fMTA2X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzEwNl9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0MC5pID0gKkNBU1Q8
aW50cHRyX3QqPih0MC5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDIu
aSA9IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTMKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9jb21wYXJlX18xMDZfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0My5p
ID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX18xMDdfbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0My5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBh
cmVfXzEwN19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX18xMDdfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1MQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEu
aThwICsgMTI4MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTIKICAgIHQzLmkgPSB0My5pIC0gaW50
cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzCiAgICB0MS5pNjQg
PSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fMTA3
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDAudTY0IDwgdGFnVHlwZU51
bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjUKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtXzEwN19jb21wYXJlX19vcDFOb3RJbnQ7CiAgICBpZiAodDEudTY0IDwgdGFnVHlw
ZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjYKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtXzEwN19jb21wYXJlX19vcDJOb3RJbnQ7CiAgICBpZiAodDAuaTMyIDwgdDEu
aTMyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTAxCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV8xMDdfY29tcGFyZV9fanVtcFRhcmdldDsKICAgIHJQQy5pID0gclBDLmkg
KyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV8xMDdfY29tcGFyZV9fb3AxTm90SW50KQogICAgaWYgKCh0MC5pNjQg
JiB0YWdUeXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMxCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV8xMDdfY29tcGFyZV9fc2xvdzsKICAgIGlmICh0MS51NjQgPCB0
YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzMgogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fMTA3X2NvbXBhcmVfX29wMU5vdEludE9wMk5vdEludDsKICAgIGQx
LmQgPSB0MS5pMzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTMzMwogICAgZ290byBfb2ZmbGluZWFzbV8xMDdfY29tcGFyZV9fb3AxTm90SW50UmVhZHk7ICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMzM0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzEw
N19jb21wYXJlX19vcDFOb3RJbnRPcDJOb3RJbnQpCiAgICBpZiAoKHQxLmk2NCAmIHRhZ1R5cGVO
dW1iZXIuaTY0KSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzYKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtXzEwN19jb21wYXJlX19zbG93OwogICAgdDEuaTY0ID0gdDEuaTY0ICsgdGFnVHlw
ZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzM3CiAgICBkMS5kID0gdDEuY2Fz
dFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzgKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMTA3X2NvbXBhcmVfX29wMU5vdEludFJl
YWR5KQogICAgdDAuaTY0ID0gdDAuaTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMzQwCiAgICBkMC5kID0gdDAuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDEKICAgIGlmIChzdGQ6OmlzbmFuKGQwLmQpIHx8IGlz
bmFuKGQxLmQpICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMDIKICAgICAgICB8fCAoZDAuZCA8IGQx
LmQpKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMTA3X2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAg
ICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMTA3X2NvbXBhcmVfX29wMk5vdEludCkK
ICAgIGQwLmQgPSB0MC5pMzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTM0NgogICAgaWYgKCh0MS5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2NCkgPT0gMCkgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMzQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8xMDdfY29tcGFy
ZV9fc2xvdzsKICAgIHQxLmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTM0OAogICAgZDEuZCA9IHQxLmNhc3RUb0RvdWJsZTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQ5CiAgICBpZiAoc3RkOjppc25hbihkMC5kKSB8
fCBpc25hbihkMS5kKSAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTAyCiAgICAgICAgfHwgKGQwLmQg
PCBkMS5kKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzEwN19jb21wYXJlX19qdW1wVGFyZ2V0
OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzEwN19jb21wYXJlX19qdW1wVGFy
Z2V0KQogICAgclBDLmkzMiA9IHJQQy5pMzIgKyAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYKICAgIHJQQy5jbGVhckhpZ2hX
b3JkKCk7CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMTA3X2NvbXBhcmVfX3Nsb3cpCiAgICBy
UEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVj
U3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rp
b24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9z
bG93X3BhdGhfam5ncmVhdGVyZXEoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5p
ID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQK
ICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90
KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBp
bnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX2xvb3BfaGludCkKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDEpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3N3aXRjaF9zdHJpbmcpCiAg
ICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxF
eGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1
Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGlu
dF9zbG93X3BhdGhfc3dpdGNoX3N0cmluZyhleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAg
clBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50
cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBDLmkgPSByUEMu
aSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVf
TEFCRUwob3BfbmV3X2Z1bmNfZXhwKQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAg
IEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0
cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX25ld19mdW5jX2V4cChleGVjLCBw
Yyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0
MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkg
PSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5Nwog
ICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfY2FsbCkKICAgIHQwLmkgPSAqQ0FTVDxp
bnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTkK
ICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsg
aW50cHRyX3QoMHgyMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo2MwogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsg
MTYpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDU1CiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgw
eDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NwogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fZG9DYWxsX18xMDhfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAg
ICB0My5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQ4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2RvQ2FsbF9fMTA4X2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2RvQ2FsbF9fMTA4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQog
ICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTEKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCArIDEyODApOyAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTUyCiAgICB0MC5pID0gdDAuaSAtIGludHB0cl90KDB4NDAwMDAwMDAp
OyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MwogICAgdDMuaTY0ID0gKkNBU1Q8aW50NjRfdCo+
KHQzLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2RvQ2FsbF9fMTA4X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2RvbmUpCiAgICBpZiAodDMuaTY0ICE9IHQyLmk2NCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0NTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2RvQ2FsbF9f
b3BDYWxsU2xvdzsKICAgIHQzLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICByUEMuaTMyID0gclBDLmkzMiArIGlu
dDMyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NTkKICAgIHJQQy5jbGVhckhp
Z2hXb3JkKCk7CiAgICB0My5pMzIgPSB0My5pMzIgPDwgKGludHB0cl90KDB4MykgJiAweDFmKTsg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0NjAKICAgIHQzLmNsZWFySGlnaFdvcmQoKTsKICAgIHQzLmkgPSB0
My5pICsgY2ZyLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2MQog
ICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwICsgMzIpOyAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNDYyCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwIC0gMzIpID0gdDIuaTY0OyAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0NjMKICAgICpDQVNUPGludDY0X3QqPih0My5pOHAgLSAyNCkgPSB0
MC5pNjQ7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2NAogICAgdDIuaSA9ICpDQVNUPGludDMyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KC0zMikpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OQogICAgKkNB
U1Q8aW50MzJfdCo+KGNmci5pOHAgLSA0OCkgPSByUEMuaTMyOyAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDY2CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwIC0gNDApID0gY2ZyLmk2NDsgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE0NjcKICAgICpDQVNUPGludDMyX3QqPih0My5pOHAgLSA0NCkgPSB0Mi5pMzI7
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2OAogICAgY2ZyLmkgPSB0My5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDY5CiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAgKyAzMik7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMTQKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9kb0NhbGxf
X29wQ2FsbFNsb3cpCiAgICB0MC5pMzIgPSByUEMuaTMyICsgaW50MzJfdCgweDYpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEyMQogICAgdDAuY2xlYXJIaWdoV29yZCgpOwogICAgKkNBU1Q8
aW50MzJfdCo+KGNmci5pOHAgLSA0OCkgPSB0MC5pMzI7ICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIK
ICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNU
PEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0
cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxs
aW50X3Nsb3dfcGF0aF9jYWxsKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICBjZnIuaSA9
IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQog
ICAgb3Bjb2RlID0gdDAub3Bjb2RlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9jb25zdHJ1Y3QpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MjApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjMKICAgIHQy
LmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTQ1NQogICAgaWYgKHQwLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2RvQ2FsbF9fMTA5X2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDMuaTY0ID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0OAogICAgZ290byBf
b2ZmbGluZWFzbV9kb0NhbGxfXzEwOV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9kb0NhbGxfXzEwOV9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUxCiAgICB0My5pID0gKkNBU1Q8
aW50cHRyX3QqPih0My5pOHAgKyAxMjgwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MgogICAgdDAu
aSA9IHQwLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTMKICAgIHQzLmk2NCA9ICpDQVNUPGludDY0X3QqPih0My5pOHAgKyAodDAuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9kb0NhbGxfXzEwOV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQzLmk2
NCAhPSB0Mi5pNjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDU3CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV8xMDlfZG9DYWxsX19vcENhbGxTbG93OwogICAgdDMuaSA9
ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206NTkKICAgIHJQQy5pMzIgPSByUEMuaTMyICsgaW50MzJfdCgweDYpOyAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ1OQogICAgclBDLmNsZWFySGlnaFdvcmQoKTsKICAgIHQzLmkzMiA9
IHQzLmkzMiA8PCAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2MAog
ICAgdDMuY2xlYXJIaWdoV29yZCgpOwogICAgdDMuaSA9IHQzLmkgKyBjZnIuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDYxCiAgICB0MC5pID0gKkNBU1Q8aW50cHRy
X3QqPih0Mi5pOHAgKyAzMik7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjIKICAgICpDQVNUPGlu
dDY0X3QqPih0My5pOHAgLSAzMikgPSB0Mi5pNjQ7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2Mwog
ICAgKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCAtIDI0KSA9IHQwLmk2NDsgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNDY0CiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoLTMyKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU5CiAgICAqQ0FTVDxpbnQzMl90Kj4oY2ZyLmk4cCAt
IDQ4KSA9IHJQQy5pMzI7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjYKICAgICpDQVNUPGludDY0X3Qq
Pih0My5pOHAgLSA0MCkgPSBjZnIuaTY0OyAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2NwogICAgKkNB
U1Q8aW50MzJfdCo+KHQzLmk4cCAtIDQ0KSA9IHQyLmkzMjsgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDY4CiAgICBjZnIuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE0NjkKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCArIDMyKTsg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjIxNAogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzEwOV9kb0NhbGxfX29wQ2FsbFNsb3cpCiAgICB0
MC5pMzIgPSByUEMuaTMyICsgaW50MzJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEyMQogICAgdDAuY2xlYXJIaWdoV29yZCgpOwogICAgKkNBU1Q8aW50MzJfdCo+KGNmci5pOHAg
LSA0OCkgPSB0MC5pMzI7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIKICAgIHJQQy5pOHAgPSByQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkg
PSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAK
ICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52
cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7
CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9jb25z
dHJ1Y3QoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5p
bnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIGNmci5pID0gdDEuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI1CiAgICBvcGNvZGUgPSB0
MC5vcGNvZGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMjcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NhbGxfdmFyYXJn
cykKICAgIHQwLmkzMiA9IHJQQy5pMzIgKyBpbnQzMl90KDB4Nik7ICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTIxCiAgICB0MC5jbGVhckhpZ2hXb3JkKCk7CiAgICAqQ0FTVDxpbnQzMl90Kj4o
Y2ZyLmk4cCAtIDQ4KSA9IHQwLmkzMjsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMgogICAgclBDLmk4
cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQog
ICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRl
Kj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4o
clBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19w
YXRoX2NhbGxfdmFyYXJncyhleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChy
ZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgY2ZyLmkgPSB0
MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjUKICAg
IG9wY29kZSA9IHQwLm9wY29kZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjIyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bf
Y2FsbF9ldmFsKQogICAgdDAuaTMyID0gclBDLmkzMiArIGludDMyX3QoMHg0KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMjEKICAgIHQwLmNsZWFySGlnaFdvcmQoKTsKICAgICpDQVNUPGlu
dDMyX3QqPihjZnIuaThwIC0gNDgpID0gdDAuaTMyOyAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTIyCiAg
ICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxF
eGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1
Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGlu
dF9zbG93X3BhdGhfY2FsbF9ldmFsKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICBjZnIu
aSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEy
NQogICAgb3Bjb2RlID0gdDAub3Bjb2RlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwo
bGxpbnRfZ2VuZXJpY19yZXR1cm5fcG9pbnQpCiAgICByUEMudSA9ICpDQVNUPHVpbnQzMl90Kj4o
Y2ZyLmk4cCAtIDQ4KTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICByQmFzZVBDLmkgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU2CiAgICByQmFzZVBD
LmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgOTYpOyAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU3CiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09Q
Q09ERV9MQUJFTChvcF9zdHJjYXQpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5pID0gckJhc2VQQy5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3CiAgICAgICAg
RXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3Ry
dWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfc3RyY2F0KGV4ZWMsIHBjKTsKICAg
ICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNT
dGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5p
IC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMu
aSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4
CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfcG5hbWVzKQogICAgclBDLmk4cCA9IHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9
IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZw
KTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2dldF9w
bmFtZXMoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5p
bnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJC
YXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1c2hfd2l0aF9z
Y29wZSkKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMg
PSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FT
VDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3Vs
dCA9IGxsaW50X3Nsb3dfcGF0aF9wdXNoX3dpdGhfc2NvcGUoZXhlYywgcGMpOwogICAgICAgIExM
SW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsK
ICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFz
ZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBD
LmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQ
Qy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX3BvcF9zY29wZSkKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBD
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcK
ICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAg
ICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAg
U2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9wb3Bfc2NvcGUoZXhl
YywgcGMpOwogICAgICAgIExMSW50OjpkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlv
biwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9
IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQ
Qy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDEpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1c2hfbmFtZV9zY29wZSkKICAg
IHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4
ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVj
dGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50
X3Nsb3dfcGF0aF9wdXNoX25hbWVfc2NvcGUoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAg
IHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGlu
dHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX3Rocm93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlv
biogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3Rocm93KGV4ZWMsIHBjKTsKICAgICAgICBM
TEludDo6ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7
CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJh
c2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQ
Qy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICBy
UEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF90aHJvd19zdGF0aWNfZXJyb3IpCiAgICByUEMuaThwID0gckJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICB0My5p
ID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkw
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjY3CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIu
dnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnAp
OwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfdGhy
b3dfc3RhdGljX2Vycm9yKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2RlUmVzdWx0KHJl
c3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQw
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0CiAgICBj
ZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMp
ICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRy
X3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9w
cm9maWxlX3dpbGxfY2FsbCkKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVj
U3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rp
b24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9wcm9maWxlX3dpbGxfY2FsbChleGVjLCBw
Yyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0
MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkg
PSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5Nwog
ICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Mik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHJvZmlsZV9kaWRfY2FsbCkKICAgIHJQ
Qy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNT
dGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlv
bio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Ns
b3dfcGF0aF9wcm9maWxlX2RpZF9jYWxsKGV4ZWMsIHBjKTsKICAgICAgICBMTEludDo6ZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICBy
UEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojk0CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjk1CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk2CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRw
dHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4CiAgICByUEMuaSA9IHJQQy5p
ICsgaW50cHRyX3QoMHgyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9kZWJ1ZykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3Rh
dGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24q
IHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9kZWJ1ZyhleGVjLCBwYyk7CiAgICAgICAgTExJ
bnQ6OmRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwog
ICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo5NAogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNl
UEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMu
aSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgclBD
LmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9HTFVFX0xBQkVMKGxsaW50X25hdGl2ZV9jYWxsX3RyYW1wb2xpbmUpCiAgICAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAgLSA4KSA9IGludHB0cl90KDB4MCk7ICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MzcKICAg
IHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA0MCk7ICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTY1NgogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwIC0gMjQpOyAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNjU3CiAgICAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSAyNCkgPSB0
MS5pOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NTgKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+
KChBU1NFUlQoMCA9PSBvZmZzZXRvZihKSVRTdGFja0ZyYW1lLCBnbG9iYWxEYXRhKSksICZzcC0+
Z2xvYmFsRGF0YSkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE2NjAKICAgICpDQVNUPGludHB0cl90Kj4odDMuaThwICsgMzY4MzIp
ID0gY2ZyLmk7ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY2MQogICAgdDIuaSA9IHQwLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjYzCiAgICB0My5pID0gclJl
dFZQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxODcKICAgICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDE2KSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTY2NQogICAgdDAuaSA9IGNmci5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNjY2CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMzIp
OyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE2NjcKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCArIDI0KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY2OAogICAgY2ZyLmkgPSB0Mi5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjY5CiAgICBuYXRp
dmVGdW5jID0gKkNBU1Q8TmF0aXZlRnVuY3Rpb24qPih0MS5pOHAgKyAzMik7ICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2
NzAKICAgIGZ1bmN0aW9uUmV0dXJuVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUobmF0aXZlRnVuYyh0
MC5leGVjU3RhdGUpKTsKICAgICNpZiBVU0UoSlNWQUxVRTMyXzY0KQogICAgICAgIHQxLmkgPSBm
dW5jdGlvblJldHVyblZhbHVlLnRhZygpOwogICAgICAgIHQwLmkgPSBmdW5jdGlvblJldHVyblZh
bHVlLnBheWxvYWQoKTsKICAgICNlbHNlIC8vIFVTRV9KU1ZBTFVFNjQpCiAgICAgICAgdDAuZW5j
b2RlZEpTVmFsdWUgPSBKU1ZhbHVlOjplbmNvZGUoZnVuY3Rpb25SZXR1cm5WYWx1ZSk7CiAgICAj
ZW5kaWYgLy8gVVNFX0pTVkFMVUU2NCkKICAgIHJSZXRWUEMuaSA9IHQzLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5OAogICAgdDMuaSA9ICpDQVNUPGludHB0cl90
Kj4oKEFTU0VSVCgwID09IG9mZnNldG9mKEpJVFN0YWNrRnJhbWUsIGdsb2JhbERhdGEpKSwgJnNw
LT5nbG9iYWxEYXRhKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTY3MwogICAgaWYgKCpDQVNUPGludDY0X3QqPih0My5pOHAgKyA0
MzM3NikgIT0gMCkgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjc4CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9uYXRpdmVDYWxsVHJhbXBvbGluZV9fZXhjZXB0aW9uOwogICAgZ290byBkb1JldHVybkhlbHBl
cjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjc5CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX25hdGl2ZUNhbGxUcmFtcG9saW5lX19leGNlcHRp
b24pCiAgICB0MS5pID0gclJldFZQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxODcKICAgIHJQQy51ID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwIC0gNDgpOyAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTY4MgogICAgckJhc2VQQy5pID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjgzCiAgICByQmFzZVBDLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KHJCYXNlUEMuaThwICsgOTYpOyAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2ODQKICAgIHQwLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KChBU1NFUlQoMCA9PSBvZmZzZXRvZihKSVRTdGFja0ZyYW1lLCBnbG9i
YWxEYXRhKSksICZzcC0+Z2xvYmFsRGF0YSkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2ODUKICAgICpDQVNUPGludHB0cl90Kj4o
dDAuaThwICsgMzY4MzIpID0gY2ZyLmk7ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY4NgogICAgclBDLmk4
cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQog
ICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5MAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2NwogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRl
Kj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4o
clBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfdGhyb3df
ZnJvbV9uYXRpdmVfY2FsbChleGVjLCBwYyk7CiAgICAgICAgTExJbnQ6OmRlY29kZVJlc3VsdChy
ZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0
MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NAogICAg
Y2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo5NQogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo5NgogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5NwogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgz
KSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OAogICAgZ290byBsbGludF90aHJvd19mcm9t
X3Nsb3dfcGF0aF90cmFtcG9saW5lOyAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjg4CgpPRkZMSU5FX0FTTV9H
TFVFX0xBQkVMKGxsaW50X25hdGl2ZV9jb25zdHJ1Y3RfdHJhbXBvbGluZSkKICAgICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCAtIDgpID0gaW50cHRyX3QoMHgwKTsgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYzNwog
ICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDQwKTsgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNjU2CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgLSAyNCk7ICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE2NTcKICAgICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDI0KSA9
IHQxLmk7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY1OAogICAgdDMuaSA9ICpDQVNUPGludHB0cl90
Kj4oKEFTU0VSVCgwID09IG9mZnNldG9mKEpJVFN0YWNrRnJhbWUsIGdsb2JhbERhdGEpKSwgJnNw
LT5nbG9iYWxEYXRhKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTY2MAogICAgKkNBU1Q8aW50cHRyX3QqPih0My5pOHAgKyAzNjgz
MikgPSBjZnIuaTsgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjYxCiAgICB0Mi5pID0gdDAuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NjMKICAgIHQzLmkgPSBy
UmV0VlBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4NwogICAg
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMTYpID0gdDMuaTsgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNjY1CiAgICB0MC5pID0gY2ZyLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE2NjYKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSAz
Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY2NwogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4o
dDEuaThwICsgMjQpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjY4CiAgICBjZnIuaSA9IHQyLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NjkKICAgIG5h
dGl2ZUZ1bmMgPSAqQ0FTVDxOYXRpdmVGdW5jdGlvbio+KHQxLmk4cCArIDQwKTsgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTY3MAogICAgZnVuY3Rpb25SZXR1cm5WYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShuYXRpdmVGdW5j
KHQwLmV4ZWNTdGF0ZSkpOwogICAgI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAgICAgdDEuaSA9
IGZ1bmN0aW9uUmV0dXJuVmFsdWUudGFnKCk7CiAgICAgICAgdDAuaSA9IGZ1bmN0aW9uUmV0dXJu
VmFsdWUucGF5bG9hZCgpOwogICAgI2Vsc2UgLy8gVVNFX0pTVkFMVUU2NCkKICAgICAgICB0MC5l
bmNvZGVkSlNWYWx1ZSA9IEpTVmFsdWU6OmVuY29kZShmdW5jdGlvblJldHVyblZhbHVlKTsKICAg
ICNlbmRpZiAvLyBVU0VfSlNWQUxVRTY0KQogICAgclJldFZQQy5pID0gdDMuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk4CiAgICB0My5pID0gKkNBU1Q8aW50cHRy
X3QqPigoQVNTRVJUKDAgPT0gb2Zmc2V0b2YoSklUU3RhY2tGcmFtZSwgZ2xvYmFsRGF0YSkpLCAm
c3AtPmdsb2JhbERhdGEpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNjczCiAgICBpZiAoKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCAr
IDQzMzc2KSAhPSAwKSAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NzgKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtXzEwOV9uYXRpdmVDYWxsVHJhbXBvbGluZV9fZXhjZXB0aW9uOwogICAgZ290byBkb1JldHVy
bkhlbHBlcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjc5CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzEwOV9uYXRpdmVDYWxsVHJhbXBvbGlu
ZV9fZXhjZXB0aW9uKQogICAgdDEuaSA9IHJSZXRWUEMuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTg3CiAgICByUEMudSA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4
cCAtIDQ4KTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2ODIKICAgIHJCYXNlUEMuaSA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY4MwogICAgckJhc2VQQy5p
ID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIDk2KTsgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjg0CiAg
ICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPigoQVNTRVJUKDAgPT0gb2Zmc2V0b2YoSklUU3RhY2tG
cmFtZSwgZ2xvYmFsRGF0YSkpLCAmc3AtPmdsb2JhbERhdGEpKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjg1CiAgICAqQ0FTVDxp
bnRwdHJfdCo+KHQwLmk4cCArIDM2ODMyKSA9IGNmci5pOyAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2ODYK
ICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODkKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTAKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNU
PEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0
cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxs
aW50X3Rocm93X2Zyb21fbmF0aXZlX2NhbGwoZXhlYywgcGMpOwogICAgICAgIExMSW50OjpkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAg
IHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTQKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTUKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206OTYKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcKICAgIHJQQy5pID0gclBDLmkgPj4gKGlu
dHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgKICAgIGdvdG8gbGxpbnRf
dGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZTsgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY4OAoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9ieV9pZF9jaGFpbikKICAgIENSQVNIKCk7IC8v
IGJyZWFrIGluc3RydWN0aW9uIG5vdCBpbXBsZW1lbnRlZC4gICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjUKCk9GRkxJ
TkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfYnlfaWRfY3VzdG9tX2NoYWluKQogICAgQ1JBU0go
KTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVudGVkLiAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2NQoK
T0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9ieV9pZF9jdXN0b21fcHJvdG8pCiAgICBD
UkFTSCgpOyAvLyBicmVhayBpbnN0cnVjdGlvbiBub3QgaW1wbGVtZW50ZWQuICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MjY1CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X2J5X2lkX2N1c3RvbV9zZWxmKQog
ICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVudGVkLiAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTI2NQoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9ieV9pZF9nZW5lcmljKQog
ICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVudGVkLiAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTI2NQoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9ieV9pZF9nZXR0ZXJfY2hh
aW4pCiAgICBDUkFTSCgpOyAvLyBicmVhayBpbnN0cnVjdGlvbiBub3QgaW1wbGVtZW50ZWQuICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMjY1CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X2J5X2lkX2dldHRl
cl9wcm90bykKICAgIENSQVNIKCk7IC8vIGJyZWFrIGluc3RydWN0aW9uIG5vdCBpbXBsZW1lbnRl
ZC4gICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEyNjUKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfYnlfaWRf
Z2V0dGVyX3NlbGYpCiAgICBDUkFTSCgpOyAvLyBicmVhayBpbnN0cnVjdGlvbiBub3QgaW1wbGVt
ZW50ZWQuICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMjY1CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X2J5
X2lkX3Byb3RvKQogICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVu
dGVkLiAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTI2NQoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9ieV9p
ZF9zZWxmKQogICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVudGVk
LiAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTI2NQoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9zdHJpbmdf
bGVuZ3RoKQogICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVudGVk
LiAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTI2NQoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1dF9ieV9pZF9n
ZW5lcmljKQogICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVudGVk
LiAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTI2NQoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1dF9ieV9pZF9y
ZXBsYWNlKQogICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVudGVk
LiAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTI2NQoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1dF9ieV9pZF90
cmFuc2l0aW9uKQogICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVu
dGVkLiAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTI2NQoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2luaXRfZ2xv
YmFsX2NvbnN0X25vcCkKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzcKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9lbmQpCiAgICBDUkFTSCgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNjgKT0ZG
TElORV9BU01fRU5ECiNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>224073</attachid>
            <date>2014-02-13 08:01:53 -0800</date>
            <delta_ts>2014-02-13 08:01:53 -0800</delta_ts>
            <desc>LLIntAssambly.h for 2.2.4</desc>
            <filename>LLIntAssembly_2_2_4.h</filename>
            <type>text/plain</type>
            <size>506809</size>
            <attacher name="Tomas Popela">tpopela</attacher>
            
              <data encoding="base64">Ly8gb2ZmbGluZWFzbSBpbnB1dCBoYXNoOiBiZmM1NmZkYzY2MDVhM2MwZjZmOWZiMGQ5ODczYjU5
ZDA1MDE4MmM1IDM3MzU3M2FhMDg5ZmUwNTRmYWUzMTAwZjk3NzA5M2JlM2U3M2ZmMmEgODgwNDEx
NDUyMTE4MTllMmVlMzBjZTg4MmM3OWM4MGVlMTk3MDc4MAojaWYgIU9GRkxJTkVfQVNNX0FSTXY3
cyAmJiBPRkZMSU5FX0FTTV9KU1ZBTFVFNjQgJiYgT0ZGTElORV9BU01fQklHX0VORElBTiAmJiBP
RkZMSU5FX0FTTV9DX0xPT1AgJiYgIU9GRkxJTkVfQVNNX0FTU0VSVF9FTkFCTEVEICYmICFPRkZM
SU5FX0FTTV9BUk0gJiYgIU9GRkxJTkVfQVNNX0FSTXY3ICYmICFPRkZMSU5FX0FTTV9BUk12N19U
UkFESVRJT05BTCAmJiAhT0ZGTElORV9BU01fTUlQUyAmJiAhT0ZGTElORV9BU01fU0g0ICYmICFP
RkZMSU5FX0FTTV9YODYgJiYgIU9GRkxJTkVfQVNNX1g4Nl82NCAmJiAhT0ZGTElORV9BU01fRVhF
Q1VUSU9OX1RSQUNJTkcgJiYgIU9GRkxJTkVfQVNNX1ZBTFVFX1BST0ZJTEVSICYmICFPRkZMSU5F
X0FTTV9KSVRfRU5BQkxFRCAmJiAhT0ZGTElORV9BU01fQUxXQVlTX0FMTE9DQVRFX1NMT1cKT0ZG
TElORV9BU01fQkVHSU4KCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfYmVnaW4pCiAgICBD
UkFTSCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
NzgKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfcHJvZ3JhbV9wcm9sb2d1ZSkKICAgIHQy
LmkgPSByUmV0VlBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5
NwogICAgKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMTYpID0gdDIuaTsgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzA4CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToyOTEKICAgIHJCYXNlUEMuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThw
ICsgMTA0KTsgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyOQogICAgclBDLmkgPSBpbnRwdHJfdCgweDApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzMwCiAgICByUEMuaSA9IHJQQy5pICsgaW50
cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxp
bnRfZXZhbF9wcm9sb2d1ZSkKICAgIHQyLmkgPSByUmV0VlBDLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5NwogICAgKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0g
MTYpID0gdDIuaTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzA4CiAgICB0MS5pID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyOTEKICAgIHJCYXNlUEMuaSA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMTA0KTsgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyOQogICAgclBD
LmkgPSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzMw
CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfZnVuY3Rpb25fZm9yX2NhbGxfcHJvbG9ndWUpCiAg
ICB0Mi5pID0gclJldFZQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxOTcKICAgICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDE2KSA9IHQyLmk7ICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMwOAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDMyKTsg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mjc5CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAg
KyAyNCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyODAKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQxLmk4cCArIDEyMCk7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjI4MQogICAgKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwIC0gOCkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mjk1CiAgICByQmFzZVBD
LmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDEwNCk7ICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjkKICAg
IHJQQy5pID0gaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9mdW5jdGlvbkZvckNh
bGxCZWdpbikKICAgIHQwLnUgPSAqQ0FTVDx1aW50MzJfdCo+KHQxLmk4cCArIDU2KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM3MwogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgOTYp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206Mzc0CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5p
OHAgKyA0MzQ4MCk7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozNzUKICAgIHQwLmkzMiA9IHQwLmkzMiA8PCAo
aW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM3NgogICAgdDAuY2xlYXJIaWdo
V29yZCgpOwogICAgdDAuaSA9IGNmci5pICsgdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzc3CiAgICBpZiAoKkNBU1Q8dWludHB0cl90Kj4odDIuaThwICsgMjQpID49
IHQwLnUpICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozNzgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Z1bmN0aW9u
SW5pdGlhbGl6YXRpb25fX3N0YWNrSGVpZ2h0T0s7CiAgICByUEMuaThwID0gckJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQ
Qy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYw
CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAg
ICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAg
IFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zdGFja19jaGVjayhleGVjLCBwYyk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0
ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0g
ckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9
IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Z1bmN0aW9uSW5pdGlhbGl6YXRp
b25fX3N0YWNrSGVpZ2h0T0spCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfZnVuY3Rpb25fZm9y
X2NvbnN0cnVjdF9wcm9sb2d1ZSkKICAgIHQyLmkgPSByUmV0VlBDLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5NwogICAgKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
IC0gMTYpID0gdDIuaTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzA4CiAgICB0MS5pID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwIC0gMzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyODUKICAgIHQxLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDI0KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjI4NgogICAg
dDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMTI4KTsgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
Mjg3CiAgICAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KSA9IHQxLmk7ICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToyOTUKICAgIHJCYXNlUEMuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMTA0
KTsgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyOQogICAgclBDLmkgPSBpbnRwdHJfdCgweDApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzMwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2Z1bmN0aW9uRm9yQ29uc3RydWN0QmVnaW4pCiAgICB0MC51ID0gKkNBU1Q8dWlu
dDMyX3QqPih0MS5pOHAgKyA1Nik7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozNzMKICAgIHQyLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDk2KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM3NAogICAg
dDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwICsgNDM0ODApOyAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
Mzc1CiAgICB0MC5pMzIgPSB0MC5pMzIgPDwgKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozNzYKICAgIHQwLmNsZWFySGlnaFdvcmQoKTsKICAgIHQwLmkgPSBjZnIuaSArIHQw
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM3NwogICAgaWYgKCpDQVNU
PHVpbnRwdHJfdCo+KHQyLmk4cCArIDI0KSA+PSB0MC51KSAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzc4CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV8wX2Z1bmN0aW9uSW5pdGlhbGl6YXRpb25fX3N0YWNrSGVpZ2h0
T0s7CiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0g
Q0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8
SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQg
PSBsbGludF9zdGFja19jaGVjayhleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIu
aSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4
CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYg
MHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtXzBfZnVuY3Rpb25Jbml0aWFsaXphdGlvbl9fc3RhY2tIZWlnaHRPSykKICAgIHJQ
Qy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fR0xVRV9MQUJFTChsbGludF9mdW5jdGlvbl9mb3JfY2FsbF9hcml0eV9jaGVjaykKICAgIHQy
LmkgPSByUmV0VlBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5
NwogICAgKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMTYpID0gdDIuaTsgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzA4CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMzIpOyAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToyNzkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDI0
KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjI4MAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEu
aThwICsgMTIwKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjgxCiAgICAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAgLSA4KSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyOTUKICAgIHJCYXNlUEMuaSA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMTA0KTsgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyOQogICAgclBD
LmkgPSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzMw
CiAgICB0MC51ID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwIC0gNDQpOyAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE5MQogICAgaWYgKHQwLnUzMiA+PSAqQ0FTVDx1aW50MzJfdCo+KHQxLmk4cCArIDgw
KSkgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxOTIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Z1bmN0aW9uRm9y
Q2FsbEJlZ2luOwogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0ZSog
ZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMg
PSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gc2xvd19wYXRoX2NhbGxfYXJpdHlDaGVjayhleGVjLCBwYyk7CiAgICAgICAgZGVj
b2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAg
ICBpZiAodDAuaTMyID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE5NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZnVuY3Rpb25Bcml0eUNoZWNrX19pc0Fy
aXR5Rml4dXBOZWVkZWQ7CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPigoQVNTRVJUKDAgPT0g
b2Zmc2V0b2YoSklUU3RhY2tGcmFtZSwgdm0pKSwgJnNwLT52bSkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NgogICAgdDAuaSA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgNDM1MjApOyAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTcK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCArIDQzNTI4KTsgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTk4CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fZnVuY3Rpb25Bcml0eUNoZWNrX19pc0FyaXR5Rml4dXBOZWVkZWQpCiAg
ICBpZiAodDEuaTMyID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjIwMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZnVuY3Rpb25Bcml0eUNoZWNrX19jb250
aW51ZTsKICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjAyCiAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIwMwogICAgdDMuaSA9IGNmci5pOwogICAgdDMuaSA9IHQz
LmkgLSBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDQKICAg
IHQyLnUgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAgLSA0NCk7ICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjA1CiAgICB0Mi5pMzIgPSB0Mi5pMzIgKyBpbnQzMl90KDB4Nik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIwNgogICAgdDIuY2xlYXJIaWdoV29yZCgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9mdW5jdGlvbkFyaXR5Q2hlY2tfX2NvcHlMb29wKQogICAg
dDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCk7ICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyMDgKICAgICpDQVNUPGludDY0X3QqPih0My5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjIwOQogICAgdDMuaSA9IHQzLmkgLSBpbnRwdHJfdCgweDgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTAKICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjExCiAgICAgICAgaW50MzJf
dCB0ZW1wID0gdDIuaTMyIC0gaW50MzJfdCgweDEpOwogICAgICAgIHQyLmkzMiA9IHRlbXA7CiAg
ICAgICAgaWYgKHRlbXAgIT0gMCkKICAgICAgICAgICAgZ290byAgX29mZmxpbmVhc21fZnVuY3Rp
b25Bcml0eUNoZWNrX19jb3B5TG9vcDsKICAgIH0KICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjEzCiAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxNAogICAgdDIu
aSA9IHQxLmk7CiAgICB0MC5pID0gaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjIxNQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9mdW5jdGlvbkFyaXR5Q2hlY2tfX2ZpbGxMb29wKQogICAgKkNBU1Q8aW50NjRfdCo+KHQzLmk4
cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MC5pNjQ7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjE3CiAgICB0My5p
ID0gdDMuaSAtIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIx
OAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMTkKICAgICAgICBpbnQzMl90IHRlbXAgPSB0Mi5pMzIgLSBpbnQzMl90KDB4MSk7
CiAgICAgICAgdDIuaTMyID0gdGVtcDsKICAgICAgICBpZiAodGVtcCAhPSAwKQogICAgICAgICAg
ICBnb3RvICBfb2ZmbGluZWFzbV9mdW5jdGlvbkFyaXR5Q2hlY2tfX2ZpbGxMb29wOwogICAgfQog
ICAgdDEuaSA9IHQxLmkgPDwgKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyMjEKICAgIGNmci5pID0gY2ZyLmkgKyB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjIyCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2Z1bmN0aW9uQXJpdHlDaGVja19fY29udGludWUpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIyNgogICAgckJhc2VQQy5pID0g
KkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAxMDQpOyAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjcKICAgIHJQ
Qy5pID0gaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjI4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2Z1bmN0aW9uRm9yQ2FsbEJlZ2luOyAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjIyOQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9mdW5jdGlvbl9mb3Jf
Y29uc3RydWN0X2FyaXR5X2NoZWNrKQogICAgdDIuaSA9IHJSZXRWUEMuaTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk3CiAgICAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAgLSAxNikgPSB0Mi5pOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMDgKICAgIHQxLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAgLSAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjI4NQogICAgdDEuaSA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMjQpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mjg2CiAg
ICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAxMjgpOyAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToyODcKICAgICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpID0gdDEuaTsgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjI5NQogICAgckJhc2VQQy5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAx
MDQpOyAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzI5CiAgICByUEMuaSA9IGludHB0cl90KDB4MCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzAKICAgIHQwLnUgPSAqQ0FTVDx1aW50MzJfdCo+
KGNmci5pOHAgLSA0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkxCiAgICBpZiAodDAudTMyID49
ICpDQVNUPHVpbnQzMl90Kj4odDEuaThwICsgODApKSAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MgogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fZnVuY3Rpb25Gb3JDb25zdHJ1Y3RCZWdpbjsKICAgIHJQQy5pOHAg
PSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAg
IHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206ODMKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+
KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQ
Qy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9jb25z
dHJ1Y3RfYXJpdHlDaGVjayhleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwg
dDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICBpZiAodDAuaTMyID09IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fMF9mdW5jdGlvbkFyaXR5Q2hlY2tfX2lzQXJpdHlGaXh1cE5lZWRlZDsK
ICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KChBU1NFUlQoMCA9PSBvZmZzZXRvZihKSVRTdGFj
a0ZyYW1lLCB2bSkpLCAmc3AtPnZtKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk2CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MS5pOHAgKyA0MzUyMCk7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NwogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwICsgNDM1MjgpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTgKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8w
X2Z1bmN0aW9uQXJpdHlDaGVja19faXNBcml0eUZpeHVwTmVlZGVkKQogICAgaWYgKHQxLmkzMiA9
PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDAKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtXzBfZnVuY3Rpb25Bcml0eUNoZWNrX19jb250aW51ZTsKICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjAyCiAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjIwMwogICAgdDMuaSA9IGNmci5pOwogICAgdDMuaSA9IHQzLmkgLSBpbnRwdHJf
dCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDQKICAgIHQyLnUgPSAqQ0FT
VDx1aW50MzJfdCo+KGNmci5pOHAgLSA0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA1CiAgICB0
Mi5pMzIgPSB0Mi5pMzIgKyBpbnQzMl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjIwNgogICAgdDIuY2xlYXJIaWdoV29yZCgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV8wX2Z1bmN0aW9uQXJpdHlDaGVja19fY29weUxvb3ApCiAgICB0MC5pNjQgPSAq
Q0FTVDxpbnQ2NF90Kj4odDMuaThwKTsgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwOAogICAg
KkNBU1Q8aW50NjRfdCo+KHQzLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0
MC5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjA5CiAgICB0My5pID0gdDMuaSAtIGludHB0cl90KDB4OCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjIxMAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTEKICAgICAgICBpbnQzMl90IHRlbXAgPSB0
Mi5pMzIgLSBpbnQzMl90KDB4MSk7CiAgICAgICAgdDIuaTMyID0gdGVtcDsKICAgICAgICBpZiAo
dGVtcCAhPSAwKQogICAgICAgICAgICBnb3RvICBfb2ZmbGluZWFzbV8wX2Z1bmN0aW9uQXJpdHlD
aGVja19fY29weUxvb3A7CiAgICB9CiAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxMwogICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTQKICAgIHQyLmkgPSB0MS5p
OwogICAgdDAuaSA9IGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMTUKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMF9mdW5j
dGlvbkFyaXR5Q2hlY2tfX2ZpbGxMb29wKQogICAgKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCArICh0
MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MC5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjE3CiAgICB0My5pID0gdDMu
aSAtIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxOAogICAg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyMTkKICAgICAgICBpbnQzMl90IHRlbXAgPSB0Mi5pMzIgLSBpbnQzMl90KDB4MSk7CiAgICAg
ICAgdDIuaTMyID0gdGVtcDsKICAgICAgICBpZiAodGVtcCAhPSAwKQogICAgICAgICAgICBnb3Rv
ICBfb2ZmbGluZWFzbV8wX2Z1bmN0aW9uQXJpdHlDaGVja19fZmlsbExvb3A7CiAgICB9CiAgICB0
MS5pID0gdDEuaSA8PCAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjIyMQogICAgY2ZyLmkgPSBjZnIuaSArIHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyMjIKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMF9m
dW5jdGlvbkFyaXR5Q2hlY2tfX2NvbnRpbnVlKQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjYKICAgIHJCYXNlUEMuaSA9ICpD
QVNUPGludHB0cl90Kj4odDEuaThwICsgMTA0KTsgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI3CiAgICByUEMu
aSA9IGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIy
OAogICAgZ290byBfb2ZmbGluZWFzbV9mdW5jdGlvbkZvckNvbnN0cnVjdEJlZ2luOyAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMjkKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9lbnRlcikKICAgIHQyLmkg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM3
CiAgICB0Mi51ID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAgKyA2MCk7ICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIzOAogICAgaWYgKHQyLmkzMiA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMzkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wRW50ZXJEb25l
OwogICAgdDAuaSA9IGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNDAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BFbnRl
ckxvb3ApCiAgICB0Mi5pMzIgPSB0Mi5pMzIgLSBpbnQzMl90KDB4MSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI0MgogICAgdDIuY2xlYXJIaWdoV29yZCgpOwogICAgKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0
MwogICAgaWYgKHQyLmkzMiAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNDQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wRW50ZXJMb29wOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcEVudGVyRG9uZSkKICAgIHJQQy5pID0g
clBDLmkgKyBpbnRwdHJfdCgweDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BD
T0RFX0xBQkVMKG9wX2NyZWF0ZV9hY3RpdmF0aW9uKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYg
KCpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSAh
PSBpbnQ2NF90KDB4MCkpIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjUyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcENyZWF0ZUFj
dGl2YXRpb25Eb25lOwogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0
ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiog
cGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5
cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2NyZWF0ZV9hY3RpdmF0aW9uKGV4ZWMsIHBjKTsK
ICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRl
KTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSBy
QmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0g
clBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BDcmVhdGVBY3RpdmF0aW9uRG9u
ZSkKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDIpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
T0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2luaXRfbGF6eV9yZWcpCiAgICB0MC5pID0gKkNB
U1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjgxCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSkgPSBpbnQ2NF90KDB4MCk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjYxCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3Qo
MHgyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9jcmVh
dGVfYXJndW1lbnRzKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYgKCpDQVNUPGludDY0X3QqPihj
ZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSAhPSBpbnQ2NF90KDB4MCkpIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjY4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcENyZWF0ZUFyZ3VtZW50c0RvbmU7CiAgICBy
UEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVj
U3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rp
b24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3Bh
dGhfY3JlYXRlX2FyZ3VtZW50cyhleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIu
aSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4
CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYg
MHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX29wQ3JlYXRlQXJndW1lbnRzRG9uZSkKICAgIHJQQy5pID0gclBDLmkgKyBpbnRw
dHJfdCgweDIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X2NyZWF0ZV90aGlzKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3NwogICAgdDEu
aSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgNDApOyAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
NzgKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDQ4KTsgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206Mjc5CiAgICBpZiAodDEuaSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI4MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BDcmVhdGVU
aGlzU2xvdzsKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5NAogICAgaWYgKHQwLmkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206Mzk1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcENyZWF0
ZVRoaXNTbG93OwogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk4CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCkgPSB0My5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludHB0cl90Kj4odDAuaThwKSA9
IHQyLmk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQwMgogICAgKkNBU1Q8aW50cHRyX3QqPih0
MC5pOHAgKyA4KSA9IGludHB0cl90KDB4MCk7ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICB0MS5pID0gKkNB
U1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjgxCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSkgPSB0MC5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjgzCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
b3BDcmVhdGVUaGlzU2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVj
U3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rp
b24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9jcmVhdGVfdGhpcyhleGVjLCBwYyk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9
CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+
IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9
IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09Q
Q09ERV9MQUJFTChvcF9nZXRfY2FsbGVlKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDEuaSA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDMyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTQKICAg
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkg
PSB0MS5pOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjI5NgogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Myk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfdG9fdGhpcykKICAgIHQwLmkg
PSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206ODEKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwg
MykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMDMKICAgIGlmICgodDAuaTY0ICYgdGFnTWFzay5pNjQp
ICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzA0CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9vcFRvVGhpc1Nsb3c7CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMwNQogICAgaWYgKCpDQVNUPGludDhfdCo+KHQwLmk4
cCArIDkyKSAhPSBpbnQ4X3QoMHgxMikpICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMDYKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX29wVG9UaGlzU2xvdzsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9v
cFRvVGhpc1Nsb3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRl
KiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBw
YyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlw
ZSByZXN1bHQgPSBzbG93X3BhdGhfdG9fdGhpcyhleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMu
aSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3
CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJf
dCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsg
aW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJF
TChvcF9uZXdfb2JqZWN0KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg1CiAgICB0MS5pID0gKkNBU1Q8aW50
cHRyX3QqPih0MC5pOHApOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxOAogICAgdDIuaSA9
ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMTkK
ICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5NAogICAgaWYgKHQwLmkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcE5ld09iamVjdFNsb3c7
CiAgICB0My5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTgKICAgICpDQVNUPGludHB0cl90Kj4odDEuaThwKSA9IHQzLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50cHRyX3QqPih0MC5pOHApID0gdDIuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NDAyCiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDgp
ID0gaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo0MDMKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90
Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQw
Lmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozMjIKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcE5ld09iamVj
dFNsb3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVj
ID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENB
U1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1
bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X29iamVjdChleGVjLCBwYyk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICBy
UEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRw
dHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5p
ICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9tb3YpCiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDAuaSA9ICpDQVNUPGludDMyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYg
KHQxLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0
YW50OwogICAgdDIuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19kb25lOyAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0Mi5p
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
OAogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwICsgMjcyKTsgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTkKICAgIHQxLmkgPSB0MS5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0Mi5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThw
ICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQy
Lmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozMzUKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25vdCkKICAgIHQwLmkgPSAqQ0FT
VDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjgxCiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAw
KSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
MF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQyLmk2NCA9ICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAg
IGdvdG8gX29mZmxpbmVhc21fMF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzBfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDIuaSA9ICpDQVNUPGludHB0
cl90Kj4odDIuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQwLmkgPSB0
MC5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAg
ICB0Mi5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMF9s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgdDIuaTY0ID0gdDIuaTY0IF4gaW50NjRf
dCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIGlmICgodDIuaTY0ICYg
aW50NjRfdCgtMikpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ1CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9vcE5vdFNsb3c7CiAgICB0Mi5pNjQgPSB0Mi5pNjQgXiBpbnQ2NF90
KDB4Nyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NgogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDIuaTY0OyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0Nwog
ICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wTm90U2xvdykKICAgIHJQQy5pOHAg
PSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAg
IHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206ODMKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+
KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQ
Qy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9ub3Qo
ZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0
MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0gdDMu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBDLmkg
PSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAog
ICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZXEpCiAgICB0MC5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQog
ICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206ODEKICAgIHQzLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICh0MC5pID49IGludHB0
cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJ
bnQzMl9fMV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTUKICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlSW50MzJfXzFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfXzFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29u
c3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1OAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMjcy
KTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQwLmkgPSB0MC5pIC0gaW50cHRyX3QoMHg0
MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0MS5pNjQgPSAqQ0FTVDxp
bnQ2NF90Kj4odDEuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjEKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfXzFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9u
ZSkKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTY3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25f
X3Nsb3c7CiAgICBpZiAodDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJp
c29uX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfXzJfbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fY29uc3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFs
aXR5Q29tcGFyaXNvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX18yX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX18y
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQwLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAg
ICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE2MAogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX18y
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDAudTY0IDwgdGFnVHlwZU51
bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NwogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uX19zbG93OwogICAgdDAuaSA9ICh0MC51MzIgPT0g
dDEudTMyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNzQKICAgIHQwLmk2NCA9
IHQwLmk2NCB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzYzCiAg
ICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkg
PSB0MC5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzY0CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxp
dHlDb21wYXJpc29uX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4
ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVj
dGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJl
dHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2VxKGV4ZWMsIHBjKTsKICAgICAgICBkZWNvZGVS
ZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQ
Qy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0
cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5pID0gclBDLmkg
KyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xB
QkVMKG9wX25lcSkKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDMu
aSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo4MQogICAgaWYgKHQwLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29t
cGFyaXNvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX18zX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2NvbnN0YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAo
dDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9l
cXVhbGl0eUNvbXBhcmlzb25fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fM19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQz
Ml9fM19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MS5p
ID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
OQogICAgdDAuaSA9IHQwLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNjAKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDAuaSA8
PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQz
Ml9fM19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQxLnU2NCA8IHRhZ1R5
cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjcKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtXzRfZXF1YWxpdHlDb21wYXJpc29uX19zbG93OwogICAgaWYgKHQyLmkgPj0g
aW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUludDMyX180X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0
ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVJbnQzMl9fNF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlz
b25fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fNF9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAg
KyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJf
dCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQwLmk2NCA9ICpD
QVNUPGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2
MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlz
b25fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fNF9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19kb25lKQogICAgaWYgKHQwLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNjcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzRfZXF1YWxpdHlDb21w
YXJpc29uX19zbG93OwogICAgdDAuaSA9ICh0MC51MzIgIT0gdDEudTMyKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozODAKICAgIHQwLmk2NCA9IHQwLmk2NCB8IGludDY0X3QoMHg2
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzYzCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MC5pNjQ7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzY0CiAgICBy
UEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fNF9lcXVhbGl0eUNvbXBhcmlzb25fX3Nsb3cp
CiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FT
VDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5z
dHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBz
bG93X3BhdGhfbmVxKGV4ZWMsIHBjKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5p
bnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJC
YXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2VxX251bGwpCiAg
ICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50
cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo4MQogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAo
dDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM4NgogICAgaWYgKCh0MC5pNjQgJiB0YWdN
YXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozODcKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2VxdWFsTnVsbENvbXBhcmlzb25fX2ltbWVkaWF0ZTsKICAgIHQyLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQwLmk4cCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg4CiAg
ICBpZiAoKCpDQVNUPGludDhfdCo+KHQyLmk4cCArIDkzKSAmIGludDhfdCgweDEpKSAhPSAwKSAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM4OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsQ29tcGFyaXNvbl9fbWFz
cXVlcmFkZXNBc1VuZGVmaW5lZDsKICAgIHQwLmkgPSBpbnRwdHJfdCgweDApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFs
TnVsbENvbXBhcmlzb25fX2RvbmU7ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5MQoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbE51bGxDb21wYXJpc29uX19tYXNxdWVyYWRlc0Fz
VW5kZWZpbmVkKQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozOTMKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCAr
IDQwKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzk0CiAgICB0MC5pID0gKCpDQVNUPHVpbnRwdHJf
dCo+KHQyLmk4cCArIDgpID09IHQwLnUpOyAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5NQogICAgZ290byBfb2ZmbGlu
ZWFzbV9lcXVhbE51bGxDb21wYXJpc29uX19kb25lOyAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOTYKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxOdWxsQ29tcGFyaXNvbl9faW1t
ZWRpYXRlKQogICAgdDAuaTY0ID0gdDAuaTY0ICYgaW50NjRfdCgtOSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozOTgKICAgIHQwLmkgPSAodDAudTY0ID09IHVpbnQ2NF90KDB4MikpOyAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzk5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2VxdWFsTnVsbENvbXBhcmlzb25fX2RvbmUpCiAgICB0MS5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAg
ICB0MC5pNjQgPSB0MC5pNjQgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQwNwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQwOAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4
Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmVxX251
bGwpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM4NgogICAgaWYgKCh0MC5pNjQg
JiB0YWdNYXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozODcKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtXzRfZXF1YWxOdWxsQ29tcGFyaXNvbl9faW1tZWRpYXRlOwogICAg
dDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozODgKICAgIGlmICgoKkNBU1Q8aW50OF90Kj4odDIuaThwICsgOTMpICYgaW50OF90KDB4MSkp
ICE9IDApICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206Mzg5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV80X2VxdWFsTnVsbENvbXBh
cmlzb25fX21hc3F1ZXJhZGVzQXNVbmRlZmluZWQ7CiAgICB0MC5pID0gaW50cHRyX3QoMHgwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5MAogICAgZ290byBfb2ZmbGlu
ZWFzbV80X2VxdWFsTnVsbENvbXBhcmlzb25fX2RvbmU7ICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOTEKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fNF9lcXVhbE51bGxDb21wYXJpc29uX19t
YXNxdWVyYWRlc0FzVW5kZWZpbmVkKQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOTMKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQwLmk4cCArIDQwKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzk0CiAgICB0MC5pID0gKCpD
QVNUPHVpbnRwdHJfdCo+KHQyLmk4cCArIDgpID09IHQwLnUpOyAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5NQogICAg
Z290byBfb2ZmbGluZWFzbV80X2VxdWFsTnVsbENvbXBhcmlzb25fX2RvbmU7ICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozOTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fNF9lcXVhbE51bGxD
b21wYXJpc29uX19pbW1lZGlhdGUpCiAgICB0MC5pNjQgPSB0MC5pNjQgJiBpbnQ2NF90KC05KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5OAogICAgdDAuaSA9ICh0MC51NjQgPT0gdWlu
dDY0X3QoMHgyKSk7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOTkKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fNF9lcXVhbE51bGxDb21wYXJpc29uX19kb25lKQogICAg
dDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTo4MQogICAgdDAuaTY0ID0gdDAuaTY0IF4gaW50NjRfdCgweDcpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0MTYKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQx
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MTcKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX3N0cmljdGVxKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQyLmkgPSAqQ0FTVDxp
bnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgx
CiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXFfXzVfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZs
aW5lYXNtX3N0cmljdEVxX181X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxX181X2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQxLmkgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQxLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0MC5pID0g
dDAuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAog
ICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0
cmljdEVxX181X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDIuaSA+PSBp
bnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXFfXzZfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29u
c3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxX182
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxX182X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Nv
bnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNTgKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDI3
Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4
NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDAuaTY0ID0gKkNBU1Q8
aW50NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxX182X2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICB0Mi5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQyNwogICAgdDIuaTY0ID0gdDIuaTY0IHwgdDEu
aTY0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MjgKICAgIGlmICgodDIuaTY0
ICYgdGFnTWFzay5pNjQpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDI5CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcV9fc2xvdzsKICAgIGlmICh0MC51NjQgPj0gdGFn
VHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMwCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9zdHJpY3RFcV9fbGVmdE9LOwogICAgaWYgKCh0MC5pNjQgJiB0YWdUeXBl
TnVtYmVyLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MzEKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX3N0cmljdEVxX19zbG93OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9zdHJpY3RFcV9fbGVmdE9LKQogICAgaWYgKHQxLnU2NCA+PSB0YWdUeXBlTnVtYmVy
LnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MzMKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX3N0cmljdEVxX19yaWdodE9LOwogICAgaWYgKCh0MS5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2
NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MzQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X3N0cmljdEVxX19zbG93OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9z
dHJpY3RFcV9fcmlnaHRPSykKICAgIHQwLmkgPSAodDAudTY0ID09IHQxLnU2NCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDQ5CiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MC5pNjQg
PSB0MC5pNjQgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzOAog
ICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
ID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQzOQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmlj
dEVxX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0ZSog
ZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMg
PSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gc2xvd19wYXRoX3N0cmljdGVxKGV4ZWMsIHBjKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5p
ID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODcK
ICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90
KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5pID0gclBDLmkgKyBp
bnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX25zdHJpY3RlcSkKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJf
dCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAg
aWYgKHQwLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxX183X2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX2NvbnN0YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAg
KyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFz
bV9zdHJpY3RFcV9fN19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcV9fN19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAg
LSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MS5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDAuaSA9IHQwLmkg
LSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQx
Lmk2NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RF
cV9fN19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQyLmkgPj0gaW50cHRy
X3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3N0cmljdEVxX184X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50
OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcV9fOF9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9zdHJpY3RFcV9fOF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFu
dCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTU4CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAyNzIpOyAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAw
MDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0
X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcV9fOF9sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19kb25lKQogICAgdDIuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MjcKICAgIHQyLmk2NCA9IHQyLmk2NCB8IHQxLmk2NDsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDI4CiAgICBpZiAoKHQyLmk2NCAmIHRh
Z01hc2suaTY0KSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQyOQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fOF9zdHJpY3RFcV9fc2xvdzsKICAgIGlmICh0MC51NjQgPj0gdGFnVHlw
ZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMwCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV84X3N0cmljdEVxX19sZWZ0T0s7CiAgICBpZiAoKHQwLmk2NCAmIHRhZ1R5cGVO
dW1iZXIuaTY0KSAhPSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzMQogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fOF9zdHJpY3RFcV9fc2xvdzsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fOF9zdHJpY3RFcV9fbGVmdE9LKQogICAgaWYgKHQxLnU2NCA+PSB0YWdUeXBlTnVt
YmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MzMKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtXzhfc3RyaWN0RXFfX3JpZ2h0T0s7CiAgICBpZiAoKHQxLmk2NCAmIHRhZ1R5cGVOdW1i
ZXIuaTY0KSAhPSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzNAogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fOF9zdHJpY3RFcV9fc2xvdzsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fOF9zdHJpY3RFcV9fcmlnaHRPSykKICAgIHQwLmkgPSAodDAudTY0ICE9IHQxLnU2NCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDU1CiAgICB0MS5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAg
ICB0MC5pNjQgPSB0MC5pNjQgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQzOAogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQzOQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4
NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtXzhfc3RyaWN0RXFfX3Nsb3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAg
RXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3Ry
dWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfbnN0cmljdGVxKGV4ZWMsIHBjKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAg
IH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBD
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkg
Pj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5p
ID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX2luYykKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQxLmk2NCA9ICpDQVNU
PGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjIK
ICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDYzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wcmVPcF9fc2xvdzsKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2
CiAgICAgICAgaW50MzJfdCBhID0gaW50MzJfdCgweDEpOwogICAgICAgIGludDMyX3QgYiA9IHQx
LmkzMjsKICAgICAgICAvLyBzaWduKGIpIHNpZ24oYSkgfCBPdmVyZmxvd3MgaWY6CiAgICAgICAg
Ly8gMCAgICAgICAwICAgICAgIHwgc2lnbihiK2EpID0gMSAocG9zICsgcG9zICE9IG5lZykKICAg
ICAgICAvLyAwICAgICAgIDEgICAgICAgfCBuZXZlcgogICAgICAgIC8vIDEgICAgICAgMCAgICAg
ICB8IG5ldmVyCiAgICAgICAgLy8gMSAgICAgICAxICAgICAgIHwgc2lnbihiK2EpID0gMCAobmVn
ICsgbmVnICE9IHBvcykKICAgICAgICBib29sIGRpZE92ZXJmbG93ID0gKChTSUdOX0JJVDMyKGIp
ID09IFNJR05fQklUMzIoYSkpICYmIChTSUdOX0JJVDMyKGIrYSkgIT0gU0lHTl9CSVQzMihhKSkp
OwogICAgICAgIHQxLmkzMiA9IHQxLmkzMiArIGludDMyX3QoMHgxKTsKICAgICAgICBpZiAoZGlk
T3ZlcmZsb3cpCiAgICAgICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHJlT3BfX3Nsb3c7CiAgICB9
CiAgICB0MS5pNjQgPSB0MS5pNjQgfCB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ2NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpID0gdDEuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2NgogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90
KDB4Mik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
NwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX3ByZU9wX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4
ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVj
dGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJl
dHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2luYyhleGVjLCBwYyk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICBy
UEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRw
dHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5p
ICsgaW50cHRyX3QoMHgyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9kZWMpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYyCiAgICBpZiAo
dDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2
MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOF9wcmVPcF9fc2xvdzsKICAgIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICAg
ICAgaW50MzJfdCBhID0gaW50MzJfdCgweDEpOwogICAgICAgIGludDMyX3QgYiA9IHQxLmkzMjsK
ICAgICAgICAvLyBzaWduKGIpIHNpZ24oYSkgfCBPdmVyZmxvd3MgaWY6CiAgICAgICAgLy8gMCAg
ICAgICAwICAgICAgIHwgbmV2ZXIKICAgICAgICAvLyAwICAgICAgIDEgICAgICAgfCBzaWduKGIt
YSkgPSAxIChwb3MgLSBuZWcgIT0gcG9zKQogICAgICAgIC8vIDEgICAgICAgMCAgICAgICB8IHNp
Z24oYi1hKSA9IDAgKG5lZyAtIHBvcyAhPSBwb3MpCiAgICAgICAgLy8gMSAgICAgICAxICAgICAg
IHwgbmV2ZXIKICAgICAgICBib29sIGRpZE92ZXJmbG93ID0gKChTSUdOX0JJVDMyKGIpICE9IFNJ
R05fQklUMzIoYSkpICYmIChTSUdOX0JJVDMyKGItYSkgPT0gU0lHTl9CSVQzMihhKSkpOwogICAg
ICAgIHQxLmkzMiA9IHQxLmkzMiAtIGludDMyX3QoMHgxKTsKICAgICAgICBpZiAoZGlkT3ZlcmZs
b3cpCiAgICAgICAgICAgIGdvdG8gX29mZmxpbmVhc21fOF9wcmVPcF9fc2xvdzsKICAgIH0KICAg
IHQxLmk2NCA9IHQxLmk2NCB8IHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDY1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSkgPSB0MS5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDY2CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgy
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fOF9wcmVPcF9fc2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVj
U3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rp
b24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9kZWMoZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBD
LmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4
NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRy
X3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSAr
IGludHB0cl90KDB4Mik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFC
RUwob3BfdG9fbnVtYmVyKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQxLmkgPSAqQ0FTVDxpbnQz
Ml90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAg
IGlmICh0MC5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85X2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X2NvbnN0YW50OwogICAgdDIuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8
PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV85X2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2RvbmU7ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fOV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkK
ICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTU4CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyAyNzIpOyAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1OQogICAgdDAuaSA9IHQwLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAw
KTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQyLmk2NCA9ICpDQVNUPGludDY0X3Qq
Pih0Mi5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV85X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Rv
bmUpCiAgICBpZiAodDIudTY0ID49IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ5MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BUb051bWJlcklzSW1tZWRp
YXRlOwogICAgaWYgKCh0Mi5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0OTIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wVG9OdW1iZXJTbG93OwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcFRvTnVtYmVySXNJbW1lZGlh
dGUpCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSkgPSB0Mi5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDk0CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgzKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
b3BUb051bWJlclNsb3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0
YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9u
KiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJu
VHlwZSByZXN1bHQgPSBzbG93X3BhdGhfdG9fbnVtYmVyKGV4ZWMsIHBjKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAg
IHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkgPj4gKGlu
dHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX25lZ2F0ZSkKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MS5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAg
ICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMTBfbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fY29uc3RhbnQ7CiAgICB0Mi5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtXzEwX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV8xMF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFu
dCkKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTU4CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyAyNzIpOyAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDAuaSA9IHQwLmkgLSBpbnRwdHJfdCgweDQwMDAw
MDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQyLmk2NCA9ICpDQVNUPGludDY0
X3QqPih0Mi5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8xMF9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19kb25lKQogICAgaWYgKHQyLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wTmVnYXRlTm90SW50
OwogICAgaWYgKCh0Mi5pMzIgJiBpbnQzMl90KDB4N2ZmZmZmZmYpKSA9PSAwKSAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wTmVnYXRlU2xvdzsKICAgIHQy
LmkzMiA9IC10Mi5pMzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTA5CiAgICB0Mi5jbGVhckhpZ2hXb3JkKCk7CiAgICB0Mi5pNjQgPSB0Mi5pNjQgfCB0YWdUeXBl
TnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDIuaTY0OyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMQog
ICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wTmVnYXRlTm90SW50KQogICAgaWYg
KCh0Mi5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wTmVnYXRlU2xvdzsKICAgIHQyLmk2NCA9IHQy
Lmk2NCBeIGludDY0X3QoMHg4MDAwMDAwMDAwMDAwMDAwKTsgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE1CiAgICAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0
Mi5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTE2CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBD
Lmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9P
UENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BOZWdhdGVT
bG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9
IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNU
PEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0
ID0gc2xvd19wYXRoX25lZ2F0ZShleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIu
aSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4
CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYg
MHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3Qo
MHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9hZGQp
CiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsg
aW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo4MQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICh0MC5pID49IGlu
dHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fMTFfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9v
ZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX18xMV9sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fMTFfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEu
aThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQwLmkgPSB0MC5pIC0gaW50
cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0MS5pNjQg
PSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2Jp
bmFyeU9wQ3VzdG9tU3RvcmVfXzExX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBp
ZiAodDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3Rv
cmVfXzEyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0ID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
NQogICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fMTJf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzEyX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQwLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQwLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0Mi5p
ID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2
MAogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX18xMl9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19kb25lKQogICAgaWYgKHQwLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MjkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5h
cnlPcEN1c3RvbVN0b3JlX19vcDFOb3RJbnQ7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJl
ci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzMAogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMk5vdEludDsKICAgIHQyLmkg
PSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206ODEKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTg2CiAgICAgICAgaW50MzJfdCBhID0gdDEuaTMyOwogICAgICAgIGlu
dDMyX3QgYiA9IHQwLmkzMjsKICAgICAgICAvLyBzaWduKGIpIHNpZ24oYSkgfCBPdmVyZmxvd3Mg
aWY6CiAgICAgICAgLy8gMCAgICAgICAwICAgICAgIHwgc2lnbihiK2EpID0gMSAocG9zICsgcG9z
ICE9IG5lZykKICAgICAgICAvLyAwICAgICAgIDEgICAgICAgfCBuZXZlcgogICAgICAgIC8vIDEg
ICAgICAgMCAgICAgICB8IG5ldmVyCiAgICAgICAgLy8gMSAgICAgICAxICAgICAgIHwgc2lnbihi
K2EpID0gMCAobmVnICsgbmVnICE9IHBvcykKICAgICAgICBib29sIGRpZE92ZXJmbG93ID0gKChT
SUdOX0JJVDMyKGIpID09IFNJR05fQklUMzIoYSkpICYmIChTSUdOX0JJVDMyKGIrYSkgIT0gU0lH
Tl9CSVQzMihhKSkpOwogICAgICAgIHQwLmkzMiA9IHQwLmkzMiArIHQxLmkzMjsKICAgICAgICBp
ZiAoZGlkT3ZlcmZsb3cpCiAgICAgICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2Jp
bmFyeU9wQ3VzdG9tU3RvcmVfX3Nsb3c7CiAgICB9CiAgICB0MC5pNjQgPSB0MC5pNjQgfCB0YWdU
eXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU3NwogICAgKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU3
OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1
c3RvbVN0b3JlX19vcDFOb3RJbnQpCiAgICBpZiAoKHQwLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0
KSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
YmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX3Nsb3c7CiAgICBpZiAodDEudTY0ID49IHRh
Z1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzOAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMU5vdEludE9w
MkludDsKICAgIGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTM5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5
T3BDdXN0b21TdG9yZV9fc2xvdzsKICAgIHQxLmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIu
aTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQwCiAgICBkMS5kID0gdDEuY2FzdFRvRG91Ymxl
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MQogICAgZ290byBfb2ZmbGlu
ZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fb3AxTm90SW50UmVhZHk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQy
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlP
cEN1c3RvbVN0b3JlX19vcDFOb3RJbnRPcDJJbnQpCiAgICBkMS5kID0gdDEuaTMyOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fb3Ax
Tm90SW50UmVhZHkpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MC5pNjQgPSB0MC5pNjQgKyB0YWdU
eXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NwogICAgZDAuZCA9IHQwLmNh
c3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDgKICAgIGQw
LmQgPSBkMC5kICsgZDEuZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTg3CiAgICB0MC5pNjQgPSBkMC5jYXN0VG9JbnQ2NDsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjU1MAogICAgdDAuaTY0ID0gdDAuaTY0IC0gdGFnVHlwZU51bWJlci5pNjQ7ICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NTEKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQy
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NTIKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fb3AyTm90
SW50KQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYgKCh0MS5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2
NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NTgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAgZDAuZCA9IHQwLmkzMjsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NTkKICAgIHQxLmk2
NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTYw
CiAgICBkMS5kID0gdDEuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU2MQogICAgZDAuZCA9IGQwLmQgKyBkMS5kOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1ODcKICAgIHQwLmk2NCA9IGQwLmNhc3RUb0ludDY0OyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTYzCiAgICB0MC5pNjQgPSB0MC5pNjQgLSB0YWdU
eXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU2NAogICAgKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU2
NQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1
c3RvbVN0b3JlX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlv
biogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2FkZChleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMu
aSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3
CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJf
dCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsg
aW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJF
TChvcF9tdWwpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICh0
MC5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX18xM19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8gX29m
ZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fMTNfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
ZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5
T3BDdXN0b21TdG9yZV9fMTNfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0
MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE1OAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMjcyKTsgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTkKICAgIHQwLmkgPSB0MC5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEu
aThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fMTNfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0Mi5pID49IGludHB0cl90KDB4NDAwMDAwMDAp
KSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9i
aW5hcnlPcEN1c3RvbVN0b3JlX18xNF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsK
ICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9y
ZV9fMTRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fMTRfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDAuaSA9ICpDQVNUPGludHB0
cl90Kj4odDAuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQyLmkgPSB0
Mi5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAg
ICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmlu
YXJ5T3BDdXN0b21TdG9yZV9fMTRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlm
ICh0MC51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTI5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8xNF9iaW5hcnlPcEN1c3RvbVN0b3JlX19vcDFO
b3RJbnQ7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUzMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMTRfYmluYXJ5T3BDdXN0
b21TdG9yZV9fb3AyTm90SW50OwogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDMuaSA9IHQwLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1OTYKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTk3
CiAgICAgICAgdWludDMyX3QgYSA9IHQxLmkzMjsKICAgICAgICB1aW50MzJfdCBiID0gdDMuaTMy
OwogICAgICAgIGJvb2wgZGlkT3ZlcmZsb3cgPSAoKGIgfCBhKSA+PiAxNSk7CiAgICAgICAgdDMu
aTMyID0gdDMuaTMyICogdDEuaTMyOwogICAgICAgIGlmIChkaWRPdmVyZmxvdykKICAgICAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV8xNF9iaW5hcnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAgfQog
ICAgaWYgKHQzLmkzMiAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1OTgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2lu
dGVnZXJPcGVyYXRpb25BbmRTdG9yZV9fZG9uZTsKICAgIGlmICh0MS5pMzIgPCBpbnQzMl90KDB4
MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTk5CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV8xNF9iaW5hcnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAgaWYgKHQwLmkzMiA8IGlu
dDMyX3QoMHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDAKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtXzE0X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX3Nsb3c7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2ludGVnZXJP
cGVyYXRpb25BbmRTdG9yZV9fZG9uZSkKICAgIHQzLmk2NCA9IHQzLmk2NCB8IHRhZ1R5cGVOdW1i
ZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAyCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0My5pNjQ7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAzCiAgICBy
UEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMTRfYmluYXJ5T3BDdXN0b21TdG9yZV9fb3Ax
Tm90SW50KQogICAgaWYgKCh0MC5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MzcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzE0X2JpbmFyeU9wQ3Vz
dG9tU3RvcmVfX3Nsb3c7CiAgICBpZiAodDEudTY0ID49IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUzOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMTRfYmlu
YXJ5T3BDdXN0b21TdG9yZV9fb3AxTm90SW50T3AySW50OwogICAgaWYgKCh0MS5pNjQgJiB0YWdU
eXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtXzE0X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX3Nsb3c7CiAgICB0MS5pNjQgPSB0
MS5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MAogICAg
ZDEuZCA9IHQxLmNhc3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NDEKICAgIGdvdG8gX29mZmxpbmVhc21fMTRfYmluYXJ5T3BDdXN0b21TdG9yZV9fb3AxTm90
SW50UmVhZHk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTQyCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzE0
X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMU5vdEludE9wMkludCkKICAgIGQxLmQgPSB0MS5pMzI7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzE0X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29w
MU5vdEludFJlYWR5KQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDAuaTY0ID0gdDAuaTY0ICsgdGFn
VHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDcKICAgIGQwLmQgPSB0MC5j
YXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ4CiAgICBk
MC5kID0gZDAuZCAqIGQxLmQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjYwNQogICAgdDAuaTY0ID0gZDAuY2FzdFRvSW50NjQ7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1NTAKICAgIHQwLmk2NCA9IHQwLmk2NCAtIHRhZ1R5cGVOdW1iZXIuaTY0OyAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTUxCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0
Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MC5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUyCiAgICByUEMuaSA9IHJQ
Qy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fMTRfYmluYXJ5T3BDdXN0b21TdG9yZV9fb3AyTm90SW50KQog
ICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo4MQogICAgaWYgKCh0MS5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2NCkgPT0g
MCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NTgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzE0X2Jp
bmFyeU9wQ3VzdG9tU3RvcmVfX3Nsb3c7CiAgICBkMC5kID0gdDAuaTMyOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1OQogICAgdDEuaTY0ID0gdDEuaTY0ICsg
dGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NjAKICAgIGQxLmQgPSB0
MS5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTYxCiAg
ICBkMC5kID0gZDAuZCAqIGQxLmQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjYwNQogICAgdDAuaTY0ID0gZDAuY2FzdFRvSW50NjQ7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NjMKICAgIHQwLmk2NCA9IHQwLmk2NCAtIHRhZ1R5cGVOdW1iZXIuaTY0
OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTY0CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCAr
ICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MC5pNjQ7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTY1CiAgICByUEMuaSA9
IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMTRfYmluYXJ5T3BDdXN0b21TdG9yZV9fc2xvdykKICAg
IHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206ODIKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODMKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4
ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVj
dGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3df
cGF0aF9tdWwoZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3Ry
dWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkgPSB0MS5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgckJhc2VQ
Qy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQog
ICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5MAogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bfc3ViKQogICAgdDAuaSA9
ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206ODEKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQw
MDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzE1X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2NvbnN0YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAo
dDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9i
aW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fMTVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
ZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5
T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzE1X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0
YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTgKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDI3Mik7
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0MC5pID0gdDAuaSAtIGludHB0cl90KDB4NDAw
MDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDEuaTY0ID0gKkNBU1Q8aW50
NjRfdCo+KHQxLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3Rv
bVN0b3JlX18xNV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQyLmkgPj0g
aW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX18xNl9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8g
X29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzE2X2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX18xNl9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4
KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0
MC5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDIuaSA9IHQyLmkgLSBp
bnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQwLmk2
NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9f
YmluYXJ5T3BDdXN0b21TdG9yZV9fMTZfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAg
IGlmICh0MC51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTI5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fMTZfYmluYXJ5T3BDdXN0
b21TdG9yZV9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Jp
bmFyeU9wX18xNl9iaW5hcnlPcEN1c3RvbVN0b3JlX19vcDJOb3RJbnQ7CiAgICB0Mi5pID0gKkNB
U1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjgxCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYxMgogICAgICAgIGludDMyX3QgYSA9IHQxLmkzMjsKICAgICAgICBpbnQzMl90
IGIgPSB0MC5pMzI7CiAgICAgICAgLy8gc2lnbihiKSBzaWduKGEpIHwgT3ZlcmZsb3dzIGlmOgog
ICAgICAgIC8vIDAgICAgICAgMCAgICAgICB8IG5ldmVyCiAgICAgICAgLy8gMCAgICAgICAxICAg
ICAgIHwgc2lnbihiLWEpID0gMSAocG9zIC0gbmVnICE9IHBvcykKICAgICAgICAvLyAxICAgICAg
IDAgICAgICAgfCBzaWduKGItYSkgPSAwIChuZWcgLSBwb3MgIT0gcG9zKQogICAgICAgIC8vIDEg
ICAgICAgMSAgICAgICB8IG5ldmVyCiAgICAgICAgYm9vbCBkaWRPdmVyZmxvdyA9ICgoU0lHTl9C
SVQzMihiKSAhPSBTSUdOX0JJVDMyKGEpKSAmJiAoU0lHTl9CSVQzMihiLWEpID09IFNJR05fQklU
MzIoYSkpKTsKICAgICAgICB0MC5pMzIgPSB0MC5pMzIgLSB0MS5pMzI7CiAgICAgICAgaWYgKGRp
ZE92ZXJmbG93KQogICAgICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX18xNl9iaW5h
cnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAgfQogICAgdDAuaTY0ID0gdDAuaTY0IHwgdGFnVHlw
ZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NzcKICAgICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NzgK
ICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fMTZfYmluYXJ5T3BD
dXN0b21TdG9yZV9fb3AxTm90SW50KQogICAgaWYgKCh0MC5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2
NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2JpbmFyeU9wX18xNl9iaW5hcnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAgaWYgKHQxLnU2NCA+
PSB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzgKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX18xNl9iaW5hcnlPcEN1c3RvbVN0b3JlX19vcDFO
b3RJbnRPcDJJbnQ7CiAgICBpZiAoKHQxLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUzOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3Bf
XzE2X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX3Nsb3c7CiAgICB0MS5pNjQgPSB0MS5pNjQgKyB0YWdU
eXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MAogICAgZDEuZCA9IHQxLmNh
c3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDEKICAgIGdv
dG8gX29mZmxpbmVhc21fYmluYXJ5T3BfXzE2X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMU5vdElu
dFJlYWR5OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjU0MgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5h
cnlPcF9fMTZfYmluYXJ5T3BDdXN0b21TdG9yZV9fb3AxTm90SW50T3AySW50KQogICAgZDEuZCA9
IHQxLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDQK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfXzE2X2JpbmFy
eU9wQ3VzdG9tU3RvcmVfX29wMU5vdEludFJlYWR5KQogICAgdDIuaSA9ICpDQVNUPGludDMyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDAu
aTY0ID0gdDAuaTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
NDcKICAgIGQwLmQgPSB0MC5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTQ4CiAgICBkMC5kID0gZDAuZCAtIGQxLmQ7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYxMwogICAgdDAuaTY0ID0gZDAuY2FzdFRvSW50NjQ7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NTAKICAgIHQwLmk2NCA9IHQwLmk2NCAtIHRh
Z1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUxCiAgICAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MC5pNjQ7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTUyCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfXzE2X2JpbmFy
eU9wQ3VzdG9tU3RvcmVfX29wMk5vdEludCkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICgodDEu
aTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTU4CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fMTZfYmluYXJ5T3BDdXN0b21TdG9yZV9f
c2xvdzsKICAgIGQwLmQgPSB0MC5pMzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTU5CiAgICB0MS5pNjQgPSB0MS5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2NDsg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjU2MAogICAgZDEuZCA9IHQxLmNhc3RUb0RvdWJsZTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NjEKICAgIGQwLmQgPSBkMC5kIC0gZDEu
ZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEzCiAgICB0MC5pNjQg
PSBkMC5jYXN0VG9JbnQ2NDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU2Mwog
ICAgdDAuaTY0ID0gdDAuaTY0IC0gdGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1NjQKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NjUKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgw
eDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9iaW5hcnlPcF9fMTZfYmluYXJ5T3BDdXN0b21TdG9yZV9fc2xvdykKICAgIHJQQy5pOHAg
PSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAg
IHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206ODMKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+
KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQ
Qy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9zdWIo
ZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0
MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0gdDMu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBDLmkg
PSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAog
ICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZGl2KQogICAgdDAuaSA9ICpDQVNUPGlu
dDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEK
ICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmlu
YXJ5T3BDdXN0b21TdG9yZV9fMTdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAg
ICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVf
XzE3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzE3X2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0MC5pID0gdDAu
aSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAg
dDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFy
eU9wQ3VzdG9tU3RvcmVfXzE3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAo
dDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fMThfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9v
ZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzE4X2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFy
eU9wQ3VzdG9tU3RvcmVfXzE4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAg
dDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTgKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDI3Mik7ICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU5CiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQw
Lmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfXzE4X2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDAudTY0IDwgdGFnVHlwZU51bWJlci51NjQp
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUyOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
MThfYmluYXJ5T3BDdXN0b21TdG9yZV9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5
cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzAKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtXzE4X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMk5vdEludDsKICAgIHQyLmkg
PSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206ODEKICAgIGlmICh0MS5pMzIgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NjIyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8xOF9iaW5hcnlPcEN1
c3RvbVN0b3JlX19zbG93OwogICAgaWYgKHQxLmkzMiAhPSBpbnQzMl90KC0xKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MjMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFy
eU9wQ3VzdG9tU3RvcmVfX2ludGVnZXJPcGVyYXRpb25BbmRTdG9yZV9fbm90TmVnMlR3b1RoZTMx
RGl2QnlOZWcxOwogICAgaWYgKHQwLmkzMiA9PSBpbnQzMl90KC0yMTQ3NDgzNjQ4KSkgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2MjQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzE4X2JpbmFyeU9w
Q3VzdG9tU3RvcmVfX3Nsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2ludGVnZXJPcGVyYXRpb25BbmRTdG9yZV9fbm90TmVnMlR3
b1RoZTMxRGl2QnlOZWcxKQogICAgaWYgKHQwLmkzMiAhPSAwKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MjYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFy
eU9wQ3VzdG9tU3RvcmVfX2ludGVnZXJPcGVyYXRpb25BbmRTdG9yZV9faW50T0s7CiAgICBpZiAo
dDEuaTMyIDwgaW50MzJfdCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYy
NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMThfYmluYXJ5T3BDdXN0b21TdG9yZV9fc2xvdzsK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9y
ZV9faW50ZWdlck9wZXJhdGlvbkFuZFN0b3JlX19pbnRPSykKICAgIHQzLmkgPSB0MS5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjI5CiAgICB0MC5pID0g
dDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYzMAog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MzEKICAgICAgICBpbnQ2NF90IHRlbXAgPSB0MC5pMzI7IC8vIHNpZ24gZXh0ZW5kIHRo
ZSBsb3cgMzJiaXQKICAgICAgICB0MC5pMzIgPSB0ZW1wOyAvLyBsb3cgd29yZAogICAgICAgIHQw
LmNsZWFySGlnaFdvcmQoKTsKICAgICAgICB0MS5pMzIgPSB1aW50NjRfdCh0ZW1wKSA+PiAzMjsg
Ly8gaGlnaCB3b3JkCiAgICAgICAgdDEuY2xlYXJIaWdoV29yZCgpOwogICAgfQogICAgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MzIK
ICAgICAgICBpbnQ2NF90IGRpdmlkZW5kID0gKGludDY0X3QodDEudTMyKSA8PCAzMikgfCB0MC51
MzI7CiAgICAgICAgaW50NjRfdCBkaXZpc29yID0gdDMuaTsKICAgICAgICB0MS5pMzIgPSBkaXZp
ZGVuZCAlIGRpdmlzb3I7IC8vIHJlbWFpbmRlcgogICAgICAgIHQxLmNsZWFySGlnaFdvcmQoKTsK
ICAgICAgICB0MC5pMzIgPSBkaXZpZGVuZCAvIGRpdmlzb3I7IC8vIHF1b3RpZW50CiAgICAgICAg
dDAuY2xlYXJIaWdoV29yZCgpOwogICAgfQogICAgaWYgKHQxLmkzMiAhPSAwKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MzMKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtXzE4X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX3Nsb3c7CiAgICB0MC5pNjQgPSB0MC5pNjQgfCB0
YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYzNAogICAgKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjYzNQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzE4X2JpbmFyeU9wQ3VzdG9t
U3RvcmVfX29wMU5vdEludCkKICAgIGlmICgodDAuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09
IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8xOF9i
aW5hcnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAgaWYgKHQxLnU2NCA+PSB0YWdUeXBlTnVtYmVy
LnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzgKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtXzE4X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29wMU5vdEludE9wMkludDsKICAgIGlmICgodDEu
aTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM5CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV8xOF9iaW5hcnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAg
dDEuaTY0ID0gdDEuaTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NDAKICAgIGQxLmQgPSB0MS5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTQxCiAgICBnb3RvIF9vZmZsaW5lYXNtXzE4X2JpbmFyeU9wQ3VzdG9tU3Rv
cmVfX29wMU5vdEludFJlYWR5OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjU0MgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV8xOF9iaW5hcnlPcEN1c3RvbVN0b3JlX19vcDFOb3RJbnRPcDJJbnQpCiAgICBkMS5k
ID0gdDEuaTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0
NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8xOF9iaW5hcnlPcEN1c3Rv
bVN0b3JlX19vcDFOb3RJbnRSZWFkeSkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQwLmk2NCA9IHQw
Lmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ3CiAgICBk
MC5kID0gdDAuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU0OAogICAgZDAuZCA9IGQwLmQgLyBkMS5kOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MzcKICAgIHQwLmk2NCA9IGQwLmNhc3RUb0ludDY0OyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTUwCiAgICB0MC5pNjQgPSB0MC5pNjQgLSB0YWdUeXBlTnVt
YmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1MQogICAgKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1MgogICAg
clBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
MykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzE4X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX29w
Mk5vdEludCkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJl
ci5pNjQpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTU4CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV8xOF9iaW5hcnlPcEN1c3RvbVN0b3JlX19zbG93OwogICAgZDAuZCA9IHQwLmkzMjsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NTkKICAgIHQxLmk2NCA9
IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTYwCiAg
ICBkMS5kID0gdDEuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjU2MQogICAgZDAuZCA9IGQwLmQgLyBkMS5kOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2MzcKICAgIHQwLmk2NCA9IGQwLmNhc3RUb0ludDY0OyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTYzCiAgICB0MC5pNjQgPSB0MC5pNjQgLSB0YWdUeXBl
TnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU2NAogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU2NQog
ICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzE4X2JpbmFyeU9wQ3VzdG9tU3RvcmVf
X3Nsb3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVj
ID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENB
U1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1
bHQgPSBzbG93X3BhdGhfZGl2KGV4ZWMsIHBjKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0
LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5p
ID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgK
ICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAw
eDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgw
eDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2xzaGlm
dCkKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDMuaSA9ICpDQVNU
PGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4
MQogICAgaWYgKHQwLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX18xOV9sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIu
aThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8gX29mZmxp
bmVhc21fYml0T3BfXzE5X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wX18xOV9sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAg
LSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MS5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDAuaSA9IHQwLmkg
LSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQx
Lmk2NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcF9f
MTlfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0Mi5pID49IGludHB0cl90
KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9iaXRPcF9fMjBfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAg
ICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX18yMF9sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9iaXRPcF9fMjBfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0
MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE1OAogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMjcyKTsgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTkKICAgIHQyLmkgPSB0Mi5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAu
aThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BfXzIwX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X2RvbmUpCiAgICBpZiAodDAudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjY0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BfX3Nsb3c7CiAg
ICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjY0OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BfX3Nsb3c7CiAgICB0MC5pMzIg
PSB0MC5pMzIgPDwgKHQxLmkgJiAweDFmKTsgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY2Mgog
ICAgdDAuY2xlYXJIaWdoV29yZCgpOwogICAgdDAuaTY0ID0gdDAuaTY0IHwgdGFnVHlwZU51bWJl
ci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NTAKICAgICpDQVNUPGludDY0X3QqPihjZnIu
aThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NTEKICAgIHJQ
Qy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcF9fc2xvdykKICAgIHJQQy5pOHAgPSBy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQz
LmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODMKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNm
ci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52
cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9sc2hpZnQo
ZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0
MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0gdDMu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBDLmkg
PSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAog
ICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcnNoaWZ0KQogICAgdDAuaSA9ICpDQVNU
PGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
ODEKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0My5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDAuaSA+PSBp
bnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fYml0T3BfXzIxX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0
YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcF9fMjFfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fYml0T3BfXzIxX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50
KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTgKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDI3Mik7ICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0MC5pID0gdDAuaSAtIGludHB0cl90KDB4NDAwMDAw
MDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRf
dCo+KHQxLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wX18yMV9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19kb25lKQogICAgaWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX18y
Ml9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAg
IGdvdG8gX29mZmxpbmVhc21fYml0T3BfXzIyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wX18yMl9s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MC5pID0gKkNB
U1Q8aW50cHRyX3QqPih0MC5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAg
dDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNjAKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9iaXRPcF9fMjJfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0MC51
NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjQ3CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV8yMl9iaXRPcF9fc2xvdzsKICAgIGlmICh0MS51NjQgPCB0
YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjQ4CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV8yMl9iaXRPcF9fc2xvdzsKICAgIHQwLmkzMiA9IHQwLmkzMiA+PiAo
dDEuaSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjcwCiAgICB0MC5jbGVhckhp
Z2hXb3JkKCk7CiAgICB0MC5pNjQgPSB0MC5pNjQgfCB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjY1MAogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDMuaSA8
PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY1MQogICAgclBDLmkgPSByUEMuaSAr
IGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtXzIyX2JpdE9wX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNl
UEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MAogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAg
ICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAg
ICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3JzaGlmdChleGVjLCBwYyk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0
ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0g
ckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9
IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAg
ICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX09QQ09ERV9MQUJFTChvcF91cnNoaWZ0KQogICAgdDAuaSA9ICpDQVNUPGludDMyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQy
LmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjgxCiAgICB0My5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgw
eDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fYml0T3BfXzIzX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAg
dDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcF9fMjNfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fYml0T3BfXzIzX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEu
aSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTgKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDI3Mik7ICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTU5CiAgICB0MC5pID0gdDAuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4
cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wX18yM19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19k
b25lKQogICAgaWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX18yNF9sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8gX29m
ZmxpbmVhc21fYml0T3BfXzI0X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wX18yNF9sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MC5pID0gKkNBU1Q8aW50cHRy
X3QqPih0MC5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDIuaSA9IHQy
LmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAg
IHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRP
cF9fMjRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0MC51NjQgPCB0YWdU
eXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjQ3CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV8yNF9iaXRPcF9fc2xvdzsKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVt
YmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjQ4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV8yNF9iaXRPcF9fc2xvdzsKICAgIHQwLnUzMiA9IHQwLnUzMiA+PiAodDEuaSAmIDB4
MWYpOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Njc5CiAgICB0MC5jbGVhckhpZ2hXb3JkKCk7
CiAgICBpZiAodDAuaTMyIDwgaW50MzJfdCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjY4MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMjRfYml0T3BfX3Nsb3c7CiAgICB0
MC5pNjQgPSB0MC5pNjQgfCB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjY1MAogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjY1MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
XzI0X2JpdE9wX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlv
biogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3Vyc2hpZnQoZXhlYywgcGMpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAg
clBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgclBDLmkgPSByUEMuaSA+PiAoaW50
cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MQogICAgclBDLmkgPSByUEMu
aSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVf
TEFCRUwob3BfYml0YW5kKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQyLmkgPSAqQ0FTVDxpbnQz
Ml90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAg
ICB0My5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50
cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3Bf
XzI1X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NQog
ICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcF9fMjVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9u
ZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BfXzI1
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQxLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAg
ICB0MC5pID0gdDAuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE2MAogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0MC5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2JpdE9wX18yNV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQy
LmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX18yNl9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3Bf
XzI2X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wX18yNl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19j
b25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAy
NzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgw
eDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQwLmk2NCA9ICpDQVNU
PGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcF9fMjZfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0MC51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8y
Nl9iaXRPcF9fc2xvdzsKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjQ4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8yNl9iaXRP
cF9fc2xvdzsKICAgIHQwLmkzMiA9IHQwLmkzMiAmIHQxLmkzMjsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206Njg5CiAgICB0MC5jbGVhckhpZ2hXb3JkKCk7CiAgICB0MC5pNjQgPSB0
MC5pNjQgfCB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY1MAogICAg
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0g
dDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjY1MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzI2X2JpdE9w
X19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0ZSogZXhl
YyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBD
QVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gc2xvd19wYXRoX2JpdGFuZChleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJl
c3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQw
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAgICBj
ZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMp
ICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRy
X3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9i
aXR4b3IpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQzLmkgPSAq
Q0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206ODEKICAgIGlmICh0MC5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcF9fMjdfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9v
ZmZsaW5lYXNtX2JpdE9wX18yN19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcF9fMjdfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDEuaSA9ICpDQVNUPGludHB0
cl90Kj4odDEuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQwLmkgPSB0
MC5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAg
ICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0
T3BfXzI3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDIuaSA+PSBpbnRw
dHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fYml0T3BfXzI4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50
OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcF9fMjhfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fYml0T3BfXzI4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQog
ICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTgKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDI3Mik7ICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDAp
OyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+
KHQwLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wX18yOF9sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19kb25lKQogICAgaWYgKHQwLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2NDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzI4X2JpdE9wX19z
bG93OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2NDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzI4X2JpdE9wX19zbG93Owog
ICAgdDAuaTMyID0gdDAuaTMyIF4gdDEuaTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2OTcKICAgIHQwLmNsZWFySGlnaFdvcmQoKTsKICAgIHQwLmk2NCA9IHQwLmk2NCB8IHRh
Z1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjUwCiAgICAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MC5pNjQ7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjUxCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMjhfYml0T3BfX3Nsb3cpCiAg
ICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxF
eGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1
Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93
X3BhdGhfYml0eG9yKGV4ZWMsIHBjKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5p
bnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJC
YXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDUpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2JpdG9yKQogICAg
dDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206ODEKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0My5pID0gKkNBU1Q8aW50MzJf
dCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBp
ZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BfXzI5X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2NvbnN0YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAo
dDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9i
aXRPcF9fMjlfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BfXzI5X2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4
cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0MC5pID0gdDAuaSAtIGludHB0
cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDEuaTY0ID0g
KkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wX18yOV9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0MDAw
MDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2JpdE9wX18zMF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2
NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BfXzMwX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2JpdE9wX18zMF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAg
ICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1OQogICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNjAKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAo
dDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9iaXRPcF9fMzBfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkK
ICAgIGlmICh0MC51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8zMF9iaXRPcF9fc2xvdzsKICAgIGlm
ICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjQ4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV8zMF9iaXRPcF9fc2xvdzsKICAgIHQwLmkzMiA9
IHQwLmkzMiB8IHQxLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzA1CiAg
ICB0MC5jbGVhckhpZ2hXb3JkKCk7CiAgICB0MC5pNjQgPSB0MC5pNjQgfCB0YWdUeXBlTnVtYmVy
Lmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY1MAogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY1MQogICAgclBD
LmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzMwX2JpdE9wX19zbG93KQogICAgclBDLmk4cCA9
IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAg
dDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4o
Y2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBD
LnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2JpdG9y
KGV4ZWMsIHBjKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwg
dDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQz
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5p
ID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAK
ICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206OTEKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NoZWNrX2hhc19pbnN0YW5jZSkKICAg
IHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDEuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUNlbGxfXzMxX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50
OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlQ2VsbF9fMzFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfXzMxX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9ICpDQVNU
PGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQw
LmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTU5CiAgICB0MS5pID0gdDEuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE2MAogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0MS5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX18zMV9sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19kb25lKQogICAgaWYgKCh0MC5pNjQgJiB0YWdNYXNrLmk2NCkgIT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wQ2hl
Y2tIYXNJbnN0YW5jZVNsb3c7CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjcxNAogICAgaWYgKCgqQ0FTVDxpbnQ4X3QqPih0MC5p
OHAgKyA5MykgJiBpbnQ4X3QoMHg4KSkgPT0gMCkgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MTUKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX29wQ2hlY2tIYXNJbnN0YW5jZVNsb3c7CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRy
X3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fb3BDaGVja0hhc0luc3RhbmNlU2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQzLmkgPSByQmFz
ZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAg
ICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9jaGVja19oYXNf
aW5zdGFuY2UoZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3Ry
dWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkgPSB0MS5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgckJhc2VQ
Qy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQog
ICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5MAogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4MCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfaW5zdGFuY2VvZikKICAg
IHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjgxCiAgICB0My5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDAuaSA+PSBpbnRwdHJf
dCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzMyX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX2NvbnN0YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAg
KyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFz
bV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fMzJfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
ZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUNlbGxfXzMyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50
KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTgKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDI3Mik7ICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0MC5pID0gdDAuaSAtIGludHB0cl90KDB4NDAwMDAw
MDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRf
dCo+KHQxLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxs
X18zMl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKCh0MS5pNjQgJiB0YWdN
YXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzIKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX29wSW5zdGFuY2VvZlNsb3c7CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MS5pOHApOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjcyOQogICAgaWYgKCpDQVNUPHVp
bnQ4X3QqPih0Mi5pOHAgKyA5MikgPCB1aW50OF90KDB4MTEpKSAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MzAKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX29wSW5zdGFuY2VvZlNsb3c7CiAgICB0MC5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQog
ICAgaWYgKHQwLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVD
ZWxsX18zM19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQyLmk2NCA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTUKICAgIGdvdG8gX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzMzX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX18zM19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRy
X3QqPih0Mi5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDAuaSA9IHQw
LmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAg
IHQyLmk2NCA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fMzNfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkK
ICAgIGlmICgodDIuaTY0ICYgdGFnTWFzay5pNjQpICE9IDApICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEluc3RhbmNlb2ZTbG93OwogICAg
dDAuaSA9IGludHB0cl90KDB4MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo3MzUKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BJbnN0YW5jZW9m
TG9vcCkKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NzM3CiAgICB0Mi5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjczOAogICAgaWYgKHQyLmk2NCA9PSB0MS5pNjQpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MzkKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX29wSW5zdGFuY2VvZkRvbmU7CiAgICBpZiAoKHQyLmk2NCAmIHRhZ01hc2suaTY0KSA9PSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc0MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
b3BJbnN0YW5jZW9mTG9vcDsKICAgIHQwLmkgPSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzQyCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX29wSW5zdGFuY2VvZkRvbmUpCiAgICB0MC5pNjQgPSB0MC5pNjQgfCBpbnQ2NF90
KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc0NAogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc0NQog
ICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wSW5zdGFuY2VvZlNsb3cpCiAgICBy
UEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVj
U3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rp
b24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9z
bG93X3BhdGhfaW5zdGFuY2VvZihleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIu
aSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4
CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYg
MHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3Qo
MHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9pc191
bmRlZmluZWQpCiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYgKHQx
LmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzM0X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0
YW50OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV8zNF9sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19kb25lOyAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fMzRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0
MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE1OAogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMjcyKTsgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTkKICAgIHQxLmkgPSB0MS5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAu
aThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMzRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkK
ICAgIGlmICgodDAuaTY0ICYgdGFnTWFzay5pNjQpID09IDApICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NzU4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcElzVW5kZWZpbmVkQ2VsbDsKICAg
IHQzLmkgPSAodDAudTY0ID09IHVpbnQ2NF90KDB4YSkpOyAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NzU5CiAgICB0My5pNjQgPSB0My5pNjQgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjc2MAogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpID0gdDMuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc2MQogICAgclBDLmkgPSByUEMuaSArIGlu
dHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX29wSXNVbmRlZmluZWRDZWxsKQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90
Kj4odDAuaThwKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NjQKICAgIGlmICgoKkNBU1Q8
aW50OF90Kj4odDAuaThwICsgOTMpICYgaW50OF90KDB4MSkpICE9IDApICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzY1CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9tYXNxdWVyYWRlc0FzVW5kZWZpbmVkOwogICAgdDEuaSA9IGlu
dHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NjYKICAg
ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9
IHQxLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo3NjcKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9tYXNxdWVy
YWRlc0FzVW5kZWZpbmVkKQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NzAKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCArIDQwKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzcxCiAgICB0My5pID0gKCpDQVNUPHVp
bnRwdHJfdCo+KHQwLmk4cCArIDgpID09IHQxLnUpOyAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc3MgogICAgdDMuaTY0
ID0gdDMuaTY0IHwgaW50NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NzMK
ICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KSA9IHQzLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo3NzQKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2lzX2Jvb2xlYW4pCiAg
ICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50
cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo4MQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYgKHQxLmkgPj0gaW50cHRy
X3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtXzM1X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAu
aTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV8zNV9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19kb25lOyAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fMzVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8
aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDAu
aSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTkKICAgIHQxLmkgPSB0MS5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTYwCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQxLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fMzVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIHQwLmk2NCA9
IHQwLmk2NCBeIGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzgzCiAg
ICB0MC5pID0gKCh0MC5pNjQgJiBpbnQ2NF90KC0yKSkgPT0gMCk7ICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjc4NAogICAgdDAuaTY0ID0gdDAuaTY0IHwgaW50NjRfdCgweDYpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo3ODUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwg
MykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3ODYKICAgIHJQQy5pID0gclBDLmkgKyBp
bnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX2lzX251bWJlcikKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJf
dCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBp
ZiAodDEuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMzZfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
Y29uc3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8
IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtXzM2X2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2RvbmU7ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV8zNl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkK
ICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTU4CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAyNzIpOyAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1OQogICAgdDEuaSA9IHQxLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAw
KTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3Qq
Pih0MC5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8zNl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19k
b25lKQogICAgdDEuaSA9ICgodDAuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpICE9IDApOyAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo3OTUKICAgIHQxLmk2NCA9IHQxLmk2NCB8IGludDY0X3QoMHg2KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206Nzk2CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0
Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MS5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Nzk3CiAgICByUEMuaSA9IHJQ
Qy5pICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9pc19zdHJpbmcpCiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDIuaSA9ICpDQVNU
PGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4
MQogICAgaWYgKHQxLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzM3X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAo
dDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV8z
N19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMzdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29u
c3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1OAogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMjcy
KTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQxLmkgPSB0MS5pIC0gaW50cHRyX3QoMHg0
MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0MC5pNjQgPSAqQ0FTVDxp
bnQ2NF90Kj4odDAuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjEKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fMzdfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fZG9uZSkKICAgIGlmICgodDAuaTY0ICYgdGFnTWFzay5pNjQpICE9IDApICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODA2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcElzU3RyaW5n
Tm90Q2VsbDsKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODA3CiAgICB0MS5pID0gKCpDQVNUPHVpbnQ4X3QqPih0MC5pOHAgKyA5
MikgPT0gdWludDhfdCgweDUpKTsgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgwOAogICAgdDEuaTY0ID0gdDEuaTY0IHwgaW50NjRf
dCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MDkKICAgICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQxLmk2NDsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MTAK
ICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcElzU3RyaW5nTm90Q2VsbCkKICAg
ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9
IGludDY0X3QoMHg2KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4MTMKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2luaXRfZ2xvYmFs
X2NvbnN0KQogICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg1CiAgICBpZiAodDEu
aSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fMzhfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3Rh
bnQ7CiAgICB0Mi5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtXzM4X2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX2RvbmU7ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV8zOF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQy
LmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTU4CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyAyNzIpOyAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1OQogICAgdDEuaSA9IHQxLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQyLmk2NCA9ICpDQVNUPGludDY0X3QqPih0Mi5p
OHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV8zOF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQog
ICAgKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCkgPSB0Mi5pNjQ7ICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo4NDgKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9ieV9pZCkKICAgIHQwLmkgPSAq
Q0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjgxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4MjApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206ODUKICAgIGlmICh0MC5pID49IGludHB0cl90KDB4NDAw
MDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9nZXRCeUlkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fMzlfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0My5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5l
YXNtX2dldEJ5SWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX18zOV9sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9nZXRCeUlkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fMzlfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0My5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
IC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDMuaSA9ICpDQVNUPGludHB0cl90
Kj4odDMuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQwLmkgPSB0MC5p
IC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0
My5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZ2V0QnlJ
ZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzM5X2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X2RvbmUpCiAgICBpZiAoKHQzLmk2NCAmIHRhZ01hc2suaTY0KSAhPSAwKSAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZ2V0QnlJZF9fb3BHZXRC
eUlkU2xvdzsKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDI4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAoKkNBU1Q8aW50cHRyX3QqPih0My5p
OHApICE9IHQxLmkpICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg2NwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fZ2V0QnlJZF9fb3BHZXRCeUlkU2xvdzsKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQwLmk2
NCA9ICpDQVNUPGludDY0X3QqPih0My5pOHAgKyAodDIuaSA8PCAwKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjg2OQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjg3MAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4
OSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2dldEJ5SWRfX29wR2V0QnlJZFNsb3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAg
ICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAg
IEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNs
b3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfZ2V0X2J5X2lkKGV4ZWMs
IHBjKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhl
Y1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBD
LmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQ
Qy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTEKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
T0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9ieV9pZF9vdXRfb2ZfbGluZSkKICAgIHQw
LmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjgxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4MjApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODUKICAgIGlmICh0MC5pID49IGludHB0cl90
KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9nZXRCeUlkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNDBfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0My5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9v
ZmZsaW5lYXNtX2dldEJ5SWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX180MF9sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9nZXRCeUlkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNDBfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0My5pID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDMuaSA9ICpDQVNUPGlu
dHB0cl90Kj4odDMuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQwLmkg
PSB0MC5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYw
CiAgICB0My5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwICsgKHQwLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
Z2V0QnlJZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzQwX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2RvbmUpCiAgICBpZiAoKHQzLmk2NCAmIHRhZ01hc2suaTY0KSAhPSAwKSAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fNDBfZ2V0QnlJ
ZF9fb3BHZXRCeUlkU2xvdzsKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDI4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MC5pID0gKkNBU1Q8aW50
cHRyX3QqPih0My5pOHAgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1NDcKICAgIGlmICgqQ0FT
VDxpbnRwdHJfdCo+KHQzLmk4cCkgIT0gdDEuaSkgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODY3CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV80MF9nZXRCeUlkX19vcEdldEJ5SWRTbG93OwogICAgdDEu
aSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo4MQogICAgdDMuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8
IDApICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODY5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCAr
ICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0My5pNjQ7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODcwCiAgICByUEMuaSA9
IHJQQy5pICsgaW50cHRyX3QoMHg5KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fNDBfZ2V0QnlJZF9fb3BHZXRCeUlkU2xvdykKICAgIHJQ
Qy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODIKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODMKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNT
dGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlv
bio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Ns
b3dfcGF0aF9nZXRfYnlfaWQoZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkg
PSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAog
ICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo4OQogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5MAogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4
MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4
OSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X2Fy
cmF5X2xlbmd0aCkKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MjApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODUKICAgIGlm
ICh0MC5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTU0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9f
NDFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0My5pNjQgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX180MV9sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNDFfbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fY29uc3RhbnQpCiAgICB0My5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0g
OCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4o
dDMuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQwLmkgPSB0MC5pIC0g
aW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0My5p
NjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbG9hZENvbnN0
YW50T3JWYXJpYWJsZUNlbGxfXzQxX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBp
ZiAoKHQzLmk2NCAmIHRhZ01hc2suaTY0KSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BHZXRBcnJheUxlbmd0aFNsb3c7CiAgICB0
Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHApOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg5MwogICAgdDIuaSA9ICpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAgKyA5NSk7ICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MjU0CiAgICBpZiAoKHQyLmkzMiAmIGludDMyX3QoMHgxKSkgPT0gMCkgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg5NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BHZXRBcnJh
eUxlbmd0aFNsb3c7CiAgICBpZiAoKHQyLmkzMiAmIGludDMyX3QoMHgxZSkpID09IDApICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg5NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BHZXRBcnJh
eUxlbmd0aFNsb3c7CiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3Qq
Pih0My5pOHAgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5OAogICAgdDAudSA9ICpDQVNU
PHVpbnQzMl90Kj4odDAuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OTkKICAgIGlm
ICh0MC5pMzIgPCBpbnQzMl90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTAwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEdldEFycmF5TGVuZ3RoU2xvdzsKICAgIHQw
Lmk2NCA9IHQwLmk2NCB8IHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTAxCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSkgPSB0MC5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTAzCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg5KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
b3BHZXRBcnJheUxlbmd0aFNsb3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAg
RXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3Ry
dWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfZ2V0X2J5X2lkKGV4ZWMsIHBjKTsK
ICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRl
KTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSBy
QmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0g
clBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAg
IHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDkpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9hcmd1bWVudHNfbGVuZ3RoKQogICAgdDAuaSA9ICpD
QVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206ODEKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
MykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICgqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCAr
ICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgIT0gMCkgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MTUKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX29wR2V0QXJndW1lbnRzTGVuZ3RoU2xvdzsKICAgIHQyLnUgPSAqQ0FTVDx1aW50
MzJfdCo+KGNmci5pOHAgLSA0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTE2CiAgICB0Mi5pMzIg
PSB0Mi5pMzIgLSBpbnQzMl90KDB4MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxNwog
ICAgdDIuY2xlYXJIaWdoV29yZCgpOwogICAgdDIuaTY0ID0gdDIuaTY0IHwgdGFnVHlwZU51bWJl
ci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MTgKICAgICpDQVNUPGludDY0X3QqPihjZnIu
aThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQyLmk2NDsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MTkKICAgIHJQ
Qy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcEdldEFyZ3VtZW50c0xlbmd0aFNsb3cpCiAg
ICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxF
eGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1
Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGlu
dF9zbG93X3BhdGhfZ2V0X2FyZ3VtZW50c19sZW5ndGgoZXhlYywgcGMpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAg
clBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgclBDLmkgPSByUEMuaSA+PiAoaW50
cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MQogICAgclBDLmkgPSByUEMu
aSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVf
TEFCRUwob3BfcHV0X2J5X2lkKQogICAgdDMuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDEuaSA9ICpDQVNUPGlu
dHB0cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg1
CiAgICBpZiAodDMuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUNlbGxfXzQyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAg
dDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeUlkX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlQ2VsbF9fNDJfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlJZF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUNlbGxfXzQyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAg
dDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTgKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDI3Mik7ICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU5CiAgICB0My5pID0gdDMuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQw
Lmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVD
ZWxsX180Ml9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKCh0MC5pNjQgJiB0
YWdNYXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzIKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX29wUHV0QnlJZFNsb3c7CiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYg
KCpDQVNUPGludHB0cl90Kj4odDAuaThwKSAhPSB0MS5pKSAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
MzcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0QnlJZFNsb3c7CiAgICB0MS5pID0gKkNB
U1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgyOCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo4MQogICAgaWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRfX2dldFByb3Bl
cnR5U3RvcmFnZV9fY29udGludWF0aW9uX180M19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25z
dGFudDsKICAgIHQzLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZF9fZ2V0
UHJvcGVydHlTdG9yYWdlX19jb250aW51YXRpb25fXzQzX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5
SWRfX2dldFByb3BlcnR5U3RvcmFnZV9fY29udGludWF0aW9uX180M19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19jb25zdGFudCkKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4
KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0My5pID0gKkNBU1Q8aW50cHRyX3QqPih0
My5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDIuaSA9IHQyLmkgLSBp
bnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQzLmk2
NCA9ICpDQVNUPGludDY0X3QqPih0My5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkX19n
ZXRQcm9wZXJ0eVN0b3JhZ2VfX2NvbnRpbnVhdGlvbl9fNDNfbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fZG9uZSkKICAgICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDEuaSA8PCAwKSArIGludHB0
cl90KDB4MCkpID0gdDMuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjk0MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4
OSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX29wUHV0QnlJZFNsb3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
Myk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhl
Y1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0
aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0
dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfcHV0X2J5X2lkKGV4ZWMsIHBjKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsK
ICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFz
ZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBD
LmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQ
Qy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX3B1dF9ieV9pZF9vdXRfb2ZfbGluZSkKICAgIHQzLmkgPSAqQ0FT
VDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
ODEKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgyMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo4NQogICAgaWYgKHQzLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAw
MCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X3B1dEJ5SWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX180NF9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsg
KHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21f
cHV0QnlJZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzQ0X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X3B1dEJ5SWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX180NF9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4
KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0
MC5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDMuaSA9IHQzLmkgLSBp
bnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQwLmk2
NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNDRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9u
ZSkKICAgIGlmICgodDAuaTY0ICYgdGFnTWFzay5pNjQpICE9IDApICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFB1dEJ5SWRTbG93OwogICAg
dDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206ODEKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDgpOyAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjU0NwogICAgaWYgKCpDQVNUPGludHB0cl90Kj4odDAuaThwKSAh
PSB0MS5pKSAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MzcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X29wUHV0QnlJZFNsb3c7CiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgyOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYgKHQyLmkgPj0gaW50cHRy
X3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5SWRfX2dldFByb3BlcnR5U3RvcmFnZV9fY29udGludWF0aW9uX180
NV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAg
IGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZF9fZ2V0UHJvcGVydHlTdG9yYWdlX19jb250aW51YXRp
b25fXzQ1X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRfX2dldFByb3BlcnR5U3RvcmFnZV9fY29u
dGludWF0aW9uX180NV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4
CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAyNzIpOyAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE1OQogICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAg
KyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkX19nZXRQcm9wZXJ0eVN0b3JhZ2VfX2NvbnRpbnVh
dGlvbl9fNDVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgICpDQVNUPGludDY0X3Qq
Pih0My5pOHAgKyAodDEuaSA8PCAwKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0MQog
ICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4OSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZM
SU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHV0X2J5X2lkX3RyYW5zaXRpb25fZGlyZWN0KQogICAg
dDMuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTo4MQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg1CiAgICBpZiAodDMuaSA+PSBpbnRwdHJf
dCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxs
X180Nl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNU
PGludDY0X3QqPihjZnIuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUK
ICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVDZWxsX180Nl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlvbl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUNlbGxfXzQ2X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50
KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTgKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDI3Mik7ICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0My5pID0gdDMuaSAtIGludHB0cl90KDB4NDAwMDAw
MDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRf
dCo+KHQwLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlQ2VsbF9fNDZfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAg
IGlmICgodDAuaTY0ICYgdGFnTWFzay5pNjQpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFB1dEJ5SWRTbG93OwogICAgdDIuaSA9
ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206ODEKICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCkgIT0gdDEuaSkgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTY0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFB1dEJ5SWRTbG93
OwogICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MjgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQzLmkgPSB0MC5pICsgdDEuaTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcxCiAgICBpZiAodDIuaSA+PSBpbnRwdHJfdCgw
eDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2dldFByb3BlcnR5U3RvcmFnZV9fY29udGludWF0
aW9uX180N19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTUKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2dldFByb3BlcnR5U3Rv
cmFnZV9fY29udGludWF0aW9uX180N19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlv
bl9fZ2V0UHJvcGVydHlTdG9yYWdlX19jb250aW51YXRpb25fXzQ3X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0Mi5pID0gdDIuaSAtIGlu
dHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDEuaTY0
ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFu
c2l0aW9uX19nZXRQcm9wZXJ0eVN0b3JhZ2VfX2NvbnRpbnVhdGlvbl9fNDdfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fZG9uZSkKICAgICpDQVNUPGludDY0X3QqPih0My5pOHApID0gdDEuaTY0OyAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTc0CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MzApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODUKICAgICpDQVNU
PGludHB0cl90Kj4odDAuaThwKSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTc2
CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg5KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXRfYnlfaWRfdHJhbnNpdGlvbl9kaXJlY3Rfb3V0
X29mX2xpbmUpCiAgICB0My5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MjApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODUKICAgIGlmICh0
My5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlvbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUNlbGxfXzQ4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAg
dDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlvbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzQ4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFu
c2l0aW9uX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNDhfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAu
aThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQzLmkgPSB0My5pIC0gaW50
cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0MC5pNjQg
PSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlJZFRyYW5z
aXRpb25fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX180OF9sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19kb25lKQogICAgaWYgKCh0MC5pNjQgJiB0YWdNYXNrLmk2NCkgIT0gMCkgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0QnlJZFNs
b3c7CiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYgKCpDQVNUPGludHB0cl90Kj4odDAuaThwKSAh
PSB0MS5pKSAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NjQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X29wUHV0QnlJZFNsb3c7CiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgyOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDMuaSA9ICpDQVNUPGludHB0
cl90Kj4odDAuaThwICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NTQ3CiAgICB0My5pID0gdDMu
aSArIHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3MQogICAg
aWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX19nZXRQcm9w
ZXJ0eVN0b3JhZ2VfX2NvbnRpbnVhdGlvbl9fNDlfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29u
c3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFu
c2l0aW9uX19nZXRQcm9wZXJ0eVN0b3JhZ2VfX2NvbnRpbnVhdGlvbl9fNDlfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2dldFByb3BlcnR5U3RvcmFnZV9fY29udGludWF0aW9u
X180OV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MS5p
ID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
OQogICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNjAKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDIuaSA8
PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlvbl9fZ2V0UHJvcGVydHlTdG9yYWdlX19jb250aW51
YXRpb25fXzQ5X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICAqQ0FTVDxpbnQ2NF90
Kj4odDMuaThwKSA9IHQxLmk2NDsgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3NAogICAgdDEu
aSA9ICpDQVNUPGludHB0cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDMwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjg1CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCkgPSB0MS5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk3NgogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4OSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHV0X2J5X2lk
X3RyYW5zaXRpb25fbm9ybWFsKQogICAgdDMuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDEuaSA9ICpDQVNUPGlu
dHB0cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg1
CiAgICBpZiAodDMuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX181MF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25z
dGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQzLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZFRyYW5z
aXRpb25fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX181MF9sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9w
dXRCeUlkVHJhbnNpdGlvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzUwX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQwLmkgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQwLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0My5pID0g
dDMuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAog
ICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1
dEJ5SWRUcmFuc2l0aW9uX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNTBfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICgodDAuaTY0ICYgdGFnTWFzay5pNjQpICE9IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9v
cFB1dEJ5SWRTbG93OwogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+
KHQwLmk4cCkgIT0gdDEuaSkgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTY0CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9vcFB1dEJ5SWRTbG93OwogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDM4KSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg1CiAgICB0My5pID0g
KkNBU1Q8aW50cHRyX3QqPih0My5pOHAgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4OAog
ICAgaWYgKCpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAxNikgPT0gaW50NjRfdCgweDIpKSAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5OTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX19hZGRp
dGlvbmFsQ2hlY2tzX19kb25lOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9wdXRCeUlkVHJhbnNpdGlvbl9fYWRkaXRpb25hbENoZWNrc19fbG9vcCkKICAgIHQxLmk2NCA9
ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTkyCiAg
ICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjk5MwogICAgaWYgKHQxLmkgIT0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHApKSAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5OTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0QnlJZFNsb3c7
CiAgICB0My5pID0gdDMuaSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjk5NQogICAgaWYgKCpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAxNikgIT0gaW50NjRf
dCgweDIpKSAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5OTYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFu
c2l0aW9uX19hZGRpdGlvbmFsQ2hlY2tzX19sb29wOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlvbl9fYWRkaXRpb25hbENoZWNrc19fZG9uZSkK
ICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDI4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0My5pID0gdDAuaSArIHQxLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3MQogICAgaWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0
MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX19nZXRQcm9wZXJ0eVN0b3JhZ2VfX2NvbnRpbnVhdGlv
bl9fNTFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1
CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX19nZXRQcm9wZXJ0eVN0b3Jh
Z2VfX2NvbnRpbnVhdGlvbl9fNTFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25f
X2dldFByb3BlcnR5U3RvcmFnZV9fY29udGludWF0aW9uX181MV9sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5p
OHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDIuaSA9IHQyLmkgLSBpbnRw
dHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQxLmk2NCA9
ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNp
dGlvbl9fZ2V0UHJvcGVydHlTdG9yYWdlX19jb250aW51YXRpb25fXzUxX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX2RvbmUpCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKSA9IHQxLmk2NDsgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjk3NAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDMwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg1CiAgICAqQ0FTVDxp
bnRwdHJfdCo+KHQwLmk4cCkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3Ngog
ICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4OSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZM
SU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHV0X2J5X2lkX3RyYW5zaXRpb25fbm9ybWFsX291dF9v
Zl9saW5lKQogICAgdDMuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg1CiAgICBpZiAodDMu
aSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsX181Ml9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQw
Lmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2xvYWRD
b25zdGFudE9yVmFyaWFibGVDZWxsX181Ml9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNp
dGlvbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzUyX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX2NvbnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4
cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0My5pID0gdDMuaSAtIGludHB0
cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDAuaTY0ID0g
KkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0
aW9uX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNTJfbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fZG9uZSkKICAgIGlmICgodDAuaTY0ICYgdGFnTWFzay5pNjQpICE9IDApICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFB1dEJ5SWRTbG93
OwogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCkgIT0g
dDEuaSkgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTY0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9v
cFB1dEJ5SWRTbG93OwogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDM4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg1CiAgICB0My5pID0gKkNBU1Q8aW50cHRy
X3QqPih0My5pOHAgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4OAogICAgaWYgKCpDQVNU
PGludDY0X3QqPih0MS5pOHAgKyAxNikgPT0gaW50NjRfdCgweDIpKSAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5OTAKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9uX181Ml9hZGRpdGlvbmFsQ2hl
Y2tzX19kb25lOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlk
VHJhbnNpdGlvbl9fNTJfYWRkaXRpb25hbENoZWNrc19fbG9vcCkKICAgIHQxLmk2NCA9ICpDQVNU
PGludDY0X3QqPih0MS5pOHAgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTkyCiAgICB0MS5p
ID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHApOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk5
MwogICAgaWYgKHQxLmkgIT0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHApKSAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5OTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0QnlJZFNsb3c7CiAgICB0
My5pID0gdDMuaSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojk5NQogICAgaWYgKCpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAxNikgIT0gaW50NjRfdCgweDIp
KSAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo5OTYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5SWRUcmFuc2l0aW9u
X181Ml9hZGRpdGlvbmFsQ2hlY2tzX19sb29wOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9wdXRCeUlkVHJhbnNpdGlvbl9fNTJfYWRkaXRpb25hbENoZWNrc19fZG9uZSkK
ICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDI4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0My5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA4
KTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo1NDcKICAgIHQzLmkgPSB0My5pICsgdDEuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTcxCiAgICBpZiAodDIuaSA+PSBpbnRw
dHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2dldFByb3BlcnR5U3RvcmFnZV9fY29u
dGludWF0aW9uX181M19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2
NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlJZFRyYW5zaXRpb25fX2dldFByb3Bl
cnR5U3RvcmFnZV9fY29udGludWF0aW9uX181M19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25l
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeUlkVHJh
bnNpdGlvbl9fZ2V0UHJvcGVydHlTdG9yYWdlX19jb250aW51YXRpb25fXzUzX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0Mi5pID0gdDIu
aSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAg
dDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5
SWRUcmFuc2l0aW9uX19nZXRQcm9wZXJ0eVN0b3JhZ2VfX2NvbnRpbnVhdGlvbl9fNTNfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgICpDQVNUPGludDY0X3QqPih0My5pOHApID0gdDEu
aTY0OyAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTc0CiAgICB0MS5pID0gKkNBU1Q8aW50cHRy
X3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MzApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODUKICAg
ICpDQVNUPGludHB0cl90Kj4odDAuaThwKSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTc2CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg5KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfYnlfdmFsKQogICAgdDIuaSA9ICpD
QVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206ODEKICAgIGlmICh0Mi5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlQ2VsbF9fNTRfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MC5p
NjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxs
X181NF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNTRfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDAuaSA9ICpDQVNU
PGludHB0cl90Kj4odDAuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQy
LmkgPSB0Mi5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTYwCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQyLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzU0X2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X2RvbmUpCiAgICBpZiAoKHQwLmk2NCAmIHRhZ01hc2suaTY0KSAhPSAwKSAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BHZXRCeVZhbFNsb3c7
CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEwMjAKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgyMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4NQogICAgdDIuaSA9ICpDQVNUPHVpbnQ4X3Qq
Pih0Mi5pOHAgKyA5NSk7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjU0CiAgICB0My5pID0gKkNBU1Q8
aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4
MQogICAgaWYgKHQzLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVJbnQzMl9fNTVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQg
PSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9f
NTVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX181NV9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MS5pID0gKkNBU1Q8
aW50cHRyX3QqPih0MS5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDMu
aSA9IHQzLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NjAKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfXzU1X2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X2RvbmUpCiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE2NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BHZXRCeVZhbFNsb3c7
CiAgICB0MS5pNjQgPSB0MS5pMzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEwMjUKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDgpOyAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTAyNgogICAgdDIuaTMyID0gdDIuaTMyICYgaW50MzJfdCgweDFl
KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDI3CiAgICB0Mi5jbGVhckhpZ2hXb3JkKCk7
CiAgICBpZiAodDIuaTMyID09IGludDMyX3QoMHgxNCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEwMjgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wR2V0QnlWYWxJc0NvbnRpZ3Vv
dXM7CiAgICBpZiAodDIuaTMyICE9IGludDMyX3QoMHgxYSkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEwMjkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wR2V0QnlWYWxOb3RDb250
aWd1b3VzOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcEdldEJ5VmFs
SXNDb250aWd1b3VzKQogICAgaWYgKHQxLnUzMiA+PSAqQ0FTVDx1aW50MzJfdCo+KHQzLmk4cCAt
IDgpKSAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMDMyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEdldEJ5
VmFsT3V0T2ZCb3VuZHM7CiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0Mi5pNjQgPSAqQ0FTVDxpbnQ2
NF90Kj4odDMuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDM0CiAgICBp
ZiAodDIuaTY0ID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEwMzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wR2V0QnlWYWxPdXRPZkJvdW5kczsKICAg
IGdvdG8gX29mZmxpbmVhc21fb3BHZXRCeVZhbERvbmU7ICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTAzNgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcEdldEJ5VmFs
Tm90Q29udGlndW91cykKICAgIGlmICh0Mi5pMzIgIT0gaW50MzJfdCgweDE2KSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTAzOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BHZXRC
eVZhbE5vdERvdWJsZTsKICAgIGlmICh0MS51MzIgPj0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAg
LSA4KSkgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTA0MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BHZXRC
eVZhbE91dE9mQm91bmRzOwogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNDEKICAgIGQwLmQgPSAqQ0FTVDxk
b3VibGUqPih0My5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNDIKICAg
IGlmIChzdGQ6OmlzbmFuKGQwLmQpIHx8IHN0ZDo6aXNuYW4oZDAuZCkgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTA0MwogICAgICAgIHx8IChkMC5kICE9IGQwLmQpKQogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fb3BHZXRCeVZhbE91dE9mQm91bmRzOwogICAgdDIuaTY0ID0gZDAuY2FzdFRvSW50NjQ7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDQ0CiAgICB0Mi5pNjQgPSB0Mi5pNjQg
LSB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNDUKICAgIGdvdG8g
X29mZmxpbmVhc21fb3BHZXRCeVZhbERvbmU7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA0
NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcEdldEJ5VmFsTm90RG91
YmxlKQogICAgdDIuaTMyID0gdDIuaTMyIC0gaW50MzJfdCgweDFjKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMDQ5CiAgICB0Mi5jbGVhckhpZ2hXb3JkKCk7CiAgICBpZiAodDIudTMyID4g
dWludDMyX3QoMHgyKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNTAKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX29wR2V0QnlWYWxTbG93OwogICAgaWYgKHQxLnUzMiA+PSAqQ0FT
VDx1aW50MzJfdCo+KHQzLmk4cCAtIDQpKSAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDUxCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9vcEdldEJ5VmFsT3V0T2ZCb3VuZHM7CiAgICB0MC5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAg
ICB0Mi5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJf
dCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTA1MwogICAgaWYgKHQyLmk2NCA9PSAwKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDU0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEdl
dEJ5VmFsT3V0T2ZCb3VuZHM7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X29wR2V0QnlWYWxEb25lKQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpID0gdDIuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNTcKICAgIHJQQy5pID0gclBDLmkgKyBp
bnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9vcEdldEJ5VmFsT3V0T2ZCb3VuZHMpCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX29wR2V0QnlWYWxTbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJC
YXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2MAogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsK
ICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAg
ICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2dldF9ieV92
YWwoZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9u
LCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0g
dDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBD
LmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
MAogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X2FyZ3VtZW50X2J5X3ZhbCkK
ICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYgKCpDQVNUPGludDY0
X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSAhPSAwKSAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNzcK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wR2V0QXJndW1lbnRCeVZhbFNsb3c7CiAgICBpZiAo
dDEuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX181
Nl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQyLmk2NCA9ICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAg
IGdvdG8gX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX181Nl9sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfXzU2X2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX2NvbnN0YW50KQogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAt
IDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQyLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0MS5pID0gdDEuaSAt
IGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDIu
aTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xvYWRDb25z
dGFudE9yVmFyaWFibGVJbnQzMl9fNTZfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAg
IGlmICh0Mi51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTY3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEdldEFyZ3VtZW50QnlWYWxTbG93Owog
ICAgdDIuaTMyID0gdDIuaTMyICsgaW50MzJfdCgweDEpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMDc5CiAgICB0Mi5jbGVhckhpZ2hXb3JkKCk7CiAgICB0MS51ID0gKkNBU1Q8dWludDMy
X3QqPihjZnIuaThwIC0gNDQpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwODAKICAgIGlmICh0Mi51
MzIgPj0gdDEudTMyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA4MQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BHZXRBcmd1bWVudEJ5VmFsU2xvdzsKICAgIHQyLmkz
MiA9IC10Mi5pMzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA4
MgogICAgdDIuY2xlYXJIaWdoV29yZCgpOwogICAgdDIuaTY0ID0gdDIuaTMyOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDgzCiAgICB0My5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAg
ICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MjgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206ODUKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsg
KHQyLmkgPDwgMykgKyBpbnRwdHJfdCgtNTYpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDg2CiAgICAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MC5pNjQ7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA4Nwog
ICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wR2V0QXJndW1lbnRCeVZhbFNsb3cp
CiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FT
VDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5z
dHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfZ2V0X2FyZ3VtZW50X2J5X3ZhbChleGVjLCBwYyk7CiAgICAgICAgZGVj
b2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAg
ICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChp
bnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQ
Qy5pICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9nZXRfYnlfcG5hbWUpCiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYgKHQxLmkg
Pj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtXzU3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50
OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV81N19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19kb25lOyAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fNTdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5p
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
OAogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMjcyKTsgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTkKICAgIHQxLmkgPSB0MS5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThw
ICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fNTdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAg
IHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDIwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDAuaTY0ICE9ICpDQVNUPGludDY0X3QqPihjZnIuaThw
ICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSkgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTAyCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9vcEdldEJ5UG5hbWVTbG93OwogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQzLmkgPSAq
Q0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDI4
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjgxCiAgICBpZiAodDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JW
YXJpYWJsZUNlbGxfXzU4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAu
aTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2Vs
bF9fNThfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzU4X2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQwLmkgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQwLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0
Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE2MAogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX181OF9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19kb25lKQogICAgaWYgKCh0MC5pNjQgJiB0YWdNYXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wR2V0QnlQbmFtZVNs
b3c7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0My5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTEwNwogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTA4CiAgICBpZiAodDIuaSAhPSAqQ0FTVDxp
bnRwdHJfdCo+KHQxLmk4cCArIDgpKSAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMDkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX29wR2V0QnlQbmFtZVNsb3c7CiAgICB0My5pID0gKkNBU1Q8aW50MzJfdCo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgzMCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDMu
dSA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHg0
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTExMQogICAgdDMuaTMyID0gdDMuaTMyIC0gaW50MzJfdCgweDEpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMTEyCiAgICB0My5jbGVhckhpZ2hXb3JkKCk7CiAgICBpZiAodDMu
dTMyID49ICpDQVNUPHVpbnQzMl90Kj4odDEuaThwICsgMjQpKSAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMTMK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wR2V0QnlQbmFtZVNsb3c7CiAgICBpZiAodDMuaTMy
IDwgKkNBU1Q8aW50MzJfdCo+KHQxLmk4cCArIDMyKSkgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMTQKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX29wR2V0QnlQbmFtZUlubGluZVByb3BlcnR5OwogICAgdDMu
aTMyID0gdDMuaTMyICsgaW50MzJfdCgweDY0KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTE1CiAgICB0My5jbGVhckhpZ2hXb3JkKCk7CiAgICB0My5pMzIgPSB0My5pMzIgLSAqQ0FTVDxp
bnQzMl90Kj4odDEuaThwICsgMzIpOyAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMTYKICAgIHQzLmNsZWFySGlnaFdv
cmQoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BHZXRCeVBuYW1l
SW5saW5lUHJvcGVydHkpCiAgICBpZiAodDMuaTMyIDwgaW50MzJfdCgweDY0KSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjgxOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbG9hZFBy
b3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmU7CiAgICB0MC5pID0gKkNBU1Q8aW50cHRy
X3QqPih0MC5pOHAgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgxOQogICAgdDMuaTMyID0g
LXQzLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MjAKICAg
IHQzLmNsZWFySGlnaFdvcmQoKTsKICAgIHQzLmk2NCA9IHQzLmkzMjsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIxCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRQ
cm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyMgoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lu
bGluZSkKICAgIHQwLmkgPSB0MC5pICsgaW50cHRyX3QoLTc2OCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODI0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xv
YWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5KQogICAgdDAuaTY0ID0gKkNBU1Q8aW50
NjRfdCo+KHQwLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgzMTApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MjYKICAg
IHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206ODEKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTIwCiAgICByUEMuaSA9IHJQQy5pICsgaW50
cHRyX3QoMHg3KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fb3BHZXRCeVBuYW1lU2xvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQzLmkgPSByQmFzZVBD
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAK
ICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAg
ICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAg
U2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9nZXRfYnlfcG5hbWUo
ZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0
MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0gdDMu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBDLmkg
PSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAog
ICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Nyk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHV0X2J5X3ZhbCkKICAgIHQwLmkgPSAq
Q0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206ODEKICAgIGlmICh0MC5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlQ2VsbF9fNTlfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5p
NjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxs
X181OV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fNTlfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDEuaSA9ICpDQVNU
PGludHB0cl90Kj4odDEuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQw
LmkgPSB0MC5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTYwCiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQwLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfXzU5X2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X2RvbmUpCiAgICBpZiAoKHQxLmk2NCAmIHRhZ01hc2suaTY0KSAhPSAwKSAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BQdXRCeVZhbFNsb3c7
CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjExNTAKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgyMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4NQogICAgdDIuaSA9ICpDQVNUPHVpbnQ4X3Qq
Pih0Mi5pOHAgKyA5NSk7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjU0CiAgICB0MC5pID0gKkNBU1Q8
aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4
MQogICAgaWYgKHQwLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVJbnQzMl9fNjBfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0My5pNjQg
PSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9f
NjBfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX182MF9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0My5pID0gKkNBU1Q8
aW50cHRyX3QqPih0My5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDAu
aSA9IHQwLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NjAKICAgIHQzLmk2NCA9ICpDQVNUPGludDY0X3QqPih0My5pOHAgKyAodDAuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfXzYwX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X2RvbmUpCiAgICBpZiAodDMudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE2NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BQdXRCeVZhbFNsb3c7
CiAgICB0My5pNjQgPSB0My5pMzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjExNTUKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDgpOyAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE1NgogICAgdDIuaTMyID0gdDIuaTMyICYgaW50MzJfdCgweDFl
KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTU3CiAgICB0Mi5jbGVhckhpZ2hXb3JkKCk7
CiAgICBpZiAodDIuaTMyICE9IGludDMyX3QoMHgxNCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjExNTgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0QnlWYWxOb3RJbnQzMjsK
ICAgIGlmICh0My51MzIgPj0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAgLSA4KSkgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTEyOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29udGlndW91c1B1dEJ5VmFsX19v
dXRPZkJvdW5kczsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29udGln
dW91c1B1dEJ5VmFsX19zdG9yZVJlc3VsdCkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDIu
aSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNr
X182MV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNU
PGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUK
ICAgIGdvdG8gX29mZmxpbmVhc21fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX182
MV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfXzYx
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQxLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAg
ICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE2MAogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0Mi5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fNjFfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0MS51IDwgdGFnVHlwZU51bWJlci51KSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE2MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BQ
dXRCeVZhbFNsb3c7CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArICh0My5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSkgPSB0MS5pOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNjMKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJf
dCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9jb250aWd1b3VzUHV0QnlWYWxfX291dE9mQm91bmRzKQogICAgaWYgKHQzLnUzMiA+
PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCAtIDQpKSAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTM2CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9vcFB1dEJ5VmFsT3V0T2ZCb3VuZHM7CiAgICB0Mi5pMzIgPSB0
My5pMzIgKyBpbnQzMl90KDB4MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNDEKICAg
IHQyLmNsZWFySGlnaFdvcmQoKTsKICAgICpDQVNUPGludDMyX3QqPih0MC5pOHAgLSA4KSA9IHQy
LmkzMjsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE0MgogICAgZ290byBfb2ZmbGluZWFzbV9jb250
aWd1b3VzUHV0QnlWYWxfX3N0b3JlUmVzdWx0OyAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTQzCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wUHV0QnlWYWxOb3RJbnQzMikKICAgIGlmICh0Mi5p
MzIgIT0gaW50MzJfdCgweDE2KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE2Nwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BQdXRCeVZhbE5vdERvdWJsZTsKICAgIGlmICh0My51
MzIgPj0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAgLSA4KSkgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEyOQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fNjJfY29udGlndW91c1B1dEJ5VmFsX19vdXRPZkJvdW5k
czsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fNjJfY29udGlndW91c1B1
dEJ5VmFsX19zdG9yZVJlc3VsdCkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDIuaSA+PSBp
bnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX182Ml9s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdv
dG8gX29mZmxpbmVhc21fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX182Ml9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfXzYyX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQxLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQxLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0Mi5p
ID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2
MAogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0Mi5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fNjJfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fZG9uZSkKICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE3MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29udGlndW91
c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19ub3RJbnQ7CiAgICBkMC5kID0gdDEuaTMyOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNzIKICAgIGdvdG8gX29m
ZmxpbmVhc21fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19yZWFkeTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcz
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbnRpZ3VvdXNQdXRCeVZh
bF9fc3RvcmVDYWxsYmFja19fbm90SW50KQogICAgdDEuaSA9IHQxLmkgKyB0YWdUeXBlTnVtYmVy
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTc1CiAgICBkMC5kID0gdDEuY2FzdFRv
RG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNzYKICAgIGlmIChz
dGQ6OmlzbmFuKGQwLmQpIHx8IHN0ZDo6aXNuYW4oZDAuZCkgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3
NwogICAgICAgIHx8IChkMC5kICE9IGQwLmQpKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BQ
dXRCeVZhbFNsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbnRp
Z3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fcmVhZHkpCiAgICAqQ0FTVDxkb3VibGUqPih0
MC5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gZDAuZDsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTc5CiAgICBy
UEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fNjJfY29udGlndW91c1B1dEJ5VmFsX19vdXRP
ZkJvdW5kcykKICAgIGlmICh0My51MzIgPj0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAgLSA0KSkg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTEzNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BQdXRCeVZhbE91
dE9mQm91bmRzOwogICAgdDIuaTMyID0gdDMuaTMyICsgaW50MzJfdCgweDEpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMTQxCiAgICB0Mi5jbGVhckhpZ2hXb3JkKCk7CiAgICAqQ0FTVDxp
bnQzMl90Kj4odDAuaThwIC0gOCkgPSB0Mi5pMzI7ICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNDIK
ICAgIGdvdG8gX29mZmxpbmVhc21fNjJfY29udGlndW91c1B1dEJ5VmFsX19zdG9yZVJlc3VsdDsg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTE0MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcFB1dEJ5
VmFsTm90RG91YmxlKQogICAgaWYgKHQyLmkzMiAhPSBpbnQzMl90KDB4MWEpKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMTgzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFB1dEJ5
VmFsTm90Q29udGlndW91czsKICAgIGlmICh0My51MzIgPj0gKkNBU1Q8dWludDMyX3QqPih0MC5p
OHAgLSA4KSkgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEyOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fNjNf
Y29udGlndW91c1B1dEJ5VmFsX19vdXRPZkJvdW5kczsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fNjNfY29udGlndW91c1B1dEJ5VmFsX19zdG9yZVJlc3VsdCkKICAgIHQy
LmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjgxCiAgICBpZiAodDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29udGlndW91
c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX182M19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25z
dGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fY29udGlndW91c1B1
dEJ5VmFsX19zdG9yZUNhbGxiYWNrX182M19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb250aWd1b3VzUHV0
QnlWYWxfX3N0b3JlQ2FsbGJhY2tfXzYzX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50
KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTgKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDI3Mik7ICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAw
MDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRf
dCo+KHQxLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVD
YWxsYmFja19fNjNfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgICpDQVNUPGludHB0
cl90Kj4odDAuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQxLmk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE4
OAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzYzX2NvbnRpZ3VvdXNQdXRCeVZh
bF9fb3V0T2ZCb3VuZHMpCiAgICBpZiAodDMudTMyID49ICpDQVNUPHVpbnQzMl90Kj4odDAuaThw
IC0gNCkpICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExMzYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wUHV0
QnlWYWxPdXRPZkJvdW5kczsKICAgIHQyLmkzMiA9IHQzLmkzMiArIGludDMyX3QoMHgxKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE0MQogICAgdDIuY2xlYXJIaWdoV29yZCgpOwogICAg
KkNBU1Q8aW50MzJfdCo+KHQwLmk4cCAtIDgpID0gdDIuaTMyOyAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMTQyCiAgICBnb3RvIF9vZmZsaW5lYXNtXzYzX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVS
ZXN1bHQ7ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExNDMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
b3BQdXRCeVZhbE5vdENvbnRpZ3VvdXMpCiAgICBpZiAodDIuaTMyICE9IGludDMyX3QoMHgxYykp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExOTIKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX29wUHV0QnlWYWxTbG93OwogICAgaWYgKHQzLnUzMiA+PSAqQ0FTVDx1aW50MzJfdCo+KHQw
Lmk4cCAtIDQpKSAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9v
cFB1dEJ5VmFsT3V0T2ZCb3VuZHM7CiAgICBpZiAoKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0
My5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpID09IDApIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE5NAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fb3BQdXRCeVZhbEFycmF5U3RvcmFnZUVtcHR5OwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlU3RvcmVSZXN1bHQpCiAg
ICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50
cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo4MQogICAgaWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzY0X2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290
byBfb2ZmbGluZWFzbV82NF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fNjRfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
IC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90
Kj4odDEuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQyLmkgPSB0Mi5p
IC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0
MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fNjRfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAo
dDMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKSA9IHQxLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTk5CiAgICByUEMuaSA9
IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BQdXRCeVZhbEFycmF5U3RvcmFnZUVtcHR5KQogICAg
KkNBU1Q8aW50MzJfdCo+KHQwLmk4cCArIDEyKSA9ICpDQVNUPGludDMyX3QqPih0MC5pOHAgKyAx
MikgKyBpbnQzMl90KDB4MSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTIwNwogICAgaWYgKHQzLnUzMiA8ICpDQVNUPHVpbnQzMl90
Kj4odDAuaThwIC0gOCkpICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjA4CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlU3RvcmVSZXN1bHQ7CiAgICB0MS5pMzIgPSB0My5p
MzIgKyBpbnQzMl90KDB4MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMDkKICAgIHQx
LmNsZWFySGlnaFdvcmQoKTsKICAgICpDQVNUPGludDMyX3QqPih0MC5pOHAgLSA4KSA9IHQxLmkz
MjsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTIxMAogICAgZ290byBfb2ZmbGluZWFzbV9vcFB1dEJ5
VmFsQXJyYXlTdG9yYWdlU3RvcmVSZXN1bHQ7ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjExCgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wUHV0QnlWYWxPdXRPZkJvdW5kcykKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BQdXRCeVZhbFNsb3cpCiAgICByUEMuaThwID0g
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0
My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihj
ZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMu
dnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhf
cHV0X2J5X3ZhbChleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5z
dHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFz
ZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5
CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbXApCiAgICByUEMu
aTMyID0gclBDLmkzMiArICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM2CiAgICByUEMuY2xlYXJIaWdoV29yZCgpOwogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVf
TEFCRUwob3BfamVxX251bGwpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MC5pNjQgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI0OAog
ICAgaWYgKCh0MC5pNjQgJiB0YWdNYXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMjQ5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxfX2ltbWVkaWF0ZTsK
ICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTI1MAogICAgaWYgKCgqQ0FTVDxpbnQ4X3QqPih0Mi5pOHAgKyA5MykgJiBpbnQ4X3Qo
MHgxKSkgPT0gMCkgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMjY3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxf
X2NlbGxIYW5kbGVyX19ub3RNYXNxdWVyYWRlc0FzVW5kZWZpbmVkOwogICAgdDAuaSA9ICpDQVNU
PGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjY4CiAgICB0
MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA0MCk7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEyNjkKICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCArIDgpID09IHQwLmkpICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTI3MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsX190YXJn
ZXQ7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsTnVsbF9fY2Vs
bEhhbmRsZXJfX25vdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQpCiAgICByUEMuaSA9IHJQQy5pICsg
aW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fZXF1YWxOdWxsX190YXJnZXQpCiAgICByUEMuaTMyID0gclBDLmkzMiAr
ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNgogICAgclBDLmNsZWFySGlnaFdvcmQoKTsKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9lcXVhbE51bGxfX2ltbWVkaWF0ZSkKICAgIHQwLmk2NCA9IHQwLmk2NCAmIGludDY0X3Qo
LTkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI1OAogICAgaWYgKHQwLmk2NCA9PSBp
bnQ2NF90KDB4MikpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjczCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxfX3RhcmdldDsKICAgIHJQQy5pID0gclBDLmkgKyBp
bnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX2puZXFfbnVsbCkKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjQ4CiAgICBp
ZiAoKHQwLmk2NCAmIHRhZ01hc2suaTY0KSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEyNDkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzY0X2VxdWFsTnVsbF9faW1tZWRpYXRlOwog
ICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMjUwCiAgICBpZiAoKCpDQVNUPGludDhfdCo+KHQyLmk4cCArIDkzKSAmIGludDhfdCgw
eDEpKSA9PSAwKSAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEyODAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzY0X2VxdWFsTnVs
bF9fdGFyZ2V0OwogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMjgxCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAg
KyA0MCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyODIKICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+
KHQyLmk4cCArIDgpICE9IHQwLmkpICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI4MwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fNjRfZXF1YWxOdWxsX190YXJnZXQ7CiAgICByUEMuaSA9IHJQQy5pICsgaW50
cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fNjRfZXF1YWxOdWxsX190YXJnZXQpCiAgICByUEMuaTMyID0gclBDLmkzMiAr
ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNgogICAgclBDLmNsZWFySGlnaFdvcmQoKTsKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV82NF9lcXVhbE51bGxfX2ltbWVkaWF0ZSkKICAgIHQwLmk2NCA9IHQwLmk2NCAmIGludDY0
X3QoLTkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI1OAogICAgaWYgKHQwLmk2NCAh
PSBpbnQ2NF90KDB4MikpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjg1CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV82NF9lcXVhbE51bGxfX3RhcmdldDsKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX2puZXFfcHRyKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDEuaSA9ICpDQVNUPGlu
dDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEK
ICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTI5MgogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwICsgNDApOyAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMjkzCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAg
KyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MzgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI5NAogICAgaWYgKHQxLmkgIT0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSkg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMjk1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEpuZXFQdHJUYXJnZXQ7CiAgICByUEMu
aSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BKbmVxUHRyVGFyZ2V0KQogICAgclBDLmkzMiA9
IHJQQy5pMzIgKyAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzYKICAgIHJQQy5jbGVhckhpZ2hXb3JkKCk7CiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJF
TChvcF9zd2l0Y2hfaW1tKQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQzLmkgPSAqQ0FTVDxpbnQz
Ml90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAg
IGlmICh0Mi5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV82NV9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fNjVfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtXzY1X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50
KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTgKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDI3Mik7ICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAw
MDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRf
dCo+KHQxLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzY1X2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X2RvbmUpCiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEzNDkKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCArIDM2
OCk7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM1MAogICAgdDMuaTMyID0gdDMuaTMyICogaW50MzJf
dCgweDE4KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzUxCiAgICB0My5jbGVhckhpZ2hX
b3JkKCk7CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyAzMik7ICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEzNTIKICAgIHQyLmkgPSB0Mi5pICsgdDMuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM1MwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5cGVOdW1i
ZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzU0CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9vcFN3aXRjaEltbU5vdEludDsKICAgIHQxLmkzMiA9IHQxLmkzMiAtICpDQVNUPGlu
dDMyX3QqPih0Mi5pOHAgKyAxNik7ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM1NQogICAgdDEuY2xlYXJIaWdoV29y
ZCgpOwogICAgaWYgKHQxLnUzMiA+PSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCArIDEyKSkgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMzU2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFN3aXRjaEltbUZhbGxU
aHJvdWdoOwogICAgdDMuaSA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzU3CiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHQzLmk4cCArICh0
MS5pIDw8IDIpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM1OAogICAgaWYgKHQxLmkzMiA9PSAwKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzU5CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9vcFN3aXRjaEltbUZhbGxUaHJvdWdoOwogICAgclBDLmkgPSByUEMuaSAr
IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX29wU3dpdGNoSW1tTm90SW50KQogICAgaWYgKCh0MS5pNjQgJiB0YWdU
eXBlTnVtYmVyLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzYzCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9vcFN3aXRjaEltbVNsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX29wU3dpdGNoSW1tRmFsbFRocm91Z2gpCiAgICByUEMuaTMyID0gclBDLmkz
MiArICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNgogICAgclBDLmNsZWFySGlnaFdvcmQoKTsKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9vcFN3aXRjaEltbVNsb3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAg
ICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIElu
c3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfc3dpdGNoX2ltbShleGVjLCBw
Yyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNT
dGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5p
IC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMu
aSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkx
CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9zd2l0Y2hfY2hhcikKICAgIHQyLmkgPSAqQ0FTVDxp
bnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgx
CiAgICB0My5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsg
aW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fNjZf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBn
b3RvIF9vZmZsaW5lYXNtXzY2X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7ICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV82Nl9sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MS5pID0gKkNBU1Q8aW50cHRy
X3QqPih0MS5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDIuaSA9IHQy
LmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAg
IHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV82Nl9s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzc3CiAgICB0Mi5pID0gKkNBU1Q8
aW50cHRyX3QqPih0Mi5pOHAgKyAzNjgpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNzgKICAgIHQz
LmkzMiA9IHQzLmkzMiAqIGludDMyX3QoMHgxOCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTM3OQogICAgdDMuY2xlYXJIaWdoV29yZCgpOwogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4o
dDIuaThwICsgMzIpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzgwCiAgICB0Mi5pID0gdDIuaSAr
IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzODEKICAgIGlm
ICgodDEuaTY0ICYgdGFnTWFzay5pNjQpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTM4MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BTd2l0Y2hDaGFyRmFsbFRocm91Z2g7CiAg
ICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEzODMKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0MC5pOHAgKyA5MikgIT0gaW50OF90KDB4
NSkpICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTM4NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BTd2l0Y2hDaGFy
RmFsbFRocm91Z2g7CiAgICBpZiAoKkNBU1Q8aW50MzJfdCo+KHQxLmk4cCArIDEyKSAhPSBpbnQz
Ml90KDB4MSkpICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEzODUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wU3dpdGNo
Q2hhckZhbGxUaHJvdWdoOwogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgMTYp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzg2CiAgICBpZiAodDAuaSA9PSAwKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzODcKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX29wU3dpdGNoT25Sb3BlOwogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThw
ICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzg4CiAgICBpZiAoKCpDQVNUPGludDMyX3Qq
Pih0MC5pOHAgKyAyNCkgJiBpbnQzMl90KDB4MjApKSAhPSAwKSAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzODkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX29wU3dpdGNoQ2hhcjhCaXQ7CiAgICB0MC5pID0gKkNBU1Q8dWludDE2X3Qq
Pih0MS5pOHApOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTAKICAgIGdvdG8gX29mZmxp
bmVhc21fb3BTd2l0Y2hDaGFyUmVhZHk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MQoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcFN3aXRjaENoYXI4Qml0KQogICAg
dDAuaSA9ICpDQVNUPHVpbnQ4X3QqPih0MS5pOHApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMzkzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wU3dpdGNoQ2hh
clJlYWR5KQogICAgdDAuaTMyID0gdDAuaTMyIC0gKkNBU1Q8aW50MzJfdCo+KHQyLmk4cCArIDE2
KTsgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzk1CiAgICB0MC5jbGVhckhpZ2hXb3JkKCk7CiAgICBpZiAodDAudTMy
ID49ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwICsgMTIpKSAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTYKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX29wU3dpdGNoQ2hhckZhbGxUaHJvdWdoOwogICAgdDIuaSA9
ICpDQVNUPGludHB0cl90Kj4odDIuaThwKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk3
CiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHQyLmk4cCArICh0MC5pIDw8IDIpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTM5OAogICAgaWYgKHQxLmkzMiA9PSAwKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFN3
aXRjaENoYXJGYWxsVGhyb3VnaDsKICAgIHJQQy5pID0gclBDLmkgKyB0MS5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9v
cFN3aXRjaENoYXJGYWxsVGhyb3VnaCkKICAgIHJQQy5pMzIgPSByUEMuaTMyICsgKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM2
CiAgICByUEMuY2xlYXJIaWdoV29yZCgpOwogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wU3dp
dGNoT25Sb3BlKQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0ZSog
ZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMg
PSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3N3aXRjaF9jaGFyKGV4ZWMsIHBjKTsKICAgICAgICBk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0K
ICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkgPj4g
KGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5pID0g
clBDLmkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BD
T0RFX0xBQkVMKG9wX25ld19mdW5jKQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBD
Lmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICh0Mi5pMzIg
PT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQxMwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fb3BOZXdGdW5jVW5jaGVja2VkOwogICAgdDEuaSA9ICpDQVNU
PGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4
MQogICAgaWYgKCpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKSAhPSAwKSAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0MTUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wTmV3RnVuY0Rv
bmU7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wTmV3RnVuY1VuY2hl
Y2tlZCkKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODIKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMg
PSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FT
VDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3Vs
dCA9IGxsaW50X3Nsb3dfcGF0aF9uZXdfZnVuYyhleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMu
aSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3
CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJf
dCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX29wTmV3RnVuY0RvbmUpCiAgICByUEMuaSA9IHJQQy5pICsgaW50
cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF90ZWFyX29mZl9hY3RpdmF0aW9uKQogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBD
Lmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYgKCpDQVNUPGlu
dDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9PSAwKSAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
NjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wVGVhck9mZkFjdGl2YXRpb25Ob3RDcmVhdGVk
OwogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENB
U1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPElu
c3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0g
bGxpbnRfc2xvd19wYXRoX3RlYXJfb2ZmX2FjdGl2YXRpb24oZXhlYywgcGMpOwogICAgICAgIGRl
Y29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQog
ICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgclBDLmkgPSByUEMuaSA+PiAo
aW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcFRlYXJPZmZBY3RpdmF0aW9uTm90Q3JlYXRlZCkK
ICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDIpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3RlYXJfb2ZmX2FyZ3VtZW50cykKICAgIHQwLmkgPSAq
Q0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206ODEKICAgIHQwLmkzMiA9IHQwLmkzMiAtIGludDMyX3QoMHgxKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQ3MAogICAgdDAuY2xlYXJIaWdoV29yZCgpOwogICAgaWYgKCpDQVNUPGlu
dDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9PSAwKSAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
NzEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wVGVhck9mZkFyZ3VtZW50c05vdENyZWF0ZWQ7
CiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FT
VDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5z
dHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfdGVhcl9vZmZfYXJndW1lbnRzKGV4ZWMsIHBjKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAg
IHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkgPj4gKGlu
dHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BUZWFyT2ZmQXJndW1lbnRzTm90Q3JlYXRlZCkKICAg
IHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX3JldCkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICh0Mi5p
ID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV82N19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFu
dDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fNjdfbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fZG9uZTsgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtXzY3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAu
aSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTgKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDI3Mik7ICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTU5CiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4
cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtXzY3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAg
ICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo0MDgKICAgIGNmci5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gNDApOyAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjQwOQogICAgclJldFZQQy5pID0gdDIuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MjEwCiAgICBnb3RvIGRvUmV0dXJuSGVscGVyOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo0MTEKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9yZXRfb2JqZWN0X29yX3RoaXMpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDIuaSA+PSBp
bnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fNjhfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAg
ICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtXzY4X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2RvbmU7ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV82OF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAg
ICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1OQogICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNjAKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAo
dDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV82OF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYg
KCh0MC5pNjQgJiB0YWdNYXNrLmk2NCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDkwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFJldE9iamVjdE9yVGhpc05vdE9iamVjdDsK
ICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ5MQogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAgKyA5MikgPCB1aW50OF90
KDB4MTEpKSAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDkyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFJldE9iamVj
dE9yVGhpc05vdE9iamVjdDsKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSAx
Nik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQwOAogICAgY2ZyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAgLSA0MCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDA5CiAgICByUmV0VlBDLmkgPSB0Mi5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMTAKICAgIGdvdG8gZG9SZXR1
cm5IZWxwZXI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQxMQoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcFJldE9iamVjdE9yVGhpc05vdE9iamVj
dCkKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAw
KSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
NjlfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MC5pNjQgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAg
ICBnb3RvIF9vZmZsaW5lYXNtXzY5X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7ICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV82OV9sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MC5pID0gKkNBU1Q8aW50
cHRyX3QqPih0MC5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDIuaSA9
IHQyLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAK
ICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV82
OV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgdDIuaSA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCAtIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDA4CiAgICBjZnIuaSA9ICpDQVNU
PGludHB0cl90Kj4oY2ZyLmk4cCAtIDQwKTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo0MDkKICAgIHJSZXRW
UEMuaSA9IHQyLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIxMAog
ICAgZ290byBkb1JldHVybkhlbHBlcjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206NDExCgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfdG9fcHJpbWl0aXZlKQogICAgdDIu
aSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206ODEKICAgIHQzLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICh0Mi5pID49IGludHB0cl90KDB4
NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV83MF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fNzBfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9u
ZTsgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzcw
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQwLmkgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAg
ICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE2MAogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0Mi5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtXzcwX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCAm
IHRhZ01hc2suaTY0KSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MDYKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX29wVG9QcmltaXRpdmVJc0ltbTsKICAgIHQyLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQwLmk4cCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUwNwogICAgaWYg
KCpDQVNUPGludDhfdCo+KHQyLmk4cCArIDkyKSAhPSBpbnQ4X3QoMHg1KSkgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcFRvUHJpbWl0aXZlU2xvd0Nhc2U7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wVG9QcmltaXRpdmVJc0ltbSkKICAg
ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9
IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTEwCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgzKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BUb1By
aW1pdGl2ZVNsb3dDYXNlKQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlv
biogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3RvX3ByaW1pdGl2ZShleGVjLCBwYyk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9
CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+
IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9
IHJQQy5pICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09Q
Q09ERV9MQUJFTChvcF9uZXh0X3BuYW1lKQogICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQyLmkgPSAq
Q0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDIw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjgxCiAgICB0MC51ID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykg
KyBpbnRwdHJfdCgweDQpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTI0CiAgICBpZiAodDAuaTMyID09ICpDQVNUPGludDMyX3Qq
PihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDQpKSkgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTI1CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9vcE5leHRQbmFtZUVuZDsKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90
Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDI4KSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0
Mi5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTI4CiAgICB0My5pID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyA0MCk7ICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1MjkKICAgIHQzLmk2NCA9ICpDQVNUPGludDY0X3QqPih0My5p
OHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MzAKICAgIHQwLmkzMiA9IHQw
LmkzMiArIGludDMyX3QoMHgxKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzMQogICAg
dDAuY2xlYXJIaWdoV29yZCgpOwogICAgKkNBU1Q8aW50MzJfdCo+KGNmci5pOHAgKyAodDEuaSA8
PCAzKSArIGludHB0cl90KDB4NCkpID0gdDAuaTMyOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MzIKICAgIHQxLmkgPSAqQ0FTVDxp
bnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEK
ICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KSA9IHQzLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNTM0CiAgICB0My5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDMuaTY0ID0gKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MzcK
ICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTUzOAogICAgaWYgKHQxLmkgIT0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyA4KSkg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNTM5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcE5leHRQbmFt
ZVNsb3c7CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyAxNik7ICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1NDAKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDgp
OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0MQogICAgaWYgKCpDQVNUPGludHB0cl90Kj4odDAu
aThwKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQyCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9vcE5leHRQbmFtZVRhcmdldDsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fb3BOZXh0UG5hbWVDaGVja1Byb3RvdHlwZUxvb3ApCiAgICBpZiAoKkNBU1Q8aW50
NjRfdCo+KHQxLmk4cCArIDE2KSA9PSBpbnQ2NF90KDB4MikpICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NDQKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX29wTmV4dFBuYW1lU2xvdzsKICAgIHQyLmk2NCA9ICpDQVNUPGlu
dDY0X3QqPih0MS5pOHAgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0NQogICAgdDEuaSA9
ICpDQVNUPGludHB0cl90Kj4odDIuaThwKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQ2
CiAgICBpZiAodDEuaSAhPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCkpICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE1NDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wTmV4dFBuYW1lU2xvdzsKICAg
IHQwLmkgPSB0MC5pICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU0OAogICAgaWYgKCpDQVNUPGludHB0cl90Kj4odDAuaThwKSAhPSAwKSAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNTQ5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcE5leHRQbmFtZUNo
ZWNrUHJvdG90eXBlTG9vcDsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
b3BOZXh0UG5hbWVUYXJnZXQpCiAgICByUEMuaTMyID0gclBDLmkzMiArICpDQVNUPGludDMyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MzApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNgogICAg
clBDLmNsZWFySGlnaFdvcmQoKTsKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcE5leHRQbmFt
ZUVuZCkKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDcpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcE5leHRQbmFtZVNsb3cp
CiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FT
VDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5z
dHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfbmV4dF9wbmFtZShleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9
IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAg
ICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgw
eDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsgaW50
cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9jYXRjaCkKICAgIGNmci5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU2OAogICAgckJhc2VQQy5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwIC0gOCk7ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTY5CiAgICByQmFzZVBDLmkgPSAqQ0FTVDxpbnRw
dHJfdCo+KHJCYXNlUEMuaThwICsgMTA0KTsgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NzAKICAgIHQzLmkgPSAqQ0FT
VDxpbnRwdHJfdCo+KChBU1NFUlQoMCA9PSBvZmZzZXRvZihKSVRTdGFja0ZyYW1lLCB2bSkpLCAm
c3AtPnZtKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU3MQogICAgclBDLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCArIDQz
NTM2KTsgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTcyCiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NzMKICAgIHJQQy5pID0gclBDLmkg
Pj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU3NAogICAgdDAu
aTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCArIDQzNjg4KTsgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTc1CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwICsgNDM2ODgpID0gaW50NjRfdCgweDApOyAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1NzYKICAgIHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgICpDQVNUPGludDY0X3QqPihjZnIu
aThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTc4CiAgICBy
UEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF9lbmQpCiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MC5pNjQgPSAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTU4OAogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206NDA4CiAgICBjZnIuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDQwKTsg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo0MDkKICAgIHJSZXRWUEMuaSA9IHQyLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIxMAogICAgZ290byBkb1JldHVybkhlbHBlcjsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDExCgpPRkZMSU5FX0FTTV9HTFVFX0xB
QkVMKGxsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmUpCiAgICB0MS5pID0gKkNB
U1Q8aW50cHRyX3QqPigoQVNTRVJUKDAgPT0gb2Zmc2V0b2YoSklUU3RhY2tGcmFtZSwgdm0pKSwg
JnNwLT52bSkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1OTYKICAgIGNmci5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAz
NjkyOCk7ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5NwogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4o
dDEuaThwICsgNDM1MjApOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTk4CiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAgKyA0MzUyOCk7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OTkKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF90aHJvd19kdXJp
bmdfY2FsbF90cmFtcG9saW5lKQogICAgdDIuaSA9IHJSZXRWUEMuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk3CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPigo
QVNTRVJUKDAgPT0gb2Zmc2V0b2YoSklUU3RhY2tGcmFtZSwgdm0pKSwgJnNwLT52bSkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2
MDQKICAgIGNmci5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAzNjkyOCk7ICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTYwNQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwICsgNDM1MjAp
OyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNjA2CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAgKyA0MzUyOCk7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MDcKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3Jlc29sdmVfc2NvcGUpCiAgICB0MC5pID0g
KkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgx
OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTo4MQogICAgaWYgKHQwLmkzMiAhPSBpbnQzMl90KDB4MCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNzA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9yR2xvYmFsVmFyOwog
ICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNjY3CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA0MCk7ICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE2NjgKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjcw
CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fckdsb2JhbFZhcikKICAgIGlmICh0
MC5pMzIgIT0gaW50MzJfdCgweDEpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcx
MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fckNsb3N1cmVWYXI7CiAgICB0MC5pID0gKkNBU1Q8
aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NjcKICAgIHQw
LmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDQwKTsgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTY2OAogICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NzAKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9yQ2xvc3VyZVZhcikKICAgIGlmICh0MC5pMzIgIT0gaW50MzJf
dCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcxOAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fckdsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNrczsKICAgIHQw
LmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTY4MQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4MjApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0MC5pOHAgKyAx
MjUpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY4MwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fcmVzb2x2ZVNjb3BlX19yZXNvbHZlU2NvcGVBZnRlckFjdGl2YXRpb25DaGVjazsKICAgIHQx
LmkgPSAqQ0FTVDxpbnQzMl90Kj4odDAuaThwICsgMTIwKTsgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTY4NAogICAgaWYgKCpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSkgPT0gMCkgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNjg1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9yZXNvbHZl
U2NvcGVfX3Jlc29sdmVTY29wZUFmdGVyQWN0aXZhdGlvbkNoZWNrOwogICAgdDIuaTMyID0gdDIu
aTMyICsgaW50MzJfdCgweDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjg2CiAgICB0
Mi5jbGVhckhpZ2hXb3JkKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X3Jlc29sdmVTY29wZV9fcmVzb2x2ZVNjb3BlQWZ0ZXJBY3RpdmF0aW9uQ2hlY2spCiAgICB0MC5p
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMjQpOyAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2
ODkKICAgIGlmICh0Mi5pMzIgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTY5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcmVzb2x2ZVNjb3BlX19yZXNv
bHZlU2NvcGVMb29wRW5kOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9y
ZXNvbHZlU2NvcGVfX3Jlc29sdmVTY29wZUxvb3ApCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MC5pOHAgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2OTMKICAgIHQyLmkzMiA9IHQy
LmkzMiAtIGludDMyX3QoMHgxKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY5NAogICAg
dDIuY2xlYXJIaWdoV29yZCgpOwogICAgaWYgKHQyLmkzMiAhPSAwKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjk1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9y
ZXNvbHZlU2NvcGVfX3Jlc29sdmVTY29wZUxvb3A7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX3Jlc29sdmVTY29wZV9fcmVzb2x2ZVNjb3BlTG9vcEVuZCkKICAgIHQxLmkg
PSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206ODEKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjk5CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3Qo
MHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fckdsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNrcykKICAgIGlmICh0MC5p
MzIgIT0gaW50MzJfdCgweDMpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyMwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fckdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M7
CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE2NzQKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDQwKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTY3NQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThw
ICsgOTUyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjc2CiAgICBpZiAoKkNBU1Q8aW50OF90Kj4o
dDAuaThwICsgNDEpICE9IDApICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NzcKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3JEeW5hbWljOwogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjY3CiAgICB0MC5pID0gKkNBU1Q8aW50cHRy
X3QqPih0MC5pOHAgKyA0MCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NjgKICAgIHQxLmkgPSAq
Q0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206ODEKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNjcwCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg1
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fckdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MpCiAgICBpZiAodDAuaTMyICE9IGlu
dDMyX3QoMHg0KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjkKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX3JDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczsKICAgIHQw
LmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTY3NAogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgNDApOyAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNjc1CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA5NTIp
OyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE2NzYKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0MC5pOHAg
KyA0MSkgIT0gMCkgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY3NwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fckR5bmFtaWM7CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE2NjcKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQw
Lmk4cCArIDQwKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY2OAogICAgdDEuaSA9ICpDQVNUPGlu
dDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQog
ICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
ID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE2NzAKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDUpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9yQ2xv
c3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MpCiAgICBpZiAodDAuaTMyICE9IGludDMyX3Qo
MHg1KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MzUKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX3JEeW5hbWljOwogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAt
IDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjc0CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MC5pOHAgKyA0MCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NzUKICAgIHQwLmkgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQwLmk4cCArIDk1Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY3NgogICAg
aWYgKCpDQVNUPGludDhfdCo+KHQwLmk4cCArIDQxKSAhPSAwKSAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNjc3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9yRHluYW1pYzsKICAgIHQwLmkgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY4MQogICAg
dDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MjApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206ODEKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0MC5pOHAgKyAxMjUpID09IDAp
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTY4MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fNzBfcmVz
b2x2ZVNjb3BlX19yZXNvbHZlU2NvcGVBZnRlckFjdGl2YXRpb25DaGVjazsKICAgIHQxLmkgPSAq
Q0FTVDxpbnQzMl90Kj4odDAuaThwICsgMTIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY4NAog
ICAgaWYgKCpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSkgPT0gMCkgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNjg1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV83MF9yZXNvbHZlU2Nv
cGVfX3Jlc29sdmVTY29wZUFmdGVyQWN0aXZhdGlvbkNoZWNrOwogICAgdDIuaTMyID0gdDIuaTMy
ICsgaW50MzJfdCgweDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjg2CiAgICB0Mi5j
bGVhckhpZ2hXb3JkKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzcw
X3Jlc29sdmVTY29wZV9fcmVzb2x2ZVNjb3BlQWZ0ZXJBY3RpdmF0aW9uQ2hlY2spCiAgICB0MC5p
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMjQpOyAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2
ODkKICAgIGlmICh0Mi5pMzIgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTY5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fNzBfcmVzb2x2ZVNjb3BlX19y
ZXNvbHZlU2NvcGVMb29wRW5kOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV83MF9yZXNvbHZlU2NvcGVfX3Jlc29sdmVTY29wZUxvb3ApCiAgICB0MC5pID0gKkNBU1Q8aW50
cHRyX3QqPih0MC5pOHAgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2OTMKICAgIHQyLmkz
MiA9IHQyLmkzMiAtIGludDMyX3QoMHgxKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY5
NAogICAgdDIuY2xlYXJIaWdoV29yZCgpOwogICAgaWYgKHQyLmkzMiAhPSAwKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjk1CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV83MF9yZXNvbHZlU2NvcGVfX3Jlc29sdmVTY29wZUxvb3A7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtXzcwX3Jlc29sdmVTY29wZV9fcmVzb2x2ZVNjb3BlTG9vcEVu
ZCkKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206ODEKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQxLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQwLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjk5CiAgICByUEMuaSA9IHJQQy5p
ICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fckR5bmFtaWMpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAg
ICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAg
IEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNs
b3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfcmVzb2x2ZV9zY29wZShl
eGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQx
LmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9
IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAg
ICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfZnJvbV9zY29wZSkKICAgIHQwLmkg
PSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDIwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjgxCiAgICB0MC5pMzIgPSB0MC5pMzIgJiBpbnQzMl90KDB4ZmZmZik7ICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE3ODAKICAgIHQwLmNsZWFySGlnaFdvcmQoKTsKICAgIGlmICh0MC5p
MzIgIT0gaW50MzJfdCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc4Mwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fZ0dsb2JhbFZhcjsKICAgIHQwLmkgPSAqQ0FTVDxpbnQz
Ml90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAg
ICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTc0NwogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDI4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg1CiAgICBpZiAoKkNBU1Q8aW50cHRy
X3QqPih0MC5pOHApICE9IHQxLmkpICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NDkKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2dEeW5hbWljOwogICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MzApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICh0MS5p
MzIgPCBpbnQzMl90KDB4NjQpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODE4CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9nZXRQcm9wZXJ0eV9fNzBfbG9hZFByb3BlcnR5QXRWYXJp
YWJsZU9mZnNldF9faXNJbmxpbmU7CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAg
KyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgxOQogICAgdDEuaTMyID0gLXQxLmkzMjsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MjAKICAgIHQxLmNsZWFySGln
aFdvcmQoKTsKICAgIHQxLmk2NCA9IHQxLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODIxCiAgICBnb3RvIF9vZmZsaW5lYXNtX2dldFByb3BlcnR5X183MF9s
b2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MjIKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZ2V0UHJvcGVydHlfXzcwX2xvYWRQcm9wZXJ0eUF0VmFy
aWFibGVPZmZzZXRfX2lzSW5saW5lKQogICAgdDAuaSA9IHQwLmkgKyBpbnRwdHJfdCgtNzY4KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MjQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fZ2V0UHJvcGVydHlfXzcwX2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZz
ZXRfX3JlYWR5KQogICAgdDIuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCArICh0MS5pIDw8
IDMpICsgaW50cHRyX3QoMHgzMTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MjYKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgICpDQVNU
PGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9IHQyLmk2
NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNzU3CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENP
REUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZ0dsb2JhbFZhcikK
ICAgIGlmICh0MC5pMzIgIT0gaW50MzJfdCgweDEpKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTc4OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZ0Nsb3N1cmVWYXI7CiAgICB0MC5p
ID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4MzApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206ODUKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHApOyAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTc2MgogICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBD
Lmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3
NjUKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9nQ2xvc3VyZVZhcikKICAgIGlm
ICh0MC5pMzIgIT0gaW50MzJfdCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTc5NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZ0dsb2JhbFByb3BlcnR5V2l0aFZhckluamVj
dGlvbkNoZWNrczsKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CiAgICB0MC5p
ID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAzMik7ICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3
NjkKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDMwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThw
ICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzcxCiAgICB0MS5pID0gKkNBU1Q8
aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgx
CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSkgPSB0MC5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTc3NAogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4OCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2dH
bG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3MpCiAgICBpZiAodDAuaTMyICE9IGlu
dDMyX3QoMHgzKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4MDAKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2dHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOwogICAgdDAu
aSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90
KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206ODEKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzQ3CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MjgpKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODUKICAgIGlm
ICgqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCkgIT0gdDEuaSkgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTc0OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZ0R5bmFtaWM7CiAgICB0MS5pID0gKkNBU1Q8
aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgzMCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4
MQogICAgaWYgKHQxLmkzMiA8IGludDMyX3QoMHg2NCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo4MTgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2dldFByb3BlcnR5X183MV9sb2Fk
UHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZTsKICAgIHQwLmkgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQwLmk4cCArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODE5CiAgICB0MS5pMzIg
PSAtdDEuaTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyMAog
ICAgdDEuY2xlYXJIaWdoV29yZCgpOwogICAgdDEuaTY0ID0gdDEuaTMyOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MjEKICAgIGdvdG8gX29mZmxpbmVhc21fZ2V0
UHJvcGVydHlfXzcxX2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyMgoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9nZXRQcm9wZXJ0eV9fNzFfbG9h
ZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MC5pID0gdDAuaSArIGlu
dHB0cl90KC03NjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyNAoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9nZXRQcm9wZXJ0eV9fNzFfbG9hZFByb3BlcnR5
QXRWYXJpYWJsZU9mZnNldF9fcmVhZHkpCiAgICB0Mi5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAu
aThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDMxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyNgogICAgdDAuaSA9ICpD
QVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo4MQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpID0gdDIuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE3NTcKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9nR2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcykKICAgIGlmICh0MC5pMzIgIT0gaW50
MzJfdCgweDQpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTgwNgogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fZ0Nsb3N1cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOwogICAgdDAu
aSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
Njc0CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA0MCk7ICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE2NzUKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDk1Mik7
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTY3NgogICAgaWYgKCpDQVNUPGludDhfdCo+KHQwLmk4cCAr
IDQxKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjc3CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9nRHluYW1pYzsKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CiAgICB0
MC5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MzApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206ODUKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHApOyAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTc2MgogICAgdDEuaSA9ICpDQVNUPGludDMyX3QqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpID0gdDAuaTY0OyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE3NjUKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9nQ2xvc3VyZVZhcldpdGhW
YXJJbmplY3Rpb25DaGVja3MpCiAgICBpZiAodDAuaTMyICE9IGludDMyX3QoMHg1KSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4MTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2dE
eW5hbWljOwogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNjc0CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA0
MCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NzUKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQwLmk4cCArIDk1Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY3NgogICAgaWYgKCpDQVNUPGlu
dDhfdCo+KHQwLmk4cCArIDQxKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjc3CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9nRHluYW1pYzsKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4o
ckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MC5p
NjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ5CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAzMik7ICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE3NjkKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDMwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MC5pNjQgPSAqQ0FT
VDxpbnQ2NF90Kj4odDAuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzcx
CiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsg
aW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjgxCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8
IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0MC5pNjQ7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc3NAogICAgclBDLmkgPSByUEMuaSAr
IGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2dEeW5hbWljKQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAg
ICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJ
bnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93
UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2dldF9mcm9tX3Njb3BlKGV4
ZWMsIHBjKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEu
ZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0g
clBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAg
IHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTEKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1dF90b19zY29wZSkKICAgIHQwLmkgPSAq
Q0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDIw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjgxCiAgICB0MC5pMzIgPSB0MC5pMzIgJiBpbnQzMl90KDB4ZmZmZik7ICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE4NTAKICAgIHQwLmNsZWFySGlnaFdvcmQoKTsKICAgIGlmICh0MC5pMzIg
IT0gaW50MzJfdCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg1MwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fcEdsb2JhbFZhcjsKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90
Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQw
Lmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgw
eDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNzQ3CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4MjgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODUKICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+
KHQwLmk4cCkgIT0gdDEuaSkgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc0OQogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fcER5bmFtaWM7CiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYgKHQxLmkgPj0g
aW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX3B1dFByb3BlcnR5X183MV9sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19jb25zdGFudDsKICAgIHQyLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQxLmkg
PDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0UHJv
cGVydHlfXzcxX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dFByb3BlcnR5X183MV9sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19jb25zdGFudCkKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAg
LSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3Qq
Pih0Mi5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDEuaSA9IHQxLmkg
LSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQy
Lmk2NCA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRQcm9w
ZXJ0eV9fNzFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIHQxLmkgPSAqQ0FTVDxp
bnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDMwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgx
CiAgICBpZiAodDEuaTMyIDwgaW50MzJfdCgweDY0KSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjgzMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0UHJvcGVydHlfX3N0b3JlUHJv
cGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZTsKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQwLmk4cCArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMyCiAgICB0MS5pMzIgPSAt
dDEuaTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzMwogICAg
dDEuY2xlYXJIaWdoV29yZCgpOwogICAgdDEuaTY0ID0gdDEuaTMyOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MzQKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0UHJv
cGVydHlfX3N0b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MzUKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0UHJvcGVydHlfX3N0b3JlUHJvcGVy
dHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZSkKICAgIHQwLmkgPSB0MC5pICsgaW50cHRyX3Qo
LTc2OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODM3CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dFByb3BlcnR5X19zdG9yZVByb3BlcnR5QXRWYXJpYWJs
ZU9mZnNldF9fcmVhZHkpCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQxLmkgPDwgMykg
KyBpbnRwdHJfdCgweDMxMCkpID0gdDIuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzOQogICAgclBDLmkgPSByUEMuaSArIGlu
dHB0cl90KDB4Nyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX3BHbG9iYWxWYXIpCiAgICBpZiAodDAuaTMyICE9IGludDMyX3QoMHgxKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4NTkKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX3BDbG9zdXJlVmFyOwogICAgdDAuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICh0MC5pID49IGludHB0
cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9wdXRHbG9iYWxWYXJfXzcyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Nv
bnN0YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDAuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9wdXRHbG9iYWxW
YXJfXzcyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEdsb2JhbFZhcl9fNzJfbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0g
OCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4o
dDEuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQwLmkgPSB0MC5pIC0g
aW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0MS5p
NjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0R2xvYmFs
VmFyX183Ml9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgdDAuaSA9ICpDQVNUPGlu
dHB0cl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDMwKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg1
CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKSA9IHQxLmk2NDsgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE4MzUKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDcpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wQ2xvc3VyZVZh
cikKICAgIGlmICh0MC5pMzIgIT0gaW50MzJfdCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTg2NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcEdsb2JhbFByb3BlcnR5V2l0
aFZhckluamVjdGlvbkNoZWNrczsKICAgIHQwLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIHQwLmk2NCA9ICpDQVNU
PGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDkK
ICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDEuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0
Q2xvc3VyZVZhcl9fNzNfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0Mi5p
NjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dENsb3N1cmVWYXJfXzczX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX3B1dENsb3N1cmVWYXJfXzczX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0
YW50KQogICAgdDIuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTgKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCArIDI3Mik7
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0MS5pID0gdDEuaSAtIGludHB0cl90KDB4NDAw
MDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDIuaTY0ID0gKkNBU1Q8aW50
NjRfdCo+KHQyLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dENsb3N1cmVWYXJfXzczX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5p
OHAgKyAzMik7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4NDEKICAgIHQxLmkgPSAqQ0FTVDxpbnQz
Ml90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDMwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAg
ICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKSA9
IHQyLmk2NDsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxODQzCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg3KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcEdsb2Jh
bFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNrcykKICAgIGlmICh0MC5pMzIgIT0gaW50MzJf
dCgweDMpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg3MAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fcEdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M7CiAgICB0MC5pID0g
KkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjgxCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTc0NwogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDI4KSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjg1CiAgICBpZiAoKkNB
U1Q8aW50cHRyX3QqPih0MC5pOHApICE9IHQxLmkpICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NDkK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3BEeW5hbWljOwogICAgdDEuaSA9ICpDQVNUPGludDMy
X3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAg
IGlmICh0MS5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRQcm9wZXJ0eV9fNzRfbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0Mi5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZs
aW5lYXNtX3B1dFByb3BlcnR5X183NF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRQcm9wZXJ0eV9fNzRf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0Mi5pID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDIuaSA9ICpD
QVNUPGludHB0cl90Kj4odDIuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAg
IHQxLmkgPSB0MS5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTYwCiAgICB0Mi5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwICsgKHQxLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fcHV0UHJvcGVydHlfXzc0X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICB0
MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgzMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTo4MQogICAgaWYgKHQxLmkzMiA8IGludDMyX3QoMHg2NCkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4MzEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dFByb3Bl
cnR5X183NF9zdG9yZVByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmU7CiAgICB0MC5p
ID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgz
MgogICAgdDEuaTMyID0gLXQxLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo4MzMKICAgIHQxLmNsZWFySGlnaFdvcmQoKTsKICAgIHQxLmk2NCA9IHQxLmkzMjsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODM0CiAgICBnb3RvIF9v
ZmZsaW5lYXNtX3B1dFByb3BlcnR5X183NF9zdG9yZVByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9f
cmVhZHk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODM1CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dFBy
b3BlcnR5X183NF9zdG9yZVByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0
MC5pID0gdDAuaSArIGludHB0cl90KC03NjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjgzNwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRQcm9wZXJ0eV9f
NzRfc3RvcmVQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5KQogICAgKkNBU1Q8aW50NjRf
dCo+KHQwLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgzMTApKSA9IHQyLmk2NDsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4
MzkKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDcpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wR2xvYmFsVmFyV2l0aFZhcklu
amVjdGlvbkNoZWNrcykKICAgIGlmICh0MC5pMzIgIT0gaW50MzJfdCgweDQpKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTg3NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcENsb3N1
cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOwogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjc0CiAgICB0MC5pID0gKkNBU1Q8
aW50cHRyX3QqPih0MC5pOHAgKyA0MCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NzUKICAgIHQw
LmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDk1Mik7ICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTY3NgogICAgaWYgKCpDQVNUPGludDhfdCo+KHQwLmk4cCArIDQxKSAhPSAwKSAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNjc3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wRHluYW1pYzsKICAgIHQw
LmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDE4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjgxCiAgICBpZiAodDAuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0R2xvYmFs
VmFyX183NV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwICsgKHQwLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTUKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0R2xvYmFsVmFyX183NV9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9wdXRHbG9iYWxWYXJfXzc1X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAg
dDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTgKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDI3Mik7ICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU5CiAgICB0MC5pID0gdDAuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQx
Lmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEdsb2JhbFZhcl9fNzVfbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fZG9uZSkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgzMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4NQogICAgKkNBU1Q8aW50NjRfdCo+KHQw
Lmk4cCkgPSB0MS5pNjQ7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODM1CiAgICByUEMuaSA9
IHJQQy5pICsgaW50cHRyX3QoMHg3KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcENsb3N1cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tz
KQogICAgaWYgKHQwLmkzMiAhPSBpbnQzMl90KDB4NSkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxODgyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wRHluYW1pYzsKICAgIHQwLmkg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY3
NAogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgNDApOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNjc1CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyA5NTIpOyAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE2NzYKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0MC5pOHAgKyA0
MSkgIT0gMCkgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY3NwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fcER5bmFtaWM7CiAgICB0MC5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ5CiAgICB0MS5p
ID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo4MQogICAgaWYgKHQxLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dENsb3N1cmVW
YXJfXzc2X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDIuaTY0ID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
NQogICAgZ290byBfb2ZmbGluZWFzbV9wdXRDbG9zdXJlVmFyX183Nl9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9wdXRDbG9zdXJlVmFyX183Nl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAg
IHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU4CiAgICB0Mi5pID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAgKyAyNzIpOyAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1OQogICAgdDEuaSA9IHQxLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQyLmk2NCA9ICpDQVNUPGludDY0X3QqPih0
Mi5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRDbG9zdXJlVmFyX183Nl9sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19kb25lKQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMzIp
OyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODQxCiAgICB0MS5pID0gKkNBU1Q8aW50MzJfdCo+KHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgzMCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgKkNBU1Q8
aW50NjRfdCo+KHQwLmk4cCArICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSkgPSB0Mi5pNjQ7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTg0MwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Nyk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3BEeW5hbWljKQogICAg
clBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhl
Y1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0
aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRf
c2xvd19wYXRoX3B1dF90b19zY29wZShleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJl
c3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQw
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAgICBj
ZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMp
ICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRy
X3QoMHg3KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9u
ZXdfYXJyYXkpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBl
eGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9
IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSBy
ZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X2FycmF5KGV4ZWMsIHBjKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAg
IHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkgPj4gKGlu
dHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5pID0gclBD
LmkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX25ld19hcnJheV93aXRoX3NpemUpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQ
Qy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYw
CiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAg
ICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAg
IFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X2FycmF5X3dp
dGhfc2l6ZShleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1
Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBD
LmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAg
ICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFz
ZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRD
SF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9uZXdfYXJyYXlfYnVmZmVy
KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENB
U1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPElu
c3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0g
bGxpbnRfc2xvd19wYXRoX25ld19hcnJheV9idWZmZXIoZXhlYywgcGMpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAg
clBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgclBDLmkgPSByUEMuaSA+PiAoaW50
cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MQogICAgclBDLmkgPSByUEMu
aSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVf
TEFCRUwob3BfbmV3X3JlZ2V4cCkKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgICAgICBF
eGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1
Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhS
ZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9uZXdfcmVnZXhwKGV4ZWMsIHBjKTsK
ICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRl
KTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSBy
QmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0g
clBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAg
IHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX2xlc3MpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAg
ICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAg
IEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNs
b3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfbGVzcyhleGVjLCBwYyk7CiAgICAg
ICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAg
ICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQ
Qy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5p
ID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMu
aSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9sZXNzZXEpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAg
ICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIElu
c3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfbGVzc2VxKGV4ZWMsIHBjKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAg
IH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBD
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkg
Pj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5p
ID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsg
aW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX2dyZWF0ZXIpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAg
ICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIElu
c3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfZ3JlYXRlcihleGVjLCBwYyk7CiAgICAg
ICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAg
ICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQ
Qy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5p
ID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMu
aSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9ncmVhdGVyZXEpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAg
ICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAg
IEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNs
b3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfZ3JlYXRlcmVxKGV4ZWMsIHBjKTsK
ICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRl
KTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSBy
QmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0g
clBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAg
IHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX21vZCkKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQzLmkgPSByQmFzZVBDLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAg
ICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAg
SW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xv
d1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9tb2QoZXhlYywgcGMpOwogICAgICAg
IGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAg
fQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgclBDLmkgPSByUEMuaSA+
PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MQogICAgclBDLmkg
PSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9P
UENPREVfTEFCRUwob3BfdHlwZW9mKQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAg
IEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0
cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3R5cGVvZihleGVjLCBwYyk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9
CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+
IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9
IHJQQy5pICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGlu
dHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09Q
Q09ERV9MQUJFTChvcF9pc19vYmplY3QpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAg
ICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIElu
c3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfaXNfb2JqZWN0KGV4ZWMsIHBjKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsK
ICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFz
ZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBD
LmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQ
Qy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX2lzX2Z1bmN0aW9uKQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNl
UEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MAogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAg
ICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAg
ICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2lzX2Z1bmN0aW9uKGV4ZWMs
IHBjKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhl
Y1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBD
LmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQ
Qy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTEKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
T0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2luKQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNl
UEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MAogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAg
ICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAg
ICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2luKGV4ZWMsIHBjKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsK
ICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFz
ZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBD
LmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQ
Qy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX2RlbF9ieV9pZCkKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQzLmkgPSByQmFzZVBD
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAK
ICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAg
ICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAg
U2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9kZWxfYnlfaWQoZXhl
YywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5l
eGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0gdDMuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBDLmkgPSBy
UEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAg
clBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZGVsX2J5X3ZhbCkKICAgIHJQQy5pOHAgPSBy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQz
LmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODMKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNm
ci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52
cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9k
ZWxfYnlfdmFsKGV4ZWMsIHBjKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0
cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNl
UEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkK
ICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1dF9ieV9pbmRleCkK
ICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODIKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNU
PEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0
cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxs
aW50X3Nsb3dfcGF0aF9wdXRfYnlfaW5kZXgoZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3Vs
dChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkg
PSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4Nwog
ICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo4OAogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo4OQogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3Qo
MHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSArIGlu
dHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwo
b3BfcHV0X2dldHRlcl9zZXR0ZXIpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAg
RXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3Ry
dWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfcHV0X2dldHRlcl9zZXR0ZXIoZXhl
YywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5l
eGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0gdDMuaTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBDLmkgPSBy
UEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAg
clBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfanRydWUpCiAgICB0MS5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAg
ICBpZiAodDEuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fanVtcFRydWVPckZhbHNlX183N19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQxLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8g
X29mZmxpbmVhc21fanVtcFRydWVPckZhbHNlX183N19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19k
b25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9qdW1wVHJ1
ZU9yRmFsc2VfXzc3X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgK
ICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTU5CiAgICB0MS5pID0gdDEuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE2MAogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCAr
ICh0MS5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2p1bXBUcnVlT3JGYWxzZV9fNzdfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fZG9uZSkKICAgIHQwLmk2NCA9IHQwLmk2NCBeIGludDY0X3QoMHg2KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTIzMQogICAgaWYgKCh0MC5pNjQgJiBpbnQ2NF90KC0xKSkgIT0g
MCkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjMyCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9qdW1wVHJ1ZU9yRmFsc2VfX3Nsb3c7CiAgICBpZiAodDAuaTMyICE9IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1ODIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2p1bXBUcnVlT3JGYWxzZV9fdGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4
Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2p1bXBUcnVlT3JGYWxzZV9fdGFyZ2V0KQogICAgclBDLmkzMiA9IHJQQy5pMzIgKyAqQ0FT
VDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzYKICAgIHJQQy5jbGVhckhpZ2hXb3JkKCk7CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
anVtcFRydWVPckZhbHNlX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAg
IEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0
cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2p0cnVlKGV4ZWMsIHBjKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsK
ICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFz
ZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBD
LmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQ
Qy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX2pmYWxzZSkKICAgIHQxLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICh0MS5p
ID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9qdW1wVHJ1ZU9yRmFsc2VfXzc4X2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAg
KyAodDEuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFz
bV9qdW1wVHJ1ZU9yRmFsc2VfXzc4X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2p1bXBUcnVlT3JGYWxzZV9f
NzhfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDAuaSA9
ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkK
ICAgIHQxLmkgPSB0MS5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTYwCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQxLmkgPDwg
MykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fanVtcFRydWVPckZhbHNlX183OF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25l
KQogICAgdDAuaTY0ID0gdDAuaTY0IF4gaW50NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMjMxCiAgICBpZiAoKHQwLmk2NCAmIGludDY0X3QoLTEpKSAhPSAwKSAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEyMzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzc4X2p1bXBU
cnVlT3JGYWxzZV9fc2xvdzsKICAgIGlmICh0MC5pMzIgPT0gMCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjU4OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fNzhfanVt
cFRydWVPckZhbHNlX190YXJnZXQ7CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgzKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
NzhfanVtcFRydWVPckZhbHNlX190YXJnZXQpCiAgICByUEMuaTMyID0gclBDLmkzMiArICpDQVNU
PGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNgogICAgclBDLmNsZWFySGlnaFdvcmQoKTsKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV83
OF9qdW1wVHJ1ZU9yRmFsc2VfX3Nsb3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAg
ICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIElu
c3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfamZhbHNlKGV4ZWMsIHBjKTsK
ICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRl
KTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSBy
QmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0g
clBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAg
IHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX2psZXNzKQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDMuaSA9
ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206ODEKICAgIGlmICh0Mi5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX183OV9s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdv
dG8gX29mZmxpbmVhc21fY29tcGFyZV9fNzlfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fNzlf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDAuaSA9ICpD
QVNUPGludHB0cl90Kj4odDAuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAg
IHQyLmkgPSB0Mi5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTYwCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQyLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fY29tcGFyZV9fNzlfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0
My5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX184MF9sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQz
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fY29t
cGFyZV9fODBfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fODBfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEu
aThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQzLmkgPSB0My5pIC0gaW50
cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0MS5pNjQg
PSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fODBf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0MC51NjQgPCB0YWdUeXBlTnVt
YmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMwNwogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fY29tcGFyZV9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5cGVOdW1i
ZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzA4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9jb21wYXJlX19vcDJOb3RJbnQ7CiAgICBpZiAodDAuaTMyIDwgdDEuaTMyKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OTYKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fY29tcGFyZV9fb3AxTm90SW50KQogICAgaWYgKCh0MC5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2
NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzEzCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9jb21wYXJlX19zbG93OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzE0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21w
YXJlX19vcDFOb3RJbnRPcDJOb3RJbnQ7CiAgICBkMS5kID0gdDEuaTMyOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTUKICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZV9fb3AxTm90SW50UmVhZHk7ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMxNgoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX19vcDFOb3RJbnRPcDJOb3RJbnQp
CiAgICBpZiAoKHQxLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEzMTgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfX3Nsb3c7CiAgICB0
MS5pNjQgPSB0MS5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzMTkKICAgIGQxLmQgPSB0MS5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTMyMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9j
b21wYXJlX19vcDFOb3RJbnRSZWFkeSkKICAgIHQwLmk2NCA9IHQwLmk2NCArIHRhZ1R5cGVOdW1i
ZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMyMgogICAgZDAuZCA9IHQwLmNhc3RUb0Rv
dWJsZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzIzCiAgICBpZiAoZDAu
ZCA8IGQxLmQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo1OTcKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAgICByUEMuaSA9IHJQ
Qy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fb3AyTm90SW50KQogICAgZDAuZCA9IHQwLmkz
MjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzI4CiAgICBp
ZiAoKHQxLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzMjkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfX3Nsb3c7CiAgICB0MS5pNjQg
PSB0MS5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzAK
ICAgIGQxLmQgPSB0MS5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTMzMQogICAgaWYgKGQwLmQgPCBkMS5kKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206NTk3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX19qdW1w
VGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAg
KyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfX2p1bXBU
YXJnZXQpCiAgICByUEMuaTMyID0gclBDLmkzMiArICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNgogICAgclBDLmNsZWFySGln
aFdvcmQoKTsKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX19zbG93KQogICAgclBD
Lmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4
MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0
YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9u
Kj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xv
d19wYXRoX2psZXNzKGV4ZWMsIHBjKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5p
bnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJC
YXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2pubGVzcykKICAg
IHQyLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206ODEKICAgIHQzLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDIuaSA+PSBpbnRwdHJf
dCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fY29tcGFyZV9fODFfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7
CiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzgxX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2NvbXBhcmVfXzgxX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50
KQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTgKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDI3Mik7ICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAw
MDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MAogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRf
dCo+KHQwLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzgxX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDMuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFy
ZV9fODJfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1
CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzgyX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBh
cmVfXzgyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNU
PGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQx
LmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTU5CiAgICB0My5pID0gdDMuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE2MAogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0My5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2NvbXBhcmVfXzgyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAg
ICBpZiAodDAudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEzMDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzgyX2NvbXBhcmVfX29wMU5vdEludDsK
ICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTMwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fODJfY29tcGFyZV9fb3AyTm90SW50
OwogICAgaWYgKHQwLmkzMiA+PSB0MS5pMzIpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206NjA0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV84Ml9jb21wYXJlX19qdW1wVGFyZ2V0
OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzgyX2NvbXBhcmVfX29wMU5vdElu
dCkKICAgIGlmICgodDAuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTMxMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fODJfY29tcGFyZV9fc2xvdzsK
ICAgIGlmICh0MS51NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTMxNAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fODJfY29tcGFyZV9fb3AxTm90SW50
T3AyTm90SW50OwogICAgZDEuZCA9IHQxLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMzE1CiAgICBnb3RvIF9vZmZsaW5lYXNtXzgyX2NvbXBhcmVfX29w
MU5vdEludFJlYWR5OyAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fODJfY29tcGFyZV9fb3AxTm90SW50T3AyTm90SW50KQogICAgaWYgKCh0
MS5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzE4
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV84Ml9jb21wYXJlX19zbG93OwogICAgdDEuaTY0ID0g
dDEuaTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzE5CiAg
ICBkMS5kID0gdDEuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEzMjAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fODJfY29tcGFy
ZV9fb3AxTm90SW50UmVhZHkpCiAgICB0MC5pNjQgPSB0MC5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2
NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjIKICAgIGQwLmQgPSB0MC5jYXN0VG9Eb3VibGU7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMyMwogICAgaWYgKHN0ZDo6aXNu
YW4oZDAuZCkgfHwgc3RkOjppc25hbihkMS5kKSAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjA1CiAgICAgICAg
fHwgKGQwLmQgPj0gZDEuZCkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV84Ml9jb21wYXJlX19q
dW1wVGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzgyX2NvbXBhcmVf
X29wMk5vdEludCkKICAgIGQwLmQgPSB0MC5pMzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTMyOAogICAgaWYgKCh0MS5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2
NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzI5CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV84Ml9jb21wYXJlX19zbG93OwogICAgdDEuaTY0ID0gdDEuaTY0ICsgdGFnVHlwZU51bWJlci5p
NjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMwCiAgICBkMS5kID0gdDEuY2FzdFRvRG91Ymxl
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzEKICAgIGlmIChzdGQ6Omlz
bmFuKGQwLmQpIHx8IHN0ZDo6aXNuYW4oZDEuZCkgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYwNQogICAgICAg
IHx8IChkMC5kID49IGQxLmQpKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fODJfY29tcGFyZV9f
anVtcFRhcmdldDsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV84Ml9jb21wYXJl
X19qdW1wVGFyZ2V0KQogICAgclBDLmkzMiA9IHJQQy5pMzIgKyAqQ0FTVDxpbnQzMl90Kj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDE4KSk7IC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzYKICAgIHJQQy5j
bGVhckhpZ2hXb3JkKCk7CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUo
KTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fODJfY29tcGFyZV9fc2xv
dykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODIKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBD
QVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJ
bnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IGxsaW50X3Nsb3dfcGF0aF9qbmxlc3MoZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChy
ZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0
MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAg
Y2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4OAogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4OQogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgz
KSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0
cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bf
amdyZWF0ZXIpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0My5pID0gKkNBU1Q8aW50MzJfdCo+KHJC
YXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYgKHQy
LmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzgzX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX2NvbnN0YW50OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIu
aSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9jb21w
YXJlX184M19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX184M19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5p
OHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDIuaSA9IHQyLmkgLSBpbnRw
dHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQwLmk2NCA9
ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX184M19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQzLmkgPj0gaW50cHRyX3QoMHg0
MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbXBhcmVfXzg0X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAg
dDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX184NF9sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9jb21wYXJlX184NF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAg
IHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU4CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAyNzIpOyAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1OQogICAgdDMuaSA9IHQzLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPih0
MS5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX184NF9sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19kb25lKQogICAgaWYgKHQwLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMzA3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV84NF9jb21wYXJl
X19vcDFOb3RJbnQ7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEzMDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzg0X2NvbXBh
cmVfX29wMk5vdEludDsKICAgIGlmICh0MC5pMzIgPiB0MS5pMzIpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjYxMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fODRfY29tcGFy
ZV9fanVtcFRhcmdldDsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNl
UEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV84NF9jb21w
YXJlX19vcDFOb3RJbnQpCiAgICBpZiAoKHQwLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAw
KSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzg0X2Nv
bXBhcmVfX3Nsb3c7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEzMTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzg0X2NvbXBh
cmVfX29wMU5vdEludE9wMk5vdEludDsKICAgIGQxLmQgPSB0MS5pMzI7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMxNQogICAgZ290byBfb2ZmbGluZWFzbV84
NF9jb21wYXJlX19vcDFOb3RJbnRSZWFkeTsgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzE2CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzg0X2NvbXBhcmVfX29wMU5vdEludE9wMk5vdElu
dCkKICAgIGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTMxOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fODRfY29tcGFyZV9fc2xvdzsK
ICAgIHQxLmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTMxOQogICAgZDEuZCA9IHQxLmNhc3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMzIwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtXzg0X2NvbXBhcmVfX29wMU5vdEludFJlYWR5KQogICAgdDAuaTY0ID0gdDAuaTY0ICsgdGFn
VHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzIyCiAgICBkMC5kID0gdDAu
Y2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjMKICAg
IGlmIChkMC5kID4gZDEuZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjYxMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fODRfY29tcGFyZV9fanVtcFRhcmdldDsKICAg
IHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8
IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV84NF9jb21wYXJlX19vcDJOb3RJbnQpCiAg
ICBkMC5kID0gdDAuaTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEzMjgKICAgIGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTMyOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fODRfY29tcGFyZV9f
c2xvdzsKICAgIHQxLmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTMzMAogICAgZDEuZCA9IHQxLmNhc3RUb0RvdWJsZTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMxCiAgICBpZiAoZDAuZCA+IGQxLmQpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MTMKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtXzg0X2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3Qo
MHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fODRfY29tcGFyZV9fanVtcFRhcmdldCkKICAgIHJQQy5pMzIgPSByUEMuaTMyICsgKkNB
U1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM2CiAgICByUEMuY2xlYXJIaWdoV29yZCgpOwogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
Xzg0X2NvbXBhcmVfX3Nsb3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
Myk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhl
Y1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0
aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0
dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfamdyZWF0ZXIoZXhlYywgcGMpOwogICAg
ICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwog
ICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBDLmkgPSByUEMuaSAtIHJCYXNl
UEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MAogICAgclBDLmkgPSByUEMu
aSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MQogICAgclBD
LmkgPSByUEMuaSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9PUENPREVfTEFCRUwob3Bfam5ncmVhdGVyKQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihy
QmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkpOyAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgdDMuaSA9
ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206ODEKICAgIGlmICh0Mi5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX184NV9s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2NCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdv
dG8gX29mZmxpbmVhc21fY29tcGFyZV9fODVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fODVf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5pID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDAuaSA9ICpD
QVNUPGludHB0cl90Kj4odDAuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAg
IHQyLmkgPSB0Mi5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTYwCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwICsgKHQyLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fY29tcGFyZV9fODVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0
My5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX184Nl9sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQz
LmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fY29t
cGFyZV9fODZfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fODZfbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDEu
aThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQzLmkgPSB0My5pIC0gaW50
cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0MS5pNjQg
PSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fODZf
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0MC51NjQgPCB0YWdUeXBlTnVt
YmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMwNwogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fODZfY29tcGFyZV9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5cGVO
dW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzA4CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV84Nl9jb21wYXJlX19vcDJOb3RJbnQ7CiAgICBpZiAodDAuaTMyIDw9IHQxLmkz
MikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MjAKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtXzg2X2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAgICByUEMuaSA9IHJQQy5pICsgaW50
cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fODZfY29tcGFyZV9fb3AxTm90SW50KQogICAgaWYgKCh0MC5pNjQgJiB0YWdU
eXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzEzCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV84Nl9jb21wYXJlX19zbG93OwogICAgaWYgKHQxLnU2NCA8IHRhZ1R5cGVO
dW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzE0CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV84Nl9jb21wYXJlX19vcDFOb3RJbnRPcDJOb3RJbnQ7CiAgICBkMS5kID0gdDEu
aTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTUKICAg
IGdvdG8gX29mZmxpbmVhc21fODZfY29tcGFyZV9fb3AxTm90SW50UmVhZHk7ICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTMxNgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV84Nl9jb21wYXJl
X19vcDFOb3RJbnRPcDJOb3RJbnQpCiAgICBpZiAoKHQxLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0
KSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
Xzg2X2NvbXBhcmVfX3Nsb3c7CiAgICB0MS5pNjQgPSB0MS5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2
NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTkKICAgIGQxLmQgPSB0MS5jYXN0VG9Eb3VibGU7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMyMAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV84Nl9jb21wYXJlX19vcDFOb3RJbnRSZWFkeSkKICAgIHQw
Lmk2NCA9IHQwLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTMyMgogICAgZDAuZCA9IHQwLmNhc3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMzIzCiAgICBpZiAoc3RkOjppc25hbihkMC5kKSB8fCBzdGQ6OmlzbmFuKGQx
LmQpICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo2MjEKICAgICAgICB8fCAoZDAuZCA8PSBkMS5kKSkKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtXzg2X2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAgICByUEMuaSA9IHJQ
Qy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fODZfY29tcGFyZV9fb3AyTm90SW50KQogICAgZDAuZCA9IHQw
LmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzI4CiAg
ICBpZiAoKHQxLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEzMjkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzg2X2NvbXBhcmVfX3Nsb3c7CiAgICB0
MS5pNjQgPSB0MS5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzMzAKICAgIGQxLmQgPSB0MS5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTMzMQogICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCkgfHwgc3RkOjppc25hbihk
MS5kKSAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NjIxCiAgICAgICAgfHwgKGQwLmQgPD0gZDEuZCkpCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV84Nl9jb21wYXJlX19qdW1wVGFyZ2V0OwogICAgclBDLmkgPSBy
UEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRw
dHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtXzg2X2NvbXBhcmVfX2p1bXBUYXJnZXQpCiAgICByUEMuaTMy
ID0gclBDLmkzMiArICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNgogICAgclBDLmNsZWFySGlnaFdvcmQoKTsKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV84Nl9jb21wYXJlX19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJC
YXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2MAogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsK
ICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAg
ICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2puZ3JlYXRl
cihleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24s
IHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0
My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMu
aSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkw
CiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENP
REUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbGVzc2VxKQogICAgdDIuaSA9ICpD
QVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo4MQogICAgdDMuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4MTApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgIGlmICh0Mi5pID49IGludHB0cl90KDB4NDAwMDAw
MDApKSAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9jb21wYXJlX184N19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQwLmk2
NCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDAp
KTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTUKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZV9fODdfbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fY29tcGFyZV9fODdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MC5p
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
OAogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMjcyKTsgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNTkKICAgIHQyLmkgPSB0Mi5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTYwCiAgICB0MC5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThw
ICsgKHQyLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fODdfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
ZG9uZSkKICAgIGlmICh0My5pID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX184OF9sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudDsKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwICsgKHQzLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUKICAgIGdvdG8g
X29mZmxpbmVhc21fY29tcGFyZV9fODhfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZV9fODhfbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQpCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OAogICAgdDEuaSA9ICpDQVNU
PGludHB0cl90Kj4odDEuaThwICsgMjcyKTsgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTkKICAgIHQz
LmkgPSB0My5pIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTYwCiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwICsgKHQzLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fY29tcGFyZV9fODhfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZSkKICAgIGlmICh0MC51
NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMwNwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fODhfY29tcGFyZV9fb3AxTm90SW50OwogICAgaWYgKHQx
LnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzA4
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV84OF9jb21wYXJlX19vcDJOb3RJbnQ7CiAgICBpZiAo
dDAuaTMyIDw9IHQxLmkzMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MjgK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzg4X2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAgICByUEMu
aSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fODhfY29tcGFyZV9fb3AxTm90SW50KQogICAgaWYg
KCh0MC5pNjQgJiB0YWdUeXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MzEzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV84OF9jb21wYXJlX19zbG93OwogICAgaWYgKHQx
LnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzE0
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV84OF9jb21wYXJlX19vcDFOb3RJbnRPcDJOb3RJbnQ7
CiAgICBkMS5kID0gdDEuaTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEzMTUKICAgIGdvdG8gX29mZmxpbmVhc21fODhfY29tcGFyZV9fb3AxTm90SW50UmVh
ZHk7ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTMxNgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV84OF9jb21wYXJlX19vcDFOb3RJbnRPcDJOb3RJbnQpCiAgICBpZiAoKHQxLmk2NCAmIHRh
Z1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTgKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtXzg4X2NvbXBhcmVfX3Nsb3c7CiAgICB0MS5pNjQgPSB0MS5pNjQgKyB0
YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTkKICAgIGQxLmQgPSB0
MS5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMyMAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV84OF9jb21wYXJlX19vcDFOb3RJ
bnRSZWFkeSkKICAgIHQwLmk2NCA9IHQwLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTMyMgogICAgZDAuZCA9IHQwLmNhc3RUb0RvdWJsZTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzIzCiAgICBpZiAoZDAuZCA8PSBkMS5kKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MjkKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtXzg4X2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRy
X3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fODhfY29tcGFyZV9fb3AyTm90SW50KQogICAgZDAuZCA9IHQwLmkzMjsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzI4CiAgICBpZiAoKHQxLmk2
NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjkKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtXzg4X2NvbXBhcmVfX3Nsb3c7CiAgICB0MS5pNjQgPSB0MS5p
NjQgKyB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzAKICAgIGQx
LmQgPSB0MS5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTMzMQogICAgaWYgKGQwLmQgPD0gZDEuZCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206NjI5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV84OF9jb21wYXJlX19qdW1wVGFy
Z2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzg4X2NvbXBhcmVfX2p1bXBU
YXJnZXQpCiAgICByUEMuaTMyID0gclBDLmkzMiArICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNgogICAgclBDLmNsZWFySGln
aFdvcmQoKTsKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV84OF9jb21wYXJlX19zbG93KQogICAg
clBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhl
Y1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0
aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRf
c2xvd19wYXRoX2psZXNzZXEoZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkg
PSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAog
ICAgckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo4OQogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5MAogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4
MWYpOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4
MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bfam5sZXNz
ZXEpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0My5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQogICAgaWYgKHQyLmkgPj0g
aW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzg5X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Nv
bnN0YW50OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDIuaSA8PCAz
KSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX184
OV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX184OV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19j
b25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MC5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAy
NzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDIuaSA9IHQyLmkgLSBpbnRwdHJfdCgw
eDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQwLmk2NCA9ICpDQVNU
PGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX184OV9sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQzLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAw
MCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2NvbXBhcmVfXzkwX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDEuaTY0
ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX185MF9sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9jb21wYXJlX185MF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQxLmkg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4
CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAyNzIpOyAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE1OQogICAgdDMuaSA9IHQzLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQxLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAg
KyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX185MF9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19k
b25lKQogICAgaWYgKHQwLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMzA3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85MF9jb21wYXJlX19vcDFO
b3RJbnQ7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEzMDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzkwX2NvbXBhcmVfX29w
Mk5vdEludDsKICAgIGlmICh0MC5pMzIgPiB0MS5pMzIpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjYzNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTBfY29tcGFyZV9fanVt
cFRhcmdldDsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV85MF9jb21wYXJlX19v
cDFOb3RJbnQpCiAgICBpZiAoKHQwLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEzMTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzkwX2NvbXBhcmVf
X3Nsb3c7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEzMTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzkwX2NvbXBhcmVfX29w
MU5vdEludE9wMk5vdEludDsKICAgIGQxLmQgPSB0MS5pMzI7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMxNQogICAgZ290byBfb2ZmbGluZWFzbV85MF9jb21w
YXJlX19vcDFOb3RJbnRSZWFkeTsgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzE2CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtXzkwX2NvbXBhcmVfX29wMU5vdEludE9wMk5vdEludCkKICAg
IGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTMxOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTBfY29tcGFyZV9fc2xvdzsKICAgIHQx
Lmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTMxOQogICAgZDEuZCA9IHQxLmNhc3RUb0RvdWJsZTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMzIwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzkw
X2NvbXBhcmVfX29wMU5vdEludFJlYWR5KQogICAgdDAuaTY0ID0gdDAuaTY0ICsgdGFnVHlwZU51
bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzIyCiAgICBkMC5kID0gdDAuY2FzdFRv
RG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjMKICAgIGlmIChz
dGQ6OmlzbmFuKGQwLmQpIHx8IHN0ZDo6aXNuYW4oZDEuZCkgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYzNwog
ICAgICAgIHx8IChkMC5kID4gZDEuZCkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85MF9jb21w
YXJlX19qdW1wVGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzkwX2Nv
bXBhcmVfX29wMk5vdEludCkKICAgIGQwLmQgPSB0MC5pMzI7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMyOAogICAgaWYgKCh0MS5pNjQgJiB0YWdUeXBlTnVt
YmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzI5CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV85MF9jb21wYXJlX19zbG93OwogICAgdDEuaTY0ID0gdDEuaTY0ICsgdGFnVHlwZU51
bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMwCiAgICBkMS5kID0gdDEuY2FzdFRv
RG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzEKICAgIGlmIChz
dGQ6OmlzbmFuKGQwLmQpIHx8IHN0ZDo6aXNuYW4oZDEuZCkgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYzNwog
ICAgICAgIHx8IChkMC5kID4gZDEuZCkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85MF9jb21w
YXJlX19qdW1wVGFyZ2V0OwogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzkwX2Nv
bXBhcmVfX2p1bXBUYXJnZXQpCiAgICByUEMuaTMyID0gclBDLmkzMiArICpDQVNUPGludDMyX3Qq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNgogICAg
clBDLmNsZWFySGlnaFdvcmQoKTsKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMu
aThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV85MF9jb21wYXJl
X19zbG93KQogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAg
ICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0ZSogZXhl
YyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBD
QVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gbGxpbnRfc2xvd19wYXRoX2pubGVzc2VxKGV4ZWMsIHBjKTsKICAgICAgICBkZWNvZGVS
ZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQ
Qy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0
cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5pID0gclBDLmkg
KyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3Qo
MHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xB
QkVMKG9wX2pncmVhdGVyZXEpCiAgICB0Mi5pID0gKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHg4KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0My5pID0gKkNBU1Q8aW50
MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MQog
ICAgaWYgKHQyLmkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzkxX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX2NvbnN0YW50OwogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGlu
ZWFzbV9jb21wYXJlX185MV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX185MV9sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19jb25zdGFudCkKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAgLSA4KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0MC5pID0gKkNBU1Q8aW50cHRy
X3QqPih0MC5pOHAgKyAyNzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDIuaSA9IHQy
LmkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAg
IHQwLmk2NCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAgKyAodDIuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21w
YXJlX185MV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQzLmkgPj0gaW50
cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzkyX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0
YW50OwogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDMuaSA8PCAzKSAr
IGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1NQogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlX185Ml9s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19kb25lOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX185Ml9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25z
dGFudCkKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU4CiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAgKyAyNzIp
OyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDMuaSA9IHQzLmkgLSBpbnRwdHJfdCgweDQw
MDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQxLmk2NCA9ICpDQVNUPGlu
dDY0X3QqPih0MS5pOHAgKyAodDMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlX185Ml9sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19kb25lKQogICAgaWYgKHQwLnU2NCA8IHRhZ1R5cGVOdW1iZXIudTY0KSAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzA3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV85
Ml9jb21wYXJlX19vcDFOb3RJbnQ7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQp
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
XzkyX2NvbXBhcmVfX29wMk5vdEludDsKICAgIGlmICh0MC5pMzIgPj0gdDEuaTMyKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjY0NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
OTJfY29tcGFyZV9fanVtcFRhcmdldDsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV85Ml9jb21wYXJlX19vcDFOb3RJbnQpCiAgICBpZiAoKHQwLmk2NCAmIHRhZ1R5cGVOdW1iZXIu
aTY0KSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTMKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtXzkyX2NvbXBhcmVfX3Nsb3c7CiAgICBpZiAodDEudTY0IDwgdGFnVHlwZU51bWJlci51NjQp
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
XzkyX2NvbXBhcmVfX29wMU5vdEludE9wMk5vdEludDsKICAgIGQxLmQgPSB0MS5pMzI7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMxNQogICAgZ290byBfb2Zm
bGluZWFzbV85Ml9jb21wYXJlX19vcDFOb3RJbnRSZWFkeTsgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzE2Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzkyX2NvbXBhcmVfX29wMU5vdElu
dE9wMk5vdEludCkKICAgIGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTMxOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTJfY29tcGFy
ZV9fc2xvdzsKICAgIHQxLmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTMxOQogICAgZDEuZCA9IHQxLmNhc3RUb0RvdWJsZTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzIwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtXzkyX2NvbXBhcmVfX29wMU5vdEludFJlYWR5KQogICAgdDAuaTY0ID0gdDAu
aTY0ICsgdGFnVHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzIyCiAgICBk
MC5kID0gdDAuY2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzMjMKICAgIGlmIChkMC5kID49IGQxLmQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjY0NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTJfY29tcGFyZV9fanVtcFRh
cmdldDsKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsg
KHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV85Ml9jb21wYXJlX19vcDJO
b3RJbnQpCiAgICBkMC5kID0gdDAuaTMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEzMjgKICAgIGlmICgodDEuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09
IDApICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMyOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTJf
Y29tcGFyZV9fc2xvdzsKICAgIHQxLmk2NCA9IHQxLmk2NCArIHRhZ1R5cGVOdW1iZXIuaTY0OyAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzMAogICAgZDEuZCA9IHQxLmNhc3RUb0RvdWJsZTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMxCiAgICBpZiAoZDAuZCA+PSBkMS5k
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2NDUKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtXzkyX2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAgICByUEMuaSA9IHJQQy5pICsg
aW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fOTJfY29tcGFyZV9fanVtcFRhcmdldCkKICAgIHJQQy5pMzIgPSByUEMu
aTMyICsgKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRy
X3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM2CiAgICByUEMuY2xlYXJIaWdoV29yZCgpOwogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtXzkyX2NvbXBhcmVfX3Nsb3cpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAo
clBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAg
ICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAg
IEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNs
b3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfamdyZWF0ZXJlcShleGVj
LCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4
ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQ
Qy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICBy
UEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjkxCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsK
Ck9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbmdyZWF0ZXJlcSkKICAgIHQyLmkgPSAqQ0FT
VDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDgpKTsg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
ODEKICAgIHQzLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICBpZiAodDIuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAw
KSkgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZV9fOTNfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MC5pNjQg
PSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVfXzkzX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2RvbmU7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2NvbXBhcmVfXzkzX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDAuaSA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgK
ICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTU5CiAgICB0Mi5pID0gdDIuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE2MAogICAgdDAuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCAr
ICh0Mi5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzkzX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2Rv
bmUpCiAgICBpZiAodDMuaSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZV9fOTRfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7CiAgICB0MS5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCArICh0My5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9v
ZmZsaW5lYXNtX2NvbXBhcmVfXzk0X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmU7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVfXzk0X2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX2NvbnN0YW50KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCAtIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTgKICAgIHQxLmkgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQxLmk4cCArIDI3Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5CiAgICB0My5p
ID0gdDMuaSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2
MAogICAgdDEuaTY0ID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCArICh0My5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2NvbXBhcmVfXzk0X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDAudTY0
IDwgdGFnVHlwZU51bWJlci51NjQpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMDcKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtXzk0X2NvbXBhcmVfX29wMU5vdEludDsKICAgIGlmICh0MS51
NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMwOAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTRfY29tcGFyZV9fb3AyTm90SW50OwogICAgaWYgKHQw
LmkzMiA8IHQxLmkzMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjUyCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV85NF9jb21wYXJlX19qdW1wVGFyZ2V0OwogICAgclBDLmkg
PSByUEMuaSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBp
bnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzk0X2NvbXBhcmVfX29wMU5vdEludCkKICAgIGlmICgo
dDAuaTY0ICYgdGFnVHlwZU51bWJlci5pNjQpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMx
MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTRfY29tcGFyZV9fc2xvdzsKICAgIGlmICh0MS51
NjQgPCB0YWdUeXBlTnVtYmVyLnU2NCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMxNAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTRfY29tcGFyZV9fb3AxTm90SW50T3AyTm90SW50Owog
ICAgZDEuZCA9IHQxLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMzE1CiAgICBnb3RvIF9vZmZsaW5lYXNtXzk0X2NvbXBhcmVfX29wMU5vdEludFJlYWR5
OyAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEzMTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fOTRfY29tcGFyZV9fb3AxTm90SW50T3AyTm90SW50KQogICAgaWYgKCh0MS5pNjQgJiB0YWdU
eXBlTnVtYmVyLmk2NCkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzE4CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV85NF9jb21wYXJlX19zbG93OwogICAgdDEuaTY0ID0gdDEuaTY0ICsgdGFn
VHlwZU51bWJlci5pNjQ7ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzE5CiAgICBkMS5kID0gdDEu
Y2FzdFRvRG91YmxlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjAKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fOTRfY29tcGFyZV9fb3AxTm90SW50
UmVhZHkpCiAgICB0MC5pNjQgPSB0MC5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEzMjIKICAgIGQwLmQgPSB0MC5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMyMwogICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCkgfHwg
c3RkOjppc25hbihkMS5kKSAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjUzCiAgICAgICAgfHwgKGQwLmQgPCBk
MS5kKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzk0X2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAg
ICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fOTRfY29tcGFyZV9fb3AyTm90SW50KQog
ICAgZDAuZCA9IHQwLmkzMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMzI4CiAgICBpZiAoKHQxLmk2NCAmIHRhZ1R5cGVOdW1iZXIuaTY0KSA9PSAwKSAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEzMjkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzk0X2NvbXBhcmVf
X3Nsb3c7CiAgICB0MS5pNjQgPSB0MS5pNjQgKyB0YWdUeXBlTnVtYmVyLmk2NDsgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEzMzAKICAgIGQxLmQgPSB0MS5jYXN0VG9Eb3VibGU7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMzMQogICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCkgfHwg
c3RkOjppc25hbihkMS5kKSAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjUzCiAgICAgICAgfHwgKGQwLmQgPCBk
MS5kKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtXzk0X2NvbXBhcmVfX2p1bXBUYXJnZXQ7CiAg
ICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fOTRfY29tcGFyZV9fanVtcFRhcmdldCkK
ICAgIHJQQy5pMzIgPSByUEMuaTMyICsgKkNBU1Q8aW50MzJfdCo+KHJCYXNlUEMuaThwICsgKHJQ
Qy5pIDw8IDMpICsgaW50cHRyX3QoMHgxOCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM2CiAgICByUEMuY2xlYXJIaWdoV29yZCgp
OwogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykg
KyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzk0X2NvbXBhcmVfX3Nsb3cpCiAgICByUEMuaThw
ID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAg
ICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUq
PihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihy
UEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3Bh
dGhfam5ncmVhdGVyZXEoZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQw
Lmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkgPSB0
MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAg
ckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4OQogICAgclBDLmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo5MAogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYp
OyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4MCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbG9vcF9oaW50
KQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oKEFTU0VSVCgwID09IG9mZnNldG9mKEpJVFN0
YWNrRnJhbWUsIHZtKSksICZzcC0+dm0pKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjU5CiAgICB0MC5pID0gKkNBU1Q8dWludDhfdCo+
KHQxLmk4cCArIDM2OTM2KTsgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2NjAKICAgIGlmICh0MC5pOCAhPSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjY2MQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21faGFuZGxlV2F0Y2hkb2dUaW1lcjsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fYWZ0ZXJXYXRjaGRvZ1RpbWVyQ2hlY2spCiAgICByUEMuaSA9IHJQ
Qy5pICsgaW50cHRyX3QoMHgxKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21faGFuZGxlV2F0Y2hkb2dUaW1lcikKICAgICpDQVNUPGludDMy
X3QqPihjZnIuaThwIC0gNDgpID0gclBDLmkzMjsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTIyCiAgICBy
UEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVj
U3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rp
b24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9z
bG93X3BhdGhfaGFuZGxlX3dhdGNoZG9nX3RpbWVyKGV4ZWMsIHBjKTsKICAgICAgICBkZWNvZGVS
ZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIGNm
ci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTI1CiAgICBpZiAodDAuaSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEyNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fdGhyb3dIYW5kbGVyOwogICAg
ckJhc2VQQy5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMjcKICAgIHJQQy51ID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwIC0gNDgpOyAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTI4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2FmdGVyV2F0Y2hkb2dUaW1lckNo
ZWNrOyAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo2NjcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fdGhyb3dIYW5kbGVyKQogICAgZ290byBsbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90
cmFtcG9saW5lOyAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206NjY5CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bf
c3dpdGNoX3N0cmluZykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3Rh
dGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24q
IHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9zd2l0Y2hfc3RyaW5nKGV4ZWMsIHBjKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsK
ICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFz
ZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBD
LmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQ
Qy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMp
ICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX25ld19mdW5jX2V4cCkKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4
cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQzLmkgPSByQmFz
ZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAg
ICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9uZXdfZnVuY19l
eHAoZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9u
LCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0g
dDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBD
LmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
MAogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfY2FsbCkKICAgIHQwLmkgPSAqQ0FT
VDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSk7
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjgxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAz
KSArIGludHB0cl90KDB4MjgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206ODUKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4
cCArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQzNwogICAgaWYgKHQwLmkgPj0gaW50cHRy
X3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2RvQ2FsbF9fOTVfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fY29uc3RhbnQ7
CiAgICB0My5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8IDMpICsgaW50
cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtX2RvQ2FsbF9fOTVfbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fZG9DYWxsX185NV9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19jb25zdGFudCkK
ICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTU4CiAgICB0My5pID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAgKyAyNzIpOyAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1OQogICAgdDAuaSA9IHQwLmkgLSBpbnRwdHJfdCgweDQwMDAwMDAw
KTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQzLmk2NCA9ICpDQVNUPGludDY0X3Qq
Pih0My5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9kb0NhbGxfXzk1X2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX2RvbmUpCiAgICBpZiAodDMuaTY0ICE9IHQyLmk2NCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0MzkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2RvQ2FsbF9f
b3BDYWxsU2xvdzsKICAgIHQzLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0My5pMzIgPSB0My5pMzIgPDwgKGlu
dHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDEKICAgIHQzLmNsZWFySGln
aFdvcmQoKTsKICAgIHQzLmkgPSB0My5pICsgY2ZyLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ0MgogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwICsg
MzIpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQzCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDMuaThw
IC0gMzIpID0gdDIuaTY0OyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDQKICAgICpDQVNUPGludDY0
X3QqPih0My5pOHAgLSAyNCkgPSB0MC5pNjQ7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ0NQogICAg
dDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0
cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206ODEKICAgICpDQVNUPGludDMyX3QqPihjZnIuaThwIC0gNDgpID0gclBDLmkz
MjsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ0NwogICAgKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCAtIDQw
KSA9IGNmci5pNjQ7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQ4CiAgICAqQ0FTVDxpbnQzMl90Kj4o
dDMuaThwIC0gNDQpID0gdDIuaTMyOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDkKICAgIGNmci5p
ID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ1
MAogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwICsgMzIpOyAgICAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MjI4CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fZG9DYWxsX19vcENhbGxTbG93KQogICAgKkNBU1Q8aW50MzJfdCo+KGNm
ci5pOHAgLSA0OCkgPSByUEMuaTMyOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTQKICAgIHJQQy5pOHAg
PSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAg
IHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206ODMKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+
KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQ
Qy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0
aF9jYWxsKGV4ZWMsIHBjKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVj
dGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICBvcGNvZGUgPSB0MC5vcGNv
ZGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyNDAKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NvbnN0cnVjdCkKICAgIHQw
LmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJf
dCgweDEwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjgxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4MjgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODUKICAgIHQyLmkgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQzNwogICAgaWYgKHQwLmkg
Pj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2RvQ2FsbF9fOTZfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
Y29uc3RhbnQ7CiAgICB0My5pNjQgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCArICh0MC5pIDw8
IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1CiAgICBnb3RvIF9vZmZsaW5lYXNtX2RvQ2FsbF9f
OTZfbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fZG9uZTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fZG9DYWxsX185Nl9sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19j
b25zdGFudCkKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTU4CiAgICB0My5pID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAgKyAy
NzIpOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OQogICAgdDAuaSA9IHQwLmkgLSBpbnRwdHJfdCgw
eDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjAKICAgIHQzLmk2NCA9ICpDQVNU
PGludDY0X3QqPih0My5pOHAgKyAodDAuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MQoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9kb0NhbGxfXzk2X2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX2RvbmUpCiAgICBpZiAodDMuaTY0ICE9IHQyLmk2NCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MzkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
Xzk2X2RvQ2FsbF9fb3BDYWxsU2xvdzsKICAgIHQzLmkgPSAqQ0FTVDxpbnQzMl90Kj4ockJhc2VQ
Qy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSk7IC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgxCiAgICB0My5pMzIgPSB0
My5pMzIgPDwgKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDEKICAg
IHQzLmNsZWFySGlnaFdvcmQoKTsKICAgIHQzLmkgPSB0My5pICsgY2ZyLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ0MgogICAgdDAuaSA9ICpDQVNUPGludHB0cl90
Kj4odDIuaThwICsgMzIpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQzCiAgICAqQ0FTVDxpbnQ2
NF90Kj4odDMuaThwIC0gMzIpID0gdDIuaTY0OyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDQKICAg
ICpDQVNUPGludDY0X3QqPih0My5pOHAgLSAyNCkgPSB0MC5pNjQ7ICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTQ0NQogICAgdDIuaSA9ICpDQVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8
PCAzKSArIGludHB0cl90KDB4MTgpKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206ODEKICAgICpDQVNUPGludDMyX3QqPihjZnIuaThwIC0g
NDgpID0gclBDLmkzMjsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ0NwogICAgKkNBU1Q8aW50NjRfdCo+
KHQzLmk4cCAtIDQwKSA9IGNmci5pNjQ7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQ4CiAgICAqQ0FT
VDxpbnQzMl90Kj4odDMuaThwIC0gNDQpID0gdDIuaTMyOyAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
NDkKICAgIGNmci5pID0gdDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTQ1MAogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwICsgMzIpOyAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MjI4CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fOTZfZG9DYWxsX19vcENhbGxTbG93KQogICAgKkNB
U1Q8aW50MzJfdCo+KGNmci5pOHAgLSA0OCkgPSByUEMuaTMyOyAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTQKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODIKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBD
QVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJ
bnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IGxsaW50X3Nsb3dfcGF0aF9jb25zdHJ1Y3QoZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3Vs
dChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgY2ZyLmkg
PSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcK
ICAgIG9wY29kZSA9IHQwLm9wY29kZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjI0MAogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwo
b3BfY2FsbF92YXJhcmdzKQogICAgKkNBU1Q8aW50MzJfdCo+KGNmci5pOHAgLSA0OCkgPSByUEMu
aTMyOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTQKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQzLmkgPSByQmFzZVBDLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAg
ICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAg
SW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xv
d1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9jYWxsX3ZhcmFyZ3MoZXhl
YywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9uLCB0MS5l
eGVjU3RhdGUpOwogICAgfQogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgIG9wY29kZSA9IHQwLm9wY29kZTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjI0MAogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfY2FsbF9ldmFsKQogICAgKkNBU1Q8aW50MzJf
dCo+KGNmci5pOHAgLSA0OCkgPSByUEMuaTMyOyAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTQKICAgIHJQ
Qy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODIKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODMKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNT
dGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlv
bio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Ns
b3dfcGF0aF9jYWxsX2V2YWwoZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLmluc3RydWN0aW9uLCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgY2ZyLmkgPSB0MS5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgIG9wY29k
ZSA9IHQwLm9wY29kZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjI0MAog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2dlbmVy
aWNfcmV0dXJuX3BvaW50KQogICAgclBDLnUgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAgLSA0
OCk7ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NQogICAgckJhc2VQQy5pID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwIC0gOCk7ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NgogICAgckJhc2VQQy5pID0gKkNBU1Q8
aW50cHRyX3QqPihyQmFzZVBDLmk4cCArIDEwNCk7ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgdDEuaSA9ICpD
QVNUPGludDMyX3QqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4OCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo4MQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAgKyAodDEuaSA8PCAzKSArIGludHB0cl90
KDB4MCkpID0gdDAuaTY0OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ5CiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg4KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
PihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9zdHJjYXQpCiAg
ICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxF
eGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1
Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93
X3BhdGhfc3RyY2F0KGV4ZWMsIHBjKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5p
bnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEu
aTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJC
YXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDQpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9wbmFtZXMp
CiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRlKiBleGVjID0gQ0FT
VDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBwYyA9IENBU1Q8SW5z
dHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfZ2V0X3BuYW1lcyhleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9
IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAg
ICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgw
eDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsgaW50
cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9wdXNoX3dpdGhfc2NvcGUpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwg
Myk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhl
Y1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0
aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0
dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfcHVzaF93aXRoX3Njb3BlKGV4ZWMsIHBj
KTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0
YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkg
LSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5p
ID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEK
ICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDIpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3BvcF9zY29wZSkKICAgIHJQQy5pOHAgPSByQmFzZVBD
Lmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQzLmkgPSBy
QmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMKICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7
CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9wb3Bfc2Nv
cGUoZXhlYywgcGMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLmluc3RydWN0aW9u
LCB0MS5leGVjU3RhdGUpOwogICAgfQogICAgclBDLmkgPSB0MC5pOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NwogICAgY2ZyLmkgPSB0MS5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgckJhc2VQQy5pID0g
dDMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OQogICAgclBD
LmkgPSByUEMuaSAtIHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
Li9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
MAogICAgclBDLmkgPSByUEMuaSA+PiAoaW50cHRyX3QoMHgzKSAmIDB4MWYpOyAgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5MQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4MSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJhc2VQQy5p
OHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHVzaF9uYW1lX3Njb3BlKQogICAg
clBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhl
Y1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0
aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRf
c2xvd19wYXRoX3B1c2hfbmFtZV9zY29wZShleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9
IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAg
ICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgw
eDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsgaW50
cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF90aHJvdykKICAgIHJQQy5pOHAgPSByQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQzLmkgPSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4
ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0g
Q0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IGxsaW50X3Nsb3dfcGF0aF90aHJvdyhleGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMu
aSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3
CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJf
dCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsg
aW50cHRyX3QoMHgyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4
MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJF
TChvcF90aHJvd19zdGF0aWNfZXJyb3IpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBD
LmkgPDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAg
ICAgRXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIElu
c3RydWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfdGhyb3dfc3RhdGljX2Vycm9y
KGV4ZWMsIHBjKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwg
dDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQz
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5p
ID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAK
ICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206OTEKICAgIHJQQy5pID0gclBDLmkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThw
ICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgwKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3Byb2ZpbGVfd2lsbF9jYWxsKQogICAg
clBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpOyAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAgIEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhl
Y1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0
aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRf
c2xvd19wYXRoX3Byb2ZpbGVfd2lsbF9jYWxsKGV4ZWMsIHBjKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAgIH0KICAgIHJQQy5p
ID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODcK
ICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBDLmk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkgPj4gKGludHB0cl90
KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIHJQQy5pID0gclBDLmkgKyBp
bnRwdHJfdCgweDIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHJCYXNlUEMuaThwICsgKHJQQy5pIDw8IDMpICsgaW50cHRyX3QoMHgw
KSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX3Byb2ZpbGVfZGlkX2NhbGwpCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkg
PDwgMyk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAg
RXhlY1N0YXRlKiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3Ry
dWN0aW9uKiBwYyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfcHJvZmlsZV9kaWRfY2FsbChleGVj
LCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4
ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQ
Qy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICBy
UEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAv
LyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjkxCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHgyKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCArIChy
UEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUoKTsK
Ck9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9kZWJ1ZykKICAgIHJQQy5pOHAgPSByQmFzZVBD
Lmk4cCArIChyUEMuaSA8PCAzKTsgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIKICAgIHQzLmkgPSBy
QmFzZVBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMKICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjAKICAgICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBDQVNUPEV4ZWNTdGF0ZSo+KGNmci52cCk7
CiAgICAgICAgSW5zdHJ1Y3Rpb24qIHBjID0gQ0FTVDxJbnN0cnVjdGlvbio+KHJQQy52cCk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9kZWJ1Zyhl
eGVjLCBwYyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQx
LmV4ZWNTdGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5p
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9
IHJQQy5pIC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAg
ICByUEMuaSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAg
ICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjkxCiAgICByUEMuaSA9IHJQQy5pICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjMxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPihyQmFzZVBDLmk4cCAr
IChyUEMuaSA8PCAzKSArIGludHB0cl90KDB4MCkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfbmF0aXZlX2NhbGxfdHJhbXBvbGluZSkK
ICAgICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDgpID0gaW50cHRyX3QoMHgwKTsgICAgICAg
ICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTYxMQogICAgdDAuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDQwKTsgICAg
ICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNjMwCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAg
LSAyNCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MzEKICAgICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCAtIDI0KSA9IHQxLmk7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYzMgogICAgdDMuaSA9ICpD
QVNUPGludHB0cl90Kj4oKEFTU0VSVCgwID09IG9mZnNldG9mKEpJVFN0YWNrRnJhbWUsIHZtKSks
ICZzcC0+dm0pKTsgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNjM0CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCArIDM2OTI4KSA9
IGNmci5pOyAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MzUKICAgIHQyLmkgPSB0MC5pOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYzNwogICAgdDMuaSA9IHJSZXRW
UEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk3CiAgICAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAgLSAxNikgPSB0My5pOyAgICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2
MzkKICAgIHQwLmkgPSBjZnIuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTY0MAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAtIDMyKTsg
ICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNjQxCiAgICB0MS5pID0gKkNBU1Q8aW50cHRyX3QqPih0MS5p
OHAgKyAyNCk7ICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NDIKICAgIGNmci5pID0gdDIuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY0MwogICAgbmF0aXZl
RnVuYyA9ICpDQVNUPE5hdGl2ZUZ1bmN0aW9uKj4odDEuaThwICsgNjQpOyAgICAgICAgLy8gLi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjQ0
CiAgICBmdW5jdGlvblJldHVyblZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKG5hdGl2ZUZ1bmModDAu
ZXhlY1N0YXRlKSk7CiAgICAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICAgICB0MS5pID0gZnVu
Y3Rpb25SZXR1cm5WYWx1ZS50YWcoKTsKICAgICAgICB0MC5pID0gZnVuY3Rpb25SZXR1cm5WYWx1
ZS5wYXlsb2FkKCk7CiAgICAjZWxzZSAvLyBVU0VfSlNWQUxVRTY0KQogICAgICAgIHQwLmVuY29k
ZWRKU1ZhbHVlID0gSlNWYWx1ZTo6ZW5jb2RlKGZ1bmN0aW9uUmV0dXJuVmFsdWUpOwogICAgI2Vu
ZGlmIC8vIFVTRV9KU1ZBTFVFNjQpCiAgICByUmV0VlBDLmkgPSB0My5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMTAKICAgIHQzLmkgPSAqQ0FTVDxpbnRwdHJfdCo+
KChBU1NFUlQoMCA9PSBvZmZzZXRvZihKSVRTdGFja0ZyYW1lLCB2bSkpLCAmc3AtPnZtKSk7IC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTY0NwogICAgaWYgKCpDQVNUPGludDY0X3QqPih0My5pOHAgKyA0MzY4OCkgIT0gMCkgICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNjUyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9uYXRpdmVDYWxsVHJhbXBv
bGluZV9fZXhjZXB0aW9uOwogICAgZ290byBkb1JldHVybkhlbHBlcjsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjUzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX25hdGl2ZUNhbGxUcmFtcG9saW5lX19leGNlcHRpb24pCiAgICB0MS5pID0gclJl
dFZQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTcKICAgIHJQ
Qy51ID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwIC0gNDgpOyAgICAgICAgICAgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTY1NgogICAgckJhc2VQQy5pID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gOCk7ICAgICAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNjU3CiAgICByQmFzZVBDLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KHJCYXNlUEMu
aThwICsgMTA0KTsgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE2NTgKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KChB
U1NFUlQoMCA9PSBvZmZzZXRvZihKSVRTdGFja0ZyYW1lLCB2bSkpLCAmc3AtPnZtKSk7IC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY1
OQogICAgKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAgKyAzNjkyOCkgPSBjZnIuaTsgICAgICAgICAg
ICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNjYwCiAgICByUEMuaThwID0gckJhc2VQQy5pOHAgKyAoclBDLmkgPDwgMyk7ICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjgyCiAgICB0My5pID0gckJhc2VQQy5pOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzCiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICAgICAgRXhlY1N0YXRl
KiBleGVjID0gQ0FTVDxFeGVjU3RhdGUqPihjZnIudnApOwogICAgICAgIEluc3RydWN0aW9uKiBw
YyA9IENBU1Q8SW5zdHJ1Y3Rpb24qPihyUEMudnApOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlw
ZSByZXN1bHQgPSBsbGludF90aHJvd19mcm9tX25hdGl2ZV9jYWxsKGV4ZWMsIHBjKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MC5pbnN0cnVjdGlvbiwgdDEuZXhlY1N0YXRlKTsKICAg
IH0KICAgIHJQQy5pID0gdDAuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODcKICAgIGNmci5pID0gdDEuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHJCYXNlUEMuaSA9IHQzLmk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkKICAgIHJQQy5pID0gclBDLmkgLSByQmFzZVBD
Lmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTAKICAgIHJQQy5pID0gclBDLmkg
Pj4gKGludHB0cl90KDB4MykgJiAweDFmKTsgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEKICAgIGdvdG8g
bGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZTsgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY2
MgoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9uYXRpdmVfY29uc3RydWN0X3RyYW1wb2xp
bmUpCiAgICAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA4KSA9IGludHB0cl90KDB4MCk7ICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE2MTEKICAgIHQwLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSA0MCk7
ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTYzMAogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4odDAu
aThwIC0gMjQpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjMxCiAgICAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAgLSAyNCkgPSB0MS5pOyAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MzIKICAgIHQzLmkg
PSAqQ0FTVDxpbnRwdHJfdCo+KChBU1NFUlQoMCA9PSBvZmZzZXRvZihKSVRTdGFja0ZyYW1lLCB2
bSkpLCAmc3AtPnZtKSk7IC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTYzNAogICAgKkNBU1Q8aW50cHRyX3QqPih0My5pOHAgKyAzNjky
OCkgPSBjZnIuaTsgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjM1CiAgICB0Mi5pID0gdDAuaTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MzcKICAgIHQzLmkgPSBy
UmV0VlBDLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5NwogICAg
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwIC0gMTYpID0gdDMuaTsgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNjM5CiAgICB0MC5pID0gY2ZyLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE2NDAKICAgIHQxLmkgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAgLSAz
Mik7ICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY0MQogICAgdDEuaSA9ICpDQVNUPGludHB0cl90Kj4o
dDEuaThwICsgMjQpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjQyCiAgICBjZnIuaSA9IHQyLmk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NDMKICAgIG5h
dGl2ZUZ1bmMgPSAqQ0FTVDxOYXRpdmVGdW5jdGlvbio+KHQxLmk4cCArIDcyKTsgICAgICAgIC8v
IC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTY0NAogICAgZnVuY3Rpb25SZXR1cm5WYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShuYXRpdmVGdW5j
KHQwLmV4ZWNTdGF0ZSkpOwogICAgI2lmIFVTRShKU1ZBTFVFMzJfNjQpCiAgICAgICAgdDEuaSA9
IGZ1bmN0aW9uUmV0dXJuVmFsdWUudGFnKCk7CiAgICAgICAgdDAuaSA9IGZ1bmN0aW9uUmV0dXJu
VmFsdWUucGF5bG9hZCgpOwogICAgI2Vsc2UgLy8gVVNFX0pTVkFMVUU2NCkKICAgICAgICB0MC5l
bmNvZGVkSlNWYWx1ZSA9IEpTVmFsdWU6OmVuY29kZShmdW5jdGlvblJldHVyblZhbHVlKTsKICAg
ICNlbmRpZiAvLyBVU0VfSlNWQUxVRTY0KQogICAgclJldFZQQy5pID0gdDMuaTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjEwCiAgICB0My5pID0gKkNBU1Q8aW50cHRy
X3QqPigoQVNTRVJUKDAgPT0gb2Zmc2V0b2YoSklUU3RhY2tGcmFtZSwgdm0pKSwgJnNwLT52bSkp
OyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE2NDcKICAgIGlmICgqQ0FTVDxpbnQ2NF90Kj4odDMuaThwICsgNDM2ODgpICE9IDApICAg
ICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTY1MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fOTZfbmF0aXZlQ2Fs
bFRyYW1wb2xpbmVfX2V4Y2VwdGlvbjsKICAgIGdvdG8gZG9SZXR1cm5IZWxwZXI7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY1MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV85Nl9uYXRpdmVDYWxsVHJhbXBvbGluZV9fZXhjZXB0aW9uKQogICAg
dDEuaSA9IHJSZXRWUEMuaTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTk3CiAgICByUEMudSA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCAtIDQ4KTsgICAgICAgICAg
ICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE2NTYKICAgIHJCYXNlUEMuaSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCAt
IDgpOyAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTY1NwogICAgckJhc2VQQy5pID0gKkNBU1Q8aW50cHRyX3Qq
PihyQmFzZVBDLmk4cCArIDEwNCk7ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjU4CiAgICB0MC5pID0gKkNBU1Q8aW50
cHRyX3QqPigoQVNTRVJUKDAgPT0gb2Zmc2V0b2YoSklUU3RhY2tGcmFtZSwgdm0pKSwgJnNwLT52
bSkpOyAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE2NTkKICAgICpDQVNUPGludHB0cl90Kj4odDAuaThwICsgMzY5MjgpID0gY2ZyLmk7
ICAgICAgICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTY2MAogICAgclBDLmk4cCA9IHJCYXNlUEMuaThwICsgKHJQQy5p
IDw8IDMpOyAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MgogICAgdDMuaSA9IHJCYXNlUEMuaTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MwogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgICAg
IEV4ZWNTdGF0ZSogZXhlYyA9IENBU1Q8RXhlY1N0YXRlKj4oY2ZyLnZwKTsKICAgICAgICBJbnN0
cnVjdGlvbiogcGMgPSBDQVNUPEluc3RydWN0aW9uKj4oclBDLnZwKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfdGhyb3dfZnJvbV9uYXRpdmVfY2FsbChleGVjLCBw
Yyk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAuaW5zdHJ1Y3Rpb24sIHQxLmV4ZWNT
dGF0ZSk7CiAgICB9CiAgICByUEMuaSA9IHQwLmk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg3CiAgICBjZnIuaSA9IHQxLmk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICByQmFzZVBDLmkgPSB0My5pOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5CiAgICByUEMuaSA9IHJQQy5p
IC0gckJhc2VQQy5pOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAuL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkwCiAgICByUEMu
aSA9IHJQQy5pID4+IChpbnRwdHJfdCgweDMpICYgMHgxZik7ICAgICAgICAgICAgICAgICAvLyAu
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkx
CiAgICBnb3RvIGxsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmU7ICAgICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE2NjIKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfYnlfaWRfY2hhaW4p
CiAgICBDUkFTSCgpOyAvLyBicmVhayBpbnN0cnVjdGlvbiBub3QgaW1wbGVtZW50ZWQuICAgICAg
ICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTo4MjQKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfYnlfaWRfY3VzdG9tX2No
YWluKQogICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVudGVkLiAg
ICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206ODI0CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X2J5X2lkX2N1c3Rv
bV9wcm90bykKICAgIENSQVNIKCk7IC8vIGJyZWFrIGluc3RydWN0aW9uIG5vdCBpbXBsZW1lbnRl
ZC4gICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjgyNAoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9ieV9pZF9j
dXN0b21fc2VsZikKICAgIENSQVNIKCk7IC8vIGJyZWFrIGluc3RydWN0aW9uIG5vdCBpbXBsZW1l
bnRlZC4gICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjgyNAoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9ieV9p
ZF9nZW5lcmljKQogICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVu
dGVkLiAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206ODI0CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X2J5X2lk
X2dldHRlcl9jaGFpbikKICAgIENSQVNIKCk7IC8vIGJyZWFrIGluc3RydWN0aW9uIG5vdCBpbXBs
ZW1lbnRlZC4gICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjgyNAoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9i
eV9pZF9nZXR0ZXJfcHJvdG8pCiAgICBDUkFTSCgpOyAvLyBicmVhayBpbnN0cnVjdGlvbiBub3Qg
aW1wbGVtZW50ZWQuICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo4MjQKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9n
ZXRfYnlfaWRfZ2V0dGVyX3NlbGYpCiAgICBDUkFTSCgpOyAvLyBicmVhayBpbnN0cnVjdGlvbiBu
b3QgaW1wbGVtZW50ZWQuICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MjQKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9nZXRfYnlfaWRfcHJvdG8pCiAgICBDUkFTSCgpOyAvLyBicmVhayBpbnN0cnVjdGlvbiBub3Qg
aW1wbGVtZW50ZWQuICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo4MjQKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9n
ZXRfYnlfaWRfc2VsZikKICAgIENSQVNIKCk7IC8vIGJyZWFrIGluc3RydWN0aW9uIG5vdCBpbXBs
ZW1lbnRlZC4gICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjgyNAoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9z
dHJpbmdfbGVuZ3RoKQogICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxl
bWVudGVkLiAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206ODI0CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHV0X2J5
X2lkX2dlbmVyaWMpCiAgICBDUkFTSCgpOyAvLyBicmVhayBpbnN0cnVjdGlvbiBub3QgaW1wbGVt
ZW50ZWQuICAgICAgICAgICAvLyAuL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo4MjQKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXRfYnlf
aWRfcmVwbGFjZSkKICAgIENSQVNIKCk7IC8vIGJyZWFrIGluc3RydWN0aW9uIG5vdCBpbXBsZW1l
bnRlZC4gICAgICAgICAgIC8vIC4vU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjgyNAoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1dF9ieV9p
ZF90cmFuc2l0aW9uKQogICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxl
bWVudGVkLiAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206ODI0CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfaW5pdF9n
bG9iYWxfY29uc3Rfbm9wKQogICAgclBDLmkgPSByUEMuaSArIGludHB0cl90KDB4NSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4ockJh
c2VQQy5pOHAgKyAoclBDLmkgPDwgMykgKyBpbnRwdHJfdCgweDApKTsgLy8gLi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2VuZCkKICAgIENSQVNI
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4v
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE3OApP
RkZMSU5FX0FTTV9FTkQKI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>