<?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>85795</bug_id>
          
          <creation_ts>2012-05-07 05:54:21 -0700</creation_ts>
          <short_desc>REGRESSION(r116299): Build is still broken (Requested by Ossy on #webkit).</short_desc>
          <delta_ts>2012-05-07 05:57:40 -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>80996</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>hausmann</cc>
    
    <cc>kbalazs</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>617545</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 05:54:21 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/116299 broke the build:
Build is still broken (Requested by Ossy 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>617548</commentid>
    <comment_count>1</comment_count>
      <attachid>140515</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 05:54:58 -0700</bug_when>
    <thetext>Created attachment 140515
ROLLOUT of r116299

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>617550</commentid>
    <comment_count>2</comment_count>
      <attachid>140515</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-05-07 05:57:33 -0700</bug_when>
    <thetext>Comment on attachment 140515
ROLLOUT of r116299

Clearing flags on attachment: 140515

Committed r116304: &lt;http://trac.webkit.org/changeset/116304&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617551</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-05-07 05:57:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140515</attachid>
            <date>2012-05-07 05:54:58 -0700</date>
            <delta_ts>2012-05-07 05:57:32 -0700</delta_ts>
            <desc>ROLLOUT of r116299</desc>
            <filename>bug-85795-20120507125849.patch</filename>
            <type>text/plain</type>
            <size>32102</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggM2I3MzIyMWI0ZGIzOWRm
MmE0OGQ3OTdiZTc3ZTk1NDMzZDE3OTU2OC4uMWYyN2MwYTUyYjAyZjIwNTc4MDdjNTAzYTU3ZTQ3
YzUxNzZjYTc0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA1LTA3ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTE2Mjk5LCByMTE2MzAxLCBhbmQgcjExNjMwMy4KKyAgICAgICAg
aHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTE2Mjk5CisgICAgICAgIGh0dHA6Ly90
cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzExNjMwMQorICAgICAgICBodHRwOi8vdHJhYy53ZWJr
aXQub3JnL2NoYW5nZXNldC8xMTYzMDMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTg1Nzk1CisKKyAgICAgICAgQnVpbGQgaXMgc3RpbGwgYnJva2VuIChS
ZXF1ZXN0ZWQgYnkgT3NzeSBvbiAjd2Via2l0KS4KKworICAgICAgICAqIHF0L01haW5RdC5jcHA6
CisgICAgICAgIChtYWluKToKKwogMjAxMi0wNS0wNyAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpz
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBBZGQgdGVzdCBzcGVjaWZpYyBwbGF0Zm9ybSBw
bHVnaW4gdG8gYWNoaWV2ZSB1bmlmaWVkIGxheW91dCB0ZXN0IHJlc3VsdHMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL3F0L01haW5RdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9xdC9NYWluUXQu
Y3BwCmluZGV4IDI1NDNkMjk5MzZmYTk1NDBiZjdjNWUwMDFlYTQ0NzVhOWZhZGI3MDguLmRlZjFi
M2YyYWQ3OWUwMGI1YWUzYmQ2NTE3ZGRkZjNlYzMwY2YyMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL3F0L01haW5RdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvcXQvTWFpblF0LmNwcApA
QCAtMjUsMTEgKzI1LDcgQEAKICAqLwogCiAjaW5jbHVkZSA8UUFwcGxpY2F0aW9uPgotI2luY2x1
ZGUgPFFCeXRlQXJyYXk+Ci0jaW5jbHVkZSA8UUZpbGU+Ci0jaW5jbHVkZSA8UVBsYXRmb3JtSW50
ZWdyYXRpb24+Ci0jaW5jbHVkZSA8UVBsYXRmb3JtSW50ZWdyYXRpb25QbHVnaW4+Ci0jaW5jbHVk
ZSA8UVBsdWdpbkxvYWRlcj4KKwogI2luY2x1ZGUgPHN0ZGlvLmg+CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewpAQCAtNDcsMjEgKzQzLDYgQEAgc3RhdGljIHZvaWQgbWVzc2FnZUhhbmRsZXIoUXRNc2dU
eXBlIHR5cGUsIGNvbnN0IGNoYXIqIG1lc3NhZ2UpCiAgICAgLy8gRG8gbm90aGluZwogfQogCi1z
dGF0aWMgdm9pZCBpbml0aWFsaXplVGVzdFBsYXRmb3JtUGx1Z2luRm9yV1RSSWZSZXF1aXJlZCgp
Ci17Ci0gICAgUUJ5dGVBcnJheSBwbHVnaW5QYXRoID0gcWdldGVudigiUVRfV0VCS0lUMl9URVNU
X1BMQVRGT1JNX1BMVUdJTl9QQVRIIik7Ci0gICAgaWYgKHBsdWdpblBhdGguaXNFbXB0eSgpKQot
ICAgICAgICByZXR1cm47Ci0KLSAgICBRUGx1Z2luTG9hZGVyIGxvYWRlcihRRmlsZTo6ZGVjb2Rl
TmFtZShwbHVnaW5QYXRoLmRhdGEoKSkpOwotICAgIFFQbGF0Zm9ybUludGVncmF0aW9uUGx1Z2lu
KiBwbHVnaW4gPSBxb2JqZWN0X2Nhc3Q8UVBsYXRmb3JtSW50ZWdyYXRpb25QbHVnaW4qPihsb2Fk
ZXIuaW5zdGFuY2UoKSk7Ci0gICAgaWYgKCFwbHVnaW4pCi0gICAgICAgIHFGYXRhbCgiY2Fubm90
IGluaXRpYWxpemUgdGVzdCBwbGF0Zm9ybSBwbHVnaW5cbiIpOwotCi0gICAgcXB1dGVudigiUVRf
UVBBX1BMQVRGT1JNX1BMVUdJTl9QQVRIIiwgcGx1Z2luUGF0aCk7Ci0gICAgcXB1dGVudigiUVRf
UVBBX1BMQVRGT1JNIiwgInRlc3RwbGF0Zm9ybSIpOwotfQotCiAvLyBUaGUgZnJhbWV3b3JrIGVu
dHJ5IHBvaW50LgogLy8gV2UgY2FsbCBvdXIgcGxhdGZvcm0gc3BlY2lmaWMgZW50cnkgcG9pbnQg
ZGlyZWN0bHkgcmF0aGVyIHRoYW4gV2ViS2l0TWFpbiBiZWNhdXNlIGl0IG1ha2VzIGxpdHRsZSBz
ZW5zZQogLy8gdG8gcmVpbXBsZW1lbnQgdGhlIGhhbmRsaW5nIG9mIGNvbW1hbmQgbGluZSBhcmd1
bWVudHMgZnJvbSBRQXBwbGljYXRpb24uCkBAIC03NSw3ICs1Niw2IEBAIGludCBtYWluKGludCBh
cmdjLCBjaGFyKiogYXJndikKICAgICB9CiAjZW5kaWYKIAotICAgIGluaXRpYWxpemVUZXN0UGxh
dGZvcm1QbHVnaW5Gb3JXVFJJZlJlcXVpcmVkKCk7CiAgICAgV2ViS2l0Ojppbml0aWFsaXplV2Vi
S2l0MlRoZW1lKCk7CiAKICAgICAvLyBIYXMgdG8gYmUgZG9uZSBiZWZvcmUgUUFwcGxpY2F0aW9u
IGlzIGNvbnN0cnVjdGVkIGluIGNhc2UKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCBlMGU3M2NmZDVhMTg3Yzk1ZDBmYWEyNzlkOGFlZWM5NzFiMzgx
NmYzLi5iYWFkZTY0YzQ0Mzk4N2UzNmYyNTI1OTA4MjA5ZmNlNmZmZmVmYjA2IDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAK
KzIwMTItMDUtMDcgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMTYyOTksIHIxMTYzMDEsIGFuZCBy
MTE2MzAzLgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMTYyOTkK
KyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTE2MzAxCisgICAgICAg
IGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzExNjMwMworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU3OTUKKworICAgICAgICBCdWlsZCBp
cyBzdGlsbCBicm9rZW4gKFJlcXVlc3RlZCBieSBPc3N5IG9uICN3ZWJraXQpLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL3F0L21haW4uY3BwOgorICAgICAgICAobWFpbik6CisgICAgICAgICogUXRUZXN0
UGxhdGZvcm1QbHVnaW4vUXRUZXN0UGxhdGZvcm1QbHVnaW4ucHJvOiBSZW1vdmVkLgorICAgICAg
ICAqIFF0VGVzdFBsYXRmb3JtUGx1Z2luL1Rlc3RJbnRlZ3JhdGlvbi5jcHA6IFJlbW92ZWQuCisg
ICAgICAgICogUXRUZXN0UGxhdGZvcm1QbHVnaW4vVGVzdEludGVncmF0aW9uLmg6IFJlbW92ZWQu
CisgICAgICAgICogUXRUZXN0UGxhdGZvcm1QbHVnaW4vbWFjL1Rlc3RGb250RGF0YWJhc2UuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiBRdFRlc3RQbGF0Zm9ybVBsdWdpbi9tYWMvVGVzdEZvbnREYXRh
YmFzZS5tbTogUmVtb3ZlZC4KKyAgICAgICAgKiBRdFRlc3RQbGF0Zm9ybVBsdWdpbi9tYWMvVGVz
dEludGVncmF0aW9uTWFjLm1tOiBSZW1vdmVkLgorICAgICAgICAqIFF0VGVzdFBsYXRmb3JtUGx1
Z2luL21haW4uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFF0VGVzdFBsYXRmb3JtUGx1Z2luL3Rl
c3RwbGF0Zm9ybS5qc29uOiBSZW1vdmVkLgorICAgICAgICAqIFRvb2xzLnBybzoKKyAgICAgICAg
KiBXZWJLaXRUZXN0UnVubmVyL1RhcmdldC5wcmk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9xdC9tYWluLmNwcDoKKyAgICAgICAgKG1haW4pOgorCiAyMDEyLTA1LTA3ICBCYWxhenMgS2Vs
ZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIFF0IGJ1aWxk
IGZpeC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVl
LnBybyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybwppbmRleCBh
NmEyNTU5MjVlNjA3MDAyNTNkZjA2MmJiYWRhNDFlYzZjY2MyMGUxLi4yYWE1NGNkZmE0NmE3YWQ5
YmJiNGQwZjZhMjg3NGNiYjRmMjNlNzk4IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVt
cFJlbmRlclRyZWUucHJvCkBAIC01Nyw5ICs1Nyw0IEBAIHdpbmNlKjogewogREVGSU5FUyAtPSBV
U0VfU1lTVEVNX01BTExPQz0wCiBERUZJTkVTICs9IFVTRV9TWVNURU1fTUFMTE9DPTEKIAotbWFj
OiBMSUJfU1VGRklYPS5keWxpYgotd2luOiBMSUJfU1VGRklYPS5kbGwKLXVuaXg6IW1hYzogTElC
X1NVRkZJWD0uc28KLURFRklORVMgKz0gVEVTVF9QTEFURk9STV9QTFVHSU5fUEFUSD1cIlxcXCIk
JHtST09UX0JVSUxEX0RJUn0kJHtRTUFLRV9ESVJfU0VQfWxpYiQke1FNQUtFX0RJUl9TRVB9bGli
dGVzdHBsYXRmb3JtJCR7TElCX1NVRkZJWH1cXFwiXCIKLQogUkVTT1VSQ0VTID0gRHVtcFJlbmRl
clRyZWUucXJjCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9tYWluLmNwcCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L21haW4uY3BwCmluZGV4IGU2NDVlMTliZDRlZjg1MmZi
MGMzYzhjMDFmOGQwYjcyZGJhOTc1YmUuLjE3NjMzNjc3MDZmMWFiMjdlOGExNjNjYzVlNTQ1ZmZi
N2E4NWYwMGUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L21haW4uY3BwCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L21haW4uY3BwCkBAIC0zMSwxMiArMzEsNiBAQAog
CiAjaW5jbHVkZSAiUXRJbml0aWFsaXplVGVzdEZvbnRzLmgiCiAKLSNpZiBRVF9WRVJTSU9OID49
IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKLSNpbmNsdWRlIDxRUGxhdGZvcm1JbnRlZ3JhdGlv
bj4KLSNpbmNsdWRlIDxRUGxhdGZvcm1JbnRlZ3JhdGlvblBsdWdpbj4KLSNpbmNsdWRlIDxRUGx1
Z2luTG9hZGVyPgotI2VuZGlmCi0KICNpbmNsdWRlIDx3dGYvQWx3YXlzSW5saW5lLmg+CiAKICNp
bmNsdWRlIDxxc3RyaW5nbGlzdC5oPgpAQCAtMTI5LDMyICsxMjMsNiBAQCBzdGF0aWMgdm9pZCBX
VEZDcmFzaEhvb2soKQogfQogI2VuZGlmCiAKLXN0YXRpYyB2b2lkIGluaXRpYWxpemVUZXN0UGxh
dGZvcm1QbHVnaW4oaW50IGFyZ2MsIGNoYXIqIGNvbnN0IGFyZ3ZbXSkKLXsKLSNpZiBRVF9WRVJT
SU9OID49IFFUX1ZFUlNJT05fQ0hFQ0soNSwgMCwgMCkKLSAgICBRUGx1Z2luTG9hZGVyIGxvYWRl
cihURVNUX1BMQVRGT1JNX1BMVUdJTl9QQVRIKTsKLSAgICBRUGxhdGZvcm1JbnRlZ3JhdGlvblBs
dWdpbiogcGx1Z2luID0gcW9iamVjdF9jYXN0PFFQbGF0Zm9ybUludGVncmF0aW9uUGx1Z2luKj4o
bG9hZGVyLmluc3RhbmNlKCkpOwotICAgIGlmICghcGx1Z2luKQotICAgICAgICBxRmF0YWwoImNh
bm5vdCBpbml0aWFsaXplIHRlc3QgcGxhdGZvcm0gcGx1Z2luXG4iKTsKLQotICAgIFFCeXRlQXJy
YXkgcGxhdGZvcm0gPSBxZ2V0ZW52KCJRVF9RUEFfUExBVEZPUk0iKTsKLSAgICBRQnl0ZUFycmF5
IHBsYXRmb3JtUGx1Z2luUGF0aCA9IHFnZXRlbnYoIlFUX1FQQV9QTEFURk9STV9QTFVHSU5fUEFU
SCIpOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYXJnYzsgKytpKSB7Ci0gICAgICAgIGlmIChR
Qnl0ZUFycmF5KGFyZ3ZbaV0pID09ICItcGxhdGZvcm0iICYmIGkgKyAxIDwgYXJnYykKLSAgICAg
ICAgICAgIHBsYXRmb3JtID0gYXJndltpICsgMV07Ci0gICAgICAgIGVsc2UgaWYgKFFCeXRlQXJy
YXkoYXJndltpXSkgPT0gIi1wbGF0Zm9ybXBsdWdpbnBhdGgiICYmIGkgKyAxIDwgYXJnYykKLSAg
ICAgICAgICAgIHBsYXRmb3JtUGx1Z2luUGF0aCA9IGFyZ3ZbaSArIDFdOwotICAgIH0KLSAgICBp
ZiAoIXBsYXRmb3JtLmlzRW1wdHkoKSkKLSAgICAgICAgcXB1dGVudigiUVRfV0VCS0lUX09SSUdJ
TkFMX1BMQVRGT1JNIiwgcGxhdGZvcm0pOwotICAgIGlmICghcGxhdGZvcm1QbHVnaW5QYXRoLmlz
RW1wdHkoKSkKLSAgICAgICAgcXB1dGVudigiUVRfV0VCS0lUX09SSUdJTkFMX1BMQVRGT1JNX1BM
VUdJTl9QQVRIIiwgcGxhdGZvcm1QbHVnaW5QYXRoKTsKLQotICAgIHFwdXRlbnYoIlFUX1FQQV9Q
TEFURk9STV9QTFVHSU5fUEFUSCIsIFRFU1RfUExBVEZPUk1fUExVR0lOX1BBVEgpOwotICAgIHFw
dXRlbnYoIlFUX1FQQV9QTEFURk9STSIsICJ0ZXN0cGxhdGZvcm0iKTsKLSNlbmRpZgotfQotCiBp
bnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogewogI2lmZGVmIFFfT1NfV0lOCkBAIC0x
NzgsOCArMTQ2LDYgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKIAogICAgIFdl
YktpdDo6aW5pdGlhbGl6ZVRlc3RGb250cygpOwogCi0gICAgaW5pdGlhbGl6ZVRlc3RQbGF0Zm9y
bVBsdWdpbihhcmdjLCBhcmd2KTsKLQogICAgIFFBcHBsaWNhdGlvbjo6c2V0R3JhcGhpY3NTeXN0
ZW0oInJhc3RlciIpOwogICAgIFFBcHBsaWNhdGlvbjo6c2V0U3R5bGUobmV3IFFXaW5kb3dzU3R5
bGUpOwogCmRpZmYgLS1naXQgYS9Ub29scy9RdFRlc3RQbGF0Zm9ybVBsdWdpbi9RdFRlc3RQbGF0
Zm9ybVBsdWdpbi5wcm8gYi9Ub29scy9RdFRlc3RQbGF0Zm9ybVBsdWdpbi9RdFRlc3RQbGF0Zm9y
bVBsdWdpbi5wcm8KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM5NTI4YTY3YWUxZmZj
MjIyYTJmMjQwYzU4MjA5M2NmZjI0ZDMyMTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvUXRUZXN0UGxhdGZvcm1QbHVnaW4vUXRUZXN0UGxhdGZv
cm1QbHVnaW4ucHJvCisrKyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotVEFSR0VUID0gdGVz
dHBsYXRmb3JtCi1ERVNURElSID0gJCRST09UX0JVSUxEX0RJUi9saWIKLQotbG9hZChxdF9wbHVn
aW4pCi1RVCA9IGNvcmUgZ3VpIGNvcmUtcHJpdmF0ZSBndWktcHJpdmF0ZSBwbGF0Zm9ybXN1cHBv
cnQtcHJpdmF0ZQotCi1IRUFERVJTID0gXAotICAgIFRlc3RJbnRlZ3JhdGlvbi5oIFwKLQotU09V
UkNFUyA9IFwKLSAgICBtYWluLmNwcCBcCi0gICAgVGVzdEludGVncmF0aW9uLmNwcCBcCi0KLW1h
YyB7Ci0gICAgTElCUyArPSAtZnJhbWV3b3JrIEZvdW5kYXRpb24KLSAgICBPQkpFQ1RJVkVfSEVB
REVSUyArPSBtYWMvVGVzdEZvbnREYXRhYmFzZS5oCi0gICAgT0JKRUNUSVZFX1NPVVJDRVMgKz0g
XAotICAgICAgICBtYWMvVGVzdEZvbnREYXRhYmFzZS5tbSBcCi0gICAgICAgIG1hYy9UZXN0SW50
ZWdyYXRpb25NYWMubW0gXAotfQpkaWZmIC0tZ2l0IGEvVG9vbHMvUXRUZXN0UGxhdGZvcm1QbHVn
aW4vVGVzdEludGVncmF0aW9uLmNwcCBiL1Rvb2xzL1F0VGVzdFBsYXRmb3JtUGx1Z2luL1Rlc3RJ
bnRlZ3JhdGlvbi5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0MzBjNmE0ODUx
YmJiYmY3MjdiYTUyOGUwNDQ3NTc0OWU4ODhlZDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvUXRUZXN0UGxhdGZvcm1QbHVnaW4vVGVzdEludGVn
cmF0aW9uLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTIgVW5pdmVyc2l0eSBvZiBTemVnZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBVTklWRVJTSVRZIE9G
IFNaRUdFRCBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFVOSVZFUlNJVFkgT0Yg
U1pFR0VEIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2luY2x1ZGUgIlRlc3RJbnRlZ3JhdGlvbi5oIgotI2luY2x1ZGUgPFFDb3JlQXBwbGlj
YXRpb24+Ci0jaW5jbHVkZSA8UVN0cmluZ0xpc3Q+Ci0jaW5jbHVkZSA8UXRHbG9iYWw+Ci0jaW5j
bHVkZSA8UXRHdWkvcHJpdmF0ZS9xcGxhdGZvcm1pbnRlZ3JhdGlvbmZhY3RvcnlfcXBhX3AuaD4K
LSNpbmNsdWRlIDxxc3lzdGVtZGV0ZWN0aW9uLmg+Ci0KLVRlc3RJbnRlZ3JhdGlvbjo6VGVzdElu
dGVncmF0aW9uKCkKLXsKLSAgICBRU3RyaW5nIGRlZmF1bHRQbGF0Zm9ybSA9Ci0jaWYgZGVmaW5l
ZChRX09TX01BQykKLSAgICAgICAgUUxhdGluMVN0cmluZygiY29jb2EiKTsKLSNlbGlmIGRlZmlu
ZWQgKFFfT1NfV0lOKQotICAgICAgICBRTGF0aW4xU3RyaW5nKCJ3aW5kb3dzIik7Ci0jZWxpZiAh
ZGVmaW5lZCAoUVRfTk9fWENCKQotICAgICAgICBRTGF0aW4xU3RyaW5nKCJ4Y2IiKTsKLSNlbGlm
ICFkZWZpbmVkIChRVF9OT19XQVlMQU5EKQotICAgICAgICBRTGF0aW4xU3RyaW5nKCJ3YXlsYW5k
Iik7Ci0jZWxzZQotICAgICAgICBRTGF0aW4xU3RyaW5nKCJtaW5pbWFsIik7Ci0jZW5kaWYKLQot
ICAgIFFCeXRlQXJyYXkgb3JpZ2luYWxQbGF0Zm9ybSA9IHFnZXRlbnYoIlFUX1dFQktJVF9PUklH
SU5BTF9QTEFURk9STSIpOwotICAgIFFCeXRlQXJyYXkgb3JpZ2luYWxQbHVnaW5QYXRoID0gcWdl
dGVudigiUVRfV0VCS0lUX09SSUdJTkFMX1BMQVRGT1JNX1BMVUdJTl9QQVRIIik7Ci0gICAgUVN0
cmluZyBwbGF0Zm9ybSA9IG9yaWdpbmFsUGxhdGZvcm0uaXNFbXB0eSgpID8gZGVmYXVsdFBsYXRm
b3JtIDogUVN0cmluZzo6ZnJvbUxhdGluMShvcmlnaW5hbFBsYXRmb3JtLmRhdGEoKSk7Ci0gICAg
UVN0cmluZyBwbHVnaW5QYXRoID0gb3JpZ2luYWxQbHVnaW5QYXRoLmlzRW1wdHkoKSA/IFFTdHJp
bmcoKSA6IFFTdHJpbmc6OmZyb21MYXRpbjEob3JpZ2luYWxQbHVnaW5QYXRoLmRhdGEoKSk7Ci0K
LSAgICBtX2ludGVncmF0aW9uLnJlc2V0KFFQbGF0Zm9ybUludGVncmF0aW9uRmFjdG9yeTo6Y3Jl
YXRlKHBsYXRmb3JtLCBwbHVnaW5QYXRoKSk7Ci19Ci0KLSNpZiAhZGVmaW5lZChRX09TX01BQykK
LVFQbGF0Zm9ybUZvbnREYXRhYmFzZSogVGVzdEludGVncmF0aW9uOjpmb250RGF0YWJhc2UoKSBj
b25zdAotewotICAgIHJldHVybiBtX2ludGVncmF0aW9uLT5mb250RGF0YWJhc2UoKTsKLX0KLSNl
bmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvUXRUZXN0UGxhdGZvcm1QbHVnaW4vVGVzdEludGVncmF0
aW9uLmggYi9Ub29scy9RdFRlc3RQbGF0Zm9ybVBsdWdpbi9UZXN0SW50ZWdyYXRpb24uaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWU0OGUxNWMxMjAzY2FiNGRjMDljYmQyODliOWE1
NjhkOTExNjcyOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Ub29scy9RdFRlc3RQbGF0Zm9ybVBsdWdpbi9UZXN0SW50ZWdyYXRpb24uaAorKysgL2Rldi9u
dWxsCkBAIC0xLDY4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgVW5pdmVyc2l0
eSBvZiBTemVnZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBVTklWRVJTSVRZIE9GIFNaRUdFRCBgYEFTIElTJycgQU5E
IEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIFVOSVZFUlNJVFkgT0YgU1pFR0VEIE9SCi0gKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBUZXN0SW50
ZWdyYXRpb25faAotI2RlZmluZSBUZXN0SW50ZWdyYXRpb25faAotCi0jaW5jbHVkZSA8UVBsYXRm
b3JtRm9udERhdGFiYXNlPgotI2luY2x1ZGUgPFFQbGF0Zm9ybUludGVncmF0aW9uPgotI2luY2x1
ZGUgPFFQbGF0Zm9ybVNjcmVlbj4KLQotY2xhc3MgVGVzdEludGVncmF0aW9uIDogcHVibGljIFFQ
bGF0Zm9ybUludGVncmF0aW9uIHsKLXB1YmxpYzoKLSAgICBUZXN0SW50ZWdyYXRpb24oKTsKLXBy
aXZhdGU6Ci0gICAgdmlydHVhbCBRUGxhdGZvcm1Gb250RGF0YWJhc2UgKmZvbnREYXRhYmFzZSgp
IGNvbnN0OwotCi0gICAgLy8gUmVkaXJlY3RpbmcgZXZlcnl0aGluZyBlbHNlLgotICAgIHZpcnR1
YWwgYm9vbCBoYXNDYXBhYmlsaXR5KENhcGFiaWxpdHkgY2FwKSB7IHJldHVybiBtX2ludGVncmF0
aW9uLT5oYXNDYXBhYmlsaXR5KGNhcCk7IH0KLSAgICB2aXJ0dWFsIFFQbGF0Zm9ybVBpeG1hcCog
Y3JlYXRlUGxhdGZvcm1QaXhtYXAoUVBsYXRmb3JtUGl4bWFwOjpQaXhlbFR5cGUgdHlwZSkgY29u
c3QgeyByZXR1cm4gbV9pbnRlZ3JhdGlvbi0+Y3JlYXRlUGxhdGZvcm1QaXhtYXAodHlwZSk7IH0K
LSAgICB2aXJ0dWFsIFFQbGF0Zm9ybVdpbmRvdyogY3JlYXRlUGxhdGZvcm1XaW5kb3coUVdpbmRv
dyAqd2luZG93KSBjb25zdCB7IHJldHVybiBtX2ludGVncmF0aW9uLT5jcmVhdGVQbGF0Zm9ybVdp
bmRvdyh3aW5kb3cpOyB9Ci0gICAgdmlydHVhbCBRUGxhdGZvcm1CYWNraW5nU3RvcmUqIGNyZWF0
ZVBsYXRmb3JtQmFja2luZ1N0b3JlKFFXaW5kb3cgKndpbmRvdykgY29uc3QgeyByZXR1cm4gbV9p
bnRlZ3JhdGlvbi0+Y3JlYXRlUGxhdGZvcm1CYWNraW5nU3RvcmUod2luZG93KTsgfQotI2lmbmRl
ZiBRVF9OT19PUEVOR0wKLSAgICB2aXJ0dWFsIFFQbGF0Zm9ybU9wZW5HTENvbnRleHQqIGNyZWF0
ZVBsYXRmb3JtT3BlbkdMQ29udGV4dChRT3BlbkdMQ29udGV4dCAqY29udGV4dCkgY29uc3QgeyBy
ZXR1cm4gbV9pbnRlZ3JhdGlvbi0+Y3JlYXRlUGxhdGZvcm1PcGVuR0xDb250ZXh0KGNvbnRleHQp
OyB9Ci0jZW5kaWYKLSAgICB2aXJ0dWFsIFFQbGF0Zm9ybVNoYXJlZEdyYXBoaWNzQ2FjaGUqIGNy
ZWF0ZVBsYXRmb3JtU2hhcmVkR3JhcGhpY3NDYWNoZShjb25zdCBjaGFyICpjYWNoZUlkKSBjb25z
dCB7IHJldHVybiBtX2ludGVncmF0aW9uLT5jcmVhdGVQbGF0Zm9ybVNoYXJlZEdyYXBoaWNzQ2Fj
aGUoY2FjaGVJZCk7IH0KLSAgICB2aXJ0dWFsIFFBYnN0cmFjdEV2ZW50RGlzcGF0Y2hlciogZ3Vp
VGhyZWFkRXZlbnREaXNwYXRjaGVyKCkgY29uc3QgeyByZXR1cm4gbV9pbnRlZ3JhdGlvbi0+Z3Vp
VGhyZWFkRXZlbnREaXNwYXRjaGVyKCk7IH0KLSNpZm5kZWYgUVRfTk9fQ0xJUEJPQVJECi0gICAg
dmlydHVhbCBRUGxhdGZvcm1DbGlwYm9hcmQqIGNsaXBib2FyZCgpIGNvbnN0IHsgcmV0dXJuIG1f
aW50ZWdyYXRpb24tPmNsaXBib2FyZCgpOyB9Ci0jZW5kaWYKLSNpZm5kZWYgUVRfTk9fRFJBR0FO
RERST1AKLSAgICB2aXJ0dWFsIFFQbGF0Zm9ybURyYWcqIGRyYWcoKSBjb25zdCB7IHJldHVybiBt
X2ludGVncmF0aW9uLT5kcmFnKCk7IH0KLSNlbmRpZgotICAgIHZpcnR1YWwgUVBsYXRmb3JtSW5w
dXRDb250ZXh0KiBpbnB1dENvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX2ludGVncmF0aW9uLT5p
bnB1dENvbnRleHQoKTsgfQotICAgIHZpcnR1YWwgUVBsYXRmb3JtQWNjZXNzaWJpbGl0eSogYWNj
ZXNzaWJpbGl0eSgpIGNvbnN0IHsgcmV0dXJuIG1faW50ZWdyYXRpb24tPmFjY2Vzc2liaWxpdHko
KTsgfQotICAgIHZpcnR1YWwgUVBsYXRmb3JtTmF0aXZlSW50ZXJmYWNlKiBuYXRpdmVJbnRlcmZh
Y2UoKSBjb25zdCB7IHJldHVybiBtX2ludGVncmF0aW9uLT5uYXRpdmVJbnRlcmZhY2UoKTsgfQot
ICAgIHZpcnR1YWwgUVBsYXRmb3JtU2VydmljZXMqIHNlcnZpY2VzKCkgY29uc3QgeyByZXR1cm4g
bV9pbnRlZ3JhdGlvbi0+c2VydmljZXMoKTsgfQotICAgIHZpcnR1YWwgUVZhcmlhbnQgc3R5bGVI
aW50KFN0eWxlSGludCBoaW50KSBjb25zdCB7IHJldHVybiBtX2ludGVncmF0aW9uLT5zdHlsZUhp
bnQoaGludCk7IH0KLSAgICB2aXJ0dWFsIFFQbGF0Zm9ybVRoZW1lKiBjcmVhdGVQbGF0Zm9ybVRo
ZW1lKGNvbnN0IFFTdHJpbmcmIG5hbWUpIGNvbnN0IHsgcmV0dXJuIG1faW50ZWdyYXRpb24tPmNy
ZWF0ZVBsYXRmb3JtVGhlbWUobmFtZSk7IH0KLQotICAgIFFTY29wZWRQb2ludGVyPFFQbGF0Zm9y
bUludGVncmF0aW9uPiBtX2ludGVncmF0aW9uOwotI2lmIGRlZmluZWQoUV9PU19NQUMpCi0gICAg
bXV0YWJsZSBRU2NvcGVkUG9pbnRlcjxRUGxhdGZvcm1Gb250RGF0YWJhc2U+IG1fZm9udERhdGFi
YXNlOwotI2VuZGlmCi19OwotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVzdFBsYXRm
b3JtUGx1Z2luL21hYy9UZXN0Rm9udERhdGFiYXNlLmggYi9Ub29scy9RdFRlc3RQbGF0Zm9ybVBs
dWdpbi9tYWMvVGVzdEZvbnREYXRhYmFzZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBhMDhhZTUyYmM3ZjhiN2E2MmEzNjQ5YzNiYzQ4ZjY2MzM4OWY4NzczLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1F0VGVzdFBsYXRmb3JtUGx1
Z2luL21hYy9UZXN0Rm9udERhdGFiYXNlLmgKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMg
c3Vic2lkaWFyeSgtaWVzKS4KLSAqIENvcHlyaWdodCAoQykgMjAxMiBVbml2ZXJzaXR5IG9mIFN6
ZWdlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgVXNhZ2UKLSAqIFRoaXMgZmlsZSBtYXkgYmUgdXNlZCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgdmVyc2lvbiAy
LjEgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKiBQbGVh
c2UgcmV2aWV3IHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gdG8gZW5zdXJlIHRoZSBHTlUgTGVz
c2VyCi0gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMi4xIHJlcXVpcmVtZW50cyB3
aWxsIGJlIG1ldDoKLSAqIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9vbGQtbGljZW5zZXMv
bGdwbC0yLjEuaHRtbC4KLSAqCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBVc2FnZQot
ICogQWx0ZXJuYXRpdmVseSwgdGhpcyBmaWxlIG1heSBiZSB1c2VkIHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIEdlbmVyYWwKLSAqIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMy4wIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICogUGxlYXNlIHJldmlldyB0
aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIHRvIGVuc3VyZSB0aGUgR05VIEdlbmVyYWwgUHVibGlj
Ci0gKiBMaWNlbnNlIHZlcnNpb24gMy4wIHJlcXVpcmVtZW50cyB3aWxsIGJlIG1ldDoKLSAqIGh0
dHA6Ly93d3cuZ251Lm9yZy9jb3B5bGVmdC9ncGwuaHRtbC4KLSAqCi0gKi8KLQotI2lmbmRlZiBU
ZXN0Rm9udERhdGFiYXNlX2gKLSNkZWZpbmUgVGVzdEZvbnREYXRhYmFzZV9oCi0KLSNpbmNsdWRl
IDxRRm9udD4KLSNpbmNsdWRlIDxRdFBsYXRmb3JtU3VwcG9ydC9wcml2YXRlL3Fjb3JldGV4dGZv
bnRkYXRhYmFzZV9wLmg+Ci0KLWNsYXNzIFRlc3RGb250RGF0YWJhc2UgOiBwdWJsaWMgUUNvcmVU
ZXh0Rm9udERhdGFiYXNlIHsKLXByaXZhdGU6Ci0gICAgdmlydHVhbCB2b2lkIHBvcHVsYXRlRm9u
dERhdGFiYXNlKCk7Ci0gICAgdmlydHVhbCBRRm9udCBkZWZhdWx0Rm9udCgpIGNvbnN0OwotfTsK
LQotI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9RdFRlc3RQbGF0Zm9ybVBsdWdpbi9tYWMvVGVz
dEZvbnREYXRhYmFzZS5tbSBiL1Rvb2xzL1F0VGVzdFBsYXRmb3JtUGx1Z2luL21hYy9UZXN0Rm9u
dERhdGFiYXNlLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlYjI2N2ZlOTdjZmRl
M2Q5NDgyNGJiYzU4NjQ5MWEwNmI4OTVlMDAzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1F0VGVzdFBsYXRmb3JtUGx1Z2luL21hYy9UZXN0Rm9u
dERhdGFiYXNlLm1tCisrKyAvZGV2L251bGwKQEAgLTEsMTk4ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTIgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1p
ZXMpLgotICogQ29weXJpZ2h0IChDKSAyMDEyIFVuaXZlcnNpdHkgb2YgU3plZ2VkLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBV
c2FnZQotICogVGhpcyBmaWxlIG1heSBiZSB1c2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSB2ZXJzaW9uIDIuMSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqIFBsZWFzZSByZXZpZXcgdGhl
IGZvbGxvd2luZyBpbmZvcm1hdGlvbiB0byBlbnN1cmUgdGhlIEdOVSBMZXNzZXIKLSAqIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyLjEgcmVxdWlyZW1lbnRzIHdpbGwgYmUgbWV0Ogot
ICogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL29sZC1saWNlbnNlcy9sZ3BsLTIuMS5odG1s
LgotICoKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIFVzYWdlCi0gKiBBbHRlcm5hdGl2
ZWx5LCB0aGlzIGZpbGUgbWF5IGJlIHVzZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu
ZXJhbAotICogUHVibGljIExpY2Vuc2UgdmVyc2lvbiAzLjAgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKiBQbGVhc2UgcmV2aWV3IHRoZSBmb2xsb3dpbmcg
aW5mb3JtYXRpb24gdG8gZW5zdXJlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2Ug
dmVyc2lvbiAzLjAgcmVxdWlyZW1lbnRzIHdpbGwgYmUgbWV0OgotICogaHR0cDovL3d3dy5nbnUu
b3JnL2NvcHlsZWZ0L2dwbC5odG1sLgotICoKLSAqLwotCi0jaW5jbHVkZSAiVGVzdEZvbnREYXRh
YmFzZS5oIgotI2luY2x1ZGUgPFF0Q29yZS9RRGlyPgotI2luY2x1ZGUgPFF0Q29yZS9RRmlsZUlu
Zm8+Ci0jaW5jbHVkZSA8UXRDb3JlL3ByaXZhdGUvcWNvcmVfbWFjX3AuaD4KLSNpbmNsdWRlIDxR
dFBsYXRmb3JtU3VwcG9ydC9wcml2YXRlL3Fmb250ZW5naW5lX2NvcmV0ZXh0X3AuaD4KLSNpbXBv
cnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgotCi0vLyBGcm9tIFF0Lgotc3RhdGljIGNvbnN0
IGNoYXIgKmxhbmd1YWdlRm9yV3JpdGluZ1N5c3RlbVtdID0gewotICAgIDAsICAgICAvLyBBbnkK
LSAgICAiZW4iLCAgLy8gTGF0aW4KLSAgICAiZWwiLCAgLy8gR3JlZWsKLSAgICAicnUiLCAgLy8g
Q3lyaWxsaWMKLSAgICAiaHkiLCAgLy8gQXJtZW5pYW4KLSAgICAiaGUiLCAgLy8gSGVicmV3Ci0g
ICAgImFyIiwgIC8vIEFyYWJpYwotICAgICJzeXIiLCAvLyBTeXJpYWMKLSAgICAiZGl2IiwgLy8g
VGhhYW5hCi0gICAgImhpIiwgIC8vIERldmFuYWdhcmkKLSAgICAiYm4iLCAgLy8gQmVuZ2FsaQot
ICAgICJwYSIsICAvLyBHdXJtdWtoaQotICAgICJndSIsICAvLyBHdWphcmF0aQotICAgICJvciIs
ICAvLyBPcml5YQotICAgICJ0YSIsICAvLyBUYW1pbAotICAgICJ0ZSIsICAvLyBUZWx1Z3UKLSAg
ICAia24iLCAgLy8gS2FubmFkYQotICAgICJtbCIsICAvLyBNYWxheWFsYW0KLSAgICAic2kiLCAg
Ly8gU2luaGFsYQotICAgICJ0aCIsICAvLyBUaGFpCi0gICAgImxvIiwgIC8vIExhbwotICAgICJi
byIsICAvLyBUaWJldGFuCi0gICAgIm15IiwgIC8vIE15YW5tYXIKLSAgICAia2EiLCAgLy8gR2Vv
cmdpYW4KLSAgICAia20iLCAgLy8gS2htZXIKLSAgICAiemgtY24iLCAvLyBTaW1wbGlmaWVkQ2hp
bmVzZQotICAgICJ6aC10dyIsIC8vIFRyYWRpdGlvbmFsQ2hpbmVzZQotICAgICJqYSIsICAvLyBK
YXBhbmVzZQotICAgICJrbyIsICAvLyBLb3JlYW4KLSAgICAidmkiLCAgLy8gVmlldG5hbWVzZQot
ICAgIDAsIC8vIFN5bWJvbAotICAgIDAsIC8vIE9naGFtCi0gICAgMCwgLy8gUnVuaWMKLSAgICAw
IC8vIE4nS28KLX07Ci1lbnVtIHsgTGFuZ3VhZ2VDb3VudCA9IHNpemVvZihsYW5ndWFnZUZvcldy
aXRpbmdTeXN0ZW0pIC8gc2l6ZW9mKGNvbnN0IGNoYXIqKSB9OwotCi1RRm9udCBUZXN0Rm9udERh
dGFiYXNlOjpkZWZhdWx0Rm9udCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFFGb250KFFTdHJpbmdM
aXRlcmFsKCJOaW1idXMgU2FucyBMIikpOwotfQotCi12b2lkIFRlc3RGb250RGF0YWJhc2U6OnBv
cHVsYXRlRm9udERhdGFiYXNlKCkKLXsKLSAgICAvLyBEZXRlcm1pbmUgdGhlIHNldCBvZiBkZWZh
dWx0IHN5c3RlbSBmb250cyBpbiBvcmRlciB0byBmaWx0ZXIgdGhlbSBvdXQuCi0gICAgUUNGVHlw
ZTxDVEZvbnRDb2xsZWN0aW9uUmVmPiBzeXN0ZW1Db2xsZWN0aW9uKENURm9udENvbGxlY3Rpb25D
cmVhdGVGcm9tQXZhaWxhYmxlRm9udHMoMCkpOwotICAgIFFDRlR5cGU8Q0ZBcnJheVJlZj4gc3lz
dGVtRm9udHMgPSBzeXN0ZW1Db2xsZWN0aW9uID8gQ1RGb250Q29sbGVjdGlvbkNyZWF0ZU1hdGNo
aW5nRm9udERlc2NyaXB0b3JzKHN5c3RlbUNvbGxlY3Rpb24pIDogMDsKLSAgICBpZiAoIXN5c3Rl
bUZvbnRzKQotICAgICAgICBxRmF0YWwoIkNhbm5vdCBnZXQgc3lzdGVtIGZvbnRzXG4iKTsKLQot
ICAgIFFCeXRlQXJyYXkgdGVzdEZvbnRzVmFyID0gZ2V0ZW52KCJXRUJLSVRfVEVTVEZPTlRTIik7
Ci0gICAgUURpciBmb250c0RpcihRU3RyaW5nOjpmcm9tTGF0aW4xKHRlc3RGb250c1ZhcikpOwot
ICAgIGlmICh0ZXN0Rm9udHNWYXIuaXNFbXB0eSgpIHx8ICFmb250c0Rpci5leGlzdHMoKSkgewot
ICAgICAgICBxRmF0YWwoIlxuXG4iCi0gICAgICAgICAgICAgICAgIi0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIK
LSAgICAgICAgICAgICAgICAiUUNvcmVUZXh0Rm9udERhdGFiYXNlV0tUZXN0OlxuIgotICAgICAg
ICAgICAgICAgICJXRUJLSVRfVEVTVEZPTlRTIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBz
ZXQgY29ycmVjdGx5LlxuIgotICAgICAgICAgICAgICAgICJUaGlzIHZhcmlhYmxlIGhhcyB0byBw
b2ludCB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlIGZvbnRzXG4iCi0gICAgICAgICAg
ICAgICAgInlvdSBjYW4gY2xvbmUgZnJvbSBnaXQ6Ly9naXRvcmlvdXMub3JnL3F0d2Via2l0L3Rl
c3Rmb250cy5naXRcbiIKLSAgICAgICAgICAgICAgICAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgotICAgICAg
ICAgICAgICAgKTsKLSAgICB9Ci0KLSAgICBRQ0ZUeXBlPENGTXV0YWJsZVNldFJlZj4gc3lzdGVt
Rm9udFNldChDRlNldENyZWF0ZU11dGFibGUoMCwgMCwgJmtDRlR5cGVTZXRDYWxsQmFja3MpKTsK
LSAgICBmb3IgKGludCBpID0gMDsgaSA8IENGQXJyYXlHZXRDb3VudChzeXN0ZW1Gb250cyk7ICsr
aSkgewotICAgICAgICBDVEZvbnREZXNjcmlwdG9yUmVmIGZvbnQgPSBzdGF0aWNfY2FzdDxDVEZv
bnREZXNjcmlwdG9yUmVmPihDRkFycmF5R2V0VmFsdWVBdEluZGV4KHN5c3RlbUZvbnRzLCBpKSk7
Ci0gICAgICAgIENGU2V0QWRkVmFsdWUoc3lzdGVtRm9udFNldCwgZm9udCk7Ci0gICAgfQotCi0g
ICAgLy8gQWRkIHRoZSB0ZXN0IGZvbnRzIHRvIHRoZSBzZXQuCi0gICAgUVN0cmluZ0xpc3QgZmls
dGVyczsKLSAgICBmaWx0ZXJzIDw8IFFTdHJpbmdMaXRlcmFsKCIqLnR0ZiIpOwotICAgIFFGaWxl
SW5mb0xpc3QgZmlsZXMgPSBmb250c0Rpci5lbnRyeUluZm9MaXN0KGZpbHRlcnMsIFFEaXI6OkZp
bGVzKTsKLSAgICBmb3JlYWNoIChRRmlsZUluZm8gZmlsZSwgZmlsZXMpIHsKLSAgICAgICAgUUJ5
dGVBcnJheSBwYXRoID0gUUZpbGU6OmVuY29kZU5hbWUoZmlsZS5jYW5vbmljYWxGaWxlUGF0aCgp
KTsKLSAgICAgICAgUUNGVHlwZTxDRlVSTFJlZj4gZm9udEZpbGUoQ0ZVUkxDcmVhdGVGcm9tRmls
ZVN5c3RlbVJlcHJlc2VudGF0aW9uKDAsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUludDgqPihw
YXRoLmNvbnN0RGF0YSgpKSwgcGF0aC5sZW5ndGgoKSwgZmFsc2UpKTsKLSAgICAgICAgQ0ZFcnJv
clJlZiBlcnJvcjsKLSAgICAgICAgaWYgKCFDVEZvbnRNYW5hZ2VyUmVnaXN0ZXJGb250c0ZvclVS
TChmb250RmlsZSwga0NURm9udE1hbmFnZXJTY29wZVByb2Nlc3MsICZlcnJvcikpIHsKLSAgICAg
ICAgICAgIENGUmVsZWFzZShlcnJvcik7Ci0gICAgICAgICAgICBxRmF0YWwoIkZhaWxlZCByZWdp
c3RlcmluZyBmb250IGZpbGU6ICVzXG4iLCBwYXRoLmNvbnN0RGF0YSgpKTsKLSAgICAgICAgfQot
ICAgIH0KLQotICAgIC8vIFRoaXMgc3Vic3RpdHV0aW9uIGlzIGRvbmUgdmlhIGZvbnRzLmNvbmYg
b24gTGludXguCi0gICAgUUZvbnQ6Omluc2VydFN1YnN0aXR1dGlvbihRU3RyaW5nTGl0ZXJhbCgi
SGVsdmV0aWNhIiksIFFTdHJpbmc6OmZyb21MYXRpbjEoZGVmYXVsdFdlYktpdFRlc3RGb250RmFt
aWx5KSk7Ci0KLSAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgLy8gVGhpcyBpcyBhIGNv
cHkgb2YgUUNvcmV0ZXh0Rm9udERhdGFiYXNlOjpwb3B1bGF0ZUZvbnREYXRhYmFzZSBmcm9tIFF0
IGV4Y2VwdAotICAgIC8vIHdlIGZpbHRlciBvdXQgdGhlIHN5c3RlbSBmb250cy4KLQotICAgIFFD
RlR5cGU8Q1RGb250Q29sbGVjdGlvblJlZj4gY29sbGVjdGlvbiA9IENURm9udENvbGxlY3Rpb25D
cmVhdGVGcm9tQXZhaWxhYmxlRm9udHMoMCk7Ci0gICAgUUNGVHlwZTxDRkFycmF5UmVmPiBmb250
cyA9IENURm9udENvbGxlY3Rpb25DcmVhdGVNYXRjaGluZ0ZvbnREZXNjcmlwdG9ycyhjb2xsZWN0
aW9uKTsKLQotICAgIFFTdHJpbmcgZm91bmRyeU5hbWUgPSBRTGF0aW4xU3RyaW5nKCJDb3JlVGV4
dCIpOwotICAgIGNvbnN0IGludCBudW1Gb250cyA9IENGQXJyYXlHZXRDb3VudChmb250cyk7Ci0g
ICAgUUhhc2g8UVN0cmluZywgUVN0cmluZz4gcHNOYW1lVG9GYW1pbHk7Ci0gICAgZm9yIChpbnQg
aSA9IDA7IGkgPCBudW1Gb250czsgKytpKSB7Ci0gICAgICAgIENURm9udERlc2NyaXB0b3JSZWYg
Zm9udCA9IHN0YXRpY19jYXN0PENURm9udERlc2NyaXB0b3JSZWY+KENGQXJyYXlHZXRWYWx1ZUF0
SW5kZXgoZm9udHMsIGkpKTsKLSAgICAgICAgaWYgKENGU2V0R2V0Q291bnRPZlZhbHVlKHN5c3Rl
bUZvbnRTZXQsIGZvbnQpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIFFDRlN0cmlu
ZyBmYW1pbHlOYW1lID0gc3RhdGljX2Nhc3Q8Q0ZTdHJpbmdSZWY+KENURm9udERlc2NyaXB0b3JD
b3B5TG9jYWxpemVkQXR0cmlidXRlKGZvbnQsIGtDVEZvbnRGYW1pbHlOYW1lQXR0cmlidXRlLCBO
VUxMKSk7Ci0gICAgICAgIFFDRlR5cGU8Q0ZEaWN0aW9uYXJ5UmVmPiBzdHlsZXMgPSBzdGF0aWNf
Y2FzdDxDRkRpY3Rpb25hcnlSZWY+KENURm9udERlc2NyaXB0b3JDb3B5QXR0cmlidXRlKGZvbnQs
IGtDVEZvbnRUcmFpdHNBdHRyaWJ1dGUpKTsKLSAgICAgICAgUUZvbnQ6OldlaWdodCB3ZWlnaHQg
PSBRRm9udDo6Tm9ybWFsOwotICAgICAgICBRRm9udDo6U3R5bGUgc3R5bGUgPSBRRm9udDo6U3R5
bGVOb3JtYWw7Ci0gICAgICAgIFFGb250OjpTdHJldGNoIHN0cmV0Y2ggPSBRRm9udDo6VW5zdHJl
dGNoZWQ7Ci0gICAgICAgIGJvb2wgZml4ZWRQaXRjaCA9IGZhbHNlOwotCi0gICAgICAgIGlmIChz
dHlsZXMpIHsKLSAgICAgICAgICAgIGlmIChDRk51bWJlclJlZiB3ZWlnaHRWYWx1ZSA9IHN0YXRp
Y19jYXN0PENGTnVtYmVyUmVmPihDRkRpY3Rpb25hcnlHZXRWYWx1ZShzdHlsZXMsIGtDVEZvbnRX
ZWlnaHRUcmFpdCkpKSB7Ci0gICAgICAgICAgICAgICAgUV9BU1NFUlQoQ0ZOdW1iZXJJc0Zsb2F0
VHlwZSh3ZWlnaHRWYWx1ZSkpOwotICAgICAgICAgICAgICAgIGRvdWJsZSBkOwotICAgICAgICAg
ICAgICAgIGlmIChDRk51bWJlckdldFZhbHVlKHdlaWdodFZhbHVlLCBrQ0ZOdW1iZXJEb3VibGVU
eXBlLCAmZCkpCi0gICAgICAgICAgICAgICAgICAgIHdlaWdodCA9IChkID4gMC4wKSA/IFFGb250
OjpCb2xkIDogUUZvbnQ6Ok5vcm1hbDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChD
Rk51bWJlclJlZiBpdGFsaWMgPSBzdGF0aWNfY2FzdDxDRk51bWJlclJlZj4oQ0ZEaWN0aW9uYXJ5
R2V0VmFsdWUoc3R5bGVzLCBrQ1RGb250U2xhbnRUcmFpdCkpKSB7Ci0gICAgICAgICAgICAgICAg
UV9BU1NFUlQoQ0ZOdW1iZXJJc0Zsb2F0VHlwZShpdGFsaWMpKTsKLSAgICAgICAgICAgICAgICBk
b3VibGUgZDsKLSAgICAgICAgICAgICAgICBpZiAoQ0ZOdW1iZXJHZXRWYWx1ZShpdGFsaWMsIGtD
Rk51bWJlckRvdWJsZVR5cGUsICZkKSkgewotICAgICAgICAgICAgICAgICAgICBpZiAoZCA+IDAu
MCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlID0gUUZvbnQ6OlN0eWxlSXRhbGljOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChDRk51bWJl
clJlZiBzeW1ib2xpYyA9IHN0YXRpY19jYXN0PENGTnVtYmVyUmVmPihDRkRpY3Rpb25hcnlHZXRW
YWx1ZShzdHlsZXMsIGtDVEZvbnRTeW1ib2xpY1RyYWl0KSkpIHsKLSAgICAgICAgICAgICAgICBp
bnQgZDsKLSAgICAgICAgICAgICAgICBpZiAoQ0ZOdW1iZXJHZXRWYWx1ZShzeW1ib2xpYywga0NG
TnVtYmVyU0ludDMyVHlwZSwgJmQpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChkICYga0NU
Rm9udE1vbm9TcGFjZVRyYWl0KQotICAgICAgICAgICAgICAgICAgICAgICAgZml4ZWRQaXRjaCA9
IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChkICYga0NURm9udEV4cGFuZGVkVHJhaXQp
Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdHJldGNoID0gUUZvbnQ6OkV4cGFuZGVkOwotICAg
ICAgICAgICAgICAgICAgICBlbHNlIGlmIChkICYga0NURm9udENvbmRlbnNlZFRyYWl0KQotICAg
ICAgICAgICAgICAgICAgICAgICAgc3RyZXRjaCA9IFFGb250OjpDb25kZW5zZWQ7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgfQotICAgICAgICB9Ci0KLSAgICAgICAgaW50IHBpeGVs
U2l6ZSA9IDA7Ci0gICAgICAgIGlmIChRQ0ZUeXBlPENGTnVtYmVyUmVmPiBzaXplID0gc3RhdGlj
X2Nhc3Q8Q0ZOdW1iZXJSZWY+KENURm9udERlc2NyaXB0b3JDb3B5QXR0cmlidXRlKGZvbnQsIGtD
VEZvbnRTaXplQXR0cmlidXRlKSkpIHsKLSAgICAgICAgICAgIGlmIChDRk51bWJlcklzRmxvYXRU
eXBlKHNpemUpKSB7Ci0gICAgICAgICAgICAgICAgZG91YmxlIGQ7Ci0gICAgICAgICAgICAgICAg
Q0ZOdW1iZXJHZXRWYWx1ZShzaXplLCBrQ0ZOdW1iZXJEb3VibGVUeXBlLCAmZCk7Ci0gICAgICAg
ICAgICAgICAgcGl4ZWxTaXplID0gZDsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgQ0ZOdW1iZXJHZXRWYWx1ZShzaXplLCBrQ0ZOdW1iZXJJbnRUeXBlLCAmcGl4ZWxTaXpl
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIFFTdXBwb3J0ZWRXcml0aW5n
U3lzdGVtcyB3cml0aW5nU3lzdGVtczsKLSAgICAgICAgaWYgKFFDRlR5cGU8Q0ZBcnJheVJlZj4g
bGFuZ3VhZ2VzID0gc3RhdGljX2Nhc3Q8Q0ZBcnJheVJlZj4oQ1RGb250RGVzY3JpcHRvckNvcHlB
dHRyaWJ1dGUoZm9udCwga0NURm9udExhbmd1YWdlc0F0dHJpYnV0ZSkpKSB7Ci0gICAgICAgICAg
ICBDRkluZGV4IGxlbmd0aCA9IENGQXJyYXlHZXRDb3VudChsYW5ndWFnZXMpOwotICAgICAgICAg
ICAgZm9yIChpbnQgaSA9IDE7IGkgPCBMYW5ndWFnZUNvdW50OyArK2kpIHsKLSAgICAgICAgICAg
ICAgICBpZiAoIWxhbmd1YWdlRm9yV3JpdGluZ1N5c3RlbVtpXSkKLSAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgUUNGU3RyaW5nIGxhbmcgPSBDRlN0cmluZ0Ny
ZWF0ZVdpdGhDU3RyaW5nKE5VTEwsIGxhbmd1YWdlRm9yV3JpdGluZ1N5c3RlbVtpXSwga0NGU3Ry
aW5nRW5jb2RpbmdBU0NJSSk7Ci0gICAgICAgICAgICAgICAgaWYgKENGQXJyYXlDb250YWluc1Zh
bHVlKGxhbmd1YWdlcywgQ0ZSYW5nZU1ha2UoMCwgbGVuZ3RoKSwgbGFuZykpCi0gICAgICAgICAg
ICAgICAgICAgIHdyaXRpbmdTeXN0ZW1zLnNldFN1cHBvcnRlZChRRm9udERhdGFiYXNlOjpXcml0
aW5nU3lzdGVtKGkpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotCi0gICAgICAgIENGUmV0
YWluKGZvbnQpOwotICAgICAgICBRUGxhdGZvcm1Gb250RGF0YWJhc2U6OnJlZ2lzdGVyRm9udChm
YW1pbHlOYW1lLCBmb3VuZHJ5TmFtZSwgd2VpZ2h0LCBzdHlsZSwgc3RyZXRjaCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAvKiBhbnRpYWxpYXNlZCAq
LywgdHJ1ZSAvKiBzY2FsYWJsZSAqLywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGl4ZWxTaXplLCBmaXhlZFBpdGNoLCB3cml0aW5nU3lzdGVtcywgKHZvaWQg
KikgZm9udCk7Ci0gICAgICAgIENGU3RyaW5nUmVmIHBzTmFtZSA9IHN0YXRpY19jYXN0PENGU3Ry
aW5nUmVmPihDVEZvbnREZXNjcmlwdG9yQ29weUF0dHJpYnV0ZShmb250LCBrQ1RGb250TmFtZUF0
dHJpYnV0ZSkpOwotICAgICAgICAvLyB3ZSBuZWVkIFBvc3RTY3JpcHQgTmFtZSB0byBmYW1pbHkg
bmFtZSBtYXBwaW5nIGZvciBmYWxsYmFjayBsaXN0IGNvbnN0cnVjdGlvbgotICAgICAgICBwc05h
bWVUb0ZhbWlseVtRQ0ZTdHJpbmc6OnRvUVN0cmluZygoTlNTdHJpbmcgKikgcHNOYW1lKV0gPSBm
YW1pbHlOYW1lOwotICAgICAgICBDRlJlbGVhc2UocHNOYW1lKTsKLSAgICB9Ci0gICAgLy8gLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotfQpkaWZmIC0tZ2l0IGEvVG9vbHMvUXRUZXN0UGxhdGZvcm1QbHVn
aW4vbWFjL1Rlc3RJbnRlZ3JhdGlvbk1hYy5tbSBiL1Rvb2xzL1F0VGVzdFBsYXRmb3JtUGx1Z2lu
L21hYy9UZXN0SW50ZWdyYXRpb25NYWMubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGYzNzg2YzkwY2VhOGU5ZTYyODFiMDVjYWU1YTZkM2UwNjU2NzgxODguLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvUXRUZXN0UGxhdGZvcm1QbHVn
aW4vbWFjL1Rlc3RJbnRlZ3JhdGlvbk1hYy5tbQorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgVW5pdmVyc2l0eSBvZiBTemVnZWQuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBVTklWRVJTSVRZIE9GIFNaRUdFRCBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIFVOSVZFUlNJVFkgT0YgU1pFR0VEIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgIi4uL1Rlc3RJbnRlZ3JhdGlvbi5oIgot
I2luY2x1ZGUgIlRlc3RGb250RGF0YWJhc2UuaCIKLQotUVBsYXRmb3JtRm9udERhdGFiYXNlKiBU
ZXN0SW50ZWdyYXRpb246OmZvbnREYXRhYmFzZSgpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2ZvbnRE
YXRhYmFzZSkKLSAgICAgICAgbV9mb250RGF0YWJhc2UucmVzZXQobmV3IFRlc3RGb250RGF0YWJh
c2UpOwotICAgIHJldHVybiBtX2ZvbnREYXRhYmFzZS5kYXRhKCk7Ci19CmRpZmYgLS1naXQgYS9U
b29scy9RdFRlc3RQbGF0Zm9ybVBsdWdpbi9tYWluLmNwcCBiL1Rvb2xzL1F0VGVzdFBsYXRmb3Jt
UGx1Z2luL21haW4uY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZjU3N2Y0Njc1
NWI1YmQ0ZTczNTM3YWY1ZTQ5Y2NhNTY2NjdlZjM0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL1F0VGVzdFBsYXRmb3JtUGx1Z2luL21haW4uY3Bw
CisrKyAvZGV2L251bGwKQEAgLTEsNjUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykuCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTIgVW5pdmVyc2l0eSBvZiBTemVnZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIFVzYWdlCi0gKiBUaGlz
IGZpbGUgbWF5IGJlIHVzZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCi0gKiBMaWNlbnNlIHZlcnNpb24gMi4xIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICogUGxlYXNlIHJldmlldyB0aGUgZm9sbG93aW5nIGlu
Zm9ybWF0aW9uIHRvIGVuc3VyZSB0aGUgR05VIExlc3NlcgotICogR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSB2ZXJzaW9uIDIuMSByZXF1aXJlbWVudHMgd2lsbCBiZSBtZXQ6Ci0gKiBodHRwOi8vd3d3
LmdudS5vcmcvbGljZW5zZXMvb2xkLWxpY2Vuc2VzL2xncGwtMi4xLmh0bWwuCi0gKgotICogR05V
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgVXNhZ2UKLSAqIEFsdGVybmF0aXZlbHksIHRoaXMgZmls
ZSBtYXkgYmUgdXNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsCi0gKiBQdWJs
aWMgTGljZW5zZSB2ZXJzaW9uIDMuMCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbi4KLSAqIFBsZWFzZSByZXZpZXcgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiB0
byBlbnN1cmUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSB2ZXJzaW9uIDMuMCBy
ZXF1aXJlbWVudHMgd2lsbCBiZSBtZXQ6Ci0gKiBodHRwOi8vd3d3LmdudS5vcmcvY29weWxlZnQv
Z3BsLmh0bWwuCi0gKgotICovCi0KLSNpbmNsdWRlICJUZXN0SW50ZWdyYXRpb24uaCIKLSNpbmNs
dWRlIDxRUGxhdGZvcm1JbnRlZ3JhdGlvblBsdWdpbj4KLSNpbmNsdWRlIDxRdEdsb2JhbD4KLQot
Y2xhc3MgUV9ERUNMX0VYUE9SVCBUZXN0SW50ZWdyYXRpb25QbHVnaW4gOiBwdWJsaWMgUVBsYXRm
b3JtSW50ZWdyYXRpb25QbHVnaW4gewotICAgIFFfT0JKRUNUCi0gICAgUV9QTFVHSU5fTUVUQURB
VEEoSUlEICJvcmcucXQtcHJvamVjdC5RdC5RUGxhdGZvcm1JbnRlZ3JhdGlvbkZhY3RvcnlJbnRl
cmZhY2UiIEZJTEUgInRlc3RwbGF0Zm9ybS5qc29uIikKLXB1YmxpYzoKLSAgICBRU3RyaW5nTGlz
dCBrZXlzKCkgY29uc3Q7Ci0gICAgUVBsYXRmb3JtSW50ZWdyYXRpb24qIGNyZWF0ZShjb25zdCBR
U3RyaW5nJiwgY29uc3QgUVN0cmluZ0xpc3QmKTsKLQotICAgIHN0YXRpYyB2b2lkIGluaXRpYWxp
emUoKTsKLX07Ci0KLVFTdHJpbmdMaXN0IFRlc3RJbnRlZ3JhdGlvblBsdWdpbjo6a2V5cygpIGNv
bnN0Ci17Ci0gICAgUVN0cmluZ0xpc3QgbGlzdDsKLSAgICBsaXN0IDw8IFFTdHJpbmdMaXRlcmFs
KCJ0ZXN0cGxhdGZvcm0iKTsKLSAgICByZXR1cm4gbGlzdDsKLX0KLQotUVBsYXRmb3JtSW50ZWdy
YXRpb24qIFRlc3RJbnRlZ3JhdGlvblBsdWdpbjo6Y3JlYXRlKGNvbnN0IFFTdHJpbmcmIHN5c3Rl
bSwgY29uc3QgUVN0cmluZ0xpc3QmIHBhcmFtZXRlcnMpCi17Ci0gICAgaWYgKCFzeXN0ZW0uY29t
cGFyZShRU3RyaW5nTGl0ZXJhbCgidGVzdHBsYXRmb3JtIiksIFF0OjpDYXNlSW5zZW5zaXRpdmUp
KQotICAgICAgICByZXR1cm4gbmV3IFRlc3RJbnRlZ3JhdGlvbigpOwotCi0gICAgcmV0dXJuIDA7
Ci19Ci0KLSNpbmNsdWRlICJtYWluLm1vYyIKLQotdm9pZCBUZXN0SW50ZWdyYXRpb25QbHVnaW46
OmluaXRpYWxpemUoKQotewotICAgIFFTdGF0aWNQbHVnaW4gcGx1Z2luOwotICAgIHBsdWdpbi5p
bnN0YW5jZSA9ICZxdF9wbHVnaW5faW5zdGFuY2U7Ci0gICAgcGx1Z2luLm1ldGFEYXRhID0gJnF0
X3BsdWdpbl9xdWVyeV9tZXRhZGF0YTsKLSAgICBxUmVnaXN0ZXJTdGF0aWNQbHVnaW5GdW5jdGlv
bihwbHVnaW4pOwotfQotCi1zdGF0aWMgdm9pZCBjb25zdHJ1Y3RvckZ1bmN0aW9uKCkKLXsKLSAg
ICBUZXN0SW50ZWdyYXRpb25QbHVnaW46OmluaXRpYWxpemUoKTsKLX0KLQotUV9DT05TVFJVQ1RP
Ul9GVU5DVElPTihjb25zdHJ1Y3RvckZ1bmN0aW9uKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1F0VGVz
dFBsYXRmb3JtUGx1Z2luL3Rlc3RwbGF0Zm9ybS5qc29uIGIvVG9vbHMvUXRUZXN0UGxhdGZvcm1Q
bHVnaW4vdGVzdHBsYXRmb3JtLmpzb24KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgz
MGJiNjJiMGE1ZThiNDE5YzdiYjM4YTBhMzNhMGYzNWZkMDc0OWIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvUXRUZXN0UGxhdGZvcm1QbHVnaW4v
dGVzdHBsYXRmb3JtLmpzb24KKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLXsKLSAgICAi
S2V5cyI6IFsgInRlc3RwbGF0Zm9ybSIgXQotfQpkaWZmIC0tZ2l0IGEvVG9vbHMvVG9vbHMucHJv
IGIvVG9vbHMvVG9vbHMucHJvCmluZGV4IGEyM2MxYmVlNzc0YmVkNTZjZmJjN2QyMTc4M2Y3OThj
YTczNTg5Y2UuLmFhNGQ1OTE3Mzc2ODg2NTc5MzIwNDYxNzIwNjdhZGJlMWMxMTFiZmEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rvb2xzLnBybworKysgYi9Ub29scy9Ub29scy5wcm8KQEAgLTEzLDggKzEz
LDYgQEAgU1VCRElSUyArPSBRdFRlc3RCcm93c2VyL1F0VGVzdEJyb3dzZXIucHJvCiBTVUJESVJT
ICs9IER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybwogU1VCRElSUyArPSBEdW1w
UmVuZGVyVHJlZS9xdC9JbWFnZURpZmYucHJvCiAKLWhhdmVRdCg1KTogU1VCRElSUyArPSBRdFRl
c3RQbGF0Zm9ybVBsdWdpbi9RdFRlc3RQbGF0Zm9ybVBsdWdpbi5wcm8KLQogIW5vX3dlYmtpdDIg
ewogICAgIFNVQkRJUlMgKz0gTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucHJvIFwKICAgICAg
ICAgICAgICAgIFdlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci5wcm8KZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGFyZ2V0LnByaSBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGFyZ2V0LnByaQppbmRleCBkMzkzOGRjZTc4MzFjMGM3YjExNDU0MWVjMmRiYTk4OGQz
MjM1NzQ4Li5iOWU3YThiZGQ4MDI4YWE5NjdkNTdjYTY4YTU5MzQ1ZTg2NTExOWZmIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1RhcmdldC5wcmkKKysrIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UYXJnZXQucHJpCkBAIC0zNyw5ICszNyw0IEBAIFBSRUZJWF9IRUFERVIgPSBX
ZWJLaXRUZXN0UnVubmVyUHJlZml4LmgKICotZysrKjpRTUFLRV9DWFhGTEFHUyArPSAiLWluY2x1
ZGUgJCRQUkVGSVhfSEVBREVSIgogKi1jbGFuZyo6UU1BS0VfQ1hYRkxBR1MgKz0gIi1pbmNsdWRl
ICQkUFJFRklYX0hFQURFUiIKIAotbWFjOiBMSUJfU1VGRklYPS5keWxpYgotd2luOiBMSUJfU1VG
RklYPS5kbGwKLXVuaXg6IW1hYzogTElCX1NVRkZJWD0uc28KLURFRklORVMgKz0gVEVTVF9QTEFU
Rk9STV9QTFVHSU5fUEFUSD1cIlxcXCIkJHtST09UX0JVSUxEX0RJUn0kJHtRTUFLRV9ESVJfU0VQ
fWxpYiQke1FNQUtFX0RJUl9TRVB9bGlidGVzdHBsYXRmb3JtJCR7TElCX1NVRkZJWH1cXFwiXCIK
LQogUkVTT1VSQ0VTID0gcXQvV2ViS2l0VGVzdFJ1bm5lci5xcmMKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvcXQvbWFpbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0
L21haW4uY3BwCmluZGV4IDdlOGI2MDRmYWY5MWIxZGFjNTg0MzUyYzJlY2E3YzY3NTA2MDBjYWEu
LjNlYjI4NzMxMGJhNzk3MjMyY2M2ZGQwYmVhMjAwYzQ4YjBjMjExOTMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvbWFpbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9xdC9tYWluLmNwcApAQCAtMTAyLDIyICsxMDIsNiBAQCBpbnQgbWFpbihpbnQgYXJnYywg
Y2hhcioqIGFyZ3YpCiAKICAgICBxcHV0ZW52KCJRVF9XRUJLSVRfVEhFTUVfTkFNRSIsICJxc3R5
bGUiKTsKIAotICAgIFFCeXRlQXJyYXkgcGxhdGZvcm0gPSBxZ2V0ZW52KCJRVF9RUEFfUExBVEZP
Uk0iKTsKLSAgICBRQnl0ZUFycmF5IHBsYXRmb3JtUGx1Z2luUGF0aCA9IHFnZXRlbnYoIlFUX1FQ
QV9QTEFURk9STV9QTFVHSU5fUEFUSCIpOwotICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYXJnYzsg
KytpKSB7Ci0gICAgICAgIGlmIChRQnl0ZUFycmF5KGFyZ3ZbaV0pID09ICItcGxhdGZvcm0iICYm
IGkgKyAxIDwgYXJnYykKLSAgICAgICAgICAgIHBsYXRmb3JtID0gYXJndltpICsgMV07Ci0gICAg
ICAgIGVsc2UgaWYgKFFCeXRlQXJyYXkoYXJndltpXSkgPT0gIi1wbGF0Zm9ybXBsdWdpbnBhdGgi
ICYmIGkgKyAxIDwgYXJnYykKLSAgICAgICAgICAgIHBsYXRmb3JtUGx1Z2luUGF0aCA9IGFyZ3Zb
aSArIDFdOwotICAgIH0KLSAgICBpZiAoIXBsYXRmb3JtLmlzRW1wdHkoKSkKLSAgICAgICAgcXB1
dGVudigiUVRfV0VCS0lUX09SSUdJTkFMX1BMQVRGT1JNIiwgcGxhdGZvcm0pOwotICAgIGlmICgh
cGxhdGZvcm1QbHVnaW5QYXRoLmlzRW1wdHkoKSkKLSAgICAgICAgcXB1dGVudigiUVRfV0VCS0lU
X09SSUdJTkFMX1BMQVRGT1JNX1BMVUdJTl9QQVRIIiwgcGxhdGZvcm1QbHVnaW5QYXRoKTsKLQot
ICAgIC8vIFRlbGwgdGhlIHdlYiBwcm9jZXNzIHRoYXQgd2Ugd2FudCB0byB1c2UgdGhlIHRlc3Qg
cGxhdGZvcm0gcGx1Z2luLgotICAgIHFwdXRlbnYoIlFUX1dFQktJVDJfVEVTVF9QTEFURk9STV9Q
TFVHSU5fUEFUSCIsIFRFU1RfUExBVEZPUk1fUExVR0lOX1BBVEgpOwotCiAgICAgUVF1aWNrV2Vi
Vmlld0V4cGVyaW1lbnRhbDo6c2V0RmxpY2thYmxlVmlld3BvcnRFbmFibGVkKGZhbHNlKTsKICAg
ICBRQXBwbGljYXRpb24gYXBwKGFyZ2MsIGFyZ3YpOwogICAgIExhdW5jaGVyIGxhdW5jaGVyKGFy
Z2MsIGFyZ3YpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>