<?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>72309</bug_id>
          
          <creation_ts>2011-11-14 14:17:15 -0800</creation_ts>
          <short_desc>REGRESSION(r100176): it broke the Mac builds (missing symbols) in a non-obvious way (Requested by jchaffraix on #webkit).</short_desc>
          <delta_ts>2011-11-14 14:28:00 -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>72086</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>gman</cc>
    
    <cc>kbr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>502296</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-14 14:17:15 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/100176 broke the build:
it broke the Mac builds (missing symbols) in a non-obvious way (Requested by jchaffraix 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>502299</commentid>
    <comment_count>1</comment_count>
      <attachid>115029</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-14 14:17:54 -0800</bug_when>
    <thetext>Created attachment 115029
ROLLOUT of r100176

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>502308</commentid>
    <comment_count>2</comment_count>
      <attachid>115029</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-14 14:26:06 -0800</bug_when>
    <thetext>Comment on attachment 115029
ROLLOUT of r100176

Clearing flags on attachment: 115029

Committed r100191: &lt;http://trac.webkit.org/changeset/100191&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502309</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-14 14:26:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>502315</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-11-14 14:28:00 -0800</bug_when>
    <thetext>*** Bug 72310 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>115029</attachid>
            <date>2011-11-14 14:17:54 -0800</date>
            <delta_ts>2011-11-14 14:26:06 -0800</delta_ts>
            <desc>ROLLOUT of r100176</desc>
            <filename>bug-72309-20111114221831.patch</filename>
            <type>text/plain</type>
            <size>45096</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwMTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjdhZjZiZmUwNjFmYjQ1
N2Q5NTcwZGM3ODgyNmNlMzUxNDY0YTUxNC4uMzQ0YTYxMDg0NzY0NzFjYjhhNTliZWMzYjE3MDI1
NDRmZjY2MDliZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDExLTExLTE0ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTAwMTc2LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMDAxNzYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTcyMzA5CisKKyAgICAgICAgaXQgYnJva2UgdGhlIE1hYyBidWlsZHMgKG1pc3Np
bmcgc3ltYm9scykgaW4gYSBub24tb2J2aW91cyB3YXkKKyAgICAgICAgKFJlcXVlc3RlZCBieSBq
Y2hhZmZyYWl4IG9uICN3ZWJraXQpLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAg
ICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAg
ICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5n
Q29udGV4dEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6dG9WOE9iamVjdCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xF
eHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVyZXMuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYkdMRXhwZXJpbWVudGFsQ29tcHJlc3NlZFRleHR1cmVzLmg6IFJlbW92ZWQu
CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xFeHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVy
ZXMuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmg6
CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0RXh0ZW5zaW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0UGFyYW1ldGVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0U3VwcG9ydGVkRXh0ZW5zaW9u
cyk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9lZmwvR3JhcGhpY3NDb250ZXh0M0RFZmwuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHA6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHA6CisKIDIwMTEtMTEtMTQg
IFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICByZW1vdmUgLXdhcC1t
YXJxdWVlIGNzcyBwcm9wZXJ5IHZhbHVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGI1
OWQxYmFiODA3NGZhNzY3ODU4MGZlNTgxMTdjNDA2YTY1ZTA4N2MuLjgzMWIwYzczYmY0ZWZkMjA0
ZWIxYzA0OTMwOTExNGU4YWM5OGU2YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTEtMTEtMTQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RA
Z21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDAxNzYuCisg
ICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEwMDE3NgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMDkKKworICAgICAgICBp
dCBicm9rZSB0aGUgTWFjIGJ1aWxkcyAobWlzc2luZyBzeW1ib2xzKSBpbiBhIG5vbi1vYnZpb3Vz
IHdheQorICAgICAgICAoUmVxdWVzdGVkIGJ5IGpjaGFmZnJhaXggb24gI3dlYmtpdCkuCisKKyAg
ICAgICAgKiBwdWJsaWMvV2ViR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBzcmMvR3Jh
cGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHA6CisgICAgICAgICogc3JjL0dyYXBoaWNzQ29udGV4
dDNEUHJpdmF0ZS5oOgorICAgICAgICAqIHRlc3RzL01vY2tXZWJHcmFwaGljc0NvbnRleHQzRC5o
OgorCiAyMDExLTExLTE0ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmVtb3ZlIHRoZSBjb25jZXB0IG9mIGFuIGVtcHR5IFNlY3VyaXR5T3JpZ2luCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IGQ4NGI3YjVjZjU5ZjQxYzJhYTk5YzY4ODEzMmRjOGRhOGI3MmQ0MjQu
LmIyYjRiMTM1MDg3NTQwMTZjOTgzNjFhM2VmNGE4OGI5Nzg1YzZlZWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CkBAIC0yMTM4LDcgKzIxMzgsNiBAQCBJRiAoRU5BQkxFX1dFQkdMKQogICAgICAgICBo
dG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvV2Vi
R0xEZWJ1Z1JlbmRlcmVySW5mby5jcHAKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xEZWJ1Z1No
YWRlcnMuY3BwCi0gICAgICAgIGh0bWwvY2FudmFzL1dlYkdMRXhwZXJpbWVudGFsQ29tcHJlc3Nl
ZFRleHR1cmVzLmNwcAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcAog
ICAgICAgICBodG1sL2NhbnZhcy9XZWJHTEdldEluZm8uY3BwCiAgICAgICAgIGh0bWwvY2FudmFz
L1dlYkdMT2JqZWN0LmNwcApAQCAtMjE3MCw3ICsyMTY5LDYgQEAgSUYgKEVOQUJMRV9XRUJHTCkK
ICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuaWRsCiAgICAgICAgIGh0bWwv
Y2FudmFzL1dlYkdMRGVidWdSZW5kZXJlckluZm8uaWRsCiAgICAgICAgIGh0bWwvY2FudmFzL1dl
YkdMRGVidWdTaGFkZXJzLmlkbAotICAgICAgICBodG1sL2NhbnZhcy9XZWJHTEV4cGVyaW1lbnRh
bENvbXByZXNzZWRUZXh0dXJlcy5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1
ZmZlci5pZGwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xQcm9ncmFtLmlkbAogICAgICAgICBo
dG1sL2NhbnZhcy9XZWJHTFJlbmRlcmJ1ZmZlci5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0
LmFtCmluZGV4IDE0ZTVmNzQ1MTE5MWFjNTJiOWE1NzRkZWY2ZGE5ZjVmOTA4ZDI2N2IuLmI3MThj
MTAyMmNmYTYxYWY1YzBmYjgwMzUxOTU5MWNkMTEzMjcwYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbQpAQCAtNDk3OCw4ICs0OTc4LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTERlYnVnUmVuZGVyZXJJbmZvLmggXAogCVNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRGVidWdTaGFkZXJzLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xEZWJ1Z1NoYWRlcnMuaCBcCi0JU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xFeHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVyZXMuY3BwIFwK
LQlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4cGVyaW1lbnRhbENvbXByZXNzZWRU
ZXh0dXJlcy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVy
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5oIFwK
IAlTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEdldEluZm8uY3BwIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJp
CmluZGV4IDk5NWEwOWJiODQwNmEzYmY1N2QzMTE3ODBhNjIwZjJjMWQ0ZjM3OTMuLmU0ODQ5ZjBj
MjU5NTNiYzJmNzNmYTdhMWNjMGNmMGUyMzZhODE1MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMzYyNiw3
ICszNjI2LDYgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1dFQkdMPTEpIHsKICAgICAgICAg
aHRtbC9jYW52YXMvV2ViR0xDb250ZXh0RXZlbnQuaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dl
YkdMRGVidWdSZW5kZXJlckluZm8uaCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMRGVidWdT
aGFkZXJzLmggXAotICAgICAgICBodG1sL2NhbnZhcy9XZWJHTEV4cGVyaW1lbnRhbENvbXByZXNz
ZWRUZXh0dXJlcy5oIFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uaCBcCiAg
ICAgICAgIGh0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuaCBcCiAgICAgICAgIGh0bWwvY2Fu
dmFzL1dlYkdMR2V0SW5mby5oIFwKQEAgLTM2NjAsNyArMzY1OSw2IEBAIGNvbnRhaW5zKERFRklO
RVMsIEVOQUJMRV9XRUJHTD0xKSB7CiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMQ29udGV4dEV2
ZW50LmNwcCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMRGVidWdSZW5kZXJlckluZm8uY3Bw
IFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xEZWJ1Z1NoYWRlcnMuY3BwIFwKLSAgICAgICAg
aHRtbC9jYW52YXMvV2ViR0xFeHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVyZXMuY3BwIFwKICAg
ICAgICAgaHRtbC9jYW52YXMvV2ViR0xFeHRlbnNpb24uY3BwIFwKICAgICAgICAgaHRtbC9jYW52
YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHAgXAogICAgICAgICBodG1sL2NhbnZhcy9XZWJHTEdldElu
Zm8uY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCAyMWQ0ZTJkOTgxN2MxODUwN2Q4NWEyY2I4MjY1
YmM0MmRhMTFjZGIyLi5lODMwNjFkMmI1OTZmNDE1OWZhODc2MTc3OTZlMjkyZDNkZmY3MjIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCkBAIC0xMzY2LDcgKzEzNjYsNiBAQAogICAgICAgICAgICAgJ2h0bWwv
Y2FudmFzL1dlYkdMRGVidWdSZW5kZXJlckluZm8uaWRsJywKICAgICAgICAgICAgICdodG1sL2Nh
bnZhcy9XZWJHTERlYnVnU2hhZGVycy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dl
YkdMRnJhbWVidWZmZXIuaWRsJywKLSAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJHTEV4cGVy
aW1lbnRhbENvbXByZXNzZWRUZXh0dXJlcy5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFz
L1dlYkdMUHJvZ3JhbS5pZGwnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMUmVuZGVy
YnVmZmVyLmlkbCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250
ZXh0LmlkbCcsCkBAIC01NzIwLDggKzU3MTksNiBAQAogICAgICAgICAgICAgJ2h0bWwvY2FudmFz
L1dlYkdMRGVidWdSZW5kZXJlckluZm8uaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2Vi
R0xEZWJ1Z1NoYWRlcnMuY3BwJywKICAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJHTERlYnVn
U2hhZGVycy5oJywKLSAgICAgICAgICAgICdodG1sL2NhbnZhcy9XZWJHTEV4cGVyaW1lbnRhbENv
bXByZXNzZWRUZXh0dXJlcy5jcHAnLAotICAgICAgICAgICAgJ2h0bWwvY2FudmFzL1dlYkdMRXhw
ZXJpbWVudGFsQ29tcHJlc3NlZFRleHR1cmVzLmgnLAogICAgICAgICAgICAgJ2h0bWwvY2FudmFz
L1dlYkdMRXh0ZW5zaW9uLmNwcCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xFeHRl
bnNpb24uaCcsCiAgICAgICAgICAgICAnaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJlbmRlcmlu
Z0NvbnRleHRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHTFJl
bmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCmluZGV4IGQyNTk5YWIzYzk1ODA1ZjA1OWJmNGNjNTJi
ZDJmZmQ5MGQ4MGMxYmEuLjAzNzYxMGE0OTFkYjY3YTNmYmVmZDg5YmI1ODNkOWViMjVkYzUyMTYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdD
b250ZXh0Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdM
UmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKQEAgLTYwLDcgKzYwLDYgQEAKICNpbmNsdWRlICJX
ZWJHTEJ1ZmZlci5oIgogI2luY2x1ZGUgIldlYkdMRGVidWdSZW5kZXJlckluZm8uaCIKICNpbmNs
dWRlICJXZWJHTERlYnVnU2hhZGVycy5oIgotI2luY2x1ZGUgIldlYkdMRXhwZXJpbWVudGFsQ29t
cHJlc3NlZFRleHR1cmVzLmgiCiAjaW5jbHVkZSAiV2ViR0xFeHRlbnNpb24uaCIKICNpbmNsdWRl
ICJXZWJHTEZyYW1lYnVmZmVyLmgiCiAjaW5jbHVkZSAiV2ViR0xHZXRJbmZvLmgiCkBAIC0xOTQs
OCArMTkzLDYgQEAgc3RhdGljIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFdlYkdMRXh0ZW4KICAgICAgICAgcmV0dXJuIHRvSlMo
ZXhlYywgZ2xvYmFsT2JqZWN0LCBzdGF0aWNfY2FzdDxXZWJHTERlYnVnUmVuZGVyZXJJbmZvKj4o
ZXh0ZW5zaW9uKSk7CiAgICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6V2ViR0xEZWJ1Z1NoYWRlcnNO
YW1lOgogICAgICAgICByZXR1cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0
PFdlYkdMRGVidWdTaGFkZXJzKj4oZXh0ZW5zaW9uKSk7Ci0gICAgY2FzZSBXZWJHTEV4dGVuc2lv
bjo6V2ViR0xFeHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVyZXNOYW1lOgotICAgICAgICByZXR1
cm4gdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PFdlYkdMRXhwZXJpbWVudGFs
Q29tcHJlc3NlZFRleHR1cmVzKj4oZXh0ZW5zaW9uKSk7CiAgICAgfQogICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgIHJldHVybiBqc051bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhXZWJHTFJlbmRlcmluZ0NvbnRl
eHRDdXN0b20uY3BwCmluZGV4IDM3YWI2OTA2YTRlN2Q0NGVmYzllZmVkN2NmZmUxZmEyMGM5MmY1
MDMuLjM1MDIxNTJmNDg5MDNhNTYwMjkxMDQ0YzIyOTM3ZjE3MjBkODBhMmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFdlYkdMUmVuZGVyaW5nQ29udGV4
dEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4V2Vi
R0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcApAQCAtNTgsNyArNTgsNiBAQAogI2luY2x1ZGUg
IlY4V2ViR0xCdWZmZXIuaCIKICNpbmNsdWRlICJWOFdlYkdMRGVidWdSZW5kZXJlckluZm8uaCIK
ICNpbmNsdWRlICJWOFdlYkdMRGVidWdTaGFkZXJzLmgiCi0jaW5jbHVkZSAiVjhXZWJHTEV4cGVy
aW1lbnRhbENvbXByZXNzZWRUZXh0dXJlcy5oIgogI2luY2x1ZGUgIlY4V2ViR0xGcmFtZWJ1ZmZl
ci5oIgogI2luY2x1ZGUgIlY4V2ViR0xQcm9ncmFtLmgiCiAjaW5jbHVkZSAiVjhXZWJHTFJlbmRl
cmJ1ZmZlci5oIgpAQCAtMTkzLDEwICsxOTIsNiBAQCBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHRvVjhPYmplY3QoV2ViR0xFeHRlbnNpb24qIGV4dGVuc2lvbiwgdjg6OkhhbmRsZTx2OAog
ICAgICAgICBleHRlbnNpb25PYmplY3QgPSB0b1Y4KHN0YXRpY19jYXN0PFdlYkdMRGVidWdTaGFk
ZXJzKj4oZXh0ZW5zaW9uKSk7CiAgICAgICAgIHJlZmVyZW5jZU5hbWUgPSAid2ViR0xEZWJ1Z1No
YWRlcnNOYW1lIjsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBXZWJHTEV4dGVuc2lvbjo6V2Vi
R0xFeHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVyZXNOYW1lOgotICAgICAgICBleHRlbnNpb25P
YmplY3QgPSB0b1Y4KHN0YXRpY19jYXN0PFdlYkdMRXhwZXJpbWVudGFsQ29tcHJlc3NlZFRleHR1
cmVzKj4oZXh0ZW5zaW9uKSk7Ci0gICAgICAgIHJlZmVyZW5jZU5hbWUgPSAid2ViR0xFeHBlcmlt
ZW50YWxDb21wcmVzc2VkVGV4dHVyZXNOYW1lIjsKLSAgICAgICAgYnJlYWs7CiAgICAgfQogICAg
IEFTU0VSVCghZXh0ZW5zaW9uT2JqZWN0LklzRW1wdHkoKSk7CiAgICAgVjhET01XcmFwcGVyOjpz
ZXROYW1lZEhpZGRlblJlZmVyZW5jZShjb250ZXh0T2JqZWN0LCByZWZlcmVuY2VOYW1lLCBleHRl
bnNpb25PYmplY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0xFeHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVyZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xFeHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVyZXMuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OWVjOTNkMjRiYzM0YWMzNjFmNTY0MzI5N2JmNWIwYjNh
OGZhNzFiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXhwZXJpbWVudGFsQ29tcHJlc3NlZFRleHR1
cmVzLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI5OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKLSAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCi0gKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUg
ImNvbmZpZy5oIgotCi0jaWYgRU5BQkxFKFdFQkdMKQotCi0jaW5jbHVkZSAiV2ViR0xFeHBlcmlt
ZW50YWxDb21wcmVzc2VkVGV4dHVyZXMuaCIKLQotI2luY2x1ZGUgIkV4dGVuc2lvbnMzRC5oIgot
I2luY2x1ZGUgIkludDMyQXJyYXkuaCIKLSNpbmNsdWRlICJXZWJHTFJlbmRlcmluZ0NvbnRleHQu
aCIKLQotI2luY2x1ZGUgPHd0Zi9Pd25BcnJheVB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLVdlYkdMRXhwZXJpbWVudGFsQ29tcHJlc3NlZFRleHR1cmVzOjpXZWJHTEV4cGVyaW1lbnRh
bENvbXByZXNzZWRUZXh0dXJlcyhXZWJHTFJlbmRlcmluZ0NvbnRleHQqIGNvbnRleHQpCi0gICAg
OiBXZWJHTEV4dGVuc2lvbihjb250ZXh0KQotICAgICwgbV9zdXBwb3J0c0R4dDEoZmFsc2UpCi0g
ICAgLCBtX3N1cHBvcnRzRHh0NShmYWxzZSkKLSAgICAsIG1fc3VwcG9ydHNFdGMxKGZhbHNlKQot
ICAgICwgbV9zdXBwb3J0c1B2cnRjKGZhbHNlKQotewotICAgIEV4dGVuc2lvbnMzRCogZXh0ZW5z
aW9ucyA9IGNvbnRleHQtPmdyYXBoaWNzQ29udGV4dDNEKCktPmdldEV4dGVuc2lvbnMoKTsKLSAg
ICBpZiAoZXh0ZW5zaW9ucy0+c3VwcG9ydHMoIkdMX0VYVF90ZXh0dXJlX2NvbXByZXNzaW9uX2R4
dDEiKSkgewotICAgICAgICBleHRlbnNpb25zLT5lbnN1cmVFbmFibGVkKCJHTF9FWFRfdGV4dHVy
ZV9jb21wcmVzc2lvbl9keHQxIik7Ci0gICAgICAgIG1fc3VwcG9ydHNEeHQxID0gdHJ1ZTsKLSAg
ICB9Ci0gICAgaWYgKGV4dGVuc2lvbnMtPnN1cHBvcnRzKCJHTF9FWFRfdGV4dHVyZV9jb21wcmVz
c2lvbl9zM3RjIikpIHsKLSAgICAgICAgZXh0ZW5zaW9ucy0+ZW5zdXJlRW5hYmxlZCgiR0xfRVhU
X3RleHR1cmVfY29tcHJlc3Npb25fczN0YyIpOwotICAgICAgICBtX3N1cHBvcnRzRHh0MSA9IHRy
dWU7Ci0gICAgICAgIG1fc3VwcG9ydHNEeHQ1ID0gdHJ1ZTsKLSAgICB9Ci0gICAgaWYgKGV4dGVu
c2lvbnMtPnN1cHBvcnRzKCJHTF9DSFJPTUlVTV90ZXh0dXJlX2NvbXByZXNzaW9uX2R4dDUiKSkg
ewotICAgICAgICBleHRlbnNpb25zLT5lbnN1cmVFbmFibGVkKCJHTF9DSFJPTUlVTV90ZXh0dXJl
X2NvbXByZXNzaW9uX2R4dDUiKTsKLSAgICAgICAgbV9zdXBwb3J0c0R4dDUgPSB0cnVlOwotICAg
IH0KLSAgICBpZiAoZXh0ZW5zaW9ucy0+c3VwcG9ydHMoIkdMX09FU19jb21wcmVzc2VkX0VUQzFf
UkdCOF90ZXh0dXJlIikpIHsKLSAgICAgICAgZXh0ZW5zaW9ucy0+ZW5zdXJlRW5hYmxlZCgiR0xf
T0VTX2NvbXByZXNzZWRfRVRDMV9SR0I4X3RleHR1cmUiKTsKLSAgICAgICAgbV9zdXBwb3J0c0V0
YzEgPSB0cnVlOwotICAgIH0KLSAgICBpZiAoZXh0ZW5zaW9ucy0+c3VwcG9ydHMoIkdMX0lNR190
ZXh0dXJlX2NvbXByZXNzaW9uX3B2cnRjIikpIHsKLSAgICAgICAgZXh0ZW5zaW9ucy0+ZW5zdXJl
RW5hYmxlZCgiR0xfSU1HX3RleHR1cmVfY29tcHJlc3Npb25fcHZydGMiKTsKLSAgICAgICAgbV9z
dXBwb3J0c1B2cnRjID0gdHJ1ZTsKLSAgICB9Ci0KLSAgICBpZiAobV9zdXBwb3J0c0R4dDEpIHsK
LSAgICAgICAgbV9mb3JtYXRzLmFwcGVuZChFeHRlbnNpb25zM0Q6OkNPTVBSRVNTRURfUkdCX1Mz
VENfRFhUMV9FWFQpOwotICAgICAgICBtX2Zvcm1hdHMuYXBwZW5kKEV4dGVuc2lvbnMzRDo6Q09N
UFJFU1NFRF9SR0JBX1MzVENfRFhUMV9FWFQpOwotICAgIH0KLQotICAgIGlmIChtX3N1cHBvcnRz
RHh0NSkKLSAgICAgICAgbV9mb3JtYXRzLmFwcGVuZChFeHRlbnNpb25zM0Q6OkNPTVBSRVNTRURf
UkdCQV9TM1RDX0RYVDVfRVhUKTsKLQotICAgIGlmIChtX3N1cHBvcnRzRXRjMSkKLSAgICAgICAg
bV9mb3JtYXRzLmFwcGVuZChFeHRlbnNpb25zM0Q6OkVUQzFfUkdCOF9PRVMpOwotCi0gICAgaWYg
KG1fc3VwcG9ydHNQdnJ0YykgewotICAgICAgICBtX2Zvcm1hdHMuYXBwZW5kKEV4dGVuc2lvbnMz
RDo6Q09NUFJFU1NFRF9SR0JfUFZSVENfNEJQUFYxX0lNRyk7Ci0gICAgICAgIG1fZm9ybWF0cy5h
cHBlbmQoRXh0ZW5zaW9uczNEOjpDT01QUkVTU0VEX1JHQkFfUFZSVENfNEJQUFYxX0lNRyk7Ci0g
ICAgfQotfQotCi1XZWJHTEV4cGVyaW1lbnRhbENvbXByZXNzZWRUZXh0dXJlczo6fldlYkdMRXhw
ZXJpbWVudGFsQ29tcHJlc3NlZFRleHR1cmVzKCkKLXsKLX0KLQotV2ViR0xFeHRlbnNpb246OkV4
dGVuc2lvbk5hbWUgV2ViR0xFeHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVyZXM6OmdldE5hbWUo
KSBjb25zdAotewotICAgIHJldHVybiBXZWJHTEV4cGVyaW1lbnRhbENvbXByZXNzZWRUZXh0dXJl
c05hbWU7Ci19Ci0KLVBhc3NPd25QdHI8V2ViR0xFeHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVy
ZXM+IFdlYkdMRXhwZXJpbWVudGFsQ29tcHJlc3NlZFRleHR1cmVzOjpjcmVhdGUoV2ViR0xSZW5k
ZXJpbmdDb250ZXh0KiBjb250ZXh0KQotewotICAgIHJldHVybiBhZG9wdFB0cihuZXcgV2ViR0xF
eHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVyZXMoY29udGV4dCkpOwotfQotCi1ib29sIFdlYkdM
RXhwZXJpbWVudGFsQ29tcHJlc3NlZFRleHR1cmVzOjpzdXBwb3J0ZWQoV2ViR0xSZW5kZXJpbmdD
b250ZXh0KiBjb250ZXh0KQotewotICAgIEV4dGVuc2lvbnMzRCogZXh0ZW5zaW9ucyA9IGNvbnRl
eHQtPmdyYXBoaWNzQ29udGV4dDNEKCktPmdldEV4dGVuc2lvbnMoKTsKLSAgICByZXR1cm4gZXh0
ZW5zaW9ucy0+c3VwcG9ydHMoIkdMX0VYVF90ZXh0dXJlX2NvbXByZXNzaW9uX2R4dDEiKQotICAg
ICAgICB8fCBleHRlbnNpb25zLT5zdXBwb3J0cygiR0xfRVhUX3RleHR1cmVfY29tcHJlc3Npb25f
czN0YyIpCi0gICAgICAgIHx8IGV4dGVuc2lvbnMtPnN1cHBvcnRzKCJHTF9DSFJPTUlVTV90ZXh0
dXJlX2NvbXByZXNzaW9uX2R4dDUiKQotICAgICAgICB8fCBleHRlbnNpb25zLT5zdXBwb3J0cygi
R0xfT0VTX2NvbXByZXNzZWRfRVRDMV9SR0I4X3RleHR1cmUiKQotICAgICAgICB8fCBleHRlbnNp
b25zLT5zdXBwb3J0cygiR0xfSU1HX3RleHR1cmVfY29tcHJlc3Npb25fcHZydGMiKTsKLX0KLQot
Ym9vbCBXZWJHTEV4cGVyaW1lbnRhbENvbXByZXNzZWRUZXh0dXJlczo6dmFsaWRhdGVDb21wcmVz
c2VkVGV4Rm9ybWF0KEdDM0RlbnVtIGZvcm1hdCkKLXsKLSAgICBzd2l0Y2ggKGZvcm1hdCkgewot
ICAgIGNhc2UgRXh0ZW5zaW9uczNEOjpDT01QUkVTU0VEX1JHQl9TM1RDX0RYVDFfRVhUOgotICAg
IGNhc2UgRXh0ZW5zaW9uczNEOjpDT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VYVDoKLSAgICAg
ICAgcmV0dXJuIG1fc3VwcG9ydHNEeHQxOwotICAgIGNhc2UgRXh0ZW5zaW9uczNEOjpFVEMxX1JH
QjhfT0VTOgotICAgICAgICByZXR1cm4gbV9zdXBwb3J0c0V0YzE7Ci0gICAgY2FzZSBFeHRlbnNp
b25zM0Q6OkNPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDVfRVhUOgotICAgICAgICByZXR1cm4gbV9z
dXBwb3J0c0R4dDU7Ci0gICAgY2FzZSBFeHRlbnNpb25zM0Q6OkNPTVBSRVNTRURfUkdCX1BWUlRD
XzRCUFBWMV9JTUc6Ci0gICAgY2FzZSBFeHRlbnNpb25zM0Q6OkNPTVBSRVNTRURfUkdCQV9QVlJU
Q180QlBQVjFfSU1HOgotICAgICAgICByZXR1cm4gbV9zdXBwb3J0c1B2cnRjOwotICAgIH0KLSAg
ICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgV2ViR0xFeHBlcmltZW50YWxDb21wcmVzc2VkVGV4
dHVyZXM6OnZhbGlkYXRlQ29tcHJlc3NlZFRleEZ1bmNEYXRhKEdDM0RzaXplaSB3aWR0aCwgR0Mz
RHNpemVpIGhlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDM0RlbnVtIGZvcm1hdCwgQXJyYXlCdWZm
ZXJWaWV3KiBwaXhlbHMpCi17Ci0gICAgR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQgPSBtX2Nv
bnRleHQtPmdyYXBoaWNzQ29udGV4dDNEKCk7Ci0gICAgaWYgKCFwaXhlbHMpIHsKLSAgICAgICAg
Y29udGV4dC0+c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFM
VUUpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIGlmICh3aWR0aCA8IDAgfHwg
aGVpZ2h0IDwgMCkgewotICAgICAgICBjb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHQzRDo6SU5WQUxJRF9WQUxVRSk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9
Ci0KLSAgICB1bnNpZ25lZCBpbnQgYnl0ZXNSZXF1aXJlZCA9IDA7Ci0KLSAgICBzd2l0Y2ggKGZv
cm1hdCkgewotICAgIGNhc2UgRXh0ZW5zaW9uczNEOjpDT01QUkVTU0VEX1JHQl9TM1RDX0RYVDFf
RVhUOgotICAgIGNhc2UgRXh0ZW5zaW9uczNEOjpDT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VY
VDoKLSAgICBjYXNlIEV4dGVuc2lvbnMzRDo6RVRDMV9SR0I4X09FUzoKLSAgICAgICAgewotICAg
ICAgICAgICAgY29uc3QgaW50IGtCbG9ja1dpZHRoID0gNDsKLSAgICAgICAgICAgIGNvbnN0IGlu
dCBrQmxvY2tIZWlnaHQgPSA0OwotICAgICAgICAgICAgY29uc3QgaW50IGtCbG9ja1NpemUgPSA4
OwotICAgICAgICAgICAgaW50IG51bUJsb2Nrc0Fjcm9zcyA9ICh3aWR0aCArIGtCbG9ja1dpZHRo
IC0gMSkgLyBrQmxvY2tXaWR0aDsKLSAgICAgICAgICAgIGludCBudW1CbG9ja3NEb3duID0gKGhl
aWdodCArIGtCbG9ja0hlaWdodCAtIDEpIC8ga0Jsb2NrSGVpZ2h0OwotICAgICAgICAgICAgaW50
IG51bUJsb2NrcyA9IG51bUJsb2Nrc0Fjcm9zcyAqIG51bUJsb2Nrc0Rvd247Ci0gICAgICAgICAg
ICBieXRlc1JlcXVpcmVkID0gbnVtQmxvY2tzICoga0Jsb2NrU2l6ZTsKLSAgICAgICAgfQotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIEV4dGVuc2lvbnMzRDo6Q09NUFJFU1NFRF9SR0JBX1MzVENf
RFhUNV9FWFQ6Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGNvbnN0IGludCBrQmxvY2tXaWR0aCA9
IDQ7Ci0gICAgICAgICAgICBjb25zdCBpbnQga0Jsb2NrSGVpZ2h0ID0gNDsKLSAgICAgICAgICAg
IGNvbnN0IGludCBrQmxvY2tTaXplID0gMTY7Ci0gICAgICAgICAgICBpbnQgbnVtQmxvY2tzQWNy
b3NzID0gKHdpZHRoICsga0Jsb2NrV2lkdGggLSAxKSAvIGtCbG9ja1dpZHRoOwotICAgICAgICAg
ICAgaW50IG51bUJsb2Nrc0Rvd24gPSAoaGVpZ2h0ICsga0Jsb2NrSGVpZ2h0IC0gMSkgLyBrQmxv
Y2tIZWlnaHQ7Ci0gICAgICAgICAgICBpbnQgbnVtQmxvY2tzID0gbnVtQmxvY2tzQWNyb3NzICog
bnVtQmxvY2tzRG93bjsKLSAgICAgICAgICAgIGJ5dGVzUmVxdWlyZWQgPSBudW1CbG9ja3MgKiBr
QmxvY2tTaXplOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgRXh0ZW5zaW9u
czNEOjpDT01QUkVTU0VEX1JHQl9QVlJUQ180QlBQVjFfSU1HOgotICAgIGNhc2UgRXh0ZW5zaW9u
czNEOjpDT01QUkVTU0VEX1JHQkFfUFZSVENfNEJQUFYxX0lNRzoKLSAgICAgICAgewotICAgICAg
ICAgICAgYnl0ZXNSZXF1aXJlZCA9IChzdGQ6Om1heCh3aWR0aCwgOCkgKiBzdGQ6Om1heChoZWln
aHQsIDgpICsgNykgLyA4OwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6
Ci0gICAgICAgIGNvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJ
TlZBTElEX0VOVU0pOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgaWYgKHBp
eGVscy0+Ynl0ZUxlbmd0aCgpICE9IGJ5dGVzUmVxdWlyZWQpIHsKLSAgICAgICAgY29udGV4dC0+
c3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUpOwotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLWJvb2wg
V2ViR0xFeHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVyZXM6OnZhbGlkYXRlQ29tcHJlc3NlZFRl
eFN1YkRpbWVuc2lvbnMoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhv
ZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0MzRHNpemVpIHdp
ZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEZW51bSBmb3JtYXQsIFdlYkdMVGV4dHVyZSogdGV4
KQotewotICAgIHN3aXRjaCAoZm9ybWF0KSB7Ci0gICAgY2FzZSBFeHRlbnNpb25zM0Q6OkNPTVBS
RVNTRURfUkdCX1MzVENfRFhUMV9FWFQ6Ci0gICAgY2FzZSBFeHRlbnNpb25zM0Q6OkNPTVBSRVNT
RURfUkdCQV9TM1RDX0RYVDFfRVhUOgotICAgIGNhc2UgRXh0ZW5zaW9uczNEOjpDT01QUkVTU0VE
X1JHQkFfUzNUQ19EWFQ1X0VYVDoKLSAgICBjYXNlIEV4dGVuc2lvbnMzRDo6RVRDMV9SR0I4X09F
UzoKLSAgICAgICAgewotICAgICAgICAgICAgY29uc3QgaW50IGtCbG9ja1dpZHRoID0gNDsKLSAg
ICAgICAgICAgIGNvbnN0IGludCBrQmxvY2tIZWlnaHQgPSA0OwotICAgICAgICAgICAgaWYgKCh4
b2Zmc2V0ICUga0Jsb2NrV2lkdGgpIHx8ICh5b2Zmc2V0ICUga0Jsb2NrSGVpZ2h0KSkKLSAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICBpZiAoIXhvZmZzZXQpIHsKLSAg
ICAgICAgICAgICAgICBpZiAod2lkdGggIT0gdGV4LT5nZXRXaWR0aCh0YXJnZXQsIGxldmVsKSkK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgfSBlbHNlIHsK
LSAgICAgICAgICAgICAgICBpZiAod2lkdGggJSBrQmxvY2tXaWR0aCkKLSAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCF5b2Zm
c2V0KSB7Ci0gICAgICAgICAgICAgICAgaWYgKGhlaWdodCAhPSB0ZXgtPmdldEhlaWdodCh0YXJn
ZXQsIGxldmVsKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpZiAoaGVpZ2h0ICUga0Jsb2NrSGVpZ2h0KQot
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgfQotICAgIGNhc2UgRXh0ZW5zaW9uczNEOjpDT01Q
UkVTU0VEX1JHQl9QVlJUQ180QlBQVjFfSU1HOgotICAgIGNhc2UgRXh0ZW5zaW9uczNEOjpDT01Q
UkVTU0VEX1JHQkFfUFZSVENfNEJQUFYxX0lNRzoKLSAgICAgICAgewotICAgICAgICAgICAgaWYg
KHhvZmZzZXQgfHwgeW9mZnNldAotICAgICAgICAgICAgICAgIHx8IHdpZHRoICE9IHRleC0+Z2V0
V2lkdGgodGFyZ2V0LCBsZXZlbCkgfHwgaGVpZ2h0ICE9IHRleC0+Z2V0SGVpZ2h0KHRhcmdldCwg
bGV2ZWwpKSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIGZh
bHNlOwotfQotCi12b2lkIFdlYkdMRXhwZXJpbWVudGFsQ29tcHJlc3NlZFRleHR1cmVzOjpjb21w
cmVzc2VkVGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVt
IGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQzNEc2l6ZWkgaGVpZ2h0
LCBHQzNEaW50IGJvcmRlciwgQXJyYXlCdWZmZXJWaWV3KiBkYXRhKQotewotICAgIEdyYXBoaWNz
Q29udGV4dDNEKiBjb250ZXh0ID0gbV9jb250ZXh0LT5ncmFwaGljc0NvbnRleHQzRCgpOwotICAg
IGlmIChtX2NvbnRleHQtPmlzQ29udGV4dExvc3QoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlm
ICghdmFsaWRhdGVDb21wcmVzc2VkVGV4Rm9ybWF0KGludGVybmFsZm9ybWF0KSkgewotICAgICAg
ICBjb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHQzRDo6SU5WQUxJRF9F
TlVNKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAoYm9yZGVyKSB7Ci0gICAgICAg
IGNvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZBTElEX1ZB
TFVFKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBpZiAoIXZhbGlkYXRlQ29tcHJlc3Nl
ZFRleEZ1bmNEYXRhKHdpZHRoLCBoZWlnaHQsIGludGVybmFsZm9ybWF0LCBkYXRhKSkKLSAgICAg
ICAgcmV0dXJuOwotICAgIFdlYkdMVGV4dHVyZSogdGV4ID0gbV9jb250ZXh0LT52YWxpZGF0ZVRl
eHR1cmVCaW5kaW5nKHRhcmdldCwgdHJ1ZSk7Ci0gICAgaWYgKCF0ZXgpCi0gICAgICAgIHJldHVy
bjsKLSAgICBpZiAoIW1fY29udGV4dC0+aXNHTEVTMk5QT1RTdHJpY3QoKSkgewotICAgICAgICBp
ZiAobGV2ZWwgJiYgV2ViR0xUZXh0dXJlOjppc05QT1Qod2lkdGgsIGhlaWdodCkpIHsKLSAgICAg
ICAgICAgIGNvbnRleHQtPnN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dDNEOjpJTlZB
TElEX1ZBTFVFKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgIH0KLSAgICBj
b250ZXh0LT5jb21wcmVzc2VkVGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1h
dCwgd2lkdGgsIGhlaWdodCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3Jk
ZXIsIGRhdGEtPmJ5dGVMZW5ndGgoKSwgZGF0YS0+YmFzZUFkZHJlc3MoKSk7Ci0gICAgdGV4LT5z
ZXRMZXZlbEluZm8odGFyZ2V0LCBsZXZlbCwgaW50ZXJuYWxmb3JtYXQsIHdpZHRoLCBoZWlnaHQs
IEdyYXBoaWNzQ29udGV4dDNEOjpVTlNJR05FRF9CWVRFKTsKLSAgICBtX2NvbnRleHQtPmNsZWFu
dXBBZnRlckdyYXBoaWNzQ2FsbChmYWxzZSk7Ci19Ci0KLXZvaWQgV2ViR0xFeHBlcmltZW50YWxD
b21wcmVzc2VkVGV4dHVyZXM6OmNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdDM0RlbnVtIHRhcmdl
dCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0RlbnVtIGZvcm1hdCwg
QXJyYXlCdWZmZXJWaWV3KiBkYXRhKQotewotICAgIEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0
ID0gbV9jb250ZXh0LT5ncmFwaGljc0NvbnRleHQzRCgpOwotICAgIGlmIChtX2NvbnRleHQtPmlz
Q29udGV4dExvc3QoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmICghdmFsaWRhdGVDb21wcmVz
c2VkVGV4Rm9ybWF0KGZvcm1hdCkpIHsKLSAgICAgICAgY29udGV4dC0+c3ludGhlc2l6ZUdMRXJy
b3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfRU5VTSk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0gICAgaWYgKCF2YWxpZGF0ZUNvbXByZXNzZWRUZXhGdW5jRGF0YSh3aWR0aCwgaGVpZ2h0
LCBmb3JtYXQsIGRhdGEpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBXZWJHTFRleHR1cmUqIHRl
eCA9IG1fY29udGV4dC0+dmFsaWRhdGVUZXh0dXJlQmluZGluZyh0YXJnZXQsIHRydWUpOwotICAg
IGlmICghdGV4KQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoZm9ybWF0ICE9IHRleC0+Z2V0
SW50ZXJuYWxGb3JtYXQodGFyZ2V0LCBsZXZlbCkpIHsKLSAgICAgICAgY29udGV4dC0+c3ludGhl
c2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0M0Q6OklOVkFMSURfVkFMVUUpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCF2YWxpZGF0ZUNvbXByZXNzZWRUZXhTdWJEaW1lbnNp
b25zKHRhcmdldCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIHdpZHRoLCBoZWlnaHQsIGZvcm1h
dCwgdGV4KSkgewotICAgICAgICBjb250ZXh0LT5zeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0Nv
bnRleHQzRDo6SU5WQUxJRF9PUEVSQVRJT04pOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgY29udGV4dC0+Y29tcHJlc3NlZFRleFN1YkltYWdlMkQodGFyZ2V0LCBsZXZlbCwgeG9mZnNl
dCwgeW9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCwg
aGVpZ2h0LCBmb3JtYXQsIGRhdGEtPmJ5dGVMZW5ndGgoKSwgZGF0YS0+YmFzZUFkZHJlc3MoKSk7
Ci0gICAgbV9jb250ZXh0LT5jbGVhbnVwQWZ0ZXJHcmFwaGljc0NhbGwoZmFsc2UpOwotfQotCi1X
ZWJHTEdldEluZm8gV2ViR0xFeHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVyZXM6OmdldENvbXBy
ZXNzZWRUZXh0dXJlRm9ybWF0cygpCi17Ci0gICAgcmV0dXJuIFdlYkdMR2V0SW5mbyhJbnQzMkFy
cmF5OjpjcmVhdGUoJm1fZm9ybWF0c1swXSwgbV9mb3JtYXRzLnNpemUoKSkpOwotfQotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4cGVyaW1lbnRhbENvbXByZXNzZWRU
ZXh0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHBlcmltZW50YWxD
b21wcmVzc2VkVGV4dHVyZXMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmQyNzA4
YWNjNjM4NjQ4Y2VlZGRlNmU5MWJlMjk3ZDQ5MDY0YjVlNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TEV4cGVyaW1lbnRhbENvbXByZXNzZWRUZXh0dXJlcy5oCisrKyAvZGV2L251bGwKQEAgLTEsNzUg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0g
KiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpZm5kZWYgV2ViR0xFeHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVy
ZXNfaAotI2RlZmluZSBXZWJHTEV4cGVyaW1lbnRhbENvbXByZXNzZWRUZXh0dXJlc19oCi0KLSNp
bmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCi0jaW5jbHVkZSAiV2ViR0xFeHRlbnNpb24uaCIKLSNp
bmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IEFycmF5QnVmZmVyVmlldzsKLWNsYXNzIFdlYkdMVGV4dHVyZTsKLQotY2xhc3MgV2ViR0xFeHBl
cmltZW50YWxDb21wcmVzc2VkVGV4dHVyZXMgOiBwdWJsaWMgV2ViR0xFeHRlbnNpb24gewotcHVi
bGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFdlYkdMRXhwZXJpbWVudGFsQ29tcHJlc3NlZFRl
eHR1cmVzPiBjcmVhdGUoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7Ci0KLSAgICBzdGF0aWMgYm9v
bCBzdXBwb3J0ZWQoV2ViR0xSZW5kZXJpbmdDb250ZXh0Kik7Ci0KLSAgICB2aXJ0dWFsIH5XZWJH
TEV4cGVyaW1lbnRhbENvbXByZXNzZWRUZXh0dXJlcygpOwotICAgIHZpcnR1YWwgRXh0ZW5zaW9u
TmFtZSBnZXROYW1lKCkgY29uc3Q7Ci0KLSAgICB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdD
M0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIEdD
M0RzaXplaSB3aWR0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdDM0RzaXplaSBo
ZWlnaHQsIEdDM0RpbnQgYm9yZGVyLCBBcnJheUJ1ZmZlclZpZXcqIGRhdGEpOwotICAgIHZvaWQg
Y29tcHJlc3NlZFRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBH
QzNEaW50IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGVudW0gZm9y
bWF0LCBBcnJheUJ1ZmZlclZpZXcqIGRhdGEpOwotCi0gICAgV2ViR0xHZXRJbmZvIGdldENvbXBy
ZXNzZWRUZXh0dXJlRm9ybWF0cygpOwotCi1wcml2YXRlOgotICAgIFdlYkdMRXhwZXJpbWVudGFs
Q29tcHJlc3NlZFRleHR1cmVzKFdlYkdMUmVuZGVyaW5nQ29udGV4dCopOwotCi0gICAgYm9vbCB2
YWxpZGF0ZUNvbXByZXNzZWRUZXhGdW5jRGF0YShHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBo
ZWlnaHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQzNEZW51bSBm
b3JtYXQsIEFycmF5QnVmZmVyVmlldyogcGl4ZWxzKTsKLQotICAgIGJvb2wgdmFsaWRhdGVDb21w
cmVzc2VkVGV4Rm9ybWF0KEdDM0RlbnVtIGZvcm1hdCk7Ci0KLSAgICBib29sIHZhbGlkYXRlQ29t
cHJlc3NlZFRleFN1YkRpbWVuc2lvbnMoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBH
QzNEaW50IHhvZmZzZXQsIEdDM0RpbnQgeW9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBH
QzNEZW51bSBmb3JtYXQsIFdlYkdMVGV4dHVyZSopOwotCi0gICAgYm9vbCBtX3N1cHBvcnRzRHh0
MTsKLSAgICBib29sIG1fc3VwcG9ydHNEeHQ1OwotICAgIGJvb2wgbV9zdXBwb3J0c0V0YzE7Ci0g
ICAgYm9vbCBtX3N1cHBvcnRzUHZydGM7Ci0KLSAgICBWZWN0b3I8aW50PiBtX2Zvcm1hdHM7Ci19
OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBXZWJHTEV4cGVyaW1lbnRh
bENvbXByZXNzZWRUZXh0dXJlc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHTEV4cGVyaW1lbnRhbENvbXByZXNzZWRUZXh0dXJlcy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTEV4cGVyaW1lbnRhbENvbXByZXNzZWRUZXh0dXJlcy5pZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ0NGU4MTU2ODVlOTZkN2I4NTEzOTAwMTRj
MjgyZmMxNmFmOWViNDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xFeHBlcmltZW50YWxDb21wcmVz
c2VkVGV4dHVyZXMuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECi0g
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLW1v
ZHVsZSBodG1sIHsKLSAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1XRUJHTCwK
LSAgICAgICAgR2VuZXJhdGVJc1JlYWNoYWJsZT1JbXBsQ29udGV4dCwKLSAgICAgICAgT21pdENv
bnN0cnVjdG9yLAotICAgICAgICBEb250Q2hlY2tFbnVtcwotICAgIF0gV2ViR0xFeHBlcmltZW50
YWxDb21wcmVzc2VkVGV4dHVyZXMgewotICAgICAgICAvKiBDb21wcmVzc2VkIFRleHR1cmUgRm9y
bWF0cyAqLwotICAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ09NUFJFU1NFRF9SR0JfUzNUQ19E
WFQxX0VYVCAgICAgICAgPSAweDgzRjA7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBDT01Q
UkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VYVCAgICAgICA9IDB4ODNGMTsKLSAgICAgICAgY29uc3Qg
dW5zaWduZWQgaW50IENPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDVfRVhUICAgICAgID0gMHg4M0Yz
OwotICAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgRVRDMV9SR0I4X09FUyAgICAgICAgICAgICAg
ICAgICAgICAgPSAweDhENjQ7Ci0gICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBDT01QUkVTU0VE
X1JHQl9QVlJUQ180QlBQVjFfSU1HICAgICA9IDB4OEMwMDsKLSAgICAgICAgY29uc3QgdW5zaWdu
ZWQgaW50IENPTVBSRVNTRURfUkdCQV9QVlJUQ180QlBQVjFfSU1HICAgID0gMHg4QzAyOwotCi0g
ICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmddIHZvaWQgY29tcHJlc3NlZFRleEltYWdlMkQoaW4g
dW5zaWduZWQgbG9uZyB0YXJnZXQsIGluIGxvbmcgbGV2ZWwsIGluIHVuc2lnbmVkIGxvbmcgaW50
ZXJuYWxmb3JtYXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaW4gbG9uZyB3aWR0aCwgaW4gbG9uZyBoZWlnaHQsIGluIGxvbmcgYm9yZGVy
LCBpbiBBcnJheUJ1ZmZlclZpZXcgZGF0YSk7Ci0gICAgICAgIFtTdHJpY3RUeXBlQ2hlY2tpbmdd
IHZvaWQgY29tcHJlc3NlZFRleFN1YkltYWdlMkQoaW4gdW5zaWduZWQgbG9uZyB0YXJnZXQsIGlu
IGxvbmcgbGV2ZWwsIGluIGxvbmcgeG9mZnNldCwgaW4gbG9uZyB5b2Zmc2V0LAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGxvbmcg
d2lkdGgsIGluIGxvbmcgaGVpZ2h0LCBpbiB1bnNpZ25lZCBsb25nIGZvcm1hdCwgaW4gQXJyYXlC
dWZmZXJWaWV3IGRhdGEpOwotICAgIH07Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xFeHRlbnNpb24uaAppbmRleCA0NGQxYmY0Yjk3NTlmOTZlN2UyMjVhN2U4ODUxOGQzNDYw
Y2NmYWE1Li42N2Q0ZDQ3ODM4NTM4MDI4ZWFkY2Q5N2ViZGUzZTYxMzE3ZmM3ZDdhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRXh0ZW5zaW9uLmgKQEAgLTQwLDcgKzQwLDYg
QEAgcHVibGljOgogICAgICAgICBPRVNWZXJ0ZXhBcnJheU9iamVjdE5hbWUsCiAgICAgICAgIFdl
YkdMRGVidWdSZW5kZXJlckluZm9OYW1lLAogICAgICAgICBXZWJHTERlYnVnU2hhZGVyc05hbWUs
Ci0gICAgICAgIFdlYkdMRXhwZXJpbWVudGFsQ29tcHJlc3NlZFRleHR1cmVzTmFtZSwKICAgICB9
OwogCiAgICAgdm9pZCByZWYoKSB7IG1fY29udGV4dC0+cmVmKCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDQ0
NjQwNmJjNjJiZGExNGUyZTcyNGU5ZDRhNmQ1MDQzZWNmOTU0MWIuLjhhNGRlOTNkZmE1ZWIyNWQy
ZGMxOTdiYTFjZjZkZGUxZmNiMTUxZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtNTksNyArNTksNiBAQAogI2lu
Y2x1ZGUgIldlYkdMQ29udGV4dEV2ZW50LmgiCiAjaW5jbHVkZSAiV2ViR0xEZWJ1Z1JlbmRlcmVy
SW5mby5oIgogI2luY2x1ZGUgIldlYkdMRGVidWdTaGFkZXJzLmgiCi0jaW5jbHVkZSAiV2ViR0xF
eHBlcmltZW50YWxDb21wcmVzc2VkVGV4dHVyZXMuaCIKICNpbmNsdWRlICJXZWJHTEZyYW1lYnVm
ZmVyLmgiCiAjaW5jbHVkZSAiV2ViR0xQcm9ncmFtLmgiCiAjaW5jbHVkZSAiV2ViR0xSZW5kZXJi
dWZmZXIuaCIKQEAgLTIxMjYsMTEgKzIxMjUsNiBAQCBXZWJHTEV4dGVuc2lvbiogV2ViR0xSZW5k
ZXJpbmdDb250ZXh0OjpnZXRFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBuYW1lKQogICAgICAgICB9
CiAgICAgICAgIHJldHVybiBtX29lc1ZlcnRleEFycmF5T2JqZWN0LmdldCgpOwogICAgIH0KLSAg
ICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIldFQkdMX0VYUEVSSU1FTlRBTF9jb21wcmVz
c2VkX3RleHR1cmVzIikpIHsKLSAgICAgICAgaWYgKCFtX3dlYmdsRXhwZXJpbWVudGFsQ29tcHJl
c3NlZFRleHR1cmVzKQotICAgICAgICAgICAgbV93ZWJnbEV4cGVyaW1lbnRhbENvbXByZXNzZWRU
ZXh0dXJlcyA9IFdlYkdMRXhwZXJpbWVudGFsQ29tcHJlc3NlZFRleHR1cmVzOjpjcmVhdGUodGhp
cyk7Ci0gICAgICAgIHJldHVybiBtX3dlYmdsRXhwZXJpbWVudGFsQ29tcHJlc3NlZFRleHR1cmVz
LmdldCgpOwotICAgIH0KICAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgIldFQktJVF9s
b3NlX2NvbnRleHQiKSkgewogICAgICAgICBpZiAoIW1fd2Via2l0TG9zZUNvbnRleHQpCiAgICAg
ICAgICAgICBtX3dlYmtpdExvc2VDb250ZXh0ID0gV2ViS2l0TG9zZUNvbnRleHQ6OmNyZWF0ZSh0
aGlzKTsKQEAgLTIyNDcsOCArMjI0MSw2IEBAIFdlYkdMR2V0SW5mbyBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ6OmdldFBhcmFtZXRlcihHQzNEZW51bSBwbmFtZSwgRXhjZXB0aW9uQ29kZSYKICAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dDNEOjpDT0xPUl9XUklURU1BU0s6CiAgICAgICAgIHJldHVybiBn
ZXRCb29sZWFuQXJyYXlQYXJhbWV0ZXIocG5hbWUpOwogICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
M0Q6OkNPTVBSRVNTRURfVEVYVFVSRV9GT1JNQVRTOgotICAgICAgICBpZiAobV93ZWJnbEV4cGVy
aW1lbnRhbENvbXByZXNzZWRUZXh0dXJlcykKLSAgICAgICAgICAgIHJldHVybiBtX3dlYmdsRXhw
ZXJpbWVudGFsQ29tcHJlc3NlZFRleHR1cmVzLT5nZXRDb21wcmVzc2VkVGV4dHVyZUZvcm1hdHMo
KTsKICAgICAgICAgLy8gRGVmaW5lZCBhcyBudWxsIGluIHRoZSBzcGVjCiAgICAgICAgIHJldHVy
biBXZWJHTEdldEluZm8oKTsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpDVUxMX0ZBQ0U6
CkBAIC0yNTc5LDggKzI1NzEsNiBAQCBWZWN0b3I8U3RyaW5nPiBXZWJHTFJlbmRlcmluZ0NvbnRl
eHQ6OmdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKQogICAgICAgICByZXN1bHQuYXBwZW5kKCJPRVNf
c3RhbmRhcmRfZGVyaXZhdGl2ZXMiKTsKICAgICBpZiAobV9jb250ZXh0LT5nZXRFeHRlbnNpb25z
KCktPnN1cHBvcnRzKCJHTF9PRVNfdmVydGV4X2FycmF5X29iamVjdCIpKQogICAgICAgICByZXN1
bHQuYXBwZW5kKCJPRVNfdmVydGV4X2FycmF5X29iamVjdCIpOwotICAgIGlmIChXZWJHTEV4cGVy
aW1lbnRhbENvbXByZXNzZWRUZXh0dXJlczo6c3VwcG9ydGVkKHRoaXMpKQotICAgICAgICByZXN1
bHQuYXBwZW5kKCJXRUJHTF9FWFBFUklNRU5UQUxfY29tcHJlc3NlZF90ZXh0dXJlcyIpOwogICAg
IHJlc3VsdC5hcHBlbmQoIldFQktJVF9sb3NlX2NvbnRleHQiKTsKIAogICAgIGlmIChhbGxvd1By
aXZpbGVnZWRFeHRlbnNpb25zKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggNGI1NWI1YzY2ZjljZjg4MWRlM2FlOWZk
OWI4NjY3ODVlZWVkNWIxMS4uMTVjZTQ5N2I0OGNhNGFhYzY4MDdkY2FkYzU3MjBlOTZlZWM5Y2I5
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdD
b250ZXh0LmgKQEAgLTYyLDcgKzYyLDYgQEAgY2xhc3MgV2ViR0xTaGFkZXI7CiBjbGFzcyBXZWJH
TFRleHR1cmU7CiBjbGFzcyBXZWJHTFVuaWZvcm1Mb2NhdGlvbjsKIGNsYXNzIFdlYkdMVmVydGV4
QXJyYXlPYmplY3RPRVM7Ci1jbGFzcyBXZWJHTEV4cGVyaW1lbnRhbENvbXByZXNzZWRUZXh0dXJl
czsKIGNsYXNzIFdlYktpdExvc2VDb250ZXh0OwogCiB0eXBlZGVmIGludCBFeGNlcHRpb25Db2Rl
OwpAQCAtMzEyLDcgKzMxMSw2IEBAIHB1YmxpYzoKICAgICBmcmllbmQgY2xhc3MgV2ViR0xPYmpl
Y3Q7CiAgICAgZnJpZW5kIGNsYXNzIE9FU1ZlcnRleEFycmF5T2JqZWN0OwogICAgIGZyaWVuZCBj
bGFzcyBXZWJHTERlYnVnU2hhZGVyczsKLSAgICBmcmllbmQgY2xhc3MgV2ViR0xFeHBlcmltZW50
YWxDb21wcmVzc2VkVGV4dHVyZXM7CiAKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHQoSFRNTENh
bnZhc0VsZW1lbnQqLCBQYXNzUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiwgR3JhcGhpY3NDb250
ZXh0M0Q6OkF0dHJpYnV0ZXMpOwogICAgIHZvaWQgaW5pdGlhbGl6ZU5ld0NvbnRleHQoKTsKQEAg
LTQ4Nyw3ICs0ODUsNiBAQCBwdWJsaWM6CiAgICAgT3duUHRyPFdlYktpdExvc2VDb250ZXh0PiBt
X3dlYmtpdExvc2VDb250ZXh0OwogICAgIE93blB0cjxXZWJHTERlYnVnUmVuZGVyZXJJbmZvPiBt
X3dlYmdsRGVidWdSZW5kZXJlckluZm87CiAgICAgT3duUHRyPFdlYkdMRGVidWdTaGFkZXJzPiBt
X3dlYmdsRGVidWdTaGFkZXJzOwotICAgIE93blB0cjxXZWJHTEV4cGVyaW1lbnRhbENvbXByZXNz
ZWRUZXh0dXJlcz4gbV93ZWJnbEV4cGVyaW1lbnRhbENvbXByZXNzZWRUZXh0dXJlczsKIAogICAg
IC8vIEhlbHBlcnMgZm9yIGdldFBhcmFtZXRlciBhbmQgb3RoZXJzCiAgICAgV2ViR0xHZXRJbmZv
IGdldEJvb2xlYW5QYXJhbWV0ZXIoR0MzRGVudW0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvRXh0ZW5zaW9uczNELmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25zM0QuaAppbmRleCAyYzI0ZTAzNjViMDg3NDQ4Zjk0MTBm
OWM3MDkzMGNmMjA2NDBkYWM3Li41YzA0ZTM4NWVkNzA5ODhmMTIxMjU1M2ZkN2Q3NWYxZmVkYTE3
N2VmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNp
b25zM0QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9FeHRlbnNpb25z
M0QuaApAQCAtNTcsMTAgKzU3LDYgQEAgcHVibGljOgogICAgIC8vICAgR0xfT0VTX3JnYjhfcmdi
YTgKICAgICAvLyAgIEdMX09FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0CiAgICAgLy8gICBHTF9BTkdM
RV90cmFuc2xhdGVkX3NoYWRlcl9zb3VyY2UKLSAgICAvLyAgIEdMX0VYVF90ZXh0dXJlX2NvbXBy
ZXNzaW9uX2R4dDEKLSAgICAvLyAgIEdMX0VYVF90ZXh0dXJlX2NvbXByZXNzaW9uX3MzdGMKLSAg
ICAvLyAgIEdMX09FU19jb21wcmVzc2VkX0VUQzFfUkdCOF90ZXh0dXJlCi0gICAgLy8gICBHTF9J
TUdfdGV4dHVyZV9jb21wcmVzc2lvbl9wdnJ0YwogCiAgICAgLy8gVGFrZXMgZnVsbCBuYW1lIG9m
IGV4dGVuc2lvbjsgZm9yIGV4YW1wbGUsCiAgICAgLy8gIkdMX0VYVF90ZXh0dXJlX2Zvcm1hdF9C
R1JBODg4OCIuCkBAIC0xMTEsMjIgKzEwNyw2IEBAIHB1YmxpYzoKIAogICAgICAgICAvLyBHTF9B
TkdMRV90cmFuc2xhdGVkX3NoYWRlcl9zb3VyY2UKICAgICAgICAgVFJBTlNMQVRFRF9TSEFERVJf
U09VUkNFX0xFTkdUSF9BTkdMRSA9IDB4OTNBMCwKLQotICAgICAgICAvLyBHTF9FWFRfdGV4dHVy
ZV9jb21wcmVzc2lvbl9keHQxCi0gICAgICAgIC8vIEdMX0VYVF90ZXh0dXJlX2NvbXByZXNzaW9u
X3MzdGMKLSAgICAgICAgQ09NUFJFU1NFRF9SR0JfUzNUQ19EWFQxX0VYVCA9IDB4ODNGMCwKLSAg
ICAgICAgQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUMV9FWFQgPSAweDgzRjEsCi0gICAgICAgIENP
TVBSRVNTRURfUkdCQV9TM1RDX0RYVDNfRVhUID0gMHg4M0YyLAotICAgICAgICBDT01QUkVTU0VE
X1JHQkFfUzNUQ19EWFQ1X0VYVCA9IDB4ODNGMywKLQotICAgICAgICAvLyBHTF9PRVNfY29tcHJl
c3NlZF9FVEMxX1JHQjhfdGV4dHVyZQotICAgICAgICBFVEMxX1JHQjhfT0VTID0gMHg4RDY0LAot
Ci0gICAgICAgIC8vIEdMX0lNR190ZXh0dXJlX2NvbXByZXNzaW9uX3B2cnRjCi0gICAgICAgIENP
TVBSRVNTRURfUkdCX1BWUlRDXzRCUFBWMV9JTUcgPSAweDhDMDAsCi0gICAgICAgIENPTVBSRVNT
RURfUkdCX1BWUlRDXzJCUFBWMV9JTUcgPSAweDhDMDEsCi0gICAgICAgIENPTVBSRVNTRURfUkdC
QV9QVlJUQ180QlBQVjFfSU1HID0gMHg4QzAyLAotICAgICAgICBDT01QUkVTU0VEX1JHQkFfUFZS
VENfMkJQUFYxX0lNRyA9IDB4OEMwMywKICAgICB9OwogCiAgICAgLy8gR0xfQVJCX3JvYnVzdG5l
c3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dDNELmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHQzRC5oCmluZGV4IGM1YTk1YTg5ZjMwNTQ5M2NkNTNjYmI4ODYxMGY1YzRiMTFkNWMyZTgu
LmU3NGMwMDJlYzVmYzZlNDI5MmU0ZGYxMWNjZmYwMTBiOTJlZTBmN2UgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dDNELmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaApAQCAt
NjUwLDggKzY1MCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbG9yTWFzayhHQzNEYm9vbGVhbiBy
ZWQsIEdDM0Rib29sZWFuIGdyZWVuLCBHQzNEYm9vbGVhbiBibHVlLCBHQzNEYm9vbGVhbiBhbHBo
YSk7CiAgICAgdm9pZCBjb21waWxlU2hhZGVyKFBsYXRmb3JtM0RPYmplY3QpOwogCi0gICAgdm9p
ZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdD
M0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQs
IEdDM0RpbnQgYm9yZGVyLCBHQzNEc2l6ZWkgaW1hZ2VTaXplLCBjb25zdCB2b2lkKiBkYXRhKTsK
LSAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGlu
dCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdDM0RzaXplaSB3aWR0
aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGVudW0gZm9ybWF0LCBHQzNEc2l6ZWkgaW1hZ2VTaXpl
LCBjb25zdCB2b2lkKiBkYXRhKTsKKyAgICAvLyB2b2lkIGNvbXByZXNzZWRUZXhJbWFnZTJEKEdD
M0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIEdD
M0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGludCBib3JkZXIsIEdDM0RzaXpl
aSBpbWFnZVNpemUsIGNvbnN0IHZvaWQqIGRhdGEpOworICAgIC8vIHZvaWQgY29tcHJlc3NlZFRl
eFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhvZmZz
ZXQsIEdDM0RpbnQgeW9mZnNldCwgR0MzRHNpemVpIHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBH
QzNEZW51bSBmb3JtYXQsIEdDM0RzaXplaSBpbWFnZVNpemUsIGNvbnN0IHZvaWQqIGRhdGEpOwor
CiAgICAgdm9pZCBjb3B5VGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWws
IEdDM0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRHNpemVp
IHdpZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0LCBHQzNEaW50IGJvcmRlcik7CiAgICAgdm9pZCBjb3B5
VGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9m
ZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEaW50IHgsIEdDM0RpbnQgeSwgR0MzRHNpemVpIHdp
ZHRoLCBHQzNEc2l6ZWkgaGVpZ2h0KTsKICAgICB2b2lkIGN1bGxGYWNlKEdDM0RlbnVtIG1vZGUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBo
aWNzQ29udGV4dDNERWZsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Vm
bC9HcmFwaGljc0NvbnRleHQzREVmbC5jcHAKaW5kZXggZDQ1MjM1ZTE0Y2E1ZjI1YTY4YWVkODQz
YjA3Mjc4ZmUxNDFmOGZhNy4uODFjYTFkNGQ5YjViOWQ3YTU3YWIxMjZiNWIxZjE0YjA4MDdlNTk3
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0dyYXBo
aWNzQ29udGV4dDNERWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9lZmwvR3JhcGhpY3NDb250ZXh0M0RFZmwuY3BwCkBAIC0xOTYsMTggKzE5Niw2IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OmNvcHlUZXhTdWJJbWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0Mz
RGludCBsZXZlbCwgR0MzRGluCiAgICAgbV9pbnRlcm5hbC0+Y29weVRleFN1YkltYWdlMkQodGFy
Z2V0LCBsZXZlbCwgeE9mZnNldCwgeU9mZnNldCwgeCwgeSwgd2lkdGgsIGhlaWdodCk7CiB9CiAK
LXZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OmNvbXByZXNzZWRUZXhJbWFnZTJEKEdDM0RlbnVtIHRh
cmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0gaW50ZXJuYWxmb3JtYXQsIEdDM0RzaXplaSB3
aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGludCBib3JkZXIsIEdDM0RzaXplaSBpbWFnZVNp
emUsIGNvbnN0IHZvaWQqIGRhdGEpCi17Ci0gICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBj
b21wcmVzc2VkVGV4SW1hZ2UyRC4KLSAgICAvLyBtX2ludGVybmFsLT5jb21wcmVzc2VkVGV4SW1h
Z2UyRCh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZvcm1hdCwgd2lkdGgsIGhlaWdodCwgYm9yZGVy
LCBpbWFnZVNpemUsIGRhdGEpOwotfQotCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpjb21wcmVz
c2VkVGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQg
eG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWln
aHQsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRHNpemVpIGltYWdlU2l6ZSwgY29uc3Qgdm9pZCogZGF0
YSkKLXsKLSAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yIGNvbXByZXNzZWRUZXhTdWJJbWFn
ZTJELgotICAgIC8vIG1faW50ZXJuYWwtPmNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKHRhcmdldCwg
bGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwgaW1hZ2VTaXpl
LCBkYXRhKTsKLX0KLQogdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6Y3VsbEZhY2UoR0MzRGVudW0g
bW9kZSkKIHsKICAgICBtX2ludGVybmFsLT5jdWxsRmFjZShtb2RlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9w
ZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhp
Y3NDb250ZXh0M0RPcGVuR0wuY3BwCmluZGV4IDBiNzljYzI1ZTczZTkxYjAwYzhkNTRmMTJiZTkw
NDI0ODkzNTFmM2QuLmEyNzMyY2FmMTdlNWQ4NjRiOTBkYjI3ZjQ4ZDEzZDNjOWJlOGY1NTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGlj
c0NvbnRleHQzRE9wZW5HTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcApAQCAtMTQzNCwxOCArMTQzNCw2
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnRleFN1YkltYWdlMkQoR0MzRGVudW0gdGFyZ2V0
LCBHQzNEaW50IGxldmVsLCBHQzNEaW50IHhvCiAgICAgOjpnbFRleFN1YkltYWdlMkQodGFyZ2V0
LCBsZXZlbCwgeG9mZiwgeW9mZiwgd2lkdGgsIGhlaWdodCwgZm9ybWF0LCB0eXBlLCBwaXhlbHMp
OwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpjb21wcmVzc2VkVGV4SW1hZ2UyRChHQzNE
ZW51bSB0YXJnZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNE
c2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0RpbnQgYm9yZGVyLCBHQzNEc2l6ZWkg
aW1hZ2VTaXplLCBjb25zdCB2b2lkKiBkYXRhKQotewotICAgIG1ha2VDb250ZXh0Q3VycmVudCgp
OwotICAgIDo6Z2xDb21wcmVzc2VkVGV4SW1hZ2UyRCh0YXJnZXQsIGxldmVsLCBpbnRlcm5hbGZv
cm1hdCwgd2lkdGgsIGhlaWdodCwgYm9yZGVyLCBpbWFnZVNpemUsIGRhdGEpOwotfQotCi12b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjpjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRChHQzNEZW51bSB0YXJn
ZXQsIEdDM0RpbnQgbGV2ZWwsIEdDM0RpbnQgeG9mZnNldCwgR0MzRGludCB5b2Zmc2V0LCBHQzNE
c2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQsIEdDM0RlbnVtIGZvcm1hdCwgR0MzRHNpemVp
IGltYWdlU2l6ZSwgY29uc3Qgdm9pZCogZGF0YSkKLXsKLSAgICBtYWtlQ29udGV4dEN1cnJlbnQo
KTsKLSAgICA6OmdsQ29tcHJlc3NlZFRleFN1YkltYWdlMkQodGFyZ2V0LCBsZXZlbCwgeG9mZnNl
dCwgeW9mZnNldCwgd2lkdGgsIGhlaWdodCwgZm9ybWF0LCBpbWFnZVNpemUsIGRhdGEpOwotfQot
CiBQbGF0Zm9ybTNET2JqZWN0IEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGVCdWZmZXIoKQogewog
ICAgIG1ha2VDb250ZXh0Q3VycmVudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAppbmRleCAzN2U5
MTVlYTA3NjIwMjY3YTBjMjU3ODAzM2QwZmE1MzkzMGQ3ODQ2Li4zMTg1MzY5MzUxYTE0MGZmOWQx
MTMwMTA3ZmM2Mzg0ZmMzMTE4ZDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHQzRFF0LmNwcApAQCAtNjUzLDE4
ICs2NTMsNiBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpjb21waWxlU2hhZGVyKFBsYXRmb3Jt
M0RPYmplY3Qgc2hhZGVyKQogICAgIGdsQ29tcGlsZVNoYWRlcihzaGFkZXIpOwogfQogCi12b2lk
IEdyYXBoaWNzQ29udGV4dDNEOjpjb21wcmVzc2VkVGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQs
IEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgs
IEdDM0RzaXplaSBoZWlnaHQsIEdDM0RpbnQgYm9yZGVyLCBHQzNEc2l6ZWkgaW1hZ2VTaXplLCBj
b25zdCB2b2lkKiBkYXRhKQotewotICAgIG1fcHJpdmF0ZS0+bV9nbFdpZGdldC0+bWFrZUN1cnJl
bnQoKTsKLSAgICBnbENvbXByZXNzZWRUZXhJbWFnZTJEKHRhcmdldCwgbGV2ZWwsIGludGVybmFs
Zm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBib3JkZXIsIGltYWdlU2l6ZSwgZGF0YSk7Ci19Ci0KLXZv
aWQgR3JhcGhpY3NDb250ZXh0M0Q6OmNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdDM0RlbnVtIHRh
cmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZzZXQsIEdD
M0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGVudW0gZm9ybWF0LCBHQzNEc2l6
ZWkgaW1hZ2VTaXplLCBjb25zdCB2b2lkKiBkYXRhKQotewotICAgIG1fcHJpdmF0ZS0+bV9nbFdp
ZGdldC0+bWFrZUN1cnJlbnQoKTsKLSAgICBnbENvbXByZXNzZWRUZXhTdWJJbWFnZTJEKHRhcmdl
dCwgbGV2ZWwsIHhvZmZzZXQsIHlvZmZzZXQsIHdpZHRoLCBoZWlnaHQsIGZvcm1hdCwgaW1hZ2VT
aXplLCBkYXRhKTsKLX0KLQogdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6Y29weVRleEltYWdlMkQo
R0MzRGVudW0gdGFyZ2V0LCBHQzNEaW50IGxldmVsLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwg
R0MzRGludCB4LCBHQzNEaW50IHksIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwg
R0MzRGludCBib3JkZXIpCiB7CiAgICAgbV9wcml2YXRlLT5tX2dsV2lkZ2V0LT5tYWtlQ3VycmVu
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR3JhcGhp
Y3NDb250ZXh0M0QuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdyYXBoaWNz
Q29udGV4dDNELmgKaW5kZXggZGQzYmM1YmQxOWNkY2JlZmNmNzk5OTQxN2Y2NmJiN2QyYjI2N2Y1
ZC4uNDUwNzU5ODgzMjQ2MTc1ODRkYjk0MGE2MzE2NjMyZWNjMGIxMjkwOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR3JhcGhpY3NDb250ZXh0M0QuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHcmFwaGljc0NvbnRleHQzRC5oCkBA
IC0yMjUsOCArMjI1LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjb2xvck1hc2soV0dD
M0Rib29sZWFuIHJlZCwgV0dDM0Rib29sZWFuIGdyZWVuLCBXR0MzRGJvb2xlYW4gYmx1ZSwgV0dD
M0Rib29sZWFuIGFscGhhKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNvbXBpbGVTaGFkZXIoV2Vi
R0xJZCBzaGFkZXIpID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2Uy
RChXR0MzRGVudW0gdGFyZ2V0LCBXR0MzRGludCBsZXZlbCwgV0dDM0RlbnVtIGludGVybmFsZm9y
bWF0LCBXR0MzRHNpemVpIHdpZHRoLCBXR0MzRHNpemVpIGhlaWdodCwgV0dDM0RpbnQgYm9yZGVy
LCBXR0MzRHNpemVpIGltYWdlU2l6ZSwgY29uc3Qgdm9pZCogZGF0YSkgPSAwOwotICAgIHZpcnR1
YWwgdm9pZCBjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRChXR0MzRGVudW0gdGFyZ2V0LCBXR0MzRGlu
dCBsZXZlbCwgV0dDM0RpbnQgeG9mZnNldCwgV0dDM0RpbnQgeW9mZnNldCwgV0dDM0RzaXplaSB3
aWR0aCwgV0dDM0RzaXplaSBoZWlnaHQsIFdHQzNEZW51bSBmb3JtYXQsIFdHQzNEc2l6ZWkgaW1h
Z2VTaXplLCBjb25zdCB2b2lkKiBkYXRhKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNvcHlUZXhJ
bWFnZTJEKFdHQzNEZW51bSB0YXJnZXQsIFdHQzNEaW50IGxldmVsLCBXR0MzRGVudW0gaW50ZXJu
YWxmb3JtYXQsIFdHQzNEaW50IHgsIFdHQzNEaW50IHksIFdHQzNEc2l6ZWkgd2lkdGgsIFdHQzNE
c2l6ZWkgaGVpZ2h0LCBXR0MzRGludCBib3JkZXIpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY29w
eVRleFN1YkltYWdlMkQoV0dDM0RlbnVtIHRhcmdldCwgV0dDM0RpbnQgbGV2ZWwsIFdHQzNEaW50
IHhvZmZzZXQsIFdHQzNEaW50IHlvZmZzZXQsIFdHQzNEaW50IHgsIFdHQzNEaW50IHksIFdHQzNE
c2l6ZWkgd2lkdGgsIFdHQzNEc2l6ZWkgaGVpZ2h0KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGN1
bGxGYWNlKFdHQzNEZW51bSBtb2RlKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwCmluZGV4IDA1MjA5MDY3
NWEyOGQ1YjM2NjA3ZjFlZjE2ZTJlOWEzYzA4MDNkNjEuLmY4MjdmMTdiMDY1ZmZkOTE5ODBiZTE0
MzUxNTRjOTdlYWU1YTI1MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwCkBAIC00NzMsMTIgKzQ3Myw2IEBA
IHZvaWQgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpuYW1lKHQxIGExLCB0MiBhMiwgdDMgYTMs
IHQ0IGE0LCB0NSBhNSwgdDYgYTYsIHQ3CiAgICAgbV9pbXBsLT5uYW1lKGExLCBhMiwgYTMsIGE0
LCBhNSwgYTYsIGE3LCBhOCk7ICAgICAgXAogfQogCi0jZGVmaW5lIERFTEVHQVRFX1RPX0lNUExf
OShuYW1lLCB0MSwgdDIsIHQzLCB0NCwgdDUsIHQ2LCB0NywgdDgsIHQ5KSAgICAgICBcCi12b2lk
IEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6bmFtZSh0MSBhMSwgdDIgYTIsIHQzIGEzLCB0NCBh
NCwgdDUgYTUsIHQ2IGE2LCB0NyBhNywgdDggYTgsIHQ5IGE5KSBcCi17IFwKLSAgICBtX2ltcGwt
Pm5hbWUoYTEsIGEyLCBhMywgYTQsIGE1LCBhNiwgYTcsIGE4LCBhOSk7ICAgICAgXAotfQotCiAj
ZGVmaW5lIERFTEVHQVRFX1RPX0lNUExfOVIobmFtZSwgdDEsIHQyLCB0MywgdDQsIHQ1LCB0Niwg
dDcsIHQ4LCB0OSwgcnQpIFwKIHJ0IEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6bmFtZSh0MSBh
MSwgdDIgYTIsIHQzIGEzLCB0NCBhNCwgdDUgYTUsIHQ2IGE2LCB0NyBhNywgdDggYTgsIHQ5IGE5
KSBcCiB7IFwKQEAgLTUzOSw4ICs1MzMsNiBAQCBERUxFR0FURV9UT19JTVBMXzEoY2xlYXJTdGVu
Y2lsLCBHQzNEaW50KQogREVMRUdBVEVfVE9fSU1QTF80KGNvbG9yTWFzaywgR0MzRGJvb2xlYW4s
IEdDM0Rib29sZWFuLCBHQzNEYm9vbGVhbiwgR0MzRGJvb2xlYW4pCiBERUxFR0FURV9UT19JTVBM
XzEoY29tcGlsZVNoYWRlciwgUGxhdGZvcm0zRE9iamVjdCkKIAotREVMRUdBVEVfVE9fSU1QTF84
KGNvbXByZXNzZWRUZXhJbWFnZTJELCBHQzNEZW51bSwgR0MzRGludCwgR0MzRGVudW0sIEdDM0Rp
bnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVpLCBjb25zdCB2b2lkKikKLURFTEVHQVRF
X1RPX0lNUExfOShjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRCwgR0MzRGVudW0sIEdDM0RpbnQsIEdD
M0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RlbnVtLCBHQzNEc2l6ZWksIGNv
bnN0IHZvaWQqKQogREVMRUdBVEVfVE9fSU1QTF84KGNvcHlUZXhJbWFnZTJELCBHQzNEZW51bSwg
R0MzRGludCwgR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RzaXplaSwgR0MzRHNpemVp
LCBHQzNEaW50KQogREVMRUdBVEVfVE9fSU1QTF84KGNvcHlUZXhTdWJJbWFnZTJELCBHQzNEZW51
bSwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRGludCwgR0MzRHNpemVp
LCBHQzNEc2l6ZWkpCiBERUxFR0FURV9UT19JTVBMXzEoY3VsbEZhY2UsIEdDM0RlbnVtKQpAQCAt
MTEwNSw4ICsxMDk3LDYgQEAgREVMRUdBVEVfVE9fSU5URVJOQUxfMShjbGVhclN0ZW5jaWwsIEdD
M0RpbnQpCiBERUxFR0FURV9UT19JTlRFUk5BTF80KGNvbG9yTWFzaywgR0MzRGJvb2xlYW4sIEdD
M0Rib29sZWFuLCBHQzNEYm9vbGVhbiwgR0MzRGJvb2xlYW4pCiBERUxFR0FURV9UT19JTlRFUk5B
TF8xKGNvbXBpbGVTaGFkZXIsIFBsYXRmb3JtM0RPYmplY3QpCiAKLURFTEVHQVRFX1RPX0lOVEVS
TkFMXzgoY29tcHJlc3NlZFRleEltYWdlMkQsIEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEZW51bSwg
R0MzRGludCwgR0MzRGludCwgR0MzRHNpemVpLCBHQzNEc2l6ZWksIGNvbnN0IHZvaWQqKQotREVM
RUdBVEVfVE9fSU5URVJOQUxfOShjb21wcmVzc2VkVGV4U3ViSW1hZ2UyRCwgR0MzRGVudW0sIEdD
M0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RpbnQsIEdDM0RlbnVtLCBHQzNE
c2l6ZWksIGNvbnN0IHZvaWQqKQogREVMRUdBVEVfVE9fSU5URVJOQUxfOChjb3B5VGV4SW1hZ2Uy
RCwgR0MzRGVudW0sIEdDM0RpbnQsIEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEc2l6
ZWksIEdDM0RzaXplaSwgR0MzRGludCkKIERFTEVHQVRFX1RPX0lOVEVSTkFMXzgoY29weVRleFN1
YkltYWdlMkQsIEdDM0RlbnVtLCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBHQzNEaW50LCBH
QzNEaW50LCBHQzNEc2l6ZWksIEdDM0RzaXplaSkKIERFTEVHQVRFX1RPX0lOVEVSTkFMXzEoY3Vs
bEZhY2UsIEdDM0RlbnVtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
R3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9H
cmFwaGljc0NvbnRleHQzRFByaXZhdGUuaAppbmRleCA5M2Y4MWEzOTIxYzViYTE0NjM3ZDY1MDIw
MDVjZTQ4NDFlYjVkNmFmLi4wZTM4NGM0ODk2YmI2NTFkNWM4MGRjMGMwYzY5MDc5NmU4YzhjZDM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQz
RFByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRl
eHQzRFByaXZhdGUuaApAQCAtMTM3LDggKzEzNyw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbG9y
TWFzayhHQzNEYm9vbGVhbiByZWQsIEdDM0Rib29sZWFuIGdyZWVuLCBHQzNEYm9vbGVhbiBibHVl
LCBHQzNEYm9vbGVhbiBhbHBoYSk7CiAgICAgdm9pZCBjb21waWxlU2hhZGVyKFBsYXRmb3JtM0RP
YmplY3QpOwogCi0gICAgdm9pZCBjb21wcmVzc2VkVGV4SW1hZ2UyRChHQzNEZW51bSB0YXJnZXQs
IEdDM0RpbnQgbGV2ZWwsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgs
IEdDM0RzaXplaSBoZWlnaHQsIEdDM0RpbnQgYm9yZGVyLCBHQzNEc2l6ZWkgaW1hZ2VTaXplLCBj
b25zdCB2b2lkKiBkYXRhKTsKLSAgICB2b2lkIGNvbXByZXNzZWRUZXhTdWJJbWFnZTJEKEdDM0Rl
bnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZz
ZXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGVudW0gZm9ybWF0LCBH
QzNEc2l6ZWkgaW1hZ2VTaXplLCBjb25zdCB2b2lkKiBkYXRhKTsKICAgICB2b2lkIGNvcHlUZXhJ
bWFnZTJEKEdDM0RlbnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGVudW0gaW50ZXJuYWxm
b3JtYXQsIEdDM0RpbnQgeCwgR0MzRGludCB5LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBo
ZWlnaHQsIEdDM0RpbnQgYm9yZGVyKTsKICAgICB2b2lkIGNvcHlUZXhTdWJJbWFnZTJEKEdDM0Rl
bnVtIHRhcmdldCwgR0MzRGludCBsZXZlbCwgR0MzRGludCB4b2Zmc2V0LCBHQzNEaW50IHlvZmZz
ZXQsIEdDM0RpbnQgeCwgR0MzRGludCB5LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWln
aHQpOwogICAgIHZvaWQgY3VsbEZhY2UoR0MzRGVudW0gbW9kZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL01vY2tXZWJHcmFwaGljc0NvbnRleHQzRC5oIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Nb2NrV2ViR3JhcGhpY3NDb250ZXh0M0QuaAppbmRl
eCA5ZWFkYjkzZmNjYTQzMDE3NDM3ODIyMWJkMTg3NzQxZWEyNGUwMjhkLi5jMTQwMTBmNzczMzBj
NzYzNjg3MTE2ZGM3MjBjODBmMGMwNWY2NmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL01vY2tXZWJHcmFwaGljc0NvbnRleHQzRC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvTW9ja1dlYkdyYXBoaWNzQ29udGV4dDNELmgKQEAgLTk5LDggKzk5
LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjb2xvck1hc2soV0dDM0Rib29sZWFuIHJl
ZCwgV0dDM0Rib29sZWFuIGdyZWVuLCBXR0MzRGJvb2xlYW4gYmx1ZSwgV0dDM0Rib29sZWFuIGFs
cGhhKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgY29tcGlsZVNoYWRlcihXZWJHTElkIHNoYWRlcikg
eyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgY29tcHJlc3NlZFRleEltYWdlMkQoV0dDM0RlbnVtIHRh
cmdldCwgV0dDM0RpbnQgbGV2ZWwsIFdHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgV0dDM0RzaXpl
aSB3aWR0aCwgV0dDM0RzaXplaSBoZWlnaHQsIFdHQzNEaW50IGJvcmRlciwgV0dDM0RzaXplaSBp
bWFnZVNpemUsIGNvbnN0IHZvaWQqIGRhdGEpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBjb21wcmVz
c2VkVGV4U3ViSW1hZ2UyRChXR0MzRGVudW0gdGFyZ2V0LCBXR0MzRGludCBsZXZlbCwgV0dDM0Rp
bnQgeG9mZnNldCwgV0dDM0RpbnQgeW9mZnNldCwgV0dDM0RzaXplaSB3aWR0aCwgV0dDM0RzaXpl
aSBoZWlnaHQsIFdHQzNEZW51bSBmb3JtYXQsIFdHQzNEc2l6ZWkgaW1hZ2VTaXplLCBjb25zdCB2
b2lkKiBkYXRhKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgY29weVRleEltYWdlMkQoV0dDM0RlbnVt
IHRhcmdldCwgV0dDM0RpbnQgbGV2ZWwsIFdHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgV0dDM0Rp
bnQgeCwgV0dDM0RpbnQgeSwgV0dDM0RzaXplaSB3aWR0aCwgV0dDM0RzaXplaSBoZWlnaHQsIFdH
QzNEaW50IGJvcmRlcikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGNvcHlUZXhTdWJJbWFnZTJEKFdH
QzNEZW51bSB0YXJnZXQsIFdHQzNEaW50IGxldmVsLCBXR0MzRGludCB4b2Zmc2V0LCBXR0MzRGlu
dCB5b2Zmc2V0LCBXR0MzRGludCB4LCBXR0MzRGludCB5LCBXR0MzRHNpemVpIHdpZHRoLCBXR0Mz
RHNpemVpIGhlaWdodCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGN1bGxGYWNlKFdHQzNEZW51bSBt
b2RlKSB7IH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>