<?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>112776</bug_id>
          
          <creation_ts>2013-03-19 22:50:10 -0700</creation_ts>
          <short_desc>REGRESSION(r146301): Caused hundreds of tests to hit assertions on Windows debug bots (Requested by rniwa on #webkit).</short_desc>
          <delta_ts>2013-03-19 23:39:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>104969</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>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>859083</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 22:50:10 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/146301 broke the build:
Caused hundreds of tests to hit assertions on Windows debug bots (Requested by rniwa 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>859085</commentid>
    <comment_count>1</comment_count>
      <attachid>193988</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 22:50:44 -0700</bug_when>
    <thetext>Created attachment 193988
ROLLOUT of r146301

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>859104</commentid>
    <comment_count>2</comment_count>
      <attachid>193988</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 23:39:49 -0700</bug_when>
    <thetext>Comment on attachment 193988
ROLLOUT of r146301

Clearing flags on attachment: 193988

Committed r146306: &lt;http://trac.webkit.org/changeset/146306&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859105</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 23:39:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193988</attachid>
            <date>2013-03-19 22:50:44 -0700</date>
            <delta_ts>2013-03-19 23:39:49 -0700</delta_ts>
            <desc>ROLLOUT of r146301</desc>
            <filename>bug-112776-20130320054634.patch</filename>
            <type>text/plain</type>
            <size>49961</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDZiMGUzZTU5Y2Y3NzEz
MDYyM2ExOWVlODYxNzUxMzllMjQ1OWY5Ni4uNGUyNGFlZDY0MzJiZmY3MjJjYjIyMzQxMzlmNzky
ODYxZjhlODY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDEzLTAzLTE5ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTQ2MzAxLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xNDYzMDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMjc3NgorCisgICAgICAgIENhdXNlZCBodW5kcmVkcyBvZiB0ZXN0cyB0byBo
aXQgYXNzZXJ0aW9ucyBvbiBXaW5kb3dzIGRlYnVnCisgICAgICAgIGJvdHMgKFJlcXVlc3RlZCBi
eSBybml3YSBvbiAjd2Via2l0KS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAg
ICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAg
KiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dl
YkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
LmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudExvYWRlcjo6RG9jdW1lbnRMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnRMb2FkZXI6Om1haW5SZXNvdXJjZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVu
dExvYWRlcjo6fkRvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9h
ZGVyOjptYWluUmVzb3VyY2VEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
OjpzdG9wTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6ZmluaXNo
ZWRMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpoYW5kbGVTdWJz
dGl0dXRlRGF0YUxvYWROb3cpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OmNv
bnRpbnVlQWZ0ZXJOYXZpZ2F0aW9uUG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
TG9hZGVyOjpyZXNwb25zZVJlY2VpdmVkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9h
ZGVyOjpjb250aW51ZUFmdGVyQ29udGVudFBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudExvYWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1l
bnRMb2FkZXI6OnJlY2VpdmVkRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRl
cjo6Y2xlYXJNYWluUmVzb3VyY2VMb2FkZXIpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRM
b2FkZXI6OnNldERlZmVyc0xvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2Fk
ZXI6OnNldE1haW5SZXNvdXJjZURhdGFCdWZmZXJpbmdQb2xpY3kpOgorICAgICAgICAoV2ViQ29y
ZTo6RG9jdW1lbnRMb2FkZXI6OmFkZFN1YnJlc291cmNlTG9hZGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50TG9hZGVyOjppc0xvYWRpbmdNYWluUmVzb3VyY2UpOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6bWF5YmVMb2FkRW1wdHkp
OgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2FkZXI6OnN0YXJ0TG9hZGluZ01haW5SZXNv
dXJjZSk6CisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmg6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKERvY3VtZW50TG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvTWFpblJl
c291cmNlTG9hZGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6TWFpblJlc291cmNlTG9hZGVyKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6fk1haW5SZXNvdXJjZUxvYWRlcik6CisgICAg
ICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmNsZWFyUmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29y
ZTo6TWFpblJlc291cmNlTG9hZGVyOjpmcmFtZUxvYWRlcik6CisgICAgICAgIChXZWJDb3JlOjpN
YWluUmVzb3VyY2VMb2FkZXI6OnJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWFpblJlc291
cmNlTG9hZGVyOjpyZXNvdXJjZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6TWFpblJlc291cmNl
TG9hZGVyOjpyZWRpcmVjdFJlY2VpdmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJj
ZUxvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZCk6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3Vy
Y2VMb2FkZXI6OmRhdGFSZWNlaXZlZCk6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VM
b2FkZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxv
YWRlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6TWFpblJlc291cmNl
TG9hZGVyOjpsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6c2V0
RGVmZXJzTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpNYWluUmVzb3VyY2VMb2FkZXI6OmRl
ZmVyc0xvYWRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6TWFpblJlc291cmNlTG9hZGVyOjpzZXRE
YXRhQnVmZmVyaW5nUG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRl
cjo6bG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6aWRlbnRp
Zmllcik6CisgICAgICAgICogbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoTWFpblJlc291cmNlTG9hZGVyKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6Y2FjaGVkTWFpblJlc291cmNlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1haW5SZXNvdXJjZUxvYWRlcjo6ZG9jdW1lbnRMb2FkZXIpOgorICAgICAg
ICAqIGxvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RG9jdW1lbnRMb2FkZXI6OnNjaGVkdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9h
ZGVyOjp1bnNjaGVkdWxlKToKKwogMjAxMy0wMy0xOSAgRXVnZW5lIEtseXVjaG5pa292ICA8ZXVz
dGFzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBbVGltZWxpbmVdIFR1
bmUgc3RhdHVzIGJhciBVSSBmb3IgbGltaXRlZC13aWR0aCB3aW5kb3cuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IDBmZTNkNWJkNWFiMjQ5Y2UwMjk5NWE5MDViNmY5ZjkxNDZmNWRhYmUuLmNlMjVl
ZTY5MmE2NzRkNmRlNjE5NDY5MzQxYWQ1ZmRmYzE5ZWI2MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC0xNjg1LDYgKzE2ODUsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgbG9hZGVyL0lt
YWdlTG9hZGVyLmNwcAogICAgIGxvYWRlci9MaW5rTG9hZGVyLmNwcAogICAgIGxvYWRlci9Mb2Fk
ZXJTdHJhdGVneS5jcHAKKyAgICBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcAogICAgIGxv
YWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcAogICAgIGxvYWRlci9OYXZpZ2F0aW9uQWN0aW9u
LmNwcAogICAgIGxvYWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGJiNWRjYmJiNGFjZmEwMDJlYTRkN2IzMjE2ODYzN2U3
MmNjNmU0ZmEuLmZmMzhjNDM4NDBjYTU3ZjgzOTA2OTY4N2RlYmEyODkzZGQxYjQxYjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNDA3NCw2ICs0MDc0LDggQEAgd2ViY29yZV9z
b3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTGlua0xvYWRlckNsaWVudC5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTG9hZGVyU3RyYXRlZ3kuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvTG9hZGVyU3RyYXRlZ3kuaCBcCisJU291cmNlL1dlYkNvcmUvbG9hZGVyL01h
aW5SZXNvdXJjZUxvYWRlci5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3Vy
Y2VMb2FkZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvbG9hZGVyL01peGVkQ29udGVudENoZWNrZXIu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWl4ZWRDb250ZW50Q2hlY2tlci5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5jcHAgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5k
ZXggNzJiNjBhZGZjZWEwZWViMGUxOGFhOTM3YmU5NzMwYWQ4YWVmNGI4MC4uOTY3MjlhZmM4ZTc2
NDc4MGNmZTE3NTBlMzYwMWYwMTFhOGNkYWEzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
VGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC04ODQsNiArODg0
LDcgQEAgU09VUkNFUyArPSBcCiAgICAgbG9hZGVyL0ltYWdlTG9hZGVyLmNwcCBcCiAgICAgbG9h
ZGVyL0xpbmtMb2FkZXIuY3BwIFwKICAgICBsb2FkZXIvTG9hZGVyU3RyYXRlZ3kuY3BwIFwKKyAg
ICBsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcCBcCiAgICAgbG9hZGVyL01peGVkQ29udGVu
dENoZWNrZXIuY3BwIFwKICAgICBsb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5jcHAgXAogICAgIGxv
YWRlci9OZXRzY2FwZVBsdWdJblN0cmVhbUxvYWRlci5jcHAgXApAQCAtMjA4MSw2ICsyMDgyLDcg
QEAgSEVBREVSUyArPSBcCiAgICAgbG9hZGVyL0xpbmtMb2FkZXIuaCBcCiAgICAgbG9hZGVyL0xp
bmtMb2FkZXJDbGllbnQuaCBcCiAgICAgbG9hZGVyL0xvYWRlclN0cmF0ZWd5LmggXAorICAgIGxv
YWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaCBcCiAgICAgbG9hZGVyL01peGVkQ29udGVudENoZWNr
ZXIuaCBcCiAgICAgbG9hZGVyL05hdmlnYXRpb25BY3Rpb24uaCBcCiAgICAgbG9hZGVyL05ldHNj
YXBlUGx1Z0luU3RyZWFtTG9hZGVyLmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA2YWZjOTcx
MmViZGEyODUyMTUzMDg2NjY0MjEzMDQxOWIwNmNiZGU5Li5lMDlhNTlmYjFjYWRhMTJhZGU3MzY2
YjU4YmU2Y2JlZmFhNTAxODRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMjc4LDEyICsyNzgs
OCBAQCBfX1pON1dlYkNvcmUxNENsaWVudFJlY3RMaXN0QzFFUktOM1dURjZWZWN0b3JJTlNfOUZs
b2F0UXVhZEVMbTBFRUUKIF9fWk43V2ViQ29yZTE0Q2xpZW50UmVjdExpc3RDMUV2CiBfX1pON1dl
YkNvcmUxNENsaWVudFJlY3RMaXN0RDFFdgogX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRlcjEw
Y29tbWl0RGF0YUVQS2NtCi1fX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMTJkYXRhUmVjZWl2
ZWRFUE5TXzE0Q2FjaGVkUmVzb3VyY2VFUEtjaQogX19aTjdXZWJDb3JlMTREb2N1bWVudExvYWRl
cjEzYXR0YWNoVG9GcmFtZUV2Ci1fX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMTRub3RpZnlG
aW5pc2hlZEVQTlNfMTRDYWNoZWRSZXNvdXJjZUUKIF9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2Fk
ZXIxNWRldGFjaEZyb21GcmFtZUV2Ci1fX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMTZyZWRp
cmVjdFJlY2VpdmVkRVBOU18xNENhY2hlZFJlc291cmNlRVJOU18xNVJlc291cmNlUmVxdWVzdEVS
S05TXzE2UmVzb3VyY2VSZXNwb25zZUUKLV9fWk43V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIxNnJl
c3BvbnNlUmVjZWl2ZWRFUE5TXzE0Q2FjaGVkUmVzb3VyY2VFUktOU18xNlJlc291cmNlUmVzcG9u
c2VFCiBfX1pON1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMThhZGRBcmNoaXZlUmVzb3VyY2VFTjNX
VEYxMFBhc3NSZWZQdHJJTlNfMTVBcmNoaXZlUmVzb3VyY2VFRUUKIF9fWk43V2ViQ29yZTE0UmVz
b3VyY2VMb2FkZXIzMmRpZENhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlRVJLTlNfMjNBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUUKIF9fWk43V2ViQ29yZTE0Y29va2llc0VuYWJsZWRFUktOU18y
MU5ldHdvcmtTdG9yYWdlU2Vzc2lvbkVSS05TXzRLVVJMRVM1XwpAQCAtMTI5Niw2ICsxMjkyLDcg
QEAgX19aTks3V2ViQ29yZTE0RG9jdW1lbnRMb2FkZXIxOG1haW5SZXNvdXJjZUxvYWRlckV2CiBf
X1pOSzdXZWJDb3JlMTREb2N1bWVudExvYWRlcjE5aXNMb2FkaW5nSW5BUElTZW5zZUV2CiBfX1pO
SzdXZWJDb3JlMTREb2N1bWVudExvYWRlcjE5b3JpZ2luYWxSZXF1ZXN0Q29weUV2CiBfX1pOSzdX
ZWJDb3JlMTREb2N1bWVudExvYWRlcjIxYXJjaGl2ZVJlc291cmNlRm9yVVJMRVJLTlNfNEtVUkxF
CitfX1pOSzdXZWJDb3JlMTREb2N1bWVudExvYWRlcjIxaXNMb2FkaW5nTWFpblJlc291cmNlRXYK
IF9fWk5LN1dlYkNvcmUxNERvY3VtZW50TG9hZGVyMjh1cmxGb3JIaXN0b3J5UmVmbGVjdHNGYWls
dXJlRXYKIF9fWk5LN1dlYkNvcmUxNERvY3VtZW50TG9hZGVyM3VybEV2CiBfX1pOSzdXZWJDb3Jl
MTREb2N1bWVudE1hcmtlcjExZGVzY3JpcHRpb25FdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDJlZDUz
ZTM2MmY5MjQ4Y2FkZDY2OTI0YzU4OGI4YzIwOWJlNmI1ZjEuLjM1YTUxNjU0NmE2ZTM2YTBjZjI5
M2I3MmFlMzljYzA3ZDk2ZGYzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIwODMsNiArMjA4Myw4
IEBACiAgICAgICAgICAgICAnbG9hZGVyL0xpbmtMb2FkZXJDbGllbnQuaCcsCiAgICAgICAgICAg
ICAnbG9hZGVyL0xvYWRlclN0cmF0ZWd5LmNwcCcsCiAgICAgICAgICAgICAnbG9hZGVyL0xvYWRl
clN0cmF0ZWd5LmgnLAorICAgICAgICAgICAgJ2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuY3Bw
JywKKyAgICAgICAgICAgICdsb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmgnLAogICAgICAgICAg
ICAgJ2xvYWRlci9NaXhlZENvbnRlbnRDaGVja2VyLmNwcCcsCiAgICAgICAgICAgICAnbG9hZGVy
L01peGVkQ29udGVudENoZWNrZXIuaCcsCiAgICAgICAgICAgICAnbG9hZGVyL05hdmlnYXRpb25B
Y3Rpb24uY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKaW5kZXggNTA0NmM5YjgzNDQzZWEyY2NhOTQxMzY3NWRlZmU4M2RlODczYjViYi4uZDExODYz
ZDcwNDRlZTkwMGU5NzdhNTk2NGUwZmVlMjQxNmQ0NWM4ZiAxMDA3NTUKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTI4MDc1LDYgKzI4MDc1LDE0IEBACiAJ
CQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGxvYWRlclxN
YWluUmVzb3VyY2VMb2FkZXIuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJ
UmVsYXRpdmVQYXRoPSIuLlxsb2FkZXJcTWFpblJlc291cmNlTG9hZGVyLmgiCisJCQkJPgorCQkJ
PC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGxvYWRlclxNaXhlZENvbnRl
bnRDaGVja2VyLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagppbmRleCA0NGE5OTYxYTY4ZGJjNDJkZTg5YjA0
MWE5ZjVjNmFmYzYzMjIwMGZiLi5iZTZkZTI1OGMxMzM5NzhlZTBlMzVhMWM3OGM3OTkxMGUzZWI1
YTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52
Y3hwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKQEAgLTEsNCArMSw0IEBACi08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/
Pgor77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KIDxQcm9qZWN0IERl
ZmF1bHRUYXJnZXRzPSJCdWlsZCIgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2No
ZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPgogICA8SXRlbUdyb3Vw
IExhYmVsPSJQcm9qZWN0Q29uZmlndXJhdGlvbnMiPgogICAgIDxQcm9qZWN0Q29uZmlndXJhdGlv
biBJbmNsdWRlPSJEZWJ1Z1N1ZmZpeHxXaW4zMiI+CkBAIC0zOTkzLDYgKzM5OTMsNyBAQAogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cbG9hZGVyXEltYWdlTG9hZGVyLmNwcCIgLz4KICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGxvYWRlclxMaW5rTG9hZGVyLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGxvYWRlclxMb2FkZXJTdHJhdGVneS5jcHAiIC8+CisgICAgPENs
Q29tcGlsZSBJbmNsdWRlPSIuLlxsb2FkZXJcTWFpblJlc291cmNlTG9hZGVyLmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGxvYWRlclxNaXhlZENvbnRlbnRDaGVja2VyLmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGxvYWRlclxOYXZpZ2F0aW9uQWN0aW9uLmNw
cCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGxvYWRlclxOYXZpZ2F0aW9uU2NoZWR1
bGVyLmNwcCIgLz4KQEAgLTExNDkzLDYgKzExNDk0LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGxvYWRlclxMaW5rTG9hZGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
Llxsb2FkZXJcTGlua0xvYWRlckNsaWVudC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5cbG9hZGVyXExvYWRlclN0cmF0ZWd5LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
Llxsb2FkZXJcTWFpblJlc291cmNlTG9hZGVyLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxsb2FkZXJcTWl4ZWRDb250ZW50Q2hlY2tlci5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cbG9hZGVyXE5hdmlnYXRpb25BY3Rpb24uaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGxvYWRlclxOYXZpZ2F0aW9uU2NoZWR1bGVyLmgiIC8+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5k
ZXggM2Q0ZGQ3OTE5NmRjMWU4MWE3OWFhMjhjODE3OTZlYTVmY2M3OGZmNy4uNzg0YzZlNTc1ZTQ0
ZWZlMjczYTcxMTIyYzQ3Y2I5ZTlkZDk5NTkwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtMSw0ICsxLDQg
QEAKLTw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Civvu788P3htbCB2ZXJz
aW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PgogPFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAi
IHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIw
MDMiPgogICA8SXRlbUdyb3VwPgogICAgIDxGaWx0ZXIgSW5jbHVkZT0iRGVyaXZlZFNvdXJjZXMi
PgpAQCAtMjI3NCw2ICsyMjc0LDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGxvYWRl
clxMb2FkZXJTdHJhdGVneS5jcHAiPgogICAgICAgPEZpbHRlcj5sb2FkZXI8L0ZpbHRlcj4KICAg
ICA8L0NsQ29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGxvYWRlclxNYWluUmVz
b3VyY2VMb2FkZXIuY3BwIj4KKyAgICAgIDxGaWx0ZXI+bG9hZGVyPC9GaWx0ZXI+CisgICAgPC9D
bENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxsb2FkZXJcTWl4ZWRDb250ZW50
Q2hlY2tlci5jcHAiPgogICAgICAgPEZpbHRlcj5sb2FkZXI8L0ZpbHRlcj4KICAgICA8L0NsQ29t
cGlsZT4KQEAgLTkwNjYsNiArOTA2OSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxs
b2FkZXJcTG9hZGVyU3RyYXRlZ3kuaCI+CiAgICAgICA8RmlsdGVyPmxvYWRlcjwvRmlsdGVyPgog
ICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cbG9hZGVyXE1haW5S
ZXNvdXJjZUxvYWRlci5oIj4KKyAgICAgIDxGaWx0ZXI+bG9hZGVyPC9GaWx0ZXI+CisgICAgPC9D
bEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxsb2FkZXJcTWl4ZWRDb250ZW50
Q2hlY2tlci5oIj4KICAgICAgIDxGaWx0ZXI+bG9hZGVyPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1
ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggM2IxMTEwNjdmZTM5MjdmYmU5MjQ4MjQ3ODllOWFmNmIwNmZlNmQxNS4uNjYxNGRl
MTIzYjNmMzQ1ZjllZjNmOGEyNmY0YTYzNGZhOWI5NDMwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTgyNiw2ICsxODI2LDcg
QEAKIAkJNjU2RDM3M0MwQURCQTVERTAwQTQ1NTREIC8qIEZyYW1lTG9hZGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTZEMzcyNDBBREJBNURFMDBB
NDU1NEQgLyogRnJhbWVMb2FkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk2NTZEMzczRTBBREJBNURFMDBBNDU1NEQgLyogRnJhbWVMb2FkZXJD
bGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1
NkQzNzI2MEFEQkE1REUwMEE0NTU0RCAvKiBGcmFtZUxvYWRlckNsaWVudC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTY1NkQzNzNGMEFEQkE1REUw
MEE0NTU0RCAvKiBSZXNvdXJjZUxvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNjU2RDM3MjcwQURCQTVERTAwQTQ1NTREIC8qIFJlc291cmNlTG9h
ZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
NjU2RDM3NDEwQURCQTVERTAwQTQ1NTREIC8qIE1haW5SZXNvdXJjZUxvYWRlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU2RDM3MjkwQURCQTVERTAw
QTQ1NTREIC8qIE1haW5SZXNvdXJjZUxvYWRlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTY1NkQzNzQzMEFEQkE1REUwMEE0NTU0RCAvKiBOZXRz
Y2FwZVBsdWdJblN0cmVhbUxvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNjU2RDM3MkIwQURCQTVERTAwQTQ1NTREIC8qIE5ldHNjYXBlUGx1Z0lu
U3RyZWFtTG9hZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNjU2RDM3NDgwQURCQTVERTAwQTQ1NTREIC8qIFN1YnJlc291cmNlTG9hZGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTZEMzczMDBB
REJBNURFMDBBNDU1NEQgLyogU3VicmVzb3VyY2VMb2FkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk2NTcxRENDODEzODVFNkE0MDA3MDJERDAg
LyogTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2NTdFREEwNzEzODVDQjk3MDA0RTA2NDUgLyogTWVtb3J5UHJlc3N1
cmVIYW5kbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKQEAgLTM0MDgsNiArMzQwOSw3IEBACiAJCTkzRDNDMTdEMEY5N0FBNzYwMDUzQzAxMyAvKiBE
T01IVE1MQ2FudmFzRWxlbWVudC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNEM0MxNTgwRjk3QTlENzAwNTNDMDEzIC8qIERP
TUhUTUxDYW52YXNFbGVtZW50LmggKi87IH07CiAJCTkzRDlENTNDMERBMjdFMTgwMDc3MjE2QyAv
KiBSYW5nZUJvdW5kYXJ5UG9pbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzRDlENTNCMERBMjdFMTgwMDc3MjE2QyAvKiBSYW5nZUJvdW5kYXJ5UG9p
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk5
M0UyMjdFMDBBRjU4OUFEMDBENDgzMjQgLyogRG9jdW1lbnRMb2FkZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNFMjI3REIwQUY1ODlBRDAwRDQ4
MzI0IC8qIERvY3VtZW50TG9hZGVyLmNwcCAqLzsgfTsKKwkJOTNFMjI3RTEwQUY1ODlBRDAwRDQ4
MzI0IC8qIE1haW5SZXNvdXJjZUxvYWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5M0UyMjdEQzBBRjU4OUFEMDBENDgzMjQgLyogTWFpblJlc291
cmNlTG9hZGVyLmNwcCAqLzsgfTsKIAkJOTNFMjI3RTMwQUY1ODlBRDAwRDQ4MzI0IC8qIFJlc291
cmNlTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDkzRTIyN0RFMEFGNTg5QUQwMEQ0ODMyNCAvKiBSZXNvdXJjZUxvYWRlci5jcHAgKi87IH07
CiAJCTkzRTIyN0U0MEFGNTg5QUQwMEQ0ODMyNCAvKiBTdWJyZXNvdXJjZUxvYWRlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0UyMjdERjBBRjU4
OUFEMDBENDgzMjQgLyogU3VicmVzb3VyY2VMb2FkZXIuY3BwICovOyB9OwogCQk5M0UyNDFGRjBC
MkI0RTQwMDBDNzMyQTEgLyogSFRNTEZyYW1lT3duZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0UyNDFGRTBCMkI0RTQwMDBDNzMyQTEg
LyogSFRNTEZyYW1lT3duZXJFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTkzMTcsNiArOTMxOSw3IEBACiAJCTY1NkQzNzI0MEFEQkE1
REUwMEE0NTU0RCAvKiBGcmFtZUxvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRnJhbWVMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU2RDM3
MjYwQURCQTVERTAwQTQ1NTREIC8qIEZyYW1lTG9hZGVyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBGcmFtZUxvYWRlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk2NTZEMzcyNzBBREJBNURFMDBBNDU1NEQgLyogUmVzb3VyY2VMb2FkZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlc291cmNlTG9hZGVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTY1NkQzNzI5MEFEQkE1REUwMEE0NTU0RCAvKiBN
YWluUmVzb3VyY2VMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1h
aW5SZXNvdXJjZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTZEMzcy
QjBBREJBNURFMDBBNDU1NEQgLyogTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHNjYXBlUGx1Z0luU3RyZWFtTG9hZGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1NkQzNzMwMEFEQkE1REUwMEE0NTU0RCAv
KiBTdWJyZXNvdXJjZUxvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
U3VicmVzb3VyY2VMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU3RURB
MDYxMzg1Q0I5NzAwNEUwNjQ1IC8qIE1lbW9yeVByZXNzdXJlSGFuZGxlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZW1vcnlQcmVzc3VyZUhhbmRsZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTA5MjYsNiArMTA5MjksNyBAQAogCQk5M0Qz
QzE1ODBGOTdBOUQ3MDA1M0MwMTMgLyogRE9NSFRNTENhbnZhc0VsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRNTENhbnZhc0VsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNEOUQ1M0IwREEyN0UxODAwNzcyMTZDIC8qIFJhbmdlQm91
bmRhcnlQb2ludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSYW5nZUJvdW5k
YXJ5UG9pbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTNFMjI3REIwQUY1ODlB
RDAwRDQ4MzI0IC8qIERvY3VtZW50TG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IERvY3VtZW50TG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJOTNFMjI3REMwQUY1ODlBRDAwRDQ4MzI0IC8qIE1haW5SZXNvdXJjZUxvYWRlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYWluUmVzb3VyY2VMb2FkZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0UyMjdERDBBRjU4OUFEMDBENDgz
MjQgLyogTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTmV0c2NhcGVQbHVnSW5TdHJlYW1Mb2FkZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5M0UyMjdERTBBRjU4OUFEMDBENDgzMjQgLyogUmVzb3Vy
Y2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzb3Vy
Y2VMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5M0UyMjdERjBBRjU4
OUFEMDBENDgzMjQgLyogU3VicmVzb3VyY2VMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU3VicmVzb3VyY2VMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMjE1NDYsNiArMjE1NTAsOCBAQAogCQkJCTk4NDI2NEVGMTJENTI4MEEw
MDBEODhBNCAvKiBMaW5rTG9hZGVyQ2xpZW50LmggKi8sCiAJCQkJNTFBQkY2NEMxNjM5MkUyODAw
MTMyQTdBIC8qIExvYWRlclN0cmF0ZWd5LmNwcCAqLywKIAkJCQk1MUU2ODIwRjE2Mzg3MzAyMDAz
QkJGM0MgLyogTG9hZGVyU3RyYXRlZ3kuaCAqLywKKwkJCQk5M0UyMjdEQzBBRjU4OUFEMDBENDgz
MjQgLyogTWFpblJlc291cmNlTG9hZGVyLmNwcCAqLywKKwkJCQk2NTZEMzcyOTBBREJBNURFMDBB
NDU1NEQgLyogTWFpblJlc291cmNlTG9hZGVyLmggKi8sCiAJCQkJNTJGMTA4NjIxNjJCNkQ4MjAw
OUFDODFFIC8qIE1peGVkQ29udGVudENoZWNrZXIuY3BwICovLAogCQkJCTUyRjEwODYzMTYyQjZE
ODIwMDlBQzgxRSAvKiBNaXhlZENvbnRlbnRDaGVja2VyLmggKi8sCiAJCQkJOTNDQ0YwNUYwQUY2
Q0E3NjAwMDE4RTg5IC8qIE5hdmlnYXRpb25BY3Rpb24uY3BwICovLApAQCAtMjU1NTMsNiArMjU1
NTksNyBAQAogCQkJCTkzNTIwN0JFMDlCRDQxMEEwMEYyMDM4RCAvKiBMb2NhbGl6ZWRTdHJpbmdz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0UxQzQxQjBEOTgyOTgwMDAzQjAyRjIgLyogTG9jYXRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MjM5RTAxMDlCM0NGOEEwMEI2MDY0MSAvKiBMb2dn
aW5nLmggaW4gSGVhZGVycyAqLywKKwkJCQk2NTZEMzc0MTBBREJBNURFMDBBNDU1NEQgLyogTWFp
blJlc291cmNlTG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTg3MDU2MzE2RTU0QTBEMDA1
ODVFOTcgLyogTWFpblRocmVhZFRhc2suaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEY2QkM2MERC
NTVDREMwMDFEQjc5NCAvKiBNYW5pZmVzdFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMz
MDlERjgwOTlFNjQ5MjAwNTZFNTgxIC8qIG1hcmt1cC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODk3
NCw2ICsyODk4MSw3IEBACiAJCQkJQkNFMUM0MUMwRDk4Mjk4MTAwM0IwMkYyIC8qIExvY2F0aW9u
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MjM5RTAwMDlCM0NGOEEwMEI2MDY0MSAvKiBMb2dn
aW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MDI2NDVFMEFGREMxOUIwMDU5MTlFMiAvKiBM
b2dnaW5nTWFjLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJOTNFMjI3RTEwQUY1ODlBRDAwRDQ4MzI0
IC8qIE1haW5SZXNvdXJjZUxvYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQThGNkJDNTBE
QjU1Q0RDMDAxREI3OTQgLyogTWFuaWZlc3RQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
OTMzMDlERjcwOTlFNjQ5MjAwNTZFNTgxIC8qIG1hcmt1cC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk5NzI4QzMxMzEyNjhFNDM5MDA0MUU4OUIgLyogTWFya3VwQWNjdW11bGF0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2Fk
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCBh
MWU1OTVmNTRlMWQ4NzZmZDZlMjhlOGRlMTM2NzhlMGQ5YTkwZjRmLi45ZGJiNGZkYzViZmU2ZGU5
NmRkNzc4N2NkYzM0NDI4ZDQ5NjJjMWU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHAKQEAgLTQ4LDEzICs0OCwxMyBAQAogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2lu
Zy5oIgorI2luY2x1ZGUgIk1haW5SZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIk1lbW9yeUNh
Y2hlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlByb2dyZXNzVHJhY2tlci5oIgog
I2luY2x1ZGUgIlJlc291cmNlQnVmZmVyLmgiCiAjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIK
ICNpbmNsdWRlICJTZXR0aW5ncy5oIgotI2luY2x1ZGUgIlN1YnJlc291cmNlTG9hZGVyLmgiCiAj
aW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgogI2luY2x1ZGUgIldlYkNvcmVNZW1vcnlJ
bnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgpAQCAtMTA3LDEx
ICsxMDcsMTEgQEAgRG9jdW1lbnRMb2FkZXI6OkRvY3VtZW50TG9hZGVyKGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgcmVxLCBjb25zdCBTdWJzdGl0dXRlRGF0YSYKICAgICAsIG1fZ290Rmlyc3RCeXRl
KGZhbHNlKQogICAgICwgbV9pc0NsaWVudFJlZGlyZWN0KGZhbHNlKQogICAgICwgbV9pc0xvYWRp
bmdNdWx0aXBhcnRDb250ZW50KGZhbHNlKQorICAgICwgbV9sb2FkaW5nRW1wdHlEb2N1bWVudChm
YWxzZSkKICAgICAsIG1fd2FzT25sb2FkSGFuZGxlZChmYWxzZSkKICAgICAsIG1fc3RvcFJlY29y
ZGluZ1Jlc3BvbnNlcyhmYWxzZSkKICAgICAsIG1fc3Vic3RpdHV0ZVJlc291cmNlRGVsaXZlcnlU
aW1lcih0aGlzLCAmRG9jdW1lbnRMb2FkZXI6OnN1YnN0aXR1dGVSZXNvdXJjZURlbGl2ZXJ5VGlt
ZXJGaXJlZCkKICAgICAsIG1fZGlkQ3JlYXRlR2xvYmFsSGlzdG9yeUVudHJ5KGZhbHNlKQotICAg
ICwgbV9sb2FkaW5nTWFpblJlc291cmNlKGZhbHNlKQogICAgICwgbV90aW1lT2ZMYXN0RGF0YVJl
Y2VpdmVkKDAuMCkKICAgICAsIG1faWRlbnRpZmllckZvckxvYWRXaXRob3V0UmVzb3VyY2VMb2Fk
ZXIoMCkKICAgICAsIG1fZGF0YUxvYWRUaW1lcih0aGlzLCAmRG9jdW1lbnRMb2FkZXI6OmhhbmRs
ZVN1YnN0aXR1dGVEYXRhTG9hZE5vdykKQEAgLTEyOSw3ICsxMjksNyBAQCBGcmFtZUxvYWRlciog
RG9jdW1lbnRMb2FkZXI6OmZyYW1lTG9hZGVyKCkgY29uc3QKIAogUmVzb3VyY2VMb2FkZXIqIERv
Y3VtZW50TG9hZGVyOjptYWluUmVzb3VyY2VMb2FkZXIoKSBjb25zdAogewotICAgIHJldHVybiBt
X21haW5SZXNvdXJjZSA/IG1fbWFpblJlc291cmNlLT5sb2FkZXIoKSA6IDA7CisgICAgcmV0dXJu
IG1fbWFpblJlc291cmNlTG9hZGVyID8gbV9tYWluUmVzb3VyY2VMb2FkZXItPmxvYWRlcigpIDog
MDsKIH0KIAogRG9jdW1lbnRMb2FkZXI6On5Eb2N1bWVudExvYWRlcigpCkBAIC0xNDAsMTkgKzE0
MCwxNiBAQCBEb2N1bWVudExvYWRlcjo6fkRvY3VtZW50TG9hZGVyKCkKICAgICBpZiAobV9pY29u
RGF0YUNhbGxiYWNrKQogICAgICAgICBtX2ljb25EYXRhQ2FsbGJhY2stPmludmFsaWRhdGUoKTsK
ICAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5jbGVhckRvY3VtZW50TG9hZGVyKCk7Ci0gICAg
Ci0gICAgaWYgKG1fbWFpblJlc291cmNlKSB7Ci0gICAgICAgIG1fbWFpblJlc291cmNlLT5yZW1v
dmVDbGllbnQodGhpcyk7Ci0gICAgICAgIG1fbWFpblJlc291cmNlID0gMDsKLSAgICB9CiB9CiAK
IFBhc3NSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IERvY3VtZW50TG9hZGVyOjptYWluUmVzb3VyY2VE
YXRhKCkgY29uc3QKIHsKKyAgICBpZiAobV9tYWluUmVzb3VyY2VEYXRhKQorICAgICAgICByZXR1
cm4gbV9tYWluUmVzb3VyY2VEYXRhOwogICAgIGlmIChtX3N1YnN0aXR1dGVEYXRhLmlzVmFsaWQo
KSkKICAgICAgICAgcmV0dXJuIFJlc291cmNlQnVmZmVyOjpjcmVhdGUobV9zdWJzdGl0dXRlRGF0
YS5jb250ZW50KCktPmRhdGEoKSwgbV9zdWJzdGl0dXRlRGF0YS5jb250ZW50KCktPnNpemUoKSk7
Ci0gICAgaWYgKG1fbWFpblJlc291cmNlKQotICAgICAgICByZXR1cm4gbV9tYWluUmVzb3VyY2Ut
PnJlc291cmNlQnVmZmVyKCk7CisgICAgaWYgKG1fbWFpblJlc291cmNlTG9hZGVyKQorICAgICAg
ICByZXR1cm4gbV9tYWluUmVzb3VyY2VMb2FkZXItPnJlc291cmNlRGF0YSgpOwogICAgIHJldHVy
biAwOwogfQogCkBAIC0yOTUsNyArMjkyLDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6c3RvcExv
YWRpbmcoKQogCiAgICAgRnJhbWVMb2FkZXIqIGZyYW1lTG9hZGVyID0gRG9jdW1lbnRMb2FkZXI6
OmZyYW1lTG9hZGVyKCk7CiAgICAgCi0gICAgaWYgKGlzTG9hZGluZ01haW5SZXNvdXJjZSgpKQor
ICAgIGlmIChtX21haW5SZXNvdXJjZUxvYWRlcikKICAgICAgICAgLy8gU3RvcCB0aGUgbWFpbiBy
ZXNvdXJjZSBsb2FkZXIgYW5kIGxldCBpdCBzZW5kIHRoZSBjYW5jZWxsZWQgbWVzc2FnZS4KICAg
ICAgICAgY2FuY2VsTWFpblJlc291cmNlTG9hZChmcmFtZUxvYWRlci0+Y2FuY2VsbGVkRXJyb3Io
bV9yZXF1ZXN0KSk7CiAgICAgZWxzZSBpZiAoIW1fc3VicmVzb3VyY2VMb2FkZXJzLmlzRW1wdHko
KSkKQEAgLTMzMywyNiArMzMwLDYgQEAgYm9vbCBEb2N1bWVudExvYWRlcjo6aXNMb2FkaW5nKCkg
Y29uc3QKICAgICByZXR1cm4gaXNMb2FkaW5nTWFpblJlc291cmNlKCkgfHwgIW1fc3VicmVzb3Vy
Y2VMb2FkZXJzLmlzRW1wdHkoKSB8fCAhbV9wbHVnSW5TdHJlYW1Mb2FkZXJzLmlzRW1wdHkoKTsK
IH0KIAotdm9pZCBEb2N1bWVudExvYWRlcjo6bm90aWZ5RmluaXNoZWQoQ2FjaGVkUmVzb3VyY2Uq
IHJlc291cmNlKQotewotICAgIEFTU0VSVF9VTlVTRUQocmVzb3VyY2UsIG1fbWFpblJlc291cmNl
ID09IHJlc291cmNlKTsKLSAgICBBU1NFUlQobV9tYWluUmVzb3VyY2UpOwotICAgIGlmICghbV9t
YWluUmVzb3VyY2UtPmVycm9yT2NjdXJyZWQoKSAmJiAhbV9tYWluUmVzb3VyY2UtPndhc0NhbmNl
bGVkKCkpIHsKLSAgICAgICAgZmluaXNoZWRMb2FkaW5nKG1fbWFpblJlc291cmNlLT5sb2FkRmlu
aXNoVGltZSgpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIC8vIEZJWE1FOiB3ZSBz
aG91bGQgZml4IHRoZSBkZXNpZ24gdG8gZWxpbWluYXRlIHRoZSBuZWVkIGZvciBhIHBsYXRmb3Jt
IGlmZGVmIGhlcmUKLSNpZiAhUExBVEZPUk0oQ0hST01JVU0pCi0gICAgaWYgKG1fcmVxdWVzdC5j
YWNoZVBvbGljeSgpID09IFJldHVybkNhY2hlRGF0YURvbnRMb2FkICYmICFtX21haW5SZXNvdXJj
ZS0+d2FzQ2FuY2VsZWQoKSkgewotICAgICAgICBmcmFtZUxvYWRlcigpLT5yZXRyeUFmdGVyRmFp
bGVkQ2FjaGVPbmx5TWFpblJlc291cmNlTG9hZCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
I2VuZGlmCi0KLSAgICBtYWluUmVjZWl2ZWRFcnJvcihtX21haW5SZXNvdXJjZS0+cmVzb3VyY2VF
cnJvcigpKTsKLX0KLQogdm9pZCBEb2N1bWVudExvYWRlcjo6ZmluaXNoZWRMb2FkaW5nKGRvdWJs
ZSBmaW5pc2hUaW1lKQogewogICAgIC8vIFRoZXJlIGlzIGEgYnVnIGluIENGTmV0d29yayB3aGVy
ZSBjYWxsYmFja3MgY2FuIGJlIGRpc3BhdGNoZWQgZXZlbiB3aGVuIGxvYWRzIGFyZSBkZWZlcnJl
ZC4KQEAgLTM3NCw3ICszNTEsNyBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpmaW5pc2hlZExvYWRp
bmcoZG91YmxlIGZpbmlzaFRpbWUpCiAgICAgICAgIGludCBsZW5ndGg7CiAgICAgICAgIGNvbnN0
IGNoYXIqIGRhdGEgPSBtX2NvbnRlbnRGaWx0ZXItPmdldFJlcGxhY2VtZW50RGF0YShsZW5ndGgp
OwogICAgICAgICBpZiAoZGF0YSkKLSAgICAgICAgICAgIGRhdGFSZWNlaXZlZChtX21haW5SZXNv
dXJjZS5nZXQoKSwgZGF0YSwgbGVuZ3RoKTsKKyAgICAgICAgICAgIHJlY2VpdmVkRGF0YShkYXRh
LCBsZW5ndGgpOwogICAgIH0KICNlbmRpZgogCkBAIC00MDgsOSArMzg1LDkgQEAgdm9pZCBEb2N1
bWVudExvYWRlcjo6ZmluaXNoZWRMb2FkaW5nKGRvdWJsZSBmaW5pc2hUaW1lKQogCiAgICAgLy8g
SWYgdGhlIGRvY3VtZW50IHNwZWNpZmllZCBhbiBhcHBsaWNhdGlvbiBjYWNoZSBtYW5pZmVzdCwg
aXQgdmlvbGF0ZXMgdGhlIGF1dGhvcidzIGludGVudCBpZiB3ZSBzdG9yZSBpdCBpbiB0aGUgbWVt
b3J5IGNhY2hlCiAgICAgLy8gYW5kIGRlbnkgdGhlIGFwcGNhY2hlIHRoZSBjaGFuY2UgdG8gaW50
ZXJjZXB0IGl0IGluIHRoZSBmdXR1cmUsIHNvIHJlbW92ZSBmcm9tIHRoZSBtZW1vcnkgY2FjaGUu
Ci0gICAgaWYgKG1fZnJhbWUpIHsKLSAgICAgICAgaWYgKG1fbWFpblJlc291cmNlICYmIG1fZnJh
bWUtPmRvY3VtZW50KCktPmhhc01hbmlmZXN0KCkpCi0gICAgICAgICAgICBtZW1vcnlDYWNoZSgp
LT5yZW1vdmUobV9tYWluUmVzb3VyY2UuZ2V0KCkpOworICAgIGlmIChmcmFtZSgpICYmIG1fbWFp
blJlc291cmNlTG9hZGVyKSB7CisgICAgICAgIGlmIChtX21haW5SZXNvdXJjZUxvYWRlci0+Y2Fj
aGVkTWFpblJlc291cmNlKCkgJiYgZnJhbWUoKS0+ZG9jdW1lbnQoKS0+aGFzTWFuaWZlc3QoKSkK
KyAgICAgICAgICAgIG1lbW9yeUNhY2hlKCktPnJlbW92ZShtX21haW5SZXNvdXJjZUxvYWRlci0+
Y2FjaGVkTWFpblJlc291cmNlKCkpOwogICAgIH0KICAgICBtX2FwcGxpY2F0aW9uQ2FjaGVIb3N0
LT5maW5pc2hlZExvYWRpbmdNYWluUmVzb3VyY2UoKTsKIH0KQEAgLTQzNCw3ICs0MTEsNyBAQCB2
b2lkIERvY3VtZW50TG9hZGVyOjpoYW5kbGVTdWJzdGl0dXRlRGF0YUxvYWROb3coRG9jdW1lbnRM
b2FkZXJUaW1lciopCiAgICAgaWYgKHVybC5pc0VtcHR5KCkpCiAgICAgICAgIHVybCA9IG1fcmVx
dWVzdC51cmwoKTsKICAgICBSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlKHVybCwgbV9zdWJzdGl0
dXRlRGF0YS5taW1lVHlwZSgpLCBtX3N1YnN0aXR1dGVEYXRhLmNvbnRlbnQoKS0+c2l6ZSgpLCBt
X3N1YnN0aXR1dGVEYXRhLnRleHRFbmNvZGluZygpLCAiIik7Ci0gICAgcmVzcG9uc2VSZWNlaXZl
ZCgwLCByZXNwb25zZSk7CisgICAgcmVzcG9uc2VSZWNlaXZlZChyZXNwb25zZSk7CiB9CiAKIHZv
aWQgRG9jdW1lbnRMb2FkZXI6OnN0YXJ0RGF0YUxvYWRUaW1lcigpCkBAIC00NTUsMTIgKzQzMiw2
IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmhhbmRsZVN1YnN0aXR1dGVEYXRhTG9hZFNvb24oKQog
ICAgICAgICBoYW5kbGVTdWJzdGl0dXRlRGF0YUxvYWROb3coMCk7CiB9CiAKLXZvaWQgRG9jdW1l
bnRMb2FkZXI6OnJlZGlyZWN0UmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVz
cG9uc2UpCi17Ci0gICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgcmVzb3VyY2UgPT0gbV9tYWlu
UmVzb3VyY2UpOwotICAgIHdpbGxTZW5kUmVxdWVzdChyZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNl
KTsKLX0KLQogdm9pZCBEb2N1bWVudExvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlUmVx
dWVzdCYgbmV3UmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25z
ZSkKIHsKICAgICAvLyBOb3RlIHRoYXQgdGhlcmUgYXJlIG5vIGFzc2VydHMgaGVyZSBhcyB0aGVy
ZSBhcmUgZm9yIHRoZSBvdGhlciBjYWxsYmFja3MuIFRoaXMgaXMgZHVlIHRvIHRoZQpAQCAtNTQ0
LDIxICs1MTUsMTcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6Y29udGludWVBZnRlck5hdmlnYXRp
b25Qb2xpY3koY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgYm9vbAogICAgICAgICAvLyBJZiB0aGUg
UmVzb3VyY2VMb2FkZXIgaXMgaW5kZWVkIGNhbmNlbGxlZCwgaXQgd291bGQgbm9ybWFsbHkgc2Vu
ZCByZXNvdXJjZSBsb2FkIGNhbGxiYWNrcy4KICAgICAgICAgLy8gSG93ZXZlciwgZnJvbSBhbiBB
UEkgcGVyc3BlY3RpdmUsIHRoaXMgaXNuJ3QgYSBjYW5jZWxsYXRpb24uIFRoZXJlZm9yZSwgc2V2
ZXIgb3VyIHJlbGF0aW9uc2hpcCB3aXRoIHRoZSBuZXR3b3JrIGxvYWQsCiAgICAgICAgIC8vIGJ1
dCBwcmV2ZW50IHRoZSBSZXNvdXJjZUxvYWRlciBmcm9tIHNlbmRpbmcgUmVzb3VyY2VMb2FkTm90
aWZpZXIgY2FsbGJhY2tzLgotICAgICAgICBSZWZQdHI8UmVzb3VyY2VMb2FkZXI+IHJlc291cmNl
TG9hZGVyID0gbWFpblJlc291cmNlTG9hZGVyKCk7CisgICAgICAgIFJlZlB0cjxSZXNvdXJjZUxv
YWRlcj4gcmVzb3VyY2VMb2FkZXIgPSBtX21haW5SZXNvdXJjZUxvYWRlci0+bG9hZGVyKCk7CiAg
ICAgICAgIEFTU0VSVChyZXNvdXJjZUxvYWRlci0+c2hvdWxkU2VuZFJlc291cmNlTG9hZENhbGxi
YWNrcygpKTsKICAgICAgICAgcmVzb3VyY2VMb2FkZXItPnNldFNlbmRDYWxsYmFja1BvbGljeShE
b05vdFNlbmRDYWxsYmFja3MpOwotICAgICAgICBpZiAobV9tYWluUmVzb3VyY2UpIHsKLSAgICAg
ICAgICAgIG1fbWFpblJlc291cmNlLT5yZW1vdmVDbGllbnQodGhpcyk7Ci0gICAgICAgICAgICBt
X21haW5SZXNvdXJjZSA9IDA7Ci0gICAgICAgIH0KKyAgICAgICAgbV9tYWluUmVzb3VyY2VMb2Fk
ZXItPmNsZWFyUmVzb3VyY2UoKTsKICAgICAgICAgcmVzb3VyY2VMb2FkZXItPnNldFNlbmRDYWxs
YmFja1BvbGljeShTZW5kQ2FsbGJhY2tzKTsKICAgICAgICAgaGFuZGxlU3Vic3RpdHV0ZURhdGFM
b2FkU29vbigpOwogICAgIH0KIH0KIAotdm9pZCBEb2N1bWVudExvYWRlcjo6cmVzcG9uc2VSZWNl
aXZlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlKQordm9pZCBEb2N1bWVudExvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZChjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKLSAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNlLCBt
X21haW5SZXNvdXJjZSA9PSByZXNvdXJjZSk7CiAgICAgUmVmUHRyPERvY3VtZW50TG9hZGVyPiBw
cm90ZWN0KHRoaXMpOwogICAgIGJvb2wgd2lsbExvYWRGYWxsYmFjayA9IG1fYXBwbGljYXRpb25D
YWNoZUhvc3QtPm1heWJlTG9hZEZhbGxiYWNrRm9yTWFpblJlc3BvbnNlKHJlcXVlc3QoKSwgcmVz
cG9uc2UpOwogCkBAIC01NzIsNyArNTM5LDcgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6cmVzcG9u
c2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmUKICAg
ICAgICAgc2hvdWxkUmVtb3ZlUmVzb3VyY2VGcm9tQ2FjaGUgPSB0cnVlOwogI2VuZGlmCiAgICAg
aWYgKHNob3VsZFJlbW92ZVJlc291cmNlRnJvbUNhY2hlKQotICAgICAgICBtZW1vcnlDYWNoZSgp
LT5yZW1vdmUobV9tYWluUmVzb3VyY2UuZ2V0KCkpOworICAgICAgICBtZW1vcnlDYWNoZSgpLT5y
ZW1vdmUobV9tYWluUmVzb3VyY2VMb2FkZXItPmNhY2hlZE1haW5SZXNvdXJjZSgpKTsKIAogICAg
IGlmICh3aWxsTG9hZEZhbGxiYWNrKQogICAgICAgICByZXR1cm47CkBAIC01OTksNyArNTY2LDcg
QEAgdm9pZCBEb2N1bWVudExvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSog
cmVzb3VyY2UsIGNvbnN0IFJlc291cmNlUmUKIAogICAgIGlmIChtX2lzTG9hZGluZ011bHRpcGFy
dENvbnRlbnQpIHsKICAgICAgICAgc2V0dXBGb3JSZXBsYWNlKCk7Ci0gICAgICAgIG1fbWFpblJl
c291cmNlLT5jbGVhcigpOworICAgICAgICBtX21haW5SZXNvdXJjZUxvYWRlci0+Y2FjaGVkTWFp
blJlc291cmNlKCktPmNsZWFyKCk7CiAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5pc011bHRpcGFy
dCgpKSB7CiAgICAgICAgIEZlYXR1cmVPYnNlcnZlcjo6b2JzZXJ2ZShtX2ZyYW1lLT5kb2N1bWVu
dCgpLCBGZWF0dXJlT2JzZXJ2ZXI6Ok11bHRpcGFydE1haW5SZXNvdXJjZSk7CiAgICAgICAgIG1f
aXNMb2FkaW5nTXVsdGlwYXJ0Q29udGVudCA9IHRydWU7CkBAIC02NzAsOCArNjM3LDggQEAgdm9p
ZCBEb2N1bWVudExvYWRlcjo6Y29udGludWVBZnRlckNvbnRlbnRQb2xpY3koUG9saWN5QWN0aW9u
IHBvbGljeSkKICAgICB9CiAKICAgICBjYXNlIFBvbGljeURvd25sb2FkOiB7Ci0gICAgICAgIC8v
IG1fbWFpblJlc291cmNlIGNhbiBiZSBudWxsLCBlLmcuIHdoZW4gbG9hZGluZyBhIHN1YnN0aXR1
dGUgcmVzb3VyY2UgZnJvbSBhcHBsaWNhdGlvbiBjYWNoZS4KLSAgICAgICAgaWYgKCFtX21haW5S
ZXNvdXJjZSkgeworICAgICAgICAvLyBUaGUgbWFpbiBDYWNoZWRSZXNvdXJjZSBjYW4gYmUgbnVs
bCwgZS5nLiB3aGVuIGxvYWRpbmcgYSBzdWJzdGl0dXRlIHJlc291cmNlIGZyb20gYXBwbGljYXRp
b24gY2FjaGUuCisgICAgICAgIGlmICghbV9tYWluUmVzb3VyY2VMb2FkZXItPmNhY2hlZE1haW5S
ZXNvdXJjZSgpKSB7CiAgICAgICAgICAgICBtYWluUmVjZWl2ZWRFcnJvcihmcmFtZUxvYWRlcigp
LT5jbGllbnQoKS0+Y2Fubm90U2hvd1VSTEVycm9yKG1fcmVxdWVzdCkpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CkBAIC03MTIsNyArNjc5LDcgQEAgdm9pZCBEb2N1bWVudExvYWRl
cjo6Y29udGludWVBZnRlckNvbnRlbnRQb2xpY3koUG9saWN5QWN0aW9uIHBvbGljeSkKIAogICAg
IGlmICghaXNTdG9wcGluZygpICYmIG1fc3Vic3RpdHV0ZURhdGEuaXNWYWxpZCgpKSB7CiAgICAg
ICAgIGlmIChtX3N1YnN0aXR1dGVEYXRhLmNvbnRlbnQoKS0+c2l6ZSgpKQotICAgICAgICAgICAg
ZGF0YVJlY2VpdmVkKDAsIG1fc3Vic3RpdHV0ZURhdGEuY29udGVudCgpLT5kYXRhKCksIG1fc3Vi
c3RpdHV0ZURhdGEuY29udGVudCgpLT5zaXplKCkpOworICAgICAgICAgICAgcmVjZWl2ZWREYXRh
KG1fc3Vic3RpdHV0ZURhdGEuY29udGVudCgpLT5kYXRhKCksIG1fc3Vic3RpdHV0ZURhdGEuY29u
dGVudCgpLT5zaXplKCkpOwogICAgICAgICBpZiAoaXNMb2FkaW5nTWFpblJlc291cmNlKCkpCiAg
ICAgICAgICAgICBmaW5pc2hlZExvYWRpbmcoMCk7CiAgICAgfQpAQCAtNzkxLDcgKzc1OCw4IEBA
IHZvaWQgRG9jdW1lbnRMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpMb2FkZXIpOwogICAgIGluZm8u
YWRkTWVtYmVyKG1fZnJhbWUsICJmcmFtZSIpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fY2FjaGVk
UmVzb3VyY2VMb2FkZXIsICJjYWNoZWRSZXNvdXJjZUxvYWRlciIpOwotICAgIGluZm8uYWRkTWVt
YmVyKG1fbWFpblJlc291cmNlLCAibWFpblJlc291cmNlIik7CisgICAgaW5mby5hZGRNZW1iZXIo
bV9tYWluUmVzb3VyY2VMb2FkZXIsICJtYWluUmVzb3VyY2VMb2FkZXIiKTsKKyAgICBpbmZvLmFk
ZE1lbWJlcihtX21haW5SZXNvdXJjZURhdGEsICJtYWluUmVzb3VyY2VEYXRhIik7CiAgICAgaW5m
by5hZGRNZW1iZXIobV9zdWJyZXNvdXJjZUxvYWRlcnMsICJzdWJyZXNvdXJjZUxvYWRlcnMiKTsK
ICAgICBpbmZvLmFkZE1lbWJlcihtX211bHRpcGFydFN1YnJlc291cmNlTG9hZGVycywgIm11bHRp
cGFydFN1YnJlc291cmNlTG9hZGVycyIpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fcGx1Z0luU3Ry
ZWFtTG9hZGVycywgInBsdWdJblN0cmVhbUxvYWRlcnMiKTsKQEAgLTgyMCwxMSArNzg4LDEwIEBA
IHZvaWQgRG9jdW1lbnRMb2FkZXI6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgaW5mby5hZGRNZW1iZXIobV9hcHBsaWNhdGlv
bkNhY2hlSG9zdCwgImFwcGxpY2F0aW9uQ2FjaGVIb3N0Iik7CiB9CiAKLXZvaWQgRG9jdW1lbnRM
b2FkZXI6OmRhdGFSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIGNvbnN0IGNoYXIq
IGRhdGEsIGludCBsZW5ndGgpCit2b2lkIERvY3VtZW50TG9hZGVyOjpyZWNlaXZlZERhdGEoY29u
c3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkKIHsKICAgICBBU1NFUlQoZGF0YSk7CiAgICAgQVNT
RVJUKGxlbmd0aCk7Ci0gICAgQVNTRVJUX1VOVVNFRChyZXNvdXJjZSwgcmVzb3VyY2UgPT0gbV9t
YWluUmVzb3VyY2UpOwogICAgIEFTU0VSVCghbV9yZXNwb25zZS5pc051bGwoKSk7CiAKICNpZiBV
U0UoQ0ZORVRXT1JLKSB8fCBQTEFURk9STShNQUMpCkBAIC05MzQsNyArOTAxLDEyIEBAIHZvaWQg
RG9jdW1lbnRMb2FkZXI6OmRldGFjaEZyb21GcmFtZSgpCiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6
OmNsZWFyTWFpblJlc291cmNlTG9hZGVyKCkKIHsKLSAgICBtX2xvYWRpbmdNYWluUmVzb3VyY2Ug
PSBmYWxzZTsKKyAgICBpZiAobV9tYWluUmVzb3VyY2VMb2FkZXIpIHsKKyAgICAgICAgbV9tYWlu
UmVzb3VyY2VEYXRhID0gbV9tYWluUmVzb3VyY2VMb2FkZXItPnJlc291cmNlRGF0YSgpOworICAg
ICAgICBtX21haW5SZXNvdXJjZUxvYWRlciA9IDA7CisgICAgfQorICAgIG1fbG9hZGluZ0VtcHR5
RG9jdW1lbnQgPSBmYWxzZTsKKwogICAgIGlmICh0aGlzID09IGZyYW1lTG9hZGVyKCktPmFjdGl2
ZURvY3VtZW50TG9hZGVyKCkpCiAgICAgICAgIGNoZWNrTG9hZENvbXBsZXRlKCk7CiB9CkBAIC0x
MjcxLDggKzEyNDMsOCBAQCBjb25zdCBLVVJMJiBEb2N1bWVudExvYWRlcjo6dW5yZWFjaGFibGVV
UkwoKSBjb25zdAogCiB2b2lkIERvY3VtZW50TG9hZGVyOjpzZXREZWZlcnNMb2FkaW5nKGJvb2wg
ZGVmZXJzKQogewotICAgIGlmIChtYWluUmVzb3VyY2VMb2FkZXIoKSkKLSAgICAgICAgbWFpblJl
c291cmNlTG9hZGVyKCktPnNldERlZmVyc0xvYWRpbmcoZGVmZXJzKTsKKyAgICBpZiAobV9tYWlu
UmVzb3VyY2VMb2FkZXIpCisgICAgICAgIG1fbWFpblJlc291cmNlTG9hZGVyLT5zZXREZWZlcnNM
b2FkaW5nKGRlZmVycyk7CiAgICAgc2V0QWxsRGVmZXJzTG9hZGluZyhtX3N1YnJlc291cmNlTG9h
ZGVycywgZGVmZXJzKTsKICAgICBzZXRBbGxEZWZlcnNMb2FkaW5nKG1fcGx1Z0luU3RyZWFtTG9h
ZGVycywgZGVmZXJzKTsKICAgICBpZiAoIWRlZmVycykKQEAgLTEyODEsOCArMTI1Myw4IEBAIHZv
aWQgRG9jdW1lbnRMb2FkZXI6OnNldERlZmVyc0xvYWRpbmcoYm9vbCBkZWZlcnMpCiAKIHZvaWQg
RG9jdW1lbnRMb2FkZXI6OnNldE1haW5SZXNvdXJjZURhdGFCdWZmZXJpbmdQb2xpY3koRGF0YUJ1
ZmZlcmluZ1BvbGljeSBkYXRhQnVmZmVyaW5nUG9saWN5KQogewotICAgIGlmIChtX21haW5SZXNv
dXJjZSkKLSAgICAgICAgbV9tYWluUmVzb3VyY2UtPnNldERhdGFCdWZmZXJpbmdQb2xpY3koZGF0
YUJ1ZmZlcmluZ1BvbGljeSk7CisgICAgaWYgKG1fbWFpblJlc291cmNlTG9hZGVyKQorICAgICAg
ICBtX21haW5SZXNvdXJjZUxvYWRlci0+c2V0RGF0YUJ1ZmZlcmluZ1BvbGljeShkYXRhQnVmZmVy
aW5nUG9saWN5KTsKIH0KIAogdm9pZCBEb2N1bWVudExvYWRlcjo6c3RvcExvYWRpbmdQbHVnSW5z
KCkKQEAgLTEyOTksMTMgKzEyNzEsMTMgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6YWRkU3VicmVz
b3VyY2VMb2FkZXIoUmVzb3VyY2VMb2FkZXIqIGxvYWRlcikKIHsKICAgICAvLyBUaGUgbWFpbiBy
ZXNvdXJjZSdzIHVuZGVybHlpbmcgUmVzb3VyY2VMb2FkZXIgd2lsbCBhc2sgdG8gYmUgYWRkZWQg
aGVyZS4KICAgICAvLyBJdCBpcyBtdWNoIHNpbXBsZXIgdG8gaGFuZGxlIHNwZWNpYWwgY2FzaW5n
IG9mIG1haW4gcmVzb3VyY2UgbG9hZHMgaWYgd2UgZG9uJ3QKLSAgICAvLyBsZXQgaXQgYmUgYWRk
ZWQuIEluIHRoZSBtYWluIHJlc291cmNlIGxvYWQgY2FzZSwgbWFpblJlc291cmNlTG9hZGVyKCkK
KyAgICAvLyBsZXQgaXQgYmUgYWRkZWQuIEluIHRoZSBtYWluIHJlc291cmNlIGxvYWQgY2FzZSwg
bV9tYWluUmVzb3VyY2VMb2FkZXItPmxvYWRlcigpCiAgICAgLy8gd2lsbCBzdGlsbCBiZSBudWxs
IGF0IHRoaXMgcG9pbnQsIGJ1dCBtX2dvdEZpcnN0Qnl0ZSBzaG91bGQgYmUgZmFsc2UgaGVyZSBp
ZiBhbmQgb25seQogICAgIC8vIGlmIHdlIGFyZSBqdXN0IHN0YXJ0aW5nIHRoZSBtYWluIHJlc291
cmNlIGxvYWQuCiAgICAgaWYgKCFtX2dvdEZpcnN0Qnl0ZSkKICAgICAgICAgcmV0dXJuOwogICAg
IEFTU0VSVCghbV9zdWJyZXNvdXJjZUxvYWRlcnMuY29udGFpbnMobG9hZGVyKSk7Ci0gICAgQVNT
RVJUKCFtYWluUmVzb3VyY2VMb2FkZXIoKSB8fCBtYWluUmVzb3VyY2VMb2FkZXIoKSAhPSBsb2Fk
ZXIpOworICAgIEFTU0VSVCghbV9tYWluUmVzb3VyY2VMb2FkZXIgfHwgbV9tYWluUmVzb3VyY2VM
b2FkZXItPmxvYWRlcigpICE9IGxvYWRlcik7CiAgICAgbV9zdWJyZXNvdXJjZUxvYWRlcnMuYWRk
KGxvYWRlcik7CiB9CiAKQEAgLTEzMzAsNiArMTMwMiwxMSBAQCB2b2lkIERvY3VtZW50TG9hZGVy
OjpyZW1vdmVQbHVnSW5TdHJlYW1Mb2FkZXIoUmVzb3VyY2VMb2FkZXIqIGxvYWRlcikKICAgICBj
aGVja0xvYWRDb21wbGV0ZSgpOwogfQogCitib29sIERvY3VtZW50TG9hZGVyOjppc0xvYWRpbmdN
YWluUmVzb3VyY2UoKSBjb25zdAoreworICAgIHJldHVybiAhIW1fbWFpblJlc291cmNlTG9hZGVy
IHx8IG1fbG9hZGluZ0VtcHR5RG9jdW1lbnQ7Cit9CisKIGJvb2wgRG9jdW1lbnRMb2FkZXI6Omlz
TXVsdGlwYXJ0UmVwbGFjaW5nTG9hZCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzTG9hZGluZ011
bHRpcGFydENvbnRlbnQoKSAmJiBmcmFtZUxvYWRlcigpLT5pc1JlcGxhY2luZygpOwpAQCAtMTM0
MSw2ICsxMzE4LDcgQEAgYm9vbCBEb2N1bWVudExvYWRlcjo6bWF5YmVMb2FkRW1wdHkoKQogICAg
IGlmICghc2hvdWxkTG9hZEVtcHR5ICYmICFmcmFtZUxvYWRlcigpLT5jbGllbnQoKS0+cmVwcmVz
ZW50YXRpb25FeGlzdHNGb3JVUkxTY2hlbWUobV9yZXF1ZXN0LnVybCgpLnByb3RvY29sKCkpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBtX2xvYWRpbmdFbXB0eURvY3VtZW50ID0gdHJ1
ZTsKICAgICBpZiAobV9yZXF1ZXN0LnVybCgpLmlzRW1wdHkoKSAmJiAhZnJhbWVMb2FkZXIoKS0+
c3RhdGVNYWNoaW5lKCktPmNyZWF0aW5nSW5pdGlhbEVtcHR5RG9jdW1lbnQoKSkKICAgICAgICAg
bV9yZXF1ZXN0LnNldFVSTChibGFua1VSTCgpKTsKICAgICBTdHJpbmcgbWltZVR5cGUgPSBzaG91
bGRMb2FkRW1wdHkgPyAidGV4dC9odG1sIiA6IGZyYW1lTG9hZGVyKCktPmNsaWVudCgpLT5nZW5l
cmF0ZWRNSU1FVHlwZUZvclVSTFNjaGVtZShtX3JlcXVlc3QudXJsKCkucHJvdG9jb2woKSk7CkBA
IC0xMzUzLDEzICsxMzMxLDEzIEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnN0YXJ0TG9hZGluZ01h
aW5SZXNvdXJjZSgpCiB7CiAgICAgbV9tYWluRG9jdW1lbnRFcnJvciA9IFJlc291cmNlRXJyb3Io
KTsKICAgICB0aW1pbmcoKS0+bWFya05hdmlnYXRpb25TdGFydCgpOwotICAgIEFTU0VSVCghbV9t
YWluUmVzb3VyY2UpOwotICAgIEFTU0VSVCghbV9sb2FkaW5nTWFpblJlc291cmNlKTsKLSAgICBt
X2xvYWRpbmdNYWluUmVzb3VyY2UgPSB0cnVlOworICAgIEFTU0VSVCghbV9tYWluUmVzb3VyY2VM
b2FkZXIpOwogCiAgICAgaWYgKG1heWJlTG9hZEVtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAor
ICAgIG1fbWFpblJlc291cmNlTG9hZGVyID0gTWFpblJlc291cmNlTG9hZGVyOjpjcmVhdGUodGhp
cyk7CisKICAgICAvLyBGSVhNRTogSXMgdGhlcmUgYW55IHdheSB0aGUgZXh0cmEgZmllbGRzIGNv
dWxkIGhhdmUgbm90IGJlZW4gYWRkZWQgYnkgbm93PwogICAgIC8vIElmIG5vdCwgaXQgd291bGQg
YmUgZ3JlYXQgdG8gcmVtb3ZlIHRoaXMgbGluZSBvZiBjb2RlLgogICAgIC8vIE5vdGUgdGhhdCBj
dXJyZW50bHksIHNvbWUgcmVxdWVzdHMgbWF5IGhhdmUgaW5jb3JyZWN0IGV4dHJhIGZpZWxkcyBl
dmVuIGlmIHRoaXMgZnVuY3Rpb24gaGFzIGJlZW4gY2FsbGVkLApAQCAtMTM4NiwxMiArMTM2NCwx
MCBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpzdGFydExvYWRpbmdNYWluUmVzb3VyY2UoKQogICAg
IH0KIAogICAgIFJlc291cmNlUmVxdWVzdCByZXF1ZXN0KG1fcmVxdWVzdCk7Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChSZXNvdXJjZUxvYWRlck9wdGlvbnMsIG1haW5SZXNvdXJjZUxvYWRPcHRp
b25zLAotICAgICAgICAoU2VuZENhbGxiYWNrcywgU25pZmZDb250ZW50LCBCdWZmZXJEYXRhLCBB
bGxvd1N0b3JlZENyZWRlbnRpYWxzLCBBc2tDbGllbnRGb3JDcm9zc09yaWdpbkNyZWRlbnRpYWxz
LCBTa2lwU2VjdXJpdHlDaGVjaykpOwotICAgIENhY2hlZFJlc291cmNlUmVxdWVzdCBjYWNoZWRS
ZXNvdXJjZVJlcXVlc3QocmVxdWVzdCwgbWFpblJlc291cmNlTG9hZE9wdGlvbnMpOwotICAgIG1f
bWFpblJlc291cmNlID0gbV9jYWNoZWRSZXNvdXJjZUxvYWRlci0+cmVxdWVzdE1haW5SZXNvdXJj
ZShjYWNoZWRSZXNvdXJjZVJlcXVlc3QpOwotICAgIGlmICghbV9tYWluUmVzb3VyY2UpIHsKLSAg
ICAgICAgc2V0UmVxdWVzdChSZXNvdXJjZVJlcXVlc3QoKSk7CisgICAgbV9tYWluUmVzb3VyY2VM
b2FkZXItPmxvYWQobV9yZXF1ZXN0KTsKKworICAgIGlmIChtX3JlcXVlc3QuaXNOdWxsKCkpIHsK
KyAgICAgICAgbV9tYWluUmVzb3VyY2VMb2FkZXIgPSAwOwogICAgICAgICAvLyBJZiB0aGUgbG9h
ZCB3YXMgYWJvcnRlZCBieSBjbGVhcmluZyBtX3JlcXVlc3QsIGl0J3MgcG9zc2libGUgdGhlIEFw
cGxpY2F0aW9uQ2FjaGVIb3N0CiAgICAgICAgIC8vIGlzIG5vdyBpbiBhIHN0YXRlIHdoZXJlIHN0
YXJ0aW5nIGFuIGVtcHR5IGxvYWQgd2lsbCBiZSBpbmNvbnNpc3RlbnQuIFJlcGxhY2UgaXQgd2l0
aAogICAgICAgICAvLyBhIG5ldyBBcHBsaWNhdGlvbkNhY2hlSG9zdC4KQEAgLTE0MDUsNyArMTM4
MSw2IEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnN0YXJ0TG9hZGluZ01haW5SZXNvdXJjZSgpCiAg
ICAgICAgIGZyYW1lTG9hZGVyKCktPm5vdGlmaWVyKCktPmFzc2lnbklkZW50aWZpZXJUb0luaXRp
YWxSZXF1ZXN0KG1faWRlbnRpZmllckZvckxvYWRXaXRob3V0UmVzb3VyY2VMb2FkZXIsIHRoaXMs
IHJlcXVlc3QpOwogICAgICAgICBmcmFtZUxvYWRlcigpLT5ub3RpZmllcigpLT5kaXNwYXRjaFdp
bGxTZW5kUmVxdWVzdCh0aGlzLCBtX2lkZW50aWZpZXJGb3JMb2FkV2l0aG91dFJlc291cmNlTG9h
ZGVyLCByZXF1ZXN0LCBSZXNvdXJjZVJlc3BvbnNlKCkpOwogICAgIH0KLSAgICBtX21haW5SZXNv
dXJjZS0+YWRkQ2xpZW50KHRoaXMpOwogCiAgICAgLy8gQSBidW5jaCBvZiBoZWFkZXJzIGFyZSBz
ZXQgd2hlbiB0aGUgdW5kZXJseWluZyBSZXNvdXJjZUxvYWRlciBpcyBjcmVhdGVkLCBhbmQgbV9y
ZXF1ZXN0IG5lZWRzIHRvIGluY2x1ZGUgdGhvc2UuCiAgICAgaWYgKG1haW5SZXNvdXJjZUxvYWRl
cigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaAppbmRleCBlOGE5OTI0OTNk
MDM2ZTE4MTNlY2ExZjM5YWNiYzU0ZGJhZTE5ZjA0Li5jODA5MzBkYWRmY2RlZDBkNTQxZjkzMzkx
ZGRmMDNkZjFhZGRlYmNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuaApA
QCAtMzAsOCArMzAsNiBAQAogI2lmbmRlZiBEb2N1bWVudExvYWRlcl9oCiAjZGVmaW5lIERvY3Vt
ZW50TG9hZGVyX2gKIAotI2luY2x1ZGUgIkNhY2hlZFJhd1Jlc291cmNlLmgiCi0jaW5jbHVkZSAi
Q2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRUaW1pbmcuaCIK
ICNpbmNsdWRlICJEb2N1bWVudFdyaXRlci5oIgogI2luY2x1ZGUgIkljb25EYXRhYmFzZUJhc2Uu
aCIKQEAgLTY3LDYgKzY1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEZvcm1T
dGF0ZTsKICAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBGcmFtZUxvYWRlcjsKKyAgICBjbGFz
cyBNYWluUmVzb3VyY2VMb2FkZXI7CiAgICAgY2xhc3MgUGFnZTsKICAgICBjbGFzcyBSZXNvdXJj
ZUJ1ZmZlcjsKICAgICBjbGFzcyBSZXNvdXJjZUxvYWRlcjsKQEAgLTc2LDggKzc1LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIHR5cGVkZWYgSGFzaFNldDxSZWZQdHI8UmVzb3VyY2VMb2Fk
ZXI+ID4gUmVzb3VyY2VMb2FkZXJTZXQ7CiAgICAgdHlwZWRlZiBWZWN0b3I8UmVzb3VyY2VSZXNw
b25zZT4gUmVzcG9uc2VWZWN0b3I7CiAKLSAgICBjbGFzcyBEb2N1bWVudExvYWRlciA6IHB1Ymxp
YyBSZWZDb3VudGVkPERvY3VtZW50TG9hZGVyPiwgcHJpdmF0ZSBDYWNoZWRSYXdSZXNvdXJjZUNs
aWVudCB7Ci0gICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworICAgIGNsYXNzIERvY3Vt
ZW50TG9hZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8RG9jdW1lbnRMb2FkZXI+IHsKICAgICBwdWJs
aWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50TG9hZGVyPiBjcmVhdGUoY29u
c3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBTdWJzdGl0dXRlRGF0YSYgZGF0YSkK
ICAgICAgICAgewpAQCAtMjE2LDggKzIxNCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdm9pZCBjb250aW51ZUljb25Mb2FkV2l0aERlY2lzaW9uKEljb25Mb2FkRGVjaXNpb24pOwog
ICAgICAgICB2b2lkIGdldEljb25Mb2FkRGVjaXNpb25Gb3JJY29uVVJMKGNvbnN0IFN0cmluZyYp
OwogICAgICAgICB2b2lkIGdldEljb25EYXRhRm9ySWNvblVSTChjb25zdCBTdHJpbmcmKTsKLQot
ICAgICAgICBib29sIGlzTG9hZGluZ01haW5SZXNvdXJjZSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9h
ZGluZ01haW5SZXNvdXJjZTsgfQorICAgICAgICAKKyAgICAgICAgYm9vbCBpc0xvYWRpbmdNYWlu
UmVzb3VyY2UoKSBjb25zdDsKICAgICAgICAgYm9vbCBpc0xvYWRpbmdNdWx0aXBhcnRDb250ZW50
KCkgY29uc3QgeyByZXR1cm4gbV9pc0xvYWRpbmdNdWx0aXBhcnRDb250ZW50OyB9CiAKICAgICAg
ICAgdm9pZCBzdG9wTG9hZGluZ1BsdWdJbnMoKTsKQEAgLTI2NCw2ICsyNjIsOSBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKikgY29uc3Q7CiAgICAgICAgIHZvaWQgY2hlY2tMb2FkQ29tcGxldGUoKTsK
IAorICAgICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgcHJpdmF0ZSBvbmNlIERvY3VtZW50
TG9hZGVyIGFuZCBNYWluUmVzb3VyY2VMb2FkZXIgYXJlIG1lcmdlZC4KKyAgICAgICAgdm9pZCB3
aWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYp
OworCiAgICAgcHJvdGVjdGVkOgogICAgICAgICBEb2N1bWVudExvYWRlcihjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBjb25zdCBTdWJzdGl0dXRlRGF0YSYpOwogCkBAIC0yODAsMTIgKzI4MSw2IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBjbGVhckFyY2hpdmVSZXNvdXJjZXMo
KTsKICNlbmRpZgogCi0gICAgICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlUmVxdWVz
dCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHJlZGly
ZWN0UmVjZWl2ZWQoQ2FjaGVkUmVzb3VyY2UqLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJikgT1ZFUlJJREU7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCByZXNwb25zZVJl
Y2VpdmVkKENhY2hlZFJlc291cmNlKiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpIE9WRVJSSURF
OwotICAgICAgICB2aXJ0dWFsIHZvaWQgZGF0YVJlY2VpdmVkKENhY2hlZFJlc291cmNlKiwgY29u
c3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkgT1ZFUlJJREU7Ci0gICAgICAgIHZpcnR1YWwgdm9p
ZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSopIE9WRVJSSURFOwotCiAgICAgICAgIGJv
b2wgbWF5YmVMb2FkRW1wdHkoKTsKIAogICAgICAgICBib29sIGlzTXVsdGlwYXJ0UmVwbGFjaW5n
TG9hZCgpIGNvbnN0OwpAQCAtMzE1LDEwICszMTAsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBGcmFtZSogbV9mcmFtZTsKICAgICAgICAgUmVmUHRyPENhY2hlZFJlc291cmNlTG9h
ZGVyPiBtX2NhY2hlZFJlc291cmNlTG9hZGVyOwogCi0gICAgICAgIENhY2hlZFJlc291cmNlSGFu
ZGxlPENhY2hlZFJhd1Jlc291cmNlPiBtX21haW5SZXNvdXJjZTsKKyAgICAgICAgUmVmUHRyPE1h
aW5SZXNvdXJjZUxvYWRlcj4gbV9tYWluUmVzb3VyY2VMb2FkZXI7CiAgICAgICAgIFJlc291cmNl
TG9hZGVyU2V0IG1fc3VicmVzb3VyY2VMb2FkZXJzOwogICAgICAgICBSZXNvdXJjZUxvYWRlclNl
dCBtX211bHRpcGFydFN1YnJlc291cmNlTG9hZGVyczsKICAgICAgICAgUmVzb3VyY2VMb2FkZXJT
ZXQgbV9wbHVnSW5TdHJlYW1Mb2FkZXJzOworCisgICAgICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZl
cj4gbV9tYWluUmVzb3VyY2VEYXRhOwogICAgICAgICAKICAgICAgICAgbXV0YWJsZSBEb2N1bWVu
dFdyaXRlciBtX3dyaXRlcjsKIApAQCAtMzQ4LDYgKzM0NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgYm9vbCBtX2dvdEZpcnN0Qnl0ZTsKICAgICAgICAgYm9vbCBtX2lzQ2xpZW50
UmVkaXJlY3Q7CiAgICAgICAgIGJvb2wgbV9pc0xvYWRpbmdNdWx0aXBhcnRDb250ZW50OworICAg
ICAgICBib29sIG1fbG9hZGluZ0VtcHR5RG9jdW1lbnQ7CiAKICAgICAgICAgLy8gRklYTUU6IERv
Y3VtZW50OjptX3Byb2Nlc3NpbmdMb2FkRXZlbnQgYW5kIERvY3VtZW50TG9hZGVyOjptX3dhc09u
bG9hZEhhbmRsZWQgYXJlIHJvdWdobHkgdGhlIHNhbWUKICAgICAgICAgLy8gYW5kIHNob3VsZCBi
ZSBtZXJnZWQuCkBAIC0zODcsNyArMzg1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBTdHJpbmcgbV9jbGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3Rvcnk7CiAgICAgICAgIGJvb2wg
bV9kaWRDcmVhdGVHbG9iYWxIaXN0b3J5RW50cnk7CiAKLSAgICAgICAgYm9vbCBtX2xvYWRpbmdN
YWluUmVzb3VyY2U7CiAgICAgICAgIERvY3VtZW50TG9hZFRpbWluZyBtX2RvY3VtZW50TG9hZFRp
bWluZzsKIAogICAgICAgICBkb3VibGUgbV90aW1lT2ZMYXN0RGF0YVJlY2VpdmVkOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTU4
ZTQyYTZiMzBmMGQzYWE2YjQ2YThiYWJhMTU5NWNhZTBkYzU0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL01haW5SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTAsMCArMSwx
OTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDkgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4IFRvcmNoIE1v
YmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRvcmNobW9iaWxlLmNv
bS8pCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxl
IENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4gCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQK
KyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1haW5SZXNvdXJjZUxvYWRlci5o
IgorCisjaW5jbHVkZSAiQXBwbGljYXRpb25DYWNoZUhvc3QuaCIKKyNpbmNsdWRlICJCYWNrRm9y
d2FyZENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJjZS5oIgorI2luY2x1
ZGUgIkNhY2hlZFJlc291cmNlTG9hZGVyLmgiCisjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VSZXF1
ZXN0LmgiCisjaW5jbHVkZSAiQ29uc29sZS5oIgorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRG9jdW1lbnRMb2FkVGltaW5nLmgiCisjaW5j
bHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKKyNpbmNsdWRlICJGZWF0dXJlT2JzZXJ2ZXIuaCIKKyNp
bmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCisjaW5jbHVkZSAiRnJh
bWVMb2FkZXJDbGllbnQuaCIKKyNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKKyNpbmNsdWRl
ICJIaXN0b3J5SXRlbS5oIgorI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgor
I2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBy
b2dyZXNzVHJhY2tlci5oIgorI2luY2x1ZGUgIlJlc291cmNlQnVmZmVyLmgiCisjaW5jbHVkZSAi
UmVzb3VyY2VFcnJvci5oIgorI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAi
U2NoZW1lUmVnaXN0cnkuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorI2luY2x1ZGUg
IlNldHRpbmdzLmgiCisjaW5jbHVkZSAiU3VicmVzb3VyY2VMb2FkZXIuaCIKKyNpbmNsdWRlIDx3
dGYvQ3VycmVudFRpbWUuaD4KKworI2lmIFBMQVRGT1JNKFFUKQorI2luY2x1ZGUgIlBsdWdpbkRh
dGFiYXNlLmgiCisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNYWluUmVzb3VyY2VM
b2FkZXI6Ok1haW5SZXNvdXJjZUxvYWRlcihEb2N1bWVudExvYWRlciogZG9jdW1lbnRMb2FkZXIp
CisgICAgOiBtX2RvY3VtZW50TG9hZGVyKGRvY3VtZW50TG9hZGVyKQoreworfQorCitNYWluUmVz
b3VyY2VMb2FkZXI6On5NYWluUmVzb3VyY2VMb2FkZXIoKQoreworICAgIGNsZWFyUmVzb3VyY2Uo
KTsKK30KKworUGFzc1JlZlB0cjxNYWluUmVzb3VyY2VMb2FkZXI+IE1haW5SZXNvdXJjZUxvYWRl
cjo6Y3JlYXRlKERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRlcikKK3sKKyAgICByZXR1cm4g
YWRvcHRSZWYobmV3IE1haW5SZXNvdXJjZUxvYWRlcihkb2N1bWVudExvYWRlcikpOworfQorCit2
b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6Y2xlYXJSZXNvdXJjZSgpCit7CisgICAgaWYgKG1fcmVz
b3VyY2UpIHsKKyAgICAgICAgbV9yZXNvdXJjZS0+cmVtb3ZlQ2xpZW50KHRoaXMpOworICAgICAg
ICBtX3Jlc291cmNlID0gMDsKKyAgICB9Cit9CisKK0ZyYW1lTG9hZGVyKiBNYWluUmVzb3VyY2VM
b2FkZXI6OmZyYW1lTG9hZGVyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9kb2N1bWVudExvYWRl
ci0+ZnJhbWVMb2FkZXIoKTsKK30KKworY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBNYWluUmVzb3Vy
Y2VMb2FkZXI6OnJlcXVlc3QoKSBjb25zdAoreworICAgIHJldHVybiBtX3Jlc291cmNlID8gbV9y
ZXNvdXJjZS0+cmVzb3VyY2VSZXF1ZXN0KCkgOiBtX2luaXRpYWxSZXF1ZXN0OworfQorCitQYXNz
UmVmUHRyPFJlc291cmNlQnVmZmVyPiBNYWluUmVzb3VyY2VMb2FkZXI6OnJlc291cmNlRGF0YSgp
Cit7CisgICAgaWYgKG1fcmVzb3VyY2UpCisgICAgICAgIHJldHVybiBtX3Jlc291cmNlLT5yZXNv
dXJjZUJ1ZmZlcigpOworICAgIHJldHVybiAwOworfQorCit2b2lkIE1haW5SZXNvdXJjZUxvYWRl
cjo6cmVkaXJlY3RSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSogcmVzb3VyY2UsIFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSkK
K3sKKyAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNlLCByZXNvdXJjZSA9PSBtX3Jlc291cmNlKTsK
KyAgICBtX2RvY3VtZW50TG9hZGVyLT53aWxsU2VuZFJlcXVlc3QocmVxdWVzdCwgcmVkaXJlY3RS
ZXNwb25zZSk7Cit9CisKK3ZvaWQgTWFpblJlc291cmNlTG9hZGVyOjpyZXNwb25zZVJlY2VpdmVk
KENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcikKK3sK
KyAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNlLCBtX3Jlc291cmNlID09IHJlc291cmNlKTsKKyAg
ICBtX2RvY3VtZW50TG9hZGVyLT5yZXNwb25zZVJlY2VpdmVkKHIpOworfQorCit2b2lkIE1haW5S
ZXNvdXJjZUxvYWRlcjo6ZGF0YVJlY2VpdmVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgY29u
c3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkKK3sKKyAgICBBU1NFUlRfVU5VU0VEKHJlc291cmNl
LCByZXNvdXJjZSA9PSBtX3Jlc291cmNlKTsKKyAgICBkb2N1bWVudExvYWRlcigpLT5yZWNlaXZl
ZERhdGEoZGF0YSwgbGVuZ3RoKTsKK30KKwordm9pZCBNYWluUmVzb3VyY2VMb2FkZXI6Om5vdGlm
eUZpbmlzaGVkKENhY2hlZFJlc291cmNlKiByZXNvdXJjZSkKK3sKKyAgICBBU1NFUlRfVU5VU0VE
KHJlc291cmNlLCBtX3Jlc291cmNlID09IHJlc291cmNlKTsKKyAgICBBU1NFUlQobV9yZXNvdXJj
ZSk7CisgICAgaWYgKCFtX3Jlc291cmNlLT5lcnJvck9jY3VycmVkKCkgJiYgIW1fcmVzb3VyY2Ut
Pndhc0NhbmNlbGVkKCkpIHsKKyAgICAgICAgZG9jdW1lbnRMb2FkZXIoKS0+ZmluaXNoZWRMb2Fk
aW5nKG1fcmVzb3VyY2UtPmxvYWRGaW5pc2hUaW1lKCkpOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgLy8gRklYTUU6IHdlIHNob3VsZCBmaXggdGhlIGRlc2lnbiB0byBlbGltaW5hdGUg
dGhlIG5lZWQgZm9yIGEgcGxhdGZvcm0gaWZkZWYgaGVyZQorI2lmICFQTEFURk9STShDSFJPTUlV
TSkKKyAgICBpZiAobV9kb2N1bWVudExvYWRlci0+cmVxdWVzdCgpLmNhY2hlUG9saWN5KCkgPT0g
UmV0dXJuQ2FjaGVEYXRhRG9udExvYWQgJiYgIW1fcmVzb3VyY2UtPndhc0NhbmNlbGVkKCkpIHsK
KyAgICAgICAgZnJhbWVMb2FkZXIoKS0+cmV0cnlBZnRlckZhaWxlZENhY2hlT25seU1haW5SZXNv
dXJjZUxvYWQoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorICAgIG1fZG9jdW1l
bnRMb2FkZXItPm1haW5SZWNlaXZlZEVycm9yKG1fcmVzb3VyY2UtPnJlc291cmNlRXJyb3IoKSk7
Cit9CisKK3ZvaWQgTWFpblJlc291cmNlTG9hZGVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNsYXNzSW5m
byBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6TG9hZGVy
KTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3Jlc291cmNlLCAicmVzb3VyY2UiKTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX2luaXRpYWxSZXF1ZXN0LCAiaW5pdGlhbFJlcXVlc3QiKTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX2RvY3VtZW50TG9hZGVyLCAiZG9jdW1lbnRMb2FkZXIiKTsKK30KKwordm9p
ZCBNYWluUmVzb3VyY2VMb2FkZXI6OmxvYWQoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBpbml0aWFs
UmVxdWVzdCkKK3sKKyAgICBSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdChpbml0aWFsUmVxdWVzdCk7
CisKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFJlc291cmNlTG9hZGVyT3B0aW9ucywgbWFpblJl
c291cmNlTG9hZE9wdGlvbnMsCisgICAgICAgIChTZW5kQ2FsbGJhY2tzLCBTbmlmZkNvbnRlbnQs
IEJ1ZmZlckRhdGEsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIEFza0NsaWVudEZvckNyb3NzT3Jp
Z2luQ3JlZGVudGlhbHMsIFNraXBTZWN1cml0eUNoZWNrKSk7CisgICAgQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0IGNhY2hlZFJlc291cmNlUmVxdWVzdChyZXF1ZXN0LCBtYWluUmVzb3VyY2VMb2FkT3B0
aW9ucyk7CisgICAgbV9yZXNvdXJjZSA9IGRvY3VtZW50TG9hZGVyKCktPmNhY2hlZFJlc291cmNl
TG9hZGVyKCktPnJlcXVlc3RNYWluUmVzb3VyY2UoY2FjaGVkUmVzb3VyY2VSZXF1ZXN0KTsKKyAg
ICBpZiAoIW1fcmVzb3VyY2UpIHsKKyAgICAgICAgZG9jdW1lbnRMb2FkZXIoKS0+c2V0UmVxdWVz
dChSZXNvdXJjZVJlcXVlc3QoKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgbV9yZXNv
dXJjZS0+YWRkQ2xpZW50KHRoaXMpOworfQorCit2b2lkIE1haW5SZXNvdXJjZUxvYWRlcjo6c2V0
RGVmZXJzTG9hZGluZyhib29sIGRlZmVycykKK3sKKyAgICBpZiAobG9hZGVyKCkpCisgICAgICAg
IGxvYWRlcigpLT5zZXREZWZlcnNMb2FkaW5nKGRlZmVycyk7Cit9CisKK2Jvb2wgTWFpblJlc291
cmNlTG9hZGVyOjpkZWZlcnNMb2FkaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbG9hZGVyKCkg
PyBsb2FkZXIoKS0+ZGVmZXJzTG9hZGluZygpIDogZmFsc2U7Cit9CisKK3ZvaWQgTWFpblJlc291
cmNlTG9hZGVyOjpzZXREYXRhQnVmZmVyaW5nUG9saWN5KERhdGFCdWZmZXJpbmdQb2xpY3kgZGF0
YUJ1ZmZlcmluZ1BvbGljeSkKK3sKKyAgICBpZiAobV9yZXNvdXJjZSkKKyAgICAgICAgbV9yZXNv
dXJjZS0+c2V0RGF0YUJ1ZmZlcmluZ1BvbGljeShkYXRhQnVmZmVyaW5nUG9saWN5KTsKK30KKwor
UmVzb3VyY2VMb2FkZXIqIE1haW5SZXNvdXJjZUxvYWRlcjo6bG9hZGVyKCkgY29uc3QKK3sgCisg
ICAgcmV0dXJuIG1fcmVzb3VyY2UgPyBtX3Jlc291cmNlLT5sb2FkZXIoKSA6IDA7Cit9CisKK3Vu
c2lnbmVkIGxvbmcgTWFpblJlc291cmNlTG9hZGVyOjppZGVudGlmaWVyKCkgY29uc3QKK3sKKyAg
ICBpZiAoUmVzb3VyY2VMb2FkZXIqIHJlc291cmNlTG9hZGVyID0gbG9hZGVyKCkpCisgICAgICAg
IHJldHVybiByZXNvdXJjZUxvYWRlci0+aWRlbnRpZmllcigpOworICAgIHJldHVybiAwOworfQor
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTWFpblJlc291cmNlTG9hZGVyLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uYzAxNDA0NzBmZGI3NWY3MWEwOWRjNDQyZmYwZTM4YTc3YTI1OWM2YgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9NYWluUmVzb3VyY2VMb2FkZXIuaApAQCAtMCww
ICsxLDg4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorICogMy4gIE5laXRo
ZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFt
ZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAq
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE1haW5SZXNvdXJjZUxvYWRlcl9oCisj
ZGVmaW5lIE1haW5SZXNvdXJjZUxvYWRlcl9oCisKKyNpbmNsdWRlICJDYWNoZWRSYXdSZXNvdXJj
ZS5oIgorI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCisjaW5jbHVkZSAiRnJhbWVM
b2FkZXJUeXBlcy5oIgorI2luY2x1ZGUgIlJlc291cmNlTG9hZGVyLmgiCisjaW5jbHVkZSAiU3Vi
c3RpdHV0ZURhdGEuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFJlc291cmNlUmVxdWVzdDsKKworY2xhc3MgTWFpblJlc291cmNlTG9h
ZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8TWFpblJlc291cmNlTG9hZGVyPiwgcHVibGljIENhY2hl
ZFJhd1Jlc291cmNlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNYWluUmVzb3VyY2VMb2FkZXI+IGNyZWF0ZShEb2N1
bWVudExvYWRlciopOworICAgIHZpcnR1YWwgfk1haW5SZXNvdXJjZUxvYWRlcigpOworCisgICAg
dm9pZCBsb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOworICAgIFJlc291cmNlTG9hZGVyKiBs
b2FkZXIoKSBjb25zdDsKKyAgICBQYXNzUmVmUHRyPFJlc291cmNlQnVmZmVyPiByZXNvdXJjZURh
dGEoKTsKKworICAgIHZvaWQgc2V0RGVmZXJzTG9hZGluZyhib29sKTsKKyAgICB2b2lkIHNldERh
dGFCdWZmZXJpbmdQb2xpY3koRGF0YUJ1ZmZlcmluZ1BvbGljeSk7CisKKyAgICBDYWNoZWRSYXdS
ZXNvdXJjZSogY2FjaGVkTWFpblJlc291cmNlKCkgeyByZXR1cm4gbV9yZXNvdXJjZS5nZXQoKTsg
fQorCisgICAgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKCkgY29uc3Q7CisKKyAgICB2b2lkIHJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKKworICAgIHZvaWQgY2xl
YXJSZXNvdXJjZSgpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IE1haW5SZXNvdXJjZUxvYWRl
cihEb2N1bWVudExvYWRlciopOworCisgICAgdmlydHVhbCB2b2lkIHJlZGlyZWN0UmVjZWl2ZWQo
Q2FjaGVkUmVzb3VyY2UqLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVkUmVz
b3VyY2UqLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2
b2lkIGRhdGFSZWNlaXZlZChDYWNoZWRSZXNvdXJjZSosIGNvbnN0IGNoYXIqIGRhdGEsIGludCBk
YXRhTGVuZ3RoKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RmluaXNoZWQoQ2Fj
aGVkUmVzb3VyY2UqKSBPVkVSUklERTsKKworICAgIEZyYW1lTG9hZGVyKiBmcmFtZUxvYWRlcigp
IGNvbnN0OworICAgIERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRlcigpIGNvbnN0IHsgcmV0
dXJuIG1fZG9jdW1lbnRMb2FkZXIuZ2V0KCk7IH0KKworICAgIGNvbnN0IFJlc291cmNlUmVxdWVz
dCYgcmVxdWVzdCgpIGNvbnN0OworCisgICAgYm9vbCBkZWZlcnNMb2FkaW5nKCkgY29uc3Q7CisK
KyAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4gbV9yZXNvdXJjZTsK
KworICAgIFJlc291cmNlUmVxdWVzdCBtX2luaXRpYWxSZXF1ZXN0OworCisgICAgUmVmUHRyPERv
Y3VtZW50TG9hZGVyPiBtX2RvY3VtZW50TG9hZGVyOworfTsKKworfQorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9tYWMvRG9jdW1lbnRMb2FkZXJNYWMuY3BwIGIv
U291cmNlL1dlYkNvcmUvbG9hZGVyL21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHAKaW5kZXggODg1
MGYxZTc1MjRlN2E3NDg4MzRhYTVjZGEwY2U5MWI4ZWYyNjI2ZC4uMGI1M2IzNjZiMThiMjRiZTQ0
MTdmYjc3NDQ1NDhjNmYzYzVjOGVjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L21hYy9Eb2N1bWVudExvYWRlck1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL21h
Yy9Eb2N1bWVudExvYWRlck1hYy5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgImNv
bmZpZy5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCisjaW5jbHVkZSAiTWFpblJlc291
cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJSZXNv
dXJjZUxvYWRlci5oIgogI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgpAQCAtNTQsOCArNTUs
OCBAQCBzdGF0aWMgdm9pZCB1bnNjaGVkdWxlQWxsKGNvbnN0IFJlc291cmNlTG9hZGVyU2V0JiBs
b2FkZXJzLCBTY2hlZHVsZVBhaXIqIHBhaXIpCiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnNjaGVk
dWxlKFNjaGVkdWxlUGFpciogcGFpcikKIHsKLSAgICBpZiAobWFpblJlc291cmNlTG9hZGVyKCkg
JiYgbWFpblJlc291cmNlTG9hZGVyKCktPmhhbmRsZSgpKQotICAgICAgICBtYWluUmVzb3VyY2VM
b2FkZXIoKS0+aGFuZGxlKCktPnNjaGVkdWxlKHBhaXIpOworICAgIGlmIChtX21haW5SZXNvdXJj
ZUxvYWRlciAmJiBtX21haW5SZXNvdXJjZUxvYWRlci0+bG9hZGVyKCkgJiYgbV9tYWluUmVzb3Vy
Y2VMb2FkZXItPmxvYWRlcigpLT5oYW5kbGUoKSkKKyAgICAgICAgbV9tYWluUmVzb3VyY2VMb2Fk
ZXItPmxvYWRlcigpLT5oYW5kbGUoKS0+c2NoZWR1bGUocGFpcik7CiAgICAgc2NoZWR1bGVBbGwo
bV9zdWJyZXNvdXJjZUxvYWRlcnMsIHBhaXIpOwogICAgIHNjaGVkdWxlQWxsKG1fcGx1Z0luU3Ry
ZWFtTG9hZGVycywgcGFpcik7CiAgICAgc2NoZWR1bGVBbGwobV9tdWx0aXBhcnRTdWJyZXNvdXJj
ZUxvYWRlcnMsIHBhaXIpOwpAQCAtNjMsOCArNjQsOCBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpz
Y2hlZHVsZShTY2hlZHVsZVBhaXIqIHBhaXIpCiAKIHZvaWQgRG9jdW1lbnRMb2FkZXI6OnVuc2No
ZWR1bGUoU2NoZWR1bGVQYWlyKiBwYWlyKQogewotICAgIGlmIChtYWluUmVzb3VyY2VMb2FkZXIo
KSAmJiBtYWluUmVzb3VyY2VMb2FkZXIoKS0+aGFuZGxlKCkpCi0gICAgICAgIG1haW5SZXNvdXJj
ZUxvYWRlcigpLT5oYW5kbGUoKS0+dW5zY2hlZHVsZShwYWlyKTsKKyAgICBpZiAobV9tYWluUmVz
b3VyY2VMb2FkZXIgJiYgbV9tYWluUmVzb3VyY2VMb2FkZXItPmxvYWRlcigpICYmIG1fbWFpblJl
c291cmNlTG9hZGVyLT5sb2FkZXIoKS0+aGFuZGxlKCkpCisgICAgICAgIG1fbWFpblJlc291cmNl
TG9hZGVyLT5sb2FkZXIoKS0+aGFuZGxlKCktPnVuc2NoZWR1bGUocGFpcik7CiAgICAgdW5zY2hl
ZHVsZUFsbChtX3N1YnJlc291cmNlTG9hZGVycywgcGFpcik7CiAgICAgdW5zY2hlZHVsZUFsbCht
X3BsdWdJblN0cmVhbUxvYWRlcnMsIHBhaXIpOwogICAgIHVuc2NoZWR1bGVBbGwobV9tdWx0aXBh
cnRTdWJyZXNvdXJjZUxvYWRlcnMsIHBhaXIpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>