<?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>181124</bug_id>
          
          <creation_ts>2017-12-22 03:14:12 -0800</creation_ts>
          <short_desc>[DFG] Cleaning up and unifying 32bit code more</short_desc>
          <delta_ts>2018-01-04 08:04:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>guijemont</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1384446</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-22 03:14:12 -0800</bug_when>
    <thetext>[DFG] Cleaning up and unifying 32bit code more</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384447</commentid>
    <comment_count>1</comment_count>
      <attachid>330116</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-22 03:17:42 -0800</bug_when>
    <thetext>Created attachment 330116
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384476</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-12-22 09:04:49 -0800</bug_when>
    <thetext>Please fix the 32-bit build:

/Volumes/Data/EWS/WebKit/WebKitBuild/JavaScriptCore.build/Release/JavaScriptCore.build/Objects-normal/i386/UnifiedSource44.o
In file included from /Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/JavaScriptCore/unified-sources/UnifiedSource44.cpp:5:
In file included from ./dfg/DFGJITCompiler.cpp:33:
In file included from ./dfg/DFGInlineCacheWrapperInlines.h:31:
In file included from ./dfg/DFGSlowPathGenerator.h:31:
./dfg/DFGSpeculativeJIT.h:2301:23: error: class member cannot be redeclared
    JITCompiler::Call callOperation(J_JITOperation_EGReoJ operation, JSValueRegs result, GPRReg arg1, GPRReg arg2, JSValueRegs arg3)
                      ^
./dfg/DFGSpeculativeJIT.h:1350:23: note: previous declaration is here
    JITCompiler::Call callOperation(J_JITOperation_EGReoJ operation, JSValueRegs result, GPRReg arg1, GPRReg arg2, JSValueRegs arg3)
                      ^
./dfg/DFGSpeculativeJIT.h:2306:23: error: class member cannot be redeclared
    JITCompiler::Call callOperation(J_JITOperation_EGReoJss operation, JSValueRegs result, GPRReg arg1, GPRReg arg2, GPRReg arg3)
                      ^
./dfg/DFGSpeculativeJIT.h:1356:23: note: previous declaration is here
    JITCompiler::Call callOperation(J_JITOperation_EGReoJss operation, JSValueRegs result, GPRReg arg1, GPRReg arg2, GPRReg arg3)
                      ^
2 errors generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384498</commentid>
    <comment_count>3</comment_count>
      <attachid>330116</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-12-22 11:04:18 -0800</bug_when>
    <thetext>Comment on attachment 330116
Patch

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

r=me with 32-bit build fix.

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:1359
&gt; -    JITCompiler::Call callOperation(J_JITOperation_EGReoJ operation, GPRReg result, GPRReg arg1, GPRReg arg2, GPRReg arg3)
&gt; +    JITCompiler::Call callOperation(J_JITOperation_EGReoJ operation, JSValueRegs result, GPRReg arg1, GPRReg arg2, JSValueRegs arg3)
&gt;      {
&gt; -        m_jit.setupArgumentsWithExecState(arg1, arg2, arg3);
&gt; -        return appendCallSetResult(operation, result);
&gt; +        m_jit.setupArgumentsWithExecState(arg1, arg2, arg3.payloadGPR());
&gt; +        return appendCallSetResult(operation, result.payloadGPR());
&gt;      }
&gt;  
&gt; -    JITCompiler::Call callOperation(J_JITOperation_EGReoJss operation, GPRReg result, GPRReg arg1, GPRReg arg2, GPRReg arg3)
&gt; +    JITCompiler::Call callOperation(J_JITOperation_EGReoJss operation, JSValueRegs result, GPRReg arg1, GPRReg arg2, GPRReg arg3)
&gt;      {
&gt;          m_jit.setupArgumentsWithExecState(arg1, arg2, arg3);
&gt; -        return appendCallSetResult(operation, result);
&gt; +        return appendCallSetResult(operation, result.payloadGPR());

Looks like these should be USE(JSVALUE64) only.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384501</commentid>
    <comment_count>4</comment_count>
      <attachid>330133</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-22 11:15:58 -0800</bug_when>
    <thetext>Created attachment 330133
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384506</commentid>
    <comment_count>5</comment_count>
      <attachid>330116</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-22 11:50:38 -0800</bug_when>
    <thetext>Comment on attachment 330116
Patch

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

&gt;&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:1359
&gt;&gt; +        return appendCallSetResult(operation, result.payloadGPR());
&gt; 
&gt; Looks like these should be USE(JSVALUE64) only.

Yeah, thanks. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384507</commentid>
    <comment_count>6</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-22 11:51:08 -0800</bug_when>
    <thetext>Committed r226269: &lt;https://trac.webkit.org/changeset/226269&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384508</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-22 11:52:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/36197076&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384600</commentid>
    <comment_count>8</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2017-12-22 21:16:20 -0800</bug_when>
    <thetext>The MIPS buildbot now has 4k+ test failures after this commit, I suspect it might be related.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384613</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-23 08:05:34 -0800</bug_when>
    <thetext>(In reply to Guillaume Emont from comment #8)
&gt; The MIPS buildbot now has 4k+ test failures after this commit, I suspect it
&gt; might be related.

It seems that x86 32bit does not show any regressions.
And I think the regression is largely removed. Could you perform clean build?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384617</commentid>
    <comment_count>10</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2017-12-23 08:42:50 -0800</bug_when>
    <thetext>The latest run shows 61 failures, but these still include segfaults. I just triggered a clean build on the buildbot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384618</commentid>
    <comment_count>11</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2017-12-23 08:46:48 -0800</bug_when>
    <thetext>Also, it looks like we have the same ~60 new segfaults/failures on the linux 32-bit arm bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384621</commentid>
    <comment_count>12</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-12-23 10:57:17 -0800</bug_when>
    <thetext>(In reply to Guillaume Emont from comment #11)
&gt; Also, it looks like we have the same ~60 new segfaults/failures on the linux
&gt; 32-bit arm bots.

Look at the definitions of the various forms of callOperation.  Yusuke changed the use of some of these.  If I remember correctly, the MIPs ABI is one that does not pack its arguments.  Instead, it requires some argument registers to be left unused as spacers depending on the types of the arguments being passed.  You should check if Yusuke&apos;s change broke this somehow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384700</commentid>
    <comment_count>13</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-26 01:30:02 -0800</bug_when>
    <thetext>(In reply to Guillaume Emont from comment #11)
&gt; Also, it looks like we have the same ~60 new segfaults/failures on the linux
&gt; 32-bit arm bots.

Guillaume, could you take a look this? I don&apos;t have ARM machines, and this is not reproducible in x86 32bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1384736</commentid>
    <comment_count>14</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2017-12-26 10:24:03 -0800</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #13)
&gt; (In reply to Guillaume Emont from comment #11)
&gt; &gt; Also, it looks like we have the same ~60 new segfaults/failures on the linux
&gt; &gt; 32-bit arm bots.
&gt; 
&gt; Guillaume, could you take a look this? I don&apos;t have ARM machines, and this
&gt; is not reproducible in x86 32bit.

I will look at it next week. Sorry I won&apos;t have time before then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385632</commentid>
    <comment_count>15</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2018-01-03 17:09:19 -0800</bug_when>
    <thetext>Here&apos;s what I know so far about the segfault on mips, when testing with sunspider-1.0/string-fasta.js. 

On the device console:
  [14978.011855] do_page_fault() #2: sending SIGSEGV to jsc for invalid read access from
  [14978.011869] 312eeec0 (epc == 3040f124, ra == 3040b714)

In gdb:
Program received signal SIGSEGV, Segmentation fault.
0x3040f124 in ?? ()
(gdb) x/10i $pc-24
   0x3040f10c:  move    v1,t3
   0x3040f110:  sll     t7,v1,0x3
   0x3040f114:  addu    t7,t7,t2
   0x3040f118:  lw      v1,20(t7)
   0x3040f11c:  sll     t7,v1,0x3
   0x3040f120:  addu    t7,t7,t2
=&gt; 0x3040f124:  lw      v0,16(t7)
   0x3040f128:  nop
   0x3040f12c:  nop
   0x3040f130:  b       0x3040f174
   0x3040f134:  nop

On this occurrence, I ran with --dumpDisassembly=true, and I will attach the output. It looks like we are in this part:

     317:&lt;!3:loc14&gt;	GetDirectPname(Cell:@314, KnownCell:@311, KnownInt32:@315, KnownCell:@316, JS|MustGen|VarArgs|UseAsOther, NonIntAsdouble, R:World, W:Heap, Exits, ClobbersExit, bc#264, ExitValid)  predicting NonIntAsdouble
        disassembly not available for range 0x3040f080...0x3040f174</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385633</commentid>
    <comment_count>16</comment_count>
      <attachid>330423</attachid>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2018-01-03 17:11:49 -0800</bug_when>
    <thetext>Created attachment 330423
Output of jsc --useDisassembly=true string-fasta.js on the run mentioned in comment https://bugs.webkit.org/show_bug.cgi?id=181124#c15

Here is the output of --dumpDisassembly=true, does not include actual disassembly as we don&apos;t have that on mips so far.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385634</commentid>
    <comment_count>17</comment_count>
      <attachid>330424</attachid>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2018-01-03 17:15:28 -0800</bug_when>
    <thetext>Created attachment 330424
Disassembly of GetDirectPname from gdb.

Attaching the disassembly of GetDirectPname as provided by gdb (x/61i 0x3040f080).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385764</commentid>
    <comment_count>18</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-01-04 03:29:49 -0800</bug_when>
    <thetext>(In reply to Guillaume Emont from comment #17)
&gt; Created attachment 330424 [details]
&gt; Disassembly of GetDirectPname from gdb.
&gt; 
&gt; Attaching the disassembly of GetDirectPname as provided by gdb (x/61i
&gt; 0x3040f080).

Is it still a thing after Zan’s patches are landed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385815</commentid>
    <comment_count>19</comment_count>
    <who name="Guillaume Emont">guijemont</who>
    <bug_when>2018-01-04 08:01:27 -0800</bug_when>
    <thetext>Oops. I looked too fast and thought Žan had reversed the commit, not fixed it... sorry about the noise...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1385816</commentid>
    <comment_count>20</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-01-04 08:04:16 -0800</bug_when>
    <thetext>(In reply to Guillaume Emont from comment #19)
&gt; Oops. I looked too fast and thought Žan had reversed the commit, not fixed
&gt; it... sorry about the noise...

No problem! It&apos;s great to hear that our 32bit regressions are fixed :D</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330116</attachid>
            <date>2017-12-22 03:17:42 -0800</date>
            <delta_ts>2017-12-22 11:04:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181124-20171222201741.patch</filename>
            <type>text/plain</type>
            <size>87174</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZDRlYTVmN2U0Y2YyZjVhNTAxODIwMDljNzFiMmMxYjEyYTcxODdlLi5hNjY2MTc2NjAwYzZkNTAy
YTZlNmRiYmRkNzg0ZDA2MmEyNDlkMzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw1OSBAQAogMjAxNy0xMi0yMiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAorICAgICAgICBbREZHXSBDbGVhbmluZyB1cCBhbmQgdW5pZnlpbmcgMzJiaXQgY29k
ZSBtb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODExMjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIHBhdGNoIHVuaWZpZXMgREZHIDMyYml0IGNvZGUgaW50byA2NGJpdCBjb2RlIG1vcmUuIElu
IHRoaXMgcGF0Y2gsIHdlIG1vdmUgUmVnRXhwIERGRyBub2RlcworICAgICAgICBmcm9tIDMyYml0
IC8gNjRiaXQgY29kZSB0byB0aGUgY29tbW9uIGNvZGUuIFdlIGNoYW5nZSBzb21lIFJlZ0V4cCBv
cGVyYXRpb25zIHRvIHJldHVybmluZyBKU0NlbGwqCisgICAgICAgIGluc3RlYWQgb2YgRW5jb2Rl
ZEpTVmFsdWUuIFRoaXMgc2ltcGxpZmllcyBERkcgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAg
QW5kIHdlIGFsc28gbW92ZSBIYXNHZW5lcmljUHJvcGVydHkgc2luY2Ugd2Ugbm93IGhhdmUgSlNW
YWx1ZVJlZ3NGbHVzaGVkQ2FsbFJlc3VsdC4gVG9QcmltaXZlLAorICAgICAgICBMb2dTaGFkb3dD
aGlja2VuUHJvbG9ndWUsIGFuZCBMb2dTaGFkb3dDaGlja2VuVGFpbCBhcmUgYWxtb3N0IHRoZSBz
YW1lIGluIDMyYml0IGFuZCA2NGJpdC4KKyAgICAgICAgVGh1cywgaXQgaXMgdW5pZmllZCBlYXNp
bHkuCisKKyAgICAgICAgQW5kIHdlIGFsc28gbW92ZSBzb21lIEdQUkZsdXNoZWRDYWxsUmVzdWx0
IGZyb20gdGhlIG9yaWdpbmFsIHBsYWNlcyB0byB0aGUgcGxhY2VzIGp1c3QgYWZ0ZXIKKyAgICAg
ICAgYGZsdXNoUmVnaXN0ZXJzKClgIG5vdCB0byBzcGlsbCB1bm5lY2Vzc2FyeSByZWdpc3RlcnMu
CisKKyAgICAgICAgKiBkZmcvREZHT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogZGZnL0RGR09w
ZXJhdGlvbnMuaDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlUmVnRXhwRXhlYyk6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVSZWdFeHBUZXN0KToKKyAgICAgICAg
KEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVN0cmluZ1JlcGxhY2UpOgorICAgICAg
ICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlSGFzR2VuZXJpY1Byb3BlcnR5KToK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVRvUHJpbWl0aXZlKToK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUxvZ1NoYWRvd0NoaWNr
ZW5Qcm9sb2d1ZSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVM
b2dTaGFkb3dDaGlja2VuVGFpbCk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0
aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAo
SlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVEb3VibGVSZXBBbnlJbnQpOgorICAg
ICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6
TG93ZXJERkdUb0IzOjpjb21waWxlU3RyaW5nUmVwbGFjZSk6CisgICAgICAgICogaml0L0pJVE9w
ZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgICog
cnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpqc1NwbGljZVN1YnN0
cmluZ3MpOgorICAgICAgICAoSlNDOjpqc1NwbGljZVN1YnN0cmluZ3NXaXRoU2VwYXJhdG9ycyk6
CisgICAgICAgIChKU0M6OnJlbW92ZVVzaW5nUmVnRXhwU2VhcmNoKToKKyAgICAgICAgKEpTQzo6
cmVwbGFjZVVzaW5nUmVnRXhwU2VhcmNoKToKKyAgICAgICAgKEpTQzo6b3BlcmF0aW9uU3RyaW5n
UHJvdG9GdW5jUmVwbGFjZVJlZ0V4cEVtcHR5U3RyKToKKyAgICAgICAgKEpTQzo6b3BlcmF0aW9u
U3RyaW5nUHJvdG9GdW5jUmVwbGFjZVJlZ0V4cFN0cmluZyk6CisgICAgICAgIChKU0M6OnJlcGxh
Y2VVc2luZ1N0cmluZ1NlYXJjaCk6CisgICAgICAgIChKU0M6OnJlcGxhY2UpOgorICAgICAgICAo
SlNDOjpzdHJpbmdQcm90b0Z1bmNSZXBsYWNlVXNpbmdSZWdFeHApOgorICAgICAgICAoSlNDOjpz
dHJpbmdQcm90b0Z1bmNSZXBsYWNlVXNpbmdTdHJpbmdTZWFyY2gpOgorICAgICAgICAoSlNDOjpv
cGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlR2VuZXJpYyk6CisgICAgICAgICogcnVudGlt
ZS9TdHJpbmdQcm90b3R5cGUuaDoKKworMjAxNy0xMi0yMiAgWXVzdWtlIFN1enVraSAgPHV0YXRh
bmUudGVhQGdtYWlsLmNvbT4KKwogICAgICAgICBbREZHXSBVbmlmeSBidW5jaCBvZiBERkcgMzJi
aXQgY29kZSBpbnRvIDY0Yml0IGNvZGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4MTA4MwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
cGVyYXRpb25zLmNwcAppbmRleCA2NzFmOTRkNzdmYWE2YWM0NDJhYzlmNTIwMWEwZWYwNGY4N2Fl
NGM5Li4xZjBkOGM3Mzc1NTA3OTYxMzFjYzUwMzk3ZDk3OTA3NGQzODE5OGQ3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKQEAgLTU1LDYgKzU1LDcgQEAK
ICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oIgogI2luY2x1ZGUgIkpTTGV4aWNh
bEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNNYXAuaCIKKyNpbmNsdWRlICJKU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3IuaCIKICNpbmNsdWRlICJKU1NldC5oIgogI2luY2x1ZGUgIk9iamVjdENv
bnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiT3BlcmF0aW9ucy5oIgpAQCAtMTgwMCw2ICsxODAxLDIw
IEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRW5zdXJlQXJyYXlTdG9yYWdlKEV4ZWNT
dGF0ZSogZXhlYywgSlNDZWxsKiBjZWxsKQogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNo
YXIqPihhc09iamVjdChjZWxsKS0+ZW5zdXJlQXJyYXlTdG9yYWdlKHZtKSk7CiB9CiAKK0VuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzR2VuZXJpY1Byb3BlcnR5KEV4ZWNT
dGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2VWYWx1ZSwgSlNDZWxsKiBwcm9w
ZXJ0eU5hbWUpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJh
bWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1Zh
bHVlOjpkZWNvZGUoZW5jb2RlZEJhc2VWYWx1ZSk7CisgICAgaWYgKGJhc2VWYWx1ZS5pc1VuZGVm
aW5lZE9yTnVsbCgpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihm
YWxzZSkpOworCisgICAgSlNPYmplY3QqIGJhc2UgPSBiYXNlVmFsdWUudG9PYmplY3QoZXhlYyk7
CisgICAgaWYgKCFiYXNlKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUo
KSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4oYmFzZS0+aGFzUHJvcGVy
dHlHZW5lcmljKGV4ZWMsIGFzU3RyaW5nKHByb3BlcnR5TmFtZSktPnRvSWRlbnRpZmllcihleGVj
KSwgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OkdldE93blByb3BlcnR5KSkpOwor
fQorCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9w
ZXJ0eUJ5SW50KEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBiYXNlQ2VsbCwgaW50MzJfdCBzdWJz
Y3JpcHQsIGludDMyX3QgaW50ZXJuYWxNZXRob2RUeXBlKQogewogICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CkBAIC0xODEyLDYgKzE4MjcsNDMgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlCeUludChFeGVjU3RhdGUqIGV4ZWMsIEoKICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihvYmplY3QtPmhhc1Byb3BlcnR5R2Vu
ZXJpYyhleGVjLCBzdWJzY3JpcHQsIHN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6SW50ZXJuYWxN
ZXRob2RUeXBlPihpbnRlcm5hbE1ldGhvZFR5cGUpKSkpOwogfQogCitKU0NlbGwqIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uR2V0UHJvcGVydHlFbnVtZXJhdG9yKEV4ZWNTdGF0ZSogZXhlYywgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAg
ICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgYXV0byBzY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgSlNWYWx1ZSBiYXNlID0gSlNWYWx1
ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKKyAgICBpZiAoYmFzZS5pc1VuZGVmaW5lZE9yTnVsbCgp
KQorICAgICAgICByZXR1cm4gSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpjcmVhdGUodm0pOwor
CisgICAgSlNPYmplY3QqIGJhc2VPYmplY3QgPSBiYXNlLnRvT2JqZWN0KGV4ZWMpOworICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisKKyAgICBzY29wZS5yZWxlYXNlKCk7Cisg
ICAgcmV0dXJuIHByb3BlcnR5TmFtZUVudW1lcmF0b3IoZXhlYywgYmFzZU9iamVjdCk7Cit9CisK
K0pTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQcm9wZXJ0eUVudW1lcmF0b3JDZWxs
KEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxsKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZt
KCk7CisgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOworICAgIGF1
dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgIEpTT2JqZWN0KiBiYXNl
ID0gY2VsbC0+dG9PYmplY3QoZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKKyAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworCisgICAgc2NvcGUucmVsZWFzZSgp
OworICAgIHJldHVybiBwcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKGV4ZWMsIGJhc2UpOworfQorCitK
U0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVG9JbmRleFN0cmluZyhFeGVjU3RhdGUqIGV4
ZWMsIGludDMyX3QgaW5kZXgpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRp
dmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgcmV0dXJuIGpzU3RyaW5n
KGV4ZWMsIElkZW50aWZpZXI6OmZyb20oZXhlYywgaW5kZXgpLnN0cmluZygpKTsKK30KKwogU3Ry
aW5nSW1wbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25SZXNvbHZlUm9wZShFeGVjU3RhdGUqIGV4
ZWMsIEpTU3RyaW5nKiBzdHJpbmcpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmgKaW5kZXggNWJlYzliN2FiYWU1Nzli
ZjJiMjI2Y2RiNDY2Njg0ODY5ZjhkY2QxNC4uYWI3NWI3NDM0YTliYjljNzBjNjQwOWM3NGI4NGRh
YTAzMzYyZjllYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVy
YXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmgK
QEAgLTgwLDcgKzgwLDExIEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
R2V0QnlJZFdpdGhUaGlzKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlCiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsV2l0aFRoaXMoRXhlY1N0YXRlKiwgRW5j
b2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFM
OwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQcm90b3R5cGVPZihF
eGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQcm90b3R5cGVPZk9iamVjdChFeGVjU3RhdGUqLCBK
U09iamVjdCopIFdURl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uSGFzR2VuZXJpY1Byb3BlcnR5KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBKU0Nl
bGwqKTsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFBy
b3BlcnR5QnlJbnQoRXhlY1N0YXRlKiwgSlNDZWxsKiwgaW50MzJfdCwgaW50MzJfdCk7CitKU0Nl
bGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0UHJvcGVydHlFbnVtZXJhdG9yKEV4ZWNTdGF0
ZSosIEVuY29kZWRKU1ZhbHVlKTsKK0pTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQ
cm9wZXJ0eUVudW1lcmF0b3JDZWxsKEV4ZWNTdGF0ZSosIEpTQ2VsbCopOworSlNDZWxsKiBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblRvSW5kZXhTdHJpbmcoRXhlY1N0YXRlKiwgaW50MzJfdCk7CiBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5KEV4ZWNTdGF0ZSosIFN0cnVjdHVy
ZSosIHZvaWQqLCBzaXplX3QpIFdURl9JTlRFUk5BTDsKIGNoYXIqIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3RW1wdHlBcnJheShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7
CiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemUoRXhlY1N0YXRl
KiwgU3RydWN0dXJlKiwgaW50MzJfdCwgQnV0dGVyZmx5KikgV1RGX0lOVEVSTkFMOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCAwZGUw
MTk1Njk0MGU1MzY0ZTUxOTdkNjc0N2Q2MTUyODkyY2FjODE5Li5kNjY3NDc0ODYzMWNhZmE1YTIy
OWVmMDc1M2U1Y2JmMjIwZTA1NWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtMTA0MjMsNiArMTA0MjMsMTk1IEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVTZXRSZWdFeHBPYmplY3RMYXN0SW5kZXgoTm9kZSogbm9kZSkK
ICAgICBub1Jlc3VsdChub2RlKTsKIH0KIAordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVJl
Z0V4cEV4ZWMoTm9kZSogbm9kZSkKK3sKKyAgICBib29sIHNhbXBsZSA9IGZhbHNlOworICAgIGlm
IChzYW1wbGUpCisgICAgICAgIG1faml0LmluY3JlbWVudFN1cGVyU2FtcGxlckNvdW50KCk7CisK
KyAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBnbG9iYWxPYmplY3QodGhpcywgbm9kZS0+Y2hpbGQx
KCkpOworICAgIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgPSBnbG9iYWxPYmplY3QuZ3ByKCk7CisK
KyAgICBpZiAobm9kZS0+Y2hpbGQyKCkudXNlS2luZCgpID09IFJlZ0V4cE9iamVjdFVzZSkgewor
ICAgICAgICBpZiAobm9kZS0+Y2hpbGQzKCkudXNlS2luZCgpID09IFN0cmluZ1VzZSkgeworICAg
ICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7
CisgICAgICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBhcmd1bWVudCh0aGlzLCBub2RlLT5j
aGlsZDMoKSk7CisgICAgICAgICAgICBHUFJSZWcgYmFzZUdQUiA9IGJhc2UuZ3ByKCk7CisgICAg
ICAgICAgICBHUFJSZWcgYXJndW1lbnRHUFIgPSBhcmd1bWVudC5ncHIoKTsKKyAgICAgICAgICAg
IHNwZWN1bGF0ZVJlZ0V4cE9iamVjdChub2RlLT5jaGlsZDIoKSwgYmFzZUdQUik7CisgICAgICAg
ICAgICBzcGVjdWxhdGVTdHJpbmcobm9kZS0+Y2hpbGQzKCksIGFyZ3VtZW50R1BSKTsKKworICAg
ICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKKyAgICAgICAgICAgIEpTVmFsdWVSZWdzRmx1c2hl
ZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOworICAgICAgICAgICAgSlNWYWx1ZVJlZ3MgcmVzdWx0
UmVncyA9IHJlc3VsdC5yZWdzKCk7CisgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlv
blJlZ0V4cEV4ZWNTdHJpbmcsIHJlc3VsdFJlZ3MsIGdsb2JhbE9iamVjdEdQUiwgYmFzZUdQUiwg
YXJndW1lbnRHUFIpOworICAgICAgICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKKworICAg
ICAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHRSZWdzLCBub2RlKTsKKworICAgICAgICAgICAg
aWYgKHNhbXBsZSkKKyAgICAgICAgICAgICAgICBtX2ppdC5kZWNyZW1lbnRTdXBlclNhbXBsZXJD
b3VudCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgU3BlY3Vs
YXRlQ2VsbE9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7CisgICAgICAgIEpTVmFs
dWVPcGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5vZGUtPmNoaWxkMygpKTsKKyAgICAgICAgR1BSUmVn
IGJhc2VHUFIgPSBiYXNlLmdwcigpOworICAgICAgICBKU1ZhbHVlUmVncyBhcmd1bWVudFJlZ3Mg
PSBhcmd1bWVudC5qc1ZhbHVlUmVncygpOworICAgICAgICBzcGVjdWxhdGVSZWdFeHBPYmplY3Qo
bm9kZS0+Y2hpbGQyKCksIGJhc2VHUFIpOworCisgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Cisg
ICAgICAgIEpTVmFsdWVSZWdzRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOworICAgICAg
ICBKU1ZhbHVlUmVncyByZXN1bHRSZWdzID0gcmVzdWx0LnJlZ3MoKTsKKyAgICAgICAgY2FsbE9w
ZXJhdGlvbihvcGVyYXRpb25SZWdFeHBFeGVjLCByZXN1bHRSZWdzLCBnbG9iYWxPYmplY3RHUFIs
IGJhc2VHUFIsIGFyZ3VtZW50UmVncyk7CisgICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7
CisKKyAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHRSZWdzLCBub2RlKTsKKworICAgICAgICBp
ZiAoc2FtcGxlKQorICAgICAgICAgICAgbV9qaXQuZGVjcmVtZW50U3VwZXJTYW1wbGVyQ291bnQo
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEpTVmFsdWVPcGVyYW5kIGJhc2UodGhp
cywgbm9kZS0+Y2hpbGQyKCkpOworICAgIEpTVmFsdWVPcGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5v
ZGUtPmNoaWxkMygpKTsKKyAgICBKU1ZhbHVlUmVncyBiYXNlUmVncyA9IGJhc2UuanNWYWx1ZVJl
Z3MoKTsKKyAgICBKU1ZhbHVlUmVncyBhcmd1bWVudFJlZ3MgPSBhcmd1bWVudC5qc1ZhbHVlUmVn
cygpOworCisgICAgZmx1c2hSZWdpc3RlcnMoKTsKKyAgICBKU1ZhbHVlUmVnc0ZsdXNoZWRDYWxs
UmVzdWx0IHJlc3VsdCh0aGlzKTsKKyAgICBKU1ZhbHVlUmVncyByZXN1bHRSZWdzID0gcmVzdWx0
LnJlZ3MoKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblJlZ0V4cEV4ZWNHZW5lcmljLCBy
ZXN1bHRSZWdzLCBnbG9iYWxPYmplY3RHUFIsIGJhc2VSZWdzLCBhcmd1bWVudFJlZ3MpOworICAg
IG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7CisKKyAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdFJlZ3Ms
IG5vZGUpOworCisgICAgaWYgKHNhbXBsZSkKKyAgICAgICAgbV9qaXQuZGVjcmVtZW50U3VwZXJT
YW1wbGVyQ291bnQoKTsKK30KKwordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVJlZ0V4cFRl
c3QoTm9kZSogbm9kZSkKK3sKKyAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBnbG9iYWxPYmplY3Qo
dGhpcywgbm9kZS0+Y2hpbGQxKCkpOworICAgIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgPSBnbG9i
YWxPYmplY3QuZ3ByKCk7CisKKyAgICBpZiAobm9kZS0+Y2hpbGQyKCkudXNlS2luZCgpID09IFJl
Z0V4cE9iamVjdFVzZSkgeworICAgICAgICBpZiAobm9kZS0+Y2hpbGQzKCkudXNlS2luZCgpID09
IFN0cmluZ1VzZSkgeworICAgICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0aGlz
LCBub2RlLT5jaGlsZDIoKSk7CisgICAgICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBhcmd1
bWVudCh0aGlzLCBub2RlLT5jaGlsZDMoKSk7CisgICAgICAgICAgICBHUFJSZWcgYmFzZUdQUiA9
IGJhc2UuZ3ByKCk7CisgICAgICAgICAgICBHUFJSZWcgYXJndW1lbnRHUFIgPSBhcmd1bWVudC5n
cHIoKTsKKyAgICAgICAgICAgIHNwZWN1bGF0ZVJlZ0V4cE9iamVjdChub2RlLT5jaGlsZDIoKSwg
YmFzZUdQUik7CisgICAgICAgICAgICBzcGVjdWxhdGVTdHJpbmcobm9kZS0+Y2hpbGQzKCksIGFy
Z3VtZW50R1BSKTsKKworICAgICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKKyAgICAgICAgICAg
IEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKKyAgICAgICAgICAgIGNhbGxPcGVy
YXRpb24ob3BlcmF0aW9uUmVnRXhwVGVzdFN0cmluZywgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmpl
Y3RHUFIsIGJhc2VHUFIsIGFyZ3VtZW50R1BSKTsKKyAgICAgICAgICAgIG1faml0LmV4Y2VwdGlv
bkNoZWNrKCk7CisKKyAgICAgICAgICAgIHVuYmxlc3NlZEJvb2xlYW5SZXN1bHQocmVzdWx0Lmdw
cigpLCBub2RlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIFNw
ZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQyKCkpOworICAgICAgICBK
U1ZhbHVlT3BlcmFuZCBhcmd1bWVudCh0aGlzLCBub2RlLT5jaGlsZDMoKSk7CisgICAgICAgIEdQ
UlJlZyBiYXNlR1BSID0gYmFzZS5ncHIoKTsKKyAgICAgICAgSlNWYWx1ZVJlZ3MgYXJndW1lbnRS
ZWdzID0gYXJndW1lbnQuanNWYWx1ZVJlZ3MoKTsKKyAgICAgICAgc3BlY3VsYXRlUmVnRXhwT2Jq
ZWN0KG5vZGUtPmNoaWxkMigpLCBiYXNlR1BSKTsKKworICAgICAgICBmbHVzaFJlZ2lzdGVycygp
OworICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CisgICAgICAgIGNh
bGxPcGVyYXRpb24ob3BlcmF0aW9uUmVnRXhwVGVzdCwgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmpl
Y3RHUFIsIGJhc2VHUFIsIGFyZ3VtZW50UmVncyk7CisgICAgICAgIG1faml0LmV4Y2VwdGlvbkNo
ZWNrKCk7CisKKyAgICAgICAgdW5ibGVzc2VkQm9vbGVhblJlc3VsdChyZXN1bHQuZ3ByKCksIG5v
ZGUpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgSlNWYWx1ZU9wZXJhbmQgYmFzZSh0
aGlzLCBub2RlLT5jaGlsZDIoKSk7CisgICAgSlNWYWx1ZU9wZXJhbmQgYXJndW1lbnQodGhpcywg
bm9kZS0+Y2hpbGQzKCkpOworICAgIEpTVmFsdWVSZWdzIGJhc2VSZWdzID0gYmFzZS5qc1ZhbHVl
UmVncygpOworICAgIEpTVmFsdWVSZWdzIGFyZ3VtZW50UmVncyA9IGFyZ3VtZW50LmpzVmFsdWVS
ZWdzKCk7CisKKyAgICBmbHVzaFJlZ2lzdGVycygpOworICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0
IHJlc3VsdCh0aGlzKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblJlZ0V4cFRlc3RHZW5l
cmljLCByZXN1bHQuZ3ByKCksIGdsb2JhbE9iamVjdEdQUiwgYmFzZVJlZ3MsIGFyZ3VtZW50UmVn
cyk7CisgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKKworICAgIHVuYmxlc3NlZEJvb2xlYW5S
ZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsKK30KKwordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZVN0cmluZ1JlcGxhY2UoTm9kZSogbm9kZSkKK3sKKyAgICBBU1NFUlQobm9kZS0+b3AoKSA9
PSBTdHJpbmdSZXBsYWNlIHx8IG5vZGUtPm9wKCkgPT0gU3RyaW5nUmVwbGFjZVJlZ0V4cCk7Cisg
ICAgYm9vbCBzYW1wbGUgPSBmYWxzZTsKKyAgICBpZiAoc2FtcGxlKQorICAgICAgICBtX2ppdC5p
bmNyZW1lbnRTdXBlclNhbXBsZXJDb3VudCgpOworCisgICAgaWYgKG5vZGUtPmNoaWxkMSgpLnVz
ZUtpbmQoKSA9PSBTdHJpbmdVc2UKKyAgICAgICAgJiYgbm9kZS0+Y2hpbGQyKCkudXNlS2luZCgp
ID09IFJlZ0V4cE9iamVjdFVzZQorICAgICAgICAmJiBub2RlLT5jaGlsZDMoKS51c2VLaW5kKCkg
PT0gU3RyaW5nVXNlKSB7CisgICAgICAgIGlmIChKU1N0cmluZyogcmVwbGFjZSA9IG5vZGUtPmNo
aWxkMygpLT5keW5hbWljQ2FzdENvbnN0YW50PEpTU3RyaW5nKj4oKm1faml0LnZtKCkpKSB7Cisg
ICAgICAgICAgICBpZiAoIXJlcGxhY2UtPmxlbmd0aCgpKSB7CisgICAgICAgICAgICAgICAgU3Bl
Y3VsYXRlQ2VsbE9wZXJhbmQgc3RyaW5nKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAg
ICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCByZWdFeHAodGhpcywgbm9kZS0+Y2hpbGQyKCkp
OworICAgICAgICAgICAgICAgIEdQUlJlZyBzdHJpbmdHUFIgPSBzdHJpbmcuZ3ByKCk7CisgICAg
ICAgICAgICAgICAgR1BSUmVnIHJlZ0V4cEdQUiA9IHJlZ0V4cC5ncHIoKTsKKyAgICAgICAgICAg
ICAgICBzcGVjdWxhdGVTdHJpbmcobm9kZS0+Y2hpbGQxKCksIHN0cmluZ0dQUik7CisgICAgICAg
ICAgICAgICAgc3BlY3VsYXRlUmVnRXhwT2JqZWN0KG5vZGUtPmNoaWxkMigpLCByZWdFeHBHUFIp
OworCisgICAgICAgICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKKyAgICAgICAgICAgICAgICBH
UFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CisgICAgICAgICAgICAgICAgY2FsbE9w
ZXJhdGlvbihvcGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlUmVnRXhwRW1wdHlTdHIsIHJl
c3VsdC5ncHIoKSwgc3RyaW5nR1BSLCByZWdFeHBHUFIpOworICAgICAgICAgICAgICAgIG1faml0
LmV4Y2VwdGlvbkNoZWNrKCk7CisgICAgICAgICAgICAgICAgY2VsbFJlc3VsdChyZXN1bHQuZ3By
KCksIG5vZGUpOworICAgICAgICAgICAgICAgIGlmIChzYW1wbGUpCisgICAgICAgICAgICAgICAg
ICAgIG1faml0LmRlY3JlbWVudFN1cGVyU2FtcGxlckNvdW50KCk7CisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgU3BlY3VsYXRlQ2Vs
bE9wZXJhbmQgc3RyaW5nKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgU3BlY3VsYXRl
Q2VsbE9wZXJhbmQgcmVnRXhwKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKKyAgICAgICAgU3BlY3Vs
YXRlQ2VsbE9wZXJhbmQgcmVwbGFjZSh0aGlzLCBub2RlLT5jaGlsZDMoKSk7CisgICAgICAgIEdQ
UlJlZyBzdHJpbmdHUFIgPSBzdHJpbmcuZ3ByKCk7CisgICAgICAgIEdQUlJlZyByZWdFeHBHUFIg
PSByZWdFeHAuZ3ByKCk7CisgICAgICAgIEdQUlJlZyByZXBsYWNlR1BSID0gcmVwbGFjZS5ncHIo
KTsKKyAgICAgICAgc3BlY3VsYXRlU3RyaW5nKG5vZGUtPmNoaWxkMSgpLCBzdHJpbmdHUFIpOwor
ICAgICAgICBzcGVjdWxhdGVSZWdFeHBPYmplY3Qobm9kZS0+Y2hpbGQyKCksIHJlZ0V4cEdQUik7
CisgICAgICAgIHNwZWN1bGF0ZVN0cmluZyhub2RlLT5jaGlsZDMoKSwgcmVwbGFjZUdQUik7CisK
KyAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKKyAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQg
cmVzdWx0KHRoaXMpOworICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblN0cmluZ1Byb3Rv
RnVuY1JlcGxhY2VSZWdFeHBTdHJpbmcsIHJlc3VsdC5ncHIoKSwgc3RyaW5nR1BSLCByZWdFeHBH
UFIsIHJlcGxhY2VHUFIpOworICAgICAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOworICAgICAg
ICBjZWxsUmVzdWx0KHJlc3VsdC5ncHIoKSwgbm9kZSk7CisgICAgICAgIGlmIChzYW1wbGUpCisg
ICAgICAgICAgICBtX2ppdC5kZWNyZW1lbnRTdXBlclNhbXBsZXJDb3VudCgpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgLy8gSWYgd2UgZml4ZWQgdXAgdGhlIGVkZ2Ugb2YgY2hpbGQy
LCB3ZSBpbnNlcnRlZCBhIENoZWNrKEBjaGlsZDIsIFN0cmluZykuCisgICAgT3BlcmFuZFNwZWN1
bGF0aW9uTW9kZSBjaGlsZDJTcGVjdWxhdGlvbk1vZGUgPSBBdXRvbWF0aWNPcGVyYW5kU3BlY3Vs
YXRpb247CisgICAgaWYgKG5vZGUtPmNoaWxkMigpLnVzZUtpbmQoKSA9PSBTdHJpbmdVc2UpCisg
ICAgICAgIGNoaWxkMlNwZWN1bGF0aW9uTW9kZSA9IE1hbnVhbE9wZXJhbmRTcGVjdWxhdGlvbjsK
KworICAgIEpTVmFsdWVPcGVyYW5kIHN0cmluZyh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CisgICAg
SlNWYWx1ZU9wZXJhbmQgc2VhcmNoKHRoaXMsIG5vZGUtPmNoaWxkMigpLCBjaGlsZDJTcGVjdWxh
dGlvbk1vZGUpOworICAgIEpTVmFsdWVPcGVyYW5kIHJlcGxhY2UodGhpcywgbm9kZS0+Y2hpbGQz
KCkpOworICAgIEpTVmFsdWVSZWdzIHN0cmluZ1JlZ3MgPSBzdHJpbmcuanNWYWx1ZVJlZ3MoKTsK
KyAgICBKU1ZhbHVlUmVncyBzZWFyY2hSZWdzID0gc2VhcmNoLmpzVmFsdWVSZWdzKCk7CisgICAg
SlNWYWx1ZVJlZ3MgcmVwbGFjZVJlZ3MgPSByZXBsYWNlLmpzVmFsdWVSZWdzKCk7CisKKyAgICBm
bHVzaFJlZ2lzdGVycygpOworICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsK
KyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblN0cmluZ1Byb3RvRnVuY1JlcGxhY2VHZW5lcmlj
LCByZXN1bHQuZ3ByKCksIHN0cmluZ1JlZ3MsIHNlYXJjaFJlZ3MsIHJlcGxhY2VSZWdzKTsKKyAg
ICBtX2ppdC5leGNlcHRpb25DaGVjaygpOworICAgIGNlbGxSZXN1bHQocmVzdWx0LmdwcigpLCBu
b2RlKTsKKyAgICBpZiAoc2FtcGxlKQorICAgICAgICBtX2ppdC5kZWNyZW1lbnRTdXBlclNhbXBs
ZXJDb3VudCgpOworfQorCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTGF6eUpTQ29uc3Rh
bnQoTm9kZSogbm9kZSkKIHsKICAgICBKU1ZhbHVlUmVnc1RlbXBvcmFyeSByZXN1bHQodGhpcyk7
CkBAIC0xMDkwNSw2ICsxMTA5NCwyMiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlR2V0
RW51bWVyYWJsZUxlbmd0aChOb2RlKiBub2RlKQogICAgIGludDMyUmVzdWx0KHJlc3VsdEdQUiwg
bm9kZSk7CiB9CiAKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVIYXNHZW5lcmljUHJvcGVy
dHkoTm9kZSogbm9kZSkKK3sKKyAgICBKU1ZhbHVlT3BlcmFuZCBiYXNlKHRoaXMsIG5vZGUtPmNo
aWxkMSgpKTsKKyAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBwcm9wZXJ0eSh0aGlzLCBub2RlLT5j
aGlsZDIoKSk7CisKKyAgICBKU1ZhbHVlUmVncyBiYXNlUmVncyA9IGJhc2UuanNWYWx1ZVJlZ3Mo
KTsKKyAgICBHUFJSZWcgcHJvcGVydHlHUFIgPSBwcm9wZXJ0eS5ncHIoKTsKKworICAgIGZsdXNo
UmVnaXN0ZXJzKCk7CisgICAgSlNWYWx1ZVJlZ3NGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhp
cyk7CisgICAgSlNWYWx1ZVJlZ3MgcmVzdWx0UmVncyA9IHJlc3VsdC5yZWdzKCk7CisgICAgY2Fs
bE9wZXJhdGlvbihvcGVyYXRpb25IYXNHZW5lcmljUHJvcGVydHksIHJlc3VsdFJlZ3MsIGJhc2VS
ZWdzLCBwcm9wZXJ0eUdQUik7CisgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKKyAgICBibGVz
c2VkQm9vbGVhblJlc3VsdChyZXN1bHRSZWdzLnBheWxvYWRHUFIoKSwgbm9kZSk7Cit9CisKIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVUb0luZGV4U3RyaW5nKE5vZGUqIG5vZGUpCiB7CiAg
ICAgU3BlY3VsYXRlSW50MzJPcGVyYW5kIGluZGV4KHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKQEAg
LTExMjI3LDYgKzExNDMyLDc0IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVOZXdPYmpl
Y3QoTm9kZSogbm9kZSkKICAgICBjZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7CiB9CiAKK3Zv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVUb1ByaW1pdGl2ZShOb2RlKiBub2RlKQoreworICAg
IERGR19BU1NFUlQobV9qaXQuZ3JhcGgoKSwgbm9kZSwgbm9kZS0+Y2hpbGQxKCkudXNlS2luZCgp
ID09IFVudHlwZWRVc2UpOworICAgIEpTVmFsdWVPcGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5vZGUt
PmNoaWxkMSgpKTsKKyAgICBKU1ZhbHVlUmVnc1RlbXBvcmFyeSByZXN1bHQodGhpcywgUmV1c2Us
IGFyZ3VtZW50KTsKKworICAgIEpTVmFsdWVSZWdzIGFyZ3VtZW50UmVncyA9IGFyZ3VtZW50Lmpz
VmFsdWVSZWdzKCk7CisgICAgSlNWYWx1ZVJlZ3MgcmVzdWx0UmVncyA9IHJlc3VsdC5yZWdzKCk7
CisKKyAgICBhcmd1bWVudC51c2UoKTsKKworICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGFscmVh
ZHlQcmltaXRpdmUgPSBtX2ppdC5icmFuY2hJZk5vdENlbGwoYXJndW1lbnRSZWdzKTsKKyAgICBN
YWNyb0Fzc2VtYmxlcjo6SnVtcCBub3RQcmltaXRpdmUgPSBtX2ppdC5icmFuY2hJZk9iamVjdChh
cmd1bWVudFJlZ3MucGF5bG9hZEdQUigpKTsKKworICAgIGFscmVhZHlQcmltaXRpdmUubGluaygm
bV9qaXQpOworICAgIG1faml0Lm1vdmVWYWx1ZVJlZ3MoYXJndW1lbnRSZWdzLCByZXN1bHRSZWdz
KTsKKworICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKHNsb3dQYXRoQ2FsbChub3RQcmltaXRpdmUs
IHRoaXMsIG9wZXJhdGlvblRvUHJpbWl0aXZlLCByZXN1bHRSZWdzLCBhcmd1bWVudFJlZ3MpKTsK
KworICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0UmVncywgbm9kZSwgRGF0YUZvcm1hdEpTLCBVc2VD
aGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOworfQorCit2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlTG9nU2hhZG93Q2hpY2tlblByb2xvZ3VlKE5vZGUqIG5vZGUpCit7CisgICAgZmx1c2hSZWdp
c3RlcnMoKTsKKyAgICBwcmVwYXJlRm9yRXh0ZXJuYWxDYWxsKCk7CisgICAgbV9qaXQuZW1pdFN0
b3JlQ29kZU9yaWdpbihub2RlLT5vcmlnaW4uc2VtYW50aWMpOworCisgICAgR1BSVGVtcG9yYXJ5
IHNjcmF0Y2gxKHRoaXMsIEdQUkluZm86Om5vbkFyZ0dQUjApOyAvLyBUaGlzIG11c3QgYmUgYSBu
b24tYXJndW1lbnQgR1BSLgorICAgIEdQUlJlZyBzY3JhdGNoMVJlZyA9IHNjcmF0Y2gxLmdwcigp
OworICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICBHUFJSZWcgc2NyYXRjaDJS
ZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICBHUFJUZW1wb3Jhcnkgc2hhZG93UGFja2V0KHRoaXMp
OworICAgIEdQUlJlZyBzaGFkb3dQYWNrZXRSZWcgPSBzaGFkb3dQYWNrZXQuZ3ByKCk7CisKKyAg
ICBtX2ppdC5lbnN1cmVTaGFkb3dDaGlja2VuUGFja2V0KCptX2ppdC52bSgpLCBzaGFkb3dQYWNr
ZXRSZWcsIHNjcmF0Y2gxUmVnLCBzY3JhdGNoMlJlZyk7CisKKyAgICBTcGVjdWxhdGVDZWxsT3Bl
cmFuZCBzY29wZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CisgICAgR1BSUmVnIHNjb3BlUmVnID0g
c2NvcGUuZ3ByKCk7CisKKyAgICBtX2ppdC5sb2dTaGFkb3dDaGlja2VuUHJvbG9ndWVQYWNrZXQo
c2hhZG93UGFja2V0UmVnLCBzY3JhdGNoMVJlZywgc2NvcGVSZWcpOworICAgIG5vUmVzdWx0KG5v
ZGUpOworfQorCit2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTG9nU2hhZG93Q2hpY2tlblRh
aWwoTm9kZSogbm9kZSkKK3sKKyAgICBmbHVzaFJlZ2lzdGVycygpOworICAgIHByZXBhcmVGb3JF
eHRlcm5hbENhbGwoKTsKKyAgICBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlSW5kZXggPSBtX2ppdC5l
bWl0U3RvcmVDb2RlT3JpZ2luKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7CisKKyAgICBHUFJUZW1w
b3Jhcnkgc2NyYXRjaDEodGhpcywgR1BSSW5mbzo6bm9uQXJnR1BSMCk7IC8vIFRoaXMgbXVzdCBi
ZSBhIG5vbi1hcmd1bWVudCBHUFIuCisgICAgR1BSUmVnIHNjcmF0Y2gxUmVnID0gc2NyYXRjaDEu
Z3ByKCk7CisgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOworICAgIEdQUlJlZyBzY3Jh
dGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgIEdQUlRlbXBvcmFyeSBzaGFkb3dQYWNrZXQo
dGhpcyk7CisgICAgR1BSUmVnIHNoYWRvd1BhY2tldFJlZyA9IHNoYWRvd1BhY2tldC5ncHIoKTsK
KworICAgIG1faml0LmVuc3VyZVNoYWRvd0NoaWNrZW5QYWNrZXQoKm1faml0LnZtKCksIHNoYWRv
d1BhY2tldFJlZywgc2NyYXRjaDFSZWcsIHNjcmF0Y2gyUmVnKTsKKworICAgIEpTVmFsdWVPcGVy
YW5kIHRoaXNWYWx1ZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CisgICAgSlNWYWx1ZVJlZ3MgdGhp
c1JlZ3MgPSB0aGlzVmFsdWUuanNWYWx1ZVJlZ3MoKTsKKyAgICBTcGVjdWxhdGVDZWxsT3BlcmFu
ZCBzY29wZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7CisgICAgR1BSUmVnIHNjb3BlUmVnID0gc2Nv
cGUuZ3ByKCk7CisKKyAgICBtX2ppdC5sb2dTaGFkb3dDaGlja2VuVGFpbFBhY2tldChzaGFkb3dQ
YWNrZXRSZWcsIHRoaXNSZWdzLCBzY29wZVJlZywgbV9qaXQuY29kZUJsb2NrKCksIGNhbGxTaXRl
SW5kZXgpOworICAgIG5vUmVzdWx0KG5vZGUpOworfQorCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlU2V0QWRkKE5vZGUqIG5vZGUpCiB7CiAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgc2V0
KHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuaAppbmRleCA3OWE0MzMzNTY0MzEyMGRlZTAwMDYxYzZmYzc0M2ZjYWVi
NGE5NWE2Li4wOTFjMThmNWQwNzllZDAxMmI1NjRjMTQwMWViYzQ5NWI1YjI2M2VlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC0xMzQ3LDE2
ICsxMzQ3LDE2IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KIAotICAgIEpJVENvbXBp
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUdSZW9KIG9wZXJhdGlvbiwg
R1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBHUFJSZWcgYXJnMykKKyAg
ICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VHUmVvSiBv
cGVyYXRpb24sIEpTVmFsdWVSZWdzIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBK
U1ZhbHVlUmVncyBhcmczKQogICAgIHsKLSAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRo
RXhlY1N0YXRlKGFyZzEsIGFyZzIsIGFyZzMpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNl
dFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRz
V2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyLCBhcmczLnBheWxvYWRHUFIoKSk7CisgICAgICAgIHJl
dHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0LnBheWxvYWRHUFIoKSk7
CiAgICAgfQogCi0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJh
dGlvbl9FR1Jlb0pzcyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJS
ZWcgYXJnMiwgR1BSUmVnIGFyZzMpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlv
bihKX0pJVE9wZXJhdGlvbl9FR1Jlb0pzcyBvcGVyYXRpb24sIEpTVmFsdWVSZWdzIHJlc3VsdCwg
R1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBHUFJSZWcgYXJnMykKICAgICB7CiAgICAgICAgIG1f
aml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyLCBhcmczKTsKLSAgICAg
ICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAg
ICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdC5wYXlsb2FkR1BS
KCkpOwogICAgIH0KIAogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRP
cGVyYXRpb25fRVdzIG9wZXJhdGlvbiwgV2F0Y2hwb2ludFNldCogd2F0Y2hwb2ludFNldCkKQEAg
LTE1NzAsMTIgKzE1NzAsMTIgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgICAgICBtX2pp
dC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMik7CiAgICAgICAgIHJldHVy
biBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9Ci0gICAgSklU
Q29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSnNzUmVvIG9wZXJh
dGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyKQorICAgIEpJVENv
bXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzc1JlbyBvcGVyYXRp
b24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMikKICAgICB7CiAgICAg
ICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsKICAgICAg
ICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0K
LSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc3NS
ZW9Kc3Mgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIs
IEdQUlJlZyBhcmczKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRP
cGVyYXRpb25fRUpzc1Jlb0pzcyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcx
LCBHUFJSZWcgYXJnMiwgR1BSUmVnIGFyZzMpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFy
Z3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMiwgYXJnMyk7CiAgICAgICAgIHJldHVybiBh
cHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKQEAgLTE4MjYsMTQgKzE4MjYs
MTQgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgIHsKICAgICAgICAgcmV0dXJuIGNhbGxP
cGVyYXRpb24ob3BlcmF0aW9uLCByZXN1bHQsIGFyZzEuZ3ByKCksIGFyZzIuZ3ByKCkpOwogICAg
IH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0VH
Skogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIEdQ
UlJlZyBhcmczKQorICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oU19KSVRPcGVy
YXRpb25fRUdKSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBKU1ZhbHVl
UmVncyBhcmcyLCBKU1ZhbHVlUmVncyBhcmczKQogICAgIHsKLSAgICAgICAgbV9qaXQuc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIsIGFyZzMpOworICAgICAgICBtX2ppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMi5wYXlsb2FkR1BSKCksIGFyZzMu
cGF5bG9hZEdQUigpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0
aW9uLCByZXN1bHQpOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KFNfSklUT3BlcmF0aW9uX0VHUmVvSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBh
cmcxLCBHUFJSZWcgYXJnMiwgR1BSUmVnIGFyZzMpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihTX0pJVE9wZXJhdGlvbl9FR1Jlb0ogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0
LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIEpTVmFsdWVSZWdzIGFyZzMpCiAgICAgewotICAg
ICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMiwgYXJnMyk7
CisgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyLCBh
cmczLnBheWxvYWRHUFIoKSk7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9w
ZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbihTX0pJVE9wZXJhdGlvbl9FR1Jlb0pzcyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQ
UlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgR1BSUmVnIGFyZzMpCkBAIC0xODcyLDEwICsxODcyLDEw
IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNX
aXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJl
c3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUdKSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQs
IEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgR1BSUmVnIGFyZzMpCisgICAgSklUQ29tcGlsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FR0pKIG9wZXJhdGlvbiwgSlNWYWx1
ZVJlZ3MgcmVzdWx0LCBHUFJSZWcgYXJnMSwgSlNWYWx1ZVJlZ3MgYXJnMiwgSlNWYWx1ZVJlZ3Mg
YXJnMykKICAgICB7Ci0gICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShh
cmcxLCBhcmcyLCBhcmczKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3Bl
cmF0aW9uLCByZXN1bHQpOworICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3Rh
dGUoYXJnMSwgYXJnMi5wYXlsb2FkR1BSKCksIGFyZzMucGF5bG9hZEdQUigpKTsKKyAgICAgICAg
cmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQucGF5bG9hZEdQUigp
KTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJh
dGlvbl9FSkogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgaW50MzJfdCBp
bW0pCiAgICAgewpAQCAtMjI0NywxNSArMjI0NywxNSBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7
CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsK
ICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQucGF5
bG9hZEdQUigpLCByZXN1bHQudGFnR1BSKCkpOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2Fs
bCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc3NSZW8gb3BlcmF0aW9uLCBKU1ZhbHVl
UmVncyByZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMikKKyAgICBKSVRDb21waWxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc3NSZW8gb3BlcmF0aW9uLCBHUFJS
ZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIpCiAgICAgewogICAgICAgICBtX2pp
dC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMik7Ci0gICAgICAgIHJldHVy
biBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0LnBheWxvYWRHUFIoKSwgcmVz
dWx0LnRhZ0dQUigpKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0
aW9uLCByZXN1bHQpOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KEpfSklUT3BlcmF0aW9uX0VKc3NSZW9Kc3Mgb3BlcmF0aW9uLCBKU1ZhbHVlUmVncyByZXN1bHQs
IEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgR1BSUmVnIGFyZzMpCisgICAgSklUQ29tcGlsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNzUmVvSnNzIG9wZXJhdGlvbiwg
R1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBHUFJSZWcgYXJnMykKICAg
ICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcy
LCBhcmczKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCBy
ZXN1bHQucGF5bG9hZEdQUigpLCByZXN1bHQudGFnR1BSKCkpOworICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBp
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVBTIG9wZXJhdGlvbiwgSlNW
YWx1ZVJlZ3MgcmVzdWx0LCB2b2lkKiBwb2ludGVyLCBzaXplX3Qgc2l6ZSkKICAgICB7CkBAIC0z
MDUxLDcgKzMwNTEsOSBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAgICAgdm9pZCBjb21waWxl
QXJyYXlJbmRleE9mKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVBcnJheVB1c2goTm9kZSopOwog
ICAgIHZvaWQgY29tcGlsZU5vdGlmeVdyaXRlKE5vZGUqKTsKLSAgICBib29sIGNvbXBpbGVSZWdF
eHBFeGVjKE5vZGUqKTsKKyAgICB2b2lkIGNvbXBpbGVSZWdFeHBFeGVjKE5vZGUqKTsKKyAgICB2
b2lkIGNvbXBpbGVSZWdFeHBUZXN0KE5vZGUqKTsKKyAgICB2b2lkIGNvbXBpbGVTdHJpbmdSZXBs
YWNlKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVJc09iamVjdE9yTnVsbChOb2RlKik7CiAgICAg
dm9pZCBjb21waWxlSXNGdW5jdGlvbihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlVHlwZU9mKE5v
ZGUqKTsKQEAgLTMwNzgsNiArMzA4MCw3IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICB2
b2lkIGNvbXBpbGVUaHJvdyhOb2RlKik7CiAgICAgdm9pZCBjb21waWxlVGhyb3dTdGF0aWNFcnJv
cihOb2RlKik7CiAgICAgdm9pZCBjb21waWxlR2V0RW51bWVyYWJsZUxlbmd0aChOb2RlKik7Cisg
ICAgdm9pZCBjb21waWxlSGFzR2VuZXJpY1Byb3BlcnR5KE5vZGUqKTsKICAgICB2b2lkIGNvbXBp
bGVUb0luZGV4U3RyaW5nKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVQdXRCeUlkV2l0aFRoaXMo
Tm9kZSopOwogICAgIHZvaWQgY29tcGlsZUhhc1N0cnVjdHVyZVByb3BlcnR5KE5vZGUqKTsKQEAg
LTMwOTIsNiArMzA5NSw5IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICB2b2lkIGNvbXBp
bGVOZXdUeXBlZEFycmF5KE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVDcmVhdGVUaGlzKE5vZGUq
KTsKICAgICB2b2lkIGNvbXBpbGVOZXdPYmplY3QoTm9kZSopOworICAgIHZvaWQgY29tcGlsZVRv
UHJpbWl0aXZlKE5vZGUqKTsKKyAgICB2b2lkIGNvbXBpbGVMb2dTaGFkb3dDaGlja2VuUHJvbG9n
dWUoTm9kZSopOworICAgIHZvaWQgY29tcGlsZUxvZ1NoYWRvd0NoaWNrZW5UYWlsKE5vZGUqKTsK
IAogICAgIHZvaWQgbW92ZVRydWVUbyhHUFJSZWcpOwogICAgIHZvaWQgbW92ZUZhbHNlVG8oR1BS
UmVnKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQzMl82NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUMzJfNjQuY3BwCmluZGV4IDRlMTdmYTNkZWM0YThjN2RiOWMyMTUxNGJjNGZhZDBkOGZhYTlh
OTIuLjUyMDBiZDZjNzIxMjk2MmEzMjFjZTkwZTFhOTUzZTYwNzIxMWVhZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcApA
QCAtOTg3LDE0ICs5ODcsMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwoTm9kZSog
bm9kZSkKICAgICBpbmZvLT5zZXRVcENhbGwoY2FsbFR5cGUsIG5vZGUtPm9yaWdpbi5zZW1hbnRp
YywgY2FsbGVlUGF5bG9hZEdQUik7CiAgICAgCiAgICAgYXV0byBzZXRSZXN1bHRBbmRSZXNldFN0
YWNrID0gWyZdICgpIHsKLSAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0UGF5bG9h
ZCh0aGlzKTsKLSAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQyIHJlc3VsdFRhZyh0aGlzKTsK
LSAgICAgICAgR1BSUmVnIHJlc3VsdFBheWxvYWRHUFIgPSByZXN1bHRQYXlsb2FkLmdwcigpOwot
ICAgICAgICBHUFJSZWcgcmVzdWx0VGFnR1BSID0gcmVzdWx0VGFnLmdwcigpOwotICAgICAgICAK
LSAgICAgICAgbV9qaXQuc2V0dXBSZXN1bHRzKHJlc3VsdFBheWxvYWRHUFIsIHJlc3VsdFRhZ0dQ
Uik7CisgICAgICAgIEpTVmFsdWVSZWdzRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOwor
ICAgICAgICBKU1ZhbHVlUmVncyByZXN1bHRSZWdzID0gcmVzdWx0LnJlZ3MoKTsKIAotICAgICAg
ICBqc1ZhbHVlUmVzdWx0KHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUiwgbm9kZSwgRGF0
YUZvcm1hdEpTLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOworICAgICAgICBtX2ppdC5z
ZXR1cFJlc3VsdHMocmVzdWx0UmVncyk7CisKKyAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHRS
ZWdzLCBub2RlLCBEYXRhRm9ybWF0SlMsIFVzZUNoaWxkcmVuQ2FsbGVkRXhwbGljaXRseSk7CiAg
ICAgICAgIC8vIEFmdGVyIHRoZSBjYWxscyBhcmUgZG9uZSwgd2UgbmVlZCB0byByZWVzdGFibGlz
aCBvdXIgc3RhY2sKICAgICAgICAgLy8gcG9pbnRlci4gV2UgcmVseSBvbiB0aGlzIGZvciB2YXJh
cmdzIGNhbGxzLCBjYWxscyB3aXRoIGFyaXR5CiAgICAgICAgIC8vIG1pc21hdGNoICh0aGUgY2Fs
bGZyYW1lIGlzIHNsaWRlZCkgYW5kIHRhaWwgY2FsbHMuCkBAIC0yNTkwLDEyICsyNTg4LDEyIEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgIEpT
VmFsdWVSZWdzIHByb3BlcnR5UmVncyA9IHByb3BlcnR5LmpzVmFsdWVSZWdzKCk7CiAgICAgICAg
ICAgICAKICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgICAgICAgICBHUFJGbHVz
aGVkQ2FsbFJlc3VsdDIgcmVzdWx0VGFnKHRoaXMpOwotICAgICAgICAgICAgR1BSRmx1c2hlZENh
bGxSZXN1bHQgcmVzdWx0UGF5bG9hZCh0aGlzKTsKLSAgICAgICAgICAgIGNhbGxPcGVyYXRpb24o
b3BlcmF0aW9uR2V0QnlWYWxDZWxsLCBKU1ZhbHVlUmVncyhyZXN1bHRUYWcuZ3ByKCksIHJlc3Vs
dFBheWxvYWQuZ3ByKCkpLCBiYXNlR1BSLCBwcm9wZXJ0eVJlZ3MpOworICAgICAgICAgICAgSlNW
YWx1ZVJlZ3NGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CisgICAgICAgICAgICBKU1Zh
bHVlUmVncyByZXN1bHRSZWdzID0gcmVzdWx0LnJlZ3MoKTsKKyAgICAgICAgICAgIGNhbGxPcGVy
YXRpb24ob3BlcmF0aW9uR2V0QnlWYWxDZWxsLCByZXN1bHRSZWdzLCBiYXNlR1BSLCBwcm9wZXJ0
eVJlZ3MpOwogICAgICAgICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKICAgICAgICAgICAg
IAotICAgICAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHRUYWcuZ3ByKCksIHJlc3VsdFBheWxv
YWQuZ3ByKCksIG5vZGUpOworICAgICAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHRSZWdzLCBu
b2RlKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgIGNhc2UgQXJyYXk6
OkludDMyOgpAQCAtMjg1MiwxNiArMjg1MCwxMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIEpTVmFsdWVPcGVyYW5kIHN1YnNjcmlwdCh0aGlzLCBu
b2RlLT5jaGlsZDMoKSk7CiAgICAgICAgIEpTVmFsdWVSZWdzIHN1YnNjcmlwdFJlZ3MgPSBzdWJz
Y3JpcHQuanNWYWx1ZVJlZ3MoKTsKIAotICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1
bHRQYXlsb2FkKHRoaXMpOwotICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdDIgcmVzdWx0VGFn
KHRoaXMpOwotICAgICAgICBHUFJSZWcgcmVzdWx0UGF5bG9hZEdQUiA9IHJlc3VsdFBheWxvYWQu
Z3ByKCk7Ci0gICAgICAgIEdQUlJlZyByZXN1bHRUYWdHUFIgPSByZXN1bHRUYWcuZ3ByKCk7Ci0K
ICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRp
b25HZXRCeVZhbFdpdGhUaGlzLCBKU1ZhbHVlUmVncyhyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxv
YWRHUFIpLCBiYXNlUmVncywgdGhpc1ZhbHVlUmVncywgc3Vic2NyaXB0UmVncyk7CisgICAgICAg
IEpTVmFsdWVSZWdzRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOworICAgICAgICBKU1Zh
bHVlUmVncyByZXN1bHRSZWdzID0gcmVzdWx0LnJlZ3MoKTsKKyAgICAgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25HZXRCeVZhbFdpdGhUaGlzLCByZXN1bHRSZWdzLCBiYXNlUmVncywgdGhpc1Zh
bHVlUmVncywgc3Vic2NyaXB0UmVncyk7CiAgICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7
CiAKLSAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIs
IG5vZGUpOworICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdFJlZ3MsIG5vZGUpOwogICAgICAg
ICBicmVhazsKICAgICB9CiAKQEAgLTMxNjQsMTgzICszMTU5LDE4IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICB9CiAKICAgICBjYXNlIFJlZ0V4cEV4ZWM6
IHsKLSAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgZ2xvYmFsT2JqZWN0KHRoaXMsIG5vZGUt
PmNoaWxkMSgpKTsKLSAgICAgICAgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiA9IGdsb2JhbE9iamVj
dC5ncHIoKTsKLSAgICAgICAgCi0gICAgICAgIGlmIChub2RlLT5jaGlsZDIoKS51c2VLaW5kKCkg
PT0gUmVnRXhwT2JqZWN0VXNlKSB7Ci0gICAgICAgICAgICBpZiAobm9kZS0+Y2hpbGQzKCkudXNl
S2luZCgpID09IFN0cmluZ1VzZSkgewotICAgICAgICAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVy
YW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICAgICAgICAgIFNwZWN1bGF0
ZUNlbGxPcGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5vZGUtPmNoaWxkMygpKTsKLSAgICAgICAgICAg
ICAgICBHUFJSZWcgYmFzZUdQUiA9IGJhc2UuZ3ByKCk7Ci0gICAgICAgICAgICAgICAgR1BSUmVn
IGFyZ3VtZW50R1BSID0gYXJndW1lbnQuZ3ByKCk7Ci0gICAgICAgICAgICAgICAgc3BlY3VsYXRl
UmVnRXhwT2JqZWN0KG5vZGUtPmNoaWxkMigpLCBiYXNlR1BSKTsKLSAgICAgICAgICAgICAgICBz
cGVjdWxhdGVTdHJpbmcobm9kZS0+Y2hpbGQzKCksIGFyZ3VtZW50R1BSKTsKLSAgICAgICAgICAg
ICAgICAKLSAgICAgICAgICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwotICAgICAgICAgICAgICAg
IEdQUkZsdXNoZWRDYWxsUmVzdWx0MiByZXN1bHRUYWcodGhpcyk7Ci0gICAgICAgICAgICAgICAg
R1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0UGF5bG9hZCh0aGlzKTsKLSAgICAgICAgICAgICAg
ICBjYWxsT3BlcmF0aW9uKAotICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb25SZWdFeHBFeGVj
U3RyaW5nLCBKU1ZhbHVlUmVncyhyZXN1bHRUYWcuZ3ByKCksIHJlc3VsdFBheWxvYWQuZ3ByKCkp
LAotICAgICAgICAgICAgICAgICAgICBnbG9iYWxPYmplY3RHUFIsIGJhc2VHUFIsIGFyZ3VtZW50
R1BSKTsKLSAgICAgICAgICAgICAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwotICAgICAgICAg
ICAgICAgIAotICAgICAgICAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0VGFnLmdwcigpLCBy
ZXN1bHRQYXlsb2FkLmdwcigpLCBub2RlKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQg
YmFzZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgICAgICBKU1ZhbHVlT3BlcmFuZCBh
cmd1bWVudCh0aGlzLCBub2RlLT5jaGlsZDMoKSk7Ci0gICAgICAgICAgICBHUFJSZWcgYmFzZUdQ
UiA9IGJhc2UuZ3ByKCk7Ci0gICAgICAgICAgICBKU1ZhbHVlUmVncyBhcmd1bWVudFJlZ3MgPSBh
cmd1bWVudC5qc1ZhbHVlUmVncygpOwotICAgICAgICAgICAgc3BlY3VsYXRlUmVnRXhwT2JqZWN0
KG5vZGUtPmNoaWxkMigpLCBiYXNlR1BSKTsKLSAgICAgICAgCi0gICAgICAgICAgICBmbHVzaFJl
Z2lzdGVycygpOwotICAgICAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQyIHJlc3VsdFRhZyh0
aGlzKTsKLSAgICAgICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdFBheWxvYWQodGhp
cyk7Ci0gICAgICAgICAgICBjYWxsT3BlcmF0aW9uKAotICAgICAgICAgICAgICAgIG9wZXJhdGlv
blJlZ0V4cEV4ZWMsIEpTVmFsdWVSZWdzKHJlc3VsdFRhZy5ncHIoKSwgcmVzdWx0UGF5bG9hZC5n
cHIoKSksIGdsb2JhbE9iamVjdEdQUiwgYmFzZUdQUiwgYXJndW1lbnRSZWdzKTsKLSAgICAgICAg
ICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7Ci0gICAgICAgIAotICAgICAgICAgICAganNWYWx1
ZVJlc3VsdChyZXN1bHRUYWcuZ3ByKCksIHJlc3VsdFBheWxvYWQuZ3ByKCksIG5vZGUpOwotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIEpTVmFsdWVPcGVy
YW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICBKU1ZhbHVlT3BlcmFuZCBh
cmd1bWVudCh0aGlzLCBub2RlLT5jaGlsZDMoKSk7Ci0gICAgICAgIEpTVmFsdWVSZWdzIGJhc2VS
ZWdzID0gYmFzZS5qc1ZhbHVlUmVncygpOwotICAgICAgICBKU1ZhbHVlUmVncyBhcmd1bWVudFJl
Z3MgPSBhcmd1bWVudC5qc1ZhbHVlUmVncygpOwotICAgICAgICAKLSAgICAgICAgZmx1c2hSZWdp
c3RlcnMoKTsKLSAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQyIHJlc3VsdFRhZyh0aGlzKTsK
LSAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0UGF5bG9hZCh0aGlzKTsKLSAgICAg
ICAgY2FsbE9wZXJhdGlvbigKLSAgICAgICAgICAgIG9wZXJhdGlvblJlZ0V4cEV4ZWNHZW5lcmlj
LCBKU1ZhbHVlUmVncyhyZXN1bHRUYWcuZ3ByKCksIHJlc3VsdFBheWxvYWQuZ3ByKCkpLCBnbG9i
YWxPYmplY3RHUFIsIGJhc2VSZWdzLCBhcmd1bWVudFJlZ3MpOwotICAgICAgICBtX2ppdC5leGNl
cHRpb25DaGVjaygpOwotICAgICAgICAKLSAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHRUYWcu
Z3ByKCksIHJlc3VsdFBheWxvYWQuZ3ByKCksIG5vZGUpOworICAgICAgICBjb21waWxlUmVnRXhw
RXhlYyhub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgICAgICAKICAgICBjYXNlIFJl
Z0V4cFRlc3Q6IHsKLSAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgZ2xvYmFsT2JqZWN0KHRo
aXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgR1BSUmVnIGdsb2JhbE9iamVjdEdQUiA9IGds
b2JhbE9iamVjdC5ncHIoKTsKLSAgICAgICAgCi0gICAgICAgIGlmIChub2RlLT5jaGlsZDIoKS51
c2VLaW5kKCkgPT0gUmVnRXhwT2JqZWN0VXNlKSB7Ci0gICAgICAgICAgICBpZiAobm9kZS0+Y2hp
bGQzKCkudXNlS2luZCgpID09IFN0cmluZ1VzZSkgewotICAgICAgICAgICAgICAgIFNwZWN1bGF0
ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICAgICAgICAg
IFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5vZGUtPmNoaWxkMygpKTsKLSAg
ICAgICAgICAgICAgICBHUFJSZWcgYmFzZUdQUiA9IGJhc2UuZ3ByKCk7Ci0gICAgICAgICAgICAg
ICAgR1BSUmVnIGFyZ3VtZW50R1BSID0gYXJndW1lbnQuZ3ByKCk7Ci0gICAgICAgICAgICAgICAg
c3BlY3VsYXRlUmVnRXhwT2JqZWN0KG5vZGUtPmNoaWxkMigpLCBiYXNlR1BSKTsKLSAgICAgICAg
ICAgICAgICBzcGVjdWxhdGVTdHJpbmcobm9kZS0+Y2hpbGQzKCksIGFyZ3VtZW50R1BSKTsKLSAg
ICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwotICAgICAg
ICAgICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKLSAgICAgICAgICAg
ICAgICBjYWxsT3BlcmF0aW9uKAotICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb25SZWdFeHBU
ZXN0U3RyaW5nLCByZXN1bHQuZ3ByKCksIGdsb2JhbE9iamVjdEdQUiwgYmFzZUdQUiwgYXJndW1l
bnRHUFIpOwotICAgICAgICAgICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7Ci0gICAgICAg
ICAgICAgICAgCi0gICAgICAgICAgICAgICAgYm9vbGVhblJlc3VsdChyZXN1bHQuZ3ByKCksIG5v
ZGUpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
Ci0gICAgICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBiYXNlKHRoaXMsIG5vZGUtPmNoaWxk
MigpKTsKLSAgICAgICAgICAgIEpTVmFsdWVPcGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5vZGUtPmNo
aWxkMygpKTsKLSAgICAgICAgICAgIEdQUlJlZyBiYXNlR1BSID0gYmFzZS5ncHIoKTsKLSAgICAg
ICAgICAgIEpTVmFsdWVSZWdzIGFyZ3VtZW50UmVncyA9IGFyZ3VtZW50LmpzVmFsdWVSZWdzKCk7
Ci0gICAgICAgICAgICBzcGVjdWxhdGVSZWdFeHBPYmplY3Qobm9kZS0+Y2hpbGQyKCksIGJhc2VH
UFIpOwotICAgICAgICAKLSAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgICAgICAg
ICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7Ci0gICAgICAgICAgICBjYWxsT3Bl
cmF0aW9uKAotICAgICAgICAgICAgICAgIG9wZXJhdGlvblJlZ0V4cFRlc3QsIHJlc3VsdC5ncHIo
KSwgZ2xvYmFsT2JqZWN0R1BSLCBiYXNlR1BSLCBhcmd1bWVudFJlZ3MpOwotICAgICAgICAgICAg
bV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKLSAgICAgICAgCi0gICAgICAgICAgICBib29sZWFuUmVz
dWx0KHJlc3VsdC5ncHIoKSwgbm9kZSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQot
ICAgICAgICAKLSAgICAgICAgSlNWYWx1ZU9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDIo
KSk7Ci0gICAgICAgIEpTVmFsdWVPcGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5vZGUtPmNoaWxkMygp
KTsKLSAgICAgICAgSlNWYWx1ZVJlZ3MgYmFzZVJlZ3MgPSBiYXNlLmpzVmFsdWVSZWdzKCk7Ci0g
ICAgICAgIEpTVmFsdWVSZWdzIGFyZ3VtZW50UmVncyA9IGFyZ3VtZW50LmpzVmFsdWVSZWdzKCk7
Ci0KLSAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1
bHQgcmVzdWx0KHRoaXMpOwotICAgICAgICBjYWxsT3BlcmF0aW9uKAotICAgICAgICAgICAgb3Bl
cmF0aW9uUmVnRXhwVGVzdEdlbmVyaWMsIHJlc3VsdC5ncHIoKSwgZ2xvYmFsT2JqZWN0R1BSLCBi
YXNlUmVncywgYXJndW1lbnRSZWdzKTsKLSAgICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsK
LSAgICAgICAgCi0gICAgICAgIGJvb2xlYW5SZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsKKyAg
ICAgICAgY29tcGlsZVJlZ0V4cFRlc3Qobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAog
ICAgIGNhc2UgU3RyaW5nUmVwbGFjZToKICAgICBjYXNlIFN0cmluZ1JlcGxhY2VSZWdFeHA6IHsK
LSAgICAgICAgaWYgKG5vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSA9PSBTdHJpbmdVc2UKLSAgICAg
ICAgICAgICYmIG5vZGUtPmNoaWxkMigpLnVzZUtpbmQoKSA9PSBSZWdFeHBPYmplY3RVc2UKLSAg
ICAgICAgICAgICYmIG5vZGUtPmNoaWxkMygpLnVzZUtpbmQoKSA9PSBTdHJpbmdVc2UpIHsKLSAg
ICAgICAgICAgIGlmIChKU1N0cmluZyogcmVwbGFjZSA9IG5vZGUtPmNoaWxkMygpLT5keW5hbWlj
Q2FzdENvbnN0YW50PEpTU3RyaW5nKj4oKm1faml0LnZtKCkpKSB7Ci0gICAgICAgICAgICAgICAg
aWYgKCFyZXBsYWNlLT5sZW5ndGgoKSkgewotICAgICAgICAgICAgICAgICAgICBTcGVjdWxhdGVD
ZWxsT3BlcmFuZCBzdHJpbmcodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICAgICAgICAg
ICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCByZWdFeHAodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwot
ICAgICAgICAgICAgICAgICAgICBHUFJSZWcgc3RyaW5nR1BSID0gc3RyaW5nLmdwcigpOwotICAg
ICAgICAgICAgICAgICAgICBHUFJSZWcgcmVnRXhwR1BSID0gcmVnRXhwLmdwcigpOwotICAgICAg
ICAgICAgICAgICAgICBzcGVjdWxhdGVTdHJpbmcobm9kZS0+Y2hpbGQxKCksIHN0cmluZ0dQUik7
Ci0gICAgICAgICAgICAgICAgICAgIHNwZWN1bGF0ZVJlZ0V4cE9iamVjdChub2RlLT5jaGlsZDIo
KSwgcmVnRXhwR1BSKTsKLQotICAgICAgICAgICAgICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwot
ICAgICAgICAgICAgICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdDIgcmVzdWx0VGFnKHRoaXMp
OwotICAgICAgICAgICAgICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHRQYXlsb2Fk
KHRoaXMpOwotICAgICAgICAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKAotICAgICAgICAgICAg
ICAgICAgICAgICAgb3BlcmF0aW9uU3RyaW5nUHJvdG9GdW5jUmVwbGFjZVJlZ0V4cEVtcHR5U3Ry
LCBKU1ZhbHVlUmVncyhyZXN1bHRUYWcuZ3ByKCksIHJlc3VsdFBheWxvYWQuZ3ByKCkpLCBzdHJp
bmdHUFIsIHJlZ0V4cEdQUik7Ci0gICAgICAgICAgICAgICAgICAgIG1faml0LmV4Y2VwdGlvbkNo
ZWNrKCk7Ci0gICAgICAgICAgICAgICAgICAgIGNlbGxSZXN1bHQocmVzdWx0UGF5bG9hZC5ncHIo
KSwgbm9kZSk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgU3BlY3VsYXRlQ2VsbE9w
ZXJhbmQgc3RyaW5nKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgICAgIFNwZWN1bGF0
ZUNlbGxPcGVyYW5kIHJlZ0V4cCh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgICAgICBT
cGVjdWxhdGVDZWxsT3BlcmFuZCByZXBsYWNlKHRoaXMsIG5vZGUtPmNoaWxkMygpKTsKLSAgICAg
ICAgICAgIEdQUlJlZyBzdHJpbmdHUFIgPSBzdHJpbmcuZ3ByKCk7Ci0gICAgICAgICAgICBHUFJS
ZWcgcmVnRXhwR1BSID0gcmVnRXhwLmdwcigpOwotICAgICAgICAgICAgR1BSUmVnIHJlcGxhY2VH
UFIgPSByZXBsYWNlLmdwcigpOwotICAgICAgICAgICAgc3BlY3VsYXRlU3RyaW5nKG5vZGUtPmNo
aWxkMSgpLCBzdHJpbmdHUFIpOwotICAgICAgICAgICAgc3BlY3VsYXRlUmVnRXhwT2JqZWN0KG5v
ZGUtPmNoaWxkMigpLCByZWdFeHBHUFIpOwotICAgICAgICAgICAgc3BlY3VsYXRlU3RyaW5nKG5v
ZGUtPmNoaWxkMygpLCByZXBsYWNlR1BSKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgZmx1
c2hSZWdpc3RlcnMoKTsKLSAgICAgICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0MiByZXN1bHRU
YWcodGhpcyk7Ci0gICAgICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHRQYXlsb2Fk
KHRoaXMpOwotICAgICAgICAgICAgY2FsbE9wZXJhdGlvbigKLSAgICAgICAgICAgICAgICBvcGVy
YXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlUmVnRXhwU3RyaW5nLCBKU1ZhbHVlUmVncyhyZXN1
bHRUYWcuZ3ByKCksIHJlc3VsdFBheWxvYWQuZ3ByKCkpLAotICAgICAgICAgICAgICAgIHN0cmlu
Z0dQUiwgcmVnRXhwR1BSLCByZXBsYWNlR1BSKTsKLSAgICAgICAgICAgIG1faml0LmV4Y2VwdGlv
bkNoZWNrKCk7Ci0gICAgICAgICAgICBjZWxsUmVzdWx0KHJlc3VsdFBheWxvYWQuZ3ByKCksIG5v
ZGUpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQotICAgICAgICAvLyBJZiB3ZSBm
aXhlZCB1cCB0aGUgZWRnZSBvZiBjaGlsZDIsIHdlIGluc2VydGVkIGEgQ2hlY2soQGNoaWxkMiwg
U3RyaW5nKS4KLSAgICAgICAgT3BlcmFuZFNwZWN1bGF0aW9uTW9kZSBjaGlsZDJTcGVjdWxhdGlv
bk1vZGUgPSBBdXRvbWF0aWNPcGVyYW5kU3BlY3VsYXRpb247Ci0gICAgICAgIGlmIChub2RlLT5j
aGlsZDIoKS51c2VLaW5kKCkgPT0gU3RyaW5nVXNlKQotICAgICAgICAgICAgY2hpbGQyU3BlY3Vs
YXRpb25Nb2RlID0gTWFudWFsT3BlcmFuZFNwZWN1bGF0aW9uOwotICAgICAgICAKLSAgICAgICAg
SlNWYWx1ZU9wZXJhbmQgc3RyaW5nKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgSlNW
YWx1ZU9wZXJhbmQgc2VhcmNoKHRoaXMsIG5vZGUtPmNoaWxkMigpLCBjaGlsZDJTcGVjdWxhdGlv
bk1vZGUpOwotICAgICAgICBKU1ZhbHVlT3BlcmFuZCByZXBsYWNlKHRoaXMsIG5vZGUtPmNoaWxk
MygpKTsKLSAgICAgICAgSlNWYWx1ZVJlZ3Mgc3RyaW5nUmVncyA9IHN0cmluZy5qc1ZhbHVlUmVn
cygpOwotICAgICAgICBKU1ZhbHVlUmVncyBzZWFyY2hSZWdzID0gc2VhcmNoLmpzVmFsdWVSZWdz
KCk7Ci0gICAgICAgIEpTVmFsdWVSZWdzIHJlcGxhY2VSZWdzID0gcmVwbGFjZS5qc1ZhbHVlUmVn
cygpOwotICAgICAgICAKLSAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAgICAgR1BSRmx1
c2hlZENhbGxSZXN1bHQyIHJlc3VsdFRhZyh0aGlzKTsKLSAgICAgICAgR1BSRmx1c2hlZENhbGxS
ZXN1bHQgcmVzdWx0UGF5bG9hZCh0aGlzKTsKLSAgICAgICAgY2FsbE9wZXJhdGlvbigKLSAgICAg
ICAgICAgIG9wZXJhdGlvblN0cmluZ1Byb3RvRnVuY1JlcGxhY2VHZW5lcmljLCBKU1ZhbHVlUmVn
cyhyZXN1bHRUYWcuZ3ByKCksIHJlc3VsdFBheWxvYWQuZ3ByKCkpLAotICAgICAgICAgICAgc3Ry
aW5nUmVncywgc2VhcmNoUmVncywgcmVwbGFjZVJlZ3MpOyAKLSAgICAgICAgbV9qaXQuZXhjZXB0
aW9uQ2hlY2soKTsKLSAgICAgICAgY2VsbFJlc3VsdChyZXN1bHRQYXlsb2FkLmdwcigpLCBub2Rl
KTsKKyAgICAgICAgY29tcGlsZVN0cmluZ1JlcGxhY2Uobm9kZSk7CiAgICAgICAgIGJyZWFrOwog
ICAgIH0KIApAQCAtMzYxNSwzMSArMzQ0NSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUoTm9kZSogbm9kZSkKICAgICB9CiAgICAgICAgIAogICAgIGNhc2UgVG9QcmltaXRpdmU6IHsK
LSAgICAgICAgUkVMRUFTRV9BU1NFUlQobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IFVudHlw
ZWRVc2UpOwotICAgICAgICBKU1ZhbHVlT3BlcmFuZCBhcmd1bWVudCh0aGlzLCBub2RlLT5jaGls
ZDEoKSk7Ci0gICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHRUYWcodGhpcywgUmV1c2UsIGFyZ3Vt
ZW50LCBUYWdXb3JkKTsKLSAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdFBheWxvYWQodGhpcywg
UmV1c2UsIGFyZ3VtZW50LCBQYXlsb2FkV29yZCk7Ci0gICAgICAgIAotICAgICAgICBHUFJSZWcg
YXJndW1lbnRUYWdHUFIgPSBhcmd1bWVudC50YWdHUFIoKTsKLSAgICAgICAgR1BSUmVnIGFyZ3Vt
ZW50UGF5bG9hZEdQUiA9IGFyZ3VtZW50LnBheWxvYWRHUFIoKTsKLSAgICAgICAgR1BSUmVnIHJl
c3VsdFRhZ0dQUiA9IHJlc3VsdFRhZy5ncHIoKTsKLSAgICAgICAgR1BSUmVnIHJlc3VsdFBheWxv
YWRHUFIgPSByZXN1bHRQYXlsb2FkLmdwcigpOwotICAgICAgICAKLSAgICAgICAgYXJndW1lbnQu
dXNlKCk7Ci0gICAgICAgIAotICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBhbHJlYWR5UHJp
bWl0aXZlID0gbV9qaXQuYnJhbmNoSWZOb3RDZWxsKGFyZ3VtZW50LmpzVmFsdWVSZWdzKCkpOwot
ICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBub3RQcmltaXRpdmUgPSBtX2ppdC5icmFuY2hJ
Zk9iamVjdChhcmd1bWVudFBheWxvYWRHUFIpOwotICAgICAgICAKLSAgICAgICAgYWxyZWFkeVBy
aW1pdGl2ZS5saW5rKCZtX2ppdCk7Ci0gICAgICAgIG1faml0Lm1vdmUoYXJndW1lbnRUYWdHUFIs
IHJlc3VsdFRhZ0dQUik7Ci0gICAgICAgIG1faml0Lm1vdmUoYXJndW1lbnRQYXlsb2FkR1BSLCBy
ZXN1bHRQYXlsb2FkR1BSKTsKLSAgICAgICAgCi0gICAgICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9y
KAotICAgICAgICAgICAgc2xvd1BhdGhDYWxsKAotICAgICAgICAgICAgICAgIG5vdFByaW1pdGl2
ZSwgdGhpcywgb3BlcmF0aW9uVG9QcmltaXRpdmUsCi0gICAgICAgICAgICAgICAgSlNWYWx1ZVJl
Z3MocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSKSwgSlNWYWx1ZVJlZ3MoYXJndW1lbnRU
YWdHUFIsIGFyZ3VtZW50UGF5bG9hZEdQUikpKTsKLSAgICAgICAgCi0gICAgICAgIGpzVmFsdWVS
ZXN1bHQocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSLCBub2RlLCBVc2VDaGlsZHJlbkNh
bGxlZEV4cGxpY2l0bHkpOworICAgICAgICBjb21waWxlVG9QcmltaXRpdmUobm9kZSk7CiAgICAg
ICAgIGJyZWFrOwogICAgIH0KIApAQCAtNDYzNSwxMCArNDQ0MSw5IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKIAogICAgICAgICBKU1ZhbHVlUmVncyBpbnB1dFJl
Z3MgPSBpbnB1dC5qc1ZhbHVlUmVncygpOwogCisgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAg
ICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKICAgICAgICAgR1BSUmVn
IHJlc3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKLQotICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwog
ICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbk1hcEhhc2gsIHJlc3VsdEdQUiwgaW5wdXRS
ZWdzKTsKICAgICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKICAgICAgICAgaW50MzJSZXN1
bHQocmVzdWx0R1BSLCBub2RlKTsKQEAgLTQ2NTQsMTIgKzQ0NTksMTAgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFu
ZCBtYXAodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBKU1ZhbHVlT3BlcmFuZCBrZXko
dGhpcywgbm9kZS0+Y2hpbGQyKCkpOwogICAgICAgICBTcGVjdWxhdGVJbnQzMk9wZXJhbmQgaGFz
aCh0aGlzLCBub2RlLT5jaGlsZDMoKSk7Ci0gICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJl
c3VsdCh0aGlzKTsKIAogICAgICAgICBHUFJSZWcgbWFwR1BSID0gbWFwLmdwcigpOwogICAgICAg
ICBKU1ZhbHVlUmVncyBrZXlSZWdzID0ga2V5LmpzVmFsdWVSZWdzKCk7CiAgICAgICAgIEdQUlJl
ZyBoYXNoR1BSID0gaGFzaC5ncHIoKTsKLSAgICAgICAgR1BSUmVnIHJlc3VsdEdQUiA9IHJlc3Vs
dC5ncHIoKTsKIAogICAgICAgICBpZiAobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IE1hcE9i
amVjdFVzZSkKICAgICAgICAgICAgIHNwZWN1bGF0ZU1hcE9iamVjdChub2RlLT5jaGlsZDEoKSwg
bWFwR1BSKTsKQEAgLTQ2NjksNiArNDQ3Miw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAKICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKKyAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1
bHQgcmVzdWx0KHRoaXMpOworICAgICAgICBHUFJSZWcgcmVzdWx0R1BSID0gcmVzdWx0Lmdwcigp
OwogICAgICAgICBpZiAobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IE1hcE9iamVjdFVzZSkK
ICAgICAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uSlNNYXBGaW5kQnVja2V0LCByZXN1
bHRHUFIsIG1hcEdQUiwga2V5UmVncywgaGFzaEdQUik7CiAgICAgICAgIGVsc2UKQEAgLTQ5OTAs
MTggKzQ3OTUsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAg
ICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIEhhc0dlbmVyaWNQcm9wZXJ0eTogewotICAg
ICAgICBKU1ZhbHVlT3BlcmFuZCBiYXNlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAg
U3BlY3VsYXRlQ2VsbE9wZXJhbmQgcHJvcGVydHkodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAg
ICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHRQYXlsb2FkKHRoaXMpOwotICAgICAgICBH
UFJGbHVzaGVkQ2FsbFJlc3VsdDIgcmVzdWx0VGFnKHRoaXMpOwotICAgICAgICBKU1ZhbHVlUmVn
cyBiYXNlUmVncyA9IGJhc2UuanNWYWx1ZVJlZ3MoKTsKLSAgICAgICAgR1BSUmVnIHJlc3VsdFBh
eWxvYWRHUFIgPSByZXN1bHRQYXlsb2FkLmdwcigpOwotICAgICAgICBHUFJSZWcgcmVzdWx0VGFn
R1BSID0gcmVzdWx0VGFnLmdwcigpOwotCi0gICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAg
ICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uSGFzR2VuZXJpY1Byb3BlcnR5LCBKU1ZhbHVlUmVn
cyhyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIpLCBiYXNlUmVncywgcHJvcGVydHkuZ3By
KCkpOwotICAgICAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwotICAgICAgICBib29sZWFuUmVz
dWx0KHJlc3VsdFBheWxvYWRHUFIsIG5vZGUpOworICAgICAgICBjb21waWxlSGFzR2VuZXJpY1By
b3BlcnR5KG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBIYXNTdHJ1Y3R1
cmVQcm9wZXJ0eTogewpAQCAtNTA4NiwyNyArNDg4MCwyMyBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIEdQUlJlZyBwcm9wZXJ0eUdQUiA9IHByb3Bl
cnR5LmdwcigpOwogCiAjaWYgQ1BVKFg4NikKLSAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQg
cmVzdWx0UGF5bG9hZCh0aGlzKTsKLSAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQyIHJlc3Vs
dFRhZyh0aGlzKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAKLSAgICAg
ICAgR1BSUmVnIHJlc3VsdFRhZ0dQUiA9IHJlc3VsdFRhZy5ncHIoKTsKLSAgICAgICAgR1BSUmVn
IHJlc3VsdFBheWxvYWRHUFIgPSByZXN1bHRQYXlsb2FkLmdwcigpOwogICAgICAgICBHUFJSZWcg
c2NyYXRjaEdQUiA9IHNjcmF0Y2guZ3ByKCk7CiAKICAgICAgICAgLy8gTm90IGVub3VnaCByZWdp
c3RlcnMgb24gWDg2IGZvciB0aGlzIGNvZGUsIHNvIGFsd2F5cyB1c2UgdGhlIHNsb3cgcGF0aC4K
ICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKKyAgICAgICAgSlNWYWx1ZVJlZ3NGbHVzaGVkQ2Fs
bFJlc3VsdCByZXN1bHQodGhpcyk7CisgICAgICAgIEpTVmFsdWVSZWdzIHJlc3VsdFJlZ3MgPSBy
ZXN1bHQucmVncygpOwogICAgICAgICBtX2ppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVk
SW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZyksIHNjcmF0Y2hHUFIpOwotICAgICAgICBjYWxsT3BlcmF0
aW9uKG9wZXJhdGlvbkdldEJ5VmFsQ2VsbCwgSlNWYWx1ZVJlZ3MocmVzdWx0VGFnR1BSLCByZXN1
bHRQYXlsb2FkR1BSKSwgYmFzZUdQUiwgSlNWYWx1ZVJlZ3Moc2NyYXRjaEdQUiwgcHJvcGVydHlH
UFIpKTsKKyAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25HZXRCeVZhbENlbGwsIHJlc3Vs
dFJlZ3MsIGJhc2VHUFIsIEpTVmFsdWVSZWdzKHNjcmF0Y2hHUFIsIHByb3BlcnR5R1BSKSk7CiAg
ICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7CiAjZWxzZQotICAgICAgICBHUFJUZW1wb3Jh
cnkgcmVzdWx0UGF5bG9hZCh0aGlzKTsKLSAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdFRhZyh0
aGlzKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CisgICAgICAgIEpTVmFs
dWVSZWdzRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOwogCi0gICAgICAgIEdQUlJlZyBy
ZXN1bHRUYWdHUFIgPSByZXN1bHRUYWcuZ3ByKCk7Ci0gICAgICAgIEdQUlJlZyByZXN1bHRQYXls
b2FkR1BSID0gcmVzdWx0UGF5bG9hZC5ncHIoKTsKICAgICAgICAgR1BSUmVnIHNjcmF0Y2hHUFIg
PSBzY3JhdGNoLmdwcigpOworICAgICAgICBKU1ZhbHVlUmVncyByZXN1bHRSZWdzID0gcmVzdWx0
LnJlZ3MoKTsKIAogICAgICAgICBFZGdlJiBpbmRleEVkZ2UgPSBtX2ppdC5ncmFwaCgpLnZhckFy
Z0NoaWxkKG5vZGUsIDIpOwogICAgICAgICBFZGdlJiBlbnVtZXJhdG9yRWRnZSA9IG1faml0Lmdy
YXBoKCkudmFyQXJnQ2hpbGQobm9kZSwgMyk7CkBAIC01MTM1LDggKzQ5MjUsOCBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAKICAgICAgICAgbV9qaXQubW92ZShp
bmRleEdQUiwgc2NyYXRjaEdQUik7CiAgICAgICAgIG1faml0LnNpZ25FeHRlbmQzMlRvUHRyKHNj
cmF0Y2hHUFIsIHNjcmF0Y2hHUFIpOwotICAgICAgICBtX2ppdC5sb2FkMzIoTWFjcm9Bc3NlbWJs
ZXI6OkJhc2VJbmRleChiYXNlR1BSLCBzY3JhdGNoR1BSLCBNYWNyb0Fzc2VtYmxlcjo6VGltZXNF
aWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpICsgT0JKRUNUX09GRlNFVE9G
KEpTVmFsdWUsIHUuYXNCaXRzLnRhZykpLCByZXN1bHRUYWdHUFIpOwotICAgICAgICBtX2ppdC5s
b2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChiYXNlR1BSLCBzY3JhdGNoR1BSLCBNYWNy
b0Fzc2VtYmxlcjo6VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgp
ICsgT0JKRUNUX09GRlNFVE9GKEpTVmFsdWUsIHUuYXNCaXRzLnBheWxvYWQpKSwgcmVzdWx0UGF5
bG9hZEdQUik7CisgICAgICAgIG1faml0LmxvYWQzMihNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4
KGJhc2VHUFIsIHNjcmF0Y2hHUFIsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc0VpZ2h0LCBKU09iamVj
dDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkgKyBPQkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5h
c0JpdHMudGFnKSksIHJlc3VsdFJlZ3MudGFnR1BSKCkpOworICAgICAgICBtX2ppdC5sb2FkMzIo
TWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChiYXNlR1BSLCBzY3JhdGNoR1BSLCBNYWNyb0Fzc2Vt
Ymxlcjo6VGltZXNFaWdodCwgSlNPYmplY3Q6Om9mZnNldE9mSW5saW5lU3RvcmFnZSgpICsgT0JK
RUNUX09GRlNFVE9GKEpTVmFsdWUsIHUuYXNCaXRzLnBheWxvYWQpKSwgcmVzdWx0UmVncy5wYXls
b2FkR1BSKCkpOwogCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGRvbmUgPSBtX2ppdC5q
dW1wKCk7CiAgICAgICAgIApAQCAtNTE0NiwxOSArNDkzNiwxOSBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIG1faml0LnN1YjMyKE1hY3JvQXNzZW1i
bGVyOjpBZGRyZXNzKGVudW1lcmF0b3JHUFIsIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6Y2Fj
aGVkSW5saW5lQ2FwYWNpdHlPZmZzZXQoKSksIHNjcmF0Y2hHUFIpOwogICAgICAgICBtX2ppdC5u
ZWczMihzY3JhdGNoR1BSKTsKICAgICAgICAgbV9qaXQuc2lnbkV4dGVuZDMyVG9QdHIoc2NyYXRj
aEdQUiwgc2NyYXRjaEdQUik7Ci0gICAgICAgIC8vIFdlIHVzZSByZXN1bHRQYXlsb2FkR1BSIGFz
IGEgdGVtcG9yYXJ5IGhlcmUuIFdlIGhhdmUgdG8gbWFrZSBzdXJlIGNsb2JiZXIgaXQgYWZ0ZXIg
Z2V0dGluZyB0aGUgCi0gICAgICAgIC8vIHZhbHVlIG91dCBvZiBpbmRleEdQUiBhbmQgZW51bWVy
YXRvckdQUiBiZWNhdXNlIHJlc3VsdFBheWxvYWRHUFIgY291bGQgcmV1c2UgZWl0aGVyIG9mIHRo
b3NlIHJlZ2lzdGVycy4KLSAgICAgICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRk
cmVzcyhiYXNlR1BSLCBKU09iamVjdDo6YnV0dGVyZmx5T2Zmc2V0KCkpLCByZXN1bHRQYXlsb2Fk
R1BSKTsKKyAgICAgICAgLy8gV2UgdXNlIHJlc3VsdFJlZ3MucGF5bG9hZEdQUigpIGFzIGEgdGVt
cG9yYXJ5IGhlcmUuIFdlIGhhdmUgdG8gbWFrZSBzdXJlIGNsb2JiZXIgaXQgYWZ0ZXIgZ2V0dGlu
ZyB0aGUgCisgICAgICAgIC8vIHZhbHVlIG91dCBvZiBpbmRleEdQUiBhbmQgZW51bWVyYXRvckdQ
UiBiZWNhdXNlIHJlc3VsdFJlZ3MucGF5bG9hZEdQUigpIGNvdWxkIHJldXNlIGVpdGhlciBvZiB0
aG9zZSByZWdpc3RlcnMuCisgICAgICAgIG1faml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6OkFk
ZHJlc3MoYmFzZUdQUiwgSlNPYmplY3Q6OmJ1dHRlcmZseU9mZnNldCgpKSwgcmVzdWx0UmVncy5w
YXlsb2FkR1BSKCkpOwogICAgICAgICBpbnQzMl90IG9mZnNldE9mRmlyc3RQcm9wZXJ0eSA9IHN0
YXRpY19jYXN0PGludDMyX3Q+KG9mZnNldEluQnV0dGVyZmx5KGZpcnN0T3V0T2ZMaW5lT2Zmc2V0
KSkgKiBzaXplb2YoRW5jb2RlZEpTVmFsdWUpOwotICAgICAgICBtX2ppdC5sb2FkMzIoTWFjcm9B
c3NlbWJsZXI6OkJhc2VJbmRleChyZXN1bHRQYXlsb2FkR1BSLCBzY3JhdGNoR1BSLCBNYWNyb0Fz
c2VtYmxlcjo6VGltZXNFaWdodCwgb2Zmc2V0T2ZGaXJzdFByb3BlcnR5ICsgT0JKRUNUX09GRlNF
VE9GKEpTVmFsdWUsIHUuYXNCaXRzLnRhZykpLCByZXN1bHRUYWdHUFIpOwotICAgICAgICBtX2pp
dC5sb2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChyZXN1bHRQYXlsb2FkR1BSLCBzY3Jh
dGNoR1BSLCBNYWNyb0Fzc2VtYmxlcjo6VGltZXNFaWdodCwgb2Zmc2V0T2ZGaXJzdFByb3BlcnR5
ICsgT0JKRUNUX09GRlNFVE9GKEpTVmFsdWUsIHUuYXNCaXRzLnBheWxvYWQpKSwgcmVzdWx0UGF5
bG9hZEdQUik7CisgICAgICAgIG1faml0LmxvYWQzMihNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4
KHJlc3VsdFJlZ3MucGF5bG9hZEdQUigpLCBzY3JhdGNoR1BSLCBNYWNyb0Fzc2VtYmxlcjo6VGlt
ZXNFaWdodCwgb2Zmc2V0T2ZGaXJzdFByb3BlcnR5ICsgT0JKRUNUX09GRlNFVE9GKEpTVmFsdWUs
IHUuYXNCaXRzLnRhZykpLCByZXN1bHRSZWdzLnRhZ0dQUigpKTsKKyAgICAgICAgbV9qaXQubG9h
ZDMyKE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgocmVzdWx0UmVncy5wYXlsb2FkR1BSKCksIHNj
cmF0Y2hHUFIsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc0VpZ2h0LCBvZmZzZXRPZkZpcnN0UHJvcGVy
dHkgKyBPQkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMucGF5bG9hZCkpLCByZXN1bHRS
ZWdzLnBheWxvYWRHUFIoKSk7CiAKICAgICAgICAgZG9uZS5saW5rKCZtX2ppdCk7CiAKLSAgICAg
ICAgYWRkU2xvd1BhdGhHZW5lcmF0b3Ioc2xvd1BhdGhDYWxsKHNsb3dQYXRoLCB0aGlzLCBvcGVy
YXRpb25HZXRCeVZhbENlbGwsIEpTVmFsdWVSZWdzKHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9h
ZEdQUiksIGJhc2VHUFIsIHByb3BlcnR5R1BSKSk7CisgICAgICAgIGFkZFNsb3dQYXRoR2VuZXJh
dG9yKHNsb3dQYXRoQ2FsbChzbG93UGF0aCwgdGhpcywgb3BlcmF0aW9uR2V0QnlWYWxDZWxsLCBy
ZXN1bHRSZWdzLCBiYXNlR1BSLCBwcm9wZXJ0eUdQUikpOwogI2VuZGlmCiAKLSAgICAgICAganNW
YWx1ZVJlc3VsdChyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIsIG5vZGUpOworICAgICAg
ICBqc1ZhbHVlUmVzdWx0KHJlc3VsdFJlZ3MsIG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9
CiAgICAgY2FzZSBHZXRQcm9wZXJ0eUVudW1lcmF0b3I6IHsKQEAgLTUyMzIsNDggKzUwMjIsMTIg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgIH0KIAogICAg
IGNhc2UgTG9nU2hhZG93Q2hpY2tlblByb2xvZ3VlOiB7Ci0gICAgICAgIGZsdXNoUmVnaXN0ZXJz
KCk7Ci0gICAgICAgIHByZXBhcmVGb3JFeHRlcm5hbENhbGwoKTsKLSAgICAgICAgbV9qaXQuZW1p
dFN0b3JlQ29kZU9yaWdpbihub2RlLT5vcmlnaW4uc2VtYW50aWMpOwotCi0gICAgICAgIEdQUlRl
bXBvcmFyeSBzY3JhdGNoMSh0aGlzLCBHUFJJbmZvOjpub25BcmdHUFIwKTsgLy8gVGhpcyBtdXN0
IGJlIGEgbm9uLWFyZ3VtZW50IEdQUi4KLSAgICAgICAgR1BSUmVnIHNjcmF0Y2gxUmVnID0gc2Ny
YXRjaDEuZ3ByKCk7Ci0gICAgICAgIEdQUlRlbXBvcmFyeSBzaGFkb3dQYWNrZXQodGhpcyk7Ci0g
ICAgICAgIEdQUlJlZyBzaGFkb3dQYWNrZXRSZWcgPSBzaGFkb3dQYWNrZXQuZ3ByKCk7Ci0gICAg
ICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKLSAgICAgICAgR1BSUmVnIHNjcmF0Y2gy
UmVnID0gc2NyYXRjaDIuZ3ByKCk7Ci0KLSAgICAgICAgbV9qaXQuZW5zdXJlU2hhZG93Q2hpY2tl
blBhY2tldCgqbV9qaXQudm0oKSwgc2hhZG93UGFja2V0UmVnLCBzY3JhdGNoMVJlZywgc2NyYXRj
aDJSZWcpOwotCi0gICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIHNjb3BlKHRoaXMsIG5vZGUt
PmNoaWxkMSgpKTsKLSAgICAgICAgR1BSUmVnIHNjb3BlUmVnID0gc2NvcGUuZ3ByKCk7Ci0KLSAg
ICAgICAgbV9qaXQubG9nU2hhZG93Q2hpY2tlblByb2xvZ3VlUGFja2V0KHNoYWRvd1BhY2tldFJl
Zywgc2NyYXRjaDFSZWcsIHNjb3BlUmVnKTsKLSAgICAgICAgbm9SZXN1bHQobm9kZSk7CisgICAg
ICAgIGNvbXBpbGVMb2dTaGFkb3dDaGlja2VuUHJvbG9ndWUobm9kZSk7CiAgICAgICAgIGJyZWFr
OwogICAgIH0KIAogICAgIGNhc2UgTG9nU2hhZG93Q2hpY2tlblRhaWw6IHsKLSAgICAgICAgZmx1
c2hSZWdpc3RlcnMoKTsKLSAgICAgICAgcHJlcGFyZUZvckV4dGVybmFsQ2FsbCgpOwotICAgICAg
ICBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlSW5kZXggPSBtX2ppdC5lbWl0U3RvcmVDb2RlT3JpZ2lu
KG5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7Ci0KLSAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gx
KHRoaXMsIEdQUkluZm86Om5vbkFyZ0dQUjApOyAvLyBUaGlzIG11c3QgYmUgYSBub24tYXJndW1l
bnQgR1BSLgotICAgICAgICBHUFJSZWcgc2NyYXRjaDFSZWcgPSBzY3JhdGNoMS5ncHIoKTsKLSAg
ICAgICAgR1BSVGVtcG9yYXJ5IHNoYWRvd1BhY2tldCh0aGlzKTsKLSAgICAgICAgR1BSUmVnIHNo
YWRvd1BhY2tldFJlZyA9IHNoYWRvd1BhY2tldC5ncHIoKTsKLSAgICAgICAgR1BSVGVtcG9yYXJ5
IHNjcmF0Y2gyKHRoaXMpOwotICAgICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3JhdGNoMi5n
cHIoKTsKLQotICAgICAgICBtX2ppdC5lbnN1cmVTaGFkb3dDaGlja2VuUGFja2V0KCptX2ppdC52
bSgpLCBzaGFkb3dQYWNrZXRSZWcsIHNjcmF0Y2gxUmVnLCBzY3JhdGNoMlJlZyk7Ci0KLSAgICAg
ICAgSlNWYWx1ZU9wZXJhbmQgdGhpc1ZhbHVlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAg
ICAgSlNWYWx1ZVJlZ3MgdGhpc1JlZ3MgPSB0aGlzVmFsdWUuanNWYWx1ZVJlZ3MoKTsKLSAgICAg
ICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgc2NvcGUodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAg
ICAgICBHUFJSZWcgc2NvcGVSZWcgPSBzY29wZS5ncHIoKTsKLQotICAgICAgICBtX2ppdC5sb2dT
aGFkb3dDaGlja2VuVGFpbFBhY2tldChzaGFkb3dQYWNrZXRSZWcsIHRoaXNSZWdzLCBzY29wZVJl
ZywgbV9qaXQuY29kZUJsb2NrKCksIGNhbGxTaXRlSW5kZXgpOwotICAgICAgICBub1Jlc3VsdChu
b2RlKTsKKyAgICAgICAgY29tcGlsZUxvZ1NoYWRvd0NoaWNrZW5UYWlsKG5vZGUpOwogICAgICAg
ICBicmVhazsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IGEwODAyNTAwMWZmZjE2OTU4MWZiMjIwM2FhZTMzZjYz
ZTViZGQ3NGYuLjA0ZTE2ZTQ0MmE4MTg0NjgwMDNlZmU1OTA0Zjk5M2ZiOTU0NGZjYWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApA
QCAtMjQ0NiwxMSArMjQ0Niw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSog
bm9kZSkKICAgICAgICAgICAgIFNwZWN1bGF0ZURvdWJsZU9wZXJhbmQgdmFsdWUodGhpcywgbm9k
ZS0+Y2hpbGQxKCkpOwogICAgICAgICAgICAgRlBSUmVnIHZhbHVlRlBSID0gdmFsdWUuZnByKCk7
CiAgICAgICAgICAgICAKKyAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgICAg
ICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CiAgICAgICAgICAgICBHUFJSZWcg
cmVzdWx0R1BSID0gcmVzdWx0LmdwcigpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBmbHVz
aFJlZ2lzdGVycygpOwotICAgICAgICAgICAgCiAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9w
ZXJhdGlvbkNvbnZlcnREb3VibGVUb0ludDUyLCByZXN1bHRHUFIsIHZhbHVlRlBSKTsKICAgICAg
ICAgICAgIAogICAgICAgICAgICAgREZHX1RZUEVfQ0hFQ0tfV0lUSF9FWElUX0tJTkQoSW50NTJP
dmVyZmxvdywKQEAgLTI5MzQsMTAgKzI5MzIsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIEpTVmFsdWVPcGVyYW5kIHN1YnNjcmlwdCh0aGlzLCBu
b2RlLT5jaGlsZDMoKSk7CiAgICAgICAgIEdQUlJlZyBzdWJzY3JpcHRHUFIgPSBzdWJzY3JpcHQu
Z3ByKCk7CiAKKyAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKICAgICAgICAgR1BSRmx1c2hlZENh
bGxSZXN1bHQgcmVzdWx0KHRoaXMpOwogICAgICAgICBHUFJSZWcgcmVzdWx0R1BSID0gcmVzdWx0
LmdwcigpOwotCi0gICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgIGNhbGxPcGVyYXRp
b24ob3BlcmF0aW9uR2V0QnlWYWxXaXRoVGhpcywgcmVzdWx0R1BSLCBiYXNlR1BSLCB0aGlzVmFs
dWVHUFIsIHN1YnNjcmlwdEdQUik7CiAgICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7CiAK
QEAgLTMyNTUsMTAgKzMyNTIsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUq
IG5vZGUpCiAgICAgICAgICAgICAgICAgYXJnR1BSc1tpXSA9IGFyZ3NbaV0tPmdwcigpOwogICAg
ICAgICAgICAgfQogICAgICAgICAgICAgCisgICAgICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwog
ICAgICAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOwogICAgICAgICAg
ICAgcmVzdWx0R1BSID0gcmVzdWx0LmdwcigpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBm
bHVzaFJlZ2lzdGVycygpOwogICAgICAgICAgICAgY2FsbFNsb3dQYXRoKCk7CiAgICAgICAgICAg
ICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwogICAgICAgICAgICAgCkBAIC0zNDA0LDkgKzM0MDAs
OSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGlm
IChub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgIT0gSW50MzJVc2UpIHsKICAgICAgICAgICAgIEpT
VmFsdWVPcGVyYW5kIG9wZXJhbmQodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICAgICAg
R1BSUmVnIG9wZXJhbmRHUFIgPSBvcGVyYW5kLmdwcigpOworICAgICAgICAgICAgZmx1c2hSZWdp
c3RlcnMoKTsKICAgICAgICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsK
ICAgICAgICAgICAgIEdQUlJlZyByZXN1bHRHUFIgPSByZXN1bHQuZ3ByKCk7Ci0gICAgICAgICAg
ICBmbHVzaFJlZ2lzdGVycygpOwogICAgICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25B
dG9taWNzSXNMb2NrRnJlZSwgcmVzdWx0R1BSLCBvcGVyYW5kR1BSKTsKICAgICAgICAgICAgIG1f
aml0LmV4Y2VwdGlvbkNoZWNrKCk7CiAgICAgICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdEdQ
Uiwgbm9kZSk7CkBAIC0zNDI5LDE5OSArMzQyNSwxOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlKE5vZGUqIG5vZGUpCiAgICAgfQogCiAgICAgY2FzZSBSZWdFeHBFeGVjOiB7Ci0gICAg
ICAgIGJvb2wgc2FtcGxlID0gZmFsc2U7Ci0KLSAgICAgICAgaWYgKHNhbXBsZSkKLSAgICAgICAg
ICAgIG1faml0LmluY3JlbWVudFN1cGVyU2FtcGxlckNvdW50KCk7Ci0gICAgICAgIAotICAgICAg
ICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBnbG9iYWxPYmplY3QodGhpcywgbm9kZS0+Y2hpbGQxKCkp
OwotICAgICAgICBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSID0gZ2xvYmFsT2JqZWN0LmdwcigpOwot
ICAgICAgICAKLSAgICAgICAgaWYgKG5vZGUtPmNoaWxkMigpLnVzZUtpbmQoKSA9PSBSZWdFeHBP
YmplY3RVc2UpIHsKLSAgICAgICAgICAgIGlmIChub2RlLT5jaGlsZDMoKS51c2VLaW5kKCkgPT0g
U3RyaW5nVXNlKSB7Ci0gICAgICAgICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0
aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJh
bmQgYXJndW1lbnQodGhpcywgbm9kZS0+Y2hpbGQzKCkpOwotICAgICAgICAgICAgICAgIEdQUlJl
ZyBiYXNlR1BSID0gYmFzZS5ncHIoKTsKLSAgICAgICAgICAgICAgICBHUFJSZWcgYXJndW1lbnRH
UFIgPSBhcmd1bWVudC5ncHIoKTsKLSAgICAgICAgICAgICAgICBzcGVjdWxhdGVSZWdFeHBPYmpl
Y3Qobm9kZS0+Y2hpbGQyKCksIGJhc2VHUFIpOwotICAgICAgICAgICAgICAgIHNwZWN1bGF0ZVN0
cmluZyhub2RlLT5jaGlsZDMoKSwgYXJndW1lbnRHUFIpOwotICAgICAgICAgICAgICAgIAotICAg
ICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgICAgICAgICAgICAgR1BSRmx1c2hl
ZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOwotICAgICAgICAgICAgICAgIGNhbGxPcGVyYXRpb24o
b3BlcmF0aW9uUmVnRXhwRXhlY1N0cmluZywgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmplY3RHUFIs
IGJhc2VHUFIsIGFyZ3VtZW50R1BSKTsKLSAgICAgICAgICAgICAgICBtX2ppdC5leGNlcHRpb25D
aGVjaygpOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGpzVmFsdWVSZXN1bHQo
cmVzdWx0LmdwcigpLCBub2RlKTsKLQotICAgICAgICAgICAgICAgIGlmIChzYW1wbGUpCi0gICAg
ICAgICAgICAgICAgICAgIG1faml0LmRlY3JlbWVudFN1cGVyU2FtcGxlckNvdW50KCk7Ci0gICAg
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAKLSAgICAgICAg
ICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAg
ICAgICAgICAgSlNWYWx1ZU9wZXJhbmQgYXJndW1lbnQodGhpcywgbm9kZS0+Y2hpbGQzKCkpOwot
ICAgICAgICAgICAgR1BSUmVnIGJhc2VHUFIgPSBiYXNlLmdwcigpOwotICAgICAgICAgICAgR1BS
UmVnIGFyZ3VtZW50R1BSID0gYXJndW1lbnQuZ3ByKCk7Ci0gICAgICAgICAgICBzcGVjdWxhdGVS
ZWdFeHBPYmplY3Qobm9kZS0+Y2hpbGQyKCksIGJhc2VHUFIpOwotICAgICAgICAKLSAgICAgICAg
ICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCBy
ZXN1bHQodGhpcyk7Ci0gICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblJlZ0V4cEV4
ZWMsIHJlc3VsdC5ncHIoKSwgZ2xvYmFsT2JqZWN0R1BSLCBiYXNlR1BSLCBhcmd1bWVudEdQUik7
Ci0gICAgICAgICAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwotICAgICAgICAKLSAgICAgICAg
ICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsKLQotICAgICAgICAgICAgaWYg
KHNhbXBsZSkKLSAgICAgICAgICAgICAgICBtX2ppdC5kZWNyZW1lbnRTdXBlclNhbXBsZXJDb3Vu
dCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIEpT
VmFsdWVPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICBKU1ZhbHVl
T3BlcmFuZCBhcmd1bWVudCh0aGlzLCBub2RlLT5jaGlsZDMoKSk7Ci0gICAgICAgIEdQUlJlZyBi
YXNlR1BSID0gYmFzZS5ncHIoKTsKLSAgICAgICAgR1BSUmVnIGFyZ3VtZW50R1BSID0gYXJndW1l
bnQuZ3ByKCk7Ci0gICAgICAgIAotICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwotICAgICAgICBH
UFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7Ci0gICAgICAgIGNhbGxPcGVyYXRpb24o
b3BlcmF0aW9uUmVnRXhwRXhlY0dlbmVyaWMsIHJlc3VsdC5ncHIoKSwgZ2xvYmFsT2JqZWN0R1BS
LCBiYXNlR1BSLCBhcmd1bWVudEdQUik7Ci0gICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7
Ci0gICAgICAgIAotICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdC5ncHIoKSwgbm9kZSk7Ci0K
LSAgICAgICAgaWYgKHNhbXBsZSkKLSAgICAgICAgICAgIG1faml0LmRlY3JlbWVudFN1cGVyU2Ft
cGxlckNvdW50KCk7CisgICAgICAgIGNvbXBpbGVSZWdFeHBFeGVjKG5vZGUpOwogICAgICAgICBi
cmVhazsKICAgICB9CiAKICAgICBjYXNlIFJlZ0V4cFRlc3Q6IHsKLSAgICAgICAgU3BlY3VsYXRl
Q2VsbE9wZXJhbmQgZ2xvYmFsT2JqZWN0KHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAg
R1BSUmVnIGdsb2JhbE9iamVjdEdQUiA9IGdsb2JhbE9iamVjdC5ncHIoKTsKLSAgICAgICAgCi0g
ICAgICAgIGlmIChub2RlLT5jaGlsZDIoKS51c2VLaW5kKCkgPT0gUmVnRXhwT2JqZWN0VXNlKSB7
Ci0gICAgICAgICAgICBpZiAobm9kZS0+Y2hpbGQzKCkudXNlS2luZCgpID09IFN0cmluZ1VzZSkg
ewotICAgICAgICAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+
Y2hpbGQyKCkpOwotICAgICAgICAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGFyZ3VtZW50
KHRoaXMsIG5vZGUtPmNoaWxkMygpKTsKLSAgICAgICAgICAgICAgICBHUFJSZWcgYmFzZUdQUiA9
IGJhc2UuZ3ByKCk7Ci0gICAgICAgICAgICAgICAgR1BSUmVnIGFyZ3VtZW50R1BSID0gYXJndW1l
bnQuZ3ByKCk7Ci0gICAgICAgICAgICAgICAgc3BlY3VsYXRlUmVnRXhwT2JqZWN0KG5vZGUtPmNo
aWxkMigpLCBiYXNlR1BSKTsKLSAgICAgICAgICAgICAgICBzcGVjdWxhdGVTdHJpbmcobm9kZS0+
Y2hpbGQzKCksIGFyZ3VtZW50R1BSKTsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAg
ICBmbHVzaFJlZ2lzdGVycygpOwotICAgICAgICAgICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0
IHJlc3VsdCh0aGlzKTsKLSAgICAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblJl
Z0V4cFRlc3RTdHJpbmcsIHJlc3VsdC5ncHIoKSwgZ2xvYmFsT2JqZWN0R1BSLCBiYXNlR1BSLCBh
cmd1bWVudEdQUik7Ci0gICAgICAgICAgICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKLSAg
ICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBtX2ppdC5vcjMyKFRydXN0ZWRJbW0zMihW
YWx1ZUZhbHNlKSwgcmVzdWx0LmdwcigpKTsKLSAgICAgICAgICAgICAgICBqc1ZhbHVlUmVzdWx0
KHJlc3VsdC5ncHIoKSwgbm9kZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2Uo
dGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICAgICAgSlNWYWx1ZU9wZXJhbmQgYXJndW1l
bnQodGhpcywgbm9kZS0+Y2hpbGQzKCkpOwotICAgICAgICAgICAgR1BSUmVnIGJhc2VHUFIgPSBi
YXNlLmdwcigpOwotICAgICAgICAgICAgR1BSUmVnIGFyZ3VtZW50R1BSID0gYXJndW1lbnQuZ3By
KCk7Ci0gICAgICAgICAgICBzcGVjdWxhdGVSZWdFeHBPYmplY3Qobm9kZS0+Y2hpbGQyKCksIGJh
c2VHUFIpOwotICAgICAgICAKLSAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgICAg
ICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7Ci0gICAgICAgICAgICBjYWxs
T3BlcmF0aW9uKG9wZXJhdGlvblJlZ0V4cFRlc3QsIHJlc3VsdC5ncHIoKSwgZ2xvYmFsT2JqZWN0
R1BSLCBiYXNlR1BSLCBhcmd1bWVudEdQUik7Ci0gICAgICAgICAgICBtX2ppdC5leGNlcHRpb25D
aGVjaygpOwotICAgICAgICAKLSAgICAgICAgICAgIG1faml0Lm9yMzIoVHJ1c3RlZEltbTMyKFZh
bHVlRmFsc2UpLCByZXN1bHQuZ3ByKCkpOwotICAgICAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1
bHQuZ3ByKCksIG5vZGUpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAg
Ci0gICAgICAgIEpTVmFsdWVPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAg
ICAgICBKU1ZhbHVlT3BlcmFuZCBhcmd1bWVudCh0aGlzLCBub2RlLT5jaGlsZDMoKSk7Ci0gICAg
ICAgIEdQUlJlZyBiYXNlR1BSID0gYmFzZS5ncHIoKTsKLSAgICAgICAgR1BSUmVnIGFyZ3VtZW50
R1BSID0gYXJndW1lbnQuZ3ByKCk7Ci0gICAgICAgIAotICAgICAgICBmbHVzaFJlZ2lzdGVycygp
OwotICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7Ci0gICAgICAgIGNh
bGxPcGVyYXRpb24ob3BlcmF0aW9uUmVnRXhwVGVzdEdlbmVyaWMsIHJlc3VsdC5ncHIoKSwgZ2xv
YmFsT2JqZWN0R1BSLCBiYXNlR1BSLCBhcmd1bWVudEdQUik7Ci0gICAgICAgIG1faml0LmV4Y2Vw
dGlvbkNoZWNrKCk7Ci0gICAgICAgIAotICAgICAgICBtX2ppdC5vcjMyKFRydXN0ZWRJbW0zMihW
YWx1ZUZhbHNlKSwgcmVzdWx0LmdwcigpKTsKLSAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHQu
Z3ByKCksIG5vZGUsIERhdGFGb3JtYXRKU0Jvb2xlYW4pOworICAgICAgICBjb21waWxlUmVnRXhw
VGVzdChub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAgICAgY2FzZSBTdHJpbmdSZXBs
YWNlOgogICAgIGNhc2UgU3RyaW5nUmVwbGFjZVJlZ0V4cDogewotICAgICAgICBib29sIHNhbXBs
ZSA9IGZhbHNlOwotCi0gICAgICAgIGlmIChzYW1wbGUpCi0gICAgICAgICAgICBtX2ppdC5pbmNy
ZW1lbnRTdXBlclNhbXBsZXJDb3VudCgpOwotICAgICAgICAKLSAgICAgICAgaWYgKG5vZGUtPmNo
aWxkMSgpLnVzZUtpbmQoKSA9PSBTdHJpbmdVc2UKLSAgICAgICAgICAgICYmIG5vZGUtPmNoaWxk
MigpLnVzZUtpbmQoKSA9PSBSZWdFeHBPYmplY3RVc2UKLSAgICAgICAgICAgICYmIG5vZGUtPmNo
aWxkMygpLnVzZUtpbmQoKSA9PSBTdHJpbmdVc2UpIHsKLSAgICAgICAgICAgIGlmIChKU1N0cmlu
ZyogcmVwbGFjZSA9IG5vZGUtPmNoaWxkMygpLT5keW5hbWljQ2FzdENvbnN0YW50PEpTU3RyaW5n
Kj4oKm1faml0LnZtKCkpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFyZXBsYWNlLT5sZW5ndGgo
KSkgewotICAgICAgICAgICAgICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBzdHJpbmcodGhp
cywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICAgICAgICAgICAgICBTcGVjdWxhdGVDZWxsT3Bl
cmFuZCByZWdFeHAodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICAgICAgICAgICAgICBH
UFJSZWcgc3RyaW5nR1BSID0gc3RyaW5nLmdwcigpOwotICAgICAgICAgICAgICAgICAgICBHUFJS
ZWcgcmVnRXhwR1BSID0gcmVnRXhwLmdwcigpOwotICAgICAgICAgICAgICAgICAgICBzcGVjdWxh
dGVTdHJpbmcobm9kZS0+Y2hpbGQxKCksIHN0cmluZ0dQUik7Ci0gICAgICAgICAgICAgICAgICAg
IHNwZWN1bGF0ZVJlZ0V4cE9iamVjdChub2RlLT5jaGlsZDIoKSwgcmVnRXhwR1BSKTsKLQotICAg
ICAgICAgICAgICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwotICAgICAgICAgICAgICAgICAgICBH
UFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7Ci0gICAgICAgICAgICAgICAgICAgIGNh
bGxPcGVyYXRpb24oCi0gICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb25TdHJpbmdQcm90
b0Z1bmNSZXBsYWNlUmVnRXhwRW1wdHlTdHIsIHJlc3VsdC5ncHIoKSwgc3RyaW5nR1BSLAotICAg
ICAgICAgICAgICAgICAgICAgICAgcmVnRXhwR1BSKTsKLSAgICAgICAgICAgICAgICAgICAgbV9q
aXQuZXhjZXB0aW9uQ2hlY2soKTsKLSAgICAgICAgICAgICAgICAgICAgY2VsbFJlc3VsdChyZXN1
bHQuZ3ByKCksIG5vZGUpOwotICAgICAgICAgICAgICAgICAgICBpZiAoc2FtcGxlKQotICAgICAg
ICAgICAgICAgICAgICAgICAgbV9qaXQuZGVjcmVtZW50U3VwZXJTYW1wbGVyQ291bnQoKTsKLSAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
fQotICAgICAgICAgICAgCi0gICAgICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBzdHJpbmco
dGhpcywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQg
cmVnRXhwKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKLSAgICAgICAgICAgIFNwZWN1bGF0ZUNlbGxP
cGVyYW5kIHJlcGxhY2UodGhpcywgbm9kZS0+Y2hpbGQzKCkpOwotICAgICAgICAgICAgR1BSUmVn
IHN0cmluZ0dQUiA9IHN0cmluZy5ncHIoKTsKLSAgICAgICAgICAgIEdQUlJlZyByZWdFeHBHUFIg
PSByZWdFeHAuZ3ByKCk7Ci0gICAgICAgICAgICBHUFJSZWcgcmVwbGFjZUdQUiA9IHJlcGxhY2Uu
Z3ByKCk7Ci0gICAgICAgICAgICBzcGVjdWxhdGVTdHJpbmcobm9kZS0+Y2hpbGQxKCksIHN0cmlu
Z0dQUik7Ci0gICAgICAgICAgICBzcGVjdWxhdGVSZWdFeHBPYmplY3Qobm9kZS0+Y2hpbGQyKCks
IHJlZ0V4cEdQUik7Ci0gICAgICAgICAgICBzcGVjdWxhdGVTdHJpbmcobm9kZS0+Y2hpbGQzKCks
IHJlcGxhY2VHUFIpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBmbHVzaFJlZ2lzdGVycygp
OwotICAgICAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOwotICAgICAg
ICAgICAgY2FsbE9wZXJhdGlvbigKLSAgICAgICAgICAgICAgICBvcGVyYXRpb25TdHJpbmdQcm90
b0Z1bmNSZXBsYWNlUmVnRXhwU3RyaW5nLCByZXN1bHQuZ3ByKCksIHN0cmluZ0dQUiwgcmVnRXhw
R1BSLAotICAgICAgICAgICAgICAgIHJlcGxhY2VHUFIpOwotICAgICAgICAgICAgbV9qaXQuZXhj
ZXB0aW9uQ2hlY2soKTsKLSAgICAgICAgICAgIGNlbGxSZXN1bHQocmVzdWx0LmdwcigpLCBub2Rl
KTsKLSAgICAgICAgICAgIGlmIChzYW1wbGUpCi0gICAgICAgICAgICAgICAgbV9qaXQuZGVjcmVt
ZW50U3VwZXJTYW1wbGVyQ291bnQoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0K
LSAgICAgICAgLy8gSWYgd2UgZml4ZWQgdXAgdGhlIGVkZ2Ugb2YgY2hpbGQyLCB3ZSBpbnNlcnRl
ZCBhIENoZWNrKEBjaGlsZDIsIFN0cmluZykuCi0gICAgICAgIE9wZXJhbmRTcGVjdWxhdGlvbk1v
ZGUgY2hpbGQyU3BlY3VsYXRpb25Nb2RlID0gQXV0b21hdGljT3BlcmFuZFNwZWN1bGF0aW9uOwot
ICAgICAgICBpZiAobm9kZS0+Y2hpbGQyKCkudXNlS2luZCgpID09IFN0cmluZ1VzZSkKLSAgICAg
ICAgICAgIGNoaWxkMlNwZWN1bGF0aW9uTW9kZSA9IE1hbnVhbE9wZXJhbmRTcGVjdWxhdGlvbjsK
LQotICAgICAgICBKU1ZhbHVlT3BlcmFuZCBzdHJpbmcodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwot
ICAgICAgICBKU1ZhbHVlT3BlcmFuZCBzZWFyY2godGhpcywgbm9kZS0+Y2hpbGQyKCksIGNoaWxk
MlNwZWN1bGF0aW9uTW9kZSk7Ci0gICAgICAgIEpTVmFsdWVPcGVyYW5kIHJlcGxhY2UodGhpcywg
bm9kZS0+Y2hpbGQzKCkpOwotICAgICAgICBHUFJSZWcgc3RyaW5nR1BSID0gc3RyaW5nLmdwcigp
OwotICAgICAgICBHUFJSZWcgc2VhcmNoR1BSID0gc2VhcmNoLmdwcigpOwotICAgICAgICBHUFJS
ZWcgcmVwbGFjZUdQUiA9IHJlcGxhY2UuZ3ByKCk7Ci0gICAgICAgIAotICAgICAgICBmbHVzaFJl
Z2lzdGVycygpOwotICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7Ci0g
ICAgICAgIGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICBvcGVyYXRpb25TdHJpbmdQcm90b0Z1
bmNSZXBsYWNlR2VuZXJpYywgcmVzdWx0LmdwcigpLCBzdHJpbmdHUFIsIHNlYXJjaEdQUiwKLSAg
ICAgICAgICAgIHJlcGxhY2VHUFIpOwotICAgICAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwot
ICAgICAgICBjZWxsUmVzdWx0KHJlc3VsdC5ncHIoKSwgbm9kZSk7Ci0gICAgICAgIGlmIChzYW1w
bGUpCi0gICAgICAgICAgICBtX2ppdC5kZWNyZW1lbnRTdXBlclNhbXBsZXJDb3VudCgpOworICAg
ICAgICBjb21waWxlU3RyaW5nUmVwbGFjZShub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQog
ICAgICAgICAKQEAgLTM4NDUsMjUgKzM2NjAsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKE5vZGUqIG5vZGUpCiAgICAgfQogICAgICAgICAKICAgICBjYXNlIFRvUHJpbWl0aXZlOiB7
Ci0gICAgICAgIERGR19BU1NFUlQobV9qaXQuZ3JhcGgoKSwgbm9kZSwgbm9kZS0+Y2hpbGQxKCku
dXNlS2luZCgpID09IFVudHlwZWRVc2UpOwotICAgICAgICBKU1ZhbHVlT3BlcmFuZCBhcmd1bWVu
dCh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHQodGhp
cywgUmV1c2UsIGFyZ3VtZW50KTsKLSAgICAgICAgCi0gICAgICAgIEdQUlJlZyBhcmd1bWVudEdQ
UiA9IGFyZ3VtZW50LmdwcigpOwotICAgICAgICBHUFJSZWcgcmVzdWx0R1BSID0gcmVzdWx0Lmdw
cigpOwotICAgICAgICAKLSAgICAgICAgYXJndW1lbnQudXNlKCk7Ci0gICAgICAgIAotICAgICAg
ICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBhbHJlYWR5UHJpbWl0aXZlID0gbV9qaXQuYnJhbmNoSWZO
b3RDZWxsKEpTVmFsdWVSZWdzKGFyZ3VtZW50R1BSKSk7Ci0gICAgICAgIE1hY3JvQXNzZW1ibGVy
OjpKdW1wIG5vdFByaW1pdGl2ZSA9IG1faml0LmJyYW5jaElmT2JqZWN0KGFyZ3VtZW50R1BSKTsK
LSAgICAgICAgCi0gICAgICAgIGFscmVhZHlQcmltaXRpdmUubGluaygmbV9qaXQpOwotICAgICAg
ICBtX2ppdC5tb3ZlKGFyZ3VtZW50R1BSLCByZXN1bHRHUFIpOwotICAgICAgICAKLSAgICAgICAg
YWRkU2xvd1BhdGhHZW5lcmF0b3IoCi0gICAgICAgICAgICBzbG93UGF0aENhbGwobm90UHJpbWl0
aXZlLCB0aGlzLCBvcGVyYXRpb25Ub1ByaW1pdGl2ZSwgcmVzdWx0R1BSLCBhcmd1bWVudEdQUikp
OwotICAgICAgICAKLSAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHRHUFIsIG5vZGUsIFVzZUNo
aWxkcmVuQ2FsbGVkRXhwbGljaXRseSk7CisgICAgICAgIGNvbXBpbGVUb1ByaW1pdGl2ZShub2Rl
KTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCkBAIC01NDUyLDE4ICs1MjQ5LDcgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBicmVhazsKICAgICB9
CiAgICAgY2FzZSBIYXNHZW5lcmljUHJvcGVydHk6IHsKLSAgICAgICAgSlNWYWx1ZU9wZXJhbmQg
YmFzZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5k
IHByb3BlcnR5KHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKLQotICAgICAgICBKU1ZhbHVlUmVncyBi
YXNlUmVncyA9IGJhc2UuanNWYWx1ZVJlZ3MoKTsKLSAgICAgICAgR1BSUmVnIHByb3BlcnR5R1BS
ID0gcHJvcGVydHkuZ3ByKCk7Ci0KLSAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAgICAg
R1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOwotICAgICAgICBHUFJSZWcgcmVzdWx0
R1BSID0gcmVzdWx0LmdwcigpOwotICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkhhc0dl
bmVyaWNQcm9wZXJ0eSwgcmVzdWx0R1BSLCBiYXNlUmVncywgcHJvcGVydHlHUFIpOwotICAgICAg
ICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwotICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdEdQ
Uiwgbm9kZSwgRGF0YUZvcm1hdEpTQm9vbGVhbik7CisgICAgICAgIGNvbXBpbGVIYXNHZW5lcmlj
UHJvcGVydHkobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIEhhc1N0cnVj
dHVyZVByb3BlcnR5OiB7CkBAIC01NzAxLDQ4ICs1NDg3LDEyIEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICB9CiAgICAgICAgIAogICAgIGNhc2UgTG9nU2hh
ZG93Q2hpY2tlblByb2xvZ3VlOiB7Ci0gICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgICAg
IHByZXBhcmVGb3JFeHRlcm5hbENhbGwoKTsKLSAgICAgICAgbV9qaXQuZW1pdFN0b3JlQ29kZU9y
aWdpbihub2RlLT5vcmlnaW4uc2VtYW50aWMpOwotCi0gICAgICAgIEdQUlRlbXBvcmFyeSBzY3Jh
dGNoMSh0aGlzLCBHUFJJbmZvOjpub25BcmdHUFIwKTsgLy8gVGhpcyBtdXN0IGJlIGEgbm9uLWFy
Z3VtZW50IEdQUi4KLSAgICAgICAgR1BSUmVnIHNjcmF0Y2gxUmVnID0gc2NyYXRjaDEuZ3ByKCk7
Ci0gICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKLSAgICAgICAgR1BSUmVnIHNj
cmF0Y2gyUmVnID0gc2NyYXRjaDIuZ3ByKCk7Ci0gICAgICAgIEdQUlRlbXBvcmFyeSBzaGFkb3dQ
YWNrZXQodGhpcyk7Ci0gICAgICAgIEdQUlJlZyBzaGFkb3dQYWNrZXRSZWcgPSBzaGFkb3dQYWNr
ZXQuZ3ByKCk7Ci0KLSAgICAgICAgbV9qaXQuZW5zdXJlU2hhZG93Q2hpY2tlblBhY2tldCgqbV9q
aXQudm0oKSwgc2hhZG93UGFja2V0UmVnLCBzY3JhdGNoMVJlZywgc2NyYXRjaDJSZWcpOwotCi0g
ICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIHNjb3BlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsK
LSAgICAgICAgR1BSUmVnIHNjb3BlUmVnID0gc2NvcGUuZ3ByKCk7Ci0KLSAgICAgICAgbV9qaXQu
bG9nU2hhZG93Q2hpY2tlblByb2xvZ3VlUGFja2V0KHNoYWRvd1BhY2tldFJlZywgc2NyYXRjaDFS
ZWcsIHNjb3BlUmVnKTsKLSAgICAgICAgbm9SZXN1bHQobm9kZSk7CisgICAgICAgIGNvbXBpbGVM
b2dTaGFkb3dDaGlja2VuUHJvbG9ndWUobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIAog
ICAgIGNhc2UgTG9nU2hhZG93Q2hpY2tlblRhaWw6IHsKLSAgICAgICAgZmx1c2hSZWdpc3RlcnMo
KTsKLSAgICAgICAgcHJlcGFyZUZvckV4dGVybmFsQ2FsbCgpOwotICAgICAgICBDYWxsU2l0ZUlu
ZGV4IGNhbGxTaXRlSW5kZXggPSBtX2ppdC5lbWl0U3RvcmVDb2RlT3JpZ2luKG5vZGUtPm9yaWdp
bi5zZW1hbnRpYyk7Ci0KLSAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gxKHRoaXMsIEdQUklu
Zm86Om5vbkFyZ0dQUjApOyAvLyBUaGlzIG11c3QgYmUgYSBub24tYXJndW1lbnQgR1BSLgotICAg
ICAgICBHUFJSZWcgc2NyYXRjaDFSZWcgPSBzY3JhdGNoMS5ncHIoKTsKLSAgICAgICAgR1BSVGVt
cG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOwotICAgICAgICBHUFJSZWcgc2NyYXRjaDJSZWcgPSBzY3Jh
dGNoMi5ncHIoKTsKLSAgICAgICAgR1BSVGVtcG9yYXJ5IHNoYWRvd1BhY2tldCh0aGlzKTsKLSAg
ICAgICAgR1BSUmVnIHNoYWRvd1BhY2tldFJlZyA9IHNoYWRvd1BhY2tldC5ncHIoKTsKLQotICAg
ICAgICBtX2ppdC5lbnN1cmVTaGFkb3dDaGlja2VuUGFja2V0KCptX2ppdC52bSgpLCBzaGFkb3dQ
YWNrZXRSZWcsIHNjcmF0Y2gxUmVnLCBzY3JhdGNoMlJlZyk7Ci0KLSAgICAgICAgSlNWYWx1ZU9w
ZXJhbmQgdGhpc1ZhbHVlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgSlNWYWx1ZVJl
Z3MgdGhpc1JlZ3MgPSBKU1ZhbHVlUmVncyh0aGlzVmFsdWUuZ3ByKCkpOwotICAgICAgICBTcGVj
dWxhdGVDZWxsT3BlcmFuZCBzY29wZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgIEdQ
UlJlZyBzY29wZVJlZyA9IHNjb3BlLmdwcigpOwotCi0gICAgICAgIG1faml0LmxvZ1NoYWRvd0No
aWNrZW5UYWlsUGFja2V0KHNoYWRvd1BhY2tldFJlZywgdGhpc1JlZ3MsIHNjb3BlUmVnLCBtX2pp
dC5jb2RlQmxvY2soKSwgY2FsbFNpdGVJbmRleCk7Ci0gICAgICAgIG5vUmVzdWx0KG5vZGUpOwor
ICAgICAgICBjb21waWxlTG9nU2hhZG93Q2hpY2tlblRhaWwobm9kZSk7CiAgICAgICAgIGJyZWFr
OwogICAgIH0KIApAQCAtNTk3NSwxMSArNTcyNSw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnNw
ZWN1bGF0ZURvdWJsZVJlcEFueUludChFZGdlIGVkZ2UpCiAgICAgU3BlY3VsYXRlRG91YmxlT3Bl
cmFuZCB2YWx1ZSh0aGlzLCBlZGdlKTsKICAgICBGUFJSZWcgdmFsdWVGUFIgPSB2YWx1ZS5mcHIo
KTsKICAgICAKKyAgICBmbHVzaFJlZ2lzdGVycygpOwogICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0
IHJlc3VsdCh0aGlzKTsKICAgICBHUFJSZWcgcmVzdWx0R1BSID0gcmVzdWx0LmdwcigpOwotICAg
IAotICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgCiAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRp
b25Db252ZXJ0RG91YmxlVG9JbnQ1MiwgcmVzdWx0R1BSLCB2YWx1ZUZQUik7CiAgICAgCiAgICAg
REZHX1RZUEVfQ0hFQ0soCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TExvd2VyREZHVG9CMy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZH
VG9CMy5jcHAKaW5kZXggZjYwMmM1Zjg5OTVjNjYyNGUwZGM2YmIwNWU1ZWIzM2Y3ZTE2NmI2Yy4u
NjI3MTYzODE5ZTJhYmJjYjc3ZmQ2YzIxNjkzNTViNTRhMTIyNTc5OSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcApAQCAtMTAzMjAsNyArMTAzMjAs
NyBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAgICAgICAgICAgICAgICBMVmFsdWUgcmVn
RXhwID0gbG93UmVnRXhwT2JqZWN0KG1fbm9kZS0+Y2hpbGQyKCkpOwogCiAgICAgICAgICAgICAg
ICAgICAgIExWYWx1ZSByZXN1bHQgPSB2bUNhbGwoCi0gICAgICAgICAgICAgICAgICAgICAgICBJ
bnQ2NCwgbV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvblN0cmluZ1Byb3RvRnVuY1JlcGxhY2VSZWdF
eHBFbXB0eVN0ciksCisgICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyVHlwZSgpLCBtX291
dC5vcGVyYXRpb24ob3BlcmF0aW9uU3RyaW5nUHJvdG9GdW5jUmVwbGFjZVJlZ0V4cEVtcHR5U3Ry
KSwKICAgICAgICAgICAgICAgICAgICAgICAgIG1fY2FsbEZyYW1lLCBzdHJpbmcsIHJlZ0V4cCk7
CiAKICAgICAgICAgICAgICAgICAgICAgc2V0SlNWYWx1ZShyZXN1bHQpOwpAQCAtMTAzMzMsNyAr
MTAzMzMsNyBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAgICAgICAgTFZhbHVlIHJlcGxh
Y2UgPSBsb3dTdHJpbmcobV9ub2RlLT5jaGlsZDMoKSk7CiAKICAgICAgICAgICAgIExWYWx1ZSBy
ZXN1bHQgPSB2bUNhbGwoCi0gICAgICAgICAgICAgICAgSW50NjQsIG1fb3V0Lm9wZXJhdGlvbihv
cGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlUmVnRXhwU3RyaW5nKSwKKyAgICAgICAgICAg
ICAgICBwb2ludGVyVHlwZSgpLCBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uU3RyaW5nUHJvdG9G
dW5jUmVwbGFjZVJlZ0V4cFN0cmluZyksCiAgICAgICAgICAgICAgICAgbV9jYWxsRnJhbWUsIHN0
cmluZywgcmVnRXhwLCByZXBsYWNlKTsKIAogICAgICAgICAgICAgc2V0SlNWYWx1ZShyZXN1bHQp
OwpAQCAtMTAzNDcsNyArMTAzNDcsNyBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAgICAg
ICAgc2VhcmNoID0gbG93SlNWYWx1ZShtX25vZGUtPmNoaWxkMigpKTsKIAogICAgICAgICBMVmFs
dWUgcmVzdWx0ID0gdm1DYWxsKAotICAgICAgICAgICAgSW50NjQsIG1fb3V0Lm9wZXJhdGlvbihv
cGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlR2VuZXJpYyksIG1fY2FsbEZyYW1lLAorICAg
ICAgICAgICAgcG9pbnRlclR5cGUoKSwgbV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvblN0cmluZ1By
b3RvRnVuY1JlcGxhY2VHZW5lcmljKSwgbV9jYWxsRnJhbWUsCiAgICAgICAgICAgICBsb3dKU1Zh
bHVlKG1fbm9kZS0+Y2hpbGQxKCkpLCBzZWFyY2gsCiAgICAgICAgICAgICBsb3dKU1ZhbHVlKG1f
bm9kZS0+Y2hpbGQzKCkpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5jcHAKaW5kZXggNGU2MGIzNGU5NDQ1YmQwNjg1MGQ1YTVjYjVkODAzZjRiZTZkODQ0Mi4u
MDU3YzEwODUyNmVjN2I3NjZlYTgyMDdhYWYzMGIzMTZjNTI4Mjg1MiAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC01OCw3ICs1OCw2IEBACiAjaW5j
bHVkZSAiSlNHZW5lcmF0b3JGdW5jdGlvbi5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0RnVu
Y3Rpb25zLmgiCiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKLSNpbmNsdWRlICJK
U1Byb3BlcnR5TmFtZUVudW1lcmF0b3IuaCIKICNpbmNsdWRlICJKU1dpdGhTY29wZS5oIgogI2lu
Y2x1ZGUgIk1vZHVsZVByb2dyYW1Db2RlQmxvY2suaCIKICNpbmNsdWRlICJPYmplY3RDb25zdHJ1
Y3Rvci5oIgpAQCAtMjM3Miw2NiArMjM3MSw2IEBAIHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRp
b25FeGNlcHRpb25GdXp6KEV4ZWNTdGF0ZSogZXhlYykKICNlbmRpZiAvLyBDT01QSUxFUihHQ0Nf
T1JfQ0xBTkcpCiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFz
R2VuZXJpY1Byb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJh
c2VWYWx1ZSwgSlNDZWxsKiBwcm9wZXJ0eU5hbWUpCi17Ci0gICAgVk0mIHZtID0gZXhlYy0+dm0o
KTsKLSAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgSlNW
YWx1ZSBiYXNlVmFsdWUgPSBKU1ZhbHVlOjpkZWNvZGUoZW5jb2RlZEJhc2VWYWx1ZSk7Ci0gICAg
aWYgKGJhc2VWYWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpKQotICAgICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzQm9vbGVhbihmYWxzZSkpOwotCi0gICAgSlNPYmplY3QqIGJhc2UgPSBiYXNl
VmFsdWUudG9PYmplY3QoZXhlYyk7Ci0gICAgaWYgKCFiYXNlKQotICAgICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKEpTVmFsdWUoKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jv
b2xlYW4oYmFzZS0+aGFzUHJvcGVydHlHZW5lcmljKGV4ZWMsIGFzU3RyaW5nKHByb3BlcnR5TmFt
ZSktPnRvSWRlbnRpZmllcihleGVjKSwgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6
OkdldE93blByb3BlcnR5KSkpOwotfQotCi1KU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
R2V0UHJvcGVydHlFbnVtZXJhdG9yQ2VsbChFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogY2VsbCkK
LXsKLSAgICBWTSYgdm0gPSBleGVjLT52bSgpOwotICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0
cmFjZXIoJnZtLCBleGVjKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7Ci0KLSAgICBKU09iamVjdCogYmFzZSA9IGNlbGwtPnRvT2JqZWN0KGV4ZWMsIGV4ZWMtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9
KTsKLQotICAgIHNjb3BlLnJlbGVhc2UoKTsKLSAgICByZXR1cm4gcHJvcGVydHlOYW1lRW51bWVy
YXRvcihleGVjLCBiYXNlKTsKLX0KLQotSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdl
dFByb3BlcnR5RW51bWVyYXRvcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRCYXNlKQotewotICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgTmF0aXZlQ2FsbEZyYW1l
VHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOwotICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKLQotICAgIEpTVmFsdWUgYmFzZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVk
QmFzZSk7Ci0gICAgaWYgKGJhc2UuaXNVbmRlZmluZWRPck51bGwoKSkKLSAgICAgICAgcmV0dXJu
IEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6Y3JlYXRlKHZtKTsKLQotICAgIEpTT2JqZWN0KiBi
YXNlT2JqZWN0ID0gYmFzZS50b09iamVjdChleGVjKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCB7IH0pOwotCi0gICAgc2NvcGUucmVsZWFzZSgpOwotICAgIHJldHVybiBwcm9wZXJ0
eU5hbWVFbnVtZXJhdG9yKGV4ZWMsIGJhc2VPYmplY3QpOwotfQotCi1FbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5leHRFbnVtZXJhdG9yUG5hbWUoRXhlY1N0YXRlKiBleGVj
LCBKU0NlbGwqIGVudW1lcmF0b3JDZWxsLCBpbnQzMl90IGluZGV4KQotewotICAgIFZNJiB2bSA9
IGV4ZWMtPnZtKCk7Ci0gICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMp
OwotICAgIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogZW51bWVyYXRvciA9IGpzQ2FzdDxKU1By
b3BlcnR5TmFtZUVudW1lcmF0b3IqPihlbnVtZXJhdG9yQ2VsbCk7Ci0gICAgSlNTdHJpbmcqIHBy
b3BlcnR5TmFtZSA9IGVudW1lcmF0b3ItPnByb3BlcnR5TmFtZUF0SW5kZXgoaW5kZXgpOwotICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUocHJvcGVydHlOYW1lID8gcHJvcGVydHlOYW1lIDoganNO
dWxsKCkpOwotfQotCi1KU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVG9JbmRleFN0cmlu
ZyhFeGVjU3RhdGUqIGV4ZWMsIGludDMyX3QgaW5kZXgpCi17Ci0gICAgVk0mIHZtID0gZXhlYy0+
dm0oKTsKLSAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAg
cmV0dXJuIGpzU3RyaW5nKGV4ZWMsIElkZW50aWZpZXI6OmZyb20oZXhlYywgaW5kZXgpLnN0cmlu
ZygpKTsKLX0KLQogQUxXQVlTX0lOTElORSBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgdW5wcm9maWxl
ZEFkZChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRPcDIpCiB7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCmluZGV4IGFjOWRlY2MxYWNhODQ0NzMx
MTZmZmNkODYxMWE4ODA1MGU0NDA1NmIuLmMyNzIyMWFiZTZkMGEyNjhlMGMwYjYzZDVlYzBiZWUz
NzdiYjgyMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oCkBA
IC0yMjAsNiArMjIwLDggQEAgdHlwZWRlZiBKU0NlbGwqIChKSVRfT1BFUkFUSU9OICpDX0pJVE9w
ZXJhdGlvbl9FSnNjSSkoRXhlY1N0YXRlKiwgSlNTY29wZSosIFVuaXEKIHR5cGVkZWYgSlNDZWxs
KiAoSklUX09QRVJBVElPTiAqQ19KSVRPcGVyYXRpb25fRUNKWikoRXhlY1N0YXRlKiwgSlNDZWxs
KiwgRW5jb2RlZEpTVmFsdWUsIGludDMyX3QpOwogdHlwZWRlZiBKU0NlbGwqIChKSVRfT1BFUkFU
SU9OICpDX0pJVE9wZXJhdGlvbl9FQ0opKEV4ZWNTdGF0ZSosIEpTQ2VsbCosIEVuY29kZWRKU1Zh
bHVlKTsKIHR5cGVkZWYgSlNDZWxsKiAoSklUX09QRVJBVElPTiAqQ19KSVRPcGVyYXRpb25fRUNP
KShFeGVjU3RhdGUqLCBKU0NlbGwqLCBKU09iamVjdCopOwordHlwZWRlZiBKU0NlbGwqIChKSVRf
T1BFUkFUSU9OICpDX0pJVE9wZXJhdGlvbl9FSnNzUmVvKShFeGVjU3RhdGUqLCBKU1N0cmluZyos
IFJlZ0V4cE9iamVjdCopOwordHlwZWRlZiBKU0NlbGwqIChKSVRfT1BFUkFUSU9OICpDX0pJVE9w
ZXJhdGlvbl9FSnNzUmVvSnNzKShFeGVjU3RhdGUqLCBKU1N0cmluZyosIFJlZ0V4cE9iamVjdCos
IEpTU3RyaW5nKik7CiB0eXBlZGVmIGRvdWJsZSAoSklUX09QRVJBVElPTiAqRF9KSVRPcGVyYXRp
b25fRCkoZG91YmxlKTsKIHR5cGVkZWYgZG91YmxlIChKSVRfT1BFUkFUSU9OICpEX0pJVE9wZXJh
dGlvbl9HKShKU0dsb2JhbE9iamVjdCopOwogdHlwZWRlZiBkb3VibGUgKEpJVF9PUEVSQVRJT04g
KkRfSklUT3BlcmF0aW9uX0REKShkb3VibGUsIGRvdWJsZSk7CkBAIC00NjAsMTIgKzQ2Miw2IEBA
IHZvaWQgSklUX09QRVJBVElPTiBvcGVyYXRpb25FeGNlcHRpb25GdXp6KEV4ZWNTdGF0ZSopOwog
aW50MzJfdCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkNoZWNrSWZFeGNlcHRpb25Jc1VuY2F0Y2hh
YmxlQW5kTm90aWZ5UHJvZmlsZXIoRXhlY1N0YXRlKik7CiBpbnQzMl90IEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uSW5zdGFuY2VPZkN1c3RvbShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBlbmNv
ZGVkVmFsdWUsIEpTT2JqZWN0KiBjb25zdHJ1Y3RvciwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEhh
c0luc3RhbmNlKSBXVEZfSU5URVJOQUw7CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uSGFzR2VuZXJpY1Byb3BlcnR5KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBK
U0NlbGwqKTsKLUpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQcm9wZXJ0eUVudW1l
cmF0b3JDZWxsKEV4ZWNTdGF0ZSosIEpTQ2VsbCopOwotSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkdldFByb3BlcnR5RW51bWVyYXRvcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSk7
Ci1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5leHRFbnVtZXJhdG9yUG5h
bWUoRXhlY1N0YXRlKiwgSlNDZWxsKiwgaW50MzJfdCk7Ci1KU0NlbGwqIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uVG9JbmRleFN0cmluZyhFeGVjU3RhdGUqLCBpbnQzMl90KTsKLQogRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25WYWx1ZUFkZChFeGVjU3RhdGUqLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyKSBXVEZfSU5URVJO
QUw7CiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZhbHVlQWRkUHJvZmls
ZWQoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUg
ZW5jb2RlZE9wMiwgQXJpdGhQcm9maWxlKikgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25WYWx1ZUFkZFByb2ZpbGVkT3B0aW1pemUoRXhlY1N0YXRl
KiwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMiwg
SklUQWRkSUMqKSBXVEZfSU5URVJOQUw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcAppbmRleCAyOTFiYzY5YTIyNWMwYTg5NjY4YWVhNTRj
ZjliZDZmZTg4Y2VlOWQ5Li41Nzg0MWNjNDZkOWRiZjBhYzM3MGYzNGQyZDg5MzU3M2I4OGJkYmMy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5
cGUuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlw
ZS5jcHAKQEAgLTMwNyw3ICszMDcsNyBAQCBzdHJ1Y3QgU3RyaW5nUmFuZ2UgewogICAgIGludCBs
ZW5ndGg7CiB9OwogCi1zdGF0aWMgQUxXQVlTX0lOTElORSBKU1ZhbHVlIGpzU3BsaWNlU3Vic3Ry
aW5ncyhFeGVjU3RhdGUqIGV4ZWMsIEpTU3RyaW5nKiBzb3VyY2VWYWwsIGNvbnN0IFN0cmluZyYg
c291cmNlLCBjb25zdCBTdHJpbmdSYW5nZSogc3Vic3RyaW5nUmFuZ2VzLCBpbnQgcmFuZ2VDb3Vu
dCkKK3N0YXRpYyBBTFdBWVNfSU5MSU5FIEpTU3RyaW5nKiBqc1NwbGljZVN1YnN0cmluZ3MoRXhl
Y1N0YXRlKiBleGVjLCBKU1N0cmluZyogc291cmNlVmFsLCBjb25zdCBTdHJpbmcmIHNvdXJjZSwg
Y29uc3QgU3RyaW5nUmFuZ2UqIHN1YnN0cmluZ1JhbmdlcywgaW50IHJhbmdlQ291bnQpCiB7CiAg
ICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7CkBAIC0zMzQsOCArMzM0LDEwIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEpTVmFs
dWUganNTcGxpY2VTdWJzdHJpbmdzKEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcqIHNvdXJjCiAg
ICAgICAgIExDaGFyKiBidWZmZXI7CiAgICAgICAgIGNvbnN0IExDaGFyKiBzb3VyY2VEYXRhID0g
c291cmNlLmNoYXJhY3RlcnM4KCk7CiAgICAgICAgIGF1dG8gaW1wbCA9IFN0cmluZ0ltcGw6OnRy
eUNyZWF0ZVVuaW5pdGlhbGl6ZWQodG90YWxMZW5ndGgsIGJ1ZmZlcik7Ci0gICAgICAgIGlmICgh
aW1wbCkKLSAgICAgICAgICAgIHJldHVybiB0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYywgc2Nv
cGUpOworICAgICAgICBpZiAoIWltcGwpIHsKKyAgICAgICAgICAgIHRocm93T3V0T2ZNZW1vcnlF
cnJvcihleGVjLCBzY29wZSk7CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAg
fQogCiAgICAgICAgIGludCBidWZmZXJQb3MgPSAwOwogICAgICAgICBmb3IgKGludCBpID0gMDsg
aSA8IHJhbmdlQ291bnQ7IGkrKykgewpAQCAtMzUzLDggKzM1NSwxMCBAQCBzdGF0aWMgQUxXQVlT
X0lOTElORSBKU1ZhbHVlIGpzU3BsaWNlU3Vic3RyaW5ncyhFeGVjU3RhdGUqIGV4ZWMsIEpTU3Ry
aW5nKiBzb3VyYwogICAgIGNvbnN0IFVDaGFyKiBzb3VyY2VEYXRhID0gc291cmNlLmNoYXJhY3Rl
cnMxNigpOwogCiAgICAgYXV0byBpbXBsID0gU3RyaW5nSW1wbDo6dHJ5Q3JlYXRlVW5pbml0aWFs
aXplZCh0b3RhbExlbmd0aCwgYnVmZmVyKTsKLSAgICBpZiAoIWltcGwpCi0gICAgICAgIHJldHVy
biB0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYywgc2NvcGUpOworICAgIGlmICghaW1wbCkgewor
ICAgICAgICB0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYywgc2NvcGUpOworICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICB9CiAKICAgICBpbnQgYnVmZmVyUG9zID0gMDsKICAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IHJhbmdlQ291bnQ7IGkrKykgewpAQCAtMzY4LDcgKzM3Miw3IEBAIHN0YXRp
YyBBTFdBWVNfSU5MSU5FIEpTVmFsdWUganNTcGxpY2VTdWJzdHJpbmdzKEV4ZWNTdGF0ZSogZXhl
YywgSlNTdHJpbmcqIHNvdXJjCiAgICAgcmV0dXJuIGpzU3RyaW5nKGV4ZWMsIFdURk1vdmUoaW1w
bCkpOwogfQogCi1zdGF0aWMgQUxXQVlTX0lOTElORSBKU1ZhbHVlIGpzU3BsaWNlU3Vic3RyaW5n
c1dpdGhTZXBhcmF0b3JzKEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcqIHNvdXJjZVZhbCwgY29u
c3QgU3RyaW5nJiBzb3VyY2UsIGNvbnN0IFN0cmluZ1JhbmdlKiBzdWJzdHJpbmdSYW5nZXMsIGlu
dCByYW5nZUNvdW50LCBjb25zdCBTdHJpbmcqIHNlcGFyYXRvcnMsIGludCBzZXBhcmF0b3JDb3Vu
dCkKK3N0YXRpYyBBTFdBWVNfSU5MSU5FIEpTU3RyaW5nKiBqc1NwbGljZVN1YnN0cmluZ3NXaXRo
U2VwYXJhdG9ycyhFeGVjU3RhdGUqIGV4ZWMsIEpTU3RyaW5nKiBzb3VyY2VWYWwsIGNvbnN0IFN0
cmluZyYgc291cmNlLCBjb25zdCBTdHJpbmdSYW5nZSogc3Vic3RyaW5nUmFuZ2VzLCBpbnQgcmFu
Z2VDb3VudCwgY29uc3QgU3RyaW5nKiBzZXBhcmF0b3JzLCBpbnQgc2VwYXJhdG9yQ291bnQpCiB7
CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7CkBAIC0zOTMsOCArMzk3LDEwIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEpT
VmFsdWUganNTcGxpY2VTdWJzdHJpbmdzV2l0aFNlcGFyYXRvcnMoRXhlY1N0YXRlKiBleGVjLCBK
CiAgICAgICAgIGlmIChzZXBhcmF0b3JzW2ldLmxlbmd0aCgpICYmICFzZXBhcmF0b3JzW2ldLmlz
OEJpdCgpKQogICAgICAgICAgICAgYWxsU2VwYXJhdG9yczhCaXQgPSBmYWxzZTsKICAgICB9Ci0g
ICAgaWYgKHRvdGFsTGVuZ3RoLmhhc092ZXJmbG93ZWQoKSkKLSAgICAgICAgcmV0dXJuIHRocm93
T3V0T2ZNZW1vcnlFcnJvcihleGVjLCBzY29wZSk7CisgICAgaWYgKHRvdGFsTGVuZ3RoLmhhc092
ZXJmbG93ZWQoKSkgeworICAgICAgICB0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYywgc2NvcGUp
OworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CiAKICAgICBpZiAoIXRvdGFsTGVuZ3Ro
KQogICAgICAgICByZXR1cm4ganNFbXB0eVN0cmluZyhleGVjKTsKQEAgLTQwNCw4ICs0MTAsMTAg
QEAgc3RhdGljIEFMV0FZU19JTkxJTkUgSlNWYWx1ZSBqc1NwbGljZVN1YnN0cmluZ3NXaXRoU2Vw
YXJhdG9ycyhFeGVjU3RhdGUqIGV4ZWMsIEoKICAgICAgICAgY29uc3QgTENoYXIqIHNvdXJjZURh
dGEgPSBzb3VyY2UuY2hhcmFjdGVyczgoKTsKIAogICAgICAgICBhdXRvIGltcGwgPSBTdHJpbmdJ
bXBsOjp0cnlDcmVhdGVVbmluaXRpYWxpemVkKHRvdGFsTGVuZ3RoLnVuc2FmZUdldCgpLCBidWZm
ZXIpOwotICAgICAgICBpZiAoIWltcGwpCi0gICAgICAgICAgICByZXR1cm4gdGhyb3dPdXRPZk1l
bW9yeUVycm9yKGV4ZWMsIHNjb3BlKTsKKyAgICAgICAgaWYgKCFpbXBsKSB7CisgICAgICAgICAg
ICB0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYywgc2NvcGUpOworICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgICAgIH0KIAogICAgICAgICBpbnQgbWF4Q291bnQgPSBzdGQ6Om1heChy
YW5nZUNvdW50LCBzZXBhcmF0b3JDb3VudCk7CiAgICAgICAgIGludCBidWZmZXJQb3MgPSAwOwpA
QCAtNDMwLDggKzQzOCwxMCBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBKU1ZhbHVlIGpzU3BsaWNl
U3Vic3RyaW5nc1dpdGhTZXBhcmF0b3JzKEV4ZWNTdGF0ZSogZXhlYywgSgogCiAgICAgVUNoYXIq
IGJ1ZmZlcjsKICAgICBhdXRvIGltcGwgPSBTdHJpbmdJbXBsOjp0cnlDcmVhdGVVbmluaXRpYWxp
emVkKHRvdGFsTGVuZ3RoLnVuc2FmZUdldCgpLCBidWZmZXIpOwotICAgIGlmICghaW1wbCkKLSAg
ICAgICAgcmV0dXJuIHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjLCBzY29wZSk7CisgICAgaWYg
KCFpbXBsKSB7CisgICAgICAgIHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjLCBzY29wZSk7Cisg
ICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KIAogICAgIGludCBtYXhDb3VudCA9IHN0ZDo6
bWF4KHJhbmdlQ291bnQsIHNlcGFyYXRvckNvdW50KTsKICAgICBpbnQgYnVmZmVyUG9zID0gMDsK
QEAgLTQ2MywxMCArNDczLDEwIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEpTVmFsdWUganNTcGxp
Y2VTdWJzdHJpbmdzV2l0aFNlcGFyYXRvcnMoRXhlY1N0YXRlKiBleGVjLCBKCiAjZGVmaW5lIE9V
VF9PRl9NRU1PUlkoZXhlY19fLCBzY29wZV9fKSBcCiAgICAgZG8geyBcCiAgICAgICAgIHRocm93
T3V0T2ZNZW1vcnlFcnJvcihleGVjX18sIHNjb3BlX18pOyBcCi0gICAgICAgIHJldHVybiBlbmNv
ZGVkSlNWYWx1ZSgpOyBcCisgICAgICAgIHJldHVybiBudWxscHRyOyBcCiAgICAgfSB3aGlsZSAo
ZmFsc2UpCiAKLXN0YXRpYyBBTFdBWVNfSU5MSU5FIEVuY29kZWRKU1ZhbHVlIHJlbW92ZVVzaW5n
UmVnRXhwU2VhcmNoKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjLCBKU1N0cmluZyogc3RyaW5nLCBj
b25zdCBTdHJpbmcmIHNvdXJjZSwgUmVnRXhwKiByZWdFeHApCitzdGF0aWMgQUxXQVlTX0lOTElO
RSBKU1N0cmluZyogcmVtb3ZlVXNpbmdSZWdFeHBTZWFyY2goVk0mIHZtLCBFeGVjU3RhdGUqIGV4
ZWMsIEpTU3RyaW5nKiBzdHJpbmcsIGNvbnN0IFN0cmluZyYgc291cmNlLCBSZWdFeHAqIHJlZ0V4
cCkKIHsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgU3Vw
ZXJTYW1wbGVyU2NvcGUgc3VwZXJTYW1wbGVyU2NvcGUoZmFsc2UpOwpAQCAtNDk5LDE3ICs1MDks
MTcgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpTVmFsdWUgcmVtb3ZlVXNpbmdSZWdF
eHBTZWFyY2goVk0mIHZtLCBFeGVjU3RhdGUqIGUKICAgICB9CiAKICAgICBpZiAoIWxhc3RJbmRl
eCkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShzdHJpbmcpOworICAgICAgICByZXR1
cm4gc3RyaW5nOwogCiAgICAgaWYgKHN0YXRpY19jYXN0PHVuc2lnbmVkPihsYXN0SW5kZXgpIDwg
c291cmNlTGVuKSB7CiAgICAgICAgIGlmIChVTkxJS0VMWSghc291cmNlUmFuZ2VzLnRyeUNvbnN0
cnVjdEFuZEFwcGVuZChsYXN0SW5kZXgsIHNvdXJjZUxlbiAtIGxhc3RJbmRleCkpKQogICAgICAg
ICAgICAgT1VUX09GX01FTU9SWShleGVjLCBzY29wZSk7CiAgICAgfQogICAgIHNjb3BlLnJlbGVh
c2UoKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzU3BsaWNlU3Vic3RyaW5ncyhleGVj
LCBzdHJpbmcsIHNvdXJjZSwgc291cmNlUmFuZ2VzLmRhdGEoKSwgc291cmNlUmFuZ2VzLnNpemUo
KSkpOworICAgIHJldHVybiBqc1NwbGljZVN1YnN0cmluZ3MoZXhlYywgc3RyaW5nLCBzb3VyY2Us
IHNvdXJjZVJhbmdlcy5kYXRhKCksIHNvdXJjZVJhbmdlcy5zaXplKCkpOwogfQogCi1zdGF0aWMg
QUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSByZXBsYWNlVXNpbmdSZWdFeHBTZWFyY2goCitz
dGF0aWMgQUxXQVlTX0lOTElORSBKU1N0cmluZyogcmVwbGFjZVVzaW5nUmVnRXhwU2VhcmNoKAog
ICAgIFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjLCBKU1N0cmluZyogc3RyaW5nLCBKU1ZhbHVlIHNl
YXJjaFZhbHVlLCBDYWxsRGF0YSYgY2FsbERhdGEsCiAgICAgQ2FsbFR5cGUgY2FsbFR5cGUsIFN0
cmluZyYgcmVwbGFjZW1lbnRTdHJpbmcsIEpTVmFsdWUgcmVwbGFjZVZhbHVlKQogewpAQCAtNTE3
LDcgKzUyNyw3IEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEVuY29kZWRKU1ZhbHVlIHJlcGxhY2VV
c2luZ1JlZ0V4cFNlYXJjaCgKIAogICAgIGNvbnN0IFN0cmluZyYgc291cmNlID0gc3RyaW5nLT52
YWx1ZShleGVjKTsKICAgICB1bnNpZ25lZCBzb3VyY2VMZW4gPSBzb3VyY2UubGVuZ3RoKCk7Ci0g
ICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CiAgICAgUmVnRXhwT2JqZWN0KiByZWdF
eHBPYmplY3QgPSBhc1JlZ0V4cE9iamVjdChzZWFyY2hWYWx1ZSk7CiAgICAgUmVnRXhwKiByZWdF
eHAgPSByZWdFeHBPYmplY3QtPnJlZ0V4cCgpOwogICAgIGJvb2wgZ2xvYmFsID0gcmVnRXhwLT5n
bG9iYWwoKTsKQEAgLTUyNiw3ICs1MzYsNyBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBFbmNvZGVk
SlNWYWx1ZSByZXBsYWNlVXNpbmdSZWdFeHBTZWFyY2goCiAgICAgaWYgKGdsb2JhbCkgewogICAg
ICAgICAvLyBFUzUuMSAxNS41LjQuMTAgc3RlcCA4LmEuCiAgICAgICAgIHJlZ0V4cE9iamVjdC0+
c2V0TGFzdEluZGV4KGV4ZWMsIDApOwotICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
bnVsbHB0cik7CiAKICAgICAgICAgaWYgKGNhbGxUeXBlID09IENhbGxUeXBlOjpOb25lICYmICFy
ZXBsYWNlbWVudFN0cmluZy5sZW5ndGgoKSkgewogICAgICAgICAgICAgc2NvcGUucmVsZWFzZSgp
OwpAQCAtNTUwLDcgKzU2MCw3IEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEVuY29kZWRKU1ZhbHVl
IHJlcGxhY2VVc2luZ1JlZ0V4cFNlYXJjaCgKICAgICAgICAgaW50IGFyZ0NvdW50ID0gcmVnRXhw
LT5udW1TdWJwYXR0ZXJucygpICsgMSArIDI7CiAgICAgICAgIEpTRnVuY3Rpb24qIGZ1bmMgPSBq
c0Nhc3Q8SlNGdW5jdGlvbio+KHJlcGxhY2VWYWx1ZSk7CiAgICAgICAgIENhY2hlZENhbGwgY2Fj
aGVkQ2FsbChleGVjLCBmdW5jLCBhcmdDb3VudCk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCBudWxscHRyKTsKICAgICAgICAgaWYgKHNvdXJjZS5pczhCaXQoKSkgewogICAgICAg
ICAgICAgd2hpbGUgKHRydWUpIHsKICAgICAgICAgICAgICAgICBpbnQqIG92ZWN0b3I7CkBAIC01
OTksMTMgKzYwOSwxMyBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSByZXBs
YWNlVXNpbmdSZWdFeHBTZWFyY2goCiAgICAgICAgICAgICAgICAgY2FjaGVkQ2FsbC5zZXRUaGlz
KGpzVW5kZWZpbmVkKCkpOwogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWShjYWNoZWRDYWxs
Lmhhc092ZXJmbG93ZWRBcmd1bWVudHMoKSkpIHsKICAgICAgICAgICAgICAgICAgICAgdGhyb3dP
dXRPZk1lbW9yeUVycm9yKGV4ZWMsIHNjb3BlKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IGVuY29kZWRKU1ZhbHVlKCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIEpTVmFsdWUganNSZXN1bHQgPSBj
YWNoZWRDYWxsLmNhbGwoKTsKLSAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHNjb3BlLCBudWxscHRyKTsKICAgICAgICAgICAgICAgICByZXBsYWNlbWVudHMuYXBwZW5k
KGpzUmVzdWx0LnRvV1RGU3RyaW5nKGV4ZWMpKTsKLSAgICAgICAgICAgICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKIAogICAgICAgICAgICAgICAgIGxhc3RJ
bmRleCA9IHJlc3VsdC5lbmQ7CiAgICAgICAgICAgICAgICAgc3RhcnRQb3NpdGlvbiA9IGxhc3RJ
bmRleDsKQEAgLTY2NSwxMyArNjc1LDEzIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEVuY29kZWRK
U1ZhbHVlIHJlcGxhY2VVc2luZ1JlZ0V4cFNlYXJjaCgKICAgICAgICAgICAgICAgICBjYWNoZWRD
YWxsLnNldFRoaXMoanNVbmRlZmluZWQoKSk7CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZ
KGNhY2hlZENhbGwuaGFzT3ZlcmZsb3dlZEFyZ3VtZW50cygpKSkgewogICAgICAgICAgICAgICAg
ICAgICB0aHJvd091dE9mTWVtb3J5RXJyb3IoZXhlYywgc2NvcGUpOwotICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gZW5jb2RlZEpTVmFsdWUoKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgSlNWYWx1ZSBq
c1Jlc3VsdCA9IGNhY2hlZENhbGwuY2FsbCgpOwotICAgICAgICAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgICAgICAgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwogICAgICAgICAgICAgICAgIHJlcGxhY2Vt
ZW50cy5hcHBlbmQoanNSZXN1bHQudG9XVEZTdHJpbmcoZXhlYykpOwotICAgICAgICAgICAgICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgICAgICAg
ICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwogCiAgICAgICAgICAg
ICAgICAgbGFzdEluZGV4ID0gcmVzdWx0LmVuZDsKICAgICAgICAgICAgICAgICBzdGFydFBvc2l0
aW9uID0gbGFzdEluZGV4OwpAQCAtNzMwLDE1ICs3NDAsMTUgQEAgc3RhdGljIEFMV0FZU19JTkxJ
TkUgRW5jb2RlZEpTVmFsdWUgcmVwbGFjZVVzaW5nUmVnRXhwU2VhcmNoKAogICAgICAgICAgICAg
ICAgICAgICBhcmdzLmFwcGVuZChncm91cHMpOwogICAgICAgICAgICAgICAgIGlmIChVTkxJS0VM
WShhcmdzLmhhc092ZXJmbG93ZWQoKSkpIHsKICAgICAgICAgICAgICAgICAgICAgdGhyb3dPdXRP
Zk1lbW9yeUVycm9yKGV4ZWMsIHNjb3BlKTsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVu
Y29kZWRKU1ZhbHVlKCk7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAg
ICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIEpTVmFsdWUgcmVwbGFjZW1lbnQgPSBj
YWxsKGV4ZWMsIHJlcGxhY2VWYWx1ZSwgY2FsbFR5cGUsIGNhbGxEYXRhLCBqc1VuZGVmaW5lZCgp
LCBhcmdzKTsKLSAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNv
ZGVkSlNWYWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCBudWxscHRyKTsKICAgICAgICAgICAgICAgICBTdHJpbmcgcmVwbGFjZW1lbnRTdHJpbmcgPSBy
ZXBsYWNlbWVudC50b1dURlN0cmluZyhleGVjKTsKLSAgICAgICAgICAgICAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKICAgICAgICAgICAgICAgICByZXBsYWNl
bWVudHMuYXBwZW5kKHJlcGxhY2VtZW50U3RyaW5nKTsKLSAgICAgICAgICAgICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICAgICAgICAgICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKICAgICAgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICAgICAgaW50IHJlcGxMZW4gPSByZXBsYWNlbWVudFN0cmluZy5sZW5ndGgo
KTsKICAgICAgICAgICAgICAgICBpZiAobGFzdEluZGV4IDwgcmVzdWx0LnN0YXJ0IHx8IHJlcGxM
ZW4pIHsKQEAgLTc2NSwxNyArNzc1LDE3IEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEVuY29kZWRK
U1ZhbHVlIHJlcGxhY2VVc2luZ1JlZ0V4cFNlYXJjaCgKICAgICB9CiAKICAgICBpZiAoIWxhc3RJ
bmRleCAmJiByZXBsYWNlbWVudHMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKHN0cmluZyk7CisgICAgICAgIHJldHVybiBzdHJpbmc7CiAKICAgICBpZiAoc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KGxhc3RJbmRleCkgPCBzb3VyY2VMZW4pIHsKICAgICAgICAgaWYgKFVO
TElLRUxZKCFzb3VyY2VSYW5nZXMudHJ5Q29uc3RydWN0QW5kQXBwZW5kKGxhc3RJbmRleCwgc291
cmNlTGVuIC0gbGFzdEluZGV4KSkpCiAgICAgICAgICAgICBPVVRfT0ZfTUVNT1JZKGV4ZWMsIHNj
b3BlKTsKICAgICB9CiAgICAgc2NvcGUucmVsZWFzZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNTcGxpY2VTdWJzdHJpbmdzV2l0aFNlcGFyYXRvcnMoZXhlYywgc3RyaW5nLCBzb3Vy
Y2UsIHNvdXJjZVJhbmdlcy5kYXRhKCksIHNvdXJjZVJhbmdlcy5zaXplKCksIHJlcGxhY2VtZW50
cy5kYXRhKCksIHJlcGxhY2VtZW50cy5zaXplKCkpKTsKKyAgICByZXR1cm4ganNTcGxpY2VTdWJz
dHJpbmdzV2l0aFNlcGFyYXRvcnMoZXhlYywgc3RyaW5nLCBzb3VyY2UsIHNvdXJjZVJhbmdlcy5k
YXRhKCksIHNvdXJjZVJhbmdlcy5zaXplKCksIHJlcGxhY2VtZW50cy5kYXRhKCksIHJlcGxhY2Vt
ZW50cy5zaXplKCkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blN0cmluZ1Byb3RvRnVuY1JlcGxhY2VSZWdFeHBFbXB0eVN0cigKK0pTQ2VsbCogSklUX09QRVJB
VElPTiBvcGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlUmVnRXhwRW1wdHlTdHIoCiAgICAg
RXhlY1N0YXRlKiBleGVjLCBKU1N0cmluZyogdGhpc1ZhbHVlLCBSZWdFeHBPYmplY3QqIHNlYXJj
aFZhbHVlKQogewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC03ODYsNyArNzk2LDcgQEAg
RW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBs
YWNlUmVnRXhwRW1wdHlTdHIoCiAgICAgaWYgKHJlZ0V4cC0+Z2xvYmFsKCkpIHsKICAgICAgICAg
Ly8gRVM1LjEgMTUuNS40LjEwIHN0ZXAgOC5hLgogICAgICAgICBzZWFyY2hWYWx1ZS0+c2V0TGFz
dEluZGV4KGV4ZWMsIDApOwotICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNv
ZGVkSlNWYWx1ZSgpKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0
cik7CiAgICAgICAgIHNjb3BlLnJlbGVhc2UoKTsKICAgICAgICAgcmV0dXJuIHJlbW92ZVVzaW5n
UmVnRXhwU2VhcmNoKHZtLCBleGVjLCB0aGlzVmFsdWUsIHRoaXNWYWx1ZS0+dmFsdWUoZXhlYyks
IHJlZ0V4cCk7CiAgICAgfQpAQCAtNzk4LDcgKzgwOCw3IEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aW9uU3RyaW5nUHJvdG9GdW5jUmVwbGFjZVJlZ0V4cEVtcHR5U3RyKAog
ICAgICAgICB2bSwgZXhlYywgdGhpc1ZhbHVlLCBzZWFyY2hWYWx1ZSwgY2FsbERhdGEsIENhbGxU
eXBlOjpOb25lLCByZXBsYWNlbWVudFN0cmluZywgSlNWYWx1ZSgpKTsKIH0KIAotRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlUmVnRXhw
U3RyaW5nKAorSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblN0cmluZ1Byb3RvRnVuY1Jl
cGxhY2VSZWdFeHBTdHJpbmcoCiAgICAgRXhlY1N0YXRlKiBleGVjLCBKU1N0cmluZyogdGhpc1Zh
bHVlLCBSZWdFeHBPYmplY3QqIHNlYXJjaFZhbHVlLCBKU1N0cmluZyogcmVwbGFjZVN0cmluZykK
IHsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwpAQCAtODEwLDcgKzgyMCw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uU3RyaW5nUHJvdG9GdW5jUmVwbGFjZVJlZ0V4
cFN0cmluZygKICAgICAgICAgdm0sIGV4ZWMsIHRoaXNWYWx1ZSwgc2VhcmNoVmFsdWUsIGNhbGxE
YXRhLCBDYWxsVHlwZTo6Tm9uZSwgcmVwbGFjZW1lbnRTdHJpbmcsIHJlcGxhY2VTdHJpbmcpOwog
fQogCi1zdGF0aWMgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSByZXBsYWNlVXNpbmdSZWdF
eHBTZWFyY2goVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMsIEpTU3RyaW5nKiBzdHJpbmcsIEpTVmFs
dWUgc2VhcmNoVmFsdWUsIEpTVmFsdWUgcmVwbGFjZVZhbHVlKQorc3RhdGljIEFMV0FZU19JTkxJ
TkUgSlNTdHJpbmcqIHJlcGxhY2VVc2luZ1JlZ0V4cFNlYXJjaChWTSYgdm0sIEV4ZWNTdGF0ZSog
ZXhlYywgSlNTdHJpbmcqIHN0cmluZywgSlNWYWx1ZSBzZWFyY2hWYWx1ZSwgSlNWYWx1ZSByZXBs
YWNlVmFsdWUpCiB7CiAgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwog
CkBAIC04MTksNyArODI5LDcgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpTVmFsdWUg
cmVwbGFjZVVzaW5nUmVnRXhwU2VhcmNoKFZNJiB2bSwgRXhlY1N0YXRlKgogICAgIENhbGxUeXBl
IGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEocmVwbGFjZVZhbHVlLCBjYWxsRGF0YSk7CiAgICAgaWYg
KGNhbGxUeXBlID09IENhbGxUeXBlOjpOb25lKSB7CiAgICAgICAgIHJlcGxhY2VtZW50U3RyaW5n
ID0gcmVwbGFjZVZhbHVlLnRvV1RGU3RyaW5nKGV4ZWMpOwotICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgbnVsbHB0cik7CiAgICAgfQogCiAgICAgc2NvcGUucmVsZWFzZSgpOwpAQCAt
ODI3LDE5ICs4MzcsMTkgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpTVmFsdWUgcmVw
bGFjZVVzaW5nUmVnRXhwU2VhcmNoKFZNJiB2bSwgRXhlY1N0YXRlKgogICAgICAgICB2bSwgZXhl
Yywgc3RyaW5nLCBzZWFyY2hWYWx1ZSwgY2FsbERhdGEsIGNhbGxUeXBlLCByZXBsYWNlbWVudFN0
cmluZywgcmVwbGFjZVZhbHVlKTsKIH0KIAotc3RhdGljIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpT
VmFsdWUgcmVwbGFjZVVzaW5nU3RyaW5nU2VhcmNoKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjLCBK
U1N0cmluZyoganNTdHJpbmcsIEpTVmFsdWUgc2VhcmNoVmFsdWUsIEpTVmFsdWUgcmVwbGFjZVZh
bHVlKQorc3RhdGljIEFMV0FZU19JTkxJTkUgSlNTdHJpbmcqIHJlcGxhY2VVc2luZ1N0cmluZ1Nl
YXJjaChWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcqIGpzU3RyaW5nLCBKU1ZhbHVl
IHNlYXJjaFZhbHVlLCBKU1ZhbHVlIHJlcGxhY2VWYWx1ZSkKIHsKICAgICBhdXRvIHNjb3BlID0g
REVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAKICAgICBjb25zdCBTdHJpbmcmIHN0cmluZyA9IGpz
U3RyaW5nLT52YWx1ZShleGVjKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNv
ZGVkSlNWYWx1ZSgpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsK
ICAgICBTdHJpbmcgc2VhcmNoU3RyaW5nID0gc2VhcmNoVmFsdWUudG9XVEZTdHJpbmcoZXhlYyk7
Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CiAKICAgICBzaXplX3QgbWF0Y2hT
dGFydCA9IHN0cmluZy5maW5kKHNlYXJjaFN0cmluZyk7CiAKICAgICBpZiAobWF0Y2hTdGFydCA9
PSBub3RGb3VuZCkKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1N0cmluZyk7Cisg
ICAgICAgIHJldHVybiBqc1N0cmluZzsKIAogICAgIENhbGxEYXRhIGNhbGxEYXRhOwogICAgIENh
bGxUeXBlIGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEocmVwbGFjZVZhbHVlLCBjYWxsRGF0YSk7CkBA
IC04NTAsMTEgKzg2MCwxMSBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSBy
ZXBsYWNlVXNpbmdTdHJpbmdTZWFyY2goVk0mIHZtLCBFeGVjU3RhdGUqCiAgICAgICAgIGFyZ3Mu
YXBwZW5kKGpzU3RyaW5nKTsKICAgICAgICAgQVNTRVJUKCFhcmdzLmhhc092ZXJmbG93ZWQoKSk7
CiAgICAgICAgIHJlcGxhY2VWYWx1ZSA9IGNhbGwoZXhlYywgcmVwbGFjZVZhbHVlLCBjYWxsVHlw
ZSwgY2FsbERhdGEsIGpzVW5kZWZpbmVkKCksIGFyZ3MpOwotICAgICAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTihzY29wZSwgbnVsbHB0cik7CiAgICAgfQogCiAgICAgU3RyaW5nIHJlcGxhY2VTdHJpbmcg
PSByZXBsYWNlVmFsdWUudG9XVEZTdHJpbmcoZXhlYyk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29w
ZSwgbnVsbHB0cik7CiAKICAgICBTdHJpbmdJbXBsKiBzdHJpbmdJbXBsID0gc3RyaW5nLmltcGwo
KTsKICAgICBTdHJpbmcgbGVmdFBhcnQoU3RyaW5nSW1wbDo6Y3JlYXRlU3Vic3RyaW5nU2hhcmlu
Z0ltcGwoKnN0cmluZ0ltcGwsIDAsIG1hdGNoU3RhcnQpKTsKQEAgLTg2Niw3ICs4NzYsNyBAQCBz
dGF0aWMgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSByZXBsYWNlVXNpbmdTdHJpbmdTZWFy
Y2goVk0mIHZtLCBFeGVjU3RhdGUqCiAgICAgc2l6ZV90IGxlZnRMZW5ndGggPSBzdHJpbmdJbXBs
LT5sZW5ndGgoKSAtIG1hdGNoRW5kOwogICAgIFN0cmluZyByaWdodFBhcnQoU3RyaW5nSW1wbDo6
Y3JlYXRlU3Vic3RyaW5nU2hhcmluZ0ltcGwoKnN0cmluZ0ltcGwsIG1hdGNoRW5kLCBsZWZ0TGVu
Z3RoKSk7CiAgICAgc2NvcGUucmVsZWFzZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
SlNDOjpqc1N0cmluZyhleGVjLCBsZWZ0UGFydCwgbWlkZGxlUGFydCwgcmlnaHRQYXJ0KSk7Cisg
ICAgcmV0dXJuIEpTQzo6anNTdHJpbmcoZXhlYywgbGVmdFBhcnQsIG1pZGRsZVBhcnQsIHJpZ2h0
UGFydCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBjaGVja09iamVjdENvZXJjaWJsZShKU1Zh
bHVlIHRoaXNWYWx1ZSkKQEAgLTkzNiw3ICs5NDYsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9T
VF9DQUxMIHN0cmluZ1Byb3RvRnVuY1JlcGVhdENoYXJhY3RlcihFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXBlYXRDaGFyYWN0ZXIoKmV4ZWMsIGNoYXJhY3Rl
ciwgcmVwZWF0Q291bnQpKTsKIH0KIAotQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSByZXBs
YWNlKAorQUxXQVlTX0lOTElORSBKU1N0cmluZyogcmVwbGFjZSgKICAgICBWTSYgdm0sIEV4ZWNT
dGF0ZSogZXhlYywgSlNTdHJpbmcqIHN0cmluZywgSlNWYWx1ZSBzZWFyY2hWYWx1ZSwgSlNWYWx1
ZSByZXBsYWNlVmFsdWUpCiB7CiAgICAgaWYgKHNlYXJjaFZhbHVlLmluaGVyaXRzKHZtLCBSZWdF
eHBPYmplY3Q6OmluZm8oKSkpCkBAIC05NDQsMTUgKzk1NCwxNyBAQCBBTFdBWVNfSU5MSU5FIEVu
Y29kZWRKU1ZhbHVlIHJlcGxhY2UoCiAgICAgcmV0dXJuIHJlcGxhY2VVc2luZ1N0cmluZ1NlYXJj
aCh2bSwgZXhlYywgc3RyaW5nLCBzZWFyY2hWYWx1ZSwgcmVwbGFjZVZhbHVlKTsKIH0KIAotQUxX
QVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSByZXBsYWNlKAorQUxXQVlTX0lOTElORSBKU1N0cmlu
ZyogcmVwbGFjZSgKICAgICBWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1ZSB0aGlzVmFs
dWUsIEpTVmFsdWUgc2VhcmNoVmFsdWUsIEpTVmFsdWUgcmVwbGFjZVZhbHVlKQogewogICAgIGF1
dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIGlmICghY2hlY2tPYmpl
Y3RDb2VyY2libGUodGhpc1ZhbHVlKSkKLSAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3Io
ZXhlYywgc2NvcGUpOworICAgIGlmICghY2hlY2tPYmplY3RDb2VyY2libGUodGhpc1ZhbHVlKSkg
eworICAgICAgICB0aHJvd1ZNVHlwZUVycm9yKGV4ZWMsIHNjb3BlKTsKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisgICAgfQogICAgIEpTU3RyaW5nKiBzdHJpbmcgPSB0aGlzVmFsdWUudG9TdHJp
bmcoZXhlYyk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUo
KSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CiAgICAgc2NvcGUu
cmVsZWFzZSgpOwogICAgIHJldHVybiByZXBsYWNlKHZtLCBleGVjLCBzdHJpbmcsIHNlYXJjaFZh
bHVlLCByZXBsYWNlVmFsdWUpOwogfQpAQCAtOTcwLDcgKzk4Miw3IEBAIEVuY29kZWRKU1ZhbHVl
IEpTQ19IT1NUX0NBTEwgc3RyaW5nUHJvdG9GdW5jUmVwbGFjZVVzaW5nUmVnRXhwKEV4ZWNTdGF0
ZSogZXhlYykKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsK
IAogICAgIHNjb3BlLnJlbGVhc2UoKTsKLSAgICByZXR1cm4gcmVwbGFjZVVzaW5nUmVnRXhwU2Vh
cmNoKHZtLCBleGVjLCBzdHJpbmcsIHNlYXJjaFZhbHVlLCBleGVjLT5hcmd1bWVudCgxKSk7Cisg
ICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXBsYWNlVXNpbmdSZWdFeHBTZWFyY2godm0sIGV4
ZWMsIHN0cmluZywgc2VhcmNoVmFsdWUsIGV4ZWMtPmFyZ3VtZW50KDEpKSk7CiB9CiAKIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgc3RyaW5nUHJvdG9GdW5jUmVwbGFjZVVzaW5nU3RyaW5n
U2VhcmNoKEV4ZWNTdGF0ZSogZXhlYykKQEAgLTk4MiwxMCArOTk0LDEwIEBAIEVuY29kZWRKU1Zh
bHVlIEpTQ19IT1NUX0NBTEwgc3RyaW5nUHJvdG9GdW5jUmVwbGFjZVVzaW5nU3RyaW5nU2VhcmNo
KEV4ZWNTdGF0ZSoKICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1
ZSgpKTsKIAogICAgIHNjb3BlLnJlbGVhc2UoKTsKLSAgICByZXR1cm4gcmVwbGFjZVVzaW5nU3Ry
aW5nU2VhcmNoKHZtLCBleGVjLCBzdHJpbmcsIGV4ZWMtPmFyZ3VtZW50KDApLCBleGVjLT5hcmd1
bWVudCgxKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXBsYWNlVXNpbmdTdHJpbmdT
ZWFyY2godm0sIGV4ZWMsIHN0cmluZywgZXhlYy0+YXJndW1lbnQoMCksIGV4ZWMtPmFyZ3VtZW50
KDEpKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uU3RyaW5n
UHJvdG9GdW5jUmVwbGFjZUdlbmVyaWMoCitKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
U3RyaW5nUHJvdG9GdW5jUmVwbGFjZUdlbmVyaWMoCiAgICAgRXhlY1N0YXRlKiBleGVjLCBFbmNv
ZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHNlYXJjaFZhbHVlLAogICAgIEVu
Y29kZWRKU1ZhbHVlIHJlcGxhY2VWYWx1ZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmgKaW5kZXggODhhMWQwMjZlNTQ0Zjc4YjA0YThkYTRj
N2E2MzVhNjJjZjJhNTc0Yy4uMzc4YWU3MTZkZDg0MjY0NGM1YjdmODY5MDM5M2I5MTJlZjhjMmY0
NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90
eXBlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBl
LmgKQEAgLTUwLDEzICs1MCwxMyBAQCBjbGFzcyBTdHJpbmdQcm90b3R5cGUgOiBwdWJsaWMgU3Ry
aW5nT2JqZWN0IHsKICAgICB2b2lkIGZpbmlzaENyZWF0aW9uKFZNJiwgSlNHbG9iYWxPYmplY3Qq
LCBKU1N0cmluZyopOwogfTsKIAotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRp
b25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlR2VuZXJpYygKK0pTQ2VsbCogSklUX09QRVJBVElPTiBv
cGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlR2VuZXJpYygKICAgICBFeGVjU3RhdGUqLCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHNlYXJjaFZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSByZXBsYWNlVmFsdWUpOwogCi1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9O
IG9wZXJhdGlvblN0cmluZ1Byb3RvRnVuY1JlcGxhY2VSZWdFeHBFbXB0eVN0cigKK0pTQ2VsbCog
SklUX09QRVJBVElPTiBvcGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlUmVnRXhwRW1wdHlT
dHIoCiAgICAgRXhlY1N0YXRlKiwgSlNTdHJpbmcqIHRoaXNWYWx1ZSwgUmVnRXhwT2JqZWN0KiBz
ZWFyY2hWYWx1ZSk7CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uU3Ry
aW5nUHJvdG9GdW5jUmVwbGFjZVJlZ0V4cFN0cmluZygKK0pTQ2VsbCogSklUX09QRVJBVElPTiBv
cGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlUmVnRXhwU3RyaW5nKAogICAgIEV4ZWNTdGF0
ZSosIEpTU3RyaW5nKiB0aGlzVmFsdWUsIFJlZ0V4cE9iamVjdCogc2VhcmNoVmFsdWUsIEpTU3Ry
aW5nKiByZXBsYWNlVmFsdWUpOwogCiBTdHJpbmcgc3Vic3RpdHV0ZUJhY2tyZWZlcmVuY2VzKGNv
bnN0IFN0cmluZyYgcmVwbGFjZW1lbnQsIFN0cmluZ1ZpZXcgc291cmNlLCBjb25zdCBpbnQqIG92
ZWN0b3IsIFJlZ0V4cCogcmVnKTsK
</data>
<flag name="review"
          id="349158"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330133</attachid>
            <date>2017-12-22 11:15:58 -0800</date>
            <delta_ts>2017-12-22 11:15:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181124-20171223041557.patch</filename>
            <type>text/plain</type>
            <size>87344</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZDRlYTVmN2U0Y2YyZjVhNTAxODIwMDljNzFiMmMxYjEyYTcxODdlLi5hNjY2MTc2NjAwYzZkNTAy
YTZlNmRiYmRkNzg0ZDA2MmEyNDlkMzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw1OSBAQAogMjAxNy0xMi0yMiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAorICAgICAgICBbREZHXSBDbGVhbmluZyB1cCBhbmQgdW5pZnlpbmcgMzJiaXQgY29k
ZSBtb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
ODExMjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGlzIHBhdGNoIHVuaWZpZXMgREZHIDMyYml0IGNvZGUgaW50byA2NGJpdCBjb2RlIG1vcmUuIElu
IHRoaXMgcGF0Y2gsIHdlIG1vdmUgUmVnRXhwIERGRyBub2RlcworICAgICAgICBmcm9tIDMyYml0
IC8gNjRiaXQgY29kZSB0byB0aGUgY29tbW9uIGNvZGUuIFdlIGNoYW5nZSBzb21lIFJlZ0V4cCBv
cGVyYXRpb25zIHRvIHJldHVybmluZyBKU0NlbGwqCisgICAgICAgIGluc3RlYWQgb2YgRW5jb2Rl
ZEpTVmFsdWUuIFRoaXMgc2ltcGxpZmllcyBERkcgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAg
QW5kIHdlIGFsc28gbW92ZSBIYXNHZW5lcmljUHJvcGVydHkgc2luY2Ugd2Ugbm93IGhhdmUgSlNW
YWx1ZVJlZ3NGbHVzaGVkQ2FsbFJlc3VsdC4gVG9QcmltaXZlLAorICAgICAgICBMb2dTaGFkb3dD
aGlja2VuUHJvbG9ndWUsIGFuZCBMb2dTaGFkb3dDaGlja2VuVGFpbCBhcmUgYWxtb3N0IHRoZSBz
YW1lIGluIDMyYml0IGFuZCA2NGJpdC4KKyAgICAgICAgVGh1cywgaXQgaXMgdW5pZmllZCBlYXNp
bHkuCisKKyAgICAgICAgQW5kIHdlIGFsc28gbW92ZSBzb21lIEdQUkZsdXNoZWRDYWxsUmVzdWx0
IGZyb20gdGhlIG9yaWdpbmFsIHBsYWNlcyB0byB0aGUgcGxhY2VzIGp1c3QgYWZ0ZXIKKyAgICAg
ICAgYGZsdXNoUmVnaXN0ZXJzKClgIG5vdCB0byBzcGlsbCB1bm5lY2Vzc2FyeSByZWdpc3RlcnMu
CisKKyAgICAgICAgKiBkZmcvREZHT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogZGZnL0RGR09w
ZXJhdGlvbnMuaDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlUmVnRXhwRXhlYyk6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVSZWdFeHBUZXN0KToKKyAgICAgICAg
KEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVN0cmluZ1JlcGxhY2UpOgorICAgICAg
ICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlSGFzR2VuZXJpY1Byb3BlcnR5KToK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVRvUHJpbWl0aXZlKToK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUxvZ1NoYWRvd0NoaWNr
ZW5Qcm9sb2d1ZSk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVM
b2dTaGFkb3dDaGlja2VuVGFpbCk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhbGxPcGVyYXRpb24pOgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0
aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorICAgICAgICAo
SlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpzcGVjdWxhdGVEb3VibGVSZXBBbnlJbnQpOgorICAg
ICAgICAqIGZ0bC9GVExMb3dlckRGR1RvQjMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6
TG93ZXJERkdUb0IzOjpjb21waWxlU3RyaW5nUmVwbGFjZSk6CisgICAgICAgICogaml0L0pJVE9w
ZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGppdC9KSVRPcGVyYXRpb25zLmg6CisgICAgICAgICog
cnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwOgorICAgICAgICAoSlNDOjpqc1NwbGljZVN1YnN0
cmluZ3MpOgorICAgICAgICAoSlNDOjpqc1NwbGljZVN1YnN0cmluZ3NXaXRoU2VwYXJhdG9ycyk6
CisgICAgICAgIChKU0M6OnJlbW92ZVVzaW5nUmVnRXhwU2VhcmNoKToKKyAgICAgICAgKEpTQzo6
cmVwbGFjZVVzaW5nUmVnRXhwU2VhcmNoKToKKyAgICAgICAgKEpTQzo6b3BlcmF0aW9uU3RyaW5n
UHJvdG9GdW5jUmVwbGFjZVJlZ0V4cEVtcHR5U3RyKToKKyAgICAgICAgKEpTQzo6b3BlcmF0aW9u
U3RyaW5nUHJvdG9GdW5jUmVwbGFjZVJlZ0V4cFN0cmluZyk6CisgICAgICAgIChKU0M6OnJlcGxh
Y2VVc2luZ1N0cmluZ1NlYXJjaCk6CisgICAgICAgIChKU0M6OnJlcGxhY2UpOgorICAgICAgICAo
SlNDOjpzdHJpbmdQcm90b0Z1bmNSZXBsYWNlVXNpbmdSZWdFeHApOgorICAgICAgICAoSlNDOjpz
dHJpbmdQcm90b0Z1bmNSZXBsYWNlVXNpbmdTdHJpbmdTZWFyY2gpOgorICAgICAgICAoSlNDOjpv
cGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlR2VuZXJpYyk6CisgICAgICAgICogcnVudGlt
ZS9TdHJpbmdQcm90b3R5cGUuaDoKKworMjAxNy0xMi0yMiAgWXVzdWtlIFN1enVraSAgPHV0YXRh
bmUudGVhQGdtYWlsLmNvbT4KKwogICAgICAgICBbREZHXSBVbmlmeSBidW5jaCBvZiBERkcgMzJi
aXQgY29kZSBpbnRvIDY0Yml0IGNvZGUKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4MTA4MwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
cGVyYXRpb25zLmNwcAppbmRleCA2NzFmOTRkNzdmYWE2YWM0NDJhYzlmNTIwMWEwZWYwNGY4N2Fl
NGM5Li4xZjBkOGM3Mzc1NTA3OTYxMzFjYzUwMzk3ZDk3OTA3NGQzODE5OGQ3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKQEAgLTU1LDYgKzU1LDcgQEAK
ICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdEZ1bmN0aW9ucy5oIgogI2luY2x1ZGUgIkpTTGV4aWNh
bEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNNYXAuaCIKKyNpbmNsdWRlICJKU1Byb3BlcnR5
TmFtZUVudW1lcmF0b3IuaCIKICNpbmNsdWRlICJKU1NldC5oIgogI2luY2x1ZGUgIk9iamVjdENv
bnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiT3BlcmF0aW9ucy5oIgpAQCAtMTgwMCw2ICsxODAxLDIw
IEBAIGNoYXIqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRW5zdXJlQXJyYXlTdG9yYWdlKEV4ZWNT
dGF0ZSogZXhlYywgSlNDZWxsKiBjZWxsKQogICAgIHJldHVybiByZWludGVycHJldF9jYXN0PGNo
YXIqPihhc09iamVjdChjZWxsKS0+ZW5zdXJlQXJyYXlTdG9yYWdlKHZtKSk7CiB9CiAKK0VuY29k
ZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzR2VuZXJpY1Byb3BlcnR5KEV4ZWNT
dGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZEJhc2VWYWx1ZSwgSlNDZWxsKiBwcm9w
ZXJ0eU5hbWUpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRpdmVDYWxsRnJh
bWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgSlNWYWx1ZSBiYXNlVmFsdWUgPSBKU1Zh
bHVlOjpkZWNvZGUoZW5jb2RlZEJhc2VWYWx1ZSk7CisgICAgaWYgKGJhc2VWYWx1ZS5pc1VuZGVm
aW5lZE9yTnVsbCgpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihm
YWxzZSkpOworCisgICAgSlNPYmplY3QqIGJhc2UgPSBiYXNlVmFsdWUudG9PYmplY3QoZXhlYyk7
CisgICAgaWYgKCFiYXNlKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVmFsdWUo
KSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc0Jvb2xlYW4oYmFzZS0+aGFzUHJvcGVy
dHlHZW5lcmljKGV4ZWMsIGFzU3RyaW5nKHByb3BlcnR5TmFtZSktPnRvSWRlbnRpZmllcihleGVj
KSwgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6OkdldE93blByb3BlcnR5KSkpOwor
fQorCiBFbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkhhc0luZGV4ZWRQcm9w
ZXJ0eUJ5SW50KEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBiYXNlQ2VsbCwgaW50MzJfdCBzdWJz
Y3JpcHQsIGludDMyX3QgaW50ZXJuYWxNZXRob2RUeXBlKQogewogICAgIFZNJiB2bSA9IGV4ZWMt
PnZtKCk7CkBAIC0xODEyLDYgKzE4MjcsNDMgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElP
TiBvcGVyYXRpb25IYXNJbmRleGVkUHJvcGVydHlCeUludChFeGVjU3RhdGUqIGV4ZWMsIEoKICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihvYmplY3QtPmhhc1Byb3BlcnR5R2Vu
ZXJpYyhleGVjLCBzdWJzY3JpcHQsIHN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6SW50ZXJuYWxN
ZXRob2RUeXBlPihpbnRlcm5hbE1ldGhvZFR5cGUpKSkpOwogfQogCitKU0NlbGwqIEpJVF9PUEVS
QVRJT04gb3BlcmF0aW9uR2V0UHJvcGVydHlFbnVtZXJhdG9yKEV4ZWNTdGF0ZSogZXhlYywgRW5j
b2RlZEpTVmFsdWUgZW5jb2RlZEJhc2UpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAg
ICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgYXV0byBzY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworCisgICAgSlNWYWx1ZSBiYXNlID0gSlNWYWx1
ZTo6ZGVjb2RlKGVuY29kZWRCYXNlKTsKKyAgICBpZiAoYmFzZS5pc1VuZGVmaW5lZE9yTnVsbCgp
KQorICAgICAgICByZXR1cm4gSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpjcmVhdGUodm0pOwor
CisgICAgSlNPYmplY3QqIGJhc2VPYmplY3QgPSBiYXNlLnRvT2JqZWN0KGV4ZWMpOworICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisKKyAgICBzY29wZS5yZWxlYXNlKCk7Cisg
ICAgcmV0dXJuIHByb3BlcnR5TmFtZUVudW1lcmF0b3IoZXhlYywgYmFzZU9iamVjdCk7Cit9CisK
K0pTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQcm9wZXJ0eUVudW1lcmF0b3JDZWxs
KEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxsKQoreworICAgIFZNJiB2bSA9IGV4ZWMtPnZt
KCk7CisgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcigmdm0sIGV4ZWMpOworICAgIGF1
dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKworICAgIEpTT2JqZWN0KiBiYXNl
ID0gY2VsbC0+dG9PYmplY3QoZXhlYywgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKKyAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0pOworCisgICAgc2NvcGUucmVsZWFzZSgp
OworICAgIHJldHVybiBwcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKGV4ZWMsIGJhc2UpOworfQorCitK
U0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVG9JbmRleFN0cmluZyhFeGVjU3RhdGUqIGV4
ZWMsIGludDMyX3QgaW5kZXgpCit7CisgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKKyAgICBOYXRp
dmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7CisgICAgcmV0dXJuIGpzU3RyaW5n
KGV4ZWMsIElkZW50aWZpZXI6OmZyb20oZXhlYywgaW5kZXgpLnN0cmluZygpKTsKK30KKwogU3Ry
aW5nSW1wbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25SZXNvbHZlUm9wZShFeGVjU3RhdGUqIGV4
ZWMsIEpTU3RyaW5nKiBzdHJpbmcpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmgKaW5kZXggNWJlYzliN2FiYWU1Nzli
ZjJiMjI2Y2RiNDY2Njg0ODY5ZjhkY2QxNC4uYWI3NWI3NDM0YTliYjljNzBjNjQwOWM3NGI4NGRh
YTAzMzYyZjllYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVy
YXRpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmgK
QEAgLTgwLDcgKzgwLDExIEBAIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
R2V0QnlJZFdpdGhUaGlzKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlCiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5VmFsV2l0aFRoaXMoRXhlY1N0YXRlKiwgRW5j
b2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFM
OwogRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQcm90b3R5cGVPZihF
eGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSkgV1RGX0lOVEVSTkFMOwogRW5jb2RlZEpTVmFsdWUg
SklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQcm90b3R5cGVPZk9iamVjdChFeGVjU3RhdGUqLCBK
U09iamVjdCopIFdURl9JTlRFUk5BTDsKK0VuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uSGFzR2VuZXJpY1Byb3BlcnR5KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBKU0Nl
bGwqKTsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzSW5kZXhlZFBy
b3BlcnR5QnlJbnQoRXhlY1N0YXRlKiwgSlNDZWxsKiwgaW50MzJfdCwgaW50MzJfdCk7CitKU0Nl
bGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0UHJvcGVydHlFbnVtZXJhdG9yKEV4ZWNTdGF0
ZSosIEVuY29kZWRKU1ZhbHVlKTsKK0pTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25HZXRQ
cm9wZXJ0eUVudW1lcmF0b3JDZWxsKEV4ZWNTdGF0ZSosIEpTQ2VsbCopOworSlNDZWxsKiBKSVRf
T1BFUkFUSU9OIG9wZXJhdGlvblRvSW5kZXhTdHJpbmcoRXhlY1N0YXRlKiwgaW50MzJfdCk7CiBj
aGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5KEV4ZWNTdGF0ZSosIFN0cnVjdHVy
ZSosIHZvaWQqLCBzaXplX3QpIFdURl9JTlRFUk5BTDsKIGNoYXIqIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uTmV3RW1wdHlBcnJheShFeGVjU3RhdGUqLCBTdHJ1Y3R1cmUqKSBXVEZfSU5URVJOQUw7
CiBjaGFyKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld0FycmF5V2l0aFNpemUoRXhlY1N0YXRl
KiwgU3RydWN0dXJlKiwgaW50MzJfdCwgQnV0dGVyZmx5KikgV1RGX0lOVEVSTkFMOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCAwZGUw
MTk1Njk0MGU1MzY0ZTUxOTdkNjc0N2Q2MTUyODkyY2FjODE5Li5kNjY3NDc0ODYzMWNhZmE1YTIy
OWVmMDc1M2U1Y2JmMjIwZTA1NWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1NwZWN1bGF0aXZlSklULmNwcApAQCAtMTA0MjMsNiArMTA0MjMsMTk1IEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGVTZXRSZWdFeHBPYmplY3RMYXN0SW5kZXgoTm9kZSogbm9kZSkK
ICAgICBub1Jlc3VsdChub2RlKTsKIH0KIAordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVJl
Z0V4cEV4ZWMoTm9kZSogbm9kZSkKK3sKKyAgICBib29sIHNhbXBsZSA9IGZhbHNlOworICAgIGlm
IChzYW1wbGUpCisgICAgICAgIG1faml0LmluY3JlbWVudFN1cGVyU2FtcGxlckNvdW50KCk7CisK
KyAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBnbG9iYWxPYmplY3QodGhpcywgbm9kZS0+Y2hpbGQx
KCkpOworICAgIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgPSBnbG9iYWxPYmplY3QuZ3ByKCk7CisK
KyAgICBpZiAobm9kZS0+Y2hpbGQyKCkudXNlS2luZCgpID09IFJlZ0V4cE9iamVjdFVzZSkgewor
ICAgICAgICBpZiAobm9kZS0+Y2hpbGQzKCkudXNlS2luZCgpID09IFN0cmluZ1VzZSkgeworICAg
ICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7
CisgICAgICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBhcmd1bWVudCh0aGlzLCBub2RlLT5j
aGlsZDMoKSk7CisgICAgICAgICAgICBHUFJSZWcgYmFzZUdQUiA9IGJhc2UuZ3ByKCk7CisgICAg
ICAgICAgICBHUFJSZWcgYXJndW1lbnRHUFIgPSBhcmd1bWVudC5ncHIoKTsKKyAgICAgICAgICAg
IHNwZWN1bGF0ZVJlZ0V4cE9iamVjdChub2RlLT5jaGlsZDIoKSwgYmFzZUdQUik7CisgICAgICAg
ICAgICBzcGVjdWxhdGVTdHJpbmcobm9kZS0+Y2hpbGQzKCksIGFyZ3VtZW50R1BSKTsKKworICAg
ICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKKyAgICAgICAgICAgIEpTVmFsdWVSZWdzRmx1c2hl
ZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOworICAgICAgICAgICAgSlNWYWx1ZVJlZ3MgcmVzdWx0
UmVncyA9IHJlc3VsdC5yZWdzKCk7CisgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlv
blJlZ0V4cEV4ZWNTdHJpbmcsIHJlc3VsdFJlZ3MsIGdsb2JhbE9iamVjdEdQUiwgYmFzZUdQUiwg
YXJndW1lbnRHUFIpOworICAgICAgICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKKworICAg
ICAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHRSZWdzLCBub2RlKTsKKworICAgICAgICAgICAg
aWYgKHNhbXBsZSkKKyAgICAgICAgICAgICAgICBtX2ppdC5kZWNyZW1lbnRTdXBlclNhbXBsZXJD
b3VudCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgU3BlY3Vs
YXRlQ2VsbE9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7CisgICAgICAgIEpTVmFs
dWVPcGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5vZGUtPmNoaWxkMygpKTsKKyAgICAgICAgR1BSUmVn
IGJhc2VHUFIgPSBiYXNlLmdwcigpOworICAgICAgICBKU1ZhbHVlUmVncyBhcmd1bWVudFJlZ3Mg
PSBhcmd1bWVudC5qc1ZhbHVlUmVncygpOworICAgICAgICBzcGVjdWxhdGVSZWdFeHBPYmplY3Qo
bm9kZS0+Y2hpbGQyKCksIGJhc2VHUFIpOworCisgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Cisg
ICAgICAgIEpTVmFsdWVSZWdzRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOworICAgICAg
ICBKU1ZhbHVlUmVncyByZXN1bHRSZWdzID0gcmVzdWx0LnJlZ3MoKTsKKyAgICAgICAgY2FsbE9w
ZXJhdGlvbihvcGVyYXRpb25SZWdFeHBFeGVjLCByZXN1bHRSZWdzLCBnbG9iYWxPYmplY3RHUFIs
IGJhc2VHUFIsIGFyZ3VtZW50UmVncyk7CisgICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7
CisKKyAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHRSZWdzLCBub2RlKTsKKworICAgICAgICBp
ZiAoc2FtcGxlKQorICAgICAgICAgICAgbV9qaXQuZGVjcmVtZW50U3VwZXJTYW1wbGVyQ291bnQo
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEpTVmFsdWVPcGVyYW5kIGJhc2UodGhp
cywgbm9kZS0+Y2hpbGQyKCkpOworICAgIEpTVmFsdWVPcGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5v
ZGUtPmNoaWxkMygpKTsKKyAgICBKU1ZhbHVlUmVncyBiYXNlUmVncyA9IGJhc2UuanNWYWx1ZVJl
Z3MoKTsKKyAgICBKU1ZhbHVlUmVncyBhcmd1bWVudFJlZ3MgPSBhcmd1bWVudC5qc1ZhbHVlUmVn
cygpOworCisgICAgZmx1c2hSZWdpc3RlcnMoKTsKKyAgICBKU1ZhbHVlUmVnc0ZsdXNoZWRDYWxs
UmVzdWx0IHJlc3VsdCh0aGlzKTsKKyAgICBKU1ZhbHVlUmVncyByZXN1bHRSZWdzID0gcmVzdWx0
LnJlZ3MoKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblJlZ0V4cEV4ZWNHZW5lcmljLCBy
ZXN1bHRSZWdzLCBnbG9iYWxPYmplY3RHUFIsIGJhc2VSZWdzLCBhcmd1bWVudFJlZ3MpOworICAg
IG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7CisKKyAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdFJlZ3Ms
IG5vZGUpOworCisgICAgaWYgKHNhbXBsZSkKKyAgICAgICAgbV9qaXQuZGVjcmVtZW50U3VwZXJT
YW1wbGVyQ291bnQoKTsKK30KKwordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZVJlZ0V4cFRl
c3QoTm9kZSogbm9kZSkKK3sKKyAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBnbG9iYWxPYmplY3Qo
dGhpcywgbm9kZS0+Y2hpbGQxKCkpOworICAgIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgPSBnbG9i
YWxPYmplY3QuZ3ByKCk7CisKKyAgICBpZiAobm9kZS0+Y2hpbGQyKCkudXNlS2luZCgpID09IFJl
Z0V4cE9iamVjdFVzZSkgeworICAgICAgICBpZiAobm9kZS0+Y2hpbGQzKCkudXNlS2luZCgpID09
IFN0cmluZ1VzZSkgeworICAgICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0aGlz
LCBub2RlLT5jaGlsZDIoKSk7CisgICAgICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBhcmd1
bWVudCh0aGlzLCBub2RlLT5jaGlsZDMoKSk7CisgICAgICAgICAgICBHUFJSZWcgYmFzZUdQUiA9
IGJhc2UuZ3ByKCk7CisgICAgICAgICAgICBHUFJSZWcgYXJndW1lbnRHUFIgPSBhcmd1bWVudC5n
cHIoKTsKKyAgICAgICAgICAgIHNwZWN1bGF0ZVJlZ0V4cE9iamVjdChub2RlLT5jaGlsZDIoKSwg
YmFzZUdQUik7CisgICAgICAgICAgICBzcGVjdWxhdGVTdHJpbmcobm9kZS0+Y2hpbGQzKCksIGFy
Z3VtZW50R1BSKTsKKworICAgICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKKyAgICAgICAgICAg
IEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKKyAgICAgICAgICAgIGNhbGxPcGVy
YXRpb24ob3BlcmF0aW9uUmVnRXhwVGVzdFN0cmluZywgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmpl
Y3RHUFIsIGJhc2VHUFIsIGFyZ3VtZW50R1BSKTsKKyAgICAgICAgICAgIG1faml0LmV4Y2VwdGlv
bkNoZWNrKCk7CisKKyAgICAgICAgICAgIHVuYmxlc3NlZEJvb2xlYW5SZXN1bHQocmVzdWx0Lmdw
cigpLCBub2RlKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIFNw
ZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQyKCkpOworICAgICAgICBK
U1ZhbHVlT3BlcmFuZCBhcmd1bWVudCh0aGlzLCBub2RlLT5jaGlsZDMoKSk7CisgICAgICAgIEdQ
UlJlZyBiYXNlR1BSID0gYmFzZS5ncHIoKTsKKyAgICAgICAgSlNWYWx1ZVJlZ3MgYXJndW1lbnRS
ZWdzID0gYXJndW1lbnQuanNWYWx1ZVJlZ3MoKTsKKyAgICAgICAgc3BlY3VsYXRlUmVnRXhwT2Jq
ZWN0KG5vZGUtPmNoaWxkMigpLCBiYXNlR1BSKTsKKworICAgICAgICBmbHVzaFJlZ2lzdGVycygp
OworICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CisgICAgICAgIGNh
bGxPcGVyYXRpb24ob3BlcmF0aW9uUmVnRXhwVGVzdCwgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmpl
Y3RHUFIsIGJhc2VHUFIsIGFyZ3VtZW50UmVncyk7CisgICAgICAgIG1faml0LmV4Y2VwdGlvbkNo
ZWNrKCk7CisKKyAgICAgICAgdW5ibGVzc2VkQm9vbGVhblJlc3VsdChyZXN1bHQuZ3ByKCksIG5v
ZGUpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgSlNWYWx1ZU9wZXJhbmQgYmFzZSh0
aGlzLCBub2RlLT5jaGlsZDIoKSk7CisgICAgSlNWYWx1ZU9wZXJhbmQgYXJndW1lbnQodGhpcywg
bm9kZS0+Y2hpbGQzKCkpOworICAgIEpTVmFsdWVSZWdzIGJhc2VSZWdzID0gYmFzZS5qc1ZhbHVl
UmVncygpOworICAgIEpTVmFsdWVSZWdzIGFyZ3VtZW50UmVncyA9IGFyZ3VtZW50LmpzVmFsdWVS
ZWdzKCk7CisKKyAgICBmbHVzaFJlZ2lzdGVycygpOworICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0
IHJlc3VsdCh0aGlzKTsKKyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblJlZ0V4cFRlc3RHZW5l
cmljLCByZXN1bHQuZ3ByKCksIGdsb2JhbE9iamVjdEdQUiwgYmFzZVJlZ3MsIGFyZ3VtZW50UmVn
cyk7CisgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKKworICAgIHVuYmxlc3NlZEJvb2xlYW5S
ZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsKK30KKwordm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZVN0cmluZ1JlcGxhY2UoTm9kZSogbm9kZSkKK3sKKyAgICBBU1NFUlQobm9kZS0+b3AoKSA9
PSBTdHJpbmdSZXBsYWNlIHx8IG5vZGUtPm9wKCkgPT0gU3RyaW5nUmVwbGFjZVJlZ0V4cCk7Cisg
ICAgYm9vbCBzYW1wbGUgPSBmYWxzZTsKKyAgICBpZiAoc2FtcGxlKQorICAgICAgICBtX2ppdC5p
bmNyZW1lbnRTdXBlclNhbXBsZXJDb3VudCgpOworCisgICAgaWYgKG5vZGUtPmNoaWxkMSgpLnVz
ZUtpbmQoKSA9PSBTdHJpbmdVc2UKKyAgICAgICAgJiYgbm9kZS0+Y2hpbGQyKCkudXNlS2luZCgp
ID09IFJlZ0V4cE9iamVjdFVzZQorICAgICAgICAmJiBub2RlLT5jaGlsZDMoKS51c2VLaW5kKCkg
PT0gU3RyaW5nVXNlKSB7CisgICAgICAgIGlmIChKU1N0cmluZyogcmVwbGFjZSA9IG5vZGUtPmNo
aWxkMygpLT5keW5hbWljQ2FzdENvbnN0YW50PEpTU3RyaW5nKj4oKm1faml0LnZtKCkpKSB7Cisg
ICAgICAgICAgICBpZiAoIXJlcGxhY2UtPmxlbmd0aCgpKSB7CisgICAgICAgICAgICAgICAgU3Bl
Y3VsYXRlQ2VsbE9wZXJhbmQgc3RyaW5nKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAg
ICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCByZWdFeHAodGhpcywgbm9kZS0+Y2hpbGQyKCkp
OworICAgICAgICAgICAgICAgIEdQUlJlZyBzdHJpbmdHUFIgPSBzdHJpbmcuZ3ByKCk7CisgICAg
ICAgICAgICAgICAgR1BSUmVnIHJlZ0V4cEdQUiA9IHJlZ0V4cC5ncHIoKTsKKyAgICAgICAgICAg
ICAgICBzcGVjdWxhdGVTdHJpbmcobm9kZS0+Y2hpbGQxKCksIHN0cmluZ0dQUik7CisgICAgICAg
ICAgICAgICAgc3BlY3VsYXRlUmVnRXhwT2JqZWN0KG5vZGUtPmNoaWxkMigpLCByZWdFeHBHUFIp
OworCisgICAgICAgICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKKyAgICAgICAgICAgICAgICBH
UFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CisgICAgICAgICAgICAgICAgY2FsbE9w
ZXJhdGlvbihvcGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlUmVnRXhwRW1wdHlTdHIsIHJl
c3VsdC5ncHIoKSwgc3RyaW5nR1BSLCByZWdFeHBHUFIpOworICAgICAgICAgICAgICAgIG1faml0
LmV4Y2VwdGlvbkNoZWNrKCk7CisgICAgICAgICAgICAgICAgY2VsbFJlc3VsdChyZXN1bHQuZ3By
KCksIG5vZGUpOworICAgICAgICAgICAgICAgIGlmIChzYW1wbGUpCisgICAgICAgICAgICAgICAg
ICAgIG1faml0LmRlY3JlbWVudFN1cGVyU2FtcGxlckNvdW50KCk7CisgICAgICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgU3BlY3VsYXRlQ2Vs
bE9wZXJhbmQgc3RyaW5nKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKKyAgICAgICAgU3BlY3VsYXRl
Q2VsbE9wZXJhbmQgcmVnRXhwKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKKyAgICAgICAgU3BlY3Vs
YXRlQ2VsbE9wZXJhbmQgcmVwbGFjZSh0aGlzLCBub2RlLT5jaGlsZDMoKSk7CisgICAgICAgIEdQ
UlJlZyBzdHJpbmdHUFIgPSBzdHJpbmcuZ3ByKCk7CisgICAgICAgIEdQUlJlZyByZWdFeHBHUFIg
PSByZWdFeHAuZ3ByKCk7CisgICAgICAgIEdQUlJlZyByZXBsYWNlR1BSID0gcmVwbGFjZS5ncHIo
KTsKKyAgICAgICAgc3BlY3VsYXRlU3RyaW5nKG5vZGUtPmNoaWxkMSgpLCBzdHJpbmdHUFIpOwor
ICAgICAgICBzcGVjdWxhdGVSZWdFeHBPYmplY3Qobm9kZS0+Y2hpbGQyKCksIHJlZ0V4cEdQUik7
CisgICAgICAgIHNwZWN1bGF0ZVN0cmluZyhub2RlLT5jaGlsZDMoKSwgcmVwbGFjZUdQUik7CisK
KyAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKKyAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQg
cmVzdWx0KHRoaXMpOworICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblN0cmluZ1Byb3Rv
RnVuY1JlcGxhY2VSZWdFeHBTdHJpbmcsIHJlc3VsdC5ncHIoKSwgc3RyaW5nR1BSLCByZWdFeHBH
UFIsIHJlcGxhY2VHUFIpOworICAgICAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOworICAgICAg
ICBjZWxsUmVzdWx0KHJlc3VsdC5ncHIoKSwgbm9kZSk7CisgICAgICAgIGlmIChzYW1wbGUpCisg
ICAgICAgICAgICBtX2ppdC5kZWNyZW1lbnRTdXBlclNhbXBsZXJDb3VudCgpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgLy8gSWYgd2UgZml4ZWQgdXAgdGhlIGVkZ2Ugb2YgY2hpbGQy
LCB3ZSBpbnNlcnRlZCBhIENoZWNrKEBjaGlsZDIsIFN0cmluZykuCisgICAgT3BlcmFuZFNwZWN1
bGF0aW9uTW9kZSBjaGlsZDJTcGVjdWxhdGlvbk1vZGUgPSBBdXRvbWF0aWNPcGVyYW5kU3BlY3Vs
YXRpb247CisgICAgaWYgKG5vZGUtPmNoaWxkMigpLnVzZUtpbmQoKSA9PSBTdHJpbmdVc2UpCisg
ICAgICAgIGNoaWxkMlNwZWN1bGF0aW9uTW9kZSA9IE1hbnVhbE9wZXJhbmRTcGVjdWxhdGlvbjsK
KworICAgIEpTVmFsdWVPcGVyYW5kIHN0cmluZyh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CisgICAg
SlNWYWx1ZU9wZXJhbmQgc2VhcmNoKHRoaXMsIG5vZGUtPmNoaWxkMigpLCBjaGlsZDJTcGVjdWxh
dGlvbk1vZGUpOworICAgIEpTVmFsdWVPcGVyYW5kIHJlcGxhY2UodGhpcywgbm9kZS0+Y2hpbGQz
KCkpOworICAgIEpTVmFsdWVSZWdzIHN0cmluZ1JlZ3MgPSBzdHJpbmcuanNWYWx1ZVJlZ3MoKTsK
KyAgICBKU1ZhbHVlUmVncyBzZWFyY2hSZWdzID0gc2VhcmNoLmpzVmFsdWVSZWdzKCk7CisgICAg
SlNWYWx1ZVJlZ3MgcmVwbGFjZVJlZ3MgPSByZXBsYWNlLmpzVmFsdWVSZWdzKCk7CisKKyAgICBm
bHVzaFJlZ2lzdGVycygpOworICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsK
KyAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblN0cmluZ1Byb3RvRnVuY1JlcGxhY2VHZW5lcmlj
LCByZXN1bHQuZ3ByKCksIHN0cmluZ1JlZ3MsIHNlYXJjaFJlZ3MsIHJlcGxhY2VSZWdzKTsKKyAg
ICBtX2ppdC5leGNlcHRpb25DaGVjaygpOworICAgIGNlbGxSZXN1bHQocmVzdWx0LmdwcigpLCBu
b2RlKTsKKyAgICBpZiAoc2FtcGxlKQorICAgICAgICBtX2ppdC5kZWNyZW1lbnRTdXBlclNhbXBs
ZXJDb3VudCgpOworfQorCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTGF6eUpTQ29uc3Rh
bnQoTm9kZSogbm9kZSkKIHsKICAgICBKU1ZhbHVlUmVnc1RlbXBvcmFyeSByZXN1bHQodGhpcyk7
CkBAIC0xMDkwNSw2ICsxMTA5NCwyMiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlR2V0
RW51bWVyYWJsZUxlbmd0aChOb2RlKiBub2RlKQogICAgIGludDMyUmVzdWx0KHJlc3VsdEdQUiwg
bm9kZSk7CiB9CiAKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVIYXNHZW5lcmljUHJvcGVy
dHkoTm9kZSogbm9kZSkKK3sKKyAgICBKU1ZhbHVlT3BlcmFuZCBiYXNlKHRoaXMsIG5vZGUtPmNo
aWxkMSgpKTsKKyAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBwcm9wZXJ0eSh0aGlzLCBub2RlLT5j
aGlsZDIoKSk7CisKKyAgICBKU1ZhbHVlUmVncyBiYXNlUmVncyA9IGJhc2UuanNWYWx1ZVJlZ3Mo
KTsKKyAgICBHUFJSZWcgcHJvcGVydHlHUFIgPSBwcm9wZXJ0eS5ncHIoKTsKKworICAgIGZsdXNo
UmVnaXN0ZXJzKCk7CisgICAgSlNWYWx1ZVJlZ3NGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhp
cyk7CisgICAgSlNWYWx1ZVJlZ3MgcmVzdWx0UmVncyA9IHJlc3VsdC5yZWdzKCk7CisgICAgY2Fs
bE9wZXJhdGlvbihvcGVyYXRpb25IYXNHZW5lcmljUHJvcGVydHksIHJlc3VsdFJlZ3MsIGJhc2VS
ZWdzLCBwcm9wZXJ0eUdQUik7CisgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKKyAgICBibGVz
c2VkQm9vbGVhblJlc3VsdChyZXN1bHRSZWdzLnBheWxvYWRHUFIoKSwgbm9kZSk7Cit9CisKIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVUb0luZGV4U3RyaW5nKE5vZGUqIG5vZGUpCiB7CiAg
ICAgU3BlY3VsYXRlSW50MzJPcGVyYW5kIGluZGV4KHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKQEAg
LTExMjI3LDYgKzExNDMyLDc0IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVOZXdPYmpl
Y3QoTm9kZSogbm9kZSkKICAgICBjZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7CiB9CiAKK3Zv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVUb1ByaW1pdGl2ZShOb2RlKiBub2RlKQoreworICAg
IERGR19BU1NFUlQobV9qaXQuZ3JhcGgoKSwgbm9kZSwgbm9kZS0+Y2hpbGQxKCkudXNlS2luZCgp
ID09IFVudHlwZWRVc2UpOworICAgIEpTVmFsdWVPcGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5vZGUt
PmNoaWxkMSgpKTsKKyAgICBKU1ZhbHVlUmVnc1RlbXBvcmFyeSByZXN1bHQodGhpcywgUmV1c2Us
IGFyZ3VtZW50KTsKKworICAgIEpTVmFsdWVSZWdzIGFyZ3VtZW50UmVncyA9IGFyZ3VtZW50Lmpz
VmFsdWVSZWdzKCk7CisgICAgSlNWYWx1ZVJlZ3MgcmVzdWx0UmVncyA9IHJlc3VsdC5yZWdzKCk7
CisKKyAgICBhcmd1bWVudC51c2UoKTsKKworICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGFscmVh
ZHlQcmltaXRpdmUgPSBtX2ppdC5icmFuY2hJZk5vdENlbGwoYXJndW1lbnRSZWdzKTsKKyAgICBN
YWNyb0Fzc2VtYmxlcjo6SnVtcCBub3RQcmltaXRpdmUgPSBtX2ppdC5icmFuY2hJZk9iamVjdChh
cmd1bWVudFJlZ3MucGF5bG9hZEdQUigpKTsKKworICAgIGFscmVhZHlQcmltaXRpdmUubGluaygm
bV9qaXQpOworICAgIG1faml0Lm1vdmVWYWx1ZVJlZ3MoYXJndW1lbnRSZWdzLCByZXN1bHRSZWdz
KTsKKworICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKHNsb3dQYXRoQ2FsbChub3RQcmltaXRpdmUs
IHRoaXMsIG9wZXJhdGlvblRvUHJpbWl0aXZlLCByZXN1bHRSZWdzLCBhcmd1bWVudFJlZ3MpKTsK
KworICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0UmVncywgbm9kZSwgRGF0YUZvcm1hdEpTLCBVc2VD
aGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOworfQorCit2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlTG9nU2hhZG93Q2hpY2tlblByb2xvZ3VlKE5vZGUqIG5vZGUpCit7CisgICAgZmx1c2hSZWdp
c3RlcnMoKTsKKyAgICBwcmVwYXJlRm9yRXh0ZXJuYWxDYWxsKCk7CisgICAgbV9qaXQuZW1pdFN0
b3JlQ29kZU9yaWdpbihub2RlLT5vcmlnaW4uc2VtYW50aWMpOworCisgICAgR1BSVGVtcG9yYXJ5
IHNjcmF0Y2gxKHRoaXMsIEdQUkluZm86Om5vbkFyZ0dQUjApOyAvLyBUaGlzIG11c3QgYmUgYSBu
b24tYXJndW1lbnQgR1BSLgorICAgIEdQUlJlZyBzY3JhdGNoMVJlZyA9IHNjcmF0Y2gxLmdwcigp
OworICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoMih0aGlzKTsKKyAgICBHUFJSZWcgc2NyYXRjaDJS
ZWcgPSBzY3JhdGNoMi5ncHIoKTsKKyAgICBHUFJUZW1wb3Jhcnkgc2hhZG93UGFja2V0KHRoaXMp
OworICAgIEdQUlJlZyBzaGFkb3dQYWNrZXRSZWcgPSBzaGFkb3dQYWNrZXQuZ3ByKCk7CisKKyAg
ICBtX2ppdC5lbnN1cmVTaGFkb3dDaGlja2VuUGFja2V0KCptX2ppdC52bSgpLCBzaGFkb3dQYWNr
ZXRSZWcsIHNjcmF0Y2gxUmVnLCBzY3JhdGNoMlJlZyk7CisKKyAgICBTcGVjdWxhdGVDZWxsT3Bl
cmFuZCBzY29wZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CisgICAgR1BSUmVnIHNjb3BlUmVnID0g
c2NvcGUuZ3ByKCk7CisKKyAgICBtX2ppdC5sb2dTaGFkb3dDaGlja2VuUHJvbG9ndWVQYWNrZXQo
c2hhZG93UGFja2V0UmVnLCBzY3JhdGNoMVJlZywgc2NvcGVSZWcpOworICAgIG5vUmVzdWx0KG5v
ZGUpOworfQorCit2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTG9nU2hhZG93Q2hpY2tlblRh
aWwoTm9kZSogbm9kZSkKK3sKKyAgICBmbHVzaFJlZ2lzdGVycygpOworICAgIHByZXBhcmVGb3JF
eHRlcm5hbENhbGwoKTsKKyAgICBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlSW5kZXggPSBtX2ppdC5l
bWl0U3RvcmVDb2RlT3JpZ2luKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7CisKKyAgICBHUFJUZW1w
b3Jhcnkgc2NyYXRjaDEodGhpcywgR1BSSW5mbzo6bm9uQXJnR1BSMCk7IC8vIFRoaXMgbXVzdCBi
ZSBhIG5vbi1hcmd1bWVudCBHUFIuCisgICAgR1BSUmVnIHNjcmF0Y2gxUmVnID0gc2NyYXRjaDEu
Z3ByKCk7CisgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOworICAgIEdQUlJlZyBzY3Jh
dGNoMlJlZyA9IHNjcmF0Y2gyLmdwcigpOworICAgIEdQUlRlbXBvcmFyeSBzaGFkb3dQYWNrZXQo
dGhpcyk7CisgICAgR1BSUmVnIHNoYWRvd1BhY2tldFJlZyA9IHNoYWRvd1BhY2tldC5ncHIoKTsK
KworICAgIG1faml0LmVuc3VyZVNoYWRvd0NoaWNrZW5QYWNrZXQoKm1faml0LnZtKCksIHNoYWRv
d1BhY2tldFJlZywgc2NyYXRjaDFSZWcsIHNjcmF0Y2gyUmVnKTsKKworICAgIEpTVmFsdWVPcGVy
YW5kIHRoaXNWYWx1ZSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CisgICAgSlNWYWx1ZVJlZ3MgdGhp
c1JlZ3MgPSB0aGlzVmFsdWUuanNWYWx1ZVJlZ3MoKTsKKyAgICBTcGVjdWxhdGVDZWxsT3BlcmFu
ZCBzY29wZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7CisgICAgR1BSUmVnIHNjb3BlUmVnID0gc2Nv
cGUuZ3ByKCk7CisKKyAgICBtX2ppdC5sb2dTaGFkb3dDaGlja2VuVGFpbFBhY2tldChzaGFkb3dQ
YWNrZXRSZWcsIHRoaXNSZWdzLCBzY29wZVJlZywgbV9qaXQuY29kZUJsb2NrKCksIGNhbGxTaXRl
SW5kZXgpOworICAgIG5vUmVzdWx0KG5vZGUpOworfQorCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlU2V0QWRkKE5vZGUqIG5vZGUpCiB7CiAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgc2V0
KHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuaAppbmRleCA3OWE0MzMzNTY0MzEyMGRlZTAwMDYxYzZmYzc0M2ZjYWVi
NGE5NWE2Li40MDQ4YmE1ZmNhODYyNzE1NTc5ZTFkYmE1ZTBjMzYzOTJmYTkwNDhiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCkBAIC0xMzQ3LDE4
ICsxMzQ3LDYgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgICAgICByZXR1cm4gYXBwZW5k
Q2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogCi0gICAgSklUQ29tcGls
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FR1Jlb0ogb3BlcmF0aW9uLCBH
UFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIEdQUlJlZyBhcmczKQotICAg
IHsKLSAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIs
IGFyZzMpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJl
c3VsdCk7Ci0gICAgfQotCi0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJ
VE9wZXJhdGlvbl9FR1Jlb0pzcyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcx
LCBHUFJSZWcgYXJnMiwgR1BSUmVnIGFyZzMpCi0gICAgewotICAgICAgICBtX2ppdC5zZXR1cEFy
Z3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMiwgYXJnMyk7Ci0gICAgICAgIHJldHVybiBh
cHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKLSAgICB9Ci0KICAgICBKSVRD
b21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VXcyBvcGVyYXRpb24s
IFdhdGNocG9pbnRTZXQqIHdhdGNocG9pbnRTZXQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1
cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cih3YXRjaHBvaW50U2V0KSk7CkBA
IC0xNTcwLDEyICsxNTU4LDIyIEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICAgICAgbV9q
aXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIpOwogICAgICAgICByZXR1
cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQotICAgIEpJ
VENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzc1JlbyBvcGVy
YXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMikKKyAgICBKSVRD
b21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VHUmVvSiBvcGVyYXRp
b24sIEpTVmFsdWVSZWdzIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBKU1ZhbHVl
UmVncyBhcmczKQorICAgIHsKKyAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0
YXRlKGFyZzEsIGFyZzIsIGFyZzMucGF5bG9hZEdQUigpKTsKKyAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQucGF5bG9hZEdQUigpKTsKKyAgICB9Cisg
ICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FR1Jlb0pz
cyBvcGVyYXRpb24sIEpTVmFsdWVSZWdzIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcy
LCBHUFJSZWcgYXJnMykKKyAgICB7CisgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4
ZWNTdGF0ZShhcmcxLCBhcmcyLCBhcmczKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRS
ZXN1bHQob3BlcmF0aW9uLCByZXN1bHQucGF5bG9hZEdQUigpKTsKKyAgICB9CisgICAgSklUQ29t
cGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNzUmVvIG9wZXJhdGlv
biwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyKQogICAgIHsKICAgICAg
ICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIpOwogICAgICAg
ICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQot
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzc1Jl
b0pzcyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwg
R1BSUmVnIGFyZzMpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9w
ZXJhdGlvbl9FSnNzUmVvSnNzIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEs
IEdQUlJlZyBhcmcyLCBHUFJSZWcgYXJnMykKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJn
dW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyLCBhcmczKTsKICAgICAgICAgcmV0dXJuIGFw
cGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwpAQCAtMTgyNiwxNCArMTgyNCwx
NCBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAgICAgewogICAgICAgICByZXR1cm4gY2FsbE9w
ZXJhdGlvbihvcGVyYXRpb24sIHJlc3VsdCwgYXJnMS5ncHIoKSwgYXJnMi5ncHIoKSk7CiAgICAg
fQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oU19KSVRPcGVyYXRpb25fRUdK
SiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgR1BS
UmVnIGFyZzMpCisgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihTX0pJVE9wZXJh
dGlvbl9FR0pKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEpTVmFsdWVS
ZWdzIGFyZzIsIEpTVmFsdWVSZWdzIGFyZzMpCiAgICAgewotICAgICAgICBtX2ppdC5zZXR1cEFy
Z3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMiwgYXJnMyk7CisgICAgICAgIG1faml0LnNl
dHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyLnBheWxvYWRHUFIoKSwgYXJnMy5w
YXlsb2FkR1BSKCkpOwogICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRp
b24sIHJlc3VsdCk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
U19KSVRPcGVyYXRpb25fRUdSZW9KIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFy
ZzEsIEdQUlJlZyBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0VHUmVvSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQs
IEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgSlNWYWx1ZVJlZ3MgYXJnMykKICAgICB7Ci0gICAg
ICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyLCBhcmczKTsK
KyAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIsIGFy
ZzMucGF5bG9hZEdQUigpKTsKICAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3Bl
cmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0
aW9uKFNfSklUT3BlcmF0aW9uX0VHUmVvSnNzIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BS
UmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBHUFJSZWcgYXJnMykKQEAgLTE4NzIsMTAgKzE4NzAsMTAg
QEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoYXJnMSwgYXJnMik7CiAgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVz
dWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9Ci0gICAgSklUQ29tcGlsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FR0pKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwg
R1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICBKSVRDb21waWxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VHSkogb3BlcmF0aW9uLCBKU1ZhbHVl
UmVncyByZXN1bHQsIEdQUlJlZyBhcmcxLCBKU1ZhbHVlUmVncyBhcmcyLCBKU1ZhbHVlUmVncyBh
cmczKQogICAgIHsKLSAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFy
ZzEsIGFyZzIsIGFyZzMpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVy
YXRpb24sIHJlc3VsdCk7CisgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0
ZShhcmcxLCBhcmcyLnBheWxvYWRHUFIoKSwgYXJnMy5wYXlsb2FkR1BSKCkpOworICAgICAgICBy
ZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdC5wYXlsb2FkR1BSKCkp
OwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0
aW9uX0VKSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBpbnQzMl90IGlt
bSkKICAgICB7CkBAIC0yMjQ3LDE1ICsyMjQ1LDE1IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsK
ICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIpOwog
ICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdC5wYXls
b2FkR1BSKCksIHJlc3VsdC50YWdHUFIoKSk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxs
IGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpzc1JlbyBvcGVyYXRpb24sIEpTVmFsdWVS
ZWdzIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyKQorICAgIEpJVENvbXBpbGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzc1JlbyBvcGVyYXRpb24sIEdQUlJl
ZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMikKICAgICB7CiAgICAgICAgIG1faml0
LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsKLSAgICAgICAgcmV0dXJu
IGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQucGF5bG9hZEdQUigpLCByZXN1
bHQudGFnR1BSKCkpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRp
b24sIHJlc3VsdCk7CiAgICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Sl9KSVRPcGVyYXRpb25fRUpzc1Jlb0pzcyBvcGVyYXRpb24sIEpTVmFsdWVSZWdzIHJlc3VsdCwg
R1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBHUFJSZWcgYXJnMykKKyAgICBKSVRDb21waWxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc3NSZW9Kc3Mgb3BlcmF0aW9uLCBH
UFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIEdQUlJlZyBhcmczKQogICAg
IHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIs
IGFyZzMpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJl
c3VsdC5wYXlsb2FkR1BSKCksIHJlc3VsdC50YWdHUFIoKSk7CisgICAgICAgIHJldHVybiBhcHBl
bmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CiAgICAgSklUQ29tcGls
ZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FUFMgb3BlcmF0aW9uLCBKU1Zh
bHVlUmVncyByZXN1bHQsIHZvaWQqIHBvaW50ZXIsIHNpemVfdCBzaXplKQogICAgIHsKQEAgLTMw
NTEsNyArMzA0OSw5IEBAIGNsYXNzIFNwZWN1bGF0aXZlSklUIHsKICAgICB2b2lkIGNvbXBpbGVB
cnJheUluZGV4T2YoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUFycmF5UHVzaChOb2RlKik7CiAg
ICAgdm9pZCBjb21waWxlTm90aWZ5V3JpdGUoTm9kZSopOwotICAgIGJvb2wgY29tcGlsZVJlZ0V4
cEV4ZWMoTm9kZSopOworICAgIHZvaWQgY29tcGlsZVJlZ0V4cEV4ZWMoTm9kZSopOworICAgIHZv
aWQgY29tcGlsZVJlZ0V4cFRlc3QoTm9kZSopOworICAgIHZvaWQgY29tcGlsZVN0cmluZ1JlcGxh
Y2UoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUlzT2JqZWN0T3JOdWxsKE5vZGUqKTsKICAgICB2
b2lkIGNvbXBpbGVJc0Z1bmN0aW9uKE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVUeXBlT2YoTm9k
ZSopOwpAQCAtMzA3OCw2ICszMDc4LDcgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgIHZv
aWQgY29tcGlsZVRocm93KE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVUaHJvd1N0YXRpY0Vycm9y
KE5vZGUqKTsKICAgICB2b2lkIGNvbXBpbGVHZXRFbnVtZXJhYmxlTGVuZ3RoKE5vZGUqKTsKKyAg
ICB2b2lkIGNvbXBpbGVIYXNHZW5lcmljUHJvcGVydHkoTm9kZSopOwogICAgIHZvaWQgY29tcGls
ZVRvSW5kZXhTdHJpbmcoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZVB1dEJ5SWRXaXRoVGhpcyhO
b2RlKik7CiAgICAgdm9pZCBjb21waWxlSGFzU3RydWN0dXJlUHJvcGVydHkoTm9kZSopOwpAQCAt
MzA5Miw2ICszMDkzLDkgQEAgY2xhc3MgU3BlY3VsYXRpdmVKSVQgewogICAgIHZvaWQgY29tcGls
ZU5ld1R5cGVkQXJyYXkoTm9kZSopOwogICAgIHZvaWQgY29tcGlsZUNyZWF0ZVRoaXMoTm9kZSop
OwogICAgIHZvaWQgY29tcGlsZU5ld09iamVjdChOb2RlKik7CisgICAgdm9pZCBjb21waWxlVG9Q
cmltaXRpdmUoTm9kZSopOworICAgIHZvaWQgY29tcGlsZUxvZ1NoYWRvd0NoaWNrZW5Qcm9sb2d1
ZShOb2RlKik7CisgICAgdm9pZCBjb21waWxlTG9nU2hhZG93Q2hpY2tlblRhaWwoTm9kZSopOwog
CiAgICAgdm9pZCBtb3ZlVHJ1ZVRvKEdQUlJlZyk7CiAgICAgdm9pZCBtb3ZlRmFsc2VUbyhHUFJS
ZWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQzMl82NC5jcHAKaW5kZXggNGUxN2ZhM2RlYzRhOGM3ZGI5YzIxNTE0YmM0ZmFkMGQ4ZmFhOWE5
Mi4uNTIwMGJkNmM3MjEyOTYyYTMyMWNlOTBlMWE5NTNlNjA3MjExZWFkNCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCkBA
IC05ODcsMTQgKzk4NywxMiBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0Q2FsbChOb2RlKiBu
b2RlKQogICAgIGluZm8tPnNldFVwQ2FsbChjYWxsVHlwZSwgbm9kZS0+b3JpZ2luLnNlbWFudGlj
LCBjYWxsZWVQYXlsb2FkR1BSKTsKICAgICAKICAgICBhdXRvIHNldFJlc3VsdEFuZFJlc2V0U3Rh
Y2sgPSBbJl0gKCkgewotICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHRQYXlsb2Fk
KHRoaXMpOwotICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdDIgcmVzdWx0VGFnKHRoaXMpOwot
ICAgICAgICBHUFJSZWcgcmVzdWx0UGF5bG9hZEdQUiA9IHJlc3VsdFBheWxvYWQuZ3ByKCk7Ci0g
ICAgICAgIEdQUlJlZyByZXN1bHRUYWdHUFIgPSByZXN1bHRUYWcuZ3ByKCk7Ci0gICAgICAgIAot
ICAgICAgICBtX2ppdC5zZXR1cFJlc3VsdHMocmVzdWx0UGF5bG9hZEdQUiwgcmVzdWx0VGFnR1BS
KTsKKyAgICAgICAgSlNWYWx1ZVJlZ3NGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7Cisg
ICAgICAgIEpTVmFsdWVSZWdzIHJlc3VsdFJlZ3MgPSByZXN1bHQucmVncygpOwogCi0gICAgICAg
IGpzVmFsdWVSZXN1bHQocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSLCBub2RlLCBEYXRh
Rm9ybWF0SlMsIFVzZUNoaWxkcmVuQ2FsbGVkRXhwbGljaXRseSk7CisgICAgICAgIG1faml0LnNl
dHVwUmVzdWx0cyhyZXN1bHRSZWdzKTsKKworICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdFJl
Z3MsIG5vZGUsIERhdGFGb3JtYXRKUywgVXNlQ2hpbGRyZW5DYWxsZWRFeHBsaWNpdGx5KTsKICAg
ICAgICAgLy8gQWZ0ZXIgdGhlIGNhbGxzIGFyZSBkb25lLCB3ZSBuZWVkIHRvIHJlZXN0YWJsaXNo
IG91ciBzdGFjawogICAgICAgICAvLyBwb2ludGVyLiBXZSByZWx5IG9uIHRoaXMgZm9yIHZhcmFy
Z3MgY2FsbHMsIGNhbGxzIHdpdGggYXJpdHkKICAgICAgICAgLy8gbWlzbWF0Y2ggKHRoZSBjYWxs
ZnJhbWUgaXMgc2xpZGVkKSBhbmQgdGFpbCBjYWxscy4KQEAgLTI1OTAsMTIgKzI1ODgsMTIgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICAgICAgSlNW
YWx1ZVJlZ3MgcHJvcGVydHlSZWdzID0gcHJvcGVydHkuanNWYWx1ZVJlZ3MoKTsKICAgICAgICAg
ICAgIAogICAgICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAgICAgICAgIEdQUkZsdXNo
ZWRDYWxsUmVzdWx0MiByZXN1bHRUYWcodGhpcyk7Ci0gICAgICAgICAgICBHUFJGbHVzaGVkQ2Fs
bFJlc3VsdCByZXN1bHRQYXlsb2FkKHRoaXMpOwotICAgICAgICAgICAgY2FsbE9wZXJhdGlvbihv
cGVyYXRpb25HZXRCeVZhbENlbGwsIEpTVmFsdWVSZWdzKHJlc3VsdFRhZy5ncHIoKSwgcmVzdWx0
UGF5bG9hZC5ncHIoKSksIGJhc2VHUFIsIHByb3BlcnR5UmVncyk7CisgICAgICAgICAgICBKU1Zh
bHVlUmVnc0ZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKKyAgICAgICAgICAgIEpTVmFs
dWVSZWdzIHJlc3VsdFJlZ3MgPSByZXN1bHQucmVncygpOworICAgICAgICAgICAgY2FsbE9wZXJh
dGlvbihvcGVyYXRpb25HZXRCeVZhbENlbGwsIHJlc3VsdFJlZ3MsIGJhc2VHUFIsIHByb3BlcnR5
UmVncyk7CiAgICAgICAgICAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwogICAgICAgICAgICAg
Ci0gICAgICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdFRhZy5ncHIoKSwgcmVzdWx0UGF5bG9h
ZC5ncHIoKSwgbm9kZSk7CisgICAgICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdFJlZ3MsIG5v
ZGUpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgY2FzZSBBcnJheTo6
SW50MzI6CkBAIC0yODUyLDE2ICsyODUwLDEzIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUoTm9kZSogbm9kZSkKICAgICAgICAgSlNWYWx1ZU9wZXJhbmQgc3Vic2NyaXB0KHRoaXMsIG5v
ZGUtPmNoaWxkMygpKTsKICAgICAgICAgSlNWYWx1ZVJlZ3Mgc3Vic2NyaXB0UmVncyA9IHN1YnNj
cmlwdC5qc1ZhbHVlUmVncygpOwogCi0gICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3Vs
dFBheWxvYWQodGhpcyk7Ci0gICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0MiByZXN1bHRUYWco
dGhpcyk7Ci0gICAgICAgIEdQUlJlZyByZXN1bHRQYXlsb2FkR1BSID0gcmVzdWx0UGF5bG9hZC5n
cHIoKTsKLSAgICAgICAgR1BSUmVnIHJlc3VsdFRhZ0dQUiA9IHJlc3VsdFRhZy5ncHIoKTsKLQog
ICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwotICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlv
bkdldEJ5VmFsV2l0aFRoaXMsIEpTVmFsdWVSZWdzKHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9h
ZEdQUiksIGJhc2VSZWdzLCB0aGlzVmFsdWVSZWdzLCBzdWJzY3JpcHRSZWdzKTsKKyAgICAgICAg
SlNWYWx1ZVJlZ3NGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CisgICAgICAgIEpTVmFs
dWVSZWdzIHJlc3VsdFJlZ3MgPSByZXN1bHQucmVncygpOworICAgICAgICBjYWxsT3BlcmF0aW9u
KG9wZXJhdGlvbkdldEJ5VmFsV2l0aFRoaXMsIHJlc3VsdFJlZ3MsIGJhc2VSZWdzLCB0aGlzVmFs
dWVSZWdzLCBzdWJzY3JpcHRSZWdzKTsKICAgICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsK
IAotICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUiwg
bm9kZSk7CisgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0UmVncywgbm9kZSk7CiAgICAgICAg
IGJyZWFrOwogICAgIH0KIApAQCAtMzE2NCwxODMgKzMxNTksMTggQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgIH0KIAogICAgIGNhc2UgUmVnRXhwRXhlYzog
ewotICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBnbG9iYWxPYmplY3QodGhpcywgbm9kZS0+
Y2hpbGQxKCkpOwotICAgICAgICBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSID0gZ2xvYmFsT2JqZWN0
LmdwcigpOwotICAgICAgICAKLSAgICAgICAgaWYgKG5vZGUtPmNoaWxkMigpLnVzZUtpbmQoKSA9
PSBSZWdFeHBPYmplY3RVc2UpIHsKLSAgICAgICAgICAgIGlmIChub2RlLT5jaGlsZDMoKS51c2VL
aW5kKCkgPT0gU3RyaW5nVXNlKSB7Ci0gICAgICAgICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJh
bmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgICAgICAgICAgU3BlY3VsYXRl
Q2VsbE9wZXJhbmQgYXJndW1lbnQodGhpcywgbm9kZS0+Y2hpbGQzKCkpOwotICAgICAgICAgICAg
ICAgIEdQUlJlZyBiYXNlR1BSID0gYmFzZS5ncHIoKTsKLSAgICAgICAgICAgICAgICBHUFJSZWcg
YXJndW1lbnRHUFIgPSBhcmd1bWVudC5ncHIoKTsKLSAgICAgICAgICAgICAgICBzcGVjdWxhdGVS
ZWdFeHBPYmplY3Qobm9kZS0+Y2hpbGQyKCksIGJhc2VHUFIpOwotICAgICAgICAgICAgICAgIHNw
ZWN1bGF0ZVN0cmluZyhub2RlLT5jaGlsZDMoKSwgYXJndW1lbnRHUFIpOwotICAgICAgICAgICAg
ICAgIAotICAgICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgICAgICAgICAgICAg
R1BSRmx1c2hlZENhbGxSZXN1bHQyIHJlc3VsdFRhZyh0aGlzKTsKLSAgICAgICAgICAgICAgICBH
UFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHRQYXlsb2FkKHRoaXMpOwotICAgICAgICAgICAgICAg
IGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvblJlZ0V4cEV4ZWNT
dHJpbmcsIEpTVmFsdWVSZWdzKHJlc3VsdFRhZy5ncHIoKSwgcmVzdWx0UGF5bG9hZC5ncHIoKSks
Ci0gICAgICAgICAgICAgICAgICAgIGdsb2JhbE9iamVjdEdQUiwgYmFzZUdQUiwgYXJndW1lbnRH
UFIpOwotICAgICAgICAgICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7Ci0gICAgICAgICAg
ICAgICAgCi0gICAgICAgICAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHRUYWcuZ3ByKCksIHJl
c3VsdFBheWxvYWQuZ3ByKCksIG5vZGUpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBi
YXNlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKLSAgICAgICAgICAgIEpTVmFsdWVPcGVyYW5kIGFy
Z3VtZW50KHRoaXMsIG5vZGUtPmNoaWxkMygpKTsKLSAgICAgICAgICAgIEdQUlJlZyBiYXNlR1BS
ID0gYmFzZS5ncHIoKTsKLSAgICAgICAgICAgIEpTVmFsdWVSZWdzIGFyZ3VtZW50UmVncyA9IGFy
Z3VtZW50LmpzVmFsdWVSZWdzKCk7Ci0gICAgICAgICAgICBzcGVjdWxhdGVSZWdFeHBPYmplY3Qo
bm9kZS0+Y2hpbGQyKCksIGJhc2VHUFIpOwotICAgICAgICAKLSAgICAgICAgICAgIGZsdXNoUmVn
aXN0ZXJzKCk7Ci0gICAgICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdDIgcmVzdWx0VGFnKHRo
aXMpOwotICAgICAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0UGF5bG9hZCh0aGlz
KTsKLSAgICAgICAgICAgIGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICAgICAgb3BlcmF0aW9u
UmVnRXhwRXhlYywgSlNWYWx1ZVJlZ3MocmVzdWx0VGFnLmdwcigpLCByZXN1bHRQYXlsb2FkLmdw
cigpKSwgZ2xvYmFsT2JqZWN0R1BSLCBiYXNlR1BSLCBhcmd1bWVudFJlZ3MpOwotICAgICAgICAg
ICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKLSAgICAgICAgCi0gICAgICAgICAgICBqc1ZhbHVl
UmVzdWx0KHJlc3VsdFRhZy5ncHIoKSwgcmVzdWx0UGF5bG9hZC5ncHIoKSwgbm9kZSk7Ci0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgSlNWYWx1ZU9wZXJh
bmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgIEpTVmFsdWVPcGVyYW5kIGFy
Z3VtZW50KHRoaXMsIG5vZGUtPmNoaWxkMygpKTsKLSAgICAgICAgSlNWYWx1ZVJlZ3MgYmFzZVJl
Z3MgPSBiYXNlLmpzVmFsdWVSZWdzKCk7Ci0gICAgICAgIEpTVmFsdWVSZWdzIGFyZ3VtZW50UmVn
cyA9IGFyZ3VtZW50LmpzVmFsdWVSZWdzKCk7Ci0gICAgICAgIAotICAgICAgICBmbHVzaFJlZ2lz
dGVycygpOwotICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdDIgcmVzdWx0VGFnKHRoaXMpOwot
ICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHRQYXlsb2FkKHRoaXMpOwotICAgICAg
ICBjYWxsT3BlcmF0aW9uKAotICAgICAgICAgICAgb3BlcmF0aW9uUmVnRXhwRXhlY0dlbmVyaWMs
IEpTVmFsdWVSZWdzKHJlc3VsdFRhZy5ncHIoKSwgcmVzdWx0UGF5bG9hZC5ncHIoKSksIGdsb2Jh
bE9iamVjdEdQUiwgYmFzZVJlZ3MsIGFyZ3VtZW50UmVncyk7Ci0gICAgICAgIG1faml0LmV4Y2Vw
dGlvbkNoZWNrKCk7Ci0gICAgICAgIAotICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdFRhZy5n
cHIoKSwgcmVzdWx0UGF5bG9hZC5ncHIoKSwgbm9kZSk7CisgICAgICAgIGNvbXBpbGVSZWdFeHBF
eGVjKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgICAgIAogICAgIGNhc2UgUmVn
RXhwVGVzdDogewotICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBnbG9iYWxPYmplY3QodGhp
cywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICBHUFJSZWcgZ2xvYmFsT2JqZWN0R1BSID0gZ2xv
YmFsT2JqZWN0LmdwcigpOwotICAgICAgICAKLSAgICAgICAgaWYgKG5vZGUtPmNoaWxkMigpLnVz
ZUtpbmQoKSA9PSBSZWdFeHBPYmplY3RVc2UpIHsKLSAgICAgICAgICAgIGlmIChub2RlLT5jaGls
ZDMoKS51c2VLaW5kKCkgPT0gU3RyaW5nVXNlKSB7Ci0gICAgICAgICAgICAgICAgU3BlY3VsYXRl
Q2VsbE9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgICAgICAgICAg
U3BlY3VsYXRlQ2VsbE9wZXJhbmQgYXJndW1lbnQodGhpcywgbm9kZS0+Y2hpbGQzKCkpOwotICAg
ICAgICAgICAgICAgIEdQUlJlZyBiYXNlR1BSID0gYmFzZS5ncHIoKTsKLSAgICAgICAgICAgICAg
ICBHUFJSZWcgYXJndW1lbnRHUFIgPSBhcmd1bWVudC5ncHIoKTsKLSAgICAgICAgICAgICAgICBz
cGVjdWxhdGVSZWdFeHBPYmplY3Qobm9kZS0+Y2hpbGQyKCksIGJhc2VHUFIpOwotICAgICAgICAg
ICAgICAgIHNwZWN1bGF0ZVN0cmluZyhub2RlLT5jaGlsZDMoKSwgYXJndW1lbnRHUFIpOwotICAg
ICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgICAg
ICAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOwotICAgICAgICAgICAg
ICAgIGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvblJlZ0V4cFRl
c3RTdHJpbmcsIHJlc3VsdC5ncHIoKSwgZ2xvYmFsT2JqZWN0R1BSLCBiYXNlR1BSLCBhcmd1bWVu
dEdQUik7Ci0gICAgICAgICAgICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKLSAgICAgICAg
ICAgICAgICAKLSAgICAgICAgICAgICAgICBib29sZWFuUmVzdWx0KHJlc3VsdC5ncHIoKSwgbm9k
ZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICAK
LSAgICAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQy
KCkpOwotICAgICAgICAgICAgSlNWYWx1ZU9wZXJhbmQgYXJndW1lbnQodGhpcywgbm9kZS0+Y2hp
bGQzKCkpOwotICAgICAgICAgICAgR1BSUmVnIGJhc2VHUFIgPSBiYXNlLmdwcigpOwotICAgICAg
ICAgICAgSlNWYWx1ZVJlZ3MgYXJndW1lbnRSZWdzID0gYXJndW1lbnQuanNWYWx1ZVJlZ3MoKTsK
LSAgICAgICAgICAgIHNwZWN1bGF0ZVJlZ0V4cE9iamVjdChub2RlLT5jaGlsZDIoKSwgYmFzZUdQ
Uik7Ci0gICAgICAgIAotICAgICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAgICAgICAg
IEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKLSAgICAgICAgICAgIGNhbGxPcGVy
YXRpb24oCi0gICAgICAgICAgICAgICAgb3BlcmF0aW9uUmVnRXhwVGVzdCwgcmVzdWx0Lmdwcigp
LCBnbG9iYWxPYmplY3RHUFIsIGJhc2VHUFIsIGFyZ3VtZW50UmVncyk7Ci0gICAgICAgICAgICBt
X2ppdC5leGNlcHRpb25DaGVjaygpOwotICAgICAgICAKLSAgICAgICAgICAgIGJvb2xlYW5SZXN1
bHQocmVzdWx0LmdwcigpLCBub2RlKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0g
ICAgICAgIAotICAgICAgICBKU1ZhbHVlT3BlcmFuZCBiYXNlKHRoaXMsIG5vZGUtPmNoaWxkMigp
KTsKLSAgICAgICAgSlNWYWx1ZU9wZXJhbmQgYXJndW1lbnQodGhpcywgbm9kZS0+Y2hpbGQzKCkp
OwotICAgICAgICBKU1ZhbHVlUmVncyBiYXNlUmVncyA9IGJhc2UuanNWYWx1ZVJlZ3MoKTsKLSAg
ICAgICAgSlNWYWx1ZVJlZ3MgYXJndW1lbnRSZWdzID0gYXJndW1lbnQuanNWYWx1ZVJlZ3MoKTsK
LQotICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwotICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3Vs
dCByZXN1bHQodGhpcyk7Ci0gICAgICAgIGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICBvcGVy
YXRpb25SZWdFeHBUZXN0R2VuZXJpYywgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmplY3RHUFIsIGJh
c2VSZWdzLCBhcmd1bWVudFJlZ3MpOwotICAgICAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwot
ICAgICAgICAKLSAgICAgICAgYm9vbGVhblJlc3VsdChyZXN1bHQuZ3ByKCksIG5vZGUpOworICAg
ICAgICBjb21waWxlUmVnRXhwVGVzdChub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAg
ICAgY2FzZSBTdHJpbmdSZXBsYWNlOgogICAgIGNhc2UgU3RyaW5nUmVwbGFjZVJlZ0V4cDogewot
ICAgICAgICBpZiAobm9kZS0+Y2hpbGQxKCkudXNlS2luZCgpID09IFN0cmluZ1VzZQotICAgICAg
ICAgICAgJiYgbm9kZS0+Y2hpbGQyKCkudXNlS2luZCgpID09IFJlZ0V4cE9iamVjdFVzZQotICAg
ICAgICAgICAgJiYgbm9kZS0+Y2hpbGQzKCkudXNlS2luZCgpID09IFN0cmluZ1VzZSkgewotICAg
ICAgICAgICAgaWYgKEpTU3RyaW5nKiByZXBsYWNlID0gbm9kZS0+Y2hpbGQzKCktPmR5bmFtaWND
YXN0Q29uc3RhbnQ8SlNTdHJpbmcqPigqbV9qaXQudm0oKSkpIHsKLSAgICAgICAgICAgICAgICBp
ZiAoIXJlcGxhY2UtPmxlbmd0aCgpKSB7Ci0gICAgICAgICAgICAgICAgICAgIFNwZWN1bGF0ZUNl
bGxPcGVyYW5kIHN0cmluZyh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgICAgICAgICAg
ICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIHJlZ0V4cCh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0g
ICAgICAgICAgICAgICAgICAgIEdQUlJlZyBzdHJpbmdHUFIgPSBzdHJpbmcuZ3ByKCk7Ci0gICAg
ICAgICAgICAgICAgICAgIEdQUlJlZyByZWdFeHBHUFIgPSByZWdFeHAuZ3ByKCk7Ci0gICAgICAg
ICAgICAgICAgICAgIHNwZWN1bGF0ZVN0cmluZyhub2RlLT5jaGlsZDEoKSwgc3RyaW5nR1BSKTsK
LSAgICAgICAgICAgICAgICAgICAgc3BlY3VsYXRlUmVnRXhwT2JqZWN0KG5vZGUtPmNoaWxkMigp
LCByZWdFeHBHUFIpOwotCi0gICAgICAgICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0g
ICAgICAgICAgICAgICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0MiByZXN1bHRUYWcodGhpcyk7
Ci0gICAgICAgICAgICAgICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdFBheWxvYWQo
dGhpcyk7Ci0gICAgICAgICAgICAgICAgICAgIGNhbGxPcGVyYXRpb24oCi0gICAgICAgICAgICAg
ICAgICAgICAgICBvcGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlUmVnRXhwRW1wdHlTdHIs
IEpTVmFsdWVSZWdzKHJlc3VsdFRhZy5ncHIoKSwgcmVzdWx0UGF5bG9hZC5ncHIoKSksIHN0cmlu
Z0dQUiwgcmVnRXhwR1BSKTsKLSAgICAgICAgICAgICAgICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hl
Y2soKTsKLSAgICAgICAgICAgICAgICAgICAgY2VsbFJlc3VsdChyZXN1bHRQYXlsb2FkLmdwcigp
LCBub2RlKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICBTcGVjdWxhdGVDZWxsT3Bl
cmFuZCBzdHJpbmcodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICAgICAgU3BlY3VsYXRl
Q2VsbE9wZXJhbmQgcmVnRXhwKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKLSAgICAgICAgICAgIFNw
ZWN1bGF0ZUNlbGxPcGVyYW5kIHJlcGxhY2UodGhpcywgbm9kZS0+Y2hpbGQzKCkpOwotICAgICAg
ICAgICAgR1BSUmVnIHN0cmluZ0dQUiA9IHN0cmluZy5ncHIoKTsKLSAgICAgICAgICAgIEdQUlJl
ZyByZWdFeHBHUFIgPSByZWdFeHAuZ3ByKCk7Ci0gICAgICAgICAgICBHUFJSZWcgcmVwbGFjZUdQ
UiA9IHJlcGxhY2UuZ3ByKCk7Ci0gICAgICAgICAgICBzcGVjdWxhdGVTdHJpbmcobm9kZS0+Y2hp
bGQxKCksIHN0cmluZ0dQUik7Ci0gICAgICAgICAgICBzcGVjdWxhdGVSZWdFeHBPYmplY3Qobm9k
ZS0+Y2hpbGQyKCksIHJlZ0V4cEdQUik7Ci0gICAgICAgICAgICBzcGVjdWxhdGVTdHJpbmcobm9k
ZS0+Y2hpbGQzKCksIHJlcGxhY2VHUFIpOwotICAgICAgICAgICAgCi0gICAgICAgICAgICBmbHVz
aFJlZ2lzdGVycygpOwotICAgICAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQyIHJlc3VsdFRh
Zyh0aGlzKTsKLSAgICAgICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdFBheWxvYWQo
dGhpcyk7Ci0gICAgICAgICAgICBjYWxsT3BlcmF0aW9uKAotICAgICAgICAgICAgICAgIG9wZXJh
dGlvblN0cmluZ1Byb3RvRnVuY1JlcGxhY2VSZWdFeHBTdHJpbmcsIEpTVmFsdWVSZWdzKHJlc3Vs
dFRhZy5ncHIoKSwgcmVzdWx0UGF5bG9hZC5ncHIoKSksCi0gICAgICAgICAgICAgICAgc3RyaW5n
R1BSLCByZWdFeHBHUFIsIHJlcGxhY2VHUFIpOwotICAgICAgICAgICAgbV9qaXQuZXhjZXB0aW9u
Q2hlY2soKTsKLSAgICAgICAgICAgIGNlbGxSZXN1bHQocmVzdWx0UGF5bG9hZC5ncHIoKSwgbm9k
ZSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIElmIHdlIGZp
eGVkIHVwIHRoZSBlZGdlIG9mIGNoaWxkMiwgd2UgaW5zZXJ0ZWQgYSBDaGVjayhAY2hpbGQyLCBT
dHJpbmcpLgotICAgICAgICBPcGVyYW5kU3BlY3VsYXRpb25Nb2RlIGNoaWxkMlNwZWN1bGF0aW9u
TW9kZSA9IEF1dG9tYXRpY09wZXJhbmRTcGVjdWxhdGlvbjsKLSAgICAgICAgaWYgKG5vZGUtPmNo
aWxkMigpLnVzZUtpbmQoKSA9PSBTdHJpbmdVc2UpCi0gICAgICAgICAgICBjaGlsZDJTcGVjdWxh
dGlvbk1vZGUgPSBNYW51YWxPcGVyYW5kU3BlY3VsYXRpb247Ci0gICAgICAgIAotICAgICAgICBK
U1ZhbHVlT3BlcmFuZCBzdHJpbmcodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICBKU1Zh
bHVlT3BlcmFuZCBzZWFyY2godGhpcywgbm9kZS0+Y2hpbGQyKCksIGNoaWxkMlNwZWN1bGF0aW9u
TW9kZSk7Ci0gICAgICAgIEpTVmFsdWVPcGVyYW5kIHJlcGxhY2UodGhpcywgbm9kZS0+Y2hpbGQz
KCkpOwotICAgICAgICBKU1ZhbHVlUmVncyBzdHJpbmdSZWdzID0gc3RyaW5nLmpzVmFsdWVSZWdz
KCk7Ci0gICAgICAgIEpTVmFsdWVSZWdzIHNlYXJjaFJlZ3MgPSBzZWFyY2guanNWYWx1ZVJlZ3Mo
KTsKLSAgICAgICAgSlNWYWx1ZVJlZ3MgcmVwbGFjZVJlZ3MgPSByZXBsYWNlLmpzVmFsdWVSZWdz
KCk7Ci0gICAgICAgIAotICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwotICAgICAgICBHUFJGbHVz
aGVkQ2FsbFJlc3VsdDIgcmVzdWx0VGFnKHRoaXMpOwotICAgICAgICBHUFJGbHVzaGVkQ2FsbFJl
c3VsdCByZXN1bHRQYXlsb2FkKHRoaXMpOwotICAgICAgICBjYWxsT3BlcmF0aW9uKAotICAgICAg
ICAgICAgb3BlcmF0aW9uU3RyaW5nUHJvdG9GdW5jUmVwbGFjZUdlbmVyaWMsIEpTVmFsdWVSZWdz
KHJlc3VsdFRhZy5ncHIoKSwgcmVzdWx0UGF5bG9hZC5ncHIoKSksCi0gICAgICAgICAgICBzdHJp
bmdSZWdzLCBzZWFyY2hSZWdzLCByZXBsYWNlUmVncyk7IAotICAgICAgICBtX2ppdC5leGNlcHRp
b25DaGVjaygpOwotICAgICAgICBjZWxsUmVzdWx0KHJlc3VsdFBheWxvYWQuZ3ByKCksIG5vZGUp
OworICAgICAgICBjb21waWxlU3RyaW5nUmVwbGFjZShub2RlKTsKICAgICAgICAgYnJlYWs7CiAg
ICAgfQogCkBAIC0zNjE1LDMxICszNDQ1LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZShOb2RlKiBub2RlKQogICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBUb1ByaW1pdGl2ZTogewot
ICAgICAgICBSRUxFQVNFX0FTU0VSVChub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gVW50eXBl
ZFVzZSk7Ci0gICAgICAgIEpTVmFsdWVPcGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5vZGUtPmNoaWxk
MSgpKTsKLSAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdFRhZyh0aGlzLCBSZXVzZSwgYXJndW1l
bnQsIFRhZ1dvcmQpOwotICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0UGF5bG9hZCh0aGlzLCBS
ZXVzZSwgYXJndW1lbnQsIFBheWxvYWRXb3JkKTsKLSAgICAgICAgCi0gICAgICAgIEdQUlJlZyBh
cmd1bWVudFRhZ0dQUiA9IGFyZ3VtZW50LnRhZ0dQUigpOwotICAgICAgICBHUFJSZWcgYXJndW1l
bnRQYXlsb2FkR1BSID0gYXJndW1lbnQucGF5bG9hZEdQUigpOwotICAgICAgICBHUFJSZWcgcmVz
dWx0VGFnR1BSID0gcmVzdWx0VGFnLmdwcigpOwotICAgICAgICBHUFJSZWcgcmVzdWx0UGF5bG9h
ZEdQUiA9IHJlc3VsdFBheWxvYWQuZ3ByKCk7Ci0gICAgICAgIAotICAgICAgICBhcmd1bWVudC51
c2UoKTsKLSAgICAgICAgCi0gICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGFscmVhZHlQcmlt
aXRpdmUgPSBtX2ppdC5icmFuY2hJZk5vdENlbGwoYXJndW1lbnQuanNWYWx1ZVJlZ3MoKSk7Ci0g
ICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG5vdFByaW1pdGl2ZSA9IG1faml0LmJyYW5jaElm
T2JqZWN0KGFyZ3VtZW50UGF5bG9hZEdQUik7Ci0gICAgICAgIAotICAgICAgICBhbHJlYWR5UHJp
bWl0aXZlLmxpbmsoJm1faml0KTsKLSAgICAgICAgbV9qaXQubW92ZShhcmd1bWVudFRhZ0dQUiwg
cmVzdWx0VGFnR1BSKTsKLSAgICAgICAgbV9qaXQubW92ZShhcmd1bWVudFBheWxvYWRHUFIsIHJl
c3VsdFBheWxvYWRHUFIpOwotICAgICAgICAKLSAgICAgICAgYWRkU2xvd1BhdGhHZW5lcmF0b3Io
Ci0gICAgICAgICAgICBzbG93UGF0aENhbGwoCi0gICAgICAgICAgICAgICAgbm90UHJpbWl0aXZl
LCB0aGlzLCBvcGVyYXRpb25Ub1ByaW1pdGl2ZSwKLSAgICAgICAgICAgICAgICBKU1ZhbHVlUmVn
cyhyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIpLCBKU1ZhbHVlUmVncyhhcmd1bWVudFRh
Z0dQUiwgYXJndW1lbnRQYXlsb2FkR1BSKSkpOwotICAgICAgICAKLSAgICAgICAganNWYWx1ZVJl
c3VsdChyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIsIG5vZGUsIFVzZUNoaWxkcmVuQ2Fs
bGVkRXhwbGljaXRseSk7CisgICAgICAgIGNvbXBpbGVUb1ByaW1pdGl2ZShub2RlKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQogCkBAIC00NjM1LDEwICs0NDQxLDkgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogCiAgICAgICAgIEpTVmFsdWVSZWdzIGlucHV0UmVn
cyA9IGlucHV0LmpzVmFsdWVSZWdzKCk7CiAKKyAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKICAg
ICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOwogICAgICAgICBHUFJSZWcg
cmVzdWx0R1BSID0gcmVzdWx0LmdwcigpOwotCi0gICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAg
ICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTWFwSGFzaCwgcmVzdWx0R1BSLCBpbnB1dFJl
Z3MpOwogICAgICAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwogICAgICAgICBpbnQzMlJlc3Vs
dChyZXN1bHRHUFIsIG5vZGUpOwpAQCAtNDY1NCwxMiArNDQ1OSwxMCBAQCB2b2lkIFNwZWN1bGF0
aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5k
IG1hcCh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgIEpTVmFsdWVPcGVyYW5kIGtleSh0
aGlzLCBub2RlLT5jaGlsZDIoKSk7CiAgICAgICAgIFNwZWN1bGF0ZUludDMyT3BlcmFuZCBoYXNo
KHRoaXMsIG5vZGUtPmNoaWxkMygpKTsKLSAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVz
dWx0KHRoaXMpOwogCiAgICAgICAgIEdQUlJlZyBtYXBHUFIgPSBtYXAuZ3ByKCk7CiAgICAgICAg
IEpTVmFsdWVSZWdzIGtleVJlZ3MgPSBrZXkuanNWYWx1ZVJlZ3MoKTsKICAgICAgICAgR1BSUmVn
IGhhc2hHUFIgPSBoYXNoLmdwcigpOwotICAgICAgICBHUFJSZWcgcmVzdWx0R1BSID0gcmVzdWx0
LmdwcigpOwogCiAgICAgICAgIGlmIChub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gTWFwT2Jq
ZWN0VXNlKQogICAgICAgICAgICAgc3BlY3VsYXRlTWFwT2JqZWN0KG5vZGUtPmNoaWxkMSgpLCBt
YXBHUFIpOwpAQCAtNDY2OSw2ICs0NDcyLDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZShOb2RlKiBub2RlKQogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
IAogICAgICAgICBmbHVzaFJlZ2lzdGVycygpOworICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3Vs
dCByZXN1bHQodGhpcyk7CisgICAgICAgIEdQUlJlZyByZXN1bHRHUFIgPSByZXN1bHQuZ3ByKCk7
CiAgICAgICAgIGlmIChub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkgPT0gTWFwT2JqZWN0VXNlKQog
ICAgICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25KU01hcEZpbmRCdWNrZXQsIHJlc3Vs
dEdQUiwgbWFwR1BSLCBrZXlSZWdzLCBoYXNoR1BSKTsKICAgICAgICAgZWxzZQpAQCAtNDk5MCwx
OCArNDc5NSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAg
ICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgSGFzR2VuZXJpY1Byb3BlcnR5OiB7Ci0gICAg
ICAgIEpTVmFsdWVPcGVyYW5kIGJhc2UodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICBT
cGVjdWxhdGVDZWxsT3BlcmFuZCBwcm9wZXJ0eSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAg
ICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdFBheWxvYWQodGhpcyk7Ci0gICAgICAgIEdQ
UkZsdXNoZWRDYWxsUmVzdWx0MiByZXN1bHRUYWcodGhpcyk7Ci0gICAgICAgIEpTVmFsdWVSZWdz
IGJhc2VSZWdzID0gYmFzZS5qc1ZhbHVlUmVncygpOwotICAgICAgICBHUFJSZWcgcmVzdWx0UGF5
bG9hZEdQUiA9IHJlc3VsdFBheWxvYWQuZ3ByKCk7Ci0gICAgICAgIEdQUlJlZyByZXN1bHRUYWdH
UFIgPSByZXN1bHRUYWcuZ3ByKCk7Ci0KLSAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAg
ICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25IYXNHZW5lcmljUHJvcGVydHksIEpTVmFsdWVSZWdz
KHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUiksIGJhc2VSZWdzLCBwcm9wZXJ0eS5ncHIo
KSk7Ci0gICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7Ci0gICAgICAgIGJvb2xlYW5SZXN1
bHQocmVzdWx0UGF5bG9hZEdQUiwgbm9kZSk7CisgICAgICAgIGNvbXBpbGVIYXNHZW5lcmljUHJv
cGVydHkobm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIEhhc1N0cnVjdHVy
ZVByb3BlcnR5OiB7CkBAIC01MDg2LDI3ICs0ODgwLDIzIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgR1BSUmVnIHByb3BlcnR5R1BSID0gcHJvcGVy
dHkuZ3ByKCk7CiAKICNpZiBDUFUoWDg2KQotICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCBy
ZXN1bHRQYXlsb2FkKHRoaXMpOwotICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdDIgcmVzdWx0
VGFnKHRoaXMpOwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKIAotICAgICAg
ICBHUFJSZWcgcmVzdWx0VGFnR1BSID0gcmVzdWx0VGFnLmdwcigpOwotICAgICAgICBHUFJSZWcg
cmVzdWx0UGF5bG9hZEdQUiA9IHJlc3VsdFBheWxvYWQuZ3ByKCk7CiAgICAgICAgIEdQUlJlZyBz
Y3JhdGNoR1BSID0gc2NyYXRjaC5ncHIoKTsKIAogICAgICAgICAvLyBOb3QgZW5vdWdoIHJlZ2lz
dGVycyBvbiBYODYgZm9yIHRoaXMgY29kZSwgc28gYWx3YXlzIHVzZSB0aGUgc2xvdyBwYXRoLgog
ICAgICAgICBmbHVzaFJlZ2lzdGVycygpOworICAgICAgICBKU1ZhbHVlUmVnc0ZsdXNoZWRDYWxs
UmVzdWx0IHJlc3VsdCh0aGlzKTsKKyAgICAgICAgSlNWYWx1ZVJlZ3MgcmVzdWx0UmVncyA9IHJl
c3VsdC5yZWdzKCk7CiAgICAgICAgIG1faml0Lm1vdmUoTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJ
bW0zMihKU1ZhbHVlOjpDZWxsVGFnKSwgc2NyYXRjaEdQUik7Ci0gICAgICAgIGNhbGxPcGVyYXRp
b24ob3BlcmF0aW9uR2V0QnlWYWxDZWxsLCBKU1ZhbHVlUmVncyhyZXN1bHRUYWdHUFIsIHJlc3Vs
dFBheWxvYWRHUFIpLCBiYXNlR1BSLCBKU1ZhbHVlUmVncyhzY3JhdGNoR1BSLCBwcm9wZXJ0eUdQ
UikpOworICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkdldEJ5VmFsQ2VsbCwgcmVzdWx0
UmVncywgYmFzZUdQUiwgSlNWYWx1ZVJlZ3Moc2NyYXRjaEdQUiwgcHJvcGVydHlHUFIpKTsKICAg
ICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKICNlbHNlCi0gICAgICAgIEdQUlRlbXBvcmFy
eSByZXN1bHRQYXlsb2FkKHRoaXMpOwotICAgICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0VGFnKHRo
aXMpOwogICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKKyAgICAgICAgSlNWYWx1
ZVJlZ3NGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CiAKLSAgICAgICAgR1BSUmVnIHJl
c3VsdFRhZ0dQUiA9IHJlc3VsdFRhZy5ncHIoKTsKLSAgICAgICAgR1BSUmVnIHJlc3VsdFBheWxv
YWRHUFIgPSByZXN1bHRQYXlsb2FkLmdwcigpOwogICAgICAgICBHUFJSZWcgc2NyYXRjaEdQUiA9
IHNjcmF0Y2guZ3ByKCk7CisgICAgICAgIEpTVmFsdWVSZWdzIHJlc3VsdFJlZ3MgPSByZXN1bHQu
cmVncygpOwogCiAgICAgICAgIEVkZ2UmIGluZGV4RWRnZSA9IG1faml0LmdyYXBoKCkudmFyQXJn
Q2hpbGQobm9kZSwgMik7CiAgICAgICAgIEVkZ2UmIGVudW1lcmF0b3JFZGdlID0gbV9qaXQuZ3Jh
cGgoKS52YXJBcmdDaGlsZChub2RlLCAzKTsKQEAgLTUxMzUsOCArNDkyNSw4IEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKIAogICAgICAgICBtX2ppdC5tb3ZlKGlu
ZGV4R1BSLCBzY3JhdGNoR1BSKTsKICAgICAgICAgbV9qaXQuc2lnbkV4dGVuZDMyVG9QdHIoc2Ny
YXRjaEdQUiwgc2NyYXRjaEdQUik7Ci0gICAgICAgIG1faml0LmxvYWQzMihNYWNyb0Fzc2VtYmxl
cjo6QmFzZUluZGV4KGJhc2VHUFIsIHNjcmF0Y2hHUFIsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc0Vp
Z2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkgKyBPQkpFQ1RfT0ZGU0VUT0Yo
SlNWYWx1ZSwgdS5hc0JpdHMudGFnKSksIHJlc3VsdFRhZ0dQUik7Ci0gICAgICAgIG1faml0Lmxv
YWQzMihNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KGJhc2VHUFIsIHNjcmF0Y2hHUFIsIE1hY3Jv
QXNzZW1ibGVyOjpUaW1lc0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkg
KyBPQkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMucGF5bG9hZCkpLCByZXN1bHRQYXls
b2FkR1BSKTsKKyAgICAgICAgbV9qaXQubG9hZDMyKE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgo
YmFzZUdQUiwgc2NyYXRjaEdQUiwgTWFjcm9Bc3NlbWJsZXI6OlRpbWVzRWlnaHQsIEpTT2JqZWN0
OjpvZmZzZXRPZklubGluZVN0b3JhZ2UoKSArIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFz
Qml0cy50YWcpKSwgcmVzdWx0UmVncy50YWdHUFIoKSk7CisgICAgICAgIG1faml0LmxvYWQzMihN
YWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KGJhc2VHUFIsIHNjcmF0Y2hHUFIsIE1hY3JvQXNzZW1i
bGVyOjpUaW1lc0VpZ2h0LCBKU09iamVjdDo6b2Zmc2V0T2ZJbmxpbmVTdG9yYWdlKCkgKyBPQkpF
Q1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMucGF5bG9hZCkpLCByZXN1bHRSZWdzLnBheWxv
YWRHUFIoKSk7CiAKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgZG9uZSA9IG1faml0Lmp1
bXAoKTsKICAgICAgICAgCkBAIC01MTQ2LDE5ICs0OTM2LDE5IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgbV9qaXQuc3ViMzIoTWFjcm9Bc3NlbWJs
ZXI6OkFkZHJlc3MoZW51bWVyYXRvckdQUiwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpjYWNo
ZWRJbmxpbmVDYXBhY2l0eU9mZnNldCgpKSwgc2NyYXRjaEdQUik7CiAgICAgICAgIG1faml0Lm5l
ZzMyKHNjcmF0Y2hHUFIpOwogICAgICAgICBtX2ppdC5zaWduRXh0ZW5kMzJUb1B0cihzY3JhdGNo
R1BSLCBzY3JhdGNoR1BSKTsKLSAgICAgICAgLy8gV2UgdXNlIHJlc3VsdFBheWxvYWRHUFIgYXMg
YSB0ZW1wb3JhcnkgaGVyZS4gV2UgaGF2ZSB0byBtYWtlIHN1cmUgY2xvYmJlciBpdCBhZnRlciBn
ZXR0aW5nIHRoZSAKLSAgICAgICAgLy8gdmFsdWUgb3V0IG9mIGluZGV4R1BSIGFuZCBlbnVtZXJh
dG9yR1BSIGJlY2F1c2UgcmVzdWx0UGF5bG9hZEdQUiBjb3VsZCByZXVzZSBlaXRoZXIgb2YgdGhv
c2UgcmVnaXN0ZXJzLgotICAgICAgICBtX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRy
ZXNzKGJhc2VHUFIsIEpTT2JqZWN0OjpidXR0ZXJmbHlPZmZzZXQoKSksIHJlc3VsdFBheWxvYWRH
UFIpOworICAgICAgICAvLyBXZSB1c2UgcmVzdWx0UmVncy5wYXlsb2FkR1BSKCkgYXMgYSB0ZW1w
b3JhcnkgaGVyZS4gV2UgaGF2ZSB0byBtYWtlIHN1cmUgY2xvYmJlciBpdCBhZnRlciBnZXR0aW5n
IHRoZSAKKyAgICAgICAgLy8gdmFsdWUgb3V0IG9mIGluZGV4R1BSIGFuZCBlbnVtZXJhdG9yR1BS
IGJlY2F1c2UgcmVzdWx0UmVncy5wYXlsb2FkR1BSKCkgY291bGQgcmV1c2UgZWl0aGVyIG9mIHRo
b3NlIHJlZ2lzdGVycy4KKyAgICAgICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRk
cmVzcyhiYXNlR1BSLCBKU09iamVjdDo6YnV0dGVyZmx5T2Zmc2V0KCkpLCByZXN1bHRSZWdzLnBh
eWxvYWRHUFIoKSk7CiAgICAgICAgIGludDMyX3Qgb2Zmc2V0T2ZGaXJzdFByb3BlcnR5ID0gc3Rh
dGljX2Nhc3Q8aW50MzJfdD4ob2Zmc2V0SW5CdXR0ZXJmbHkoZmlyc3RPdXRPZkxpbmVPZmZzZXQp
KSAqIHNpemVvZihFbmNvZGVkSlNWYWx1ZSk7Ci0gICAgICAgIG1faml0LmxvYWQzMihNYWNyb0Fz
c2VtYmxlcjo6QmFzZUluZGV4KHJlc3VsdFBheWxvYWRHUFIsIHNjcmF0Y2hHUFIsIE1hY3JvQXNz
ZW1ibGVyOjpUaW1lc0VpZ2h0LCBvZmZzZXRPZkZpcnN0UHJvcGVydHkgKyBPQkpFQ1RfT0ZGU0VU
T0YoSlNWYWx1ZSwgdS5hc0JpdHMudGFnKSksIHJlc3VsdFRhZ0dQUik7Ci0gICAgICAgIG1faml0
LmxvYWQzMihNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KHJlc3VsdFBheWxvYWRHUFIsIHNjcmF0
Y2hHUFIsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc0VpZ2h0LCBvZmZzZXRPZkZpcnN0UHJvcGVydHkg
KyBPQkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwgdS5hc0JpdHMucGF5bG9hZCkpLCByZXN1bHRQYXls
b2FkR1BSKTsKKyAgICAgICAgbV9qaXQubG9hZDMyKE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgo
cmVzdWx0UmVncy5wYXlsb2FkR1BSKCksIHNjcmF0Y2hHUFIsIE1hY3JvQXNzZW1ibGVyOjpUaW1l
c0VpZ2h0LCBvZmZzZXRPZkZpcnN0UHJvcGVydHkgKyBPQkpFQ1RfT0ZGU0VUT0YoSlNWYWx1ZSwg
dS5hc0JpdHMudGFnKSksIHJlc3VsdFJlZ3MudGFnR1BSKCkpOworICAgICAgICBtX2ppdC5sb2Fk
MzIoTWFjcm9Bc3NlbWJsZXI6OkJhc2VJbmRleChyZXN1bHRSZWdzLnBheWxvYWRHUFIoKSwgc2Ny
YXRjaEdQUiwgTWFjcm9Bc3NlbWJsZXI6OlRpbWVzRWlnaHQsIG9mZnNldE9mRmlyc3RQcm9wZXJ0
eSArIE9CSkVDVF9PRkZTRVRPRihKU1ZhbHVlLCB1LmFzQml0cy5wYXlsb2FkKSksIHJlc3VsdFJl
Z3MucGF5bG9hZEdQUigpKTsKIAogICAgICAgICBkb25lLmxpbmsoJm1faml0KTsKIAotICAgICAg
ICBhZGRTbG93UGF0aEdlbmVyYXRvcihzbG93UGF0aENhbGwoc2xvd1BhdGgsIHRoaXMsIG9wZXJh
dGlvbkdldEJ5VmFsQ2VsbCwgSlNWYWx1ZVJlZ3MocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2Fk
R1BSKSwgYmFzZUdQUiwgcHJvcGVydHlHUFIpKTsKKyAgICAgICAgYWRkU2xvd1BhdGhHZW5lcmF0
b3Ioc2xvd1BhdGhDYWxsKHNsb3dQYXRoLCB0aGlzLCBvcGVyYXRpb25HZXRCeVZhbENlbGwsIHJl
c3VsdFJlZ3MsIGJhc2VHUFIsIHByb3BlcnR5R1BSKSk7CiAjZW5kaWYKIAotICAgICAgICBqc1Zh
bHVlUmVzdWx0KHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUiwgbm9kZSk7CisgICAgICAg
IGpzVmFsdWVSZXN1bHQocmVzdWx0UmVncywgbm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0K
ICAgICBjYXNlIEdldFByb3BlcnR5RW51bWVyYXRvcjogewpAQCAtNTIzMiw0OCArNTAyMiwxMiBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgfQogCiAgICAg
Y2FzZSBMb2dTaGFkb3dDaGlja2VuUHJvbG9ndWU6IHsKLSAgICAgICAgZmx1c2hSZWdpc3RlcnMo
KTsKLSAgICAgICAgcHJlcGFyZUZvckV4dGVybmFsQ2FsbCgpOwotICAgICAgICBtX2ppdC5lbWl0
U3RvcmVDb2RlT3JpZ2luKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7Ci0KLSAgICAgICAgR1BSVGVt
cG9yYXJ5IHNjcmF0Y2gxKHRoaXMsIEdQUkluZm86Om5vbkFyZ0dQUjApOyAvLyBUaGlzIG11c3Qg
YmUgYSBub24tYXJndW1lbnQgR1BSLgotICAgICAgICBHUFJSZWcgc2NyYXRjaDFSZWcgPSBzY3Jh
dGNoMS5ncHIoKTsKLSAgICAgICAgR1BSVGVtcG9yYXJ5IHNoYWRvd1BhY2tldCh0aGlzKTsKLSAg
ICAgICAgR1BSUmVnIHNoYWRvd1BhY2tldFJlZyA9IHNoYWRvd1BhY2tldC5ncHIoKTsKLSAgICAg
ICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOwotICAgICAgICBHUFJSZWcgc2NyYXRjaDJS
ZWcgPSBzY3JhdGNoMi5ncHIoKTsKLQotICAgICAgICBtX2ppdC5lbnN1cmVTaGFkb3dDaGlja2Vu
UGFja2V0KCptX2ppdC52bSgpLCBzaGFkb3dQYWNrZXRSZWcsIHNjcmF0Y2gxUmVnLCBzY3JhdGNo
MlJlZyk7Ci0KLSAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgc2NvcGUodGhpcywgbm9kZS0+
Y2hpbGQxKCkpOwotICAgICAgICBHUFJSZWcgc2NvcGVSZWcgPSBzY29wZS5ncHIoKTsKLQotICAg
ICAgICBtX2ppdC5sb2dTaGFkb3dDaGlja2VuUHJvbG9ndWVQYWNrZXQoc2hhZG93UGFja2V0UmVn
LCBzY3JhdGNoMVJlZywgc2NvcGVSZWcpOwotICAgICAgICBub1Jlc3VsdChub2RlKTsKKyAgICAg
ICAgY29tcGlsZUxvZ1NoYWRvd0NoaWNrZW5Qcm9sb2d1ZShub2RlKTsKICAgICAgICAgYnJlYWs7
CiAgICAgfQogCiAgICAgY2FzZSBMb2dTaGFkb3dDaGlja2VuVGFpbDogewotICAgICAgICBmbHVz
aFJlZ2lzdGVycygpOwotICAgICAgICBwcmVwYXJlRm9yRXh0ZXJuYWxDYWxsKCk7Ci0gICAgICAg
IENhbGxTaXRlSW5kZXggY2FsbFNpdGVJbmRleCA9IG1faml0LmVtaXRTdG9yZUNvZGVPcmlnaW4o
bm9kZS0+b3JpZ2luLnNlbWFudGljKTsKLQotICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDEo
dGhpcywgR1BSSW5mbzo6bm9uQXJnR1BSMCk7IC8vIFRoaXMgbXVzdCBiZSBhIG5vbi1hcmd1bWVu
dCBHUFIuCi0gICAgICAgIEdQUlJlZyBzY3JhdGNoMVJlZyA9IHNjcmF0Y2gxLmdwcigpOwotICAg
ICAgICBHUFJUZW1wb3Jhcnkgc2hhZG93UGFja2V0KHRoaXMpOwotICAgICAgICBHUFJSZWcgc2hh
ZG93UGFja2V0UmVnID0gc2hhZG93UGFja2V0LmdwcigpOwotICAgICAgICBHUFJUZW1wb3Jhcnkg
c2NyYXRjaDIodGhpcyk7Ci0gICAgICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0Y2gyLmdw
cigpOwotCi0gICAgICAgIG1faml0LmVuc3VyZVNoYWRvd0NoaWNrZW5QYWNrZXQoKm1faml0LnZt
KCksIHNoYWRvd1BhY2tldFJlZywgc2NyYXRjaDFSZWcsIHNjcmF0Y2gyUmVnKTsKLQotICAgICAg
ICBKU1ZhbHVlT3BlcmFuZCB0aGlzVmFsdWUodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAg
ICBKU1ZhbHVlUmVncyB0aGlzUmVncyA9IHRoaXNWYWx1ZS5qc1ZhbHVlUmVncygpOwotICAgICAg
ICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBzY29wZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAg
ICAgIEdQUlJlZyBzY29wZVJlZyA9IHNjb3BlLmdwcigpOwotCi0gICAgICAgIG1faml0LmxvZ1No
YWRvd0NoaWNrZW5UYWlsUGFja2V0KHNoYWRvd1BhY2tldFJlZywgdGhpc1JlZ3MsIHNjb3BlUmVn
LCBtX2ppdC5jb2RlQmxvY2soKSwgY2FsbFNpdGVJbmRleCk7Ci0gICAgICAgIG5vUmVzdWx0KG5v
ZGUpOworICAgICAgICBjb21waWxlTG9nU2hhZG93Q2hpY2tlblRhaWwobm9kZSk7CiAgICAgICAg
IGJyZWFrOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAKaW5kZXggYTA4MDI1MDAxZmZmMTY5NTgxZmIyMjAzYWFlMzNmNjNl
NWJkZDc0Zi4uMDRlMTZlNDQyYTgxODQ2ODAwM2VmZTU5MDRmOTkzZmI5NTQ0ZmNhZiAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCkBA
IC0yNDQ2LDExICsyNDQ2LDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBu
b2RlKQogICAgICAgICAgICAgU3BlY3VsYXRlRG91YmxlT3BlcmFuZCB2YWx1ZSh0aGlzLCBub2Rl
LT5jaGlsZDEoKSk7CiAgICAgICAgICAgICBGUFJSZWcgdmFsdWVGUFIgPSB2YWx1ZS5mcHIoKTsK
ICAgICAgICAgICAgIAorICAgICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKICAgICAgICAgICAg
IEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKICAgICAgICAgICAgIEdQUlJlZyBy
ZXN1bHRHUFIgPSByZXN1bHQuZ3ByKCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGZsdXNo
UmVnaXN0ZXJzKCk7Ci0gICAgICAgICAgICAKICAgICAgICAgICAgIGNhbGxPcGVyYXRpb24ob3Bl
cmF0aW9uQ29udmVydERvdWJsZVRvSW50NTIsIHJlc3VsdEdQUiwgdmFsdWVGUFIpOwogICAgICAg
ICAgICAgCiAgICAgICAgICAgICBERkdfVFlQRV9DSEVDS19XSVRIX0VYSVRfS0lORChJbnQ1Mk92
ZXJmbG93LApAQCAtMjkzNCwxMCArMjkzMiw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUoTm9kZSogbm9kZSkKICAgICAgICAgSlNWYWx1ZU9wZXJhbmQgc3Vic2NyaXB0KHRoaXMsIG5v
ZGUtPmNoaWxkMygpKTsKICAgICAgICAgR1BSUmVnIHN1YnNjcmlwdEdQUiA9IHN1YnNjcmlwdC5n
cHIoKTsKIAorICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwogICAgICAgICBHUFJGbHVzaGVkQ2Fs
bFJlc3VsdCByZXN1bHQodGhpcyk7CiAgICAgICAgIEdQUlJlZyByZXN1bHRHUFIgPSByZXN1bHQu
Z3ByKCk7Ci0KLSAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKICAgICAgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25HZXRCeVZhbFdpdGhUaGlzLCByZXN1bHRHUFIsIGJhc2VHUFIsIHRoaXNWYWx1
ZUdQUiwgc3Vic2NyaXB0R1BSKTsKICAgICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsKIApA
QCAtMzI1NSwxMCArMzI1Miw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSog
bm9kZSkKICAgICAgICAgICAgICAgICBhcmdHUFJzW2ldID0gYXJnc1tpXS0+Z3ByKCk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAKKyAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAg
ICAgICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CiAgICAgICAgICAg
ICByZXN1bHRHUFIgPSByZXN1bHQuZ3ByKCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGZs
dXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgICAgICBjYWxsU2xvd1BhdGgoKTsKICAgICAgICAgICAg
IG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7CiAgICAgICAgICAgICAKQEAgLTM0MDQsOSArMzQwMCw5
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgaWYg
KG5vZGUtPmNoaWxkMSgpLnVzZUtpbmQoKSAhPSBJbnQzMlVzZSkgewogICAgICAgICAgICAgSlNW
YWx1ZU9wZXJhbmQgb3BlcmFuZCh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAgICBH
UFJSZWcgb3BlcmFuZEdQUiA9IG9wZXJhbmQuZ3ByKCk7CisgICAgICAgICAgICBmbHVzaFJlZ2lz
dGVycygpOwogICAgICAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOwog
ICAgICAgICAgICAgR1BSUmVnIHJlc3VsdEdQUiA9IHJlc3VsdC5ncHIoKTsKLSAgICAgICAgICAg
IGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkF0
b21pY3NJc0xvY2tGcmVlLCByZXN1bHRHUFIsIG9wZXJhbmRHUFIpOwogICAgICAgICAgICAgbV9q
aXQuZXhjZXB0aW9uQ2hlY2soKTsKICAgICAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0R1BS
LCBub2RlKTsKQEAgLTM0MjksMTk5ICszNDI1LDE4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGUoTm9kZSogbm9kZSkKICAgICB9CiAKICAgICBjYXNlIFJlZ0V4cEV4ZWM6IHsKLSAgICAg
ICAgYm9vbCBzYW1wbGUgPSBmYWxzZTsKLQotICAgICAgICBpZiAoc2FtcGxlKQotICAgICAgICAg
ICAgbV9qaXQuaW5jcmVtZW50U3VwZXJTYW1wbGVyQ291bnQoKTsKLSAgICAgICAgCi0gICAgICAg
IFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGdsb2JhbE9iamVjdCh0aGlzLCBub2RlLT5jaGlsZDEoKSk7
Ci0gICAgICAgIEdQUlJlZyBnbG9iYWxPYmplY3RHUFIgPSBnbG9iYWxPYmplY3QuZ3ByKCk7Ci0g
ICAgICAgIAotICAgICAgICBpZiAobm9kZS0+Y2hpbGQyKCkudXNlS2luZCgpID09IFJlZ0V4cE9i
amVjdFVzZSkgewotICAgICAgICAgICAgaWYgKG5vZGUtPmNoaWxkMygpLnVzZUtpbmQoKSA9PSBT
dHJpbmdVc2UpIHsKLSAgICAgICAgICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBiYXNlKHRo
aXMsIG5vZGUtPmNoaWxkMigpKTsKLSAgICAgICAgICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFu
ZCBhcmd1bWVudCh0aGlzLCBub2RlLT5jaGlsZDMoKSk7Ci0gICAgICAgICAgICAgICAgR1BSUmVn
IGJhc2VHUFIgPSBiYXNlLmdwcigpOwotICAgICAgICAgICAgICAgIEdQUlJlZyBhcmd1bWVudEdQ
UiA9IGFyZ3VtZW50LmdwcigpOwotICAgICAgICAgICAgICAgIHNwZWN1bGF0ZVJlZ0V4cE9iamVj
dChub2RlLT5jaGlsZDIoKSwgYmFzZUdQUik7Ci0gICAgICAgICAgICAgICAgc3BlY3VsYXRlU3Ry
aW5nKG5vZGUtPmNoaWxkMygpLCBhcmd1bWVudEdQUik7Ci0gICAgICAgICAgICAgICAgCi0gICAg
ICAgICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAgICAgICAgICAgICBHUFJGbHVzaGVk
Q2FsbFJlc3VsdCByZXN1bHQodGhpcyk7Ci0gICAgICAgICAgICAgICAgY2FsbE9wZXJhdGlvbihv
cGVyYXRpb25SZWdFeHBFeGVjU3RyaW5nLCByZXN1bHQuZ3ByKCksIGdsb2JhbE9iamVjdEdQUiwg
YmFzZUdQUiwgYXJndW1lbnRHUFIpOwotICAgICAgICAgICAgICAgIG1faml0LmV4Y2VwdGlvbkNo
ZWNrKCk7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAganNWYWx1ZVJlc3VsdChy
ZXN1bHQuZ3ByKCksIG5vZGUpOwotCi0gICAgICAgICAgICAgICAgaWYgKHNhbXBsZSkKLSAgICAg
ICAgICAgICAgICAgICAgbV9qaXQuZGVjcmVtZW50U3VwZXJTYW1wbGVyQ291bnQoKTsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAg
ICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAg
ICAgICAgICBKU1ZhbHVlT3BlcmFuZCBhcmd1bWVudCh0aGlzLCBub2RlLT5jaGlsZDMoKSk7Ci0g
ICAgICAgICAgICBHUFJSZWcgYmFzZUdQUiA9IGJhc2UuZ3ByKCk7Ci0gICAgICAgICAgICBHUFJS
ZWcgYXJndW1lbnRHUFIgPSBhcmd1bWVudC5ncHIoKTsKLSAgICAgICAgICAgIHNwZWN1bGF0ZVJl
Z0V4cE9iamVjdChub2RlLT5jaGlsZDIoKSwgYmFzZUdQUik7Ci0gICAgICAgIAotICAgICAgICAg
ICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAgICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJl
c3VsdCh0aGlzKTsKLSAgICAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uUmVnRXhwRXhl
YywgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmplY3RHUFIsIGJhc2VHUFIsIGFyZ3VtZW50R1BSKTsK
LSAgICAgICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7Ci0gICAgICAgIAotICAgICAgICAg
ICAganNWYWx1ZVJlc3VsdChyZXN1bHQuZ3ByKCksIG5vZGUpOwotCi0gICAgICAgICAgICBpZiAo
c2FtcGxlKQotICAgICAgICAgICAgICAgIG1faml0LmRlY3JlbWVudFN1cGVyU2FtcGxlckNvdW50
KCk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgSlNW
YWx1ZU9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgIEpTVmFsdWVP
cGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5vZGUtPmNoaWxkMygpKTsKLSAgICAgICAgR1BSUmVnIGJh
c2VHUFIgPSBiYXNlLmdwcigpOwotICAgICAgICBHUFJSZWcgYXJndW1lbnRHUFIgPSBhcmd1bWVu
dC5ncHIoKTsKLSAgICAgICAgCi0gICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgICAgIEdQ
UkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKLSAgICAgICAgY2FsbE9wZXJhdGlvbihv
cGVyYXRpb25SZWdFeHBFeGVjR2VuZXJpYywgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmplY3RHUFIs
IGJhc2VHUFIsIGFyZ3VtZW50R1BSKTsKLSAgICAgICAgbV9qaXQuZXhjZXB0aW9uQ2hlY2soKTsK
LSAgICAgICAgCi0gICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsKLQot
ICAgICAgICBpZiAoc2FtcGxlKQotICAgICAgICAgICAgbV9qaXQuZGVjcmVtZW50U3VwZXJTYW1w
bGVyQ291bnQoKTsKKyAgICAgICAgY29tcGlsZVJlZ0V4cEV4ZWMobm9kZSk7CiAgICAgICAgIGJy
ZWFrOwogICAgIH0KIAogICAgIGNhc2UgUmVnRXhwVGVzdDogewotICAgICAgICBTcGVjdWxhdGVD
ZWxsT3BlcmFuZCBnbG9iYWxPYmplY3QodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICBH
UFJSZWcgZ2xvYmFsT2JqZWN0R1BSID0gZ2xvYmFsT2JqZWN0LmdwcigpOwotICAgICAgICAKLSAg
ICAgICAgaWYgKG5vZGUtPmNoaWxkMigpLnVzZUtpbmQoKSA9PSBSZWdFeHBPYmplY3RVc2UpIHsK
LSAgICAgICAgICAgIGlmIChub2RlLT5jaGlsZDMoKS51c2VLaW5kKCkgPT0gU3RyaW5nVXNlKSB7
Ci0gICAgICAgICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5j
aGlsZDIoKSk7Ci0gICAgICAgICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYXJndW1lbnQo
dGhpcywgbm9kZS0+Y2hpbGQzKCkpOwotICAgICAgICAgICAgICAgIEdQUlJlZyBiYXNlR1BSID0g
YmFzZS5ncHIoKTsKLSAgICAgICAgICAgICAgICBHUFJSZWcgYXJndW1lbnRHUFIgPSBhcmd1bWVu
dC5ncHIoKTsKLSAgICAgICAgICAgICAgICBzcGVjdWxhdGVSZWdFeHBPYmplY3Qobm9kZS0+Y2hp
bGQyKCksIGJhc2VHUFIpOwotICAgICAgICAgICAgICAgIHNwZWN1bGF0ZVN0cmluZyhub2RlLT5j
aGlsZDMoKSwgYXJndW1lbnRHUFIpOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAg
IGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgICAgICAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQg
cmVzdWx0KHRoaXMpOwotICAgICAgICAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uUmVn
RXhwVGVzdFN0cmluZywgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmplY3RHUFIsIGJhc2VHUFIsIGFy
Z3VtZW50R1BSKTsKLSAgICAgICAgICAgICAgICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwotICAg
ICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIG1faml0Lm9yMzIoVHJ1c3RlZEltbTMyKFZh
bHVlRmFsc2UpLCByZXN1bHQuZ3ByKCkpOwotICAgICAgICAgICAgICAgIGpzVmFsdWVSZXN1bHQo
cmVzdWx0LmdwcigpLCBub2RlKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgYmFzZSh0
aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgICAgICBKU1ZhbHVlT3BlcmFuZCBhcmd1bWVu
dCh0aGlzLCBub2RlLT5jaGlsZDMoKSk7Ci0gICAgICAgICAgICBHUFJSZWcgYmFzZUdQUiA9IGJh
c2UuZ3ByKCk7Ci0gICAgICAgICAgICBHUFJSZWcgYXJndW1lbnRHUFIgPSBhcmd1bWVudC5ncHIo
KTsKLSAgICAgICAgICAgIHNwZWN1bGF0ZVJlZ0V4cE9iamVjdChub2RlLT5jaGlsZDIoKSwgYmFz
ZUdQUik7Ci0gICAgICAgIAotICAgICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAgICAg
ICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKLSAgICAgICAgICAgIGNhbGxP
cGVyYXRpb24ob3BlcmF0aW9uUmVnRXhwVGVzdCwgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmplY3RH
UFIsIGJhc2VHUFIsIGFyZ3VtZW50R1BSKTsKLSAgICAgICAgICAgIG1faml0LmV4Y2VwdGlvbkNo
ZWNrKCk7Ci0gICAgICAgIAotICAgICAgICAgICAgbV9qaXQub3IzMihUcnVzdGVkSW1tMzIoVmFs
dWVGYWxzZSksIHJlc3VsdC5ncHIoKSk7Ci0gICAgICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3Vs
dC5ncHIoKSwgbm9kZSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICAK
LSAgICAgICAgSlNWYWx1ZU9wZXJhbmQgYmFzZSh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAg
ICAgIEpTVmFsdWVPcGVyYW5kIGFyZ3VtZW50KHRoaXMsIG5vZGUtPmNoaWxkMygpKTsKLSAgICAg
ICAgR1BSUmVnIGJhc2VHUFIgPSBiYXNlLmdwcigpOwotICAgICAgICBHUFJSZWcgYXJndW1lbnRH
UFIgPSBhcmd1bWVudC5ncHIoKTsKLSAgICAgICAgCi0gICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7
Ci0gICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKLSAgICAgICAgY2Fs
bE9wZXJhdGlvbihvcGVyYXRpb25SZWdFeHBUZXN0R2VuZXJpYywgcmVzdWx0LmdwcigpLCBnbG9i
YWxPYmplY3RHUFIsIGJhc2VHUFIsIGFyZ3VtZW50R1BSKTsKLSAgICAgICAgbV9qaXQuZXhjZXB0
aW9uQ2hlY2soKTsKLSAgICAgICAgCi0gICAgICAgIG1faml0Lm9yMzIoVHJ1c3RlZEltbTMyKFZh
bHVlRmFsc2UpLCByZXN1bHQuZ3ByKCkpOwotICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdC5n
cHIoKSwgbm9kZSwgRGF0YUZvcm1hdEpTQm9vbGVhbik7CisgICAgICAgIGNvbXBpbGVSZWdFeHBU
ZXN0KG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBjYXNlIFN0cmluZ1JlcGxh
Y2U6CiAgICAgY2FzZSBTdHJpbmdSZXBsYWNlUmVnRXhwOiB7Ci0gICAgICAgIGJvb2wgc2FtcGxl
ID0gZmFsc2U7Ci0KLSAgICAgICAgaWYgKHNhbXBsZSkKLSAgICAgICAgICAgIG1faml0LmluY3Jl
bWVudFN1cGVyU2FtcGxlckNvdW50KCk7Ci0gICAgICAgIAotICAgICAgICBpZiAobm9kZS0+Y2hp
bGQxKCkudXNlS2luZCgpID09IFN0cmluZ1VzZQotICAgICAgICAgICAgJiYgbm9kZS0+Y2hpbGQy
KCkudXNlS2luZCgpID09IFJlZ0V4cE9iamVjdFVzZQotICAgICAgICAgICAgJiYgbm9kZS0+Y2hp
bGQzKCkudXNlS2luZCgpID09IFN0cmluZ1VzZSkgewotICAgICAgICAgICAgaWYgKEpTU3RyaW5n
KiByZXBsYWNlID0gbm9kZS0+Y2hpbGQzKCktPmR5bmFtaWNDYXN0Q29uc3RhbnQ8SlNTdHJpbmcq
PigqbV9qaXQudm0oKSkpIHsKLSAgICAgICAgICAgICAgICBpZiAoIXJlcGxhY2UtPmxlbmd0aCgp
KSB7Ci0gICAgICAgICAgICAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIHN0cmluZyh0aGlz
LCBub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgICAgICAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVy
YW5kIHJlZ0V4cCh0aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgICAgICAgICAgICAgIEdQ
UlJlZyBzdHJpbmdHUFIgPSBzdHJpbmcuZ3ByKCk7Ci0gICAgICAgICAgICAgICAgICAgIEdQUlJl
ZyByZWdFeHBHUFIgPSByZWdFeHAuZ3ByKCk7Ci0gICAgICAgICAgICAgICAgICAgIHNwZWN1bGF0
ZVN0cmluZyhub2RlLT5jaGlsZDEoKSwgc3RyaW5nR1BSKTsKLSAgICAgICAgICAgICAgICAgICAg
c3BlY3VsYXRlUmVnRXhwT2JqZWN0KG5vZGUtPmNoaWxkMigpLCByZWdFeHBHUFIpOwotCi0gICAg
ICAgICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7Ci0gICAgICAgICAgICAgICAgICAgIEdQ
UkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKLSAgICAgICAgICAgICAgICAgICAgY2Fs
bE9wZXJhdGlvbigKLSAgICAgICAgICAgICAgICAgICAgICAgIG9wZXJhdGlvblN0cmluZ1Byb3Rv
RnVuY1JlcGxhY2VSZWdFeHBFbXB0eVN0ciwgcmVzdWx0LmdwcigpLCBzdHJpbmdHUFIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICByZWdFeHBHUFIpOwotICAgICAgICAgICAgICAgICAgICBtX2pp
dC5leGNlcHRpb25DaGVjaygpOwotICAgICAgICAgICAgICAgICAgICBjZWxsUmVzdWx0KHJlc3Vs
dC5ncHIoKSwgbm9kZSk7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChzYW1wbGUpCi0gICAgICAg
ICAgICAgICAgICAgICAgICBtX2ppdC5kZWNyZW1lbnRTdXBlclNhbXBsZXJDb3VudCgpOwotICAg
ICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9
Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIHN0cmluZyh0
aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0gICAgICAgICAgICBTcGVjdWxhdGVDZWxsT3BlcmFuZCBy
ZWdFeHAodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotICAgICAgICAgICAgU3BlY3VsYXRlQ2VsbE9w
ZXJhbmQgcmVwbGFjZSh0aGlzLCBub2RlLT5jaGlsZDMoKSk7Ci0gICAgICAgICAgICBHUFJSZWcg
c3RyaW5nR1BSID0gc3RyaW5nLmdwcigpOwotICAgICAgICAgICAgR1BSUmVnIHJlZ0V4cEdQUiA9
IHJlZ0V4cC5ncHIoKTsKLSAgICAgICAgICAgIEdQUlJlZyByZXBsYWNlR1BSID0gcmVwbGFjZS5n
cHIoKTsKLSAgICAgICAgICAgIHNwZWN1bGF0ZVN0cmluZyhub2RlLT5jaGlsZDEoKSwgc3RyaW5n
R1BSKTsKLSAgICAgICAgICAgIHNwZWN1bGF0ZVJlZ0V4cE9iamVjdChub2RlLT5jaGlsZDIoKSwg
cmVnRXhwR1BSKTsKLSAgICAgICAgICAgIHNwZWN1bGF0ZVN0cmluZyhub2RlLT5jaGlsZDMoKSwg
cmVwbGFjZUdQUik7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7
Ci0gICAgICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7Ci0gICAgICAg
ICAgICBjYWxsT3BlcmF0aW9uKAotICAgICAgICAgICAgICAgIG9wZXJhdGlvblN0cmluZ1Byb3Rv
RnVuY1JlcGxhY2VSZWdFeHBTdHJpbmcsIHJlc3VsdC5ncHIoKSwgc3RyaW5nR1BSLCByZWdFeHBH
UFIsCi0gICAgICAgICAgICAgICAgcmVwbGFjZUdQUik7Ci0gICAgICAgICAgICBtX2ppdC5leGNl
cHRpb25DaGVjaygpOwotICAgICAgICAgICAgY2VsbFJlc3VsdChyZXN1bHQuZ3ByKCksIG5vZGUp
OwotICAgICAgICAgICAgaWYgKHNhbXBsZSkKLSAgICAgICAgICAgICAgICBtX2ppdC5kZWNyZW1l
bnRTdXBlclNhbXBsZXJDb3VudCgpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLQot
ICAgICAgICAvLyBJZiB3ZSBmaXhlZCB1cCB0aGUgZWRnZSBvZiBjaGlsZDIsIHdlIGluc2VydGVk
IGEgQ2hlY2soQGNoaWxkMiwgU3RyaW5nKS4KLSAgICAgICAgT3BlcmFuZFNwZWN1bGF0aW9uTW9k
ZSBjaGlsZDJTcGVjdWxhdGlvbk1vZGUgPSBBdXRvbWF0aWNPcGVyYW5kU3BlY3VsYXRpb247Ci0g
ICAgICAgIGlmIChub2RlLT5jaGlsZDIoKS51c2VLaW5kKCkgPT0gU3RyaW5nVXNlKQotICAgICAg
ICAgICAgY2hpbGQyU3BlY3VsYXRpb25Nb2RlID0gTWFudWFsT3BlcmFuZFNwZWN1bGF0aW9uOwot
Ci0gICAgICAgIEpTVmFsdWVPcGVyYW5kIHN0cmluZyh0aGlzLCBub2RlLT5jaGlsZDEoKSk7Ci0g
ICAgICAgIEpTVmFsdWVPcGVyYW5kIHNlYXJjaCh0aGlzLCBub2RlLT5jaGlsZDIoKSwgY2hpbGQy
U3BlY3VsYXRpb25Nb2RlKTsKLSAgICAgICAgSlNWYWx1ZU9wZXJhbmQgcmVwbGFjZSh0aGlzLCBu
b2RlLT5jaGlsZDMoKSk7Ci0gICAgICAgIEdQUlJlZyBzdHJpbmdHUFIgPSBzdHJpbmcuZ3ByKCk7
Ci0gICAgICAgIEdQUlJlZyBzZWFyY2hHUFIgPSBzZWFyY2guZ3ByKCk7Ci0gICAgICAgIEdQUlJl
ZyByZXBsYWNlR1BSID0gcmVwbGFjZS5ncHIoKTsKLSAgICAgICAgCi0gICAgICAgIGZsdXNoUmVn
aXN0ZXJzKCk7Ci0gICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKLSAg
ICAgICAgY2FsbE9wZXJhdGlvbigKLSAgICAgICAgICAgIG9wZXJhdGlvblN0cmluZ1Byb3RvRnVu
Y1JlcGxhY2VHZW5lcmljLCByZXN1bHQuZ3ByKCksIHN0cmluZ0dQUiwgc2VhcmNoR1BSLAotICAg
ICAgICAgICAgcmVwbGFjZUdQUik7Ci0gICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7Ci0g
ICAgICAgIGNlbGxSZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsKLSAgICAgICAgaWYgKHNhbXBs
ZSkKLSAgICAgICAgICAgIG1faml0LmRlY3JlbWVudFN1cGVyU2FtcGxlckNvdW50KCk7CisgICAg
ICAgIGNvbXBpbGVTdHJpbmdSZXBsYWNlKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CiAg
ICAgICAgIApAQCAtMzg0NSwyNSArMzY2MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUoTm9kZSogbm9kZSkKICAgICB9CiAgICAgICAgIAogICAgIGNhc2UgVG9QcmltaXRpdmU6IHsK
LSAgICAgICAgREZHX0FTU0VSVChtX2ppdC5ncmFwaCgpLCBub2RlLCBub2RlLT5jaGlsZDEoKS51
c2VLaW5kKCkgPT0gVW50eXBlZFVzZSk7Ci0gICAgICAgIEpTVmFsdWVPcGVyYW5kIGFyZ3VtZW50
KHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlz
LCBSZXVzZSwgYXJndW1lbnQpOwotICAgICAgICAKLSAgICAgICAgR1BSUmVnIGFyZ3VtZW50R1BS
ID0gYXJndW1lbnQuZ3ByKCk7Ci0gICAgICAgIEdQUlJlZyByZXN1bHRHUFIgPSByZXN1bHQuZ3By
KCk7Ci0gICAgICAgIAotICAgICAgICBhcmd1bWVudC51c2UoKTsKLSAgICAgICAgCi0gICAgICAg
IE1hY3JvQXNzZW1ibGVyOjpKdW1wIGFscmVhZHlQcmltaXRpdmUgPSBtX2ppdC5icmFuY2hJZk5v
dENlbGwoSlNWYWx1ZVJlZ3MoYXJndW1lbnRHUFIpKTsKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6
Okp1bXAgbm90UHJpbWl0aXZlID0gbV9qaXQuYnJhbmNoSWZPYmplY3QoYXJndW1lbnRHUFIpOwot
ICAgICAgICAKLSAgICAgICAgYWxyZWFkeVByaW1pdGl2ZS5saW5rKCZtX2ppdCk7Ci0gICAgICAg
IG1faml0Lm1vdmUoYXJndW1lbnRHUFIsIHJlc3VsdEdQUik7Ci0gICAgICAgIAotICAgICAgICBh
ZGRTbG93UGF0aEdlbmVyYXRvcigKLSAgICAgICAgICAgIHNsb3dQYXRoQ2FsbChub3RQcmltaXRp
dmUsIHRoaXMsIG9wZXJhdGlvblRvUHJpbWl0aXZlLCByZXN1bHRHUFIsIGFyZ3VtZW50R1BSKSk7
Ci0gICAgICAgIAotICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSwgVXNlQ2hp
bGRyZW5DYWxsZWRFeHBsaWNpdGx5KTsKKyAgICAgICAgY29tcGlsZVRvUHJpbWl0aXZlKG5vZGUp
OwogICAgICAgICBicmVhazsKICAgICB9CiAKQEAgLTU0NTIsMTggKzUyNDksNyBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGJyZWFrOwogICAgIH0K
ICAgICBjYXNlIEhhc0dlbmVyaWNQcm9wZXJ0eTogewotICAgICAgICBKU1ZhbHVlT3BlcmFuZCBi
YXNlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQg
cHJvcGVydHkodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwotCi0gICAgICAgIEpTVmFsdWVSZWdzIGJh
c2VSZWdzID0gYmFzZS5qc1ZhbHVlUmVncygpOwotICAgICAgICBHUFJSZWcgcHJvcGVydHlHUFIg
PSBwcm9wZXJ0eS5ncHIoKTsKLQotICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwotICAgICAgICBH
UFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7Ci0gICAgICAgIEdQUlJlZyByZXN1bHRH
UFIgPSByZXN1bHQuZ3ByKCk7Ci0gICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uSGFzR2Vu
ZXJpY1Byb3BlcnR5LCByZXN1bHRHUFIsIGJhc2VSZWdzLCBwcm9wZXJ0eUdQUik7Ci0gICAgICAg
IG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7Ci0gICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0R1BS
LCBub2RlLCBEYXRhRm9ybWF0SlNCb29sZWFuKTsKKyAgICAgICAgY29tcGlsZUhhc0dlbmVyaWNQ
cm9wZXJ0eShub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgSGFzU3RydWN0
dXJlUHJvcGVydHk6IHsKQEAgLTU3MDEsNDggKzU0ODcsMTIgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgIH0KICAgICAgICAgCiAgICAgY2FzZSBMb2dTaGFk
b3dDaGlja2VuUHJvbG9ndWU6IHsKLSAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAgICAg
cHJlcGFyZUZvckV4dGVybmFsQ2FsbCgpOwotICAgICAgICBtX2ppdC5lbWl0U3RvcmVDb2RlT3Jp
Z2luKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7Ci0KLSAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0
Y2gxKHRoaXMsIEdQUkluZm86Om5vbkFyZ0dQUjApOyAvLyBUaGlzIG11c3QgYmUgYSBub24tYXJn
dW1lbnQgR1BSLgotICAgICAgICBHUFJSZWcgc2NyYXRjaDFSZWcgPSBzY3JhdGNoMS5ncHIoKTsK
LSAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2gyKHRoaXMpOwotICAgICAgICBHUFJSZWcgc2Ny
YXRjaDJSZWcgPSBzY3JhdGNoMi5ncHIoKTsKLSAgICAgICAgR1BSVGVtcG9yYXJ5IHNoYWRvd1Bh
Y2tldCh0aGlzKTsKLSAgICAgICAgR1BSUmVnIHNoYWRvd1BhY2tldFJlZyA9IHNoYWRvd1BhY2tl
dC5ncHIoKTsKLQotICAgICAgICBtX2ppdC5lbnN1cmVTaGFkb3dDaGlja2VuUGFja2V0KCptX2pp
dC52bSgpLCBzaGFkb3dQYWNrZXRSZWcsIHNjcmF0Y2gxUmVnLCBzY3JhdGNoMlJlZyk7Ci0KLSAg
ICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgc2NvcGUodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwot
ICAgICAgICBHUFJSZWcgc2NvcGVSZWcgPSBzY29wZS5ncHIoKTsKLQotICAgICAgICBtX2ppdC5s
b2dTaGFkb3dDaGlja2VuUHJvbG9ndWVQYWNrZXQoc2hhZG93UGFja2V0UmVnLCBzY3JhdGNoMVJl
Zywgc2NvcGVSZWcpOwotICAgICAgICBub1Jlc3VsdChub2RlKTsKKyAgICAgICAgY29tcGlsZUxv
Z1NoYWRvd0NoaWNrZW5Qcm9sb2d1ZShub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCiAg
ICAgY2FzZSBMb2dTaGFkb3dDaGlja2VuVGFpbDogewotICAgICAgICBmbHVzaFJlZ2lzdGVycygp
OwotICAgICAgICBwcmVwYXJlRm9yRXh0ZXJuYWxDYWxsKCk7Ci0gICAgICAgIENhbGxTaXRlSW5k
ZXggY2FsbFNpdGVJbmRleCA9IG1faml0LmVtaXRTdG9yZUNvZGVPcmlnaW4obm9kZS0+b3JpZ2lu
LnNlbWFudGljKTsKLQotICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaDEodGhpcywgR1BSSW5m
bzo6bm9uQXJnR1BSMCk7IC8vIFRoaXMgbXVzdCBiZSBhIG5vbi1hcmd1bWVudCBHUFIuCi0gICAg
ICAgIEdQUlJlZyBzY3JhdGNoMVJlZyA9IHNjcmF0Y2gxLmdwcigpOwotICAgICAgICBHUFJUZW1w
b3Jhcnkgc2NyYXRjaDIodGhpcyk7Ci0gICAgICAgIEdQUlJlZyBzY3JhdGNoMlJlZyA9IHNjcmF0
Y2gyLmdwcigpOwotICAgICAgICBHUFJUZW1wb3Jhcnkgc2hhZG93UGFja2V0KHRoaXMpOwotICAg
ICAgICBHUFJSZWcgc2hhZG93UGFja2V0UmVnID0gc2hhZG93UGFja2V0LmdwcigpOwotCi0gICAg
ICAgIG1faml0LmVuc3VyZVNoYWRvd0NoaWNrZW5QYWNrZXQoKm1faml0LnZtKCksIHNoYWRvd1Bh
Y2tldFJlZywgc2NyYXRjaDFSZWcsIHNjcmF0Y2gyUmVnKTsKLQotICAgICAgICBKU1ZhbHVlT3Bl
cmFuZCB0aGlzVmFsdWUodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwotICAgICAgICBKU1ZhbHVlUmVn
cyB0aGlzUmVncyA9IEpTVmFsdWVSZWdzKHRoaXNWYWx1ZS5ncHIoKSk7Ci0gICAgICAgIFNwZWN1
bGF0ZUNlbGxPcGVyYW5kIHNjb3BlKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKLSAgICAgICAgR1BS
UmVnIHNjb3BlUmVnID0gc2NvcGUuZ3ByKCk7Ci0KLSAgICAgICAgbV9qaXQubG9nU2hhZG93Q2hp
Y2tlblRhaWxQYWNrZXQoc2hhZG93UGFja2V0UmVnLCB0aGlzUmVncywgc2NvcGVSZWcsIG1faml0
LmNvZGVCbG9jaygpLCBjYWxsU2l0ZUluZGV4KTsKLSAgICAgICAgbm9SZXN1bHQobm9kZSk7Cisg
ICAgICAgIGNvbXBpbGVMb2dTaGFkb3dDaGlja2VuVGFpbChub2RlKTsKICAgICAgICAgYnJlYWs7
CiAgICAgfQogCkBAIC01OTc1LDExICs1NzI1LDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6c3Bl
Y3VsYXRlRG91YmxlUmVwQW55SW50KEVkZ2UgZWRnZSkKICAgICBTcGVjdWxhdGVEb3VibGVPcGVy
YW5kIHZhbHVlKHRoaXMsIGVkZ2UpOwogICAgIEZQUlJlZyB2YWx1ZUZQUiA9IHZhbHVlLmZwcigp
OwogICAgIAorICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQg
cmVzdWx0KHRoaXMpOwogICAgIEdQUlJlZyByZXN1bHRHUFIgPSByZXN1bHQuZ3ByKCk7Ci0gICAg
Ci0gICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAKICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlv
bkNvbnZlcnREb3VibGVUb0ludDUyLCByZXN1bHRHUFIsIHZhbHVlRlBSKTsKICAgICAKICAgICBE
RkdfVFlQRV9DSEVDSygKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRM
TG93ZXJERkdUb0IzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdU
b0IzLmNwcAppbmRleCBmNjAyYzVmODk5NWM2NjI0ZTBkYzZiYjA1ZTVlYjMzZjdlMTY2YjZjLi42
MjcxNjM4MTllMmFiYmNiNzdmZDZjMjE2OTM1NWI1NGExMjI1Nzk5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCkBAIC0xMDMyMCw3ICsxMDMyMCw3
IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAgICAgICAgICAgICAgICAgICAgIExWYWx1ZSByZWdF
eHAgPSBsb3dSZWdFeHBPYmplY3QobV9ub2RlLT5jaGlsZDIoKSk7CiAKICAgICAgICAgICAgICAg
ICAgICAgTFZhbHVlIHJlc3VsdCA9IHZtQ2FsbCgKLSAgICAgICAgICAgICAgICAgICAgICAgIElu
dDY0LCBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uU3RyaW5nUHJvdG9GdW5jUmVwbGFjZVJlZ0V4
cEVtcHR5U3RyKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXJUeXBlKCksIG1fb3V0
Lm9wZXJhdGlvbihvcGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlUmVnRXhwRW1wdHlTdHIp
LAogICAgICAgICAgICAgICAgICAgICAgICAgbV9jYWxsRnJhbWUsIHN0cmluZywgcmVnRXhwKTsK
IAogICAgICAgICAgICAgICAgICAgICBzZXRKU1ZhbHVlKHJlc3VsdCk7CkBAIC0xMDMzMyw3ICsx
MDMzMyw3IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAgICAgICAgICAgICBMVmFsdWUgcmVwbGFj
ZSA9IGxvd1N0cmluZyhtX25vZGUtPmNoaWxkMygpKTsKIAogICAgICAgICAgICAgTFZhbHVlIHJl
c3VsdCA9IHZtQ2FsbCgKLSAgICAgICAgICAgICAgICBJbnQ2NCwgbV9vdXQub3BlcmF0aW9uKG9w
ZXJhdGlvblN0cmluZ1Byb3RvRnVuY1JlcGxhY2VSZWdFeHBTdHJpbmcpLAorICAgICAgICAgICAg
ICAgIHBvaW50ZXJUeXBlKCksIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25TdHJpbmdQcm90b0Z1
bmNSZXBsYWNlUmVnRXhwU3RyaW5nKSwKICAgICAgICAgICAgICAgICBtX2NhbGxGcmFtZSwgc3Ry
aW5nLCByZWdFeHAsIHJlcGxhY2UpOwogCiAgICAgICAgICAgICBzZXRKU1ZhbHVlKHJlc3VsdCk7
CkBAIC0xMDM0Nyw3ICsxMDM0Nyw3IEBAIGNsYXNzIExvd2VyREZHVG9CMyB7CiAgICAgICAgICAg
ICBzZWFyY2ggPSBsb3dKU1ZhbHVlKG1fbm9kZS0+Y2hpbGQyKCkpOwogCiAgICAgICAgIExWYWx1
ZSByZXN1bHQgPSB2bUNhbGwoCi0gICAgICAgICAgICBJbnQ2NCwgbV9vdXQub3BlcmF0aW9uKG9w
ZXJhdGlvblN0cmluZ1Byb3RvRnVuY1JlcGxhY2VHZW5lcmljKSwgbV9jYWxsRnJhbWUsCisgICAg
ICAgICAgICBwb2ludGVyVHlwZSgpLCBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uU3RyaW5nUHJv
dG9GdW5jUmVwbGFjZUdlbmVyaWMpLCBtX2NhbGxGcmFtZSwKICAgICAgICAgICAgIGxvd0pTVmFs
dWUobV9ub2RlLT5jaGlsZDEoKSksIHNlYXJjaCwKICAgICAgICAgICAgIGxvd0pTVmFsdWUobV9u
b2RlLT5jaGlsZDMoKSkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wZXJhdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRp
b25zLmNwcAppbmRleCA0ZTYwYjM0ZTk0NDViZDA2ODUwZDVhNWNiNWQ4MDNmNGJlNmQ4NDQyLi4w
NTdjMTA4NTI2ZWM3Yjc2NmVhODIwN2FhZjMwYjMxNmM1MjgyODUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKQEAgLTU4LDcgKzU4LDYgQEAKICNpbmNs
dWRlICJKU0dlbmVyYXRvckZ1bmN0aW9uLmgiCiAjaW5jbHVkZSAiSlNHbG9iYWxPYmplY3RGdW5j
dGlvbnMuaCIKICNpbmNsdWRlICJKU0xleGljYWxFbnZpcm9ubWVudC5oIgotI2luY2x1ZGUgIkpT
UHJvcGVydHlOYW1lRW51bWVyYXRvci5oIgogI2luY2x1ZGUgIkpTV2l0aFNjb3BlLmgiCiAjaW5j
bHVkZSAiTW9kdWxlUHJvZ3JhbUNvZGVCbG9jay5oIgogI2luY2x1ZGUgIk9iamVjdENvbnN0cnVj
dG9yLmgiCkBAIC0yMzcyLDY2ICsyMzcxLDYgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
bkV4Y2VwdGlvbkZ1enooRXhlY1N0YXRlKiBleGVjKQogI2VuZGlmIC8vIENPTVBJTEVSKEdDQ19P
Ul9DTEFORykKIH0KIAotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25IYXNH
ZW5lcmljUHJvcGVydHkoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkQmFz
ZVZhbHVlLCBKU0NlbGwqIHByb3BlcnR5TmFtZSkKLXsKLSAgICBWTSYgdm0gPSBleGVjLT52bSgp
OwotICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKLSAgICBKU1Zh
bHVlIGJhc2VWYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShlbmNvZGVkQmFzZVZhbHVlKTsKLSAgICBp
ZiAoYmFzZVZhbHVlLmlzVW5kZWZpbmVkT3JOdWxsKCkpCi0gICAgICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNCb29sZWFuKGZhbHNlKSk7Ci0KLSAgICBKU09iamVjdCogYmFzZSA9IGJhc2VW
YWx1ZS50b09iamVjdChleGVjKTsKLSAgICBpZiAoIWJhc2UpCi0gICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoSlNWYWx1ZSgpKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9v
bGVhbihiYXNlLT5oYXNQcm9wZXJ0eUdlbmVyaWMoZXhlYywgYXNTdHJpbmcocHJvcGVydHlOYW1l
KS0+dG9JZGVudGlmaWVyKGV4ZWMpLCBQcm9wZXJ0eVNsb3Q6OkludGVybmFsTWV0aG9kVHlwZTo6
R2V0T3duUHJvcGVydHkpKSk7Ci19Ci0KLUpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25H
ZXRQcm9wZXJ0eUVudW1lcmF0b3JDZWxsKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxsKiBjZWxsKQot
ewotICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRy
YWNlcigmdm0sIGV4ZWMpOwotICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZt
KTsKLQotICAgIEpTT2JqZWN0KiBiYXNlID0gY2VsbC0+dG9PYmplY3QoZXhlYywgZXhlYy0+bGV4
aWNhbEdsb2JhbE9iamVjdCgpKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB7IH0p
OwotCi0gICAgc2NvcGUucmVsZWFzZSgpOwotICAgIHJldHVybiBwcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKGV4ZWMsIGJhc2UpOwotfQotCi1KU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2V0
UHJvcGVydHlFbnVtZXJhdG9yKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZEJhc2UpCi17Ci0gICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBOYXRpdmVDYWxsRnJhbWVU
cmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7Ci0gICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1df
U0NPUEUodm0pOwotCi0gICAgSlNWYWx1ZSBiYXNlID0gSlNWYWx1ZTo6ZGVjb2RlKGVuY29kZWRC
YXNlKTsKLSAgICBpZiAoYmFzZS5pc1VuZGVmaW5lZE9yTnVsbCgpKQotICAgICAgICByZXR1cm4g
SlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yOjpjcmVhdGUodm0pOwotCi0gICAgSlNPYmplY3QqIGJh
c2VPYmplY3QgPSBiYXNlLnRvT2JqZWN0KGV4ZWMpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIHsgfSk7Ci0KLSAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcmV0dXJuIHByb3BlcnR5
TmFtZUVudW1lcmF0b3IoZXhlYywgYmFzZU9iamVjdCk7Ci19Ci0KLUVuY29kZWRKU1ZhbHVlIEpJ
VF9PUEVSQVRJT04gb3BlcmF0aW9uTmV4dEVudW1lcmF0b3JQbmFtZShFeGVjU3RhdGUqIGV4ZWMs
IEpTQ2VsbCogZW51bWVyYXRvckNlbGwsIGludDMyX3QgaW5kZXgpCi17Ci0gICAgVk0mIHZtID0g
ZXhlYy0+dm0oKTsKLSAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKCZ2bSwgZXhlYyk7
Ci0gICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBlbnVtZXJhdG9yID0ganNDYXN0PEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvcio+KGVudW1lcmF0b3JDZWxsKTsKLSAgICBKU1N0cmluZyogcHJv
cGVydHlOYW1lID0gZW51bWVyYXRvci0+cHJvcGVydHlOYW1lQXRJbmRleChpbmRleCk7Ci0gICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShwcm9wZXJ0eU5hbWUgPyBwcm9wZXJ0eU5hbWUgOiBqc051
bGwoKSk7Ci19Ci0KLUpTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25Ub0luZGV4U3RyaW5n
KEV4ZWNTdGF0ZSogZXhlYywgaW50MzJfdCBpbmRleCkKLXsKLSAgICBWTSYgdm0gPSBleGVjLT52
bSgpOwotICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIoJnZtLCBleGVjKTsKLSAgICBy
ZXR1cm4ganNTdHJpbmcoZXhlYywgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBpbmRleCkuc3RyaW5n
KCkpOwotfQotCiBBTFdBWVNfSU5MSU5FIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSB1bnByb2ZpbGVk
QWRkKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZE9wMSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZE9wMikKIHsKICAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKaW5kZXggYWM5ZGVjYzFhY2E4NDQ3MzEx
NmZmY2Q4NjExYTg4MDUwZTQ0MDU2Yi4uYzI3MjIxYWJlNmQwYTI2OGUwYzBiNjNkNWVjMGJlZTM3
N2JiODIxMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRp
b25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmgKQEAg
LTIyMCw2ICsyMjAsOCBAQCB0eXBlZGVmIEpTQ2VsbCogKEpJVF9PUEVSQVRJT04gKkNfSklUT3Bl
cmF0aW9uX0VKc2NJKShFeGVjU3RhdGUqLCBKU1Njb3BlKiwgVW5pcQogdHlwZWRlZiBKU0NlbGwq
IChKSVRfT1BFUkFUSU9OICpDX0pJVE9wZXJhdGlvbl9FQ0paKShFeGVjU3RhdGUqLCBKU0NlbGwq
LCBFbmNvZGVkSlNWYWx1ZSwgaW50MzJfdCk7CiB0eXBlZGVmIEpTQ2VsbCogKEpJVF9PUEVSQVRJ
T04gKkNfSklUT3BlcmF0aW9uX0VDSikoRXhlY1N0YXRlKiwgSlNDZWxsKiwgRW5jb2RlZEpTVmFs
dWUpOwogdHlwZWRlZiBKU0NlbGwqIChKSVRfT1BFUkFUSU9OICpDX0pJVE9wZXJhdGlvbl9FQ08p
KEV4ZWNTdGF0ZSosIEpTQ2VsbCosIEpTT2JqZWN0Kik7Cit0eXBlZGVmIEpTQ2VsbCogKEpJVF9P
UEVSQVRJT04gKkNfSklUT3BlcmF0aW9uX0VKc3NSZW8pKEV4ZWNTdGF0ZSosIEpTU3RyaW5nKiwg
UmVnRXhwT2JqZWN0Kik7Cit0eXBlZGVmIEpTQ2VsbCogKEpJVF9PUEVSQVRJT04gKkNfSklUT3Bl
cmF0aW9uX0VKc3NSZW9Kc3MpKEV4ZWNTdGF0ZSosIEpTU3RyaW5nKiwgUmVnRXhwT2JqZWN0Kiwg
SlNTdHJpbmcqKTsKIHR5cGVkZWYgZG91YmxlIChKSVRfT1BFUkFUSU9OICpEX0pJVE9wZXJhdGlv
bl9EKShkb3VibGUpOwogdHlwZWRlZiBkb3VibGUgKEpJVF9PUEVSQVRJT04gKkRfSklUT3BlcmF0
aW9uX0cpKEpTR2xvYmFsT2JqZWN0Kik7CiB0eXBlZGVmIGRvdWJsZSAoSklUX09QRVJBVElPTiAq
RF9KSVRPcGVyYXRpb25fREQpKGRvdWJsZSwgZG91YmxlKTsKQEAgLTQ2MCwxMiArNDYyLDYgQEAg
dm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkV4Y2VwdGlvbkZ1enooRXhlY1N0YXRlKik7CiBp
bnQzMl90IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uQ2hlY2tJZkV4Y2VwdGlvbklzVW5jYXRjaGFi
bGVBbmROb3RpZnlQcm9maWxlcihFeGVjU3RhdGUqKTsKIGludDMyX3QgSklUX09QRVJBVElPTiBv
cGVyYXRpb25JbnN0YW5jZU9mQ3VzdG9tKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIGVuY29k
ZWRWYWx1ZSwgSlNPYmplY3QqIGNvbnN0cnVjdG9yLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkSGFz
SW5zdGFuY2UpIFdURl9JTlRFUk5BTDsKIAotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBv
cGVyYXRpb25IYXNHZW5lcmljUHJvcGVydHkoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEpT
Q2VsbCopOwotSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldFByb3BlcnR5RW51bWVy
YXRvckNlbGwoRXhlY1N0YXRlKiwgSlNDZWxsKik7Ci1KU0NlbGwqIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uR2V0UHJvcGVydHlFbnVtZXJhdG9yKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlKTsK
LUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uTmV4dEVudW1lcmF0b3JQbmFt
ZShFeGVjU3RhdGUqLCBKU0NlbGwqLCBpbnQzMl90KTsKLUpTQ2VsbCogSklUX09QRVJBVElPTiBv
cGVyYXRpb25Ub0luZGV4U3RyaW5nKEV4ZWNTdGF0ZSosIGludDMyX3QpOwotCiBFbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblZhbHVlQWRkKEV4ZWNTdGF0ZSosIEVuY29kZWRK
U1ZhbHVlIGVuY29kZWRPcDEsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRPcDIpIFdURl9JTlRFUk5B
TDsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uVmFsdWVBZGRQcm9maWxl
ZChFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkT3AyLCBBcml0aFByb2ZpbGUqKSBXVEZfSU5URVJOQUw7CiBFbmNvZGVkSlNWYWx1ZSBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblZhbHVlQWRkUHJvZmlsZWRPcHRpbWl6ZShFeGVjU3RhdGUq
LCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AxLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkT3AyLCBK
SVRBZGRJQyopIFdURl9JTlRFUk5BTDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCmluZGV4IDI5MWJjNjlhMjI1YzBhODk2NjhhZWE1NGNm
OWJkNmZlODhjZWU5ZDkuLjU3ODQxY2M0NmQ5ZGJmMGFjMzcwZjM0ZDJkODkzNTczYjg4YmRiYzIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlw
ZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBl
LmNwcApAQCAtMzA3LDcgKzMwNyw3IEBAIHN0cnVjdCBTdHJpbmdSYW5nZSB7CiAgICAgaW50IGxl
bmd0aDsKIH07CiAKLXN0YXRpYyBBTFdBWVNfSU5MSU5FIEpTVmFsdWUganNTcGxpY2VTdWJzdHJp
bmdzKEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcqIHNvdXJjZVZhbCwgY29uc3QgU3RyaW5nJiBz
b3VyY2UsIGNvbnN0IFN0cmluZ1JhbmdlKiBzdWJzdHJpbmdSYW5nZXMsIGludCByYW5nZUNvdW50
KQorc3RhdGljIEFMV0FZU19JTkxJTkUgSlNTdHJpbmcqIGpzU3BsaWNlU3Vic3RyaW5ncyhFeGVj
U3RhdGUqIGV4ZWMsIEpTU3RyaW5nKiBzb3VyY2VWYWwsIGNvbnN0IFN0cmluZyYgc291cmNlLCBj
b25zdCBTdHJpbmdSYW5nZSogc3Vic3RyaW5nUmFuZ2VzLCBpbnQgcmFuZ2VDb3VudCkKIHsKICAg
ICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKHZtKTsKQEAgLTMzNCw4ICszMzQsMTAgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgSlNWYWx1
ZSBqc1NwbGljZVN1YnN0cmluZ3MoRXhlY1N0YXRlKiBleGVjLCBKU1N0cmluZyogc291cmMKICAg
ICAgICAgTENoYXIqIGJ1ZmZlcjsKICAgICAgICAgY29uc3QgTENoYXIqIHNvdXJjZURhdGEgPSBz
b3VyY2UuY2hhcmFjdGVyczgoKTsKICAgICAgICAgYXV0byBpbXBsID0gU3RyaW5nSW1wbDo6dHJ5
Q3JlYXRlVW5pbml0aWFsaXplZCh0b3RhbExlbmd0aCwgYnVmZmVyKTsKLSAgICAgICAgaWYgKCFp
bXBsKQotICAgICAgICAgICAgcmV0dXJuIHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjLCBzY29w
ZSk7CisgICAgICAgIGlmICghaW1wbCkgeworICAgICAgICAgICAgdGhyb3dPdXRPZk1lbW9yeUVy
cm9yKGV4ZWMsIHNjb3BlKTsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICB9
CiAKICAgICAgICAgaW50IGJ1ZmZlclBvcyA9IDA7CiAgICAgICAgIGZvciAoaW50IGkgPSAwOyBp
IDwgcmFuZ2VDb3VudDsgaSsrKSB7CkBAIC0zNTMsOCArMzU1LDEwIEBAIHN0YXRpYyBBTFdBWVNf
SU5MSU5FIEpTVmFsdWUganNTcGxpY2VTdWJzdHJpbmdzKEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJp
bmcqIHNvdXJjCiAgICAgY29uc3QgVUNoYXIqIHNvdXJjZURhdGEgPSBzb3VyY2UuY2hhcmFjdGVy
czE2KCk7CiAKICAgICBhdXRvIGltcGwgPSBTdHJpbmdJbXBsOjp0cnlDcmVhdGVVbmluaXRpYWxp
emVkKHRvdGFsTGVuZ3RoLCBidWZmZXIpOwotICAgIGlmICghaW1wbCkKLSAgICAgICAgcmV0dXJu
IHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjLCBzY29wZSk7CisgICAgaWYgKCFpbXBsKSB7Cisg
ICAgICAgIHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjLCBzY29wZSk7CisgICAgICAgIHJldHVy
biBudWxscHRyOworICAgIH0KIAogICAgIGludCBidWZmZXJQb3MgPSAwOwogICAgIGZvciAoaW50
IGkgPSAwOyBpIDwgcmFuZ2VDb3VudDsgaSsrKSB7CkBAIC0zNjgsNyArMzcyLDcgQEAgc3RhdGlj
IEFMV0FZU19JTkxJTkUgSlNWYWx1ZSBqc1NwbGljZVN1YnN0cmluZ3MoRXhlY1N0YXRlKiBleGVj
LCBKU1N0cmluZyogc291cmMKICAgICByZXR1cm4ganNTdHJpbmcoZXhlYywgV1RGTW92ZShpbXBs
KSk7CiB9CiAKLXN0YXRpYyBBTFdBWVNfSU5MSU5FIEpTVmFsdWUganNTcGxpY2VTdWJzdHJpbmdz
V2l0aFNlcGFyYXRvcnMoRXhlY1N0YXRlKiBleGVjLCBKU1N0cmluZyogc291cmNlVmFsLCBjb25z
dCBTdHJpbmcmIHNvdXJjZSwgY29uc3QgU3RyaW5nUmFuZ2UqIHN1YnN0cmluZ1JhbmdlcywgaW50
IHJhbmdlQ291bnQsIGNvbnN0IFN0cmluZyogc2VwYXJhdG9ycywgaW50IHNlcGFyYXRvckNvdW50
KQorc3RhdGljIEFMV0FZU19JTkxJTkUgSlNTdHJpbmcqIGpzU3BsaWNlU3Vic3RyaW5nc1dpdGhT
ZXBhcmF0b3JzKEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcqIHNvdXJjZVZhbCwgY29uc3QgU3Ry
aW5nJiBzb3VyY2UsIGNvbnN0IFN0cmluZ1JhbmdlKiBzdWJzdHJpbmdSYW5nZXMsIGludCByYW5n
ZUNvdW50LCBjb25zdCBTdHJpbmcqIHNlcGFyYXRvcnMsIGludCBzZXBhcmF0b3JDb3VudCkKIHsK
ICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKQEAgLTM5Myw4ICszOTcsMTAgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgSlNW
YWx1ZSBqc1NwbGljZVN1YnN0cmluZ3NXaXRoU2VwYXJhdG9ycyhFeGVjU3RhdGUqIGV4ZWMsIEoK
ICAgICAgICAgaWYgKHNlcGFyYXRvcnNbaV0ubGVuZ3RoKCkgJiYgIXNlcGFyYXRvcnNbaV0uaXM4
Qml0KCkpCiAgICAgICAgICAgICBhbGxTZXBhcmF0b3JzOEJpdCA9IGZhbHNlOwogICAgIH0KLSAg
ICBpZiAodG90YWxMZW5ndGguaGFzT3ZlcmZsb3dlZCgpKQotICAgICAgICByZXR1cm4gdGhyb3dP
dXRPZk1lbW9yeUVycm9yKGV4ZWMsIHNjb3BlKTsKKyAgICBpZiAodG90YWxMZW5ndGguaGFzT3Zl
cmZsb3dlZCgpKSB7CisgICAgICAgIHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjLCBzY29wZSk7
CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KIAogICAgIGlmICghdG90YWxMZW5ndGgp
CiAgICAgICAgIHJldHVybiBqc0VtcHR5U3RyaW5nKGV4ZWMpOwpAQCAtNDA0LDggKzQxMCwxMCBA
QCBzdGF0aWMgQUxXQVlTX0lOTElORSBKU1ZhbHVlIGpzU3BsaWNlU3Vic3RyaW5nc1dpdGhTZXBh
cmF0b3JzKEV4ZWNTdGF0ZSogZXhlYywgSgogICAgICAgICBjb25zdCBMQ2hhciogc291cmNlRGF0
YSA9IHNvdXJjZS5jaGFyYWN0ZXJzOCgpOwogCiAgICAgICAgIGF1dG8gaW1wbCA9IFN0cmluZ0lt
cGw6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6ZWQodG90YWxMZW5ndGgudW5zYWZlR2V0KCksIGJ1ZmZl
cik7Ci0gICAgICAgIGlmICghaW1wbCkKLSAgICAgICAgICAgIHJldHVybiB0aHJvd091dE9mTWVt
b3J5RXJyb3IoZXhlYywgc2NvcGUpOworICAgICAgICBpZiAoIWltcGwpIHsKKyAgICAgICAgICAg
IHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjLCBzY29wZSk7CisgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICAgICAgfQogCiAgICAgICAgIGludCBtYXhDb3VudCA9IHN0ZDo6bWF4KHJh
bmdlQ291bnQsIHNlcGFyYXRvckNvdW50KTsKICAgICAgICAgaW50IGJ1ZmZlclBvcyA9IDA7CkBA
IC00MzAsOCArNDM4LDEwIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEpTVmFsdWUganNTcGxpY2VT
dWJzdHJpbmdzV2l0aFNlcGFyYXRvcnMoRXhlY1N0YXRlKiBleGVjLCBKCiAKICAgICBVQ2hhciog
YnVmZmVyOwogICAgIGF1dG8gaW1wbCA9IFN0cmluZ0ltcGw6OnRyeUNyZWF0ZVVuaW5pdGlhbGl6
ZWQodG90YWxMZW5ndGgudW5zYWZlR2V0KCksIGJ1ZmZlcik7Ci0gICAgaWYgKCFpbXBsKQotICAg
ICAgICByZXR1cm4gdGhyb3dPdXRPZk1lbW9yeUVycm9yKGV4ZWMsIHNjb3BlKTsKKyAgICBpZiAo
IWltcGwpIHsKKyAgICAgICAgdGhyb3dPdXRPZk1lbW9yeUVycm9yKGV4ZWMsIHNjb3BlKTsKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQogCiAgICAgaW50IG1heENvdW50ID0gc3RkOjpt
YXgocmFuZ2VDb3VudCwgc2VwYXJhdG9yQ291bnQpOwogICAgIGludCBidWZmZXJQb3MgPSAwOwpA
QCAtNDYzLDEwICs0NzMsMTAgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgSlNWYWx1ZSBqc1NwbGlj
ZVN1YnN0cmluZ3NXaXRoU2VwYXJhdG9ycyhFeGVjU3RhdGUqIGV4ZWMsIEoKICNkZWZpbmUgT1VU
X09GX01FTU9SWShleGVjX18sIHNjb3BlX18pIFwKICAgICBkbyB7IFwKICAgICAgICAgdGhyb3dP
dXRPZk1lbW9yeUVycm9yKGV4ZWNfXywgc2NvcGVfXyk7IFwKLSAgICAgICAgcmV0dXJuIGVuY29k
ZWRKU1ZhbHVlKCk7IFwKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7IFwKICAgICB9IHdoaWxlIChm
YWxzZSkKIAotc3RhdGljIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpTVmFsdWUgcmVtb3ZlVXNpbmdS
ZWdFeHBTZWFyY2goVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMsIEpTU3RyaW5nKiBzdHJpbmcsIGNv
bnN0IFN0cmluZyYgc291cmNlLCBSZWdFeHAqIHJlZ0V4cCkKK3N0YXRpYyBBTFdBWVNfSU5MSU5F
IEpTU3RyaW5nKiByZW1vdmVVc2luZ1JlZ0V4cFNlYXJjaChWTSYgdm0sIEV4ZWNTdGF0ZSogZXhl
YywgSlNTdHJpbmcqIHN0cmluZywgY29uc3QgU3RyaW5nJiBzb3VyY2UsIFJlZ0V4cCogcmVnRXhw
KQogewogICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKICAgICBTdXBl
clNhbXBsZXJTY29wZSBzdXBlclNhbXBsZXJTY29wZShmYWxzZSk7CkBAIC00OTksMTcgKzUwOSwx
NyBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSByZW1vdmVVc2luZ1JlZ0V4
cFNlYXJjaChWTSYgdm0sIEV4ZWNTdGF0ZSogZQogICAgIH0KIAogICAgIGlmICghbGFzdEluZGV4
KQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHN0cmluZyk7CisgICAgICAgIHJldHVy
biBzdHJpbmc7CiAKICAgICBpZiAoc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGxhc3RJbmRleCkgPCBz
b3VyY2VMZW4pIHsKICAgICAgICAgaWYgKFVOTElLRUxZKCFzb3VyY2VSYW5nZXMudHJ5Q29uc3Ry
dWN0QW5kQXBwZW5kKGxhc3RJbmRleCwgc291cmNlTGVuIC0gbGFzdEluZGV4KSkpCiAgICAgICAg
ICAgICBPVVRfT0ZfTUVNT1JZKGV4ZWMsIHNjb3BlKTsKICAgICB9CiAgICAgc2NvcGUucmVsZWFz
ZSgpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNTcGxpY2VTdWJzdHJpbmdzKGV4ZWMs
IHN0cmluZywgc291cmNlLCBzb3VyY2VSYW5nZXMuZGF0YSgpLCBzb3VyY2VSYW5nZXMuc2l6ZSgp
KSk7CisgICAgcmV0dXJuIGpzU3BsaWNlU3Vic3RyaW5ncyhleGVjLCBzdHJpbmcsIHNvdXJjZSwg
c291cmNlUmFuZ2VzLmRhdGEoKSwgc291cmNlUmFuZ2VzLnNpemUoKSk7CiB9CiAKLXN0YXRpYyBB
TFdBWVNfSU5MSU5FIEVuY29kZWRKU1ZhbHVlIHJlcGxhY2VVc2luZ1JlZ0V4cFNlYXJjaCgKK3N0
YXRpYyBBTFdBWVNfSU5MSU5FIEpTU3RyaW5nKiByZXBsYWNlVXNpbmdSZWdFeHBTZWFyY2goCiAg
ICAgVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMsIEpTU3RyaW5nKiBzdHJpbmcsIEpTVmFsdWUgc2Vh
cmNoVmFsdWUsIENhbGxEYXRhJiBjYWxsRGF0YSwKICAgICBDYWxsVHlwZSBjYWxsVHlwZSwgU3Ry
aW5nJiByZXBsYWNlbWVudFN0cmluZywgSlNWYWx1ZSByZXBsYWNlVmFsdWUpCiB7CkBAIC01MTcs
NyArNTI3LDcgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpTVmFsdWUgcmVwbGFjZVVz
aW5nUmVnRXhwU2VhcmNoKAogCiAgICAgY29uc3QgU3RyaW5nJiBzb3VyY2UgPSBzdHJpbmctPnZh
bHVlKGV4ZWMpOwogICAgIHVuc2lnbmVkIHNvdXJjZUxlbiA9IHNvdXJjZS5sZW5ndGgoKTsKLSAg
ICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICBSRVRV
Uk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKICAgICBSZWdFeHBPYmplY3QqIHJlZ0V4
cE9iamVjdCA9IGFzUmVnRXhwT2JqZWN0KHNlYXJjaFZhbHVlKTsKICAgICBSZWdFeHAqIHJlZ0V4
cCA9IHJlZ0V4cE9iamVjdC0+cmVnRXhwKCk7CiAgICAgYm9vbCBnbG9iYWwgPSByZWdFeHAtPmds
b2JhbCgpOwpAQCAtNTI2LDcgKzUzNiw3IEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEVuY29kZWRK
U1ZhbHVlIHJlcGxhY2VVc2luZ1JlZ0V4cFNlYXJjaCgKICAgICBpZiAoZ2xvYmFsKSB7CiAgICAg
ICAgIC8vIEVTNS4xIDE1LjUuNC4xMCBzdGVwIDguYS4KICAgICAgICAgcmVnRXhwT2JqZWN0LT5z
ZXRMYXN0SW5kZXgoZXhlYywgMCk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IGVuY29kZWRKU1ZhbHVlKCkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBu
dWxscHRyKTsKIAogICAgICAgICBpZiAoY2FsbFR5cGUgPT0gQ2FsbFR5cGU6Ok5vbmUgJiYgIXJl
cGxhY2VtZW50U3RyaW5nLmxlbmd0aCgpKSB7CiAgICAgICAgICAgICBzY29wZS5yZWxlYXNlKCk7
CkBAIC01NTAsNyArNTYwLDcgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpTVmFsdWUg
cmVwbGFjZVVzaW5nUmVnRXhwU2VhcmNoKAogICAgICAgICBpbnQgYXJnQ291bnQgPSByZWdFeHAt
Pm51bVN1YnBhdHRlcm5zKCkgKyAxICsgMjsKICAgICAgICAgSlNGdW5jdGlvbiogZnVuYyA9IGpz
Q2FzdDxKU0Z1bmN0aW9uKj4ocmVwbGFjZVZhbHVlKTsKICAgICAgICAgQ2FjaGVkQ2FsbCBjYWNo
ZWRDYWxsKGV4ZWMsIGZ1bmMsIGFyZ0NvdW50KTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElP
TihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
c2NvcGUsIG51bGxwdHIpOwogICAgICAgICBpZiAoc291cmNlLmlzOEJpdCgpKSB7CiAgICAgICAg
ICAgICB3aGlsZSAodHJ1ZSkgewogICAgICAgICAgICAgICAgIGludCogb3ZlY3RvcjsKQEAgLTU5
OSwxMyArNjA5LDEzIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEVuY29kZWRKU1ZhbHVlIHJlcGxh
Y2VVc2luZ1JlZ0V4cFNlYXJjaCgKICAgICAgICAgICAgICAgICBjYWNoZWRDYWxsLnNldFRoaXMo
anNVbmRlZmluZWQoKSk7CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKGNhY2hlZENhbGwu
aGFzT3ZlcmZsb3dlZEFyZ3VtZW50cygpKSkgewogICAgICAgICAgICAgICAgICAgICB0aHJvd091
dE9mTWVtb3J5RXJyb3IoZXhlYywgc2NvcGUpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4g
ZW5jb2RlZEpTVmFsdWUoKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAg
ICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgSlNWYWx1ZSBqc1Jlc3VsdCA9IGNh
Y2hlZENhbGwuY2FsbCgpOwotICAgICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJ
T04oc2NvcGUsIG51bGxwdHIpOwogICAgICAgICAgICAgICAgIHJlcGxhY2VtZW50cy5hcHBlbmQo
anNSZXN1bHQudG9XVEZTdHJpbmcoZXhlYykpOwotICAgICAgICAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgICAgICAgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwogCiAgICAgICAgICAgICAgICAgbGFzdElu
ZGV4ID0gcmVzdWx0LmVuZDsKICAgICAgICAgICAgICAgICBzdGFydFBvc2l0aW9uID0gbGFzdElu
ZGV4OwpAQCAtNjY1LDEzICs2NzUsMTMgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpT
VmFsdWUgcmVwbGFjZVVzaW5nUmVnRXhwU2VhcmNoKAogICAgICAgICAgICAgICAgIGNhY2hlZENh
bGwuc2V0VGhpcyhqc1VuZGVmaW5lZCgpKTsKICAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFko
Y2FjaGVkQ2FsbC5oYXNPdmVyZmxvd2VkQXJndW1lbnRzKCkpKSB7CiAgICAgICAgICAgICAgICAg
ICAgIHRocm93T3V0T2ZNZW1vcnlFcnJvcihleGVjLCBzY29wZSk7Ci0gICAgICAgICAgICAgICAg
ICAgIHJldHVybiBlbmNvZGVkSlNWYWx1ZSgpOworICAgICAgICAgICAgICAgICAgICByZXR1cm4g
bnVsbHB0cjsKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBKU1ZhbHVlIGpz
UmVzdWx0ID0gY2FjaGVkQ2FsbC5jYWxsKCk7Ci0gICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgICAgICAgICAgICAgUkVUVVJO
X0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CiAgICAgICAgICAgICAgICAgcmVwbGFjZW1l
bnRzLmFwcGVuZChqc1Jlc3VsdC50b1dURlN0cmluZyhleGVjKSk7Ci0gICAgICAgICAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7CisgICAgICAgICAg
ICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0cik7CiAKICAgICAgICAgICAg
ICAgICBsYXN0SW5kZXggPSByZXN1bHQuZW5kOwogICAgICAgICAgICAgICAgIHN0YXJ0UG9zaXRp
b24gPSBsYXN0SW5kZXg7CkBAIC03MzAsMTUgKzc0MCwxNSBAQCBzdGF0aWMgQUxXQVlTX0lOTElO
RSBFbmNvZGVkSlNWYWx1ZSByZXBsYWNlVXNpbmdSZWdFeHBTZWFyY2goCiAgICAgICAgICAgICAg
ICAgICAgIGFyZ3MuYXBwZW5kKGdyb3Vwcyk7CiAgICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZ
KGFyZ3MuaGFzT3ZlcmZsb3dlZCgpKSkgewogICAgICAgICAgICAgICAgICAgICB0aHJvd091dE9m
TWVtb3J5RXJyb3IoZXhlYywgc2NvcGUpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gZW5j
b2RlZEpTVmFsdWUoKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAg
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgSlNWYWx1ZSByZXBsYWNlbWVudCA9IGNh
bGwoZXhlYywgcmVwbGFjZVZhbHVlLCBjYWxsVHlwZSwgY2FsbERhdGEsIGpzVW5kZWZpbmVkKCks
IGFyZ3MpOwotICAgICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29k
ZWRKU1ZhbHVlKCkpOworICAgICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUs
IG51bGxwdHIpOwogICAgICAgICAgICAgICAgIFN0cmluZyByZXBsYWNlbWVudFN0cmluZyA9IHJl
cGxhY2VtZW50LnRvV1RGU3RyaW5nKGV4ZWMpOwotICAgICAgICAgICAgICAgIFJFVFVSTl9JRl9F
WENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgICAgICAgICAgICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwogICAgICAgICAgICAgICAgIHJlcGxhY2Vt
ZW50cy5hcHBlbmQocmVwbGFjZW1lbnRTdHJpbmcpOwotICAgICAgICAgICAgICAgIFJFVFVSTl9J
Rl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgICAgICAgICAgICAgIFJF
VFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwogICAgICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgICAgICBpbnQgcmVwbExlbiA9IHJlcGxhY2VtZW50U3RyaW5nLmxlbmd0aCgp
OwogICAgICAgICAgICAgICAgIGlmIChsYXN0SW5kZXggPCByZXN1bHQuc3RhcnQgfHwgcmVwbExl
bikgewpAQCAtNzY1LDE3ICs3NzUsMTcgQEAgc3RhdGljIEFMV0FZU19JTkxJTkUgRW5jb2RlZEpT
VmFsdWUgcmVwbGFjZVVzaW5nUmVnRXhwU2VhcmNoKAogICAgIH0KIAogICAgIGlmICghbGFzdElu
ZGV4ICYmIHJlcGxhY2VtZW50cy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoc3RyaW5nKTsKKyAgICAgICAgcmV0dXJuIHN0cmluZzsKIAogICAgIGlmIChzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4obGFzdEluZGV4KSA8IHNvdXJjZUxlbikgewogICAgICAgICBpZiAoVU5M
SUtFTFkoIXNvdXJjZVJhbmdlcy50cnlDb25zdHJ1Y3RBbmRBcHBlbmQobGFzdEluZGV4LCBzb3Vy
Y2VMZW4gLSBsYXN0SW5kZXgpKSkKICAgICAgICAgICAgIE9VVF9PRl9NRU1PUlkoZXhlYywgc2Nv
cGUpOwogICAgIH0KICAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1NwbGljZVN1YnN0cmluZ3NXaXRoU2VwYXJhdG9ycyhleGVjLCBzdHJpbmcsIHNvdXJj
ZSwgc291cmNlUmFuZ2VzLmRhdGEoKSwgc291cmNlUmFuZ2VzLnNpemUoKSwgcmVwbGFjZW1lbnRz
LmRhdGEoKSwgcmVwbGFjZW1lbnRzLnNpemUoKSkpOworICAgIHJldHVybiBqc1NwbGljZVN1YnN0
cmluZ3NXaXRoU2VwYXJhdG9ycyhleGVjLCBzdHJpbmcsIHNvdXJjZSwgc291cmNlUmFuZ2VzLmRh
dGEoKSwgc291cmNlUmFuZ2VzLnNpemUoKSwgcmVwbGFjZW1lbnRzLmRhdGEoKSwgcmVwbGFjZW1l
bnRzLnNpemUoKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9u
U3RyaW5nUHJvdG9GdW5jUmVwbGFjZVJlZ0V4cEVtcHR5U3RyKAorSlNDZWxsKiBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvblN0cmluZ1Byb3RvRnVuY1JlcGxhY2VSZWdFeHBFbXB0eVN0cigKICAgICBF
eGVjU3RhdGUqIGV4ZWMsIEpTU3RyaW5nKiB0aGlzVmFsdWUsIFJlZ0V4cE9iamVjdCogc2VhcmNo
VmFsdWUpCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKQEAgLTc4Niw3ICs3OTYsNyBAQCBF
bmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblN0cmluZ1Byb3RvRnVuY1JlcGxh
Y2VSZWdFeHBFbXB0eVN0cigKICAgICBpZiAocmVnRXhwLT5nbG9iYWwoKSkgewogICAgICAgICAv
LyBFUzUuMSAxNS41LjQuMTAgc3RlcCA4LmEuCiAgICAgICAgIHNlYXJjaFZhbHVlLT5zZXRMYXN0
SW5kZXgoZXhlYywgMCk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29k
ZWRKU1ZhbHVlKCkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRy
KTsKICAgICAgICAgc2NvcGUucmVsZWFzZSgpOwogICAgICAgICByZXR1cm4gcmVtb3ZlVXNpbmdS
ZWdFeHBTZWFyY2godm0sIGV4ZWMsIHRoaXNWYWx1ZSwgdGhpc1ZhbHVlLT52YWx1ZShleGVjKSwg
cmVnRXhwKTsKICAgICB9CkBAIC03OTgsNyArODA4LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlUmVnRXhwRW1wdHlTdHIoCiAg
ICAgICAgIHZtLCBleGVjLCB0aGlzVmFsdWUsIHNlYXJjaFZhbHVlLCBjYWxsRGF0YSwgQ2FsbFR5
cGU6Ok5vbmUsIHJlcGxhY2VtZW50U3RyaW5nLCBKU1ZhbHVlKCkpOwogfQogCi1FbmNvZGVkSlNW
YWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvblN0cmluZ1Byb3RvRnVuY1JlcGxhY2VSZWdFeHBT
dHJpbmcoCitKU0NlbGwqIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uU3RyaW5nUHJvdG9GdW5jUmVw
bGFjZVJlZ0V4cFN0cmluZygKICAgICBFeGVjU3RhdGUqIGV4ZWMsIEpTU3RyaW5nKiB0aGlzVmFs
dWUsIFJlZ0V4cE9iamVjdCogc2VhcmNoVmFsdWUsIEpTU3RyaW5nKiByZXBsYWNlU3RyaW5nKQog
ewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7CkBAIC04MTAsNyArODIwLDcgQEAgRW5jb2RlZEpT
VmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25TdHJpbmdQcm90b0Z1bmNSZXBsYWNlUmVnRXhw
U3RyaW5nKAogICAgICAgICB2bSwgZXhlYywgdGhpc1ZhbHVlLCBzZWFyY2hWYWx1ZSwgY2FsbERh
dGEsIENhbGxUeXBlOjpOb25lLCByZXBsYWNlbWVudFN0cmluZywgcmVwbGFjZVN0cmluZyk7CiB9
CiAKLXN0YXRpYyBBTFdBWVNfSU5MSU5FIEVuY29kZWRKU1ZhbHVlIHJlcGxhY2VVc2luZ1JlZ0V4
cFNlYXJjaChWTSYgdm0sIEV4ZWNTdGF0ZSogZXhlYywgSlNTdHJpbmcqIHN0cmluZywgSlNWYWx1
ZSBzZWFyY2hWYWx1ZSwgSlNWYWx1ZSByZXBsYWNlVmFsdWUpCitzdGF0aWMgQUxXQVlTX0lOTElO
RSBKU1N0cmluZyogcmVwbGFjZVVzaW5nUmVnRXhwU2VhcmNoKFZNJiB2bSwgRXhlY1N0YXRlKiBl
eGVjLCBKU1N0cmluZyogc3RyaW5nLCBKU1ZhbHVlIHNlYXJjaFZhbHVlLCBKU1ZhbHVlIHJlcGxh
Y2VWYWx1ZSkKIHsKICAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CiAK
QEAgLTgxOSw3ICs4MjksNyBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSBy
ZXBsYWNlVXNpbmdSZWdFeHBTZWFyY2goVk0mIHZtLCBFeGVjU3RhdGUqCiAgICAgQ2FsbFR5cGUg
Y2FsbFR5cGUgPSBnZXRDYWxsRGF0YShyZXBsYWNlVmFsdWUsIGNhbGxEYXRhKTsKICAgICBpZiAo
Y2FsbFR5cGUgPT0gQ2FsbFR5cGU6Ok5vbmUpIHsKICAgICAgICAgcmVwbGFjZW1lbnRTdHJpbmcg
PSByZXBsYWNlVmFsdWUudG9XVEZTdHJpbmcoZXhlYyk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHNjb3BlLCBudWxscHRyKTsKICAgICB9CiAKICAgICBzY29wZS5yZWxlYXNlKCk7CkBAIC04
MjcsMTkgKzgzNywxOSBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNWYWx1ZSByZXBs
YWNlVXNpbmdSZWdFeHBTZWFyY2goVk0mIHZtLCBFeGVjU3RhdGUqCiAgICAgICAgIHZtLCBleGVj
LCBzdHJpbmcsIHNlYXJjaFZhbHVlLCBjYWxsRGF0YSwgY2FsbFR5cGUsIHJlcGxhY2VtZW50U3Ry
aW5nLCByZXBsYWNlVmFsdWUpOwogfQogCi1zdGF0aWMgQUxXQVlTX0lOTElORSBFbmNvZGVkSlNW
YWx1ZSByZXBsYWNlVXNpbmdTdHJpbmdTZWFyY2goVk0mIHZtLCBFeGVjU3RhdGUqIGV4ZWMsIEpT
U3RyaW5nKiBqc1N0cmluZywgSlNWYWx1ZSBzZWFyY2hWYWx1ZSwgSlNWYWx1ZSByZXBsYWNlVmFs
dWUpCitzdGF0aWMgQUxXQVlTX0lOTElORSBKU1N0cmluZyogcmVwbGFjZVVzaW5nU3RyaW5nU2Vh
cmNoKFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjLCBKU1N0cmluZyoganNTdHJpbmcsIEpTVmFsdWUg
c2VhcmNoVmFsdWUsIEpTVmFsdWUgcmVwbGFjZVZhbHVlKQogewogICAgIGF1dG8gc2NvcGUgPSBE
RUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAogICAgIGNvbnN0IFN0cmluZyYgc3RyaW5nID0ganNT
dHJpbmctPnZhbHVlKGV4ZWMpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29k
ZWRKU1ZhbHVlKCkpOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIG51bGxwdHIpOwog
ICAgIFN0cmluZyBzZWFyY2hTdHJpbmcgPSBzZWFyY2hWYWx1ZS50b1dURlN0cmluZyhleGVjKTsK
LSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKIAogICAgIHNpemVfdCBtYXRjaFN0
YXJ0ID0gc3RyaW5nLmZpbmQoc2VhcmNoU3RyaW5nKTsKIAogICAgIGlmIChtYXRjaFN0YXJ0ID09
IG5vdEZvdW5kKQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzU3RyaW5nKTsKKyAg
ICAgICAgcmV0dXJuIGpzU3RyaW5nOwogCiAgICAgQ2FsbERhdGEgY2FsbERhdGE7CiAgICAgQ2Fs
bFR5cGUgY2FsbFR5cGUgPSBnZXRDYWxsRGF0YShyZXBsYWNlVmFsdWUsIGNhbGxEYXRhKTsKQEAg
LTg1MCwxMSArODYwLDExIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIEVuY29kZWRKU1ZhbHVlIHJl
cGxhY2VVc2luZ1N0cmluZ1NlYXJjaChWTSYgdm0sIEV4ZWNTdGF0ZSoKICAgICAgICAgYXJncy5h
cHBlbmQoanNTdHJpbmcpOwogICAgICAgICBBU1NFUlQoIWFyZ3MuaGFzT3ZlcmZsb3dlZCgpKTsK
ICAgICAgICAgcmVwbGFjZVZhbHVlID0gY2FsbChleGVjLCByZXBsYWNlVmFsdWUsIGNhbGxUeXBl
LCBjYWxsRGF0YSwganNVbmRlZmluZWQoKSwgYXJncyk7Ci0gICAgICAgIFJFVFVSTl9JRl9FWENF
UFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOworICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHNjb3BlLCBudWxscHRyKTsKICAgICB9CiAKICAgICBTdHJpbmcgcmVwbGFjZVN0cmluZyA9
IHJlcGxhY2VWYWx1ZS50b1dURlN0cmluZyhleGVjKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9O
KHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgpKTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3Bl
LCBudWxscHRyKTsKIAogICAgIFN0cmluZ0ltcGwqIHN0cmluZ0ltcGwgPSBzdHJpbmcuaW1wbCgp
OwogICAgIFN0cmluZyBsZWZ0UGFydChTdHJpbmdJbXBsOjpjcmVhdGVTdWJzdHJpbmdTaGFyaW5n
SW1wbCgqc3RyaW5nSW1wbCwgMCwgbWF0Y2hTdGFydCkpOwpAQCAtODY2LDcgKzg3Niw3IEBAIHN0
YXRpYyBBTFdBWVNfSU5MSU5FIEVuY29kZWRKU1ZhbHVlIHJlcGxhY2VVc2luZ1N0cmluZ1NlYXJj
aChWTSYgdm0sIEV4ZWNTdGF0ZSoKICAgICBzaXplX3QgbGVmdExlbmd0aCA9IHN0cmluZ0ltcGwt
Pmxlbmd0aCgpIC0gbWF0Y2hFbmQ7CiAgICAgU3RyaW5nIHJpZ2h0UGFydChTdHJpbmdJbXBsOjpj
cmVhdGVTdWJzdHJpbmdTaGFyaW5nSW1wbCgqc3RyaW5nSW1wbCwgbWF0Y2hFbmQsIGxlZnRMZW5n
dGgpKTsKICAgICBzY29wZS5yZWxlYXNlKCk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShK
U0M6OmpzU3RyaW5nKGV4ZWMsIGxlZnRQYXJ0LCBtaWRkbGVQYXJ0LCByaWdodFBhcnQpKTsKKyAg
ICByZXR1cm4gSlNDOjpqc1N0cmluZyhleGVjLCBsZWZ0UGFydCwgbWlkZGxlUGFydCwgcmlnaHRQ
YXJ0KTsKIH0KIAogc3RhdGljIGlubGluZSBib29sIGNoZWNrT2JqZWN0Q29lcmNpYmxlKEpTVmFs
dWUgdGhpc1ZhbHVlKQpAQCAtOTM2LDcgKzk0Niw3IEBAIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgc3RyaW5nUHJvdG9GdW5jUmVwZWF0Q2hhcmFjdGVyKEV4ZWNTdGF0ZSogZXhlYykKICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlcGVhdENoYXJhY3RlcigqZXhlYywgY2hhcmFjdGVy
LCByZXBlYXRDb3VudCkpOwogfQogCi1BTFdBWVNfSU5MSU5FIEVuY29kZWRKU1ZhbHVlIHJlcGxh
Y2UoCitBTFdBWVNfSU5MSU5FIEpTU3RyaW5nKiByZXBsYWNlKAogICAgIFZNJiB2bSwgRXhlY1N0
YXRlKiBleGVjLCBKU1N0cmluZyogc3RyaW5nLCBKU1ZhbHVlIHNlYXJjaFZhbHVlLCBKU1ZhbHVl
IHJlcGxhY2VWYWx1ZSkKIHsKICAgICBpZiAoc2VhcmNoVmFsdWUuaW5oZXJpdHModm0sIFJlZ0V4
cE9iamVjdDo6aW5mbygpKSkKQEAgLTk0NCwxNSArOTU0LDE3IEBAIEFMV0FZU19JTkxJTkUgRW5j
b2RlZEpTVmFsdWUgcmVwbGFjZSgKICAgICByZXR1cm4gcmVwbGFjZVVzaW5nU3RyaW5nU2VhcmNo
KHZtLCBleGVjLCBzdHJpbmcsIHNlYXJjaFZhbHVlLCByZXBsYWNlVmFsdWUpOwogfQogCi1BTFdB
WVNfSU5MSU5FIEVuY29kZWRKU1ZhbHVlIHJlcGxhY2UoCitBTFdBWVNfSU5MSU5FIEpTU3RyaW5n
KiByZXBsYWNlKAogICAgIFZNJiB2bSwgRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIHRoaXNWYWx1
ZSwgSlNWYWx1ZSBzZWFyY2hWYWx1ZSwgSlNWYWx1ZSByZXBsYWNlVmFsdWUpCiB7CiAgICAgYXV0
byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgaWYgKCFjaGVja09iamVj
dENvZXJjaWJsZSh0aGlzVmFsdWUpKQotICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihl
eGVjLCBzY29wZSk7CisgICAgaWYgKCFjaGVja09iamVjdENvZXJjaWJsZSh0aGlzVmFsdWUpKSB7
CisgICAgICAgIHRocm93Vk1UeXBlRXJyb3IoZXhlYywgc2NvcGUpOworICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICB9CiAgICAgSlNTdHJpbmcqIHN0cmluZyA9IHRoaXNWYWx1ZS50b1N0cmlu
ZyhleGVjKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBlbmNvZGVkSlNWYWx1ZSgp
KTsKKyAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKICAgICBzY29wZS5y
ZWxlYXNlKCk7CiAgICAgcmV0dXJuIHJlcGxhY2Uodm0sIGV4ZWMsIHN0cmluZywgc2VhcmNoVmFs
dWUsIHJlcGxhY2VWYWx1ZSk7CiB9CkBAIC05NzAsNyArOTgyLDcgQEAgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90b0Z1bmNSZXBsYWNlVXNpbmdSZWdFeHAoRXhlY1N0YXRl
KiBleGVjKQogICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVkKCkpOwog
CiAgICAgc2NvcGUucmVsZWFzZSgpOwotICAgIHJldHVybiByZXBsYWNlVXNpbmdSZWdFeHBTZWFy
Y2godm0sIGV4ZWMsIHN0cmluZywgc2VhcmNoVmFsdWUsIGV4ZWMtPmFyZ3VtZW50KDEpKTsKKyAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlcGxhY2VVc2luZ1JlZ0V4cFNlYXJjaCh2bSwgZXhl
Yywgc3RyaW5nLCBzZWFyY2hWYWx1ZSwgZXhlYy0+YXJndW1lbnQoMSkpKTsKIH0KIAogRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90b0Z1bmNSZXBsYWNlVXNpbmdTdHJpbmdT
ZWFyY2goRXhlY1N0YXRlKiBleGVjKQpAQCAtOTgyLDEwICs5OTQsMTAgQEAgRW5jb2RlZEpTVmFs
dWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90b0Z1bmNSZXBsYWNlVXNpbmdTdHJpbmdTZWFyY2go
RXhlY1N0YXRlKgogICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIGVuY29kZWRKU1ZhbHVl
KCkpOwogCiAgICAgc2NvcGUucmVsZWFzZSgpOwotICAgIHJldHVybiByZXBsYWNlVXNpbmdTdHJp
bmdTZWFyY2godm0sIGV4ZWMsIHN0cmluZywgZXhlYy0+YXJndW1lbnQoMCksIGV4ZWMtPmFyZ3Vt
ZW50KDEpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlcGxhY2VVc2luZ1N0cmluZ1Nl
YXJjaCh2bSwgZXhlYywgc3RyaW5nLCBleGVjLT5hcmd1bWVudCgwKSwgZXhlYy0+YXJndW1lbnQo
MSkpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25TdHJpbmdQ
cm90b0Z1bmNSZXBsYWNlR2VuZXJpYygKK0pTQ2VsbCogSklUX09QRVJBVElPTiBvcGVyYXRpb25T
dHJpbmdQcm90b0Z1bmNSZXBsYWNlR2VuZXJpYygKICAgICBFeGVjU3RhdGUqIGV4ZWMsIEVuY29k
ZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgc2VhcmNoVmFsdWUsCiAgICAgRW5j
b2RlZEpTVmFsdWUgcmVwbGFjZVZhbHVlKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJpbmdQcm90b3R5cGUuaAppbmRleCA4OGExZDAyNmU1NDRmNzhiMDRhOGRhNGM3
YTYzNWE2MmNmMmE1NzRjLi4zNzhhZTcxNmRkODQyNjQ0YzViN2Y4NjkwMzkzYjkxMmVmOGMyZjQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5
cGUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUu
aApAQCAtNTAsMTMgKzUwLDEzIEBAIGNsYXNzIFN0cmluZ1Byb3RvdHlwZSA6IHB1YmxpYyBTdHJp
bmdPYmplY3QgewogICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCos
IEpTU3RyaW5nKik7CiB9OwogCi1FbmNvZGVkSlNWYWx1ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlv
blN0cmluZ1Byb3RvRnVuY1JlcGxhY2VHZW5lcmljKAorSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblN0cmluZ1Byb3RvRnVuY1JlcGxhY2VHZW5lcmljKAogICAgIEV4ZWNTdGF0ZSosIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgc2VhcmNoVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIHJlcGxhY2VWYWx1ZSk7CiAKLUVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04g
b3BlcmF0aW9uU3RyaW5nUHJvdG9GdW5jUmVwbGFjZVJlZ0V4cEVtcHR5U3RyKAorSlNDZWxsKiBK
SVRfT1BFUkFUSU9OIG9wZXJhdGlvblN0cmluZ1Byb3RvRnVuY1JlcGxhY2VSZWdFeHBFbXB0eVN0
cigKICAgICBFeGVjU3RhdGUqLCBKU1N0cmluZyogdGhpc1ZhbHVlLCBSZWdFeHBPYmplY3QqIHNl
YXJjaFZhbHVlKTsKIAotRW5jb2RlZEpTVmFsdWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25TdHJp
bmdQcm90b0Z1bmNSZXBsYWNlUmVnRXhwU3RyaW5nKAorSlNDZWxsKiBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvblN0cmluZ1Byb3RvRnVuY1JlcGxhY2VSZWdFeHBTdHJpbmcoCiAgICAgRXhlY1N0YXRl
KiwgSlNTdHJpbmcqIHRoaXNWYWx1ZSwgUmVnRXhwT2JqZWN0KiBzZWFyY2hWYWx1ZSwgSlNTdHJp
bmcqIHJlcGxhY2VWYWx1ZSk7CiAKIFN0cmluZyBzdWJzdGl0dXRlQmFja3JlZmVyZW5jZXMoY29u
c3QgU3RyaW5nJiByZXBsYWNlbWVudCwgU3RyaW5nVmlldyBzb3VyY2UsIGNvbnN0IGludCogb3Zl
Y3RvciwgUmVnRXhwKiByZWcpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>330423</attachid>
            <date>2018-01-03 17:11:49 -0800</date>
            <delta_ts>2018-01-03 17:11:49 -0800</delta_ts>
            <desc>Output of jsc --useDisassembly=true string-fasta.js on the run mentioned in comment https://bugs.webkit.org/show_bug.cgi?id=181124#c15</desc>
            <filename>jsc.log</filename>
            <type>text/plain</type>
            <size>188732</size>
            <attacher name="Guillaume Emont">guijemont</attacher>
            
              <data encoding="base64">R2VuZXJhdGVkIEpJVCBjb2RlIGZvciBpbnRlcm5hbCBDYWxsIHRyYW1wb2xpbmU6CiAgICBDb2Rl
IGF0IFsweDMwNDAxMDAwLCAweDMwNDAxMGUwKToKICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MDEwMDAuLi4weDMwNDAxMGUwCkdlbmVyYXRlZCBKSVQgY29kZSBm
b3IgaW50ZXJuYWwgQ29uc3RydWN0IHRyYW1wb2xpbmU6CiAgICBDb2RlIGF0IFsweDMwNDAxMGUw
LCAweDMwNDAxMWMwKToKICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MDEwZTAuLi4weDMwNDAxMWMwCkdlbmVyYXRlZCBKSVQgY29kZSBmb3IgbmF0aXZlIENhbGwg
dHJhbXBvbGluZToKICAgIENvZGUgYXQgWzB4MzA0MDExYzAsIDB4MzA0MDEyYTApOgogICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMTFjMC4uLjB4MzA0MDEyYTAK
R2VuZXJhdGVkIEpJVCBjb2RlIGZvciBuYXRpdmUgQ29uc3RydWN0IHRyYW1wb2xpbmU6CiAgICBD
b2RlIGF0IFsweDMwNDAxMmEwLCAweDMwNDAxMzgwKToKICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MDEyYTAuLi4weDMwNDAxMzgwCkdlbmVyYXRlZCBKSVQgY29k
ZSBmb3IgbmF0aXZlIFRhaWwgV2l0aCBTYXZlZCBUYWdzIENhbGwgdHJhbXBvbGluZToKICAgIENv
ZGUgYXQgWzB4MzA0MDEzODAsIDB4MzA0MDE0NDApOgogICAgZGlzYXNzZW1ibHkgbm90IGF2YWls
YWJsZSBmb3IgcmFuZ2UgMHgzMDQwMTM4MC4uLjB4MzA0MDE0NDAKR2VuZXJhdGVkIEpJVCBjb2Rl
IGZvciBTcGVjaWFsaXplZCB0aHVuayBmb3IgY2hhckF0OgogICAgQ29kZSBhdCBbMHgzMDQwMTQ0
MCwgMHgzMDQwMTY0MCk6CiAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDAxNDQwLi4uMHgzMDQwMTY0MApHZW5lcmF0ZWQgSklUIGNvZGUgZm9yIFNwZWNpYWxpemVk
IHRodW5rIGZvciBjaGFyQ29kZUF0OgogICAgQ29kZSBhdCBbMHgzMDQwMTY0MCwgMHgzMDQwMTdl
MCk6CiAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAxNjQwLi4u
MHgzMDQwMTdlMApHZW5lcmF0ZWQgSklUIGNvZGUgZm9yIFNwZWNpYWxpemVkIHRodW5rIGZvciBj
aGFyQ29kZUF0OgogICAgQ29kZSBhdCBbMHgzMDQwMTdlMCwgMHgzMDQwMTk4MCk6CiAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAxN2UwLi4uMHgzMDQwMTk4MApH
ZW5lcmF0ZWQgSklUIGNvZGUgZm9yIFNwZWNpYWxpemVkIHRodW5rIGZvciBhYnM6CiAgICBDb2Rl
IGF0IFsweDMwNDAxOTgwLCAweDMwNDAxYjIwKToKICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MDE5ODAuLi4weDMwNDAxYjIwCkdlbmVyYXRlZCBKSVQgY29kZSBm
b3IgTExJbnQgcHJvZ3JhbSBwcm9sb2d1ZSB0aHVuazoKICAgIENvZGUgYXQgWzB4MzA0MDFiMjAs
IDB4MzA0MDFiNDApOgogICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MDQwMWIyMC4uLjB4MzA0MDFiNDAKR2VuZXJhdGVkIEpJVCBjb2RlIGZvciBMTEludCBmdW5jdGlv
biBmb3IgY2FsbCBwcm9sb2d1ZSB0aHVuazoKICAgIENvZGUgYXQgWzB4MzA0MDFiNDAsIDB4MzA0
MDFiNjApOgogICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMWI0
MC4uLjB4MzA0MDFiNjAKR2VuZXJhdGVkIEpJVCBjb2RlIGZvciBMTEludCBmdW5jdGlvbiBmb3Ig
Y2FsbCB3aXRoIGFyaXR5IGNoZWNrIHByb2xvZ3VlIHRodW5rOgogICAgQ29kZSBhdCBbMHgzMDQw
MWI2MCwgMHgzMDQwMWI4MCk6CiAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5n
ZSAweDMwNDAxYjYwLi4uMHgzMDQwMWI4MApHZW5lcmF0ZWQgSklUIGNvZGUgZm9yIExpbmsgY2Fs
bCBzbG93IHBhdGggdGh1bms6CiAgICBDb2RlIGF0IFsweDMwNDAxYjgwLCAweDMwNDAxZGEwKToK
ICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDFiODAuLi4weDMw
NDAxZGEwCkdlbmVyYXRlZCBKSVQgY29kZSBmb3IgZml4dXAgYXJpdHk6CiAgICBDb2RlIGF0IFsw
eDMwNDAxZGEwLCAweDMwNDAxZjIwKToKICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MDFkYTAuLi4weDMwNDAxZjIwCkdlbmVyYXRlZCBCYXNlbGluZSBKSVQgY29k
ZSBmb3IgZmFzdGFSZXBlYXQjQlk4enNZOlsweDMyNjc4MjMwLT4weDMyNmNiNmEwLCBCYXNlbGlu
ZUZ1bmN0aW9uQ2FsbCwgMjMzXSwgaW5zdHJ1Y3Rpb24gY291bnQgPSAyMzMKICAgU291cmNlOiBm
dW5jdGlvbiBmYXN0YVJlcGVhdChuLCBzZXEpIHsgdmFyIHNlcWkgPSAwLCBsZW5PdXQgPSA2MDsg
d2hpbGUgKG4+MCkgeyBpZiAobjxsZW5PdXQpIGxlbk91dCA9IG47IGlmIChzZXFpICsgbGVuT3V0
IDwgc2VxLmxlbmd0aCkgeyByZXQgKz0gc2VxLnN1YnN0cmluZyhzZXFpLCBzZXFpK2xlbk91dCku
bGVuZ3RoOyBzZXFpICs9IGxlbk91dDsgfSBlbHNlIHsgdmFyIHMgPSBzZXEuc3Vic3RyaW5nKHNl
cWkpOyBzZXFpID0gbGVuT3V0IC0gcy5sZW5ndGg7IHJldCArPSAocyArIHNlcS5zdWJzdHJpbmco
MCwgc2VxaSkpLmxlbmd0aDsgfSBuIC09IGxlbk91dDsgfSB9CiAgIENvZGUgYXQgWzB4MzIzZmUw
YTAsIDB4MzI0MDEwMDApOgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzIzZmUwYTAuLi4weDMyM2ZlMWMwCiAgICBbICAgMF0gZW50ZXIgICAgICAgICAgICAg
CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjNmZTFjMC4u
LjB4MzIzZmUzNDAKICAgIFsgICAxXSBnZXRfc2NvcGUgICAgICAgICBsb2MwCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjNmZTM0MC4uLjB4MzIzZmUzNTQK
ICAgIFsgICAzXSBtb3YgICAgICAgICAgICAgICBsb2MxLCBsb2MwCiAgICAgICAgZGlzYXNzZW1i
bHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjNmZTM1NC4uLjB4MzIzZmUzNjQKICAgIFsg
ICA2XSBjaGVja190cmFwcyAgICAgICAKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMyM2ZlMzY0Li4uMHgzMjNmZTM5OAogICAgWyAgIDddIG1vdiAgICAgICAg
ICAgICAgIGxvYzIsIEludDMyOiAwKGNvbnN0MCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZh
aWxhYmxlIGZvciByYW5nZSAweDMyM2ZlMzk4Li4uMHgzMjNmZTNhNAogICAgWyAgMTBdIG1vdiAg
ICAgICAgICAgICAgIGxvYzQsIEludDMyOiA2MChjb25zdDEpCiAgICAgICAgZGlzYXNzZW1ibHkg
bm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjNmZTNhNC4uLjB4MzIzZmUzYjQKICAgIFsgIDEz
XSBqbmdyZWF0ZXIgICAgICAgICBhcmcxLCBJbnQzMjogMChjb25zdDApLCAyMTgoLT4yMzEpCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjNmZTNiNC4uLjB4
MzIzZmU0ZjgKICAgIFsgIDE3XSBsb29wX2hpbnQgICAgICAgICAKICAgICAgICBkaXNhc3NlbWJs
eSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyM2ZlNGY4Li4uMHgzMjNmZTUzYwogICAgWyAg
MThdIGNoZWNrX3RyYXBzICAgICAgIAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzIzZmU1M2MuLi4weDMyM2ZlNTcwCiAgICBbICAxOV0gam5sZXNzICAgICAg
ICAgICAgYXJnMSwgbG9jNCwgNygtPjI2KQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzIzZmU1NzAuLi4weDMyM2ZlNzNjCiAgICBbICAyM10gbW92ICAgICAg
ICAgICAgICAgbG9jNCwgYXJnMQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzIzZmU3M2MuLi4weDMyM2ZlNzRjCiAgICBbICAyNl0gYWRkICAgICAgICAgICAg
ICAgbG9jNiwgbG9jMiwgbG9jNCAgICByZXN1bHRzOiBSZXN1bHQ6PEludDMyPiBMSFMgT2JzZXJ2
ZWRUeXBlOjxJbnQzMj4gUkhTIE9ic2VydmVkVHlwZTo8SW50MzI+IExIUyBSZXN1bHRUeXBlOjww
eDdlPiBSSFMgUmVzdWx0VHlwZTo8MHg3ZT4KICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMyM2ZlNzRjLi4uMHgzMjNmZTdmMAogICAgWyAgMzFdIGdldF9ieV9p
ZCAgICAgICAgIGxvYzcsIGFyZzIsIGxlbmd0aChAaWQwKSAgICBwcmVkaWN0aW5nIE5vbkJvb2xJ
bnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzIzZmU3
ZjAuLi4weDMyM2ZlODk4CiAgICBbICA0MF0gam5sZXNzICAgICAgICAgICAgbG9jNiwgbG9jNywg
NzYoLT4xMTYpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MjNmZTg5OC4uLjB4MzIzZmVhNjQKICAgIFsgIDQ0XSByZXNvbHZlX3Njb3BlICAgICBsb2M2LCBs
b2MwLCByZXQoQGlkMSksIDxHbG9iYWxWYXI+LCAxLCAweDMyNmVjMGEwCiAgICAgICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjNmZWE2NC4uLjB4MzIzZmVhNzgKICAg
IFsgIDUxXSBnZXRfZnJvbV9zY29wZSAgICBsb2M3LCBsb2M2LCByZXQoQGlkMSksIDIwNDk8VGhy
b3dJZk5vdEZvdW5kfEdsb2JhbFZhcnxOb3RJbml0aWFsaXphdGlvbj4sIDgwOTM5MDkzNiAgICBw
cmVkaWN0aW5nIE5vbkJvb2xJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzIzZmVhNzguLi4weDMyM2ZlYWIwCiAgICBbICA1OV0gbW92ICAgICAgICAg
ICAgICAgbG9jMTMsIGFyZzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMyM2ZlYWIwLi4uMHgzMjNmZWFjMAogICAgWyAgNjJdIGdldF9ieV9pZF9wcm90b19s
b2FkIGxvYzgsIGxvYzEzLCBzdWJzdHJpbmcoQGlkMikgbGxpbnQoc3RydWN0ID0gMHgzMjZmODE5
MCkgcHJvdG8oMHgzMjZkYzEwMCkgICAgcHJlZGljdGluZyBGdW5jdGlvbgogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzIzZmVhYzAuLi4weDMyM2ZlYjU0CiAg
ICBbICA3MV0gbW92ICAgICAgICAgICAgICAgbG9jMTIsIGxvYzIKICAgICAgICBkaXNhc3NlbWJs
eSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyM2ZlYjU0Li4uMHgzMjNmZWI2NAogICAgWyAg
NzRdIGFkZCAgICAgICAgICAgICAgIGxvYzExLCBsb2MyLCBsb2M0ICAgIHJlc3VsdHM6IFJlc3Vs
dDo8SW50MzI+IExIUyBPYnNlcnZlZFR5cGU6PEludDMyPiBSSFMgT2JzZXJ2ZWRUeXBlOjxJbnQz
Mj4gTEhTIFJlc3VsdFR5cGU6PDB4N2U+IFJIUyBSZXN1bHRUeXBlOjwweDdlPgogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzIzZmViNjQuLi4weDMyM2ZlYzA4
CiAgICBbICA3OV0gY2FsbCAgICAgICAgICAgICAgbG9jOCwgbG9jOCwgMywgMTggKHRoaXMgYXQg
bG9jMTMpIGxsaW50KDB4MzI2ZjRkZTAsIGV4ZWMgMHgzMjZkMGU2MCkgc3RhdHVzKChGdW5jdGlv
bjogT2JqZWN0OiAweDMyNmY0ZGUwIHdpdGggYnV0dGVyZmx5IDB4MzI2ZDg5YTggKFN0cnVjdHVy
ZSAweDMyNmY5MzEwOltGdW5jdGlvbiwge25hbWU6MTAwLCBsZW5ndGg6MTAxfSwgTm9uQXJyYXks
IFByb3RvOjB4MzI2ZGMwYTAsIExlYWZdKTsgRXhlY3V0YWJsZTogTmF0aXZlRXhlY3V0YWJsZTow
eDJjZWYzMDZjLzB4MmNjOGI0ZTgpKSAgICBOb25BcnJheSwgSW50ZXJjZXB0OyBwcmVkaWN0aW5n
IFN0cmluZ1ZhcgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzIzZmVjMDguLi4weDMyM2ZlZDRjCiAgICBbICA4OF0gZ2V0X2J5X2lkICAgICAgICAgbG9jOSwg
bG9jOCwgbGVuZ3RoKEBpZDApICAgIHByZWRpY3RpbmcgTm9uQm9vbEludDMyCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjNmZWQ0Yy4uLjB4MzIzZmVkZjQK
ICAgIFsgIDk3XSBhZGQgICAgICAgICAgICAgICBsb2M3LCBsb2M3LCBsb2M5ICAgIHJlc3VsdHM6
IFJlc3VsdDo8SW50MzI+IExIUyBPYnNlcnZlZFR5cGU6PEludDMyPiBSSFMgT2JzZXJ2ZWRUeXBl
OjxJbnQzMj4gTEhTIFJlc3VsdFR5cGU6PDB4N2U+IFJIUyBSZXN1bHRUeXBlOjwweDdlPgogICAg
ICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzIzZmVkZjQuLi4weDMy
M2ZlZTk4CiAgICBbIDEwMl0gcHV0X3RvX3Njb3BlICAgICAgbG9jNiwgcmV0KEBpZDEpLCBsb2M3
LCAyMDQ5PFRocm93SWZOb3RGb3VuZHxHbG9iYWxWYXJ8Tm90SW5pdGlhbGl6YXRpb24+LCA8c3Ry
dWN0dXJlPiwgODA5MzkwOTM2CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMjNmZWU5OC4uLjB4MzIzZmVmODAKICAgIFsgMTA5XSBhZGQgICAgICAgICAgICAg
ICBsb2MyLCBsb2MyLCBsb2M0ICAgIHJlc3VsdHM6IFJlc3VsdDo8SW50MzI+IExIUyBPYnNlcnZl
ZFR5cGU6PEludDMyPiBSSFMgT2JzZXJ2ZWRUeXBlOjxJbnQzMj4gTEhTIFJlc3VsdFR5cGU6PDB4
N2U+IFJIUyBSZXN1bHRUeXBlOjwweDdlPgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzIzZmVmODAuLi4weDMyM2ZmMDI0CiAgICBbIDExNF0gam1wICAgICAg
ICAgICAgICAgMTA4KC0+MjIyKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzIzZmYwMjQuLi4weDMyM2ZmMDQ0CiAgICBbIDExNl0gbW92ICAgICAgICAgICAg
ICAgbG9jOSwgYXJnMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzIzZmYwNDQuLi4weDMyM2ZmMDU0CiAgICBbIDExOV0gZ2V0X2J5X2lkX3Byb3RvX2xvYWQg
bG9jNiwgbG9jOSwgc3Vic3RyaW5nKEBpZDIpIGxsaW50KHN0cnVjdCA9IDB4MzI2ZjgxOTApIHBy
b3RvKDB4MzI2ZGMxMDApICAgIHByZWRpY3RpbmcgRnVuY3Rpb24KICAgICAgICBkaXNhc3NlbWJs
eSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyM2ZmMDU0Li4uMHgzMjNmZjBlOAogICAgWyAx
MjhdIG1vdiAgICAgICAgICAgICAgIGxvYzgsIGxvYzIKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMyM2ZmMGU4Li4uMHgzMjNmZjBmOAogICAgWyAxMzFdIGNh
bGwgICAgICAgICAgICAgIGxvYzMsIGxvYzYsIDIsIDE0ICh0aGlzIGF0IGxvYzkpIGxsaW50KDB4
MzI2ZjRkZTAsIGV4ZWMgMHgzMjZkMGU2MCkgc3RhdHVzKChGdW5jdGlvbjogT2JqZWN0OiAweDMy
NmY0ZGUwIHdpdGggYnV0dGVyZmx5IDB4MzI2ZDg5YTggKFN0cnVjdHVyZSAweDMyNmY5MzEwOltG
dW5jdGlvbiwge25hbWU6MTAwLCBsZW5ndGg6MTAxfSwgTm9uQXJyYXksIFByb3RvOjB4MzI2ZGMw
YTAsIExlYWZdKTsgRXhlY3V0YWJsZTogTmF0aXZlRXhlY3V0YWJsZToweDJjZWYzMDZjLzB4MmNj
OGI0ZTgpKSAgICBOb25BcnJheSwgSW50ZXJjZXB0OyBwcmVkaWN0aW5nIFN0cmluZ1ZhcgogICAg
ICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzIzZmYwZjguLi4weDMy
M2ZmMjNjCiAgICBbIDE0MF0gZ2V0X2J5X2lkICAgICAgICAgbG9jNiwgbG9jMywgbGVuZ3RoKEBp
ZDApICAgIHByZWRpY3RpbmcgTm9uQm9vbEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2
YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjNmZjIzYy4uLjB4MzIzZmYyZTQKICAgIFsgMTQ5XSBzdWIg
ICAgICAgICAgICAgICBsb2MyLCBsb2M0LCBsb2M2ICAgIHJlc3VsdHM6IFJlc3VsdDo8SW50MzI+
IExIUyBPYnNlcnZlZFR5cGU6PEludDMyPiBSSFMgT2JzZXJ2ZWRUeXBlOjxJbnQzMj4gTEhTIFJl
c3VsdFR5cGU6PDB4N2U+IFJIUyBSZXN1bHRUeXBlOjwweDdlPgogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzIzZmYyZTQuLi4weDMyM2ZmMzhjCiAgICBbIDE1
NF0gcmVzb2x2ZV9zY29wZSAgICAgbG9jNiwgbG9jMCwgcmV0KEBpZDEpLCA8R2xvYmFsVmFyPiwg
MSwgMHgzMjZlYzBhMAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzIzZmYzOGMuLi4weDMyM2ZmM2EwCiAgICBbIDE2MV0gZ2V0X2Zyb21fc2NvcGUgICAgbG9j
NywgbG9jNiwgcmV0KEBpZDEpLCAyMDQ5PFRocm93SWZOb3RGb3VuZHxHbG9iYWxWYXJ8Tm90SW5p
dGlhbGl6YXRpb24+LCA4MDkzOTA5MzYgICAgcHJlZGljdGluZyBOb25Cb29sSW50MzIKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyM2ZmM2EwLi4uMHgzMjNm
ZjNkOAogICAgWyAxNjldIG1vdiAgICAgICAgICAgICAgIGxvYzEzLCBhcmcyCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjNmZjNkOC4uLjB4MzIzZmYzZTgK
ICAgIFsgMTcyXSBnZXRfYnlfaWRfcHJvdG9fbG9hZCBsb2M4LCBsb2MxMywgc3Vic3RyaW5nKEBp
ZDIpIGxsaW50KHN0cnVjdCA9IDB4MzI2ZjgxOTApIHByb3RvKDB4MzI2ZGMxMDApICAgIHByZWRp
Y3RpbmcgRnVuY3Rpb24KICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5n
ZSAweDMyM2ZmM2U4Li4uMHgzMjNmZjQ3YwogICAgWyAxODFdIG1vdiAgICAgICAgICAgICAgIGxv
YzEyLCBJbnQzMjogMChjb25zdDApCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMjNmZjQ3Yy4uLjB4MzIzZmY0ODgKICAgIFsgMTg0XSBtb3YgICAgICAgICAg
ICAgICBsb2MxMSwgbG9jMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzIzZmY0ODguLi4weDMyM2ZmNDk4CiAgICBbIDE4N10gY2FsbCAgICAgICAgICAgICAg
bG9jOCwgbG9jOCwgMywgMTggKHRoaXMgYXQgbG9jMTMpIGxsaW50KDB4MzI2ZjRkZTAsIGV4ZWMg
MHgzMjZkMGU2MCkgc3RhdHVzKChGdW5jdGlvbjogT2JqZWN0OiAweDMyNmY0ZGUwIHdpdGggYnV0
dGVyZmx5IDB4MzI2ZDg5YTggKFN0cnVjdHVyZSAweDMyNmY5MzEwOltGdW5jdGlvbiwge25hbWU6
MTAwLCBsZW5ndGg6MTAxfSwgTm9uQXJyYXksIFByb3RvOjB4MzI2ZGMwYTAsIExlYWZdKTsgRXhl
Y3V0YWJsZTogTmF0aXZlRXhlY3V0YWJsZToweDJjZWYzMDZjLzB4MmNjOGI0ZTgpKSAgICBOb25B
cnJheSwgSW50ZXJjZXB0OyBwcmVkaWN0aW5nIFN0cmluZ1ZhcgogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzIzZmY0OTguLi4weDMyM2ZmNWRjCiAgICBbIDE5
Nl0gYWRkICAgICAgICAgICAgICAgbG9jOSwgbG9jMywgbG9jOCAgICByZXN1bHRzOiBSZXN1bHQ6
PE5vbk51bWJlcj4gTEhTIE9ic2VydmVkVHlwZTo8Tm9uTnVtYmVyPiBSSFMgT2JzZXJ2ZWRUeXBl
OjxOb25OdW1iZXI+IExIUyBSZXN1bHRUeXBlOjwweDdlPiBSSFMgUmVzdWx0VHlwZTo8MHg3ZT4K
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyM2ZmNWRjLi4u
MHgzMjNmZjY3MAogICAgWyAyMDFdIGdldF9ieV9pZCAgICAgICAgIGxvYzEwLCBsb2M5LCBsZW5n
dGgoQGlkMCkgICAgcHJlZGljdGluZyBOb25Cb29sSW50MzIKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyM2ZmNjcwLi4uMHgzMjNmZjcxOAogICAgWyAyMTBd
IGFkZCAgICAgICAgICAgICAgIGxvYzcsIGxvYzcsIGxvYzEwICAgIHJlc3VsdHM6IFJlc3VsdDo8
SW50MzI+IExIUyBPYnNlcnZlZFR5cGU6PEludDMyPiBSSFMgT2JzZXJ2ZWRUeXBlOjxJbnQzMj4g
TEhTIFJlc3VsdFR5cGU6PDB4N2U+IFJIUyBSZXN1bHRUeXBlOjwweDdlPgogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzIzZmY3MTguLi4weDMyM2ZmN2JjCiAg
ICBbIDIxNV0gcHV0X3RvX3Njb3BlICAgICAgbG9jNiwgcmV0KEBpZDEpLCBsb2M3LCAyMDQ5PFRo
cm93SWZOb3RGb3VuZHxHbG9iYWxWYXJ8Tm90SW5pdGlhbGl6YXRpb24+LCA8c3RydWN0dXJlPiwg
ODA5MzkwOTM2CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MjNmZjdiYy4uLjB4MzIzZmY4YTQKICAgIFsgMjIyXSBzdWIgICAgICAgICAgICAgICBhcmcxLCBh
cmcxLCBsb2M0ICAgIHJlc3VsdHM6IFJlc3VsdDo8SW50MzI+IExIUyBPYnNlcnZlZFR5cGU6PElu
dDMyPiBSSFMgT2JzZXJ2ZWRUeXBlOjxJbnQzMj4gTEhTIFJlc3VsdFR5cGU6PDB4N2U+IFJIUyBS
ZXN1bHRUeXBlOjwweDdlPgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzIzZmY4YTQuLi4weDMyM2ZmOTRjCiAgICBbIDIyN10gamdyZWF0ZXIgICAgICAgICAg
YXJnMSwgSW50MzI6IDAoY29uc3QwKSwgLTIxMCgtPjE3KQogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzIzZmY5NGMuLi4weDMyM2ZmYTkwCiAgICBbIDIzMV0g
cmV0ICAgICAgICAgICAgICAgVW5kZWZpbmVkKGNvbnN0MikKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyM2ZmYTkwLi4uMHgzMjNmZmFlMAogICAgKEVuZCBP
ZiBNYWluIFBhdGgpCiAgICAoUykgWyAgIDZdIGNoZWNrX3RyYXBzICAgICAgIAogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzIzZmZhZTAuLi4weDMyM2ZmYjcw
CiAgICAoUykgWyAgMTNdIGpuZ3JlYXRlciAgICAgICAgIGFyZzEsIEludDMyOiAwKGNvbnN0MCks
IDIxOCgtPjIzMSkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMyM2ZmYjcwLi4uMHgzMjNmZmM0NAogICAgKFMpIFsgIDE3XSBsb29wX2hpbnQgICAgICAgICAK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyM2ZmYzQ0Li4u
MHgzMjNmZmQ1NAogICAgKFMpIFsgIDE4XSBjaGVja190cmFwcyAgICAgICAKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyM2ZmZDU0Li4uMHgzMjNmZmRlNAog
ICAgKFMpIFsgIDE5XSBqbmxlc3MgICAgICAgICAgICBhcmcxLCBsb2M0LCA3KC0+MjYpCiAgICAg
ICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjNmZmRlNC4uLjB4MzIz
ZmZlYjgKICAgIChTKSBbICAyNl0gYWRkICAgICAgICAgICAgICAgbG9jNiwgbG9jMiwgbG9jNCAg
ICByZXN1bHRzOiBSZXN1bHQ6PEludDMyPiBMSFMgT2JzZXJ2ZWRUeXBlOjxJbnQzMj4gUkhTIE9i
c2VydmVkVHlwZTo8SW50MzI+IExIUyBSZXN1bHRUeXBlOjwweDdlPiBSSFMgUmVzdWx0VHlwZTo8
MHg3ZT4KICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyM2Zm
ZWI4Li4uMHgzMjNmZmY3MAogICAgKFMpIFsgIDMxXSBnZXRfYnlfaWQgICAgICAgICBsb2M3LCBh
cmcyLCBsZW5ndGgoQGlkMCkgICAgcHJlZGljdGluZyBOb25Cb29sSW50MzIKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyM2ZmZjcwLi4uMHgzMjQwMDAzYwog
ICAgKFMpIFsgIDQwXSBqbmxlc3MgICAgICAgICAgICBsb2M2LCBsb2M3LCA3NigtPjExNikKICAg
ICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyNDAwMDNjLi4uMHgz
MjQwMDExMAogICAgKFMpIFsgIDYyXSBnZXRfYnlfaWRfcHJvdG9fbG9hZCBsb2M4LCBsb2MxMywg
c3Vic3RyaW5nKEBpZDIpIGxsaW50KHN0cnVjdCA9IDB4MzI2ZjgxOTApIHByb3RvKDB4MzI2ZGMx
MDApICAgIHByZWRpY3RpbmcgRnVuY3Rpb24KICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMyNDAwMTEwLi4uMHgzMjQwMDFkYwogICAgKFMpIFsgIDc0XSBhZGQg
ICAgICAgICAgICAgICBsb2MxMSwgbG9jMiwgbG9jNCAgICByZXN1bHRzOiBSZXN1bHQ6PEludDMy
PiBMSFMgT2JzZXJ2ZWRUeXBlOjxJbnQzMj4gUkhTIE9ic2VydmVkVHlwZTo8SW50MzI+IExIUyBS
ZXN1bHRUeXBlOjwweDdlPiBSSFMgUmVzdWx0VHlwZTo8MHg3ZT4KICAgICAgICBkaXNhc3NlbWJs
eSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyNDAwMWRjLi4uMHgzMjQwMDI5NAogICAgKFMp
IFsgIDc5XSBjYWxsICAgICAgICAgICAgICBsb2M4LCBsb2M4LCAzLCAxOCAodGhpcyBhdCBsb2Mx
MykgbGxpbnQoMHgzMjZmNGRlMCwgZXhlYyAweDMyNmQwZTYwKSBzdGF0dXMoKEZ1bmN0aW9uOiBP
YmplY3Q6IDB4MzI2ZjRkZTAgd2l0aCBidXR0ZXJmbHkgMHgzMjZkODlhOCAoU3RydWN0dXJlIDB4
MzI2ZjkzMTA6W0Z1bmN0aW9uLCB7bmFtZToxMDAsIGxlbmd0aDoxMDF9LCBOb25BcnJheSwgUHJv
dG86MHgzMjZkYzBhMCwgTGVhZl0pOyBFeGVjdXRhYmxlOiBOYXRpdmVFeGVjdXRhYmxlOjB4MmNl
ZjMwNmMvMHgyY2M4YjRlOCkpICAgIE5vbkFycmF5LCBJbnRlcmNlcHQ7IHByZWRpY3RpbmcgU3Ry
aW5nVmFyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjQw
MDI5NC4uLjB4MzI0MDAzMzQKICAgIChTKSBbICA4OF0gZ2V0X2J5X2lkICAgICAgICAgbG9jOSwg
bG9jOCwgbGVuZ3RoKEBpZDApICAgIHByZWRpY3RpbmcgTm9uQm9vbEludDMyCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjQwMDMzNC4uLjB4MzI0MDA0MDAK
ICAgIChTKSBbICA5N10gYWRkICAgICAgICAgICAgICAgbG9jNywgbG9jNywgbG9jOSAgICByZXN1
bHRzOiBSZXN1bHQ6PEludDMyPiBMSFMgT2JzZXJ2ZWRUeXBlOjxJbnQzMj4gUkhTIE9ic2VydmVk
VHlwZTo8SW50MzI+IExIUyBSZXN1bHRUeXBlOjwweDdlPiBSSFMgUmVzdWx0VHlwZTo8MHg3ZT4K
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyNDAwNDAwLi4u
MHgzMjQwMDRiOAogICAgKFMpIFsgMTAyXSBwdXRfdG9fc2NvcGUgICAgICBsb2M2LCByZXQoQGlk
MSksIGxvYzcsIDIwNDk8VGhyb3dJZk5vdEZvdW5kfEdsb2JhbFZhcnxOb3RJbml0aWFsaXphdGlv
bj4sIDxzdHJ1Y3R1cmU+LCA4MDkzOTA5MzYKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMyNDAwNGI4Li4uMHgzMjQwMDU1MAogICAgKFMpIFsgMTA5XSBhZGQg
ICAgICAgICAgICAgICBsb2MyLCBsb2MyLCBsb2M0ICAgIHJlc3VsdHM6IFJlc3VsdDo8SW50MzI+
IExIUyBPYnNlcnZlZFR5cGU6PEludDMyPiBSSFMgT2JzZXJ2ZWRUeXBlOjxJbnQzMj4gTEhTIFJl
c3VsdFR5cGU6PDB4N2U+IFJIUyBSZXN1bHRUeXBlOjwweDdlPgogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzI0MDA1NTAuLi4weDMyNDAwNjA4CiAgICAoUykg
WyAxMTldIGdldF9ieV9pZF9wcm90b19sb2FkIGxvYzYsIGxvYzksIHN1YnN0cmluZyhAaWQyKSBs
bGludChzdHJ1Y3QgPSAweDMyNmY4MTkwKSBwcm90bygweDMyNmRjMTAwKSAgICBwcmVkaWN0aW5n
IEZ1bmN0aW9uCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MjQwMDYwOC4uLjB4MzI0MDA2ZDQKICAgIChTKSBbIDEzMV0gY2FsbCAgICAgICAgICAgICAgbG9j
MywgbG9jNiwgMiwgMTQgKHRoaXMgYXQgbG9jOSkgbGxpbnQoMHgzMjZmNGRlMCwgZXhlYyAweDMy
NmQwZTYwKSBzdGF0dXMoKEZ1bmN0aW9uOiBPYmplY3Q6IDB4MzI2ZjRkZTAgd2l0aCBidXR0ZXJm
bHkgMHgzMjZkODlhOCAoU3RydWN0dXJlIDB4MzI2ZjkzMTA6W0Z1bmN0aW9uLCB7bmFtZToxMDAs
IGxlbmd0aDoxMDF9LCBOb25BcnJheSwgUHJvdG86MHgzMjZkYzBhMCwgTGVhZl0pOyBFeGVjdXRh
YmxlOiBOYXRpdmVFeGVjdXRhYmxlOjB4MmNlZjMwNmMvMHgyY2M4YjRlOCkpICAgIE5vbkFycmF5
LCBJbnRlcmNlcHQ7IHByZWRpY3RpbmcgU3RyaW5nVmFyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjQwMDZkNC4uLjB4MzI0MDA3NzQKICAgIChTKSBbIDE0
MF0gZ2V0X2J5X2lkICAgICAgICAgbG9jNiwgbG9jMywgbGVuZ3RoKEBpZDApICAgIHByZWRpY3Rp
bmcgTm9uQm9vbEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFu
Z2UgMHgzMjQwMDc3NC4uLjB4MzI0MDA4NDAKICAgIChTKSBbIDE0OV0gc3ViICAgICAgICAgICAg
ICAgbG9jMiwgbG9jNCwgbG9jNiAgICByZXN1bHRzOiBSZXN1bHQ6PEludDMyPiBMSFMgT2JzZXJ2
ZWRUeXBlOjxJbnQzMj4gUkhTIE9ic2VydmVkVHlwZTo8SW50MzI+IExIUyBSZXN1bHRUeXBlOjww
eDdlPiBSSFMgUmVzdWx0VHlwZTo8MHg3ZT4KICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMyNDAwODQwLi4uMHgzMjQwMDhmOAogICAgKFMpIFsgMTcyXSBnZXRf
YnlfaWRfcHJvdG9fbG9hZCBsb2M4LCBsb2MxMywgc3Vic3RyaW5nKEBpZDIpIGxsaW50KHN0cnVj
dCA9IDB4MzI2ZjgxOTApIHByb3RvKDB4MzI2ZGMxMDApICAgIHByZWRpY3RpbmcgRnVuY3Rpb24K
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyNDAwOGY4Li4u
MHgzMjQwMDljNAogICAgKFMpIFsgMTg3XSBjYWxsICAgICAgICAgICAgICBsb2M4LCBsb2M4LCAz
LCAxOCAodGhpcyBhdCBsb2MxMykgbGxpbnQoMHgzMjZmNGRlMCwgZXhlYyAweDMyNmQwZTYwKSBz
dGF0dXMoKEZ1bmN0aW9uOiBPYmplY3Q6IDB4MzI2ZjRkZTAgd2l0aCBidXR0ZXJmbHkgMHgzMjZk
ODlhOCAoU3RydWN0dXJlIDB4MzI2ZjkzMTA6W0Z1bmN0aW9uLCB7bmFtZToxMDAsIGxlbmd0aDox
MDF9LCBOb25BcnJheSwgUHJvdG86MHgzMjZkYzBhMCwgTGVhZl0pOyBFeGVjdXRhYmxlOiBOYXRp
dmVFeGVjdXRhYmxlOjB4MmNlZjMwNmMvMHgyY2M4YjRlOCkpICAgIE5vbkFycmF5LCBJbnRlcmNl
cHQ7IHByZWRpY3RpbmcgU3RyaW5nVmFyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMjQwMDljNC4uLjB4MzI0MDBhNjQKICAgIChTKSBbIDIwMV0gZ2V0X2J5
X2lkICAgICAgICAgbG9jMTAsIGxvYzksIGxlbmd0aChAaWQwKSAgICBwcmVkaWN0aW5nIE5vbkJv
b2xJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzI0
MDBhNjQuLi4weDMyNDAwYjMwCiAgICAoUykgWyAyMTBdIGFkZCAgICAgICAgICAgICAgIGxvYzcs
IGxvYzcsIGxvYzEwICAgIHJlc3VsdHM6IFJlc3VsdDo8SW50MzI+IExIUyBPYnNlcnZlZFR5cGU6
PEludDMyPiBSSFMgT2JzZXJ2ZWRUeXBlOjxJbnQzMj4gTEhTIFJlc3VsdFR5cGU6PDB4N2U+IFJI
UyBSZXN1bHRUeXBlOjwweDdlPgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzI0MDBiMzAuLi4weDMyNDAwYmU4CiAgICAoUykgWyAyMTVdIHB1dF90b19zY29w
ZSAgICAgIGxvYzYsIHJldChAaWQxKSwgbG9jNywgMjA0OTxUaHJvd0lmTm90Rm91bmR8R2xvYmFs
VmFyfE5vdEluaXRpYWxpemF0aW9uPiwgPHN0cnVjdHVyZT4sIDgwOTM5MDkzNgogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzI0MDBiZTguLi4weDMyNDAwYzgw
CiAgICAoUykgWyAyMjJdIHN1YiAgICAgICAgICAgICAgIGFyZzEsIGFyZzEsIGxvYzQgICAgcmVz
dWx0czogUmVzdWx0OjxJbnQzMj4gTEhTIE9ic2VydmVkVHlwZTo8SW50MzI+IFJIUyBPYnNlcnZl
ZFR5cGU6PEludDMyPiBMSFMgUmVzdWx0VHlwZTo8MHg3ZT4gUkhTIFJlc3VsdFR5cGU6PDB4N2U+
CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjQwMGM4MC4u
LjB4MzI0MDBkMzgKICAgIChTKSBbIDIyN10gamdyZWF0ZXIgICAgICAgICAgYXJnMSwgSW50MzI6
IDAoY29uc3QwKSwgLTIxMCgtPjE3KQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzI0MDBkMzguLi4weDMyNDAwZTBjCiAgICAoRW5kIE9mIFNsb3cgUGF0aCkK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyNDAwZTBjLi4u
MHgzMjQwMGZlOApEZXN0cm95aW5nIEpJVCBjb2RlIGF0IDB4MzA0MDFiNDAuLi4weDMwNDAxYjYw
CkxpbmtpbmcgY2FsbCBpbiBmYXN0YVJlcGVhdCNCWTh6c1k6WzB4MzI2NzgyMzAtPjB4MzI2Y2I2
YTAsIEJhc2VsaW5lRnVuY3Rpb25DYWxsLCAyMzNdIGJjIzc5IHRvIChudWxsKSwgZW50cnlwb2lu
dCBhdCBDb2RlUHRyKDB4MzA0MDExYzApCkdlbmVyYXRlZCBKSVQgY29kZSBmb3IgTGluayBwb2x5
bW9ycGhpYyBjYWxsIHNsb3cgcGF0aCB0aHVuazoKICAgIENvZGUgYXQgWzB4MzA0MDFmMjAsIDB4
MzA0MDIxNDApOgogICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
MWYyMC4uLjB4MzA0MDIxNDAKTGlua2luZyBjYWxsIGluIGZhc3RhUmVwZWF0I0JZOHpzWTpbMHgz
MjY3ODIzMC0+MHgzMjZjYjZhMCwgQmFzZWxpbmVGdW5jdGlvbkNhbGwsIDIzM10gYmMjMTMxIHRv
IChudWxsKSwgZW50cnlwb2ludCBhdCBDb2RlUHRyKDB4MzA0MDExYzApCkxpbmtpbmcgY2FsbCBp
biBmYXN0YVJlcGVhdCNCWTh6c1k6WzB4MzI2NzgyMzAtPjB4MzI2Y2I2YTAsIEJhc2VsaW5lRnVu
Y3Rpb25DYWxsLCAyMzNdIGJjIzE4NyB0byAobnVsbCksIGVudHJ5cG9pbnQgYXQgQ29kZVB0cigw
eDMwNDAxMWMwKQpHZW5lcmF0ZWQgSklUIGNvZGUgZm9yIEFjY2VzcyBzdHViIGZvciBmYXN0YVJl
cGVhdCNCWTh6c1k6WzB4MzI2NzgyMzAtPjB4MzI2Y2I2YTAsIEJhc2VsaW5lRnVuY3Rpb25DYWxs
LCAyMzNdIGJjIzMxIHdpdGggcmV0dXJuIHBvaW50IENvZGVQdHIoMHgzMjNmZTg3OCk6IApTdHJp
bmdMZW5ndGg6KEdlbmVyYXRlZCk6CiAgICBDb2RlIGF0IFsweDMwNDAyMTQwLCAweDMwNDAyMWMw
KToKICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDIxNDAuLi4w
eDMwNDAyMWMwCkdlbmVyYXRlZCBKSVQgY29kZSBmb3IgSW5saW5lQWNjZXNzOiBsaW5raW5nIGNv
bnN0YW50IGp1bXA6CiAgICBDb2RlIGF0IFsweDMyM2ZlODMwLCAweDMyM2ZlODMwKToKICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzIzZmU4MzAuLi4weDMyM2ZlODUw
CkdlbmVyYXRlZCBKSVQgY29kZSBmb3IgQWNjZXNzIHN0dWIgZm9yIGZhc3RhUmVwZWF0I0JZOHpz
WTpbMHgzMjY3ODIzMC0+MHgzMjZjYjZhMCwgQmFzZWxpbmVGdW5jdGlvbkNhbGwsIDIzM10gYmMj
NjIgd2l0aCByZXR1cm4gcG9pbnQgQ29kZVB0cigweDMyM2ZlYjM0KTogCkxvYWQ6KEdlbmVyYXRl
ZCwgb2Zmc2V0ID0gMTExLCBjb25kaXRpb25zID0gWzxPYmplY3Q6IDB4MzI2ZGMxMDAgd2l0aCBi
dXR0ZXJmbHkgMHgzMjZiODJiOCAoU3RydWN0dXJlIDB4MzI2ZmE2MjA6W1N0cmluZywge3RvU3Ry
aW5nOjEwMCwgdmFsdWVPZjoxMDEsIGNoYXJBdDoxMDIsIGNoYXJDb2RlQXQ6MTAzLCBjb2RlUG9p
bnRBdDoxMDQsIGluZGV4T2Y6MTA1LCBsYXN0SW5kZXhPZjoxMDYsIFByaXZhdGVTeW1ib2wucmVw
bGFjZVVzaW5nUmVnRXhwOjEwNywgUHJpdmF0ZVN5bWJvbC5yZXBsYWNlVXNpbmdTdHJpbmdTZWFy
Y2g6MTA4LCBzbGljZToxMDksIHN1YnN0cjoxMTAsIHN1YnN0cmluZzoxMTEsIHRvTG93ZXJDYXNl
OjExMiwgdG9VcHBlckNhc2U6MTEzLCBsb2NhbGVDb21wYXJlOjExNCwgdG9Mb2NhbGVMb3dlckNh
c2U6MTE1LCB0b0xvY2FsZVVwcGVyQ2FzZToxMTYsIHRyaW06MTE3LCB0cmltTGVmdDoxMTgsIHRy
aW1SaWdodDoxMTksIHN0YXJ0c1dpdGg6MTIwLCBlbmRzV2l0aDoxMjEsIGluY2x1ZGVzOjEyMiwg
bm9ybWFsaXplOjEyMywgUHJpdmF0ZVN5bWJvbC5jaGFyQ29kZUF0OjEyNCwgU3ltYm9sLml0ZXJh
dG9yOjEyNSwgbGVuZ3RoOjEyNiwgY29uc3RydWN0b3I6MTI3fSwgTm9uQXJyYXksIFByb3RvOjB4
MzI2YzAwYTAsIExlYWZdKTogUHJlc2VuY2Ugb2Ygc3Vic3RyaW5nIGF0IDExMSB3aXRoIGF0dHJp
YnV0ZXMgND5dLCBzdHJ1Y3R1cmUgPSAweDMyNmY4MTkwOltzdHJpbmcsIHt9LCBOb25BcnJheSwg
TGVhZl0sIHZpYVByb3h5ID0gZmFsc2UsIGFkZGl0aW9uYWxTZXQgPSAobmlsKSk6CiAgICBDb2Rl
IGF0IFsweDMwNDAyMWMwLCAweDMwNDAyMjQwKToKICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MDIxYzAuLi4weDMwNDAyMjQwCkdlbmVyYXRlZCBKSVQgY29kZSBm
b3IgSW5saW5lQWNjZXNzOiBsaW5raW5nIGNvbnN0YW50IGp1bXA6CiAgICBDb2RlIGF0IFsweDMy
M2ZlYWVjLCAweDMyM2ZlYWVjKToKICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzIzZmVhZWMuLi4weDMyM2ZlYjBjCkdlbmVyYXRlZCBKSVQgY29kZSBmb3IgQWNjZXNz
IHN0dWIgZm9yIGZhc3RhUmVwZWF0I0JZOHpzWTpbMHgzMjY3ODIzMC0+MHgzMjZjYjZhMCwgQmFz
ZWxpbmVGdW5jdGlvbkNhbGwsIDIzM10gYmMjODggd2l0aCByZXR1cm4gcG9pbnQgQ29kZVB0cigw
eDMyM2ZlZGQ0KTogClN0cmluZ0xlbmd0aDooR2VuZXJhdGVkKToKICAgIENvZGUgYXQgWzB4MzA0
MDIyNDAsIDB4MzA0MDIyYzApOgogICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFu
Z2UgMHgzMDQwMjI0MC4uLjB4MzA0MDIyYzAKR2VuZXJhdGVkIEpJVCBjb2RlIGZvciBJbmxpbmVB
Y2Nlc3M6IGxpbmtpbmcgY29uc3RhbnQganVtcDoKICAgIENvZGUgYXQgWzB4MzIzZmVkOGMsIDB4
MzIzZmVkOGMpOgogICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMjNm
ZWQ4Yy4uLjB4MzIzZmVkYWMKR2VuZXJhdGVkIEpJVCBjb2RlIGZvciBBY2Nlc3Mgc3R1YiBmb3Ig
ZmFzdGFSZXBlYXQjQlk4enNZOlsweDMyNjc4MjMwLT4weDMyNmNiNmEwLCBCYXNlbGluZUZ1bmN0
aW9uQ2FsbCwgMjMzXSBiYyMxMTkgd2l0aCByZXR1cm4gcG9pbnQgQ29kZVB0cigweDMyM2ZmMGM4
KTogCkxvYWQ6KEdlbmVyYXRlZCwgb2Zmc2V0ID0gMTExLCBjb25kaXRpb25zID0gWzxPYmplY3Q6
IDB4MzI2ZGMxMDAgd2l0aCBidXR0ZXJmbHkgMHgzMjZiODJiOCAoU3RydWN0dXJlIDB4MzI2ZmE2
MjA6W1N0cmluZywge3RvU3RyaW5nOjEwMCwgdmFsdWVPZjoxMDEsIGNoYXJBdDoxMDIsIGNoYXJD
b2RlQXQ6MTAzLCBjb2RlUG9pbnRBdDoxMDQsIGluZGV4T2Y6MTA1LCBsYXN0SW5kZXhPZjoxMDYs
IFByaXZhdGVTeW1ib2wucmVwbGFjZVVzaW5nUmVnRXhwOjEwNywgUHJpdmF0ZVN5bWJvbC5yZXBs
YWNlVXNpbmdTdHJpbmdTZWFyY2g6MTA4LCBzbGljZToxMDksIHN1YnN0cjoxMTAsIHN1YnN0cmlu
ZzoxMTEsIHRvTG93ZXJDYXNlOjExMiwgdG9VcHBlckNhc2U6MTEzLCBsb2NhbGVDb21wYXJlOjEx
NCwgdG9Mb2NhbGVMb3dlckNhc2U6MTE1LCB0b0xvY2FsZVVwcGVyQ2FzZToxMTYsIHRyaW06MTE3
LCB0cmltTGVmdDoxMTgsIHRyaW1SaWdodDoxMTksIHN0YXJ0c1dpdGg6MTIwLCBlbmRzV2l0aDox
MjEsIGluY2x1ZGVzOjEyMiwgbm9ybWFsaXplOjEyMywgUHJpdmF0ZVN5bWJvbC5jaGFyQ29kZUF0
OjEyNCwgU3ltYm9sLml0ZXJhdG9yOjEyNSwgbGVuZ3RoOjEyNiwgY29uc3RydWN0b3I6MTI3fSwg
Tm9uQXJyYXksIFByb3RvOjB4MzI2YzAwYTAsIExlYWZdKTogUHJlc2VuY2Ugb2Ygc3Vic3RyaW5n
IGF0IDExMSB3aXRoIGF0dHJpYnV0ZXMgND5dLCBzdHJ1Y3R1cmUgPSAweDMyNmY4MTkwOltzdHJp
bmcsIHt9LCBOb25BcnJheSwgTGVhZl0sIHZpYVByb3h5ID0gZmFsc2UsIGFkZGl0aW9uYWxTZXQg
PSAobmlsKSk6CiAgICBDb2RlIGF0IFsweDMwNDAyMmMwLCAweDMwNDAyMzQwKToKICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDIyYzAuLi4weDMwNDAyMzQwCkdl
bmVyYXRlZCBKSVQgY29kZSBmb3IgSW5saW5lQWNjZXNzOiBsaW5raW5nIGNvbnN0YW50IGp1bXA6
CiAgICBDb2RlIGF0IFsweDMyM2ZmMDgwLCAweDMyM2ZmMDgwKToKICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzIzZmYwODAuLi4weDMyM2ZmMGEwCkdlbmVyYXRlZCBK
SVQgY29kZSBmb3IgQWNjZXNzIHN0dWIgZm9yIGZhc3RhUmVwZWF0I0JZOHpzWTpbMHgzMjY3ODIz
MC0+MHgzMjZjYjZhMCwgQmFzZWxpbmVGdW5jdGlvbkNhbGwsIDIzM10gYmMjMTQwIHdpdGggcmV0
dXJuIHBvaW50IENvZGVQdHIoMHgzMjNmZjJjNCk6IApTdHJpbmdMZW5ndGg6KEdlbmVyYXRlZCk6
CiAgICBDb2RlIGF0IFsweDMwNDAyMzQwLCAweDMwNDAyM2MwKToKICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDIzNDAuLi4weDMwNDAyM2MwCkdlbmVyYXRlZCBK
SVQgY29kZSBmb3IgSW5saW5lQWNjZXNzOiBsaW5raW5nIGNvbnN0YW50IGp1bXA6CiAgICBDb2Rl
IGF0IFsweDMyM2ZmMjdjLCAweDMyM2ZmMjdjKToKICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzIzZmYyN2MuLi4weDMyM2ZmMjljCkdlbmVyYXRlZCBKSVQgY29kZSBm
b3IgQWNjZXNzIHN0dWIgZm9yIGZhc3RhUmVwZWF0I0JZOHpzWTpbMHgzMjY3ODIzMC0+MHgzMjZj
YjZhMCwgQmFzZWxpbmVGdW5jdGlvbkNhbGwsIDIzM10gYmMjMTcyIHdpdGggcmV0dXJuIHBvaW50
IENvZGVQdHIoMHgzMjNmZjQ1Yyk6IApMb2FkOihHZW5lcmF0ZWQsIG9mZnNldCA9IDExMSwgY29u
ZGl0aW9ucyA9IFs8T2JqZWN0OiAweDMyNmRjMTAwIHdpdGggYnV0dGVyZmx5IDB4MzI2YjgyYjgg
KFN0cnVjdHVyZSAweDMyNmZhNjIwOltTdHJpbmcsIHt0b1N0cmluZzoxMDAsIHZhbHVlT2Y6MTAx
LCBjaGFyQXQ6MTAyLCBjaGFyQ29kZUF0OjEwMywgY29kZVBvaW50QXQ6MTA0LCBpbmRleE9mOjEw
NSwgbGFzdEluZGV4T2Y6MTA2LCBQcml2YXRlU3ltYm9sLnJlcGxhY2VVc2luZ1JlZ0V4cDoxMDcs
IFByaXZhdGVTeW1ib2wucmVwbGFjZVVzaW5nU3RyaW5nU2VhcmNoOjEwOCwgc2xpY2U6MTA5LCBz
dWJzdHI6MTEwLCBzdWJzdHJpbmc6MTExLCB0b0xvd2VyQ2FzZToxMTIsIHRvVXBwZXJDYXNlOjEx
MywgbG9jYWxlQ29tcGFyZToxMTQsIHRvTG9jYWxlTG93ZXJDYXNlOjExNSwgdG9Mb2NhbGVVcHBl
ckNhc2U6MTE2LCB0cmltOjExNywgdHJpbUxlZnQ6MTE4LCB0cmltUmlnaHQ6MTE5LCBzdGFydHNX
aXRoOjEyMCwgZW5kc1dpdGg6MTIxLCBpbmNsdWRlczoxMjIsIG5vcm1hbGl6ZToxMjMsIFByaXZh
dGVTeW1ib2wuY2hhckNvZGVBdDoxMjQsIFN5bWJvbC5pdGVyYXRvcjoxMjUsIGxlbmd0aDoxMjYs
IGNvbnN0cnVjdG9yOjEyN30sIE5vbkFycmF5LCBQcm90bzoweDMyNmMwMGEwLCBMZWFmXSk6IFBy
ZXNlbmNlIG9mIHN1YnN0cmluZyBhdCAxMTEgd2l0aCBhdHRyaWJ1dGVzIDQ+XSwgc3RydWN0dXJl
ID0gMHgzMjZmODE5MDpbc3RyaW5nLCB7fSwgTm9uQXJyYXksIExlYWZdLCB2aWFQcm94eSA9IGZh
bHNlLCBhZGRpdGlvbmFsU2V0ID0gKG5pbCkpOgogICAgQ29kZSBhdCBbMHgzMDQwMjNjMCwgMHgz
MDQwMjQ0MCk6CiAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAy
M2MwLi4uMHgzMDQwMjQ0MApHZW5lcmF0ZWQgSklUIGNvZGUgZm9yIElubGluZUFjY2VzczogbGlu
a2luZyBjb25zdGFudCBqdW1wOgogICAgQ29kZSBhdCBbMHgzMjNmZjQxNCwgMHgzMjNmZjQxNCk6
CiAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyM2ZmNDE0Li4uMHgz
MjNmZjQzNApHZW5lcmF0ZWQgSklUIGNvZGUgZm9yIEFjY2VzcyBzdHViIGZvciBmYXN0YVJlcGVh
dCNCWTh6c1k6WzB4MzI2NzgyMzAtPjB4MzI2Y2I2YTAsIEJhc2VsaW5lRnVuY3Rpb25DYWxsLCAy
MzNdIGJjIzIwMSB3aXRoIHJldHVybiBwb2ludCBDb2RlUHRyKDB4MzIzZmY2ZjgpOiAKU3RyaW5n
TGVuZ3RoOihHZW5lcmF0ZWQpOgogICAgQ29kZSBhdCBbMHgzMDQwMjQ0MCwgMHgzMDQwMjRjMCk6
CiAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyNDQwLi4uMHgz
MDQwMjRjMApHZW5lcmF0ZWQgSklUIGNvZGUgZm9yIElubGluZUFjY2VzczogbGlua2luZyBjb25z
dGFudCBqdW1wOgogICAgQ29kZSBhdCBbMHgzMjNmZjZiMCwgMHgzMjNmZjZiMCk6CiAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMyM2ZmNmIwLi4uMHgzMjNmZjZkMApH
ZW5lcmF0ZWQgSklUIGNvZGUgZm9yIERGRyBPU1IgZXhpdCB0aHVuazoKICAgIENvZGUgYXQgWzB4
MzA0MDI0YzAsIDB4MzA0MDI1MjApOgogICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwMjRjMC4uLjB4MzA0MDI1MjAKR2VuZXJhdGVkIEpJVCBjb2RlIGZvciBERkcg
T1NSIGV4aXQgZ2VuZXJhdGlvbiB0aHVuazoKICAgIENvZGUgYXQgWzB4MzA0MDI1MjAsIDB4MzA0
MDI3NDApOgogICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMjUy
MC4uLjB4MzA0MDI3NDAKR2VuZXJhdGVkIEpJVCBjb2RlIGZvciBUaHJvdyBleGNlcHRpb24gZnJv
bSBjYWxsIHNsb3cgcGF0aCB0aHVuazoKICAgIENvZGUgYXQgWzB4MzA0MDI3NDAsIDB4MzA0MDI3
YzApOgogICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMjc0MC4u
LjB4MzA0MDI3YzAKR2VuZXJhdGVkIERGRyBKSVQgY29kZSBmb3IgZmFzdGFSZXBlYXQjQlk4enNZ
OlsweDMyNjc4M2MwLT4weDMyNjc4MjMwLT4weDMyNmNiNmEwLCBERkdGdW5jdGlvbkNhbGwsIDIz
M10sIGluc3RydWN0aW9uIGNvdW50ID0gMjMzOgogICAgT3B0aW1pemVkIHdpdGggZXhlY3V0aW9u
IGNvdW50ZXIgPSAxNzY4LjA3NzM5My8xNzY2LjAwMDAwMCwgMAogICAgQ29kZSBhdCBbMHgzMDQw
MjdjMCwgMHgzMDQwNGI2MCk6CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwMjdjMC4uLjB4MzA0MDI4OTQKICAgIEJsb2NrICMwIChiYyMwKTogKE9TUiB0
YXJnZXQpCiAgICAgIEV4ZWN1dGlvbiBjb3VudDogMS4wMDAwMDAKICAgICAgUHJlZGVjZXNzb3Jz
OgogICAgICBTdWNjZXNzb3JzOiAjMSAjNwogICAgICBEb21pbmF0ZWQgYnk6ICNyb290ICMwCiAg
ICAgIERvbWluYXRlczogIzAgIzEgIzIgIzMgIzQgIzUgIzYgIzcKICAgICAgRG9taW5hbmNlIEZy
b250aWVyOiAKICAgICAgSXRlcmF0ZWQgRG9taW5hbmNlIEZyb250aWVyOiAKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyODk0Li4uMHgzMDQwMjhmYwog
ICAgICAgMDo8IDI6LT4JU2V0QXJndW1lbnQodGhpcyhhKSwgbWFjaGluZTp0aGlzLCBXOlNpZGVT
dGF0ZSwgYmMjMCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBPdGhlck9iagogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDI4ZmMuLi4weDMwNDAyOGZjCiAg
ICAgICAxOjwgMzotPglTZXRBcmd1bWVudChJc0ZsdXNoZWQsIGFyZzEoQjxJbnQzMj4vRmx1c2hl
ZEludDMyKSwgbWFjaGluZTphcmcxLCBXOlNpZGVTdGF0ZSwgYmMjMCwgRXhpdFZhbGlkKSAgcHJl
ZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MDI4ZmMuLi4weDMwNDAyOGZjCiAgICAgICAyOjwgMjotPglTZXRBcmd1bWVudChJc0Zs
dXNoZWQsIGFyZzIoWjxTdHJpbmc+L0ZsdXNoZWRDZWxsKSwgbWFjaGluZTphcmcyLCBXOlNpZGVT
dGF0ZSwgYmMjMCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBTdHJpbmdWYXIKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyOGZjLi4uMHgzMDQwMjhmYwog
ICAgICAgMzo8IDY6bG9jMz4JSlNDb25zdGFudChKU3xQdXJlSW50LCBPdGhlciwgVW5kZWZpbmVk
LCBiYyMwLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwMjhmYy4uLjB4MzA0MDI4ZmMKICAgICAgIDQ6PCEwOi0+CU1vdkhpbnQoVW50
eXBlZDpAMywgTXVzdEdlbiwgbG9jMCwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMCwg
RXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MDI4ZmMuLi4weDMwNDAyOGZjCiAgICAgICA2OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDMs
IE11c3RHZW4sIGxvYzEsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzAsIEV4aXRJbnZh
bGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDI4
ZmMuLi4weDMwNDAyOGZjCiAgICAgICA4OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDMsIE11c3RH
ZW4sIGxvYzIsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzAsIEV4aXRJbnZhbGlkKQog
ICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDI4ZmMuLi4w
eDMwNDAyOGZjCiAgICAgIDEwOjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDMsIE11c3RHZW4sIGxv
YzMsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzAsIEV4aXRJbnZhbGlkKQogICAgICAg
IGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDI4ZmMuLi4weDMwNDAy
OGZjCiAgICAgIDEyOjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDMsIE11c3RHZW4sIGxvYzQsIFc6
U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzAsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDI4ZmMuLi4weDMwNDAyOGZjCiAg
ICAgIDE0OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDMsIE11c3RHZW4sIGxvYzUsIFc6U2lkZVN0
YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzAsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDI4ZmMuLi4weDMwNDAyOGZjCiAgICAgIDE3
OjwgMzpsb2MzPglKU0NvbnN0YW50KEpTfFVzZUFzT3RoZXIsIE90aGVyT2JqLCBXZWFrOk9iamVj
dDogMHgzMjZkNDBhMCB3aXRoIGJ1dHRlcmZseSAobmlsKSAoU3RydWN0dXJlICVEODpKU0dsb2Jh
bExleGljYWxFbnZpcm9ubWVudCksIGJjIzEsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJs
eSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyOGZjLi4uMHgzMDQwMjhmYwogICAgICAx
ODo8ITA6LT4JTW92SGludChVbnR5cGVkOkAxNywgTXVzdEdlbiwgbG9jMCwgVzpTaWRlU3RhdGUs
IENsb2JiZXJzRXhpdCwgYmMjMSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDI4ZmMuLi4weDMwNDAyOGZjCiAgICAgIDE5OjwgMTot
PglTZXRMb2NhbChVbnR5cGVkOkAxNywgbG9jMChKfjxPYmplY3Q+L0ZsdXNoZWRKU1ZhbHVlKSwg
bWFjaGluZTpsb2MwLCBXOlN0YWNrKC0xKSwgYmMjMSwgZXhpdDogYmMjMywgRXhpdFZhbGlkKSAg
cHJlZGljdGluZyBPdGhlck9iagogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MDI4ZmMuLi4weDMwNDAyOTEwCiAgICAgIDIwOjwhMDotPglNb3ZIaW50KFVu
dHlwZWQ6QDE3LCBNdXN0R2VuLCBsb2MxLCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMz
LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2Ug
MHgzMDQwMjkxMC4uLjB4MzA0MDI5MTAKICAgICAgMjI6PCEwOi0+CUNoZWNrVHJhcHMoTXVzdEdl
biwgUjpJbnRlcm5hbFN0YXRlLCBXOkludGVybmFsU3RhdGUsIEV4aXRzLCBDbG9iYmVyc0V4aXQs
IGJjIzYsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMwNDAyOTEwLi4uMHgzMDQwMjk3YwogICAgICAyMzo8IDM6bG9jMz4JSlNDb25zdGFu
dChKU3xVc2VBc090aGVyLCBCb29sSW50MzIsIEludDMyOiAwLCBiYyM3LCBFeGl0VmFsaWQpCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMjk3Yy4uLjB4
MzA0MDI5N2MKICAgICAgMjQ6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMjMsIE11c3RHZW4sIGxv
YzIsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzcsIEV4aXRWYWxpZCkKICAgICAgICBk
aXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyOTdjLi4uMHgzMDQwMjk3
YwogICAgICAyNTo8IDE6LT4JU2V0TG9jYWwoSW50MzI6QDIzLCBsb2MyKEw8SW50MzI+L0ZsdXNo
ZWRJbnQzMiksIG1hY2hpbmU6bG9jMSwgVzpTdGFjaygtMyksIGJjIzcsIGV4aXQ6IGJjIzEwLCBF
eGl0VmFsaWQpICBwcmVkaWN0aW5nIEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWls
YWJsZSBmb3IgcmFuZ2UgMHgzMDQwMjk3Yy4uLjB4MzA0MDI5ODQKICAgICAgMjY6PCAyOmxvYzQ+
CUpTQ29uc3RhbnQoSlN8VXNlQXNPdGhlciwgTm9uQm9vbEludDMyLCBJbnQzMjogNjAsIGJjIzEw
LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2Ug
MHgzMDQwMjk4NC4uLjB4MzA0MDI5ODQKICAgICAgMjc6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpA
MjYsIE11c3RHZW4sIGxvYzQsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzEwLCBFeGl0
VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
Mjk4NC4uLjB4MzA0MDI5ODQKICAgICAgMjg6PCAxOi0+CVNldExvY2FsKEludDMyOkAyNiwgbG9j
NChNPEludDMyPi9GbHVzaGVkSW50MzIpLCBtYWNoaW5lOmxvYzIsIFc6U3RhY2soLTUpLCBiYyMx
MCwgZXhpdDogYmMjMTMsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgSW50MzIKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyOTg0Li4uMHgzMDQwMjk4Ywog
ICAgICAyOTo8ITE6bG9jND4JR2V0TG9jYWwoVW50eXBlZDpAMSwgSlN8TXVzdEdlbnxVc2VBc090
aGVyLCBJbnQzMiwgYXJnMShCPEludDMyPi9GbHVzaGVkSW50MzIpLCBtYWNoaW5lOmFyZzEsIFI6
U3RhY2soNSksIGJjIzEzLCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIEludDMyCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMjk4Yy4uLjB4MzA0MDI5OTAK
ICAgICAgMzA6PCAxOmxvYzM+CUNvbXBhcmVHcmVhdGVyKEludDMyOkAyOSwgSW50MzI6QDIzLCBC
b29sZWFufFVzZUFzT3RoZXIsIEJvb2wsIEV4aXRzLCBiYyMxMywgRXhpdFZhbGlkKQogICAgICAg
IGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDI5OTAuLi4weDMwNDAy
OWYwCiAgICAgIDMxOjwhMDotPglCcmFuY2goS25vd25Cb29sZWFuOkAzMCwgTXVzdEdlbiwgVDoj
MS93OjEwLjAwMDAwMCwgRjojNy93OjEuMDAwMDAwLCBXOlNpZGVTdGF0ZSwgYmMjMTMsIEV4aXRJ
bnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0
MDI5ZjAuLi4weDMwNDAyOWYwCiAgICBCbG9jayAjMSAoYmMjMTcpOiAoT1NSIHRhcmdldCkKICAg
ICAgRXhlY3V0aW9uIGNvdW50OiAxMC4wMDAwMDAKICAgICAgUHJlZGVjZXNzb3JzOiAjMCAjNgog
ICAgICBTdWNjZXNzb3JzOiAjMiAjMwogICAgICBEb21pbmF0ZWQgYnk6ICNyb290ICMwICMxCiAg
ICAgIERvbWluYXRlczogIzEgIzIgIzMgIzQgIzUgIzYKICAgICAgRG9taW5hbmNlIEZyb250aWVy
OiAjMSAjNwogICAgICBJdGVyYXRlZCBEb21pbmFuY2UgRnJvbnRpZXI6ICMxICM3CiAgICAgIExv
b3AgaGVhZGVyLCBjb250YWluczogIzEgIzIgIzMgIzQgIzUgIzYKICAgICAgQ29udGFpbmluZyBs
b29wIGhlYWRlcnM6ICMxCiAgICAgIFBoaSBOb2RlczogQDE3NDxhcmcxLDM+LT4oQDE1NiwgQDEp
LCBAMTc1PGxvYzQsMj4tPihAMTkyLCBAMjgpLCBAMTc3PGxvYzIsMj4tPihAMTk1LCBAMjUpLCBA
MTcxPGxvYzAsMj4tPihAMTcyLCBAMTkpLCBAMTk0PGFyZzIsMj4tPihAMTk4LCBAMiksIEAxNjc8
dGhpcywyPi0+KEAxOTAsIEAwKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MDI5ZjAuLi4weDMwNDAyYTU4CiAgICAgIDMyOjwhMDotPglMb29wSGludChN
dXN0R2VuLCBXOlNpZGVTdGF0ZSwgYmMjMTcsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJs
eSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyYTU4Li4uMHgzMDQwMmE1OAogICAgICAz
Mzo8ITA6LT4JQ2hlY2tUcmFwcyhNdXN0R2VuLCBSOkludGVybmFsU3RhdGUsIFc6SW50ZXJuYWxT
dGF0ZSwgRXhpdHMsIENsb2JiZXJzRXhpdCwgYmMjMTgsIEV4aXRWYWxpZCkKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyYTU4Li4uMHgzMDQwMmFjNAog
ICAgICAzNDo8ITE6bG9jND4JR2V0TG9jYWwoVW50eXBlZDpAMTc0LCBKU3xNdXN0R2VufFVzZUFz
T3RoZXIsIEludDMyLCBhcmcxKEI8SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hpbmU6YXJnMSwg
UjpTdGFjayg1KSwgYmMjMTksIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgSW50MzIKICAgICAgICBk
aXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyYWM0Li4uMHgzMDQwMmFj
OAogICAgICAzNTo8ITE6bG9jMz4JR2V0TG9jYWwoVW50eXBlZDpAMTc1LCBKU3xNdXN0R2VufFVz
ZUFzT3RoZXIsIEludDMyLCBsb2M0KE08SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hpbmU6bG9j
MiwgUjpTdGFjaygtNSksIGJjIzE5LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIEludDMyCiAgICAg
ICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMmFjOC4uLjB4MzA0
MDJhY2MKICAgICAgMzY6PCAxOmxvYzM+CUNvbXBhcmVMZXNzKEludDMyOkAzNCwgSW50MzI6QDM1
LCBCb29sZWFufFVzZUFzT3RoZXIsIEJvb2wsIEV4aXRzLCBiYyMxOSwgRXhpdFZhbGlkKQogICAg
ICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDJhY2MuLi4weDMw
NDAyYjI4CiAgICAgIDM3OjwhMDotPglCcmFuY2goS25vd25Cb29sZWFuOkAzNiwgTXVzdEdlbiwg
VDojMi93OjEwLjAwMDAwMCwgRjojMy93OjEwLjAwMDAwMCwgVzpTaWRlU3RhdGUsIGJjIzE5LCBF
eGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDAyYjI4Li4uMHgzMDQwMmIyOAogICAgQmxvY2sgIzIgKGJjIzIzKToKICAgICAgRXhlY3V0
aW9uIGNvdW50OiAxMC4wMDAwMDAKICAgICAgUHJlZGVjZXNzb3JzOiAjMQogICAgICBTdWNjZXNz
b3JzOiAjMwogICAgICBEb21pbmF0ZWQgYnk6ICNyb290ICMwICMxICMyCiAgICAgIERvbWluYXRl
czogIzIKICAgICAgRG9taW5hbmNlIEZyb250aWVyOiAjMwogICAgICBJdGVyYXRlZCBEb21pbmFu
Y2UgRnJvbnRpZXI6ICMxICMzICM3CiAgICAgIENvbnRhaW5pbmcgbG9vcCBoZWFkZXJzOiAjMQog
ICAgICBQaGkgTm9kZXM6IEAyMDA8YXJnMSwyPi0+KEAxNzQpLCBAMTc2PGxvYzIsMT4tPihAMTc3
KSwgQDE3MDxsb2MwLDE+LT4oQDE3MSksIEAxNzM8YXJnMiwxPi0+KEAxOTQpLCBAMTY2PHRoaXMs
MT4tPihAMTY3KQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MDJiMjguLi4weDMwNDAyYjkwCiAgICAgIDM4OjwhMjpsb2M0PglHZXRMb2NhbChVbnR5cGVk
OkAyMDAsIEpTfE11c3RHZW58VXNlQXNPdGhlciwgSW50MzIsIGFyZzEoQjxJbnQzMj4vRmx1c2hl
ZEludDMyKSwgbWFjaGluZTphcmcxLCBSOlN0YWNrKDUpLCBiYyMyMywgRXhpdFZhbGlkKSAgcHJl
ZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MDJiOTAuLi4weDMwNDAyYjk0CiAgICAgIDM5OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6
QDM4LCBNdXN0R2VuLCBsb2M0LCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMyMywgRXhp
dFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0
MDJiOTQuLi4weDMwNDAyYjk0CiAgICAgIDQwOjwgMTotPglTZXRMb2NhbChJbnQzMjpAMzgsIGxv
YzQoTTxJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFjaGluZTpsb2MyLCBXOlN0YWNrKC01KSwgYmMj
MjMsIGV4aXQ6IGJjIzI2LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIEludDMyCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMmI5NC4uLjB4MzA0MDJiOTgK
ICAgICAgNDE6PCEwOi0+CUp1bXAoTXVzdEdlbiwgVDojMywgVzpTaWRlU3RhdGUsIGJjIzI2LCBF
eGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MDQwMmI5OC4uLjB4MzA0MDJiZDAKICAgIEJsb2NrICMzIChiYyMyNik6CiAgICAgIEV4ZWN1dGlv
biBjb3VudDogMTAuMDAwMDAwCiAgICAgIFByZWRlY2Vzc29yczogIzEgIzIKICAgICAgU3VjY2Vz
c29yczogIzQgIzUKICAgICAgRG9taW5hdGVkIGJ5OiAjcm9vdCAjMCAjMSAjMwogICAgICBEb21p
bmF0ZXM6ICMzICM0ICM1ICM2CiAgICAgIERvbWluYW5jZSBGcm9udGllcjogIzEgIzcKICAgICAg
SXRlcmF0ZWQgRG9taW5hbmNlIEZyb250aWVyOiAjMSAjNwogICAgICBDb250YWluaW5nIGxvb3Ag
aGVhZGVyczogIzEKICAgICAgUGhpIE5vZGVzOiBAMTgwPGxvYzIsMz4tPihAMTc2LCBAMTc3KSwg
QDE4Nzxsb2M0LDM+LT4oQDQwLCBAMTc1KSwgQDE5NjxhcmcyLDM+LT4oQDE3MywgQDE5NCksIEAx
OTk8bG9jMCwyPi0+KEAxNzAsIEAxNzEpLCBAMTg2PGFyZzEsMj4tPihAMjAwLCBAMTc0KSwgQDE2
NTx0aGlzLDI+LT4oQDE2NiwgQDE2NykKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDAyYmQwLi4uMHgzMDQwMmMzOAogICAgICA0Mjo8ITE6bG9jND4JR2V0
TG9jYWwoVW50eXBlZDpAMTgwLCBKU3xNdXN0R2VufFVzZUFzT3RoZXIsIEludDMyLCBsb2MyKEw8
SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hpbmU6bG9jMSwgUjpTdGFjaygtMyksIGJjIzI2LCBF
eGl0VmFsaWQpICBwcmVkaWN0aW5nIEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWls
YWJsZSBmb3IgcmFuZ2UgMHgzMDQwMmMzOC4uLjB4MzA0MDJjM2MKICAgICAgNDM6PCExOmxvYzM+
CUdldExvY2FsKFVudHlwZWQ6QDE4NywgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBJbnQzMiwgbG9j
NChNPEludDMyPi9GbHVzaGVkSW50MzIpLCBtYWNoaW5lOmxvYzIsIFI6U3RhY2soLTUpLCBiYyMy
NiwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDJjM2MuLi4weDMwNDAyYzQwCiAgICAgIDQ0OjwhMjps
b2MzPglBcml0aEFkZChJbnQzMjpANDIsIEludDMyOkA0MywgSlN8TXVzdEdlbnxVc2VBc090aGVy
LCBJbnQzMiwgQ2hlY2tPdmVyZmxvdywgRXhpdHMsIGJjIzI2LCBFeGl0VmFsaWQpCiAgICAgICAg
ZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMmM0MC4uLjB4MzA0MDJj
YjQKICAgICAgNDU6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpANDQsIE11c3RHZW4sIGxvYzYsIFc6
U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzI2LCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyY2I0Li4uMHgzMDQwMmNiNAog
ICAgICA0Nzo8ITI6bG9jND4JR2V0TG9jYWwoVW50eXBlZDpAMTk2LCBKU3xNdXN0R2VufFVzZUFz
T3RoZXIsIFN0cmluZ1ZhciwgYXJnMihaPFN0cmluZz4vRmx1c2hlZENlbGwpLCBtYWNoaW5lOmFy
ZzIsIFI6U3RhY2soNiksIGJjIzMxLCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIFN0cmluZ1Zhcgog
ICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDJjYjQuLi4w
eDMwNDAyY2I4CiAgICAgMjAzOjwhMDotPglDaGVjayhDaGVjazpTdHJpbmc6QDQ3LCBNdXN0R2Vu
LCBFeGl0cywgYmMjMzEsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMwNDAyY2I4Li4uMHgzMDQwMmQxOAogICAgICA0ODo8IDI6bG9jND4J
R2V0QXJyYXlMZW5ndGgoS25vd25DZWxsOkA0NywgSlN8VXNlQXNPdGhlciwgTm9uQm9vbEludDMy
LCBTdHJpbmcrTm9uQXJyYXkrSW5Cb3VuZHMrQXNJcywgRXhpdHMsIGJjIzMxLCBFeGl0VmFsaWQp
CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMmQxOC4u
LjB4MzA0MDJkNTQKICAgICAgNDk6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpANDgsIE11c3RHZW4s
IGxvYzcsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzMxLCBFeGl0SW52YWxpZCkKICAg
ICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyZDU0Li4uMHgz
MDQwMmQ1NAogICAgICA1MTo8IDE6bG9jND4JQ29tcGFyZUxlc3MoSW50MzI6QDQ0LCBJbnQzMjpA
NDgsIEJvb2xlYW58VXNlQXNPdGhlciwgQm9vbCwgRXhpdHMsIGJjIzQwLCBFeGl0VmFsaWQpCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMmQ1NC4uLjB4
MzA0MDJkYjAKICAgICAgNTI6PCEwOi0+CUJyYW5jaChLbm93bkJvb2xlYW46QDUxLCBNdXN0R2Vu
LCBUOiM0L3c6MTAuMDAwMDAwLCBGOiM1L3c6MTAuMDAwMDAwLCBXOlNpZGVTdGF0ZSwgYmMjNDAs
IEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MDJkYjAuLi4weDMwNDAyZGIwCiAgICBCbG9jayAjNCAoYmMjNDQpOgogICAgICBFeGVj
dXRpb24gY291bnQ6IDEwLjAwMDAwMAogICAgICBQcmVkZWNlc3NvcnM6ICMzCiAgICAgIFN1Y2Nl
c3NvcnM6ICM2CiAgICAgIERvbWluYXRlZCBieTogI3Jvb3QgIzAgIzEgIzMgIzQKICAgICAgRG9t
aW5hdGVzOiAjNAogICAgICBEb21pbmFuY2UgRnJvbnRpZXI6ICM2CiAgICAgIEl0ZXJhdGVkIERv
bWluYW5jZSBGcm9udGllcjogIzEgIzYgIzcKICAgICAgQ29udGFpbmluZyBsb29wIGhlYWRlcnM6
ICMxCiAgICAgIFBoaSBOb2RlczogQDE5MTxsb2MwLDI+LT4oQDE5OSksIEAyMDE8YXJnMiwyPi0+
KEAxOTYpLCBAMTc4PGxvYzIsMT4tPihAMTgwKSwgQDE3OTxsb2M0LDI+LT4oQDE4NyksIEAxNjk8
YXJnMSwxPi0+KEAxODYpLCBAMTk3PHRoaXMsMT4tPihAMTY1KQogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDJkYjAuLi4weDMwNDAyZTE4CiAgICAgIDUz
OjwgMzpsb2M0PglKU0NvbnN0YW50KEpTfFVzZUFzT3RoZXIsIE90aGVyT2JqLCBXZWFrOk9iamVj
dDogMHgzMjZlYzBhMCB3aXRoIGJ1dHRlcmZseSAweDMyNjg0NGE4IChTdHJ1Y3R1cmUgJURrOmds
b2JhbCksIGJjIzQ0LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwMmUxOC4uLjB4MzA0MDJlMTgKICAgICAgNTQ6PCEwOi0+CU1vdkhp
bnQoVW50eXBlZDpANTMsIE11c3RHZW4sIGxvYzYsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQs
IGJjIzQ0LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwMmUxOC4uLjB4MzA0MDJlMTgKICAgICAyMTQ6PCEwOi0+CVBoYW50b21Mb2Nh
bChVbnR5cGVkOkAxOTEsIE11c3RHZW4sIGxvYzAoSn48T2JqZWN0Pi9GbHVzaGVkSlNWYWx1ZSks
IG1hY2hpbmU6bG9jMCwgVzpTaWRlU3RhdGUsIGJjIzQ0LCBFeGl0SW52YWxpZCkgIHByZWRpY3Rp
bmcgT3RoZXJPYmoKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDAyZTE4Li4uMHgzMDQwMmUxOAogICAgICA1OTo8IDI6bG9jMz4JR2V0R2xvYmFsVmFyKEpT
fFVzZUFzT3RoZXIsIE5vbkJvb2xJbnQzMiwgZ2xvYmFsKDB4MzAzZTUzNTgpLCBSOkFic29sdXRl
KDgwOTM5MDkzNiksIEV4aXRzLCBiYyM1MSwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBOb25Cb29s
SW50MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAy
ZTE4Li4uMHgzMDQwMmU2MAogICAgICA2MDo8ITA6LT4JTW92SGludChVbnR5cGVkOkA1OSwgTXVz
dEdlbiwgbG9jNywgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjNTEsIEV4aXRWYWxpZCkK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyZTYwLi4u
MHgzMDQwMmU2MAogICAgICA2Mjo8ITM6bG9jNT4JR2V0TG9jYWwoVW50eXBlZDpAMjAxLCBKU3xN
dXN0R2VufFVzZUFzT3RoZXIsIFN0cmluZ1ZhciwgYXJnMihaPFN0cmluZz4vRmx1c2hlZENlbGwp
LCBtYWNoaW5lOmFyZzIsIFI6U3RhY2soNiksIGJjIzU5LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5n
IFN0cmluZ1ZhcgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MDJlNjAuLi4weDMwNDAyZTY0CiAgICAgIDYzOjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDYy
LCBNdXN0R2VuLCBsb2MxMywgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjNTksIEV4aXRW
YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAy
ZTY0Li4uMHgzMDQwMmU2NAogICAgICA2Njo8ITA6LT4JQ2hlY2tTdHJ1Y3R1cmUoQ2VsbDpANjIs
IE11c3RHZW4sIFslQlU6c3RyaW5nXSwgUjpKU0NlbGxfc3RydWN0dXJlSUQsIEV4aXRzLCBiYyM2
MiwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MDJlNjQuLi4weDMwNDAyZWM4CiAgICAgIDY3OjwgMjpsb2M2PglKU0NvbnN0YW50KEpT
fFVzZUFzT3RoZXIsIEZ1bmN0aW9uLCBXZWFrOk9iamVjdDogMHgzMjZmNGRlMCB3aXRoIGJ1dHRl
cmZseSAweDMyNmQ4OWE4IChTdHJ1Y3R1cmUgJURQOkZ1bmN0aW9uKSwgYmMjNjIsIEV4aXRWYWxp
ZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyZWM4
Li4uMHgzMDQwMmVjOAogICAgICA2ODo8ITA6LT4JTW92SGludChVbnR5cGVkOkA2NywgTXVzdEdl
biwgbG9jOCwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjNjIsIEV4aXRWYWxpZCkKICAg
ICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyZWM4Li4uMHgz
MDQwMmVjOAogICAgICA3MDo8ITM6bG9jNz4JR2V0TG9jYWwoVW50eXBlZDpAMTc4LCBKU3xNdXN0
R2VufFVzZUFzT3RoZXIsIEludDMyLCBsb2MyKEw8SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hp
bmU6bG9jMSwgUjpTdGFjaygtMyksIGJjIzcxLCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIEludDMy
CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMmVjOC4u
LjB4MzA0MDJlY2MKICAgICAgNzE6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpANzAsIE11c3RHZW4s
IGxvYzEyLCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyM3MSwgRXhpdFZhbGlkKQogICAg
ICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDJlY2MuLi4weDMw
NDAyZWNjCiAgICAgIDczOjwhMTpsb2M4PglHZXRMb2NhbChVbnR5cGVkOkAxNzksIEpTfE11c3RH
ZW58VXNlQXNPdGhlciwgSW50MzIsIGxvYzQoTTxJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFjaGlu
ZTpsb2MyLCBSOlN0YWNrKC01KSwgYmMjNzQsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgSW50MzIK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyZWNjLi4u
MHgzMDQwMmVkMAogICAgICA3NDo8ITQ6bG9jOD4JQXJpdGhBZGQoSW50MzI6QDcwLCBJbnQzMjpA
NzMsIEpTfE11c3RHZW58VXNlQXNPdGhlciwgSW50MzIsIENoZWNrT3ZlcmZsb3csIEV4aXRzLCBi
YyM3NCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MDJlZDAuLi4weDMwNDAyZjQ0CiAgICAgIDc1OjwhMDotPglNb3ZIaW50KFVudHlw
ZWQ6QDc0LCBNdXN0R2VuLCBsb2MxMSwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjNzQs
IEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MDJmNDQuLi4weDMwNDAyZjQ0CiAgICAgIDc3OjwhMzpsb2M3PglEaXJlY3RDYWxsKFVu
dHlwZWQ6QDY3LCBVbnR5cGVkOkA2MiwgVW50eXBlZDpANzAsIFVudHlwZWQ6QDc0LCBKU3xNdXN0
R2VufFZhckFyZ3N8VXNlQXNPdGhlciwgU3RyaW5nVmFyLCA8MHgzMjZkMGU2MCwgTmF0aXZlRXhl
Y3V0YWJsZT4sIDxob3N0IGZ1bmN0aW9uPiwgUjpXb3JsZCwgVzpIZWFwLCBFeGl0cywgQ2xvYmJl
cnNFeGl0LCBiYyM3OSwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBTdHJpbmdWYXIKICAgICAgICBk
aXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAyZjQ0Li4uMHgzMDQwMzA3
OAogICAgICA3ODo8ITA6LT4JTW92SGludChVbnR5cGVkOkA3NywgTXVzdEdlbiwgbG9jOCwgVzpT
aWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjNzksIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDMwNzguLi4weDMwNDAzMDc4CiAg
ICAgMjEzOjwhMDotPglJbnZhbGlkYXRpb25Qb2ludChNdXN0R2VuLCBXOlNpZGVTdGF0ZSwgRXhp
dHMsIGJjIzc5LCBleGl0OiBiYyM4OCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDMwNzguLi4weDMwNDAzMGIwCiAgICAgMjA0Ojwh
MDotPglDaGVjayhDaGVjazpTdHJpbmc6QDc3LCBNdXN0R2VuLCBFeGl0cywgYmMjODgsIEV4aXRW
YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAz
MGIwLi4uMHgzMDQwMzEzNAogICAgICA4MDo8IDI6bG9jNz4JR2V0QXJyYXlMZW5ndGgoS25vd25D
ZWxsOkA3NywgSlN8VXNlQXNPdGhlciwgTm9uQm9vbEludDMyLCBTdHJpbmcrTm9uQXJyYXkrSW5C
b3VuZHMrQXNJcywgRXhpdHMsIGJjIzg4LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkg
bm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMzEzNC4uLjB4MzA0MDMxNzAKICAgICAgODE6
PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAODAsIE11c3RHZW4sIGxvYzksIFc6U2lkZVN0YXRlLCBD
bG9iYmVyc0V4aXQsIGJjIzg4LCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAzMTcwLi4uMHgzMDQwMzE3MAogICAgICA4Mzo8ITI6
bG9jMz4JQXJpdGhBZGQoSW50MzI6QDgwLCBDaGVjazpJbnQzMjpANTksIEpTfE11c3RHZW58VXNl
QXNPdGhlciwgSW50MzIsIENoZWNrT3ZlcmZsb3csIEV4aXRzLCBiYyM5NywgRXhpdFZhbGlkKQog
ICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDMxNzAuLi4w
eDMwNDAzMjEwCiAgICAgIDg0OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDgzLCBNdXN0R2VuLCBs
b2M3LCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyM5NywgRXhpdEludmFsaWQpCiAgICAg
ICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMzIxMC4uLjB4MzA0
MDMyMTAKICAgICAgODc6PCEwOi0+CVB1dEdsb2JhbFZhcmlhYmxlKENlbGw6QDUzLCBVbnR5cGVk
OkA4MywgTXVzdEdlbiwgZ2xvYmFsKDB4MzAzZTUzNTgpLCBXOkFic29sdXRlKDgwOTM5MDkzNiks
IEV4aXRzLCBDbG9iYmVyc0V4aXQsIGJjIzEwMiwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2Vt
Ymx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDMyMTAuLi4weDMwNDAzMjY0CiAgICAg
MjE4OjwhMDotPglGZW5jZWRTdG9yZUJhcnJpZXIoS25vd25DZWxsOkA1MywgTXVzdEdlbiwgUjpI
ZWFwLCBXOkpTQ2VsbF9jZWxsU3RhdGUsIGJjIzEwMiwgRXhpdEludmFsaWQpCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMzI2NC4uLjB4MzA0MDMzMmMK
ICAgICAgOTA6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpANzQsIE11c3RHZW4sIGxvYzIsIFc6U2lk
ZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzEwOSwgRXhpdEludmFsaWQpCiAgICAgICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMzMyYy4uLjB4MzA0MDMzMmMKICAg
ICAgOTE6PCAxOi0+CVNldExvY2FsKEludDMyOkA3NCwgbG9jMihMPEludDMyPi9GbHVzaGVkSW50
MzIpLCBtYWNoaW5lOmxvYzEsIFc6U3RhY2soLTMpLCBiYyMxMDksIGV4aXQ6IGJjIzExNCwgRXhp
dFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MDMzMmMuLi4weDMwNDAzMzM0CiAgICAgIDkyOjwhMDotPglKdW1w
KE11c3RHZW4sIFQ6IzYsIFc6U2lkZVN0YXRlLCBiYyMxMTQsIEV4aXRWYWxpZCkKICAgICAgICBk
aXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAzMzM0Li4uMHgzMDQwMzM4
YwogICAgQmxvY2sgIzUgKGJjIzExNik6CiAgICAgIEV4ZWN1dGlvbiBjb3VudDogMTAuMDAwMDAw
CiAgICAgIFByZWRlY2Vzc29yczogIzMKICAgICAgU3VjY2Vzc29yczogIzYKICAgICAgRG9taW5h
dGVkIGJ5OiAjcm9vdCAjMCAjMSAjMyAjNQogICAgICBEb21pbmF0ZXM6ICM1CiAgICAgIERvbWlu
YW5jZSBGcm9udGllcjogIzYKICAgICAgSXRlcmF0ZWQgRG9taW5hbmNlIEZyb250aWVyOiAjMSAj
NiAjNwogICAgICBDb250YWluaW5nIGxvb3AgaGVhZGVyczogIzEKICAgICAgUGhpIE5vZGVzOiBA
MjAyPGFyZzIsMj4tPihAMTk2KSwgQDE4MTxsb2MyLDE+LT4oQDE4MCksIEAxODQ8bG9jNCwyPi0+
KEAxODcpLCBAMTg4PGxvYzAsMj4tPihAMTk5KSwgQDE2ODxhcmcxLDE+LT4oQDE4NiksIEAxOTM8
dGhpcywxPi0+KEAxNjUpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFu
Z2UgMHgzMDQwMzM4Yy4uLjB4MzA0MDMzZjQKICAgICAgOTM6PCE1OmxvYzg+CUdldExvY2FsKFVu
dHlwZWQ6QDIwMiwgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBTdHJpbmdWYXIsIGFyZzIoWjxTdHJp
bmc+L0ZsdXNoZWRDZWxsKSwgbWFjaGluZTphcmcyLCBSOlN0YWNrKDYpLCBiYyMxMTYsIEV4aXRW
YWxpZCkgIHByZWRpY3RpbmcgU3RyaW5nVmFyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWls
YWJsZSBmb3IgcmFuZ2UgMHgzMDQwMzNmNC4uLjB4MzA0MDMzZjgKICAgICAgOTQ6PCEwOi0+CU1v
dkhpbnQoVW50eXBlZDpAOTMsIE11c3RHZW4sIGxvYzksIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4
aXQsIGJjIzExNiwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MDMzZjguLi4weDMwNDAzM2Y4CiAgICAgIDk3OjwhMDotPglDaGVja1N0
cnVjdHVyZShDZWxsOkA5MywgTXVzdEdlbiwgWyVCVTpzdHJpbmddLCBSOkpTQ2VsbF9zdHJ1Y3R1
cmVJRCwgRXhpdHMsIGJjIzExOSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDMzZjguLi4weDMwNDAzNDVjCiAgICAgIDk4OjwgNDps
b2M3PglKU0NvbnN0YW50KEpTfFVzZUFzT3RoZXIsIEZ1bmN0aW9uLCBXZWFrOk9iamVjdDogMHgz
MjZmNGRlMCB3aXRoIGJ1dHRlcmZseSAweDMyNmQ4OWE4IChTdHJ1Y3R1cmUgJURQOkZ1bmN0aW9u
KSwgYmMjMTE5LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQwMzQ1Yy4uLjB4MzA0MDM0NWMKICAgICAgOTk6PCEwOi0+CU1vdkhpbnQo
VW50eXBlZDpAOTgsIE11c3RHZW4sIGxvYzYsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJj
IzExOSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MDM0NWMuLi4weDMwNDAzNDVjCiAgICAgMTAxOjwhMjpsb2M2PglHZXRMb2NhbChV
bnR5cGVkOkAxODEsIEpTfE11c3RHZW58VXNlQXNPdGhlciwgSW50MzIsIGxvYzIoTDxJbnQzMj4v
Rmx1c2hlZEludDMyKSwgbWFjaGluZTpsb2MxLCBSOlN0YWNrKC0zKSwgYmMjMTI4LCBFeGl0VmFs
aWQpICBwcmVkaWN0aW5nIEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQwMzQ1Yy4uLjB4MzA0MDM0NjAKICAgICAxMDI6PCEwOi0+CU1vdkhpbnQo
VW50eXBlZDpAMTAxLCBNdXN0R2VuLCBsb2M4LCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBi
YyMxMjgsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMwNDAzNDYwLi4uMHgzMDQwMzQ2MAogICAgIDEwNDo8ITQ6bG9jNj4JRGlyZWN0Q2Fs
bChVbnR5cGVkOkA5OCwgVW50eXBlZDpAOTMsIFVudHlwZWQ6QDEwMSwgSlN8TXVzdEdlbnxWYXJB
cmdzfFVzZUFzT3RoZXIsIFN0cmluZ1ZhciwgPDB4MzI2ZDBlNjAsIE5hdGl2ZUV4ZWN1dGFibGU+
LCA8aG9zdCBmdW5jdGlvbj4sIFI6V29ybGQsIFc6SGVhcCwgRXhpdHMsIENsb2JiZXJzRXhpdCwg
YmMjMTMxLCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIFN0cmluZ1ZhcgogICAgICAgIGRpc2Fzc2Vt
Ymx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDM0NjAuLi4weDMwNDAzNTg4CiAgICAg
MTA1OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDEwNCwgTXVzdEdlbiwgbG9jMywgVzpTaWRlU3Rh
dGUsIENsb2JiZXJzRXhpdCwgYmMjMTMxLCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJs
eSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAzNTg4Li4uMHgzMDQwMzU4OAogICAgIDIx
MTo8ITA6LT4JSW52YWxpZGF0aW9uUG9pbnQoTXVzdEdlbiwgVzpTaWRlU3RhdGUsIEV4aXRzLCBi
YyMxMzEsIGV4aXQ6IGJjIzE0MCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDM1ODguLi4weDMwNDAzNWMwCiAgICAgMjA2OjwhMDot
PglDaGVjayhDaGVjazpTdHJpbmc6QDEwNCwgTXVzdEdlbiwgRXhpdHMsIGJjIzE0MCwgRXhpdFZh
bGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDM1
YzAuLi4weDMwNDAzNjQ0CiAgICAgMTA3OjwgMjpsb2M1PglHZXRBcnJheUxlbmd0aChLbm93bkNl
bGw6QDEwNCwgSlMsIE5vbkJvb2xJbnQzMiwgU3RyaW5nK05vbkFycmF5K0luQm91bmRzK0FzSXMs
IEV4aXRzLCBiYyMxNDAsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMwNDAzNjQ0Li4uMHgzMDQwMzY4MAogICAgIDEwODo8ITA6LT4JTW92
SGludChVbnR5cGVkOkAxMDcsIE11c3RHZW4sIGxvYzYsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4
aXQsIGJjIzE0MCwgRXhpdEludmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwMzY4MC4uLjB4MzA0MDM2ODAKICAgICAxMTA6PCExOmxvYzQ+CUdl
dExvY2FsKFVudHlwZWQ6QDE4NCwgSlN8TXVzdEdlbiwgSW50MzIsIGxvYzQoTTxJbnQzMj4vRmx1
c2hlZEludDMyKSwgbWFjaGluZTpsb2MyLCBSOlN0YWNrKC01KSwgYmMjMTQ5LCBFeGl0VmFsaWQp
ICBwcmVkaWN0aW5nIEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwMzY4MC4uLjB4MzA0MDM2ODQKICAgICAxMTE6PCE0OmxvYzU+CUFyaXRoU3Vi
KEludDMyOkAxMTAsIEludDMyOkAxMDcsIE51bWJlcnxNdXN0R2VufFVzZUFzT3RoZXIsIEludDMy
LCBDaGVja092ZXJmbG93LCBFeGl0cywgYmMjMTQ5LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMzY4NC4uLjB4MzA0MDM2ZjgKICAg
ICAxMTI6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMTExLCBNdXN0R2VuLCBsb2MyLCBXOlNpZGVT
dGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMxNDksIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2Vt
Ymx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDM2ZjguLi4weDMwNDAzNmY4CiAgICAg
MTEzOjwgMTotPglTZXRMb2NhbChJbnQzMjpAMTExLCBsb2MyKEw8SW50MzI+L0ZsdXNoZWRJbnQz
MiksIG1hY2hpbmU6bG9jMSwgVzpTdGFjaygtMyksIGJjIzE0OSwgZXhpdDogYmMjMTU0LCBFeGl0
VmFsaWQpICBwcmVkaWN0aW5nIEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwMzZmOC4uLjB4MzA0MDM2ZmMKICAgICAxMTQ6PCAzOmxvYzQ+CUpT
Q29uc3RhbnQoSlN8VXNlQXNPdGhlciwgT3RoZXJPYmosIFdlYWs6T2JqZWN0OiAweDMyNmVjMGEw
IHdpdGggYnV0dGVyZmx5IDB4MzI2ODQ0YTggKFN0cnVjdHVyZSAlRGs6Z2xvYmFsKSwgYmMjMTU0
LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2Ug
MHgzMDQwMzZmYy4uLjB4MzA0MDM2ZmMKICAgICAxMTU6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpA
MTE0LCBNdXN0R2VuLCBsb2M2LCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMxNTQsIEV4
aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMw
NDAzNmZjLi4uMHgzMDQwMzZmYwogICAgIDIxNTo8ITA6LT4JUGhhbnRvbUxvY2FsKFVudHlwZWQ6
QDE4OCwgTXVzdEdlbiwgbG9jMChKfjxPYmplY3Q+L0ZsdXNoZWRKU1ZhbHVlKSwgbWFjaGluZTps
b2MwLCBXOlNpZGVTdGF0ZSwgYmMjMTU0LCBFeGl0SW52YWxpZCkgIHByZWRpY3RpbmcgT3RoZXJP
YmoKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAzNmZj
Li4uMHgzMDQwMzZmYwogICAgIDEyMDo8IDI6bG9jMz4JR2V0R2xvYmFsVmFyKEpTfFVzZUFzT3Ro
ZXIsIE5vbkJvb2xJbnQzMiwgZ2xvYmFsKDB4MzAzZTUzNTgpLCBSOkFic29sdXRlKDgwOTM5MDkz
NiksIEV4aXRzLCBiYyMxNjEsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgTm9uQm9vbEludDMyCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMzZmYy4uLjB4
MzA0MDM3NDQKICAgICAxMjE6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMTIwLCBNdXN0R2VuLCBs
b2M3LCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMxNjEsIEV4aXRWYWxpZCkKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAzNzQ0Li4uMHgzMDQw
Mzc0NAogICAgIDEyMzo8ITA6LT4JTW92SGludChVbnR5cGVkOkA5MywgTXVzdEdlbiwgbG9jMTMs
IFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzE2OSwgRXhpdFZhbGlkKQogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDM3NDQuLi4weDMwNDAzNzQ0
CiAgICAgMTI4OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDk4LCBNdXN0R2VuLCBsb2M4LCBXOlNp
ZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMxNzIsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAzNzQ0Li4uMHgzMDQwMzc0NAogICAg
IDEzMDo8IDI6bG9jOT4JSlNDb25zdGFudChKU3xVc2VBc090aGVyLCBCb29sSW50MzIsIEludDMy
OiAwLCBiYyMxODEsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDAzNzQ0Li4uMHgzMDQwMzc0NAogICAgIDEzMTo8ITA6LT4JTW92SGlu
dChVbnR5cGVkOkAxMzAsIE11c3RHZW4sIGxvYzEyLCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0
LCBiYyMxODEsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZv
ciByYW5nZSAweDMwNDAzNzQ0Li4uMHgzMDQwMzc0NAogICAgIDEzMzo8ITA6LT4JTW92SGludChV
bnR5cGVkOkAxMTEsIE11c3RHZW4sIGxvYzExLCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBi
YyMxODQsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMwNDAzNzQ0Li4uMHgzMDQwMzc0NAogICAgIDEzNTo8ITM6bG9jNT4JRGlyZWN0Q2Fs
bChVbnR5cGVkOkA5OCwgVW50eXBlZDpAOTMsIFVudHlwZWQ6QDEzMCwgVW50eXBlZDpAMTExLCBK
U3xNdXN0R2VufFZhckFyZ3N8VXNlQXNPdGhlciwgU3RyaW5nVmFyLCA8MHgzMjZkMGU2MCwgTmF0
aXZlRXhlY3V0YWJsZT4sIDxob3N0IGZ1bmN0aW9uPiwgUjpXb3JsZCwgVzpIZWFwLCBFeGl0cywg
Q2xvYmJlcnNFeGl0LCBiYyMxODcsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgU3RyaW5nVmFyCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMzc0NC4uLjB4
MzA0MDM4ODQKICAgICAxMzY6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMTM1LCBNdXN0R2VuLCBs
b2M4LCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMxODcsIEV4aXRJbnZhbGlkKQogICAg
ICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDM4ODQuLi4weDMw
NDAzODg0CiAgICAgMjEyOjwhMDotPglJbnZhbGlkYXRpb25Qb2ludChNdXN0R2VuLCBXOlNpZGVT
dGF0ZSwgRXhpdHMsIGJjIzE4NywgZXhpdDogYmMjMTk2LCBFeGl0VmFsaWQpCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwMzg4NC4uLjB4MzA0MDM4YmMK
ICAgICAyMDg6PCEwOi0+CUNoZWNrKENoZWNrOlN0cmluZzpAMTM1LCBNdXN0R2VuLCBFeGl0cywg
YmMjMTk2LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwMzhiYy4uLjB4MzA0MDM5NDAKICAgICAxMzg6PCAyOmxvYzU+CU1ha2VSb3Bl
KEtub3duU3RyaW5nOkAxMDQsIEtub3duU3RyaW5nOkAxMzUsIEpTfFB1cmVJbnQsIFN0cmluZywg
RXhpdHMsIGJjIzE5NiwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MDM5NDAuLi4weDMwNDAzYjJjCiAgICAgMTM5OjwhMDotPglNb3ZI
aW50KFVudHlwZWQ6QDEzOCwgTXVzdEdlbiwgbG9jOSwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhp
dCwgYmMjMTk2LCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDAzYjJjLi4uMHgzMDQwM2IyYwogICAgIDE0MTo8IDI6bG9jNT4JR2V0
QXJyYXlMZW5ndGgoS25vd25DZWxsOkAxMzgsIEpTfFVzZUFzT3RoZXIsIE5vbkJvb2xJbnQzMiwg
U3RyaW5nK05vbkFycmF5K0luQm91bmRzK0FzSXMsIEV4aXRzLCBiYyMyMDEsIEV4aXRWYWxpZCkK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAzYjJjLi4u
MHgzMDQwM2I2OAogICAgIDE0Mjo8ITA6LT4JTW92SGludChVbnR5cGVkOkAxNDEsIE11c3RHZW4s
IGxvYzEwLCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMyMDEsIEV4aXRJbnZhbGlkKQog
ICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDNiNjguLi4w
eDMwNDAzYjY4CiAgICAgMTQ0OjwhMjpsb2M1PglBcml0aEFkZChDaGVjazpJbnQzMjpAMTIwLCBJ
bnQzMjpAMTQxLCBKU3xNdXN0R2VufFVzZUFzT3RoZXIsIEludDMyLCBDaGVja092ZXJmbG93LCBF
eGl0cywgYmMjMjEwLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwM2I2OC4uLjB4MzA0MDNjMDgKICAgICAxNDU6PCEwOi0+CU1vdkhp
bnQoVW50eXBlZDpAMTQ0LCBNdXN0R2VuLCBsb2M3LCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0
LCBiYyMyMTAsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MDNjMDguLi4weDMwNDAzYzA4CiAgICAgMTQ4OjwhMDotPglQdXRHbG9i
YWxWYXJpYWJsZShDZWxsOkAxMTQsIFVudHlwZWQ6QDE0NCwgTXVzdEdlbiwgZ2xvYmFsKDB4MzAz
ZTUzNTgpLCBXOkFic29sdXRlKDgwOTM5MDkzNiksIEV4aXRzLCBDbG9iYmVyc0V4aXQsIGJjIzIx
NSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MDNjMDguLi4weDMwNDAzYzVjCiAgICAgMjE5OjwhMDotPglGZW5jZWRTdG9yZUJhcnJp
ZXIoS25vd25DZWxsOkAxMTQsIE11c3RHZW4sIFI6SGVhcCwgVzpKU0NlbGxfY2VsbFN0YXRlLCBi
YyMyMTUsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MDNjNWMuLi4weDMwNDAzZDI0CiAgICAgMTUwOjwhMDotPglKdW1wKE11c3RH
ZW4sIFQ6IzYsIFc6U2lkZVN0YXRlLCBiYyMyMjIsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAzZDI0Li4uMHgzMDQwM2Q1YwogICAg
QmxvY2sgIzYgKGJjIzIyMik6CiAgICAgIEV4ZWN1dGlvbiBjb3VudDogMTAuMDAwMDAwCiAgICAg
IFByZWRlY2Vzc29yczogIzQgIzUKICAgICAgU3VjY2Vzc29yczogIzEgIzcKICAgICAgRG9taW5h
dGVkIGJ5OiAjcm9vdCAjMCAjMSAjMyAjNgogICAgICBEb21pbmF0ZXM6ICM2CiAgICAgIERvbWlu
YW5jZSBGcm9udGllcjogIzEgIzcKICAgICAgSXRlcmF0ZWQgRG9taW5hbmNlIEZyb250aWVyOiAj
MSAjNwogICAgICBDb250YWluaW5nIGxvb3AgaGVhZGVyczogIzEKICAgICAgUGhpIE5vZGVzOiBA
MTg5PGFyZzEsMj4tPihAMTY4LCBAMTY5KSwgQDE5Mjxsb2M0LDI+LT4oQDE4NCwgQDE3OSksIEAx
OTU8bG9jMiwxPi0+KEAxMTMsIEA5MSksIEAxNzI8bG9jMCwxPi0+KEAxODgsIEAxOTEpLCBAMTk4
PGFyZzIsMj4tPihAMjAyLCBAMjAxKSwgQDE5MDx0aGlzLDI+LT4oQDE5MywgQDE5NykKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAzZDVjLi4uMHgzMDQw
M2RjNAogICAgIDE1MTo8ITE6bG9jOT4JR2V0TG9jYWwoVW50eXBlZDpAMTg5LCBKU3xNdXN0R2Vu
LCBJbnQzMiwgYXJnMShCPEludDMyPi9GbHVzaGVkSW50MzIpLCBtYWNoaW5lOmFyZzEsIFI6U3Rh
Y2soNSksIGJjIzIyMiwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDNkYzQuLi4weDMwNDAzZGM4CiAg
ICAgMTUyOjwhMTpsb2M4PglHZXRMb2NhbChVbnR5cGVkOkAxOTIsIEpTfE11c3RHZW4sIEludDMy
LCBsb2M0KE08SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hpbmU6bG9jMiwgUjpTdGFjaygtNSks
IGJjIzIyMiwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDNkYzguLi4weDMwNDAzZGNjCiAgICAgMTUz
OjwhMzpsb2M4PglBcml0aFN1YihJbnQzMjpAMTUxLCBJbnQzMjpAMTUyLCBOdW1iZXJ8TXVzdEdl
bnxVc2VBc090aGVyLCBJbnQzMiwgQ2hlY2tPdmVyZmxvdywgRXhpdHMsIGJjIzIyMiwgRXhpdFZh
bGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDNk
Y2MuLi4weDMwNDAzZTQwCiAgICAgMTU0OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDE1MywgTXVz
dEdlbiwgYXJnMSwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMjIyLCBFeGl0SW52YWxp
ZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAzZTQw
Li4uMHgzMDQwM2U0MAogICAgIDE1NTo8ITA6LT4JRmx1c2goVW50eXBlZDpAMTg5LCBNdXN0R2Vu
fElzRmx1c2hlZCwgYXJnMShCPEludDMyPi9GbHVzaGVkSW50MzIpLCBtYWNoaW5lOmFyZzEsIFI6
U3RhY2soNSksIFc6U2lkZVN0YXRlLCBiYyMyMjIsIGV4aXQ6IGJjIzIyNywgRXhpdFZhbGlkKSAg
cHJlZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MDNlNDAuLi4weDMwNDAzZTQwCiAgICAgMTU2OjwgMjotPglTZXRMb2NhbChJbnQz
MjpAMTUzLCBJc0ZsdXNoZWQsIGFyZzEoQjxJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFjaGluZTph
cmcxLCBXOlN0YWNrKDUpLCBiYyMyMjIsIGV4aXQ6IGJjIzIyNywgRXhpdFZhbGlkKSAgcHJlZGlj
dGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MDNlNDAuLi4weDMwNDAzZTQ0CiAgICAgMTU3OjwgMTpsb2M5PglKU0NvbnN0YW50KEpTfFVz
ZUFzT3RoZXIsIEJvb2xJbnQzMiwgSW50MzI6IDAsIGJjIzIyNywgRXhpdFZhbGlkKQogICAgICAg
IGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDNlNDQuLi4weDMwNDAz
ZTQ0CiAgICAgMTU4OjwgMTpsb2M5PglDb21wYXJlR3JlYXRlcihJbnQzMjpAMTUzLCBJbnQzMjpA
MTU3LCBCb29sZWFufFVzZUFzT3RoZXIsIEJvb2wsIEV4aXRzLCBiYyMyMjcsIEV4aXRWYWxpZCkK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAzZTQ0Li4u
MHgzMDQwM2VhNAogICAgIDE1OTo8ITA6LT4JQnJhbmNoKEtub3duQm9vbGVhbjpAMTU4LCBNdXN0
R2VuLCBUOiMxL3c6MTAuMDAwMDAwLCBGOiM3L3c6MS4wMDAwMDAsIFc6U2lkZVN0YXRlLCBiYyMy
MjcsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MDNlYTQuLi4weDMwNDAzZWE0CiAgICBCbG9jayAjNyAoYmMjMjMxKToKICAgICAg
RXhlY3V0aW9uIGNvdW50OiAxLjAwMDAwMAogICAgICBQcmVkZWNlc3NvcnM6ICMwICM2CiAgICAg
IFN1Y2Nlc3NvcnM6CiAgICAgIERvbWluYXRlZCBieTogI3Jvb3QgIzAgIzcKICAgICAgRG9taW5h
dGVzOiAjNwogICAgICBEb21pbmFuY2UgRnJvbnRpZXI6IAogICAgICBJdGVyYXRlZCBEb21pbmFu
Y2UgRnJvbnRpZXI6IAogICAgICBQaGkgTm9kZXM6IEAxODI8YXJnMiwxPi0+KEAxOTgsIEAyKSwg
QDE4MzxhcmcxLDE+LT4oQDE1NiwgQDEpLCBAMTg1PHRoaXMsMT4tPihAMTkwLCBAMCkKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAzZWE0Li4uMHgzMDQw
M2YwYwogICAgIDE2MDo8IDE6bG9jOT4JSlNDb25zdGFudChKU3xVc2VBc090aGVyLCBPdGhlciwg
VW5kZWZpbmVkLCBiYyMyMzEsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZh
aWxhYmxlIGZvciByYW5nZSAweDMwNDAzZjBjLi4uMHgzMDQwM2YwYwogICAgIDE2MTo8ITA6LT4J
UmV0dXJuKFVudHlwZWQ6QDE2MCwgTXVzdEdlbiwgVzpTaWRlU3RhdGUsIEV4aXRzLCBiYyMyMzEs
IEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDAzZjBjLi4uMHgzMDQwM2Y3YwogICAgIDE2Mjo8ITA6LT4JRmx1c2goQ2hlY2s6VW50eXBl
ZDpAMTgyLCBNdXN0R2VufElzRmx1c2hlZCwgYXJnMihaPFN0cmluZz4vRmx1c2hlZENlbGwpLCBt
YWNoaW5lOmFyZzIsIFI6U3RhY2soNiksIFc6U2lkZVN0YXRlLCBiYyMyMzEsIEV4aXRWYWxpZCkg
IHByZWRpY3RpbmcgU3RyaW5nVmFyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQwM2Y3Yy4uLjB4MzA0MDNmN2MKICAgICAxNjM6PCEwOi0+CUZsdXNoKENo
ZWNrOlVudHlwZWQ6QDE4MywgTXVzdEdlbnxJc0ZsdXNoZWQsIGFyZzEoQjxJbnQzMj4vRmx1c2hl
ZEludDMyKSwgbWFjaGluZTphcmcxLCBSOlN0YWNrKDUpLCBXOlNpZGVTdGF0ZSwgYmMjMjMxLCBF
eGl0VmFsaWQpICBwcmVkaWN0aW5nIEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWls
YWJsZSBmb3IgcmFuZ2UgMHgzMDQwM2Y3Yy4uLjB4MzA0MDNmN2MKICAgICAxNjQ6PCEwOi0+CVBo
YW50b21Mb2NhbChDaGVjazpVbnR5cGVkOkAxODUsIE11c3RHZW4sIHRoaXMoYSksIG1hY2hpbmU6
dGhpcywgVzpTaWRlU3RhdGUsIGJjIzIzMSwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBPdGhlck9i
agogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDNmN2Mu
Li4weDMwNDAzZjdjCiAgICAoRW5kIE9mIE1haW4gUGF0aCkKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDAzZjdjLi4uMHgzMDQwNGI1OAogICAgU3RydWN0
dXJlczoKICAgICAgICAlQlU6c3RyaW5nICAgICAgICAgICAgICAgICAgICAgPSAweDMyNmY4MTkw
OltzdHJpbmcsIHt9LCBOb25BcnJheSwgTGVhZl0KICAgICAgICAlRDg6SlNHbG9iYWxMZXhpY2Fs
RW52aXJvbm1lbnQgPSAweDMyNmY5MTMwOltKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudCwge30s
IE5vbkFycmF5LCBMZWFmXQogICAgICAgICVEUDpGdW5jdGlvbiAgICAgICAgICAgICAgICAgICA9
IDB4MzI2ZjkzMTA6W0Z1bmN0aW9uLCB7bmFtZToxMDAsIGxlbmd0aDoxMDF9LCBOb25BcnJheSwg
UHJvdG86MHgzMjZkYzBhMCwgTGVhZl0KICAgICAgICAlRGs6Z2xvYmFsICAgICAgICAgICAgICAg
ICAgICAgPSAweDMyNjljYWEwOltnbG9iYWwsIHtwYXJzZUludDoxMDAsIHBhcnNlRmxvYXQ6MTAx
LCBPYmplY3Q6MTAyLCBGdW5jdGlvbjoxMDMsIEFycmF5OjEwNCwgUmVnRXhwOjEwNSwgUmFuZ2VF
cnJvcjoxMDYsIFR5cGVFcnJvcjoxMDcsIFByaXZhdGVTeW1ib2wuT2JqZWN0OjEwOCwgUHJpdmF0
ZVN5bWJvbC5BcnJheToxMDksIEFycmF5QnVmZmVyOjExMCwgU2hhcmVkQXJyYXlCdWZmZXI6MTEx
LCBTdHJpbmc6MTEyLCBTeW1ib2w6MTEzLCBOdW1iZXI6MTE0LCBCb29sZWFuOjExNSwgRXJyb3I6
MTE2LCBNYXA6MTE3LCBTZXQ6MTE4LCBQcm9taXNlOjExOSwgZXZhbDoxMjAsIEludGw6MTIxLCBS
ZWZsZWN0OjEyMiwgZGVidWc6MTIzLCBkZXNjcmliZToxMjQsIGRlc2NyaWJlQXJyYXk6MTI1LCBw
cmludDoxMjYsIHByaW50RXJyOjEyNywgcXVpdDoxMjgsIGdjOjEyOSwgZnVsbEdDOjEzMCwgZWRl
bkdDOjEzMSwgZm9yY2VHQ1Nsb3dQYXRoczoxMzIsIGdjSGVhcFNpemU6MTMzLCBhZGRyZXNzT2Y6
MTM0LCBkdW1wQ2FsbEZyYW1lOjEzNSwgdmVyc2lvbjoxMzYsIHJ1bjoxMzcsIHJ1blN0cmluZzox
MzgsIGxvYWQ6MTM5LCBsb2FkU3RyaW5nOjE0MCwgcmVhZEZpbGU6MTQxLCByZWFkOjE0MiwgY2hl
Y2tTeW50YXg6MTQzLCBzbGVlcFNlY29uZHM6MTQ0LCBqc2NTdGFjazoxNDUsIHJlYWRsaW5lOjE0
NiwgcHJlY2lzZVRpbWU6MTQ3LCBuZXZlcklubGluZUZ1bmN0aW9uOjE0OCwgbm9JbmxpbmU6MTQ5
LCBub0RGRzoxNTAsIG5vRlRMOjE1MSwgbm9PU1JFeGl0RnV6emluZzoxNTIsIG51bWJlck9mREZH
Q29tcGlsZXM6MTUzLCBqc2NPcHRpb25zOjE1NCwgb3B0aW1pemVOZXh0SW52b2NhdGlvbjoxNTUs
IHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudDoxNTYsIHRyYW5zZmVyQXJyYXlCdWZmZXI6MTU3LCBm
YWlsTmV4dE5ld0NvZGVCbG9jazoxNTgsIERGR1RydWU6MTU5LCBPU1JFeGl0OjE2MCwgaXNGaW5h
bFRpZXI6MTYxLCBwcmVkaWN0SW50MzI6MTYyLCBpc0ludDMyOjE2MywgZmlhdEludDUyOjE2NCwg
ZWZmZWN0ZnVsNDI6MTY1LCBtYWtlTWFzcXVlcmFkZXI6MTY2LCBoYXNDdXN0b21Qcm9wZXJ0aWVz
OjE2NywgY3JlYXRlR2xvYmFsT2JqZWN0OjE2OCwgZHVtcFR5cGVzRm9yQWxsVmFyaWFibGVzOjE2
OSwgZHJhaW5NaWNyb3Rhc2tzOjE3MCwgZ2V0UmFuZG9tU2VlZDoxNzEsIHNldFJhbmRvbVNlZWQ6
MTcyLCBpc1JvcGU6MTczLCBjYWxsZXJTb3VyY2VPcmlnaW46MTc0LCBpczMyQml0UGxhdGZvcm06
MTc1LCBsb2FkTW9kdWxlOjE3NiwgY2hlY2tNb2R1bGVTeW50YXg6MTc3LCBwbGF0Zm9ybVN1cHBv
cnRzU2FtcGxpbmdQcm9maWxlcjoxNzgsIGdlbmVyYXRlSGVhcFNuYXBzaG90OjE3OSwgcmVzZXRT
dXBlclNhbXBsZXJTdGF0ZToxODAsIGVuc3VyZUFycmF5U3RvcmFnZToxODEsIHN0YXJ0U2FtcGxp
bmdQcm9maWxlcjoxODIsIHNhbXBsaW5nUHJvZmlsZXJTdGFja1RyYWNlczoxODMsIG1heEFyZ3Vt
ZW50czoxODQsIGFzeW5jVGVzdFN0YXJ0OjE4NSwgYXN5bmNUZXN0UGFzc2VkOjE4NiwgY29uc29s
ZToxODcsICQ6MTg4LCAkMjYyOjE4OSwgd2FpdEZvclJlcG9ydDoxOTAsIGhlYXBDYXBhY2l0eTox
OTEsIGZsYXNoSGVhcEFjY2VzczoxOTJ9LCBOb25BcnJheSwgUHJvdG86MHgzMjZjMDBhMCwgRGlj
dGlvbmFyeSwgTGVhZl0KR2VuZXJhdGVkIEpJVCBjb2RlIGZvciBERkcgT1NSIGVudHJ5IHRodW5r
OgogICAgQ29kZSBhdCBbMHgzMDQwNGI2MCwgMHgzMDQwNGMyMCk6CiAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA0YjYwLi4uMHgzMDQwNGMyMApMaW5raW5nIGNh
bGwgaW4gZmFzdGFSZXBlYXQjQlk4enNZOlsweDMyNjc4M2MwLT4weDMyNjc4MjMwLT4weDMyNmNi
NmEwLCBERkdGdW5jdGlvbkNhbGwsIDIzMyAoRGlkVHJ5VG9FbnRlckluTG9vcCldIGJjIzc5IHRv
IChudWxsKSwgZW50cnlwb2ludCBhdCBDb2RlUHRyKDB4MzA0MDExYzApCkxpbmtpbmcgY2FsbCBp
biBmYXN0YVJlcGVhdCNCWTh6c1k6WzB4MzI2NzgzYzAtPjB4MzI2NzgyMzAtPjB4MzI2Y2I2YTAs
IERGR0Z1bmN0aW9uQ2FsbCwgMjMzIChEaWRUcnlUb0VudGVySW5Mb29wKV0gYmMjMTMxIHRvIChu
dWxsKSwgZW50cnlwb2ludCBhdCBDb2RlUHRyKDB4MzA0MDExYzApCkxpbmtpbmcgY2FsbCBpbiBm
YXN0YVJlcGVhdCNCWTh6c1k6WzB4MzI2NzgzYzAtPjB4MzI2NzgyMzAtPjB4MzI2Y2I2YTAsIERG
R0Z1bmN0aW9uQ2FsbCwgMjMzIChEaWRUcnlUb0VudGVySW5Mb29wKV0gYmMjMTg3IHRvIChudWxs
KSwgZW50cnlwb2ludCBhdCBDb2RlUHRyKDB4MzA0MDExYzApCkdlbmVyYXRlZCBCYXNlbGluZSBK
SVQgY29kZSBmb3IgcmFuZCNEV3ZURDI6WzB4MzI2Nzg4NzAtPjB4MzI2Y2I1YTAsIEJhc2VsaW5l
RnVuY3Rpb25DYWxsLCAxMzddLCBpbnN0cnVjdGlvbiBjb3VudCA9IDEzNwogICBTb3VyY2U6IGZ1
bmN0aW9uIHJhbmQobWF4KSB7IGxhc3QgPSAobGFzdCAqIEEgKyBDKSAlIE07IHJldHVybiBtYXgg
KiBsYXN0IC8gTTsgfQogICBDb2RlIGF0IFsweDMwNDA0YzIwLCAweDMwNDA1YmMwKToKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA0YzIwLi4uMHgzMDQw
NGQxYwogICAgWyAgIDBdIGVudGVyICAgICAgICAgICAgIAogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDRkMWMuLi4weDMwNDA0ZTc4CiAgICBbICAgMV0g
Z2V0X3Njb3BlICAgICAgICAgbG9jMAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MDRlNzguLi4weDMwNDA0ZThjCiAgICBbICAgM10gbW92ICAgICAgICAg
ICAgICAgbG9jMSwgbG9jMAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MDRlOGMuLi4weDMwNDA0ZTljCiAgICBbICAgNl0gY2hlY2tfdHJhcHMgICAgICAg
CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNGU5Yy4u
LjB4MzA0MDRlZDAKICAgIFsgICA3XSByZXNvbHZlX3Njb3BlICAgICBsb2MzLCBsb2MwLCBsYXN0
KEBpZDApLCA8R2xvYmFsVmFyPiwgMSwgMHgzMjZlYzBhMAogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDRlZDAuLi4weDMwNDA0ZWU0CiAgICBbICAxNF0g
cmVzb2x2ZV9zY29wZSAgICAgbG9jNCwgbG9jMCwgbGFzdChAaWQwKSwgPEdsb2JhbFZhcj4sIDEs
IDB4MzI2ZWMwYTAKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDA0ZWU0Li4uMHgzMDQwNGVmOAogICAgWyAgMjFdIGdldF9mcm9tX3Njb3BlICAgIGxvYzUs
IGxvYzQsIGxhc3QoQGlkMCksIDIwNDk8VGhyb3dJZk5vdEZvdW5kfEdsb2JhbFZhcnxOb3RJbml0
aWFsaXphdGlvbj4sIDgwOTM5MDk0NCAgICBwcmVkaWN0aW5nIE5vbkJvb2xJbnQzMgogICAgICAg
IGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDRlZjguLi4weDMwNDA0
ZjMwCiAgICBbICAyOV0gcmVzb2x2ZV9zY29wZSAgICAgbG9jNiwgbG9jMCwgQShAaWQxKSwgPEds
b2JhbFZhcj4sIDEsIDB4MzI2ZWMwYTAKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDA0ZjMwLi4uMHgzMDQwNGY0NAogICAgWyAgMzZdIGdldF9mcm9tX3Nj
b3BlICAgIGxvYzcsIGxvYzYsIEEoQGlkMSksIDIwNDk8VGhyb3dJZk5vdEZvdW5kfEdsb2JhbFZh
cnxOb3RJbml0aWFsaXphdGlvbj4sIDgwOTM5MDkwNCAgICBwcmVkaWN0aW5nIE5vbkJvb2xJbnQz
MgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDRmNDQu
Li4weDMwNDA0ZjdjCiAgICBbICA0NF0gbXVsICAgICAgICAgICAgICAgbG9jNSwgbG9jNSwgbG9j
NyAgICByZXN1bHRzOiBSZXN1bHQ6PEludDMyPiBMSFMgT2JzZXJ2ZWRUeXBlOjxJbnQzMj4gUkhT
IE9ic2VydmVkVHlwZTo8SW50MzI+IExIUyBSZXN1bHRUeXBlOjwweDdlPiBSSFMgUmVzdWx0VHlw
ZTo8MHg3ZT4KICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMw
NDA0ZjdjLi4uMHgzMDQwNTAzYwogICAgWyAgNDldIHJlc29sdmVfc2NvcGUgICAgIGxvYzYsIGxv
YzAsIEMoQGlkMiksIDxHbG9iYWxWYXI+LCAxLCAweDMyNmVjMGEwCiAgICAgICAgZGlzYXNzZW1i
bHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNTAzYy4uLjB4MzA0MDUwNTAKICAgIFsg
IDU2XSBnZXRfZnJvbV9zY29wZSAgICBsb2M3LCBsb2M2LCBDKEBpZDIpLCAyMDQ5PFRocm93SWZO
b3RGb3VuZHxHbG9iYWxWYXJ8Tm90SW5pdGlhbGl6YXRpb24+LCA4MDkzOTA5NTIgICAgcHJlZGlj
dGluZyBOb25Cb29sSW50MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMwNDA1MDUwLi4uMHgzMDQwNTA4OAogICAgWyAgNjRdIGFkZCAgICAgICAgICAgICAg
IGxvYzUsIGxvYzUsIGxvYzcgICAgcmVzdWx0czogUmVzdWx0OjxJbnQzMj4gTEhTIE9ic2VydmVk
VHlwZTo8SW50MzI+IFJIUyBPYnNlcnZlZFR5cGU6PEludDMyPiBMSFMgUmVzdWx0VHlwZTo8MHgy
PiBSSFMgUmVzdWx0VHlwZTo8MHg3ZT4KICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDA1MDg4Li4uMHgzMDQwNTEyYwogICAgWyAgNjldIHJlc29sdmVfc2Nv
cGUgICAgIGxvYzYsIGxvYzAsIE0oQGlkMyksIDxHbG9iYWxWYXI+LCAxLCAweDMyNmVjMGEwCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNTEyYy4uLjB4
MzA0MDUxNDAKICAgIFsgIDc2XSBnZXRfZnJvbV9zY29wZSAgICBsb2M3LCBsb2M2LCBNKEBpZDMp
LCAyMDQ5PFRocm93SWZOb3RGb3VuZHxHbG9iYWxWYXJ8Tm90SW5pdGlhbGl6YXRpb24+LCA4MDkz
OTA5NjAgICAgcHJlZGljdGluZyBOb25Cb29sSW50MzIKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA1MTQwLi4uMHgzMDQwNTE3OAogICAgWyAgODRdIG1v
ZCAgICAgICAgICAgICAgIGxvYzUsIGxvYzUsIGxvYzcKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA1MTc4Li4uMHgzMDQwNTFkYwogICAgWyAgODhdIHB1
dF90b19zY29wZSAgICAgIGxvYzMsIGxhc3QoQGlkMCksIGxvYzUsIDEwNTA2MjU8RG9Ob3RUaHJv
d0lmTm90Rm91bmR8R2xvYmFsVmFyfE5vdEluaXRpYWxpemF0aW9uPiwgPHN0cnVjdHVyZT4sIDgw
OTM5MDk0NAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0
MDUxZGMuLi4weDMwNDA1MmM0CiAgICBbICA5NV0gcmVzb2x2ZV9zY29wZSAgICAgbG9jMywgbG9j
MCwgbGFzdChAaWQwKSwgPEdsb2JhbFZhcj4sIDEsIDB4MzI2ZWMwYTAKICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA1MmM0Li4uMHgzMDQwNTJkOAogICAg
WyAxMDJdIGdldF9mcm9tX3Njb3BlICAgIGxvYzQsIGxvYzMsIGxhc3QoQGlkMCksIDIwNDk8VGhy
b3dJZk5vdEZvdW5kfEdsb2JhbFZhcnxOb3RJbml0aWFsaXphdGlvbj4sIDgwOTM5MDk0NCAgICBw
cmVkaWN0aW5nIE5vbkJvb2xJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MDUyZDguLi4weDMwNDA1MzEwCiAgICBbIDExMF0gbXVsICAgICAgICAg
ICAgICAgbG9jNSwgYXJnMSwgbG9jNCAgICByZXN1bHRzOiBSZXN1bHQ6PEludDMyPiBMSFMgT2Jz
ZXJ2ZWRUeXBlOjxJbnQzMj4gUkhTIE9ic2VydmVkVHlwZTo8SW50MzI+IExIUyBSZXN1bHRUeXBl
OjwweDdlPiBSSFMgUmVzdWx0VHlwZTo8MHg3ZT4KICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZh
aWxhYmxlIGZvciByYW5nZSAweDMwNDA1MzEwLi4uMHgzMDQwNTNkMAogICAgWyAxMTVdIHJlc29s
dmVfc2NvcGUgICAgIGxvYzYsIGxvYzAsIE0oQGlkMyksIDxHbG9iYWxWYXI+LCAxLCAweDMyNmVj
MGEwCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNTNk
MC4uLjB4MzA0MDUzZTQKICAgIFsgMTIyXSBnZXRfZnJvbV9zY29wZSAgICBsb2M3LCBsb2M2LCBN
KEBpZDMpLCAyMDQ5PFRocm93SWZOb3RGb3VuZHxHbG9iYWxWYXJ8Tm90SW5pdGlhbGl6YXRpb24+
LCA4MDkzOTA5NjAgICAgcHJlZGljdGluZyBOb25Cb29sSW50MzIKICAgICAgICBkaXNhc3NlbWJs
eSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA1M2U0Li4uMHgzMDQwNTQxYwogICAgWyAx
MzBdIGRpdiAgICAgICAgICAgICAgIGxvYzUsIGxvYzUsIGxvYzcgICAgcmVzdWx0czogUmVzdWx0
OjxJbnQzMj4gTEhTIE9ic2VydmVkVHlwZTo8SW50MzI+IFJIUyBPYnNlcnZlZFR5cGU6PEludDMy
PiBMSFMgUmVzdWx0VHlwZTo8MHgyPiBSSFMgUmVzdWx0VHlwZTo8MHg3ZT4KICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA1NDFjLi4uMHgzMDQwNTVhOAog
ICAgWyAxMzVdIHJldCAgICAgICAgICAgICAgIGxvYzUKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA1NWE4Li4uMHgzMDQwNTVmOAogICAgKEVuZCBPZiBN
YWluIFBhdGgpCiAgICAoUykgWyAgIDZdIGNoZWNrX3RyYXBzICAgICAgIAogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDU1ZjguLi4weDMwNDA1Njg4CiAg
ICAoUykgWyAgNDRdIG11bCAgICAgICAgICAgICAgIGxvYzUsIGxvYzUsIGxvYzcgICAgcmVzdWx0
czogUmVzdWx0OjxJbnQzMj4gTEhTIE9ic2VydmVkVHlwZTo8SW50MzI+IFJIUyBPYnNlcnZlZFR5
cGU6PEludDMyPiBMSFMgUmVzdWx0VHlwZTo8MHg3ZT4gUkhTIFJlc3VsdFR5cGU6PDB4N2U+CiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNTY4OC4uLjB4
MzA0MDU3NDAKICAgIChTKSBbICA2NF0gYWRkICAgICAgICAgICAgICAgbG9jNSwgbG9jNSwgbG9j
NyAgICByZXN1bHRzOiBSZXN1bHQ6PEludDMyPiBMSFMgT2JzZXJ2ZWRUeXBlOjxJbnQzMj4gUkhT
IE9ic2VydmVkVHlwZTo8SW50MzI+IExIUyBSZXN1bHRUeXBlOjwweDI+IFJIUyBSZXN1bHRUeXBl
OjwweDdlPgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0
MDU3NDAuLi4weDMwNDA1N2Y4CiAgICAoUykgWyAgODhdIHB1dF90b19zY29wZSAgICAgIGxvYzMs
IGxhc3QoQGlkMCksIGxvYzUsIDEwNTA2MjU8RG9Ob3RUaHJvd0lmTm90Rm91bmR8R2xvYmFsVmFy
fE5vdEluaXRpYWxpemF0aW9uPiwgPHN0cnVjdHVyZT4sIDgwOTM5MDk0NAogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDU3ZjguLi4weDMwNDA1ODkwCiAg
ICAoUykgWyAxMTBdIG11bCAgICAgICAgICAgICAgIGxvYzUsIGFyZzEsIGxvYzQgICAgcmVzdWx0
czogUmVzdWx0OjxJbnQzMj4gTEhTIE9ic2VydmVkVHlwZTo8SW50MzI+IFJIUyBPYnNlcnZlZFR5
cGU6PEludDMyPiBMSFMgUmVzdWx0VHlwZTo8MHg3ZT4gUkhTIFJlc3VsdFR5cGU6PDB4N2U+CiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNTg5MC4uLjB4
MzA0MDU5NDgKICAgIChTKSBbIDEzMF0gZGl2ICAgICAgICAgICAgICAgbG9jNSwgbG9jNSwgbG9j
NyAgICByZXN1bHRzOiBSZXN1bHQ6PEludDMyPiBMSFMgT2JzZXJ2ZWRUeXBlOjxJbnQzMj4gUkhT
IE9ic2VydmVkVHlwZTo8SW50MzI+IExIUyBSZXN1bHRUeXBlOjwweDI+IFJIUyBSZXN1bHRUeXBl
OjwweDdlPgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0
MDU5NDguLi4weDMwNDA1OWUwCiAgICAoRW5kIE9mIFNsb3cgUGF0aCkKICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA1OWUwLi4uMHgzMDQwNWJiYwpEZXN0
cm95aW5nIEpJVCBjb2RlIGF0IDB4MzA0MDFiNDAuLi4weDMwNDAxYjYwCkdlbmVyYXRlZCBKSVQg
Y29kZSBmb3IgU3RyaW5nIGdldF9ieV92YWwgc3R1YjoKICAgIENvZGUgYXQgWzB4MzA0MDViYzAs
IDB4MzA0MDVkMDApOgogICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MDQwNWJjMC4uLjB4MzA0MDVkMDAKR2VuZXJhdGVkIEJhc2VsaW5lIEpJVCBjb2RlIGZvciBmYXN0
YVJhbmRvbSNCRHFGZTA6WzB4MzI2Nzg1NTAtPjB4MzI2Y2I3MjAsIEJhc2VsaW5lRnVuY3Rpb25D
YWxsLCA0NDJdLCBpbnN0cnVjdGlvbiBjb3VudCA9IDQ0MgogICBTb3VyY2U6IGZ1bmN0aW9uIGZh
c3RhUmFuZG9tKG4sIHRhYmxlKSB7IHZhciBsaW5lID0gbmV3IEFycmF5KDYwKTsgbWFrZUN1bXVs
YXRpdmUodGFibGUpOyB3aGlsZSAobj4wKSB7IGlmIChuPGxpbmUubGVuZ3RoKSBsaW5lID0gbmV3
IEFycmF5KG4pOyBmb3IgKHZhciBpPTA7IGk8bGluZS5sZW5ndGg7IGkrKykgeyB2YXIgciA9IHJh
bmQoMSk7IGZvciAodmFyIGMgaW4gdGFibGUpIHsgaWYgKHIgPCB0YWJsZVtjXSkgeyBsaW5lW2ld
ID0gYzsgYnJlYWs7IH0gfSB9IHJldCArPSBsaW5lLmpvaW4oJycpLmxlbmd0aDsgbiAtPSBsaW5l
Lmxlbmd0aDsgfSB9CiAgIENvZGUgYXQgWzB4MzA0MDVkMDAsIDB4MzA0MGNiYzApOgogICAgICAg
IGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDVkMDAuLi4weDMwNDA1
ZTIwCiAgICBbICAgMF0gZW50ZXIgICAgICAgICAgICAgCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNWUyMC4uLjB4MzA0MDVmYWMKICAgIFsgICAxXSBn
ZXRfc2NvcGUgICAgICAgICBsb2MwCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQwNWZhYy4uLjB4MzA0MDVmYzAKICAgIFsgICAzXSBtb3YgICAgICAgICAg
ICAgICBsb2MxLCBsb2MwCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFu
Z2UgMHgzMDQwNWZjMC4uLjB4MzA0MDVmZDAKICAgIFsgICA2XSBjaGVja190cmFwcyAgICAgICAK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA1ZmQwLi4u
MHgzMDQwNjAwNAogICAgWyAgIDddIHJlc29sdmVfc2NvcGUgICAgIGxvYzcsIGxvYzAsIEFycmF5
KEBpZDApLCA8R2xvYmFsUHJvcGVydHk+LCAxLCAweDMyNmVjMGEwCiAgICAgICAgZGlzYXNzZW1i
bHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNjAwNC4uLjB4MzA0MDYwMTgKICAgIFsg
IDE0XSBnZXRfZnJvbV9zY29wZSAgICBsb2M4LCBsb2M3LCBBcnJheShAaWQwKSwgMjA0ODxUaHJv
d0lmTm90Rm91bmR8R2xvYmFsUHJvcGVydHl8Tm90SW5pdGlhbGl6YXRpb24+LCAxMDQgICAgcHJl
ZGljdGluZyBPdGhlck9iagogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MDYwMTguLi4weDMwNDA2MGQwCiAgICBbICAyMl0gbW92ICAgICAgICAgICAgICAg
bG9jMTAsIEludDMyOiA2MChjb25zdDApCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwNjBkMC4uLjB4MzA0MDYwZTAKICAgIFsgIDI1XSBtb3YgICAgICAg
ICAgICAgICBsb2MxMSwgbG9jOAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MDYwZTAuLi4weDMwNDA2MGYwCiAgICBbICAyOF0gam5lcV9wdHIgICAgICAg
ICAgbG9jOCwgMyAoMHgzMjZkYzFhMCksIDExKC0+MzkpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNjBmMC4uLjB4MzA0MDYxNzQKICAgIFsgIDMzXSBu
ZXdfYXJyYXlfd2l0aF9zaXplIGxvYzUsIGxvYzEwCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2
YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNjE3NC4uLjB4MzA0MDYxZjAKICAgIFsgIDM3XSBqbXAg
ICAgICAgICAgICAgICAxMSgtPjQ4KQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MDYxZjAuLi4weDMwNDA2MjEwCiAgICBbICAzOV0gY29uc3RydWN0ICAg
ICAgICAgbG9jNSwgbG9jOCwgMiwgMTYgKHRoaXMgYXQgbG9jMTEpIHN0YXR1cyhDb3VsZCBUYWtl
IFNsb3cgUGF0aCkgICAgcHJlZGljdGluZyBOb25lCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2
YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNjIxMC4uLjB4MzA0MDYzMTgKICAgIFsgIDQ4XSByZXNv
bHZlX3Njb3BlICAgICBsb2M5LCBsb2MwLCBtYWtlQ3VtdWxhdGl2ZShAaWQxKSwgPEdsb2JhbFZh
cj4sIDEsIDB4MzI2ZWMwYTAKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMwNDA2MzE4Li4uMHgzMDQwNjMyYwogICAgWyAgNTVdIGdldF9mcm9tX3Njb3BlICAg
IGxvYzcsIGxvYzksIG1ha2VDdW11bGF0aXZlKEBpZDEpLCAyMDQ5PFRocm93SWZOb3RGb3VuZHxH
bG9iYWxWYXJ8Tm90SW5pdGlhbGl6YXRpb24+LCA4MDkzOTA4ODAgICAgcHJlZGljdGluZyBGdW5j
dGlvbgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDYz
MmMuLi4weDMwNDA2MzY0CiAgICBbICA2M10gbW92ICAgICAgICAgICAgICAgbG9jOCwgYXJnMgog
ICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDYzNjQuLi4w
eDMwNDA2Mzc0CiAgICBbICA2Nl0gY2FsbCAgICAgICAgICAgICAgbG9jNywgbG9jNywgMiwgMTQg
KHRoaXMgYXQgbG9jOSkgbGxpbnQoMHgzMjZmNmM2MCwgZXhlYyAweDMyNmNiNjIwKSBzdGF0dXMo
KEZ1bmN0aW9uOiBPYmplY3Q6IDB4MzI2ZjZjNjAgd2l0aCBidXR0ZXJmbHkgKG5pbCkgKFN0cnVj
dHVyZSAweDMyNmY5MWQwOltGdW5jdGlvbiwge30sIE5vbkFycmF5LCBQcm90bzoweDMyNmRjMGEw
XSk7IEV4ZWN1dGFibGU6IG1ha2VDdW11bGF0aXZlI0NFQXJpMDpbMHgzMjY3ODZlMC0+MHgzMjZj
YjYyMCwgTExJbnRGdW5jdGlvbkNhbGwsIDIyM10pKSAgICBOb25BcnJheTsgcHJlZGljdGluZyBP
dGhlcgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDYz
NzQuLi4weDMwNDA2NGI4CiAgICBbICA3NV0gam5ncmVhdGVyICAgICAgICAgYXJnMSwgSW50MzI6
IDAoY29uc3QxKSwgMzY1KC0+NDQwKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MDY0YjguLi4weDMwNDA2NWZjCiAgICBbICA3OV0gbG9vcF9oaW50ICAg
ICAgICAgCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
NjVmYy4uLjB4MzA0MDY2NDAKICAgIFsgIDgwXSBjaGVja190cmFwcyAgICAgICAKICAgICAgICBk
aXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA2NjQwLi4uMHgzMDQwNjY3
NAogICAgWyAgODFdIGFycmF5X2xlbmd0aCAgICAgIGxvYzcsIGxvYzUsIGxlbmd0aChAaWQyKSBs
bGludChhcnJheV9sZW5ndGgpICAgIHByZWRpY3RpbmcgTm9uQm9vbEludDMyCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNjY3NC4uLjB4MzA0MDY3MWMK
ICAgIFsgIDkwXSBqbmxlc3MgICAgICAgICAgICBhcmcxLCBsb2M3LCA0NSgtPjEzNSkKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA2NzFjLi4uMHgzMDQw
NjhlOAogICAgWyAgOTRdIHJlc29sdmVfc2NvcGUgICAgIGxvYzcsIGxvYzAsIEFycmF5KEBpZDAp
LCA8R2xvYmFsUHJvcGVydHk+LCAxLCAweDMyNmVjMGEwCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNjhlOC4uLjB4MzA0MDY4ZmMKICAgIFsgMTAxXSBn
ZXRfZnJvbV9zY29wZSAgICBsb2M4LCBsb2M3LCBBcnJheShAaWQwKSwgMjA0ODxUaHJvd0lmTm90
Rm91bmR8R2xvYmFsUHJvcGVydHl8Tm90SW5pdGlhbGl6YXRpb24+LCAxMDQgICAgcHJlZGljdGlu
ZyBOb25lCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
NjhmYy4uLjB4MzA0MDY5YjQKICAgIFsgMTA5XSBtb3YgICAgICAgICAgICAgICBsb2MxMCwgYXJn
MQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDY5YjQu
Li4weDMwNDA2OWM0CiAgICBbIDExMl0gbW92ICAgICAgICAgICAgICAgbG9jMTEsIGxvYzgKICAg
ICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA2OWM0Li4uMHgz
MDQwNjlkNAogICAgWyAxMTVdIGpuZXFfcHRyICAgICAgICAgIGxvYzgsIDMgKDB4MzI2ZGMxYTAp
LCAxMSgtPjEyNikKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDA2OWQ0Li4uMHgzMDQwNmE1OAogICAgWyAxMjBdIG5ld19hcnJheV93aXRoX3NpemUgbG9j
NSwgbG9jMTAKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMw
NDA2YTU4Li4uMHgzMDQwNmFkNAogICAgWyAxMjRdIGptcCAgICAgICAgICAgICAgIDExKC0+MTM1
KQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDZhZDQu
Li4weDMwNDA2YWY0CiAgICBbIDEyNl0gY29uc3RydWN0ICAgICAgICAgbG9jNSwgbG9jOCwgMiwg
MTYgKHRoaXMgYXQgbG9jMTEpIHN0YXR1cyhDb3VsZCBUYWtlIFNsb3cgUGF0aCkgICAgcHJlZGlj
dGluZyBOb25lCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MDQwNmFmNC4uLjB4MzA0MDZiZmMKICAgIFsgMTM1XSBtb3YgICAgICAgICAgICAgICBsb2M0LCBJ
bnQzMjogMChjb25zdDEpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFu
Z2UgMHgzMDQwNmJmYy4uLjB4MzA0MDZjMDgKICAgIFsgMTM4XSBhcnJheV9sZW5ndGggICAgICBs
b2M3LCBsb2M1LCBsZW5ndGgoQGlkMikgbGxpbnQoYXJyYXlfbGVuZ3RoKSAgICBwcmVkaWN0aW5n
IE5vbkJvb2xJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MDZjMDguLi4weDMwNDA2Y2IwCiAgICBbIDE0N10gam5sZXNzICAgICAgICAgICAgbG9j
NCwgbG9jNywgMjA5KC0+MzU2KQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MDZjYjAuLi4weDMwNDA2ZTdjCiAgICBbIDE1MV0gbG9vcF9oaW50ICAgICAg
ICAgCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNmU3
Yy4uLjB4MzA0MDZlYzAKICAgIFsgMTUyXSBjaGVja190cmFwcyAgICAgICAKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA2ZWMwLi4uMHgzMDQwNmVmNAog
ICAgWyAxNTNdIHJlc29sdmVfc2NvcGUgICAgIGxvYzksIGxvYzAsIHJhbmQoQGlkMyksIDxHbG9i
YWxWYXI+LCAxLCAweDMyNmVjMGEwCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQwNmVmNC4uLjB4MzA0MDZmMDgKICAgIFsgMTYwXSBnZXRfZnJvbV9zY29w
ZSAgICBsb2M3LCBsb2M5LCByYW5kKEBpZDMpLCAyMDQ5PFRocm93SWZOb3RGb3VuZHxHbG9iYWxW
YXJ8Tm90SW5pdGlhbGl6YXRpb24+LCA4MDkzOTA4NzIgICAgcHJlZGljdGluZyBGdW5jdGlvbgog
ICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDZmMDguLi4w
eDMwNDA2ZjQwCiAgICBbIDE2OF0gbW92ICAgICAgICAgICAgICAgbG9jOCwgSW50MzI6IDEoY29u
c3QyKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDZm
NDAuLi4weDMwNDA2ZjUwCiAgICBbIDE3MV0gY2FsbCAgICAgICAgICAgICAgbG9jMiwgbG9jNywg
MiwgMTQgKHRoaXMgYXQgbG9jOSkgbGxpbnQoMHgzMjZmNmM0MCwgZXhlYyAweDMyNmNiNWEwKSBz
dGF0dXMoKEZ1bmN0aW9uOiBPYmplY3Q6IDB4MzI2ZjZjNDAgd2l0aCBidXR0ZXJmbHkgKG5pbCkg
KFN0cnVjdHVyZSAweDMyNmY5MWQwOltGdW5jdGlvbiwge30sIE5vbkFycmF5LCBQcm90bzoweDMy
NmRjMGEwXSk7IEV4ZWN1dGFibGU6IHJhbmQjRFd2VEQyOlsweDMyNjc4ODcwLT4weDMyNmNiNWEw
LCBCYXNlbGluZUZ1bmN0aW9uQ2FsbCwgMTM3XSkpICAgIE5vbkFycmF5OyBwcmVkaWN0aW5nIE5v
bkludEFzZG91YmxlCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2Ug
MHgzMDQwNmY1MC4uLjB4MzA0MDcwOTQKICAgIFsgMTgwXSBtb3YgICAgICAgICAgICAgICBsb2M3
LCBhcmcyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
NzA5NC4uLjB4MzA0MDcwYTQKICAgIFsgMTgzXSBvcF9nZXRfcHJvcGVydHlfZW51bWVyYXRvciBs
b2M4LCBsb2M3CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MDQwNzBhNC4uLjB4MzA0MDcxMDgKICAgIFsgMTg2XSBvcF9nZXRfZW51bWVyYWJsZV9sZW5ndGgg
bG9jOSwgbG9jOAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MDcxMDguLi4weDMwNDA3MTZjCiAgICBbIDE4OV0gbW92ICAgICAgICAgICAgICAgbG9jMTAs
IEludDMyOiAwKGNvbnN0MykKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMwNDA3MTZjLi4uMHgzMDQwNzE3OAogICAgWyAxOTJdIGxvb3BfaGludCAgICAgICAg
IAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDcxNzgu
Li4weDMwNDA3MWJjCiAgICBbIDE5M10gY2hlY2tfdHJhcHMgICAgICAgCiAgICAgICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNzFiYy4uLjB4MzA0MDcxZjAKICAg
IFsgMTk0XSBsZXNzICAgICAgICAgICAgICBsb2MxMiwgbG9jMTAsIGxvYzkKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA3MWYwLi4uMHgzMDQwNzI1NAog
ICAgWyAxOThdIGpmYWxzZSAgICAgICAgICAgIGxvYzEyLCA0MCgtPjIzOCkKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA3MjU0Li4uMHgzMDQwNzRlMAog
ICAgWyAyMDFdIG9wX2hhc19pbmRleGVkX3Byb3BlcnR5IGxvYzEyLCBsb2M3LCBsb2MxMCAgICBP
cmlnaW5hbAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0
MDc0ZTAuLi4weDMwNDA3NWM0CiAgICBbIDIwNl0gamZhbHNlICAgICAgICAgICAgbG9jMTIsIDI2
KC0+MjMyKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0
MDc1YzQuLi4weDMwNDA3ODUwCiAgICBbIDIwOV0gb3BfdG9faW5kZXhfc3RyaW5nIGxvYzExLCBs
b2MxMAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDc4
NTAuLi4weDMwNDA3OGI0CiAgICBbIDIxMl0gbW92ICAgICAgICAgICAgICAgbG9jMywgbG9jMTEK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA3OGI0Li4u
MHgzMDQwNzhjNAogICAgWyAyMTVdIGdldF9ieV92YWwgICAgICAgIGxvYzEzLCBhcmcyLCBsb2Mx
MCAgICBPcmlnaW5hbDsgcHJlZGljdGluZyBOb25lCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2
YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwNzhjNC4uLjB4MzA0MDdhMGMKICAgIFsgMjIxXSBqbmxl
c3MgICAgICAgICAgICBsb2MyLCBsb2MxMywgMTEoLT4yMzIpCiAgICAgICAgZGlzYXNzZW1ibHkg
bm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwN2EwYy4uLjB4MzA0MDdiZDgKICAgIFsgMjI1
XSBwdXRfYnlfdmFsICAgICAgICBsb2M1LCBsb2M0LCBsb2MzICAgIE9yaWdpbmFsCiAgICAgICAg
ZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwN2JkOC4uLjB4MzA0MDdl
MDQKICAgIFsgMjMwXSBqbXAgICAgICAgICAgICAgICA2KC0+MjM2KQogICAgICAgIGRpc2Fzc2Vt
Ymx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDdlMDQuLi4weDMwNDA3ZTI0CiAgICBb
IDIzMl0gaW5jICAgICAgICAgICAgICAgbG9jMTAKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZh
aWxhYmxlIGZvciByYW5nZSAweDMwNDA3ZTI0Li4uMHgzMDQwN2U5NAogICAgWyAyMzRdIGptcCAg
ICAgICAgICAgICAgIC00MigtPjE5MikKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDA3ZTk0Li4uMHgzMDQwN2ViNAogICAgWyAyMzZdIGptcCAgICAgICAg
ICAgICAgIDEwNSgtPjM0MSkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMwNDA3ZWI0Li4uMHgzMDQwN2VkNAogICAgWyAyMzhdIG1vdiAgICAgICAgICAgICAg
IGxvYzEwLCBJbnQzMjogMChjb25zdDMpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwN2VkNC4uLjB4MzA0MDdlZTAKICAgIFsgMjQxXSBvcF9lbnVtZXJh
dG9yX3N0cnVjdHVyZV9wbmFtZSBsb2MxMSwgbG9jOCwgbG9jMTAKICAgICAgICBkaXNhc3NlbWJs
eSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA3ZWUwLi4uMHgzMDQwN2Y1NAogICAgWyAy
NDVdIGxvb3BfaGludCAgICAgICAgIAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MDdmNTQuLi4weDMwNDA3Zjk4CiAgICBbIDI0Nl0gY2hlY2tfdHJhcHMg
ICAgICAgCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
N2Y5OC4uLjB4MzA0MDdmY2MKICAgIFsgMjQ3XSBlcV9udWxsICAgICAgICAgICBsb2MxMiwgbG9j
MTEKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA3ZmNj
Li4uMHgzMDQwODBhOAogICAgWyAyNTBdIGp0cnVlICAgICAgICAgICAgIGxvYzEyLCA0MigtPjI5
MikKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA4MGE4
Li4uMHgzMDQwODMzNAogICAgWyAyNTNdIG9wX2hhc19zdHJ1Y3R1cmVfcHJvcGVydHkgbG9jMTIs
IGxvYzcsIGxvYzExLCBsb2M4CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwODMzNC4uLjB4MzA0MDgzOWMKICAgIFsgMjU4XSBqZmFsc2UgICAgICAgICAg
ICBsb2MxMiwgMjQoLT4yODIpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwODM5Yy4uLjB4MzA0MDg2MjgKICAgIFsgMjYxXSBtb3YgICAgICAgICAgICAg
ICBsb2MzLCBsb2MxMQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MDg2MjguLi4weDMwNDA4NjM4CiAgICBbIDI2NF0gb3BfZ2V0X2RpcmVjdF9wbmFtZSBs
b2MxMywgYXJnMiwgbG9jMywgbG9jMTAsIGxvYzggICAgcHJlZGljdGluZyBOb25lCiAgICAgICAg
ZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwODYzOC4uLjB4MzA0MDg3
NDAKICAgIFsgMjcxXSBqbmxlc3MgICAgICAgICAgICBsb2MyLCBsb2MxMywgMTEoLT4yODIpCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwODc0MC4uLjB4
MzA0MDg5MGMKICAgIFsgMjc1XSBwdXRfYnlfdmFsICAgICAgICBsb2M1LCBsb2M0LCBsb2MzICAg
IEFycmF5V2l0aENvbnRpZ3VvdXMsIE9yaWdpbmFsCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2
YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwODkwYy4uLjB4MzA0MDhiMzgKICAgIFsgMjgwXSBqbXAg
ICAgICAgICAgICAgICAxMCgtPjI5MCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDA4YjM4Li4uMHgzMDQwOGI1OAogICAgWyAyODJdIGluYyAgICAgICAg
ICAgICAgIGxvYzEwCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2Ug
MHgzMDQwOGI1OC4uLjB4MzA0MDhiYzgKICAgIFsgMjg0XSBvcF9lbnVtZXJhdG9yX3N0cnVjdHVy
ZV9wbmFtZSBsb2MxMSwgbG9jOCwgbG9jMTAKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMwNDA4YmM4Li4uMHgzMDQwOGMzYwogICAgWyAyODhdIGptcCAgICAg
ICAgICAgICAgIC00MygtPjI0NSkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZv
ciByYW5nZSAweDMwNDA4YzNjLi4uMHgzMDQwOGM1YwogICAgWyAyOTBdIGptcCAgICAgICAgICAg
ICAgIDUxKC0+MzQxKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MDhjNWMuLi4weDMwNDA4YzdjCiAgICBbIDI5Ml0gb3BfZW51bWVyYXRvcl9nZW5lcmlj
X3BuYW1lIGxvYzExLCBsb2M4LCBsb2MxMAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MDhjN2MuLi4weDMwNDA4Y2YwCiAgICBbIDI5Nl0gbG9vcF9oaW50
ICAgICAgICAgCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MDQwOGNmMC4uLjB4MzA0MDhkMzQKICAgIFsgMjk3XSBjaGVja190cmFwcyAgICAgICAKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA4ZDM0Li4uMHgzMDQw
OGQ2OAogICAgWyAyOThdIGVxX251bGwgICAgICAgICAgIGxvYzEyLCBsb2MxMQogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDhkNjguLi4weDMwNDA4ZTQ0
CiAgICBbIDMwMV0ganRydWUgICAgICAgICAgICAgbG9jMTIsIDQwKC0+MzQxKQogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDhlNDQuLi4weDMwNDA5MGQw
CiAgICBbIDMwNF0gb3BfaGFzX2dlbmVyaWNfcHJvcGVydHkgbG9jMTIsIGxvYzcsIGxvYzExCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwOTBkMC4uLjB4
MzA0MDkxMzQKICAgIFsgMzA4XSBqZmFsc2UgICAgICAgICAgICBsb2MxMiwgMjMoLT4zMzEpCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwOTEzNC4uLjB4
MzA0MDkzYzAKICAgIFsgMzExXSBtb3YgICAgICAgICAgICAgICBsb2MzLCBsb2MxMQogICAgICAg
IGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDkzYzAuLi4weDMwNDA5
M2QwCiAgICBbIDMxNF0gZ2V0X2J5X3ZhbCAgICAgICAgbG9jMTMsIGFyZzIsIGxvYzMgICAgT3Jp
Z2luYWw7IHByZWRpY3RpbmcgTm9uZQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MDkzZDAuLi4weDMwNDA5NTE4CiAgICBbIDMyMF0gam5sZXNzICAgICAg
ICAgICAgbG9jMiwgbG9jMTMsIDExKC0+MzMxKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MDk1MTguLi4weDMwNDA5NmU0CiAgICBbIDMyNF0gcHV0X2J5
X3ZhbCAgICAgICAgbG9jNSwgbG9jNCwgbG9jMyAgICBPcmlnaW5hbAogICAgICAgIGRpc2Fzc2Vt
Ymx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDk2ZTQuLi4weDMwNDA5OTEwCiAgICBb
IDMyOV0gam1wICAgICAgICAgICAgICAgMTAoLT4zMzkpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwOTkxMC4uLjB4MzA0MDk5MzAKICAgIFsgMzMxXSBp
bmMgICAgICAgICAgICAgICBsb2MxMAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MDk5MzAuLi4weDMwNDA5OWEwCiAgICBbIDMzM10gb3BfZW51bWVyYXRv
cl9nZW5lcmljX3BuYW1lIGxvYzExLCBsb2M4LCBsb2MxMAogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDk5YTAuLi4weDMwNDA5YTE0CiAgICBbIDMzN10g
am1wICAgICAgICAgICAgICAgLTQxKC0+Mjk2KQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MDlhMTQuLi4weDMwNDA5YTM0CiAgICBbIDMzOV0gam1wICAg
ICAgICAgICAgICAgMigtPjM0MSkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZv
ciByYW5nZSAweDMwNDA5YTM0Li4uMHgzMDQwOWE1NAogICAgWyAzNDFdIGluYyAgICAgICAgICAg
ICAgIGxvYzQKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMw
NDA5YTU0Li4uMHgzMDQwOWFjNAogICAgWyAzNDNdIGFycmF5X2xlbmd0aCAgICAgIGxvYzcsIGxv
YzUsIGxlbmd0aChAaWQyKSBsbGludChhcnJheV9sZW5ndGgpICAgIHByZWRpY3RpbmcgTm9uQm9v
bEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
OWFjNC4uLjB4MzA0MDliNmMKICAgIFsgMzUyXSBqbGVzcyAgICAgICAgICAgICBsb2M0LCBsb2M3
LCAtMjAxKC0+MTUxKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MDliNmMuLi4weDMwNDA5ZDM4CiAgICBbIDM1Nl0gcmVzb2x2ZV9zY29wZSAgICAgbG9j
NywgbG9jMCwgcmV0KEBpZDQpLCA8R2xvYmFsVmFyPiwgMSwgMHgzMjZlYzBhMAogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MDlkMzguLi4weDMwNDA5ZDRj
CiAgICBbIDM2M10gZ2V0X2Zyb21fc2NvcGUgICAgbG9jOCwgbG9jNywgcmV0KEBpZDQpLCAyMDQ5
PFRocm93SWZOb3RGb3VuZHxHbG9iYWxWYXJ8Tm90SW5pdGlhbGl6YXRpb24+LCA4MDkzOTA5MzYg
ICAgcHJlZGljdGluZyBOb25Cb29sSW50MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMwNDA5ZDRjLi4uMHgzMDQwOWQ4NAogICAgWyAzNzFdIG1vdiAgICAg
ICAgICAgICAgIGxvYzExLCBsb2M1CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQwOWQ4NC4uLjB4MzA0MDlkOTQKICAgIFsgMzc0XSBnZXRfYnlfaWQgICAg
ICAgICBsb2M5LCBsb2MxMSwgam9pbihAaWQ1KSAgICBwcmVkaWN0aW5nIEZ1bmN0aW9uCiAgICAg
ICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwOWQ5NC4uLjB4MzA0
MDllMjgKICAgIFsgMzgzXSBtb3YgICAgICAgICAgICAgICBsb2MxMCwgU3RyaW5nIChhdG9taWMp
IChpZGVudGlmaWVyKTogKGNvbnN0NCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDA5ZTI4Li4uMHgzMDQwOWUzYwogICAgWyAzODZdIGNhbGwgICAgICAg
ICAgICAgIGxvYzksIGxvYzksIDIsIDE2ICh0aGlzIGF0IGxvYzExKSBsbGludCgweDMyNmY0NGEw
LCBleGVjIDB4MzI2ZDA0YTApIHN0YXR1cygoRnVuY3Rpb246IE9iamVjdDogMHgzMjZmNDRhMCB3
aXRoIGJ1dHRlcmZseSAweDMyNmQ4MzY4IChTdHJ1Y3R1cmUgMHgzMjZmOTMxMDpbRnVuY3Rpb24s
IHtuYW1lOjEwMCwgbGVuZ3RoOjEwMX0sIE5vbkFycmF5LCBQcm90bzoweDMyNmRjMGEwLCBMZWFm
XSk7IEV4ZWN1dGFibGU6IE5hdGl2ZUV4ZWN1dGFibGU6MHgyY2IxNjhiMC8weDJjYzhiNGU4KSkg
ICAgQXJyYXlXaXRoQ29udGlndW91cywgT3JpZ2luYWw7IHByZWRpY3RpbmcgU3RyaW5nVmFyCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwOWUzYy4uLjB4
MzA0MDlmODAKICAgIFsgMzk1XSBnZXRfYnlfaWQgICAgICAgICBsb2MxMCwgbG9jOSwgbGVuZ3Ro
KEBpZDIpICAgIHByZWRpY3RpbmcgTm9uQm9vbEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwOWY4MC4uLjB4MzA0MGEwMjgKICAgIFsgNDA0XSBh
ZGQgICAgICAgICAgICAgICBsb2M4LCBsb2M4LCBsb2MxMCAgICByZXN1bHRzOiBSZXN1bHQ6PElu
dDMyPiBMSFMgT2JzZXJ2ZWRUeXBlOjxJbnQzMj4gUkhTIE9ic2VydmVkVHlwZTo8SW50MzI+IExI
UyBSZXN1bHRUeXBlOjwweDdlPiBSSFMgUmVzdWx0VHlwZTo8MHg3ZT4KICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBhMDI4Li4uMHgzMDQwYTBjYwogICAg
WyA0MDldIHB1dF90b19zY29wZSAgICAgIGxvYzcsIHJldChAaWQ0KSwgbG9jOCwgMjA0OTxUaHJv
d0lmTm90Rm91bmR8R2xvYmFsVmFyfE5vdEluaXRpYWxpemF0aW9uPiwgPHN0cnVjdHVyZT4sIDgw
OTM5MDkzNgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0
MGEwY2MuLi4weDMwNDBhMWI0CiAgICBbIDQxNl0gbW92ICAgICAgICAgICAgICAgbG9jNywgYXJn
MQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGExYjQu
Li4weDMwNDBhMWM0CiAgICBbIDQxOV0gYXJyYXlfbGVuZ3RoICAgICAgbG9jOCwgbG9jNSwgbGVu
Z3RoKEBpZDIpIGxsaW50KGFycmF5X2xlbmd0aCkgICAgcHJlZGljdGluZyBOb25Cb29sSW50MzIK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBhMWM0Li4u
MHgzMDQwYTI2YwogICAgWyA0MjhdIHN1YiAgICAgICAgICAgICAgIGxvYzcsIGxvYzcsIGxvYzgg
ICAgcmVzdWx0czogUmVzdWx0OjxJbnQzMj4gTEhTIE9ic2VydmVkVHlwZTo8SW50MzI+IFJIUyBP
YnNlcnZlZFR5cGU6PEludDMyPiBMSFMgUmVzdWx0VHlwZTo8MHg3ZT4gUkhTIFJlc3VsdFR5cGU6
PDB4N2U+CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
YTI2Yy4uLjB4MzA0MGEzMTQKICAgIFsgNDMzXSBtb3YgICAgICAgICAgICAgICBhcmcxLCBsb2M3
CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwYTMxNC4u
LjB4MzA0MGEzMjQKICAgIFsgNDM2XSBqZ3JlYXRlciAgICAgICAgICBhcmcxLCBJbnQzMjogMChj
b25zdDEpLCAtMzU3KC0+NzkpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwYTMyNC4uLjB4MzA0MGE0NjgKICAgIFsgNDQwXSByZXQgICAgICAgICAgICAg
ICBVbmRlZmluZWQoY29uc3Q1KQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MGE0NjguLi4weDMwNDBhNGI4CiAgICAoRW5kIE9mIE1haW4gUGF0aCkKICAg
IChTKSBbICAgNl0gY2hlY2tfdHJhcHMgICAgICAgCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2
YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwYTRiOC4uLjB4MzA0MGE1NDgKICAgIChTKSBbICAxNF0g
Z2V0X2Zyb21fc2NvcGUgICAgbG9jOCwgbG9jNywgQXJyYXkoQGlkMCksIDIwNDg8VGhyb3dJZk5v
dEZvdW5kfEdsb2JhbFByb3BlcnR5fE5vdEluaXRpYWxpemF0aW9uPiwgMTA0ICAgIHByZWRpY3Rp
bmcgT3RoZXJPYmoKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDBhNTQ4Li4uMHgzMDQwYTYwMAogICAgKFMpIFsgIDM5XSBjb25zdHJ1Y3QgICAgICAgICBs
b2M1LCBsb2M4LCAyLCAxNiAodGhpcyBhdCBsb2MxMSkgc3RhdHVzKENvdWxkIFRha2UgU2xvdyBQ
YXRoKSAgICBwcmVkaWN0aW5nIE5vbmUKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDBhNjAwLi4uMHgzMDQwYTZhMAogICAgKFMpIFsgIDY2XSBjYWxsICAg
ICAgICAgICAgICBsb2M3LCBsb2M3LCAyLCAxNCAodGhpcyBhdCBsb2M5KSBsbGludCgweDMyNmY2
YzYwLCBleGVjIDB4MzI2Y2I2MjApIHN0YXR1cygoRnVuY3Rpb246IE9iamVjdDogMHgzMjZmNmM2
MCB3aXRoIGJ1dHRlcmZseSAobmlsKSAoU3RydWN0dXJlIDB4MzI2ZjkxZDA6W0Z1bmN0aW9uLCB7
fSwgTm9uQXJyYXksIFByb3RvOjB4MzI2ZGMwYTBdKTsgRXhlY3V0YWJsZTogbWFrZUN1bXVsYXRp
dmUjQ0VBcmkwOlsweDMyNjc4NmUwLT4weDMyNmNiNjIwLCBMTEludEZ1bmN0aW9uQ2FsbCwgMjIz
XSkpICAgIE5vbkFycmF5OyBwcmVkaWN0aW5nIE90aGVyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwYTZhMC4uLjB4MzA0MGE3NDAKICAgIChTKSBbICA3
NV0gam5ncmVhdGVyICAgICAgICAgYXJnMSwgSW50MzI6IDAoY29uc3QxKSwgMzY1KC0+NDQwKQog
ICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGE3NDAuLi4w
eDMwNDBhODE0CiAgICAoUykgWyAgNzldIGxvb3BfaGludCAgICAgICAgIAogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGE4MTQuLi4weDMwNDBhOTI0CiAg
ICAoUykgWyAgODBdIGNoZWNrX3RyYXBzICAgICAgIAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGE5MjQuLi4weDMwNDBhOWI0CiAgICAoUykgWyAgODFd
IGFycmF5X2xlbmd0aCAgICAgIGxvYzcsIGxvYzUsIGxlbmd0aChAaWQyKSBsbGludChhcnJheV9s
ZW5ndGgpICAgIHByZWRpY3RpbmcgTm9uQm9vbEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwYTliNC4uLjB4MzA0MGFhODAKICAgIChTKSBbICA5
MF0gam5sZXNzICAgICAgICAgICAgYXJnMSwgbG9jNywgNDUoLT4xMzUpCiAgICAgICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwYWE4MC4uLjB4MzA0MGFiNTQKICAg
IChTKSBbIDEwMV0gZ2V0X2Zyb21fc2NvcGUgICAgbG9jOCwgbG9jNywgQXJyYXkoQGlkMCksIDIw
NDg8VGhyb3dJZk5vdEZvdW5kfEdsb2JhbFByb3BlcnR5fE5vdEluaXRpYWxpemF0aW9uPiwgMTA0
ICAgIHByZWRpY3RpbmcgTm9uZQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MGFiNTQuLi4weDMwNDBhYzBjCiAgICAoUykgWyAxMjZdIGNvbnN0cnVjdCAg
ICAgICAgIGxvYzUsIGxvYzgsIDIsIDE2ICh0aGlzIGF0IGxvYzExKSBzdGF0dXMoQ291bGQgVGFr
ZSBTbG93IFBhdGgpICAgIHByZWRpY3RpbmcgTm9uZQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGFjMGMuLi4weDMwNDBhY2FjCiAgICAoUykgWyAxMzhd
IGFycmF5X2xlbmd0aCAgICAgIGxvYzcsIGxvYzUsIGxlbmd0aChAaWQyKSBsbGludChhcnJheV9s
ZW5ndGgpICAgIHByZWRpY3RpbmcgTm9uQm9vbEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwYWNhYy4uLjB4MzA0MGFkNzgKICAgIChTKSBbIDE0
N10gam5sZXNzICAgICAgICAgICAgbG9jNCwgbG9jNywgMjA5KC0+MzU2KQogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGFkNzguLi4weDMwNDBhZTRjCiAg
ICAoUykgWyAxNTFdIGxvb3BfaGludCAgICAgICAgIAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGFlNGMuLi4weDMwNDBhZjVjCiAgICAoUykgWyAxNTJd
IGNoZWNrX3RyYXBzICAgICAgIAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MGFmNWMuLi4weDMwNDBhZmVjCiAgICAoUykgWyAxNzFdIGNhbGwgICAgICAg
ICAgICAgIGxvYzIsIGxvYzcsIDIsIDE0ICh0aGlzIGF0IGxvYzkpIGxsaW50KDB4MzI2ZjZjNDAs
IGV4ZWMgMHgzMjZjYjVhMCkgc3RhdHVzKChGdW5jdGlvbjogT2JqZWN0OiAweDMyNmY2YzQwIHdp
dGggYnV0dGVyZmx5IChuaWwpIChTdHJ1Y3R1cmUgMHgzMjZmOTFkMDpbRnVuY3Rpb24sIHt9LCBO
b25BcnJheSwgUHJvdG86MHgzMjZkYzBhMF0pOyBFeGVjdXRhYmxlOiByYW5kI0RXdlREMjpbMHgz
MjY3ODg3MC0+MHgzMjZjYjVhMCwgQmFzZWxpbmVGdW5jdGlvbkNhbGwsIDEzN10pKSAgICBOb25B
cnJheTsgcHJlZGljdGluZyBOb25JbnRBc2RvdWJsZQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGFmZWMuLi4weDMwNDBiMDhjCiAgICAoUykgWyAxOTJd
IGxvb3BfaGludCAgICAgICAgIAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MGIwOGMuLi4weDMwNDBiMTljCiAgICAoUykgWyAxOTNdIGNoZWNrX3RyYXBz
ICAgICAgIAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0
MGIxOWMuLi4weDMwNDBiMjJjCiAgICAoUykgWyAyMDFdIG9wX2hhc19pbmRleGVkX3Byb3BlcnR5
IGxvYzEyLCBsb2M3LCBsb2MxMCAgICBPcmlnaW5hbAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGIyMmMuLi4weDMwNDBiMmY0CiAgICAoUykgWyAyMTVd
IGdldF9ieV92YWwgICAgICAgIGxvYzEzLCBhcmcyLCBsb2MxMCAgICBPcmlnaW5hbDsgcHJlZGlj
dGluZyBOb25lCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MDQwYjJmNC4uLjB4MzA0MGI0NzgKICAgIChTKSBbIDIyMV0gam5sZXNzICAgICAgICAgICAgbG9j
MiwgbG9jMTMsIDExKC0+MjMyKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MGI0NzguLi4weDMwNDBiNTRjCiAgICAoUykgWyAyMjVdIHB1dF9ieV92YWwg
ICAgICAgIGxvYzUsIGxvYzQsIGxvYzMgICAgT3JpZ2luYWwKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBiNTRjLi4uMHgzMDQwYjY0YwogICAgKFMpIFsg
MjMyXSBpbmMgICAgICAgICAgICAgICBsb2MxMAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGI2NGMuLi4weDMwNDBiNmU0CiAgICAoUykgWyAyNDVdIGxv
b3BfaGludCAgICAgICAgIAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MGI2ZTQuLi4weDMwNDBiN2Y0CiAgICAoUykgWyAyNDZdIGNoZWNrX3RyYXBzICAg
ICAgIAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGI3
ZjQuLi4weDMwNDBiODg0CiAgICAoUykgWyAyNTNdIG9wX2hhc19zdHJ1Y3R1cmVfcHJvcGVydHkg
bG9jMTIsIGxvYzcsIGxvYzExLCBsb2M4CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwYjg4NC4uLjB4MzA0MGI5MWMKICAgIChTKSBbIDI2NF0gb3BfZ2V0
X2RpcmVjdF9wbmFtZSBsb2MxMywgYXJnMiwgbG9jMywgbG9jMTAsIGxvYzggICAgcHJlZGljdGlu
ZyBOb25lCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
YjkxYy4uLjB4MzA0MGI5YjQKICAgIChTKSBbIDI3MV0gam5sZXNzICAgICAgICAgICAgbG9jMiwg
bG9jMTMsIDExKC0+MjgyKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MGI5YjQuLi4weDMwNDBiYTg4CiAgICAoUykgWyAyNzVdIHB1dF9ieV92YWwgICAg
ICAgIGxvYzUsIGxvYzQsIGxvYzMgICAgQXJyYXlXaXRoQ29udGlndW91cywgT3JpZ2luYWwKICAg
ICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBiYTg4Li4uMHgz
MDQwYmI4OAogICAgKFMpIFsgMjgyXSBpbmMgICAgICAgICAgICAgICBsb2MxMAogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGJiODguLi4weDMwNDBiYzIw
CiAgICAoUykgWyAyOTZdIGxvb3BfaGludCAgICAgICAgIAogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGJjMjAuLi4weDMwNDBiZDMwCiAgICAoUykgWyAy
OTddIGNoZWNrX3RyYXBzICAgICAgIAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MGJkMzAuLi4weDMwNDBiZGMwCiAgICAoUykgWyAzMTRdIGdldF9ieV92
YWwgICAgICAgIGxvYzEzLCBhcmcyLCBsb2MzICAgIE9yaWdpbmFsOyBwcmVkaWN0aW5nIE5vbmUK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBiZGMwLi4u
MHgzMDQwYmY0NAogICAgKFMpIFsgMzIwXSBqbmxlc3MgICAgICAgICAgICBsb2MyLCBsb2MxMywg
MTEoLT4zMzEpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MDQwYmY0NC4uLjB4MzA0MGMwMTgKICAgIChTKSBbIDMyNF0gcHV0X2J5X3ZhbCAgICAgICAgbG9j
NSwgbG9jNCwgbG9jMyAgICBPcmlnaW5hbAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MGMwMTguLi4weDMwNDBjMTE4CiAgICAoUykgWyAzMzFdIGluYyAg
ICAgICAgICAgICAgIGxvYzEwCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwYzExOC4uLjB4MzA0MGMxYjAKICAgIChTKSBbIDM0MV0gaW5jICAgICAgICAg
ICAgICAgbG9jNAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MGMxYjAuLi4weDMwNDBjMjQ4CiAgICAoUykgWyAzNDNdIGFycmF5X2xlbmd0aCAgICAgIGxv
YzcsIGxvYzUsIGxlbmd0aChAaWQyKSBsbGludChhcnJheV9sZW5ndGgpICAgIHByZWRpY3Rpbmcg
Tm9uQm9vbEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2Ug
MHgzMDQwYzI0OC4uLjB4MzA0MGMzMTQKICAgIChTKSBbIDM1Ml0gamxlc3MgICAgICAgICAgICAg
bG9jNCwgbG9jNywgLTIwMSgtPjE1MSkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDBjMzE0Li4uMHgzMDQwYzNlOAogICAgKFMpIFsgMzc0XSBnZXRfYnlf
aWQgICAgICAgICBsb2M5LCBsb2MxMSwgam9pbihAaWQ1KSAgICBwcmVkaWN0aW5nIEZ1bmN0aW9u
CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwYzNlOC4u
LjB4MzA0MGM0YjQKICAgIChTKSBbIDM4Nl0gY2FsbCAgICAgICAgICAgICAgbG9jOSwgbG9jOSwg
MiwgMTYgKHRoaXMgYXQgbG9jMTEpIGxsaW50KDB4MzI2ZjQ0YTAsIGV4ZWMgMHgzMjZkMDRhMCkg
c3RhdHVzKChGdW5jdGlvbjogT2JqZWN0OiAweDMyNmY0NGEwIHdpdGggYnV0dGVyZmx5IDB4MzI2
ZDgzNjggKFN0cnVjdHVyZSAweDMyNmY5MzEwOltGdW5jdGlvbiwge25hbWU6MTAwLCBsZW5ndGg6
MTAxfSwgTm9uQXJyYXksIFByb3RvOjB4MzI2ZGMwYTAsIExlYWZdKTsgRXhlY3V0YWJsZTogTmF0
aXZlRXhlY3V0YWJsZToweDJjYjE2OGIwLzB4MmNjOGI0ZTgpKSAgICBBcnJheVdpdGhDb250aWd1
b3VzLCBPcmlnaW5hbDsgcHJlZGljdGluZyBTdHJpbmdWYXIKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBjNGI0Li4uMHgzMDQwYzU1NAogICAgKFMpIFsg
Mzk1XSBnZXRfYnlfaWQgICAgICAgICBsb2MxMCwgbG9jOSwgbGVuZ3RoKEBpZDIpICAgIHByZWRp
Y3RpbmcgTm9uQm9vbEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwYzU1NC4uLjB4MzA0MGM2MjAKICAgIChTKSBbIDQwNF0gYWRkICAgICAgICAg
ICAgICAgbG9jOCwgbG9jOCwgbG9jMTAgICAgcmVzdWx0czogUmVzdWx0OjxJbnQzMj4gTEhTIE9i
c2VydmVkVHlwZTo8SW50MzI+IFJIUyBPYnNlcnZlZFR5cGU6PEludDMyPiBMSFMgUmVzdWx0VHlw
ZTo8MHg3ZT4gUkhTIFJlc3VsdFR5cGU6PDB4N2U+CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2
YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwYzYyMC4uLjB4MzA0MGM2ZDgKICAgIChTKSBbIDQwOV0g
cHV0X3RvX3Njb3BlICAgICAgbG9jNywgcmV0KEBpZDQpLCBsb2M4LCAyMDQ5PFRocm93SWZOb3RG
b3VuZHxHbG9iYWxWYXJ8Tm90SW5pdGlhbGl6YXRpb24+LCA8c3RydWN0dXJlPiwgODA5MzkwOTM2
CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwYzZkOC4u
LjB4MzA0MGM3NzAKICAgIChTKSBbIDQxOV0gYXJyYXlfbGVuZ3RoICAgICAgbG9jOCwgbG9jNSwg
bGVuZ3RoKEBpZDIpIGxsaW50KGFycmF5X2xlbmd0aCkgICAgcHJlZGljdGluZyBOb25Cb29sSW50
MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBjNzcw
Li4uMHgzMDQwYzgzYwogICAgKFMpIFsgNDI4XSBzdWIgICAgICAgICAgICAgICBsb2M3LCBsb2M3
LCBsb2M4ICAgIHJlc3VsdHM6IFJlc3VsdDo8SW50MzI+IExIUyBPYnNlcnZlZFR5cGU6PEludDMy
PiBSSFMgT2JzZXJ2ZWRUeXBlOjxJbnQzMj4gTEhTIFJlc3VsdFR5cGU6PDB4N2U+IFJIUyBSZXN1
bHRUeXBlOjwweDdlPgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MGM4M2MuLi4weDMwNDBjOGY0CiAgICAoUykgWyA0MzZdIGpncmVhdGVyICAgICAgICAg
IGFyZzEsIEludDMyOiAwKGNvbnN0MSksIC0zNTcoLT43OSkKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBjOGY0Li4uMHgzMDQwYzljOAogICAgKEVuZCBP
ZiBTbG93IFBhdGgpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2Ug
MHgzMDQwYzljOC4uLjB4MzA0MGNiYTQKRGVzdHJveWluZyBKSVQgY29kZSBhdCAweDMwNDAxYjQw
Li4uMHgzMDQwMWI2MApHZW5lcmF0ZWQgSklUIGNvZGUgZm9yIElubGluZUFjY2Vzc1R5cGU6ICdh
cnJheSBsZW5ndGgnOgogICAgQ29kZSBhdCBbMHgzMDQwOWIwNCwgMHgzMDQwOWIwNCk6CiAgICBk
aXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA5YjA0Li4uMHgzMDQwOWI0
YwpMaW5raW5nIGNhbGwgaW4gZmFzdGFSYW5kb20jQkRxRmUwOlsweDMyNjc4NTUwLT4weDMyNmNi
NzIwLCBCYXNlbGluZUZ1bmN0aW9uQ2FsbCwgNDQyXSBiYyMxNzEgdG8gcmFuZCNEV3ZURDI6WzB4
MzI2Nzg4NzAtPjB4MzI2Y2I1YTAsIEJhc2VsaW5lRnVuY3Rpb25DYWxsLCAxMzddLCBlbnRyeXBv
aW50IGF0IENvZGVQdHIoMHgzMDQwNGMyMCkKR2VuZXJhdGVkIERGRyBKSVQgY29kZSBmb3IgcmFu
ZCNEV3ZURDI6WzB4MzI2NzhhMDAtPjB4MzI2Nzg4NzAtPjB4MzI2Y2I1YTAsIERGR0Z1bmN0aW9u
Q2FsbCwgMTM3XSwgaW5zdHJ1Y3Rpb24gY291bnQgPSAxMzc6CiAgICBPcHRpbWl6ZWQgd2l0aCBl
eGVjdXRpb24gY291bnRlciA9IDE1NjAuMjQ0NjI5LzE1NDguMDAwMDAwLCA4CiAgICBDb2RlIGF0
IFsweDMwNDBjYmMwLCAweDMwNDBkNmMwKToKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMwNDBjYmMwLi4uMHgzMDQwY2M2YwogICAgQmxvY2sgIzAgKGJjIzAp
OiAoT1NSIHRhcmdldCkKICAgICAgRXhlY3V0aW9uIGNvdW50OiAxLjAwMDAwMAogICAgICBQcmVk
ZWNlc3NvcnM6CiAgICAgIFN1Y2Nlc3NvcnM6CiAgICAgIERvbWluYXRlZCBieTogI3Jvb3QgIzAK
ICAgICAgRG9taW5hdGVzOiAjMAogICAgICBEb21pbmFuY2UgRnJvbnRpZXI6IAogICAgICBJdGVy
YXRlZCBEb21pbmFuY2UgRnJvbnRpZXI6IAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MGNjNmMuLi4weDMwNDBjY2Q0CiAgICAgICAwOjwgMTotPglTZXRB
cmd1bWVudCh0aGlzKGEpLCBtYWNoaW5lOnRoaXMsIFc6U2lkZVN0YXRlLCBiYyMwLCBFeGl0VmFs
aWQpICBwcmVkaWN0aW5nIE90aGVyT2JqCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwY2NkNC4uLjB4MzA0MGNjZDQKICAgICAgIDE6PCAyOi0+CVNldEFy
Z3VtZW50KElzRmx1c2hlZCwgYXJnMShCPEJvb2xJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFjaGlu
ZTphcmcxLCBXOlNpZGVTdGF0ZSwgYmMjMCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBCb29sSW50
MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBjY2Q0
Li4uMHgzMDQwY2NkNAogICAgICAgMjo8IDM6bG9jMD4JSlNDb25zdGFudChKU3xQdXJlSW50LCBP
dGhlciwgVW5kZWZpbmVkLCBiYyMwLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwY2NkNC4uLjB4MzA0MGNjZDQKICAgICAgIDM6PCEw
Oi0+CU1vdkhpbnQoVW50eXBlZDpAMiwgTXVzdEdlbiwgbG9jMCwgVzpTaWRlU3RhdGUsIENsb2Ji
ZXJzRXhpdCwgYmMjMCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MGNjZDQuLi4weDMwNDBjY2Q0CiAgICAgICA1OjwhMDotPglNb3ZI
aW50KFVudHlwZWQ6QDIsIE11c3RHZW4sIGxvYzEsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQs
IGJjIzAsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MGNjZDQuLi4weDMwNDBjY2Q0CiAgICAgICA3OjwhMDotPglNb3ZIaW50KFVu
dHlwZWQ6QDIsIE11c3RHZW4sIGxvYzIsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzAs
IEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MGNjZDQuLi4weDMwNDBjY2Q0CiAgICAgIDEwOjwgMzpsb2MwPglKU0NvbnN0YW50KEpT
fFVzZUFzT3RoZXIsIE90aGVyT2JqLCBXZWFrOk9iamVjdDogMHgzMjZkNDBhMCB3aXRoIGJ1dHRl
cmZseSAobmlsKSAoU3RydWN0dXJlICVEODpKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudCksIGJj
IzEsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5n
ZSAweDMwNDBjY2Q0Li4uMHgzMDQwY2NkNAogICAgICAxMTo8ITA6LT4JTW92SGludChVbnR5cGVk
OkAxMCwgTXVzdEdlbiwgbG9jMCwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMSwgRXhp
dFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0
MGNjZDQuLi4weDMwNDBjY2Q0CiAgICAgIDEzOjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDEwLCBN
dXN0R2VuLCBsb2MxLCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMzLCBFeGl0VmFsaWQp
CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwY2NkNC4u
LjB4MzA0MGNjZDQKICAgICAgMTU6PCEwOi0+CUNoZWNrVHJhcHMoTXVzdEdlbiwgUjpJbnRlcm5h
bFN0YXRlLCBXOkludGVybmFsU3RhdGUsIEV4aXRzLCBDbG9iYmVyc0V4aXQsIGJjIzYsIEV4aXRW
YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBj
Y2Q0Li4uMHgzMDQwY2Q0MAogICAgICAxNjo8IDk6bG9jMT4JSlNDb25zdGFudChKU3xVc2VBc090
aGVyLCBPdGhlck9iaiwgV2VhazpPYmplY3Q6IDB4MzI2ZWMwYTAgd2l0aCBidXR0ZXJmbHkgMHgz
MjY4NDRhOCAoU3RydWN0dXJlICVEazpnbG9iYWwpLCBiYyM3LCBFeGl0VmFsaWQpCiAgICAgICAg
ZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwY2Q0MC4uLjB4MzA0MGNk
NDAKICAgICAgMTc6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMTYsIE11c3RHZW4sIGxvYzMsIFc6
U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzcsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBjZDQwLi4uMHgzMDQwY2Q0MAogICAg
ICAyMTo8ITA6LT4JTW92SGludChVbnR5cGVkOkAxNiwgTXVzdEdlbiwgbG9jNCwgVzpTaWRlU3Rh
dGUsIENsb2JiZXJzRXhpdCwgYmMjMTQsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBjZDQwLi4uMHgzMDQwY2Q0MAogICAgICAyNTo8
IDI6bG9jMj4JR2V0R2xvYmFsVmFyKEpTLCBOb25Cb29sSW50MzIsIGdsb2JhbCgweDMwM2U1MzYw
KSwgUjpBYnNvbHV0ZSg4MDkzOTA5NDQpLCBFeGl0cywgYmMjMjEsIEV4aXRWYWxpZCkgIHByZWRp
Y3RpbmcgTm9uQm9vbEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwY2Q0MC4uLjB4MzA0MGNkODgKICAgICAgOTc6PCEwOi0+CVBoYW50b20oVW50
eXBlZDpAMTYsIE11c3RHZW4sIGJjIzIxLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkg
bm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwY2Q4OC4uLjB4MzA0MGNkODgKICAgICAgMjY6
PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMjUsIE11c3RHZW4sIGxvYzUsIFc6U2lkZVN0YXRlLCBD
bG9iYmVyc0V4aXQsIGJjIzIxLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2
YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwY2Q4OC4uLjB4MzA0MGNkODgKICAgICAgMjk6PCEwOi0+
CU1vdkhpbnQoVW50eXBlZDpAMTYsIE11c3RHZW4sIGxvYzYsIFc6U2lkZVN0YXRlLCBDbG9iYmVy
c0V4aXQsIGJjIzI5LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwY2Q4OC4uLjB4MzA0MGNkODgKICAgICAgMzM6PCAyOmxvYzM+CUpT
Q29uc3RhbnQoSlMsIE5vbkJvb2xJbnQzMiwgSW50MzI6IDM4NzcsIGJjIzM2LCBFeGl0VmFsaWQp
CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwY2Q4OC4u
LjB4MzA0MGNkODgKICAgICAgMzQ6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMzMsIE11c3RHZW4s
IGxvYzcsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzM2LCBFeGl0VmFsaWQpCiAgICAg
ICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwY2Q4OC4uLjB4MzA0
MGNkODgKICAgICAgMzY6PCEyOmxvYzM+CUFyaXRoTXVsKENoZWNrOkludDMyOkAyNSwgSW50MzI6
QDMzLCBOdW1iZXJ8TXVzdEdlbnxQdXJlTnVtLCBJbnQzMiwgQ2hlY2tPdmVyZmxvdywgRXhpdHMs
IGJjIzQ0LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwY2Q4OC4uLjB4MzA0MGNlMjAKICAgICAgMzc6PCEwOi0+CU1vdkhpbnQoVW50
eXBlZDpAMzYsIE11c3RHZW4sIGxvYzUsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzQ0
LCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5n
ZSAweDMwNDBjZTIwLi4uMHgzMDQwY2UyMAogICAgICA0MDo8ITA6LT4JTW92SGludChVbnR5cGVk
OkAxNiwgTXVzdEdlbiwgbG9jNiwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjNDksIEV4
aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMw
NDBjZTIwLi4uMHgzMDQwY2UyMAogICAgICA0NDo8IDI6bG9jMj4JSlNDb25zdGFudChKU3xQdXJl
TnVtLCBOb25Cb29sSW50MzIsIEludDMyOiAyOTU3MywgYmMjNTYsIEV4aXRWYWxpZCkKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBjZTIwLi4uMHgzMDQw
Y2UyMAogICAgICA0NTo8ITA6LT4JTW92SGludChVbnR5cGVkOkA0NCwgTXVzdEdlbiwgbG9jNywg
VzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjNTYsIEV4aXRWYWxpZCkKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBjZTIwLi4uMHgzMDQwY2UyMAog
ICAgICA0Nzo8ITM6bG9jMj4JQXJpdGhBZGQoSW50MzI6QDM2LCBJbnQzMjpANDQsIEpTfE11c3RH
ZW4sIEludDMyLCBDaGVja092ZXJmbG93LCBFeGl0cywgYmMjNjQsIEV4aXRWYWxpZCkKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBjZTIwLi4uMHgzMDQw
Y2U5OAogICAgICA0ODo8ITA6LT4JTW92SGludChVbnR5cGVkOkA0NywgTXVzdEdlbiwgbG9jNSwg
VzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjNjQsIEV4aXRJbnZhbGlkKQogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGNlOTguLi4weDMwNDBjZTk4
CiAgICAgIDUxOjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDE2LCBNdXN0R2VuLCBsb2M2LCBXOlNp
ZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyM2OSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2Vt
Ymx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGNlOTguLi4weDMwNDBjZTk4CiAgICAg
IDU1OjwgNDpsb2MzPglKU0NvbnN0YW50KEpTfFB1cmVOdW0sIE5vbkJvb2xJbnQzMiwgSW50MzI6
IDEzOTk2OCwgYmMjNzYsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMwNDBjZTk4Li4uMHgzMDQwY2U5OAogICAgICA1Njo8ITA6LT4JTW92
SGludChVbnR5cGVkOkA1NSwgTXVzdEdlbiwgbG9jNywgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhp
dCwgYmMjNzYsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZv
ciByYW5nZSAweDMwNDBjZTk4Li4uMHgzMDQwY2U5OAogICAgICA5Mjo8IDE6bG9jND4JRG91Ymxl
UmVwKE51bWJlcjpANDcsIERvdWJsZXxQdXJlSW50LCBCeXRlY29kZURvdWJsZSwgYmMjODQsIEV4
aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMw
NDBjZTk4Li4uMHgzMDQwY2VhMAogICAgICA5Mzo8IDI6bG9jNT4JRG91YmxlQ29uc3RhbnQoRG91
YmxlfFB1cmVJbnQsIEJ5dGVjb2RlRG91YmxlLCBEb3VibGU6IDQxMDExNjAwOjAwMDAwMDAwLCAx
Mzk5NjguMDAwMDAwLCBiYyM4NCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGNlYTAuLi4weDMwNDBjZWEwCiAgICAgIDkwOjwhMTps
b2M0PglBcml0aE1vZChEb3VibGVSZXA6QDkyPERvdWJsZT4sIERvdWJsZVJlcDpAOTM8RG91Ymxl
PiwgRG91YmxlfE11c3RHZW58VXNlQXNPdGhlciwgQm9vbEludDMyfE5vbkJvb2xJbnQzMnxCeXRl
Y29kZURvdWJsZSwgTm90U2V0LCBFeGl0cywgYmMjODQsIEV4aXRWYWxpZCkKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBjZWEwLi4uMHgzMDQwY2YwOAog
ICAgICA1ODo8ITQ6bG9jND4JRG91YmxlQXNJbnQzMihEb3VibGVSZXA6QDkwPERvdWJsZT4sIE51
bWJlcnxNdXN0R2VufFVzZUFzT3RoZXIsIEludDMyLCBDaGVja092ZXJmbG93QW5kTmVnYXRpdmVa
ZXJvLCBFeGl0cywgYmMjODQsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZh
aWxhYmxlIGZvciByYW5nZSAweDMwNDBjZjA4Li4uMHgzMDQwY2Y4YwogICAgICA5NTo8ITA6LT4J
UGhhbnRvbShVbnR5cGVkOkA0NywgTXVzdEdlbiwgYmMjODQsIEV4aXRWYWxpZCkKICAgICAgICBk
aXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBjZjhjLi4uMHgzMDQwY2Y4
YwogICAgICA4MTo8ITA6LT4JUGhhbnRvbShVbnR5cGVkOkA1NSwgTXVzdEdlbiwgYmMjODQsIEV4
aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMw
NDBjZjhjLi4uMHgzMDQwY2Y4YwogICAgICA1OTo8ITA6LT4JTW92SGludChVbnR5cGVkOkA1OCwg
TXVzdEdlbiwgbG9jNSwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjODQsIEV4aXRWYWxp
ZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBjZjhj
Li4uMHgzMDQwY2Y4YwogICAgICA2Mjo8ITA6LT4JUHV0R2xvYmFsVmFyaWFibGUoQ2VsbDpAMTYs
IFVudHlwZWQ6QDU4LCBNdXN0R2VuLCBnbG9iYWwoMHgzMDNlNTM2MCksIFc6QWJzb2x1dGUoODA5
MzkwOTQ0KSwgRXhpdHMsIENsb2JiZXJzRXhpdCwgYmMjODgsIEV4aXRWYWxpZCkKICAgICAgICBk
aXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBjZjhjLi4uMHgzMDQwY2Zl
MAogICAgICA2NTo8ITA6LT4JTW92SGludChVbnR5cGVkOkAxNiwgTXVzdEdlbiwgbG9jMywgVzpT
aWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjOTUsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBjZmUwLi4uMHgzMDQwY2ZlMAogICAg
ICA3MDo8ITA6LT4JTW92SGludChVbnR5cGVkOkA1OCwgTXVzdEdlbiwgbG9jNCwgVzpTaWRlU3Rh
dGUsIENsb2JiZXJzRXhpdCwgYmMjMTAyLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkg
bm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwY2ZlMC4uLjB4MzA0MGNmZTAKICAgICAgNzI6
PCExOmxvYzI+CUdldExvY2FsKFVudHlwZWQ6QDEsIEpTfE11c3RHZW4sIEJvb2xJbnQzMiwgYXJn
MShCPEJvb2xJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFjaGluZTphcmcxLCBSOlN0YWNrKDUpLCBi
YyMxMTAsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgQm9vbEludDMyCiAgICAgICAgZGlzYXNzZW1i
bHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwY2ZlMC4uLjB4MzA0MGNmZTQKICAgICAg
NzM6PCEzOmxvYzI+CUFyaXRoTXVsKEludDMyOkA1OCwgSW50MzI6QDcyLCBOdW1iZXJ8TXVzdEdl
biwgSW50MzIsIENoZWNrT3ZlcmZsb3dBbmROZWdhdGl2ZVplcm8sIEV4aXRzLCBiYyMxMTAsIEV4
aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMw
NDBjZmU0Li4uMHgzMDQwZDBiYwogICAgICA4MDo8ITA6LT4JUGhhbnRvbShVbnR5cGVkOkAxMCwg
TXVzdEdlbiwgYmMjMTEwLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWls
YWJsZSBmb3IgcmFuZ2UgMHgzMDQwZDBiYy4uLjB4MzA0MGQwYmMKICAgICAgNzQ6PCEwOi0+CU1v
dkhpbnQoVW50eXBlZDpANzMsIE11c3RHZW4sIGxvYzUsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4
aXQsIGJjIzExMCwgRXhpdEludmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwZDBiYy4uLjB4MzA0MGQwYmMKICAgICAgNzc6PCEwOi0+CU1vdkhp
bnQoVW50eXBlZDpAMTYsIE11c3RHZW4sIGxvYzYsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQs
IGJjIzExNSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MGQwYmMuLi4weDMwNDBkMGJjCiAgICAgIDgyOjwhMDotPglNb3ZIaW50KFVu
dHlwZWQ6QDU1LCBNdXN0R2VuLCBsb2M3LCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMx
MjIsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5n
ZSAweDMwNDBkMGJjLi4uMHgzMDQwZDBiYwogICAgICA5NDo8IDE6bG9jMT4JRG91YmxlUmVwKE51
bWJlcjpANzMsIERvdWJsZXxQdXJlSW50LCBCeXRlY29kZURvdWJsZSwgYmMjMTMwLCBFeGl0VmFs
aWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZDBi
Yy4uLjB4MzA0MGQwYzQKICAgICAgODQ6PCEzOmxvYzU+CUFyaXRoRGl2KERvdWJsZVJlcDpAOTQ8
RG91YmxlPiwgRG91YmxlUmVwOkA5MzxEb3VibGU+LCBEb3VibGV8TXVzdEdlbnxVc2VBc090aGVy
fE1heU92ZXJmbG93SW50MzJJbkJhc2VsaW5lfE1heU5lZ1plcm9JbkJhc2VsaW5lLCBCb29sSW50
MzJ8Tm9uQm9vbEludDMyfEJ5dGVjb2RlRG91YmxlLCBOb3RTZXQsIEV4aXRzLCBiYyMxMzAsIEV4
aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMw
NDBkMGM0Li4uMHgzMDQwZDEwYwogICAgICA3ODo8ITA6LT4JUGhhbnRvbShVbnR5cGVkOkA3Mywg
TXVzdEdlbiwgYmMjMTMwLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWls
YWJsZSBmb3IgcmFuZ2UgMHgzMDQwZDEwYy4uLjB4MzA0MGQxMGMKICAgICAgNzY6PCEwOi0+CVBo
YW50b20oVW50eXBlZDpANTUsIE11c3RHZW4sIGJjIzEzMCwgRXhpdFZhbGlkKQogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGQxMGMuLi4weDMwNDBkMTBj
CiAgICAgIDg1OjwhMDotPglNb3ZIaW50KERvdWJsZVJlcDpAODQ8RG91YmxlPiwgTXVzdEdlbiwg
bG9jNSwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMTMwLCBFeGl0SW52YWxpZCkKICAg
ICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBkMTBjLi4uMHgz
MDQwZDEwYwogICAgICA5Njo8IDE6bG9jMz4JVmFsdWVSZXAoRG91YmxlUmVwOkA4NDxEb3VibGU+
LCBKU3xQdXJlSW50LCBCeXRlY29kZURvdWJsZSwgYmMjMTMwLCBleGl0OiBiYyMxMzUsIEV4aXRW
YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBk
MTBjLi4uMHgzMDQwZDExNAogICAgICA4Nzo8ITA6LT4JUmV0dXJuKFVudHlwZWQ6QDk2LCBNdXN0
R2VuLCBXOlNpZGVTdGF0ZSwgRXhpdHMsIGJjIzEzNSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGQxMTQuLi4weDMwNDBkMTcwCiAg
ICAgIDY5OjwhMDotPglQaGFudG9tKENoZWNrOkRvdWJsZVJlcDpAODQ8RG91YmxlPiwgTXVzdEdl
biwgYmMjMTM1LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQwZDE3MC4uLjB4MzA0MGQxNzAKICAgICAgODg6PCEwOi0+CUZsdXNoKENo
ZWNrOlVudHlwZWQ6QDEsIE11c3RHZW58SXNGbHVzaGVkLCBhcmcxKEI8Qm9vbEludDMyPi9GbHVz
aGVkSW50MzIpLCBtYWNoaW5lOmFyZzEsIFI6U3RhY2soNSksIFc6U2lkZVN0YXRlLCBiYyMxMzUs
IEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgQm9vbEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZDE3MC4uLjB4MzA0MGQxNzAKICAgICAgODk6PCEw
Oi0+CVBoYW50b21Mb2NhbChDaGVjazpVbnR5cGVkOkAwLCBNdXN0R2VuLCB0aGlzKGEpLCBtYWNo
aW5lOnRoaXMsIFc6U2lkZVN0YXRlLCBiYyMxMzUsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgT3Ro
ZXJPYmoKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBk
MTcwLi4uMHgzMDQwZDE3MAogICAgKEVuZCBPZiBNYWluIFBhdGgpCiAgICAgICAgZGlzYXNzZW1i
bHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZDE3MC4uLjB4MzA0MGQ2YWMKICAgIFN0
cnVjdHVyZXM6CiAgICAgICAgJUQ4OkpTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50ID0gMHgzMjZm
OTEzMDpbSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQsIHt9LCBOb25BcnJheSwgTGVhZl0KICAg
ICAgICAlRGs6Z2xvYmFsICAgICAgICAgICAgICAgICAgICAgPSAweDMyNjljYWEwOltnbG9iYWws
IHtwYXJzZUludDoxMDAsIHBhcnNlRmxvYXQ6MTAxLCBPYmplY3Q6MTAyLCBGdW5jdGlvbjoxMDMs
IEFycmF5OjEwNCwgUmVnRXhwOjEwNSwgUmFuZ2VFcnJvcjoxMDYsIFR5cGVFcnJvcjoxMDcsIFBy
aXZhdGVTeW1ib2wuT2JqZWN0OjEwOCwgUHJpdmF0ZVN5bWJvbC5BcnJheToxMDksIEFycmF5QnVm
ZmVyOjExMCwgU2hhcmVkQXJyYXlCdWZmZXI6MTExLCBTdHJpbmc6MTEyLCBTeW1ib2w6MTEzLCBO
dW1iZXI6MTE0LCBCb29sZWFuOjExNSwgRXJyb3I6MTE2LCBNYXA6MTE3LCBTZXQ6MTE4LCBQcm9t
aXNlOjExOSwgZXZhbDoxMjAsIEludGw6MTIxLCBSZWZsZWN0OjEyMiwgZGVidWc6MTIzLCBkZXNj
cmliZToxMjQsIGRlc2NyaWJlQXJyYXk6MTI1LCBwcmludDoxMjYsIHByaW50RXJyOjEyNywgcXVp
dDoxMjgsIGdjOjEyOSwgZnVsbEdDOjEzMCwgZWRlbkdDOjEzMSwgZm9yY2VHQ1Nsb3dQYXRoczox
MzIsIGdjSGVhcFNpemU6MTMzLCBhZGRyZXNzT2Y6MTM0LCBkdW1wQ2FsbEZyYW1lOjEzNSwgdmVy
c2lvbjoxMzYsIHJ1bjoxMzcsIHJ1blN0cmluZzoxMzgsIGxvYWQ6MTM5LCBsb2FkU3RyaW5nOjE0
MCwgcmVhZEZpbGU6MTQxLCByZWFkOjE0MiwgY2hlY2tTeW50YXg6MTQzLCBzbGVlcFNlY29uZHM6
MTQ0LCBqc2NTdGFjazoxNDUsIHJlYWRsaW5lOjE0NiwgcHJlY2lzZVRpbWU6MTQ3LCBuZXZlcklu
bGluZUZ1bmN0aW9uOjE0OCwgbm9JbmxpbmU6MTQ5LCBub0RGRzoxNTAsIG5vRlRMOjE1MSwgbm9P
U1JFeGl0RnV6emluZzoxNTIsIG51bWJlck9mREZHQ29tcGlsZXM6MTUzLCBqc2NPcHRpb25zOjE1
NCwgb3B0aW1pemVOZXh0SW52b2NhdGlvbjoxNTUsIHJlb3B0aW1pemF0aW9uUmV0cnlDb3VudDox
NTYsIHRyYW5zZmVyQXJyYXlCdWZmZXI6MTU3LCBmYWlsTmV4dE5ld0NvZGVCbG9jazoxNTgsIERG
R1RydWU6MTU5LCBPU1JFeGl0OjE2MCwgaXNGaW5hbFRpZXI6MTYxLCBwcmVkaWN0SW50MzI6MTYy
LCBpc0ludDMyOjE2MywgZmlhdEludDUyOjE2NCwgZWZmZWN0ZnVsNDI6MTY1LCBtYWtlTWFzcXVl
cmFkZXI6MTY2LCBoYXNDdXN0b21Qcm9wZXJ0aWVzOjE2NywgY3JlYXRlR2xvYmFsT2JqZWN0OjE2
OCwgZHVtcFR5cGVzRm9yQWxsVmFyaWFibGVzOjE2OSwgZHJhaW5NaWNyb3Rhc2tzOjE3MCwgZ2V0
UmFuZG9tU2VlZDoxNzEsIHNldFJhbmRvbVNlZWQ6MTcyLCBpc1JvcGU6MTczLCBjYWxsZXJTb3Vy
Y2VPcmlnaW46MTc0LCBpczMyQml0UGxhdGZvcm06MTc1LCBsb2FkTW9kdWxlOjE3NiwgY2hlY2tN
b2R1bGVTeW50YXg6MTc3LCBwbGF0Zm9ybVN1cHBvcnRzU2FtcGxpbmdQcm9maWxlcjoxNzgsIGdl
bmVyYXRlSGVhcFNuYXBzaG90OjE3OSwgcmVzZXRTdXBlclNhbXBsZXJTdGF0ZToxODAsIGVuc3Vy
ZUFycmF5U3RvcmFnZToxODEsIHN0YXJ0U2FtcGxpbmdQcm9maWxlcjoxODIsIHNhbXBsaW5nUHJv
ZmlsZXJTdGFja1RyYWNlczoxODMsIG1heEFyZ3VtZW50czoxODQsIGFzeW5jVGVzdFN0YXJ0OjE4
NSwgYXN5bmNUZXN0UGFzc2VkOjE4NiwgY29uc29sZToxODcsICQ6MTg4LCAkMjYyOjE4OSwgd2Fp
dEZvclJlcG9ydDoxOTAsIGhlYXBDYXBhY2l0eToxOTEsIGZsYXNoSGVhcEFjY2VzczoxOTJ9LCBO
b25BcnJheSwgUHJvdG86MHgzMjZjMDBhMCwgRGljdGlvbmFyeSwgTGVhZl0KVW5saW5raW5nIGNh
bGwgYXQgQ29kZVB0cigweDMwNDA3MDQwKQpMaW5raW5nIGNhbGwgaW4gZmFzdGFSYW5kb20jQkRx
RmUwOlsweDMyNjc4NTUwLT4weDMyNmNiNzIwLCBCYXNlbGluZUZ1bmN0aW9uQ2FsbCwgNDQyXSBi
YyMxNzEgdG8gcmFuZCNEV3ZURDI6WzB4MzI2NzhhMDAtPjB4MzI2Nzg4NzAtPjB4MzI2Y2I1YTAs
IERGR0Z1bmN0aW9uQ2FsbCwgMTM3XSwgZW50cnlwb2ludCBhdCBDb2RlUHRyKDB4MzA0MGNiYzAp
CkxpbmtpbmcgY2FsbCBpbiBmYXN0YVJhbmRvbSNCRHFGZTA6WzB4MzI2Nzg1NTAtPjB4MzI2Y2I3
MjAsIEJhc2VsaW5lRnVuY3Rpb25DYWxsLCA0NDJdIGJjIzM4NiB0byAobnVsbCksIGVudHJ5cG9p
bnQgYXQgQ29kZVB0cigweDMwNDAxMWMwKQpHZW5lcmF0ZWQgSklUIGNvZGUgZm9yIElubGluZUFj
Y2Vzc1R5cGU6ICdhcnJheSBsZW5ndGgnOgogICAgQ29kZSBhdCBbMHgzMDQwYTIwNCwgMHgzMDQw
YTIwNCk6CiAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBhMjA0
Li4uMHgzMDQwYTI0YwpHZW5lcmF0ZWQgSklUIGNvZGUgZm9yIElubGluZUFjY2Vzc1R5cGU6ICdh
cnJheSBsZW5ndGgnOgogICAgQ29kZSBhdCBbMHgzMDQwNjZiNCwgMHgzMDQwNjZiNCk6CiAgICBk
aXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA2NmI0Li4uMHgzMDQwNjZm
YwpHZW5lcmF0ZWQgSklUIGNvZGUgZm9yIElubGluZUFjY2Vzc1R5cGU6ICdhcnJheSBsZW5ndGgn
OgogICAgQ29kZSBhdCBbMHgzMDQwNmM0OCwgMHgzMDQwNmM0OCk6CiAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDA2YzQ4Li4uMHgzMDQwNmM5MApHZW5lcmF0ZWQg
SklUIGNvZGUgZm9yIEFjY2VzcyBzdHViIGZvciBmYXN0YVJhbmRvbSNCRHFGZTA6WzB4MzI2Nzg1
NTAtPjB4MzI2Y2I3MjAsIEJhc2VsaW5lRnVuY3Rpb25DYWxsLCA0NDJdIGJjIzM3NCB3aXRoIHJl
dHVybiBwb2ludCBDb2RlUHRyKDB4MzA0MDllMDgpOiAKTG9hZDooR2VuZXJhdGVkLCBvZmZzZXQg
PSAxMDYsIGNvbmRpdGlvbnMgPSBbPE9iamVjdDogMHgzMjZmNDNlMCB3aXRoIGJ1dHRlcmZseSAw
eDMyNmI0MmE4IChTdHJ1Y3R1cmUgMHgzMjZmOTg2MDpbQXJyYXksIHt0b1N0cmluZzoxMDAsIHZh
bHVlczoxMDEsIFN5bWJvbC5pdGVyYXRvcjoxMDIsIHRvTG9jYWxlU3RyaW5nOjEwMywgY29uY2F0
OjEwNCwgZmlsbDoxMDUsIGpvaW46MTA2LCBwb3A6MTA3LCBwdXNoOjEwOCwgUHJpdmF0ZVN5bWJv
bC5wdXNoOjEwOSwgcmV2ZXJzZToxMTAsIHNoaWZ0OjExMSwgUHJpdmF0ZVN5bWJvbC5zaGlmdDox
MTIsIHNsaWNlOjExMywgc29ydDoxMTQsIHNwbGljZToxMTUsIHVuc2hpZnQ6MTE2LCBldmVyeTox
MTcsIGZvckVhY2g6MTE4LCBzb21lOjExOSwgaW5kZXhPZjoxMjAsIGxhc3RJbmRleE9mOjEyMSwg
ZmlsdGVyOjEyMiwgcmVkdWNlOjEyMywgcmVkdWNlUmlnaHQ6MTI0LCBtYXA6MTI1LCBlbnRyaWVz
OjEyNiwga2V5czoxMjcsIGZpbmQ6MTI4LCBmaW5kSW5kZXg6MTI5LCBpbmNsdWRlczoxMzAsIGNv
cHlXaXRoaW46MTMxLCBQcml2YXRlU3ltYm9sLmVudHJpZXM6MTMyLCBQcml2YXRlU3ltYm9sLmZv
ckVhY2g6MTMzLCBQcml2YXRlU3ltYm9sLmtleXM6MTM0LCBQcml2YXRlU3ltYm9sLnZhbHVlczox
MzUsIFN5bWJvbC51bnNjb3BhYmxlczoxMzYsIGNvbnN0cnVjdG9yOjEzN30sIEFycmF5Q2xhc3Ms
IFByb3RvOjB4MzI2YzAwYTAsIExlYWZdKTogUHJlc2VuY2Ugb2Ygam9pbiBhdCAxMDYgd2l0aCBh
dHRyaWJ1dGVzIDQ+XSwgc3RydWN0dXJlID0gMHgzMjZmOWM3MDpbQXJyYXksIHt9LCBBcnJheVdp
dGhDb250aWd1b3VzLCBQcm90bzoweDMyNmY0M2UwXSwgdmlhUHJveHkgPSBmYWxzZSwgYWRkaXRp
b25hbFNldCA9IChuaWwpKToKICAgIENvZGUgYXQgWzB4MzA0MGQ2YzAsIDB4MzA0MGQ3NDApOgog
ICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZDZjMC4uLjB4MzA0
MGQ3NDAKR2VuZXJhdGVkIEpJVCBjb2RlIGZvciBJbmxpbmVBY2Nlc3M6IGxpbmtpbmcgY29uc3Rh
bnQganVtcDoKICAgIENvZGUgYXQgWzB4MzA0MDlkYzAsIDB4MzA0MDlkYzApOgogICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwOWRjMC4uLjB4MzA0MDlkZTAKR2Vu
ZXJhdGVkIEpJVCBjb2RlIGZvciBBY2Nlc3Mgc3R1YiBmb3IgZmFzdGFSYW5kb20jQkRxRmUwOlsw
eDMyNjc4NTUwLT4weDMyNmNiNzIwLCBCYXNlbGluZUZ1bmN0aW9uQ2FsbCwgNDQyXSBiYyMzOTUg
d2l0aCByZXR1cm4gcG9pbnQgQ29kZVB0cigweDMwNDBhMDA4KTogClN0cmluZ0xlbmd0aDooR2Vu
ZXJhdGVkKToKICAgIENvZGUgYXQgWzB4MzA0MGQ3NDAsIDB4MzA0MGQ3YzApOgogICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZDc0MC4uLjB4MzA0MGQ3YzAKR2Vu
ZXJhdGVkIEpJVCBjb2RlIGZvciBJbmxpbmVBY2Nlc3M6IGxpbmtpbmcgY29uc3RhbnQganVtcDoK
ICAgIENvZGUgYXQgWzB4MzA0MDlmYzAsIDB4MzA0MDlmYzApOgogICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwOWZjMC4uLjB4MzA0MDlmZTAKR2VuZXJhdGVkIERG
RyBKSVQgY29kZSBmb3IgZmFzdGFSYW5kb20jQkRxRmUwOlsweDMyNjc4YjkwLT4weDMyNjc4NTUw
LT4weDMyNmNiNzIwLCBERkdGdW5jdGlvbkNhbGwsIDQ0Ml0sIGluc3RydWN0aW9uIGNvdW50ID0g
NDQyOgogICAgT3B0aW1pemVkIHdpdGggZXhlY3V0aW9uIGNvdW50ZXIgPSAyMDAwLjAwMDAwMC8y
MTIwLjAwMDAwMCwgMAogICAgQ29kZSBhdCBbMHgzMDQwZDdjMCwgMHgzMDQxMWQyMCk6CiAgICAg
ICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZDdjMC4uLjB4MzA0
MGQ4OTQKICAgIEJsb2NrICMwIChiYyMwKTogKE9TUiB0YXJnZXQpCiAgICAgIEV4ZWN1dGlvbiBj
b3VudDogMS4wMDAwMDAKICAgICAgUHJlZGVjZXNzb3JzOgogICAgICBTdWNjZXNzb3JzOiAjMyAj
MzAKICAgICAgRG9taW5hdGVkIGJ5OiAjcm9vdCAjMAogICAgICBEb21pbmF0ZXM6ICMwICMzICM0
ICM2ICM3ICM4ICM5ICMxMCAjMTEgIzEyICMxNCAjMTUgIzE2ICMxNyAjMTggIzE5ICMyMSAjMjIg
IzIzICMyNCAjMjUgIzI2ICMyOCAjMjkgIzMwCiAgICAgIERvbWluYW5jZSBGcm9udGllcjogCiAg
ICAgIEl0ZXJhdGVkIERvbWluYW5jZSBGcm9udGllcjogCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZDg5NC4uLjB4MzA0MGQ4ZmMKICAgICAgIDA6PCAy
Oi0+CVNldEFyZ3VtZW50KHRoaXMoYSksIG1hY2hpbmU6dGhpcywgVzpTaWRlU3RhdGUsIGJjIzAs
IEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgT3RoZXJPYmoKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBkOGZjLi4uMHgzMDQwZDhmYwogICAgICAgMTo8IDM6
LT4JU2V0QXJndW1lbnQoSXNGbHVzaGVkLCBhcmcxKEI8SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1h
Y2hpbmU6YXJnMSwgVzpTaWRlU3RhdGUsIGJjIzAsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgSW50
MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBkOGZj
Li4uMHgzMDQwZDhmYwogICAgICAgMjo8IDM6LT4JU2V0QXJndW1lbnQoSXNGbHVzaGVkLCBhcmcy
KEM8RmluYWw+L0ZsdXNoZWRDZWxsKSwgbWFjaGluZTphcmcyLCBXOlNpZGVTdGF0ZSwgYmMjMCwg
RXhpdFZhbGlkKSAgcHJlZGljdGluZyBGaW5hbAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGQ4ZmMuLi4weDMwNDBkOGZjCiAgICAgICAzOjwgNzpsb2Mx
MD4JSlNDb25zdGFudChKU3xQdXJlSW50LCBPdGhlciwgVW5kZWZpbmVkLCBiYyMwLCBFeGl0VmFs
aWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZDhm
Yy4uLjB4MzA0MGQ4ZmMKICAgICAgIDQ6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMywgTXVzdEdl
biwgbG9jMCwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMCwgRXhpdFZhbGlkKQogICAg
ICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGQ4ZmMuLi4weDMw
NDBkOGZjCiAgICAgICA2OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDMsIE11c3RHZW4sIGxvYzEs
IFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzAsIEV4aXRJbnZhbGlkKQogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGQ4ZmMuLi4weDMwNDBkOGZj
CiAgICAgICA4OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDMsIE11c3RHZW4sIGxvYzIsIFc6U2lk
ZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzAsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2Vt
Ymx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGQ4ZmMuLi4weDMwNDBkOGZjCiAgICAg
IDEwOjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDMsIE11c3RHZW4sIGxvYzMsIFc6U2lkZVN0YXRl
LCBDbG9iYmVyc0V4aXQsIGJjIzAsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGQ4ZmMuLi4weDMwNDBkOGZjCiAgICAgIDEyOjwh
MDotPglNb3ZIaW50KFVudHlwZWQ6QDMsIE11c3RHZW4sIGxvYzQsIFc6U2lkZVN0YXRlLCBDbG9i
YmVyc0V4aXQsIGJjIzAsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGQ4ZmMuLi4weDMwNDBkOGZjCiAgICAgIDE0OjwhMDotPglN
b3ZIaW50KFVudHlwZWQ6QDMsIE11c3RHZW4sIGxvYzUsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4
aXQsIGJjIzAsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MGQ4ZmMuLi4weDMwNDBkOGZjCiAgICAgIDE2OjwhMDotPglNb3ZIaW50
KFVudHlwZWQ6QDMsIE11c3RHZW4sIGxvYzYsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJj
IzAsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MGQ4ZmMuLi4weDMwNDBkOGZjCiAgICAgIDE5OjwgMzpsb2MxMD4JSlNDb25zdGFu
dChKU3xVc2VBc090aGVyLCBPdGhlck9iaiwgV2VhazpPYmplY3Q6IDB4MzI2ZDQwYTAgd2l0aCBi
dXR0ZXJmbHkgKG5pbCkgKFN0cnVjdHVyZSAlRDg6SlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQp
LCBiYyMxLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwZDhmYy4uLjB4MzA0MGQ4ZmMKICAgICAgMjA6PCEwOi0+CU1vdkhpbnQoVW50
eXBlZDpAMTksIE11c3RHZW4sIGxvYzAsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzEs
IEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDBkOGZjLi4uMHgzMDQwZDhmYwogICAgICAyMTo8IDE6LT4JU2V0TG9jYWwoVW50eXBlZDpA
MTksIGxvYzAoS348T2JqZWN0Pi9GbHVzaGVkSlNWYWx1ZSksIG1hY2hpbmU6bG9jMCwgVzpTdGFj
aygtMSksIGJjIzEsIGV4aXQ6IGJjIzMsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgT3RoZXJPYmoK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBkOGZjLi4u
MHgzMDQwZDkxMAogICAgICAyMjo8ITA6LT4JTW92SGludChVbnR5cGVkOkAxOSwgTXVzdEdlbiwg
bG9jMSwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMywgRXhpdFZhbGlkKQogICAgICAg
IGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGQ5MTAuLi4weDMwNDBk
OTEwCiAgICAgIDI0OjwhMDotPglDaGVja1RyYXBzKE11c3RHZW4sIFI6SW50ZXJuYWxTdGF0ZSwg
VzpJbnRlcm5hbFN0YXRlLCBFeGl0cywgQ2xvYmJlcnNFeGl0LCBiYyM2LCBFeGl0VmFsaWQpCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZDkxMC4uLjB4
MzA0MGQ5N2MKICAgICAgMjU6PCAzOmxvYzEwPglKU0NvbnN0YW50KEpTfFVzZUFzT3RoZXIsIE90
aGVyT2JqLCBXZWFrOk9iamVjdDogMHgzMjZlYzBhMCB3aXRoIGJ1dHRlcmZseSAweDMyNjg0NGE4
IChTdHJ1Y3R1cmUgJURrOmdsb2JhbCksIGJjIzcsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBkOTdjLi4uMHgzMDQwZDk3YwogICAg
ICAyNjo8ITA6LT4JTW92SGludChVbnR5cGVkOkAyNSwgTXVzdEdlbiwgbG9jNywgVzpTaWRlU3Rh
dGUsIENsb2JiZXJzRXhpdCwgYmMjNywgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGQ5N2MuLi4weDMwNDBkOTdjCiAgICAgIDMxOjwg
Mjpsb2MxMT4JSlNDb25zdGFudChKU3xVc2VBc090aGVyLCBPdGhlck9iaiwgV2VhazpPYmplY3Q6
IDB4MzI2ZGMxYTAgd2l0aCBidXR0ZXJmbHkgMHgzMjZjNDJlOCAoU3RydWN0dXJlICVEYjpGdW5j
dGlvbiksIGJjIzE0LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwZDk3Yy4uLjB4MzA0MGQ5N2MKICAgICAgMzM6PCEwOi0+CU1vdkhp
bnQoVW50eXBlZDpAMzEsIE11c3RHZW4sIGxvYzgsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQs
IGJjIzE0LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwZDk3Yy4uLjB4MzA0MGQ5N2MKICAgICAgMzU6PCAyOmxvYzEyPglKU0NvbnN0
YW50KEpTfFB1cmVOdW18VXNlQXNPdGhlcnxVc2VBc0ludHxSZWFsbHlXYW50c0ludCwgTm9uQm9v
bEludDMyLCBJbnQzMjogNjAsIGJjIzIyLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkg
bm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZDk3Yy4uLjB4MzA0MGQ5N2MKICAgICAgMzY6
PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMzUsIE11c3RHZW4sIGxvYzEwLCBXOlNpZGVTdGF0ZSwg
Q2xvYmJlcnNFeGl0LCBiYyMyMiwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGQ5N2MuLi4weDMwNDBkOTdjCiAgICAgIDM4OjwhMDot
PglNb3ZIaW50KFVudHlwZWQ6QDMxLCBNdXN0R2VuLCBsb2MxMSwgVzpTaWRlU3RhdGUsIENsb2Ji
ZXJzRXhpdCwgYmMjMjUsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMwNDBkOTdjLi4uMHgzMDQwZDk3YwogICAgICA0MTo8ITM6bG9jMTI+
CU5ld0FycmF5V2l0aFNpemUoSW50MzI6QDM1LCBKU3xNdXN0R2VufFVzZUFzT3RoZXIsIEFycmF5
LCBBcnJheVdpdGhDb250aWd1b3VzLCBSOkhlYXBPYmplY3RDb3VudCwgVzpIZWFwT2JqZWN0Q291
bnQsIEV4aXRzLCBDbG9iYmVyc0V4aXQsIGJjIzMzLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZDk3Yy4uLjB4MzA0MGRjMjAKICAg
ICAgNDI6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpANDEsIE11c3RHZW4sIGxvYzUsIFc6U2lkZVN0
YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzMzLCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJs
eSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBkYzIwLi4uMHgzMDQwZGMyMAogICAgIDcy
Njo8ITA6LT4JQ2hlY2tTdHJ1Y3R1cmUoQ2VsbDpANDEsIE11c3RHZW4sIFslQVc6QXJyYXldLCBS
OkpTQ2VsbF9zdHJ1Y3R1cmVJRCwgRXhpdHMsIGJjIzMzLCBleGl0OiBiYyMzNywgRXhpdFZhbGlk
KQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGRjMjAu
Li4weDMwNDBkYzg0CiAgICAgIDQzOjwgMTotPglTZXRMb2NhbChDZWxsOkA0MSwgbG9jNShRPEFy
cmF5Pi9GbHVzaGVkQ2VsbCksIG1hY2hpbmU6bG9jNCwgVzpTdGFjaygtNiksIGJjIzMzLCBleGl0
OiBiYyMzNywgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBBcnJheQogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGRjODQuLi4weDMwNDBkYzg4CiAgICAgIDU0
OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDI1LCBNdXN0R2VuLCBsb2M5LCBXOlNpZGVTdGF0ZSwg
Q2xvYmJlcnNFeGl0LCBiYyM0OCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGRjODguLi4weDMwNDBkYzg4CiAgICAgIDU5OjwgMjps
b2MxMj4JSlNDb25zdGFudChKU3xVc2VBc090aGVyLCBGdW5jdGlvbiwgV2VhazpPYmplY3Q6IDB4
MzI2ZjZjNjAgd2l0aCBidXR0ZXJmbHkgKG5pbCkgKFN0cnVjdHVyZSAlQW86RnVuY3Rpb24pLCBi
YyM1NSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MGRjODguLi4weDMwNDBkYzg4CiAgICAgIDYwOjwhMDotPglNb3ZIaW50KFVudHlw
ZWQ6QDU5LCBNdXN0R2VuLCBsb2M3LCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyM1NSwg
RXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MGRjODguLi4weDMwNDBkYzg4CiAgICAgIDYyOjwhMjpsb2MxMT4JR2V0TG9jYWwoVW50eXBl
ZDpAMiwgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBGaW5hbCwgYXJnMihDPEZpbmFsPi9GbHVzaGVk
Q2VsbCksIG1hY2hpbmU6YXJnMiwgUjpTdGFjayg2KSwgYmMjNjMsIEV4aXRWYWxpZCkgIHByZWRp
Y3RpbmcgRmluYWwKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDBkYzg4Li4uMHgzMDQwZGM4YwogICAgICA2Mzo8ITA6LT4JTW92SGludChVbnR5cGVkOkA2
MiwgTXVzdEdlbiwgbG9jOCwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjNjMsIEV4aXRW
YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBk
YzhjLi4uMHgzMDQwZGM4YwogICAgICA2NTo8ITE6bG9jMTE+CURpcmVjdENhbGwoVW50eXBlZDpA
NTksIFVudHlwZWQ6QDI1LCBVbnR5cGVkOkA2MiwgSlN8TXVzdEdlbnxWYXJBcmdzfFB1cmVJbnQs
IE90aGVyLCA8MHgzMjZjYjYyMCwgRnVuY3Rpb25FeGVjdXRhYmxlPiwgbWFrZUN1bXVsYXRpdmUj
Q0VBcmkwLzxub2dlbj46WzB4MzI2Y2I2MjBdLCBSOldvcmxkLCBXOkhlYXAsIEV4aXRzLCBDbG9i
YmVyc0V4aXQsIGJjIzY2LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIE90aGVyCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZGM4Yy4uLjB4MzA0MGRkYWMK
ICAgICAgNjY6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpANjUsIE11c3RHZW4sIGxvYzcsIFc6U2lk
ZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzY2LCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBkZGFjLi4uMHgzMDQwZGRhYwogICAg
IDcyMTo8ITA6LT4JSW52YWxpZGF0aW9uUG9pbnQoTXVzdEdlbiwgVzpTaWRlU3RhdGUsIEV4aXRz
LCBiYyM2NiwgZXhpdDogYmMjNzUsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBkZGFjLi4uMHgzMDQwZGRlNAogICAgICA2ODo8ITE6
bG9jMTE+CUdldExvY2FsKFVudHlwZWQ6QDEsIEpTfE11c3RHZW58VXNlQXNPdGhlciwgSW50MzIs
IGFyZzEoQjxJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFjaGluZTphcmcxLCBSOlN0YWNrKDUpLCBi
YyM3NSwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGRkZTQuLi4weDMwNDBkZGU4CiAgICAgIDY5Ojwg
MTpsb2MxMD4JSlNDb25zdGFudChKU3xVc2VBc090aGVyLCBCb29sSW50MzIsIEludDMyOiAwLCBi
YyM3NSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MGRkZTguLi4weDMwNDBkZGU4CiAgICAgIDcwOjwgMTpsb2MxMD4JQ29tcGFyZUdy
ZWF0ZXIoSW50MzI6QDY4LCBJbnQzMjpANjksIEJvb2xlYW58VXNlQXNPdGhlciwgQm9vbCwgRXhp
dHMsIGJjIzc1LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQwZGRlOC4uLjB4MzA0MGRlNDgKICAgICAgNzE6PCEwOi0+CUJyYW5jaChL
bm93bkJvb2xlYW46QDcwLCBNdXN0R2VuLCBUOiMzL3c6MTAuMDAwMDAwLCBGOiMzMC93OjEuMDAw
MDAwLCBXOlNpZGVTdGF0ZSwgYmMjNzUsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGRlNDguLi4weDMwNDBkZTQ4CiAgICBCbG9j
ayAjMyAoYmMjNzkpOiAoT1NSIHRhcmdldCkKICAgICAgRXhlY3V0aW9uIGNvdW50OiAxMC4wMDAw
MDAKICAgICAgUHJlZGVjZXNzb3JzOiAjMCAjMjkKICAgICAgU3VjY2Vzc29yczogIzQgIzYKICAg
ICAgRG9taW5hdGVkIGJ5OiAjcm9vdCAjMCAjMwogICAgICBEb21pbmF0ZXM6ICMzICM0ICM2ICM3
ICM4ICM5ICMxMCAjMTEgIzEyICMxNCAjMTUgIzE2ICMxNyAjMTggIzE5ICMyMSAjMjIgIzIzICMy
NCAjMjUgIzI2ICMyOCAjMjkKICAgICAgRG9taW5hbmNlIEZyb250aWVyOiAjMyAjMzAKICAgICAg
SXRlcmF0ZWQgRG9taW5hbmNlIEZyb250aWVyOiAjMyAjMzAKICAgICAgTG9vcCBoZWFkZXIsIGNv
bnRhaW5zOiAjMyAjNCAjNiAjNyAjOCAjOSAjMTAgIzExICMxMiAjMTQgIzE1ICMxNiAjMTcgIzE4
ICMxOSAjMjEgIzIyICMyMyAjMjQgIzI1ICMyNiAjMjggIzI5CiAgICAgIENvbnRhaW5pbmcgbG9v
cCBoZWFkZXJzOiAjMwogICAgICBQaGkgTm9kZXM6IEA1MTk8bG9jNSwyPi0+KEA0NzIsIEA0Myks
IEA1NDc8YXJnMSwzPi0+KEA0NjEsIEAxKSwgQDYzMjxsb2MwLDI+LT4oQDU3OSwgQDIxKSwgQDY3
ODxhcmcyLDI+LT4oQDQ5MiwgQDIpLCBANjcwPHRoaXMsMj4tPihANTk1LCBAMCkKICAgICAgICBk
aXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBkZTQ4Li4uMHgzMDQwZGVi
MAogICAgICA3Mjo8ITA6LT4JTG9vcEhpbnQoTXVzdEdlbiwgVzpTaWRlU3RhdGUsIGJjIzc5LCBF
eGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MDQwZGViMC4uLjB4MzA0MGRlYjAKICAgICAgNzM6PCEwOi0+CUNoZWNrVHJhcHMoTXVzdEdlbiwg
UjpJbnRlcm5hbFN0YXRlLCBXOkludGVybmFsU3RhdGUsIEV4aXRzLCBDbG9iYmVyc0V4aXQsIGJj
IzgwLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFu
Z2UgMHgzMDQwZGViMC4uLjB4MzA0MGRmMWMKICAgICAgNzQ6PCEzOmxvYzEyPglHZXRMb2NhbChV
bnR5cGVkOkA1MTksIEpTfE11c3RHZW58VXNlQXNPdGhlciwgQXJyYXksIGxvYzUoUTxBcnJheT4v
Rmx1c2hlZENlbGwpLCBtYWNoaW5lOmxvYzQsIFI6U3RhY2soLTYpLCBiYyM4MSwgRXhpdFZhbGlk
KSAgcHJlZGljdGluZyBBcnJheQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MGRmMWMuLi4weDMwNDBkZjIwCiAgICAgNjg3OjwhMDotPglDaGVja1N0cnVj
dHVyZShDZWxsOkA3NCwgTXVzdEdlbiwgWyVBVzpBcnJheV0sIFI6SlNDZWxsX3N0cnVjdHVyZUlE
LCBFeGl0cywgYmMjODEsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMwNDBkZjIwLi4uMHgzMDQwZGY4NAogICAgIDY4ODo8IDE6bG9jMTE+
CUdldEJ1dHRlcmZseShDZWxsOkA3NCwgU3RvcmFnZXxQdXJlSW50LCBSOkpTT2JqZWN0X2J1dHRl
cmZseSwgRXhpdHMsIGJjIzgxLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2
YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZGY4NC4uLjB4MzA0MGRmYzAKICAgICAgNzU6PCAyOmxv
YzExPglHZXRBcnJheUxlbmd0aChLbm93bkNlbGw6QDc0LCBVbnR5cGVkOkA2ODgsIEpTfFVzZUFz
T3RoZXIsIE5vbkJvb2xJbnQzMiwgQ29udGlndW91cytPcmlnaW5hbEFycmF5K0luQm91bmRzK0Fz
SXMsIFI6QnV0dGVyZmx5X3B1YmxpY0xlbmd0aCwgRXhpdHMsIGJjIzgxLCBFeGl0VmFsaWQpCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZGZjMC4uLjB4
MzA0MGRmZmMKICAgICAgNzY6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpANzUsIE11c3RHZW4sIGxv
YzcsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzgxLCBFeGl0SW52YWxpZCkKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBkZmZjLi4uMHgzMDQw
ZGZmYwogICAgICA3ODo8ITE6bG9jMTI+CUdldExvY2FsKFVudHlwZWQ6QDU0NywgSlN8TXVzdEdl
bnxVc2VBc090aGVyLCBJbnQzMiwgYXJnMShCPEludDMyPi9GbHVzaGVkSW50MzIpLCBtYWNoaW5l
OmFyZzEsIFI6U3RhY2soNSksIGJjIzkwLCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIEludDMyCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZGZmYy4uLjB4
MzA0MGUwMDAKICAgICAgNzk6PCAxOmxvYzExPglDb21wYXJlTGVzcyhJbnQzMjpANzgsIEludDMy
OkA3NSwgQm9vbGVhbnxVc2VBc090aGVyLCBCb29sLCBFeGl0cywgYmMjOTAsIEV4aXRWYWxpZCkK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlMDAwLi4u
MHgzMDQwZTA1YwogICAgICA4MDo8ITA6LT4JQnJhbmNoKEtub3duQm9vbGVhbjpANzksIE11c3RH
ZW4sIFQ6IzQvdzoxMC4wMDAwMDAsIEY6IzYvdzoxMC4wMDAwMDAsIFc6U2lkZVN0YXRlLCBiYyM5
MCwgRXhpdEludmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFu
Z2UgMHgzMDQwZTA1Yy4uLjB4MzA0MGUwNWMKICAgIEJsb2NrICM0IChiYyM5NCk6CiAgICAgIEV4
ZWN1dGlvbiBjb3VudDogMTAuMDAwMDAwCiAgICAgIFByZWRlY2Vzc29yczogIzMKICAgICAgU3Vj
Y2Vzc29yczogIzYKICAgICAgRG9taW5hdGVkIGJ5OiAjcm9vdCAjMCAjMyAjNAogICAgICBEb21p
bmF0ZXM6ICM0CiAgICAgIERvbWluYW5jZSBGcm9udGllcjogIzYKICAgICAgSXRlcmF0ZWQgRG9t
aW5hbmNlIEZyb250aWVyOiAjMyAjNiAjMzAKICAgICAgQ29udGFpbmluZyBsb29wIGhlYWRlcnM6
ICMzCiAgICAgIFBoaSBOb2RlczogQDUxNzxsb2MwLDI+LT4oQDYzMiksIEA1MTg8YXJnMSwyPi0+
KEA1NDcpLCBANTI2PGFyZzIsMT4tPihANjc4KSwgQDYxNDx0aGlzLDE+LT4oQDY3MCkKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlMDVjLi4uMHgzMDQw
ZTBjNAogICAgICA4MTo8IDI6bG9jMTI+CUpTQ29uc3RhbnQoSlN8VXNlQXNPdGhlciwgT3RoZXJP
YmosIFdlYWs6T2JqZWN0OiAweDMyNmVjMGEwIHdpdGggYnV0dGVyZmx5IDB4MzI2ODQ0YTggKFN0
cnVjdHVyZSAlRGs6Z2xvYmFsKSwgYmMjOTQsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJs
eSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlMGM0Li4uMHgzMDQwZTBjNAogICAgICA4
Mjo8ITA6LT4JTW92SGludChVbnR5cGVkOkA4MSwgTXVzdEdlbiwgbG9jNywgVzpTaWRlU3RhdGUs
IENsb2JiZXJzRXhpdCwgYmMjOTQsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlMGM0Li4uMHgzMDQwZTBjNAogICAgIDcyOTo8ITA6
LT4JUGhhbnRvbUxvY2FsKFVudHlwZWQ6QDUxNywgTXVzdEdlbiwgbG9jMChLfjxPYmplY3Q+L0Zs
dXNoZWRKU1ZhbHVlKSwgbWFjaGluZTpsb2MwLCBXOlNpZGVTdGF0ZSwgYmMjOTQsIEV4aXRJbnZh
bGlkKSAgcHJlZGljdGluZyBPdGhlck9iagogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MGUwYzQuLi4weDMwNDBlMGM0CiAgICAgIDg2OjwhMDotPglGb3Jj
ZU9TUkV4aXQoTXVzdEdlbiwgVzpTaWRlU3RhdGUsIEV4aXRzLCBiYyMxMDEsIEV4aXRWYWxpZCkK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlMGM0Li4u
MHgzMDQwZTEyOAogICAgIDQ0OTo8ITA6LT4JUGhhbnRvbShDaGVjazpVbnR5cGVkOkA4MSwgTXVz
dEdlbiwgYmMjMTAxLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwZTEyOC4uLjB4MzA0MGUxMjgKICAgICAgODk6PCAzOmxvYzEyPglK
U0NvbnN0YW50KEpTfFVzZUFzT3RoZXIsIE90aGVyT2JqLCBXZWFrOk9iamVjdDogMHgzMjZkYzFh
MCB3aXRoIGJ1dHRlcmZseSAweDMyNmM0MmU4IChTdHJ1Y3R1cmUgJURiOkZ1bmN0aW9uKSwgYmMj
MTAxLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFu
Z2UgMHgzMDQwZTEyOC4uLjB4MzA0MGUxMjgKICAgICAgOTE6PCEwOi0+CU1vdkhpbnQoQ2hlY2s6
VW50eXBlZDpAODksIE11c3RHZW4sIGxvYzgsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJj
IzEwMSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MGUxMjguLi4weDMwNDBlMTI4CiAgICAgIDkzOjwhMjpsb2MxMT4JR2V0TG9jYWwo
Q2hlY2s6VW50eXBlZDpANTE4LCBKU3xNdXN0R2VufFB1cmVOdW18VXNlQXNPdGhlcnxVc2VBc0lu
dHxSZWFsbHlXYW50c0ludCwgSW50MzIsIGFyZzEoQjxJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFj
aGluZTphcmcxLCBSOlN0YWNrKDUpLCBiYyMxMDksIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgSW50
MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlMTI4
Li4uMHgzMDQwZTEyOAogICAgICA5NDo8ITA6LT4JTW92SGludChDaGVjazpVbnR5cGVkOkA5Mywg
TXVzdEdlbiwgbG9jMTAsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzEwOSwgRXhpdFZh
bGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGUx
MjguLi4weDMwNDBlMTI4CiAgICAgIDk2OjwhMDotPglNb3ZIaW50KENoZWNrOlVudHlwZWQ6QDg5
LCBNdXN0R2VuLCBsb2MxMSwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMTEyLCBFeGl0
VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
ZTEyOC4uLjB4MzA0MGUxMjgKICAgICAgOTg6PCEwOi0+CUNoZWNrQ2VsbChDaGVjazpDZWxsOkA4
OSwgTXVzdEdlbiwgPDB4MzI2ZGMxYTAsIEZ1bmN0aW9uPiwgRXhpdHMsIGJjIzExNSwgRXhpdFZh
bGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGUx
MjguLi4weDMwNDBlMTI4CiAgICAgIDk5OjwhMzpsb2MxMT4JTmV3QXJyYXlXaXRoU2l6ZShDaGVj
azpJbnQzMjpAOTMsIEpTfE11c3RHZW58VXNlQXNPdGhlciwgQXJyYXksIEFycmF5V2l0aFVuZGVj
aWRlZCwgUjpIZWFwT2JqZWN0Q291bnQsIFc6SGVhcE9iamVjdENvdW50LCBFeGl0cywgQ2xvYmJl
cnNFeGl0LCBiYyMxMjAsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMwNDBlMTI4Li4uMHgzMDQwZTEyOAogICAgIDEwMDo8ITA6LT4JTW92
SGludChDaGVjazpVbnR5cGVkOkA5OSwgTXVzdEdlbiwgbG9jNSwgVzpTaWRlU3RhdGUsIENsb2Ji
ZXJzRXhpdCwgYmMjMTIwLCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZh
aWxhYmxlIGZvciByYW5nZSAweDMwNDBlMTI4Li4uMHgzMDQwZTEyOAogICAgIDcyNzo8ITA6LT4J
Q2hlY2tTdHJ1Y3R1cmUoQ2hlY2s6Q2VsbDpAOTksIE11c3RHZW4sIFslQVc6QXJyYXldLCBSOkpT
Q2VsbF9zdHJ1Y3R1cmVJRCwgRXhpdHMsIGJjIzEyMCwgZXhpdDogYmMjMTI0LCBFeGl0VmFsaWQp
CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTEyOC4u
LjB4MzA0MGUxMjgKICAgICAxMDE6PCAxOi0+CVNldExvY2FsKENoZWNrOkNlbGw6QDk5LCBsb2M1
KFE8QXJyYXk+L0ZsdXNoZWRDZWxsKSwgbWFjaGluZTpsb2M0LCBXOlN0YWNrKC02KSwgRXhpdHMs
IGJjIzEyMCwgZXhpdDogYmMjMTI0LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIEFycmF5CiAgICAg
ICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTEyOC4uLjB4MzA0
MGUxMjgKICAgICAxMDI6PCEwOi0+CUp1bXAoTXVzdEdlbiwgVDojNiwgVzpTaWRlU3RhdGUsIGJj
IzEyNCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MGUxMjguLi4weDMwNDBlMTI4CiAgICBCbG9jayAjNiAoYmMjMTM1KToKICAgICAg
RXhlY3V0aW9uIGNvdW50OiAxMC4wMDAwMDAKICAgICAgUHJlZGVjZXNzb3JzOiAjMyAjNAogICAg
ICBTdWNjZXNzb3JzOiAjNyAjMjkKICAgICAgRG9taW5hdGVkIGJ5OiAjcm9vdCAjMCAjMyAjNgog
ICAgICBEb21pbmF0ZXM6ICM2ICM3ICM4ICM5ICMxMCAjMTEgIzEyICMxNCAjMTUgIzE2ICMxNyAj
MTggIzE5ICMyMSAjMjIgIzIzICMyNCAjMjUgIzI2ICMyOCAjMjkKICAgICAgRG9taW5hbmNlIEZy
b250aWVyOiAjMyAjMzAKICAgICAgSXRlcmF0ZWQgRG9taW5hbmNlIEZyb250aWVyOiAjMyAjMzAK
ICAgICAgQ29udGFpbmluZyBsb29wIGhlYWRlcnM6ICMzCiAgICAgIFBoaSBOb2RlczogQDY2NDxs
b2M1LDM+LT4oQDEwMSwgQDUxOSksIEA2MzQ8bG9jMCwyPi0+KEA1MTcsIEA2MzIpLCBANjQ5PGFy
ZzIsMj4tPihANTI2LCBANjc4KSwgQDUwMTx0aGlzLDI+LT4oQDYxNCwgQDY3MCksIEA0Njxhcmcx
LDI+LT4oQDUxOCwgQDU0NykKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMwNDBlMTI4Li4uMHgzMDQwZTE5MAogICAgIDExMTo8IDM6bG9jMTI+CUpTQ29uc3Rh
bnQoSlN8VXNlQXNPdGhlcnxSZWFsbHlXYW50c0ludCwgQm9vbEludDMyLCBJbnQzMjogMCwgYmMj
MTM1LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFu
Z2UgMHgzMDQwZTE5MC4uLjB4MzA0MGUxOTAKICAgICAxMTI6PCEwOi0+CU1vdkhpbnQoVW50eXBl
ZDpAMTExLCBNdXN0R2VuLCBsb2M0LCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMxMzUs
IEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDBlMTkwLi4uMHgzMDQwZTE5MAogICAgIDExMzo8IDE6LT4JU2V0TG9jYWwoSW50MzI6QDEx
MSwgbG9jNChRQjxJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFjaGluZTpsb2MzLCBXOlN0YWNrKC01
KSwgYmMjMTM1LCBleGl0OiBiYyMxMzgsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgSW50MzIKICAg
ICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlMTkwLi4uMHgz
MDQwZTE5OAogICAgIDExNDo8ITI6bG9jMTE+CUdldExvY2FsKFVudHlwZWQ6QDY2NCwgSlN8TXVz
dEdlbnxVc2VBc090aGVyLCBBcnJheSwgbG9jNShRPEFycmF5Pi9GbHVzaGVkQ2VsbCksIG1hY2hp
bmU6bG9jNCwgUjpTdGFjaygtNiksIGJjIzEzOCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBBcnJh
eQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGUxOTgu
Li4weDMwNDBlMTljCiAgICAgNjkwOjwgMTpsb2MxMD4JR2V0QnV0dGVyZmx5KENlbGw6QDExNCwg
U3RvcmFnZXxQdXJlSW50LCBSOkpTT2JqZWN0X2J1dHRlcmZseSwgRXhpdHMsIGJjIzEzOCwgRXhp
dFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0
MGUxOWMuLi4weDMwNDBlMWQ4CiAgICAgMTE1OjwgMjpsb2MxMD4JR2V0QXJyYXlMZW5ndGgoS25v
d25DZWxsOkAxMTQsIFVudHlwZWQ6QDY5MCwgSlN8VXNlQXNPdGhlciwgTm9uQm9vbEludDMyLCBD
b250aWd1b3VzK09yaWdpbmFsQXJyYXkrSW5Cb3VuZHMrQXNJcywgUjpCdXR0ZXJmbHlfcHVibGlj
TGVuZ3RoLCBFeGl0cywgYmMjMTM4LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTFkOC4uLjB4MzA0MGUyMTQKICAgICAxMTY6PCEw
Oi0+CU1vdkhpbnQoVW50eXBlZDpAMTE1LCBNdXN0R2VuLCBsb2M3LCBXOlNpZGVTdGF0ZSwgQ2xv
YmJlcnNFeGl0LCBiYyMxMzgsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGUyMTQuLi4weDMwNDBlMjE0CiAgICAgMTE4OjwgMTps
b2MxMD4JQ29tcGFyZUxlc3MoSW50MzI6QDExMSwgSW50MzI6QDExNSwgQm9vbGVhbnxVc2VBc090
aGVyLCBCb29sLCBFeGl0cywgYmMjMTQ3LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkg
bm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTIxNC4uLjB4MzA0MGUyNzQKICAgICAxMTk6
PCEwOi0+CUJyYW5jaChLbm93bkJvb2xlYW46QDExOCwgTXVzdEdlbiwgVDojNy93OjEwMC4wMDAw
MDAsIEY6IzI5L3c6MTAuMDAwMDAwLCBXOlNpZGVTdGF0ZSwgYmMjMTQ3LCBFeGl0SW52YWxpZCkK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlMjc0Li4u
MHgzMDQwZTI3NAogICAgQmxvY2sgIzcgKGJjIzE1MSk6IChPU1IgdGFyZ2V0KQogICAgICBFeGVj
dXRpb24gY291bnQ6IDEwMC4wMDAwMDAKICAgICAgUHJlZGVjZXNzb3JzOiAjNiAjMjgKICAgICAg
U3VjY2Vzc29yczogIzgKICAgICAgRG9taW5hdGVkIGJ5OiAjcm9vdCAjMCAjMyAjNiAjNwogICAg
ICBEb21pbmF0ZXM6ICM3ICM4ICM5ICMxMCAjMTEgIzEyICMxNCAjMTUgIzE2ICMxNyAjMTggIzE5
ICMyMSAjMjIgIzIzICMyNCAjMjUgIzI2ICMyOAogICAgICBEb21pbmFuY2UgRnJvbnRpZXI6ICM3
ICMyOQogICAgICBJdGVyYXRlZCBEb21pbmFuY2UgRnJvbnRpZXI6ICMzICM3ICMyOSAjMzAKICAg
ICAgTG9vcCBoZWFkZXIsIGNvbnRhaW5zOiAjNyAjOCAjOSAjMTAgIzExICMxMiAjMTQgIzE1ICMx
NiAjMTcgIzE4ICMxOSAjMjEgIzIyICMyMyAjMjQgIzI1ICMyNiAjMjgKICAgICAgQ29udGFpbmlu
ZyBsb29wIGhlYWRlcnM6ICM3ICMzCiAgICAgIFBoaSBOb2RlczogQDU3Mjxsb2MwLDI+LT4oQDU2
MywgQDYzNCksIEA1NzU8dGhpcywyPi0+KEA1MjUsIEA1MDEpLCBANjUxPGFyZzIsMj4tPihANDks
IEA2NDkpLCBANTU5PGxvYzQsMT4tPihANDExLCBAMTEzKSwgQDQ4ODxsb2M1LDE+LT4oQDU4Miwg
QDY2NCksIEA2NTU8YXJnMSwxPi0+KEA1OTksIEA0NikKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlMjc0Li4uMHgzMDQwZTJkYwogICAgIDEyMDo8ITA6
LT4JTG9vcEhpbnQoTXVzdEdlbiwgVzpTaWRlU3RhdGUsIGJjIzE1MSwgRXhpdFZhbGlkKQogICAg
ICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGUyZGMuLi4weDMw
NDBlMmRjCiAgICAgMTIxOjwhMDotPglDaGVja1RyYXBzKE11c3RHZW4sIFI6SW50ZXJuYWxTdGF0
ZSwgVzpJbnRlcm5hbFN0YXRlLCBFeGl0cywgQ2xvYmJlcnNFeGl0LCBiYyMxNTIsIEV4aXRWYWxp
ZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlMmRj
Li4uMHgzMDQwZTM0OAogICAgIDEyMjo8IDExOmxvYzEyPglKU0NvbnN0YW50KEpTfFVzZUFzT3Ro
ZXIsIE90aGVyT2JqLCBXZWFrOk9iamVjdDogMHgzMjZlYzBhMCB3aXRoIGJ1dHRlcmZseSAweDMy
Njg0NGE4IChTdHJ1Y3R1cmUgJURrOmdsb2JhbCksIGJjIzE1MywgRXhpdFZhbGlkKQogICAgICAg
IGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGUzNDguLi4weDMwNDBl
MzQ4CiAgICAgMTIzOjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDEyMiwgTXVzdEdlbiwgbG9jOSwg
VzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMTUzLCBFeGl0VmFsaWQpCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTM0OC4uLjB4MzA0MGUzNDgK
ICAgICA3MzA6PCEwOi0+CVBoYW50b21Mb2NhbChVbnR5cGVkOkA1NzIsIE11c3RHZW4sIGxvYzAo
S348T2JqZWN0Pi9GbHVzaGVkSlNWYWx1ZSksIG1hY2hpbmU6bG9jMCwgVzpTaWRlU3RhdGUsIGJj
IzE1MywgRXhpdEludmFsaWQpICBwcmVkaWN0aW5nIE90aGVyT2JqCiAgICAgICAgZGlzYXNzZW1i
bHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTM0OC4uLjB4MzA0MGUzNDgKICAgICAx
MjQ6PCAzOmxvYzExPglKU0NvbnN0YW50KEpTfFVzZUFzT3RoZXIsIE90aGVyT2JqLCBXZWFrOk9i
amVjdDogMHgzMjZkNDBhMCB3aXRoIGJ1dHRlcmZseSAobmlsKSAoU3RydWN0dXJlICVEODpKU0ds
b2JhbExleGljYWxFbnZpcm9ubWVudCksIGJjIzE1MywgRXhpdEludmFsaWQpCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTM0OC4uLjB4MzA0MGUzNDgK
ICAgICAxMjg6PCAyOmxvYzEwPglKU0NvbnN0YW50KEpTfFVzZUFzT3RoZXIsIEZ1bmN0aW9uLCBX
ZWFrOk9iamVjdDogMHgzMjZmNmM0MCB3aXRoIGJ1dHRlcmZseSAobmlsKSAoU3RydWN0dXJlICVB
bzpGdW5jdGlvbiksIGJjIzE2MCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGUzNDguLi4weDMwNDBlMzQ4CiAgICAgMTI5OjwhMDot
PglNb3ZIaW50KFVudHlwZWQ6QDEyOCwgTXVzdEdlbiwgbG9jNywgVzpTaWRlU3RhdGUsIENsb2Ji
ZXJzRXhpdCwgYmMjMTYwLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWls
YWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTM0OC4uLjB4MzA0MGUzNDgKICAgICAxMzE6PCAzOmxvYzEz
PglKU0NvbnN0YW50KEpTfFVzZUFzT3RoZXIsIEJvb2xJbnQzMiwgSW50MzI6IDEsIGJjIzE2OCwg
RXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MGUzNDguLi4weDMwNDBlMzQ4CiAgICAgMTMyOjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDEz
MSwgTXVzdEdlbiwgbG9jOCwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMTY4LCBFeGl0
VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
ZTM0OC4uLjB4MzA0MGUzNDgKICAgICAgLS0+IHJhbmQjRFd2VEQyOjwweDMyNjc4ODcwLCBiYyMx
NzEsIENhbGwsIGtub3duIGNhbGxlZTogT2JqZWN0OiAweDMyNmY2YzQwIHdpdGggYnV0dGVyZmx5
IChuaWwpIChTdHJ1Y3R1cmUgJUFvOkZ1bmN0aW9uKSwgbnVtQXJncyt0aGlzID0gMiwgbnVtRml4
dXAgPSAwLCBzdGFja09mZnNldCA9IC0xNCAobG9jMCBtYXBzIHRvIGxvYzE0KT4KICAgICAgIDEz
Njo8ITA6LT4JRXhpdE9LKE11c3RHZW4sIFc6U2lkZVN0YXRlLCBiYyMwLCBFeGl0VmFsaWQpCiAg
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlMzQ4Li4u
MHgzMDQwZTM0OAogICAgICAgMTM3OjwgMzpsb2MxND4JSlNDb25zdGFudChKU3xQdXJlSW50LCBP
dGhlciwgVW5kZWZpbmVkLCBiYyMwLCBFeGl0VmFsaWQpCiAgICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlMzQ4Li4uMHgzMDQwZTM0OAogICAgICAgMTM4
OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDEzNywgTXVzdEdlbiwgbG9jMTQsIFc6U2lkZVN0YXRl
LCBDbG9iYmVyc0V4aXQsIGJjIzAsIEV4aXRWYWxpZCkKICAgICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGUzNDguLi4weDMwNDBlMzQ4CiAgICAgICAxNDA6
PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMTM3LCBNdXN0R2VuLCBsb2MxNSwgVzpTaWRlU3RhdGUs
IENsb2JiZXJzRXhpdCwgYmMjMCwgRXhpdEludmFsaWQpCiAgICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlMzQ4Li4uMHgzMDQwZTM0OAogICAgICAgMTQy
OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDEzNywgTXVzdEdlbiwgbG9jMTYsIFc6U2lkZVN0YXRl
LCBDbG9iYmVyc0V4aXQsIGJjIzAsIEV4aXRJbnZhbGlkKQogICAgICAgICAgZGlzYXNzZW1ibHkg
bm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTM0OC4uLjB4MzA0MGUzNDgKICAgICAgIDE0
Njo8ITA6LT4JTW92SGludChVbnR5cGVkOkAxMjQsIE11c3RHZW4sIGxvYzE0LCBXOlNpZGVTdGF0
ZSwgQ2xvYmJlcnNFeGl0LCBiYyMxLCBFeGl0VmFsaWQpCiAgICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlMzQ4Li4uMHgzMDQwZTM0OAogICAgICAgMTQ4
OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDEyNCwgTXVzdEdlbiwgbG9jMTUsIFc6U2lkZVN0YXRl
LCBDbG9iYmVyc0V4aXQsIGJjIzMsIEV4aXRWYWxpZCkKICAgICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGUzNDguLi4weDMwNDBlMzQ4CiAgICAgICAxNTA6
PCEwOi0+CUNoZWNrVHJhcHMoTXVzdEdlbiwgUjpJbnRlcm5hbFN0YXRlLCBXOkludGVybmFsU3Rh
dGUsIEV4aXRzLCBDbG9iYmVyc0V4aXQsIGJjIzYsIEV4aXRWYWxpZCkKICAgICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGUzNDguLi4weDMwNDBlM2I0CiAg
ICAgICAxNTI6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMTIyLCBNdXN0R2VuLCBsb2MxNywgVzpT
aWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjNywgRXhpdFZhbGlkKQogICAgICAgICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTNiNC4uLjB4MzA0MGUzYjQKICAg
ICAgIDE1Njo8ITA6LT4JTW92SGludChVbnR5cGVkOkAxMjIsIE11c3RHZW4sIGxvYzE4LCBXOlNp
ZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMxNCwgRXhpdFZhbGlkKQogICAgICAgICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTNiNC4uLjB4MzA0MGUzYjQKICAg
ICAgIDE2MDo8IDI6bG9jMTQ+CUdldEdsb2JhbFZhcihKUywgTm9uQm9vbEludDMyLCBnbG9iYWwo
MHgzMDNlNTM2MCksIFI6QWJzb2x1dGUoODA5MzkwOTQ0KSwgRXhpdHMsIGJjIzIxLCBFeGl0VmFs
aWQpICBwcmVkaWN0aW5nIE5vbkJvb2xJbnQzMgogICAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2
YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTNiNC4uLjB4MzA0MGUzZmMKICAgICAgIDYyMzo8ITA6
LT4JUGhhbnRvbShVbnR5cGVkOkAxMjIsIE11c3RHZW4sIGJjIzIxLCBFeGl0VmFsaWQpCiAgICAg
ICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlM2ZjLi4uMHgz
MDQwZTNmYwogICAgICAgMTYxOjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDE2MCwgTXVzdEdlbiwg
bG9jMTksIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzIxLCBFeGl0VmFsaWQpCiAgICAg
ICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlM2ZjLi4uMHgz
MDQwZTNmYwogICAgICAgMTY0OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDEyMiwgTXVzdEdlbiwg
bG9jMjAsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzI5LCBFeGl0VmFsaWQpCiAgICAg
ICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlM2ZjLi4uMHgz
MDQwZTNmYwogICAgICAgMTY4OjwgMjpsb2MxNT4JSlNDb25zdGFudChKUywgTm9uQm9vbEludDMy
LCBJbnQzMjogMzg3NywgYmMjMzYsIEV4aXRWYWxpZCkKICAgICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGUzZmMuLi4weDMwNDBlM2ZjCiAgICAgICAxNjk6
PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMTY4LCBNdXN0R2VuLCBsb2MyMSwgVzpTaWRlU3RhdGUs
IENsb2JiZXJzRXhpdCwgYmMjMzYsIEV4aXRWYWxpZCkKICAgICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGUzZmMuLi4weDMwNDBlM2ZjCiAgICAgICAxNzE6
PCEyOmxvYzE1PglBcml0aE11bChDaGVjazpJbnQzMjpAMTYwLCBJbnQzMjpAMTY4LCBOdW1iZXJ8
TXVzdEdlbnxQdXJlTnVtLCBJbnQzMiwgQ2hlY2tPdmVyZmxvdywgRXhpdHMsIGJjIzQ0LCBFeGl0
VmFsaWQpCiAgICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMw
NDBlM2ZjLi4uMHgzMDQwZTQ5NAogICAgICAgMTcyOjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDE3
MSwgTXVzdEdlbiwgbG9jMTksIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzQ0LCBFeGl0
SW52YWxpZCkKICAgICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MGU0OTQuLi4weDMwNDBlNDk0CiAgICAgICAxNzU6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpA
MTIyLCBNdXN0R2VuLCBsb2MyMCwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjNDksIEV4
aXRWYWxpZCkKICAgICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MGU0OTQuLi4weDMwNDBlNDk0CiAgICAgICAxNzk6PCAyOmxvYzE0PglKU0NvbnN0YW50KEpT
fFB1cmVOdW0sIE5vbkJvb2xJbnQzMiwgSW50MzI6IDI5NTczLCBiYyM1NiwgRXhpdFZhbGlkKQog
ICAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTQ5NC4u
LjB4MzA0MGU0OTQKICAgICAgIDE4MDo8ITA6LT4JTW92SGludChVbnR5cGVkOkAxNzksIE11c3RH
ZW4sIGxvYzIxLCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyM1NiwgRXhpdFZhbGlkKQog
ICAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTQ5NC4u
LjB4MzA0MGU0OTQKICAgICAgIDE4Mjo8ITM6bG9jMTQ+CUFyaXRoQWRkKEludDMyOkAxNzEsIElu
dDMyOkAxNzksIEpTfE11c3RHZW4sIEludDMyLCBDaGVja092ZXJmbG93LCBFeGl0cywgYmMjNjQs
IEV4aXRWYWxpZCkKICAgICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MGU0OTQuLi4weDMwNDBlNTBjCiAgICAgICAxODM6PCEwOi0+CU1vdkhpbnQoVW50eXBl
ZDpAMTgyLCBNdXN0R2VuLCBsb2MxOSwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjNjQs
IEV4aXRJbnZhbGlkKQogICAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFu
Z2UgMHgzMDQwZTUwYy4uLjB4MzA0MGU1MGMKICAgICAgIDE4Njo8ITA6LT4JTW92SGludChVbnR5
cGVkOkAxMjIsIE11c3RHZW4sIGxvYzIwLCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyM2
OSwgRXhpdFZhbGlkKQogICAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFu
Z2UgMHgzMDQwZTUwYy4uLjB4MzA0MGU1MGMKICAgICAgIDE5MDo8IDQ6bG9jMTU+CUpTQ29uc3Rh
bnQoSlN8UHVyZU51bSwgTm9uQm9vbEludDMyLCBJbnQzMjogMTM5OTY4LCBiYyM3NiwgRXhpdFZh
bGlkKQogICAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
ZTUwYy4uLjB4MzA0MGU1MGMKICAgICAgIDE5MTo8ITA6LT4JTW92SGludChVbnR5cGVkOkAxOTAs
IE11c3RHZW4sIGxvYzIxLCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyM3NiwgRXhpdFZh
bGlkKQogICAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
ZTUwYy4uLjB4MzA0MGU1MGMKICAgICAgIDcwNzo8IDE6bG9jMTY+CURvdWJsZVJlcChOdW1iZXI6
QDE4MiwgRG91YmxlfFB1cmVJbnQsIEJ5dGVjb2RlRG91YmxlLCBiYyM4NCwgRXhpdFZhbGlkKQog
ICAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTUwYy4u
LjB4MzA0MGU1MTQKICAgICAgIDcwODo8IDI6bG9jMTc+CURvdWJsZUNvbnN0YW50KERvdWJsZXxQ
dXJlSW50LCBCeXRlY29kZURvdWJsZSwgRG91YmxlOiA0MTAxMTYwMDowMDAwMDAwMCwgMTM5OTY4
LjAwMDAwMCwgYmMjODQsIEV4aXRWYWxpZCkKICAgICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGU1MTQuLi4weDMwNDBlNTE0CiAgICAgICA2OTE6PCExOmxv
YzE2PglBcml0aE1vZChEb3VibGVSZXA6QDcwNzxEb3VibGU+LCBEb3VibGVSZXA6QDcwODxEb3Vi
bGU+LCBEb3VibGV8TXVzdEdlbnxVc2VBc090aGVyLCBCb29sSW50MzJ8Tm9uQm9vbEludDMyfEJ5
dGVjb2RlRG91YmxlLCBOb3RTZXQsIEV4aXRzLCBiYyM4NCwgRXhpdFZhbGlkKQogICAgICAgICAg
ZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTUxNC4uLjB4MzA0MGU1
ODAKICAgICAgIDE5Mzo8ITQ6bG9jMTY+CURvdWJsZUFzSW50MzIoRG91YmxlUmVwOkA2OTE8RG91
YmxlPiwgTnVtYmVyfE11c3RHZW58VXNlQXNPdGhlciwgSW50MzIsIENoZWNrT3ZlcmZsb3dBbmRO
ZWdhdGl2ZVplcm8sIEV4aXRzLCBiYyM4NCwgRXhpdFZhbGlkKQogICAgICAgICAgZGlzYXNzZW1i
bHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTU4MC4uLjB4MzA0MGU2MDQKICAgICAg
IDcwNDo8ITA6LT4JUGhhbnRvbShVbnR5cGVkOkAxODIsIE11c3RHZW4sIGJjIzg0LCBFeGl0VmFs
aWQpCiAgICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBl
NjA0Li4uMHgzMDQwZTYwNAogICAgICAgNDQ3OjwhMDotPglQaGFudG9tKFVudHlwZWQ6QDE5MCwg
TXVzdEdlbiwgYmMjODQsIEV4aXRWYWxpZCkKICAgICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGU2MDQuLi4weDMwNDBlNjA0CiAgICAgICAxOTQ6PCEwOi0+
CU1vdkhpbnQoVW50eXBlZDpAMTkzLCBNdXN0R2VuLCBsb2MxOSwgVzpTaWRlU3RhdGUsIENsb2Ji
ZXJzRXhpdCwgYmMjODQsIEV4aXRWYWxpZCkKICAgICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGU2MDQuLi4weDMwNDBlNjA0CiAgICAgICAxOTc6PCEwOi0+
CVB1dEdsb2JhbFZhcmlhYmxlKENlbGw6QDEyMiwgVW50eXBlZDpAMTkzLCBNdXN0R2VuLCBnbG9i
YWwoMHgzMDNlNTM2MCksIFc6QWJzb2x1dGUoODA5MzkwOTQ0KSwgRXhpdHMsIENsb2JiZXJzRXhp
dCwgYmMjODgsIEV4aXRWYWxpZCkKICAgICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MGU2MDQuLi4weDMwNDBlNjU4CiAgICAgICAyMDA6PCEwOi0+CU1vdkhp
bnQoVW50eXBlZDpAMTIyLCBNdXN0R2VuLCBsb2MxNywgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhp
dCwgYmMjOTUsIEV4aXRWYWxpZCkKICAgICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MGU2NTguLi4weDMwNDBlNjU4CiAgICAgICAyMDU6PCEwOi0+CU1vdkhp
bnQoVW50eXBlZDpAMTkzLCBNdXN0R2VuLCBsb2MxOCwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhp
dCwgYmMjMTAyLCBFeGl0VmFsaWQpCiAgICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDBlNjU4Li4uMHgzMDQwZTY1OAogICAgICAgMjA3OjwhMzpsb2MxNj4J
QXJpdGhNdWwoSW50MzI6QDE5MywgSW50MzI6QDEzMSwgTnVtYmVyfE11c3RHZW4sIEludDMyLCBD
aGVja092ZXJmbG93QW5kTmVnYXRpdmVaZXJvLCBFeGl0cywgYmMjMTEwLCBFeGl0VmFsaWQpCiAg
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlNjU4Li4u
MHgzMDQwZTZjYwogICAgICAgNDMxOjwhMDotPglQaGFudG9tKFVudHlwZWQ6QDEyNCwgTXVzdEdl
biwgYmMjMTEwLCBFeGl0VmFsaWQpCiAgICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDBlNmNjLi4uMHgzMDQwZTZjYwogICAgICAgMjA4OjwhMDotPglNb3ZI
aW50KFVudHlwZWQ6QDIwNywgTXVzdEdlbiwgbG9jMTksIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4
aXQsIGJjIzExMCwgRXhpdEludmFsaWQpCiAgICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMwNDBlNmNjLi4uMHgzMDQwZTZjYwogICAgICAgMjExOjwhMDotPglN
b3ZIaW50KFVudHlwZWQ6QDEyMiwgTXVzdEdlbiwgbG9jMjAsIFc6U2lkZVN0YXRlLCBDbG9iYmVy
c0V4aXQsIGJjIzExNSwgRXhpdFZhbGlkKQogICAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWls
YWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTZjYy4uLjB4MzA0MGU2Y2MKICAgICAgIDIxNjo8ITA6LT4J
TW92SGludChVbnR5cGVkOkAxOTAsIE11c3RHZW4sIGxvYzIxLCBXOlNpZGVTdGF0ZSwgQ2xvYmJl
cnNFeGl0LCBiYyMxMjIsIEV4aXRWYWxpZCkKICAgICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGU2Y2MuLi4weDMwNDBlNmNjCiAgICAgICA3MDk6PCAxOmxv
YzExPglEb3VibGVSZXAoTnVtYmVyOkAyMDcsIERvdWJsZXxQdXJlSW50LCBCeXRlY29kZURvdWJs
ZSwgYmMjMTMwLCBFeGl0VmFsaWQpCiAgICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDBlNmNjLi4uMHgzMDQwZTZkNAogICAgICAgMjE4OjwhMzpsb2MxNz4J
QXJpdGhEaXYoRG91YmxlUmVwOkA3MDk8RG91YmxlPiwgRG91YmxlUmVwOkA3MDg8RG91YmxlPiwg
RG91YmxlfE11c3RHZW58VXNlQXNPdGhlcnxNYXlPdmVyZmxvd0ludDMySW5CYXNlbGluZXxNYXlO
ZWdaZXJvSW5CYXNlbGluZSwgQm9vbEludDMyfE5vbkJvb2xJbnQzMnxCeXRlY29kZURvdWJsZSwg
Tm90U2V0LCBFeGl0cywgYmMjMTMwLCBFeGl0VmFsaWQpCiAgICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlNmQ0Li4uMHgzMDQwZTcxYwogICAgICAgNDMw
OjwhMDotPglQaGFudG9tKFVudHlwZWQ6QDIwNywgTXVzdEdlbiwgYmMjMTMwLCBFeGl0VmFsaWQp
CiAgICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlNzFj
Li4uMHgzMDQwZTcxYwogICAgICAgNDIzOjwhMDotPglQaGFudG9tKFVudHlwZWQ6QDE5MCwgTXVz
dEdlbiwgYmMjMTMwLCBFeGl0VmFsaWQpCiAgICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMwNDBlNzFjLi4uMHgzMDQwZTcxYwogICAgICAgNDIxOjwhMDotPglQ
aGFudG9tKFVudHlwZWQ6QDEyMiwgTXVzdEdlbiwgYmMjMTMwLCBFeGl0VmFsaWQpCiAgICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlNzFjLi4uMHgzMDQw
ZTcxYwogICAgICAgMzk5OjwhMDotPglQaGFudG9tKFVudHlwZWQ6QDEzMSwgTXVzdEdlbiwgYmMj
MTMwLCBFeGl0VmFsaWQpCiAgICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMwNDBlNzFjLi4uMHgzMDQwZTcxYwogICAgICAgMzk4OjwhMDotPglQaGFudG9tKFVu
dHlwZWQ6QDEyOCwgTXVzdEdlbiwgYmMjMTMwLCBFeGl0VmFsaWQpCiAgICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlNzFjLi4uMHgzMDQwZTcxYwogICAg
ICAgMjE5OjwhMDotPglNb3ZIaW50KERvdWJsZVJlcDpAMjE4PERvdWJsZT4sIE11c3RHZW4sIGxv
YzE5LCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMxMzAsIEV4aXRJbnZhbGlkKQogICAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTcxYy4uLjB4
MzA0MGU3MWMKICAgICAgIDcxMTo8IDE6bG9jMTA+CVZhbHVlUmVwKERvdWJsZVJlcDpAMjE4PERv
dWJsZT4sIEpTfFB1cmVJbnQsIEJ5dGVjb2RlRG91YmxlLCBiYyMxMzAsIGV4aXQ6IGJjIzE3MSAt
LT4gcmFuZCNEV3ZURDI6PDB4MzI2Nzg4NzA+IGJjIzEzNSwgRXhpdFZhbGlkKQogICAgICAgICAg
ZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTcxYy4uLjB4MzA0MGU3
MjQKICAgICAgIDIyMjo8ITA6LT4JUGhhbnRvbUxvY2FsKFVudHlwZWQ6QDU3NSwgTXVzdEdlbiwg
dGhpcyhhKSwgbWFjaGluZTp0aGlzLCBXOlNpZGVTdGF0ZSwgYmMjMTM1LCBFeGl0VmFsaWQpICBw
cmVkaWN0aW5nIE90aGVyT2JqCiAgICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZv
ciByYW5nZSAweDMwNDBlNzI0Li4uMHgzMDQwZTcyNAogICAgICAgMjIzOjwhMDotPglNb3ZIaW50
KERvdWJsZVJlcDpAMjE4PERvdWJsZT4sIE11c3RHZW4sIGxvYzIsIFc6U2lkZVN0YXRlLCBDbG9i
YmVyc0V4aXQsIGJjIzEzNSwgRXhpdFZhbGlkKQogICAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2
YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTcyNC4uLjB4MzA0MGU3MjQKICAgICAgIDIyNDo8IDE6
LT4JU2V0TG9jYWwoVW50eXBlZDpANzExLCBsb2MyKFZDfjxOdW1iZXI+L0ZsdXNoZWRKU1ZhbHVl
KSwgbWFjaGluZTpsb2MxLCBXOlN0YWNrKC0zKSwgYmMjMTM1LCBFeGl0SW52YWxpZCkgIHByZWRp
Y3RpbmcgQm9vbEludDMyfE5vbkJvb2xJbnQzMnxCeXRlY29kZURvdWJsZQogICAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTcyNC4uLjB4MzA0MGU3MmMK
ICAgICAgPC0tIHJhbmQjRFd2VEQyOjwweDMyNjc4ODcwLCBiYyMxNzEsIENhbGwsIGtub3duIGNh
bGxlZTogT2JqZWN0OiAweDMyNmY2YzQwIHdpdGggYnV0dGVyZmx5IChuaWwpIChTdHJ1Y3R1cmUg
JUFvOkZ1bmN0aW9uKSwgbnVtQXJncyt0aGlzID0gMiwgbnVtRml4dXAgPSAwLCBzdGFja09mZnNl
dCA9IC0xNCAobG9jMCBtYXBzIHRvIGxvYzE0KT4KICAgICAyMjU6PCEzOmxvYzEwPglHZXRMb2Nh
bChVbnR5cGVkOkA2NTEsIEpTfE11c3RHZW58VXNlQXNPdGhlciwgRmluYWwsIGFyZzIoQzxGaW5h
bD4vRmx1c2hlZENlbGwpLCBtYWNoaW5lOmFyZzIsIFI6U3RhY2soNiksIGJjIzE4MCwgRXhpdFZh
bGlkKSAgcHJlZGljdGluZyBGaW5hbAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MGU3MmMuLi4weDMwNDBlNzMwCiAgICAgMjI2OjwhMDotPglNb3ZIaW50
KFVudHlwZWQ6QDIyNSwgTXVzdEdlbiwgbG9jNywgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwg
YmMjMTgwLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwZTczMC4uLjB4MzA0MGU3MzAKICAgICAyMjc6PCAxOi0+CVNldExvY2FsKENl
bGw6QDIyNSwgbG9jNyhYQzxGaW5hbD4vRmx1c2hlZENlbGwpLCBtYWNoaW5lOmxvYzUsIFc6U3Rh
Y2soLTgpLCBiYyMxODAsIGV4aXQ6IGJjIzE4MywgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBGaW5h
bAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGU3MzAu
Li4weDMwNDBlNzM0CiAgICAgMjI4OjwhMzpsb2MxMD4JR2V0UHJvcGVydHlFbnVtZXJhdG9yKENl
bGw6QDIyNSwgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBDZWxsLCBSOldvcmxkLCBXOkhlYXAsIEV4
aXRzLCBDbG9iYmVyc0V4aXQsIGJjIzE4MywgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGU3MzQuLi4weDMwNDBlN2MwCiAgICAgMjI5
OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDIyOCwgTXVzdEdlbiwgbG9jOCwgVzpTaWRlU3RhdGUs
IENsb2JiZXJzRXhpdCwgYmMjMTgzLCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlN2MwLi4uMHgzMDQwZTdjMAogICAgIDcyMDo8
ITA6LT4JSW52YWxpZGF0aW9uUG9pbnQoTXVzdEdlbiwgVzpTaWRlU3RhdGUsIEV4aXRzLCBiYyMx
ODMsIGV4aXQ6IGJjIzE4NiwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGU3YzAuLi4weDMwNDBlN2Y4CiAgICAgMjMwOjwgMTotPglT
ZXRMb2NhbChDZWxsOkAyMjgsIGxvYzgoWUM8Q2VsbD4vRmx1c2hlZENlbGwpLCBtYWNoaW5lOmxv
YzYsIFc6U3RhY2soLTkpLCBiYyMxODMsIGV4aXQ6IGJjIzE4NiwgRXhpdFZhbGlkKSAgcHJlZGlj
dGluZyBDZWxsCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MDQwZTdmOC4uLjB4MzA0MGU3ZmMKICAgICAyMzE6PCEyOmxvYzEwPglHZXRFbnVtZXJhYmxlTGVu
Z3RoKENlbGw6QDIyOCwgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBJbnQzMiwgUjpIZWFwLCBXOlNp
ZGVTdGF0ZSwgRXhpdHMsIGJjIzE4NiwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGU3ZmMuLi4weDMwNDBlODNjCiAgICAgMjMyOjwh
MDotPglNb3ZIaW50KFVudHlwZWQ6QDIzMSwgTXVzdEdlbiwgbG9jOSwgVzpTaWRlU3RhdGUsIENs
b2JiZXJzRXhpdCwgYmMjMTg2LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2
YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTgzYy4uLjB4MzA0MGU4M2MKICAgICAyMzM6PCAxOi0+
CVNldExvY2FsKEludDMyOkAyMzEsIGxvYzkoWkM8SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hp
bmU6bG9jNywgVzpTdGFjaygtMTApLCBiYyMxODYsIGV4aXQ6IGJjIzE4OSwgRXhpdFZhbGlkKSAg
cHJlZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MGU4M2MuLi4weDMwNDBlODQwCiAgICAgMjM0OjwgMjpsb2MxMD4JSlNDb25zdGFu
dChKU3xVc2VBc090aGVyfFJlYWxseVdhbnRzSW50LCBCb29sSW50MzIsIEludDMyOiAwLCBiYyMx
ODksIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5n
ZSAweDMwNDBlODQwLi4uMHgzMDQwZTg0MAogICAgIDIzNTo8ITA6LT4JTW92SGludChVbnR5cGVk
OkAyMzQsIE11c3RHZW4sIGxvYzEwLCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMxODks
IEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDBlODQwLi4uMHgzMDQwZTg0MAogICAgIDIzNjo8IDE6LT4JU2V0TG9jYWwoSW50MzI6QDIz
NCwgbG9jMTAoQUQ8SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hpbmU6bG9jOCwgVzpTdGFjaygt
MTEpLCBiYyMxODksIGV4aXQ6IGJjIzE5MiwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgog
ICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGU4NDAuLi4w
eDMwNDBlODQ4CiAgICAgMjM3OjwhMDotPglKdW1wKE11c3RHZW4sIFQ6IzgsIFc6U2lkZVN0YXRl
LCBiYyMxOTIsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZv
ciByYW5nZSAweDMwNDBlODQ4Li4uMHgzMDQwZTg4MAogICAgQmxvY2sgIzggKGJjIzE5Mik6IChP
U1IgdGFyZ2V0KQogICAgICBFeGVjdXRpb24gY291bnQ6IDEwMDAuMDAwMDAwCiAgICAgIFByZWRl
Y2Vzc29yczogIzcgIzEyCiAgICAgIFN1Y2Nlc3NvcnM6ICM5ICMxNAogICAgICBEb21pbmF0ZWQg
Ynk6ICNyb290ICMwICMzICM2ICM3ICM4CiAgICAgIERvbWluYXRlczogIzggIzkgIzEwICMxMSAj
MTIgIzE0ICMxNSAjMTYgIzE3ICMxOCAjMTkgIzIxICMyMiAjMjMgIzI0ICMyNSAjMjYgIzI4CiAg
ICAgIERvbWluYW5jZSBGcm9udGllcjogIzcgIzggIzI5CiAgICAgIEl0ZXJhdGVkIERvbWluYW5j
ZSBGcm9udGllcjogIzMgIzcgIzggIzI5ICMzMAogICAgICBMb29wIGhlYWRlciwgY29udGFpbnM6
ICM4ICM5ICMxMCAjMTIKICAgICAgQ29udGFpbmluZyBsb29wIGhlYWRlcnM6ICM4ICM3ICMzCiAg
ICAgIFBoaSBOb2RlczogQDU2Nzxsb2MxMCwyPi0+KEAyNzQsIEAyMzYpLCBANTcxPGxvYzksMj4t
PihANTIsIEAyMzMpLCBANTQ4PGxvYzAsMj4tPihANjg2LCBANTcyKSwgQDQ3Njxsb2M3LDI+LT4o
QDY1MCwgQDIyNyksIEA2Njg8bG9jMiwyPi0+KEA1NzcsIEAyMjQpLCBANTIyPGxvYzQsMj4tPihA
NTA2LCBANTU5KSwgQDQ4NDxsb2M1LDI+LT4oQDY3NSwgQDQ4OCksIEA1NzM8bG9jOCwyPi0+KEA2
MjgsIEAyMzApLCBANjY3PGFyZzIsMj4tPihANTAwLCBANjUxKSwgQDU3MDx0aGlzLDI+LT4oQDU5
MywgQDU3NSksIEA1Mjg8YXJnMSwyPi0+KEA1NTgsIEA2NTUpCiAgICAgICAgZGlzYXNzZW1ibHkg
bm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTg4MC4uLjB4MzA0MGU4ZTgKICAgICAyMzg6
PCEwOi0+CUxvb3BIaW50KE11c3RHZW4sIFc6U2lkZVN0YXRlLCBiYyMxOTIsIEV4aXRWYWxpZCkK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlOGU4Li4u
MHgzMDQwZThlOAogICAgIDIzOTo8ITA6LT4JQ2hlY2tUcmFwcyhNdXN0R2VuLCBSOkludGVybmFs
U3RhdGUsIFc6SW50ZXJuYWxTdGF0ZSwgRXhpdHMsIENsb2JiZXJzRXhpdCwgYmMjMTkzLCBFeGl0
VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
ZThlOC4uLjB4MzA0MGU5NTQKICAgICA3MzE6PCEwOi0+CVBoYW50b21Mb2NhbChVbnR5cGVkOkA1
NjcsIE11c3RHZW4sIGxvYzEwKEFEPEludDMyPi9GbHVzaGVkSW50MzIpLCBtYWNoaW5lOmxvYzgs
IFc6U2lkZVN0YXRlLCBiYyMxOTQsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgSW50MzIKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlOTU0Li4uMHgzMDQw
ZTk1NAogICAgIDI0MDo8IDE6bG9jMTc+CUpTQ29uc3RhbnQoSlN8VXNlQXNPdGhlciwgSW50MzIs
IEludDMyOiAwLCBiYyMxOTQsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZh
aWxhYmxlIGZvciByYW5nZSAweDMwNDBlOTU0Li4uMHgzMDQwZTk1NAogICAgIDI0MTo8ITE6bG9j
MTY+CUdldExvY2FsKFVudHlwZWQ6QDU3MSwgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBJbnQzMiwg
bG9jOShaQzxJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFjaGluZTpsb2M3LCBSOlN0YWNrKC0xMCks
IGJjIzE5NCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGU5NTQuLi4weDMwNDBlOTU4CiAgICAgMjQy
OjwgMjpsb2MxNj4JQ29tcGFyZUxlc3MoSW50MzI6QDI0MCwgSW50MzI6QDI0MSwgQm9vbGVhbnxV
c2VBc090aGVyLCBCb29sLCBFeGl0cywgYmMjMTk0LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZTk1OC4uLjB4MzA0MGU5OTgKICAg
ICAyNDM6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMjQyLCBNdXN0R2VuLCBsb2MxMiwgVzpTaWRl
U3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMTk0LCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlOTk4Li4uMHgzMDQwZTk5OAogICAg
IDI0NTo8ITA6LT4JQnJhbmNoKEtub3duQm9vbGVhbjpAMjQyLCBNdXN0R2VuLCBUOiM5L3c6MTAw
MC4wMDAwMDAsIEY6IzE0L3c6MTAwLjAwMDAwMCwgVzpTaWRlU3RhdGUsIGJjIzE5OCwgRXhpdFZh
bGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGU5
OTguLi4weDMwNDBlOWY4CiAgICBCbG9jayAjOSAoYmMjMjAxKToKICAgICAgRXhlY3V0aW9uIGNv
dW50OiAxMDAwLjAwMDAwMAogICAgICBQcmVkZWNlc3NvcnM6ICM4CiAgICAgIFN1Y2Nlc3NvcnM6
ICMxMCAjMTIKICAgICAgRG9taW5hdGVkIGJ5OiAjcm9vdCAjMCAjMyAjNiAjNyAjOCAjOQogICAg
ICBEb21pbmF0ZXM6ICM5ICMxMCAjMTEgIzEyCiAgICAgIERvbWluYW5jZSBGcm9udGllcjogIzgg
IzI4CiAgICAgIEl0ZXJhdGVkIERvbWluYW5jZSBGcm9udGllcjogIzMgIzcgIzggIzI4ICMyOSAj
MzAKICAgICAgQ29udGFpbmluZyBsb29wIGhlYWRlcnM6ICM4ICM3ICMzCiAgICAgIFBoaSBOb2Rl
czogQDYzNzxsb2M3LDM+LT4oQDQ3NiksIEA2MjI8bG9jMTAsMz4tPihANTY3KSwgQDY3NDxsb2Mw
LDI+LT4oQDU0OCksIEA0ODxsb2MyLDI+LT4oQDY2OCksIEA1MjE8bG9jNCwyPi0+KEA1MjIpLCBA
NjYwPGxvYzUsMj4tPihANDg0KSwgQDEwOTxsb2M4LDI+LT4oQDU3MyksIEA2NTI8bG9jOSwyPi0+
KEA1NzEpLCBANTY2PHRoaXMsMj4tPihANTcwKSwgQDEwNjxhcmcyLDI+LT4oQDY2NyksIEA1Mjc8
YXJnMSwyPi0+KEA1MjgpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFu
Z2UgMHgzMDQwZTlmOC4uLjB4MzA0MGVhNjAKICAgICAyNDY6PCExOmxvYzE3PglHZXRMb2NhbChV
bnR5cGVkOkA2MzcsIEpTfE11c3RHZW58VXNlQXNPdGhlciwgRmluYWwsIGxvYzcoWEM8RmluYWw+
L0ZsdXNoZWRDZWxsKSwgbWFjaGluZTpsb2M1LCBSOlN0YWNrKC04KSwgYmMjMjAxLCBFeGl0VmFs
aWQpICBwcmVkaWN0aW5nIEZpbmFsCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQwZWE2MC4uLjB4MzA0MGVhNjQKICAgICA3MzI6PCEwOi0+CVBoYW50b21M
b2NhbChVbnR5cGVkOkA2MjIsIE11c3RHZW4sIGxvYzEwKEFEPEludDMyPi9GbHVzaGVkSW50MzIp
LCBtYWNoaW5lOmxvYzgsIFc6U2lkZVN0YXRlLCBiYyMyMDEsIEV4aXRWYWxpZCkgIHByZWRpY3Rp
bmcgSW50MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMw
NDBlYTY0Li4uMHgzMDQwZWE2NAogICAgIDI0Nzo8IDE6bG9jMTY+CUpTQ29uc3RhbnQoSlN8VXNl
QXNPdGhlciwgSW50MzIsIEludDMyOiAwLCBiYyMyMDEsIEV4aXRWYWxpZCkKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlYTY0Li4uMHgzMDQwZWE2NAog
ICAgIDY5Mzo8ITA6LT4JRm9yY2VPU1JFeGl0KE11c3RHZW4sIFc6U2lkZVN0YXRlLCBFeGl0cywg
YmMjMjAxLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwZWE2NC4uLjB4MzA0MGVhYzgKICAgICAyNDg6PCAyOmxvYzE2PglIYXNJbmRl
eGVkUHJvcGVydHkoQ2hlY2s6Q2VsbDpAMjQ2LCBDaGVjazpLbm93bkludDMyOkAyNDcsIEJvb2xl
YW58VXNlQXNPdGhlciwgQm9vbCwgRm9yY2VFeGl0K05vbkFycmF5K0luQm91bmRzK0FzSXMsIFI6
SlNPYmplY3RfYnV0dGVyZmx5LCBXOlNpZGVTdGF0ZSwgRXhpdHMsIGJjIzIwMSwgRXhpdFZhbGlk
KQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGVhYzgu
Li4weDMwNDBlYWM4CiAgICAgMjQ5OjwhMDotPglNb3ZIaW50KENoZWNrOlVudHlwZWQ6QDI0OCwg
TXVzdEdlbiwgbG9jMTIsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzIwMSwgRXhpdElu
dmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
ZWFjOC4uLjB4MzA0MGVhYzgKICAgICAyNTE6PCEwOi0+CUJyYW5jaChDaGVjazpLbm93bkJvb2xl
YW46QDI0OCwgTXVzdEdlbiwgVDojMTAvdzoxMDAwLjAwMDAwMCwgRjojMTIvdzoxMDAwLjAwMDAw
MCwgVzpTaWRlU3RhdGUsIGJjIzIwNiwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGVhYzguLi4weDMwNDBlYWM4CiAgICBCbG9jayAj
MTAgKGJjIzIwOSk6CiAgICAgIEV4ZWN1dGlvbiBjb3VudDogMTAwMC4wMDAwMDAKICAgICAgUHJl
ZGVjZXNzb3JzOiAjOQogICAgICBTdWNjZXNzb3JzOiAjMTEgIzEyCiAgICAgIERvbWluYXRlZCBi
eTogI3Jvb3QgIzAgIzMgIzYgIzcgIzggIzkgIzEwCiAgICAgIERvbWluYXRlczogIzEwICMxMQog
ICAgICBEb21pbmFuY2UgRnJvbnRpZXI6ICMxMiAjMjgKICAgICAgSXRlcmF0ZWQgRG9taW5hbmNl
IEZyb250aWVyOiAjMyAjNyAjOCAjMTIgIzI4ICMyOSAjMzAKICAgICAgQ29udGFpbmluZyBsb29w
IGhlYWRlcnM6ICM4ICM3ICMzCiAgICAgIFBoaSBOb2RlczogQDYwNTxsb2MxMCwyPi0+KEA2MjIp
LCBANjQ3PGFyZzIsMz4tPihAMTA2KSwgQDY1OTxsb2MyLDI+LT4oQDQ4KSwgQDQ3PGxvYzAsMj4t
PihANjc0KSwgQDUyMDxsb2M0LDI+LT4oQDUyMSksIEA0OTU8bG9jNSwyPi0+KEA2NjApLCBANjE1
PGxvYzcsMT4tPihANjM3KSwgQDExMDxsb2M4LDE+LT4oQDEwOSksIEA1NzY8bG9jOSwxPi0+KEA2
NTIpLCBANTI5PHRoaXMsMj4tPihANTY2KSwgQDY2OTxhcmcxLDI+LT4oQDUyNykKICAgICAgICBk
aXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlYWM4Li4uMHgzMDQwZWFk
MAogICAgIDI1Mjo8ITI6bG9jMTc+CUdldExvY2FsKENoZWNrOlVudHlwZWQ6QDYwNSwgSlN8TXVz
dEdlbnxVc2VBc090aGVyfFVzZUFzSW50fFJlYWxseVdhbnRzSW50LCBJbnQzMiwgbG9jMTAoQUQ8
SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hpbmU6bG9jOCwgUjpTdGFjaygtMTEpLCBiYyMyMDks
IEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgSW50MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZh
aWxhYmxlIGZvciByYW5nZSAweDMwNDBlYWQwLi4uMHgzMDQwZWFkMAogICAgIDI1Mzo8IDM6bG9j
MTY+CVRvSW5kZXhTdHJpbmcoQ2hlY2s6S25vd25JbnQzMjpAMjUyLCBKU3xVc2VBc090aGVyLCBT
dHJpbmcsIEV4aXRzLCBiYyMyMDksIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlYWQwLi4uMHgzMDQwZWFkMAogICAgIDI1NDo8ITA6
LT4JTW92SGludChDaGVjazpVbnR5cGVkOkAyNTMsIE11c3RHZW4sIGxvYzExLCBXOlNpZGVTdGF0
ZSwgQ2xvYmJlcnNFeGl0LCBiYyMyMDksIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlYWQwLi4uMHgzMDQwZWFkMAogICAgIDI1Njo8
ITA6LT4JTW92SGludChDaGVjazpVbnR5cGVkOkAyNTMsIE11c3RHZW4sIGxvYzMsIFc6U2lkZVN0
YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzIxMiwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGVhZDAuLi4weDMwNDBlYWQwCiAgICAgMjU3
OjwgMTotPglTZXRMb2NhbChDaGVjazpVbnR5cGVkOkAyNTMsIGxvYzMoSkR+PFN0cmluZz4vRmx1
c2hlZEpTVmFsdWUpLCBtYWNoaW5lOmxvYzIsIFc6U3RhY2soLTQpLCBiYyMyMTIsIGV4aXQ6IGJj
IzIxNSwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBTdHJpbmcKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlYWQwLi4uMHgzMDQwZWFkMAogICAgIDI1ODo8
ITE6bG9jMTY+CUdldExvY2FsKENoZWNrOlVudHlwZWQ6QDY0NywgSlN8TXVzdEdlbnxVc2VBc090
aGVyLCBGaW5hbCwgYXJnMihDPEZpbmFsPi9GbHVzaGVkQ2VsbCksIG1hY2hpbmU6YXJnMiwgUjpT
dGFjayg2KSwgYmMjMjE1LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIEZpbmFsCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZWFkMC4uLjB4MzA0MGVhZDAK
ICAgICA2OTQ6PCEwOi0+CUZvcmNlT1NSRXhpdChNdXN0R2VuLCBXOlNpZGVTdGF0ZSwgRXhpdHMs
IGJjIzIxNSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MGVhZDAuLi4weDMwNDBlYWQwCiAgICAgNjk1OjwhMDotPglGb3JjZU9TUkV4
aXQoTXVzdEdlbiwgVzpTaWRlU3RhdGUsIEV4aXRzLCBiYyMyMTUsIEV4aXRWYWxpZCkKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlYWQwLi4uMHgzMDQw
ZWFkMAogICAgIDI1OTo8ITI6bG9jMTc+CUdldEJ5VmFsKENoZWNrOlVudHlwZWQ6QDI1OCwgQ2hl
Y2s6VW50eXBlZDpAMjUyLCBKU3xNdXN0R2VufFVzZUFzT3RoZXIsIEZvcmNlRXhpdCtOb25BcnJh
eStJbkJvdW5kcytBc0lzLCBXOlNpZGVTdGF0ZSwgRXhpdHMsIGJjIzIxNSwgRXhpdFZhbGlkKSAg
cHJlZGljdGluZyBOb25lCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFu
Z2UgMHgzMDQwZWFkMC4uLjB4MzA0MGVhZDAKICAgICAyNjA6PCEwOi0+CU1vdkhpbnQoQ2hlY2s6
VW50eXBlZDpAMjU5LCBNdXN0R2VuLCBsb2MxMywgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwg
YmMjMjE1LCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZv
ciByYW5nZSAweDMwNDBlYWQwLi4uMHgzMDQwZWFkMAogICAgIDI2Mjo8ITE6bG9jMTY+CUdldExv
Y2FsKENoZWNrOlVudHlwZWQ6QDY1OSwgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBCb29sSW50MzJ8
Tm9uQm9vbEludDMyfEJ5dGVjb2RlRG91YmxlLCBsb2MyKFZDfjxOdW1iZXI+L0ZsdXNoZWRKU1Zh
bHVlKSwgbWFjaGluZTpsb2MxLCBSOlN0YWNrKC0zKSwgYmMjMjIxLCBFeGl0VmFsaWQpICBwcmVk
aWN0aW5nIEJvb2xJbnQzMnxOb25Cb29sSW50MzJ8Qnl0ZWNvZGVEb3VibGUKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlYWQwLi4uMHgzMDQwZWFkMAog
ICAgIDI2Mzo8ITE6bG9jMTc+CUNvbXBhcmVMZXNzKENoZWNrOlVudHlwZWQ6QDI2MiwgQ2hlY2s6
VW50eXBlZDpAMjU5LCBCb29sZWFufE11c3RHZW58VXNlQXNPdGhlciwgQm9vbCwgUjpXb3JsZCwg
VzpIZWFwLCBFeGl0cywgQ2xvYmJlcnNFeGl0LCBiYyMyMjEsIEV4aXRWYWxpZCkKICAgICAgICBk
aXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlYWQwLi4uMHgzMDQwZWFk
MAogICAgIDI2NDo8ITA6LT4JQnJhbmNoKENoZWNrOktub3duQm9vbGVhbjpAMjYzLCBNdXN0R2Vu
LCBUOiMxMS93OjEwMC4wMDAwMDAsIEY6IzEyL3c6MTAwMC4wMDAwMDAsIFc6U2lkZVN0YXRlLCBi
YyMyMjEsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MGVhZDAuLi4weDMwNDBlYWQwCiAgICBCbG9jayAjMTEgKGJjIzIyNSk6CiAg
ICAgIEV4ZWN1dGlvbiBjb3VudDogMTAwLjAwMDAwMAogICAgICBQcmVkZWNlc3NvcnM6ICMxMAog
ICAgICBTdWNjZXNzb3JzOiAjMjgKICAgICAgRG9taW5hdGVkIGJ5OiAjcm9vdCAjMCAjMyAjNiAj
NyAjOCAjOSAjMTAgIzExCiAgICAgIERvbWluYXRlczogIzExCiAgICAgIERvbWluYW5jZSBGcm9u
dGllcjogIzI4CiAgICAgIEl0ZXJhdGVkIERvbWluYW5jZSBGcm9udGllcjogIzMgIzcgIzI4ICMy
OSAjMzAKICAgICAgQ29udGFpbmluZyBsb29wIGhlYWRlcnM6ICM3ICMzCiAgICAgIFBoaSBOb2Rl
czogQDY3OTxsb2M1LDI+LT4oQDQ5NSksIEA2Mzk8bG9jNCwyPi0+KEA1MjApLCBANTA0PGxvYzMs
MT4tPihAMjU3KSwgQDQ5MDxsb2MwLDE+LT4oQDQ3KSwgQDY3NjxhcmcyLDE+LT4oQDY0NyksIEAx
MDU8dGhpcywxPi0+KEA1MjkpLCBANjI5PGFyZzEsMT4tPihANjY5KQogICAgICAgIGRpc2Fzc2Vt
Ymx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGVhZDAuLi4weDMwNDBlYWQ4CiAgICAg
NzIyOjwhMDotPglJbnZhbGlkYXRpb25Qb2ludChNdXN0R2VuLCBXOlNpZGVTdGF0ZSwgRXhpdHMs
IGJjIzIyNSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MGVhZDguLi4weDMwNDBlYWQ4CiAgICAgMjY1OjwhMTpsb2MxNz4JR2V0TG9j
YWwoQ2hlY2s6VW50eXBlZDpANjc5LCBKU3xNdXN0R2VufFVzZUFzT3RoZXIsIEFycmF5LCBsb2M1
KFE8QXJyYXk+L0ZsdXNoZWRDZWxsKSwgbWFjaGluZTpsb2M0LCBSOlN0YWNrKC02KSwgYmMjMjI1
LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIEFycmF5CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2
YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZWFkOC4uLjB4MzA0MGVhZDgKICAgICAyNjY6PCExOmxv
YzE2PglHZXRMb2NhbChDaGVjazpVbnR5cGVkOkA2MzksIEpTfE11c3RHZW58UHVyZU51bXxVc2VB
c090aGVyfFVzZUFzSW50fFJlYWxseVdhbnRzSW50LCBJbnQzMiwgbG9jNChRQjxJbnQzMj4vRmx1
c2hlZEludDMyKSwgbWFjaGluZTpsb2MzLCBSOlN0YWNrKC01KSwgYmMjMjI1LCBFeGl0VmFsaWQp
ICBwcmVkaWN0aW5nIEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwZWFkOC4uLjB4MzA0MGVhZDgKICAgICAyNjc6PCExOmxvYzE1PglHZXRMb2Nh
bChDaGVjazpVbnR5cGVkOkA1MDQsIEpTfE11c3RHZW58VXNlQXNPdGhlciwgU3RyaW5nLCBsb2Mz
KEpEfjxTdHJpbmc+L0ZsdXNoZWRKU1ZhbHVlKSwgbWFjaGluZTpsb2MyLCBSOlN0YWNrKC00KSwg
YmMjMjI1LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIFN0cmluZwogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGVhZDguLi4weDMwNDBlYWQ4CiAgICAgNjk2
OjwhMDotPglGb3JjZU9TUkV4aXQoTXVzdEdlbiwgVzpTaWRlU3RhdGUsIEV4aXRzLCBiYyMyMjUs
IEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDBlYWQ4Li4uMHgzMDQwZWFkOAogICAgIDI2ODo8ITA6LT4JUHV0QnlWYWwoQ2hlY2s6Q2Vs
bDpAMjY1LCBDaGVjazpVbnR5cGVkOkAyNjYsIENoZWNrOlVudHlwZWQ6QDI2NywgTXVzdEdlbnxW
YXJBcmdzLCBGb3JjZUV4aXQrTm9uQXJyYXkrSW5Cb3VuZHMrQXNJcywgVzpTaWRlU3RhdGUsIEV4
aXRzLCBiYyMyMjUsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDBlYWQ4Li4uMHgzMDQwZWFkOAogICAgIDI4Nzo8ITA6LT4JSnVtcChN
dXN0R2VuLCBUOiMyOCwgVzpTaWRlU3RhdGUsIGJjIzIzNiwgRXhpdFZhbGlkKQogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGVhZDguLi4weDMwNDBlYWQ4
CiAgICBCbG9jayAjMTIgKGJjIzIzMik6CiAgICAgIEV4ZWN1dGlvbiBjb3VudDogMTAwMC4wMDAw
MDAKICAgICAgUHJlZGVjZXNzb3JzOiAjOSAjMTAKICAgICAgU3VjY2Vzc29yczogIzgKICAgICAg
RG9taW5hdGVkIGJ5OiAjcm9vdCAjMCAjMyAjNiAjNyAjOCAjOSAjMTIKICAgICAgRG9taW5hdGVz
OiAjMTIKICAgICAgRG9taW5hbmNlIEZyb250aWVyOiAjOAogICAgICBJdGVyYXRlZCBEb21pbmFu
Y2UgRnJvbnRpZXI6ICMzICM3ICM4ICMyOSAjMzAKICAgICAgQ29udGFpbmluZyBsb29wIGhlYWRl
cnM6ICM4ICM3ICMzCiAgICAgIFBoaSBOb2RlczogQDQ5Njxsb2MxMCwxPi0+KEA2MDUsIEA2MjIp
LCBANTAwPGFyZzIsMj4tPihANjQ3LCBAMTA2KSwgQDU1ODxhcmcxLDI+LT4oQDY2OSwgQDUyNyks
IEA1OTM8dGhpcywyPi0+KEA1MjksIEA1NjYpLCBANTI8bG9jOSwyPi0+KEA1NzYsIEA2NTIpLCBA
NjI4PGxvYzgsMj4tPihAMTEwLCBAMTA5KSwgQDY1MDxsb2M3LDI+LT4oQDYxNSwgQDYzNyksIEA2
NzU8bG9jNSwyPi0+KEA0OTUsIEA2NjApLCBANTA2PGxvYzQsMj4tPihANTIwLCBANTIxKSwgQDU3
Nzxsb2MyLDI+LT4oQDY1OSwgQDQ4KSwgQDY4Njxsb2MwLDI+LT4oQDQ3LCBANjc0KQogICAgICAg
IGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGVhZDguLi4weDMwNDBl
YWUwCiAgICAgNzIzOjwhMDotPglJbnZhbGlkYXRpb25Qb2ludChNdXN0R2VuLCBXOlNpZGVTdGF0
ZSwgRXhpdHMsIGJjIzIzMiwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGVhZTAuLi4weDMwNDBlYWUwCiAgICAgMjcwOjwhMTpsb2Mx
Nz4JR2V0TG9jYWwoQ2hlY2s6VW50eXBlZDpANDk2LCBKU3xNdXN0R2VufFB1cmVOdW18UmVhbGx5
V2FudHNJbnQsIEludDMyLCBsb2MxMChBRDxJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFjaGluZTps
b2M4LCBSOlN0YWNrKC0xMSksIGJjIzIzMiwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgog
ICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGVhZTAuLi4w
eDMwNDBlYWUwCiAgICAgMjcxOjwgMTpsb2MxNj4JSlNDb25zdGFudChKU3xQdXJlTnVtfFJlYWxs
eVdhbnRzSW50LCBCb29sSW50MzIsIEludDMyOiAxLCBiYyMyMzIsIEV4aXRWYWxpZCkKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlYWUwLi4uMHgzMDQw
ZWFlMAogICAgIDI3Mjo8ITI6bG9jMTY+CUFyaXRoQWRkKENoZWNrOkludDMyOkAyNzAsIENoZWNr
OkludDMyOkAyNzEsIE51bWJlcnxNdXN0R2VufFVzZUFzT3RoZXJ8UmVhbGx5V2FudHNJbnQsIElu
dDMyLCBDaGVja092ZXJmbG93LCBFeGl0cywgYmMjMjMyLCBFeGl0VmFsaWQpCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZWFlMC4uLjB4MzA0MGVhZTAK
ICAgICAyNzM6PCEwOi0+CU1vdkhpbnQoQ2hlY2s6VW50eXBlZDpAMjcyLCBNdXN0R2VuLCBsb2Mx
MCwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMjMyLCBFeGl0VmFsaWQpCiAgICAgICAg
ZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZWFlMC4uLjB4MzA0MGVh
ZTAKICAgICAyNzQ6PCAxOi0+CVNldExvY2FsKENoZWNrOkludDMyOkAyNzIsIGxvYzEwKEFEPElu
dDMyPi9GbHVzaGVkSW50MzIpLCBtYWNoaW5lOmxvYzgsIFc6U3RhY2soLTExKSwgRXhpdHMsIGJj
IzIzMiwgZXhpdDogYmMjMjM0LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIEludDMyCiAgICAgICAg
ZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZWFlMC4uLjB4MzA0MGVh
ZTAKICAgICAyNzU6PCEwOi0+CUp1bXAoTXVzdEdlbiwgVDojOCwgVzpTaWRlU3RhdGUsIGJjIzIz
NCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MGVhZTAuLi4weDMwNDBlYWUwCiAgICAgMjc2OjwhMDotPglGbHVzaChDaGVjazpVbnR5
cGVkOkA1MDAsIE11c3RHZW58SXNGbHVzaGVkLCBhcmcyKEM8RmluYWw+L0ZsdXNoZWRDZWxsKSwg
bWFjaGluZTphcmcyLCBSOlN0YWNrKDYpLCBXOlNpZGVTdGF0ZSwgYmMjMjM0LCBFeGl0VmFsaWQp
ICBwcmVkaWN0aW5nIEZpbmFsCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwZWFlMC4uLjB4MzA0MGVhZTAKICAgICAyNzc6PCEwOi0+CUZsdXNoKENoZWNr
OlVudHlwZWQ6QDU1OCwgTXVzdEdlbnxJc0ZsdXNoZWQsIGFyZzEoQjxJbnQzMj4vRmx1c2hlZElu
dDMyKSwgbWFjaGluZTphcmcxLCBSOlN0YWNrKDUpLCBXOlNpZGVTdGF0ZSwgYmMjMjM0LCBFeGl0
VmFsaWQpICBwcmVkaWN0aW5nIEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwZWFlMC4uLjB4MzA0MGVhZTAKICAgICAyNzg6PCEwOi0+CVBoYW50
b21Mb2NhbChDaGVjazpVbnR5cGVkOkA1OTMsIE11c3RHZW4sIHRoaXMoYSksIG1hY2hpbmU6dGhp
cywgVzpTaWRlU3RhdGUsIGJjIzIzNCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBPdGhlck9iagog
ICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGVhZTAuLi4w
eDMwNDBlYWUwCiAgICAgMjgwOjwhMDotPglQaGFudG9tTG9jYWwoQ2hlY2s6VW50eXBlZDpANTIs
IE11c3RHZW4sIGxvYzkoWkM8SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hpbmU6bG9jNywgVzpT
aWRlU3RhdGUsIGJjIzIzNCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGVhZTAuLi4weDMwNDBlYWUw
CiAgICAgMjgxOjwhMDotPglQaGFudG9tTG9jYWwoQ2hlY2s6VW50eXBlZDpANjI4LCBNdXN0R2Vu
LCBsb2M4KFlDPENlbGw+L0ZsdXNoZWRDZWxsKSwgbWFjaGluZTpsb2M2LCBXOlNpZGVTdGF0ZSwg
YmMjMjM0LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIENlbGwKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlYWUwLi4uMHgzMDQwZWFlMAogICAgIDI4Mjo8
ITA6LT4JUGhhbnRvbUxvY2FsKENoZWNrOlVudHlwZWQ6QDY1MCwgTXVzdEdlbiwgbG9jNyhYQzxG
aW5hbD4vRmx1c2hlZENlbGwpLCBtYWNoaW5lOmxvYzUsIFc6U2lkZVN0YXRlLCBiYyMyMzQsIEV4
aXRWYWxpZCkgIHByZWRpY3RpbmcgRmluYWwKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMwNDBlYWUwLi4uMHgzMDQwZWFlMAogICAgIDI4Mzo8ITA6LT4JUGhh
bnRvbUxvY2FsKENoZWNrOlVudHlwZWQ6QDY3NSwgTXVzdEdlbiwgbG9jNShRPEFycmF5Pi9GbHVz
aGVkQ2VsbCksIG1hY2hpbmU6bG9jNCwgVzpTaWRlU3RhdGUsIGJjIzIzNCwgRXhpdFZhbGlkKSAg
cHJlZGljdGluZyBBcnJheQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MGVhZTAuLi4weDMwNDBlYWUwCiAgICAgMjg0OjwhMDotPglQaGFudG9tTG9jYWwo
Q2hlY2s6VW50eXBlZDpANTA2LCBNdXN0R2VuLCBsb2M0KFFCPEludDMyPi9GbHVzaGVkSW50MzIp
LCBtYWNoaW5lOmxvYzMsIFc6U2lkZVN0YXRlLCBiYyMyMzQsIEV4aXRWYWxpZCkgIHByZWRpY3Rp
bmcgSW50MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMw
NDBlYWUwLi4uMHgzMDQwZWFlMAogICAgIDI4NTo8ITA6LT4JUGhhbnRvbUxvY2FsKENoZWNrOlVu
dHlwZWQ6QDU3NywgTXVzdEdlbiwgbG9jMihWQ348TnVtYmVyPi9GbHVzaGVkSlNWYWx1ZSksIG1h
Y2hpbmU6bG9jMSwgVzpTaWRlU3RhdGUsIGJjIzIzNCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBC
b29sSW50MzJ8Tm9uQm9vbEludDMyfEJ5dGVjb2RlRG91YmxlCiAgICAgICAgZGlzYXNzZW1ibHkg
bm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZWFlMC4uLjB4MzA0MGVhZTAKICAgICAyODY6
PCEwOi0+CVBoYW50b21Mb2NhbChDaGVjazpVbnR5cGVkOkA2ODYsIE11c3RHZW4sIGxvYzAoS348
T2JqZWN0Pi9GbHVzaGVkSlNWYWx1ZSksIG1hY2hpbmU6bG9jMCwgVzpTaWRlU3RhdGUsIGJjIzIz
NCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBPdGhlck9iagogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGVhZTAuLi4weDMwNDBlYWUwCiAgICBCbG9jayAj
MTQgKGJjIzIzOCk6CiAgICAgIEV4ZWN1dGlvbiBjb3VudDogMTAwLjAwMDAwMAogICAgICBQcmVk
ZWNlc3NvcnM6ICM4CiAgICAgIFN1Y2Nlc3NvcnM6ICMxNQogICAgICBEb21pbmF0ZWQgYnk6ICNy
b290ICMwICMzICM2ICM3ICM4ICMxNAogICAgICBEb21pbmF0ZXM6ICMxNCAjMTUgIzE2ICMxNyAj
MTggIzE5ICMyMSAjMjIgIzIzICMyNCAjMjUgIzI2CiAgICAgIERvbWluYW5jZSBGcm9udGllcjog
IzI4CiAgICAgIEl0ZXJhdGVkIERvbWluYW5jZSBGcm9udGllcjogIzMgIzcgIzI4ICMyOSAjMzAK
ICAgICAgQ29udGFpbmluZyBsb29wIGhlYWRlcnM6ICM3ICMzCiAgICAgIFBoaSBOb2RlczogQDU5
MDxsb2M4LDI+LT4oQDU3MyksIEA0OTM8bG9jMCwxPi0+KEA1NDgpLCBANTAzPGxvYzcsMT4tPihA
NDc2KSwgQDQ5MTxsb2MyLDE+LT4oQDY2OCksIEA1MDI8bG9jNCwxPi0+KEA1MjIpLCBANjM1PGxv
YzUsMT4tPihANDg0KSwgQDYyMTxhcmcyLDE+LT4oQDY2NyksIEA1NTE8dGhpcywxPi0+KEA1NzAp
LCBANjI1PGFyZzEsMT4tPihANTI4KQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MGVhZTAuLi4weDMwNDBlYjQ4CiAgICAgMjg4OjwgMzpsb2MxNz4JSlND
b25zdGFudChKU3xVc2VBc090aGVyLCBCb29sSW50MzIsIEludDMyOiAwLCBiYyMyMzgsIEV4aXRW
YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBl
YjQ4Li4uMHgzMDQwZWI0OAogICAgIDI4OTo8ITA6LT4JTW92SGludChVbnR5cGVkOkAyODgsIE11
c3RHZW4sIGxvYzEwLCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMyMzgsIEV4aXRWYWxp
ZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlYjQ4
Li4uMHgzMDQwZWI0OAogICAgIDI5MDo8IDE6LT4JU2V0TG9jYWwoSW50MzI6QDI4OCwgbG9jMTAo
Q0U8SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hpbmU6bG9jOCwgVzpTdGFjaygtMTEpLCBiYyMy
MzgsIGV4aXQ6IGJjIzI0MSwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGViNDguLi4weDMwNDBlYjUw
CiAgICAgMjkxOjwhMTpsb2MxNj4JR2V0TG9jYWwoVW50eXBlZDpANTkwLCBKU3xNdXN0R2VufFVz
ZUFzT3RoZXIsIENlbGwsIGxvYzgoWUM8Q2VsbD4vRmx1c2hlZENlbGwpLCBtYWNoaW5lOmxvYzYs
IFI6U3RhY2soLTkpLCBiYyMyNDEsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgQ2VsbAogICAgICAg
IGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGViNTAuLi4weDMwNDBl
YjU0CiAgICAgMjkyOjwhMjpsb2MxNz4JR2V0RW51bWVyYXRvclN0cnVjdHVyZVBuYW1lKEtub3du
Q2VsbDpAMjkxLCBLbm93bkludDMyOkAyODgsIEpTfE11c3RHZW58VXNlQXNPdGhlciwgQ2VsbHxP
dGhlciwgRXhpdHMsIGJjIzI0MSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGViNTQuLi4weDMwNDBlYmYwCiAgICAgMjkzOjwhMDot
PglNb3ZIaW50KFVudHlwZWQ6QDI5MiwgTXVzdEdlbiwgbG9jMTEsIFc6U2lkZVN0YXRlLCBDbG9i
YmVyc0V4aXQsIGJjIzI0MSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGViZjAuLi4weDMwNDBlYmYwCiAgICAgMjk0OjwgMTotPglT
ZXRMb2NhbChVbnR5cGVkOkAyOTIsIGxvYzExKEVFL0ZsdXNoZWRKU1ZhbHVlKSwgbWFjaGluZTps
b2M5LCBXOlN0YWNrKC0xMiksIGJjIzI0MSwgZXhpdDogYmMjMjQ1LCBFeGl0VmFsaWQpICBwcmVk
aWN0aW5nIENlbGx8T3RoZXIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMwNDBlYmYwLi4uMHgzMDQwZWJmOAogICAgIDI5NTo8ITA6LT4JSnVtcChNdXN0R2Vu
LCBUOiMxNSwgVzpTaWRlU3RhdGUsIGJjIzI0NSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2Vt
Ymx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGViZjguLi4weDMwNDBlYzMwCiAgICBC
bG9jayAjMTUgKGJjIzI0NSk6IChPU1IgdGFyZ2V0KQogICAgICBFeGVjdXRpb24gY291bnQ6IDEw
MDAuMDAwMDAwCiAgICAgIFByZWRlY2Vzc29yczogIzE0ICMxOQogICAgICBTdWNjZXNzb3JzOiAj
MjEgIzE2CiAgICAgIERvbWluYXRlZCBieTogI3Jvb3QgIzAgIzMgIzYgIzcgIzggIzE0ICMxNQog
ICAgICBEb21pbmF0ZXM6ICMxNSAjMTYgIzE3ICMxOCAjMTkgIzIxICMyMiAjMjMgIzI0ICMyNSAj
MjYKICAgICAgRG9taW5hbmNlIEZyb250aWVyOiAjMTUgIzI4CiAgICAgIEl0ZXJhdGVkIERvbWlu
YW5jZSBGcm9udGllcjogIzMgIzcgIzE1ICMyOCAjMjkgIzMwCiAgICAgIExvb3AgaGVhZGVyLCBj
b250YWluczogIzE1ICMxNiAjMTcgIzE5CiAgICAgIENvbnRhaW5pbmcgbG9vcCBoZWFkZXJzOiAj
MTUgIzcgIzMKICAgICAgUGhpIE5vZGVzOiBANTc4PGxvYzExLDI+LT4oQDMzNiwgQDI5NCksIEA2
ODM8bG9jMCwyPi0+KEA1ODEsIEA0OTMpLCBANjYzPGxvYzgsMj4tPihANjg0LCBANTkwKSwgQDY2
NTxsb2M3LDI+LT4oQDUwLCBANTAzKSwgQDQ4Nzxsb2MyLDI+LT4oQDUxMSwgQDQ5MSksIEA2NDM8
bG9jMTAsMj4tPihAMzMyLCBAMjkwKSwgQDU2ODxsb2M0LDI+LT4oQDUxMCwgQDUwMiksIEA2MjY8
bG9jNSwyPi0+KEA2NzEsIEA2MzUpLCBANTU0PGFyZzIsMj4tPihANDk4LCBANjIxKSwgQDY0NTx0
aGlzLDI+LT4oQDU1NSwgQDU1MSksIEA2MTc8YXJnMSwyPi0+KEA1ODksIEA2MjUpCiAgICAgICAg
ZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZWMzMC4uLjB4MzA0MGVj
OTgKICAgICAyOTY6PCEwOi0+CUxvb3BIaW50KE11c3RHZW4sIFc6U2lkZVN0YXRlLCBiYyMyNDUs
IEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDBlYzk4Li4uMHgzMDQwZWM5OAogICAgIDI5Nzo8ITA6LT4JQ2hlY2tUcmFwcyhNdXN0R2Vu
LCBSOkludGVybmFsU3RhdGUsIFc6SW50ZXJuYWxTdGF0ZSwgRXhpdHMsIENsb2JiZXJzRXhpdCwg
YmMjMjQ2LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwZWM5OC4uLjB4MzA0MGVkMDQKICAgICAyOTg6PCExOmxvYzE3PglHZXRMb2Nh
bChVbnR5cGVkOkA1NzgsIEpTfE11c3RHZW58VXNlQXNPdGhlciwgQ2VsbHxPdGhlciwgbG9jMTEo
RUUvRmx1c2hlZEpTVmFsdWUpLCBtYWNoaW5lOmxvYzksIFI6U3RhY2soLTEyKSwgYmMjMjQ3LCBF
eGl0VmFsaWQpICBwcmVkaWN0aW5nIENlbGx8T3RoZXIKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlZDA0Li4uMHgzMDQwZWQwYwogICAgIDI5OTo8IDE6
bG9jMTY+CUpTQ29uc3RhbnQoSlN8VXNlQXNPdGhlciwgT3RoZXIsIE51bGwsIGJjIzI0NywgRXhp
dFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0
MGVkMGMuLi4weDMwNDBlZDBjCiAgICAgMzAwOjwgMjpsb2MxNj4JQ29tcGFyZUVxKFVudHlwZWQ6
QDI5OCwgT3RoZXI6QDI5OSwgQm9vbGVhbnxVc2VBc090aGVyLCBCb29sLCBFeGl0cywgYmMjMjQ3
LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2Ug
MHgzMDQwZWQwYy4uLjB4MzA0MGVkYmMKICAgICAzMDE6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpA
MzAwLCBNdXN0R2VuLCBsb2MxMiwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMjQ3LCBF
eGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDBlZGJjLi4uMHgzMDQwZWRiYwogICAgIDMwMzo8ITA6LT4JQnJhbmNoKEtub3duQm9vbGVh
bjpAMzAwLCBNdXN0R2VuLCBUOiMyMS93OjEwMC4wMDAwMDAsIEY6IzE2L3c6MTAwMC4wMDAwMDAs
IFc6U2lkZVN0YXRlLCBiYyMyNTAsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlZGJjLi4uMHgzMDQwZWUxYwogICAgQmxvY2sgIzE2
IChiYyMyNTMpOgogICAgICBFeGVjdXRpb24gY291bnQ6IDEwMDAuMDAwMDAwCiAgICAgIFByZWRl
Y2Vzc29yczogIzE1CiAgICAgIFN1Y2Nlc3NvcnM6ICMxNyAjMTkKICAgICAgRG9taW5hdGVkIGJ5
OiAjcm9vdCAjMCAjMyAjNiAjNyAjOCAjMTQgIzE1ICMxNgogICAgICBEb21pbmF0ZXM6ICMxNiAj
MTcgIzE4ICMxOQogICAgICBEb21pbmFuY2UgRnJvbnRpZXI6ICMxNSAjMjgKICAgICAgSXRlcmF0
ZWQgRG9taW5hbmNlIEZyb250aWVyOiAjMyAjNyAjMTUgIzI4ICMyOSAjMzAKICAgICAgQ29udGFp
bmluZyBsb29wIGhlYWRlcnM6ICMxNSAjNyAjMwogICAgICBQaGkgTm9kZXM6IEA1MDc8bG9jNywz
Pi0+KEA2NjUpLCBANTA4PGxvYzExLDI+LT4oQDU3OCksIEA1MDk8bG9jOCwzPi0+KEA2NjMpLCBA
NDg5PGxvYzAsMj4tPihANjgzKSwgQDQ4Mzxsb2MyLDI+LT4oQDQ4NyksIEA1NDM8bG9jMTAsMj4t
PihANjQzKSwgQDU2NDxsb2M0LDI+LT4oQDU2OCksIEA0NzE8bG9jNSwyPi0+KEA2MjYpLCBANDU8
dGhpcywyPi0+KEA2NDUpLCBANjI0PGFyZzEsMj4tPihANjE3KSwgQDY0MTxhcmcyLDI+LT4oQDU1
NCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlZTFj
Li4uMHgzMDQwZWU4NAogICAgIDMwNDo8ITE6bG9jMTc+CUdldExvY2FsKFVudHlwZWQ6QDUwNywg
SlN8TXVzdEdlbnxVc2VBc090aGVyLCBGaW5hbCwgbG9jNyhYQzxGaW5hbD4vRmx1c2hlZENlbGwp
LCBtYWNoaW5lOmxvYzUsIFI6U3RhY2soLTgpLCBiYyMyNTMsIEV4aXRWYWxpZCkgIHByZWRpY3Rp
bmcgRmluYWwKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMw
NDBlZTg0Li4uMHgzMDQwZWU4OAogICAgIDMwNTo8ITE6bG9jMTY+CUdldExvY2FsKFVudHlwZWQ6
QDUwOCwgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBDZWxsfE90aGVyLCBsb2MxMShFRS9GbHVzaGVk
SlNWYWx1ZSksIG1hY2hpbmU6bG9jOSwgUjpTdGFjaygtMTIpLCBiYyMyNTMsIEV4aXRWYWxpZCkg
IHByZWRpY3RpbmcgQ2VsbHxPdGhlcgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MGVlODguLi4weDMwNDBlZTkwCiAgICAgMzA2OjwhMTpsb2MxNT4JR2V0
TG9jYWwoVW50eXBlZDpANTA5LCBKU3xNdXN0R2VufFVzZUFzT3RoZXIsIENlbGwsIGxvYzgoWUM8
Q2VsbD4vRmx1c2hlZENlbGwpLCBtYWNoaW5lOmxvYzYsIFI6U3RhY2soLTkpLCBiYyMyNTMsIEV4
aXRWYWxpZCkgIHByZWRpY3RpbmcgQ2VsbAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MGVlOTAuLi4weDMwNDBlZTk0CiAgICAgMzA3OjwgMjpsb2MxNT4J
SGFzU3RydWN0dXJlUHJvcGVydHkoVW50eXBlZDpAMzA0LCBDaGVjazpTdHJpbmc6QDMwNSwgS25v
d25DZWxsOkAzMDYsIEJvb2xlYW58VXNlQXNPdGhlciwgQm9vbCwgUjpXb3JsZCwgVzpIZWFwLCBF
eGl0cywgQ2xvYmJlcnNFeGl0LCBiYyMyNTMsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJs
eSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBlZTk0Li4uMHgzMDQwZWY2NAogICAgIDMw
ODo8ITA6LT4JTW92SGludChVbnR5cGVkOkAzMDcsIE11c3RHZW4sIGxvYzEyLCBXOlNpZGVTdGF0
ZSwgQ2xvYmJlcnNFeGl0LCBiYyMyNTMsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGVmNjQuLi4weDMwNDBlZjY0CiAgICAgNzE5
OjwhMDotPglJbnZhbGlkYXRpb25Qb2ludChNdXN0R2VuLCBXOlNpZGVTdGF0ZSwgRXhpdHMsIGJj
IzI1MywgZXhpdDogYmMjMjU4LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2
YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZWY2NC4uLjB4MzA0MGVmOWMKICAgICAzMTA6PCEwOi0+
CUJyYW5jaChLbm93bkJvb2xlYW46QDMwNywgTXVzdEdlbiwgVDojMTcvdzoxMDAwLjAwMDAwMCwg
RjojMTkvdzoxMDAwLjAwMDAwMCwgVzpTaWRlU3RhdGUsIGJjIzI1OCwgRXhpdFZhbGlkKQogICAg
ICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGVmOWMuLi4weDMw
NDBlZmZjCiAgICBCbG9jayAjMTcgKGJjIzI2MSk6CiAgICAgIEV4ZWN1dGlvbiBjb3VudDogMTAw
MC4wMDAwMDAKICAgICAgUHJlZGVjZXNzb3JzOiAjMTYKICAgICAgU3VjY2Vzc29yczogIzE4ICMx
OQogICAgICBEb21pbmF0ZWQgYnk6ICNyb290ICMwICMzICM2ICM3ICM4ICMxNCAjMTUgIzE2ICMx
NwogICAgICBEb21pbmF0ZXM6ICMxNyAjMTgKICAgICAgRG9taW5hbmNlIEZyb250aWVyOiAjMTkg
IzI4CiAgICAgIEl0ZXJhdGVkIERvbWluYW5jZSBGcm9udGllcjogIzMgIzcgIzE1ICMxOSAjMjgg
IzI5ICMzMAogICAgICBDb250YWluaW5nIGxvb3AgaGVhZGVyczogIzE1ICM3ICMzCiAgICAgIFBo
aSBOb2RlczogQDU4NTxsb2MxMSwxPi0+KEA1MDgpLCBANjYxPGFyZzIsMz4tPihANjQxKSwgQDUx
PGxvYzEwLDI+LT4oQDU0MyksIEA2MTk8bG9jOCwyPi0+KEA1MDkpLCBANjQ2PGxvYzIsMj4tPihA
NDgzKSwgQDQ4NTxsb2MwLDI+LT4oQDQ4OSksIEA1NjE8bG9jNCwyPi0+KEA1NjQpLCBANjAzPGxv
YzUsMj4tPihANDcxKSwgQDU5Nzxsb2M3LDE+LT4oQDUwNyksIEA0ODA8dGhpcywyPi0+KEA0NSks
IEA1MzI8YXJnMSwyPi0+KEA2MjQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQwZWZmYy4uLjB4MzA0MGYwNjQKICAgICAzMTE6PCEzOmxvYzE3PglHZXRM
b2NhbChVbnR5cGVkOkA1ODUsIEpTfE11c3RHZW58VXNlQXNPdGhlciwgQ2VsbHxPdGhlciwgbG9j
MTEoRUUvRmx1c2hlZEpTVmFsdWUpLCBtYWNoaW5lOmxvYzksIFI6U3RhY2soLTEyKSwgYmMjMjYx
LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIENlbGx8T3RoZXIKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmMDY0Li4uMHgzMDQwZjA2YwogICAgIDMxMjo8
ITA6LT4JTW92SGludChVbnR5cGVkOkAzMTEsIE11c3RHZW4sIGxvYzMsIFc6U2lkZVN0YXRlLCBD
bG9iYmVyc0V4aXQsIGJjIzI2MSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGYwNmMuLi4weDMwNDBmMDZjCiAgICAgMzEzOjwgMTot
PglTZXRMb2NhbChVbnR5cGVkOkAzMTEsIGxvYzMoTUV+L0ZsdXNoZWRKU1ZhbHVlKSwgbWFjaGlu
ZTpsb2MyLCBXOlN0YWNrKC00KSwgYmMjMjYxLCBleGl0OiBiYyMyNjQsIEV4aXRWYWxpZCkgIHBy
ZWRpY3RpbmcgQ2VsbHxPdGhlcgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MGYwNmMuLi4weDMwNDBmMDc0CiAgICAgMzE0OjwhMTpsb2MxNj4JR2V0TG9j
YWwoVW50eXBlZDpANjYxLCBKU3xNdXN0R2VufFVzZUFzT3RoZXIsIEZpbmFsLCBhcmcyKEM8Rmlu
YWw+L0ZsdXNoZWRDZWxsKSwgbWFjaGluZTphcmcyLCBSOlN0YWNrKDYpLCBiYyMyNjQsIEV4aXRW
YWxpZCkgIHByZWRpY3RpbmcgRmluYWwKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDBmMDc0Li4uMHgzMDQwZjA3OAogICAgIDMxNTo8ITE6bG9jMTU+CUdl
dExvY2FsKFVudHlwZWQ6QDUxLCBKU3xNdXN0R2VufFVzZUFzT3RoZXIsIEludDMyLCBsb2MxMChD
RTxJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFjaGluZTpsb2M4LCBSOlN0YWNrKC0xMSksIGJjIzI2
NCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGYwNzguLi4weDMwNDBmMDdjCiAgICAgMzE2OjwhMTps
b2MxND4JR2V0TG9jYWwoVW50eXBlZDpANjE5LCBKU3xNdXN0R2VufFVzZUFzT3RoZXIsIENlbGws
IGxvYzgoWUM8Q2VsbD4vRmx1c2hlZENlbGwpLCBtYWNoaW5lOmxvYzYsIFI6U3RhY2soLTkpLCBi
YyMyNjQsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgQ2VsbAogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGYwN2MuLi4weDMwNDBmMDgwCiAgICAgMzE3Ojwh
Mzpsb2MxND4JR2V0RGlyZWN0UG5hbWUoQ2VsbDpAMzE0LCBLbm93bkNlbGw6QDMxMSwgS25vd25J
bnQzMjpAMzE1LCBLbm93bkNlbGw6QDMxNiwgSlN8TXVzdEdlbnxWYXJBcmdzfFVzZUFzT3RoZXIs
IE5vbkludEFzZG91YmxlLCBSOldvcmxkLCBXOkhlYXAsIEV4aXRzLCBDbG9iYmVyc0V4aXQsIGJj
IzI2NCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBOb25JbnRBc2RvdWJsZQogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGYwODAuLi4weDMwNDBmMTc0CiAg
ICAgMzE4OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDMxNywgTXVzdEdlbiwgbG9jMTMsIFc6U2lk
ZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzI2NCwgRXhpdEludmFsaWQpCiAgICAgICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZjE3NC4uLjB4MzA0MGYxNzQKICAg
ICA3MTg6PCEwOi0+CUludmFsaWRhdGlvblBvaW50KE11c3RHZW4sIFc6U2lkZVN0YXRlLCBFeGl0
cywgYmMjMjY0LCBleGl0OiBiYyMyNzEsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmMTc0Li4uMHgzMDQwZjFhYwogICAgIDMyMDo8
ITE6bG9jMTU+CUdldExvY2FsKFVudHlwZWQ6QDY0NiwgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBC
b29sSW50MzJ8Tm9uQm9vbEludDMyfEJ5dGVjb2RlRG91YmxlLCBsb2MyKFZDfjxOdW1iZXI+L0Zs
dXNoZWRKU1ZhbHVlKSwgbWFjaGluZTpsb2MxLCBSOlN0YWNrKC0zKSwgYmMjMjcxLCBFeGl0VmFs
aWQpICBwcmVkaWN0aW5nIEJvb2xJbnQzMnxOb25Cb29sSW50MzJ8Qnl0ZWNvZGVEb3VibGUKICAg
ICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmMWFjLi4uMHgz
MDQwZjFiNAogICAgIDcxMzo8IDE6bG9jMTU+CURvdWJsZVJlcChOdW1iZXI6QDMyMCwgRG91Ymxl
fFB1cmVJbnQsIEJ5dGVjb2RlRG91YmxlLCBiYyMyNzEsIEV4aXRWYWxpZCkKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmMWI0Li4uMHgzMDQwZjIwOAog
ICAgIDcxNDo8IDE6bG9jMTc+CURvdWJsZVJlcChDaGVjazpSZWFsTnVtYmVyOkAzMTcsIERvdWJs
ZXxQdXJlSW50LCBCeXRlY29kZURvdWJsZSwgRXhpdHMsIGJjIzI3MSwgRXhpdFZhbGlkKQogICAg
ICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGYyMDguLi4weDMw
NDBmMjkwCiAgICAgMzIxOjwgMTpsb2MxNz4JQ29tcGFyZUxlc3MoRG91YmxlUmVwOkA3MTM8RG91
YmxlPiwgRG91YmxlUmVwOkA3MTQ8RG91YmxlPiwgQm9vbGVhbnxVc2VBc090aGVyLCBCb29sLCBF
eGl0cywgYmMjMjcxLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwZjI5MC4uLjB4MzA0MGYyZWMKICAgICAzODQ6PCEwOi0+CVBoYW50
b20oVW50eXBlZDpAMzE3LCBNdXN0R2VuLCBiYyMyNzEsIEV4aXRWYWxpZCkKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmMmVjLi4uMHgzMDQwZjJlYwog
ICAgIDMyMjo8ITA6LT4JQnJhbmNoKEtub3duQm9vbGVhbjpAMzIxLCBNdXN0R2VuLCBUOiMxOC93
OjEwMC4wMDAwMDAsIEY6IzE5L3c6MTAwMC4wMDAwMDAsIFc6U2lkZVN0YXRlLCBiYyMyNzEsIEV4
aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MGYyZWMuLi4weDMwNDBmMzRjCiAgICBCbG9jayAjMTggKGJjIzI3NSk6CiAgICAgIEV4ZWN1
dGlvbiBjb3VudDogMTAwLjAwMDAwMAogICAgICBQcmVkZWNlc3NvcnM6ICMxNwogICAgICBTdWNj
ZXNzb3JzOiAjMjgKICAgICAgRG9taW5hdGVkIGJ5OiAjcm9vdCAjMCAjMyAjNiAjNyAjOCAjMTQg
IzE1ICMxNiAjMTcgIzE4CiAgICAgIERvbWluYXRlczogIzE4CiAgICAgIERvbWluYW5jZSBGcm9u
dGllcjogIzI4CiAgICAgIEl0ZXJhdGVkIERvbWluYW5jZSBGcm9udGllcjogIzMgIzcgIzI4ICMy
OSAjMzAKICAgICAgQ29udGFpbmluZyBsb29wIGhlYWRlcnM6ICM3ICMzCiAgICAgIFBoaSBOb2Rl
czogQDU4Mzxsb2M1LDI+LT4oQDYwMyksIEA2NjI8bG9jNCwyPi0+KEA1NjEpLCBANDk3PGxvYzMs
MT4tPihAMzEzKSwgQDQ5NDxsb2MwLDE+LT4oQDQ4NSksIEA2MTg8YXJnMiwxPi0+KEA2NjEpLCBA
NjU0PHRoaXMsMT4tPihANDgwKSwgQDEwNzxhcmcxLDE+LT4oQDUzMikKICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmMzRjLi4uMHgzMDQwZjNiNAogICAg
IDMyMzo8ITQ6bG9jMTc+CUdldExvY2FsKFVudHlwZWQ6QDU4MywgSlN8TXVzdEdlbnxVc2VBc090
aGVyLCBBcnJheSwgbG9jNShRPEFycmF5Pi9GbHVzaGVkQ2VsbCksIG1hY2hpbmU6bG9jNCwgUjpT
dGFjaygtNiksIGJjIzI3NSwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBBcnJheQogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGYzYjQuLi4weDMwNDBmM2I4
CiAgICAgMzI0OjwhMTpsb2MxNj4JR2V0TG9jYWwoVW50eXBlZDpANjYyLCBKU3xNdXN0R2VufFB1
cmVOdW18VXNlQXNPdGhlcnxVc2VBc0ludHxSZWFsbHlXYW50c0ludCwgSW50MzIsIGxvYzQoUUI8
SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hpbmU6bG9jMywgUjpTdGFjaygtNSksIGJjIzI3NSwg
RXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGYzYjguLi4weDMwNDBmM2JjCiAgICAgMzI1OjwhMTpsb2Mx
NT4JR2V0TG9jYWwoVW50eXBlZDpANDk3LCBKU3xNdXN0R2VufFVzZUFzT3RoZXIsIENlbGx8T3Ro
ZXIsIGxvYzMoTUV+L0ZsdXNoZWRKU1ZhbHVlKSwgbWFjaGluZTpsb2MyLCBSOlN0YWNrKC00KSwg
YmMjMjc1LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIENlbGx8T3RoZXIKICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmM2JjLi4uMHgzMDQwZjNjNAogICAg
IDY5Nzo8ITA6LT4JQ2hlY2tTdHJ1Y3R1cmUoQ2VsbDpAMzIzLCBNdXN0R2VuLCBbJUFXOkFycmF5
XSwgUjpKU0NlbGxfc3RydWN0dXJlSUQsIEV4aXRzLCBiYyMyNzUsIEV4aXRWYWxpZCkKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmM2M0Li4uMHgzMDQw
ZjQyOAogICAgIDY5ODo8IDE6bG9jMTQ+CUdldEJ1dHRlcmZseShDZWxsOkAzMjMsIFN0b3JhZ2V8
UHVyZUludCwgUjpKU09iamVjdF9idXR0ZXJmbHksIEV4aXRzLCBiYyMyNzUsIEV4aXRWYWxpZCkK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmNDI4Li4u
MHgzMDQwZjQ2NAogICAgIDMyNjo8ITA6LT4JUHV0QnlWYWwoS25vd25DZWxsOkAzMjMsIEludDMy
OkAzMjQsIFVudHlwZWQ6QDMyNSwgVW50eXBlZDpANjk4LCBNdXN0R2VufFZhckFyZ3MsIENvbnRp
Z3VvdXMrT3JpZ2luYWxBcnJheStJbkJvdW5kcytBc0lzLCBSOkJ1dHRlcmZseV9wdWJsaWNMZW5n
dGgsQnV0dGVyZmx5X3ZlY3Rvckxlbmd0aCxJbmRleGVkQ29udGlndW91c1Byb3BlcnRpZXMsIFc6
SW5kZXhlZENvbnRpZ3VvdXNQcm9wZXJ0aWVzLCBFeGl0cywgQ2xvYmJlcnNFeGl0LCBiYyMyNzUs
IEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDBmNDY0Li4uMHgzMDQwZjRkYwogICAgIDY0MDo8ITA6LT4JRmVuY2VkU3RvcmVCYXJyaWVy
KEtub3duQ2VsbDpAMzIzLCBNdXN0R2VuLCBSOkhlYXAsIFc6SlNDZWxsX2NlbGxTdGF0ZSwgYmMj
Mjc1LCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMwNDBmNGRjLi4uMHgzMDQwZjU5YwogICAgIDM0OTo8ITA6LT4JSnVtcChNdXN0R2Vu
LCBUOiMyOCwgVzpTaWRlU3RhdGUsIGJjIzI5MCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2Vt
Ymx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGY1OWMuLi4weDMwNDBmNWY0CiAgICBC
bG9jayAjMTkgKGJjIzI4Mik6CiAgICAgIEV4ZWN1dGlvbiBjb3VudDogMTAwMC4wMDAwMDAKICAg
ICAgUHJlZGVjZXNzb3JzOiAjMTYgIzE3CiAgICAgIFN1Y2Nlc3NvcnM6ICMxNQogICAgICBEb21p
bmF0ZWQgYnk6ICNyb290ICMwICMzICM2ICM3ICM4ICMxNCAjMTUgIzE2ICMxOQogICAgICBEb21p
bmF0ZXM6ICMxOQogICAgICBEb21pbmFuY2UgRnJvbnRpZXI6ICMxNQogICAgICBJdGVyYXRlZCBE
b21pbmFuY2UgRnJvbnRpZXI6ICMzICM3ICMxNSAjMjggIzI5ICMzMAogICAgICBDb250YWluaW5n
IGxvb3AgaGVhZGVyczogIzE1ICM3ICMzCiAgICAgIFBoaSBOb2RlczogQDU4Njxsb2MxMCwxPi0+
KEA1MSwgQDU0MyksIEA2ODQ8bG9jOCwzPi0+KEA2MTksIEA1MDkpLCBANDk4PGFyZzIsMj4tPihA
NjYxLCBANjQxKSwgQDU4OTxhcmcxLDI+LT4oQDUzMiwgQDYyNCksIEA1NTU8dGhpcywyPi0+KEA0
ODAsIEA0NSksIEA1MDxsb2M3LDI+LT4oQDU5NywgQDUwNyksIEA2NzE8bG9jNSwyPi0+KEA2MDMs
IEA0NzEpLCBANTEwPGxvYzQsMj4tPihANTYxLCBANTY0KSwgQDUxMTxsb2MyLDI+LT4oQDY0Niwg
QDQ4MyksIEA1ODE8bG9jMCwyPi0+KEA0ODUsIEA0ODkpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZjVmNC4uLjB4MzA0MGY2NWMKICAgICAzMjg6PCEx
OmxvYzE3PglHZXRMb2NhbChVbnR5cGVkOkA1ODYsIEpTfE11c3RHZW58UHVyZU51bSwgSW50MzIs
IGxvYzEwKENFPEludDMyPi9GbHVzaGVkSW50MzIpLCBtYWNoaW5lOmxvYzgsIFI6U3RhY2soLTEx
KSwgYmMjMjgyLCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIEludDMyCiAgICAgICAgZGlzYXNzZW1i
bHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZjY1Yy4uLjB4MzA0MGY2NjAKICAgICAz
Mjk6PCAxOmxvYzE2PglKU0NvbnN0YW50KEpTfFB1cmVOdW0sIEJvb2xJbnQzMiwgSW50MzI6IDEs
IGJjIzI4MiwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MGY2NjAuLi4weDMwNDBmNjYwCiAgICAgMzMwOjwhMzpsb2MxNj4JQXJpdGhB
ZGQoSW50MzI6QDMyOCwgSW50MzI6QDMyOSwgTnVtYmVyfE11c3RHZW58VXNlQXNPdGhlciwgSW50
MzIsIENoZWNrT3ZlcmZsb3csIEV4aXRzLCBiYyMyODIsIEV4aXRWYWxpZCkKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmNjYwLi4uMHgzMDQwZjZkOAog
ICAgIDMzMTo8ITA6LT4JTW92SGludChVbnR5cGVkOkAzMzAsIE11c3RHZW4sIGxvYzEwLCBXOlNp
ZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMyODIsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmNmQ4Li4uMHgzMDQwZjZkOAogICAg
IDMzMjo8IDE6LT4JU2V0TG9jYWwoSW50MzI6QDMzMCwgbG9jMTAoQ0U8SW50MzI+L0ZsdXNoZWRJ
bnQzMiksIG1hY2hpbmU6bG9jOCwgVzpTdGFjaygtMTEpLCBiYyMyODIsIGV4aXQ6IGJjIzI4NCwg
RXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGY2ZDguLi4weDMwNDBmNmRjCiAgICAgMzMzOjwhMTpsb2Mx
Nz4JR2V0TG9jYWwoVW50eXBlZDpANjg0LCBKU3xNdXN0R2VufFVzZUFzT3RoZXIsIENlbGwsIGxv
YzgoWUM8Q2VsbD4vRmx1c2hlZENlbGwpLCBtYWNoaW5lOmxvYzYsIFI6U3RhY2soLTkpLCBiYyMy
ODQsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgQ2VsbAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGY2ZGMuLi4weDMwNDBmNmUwCiAgICAgMzM0OjwhMjps
b2MxNj4JR2V0RW51bWVyYXRvclN0cnVjdHVyZVBuYW1lKEtub3duQ2VsbDpAMzMzLCBLbm93bklu
dDMyOkAzMzAsIEpTfE11c3RHZW58VXNlQXNPdGhlciwgQ2VsbHxPdGhlciwgRXhpdHMsIGJjIzI4
NCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MGY2ZTAuLi4weDMwNDBmNzdjCiAgICAgMzM1OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6
QDMzNCwgTXVzdEdlbiwgbG9jMTEsIFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzI4NCwg
RXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MGY3N2MuLi4weDMwNDBmNzdjCiAgICAgMzM2OjwgMTotPglTZXRMb2NhbChVbnR5cGVkOkAz
MzQsIGxvYzExKEVFL0ZsdXNoZWRKU1ZhbHVlKSwgbWFjaGluZTpsb2M5LCBXOlN0YWNrKC0xMiks
IGJjIzI4NCwgZXhpdDogYmMjMjg4LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIENlbGx8T3RoZXIK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmNzdjLi4u
MHgzMDQwZjc4NAogICAgIDMzNzo8ITA6LT4JSnVtcChNdXN0R2VuLCBUOiMxNSwgVzpTaWRlU3Rh
dGUsIGJjIzI4OCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MGY3ODQuLi4weDMwNDBmN2RjCiAgICAgMzM4OjwhMDotPglGbHVzaChV
bnR5cGVkOkA0OTgsIE11c3RHZW58SXNGbHVzaGVkLCBhcmcyKEM8RmluYWw+L0ZsdXNoZWRDZWxs
KSwgbWFjaGluZTphcmcyLCBSOlN0YWNrKDYpLCBXOlNpZGVTdGF0ZSwgYmMjMjg4LCBFeGl0VmFs
aWQpICBwcmVkaWN0aW5nIEZpbmFsCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQwZjdkYy4uLjB4MzA0MGY3ZGMKICAgICAzMzk6PCEwOi0+CUZsdXNoKFVu
dHlwZWQ6QDU4OSwgTXVzdEdlbnxJc0ZsdXNoZWQsIGFyZzEoQjxJbnQzMj4vRmx1c2hlZEludDMy
KSwgbWFjaGluZTphcmcxLCBSOlN0YWNrKDUpLCBXOlNpZGVTdGF0ZSwgYmMjMjg4LCBFeGl0VmFs
aWQpICBwcmVkaWN0aW5nIEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQwZjdkYy4uLjB4MzA0MGY3ZGMKICAgICAzNDA6PCEwOi0+CVBoYW50b21M
b2NhbChVbnR5cGVkOkA1NTUsIE11c3RHZW4sIHRoaXMoYSksIG1hY2hpbmU6dGhpcywgVzpTaWRl
U3RhdGUsIGJjIzI4OCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBPdGhlck9iagogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGY3ZGMuLi4weDMwNDBmN2Rj
CiAgICAgMzQzOjwhMDotPglQaGFudG9tTG9jYWwoVW50eXBlZDpANjg0LCBNdXN0R2VuLCBsb2M4
KFlDPENlbGw+L0ZsdXNoZWRDZWxsKSwgbWFjaGluZTpsb2M2LCBXOlNpZGVTdGF0ZSwgYmMjMjg4
LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIENlbGwKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZh
aWxhYmxlIGZvciByYW5nZSAweDMwNDBmN2RjLi4uMHgzMDQwZjdkYwogICAgIDM0NDo8ITA6LT4J
UGhhbnRvbUxvY2FsKFVudHlwZWQ6QDUwLCBNdXN0R2VuLCBsb2M3KFhDPEZpbmFsPi9GbHVzaGVk
Q2VsbCksIG1hY2hpbmU6bG9jNSwgVzpTaWRlU3RhdGUsIGJjIzI4OCwgRXhpdFZhbGlkKSAgcHJl
ZGljdGluZyBGaW5hbAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MGY3ZGMuLi4weDMwNDBmN2RjCiAgICAgMzQ1OjwhMDotPglQaGFudG9tTG9jYWwoVW50
eXBlZDpANjcxLCBNdXN0R2VuLCBsb2M1KFE8QXJyYXk+L0ZsdXNoZWRDZWxsKSwgbWFjaGluZTps
b2M0LCBXOlNpZGVTdGF0ZSwgYmMjMjg4LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIEFycmF5CiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZjdkYy4uLjB4
MzA0MGY3ZGMKICAgICAzNDY6PCEwOi0+CVBoYW50b21Mb2NhbChVbnR5cGVkOkA1MTAsIE11c3RH
ZW4sIGxvYzQoUUI8SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hpbmU6bG9jMywgVzpTaWRlU3Rh
dGUsIGJjIzI4OCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2Vt
Ymx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGY3ZGMuLi4weDMwNDBmN2RjCiAgICAg
MzQ3OjwhMDotPglQaGFudG9tTG9jYWwoVW50eXBlZDpANTExLCBNdXN0R2VuLCBsb2MyKFZDfjxO
dW1iZXI+L0ZsdXNoZWRKU1ZhbHVlKSwgbWFjaGluZTpsb2MxLCBXOlNpZGVTdGF0ZSwgYmMjMjg4
LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIEJvb2xJbnQzMnxOb25Cb29sSW50MzJ8Qnl0ZWNvZGVE
b3VibGUKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBm
N2RjLi4uMHgzMDQwZjdkYwogICAgIDM0ODo8ITA6LT4JUGhhbnRvbUxvY2FsKFVudHlwZWQ6QDU4
MSwgTXVzdEdlbiwgbG9jMChLfjxPYmplY3Q+L0ZsdXNoZWRKU1ZhbHVlKSwgbWFjaGluZTpsb2Mw
LCBXOlNpZGVTdGF0ZSwgYmMjMjg4LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIE90aGVyT2JqCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZjdkYy4uLjB4
MzA0MGY3ZGMKICAgIEJsb2NrICMyMSAoYmMjMjkyKToKICAgICAgRXhlY3V0aW9uIGNvdW50OiAx
MDAuMDAwMDAwCiAgICAgIFByZWRlY2Vzc29yczogIzE1CiAgICAgIFN1Y2Nlc3NvcnM6ICMyMgog
ICAgICBEb21pbmF0ZWQgYnk6ICNyb290ICMwICMzICM2ICM3ICM4ICMxNCAjMTUgIzIxCiAgICAg
IERvbWluYXRlczogIzIxICMyMiAjMjMgIzI0ICMyNSAjMjYKICAgICAgRG9taW5hbmNlIEZyb250
aWVyOiAjMjgKICAgICAgSXRlcmF0ZWQgRG9taW5hbmNlIEZyb250aWVyOiAjMyAjNyAjMjggIzI5
ICMzMAogICAgICBDb250YWluaW5nIGxvb3AgaGVhZGVyczogIzcgIzMKICAgICAgUGhpIE5vZGVz
OiBANTg0PGxvYzgsMj4tPihANjYzKSwgQDU4MDxsb2MxMCwyPi0+KEA2NDMpLCBANTkxPGxvYzAs
MT4tPihANjgzKSwgQDYwNDxsb2M3LDE+LT4oQDY2NSksIEA1NjI8bG9jMiwxPi0+KEA0ODcpLCBA
NjM2PGxvYzQsMT4tPihANTY4KSwgQDUyNDxsb2M1LDE+LT4oQDYyNiksIEA2MTI8YXJnMiwxPi0+
KEA1NTQpLCBANjc3PHRoaXMsMT4tPihANjQ1KSwgQDQ3NDxhcmcxLDE+LT4oQDYxNykKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmN2RjLi4uMHgzMDQw
Zjg0NAogICAgIDM1MDo8ITE6bG9jMTc+CUdldExvY2FsKFVudHlwZWQ6QDU4NCwgSlN8TXVzdEdl
bnxVc2VBc090aGVyLCBDZWxsLCBsb2M4KFlDPENlbGw+L0ZsdXNoZWRDZWxsKSwgbWFjaGluZTps
b2M2LCBSOlN0YWNrKC05KSwgYmMjMjkyLCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIENlbGwKICAg
ICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmODQ0Li4uMHgz
MDQwZjg0OAogICAgIDM1MTo8ITE6bG9jMTY+CUdldExvY2FsKFVudHlwZWQ6QDU4MCwgSlN8TXVz
dEdlbnxVc2VBc090aGVyLCBJbnQzMiwgbG9jMTAoQ0U8SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1h
Y2hpbmU6bG9jOCwgUjpTdGFjaygtMTEpLCBiYyMyOTIsIEV4aXRWYWxpZCkgIHByZWRpY3Rpbmcg
SW50MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBm
ODQ4Li4uMHgzMDQwZjg0YwogICAgIDM1Mjo8ITI6bG9jMTY+CUdldEVudW1lcmF0b3JHZW5lcmlj
UG5hbWUoS25vd25DZWxsOkAzNTAsIEtub3duSW50MzI6QDM1MSwgSlN8TXVzdEdlbnxVc2VBc090
aGVyfFJlYWxseVdhbnRzSW50LCBDZWxsfE90aGVyLCBFeGl0cywgYmMjMjkyLCBFeGl0VmFsaWQp
CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZjg0Yy4u
LjB4MzA0MGY4ZTgKICAgICAzNTM6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMzUyLCBNdXN0R2Vu
LCBsb2MxMSwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMjkyLCBFeGl0VmFsaWQpCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZjhlOC4uLjB4
MzA0MGY4ZTgKICAgICAzNTQ6PCAxOi0+CVNldExvY2FsKFVudHlwZWQ6QDM1MiwgbG9jMTEoSkYv
Rmx1c2hlZEpTVmFsdWUpLCBtYWNoaW5lOmxvYzksIFc6U3RhY2soLTEyKSwgYmMjMjkyLCBleGl0
OiBiYyMyOTYsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgQ2VsbHxPdGhlcgogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGY4ZTguLi4weDMwNDBmOGYwCiAg
ICAgMzU1OjwhMDotPglKdW1wKE11c3RHZW4sIFQ6IzIyLCBXOlNpZGVTdGF0ZSwgYmMjMjk2LCBF
eGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MDQwZjhmMC4uLjB4MzA0MGY5MjgKICAgIEJsb2NrICMyMiAoYmMjMjk2KTogKE9TUiB0YXJnZXQp
CiAgICAgIEV4ZWN1dGlvbiBjb3VudDogMTAwMC4wMDAwMDAKICAgICAgUHJlZGVjZXNzb3JzOiAj
MjEgIzI2CiAgICAgIFN1Y2Nlc3NvcnM6ICMyOCAjMjMKICAgICAgRG9taW5hdGVkIGJ5OiAjcm9v
dCAjMCAjMyAjNiAjNyAjOCAjMTQgIzE1ICMyMSAjMjIKICAgICAgRG9taW5hdGVzOiAjMjIgIzIz
ICMyNCAjMjUgIzI2CiAgICAgIERvbWluYW5jZSBGcm9udGllcjogIzIyICMyOAogICAgICBJdGVy
YXRlZCBEb21pbmFuY2UgRnJvbnRpZXI6ICMzICM3ICMyMiAjMjggIzI5ICMzMAogICAgICBMb29w
IGhlYWRlciwgY29udGFpbnM6ICMyMiAjMjMgIzI0ICMyNgogICAgICBDb250YWluaW5nIGxvb3Ag
aGVhZGVyczogIzIyICM3ICMzCiAgICAgIFBoaSBOb2RlczogQDUxMzxsb2MxMSwyPi0+KEAzOTMs
IEAzNTQpLCBANDg2PGxvYzAsMj4tPihANjA4LCBANTkxKSwgQDYxMzxsb2M3LDE+LT4oQDYxMSwg
QDYwNCksIEA1NDY8bG9jMiwxPi0+KEA0NzksIEA1NjIpLCBANTc0PGxvYzQsMj4tPihANTkyLCBA
NjM2KSwgQDUyMzxsb2M1LDI+LT4oQDU0NSwgQDUyNCksIEA1ODc8bG9jOCwxPi0+KEA2NTgsIEA1
ODQpLCBANDgyPGxvYzEwLDE+LT4oQDM4OSwgQDU4MCksIEA1OTg8YXJnMiwyPi0+KEA2MTYsIEA2
MTIpLCBANDcwPHRoaXMsMj4tPihANTU2LCBANjc3KSwgQDYwMTxhcmcxLDI+LT4oQDYyMCwgQDQ3
NCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmOTI4
Li4uMHgzMDQwZjk5MAogICAgIDM1Njo8ITA6LT4JTG9vcEhpbnQoTXVzdEdlbiwgVzpTaWRlU3Rh
dGUsIGJjIzI5NiwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MGY5OTAuLi4weDMwNDBmOTkwCiAgICAgMzU3OjwhMDotPglDaGVja1Ry
YXBzKE11c3RHZW4sIFI6SW50ZXJuYWxTdGF0ZSwgVzpJbnRlcm5hbFN0YXRlLCBFeGl0cywgQ2xv
YmJlcnNFeGl0LCBiYyMyOTcsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZh
aWxhYmxlIGZvciByYW5nZSAweDMwNDBmOTkwLi4uMHgzMDQwZjlmYwogICAgIDM1ODo8ITE6bG9j
MTc+CUdldExvY2FsKFVudHlwZWQ6QDUxMywgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBDZWxsfE90
aGVyLCBsb2MxMShKRi9GbHVzaGVkSlNWYWx1ZSksIG1hY2hpbmU6bG9jOSwgUjpTdGFjaygtMTIp
LCBiYyMyOTgsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgQ2VsbHxPdGhlcgogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGY5ZmMuLi4weDMwNDBmYTA0CiAg
ICAgMzU5OjwgMTpsb2MxNj4JSlNDb25zdGFudChKU3xVc2VBc090aGVyLCBPdGhlciwgTnVsbCwg
YmMjMjk4LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3Ig
cmFuZ2UgMHgzMDQwZmEwNC4uLjB4MzA0MGZhMDQKICAgICAzNjA6PCAyOmxvYzE2PglDb21wYXJl
RXEoVW50eXBlZDpAMzU4LCBPdGhlcjpAMzU5LCBCb29sZWFufFVzZUFzT3RoZXIsIEJvb2wsIEV4
aXRzLCBiYyMyOTgsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDBmYTA0Li4uMHgzMDQwZmFiNAogICAgIDM2MTo8ITA6LT4JTW92SGlu
dChVbnR5cGVkOkAzNjAsIE11c3RHZW4sIGxvYzEyLCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0
LCBiYyMyOTgsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MGZhYjQuLi4weDMwNDBmYWI0CiAgICAgMzYzOjwhMDotPglCcmFuY2go
S25vd25Cb29sZWFuOkAzNjAsIE11c3RHZW4sIFQ6IzI4L3c6MTAwLjAwMDAwMCwgRjojMjMvdzox
MDAwLjAwMDAwMCwgVzpTaWRlU3RhdGUsIGJjIzMwMSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGZhYjQuLi4weDMwNDBmYjE0CiAg
ICBCbG9jayAjMjMgKGJjIzMwNCk6CiAgICAgIEV4ZWN1dGlvbiBjb3VudDogMTAwMC4wMDAwMDAK
ICAgICAgUHJlZGVjZXNzb3JzOiAjMjIKICAgICAgU3VjY2Vzc29yczogIzI0ICMyNgogICAgICBE
b21pbmF0ZWQgYnk6ICNyb290ICMwICMzICM2ICM3ICM4ICMxNCAjMTUgIzIxICMyMiAjMjMKICAg
ICAgRG9taW5hdGVzOiAjMjMgIzI0ICMyNSAjMjYKICAgICAgRG9taW5hbmNlIEZyb250aWVyOiAj
MjIgIzI4CiAgICAgIEl0ZXJhdGVkIERvbWluYW5jZSBGcm9udGllcjogIzMgIzcgIzIyICMyOCAj
MjkgIzMwCiAgICAgIENvbnRhaW5pbmcgbG9vcCBoZWFkZXJzOiAjMjIgIzcgIzMKICAgICAgUGhp
IE5vZGVzOiBAMTA0PGxvYzcsMz4tPihANjEzKSwgQDUxMjxsb2MxMSwyPi0+KEA1MTMpLCBANjgy
PGxvYzAsMj4tPihANDg2KSwgQDQ3Mzxsb2MyLDI+LT4oQDU0NiksIEA1Njk8bG9jNCwyPi0+KEA1
NzQpLCBANjY2PGxvYzUsMj4tPihANTIzKSwgQDU2MDxsb2M4LDI+LT4oQDU4NyksIEA2Mjc8bG9j
MTAsMj4tPihANDgyKSwgQDYzMzx0aGlzLDI+LT4oQDQ3MCksIEA1MzE8YXJnMSwyPi0+KEA2MDEp
LCBANTMwPGFyZzIsMj4tPihANTk4KQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MGZiMTQuLi4weDMwNDBmYjdjCiAgICAgMzY0OjwhMTpsb2MxNz4JR2V0
TG9jYWwoVW50eXBlZDpAMTA0LCBKU3xNdXN0R2VufFVzZUFzT3RoZXIsIEZpbmFsLCBsb2M3KFhD
PEZpbmFsPi9GbHVzaGVkQ2VsbCksIG1hY2hpbmU6bG9jNSwgUjpTdGFjaygtOCksIGJjIzMwNCwg
RXhpdFZhbGlkKSAgcHJlZGljdGluZyBGaW5hbAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGZiN2MuLi4weDMwNDBmYjgwCiAgICAgMzY1OjwhMTpsb2Mx
Nj4JR2V0TG9jYWwoVW50eXBlZDpANTEyLCBKU3xNdXN0R2VufFVzZUFzT3RoZXIsIENlbGx8T3Ro
ZXIsIGxvYzExKEpGL0ZsdXNoZWRKU1ZhbHVlKSwgbWFjaGluZTpsb2M5LCBSOlN0YWNrKC0xMiks
IGJjIzMwNCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBDZWxsfE90aGVyCiAgICAgICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZmI4MC4uLjB4MzA0MGZiODgKICAg
ICAzNjY6PCAyOmxvYzE2PglIYXNHZW5lcmljUHJvcGVydHkoVW50eXBlZDpAMzY0LCBDaGVjazpD
ZWxsOkAzNjUsIEJvb2xlYW58VXNlQXNPdGhlciwgQm9vbCwgUjpXb3JsZCwgVzpIZWFwLCBFeGl0
cywgQ2xvYmJlcnNFeGl0LCBiYyMzMDQsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmYjg4Li4uMHgzMDQwZmM1MAogICAgIDM2Nzo8
ITA6LT4JTW92SGludChVbnR5cGVkOkAzNjYsIE11c3RHZW4sIGxvYzEyLCBXOlNpZGVTdGF0ZSwg
Q2xvYmJlcnNFeGl0LCBiYyMzMDQsIEV4aXRJbnZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGZjNTAuLi4weDMwNDBmYzUwCiAgICAgNzE3Ojwh
MDotPglJbnZhbGlkYXRpb25Qb2ludChNdXN0R2VuLCBXOlNpZGVTdGF0ZSwgRXhpdHMsIGJjIzMw
NCwgZXhpdDogYmMjMzA4LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWls
YWJsZSBmb3IgcmFuZ2UgMHgzMDQwZmM1MC4uLjB4MzA0MGZjODgKICAgICAzNjk6PCEwOi0+CUJy
YW5jaChLbm93bkJvb2xlYW46QDM2NiwgTXVzdEdlbiwgVDojMjQvdzoxMDAwLjAwMDAwMCwgRjoj
MjYvdzoxMDAwLjAwMDAwMCwgVzpTaWRlU3RhdGUsIGJjIzMwOCwgRXhpdFZhbGlkKQogICAgICAg
IGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGZjODguLi4weDMwNDBm
Y2U4CiAgICBCbG9jayAjMjQgKGJjIzMxMSk6CiAgICAgIEV4ZWN1dGlvbiBjb3VudDogMTAwMC4w
MDAwMDAKICAgICAgUHJlZGVjZXNzb3JzOiAjMjMKICAgICAgU3VjY2Vzc29yczogIzI1ICMyNgog
ICAgICBEb21pbmF0ZWQgYnk6ICNyb290ICMwICMzICM2ICM3ICM4ICMxNCAjMTUgIzIxICMyMiAj
MjMgIzI0CiAgICAgIERvbWluYXRlczogIzI0ICMyNQogICAgICBEb21pbmFuY2UgRnJvbnRpZXI6
ICMyNiAjMjgKICAgICAgSXRlcmF0ZWQgRG9taW5hbmNlIEZyb250aWVyOiAjMyAjNyAjMjIgIzI2
ICMyOCAjMjkgIzMwCiAgICAgIENvbnRhaW5pbmcgbG9vcCBoZWFkZXJzOiAjMjIgIzcgIzMKICAg
ICAgUGhpIE5vZGVzOiBANTE2PGxvYzExLDE+LT4oQDUxMiksIEA2ODU8YXJnMiwzPi0+KEA1MzAp
LCBANDk5PGxvYzIsMj4tPihANDczKSwgQDU1Nzxsb2MwLDI+LT4oQDY4MiksIEA1NjU8bG9jNCwy
Pi0+KEA1NjkpLCBANjUzPGxvYzUsMj4tPihANjY2KSwgQDU0OTxsb2M3LDE+LT4oQDEwNCksIEA1
NTA8bG9jOCwxPi0+KEA1NjApLCBANTQyPGxvYzEwLDE+LT4oQDYyNyksIEA2MDY8dGhpcywyPi0+
KEA2MzMpLCBANjQyPGFyZzEsMj4tPihANTMxKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGZjZTguLi4weDMwNDBmZDUwCiAgICAgMzcwOjwhMzpsb2Mx
Nz4JR2V0TG9jYWwoVW50eXBlZDpANTE2LCBKU3xNdXN0R2VufFVzZUFzT3RoZXJ8VXNlQXNJbnR8
UmVhbGx5V2FudHNJbnQsIENlbGx8T3RoZXIsIGxvYzExKEpGL0ZsdXNoZWRKU1ZhbHVlKSwgbWFj
aGluZTpsb2M5LCBSOlN0YWNrKC0xMiksIGJjIzMxMSwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBD
ZWxsfE90aGVyCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MDQwZmQ1MC4uLjB4MzA0MGZkNTgKICAgICAzNzE6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMzcw
LCBNdXN0R2VuLCBsb2MzLCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMzMTEsIEV4aXRW
YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBm
ZDU4Li4uMHgzMDQwZmQ1OAogICAgIDM3Mjo8IDE6LT4JU2V0TG9jYWwoVW50eXBlZDpAMzcwLCBs
b2MzKFFGfi9GbHVzaGVkSlNWYWx1ZSksIG1hY2hpbmU6bG9jMiwgVzpTdGFjaygtNCksIGJjIzMx
MSwgZXhpdDogYmMjMzE0LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIENlbGx8T3RoZXIKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmZDU4Li4uMHgzMDQw
ZmQ2MAogICAgIDM3Mzo8ITE6bG9jMTY+CUdldExvY2FsKFVudHlwZWQ6QDY4NSwgSlN8TXVzdEdl
bnxVc2VBc090aGVyLCBGaW5hbCwgYXJnMihDPEZpbmFsPi9GbHVzaGVkQ2VsbCksIG1hY2hpbmU6
YXJnMiwgUjpTdGFjayg2KSwgYmMjMzE0LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIEZpbmFsCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZmQ2MC4uLjB4
MzA0MGZkNjQKICAgICA2OTk6PCEwOi0+CUZvcmNlT1NSRXhpdChNdXN0R2VuLCBXOlNpZGVTdGF0
ZSwgRXhpdHMsIGJjIzMxNCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGZkNjQuLi4weDMwNDBmZGM4CiAgICAgMzc0OjwhMjpsb2Mx
Nz4JR2V0QnlWYWwoQ2hlY2s6Q2VsbDpAMzczLCBDaGVjazpVbnR5cGVkOkAzNzAsIEpTfE11c3RH
ZW58VXNlQXNPdGhlciwgR2VuZXJpYytOb25BcnJheStJbkJvdW5kcytBc0lzLCBSOldvcmxkLCBX
OkhlYXAsIEV4aXRzLCBDbG9iYmVyc0V4aXQsIGJjIzMxNCwgRXhpdFZhbGlkKSAgcHJlZGljdGlu
ZyBOb25lCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQw
ZmRjOC4uLjB4MzA0MGZkYzgKICAgICAzNzU6PCEwOi0+CU1vdkhpbnQoQ2hlY2s6VW50eXBlZDpA
Mzc0LCBNdXN0R2VuLCBsb2MxMywgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMzE0LCBF
eGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDBmZGM4Li4uMHgzMDQwZmRjOAogICAgIDcxNjo8ITA6LT4JSW52YWxpZGF0aW9uUG9pbnQo
TXVzdEdlbiwgVzpTaWRlU3RhdGUsIEV4aXRzLCBiYyMzMTQsIGV4aXQ6IGJjIzMyMCwgRXhpdFZh
bGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGZk
YzguLi4weDMwNDBmZGM4CiAgICAgMzc3OjwhMTpsb2MxNj4JR2V0TG9jYWwoQ2hlY2s6VW50eXBl
ZDpANDk5LCBKU3xNdXN0R2VufFVzZUFzT3RoZXIsIEJvb2xJbnQzMnxOb25Cb29sSW50MzJ8Qnl0
ZWNvZGVEb3VibGUsIGxvYzIoVkN+PE51bWJlcj4vRmx1c2hlZEpTVmFsdWUpLCBtYWNoaW5lOmxv
YzEsIFI6U3RhY2soLTMpLCBiYyMzMjAsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgQm9vbEludDMy
fE5vbkJvb2xJbnQzMnxCeXRlY29kZURvdWJsZQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFp
bGFibGUgZm9yIHJhbmdlIDB4MzA0MGZkYzguLi4weDMwNDBmZGM4CiAgICAgMzc4OjwhMTpsb2Mx
Nz4JQ29tcGFyZUxlc3MoQ2hlY2s6VW50eXBlZDpAMzc3LCBDaGVjazpVbnR5cGVkOkAzNzQsIEJv
b2xlYW58TXVzdEdlbnxVc2VBc090aGVyLCBCb29sLCBSOldvcmxkLCBXOkhlYXAsIEV4aXRzLCBD
bG9iYmVyc0V4aXQsIGJjIzMyMCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGZkYzguLi4weDMwNDBmZGM4CiAgICAgMzc5OjwhMDot
PglCcmFuY2goQ2hlY2s6S25vd25Cb29sZWFuOkAzNzgsIE11c3RHZW4sIFQ6IzI1L3c6MTAwLjAw
MDAwMCwgRjojMjYvdzoxMDAwLjAwMDAwMCwgVzpTaWRlU3RhdGUsIGJjIzMyMCwgRXhpdEludmFs
aWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZmRj
OC4uLjB4MzA0MGZkYzgKICAgIEJsb2NrICMyNSAoYmMjMzI0KToKICAgICAgRXhlY3V0aW9uIGNv
dW50OiAxMDAuMDAwMDAwCiAgICAgIFByZWRlY2Vzc29yczogIzI0CiAgICAgIFN1Y2Nlc3NvcnM6
ICMyOAogICAgICBEb21pbmF0ZWQgYnk6ICNyb290ICMwICMzICM2ICM3ICM4ICMxNCAjMTUgIzIx
ICMyMiAjMjMgIzI0ICMyNQogICAgICBEb21pbmF0ZXM6ICMyNQogICAgICBEb21pbmFuY2UgRnJv
bnRpZXI6ICMyOAogICAgICBJdGVyYXRlZCBEb21pbmFuY2UgRnJvbnRpZXI6ICMzICM3ICMyOCAj
MjkgIzMwCiAgICAgIENvbnRhaW5pbmcgbG9vcCBoZWFkZXJzOiAjNyAjMwogICAgICBQaGkgTm9k
ZXM6IEA1NDA8bG9jNSwyPi0+KEA2NTMpLCBANTE0PGxvYzQsMj4tPihANTY1KSwgQDUxNTxsb2Mz
LDE+LT4oQDM3MiksIEA2Mzg8bG9jMCwxPi0+KEA1NTcpLCBANDgxPGFyZzIsMT4tPihANjg1KSwg
QDU0NDx0aGlzLDE+LT4oQDYwNiksIEA2NTY8YXJnMSwxPi0+KEA2NDIpCiAgICAgICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZmRjOC4uLjB4MzA0MGZkZDAKICAg
ICA3MjQ6PCEwOi0+CUludmFsaWRhdGlvblBvaW50KE11c3RHZW4sIFc6U2lkZVN0YXRlLCBFeGl0
cywgYmMjMzI0LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQwZmRkMC4uLjB4MzA0MGZkZDAKICAgICAzODA6PCExOmxvYzE3PglHZXRM
b2NhbChDaGVjazpVbnR5cGVkOkA1NDAsIEpTfE11c3RHZW58VXNlQXNPdGhlciwgQXJyYXksIGxv
YzUoUTxBcnJheT4vRmx1c2hlZENlbGwpLCBtYWNoaW5lOmxvYzQsIFI6U3RhY2soLTYpLCBiYyMz
MjQsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgQXJyYXkKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmZGQwLi4uMHgzMDQwZmRkMAogICAgIDM4MTo8ITE6
bG9jMTY+CUdldExvY2FsKENoZWNrOlVudHlwZWQ6QDUxNCwgSlN8TXVzdEdlbnxQdXJlTnVtfFVz
ZUFzT3RoZXJ8VXNlQXNJbnR8UmVhbGx5V2FudHNJbnQsIEludDMyLCBsb2M0KFFCPEludDMyPi9G
bHVzaGVkSW50MzIpLCBtYWNoaW5lOmxvYzMsIFI6U3RhY2soLTUpLCBiYyMzMjQsIEV4aXRWYWxp
ZCkgIHByZWRpY3RpbmcgSW50MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZv
ciByYW5nZSAweDMwNDBmZGQwLi4uMHgzMDQwZmRkMAogICAgIDM4Mjo8ITE6bG9jMTU+CUdldExv
Y2FsKENoZWNrOlVudHlwZWQ6QDUxNSwgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBDZWxsfE90aGVy
LCBsb2MzKFFGfi9GbHVzaGVkSlNWYWx1ZSksIG1hY2hpbmU6bG9jMiwgUjpTdGFjaygtNCksIGJj
IzMyNCwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBDZWxsfE90aGVyCiAgICAgICAgZGlzYXNzZW1i
bHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZmRkMC4uLjB4MzA0MGZkZDAKICAgICA3
MDA6PCEwOi0+CUZvcmNlT1NSRXhpdChNdXN0R2VuLCBXOlNpZGVTdGF0ZSwgRXhpdHMsIGJjIzMy
NCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MGZkZDAuLi4weDMwNDBmZGQwCiAgICAgMzgzOjwhMDotPglQdXRCeVZhbChDaGVjazpD
ZWxsOkAzODAsIENoZWNrOlVudHlwZWQ6QDM4MSwgQ2hlY2s6VW50eXBlZDpAMzgyLCBNdXN0R2Vu
fFZhckFyZ3MsIEZvcmNlRXhpdCtOb25BcnJheStJbkJvdW5kcytBc0lzLCBXOlNpZGVTdGF0ZSwg
RXhpdHMsIGJjIzMyNCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MGZkZDAuLi4weDMwNDBmZGQwCiAgICAgNDA2OjwhMDotPglKdW1w
KE11c3RHZW4sIFQ6IzI4LCBXOlNpZGVTdGF0ZSwgYmMjMzM5LCBFeGl0VmFsaWQpCiAgICAgICAg
ZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZmRkMC4uLjB4MzA0MGZk
ZDAKICAgIEJsb2NrICMyNiAoYmMjMzMxKToKICAgICAgRXhlY3V0aW9uIGNvdW50OiAxMDAwLjAw
MDAwMAogICAgICBQcmVkZWNlc3NvcnM6ICMyMyAjMjQKICAgICAgU3VjY2Vzc29yczogIzIyCiAg
ICAgIERvbWluYXRlZCBieTogI3Jvb3QgIzAgIzMgIzYgIzcgIzggIzE0ICMxNSAjMjEgIzIyICMy
MyAjMjYKICAgICAgRG9taW5hdGVzOiAjMjYKICAgICAgRG9taW5hbmNlIEZyb250aWVyOiAjMjIK
ICAgICAgSXRlcmF0ZWQgRG9taW5hbmNlIEZyb250aWVyOiAjMyAjNyAjMjIgIzI4ICMyOSAjMzAK
ICAgICAgQ29udGFpbmluZyBsb29wIGhlYWRlcnM6ICMyMiAjNyAjMwogICAgICBQaGkgTm9kZXM6
IEA1OTY8bG9jMTAsMT4tPihANTQyLCBANjI3KSwgQDY1ODxsb2M4LDM+LT4oQDU1MCwgQDU2MCks
IEA2MTY8YXJnMiwyPi0+KEA2ODUsIEA1MzApLCBANjIwPGFyZzEsMj4tPihANjQyLCBANTMxKSwg
QDU1Njx0aGlzLDI+LT4oQDYwNiwgQDYzMyksIEA2MTE8bG9jNywyPi0+KEA1NDksIEAxMDQpLCBA
NTQ1PGxvYzUsMj4tPihANjUzLCBANjY2KSwgQDU5Mjxsb2M0LDI+LT4oQDU2NSwgQDU2OSksIEA0
Nzk8bG9jMiwyPi0+KEA0OTksIEA0NzMpLCBANjA4PGxvYzAsMj4tPihANTU3LCBANjgyKQogICAg
ICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGZkZDAuLi4weDMw
NDBmZTM4CiAgICAgNzI1OjwhMDotPglJbnZhbGlkYXRpb25Qb2ludChNdXN0R2VuLCBXOlNpZGVT
dGF0ZSwgRXhpdHMsIGJjIzMzMSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBh
dmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGZlMzguLi4weDMwNDBmZTcwCiAgICAgMzg1OjwhMTps
b2MxNz4JR2V0TG9jYWwoVW50eXBlZDpANTk2LCBKU3xNdXN0R2VufFB1cmVOdW0sIEludDMyLCBs
b2MxMChDRTxJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFjaGluZTpsb2M4LCBSOlN0YWNrKC0xMSks
IGJjIzMzMSwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGZlNzAuLi4weDMwNDBmZTc0CiAgICAgMzg2
OjwgMTpsb2MxNj4JSlNDb25zdGFudChKU3xQdXJlTnVtLCBCb29sSW50MzIsIEludDMyOiAxLCBi
YyMzMzEsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMwNDBmZTc0Li4uMHgzMDQwZmU3NAogICAgIDM4Nzo8ITM6bG9jMTY+CUFyaXRoQWRk
KEludDMyOkAzODUsIEludDMyOkAzODYsIE51bWJlcnxNdXN0R2VufFVzZUFzT3RoZXIsIEludDMy
LCBDaGVja092ZXJmbG93LCBFeGl0cywgYmMjMzMxLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNz
ZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZmU3NC4uLjB4MzA0MGZlZWMKICAg
ICAzODg6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpAMzg3LCBNdXN0R2VuLCBsb2MxMCwgVzpTaWRl
U3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMzMxLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1i
bHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZmVlYy4uLjB4MzA0MGZlZWMKICAgICAz
ODk6PCAxOi0+CVNldExvY2FsKEludDMyOkAzODcsIGxvYzEwKENFPEludDMyPi9GbHVzaGVkSW50
MzIpLCBtYWNoaW5lOmxvYzgsIFc6U3RhY2soLTExKSwgYmMjMzMxLCBleGl0OiBiYyMzMzMsIEV4
aXRWYWxpZCkgIHByZWRpY3RpbmcgSW50MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxh
YmxlIGZvciByYW5nZSAweDMwNDBmZWVjLi4uMHgzMDQwZmVmMAogICAgIDM5MDo8ITE6bG9jMTc+
CUdldExvY2FsKFVudHlwZWQ6QDY1OCwgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBDZWxsLCBsb2M4
KFlDPENlbGw+L0ZsdXNoZWRDZWxsKSwgbWFjaGluZTpsb2M2LCBSOlN0YWNrKC05KSwgYmMjMzMz
LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIENlbGwKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZh
aWxhYmxlIGZvciByYW5nZSAweDMwNDBmZWYwLi4uMHgzMDQwZmVmNAogICAgIDM5MTo8ITI6bG9j
MTY+CUdldEVudW1lcmF0b3JHZW5lcmljUG5hbWUoS25vd25DZWxsOkAzOTAsIEtub3duSW50MzI6
QDM4NywgSlN8TXVzdEdlbnxVc2VBc090aGVyfFJlYWxseVdhbnRzSW50LCBDZWxsfE90aGVyLCBF
eGl0cywgYmMjMzMzLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQwZmVmNC4uLjB4MzA0MGZmOTAKICAgICAzOTI6PCEwOi0+CU1vdkhp
bnQoVW50eXBlZDpAMzkxLCBNdXN0R2VuLCBsb2MxMSwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhp
dCwgYmMjMzMzLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQwZmY5MC4uLjB4MzA0MGZmOTAKICAgICAzOTM6PCAxOi0+CVNldExvY2Fs
KFVudHlwZWQ6QDM5MSwgbG9jMTEoSkYvRmx1c2hlZEpTVmFsdWUpLCBtYWNoaW5lOmxvYzksIFc6
U3RhY2soLTEyKSwgYmMjMzMzLCBleGl0OiBiYyMzMzcsIEV4aXRWYWxpZCkgIHByZWRpY3Rpbmcg
Q2VsbHxPdGhlcgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MGZmOTAuLi4weDMwNDBmZjk4CiAgICAgMzk0OjwhMDotPglKdW1wKE11c3RHZW4sIFQ6IzIy
LCBXOlNpZGVTdGF0ZSwgYmMjMzM3LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90
IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZmY5OC4uLjB4MzA0MGZmZjAKICAgICAzOTU6PCEw
Oi0+CUZsdXNoKFVudHlwZWQ6QDYxNiwgTXVzdEdlbnxJc0ZsdXNoZWQsIGFyZzIoQzxGaW5hbD4v
Rmx1c2hlZENlbGwpLCBtYWNoaW5lOmFyZzIsIFI6U3RhY2soNiksIFc6U2lkZVN0YXRlLCBiYyMz
MzcsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgRmluYWwKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmZmYwLi4uMHgzMDQwZmZmMAogICAgIDM5Njo8ITA6
LT4JRmx1c2goVW50eXBlZDpANjIwLCBNdXN0R2VufElzRmx1c2hlZCwgYXJnMShCPEludDMyPi9G
bHVzaGVkSW50MzIpLCBtYWNoaW5lOmFyZzEsIFI6U3RhY2soNSksIFc6U2lkZVN0YXRlLCBiYyMz
MzcsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgSW50MzIKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDBmZmYwLi4uMHgzMDQwZmZmMAogICAgIDM5Nzo8ITA6
LT4JUGhhbnRvbUxvY2FsKFVudHlwZWQ6QDU1NiwgTXVzdEdlbiwgdGhpcyhhKSwgbWFjaGluZTp0
aGlzLCBXOlNpZGVTdGF0ZSwgYmMjMzM3LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIE90aGVyT2Jq
CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQwZmZmMC4u
LjB4MzA0MGZmZjAKICAgICA0MDA6PCEwOi0+CVBoYW50b21Mb2NhbChVbnR5cGVkOkA2NTgsIE11
c3RHZW4sIGxvYzgoWUM8Q2VsbD4vRmx1c2hlZENlbGwpLCBtYWNoaW5lOmxvYzYsIFc6U2lkZVN0
YXRlLCBiYyMzMzcsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgQ2VsbAogICAgICAgIGRpc2Fzc2Vt
Ymx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGZmZjAuLi4weDMwNDBmZmYwCiAgICAg
NDAxOjwhMDotPglQaGFudG9tTG9jYWwoVW50eXBlZDpANjExLCBNdXN0R2VuLCBsb2M3KFhDPEZp
bmFsPi9GbHVzaGVkQ2VsbCksIG1hY2hpbmU6bG9jNSwgVzpTaWRlU3RhdGUsIGJjIzMzNywgRXhp
dFZhbGlkKSAgcHJlZGljdGluZyBGaW5hbAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MGZmZjAuLi4weDMwNDBmZmYwCiAgICAgNDAyOjwhMDotPglQaGFu
dG9tTG9jYWwoVW50eXBlZDpANTQ1LCBNdXN0R2VuLCBsb2M1KFE8QXJyYXk+L0ZsdXNoZWRDZWxs
KSwgbWFjaGluZTpsb2M0LCBXOlNpZGVTdGF0ZSwgYmMjMzM3LCBFeGl0VmFsaWQpICBwcmVkaWN0
aW5nIEFycmF5CiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MDQwZmZmMC4uLjB4MzA0MGZmZjAKICAgICA0MDM6PCEwOi0+CVBoYW50b21Mb2NhbChVbnR5cGVk
OkA1OTIsIE11c3RHZW4sIGxvYzQoUUI8SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hpbmU6bG9j
MywgVzpTaWRlU3RhdGUsIGJjIzMzNywgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAg
ICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MGZmZjAuLi4weDMw
NDBmZmYwCiAgICAgNDA0OjwhMDotPglQaGFudG9tTG9jYWwoVW50eXBlZDpANDc5LCBNdXN0R2Vu
LCBsb2MyKFZDfjxOdW1iZXI+L0ZsdXNoZWRKU1ZhbHVlKSwgbWFjaGluZTpsb2MxLCBXOlNpZGVT
dGF0ZSwgYmMjMzM3LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIEJvb2xJbnQzMnxOb25Cb29sSW50
MzJ8Qnl0ZWNvZGVEb3VibGUKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMwNDBmZmYwLi4uMHgzMDQwZmZmMAogICAgIDQwNTo8ITA6LT4JUGhhbnRvbUxvY2Fs
KFVudHlwZWQ6QDYwOCwgTXVzdEdlbiwgbG9jMChLfjxPYmplY3Q+L0ZsdXNoZWRKU1ZhbHVlKSwg
bWFjaGluZTpsb2MwLCBXOlNpZGVTdGF0ZSwgYmMjMzM3LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5n
IE90aGVyT2JqCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgz
MDQwZmZmMC4uLjB4MzA0MGZmZjAKICAgIEJsb2NrICMyOCAoYmMjMzQxKToKICAgICAgRXhlY3V0
aW9uIGNvdW50OiAxMDAuMDAwMDAwCiAgICAgIFByZWRlY2Vzc29yczogIzExICMyMiAjMjUgIzE4
CiAgICAgIFN1Y2Nlc3NvcnM6ICM3ICMyOQogICAgICBEb21pbmF0ZWQgYnk6ICNyb290ICMwICMz
ICM2ICM3ICM4ICMyOAogICAgICBEb21pbmF0ZXM6ICMyOAogICAgICBEb21pbmFuY2UgRnJvbnRp
ZXI6ICM3ICMyOQogICAgICBJdGVyYXRlZCBEb21pbmFuY2UgRnJvbnRpZXI6ICMzICM3ICMyOSAj
MzAKICAgICAgQ29udGFpbmluZyBsb29wIGhlYWRlcnM6ICM3ICMzCiAgICAgIFBoaSBOb2Rlczog
QDY0ODxsb2M0LDE+LT4oQDQ3NSwgQDYzOSksIEA1ODI8bG9jNSwzPi0+KEA2MDIsIEA2NzkpLCBA
NTYzPGxvYzAsMj4tPihANDc3LCBANDkwKSwgQDQ3Nzxsb2MwLDE+LT4oQDQ5NCwgQDYzOCwgQDQ4
NiksIEA2MDI8bG9jNSwxPi0+KEA1ODMsIEA1NDAsIEA1MjMpLCBANDc1PGxvYzQsMT4tPihANjYy
LCBANTE0LCBANTc0KSwgQDQ5PGFyZzIsMj4tPihANTk0LCBANjc2KSwgQDU5NDxhcmcyLDE+LT4o
QDYxOCwgQDQ4MSwgQDU5OCksIEA1MjU8dGhpcywyPi0+KEAxMDgsIEAxMDUpLCBAMTA4PHRoaXMs
MT4tPihANjU0LCBANTQ0LCBANDcwKSwgQDU5OTxhcmcxLDI+LT4oQDYwOSwgQDYyOSksIEA2MDk8
YXJnMSwxPi0+KEAxMDcsIEA2NTYsIEA2MDEpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWls
YWJsZSBmb3IgcmFuZ2UgMHgzMDQwZmZmMC4uLjB4MzA0MTAwNTgKICAgICA0MDc6PCExOmxvYzE3
PglHZXRMb2NhbChVbnR5cGVkOkA2NDgsIEpTfE11c3RHZW58UHVyZU51bXxSZWFsbHlXYW50c0lu
dCwgSW50MzIsIGxvYzQoUUI8SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hpbmU6bG9jMywgUjpT
dGFjaygtNSksIGJjIzM0MSwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBJbnQzMgogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MTAwNTguLi4weDMwNDEwMDVj
CiAgICAgNDA4OjwgMTpsb2MxNj4JSlNDb25zdGFudChKU3xQdXJlTnVtfFJlYWxseVdhbnRzSW50
LCBCb29sSW50MzIsIEludDMyOiAxLCBiYyMzNDEsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3Nl
bWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDEwMDVjLi4uMHgzMDQxMDA1YwogICAg
IDQwOTo8ITM6bG9jMTY+CUFyaXRoQWRkKEludDMyOkA0MDcsIEludDMyOkA0MDgsIE51bWJlcnxN
dXN0R2VufFVzZUFzT3RoZXJ8UmVhbGx5V2FudHNJbnQsIEludDMyLCBDaGVja092ZXJmbG93LCBF
eGl0cywgYmMjMzQxLCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQxMDA1Yy4uLjB4MzA0MTAwZDQKICAgICA0MTA6PCEwOi0+CU1vdkhp
bnQoVW50eXBlZDpANDA5LCBNdXN0R2VuLCBsb2M0LCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0
LCBiYyMzNDEsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZv
ciByYW5nZSAweDMwNDEwMGQ0Li4uMHgzMDQxMDBkNAogICAgIDQxMTo8IDE6LT4JU2V0TG9jYWwo
SW50MzI6QDQwOSwgbG9jNChRQjxJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFjaGluZTpsb2MzLCBX
OlN0YWNrKC01KSwgYmMjMzQxLCBleGl0OiBiYyMzNDMsIEV4aXRWYWxpZCkgIHByZWRpY3Rpbmcg
SW50MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDEw
MGQ0Li4uMHgzMDQxMDBkOAogICAgIDQxMjo8ITM6bG9jMTc+CUdldExvY2FsKFVudHlwZWQ6QDU4
MiwgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBBcnJheSwgbG9jNShRPEFycmF5Pi9GbHVzaGVkQ2Vs
bCksIG1hY2hpbmU6bG9jNCwgUjpTdGFjaygtNiksIGJjIzM0MywgRXhpdFZhbGlkKSAgcHJlZGlj
dGluZyBBcnJheQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MTAwZDguLi4weDMwNDEwMGRjCiAgICAgNzAxOjwhMDotPglDaGVja1N0cnVjdHVyZShDZWxs
OkA0MTIsIE11c3RHZW4sIFslQVc6QXJyYXldLCBSOkpTQ2VsbF9zdHJ1Y3R1cmVJRCwgRXhpdHMs
IGJjIzM0MywgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9y
IHJhbmdlIDB4MzA0MTAwZGMuLi4weDMwNDEwMTQwCiAgICAgNzAyOjwgMTpsb2MxNT4JR2V0QnV0
dGVyZmx5KENlbGw6QDQxMiwgU3RvcmFnZXxQdXJlSW50LCBSOkpTT2JqZWN0X2J1dHRlcmZseSwg
RXhpdHMsIGJjIzM0MywgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MTAxNDAuLi4weDMwNDEwMTdjCiAgICAgNDEzOjwgMjpsb2MxNT4J
R2V0QXJyYXlMZW5ndGgoS25vd25DZWxsOkA0MTIsIFVudHlwZWQ6QDcwMiwgSlN8VXNlQXNPdGhl
ciwgTm9uQm9vbEludDMyLCBDb250aWd1b3VzK09yaWdpbmFsQXJyYXkrSW5Cb3VuZHMrQXNJcywg
UjpCdXR0ZXJmbHlfcHVibGljTGVuZ3RoLCBFeGl0cywgYmMjMzQzLCBFeGl0VmFsaWQpCiAgICAg
ICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQxMDE3Yy4uLjB4MzA0
MTAxYjgKICAgICA0MTQ6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpANDEzLCBNdXN0R2VuLCBsb2M3
LCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMzNDMsIEV4aXRJbnZhbGlkKQogICAgICAg
IGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MTAxYjguLi4weDMwNDEw
MWI4CiAgICAgNDE2OjwgMTpsb2MxNT4JQ29tcGFyZUxlc3MoSW50MzI6QDQwOSwgSW50MzI6QDQx
MywgQm9vbGVhbnxVc2VBc090aGVyLCBCb29sLCBFeGl0cywgYmMjMzUyLCBFeGl0VmFsaWQpCiAg
ICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQxMDFiOC4uLjB4
MzA0MTAyMTQKICAgICA0MTc6PCEwOi0+CUJyYW5jaChLbm93bkJvb2xlYW46QDQxNiwgTXVzdEdl
biwgVDojNy93OjEwMC4wMDAwMDAsIEY6IzI5L3c6MTAuMDAwMDAwLCBXOlNpZGVTdGF0ZSwgYmMj
MzUyLCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciBy
YW5nZSAweDMwNDEwMjE0Li4uMHgzMDQxMDIxNAogICAgQmxvY2sgIzI5IChiYyMzNTYpOgogICAg
ICBFeGVjdXRpb24gY291bnQ6IDEwLjAwMDAwMAogICAgICBQcmVkZWNlc3NvcnM6ICM2ICMyOAog
ICAgICBTdWNjZXNzb3JzOiAjMyAjMzAKICAgICAgRG9taW5hdGVkIGJ5OiAjcm9vdCAjMCAjMyAj
NiAjMjkKICAgICAgRG9taW5hdGVzOiAjMjkKICAgICAgRG9taW5hbmNlIEZyb250aWVyOiAjMyAj
MzAKICAgICAgSXRlcmF0ZWQgRG9taW5hbmNlIEZyb250aWVyOiAjMyAjMzAKICAgICAgQ29udGFp
bmluZyBsb29wIGhlYWRlcnM6ICMzCiAgICAgIFBoaSBOb2RlczogQDU3OTxsb2MwLDI+LT4oQDU2
MywgQDYzNCksIEA0NzI8bG9jNSwyPi0+KEA1ODIsIEA2NjQpLCBANjMwPGFyZzEsMj4tPihANTk5
LCBANDYpLCBANDkyPGFyZzIsMj4tPihANDksIEA2NDkpLCBANTk1PHRoaXMsMj4tPihANTI1LCBA
NTAxKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MTAy
MTQuLi4weDMwNDEwMjdjCiAgICAgNDE4OjwgMzpsb2MxNz4JSlNDb25zdGFudChKU3xVc2VBc090
aGVyLCBPdGhlck9iaiwgV2VhazpPYmplY3Q6IDB4MzI2ZWMwYTAgd2l0aCBidXR0ZXJmbHkgMHgz
MjY4NDRhOCAoU3RydWN0dXJlICVEazpnbG9iYWwpLCBiYyMzNTYsIEV4aXRWYWxpZCkKICAgICAg
ICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDEwMjdjLi4uMHgzMDQx
MDI3YwogICAgIDQxOTo8ITA6LT4JTW92SGludChVbnR5cGVkOkA0MTgsIE11c3RHZW4sIGxvYzcs
IFc6U2lkZVN0YXRlLCBDbG9iYmVyc0V4aXQsIGJjIzM1NiwgRXhpdFZhbGlkKQogICAgICAgIGRp
c2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MTAyN2MuLi4weDMwNDEwMjdj
CiAgICAgNzMzOjwhMDotPglQaGFudG9tTG9jYWwoVW50eXBlZDpANTc5LCBNdXN0R2VuLCBsb2Mw
KEt+PE9iamVjdD4vRmx1c2hlZEpTVmFsdWUpLCBtYWNoaW5lOmxvYzAsIFc6U2lkZVN0YXRlLCBi
YyMzNTYsIEV4aXRJbnZhbGlkKSAgcHJlZGljdGluZyBPdGhlck9iagogICAgICAgIGRpc2Fzc2Vt
Ymx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MTAyN2MuLi4weDMwNDEwMjdjCiAgICAg
NDI0OjwgMjpsb2MxNj4JR2V0R2xvYmFsVmFyKEpTfFVzZUFzT3RoZXIsIE5vbkJvb2xJbnQzMiwg
Z2xvYmFsKDB4MzAzZTUzNTgpLCBSOkFic29sdXRlKDgwOTM5MDkzNiksIEV4aXRzLCBiYyMzNjMs
IEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgTm9uQm9vbEludDMyCiAgICAgICAgZGlzYXNzZW1ibHkg
bm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQxMDI3Yy4uLjB4MzA0MTAyYzQKICAgICA0MjU6
PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpANDI0LCBNdXN0R2VuLCBsb2M4LCBXOlNpZGVTdGF0ZSwg
Q2xvYmJlcnNFeGl0LCBiYyMzNjMsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDEwMmM0Li4uMHgzMDQxMDJjNAogICAgIDQyNzo8ITU6
bG9jMTU+CUdldExvY2FsKFVudHlwZWQ6QDQ3MiwgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBBcnJh
eSwgbG9jNShRPEFycmF5Pi9GbHVzaGVkQ2VsbCksIG1hY2hpbmU6bG9jNCwgUjpTdGFjaygtNiks
IGJjIzM3MSwgRXhpdFZhbGlkKSAgcHJlZGljdGluZyBBcnJheQogICAgICAgIGRpc2Fzc2VtYmx5
IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MTAyYzQuLi4weDMwNDEwMmM4CiAgICAgNDI4
OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDQyNywgTXVzdEdlbiwgbG9jMTEsIFc6U2lkZVN0YXRl
LCBDbG9iYmVyc0V4aXQsIGJjIzM3MSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MTAyYzguLi4weDMwNDEwMmM4CiAgICAgNDMyOjwg
Mjpsb2MxND4JSlNDb25zdGFudChKU3xVc2VBc090aGVyLCBGdW5jdGlvbiwgV2VhazpPYmplY3Q6
IDB4MzI2ZjQ0YTAgd2l0aCBidXR0ZXJmbHkgMHgzMjZkODM2OCAoU3RydWN0dXJlICVEUDpGdW5j
dGlvbiksIGJjIzM3NCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MTAyYzguLi4weDMwNDEwMmM4CiAgICAgNDMzOjwhMDotPglNb3ZI
aW50KFVudHlwZWQ6QDQzMiwgTXVzdEdlbiwgbG9jOSwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhp
dCwgYmMjMzc0LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBm
b3IgcmFuZ2UgMHgzMDQxMDJjOC4uLjB4MzA0MTAyYzgKICAgICA0MzU6PCAyOmxvYzEzPglKU0Nv
bnN0YW50KEpTfFVzZUFzT3RoZXIsIFN0cmluZ0lkZW50LCBTdHJvbmc6U3RyaW5nIChhdG9taWMp
IChpZGVudGlmaWVyKTogLCBiYyMzODMsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBu
b3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDEwMmM4Li4uMHgzMDQxMDJjOAogICAgIDQzNjo8
ITA6LT4JTW92SGludChVbnR5cGVkOkA0MzUsIE11c3RHZW4sIGxvYzEwLCBXOlNpZGVTdGF0ZSwg
Q2xvYmJlcnNFeGl0LCBiYyMzODMsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3Qg
YXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDEwMmM4Li4uMHgzMDQxMDJjOAogICAgIDQzODo8ITM6
bG9jMTM+CURpcmVjdENhbGwoVW50eXBlZDpANDMyLCBVbnR5cGVkOkA0MjcsIFVudHlwZWQ6QDQz
NSwgSlN8TXVzdEdlbnxWYXJBcmdzfFVzZUFzT3RoZXIsIFN0cmluZ1ZhciwgPDB4MzI2ZDA0YTAs
IE5hdGl2ZUV4ZWN1dGFibGU+LCA8aG9zdCBmdW5jdGlvbj4sIFI6V29ybGQsIFc6SGVhcCwgRXhp
dHMsIENsb2JiZXJzRXhpdCwgYmMjMzg2LCBFeGl0VmFsaWQpICBwcmVkaWN0aW5nIFN0cmluZ1Zh
cgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MTAyYzgu
Li4weDMwNDEwNDAwCiAgICAgNDM5OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDQzOCwgTXVzdEdl
biwgbG9jOSwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjMzg2LCBFeGl0SW52YWxpZCkK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDEwNDAwLi4u
MHgzMDQxMDQwMAogICAgIDcxNTo8ITA6LT4JSW52YWxpZGF0aW9uUG9pbnQoTXVzdEdlbiwgVzpT
aWRlU3RhdGUsIEV4aXRzLCBiYyMzODYsIGV4aXQ6IGJjIzM5NSwgRXhpdFZhbGlkKQogICAgICAg
IGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MTA0MDAuLi4weDMwNDEw
NDM4CiAgICAgNzAzOjwhMDotPglDaGVjayhDaGVjazpTdHJpbmc6QDQzOCwgTXVzdEdlbiwgRXhp
dHMsIGJjIzM5NSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUg
Zm9yIHJhbmdlIDB4MzA0MTA0MzguLi4weDMwNDEwNGJjCiAgICAgNDQxOjwgMjpsb2MxMz4JR2V0
QXJyYXlMZW5ndGgoS25vd25DZWxsOkA0MzgsIEpTfFVzZUFzT3RoZXIsIE5vbkJvb2xJbnQzMiwg
U3RyaW5nK05vbkFycmF5K0luQm91bmRzK0FzSXMsIEV4aXRzLCBiYyMzOTUsIEV4aXRWYWxpZCkK
ICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDEwNGJjLi4u
MHgzMDQxMDRmOAogICAgIDQ0Mjo8ITA6LT4JTW92SGludChVbnR5cGVkOkA0NDEsIE11c3RHZW4s
IGxvYzEwLCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyMzOTUsIEV4aXRJbnZhbGlkKQog
ICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MTA0ZjguLi4w
eDMwNDEwNGY4CiAgICAgNDQ0OjwhMjpsb2MxNj4JQXJpdGhBZGQoSW50MzI6QDQ0MSwgQ2hlY2s6
SW50MzI6QDQyNCwgSlN8TXVzdEdlbnxVc2VBc090aGVyLCBJbnQzMiwgQ2hlY2tPdmVyZmxvdywg
RXhpdHMsIGJjIzQwNCwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MTA0ZjguLi4weDMwNDEwNTk4CiAgICAgNDQ1OjwhMDotPglNb3ZI
aW50KFVudHlwZWQ6QDQ0NCwgTXVzdEdlbiwgbG9jOCwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhp
dCwgYmMjNDA0LCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDEwNTk4Li4uMHgzMDQxMDU5OAogICAgIDQ0ODo8ITA6LT4JUHV0R2xv
YmFsVmFyaWFibGUoQ2VsbDpANDE4LCBVbnR5cGVkOkA0NDQsIE11c3RHZW4sIGdsb2JhbCgweDMw
M2U1MzU4KSwgVzpBYnNvbHV0ZSg4MDkzOTA5MzYpLCBFeGl0cywgQ2xvYmJlcnNFeGl0LCBiYyM0
MDksIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5n
ZSAweDMwNDEwNTk4Li4uMHgzMDQxMDVlYwogICAgIDUzNDo8ITA6LT4JRmVuY2VkU3RvcmVCYXJy
aWVyKEtub3duQ2VsbDpANDE4LCBNdXN0R2VuLCBSOkhlYXAsIFc6SlNDZWxsX2NlbGxTdGF0ZSwg
YmMjNDA5LCBFeGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZv
ciByYW5nZSAweDMwNDEwNWVjLi4uMHgzMDQxMDZiNAogICAgIDQ1MDo8ITI6bG9jMTc+CUdldExv
Y2FsKFVudHlwZWQ6QDYzMCwgSlN8TXVzdEdlbnxSZWFsbHlXYW50c0ludCwgSW50MzIsIGFyZzEo
QjxJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFjaGluZTphcmcxLCBSOlN0YWNrKDUpLCBiYyM0MTYs
IEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgSW50MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZh
aWxhYmxlIGZvciByYW5nZSAweDMwNDEwNmI0Li4uMHgzMDQxMDZiOAogICAgIDQ1MTo8ITA6LT4J
TW92SGludChVbnR5cGVkOkA0NTAsIE11c3RHZW4sIGxvYzcsIFc6U2lkZVN0YXRlLCBDbG9iYmVy
c0V4aXQsIGJjIzQxNiwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFi
bGUgZm9yIHJhbmdlIDB4MzA0MTA2YjguLi4weDMwNDEwNmI4CiAgICAgNzA1OjwhMDotPglDaGVj
a1N0cnVjdHVyZShDZWxsOkA0MjcsIE11c3RHZW4sIFslQVc6QXJyYXldLCBSOkpTQ2VsbF9zdHJ1
Y3R1cmVJRCwgRXhpdHMsIGJjIzQxOSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5v
dCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MTA2YjguLi4weDMwNDEwNzIwCiAgICAgNzA2Ojwg
MTpsb2MxNj4JR2V0QnV0dGVyZmx5KENlbGw6QDQyNywgU3RvcmFnZXxQdXJlSW50LCBSOkpTT2Jq
ZWN0X2J1dHRlcmZseSwgRXhpdHMsIGJjIzQxOSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2Vt
Ymx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MTA3MjAuLi4weDMwNDEwNzVjCiAgICAg
NDUzOjwgMjpsb2MxNj4JR2V0QXJyYXlMZW5ndGgoS25vd25DZWxsOkA0MjcsIFVudHlwZWQ6QDcw
NiwgSlN8UmVhbGx5V2FudHNJbnQsIE5vbkJvb2xJbnQzMiwgQ29udGlndW91cytPcmlnaW5hbEFy
cmF5K0luQm91bmRzK0FzSXMsIFI6QnV0dGVyZmx5X3B1YmxpY0xlbmd0aCwgRXhpdHMsIGJjIzQx
OSwgRXhpdFZhbGlkKQogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdl
IDB4MzA0MTA3NWMuLi4weDMwNDEwNzk4CiAgICAgNDU0OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6
QDQ1MywgTXVzdEdlbiwgbG9jOCwgVzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjNDE5LCBF
eGl0SW52YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAw
eDMwNDEwNzk4Li4uMHgzMDQxMDc5OAogICAgIDQ1Njo8ITQ6bG9jMTY+CUFyaXRoU3ViKEludDMy
OkA0NTAsIEludDMyOkA0NTMsIE51bWJlcnxNdXN0R2VufFVzZUFzT3RoZXJ8UmVhbGx5V2FudHNJ
bnQsIEludDMyLCBDaGVja092ZXJmbG93LCBFeGl0cywgYmMjNDI4LCBFeGl0VmFsaWQpCiAgICAg
ICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQxMDc5OC4uLjB4MzA0
MTA4MGMKICAgICA0NTc6PCEwOi0+CU1vdkhpbnQoVW50eXBlZDpANDU2LCBNdXN0R2VuLCBsb2M3
LCBXOlNpZGVTdGF0ZSwgQ2xvYmJlcnNFeGl0LCBiYyM0MjgsIEV4aXRJbnZhbGlkKQogICAgICAg
IGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MTA4MGMuLi4weDMwNDEw
ODBjCiAgICAgNDU5OjwhMDotPglNb3ZIaW50KFVudHlwZWQ6QDQ1NiwgTXVzdEdlbiwgYXJnMSwg
VzpTaWRlU3RhdGUsIENsb2JiZXJzRXhpdCwgYmMjNDMzLCBFeGl0VmFsaWQpCiAgICAgICAgZGlz
YXNzZW1ibHkgbm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQxMDgwYy4uLjB4MzA0MTA4MGMK
ICAgICA0NjA6PCEwOi0+CUZsdXNoKFVudHlwZWQ6QDYzMCwgTXVzdEdlbnxJc0ZsdXNoZWQsIGFy
ZzEoQjxJbnQzMj4vRmx1c2hlZEludDMyKSwgbWFjaGluZTphcmcxLCBSOlN0YWNrKDUpLCBXOlNp
ZGVTdGF0ZSwgYmMjNDMzLCBleGl0OiBiYyM0MzYsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgSW50
MzIKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDEwODBj
Li4uMHgzMDQxMDgwYwogICAgIDQ2MTo8IDI6LT4JU2V0TG9jYWwoSW50MzI6QDQ1NiwgSXNGbHVz
aGVkLCBhcmcxKEI8SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1hY2hpbmU6YXJnMSwgVzpTdGFjayg1
KSwgYmMjNDMzLCBleGl0OiBiYyM0MzYsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgSW50MzIKICAg
ICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDEwODBjLi4uMHgz
MDQxMDgxMAogICAgIDQ2Mjo8IDE6bG9jMTc+CUpTQ29uc3RhbnQoSlN8VXNlQXNPdGhlciwgQm9v
bEludDMyLCBJbnQzMjogMCwgYmMjNDM2LCBFeGl0VmFsaWQpCiAgICAgICAgZGlzYXNzZW1ibHkg
bm90IGF2YWlsYWJsZSBmb3IgcmFuZ2UgMHgzMDQxMDgxMC4uLjB4MzA0MTA4MTAKICAgICA0NjM6
PCAxOmxvYzE3PglDb21wYXJlR3JlYXRlcihJbnQzMjpANDU2LCBJbnQzMjpANDYyLCBCb29sZWFu
fFVzZUFzT3RoZXIsIEJvb2wsIEV4aXRzLCBiYyM0MzYsIEV4aXRWYWxpZCkKICAgICAgICBkaXNh
c3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDEwODEwLi4uMHgzMDQxMDg3MAog
ICAgIDQ2NDo8ITA6LT4JQnJhbmNoKEtub3duQm9vbGVhbjpANDYzLCBNdXN0R2VuLCBUOiMzL3c6
MTAuMDAwMDAwLCBGOiMzMC93OjEuMDAwMDAwLCBXOlNpZGVTdGF0ZSwgYmMjNDM2LCBFeGl0SW52
YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDEw
ODcwLi4uMHgzMDQxMDg3MAogICAgQmxvY2sgIzMwIChiYyM0NDApOgogICAgICBFeGVjdXRpb24g
Y291bnQ6IDEuMDAwMDAwCiAgICAgIFByZWRlY2Vzc29yczogIzAgIzI5CiAgICAgIFN1Y2Nlc3Nv
cnM6CiAgICAgIERvbWluYXRlZCBieTogI3Jvb3QgIzAgIzMwCiAgICAgIERvbWluYXRlczogIzMw
CiAgICAgIERvbWluYW5jZSBGcm9udGllcjogCiAgICAgIEl0ZXJhdGVkIERvbWluYW5jZSBGcm9u
dGllcjogCiAgICAgIFBoaSBOb2RlczogQDY3MzxhcmcyLDE+LT4oQDQ5MiwgQDIpLCBANTA1PGFy
ZzEsMT4tPihANDYxLCBAMSksIEA1NTM8dGhpcywxPi0+KEA1OTUsIEAwKQogICAgICAgIGRpc2Fz
c2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4MzA0MTA4NzAuLi4weDMwNDEwOGQ4CiAg
ICAgNDY1OjwgMTpsb2MxNz4JSlNDb25zdGFudChKU3xVc2VBc090aGVyLCBPdGhlciwgVW5kZWZp
bmVkLCBiYyM0NDAsIEV4aXRWYWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxl
IGZvciByYW5nZSAweDMwNDEwOGQ4Li4uMHgzMDQxMDhkOAogICAgIDQ2Njo8ITA6LT4JUmV0dXJu
KFVudHlwZWQ6QDQ2NSwgTXVzdEdlbiwgVzpTaWRlU3RhdGUsIEV4aXRzLCBiYyM0NDAsIEV4aXRW
YWxpZCkKICAgICAgICBkaXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDEw
OGQ4Li4uMHgzMDQxMDk0OAogICAgIDQ2Nzo8ITA6LT4JRmx1c2goQ2hlY2s6VW50eXBlZDpANjcz
LCBNdXN0R2VufElzRmx1c2hlZCwgYXJnMihDPEZpbmFsPi9GbHVzaGVkQ2VsbCksIG1hY2hpbmU6
YXJnMiwgUjpTdGFjayg2KSwgVzpTaWRlU3RhdGUsIGJjIzQ0MCwgRXhpdFZhbGlkKSAgcHJlZGlj
dGluZyBGaW5hbAogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJhbmdlIDB4
MzA0MTA5NDguLi4weDMwNDEwOTQ4CiAgICAgNDY4OjwhMDotPglGbHVzaChDaGVjazpVbnR5cGVk
OkA1MDUsIE11c3RHZW58SXNGbHVzaGVkLCBhcmcxKEI8SW50MzI+L0ZsdXNoZWRJbnQzMiksIG1h
Y2hpbmU6YXJnMSwgUjpTdGFjayg1KSwgVzpTaWRlU3RhdGUsIGJjIzQ0MCwgRXhpdFZhbGlkKSAg
cHJlZGljdGluZyBJbnQzMgogICAgICAgIGRpc2Fzc2VtYmx5IG5vdCBhdmFpbGFibGUgZm9yIHJh
bmdlIDB4MzA0MTA5NDguLi4weDMwNDEwOTQ4CiAgICAgNDY5OjwhMDotPglQaGFudG9tTG9jYWwo
Q2hlY2s6VW50eXBlZDpANTUzLCBNdXN0R2VuLCB0aGlzKGEpLCBtYWNoaW5lOnRoaXMsIFc6U2lk
ZVN0YXRlLCBiYyM0NDAsIEV4aXRWYWxpZCkgIHByZWRpY3RpbmcgT3RoZXJPYmoKICAgICAgICBk
aXNhc3NlbWJseSBub3QgYXZhaWxhYmxlIGZvciByYW5nZSAweDMwNDEwOTQ4Li4uMHgzMDQxMDk0
OAogICAgKEVuZCBPZiBNYWluIFBhdGgpCiAgICAgICAgZGlzYXNzZW1ibHkgbm90IGF2YWlsYWJs
ZSBmb3IgcmFuZ2UgMHgzMDQxMDk0OC4uLjB4MzA0MTFkMWMKICAgIFN0cnVjdHVyZXM6CiAgICAg
ICAgJUFXOkFycmF5ICAgICAgICAgICAgICAgICAgICAgID0gMHgzMjZmOWM3MDpbQXJyYXksIHt9
LCBBcnJheVdpdGhDb250aWd1b3VzLCBQcm90bzoweDMyNmY0M2UwXQogICAgICAgICVBbzpGdW5j
dGlvbiAgICAgICAgICAgICAgICAgICA9IDB4MzI2ZjkxZDA6W0Z1bmN0aW9uLCB7fSwgTm9uQXJy
YXksIFByb3RvOjB4MzI2ZGMwYTBdCiAgICAgICAgJUQ4OkpTR2xvYmFsTGV4aWNhbEVudmlyb25t
ZW50ID0gMHgzMjZmOTEzMDpbSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQsIHt9LCBOb25BcnJh
eSwgTGVhZl0KICAgICAgICAlRFA6RnVuY3Rpb24gICAgICAgICAgICAgICAgICAgPSAweDMyNmY5
MzEwOltGdW5jdGlvbiwge25hbWU6MTAwLCBsZW5ndGg6MTAxfSwgTm9uQXJyYXksIFByb3RvOjB4
MzI2ZGMwYTAsIExlYWZdCiAgICAgICAgJURiOkZ1bmN0aW9uICAgICAgICAgICAgICAgICAgID0g
MHgzMjZmYWZkMDpbRnVuY3Rpb24sIHtuYW1lOjEwMCwgcHJvdG90eXBlOjEwMSwgbGVuZ3RoOjEw
MiwgU3ltYm9sLnNwZWNpZXM6MTAzLCBpc0FycmF5OjEwNH0sIE5vbkFycmF5LCBQcm90bzoweDMy
NmRjMGEwLCBMZWFmXQogICAgICAgICVEazpnbG9iYWwgICAgICAgICAgICAgICAgICAgICA9IDB4
MzI2OWNhYTA6W2dsb2JhbCwge3BhcnNlSW50OjEwMCwgcGFyc2VGbG9hdDoxMDEsIE9iamVjdDox
MDIsIEZ1bmN0aW9uOjEwMywgQXJyYXk6MTA0LCBSZWdFeHA6MTA1LCBSYW5nZUVycm9yOjEwNiwg
VHlwZUVycm9yOjEwNywgUHJpdmF0ZVN5bWJvbC5PYmplY3Q6MTA4LCBQcml2YXRlU3ltYm9sLkFy
cmF5OjEwOSwgQXJyYXlCdWZmZXI6MTEwLCBTaGFyZWRBcnJheUJ1ZmZlcjoxMTEsIFN0cmluZzox
MTIsIFN5bWJvbDoxMTMsIE51bWJlcjoxMTQsIEJvb2xlYW46MTE1LCBFcnJvcjoxMTYsIE1hcDox
MTcsIFNldDoxMTgsIFByb21pc2U6MTE5LCBldmFsOjEyMCwgSW50bDoxMjEsIFJlZmxlY3Q6MTIy
LCBkZWJ1ZzoxMjMsIGRlc2NyaWJlOjEyNCwgZGVzY3JpYmVBcnJheToxMjUsIHByaW50OjEyNiwg
cHJpbnRFcnI6MTI3LCBxdWl0OjEyOCwgZ2M6MTI5LCBmdWxsR0M6MTMwLCBlZGVuR0M6MTMxLCBm
b3JjZUdDU2xvd1BhdGhzOjEzMiwgZ2NIZWFwU2l6ZToxMzMsIGFkZHJlc3NPZjoxMzQsIGR1bXBD
YWxsRnJhbWU6MTM1LCB2ZXJzaW9uOjEzNiwgcnVuOjEzNywgcnVuU3RyaW5nOjEzOCwgbG9hZDox
MzksIGxvYWRTdHJpbmc6MTQwLCByZWFkRmlsZToxNDEsIHJlYWQ6MTQyLCBjaGVja1N5bnRheDox
NDMsIHNsZWVwU2Vjb25kczoxNDQsIGpzY1N0YWNrOjE0NSwgcmVhZGxpbmU6MTQ2LCBwcmVjaXNl
VGltZToxNDcsIG5ldmVySW5saW5lRnVuY3Rpb246MTQ4LCBub0lubGluZToxNDksIG5vREZHOjE1
MCwgbm9GVEw6MTUxLCBub09TUkV4aXRGdXp6aW5nOjE1MiwgbnVtYmVyT2ZERkdDb21waWxlczox
NTMsIGpzY09wdGlvbnM6MTU0LCBvcHRpbWl6ZU5leHRJbnZvY2F0aW9uOjE1NSwgcmVvcHRpbWl6
YXRpb25SZXRyeUNvdW50OjE1NiwgdHJhbnNmZXJBcnJheUJ1ZmZlcjoxNTcsIGZhaWxOZXh0TmV3
Q29kZUJsb2NrOjE1OCwgREZHVHJ1ZToxNTksIE9TUkV4aXQ6MTYwLCBpc0ZpbmFsVGllcjoxNjEs
IHByZWRpY3RJbnQzMjoxNjIsIGlzSW50MzI6MTYzLCBmaWF0SW50NTI6MTY0LCBlZmZlY3RmdWw0
MjoxNjUsIG1ha2VNYXNxdWVyYWRlcjoxNjYsIGhhc0N1c3RvbVByb3BlcnRpZXM6MTY3LCBjcmVh
dGVHbG9iYWxPYmplY3Q6MTY4LCBkdW1wVHlwZXNGb3JBbGxWYXJpYWJsZXM6MTY5LCBkcmFpbk1p
Y3JvdGFza3M6MTcwLCBnZXRSYW5kb21TZWVkOjE3MSwgc2V0UmFuZG9tU2VlZDoxNzIsIGlzUm9w
ZToxNzMsIGNhbGxlclNvdXJjZU9yaWdpbjoxNzQsIGlzMzJCaXRQbGF0Zm9ybToxNzUsIGxvYWRN
b2R1bGU6MTc2LCBjaGVja01vZHVsZVN5bnRheDoxNzcsIHBsYXRmb3JtU3VwcG9ydHNTYW1wbGlu
Z1Byb2ZpbGVyOjE3OCwgZ2VuZXJhdGVIZWFwU25hcHNob3Q6MTc5LCByZXNldFN1cGVyU2FtcGxl
clN0YXRlOjE4MCwgZW5zdXJlQXJyYXlTdG9yYWdlOjE4MSwgc3RhcnRTYW1wbGluZ1Byb2ZpbGVy
OjE4Miwgc2FtcGxpbmdQcm9maWxlclN0YWNrVHJhY2VzOjE4MywgbWF4QXJndW1lbnRzOjE4NCwg
YXN5bmNUZXN0U3RhcnQ6MTg1LCBhc3luY1Rlc3RQYXNzZWQ6MTg2LCBjb25zb2xlOjE4NywgJDox
ODgsICQyNjI6MTg5LCB3YWl0Rm9yUmVwb3J0OjE5MCwgaGVhcENhcGFjaXR5OjE5MSwgZmxhc2hI
ZWFwQWNjZXNzOjE5Mn0sIE5vbkFycmF5LCBQcm90bzoweDMyNmMwMGEwLCBEaWN0aW9uYXJ5LCBM
ZWFmXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>330424</attachid>
            <date>2018-01-03 17:15:28 -0800</date>
            <delta_ts>2018-01-03 17:15:28 -0800</delta_ts>
            <desc>Disassembly of GetDirectPname from gdb.</desc>
            <filename>GetDirectPname.s</filename>
            <type>text/plain</type>
            <size>1520</size>
            <attacher name="Guillaume Emont">guijemont</attacher>
            
              <data encoding="base64">ICAgMHgzMDQwZjA4MDoJbHVpCXQ3LDB4MzI1ZgogICAweDMwNDBmMDg0OglvcmkJdDcsdDcsMHhi
YzQwCiAgIDB4MzA0MGYwODg6CWx3CXQxLDAodDcpCiAgIDB4MzA0MGYwOGM6CW1vdmUJdDAsemVy
bwogICAweDMwNDBmMDkwOglub3AKICAgMHgzMDQwZjA5NDoJbm9wCiAgIDB4MzA0MGYwOTg6CWJl
cQl0MSx0MCwweDMwNDBmMGI4CiAgIDB4MzA0MGYwOWM6CW5vcAogICAweDMwNDBmMGEwOgliCTB4
MzA0MGYwYjAKICAgMHgzMDQwZjBhNDoJbm9wCiAgIDB4MzA0MGYwYTg6CW5vcAogICAweDMwNDBm
MGFjOglub3AKICAgMHgzMDQwZjBiMDoJbGkJdDEsMjc1CiAgIDB4MzA0MGYwYjQ6CWJyZWFrCTB4
MjAwCiAgIDB4MzA0MGYwYjg6CXN3CXYwLC0xNDQoczgpCiAgIDB4MzA0MGYwYmM6CWx3CXYxLDAo
dDIpCiAgIDB4MzA0MGYwYzA6CWx3CXQxLDI0KHQ0KQogICAweDMwNDBmMGM0Oglub3AKICAgMHgz
MDQwZjBjODoJbm9wCiAgIDB4MzA0MGYwY2M6CWJuZQl2MSx0MSwweDMwNDEwZWU4CiAgIDB4MzA0
MGYwZDA6CW5vcAogICAweDMwNDBmMGQ0OgliCTB4MzA0MGYwZTQKICAgMHgzMDQwZjBkODoJbm9w
CiAgIDB4MzA0MGYwZGM6CW5vcAogICAweDMwNDBmMGUwOglub3AKICAgMHgzMDQwZjBlNDoJbHcJ
dDEsNDQodDQpCiAgIDB4MzA0MGYwZTg6CXNsdHUJdDgsdDMsdDEKICAgMHgzMDQwZjBlYzoJbm9w
CiAgIDB4MzA0MGYwZjA6CW5vcAogICAweDMwNDBmMGY0OgliZXF6CXQ4LDB4MzA0MGYxNDgKICAg
MHgzMDQwZjBmODoJbm9wCiAgIDB4MzA0MGYwZmM6CWIJMHgzMDQwZjEwYwogICAweDMwNDBmMTAw
Oglub3AKICAgMHgzMDQwZjEwNDoJbm9wCiAgIDB4MzA0MGYxMDg6CW5vcAogICAweDMwNDBmMTBj
Ogltb3ZlCXYxLHQzCiAgIDB4MzA0MGYxMTA6CXNsbAl0Nyx2MSwweDMKICAgMHgzMDQwZjExNDoJ
YWRkdQl0Nyx0Nyx0MgogICAweDMwNDBmMTE4Oglsdwl2MSwyMCh0NykKICAgMHgzMDQwZjExYzoJ
c2xsCXQ3LHYxLDB4MwogICAweDMwNDBmMTIwOglhZGR1CXQ3LHQ3LHQyCj0+IDB4MzA0MGYxMjQ6
CWx3CXYwLDE2KHQ3KQogICAweDMwNDBmMTI4Oglub3AKICAgMHgzMDQwZjEyYzoJbm9wCiAgIDB4
MzA0MGYxMzA6CWIJMHgzMDQwZjE3NAogICAweDMwNDBmMTM0Oglub3AKICAgMHgzMDQwZjEzODoJ
YgkweDMwNDBmMTQ4CiAgIDB4MzA0MGYxM2M6CW5vcAogICAweDMwNDBmMTQwOglub3AKICAgMHgz
MDQwZjE0NDoJbm9wCiAgIDB4MzA0MGYxNDg6CW1vdmUJdjEsdDMKICAgMHgzMDQwZjE0YzoJbHcJ
dDEsNDQodDQpCiAgIDB4MzA0MGYxNTA6CXN1YnUJdjEsdjEsdDEKICAgMHgzMDQwZjE1NDoJbmVn
dQl2MSx2MQogICAweDMwNDBmMTU4Oglsdwl2MCw4KHQyKQogICAweDMwNDBmMTVjOglzbGwJdDcs
djEsMHgzCiAgIDB4MzA0MGYxNjA6CWFkZHUJdDcsdDcsdjAKICAgMHgzMDQwZjE2NDoJbHcJdjEs
LTEyKHQ3KQogICAweDMwNDBmMTY4OglzbGwJdDcsdjEsMHgzCiAgIDB4MzA0MGYxNmM6CWFkZHUJ
dDcsdDcsdjAKICAgMHgzMDQwZjE3MDoJbHcJdjAsLTE2KHQ3KQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>