<?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>121613</bug_id>
          
          <creation_ts>2013-09-19 09:45:24 -0700</creation_ts>
          <short_desc>[GTK] Fix some small style issues in the bindings</short_desc>
          <delta_ts>2013-09-20 08:07:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>alecflett</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>gustavo</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jsbell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>930978</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-09-19 09:45:24 -0700</bug_when>
    <thetext>Nothing really important, just a little bit of cleanup for the output.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931029</commentid>
    <comment_count>1</comment_count>
      <attachid>212086</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-09-19 11:36:24 -0700</bug_when>
    <thetext>Created attachment 212086
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931205</commentid>
    <comment_count>2</comment_count>
      <attachid>212086</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-09-19 23:37:34 -0700</bug_when>
    <thetext>Comment on attachment 212086
Patch

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

Excellent!

&gt; Source/WebCore/bindings/scripts/CodeGeneratorGObject.pm:556
&gt; +    my %parameterSpecOptions = (&quot;int&quot; =&gt;     [ &quot;G_MININT&quot;, &quot;G_MAXINT&quot;, &quot;0&quot; ],
&gt; +                                &quot;int8&quot; =&gt;    [ &quot;G_MININT8&quot;, &quot;G_MAXINT8&quot;, &quot;0&quot; ],
&gt; +                                &quot;boolean&quot; =&gt; [ &quot;FALSE&quot; ],
&gt; +                                &quot;float&quot; =&gt;   [ &quot;-G_MAXFLOAT&quot;, &quot;G_MAXFLOAT&quot;, &quot;0&quot; ],
&gt; +                                &quot;double&quot; =&gt;  [ &quot;-G_MAXDOUBLE&quot;, &quot;G_MAXDOUBLE&quot;, &quot;0&quot; ],
&gt; +                                &quot;uint64&quot; =&gt;  [ &quot;0&quot;, &quot;G_MAXUINT64&quot;, &quot;0&quot; ],
&gt; +                                &quot;long&quot; =&gt;    [ &quot;G_MINLONG&quot;, &quot;G_MAXLONG&quot;, &quot;0&quot; ],
&gt; +                                &quot;int64&quot; =&gt;   [ &quot;G_MININT64&quot;, &quot;G_MAXINT64&quot;, &quot;0&quot; ],
&gt; +                                &quot;ulong&quot; =&gt;   [ &quot;0&quot;, &quot;G_MAXULONG&quot;, &quot;0&quot; ],
&gt; +                                &quot;uint&quot; =&gt;    [ &quot;0&quot;, &quot;G_MAXUINT&quot;, &quot;0&quot; ],
&gt; +                                &quot;uint8&quot; =&gt;   [ &quot;0&quot;, &quot;G_MAXUINT8&quot;, &quot;0&quot; ],
&gt; +                                &quot;ushort&quot; =&gt;  [ &quot;0&quot;, &quot;G_MAXUINT16&quot;, &quot;0&quot; ],
&gt; +                                &quot;uchar&quot; =&gt;   [ &quot;G_MININT8&quot;, &quot;G_MAXINT8&quot;, &quot;0&quot; ],
&gt; +                                &quot;char&quot; =&gt;    [ &quot;0&quot;, &quot;G_MAXUINT8&quot;, &quot;0&quot; ],
&gt; +                                &quot;string&quot; =&gt;  [ &apos;&quot;&quot;&apos;, ],
&gt; +                                &quot;object&quot; =&gt;  [ &quot;WEBKIT_TYPE_DOM_${ucPropGType}&quot; ]);
&gt; +

:-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931344</commentid>
    <comment_count>3</comment_count>
      <attachid>212086</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-09-20 08:07:49 -0700</bug_when>
    <thetext>Comment on attachment 212086
Patch

Clearing flags on attachment: 212086

Committed r156163: &lt;http://trac.webkit.org/changeset/156163&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931345</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2013-09-20 08:07:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212086</attachid>
            <date>2013-09-19 11:36:24 -0700</date>
            <delta_ts>2013-09-20 08:07:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-121613-20130919113623.patch</filename>
            <type>text/plain</type>
            <size>279170</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2MTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY5MmJhMmQzOTE1M2Yy
YTM4NWE2M2RhOThmYmY0MTBiZmU5ZGViYi4uOTRjMTJlNjFlYjE0NjE4MTg0ZmU2ZGQ0ODc4OTgy
ZTk1OGU4NWEwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTA5LTE5ICBNYXJ0
aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBGaXgg
c29tZSBzbWFsbCBzdHlsZSBpc3N1ZXMgaW4gdGhlIGJpbmRpbmdzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjE2MTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvckdPYmplY3QucG06IFdoZW4gcHJpbnRpbmcgdGhlIGxpY2Vuc2UKKyAgICAgICAgaGVh
ZGVyIHVzZSB0aGUgbW9yZSBjb21tb24gY29tbWVudCBzdHlsZSB3aXRoaW4gdGhlIFdlYktpdCBw
cm9qZWN0LgorICAgICAgICAoR2VuZXJhdGVQcm9wZXJ0eSk6IEluZGVudCBwcm9wZXJ0eSBkZWZp
bml0aW9ucyBhY2NvcmRpbmcgdG8gV2ViS2l0IHN0eWxlLCBpbXByb3ZlCisgICAgICAgIHRoZSBu
aWNrIGFuZCBibHVyYiBwcm9wZXJ0aWVzLCBhbmQgaW1wcm92ZSB0aGUgdmFyaW91cyBwYXJhbWV0
ZXIgc3BlYyBhcmd1bWVudCBsYXlvdXQuCisgICAgICAgIChHZW5lcmF0ZUZ1bmN0aW9uKTogUmVt
b3ZlIHRoZSBuZXdsaW5lIGZyb20gZnVuY3Rpb24gc2lnbmF0dXJlcyB0byBtYXRjaCBXZWJLaXQg
c3R5bGUuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Q6IFVwZGF0ZSBi
aW5kaW5ncyB0ZXN0IHJlc3VsdHMuCisKIDIwMTMtMDktMTkgIEFsZXhleSBQcm9za3VyeWFrb3Yg
IDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjE0OTkyOCk6IENhbnZhc1N0
eWxlOjpvcGVyYXRvcj0gbGVha3MgZXZlcnl0aGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbSBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckdPYmplY3QucG0KaW5kZXggYjhhYmIx
Y2EzNzZlMTI5MTM1N2VkMTgzNmVlZDk1ZmYzMTE1OWFhYS4uMjdlMzc2MzZjNDc1N2E0YTI0ZTMz
OGNmZmE4ZGM0MDdiMGViNzBjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9yR09iamVjdC5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JHT2JqZWN0LnBtCkBAIC02NCwyNCArNjQsMjQgQEAg
c3ViIG5ldyB7CiAKIG15ICRsaWNlbmNlVGVtcGxhdGUgPSA8PCAiRU9GIjsKIC8qCi0gICAgVGhp
cyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgotICAgIFRo
aXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5P
VCBNT0RJRlkhCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAg
ICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0g
ICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgotKi8KKyAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291
cmNlIHByb2plY3QuCisgKiAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0
ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
CisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KIEVPRgogCiBzdWIgR2V0UGFy
ZW50Q2xhc3NOYW1lIHsKQEAgLTQ1OSwyMSArNDU5LDE4IEBAIHN1YiBHZW5lcmF0ZVByb3BlcnR5
IHsKICAgICBteSAkZ3R5cGUgPSBHZXRHVmFsdWVUeXBlTmFtZSgkcHJvcFR5cGUpOwogICAgIG15
ICRncGFyYW1mbGFnID0gIldFQktJVF9QQVJBTV9SRUFEQUJMRSI7CiAgICAgbXkgJHdyaXRlYWJs
ZSA9ICEkYXR0cmlidXRlLT5pc1JlYWRPbmx5OwotICAgIG15ICRjb25zdCA9ICJyZWFkLW9ubHkg
IjsKKworICAgIG15ICRtdXRhYmxlU3RyaW5nID0gInJlYWQtb25seSI7CiAgICAgbXkgJGN1c3Rv
bSA9ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbSJ9
OwogICAgIGlmICgkd3JpdGVhYmxlICYmICRjdXN0b20pIHsKLSAgICAgICAgJGNvbnN0ID0gInJl
YWQtb25seSAoZHVlIHRvIGN1c3RvbSBmdW5jdGlvbnMgbmVlZGVkIGluIHdlYmtpdGRvbSkiOwor
ICAgICAgICAkbXV0YWJsZVN0cmluZ2NvbnN0ID0gInJlYWQtb25seSAoZHVlIHRvIGN1c3RvbSBm
dW5jdGlvbnMgbmVlZGVkIGluIHdlYmtpdGRvbSkiOwogICAgICAgICByZXR1cm47CiAgICAgfQog
ICAgIGlmICgkd3JpdGVhYmxlICYmICEkY3VzdG9tKSB7CiAgICAgICAgICRncGFyYW1mbGFnID0g
IldFQktJVF9QQVJBTV9SRUFEV1JJVEUiOwotICAgICAgICAkY29uc3QgPSAicmVhZC13cml0ZSAi
OworICAgICAgICAkbXV0YWJsZVN0cmluZ2NvbnN0ID0gInJlYWQtd3JpdGUiOwogICAgIH0KIAot
ICAgIG15ICR0eXBlID0gR2V0R2xpYlR5cGVOYW1lKCRwcm9wVHlwZSk7Ci0gICAgJG5pY2sgPSBk
ZWNhbWVsaXplKCIke2ludGVyZmFjZU5hbWV9XyR7cHJvcE5hbWV9Iik7Ci0gICAgJGxvbmcgPSAi
JHtjb25zdH0gJHt0eXBlfSAke2ludGVyZmFjZU5hbWV9LiR7cHJvcE5hbWV9IjsKLQogICAgIG15
ICRjb252ZXJ0RnVuY3Rpb24gPSAiIjsKICAgICBpZiAoJGd0eXBlIGVxICJzdHJpbmciKSB7CiAg
ICAgICAgICRjb252ZXJ0RnVuY3Rpb24gPSAiV1RGOjpTdHJpbmc6OmZyb21VVEY4IjsKQEAgLTU0
MCwzMSArNTM3LDM2IEBAIHN1YiBHZW5lcmF0ZVByb3BlcnR5IHsKICAgICBwdXNoKEB0eHRHZXRQ
cm9wcywgIiNlbmRpZiAvKiAke3BhcmVudENvbmRpdGlvbmFsU3RyaW5nfSAqL1xuIikgaWYgJHBh
cmVudENvbmRpdGlvbmFsU3RyaW5nOwogICAgIHB1c2goQHR4dEdldFByb3BzLCAiICAgICAgICBi
cmVhaztcbiAgICB9XG4iKTsKIAotICAgIG15ICVwYXJhbV9zcGVjX29wdGlvbnMgPSAoImludCIs
ICJHX01JTklOVCwgLyogbWluICovXG5HX01BWElOVCwgLyogbWF4ICovXG4wLCAvKiBkZWZhdWx0
ICovIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbnQ4IiwgIkdfTUlOSU5UOCwg
LyogbWluICovXG5HX01BWElOVDgsIC8qIG1heCAqL1xuMCwgLyogZGVmYXVsdCAqLyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiYm9vbGVhbiIsICJGQUxTRSwgLyogZGVmYXVsdCAq
LyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmxvYXQiLCAiLUdfTUFYRkxPQVQs
IC8qIG1pbiAqL1xuR19NQVhGTE9BVCwgLyogbWF4ICovXG4wLjAsIC8qIGRlZmF1bHQgKi8iLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRvdWJsZSIsICItR19NQVhET1VCTEUsIC8q
IG1pbiAqL1xuR19NQVhET1VCTEUsIC8qIG1heCAqL1xuMC4wLCAvKiBkZWZhdWx0ICovIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aW50NjQiLCAiMCwgLyogbWluICovXG5HX01B
WFVJTlQ2NCwgLyogbWluICovXG4wLCAvKiBkZWZhdWx0ICovIiwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJsb25nIiwgIkdfTUlOTE9ORywgLyogbWluICovXG5HX01BWExPTkcsIC8q
IG1heCAqL1xuMCwgLyogZGVmYXVsdCAqLyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiaW50NjQiLCAiR19NSU5JTlQ2NCwgLyogbWluICovXG5HX01BWElOVDY0LCAvKiBtYXggKi9c
bjAsIC8qIGRlZmF1bHQgKi8iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVsb25n
IiwgIjAsIC8qIG1pbiAqL1xuR19NQVhVTE9ORywgLyogbWF4ICovXG4wLCAvKiBkZWZhdWx0ICov
IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aW50IiwgIjAsIC8qIG1pbiAqL1xu
R19NQVhVSU5ULCAvKiBtYXggKi9cbjAsIC8qIGRlZmF1bHQgKi8iLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInVpbnQ4IiwgIjAsIC8qIG1pbiAqL1xuR19NQVhVSU5UOCwgLyogbWF4
ICovXG4wLCAvKiBkZWZhdWx0ICovIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1
c2hvcnQiLCAiMCwgLyogbWluICovXG5HX01BWFVJTlQxNiwgLyogbWF4ICovXG4wLCAvKiBkZWZh
dWx0ICovIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1Y2hhciIsICJHX01JTklO
VDgsIC8qIG1pbiAqL1xuR19NQVhJTlQ4LCAvKiBtYXggKi9cbjAsIC8qIGRlZmF1bHQgKi8iLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNoYXIiLCAiMCwgLyogbWluICovXG5HX01B
WFVJTlQ4LCAvKiBtYXggKi9cbjAsIC8qIGRlZmF1bHQgKi8iLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInN0cmluZyIsICJcIlwiLCAvKiBkZWZhdWx0ICovIiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJvYmplY3QiLCAiV0VCS0lUX1RZUEVfRE9NXyR7dWNQcm9wR1R5
cGV9LCAvKiBnb2JqZWN0IHR5cGUgKi8iKTsKLQorICAgIG15ICVwYXJhbWV0ZXJTcGVjT3B0aW9u
cyA9ICgiaW50IiA9PiAgICAgWyAiR19NSU5JTlQiLCAiR19NQVhJTlQiLCAiMCIgXSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgImludDgiID0+ICAgIFsgIkdfTUlOSU5UOCIsICJH
X01BWElOVDgiLCAiMCIgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImJvb2xl
YW4iID0+IFsgIkZBTFNFIiBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmxv
YXQiID0+ICAgWyAiLUdfTUFYRkxPQVQiLCAiR19NQVhGTE9BVCIsICIwIiBdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAiZG91YmxlIiA9PiAgWyAiLUdfTUFYRE9VQkxFIiwgIkdf
TUFYRE9VQkxFIiwgIjAiIF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ1aW50
NjQiID0+ICBbICIwIiwgIkdfTUFYVUlOVDY0IiwgIjAiIF0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJsb25nIiA9PiAgICBbICJHX01JTkxPTkciLCAiR19NQVhMT05HIiwgIjAi
IF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpbnQ2NCIgPT4gICBbICJHX01J
TklOVDY0IiwgIkdfTUFYSU5UNjQiLCAiMCIgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInVsb25nIiA9PiAgIFsgIjAiLCAiR19NQVhVTE9ORyIsICIwIiBdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAidWludCIgPT4gICAgWyAiMCIsICJHX01BWFVJTlQiLCAi
MCIgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInVpbnQ4IiA9PiAgIFsgIjAi
LCAiR19NQVhVSU5UOCIsICIwIiBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
dXNob3J0IiA9PiAgWyAiMCIsICJHX01BWFVJTlQxNiIsICIwIiBdLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAidWNoYXIiID0+ICAgWyAiR19NSU5JTlQ4IiwgIkdfTUFYSU5UOCIs
ICIwIiBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiY2hhciIgPT4gICAgWyAi
MCIsICJHX01BWFVJTlQ4IiwgIjAiIF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJzdHJpbmciID0+ICBbICciIicsIF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJvYmplY3QiID0+ICBbICJXRUJLSVRfVFlQRV9ET01fJHt1Y1Byb3BHVHlwZX0iIF0pOworCisg
ICAgbXkgJGV4dHJhUGFyYW1ldGVycyA9IGpvaW4oIiwgIiwgQHskcGFyYW1ldGVyU3BlY09wdGlv
bnN7JGd0eXBlfX0pOworICAgIG15ICRnbGliVHlwZU5hbWUgPSBHZXRHbGliVHlwZU5hbWUoJHBy
b3BUeXBlKTsKICAgICBteSAkdHh0SW5zdGFsbFByb3AgPSA8PCAiRU9GIjsKLSAgICBnX29iamVj
dF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICR7cHJvcEVudW19LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ19wYXJhbV9zcGVjXyR7Z3R5cGV9KCIke3Byb3BOYW1lfSIsIC8qIG5hbWUg
Ki8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIiRuaWNrIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiRsb25nIiwgLyogbG9u
Z2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJh
bV9zcGVjX29wdGlvbnN7JGd0eXBlfQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAke2dwYXJhbWZsYWd9KSk7CisgICAgZ19vYmplY3Rf
Y2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgKKyAgICAgICAgZ29iamVjdENsYXNzLAorICAgICAgICAk
cHJvcEVudW0sCisgICAgICAgIGdfcGFyYW1fc3BlY18kZ3R5cGUoCisgICAgICAgICAgICAiJHBy
b3BOYW1lIiwKKyAgICAgICAgICAgICIkaW50ZXJmYWNlTmFtZTokcHJvcE5hbWUiLAorICAgICAg
ICAgICAgIiRtdXRhYmxlU3RyaW5nICRnbGliVHlwZU5hbWUgJGludGVyZmFjZU5hbWU6JHByb3BO
YW1lIiwKKyAgICAgICAgICAgICRleHRyYVBhcmFtZXRlcnMsCisgICAgICAgICAgICAkZ3BhcmFt
ZmxhZykpOworCiBFT0YKICAgICBwdXNoKEB0eHRJbnN0YWxsUHJvcHMsICR0eHRJbnN0YWxsUHJv
cCk7CiB9CkBAIC05NjMsNyArOTY1LDcgQEAgc3ViIEdlbmVyYXRlRnVuY3Rpb24gewogICAgIHB1
c2goQGhCb2R5LCAiV0VCS0lUX0FQSSAkcmV0dXJuVHlwZVxuJGZ1bmN0aW9uTmFtZSgkZnVuY3Rp
b25TaWcpO1xuIik7CiAgICAgcHVzaChAaEJvZHksICJcbiIpOwogCi0gICAgcHVzaChAY0JvZHks
ICIkcmV0dXJuVHlwZVxuJGZ1bmN0aW9uTmFtZSgkZnVuY3Rpb25TaWcpXG57XG4iKTsKKyAgICBw
dXNoKEBjQm9keSwgIiRyZXR1cm5UeXBlICRmdW5jdGlvbk5hbWUoJGZ1bmN0aW9uU2lnKVxue1xu
Iik7CiAgICAgcHVzaChAY0JvZHksICIjaWYgJHtwYXJlbnRDb25kaXRpb25hbFN0cmluZ31cbiIp
IGlmICRwYXJlbnRDb25kaXRpb25hbFN0cmluZzsKICAgICBwdXNoKEBjQm9keSwgIiNpZiAke2Nv
bmRpdGlvbmFsU3RyaW5nfVxuIikgaWYgJGNvbmRpdGlvbmFsU3RyaW5nOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0QWN0aXZlRE9NT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RBY3RpdmVET01PYmplY3QuY3BwCmluZGV4IDM1ZmI1
YmQzZjg5ZDFkMGY0Yzc0NjhlMWIxOWEyNTMzODlhMjY3MDUuLmNmYTdiZTE0OGQxODkzYjk2MDYx
NTNhMTg1ODg4MTFkYTU4MzY3YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RBY3RpdmVET01PYmplY3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RBY3RpdmVET01PYmplY3QuY3BwCkBAIC0xLDIyICsxLDIyIEBACiAvKgotICAgIFRoaXMg
ZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KLSAgICBUaGlz
IGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1Qg
TU9ESUZZIQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAg
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAg
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KLSovCisgKiAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJj
ZSBwcm9qZWN0LgorICogIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
YmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCiAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJXZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0LmgiCkBAIC0xMTksMTUg
KzExOSwxNiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3RfYWN0aXZlX2RvbV9vYmplY3Rf
Y2xhc3NfaW5pdChXZWJLaXRET01UZXN0QWN0aXZlRE9NTwogICAgIGdvYmplY3RDbGFzcy0+Zmlu
YWxpemUgPSB3ZWJraXRfZG9tX3Rlc3RfYWN0aXZlX2RvbV9vYmplY3RfZmluYWxpemU7CiAgICAg
Z29iamVjdENsYXNzLT5nZXRfcHJvcGVydHkgPSB3ZWJraXRfZG9tX3Rlc3RfYWN0aXZlX2RvbV9v
YmplY3RfZ2V0X3Byb3BlcnR5OwogCi0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0
eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9Q
X0VYQ0lUSU5HX0FUVFIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3Bh
cmFtX3NwZWNfbG9uZygiZXhjaXRpbmctYXR0ciIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3RfYWN0aXZl
X2RvbV9vYmplY3RfZXhjaXRpbmctYXR0ciIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJy
ZWFkLW9ubHkgIGdsb25nIFRlc3RBY3RpdmVET01PYmplY3QuZXhjaXRpbmctYXR0ciIsIC8qIGxv
bmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVyZSAqLwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX01J
TkxPTkcsIC8qIG1pbiAqLwotR19NQVhMT05HLCAvKiBtYXggKi8KLTAsIC8qIGRlZmF1bHQgKi8K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9w
cm9wZXJ0eSgKKyAgICAgICAgZ29iamVjdENsYXNzLAorICAgICAgICBQUk9QX0VYQ0lUSU5HX0FU
VFIsCisgICAgICAgIGdfcGFyYW1fc3BlY19sb25nKAorICAgICAgICAgICAgImV4Y2l0aW5nLWF0
dHIiLAorICAgICAgICAgICAgIlRlc3RBY3RpdmVET01PYmplY3Q6ZXhjaXRpbmctYXR0ciIsCisg
ICAgICAgICAgICAicmVhZC1vbmx5IGdsb25nIFRlc3RBY3RpdmVET01PYmplY3Q6ZXhjaXRpbmct
YXR0ciIsCisgICAgICAgICAgICBHX01JTkxPTkcsIEdfTUFYTE9ORywgMCwKKyAgICAgICAgICAg
IFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOworCiB9CiAKIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21f
dGVzdF9hY3RpdmVfZG9tX29iamVjdF9pbml0KFdlYktpdERPTVRlc3RBY3RpdmVET01PYmplY3Qq
IHJlcXVlc3QpCkBAIC0xMzYsOCArMTM3LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X2RvbV90ZXN0
X2FjdGl2ZV9kb21fb2JqZWN0X2luaXQoV2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdCoKICAg
ICBuZXcgKHByaXYpIFdlYktpdERPTVRlc3RBY3RpdmVET01PYmplY3RQcml2YXRlKCk7CiB9CiAK
LXZvaWQKLXdlYmtpdF9kb21fdGVzdF9hY3RpdmVfZG9tX29iamVjdF9leGNpdGluZ19mdW5jdGlv
bihXZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0KiBzZWxmLCBXZWJLaXRET01Ob2RlKiBuZXh0
Q2hpbGQpCit2b2lkIHdlYmtpdF9kb21fdGVzdF9hY3RpdmVfZG9tX29iamVjdF9leGNpdGluZ19m
dW5jdGlvbihXZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0KiBzZWxmLCBXZWJLaXRET01Ob2Rl
KiBuZXh0Q2hpbGQpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRl
OwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX0FDVElWRV9ET01fT0JK
RUNUKHNlbGYpKTsKQEAgLTE0Nyw4ICsxNDcsNyBAQCB3ZWJraXRfZG9tX3Rlc3RfYWN0aXZlX2Rv
bV9vYmplY3RfZXhjaXRpbmdfZnVuY3Rpb24oV2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdAog
ICAgIGl0ZW0tPmV4Y2l0aW5nRnVuY3Rpb24oY29udmVydGVkTmV4dENoaWxkKTsKIH0KIAotdm9p
ZAotd2Via2l0X2RvbV90ZXN0X2FjdGl2ZV9kb21fb2JqZWN0X3Bvc3RfbWVzc2FnZShXZWJLaXRE
T01UZXN0QWN0aXZlRE9NT2JqZWN0KiBzZWxmLCBjb25zdCBnY2hhciogbWVzc2FnZSkKK3ZvaWQg
d2Via2l0X2RvbV90ZXN0X2FjdGl2ZV9kb21fb2JqZWN0X3Bvc3RfbWVzc2FnZShXZWJLaXRET01U
ZXN0QWN0aXZlRE9NT2JqZWN0KiBzZWxmLCBjb25zdCBnY2hhciogbWVzc2FnZSkKIHsKICAgICBX
ZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFp
bChXRUJLSVRfRE9NX0lTX1RFU1RfQUNUSVZFX0RPTV9PQkpFQ1Qoc2VsZikpOwpAQCAtMTU4LDgg
KzE1Nyw3IEBAIHdlYmtpdF9kb21fdGVzdF9hY3RpdmVfZG9tX29iamVjdF9wb3N0X21lc3NhZ2Uo
V2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdCogc2VsCiAgICAgaXRlbS0+cG9zdE1lc3NhZ2Uo
Y29udmVydGVkTWVzc2FnZSk7CiB9CiAKLWdsb25nCi13ZWJraXRfZG9tX3Rlc3RfYWN0aXZlX2Rv
bV9vYmplY3RfZ2V0X2V4Y2l0aW5nX2F0dHIoV2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdCog
c2VsZikKK2dsb25nIHdlYmtpdF9kb21fdGVzdF9hY3RpdmVfZG9tX29iamVjdF9nZXRfZXhjaXRp
bmdfYXR0cihXZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0KiBzZWxmKQogewogICAgIFdlYkNv
cmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFp
bChXRUJLSVRfRE9NX0lTX1RFU1RfQUNUSVZFX0RPTV9PQkpFQ1Qoc2VsZiksIDApOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdEFjdGl2ZURPTU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdC5oCmluZGV4IDI5ZTU2
M2YyMmNiYjEzODk5OWZhYTEwZDNmZTY5NjdlZGQxNDY4MjEuLmMzMmZhODIwNDE1MDIxMzYwNzdl
Mzg0Yzk3OTRiNmZkZmZkYjlhYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RBY3RpdmVET01PYmplY3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0QWN0aXZlRE9NT2JqZWN0LmgKQEAgLTEsMjIgKzEsMjIgQEAKIC8qCi0gICAgVGhpcyBmaWxl
IGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgotICAgIFRoaXMgZmls
ZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJ
RlkhCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgotKi8KKyAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHBy
b2plY3QuCisgKiAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5k
aW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICog
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAg
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KIAogI2lmICFkZWZpbmVkKF9fV0VCS0lU
RE9NX0hfSU5TSURFX18pICYmICFkZWZpbmVkKEJVSUxESU5HX1dFQktJVCkKICNlcnJvciAiT25s
eSA8d2Via2l0ZG9tL3dlYmtpdGRvbS5oPiBjYW4gYmUgaW5jbHVkZWQgZGlyZWN0bHkuIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdFByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RBY3RpdmVET01PYmplY3RQcml2
YXRlLmgKaW5kZXggZDk4MzY1NThmMmY4OTViNjU0OTZjNWU3M2FlYzZjYjM0M2I5YzYzNC4uMTBh
NTFkZDRjZjk3OWRhMzU5NjlhNmViZDFjZTFlOWYyZDg3MjVjOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEFjdGl2
ZURPTU9iamVjdFByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0UHJpdmF0ZS5oCkBAIC0x
LDIyICsxLDIyIEBACiAvKgotICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3Bl
biBzb3VyY2UgcHJvamVjdC4KLSAgICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQotCi0gICAgVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0g
ICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot
Ci0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
LSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCisgKiAgVGhpcyBmaWxlIGlzIHBh
cnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgorICogIFRoaXMgZmlsZSBoYXMg
YmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCisg
KgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgorICovCiAKICNpZm5kZWYgV2ViS2l0RE9NVGVzdEFjdGl2ZURPTU9iamVjdFByaXZhdGVfaAog
I2RlZmluZSBXZWJLaXRET01UZXN0QWN0aXZlRE9NT2JqZWN0UHJpdmF0ZV9oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0Q2FsbGJhY2suY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdENhbGxiYWNrLmNwcAppbmRleCBjMzJiZDk4Y2UzMDljMjVjYTkw
MTQ0YTM1MTVjZWMxYmIwMzI4ODI5Li4wYmI1OTA0N2YzNGU4NmU5ODI1M2QyNjU1MzdlMjY2NDEy
NjQ2YWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHAKQEAg
LTEsMjIgKzEsMjIgQEAKIC8qCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBv
cGVuIHNvdXJjZSBwcm9qZWN0LgotICAgIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkg
Z2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCi0KLSAgICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQg
aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
Ci0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KKyAqICBUaGlzIGZpbGUgaXMg
cGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCisgKiAgVGhpcyBmaWxlIGhh
cyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEK
KyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdERPTVRlc3RD
YWxsYmFjay5oIgpAQCAtMTExLDggKzExMSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVz
dF9jYWxsYmFja19pbml0KFdlYktpdERPTVRlc3RDYWxsYmFjayogcmVxdWVzdCkKICAgICBuZXcg
KHByaXYpIFdlYktpdERPTVRlc3RDYWxsYmFja1ByaXZhdGUoKTsKIH0KIAotZ2Jvb2xlYW4KLXdl
YmtpdF9kb21fdGVzdF9jYWxsYmFja19jYWxsYmFja193aXRoX25vX3BhcmFtKFdlYktpdERPTVRl
c3RDYWxsYmFjayogc2VsZikKK2dib29sZWFuIHdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19jYWxs
YmFja193aXRoX25vX3BhcmFtKFdlYktpdERPTVRlc3RDYWxsYmFjayogc2VsZikKIHsKICNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBz
dGF0ZTsKQEAgLTEyNiw4ICsxMjUsNyBAQCB3ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfY2FsbGJh
Y2tfd2l0aF9ub19wYXJhbShXZWJLaXRET01UZXN0Q2FsbGJhY2sqIHNlbGYpCiAjZW5kaWYgLyog
RU5BQkxFKFNRTF9EQVRBQkFTRSkgKi8KIH0KIAotZ2Jvb2xlYW4KLXdlYmtpdF9kb21fdGVzdF9j
YWxsYmFja19jYWxsYmFja193aXRoX2FycmF5X3BhcmFtKFdlYktpdERPTVRlc3RDYWxsYmFjayog
c2VsZiwgV2ViS2l0RE9NRmxvYXQzMkFycmF5KiBhcnJheVBhcmFtKQorZ2Jvb2xlYW4gd2Via2l0
X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfYXJyYXlfcGFyYW0oV2ViS2l0RE9NVGVz
dENhbGxiYWNrKiBzZWxmLCBXZWJLaXRET01GbG9hdDMyQXJyYXkqIGFycmF5UGFyYW0pCiB7CiAj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3Rh
dGUgc3RhdGU7CkBAIC0xNDMsOCArMTQxLDcgQEAgd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2Nh
bGxiYWNrX3dpdGhfYXJyYXlfcGFyYW0oV2ViS2l0RE9NVGVzdENhbGxiYWNrKiBzZWxmLAogI2Vu
ZGlmIC8qIEVOQUJMRShTUUxfREFUQUJBU0UpICovCiB9CiAKLWdib29sZWFuCi13ZWJraXRfZG9t
X3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfd2l0aF9zZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9wYXJh
bShXZWJLaXRET01UZXN0Q2FsbGJhY2sqIHNlbGYsIFdlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZSogc3J6UGFyYW0sIGNvbnN0IGdjaGFyKiBzdHJBcmcpCitnYm9vbGVhbiB3ZWJraXRfZG9t
X3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfd2l0aF9zZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9wYXJh
bShXZWJLaXRET01UZXN0Q2FsbGJhY2sqIHNlbGYsIFdlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZSogc3J6UGFyYW0sIGNvbnN0IGdjaGFyKiBzdHJBcmcpCiB7CiAjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CkBAIC0x
NjIsOCArMTU5LDcgQEAgd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfc2Vy
aWFsaXplZF9zY3JpcHRfdmFsdWVfcGFyYW0oV2ViS2l0RE9NVGUKICNlbmRpZiAvKiBFTkFCTEUo
U1FMX0RBVEFCQVNFKSAqLwogfQogCi1nbG9uZwotd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2Nh
bGxiYWNrX3dpdGhfbm9uX2Jvb2xfcmV0dXJuX3R5cGUoV2ViS2l0RE9NVGVzdENhbGxiYWNrKiBz
ZWxmLCBjb25zdCBnY2hhciogc3RyQXJnKQorZ2xvbmcgd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNr
X2NhbGxiYWNrX3dpdGhfbm9uX2Jvb2xfcmV0dXJuX3R5cGUoV2ViS2l0RE9NVGVzdENhbGxiYWNr
KiBzZWxmLCBjb25zdCBnY2hhciogc3RyQXJnKQogewogI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwpAQCAtMTc5LDggKzE3
NSw3IEBAIHdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19jYWxsYmFja193aXRoX25vbl9ib29sX3Jl
dHVybl90eXBlKFdlYktpdERPTVRlc3RDYWxsYmFjCiAjZW5kaWYgLyogRU5BQkxFKFNRTF9EQVRB
QkFTRSkgKi8KIH0KIAotZ2Jvb2xlYW4KLXdlYmtpdF9kb21fdGVzdF9jYWxsYmFja19jYWxsYmFj
a193aXRoX3N0cmluZ19saXN0KFdlYktpdERPTVRlc3RDYWxsYmFjayogc2VsZiwgV2ViS2l0RE9N
RE9NU3RyaW5nTGlzdCogbGlzdFBhcmFtKQorZ2Jvb2xlYW4gd2Via2l0X2RvbV90ZXN0X2NhbGxi
YWNrX2NhbGxiYWNrX3dpdGhfc3RyaW5nX2xpc3QoV2ViS2l0RE9NVGVzdENhbGxiYWNrKiBzZWxm
LCBXZWJLaXRET01ET01TdHJpbmdMaXN0KiBsaXN0UGFyYW0pCiB7CiAjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CkBAIC0x
OTYsOCArMTkxLDcgQEAgd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNrX3dpdGhfc3Ry
aW5nX2xpc3QoV2ViS2l0RE9NVGVzdENhbGxiYWNrKiBzZWxmLAogI2VuZGlmIC8qIEVOQUJMRShT
UUxfREFUQUJBU0UpICovCiB9CiAKLWdib29sZWFuCi13ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tf
Y2FsbGJhY2tfd2l0aF9ib29sZWFuKFdlYktpdERPTVRlc3RDYWxsYmFjayogc2VsZiwgZ2Jvb2xl
YW4gYm9vbFBhcmFtKQorZ2Jvb2xlYW4gd2Via2l0X2RvbV90ZXN0X2NhbGxiYWNrX2NhbGxiYWNr
X3dpdGhfYm9vbGVhbihXZWJLaXRET01UZXN0Q2FsbGJhY2sqIHNlbGYsIGdib29sZWFuIGJvb2xQ
YXJhbSkKIHsKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdlYkNvcmU6OkpTTWFpblRo
cmVhZE51bGxTdGF0ZSBzdGF0ZTsKQEAgLTIxMSw4ICsyMDUsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rf
Y2FsbGJhY2tfY2FsbGJhY2tfd2l0aF9ib29sZWFuKFdlYktpdERPTVRlc3RDYWxsYmFjayogc2Vs
ZiwgZ2JvbwogI2VuZGlmIC8qIEVOQUJMRShTUUxfREFUQUJBU0UpICovCiB9CiAKLWdib29sZWFu
Ci13ZWJraXRfZG9tX3Rlc3RfY2FsbGJhY2tfY2FsbGJhY2tfcmVxdWlyZXNfdGhpc190b19wYXNz
KFdlYktpdERPTVRlc3RDYWxsYmFjayogc2VsZiwgZ2xvbmcgbG9uZ1BhcmFtLCBXZWJLaXRET01U
ZXN0Tm9kZSogdGVzdE5vZGVQYXJhbSkKK2dib29sZWFuIHdlYmtpdF9kb21fdGVzdF9jYWxsYmFj
a19jYWxsYmFja19yZXF1aXJlc190aGlzX3RvX3Bhc3MoV2ViS2l0RE9NVGVzdENhbGxiYWNrKiBz
ZWxmLCBnbG9uZyBsb25nUGFyYW0sIFdlYktpdERPTVRlc3ROb2RlKiB0ZXN0Tm9kZVBhcmFtKQog
ewogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdENhbGxiYWNrLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suaAppbmRl
eCBiMmZhODVkYzg5Y2ZmMjFhY2Q5N2U4YmEzZTdmYTlhOTA5ODg0OGJhLi4yOTBkMWQ2YmEyNGQz
NTVkYzUzYmIyZWJjMmMwNTc3OTJkMGJkNDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0Q2FsbGJhY2suaApAQCAtMSwyMiArMSwyMiBAQAogLyoKLSAgICBUaGlzIGZpbGUgaXMgcGFy
dCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCi0gICAgVGhpcyBmaWxlIGhhcyBi
ZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKLQot
ICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAg
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwor
ICogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4K
KyAqICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBs
LiBETyBOT1QgTU9ESUZZIQorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwogCiAjaWYgIWRlZmluZWQoX19XRUJLSVRET01fSF9J
TlNJREVfXykgJiYgIWRlZmluZWQoQlVJTERJTkdfV0VCS0lUKQogI2Vycm9yICJPbmx5IDx3ZWJr
aXRkb20vd2Via2l0ZG9tLmg+IGNhbiBiZSBpbmNsdWRlZCBkaXJlY3RseS4iCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0Q2FsbGJhY2tQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2tQcml2YXRlLmgKaW5kZXggZTAxNTg0N2Iz
YmY1MTkxZmNlOTg1ZmM2MWIwYzkwNDI0MDJlNDYwOS4uZjE2MTczODJiMTZlODZlNjY2MWM4NTBi
YTBmNzdiMjgwYzQ0MTU4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdENhbGxiYWNrUHJpdmF0ZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RD
YWxsYmFja1ByaXZhdGUuaApAQCAtMSwyMiArMSwyMiBAQAogLyoKLSAgICBUaGlzIGZpbGUgaXMg
cGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCi0gICAgVGhpcyBmaWxlIGhh
cyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEK
LQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot
ICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0q
LworICogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVj
dC4KKyAqICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdz
LnBsLiBETyBOT1QgTU9ESUZZIQorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwogCiAjaWZuZGVmIFdlYktpdERPTVRlc3RDYWxs
YmFja1ByaXZhdGVfaAogI2RlZmluZSBXZWJLaXRET01UZXN0Q2FsbGJhY2tQcml2YXRlX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dl
YktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXIuY3Bw
CmluZGV4IDI5ZmM2Mjk0NDNjODBlN2Y3Yjg2YTVhYTE1NmQ3ZTkzNmVmNzliY2UuLjFhNTA3ZjA3
ZWQzOWVjMzMxNGZmYzMxZjY2NDBjNzdjODg3MzBhMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDdXN0b21OYW1l
ZEdldHRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmNwcApAQCAtMSwyMiArMSwyMiBA
QAogLyoKLSAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHBy
b2plY3QuCi0gICAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5k
aW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAg
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLworICogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBX
ZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KKyAqICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQorICoKKyAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwogCiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0
dGVyLmgiCkBAIC0xMDEsOCArMTAxLDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X2RvbV90ZXN0X2N1
c3RvbV9uYW1lZF9nZXR0ZXJfaW5pdChXZWJLaXRET01UZXN0Q3VzdG9tTmFtZWRHZXQKICAgICBu
ZXcgKHByaXYpIFdlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlclByaXZhdGUoKTsKIH0KIAot
dm9pZAotd2Via2l0X2RvbV90ZXN0X2N1c3RvbV9uYW1lZF9nZXR0ZXJfYW5vdGhlcl9mdW5jdGlv
bihXZWJLaXRET01UZXN0Q3VzdG9tTmFtZWRHZXR0ZXIqIHNlbGYsIGNvbnN0IGdjaGFyKiBzdHIp
Cit2b2lkIHdlYmtpdF9kb21fdGVzdF9jdXN0b21fbmFtZWRfZ2V0dGVyX2Fub3RoZXJfZnVuY3Rp
b24oV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVyKiBzZWxmLCBjb25zdCBnY2hhciogc3Ry
KQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3Jl
dHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9DVVNUT01fTkFNRURfR0VUVEVSKHNlbGYp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlci5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVy
LmgKaW5kZXggYzA0ZGJjZTJhYmE1ZmM4YWRmYWE3Zjk4MDAwNTUzMTk4ZjNmMGM5MS4uOTVhY2My
OWE1YTdiZTYyMGMyZTNlYmY4YTcwNzM5MjY4MzlkY2Q0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEN1c3RvbU5h
bWVkR2V0dGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVyLmgKQEAgLTEsMjIgKzEsMjIgQEAK
IC8qCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9q
ZWN0LgotICAgIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGlu
Z3MucGwuIERPIE5PVCBNT0RJRlkhCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KKyAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2Vi
S2l0IG9wZW4gc291cmNlIHByb2plY3QuCisgKiAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKyAqCisgKiAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICog
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KIAogI2lm
ICFkZWZpbmVkKF9fV0VCS0lURE9NX0hfSU5TSURFX18pICYmICFkZWZpbmVkKEJVSUxESU5HX1dF
QktJVCkKICNlcnJvciAiT25seSA8d2Via2l0ZG9tL3dlYmtpdGRvbS5oPiBjYW4gYmUgaW5jbHVk
ZWQgZGlyZWN0bHkuIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEN1c3RvbU5hbWVkR2V0dGVyUHJpdmF0ZS5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVz
dEN1c3RvbU5hbWVkR2V0dGVyUHJpdmF0ZS5oCmluZGV4IDAyN2UzZTNmYmU3MjIxMDg5NzA5YjUw
ODAxNTA0NDQxMTc1ZjE2ZmMuLmVlZjhjYmYwMTY4MjFlZjhiN2E2MGMyNTRjYTAxNGY1OGQzYjNj
YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTVRlc3RDdXN0b21OYW1lZEdldHRlclByaXZhdGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q3VzdG9t
TmFtZWRHZXR0ZXJQcml2YXRlLmgKQEAgLTEsMjIgKzEsMjIgQEAKIC8qCi0gICAgVGhpcyBmaWxl
IGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgotICAgIFRoaXMgZmls
ZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJ
RlkhCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgotKi8KKyAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHBy
b2plY3QuCisgKiAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5k
aW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
KiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICog
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAg
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KIAogI2lmbmRlZiBXZWJLaXRET01UZXN0
Q3VzdG9tTmFtZWRHZXR0ZXJQcml2YXRlX2gKICNkZWZpbmUgV2ViS2l0RE9NVGVzdEN1c3RvbU5h
bWVkR2V0dGVyUHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0RXZlbnRDb25zdHJ1Y3Rvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
RXZlbnRDb25zdHJ1Y3Rvci5jcHAKaW5kZXggZThkYWY1YjFkZDEwMDFjOWE3ZjJiOGMyMjQwY2Fi
NmFhZTM5MzhlZS4uYjljYzQyOTQ1ZTcxNWY0MTQzNWYyY2M0ZjI0MTQ5MGNhYzRjYjkzMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2Vi
S2l0RE9NVGVzdEV2ZW50Q29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVudENvbnN0cnVjdG9yLmNw
cApAQCAtMSwyMiArMSwyMiBAQAogLyoKLSAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2Vi
S2l0IG9wZW4gc291cmNlIHByb2plY3QuCi0gICAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKLQotICAgIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAg
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLworICogIFRoaXMgZmls
ZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KKyAqICBUaGlzIGZp
bGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9E
SUZZIQorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor
ICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJ
ZiBub3QsIHdyaXRlIHRvCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwg
NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0RE9N
VGVzdEV2ZW50Q29uc3RydWN0b3IuaCIKQEAgLTEyMywyMCArMTIzLDI2IEBAIHN0YXRpYyB2b2lk
IHdlYmtpdF9kb21fdGVzdF9ldmVudF9jb25zdHJ1Y3Rvcl9jbGFzc19pbml0KFdlYktpdERPTVRl
c3RFdmVudENvbnN0CiAgICAgZ29iamVjdENsYXNzLT5maW5hbGl6ZSA9IHdlYmtpdF9kb21fdGVz
dF9ldmVudF9jb25zdHJ1Y3Rvcl9maW5hbGl6ZTsKICAgICBnb2JqZWN0Q2xhc3MtPmdldF9wcm9w
ZXJ0eSA9IHdlYmtpdF9kb21fdGVzdF9ldmVudF9jb25zdHJ1Y3Rvcl9nZXRfcHJvcGVydHk7CiAK
LSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfQVRUUjEsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfc3RyaW5nKCJhdHRyMSIsIC8qIG5h
bWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInRlc3RfZXZlbnRfY29uc3RydWN0b3JfYXR0cjEiLCAvKiBzaG9ydCBkZXNjcmlw
dGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmVhZC1vbmx5ICBnY2hhciogVGVzdEV2ZW50Q29uc3RydWN0b3IuYXR0cjEi
LCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIiIsIC8qIGRlZmF1bHQgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7Ci0gICAgZ19v
YmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0FUVFIyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygiYXR0cjIiLCAvKiBuYW1lICovCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0ZXN0X2V2ZW50X2NvbnN0cnVjdG9yX2F0dHIyIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInJlYWQtb25seSAgZ2NoYXIqIFRlc3RFdmVudENvbnN0cnVjdG9yLmF0dHIyIiwgLyogbG9u
Z2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIiLCAv
KiBkZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOworICAgIGdfb2JqZWN0X2Ns
YXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJP
UF9BVFRSMSwKKyAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygKKyAgICAgICAgICAgICJhdHRy
MSIsCisgICAgICAgICAgICAiVGVzdEV2ZW50Q29uc3RydWN0b3I6YXR0cjEiLAorICAgICAgICAg
ICAgInJlYWQtb25seSBnY2hhciogVGVzdEV2ZW50Q29uc3RydWN0b3I6YXR0cjEiLAorICAgICAg
ICAgICAgIiIsCisgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBREFCTEUpKTsKKworICAgIGdf
b2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAg
ICAgICAgUFJPUF9BVFRSMiwKKyAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygKKyAgICAgICAg
ICAgICJhdHRyMiIsCisgICAgICAgICAgICAiVGVzdEV2ZW50Q29uc3RydWN0b3I6YXR0cjIiLAor
ICAgICAgICAgICAgInJlYWQtb25seSBnY2hhciogVGVzdEV2ZW50Q29uc3RydWN0b3I6YXR0cjIi
LAorICAgICAgICAgICAgIiIsCisgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBREFCTEUpKTsK
KwogfQogCiBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3RfZXZlbnRfY29uc3RydWN0b3JfaW5p
dChXZWJLaXRET01UZXN0RXZlbnRDb25zdHJ1Y3RvciogcmVxdWVzdCkKQEAgLTE0NSw4ICsxNTEs
NyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3RfZXZlbnRfY29uc3RydWN0b3JfaW5pdChX
ZWJLaXRET01UZXN0RXZlbnRDb25zdHJ1Y3RvcgogICAgIG5ldyAocHJpdikgV2ViS2l0RE9NVGVz
dEV2ZW50Q29uc3RydWN0b3JQcml2YXRlKCk7CiB9CiAKLWdjaGFyKgotd2Via2l0X2RvbV90ZXN0
X2V2ZW50X2NvbnN0cnVjdG9yX2dldF9hdHRyMShXZWJLaXRET01UZXN0RXZlbnRDb25zdHJ1Y3Rv
ciogc2VsZikKK2djaGFyKiB3ZWJraXRfZG9tX3Rlc3RfZXZlbnRfY29uc3RydWN0b3JfZ2V0X2F0
dHIxKFdlYktpdERPTVRlc3RFdmVudENvbnN0cnVjdG9yKiBzZWxmKQogewogICAgIFdlYkNvcmU6
OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChX
RUJLSVRfRE9NX0lTX1RFU1RfRVZFTlRfQ09OU1RSVUNUT1Ioc2VsZiksIDApOwpAQCAtMTU1LDgg
KzE2MCw3IEBAIHdlYmtpdF9kb21fdGVzdF9ldmVudF9jb25zdHJ1Y3Rvcl9nZXRfYXR0cjEoV2Vi
S2l0RE9NVGVzdEV2ZW50Q29uc3RydWN0b3IqIHNlbGYpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAotZ2NoYXIqCi13ZWJraXRfZG9tX3Rlc3RfZXZlbnRfY29uc3RydWN0b3JfZ2V0X2F0dHIyKFdl
YktpdERPTVRlc3RFdmVudENvbnN0cnVjdG9yKiBzZWxmKQorZ2NoYXIqIHdlYmtpdF9kb21fdGVz
dF9ldmVudF9jb25zdHJ1Y3Rvcl9nZXRfYXR0cjIoV2ViS2l0RE9NVGVzdEV2ZW50Q29uc3RydWN0
b3IqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwog
ICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9FVkVOVF9DT05TVFJV
Q1RPUihzZWxmKSwgMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0RXZlbnRDb25zdHJ1Y3Rvci5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV2ZW50
Q29uc3RydWN0b3IuaAppbmRleCA2NjRkMjEyMWRlOTUzZmM3Y2FiMDkxM2VlMjIzMTk0Mjg5NmM5
MGMwLi43NGM4YTk0NWU0OGMxNWQ1YWE2YzFiZTE2MWZiZWQ4N2JiM2I2MDExIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0RXZlbnRDb25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVudENvbnN0cnVjdG9yLmgKQEAgLTEsMjIg
KzEsMjIgQEAKIC8qCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNv
dXJjZSBwcm9qZWN0LgotICAgIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJh
dGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0g
ICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAg
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAg
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KKyAqICBUaGlzIGZpbGUgaXMgcGFydCBv
ZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCisgKiAgVGhpcyBmaWxlIGhhcyBiZWVu
IGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKyAqCisg
KiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq
ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisg
Ki8KIAogI2lmICFkZWZpbmVkKF9fV0VCS0lURE9NX0hfSU5TSURFX18pICYmICFkZWZpbmVkKEJV
SUxESU5HX1dFQktJVCkKICNlcnJvciAiT25seSA8d2Via2l0ZG9tL3dlYmtpdGRvbS5oPiBjYW4g
YmUgaW5jbHVkZWQgZGlyZWN0bHkuIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV2ZW50Q29uc3RydWN0b3JQcml2
YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0RXZlbnRDb25zdHJ1Y3RvclByaXZhdGUuaAppbmRleCAxOWVjZjk1MWE3OTk4YjVk
YTIwMzljN2Y5NGY4OGM3ODRlOTY3NDY1Li4yNjhlYmZhZjdlZGMyMDVmYzM1OTkzNDBjYjE4ZmY5
OTc5ODFlYTgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvR09iamVjdC9XZWJLaXRET01UZXN0RXZlbnRDb25zdHJ1Y3RvclByaXZhdGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
RXZlbnRDb25zdHJ1Y3RvclByaXZhdGUuaApAQCAtMSwyMiArMSwyMiBAQAogLyoKLSAgICBUaGlz
IGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCi0gICAgVGhp
cyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9U
IE1PRElGWSEKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAg
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAg
ICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCi0qLworICogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3Vy
Y2UgcHJvamVjdC4KKyAqICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq
CisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwogCiAjaWZuZGVmIFdlYktpdERP
TVRlc3RFdmVudENvbnN0cnVjdG9yUHJpdmF0ZV9oCiAjZGVmaW5lIFdlYktpdERPTVRlc3RFdmVu
dENvbnN0cnVjdG9yUHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0RXZlbnRUYXJnZXQuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV2
ZW50VGFyZ2V0LmNwcAppbmRleCAwY2E0ZGZhODc5OGQ3NDZmMGM0MmFhNjU1NTQ4N2VlZjdjMjAy
NmFiLi42MmNkMDRjMTI0YThjOTE0ZjVkMTlhM2FjNzY1NTc2OWQ3MjY0ZGNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01U
ZXN0RXZlbnRUYXJnZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVudFRhcmdldC5jcHAKQEAgLTEsMjIgKzEsMjIg
QEAKIC8qCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBw
cm9qZWN0LgotICAgIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmlu
ZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAg
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KKyAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUg
V2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCisgKiAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVy
YXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKyAqCisgKiAgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KIAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdERPTVRlc3RFdmVudFRhcmdldC5o
IgpAQCAtMTM3LDggKzEzNyw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9ldmVudF90
YXJnZXRfaW5pdChXZWJLaXRET01UZXN0RXZlbnRUYXJnZXQqIHJlcXVlc3QpCiAgICAgbmV3IChw
cml2KSBXZWJLaXRET01UZXN0RXZlbnRUYXJnZXRQcml2YXRlKCk7CiB9CiAKLVdlYktpdERPTU5v
ZGUqCi13ZWJraXRfZG9tX3Rlc3RfZXZlbnRfdGFyZ2V0X2l0ZW0oV2ViS2l0RE9NVGVzdEV2ZW50
VGFyZ2V0KiBzZWxmLCBndWxvbmcgaW5kZXgpCitXZWJLaXRET01Ob2RlKiB3ZWJraXRfZG9tX3Rl
c3RfZXZlbnRfdGFyZ2V0X2l0ZW0oV2ViS2l0RE9NVGVzdEV2ZW50VGFyZ2V0KiBzZWxmLCBndWxv
bmcgaW5kZXgpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwog
ICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9FVkVOVF9UQVJHRVQo
c2VsZiksIDApOwpAQCAtMTQ3LDggKzE0Niw3IEBAIHdlYmtpdF9kb21fdGVzdF9ldmVudF90YXJn
ZXRfaXRlbShXZWJLaXRET01UZXN0RXZlbnRUYXJnZXQqIHNlbGYsIGd1bG9uZyBpbmRleCkKICAg
ICByZXR1cm4gV2ViS2l0OjpraXQoZ29iamVjdFJlc3VsdC5nZXQoKSk7CiB9CiAKLWdib29sZWFu
Ci13ZWJraXRfZG9tX3Rlc3RfZXZlbnRfdGFyZ2V0X2Rpc3BhdGNoX2V2ZW50KFdlYktpdERPTVRl
c3RFdmVudFRhcmdldCogc2VsZiwgV2ViS2l0RE9NRXZlbnQqIGV2dCwgR0Vycm9yKiogZXJyb3Ip
CitnYm9vbGVhbiB3ZWJraXRfZG9tX3Rlc3RfZXZlbnRfdGFyZ2V0X2Rpc3BhdGNoX2V2ZW50KFdl
YktpdERPTVRlc3RFdmVudFRhcmdldCogc2VsZiwgV2ViS2l0RE9NRXZlbnQqIGV2dCwgR0Vycm9y
KiogZXJyb3IpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwog
ICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9FVkVOVF9UQVJHRVQo
c2VsZiksIEZBTFNFKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV2ZW50VGFyZ2V0
LmgKaW5kZXggZWRhOWU5ZTIyNTZmOWZhNGI5N2EyYmZlOTBmOGRhYTY2NmI5YjViYi4uNGRmNzFk
OTE2NzQxODBmZDY3YjY5MjE1ZDAwZjI3NDA4YjJiMDg1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV2ZW50VGFy
Z2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3Qv
V2ViS2l0RE9NVGVzdEV2ZW50VGFyZ2V0LmgKQEAgLTEsMjIgKzEsMjIgQEAKIC8qCi0gICAgVGhp
cyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgotICAgIFRo
aXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5P
VCBNT0RJRlkhCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAg
ICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0g
ICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgotKi8KKyAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291
cmNlIHByb2plY3QuCisgKiAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0
ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisg
KgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
CisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KIAogI2lmICFkZWZpbmVkKF9f
V0VCS0lURE9NX0hfSU5TSURFX18pICYmICFkZWZpbmVkKEJVSUxESU5HX1dFQktJVCkKICNlcnJv
ciAiT25seSA8d2Via2l0ZG9tL3dlYmtpdGRvbS5oPiBjYW4gYmUgaW5jbHVkZWQgZGlyZWN0bHku
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NVGVzdEV2ZW50VGFyZ2V0UHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV2ZW50VGFyZ2V0UHJpdmF0
ZS5oCmluZGV4IGQ3YzIzY2ZiM2E3MTI4YTU5NjZlYmI4YWFjMjIzYjI5NzMwOWFhNDAuLmYwMWFj
ZDIwNWE1YzNiYzVkY2JlMzIyOGFiOWY1ZDVjZDMwMTVlNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFdmVudFRh
cmdldFByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0RXZlbnRUYXJnZXRQcml2YXRlLmgKQEAgLTEsMjIgKzEsMjIg
QEAKIC8qCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBw
cm9qZWN0LgotICAgIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmlu
ZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAg
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KKyAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUg
V2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCisgKiAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVy
YXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKyAqCisgKiAgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KIAog
I2lmbmRlZiBXZWJLaXRET01UZXN0RXZlbnRUYXJnZXRQcml2YXRlX2gKICNkZWZpbmUgV2ViS2l0
RE9NVGVzdEV2ZW50VGFyZ2V0UHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0RXhjZXB0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRl
c3RFeGNlcHRpb24uY3BwCmluZGV4IDM2YmUxMzQ4YjUyZTVkZDRmZmI0YWZiYjQ1M2FiYzcyYWUw
YjA2ZTAuLjkxYmIzNWExZWZjZWM0OWZmNmM3OTE2ZTA5ODllMmVkOWZjOTMyMDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RFeGNlcHRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFeGNlcHRpb24uY3BwCkBAIC0xLDIyICsxLDIyIEBA
CiAvKgotICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJv
amVjdC4KLSAgICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRp
bmdzLnBsLiBETyBOT1QgTU9ESUZZIQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAg
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09Q
WUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCisgKiAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdl
YktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgorICogIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCisgKgorICogIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAq
ICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCiAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRET01UZXN0RXhjZXB0aW9uLmgiCkBA
IC0xMTgsMTMgKzExOCwxNiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3RfZXhjZXB0aW9u
X2NsYXNzX2luaXQoV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbkNsYXNzKiByZQogICAgIGdvYmplY3RD
bGFzcy0+ZmluYWxpemUgPSB3ZWJraXRfZG9tX3Rlc3RfZXhjZXB0aW9uX2ZpbmFsaXplOwogICAg
IGdvYmplY3RDbGFzcy0+Z2V0X3Byb3BlcnR5ID0gd2Via2l0X2RvbV90ZXN0X2V4Y2VwdGlvbl9n
ZXRfcHJvcGVydHk7CiAKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmpl
Y3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfTkFNRSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmco
Im5hbWUiLCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X2V4Y2VwdGlvbl9uYW1lIiwgLyogc2hvcnQgZGVz
Y3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgInJlYWQtb25seSAgZ2NoYXIqIFRlc3RFeGNlcHRpb24ubmFtZSIsIC8q
IGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVyZSAqLwotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi
IiwgLyogZGVmYXVsdCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBREFCTEUpKTsKKyAgICBnX29iamVj
dF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAg
IFBST1BfTkFNRSwKKyAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygKKyAgICAgICAgICAgICJu
YW1lIiwKKyAgICAgICAgICAgICJUZXN0RXhjZXB0aW9uOm5hbWUiLAorICAgICAgICAgICAgInJl
YWQtb25seSBnY2hhciogVGVzdEV4Y2VwdGlvbjpuYW1lIiwKKyAgICAgICAgICAgICIiLAorICAg
ICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CisKIH0KIAogc3RhdGljIHZvaWQgd2Vi
a2l0X2RvbV90ZXN0X2V4Y2VwdGlvbl9pbml0KFdlYktpdERPTVRlc3RFeGNlcHRpb24qIHJlcXVl
c3QpCkBAIC0xMzMsOCArMTM2LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X2RvbV90ZXN0X2V4Y2Vw
dGlvbl9pbml0KFdlYktpdERPTVRlc3RFeGNlcHRpb24qIHJlcXVlc3QpCiAgICAgbmV3IChwcml2
KSBXZWJLaXRET01UZXN0RXhjZXB0aW9uUHJpdmF0ZSgpOwogfQogCi1nY2hhcioKLXdlYmtpdF9k
b21fdGVzdF9leGNlcHRpb25fZ2V0X25hbWUoV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbiogc2VsZikK
K2djaGFyKiB3ZWJraXRfZG9tX3Rlc3RfZXhjZXB0aW9uX2dldF9uYW1lKFdlYktpdERPTVRlc3RF
eGNlcHRpb24qIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0
YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9FWENFUFRJ
T04oc2VsZiksIDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV4Y2VwdGlvbi5oCmlu
ZGV4IDFlYzAyMThiYzRjZGQ1ZjQ3ZGI2OTVkNTVhMWM5Yzc5MjIwOWVlNTguLjhkNjM3YWE4MWRk
NGJiNWU1ODY4YzliZWEzYmU2Mzc0ZjE1MGUyOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFeGNlcHRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0RXhjZXB0aW9uLmgKQEAgLTEsMjIgKzEsMjIgQEAKIC8qCi0gICAgVGhpcyBmaWxlIGlz
IHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgotICAgIFRoaXMgZmlsZSBo
YXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkh
Ci0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
LSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgot
Ki8KKyAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2pl
Y3QuCisgKiAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5n
cy5wbC4gRE8gTk9UIE1PRElGWSEKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAg
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KIAogI2lmICFkZWZpbmVkKF9fV0VCS0lURE9N
X0hfSU5TSURFX18pICYmICFkZWZpbmVkKEJVSUxESU5HX1dFQktJVCkKICNlcnJvciAiT25seSA8
d2Via2l0ZG9tL3dlYmtpdGRvbS5oPiBjYW4gYmUgaW5jbHVkZWQgZGlyZWN0bHkuIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdEV4Y2VwdGlvblByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RFeGNlcHRpb25Qcml2YXRlLmgKaW5kZXggMjg2
ZmY3MzZjNTg4YmI4ZjY5NmRjOGRjZDJiYzEzNzI4ZTc0ZGZhNy4uM2I4YjNjMDdhMWJkNDFhYzU0
YjVlOTg4ZWFhNjNhOWEzZTNlMmQ5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEV4Y2VwdGlvblByaXZhdGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0RXhjZXB0aW9uUHJpdmF0ZS5oCkBAIC0xLDIyICsxLDIyIEBACiAvKgotICAgIFRoaXMg
ZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KLSAgICBUaGlz
IGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1Qg
TU9ESUZZIQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAg
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAg
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KLSovCisgKiAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJj
ZSBwcm9qZWN0LgorICogIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
YmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExp
Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl
cgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCiAKICNpZm5kZWYgV2ViS2l0RE9N
VGVzdEV4Y2VwdGlvblByaXZhdGVfaAogI2RlZmluZSBXZWJLaXRET01UZXN0RXhjZXB0aW9uUHJp
dmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0SW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RJbnRlcmZhY2UuY3BwCmluZGV4
IDczZTYwNjBkMjcwZWE5MGY5NWVkMDI4ZDg0Y2YyNjk1NjMzZTUzMTIuLjM0MTk4ZThkYjI0Yzcy
OWFkMmI1NGRjODNiNWRmNzk4MTA3ZWM3MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RJbnRlcmZhY2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3RJbnRlcmZhY2UuY3BwCkBAIC0xLDIyICsxLDIyIEBACiAvKgotICAgIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KLSAgICBUaGlzIGZpbGUg
aGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZ
IQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
Ci0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
LSovCisgKiAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9q
ZWN0LgorICogIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGlu
Z3MucGwuIERPIE5PVCBNT0RJRlkhCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJXZWJLaXRET01UZXN0SW50ZXJmYWNlLmgiCkBAIC0yNTcsNDggKzI1Nyw2NiBAQCBz
dGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNlX2NsYXNzX2luaXQoV2ViS2l0RE9N
VGVzdEludGVyZmFjZUNsYXNzKiByZQogICAgIGdvYmplY3RDbGFzcy0+c2V0X3Byb3BlcnR5ID0g
d2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZV9zZXRfcHJvcGVydHk7CiAgICAgZ29iamVjdENsYXNz
LT5nZXRfcHJvcGVydHkgPSB3ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNlX2dldF9wcm9wZXJ0eTsK
IAotICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9JTVBMRU1FTlRTX1NUUjEsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfc3RyaW5nKCJp
bXBsZW1lbnRzLXN0cjEiLCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X2ludGVyZmFjZV9pbXBsZW1lbnRz
LXN0cjEiLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVhZC1vbmx5ICBnY2hhciogVGVz
dEludGVyZmFjZS5pbXBsZW1lbnRzLXN0cjEiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNv
bWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIsIC8qIGRlZmF1bHQgKi8KLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lU
X1BBUkFNX1JFQURBQkxFKSk7Ci0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShn
b2JqZWN0Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0lN
UExFTUVOVFNfU1RSMiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFy
YW1fc3BlY19zdHJpbmcoImltcGxlbWVudHMtc3RyMiIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3RfaW50
ZXJmYWNlX2ltcGxlbWVudHMtc3RyMiIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFk
LXdyaXRlICBnY2hhciogVGVzdEludGVyZmFjZS5pbXBsZW1lbnRzLXN0cjIiLCAvKiBsb25nZXIg
LSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIsIC8qIGRl
ZmF1bHQgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOwotICAgIGdfb2JqZWN0X2NsYXNz
X2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgUFJPUF9JTVBMRU1FTlRTX05PREUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfb2JqZWN0KCJpbXBsZW1lbnRzLW5vZGUiLCAvKiBu
YW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0ZXN0X2ludGVyZmFjZV9pbXBsZW1lbnRzLW5vZGUiLCAvKiBzaG9ydCBkZXNj
cmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAicmVhZC13cml0ZSAgV2ViS2l0RE9NTm9kZSogVGVzdEludGVyZmFjZS5p
bXBsZW1lbnRzLW5vZGUiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9j
IHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX05PREUsIC8qIGdvYmplY3QgdHlwZSAq
LwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7Ci0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFs
bF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBQUk9QX1NVUFBMRU1FTlRBTF9TVFIxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygic3VwcGxlbWVudGFsLXN0cjEiLCAvKiBuYW1l
ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0ZXN0X2ludGVyZmFjZV9zdXBwbGVtZW50YWwtc3RyMSIsIC8qIHNob3J0IGRlc2Ny
aXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJyZWFkLW9ubHkgIGdjaGFyKiBUZXN0SW50ZXJmYWNlLnN1cHBsZW1lbnRh
bC1zdHIxIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBo
ZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICIiLCAvKiBkZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOwot
ICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9TVVBQTEVNRU5UQUxfU1RSMiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoInN1
cHBsZW1lbnRhbC1zdHIyIiwgLyogbmFtZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF9pbnRlcmZhY2Vfc3VwcGxlbWVu
dGFsLXN0cjIiLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVhZC13cml0ZSAgZ2NoYXIq
IFRlc3RJbnRlcmZhY2Uuc3VwcGxlbWVudGFsLXN0cjIiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3
aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIsIC8qIGRlZmF1bHQgKi8KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
V0VCS0lUX1BBUkFNX1JFQURXUklURSkpOwotICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJv
cGVydHkoZ29iamVjdENsYXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UFJPUF9TVVBQTEVNRU5UQUxfTk9ERSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdfcGFyYW1fc3BlY19vYmplY3QoInN1cHBsZW1lbnRhbC1ub2RlIiwgLyogbmFtZSAqLwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAidGVzdF9pbnRlcmZhY2Vfc3VwcGxlbWVudGFsLW5vZGUiLCAvKiBzaG9ydCBkZXNjcmlwdGlv
biAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAicmVhZC13cml0ZSAgV2ViS2l0RE9NTm9kZSogVGVzdEludGVyZmFjZS5zdXBwbGVt
ZW50YWwtbm9kZSIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1
ZmYgaGVyZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01fTk9ERSwgLyogZ29iamVjdCB0eXBlICovCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3By
b3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfSU1QTEVNRU5UU19T
VFIxLAorICAgICAgICBnX3BhcmFtX3NwZWNfc3RyaW5nKAorICAgICAgICAgICAgImltcGxlbWVu
dHMtc3RyMSIsCisgICAgICAgICAgICAiVGVzdEludGVyZmFjZTppbXBsZW1lbnRzLXN0cjEiLAor
ICAgICAgICAgICAgInJlYWQtb25seSBnY2hhciogVGVzdEludGVyZmFjZTppbXBsZW1lbnRzLXN0
cjEiLAorICAgICAgICAgICAgIiIsCisgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBREFCTEUp
KTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmpl
Y3RDbGFzcywKKyAgICAgICAgUFJPUF9JTVBMRU1FTlRTX1NUUjIsCisgICAgICAgIGdfcGFyYW1f
c3BlY19zdHJpbmcoCisgICAgICAgICAgICAiaW1wbGVtZW50cy1zdHIyIiwKKyAgICAgICAgICAg
ICJUZXN0SW50ZXJmYWNlOmltcGxlbWVudHMtc3RyMiIsCisgICAgICAgICAgICAicmVhZC1vbmx5
IGdjaGFyKiBUZXN0SW50ZXJmYWNlOmltcGxlbWVudHMtc3RyMiIsCisgICAgICAgICAgICAiIiwK
KyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdfb2JqZWN0X2Ns
YXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJP
UF9JTVBMRU1FTlRTX05PREUsCisgICAgICAgIGdfcGFyYW1fc3BlY19vYmplY3QoCisgICAgICAg
ICAgICAiaW1wbGVtZW50cy1ub2RlIiwKKyAgICAgICAgICAgICJUZXN0SW50ZXJmYWNlOmltcGxl
bWVudHMtbm9kZSIsCisgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERPTU5vZGUqIFRlc3RJ
bnRlcmZhY2U6aW1wbGVtZW50cy1ub2RlIiwKKyAgICAgICAgICAgIFdFQktJVF9UWVBFX0RPTV9O
T0RFLAorICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOworCisgICAgZ19vYmpl
Y3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgKKyAgICAgICAgZ29iamVjdENsYXNzLAorICAgICAg
ICBQUk9QX1NVUFBMRU1FTlRBTF9TVFIxLAorICAgICAgICBnX3BhcmFtX3NwZWNfc3RyaW5nKAor
ICAgICAgICAgICAgInN1cHBsZW1lbnRhbC1zdHIxIiwKKyAgICAgICAgICAgICJUZXN0SW50ZXJm
YWNlOnN1cHBsZW1lbnRhbC1zdHIxIiwKKyAgICAgICAgICAgICJyZWFkLW9ubHkgZ2NoYXIqIFRl
c3RJbnRlcmZhY2U6c3VwcGxlbWVudGFsLXN0cjEiLAorICAgICAgICAgICAgIiIsCisgICAgICAg
ICAgICBXRUJLSVRfUEFSQU1fUkVBREFCTEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3Rh
bGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9TVVBQTEVN
RU5UQUxfU1RSMiwKKyAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygKKyAgICAgICAgICAgICJz
dXBwbGVtZW50YWwtc3RyMiIsCisgICAgICAgICAgICAiVGVzdEludGVyZmFjZTpzdXBwbGVtZW50
YWwtc3RyMiIsCisgICAgICAgICAgICAicmVhZC1vbmx5IGdjaGFyKiBUZXN0SW50ZXJmYWNlOnN1
cHBsZW1lbnRhbC1zdHIyIiwKKyAgICAgICAgICAgICIiLAorICAgICAgICAgICAgV0VCS0lUX1BB
UkFNX1JFQURXUklURSkpOworCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgK
KyAgICAgICAgZ29iamVjdENsYXNzLAorICAgICAgICBQUk9QX1NVUFBMRU1FTlRBTF9OT0RFLAor
ICAgICAgICBnX3BhcmFtX3NwZWNfb2JqZWN0KAorICAgICAgICAgICAgInN1cHBsZW1lbnRhbC1u
b2RlIiwKKyAgICAgICAgICAgICJUZXN0SW50ZXJmYWNlOnN1cHBsZW1lbnRhbC1ub2RlIiwKKyAg
ICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9NTm9kZSogVGVzdEludGVyZmFjZTpzdXBwbGVt
ZW50YWwtbm9kZSIsCisgICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01fTk9ERSwKKyAgICAgICAg
ICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKwogfQogCiBzdGF0aWMgdm9pZCB3ZWJraXRf
ZG9tX3Rlc3RfaW50ZXJmYWNlX2luaXQoV2ViS2l0RE9NVGVzdEludGVyZmFjZSogcmVxdWVzdCkK
QEAgLTMwNyw4ICszMjUsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNl
X2luaXQoV2ViS2l0RE9NVGVzdEludGVyZmFjZSogcmVxdWVzdCkKICAgICBuZXcgKHByaXYpIFdl
YktpdERPTVRlc3RJbnRlcmZhY2VQcml2YXRlKCk7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVz
dF9pbnRlcmZhY2VfaW1wbGVtZW50c19tZXRob2QxKFdlYktpdERPTVRlc3RJbnRlcmZhY2UqIHNl
bGYpCit2b2lkIHdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2VfaW1wbGVtZW50c19tZXRob2QxKFdl
YktpdERPTVRlc3RJbnRlcmZhY2UqIHNlbGYpCiB7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpIHx8
IEVOQUJMRShDb25kaXRpb24yKQogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENv
bmRpdGlvbjIzKQpAQCAtMzI2LDggKzM0Myw3IEBAIHdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2Vf
aW1wbGVtZW50c19tZXRob2QxKFdlYktpdERPTVRlc3RJbnRlcmZhY2UqIHNlbGYpCiAjZW5kaWYg
LyogRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKSAqLwogfQogCi1XZWJL
aXRET01UZXN0T2JqKgotd2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZV9pbXBsZW1lbnRzX21ldGhv
ZDIoV2ViS2l0RE9NVGVzdEludGVyZmFjZSogc2VsZiwgY29uc3QgZ2NoYXIqIHN0ckFyZywgV2Vi
S2l0RE9NVGVzdE9iaiogb2JqQXJnLCBHRXJyb3IqKiBlcnJvcikKK1dlYktpdERPTVRlc3RPYmoq
IHdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2VfaW1wbGVtZW50c19tZXRob2QyKFdlYktpdERPTVRl
c3RJbnRlcmZhY2UqIHNlbGYsIGNvbnN0IGdjaGFyKiBzdHJBcmcsIFdlYktpdERPTVRlc3RPYmoq
IG9iakFyZywgR0Vycm9yKiogZXJyb3IpCiB7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVO
QUJMRShDb25kaXRpb24yKQogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxFKENvbmRp
dGlvbjIzKQpAQCAtMzU4LDggKzM3NCw3IEBAIHdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2VfaW1w
bGVtZW50c19tZXRob2QyKFdlYktpdERPTVRlc3RJbnRlcmZhY2UqIHNlbGYsIGNvbnN0CiAjZW5k
aWYgLyogRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKSAqLwogfQogCi12
b2lkCi13ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNlX2ltcGxlbWVudHNfbWV0aG9kNChXZWJLaXRE
T01UZXN0SW50ZXJmYWNlKiBzZWxmKQordm9pZCB3ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNlX2lt
cGxlbWVudHNfbWV0aG9kNChXZWJLaXRET01UZXN0SW50ZXJmYWNlKiBzZWxmKQogewogI2lmIEVO
QUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29uZGl0aW9uMikKICNpZiBFTkFCTEUoQ29uZGl0
aW9uMjIpIHx8IEVOQUJMRShDb25kaXRpb24yMykKQEAgLTM3Nyw4ICszOTIsNyBAQCB3ZWJraXRf
ZG9tX3Rlc3RfaW50ZXJmYWNlX2ltcGxlbWVudHNfbWV0aG9kNChXZWJLaXRET01UZXN0SW50ZXJm
YWNlKiBzZWxmKQogI2VuZGlmIC8qIEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29uZGl0
aW9uMikgKi8KIH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZV9zdXBwbGVtZW50
YWxfbWV0aG9kMShXZWJLaXRET01UZXN0SW50ZXJmYWNlKiBzZWxmKQordm9pZCB3ZWJraXRfZG9t
X3Rlc3RfaW50ZXJmYWNlX3N1cHBsZW1lbnRhbF9tZXRob2QxKFdlYktpdERPTVRlc3RJbnRlcmZh
Y2UqIHNlbGYpCiB7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24y
KQogI2lmIEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENvbmRpdGlvbjEyKQpAQCAtMzk2
LDggKzQxMCw3IEBAIHdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2Vfc3VwcGxlbWVudGFsX21ldGhv
ZDEoV2ViS2l0RE9NVGVzdEludGVyZmFjZSogc2VsZikKICNlbmRpZiAvKiBFTkFCTEUoQ29uZGl0
aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpICovCiB9CiAKLVdlYktpdERPTVRlc3RPYmoqCi13
ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNlX3N1cHBsZW1lbnRhbF9tZXRob2QyKFdlYktpdERPTVRl
c3RJbnRlcmZhY2UqIHNlbGYsIGNvbnN0IGdjaGFyKiBzdHJBcmcsIFdlYktpdERPTVRlc3RPYmoq
IG9iakFyZywgR0Vycm9yKiogZXJyb3IpCitXZWJLaXRET01UZXN0T2JqKiB3ZWJraXRfZG9tX3Rl
c3RfaW50ZXJmYWNlX3N1cHBsZW1lbnRhbF9tZXRob2QyKFdlYktpdERPTVRlc3RJbnRlcmZhY2Uq
IHNlbGYsIGNvbnN0IGdjaGFyKiBzdHJBcmcsIFdlYktpdERPTVRlc3RPYmoqIG9iakFyZywgR0Vy
cm9yKiogZXJyb3IpCiB7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRp
b24yKQogI2lmIEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENvbmRpdGlvbjEyKQpAQCAt
NDI4LDggKzQ0MSw3IEBAIHdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2Vfc3VwcGxlbWVudGFsX21l
dGhvZDIoV2ViS2l0RE9NVGVzdEludGVyZmFjZSogc2VsZiwgY29uCiAjZW5kaWYgLyogRU5BQkxF
KENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKSAqLwogfQogCi12b2lkCi13ZWJraXRf
ZG9tX3Rlc3RfaW50ZXJmYWNlX3N1cHBsZW1lbnRhbF9tZXRob2Q0KFdlYktpdERPTVRlc3RJbnRl
cmZhY2UqIHNlbGYpCit2b2lkIHdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2Vfc3VwcGxlbWVudGFs
X21ldGhvZDQoV2ViS2l0RE9NVGVzdEludGVyZmFjZSogc2VsZikKIHsKICNpZiBFTkFCTEUoQ29u
ZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCiAjaWYgRU5BQkxFKENvbmRpdGlvbjExKSB8
fCBFTkFCTEUoQ29uZGl0aW9uMTIpCkBAIC00NDcsOCArNDU5LDcgQEAgd2Via2l0X2RvbV90ZXN0
X2ludGVyZmFjZV9zdXBwbGVtZW50YWxfbWV0aG9kNChXZWJLaXRET01UZXN0SW50ZXJmYWNlKiBz
ZWxmKQogI2VuZGlmIC8qIEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29uZGl0aW9uMikg
Ki8KIH0KIAotZ2NoYXIqCi13ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNlX2dldF9pbXBsZW1lbnRz
X3N0cjEoV2ViS2l0RE9NVGVzdEludGVyZmFjZSogc2VsZikKK2djaGFyKiB3ZWJraXRfZG9tX3Rl
c3RfaW50ZXJmYWNlX2dldF9pbXBsZW1lbnRzX3N0cjEoV2ViS2l0RE9NVGVzdEludGVyZmFjZSog
c2VsZikKIHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCiAj
aWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMpCkBAIC00NjksOCAr
NDgwLDcgQEAgd2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZV9nZXRfaW1wbGVtZW50c19zdHIxKFdl
YktpdERPTVRlc3RJbnRlcmZhY2UqIHNlbGYpCiAjZW5kaWYgLyogRU5BQkxFKENvbmRpdGlvbjEp
IHx8IEVOQUJMRShDb25kaXRpb24yKSAqLwogfQogCi1nY2hhcioKLXdlYmtpdF9kb21fdGVzdF9p
bnRlcmZhY2VfZ2V0X2ltcGxlbWVudHNfc3RyMihXZWJLaXRET01UZXN0SW50ZXJmYWNlKiBzZWxm
KQorZ2NoYXIqIHdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2VfZ2V0X2ltcGxlbWVudHNfc3RyMihX
ZWJLaXRET01UZXN0SW50ZXJmYWNlKiBzZWxmKQogewogI2lmIEVOQUJMRShDb25kaXRpb24xKSB8
fCBFTkFCTEUoQ29uZGl0aW9uMikKICNpZiBFTkFCTEUoQ29uZGl0aW9uMjIpIHx8IEVOQUJMRShD
b25kaXRpb24yMykKQEAgLTQ5MSw4ICs1MDEsNyBAQCB3ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNl
X2dldF9pbXBsZW1lbnRzX3N0cjIoV2ViS2l0RE9NVGVzdEludGVyZmFjZSogc2VsZikKICNlbmRp
ZiAvKiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpICovCiB9CiAKLXZv
aWQKLXdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2Vfc2V0X2ltcGxlbWVudHNfc3RyMihXZWJLaXRE
T01UZXN0SW50ZXJmYWNlKiBzZWxmLCBjb25zdCBnY2hhciogdmFsdWUpCit2b2lkIHdlYmtpdF9k
b21fdGVzdF9pbnRlcmZhY2Vfc2V0X2ltcGxlbWVudHNfc3RyMihXZWJLaXRET01UZXN0SW50ZXJm
YWNlKiBzZWxmLCBjb25zdCBnY2hhciogdmFsdWUpCiB7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjEp
IHx8IEVOQUJMRShDb25kaXRpb24yKQogI2lmIEVOQUJMRShDb25kaXRpb24yMikgfHwgRU5BQkxF
KENvbmRpdGlvbjIzKQpAQCAtNTEyLDggKzUyMSw3IEBAIHdlYmtpdF9kb21fdGVzdF9pbnRlcmZh
Y2Vfc2V0X2ltcGxlbWVudHNfc3RyMihXZWJLaXRET01UZXN0SW50ZXJmYWNlKiBzZWxmLCBjb25z
CiAjZW5kaWYgLyogRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKSAqLwog
fQogCi1XZWJLaXRET01Ob2RlKgotd2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZV9nZXRfaW1wbGVt
ZW50c19ub2RlKFdlYktpdERPTVRlc3RJbnRlcmZhY2UqIHNlbGYpCitXZWJLaXRET01Ob2RlKiB3
ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNlX2dldF9pbXBsZW1lbnRzX25vZGUoV2ViS2l0RE9NVGVz
dEludGVyZmFjZSogc2VsZikKIHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENv
bmRpdGlvbjIpCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0aW9uMjMp
CkBAIC01MzQsOCArNTQyLDcgQEAgd2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZV9nZXRfaW1wbGVt
ZW50c19ub2RlKFdlYktpdERPTVRlc3RJbnRlcmZhY2UqIHNlbGYpCiAjZW5kaWYgLyogRU5BQkxF
KENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKSAqLwogfQogCi12b2lkCi13ZWJraXRf
ZG9tX3Rlc3RfaW50ZXJmYWNlX3NldF9pbXBsZW1lbnRzX25vZGUoV2ViS2l0RE9NVGVzdEludGVy
ZmFjZSogc2VsZiwgV2ViS2l0RE9NTm9kZSogdmFsdWUpCit2b2lkIHdlYmtpdF9kb21fdGVzdF9p
bnRlcmZhY2Vfc2V0X2ltcGxlbWVudHNfbm9kZShXZWJLaXRET01UZXN0SW50ZXJmYWNlKiBzZWxm
LCBXZWJLaXRET01Ob2RlKiB2YWx1ZSkKIHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5B
QkxFKENvbmRpdGlvbjIpCiAjaWYgRU5BQkxFKENvbmRpdGlvbjIyKSB8fCBFTkFCTEUoQ29uZGl0
aW9uMjMpCkBAIC01NTUsOCArNTYyLDcgQEAgd2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZV9zZXRf
aW1wbGVtZW50c19ub2RlKFdlYktpdERPTVRlc3RJbnRlcmZhY2UqIHNlbGYsIFdlYksKICNlbmRp
ZiAvKiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpICovCiB9CiAKLWdj
aGFyKgotd2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZV9nZXRfc3VwcGxlbWVudGFsX3N0cjEoV2Vi
S2l0RE9NVGVzdEludGVyZmFjZSogc2VsZikKK2djaGFyKiB3ZWJraXRfZG9tX3Rlc3RfaW50ZXJm
YWNlX2dldF9zdXBwbGVtZW50YWxfc3RyMShXZWJLaXRET01UZXN0SW50ZXJmYWNlKiBzZWxmKQog
ewogI2lmIEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29uZGl0aW9uMikKICNpZiBFTkFC
TEUoQ29uZGl0aW9uMTEpIHx8IEVOQUJMRShDb25kaXRpb24xMikKQEAgLTU3Nyw4ICs1ODMsNyBA
QCB3ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNlX2dldF9zdXBwbGVtZW50YWxfc3RyMShXZWJLaXRE
T01UZXN0SW50ZXJmYWNlKiBzZWxmKQogI2VuZGlmIC8qIEVOQUJMRShDb25kaXRpb24xKSB8fCBF
TkFCTEUoQ29uZGl0aW9uMikgKi8KIH0KIAotZ2NoYXIqCi13ZWJraXRfZG9tX3Rlc3RfaW50ZXJm
YWNlX2dldF9zdXBwbGVtZW50YWxfc3RyMihXZWJLaXRET01UZXN0SW50ZXJmYWNlKiBzZWxmKQor
Z2NoYXIqIHdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2VfZ2V0X3N1cHBsZW1lbnRhbF9zdHIyKFdl
YktpdERPTVRlc3RJbnRlcmZhY2UqIHNlbGYpCiB7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpIHx8
IEVOQUJMRShDb25kaXRpb24yKQogI2lmIEVOQUJMRShDb25kaXRpb24xMSkgfHwgRU5BQkxFKENv
bmRpdGlvbjEyKQpAQCAtNTk5LDggKzYwNCw3IEBAIHdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2Vf
Z2V0X3N1cHBsZW1lbnRhbF9zdHIyKFdlYktpdERPTVRlc3RJbnRlcmZhY2UqIHNlbGYpCiAjZW5k
aWYgLyogRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKSAqLwogfQogCi12
b2lkCi13ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNlX3NldF9zdXBwbGVtZW50YWxfc3RyMihXZWJL
aXRET01UZXN0SW50ZXJmYWNlKiBzZWxmLCBjb25zdCBnY2hhciogdmFsdWUpCit2b2lkIHdlYmtp
dF9kb21fdGVzdF9pbnRlcmZhY2Vfc2V0X3N1cHBsZW1lbnRhbF9zdHIyKFdlYktpdERPTVRlc3RJ
bnRlcmZhY2UqIHNlbGYsIGNvbnN0IGdjaGFyKiB2YWx1ZSkKIHsKICNpZiBFTkFCTEUoQ29uZGl0
aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCiAjaWYgRU5BQkxFKENvbmRpdGlvbjExKSB8fCBF
TkFCTEUoQ29uZGl0aW9uMTIpCkBAIC02MjAsOCArNjI0LDcgQEAgd2Via2l0X2RvbV90ZXN0X2lu
dGVyZmFjZV9zZXRfc3VwcGxlbWVudGFsX3N0cjIoV2ViS2l0RE9NVGVzdEludGVyZmFjZSogc2Vs
ZiwgY28KICNlbmRpZiAvKiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIp
ICovCiB9CiAKLVdlYktpdERPTU5vZGUqCi13ZWJraXRfZG9tX3Rlc3RfaW50ZXJmYWNlX2dldF9z
dXBwbGVtZW50YWxfbm9kZShXZWJLaXRET01UZXN0SW50ZXJmYWNlKiBzZWxmKQorV2ViS2l0RE9N
Tm9kZSogd2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZV9nZXRfc3VwcGxlbWVudGFsX25vZGUoV2Vi
S2l0RE9NVGVzdEludGVyZmFjZSogc2VsZikKIHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwg
RU5BQkxFKENvbmRpdGlvbjIpCiAjaWYgRU5BQkxFKENvbmRpdGlvbjExKSB8fCBFTkFCTEUoQ29u
ZGl0aW9uMTIpCkBAIC02NDIsOCArNjQ1LDcgQEAgd2Via2l0X2RvbV90ZXN0X2ludGVyZmFjZV9n
ZXRfc3VwcGxlbWVudGFsX25vZGUoV2ViS2l0RE9NVGVzdEludGVyZmFjZSogc2VsZikKICNlbmRp
ZiAvKiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpICovCiB9CiAKLXZv
aWQKLXdlYmtpdF9kb21fdGVzdF9pbnRlcmZhY2Vfc2V0X3N1cHBsZW1lbnRhbF9ub2RlKFdlYktp
dERPTVRlc3RJbnRlcmZhY2UqIHNlbGYsIFdlYktpdERPTU5vZGUqIHZhbHVlKQordm9pZCB3ZWJr
aXRfZG9tX3Rlc3RfaW50ZXJmYWNlX3NldF9zdXBwbGVtZW50YWxfbm9kZShXZWJLaXRET01UZXN0
SW50ZXJmYWNlKiBzZWxmLCBXZWJLaXRET01Ob2RlKiB2YWx1ZSkKIHsKICNpZiBFTkFCTEUoQ29u
ZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCiAjaWYgRU5BQkxFKENvbmRpdGlvbjExKSB8
fCBFTkFCTEUoQ29uZGl0aW9uMTIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0SW50ZXJmYWNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0SW50ZXJm
YWNlLmgKaW5kZXggNzNmNmU2ZWE5ZDExZDBhYzcxMmRjMjRiZTc2OGZjMDlkMjVkOWQ4ZC4uOTk2
NWMwZGQwODYwNjQyZTllMmQ3ZWU2NjljODZmYmZkMjg4MDY3MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEludGVy
ZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0
L1dlYktpdERPTVRlc3RJbnRlcmZhY2UuaApAQCAtMSwyMiArMSwyMiBAQAogLyoKLSAgICBUaGlz
IGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCi0gICAgVGhp
cyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9U
IE1PRElGWSEKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAg
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAg
ICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCi0qLworICogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3Vy
Y2UgcHJvamVjdC4KKyAqICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRl
LWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq
CisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwogCiAjaWYgIWRlZmluZWQoX19X
RUJLSVRET01fSF9JTlNJREVfXykgJiYgIWRlZmluZWQoQlVJTERJTkdfV0VCS0lUKQogI2Vycm9y
ICJPbmx5IDx3ZWJraXRkb20vd2Via2l0ZG9tLmg+IGNhbiBiZSBpbmNsdWRlZCBkaXJlY3RseS4i
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVj
dC9XZWJLaXRET01UZXN0SW50ZXJmYWNlUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdEludGVyZmFjZVByaXZhdGUuaApp
bmRleCBhYWQ0YWQ1NTI4N2FmY2RkZjA1ZTUwMzllNGJjODM0NGY0NjQzM2MzLi4yODA1Nzc1ZjI4
YmIwMTNjZjU2NmExZDU5OTExZWJiOGVlNWZmNjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0SW50ZXJmYWNlUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0
L1dlYktpdERPTVRlc3RJbnRlcmZhY2VQcml2YXRlLmgKQEAgLTEsMjIgKzEsMjIgQEAKIC8qCi0g
ICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0Lgot
ICAgIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwu
IERPIE5PVCBNT0RJRlkhCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
Ci0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgotKi8KKyAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9w
ZW4gc291cmNlIHByb2plY3QuCisgKiAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBn
ZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKyAqCisgKiAgVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
CisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KIAogI2lmbmRlZiBX
ZWJLaXRET01UZXN0SW50ZXJmYWNlUHJpdmF0ZV9oCiAjZGVmaW5lIFdlYktpdERPTVRlc3RJbnRl
cmZhY2VQcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAppbmRleCA0ZDQyMGNkYjUwYmYwMGE3MWQyMmNj
M2JlNzg2YjIwMTY3ZGQyMjg0Li5hZTE2MGEzOWU5NGQxNWQ3MjNlY2QzZWEwZDM1NjgyMzJkNzMx
ZjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuY3BwCkBAIC0xLDIyICsxLDIyIEBACiAvKgotICAgIFRoaXMgZmls
ZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KLSAgICBUaGlzIGZp
bGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9E
SUZZIQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KLSovCisgKiAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBw
cm9qZWN0LgorICogIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmlu
ZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICog
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCiAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJXZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LmgKaW5kZXggMjg5ZGE4ODhhNjE3MzE3MjA5OWE3ZDRjMDJiZThlMjdmNzM4NmRjNC4uYmEyOTRi
ZDhhYzlkNzkwNjJiODA0NDVmYWIyNzRhMWI5ZGU3YzIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvR09iamVjdC9XZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCkBAIC0xLDIy
ICsxLDIyIEBACiAvKgotICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBz
b3VyY2UgcHJvamVjdC4KLSAgICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVy
YXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot
ICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0g
ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAg
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCisgKiAgVGhpcyBmaWxlIGlzIHBhcnQg
b2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgorICogIFRoaXMgZmlsZSBoYXMgYmVl
biBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCisgKgor
ICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
KiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xp
biBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgor
ICovCiAKICNpZiAhZGVmaW5lZChfX1dFQktJVERPTV9IX0lOU0lERV9fKSAmJiAhZGVmaW5lZChC
VUlMRElOR19XRUJLSVQpCiAjZXJyb3IgIk9ubHkgPHdlYmtpdGRvbS93ZWJraXRkb20uaD4gY2Fu
IGJlIGluY2x1ZGVkIGRpcmVjdGx5LiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcml2YXRlLmgKaW5kZXggNDMw
YWYwMTAwNGYwZGRmMGM5YzQ2ZmYzM2E3NDZhZWQ4MzNkMDRkYi4uNTJlOTcyNjE3ODVhYzgwZGFl
NDk1MWYyNzRkOGM2ZTIzM2IxNzVkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXJQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcml2YXRlLmgKQEAgLTEs
MjIgKzEsMjIgQEAKIC8qCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVu
IHNvdXJjZSBwcm9qZWN0LgotICAgIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAg
ICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
Ci0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0K
LSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0
aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAot
ICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KKyAqICBUaGlzIGZpbGUgaXMgcGFy
dCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCisgKiAgVGhpcyBmaWxlIGhhcyBi
ZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKyAq
CisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CisgKi8KIAogI2lmbmRlZiBXZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByaXZh
dGVfaAogI2RlZmluZSBXZWJLaXRET01UZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByaXZhdGVf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmpl
Y3QvV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0b3Iu
Y3BwCmluZGV4IGM5NzlmZjg2MjFmODc5MzNiNTJlNDBhMTQ0MDEzMTU0MmY0ZjBkYTUuLjE3ZTEx
OTBmMjJhMmFmYjA4ZmI1MDc3YmM1NTc5MWJiMjIzZmNkMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROYW1lZENv
bnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3Rvci5jcHAKQEAgLTEsMjIgKzEsMjIg
QEAKIC8qCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBw
cm9qZWN0LgotICAgIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmlu
ZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAg
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3Rv
biwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KKyAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUg
V2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCisgKiAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVy
YXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKyAqCisgKiAgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KIAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdERPTVRlc3ROYW1lZENvbnN0cnVj
dG9yLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
R09iamVjdC9XZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3Rvci5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0
b3IuaAppbmRleCAxNGU1YTVjZDIxYjM1OGFiZmIwY2I4ZTRhZWI1Y2I1NTM5MjVlMWJmLi43NGE3
NWRmZjAzZTQ4ZGM4MGYzNWI3YjBhMjNhYzk1M2NhNWVlMDYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0TmFtZWRD
b25zdHJ1Y3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9H
T2JqZWN0L1dlYktpdERPTVRlc3ROYW1lZENvbnN0cnVjdG9yLmgKQEAgLTEsMjIgKzEsMjIgQEAK
IC8qCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9q
ZWN0LgotICAgIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGlu
Z3MucGwuIERPIE5PVCBNT0RJRlkhCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KKyAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2Vi
S2l0IG9wZW4gc291cmNlIHByb2plY3QuCisgKiAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKyAqCisgKiAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICog
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KIAogI2lm
ICFkZWZpbmVkKF9fV0VCS0lURE9NX0hfSU5TSURFX18pICYmICFkZWZpbmVkKEJVSUxESU5HX1dF
QktJVCkKICNlcnJvciAiT25seSA8d2Via2l0ZG9tL3dlYmtpdGRvbS5oPiBjYW4gYmUgaW5jbHVk
ZWQgZGlyZWN0bHkuIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5hbWVkQ29uc3RydWN0b3JQcml2YXRlLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
TmFtZWRDb25zdHJ1Y3RvclByaXZhdGUuaAppbmRleCBhNGRjNTEyNDg1YmYzZDlmODliOTgyYzk3
OGM1NDMyMDBhYTVlMDEzLi4yMzM3NjBkYzUxMTkwMjhkYTRjOTFmYmVmNTMyNTUzYmE2NTBmMGMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVj
dC9XZWJLaXRET01UZXN0TmFtZWRDb25zdHJ1Y3RvclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0TmFtZWRDb25z
dHJ1Y3RvclByaXZhdGUuaApAQCAtMSwyMiArMSwyMiBAQAogLyoKLSAgICBUaGlzIGZpbGUgaXMg
cGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCi0gICAgVGhpcyBmaWxlIGhh
cyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEK
LQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot
ICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0q
LworICogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVj
dC4KKyAqICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdz
LnBsLiBETyBOT1QgTU9ESUZZIQorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwogCiAjaWZuZGVmIFdlYktpdERPTVRlc3ROYW1l
ZENvbnN0cnVjdG9yUHJpdmF0ZV9oCiAjZGVmaW5lIFdlYktpdERPTVRlc3ROYW1lZENvbnN0cnVj
dG9yUHJpdmF0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Tm9kZS5jcHAKaW5kZXggMjMx
YjZjYmI5MzIzOGE3YmIyNzFmYmEyOGMzYWZmOGEwZjVmNjk1OS4uZDdiMzAyOTJjMGE3Nzg2YmQ1
MGNhYjU3ZDM5MGJiOTA4MTY5YTQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5vZGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROb2Rl
LmNwcApAQCAtMSwyMiArMSwyMiBAQAogLyoKLSAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUg
V2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCi0gICAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVy
YXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKLQotICAgIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
LSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0g
ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLworICogIFRoaXMg
ZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KKyAqICBUaGlz
IGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1Qg
TU9ESUZZIQorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor
ICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0
RE9NVGVzdE5vZGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Tm9kZS5oCmluZGV4IDQ2YWZj
ZGY4ZjliNGRiMjExM2M4M2QxNTk4MTFlODkwZTJhZjE5NzcuLmQ0OWNmNmE0MmY4MzZlMDVhMTgx
NmJkZDcwNGEzMjI3ZWIxOWNjZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROb2RlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE5vZGUuaApA
QCAtMSwyMiArMSwyMiBAQAogLyoKLSAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0
IG9wZW4gc291cmNlIHByb2plY3QuCi0gICAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBi
eSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKLQotICAgIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsg
c2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLworICogIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KKyAqICBUaGlzIGZpbGUg
aGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZ
IQorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KKyAqLwogCiAjaWYgIWRlZmluZWQoX19XRUJLSVRET01fSF9JTlNJREVfXykgJiYgIWRl
ZmluZWQoQlVJTERJTkdfV0VCS0lUKQogI2Vycm9yICJPbmx5IDx3ZWJraXRkb20vd2Via2l0ZG9t
Lmg+IGNhbiBiZSBpbmNsdWRlZCBkaXJlY3RseS4iCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Tm9kZVByaXZhdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERP
TVRlc3ROb2RlUHJpdmF0ZS5oCmluZGV4IGNkZjhlOTNiMTdhYzRhNTY5YjE0NzViOTZiZmNmY2M4
ODBmYzBiYTEuLmY0OWJhNWRmNzczY2EwZjA4ODhkMTdlNGUxMzM4YjZjOTdiYzU1MjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktp
dERPTVRlc3ROb2RlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3ROb2RlUHJpdmF0ZS5oCkBAIC0xLDIyICsxLDIy
IEBACiAvKgotICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2Ug
cHJvamVjdC4KLSAgICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJp
bmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0g
ICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUg
Q09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCisgKiAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhl
IFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgorICogIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5l
cmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCisgKgorICogIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
KyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCiAK
ICNpZm5kZWYgV2ViS2l0RE9NVGVzdE5vZGVQcml2YXRlX2gKICNkZWZpbmUgV2ViS2l0RE9NVGVz
dE5vZGVQcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKaW5kZXggMjdk
ZWJhZjY2YTM1MjMwYWNlZGQ1NDA5NjczOGRlYmFlMmJiYjg0YS4uZTIwN2E5ZTk2NjdkMTNkMTI4
OWY4M2E2YjU0ZTNiZmVmNzFlYzdlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5j
cHAKQEAgLTEsMjIgKzEsMjIgQEAKIC8qCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdl
YktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgotICAgIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0
ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCi0KLSAgICBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0g
ICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAg
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KKyAqICBUaGlzIGZp
bGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCisgKiAgVGhpcyBm
aWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1P
RElGWSEKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
ICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UK
KyAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAg
SWYgbm90LCB3cml0ZSB0bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdERP
TVRlc3RPYmouaCIKQEAgLTU4Nyw0MzYgKzU4Nyw1NDYgQEAgc3RhdGljIHZvaWQgd2Via2l0X2Rv
bV90ZXN0X29ial9jbGFzc19pbml0KFdlYktpdERPTVRlc3RPYmpDbGFzcyogcmVxdWVzdENsYXNz
KQogICAgIGdvYmplY3RDbGFzcy0+c2V0X3Byb3BlcnR5ID0gd2Via2l0X2RvbV90ZXN0X29ial9z
ZXRfcHJvcGVydHk7CiAgICAgZ29iamVjdENsYXNzLT5nZXRfcHJvcGVydHkgPSB3ZWJraXRfZG9t
X3Rlc3Rfb2JqX2dldF9wcm9wZXJ0eTsKIAotICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJv
cGVydHkoZ29iamVjdENsYXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
UFJPUF9SRUFEX09OTFlfTE9OR19BVFRSLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ19wYXJhbV9zcGVjX2xvbmcoInJlYWQtb25seS1sb25nLWF0dHIiLCAvKiBuYW1lICov
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0ZXN0X29ial9yZWFkLW9ubHktbG9uZy1hdHRyIiwgLyogc2hvcnQgZGVzY3JpcHRpb24g
Ki8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInJlYWQtb25seSAgZ2xvbmcgVGVzdE9iai5yZWFkLW9ubHktbG9uZy1hdHRyIiwgLyog
bG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdf
TUlOTE9ORywgLyogbWluICovCi1HX01BWExPTkcsIC8qIG1heCAqLwotMCwgLyogZGVmYXVsdCAq
LwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBXRUJLSVRfUEFSQU1fUkVBREFCTEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxs
X3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFBST1BfUkVBRF9PTkxZX1NUUklOR19BVFRSLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygicmVhZC1vbmx5LXN0cmluZy1hdHRyIiwg
LyogbmFtZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidGVzdF9vYmpfcmVhZC1vbmx5LXN0cmluZy1hdHRyIiwgLyogc2hvcnQg
ZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInJlYWQtb25seSAgZ2NoYXIqIFRlc3RPYmoucmVhZC1vbmx5LXN0
cmluZy1hdHRyIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVm
ZiBoZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICIiLCAvKiBkZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEQUJMRSkp
OwotICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9SRUFEX09OTFlfVEVTVF9PQkpf
QVRUUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19v
YmplY3QoInJlYWQtb25seS10ZXN0LW9iai1hdHRyIiwgLyogbmFtZSAqLwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF9vYmpf
cmVhZC1vbmx5LXRlc3Qtb2JqLWF0dHIiLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVh
ZC1vbmx5ICBXZWJLaXRET01UZXN0T2JqKiBUZXN0T2JqLnJlYWQtb25seS10ZXN0LW9iai1hdHRy
IiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICov
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFdFQktJVF9UWVBFX0RPTV9URVNUX09CSiwgLyogZ29iamVjdCB0eXBlICovCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJ
VF9QQVJBTV9SRUFEQUJMRSkpOwotICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHko
Z29iamVjdENsYXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9C
WVRFX0FUVFIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3Nw
ZWNfaW50OCgiYnl0ZS1hdHRyIiwgLyogbmFtZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF9vYmpfYnl0ZS1hdHRyIiwg
Lyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlYWQtd3JpdGUgIGdpbnQ4IFRlc3RPYmouYnl0
ZS1hdHRyIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBo
ZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdfTUlOSU5UOCwgLyogbWluICovCi1HX01BWElOVDgsIC8qIG1heCAqLwotMCwg
LyogZGVmYXVsdCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7Ci0gICAgZ19vYmplY3Rf
Y2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBQUk9QX09DVEVUX0FUVFIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfdWludDgoIm9jdGV0LWF0dHIiLCAvKiBuYW1lICov
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0ZXN0X29ial9vY3RldC1hdHRyIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJl
YWQtd3JpdGUgIGd1aW50OCBUZXN0T2JqLm9jdGV0LWF0dHIiLCAvKiBsb25nZXIgLSBjb3VsZCBk
byB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgLyogbWluICovCi1HX01B
WFVJTlQ4LCAvKiBtYXggKi8KLTAsIC8qIGRlZmF1bHQgKi8KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURX
UklURSkpOwotICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9TSE9SVF9BVFRSLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX2ludCgic2hv
cnQtYXR0ciIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInRlc3Rfb2JqX3Nob3J0LWF0dHIiLCAvKiBzaG9ydCBk
ZXNjcmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicmVhZC13cml0ZSAgZ3Nob3J0IFRlc3RPYmouc2hvcnQtYXR0ciIs
IC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVyZSAqLwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBHX01JTklOVCwgLyogbWluICovCi1HX01BWElOVCwgLyogbWF4ICovCi0wLCAvKiBkZWZhdWx0
ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0
YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFBST1BfVU5TSUdORURfU0hPUlRfQVRUUiwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGdfcGFyYW1fc3BlY191aW50KCJ1bnNpZ25lZC1zaG9ydC1hdHRyIiwgLyog
bmFtZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidGVzdF9vYmpfdW5zaWduZWQtc2hvcnQtYXR0ciIsIC8qIHNob3J0IGRlc2Ny
aXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJyZWFkLXdyaXRlICBndXNob3J0IFRlc3RPYmoudW5zaWduZWQtc2hvcnQt
YXR0ciIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVy
ZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAwLCAvKiBtaW4gKi8KLUdfTUFYVUlOVCwgLyogbWF4ICovCi0wLCAvKiBkZWZhdWx0
ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0
YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFBST1BfTE9OR19BVFRSLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ19wYXJhbV9zcGVjX2xvbmcoImxvbmctYXR0ciIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3Rfb2Jq
X2xvbmctYXR0ciIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLXdyaXRlICBnbG9u
ZyBUZXN0T2JqLmxvbmctYXR0ciIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRy
YSBkb2Mgc3R1ZmYgaGVyZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBHX01JTkxPTkcsIC8qIG1pbiAqLwotR19NQVhMT05HLCAv
KiBtYXggKi8KLTAsIC8qIGRlZmF1bHQgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOwot
ICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9MT05HX0xPTkdfQVRUUiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19pbnQ2NCgibG9uZy1s
b25nLWF0dHIiLCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X29ial9sb25nLWxvbmctYXR0ciIsIC8qIHNo
b3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJyZWFkLXdyaXRlICBnaW50NjQgVGVzdE9iai5sb25nLWxv
bmctYXR0ciIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1ZmYg
aGVyZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBHX01JTklOVDY0LCAvKiBtaW4gKi8KLUdfTUFYSU5UNjQsIC8qIG1heCAqLwot
MCwgLyogZGVmYXVsdCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7Ci0gICAgZ19vYmpl
Y3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBQUk9QX1VOU0lHTkVEX0xPTkdfTE9OR19BVFRSLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3VpbnQ2NCgidW5zaWdu
ZWQtbG9uZy1sb25nLWF0dHIiLCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X29ial91bnNpZ25lZC1sb25n
LWxvbmctYXR0ciIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLXdyaXRlICBndWlu
dDY0IFRlc3RPYmoudW5zaWduZWQtbG9uZy1sb25nLWF0dHIiLCAvKiBsb25nZXIgLSBjb3VsZCBk
byB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgLyogbWluICovCi1HX01B
WFVJTlQ2NCwgLyogbWluICovCi0wLCAvKiBkZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFE
V1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFz
cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfU1RSSU5HX0FUVFIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfc3RyaW5n
KCJzdHJpbmctYXR0ciIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3Rfb2JqX3N0cmluZy1hdHRyIiwgLyog
c2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgInJlYWQtd3JpdGUgIGdjaGFyKiBUZXN0T2JqLnN0cmlu
Zy1hdHRyIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBo
ZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICIiLCAvKiBkZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsK
LSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfVEVTVF9PQkpfQVRUUiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19vYmplY3QoInRlc3Qt
b2JqLWF0dHIiLCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X29ial90ZXN0LW9iai1hdHRyIiwgLyogc2hv
cnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInJlYWQtd3JpdGUgIFdlYktpdERPTVRlc3RPYmoqIFRlc3RP
YmoudGVzdC1vYmotYXR0ciIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBk
b2Mgc3R1ZmYgaGVyZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01fVEVTVF9PQkosIC8qIGdvYmplY3Qg
dHlwZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7Ci0gICAgZ19vYmplY3RfY2xhc3Nf
aW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBQUk9QX1hNTF9PQkpfQVRUUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGdfcGFyYW1fc3BlY19vYmplY3QoInhtbC1vYmotYXR0ciIsIC8qIG5hbWUgKi8K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInRlc3Rfb2JqX3htbC1vYmotYXR0ciIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJy
ZWFkLXdyaXRlICBXZWJLaXRET01UZXN0T2JqKiBUZXN0T2JqLnhtbC1vYmotYXR0ciIsIC8qIGxv
bmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVyZSAqLwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJL
SVRfVFlQRV9ET01fVEVTVF9PQkosIC8qIGdvYmplY3QgdHlwZSAqLwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1f
UkVBRFdSSVRFKSk7Ci0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0
Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0NSRUFURSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFu
KCJjcmVhdGUiLCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X29ial9jcmVhdGUiLCAvKiBzaG9ydCBkZXNj
cmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAicmVhZC13cml0ZSAgZ2Jvb2xlYW4gVGVzdE9iai5jcmVhdGUiLCAvKiBs
b25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFM
U0UsIC8qIGRlZmF1bHQgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOwotICAgIGdfb2Jq
ZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUFJPUF9SRUZMRUNURURfU1RSSU5HX0FUVFIsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfc3RyaW5nKCJyZWZsZWN0
ZWQtc3RyaW5nLWF0dHIiLCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X29ial9yZWZsZWN0ZWQtc3RyaW5n
LWF0dHIiLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVhZC13cml0ZSAgZ2NoYXIqIFRl
c3RPYmoucmVmbGVjdGVkLXN0cmluZy1hdHRyIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBz
b21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIiLCAvKiBkZWZhdWx0ICovCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJ
VF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5
KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1Bf
UkVGTEVDVEVEX0lOVEVHUkFMX0FUVFIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnX3BhcmFtX3NwZWNfbG9uZygicmVmbGVjdGVkLWludGVncmFsLWF0dHIiLCAvKiBuYW1l
ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJ0ZXN0X29ial9yZWZsZWN0ZWQtaW50ZWdyYWwtYXR0ciIsIC8qIHNob3J0IGRlc2Ny
aXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJyZWFkLXdyaXRlICBnbG9uZyBUZXN0T2JqLnJlZmxlY3RlZC1pbnRlZ3Jh
bC1hdHRyIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBo
ZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdfTUlOTE9ORywgLyogbWluICovCi1HX01BWExPTkcsIC8qIG1heCAqLwotMCwg
LyogZGVmYXVsdCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7Ci0gICAgZ19vYmplY3Rf
Y2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBQUk9QX1JFRkxFQ1RFRF9VTlNJR05FRF9JTlRFR1JBTF9BVFRSLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3Vsb25nKCJy
ZWZsZWN0ZWQtdW5zaWduZWQtaW50ZWdyYWwtYXR0ciIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3Rfb2Jq
X3JlZmxlY3RlZC11bnNpZ25lZC1pbnRlZ3JhbC1hdHRyIiwgLyogc2hvcnQgZGVzY3JpcHRpb24g
Ki8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInJlYWQtd3JpdGUgIGd1bG9uZyBUZXN0T2JqLnJlZmxlY3RlZC11bnNpZ25lZC1pbnRl
Z3JhbC1hdHRyIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVm
ZiBoZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDAsIC8qIG1pbiAqLwotR19NQVhVTE9ORywgLyogbWF4ICovCi0wLCAvKiBk
ZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFz
c19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFBST1BfUkVGTEVDVEVEX0JPT0xFQU5fQVRUUiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKCJyZWZsZWN0ZWQtYm9v
bGVhbi1hdHRyIiwgLyogbmFtZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF9vYmpfcmVmbGVjdGVkLWJvb2xlYW4tYXR0
ciIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLXdyaXRlICBnYm9vbGVhbiBUZXN0
T2JqLnJlZmxlY3RlZC1ib29sZWFuLWF0dHIiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNv
bWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsIC8qIGRlZmF1bHQgKi8KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VC
S0lUX1BBUkFNX1JFQURXUklURSkpOwotICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVy
dHkoZ29iamVjdENsYXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJP
UF9SRUZMRUNURURfVVJMX0FUVFIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBnX3BhcmFtX3NwZWNfc3RyaW5nKCJyZWZsZWN0ZWQtdXJsLWF0dHIiLCAvKiBuYW1lICovCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0ZXN0X29ial9yZWZsZWN0ZWQtdXJsLWF0dHIiLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAicmVhZC13cml0ZSAgZ2NoYXIqIFRlc3RPYmoucmVmbGVjdGVkLXVybC1hdHRyIiwgLyogbG9u
Z2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIiLCAv
KiBkZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9j
bGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFBST1BfUkVGTEVDVEVEX1NUUklOR19BVFRSLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygicmVmbGVjdGVkLXN0
cmluZy1hdHRyIiwgLyogbmFtZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF9vYmpfcmVmbGVjdGVkLXN0cmluZy1hdHRy
IiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlYWQtd3JpdGUgIGdjaGFyKiBUZXN0T2Jq
LnJlZmxlY3RlZC1zdHJpbmctYXR0ciIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBl
eHRyYSBkb2Mgc3R1ZmYgaGVyZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiIiwgLyogZGVmYXVsdCAqLwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFS
QU1fUkVBRFdSSVRFKSk7Ci0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2Jq
ZWN0Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1JFRkxF
Q1RFRF9DVVNUT01fSU5URUdSQUxfQVRUUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdfcGFyYW1fc3BlY19sb25nKCJyZWZsZWN0ZWQtY3VzdG9tLWludGVncmFsLWF0dHIi
LCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0ZXN0X29ial9yZWZsZWN0ZWQtY3VzdG9tLWludGVncmFsLWF0dHIi
LCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVhZC13cml0ZSAgZ2xvbmcgVGVzdE9iai5y
ZWZsZWN0ZWQtY3VzdG9tLWludGVncmFsLWF0dHIiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRo
IHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19NSU5MT05HLCAvKiBtaW4gKi8KLUdf
TUFYTE9ORywgLyogbWF4ICovCi0wLCAvKiBkZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFE
V1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFz
cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfUkVGTEVDVEVEX0NV
U1RPTV9CT09MRUFOX0FUVFIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
X3BhcmFtX3NwZWNfYm9vbGVhbigicmVmbGVjdGVkLWN1c3RvbS1ib29sZWFuLWF0dHIiLCAvKiBu
YW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0ZXN0X29ial9yZWZsZWN0ZWQtY3VzdG9tLWJvb2xlYW4tYXR0ciIsIC8qIHNo
b3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJyZWFkLXdyaXRlICBnYm9vbGVhbiBUZXN0T2JqLnJlZmxl
Y3RlZC1jdXN0b20tYm9vbGVhbi1hdHRyIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21l
IGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLCAvKiBkZWZhdWx0ICovCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJ
VF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5
KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1Bf
UkVGTEVDVEVEX0NVU1RPTV9VUkxfQVRUUiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoInJlZmxlY3RlZC1jdXN0b20tdXJsLWF0dHIiLCAv
KiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0ZXN0X29ial9yZWZsZWN0ZWQtY3VzdG9tLXVybC1hdHRyIiwgLyogc2hv
cnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgInJlYWQtd3JpdGUgIGdjaGFyKiBUZXN0T2JqLnJlZmxlY3Rl
ZC1jdXN0b20tdXJsLWF0dHIiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEg
ZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIiIsIC8qIGRlZmF1bHQgKi8KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JF
QURXUklURSkpOwotICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENs
YXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9BVFRSX1dJVEhf
R0VUVEVSX0VYQ0VQVElPTiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdf
cGFyYW1fc3BlY19sb25nKCJhdHRyLXdpdGgtZ2V0dGVyLWV4Y2VwdGlvbiIsIC8qIG5hbWUgKi8K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInRlc3Rfb2JqX2F0dHItd2l0aC1nZXR0ZXItZXhjZXB0aW9uIiwgLyogc2hvcnQgZGVzY3Jp
cHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInJlYWQtd3JpdGUgIGdsb25nIFRlc3RPYmouYXR0ci13aXRoLWdldHRlci1l
eGNlcHRpb24iLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZm
IGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgR19NSU5MT05HLCAvKiBtaW4gKi8KLUdfTUFYTE9ORywgLyogbWF4ICovCi0w
LCAvKiBkZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVj
dF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFBST1BfQVRUUl9XSVRIX1NFVFRFUl9FWENFUFRJT04sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfbG9uZygiYXR0ci13
aXRoLXNldHRlci1leGNlcHRpb24iLCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X29ial9hdHRyLXdpdGgt
c2V0dGVyLWV4Y2VwdGlvbiIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLXdyaXRl
ICBnbG9uZyBUZXN0T2JqLmF0dHItd2l0aC1zZXR0ZXItZXhjZXB0aW9uIiwgLyogbG9uZ2VyIC0g
Y291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfTUlOTE9ORywg
LyogbWluICovCi1HX01BWExPTkcsIC8qIG1heCAqLwotMCwgLyogZGVmYXVsdCAqLwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJL
SVRfUEFSQU1fUkVBRFdSSVRFKSk7Ci0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0
eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9Q
X1NUUklOR19BVFRSX1dJVEhfR0VUVEVSX0VYQ0VQVElPTiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoInN0cmluZy1hdHRyLXdpdGgtZ2V0
dGVyLWV4Y2VwdGlvbiIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3Rfb2JqX3N0cmluZy1hdHRyLXdpdGgt
Z2V0dGVyLWV4Y2VwdGlvbiIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLXdyaXRl
ICBnY2hhciogVGVzdE9iai5zdHJpbmctYXR0ci13aXRoLWdldHRlci1leGNlcHRpb24iLCAvKiBs
b25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIs
IC8qIGRlZmF1bHQgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOwotICAgIGdfb2JqZWN0
X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUFJPUF9TVFJJTkdfQVRUUl9XSVRIX1NFVFRFUl9FWENFUFRJT04s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfc3RyaW5n
KCJzdHJpbmctYXR0ci13aXRoLXNldHRlci1leGNlcHRpb24iLCAvKiBuYW1lICovCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0
X29ial9zdHJpbmctYXR0ci13aXRoLXNldHRlci1leGNlcHRpb24iLCAvKiBzaG9ydCBkZXNjcmlw
dGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmVhZC13cml0ZSAgZ2NoYXIqIFRlc3RPYmouc3RyaW5nLWF0dHItd2l0aC1z
ZXR0ZXItZXhjZXB0aW9uIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRv
YyBzdHVmZiBoZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICIiLCAvKiBkZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFE
V1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFz
cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfV0lUSF9TQ1JJUFRf
U1RBVEVfQVRUUklCVVRFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19w
YXJhbV9zcGVjX2xvbmcoIndpdGgtc2NyaXB0LXN0YXRlLWF0dHJpYnV0ZSIsIC8qIG5hbWUgKi8K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInRlc3Rfb2JqX3dpdGgtc2NyaXB0LXN0YXRlLWF0dHJpYnV0ZSIsIC8qIHNob3J0IGRlc2Ny
aXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJyZWFkLXdyaXRlICBnbG9uZyBUZXN0T2JqLndpdGgtc2NyaXB0LXN0YXRl
LWF0dHJpYnV0ZSIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1
ZmYgaGVyZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBHX01JTkxPTkcsIC8qIG1pbiAqLwotR19NQVhMT05HLCAvKiBtYXggKi8K
LTAsIC8qIGRlZmF1bHQgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOwotICAgIGdfb2Jq
ZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUFJPUF9XSVRIX1NDUklQVF9FWEVDVVRJT05fQ09OVEVYVF9B
VFRSSUJVVEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3Nw
ZWNfb2JqZWN0KCJ3aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hdHRyaWJ1dGUiLCAvKiBu
YW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0ZXN0X29ial93aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hdHRyaWJ1
dGUiLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVhZC13cml0ZSAgV2ViS2l0RE9NVGVz
dE9iaiogVGVzdE9iai53aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hdHRyaWJ1dGUiLCAv
KiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
V0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLCAvKiBnb2JqZWN0IHR5cGUgKi8KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BB
UkFNX1JFQURXUklURSkpOwotICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29i
amVjdENsYXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9XSVRI
X1NDUklQVF9TVEFURV9BVFRSSUJVVEVfUkFJU0VTLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ19wYXJhbV9zcGVjX29iamVjdCgid2l0aC1zY3JpcHQtc3RhdGUtYXR0cmli
dXRlLXJhaXNlcyIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3Rfb2JqX3dpdGgtc2NyaXB0LXN0YXRlLWF0
dHJpYnV0ZS1yYWlzZXMiLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVhZC13cml0ZSAg
V2ViS2l0RE9NVGVzdE9iaiogVGVzdE9iai53aXRoLXNjcmlwdC1zdGF0ZS1hdHRyaWJ1dGUtcmFp
c2VzIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJl
ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFdFQktJVF9UWVBFX0RPTV9URVNUX09CSiwgLyogZ29iamVjdCB0eXBlICovCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdF
QktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3Bl
cnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBS
T1BfV0lUSF9TQ1JJUFRfRVhFQ1VUSU9OX0NPTlRFWFRfQVRUUklCVVRFX1JBSVNFUywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19vYmplY3QoIndpdGgt
c2NyaXB0LWV4ZWN1dGlvbi1jb250ZXh0LWF0dHJpYnV0ZS1yYWlzZXMiLCAvKiBuYW1lICovCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0ZXN0X29ial93aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hdHRyaWJ1dGUtcmFpc2Vz
IiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlYWQtd3JpdGUgIFdlYktpdERPTVRlc3RP
YmoqIFRlc3RPYmoud2l0aC1zY3JpcHQtZXhlY3V0aW9uLWNvbnRleHQtYXR0cmlidXRlLXJhaXNl
cyIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVyZSAq
LwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBXRUJLSVRfVFlQRV9ET01fVEVTVF9PQkosIC8qIGdvYmplY3QgdHlwZSAqLwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJL
SVRfUEFSQU1fUkVBRFdSSVRFKSk7Ci0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0
eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9Q
X1dJVEhfU0NSSVBUX0VYRUNVVElPTl9DT05URVhUX0FORF9TQ1JJUFRfU1RBVEVfQVRUUklCVVRF
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX29iamVj
dCgid2l0aC1zY3JpcHQtZXhlY3V0aW9uLWNvbnRleHQtYW5kLXNjcmlwdC1zdGF0ZS1hdHRyaWJ1
dGUiLCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0ZXN0X29ial93aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4
dC1hbmQtc2NyaXB0LXN0YXRlLWF0dHJpYnV0ZSIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJyZWFkLXdyaXRlICBXZWJLaXRET01UZXN0T2JqKiBUZXN0T2JqLndpdGgtc2NyaXB0LWV4ZWN1
dGlvbi1jb250ZXh0LWFuZC1zY3JpcHQtc3RhdGUtYXR0cmlidXRlIiwgLyogbG9uZ2VyIC0gY291
bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9UWVBFX0RP
TV9URVNUX09CSiwgLyogZ29iamVjdCB0eXBlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUp
KTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfV0lUSF9TQ1JJUFRfRVhFQ1VU
SU9OX0NPTlRFWFRfQU5EX1NDUklQVF9TVEFURV9BVFRSSUJVVEVfUkFJU0VTLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX29iamVjdCgid2l0aC1zY3Jp
cHQtZXhlY3V0aW9uLWNvbnRleHQtYW5kLXNjcmlwdC1zdGF0ZS1hdHRyaWJ1dGUtcmFpc2VzIiwg
LyogbmFtZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAidGVzdF9vYmpfd2l0aC1zY3JpcHQtZXhlY3V0aW9uLWNvbnRleHQtYW5k
LXNjcmlwdC1zdGF0ZS1hdHRyaWJ1dGUtcmFpc2VzIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInJlYWQtd3JpdGUgIFdlYktpdERPTVRlc3RPYmoqIFRlc3RPYmoud2l0aC1zY3JpcHQtZXhl
Y3V0aW9uLWNvbnRleHQtYW5kLXNjcmlwdC1zdGF0ZS1hdHRyaWJ1dGUtcmFpc2VzIiwgLyogbG9u
Z2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJ
VF9UWVBFX0RPTV9URVNUX09CSiwgLyogZ29iamVjdCB0eXBlICovCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9S
RUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RD
bGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfV0lUSF9TQ1JJ
UFRfRVhFQ1VUSU9OX0NPTlRFWFRfQU5EX1NDUklQVF9TVEFURV9XSVRIX1NQQUNFU19BVFRSSUJV
VEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfb2Jq
ZWN0KCJ3aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hbmQtc2NyaXB0LXN0YXRlLXdpdGgt
c3BhY2VzLWF0dHJpYnV0ZSIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3Rfb2JqX3dpdGgtc2NyaXB0LWV4
ZWN1dGlvbi1jb250ZXh0LWFuZC1zY3JpcHQtc3RhdGUtd2l0aC1zcGFjZXMtYXR0cmlidXRlIiwg
Lyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlYWQtd3JpdGUgIFdlYktpdERPTVRlc3RPYmoq
IFRlc3RPYmoud2l0aC1zY3JpcHQtZXhlY3V0aW9uLWNvbnRleHQtYW5kLXNjcmlwdC1zdGF0ZS13
aXRoLXNwYWNlcy1hdHRyaWJ1dGUiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0
cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLCAvKiBnb2Jq
ZWN0IHR5cGUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOwotICAgIGdfb2JqZWN0X2Ns
YXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgUFJPUF9XSVRIX1NDUklQVF9BUkdVTUVOVFNfQU5EX0NBTExfU1RBQ0tf
QVRUUklCVVRFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9z
cGVjX29iamVjdCgid2l0aC1zY3JpcHQtYXJndW1lbnRzLWFuZC1jYWxsLXN0YWNrLWF0dHJpYnV0
ZSIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgInRlc3Rfb2JqX3dpdGgtc2NyaXB0LWFyZ3VtZW50cy1hbmQtY2Fs
bC1zdGFjay1hdHRyaWJ1dGUiLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVhZC13cml0
ZSAgV2ViS2l0RE9NVGVzdE9iaiogVGVzdE9iai53aXRoLXNjcmlwdC1hcmd1bWVudHMtYW5kLWNh
bGwtc3RhY2stYXR0cmlidXRlIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJh
IGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9UWVBFX0RPTV9URVNUX09CSiwgLyogZ29iamVj
dCB0eXBlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFz
c19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFBST1BfQ09ORElUSU9OQUxfQVRUUjEsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfbG9uZygiY29uZGl0aW9uYWwtYXR0cjEiLCAv
KiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJ0ZXN0X29ial9jb25kaXRpb25hbC1hdHRyMSIsIC8qIHNob3J0IGRlc2Ny
aXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJyZWFkLXdyaXRlICBnbG9uZyBUZXN0T2JqLmNvbmRpdGlvbmFsLWF0dHIx
IiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICov
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdfTUlOTE9ORywgLyogbWluICovCi1HX01BWExPTkcsIC8qIG1heCAqLwotMCwgLyogZGVm
YXVsdCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7Ci0gICAgZ19vYmplY3RfY2xhc3Nf
aW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBQUk9QX0NPTkRJVElPTkFMX0FUVFIyLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX2xvbmcoImNvbmRpdGlvbmFsLWF0dHIyIiwgLyog
bmFtZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAidGVzdF9vYmpfY29uZGl0aW9uYWwtYXR0cjIiLCAvKiBzaG9ydCBkZXNjcmlw
dGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmVhZC13cml0ZSAgZ2xvbmcgVGVzdE9iai5jb25kaXRpb25hbC1hdHRyMiIs
IC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVyZSAqLwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBHX01JTkxPTkcsIC8qIG1pbiAqLwotR19NQVhMT05HLCAvKiBtYXggKi8KLTAsIC8qIGRlZmF1
bHQgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOwotICAgIGdfb2JqZWN0X2NsYXNzX2lu
c3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUFJPUF9DT05ESVRJT05BTF9BVFRSMywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19sb25nKCJjb25kaXRpb25hbC1hdHRyMyIsIC8qIG5h
bWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInRlc3Rfb2JqX2NvbmRpdGlvbmFsLWF0dHIzIiwgLyogc2hvcnQgZGVzY3JpcHRp
b24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInJlYWQtd3JpdGUgIGdsb25nIFRlc3RPYmouY29uZGl0aW9uYWwtYXR0cjMiLCAv
KiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
R19NSU5MT05HLCAvKiBtaW4gKi8KLUdfTUFYTE9ORywgLyogbWF4ICovCi0wLCAvKiBkZWZhdWx0
ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0
YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFBST1BfQU5ZX0FUVFJJQlVURSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGdfcGFyYW1fc3BlY19vYmplY3QoImFueS1hdHRyaWJ1dGUiLCAvKiBuYW1lICovCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0ZXN0X29ial9hbnktYXR0cmlidXRlIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJl
YWQtd3JpdGUgIFdlYktpdERPTWFueSogVGVzdE9iai5hbnktYXR0cmlidXRlIiwgLyogbG9uZ2Vy
IC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9U
WVBFX0RPTV9BTlksIC8qIGdvYmplY3QgdHlwZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRF
KSk7Ci0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX0NPTlRFTlRfRE9DVU1FTlQs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfb2JqZWN0
KCJjb250ZW50LWRvY3VtZW50IiwgLyogbmFtZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF9vYmpfY29udGVudC1kb2N1
bWVudCIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLW9ubHkgIFdlYktpdERPTURv
Y3VtZW50KiBUZXN0T2JqLmNvbnRlbnQtZG9jdW1lbnQiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3
aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX0RPQ1VN
RU5ULCAvKiBnb2JqZWN0IHR5cGUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7Ci0gICAg
Z19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX01VVEFCTEVfUE9JTlQsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfb2JqZWN0KCJtdXRhYmxlLXBv
aW50IiwgLyogbmFtZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAidGVzdF9vYmpfbXV0YWJsZS1wb2ludCIsIC8qIHNob3J0IGRl
c2NyaXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJyZWFkLXdyaXRlICBXZWJLaXRET01TVkdQb2ludCogVGVzdE9iai5t
dXRhYmxlLXBvaW50IiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBz
dHVmZiBoZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFdFQktJVF9UWVBFX0RPTV9TVkdfUE9JTlQsIC8qIGdvYmplY3QgdHlw
ZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7Ci0gICAgZ19vYmplY3RfY2xhc3NfaW5z
dGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBQUk9QX0lNTVVUQUJMRV9QT0lOVCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGdfcGFyYW1fc3BlY19vYmplY3QoImltbXV0YWJsZS1wb2ludCIsIC8qIG5hbWUg
Ki8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInRlc3Rfb2JqX2ltbXV0YWJsZS1wb2ludCIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICov
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJyZWFkLXdyaXRlICBXZWJLaXRET01TVkdQb2ludCogVGVzdE9iai5pbW11dGFibGUtcG9p
bnQiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUg
Ki8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgV0VCS0lUX1RZUEVfRE9NX1NWR19QT0lOVCwgLyogZ29iamVjdCB0eXBlICovCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdF
QktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3Bl
cnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBS
T1BfU1RSQVdCRVJSWSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFy
YW1fc3BlY19sb25nKCJzdHJhd2JlcnJ5IiwgLyogbmFtZSAqLwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF9vYmpfc3RyYXdi
ZXJyeSIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLXdyaXRlICBnbG9uZyBUZXN0
T2JqLnN0cmF3YmVycnkiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9j
IHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR19NSU5MT05HLCAvKiBtaW4gKi8KLUdfTUFYTE9ORywgLyogbWF4
ICovCi0wLCAvKiBkZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBn
X29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfU1RSSUNUX0ZMT0FULAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX2Zsb2F0KCJzdHJpY3QtZmxvYXQi
LCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICJ0ZXN0X29ial9zdHJpY3QtZmxvYXQiLCAvKiBzaG9ydCBkZXNjcmlw
dGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmVhZC13cml0ZSAgZ2Zsb2F0IFRlc3RPYmouc3RyaWN0LWZsb2F0IiwgLyog
bG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1H
X01BWEZMT0FULCAvKiBtaW4gKi8KLUdfTUFYRkxPQVQsIC8qIG1heCAqLwotMC4wLCAvKiBkZWZh
dWx0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19p
bnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFBST1BfREVTQ1JJUFRJT04sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBnX3BhcmFtX3NwZWNfbG9uZygiZGVzY3JpcHRpb24iLCAvKiBuYW1lICovCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0
ZXN0X29ial9kZXNjcmlwdGlvbiIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLW9u
bHkgIGdsb25nIFRlc3RPYmouZGVzY3JpcHRpb24iLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRo
IHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19NSU5MT05HLCAvKiBtaW4gKi8KLUdf
TUFYTE9ORywgLyogbWF4ICovCi0wLCAvKiBkZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFE
QUJMRSkpOwotICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNz
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9JRCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19sb25nKCJpZCIsIC8qIG5h
bWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInRlc3Rfb2JqX2lkIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlYWQt
d3JpdGUgIGdsb25nIFRlc3RPYmouaWQiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUg
ZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgR19NSU5MT05HLCAvKiBtaW4gKi8KLUdfTUFYTE9O
RywgLyogbWF4ICovCi0wLCAvKiBkZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUp
KTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfSEFTSCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoImhhc2giLCAvKiBu
YW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ0ZXN0X29ial9oYXNoIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJl
YWQtb25seSAgZ2NoYXIqIFRlc3RPYmouaGFzaCIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGgg
c29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVyZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIiwgLyogZGVmYXVsdCAqLwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJL
SVRfUEFSQU1fUkVBREFCTEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5
KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1Bf
UkVQTEFDRUFCTEVfQVRUUklCVVRFLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ19wYXJhbV9zcGVjX2xvbmcoInJlcGxhY2VhYmxlLWF0dHJpYnV0ZSIsIC8qIG5hbWUgKi8K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgInRlc3Rfb2JqX3JlcGxhY2VhYmxlLWF0dHJpYnV0ZSIsIC8qIHNob3J0IGRlc2NyaXB0aW9u
ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJyZWFkLW9ubHkgIGdsb25nIFRlc3RPYmoucmVwbGFjZWFibGUtYXR0cmlidXRlIiwg
LyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEdfTUlOTE9ORywgLyogbWluICovCi1HX01BWExPTkcsIC8qIG1heCAqLwotMCwgLyogZGVmYXVs
dCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBXRUJLSVRfUEFSQU1fUkVBREFCTEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0
YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFBST1BfTlVMTEFCTEVfRE9VQkxFX0FUVFJJQlVURSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19kb3VibGUoIm51bGxhYmxlLWRvdWJsZS1h
dHRyaWJ1dGUiLCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X29ial9udWxsYWJsZS1kb3VibGUtYXR0cmli
dXRlIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlYWQtb25seSAgZ2RvdWJsZSBUZXN0
T2JqLm51bGxhYmxlLWRvdWJsZS1hdHRyaWJ1dGUiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRo
IHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLUdfTUFYRE9VQkxFLCAvKiBtaW4gKi8K
LUdfTUFYRE9VQkxFLCAvKiBtYXggKi8KLTAuMCwgLyogZGVmYXVsdCAqLwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFS
QU1fUkVBREFCTEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmpl
Y3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfTlVMTEFC
TEVfTE9OR19BVFRSSUJVVEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBn
X3BhcmFtX3NwZWNfbG9uZygibnVsbGFibGUtbG9uZy1hdHRyaWJ1dGUiLCAvKiBuYW1lICovCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ0ZXN0X29ial9udWxsYWJsZS1sb25nLWF0dHJpYnV0ZSIsIC8qIHNob3J0IGRlc2NyaXB0aW9u
ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICJyZWFkLW9ubHkgIGdsb25nIFRlc3RPYmoubnVsbGFibGUtbG9uZy1hdHRyaWJ1dGUi
LCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR19NSU5MT05HLCAvKiBtaW4gKi8KLUdfTUFYTE9ORywgLyogbWF4ICovCi0wLCAvKiBkZWZh
dWx0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOwotICAgIGdfb2JqZWN0X2NsYXNzX2lu
c3RhbGxfcHJvcGVydHkoZ29iamVjdENsYXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUFJPUF9OVUxMQUJMRV9CT09MRUFOX0FUVFJJQlVURSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKCJudWxsYWJsZS1ib29s
ZWFuLWF0dHJpYnV0ZSIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3Rfb2JqX251bGxhYmxlLWJvb2xlYW4t
YXR0cmlidXRlIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlYWQtb25seSAgZ2Jvb2xl
YW4gVGVzdE9iai5udWxsYWJsZS1ib29sZWFuLWF0dHJpYnV0ZSIsIC8qIGxvbmdlciAtIGNvdWxk
IGRvIHdpdGggc29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVyZSAqLwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwgLyogZGVmYXVs
dCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBXRUJLSVRfUEFSQU1fUkVBREFCTEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0
YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFBST1BfTlVMTEFCTEVfU1RSSU5HX0FUVFJJQlVURSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoIm51bGxhYmxlLXN0cmluZy1h
dHRyaWJ1dGUiLCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X29ial9udWxsYWJsZS1zdHJpbmctYXR0cmli
dXRlIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlYWQtb25seSAgZ2NoYXIqIFRlc3RP
YmoubnVsbGFibGUtc3RyaW5nLWF0dHJpYnV0ZSIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGgg
c29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVyZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIiwgLyogZGVmYXVsdCAqLwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJL
SVRfUEFSQU1fUkVBREFCTEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5
KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1Bf
TlVMTEFCTEVfTE9OR19TRVRUQUJMRV9BVFRSSUJVVEUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfbG9uZygibnVsbGFibGUtbG9uZy1zZXR0YWJsZS1h
dHRyaWJ1dGUiLCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X29ial9udWxsYWJsZS1sb25nLXNldHRhYmxl
LWF0dHJpYnV0ZSIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLXdyaXRlICBnbG9u
ZyBUZXN0T2JqLm51bGxhYmxlLWxvbmctc2V0dGFibGUtYXR0cmlidXRlIiwgLyogbG9uZ2VyIC0g
Y291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdfTUlOTE9ORywg
LyogbWluICovCi1HX01BWExPTkcsIC8qIG1heCAqLwotMCwgLyogZGVmYXVsdCAqLwotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJL
SVRfUEFSQU1fUkVBRFdSSVRFKSk7Ci0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0
eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9Q
X05VTExBQkxFX1NUUklOR19WQUxVRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGdfcGFyYW1fc3BlY19sb25nKCJudWxsYWJsZS1zdHJpbmctdmFsdWUiLCAvKiBuYW1lICov
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJ0ZXN0X29ial9udWxsYWJsZS1zdHJpbmctdmFsdWUiLCAvKiBzaG9ydCBkZXNjcmlwdGlv
biAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAicmVhZC13cml0ZSAgZ2xvbmcgVGVzdE9iai5udWxsYWJsZS1zdHJpbmctdmFsdWUi
LCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8K
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgR19NSU5MT05HLCAvKiBtaW4gKi8KLUdfTUFYTE9ORywgLyogbWF4ICovCi0wLCAvKiBkZWZh
dWx0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKyAgICBnX29iamVjdF9jbGFzc19p
bnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfUkVB
RF9PTkxZX0xPTkdfQVRUUiwKKyAgICAgICAgZ19wYXJhbV9zcGVjX2xvbmcoCisgICAgICAgICAg
ICAicmVhZC1vbmx5LWxvbmctYXR0ciIsCisgICAgICAgICAgICAiVGVzdE9iajpyZWFkLW9ubHkt
bG9uZy1hdHRyIiwKKyAgICAgICAgICAgICJyZWFkLW9ubHkgZ2xvbmcgVGVzdE9iajpyZWFkLW9u
bHktbG9uZy1hdHRyIiwKKyAgICAgICAgICAgIEdfTUlOTE9ORywgR19NQVhMT05HLCAwLAorICAg
ICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19p
bnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfUkVB
RF9PTkxZX1NUUklOR19BVFRSLAorICAgICAgICBnX3BhcmFtX3NwZWNfc3RyaW5nKAorICAgICAg
ICAgICAgInJlYWQtb25seS1zdHJpbmctYXR0ciIsCisgICAgICAgICAgICAiVGVzdE9iajpyZWFk
LW9ubHktc3RyaW5nLWF0dHIiLAorICAgICAgICAgICAgInJlYWQtb25seSBnY2hhciogVGVzdE9i
ajpyZWFkLW9ubHktc3RyaW5nLWF0dHIiLAorICAgICAgICAgICAgIiIsCisgICAgICAgICAgICBX
RUJLSVRfUEFSQU1fUkVBREFCTEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJv
cGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9SRUFEX09OTFlfVEVT
VF9PQkpfQVRUUiwKKyAgICAgICAgZ19wYXJhbV9zcGVjX29iamVjdCgKKyAgICAgICAgICAgICJy
ZWFkLW9ubHktdGVzdC1vYmotYXR0ciIsCisgICAgICAgICAgICAiVGVzdE9iajpyZWFkLW9ubHkt
dGVzdC1vYmotYXR0ciIsCisgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERPTVRlc3RPYmoq
IFRlc3RPYmo6cmVhZC1vbmx5LXRlc3Qtb2JqLWF0dHIiLAorICAgICAgICAgICAgV0VCS0lUX1RZ
UEVfRE9NX1RFU1RfT0JKLAorICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CisK
KyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xh
c3MsCisgICAgICAgIFBST1BfQllURV9BVFRSLAorICAgICAgICBnX3BhcmFtX3NwZWNfaW50OCgK
KyAgICAgICAgICAgICJieXRlLWF0dHIiLAorICAgICAgICAgICAgIlRlc3RPYmo6Ynl0ZS1hdHRy
IiwKKyAgICAgICAgICAgICJyZWFkLW9ubHkgZ2ludDggVGVzdE9iajpieXRlLWF0dHIiLAorICAg
ICAgICAgICAgR19NSU5JTlQ4LCBHX01BWElOVDgsIDAsCisgICAgICAgICAgICBXRUJLSVRfUEFS
QU1fUkVBRFdSSVRFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KAor
ICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfT0NURVRfQVRUUiwKKyAgICAgICAg
Z19wYXJhbV9zcGVjX3VpbnQ4KAorICAgICAgICAgICAgIm9jdGV0LWF0dHIiLAorICAgICAgICAg
ICAgIlRlc3RPYmo6b2N0ZXQtYXR0ciIsCisgICAgICAgICAgICAicmVhZC1vbmx5IGd1aW50OCBU
ZXN0T2JqOm9jdGV0LWF0dHIiLAorICAgICAgICAgICAgMCwgR19NQVhVSU5UOCwgMCwKKyAgICAg
ICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2lu
c3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9TSE9S
VF9BVFRSLAorICAgICAgICBnX3BhcmFtX3NwZWNfaW50KAorICAgICAgICAgICAgInNob3J0LWF0
dHIiLAorICAgICAgICAgICAgIlRlc3RPYmo6c2hvcnQtYXR0ciIsCisgICAgICAgICAgICAicmVh
ZC1vbmx5IGdzaG9ydCBUZXN0T2JqOnNob3J0LWF0dHIiLAorICAgICAgICAgICAgR19NSU5JTlQs
IEdfTUFYSU5ULCAwLAorICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOworCisg
ICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgKKyAgICAgICAgZ29iamVjdENsYXNz
LAorICAgICAgICBQUk9QX1VOU0lHTkVEX1NIT1JUX0FUVFIsCisgICAgICAgIGdfcGFyYW1fc3Bl
Y191aW50KAorICAgICAgICAgICAgInVuc2lnbmVkLXNob3J0LWF0dHIiLAorICAgICAgICAgICAg
IlRlc3RPYmo6dW5zaWduZWQtc2hvcnQtYXR0ciIsCisgICAgICAgICAgICAicmVhZC1vbmx5IGd1
c2hvcnQgVGVzdE9iajp1bnNpZ25lZC1zaG9ydC1hdHRyIiwKKyAgICAgICAgICAgIDAsIEdfTUFY
VUlOVCwgMCwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdf
b2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAg
ICAgICAgUFJPUF9MT05HX0FUVFIsCisgICAgICAgIGdfcGFyYW1fc3BlY19sb25nKAorICAgICAg
ICAgICAgImxvbmctYXR0ciIsCisgICAgICAgICAgICAiVGVzdE9iajpsb25nLWF0dHIiLAorICAg
ICAgICAgICAgInJlYWQtb25seSBnbG9uZyBUZXN0T2JqOmxvbmctYXR0ciIsCisgICAgICAgICAg
ICBHX01JTkxPTkcsIEdfTUFYTE9ORywgMCwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFE
V1JJVEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAg
IGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9MT05HX0xPTkdfQVRUUiwKKyAgICAgICAgZ19w
YXJhbV9zcGVjX2ludDY0KAorICAgICAgICAgICAgImxvbmctbG9uZy1hdHRyIiwKKyAgICAgICAg
ICAgICJUZXN0T2JqOmxvbmctbG9uZy1hdHRyIiwKKyAgICAgICAgICAgICJyZWFkLW9ubHkgZ2lu
dDY0IFRlc3RPYmo6bG9uZy1sb25nLWF0dHIiLAorICAgICAgICAgICAgR19NSU5JTlQ2NCwgR19N
QVhJTlQ2NCwgMCwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAg
IGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywK
KyAgICAgICAgUFJPUF9VTlNJR05FRF9MT05HX0xPTkdfQVRUUiwKKyAgICAgICAgZ19wYXJhbV9z
cGVjX3VpbnQ2NCgKKyAgICAgICAgICAgICJ1bnNpZ25lZC1sb25nLWxvbmctYXR0ciIsCisgICAg
ICAgICAgICAiVGVzdE9iajp1bnNpZ25lZC1sb25nLWxvbmctYXR0ciIsCisgICAgICAgICAgICAi
cmVhZC1vbmx5IGd1aW50NjQgVGVzdE9iajp1bnNpZ25lZC1sb25nLWxvbmctYXR0ciIsCisgICAg
ICAgICAgICAwLCBHX01BWFVJTlQ2NCwgMCwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFE
V1JJVEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAg
IGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9TVFJJTkdfQVRUUiwKKyAgICAgICAgZ19wYXJh
bV9zcGVjX3N0cmluZygKKyAgICAgICAgICAgICJzdHJpbmctYXR0ciIsCisgICAgICAgICAgICAi
VGVzdE9iajpzdHJpbmctYXR0ciIsCisgICAgICAgICAgICAicmVhZC1vbmx5IGdjaGFyKiBUZXN0
T2JqOnN0cmluZy1hdHRyIiwKKyAgICAgICAgICAgICIiLAorICAgICAgICAgICAgV0VCS0lUX1BB
UkFNX1JFQURXUklURSkpOworCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgK
KyAgICAgICAgZ29iamVjdENsYXNzLAorICAgICAgICBQUk9QX1RFU1RfT0JKX0FUVFIsCisgICAg
ICAgIGdfcGFyYW1fc3BlY19vYmplY3QoCisgICAgICAgICAgICAidGVzdC1vYmotYXR0ciIsCisg
ICAgICAgICAgICAiVGVzdE9iajp0ZXN0LW9iai1hdHRyIiwKKyAgICAgICAgICAgICJyZWFkLW9u
bHkgV2ViS2l0RE9NVGVzdE9iaiogVGVzdE9iajp0ZXN0LW9iai1hdHRyIiwKKyAgICAgICAgICAg
IFdFQktJVF9UWVBFX0RPTV9URVNUX09CSiwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFE
V1JJVEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAg
IGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9YTUxfT0JKX0FUVFIsCisgICAgICAgIGdfcGFy
YW1fc3BlY19vYmplY3QoCisgICAgICAgICAgICAieG1sLW9iai1hdHRyIiwKKyAgICAgICAgICAg
ICJUZXN0T2JqOnhtbC1vYmotYXR0ciIsCisgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERP
TVRlc3RPYmoqIFRlc3RPYmo6eG1sLW9iai1hdHRyIiwKKyAgICAgICAgICAgIFdFQktJVF9UWVBF
X0RPTV9URVNUX09CSiwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKwor
ICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFz
cywKKyAgICAgICAgUFJPUF9DUkVBVEUsCisgICAgICAgIGdfcGFyYW1fc3BlY19ib29sZWFuKAor
ICAgICAgICAgICAgImNyZWF0ZSIsCisgICAgICAgICAgICAiVGVzdE9iajpjcmVhdGUiLAorICAg
ICAgICAgICAgInJlYWQtb25seSBnYm9vbGVhbiBUZXN0T2JqOmNyZWF0ZSIsCisgICAgICAgICAg
ICBGQUxTRSwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdf
b2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAg
ICAgICAgUFJPUF9SRUZMRUNURURfU1RSSU5HX0FUVFIsCisgICAgICAgIGdfcGFyYW1fc3BlY19z
dHJpbmcoCisgICAgICAgICAgICAicmVmbGVjdGVkLXN0cmluZy1hdHRyIiwKKyAgICAgICAgICAg
ICJUZXN0T2JqOnJlZmxlY3RlZC1zdHJpbmctYXR0ciIsCisgICAgICAgICAgICAicmVhZC1vbmx5
IGdjaGFyKiBUZXN0T2JqOnJlZmxlY3RlZC1zdHJpbmctYXR0ciIsCisgICAgICAgICAgICAiIiwK
KyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdfb2JqZWN0X2Ns
YXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJP
UF9SRUZMRUNURURfSU5URUdSQUxfQVRUUiwKKyAgICAgICAgZ19wYXJhbV9zcGVjX2xvbmcoCisg
ICAgICAgICAgICAicmVmbGVjdGVkLWludGVncmFsLWF0dHIiLAorICAgICAgICAgICAgIlRlc3RP
Ymo6cmVmbGVjdGVkLWludGVncmFsLWF0dHIiLAorICAgICAgICAgICAgInJlYWQtb25seSBnbG9u
ZyBUZXN0T2JqOnJlZmxlY3RlZC1pbnRlZ3JhbC1hdHRyIiwKKyAgICAgICAgICAgIEdfTUlOTE9O
RywgR19NQVhMT05HLCAwLAorICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOwor
CisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgKKyAgICAgICAgZ29iamVjdENs
YXNzLAorICAgICAgICBQUk9QX1JFRkxFQ1RFRF9VTlNJR05FRF9JTlRFR1JBTF9BVFRSLAorICAg
ICAgICBnX3BhcmFtX3NwZWNfdWxvbmcoCisgICAgICAgICAgICAicmVmbGVjdGVkLXVuc2lnbmVk
LWludGVncmFsLWF0dHIiLAorICAgICAgICAgICAgIlRlc3RPYmo6cmVmbGVjdGVkLXVuc2lnbmVk
LWludGVncmFsLWF0dHIiLAorICAgICAgICAgICAgInJlYWQtb25seSBndWxvbmcgVGVzdE9iajpy
ZWZsZWN0ZWQtdW5zaWduZWQtaW50ZWdyYWwtYXR0ciIsCisgICAgICAgICAgICAwLCBHX01BWFVM
T05HLCAwLAorICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOworCisgICAgZ19v
YmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgKKyAgICAgICAgZ29iamVjdENsYXNzLAorICAg
ICAgICBQUk9QX1JFRkxFQ1RFRF9CT09MRUFOX0FUVFIsCisgICAgICAgIGdfcGFyYW1fc3BlY19i
b29sZWFuKAorICAgICAgICAgICAgInJlZmxlY3RlZC1ib29sZWFuLWF0dHIiLAorICAgICAgICAg
ICAgIlRlc3RPYmo6cmVmbGVjdGVkLWJvb2xlYW4tYXR0ciIsCisgICAgICAgICAgICAicmVhZC1v
bmx5IGdib29sZWFuIFRlc3RPYmo6cmVmbGVjdGVkLWJvb2xlYW4tYXR0ciIsCisgICAgICAgICAg
ICBGQUxTRSwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdf
b2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAg
ICAgICAgUFJPUF9SRUZMRUNURURfVVJMX0FUVFIsCisgICAgICAgIGdfcGFyYW1fc3BlY19zdHJp
bmcoCisgICAgICAgICAgICAicmVmbGVjdGVkLXVybC1hdHRyIiwKKyAgICAgICAgICAgICJUZXN0
T2JqOnJlZmxlY3RlZC11cmwtYXR0ciIsCisgICAgICAgICAgICAicmVhZC1vbmx5IGdjaGFyKiBU
ZXN0T2JqOnJlZmxlY3RlZC11cmwtYXR0ciIsCisgICAgICAgICAgICAiIiwKKyAgICAgICAgICAg
IFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxf
cHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9SRUZMRUNURURf
U1RSSU5HX0FUVFIsCisgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoCisgICAgICAgICAgICAi
cmVmbGVjdGVkLXN0cmluZy1hdHRyIiwKKyAgICAgICAgICAgICJUZXN0T2JqOnJlZmxlY3RlZC1z
dHJpbmctYXR0ciIsCisgICAgICAgICAgICAicmVhZC1vbmx5IGdjaGFyKiBUZXN0T2JqOnJlZmxl
Y3RlZC1zdHJpbmctYXR0ciIsCisgICAgICAgICAgICAiIiwKKyAgICAgICAgICAgIFdFQktJVF9Q
QVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHko
CisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9SRUZMRUNURURfQ1VTVE9NX0lO
VEVHUkFMX0FUVFIsCisgICAgICAgIGdfcGFyYW1fc3BlY19sb25nKAorICAgICAgICAgICAgInJl
ZmxlY3RlZC1jdXN0b20taW50ZWdyYWwtYXR0ciIsCisgICAgICAgICAgICAiVGVzdE9iajpyZWZs
ZWN0ZWQtY3VzdG9tLWludGVncmFsLWF0dHIiLAorICAgICAgICAgICAgInJlYWQtb25seSBnbG9u
ZyBUZXN0T2JqOnJlZmxlY3RlZC1jdXN0b20taW50ZWdyYWwtYXR0ciIsCisgICAgICAgICAgICBH
X01JTkxPTkcsIEdfTUFYTE9ORywgMCwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJ
VEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdv
YmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9SRUZMRUNURURfQ1VTVE9NX0JPT0xFQU5fQVRUUiwK
KyAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4oCisgICAgICAgICAgICAicmVmbGVjdGVkLWN1
c3RvbS1ib29sZWFuLWF0dHIiLAorICAgICAgICAgICAgIlRlc3RPYmo6cmVmbGVjdGVkLWN1c3Rv
bS1ib29sZWFuLWF0dHIiLAorICAgICAgICAgICAgInJlYWQtb25seSBnYm9vbGVhbiBUZXN0T2Jq
OnJlZmxlY3RlZC1jdXN0b20tYm9vbGVhbi1hdHRyIiwKKyAgICAgICAgICAgIEZBTFNFLAorICAg
ICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOworCisgICAgZ19vYmplY3RfY2xhc3Nf
aW5zdGFsbF9wcm9wZXJ0eSgKKyAgICAgICAgZ29iamVjdENsYXNzLAorICAgICAgICBQUk9QX1JF
RkxFQ1RFRF9DVVNUT01fVVJMX0FUVFIsCisgICAgICAgIGdfcGFyYW1fc3BlY19zdHJpbmcoCisg
ICAgICAgICAgICAicmVmbGVjdGVkLWN1c3RvbS11cmwtYXR0ciIsCisgICAgICAgICAgICAiVGVz
dE9iajpyZWZsZWN0ZWQtY3VzdG9tLXVybC1hdHRyIiwKKyAgICAgICAgICAgICJyZWFkLW9ubHkg
Z2NoYXIqIFRlc3RPYmo6cmVmbGVjdGVkLWN1c3RvbS11cmwtYXR0ciIsCisgICAgICAgICAgICAi
IiwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdfb2JqZWN0
X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAg
UFJPUF9BVFRSX1dJVEhfR0VUVEVSX0VYQ0VQVElPTiwKKyAgICAgICAgZ19wYXJhbV9zcGVjX2xv
bmcoCisgICAgICAgICAgICAiYXR0ci13aXRoLWdldHRlci1leGNlcHRpb24iLAorICAgICAgICAg
ICAgIlRlc3RPYmo6YXR0ci13aXRoLWdldHRlci1leGNlcHRpb24iLAorICAgICAgICAgICAgInJl
YWQtb25seSBnbG9uZyBUZXN0T2JqOmF0dHItd2l0aC1nZXR0ZXItZXhjZXB0aW9uIiwKKyAgICAg
ICAgICAgIEdfTUlOTE9ORywgR19NQVhMT05HLCAwLAorICAgICAgICAgICAgV0VCS0lUX1BBUkFN
X1JFQURXUklURSkpOworCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgKKyAg
ICAgICAgZ29iamVjdENsYXNzLAorICAgICAgICBQUk9QX0FUVFJfV0lUSF9TRVRURVJfRVhDRVBU
SU9OLAorICAgICAgICBnX3BhcmFtX3NwZWNfbG9uZygKKyAgICAgICAgICAgICJhdHRyLXdpdGgt
c2V0dGVyLWV4Y2VwdGlvbiIsCisgICAgICAgICAgICAiVGVzdE9iajphdHRyLXdpdGgtc2V0dGVy
LWV4Y2VwdGlvbiIsCisgICAgICAgICAgICAicmVhZC1vbmx5IGdsb25nIFRlc3RPYmo6YXR0ci13
aXRoLXNldHRlci1leGNlcHRpb24iLAorICAgICAgICAgICAgR19NSU5MT05HLCBHX01BWExPTkcs
IDAsCisgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CisKKyAgICBnX29iamVj
dF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAg
IFBST1BfU1RSSU5HX0FUVFJfV0lUSF9HRVRURVJfRVhDRVBUSU9OLAorICAgICAgICBnX3BhcmFt
X3NwZWNfc3RyaW5nKAorICAgICAgICAgICAgInN0cmluZy1hdHRyLXdpdGgtZ2V0dGVyLWV4Y2Vw
dGlvbiIsCisgICAgICAgICAgICAiVGVzdE9iajpzdHJpbmctYXR0ci13aXRoLWdldHRlci1leGNl
cHRpb24iLAorICAgICAgICAgICAgInJlYWQtb25seSBnY2hhciogVGVzdE9iajpzdHJpbmctYXR0
ci13aXRoLWdldHRlci1leGNlcHRpb24iLAorICAgICAgICAgICAgIiIsCisgICAgICAgICAgICBX
RUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3By
b3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfU1RSSU5HX0FUVFJf
V0lUSF9TRVRURVJfRVhDRVBUSU9OLAorICAgICAgICBnX3BhcmFtX3NwZWNfc3RyaW5nKAorICAg
ICAgICAgICAgInN0cmluZy1hdHRyLXdpdGgtc2V0dGVyLWV4Y2VwdGlvbiIsCisgICAgICAgICAg
ICAiVGVzdE9iajpzdHJpbmctYXR0ci13aXRoLXNldHRlci1leGNlcHRpb24iLAorICAgICAgICAg
ICAgInJlYWQtb25seSBnY2hhciogVGVzdE9iajpzdHJpbmctYXR0ci13aXRoLXNldHRlci1leGNl
cHRpb24iLAorICAgICAgICAgICAgIiIsCisgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdS
SVRFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBn
b2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfV0lUSF9TQ1JJUFRfU1RBVEVfQVRUUklCVVRFLAor
ICAgICAgICBnX3BhcmFtX3NwZWNfbG9uZygKKyAgICAgICAgICAgICJ3aXRoLXNjcmlwdC1zdGF0
ZS1hdHRyaWJ1dGUiLAorICAgICAgICAgICAgIlRlc3RPYmo6d2l0aC1zY3JpcHQtc3RhdGUtYXR0
cmlidXRlIiwKKyAgICAgICAgICAgICJyZWFkLW9ubHkgZ2xvbmcgVGVzdE9iajp3aXRoLXNjcmlw
dC1zdGF0ZS1hdHRyaWJ1dGUiLAorICAgICAgICAgICAgR19NSU5MT05HLCBHX01BWExPTkcsIDAs
CisgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CisKKyAgICBnX29iamVjdF9j
bGFzc19pbnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBS
T1BfV0lUSF9TQ1JJUFRfRVhFQ1VUSU9OX0NPTlRFWFRfQVRUUklCVVRFLAorICAgICAgICBnX3Bh
cmFtX3NwZWNfb2JqZWN0KAorICAgICAgICAgICAgIndpdGgtc2NyaXB0LWV4ZWN1dGlvbi1jb250
ZXh0LWF0dHJpYnV0ZSIsCisgICAgICAgICAgICAiVGVzdE9iajp3aXRoLXNjcmlwdC1leGVjdXRp
b24tY29udGV4dC1hdHRyaWJ1dGUiLAorICAgICAgICAgICAgInJlYWQtb25seSBXZWJLaXRET01U
ZXN0T2JqKiBUZXN0T2JqOndpdGgtc2NyaXB0LWV4ZWN1dGlvbi1jb250ZXh0LWF0dHJpYnV0ZSIs
CisgICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01fVEVTVF9PQkosCisgICAgICAgICAgICBXRUJL
SVRfUEFSQU1fUkVBRFdSSVRFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3Bl
cnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfV0lUSF9TQ1JJUFRfU1RB
VEVfQVRUUklCVVRFX1JBSVNFUywKKyAgICAgICAgZ19wYXJhbV9zcGVjX29iamVjdCgKKyAgICAg
ICAgICAgICJ3aXRoLXNjcmlwdC1zdGF0ZS1hdHRyaWJ1dGUtcmFpc2VzIiwKKyAgICAgICAgICAg
ICJUZXN0T2JqOndpdGgtc2NyaXB0LXN0YXRlLWF0dHJpYnV0ZS1yYWlzZXMiLAorICAgICAgICAg
ICAgInJlYWQtb25seSBXZWJLaXRET01UZXN0T2JqKiBUZXN0T2JqOndpdGgtc2NyaXB0LXN0YXRl
LWF0dHJpYnV0ZS1yYWlzZXMiLAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JK
LAorICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOworCisgICAgZ19vYmplY3Rf
Y2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgKKyAgICAgICAgZ29iamVjdENsYXNzLAorICAgICAgICBQ
Uk9QX1dJVEhfU0NSSVBUX0VYRUNVVElPTl9DT05URVhUX0FUVFJJQlVURV9SQUlTRVMsCisgICAg
ICAgIGdfcGFyYW1fc3BlY19vYmplY3QoCisgICAgICAgICAgICAid2l0aC1zY3JpcHQtZXhlY3V0
aW9uLWNvbnRleHQtYXR0cmlidXRlLXJhaXNlcyIsCisgICAgICAgICAgICAiVGVzdE9iajp3aXRo
LXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hdHRyaWJ1dGUtcmFpc2VzIiwKKyAgICAgICAgICAg
ICJyZWFkLW9ubHkgV2ViS2l0RE9NVGVzdE9iaiogVGVzdE9iajp3aXRoLXNjcmlwdC1leGVjdXRp
b24tY29udGV4dC1hdHRyaWJ1dGUtcmFpc2VzIiwKKyAgICAgICAgICAgIFdFQktJVF9UWVBFX0RP
TV9URVNUX09CSiwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAg
IGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywK
KyAgICAgICAgUFJPUF9XSVRIX1NDUklQVF9FWEVDVVRJT05fQ09OVEVYVF9BTkRfU0NSSVBUX1NU
QVRFX0FUVFJJQlVURSwKKyAgICAgICAgZ19wYXJhbV9zcGVjX29iamVjdCgKKyAgICAgICAgICAg
ICJ3aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hbmQtc2NyaXB0LXN0YXRlLWF0dHJpYnV0
ZSIsCisgICAgICAgICAgICAiVGVzdE9iajp3aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1h
bmQtc2NyaXB0LXN0YXRlLWF0dHJpYnV0ZSIsCisgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktp
dERPTVRlc3RPYmoqIFRlc3RPYmo6d2l0aC1zY3JpcHQtZXhlY3V0aW9uLWNvbnRleHQtYW5kLXNj
cmlwdC1zdGF0ZS1hdHRyaWJ1dGUiLAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1RFU1Rf
T0JKLAorICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOworCisgICAgZ19vYmpl
Y3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgKKyAgICAgICAgZ29iamVjdENsYXNzLAorICAgICAg
ICBQUk9QX1dJVEhfU0NSSVBUX0VYRUNVVElPTl9DT05URVhUX0FORF9TQ1JJUFRfU1RBVEVfQVRU
UklCVVRFX1JBSVNFUywKKyAgICAgICAgZ19wYXJhbV9zcGVjX29iamVjdCgKKyAgICAgICAgICAg
ICJ3aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hbmQtc2NyaXB0LXN0YXRlLWF0dHJpYnV0
ZS1yYWlzZXMiLAorICAgICAgICAgICAgIlRlc3RPYmo6d2l0aC1zY3JpcHQtZXhlY3V0aW9uLWNv
bnRleHQtYW5kLXNjcmlwdC1zdGF0ZS1hdHRyaWJ1dGUtcmFpc2VzIiwKKyAgICAgICAgICAgICJy
ZWFkLW9ubHkgV2ViS2l0RE9NVGVzdE9iaiogVGVzdE9iajp3aXRoLXNjcmlwdC1leGVjdXRpb24t
Y29udGV4dC1hbmQtc2NyaXB0LXN0YXRlLWF0dHJpYnV0ZS1yYWlzZXMiLAorICAgICAgICAgICAg
V0VCS0lUX1RZUEVfRE9NX1RFU1RfT0JKLAorICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURX
UklURSkpOworCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgKKyAgICAgICAg
Z29iamVjdENsYXNzLAorICAgICAgICBQUk9QX1dJVEhfU0NSSVBUX0VYRUNVVElPTl9DT05URVhU
X0FORF9TQ1JJUFRfU1RBVEVfV0lUSF9TUEFDRVNfQVRUUklCVVRFLAorICAgICAgICBnX3BhcmFt
X3NwZWNfb2JqZWN0KAorICAgICAgICAgICAgIndpdGgtc2NyaXB0LWV4ZWN1dGlvbi1jb250ZXh0
LWFuZC1zY3JpcHQtc3RhdGUtd2l0aC1zcGFjZXMtYXR0cmlidXRlIiwKKyAgICAgICAgICAgICJU
ZXN0T2JqOndpdGgtc2NyaXB0LWV4ZWN1dGlvbi1jb250ZXh0LWFuZC1zY3JpcHQtc3RhdGUtd2l0
aC1zcGFjZXMtYXR0cmlidXRlIiwKKyAgICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9NVGVz
dE9iaiogVGVzdE9iajp3aXRoLXNjcmlwdC1leGVjdXRpb24tY29udGV4dC1hbmQtc2NyaXB0LXN0
YXRlLXdpdGgtc3BhY2VzLWF0dHJpYnV0ZSIsCisgICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01f
VEVTVF9PQkosCisgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CisKKyAgICBn
X29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisg
ICAgICAgIFBST1BfV0lUSF9TQ1JJUFRfQVJHVU1FTlRTX0FORF9DQUxMX1NUQUNLX0FUVFJJQlVU
RSwKKyAgICAgICAgZ19wYXJhbV9zcGVjX29iamVjdCgKKyAgICAgICAgICAgICJ3aXRoLXNjcmlw
dC1hcmd1bWVudHMtYW5kLWNhbGwtc3RhY2stYXR0cmlidXRlIiwKKyAgICAgICAgICAgICJUZXN0
T2JqOndpdGgtc2NyaXB0LWFyZ3VtZW50cy1hbmQtY2FsbC1zdGFjay1hdHRyaWJ1dGUiLAorICAg
ICAgICAgICAgInJlYWQtb25seSBXZWJLaXRET01UZXN0T2JqKiBUZXN0T2JqOndpdGgtc2NyaXB0
LWFyZ3VtZW50cy1hbmQtY2FsbC1zdGFjay1hdHRyaWJ1dGUiLAorICAgICAgICAgICAgV0VCS0lU
X1RZUEVfRE9NX1RFU1RfT0JKLAorICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkp
OworCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgKKyAgICAgICAgZ29iamVj
dENsYXNzLAorICAgICAgICBQUk9QX0NPTkRJVElPTkFMX0FUVFIxLAorICAgICAgICBnX3BhcmFt
X3NwZWNfbG9uZygKKyAgICAgICAgICAgICJjb25kaXRpb25hbC1hdHRyMSIsCisgICAgICAgICAg
ICAiVGVzdE9iajpjb25kaXRpb25hbC1hdHRyMSIsCisgICAgICAgICAgICAicmVhZC1vbmx5IGds
b25nIFRlc3RPYmo6Y29uZGl0aW9uYWwtYXR0cjEiLAorICAgICAgICAgICAgR19NSU5MT05HLCBH
X01BWExPTkcsIDAsCisgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CisKKyAg
ICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3Ms
CisgICAgICAgIFBST1BfQ09ORElUSU9OQUxfQVRUUjIsCisgICAgICAgIGdfcGFyYW1fc3BlY19s
b25nKAorICAgICAgICAgICAgImNvbmRpdGlvbmFsLWF0dHIyIiwKKyAgICAgICAgICAgICJUZXN0
T2JqOmNvbmRpdGlvbmFsLWF0dHIyIiwKKyAgICAgICAgICAgICJyZWFkLW9ubHkgZ2xvbmcgVGVz
dE9iajpjb25kaXRpb25hbC1hdHRyMiIsCisgICAgICAgICAgICBHX01JTkxPTkcsIEdfTUFYTE9O
RywgMCwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdfb2Jq
ZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAg
ICAgUFJPUF9DT05ESVRJT05BTF9BVFRSMywKKyAgICAgICAgZ19wYXJhbV9zcGVjX2xvbmcoCisg
ICAgICAgICAgICAiY29uZGl0aW9uYWwtYXR0cjMiLAorICAgICAgICAgICAgIlRlc3RPYmo6Y29u
ZGl0aW9uYWwtYXR0cjMiLAorICAgICAgICAgICAgInJlYWQtb25seSBnbG9uZyBUZXN0T2JqOmNv
bmRpdGlvbmFsLWF0dHIzIiwKKyAgICAgICAgICAgIEdfTUlOTE9ORywgR19NQVhMT05HLCAwLAor
ICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOworCisgICAgZ19vYmplY3RfY2xh
c3NfaW5zdGFsbF9wcm9wZXJ0eSgKKyAgICAgICAgZ29iamVjdENsYXNzLAorICAgICAgICBQUk9Q
X0FOWV9BVFRSSUJVVEUsCisgICAgICAgIGdfcGFyYW1fc3BlY19vYmplY3QoCisgICAgICAgICAg
ICAiYW55LWF0dHJpYnV0ZSIsCisgICAgICAgICAgICAiVGVzdE9iajphbnktYXR0cmlidXRlIiwK
KyAgICAgICAgICAgICJyZWFkLW9ubHkgV2ViS2l0RE9NYW55KiBUZXN0T2JqOmFueS1hdHRyaWJ1
dGUiLAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX0FOWSwKKyAgICAgICAgICAgIFdFQktJ
VF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVy
dHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9DT05URU5UX0RPQ1VNRU5U
LAorICAgICAgICBnX3BhcmFtX3NwZWNfb2JqZWN0KAorICAgICAgICAgICAgImNvbnRlbnQtZG9j
dW1lbnQiLAorICAgICAgICAgICAgIlRlc3RPYmo6Y29udGVudC1kb2N1bWVudCIsCisgICAgICAg
ICAgICAicmVhZC1vbmx5IFdlYktpdERPTURvY3VtZW50KiBUZXN0T2JqOmNvbnRlbnQtZG9jdW1l
bnQiLAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX0RPQ1VNRU5ULAorICAgICAgICAgICAg
V0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3By
b3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfTVVUQUJMRV9QT0lO
VCwKKyAgICAgICAgZ19wYXJhbV9zcGVjX29iamVjdCgKKyAgICAgICAgICAgICJtdXRhYmxlLXBv
aW50IiwKKyAgICAgICAgICAgICJUZXN0T2JqOm11dGFibGUtcG9pbnQiLAorICAgICAgICAgICAg
InJlYWQtb25seSBXZWJLaXRET01TVkdQb2ludCogVGVzdE9iajptdXRhYmxlLXBvaW50IiwKKyAg
ICAgICAgICAgIFdFQktJVF9UWVBFX0RPTV9TVkdfUE9JTlQsCisgICAgICAgICAgICBXRUJLSVRf
UEFSQU1fUkVBRFdSSVRFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5
KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfSU1NVVRBQkxFX1BPSU5ULAor
ICAgICAgICBnX3BhcmFtX3NwZWNfb2JqZWN0KAorICAgICAgICAgICAgImltbXV0YWJsZS1wb2lu
dCIsCisgICAgICAgICAgICAiVGVzdE9iajppbW11dGFibGUtcG9pbnQiLAorICAgICAgICAgICAg
InJlYWQtb25seSBXZWJLaXRET01TVkdQb2ludCogVGVzdE9iajppbW11dGFibGUtcG9pbnQiLAor
ICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1NWR19QT0lOVCwKKyAgICAgICAgICAgIFdFQktJ
VF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVy
dHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9TVFJBV0JFUlJZLAorICAg
ICAgICBnX3BhcmFtX3NwZWNfbG9uZygKKyAgICAgICAgICAgICJzdHJhd2JlcnJ5IiwKKyAgICAg
ICAgICAgICJUZXN0T2JqOnN0cmF3YmVycnkiLAorICAgICAgICAgICAgInJlYWQtb25seSBnbG9u
ZyBUZXN0T2JqOnN0cmF3YmVycnkiLAorICAgICAgICAgICAgR19NSU5MT05HLCBHX01BWExPTkcs
IDAsCisgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CisKKyAgICBnX29iamVj
dF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAg
IFBST1BfU1RSSUNUX0ZMT0FULAorICAgICAgICBnX3BhcmFtX3NwZWNfZmxvYXQoCisgICAgICAg
ICAgICAic3RyaWN0LWZsb2F0IiwKKyAgICAgICAgICAgICJUZXN0T2JqOnN0cmljdC1mbG9hdCIs
CisgICAgICAgICAgICAicmVhZC1vbmx5IGdmbG9hdCBUZXN0T2JqOnN0cmljdC1mbG9hdCIsCisg
ICAgICAgICAgICAtR19NQVhGTE9BVCwgR19NQVhGTE9BVCwgMCwKKyAgICAgICAgICAgIFdFQktJ
VF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVy
dHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9ERVNDUklQVElPTiwKKyAg
ICAgICAgZ19wYXJhbV9zcGVjX2xvbmcoCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iLAorICAg
ICAgICAgICAgIlRlc3RPYmo6ZGVzY3JpcHRpb24iLAorICAgICAgICAgICAgInJlYWQtb25seSBn
bG9uZyBUZXN0T2JqOmRlc2NyaXB0aW9uIiwKKyAgICAgICAgICAgIEdfTUlOTE9ORywgR19NQVhM
T05HLCAwLAorICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CisKKyAgICBnX29i
amVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAg
ICAgIFBST1BfSUQsCisgICAgICAgIGdfcGFyYW1fc3BlY19sb25nKAorICAgICAgICAgICAgImlk
IiwKKyAgICAgICAgICAgICJUZXN0T2JqOmlkIiwKKyAgICAgICAgICAgICJyZWFkLW9ubHkgZ2xv
bmcgVGVzdE9iajppZCIsCisgICAgICAgICAgICBHX01JTkxPTkcsIEdfTUFYTE9ORywgMCwKKyAg
ICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNz
X2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9I
QVNILAorICAgICAgICBnX3BhcmFtX3NwZWNfc3RyaW5nKAorICAgICAgICAgICAgImhhc2giLAor
ICAgICAgICAgICAgIlRlc3RPYmo6aGFzaCIsCisgICAgICAgICAgICAicmVhZC1vbmx5IGdjaGFy
KiBUZXN0T2JqOmhhc2giLAorICAgICAgICAgICAgIiIsCisgICAgICAgICAgICBXRUJLSVRfUEFS
QU1fUkVBREFCTEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisg
ICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9SRVBMQUNFQUJMRV9BVFRSSUJVVEUs
CisgICAgICAgIGdfcGFyYW1fc3BlY19sb25nKAorICAgICAgICAgICAgInJlcGxhY2VhYmxlLWF0
dHJpYnV0ZSIsCisgICAgICAgICAgICAiVGVzdE9iajpyZXBsYWNlYWJsZS1hdHRyaWJ1dGUiLAor
ICAgICAgICAgICAgInJlYWQtb25seSBnbG9uZyBUZXN0T2JqOnJlcGxhY2VhYmxlLWF0dHJpYnV0
ZSIsCisgICAgICAgICAgICBHX01JTkxPTkcsIEdfTUFYTE9ORywgMCwKKyAgICAgICAgICAgIFdF
QktJVF9QQVJBTV9SRUFEQUJMRSkpOworCisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9w
ZXJ0eSgKKyAgICAgICAgZ29iamVjdENsYXNzLAorICAgICAgICBQUk9QX05VTExBQkxFX0RPVUJM
RV9BVFRSSUJVVEUsCisgICAgICAgIGdfcGFyYW1fc3BlY19kb3VibGUoCisgICAgICAgICAgICAi
bnVsbGFibGUtZG91YmxlLWF0dHJpYnV0ZSIsCisgICAgICAgICAgICAiVGVzdE9iajpudWxsYWJs
ZS1kb3VibGUtYXR0cmlidXRlIiwKKyAgICAgICAgICAgICJyZWFkLW9ubHkgZ2RvdWJsZSBUZXN0
T2JqOm51bGxhYmxlLWRvdWJsZS1hdHRyaWJ1dGUiLAorICAgICAgICAgICAgLUdfTUFYRE9VQkxF
LCBHX01BWERPVUJMRSwgMCwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOwor
CisgICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgKKyAgICAgICAgZ29iamVjdENs
YXNzLAorICAgICAgICBQUk9QX05VTExBQkxFX0xPTkdfQVRUUklCVVRFLAorICAgICAgICBnX3Bh
cmFtX3NwZWNfbG9uZygKKyAgICAgICAgICAgICJudWxsYWJsZS1sb25nLWF0dHJpYnV0ZSIsCisg
ICAgICAgICAgICAiVGVzdE9iajpudWxsYWJsZS1sb25nLWF0dHJpYnV0ZSIsCisgICAgICAgICAg
ICAicmVhZC1vbmx5IGdsb25nIFRlc3RPYmo6bnVsbGFibGUtbG9uZy1hdHRyaWJ1dGUiLAorICAg
ICAgICAgICAgR19NSU5MT05HLCBHX01BWExPTkcsIDAsCisgICAgICAgICAgICBXRUJLSVRfUEFS
QU1fUkVBREFCTEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisg
ICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9OVUxMQUJMRV9CT09MRUFOX0FUVFJJ
QlVURSwKKyAgICAgICAgZ19wYXJhbV9zcGVjX2Jvb2xlYW4oCisgICAgICAgICAgICAibnVsbGFi
bGUtYm9vbGVhbi1hdHRyaWJ1dGUiLAorICAgICAgICAgICAgIlRlc3RPYmo6bnVsbGFibGUtYm9v
bGVhbi1hdHRyaWJ1dGUiLAorICAgICAgICAgICAgInJlYWQtb25seSBnYm9vbGVhbiBUZXN0T2Jq
Om51bGxhYmxlLWJvb2xlYW4tYXR0cmlidXRlIiwKKyAgICAgICAgICAgIEZBTFNFLAorICAgICAg
ICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19pbnN0
YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfTlVMTEFC
TEVfU1RSSU5HX0FUVFJJQlVURSwKKyAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygKKyAgICAg
ICAgICAgICJudWxsYWJsZS1zdHJpbmctYXR0cmlidXRlIiwKKyAgICAgICAgICAgICJUZXN0T2Jq
Om51bGxhYmxlLXN0cmluZy1hdHRyaWJ1dGUiLAorICAgICAgICAgICAgInJlYWQtb25seSBnY2hh
ciogVGVzdE9iajpudWxsYWJsZS1zdHJpbmctYXR0cmlidXRlIiwKKyAgICAgICAgICAgICIiLAor
ICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CisKKyAgICBnX29iamVjdF9jbGFz
c19pbnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1Bf
TlVMTEFCTEVfTE9OR19TRVRUQUJMRV9BVFRSSUJVVEUsCisgICAgICAgIGdfcGFyYW1fc3BlY19s
b25nKAorICAgICAgICAgICAgIm51bGxhYmxlLWxvbmctc2V0dGFibGUtYXR0cmlidXRlIiwKKyAg
ICAgICAgICAgICJUZXN0T2JqOm51bGxhYmxlLWxvbmctc2V0dGFibGUtYXR0cmlidXRlIiwKKyAg
ICAgICAgICAgICJyZWFkLW9ubHkgZ2xvbmcgVGVzdE9iajpudWxsYWJsZS1sb25nLXNldHRhYmxl
LWF0dHJpYnV0ZSIsCisgICAgICAgICAgICBHX01JTkxPTkcsIEdfTUFYTE9ORywgMCwKKyAgICAg
ICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2lu
c3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9OVUxM
QUJMRV9TVFJJTkdfVkFMVUUsCisgICAgICAgIGdfcGFyYW1fc3BlY19sb25nKAorICAgICAgICAg
ICAgIm51bGxhYmxlLXN0cmluZy12YWx1ZSIsCisgICAgICAgICAgICAiVGVzdE9iajpudWxsYWJs
ZS1zdHJpbmctdmFsdWUiLAorICAgICAgICAgICAgInJlYWQtb25seSBnbG9uZyBUZXN0T2JqOm51
bGxhYmxlLXN0cmluZy12YWx1ZSIsCisgICAgICAgICAgICBHX01JTkxPTkcsIEdfTUFYTE9ORywg
MCwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKwogfQogCiBzdGF0aWMg
dm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2luaXQoV2ViS2l0RE9NVGVzdE9iaiogcmVxdWVzdCkK
QEAgLTEwMjUsOCArMTEzNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfaW5p
dChXZWJLaXRET01UZXN0T2JqKiByZXF1ZXN0KQogICAgIG5ldyAocHJpdikgV2ViS2l0RE9NVGVz
dE9ialByaXZhdGUoKTsKIH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial92b2lkX21ldGhv
ZChXZWJLaXRET01UZXN0T2JqKiBzZWxmKQordm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3ZvaWRf
bWV0aG9kKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhy
ZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19U
RVNUX09CSihzZWxmKSk7CkBAIC0xMDM0LDggKzExNDMsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X3ZvaWRfbWV0aG9kKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiAgICAgaXRlbS0+dm9pZE1ldGhv
ZCgpOwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3ZvaWRfbWV0aG9kX3dpdGhfYXJn
cyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyBsb25nQXJnLCBjb25zdCBnY2hhciogc3Ry
QXJnLCBXZWJLaXRET01UZXN0T2JqKiBvYmpBcmcpCit2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpf
dm9pZF9tZXRob2Rfd2l0aF9hcmdzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIGxvbmdB
cmcsIGNvbnN0IGdjaGFyKiBzdHJBcmcsIFdlYktpdERPTVRlc3RPYmoqIG9iakFyZykKIHsKICAg
ICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKQEAgLTEwNDcsOCArMTE1NSw3IEBA
IHdlYmtpdF9kb21fdGVzdF9vYmpfdm9pZF9tZXRob2Rfd2l0aF9hcmdzKFdlYktpdERPTVRlc3RP
YmoqIHNlbGYsIGdsb25nIGxvbmdBcmcsCiAgICAgaXRlbS0+dm9pZE1ldGhvZFdpdGhBcmdzKGxv
bmdBcmcsIGNvbnZlcnRlZFN0ckFyZywgY29udmVydGVkT2JqQXJnKTsKIH0KIAotZ2ludDgKLXdl
YmtpdF9kb21fdGVzdF9vYmpfYnl0ZV9tZXRob2QoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKK2dp
bnQ4IHdlYmtpdF9kb21fdGVzdF9vYmpfYnl0ZV9tZXRob2QoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0x
MDU3LDggKzExNjQsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2J5dGVfbWV0aG9kKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotZ2ludDgKLXdlYmtpdF9k
b21fdGVzdF9vYmpfYnl0ZV9tZXRob2Rfd2l0aF9hcmdzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYs
IGdpbnQ4IGJ5dGVBcmcsIGNvbnN0IGdjaGFyKiBzdHJBcmcsIFdlYktpdERPTVRlc3RPYmoqIG9i
akFyZykKK2dpbnQ4IHdlYmtpdF9kb21fdGVzdF9vYmpfYnl0ZV9tZXRob2Rfd2l0aF9hcmdzKFdl
YktpdERPTVRlc3RPYmoqIHNlbGYsIGdpbnQ4IGJ5dGVBcmcsIGNvbnN0IGdjaGFyKiBzdHJBcmcs
IFdlYktpdERPTVRlc3RPYmoqIG9iakFyZykKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWRO
dWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19U
RVNUX09CSihzZWxmKSwgMCk7CkBAIC0xMDcxLDggKzExNzcsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rf
b2JqX2J5dGVfbWV0aG9kX3dpdGhfYXJncyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnaW50OCBi
eXRlQXJnLAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLWd1aW50OAotd2Via2l0X2RvbV90ZXN0
X29ial9vY3RldF9tZXRob2QoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKK2d1aW50OCB3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX29jdGV0X21ldGhvZChXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAg
IFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxf
aWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpLCAwKTsKQEAgLTEwODEsOCArMTE4
Niw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfb2N0ZXRfbWV0aG9kKFdlYktpdERPTVRlc3RPYmoq
IHNlbGYpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotZ3VpbnQ4Ci13ZWJraXRfZG9tX3Rlc3Rf
b2JqX29jdGV0X21ldGhvZF93aXRoX2FyZ3MoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ3VpbnQ4
IG9jdGV0QXJnLCBjb25zdCBnY2hhciogc3RyQXJnLCBXZWJLaXRET01UZXN0T2JqKiBvYmpBcmcp
CitndWludDggd2Via2l0X2RvbV90ZXN0X29ial9vY3RldF9tZXRob2Rfd2l0aF9hcmdzKFdlYktp
dERPTVRlc3RPYmoqIHNlbGYsIGd1aW50OCBvY3RldEFyZywgY29uc3QgZ2NoYXIqIHN0ckFyZywg
V2ViS2l0RE9NVGVzdE9iaiogb2JqQXJnKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51
bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfRE9NX0lTX1RF
U1RfT0JKKHNlbGYpLCAwKTsKQEAgLTEwOTUsOCArMTE5OSw3IEBAIHdlYmtpdF9kb21fdGVzdF9v
Ympfb2N0ZXRfbWV0aG9kX3dpdGhfYXJncyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBndWludDgg
b2N0ZXRBCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotZ2xvbmcKLXdlYmtpdF9kb21fdGVzdF9v
YmpfbG9uZ19tZXRob2QoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKK2dsb25nIHdlYmtpdF9kb21f
dGVzdF9vYmpfbG9uZ19tZXRob2QoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJD
b3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2Zh
aWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0xMTA1LDggKzEyMDgsNyBA
QCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2xvbmdfbWV0aG9kKFdlYktpdERPTVRlc3RPYmoqIHNlbGYp
CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotZ2xvbmcKLXdlYmtpdF9kb21fdGVzdF9vYmpfbG9u
Z19tZXRob2Rfd2l0aF9hcmdzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIGxvbmdBcmcs
IGNvbnN0IGdjaGFyKiBzdHJBcmcsIFdlYktpdERPTVRlc3RPYmoqIG9iakFyZykKK2dsb25nIHdl
YmtpdF9kb21fdGVzdF9vYmpfbG9uZ19tZXRob2Rfd2l0aF9hcmdzKFdlYktpdERPTVRlc3RPYmoq
IHNlbGYsIGdsb25nIGxvbmdBcmcsIGNvbnN0IGdjaGFyKiBzdHJBcmcsIFdlYktpdERPTVRlc3RP
YmoqIG9iakFyZykKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7
CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwg
MCk7CkBAIC0xMTE5LDggKzEyMjEsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2xvbmdfbWV0aG9k
X3dpdGhfYXJncyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyBsb25nQXJnLAogICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKLVdlYktpdERPTVRlc3RPYmoqCi13ZWJraXRfZG9tX3Rlc3Rfb2Jq
X29ial9tZXRob2QoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKK1dlYktpdERPTVRlc3RPYmoqIHdl
YmtpdF9kb21fdGVzdF9vYmpfb2JqX21ldGhvZChXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewog
ICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92
YWxfaWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpLCAwKTsKQEAgLTExMjksOCAr
MTIzMCw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfb2JqX21ldGhvZChXZWJLaXRET01UZXN0T2Jq
KiBzZWxmKQogICAgIHJldHVybiBXZWJLaXQ6OmtpdChnb2JqZWN0UmVzdWx0LmdldCgpKTsKIH0K
IAotV2ViS2l0RE9NVGVzdE9iaioKLXdlYmtpdF9kb21fdGVzdF9vYmpfb2JqX21ldGhvZF93aXRo
X2FyZ3MoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgbG9uZ0FyZywgY29uc3QgZ2NoYXIq
IHN0ckFyZywgV2ViS2l0RE9NVGVzdE9iaiogb2JqQXJnKQorV2ViS2l0RE9NVGVzdE9iaiogd2Vi
a2l0X2RvbV90ZXN0X29ial9vYmpfbWV0aG9kX3dpdGhfYXJncyhXZWJLaXRET01UZXN0T2JqKiBz
ZWxmLCBnbG9uZyBsb25nQXJnLCBjb25zdCBnY2hhciogc3RyQXJnLCBXZWJLaXRET01UZXN0T2Jq
KiBvYmpBcmcpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwog
ICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZiksIDAp
OwpAQCAtMTE0Myw4ICsxMjQzLDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9vYmpfbWV0aG9kX3dp
dGhfYXJncyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyBsb25nQXJnLAogICAgIHJldHVy
biBXZWJLaXQ6OmtpdChnb2JqZWN0UmVzdWx0LmdldCgpKTsKIH0KIAotdm9pZAotd2Via2l0X2Rv
bV90ZXN0X29ial9tZXRob2Rfd2l0aF9lbnVtX2FyZyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBX
ZWJLaXRET01UZXN0RW51bVR5cGUqIGVudW1BcmcpCit2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpf
bWV0aG9kX3dpdGhfZW51bV9hcmcoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVz
dEVudW1UeXBlKiBlbnVtQXJnKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0
ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2Vs
ZikpOwpAQCAtMTE1NCw4ICsxMjUzLDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0
aF9lbnVtX2FyZyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0RW4KICAgICBp
dGVtLT5tZXRob2RXaXRoRW51bUFyZyhjb252ZXJ0ZWRFbnVtQXJnKTsKIH0KIAotV2ViS2l0RE9N
VGVzdE9iaioKLXdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3RoYXRfcmVxdWlyZXNfYWxsX2Fy
Z3NfYW5kX3Rocm93cyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBjb25zdCBnY2hhciogc3RyQXJn
LCBXZWJLaXRET01UZXN0T2JqKiBvYmpBcmcsIEdFcnJvcioqIGVycm9yKQorV2ViS2l0RE9NVGVz
dE9iaiogd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2RfdGhhdF9yZXF1aXJlc19hbGxfYXJnc19h
bmRfdGhyb3dzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGNvbnN0IGdjaGFyKiBzdHJBcmcsIFdl
YktpdERPTVRlc3RPYmoqIG9iakFyZywgR0Vycm9yKiogZXJyb3IpCiB7CiAgICAgV2ViQ29yZTo6
SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdF
QktJVF9ET01fSVNfVEVTVF9PQkooc2VsZiksIDApOwpAQCAtMTE3NCw4ICsxMjcyLDcgQEAgd2Vi
a2l0X2RvbV90ZXN0X29ial9tZXRob2RfdGhhdF9yZXF1aXJlc19hbGxfYXJnc19hbmRfdGhyb3dz
KFdlYktpdERPTVRlc3RPYmoqIHMKICAgICByZXR1cm4gV2ViS2l0OjpraXQoZ29iamVjdFJlc3Vs
dC5nZXQoKSk7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2VyaWFsaXplZF92YWx1
ZShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWUq
IHNlcmlhbGl6ZWRBcmcpCit2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfc2VyaWFsaXplZF92YWx1
ZShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWUq
IHNlcmlhbGl6ZWRBcmcpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0
YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7
CkBAIC0xMTg1LDggKzEyODIsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NlcmlhbGl6ZWRfdmFs
dWUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NU2VyaWFsaXplZAogICAgIGl0ZW0t
PnNlcmlhbGl6ZWRWYWx1ZShjb252ZXJ0ZWRTZXJpYWxpemVkQXJnKTsKIH0KIAotdm9pZAotd2Vi
a2l0X2RvbV90ZXN0X29ial9vcHRpb25zX29iamVjdChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBX
ZWJLaXRET01EaWN0aW9uYXJ5KiBvbywgV2ViS2l0RE9NRGljdGlvbmFyeSogb29vKQordm9pZCB3
ZWJraXRfZG9tX3Rlc3Rfb2JqX29wdGlvbnNfb2JqZWN0KFdlYktpdERPTVRlc3RPYmoqIHNlbGYs
IFdlYktpdERPTURpY3Rpb25hcnkqIG9vLCBXZWJLaXRET01EaWN0aW9uYXJ5KiBvb28pCiB7CiAg
ICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lm
X2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7CkBAIC0xMTk4LDggKzEyOTQsNyBA
QCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX29wdGlvbnNfb2JqZWN0KFdlYktpdERPTVRlc3RPYmoqIHNl
bGYsIFdlYktpdERPTURpY3Rpb25hcnkqCiAgICAgaXRlbS0+b3B0aW9uc09iamVjdChjb252ZXJ0
ZWRPbywgY29udmVydGVkT29vKTsKIH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9tZXRo
b2Rfd2l0aF9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgR0Vycm9yKiogZXJyb3Ip
Cit2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfZXhjZXB0aW9uKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYsIEdFcnJvcioqIGVycm9yKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRo
cmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNf
VEVTVF9PQkooc2VsZikpOwpAQCAtMTIxMyw4ICsxMzA4LDcgQEAgd2Via2l0X2RvbV90ZXN0X29i
al9tZXRob2Rfd2l0aF9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgR0Vycm9yKiog
ZXJyb3IKICAgICB9CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRf
c3RhdGVfdm9pZChXZWJLaXRET01UZXN0T2JqKiBzZWxmKQordm9pZCB3ZWJraXRfZG9tX3Rlc3Rf
b2JqX3dpdGhfc2NyaXB0X3N0YXRlX3ZvaWQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAg
ICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKQEAgLTEyMjIsOCArMTMxNiw3IEBA
IHdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRfc3RhdGVfdm9pZChXZWJLaXRET01UZXN0
T2JqKiBzZWxmKQogICAgIGl0ZW0tPndpdGhTY3JpcHRTdGF0ZVZvaWQoKTsKIH0KIAotV2ViS2l0
RE9NVGVzdE9iaioKLXdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRfc3RhdGVfb2JqKFdl
YktpdERPTVRlc3RPYmoqIHNlbGYpCitXZWJLaXRET01UZXN0T2JqKiB3ZWJraXRfZG9tX3Rlc3Rf
b2JqX3dpdGhfc2NyaXB0X3N0YXRlX29iaihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAg
IFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxf
aWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpLCAwKTsKQEAgLTEyMzIsOCArMTMy
NSw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRfc3RhdGVfb2JqKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYpCiAgICAgcmV0dXJuIFdlYktpdDo6a2l0KGdvYmplY3RSZXN1bHQuZ2V0
KCkpOwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX3Zv
aWRfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIEdFcnJvcioqIGVycm9yKQordm9p
ZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX3ZvaWRfZXhjZXB0aW9uKFdl
YktpdERPTVRlc3RPYmoqIHNlbGYsIEdFcnJvcioqIGVycm9yKQogewogICAgIFdlYkNvcmU6OkpT
TWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9E
T01fSVNfVEVTVF9PQkooc2VsZikpOwpAQCAtMTI0Nyw4ICsxMzM5LDcgQEAgd2Via2l0X2RvbV90
ZXN0X29ial93aXRoX3NjcmlwdF9zdGF0ZV92b2lkX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2Jq
KiBzZWxmLCBHRXIKICAgICB9CiB9CiAKLVdlYktpdERPTVRlc3RPYmoqCi13ZWJraXRfZG9tX3Rl
c3Rfb2JqX3dpdGhfc2NyaXB0X3N0YXRlX29ial9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiog
c2VsZiwgR0Vycm9yKiogZXJyb3IpCitXZWJLaXRET01UZXN0T2JqKiB3ZWJraXRfZG9tX3Rlc3Rf
b2JqX3dpdGhfc2NyaXB0X3N0YXRlX29ial9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZiwgR0Vycm9yKiogZXJyb3IpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRl
IHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkoo
c2VsZiksIDApOwpAQCAtMTI2Myw4ICsxMzU0LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial93aXRo
X3NjcmlwdF9zdGF0ZV9vYmpfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIEdFcnIK
ICAgICByZXR1cm4gV2ViS2l0OjpraXQoZ29iamVjdFJlc3VsdC5nZXQoKSk7CiB9CiAKLXZvaWQK
LXdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRfZXhlY3V0aW9uX2NvbnRleHQoV2ViS2l0
RE9NVGVzdE9iaiogc2VsZikKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial93aXRoX3NjcmlwdF9l
eGVjdXRpb25fY29udGV4dChXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAgIFdlYkNvcmU6
OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJ
VF9ET01fSVNfVEVTVF9PQkooc2VsZikpOwpAQCAtMTI3Miw4ICsxMzYyLDcgQEAgd2Via2l0X2Rv
bV90ZXN0X29ial93aXRoX3NjcmlwdF9leGVjdXRpb25fY29udGV4dChXZWJLaXRET01UZXN0T2Jq
KiBzZWxmKQogICAgIGl0ZW0tPndpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiB9CiAKLXZv
aWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3JpcHRfZXhlY3V0aW9uX2NvbnRleHRfYW5k
X3NjcmlwdF9zdGF0ZShXZWJLaXRET01UZXN0T2JqKiBzZWxmKQordm9pZCB3ZWJraXRfZG9tX3Rl
c3Rfb2JqX3dpdGhfc2NyaXB0X2V4ZWN1dGlvbl9jb250ZXh0X2FuZF9zY3JpcHRfc3RhdGUoV2Vi
S2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3Rh
dGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNl
bGYpKTsKQEAgLTEyODEsOCArMTM3MCw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfd2l0aF9zY3Jp
cHRfZXhlY3V0aW9uX2NvbnRleHRfYW5kX3NjcmlwdF9zdGF0ZShXZWJLaXRET01UZXN0CiAgICAg
aXRlbS0+d2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZSgpOwogfQogCi1X
ZWJLaXRET01UZXN0T2JqKgotd2Via2l0X2RvbV90ZXN0X29ial93aXRoX3NjcmlwdF9leGVjdXRp
b25fY29udGV4dF9hbmRfc2NyaXB0X3N0YXRlX29ial9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9i
aiogc2VsZiwgR0Vycm9yKiogZXJyb3IpCitXZWJLaXRET01UZXN0T2JqKiB3ZWJraXRfZG9tX3Rl
c3Rfb2JqX3dpdGhfc2NyaXB0X2V4ZWN1dGlvbl9jb250ZXh0X2FuZF9zY3JpcHRfc3RhdGVfb2Jq
X2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBHRXJyb3IqKiBlcnJvcikKIHsKICAg
ICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFs
X2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0xMjk3LDggKzEz
ODUsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3dpdGhfc2NyaXB0X2V4ZWN1dGlvbl9jb250ZXh0
X2FuZF9zY3JpcHRfc3RhdGVfb2JqX2V4Y2VwdGlvbgogICAgIHJldHVybiBXZWJLaXQ6OmtpdChn
b2JqZWN0UmVzdWx0LmdldCgpKTsKIH0KIAotV2ViS2l0RE9NVGVzdE9iaioKLXdlYmtpdF9kb21f
dGVzdF9vYmpfd2l0aF9zY3JpcHRfZXhlY3V0aW9uX2NvbnRleHRfYW5kX3NjcmlwdF9zdGF0ZV93
aXRoX3NwYWNlcyhXZWJLaXRET01UZXN0T2JqKiBzZWxmKQorV2ViS2l0RE9NVGVzdE9iaiogd2Vi
a2l0X2RvbV90ZXN0X29ial93aXRoX3NjcmlwdF9leGVjdXRpb25fY29udGV4dF9hbmRfc2NyaXB0
X3N0YXRlX3dpdGhfc3BhY2VzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7CiAgICAgV2ViQ29y
ZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWls
KFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZiksIDApOwpAQCAtMTMwNyw4ICsxMzk0LDcgQEAg
d2Via2l0X2RvbV90ZXN0X29ial93aXRoX3NjcmlwdF9leGVjdXRpb25fY29udGV4dF9hbmRfc2Ny
aXB0X3N0YXRlX3dpdGhfc3BhY2VzKFcKICAgICByZXR1cm4gV2ViS2l0OjpraXQoZ29iamVjdFJl
c3VsdC5nZXQoKSk7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhf
b3B0aW9uYWxfYXJnKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIG9wdCkKK3ZvaWQgd2Vi
a2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9vcHRpb25hbF9hcmcoV2ViS2l0RE9NVGVzdE9i
aiogc2VsZiwgZ2xvbmcgb3B0KQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0
ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2Vs
ZikpOwpAQCAtMTMxNiw4ICsxNDAyLDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0
aF9vcHRpb25hbF9hcmcoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgb3B0KQogICAgIGl0
ZW0tPm1ldGhvZFdpdGhPcHRpb25hbEFyZyhvcHQpOwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rl
c3Rfb2JqX21ldGhvZF93aXRoX25vbl9vcHRpb25hbF9hcmdfYW5kX29wdGlvbmFsX2FyZyhXZWJL
aXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyBub25PcHQsIGdsb25nIG9wdCkKK3ZvaWQgd2Via2l0
X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9ub25fb3B0aW9uYWxfYXJnX2FuZF9vcHRpb25hbF9h
cmcoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgbm9uT3B0LCBnbG9uZyBvcHQpCiB7CiAg
ICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lm
X2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7CkBAIC0xMzI1LDggKzE0MTAsNyBA
QCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF93aXRoX25vbl9vcHRpb25hbF9hcmdfYW5kX29w
dGlvbmFsX2FyZyhXZWJLaXRET01UZXN0TwogICAgIGl0ZW0tPm1ldGhvZFdpdGhOb25PcHRpb25h
bEFyZ0FuZE9wdGlvbmFsQXJnKG5vbk9wdCwgb3B0KTsKIH0KIAotdm9pZAotd2Via2l0X2RvbV90
ZXN0X29ial9tZXRob2Rfd2l0aF9ub25fb3B0aW9uYWxfYXJnX2FuZF90d29fb3B0aW9uYWxfYXJn
cyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyBub25PcHQsIGdsb25nIG9wdDEsIGdsb25n
IG9wdDIpCit2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfbm9uX29wdGlvbmFs
X2FyZ19hbmRfdHdvX29wdGlvbmFsX2FyZ3MoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcg
bm9uT3B0LCBnbG9uZyBvcHQxLCBnbG9uZyBvcHQyKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRo
cmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNf
VEVTVF9PQkooc2VsZikpOwpAQCAtMTMzNCw4ICsxNDE4LDcgQEAgd2Via2l0X2RvbV90ZXN0X29i
al9tZXRob2Rfd2l0aF9ub25fb3B0aW9uYWxfYXJnX2FuZF90d29fb3B0aW9uYWxfYXJncyhXZWJL
aXRET00KICAgICBpdGVtLT5tZXRob2RXaXRoTm9uT3B0aW9uYWxBcmdBbmRUd29PcHRpb25hbEFy
Z3Mobm9uT3B0LCBvcHQxLCBvcHQyKTsKIH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9t
ZXRob2Rfd2l0aF9vcHRpb25hbF9zdHJpbmcoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29uc3Qg
Z2NoYXIqIHN0cikKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9vcHRpb25h
bF9zdHJpbmcoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2NoYXIqIHN0cikKIHsKICAg
ICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKQEAgLTEzNDUsOCArMTQyOCw3IEBA
IHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfb3B0aW9uYWxfc3RyaW5nKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYsIGNvbnN0IGdjCiAgICAgaXRlbS0+bWV0aG9kV2l0aE9wdGlvbmFsU3Ry
aW5nKGNvbnZlcnRlZFN0cik7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9k
X3dpdGhfb3B0aW9uYWxfc3RyaW5nX2lzX3VuZGVmaW5lZChXZWJLaXRET01UZXN0T2JqKiBzZWxm
LCBjb25zdCBnY2hhciogc3RyKQordm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX21ldGhvZF93aXRo
X29wdGlvbmFsX3N0cmluZ19pc191bmRlZmluZWQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29u
c3QgZ2NoYXIqIHN0cikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3Rh
dGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsK
QEAgLTEzNTYsOCArMTQzOCw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfb3B0
aW9uYWxfc3RyaW5nX2lzX3VuZGVmaW5lZChXZWJLaXRET01UZXN0T2JqKiBzCiAgICAgaXRlbS0+
bWV0aG9kV2l0aE9wdGlvbmFsU3RyaW5nSXNVbmRlZmluZWQoY29udmVydGVkU3RyKTsKIH0KIAot
dm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9vcHRpb25hbF9zdHJpbmdfaXNf
bnVsbF9zdHJpbmcoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2NoYXIqIHN0cikKK3Zv
aWQgd2Via2l0X2RvbV90ZXN0X29ial9tZXRob2Rfd2l0aF9vcHRpb25hbF9zdHJpbmdfaXNfbnVs
bF9zdHJpbmcoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2NoYXIqIHN0cikKIHsKICAg
ICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKQEAgLTEzNjcsOCArMTQ0OCw3IEBA
IHdlYmtpdF9kb21fdGVzdF9vYmpfbWV0aG9kX3dpdGhfb3B0aW9uYWxfc3RyaW5nX2lzX251bGxf
c3RyaW5nKFdlYktpdERPTVRlc3RPYmoqCiAgICAgaXRlbS0+bWV0aG9kV2l0aE9wdGlvbmFsU3Ry
aW5nSXNOdWxsU3RyaW5nKGNvbnZlcnRlZFN0cik7CiB9CiAKLWdjaGFyKgotd2Via2l0X2RvbV90
ZXN0X29ial9jb25kaXRpb25hbF9tZXRob2QxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCitnY2hh
ciogd2Via2l0X2RvbV90ZXN0X29ial9jb25kaXRpb25hbF9tZXRob2QxKFdlYktpdERPTVRlc3RP
YmoqIHNlbGYpCiB7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpCiAgICAgV2ViQ29yZTo6SlNNYWlu
VGhyZWFkTnVsbFN0YXRlIHN0YXRlOwpAQCAtMTM4Miw4ICsxNDYyLDcgQEAgd2Via2l0X2RvbV90
ZXN0X29ial9jb25kaXRpb25hbF9tZXRob2QxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiAjZW5k
aWYgLyogRU5BQkxFKENvbmRpdGlvbjEpICovCiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9v
YmpfY29uZGl0aW9uYWxfbWV0aG9kMihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQordm9pZCB3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2NvbmRpdGlvbmFsX21ldGhvZDIoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZikKIHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgJiYgRU5BQkxFKENvbmRpdGlvbjIpCiAgICAg
V2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwpAQCAtMTQwMCw4ICsxNDc5LDcg
QEAgd2Via2l0X2RvbV90ZXN0X29ial9jb25kaXRpb25hbF9tZXRob2QyKFdlYktpdERPTVRlc3RP
YmoqIHNlbGYpCiAjZW5kaWYgLyogRU5BQkxFKENvbmRpdGlvbjEpICYmIEVOQUJMRShDb25kaXRp
b24yKSAqLwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbmRpdGlvbmFsX21ldGhv
ZDMoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9jb25k
aXRpb25hbF9tZXRob2QzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7CiAjaWYgRU5BQkxFKENv
bmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKQogICAgIFdlYkNvcmU6OkpTTWFpblRocmVh
ZE51bGxTdGF0ZSBzdGF0ZTsKQEAgLTE0MTQsOCArMTQ5Miw3IEBAIHdlYmtpdF9kb21fdGVzdF9v
YmpfY29uZGl0aW9uYWxfbWV0aG9kMyhXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogI2VuZGlmIC8q
IEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29uZGl0aW9uMikgKi8KIH0KIAotdm9pZAot
d2Via2l0X2RvbV90ZXN0X29ial9jbGFzc19tZXRob2QoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikK
K3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9jbGFzc19tZXRob2QoV2ViS2l0RE9NVGVzdE9iaiog
c2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAg
Z19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKQEAgLTE0MjMs
OCArMTUwMCw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfY2xhc3NfbWV0aG9kKFdlYktpdERPTVRl
c3RPYmoqIHNlbGYpCiAgICAgaXRlbS0+Y2xhc3NNZXRob2QoKTsKIH0KIAotZ2xvbmcKLXdlYmtp
dF9kb21fdGVzdF9vYmpfY2xhc3NfbWV0aG9kX3dpdGhfb3B0aW9uYWwoV2ViS2l0RE9NVGVzdE9i
aiogc2VsZiwgZ2xvbmcgYXJnKQorZ2xvbmcgd2Via2l0X2RvbV90ZXN0X29ial9jbGFzc19tZXRo
b2Rfd2l0aF9vcHRpb25hbChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyBhcmcpCiB7CiAg
ICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3Zh
bF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZiksIDApOwpAQCAtMTQzMyw4ICsx
NTA5LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9jbGFzc19tZXRob2Rfd2l0aF9vcHRpb25hbChX
ZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyBhcmcKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ci12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX292ZXJsb2FkZWRfbWV0aG9kMShXZWJLaXRET01U
ZXN0T2JqKiBzZWxmLCBnbG9uZyBhcmcpCit2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfb3Zlcmxv
YWRlZF9tZXRob2QxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIGFyZykKIHsKICNpZiBF
TkFCTEUoQ29uZGl0aW9uMSkKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3Rh
dGU7CkBAIC0xNDQ2LDggKzE1MjEsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX292ZXJsb2FkZWRf
bWV0aG9kMShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyBhcmcpCiAjZW5kaWYgLyogRU5B
QkxFKENvbmRpdGlvbjEpICovCiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfb3Zlcmxv
YWRlZF9tZXRob2QxKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGNvbnN0IGdjaGFyKiB0eXBlKQor
dm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX292ZXJsb2FkZWRfbWV0aG9kMShXZWJLaXRET01UZXN0
T2JqKiBzZWxmLCBjb25zdCBnY2hhciogdHlwZSkKIHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkK
ICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CkBAIC0xNDYxLDggKzE1
MzUsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX292ZXJsb2FkZWRfbWV0aG9kMShXZWJLaXRET01U
ZXN0T2JqKiBzZWxmLCBjb25zdCBnY2hhciogdHlwZQogI2VuZGlmIC8qIEVOQUJMRShDb25kaXRp
b24xKSAqLwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQxKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSkKK3ZvaWQgd2Via2l0X2Rv
bV90ZXN0X29ial9jb252ZXJ0MShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0
Tm9kZSogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRl
OwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7CkBA
IC0xNDcyLDggKzE1NDUsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQxKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSkKICAgICBpdGVtLT5jb252
ZXJ0MShjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfY29u
dmVydDIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKQor
dm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYs
IFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWRO
dWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1Rf
T0JKKHNlbGYpKTsKQEAgLTE0ODMsOCArMTU1NSw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfY29u
dmVydDIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKQog
ICAgIGl0ZW0tPmNvbnZlcnQyKGNvbnZlcnRlZFZhbHVlKTsKIH0KIAotdm9pZAotd2Via2l0X2Rv
bV90ZXN0X29ial9jb252ZXJ0NChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0
Tm9kZSogdmFsdWUpCit2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfY29udmVydDQoV2ViS2l0RE9N
VGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE5vZGUqIHZhbHVlKQogewogICAgIFdlYkNvcmU6
OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJ
VF9ET01fSVNfVEVTVF9PQkooc2VsZikpOwpAQCAtMTQ5NCw4ICsxNTY1LDcgQEAgd2Via2l0X2Rv
bV90ZXN0X29ial9jb252ZXJ0NChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0
Tm9kZSogdmFsdWUpCiAgICAgaXRlbS0+Y29udmVydDQoY29udmVydGVkVmFsdWUpOwogfQogCi12
b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ1KFdlYktpdERPTVRlc3RPYmoqIHNlbGYs
IFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9jb252
ZXJ0NShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0Tm9kZSogdmFsdWUpCiB7
CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJu
X2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7CkBAIC0xNTA1LDggKzE1NzUs
NyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2NvbnZlcnQ1KFdlYktpdERPTVRlc3RPYmoqIHNlbGYs
IFdlYktpdERPTVRlc3ROb2RlKiB2YWx1ZSkKICAgICBpdGVtLT5jb252ZXJ0NShjb252ZXJ0ZWRW
YWx1ZSk7CiB9CiAKLVdlYktpdERPTVNWR1BvaW50Kgotd2Via2l0X2RvbV90ZXN0X29ial9tdXRh
YmxlX3BvaW50X2Z1bmN0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCitXZWJLaXRET01TVkdQ
b2ludCogd2Via2l0X2RvbV90ZXN0X29ial9tdXRhYmxlX3BvaW50X2Z1bmN0aW9uKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0
YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2Vs
ZiksIDApOwpAQCAtMTUxNSw4ICsxNTg0LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9tdXRhYmxl
X3BvaW50X2Z1bmN0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiAgICAgcmV0dXJuIFdlYktp
dDo6a2l0KGdvYmplY3RSZXN1bHQuZ2V0KCkpOwogfQogCi1XZWJLaXRET01TVkdQb2ludCoKLXdl
YmtpdF9kb21fdGVzdF9vYmpfaW1tdXRhYmxlX3BvaW50X2Z1bmN0aW9uKFdlYktpdERPTVRlc3RP
YmoqIHNlbGYpCitXZWJLaXRET01TVkdQb2ludCogd2Via2l0X2RvbV90ZXN0X29ial9pbW11dGFi
bGVfcG9pbnRfZnVuY3Rpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJDb3Jl
OjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwo
V0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0xNTI1LDggKzE1OTMsNyBAQCB3
ZWJraXRfZG9tX3Rlc3Rfb2JqX2ltbXV0YWJsZV9wb2ludF9mdW5jdGlvbihXZWJLaXRET01UZXN0
T2JqKiBzZWxmKQogICAgIHJldHVybiBXZWJLaXQ6OmtpdChnb2JqZWN0UmVzdWx0LmdldCgpKTsK
IH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9vcmFuZ2UoV2ViS2l0RE9NVGVzdE9iaiog
c2VsZikKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9vcmFuZ2UoV2ViS2l0RE9NVGVzdE9iaiog
c2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAg
Z19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKQEAgLTE1MzQs
OCArMTYwMSw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfb3JhbmdlKFdlYktpdERPTVRlc3RPYmoq
IHNlbGYpCiAgICAgaXRlbS0+YmFuYW5hKCk7CiB9CiAKLVdlYktpdERPTWJvb2wqCi13ZWJraXRf
ZG9tX3Rlc3Rfb2JqX3N0cmljdF9mdW5jdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBjb25z
dCBnY2hhciogc3RyLCBnZmxvYXQgYSwgZ2xvbmcgYiwgR0Vycm9yKiogZXJyb3IpCitXZWJLaXRE
T01ib29sKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3N0cmljdF9mdW5jdGlvbihXZWJLaXRET01UZXN0
T2JqKiBzZWxmLCBjb25zdCBnY2hhciogc3RyLCBnZmxvYXQgYSwgZ2xvbmcgYiwgR0Vycm9yKiog
ZXJyb3IpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAg
IGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZiksIDApOwpA
QCAtMTU1Miw4ICsxNjE4LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9zdHJpY3RfZnVuY3Rpb24o
V2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2NoYXIqIHN0ciwgZ2YKICAgICByZXR1cm4g
V2ViS2l0OjpraXQoZ29iamVjdFJlc3VsdC5nZXQoKSk7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21f
dGVzdF9vYmpfdmFyaWFkaWNfc3RyaW5nX21ldGhvZChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBj
b25zdCBnY2hhciogaGVhZCwgY29uc3QgZ2NoYXIqIHRhaWwpCit2b2lkIHdlYmtpdF9kb21fdGVz
dF9vYmpfdmFyaWFkaWNfc3RyaW5nX21ldGhvZChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBjb25z
dCBnY2hhciogaGVhZCwgY29uc3QgZ2NoYXIqIHRhaWwpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWlu
VGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9J
U19URVNUX09CSihzZWxmKSk7CkBAIC0xNTY1LDggKzE2MzAsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rf
b2JqX3ZhcmlhZGljX3N0cmluZ19tZXRob2QoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29uc3Qg
Z2NoYXIqCiAgICAgaXRlbS0+dmFyaWFkaWNTdHJpbmdNZXRob2QoY29udmVydGVkSGVhZCwgY29u
dmVydGVkVGFpbCk7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfdmFyaWFkaWNfZG91
YmxlX21ldGhvZChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnZG91YmxlIGhlYWQsIGdkb3VibGUg
dGFpbCkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial92YXJpYWRpY19kb3VibGVfbWV0aG9kKFdl
YktpdERPTVRlc3RPYmoqIHNlbGYsIGdkb3VibGUgaGVhZCwgZ2RvdWJsZSB0YWlsKQogewogICAg
IFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9m
YWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikpOwpAQCAtMTU3NCw4ICsxNjM4LDcgQEAg
d2Via2l0X2RvbV90ZXN0X29ial92YXJpYWRpY19kb3VibGVfbWV0aG9kKFdlYktpdERPTVRlc3RP
YmoqIHNlbGYsIGdkb3VibGUgaGVhZCwKICAgICBpdGVtLT52YXJpYWRpY0RvdWJsZU1ldGhvZCho
ZWFkLCB0YWlsKTsKIH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial92YXJpYWRpY19ub2Rl
X21ldGhvZChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01Ob2RlKiBoZWFkLCBXZWJL
aXRET01Ob2RlKiB0YWlsKQordm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3ZhcmlhZGljX25vZGVf
bWV0aG9kKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTU5vZGUqIGhlYWQsIFdlYktp
dERPTU5vZGUqIHRhaWwpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0
YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7
CkBAIC0xNTg3LDggKzE2NTAsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3ZhcmlhZGljX25vZGVf
bWV0aG9kKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTU5vZGUqCiAgICAgaXRlbS0+
dmFyaWFkaWNOb2RlTWV0aG9kKGNvbnZlcnRlZEhlYWQsIGNvbnZlcnRlZFRhaWwpOwogfQogCi1n
bG9uZwotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVhZF9vbmx5X2xvbmdfYXR0cihXZWJLaXRE
T01UZXN0T2JqKiBzZWxmKQorZ2xvbmcgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVhZF9vbmx5
X2xvbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAgIFdlYkNvcmU6OkpTTWFp
blRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRf
RE9NX0lTX1RFU1RfT0JKKHNlbGYpLCAwKTsKQEAgLTE1OTcsOCArMTY1OSw3IEBAIHdlYmtpdF9k
b21fdGVzdF9vYmpfZ2V0X3JlYWRfb25seV9sb25nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZikKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1nY2hhcioKLXdlYmtpdF9kb21fdGVzdF9vYmpf
Z2V0X3JlYWRfb25seV9zdHJpbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQorZ2NoYXIq
IHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3JlYWRfb25seV9zdHJpbmdfYXR0cihXZWJLaXRET01U
ZXN0T2JqKiBzZWxmKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0
ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYp
LCAwKTsKQEAgLTE2MDcsOCArMTY2OCw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3JlYWRf
b25seV9zdHJpbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKLVdlYktpdERPTVRlc3RPYmoqCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWFk
X29ubHlfdGVzdF9vYmpfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQorV2ViS2l0RE9NVGVz
dE9iaiogd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVhZF9vbmx5X3Rlc3Rfb2JqX2F0dHIoV2Vi
S2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3Rh
dGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09C
SihzZWxmKSwgMCk7CkBAIC0xNjE3LDggKzE2NzcsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dl
dF9yZWFkX29ubHlfdGVzdF9vYmpfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogICAgIHJl
dHVybiBXZWJLaXQ6OmtpdChnb2JqZWN0UmVzdWx0LmdldCgpKTsKIH0KIAotZ2ludDgKLXdlYmtp
dF9kb21fdGVzdF9vYmpfZ2V0X2J5dGVfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQorZ2lu
dDggd2Via2l0X2RvbV90ZXN0X29ial9nZXRfYnl0ZV9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdf
cmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZiksIDApOwpAQCAt
MTYyNyw4ICsxNjg2LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfYnl0ZV9hdHRyKFdlYktp
dERPTVRlc3RPYmoqIHNlbGYpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9pZAotd2Via2l0
X2RvbV90ZXN0X29ial9zZXRfYnl0ZV9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdpbnQ4
IHZhbHVlKQordm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9ieXRlX2F0dHIoV2ViS2l0RE9N
VGVzdE9iaiogc2VsZiwgZ2ludDggdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFk
TnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNU
X09CSihzZWxmKSk7CkBAIC0xNjM2LDggKzE2OTQsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3Nl
dF9ieXRlX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2ludDggdmFsdWUpCiAgICAgaXRl
bS0+c2V0Qnl0ZUF0dHIodmFsdWUpOwogfQogCi1ndWludDgKLXdlYmtpdF9kb21fdGVzdF9vYmpf
Z2V0X29jdGV0X2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKK2d1aW50OCB3ZWJraXRfZG9t
X3Rlc3Rfb2JqX2dldF9vY3RldF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7CiAgICAg
V2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9p
Zl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZiksIDApOwpAQCAtMTY0Niw4ICsxNzAz
LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfb2N0ZXRfYXR0cihXZWJLaXRET01UZXN0T2Jq
KiBzZWxmKQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9v
Ympfc2V0X29jdGV0X2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ3VpbnQ4IHZhbHVlKQor
dm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9vY3RldF9hdHRyKFdlYktpdERPTVRlc3RPYmoq
IHNlbGYsIGd1aW50OCB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3Rh
dGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNl
bGYpKTsKQEAgLTE2NTUsOCArMTcxMSw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X29jdGV0
X2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ3VpbnQ4IHZhbHVlKQogICAgIGl0ZW0tPnNl
dE9jdGV0QXR0cih2YWx1ZSk7CiB9CiAKLWdzaG9ydAotd2Via2l0X2RvbV90ZXN0X29ial9nZXRf
c2hvcnRfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQorZ3Nob3J0IHdlYmtpdF9kb21fdGVz
dF9vYmpfZ2V0X3Nob3J0X2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJD
b3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2Zh
aWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0xNjY1LDggKzE3MjAsNyBA
QCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9zaG9ydF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9z
ZXRfc2hvcnRfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnc2hvcnQgdmFsdWUpCit2b2lk
IHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3Nob3J0X2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZiwgZ3Nob3J0IHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBz
dGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikp
OwpAQCAtMTY3NCw4ICsxNzI4LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfc2hvcnRfYXR0
cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnc2hvcnQgdmFsdWUpCiAgICAgaXRlbS0+c2V0U2hv
cnRBdHRyKHZhbHVlKTsKIH0KIAotZ3VzaG9ydAotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfdW5z
aWduZWRfc2hvcnRfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQorZ3VzaG9ydCB3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF91bnNpZ25lZF9zaG9ydF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdf
cmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZiksIDApOwpAQCAt
MTY4NCw4ICsxNzM3LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfdW5zaWduZWRfc2hvcnRf
YXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXZv
aWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3Vuc2lnbmVkX3Nob3J0X2F0dHIoV2ViS2l0RE9N
VGVzdE9iaiogc2VsZiwgZ3VzaG9ydCB2YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9z
ZXRfdW5zaWduZWRfc2hvcnRfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBndXNob3J0IHZh
bHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBn
X3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikpOwpAQCAtMTY5Myw4
ICsxNzQ1LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfdW5zaWduZWRfc2hvcnRfYXR0cihX
ZWJLaXRET01UZXN0T2JqKiBzZWxmLCBndXNob3J0IHZhbHUKICAgICBpdGVtLT5zZXRVbnNpZ25l
ZFNob3J0QXR0cih2YWx1ZSk7CiB9CiAKLWdsb25nCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9s
b25nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKK2dsb25nIHdlYmtpdF9kb21fdGVzdF9v
YmpfZ2V0X2xvbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAgIFdlYkNvcmU6
OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChX
RUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpLCAwKTsKQEAgLTE3MDMsOCArMTc1NCw3IEBAIHdl
YmtpdF9kb21fdGVzdF9vYmpfZ2V0X2xvbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2xv
bmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSkKK3ZvaWQgd2Via2l0
X2RvbV90ZXN0X29ial9zZXRfbG9uZ19hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25n
IHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAg
ICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikpOwpAQCAtMTcx
Miw4ICsxNzYyLDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfbG9uZ19hdHRyKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYsIGdsb25nIHZhbHVlKQogICAgIGl0ZW0tPnNldExvbmdBdHRyKHZhbHVl
KTsKIH0KIAotZ2ludDY0Ci13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9sb25nX2xvbmdfYXR0cihX
ZWJLaXRET01UZXN0T2JqKiBzZWxmKQorZ2ludDY0IHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2xv
bmdfbG9uZ19hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNN
YWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJ
VF9ET01fSVNfVEVTVF9PQkooc2VsZiksIDApOwpAQCAtMTcyMiw4ICsxNzcxLDcgQEAgd2Via2l0
X2RvbV90ZXN0X29ial9nZXRfbG9uZ19sb25nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9s
b25nX2xvbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnaW50NjQgdmFsdWUpCit2b2lk
IHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2xvbmdfbG9uZ19hdHRyKFdlYktpdERPTVRlc3RPYmoq
IHNlbGYsIGdpbnQ2NCB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3Rh
dGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNl
bGYpKTsKQEAgLTE3MzEsOCArMTc3OSw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2xvbmdf
bG9uZ19hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdpbnQ2NCB2YWx1ZSkKICAgICBpdGVt
LT5zZXRMb25nTG9uZ0F0dHIodmFsdWUpOwogfQogCi1ndWludDY0Ci13ZWJraXRfZG9tX3Rlc3Rf
b2JqX2dldF91bnNpZ25lZF9sb25nX2xvbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQor
Z3VpbnQ2NCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF91bnNpZ25lZF9sb25nX2xvbmdfYXR0cihX
ZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxT
dGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1Rf
T0JKKHNlbGYpLCAwKTsKQEAgLTE3NDEsOCArMTc4OCw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpf
Z2V0X3Vuc2lnbmVkX2xvbmdfbG9uZ19hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfdW5zaWdu
ZWRfbG9uZ19sb25nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ3VpbnQ2NCB2YWx1ZSkK
K3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfdW5zaWduZWRfbG9uZ19sb25nX2F0dHIoV2Vi
S2l0RE9NVGVzdE9iaiogc2VsZiwgZ3VpbnQ2NCB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01h
aW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9N
X0lTX1RFU1RfT0JKKHNlbGYpKTsKQEAgLTE3NTAsOCArMTc5Niw3IEBAIHdlYmtpdF9kb21fdGVz
dF9vYmpfc2V0X3Vuc2lnbmVkX2xvbmdfbG9uZ19hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYs
IGd1aW50NjQKICAgICBpdGVtLT5zZXRVbnNpZ25lZExvbmdMb25nQXR0cih2YWx1ZSk7CiB9CiAK
LWdjaGFyKgotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfc3RyaW5nX2F0dHIoV2ViS2l0RE9NVGVz
dE9iaiogc2VsZikKK2djaGFyKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9zdHJpbmdfYXR0cihX
ZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxT
dGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1Rf
T0JKKHNlbGYpLCAwKTsKQEAgLTE3NjAsOCArMTgwNSw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpf
Z2V0X3N0cmluZ19hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfc3RyaW5nX2F0dHIoV2ViS2l0
RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2NoYXIqIHZhbHVlKQordm9pZCB3ZWJraXRfZG9tX3Rl
c3Rfb2JqX3NldF9zdHJpbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBjb25zdCBnY2hh
ciogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwog
ICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7CkBAIC0x
NzcxLDggKzE4MTUsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9zdHJpbmdfYXR0cihXZWJL
aXRET01UZXN0T2JqKiBzZWxmLCBjb25zdCBnY2hhciogdmFsdWUpCiAgICAgaXRlbS0+c2V0U3Ry
aW5nQXR0cihjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAKLVdlYktpdERPTVRlc3RPYmoqCi13ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF90ZXN0X29ial9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCitX
ZWJLaXRET01UZXN0T2JqKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF90ZXN0X29ial9hdHRyKFdl
YktpdERPTVRlc3RPYmoqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0
YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9P
Qkooc2VsZiksIDApOwpAQCAtMTc4MSw4ICsxODI0LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9n
ZXRfdGVzdF9vYmpfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogICAgIHJldHVybiBXZWJL
aXQ6OmtpdChnb2JqZWN0UmVzdWx0LmdldCgpKTsKIH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0
X29ial9zZXRfdGVzdF9vYmpfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01U
ZXN0T2JqKiB2YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfdGVzdF9vYmpfYXR0
cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0T2JqKiB2YWx1ZSkKIHsKICAg
ICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKQEAgLTE3OTIsOCArMTgzNCw3IEBA
IHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3Rlc3Rfb2JqX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiog
c2VsZiwgV2ViS2l0RE9NVGVzdE9iaioKICAgICBpdGVtLT5zZXRUZXN0T2JqQXR0cihjb252ZXJ0
ZWRWYWx1ZSk7CiB9CiAKLVdlYktpdERPTVRlc3RPYmoqCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dl
dF94bWxfb2JqX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKK1dlYktpdERPTVRlc3RPYmoq
IHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3htbF9vYmpfYXR0cihXZWJLaXRET01UZXN0T2JqKiBz
ZWxmKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBn
X3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpLCAwKTsKQEAg
LTE4MDIsOCArMTg0Myw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3htbF9vYmpfYXR0cihX
ZWJLaXRET01UZXN0T2JqKiBzZWxmKQogICAgIHJldHVybiBXZWJLaXQ6OmtpdChnb2JqZWN0UmVz
dWx0LmdldCgpKTsKIH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfeG1sX29ial9h
dHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3RPYmoqIHZhbHVlKQordm9p
ZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF94bWxfb2JqX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiog
c2VsZiwgV2ViS2l0RE9NVGVzdE9iaiogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhy
ZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19U
RVNUX09CSihzZWxmKSk7CkBAIC0xODEzLDggKzE4NTMsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X3NldF94bWxfb2JqX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE9i
aiogdgogICAgIGl0ZW0tPnNldFhNTE9iakF0dHIoY29udmVydGVkVmFsdWUpOwogfQogCi1nYm9v
bGVhbgotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfY3JlYXRlKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYpCitnYm9vbGVhbiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9jcmVhdGUoV2ViS2l0RE9NVGVz
dE9iaiogc2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7
CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwg
RkFMU0UpOwpAQCAtMTgyMyw4ICsxODYyLDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfY3Jl
YXRlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9p
ZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfY3JlYXRlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYs
IGdib29sZWFuIHZhbHVlKQordm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9jcmVhdGUoV2Vi
S2l0RE9NVGVzdE9iaiogc2VsZiwgZ2Jvb2xlYW4gdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNN
YWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RP
TV9JU19URVNUX09CSihzZWxmKSk7CkBAIC0xODMyLDggKzE4NzAsNyBAQCB3ZWJraXRfZG9tX3Rl
c3Rfb2JqX3NldF9jcmVhdGUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2Jvb2xlYW4gdmFsdWUp
CiAgICAgaXRlbS0+c2V0Q3JlYXRlKHZhbHVlKTsKIH0KIAotZ2NoYXIqCi13ZWJraXRfZG9tX3Rl
c3Rfb2JqX2dldF9yZWZsZWN0ZWRfc3RyaW5nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikK
K2djaGFyKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWZsZWN0ZWRfc3RyaW5nX2F0dHIoV2Vi
S2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3Rh
dGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09C
SihzZWxmKSwgMCk7CkBAIC0xODQyLDggKzE4NzksNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dl
dF9yZWZsZWN0ZWRfc3RyaW5nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9yZWZsZWN0ZWRf
c3RyaW5nX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2NoYXIqIHZhbHVlKQor
dm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9yZWZsZWN0ZWRfc3RyaW5nX2F0dHIoV2ViS2l0
RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2NoYXIqIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpT
TWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9E
T01fSVNfVEVTVF9PQkooc2VsZikpOwpAQCAtMTg1Myw4ICsxODg5LDcgQEAgd2Via2l0X2RvbV90
ZXN0X29ial9zZXRfcmVmbGVjdGVkX3N0cmluZ19hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYs
IGNvbnN0IGdjaGEKICAgICBpdGVtLT5zZXRBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpy
ZWZsZWN0ZWRzdHJpbmdhdHRyQXR0ciwgY29udmVydGVkVmFsdWUpOwogfQogCi1nbG9uZwotd2Vi
a2l0X2RvbV90ZXN0X29ial9nZXRfcmVmbGVjdGVkX2ludGVncmFsX2F0dHIoV2ViS2l0RE9NVGVz
dE9iaiogc2VsZikKK2dsb25nIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3JlZmxlY3RlZF9pbnRl
Z3JhbF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWlu
VGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9E
T01fSVNfVEVTVF9PQkooc2VsZiksIDApOwpAQCAtMTg2Myw4ICsxODk4LDcgQEAgd2Via2l0X2Rv
bV90ZXN0X29ial9nZXRfcmVmbGVjdGVkX2ludGVncmFsX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiog
c2VsZikKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2Jq
X3NldF9yZWZsZWN0ZWRfaW50ZWdyYWxfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9u
ZyB2YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfcmVmbGVjdGVkX2ludGVncmFs
X2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgdmFsdWUpCiB7CiAgICAgV2ViQ29y
ZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VC
S0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7CkBAIC0xODcyLDggKzE5MDYsNyBAQCB3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX3NldF9yZWZsZWN0ZWRfaW50ZWdyYWxfYXR0cihXZWJLaXRET01UZXN0T2Jq
KiBzZWxmLCBnbG9uZyB2YQogICAgIGl0ZW0tPnNldEludGVncmFsQXR0cmlidXRlKFdlYkNvcmU6
OkhUTUxOYW1lczo6cmVmbGVjdGVkaW50ZWdyYWxhdHRyQXR0ciwgdmFsdWUpOwogfQogCi1ndWxv
bmcKLXdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3JlZmxlY3RlZF91bnNpZ25lZF9pbnRlZ3JhbF9h
dHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCitndWxvbmcgd2Via2l0X2RvbV90ZXN0X29ial9n
ZXRfcmVmbGVjdGVkX3Vuc2lnbmVkX2ludGVncmFsX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0x
ODgyLDggKzE5MTUsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWZsZWN0ZWRfdW5zaWdu
ZWRfaW50ZWdyYWxfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogICAgIHJldHVybiByZXN1
bHQ7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3JlZmxlY3RlZF91bnNpZ25l
ZF9pbnRlZ3JhbF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGd1bG9uZyB2YWx1ZSkKK3Zv
aWQgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfcmVmbGVjdGVkX3Vuc2lnbmVkX2ludGVncmFsX2F0
dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ3Vsb25nIHZhbHVlKQogewogICAgIFdlYkNvcmU6
OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJ
VF9ET01fSVNfVEVTVF9PQkooc2VsZikpOwpAQCAtMTg5MSw4ICsxOTIzLDcgQEAgd2Via2l0X2Rv
bV90ZXN0X29ial9zZXRfcmVmbGVjdGVkX3Vuc2lnbmVkX2ludGVncmFsX2F0dHIoV2ViS2l0RE9N
VGVzdE9iaiogc2VsZiwKICAgICBpdGVtLT5zZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlKFdl
YkNvcmU6OkhUTUxOYW1lczo6cmVmbGVjdGVkdW5zaWduZWRpbnRlZ3JhbGF0dHJBdHRyLCB2YWx1
ZSk7CiB9CiAKLWdib29sZWFuCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWZsZWN0ZWRfYm9v
bGVhbl9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCitnYm9vbGVhbiB3ZWJraXRfZG9tX3Rl
c3Rfb2JqX2dldF9yZWZsZWN0ZWRfYm9vbGVhbl9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYp
CiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0
dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZiksIEZBTFNFKTsKQEAg
LTE5MDEsOCArMTkzMiw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3JlZmxlY3RlZF9ib29s
ZWFuX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ci12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9yZWZsZWN0ZWRfYm9vbGVhbl9hdHRyKFdl
YktpdERPTVRlc3RPYmoqIHNlbGYsIGdib29sZWFuIHZhbHVlKQordm9pZCB3ZWJraXRfZG9tX3Rl
c3Rfb2JqX3NldF9yZWZsZWN0ZWRfYm9vbGVhbl9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYs
IGdib29sZWFuIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBz
dGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikp
OwpAQCAtMTkxMCw4ICsxOTQwLDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfcmVmbGVjdGVk
X2Jvb2xlYW5fYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnYm9vbGVhbgogICAgIGl0ZW0t
PnNldEJvb2xlYW5BdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRib29sZWFu
YXR0ckF0dHIsIHZhbHVlKTsKIH0KIAotZ2NoYXIqCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9y
ZWZsZWN0ZWRfdXJsX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKK2djaGFyKiB3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF9yZWZsZWN0ZWRfdXJsX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0x
OTIwLDggKzE5NDksNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWZsZWN0ZWRfdXJsX2F0
dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lk
Ci13ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9yZWZsZWN0ZWRfdXJsX2F0dHIoV2ViS2l0RE9NVGVz
dE9iaiogc2VsZiwgY29uc3QgZ2NoYXIqIHZhbHVlKQordm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X3NldF9yZWZsZWN0ZWRfdXJsX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2No
YXIqIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsK
ICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikpOwpAQCAt
MTkzMSw4ICsxOTU5LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfcmVmbGVjdGVkX3VybF9h
dHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGNvbnN0IGdjaGFyKgogICAgIGl0ZW0tPnNldEF0
dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZHVybGF0dHJBdHRyLCBjb252ZXJ0
ZWRWYWx1ZSk7CiB9CiAKLWdjaGFyKgotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVmbGVjdGVk
X3N0cmluZ19hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCitnY2hhciogd2Via2l0X2RvbV90
ZXN0X29ial9nZXRfcmVmbGVjdGVkX3N0cmluZ19hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYp
CiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0
dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZiksIDApOwpAQCAtMTk0
MSw4ICsxOTY4LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVmbGVjdGVkX3N0cmluZ19h
dHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9p
ZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfcmVmbGVjdGVkX3N0cmluZ19hdHRyKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYsIGNvbnN0IGdjaGFyKiB2YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0
X29ial9zZXRfcmVmbGVjdGVkX3N0cmluZ19hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGNv
bnN0IGdjaGFyKiB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUg
c3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYp
KTsKQEAgLTE5NTIsOCArMTk3OCw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3JlZmxlY3Rl
ZF9zdHJpbmdfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBjb25zdCBnY2hhCiAgICAgaXRl
bS0+c2V0QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxOYW1lczo6Y3VzdG9tQ29udGVudFN0cmluZ0F0
dHJBdHRyLCBjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAKLWdsb25nCi13ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2dldF9yZWZsZWN0ZWRfY3VzdG9tX2ludGVncmFsX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZikKK2dsb25nIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3JlZmxlY3RlZF9jdXN0b21faW50ZWdy
YWxfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRo
cmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfRE9N
X0lTX1RFU1RfT0JKKHNlbGYpLCAwKTsKQEAgLTE5NjIsOCArMTk4Nyw3IEBAIHdlYmtpdF9kb21f
dGVzdF9vYmpfZ2V0X3JlZmxlY3RlZF9jdXN0b21faW50ZWdyYWxfYXR0cihXZWJLaXRET01UZXN0
T2JqKiBzZWxmKQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVz
dF9vYmpfc2V0X3JlZmxlY3RlZF9jdXN0b21faW50ZWdyYWxfYXR0cihXZWJLaXRET01UZXN0T2Jq
KiBzZWxmLCBnbG9uZyB2YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfcmVmbGVj
dGVkX2N1c3RvbV9pbnRlZ3JhbF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIHZh
bHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBn
X3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikpOwpAQCAtMTk3MSw4
ICsxOTk1LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfcmVmbGVjdGVkX2N1c3RvbV9pbnRl
Z3JhbF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGcKICAgICBpdGVtLT5zZXRJbnRlZ3Jh
bEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmN1c3RvbUNvbnRlbnRJbnRlZ3JhbEF0dHJB
dHRyLCB2YWx1ZSk7CiB9CiAKLWdib29sZWFuCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWZs
ZWN0ZWRfY3VzdG9tX2Jvb2xlYW5fYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQorZ2Jvb2xl
YW4gd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVmbGVjdGVkX2N1c3RvbV9ib29sZWFuX2F0dHIo
V2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxs
U3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNU
X09CSihzZWxmKSwgRkFMU0UpOwpAQCAtMTk4MSw4ICsyMDA0LDcgQEAgd2Via2l0X2RvbV90ZXN0
X29ial9nZXRfcmVmbGVjdGVkX2N1c3RvbV9ib29sZWFuX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiog
c2VsZikKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2Jq
X3NldF9yZWZsZWN0ZWRfY3VzdG9tX2Jvb2xlYW5fYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxm
LCBnYm9vbGVhbiB2YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfcmVmbGVjdGVk
X2N1c3RvbV9ib29sZWFuX2F0dHIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2Jvb2xlYW4gdmFs
dWUpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdf
cmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7CkBAIC0xOTkwLDgg
KzIwMTIsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9yZWZsZWN0ZWRfY3VzdG9tX2Jvb2xl
YW5fYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnYgogICAgIGl0ZW0tPnNldEJvb2xlYW5B
dHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpjdXN0b21Db250ZW50Qm9vbGVhbkF0dHJBdHRy
LCB2YWx1ZSk7CiB9CiAKLWdjaGFyKgotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfcmVmbGVjdGVk
X2N1c3RvbV91cmxfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQorZ2NoYXIqIHdlYmtpdF9k
b21fdGVzdF9vYmpfZ2V0X3JlZmxlY3RlZF9jdXN0b21fdXJsX2F0dHIoV2ViS2l0RE9NVGVzdE9i
aiogc2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAg
ICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7
CkBAIC0yMDAwLDggKzIwMjEsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZWZsZWN0ZWRf
Y3VzdG9tX3VybF9hdHRyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiAgICAgcmV0dXJuIHJlc3Vs
dDsKIH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfcmVmbGVjdGVkX2N1c3RvbV91
cmxfYXR0cihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBjb25zdCBnY2hhciogdmFsdWUpCit2b2lk
IHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3JlZmxlY3RlZF9jdXN0b21fdXJsX2F0dHIoV2ViS2l0
RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2NoYXIqIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpT
TWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9E
T01fSVNfVEVTVF9PQkooc2VsZikpOwpAQCAtMjAxMSw4ICsyMDMxLDcgQEAgd2Via2l0X2RvbV90
ZXN0X29ial9zZXRfcmVmbGVjdGVkX2N1c3RvbV91cmxfYXR0cihXZWJLaXRET01UZXN0T2JqKiBz
ZWxmLCBjb25zdAogICAgIGl0ZW0tPnNldEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OmN1
c3RvbUNvbnRlbnRVUkxBdHRyQXR0ciwgY29udmVydGVkVmFsdWUpOwogfQogCi1nbG9uZwotd2Vi
a2l0X2RvbV90ZXN0X29ial9nZXRfYXR0cl93aXRoX2dldHRlcl9leGNlcHRpb24oV2ViS2l0RE9N
VGVzdE9iaiogc2VsZiwgR0Vycm9yKiogZXJyb3IpCitnbG9uZyB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2dldF9hdHRyX3dpdGhfZ2V0dGVyX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBH
RXJyb3IqKiBlcnJvcikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3Rh
dGU7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxm
KSwgMCk7CkBAIC0yMDI3LDggKzIwNDYsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9hdHRy
X3dpdGhfZ2V0dGVyX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBHRXJybwogICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2F0dHJf
d2l0aF9nZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIHZhbHVl
KQordm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9hdHRyX3dpdGhfZ2V0dGVyX2V4Y2VwdGlv
bihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpK
U01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
RE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKQEAgLTIwMzYsOCArMjA1NCw3IEBAIHdlYmtpdF9kb21f
dGVzdF9vYmpfc2V0X2F0dHJfd2l0aF9nZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoq
IHNlbGYsIGdsb25nCiAgICAgaXRlbS0+c2V0QXR0cldpdGhHZXR0ZXJFeGNlcHRpb24odmFsdWUp
OwogfQogCi1nbG9uZwotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfYXR0cl93aXRoX3NldHRlcl9l
eGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKK2dsb25nIHdlYmtpdF9kb21fdGVzdF9v
YmpfZ2V0X2F0dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYp
CiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0
dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZiksIDApOwpAQCAtMjA0
Niw4ICsyMDYzLDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfYXR0cl93aXRoX3NldHRlcl9l
eGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKICAgICByZXR1cm4gcmVzdWx0OwogfQog
Ci12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9hdHRyX3dpdGhfc2V0dGVyX2V4Y2VwdGlv
bihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSwgR0Vycm9yKiogZXJyb3IpCit2
b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2F0dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKFdl
YktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIHZhbHVlLCBHRXJyb3IqKiBlcnJvcikKIHsKICAg
ICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZf
ZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKQEAgLTIwNjEsOCArMjA3Nyw3IEBA
IHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2F0dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKFdlYktp
dERPTVRlc3RPYmoqIHNlbGYsIGdsb25nCiAgICAgfQogfQogCi1nY2hhcioKLXdlYmtpdF9kb21f
dGVzdF9vYmpfZ2V0X3N0cmluZ19hdHRyX3dpdGhfZ2V0dGVyX2V4Y2VwdGlvbihXZWJLaXRET01U
ZXN0T2JqKiBzZWxmLCBHRXJyb3IqKiBlcnJvcikKK2djaGFyKiB3ZWJraXRfZG9tX3Rlc3Rfb2Jq
X2dldF9zdHJpbmdfYXR0cl93aXRoX2dldHRlcl9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiog
c2VsZiwgR0Vycm9yKiogZXJyb3IpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0
YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9P
Qkooc2VsZiksIDApOwpAQCAtMjA3Myw4ICsyMDg4LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9n
ZXRfc3RyaW5nX2F0dHJfd2l0aF9nZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNl
bGYKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3Nl
dF9zdHJpbmdfYXR0cl93aXRoX2dldHRlcl9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZiwgY29uc3QgZ2NoYXIqIHZhbHVlKQordm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9zdHJp
bmdfYXR0cl93aXRoX2dldHRlcl9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29u
c3QgZ2NoYXIqIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBz
dGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikp
OwpAQCAtMjA4NCw4ICsyMDk4LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfc3RyaW5nX2F0
dHJfd2l0aF9nZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYKICAgICBpdGVt
LT5zZXRTdHJpbmdBdHRyV2l0aEdldHRlckV4Y2VwdGlvbihjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAK
LWdjaGFyKgotd2Via2l0X2RvbV90ZXN0X29ial9nZXRfc3RyaW5nX2F0dHJfd2l0aF9zZXR0ZXJf
ZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCitnY2hhciogd2Via2l0X2RvbV90ZXN0
X29ial9nZXRfc3RyaW5nX2F0dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RP
YmoqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwog
ICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZiksIDAp
OwpAQCAtMjA5NCw4ICsyMTA3LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfc3RyaW5nX2F0
dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9zdHJpbmdfYXR0
cl93aXRoX3NldHRlcl9leGNlcHRpb24oV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgY29uc3QgZ2No
YXIqIHZhbHVlLCBHRXJyb3IqKiBlcnJvcikKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9zZXRf
c3RyaW5nX2F0dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RPYmoqIHNlbGYs
IGNvbnN0IGdjaGFyKiB2YWx1ZSwgR0Vycm9yKiogZXJyb3IpCiB7CiAgICAgV2ViQ29yZTo6SlNN
YWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RP
TV9JU19URVNUX09CSihzZWxmKSk7CkBAIC0yMTExLDggKzIxMjMsNyBAQCB3ZWJraXRfZG9tX3Rl
c3Rfb2JqX3NldF9zdHJpbmdfYXR0cl93aXRoX3NldHRlcl9leGNlcHRpb24oV2ViS2l0RE9NVGVz
dE9iaiogc2VsZgogICAgIH0KIH0KIAotZ2xvbmcKLXdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3dp
dGhfc2NyaXB0X3N0YXRlX2F0dHJpYnV0ZShXZWJLaXRET01UZXN0T2JqKiBzZWxmKQorZ2xvbmcg
d2Via2l0X2RvbV90ZXN0X29ial9nZXRfd2l0aF9zY3JpcHRfc3RhdGVfYXR0cmlidXRlKFdlYktp
dERPTVRlc3RPYmoqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRl
IHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkoo
c2VsZiksIDApOwpAQCAtMjEyMSw4ICsyMTMyLDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9nZXRf
d2l0aF9zY3JpcHRfc3RhdGVfYXR0cmlidXRlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfd2l0aF9z
Y3JpcHRfc3RhdGVfYXR0cmlidXRlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIHZhbHVl
KQordm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF93aXRoX3NjcmlwdF9zdGF0ZV9hdHRyaWJ1
dGUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6
SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lU
X0RPTV9JU19URVNUX09CSihzZWxmKSk7CkBAIC0yMTMwLDggKzIxNDAsNyBAQCB3ZWJraXRfZG9t
X3Rlc3Rfb2JqX3NldF93aXRoX3NjcmlwdF9zdGF0ZV9hdHRyaWJ1dGUoV2ViS2l0RE9NVGVzdE9i
aiogc2VsZiwgZ2xvbgogICAgIGl0ZW0tPnNldFdpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZSh2YWx1
ZSk7CiB9CiAKLVdlYktpdERPTVRlc3RPYmoqCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF93aXRo
X3NjcmlwdF9leGVjdXRpb25fY29udGV4dF9hdHRyaWJ1dGUoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZikKK1dlYktpdERPTVRlc3RPYmoqIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3dpdGhfc2NyaXB0
X2V4ZWN1dGlvbl9jb250ZXh0X2F0dHJpYnV0ZShXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewog
ICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92
YWxfaWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpLCAwKTsKQEAgLTIxNDAsOCAr
MjE0OSw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3dpdGhfc2NyaXB0X2V4ZWN1dGlvbl9j
b250ZXh0X2F0dHJpYnV0ZShXZWJLaXRET01UZXN0T2JqCiAgICAgcmV0dXJuIFdlYktpdDo6a2l0
KGdvYmplY3RSZXN1bHQuZ2V0KCkpOwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3Nl
dF93aXRoX3NjcmlwdF9leGVjdXRpb25fY29udGV4dF9hdHRyaWJ1dGUoV2ViS2l0RE9NVGVzdE9i
aiogc2VsZiwgV2ViS2l0RE9NVGVzdE9iaiogdmFsdWUpCit2b2lkIHdlYmtpdF9kb21fdGVzdF9v
Ympfc2V0X3dpdGhfc2NyaXB0X2V4ZWN1dGlvbl9jb250ZXh0X2F0dHJpYnV0ZShXZWJLaXRET01U
ZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0T2JqKiB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpK
U01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
RE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKQEAgLTIxNTEsOCArMjE1OSw3IEBAIHdlYmtpdF9kb21f
dGVzdF9vYmpfc2V0X3dpdGhfc2NyaXB0X2V4ZWN1dGlvbl9jb250ZXh0X2F0dHJpYnV0ZShXZWJL
aXRET01UZXN0T2JqCiAgICAgaXRlbS0+c2V0V2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRy
aWJ1dGUoY29udmVydGVkVmFsdWUpOwogfQogCi1XZWJLaXRET01UZXN0T2JqKgotd2Via2l0X2Rv
bV90ZXN0X29ial9nZXRfd2l0aF9zY3JpcHRfc3RhdGVfYXR0cmlidXRlX3JhaXNlcyhXZWJLaXRE
T01UZXN0T2JqKiBzZWxmLCBHRXJyb3IqKiBlcnJvcikKK1dlYktpdERPTVRlc3RPYmoqIHdlYmtp
dF9kb21fdGVzdF9vYmpfZ2V0X3dpdGhfc2NyaXB0X3N0YXRlX2F0dHJpYnV0ZV9yYWlzZXMoV2Vi
S2l0RE9NVGVzdE9iaiogc2VsZiwgR0Vycm9yKiogZXJyb3IpCiB7CiAgICAgV2ViQ29yZTo6SlNN
YWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJ
VF9ET01fSVNfVEVTVF9PQkooc2VsZiksIDApOwpAQCAtMjE2Nyw4ICsyMTc0LDcgQEAgd2Via2l0
X2RvbV90ZXN0X29ial9nZXRfd2l0aF9zY3JpcHRfc3RhdGVfYXR0cmlidXRlX3JhaXNlcyhXZWJL
aXRET01UZXN0T2JqKiBzZWwKICAgICByZXR1cm4gV2ViS2l0OjpraXQoZ29iamVjdFJlc3VsdC5n
ZXQoKSk7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3dpdGhfc2NyaXB0X3N0
YXRlX2F0dHJpYnV0ZV9yYWlzZXMoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVz
dE9iaiogdmFsdWUpCit2b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3dpdGhfc2NyaXB0X3N0
YXRlX2F0dHJpYnV0ZV9yYWlzZXMoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVz
dE9iaiogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRl
OwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7CkBA
IC0yMTc4LDggKzIxODQsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF93aXRoX3NjcmlwdF9z
dGF0ZV9hdHRyaWJ1dGVfcmFpc2VzKFdlYktpdERPTVRlc3RPYmoqIHNlbAogICAgIGl0ZW0tPnNl
dFdpdGhTY3JpcHRTdGF0ZUF0dHJpYnV0ZVJhaXNlcyhjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAKLVdl
YktpdERPTVRlc3RPYmoqCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF93aXRoX3NjcmlwdF9leGVj
dXRpb25fY29udGV4dF9hdHRyaWJ1dGVfcmFpc2VzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIEdF
cnJvcioqIGVycm9yKQorV2ViS2l0RE9NVGVzdE9iaiogd2Via2l0X2RvbV90ZXN0X29ial9nZXRf
d2l0aF9zY3JpcHRfZXhlY3V0aW9uX2NvbnRleHRfYXR0cmlidXRlX3JhaXNlcyhXZWJLaXRET01U
ZXN0T2JqKiBzZWxmLCBHRXJyb3IqKiBlcnJvcikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJl
YWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9J
U19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0yMTk0LDggKzIxOTksNyBAQCB3ZWJraXRfZG9tX3Rl
c3Rfb2JqX2dldF93aXRoX3NjcmlwdF9leGVjdXRpb25fY29udGV4dF9hdHRyaWJ1dGVfcmFpc2Vz
KFdlYktpdERPTQogICAgIHJldHVybiBXZWJLaXQ6OmtpdChnb2JqZWN0UmVzdWx0LmdldCgpKTsK
IH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfd2l0aF9zY3JpcHRfZXhlY3V0aW9u
X2NvbnRleHRfYXR0cmlidXRlX3JhaXNlcyhXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRE
T01UZXN0T2JqKiB2YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfd2l0aF9zY3Jp
cHRfZXhlY3V0aW9uX2NvbnRleHRfYXR0cmlidXRlX3JhaXNlcyhXZWJLaXRET01UZXN0T2JqKiBz
ZWxmLCBXZWJLaXRET01UZXN0T2JqKiB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJl
YWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RF
U1RfT0JKKHNlbGYpKTsKQEAgLTIyMDUsOCArMjIwOSw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpf
c2V0X3dpdGhfc2NyaXB0X2V4ZWN1dGlvbl9jb250ZXh0X2F0dHJpYnV0ZV9yYWlzZXMoV2ViS2l0
RE9NCiAgICAgaXRlbS0+c2V0V2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBdHRyaWJ1dGVSYWlz
ZXMoY29udmVydGVkVmFsdWUpOwogfQogCi1XZWJLaXRET01UZXN0T2JqKgotd2Via2l0X2RvbV90
ZXN0X29ial9nZXRfd2l0aF9zY3JpcHRfZXhlY3V0aW9uX2NvbnRleHRfYW5kX3NjcmlwdF9zdGF0
ZV9hdHRyaWJ1dGUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKK1dlYktpdERPTVRlc3RPYmoqIHdl
YmtpdF9kb21fdGVzdF9vYmpfZ2V0X3dpdGhfc2NyaXB0X2V4ZWN1dGlvbl9jb250ZXh0X2FuZF9z
Y3JpcHRfc3RhdGVfYXR0cmlidXRlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7CiAgICAgV2Vi
Q29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9m
YWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZiksIDApOwpAQCAtMjIxNSw4ICsyMjE4LDcg
QEAgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfd2l0aF9zY3JpcHRfZXhlY3V0aW9uX2NvbnRleHRf
YW5kX3NjcmlwdF9zdGF0ZV9hdHRyaWJ1dGUKICAgICByZXR1cm4gV2ViS2l0OjpraXQoZ29iamVj
dFJlc3VsdC5nZXQoKSk7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3dpdGhf
c2NyaXB0X2V4ZWN1dGlvbl9jb250ZXh0X2FuZF9zY3JpcHRfc3RhdGVfYXR0cmlidXRlKFdlYktp
dERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3RPYmoqIHZhbHVlKQordm9pZCB3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX3NldF93aXRoX3NjcmlwdF9leGVjdXRpb25fY29udGV4dF9hbmRfc2NyaXB0
X3N0YXRlX2F0dHJpYnV0ZShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0T2Jq
KiB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAg
ICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKQEAgLTIy
MjYsOCArMjIyOCw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3dpdGhfc2NyaXB0X2V4ZWN1
dGlvbl9jb250ZXh0X2FuZF9zY3JpcHRfc3RhdGVfYXR0cmlidXRlCiAgICAgaXRlbS0+c2V0V2l0
aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRBbmRTY3JpcHRTdGF0ZUF0dHJpYnV0ZShjb252ZXJ0ZWRW
YWx1ZSk7CiB9CiAKLVdlYktpdERPTVRlc3RPYmoqCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF93
aXRoX3NjcmlwdF9leGVjdXRpb25fY29udGV4dF9hbmRfc2NyaXB0X3N0YXRlX2F0dHJpYnV0ZV9y
YWlzZXMoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgR0Vycm9yKiogZXJyb3IpCitXZWJLaXRET01U
ZXN0T2JqKiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF93aXRoX3NjcmlwdF9leGVjdXRpb25fY29u
dGV4dF9hbmRfc2NyaXB0X3N0YXRlX2F0dHJpYnV0ZV9yYWlzZXMoV2ViS2l0RE9NVGVzdE9iaiog
c2VsZiwgR0Vycm9yKiogZXJyb3IpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0
YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9P
Qkooc2VsZiksIDApOwpAQCAtMjI0Miw4ICsyMjQzLDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9n
ZXRfd2l0aF9zY3JpcHRfZXhlY3V0aW9uX2NvbnRleHRfYW5kX3NjcmlwdF9zdGF0ZV9hdHRyaWJ1
dGUKICAgICByZXR1cm4gV2ViS2l0OjpraXQoZ29iamVjdFJlc3VsdC5nZXQoKSk7CiB9CiAKLXZv
aWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X3dpdGhfc2NyaXB0X2V4ZWN1dGlvbl9jb250ZXh0
X2FuZF9zY3JpcHRfc3RhdGVfYXR0cmlidXRlX3JhaXNlcyhXZWJLaXRET01UZXN0T2JqKiBzZWxm
LCBXZWJLaXRET01UZXN0T2JqKiB2YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9zZXRf
d2l0aF9zY3JpcHRfZXhlY3V0aW9uX2NvbnRleHRfYW5kX3NjcmlwdF9zdGF0ZV9hdHRyaWJ1dGVf
cmFpc2VzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVRlc3RPYmoqIHZhbHVlKQog
ewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVy
bl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikpOwpAQCAtMjI1Myw4ICsyMjUz
LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfd2l0aF9zY3JpcHRfZXhlY3V0aW9uX2NvbnRl
eHRfYW5kX3NjcmlwdF9zdGF0ZV9hdHRyaWJ1dGUKICAgICBpdGVtLT5zZXRXaXRoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dEFuZFNjcmlwdFN0YXRlQXR0cmlidXRlUmFpc2VzKGNvbnZlcnRlZFZhbHVl
KTsKIH0KIAotV2ViS2l0RE9NVGVzdE9iaioKLXdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3dpdGhf
c2NyaXB0X2V4ZWN1dGlvbl9jb250ZXh0X2FuZF9zY3JpcHRfc3RhdGVfd2l0aF9zcGFjZXNfYXR0
cmlidXRlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCitXZWJLaXRET01UZXN0T2JqKiB3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF93aXRoX3NjcmlwdF9leGVjdXRpb25fY29udGV4dF9hbmRfc2NyaXB0
X3N0YXRlX3dpdGhfc3BhY2VzX2F0dHJpYnV0ZShXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewog
ICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92
YWxfaWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpLCAwKTsKQEAgLTIyNjMsOCAr
MjI2Miw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3dpdGhfc2NyaXB0X2V4ZWN1dGlvbl9j
b250ZXh0X2FuZF9zY3JpcHRfc3RhdGVfd2l0aF9zcGFjCiAgICAgcmV0dXJuIFdlYktpdDo6a2l0
KGdvYmplY3RSZXN1bHQuZ2V0KCkpOwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3Nl
dF93aXRoX3NjcmlwdF9leGVjdXRpb25fY29udGV4dF9hbmRfc2NyaXB0X3N0YXRlX3dpdGhfc3Bh
Y2VzX2F0dHJpYnV0ZShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01UZXN0T2JqKiB2
YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfd2l0aF9zY3JpcHRfZXhlY3V0aW9u
X2NvbnRleHRfYW5kX3NjcmlwdF9zdGF0ZV93aXRoX3NwYWNlc19hdHRyaWJ1dGUoV2ViS2l0RE9N
VGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NVGVzdE9iaiogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6
SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lU
X0RPTV9JU19URVNUX09CSihzZWxmKSk7CkBAIC0yMjc0LDggKzIyNzIsNyBAQCB3ZWJraXRfZG9t
X3Rlc3Rfb2JqX3NldF93aXRoX3NjcmlwdF9leGVjdXRpb25fY29udGV4dF9hbmRfc2NyaXB0X3N0
YXRlX3dpdGhfc3BhYwogICAgIGl0ZW0tPnNldFdpdGhTY3JpcHRFeGVjdXRpb25Db250ZXh0QW5k
U2NyaXB0U3RhdGVXaXRoU3BhY2VzQXR0cmlidXRlKGNvbnZlcnRlZFZhbHVlKTsKIH0KIAotZ2xv
bmcKLXdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2NvbmRpdGlvbmFsX2F0dHIxKFdlYktpdERPTVRl
c3RPYmoqIHNlbGYpCitnbG9uZyB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9jb25kaXRpb25hbF9h
dHRyMShXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogI2lmIEVOQUJMRShDb25kaXRpb24xKQog
ICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKQEAgLTIyODksOCArMjI4
Niw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2NvbmRpdGlvbmFsX2F0dHIxKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYpCiAjZW5kaWYgLyogRU5BQkxFKENvbmRpdGlvbjEpICovCiB9CiAKLXZv
aWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2NvbmRpdGlvbmFsX2F0dHIxKFdlYktpdERPTVRl
c3RPYmoqIHNlbGYsIGdsb25nIHZhbHVlKQordm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9j
b25kaXRpb25hbF9hdHRyMShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSkKIHsK
ICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3Rh
dGUgc3RhdGU7CkBAIC0yMzAyLDggKzIyOTgsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9j
b25kaXRpb25hbF9hdHRyMShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSkKICNl
bmRpZiAvKiBFTkFCTEUoQ29uZGl0aW9uMSkgKi8KIH0KIAotZ2xvbmcKLXdlYmtpdF9kb21fdGVz
dF9vYmpfZ2V0X2NvbmRpdGlvbmFsX2F0dHIyKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCitnbG9u
ZyB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9jb25kaXRpb25hbF9hdHRyMihXZWJLaXRET01UZXN0
T2JqKiBzZWxmKQogewogI2lmIEVOQUJMRShDb25kaXRpb24xKSAmJiBFTkFCTEUoQ29uZGl0aW9u
MikKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CkBAIC0yMzIyLDgg
KzIzMTcsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9jb25kaXRpb25hbF9hdHRyMihXZWJL
aXRET01UZXN0T2JqKiBzZWxmKQogI2VuZGlmIC8qIEVOQUJMRShDb25kaXRpb24xKSAmJiBFTkFC
TEUoQ29uZGl0aW9uMikgKi8KIH0KIAotdm9pZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfY29u
ZGl0aW9uYWxfYXR0cjIoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgdmFsdWUpCit2b2lk
IHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2NvbmRpdGlvbmFsX2F0dHIyKFdlYktpdERPTVRlc3RP
YmoqIHNlbGYsIGdsb25nIHZhbHVlKQogewogI2lmIEVOQUJMRShDb25kaXRpb24xKSAmJiBFTkFC
TEUoQ29uZGl0aW9uMikKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7
CkBAIC0yMzQwLDggKzIzMzQsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9jb25kaXRpb25h
bF9hdHRyMihXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSkKICNlbmRpZiAvKiBF
TkFCTEUoQ29uZGl0aW9uMSkgJiYgRU5BQkxFKENvbmRpdGlvbjIpICovCiB9CiAKLWdsb25nCi13
ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9jb25kaXRpb25hbF9hdHRyMyhXZWJLaXRET01UZXN0T2Jq
KiBzZWxmKQorZ2xvbmcgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfY29uZGl0aW9uYWxfYXR0cjMo
V2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5B
QkxFKENvbmRpdGlvbjIpCiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRl
OwpAQCAtMjM1Niw4ICsyMzQ5LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfY29uZGl0aW9u
YWxfYXR0cjMoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKICNlbmRpZiAvKiBFTkFCTEUoQ29uZGl0
aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpICovCiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVz
dF9vYmpfc2V0X2NvbmRpdGlvbmFsX2F0dHIzKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25n
IHZhbHVlKQordm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9jb25kaXRpb25hbF9hdHRyMyhX
ZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSkKIHsKICNpZiBFTkFCTEUoQ29uZGl0
aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOwpAQCAtMjM3MCw4ICsyMzYyLDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9z
ZXRfY29uZGl0aW9uYWxfYXR0cjMoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgdmFsdWUp
CiAjZW5kaWYgLyogRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKSAqLwog
fQogCi1XZWJLaXRET01hbnkqCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9hbnlfYXR0cmlidXRl
KFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCitXZWJLaXRET01hbnkqIHdlYmtpdF9kb21fdGVzdF9v
YmpfZ2V0X2FueV9hdHRyaWJ1dGUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJD
b3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2Zh
aWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0yMzgwLDggKzIzNzEsNyBA
QCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9hbnlfYXR0cmlidXRlKFdlYktpdERPTVRlc3RPYmoq
IHNlbGYpCiAgICAgcmV0dXJuIDA7IC8vIFRPRE86IHJldHVybiBjYW52YXMgb2JqZWN0CiB9CiAK
LXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2FueV9hdHRyaWJ1dGUoV2ViS2l0RE9NVGVz
dE9iaiogc2VsZiwgV2ViS2l0RE9NYW55KiB2YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29i
al9zZXRfYW55X2F0dHJpYnV0ZShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01hbnkq
IHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAg
ICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2VsZikpOwpAQCAtMjM5
MSw4ICsyMzgxLDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfYW55X2F0dHJpYnV0ZShXZWJL
aXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01hbnkqIHZhbHUKICAgICBpdGVtLT5zZXRBbnlB
dHRyaWJ1dGUoY29udmVydGVkVmFsdWUpOwogfQogCi1XZWJLaXRET01Eb2N1bWVudCoKLXdlYmtp
dF9kb21fdGVzdF9vYmpfZ2V0X2NvbnRlbnRfZG9jdW1lbnQoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZikKK1dlYktpdERPTURvY3VtZW50KiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9jb250ZW50X2Rv
Y3VtZW50KFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhy
ZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01f
SVNfVEVTVF9PQkooc2VsZiksIDApOwpAQCAtMjQwMSw4ICsyMzkwLDcgQEAgd2Via2l0X2RvbV90
ZXN0X29ial9nZXRfY29udGVudF9kb2N1bWVudChXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogICAg
IHJldHVybiBXZWJLaXQ6OmtpdChnb2JqZWN0UmVzdWx0LmdldCgpKTsKIH0KIAotV2ViS2l0RE9N
U1ZHUG9pbnQqCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9tdXRhYmxlX3BvaW50KFdlYktpdERP
TVRlc3RPYmoqIHNlbGYpCitXZWJLaXRET01TVkdQb2ludCogd2Via2l0X2RvbV90ZXN0X29ial9n
ZXRfbXV0YWJsZV9wb2ludChXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAgIFdlYkNvcmU6
OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChX
RUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpLCAwKTsKQEAgLTI0MTEsOCArMjM5OSw3IEBAIHdl
YmtpdF9kb21fdGVzdF9vYmpfZ2V0X211dGFibGVfcG9pbnQoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZikKICAgICByZXR1cm4gV2ViS2l0OjpraXQoZ29iamVjdFJlc3VsdC5nZXQoKSk7CiB9CiAKLXZv
aWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X211dGFibGVfcG9pbnQoV2ViS2l0RE9NVGVzdE9i
aiogc2VsZiwgV2ViS2l0RE9NU1ZHUG9pbnQqIHZhbHVlKQordm9pZCB3ZWJraXRfZG9tX3Rlc3Rf
b2JqX3NldF9tdXRhYmxlX3BvaW50KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIFdlYktpdERPTVNW
R1BvaW50KiB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3Rh
dGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsK
QEAgLTI0MjIsOCArMjQwOSw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X211dGFibGVfcG9p
bnQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NU1ZHUG9pbnQqCiAgICAgaXRlbS0+
c2V0TXV0YWJsZVBvaW50KGNvbnZlcnRlZFZhbHVlKTsKIH0KIAotV2ViS2l0RE9NU1ZHUG9pbnQq
Ci13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9pbW11dGFibGVfcG9pbnQoV2ViS2l0RE9NVGVzdE9i
aiogc2VsZikKK1dlYktpdERPTVNWR1BvaW50KiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9pbW11
dGFibGVfcG9pbnQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01h
aW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lU
X0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0yNDMyLDggKzI0MTgsNyBAQCB3ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF9pbW11dGFibGVfcG9pbnQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikK
ICAgICByZXR1cm4gV2ViS2l0OjpraXQoZ29iamVjdFJlc3VsdC5nZXQoKSk7CiB9CiAKLXZvaWQK
LXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2ltbXV0YWJsZV9wb2ludChXZWJLaXRET01UZXN0T2Jq
KiBzZWxmLCBXZWJLaXRET01TVkdQb2ludCogdmFsdWUpCit2b2lkIHdlYmtpdF9kb21fdGVzdF9v
Ympfc2V0X2ltbXV0YWJsZV9wb2ludChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBXZWJLaXRET01T
VkdQb2ludCogdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0
YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSk7
CkBAIC0yNDQzLDggKzI0MjgsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9pbW11dGFibGVf
cG9pbnQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgV2ViS2l0RE9NU1ZHUG9pbgogICAgIGl0ZW0t
PnNldEltbXV0YWJsZVBvaW50KGNvbnZlcnRlZFZhbHVlKTsKIH0KIAotZ2xvbmcKLXdlYmtpdF9k
b21fdGVzdF9vYmpfZ2V0X3N0cmF3YmVycnkoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKK2dsb25n
IHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X3N0cmF3YmVycnkoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0y
NDUzLDggKzI0MzcsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9zdHJhd2JlcnJ5KFdlYktp
dERPTVRlc3RPYmoqIHNlbGYpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9pZAotd2Via2l0
X2RvbV90ZXN0X29ial9zZXRfc3RyYXdiZXJyeShXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9u
ZyB2YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X29ial9zZXRfc3RyYXdiZXJyeShXZWJLaXRE
T01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJl
YWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RF
U1RfT0JKKHNlbGYpKTsKQEAgLTI0NjIsOCArMjQ0NSw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpf
c2V0X3N0cmF3YmVycnkoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgdmFsdWUpCiAgICAg
aXRlbS0+c2V0Qmx1ZWJlcnJ5KHZhbHVlKTsKIH0KIAotZ2Zsb2F0Ci13ZWJraXRfZG9tX3Rlc3Rf
b2JqX2dldF9zdHJpY3RfZmxvYXQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKK2dmbG9hdCB3ZWJr
aXRfZG9tX3Rlc3Rfb2JqX2dldF9zdHJpY3RfZmxvYXQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikK
IHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1
cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0yNDcy
LDggKzI0NTQsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9zdHJpY3RfZmxvYXQoV2ViS2l0
RE9NVGVzdE9iaiogc2VsZikKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkCi13ZWJraXRf
ZG9tX3Rlc3Rfb2JqX3NldF9zdHJpY3RfZmxvYXQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2Zs
b2F0IHZhbHVlKQordm9pZCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9zdHJpY3RfZmxvYXQoV2Vi
S2l0RE9NVGVzdE9iaiogc2VsZiwgZ2Zsb2F0IHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFp
blRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01f
SVNfVEVTVF9PQkooc2VsZikpOwpAQCAtMjQ4MSw4ICsyNDYyLDcgQEAgd2Via2l0X2RvbV90ZXN0
X29ial9zZXRfc3RyaWN0X2Zsb2F0KFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdmbG9hdCB2YWx1
ZSkKICAgICBpdGVtLT5zZXRTdHJpY3RGbG9hdCh2YWx1ZSk7CiB9CiAKLWdsb25nCi13ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF9kZXNjcmlwdGlvbihXZWJLaXRET01UZXN0T2JqKiBzZWxmKQorZ2xv
bmcgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfZGVzY3JpcHRpb24oV2ViS2l0RE9NVGVzdE9iaiog
c2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAg
Z19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBA
IC0yNDkxLDggKzI0NzEsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9kZXNjcmlwdGlvbihX
ZWJLaXRET01UZXN0T2JqKiBzZWxmKQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLWdsb25nCi13
ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9pZChXZWJLaXRET01UZXN0T2JqKiBzZWxmKQorZ2xvbmcg
d2Via2l0X2RvbV90ZXN0X29ial9nZXRfaWQoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAg
ICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFs
X2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0yNTAxLDggKzI0
ODAsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9pZChXZWJLaXRET01UZXN0T2JqKiBzZWxm
KQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF9vYmpfc2V0
X2lkKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGdsb25nIHZhbHVlKQordm9pZCB3ZWJraXRfZG9t
X3Rlc3Rfb2JqX3NldF9pZChXZWJLaXRET01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSkKIHsK
ICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5f
aWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpKTsKQEAgLTI1MTAsOCArMjQ4OCw3
IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X2lkKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIGds
b25nIHZhbHVlKQogICAgIGl0ZW0tPnNldElkKHZhbHVlKTsKIH0KIAotZ2NoYXIqCi13ZWJraXRf
ZG9tX3Rlc3Rfb2JqX2dldF9oYXNoKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCitnY2hhciogd2Vi
a2l0X2RvbV90ZXN0X29ial9nZXRfaGFzaChXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAg
IFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxf
aWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpLCAwKTsKQEAgLTI1MjAsOCArMjQ5
Nyw3IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X2hhc2goV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZikKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1nbG9uZwotd2Via2l0X2RvbV90ZXN0X29ial9n
ZXRfcmVwbGFjZWFibGVfYXR0cmlidXRlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCitnbG9uZyB3
ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZXBsYWNlYWJsZV9hdHRyaWJ1dGUoV2ViS2l0RE9NVGVz
dE9iaiogc2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7
CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwg
MCk7CkBAIC0yNTMwLDggKzI1MDYsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9yZXBsYWNl
YWJsZV9hdHRyaWJ1dGUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCi1nZG91YmxlCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9udWxsYWJsZV9kb3VibGVf
YXR0cmlidXRlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCitnZG91YmxlIHdlYmtpdF9kb21fdGVz
dF9vYmpfZ2V0X251bGxhYmxlX2RvdWJsZV9hdHRyaWJ1dGUoV2ViS2l0RE9NVGVzdE9iaiogc2Vs
ZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0y
NTQxLDggKzI1MTYsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9udWxsYWJsZV9kb3VibGVf
YXR0cmlidXRlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAotZ2xvbmcKLXdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X251bGxhYmxlX2xvbmdfYXR0cmlidXRl
KFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCitnbG9uZyB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9u
dWxsYWJsZV9sb25nX2F0dHJpYnV0ZShXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAgIFdl
YkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZf
ZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpLCAwKTsKQEAgLTI1NTIsOCArMjUyNiw3
IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X251bGxhYmxlX2xvbmdfYXR0cmlidXRlKFdlYktp
dERPTVRlc3RPYmoqIHNlbGYpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotZ2Jvb2xlYW4KLXdl
YmtpdF9kb21fdGVzdF9vYmpfZ2V0X251bGxhYmxlX2Jvb2xlYW5fYXR0cmlidXRlKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYpCitnYm9vbGVhbiB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9udWxsYWJs
ZV9ib29sZWFuX2F0dHJpYnV0ZShXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAgIFdlYkNv
cmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFp
bChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpLCBGQUxTRSk7CkBAIC0yNTYzLDggKzI1MzYs
NyBAQCB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9udWxsYWJsZV9ib29sZWFuX2F0dHJpYnV0ZShX
ZWJLaXRET01UZXN0T2JqKiBzZWxmKQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLWdjaGFyKgot
d2Via2l0X2RvbV90ZXN0X29ial9nZXRfbnVsbGFibGVfc3RyaW5nX2F0dHJpYnV0ZShXZWJLaXRE
T01UZXN0T2JqKiBzZWxmKQorZ2NoYXIqIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X251bGxhYmxl
X3N0cmluZ19hdHRyaWJ1dGUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZikKIHsKICAgICBXZWJDb3Jl
OjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwo
V0VCS0lUX0RPTV9JU19URVNUX09CSihzZWxmKSwgMCk7CkBAIC0yNTc0LDggKzI1NDYsNyBAQCB3
ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9udWxsYWJsZV9zdHJpbmdfYXR0cmlidXRlKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotZ2xvbmcKLXdlYmtpdF9k
b21fdGVzdF9vYmpfZ2V0X251bGxhYmxlX2xvbmdfc2V0dGFibGVfYXR0cmlidXRlKFdlYktpdERP
TVRlc3RPYmoqIHNlbGYpCitnbG9uZyB3ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9udWxsYWJsZV9s
b25nX3NldHRhYmxlX2F0dHJpYnV0ZShXZWJLaXRET01UZXN0T2JqKiBzZWxmKQogewogICAgIFdl
YkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZf
ZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfT0JKKHNlbGYpLCAwKTsKQEAgLTI1ODUsOCArMjU1Niw3
IEBAIHdlYmtpdF9kb21fdGVzdF9vYmpfZ2V0X251bGxhYmxlX2xvbmdfc2V0dGFibGVfYXR0cmli
dXRlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9p
ZAotd2Via2l0X2RvbV90ZXN0X29ial9zZXRfbnVsbGFibGVfbG9uZ19zZXR0YWJsZV9hdHRyaWJ1
dGUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgdmFsdWUpCit2b2lkIHdlYmtpdF9kb21f
dGVzdF9vYmpfc2V0X251bGxhYmxlX2xvbmdfc2V0dGFibGVfYXR0cmlidXRlKFdlYktpdERPTVRl
c3RPYmoqIHNlbGYsIGdsb25nIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51
bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9P
Qkooc2VsZikpOwpAQCAtMjU5NCw4ICsyNTY0LDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9zZXRf
bnVsbGFibGVfbG9uZ19zZXR0YWJsZV9hdHRyaWJ1dGUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwK
ICAgICBpdGVtLT5zZXROdWxsYWJsZUxvbmdTZXR0YWJsZUF0dHJpYnV0ZSh2YWx1ZSk7CiB9CiAK
LWdsb25nCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX2dldF9udWxsYWJsZV9zdHJpbmdfdmFsdWUoV2Vi
S2l0RE9NVGVzdE9iaiogc2VsZiwgR0Vycm9yKiogZXJyb3IpCitnbG9uZyB3ZWJraXRfZG9tX3Rl
c3Rfb2JqX2dldF9udWxsYWJsZV9zdHJpbmdfdmFsdWUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwg
R0Vycm9yKiogZXJyb3IpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0
YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9PQkooc2Vs
ZiksIDApOwpAQCAtMjYxMSw4ICsyNTgwLDcgQEAgd2Via2l0X2RvbV90ZXN0X29ial9nZXRfbnVs
bGFibGVfc3RyaW5nX3ZhbHVlKFdlYktpdERPTVRlc3RPYmoqIHNlbGYsIEdFcnJvcioqIGUKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfb2JqX3NldF9udWxs
YWJsZV9zdHJpbmdfdmFsdWUoV2ViS2l0RE9NVGVzdE9iaiogc2VsZiwgZ2xvbmcgdmFsdWUpCit2
b2lkIHdlYmtpdF9kb21fdGVzdF9vYmpfc2V0X251bGxhYmxlX3N0cmluZ192YWx1ZShXZWJLaXRE
T01UZXN0T2JqKiBzZWxmLCBnbG9uZyB2YWx1ZSkKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJl
YWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RF
U1RfT0JKKHNlbGYpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmouaAppbmRleCA1ZDY5YmEx
MjY5YmY0NDg1Mzg1ZjdmZGI4ZmU3NDlhNzc2ZmI4MGVhLi5iMDU1MDU2MTgzM2JmMDQ1NzI1NThl
YzY2MDgyMzhmZjNmZmUzODI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T2JqLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9iai5oCkBAIC0x
LDIyICsxLDIyIEBACiAvKgotICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3Bl
biBzb3VyY2UgcHJvamVjdC4KLSAgICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQotCi0gICAgVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0g
ICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFO
VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdO
VQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot
Ci0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
LSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCisgKiAgVGhpcyBmaWxlIGlzIHBh
cnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgorICogIFRoaXMgZmlsZSBoYXMg
YmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCisg
KgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg
YSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgorICovCiAKICNpZiAhZGVmaW5lZChfX1dFQktJVERPTV9IX0lOU0lERV9fKSAmJiAhZGVmaW5l
ZChCVUlMRElOR19XRUJLSVQpCiAjZXJyb3IgIk9ubHkgPHdlYmtpdGRvbS93ZWJraXRkb20uaD4g
Y2FuIGJlIGluY2x1ZGVkIGRpcmVjdGx5LiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RPYmpQcml2YXRlLmggYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0
T2JqUHJpdmF0ZS5oCmluZGV4IDAyMjYwYWY0OTM4ZTJlOTQ3MTlmODM5MTljMTlkNGY3ZDVjOTIz
ZjguLjZlMzZhNmViMjFlODQ1MzZmMjdkZTI1ZTc0NGYxOGU1OGViZDg2YjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRl
c3RPYmpQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0dPYmplY3QvV2ViS2l0RE9NVGVzdE9ialByaXZhdGUuaApAQCAtMSwyMiArMSwyMiBAQAogLyoK
LSAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3Qu
Ci0gICAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5w
bC4gRE8gTk9UIE1PRElGWSEKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCi0qLworICogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQg
b3BlbiBzb3VyY2UgcHJvamVjdC4KKyAqICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5
IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQorICoKKyAqICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwogCiAjaWZuZGVm
IFdlYktpdERPTVRlc3RPYmpQcml2YXRlX2gKICNkZWZpbmUgV2ViS2l0RE9NVGVzdE9ialByaXZh
dGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE92ZXJsb2Fk
ZWRDb25zdHJ1Y3RvcnMuY3BwCmluZGV4IGYwYjIxMGI4MjZjMGY3NjA3YTM0NDdmZTEwZDk2Mzky
M2JhMDljMTIuLjBmNTcyZjJlMGYwNGExOGFiNmQ5M2M0MjI4ZmQ1MTI5ODBkMjBhMzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktp
dERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T3ZlcmxvYWRlZENvbnN0
cnVjdG9ycy5jcHAKQEAgLTEsMjIgKzEsMjIgQEAKIC8qCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQg
b2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgotICAgIFRoaXMgZmlsZSBoYXMgYmVl
biBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCi0KLSAg
ICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KKyAq
ICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCisg
KiAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4g
RE8gTk9UIE1PRElGWSEKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlv
dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBN
QSAwMjExMC0xMzAxLCBVU0EuCisgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IldlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T3Zl
cmxvYWRlZENvbnN0cnVjdG9ycy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnMuaAppbmRleCA4
MWFjOWIxYjVkYzJlZmZmMDA2MjVkNzg2OGYxM2IzMDQ1NzBjY2E0Li5lYmJhYmY5M2M3OTk3ZjE3
NGRkNDYzZTkwZDQ2MDk5MTM1ZmM5MWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVj
dG9ycy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0
L1dlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzLmgKQEAgLTEsMjIgKzEsMjIgQEAK
IC8qCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9q
ZWN0LgotICAgIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGlu
Z3MucGwuIERPIE5PVCBNT0RJRlkhCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFz
IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KKyAqICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2Vi
S2l0IG9wZW4gc291cmNlIHByb2plY3QuCisgKiAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKKyAqCisgKiAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor
ICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqICBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICog
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KIAogI2lm
ICFkZWZpbmVkKF9fV0VCS0lURE9NX0hfSU5TSURFX18pICYmICFkZWZpbmVkKEJVSUxESU5HX1dF
QktJVCkKICNlcnJvciAiT25seSA8d2Via2l0ZG9tL3dlYmtpdGRvbS5oPiBjYW4gYmUgaW5jbHVk
ZWQgZGlyZWN0bHkuIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdE92ZXJsb2FkZWRDb25zdHJ1Y3RvcnNQcml2YXRl
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1ByaXZhdGUuaAppbmRleCA5OWQzZjhjOTI2NTA2
ZTc5Y2E4NDEyNzcxZTdiNzJiNjA2ZTY2MGIzLi4yMDc0NGEyODRhYzY5NzczZjhlYWQwMTQxMmFh
MjY0ODI2ZjExZGEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1ByaXZhdGUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJL
aXRET01UZXN0T3ZlcmxvYWRlZENvbnN0cnVjdG9yc1ByaXZhdGUuaApAQCAtMSwyMiArMSwyMiBA
QAogLyoKLSAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHBy
b2plY3QuCi0gICAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5k
aW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAg
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0
aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9u
LCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLworICogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBX
ZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KKyAqICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQorICoKKyAqICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwogCiAj
aWZuZGVmIFdlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzUHJpdmF0ZV9oCiAjZGVm
aW5lIFdlYktpdERPTVRlc3RPdmVybG9hZGVkQ29uc3RydWN0b3JzUHJpdmF0ZV9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2UuY3BwCmluZGV4IGViODQ3NGYyZjA4ZWMzNjVlN2NiZDY0ZDgzYmNi
MTdhZjM1MzhkNjEuLjJkZjAyYzZiODJhNGE5MThhNjQ5OWM5MTA3ZDBkOGQ5MDM5NDg0YWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dl
YktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RTZXJp
YWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY3BwCkBAIC0xLDIyICsxLDIyIEBACiAvKgotICAg
IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KLSAg
ICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBE
TyBOT1QgTU9ESUZZIQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgot
Ci0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KLSovCisgKiAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVu
IHNvdXJjZSBwcm9qZWN0LgorICogIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2Vu
ZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCisgKgorICogIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCiAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlLmgiCkBAIC0xNjQsMzQgKzE2NCw0NiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rl
c3Rfc2VyaWFsaXplZF9zY3JpcHRfdmFsdWVfaW50ZXJmYWNlX2NsYXNzX2luaXQoV2ViS2l0RAog
ICAgIGdvYmplY3RDbGFzcy0+ZmluYWxpemUgPSB3ZWJraXRfZG9tX3Rlc3Rfc2VyaWFsaXplZF9z
Y3JpcHRfdmFsdWVfaW50ZXJmYWNlX2ZpbmFsaXplOwogICAgIGdvYmplY3RDbGFzcy0+Z2V0X3By
b3BlcnR5ID0gd2Via2l0X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX2ludGVyZmFj
ZV9nZXRfcHJvcGVydHk7CiAKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdv
YmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfVkFM
VUUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfb2Jq
ZWN0KCJ2YWx1ZSIsIC8qIG5hbWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlc3Rfc2VyaWFsaXplZF9zY3JpcHRfdmFsdWVf
aW50ZXJmYWNlX3ZhbHVlIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlYWQtd3JpdGUg
IFdlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZUludGVyZmFjZS52YWx1ZSIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGggc29tZSBleHRyYSBk
b2Mgc3R1ZmYgaGVyZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01fU0VSSUFMSVpFRF9TQ1JJUFRfVkFM
VUUsIC8qIGdvYmplY3QgdHlwZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7Ci0gICAg
Z19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1JFQURPTkxZX1ZBTFVFLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX29iamVjdCgicmVhZG9ubHkt
dmFsdWUiLCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX2ludGVy
ZmFjZV9yZWFkb25seS12YWx1ZSIsIC8qIHNob3J0IGRlc2NyaXB0aW9uICovCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJyZWFkLW9u
bHkgIFdlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogVGVzdFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZUludGVyZmFjZS5yZWFkb25seS12YWx1ZSIsIC8qIGxvbmdlciAtIGNvdWxkIGRvIHdpdGgg
c29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVyZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01fU0VSSUFMSVpF
RF9TQ1JJUFRfVkFMVUUsIC8qIGdvYmplY3QgdHlwZSAqLwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBREFC
TEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfQ0FDSEVEX1ZBTFVFLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX29iamVjdCgi
Y2FjaGVkLXZhbHVlIiwgLyogbmFtZSAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF9zZXJpYWxpemVkX3NjcmlwdF92YWx1
ZV9pbnRlcmZhY2VfY2FjaGVkLXZhbHVlIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJl
YWQtd3JpdGUgIFdlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogVGVzdFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZUludGVyZmFjZS5jYWNoZWQtdmFsdWUiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3
aXRoIHNvbWUgZXh0cmEgZG9jIHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1NFUklB
TElaRURfU0NSSVBUX1ZBTFVFLCAvKiBnb2JqZWN0IHR5cGUgKi8KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JF
QURXUklURSkpOwotICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVjdENs
YXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9DQUNIRURfUkVB
RE9OTFlfVkFMVUUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3BhcmFt
X3NwZWNfb2JqZWN0KCJjYWNoZWQtcmVhZG9ubHktdmFsdWUiLCAvKiBuYW1lICovCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0
X3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX2ludGVyZmFjZV9jYWNoZWQtcmVhZG9ubHktdmFsdWUi
LCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVhZC1vbmx5ICBXZWJLaXRET01TZXJpYWxp
emVkU2NyaXB0VmFsdWUqIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UuY2FjaGVk
LXJlYWRvbmx5LXZhbHVlIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRv
YyBzdHVmZiBoZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFdFQktJVF9UWVBFX0RPTV9TRVJJQUxJWkVEX1NDUklQVF9WQUxV
RSwgLyogZ29iamVjdCB0eXBlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEQUJMRSkpOworICAgIGdf
b2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdvYmplY3RDbGFzcywKKyAg
ICAgICAgUFJPUF9WQUxVRSwKKyAgICAgICAgZ19wYXJhbV9zcGVjX29iamVjdCgKKyAgICAgICAg
ICAgICJ2YWx1ZSIsCisgICAgICAgICAgICAiVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVy
ZmFjZTp2YWx1ZSIsCisgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERPTVNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZSogVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTp2YWx1ZSIsCisg
ICAgICAgICAgICBXRUJLSVRfVFlQRV9ET01fU0VSSUFMSVpFRF9TQ1JJUFRfVkFMVUUsCisgICAg
ICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19p
bnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfUkVB
RE9OTFlfVkFMVUUsCisgICAgICAgIGdfcGFyYW1fc3BlY19vYmplY3QoCisgICAgICAgICAgICAi
cmVhZG9ubHktdmFsdWUiLAorICAgICAgICAgICAgIlRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2U6cmVhZG9ubHktdmFsdWUiLAorICAgICAgICAgICAgInJlYWQtb25seSBXZWJLaXRE
T01TZXJpYWxpemVkU2NyaXB0VmFsdWUqIFRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZh
Y2U6cmVhZG9ubHktdmFsdWUiLAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1NFUklBTEla
RURfU0NSSVBUX1ZBTFVFLAorICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CisK
KyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xh
c3MsCisgICAgICAgIFBST1BfQ0FDSEVEX1ZBTFVFLAorICAgICAgICBnX3BhcmFtX3NwZWNfb2Jq
ZWN0KAorICAgICAgICAgICAgImNhY2hlZC12YWx1ZSIsCisgICAgICAgICAgICAiVGVzdFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZTpjYWNoZWQtdmFsdWUiLAorICAgICAgICAgICAgInJl
YWQtb25seSBXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWUqIFRlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2U6Y2FjaGVkLXZhbHVlIiwKKyAgICAgICAgICAgIFdFQktJVF9UWVBF
X0RPTV9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRSwKKyAgICAgICAgICAgIFdFQktJVF9QQVJBTV9S
RUFEV1JJVEUpKTsKKworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAg
ICAgIGdvYmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9DQUNIRURfUkVBRE9OTFlfVkFMVUUsCisg
ICAgICAgIGdfcGFyYW1fc3BlY19vYmplY3QoCisgICAgICAgICAgICAiY2FjaGVkLXJlYWRvbmx5
LXZhbHVlIiwKKyAgICAgICAgICAgICJUZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
OmNhY2hlZC1yZWFkb25seS12YWx1ZSIsCisgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERP
TVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFj
ZTpjYWNoZWQtcmVhZG9ubHktdmFsdWUiLAorICAgICAgICAgICAgV0VCS0lUX1RZUEVfRE9NX1NF
UklBTElaRURfU0NSSVBUX1ZBTFVFLAorICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURBQkxF
KSk7CisKIH0KIAogc3RhdGljIHZvaWQgd2Via2l0X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0
X3ZhbHVlX2ludGVyZmFjZV9pbml0KFdlYktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2UqIHJlcXVlc3QpCkBAIC0yMDAsOCArMjEyLDcgQEAgc3RhdGljIHZvaWQgd2Via2l0
X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX2ludGVyZmFjZV9pbml0KFdlYktpdERP
TVRlc3QKICAgICBuZXcgKHByaXYpIFdlYktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJ
bnRlcmZhY2VQcml2YXRlKCk7CiB9CiAKLVdlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSoK
LXdlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9pbnRlcmZhY2VfZ2V0X3Zh
bHVlKFdlYktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2UqIHNlbGYpCitX
ZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWUqIHdlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVk
X3NjcmlwdF92YWx1ZV9pbnRlcmZhY2VfZ2V0X3ZhbHVlKFdlYktpdERPTVRlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2UqIHNlbGYpCiB7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpIHx8
IEVOQUJMRShDb25kaXRpb24yKQogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBz
dGF0ZTsKQEAgLTIxNiw4ICsyMjcsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfc2VyaWFsaXplZF9zY3Jp
cHRfdmFsdWVfaW50ZXJmYWNlX2dldF92YWx1ZShXZWJLaXRET01UZXN0U2VyaWFsaQogI2VuZGlm
IC8qIEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29uZGl0aW9uMikgKi8KIH0KIAotdm9p
ZAotd2Via2l0X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX2ludGVyZmFjZV9zZXRf
dmFsdWUoV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogc2VsZiwg
V2ViS2l0RE9NU2VyaWFsaXplZFNjcmlwdFZhbHVlKiB2YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90
ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX2ludGVyZmFjZV9zZXRfdmFsdWUoV2ViS2l0RE9N
VGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogc2VsZiwgV2ViS2l0RE9NU2VyaWFs
aXplZFNjcmlwdFZhbHVlKiB2YWx1ZSkKIHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5B
QkxFKENvbmRpdGlvbjIpCiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRl
OwpAQCAtMjMyLDggKzI0Miw3IEBAIHdlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3NjcmlwdF92
YWx1ZV9pbnRlcmZhY2Vfc2V0X3ZhbHVlKFdlYktpdERPTVRlc3RTZXJpYWxpCiAjZW5kaWYgLyog
RU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24yKSAqLwogfQogCi1XZWJLaXRE
T01TZXJpYWxpemVkU2NyaXB0VmFsdWUqCi13ZWJraXRfZG9tX3Rlc3Rfc2VyaWFsaXplZF9zY3Jp
cHRfdmFsdWVfaW50ZXJmYWNlX2dldF9yZWFkb25seV92YWx1ZShXZWJLaXRET01UZXN0U2VyaWFs
aXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlKiBzZWxmKQorV2ViS2l0RE9NU2VyaWFsaXplZFNjcmlw
dFZhbHVlKiB3ZWJraXRfZG9tX3Rlc3Rfc2VyaWFsaXplZF9zY3JpcHRfdmFsdWVfaW50ZXJmYWNl
X2dldF9yZWFkb25seV92YWx1ZShXZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlKiBzZWxmKQogewogI2lmIEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29uZGl0
aW9uMikKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CkBAIC0yNDgs
OCArMjU3LDcgQEAgd2Via2l0X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX2ludGVy
ZmFjZV9nZXRfcmVhZG9ubHlfdmFsdWUoV2ViS2l0RE9NVGUKICNlbmRpZiAvKiBFTkFCTEUoQ29u
ZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpICovCiB9CiAKLVdlYktpdERPTVNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZSoKLXdlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9p
bnRlcmZhY2VfZ2V0X2NhY2hlZF92YWx1ZShXZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZh
bHVlSW50ZXJmYWNlKiBzZWxmKQorV2ViS2l0RE9NU2VyaWFsaXplZFNjcmlwdFZhbHVlKiB3ZWJr
aXRfZG9tX3Rlc3Rfc2VyaWFsaXplZF9zY3JpcHRfdmFsdWVfaW50ZXJmYWNlX2dldF9jYWNoZWRf
dmFsdWUoV2ViS2l0RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogc2VsZikK
IHsKICNpZiBFTkFCTEUoQ29uZGl0aW9uMSkgfHwgRU5BQkxFKENvbmRpdGlvbjIpCiAgICAgV2Vi
Q29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwpAQCAtMjY0LDggKzI3Miw3IEBAIHdl
YmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9pbnRlcmZhY2VfZ2V0X2NhY2hl
ZF92YWx1ZShXZWJLaXRET01UZXN0CiAjZW5kaWYgLyogRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVO
QUJMRShDb25kaXRpb24yKSAqLwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rfc2VyaWFsaXpl
ZF9zY3JpcHRfdmFsdWVfaW50ZXJmYWNlX3NldF9jYWNoZWRfdmFsdWUoV2ViS2l0RE9NVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZSogc2VsZiwgV2ViS2l0RE9NU2VyaWFsaXplZFNj
cmlwdFZhbHVlKiB2YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0
X3ZhbHVlX2ludGVyZmFjZV9zZXRfY2FjaGVkX3ZhbHVlKFdlYktpdERPTVRlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2UqIHNlbGYsIFdlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZSogdmFsdWUpCiB7CiAjaWYgRU5BQkxFKENvbmRpdGlvbjEpIHx8IEVOQUJMRShDb25kaXRpb24y
KQogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKQEAgLTI4MCw4ICsy
ODcsNyBAQCB3ZWJraXRfZG9tX3Rlc3Rfc2VyaWFsaXplZF9zY3JpcHRfdmFsdWVfaW50ZXJmYWNl
X3NldF9jYWNoZWRfdmFsdWUoV2ViS2l0RE9NVGVzdAogI2VuZGlmIC8qIEVOQUJMRShDb25kaXRp
b24xKSB8fCBFTkFCTEUoQ29uZGl0aW9uMikgKi8KIH0KIAotV2ViS2l0RE9NU2VyaWFsaXplZFNj
cmlwdFZhbHVlKgotd2Via2l0X2RvbV90ZXN0X3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlX2ludGVy
ZmFjZV9nZXRfY2FjaGVkX3JlYWRvbmx5X3ZhbHVlKFdlYktpdERPTVRlc3RTZXJpYWxpemVkU2Ny
aXB0VmFsdWVJbnRlcmZhY2UqIHNlbGYpCitXZWJLaXRET01TZXJpYWxpemVkU2NyaXB0VmFsdWUq
IHdlYmtpdF9kb21fdGVzdF9zZXJpYWxpemVkX3NjcmlwdF92YWx1ZV9pbnRlcmZhY2VfZ2V0X2Nh
Y2hlZF9yZWFkb25seV92YWx1ZShXZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50
ZXJmYWNlKiBzZWxmKQogewogI2lmIEVOQUJMRShDb25kaXRpb24xKSB8fCBFTkFCTEUoQ29uZGl0
aW9uMikKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRE
T01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlw
dFZhbHVlSW50ZXJmYWNlLmgKaW5kZXggNmE3M2Y2N2Y2MDg3MDI3N2IyN2E5ODcyYzk5ZWY1MTU0
ODNiOTVlYS4uZDcxMGZjYTMxOWZhNTY3MTc1OWJiZjBiOTFjODgyODE0NDRjNTllOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RTZXJpYWxpemVk
U2NyaXB0VmFsdWVJbnRlcmZhY2UuaApAQCAtMSwyMiArMSwyMiBAQAogLyoKLSAgICBUaGlzIGZp
bGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCi0gICAgVGhpcyBm
aWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1P
RElGWSEKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCi0qLworICogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2Ug
cHJvamVjdC4KKyAqICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJp
bmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
ICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAq
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwogCiAjaWYgIWRlZmluZWQoX19XRUJL
SVRET01fSF9JTlNJREVfXykgJiYgIWRlZmluZWQoQlVJTERJTkdfV0VCS0lUKQogI2Vycm9yICJP
bmx5IDx3ZWJraXRkb20vd2Via2l0ZG9tLmg+IGNhbiBiZSBpbmNsdWRlZCBkaXJlY3RseS4iCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9X
ZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNlUHJpdmF0ZS5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZUludGVyZmFjZVByaXZhdGUuaAppbmRleCAxM2IyZDY2OTEwOWYy
MzM5N2Q4NTI4ZGM0MGQ1Nzk1NGY0ZTFmNTNiLi40ZWY1MGNiNmYzZWIxYjNkMjA2YjNiMmI0MzM2
MTI4ZjcyZjhkZWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVlSW50ZXJmYWNl
UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0VmFsdWVJbnRlcmZhY2VQcml2YXRlLmgK
QEAgLTEsMjIgKzEsMjIgQEAKIC8qCi0gICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIFdlYktp
dCBvcGVuIHNvdXJjZSBwcm9qZWN0LgotICAgIFRoaXMgZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQg
YnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCi0KLSAgICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gICAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgICBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgICB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8KKyAqICBUaGlzIGZpbGUg
aXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCisgKiAgVGhpcyBmaWxl
IGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElG
WSEKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAq
ICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bworICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAx
LCBVU0EuCisgKi8KIAogI2lmbmRlZiBXZWJLaXRET01UZXN0U2VyaWFsaXplZFNjcmlwdFZhbHVl
SW50ZXJmYWNlUHJpdmF0ZV9oCiAjZGVmaW5lIFdlYktpdERPTVRlc3RTZXJpYWxpemVkU2NyaXB0
VmFsdWVJbnRlcmZhY2VQcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RUeXBlZGVmcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0VHlw
ZWRlZnMuY3BwCmluZGV4IDQ1YzZmMDNjYWI4MmY0YTdkMzZhZTRmODk0YTA5MzdkZTk3MDk2MmYu
LmMyNGI1YjM3NTkzNDZkYjMyM2RlOTQ2ZDJhYzhlNDQxYmI0MTE4NGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RU
eXBlZGVmcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dP
YmplY3QvV2ViS2l0RE9NVGVzdFR5cGVkZWZzLmNwcApAQCAtMSwyMiArMSwyMiBAQAogLyoKLSAg
ICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCi0g
ICAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4g
RE8gTk9UIE1PRElGWSEKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
LQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0qLworICogIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3Bl
biBzb3VyY2UgcHJvamVjdC4KKyAqICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdl
bmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQorICoKKyAqICBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
KyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiAgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0RE9NVGVzdFR5cGVkZWZzLmgiCkBAIC0xODcsNTQg
KzE4Nyw2NiBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfZG9tX3Rlc3RfdHlwZWRlZnNfY2xhc3NfaW5p
dChXZWJLaXRET01UZXN0VHlwZWRlZnNDbGFzcyogcmVxdQogICAgIGdvYmplY3RDbGFzcy0+c2V0
X3Byb3BlcnR5ID0gd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX3NldF9wcm9wZXJ0eTsKICAgICBn
b2JqZWN0Q2xhc3MtPmdldF9wcm9wZXJ0eSA9IHdlYmtpdF9kb21fdGVzdF90eXBlZGVmc19nZXRf
cHJvcGVydHk7CiAKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RD
bGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BfVU5TSUdORURf
TE9OR19MT05HX0FUVFIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3Bh
cmFtX3NwZWNfdWludDY0KCJ1bnNpZ25lZC1sb25nLWxvbmctYXR0ciIsIC8qIG5hbWUgKi8KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
InRlc3RfdHlwZWRlZnNfdW5zaWduZWQtbG9uZy1sb25nLWF0dHIiLCAvKiBzaG9ydCBkZXNjcmlw
dGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAicmVhZC13cml0ZSAgZ3VpbnQ2NCBUZXN0VHlwZWRlZnMudW5zaWduZWQtbG9u
Zy1sb25nLWF0dHIiLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9jIHN0
dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMCwgLyogbWluICovCi1HX01BWFVJTlQ2NCwgLyogbWluICovCi0wLCAv
KiBkZWZhdWx0ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9j
bGFzc19pbnN0YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFBST1BfSU1NVVRBQkxFX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX29iamVjdCgi
aW1tdXRhYmxlLXNlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlIiwgLyogbmFtZSAqLwotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF90
eXBlZGVmc19pbW11dGFibGUtc2VyaWFsaXplZC1zY3JpcHQtdmFsdWUiLCAvKiBzaG9ydCBkZXNj
cmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAicmVhZC13cml0ZSAgV2ViS2l0RE9NU2VyaWFsaXplZFNjcmlwdFZhbHVl
KiBUZXN0VHlwZWRlZnMuaW1tdXRhYmxlLXNlcmlhbGl6ZWQtc2NyaXB0LXZhbHVlIiwgLyogbG9u
Z2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdFQktJ
VF9UWVBFX0RPTV9TRVJJQUxJWkVEX1NDUklQVF9WQUxVRSwgLyogZ29iamVjdCB0eXBlICovCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3By
b3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFBST1BfQVRUUl9XSVRIX0dFVFRFUl9FWENFUFRJT04sCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnX3BhcmFtX3NwZWNfbG9uZygiYXR0ci13aXRoLWdldHRlci1leGNlcHRp
b24iLCAvKiBuYW1lICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICJ0ZXN0X3R5cGVkZWZzX2F0dHItd2l0aC1nZXR0ZXItZXhjZXB0
aW9uIiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlYWQtd3JpdGUgIGdsb25nIFRlc3RU
eXBlZGVmcy5hdHRyLXdpdGgtZ2V0dGVyLWV4Y2VwdGlvbiIsIC8qIGxvbmdlciAtIGNvdWxkIGRv
IHdpdGggc29tZSBleHRyYSBkb2Mgc3R1ZmYgaGVyZSAqLwotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX01JTkxPTkcsIC8qIG1pbiAq
LwotR19NQVhMT05HLCAvKiBtYXggKi8KLTAsIC8qIGRlZmF1bHQgKi8KLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFN
X1JFQURXUklURSkpOwotICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoZ29iamVj
dENsYXNzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUF9BVFRSX1dJ
VEhfU0VUVEVSX0VYQ0VQVElPTiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGdfcGFyYW1fc3BlY19sb25nKCJhdHRyLXdpdGgtc2V0dGVyLWV4Y2VwdGlvbiIsIC8qIG5hbWUg
Ki8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgInRlc3RfdHlwZWRlZnNfYXR0ci13aXRoLXNldHRlci1leGNlcHRpb24iLCAvKiBzaG9y
dCBkZXNjcmlwdGlvbiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAicmVhZC13cml0ZSAgZ2xvbmcgVGVzdFR5cGVkZWZzLmF0dHIt
d2l0aC1zZXR0ZXItZXhjZXB0aW9uIiwgLyogbG9uZ2VyIC0gY291bGQgZG8gd2l0aCBzb21lIGV4
dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEdfTUlOTE9ORywgLyogbWluICovCi1HX01BWExPTkcs
IC8qIG1heCAqLwotMCwgLyogZGVmYXVsdCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7
Ci0gICAgZ19vYmplY3RfY2xhc3NfaW5zdGFsbF9wcm9wZXJ0eShnb2JqZWN0Q2xhc3MsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9QX1NUUklOR19BVFRSX1dJVEhfR0VU
VEVSX0VYQ0VQVElPTiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFy
YW1fc3BlY19zdHJpbmcoInN0cmluZy1hdHRyLXdpdGgtZ2V0dGVyLWV4Y2VwdGlvbiIsIC8qIG5h
bWUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgInRlc3RfdHlwZWRlZnNfc3RyaW5nLWF0dHItd2l0aC1nZXR0ZXItZXhjZXB0aW9u
IiwgLyogc2hvcnQgZGVzY3JpcHRpb24gKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJlYWQtd3JpdGUgIGdjaGFyKiBUZXN0VHlw
ZWRlZnMuc3RyaW5nLWF0dHItd2l0aC1nZXR0ZXItZXhjZXB0aW9uIiwgLyogbG9uZ2VyIC0gY291
bGQgZG8gd2l0aCBzb21lIGV4dHJhIGRvYyBzdHVmZiBoZXJlICovCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIiLCAvKiBkZWZhdWx0
ICovCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKLSAgICBnX29iamVjdF9jbGFzc19pbnN0
YWxsX3Byb3BlcnR5KGdvYmplY3RDbGFzcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFBST1BfU1RSSU5HX0FUVFJfV0lUSF9TRVRURVJfRVhDRVBUSU9OLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJhbV9zcGVjX3N0cmluZygic3RyaW5nLWF0
dHItd2l0aC1zZXR0ZXItZXhjZXB0aW9uIiwgLyogbmFtZSAqLwotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGVzdF90eXBlZGVmc19z
dHJpbmctYXR0ci13aXRoLXNldHRlci1leGNlcHRpb24iLCAvKiBzaG9ydCBkZXNjcmlwdGlvbiAq
LwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAicmVhZC13cml0ZSAgZ2NoYXIqIFRlc3RUeXBlZGVmcy5zdHJpbmctYXR0ci13aXRoLXNl
dHRlci1leGNlcHRpb24iLCAvKiBsb25nZXIgLSBjb3VsZCBkbyB3aXRoIHNvbWUgZXh0cmEgZG9j
IHN0dWZmIGhlcmUgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIiIsIC8qIGRlZmF1bHQgKi8KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURX
UklURSkpOworICAgIGdfb2JqZWN0X2NsYXNzX2luc3RhbGxfcHJvcGVydHkoCisgICAgICAgIGdv
YmplY3RDbGFzcywKKyAgICAgICAgUFJPUF9VTlNJR05FRF9MT05HX0xPTkdfQVRUUiwKKyAgICAg
ICAgZ19wYXJhbV9zcGVjX3VpbnQ2NCgKKyAgICAgICAgICAgICJ1bnNpZ25lZC1sb25nLWxvbmct
YXR0ciIsCisgICAgICAgICAgICAiVGVzdFR5cGVkZWZzOnVuc2lnbmVkLWxvbmctbG9uZy1hdHRy
IiwKKyAgICAgICAgICAgICJyZWFkLW9ubHkgZ3VpbnQ2NCBUZXN0VHlwZWRlZnM6dW5zaWduZWQt
bG9uZy1sb25nLWF0dHIiLAorICAgICAgICAgICAgMCwgR19NQVhVSU5UNjQsIDAsCisgICAgICAg
ICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19pbnN0
YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfSU1NVVRB
QkxFX1NFUklBTElaRURfU0NSSVBUX1ZBTFVFLAorICAgICAgICBnX3BhcmFtX3NwZWNfb2JqZWN0
KAorICAgICAgICAgICAgImltbXV0YWJsZS1zZXJpYWxpemVkLXNjcmlwdC12YWx1ZSIsCisgICAg
ICAgICAgICAiVGVzdFR5cGVkZWZzOmltbXV0YWJsZS1zZXJpYWxpemVkLXNjcmlwdC12YWx1ZSIs
CisgICAgICAgICAgICAicmVhZC1vbmx5IFdlYktpdERPTVNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSog
VGVzdFR5cGVkZWZzOmltbXV0YWJsZS1zZXJpYWxpemVkLXNjcmlwdC12YWx1ZSIsCisgICAgICAg
ICAgICBXRUJLSVRfVFlQRV9ET01fU0VSSUFMSVpFRF9TQ1JJUFRfVkFMVUUsCisgICAgICAgICAg
ICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxs
X3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfQVRUUl9XSVRI
X0dFVFRFUl9FWENFUFRJT04sCisgICAgICAgIGdfcGFyYW1fc3BlY19sb25nKAorICAgICAgICAg
ICAgImF0dHItd2l0aC1nZXR0ZXItZXhjZXB0aW9uIiwKKyAgICAgICAgICAgICJUZXN0VHlwZWRl
ZnM6YXR0ci13aXRoLWdldHRlci1leGNlcHRpb24iLAorICAgICAgICAgICAgInJlYWQtb25seSBn
bG9uZyBUZXN0VHlwZWRlZnM6YXR0ci13aXRoLWdldHRlci1leGNlcHRpb24iLAorICAgICAgICAg
ICAgR19NSU5MT05HLCBHX01BWExPTkcsIDAsCisgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVB
RFdSSVRFKSk7CisKKyAgICBnX29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KAorICAgICAg
ICBnb2JqZWN0Q2xhc3MsCisgICAgICAgIFBST1BfQVRUUl9XSVRIX1NFVFRFUl9FWENFUFRJT04s
CisgICAgICAgIGdfcGFyYW1fc3BlY19sb25nKAorICAgICAgICAgICAgImF0dHItd2l0aC1zZXR0
ZXItZXhjZXB0aW9uIiwKKyAgICAgICAgICAgICJUZXN0VHlwZWRlZnM6YXR0ci13aXRoLXNldHRl
ci1leGNlcHRpb24iLAorICAgICAgICAgICAgInJlYWQtb25seSBnbG9uZyBUZXN0VHlwZWRlZnM6
YXR0ci13aXRoLXNldHRlci1leGNlcHRpb24iLAorICAgICAgICAgICAgR19NSU5MT05HLCBHX01B
WExPTkcsIDAsCisgICAgICAgICAgICBXRUJLSVRfUEFSQU1fUkVBRFdSSVRFKSk7CisKKyAgICBn
X29iamVjdF9jbGFzc19pbnN0YWxsX3Byb3BlcnR5KAorICAgICAgICBnb2JqZWN0Q2xhc3MsCisg
ICAgICAgIFBST1BfU1RSSU5HX0FUVFJfV0lUSF9HRVRURVJfRVhDRVBUSU9OLAorICAgICAgICBn
X3BhcmFtX3NwZWNfc3RyaW5nKAorICAgICAgICAgICAgInN0cmluZy1hdHRyLXdpdGgtZ2V0dGVy
LWV4Y2VwdGlvbiIsCisgICAgICAgICAgICAiVGVzdFR5cGVkZWZzOnN0cmluZy1hdHRyLXdpdGgt
Z2V0dGVyLWV4Y2VwdGlvbiIsCisgICAgICAgICAgICAicmVhZC1vbmx5IGdjaGFyKiBUZXN0VHlw
ZWRlZnM6c3RyaW5nLWF0dHItd2l0aC1nZXR0ZXItZXhjZXB0aW9uIiwKKyAgICAgICAgICAgICIi
LAorICAgICAgICAgICAgV0VCS0lUX1BBUkFNX1JFQURXUklURSkpOworCisgICAgZ19vYmplY3Rf
Y2xhc3NfaW5zdGFsbF9wcm9wZXJ0eSgKKyAgICAgICAgZ29iamVjdENsYXNzLAorICAgICAgICBQ
Uk9QX1NUUklOR19BVFRSX1dJVEhfU0VUVEVSX0VYQ0VQVElPTiwKKyAgICAgICAgZ19wYXJhbV9z
cGVjX3N0cmluZygKKyAgICAgICAgICAgICJzdHJpbmctYXR0ci13aXRoLXNldHRlci1leGNlcHRp
b24iLAorICAgICAgICAgICAgIlRlc3RUeXBlZGVmczpzdHJpbmctYXR0ci13aXRoLXNldHRlci1l
eGNlcHRpb24iLAorICAgICAgICAgICAgInJlYWQtb25seSBnY2hhciogVGVzdFR5cGVkZWZzOnN0
cmluZy1hdHRyLXdpdGgtc2V0dGVyLWV4Y2VwdGlvbiIsCisgICAgICAgICAgICAiIiwKKyAgICAg
ICAgICAgIFdFQktJVF9QQVJBTV9SRUFEV1JJVEUpKTsKKwogfQogCiBzdGF0aWMgdm9pZCB3ZWJr
aXRfZG9tX3Rlc3RfdHlwZWRlZnNfaW5pdChXZWJLaXRET01UZXN0VHlwZWRlZnMqIHJlcXVlc3Qp
CkBAIC0yNDMsOCArMjU1LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZz
X2luaXQoV2ViS2l0RE9NVGVzdFR5cGVkZWZzKiByZXF1ZXN0KQogICAgIG5ldyAocHJpdikgV2Vi
S2l0RE9NVGVzdFR5cGVkZWZzUHJpdmF0ZSgpOwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rf
dHlwZWRlZnNfZnVuYyhXZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYsIFdlYktpdERPTWxvbmdb
XSogeCkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX2Z1bmMoV2ViS2l0RE9NVGVzdFR5
cGVkZWZzKiBzZWxmLCBXZWJLaXRET01sb25nW10qIHgpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWlu
VGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9J
U19URVNUX1RZUEVERUZTKHNlbGYpKTsKQEAgLTI1NCw4ICsyNjUsNyBAQCB3ZWJraXRfZG9tX3Rl
c3RfdHlwZWRlZnNfZnVuYyhXZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYsIFdlYktpdERPTWxv
bmdbXSogeCkKICAgICBpdGVtLT5mdW5jKGNvbnZlcnRlZFgpOwogfQogCi12b2lkCi13ZWJraXRf
ZG9tX3Rlc3RfdHlwZWRlZnNfc2V0X3NoYWRvdyhXZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYs
IGdmbG9hdCB3aWR0aCwgZ2Zsb2F0IGhlaWdodCwgZ2Zsb2F0IGJsdXIsIGNvbnN0IGdjaGFyKiBj
b2xvciwgZ2Zsb2F0IGFscGhhKQordm9pZCB3ZWJraXRfZG9tX3Rlc3RfdHlwZWRlZnNfc2V0X3No
YWRvdyhXZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYsIGdmbG9hdCB3aWR0aCwgZ2Zsb2F0IGhl
aWdodCwgZ2Zsb2F0IGJsdXIsIGNvbnN0IGdjaGFyKiBjb2xvciwgZ2Zsb2F0IGFscGhhKQogewog
ICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9p
Zl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9UWVBFREVGUyhzZWxmKSk7CkBAIC0yNjUsOCArMjc1
LDcgQEAgd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX3NldF9zaGFkb3coV2ViS2l0RE9NVGVzdFR5
cGVkZWZzKiBzZWxmLCBnZmxvYXQgd2lkdGgsIGcKICAgICBpdGVtLT5zZXRTaGFkb3cod2lkdGgs
IGhlaWdodCwgYmx1ciwgY29udmVydGVkQ29sb3IsIGFscGhhKTsKIH0KIAotdm9pZAotd2Via2l0
X2RvbV90ZXN0X3R5cGVkZWZzX251bGxhYmxlX2FycmF5X2FyZyhXZWJLaXRET01UZXN0VHlwZWRl
ZnMqIHNlbGYsIFdlYktpdERPTURPTVN0cmluZ1tdKiBhcnJheUFyZykKK3ZvaWQgd2Via2l0X2Rv
bV90ZXN0X3R5cGVkZWZzX251bGxhYmxlX2FycmF5X2FyZyhXZWJLaXRET01UZXN0VHlwZWRlZnMq
IHNlbGYsIFdlYktpdERPTURPTVN0cmluZ1tdKiBhcnJheUFyZykKIHsKICAgICBXZWJDb3JlOjpK
U01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRf
RE9NX0lTX1RFU1RfVFlQRURFRlMoc2VsZikpOwpAQCAtMjc2LDggKzI4NSw3IEBAIHdlYmtpdF9k
b21fdGVzdF90eXBlZGVmc19udWxsYWJsZV9hcnJheV9hcmcoV2ViS2l0RE9NVGVzdFR5cGVkZWZz
KiBzZWxmLCBXZWJLaXRECiAgICAgaXRlbS0+bnVsbGFibGVBcnJheUFyZyhjb252ZXJ0ZWRBcnJh
eUFyZyk7CiB9CiAKLVdlYktpdERPTVNWR1BvaW50Kgotd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZz
X2ltbXV0YWJsZV9wb2ludF9mdW5jdGlvbihXZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYpCitX
ZWJLaXRET01TVkdQb2ludCogd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX2ltbXV0YWJsZV9wb2lu
dF9mdW5jdGlvbihXZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6
SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdF
QktJVF9ET01fSVNfVEVTVF9UWVBFREVGUyhzZWxmKSwgMCk7CkBAIC0yODYsOCArMjk0LDcgQEAg
d2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX2ltbXV0YWJsZV9wb2ludF9mdW5jdGlvbihXZWJLaXRE
T01UZXN0VHlwZWRlZnMqIHNlbGYpCiAgICAgcmV0dXJuIFdlYktpdDo6a2l0KGdvYmplY3RSZXN1
bHQuZ2V0KCkpOwogfQogCi1XZWJLaXRET01ET01TdHJpbmdbXSoKLXdlYmtpdF9kb21fdGVzdF90
eXBlZGVmc19zdHJpbmdfYXJyYXlfZnVuY3Rpb24oV2ViS2l0RE9NVGVzdFR5cGVkZWZzKiBzZWxm
LCBXZWJLaXRET01ET01TdHJpbmdbXSogdmFsdWVzLCBHRXJyb3IqKiBlcnJvcikKK1dlYktpdERP
TURPTVN0cmluZ1tdKiB3ZWJraXRfZG9tX3Rlc3RfdHlwZWRlZnNfc3RyaW5nX2FycmF5X2Z1bmN0
aW9uKFdlYktpdERPTVRlc3RUeXBlZGVmcyogc2VsZiwgV2ViS2l0RE9NRE9NU3RyaW5nW10qIHZh
bHVlcywgR0Vycm9yKiogZXJyb3IpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0
YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9U
WVBFREVGUyhzZWxmKSwgMCk7CkBAIC0zMDQsOCArMzExLDcgQEAgd2Via2l0X2RvbV90ZXN0X3R5
cGVkZWZzX3N0cmluZ19hcnJheV9mdW5jdGlvbihXZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYs
IFdlYksKICAgICByZXR1cm4gV2ViS2l0OjpraXQoZ29iamVjdFJlc3VsdC5nZXQoKSk7CiB9CiAK
LVdlYktpdERPTURPTVN0cmluZ1tdKgotd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX3N0cmluZ19h
cnJheV9mdW5jdGlvbjIoV2ViS2l0RE9NVGVzdFR5cGVkZWZzKiBzZWxmLCBXZWJLaXRET01ET01T
dHJpbmdbXSogdmFsdWVzLCBHRXJyb3IqKiBlcnJvcikKK1dlYktpdERPTURPTVN0cmluZ1tdKiB3
ZWJraXRfZG9tX3Rlc3RfdHlwZWRlZnNfc3RyaW5nX2FycmF5X2Z1bmN0aW9uMihXZWJLaXRET01U
ZXN0VHlwZWRlZnMqIHNlbGYsIFdlYktpdERPTURPTVN0cmluZ1tdKiB2YWx1ZXMsIEdFcnJvcioq
IGVycm9yKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAg
ICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfVFlQRURFRlMoc2VsZiks
IDApOwpAQCAtMzIyLDggKzMyOCw3IEBAIHdlYmtpdF9kb21fdGVzdF90eXBlZGVmc19zdHJpbmdf
YXJyYXlfZnVuY3Rpb24yKFdlYktpdERPTVRlc3RUeXBlZGVmcyogc2VsZiwgV2ViCiAgICAgcmV0
dXJuIFdlYktpdDo6a2l0KGdvYmplY3RSZXN1bHQuZ2V0KCkpOwogfQogCi12b2lkCi13ZWJraXRf
ZG9tX3Rlc3RfdHlwZWRlZnNfbWV0aG9kX3dpdGhfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RUeXBl
ZGVmcyogc2VsZiwgR0Vycm9yKiogZXJyb3IpCit2b2lkIHdlYmtpdF9kb21fdGVzdF90eXBlZGVm
c19tZXRob2Rfd2l0aF9leGNlcHRpb24oV2ViS2l0RE9NVGVzdFR5cGVkZWZzKiBzZWxmLCBHRXJy
b3IqKiBlcnJvcikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUgc3RhdGU7
CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfVFlQRURFRlMoc2VsZikp
OwpAQCAtMzM3LDggKzM0Miw3IEBAIHdlYmtpdF9kb21fdGVzdF90eXBlZGVmc19tZXRob2Rfd2l0
aF9leGNlcHRpb24oV2ViS2l0RE9NVGVzdFR5cGVkZWZzKiBzZWxmLCBHRXJyCiAgICAgfQogfQog
Ci1ndWludDY0Ci13ZWJraXRfZG9tX3Rlc3RfdHlwZWRlZnNfZ2V0X3Vuc2lnbmVkX2xvbmdfbG9u
Z19hdHRyKFdlYktpdERPTVRlc3RUeXBlZGVmcyogc2VsZikKK2d1aW50NjQgd2Via2l0X2RvbV90
ZXN0X3R5cGVkZWZzX2dldF91bnNpZ25lZF9sb25nX2xvbmdfYXR0cihXZWJLaXRET01UZXN0VHlw
ZWRlZnMqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRl
OwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9UWVBFREVGUyhz
ZWxmKSwgMCk7CkBAIC0zNDcsOCArMzUxLDcgQEAgd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX2dl
dF91bnNpZ25lZF9sb25nX2xvbmdfYXR0cihXZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYKICAg
ICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3RfdHlwZWRlZnNfc2V0
X3Vuc2lnbmVkX2xvbmdfbG9uZ19hdHRyKFdlYktpdERPTVRlc3RUeXBlZGVmcyogc2VsZiwgZ3Vp
bnQ2NCB2YWx1ZSkKK3ZvaWQgd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX3NldF91bnNpZ25lZF9s
b25nX2xvbmdfYXR0cihXZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYsIGd1aW50NjQgdmFsdWUp
CiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0
dXJuX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX1RZUEVERUZTKHNlbGYpKTsKQEAgLTM1Niw4
ICszNTksNyBAQCB3ZWJraXRfZG9tX3Rlc3RfdHlwZWRlZnNfc2V0X3Vuc2lnbmVkX2xvbmdfbG9u
Z19hdHRyKFdlYktpdERPTVRlc3RUeXBlZGVmcyogc2VsZgogICAgIGl0ZW0tPnNldFVuc2lnbmVk
TG9uZ0xvbmdBdHRyKHZhbHVlKTsKIH0KIAotV2ViS2l0RE9NU2VyaWFsaXplZFNjcmlwdFZhbHVl
Kgotd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX2dldF9pbW11dGFibGVfc2VyaWFsaXplZF9zY3Jp
cHRfdmFsdWUoV2ViS2l0RE9NVGVzdFR5cGVkZWZzKiBzZWxmKQorV2ViS2l0RE9NU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlKiB3ZWJraXRfZG9tX3Rlc3RfdHlwZWRlZnNfZ2V0X2ltbXV0YWJsZV9zZXJp
YWxpemVkX3NjcmlwdF92YWx1ZShXZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYpCiB7CiAgICAg
V2ViQ29yZTo6SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9p
Zl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9UWVBFREVGUyhzZWxmKSwgMCk7CkBAIC0zNjYsOCAr
MzY4LDcgQEAgd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX2dldF9pbW11dGFibGVfc2VyaWFsaXpl
ZF9zY3JpcHRfdmFsdWUoV2ViS2l0RE9NVGVzdFR5cGUKICAgICByZXR1cm4gV2ViS2l0OjpraXQo
Z29iamVjdFJlc3VsdC5nZXQoKSk7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF90eXBlZGVm
c19zZXRfaW1tdXRhYmxlX3NlcmlhbGl6ZWRfc2NyaXB0X3ZhbHVlKFdlYktpdERPTVRlc3RUeXBl
ZGVmcyogc2VsZiwgV2ViS2l0RE9NU2VyaWFsaXplZFNjcmlwdFZhbHVlKiB2YWx1ZSkKK3ZvaWQg
d2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX3NldF9pbW11dGFibGVfc2VyaWFsaXplZF9zY3JpcHRf
dmFsdWUoV2ViS2l0RE9NVGVzdFR5cGVkZWZzKiBzZWxmLCBXZWJLaXRET01TZXJpYWxpemVkU2Ny
aXB0VmFsdWUqIHZhbHVlKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBz
dGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9UWVBFREVGUyhz
ZWxmKSk7CkBAIC0zNzcsOCArMzc4LDcgQEAgd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX3NldF9p
bW11dGFibGVfc2VyaWFsaXplZF9zY3JpcHRfdmFsdWUoV2ViS2l0RE9NVGVzdFR5cGUKICAgICBp
dGVtLT5zZXRJbW11dGFibGVTZXJpYWxpemVkU2NyaXB0VmFsdWUoY29udmVydGVkVmFsdWUpOwog
fQogCi1nbG9uZwotd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX2dldF9hdHRyX3dpdGhfZ2V0dGVy
X2V4Y2VwdGlvbihXZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYsIEdFcnJvcioqIGVycm9yKQor
Z2xvbmcgd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX2dldF9hdHRyX3dpdGhfZ2V0dGVyX2V4Y2Vw
dGlvbihXZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYsIEdFcnJvcioqIGVycm9yKQogewogICAg
IFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxf
aWZfZmFpbChXRUJLSVRfRE9NX0lTX1RFU1RfVFlQRURFRlMoc2VsZiksIDApOwpAQCAtMzkzLDgg
KzM5Myw3IEBAIHdlYmtpdF9kb21fdGVzdF90eXBlZGVmc19nZXRfYXR0cl93aXRoX2dldHRlcl9l
eGNlcHRpb24oV2ViS2l0RE9NVGVzdFR5cGVkZWZzKiBzCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAotdm9pZAotd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX3NldF9hdHRyX3dpdGhfZ2V0dGVyX2V4
Y2VwdGlvbihXZWJLaXRET01UZXN0VHlwZWRlZnMqIHNlbGYsIGdsb25nIHZhbHVlKQordm9pZCB3
ZWJraXRfZG9tX3Rlc3RfdHlwZWRlZnNfc2V0X2F0dHJfd2l0aF9nZXR0ZXJfZXhjZXB0aW9uKFdl
YktpdERPTVRlc3RUeXBlZGVmcyogc2VsZiwgZ2xvbmcgdmFsdWUpCiB7CiAgICAgV2ViQ29yZTo6
SlNNYWluVGhyZWFkTnVsbFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lU
X0RPTV9JU19URVNUX1RZUEVERUZTKHNlbGYpKTsKQEAgLTQwMiw4ICs0MDEsNyBAQCB3ZWJraXRf
ZG9tX3Rlc3RfdHlwZWRlZnNfc2V0X2F0dHJfd2l0aF9nZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERP
TVRlc3RUeXBlZGVmcyogcwogICAgIGl0ZW0tPnNldEF0dHJXaXRoR2V0dGVyRXhjZXB0aW9uKHZh
bHVlKTsKIH0KIAotZ2xvbmcKLXdlYmtpdF9kb21fdGVzdF90eXBlZGVmc19nZXRfYXR0cl93aXRo
X3NldHRlcl9leGNlcHRpb24oV2ViS2l0RE9NVGVzdFR5cGVkZWZzKiBzZWxmKQorZ2xvbmcgd2Vi
a2l0X2RvbV90ZXN0X3R5cGVkZWZzX2dldF9hdHRyX3dpdGhfc2V0dGVyX2V4Y2VwdGlvbihXZWJL
aXRET01UZXN0VHlwZWRlZnMqIHNlbGYpCiB7CiAgICAgV2ViQ29yZTo6SlNNYWluVGhyZWFkTnVs
bFN0YXRlIHN0YXRlOwogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVT
VF9UWVBFREVGUyhzZWxmKSwgMCk7CkBAIC00MTIsOCArNDEwLDcgQEAgd2Via2l0X2RvbV90ZXN0
X3R5cGVkZWZzX2dldF9hdHRyX3dpdGhfc2V0dGVyX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0VHlw
ZWRlZnMqIHMKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkCi13ZWJraXRfZG9tX3Rlc3Rf
dHlwZWRlZnNfc2V0X2F0dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RUeXBl
ZGVmcyogc2VsZiwgZ2xvbmcgdmFsdWUsIEdFcnJvcioqIGVycm9yKQordm9pZCB3ZWJraXRfZG9t
X3Rlc3RfdHlwZWRlZnNfc2V0X2F0dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRl
c3RUeXBlZGVmcyogc2VsZiwgZ2xvbmcgdmFsdWUsIEdFcnJvcioqIGVycm9yKQogewogICAgIFdl
YkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl9pZl9mYWls
KFdFQktJVF9ET01fSVNfVEVTVF9UWVBFREVGUyhzZWxmKSk7CkBAIC00MjcsOCArNDI0LDcgQEAg
d2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX3NldF9hdHRyX3dpdGhfc2V0dGVyX2V4Y2VwdGlvbihX
ZWJLaXRET01UZXN0VHlwZWRlZnMqIHMKICAgICB9CiB9CiAKLWdjaGFyKgotd2Via2l0X2RvbV90
ZXN0X3R5cGVkZWZzX2dldF9zdHJpbmdfYXR0cl93aXRoX2dldHRlcl9leGNlcHRpb24oV2ViS2l0
RE9NVGVzdFR5cGVkZWZzKiBzZWxmLCBHRXJyb3IqKiBlcnJvcikKK2djaGFyKiB3ZWJraXRfZG9t
X3Rlc3RfdHlwZWRlZnNfZ2V0X3N0cmluZ19hdHRyX3dpdGhfZ2V0dGVyX2V4Y2VwdGlvbihXZWJL
aXRET01UZXN0VHlwZWRlZnMqIHNlbGYsIEdFcnJvcioqIGVycm9yKQogewogICAgIFdlYkNvcmU6
OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChX
RUJLSVRfRE9NX0lTX1RFU1RfVFlQRURFRlMoc2VsZiksIDApOwpAQCAtNDM5LDggKzQzNSw3IEBA
IHdlYmtpdF9kb21fdGVzdF90eXBlZGVmc19nZXRfc3RyaW5nX2F0dHJfd2l0aF9nZXR0ZXJfZXhj
ZXB0aW9uKFdlYktpdERPTVRlc3RUeXBlCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotdm9pZAot
d2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX3NldF9zdHJpbmdfYXR0cl93aXRoX2dldHRlcl9leGNl
cHRpb24oV2ViS2l0RE9NVGVzdFR5cGVkZWZzKiBzZWxmLCBjb25zdCBnY2hhciogdmFsdWUpCit2
b2lkIHdlYmtpdF9kb21fdGVzdF90eXBlZGVmc19zZXRfc3RyaW5nX2F0dHJfd2l0aF9nZXR0ZXJf
ZXhjZXB0aW9uKFdlYktpdERPTVRlc3RUeXBlZGVmcyogc2VsZiwgY29uc3QgZ2NoYXIqIHZhbHVl
KQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsKICAgICBnX3Jl
dHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9UWVBFREVGUyhzZWxmKSk7CkBAIC00NTAs
OCArNDQ1LDcgQEAgd2Via2l0X2RvbV90ZXN0X3R5cGVkZWZzX3NldF9zdHJpbmdfYXR0cl93aXRo
X2dldHRlcl9leGNlcHRpb24oV2ViS2l0RE9NVGVzdFR5cGUKICAgICBpdGVtLT5zZXRTdHJpbmdB
dHRyV2l0aEdldHRlckV4Y2VwdGlvbihjb252ZXJ0ZWRWYWx1ZSk7CiB9CiAKLWdjaGFyKgotd2Vi
a2l0X2RvbV90ZXN0X3R5cGVkZWZzX2dldF9zdHJpbmdfYXR0cl93aXRoX3NldHRlcl9leGNlcHRp
b24oV2ViS2l0RE9NVGVzdFR5cGVkZWZzKiBzZWxmKQorZ2NoYXIqIHdlYmtpdF9kb21fdGVzdF90
eXBlZGVmc19nZXRfc3RyaW5nX2F0dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRl
c3RUeXBlZGVmcyogc2VsZikKIHsKICAgICBXZWJDb3JlOjpKU01haW5UaHJlYWROdWxsU3RhdGUg
c3RhdGU7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0RPTV9JU19URVNUX1RZUEVE
RUZTKHNlbGYpLCAwKTsKQEAgLTQ2MCw4ICs0NTQsNyBAQCB3ZWJraXRfZG9tX3Rlc3RfdHlwZWRl
ZnNfZ2V0X3N0cmluZ19hdHRyX3dpdGhfc2V0dGVyX2V4Y2VwdGlvbihXZWJLaXRET01UZXN0VHlw
ZQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLXZvaWQKLXdlYmtpdF9kb21fdGVzdF90eXBlZGVm
c19zZXRfc3RyaW5nX2F0dHJfd2l0aF9zZXR0ZXJfZXhjZXB0aW9uKFdlYktpdERPTVRlc3RUeXBl
ZGVmcyogc2VsZiwgY29uc3QgZ2NoYXIqIHZhbHVlLCBHRXJyb3IqKiBlcnJvcikKK3ZvaWQgd2Vi
a2l0X2RvbV90ZXN0X3R5cGVkZWZzX3NldF9zdHJpbmdfYXR0cl93aXRoX3NldHRlcl9leGNlcHRp
b24oV2ViS2l0RE9NVGVzdFR5cGVkZWZzKiBzZWxmLCBjb25zdCBnY2hhciogdmFsdWUsIEdFcnJv
cioqIGVycm9yKQogewogICAgIFdlYkNvcmU6OkpTTWFpblRocmVhZE51bGxTdGF0ZSBzdGF0ZTsK
ICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9ET01fSVNfVEVTVF9UWVBFREVGUyhzZWxmKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVj
dC9XZWJLaXRET01UZXN0VHlwZWRlZnMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RUeXBlZGVmcy5oCmluZGV4IGM3OTlkOGUzNDcy
NzhjNDQ4NmY1MjIwMjNhNWE2ZjU5MjgyZGY4MWEuLjc5MDBmNzc3ZGI4NWMwNDI5YjQ3ZDJiNDQ1
NGViYzE0MmMzYjBlYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RUeXBlZGVmcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RUeXBlZGVmcy5o
CkBAIC0xLDIyICsxLDIyIEBACiAvKgotICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJL
aXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KLSAgICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVk
IGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQotCi0gICAgVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAg
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQg
QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCisgKiAgVGhpcyBmaWxl
IGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgorICogIFRoaXMgZmls
ZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJ
RlkhCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAg
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisg
KiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAtMTMw
MSwgVVNBLgorICovCiAKICNpZiAhZGVmaW5lZChfX1dFQktJVERPTV9IX0lOU0lERV9fKSAmJiAh
ZGVmaW5lZChCVUlMRElOR19XRUJLSVQpCiAjZXJyb3IgIk9ubHkgPHdlYmtpdGRvbS93ZWJraXRk
b20uaD4gY2FuIGJlIGluY2x1ZGVkIGRpcmVjdGx5LiIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RUeXBlZGVmc1By
aXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dl
YktpdERPTVRlc3RUeXBlZGVmc1ByaXZhdGUuaAppbmRleCA5OTkxNDZlYzQ3MjhjMDBkMTU4M2Nh
ZjY2NTZhMzkyYWY2Yzk1YzQ0Li4yNWQwNTVkODJhYWZiMzMyN2Q3NGUyZjQ1ZmNjOWFhYTBmOWM3
MGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09i
amVjdC9XZWJLaXRET01UZXN0VHlwZWRlZnNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdFR5cGVkZWZzUHJpdmF0
ZS5oCkBAIC0xLDIyICsxLDIyIEBACiAvKgotICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBX
ZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KLSAgICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJh
dGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQotCi0gICAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot
ICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAg
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCisgKiAgVGhpcyBm
aWxlIGlzIHBhcnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgorICogIFRoaXMg
ZmlsZSBoYXMgYmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBN
T0RJRlkhCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
CisgKiAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgorICovCiAKICNpZm5kZWYgV2ViS2l0RE9NVGVzdFR5cGVkZWZzUHJpdmF0ZV9o
CiAjZGVmaW5lIFdlYktpdERPTVRlc3RUeXBlZGVmc1ByaXZhdGVfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>