<?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>103966</bug_id>
          
          <creation_ts>2012-12-03 20:37:31 -0800</creation_ts>
          <short_desc>REGRESSION(r136467): This patch made several tests(e.g. acid3) crash. (Requested by tasak on #webkit).</short_desc>
          <delta_ts>2012-12-04 10:20:32 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>
          
          <blocked>86031</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>abarth</cc>
    
    <cc>jussi.kukkonen</cc>
    
    <cc>ojan</cc>
    
    <cc>ossy</cc>
    
    <cc>rafaelw</cc>
    
    <cc>tasak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>782175</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-03 20:37:31 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/136467 broke the build:
This patch made several tests(e.g. acid3) crash. (Requested by tasak on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782177</commentid>
    <comment_count>1</comment_count>
      <attachid>177402</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-03 20:38:29 -0800</bug_when>
    <thetext>Created attachment 177402
ROLLOUT of r136467

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782178</commentid>
    <comment_count>2</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-12-03 20:44:33 -0800</bug_when>
    <thetext>These crashes will be fixed by another (valid) patch. We don&apos;t need this rollout.

Best regards,
Takashi Sakamoto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782181</commentid>
    <comment_count>3</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-03 20:49:53 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782182</commentid>
    <comment_count>4</comment_count>
      <attachid>177403</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-03 20:49:59 -0800</bug_when>
    <thetext>Created attachment 177403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782186</commentid>
    <comment_count>5</comment_count>
      <attachid>177403</attachid>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-12-03 20:52:00 -0800</bug_when>
    <thetext>Comment on attachment 177403
Patch

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

&gt; Source/WebCore/dom/ContainerNode.cpp:315
&gt; +    // ASSERT(document() == newChild-&gt;document());

This assert was fine, can you leave it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782190</commentid>
    <comment_count>6</comment_count>
      <attachid>177405</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-03 20:59:22 -0800</bug_when>
    <thetext>Created attachment 177405
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782199</commentid>
    <comment_count>7</comment_count>
      <attachid>177409</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-03 21:08:22 -0800</bug_when>
    <thetext>Created attachment 177409
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782205</commentid>
    <comment_count>8</comment_count>
      <attachid>177403</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-03 21:16:58 -0800</bug_when>
    <thetext>Comment on attachment 177403
Patch

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

&gt;&gt; Source/WebCore/dom/ContainerNode.cpp:315
&gt;&gt; +    // ASSERT(document() == newChild-&gt;document());
&gt; 
&gt; This assert was fine, can you leave it?

Good catch. Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782282</commentid>
    <comment_count>9</comment_count>
      <attachid>177409</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-12-03 23:49:37 -0800</bug_when>
    <thetext>Comment on attachment 177409
Patch

Clearing flags on attachment: 177409

Committed r136480: &lt;http://trac.webkit.org/changeset/136480&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782283</commentid>
    <comment_count>10</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-12-03 23:49:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782284</commentid>
    <comment_count>11</comment_count>
      <attachid>177409</attachid>
    <who name="Jussi Kukkonen (jku)">jussi.kukkonen</who>
    <bug_when>2012-12-03 23:50:58 -0800</bug_when>
    <thetext>Comment on attachment 177409
Patch

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

&gt; Source/WebCore/dom/ContainerNode.cpp:700
&gt; +    // blindly calls paserAppendChild on the docType its passed.

parserAppendChild</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782637</commentid>
    <comment_count>12</comment_count>
      <attachid>177409</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-12-04 09:54:54 -0800</bug_when>
    <thetext>Comment on attachment 177409
Patch

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

&gt;&gt; Source/WebCore/dom/ContainerNode.cpp:700
&gt;&gt; +    // FIXME: This assert should be valid, but DOMImplementation::createDocument()
&gt;&gt; +    // blindly calls paserAppendChild on the docType its passed.
&gt; 
&gt; parserAppendChild

The comment here is confusing and seems to be introducing FUD.

This function has a contract with it’s callers, and no &quot;higher purpose&quot;. So we must decide whether it’s OK to call parserAppendChild on a DocumentType in this way or not. If it’s OK, then the assertion is *not* correct and should to be rewritten and not left in commented-out. If it’s not OK, then there’s a bug in DOMImplementation::createDocument that needs to be fixed.

The term “blindly&quot; here anthropomorphizes the code but doesn’t make it clear what our design is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782671</commentid>
    <comment_count>13</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-04 10:20:32 -0800</bug_when>
    <thetext>Apologies for the editorial. I&apos;ll refrain from that from now on. I&apos;m going to attempt to land a fix which allows the assert to be replaced. I&apos;ll cc you on that.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177402</attachid>
            <date>2012-12-03 20:38:29 -0800</date>
            <delta_ts>2012-12-03 20:49:51 -0800</delta_ts>
            <desc>ROLLOUT of r136467</desc>
            <filename>bug-103966-20121204044443.patch</filename>
            <type>text/plain</type>
            <size>97457</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NDcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk2ZDc0M2UwMjYwODQ0
MWRmYzUwNWNjNWIzMDQyOTA0NTVkMWY0Ny4uYTczY2Y1OTkxNmE3Nzg2MWRjZjM4OTAxOThmZWE0
YTYyNDZmZTA0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEyLTEyLTAzICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTM2NDY3LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMzY0NjcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwMzk2NgorCisgICAgICAgIFRoaXMgcGF0Y2ggbWFkZSBzZXZlcmFsIHRlc3Rz
KGUuZy4gYWNpZDMpIGNyYXNoLiAoUmVxdWVzdGVkIGJ5CisgICAgICAgIHRhc2FrIG9uICN3ZWJr
aXQpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdl
dC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBjc3MvaHRtbC5jc3M6CisgICAgICAgICogZG9tL0NvbnRhaW5lck5v
ZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6cGFyc2VySW5zZXJ0QmVm
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OnBhcnNlckFwcGVuZENoaWxk
KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5o
OgorICAgICAgICAoRG9jdW1lbnQpOgorICAgICAgICAqIGVkaXRpbmcvTWFya3VwQWNjdW11bGF0
b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWFya3VwQWNjdW11bGF0b3I6OnNlcmlhbGl6ZU5v
ZGVzV2l0aE5hbWVzcGFjZXMpOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEVsZW1lbnQ6OnNldElubmVySFRNTCk6CisgICAgICAgICogaHRt
bC9IVE1MRWxlbWVudHNBbGxJbk9uZS5jcHA6CisgICAgICAgICogaHRtbC9IVE1MVGFnTmFtZXMu
aW46CisgICAgICAgICogaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBodG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBo
dG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvcGFy
c2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmV4ZWN1dGVU
YXNrKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRDb21t
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRTY3Jp
cHRFbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNl
cnRUZXh0Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3Jl
YXRlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3Jl
YXRlSFRNTEVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6
OmZpbmRGb3N0ZXJTaXRlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9u
U2l0ZS5oOgorICAgICAgICAoSFRNTENvbnN0cnVjdGlvblNpdGUpOgorICAgICAgICAqIGh0bWwv
cGFyc2VyL0hUTUxFbGVtZW50U3RhY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNSb290Tm9k
ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MRWxlbWVu
dFN0YWNrLmg6CisgICAgICAgIChIVE1MRWxlbWVudFN0YWNrKToKKyAgICAgICAgKiBodG1sL3Bh
cnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWls
ZGVyOjpjb25zdHJ1Y3RUcmVlRnJvbVRva2VuKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVl
QnVpbGRlcjo6cHJvY2Vzc1N0YXJ0VGFnRm9ySW5Cb2R5KToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0NvbGdyb3VwRW5kVGFnRm9ySW5Db2x1bW5Hcm91cCk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZ0ZvckluVGFi
bGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWcp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzSHRtbFN0YXJ0VGFn
Rm9ySW5Cb2R5KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cmVzZXRJbnNl
cnRpb25Nb2RlQXBwcm9wcmlhdGVseSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxk
ZXI6OnByb2Nlc3NFbmRUYWdGb3JJblRhYmxlQm9keSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
VHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWdGb3JJblJvdyk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWdGb3JJbkNlbGwpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnRm9ySW5Cb2R5KToKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1RyRW5kVGFnRm9ySW5Sb3cpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzVGFibGVFbmRUYWdGb3JJblRhYmxl
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZyk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NDaGFyYWN0ZXJCdWZmZXIp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kT2ZGaWxlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0YXJ0VGFnRm9ySW5I
ZWFkKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaDoKKyAgICAgICAg
KEhUTUxUcmVlQnVpbGRlcik6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAyMDEy
LTEyLTAzICBSYWZhZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgSW1wbGVtZW50IEhUTUxUZW1wbGF0ZUVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
aW5kZXggNWEzNmE3OTgzNmQ0ODYwZDE5ZTVkYjY5MTVlNDMxZTAyZTcwODVhMi4uN2U5ZDk0Y2Q0
YTBmY2RlMmY2MjNhYTA3MTg4NzM5ZDQ3OTFlZmUwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMi0wMyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2
aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEz
NjQ2Ny4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTM2NDY3Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM5NjYKKwor
ICAgICAgICBUaGlzIHBhdGNoIG1hZGUgc2V2ZXJhbCB0ZXN0cyhlLmcuIGFjaWQzKSBjcmFzaC4g
KFJlcXVlc3RlZCBieQorICAgICAgICB0YXNhayBvbiAjd2Via2l0KS4KKworICAgICAgICAqIGZl
YXR1cmVzLmd5cGk6CisKIDIwMTItMTItMDMgIFJhZmFlbCBXZWluc3RlaW4gIDxyYWZhZWx3QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgSFRNTFRlbXBsYXRlRWxlbWVudApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCA5NTBhMzYwOWE3ZmEwYTkwYzU1Mzk1NGQzMzZjZDIyNzg3MTBj
MGU1Li45ZDEwZGM0M2IxNmIwMDIyNjBkZTQyNWRlYWIzNTkyNDM0Y2EwZjk3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtNDg4LDcgKzQ4OCw2IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAg
IGh0bWwvSFRNTFRhYmxlRWxlbWVudC5pZGwKICAgICBodG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQu
aWRsCiAgICAgaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5pZGwKLSAgICBodG1sL0hUTUxU
ZW1wbGF0ZUVsZW1lbnQuaWRsCiAgICAgaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbAogICAg
IGh0bWwvSFRNTFRpdGxlRWxlbWVudC5pZGwKICAgICBodG1sL0hUTUxUcmFja0VsZW1lbnQuaWRs
CkBAIC0xNDMyLDcgKzE0MzEsNiBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9IVE1M
VGFibGVSb3dFbGVtZW50LmNwcAogICAgIGh0bWwvSFRNTFRhYmxlUm93c0NvbGxlY3Rpb24uY3Bw
CiAgICAgaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5jcHAKLSAgICBodG1sL0hUTUxUZW1w
bGF0ZUVsZW1lbnQuY3BwCiAgICAgaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAogICAgIGh0
bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwCiAgICAgaHRtbC9IVE1MVGl0bGVFbGVt
ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggN2JhYTVmODc4NmM2ZDI4
MDZlMTQ1NzM2YTdjMjY4Nzk5N2VhNWFjYS4uZTUzNmZkMTNhOTRhN2QwYTVlNDViNzU3OTlmYjhk
Y2Q2NjYyMDRhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0zNDgsNyArMzQ4
LDYgQEAgQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MVGFibGVFbGVt
ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL0hUTUxUYWJsZVJvd0VsZW1lbnQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2h0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuaWRsIFwKLSAgICAk
KFdlYkNvcmUpL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkv
aHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL0hUTUxU
aXRsZUVsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvSFRNTFRyYWNrRWxlbWVudC5p
ZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1Nv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNWFmN2VmNTYxYzA3ZmRiOTI4
ZTg0NDUzYjJiZThmYzdlNDdjNjA2MC4uZjE3Zjg0NjkzYTVkYjFhZjQyM2Q0YTIyZDllNzk3MDk0
ZDA5MDIyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00MzEsOCArNDMxLDYg
QEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
SFRNTFRhYmxlUm93RWxlbWVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTFRh
YmxlU2VjdGlvbkVsZW1lbnQuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTFRh
YmxlU2VjdGlvbkVsZW1lbnQuaCBcCi0JRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxUZW1w
bGF0ZUVsZW1lbnQuY3BwIFwKLQlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTFRlbXBsYXRl
RWxlbWVudC5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTFRleHRBcmVhRWxlbWVu
dC5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MVGV4dEFyZWFFbGVtZW50Lmgg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MVGl0bGVFbGVtZW50LmNwcCBcCkBAIC0x
NDkxLDcgKzE0ODksNiBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL2h0bWwv
SFRNTFRhYmxlRWxlbWVudC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9IVE1MVGFibGVSb3dFbGVt
ZW50LmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmlkbCBc
Ci0JJChXZWJDb3JlKS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuaWRsIFwKIAkkKFdlYkNvcmUp
L2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwgXAogCSQoV2ViQ29yZSkvaHRtbC9IVE1MVGl0
bGVFbGVtZW50LmlkbCBcCiAJJChXZWJDb3JlKS9odG1sL0hUTUxUcmFja0VsZW1lbnQuaWRsIFwK
QEAgLTM0NDAsOCArMzQzNyw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MVGFibGVSb3dzQ29sbGVjdGlvbi5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGFibGVTZWN0aW9uRWxlbWVudC5oIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0
ZUVsZW1lbnQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQu
aCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcCBcCiAJU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmggXAogCVNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRleHRGb3JtQ29udHJvbEVsZW1lbnQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDI5
OTAyMWM5ZTJmYzM2ZWMyYWJjOGM2ZGU1ZDQ1YThkMjA4YTQ0ZGEuLjc5YmJkZjljZmZiNDBhZDMy
OGFlOTc5ZDg0NmVjMmUyNzdkNWNkMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNjU5LDcgKzY1OSw2IEBA
IFNPVVJDRVMgKz0gXAogICAgIGh0bWwvSFRNTFRhYmxlUm93RWxlbWVudC5jcHAgXAogICAgIGh0
bWwvSFRNTFRhYmxlUm93c0NvbGxlY3Rpb24uY3BwIFwKICAgICBodG1sL0hUTUxUYWJsZVNlY3Rp
b25FbGVtZW50LmNwcCBcCi0gICAgaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcCBcCiAgICAg
aHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcCBcCiAgICAgaHRtbC9IVE1MVGV4dEZvcm1Db250
cm9sRWxlbWVudC5jcHAgXAogICAgIGh0bWwvSFRNTFRpdGxlRWxlbWVudC5jcHAgXApAQCAtMTgy
Niw3ICsxODI1LDYgQEAgSEVBREVSUyArPSBcCiAgICAgaHRtbC9IVE1MVGFibGVSb3dFbGVtZW50
LmggXAogICAgIGh0bWwvSFRNTFRhYmxlUm93c0NvbGxlY3Rpb24uaCBcCiAgICAgaHRtbC9IVE1M
VGFibGVTZWN0aW9uRWxlbWVudC5oIFwKLSAgICBodG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuaCBc
CiAgICAgaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmggXAogICAgIGh0bWwvSFRNTFRleHRGb3Jt
Q29udHJvbEVsZW1lbnQuaCBcCiAgICAgaHRtbC9IVE1MVGl0bGVFbGVtZW50LmggXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCmluZGV4IGRiZmZhNTQ3ZTlkZjBjMzU1MjdkMWFkNjc5ZTg1NjQ3ZTcyNDM3MGYuLjEy
OGY4N2M1YmZkMTQwYjIxOTVmMTY4NGMxMTk1MDExOTgyNjhiMWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
QEAgLTExMzAsNyArMTEzMCw2IEBACiAgICAgICAgICAgICAnaHRtbC9IVE1MVGFibGVSb3dFbGVt
ZW50LmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9IVE1MVGFibGVTZWN0aW9uRWxlbWVudC5pZGwn
LAogICAgICAgICAgICAgJ2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5pZGwnLAotICAgICAgICAg
ICAgJ2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRN
TFRpdGxlRWxlbWVudC5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTFRyYWNrRWxlbWVudC5p
ZGwnLAogICAgICAgICAgICAgJ2h0bWwvSFRNTFVMaXN0RWxlbWVudC5pZGwnLApAQCAtNDE4Myw4
ICs0MTgyLDYgQEAKICAgICAgICAgICAgICdodG1sL0hUTUxUYWJsZVJvd3NDb2xsZWN0aW9uLmgn
LAogICAgICAgICAgICAgJ2h0bWwvSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuY3BwJywKICAgICAg
ICAgICAgICdodG1sL0hUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmgnLAotICAgICAgICAgICAgJ2h0
bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAnLAotICAgICAgICAgICAgJ2h0bWwvSFRNTFRlbXBs
YXRlRWxlbWVudC5oJywKICAgICAgICAgICAgICdodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3Bw
JywKICAgICAgICAgICAgICdodG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcCcsCiAg
ICAgICAgICAgICAnaHRtbC9IVE1MVGl0bGVFbGVtZW50LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGU5OTQ4MGM5ZDQwMTgyN2NjYjQy
ZDlhMjdhOGQ2ZTc0ZThlNDcxMzguLjk1ZGJkZGY5OWE3OTIwYmRjMjNkYTc4NTIwZGI5NmYwZjdi
MmY3Y2MgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CkBAIC05NjIyLDYyICs5NjIyLDYgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQotCQkJ
CVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xKU0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwIgotCQkJCT4KLQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCi0JCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVD
b25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25m
aWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIi
Ci0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIK
LQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIK
LQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTSFRNTFRlbXBs
YXRlRWxlbWVudC5oIgotCQkJCT4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQ
YXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTSFRNTFRleHRBcmVhRWxlbWVudC5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgpAQCAtNjM1MjYsNjIgKzYzNDcwLDYgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8
RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0iLi5caHRtbFxIVE1MVGVtcGxhdGVFbGVtZW50LmNwcCIK
LQkJCQk+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgot
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgotCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgot
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2lu
MzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0J
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9f
Q0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJ
CQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1
Z19BbGx8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJ
CTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlByb2R1
Y3Rpb258V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJ
CTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQotCQkJCVJlbGF0aXZlUGF0aD0i
Li5caHRtbFxIVE1MVGVtcGxhdGVFbGVtZW50LmgiCi0JCQkJPgotCQkJPC9GaWxlPgotCQkJPEZp
bGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGh0bWxcSFRNTFRleHRBcmVhRWxlbWVudC5jcHAiCiAJ
CQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDcwZmUzNzgzNGY3OWU2Y2YxY2NkMWE1
NGM1ZGVkZDI0ZTk0OWE4ZmIuLmVkYzQ2MjQ2OTg3MjgyZGY4NzhkMTEwODNhNGRmNGRmOTdkOThm
YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTEzNDcwLDkgKzEzNDcwLDYgQEAKIAkJRDZFMjc2QUUxNDYzNzQ1NTAwMUQyODBB
IC8qIE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTXV0YXRpb25PYnNlcnZlclJlZ2lzdHJhdGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlENkU1MjhBMTE0OUE5MjZEMDBFRkUxRjMgLyogTXV0YXRpb25PYnNl
cnZlckludGVyZXN0R3JvdXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTXV0YXRpb25PYnNlcnZlckludGVyZXN0R3JvdXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlENkU1MjhBMjE0OUE5MjZEMDBFRkUxRjMgLyogTXV0YXRpb25PYnNlcnZlcklu
dGVyZXN0R3JvdXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTXV0YXRpb25P
YnNlcnZlckludGVyZXN0R3JvdXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRDZF
RkMwQkIxNjY2REY3QTAwM0QyOTFFIC8qIEhUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFRlbXBsYXRlRWxlbWVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUQ2RUZDMEJDMTY2NkRGN0EwMDNEMjkxRSAvKiBI
VE1MVGVtcGxhdGVFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhU
TUxUZW1wbGF0ZUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRDZFRkMw
QkQxNjY2REY3QTAwM0QyOTFFIC8qIEhUTUxUZW1wbGF0ZUVsZW1lbnQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IEhUTUxUZW1wbGF0ZUVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlENkZEQUVGMjE0OUMwNjE5MDAzN0IxRTEgLyogSGlzdG9ncmFtU3VwcG9ydC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaXN0b2dyYW1TdXBwb3J0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDZGREFFRjIxNDlDMDYxOTAwMzdC
MUUyIC8qIFN0YXRzQ291bnRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTdGF0c0NvdW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlENkZE
QUVGMjE0OUMwNjE5MDAzN0IxRTMgLyogTWVtb3J5VXNhZ2VTdXBwb3J0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lbW9yeVVzYWdlU3VwcG9ydC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzgxOSw5ICsxNzgxNiw2IEBACiAJCQkJQTg3MURC
MTcwQTE1MEJENjAwQjEyQTY4IC8qIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmggKi8sCiAJCQkJ
ODU1NTQyNUMwQUE0OEIxRTAwQkE4OUYyIC8qIEhUTUxUYWJsZVNlY3Rpb25FbGVtZW50LmlkbCAq
LywKIAkJCQk1MTlGRTBBMjBEQUQ0NDZFMDBBMDhGMjEgLyogSFRNTFRhZ05hbWVzLmluICovLAot
CQkJCUQ2RUZDMEJCMTY2NkRGN0EwMDNEMjkxRSAvKiBIVE1MVGVtcGxhdGVFbGVtZW50LmNwcCAq
LywKLQkJCQlENkVGQzBCQzE2NjZERjdBMDAzRDI5MUUgLyogSFRNTFRlbXBsYXRlRWxlbWVudC5o
ICovLAotCQkJCUQ2RUZDMEJEMTY2NkRGN0EwMDNEMjkxRSAvKiBIVE1MVGVtcGxhdGVFbGVtZW50
LmlkbCAqLywKIAkJCQlBODEzNjlCQjA5NzM3NEY1MDBENzQ0NjMgLyogSFRNTFRleHRBcmVhRWxl
bWVudC5jcHAgKi8sCiAJCQkJQTgxMzY5QkEwOTczNzRGNTAwRDc0NDYzIC8qIEhUTUxUZXh0QXJl
YUVsZW1lbnQuaCAqLywKIAkJCQlBODBFN0UxNjBBMUE3Q0NCMDA3RkI4QzUgLyogSFRNTFRleHRB
cmVhRWxlbWVudC5pZGwgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5j
c3MgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvaHRtbC5jc3MKaW5kZXggZmVhN2M4N2E5ZDBmMjJhODJi
MzlkNjY3Y2M3MjZlMjhjYTlhZjJmMy4uNGExZTMzNTY4Y2IxNTdhNzIzZjBjN2FmYTY5N2MzNDA5
MjY2NjE2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL2h0bWwuY3NzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9odG1sLmNzcwpAQCAtMTI2MiwxMiArMTI2Miw2IEBAIHN1bW1hcnk6
Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIgewogICAgIG1hcmdpbi1yaWdodDogMC40ZW07CiB9CiAK
LSNpZiBkZWZpbmVkKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UKSAmJiBFTkFCTEVfVEVNUExBVEVf
RUxFTUVOVAotdGVtcGxhdGUgewotICAgIGRpc3BsYXk6IG5vbmUKLX0KLSNlbmRpZgotCiBiZGks
IG91dHB1dCB7CiAgICAgdW5pY29kZS1iaWRpOiAtd2Via2l0LWlzb2xhdGU7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKaW5kZXggYjZiOTFiYTkyNWQ1N2M1YjhmYmVhYmE4NWYz
ZDVkYzAxNTU5NGNjNC4uYTQwZTgxZDcwMjE3MDdlODMzYmY3OWM0YTc2YWMwZjU0MGY5YTY5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcApAQCAtMzEwLDcgKzMxMCw2IEBAIHZv
aWQgQ29udGFpbmVyTm9kZTo6cGFyc2VySW5zZXJ0QmVmb3JlKFBhc3NSZWZQdHI8Tm9kZT4gbmV3
Q2hpbGQsIE5vZGUqIG5leHRDaGlsCiAgICAgQVNTRVJUKG5ld0NoaWxkKTsKICAgICBBU1NFUlQo
bmV4dENoaWxkKTsKICAgICBBU1NFUlQobmV4dENoaWxkLT5wYXJlbnROb2RlKCkgPT0gdGhpcyk7
Ci0gICAgQVNTRVJUKGRvY3VtZW50KCkgPT0gbmV3Q2hpbGQtPmRvY3VtZW50KCkpOwogCiAgICAg
Tm9kZVZlY3RvciB0YXJnZXRzOwogICAgIGNvbGxlY3RUYXJnZXROb2RlcyhuZXdDaGlsZC5nZXQo
KSwgdGFyZ2V0cyk7CkBAIC02OTYsNyArNjk1LDYgQEAgdm9pZCBDb250YWluZXJOb2RlOjpwYXJz
ZXJBcHBlbmRDaGlsZChQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkKQogewogICAgIEFTU0VSVChu
ZXdDaGlsZCk7CiAgICAgQVNTRVJUKCFuZXdDaGlsZC0+cGFyZW50Tm9kZSgpKTsgLy8gVXNlIGFw
cGVuZENoaWxkIGlmIHlvdSBuZWVkIHRvIGhhbmRsZSByZXBhcmVudGluZyAoYW5kIHdhbnQgRE9N
IG11dGF0aW9uIGV2ZW50cykuCi0gICAgQVNTRVJUKGRvY3VtZW50KCkgPT0gbmV3Q2hpbGQtPmRv
Y3VtZW50KCkpOwogCiAgICAgTm9kZSogbGFzdCA9IG1fbGFzdENoaWxkOwogICAgIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCmluZGV4IGNhMmEyNGU4YmNhMDljN2EzNmNiZTk0NWZlNDc3MDNmMjU1
YTEzOGYuLjNmYjZlYzQ0Yzk2ZjUzMTM3NmE1NDYyZTEyODMwODgyMWZiMGZkZmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcApAQCAtNTg4OCwyMiArNTg4OCw0IEBAIExvY2FsZSYgRG9jdW1lbnQ6
OmdldENhY2hlZExvY2FsZShjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZSkKICAgICByZXR1cm4g
KihyZXN1bHQuaXRlcmF0b3ItPnZhbHVlKTsKIH0KIAotI2lmIEVOQUJMRShURU1QTEFURV9FTEVN
RU5UKQotRG9jdW1lbnQqIERvY3VtZW50Ojp0ZW1wbGF0ZUNvbnRlbnRzT3duZXJEb2N1bWVudCgp
Ci17Ci0gICAgLy8gSWYgRE9DVU1FTlQgZG9lcyBub3QgaGF2ZSBhIGJyb3dzaW5nIGNvbnRleHQs
IExldCBURU1QTEFURSBDT05URU5UUyBPV05FUiBiZSBET0NVTUVOVCBhbmQgYWJvcnQgdGhlc2Ug
c3RlcHMuCi0gICAgaWYgKCFtX2ZyYW1lKQotICAgICAgICByZXR1cm4gdGhpczsKLQotICAgIGlm
ICghbV90ZW1wbGF0ZUNvbnRlbnRzT3duZXJEb2N1bWVudCkgewotICAgICAgICBpZiAoaXNIVE1M
RG9jdW1lbnQoKSkKLSAgICAgICAgICAgIG1fdGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQg
PSBIVE1MRG9jdW1lbnQ6OmNyZWF0ZSgwLCBibGFua1VSTCgpKTsKLSAgICAgICAgZWxzZQotICAg
ICAgICAgICAgbV90ZW1wbGF0ZUNvbnRlbnRzT3duZXJEb2N1bWVudCA9IERvY3VtZW50OjpjcmVh
dGUoMCwgYmxhbmtVUkwoKSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIG1fdGVtcGxhdGVDb250ZW50
c093bmVyRG9jdW1lbnQuZ2V0KCk7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBmNWI4Y2NkMmMwYTExYzhiMDkyYjMxMzliMDAxYmE3
ZDNjMzAwYjExLi4yN2VjM2NmZDI3ZmVhY2M1NTExNTk5OWNhZmM2YjI1ZjI3OTAyMDczIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaApAQCAtMTE3MiwxMCArMTE3Miw2IEBAIHB1YmxpYzoKICAgICBjb25z
dCBWZWN0b3I8UmVmUHRyPEVsZW1lbnQ+ID4mIHRvcExheWVyRWxlbWVudHMoKSBjb25zdCB7IHJl
dHVybiBtX3RvcExheWVyRWxlbWVudHM7IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKFRFTVBMQVRF
X0VMRU1FTlQpCi0gICAgRG9jdW1lbnQqIHRlbXBsYXRlQ29udGVudHNPd25lckRvY3VtZW50KCk7
Ci0jZW5kaWYKLQogcHJvdGVjdGVkOgogICAgIERvY3VtZW50KEZyYW1lKiwgY29uc3QgS1VSTCYs
IGJvb2wgaXNYSFRNTCwgYm9vbCBpc0hUTUwpOwogCkBAIC0xNTMxLDEwICsxNTI3LDYgQEAgcHJp
dmF0ZToKIAogICAgIHR5cGVkZWYgSGFzaE1hcDxBdG9taWNTdHJpbmcsIE93blB0cjxMb2NhbGU+
ID4gTG9jYWxlSWRlbnRpZmllclRvTG9jYWxlTWFwOwogICAgIExvY2FsZUlkZW50aWZpZXJUb0xv
Y2FsZU1hcCBtX2xvY2FsZUNhY2hlOwotCi0jaWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCi0g
ICAgUmVmUHRyPERvY3VtZW50PiBtX3RlbXBsYXRlQ29udGVudHNPd25lckRvY3VtZW50OwotI2Vu
ZGlmCiB9OwogCiBpbmxpbmUgdm9pZCBEb2N1bWVudDo6bm90aWZ5UmVtb3ZlUGVuZGluZ1NoZWV0
SWZOZWVkZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9NYXJrdXBBY2N1
bXVsYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmNw
cAppbmRleCBjNzY2ZmZmMDllY2IwNjE5MzNhMzNjYTI4YTg1NzgwODMxYWFiOGI0Li5iZWI4MzJm
N2Y1MDA5YjZhYzYxM2MzM2NkOGI0NzFlYTIyNDcyZTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL01hcmt1cEFjY3VtdWxhdG9yLmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2luY2x1ZGUg
IkVkaXRvci5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCi0jaW5jbHVkZSAiSFRNTFRlbXBsYXRlRWxlbWVudC5oIgogI2luY2x1ZGUgIktVUkwuaCIK
ICNpbmNsdWRlICJQcm9jZXNzaW5nSW5zdHJ1Y3Rpb24uaCIKICNpbmNsdWRlICJYTGlua05hbWVz
LmgiCkBAIC0xNDIsMTIgKzE0MSw3IEBAIHZvaWQgTWFya3VwQWNjdW11bGF0b3I6OnNlcmlhbGl6
ZU5vZGVzV2l0aE5hbWVzcGFjZXMoTm9kZSogdGFyZ2V0Tm9kZSwgTm9kZSogbm9kCiAgICAgICAg
IGFwcGVuZFN0YXJ0VGFnKHRhcmdldE5vZGUsICZuYW1lc3BhY2VIYXNoKTsKIAogICAgIGlmICgh
KHRhcmdldE5vZGUtPmRvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkgJiYgZWxlbWVudENhbm5v
dEhhdmVFbmRUYWcodGFyZ2V0Tm9kZSkpKSB7Ci0jaWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQp
Ci0gICAgICAgIE5vZGUqIGN1cnJlbnQgPSB0YXJnZXROb2RlLT5oYXNUYWdOYW1lKHRlbXBsYXRl
VGFnKSA/IHRvSFRNTFRlbXBsYXRlRWxlbWVudCh0YXJnZXROb2RlKS0+Y29udGVudCgpLT5maXJz
dENoaWxkKCkgOiB0YXJnZXROb2RlLT5maXJzdENoaWxkKCk7Ci0jZWxzZQotICAgICAgICBOb2Rl
KiBjdXJyZW50ID0gdGFyZ2V0Tm9kZS0+Zmlyc3RDaGlsZCgpOwotI2VuZGlmCi0gICAgICAgIGZv
ciAoIDsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPm5leHRTaWJsaW5nKCkpCisgICAgICAg
IGZvciAoTm9kZSogY3VycmVudCA9IHRhcmdldE5vZGUtPmZpcnN0Q2hpbGQoKTsgY3VycmVudDsg
Y3VycmVudCA9IGN1cnJlbnQtPm5leHRTaWJsaW5nKCkpCiAgICAgICAgICAgICBzZXJpYWxpemVO
b2Rlc1dpdGhOYW1lc3BhY2VzKGN1cnJlbnQsIG5vZGVUb1NraXAsIEluY2x1ZGVOb2RlLCAmbmFt
ZXNwYWNlSGFzaCwgdGFnTmFtZXNUb1NraXApOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxF
bGVtZW50LmNwcAppbmRleCBiY2Q0ZjFkZTNhMTVjN2YzMzYyNDNiNmNiZWZjZmNlMTdlNDkxNmM0
Li44N2I3ZTI2Mjk1ZmI3NGYzYTAwMWFlNDJlY2UxNGY3YTM5ZWM5MTFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxFbGVtZW50LmNwcApAQCAtNDQsNyArNDQsNiBAQAogI2luY2x1ZGUgIkhUTUxGb3Jt
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQYXJzZXJJ
ZGlvbXMuaCIKLSNpbmNsdWRlICJIVE1MVGVtcGxhdGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRN
TFRleHRGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJXb3JkQnJlYWsuaCIK
ICNpbmNsdWRlICJTY3JpcHRFdmVudExpc3RlbmVyLmgiCkBAIC0zNDQsMTQgKzM0Myw4IEBAIFN0
cmluZyBIVE1MRWxlbWVudDo6b3V0ZXJIVE1MKCkgY29uc3QKIAogdm9pZCBIVE1MRWxlbWVudDo6
c2V0SW5uZXJIVE1MKGNvbnN0IFN0cmluZyYgaHRtbCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0g
ICAgaWYgKFJlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBmcmFnbWVudCA9IGNyZWF0ZUZyYWdtZW50
Rm9ySW5uZXJPdXRlckhUTUwoaHRtbCwgdGhpcywgQWxsb3dTY3JpcHRpbmdDb250ZW50LCBlYykp
IHsKLSAgICAgICAgQ29udGFpbmVyTm9kZSogY29udGFpbmVyID0gdGhpczsKLSNpZiBFTkFCTEUo
VEVNUExBVEVfRUxFTUVOVCkKLSAgICAgICAgaWYgKGhhc0xvY2FsTmFtZSh0ZW1wbGF0ZVRhZykp
Ci0gICAgICAgICAgICBjb250YWluZXIgPSB0b0hUTUxUZW1wbGF0ZUVsZW1lbnQodGhpcyktPmNv
bnRlbnQoKTsKLSNlbmRpZgotICAgICAgICByZXBsYWNlQ2hpbGRyZW5XaXRoRnJhZ21lbnQoY29u
dGFpbmVyLCBmcmFnbWVudC5yZWxlYXNlKCksIGVjKTsKLSAgICB9CisgICAgaWYgKFJlZlB0cjxE
b2N1bWVudEZyYWdtZW50PiBmcmFnbWVudCA9IGNyZWF0ZUZyYWdtZW50Rm9ySW5uZXJPdXRlckhU
TUwoaHRtbCwgdGhpcywgQWxsb3dTY3JpcHRpbmdDb250ZW50LCBlYykpCisgICAgICAgIHJlcGxh
Y2VDaGlsZHJlbldpdGhGcmFnbWVudCh0aGlzLCBmcmFnbWVudC5yZWxlYXNlKCksIGVjKTsKIH0K
IAogc3RhdGljIHZvaWQgbWVyZ2VXaXRoTmV4dFRleHROb2RlKFBhc3NSZWZQdHI8Tm9kZT4gbm9k
ZSwgRXhjZXB0aW9uQ29kZSYgZWMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxFbGVtZW50c0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnRz
QWxsSW5PbmUuY3BwCmluZGV4IDdmM2IzZjQ3YzAwYjg1MTk3MjA0YTJjZGI1OGQ4NjQwZWQ5OWUx
NjcuLmQ1MTdjODQ1ODY4N2Y4MjkxMDRlNTIwMWY4NTRlZjg4ZDNjYmRlNDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnRzQWxsSW5PbmUuY3BwCkBAIC0xMDYsNyArMTA2LDYg
QEAKICNpbmNsdWRlICJIVE1MVGFibGVQYXJ0RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSFRNTFRh
YmxlUm93RWxlbWVudC5jcHAiCiAjaW5jbHVkZSAiSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnQuY3Bw
IgotI2luY2x1ZGUgIkhUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkhUTUxUZXh0
QXJlYUVsZW1lbnQuY3BwIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNw
cCIKICNpbmNsdWRlICJIVE1MVGl0bGVFbGVtZW50LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRhZ05hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFn
TmFtZXMuaW4KaW5kZXggZDYyM2RkOTYyZTk4NTU4NmVlNTIyZTJjMTNhMDRjMmIwMDQyMTA5Yy4u
ODVhMWU2MWE1YTk1ODJiMTNlNjM0Mjg5Y2RjNTNhMjJjNzZiM2UwMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFnTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MVGFnTmFtZXMuaW4KQEAgLTEyNCw3ICsxMjQsNiBAQCBzdXAgaW50ZXJmYWNlTmFtZT1I
VE1MRWxlbWVudAogdGFibGUKIHRib2R5IGludGVyZmFjZU5hbWU9SFRNTFRhYmxlU2VjdGlvbkVs
ZW1lbnQKIHRkIGludGVyZmFjZU5hbWU9SFRNTFRhYmxlQ2VsbEVsZW1lbnQKLXRlbXBsYXRlIGNv
bmRpdGlvbmFsPVRFTVBMQVRFX0VMRU1FTlQKIHRleHRhcmVhIGludGVyZmFjZU5hbWU9SFRNTFRl
eHRBcmVhRWxlbWVudCwgY29uc3RydWN0b3JOZWVkc0Zvcm1FbGVtZW50CiB0Zm9vdCBpbnRlcmZh
Y2VOYW1lPUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50CiB0aCBpbnRlcmZhY2VOYW1lPUhUTUxUYWJs
ZUNlbGxFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0
ZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWZkMzI5ZWZkNGVlYTMwYzJlZWI3Mzll
ZjhkODk5NWU1YzhjOGMwYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwCisrKyAv
ZGV2L251bGwKQEAgLTEsOTggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0g
KiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0
aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBU
TywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVOQUJM
RShURU1QTEFURV9FTEVNRU5UKQotCi0jaW5jbHVkZSAiSFRNTFRlbXBsYXRlRWxlbWVudC5oIgot
Ci0jaW5jbHVkZSAiRE9NSW1wbGVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJEb2N1bWVudEZyYWdt
ZW50LmgiCi0jaW5jbHVkZSAiSFRNTERvY3VtZW50LmgiCi0jaW5jbHVkZSAibWFya3VwLmgiCi0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKLQotaW5s
aW5lIEhUTUxUZW1wbGF0ZUVsZW1lbnQ6OkhUTUxUZW1wbGF0ZUVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3VtZW50KQotICAgIDogSFRNTEVsZW1lbnQo
dGFnTmFtZSwgZG9jdW1lbnQpCi17Ci19Ci0KLUhUTUxUZW1wbGF0ZUVsZW1lbnQ6On5IVE1MVGVt
cGxhdGVFbGVtZW50KCkKLXsKLX0KLQotUGFzc1JlZlB0cjxIVE1MVGVtcGxhdGVFbGVtZW50PiBI
VE1MVGVtcGxhdGVFbGVtZW50OjpjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwg
RG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgSFRNTFRlbXBs
YXRlRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCkpOwotfQotCi1Eb2N1bWVudEZyYWdtZW50KiBI
VE1MVGVtcGxhdGVFbGVtZW50Ojpjb250ZW50KCkgY29uc3QKLXsKLSAgICBpZiAoIW1fY29udGVu
dCkKLSAgICAgICAgbV9jb250ZW50ID0gRG9jdW1lbnRGcmFnbWVudDo6Y3JlYXRlKG93bmVyRG9j
dW1lbnQoKS0+dGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKSk7Ci0KLSAgICByZXR1cm4g
bV9jb250ZW50LmdldCgpOwotfQotCi0vLyBGSVhNRTogaHR0cHM6Ly93d3cudzMub3JnL0J1Z3Mv
UHVibGljL3Nob3dfYnVnLmNnaT9pZD0yMDEyNyAocHJldmVudCBET00gaGllcmFyY2h5IGN5Y2xl
cykuCi0vLyBGSVhNRTogaHR0cHM6Ly93d3cudzMub3JnL0J1Z3MvUHVibGljL3Nob3dfYnVnLmNn
aT9pZD0yMDEyOSAoZXh0ZW5kZWQgYWRvcHROb2RlIHRvIGNvbnNpZGVyIHRlbXBsYXRlLmNvbnRl
bnQpLgotdm9pZCBIVE1MVGVtcGxhdGVFbGVtZW50OjpzZXRDb250ZW50KFBhc3NSZWZQdHI8RG9j
dW1lbnRGcmFnbWVudD4gcHJwQ29udGVudCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgUmVm
UHRyPERvY3VtZW50RnJhZ21lbnQ+IGNvbnRlbnQgPSBwcnBDb250ZW50OwotCi0gICAgaWYgKCFj
b250ZW50IHx8IGNvbnRlbnQtPmlzU2hhZG93Um9vdCgpKSB7Ci0gICAgICAgIGVjID0gVFlQRV9N
SVNNQVRDSF9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAobV9jb250ZW50
LmdldCgpID09IGNvbnRlbnQuZ2V0KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChjb250
ZW50LT5vd25lckRvY3VtZW50KCkgIT0gb3duZXJEb2N1bWVudCgpLT50ZW1wbGF0ZUNvbnRlbnRz
T3duZXJEb2N1bWVudCgpKQotICAgICAgICBvd25lckRvY3VtZW50KCktPnRlbXBsYXRlQ29udGVu
dHNPd25lckRvY3VtZW50KCktPmFkb3B0Tm9kZShjb250ZW50LCBBU1NFUlRfTk9fRVhDRVBUSU9O
KTsKLQotICAgIG1fY29udGVudCA9IGNvbnRlbnQ7Ci19Ci0KLSNpZm5kZWYgTkRFQlVHCi1jb25z
dCBIVE1MVGVtcGxhdGVFbGVtZW50KiB0b0hUTUxUZW1wbGF0ZUVsZW1lbnQoY29uc3QgTm9kZSog
bm9kZSkKLXsKLSAgICBBU1NFUlQoIW5vZGUgfHwgKG5vZGUtPmlzSFRNTEVsZW1lbnQoKSAmJiBu
b2RlLT5oYXNUYWdOYW1lKHRlbXBsYXRlVGFnKSkpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxj
b25zdCBIVE1MVGVtcGxhdGVFbGVtZW50Kj4obm9kZSk7Ci19Ci0jZW5kaWYKLQotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA2ZWY5MTNlNDRhYjZiOGY2NjM1OWVlMDg5OTg3MjVlNzQ1ZTk1OTY3Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5oCisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoYykgMjAxMiwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqCi0g
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgotICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKLSAq
IE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0gKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaWZuZGVmIEhUTUxUZW1wbGF0ZUVsZW1lbnRfaAotI2RlZmluZSBIVE1MVGVtcGxhdGVFbGVt
ZW50X2gKLQotI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQotCi0jaW5jbHVkZSAiRG9jdW1l
bnRGcmFnbWVudC5oIgotI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotY2xhc3MgSFRNTFRlbXBsYXRlRWxlbWVudCA6IHB1YmxpYyBIVE1MRWxlbWVudCB7
Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8SFRNTFRlbXBsYXRlRWxlbWVudD4gY3Jl
YXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOwotICAgIHZpcnR1YWwgfkhUTUxU
ZW1wbGF0ZUVsZW1lbnQoKTsKLQotICAgIERvY3VtZW50RnJhZ21lbnQqIGNvbnRlbnQoKSBjb25z
dDsKLQotICAgIHZvaWQgc2V0Q29udGVudChQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+LCBF
eGNlcHRpb25Db2RlJik7Ci0KLXByaXZhdGU6Ci0gICAgSFRNTFRlbXBsYXRlRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKLQotICAgIG11dGFibGUgUmVmUHRyPERvY3Vt
ZW50RnJhZ21lbnQ+IG1fY29udGVudDsKLX07Ci0KLWNvbnN0IEhUTUxUZW1wbGF0ZUVsZW1lbnQq
IHRvSFRNTFRlbXBsYXRlRWxlbWVudChjb25zdCBOb2RlKik7Ci0KLWlubGluZSBIVE1MVGVtcGxh
dGVFbGVtZW50KiB0b0hUTUxUZW1wbGF0ZUVsZW1lbnQoTm9kZSogbm9kZSkKLXsKLSAgICByZXR1
cm4gY29uc3RfY2FzdDxIVE1MVGVtcGxhdGVFbGVtZW50Kj4odG9IVE1MVGVtcGxhdGVFbGVtZW50
KHN0YXRpY19jYXN0PGNvbnN0IE5vZGUqPihub2RlKSkpOwotfQotCi0jaWZkZWYgTkRFQlVHCi0K
LS8vIFRoZSBkZWJ1ZyB2ZXJzaW9uIG9mIHRoaXMsIHdpdGggYXNzZXJ0aW9ucywgaXMgbm90IGlu
bGluZWQuCi1pbmxpbmUgY29uc3QgSFRNTFRlbXBsYXRlRWxlbWVudCogdG9IVE1MVGVtcGxhdGVF
bGVtZW50KGNvbnN0IE5vZGUqIG5vZGUpCi17Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0
IEhUTUxUZW1wbGF0ZUVsZW1lbnQqPihub2RlKTsKLX0KLSNlbmRpZiAvLyBOREVCVUcKLQotfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQp
Ci0KLSNlbmRpZiAvLyBIVE1MVGVtcGxhdGVFbGVtZW50X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxUZW1wbGF0ZUVsZW1lbnQuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3
YTU4MzZkOTc4MWZkNmIzZTZmYzZlNjFmYzdmNTRhMDBjN2QwMmJjLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRl
bXBsYXRlRWxlbWVudC5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzNiArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChjKSAyMDEyLCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICoKLSAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0
cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0g
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAotICogT1dORVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBD
b25kaXRpb25hbD1URU1QTEFURV9FTEVNRU5UCi1dIGludGVyZmFjZSBIVE1MVGVtcGxhdGVFbGVt
ZW50IDogSFRNTEVsZW1lbnQgewotICAgIGF0dHJpYnV0ZSBEb2N1bWVudEZyYWdtZW50IGNvbnRl
bnQgc2V0dGVyIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLX07Ci0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcAppbmRleCA2MjI2OWRl
Y2I3NWY1MThjY2M4OTE0MzJkOWQwZTM3MjM0Yjk3OWM3Li45YzE4MmJhMjM0M2I0ZTUxMzlhMzIw
MjI2MDgxNGVkMDQ5NTkxOWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAi
SFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkhUTUxTY3JpcHRFbGVtZW50LmgiCiAjaW5j
bHVkZSAiSFRNTFN0YWNrSXRlbS5oIgotI2luY2x1ZGUgIkhUTUxUZW1wbGF0ZUVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MVG9rZW4uaCIKICNpbmNsdWRlICJIVE1MVG9rZW5pemVyLmgiCiAjaW5j
bHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgpAQCAtNzgsMTEgKzc3LDYgQEAgc3RhdGljIGlubGlu
ZSBib29sIGlzQWxsV2hpdGVzcGFjZShjb25zdCBTdHJpbmcmIHN0cmluZykKIAogc3RhdGljIGlu
bGluZSB2b2lkIGV4ZWN1dGVUYXNrKEhUTUxDb25zdHJ1Y3Rpb25TaXRlVGFzayYgdGFzaykKIHsK
LSNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKLSAgICBpZiAodGFzay5wYXJlbnQtPmhhc1Rh
Z05hbWUodGVtcGxhdGVUYWcpKQotICAgICAgICB0YXNrLnBhcmVudCA9IHRvSFRNTFRlbXBsYXRl
RWxlbWVudCh0YXNrLnBhcmVudC5nZXQoKSktPmNvbnRlbnQoKTsKLSNlbmRpZgotCiAgICAgaWYg
KHRhc2submV4dENoaWxkKQogICAgICAgICB0YXNrLnBhcmVudC0+cGFyc2VySW5zZXJ0QmVmb3Jl
KHRhc2suY2hpbGQuZ2V0KCksIHRhc2submV4dENoaWxkLmdldCgpKTsKICAgICBlbHNlCkBAIC0y
NTMsNyArMjQ3LDcgQEAgdm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6aW5zZXJ0RG9jdHlwZShB
dG9taWNIVE1MVG9rZW4qIHRva2VuKQogdm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6aW5zZXJ0
Q29tbWVudChBdG9taWNIVE1MVG9rZW4qIHRva2VuKQogewogICAgIEFTU0VSVCh0b2tlbi0+dHlw
ZSgpID09IEhUTUxUb2tlblR5cGVzOjpDb21tZW50KTsKLSAgICBhdHRhY2hMYXRlcihjdXJyZW50
Tm9kZSgpLCBDb21tZW50OjpjcmVhdGUob3duZXJEb2N1bWVudEZvckN1cnJlbnROb2RlKCksIHRv
a2VuLT5jb21tZW50KCkpKTsKKyAgICBhdHRhY2hMYXRlcihjdXJyZW50Tm9kZSgpLCBDb21tZW50
OjpjcmVhdGUoY3VycmVudE5vZGUoKS0+ZG9jdW1lbnQoKSwgdG9rZW4tPmNvbW1lbnQoKSkpOwog
fQogCiB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRDb21tZW50T25Eb2N1bWVudChB
dG9taWNIVE1MVG9rZW4qIHRva2VuKQpAQCAtMzMxLDcgKzMyNSw3IEBAIHZvaWQgSFRNTENvbnN0
cnVjdGlvblNpdGU6Omluc2VydFNjcmlwdEVsZW1lbnQoQXRvbWljSFRNTFRva2VuKiB0b2tlbikK
ICAgICAvLyB0aG9zZSBmbGFncyBvciBlZmZlY3RzIHRoZXJlb2YuCiAgICAgY29uc3QgYm9vbCBw
YXJzZXJJbnNlcnRlZCA9IG1fZnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uICE9IEFsbG93U2Ny
aXB0aW5nQ29udGVudEFuZERvTm90TWFya0FscmVhZHlTdGFydGVkOwogICAgIGNvbnN0IGJvb2wg
YWxyZWFkeVN0YXJ0ZWQgPSBtX2lzUGFyc2luZ0ZyYWdtZW50ICYmIHBhcnNlckluc2VydGVkOwot
ICAgIFJlZlB0cjxIVE1MU2NyaXB0RWxlbWVudD4gZWxlbWVudCA9IEhUTUxTY3JpcHRFbGVtZW50
OjpjcmVhdGUoc2NyaXB0VGFnLCBvd25lckRvY3VtZW50Rm9yQ3VycmVudE5vZGUoKSwgcGFyc2Vy
SW5zZXJ0ZWQsIGFscmVhZHlTdGFydGVkKTsKKyAgICBSZWZQdHI8SFRNTFNjcmlwdEVsZW1lbnQ+
IGVsZW1lbnQgPSBIVE1MU2NyaXB0RWxlbWVudDo6Y3JlYXRlKHNjcmlwdFRhZywgY3VycmVudE5v
ZGUoKS0+ZG9jdW1lbnQoKSwgcGFyc2VySW5zZXJ0ZWQsIGFscmVhZHlTdGFydGVkKTsKICAgICBp
ZiAobV9mcmFnbWVudFNjcmlwdGluZ1Blcm1pc3Npb24gIT0gRGlzYWxsb3dTY3JpcHRpbmdDb250
ZW50KQogICAgICAgICBlbGVtZW50LT5wYXJzZXJTZXRBdHRyaWJ1dGVzKHRva2VuLT5hdHRyaWJ1
dGVzKCksIG1fZnJhZ21lbnRTY3JpcHRpbmdQZXJtaXNzaW9uKTsKICAgICBhdHRhY2hMYXRlcihj
dXJyZW50Tm9kZSgpLCBlbGVtZW50KTsKQEAgLTM1NywxMSArMzUxLDYgQEAgdm9pZCBIVE1MQ29u
c3RydWN0aW9uU2l0ZTo6aW5zZXJ0VGV4dE5vZGUoY29uc3QgU3RyaW5nJiBjaGFyYWN0ZXJzLCBX
aGl0ZXNwYWNlTW8KICAgICBpZiAoc2hvdWxkRm9zdGVyUGFyZW50KCkpCiAgICAgICAgIGZpbmRG
b3N0ZXJTaXRlKHRhc2spOwogCi0jaWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCi0gICAgaWYg
KHRhc2sucGFyZW50LT5oYXNUYWdOYW1lKHRlbXBsYXRlVGFnKSkKLSAgICAgICAgdGFzay5wYXJl
bnQgPSB0b0hUTUxUZW1wbGF0ZUVsZW1lbnQodGFzay5wYXJlbnQuZ2V0KCkpLT5jb250ZW50KCk7
Ci0jZW5kaWYKLQogICAgIC8vIFN0cmluZ3MgY29tcG9zZWQgZW50aXJlbHkgb2Ygd2hpdGVzcGFj
ZSBhcmUgbGlrZWx5IHRvIGJlIHJlcGVhdGVkLgogICAgIC8vIFR1cm4gdGhlbSBpbnRvIEF0b21p
Y1N0cmluZyBzbyB3ZSBzaGFyZSBhIHNpbmdsZSBzdHJpbmcgZm9yIGVhY2guCiAgICAgYm9vbCBz
aG91bGRVc2VBdG9taWNTdHJpbmcgPSB3aGl0ZXNwYWNlTW9kZSA9PSBBbGxXaGl0ZXNwYWNlCkBA
IC0zOTgsMjcgKzM4NywxOCBAQCB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRUZXh0
Tm9kZShjb25zdCBTdHJpbmcmIGNoYXJhY3RlcnMsIFdoaXRlc3BhY2VNbwogUGFzc1JlZlB0cjxF
bGVtZW50PiBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlRWxlbWVudChBdG9taWNIVE1MVG9r
ZW4qIHRva2VuLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSkKIHsKICAgICBRdWFs
aWZpZWROYW1lIHRhZ05hbWUobnVsbEF0b20sIHRva2VuLT5uYW1lKCksIG5hbWVzcGFjZVVSSSk7
Ci0gICAgUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQgPSBvd25lckRvY3VtZW50Rm9yQ3VycmVudE5v
ZGUoKS0+Y3JlYXRlRWxlbWVudCh0YWdOYW1lLCB0cnVlKTsKKyAgICBSZWZQdHI8RWxlbWVudD4g
ZWxlbWVudCA9IGN1cnJlbnROb2RlKCktPmRvY3VtZW50KCktPmNyZWF0ZUVsZW1lbnQodGFnTmFt
ZSwgdHJ1ZSk7CiAgICAgZWxlbWVudC0+cGFyc2VyU2V0QXR0cmlidXRlcyh0b2tlbi0+YXR0cmli
dXRlcygpLCBtX2ZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbik7CiAgICAgcmV0dXJuIGVsZW1l
bnQucmVsZWFzZSgpOwogfQogCi1pbmxpbmUgRG9jdW1lbnQqIEhUTUxDb25zdHJ1Y3Rpb25TaXRl
Ojpvd25lckRvY3VtZW50Rm9yQ3VycmVudE5vZGUoKQotewotI2lmIEVOQUJMRShURU1QTEFURV9F
TEVNRU5UKQotICAgIGlmIChjdXJyZW50Tm9kZSgpLT5oYXNUYWdOYW1lKHRlbXBsYXRlVGFnKSkK
LSAgICAgICAgcmV0dXJuIHRvSFRNTFRlbXBsYXRlRWxlbWVudChjdXJyZW50RWxlbWVudCgpKS0+
Y29udGVudCgpLT5kb2N1bWVudCgpOwotI2VuZGlmCi0gICAgcmV0dXJuIGN1cnJlbnROb2RlKCkt
PmRvY3VtZW50KCk7Ci19Ci0KIFBhc3NSZWZQdHI8RWxlbWVudD4gSFRNTENvbnN0cnVjdGlvblNp
dGU6OmNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiB7CiAgICAgUXVh
bGlmaWVkTmFtZSB0YWdOYW1lKG51bGxBdG9tLCB0b2tlbi0+bmFtZSgpLCB4aHRtbE5hbWVzcGFj
ZVVSSSk7CiAgICAgLy8gRklYTUU6IFRoaXMgY2FuJ3QgdXNlIEhUTUxDb25zdHJ1Y3Rpb25TaXRl
OjpjcmVhdGVFbGVtZW50IGJlY2F1c2Ugd2UKICAgICAvLyBoYXZlIHRvIHBhc3MgdGhlIGN1cnJl
bnQgZm9ybSBlbGVtZW50LiAgV2Ugc2hvdWxkIHJld29yayBmb3JtIGFzc29jaWF0aW9uCiAgICAg
Ly8gdG8gb2NjdXIgYWZ0ZXIgY29uc3RydWN0aW9uIHRvIGFsbG93IGJldHRlciBjb2RlIHNoYXJp
bmcgaGVyZS4KLSAgICBSZWZQdHI8RWxlbWVudD4gZWxlbWVudCA9IEhUTUxFbGVtZW50RmFjdG9y
eTo6Y3JlYXRlSFRNTEVsZW1lbnQodGFnTmFtZSwgb3duZXJEb2N1bWVudEZvckN1cnJlbnROb2Rl
KCksIGZvcm0oKSwgdHJ1ZSk7CisgICAgUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQgPSBIVE1MRWxl
bWVudEZhY3Rvcnk6OmNyZWF0ZUhUTUxFbGVtZW50KHRhZ05hbWUsIGN1cnJlbnROb2RlKCktPmRv
Y3VtZW50KCksIGZvcm0oKSwgdHJ1ZSk7CiAgICAgZWxlbWVudC0+cGFyc2VyU2V0QXR0cmlidXRl
cyh0b2tlbi0+YXR0cmlidXRlcygpLCBtX2ZyYWdtZW50U2NyaXB0aW5nUGVybWlzc2lvbik7CiAg
ICAgQVNTRVJUKGVsZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSk7CiAgICAgcmV0dXJuIGVsZW1lbnQu
cmVsZWFzZSgpOwpAQCAtNDgyLDE1ICs0NjIsNiBAQCB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRl
OjpnZW5lcmF0ZUltcGxpZWRFbmRUYWdzKCkKIAogdm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6
ZmluZEZvc3RlclNpdGUoSFRNTENvbnN0cnVjdGlvblNpdGVUYXNrJiB0YXNrKQogewotI2lmIEVO
QUJMRShURU1QTEFURV9FTEVNRU5UKQotICAgIC8vIFdoZW4gYSBub2RlIGlzIHRvIGJlIGZvc3Rl
ciBwYXJlbnRlZCwgdGhlIGxhc3QgdGVtcGxhdGUgZWxlbWVudCB3aXRoIG5vIHRhYmxlIGVsZW1l
bnQgaXMgYmVsb3cgaXQgaW4gdGhlIHN0YWNrIG9mIG9wZW4gZWxlbWVudHMgaXMgdGhlIGZvc3Rl
ciBwYXJlbnQgZWxlbWVudCAoTk9UIHRoZSB0ZW1wbGF0ZSdzIHBhcmVudCEpCi0gICAgSFRNTEVs
ZW1lbnRTdGFjazo6RWxlbWVudFJlY29yZCogbGFzdFRlbXBsYXRlRWxlbWVudCA9IG1fb3BlbkVs
ZW1lbnRzLnRvcG1vc3QodGVtcGxhdGVUYWcubG9jYWxOYW1lKCkpOwotICAgIGlmIChsYXN0VGVt
cGxhdGVFbGVtZW50ICYmICFtX29wZW5FbGVtZW50cy5pblRhYmxlU2NvcGUodGFibGVUYWcpKSB7
Ci0gICAgICAgIHRhc2sucGFyZW50ID0gbGFzdFRlbXBsYXRlRWxlbWVudC0+ZWxlbWVudCgpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCi0KICAgICBIVE1MRWxlbWVudFN0YWNrOjpF
bGVtZW50UmVjb3JkKiBsYXN0VGFibGVFbGVtZW50UmVjb3JkID0gbV9vcGVuRWxlbWVudHMudG9w
bW9zdCh0YWJsZVRhZy5sb2NhbE5hbWUoKSk7CiAgICAgaWYgKGxhc3RUYWJsZUVsZW1lbnRSZWNv
cmQpIHsKICAgICAgICAgRWxlbWVudCogbGFzdFRhYmxlRWxlbWVudCA9IGxhc3RUYWJsZUVsZW1l
bnRSZWNvcmQtPmVsZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MQ29uc3RydWN0aW9uU2l0ZS5oCmluZGV4IGRmMzI1OTBhNzkzNzE3YmU3YTkxZGE3NmI5MTVj
NGE5MTU1YjUxZjAuLjYwNTcyYmRkODU2Mjc0NDVjYmQ4NjVhOTY3OWQyZmViYTVmNmE4ZGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUu
aApAQCAtMTE0LDEwICsxMTQsOSBAQCBwdWJsaWM6CiAgICAgQ29udGFpbmVyTm9kZSogY3VycmVu
dE5vZGUoKSBjb25zdCB7IHJldHVybiBtX29wZW5FbGVtZW50cy50b3BOb2RlKCk7IH0KICAgICBI
VE1MU3RhY2tJdGVtKiBjdXJyZW50U3RhY2tJdGVtKCkgY29uc3QgeyByZXR1cm4gbV9vcGVuRWxl
bWVudHMudG9wU3RhY2tJdGVtKCk7IH0KICAgICBIVE1MU3RhY2tJdGVtKiBvbmVCZWxvd1RvcCgp
IGNvbnN0IHsgcmV0dXJuIG1fb3BlbkVsZW1lbnRzLm9uZUJlbG93VG9wKCk7IH0KLSAgICBEb2N1
bWVudCogb3duZXJEb2N1bWVudEZvckN1cnJlbnROb2RlKCk7CisKICAgICBIVE1MRWxlbWVudFN0
YWNrKiBvcGVuRWxlbWVudHMoKSBjb25zdCB7IHJldHVybiAmbV9vcGVuRWxlbWVudHM7IH0KICAg
ICBIVE1MRm9ybWF0dGluZ0VsZW1lbnRMaXN0KiBhY3RpdmVGb3JtYXR0aW5nRWxlbWVudHMoKSBj
b25zdCB7IHJldHVybiAmbV9hY3RpdmVGb3JtYXR0aW5nRWxlbWVudHM7IH0KLSAgICBib29sIGN1
cnJlbnRJc1Jvb3ROb2RlKCkgeyByZXR1cm4gbV9vcGVuRWxlbWVudHMudG9wTm9kZSgpID09IG1f
b3BlbkVsZW1lbnRzLnJvb3ROb2RlKCk7IH0KIAogICAgIEVsZW1lbnQqIGhlYWQoKSBjb25zdCB7
IHJldHVybiBtX2hlYWQtPmVsZW1lbnQoKTsgfQogICAgIEhUTUxTdGFja0l0ZW0qIGhlYWRTdGFj
a0l0ZW0oKSBjb25zdCB7IHJldHVybiBtX2hlYWQuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxFbGVtZW50U3RhY2suY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1lbnRTdGFjay5jcHAKaW5kZXggYjgwNDY3N2M5OGI3NjU1
ODhmYTBlZjBjOWExNmY0NDEyYjQ1NzQ4Yy4uNmMyMjBjOTczOWE2NDAyMGVkMGYyN2NjMzIwMWIy
YzRlMDE2MTU3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVs
ZW1lbnRTdGFjay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTEVsZW1l
bnRTdGFjay5jcHAKQEAgLTM4LDE1ICszOCwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVz
aW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKLQotbmFtZXNwYWNlIHsKLQotaW5saW5lIGJvb2wg
aXNSb290Tm9kZShIVE1MU3RhY2tJdGVtKiBpdGVtKQorc3RhdGljIGlubGluZSBib29sIGlzUm9v
dE5vZGUoSFRNTFN0YWNrSXRlbSogaXRlbSkKIHsKICAgICByZXR1cm4gaXRlbS0+aXNEb2N1bWVu
dEZyYWdtZW50Tm9kZSgpCiAgICAgICAgIHx8IGl0ZW0tPmhhc1RhZ05hbWUoaHRtbFRhZyk7CiB9
CiAKK25hbWVzcGFjZSB7CisKIGlubGluZSBib29sIGlzU2NvcGVNYXJrZXIoSFRNTFN0YWNrSXRl
bSogaXRlbSkKIHsKICAgICByZXR1cm4gaXRlbS0+aGFzVGFnTmFtZShhcHBsZXRUYWcpCkBAIC02
NSw5ICs2NCw2IEBAIGlubGluZSBib29sIGlzU2NvcGVNYXJrZXIoSFRNTFN0YWNrSXRlbSogaXRl
bSkKICAgICAgICAgfHwgaXRlbS0+aGFzVGFnTmFtZShTVkdOYW1lczo6Zm9yZWlnbk9iamVjdFRh
ZykKICAgICAgICAgfHwgaXRlbS0+aGFzVGFnTmFtZShTVkdOYW1lczo6ZGVzY1RhZykKICAgICAg
ICAgfHwgaXRlbS0+aGFzVGFnTmFtZShTVkdOYW1lczo6dGl0bGVUYWcpCi0jaWYgRU5BQkxFKFRF
TVBMQVRFX0VMRU1FTlQpCi0gICAgICAgIHx8IGl0ZW0tPmhhc1RhZ05hbWUodGVtcGxhdGVUYWcp
Ci0jZW5kaWYKICAgICAgICAgfHwgaXNSb290Tm9kZShpdGVtKTsKIH0KIApAQCAtODEsOSArNzcs
NiBAQCBpbmxpbmUgYm9vbCBpc0xpc3RJdGVtU2NvcGVNYXJrZXIoSFRNTFN0YWNrSXRlbSogaXRl
bSkKIGlubGluZSBib29sIGlzVGFibGVTY29wZU1hcmtlcihIVE1MU3RhY2tJdGVtKiBpdGVtKQog
ewogICAgIHJldHVybiBpdGVtLT5oYXNUYWdOYW1lKHRhYmxlVGFnKQotI2lmIEVOQUJMRShURU1Q
TEFURV9FTEVNRU5UKQotICAgICAgICB8fCBpdGVtLT5oYXNUYWdOYW1lKHRlbXBsYXRlVGFnKQot
I2VuZGlmCiAgICAgICAgIHx8IGlzUm9vdE5vZGUoaXRlbSk7CiB9CiAKQEAgLTkyLDE4ICs4NSwx
MiBAQCBpbmxpbmUgYm9vbCBpc1RhYmxlQm9keVNjb3BlTWFya2VyKEhUTUxTdGFja0l0ZW0qIGl0
ZW0pCiAgICAgcmV0dXJuIGl0ZW0tPmhhc1RhZ05hbWUodGJvZHlUYWcpCiAgICAgICAgIHx8IGl0
ZW0tPmhhc1RhZ05hbWUodGZvb3RUYWcpCiAgICAgICAgIHx8IGl0ZW0tPmhhc1RhZ05hbWUodGhl
YWRUYWcpCi0jaWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCi0gICAgICAgIHx8IGl0ZW0tPmhh
c1RhZ05hbWUodGVtcGxhdGVUYWcpCi0jZW5kaWYKICAgICAgICAgfHwgaXNSb290Tm9kZShpdGVt
KTsKIH0KIAogaW5saW5lIGJvb2wgaXNUYWJsZVJvd1Njb3BlTWFya2VyKEhUTUxTdGFja0l0ZW0q
IGl0ZW0pCiB7CiAgICAgcmV0dXJuIGl0ZW0tPmhhc1RhZ05hbWUodHJUYWcpCi0jaWYgRU5BQkxF
KFRFTVBMQVRFX0VMRU1FTlQpCi0gICAgICAgIHx8IGl0ZW0tPmhhc1RhZ05hbWUodGVtcGxhdGVU
YWcpCi0jZW5kaWYKICAgICAgICAgfHwgaXNSb290Tm9kZShpdGVtKTsKIH0KIApAQCAtNTQwLDEz
ICs1MjcsNiBAQCBib29sIEhUTUxFbGVtZW50U3RhY2s6OmluU2VsZWN0U2NvcGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSkgY29uc3QKICAgICByZXR1cm4gaW5TZWxlY3RTY29wZSh0YWdO
YW1lLmxvY2FsTmFtZSgpKTsKIH0KIAotI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQotYm9v
bCBIVE1MRWxlbWVudFN0YWNrOjpoYXNUZW1wbGF0ZUluSFRNTFNjb3BlKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gaW5TY29wZUNvbW1vbjxpc1Jvb3ROb2RlPihtX3RvcC5nZXQoKSwgdGVtcGxhdGVU
YWcubG9jYWxOYW1lKCkpOwotfQotI2VuZGlmCi0KIEVsZW1lbnQqIEhUTUxFbGVtZW50U3RhY2s6
Omh0bWxFbGVtZW50KCkgY29uc3QKIHsKICAgICBBU1NFUlQobV9yb290Tm9kZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRWxlbWVudFN0YWNrLmgKaW5kZXggMmMwZGIxMzRh
MGQyNTUzOTc2ZjBkZjlhZWVmM2EwZGJkODYwYzljNy4uODczY2JkZWI5NWI4ZWRhMDZiM2JlODBi
ZDk1Y2E3ZDIzODkxMWJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTEVsZW1lbnRTdGFjay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxF
bGVtZW50U3RhY2suaApAQCAtMTUwLDkgKzE1MCw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaGFz
T25seU9uZUVsZW1lbnQoKSBjb25zdDsKICAgICBib29sIHNlY29uZEVsZW1lbnRJc0hUTUxCb2R5
RWxlbWVudCgpIGNvbnN0OwotI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQotICAgIGJvb2wg
aGFzVGVtcGxhdGVJbkhUTUxTY29wZSgpIGNvbnN0OwotI2VuZGlmCisKICAgICBFbGVtZW50KiBo
dG1sRWxlbWVudCgpIGNvbnN0OwogICAgIEVsZW1lbnQqIGhlYWRFbGVtZW50KCkgY29uc3Q7CiAg
ICAgRWxlbWVudCogYm9keUVsZW1lbnQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCmluZGV4IDY5NzRjNjRiZDUxNmZlOTc0MjhjNTRm
YzlmMjVlODk4Y2E3OGFlMmYuLmM3ODU2MmIzM2MxOWJkMmM1NzFkNTliYTU1YzZhM2QwN2UyMmM4
ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNw
cApAQCAtNDEsNyArNDEsNiBAQAogI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNs
dWRlICJIVE1MU2NyaXB0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxTdGFja0l0ZW0uaCIKLSNp
bmNsdWRlICJIVE1MVGVtcGxhdGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFRva2VuLmgiCiAj
aW5jbHVkZSAiSFRNTFRva2VuaXplci5oIgogI2luY2x1ZGUgIkxvY2FsaXplZFN0cmluZ3MuaCIK
QEAgLTM2MSw3ICszNjAsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6Y29uc3RydWN0VHJlZUZy
b21Ub2tlbihIVE1MVG9rZW4mIHJhd1Rva2VuKQogICAgIC8vIHN5bmNocm9ub3VzbHkgcmUtZW50
ZXJzIHRoZSBwYXJzZXIuIFdlIGRvbid0IGNsZWFyIHRoZSB0b2tlbiBpbW1lZGF0ZWx5CiAgICAg
Ly8gZm9yIENoYXJhY3RlciB0b2tlbnMgYmVjYXVzZSB0aGUgQXRvbWljSFRNTFRva2VuIGF2b2lk
cyBjb3B5aW5nIHRoZQogICAgIC8vIGNoYXJhY3RlcnMgYnkga2VlcGluZyBhIHBvaW50ZXIgdG8g
dGhlIHVuZGVybHlpbmcgYnVmZmVyIGluIHRoZQotICAgIC8vIEhUTUxUb2tlbi4gRm9ydHVuYXRl
bHksIENoYXJhY3RlciB0b2tlbnMgY2FuJ3QgY2F1c2UgdXNlIHRvIHJlLWVudGVyCisgICAgLy8g
SFRNTFRva2VuLiBGb3J0dWFudGVseSwgQ2hhcmFjdGVyIHRva2VucyBjYW4ndCBjYXVzZSB1c2Ug
dG8gcmUtZW50ZXIKICAgICAvLyB0aGUgcGFyc2VyLgogICAgIC8vCiAgICAgLy8gRklYTUU6IFN0
b3AgY2xlYXJpbmcgdGhlIHJhd1Rva2VuIG9uY2Ugd2Ugc3RhcnQgcnVubmluZyB0aGUgcGFyc2Vy
IG9mZgpAQCAtNjczLDEyICs2NzIsOCBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0
YXJ0VGFnRm9ySW5Cb2R5KEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAgICAgfQogICAgIGlmICh0
b2tlbi0+bmFtZSgpID09IGJvZHlUYWcpIHsKICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7Ci0g
ICAgICAgIGJvb2wgZnJhZ21lbnRPclRlbXBsYXRlQ2FzZSA9ICFtX3RyZWUub3BlbkVsZW1lbnRz
KCktPnNlY29uZEVsZW1lbnRJc0hUTUxCb2R5RWxlbWVudCgpIHx8IG1fdHJlZS5vcGVuRWxlbWVu
dHMoKS0+aGFzT25seU9uZUVsZW1lbnQoKTsKLSNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkK
LSAgICAgICAgZnJhZ21lbnRPclRlbXBsYXRlQ2FzZSA9IGZyYWdtZW50T3JUZW1wbGF0ZUNhc2Ug
fHwgbV90cmVlLm9wZW5FbGVtZW50cygpLT5oYXNUZW1wbGF0ZUluSFRNTFNjb3BlKCk7Ci0jZW5k
aWYKLSAgICAgICAgaWYgKGZyYWdtZW50T3JUZW1wbGF0ZUNhc2UpIHsKLSAgICAgICAgICAgIEFT
U0VSVChpc1BhcnNpbmdGcmFnbWVudE9yVGVtcGxhdGVDb250ZW50cygpKTsKKyAgICAgICAgaWYg
KCFtX3RyZWUub3BlbkVsZW1lbnRzKCktPnNlY29uZEVsZW1lbnRJc0hUTUxCb2R5RWxlbWVudCgp
IHx8IG1fdHJlZS5vcGVuRWxlbWVudHMoKS0+aGFzT25seU9uZUVsZW1lbnQoKSkgeworICAgICAg
ICAgICAgQVNTRVJUKGlzUGFyc2luZ0ZyYWdtZW50KCkpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAgICAgICAgIG1fZnJhbWVzZXRPayA9IGZhbHNlOwpAQCAtNjg4LDcgKzY4Myw3
IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWdGb3JJbkJvZHkoQXRvbWlj
SFRNTFRva2VuKiB0b2tlbikKICAgICBpZiAodG9rZW4tPm5hbWUoKSA9PSBmcmFtZXNldFRhZykg
ewogICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKICAgICAgICAgaWYgKCFtX3RyZWUub3BlbkVs
ZW1lbnRzKCktPnNlY29uZEVsZW1lbnRJc0hUTUxCb2R5RWxlbWVudCgpIHx8IG1fdHJlZS5vcGVu
RWxlbWVudHMoKS0+aGFzT25seU9uZUVsZW1lbnQoKSkgewotICAgICAgICAgICAgQVNTRVJUKGlz
UGFyc2luZ0ZyYWdtZW50T3JUZW1wbGF0ZUNvbnRlbnRzKCkpOworICAgICAgICAgICAgQVNTRVJU
KGlzUGFyc2luZ0ZyYWdtZW50KCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAg
ICAgICAgIGlmICghbV9mcmFtZXNldE9rKQpAQCAtOTQ5LDQzICs5NDQsMTMgQEAgdm9pZCBIVE1M
VHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZ0ZvckluQm9keShBdG9taWNIVE1MVG9rZW4qIHRv
a2VuKQogICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
LSNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKLSAgICBpZiAodG9rZW4tPm5hbWUoKSA9PSB0
ZW1wbGF0ZVRhZykgewotICAgICAgICBwcm9jZXNzVGVtcGxhdGVTdGFydFRhZyh0b2tlbik7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKICAgICBtX3RyZWUucmVjb25zdHJ1Y3RUaGVB
Y3RpdmVGb3JtYXR0aW5nRWxlbWVudHMoKTsKICAgICBtX3RyZWUuaW5zZXJ0SFRNTEVsZW1lbnQo
dG9rZW4pOwogfQogCi0jaWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCi0KLXZvaWQgSFRNTFRy
ZWVCdWlsZGVyOjpwcm9jZXNzVGVtcGxhdGVTdGFydFRhZyhBdG9taWNIVE1MVG9rZW4qIHRva2Vu
KQotewotICAgIG1fdHJlZS5hY3RpdmVGb3JtYXR0aW5nRWxlbWVudHMoKS0+YXBwZW5kTWFya2Vy
KCk7Ci0gICAgbV90cmVlLmluc2VydEhUTUxFbGVtZW50KHRva2VuKTsKLSAgICBzZXRJbnNlcnRp
b25Nb2RlKFRlbXBsYXRlQ29udGVudHNNb2RlKTsKLX0KLQotdm9pZCBIVE1MVHJlZUJ1aWxkZXI6
OnByb2Nlc3NUZW1wbGF0ZUVuZFRhZyhBdG9taWNIVE1MVG9rZW4qIHRva2VuKQotewotICAgIGlm
ICghbV90cmVlLm9wZW5FbGVtZW50cygpLT5pblNjb3BlKHRva2VuLT5uYW1lKCkpKSB7Ci0gICAg
ICAgIHBhcnNlRXJyb3IodG9rZW4pOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIG1fdHJl
ZS5nZW5lcmF0ZUltcGxpZWRFbmRUYWdzKCk7Ci0gICAgaWYgKCFtX3RyZWUuY3VycmVudFN0YWNr
SXRlbSgpLT5oYXNMb2NhbE5hbWUodG9rZW4tPm5hbWUoKSkpCi0gICAgICAgIHBhcnNlRXJyb3Io
dG9rZW4pOwotICAgIG1fdHJlZS5vcGVuRWxlbWVudHMoKS0+cG9wVW50aWxQb3BwZWQodG9rZW4t
Pm5hbWUoKSk7Ci0gICAgbV90cmVlLmFjdGl2ZUZvcm1hdHRpbmdFbGVtZW50cygpLT5jbGVhclRv
TGFzdE1hcmtlcigpOwotICAgIHJlc2V0SW5zZXJ0aW9uTW9kZUFwcHJvcHJpYXRlbHkoKTsKLX0K
LSNlbmRpZgotCiBib29sIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0NvbGdyb3VwRW5kVGFnRm9y
SW5Db2x1bW5Hcm91cCgpCiB7Ci0gICAgaWYgKG1fdHJlZS5jdXJyZW50SXNSb290Tm9kZSgpKSB7
CisgICAgaWYgKG1fdHJlZS5jdXJyZW50Tm9kZSgpID09IG1fdHJlZS5vcGVuRWxlbWVudHMoKS0+
cm9vdE5vZGUoKSkgewogICAgICAgICBBU1NFUlQoaXNQYXJzaW5nRnJhZ21lbnQoKSk7CiAgICAg
ICAgIC8vIEZJWE1FOiBwYXJzZSBlcnJvcgogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMDQ3
LDcgKzEwMTIsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0YXJ0VGFnRm9ySW5U
YWJsZShBdG9taWNIVE1MVG9rZW4qIHRva2VuKQogICAgIGlmICh0b2tlbi0+bmFtZSgpID09IHRh
YmxlVGFnKSB7CiAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwogICAgICAgICBpZiAoIXByb2Nl
c3NUYWJsZUVuZFRhZ0ZvckluVGFibGUoKSkgewotICAgICAgICAgICAgQVNTRVJUKGlzUGFyc2lu
Z0ZyYWdtZW50T3JUZW1wbGF0ZUNvbnRlbnRzKCkpOworICAgICAgICAgICAgQVNTRVJUKGlzUGFy
c2luZ0ZyYWdtZW50KCkpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAg
IHByb2Nlc3NTdGFydFRhZyh0b2tlbik7CkBAIC0xMDc0LDEyICsxMDM5LDYgQEAgdm9pZCBIVE1M
VHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZ0ZvckluVGFibGUoQXRvbWljSFRNTFRva2VuKiB0
b2tlbikKICAgICAgICAgbV90cmVlLm9wZW5FbGVtZW50cygpLT5wb3AoKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KLSNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKLSAgICBpZiAodG9rZW4t
Pm5hbWUoKSA9PSB0ZW1wbGF0ZVRhZykgewotICAgICAgICBwcm9jZXNzVGVtcGxhdGVTdGFydFRh
Zyh0b2tlbik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKICAgICBwYXJzZUVycm9y
KHRva2VuKTsKICAgICBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6UmVkaXJlY3RUb0Zvc3RlclBhcmVu
dEd1YXJkIHJlZGlyZWN0ZXIobV90cmVlKTsKICAgICBwcm9jZXNzU3RhcnRUYWdGb3JJbkJvZHko
dG9rZW4pOwpAQCAtMTE5NCwxMiArMTE1Myw2IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9j
ZXNzU3RhcnRUYWcoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAgICAgICAgICAgIG1fdHJlZS5p
bnNlcnRTZWxmQ2xvc2luZ0hUTUxFbGVtZW50KHRva2VuKTsKICAgICAgICAgICAgIHJldHVybjsK
ICAgICAgICAgfQotI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQotICAgICAgICBpZiAodG9r
ZW4tPm5hbWUoKSA9PSB0ZW1wbGF0ZVRhZykgewotICAgICAgICAgICAgcHJvY2Vzc1RlbXBsYXRl
U3RhcnRUYWcodG9rZW4pOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0jZW5kaWYK
ICAgICAgICAgaWYgKCFwcm9jZXNzQ29sZ3JvdXBFbmRUYWdGb3JJbkNvbHVtbkdyb3VwKCkpIHsK
ICAgICAgICAgICAgIEFTU0VSVChpc1BhcnNpbmdGcmFnbWVudCgpKTsKICAgICAgICAgICAgIHJl
dHVybjsKQEAgLTEyMjQsNyArMTE3Nyw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNz
U3RhcnRUYWcoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAgICAgICAgaWYgKGlzQ2FwdGlvbkNv
bE9yQ29sZ3JvdXBUYWcodG9rZW4tPm5hbWUoKSkgfHwgaXNUYWJsZUJvZHlDb250ZXh0VGFnKHRv
a2VuLT5uYW1lKCkpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyBzbG93LgogICAg
ICAgICAgICAgaWYgKCFtX3RyZWUub3BlbkVsZW1lbnRzKCktPmluVGFibGVTY29wZSh0Ym9keVRh
Zy5sb2NhbE5hbWUoKSkgJiYgIW1fdHJlZS5vcGVuRWxlbWVudHMoKS0+aW5UYWJsZVNjb3BlKHRo
ZWFkVGFnLmxvY2FsTmFtZSgpKSAmJiAhbV90cmVlLm9wZW5FbGVtZW50cygpLT5pblRhYmxlU2Nv
cGUodGZvb3RUYWcubG9jYWxOYW1lKCkpKSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGlzUGFy
c2luZ0ZyYWdtZW50T3JUZW1wbGF0ZUNvbnRlbnRzKCkpOworICAgICAgICAgICAgICAgIEFTU0VS
VChpc1BhcnNpbmdGcmFnbWVudCgpKTsKICAgICAgICAgICAgICAgICBwYXJzZUVycm9yKHRva2Vu
KTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CkBAIC0xMjQ5LDcgKzEy
MDIsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1N0YXJ0VGFnKEF0b21pY0hUTUxU
b2tlbiogdG9rZW4pCiAgICAgICAgICAgICB8fCBpc0NhcHRpb25Db2xPckNvbGdyb3VwVGFnKHRv
a2VuLT5uYW1lKCkpCiAgICAgICAgICAgICB8fCBpc1RhYmxlQm9keUNvbnRleHRUYWcodG9rZW4t
Pm5hbWUoKSkpIHsKICAgICAgICAgICAgIGlmICghcHJvY2Vzc1RyRW5kVGFnRm9ySW5Sb3coKSkg
ewotICAgICAgICAgICAgICAgIEFTU0VSVChpc1BhcnNpbmdGcmFnbWVudE9yVGVtcGxhdGVDb250
ZW50cygpKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQoaXNQYXJzaW5nRnJhZ21lbnQoKSk7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgQVNTRVJU
KGluc2VydGlvbk1vZGUoKSA9PSBJblRhYmxlQm9keU1vZGUpOwpAQCAtMTMyNywxMiArMTI4MCw2
IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWcoQXRvbWljSFRNTFRva2Vu
KiB0b2tlbikKICAgICAgICAgICAgIHByb2Nlc3NTdGFydFRhZ0ZvckluSGVhZCh0b2tlbik7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVO
VCkKLSAgICAgICAgaWYgKHRva2VuLT5uYW1lKCkgPT0gdGVtcGxhdGVUYWcpIHsKLSAgICAgICAg
ICAgIHByb2Nlc3NUZW1wbGF0ZVN0YXJ0VGFnKHRva2VuKTsKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgfQotI2VuZGlmCiAgICAgICAgIHBhcnNlRXJyb3IodG9rZW4pOwogICAgICAgICBi
cmVhazsKICAgICBjYXNlIEFmdGVyRnJhbWVzZXRNb2RlOgpAQCAtMTQxMiwxMiArMTM1OSw2IEBA
IHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWcoQXRvbWljSFRNTFRva2VuKiB0
b2tlbikKICAgICAgICAgICAgIEFTU0VSVF9VTlVTRUQoZGlkUHJvY2VzcywgZGlkUHJvY2Vzcyk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSNpZiBFTkFCTEUoVEVNUExBVEVfRUxF
TUVOVCkKLSAgICAgICAgaWYgKHRva2VuLT5uYW1lKCkgPT0gdGVtcGxhdGVUYWcpIHsKLSAgICAg
ICAgICAgIHByb2Nlc3NUZW1wbGF0ZVN0YXJ0VGFnKHRva2VuKTsKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICAgICAgfQotI2VuZGlmCiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgSW5UYWJsZVRl
eHRNb2RlOgogICAgICAgICBkZWZhdWx0Rm9ySW5UYWJsZVRleHQoKTsKQEAgLTE0MjYsNTEgKzEz
NjcsMTIgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NTdGFydFRhZyhBdG9taWNIVE1M
VG9rZW4qIHRva2VuKQogICAgIGNhc2UgVGV4dE1vZGU6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFRlbXBsYXRlQ29udGVudHNNb2RlOgot
I2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQotICAgICAgICBpZiAodG9rZW4tPm5hbWUoKSA9
PSB0ZW1wbGF0ZVRhZykgewotICAgICAgICAgICAgcHJvY2Vzc1RlbXBsYXRlU3RhcnRUYWcodG9r
ZW4pOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHRva2Vu
LT5uYW1lKCkgPT0gbGlua1RhZwotICAgICAgICAgICAgfHwgdG9rZW4tPm5hbWUoKSA9PSBzY3Jp
cHRUYWcKLSAgICAgICAgICAgIHx8IHRva2VuLT5uYW1lKCkgPT0gc3R5bGVUYWcKLSAgICAgICAg
ICAgIHx8IHRva2VuLT5uYW1lKCkgPT0gbWV0YVRhZykgewotICAgICAgICAgICAgcHJvY2Vzc1N0
YXJ0VGFnRm9ySW5IZWFkKHRva2VuKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQot
Ci0gICAgICAgIGlmICh0b2tlbi0+bmFtZSgpID09IGZyYW1lVGFnKQotICAgICAgICAgICAgc2V0
SW5zZXJ0aW9uTW9kZShJbkZyYW1lc2V0TW9kZSk7Ci0gICAgICAgIGVsc2UgaWYgKHRva2VuLT5u
YW1lKCkgPT0gY29sVGFnKQotICAgICAgICAgICAgc2V0SW5zZXJ0aW9uTW9kZShJbkNvbHVtbkdy
b3VwTW9kZSk7Ci0gICAgICAgIGVsc2UgaWYgKGlzQ2FwdGlvbkNvbE9yQ29sZ3JvdXBUYWcodG9r
ZW4tPm5hbWUoKSkgfHwgaXNUYWJsZUJvZHlDb250ZXh0VGFnKHRva2VuLT5uYW1lKCkpKQotICAg
ICAgICAgICAgc2V0SW5zZXJ0aW9uTW9kZShJblRhYmxlTW9kZSk7Ci0gICAgICAgIGVsc2UgaWYg
KHRva2VuLT5uYW1lKCkgPT0gdHJUYWcpCi0gICAgICAgICAgICBzZXRJbnNlcnRpb25Nb2RlKElu
VGFibGVCb2R5TW9kZSk7Ci0gICAgICAgIGVsc2UgaWYgKGlzVGFibGVDZWxsQ29udGV4dFRhZyh0
b2tlbi0+bmFtZSgpKSkKLSAgICAgICAgICAgIHNldEluc2VydGlvbk1vZGUoSW5Sb3dNb2RlKTsK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgc2V0SW5zZXJ0aW9uTW9kZShJbkJvZHlNb2RlKTsK
LQotICAgICAgICBwcm9jZXNzU3RhcnRUYWcodG9rZW4pOwotI2Vsc2UKLSAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci0jZW5kaWYKLSAgICAgICAgYnJlYWs7CiAgICAgfQogfQogCiB2b2lk
IEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0h0bWxTdGFydFRhZ0ZvckluQm9keShBdG9taWNIVE1M
VG9rZW4qIHRva2VuKQogewogICAgIHBhcnNlRXJyb3IodG9rZW4pOwotI2lmIEVOQUJMRShURU1Q
TEFURV9FTEVNRU5UKQotICAgIGlmIChtX3RyZWUub3BlbkVsZW1lbnRzKCktPmhhc1RlbXBsYXRl
SW5IVE1MU2NvcGUoKSkgewotICAgICAgICBBU1NFUlQoaXNQYXJzaW5nVGVtcGxhdGVDb250ZW50
cygpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgogICAgIG1fdHJlZS5pbnNlcnRI
VE1MSHRtbFN0YXJ0VGFnSW5Cb2R5KHRva2VuKTsKIH0KIApAQCAtMTY0MCwxMiArMTU0Miw4IEBA
IHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpyZXNldEluc2VydGlvbk1vZGVBcHByb3ByaWF0ZWx5KCkK
ICAgICAgICAgICAgIGxhc3QgPSB0cnVlOwogICAgICAgICAgICAgaXRlbSA9IEhUTUxTdGFja0l0
ZW06OmNyZWF0ZShtX2ZyYWdtZW50Q29udGV4dC5jb250ZXh0RWxlbWVudCgpLCBIVE1MU3RhY2tJ
dGVtOjpJdGVtRm9yQ29udGV4dEVsZW1lbnQpOwogICAgICAgICB9Ci0jaWYgRU5BQkxFKFRFTVBM
QVRFX0VMRU1FTlQpCi0gICAgICAgIC8vIEZJWE1FOiBodHRwczovL3d3dy53My5vcmcvQnVncy9Q
dWJsaWMvc2hvd19idWcuY2dpP2lkPTIwMTMwIChzaG91bGQgPHRlbXBsYXRlPiBjbGVhciB0aGUg
ImltcGxpZWQgY29udGV4dCBlbGVtZW50Ii4KLSAgICAgICAgaWYgKGl0ZW0tPmhhc1RhZ05hbWUo
dGVtcGxhdGVUYWcpKQotICAgICAgICAgICAgcmV0dXJuIHNldEluc2VydGlvbk1vZGUoVGVtcGxh
dGVDb250ZW50c01vZGUpOwotI2VuZGlmCiAgICAgICAgIGlmIChpdGVtLT5oYXNUYWdOYW1lKHNl
bGVjdFRhZykpIHsKKyAgICAgICAgICAgIEFTU0VSVChpc1BhcnNpbmdGcmFnbWVudCgpKTsKICAg
ICAgICAgICAgIHJldHVybiBzZXRJbnNlcnRpb25Nb2RlKEluU2VsZWN0TW9kZSk7CiAgICAgICAg
IH0KICAgICAgICAgaWYgKGl0ZW0tPmhhc1RhZ05hbWUodGRUYWcpIHx8IGl0ZW0tPmhhc1RhZ05h
bWUodGhUYWcpKQpAQCAtMTY1NywyMCArMTU1NSwxOSBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6
cmVzZXRJbnNlcnRpb25Nb2RlQXBwcm9wcmlhdGVseSgpCiAgICAgICAgIGlmIChpdGVtLT5oYXNU
YWdOYW1lKGNhcHRpb25UYWcpKQogICAgICAgICAgICAgcmV0dXJuIHNldEluc2VydGlvbk1vZGUo
SW5DYXB0aW9uTW9kZSk7CiAgICAgICAgIGlmIChpdGVtLT5oYXNUYWdOYW1lKGNvbGdyb3VwVGFn
KSkgeworICAgICAgICAgICAgQVNTRVJUKGlzUGFyc2luZ0ZyYWdtZW50KCkpOwogICAgICAgICAg
ICAgcmV0dXJuIHNldEluc2VydGlvbk1vZGUoSW5Db2x1bW5Hcm91cE1vZGUpOwogICAgICAgICB9
CiAgICAgICAgIGlmIChpdGVtLT5oYXNUYWdOYW1lKHRhYmxlVGFnKSkKICAgICAgICAgICAgIHJl
dHVybiBzZXRJbnNlcnRpb25Nb2RlKEluVGFibGVNb2RlKTsKICAgICAgICAgaWYgKGl0ZW0tPmhh
c1RhZ05hbWUoaGVhZFRhZykpIHsKLSNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKLSAgICAg
ICAgICAgIGlmICghbV9mcmFnbWVudENvbnRleHQuZnJhZ21lbnQoKSB8fCBtX2ZyYWdtZW50Q29u
dGV4dC5jb250ZXh0RWxlbWVudCgpICE9IGl0ZW0tPm5vZGUoKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gc2V0SW5zZXJ0aW9uTW9kZShJbkhlYWRNb2RlKTsKLSNlbmRpZgorICAgICAgICAgICAg
QVNTRVJUKGlzUGFyc2luZ0ZyYWdtZW50KCkpOwogICAgICAgICAgICAgcmV0dXJuIHNldEluc2Vy
dGlvbk1vZGUoSW5Cb2R5TW9kZSk7CiAgICAgICAgIH0KICAgICAgICAgaWYgKGl0ZW0tPmhhc1Rh
Z05hbWUoYm9keVRhZykpCiAgICAgICAgICAgICByZXR1cm4gc2V0SW5zZXJ0aW9uTW9kZShJbkJv
ZHlNb2RlKTsKICAgICAgICAgaWYgKGl0ZW0tPmhhc1RhZ05hbWUoZnJhbWVzZXRUYWcpKSB7Cisg
ICAgICAgICAgICBBU1NFUlQoaXNQYXJzaW5nRnJhZ21lbnQoKSk7CiAgICAgICAgICAgICByZXR1
cm4gc2V0SW5zZXJ0aW9uTW9kZShJbkZyYW1lc2V0TW9kZSk7CiAgICAgICAgIH0KICAgICAgICAg
aWYgKGl0ZW0tPmhhc1RhZ05hbWUoaHRtbFRhZykpIHsKQEAgLTE3MDEsNyArMTU5OCw3IEBAIHZv
aWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnRm9ySW5UYWJsZUJvZHkoQXRvbWljSFRN
TFRva2VuKiB0b2tlbikKICAgICBpZiAodG9rZW4tPm5hbWUoKSA9PSB0YWJsZVRhZykgewogICAg
ICAgICAvLyBGSVhNRTogVGhpcyBpcyBzbG93LgogICAgICAgICBpZiAoIW1fdHJlZS5vcGVuRWxl
bWVudHMoKS0+aW5UYWJsZVNjb3BlKHRib2R5VGFnLmxvY2FsTmFtZSgpKSAmJiAhbV90cmVlLm9w
ZW5FbGVtZW50cygpLT5pblRhYmxlU2NvcGUodGhlYWRUYWcubG9jYWxOYW1lKCkpICYmICFtX3Ry
ZWUub3BlbkVsZW1lbnRzKCktPmluVGFibGVTY29wZSh0Zm9vdFRhZy5sb2NhbE5hbWUoKSkpIHsK
LSAgICAgICAgICAgIEFTU0VSVChpc1BhcnNpbmdGcmFnbWVudE9yVGVtcGxhdGVDb250ZW50cygp
KTsKKyAgICAgICAgICAgIEFTU0VSVChpc1BhcnNpbmdGcmFnbWVudCgpKTsKICAgICAgICAgICAg
IHBhcnNlRXJyb3IodG9rZW4pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC0x
NzMxLDcgKzE2MjgsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZ0Zvcklu
Um93KEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAgICAgfQogICAgIGlmICh0b2tlbi0+bmFtZSgp
ID09IHRhYmxlVGFnKSB7CiAgICAgICAgIGlmICghcHJvY2Vzc1RyRW5kVGFnRm9ySW5Sb3coKSkg
ewotICAgICAgICAgICAgQVNTRVJUKGlzUGFyc2luZ0ZyYWdtZW50T3JUZW1wbGF0ZUNvbnRlbnRz
KCkpOworICAgICAgICAgICAgQVNTRVJUKGlzUGFyc2luZ0ZyYWdtZW50KCkpOwogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIEFTU0VSVChpbnNlcnRpb25Nb2RlKCkgPT0g
SW5UYWJsZUJvZHlNb2RlKTsKQEAgLTE3ODQsMTEgKzE2ODEsNyBAQCB2b2lkIEhUTUxUcmVlQnVp
bGRlcjo6cHJvY2Vzc0VuZFRhZ0ZvckluQ2VsbChBdG9taWNIVE1MVG9rZW4qIHRva2VuKQogICAg
ICAgICB8fCB0b2tlbi0+bmFtZSgpID09IHRyVGFnCiAgICAgICAgIHx8IGlzVGFibGVCb2R5Q29u
dGV4dFRhZyh0b2tlbi0+bmFtZSgpKSkgewogICAgICAgICBpZiAoIW1fdHJlZS5vcGVuRWxlbWVu
dHMoKS0+aW5UYWJsZVNjb3BlKHRva2VuLT5uYW1lKCkpKSB7Ci0jaWYgRU5BQkxFKFRFTVBMQVRF
X0VMRU1FTlQpCi0gICAgICAgICAgICBBU1NFUlQoaXNUYWJsZUJvZHlDb250ZXh0VGFnKHRva2Vu
LT5uYW1lKCkpIHx8IG1fdHJlZS5vcGVuRWxlbWVudHMoKS0+aW5UYWJsZVNjb3BlKHRlbXBsYXRl
VGFnKSB8fCBpc1BhcnNpbmdGcmFnbWVudCgpKTsKLSNlbHNlCiAgICAgICAgICAgICBBU1NFUlQo
aXNUYWJsZUJvZHlDb250ZXh0VGFnKHRva2VuLT5uYW1lKCkpIHx8IGlzUGFyc2luZ0ZyYWdtZW50
KCkpOwotI2VuZGlmCiAgICAgICAgICAgICBwYXJzZUVycm9yKHRva2VuKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQpAQCAtMTkyOCwxMiArMTgyMSw2IEBAIHZvaWQgSFRNTFRyZWVC
dWlsZGVyOjpwcm9jZXNzRW5kVGFnRm9ySW5Cb2R5KEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAg
ICAgICAgIHByb2Nlc3NGYWtlU3RhcnRUYWcoYnJUYWcpOwogICAgICAgICByZXR1cm47CiAgICAg
fQotI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQotICAgIGlmICh0b2tlbi0+bmFtZSgpID09
IHRlbXBsYXRlVGFnKSB7Ci0gICAgICAgIHByb2Nlc3NUZW1wbGF0ZUVuZFRhZyh0b2tlbik7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKICAgICBwcm9jZXNzQW55T3RoZXJFbmRUYWdG
b3JJbkJvZHkodG9rZW4pOwogfQogCkBAIC0xOTU1LDcgKzE4NDIsNyBAQCBib29sIEhUTUxUcmVl
QnVpbGRlcjo6cHJvY2Vzc0NhcHRpb25FbmRUYWdGb3JJbkNhcHRpb24oKQogYm9vbCBIVE1MVHJl
ZUJ1aWxkZXI6OnByb2Nlc3NUckVuZFRhZ0ZvckluUm93KCkKIHsKICAgICBpZiAoIW1fdHJlZS5v
cGVuRWxlbWVudHMoKS0+aW5UYWJsZVNjb3BlKHRyVGFnLmxvY2FsTmFtZSgpKSkgewotICAgICAg
ICBBU1NFUlQoaXNQYXJzaW5nRnJhZ21lbnRPclRlbXBsYXRlQ29udGVudHMoKSk7CisgICAgICAg
IEFTU0VSVChpc1BhcnNpbmdGcmFnbWVudCgpKTsKICAgICAgICAgLy8gRklYTUU6IHBhcnNlIGVy
cm9yCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC0xOTY5LDcgKzE4NTYsNyBAQCBi
b29sIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc1RyRW5kVGFnRm9ySW5Sb3coKQogYm9vbCBIVE1M
VHJlZUJ1aWxkZXI6OnByb2Nlc3NUYWJsZUVuZFRhZ0ZvckluVGFibGUoKQogewogICAgIGlmICgh
bV90cmVlLm9wZW5FbGVtZW50cygpLT5pblRhYmxlU2NvcGUodGFibGVUYWcpKSB7Ci0gICAgICAg
IEFTU0VSVChpc1BhcnNpbmdGcmFnbWVudE9yVGVtcGxhdGVDb250ZW50cygpKTsKKyAgICAgICAg
QVNTRVJUKGlzUGFyc2luZ0ZyYWdtZW50KCkpOwogICAgICAgICAvLyBGSVhNRTogcGFyc2UgZXJy
b3IuCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CkBAIC0yMDI2LDE1ICsxOTEzLDYgQEAg
dm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWcoQXRvbWljSFRNTFRva2VuKiB0b2tl
bikKICAgICAgICAgLy8gRmFsbCB0aHJvdWdoLgogICAgIGNhc2UgSW5IZWFkTW9kZToKICAgICAg
ICAgQVNTRVJUKGluc2VydGlvbk1vZGUoKSA9PSBJbkhlYWRNb2RlKTsKLSAgICAgICAgLy8gRklY
TUU6IFRoaXMgY2FzZSBzaG91bGQgYmUgYnJva2VuIG91dCBpbnRvIHByb2Nlc3NFbmRUYWdGb3JJ
bkhlYWQsCi0gICAgICAgIC8vIGJlY2F1c2Ugb3RoZXIgZW5kIHRhZyBjYXNlcyBub3cgcmVmZXIg
dG8gaXQgKCJwcm9jZXNzIHRoZSB0b2tlbiBmb3IgdXNpbmcgdGhlIHJ1bGVzIG9mIHRoZSAiaW4g
aGVhZCIgaW5zZXJ0aW9uIG1vZGUiKS4KLSAgICAgICAgLy8gYnV0IGJlY2F1c2UgdGhlIGxvZ2lj
IGZhbGxzIHRocm91Z2ggdG8gQWZ0ZXJIZWFkTW9kZSwgdGhhdCBnZXRzIGEgbGl0dGxlIG1lc3N5
LgotI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQotICAgICAgICBpZiAodG9rZW4tPm5hbWUo
KSA9PSB0ZW1wbGF0ZVRhZykgewotICAgICAgICAgICAgcHJvY2Vzc1RlbXBsYXRlRW5kVGFnKHRv
a2VuKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotI2VuZGlmCiAgICAgICAgIGlm
ICh0b2tlbi0+bmFtZSgpID09IGhlYWRUYWcpIHsKICAgICAgICAgICAgIG1fdHJlZS5vcGVuRWxl
bWVudHMoKS0+cG9wSFRNTEhlYWRFbGVtZW50KCk7CiAgICAgICAgICAgICBzZXRJbnNlcnRpb25N
b2RlKEFmdGVySGVhZE1vZGUpOwpAQCAtMjA5OSwxMiArMTk3Nyw2IEBAIHZvaWQgSFRNTFRyZWVC
dWlsZGVyOjpwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAgICAgICAgICAg
ICBwYXJzZUVycm9yKHRva2VuKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotI2lm
IEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQotICAgICAgICBpZiAodG9rZW4tPm5hbWUoKSA9PSB0
ZW1wbGF0ZVRhZykgewotICAgICAgICAgICAgcHJvY2Vzc1RlbXBsYXRlRW5kVGFnKHRva2VuKTsK
LSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotI2VuZGlmCiAgICAgICAgIGlmICghcHJv
Y2Vzc0NvbGdyb3VwRW5kVGFnRm9ySW5Db2x1bW5Hcm91cCgpKSB7CiAgICAgICAgICAgICBBU1NF
UlQoaXNQYXJzaW5nRnJhZ21lbnQoKSk7CiAgICAgICAgICAgICByZXR1cm47CkBAIC0yMTgwLDEy
ICsyMDUyLDcgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nlc3NFbmRUYWcoQXRvbWljSFRN
TFRva2VuKiB0b2tlbikKICAgICBjYXNlIEluRnJhbWVzZXRNb2RlOgogICAgICAgICBBU1NFUlQo
aW5zZXJ0aW9uTW9kZSgpID09IEluRnJhbWVzZXRNb2RlKTsKICAgICAgICAgaWYgKHRva2VuLT5u
YW1lKCkgPT0gZnJhbWVzZXRUYWcpIHsKLSAgICAgICAgICAgIGJvb2wgaWdub3JlRnJhbWVzZXRG
b3JGcmFnbWVudFBhcnNpbmcgID0gbV90cmVlLmN1cnJlbnRJc1Jvb3ROb2RlKCk7Ci0jaWYgRU5B
QkxFKFRFTVBMQVRFX0VMRU1FTlQpCi0gICAgICAgICAgICBpZ25vcmVGcmFtZXNldEZvckZyYWdt
ZW50UGFyc2luZyA9IGlnbm9yZUZyYW1lc2V0Rm9yRnJhZ21lbnRQYXJzaW5nIHx8IG1fdHJlZS5v
cGVuRWxlbWVudHMoKS0+aGFzVGVtcGxhdGVJbkhUTUxTY29wZSgpOwotI2VuZGlmCi0gICAgICAg
ICAgICBpZiAoaWdub3JlRnJhbWVzZXRGb3JGcmFnbWVudFBhcnNpbmcpIHsKLSAgICAgICAgICAg
ICAgICBBU1NFUlQoaXNQYXJzaW5nRnJhZ21lbnRPclRlbXBsYXRlQ29udGVudHMoKSk7CisgICAg
ICAgICAgICBpZiAobV90cmVlLmN1cnJlbnROb2RlKCkgPT0gbV90cmVlLm9wZW5FbGVtZW50cygp
LT5yb290Tm9kZSgpKSB7CiAgICAgICAgICAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7CiAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQpAQCAtMjE5NCwxMiArMjA2MSw2IEBA
IHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnKEF0b21pY0hUTUxUb2tlbiogdG9r
ZW4pCiAgICAgICAgICAgICAgICAgc2V0SW5zZXJ0aW9uTW9kZShBZnRlckZyYW1lc2V0TW9kZSk7
CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSNpZiBFTkFCTEUoVEVNUExBVEVfRUxF
TUVOVCkKLSAgICAgICAgaWYgKHRva2VuLT5uYW1lKCkgPT0gdGVtcGxhdGVUYWcpIHsKLSAgICAg
ICAgICAgIHByb2Nlc3NUZW1wbGF0ZUVuZFRhZyh0b2tlbik7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KLSNlbmRpZgogICAgICAgICBicmVhazsKICAgICBjYXNlIEFmdGVyRnJhbWVz
ZXRNb2RlOgogICAgICAgICBBU1NFUlQoaW5zZXJ0aW9uTW9kZSgpID09IEFmdGVyRnJhbWVzZXRN
b2RlKTsKQEAgLTIyNTgsMzIgKzIxMTksMTEgQEAgdm9pZCBIVE1MVHJlZUJ1aWxkZXI6OnByb2Nl
c3NFbmRUYWcoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAgICAgICAgICAgIHJlc2V0SW5zZXJ0
aW9uTW9kZUFwcHJvcHJpYXRlbHkoKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQot
I2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQotICAgICAgICBpZiAodG9rZW4tPm5hbWUoKSA9
PSB0ZW1wbGF0ZVRhZykgewotICAgICAgICAgICAgcHJvY2Vzc1RlbXBsYXRlRW5kVGFnKHRva2Vu
KTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotI2VuZGlmCiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgSW5UYWJsZVRleHRNb2RlOgogICAgICAgICBkZWZhdWx0Rm9ySW5UYWJsZVRl
eHQoKTsKICAgICAgICAgcHJvY2Vzc0VuZFRhZyh0b2tlbik7CiAgICAgICAgIGJyZWFrOwotICAg
IGNhc2UgVGVtcGxhdGVDb250ZW50c01vZGU6Ci0jaWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQp
Ci0gICAgICAgIC8vIEZJWE1FOiBodHRwczovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19i
dWcuY2dpP2lkPTE5OTY2Ci0gICAgICAgIGlmICh0b2tlbi0+bmFtZSgpID09IHRlbXBsYXRlVGFn
KSB7Ci0gICAgICAgICAgICBBU1NFUlQobV90cmVlLmN1cnJlbnRTdGFja0l0ZW0oKS0+aGFzVGFn
TmFtZSh0ZW1wbGF0ZVRhZykpOwotICAgICAgICAgICAgbV90cmVlLm9wZW5FbGVtZW50cygpLT5w
b3AoKTsKLSAgICAgICAgICAgIHJlc2V0SW5zZXJ0aW9uTW9kZUFwcHJvcHJpYXRlbHkoKTsKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBzZXRJbnNlcnRpb25Nb2RlKElu
Qm9keU1vZGUpOwotICAgICAgICBwcm9jZXNzRW5kVGFnKHRva2VuKTsKLSNlbHNlCi0gICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotI2VuZGlmCi0gICAgICAgIGJyZWFrOwogICAgIH0KIH0K
IApAQCAtMjM4NCwxNCArMjIyNCw4IEBAIFJlcHJvY2Vzc0J1ZmZlcjoKICAgICB9CiAgICAgY2Fz
ZSBJbkJvZHlNb2RlOgogICAgIGNhc2UgSW5DYXB0aW9uTW9kZToKLSAgICBjYXNlIFRlbXBsYXRl
Q29udGVudHNNb2RlOgogICAgIGNhc2UgSW5DZWxsTW9kZTogewotI2lmIEVOQUJMRShURU1QTEFU
RV9FTEVNRU5UKQotICAgICAgICBBU1NFUlQoaW5zZXJ0aW9uTW9kZSgpID09IEluQm9keU1vZGUg
fHwgaW5zZXJ0aW9uTW9kZSgpID09IEluQ2FwdGlvbk1vZGUgfHwgaW5zZXJ0aW9uTW9kZSgpID09
IEluQ2VsbE1vZGUgfHwgaW5zZXJ0aW9uTW9kZSgpID09IFRlbXBsYXRlQ29udGVudHNNb2RlKTsK
LSNlbHNlCi0gICAgICAgIEFTU0VSVChpbnNlcnRpb25Nb2RlKCkgIT0gVGVtcGxhdGVDb250ZW50
c01vZGUpOwogICAgICAgICBBU1NFUlQoaW5zZXJ0aW9uTW9kZSgpID09IEluQm9keU1vZGUgfHwg
aW5zZXJ0aW9uTW9kZSgpID09IEluQ2FwdGlvbk1vZGUgfHwgaW5zZXJ0aW9uTW9kZSgpID09IElu
Q2VsbE1vZGUpOwotI2VuZGlmCiAgICAgICAgIHByb2Nlc3NDaGFyYWN0ZXJCdWZmZXJGb3JJbkJv
ZHkoYnVmZmVyKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMjUyNiwxMiArMjM2MCw3IEBA
IHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kT2ZGaWxlKEF0b21pY0hUTUxUb2tlbiog
dG9rZW4pCiAgICAgY2FzZSBJbkNlbGxNb2RlOgogICAgIGNhc2UgSW5DYXB0aW9uTW9kZToKICAg
ICBjYXNlIEluUm93TW9kZToKLSNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKLSAgICAgICAg
QVNTRVJUKGluc2VydGlvbk1vZGUoKSA9PSBJbkJvZHlNb2RlIHx8IGluc2VydGlvbk1vZGUoKSA9
PSBJbkNlbGxNb2RlIHx8IGluc2VydGlvbk1vZGUoKSA9PSBJbkNhcHRpb25Nb2RlIHx8IGluc2Vy
dGlvbk1vZGUoKSA9PSBJblJvd01vZGUgfHwgaW5zZXJ0aW9uTW9kZSgpID09IFRlbXBsYXRlQ29u
dGVudHNNb2RlKTsKLSNlbHNlCi0gICAgICAgIEFTU0VSVChpbnNlcnRpb25Nb2RlKCkgIT0gVGVt
cGxhdGVDb250ZW50c01vZGUpOwogICAgICAgICBBU1NFUlQoaW5zZXJ0aW9uTW9kZSgpID09IElu
Qm9keU1vZGUgfHwgaW5zZXJ0aW9uTW9kZSgpID09IEluQ2VsbE1vZGUgfHwgaW5zZXJ0aW9uTW9k
ZSgpID09IEluQ2FwdGlvbk1vZGUgfHwgaW5zZXJ0aW9uTW9kZSgpID09IEluUm93TW9kZSk7Ci0j
ZW5kaWYKICAgICAgICAgbm90SW1wbGVtZW50ZWQoKTsgLy8gRW1pdCBwYXJzZSBlcnJvciBiYXNl
ZCBvbiB3aGF0IGVsZW1lbnRzIGFyZSBzdGlsbCBvcGVuLgogICAgICAgICBicmVhazsKICAgICBj
YXNlIEFmdGVyQm9keU1vZGU6CkBAIC0yNTU3LDcgKzIzODYsNyBAQCB2b2lkIEhUTUxUcmVlQnVp
bGRlcjo6cHJvY2Vzc0VuZE9mRmlsZShBdG9taWNIVE1MVG9rZW4qIHRva2VuKQogICAgICAgICAg
ICAgcGFyc2VFcnJvcih0b2tlbik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgSW5Db2x1bW5H
cm91cE1vZGU6Ci0gICAgICAgIGlmIChtX3RyZWUuY3VycmVudElzUm9vdE5vZGUoKSkgeworICAg
ICAgICBpZiAobV90cmVlLmN1cnJlbnROb2RlKCkgPT0gbV90cmVlLm9wZW5FbGVtZW50cygpLT5y
b290Tm9kZSgpKSB7CiAgICAgICAgICAgICBBU1NFUlQoaXNQYXJzaW5nRnJhZ21lbnQoKSk7CiAg
ICAgICAgICAgICByZXR1cm47IC8vIEZJWE1FOiBTaG91bGQgd2UgYnJlYWsgaGVyZSBpbnN0ZWFk
IG9mIHJldHVybmluZz8KICAgICAgICAgfQpAQCAtMjU4MCwxNiArMjQwOSw2IEBAIHZvaWQgSFRN
TFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kT2ZGaWxlKEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiAg
ICAgICAgIHNldEluc2VydGlvbk1vZGUobV9vcmlnaW5hbEluc2VydGlvbk1vZGUpOwogICAgICAg
ICBwcm9jZXNzRW5kT2ZGaWxlKHRva2VuKTsKICAgICAgICAgcmV0dXJuOwotICAgIGNhc2UgVGVt
cGxhdGVDb250ZW50c01vZGU6Ci0gICAgICAgIGlmIChtX3RyZWUuY3VycmVudElzUm9vdE5vZGUo
KSkgewotICAgICAgICAgICAgQVNTRVJUKGlzUGFyc2luZ0ZyYWdtZW50KCkpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgcGFyc2VFcnJvcih0b2tlbik7Ci0gICAgICAg
IG1fdHJlZS5vcGVuRWxlbWVudHMoKS0+cG9wKCk7Ci0gICAgICAgIHJlc2V0SW5zZXJ0aW9uTW9k
ZUFwcHJvcHJpYXRlbHkoKTsKLSAgICAgICAgcHJvY2Vzc0VuZE9mRmlsZSh0b2tlbik7Ci0gICAg
ICAgIHJldHVybjsKICAgICB9CiAgICAgQVNTRVJUKG1fdHJlZS5jdXJyZW50Tm9kZSgpKTsKICAg
ICBtX3RyZWUub3BlbkVsZW1lbnRzKCktPnBvcEFsbCgpOwpAQCAtMjY5MywxMiArMjUxMiw2IEBA
IGJvb2wgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzU3RhcnRUYWdGb3JJbkhlYWQoQXRvbWljSFRN
TFRva2VuKiB0b2tlbikKICAgICAgICAgICAgIHByb2Nlc3NGYWtlRW5kVGFnKHNjcmlwdFRhZyk7
CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVO
VCkKLSAgICBpZiAodG9rZW4tPm5hbWUoKSA9PSB0ZW1wbGF0ZVRhZykgewotICAgICAgICBwcm9j
ZXNzVGVtcGxhdGVTdGFydFRhZyh0b2tlbik7Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0K
LSNlbmRpZgogICAgIGlmICh0b2tlbi0+bmFtZSgpID09IGhlYWRUYWcpIHsKICAgICAgICAgcGFy
c2VFcnJvcih0b2tlbik7CiAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaAppbmRleCAyMTNlN2UwYmUzNmYzNDVkODM0YWNi
ZTc0ZjJlZTFiZTYwYzYyYjUyLi44ZmYwZjU4YjM0NWZmZjNlNDU1YjVhZmZlZjY1ZTEwMmY2ZDVi
ZmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuaApA
QCAtNjcsMTIgKzY3LDYgQEAgcHVibGljOgogICAgIH5IVE1MVHJlZUJ1aWxkZXIoKTsKIAogICAg
IGJvb2wgaXNQYXJzaW5nRnJhZ21lbnQoKSBjb25zdCB7IHJldHVybiAhIW1fZnJhZ21lbnRDb250
ZXh0LmZyYWdtZW50KCk7IH0KLSNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKLSAgICBib29s
IGlzUGFyc2luZ1RlbXBsYXRlQ29udGVudHMoKSBjb25zdCB7IHJldHVybiBtX3RyZWUub3BlbkVs
ZW1lbnRzKCktPmhhc1RlbXBsYXRlSW5IVE1MU2NvcGUoKTsgfQotICAgIGJvb2wgaXNQYXJzaW5n
RnJhZ21lbnRPclRlbXBsYXRlQ29udGVudHMoKSBjb25zdCB7IHJldHVybiBpc1BhcnNpbmdGcmFn
bWVudCgpIHx8IGlzUGFyc2luZ1RlbXBsYXRlQ29udGVudHMoKTsgfQotI2Vsc2UKLSAgICBib29s
IGlzUGFyc2luZ0ZyYWdtZW50T3JUZW1wbGF0ZUNvbnRlbnRzKCkgY29uc3QgeyByZXR1cm4gaXNQ
YXJzaW5nRnJhZ21lbnQoKTsgfQotI2VuZGlmCiAKICAgICB2b2lkIGRldGFjaCgpOwogCkBAIC0x
MDMsNyArOTcsNiBAQCBwcml2YXRlOgogICAgICAgICBJbkhlYWRNb2RlLAogICAgICAgICBJbkhl
YWROb3NjcmlwdE1vZGUsCiAgICAgICAgIEFmdGVySGVhZE1vZGUsCi0gICAgICAgIFRlbXBsYXRl
Q29udGVudHNNb2RlLAogICAgICAgICBJbkJvZHlNb2RlLAogICAgICAgICBUZXh0TW9kZSwKICAg
ICAgICAgSW5UYWJsZU1vZGUsCkBAIC0xOTcsMTEgKzE5MCw2IEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIHJlc2V0SW5zZXJ0aW9uTW9kZUFwcHJvcHJpYXRlbHkoKTsKIAotI2lmIEVOQUJMRShURU1Q
TEFURV9FTEVNRU5UKQotICAgIHZvaWQgcHJvY2Vzc1RlbXBsYXRlU3RhcnRUYWcoQXRvbWljSFRN
TFRva2VuKik7Ci0gICAgdm9pZCBwcm9jZXNzVGVtcGxhdGVFbmRUYWcoQXRvbWljSFRNTFRva2Vu
Kik7Ci0jZW5kaWYKLQogICAgIGNsYXNzIEZyYWdtZW50UGFyc2luZ0NvbnRleHQgewogICAgICAg
ICBXVEZfTUFLRV9OT05DT1BZQUJMRShGcmFnbWVudFBhcnNpbmdDb250ZXh0KTsKICAgICBwdWJs
aWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggOTE4ZjQ4MDc1MDA3YmE3MDQzYTk5
MjI4NzFmMWRhNTJkMDQyZmY4Yi4uNGEzYTVmNGRlZjA3ZGYyODZiZTQxNmFhMjliNTAyOGQxZDlk
ZjU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtNDcyLDcgKzQ3Miw2IEBACiAg
ICAgYXR0cmlidXRlIEhUTUxUYWJsZUVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MVGFibGVFbGVtZW50
OwogICAgIGF0dHJpYnV0ZSBIVE1MVGFibGVSb3dFbGVtZW50Q29uc3RydWN0b3IgSFRNTFRhYmxl
Um93RWxlbWVudDsKICAgICBhdHRyaWJ1dGUgSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnRDb25zdHJ1
Y3RvciBIVE1MVGFibGVTZWN0aW9uRWxlbWVudDsKLSAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFs
PVRFTVBMQVRFX0VMRU1FTlRdIEhUTUxUZW1wbGF0ZUVsZW1lbnRDb25zdHJ1Y3RvciBIVE1MVGVt
cGxhdGVFbGVtZW50OwogICAgIGF0dHJpYnV0ZSBIVE1MVGV4dEFyZWFFbGVtZW50Q29uc3RydWN0
b3IgSFRNTFRleHRBcmVhRWxlbWVudDsKICAgICBhdHRyaWJ1dGUgSFRNTFRpdGxlRWxlbWVudENv
bnN0cnVjdG9yIEhUTUxUaXRsZUVsZW1lbnQ7CiAgICAgYXR0cmlidXRlIEhUTUxVTGlzdEVsZW1l
bnRDb25zdHJ1Y3RvciBIVE1MVUxpc3RFbGVtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9mZWF0dXJlcy5neXBpIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9mZWF0dXJl
cy5neXBpCmluZGV4IDIwZmI4ZDExN2Y4YzUzZjA5OGZjNmNiNTVkNDNkZmZiZDQzMDBhMjcuLjYy
MWQ0Y2U5NWY3MTZjZDUyYjZjZDU5YmE5MDE3NGFjZGY2MTQ3ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vZmVhdHVyZXMuZ3lwaQorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL2ZlYXR1cmVzLmd5cGkKQEAgLTEwOSw3ICsxMDksNyBAQAogICAgICAgJ0VOQUJMRV9TVFlM
RV9TQ09QRUQ9MScsCiAgICAgICAnRU5BQkxFX1NWRz08KGVuYWJsZV9zdmcpJywKICAgICAgICdF
TkFCTEVfU1ZHX0ZPTlRTPTwoZW5hYmxlX3N2ZyknLAotICAgICAgJ0VOQUJMRV9URU1QTEFURV9F
TEVNRU5UPTEnLAorICAgICAgJ0VOQUJMRV9URU1QTEFURV9FTEVNRU5UPTAnLAogICAgICAgJ0VO
QUJMRV9URVhUX0FVVE9TSVpJTkc9MScsCiAgICAgICAnRU5BQkxFX1RPVUNIX0FESlVTVE1FTlQ9
MScsCiAgICAgICAnRU5BQkxFX1RPVUNIX0VWRU5UUz08KGVuYWJsZV90b3VjaF9ldmVudHMpJywK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzNmM4
OTQxMTBkNjkyOWJlZWNlYzc3MjRkYzU2ODQwYjBlODhlM2Q4Li4zNDU4NzFjNGVhYTA1NTI5ZWRh
ODlmNWY0ZDNmZTc3ZGJhMmVjOGI0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTYgQEAKIDIwMTItMTItMDMgIFNoZXJpZmYgQm90
ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCisgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIxMzY0NjcuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdl
c2V0LzEzNjQ2NworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAzOTY2CisKKyAgICAgICAgVGhpcyBwYXRjaCBtYWRlIHNldmVyYWwgdGVzdHMoZS5nLiBh
Y2lkMykgY3Jhc2guIChSZXF1ZXN0ZWQgYnkKKyAgICAgICAgdGFzYWsgb24gI3dlYmtpdCkuCisK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG06CisKKzIwMTItMTIt
MDMgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzY0NjAuCiAgICAgICAgIGh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0LzEzNjQ2MAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAzOTU4CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvRmVhdHVyZUxpc3QucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxp
c3QucG0KaW5kZXggNzczMGNiYjMwMDY0ZmRjMTAwYTJhODFlY2VmNWU1YzdhY2MwNWVkNi4uNjhk
NjczYzZmNDgzODc3NThkMjBmZWIxOGM4NWU2Y2IwMWE1ZTNiYiAxMDA2NDQKLS0tIGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cGVybC9GZWF0dXJlTGlzdC5wbQpAQCAtMzk1LDcgKzM5NSw3IEBAIG15IEBmZWF0dXJlcyA9
ICgKICAgICAgIGRlZmluZSA9PiAiVVNFX1NZU1RFTV9NQUxMT0MiLCBkZWZhdWx0ID0+IGlzV2lu
Q0UoKSwgdmFsdWUgPT4gXCRzeXN0ZW1NYWxsb2NTdXBwb3J0IH0sCiAKICAgICB7IG9wdGlvbiA9
PiAidGVtcGxhdGUtdGFnIiwgZGVzYyA9PiAiVG9nZ2xlIFRlbXBsYXRlcyBUYWcgc3VwcG9ydCIs
Ci0gICAgICBkZWZpbmUgPT4gIkVOQUJMRV9URU1QTEFURV9FTEVNRU5UIiwgZGVmYXVsdCA9PiAw
LCB2YWx1ZSA9PiBcJHRlbXBsYXRlVGFnU3VwcG9ydCB9LAorICAgICAgZGVmaW5lID0+ICJFTkFC
TEVfVEVNUExBVEVfRUxFTUVOVCIsIGRlZmF1bHQgPT4gIWlzQXBwbGVXaW5XZWJLaXQoKSwgdmFs
dWUgPT4gXCR0ZW1wbGF0ZVRhZ1N1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9uID0+ICJ0ZXh0LWF1
dG9zaXppbmciLCBkZXNjID0+ICJUb2dnbGUgVGV4dCBBdXRvc2l6aW5nIHN1cHBvcnQiLAogICAg
ICAgZGVmaW5lID0+ICJFTkFCTEVfVEVYVF9BVVRPU0laSU5HIiwgZGVmYXVsdCA9PiAwLCB2YWx1
ZSA9PiBcJHRleHRBdXRvc2l6aW5nU3VwcG9ydCB9LApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGFjMjU0MTQyYmY0MWM1ODA5
NDFkNTNjNTM5MjBkNWFjY2RiNWY2NmUuLmU4OTM0NDVhOGQ0ZTQyZDhlODJmMzQ2ZmI5NDE3MDFm
MDM5MWZmMDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMi0xMi0wMyAgU2hlcmlmZiBCb3Qg
IDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjEzNjQ2Ny4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2Vz
ZXQvMTM2NDY3CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDM5NjYKKworICAgICAgICBUaGlzIHBhdGNoIG1hZGUgc2V2ZXJhbCB0ZXN0cyhlLmcuIGFj
aWQzKSBjcmFzaC4gKFJlcXVlc3RlZCBieQorICAgICAgICB0YXNhayBvbiAjd2Via2l0KS4KKwor
ICAgICAgICAqIGZhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvY2xvbmVOb2RlLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2Ns
b25lTm9kZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxUZW1wbGF0ZUVs
ZW1lbnQvaW5lcnRDb250ZW50cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFz
dC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9pbmVydENvbnRlbnRzLmh0bWw6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9pbm5lckhUTUwtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvaW5u
ZXJIVE1MLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxl
bWVudC9vd25lckRvY3VtZW50LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnRYSFRNTC1l
eHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxl
bWVudC9vd25lckRvY3VtZW50WEhUTUwueGh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaHRtbDVs
aWIvcmVzb3VyY2VzL3RlbXBsYXRlLmRhdDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sNWxpYi9y
dW4tdGVtcGxhdGUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0bWw1bGliL3J1
bi10ZW1wbGF0ZS5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9UZXN0RXhw
ZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3Jt
L3F0L1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3Rh
dGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiByZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanM6CisgICAgICAgIChNYXJrdXAuX2dl
dCk6CisgICAgICAgIChNYXJrdXAuX2dldFNlbGVjdGlvbkZyb21Ob2RlKToKKwogMjAxMi0xMi0w
MyAgVGFrYXNoaSBTYWthbW90byAgPHRhc2FrQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgV2ViS2l0IGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxUZW1wbGF0ZUVsZW1lbnQvY2xvbmVOb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvY2xvbmVOb2RlLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGJiNjFjZDhmNTYyZjJiYjA2ZmEwN2ExNTc0YTVh
ZGQzNjFlMzU5OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2Nsb25lTm9kZS1leHBl
Y3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLVRlc3QgdGhhdCB0ZW1wbGF0
ZSBjb250ZW50cyBhcmUgbm90IGNsb25lZCB3aGVuIHRoZSB0ZW1wbGF0ZSBlbGVtZW50IGlzIGNs
b25lZAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB0ZW1wbGF0ZS5jb250
ZW50LmNoaWxkTm9kZXMubGVuZ3RoIGlzIDEKLVBBU1MgY2xvbmUuY29udGVudC5jaGlsZE5vZGVz
Lmxlbmd0aCBpcyAwCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1w
bGF0ZUVsZW1lbnQvY2xvbmVOb2RlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVt
cGxhdGVFbGVtZW50L2Nsb25lTm9kZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBlZGE1Zjc1ZWNmZWEwM2RiOTk4MWI5YWVmODY1ZWI0Y2U0ZTEzMTU1Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxUZW1wbGF0ZUVsZW1lbnQvY2xvbmVOb2RlLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxNiAr
MCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTx0ZW1wbGF0ZSBpZD0idGVtcGxhdGUiPkNvbnRlbnRz
PC90ZW1wbGF0ZT4KLTxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLQotZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB0ZW1wbGF0
ZSBjb250ZW50cyBhcmUgbm90IGNsb25lZCB3aGVuIHRoZSB0ZW1wbGF0ZSBlbGVtZW50IGlzIGNs
b25lZCcpOwotCi1pZiAoIXdpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50KQotICAgIHRlc3RGYWls
ZWQoJ1RoaXMgdGVzdCByZXF1aXJlcyBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCknKTsKLQotdmFy
IHRlbXBsYXRlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbXBsYXRlJyk7Ci1zaG91bGRC
ZSgndGVtcGxhdGUuY29udGVudC5jaGlsZE5vZGVzLmxlbmd0aCcsICcxJyk7Ci12YXIgY2xvbmUg
PSB0ZW1wbGF0ZS5jbG9uZU5vZGUodHJ1ZSk7Ci1zaG91bGRCZSgnY2xvbmUuY29udGVudC5jaGls
ZE5vZGVzLmxlbmd0aCcsICcwJyk7Ci0KLTwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9pbmVydENvbnRlbnRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvaW5lcnRDb250ZW50
cy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1ZmYxMTUxNWFh
ODY5ZTVkZmE4NTEzOGFhMWFmY2QyZGVjOTM3ZjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxl
bWVudC9pbmVydENvbnRlbnRzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDcgKzAs
MCBAQAotaHR0cDovL2Jhei5jb20vYmF0LmpwZyAtIHdpbGxTZW5kUmVxdWVzdCA8TlNVUkxSZXF1
ZXN0IFVSTCBodHRwOi8vYmF6LmNvbS9iYXQuanBnLCBtYWluIGRvY3VtZW50IFVSTCBpbmVydENv
bnRlbnRzLmh0bWwsIGh0dHAgbWV0aG9kIEdFVD4gcmVkaXJlY3RSZXNwb25zZSAobnVsbCkKLUJs
b2NrZWQgYWNjZXNzIHRvIGV4dGVybmFsIFVSTCBodHRwOi8vYmF6LmNvbS9iYXQuanBnCi1odHRw
Oi8vYmF6LmNvbS9iYXQuanBnIC0gZGlkRmFpbExvYWRpbmdXaXRoRXJyb3I6IDxOU0Vycm9yIGRv
bWFpbiBOU1VSTEVycm9yRG9tYWluLCBjb2RlIC05OTksIGZhaWxpbmcgVVJMICIobnVsbCkiPgot
VGhlIHRlc3QgYXNzZXJ0cyB0aGF0IGVsZW1lbnRzIHdpdGhpbiB0ZW1wbGF0ZSBjb250ZW50cyBh
cmUgImluZXJ0IiwgZS5nLiByZXNvdXJjZXMgZG8gbm90IGZldGNoLCBzY3JpcHQgZG9lcyBub3Qg
cnVuLgotCi1wYXNzIQotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVt
cGxhdGVFbGVtZW50L2luZXJ0Q29udGVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxUZW1wbGF0ZUVsZW1lbnQvaW5lcnRDb250ZW50cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBjM2MwNWVjYjkwNzk3NWQ1MDE0NDc5NTBjM2NjZTc1YTFjZTk2ZDdkLi4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvaW5lcnRDb250ZW50cy5odG1sCisrKyAvZGV2L251
bGwKQEAgLTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNj
cmlwdD4KLXZhciB0ZXN0VmFsID0gMTsKLQotd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewot
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsKLSAgICAgICAgdGVzdFJ1bm5lci5kdW1wUmVzb3VyY2VMb2FkQ2FsbGJhY2tzKCk7Ci0g
ICAgfQotCi0gICAgaWYgKHRlc3RWYWwgIT0gMSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgdmFy
IHRlbXBsYXRlQ29udGVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZW1wbGF0ZScpLmNv
bnRlbnQ7Ci0gICAgdmFyIGltZyA9IHRlbXBsYXRlQ29udGVudC5jaGlsZE5vZGVzWzFdOwotICAg
IGltZy5zcmMgPSAiaHR0cDovL2Jhei5jb20vYmF0LmpwZyI7Ci0gICAgZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZCh0ZW1wbGF0ZUNvbnRlbnQpOwotCi0gICAgaWYgKHRlc3RWYWwgIT0gMikKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ291dHB1dCcpLmlu
bmVyVGV4dCA9ICdwYXNzISc7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHA+VGhl
IHRlc3QgYXNzZXJ0cyB0aGF0IGVsZW1lbnRzIHdpdGhpbiB0ZW1wbGF0ZSBjb250ZW50cyBhcmUg
ImluZXJ0IiwgZS5nLiByZXNvdXJjZXMgZG8gbm90IGZldGNoLCBzY3JpcHQgZG9lcyBub3QgcnVu
LjwvcD4KLTx0ZW1wbGF0ZSBpZD0idGVtcGxhdGUiPjxzY3JpcHQ+d2luZG93LnRlc3RWYWwgPSAy
Ozwvc2NyaXB0PjxpbWcgc3JjPSJodHRwOi8vZm9vLmNvbS9iYXIuanBnIj4KLTwvdGVtcGxhdGU+
Ci08ZGl2IGlkPSJvdXRwdXQiPgotPC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRl
bXBsYXRlRWxlbWVudC9pbm5lckhUTUwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTFRlbXBsYXRlRWxlbWVudC9pbm5lckhUTUwtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1Zjk3MjcwODdhM2U2NzEyMzAxMmY4NmJlN2U0YmVjODIzMjU4
NjZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvaW5uZXJIVE1MLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotVGhlIHRlc3QgYXNzZXJ0cyB0aGF0IHRl
bXBsYXRlIGNvbnRlbnRzIGFyZSBzZXJpYWxpemVkIHdpdGggaW5uZXJIVE1MIGFuZCBpdHMgY2hp
bGRyZW4gYXJlIGlnbm9yZWQuCi0KLTxkaXY+Q29udGVudHMgMQotPHRlbXBsYXRlPkNvbnRlbnRz
IDI8L3RlbXBsYXRlPgotPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MVGVtcGxhdGVFbGVtZW50L2lubmVySFRNTC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTFRlbXBsYXRlRWxlbWVudC9pbm5lckhUTUwuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYzc2MmNhM2JlZjFkM2Q4Mjc5ZmFiMTkxNzg5OTJjMmM1ZjYxYzNjNS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L2lubmVySFRNTC5odG1sCisrKyAvZGV2L251bGwKQEAg
LTEsMzIgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdD4K
LXdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
Ci0gICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotCi0gICAgdmFyIHRlbXBsYXRlID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbXBsYXRlJyk7Ci0gICAgdGVtcGxhdGUuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpKS5pbm5lclRleHQgPSAnc2hvdWxk
IG5vdCBzZXJpYWxpemUnOwotICAgIHZhciBpbm5lclRlbXBsYXRlID0gdGVtcGxhdGUuY29udGVu
dC5maXJzdENoaWxkLmZpcnN0RWxlbWVudENoaWxkOwotICAgIGlubmVyVGVtcGxhdGUuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpKS5pbm5lclRleHQgPSAnc2hvdWxk
IG5vdCBzZXJpYWxpemUgZWl0aGVyJzsKLQotICAgIHRlbXBsYXRlLmlubmVySFRNTCA9IHRlbXBs
YXRlLmlubmVySFRNTDsKLSAgICBpZiAodGVtcGxhdGUuY2hpbGROb2Rlcy5sZW5ndGggIT0gMSkg
Ly8gVGhlIG9ubHkgY2hpbGQgc2hvdWxkIGJlIHRoZSBzcGFuIHRoYXQgd2FzIGFkZGVkIGFib3Zl
LgotICAgICAgICByZXR1cm47Ci0KLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnb3V0cHV0
JykuaW5uZXJUZXh0ID0gdGVtcGxhdGUuaW5uZXJIVE1MOwotICAgIHZhciB0ZW1wbGF0ZTIgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCd0ZW1wbGF0ZScpOwotICAgIHRlbXBsYXRlMi5pbm5lckhU
TUwgPSAnPHRlbXBsYXRlPjwvdGVtcGxhdGU+JzsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08cD5UaGUgdGVzdCBhc3NlcnRzIHRoYXQgdGVtcGxhdGUgY29udGVudHMgYXJlIHNlcmlh
bGl6ZWQgd2l0aCBpbm5lckhUTUwgYW5kIGl0cyBjaGlsZHJlbiBhcmUgaWdub3JlZC48L3A+Ci08
dGVtcGxhdGUgaWQ9InRlbXBsYXRlIj48ZGl2PkNvbnRlbnRzIDEKLSAgPHRlbXBsYXRlPkNvbnRl
bnRzIDI8L3RlbXBsYXRlPgotPC9kaXY+PC90ZW1wbGF0ZT4KLTxkaXYgaWQ9Im91dHB1dCI+Ci08
L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9j
dW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxl
bWVudC9vd25lckRvY3VtZW50LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYjcwMmFlYWVlMzkwZjgxNmU2YTUxZTljYjJlYzIxNDJjMTc2N2NlNi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQtZXhwZWN0ZWQudHh0CisrKyAvZGV2
L251bGwKQEAgLTEsMjggKzAsMCBAQAotVGVzdCBIVE1MVGVtcGxhdGVFbGVtZW50IGNvbnRlbnQg
b3duZXJEb2N1bWVudAotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyB0ZW1w
bGF0ZS5vd25lckRvY3VtZW50IGlzIGRvY3VtZW50Ci1QQVNTIHRlbXBsYXRlQ29udGVudE93bmVy
RG9jdW1lbnQgaW5zdGFuY2VvZiBIVE1MRG9jdW1lbnQgaXMgdHJ1ZQotUEFTUyBkb2N1bWVudCBp
cyBub3QgdGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudAotUEFTUyB0ZW1wbGF0ZS5jb250ZW50
LmZpcnN0Q2hpbGQub3duZXJEb2N1bWVudCBpcyB0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50
Ci1QQVNTIGlubmVyVGVtcGxhdGUub3duZXJEb2N1bWVudCBpcyB0ZW1wbGF0ZUNvbnRlbnRPd25l
ckRvY3VtZW50Ci1QQVNTIGlubmVyVGVtcGxhdGUuY29udGVudC5vd25lckRvY3VtZW50IGlzIHRl
bXBsYXRlQ29udGVudE93bmVyRG9jdW1lbnQKLVBBU1MgaW5uZXJUZW1wbGF0ZS5vd25lckRvY3Vt
ZW50IGluc3RhbmNlb2YgSFRNTERvY3VtZW50IGlzIHRydWUKLVBBU1MgdGVtcGxhdGUyLm93bmVy
RG9jdW1lbnQgaXMgZG9jdW1lbnQKLVBBU1MgdGVtcGxhdGUyLmNvbnRlbnQub3duZXJEb2N1bWVu
dCBpcyB0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50Ci1QQVNTIGRmLm93bmVyRG9jdW1lbnQg
aXMgZG9jdW1lbnQKLVBBU1Mgc3Bhbi5vd25lckRvY3VtZW50IGlzIGRvY3VtZW50Ci1QQVNTIGRm
Lm93bmVyRG9jdW1lbnQgaXMgdGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudAotUEFTUyBzcGFu
Lm93bmVyRG9jdW1lbnQgaXMgdGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudAotUEFTUyB0ZW1w
bGF0ZS5jb250ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOyB0aHJldyBleGNl
cHRpb24gRXJyb3I6IFR5cGVNaXNtYXRjaEVycm9yOiBET00gRXhjZXB0aW9uIDE3LgotUEFTUyB0
ZW1wbGF0ZS5jb250ZW50ID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoInRleHQiKTsgdGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBUeXBlTWlzbWF0Y2hFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNy4KLVBB
U1MgdGVtcGxhdGUuY29udGVudCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdikgdGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBUeXBlTWlzbWF0Y2hFcnJvcjogRE9NIEV4Y2VwdGlvbiAxNy4KLVBBU1Mg
dGVtcGxhdGUzLm93bmVyRG9jdW1lbnQgaXMgZG9jdW1lbnQKLVBBU1MgdGVtcGxhdGUzLmNvbnRl
bnQub3duZXJEb2N1bWVudCBpcyB0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50Ci1QQVNTIHRl
bXBsYXRlMy5jb250ZW50LmZpcnN0Q2hpbGQub3duZXJEb2N1bWVudCBpcyB0ZW1wbGF0ZUNvbnRl
bnRPd25lckRvY3VtZW50Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRFU1Qg
Q09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRl
RWxlbWVudC9vd25lckRvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MVGVt
cGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZDQ1MTkyYjFmYjQ5YmNiNzYzNjdiYTVkNTEzOWNmNTQ4NjViY2RjYS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MVGVtcGxhdGVFbGVtZW50L293bmVyRG9jdW1lbnQuaHRtbAorKysgL2Rldi9udWxsCkBA
IC0xLDUyICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPHRlbXBsYXRlIGlkPSJ0ZW1wbGF0ZSI+
PHNwYW4+PHRlbXBsYXRlPjwvdGVtcGxhdGU+PC9zcGFuPjwvdGVtcGxhdGU+Ci08dGVtcGxhdGUg
aWQ9InRlbXBsYXRlMiI+PHNwYW4+PC9zcGFuPjwvdGVtcGxhdGU+Ci08dGVtcGxhdGUgaWQ9InRl
bXBsYXRlMyI+PHN2Zz48L3N2Zz48L3RlbXBsYXRlPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotCi1kZXNjcmlwdGlv
bignVGVzdCBIVE1MVGVtcGxhdGVFbGVtZW50IGNvbnRlbnQgb3duZXJEb2N1bWVudCcpOwotCi1p
ZiAoIXdpbmRvdy5IVE1MVGVtcGxhdGVFbGVtZW50KQotICAgIHRlc3RGYWlsZWQoJ1RoaXMgdGVz
dCByZXF1aXJlcyBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCknKTsKLQotdmFyIHRlbXBsYXRlID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbXBsYXRlJyk7Ci1zaG91bGRCZSgndGVtcGxhdGUu
b3duZXJEb2N1bWVudCcsICdkb2N1bWVudCcpOwotCi12YXIgdGVtcGxhdGVDb250ZW50T3duZXJE
b2N1bWVudCA9IHRlbXBsYXRlLmNvbnRlbnQub3duZXJEb2N1bWVudDsKLXNob3VsZEJlVHJ1ZSgn
dGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudCBpbnN0YW5jZW9mIEhUTUxEb2N1bWVudCcpOwot
c2hvdWxkTm90QmUoJ2RvY3VtZW50JywgJ3RlbXBsYXRlQ29udGVudE93bmVyRG9jdW1lbnQnKTsK
LXNob3VsZEJlKCd0ZW1wbGF0ZS5jb250ZW50LmZpcnN0Q2hpbGQub3duZXJEb2N1bWVudCcsICd0
ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50Jyk7Ci0KLXZhciBpbm5lclRlbXBsYXRlID0gdGVt
cGxhdGUuY29udGVudC5maXJzdENoaWxkLmZpcnN0Q2hpbGQ7Ci1zaG91bGRCZSgnaW5uZXJUZW1w
bGF0ZS5vd25lckRvY3VtZW50JywgJ3RlbXBsYXRlQ29udGVudE93bmVyRG9jdW1lbnQnKTsKLXNo
b3VsZEJlKCdpbm5lclRlbXBsYXRlLmNvbnRlbnQub3duZXJEb2N1bWVudCcsICd0ZW1wbGF0ZUNv
bnRlbnRPd25lckRvY3VtZW50Jyk7Ci1zaG91bGRCZVRydWUoJ2lubmVyVGVtcGxhdGUub3duZXJE
b2N1bWVudCBpbnN0YW5jZW9mIEhUTUxEb2N1bWVudCcpOwotCi12YXIgdGVtcGxhdGUyID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RlbXBsYXRlMicpOwotc2hvdWxkQmUoJ3RlbXBsYXRlMi5v
d25lckRvY3VtZW50JywgJ2RvY3VtZW50Jyk7Ci1zaG91bGRCZSgndGVtcGxhdGUyLmNvbnRlbnQu
b3duZXJEb2N1bWVudCcsICd0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50Jyk7Ci0KLXZhciBk
ZiA9IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKLXZhciBzcGFuID0gZGYuYXBw
ZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpKTsKLXNob3VsZEJlKCdkZi5v
d25lckRvY3VtZW50JywgJ2RvY3VtZW50Jyk7Ci1zaG91bGRCZSgnc3Bhbi5vd25lckRvY3VtZW50
JywgJ2RvY3VtZW50Jyk7Ci0KLXRlbXBsYXRlLmNvbnRlbnQgPSBkZjsKLXNob3VsZEJlKCdkZi5v
d25lckRvY3VtZW50JywgJ3RlbXBsYXRlQ29udGVudE93bmVyRG9jdW1lbnQnKTsKLXNob3VsZEJl
KCdzcGFuLm93bmVyRG9jdW1lbnQnLCAndGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudCcpOwot
Ci1zaG91bGRUaHJvdygndGVtcGxhdGUuY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InNwYW4iKTsnKTsKLXNob3VsZFRocm93KCd0ZW1wbGF0ZS5jb250ZW50ID0gZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUoInRleHQiKTsnKTsKLWlmICh3aW5kb3cuV2ViS2l0U2hhZG93Um9vdCkgewot
ICAgIHZhciBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsKLSAgICBzaG91bGRU
aHJvdygndGVtcGxhdGUuY29udGVudCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KGRpdiknKTsKLX0K
LQotdmFyIHRlbXBsYXRlMyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZW1wbGF0ZTInKTsK
LXNob3VsZEJlKCd0ZW1wbGF0ZTMub3duZXJEb2N1bWVudCcsICdkb2N1bWVudCcpOwotc2hvdWxk
QmUoJ3RlbXBsYXRlMy5jb250ZW50Lm93bmVyRG9jdW1lbnQnLCAndGVtcGxhdGVDb250ZW50T3du
ZXJEb2N1bWVudCcpOwotc2hvdWxkQmUoJ3RlbXBsYXRlMy5jb250ZW50LmZpcnN0Q2hpbGQub3du
ZXJEb2N1bWVudCcsICd0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50Jyk7Ci0KLTwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVu
dC9vd25lckRvY3VtZW50WEhUTUwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTFRlbXBsYXRlRWxlbWVudC9vd25lckRvY3VtZW50WEhUTUwtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiZjY5YmZmZDkxZDFlZjk3ZjYxZGY2ZWUzYTY5NzAw
OWNjYTA3NWI3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvb3duZXJEb2N1bWVudFhI
VE1MLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRlc3QgSFRN
TFRlbXBsYXRlRWxlbWVudCBjb250ZW50IG93bmVyRG9jdW1lbnQgaW4gWEhUTUwgRG9jdW1lbnQK
LQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgZG9jdW1lbnQgaW5zdGFuY2Vv
ZiBIVE1MRG9jdW1lbnQgaXMgZmFsc2UKLVBBU1MgZG9jdW1lbnQgaXMgbm90IHRlbXBsYXRlQ29u
dGVudE93bmVyRG9jdW1lbnQKLVBBU1MgdGVtcGxhdGVDb250ZW50T3duZXJEb2N1bWVudCBpbnN0
YW5jZW9mIEhUTUxEb2N1bWVudCBpcyBmYWxzZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxUZW1wbGF0ZUVsZW1lbnQvb3duZXJEb2N1bWVudFhIVE1MLnhodG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9vd25lckRvY3VtZW50WEhUTUwueGh0bWwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI4NTgzOGE2OTg5MTdiNWM3ZDEwM2I2OTg0
Y2VlNzYwNjIzOTU3MmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudC9vd25lckRvY3Vt
ZW50WEhUTUwueGh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi08IURPQ1RZUEUg
aHRtbD4KLTxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KLTxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLQotZGVzY3JpcHRpb24oJ1Rlc3QgSFRNTFRlbXBsYXRlRWxlbWVudCBjb250ZW50IG93
bmVyRG9jdW1lbnQgaW4gWEhUTUwgRG9jdW1lbnQnKTsKLQotaWYgKCF3aW5kb3cuSFRNTFRlbXBs
YXRlRWxlbWVudCkKLSAgICB0ZXN0RmFpbGVkKCdUaGlzIHRlc3QgcmVxdWlyZXMgRU5BQkxFKFRF
TVBMQVRFX0VMRU1FTlQpJyk7Ci0KLXNob3VsZEJlRmFsc2UoJ2RvY3VtZW50IGluc3RhbmNlb2Yg
SFRNTERvY3VtZW50Jyk7Ci12YXIgdGVtcGxhdGU0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgn
dGVtcGxhdGUnKTsKLXZhciB0ZW1wbGF0ZUNvbnRlbnRPd25lckRvY3VtZW50ID0gdGVtcGxhdGU0
LmNvbnRlbnQub3duZXJEb2N1bWVudDsKLXNob3VsZE5vdEJlKCdkb2N1bWVudCcsICd0ZW1wbGF0
ZUNvbnRlbnRPd25lckRvY3VtZW50Jyk7Ci1zaG91bGRCZUZhbHNlKCd0ZW1wbGF0ZUNvbnRlbnRP
d25lckRvY3VtZW50IGluc3RhbmNlb2YgSFRNTERvY3VtZW50Jyk7Ci0KLTwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgot
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHRtbDVsaWIvcmVzb3VyY2VzL3RlbXBs
YXRlLmRhdCBiL0xheW91dFRlc3RzL2h0bWw1bGliL3Jlc291cmNlcy90ZW1wbGF0ZS5kYXQKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFiYWU4MWVmZGRmZGM0ZDhmODY3NzFjNjJjNGEx
Mzk3MjQwMmJhOGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvaHRtbDVsaWIvcmVzb3VyY2VzL3RlbXBsYXRlLmRhdAorKysgL2Rldi9u
dWxsCkBAIC0xLDg0MyArMCwwIEBACi0jZGF0YQotPGJvZHk+PHRlbXBsYXRlPkhlbGxvPC90ZW1w
bGF0ZT4KLSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICA8Ym9k
eT4KLXwgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgI2RvY3VtZW50LWZyYWdtZW50Ci18ICAgICAg
ICAgIkhlbGxvIgotCi0jZGF0YQotPHRlbXBsYXRlPkhlbGxvPC90ZW1wbGF0ZT4KLSNlcnJvcnMK
LSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICAgIDx0ZW1wbGF0ZT4KLXwgICAg
ICAgI2RvY3VtZW50LWZyYWdtZW50Ci18ICAgICAgICAgIkhlbGxvIgotfCAgIDxib2R5PgotCi0j
ZGF0YQotPHRlbXBsYXRlPjwvdGVtcGxhdGU+PGRpdj48L2Rpdj4KLSNlcnJvcnMKLSNkb2N1bWVu
dAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgI2RvY3Vt
ZW50LWZyYWdtZW50Ci18ICAgPGJvZHk+Ci18ICAgICA8ZGl2PgotCi0jZGF0YQotPGh0bWw+PHRl
bXBsYXRlPkhlbGxvPC90ZW1wbGF0ZT4KLSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwg
ICA8aGVhZD4KLXwgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgI2RvY3VtZW50LWZyYWdtZW50Ci18
ICAgICAgICAgIkhlbGxvIgotfCAgIDxib2R5PgotCi0jZGF0YQotPGhlYWQ+PHRlbXBsYXRlPjxk
aXY+PC9kaXY+PC90ZW1wbGF0ZT48L2hlYWQ+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+
Ci18ICAgPGhlYWQ+Ci18ICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICNkb2N1bWVudC1mcmFnbWVu
dAotfCAgICAgICAgIDxkaXY+Ci18ICAgPGJvZHk+Ci0KLSNkYXRhCi08ZGl2Pjx0ZW1wbGF0ZT48
ZGl2PjxzcGFuPjwvdGVtcGxhdGU+PGI+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18
ICAgPGhlYWQ+Ci18ICAgPGJvZHk+Ci18ICAgICA8ZGl2PgotfCAgICAgICA8dGVtcGxhdGU+Ci18
ICAgICAgICAgI2RvY3VtZW50LWZyYWdtZW50Ci18ICAgICAgICAgICA8ZGl2PgotfCAgICAgICAg
ICAgICA8c3Bhbj4KLXwgICAgICAgPGI+Ci0KLSNkYXRhCi08ZGl2Pjx0ZW1wbGF0ZT48L2Rpdj5I
ZWxsbwotI2Vycm9ycwotI2RvY3VtZW50Ci18IDxodG1sPgotfCAgIDxoZWFkPgotfCAgIDxib2R5
PgotfCAgICAgPGRpdj4KLXwgICAgICAgPHRlbXBsYXRlPgotfCAgICAgICAgICNkb2N1bWVudC1m
cmFnbWVudAotfCAgICAgICAgICAgIkhlbGxvIgotCi0jZGF0YQotPGRpdj48L3RlbXBsYXRlPjwv
ZGl2PgotI2Vycm9ycwotI2RvY3VtZW50Ci18IDxodG1sPgotfCAgIDxoZWFkPgotfCAgIDxib2R5
PgotfCAgICAgPGRpdj4KLQotI2RhdGEKLTx0YWJsZT48dGVtcGxhdGU+PC90ZW1wbGF0ZT48L3Rh
YmxlPgotI2Vycm9ycwotI2RvY3VtZW50Ci18IDxodG1sPgotfCAgIDxoZWFkPgotfCAgIDxib2R5
PgotfCAgICAgPHRhYmxlPgotfCAgICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICAgI2RvY3VtZW50
LWZyYWdtZW50Ci0KLSNkYXRhCi08dGFibGU+PHRlbXBsYXRlPjwvdGVtcGxhdGU+PC9kaXY+Ci0j
ZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgPGJvZHk+Ci18ICAg
ICA8dGFibGU+Ci18ICAgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgICAjZG9jdW1lbnQtZnJhZ21l
bnQKLQotI2RhdGEKLTx0YWJsZT48ZGl2Pjx0ZW1wbGF0ZT48L3RlbXBsYXRlPjwvZGl2PgotI2Vy
cm9ycwotI2RvY3VtZW50Ci18IDxodG1sPgotfCAgIDxoZWFkPgotfCAgIDxib2R5PgotfCAgICAg
PGRpdj4KLXwgICAgICAgPHRlbXBsYXRlPgotfCAgICAgICAgICNkb2N1bWVudC1mcmFnbWVudAot
fCAgICAgPHRhYmxlPgotCi0jZGF0YQotPHRhYmxlPjx0ZW1wbGF0ZT48L3RlbXBsYXRlPjxkaXY+
PC9kaXY+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgPGJv
ZHk+Ci18ICAgICA8ZGl2PgotfCAgICAgPHRhYmxlPgotfCAgICAgICA8dGVtcGxhdGU+Ci18ICAg
ICAgICAgI2RvY3VtZW50LWZyYWdtZW50Ci0KLSNkYXRhCi08dGFibGU+ICAgPHRlbXBsYXRlPjwv
dGVtcGxhdGU+PC90YWJsZT4KLSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8aGVh
ZD4KLXwgICA8Ym9keT4KLXwgICAgIDx0YWJsZT4KLXwgICAgICAgIiAgICIKLXwgICAgICAgPHRl
bXBsYXRlPgotfCAgICAgICAgICNkb2N1bWVudC1mcmFnbWVudAotCi0jZGF0YQotPHRhYmxlPjx0
Ym9keT48dGVtcGxhdGU+PC90ZW1wbGF0ZT48L3Rib2R5PgotI2Vycm9ycwotI2RvY3VtZW50Ci18
IDxodG1sPgotfCAgIDxoZWFkPgotfCAgIDxib2R5PgotfCAgICAgPHRhYmxlPgotfCAgICAgICA8
dGJvZHk+Ci18ICAgICAgICAgPHRlbXBsYXRlPgotfCAgICAgICAgICAgI2RvY3VtZW50LWZyYWdt
ZW50Ci0KLSNkYXRhCi08dGFibGU+PHRib2R5Pjx0ZW1wbGF0ZT48L3Rib2R5PjwvdGVtcGxhdGU+
Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgPGJvZHk+Ci18
ICAgICA8dGFibGU+Ci18ICAgICAgIDx0Ym9keT4KLXwgICAgICAgICA8dGVtcGxhdGU+Ci18ICAg
ICAgICAgICAjZG9jdW1lbnQtZnJhZ21lbnQKLQotI2RhdGEKLTx0YWJsZT48dGJvZHk+PHRlbXBs
YXRlPjwvdGVtcGxhdGU+PC90Ym9keT48L3RhYmxlPgotI2Vycm9ycwotI2RvY3VtZW50Ci18IDxo
dG1sPgotfCAgIDxoZWFkPgotfCAgIDxib2R5PgotfCAgICAgPHRhYmxlPgotfCAgICAgICA8dGJv
ZHk+Ci18ICAgICAgICAgPHRlbXBsYXRlPgotfCAgICAgICAgICAgI2RvY3VtZW50LWZyYWdtZW50
Ci0KLSNkYXRhCi08dGFibGU+PHRoZWFkPjx0ZW1wbGF0ZT48L3RlbXBsYXRlPjwvdGhlYWQ+Ci0j
ZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgPGJvZHk+Ci18ICAg
ICA8dGFibGU+Ci18ICAgICAgIDx0aGVhZD4KLXwgICAgICAgICA8dGVtcGxhdGU+Ci18ICAgICAg
ICAgICAjZG9jdW1lbnQtZnJhZ21lbnQKLQotI2RhdGEKLTx0YWJsZT48dGZvb3Q+PHRlbXBsYXRl
PjwvdGVtcGxhdGU+PC90Zm9vdD4KLSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8
aGVhZD4KLXwgICA8Ym9keT4KLXwgICAgIDx0YWJsZT4KLXwgICAgICAgPHRmb290PgotfCAgICAg
ICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgICAgICNkb2N1bWVudC1mcmFnbWVudAotCi0jZGF0YQot
PHNlbGVjdD48dGVtcGxhdGU+PC90ZW1wbGF0ZT48L3NlbGVjdD4KLSNlcnJvcnMKLSNkb2N1bWVu
dAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICA8Ym9keT4KLXwgICAgIDxzZWxlY3Q+Ci18ICAg
ICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgICAjZG9jdW1lbnQtZnJhZ21lbnQKLQotI2RhdGEKLTxz
ZWxlY3Q+PHRlbXBsYXRlPjxvcHRpb24+PC9vcHRpb24+PC90ZW1wbGF0ZT48L3NlbGVjdD4KLSNl
cnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICA8Ym9keT4KLXwgICAg
IDxzZWxlY3Q+Ci18ICAgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgICAjZG9jdW1lbnQtZnJhZ21l
bnQKLXwgICAgICAgICAgIDxvcHRpb24+Ci0KLSNkYXRhCi08dGVtcGxhdGU+PG9wdGlvbj48L29w
dGlvbj48L3NlbGVjdD48b3B0aW9uPjwvb3B0aW9uPjwvdGVtcGxhdGU+Ci0jZXJyb3JzCi0jZG9j
dW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICNk
b2N1bWVudC1mcmFnbWVudAotfCAgICAgICAgIDxvcHRpb24+Ci18ICAgICAgICAgPG9wdGlvbj4K
LXwgICA8Ym9keT4KLQotI2RhdGEKLTxzZWxlY3Q+PHRlbXBsYXRlPjwvdGVtcGxhdGU+PG9wdGlv
bj48L3NlbGVjdD4KLSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwg
ICA8Ym9keT4KLXwgICAgIDxzZWxlY3Q+Ci18ICAgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgICAj
ZG9jdW1lbnQtZnJhZ21lbnQKLXwgICAgICAgPG9wdGlvbj4KLQotI2RhdGEKLTxzZWxlY3Q+PG9w
dGlvbj48dGVtcGxhdGU+PC90ZW1wbGF0ZT48L3NlbGVjdD4KLSNlcnJvcnMKLSNkb2N1bWVudAot
fCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICA8Ym9keT4KLXwgICAgIDxzZWxlY3Q+Ci18ICAgICAg
IDxvcHRpb24+Ci18ICAgICAgICAgPHRlbXBsYXRlPgotfCAgICAgICAgICAgI2RvY3VtZW50LWZy
YWdtZW50Ci0KLSNkYXRhCi08c2VsZWN0Pjx0ZW1wbGF0ZT4KLSNlcnJvcnMKLSNkb2N1bWVudAot
fCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICA8Ym9keT4KLXwgICAgIDxzZWxlY3Q+Ci18ICAgICAg
IDx0ZW1wbGF0ZT4KLXwgICAgICAgICAjZG9jdW1lbnQtZnJhZ21lbnQKLQotI2RhdGEKLTxzZWxl
Y3Q+PG9wdGlvbj48L29wdGlvbj48dGVtcGxhdGU+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0
bWw+Ci18ICAgPGhlYWQ+Ci18ICAgPGJvZHk+Ci18ICAgICA8c2VsZWN0PgotfCAgICAgICA8b3B0
aW9uPgotfCAgICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICAgI2RvY3VtZW50LWZyYWdtZW50Ci0K
LSNkYXRhCi08c2VsZWN0PjxvcHRpb24+PC9vcHRpb24+PHRlbXBsYXRlPjxvcHRpb24+Ci0jZXJy
b3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgPGJvZHk+Ci18ICAgICA8
c2VsZWN0PgotfCAgICAgICA8b3B0aW9uPgotfCAgICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICAg
I2RvY3VtZW50LWZyYWdtZW50Ci18ICAgICAgICAgICA8b3B0aW9uPgotCi0jZGF0YQotPHRhYmxl
Pjx0aGVhZD48dGVtcGxhdGU+PHRkPjwvdGVtcGxhdGU+PC90YWJsZT4KLSNlcnJvcnMKLSNkb2N1
bWVudAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICA8Ym9keT4KLXwgICAgIDx0YWJsZT4KLXwg
ICAgICAgPHRoZWFkPgotfCAgICAgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgICAgICNkb2N1bWVu
dC1mcmFnbWVudAotfCAgICAgICAgICAgICA8dGQ+Ci0KLSNkYXRhCi08dGFibGU+PHRlbXBsYXRl
Pjx0aGVhZD48L3RlbXBsYXRlPjwvdGFibGU+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+
Ci18ICAgPGhlYWQ+Ci18ICAgPGJvZHk+Ci18ICAgICA8dGFibGU+Ci18ICAgICAgIDx0ZW1wbGF0
ZT4KLXwgICAgICAgICAjZG9jdW1lbnQtZnJhZ21lbnQKLXwgICAgICAgICAgIDx0aGVhZD4KLQot
I2RhdGEKLTxib2R5Pjx0YWJsZT48dGVtcGxhdGU+PHRkPjwvdHI+PGRpdj48L3RlbXBsYXRlPjwv
dGFibGU+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgPGJv
ZHk+Ci18ICAgICA8dGFibGU+Ci18ICAgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgICAjZG9jdW1l
bnQtZnJhZ21lbnQKLXwgICAgICAgICAgIDx0ZD4KLXwgICAgICAgICAgICAgPGRpdj4KLQotI2Rh
dGEKLTx0YWJsZT48dGVtcGxhdGU+PHRoZWFkPjwvdGVtcGxhdGU+PC90aGVhZD48L3RhYmxlPgot
I2Vycm9ycwotI2RvY3VtZW50Ci18IDxodG1sPgotfCAgIDxoZWFkPgotfCAgIDxib2R5PgotfCAg
ICAgPHRhYmxlPgotfCAgICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICAgI2RvY3VtZW50LWZyYWdt
ZW50Ci18ICAgICAgICAgICA8dGhlYWQ+Ci0KLSNkYXRhCi08dGFibGU+PHRoZWFkPjx0ZW1wbGF0
ZT48dHI+PC90ZW1wbGF0ZT48L3RhYmxlPgotI2Vycm9ycwotI2RvY3VtZW50Ci18IDxodG1sPgot
fCAgIDxoZWFkPgotfCAgIDxib2R5PgotfCAgICAgPHRhYmxlPgotfCAgICAgICA8dGhlYWQ+Ci18
ICAgICAgICAgPHRlbXBsYXRlPgotfCAgICAgICAgICAgI2RvY3VtZW50LWZyYWdtZW50Ci18ICAg
ICAgICAgICAgIDx0cj4KLQotI2RhdGEKLTx0YWJsZT48dGVtcGxhdGU+PHRyPjwvdGVtcGxhdGU+
PC90YWJsZT4KLSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICA8
Ym9keT4KLXwgICAgIDx0YWJsZT4KLXwgICAgICAgPHRlbXBsYXRlPgotfCAgICAgICAgICNkb2N1
bWVudC1mcmFnbWVudAotfCAgICAgICAgICAgPHRyPgotCi0jZGF0YQotPHRhYmxlPjx0cj48dGVt
cGxhdGU+PHRkPgotI2Vycm9ycwotI2RvY3VtZW50Ci18IDxodG1sPgotfCAgIDxoZWFkPgotfCAg
IDxib2R5PgotfCAgICAgPHRhYmxlPgotfCAgICAgICA8dGJvZHk+Ci18ICAgICAgICAgPHRyPgot
fCAgICAgICAgICAgPHRlbXBsYXRlPgotfCAgICAgICAgICAgICAjZG9jdW1lbnQtZnJhZ21lbnQK
LXwgICAgICAgICAgICAgICA8dGQ+Ci0KLSNkYXRhCi08dGFibGU+PHRlbXBsYXRlPjx0cj48dGVt
cGxhdGU+PHRkPjwvdGVtcGxhdGU+PC90cj48L3RlbXBsYXRlPjwvdGFibGU+Ci0jZXJyb3JzCi0j
ZG9jdW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgPGJvZHk+Ci18ICAgICA8dGFibGU+
Ci18ICAgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgICAjZG9jdW1lbnQtZnJhZ21lbnQKLXwgICAg
ICAgICAgIDx0cj4KLXwgICAgICAgICAgICAgPHRlbXBsYXRlPgotfCAgICAgICAgICAgICAgICNk
b2N1bWVudC1mcmFnbWVudAotfCAgICAgICAgICAgICAgICAgPHRkPgotCi0jZGF0YQotPHRhYmxl
Pjx0ZW1wbGF0ZT48dHI+PHRlbXBsYXRlPjx0ZD48L3RkPjwvdGVtcGxhdGU+PC90cj48L3RlbXBs
YXRlPjwvdGFibGU+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18
ICAgPGJvZHk+Ci18ICAgICA8dGFibGU+Ci18ICAgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgICAj
ZG9jdW1lbnQtZnJhZ21lbnQKLXwgICAgICAgICAgIDx0cj4KLXwgICAgICAgICAgICAgPHRlbXBs
YXRlPgotfCAgICAgICAgICAgICAgICNkb2N1bWVudC1mcmFnbWVudAotfCAgICAgICAgICAgICAg
ICAgPHRkPgotCi0jZGF0YQotPHRhYmxlPjx0ZW1wbGF0ZT48dGQ+PC90ZW1wbGF0ZT4KLSNlcnJv
cnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICA8Ym9keT4KLXwgICAgIDx0
YWJsZT4KLXwgICAgICAgPHRlbXBsYXRlPgotfCAgICAgICAgICNkb2N1bWVudC1mcmFnbWVudAot
fCAgICAgICAgICAgPHRkPgotCi0jZGF0YQotPGJvZHk+PHRlbXBsYXRlPjx0ZD48L3RkPjwvdGVt
cGxhdGU+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgPGJv
ZHk+Ci18ICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICNkb2N1bWVudC1mcmFnbWVudAotfCAgICAg
ICAgIDx0ZD4KLQotI2RhdGEKLTxib2R5Pjx0ZW1wbGF0ZT48dGVtcGxhdGU+PHRyPjwvdHI+PC90
ZW1wbGF0ZT48dGQ+PC90ZD48L3RlbXBsYXRlPgotI2Vycm9ycwotI2RvY3VtZW50Ci18IDxodG1s
PgotfCAgIDxoZWFkPgotfCAgIDxib2R5PgotfCAgICAgPHRlbXBsYXRlPgotfCAgICAgICAjZG9j
dW1lbnQtZnJhZ21lbnQKLXwgICAgICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICAgICAjZG9jdW1l
bnQtZnJhZ21lbnQKLXwgICAgICAgICAgICAgPHRyPgotfCAgICAgICAgIDx0ZD4KLQotI2RhdGEK
LTx0YWJsZT48Y29sZ3JvdXA+PHRlbXBsYXRlPjxjb2w+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwg
PGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgPGJvZHk+Ci18ICAgICA8dGFibGU+Ci18ICAgICAgIDxj
b2xncm91cD4KLXwgICAgICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICAgICAjZG9jdW1lbnQtZnJh
Z21lbnQKLXwgICAgICAgICAgICAgPGNvbD4KLQotI2RhdGEKLTxmcmFtZXNldD48dGVtcGxhdGU+
PGZyYW1lPjwvZnJhbWU+PC90ZW1wbGF0ZT48L2ZyYW1lc2V0PgotI2Vycm9ycwotI2RvY3VtZW50
Ci18IDxodG1sPgotfCAgIDxoZWFkPgotfCAgIDxmcmFtZXNldD4KLXwgICAgIDx0ZW1wbGF0ZT4K
LXwgICAgICAgI2RvY3VtZW50LWZyYWdtZW50Ci18ICAgICAgICAgPGZyYW1lPgotCi0jZGF0YQot
PHRlbXBsYXRlPjxmcmFtZT48L2ZyYW1lPjwvZnJhbWVzZXQ+PGZyYW1lPjwvZnJhbWU+PC90ZW1w
bGF0ZT4KLSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICAgIDx0
ZW1wbGF0ZT4KLXwgICAgICAgI2RvY3VtZW50LWZyYWdtZW50Ci18ICAgICAgICAgPGZyYW1lPgot
fCAgICAgICAgIDxmcmFtZT4KLXwgICA8Ym9keT4KLQotI2RhdGEKLTx0ZW1wbGF0ZT48ZGl2Pjxm
cmFtZXNldD48c3Bhbj48L3NwYW4+PC9kaXY+PHNwYW4+PC9zcGFuPjwvdGVtcGxhdGU+Ci0jZXJy
b3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgICA8dGVtcGxhdGU+Ci18
ICAgICAgICNkb2N1bWVudC1mcmFnbWVudAotfCAgICAgICAgIDxkaXY+Ci18ICAgICAgICAgICA8
c3Bhbj4KLXwgICAgICAgICA8c3Bhbj4KLXwgICA8Ym9keT4KLQotI2RhdGEKLTxib2R5Pjx0ZW1w
bGF0ZT48ZGl2PjxmcmFtZXNldD48c3Bhbj48L3NwYW4+PC9kaXY+PHNwYW4+PC9zcGFuPjwvdGVt
cGxhdGU+PC9ib2R5PgotI2Vycm9ycwotI2RvY3VtZW50Ci18IDxodG1sPgotfCAgIDxoZWFkPgot
fCAgIDxib2R5PgotfCAgICAgPHRlbXBsYXRlPgotfCAgICAgICAjZG9jdW1lbnQtZnJhZ21lbnQK
LXwgICAgICAgICA8ZGl2PgotfCAgICAgICAgICAgPHNwYW4+Ci18ICAgICAgICAgPHNwYW4+Ci0K
LSNkYXRhCi08Ym9keT48dGVtcGxhdGU+PHNjcmlwdD52YXIgaSA9IDE7PC9zY3JpcHQ+PHRkPjwv
dGQ+PC90ZW1wbGF0ZT4KLSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8aGVhZD4K
LXwgICA8Ym9keT4KLXwgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgI2RvY3VtZW50LWZyYWdtZW50
Ci18ICAgICAgICAgPHNjcmlwdD4KLXwgICAgICAgICAgICJ2YXIgaSA9IDE7IgotfCAgICAgICAg
IDx0ZD4KLQotI2RhdGEKLTxib2R5Pjx0ZW1wbGF0ZT48dHI+PGRpdj48L2Rpdj48L3RyPjwvdGVt
cGxhdGU+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgPGJv
ZHk+Ci18ICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICNkb2N1bWVudC1mcmFnbWVudAotfCAgICAg
ICAgIDx0cj4KLXwgICAgICAgICA8ZGl2PgotCi0jZGF0YQotPGJvZHk+PHRlbXBsYXRlPjx0cj48
L3RyPjx0ZD48L3RkPjwvdGVtcGxhdGU+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18
ICAgPGhlYWQ+Ci18ICAgPGJvZHk+Ci18ICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICNkb2N1bWVu
dC1mcmFnbWVudAotfCAgICAgICAgIDx0cj4KLXwgICAgICAgICA8dHI+Ci18ICAgICAgICAgICA8
dGQ+Ci0KLSNkYXRhCi08Ym9keT48dGVtcGxhdGU+PHRkPjwvdGQ+PC90cj48dGQ+PC90ZD48L3Rl
bXBsYXRlPgotI2Vycm9ycwotI2RvY3VtZW50Ci18IDxodG1sPgotfCAgIDxoZWFkPgotfCAgIDxi
b2R5PgotfCAgICAgPHRlbXBsYXRlPgotfCAgICAgICAjZG9jdW1lbnQtZnJhZ21lbnQKLXwgICAg
ICAgICA8dGQ+Ci18ICAgICAgICAgPHRkPgotCi0KLSNkYXRhCi08Ym9keT48dGVtcGxhdGU+PHRk
PjwvdGQ+PHRib2R5Pjx0ZD48L3RkPjwvdGVtcGxhdGU+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwg
PGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgPGJvZHk+Ci18ICAgICA8dGVtcGxhdGU+Ci18ICAgICAg
ICNkb2N1bWVudC1mcmFnbWVudAotfCAgICAgICAgIDx0ZD4KLXwgICAgICAgICA8dGQ+Ci0KLSNk
YXRhCi08Ym9keT48dGVtcGxhdGU+PHRkPjwvdGQ+PGNhcHRpb24+PC9jYXB0aW9uPjx0ZD48L3Rk
PjwvdGVtcGxhdGU+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18
ICAgPGJvZHk+Ci18ICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICNkb2N1bWVudC1mcmFnbWVudAot
fCAgICAgICAgIDx0ZD4KLXwgICAgICAgICA8dGQ+Ci0KLSNkYXRhCi08Ym9keT48dGVtcGxhdGU+
PHRkPjwvdGQ+PGNvbGdyb3VwPjwvY2FwdGlvbj48dGQ+PC90ZD48L3RlbXBsYXRlPgotI2Vycm9y
cwotI2RvY3VtZW50Ci18IDxodG1sPgotfCAgIDxoZWFkPgotfCAgIDxib2R5PgotfCAgICAgPHRl
bXBsYXRlPgotfCAgICAgICAjZG9jdW1lbnQtZnJhZ21lbnQKLXwgICAgICAgICA8dGQ+Ci18ICAg
ICAgICAgPHRkPgotCi0jZGF0YQotPGJvZHk+PHRlbXBsYXRlPjx0ZD48L3RkPjwvdGFibGU+PHRk
PjwvdGQ+PC90ZW1wbGF0ZT4KLSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8aGVh
ZD4KLXwgICA8Ym9keT4KLXwgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgI2RvY3VtZW50LWZyYWdt
ZW50Ci18ICAgICAgICAgPHRkPgotfCAgICAgICAgIDx0ZD4KLQotI2RhdGEKLTxib2R5Pjx0ZW1w
bGF0ZT48dHI+PC90cj48dGJvZHk+PHRyPjwvdHI+PC90ZW1wbGF0ZT4KLSNlcnJvcnMKLSNkb2N1
bWVudAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICA8Ym9keT4KLXwgICAgIDx0ZW1wbGF0ZT4K
LXwgICAgICAgI2RvY3VtZW50LWZyYWdtZW50Ci18ICAgICAgICAgPHRyPgotfCAgICAgICAgIDx0
cj4KLQotI2RhdGEKLTxib2R5Pjx0ZW1wbGF0ZT48dHI+PC90cj48Y2FwdGlvbj48dHI+PC90cj48
L3RlbXBsYXRlPgotI2Vycm9ycwotI2RvY3VtZW50Ci18IDxodG1sPgotfCAgIDxoZWFkPgotfCAg
IDxib2R5PgotfCAgICAgPHRlbXBsYXRlPgotfCAgICAgICAjZG9jdW1lbnQtZnJhZ21lbnQKLXwg
ICAgICAgICA8dHI+Ci18ICAgICAgICAgPHRyPgotCi0jZGF0YQotPGJvZHk+PHRlbXBsYXRlPjx0
cj48L3RyPjwvdGFibGU+PHRyPjwvdHI+PC90ZW1wbGF0ZT4KLSNlcnJvcnMKLSNkb2N1bWVudAot
fCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICA8Ym9keT4KLXwgICAgIDx0ZW1wbGF0ZT4KLXwgICAg
ICAgI2RvY3VtZW50LWZyYWdtZW50Ci18ICAgICAgICAgPHRyPgotfCAgICAgICAgIDx0cj4KLQot
I2RhdGEKLTxib2R5Pjx0ZW1wbGF0ZT48dGhlYWQ+PC90aGVhZD48Y2FwdGlvbj48L2NhcHRpb24+
PHRib2R5PjwvdGJvZHk+PC90ZW1wbGF0ZT4KLSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4K
LXwgICA8aGVhZD4KLXwgICA8Ym9keT4KLXwgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgI2RvY3Vt
ZW50LWZyYWdtZW50Ci18ICAgICAgICAgPHRoZWFkPgotfCAgICAgICAgIDxjYXB0aW9uPgotfCAg
ICAgICAgIDx0Ym9keT4KLQotI2RhdGEKLTxib2R5Pjx0ZW1wbGF0ZT48dGhlYWQ+PC90aGVhZD48
L3RhYmxlPjx0Ym9keT48L3Rib2R5PjwvdGVtcGxhdGU+PC9ib2R5PgotI2Vycm9ycwotI2RvY3Vt
ZW50Ci18IDxodG1sPgotfCAgIDxoZWFkPgotfCAgIDxib2R5PgotfCAgICAgPHRlbXBsYXRlPgot
fCAgICAgICAjZG9jdW1lbnQtZnJhZ21lbnQKLXwgICAgICAgICA8dGhlYWQ+Ci18ICAgICAgICAg
PHRib2R5PgotCi0jZGF0YQotPGJvZHk+PHRlbXBsYXRlPjxkaXY+PHRyPjwvdHI+PC9kaXY+PC90
ZW1wbGF0ZT4KLSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICA8
Ym9keT4KLXwgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgI2RvY3VtZW50LWZyYWdtZW50Ci18ICAg
ICAgICAgPGRpdj4KLQotI2RhdGEKLTxib2R5Pjx0ZW1wbGF0ZT48ZW0+SGVsbG88L2VtPjwvdGVt
cGxhdGU+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgPGJv
ZHk+Ci18ICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICNkb2N1bWVudC1mcmFnbWVudAotfCAgICAg
ICAgIDxlbT4KLXwgICAgICAgICAgICJIZWxsbyIKLQotI2RhdGEKLTxib2R5Pjx0ZW1wbGF0ZT48
IS0tY29tbWVudC0tPjwvdGVtcGxhdGU+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18
ICAgPGhlYWQ+Ci18ICAgPGJvZHk+Ci18ICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICNkb2N1bWVu
dC1mcmFnbWVudAotfCAgICAgICAgIDwhLS0gY29tbWVudCAtLT4KLQotI2RhdGEKLTxib2R5Pjx0
ZW1wbGF0ZT48c3R5bGU+PC9zdHlsZT48dGQ+PC90ZD48L3RlbXBsYXRlPgotI2Vycm9ycwotI2Rv
Y3VtZW50Ci18IDxodG1sPgotfCAgIDxoZWFkPgotfCAgIDxib2R5PgotfCAgICAgPHRlbXBsYXRl
PgotfCAgICAgICAjZG9jdW1lbnQtZnJhZ21lbnQKLXwgICAgICAgICA8c3R5bGU+Ci18ICAgICAg
ICAgPHRkPgotCi0jZGF0YQotPGJvZHk+PHRlbXBsYXRlPjxtZXRhPjx0ZD48L3RkPjwvdGVtcGxh
dGU+Ci0jZXJyb3JzCi0jZG9jdW1lbnQKLXwgPGh0bWw+Ci18ICAgPGhlYWQ+Ci18ICAgPGJvZHk+
Ci18ICAgICA8dGVtcGxhdGU+Ci18ICAgICAgICNkb2N1bWVudC1mcmFnbWVudAotfCAgICAgICAg
IDxtZXRhPgotfCAgICAgICAgIDx0ZD4KLQotI2RhdGEKLTxib2R5Pjx0ZW1wbGF0ZT48bGluaz48
dGQ+PC90ZD48L3RlbXBsYXRlPgotI2Vycm9ycwotI2RvY3VtZW50Ci18IDxodG1sPgotfCAgIDxo
ZWFkPgotfCAgIDxib2R5PgotfCAgICAgPHRlbXBsYXRlPgotfCAgICAgICAjZG9jdW1lbnQtZnJh
Z21lbnQKLXwgICAgICAgICA8bGluaz4KLXwgICAgICAgICA8dGQ+Ci0KLSNkYXRhCi08Ym9keT48
dGVtcGxhdGU+PHRlbXBsYXRlPjx0cj48L3RyPjwvdGVtcGxhdGU+PHRkPjwvdGQ+PC90ZW1wbGF0
ZT4KLSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICA8Ym9keT4K
LXwgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgI2RvY3VtZW50LWZyYWdtZW50Ci18ICAgICAgICAg
PHRlbXBsYXRlPgotfCAgICAgICAgICAgI2RvY3VtZW50LWZyYWdtZW50Ci18ICAgICAgICAgICAg
IDx0cj4KLXwgICAgICAgICA8dGQ+Ci0KLSNkYXRhCi08Ym9keT48dGFibGU+PGNvbGdyb3VwPjx0
ZW1wbGF0ZT48Y29sPjwvY29sPjwvdGVtcGxhdGU+PC9jb2xncm91cD48L3RhYmxlPjwvYm9keT4K
LSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICA8Ym9keT4KLXwg
ICAgIDx0YWJsZT4KLXwgICAgICAgPGNvbGdyb3VwPgotfCAgICAgICAgIDx0ZW1wbGF0ZT4KLXwg
ICAgICAgICAgICNkb2N1bWVudC1mcmFnbWVudAotfCAgICAgICAgICAgICA8Y29sPgotCi0jZGF0
YQotPGJvZHkgYT1iPjx0ZW1wbGF0ZT48ZGl2PjwvZGl2Pjxib2R5IGM9ZD48ZGl2PjwvZGl2Pjwv
Ym9keT48L3RlbXBsYXRlPjwvYm9keT4KLSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwg
ICA8aGVhZD4KLXwgICA8Ym9keT4KLXwgICAgIGE9ImIiCi18ICAgICA8dGVtcGxhdGU+Ci18ICAg
ICAgICNkb2N1bWVudC1mcmFnbWVudAotfCAgICAgICAgIDxkaXY+Ci18ICAgICAgICAgPGRpdj4K
LQotI2RhdGEKLTxodG1sIGE9Yj48dGVtcGxhdGU+PGRpdj48aHRtbCBiPWM+PHNwYW4+PC90ZW1w
bGF0ZT4KLSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICBhPSJiIgotfCAgIDxoZWFk
PgotfCAgICAgPHRlbXBsYXRlPgotfCAgICAgICAjZG9jdW1lbnQtZnJhZ21lbnQKLXwgICAgICAg
ICA8ZGl2PgotfCAgICAgICAgICAgPHNwYW4+Ci18ICAgPGJvZHk+Ci0KLSNkYXRhCi08aHRtbCBh
PWI+PHRlbXBsYXRlPjxjb2w+PC9jb2w+PGh0bWwgYj1jPjxjb2w+PC9jb2w+PC90ZW1wbGF0ZT4K
LSNlcnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICBhPSJiIgotfCAgIDxoZWFkPgotfCAg
ICAgPHRlbXBsYXRlPgotfCAgICAgICAjZG9jdW1lbnQtZnJhZ21lbnQKLXwgICAgICAgICA8Y29s
PgotfCAgICAgICAgIDxjb2w+Ci18ICAgPGJvZHk+Ci0KLSNkYXRhCi08aHRtbCBhPWI+PHRlbXBs
YXRlPjxmcmFtZT48L2ZyYW1lPjxodG1sIGI9Yz48ZnJhbWU+PC9mcmFtZT48L3RlbXBsYXRlPgot
I2Vycm9ycwotI2RvY3VtZW50Ci18IDxodG1sPgotfCAgIGE9ImIiCi18ICAgPGhlYWQ+Ci18ICAg
ICA8dGVtcGxhdGU+Ci18ICAgICAgICNkb2N1bWVudC1mcmFnbWVudAotfCAgICAgICAgIDxmcmFt
ZT4KLXwgICAgICAgICA8ZnJhbWU+Ci18ICAgPGJvZHk+Ci0KLSNkYXRhCi08Ym9keT48dGVtcGxh
dGU+PHRyPjwvdHI+PHRlbXBsYXRlPjwvdGVtcGxhdGU+PHRkPjwvdGQ+PC90ZW1wbGF0ZT4KLSNl
cnJvcnMKLSNkb2N1bWVudAotfCA8aHRtbD4KLXwgICA8aGVhZD4KLXwgICA8Ym9keT4KLXwgICAg
IDx0ZW1wbGF0ZT4KLXwgICAgICAgI2RvY3VtZW50LWZyYWdtZW50Ci18ICAgICAgICAgPHRyPgot
fCAgICAgICAgIDx0ZW1wbGF0ZT4KLXwgICAgICAgICAgICNkb2N1bWVudC1mcmFnbWVudAotfCAg
ICAgICAgIDx0ZD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0bWw1bGliL3J1bi10ZW1wbGF0
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odG1sNWxpYi9ydW4tdGVtcGxhdGUtZXhwZWN0
ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZWZlMzI0YjAxMjllNjFjOTEy
NGU1NTgwOTI4MmE5NWQwYmFhYWU3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0bWw1bGliL3J1bi10ZW1wbGF0ZS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1yZXNvdXJjZXMvdGVtcGxhdGUuZGF0OiBQ
QVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odG1sNWxpYi9ydW4tdGVtcGxhdGUuaHRtbCBi
L0xheW91dFRlc3RzL2h0bWw1bGliL3J1bi10ZW1wbGF0ZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBmODExMjlhMGUxNmZmZWFjNDQ0OWIzZTkxN2FjNGQ0MTljYjY0ZmU3Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2h0bWw1bGliL3J1bi10ZW1wbGF0ZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBA
Ci08IWRvY3R5cGUgaHRtbD4KLTxzY3JpcHQ+Ci12YXIgdGVzdF9maWxlcyA9IFsKLSAgJ3Jlc291
cmNlcy90ZW1wbGF0ZS5kYXQnLAotXQotPC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
cnVubmVyLmpzIj48L3NjcmlwdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDUwMjNjOGE1YmEzNDM1Yjkz
YmE0NDdmM2I4MmE5NzY1NDIzMmNhYWEuLjU1MTM3MDhjMDQ3MzI3NGVhMjUxMWU5NzFjMzZkZjE1
OGUxYjdlMmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0
YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCkBA
IC0zMTAsMTAgKzMxMCw2IEBAIGZhc3QvdGV4dC91bmljb2RlLXZhcmlhdGlvbi1zZWxlY3Rvci5o
dG1sCiBmYXN0L2Zvcm1zL2ZpbGUvaW5wdXQtZmlsZS1lbnRyaWVzLmh0bWwKIGh0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L2ZpbGVzeXN0ZW0tdXJscy1tYXRjaC1zZWxm
Lmh0bWwKIAotIyBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkgaXMgZGlzYWJsZWQuCi1mYXN0L2Rv
bS9IVE1MVGVtcGxhdGVFbGVtZW50Ci1odG1sNWxpYi9ydW4tdGVtcGxhdGUuaHRtbAotCiAjIFRy
YW5zcGFyZW50IGltYWdlIGJlaW5nIHByb2R1Y2VkCiBmYXN0L2ZyYW1lcy90cmFuc3BhcmVudC1z
Y3JvbGxiYXIuaHRtbAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDRjZTU0Zjk4ZTBhZjUxMzc1ZDFmNGM0NzJhZTQ5OTgzZTQ4Y2Q0NzQuLmI4YWFiYmY3
MTY4ZWMxNThjYzkwNDM1NzZhNmFlN2IzZTUzNzI2YmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC03NywxMCArNzcsNiBAQCBodHRwL3Rlc3RzL3htbGh0
dHByZXF1ZXN0L2RlZmF1bHQtY29udGVudC10eXBlLWRhc2hib2FyZC5odG1sIFsgV29udEZpeCBd
CiAjIEVOQUJMRShEUkFHR0FCTEVfUkVHSU9OKSBpcyBkaXNhYmxlZAogZmFzdC9jc3MvZHJhZ2dh
YmxlLXJlZ2lvbi1wYXJzZXIuaHRtbCBbIFdvbnRGaXggXQogCi0jIEVOQUJMRShURU1QTEFURV9F
TEVNRU5UKSBpcyBkaXNhYmxlZC4KLXdlYmtpdC5vcmcvYi8xMDM1NyBmYXN0L2RvbS9IVE1MVGVt
cGxhdGVFbGVtZW50IFsgU2tpcCBdCi13ZWJraXQub3JnL2IvMTAzNTcgaHRtbDVsaWIvcnVuLXRl
bXBsYXRlLmh0bWwgWyBTa2lwIF0KLQogIyBUaGVzZSB0ZXN0IC1hcHBsZS0gYW5kIC1raHRtbC0g
cHJlZml4ZWQgQ1NTIHByb3BlcnRpZXMsIHdoaWNoIHdlIGRvbid0IHN1cHBvcnQuCiBpbnNwZWN0
b3Ivc3R5bGVzL3ZlbmRvci1wcmVmaXhlcy5odG1sIFsgV29udEZpeCBdCiBmYXN0L2Nzcy9hcHBs
ZS1wcmVmaXguaHRtbCBbIFdvbnRGaXggXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucwppbmRleCA5ODkyZTcyMWEwYjEwZTNkOTc2OGZhZmI0ZTQyMmJmZmU4MDNiMWUz
Li5lOGMzZTA1MWE5NGNkYWIxOWM1ZDEzZjEzYTI4MjMyZjI2ZGYyYjdhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDMyLDEwICs0MzIsNiBAQCBmYXN0
L2RvbS9zaGFkb3cKIGVkaXRpbmcvc2hhZG93CiBpbnNwZWN0b3IvZWxlbWVudHMvdXBkYXRlLXNo
YWRvd2RvbS5odG1sCiAKLSMgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpIGlzIGRpc2FibGVkLgot
ZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudAotaHRtbDVsaWIvcnVuLXRlbXBsYXRlLmh0bWwK
LQogIyBKU0MgZG9lcyBub3Qgc3VwcG9ydCBzZXRJc29sYXRlZFdvcmxkU2VjdXJpdHlPcmlnaW4g
KGh0dHA6Ly93ZWJraXQub3JnL2IvNjE1NDApCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVk
V29ybGQvY3Jvc3Mtb3JpZ2luLXhoci5odG1sCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDhjZDU3NWYwMzcwYjBhMWNkZDMzMzcwZGI3YWIzZWU5NjBiNGU3
ZTIuLjRiYmE0YTE0NjJhYWQwZmQwYzc2NTIxOTFlMTQ5ZjgzZmM4NmI5MTIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTg4LDEwICsxODgsNiBAQCBmYXN0
L2RvbS9zaGFkb3cKIGZhc3QvZnJhbWVzL2RldGFjaGVkLXNoYWRvdy1mcmFtZS5odG1sCiBpbnNw
ZWN0b3IvZWxlbWVudHMvdXBkYXRlLXNoYWRvd2RvbS5odG1sCiAKLSMgRU5BQkxFKFRFTVBMQVRF
X0VMRU1FTlQpIGlzIGRpc2FibGVkLgotZmFzdC9kb20vSFRNTFRlbXBsYXRlRWxlbWVudAotaHRt
bDVsaWIvcnVuLXRlbXBsYXRlLmh0bWwKLQogIyBGYWlsIHVudGlsIFNVQlBJWEVMX0xBWU9VVCBp
cyBlbmFibGVkCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTUz
MgogZmFzdC9zdWItcGl4ZWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9U
ZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggNDY5MmU1YjUyZDg5ZTA4ZTVkZDNlYWI1NmU4ZjZlYmU2MTZhMjAzYy4uNjk3NDNh
NDhiNGUzYzJiMDhjMDA4N2MzOGFiZTJjMjQ1NDJjMzM5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE1MjcsMTAgKzE1MjcsNiBAQCBmYXN0L3JlZ2lv
bnMvc3R5bGUtc2NvcGVkLWluLWZsb3cuaHRtbAogZWRpdGluZy9zaGFkb3cKIGZhc3QvZG9tL3No
YWRvdwogCi0jIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKSBpcyBkaXNhYmxlZC4KLWZhc3QvZG9t
L0hUTUxUZW1wbGF0ZUVsZW1lbnQKLWh0bWw1bGliL3J1bi10ZW1wbGF0ZS5odG1sCi0KICMgQ1NT
IFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvNTcz
MTIKIGZhc3QvcmVnaW9ucwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5j
YWlyby9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVz
dEV4cGVjdGF0aW9ucwppbmRleCBiMTJhZGI1YWJkNTg2ZTY4ZjZkZWNkNmNhY2UwNmViZjkyYjVl
MWU4Li4zYTdjMjBlM2YzNGIzYjEyNDNhMzA3MjYxOTIzZDQ5ZDI5YmMxMDM4IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIwNjIsMTAg
KzIwNjIsNiBAQCBmYXN0L3JlZ2lvbnMvc3R5bGUtc2NvcGVkLWluLWZsb3cuaHRtbAogZWRpdGlu
Zy9zaGFkb3cKIGZhc3QvZG9tL3NoYWRvdwogCi0jIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKSBp
cyBkaXNhYmxlZC4KLWZhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQKLWh0bWw1bGliL3J1bi10
ZW1wbGF0ZS5odG1sCi0KICMgQ1NTIFJlZ2lvbnMgc3VwcG9ydCBub3QgeWV0IGVuYWJsZWQuIGh0
dHA6Ly93ZWJraXQub3JnL2IvNTczMTIKIGZhc3QvcmVnaW9ucwogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMgYi9MYXlvdXRUZXN0cy9yZXNvdXJj
ZXMvZHVtcC1hcy1tYXJrdXAuanMKaW5kZXggYzdmZGYxN2YyMGE0MjljMTBjNmQ4YjNhMTk2ZGZi
OTA5NDQ2MmIwYy4uNTNhMDAxZmVmZGUyODgxYWVmNjFjZDA2OTAyNzJmYzZlMTViMWU5MSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvcmVzb3VyY2VzL2R1bXAtYXMtbWFya3VwLmpzCisrKyBiL0xh
eW91dFRlc3RzL3Jlc291cmNlcy9kdW1wLWFzLW1hcmt1cC5qcwpAQCAtMjIwLDI0ICsyMjAsMTYg
QEAgTWFya3VwLl9nZXQgPSBmdW5jdGlvbihub2RlLCBkZXB0aCkKICAgICBjYXNlIE5vZGUuRE9D
VU1FTlRfRlJBR01FTlRfTk9ERToKICAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT0gIiNzaGFk
b3ctcm9vdCIpCiAgICAgICAgICAgc3RyICs9ICI8c2hhZG93OnJvb3Q+IjsKLSAgICAgICAgZWxz
ZQotICAgICAgICAgIHN0ciArPSAiI2RvY3VtZW50LWZyYWdtZW50IjsKICAgICB9Ci0gICAgCi0g
ICAgCi0gICAgLy8gSFRNTCBUZW1wbGF0ZSBlbGVtZW50cyBzZXJpYWxpemUgdGhlaXIgY29udGVu
dCBEb2N1bWVudEZyYWdtZW50LCBhbmQgTk9UIHRoZWlyIGNoaWxkcmVuLgotICAgIGlmIChub2Rl
Lm5hbWVzcGFjZVVSSSA9ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJyAmJiBub2RlLnRh
Z05hbWUgPT0gJ1RFTVBMQVRFJykgewotICAgICAgICBzdHIgKz0gTWFya3VwLl9nZXQobm9kZS5j
b250ZW50LCBkZXB0aCArIDEpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIGZvciAodmFyIGkgPSAw
LCBsZW4gPSBub2RlLmNoaWxkTm9kZXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHsKLSAgICAgICAg
ICAgIHZhciBzZWxlY3Rpb24gPSBNYXJrdXAuX2dldFNlbGVjdGlvbk1hcmtlcihub2RlLCBpKTsK
LSAgICAgICAgICAgIGlmIChzZWxlY3Rpb24pCi0gICAgICAgICAgICAgICAgc3RyICs9IE1hcmt1
cC5faW5kZW50KGRlcHRoICsgMSkgKyBzZWxlY3Rpb247Ci0gICAgCi0gICAgICAgICAgICBzdHIg
Kz0gTWFya3VwLl9nZXQobm9kZS5jaGlsZE5vZGVzW2ldLCBkZXB0aCArIDEpOwotICAgICAgICB9
CisKKyAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gbm9kZS5jaGlsZE5vZGVzLmxlbmd0aDsgaSA8
IGxlbjsgaSsrKSB7CisgICAgICAgIHZhciBzZWxlY3Rpb24gPSBNYXJrdXAuX2dldFNlbGVjdGlv
bk1hcmtlcihub2RlLCBpKTsKKyAgICAgICAgaWYgKHNlbGVjdGlvbikKKyAgICAgICAgICAgIHN0
ciArPSBNYXJrdXAuX2luZGVudChkZXB0aCArIDEpICsgc2VsZWN0aW9uOworCisgICAgICAgIHN0
ciArPSBNYXJrdXAuX2dldChub2RlLmNoaWxkTm9kZXNbaV0sIGRlcHRoICsgMSk7CiAgICAgfQot
ICAgIAorCiAgICAgc3RyICs9IE1hcmt1cC5fZ2V0U2hhZG93SG9zdElmUG9zc2libGUobm9kZSwg
ZGVwdGgpOwogICAgIAogICAgIHZhciBzZWxlY3Rpb24gPSBNYXJrdXAuX2dldFNlbGVjdGlvbk1h
cmtlcihub2RlLCBpKTsKQEAgLTI5Miw3ICsyODQsNyBAQCBNYXJrdXAuX05BTUVTUEFDRV9VUklf
TUFQID0gewogCiBNYXJrdXAuX2dldFNlbGVjdGlvbkZyb21Ob2RlID0gZnVuY3Rpb24obm9kZSkK
IHsKLSAgICByZXR1cm4gbm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3ID8gbm9kZS5vd25l
ckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldFNlbGVjdGlvbigpIDogbnVsbDsKKyAgICByZXR1cm4g
bm9kZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LmdldFNlbGVjdGlvbigpOwogfQogCiBNYXJr
dXAuX1NFTEVDVElPTl9GT0NVUyA9ICc8I3NlbGVjdGlvbi1mb2N1cz4nOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177403</attachid>
            <date>2012-12-03 20:49:59 -0800</date>
            <delta_ts>2012-12-03 21:16:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103966-20121203204725.patch</filename>
            <type>text/plain</type>
            <size>2430</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk2ZDc0M2UwMjYwODQ0
MWRmYzUwNWNjNWIzMDQyOTA0NTVkMWY0Ny4uYjM0YTU3MmUxNTEwN2JkZTc4MmFhMGFkMjkyMzE0
NWNhNzBlNWRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDEyLTEyLTAzICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUkVHUkVTU0lP
TihyMTM2NDY3KTogVGhpcyBwYXRjaCBtYWRlIHNldmVyYWwgdGVzdHMoZS5nLiBhY2lkMykgY3Jh
c2guIChSZXF1ZXN0ZWQgYnkgdGFzYWsgb24gI3dlYmtpdCkuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM5NjYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgdGVtcGxhdGUgZWxlbWVudCBwYXRjaCBh
ZGRlZCBhc3NlcnRzIGluIHBhcnNlckFwcGVuZENoaWxkIGFuZCBwYXJzZXJJbnNlcnRCZWZvcmUg
d2hpY2ggc2hvdWxkIGJlIHZhbGlkLCBidXQgRE9NSW1wbGVtZW50YXRpb246OmNyZWF0ZURvY3Vt
ZW50KCkgYmxpbmRseSBjYWxscyB0aGVtIHdpdGggZG9jVHlwZSB3aXRob3V0IHJlZ2FyZCB0byBp
dHMgb3duZXIuIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgYXNzZXJ0cyBhbmQgcmVwbGFjZXMgdGhl
bSB3aXRoIEZJWE1FUy4KKworICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OnBhcnNlckluc2VydEJlZm9yZSk6CisgICAgICAg
IChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpwYXJzZXJBcHBlbmRDaGlsZCk6CisKKzIwMTItMTIt
MDMgIFJhZmFlbCBXZWluc3RlaW4gIDxyYWZhZWx3QGNocm9taXVtLm9yZz4KKwogICAgICAgICBJ
bXBsZW1lbnQgSFRNTFRlbXBsYXRlRWxlbWVudAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODYwMzEKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0NvbnRhaW5lck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUu
Y3BwCmluZGV4IGI2YjkxYmE5MjVkNTdjNWI4ZmJlYWJhODVmM2Q1ZGMwMTU1OTRjYzQuLjAyZDJl
YzQxNzAwZGZjOGNmNmNhNjgxZDUyMzQ4ZTZkZjJlYjU4NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29u
dGFpbmVyTm9kZS5jcHAKQEAgLTMxMCw3ICszMTAsOSBAQCB2b2lkIENvbnRhaW5lck5vZGU6OnBh
cnNlckluc2VydEJlZm9yZShQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiBuZXh0Q2hp
bAogICAgIEFTU0VSVChuZXdDaGlsZCk7CiAgICAgQVNTRVJUKG5leHRDaGlsZCk7CiAgICAgQVNT
RVJUKG5leHRDaGlsZC0+cGFyZW50Tm9kZSgpID09IHRoaXMpOwotICAgIEFTU0VSVChkb2N1bWVu
dCgpID09IG5ld0NoaWxkLT5kb2N1bWVudCgpKTsKKyAgICAvLyBGSVhNRTogVGhpcyBhc3NlcnQg
c2hvdWxkIGJlIHZhbGlkLCBidXQgRE9NSW1wbGVtZW50YXRpb246OmNyZWF0ZURvY3VtZW50KCkK
KyAgICAvLyBibGluZGx5IGRvZXMgcGFyc2VySW5zZXJ0QmVmb3JlIG9uIHRoZSBkb2NUeXBlIGl0
cyBwYXNzZWQuCisgICAgLy8gQVNTRVJUKGRvY3VtZW50KCkgPT0gbmV3Q2hpbGQtPmRvY3VtZW50
KCkpOwogCiAgICAgTm9kZVZlY3RvciB0YXJnZXRzOwogICAgIGNvbGxlY3RUYXJnZXROb2Rlcyhu
ZXdDaGlsZC5nZXQoKSwgdGFyZ2V0cyk7CkBAIC02OTYsNyArNjk4LDkgQEAgdm9pZCBDb250YWlu
ZXJOb2RlOjpwYXJzZXJBcHBlbmRDaGlsZChQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkKQogewog
ICAgIEFTU0VSVChuZXdDaGlsZCk7CiAgICAgQVNTRVJUKCFuZXdDaGlsZC0+cGFyZW50Tm9kZSgp
KTsgLy8gVXNlIGFwcGVuZENoaWxkIGlmIHlvdSBuZWVkIHRvIGhhbmRsZSByZXBhcmVudGluZyAo
YW5kIHdhbnQgRE9NIG11dGF0aW9uIGV2ZW50cykuCi0gICAgQVNTRVJUKGRvY3VtZW50KCkgPT0g
bmV3Q2hpbGQtPmRvY3VtZW50KCkpOworICAgIC8vIEZJWE1FOiBUaGlzIGFzc2VydCBzaG91bGQg
YmUgdmFsaWQsIGJ1dCBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQoKQorICAgIC8v
IGJsaW5kbHkgZG9lcyBwYXNlckFwcGVuZENoaWxkIG9uIHRoZSBkb2NUeXBlIGl0cyBwYXNzZWQu
CisgICAgLy8gQVNTRVJUKGRvY3VtZW50KCkgPT0gbmV3Q2hpbGQtPmRvY3VtZW50KCkpOwogCiAg
ICAgTm9kZSogbGFzdCA9IG1fbGFzdENoaWxkOwogICAgIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177405</attachid>
            <date>2012-12-03 20:59:22 -0800</date>
            <delta_ts>2012-12-03 21:08:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103966-20121203205648.patch</filename>
            <type>text/plain</type>
            <size>2267</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk2ZDc0M2UwMjYwODQ0
MWRmYzUwNWNjNWIzMDQyOTA0NTVkMWY0Ny4uOTQ3ODI0MjhjNDJhZjNjNTJkNTM1ZDIxNWE3OTM0
NmQ2MTdiNzczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE1IEBACiAyMDEyLTEyLTAzICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgVW5yZXZpZXdl
ZCBidWlsZCBmaXggYWZ0ZXIgcjEzNjQ2NworCisgICAgICAgIFRoZSB0ZW1wbGF0ZSBlbGVtZW50
IHBhdGNoIGFkZGVkIGFzc2VydHMgaW4gcGFyc2VyQXBwZW5kQ2hpbGQgYW5kIHBhcnNlckluc2Vy
dEJlZm9yZSB3aGljaCBzaG91bGQgYmUgdmFsaWQsIGJ1dCBET01JbXBsZW1lbnRhdGlvbjo6Y3Jl
YXRlRG9jdW1lbnQoKSBibGluZGx5IGNhbGxzIHRoZW0gd2l0aCBkb2NUeXBlIHdpdGhvdXQgcmVn
YXJkIHRvIGl0cyBvd25lci4gVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBhc3NlcnRzIGFuZCByZXBs
YWNlcyB0aGVtIHdpdGggRklYTUVTLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6cGFyc2VySW5zZXJ0QmVmb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OnBhcnNlckFwcGVuZENoaWxkKToKKwor
MjAxMi0xMi0wMyAgUmFmYWVsIFdlaW5zdGVpbiAgPHJhZmFlbHdAY2hyb21pdW0ub3JnPgorCiAg
ICAgICAgIEltcGxlbWVudCBIVE1MVGVtcGxhdGVFbGVtZW50CiAgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NjAzMQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFp
bmVyTm9kZS5jcHAKaW5kZXggYjZiOTFiYTkyNWQ1N2M1YjhmYmVhYmE4NWYzZDVkYzAxNTU5NGNj
NC4uMDJkMmVjNDE3MDBkZmM4Y2Y2Y2E2ODFkNTIzNDhlNmRmMmViNTg1NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Db250YWluZXJOb2RlLmNwcApAQCAtMzEwLDcgKzMxMCw5IEBAIHZvaWQgQ29udGFpbmVy
Tm9kZTo6cGFyc2VySW5zZXJ0QmVmb3JlKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUq
IG5leHRDaGlsCiAgICAgQVNTRVJUKG5ld0NoaWxkKTsKICAgICBBU1NFUlQobmV4dENoaWxkKTsK
ICAgICBBU1NFUlQobmV4dENoaWxkLT5wYXJlbnROb2RlKCkgPT0gdGhpcyk7Ci0gICAgQVNTRVJU
KGRvY3VtZW50KCkgPT0gbmV3Q2hpbGQtPmRvY3VtZW50KCkpOworICAgIC8vIEZJWE1FOiBUaGlz
IGFzc2VydCBzaG91bGQgYmUgdmFsaWQsIGJ1dCBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9j
dW1lbnQoKQorICAgIC8vIGJsaW5kbHkgZG9lcyBwYXJzZXJJbnNlcnRCZWZvcmUgb24gdGhlIGRv
Y1R5cGUgaXRzIHBhc3NlZC4KKyAgICAvLyBBU1NFUlQoZG9jdW1lbnQoKSA9PSBuZXdDaGlsZC0+
ZG9jdW1lbnQoKSk7CiAKICAgICBOb2RlVmVjdG9yIHRhcmdldHM7CiAgICAgY29sbGVjdFRhcmdl
dE5vZGVzKG5ld0NoaWxkLmdldCgpLCB0YXJnZXRzKTsKQEAgLTY5Niw3ICs2OTgsOSBAQCB2b2lk
IENvbnRhaW5lck5vZGU6OnBhcnNlckFwcGVuZENoaWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hp
bGQpCiB7CiAgICAgQVNTRVJUKG5ld0NoaWxkKTsKICAgICBBU1NFUlQoIW5ld0NoaWxkLT5wYXJl
bnROb2RlKCkpOyAvLyBVc2UgYXBwZW5kQ2hpbGQgaWYgeW91IG5lZWQgdG8gaGFuZGxlIHJlcGFy
ZW50aW5nIChhbmQgd2FudCBET00gbXV0YXRpb24gZXZlbnRzKS4KLSAgICBBU1NFUlQoZG9jdW1l
bnQoKSA9PSBuZXdDaGlsZC0+ZG9jdW1lbnQoKSk7CisgICAgLy8gRklYTUU6IFRoaXMgYXNzZXJ0
IHNob3VsZCBiZSB2YWxpZCwgYnV0IERPTUltcGxlbWVudGF0aW9uOjpjcmVhdGVEb2N1bWVudCgp
CisgICAgLy8gYmxpbmRseSBkb2VzIHBhc2VyQXBwZW5kQ2hpbGQgb24gdGhlIGRvY1R5cGUgaXRz
IHBhc3NlZC4KKyAgICAvLyBBU1NFUlQoZG9jdW1lbnQoKSA9PSBuZXdDaGlsZC0+ZG9jdW1lbnQo
KSk7CiAKICAgICBOb2RlKiBsYXN0ID0gbV9sYXN0Q2hpbGQ7CiAgICAgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177409</attachid>
            <date>2012-12-03 21:08:22 -0800</date>
            <delta_ts>2012-12-04 09:54:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103966-20121203210548.patch</filename>
            <type>text/plain</type>
            <size>1736</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk2ZDc0M2UwMjYwODQ0
MWRmYzUwNWNjNWIzMDQyOTA0NTVkMWY0Ny4uNDg5ODJmZThjYTExMzE1ODAwYzk2NTVlZmJiNTIx
NjM5MzVjZGYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE1IEBACiAyMDEyLTEyLTAzICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgVW5yZXZpZXdl
ZCBidWlsZCBmaXggYWZ0ZXIgcjEzNjQ2NworCisgICAgICAgIFRoZSB0ZW1wbGF0ZSBlbGVtZW50
IHBhdGNoIGFkZGVkIGFzc2VydHMgaW4gcGFyc2VyQXBwZW5kQ2hpbGQgYW5kIHBhcnNlckluc2Vy
dEJlZm9yZSB3aGljaCBzaG91bGQgYmUgdmFsaWQsIGJ1dCBET01JbXBsZW1lbnRhdGlvbjo6Y3Jl
YXRlRG9jdW1lbnQoKSBjYWxscyBwYXJzZXJBcHBlbmRDaGlsZCB3aXRoIGRvY1R5cGUgd2l0aG91
dCByZWdhcmQgdG8gaXRzIG93bmVyLiBUaGlzIHBhdGNoIHJlbW92ZXMgdGhlIGFzc2VydCBhbmQg
YWRkcyBhIEZJWE1FLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6cGFyc2VySW5zZXJ0QmVmb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6OnBhcnNlckFwcGVuZENoaWxkKToKKworMjAxMi0xMi0w
MyAgUmFmYWVsIFdlaW5zdGVpbiAgPHJhZmFlbHdAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIElt
cGxlbWVudCBIVE1MVGVtcGxhdGVFbGVtZW50CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04NjAzMQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vQ29udGFpbmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5j
cHAKaW5kZXggYjZiOTFiYTkyNWQ1N2M1YjhmYmVhYmE4NWYzZDVkYzAxNTU5NGNjNC4uYzMwY2U2
MTQwYzQ4MmMwNGQ5NmIwZGIxNWRkZGMwMDBhNjkwZTVkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250
YWluZXJOb2RlLmNwcApAQCAtNjk2LDcgKzY5Niw5IEBAIHZvaWQgQ29udGFpbmVyTm9kZTo6cGFy
c2VyQXBwZW5kQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCkKIHsKICAgICBBU1NFUlQo
bmV3Q2hpbGQpOwogICAgIEFTU0VSVCghbmV3Q2hpbGQtPnBhcmVudE5vZGUoKSk7IC8vIFVzZSBh
cHBlbmRDaGlsZCBpZiB5b3UgbmVlZCB0byBoYW5kbGUgcmVwYXJlbnRpbmcgKGFuZCB3YW50IERP
TSBtdXRhdGlvbiBldmVudHMpLgotICAgIEFTU0VSVChkb2N1bWVudCgpID09IG5ld0NoaWxkLT5k
b2N1bWVudCgpKTsKKyAgICAvLyBGSVhNRTogVGhpcyBhc3NlcnQgc2hvdWxkIGJlIHZhbGlkLCBi
dXQgRE9NSW1wbGVtZW50YXRpb246OmNyZWF0ZURvY3VtZW50KCkKKyAgICAvLyBibGluZGx5IGNh
bGxzIHBhc2VyQXBwZW5kQ2hpbGQgb24gdGhlIGRvY1R5cGUgaXRzIHBhc3NlZC4KKyAgICAvLyBB
U1NFUlQoZG9jdW1lbnQoKSA9PSBuZXdDaGlsZC0+ZG9jdW1lbnQoKSk7CiAKICAgICBOb2RlKiBs
YXN0ID0gbV9sYXN0Q2hpbGQ7CiAgICAgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>