<?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>110789</bug_id>
          
          <creation_ts>2013-02-25 13:21:28 -0800</creation_ts>
          <short_desc>REGRESSION(r143936): Causes webkit_unit_tests failures on android dbg (Requested by vollick on #webkit).</short_desc>
          <delta_ts>2013-02-25 14:08:09 -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>109662</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>hclam</cc>
    
    <cc>senorblanco</cc>
    
    <cc>vollick</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>841242</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-25 13:21:28 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/143936 broke the build:
Causes webkit_unit_tests failures on android dbg (Requested by vollick 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>841244</commentid>
    <comment_count>1</comment_count>
      <attachid>190115</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-25 13:21:58 -0800</bug_when>
    <thetext>Created attachment 190115
ROLLOUT of r143936

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>841245</commentid>
    <comment_count>2</comment_count>
    <who name="">vollick</who>
    <bug_when>2013-02-25 13:22:26 -0800</bug_when>
    <thetext>Here&apos;s an example: http://build.chromium.org/p/tryserver.chromium/builders/android_dbg_triggered_tests/builds/33285/steps/webkit_unit_tests/logs/stdio#failure6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841265</commentid>
    <comment_count>3</comment_count>
      <attachid>190115</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-25 14:08:06 -0800</bug_when>
    <thetext>Comment on attachment 190115
ROLLOUT of r143936

Clearing flags on attachment: 190115

Committed r143972: &lt;http://trac.webkit.org/changeset/143972&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841267</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-25 14:08:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190115</attachid>
            <date>2013-02-25 13:21:58 -0800</date>
            <delta_ts>2013-02-25 14:08:06 -0800</delta_ts>
            <desc>ROLLOUT of r143936</desc>
            <filename>bug-110789-20130225211814.patch</filename>
            <type>text/plain</type>
            <size>35893</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzOTYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDQyMTIwNjFmYjQwNGU4
OWFhN2IwOWZjOGQ5NTQ0MTA0OWMyODQ3ZC4uMThhOWQ0YTM5ODUyMDllYTQ4ODVkMTRiNzU2YzJl
NjYxYTMxODlmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDEzLTAyLTI1ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTQzOTM2LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xNDM5MzYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMDc4OQorCisgICAgICAgIENhdXNlcyB3ZWJraXRfdW5pdF90ZXN0cyBmYWls
dXJlcyBvbiBhbmRyb2lkIGRiZyAoUmVxdWVzdGVkIGJ5CisgICAgICAgIHZvbGxpY2sgb24gI3dl
YmtpdCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VE
ZWNvZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdJRkltYWdlRGVjb2Rlcjo6R0lGSW1hZ2VE
ZWNvZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdJRkltYWdlRGVjb2Rlcjo6c2V0RGF0YSk6Cisg
ICAgICAgIChXZWJDb3JlOjpHSUZJbWFnZURlY29kZXI6OmZyYW1lQ291bnQpOgorICAgICAgICAo
V2ViQ29yZTo6R0lGSW1hZ2VEZWNvZGVyOjpkZWNvZGluZ0hhbHRlZCk6CisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkdJRkltYWdlRGVjb2Rlcjo6aGF2ZURlY29kZWRSb3cp
OgorICAgICAgICAoV2ViQ29yZTo6R0lGSW1hZ2VEZWNvZGVyOjpkZWNvZGUpOgorICAgICAgICAq
IHBsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZURlY29kZXIuaDoKKyAgICAgICAg
KEdJRkltYWdlRGVjb2Rlcik6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lm
L0dJRkltYWdlUmVhZGVyLmNwcDoKKyAgICAgICAgKEdJRkltYWdlUmVhZGVyOjpkb0xaVyk6Cisg
ICAgICAgIChHSUZJbWFnZVJlYWRlcjo6cmVhZCk6CisgICAgICAgICogcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvZ2lmL0dJRkltYWdlUmVhZGVyLmg6CisgICAgICAgIChHSUZGcmFtZUNvbnRleHQp
OgorICAgICAgICAoR0lGRnJhbWVDb250ZXh0OjpHSUZGcmFtZUNvbnRleHQpOgorICAgICAgICAo
R0lGRnJhbWVDb250ZXh0Ojp+R0lGRnJhbWVDb250ZXh0KToKKyAgICAgICAgKEdJRkltYWdlUmVh
ZGVyOjpHSUZJbWFnZVJlYWRlcik6CisgICAgICAgIChHSUZJbWFnZVJlYWRlcjo6fkdJRkltYWdl
UmVhZGVyKToKKyAgICAgICAgKEdJRkltYWdlUmVhZGVyKToKKyAgICAgICAgKEdJRkltYWdlUmVh
ZGVyOjpnbG9iYWxDb2xvcm1hcCk6CisgICAgICAgIChHSUZJbWFnZVJlYWRlcjo6Z2xvYmFsQ29s
b3JtYXBTaXplKToKKwogMjAxMy0wMi0yNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEJ1aWxkIGZpeCBmb3IgRGVidWcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CmluZGV4IDU1MjFkYTk3MjIwNzIzZjFhOGQxNmQzN2Y5NGE4N2E1OThjMWI0NjMuLjMzYWNhNjVh
OTYxNTg3OGM1YzIzYWE3MzY4ZmEzNjUxZjc2OGE0OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTMtMDItMjUgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJl
dmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIx
NDM5MzYuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE0MzkzNgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwNzg5CisK
KyAgICAgICAgQ2F1c2VzIHdlYmtpdF91bml0X3Rlc3RzIGZhaWx1cmVzIG9uIGFuZHJvaWQgZGJn
IChSZXF1ZXN0ZWQgYnkKKyAgICAgICAgdm9sbGljayBvbiAjd2Via2l0KS4KKworICAgICAgICAq
IFdlYktpdC5neXA6CisgICAgICAgICogV2ViS2l0Lmd5cGk6CisgICAgICAgICogdGVzdHMvR0lG
SW1hZ2VEZWNvZGVyVGVzdC5jcHA6IFJlbW92ZWQuCisgICAgICAgICogdGVzdHMvZGF0YS9icm9r
ZW4uZ2lmOiBSZW1vdmVkLgorCiAyMDEzLTAyLTI1ICBBbHBoYSBMYW0gIDxoY2xhbUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgR0lGSW1hZ2VSZWFkZXIgdG8gcmVhZCBmcm9tIHNvdXJjZSBkYXRh
IGRpcmVjdGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNv
ZGVycy9naWYvR0lGSW1hZ2VEZWNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2lt
YWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZURlY29kZXIuY3BwCmluZGV4IDZhNTE0MDk4NDZjMDA1
MDAwYzkyNzBhM2ZjYTU4OTgyODk3NWEzZDIuLjBjYjIyODg1Y2ViM2Q2YjE2YjIzNWY4MTliOThh
MjViOTNiYWZkOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRl
Y29kZXJzL2dpZi9HSUZJbWFnZURlY29kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZURlY29kZXIuY3BwCkBAIC0zNyw2ICszNyw3
IEBAIEdJRkltYWdlRGVjb2Rlcjo6R0lGSW1hZ2VEZWNvZGVyKEltYWdlU291cmNlOjpBbHBoYU9w
dGlvbiBhbHBoYU9wdGlvbiwKICAgICA6IEltYWdlRGVjb2RlcihhbHBoYU9wdGlvbiwgZ2FtbWFB
bmRDb2xvclByb2ZpbGVPcHRpb24pCiAgICAgLCBtX2FscmVhZHlTY2FubmVkVGhpc0RhdGFGb3JG
cmFtZUNvdW50KHRydWUpCiAgICAgLCBtX3JlcGV0aXRpb25Db3VudChjQW5pbWF0aW9uTG9vcE9u
Y2UpCisgICAgLCBtX3JlYWRPZmZzZXQoMCkKIHsKIH0KIApAQCAtNTAsOCArNTEsNiBAQCB2b2lk
IEdJRkltYWdlRGVjb2Rlcjo6c2V0RGF0YShTaGFyZWRCdWZmZXIqIGRhdGEsIGJvb2wgYWxsRGF0
YVJlY2VpdmVkKQogICAgICAgICByZXR1cm47CiAKICAgICBJbWFnZURlY29kZXI6OnNldERhdGEo
ZGF0YSwgYWxsRGF0YVJlY2VpdmVkKTsKLSAgICBpZiAobV9yZWFkZXIpCi0gICAgICAgIG1fcmVh
ZGVyLT5zZXREYXRhKGRhdGEpOwogCiAgICAgLy8gV2UgbmVlZCB0byByZXNjYW4gdGhlIGZyYW1l
IGNvdW50LCBhcyB0aGUgbmV3IGRhdGEgbWF5IGhhdmUgY2hhbmdlZCBpdC4KICAgICBtX2FscmVh
ZHlTY2FubmVkVGhpc0RhdGFGb3JGcmFtZUNvdW50ID0gZmFsc2U7CkBAIC04Niw4ICs4NSw3IEBA
IHNpemVfdCBHSUZJbWFnZURlY29kZXI6OmZyYW1lQ291bnQoKQogICAgICAgICAvLyBhbGwgdGhl
IGRhdGEuICBOb3RlIHRoYXQgdGhpcyBpcyBubyB3b3JzZSB0aGFuIHdoYXQgSW1hZ2VJTyBkb2Vz
IG9uCiAgICAgICAgIC8vIE1hYyByaWdodCBub3cgKGl0IGFsc28gY3Jhd2xzIGFsbCB0aGUgZGF0
YSBhZ2FpbikuCiAgICAgICAgIEdJRkltYWdlUmVhZGVyIHJlYWRlcigwKTsKLSAgICAgICAgcmVh
ZGVyLnNldERhdGEobV9kYXRhKTsKLSAgICAgICAgcmVhZGVyLmRlY29kZShHSUZGcmFtZUNvdW50
UXVlcnksIHN0YXRpY19jYXN0PHVuc2lnbmVkPigtMSkpOworICAgICAgICByZWFkZXIucmVhZCgo
Y29uc3QgdW5zaWduZWQgY2hhciopbV9kYXRhLT5kYXRhKCksIG1fZGF0YS0+c2l6ZSgpLCBHSUZG
cmFtZUNvdW50UXVlcnksIHN0YXRpY19jYXN0PHVuc2lnbmVkPigtMSkpOwogICAgICAgICBtX2Fs
cmVhZHlTY2FubmVkVGhpc0RhdGFGb3JGcmFtZUNvdW50ID0gdHJ1ZTsKICAgICAgICAgbV9mcmFt
ZUJ1ZmZlckNhY2hlLnJlc2l6ZShyZWFkZXIuaW1hZ2VzQ291bnQoKSk7CiAgICAgICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgcmVhZGVyLmltYWdlc0NvdW50KCk7ICsraSkKQEAgLTE5Myw2ICsxOTEs
MTEgQEAgdm9pZCBHSUZJbWFnZURlY29kZXI6OmNsZWFyRnJhbWVCdWZmZXJDYWNoZShzaXplX3Qg
Y2xlYXJCZWZvcmVGcmFtZSkKICAgICB9CiB9CiAKK3ZvaWQgR0lGSW1hZ2VEZWNvZGVyOjpkZWNv
ZGluZ0hhbHRlZCh1bnNpZ25lZCBieXRlc0xlZnQpCit7CisgICAgbV9yZWFkT2Zmc2V0ID0gbV9k
YXRhLT5zaXplKCkgLSBieXRlc0xlZnQ7Cit9CisKIGJvb2wgR0lGSW1hZ2VEZWNvZGVyOjpoYXZl
RGVjb2RlZFJvdyh1bnNpZ25lZCBmcmFtZUluZGV4LCB1bnNpZ25lZCBjaGFyKiByb3dCdWZmZXIs
IHVuc2lnbmVkIGNoYXIqIHJvd0VuZCwgdW5zaWduZWQgcm93TnVtYmVyLCB1bnNpZ25lZCByZXBl
YXRDb3VudCwgYm9vbCB3cml0ZVRyYW5zcGFyZW50UGl4ZWxzKQogewogICAgIGNvbnN0IEdJRkZy
YW1lQ29udGV4dCogZnJhbWVDb250ZXh0ID0gbV9yZWFkZXItPmZyYW1lQ29udGV4dCgpOwpAQCAt
MjEzLDggKzIxNiw4IEBAIGJvb2wgR0lGSW1hZ2VEZWNvZGVyOjpoYXZlRGVjb2RlZFJvdyh1bnNp
Z25lZCBmcmFtZUluZGV4LCB1bnNpZ25lZCBjaGFyKiByb3dCdWZmCiAgICAgY29uc3QgdW5zaWdu
ZWQgY2hhciogY29sb3JNYXA7CiAgICAgdW5zaWduZWQgY29sb3JNYXBTaXplOwogICAgIGlmIChm
cmFtZUNvbnRleHQtPmlzTG9jYWxDb2xvcm1hcERlZmluZWQpIHsKLSAgICAgICAgY29sb3JNYXAg
PSBtX3JlYWRlci0+bG9jYWxDb2xvcm1hcChmcmFtZUNvbnRleHQpOwotICAgICAgICBjb2xvck1h
cFNpemUgPSBtX3JlYWRlci0+bG9jYWxDb2xvcm1hcFNpemUoZnJhbWVDb250ZXh0KTsKKyAgICAg
ICAgY29sb3JNYXAgPSBmcmFtZUNvbnRleHQtPmxvY2FsQ29sb3JtYXA7CisgICAgICAgIGNvbG9y
TWFwU2l6ZSA9ICh1bnNpZ25lZClmcmFtZUNvbnRleHQtPmxvY2FsQ29sb3JtYXBTaXplOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIGNvbG9yTWFwID0gbV9yZWFkZXItPmdsb2JhbENvbG9ybWFwKCk7
CiAgICAgICAgIGNvbG9yTWFwU2l6ZSA9IG1fcmVhZGVyLT5nbG9iYWxDb2xvcm1hcFNpemUoKTsK
QEAgLTMxNiwxNCArMzE5LDEyIEBAIHZvaWQgR0lGSW1hZ2VEZWNvZGVyOjpkZWNvZGUodW5zaWdu
ZWQgaGFsdEF0RnJhbWUsIEdJRlF1ZXJ5IHF1ZXJ5KQogICAgIGlmIChmYWlsZWQoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgaWYgKCFtX3JlYWRlcikgeworICAgIGlmICghbV9yZWFkZXIpCiAg
ICAgICAgIG1fcmVhZGVyID0gYWRvcHRQdHIobmV3IEdJRkltYWdlUmVhZGVyKHRoaXMpKTsKLSAg
ICAgICAgbV9yZWFkZXItPnNldERhdGEobV9kYXRhKTsKLSAgICB9CiAKICAgICAvLyBJZiB3ZSBj
b3VsZG4ndCBkZWNvZGUgdGhlIGltYWdlIGJ1dCB3ZSd2ZSByZWNlaXZlZCBhbGwgdGhlIGRhdGEs
IGRlY29kaW5nCiAgICAgLy8gaGFzIGZhaWxlZC4KLSAgICBpZiAoIW1fcmVhZGVyLT5kZWNvZGUo
cXVlcnksIGhhbHRBdEZyYW1lKSAmJiBpc0FsbERhdGFSZWNlaXZlZCgpKQorICAgIGlmICghbV9y
ZWFkZXItPnJlYWQoKGNvbnN0IHVuc2lnbmVkIGNoYXIqKW1fZGF0YS0+ZGF0YSgpICsgbV9yZWFk
T2Zmc2V0LCBtX2RhdGEtPnNpemUoKSAtIG1fcmVhZE9mZnNldCwgcXVlcnksIGhhbHRBdEZyYW1l
KSAmJiBpc0FsbERhdGFSZWNlaXZlZCgpKQogICAgICAgICBzZXRGYWlsZWQoKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRklt
YWdlRGVjb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lm
L0dJRkltYWdlRGVjb2Rlci5oCmluZGV4IDk5ODJhNDRlMTg3NzljY2ZhYmUzZjU4NDI1ODRjYzgx
MGExMjUxNGEuLjdiZGE5OTQzODI4ZDg0ZTJiYjk0YTI3NWNlNWI5MTBhYTVjZDJiMTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFn
ZURlY29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9n
aWYvR0lGSW1hZ2VEZWNvZGVyLmgKQEAgLTU2LDYgKzU2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2aXJ0dWFsIHZvaWQgY2xlYXJGcmFtZUJ1ZmZlckNhY2hlKHNpemVfdCBjbGVh
ckJlZm9yZUZyYW1lKTsKIAogICAgICAgICAvLyBDYWxsYmFja3MgZnJvbSB0aGUgR0lGIHJlYWRl
ci4KKyAgICAgICAgdm9pZCBkZWNvZGluZ0hhbHRlZCh1bnNpZ25lZCBieXRlc0xlZnQpOwogICAg
ICAgICBib29sIGhhdmVEZWNvZGVkUm93KHVuc2lnbmVkIGZyYW1lSW5kZXgsIHVuc2lnbmVkIGNo
YXIqIHJvd0J1ZmZlciwgdW5zaWduZWQgY2hhciogcm93RW5kLCB1bnNpZ25lZCByb3dOdW1iZXIs
IHVuc2lnbmVkIHJlcGVhdENvdW50LCBib29sIHdyaXRlVHJhbnNwYXJlbnRQaXhlbHMpOwogICAg
ICAgICBib29sIGZyYW1lQ29tcGxldGUodW5zaWduZWQgZnJhbWVJbmRleCwgdW5zaWduZWQgZnJh
bWVEdXJhdGlvbiwgSW1hZ2VGcmFtZTo6RnJhbWVEaXNwb3NhbE1ldGhvZCBkaXNwb3NhbE1ldGhv
ZCk7CiAgICAgICAgIHZvaWQgZ2lmQ29tcGxldGUoKTsKQEAgLTc2LDYgKzc3LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICBib29sIG1fY3VycmVudEJ1ZmZlclNhd0FscGhhOwogICAg
ICAgICBtdXRhYmxlIGludCBtX3JlcGV0aXRpb25Db3VudDsKICAgICAgICAgT3duUHRyPEdJRklt
YWdlUmVhZGVyPiBtX3JlYWRlcjsKKyAgICAgICAgdW5zaWduZWQgbV9yZWFkT2Zmc2V0OwogICAg
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZVJlYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VSZWFkZXIuY3BwCmlu
ZGV4IGNjZTA2OWZlMmM0OTE0NDA3ODA4ZjVhZmM0ZjI1MWIzYTQ4NDFjNzMuLjY5OWQzYzQ3ZmI0
NGFmMmM4MjRmYTU5YjAzYjQyZjUxMDY2MGVlZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2ltYWdlLWRlY29kZXJzL2dpZi9HSUZJbWFnZVJlYWRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMvZ2lmL0dJRkltYWdlUmVhZGVyLmNw
cApAQCAtMjAxLDcgKzIwMSw3IEBAIGJvb2wgR0lGSW1hZ2VSZWFkZXI6Om91dHB1dFJvdygpCiB9
CiAKIC8vIFBlcmZvcm0gTGVtcGVsLVppdi1XZWxjaCBkZWNvZGluZy4KLWJvb2wgR0lGSW1hZ2VS
ZWFkZXI6OmRvTFpXKGNvbnN0IHVuc2lnbmVkIGNoYXIqIGJsb2NrLCBzaXplX3QgYnl0ZXNJbkJs
b2NrKQorYm9vbCBHSUZJbWFnZVJlYWRlcjo6ZG9MWlcoY29uc3QgdW5zaWduZWQgY2hhciAqcSkK
IHsKICAgICBpZiAoIW1fZnJhbWVDb250ZXh0KQogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTIx
NSw3ICsyMTUsNyBAQCBib29sIEdJRkltYWdlUmVhZGVyOjpkb0xaVyhjb25zdCB1bnNpZ25lZCBj
aGFyKiBibG9jaywgc2l6ZV90IGJ5dGVzSW5CbG9jaykKICAgICAvLyBiYWNrIGludG8gdGhlIEdJ
RiBkZWNvZGVyIHN0cnVjdHVyZSB3aGVuIHdlIGV4aXQuCiAgICAgaW50IGF2YWlsID0gbV9mcmFt
ZUNvbnRleHQtPmF2YWlsOwogICAgIGludCBiaXRzID0gbV9mcmFtZUNvbnRleHQtPmJpdHM7Ci0g
ICAgc2l6ZV90IGNudCA9IGJ5dGVzSW5CbG9jazsKKyAgICBpbnQgY250ID0gbV9jb3VudDsKICAg
ICBpbnQgY29kZXNpemUgPSBtX2ZyYW1lQ29udGV4dC0+Y29kZXNpemU7CiAgICAgaW50IGNvZGVt
YXNrID0gbV9mcmFtZUNvbnRleHQtPmNvZGVtYXNrOwogICAgIGludCBvbGRjb2RlID0gbV9mcmFt
ZUNvbnRleHQtPm9sZGNvZGU7CkBAIC0yNDksNyArMjQ5LDcgQEAgYm9vbCBHSUZJbWFnZVJlYWRl
cjo6ZG9MWlcoY29uc3QgdW5zaWduZWQgY2hhciogYmxvY2ssIHNpemVfdCBieXRlc0luQmxvY2sp
CiAgICAgICAgICAgICBnb3RvIEVORDsgXAogICAgIH0gd2hpbGUgKDApCiAKLSAgICBmb3IgKGNo
ID0gYmxvY2s7IGNudC0tID4gMDsgY2grKykgeworICAgIGZvciAoY2ggPSBxOyBjbnQtLSA+IDA7
IGNoKyspIHsKICAgICAgICAgLy8gRmVlZCB0aGUgbmV4dCBieXRlIGludG8gdGhlIGRlY29kZXIn
cyAzMi1iaXQgaW5wdXQgYnVmZmVyLgogICAgICAgICBkYXR1bSArPSAoKGludCkgKmNoKSA8PCBi
aXRzOwogICAgICAgICBiaXRzICs9IDg7CkBAIC0zNDQsNiArMzQ0LDcgQEAgRU5EOgogICAgIG1f
ZnJhbWVDb250ZXh0LT5iaXRzID0gYml0czsKICAgICBtX2ZyYW1lQ29udGV4dC0+Y29kZXNpemUg
PSBjb2Rlc2l6ZTsKICAgICBtX2ZyYW1lQ29udGV4dC0+Y29kZW1hc2sgPSBjb2RlbWFzazsKKyAg
ICBtX2NvdW50ID0gY250OwogICAgIG1fZnJhbWVDb250ZXh0LT5vbGRjb2RlID0gb2xkY29kZTsK
ICAgICBtX2ZyYW1lQ29udGV4dC0+Zmlyc3RjaGFyID0gZmlyc3RjaGFyOwogICAgIG1fZnJhbWVD
b250ZXh0LT5kYXR1bSA9IGRhdHVtOwpAQCAtMzUzLDM5ICszNTQsNjggQEAgRU5EOgogICAgIHJl
dHVybiB0cnVlOwogfQogCi1ib29sIEdJRkltYWdlUmVhZGVyOjpkZWNvZGUoR0lGSW1hZ2VEZWNv
ZGVyOjpHSUZRdWVyeSBxdWVyeSwgdW5zaWduZWQgaGFsdEF0RnJhbWUpCi17Ci0gICAgQVNTRVJU
KG1fYnl0ZXNSZWFkIDw9IG1fZGF0YS0+c2l6ZSgpKTsKLSAgICByZXR1cm4gZGVjb2RlSW50ZXJu
YWwobV9ieXRlc1JlYWQsIG1fZGF0YS0+c2l6ZSgpIC0gbV9ieXRlc1JlYWQsIHF1ZXJ5LCBoYWx0
QXRGcmFtZSk7Ci19CiAKIC8vIFByb2Nlc3MgZGF0YSBhcnJpdmluZyBmcm9tIHRoZSBzdHJlYW0g
Zm9yIHRoZSBnaWYgZGVjb2Rlci4KLWJvb2wgR0lGSW1hZ2VSZWFkZXI6OmRlY29kZUludGVybmFs
KHNpemVfdCBkYXRhUG9zaXRpb24sIHNpemVfdCBsZW4sIEdJRkltYWdlRGVjb2Rlcjo6R0lGUXVl
cnkgcXVlcnksIHVuc2lnbmVkIGhhbHRBdEZyYW1lKQorYm9vbCBHSUZJbWFnZVJlYWRlcjo6cmVh
ZChjb25zdCB1bnNpZ25lZCBjaGFyICpidWYsIHVuc2lnbmVkIGxlbiwgR0lGSW1hZ2VEZWNvZGVy
OjpHSUZRdWVyeSBxdWVyeSwgdW5zaWduZWQgaGFsdEF0RnJhbWUpCiB7CiAgICAgaWYgKCFsZW4p
IHsKICAgICAgICAgLy8gTm8gbmV3IGRhdGEgaGFzIGNvbWUgaW4gc2luY2UgdGhlIGxhc3QgY2Fs
bCwganVzdCBpZ25vcmUgdGhpcyBjYWxsLgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAK
LSAgICBpZiAobGVuIDwgbV9ieXRlc1RvQ29uc3VtZSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnEgPSBidWY7CisKKyAgICAvLyBBZGQgd2hhdCB3ZSBo
YXZlIHNvIGZhciB0byB0aGUgYmxvY2suCisgICAgLy8gSWYgcHJldmlvdXMgY2FsbCB0byBtZSBs
ZWZ0IHNvbWV0aGluZyBpbiB0aGUgaG9sZCBmaXJzdCBjb21wbGV0ZSBjdXJyZW50IGJsb2NrCisg
ICAgLy8gb3IgaWYgd2UgYXJlIGZpbGxpbmcgdGhlIGNvbG9ybWFwcywgZmlyc3QgY29tcGxldGUg
dGhlIGNvbG9ybWFwLgorICAgIHVuc2lnbmVkIGNoYXIqIHAgPSAwOworICAgIGlmIChtX3N0YXRl
ID09IEdJRkdsb2JhbENvbG9ybWFwKQorICAgICAgICBwID0gbV9nbG9iYWxDb2xvcm1hcDsKKyAg
ICBlbHNlIGlmIChtX3N0YXRlID09IEdJRkltYWdlQ29sb3JtYXApCisgICAgICAgIHAgPSBtX2Zy
YW1lQ29udGV4dCA/IG1fZnJhbWVDb250ZXh0LT5sb2NhbENvbG9ybWFwIDogMDsKKyAgICBlbHNl
IGlmIChtX2J5dGVzSW5Ib2xkKQorICAgICAgICBwID0gbV9ob2xkOworICAgIGVsc2UKKyAgICAg
ICAgcCA9IDA7CisKKyAgICBpZiAocCB8fCAobV9zdGF0ZSA9PSBHSUZHbG9iYWxDb2xvcm1hcCkg
fHwgKG1fc3RhdGUgPT0gR0lGSW1hZ2VDb2xvcm1hcCkpIHsKKyAgICAgICAgLy8gQWRkIHdoYXQg
d2UgaGF2ZSBzb2ZhciB0byB0aGUgYmxvY2sKKyAgICAgICAgdW5zaWduZWQgbGVuZ3RoID0gbGVu
IDwgbV9ieXRlc1RvQ29uc3VtZSA/IGxlbiA6IG1fYnl0ZXNUb0NvbnN1bWU7CisgICAgICAgIGlm
IChwKQorICAgICAgICAgICAgbWVtY3B5KHAgKyBtX2J5dGVzSW5Ib2xkLCBidWYsIGxlbmd0aCk7
CisKKyAgICAgICAgaWYgKGxlbmd0aCA8IG1fYnl0ZXNUb0NvbnN1bWUpIHsKKyAgICAgICAgICAg
IC8vIE5vdCBlbm91Z2ggaW4gJ2J1ZicgdG8gY29tcGxldGUgY3VycmVudCBibG9jaywgZ2V0IG1v
cmUKKyAgICAgICAgICAgIG1fYnl0ZXNJbkhvbGQgKz0gbGVuZ3RoOworICAgICAgICAgICAgbV9i
eXRlc1RvQ29uc3VtZSAtPSBsZW5ndGg7CisgICAgICAgICAgICBpZiAobV9jbGllbnQpCisgICAg
ICAgICAgICAgICAgbV9jbGllbnQtPmRlY29kaW5nSGFsdGVkKDApOworICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICB9CisKKyAgICAgICAgLy8gUmVzZXQgaG9sZCBidWZmZXIgY291
bnQKKyAgICAgICAgbV9ieXRlc0luSG9sZCA9IDA7CiAKLSAgICAvLyBUaGlzIGxvb3AgcmVhZHMg
YXMgbWFueSBjb21wb25lbnRzIGZyb20gfG1fZGF0YXwgYXMgcG9zc2libGUuCi0gICAgLy8gQXQg
dGhlIGJlZ2lubmluZyBvZiBlYWNoIGl0ZXJhdGlvbiwgZGF0YVBvc2l0aW9uIHdpbGwgYmUgYWR2
YW5jZWQgYnkgbV9ieXRlc1RvQ29uc3VtZSB0bwotICAgIC8vIHBvaW50IHRvIHRoZSBuZXh0IGNv
bXBvbmVudC4gbGVuIHdpbGwgYmUgZGVjcmVtZW50ZWQgYWNjb3JkaW5nbHkuCi0gICAgd2hpbGUg
KGxlbiA+PSBtX2J5dGVzVG9Db25zdW1lKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBSZW5hbWUgdGhp
cyB2YXJpYWJsZSB0byBjdXJyZW50Q29tcG9uZW50LgotICAgICAgICBjb25zdCB1bnNpZ25lZCBj
aGFyKiBxID0gZGF0YShkYXRhUG9zaXRpb24pOworICAgICAgICAvLyBQb2ludCAncScgdG8gY29t
cGxldGUgYmxvY2sgaW4gaG9sZCAob3IgaW4gY29sb3JtYXApCisgICAgICAgIHEgPSBwOworICAg
IH0KIAotICAgICAgICAvLyBNYXJrIHRoZSBjdXJyZW50IGNvbXBvbmVudCBhcyBjb25zdW1lZC4g
Tm90ZSB0aGF0IHEgd2lsbCByZW1haW4gcG9pbnRlZCBhdCB0aGlzCi0gICAgICAgIC8vIGNvbXBv
bmVudCB1bnRpbCB0aGUgbmV4dCBsb29wIGl0ZXJhdGlvbi4KLSAgICAgICAgZGF0YVBvc2l0aW9u
ICs9IG1fYnl0ZXNUb0NvbnN1bWU7CisgICAgLy8gSW52YXJpYW50OgorICAgIC8vICAgICdxJyBp
cyBzdGFydCBvZiBjdXJyZW50IHRvIGJlIHByb2Nlc3NlZCBibG9jayAoaG9sZCwgY29sb3JtYXAg
b3IgYnVmKQorICAgIC8vICAgICdtX2J5dGVzVG9Db25zdW1lJyBpcyBudW1iZXIgb2YgYnl0ZXMg
dG8gY29uc3VtZSBmcm9tICdidWYnCisgICAgLy8gICAgJ2J1ZicgcG9pbnRzIHRvIHRoZSBieXRl
cyB0byBiZSBjb25zdW1lZCBmcm9tIHRoZSBpbnB1dCBidWZmZXIKKyAgICAvLyAgICAnbGVuJyBp
cyBudW1iZXIgb2YgYnl0ZXMgbGVmdCBpbiBpbnB1dCBidWZmZXIgZnJvbSBwb3NpdGlvbiAnYnVm
Jy4KKyAgICAvLyAgICBBdCBlbnRyYW5jZSBvZiB0aGUgZm9yIGxvb3Agd2lsbCAnYnVmJyB3aWxs
IGJlIG1vdmVkICdtX2J5dGVzVG9Db25zdW1lJworICAgIC8vICAgIHRvIHBvaW50IHRvIG5leHQg
YnVmZmVyLCAnbGVuJyBpcyBhZGp1c3RlZCBhY2NvcmRpbmdseS4KKyAgICAvLyAgICBTbyB0aGF0
IG5leHQgcm91bmQgaW4gZm9yIGxvb3AsIHEgZ2V0cyBwb2ludGVkIHRvIHRoZSBuZXh0IGJ1ZmZl
ci4KKyAgICBmb3IgKDtsZW4gPj0gbV9ieXRlc1RvQ29uc3VtZTsgcSA9IGJ1ZikgeworICAgICAg
ICAvLyBFYXQgdGhlIGN1cnJlbnQgYmxvY2sgZnJvbSB0aGUgYnVmZmVyLCBxIGtlZXBzIHBvaW50
ZWQgYXQgY3VycmVudCBibG9jay4KKyAgICAgICAgYnVmICs9IG1fYnl0ZXNUb0NvbnN1bWU7CiAg
ICAgICAgIGxlbiAtPSBtX2J5dGVzVG9Db25zdW1lOwogCiAgICAgICAgIHN3aXRjaCAobV9zdGF0
ZSkgewogICAgICAgICBjYXNlIEdJRkxaVzoKLSAgICAgICAgICAgIC8vIG1fYnl0ZXNUb0NvbnN1
bWUgaXMgdGhlIGN1cnJlbnQgY29tcG9uZW50IHNpemUgYmVjYXVzZSBpdCBoYXNuJ3QgYmVlbiB1
cGRhdGVkLgotICAgICAgICAgICAgaWYgKCFkb0xaVyhxLCBtX2J5dGVzVG9Db25zdW1lKSkKKyAg
ICAgICAgICAgIGlmICghZG9MWlcocSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAv
LyBJZiBkb0xaVygpIGVuY291bnRlcmVkIGFuIGVycm9yLCBpdCBoYXMgYWxyZWFkeSBjYWxsZWQg
bV9jbGllbnQtPnNldEZhaWxlZCgpLgogICAgICAgICAgICAgR0VUTigxLCBHSUZTdWJCbG9jayk7
CiAgICAgICAgICAgICBicmVhazsKQEAgLTQ1OCwxOCArNDg4LDIzIEBAIGJvb2wgR0lGSW1hZ2VS
ZWFkZXI6OmRlY29kZUludGVybmFsKHNpemVfdCBkYXRhUG9zaXRpb24sIHNpemVfdCBsZW4sIEdJ
RkltYWdlRGVjCiAKICAgICAgICAgICAgIGlmICgocVs0XSAmIDB4ODApICYmIG1fZ2xvYmFsQ29s
b3JtYXBTaXplID4gMCkgeyAvKiBnbG9iYWwgbWFwICovCiAgICAgICAgICAgICAgICAgLy8gR2V0
IHRoZSBnbG9iYWwgY29sb3JtYXAKLSAgICAgICAgICAgICAgICBjb25zdCBzaXplX3QgZ2xvYmFs
Q29sb3JtYXBCeXRlcyA9IDMgKiBtX2dsb2JhbENvbG9ybWFwU2l6ZTsKLSAgICAgICAgICAgICAg
ICBtX2dsb2JhbENvbG9ybWFwUG9zaXRpb24gPSBkYXRhUG9zaXRpb247CisgICAgICAgICAgICAg
ICAgY29uc3QgdW5zaWduZWQgc2l6ZSA9IDMqbV9nbG9iYWxDb2xvcm1hcFNpemU7CisKKyAgICAg
ICAgICAgICAgICAvLyBNYWxsb2MgdGhlIGNvbG9yIG1hcCwgYnV0IG9ubHkgaWYgd2UncmUgbm90
IGp1c3QgY291bnRpbmcgZnJhbWVzLgorICAgICAgICAgICAgICAgIGlmIChxdWVyeSAhPSBHSUZJ
bWFnZURlY29kZXI6OkdJRkZyYW1lQ291bnRRdWVyeSkKKyAgICAgICAgICAgICAgICAgICAgbV9n
bG9iYWxDb2xvcm1hcCA9IG5ldyB1bnNpZ25lZCBjaGFyW3NpemVdOwogCi0gICAgICAgICAgICAg
ICAgaWYgKGxlbiA8IGdsb2JhbENvbG9ybWFwQnl0ZXMpIHsKLSAgICAgICAgICAgICAgICAgICAg
Ly8gV2FpdCB1bnRpbCB3ZSBoYXZlIGVub3VnaCBieXRlcyB0byBjb25zdW1lIHRoZSBlbnRpcmUg
Y29sb3JtYXAgYXQgb25jZS4KLSAgICAgICAgICAgICAgICAgICAgR0VUTihnbG9iYWxDb2xvcm1h
cEJ5dGVzLCBHSUZHbG9iYWxDb2xvcm1hcCk7CisgICAgICAgICAgICAgICAgaWYgKGxlbiA8IHNp
emUpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVXNlICdob2xkJyBwYXR0ZXJuIHRvIGdldCB0
aGUgZ2xvYmFsIGNvbG9ybWFwCisgICAgICAgICAgICAgICAgICAgIEdFVE4oc2l6ZSwgR0lGR2xv
YmFsQ29sb3JtYXApOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgICAgICBtX2lzR2xvYmFsQ29sb3JtYXBEZWZpbmVkID0gdHJ1ZTsK
LSAgICAgICAgICAgICAgICBkYXRhUG9zaXRpb24gKz0gZ2xvYmFsQ29sb3JtYXBCeXRlczsKLSAg
ICAgICAgICAgICAgICBsZW4gLT0gZ2xvYmFsQ29sb3JtYXBCeXRlczsKKyAgICAgICAgICAgICAg
ICAvLyBDb3B5IGV2ZXJ5dGhpbmcgYW5kIGdvIGRpcmVjdGx5IHRvIEdJRkltYWdlX3N0YXJ0Lgor
ICAgICAgICAgICAgICAgIGlmIChtX2dsb2JhbENvbG9ybWFwKQorICAgICAgICAgICAgICAgICAg
ICBtZW1jcHkobV9nbG9iYWxDb2xvcm1hcCwgYnVmLCBzaXplKTsKKyAgICAgICAgICAgICAgICBi
dWYgKz0gc2l6ZTsKKyAgICAgICAgICAgICAgICBsZW4gLT0gc2l6ZTsKICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgR0VUTigxLCBHSUZJbWFnZVN0YXJ0KTsKQEAgLTQ4MSw3ICs1MTYsNyBA
QCBib29sIEdJRkltYWdlUmVhZGVyOjpkZWNvZGVJbnRlcm5hbChzaXplX3QgZGF0YVBvc2l0aW9u
LCBzaXplX3QgbGVuLCBHSUZJbWFnZURlYwogICAgICAgICB9CiAKICAgICAgICAgY2FzZSBHSUZH
bG9iYWxDb2xvcm1hcDogewotICAgICAgICAgICAgbV9pc0dsb2JhbENvbG9ybWFwRGVmaW5lZCA9
IHRydWU7CisgICAgICAgICAgICAvLyBFdmVyeXRoaW5nIGlzIGFscmVhZHkgY29waWVkIGludG8g
bV9nbG9iYWxDb2xvcm1hcAogICAgICAgICAgICAgR0VUTigxLCBHSUZJbWFnZVN0YXJ0KTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CkBAIC01MTAsNyArNTQ1LDcgQEAgYm9vbCBHSUZJ
bWFnZVJlYWRlcjo6ZGVjb2RlSW50ZXJuYWwoc2l6ZV90IGRhdGFQb3NpdGlvbiwgc2l6ZV90IGxl
biwgR0lGSW1hZ2VEZWMKICAgICAgICAgfQogCiAgICAgICAgIGNhc2UgR0lGRXh0ZW5zaW9uOiB7
Ci0gICAgICAgICAgICBzaXplX3QgYnl0ZXNJbkJsb2NrID0gcVsxXTsKKyAgICAgICAgICAgIG1f
Y291bnQgPSBxWzFdOwogICAgICAgICAgICAgR0lGU3RhdGUgZXMgPSBHSUZTa2lwQmxvY2s7CiAK
ICAgICAgICAgICAgIC8vIFRoZSBHSUYgc3BlYyBtYW5kYXRlcyBsZW5ndGhzIGZvciB0aHJlZSBv
ZiB0aGUgZXh0ZW5zaW9ucyBiZWxvdy4KQEAgLTUzMSwxNyArNTY2LDE3IEBAIGJvb2wgR0lGSW1h
Z2VSZWFkZXI6OmRlY29kZUludGVybmFsKHNpemVfdCBkYXRhUG9zaXRpb24sIHNpemVfdCBsZW4s
IEdJRkltYWdlRGVjCiAgICAgICAgICAgICBzd2l0Y2ggKCpxKSB7CiAgICAgICAgICAgICBjYXNl
IDB4Zjk6CiAgICAgICAgICAgICAgICAgZXMgPSBHSUZDb250cm9sRXh0ZW5zaW9uOwotICAgICAg
ICAgICAgICAgIGJ5dGVzSW5CbG9jayA9IHN0ZDo6bWF4KGJ5dGVzSW5CbG9jaywgc3RhdGljX2Nh
c3Q8c2l6ZV90Pig0KSk7CisgICAgICAgICAgICAgICAgbV9jb3VudCA9IHN0ZDo6bWF4KG1fY291
bnQsIDQpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICBjYXNlIDB4MDE6
CiAgICAgICAgICAgICAgICAgLy8gaWdub3JpbmcgcGxhaW4gdGV4dCBleHRlbnNpb24KLSAgICAg
ICAgICAgICAgICBieXRlc0luQmxvY2sgPSBzdGQ6Om1heChieXRlc0luQmxvY2ssIHN0YXRpY19j
YXN0PHNpemVfdD4oMTIpKTsKKyAgICAgICAgICAgICAgICBtX2NvdW50ID0gc3RkOjptYXgobV9j
b3VudCwgMTIpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICBjYXNlIDB4
ZmY6CiAgICAgICAgICAgICAgICAgZXMgPSBHSUZBcHBsaWNhdGlvbkV4dGVuc2lvbjsKLSAgICAg
ICAgICAgICAgICBieXRlc0luQmxvY2sgPSBzdGQ6Om1heChieXRlc0luQmxvY2ssIHN0YXRpY19j
YXN0PHNpemVfdD4oMTEpKTsKKyAgICAgICAgICAgICAgICBtX2NvdW50ID0gc3RkOjptYXgobV9j
b3VudCwgMTEpOwogICAgICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICBjYXNlIDB4
ZmU6CkBAIC01NDksOCArNTg0LDggQEAgYm9vbCBHSUZJbWFnZVJlYWRlcjo6ZGVjb2RlSW50ZXJu
YWwoc2l6ZV90IGRhdGFQb3NpdGlvbiwgc2l6ZV90IGxlbiwgR0lGSW1hZ2VEZWMKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgaWYgKGJ5dGVzSW5C
bG9jaykKLSAgICAgICAgICAgICAgICBHRVROKGJ5dGVzSW5CbG9jaywgZXMpOworICAgICAgICAg
ICAgaWYgKG1fY291bnQpCisgICAgICAgICAgICAgICAgR0VUTihtX2NvdW50LCBlcyk7CiAgICAg
ICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgR0VUTigxLCBHSUZJbWFnZVN0YXJ0KTsKICAg
ICAgICAgICAgIGJyZWFrOwpAQCAtNjk0LDcgKzcyOSw4IEBAIGJvb2wgR0lGSW1hZ2VSZWFkZXI6
OmRlY29kZUludGVybmFsKHNpemVfdCBkYXRhUG9zaXRpb24sIHNpemVfdCBsZW4sIEdJRkltYWdl
RGVjCiAgICAgICAgICAgICBpZiAocXVlcnkgPT0gR0lGSW1hZ2VEZWNvZGVyOjpHSUZTaXplUXVl
cnkgfHwgaGFsdEF0RnJhbWUgPT0gbV9pbWFnZXNEZWNvZGVkKSB7CiAgICAgICAgICAgICAgICAg
Ly8gVGhlIGRlY29kZXIgbmVlZHMgdG8gc3RvcC4gSGFuZCBiYWNrIHRoZSBudW1iZXIgb2YgYnl0
ZXMgd2UgY29uc3VtZWQgZnJvbQogICAgICAgICAgICAgICAgIC8vIGJ1ZmZlciBtaW51cyA5ICh0
aGUgYW1vdW50IHdlIGNvbnN1bWVkIHRvIHJlYWQgdGhlIGhlYWRlcikuCi0gICAgICAgICAgICAg
ICAgc2V0UmVtYWluaW5nQnl0ZXMobGVuICsgOSk7CisgICAgICAgICAgICAgICAgaWYgKG1fY2xp
ZW50KQorICAgICAgICAgICAgICAgICAgICBtX2NsaWVudC0+ZGVjb2RpbmdIYWx0ZWQobGVuICsg
OSk7CiAgICAgICAgICAgICAgICAgR0VUTig5LCBHSUZJbWFnZUhlYWRlcik7CiAgICAgICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CkBAIC03NTgsMjQgKzc5NCwzMyBAQCBi
b29sIEdJRkltYWdlUmVhZGVyOjpkZWNvZGVJbnRlcm5hbChzaXplX3QgZGF0YVBvc2l0aW9uLCBz
aXplX3QgbGVuLCBHSUZJbWFnZURlYwogICAgICAgICAgICAgLy8gaGFzIGEgbG9jYWwgY29sb3Jt
YXA/CiAgICAgICAgICAgICBpZiAocVs4XSAmIDB4ODApIHsKICAgICAgICAgICAgICAgICBpbnQg
bnVtQ29sb3JzID0gMiA8PCAocVs4XSAmIDB4Nyk7Ci0gICAgICAgICAgICAgICAgY29uc3Qgc2l6
ZV90IGxvY2FsQ29sb3JtYXBCeXRlcyA9IDMgKiBudW1Db2xvcnM7CisgICAgICAgICAgICAgICAg
Y29uc3QgdW5zaWduZWQgc2l6ZSA9IDMgKiBudW1Db2xvcnM7CisgICAgICAgICAgICAgICAgdW5z
aWduZWQgY2hhciAqbWFwID0gbV9mcmFtZUNvbnRleHQgPyBtX2ZyYW1lQ29udGV4dC0+bG9jYWxD
b2xvcm1hcCA6IDA7CisgICAgICAgICAgICAgICAgaWYgKG1fZnJhbWVDb250ZXh0ICYmICghbWFw
IHx8IChudW1Db2xvcnMgPiBtX2ZyYW1lQ29udGV4dC0+bG9jYWxDb2xvcm1hcFNpemUpKSkgewor
ICAgICAgICAgICAgICAgICAgICBkZWxldGUgW11tYXA7CisgICAgICAgICAgICAgICAgICAgIG1h
cCA9IG5ldyB1bnNpZ25lZCBjaGFyW3NpemVdOworICAgICAgICAgICAgICAgICAgICBpZiAoIW1h
cCkKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtX2NsaWVudCA/IG1fY2xpZW50LT5z
ZXRGYWlsZWQoKSA6IGZhbHNlOworICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAg
IC8vIFN3aXRjaCB0byB0aGUgbmV3IGxvY2FsIHBhbGV0dGUgYWZ0ZXIgaXQgbG9hZHMKICAgICAg
ICAgICAgICAgICBpZiAobV9mcmFtZUNvbnRleHQpIHsKLSAgICAgICAgICAgICAgICAgICAgbV9m
cmFtZUNvbnRleHQtPmxvY2FsQ29sb3JtYXBQb3NpdGlvbiA9IGRhdGFQb3NpdGlvbjsKKyAgICAg
ICAgICAgICAgICAgICAgbV9mcmFtZUNvbnRleHQtPmxvY2FsQ29sb3JtYXAgPSBtYXA7CiAgICAg
ICAgICAgICAgICAgICAgIG1fZnJhbWVDb250ZXh0LT5sb2NhbENvbG9ybWFwU2l6ZSA9IG51bUNv
bG9yczsKKyAgICAgICAgICAgICAgICAgICAgbV9mcmFtZUNvbnRleHQtPmlzTG9jYWxDb2xvcm1h
cERlZmluZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIGlm
IChsZW4gPCBsb2NhbENvbG9ybWFwQnl0ZXMpIHsKLSAgICAgICAgICAgICAgICAgICAgLy8gV2Fp
dCB1bnRpbCB3ZSBoYXZlIGVub3VnaCBieXRlcyB0byBjb25zdW1lIHRoZSBlbnRpcmUgY29sb3Jt
YXAgYXQgb25jZS4KLSAgICAgICAgICAgICAgICAgICAgR0VUTihsb2NhbENvbG9ybWFwQnl0ZXMs
IEdJRkltYWdlQ29sb3JtYXApOworICAgICAgICAgICAgICAgIGlmIChsZW4gPCBzaXplKSB7Cisg
ICAgICAgICAgICAgICAgICAgIC8vIFVzZSAnaG9sZCcgcGF0dGVybiB0byBnZXQgdGhlIGltYWdl
IGNvbG9ybWFwCisgICAgICAgICAgICAgICAgICAgIEdFVE4oc2l6ZSwgR0lGSW1hZ2VDb2xvcm1h
cCk7CiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgIH0KIAorICAg
ICAgICAgICAgICAgIC8vIENvcHkgZXZlcnl0aGluZyBhbmQgZGlyZWN0bHkgZ28gdG8gR0lGTFpX
U3RhcnQKICAgICAgICAgICAgICAgICBpZiAobV9mcmFtZUNvbnRleHQpCi0gICAgICAgICAgICAg
ICAgICAgIG1fZnJhbWVDb250ZXh0LT5pc0xvY2FsQ29sb3JtYXBEZWZpbmVkID0gdHJ1ZTsKLSAg
ICAgICAgICAgICAgICBkYXRhUG9zaXRpb24gKz0gbG9jYWxDb2xvcm1hcEJ5dGVzOwotICAgICAg
ICAgICAgICAgIGxlbiAtPSBsb2NhbENvbG9ybWFwQnl0ZXM7CisgICAgICAgICAgICAgICAgICAg
IG1lbWNweShtX2ZyYW1lQ29udGV4dC0+bG9jYWxDb2xvcm1hcCwgYnVmLCBzaXplKTsKKyAgICAg
ICAgICAgICAgICBidWYgKz0gc2l6ZTsKKyAgICAgICAgICAgICAgICBsZW4gLT0gc2l6ZTsKICAg
ICAgICAgICAgIH0gZWxzZSBpZiAobV9mcmFtZUNvbnRleHQpIHsKICAgICAgICAgICAgICAgICAv
LyBTd2l0Y2ggYmFjayB0byB0aGUgZ2xvYmFsIHBhbGV0dGUKICAgICAgICAgICAgICAgICBtX2Zy
YW1lQ29udGV4dC0+aXNMb2NhbENvbG9ybWFwRGVmaW5lZCA9IGZhbHNlOwpAQCAtNzg1LDIzICs4
MzAsMjEgQEAgYm9vbCBHSUZJbWFnZVJlYWRlcjo6ZGVjb2RlSW50ZXJuYWwoc2l6ZV90IGRhdGFQ
b3NpdGlvbiwgc2l6ZV90IGxlbiwgR0lGSW1hZ2VEZWMKICAgICAgICAgfQogCiAgICAgICAgIGNh
c2UgR0lGSW1hZ2VDb2xvcm1hcDogewotICAgICAgICAgICAgaWYgKG1fZnJhbWVDb250ZXh0KQot
ICAgICAgICAgICAgICAgIG1fZnJhbWVDb250ZXh0LT5pc0xvY2FsQ29sb3JtYXBEZWZpbmVkID0g
dHJ1ZTsKKyAgICAgICAgICAgIC8vIEV2ZXJ5dGhpbmcgaXMgYWxyZWFkeSBjb3BpZWQgaW50byBs
b2NhbENvbG9ybWFwCiAgICAgICAgICAgICBHRVROKDEsIEdJRkxaV1N0YXJ0KTsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgY2FzZSBHSUZTdWJCbG9jazogewogICAg
ICAgICAgICAgLy8gU3RpbGwgd29ya2luZyBvbiB0aGUgc2FtZSBpbWFnZTogUHJvY2VzcyBuZXh0
IExaVyBkYXRhIGJsb2NrLgotICAgICAgICAgICAgY29uc3Qgc2l6ZV90IGJ5dGVzSW5CbG9jayA9
ICpxOwotICAgICAgICAgICAgaWYgKGJ5dGVzSW5CbG9jaykgeworICAgICAgICAgICAgaWYgKCht
X2NvdW50ID0gKnEpKSB7CiAgICAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZXJlIGFyZSBz
dGlsbCByb3dzIGxlZnQuIElmIHRoZSBHSUYgZGF0YQogICAgICAgICAgICAgICAgIC8vIGlzIGNv
cnJ1cHQsIHdlIG1heSBub3QgZ2V0IGFuIGV4cGxpY2l0IHRlcm1pbmF0b3IuCiAgICAgICAgICAg
ICAgICAgaWYgKG1fZnJhbWVDb250ZXh0ICYmICFtX2ZyYW1lQ29udGV4dC0+cm93c1JlbWFpbmlu
ZykgewogICAgICAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGFuIGlsbGVnYWwgR0lGLCBidXQg
d2UgcmVtYWluIHRvbGVyYW50LgogICAgICAgICAgICAgICAgICAgICBHRVROKDEsIEdJRlN1YkJs
b2NrKTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgR0VUTihieXRlc0luQmxv
Y2ssIEdJRkxaVyk7CisgICAgICAgICAgICAgICAgR0VUTihtX2NvdW50LCBHSUZMWlcpOwogICAg
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAvLyBTZWUgaWYgdGhlcmUgYXJlIGFu
eSBtb3JlIGltYWdlcyBpbiB0aGlzIHNlcXVlbmNlLgogICAgICAgICAgICAgICAgIG1faW1hZ2Vz
RGVjb2RlZCsrOwpAQCAtODM0LDEyICs4NzcsMjMgQEAgYm9vbCBHSUZJbWFnZVJlYWRlcjo6ZGVj
b2RlSW50ZXJuYWwoc2l6ZV90IGRhdGFQb3NpdGlvbiwgc2l6ZV90IGxlbiwgR0lGSW1hZ2VEZWMK
ICAgICAgICAgfQogICAgIH0KIAotICAgIHNldFJlbWFpbmluZ0J5dGVzKGxlbik7Ci0gICAgcmV0
dXJuIGZhbHNlOwotfQorICAgIC8vIENvcHkgdGhlIGxlZnRvdmVyIGludG8gbV9mcmFtZUNvbnRl
eHQtPm1faG9sZAorICAgIG1fYnl0ZXNJbkhvbGQgPSBsZW47CisgICAgaWYgKGxlbikgeworICAg
ICAgICAvLyBBZGQgd2hhdCB3ZSBoYXZlIHNvZmFyIHRvIHRoZSBibG9jaworICAgICAgICB1bnNp
Z25lZCBjaGFyKiBwOworICAgICAgICBpZiAobV9zdGF0ZSA9PSBHSUZHbG9iYWxDb2xvcm1hcCkK
KyAgICAgICAgICAgIHAgPSBtX2dsb2JhbENvbG9ybWFwOworICAgICAgICBlbHNlIGlmIChtX3N0
YXRlID09IEdJRkltYWdlQ29sb3JtYXApCisgICAgICAgICAgICBwID0gbV9mcmFtZUNvbnRleHQg
PyBtX2ZyYW1lQ29udGV4dC0+bG9jYWxDb2xvcm1hcCA6IDA7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIHAgPSBtX2hvbGQ7CisgICAgICAgIGlmIChwKQorICAgICAgICAgICAgbWVtY3B5KHAs
IGJ1ZiwgbGVuKTsKKyAgICAgICAgbV9ieXRlc1RvQ29uc3VtZSAtPSBsZW47CisgICAgfQogCi12
b2lkIEdJRkltYWdlUmVhZGVyOjpzZXRSZW1haW5pbmdCeXRlcyhzaXplX3QgcmVtYWluaW5nQnl0
ZXMpCi17Ci0gICAgQVNTRVJUKHJlbWFpbmluZ0J5dGVzIDw9IG1fZGF0YS0+c2l6ZSgpKTsKLSAg
ICBtX2J5dGVzUmVhZCA9IG1fZGF0YS0+c2l6ZSgpIC0gcmVtYWluaW5nQnl0ZXM7CisgICAgaWYg
KG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+ZGVjb2RpbmdIYWx0ZWQoMCk7CisgICAgcmV0
dXJuIGZhbHNlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vaW1hZ2Ut
ZGVjb2RlcnMvZ2lmL0dJRkltYWdlUmVhZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VSZWFkZXIuaAppbmRleCBjMmUzM2UxNzIzOGM0Y2E4
YmJmMDE4NzBjNjYxYWY1YTc3YzE5MGRmLi5jMDgyOTE4YzQzMTY2YjM4MDI5ZWJkZjRmMjRjZjM0
ZGU2OWQ3NDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9pbWFnZS1kZWNv
ZGVycy9naWYvR0lGSW1hZ2VSZWFkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9p
bWFnZS1kZWNvZGVycy9naWYvR0lGSW1hZ2VSZWFkZXIuaApAQCAtNDEsMTIgKzQxLDExIEBACiAv
LyBEZWZpbmUgb3Vyc2VsdmVzIGFzIHRoZSBjbGllbnRQdHIuICBNb3ppbGxhIGp1c3QgaGFja2Vk
IHRoZWlyIEMrKyBjYWxsYmFjayBjbGFzcyBpbnRvIHRoaXMgb2xkIEMgZGVjb2RlciwKIC8vIHNv
IHdlIHdpbGwgdG9vLgogI2luY2x1ZGUgIkdJRkltYWdlRGVjb2Rlci5oIgotI2luY2x1ZGUgIlNo
YXJlZEJ1ZmZlci5oIgogCiAjZGVmaW5lIE1BWF9MWldfQklUUyAgICAgICAgICAxMgogI2RlZmlu
ZSBNQVhfQklUUyAgICAgICAgICAgIDQwOTcgLyogMl5NQVhfTFpXX0JJVFMrMSAqLwogI2RlZmlu
ZSBNQVhfQ09MT1JTICAgICAgICAgICAyNTYKLSNkZWZpbmUgR0lGX0NPTE9SUyAgICAgICAgICAg
ICAzCisjZGVmaW5lIE1BWF9IT0xEX1NJWkUgICAgICAgIDI1NgogCiBjb25zdCBpbnQgY0xvb3BD
b3VudE5vdFNlZW4gPSAtMjsKIApAQCAtMTA0LDcgKzEwMyw3IEBAIHB1YmxpYzoKICAgICB1bnNp
Z25lZCBoZWlnaHQ7CiAgICAgaW50IHRwaXhlbDsgLy8gSW5kZXggb2YgdHJhbnNwYXJlbnQgcGl4
ZWwuCiAgICAgV2ViQ29yZTo6SW1hZ2VGcmFtZTo6RnJhbWVEaXNwb3NhbE1ldGhvZCBkaXNwb3Nh
bE1ldGhvZDsgLy8gUmVzdG9yZSB0byBiYWNrZ3JvdW5kLCBsZWF2ZSBpbiBwbGFjZSwgZXRjLgot
ICAgIHNpemVfdCBsb2NhbENvbG9ybWFwUG9zaXRpb247IC8vIFBlci1pbWFnZSBjb2xvcm1hcC4K
KyAgICB1bnNpZ25lZCBjaGFyICpsb2NhbENvbG9ybWFwOyAvLyBQZXItaW1hZ2UgY29sb3JtYXAu
CiAgICAgaW50IGxvY2FsQ29sb3JtYXBTaXplOyAvLyBTaXplIG9mIGxvY2FsIGNvbG9ybWFwIGFy
cmF5LgogICAgIAogICAgIGJvb2wgaXNMb2NhbENvbG9ybWFwRGVmaW5lZCA6IDE7CkBAIC0xNDEs
NyArMTQwLDcgQEAgcHVibGljOgogICAgICAgICAsIGhlaWdodCgwKQogICAgICAgICAsIHRwaXhl
bCgwKQogICAgICAgICAsIGRpc3Bvc2FsTWV0aG9kKFdlYkNvcmU6OkltYWdlRnJhbWU6OkRpc3Bv
c2VOb3RTcGVjaWZpZWQpCi0gICAgICAgICwgbG9jYWxDb2xvcm1hcFBvc2l0aW9uKDApCisgICAg
ICAgICwgbG9jYWxDb2xvcm1hcCgwKQogICAgICAgICAsIGxvY2FsQ29sb3JtYXBTaXplKDApCiAg
ICAgICAgICwgaXNMb2NhbENvbG9ybWFwRGVmaW5lZChmYWxzZSkKICAgICAgICAgLCBwcm9ncmVz
c2l2ZURpc3BsYXkoZmFsc2UpCkBAIC0xNTcsNiArMTU2LDcgQEAgcHVibGljOgogICAgIH5HSUZG
cmFtZUNvbnRleHQoKQogICAgIHsKICAgICAgICAgZGVsZXRlIFtdIHJvd2J1ZjsKKyAgICAgICAg
ZGVsZXRlIFtdIGxvY2FsQ29sb3JtYXA7CiAgICAgICAgIGRlbGV0ZSBbXSBwcmVmaXg7CiAgICAg
ICAgIGRlbGV0ZSBbXSBzdWZmaXg7CiAgICAgICAgIGRlbGV0ZSBbXSBzdGFjazsKQEAgLTE2OSw4
NyArMTY5LDY2IEBAIHB1YmxpYzoKICAgICBHSUZJbWFnZVJlYWRlcihXZWJDb3JlOjpHSUZJbWFn
ZURlY29kZXIqIGNsaWVudCA9IDApCiAgICAgICAgIDogbV9jbGllbnQoY2xpZW50KQogICAgICAg
ICAsIG1fc3RhdGUoR0lGVHlwZSkKLSAgICAgICAgLCBtX2J5dGVzVG9Db25zdW1lKDYpIC8vIE51
bWJlciBvZiBieXRlcyBmb3IgR0lGIHR5cGUsIGVpdGhlciAiR0lGODdhIiBvciAiR0lGODlhIi4K
LSAgICAgICAgLCBtX2J5dGVzUmVhZCgwKQorICAgICAgICAsIG1fYnl0ZXNUb0NvbnN1bWUoNikK
KyAgICAgICAgLCBtX2J5dGVzSW5Ib2xkKDApCisgICAgICAgICwgbV9nbG9iYWxDb2xvcm1hcCgw
KQogICAgICAgICAsIG1fc2NyZWVuQmdjb2xvcigwKQogICAgICAgICAsIG1fdmVyc2lvbigwKQog
ICAgICAgICAsIG1fc2NyZWVuV2lkdGgoMCkKICAgICAgICAgLCBtX3NjcmVlbkhlaWdodCgwKQot
ICAgICAgICAsIG1faXNHbG9iYWxDb2xvcm1hcERlZmluZWQoZmFsc2UpCi0gICAgICAgICwgbV9n
bG9iYWxDb2xvcm1hcFBvc2l0aW9uKDApCiAgICAgICAgICwgbV9nbG9iYWxDb2xvcm1hcFNpemUo
MCkKICAgICAgICAgLCBtX2ltYWdlc0RlY29kZWQoMCkKICAgICAgICAgLCBtX2ltYWdlc0NvdW50
KDApCiAgICAgICAgICwgbV9sb29wQ291bnQoY0xvb3BDb3VudE5vdFNlZW4pCisgICAgICAgICwg
bV9jb3VudCgwKQogICAgICAgICAsIG1fZnJhbWVDb250ZXh0KDApCiAgICAgewogICAgIH0KIAog
ICAgIH5HSUZJbWFnZVJlYWRlcigpCiAgICAgeworICAgICAgICBkZWxldGUgW10gbV9nbG9iYWxD
b2xvcm1hcDsKKyAgICAgICAgbV9nbG9iYWxDb2xvcm1hcCA9IDA7CisKICAgICAgICAgZGVsZXRl
IG1fZnJhbWVDb250ZXh0OwogICAgICAgICBtX2ZyYW1lQ29udGV4dCA9IDA7CiAgICAgfQogCi0g
ICAgdm9pZCBzZXREYXRhKFBhc3NSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBkYXRhKSB7
IG1fZGF0YSA9IGRhdGE7IH0KLSAgICBib29sIGRlY29kZShXZWJDb3JlOjpHSUZJbWFnZURlY29k
ZXI6OkdJRlF1ZXJ5LCB1bnNpZ25lZCBoYWx0QXRGcmFtZSk7CisgICAgYm9vbCByZWFkKGNvbnN0
IHVuc2lnbmVkIGNoYXIqIGJ1ZiwgdW5zaWduZWQgbnVtYnl0ZXMsIFdlYkNvcmU6OkdJRkltYWdl
RGVjb2Rlcjo6R0lGUXVlcnkgPSBXZWJDb3JlOjpHSUZJbWFnZURlY29kZXI6OkdJRkZ1bGxRdWVy
eSwgdW5zaWduZWQgaGFsdEF0RnJhbWUgPSAtMSk7CiAKICAgICBpbnQgaW1hZ2VzQ291bnQoKSBj
b25zdCB7IHJldHVybiBtX2ltYWdlc0NvdW50OyB9CiAgICAgaW50IGxvb3BDb3VudCgpIGNvbnN0
IHsgcmV0dXJuIG1fbG9vcENvdW50OyB9Ci0KLSAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBnbG9i
YWxDb2xvcm1hcCgpIGNvbnN0Ci0gICAgewotICAgICAgICByZXR1cm4gbV9pc0dsb2JhbENvbG9y
bWFwRGVmaW5lZCA/IGRhdGEobV9nbG9iYWxDb2xvcm1hcFBvc2l0aW9uKSA6IDA7Ci0gICAgfQot
ICAgIGludCBnbG9iYWxDb2xvcm1hcFNpemUoKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJu
IG1faXNHbG9iYWxDb2xvcm1hcERlZmluZWQgPyBtX2dsb2JhbENvbG9ybWFwU2l6ZSA6IDA7Ci0g
ICAgfQotCi0gICAgY29uc3QgdW5zaWduZWQgY2hhciogbG9jYWxDb2xvcm1hcChjb25zdCBHSUZG
cmFtZUNvbnRleHQqIGZyYW1lKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIGZyYW1lLT5p
c0xvY2FsQ29sb3JtYXBEZWZpbmVkID8gZGF0YShmcmFtZS0+bG9jYWxDb2xvcm1hcFBvc2l0aW9u
KSA6IDA7Ci0gICAgfQotICAgIGludCBsb2NhbENvbG9ybWFwU2l6ZShjb25zdCBHSUZGcmFtZUNv
bnRleHQqIGZyYW1lKSBjb25zdAotICAgIHsKLSAgICAgICAgcmV0dXJuIGZyYW1lLT5pc0xvY2Fs
Q29sb3JtYXBEZWZpbmVkID8gZnJhbWUtPmxvY2FsQ29sb3JtYXBTaXplIDogMDsKLSAgICB9Ci0K
KyAgICB1bnNpZ25lZCBjaGFyKiBnbG9iYWxDb2xvcm1hcCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2xv
YmFsQ29sb3JtYXA7IH0KKyAgICBpbnQgZ2xvYmFsQ29sb3JtYXBTaXplKCkgY29uc3QgeyByZXR1
cm4gbV9nbG9iYWxDb2xvcm1hcFNpemU7IH0KICAgICBjb25zdCBHSUZGcmFtZUNvbnRleHQqIGZy
YW1lQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhbWVDb250ZXh0OyB9CiAKIHByaXZhdGU6
Ci0gICAgYm9vbCBkZWNvZGVJbnRlcm5hbChzaXplX3QgZGF0YVBvc2l0aW9uLCBzaXplX3QgbGVu
LCBXZWJDb3JlOjpHSUZJbWFnZURlY29kZXI6OkdJRlF1ZXJ5LCB1bnNpZ25lZCBoYWx0QXRGcmFt
ZSk7CiAgICAgYm9vbCBvdXRwdXRSb3coKTsKLSAgICBib29sIGRvTFpXKGNvbnN0IHVuc2lnbmVk
IGNoYXIgKiwgc2l6ZV90KTsKLSAgICB2b2lkIHNldFJlbWFpbmluZ0J5dGVzKHNpemVfdCk7Ci0K
LSAgICBjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhKHNpemVfdCBkYXRhUG9zaXRpb24pIGNvbnN0
Ci0gICAgewotICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1bnNpZ25lZCBj
aGFyKj4obV9kYXRhLT5kYXRhKCkpICsgZGF0YVBvc2l0aW9uOwotICAgIH0KKyAgICBib29sIGRv
TFpXKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnEpOwogCiAgICAgV2ViQ29yZTo6R0lGSW1hZ2VEZWNv
ZGVyKiBtX2NsaWVudDsKIAogICAgIC8vIFBhcnNpbmcgc3RhdGUgbWFjaGluZS4KICAgICBHSUZT
dGF0ZSBtX3N0YXRlOyAvLyBDdXJyZW50IGRlY29kZXIgbWFzdGVyIHN0YXRlLgotICAgIHNpemVf
dCBtX2J5dGVzVG9Db25zdW1lOyAvLyBOdW1iZXIgb2YgYnl0ZXMgdG8gY29uc3VtZSBmb3IgbmV4
dCBzdGFnZSBvZiBwYXJzaW5nLgotICAgIHNpemVfdCBtX2J5dGVzUmVhZDsgLy8gTnVtYmVyIG9m
IGJ5dGVzIHByb2Nlc3NlZC4KKyAgICB1bnNpZ25lZCBtX2J5dGVzVG9Db25zdW1lOyAvLyBOdW1i
ZXIgb2YgYnl0ZXMgdG8gYWNjdW11bGF0ZS4KKyAgICB1bnNpZ25lZCBtX2J5dGVzSW5Ib2xkOyAv
LyBieXRlcyBhY2N1bXVsYXRlZCBzbyBmYXIuCisgICAgdW5zaWduZWQgY2hhciBtX2hvbGRbTUFY
X0hPTERfU0laRV07IC8vIEFjY3VtdWxhdGlvbiBidWZmZXIuCisgICAgdW5zaWduZWQgY2hhciog
bV9nbG9iYWxDb2xvcm1hcDsgLy8gKDMqIE1BWF9DT0xPUlMgaW4gc2l6ZSkgRGVmYXVsdCBjb2xv
cm1hcCBpZiBsb2NhbCBub3Qgc3VwcGxpZWQsIDMgYnl0ZXMgZm9yIGVhY2ggY29sb3IuCiAgICAg
CiAgICAgLy8gR2xvYmFsIChtdWx0aS1pbWFnZSkgc3RhdGUuCiAgICAgaW50IG1fc2NyZWVuQmdj
b2xvcjsgLy8gTG9naWNhbCBzY3JlZW4gYmFja2dyb3VuZCBjb2xvci4KICAgICBpbnQgbV92ZXJz
aW9uOyAvLyBFaXRoZXIgODkgZm9yIEdJRjg5IG9yIDg3IGZvciBHSUY4Ny4KICAgICB1bnNpZ25l
ZCBtX3NjcmVlbldpZHRoOyAvLyBMb2dpY2FsIHNjcmVlbiB3aWR0aCAmIGhlaWdodC4KICAgICB1
bnNpZ25lZCBtX3NjcmVlbkhlaWdodDsKLSAgICBib29sIG1faXNHbG9iYWxDb2xvcm1hcERlZmlu
ZWQ7Ci0gICAgc2l6ZV90IG1fZ2xvYmFsQ29sb3JtYXBQb3NpdGlvbjsgLy8gKDMqIE1BWF9DT0xP
UlMgaW4gc2l6ZSkgRGVmYXVsdCBjb2xvcm1hcCBpZiBsb2NhbCBub3Qgc3VwcGxpZWQsIDMgYnl0
ZXMgZm9yIGVhY2ggY29sb3IuCiAgICAgaW50IG1fZ2xvYmFsQ29sb3JtYXBTaXplOyAvLyBTaXpl
IG9mIGdsb2JhbCBjb2xvcm1hcCBhcnJheS4KICAgICB1bnNpZ25lZCBtX2ltYWdlc0RlY29kZWQ7
IC8vIENvdW50cyBjb21wbGV0ZWQgZnJhbWVzIGZvciBhbmltYXRlZCBHSUZzLgogICAgIGludCBt
X2ltYWdlc0NvdW50OyAvLyBDb3VudGVkIGFsbCBmcmFtZXMgc2VlbiBzbyBmYXIgKGluY2x1ZGlu
ZyBpbmNvbXBsZXRlIGZyYW1lcykuCiAgICAgaW50IG1fbG9vcENvdW50OyAvLyBOZXRzY2FwZSBz
cGVjaWZpYyBleHRlbnNpb24gYmxvY2sgdG8gY29udHJvbCB0aGUgbnVtYmVyIG9mIGFuaW1hdGlv
biBsb29wcyBhIEdJRiByZW5kZXJzLgogICAgIAorICAgIC8vIE5vdCByZWFsbHkgZ2xvYmFsLCBi
dXQgY29udmVuaWVudCB0byBsb2NhdGUgaGVyZS4KKyAgICBpbnQgbV9jb3VudDsgLy8gUmVtYWlu
aW5nICMgYnl0ZXMgaW4gc3ViLWJsb2NrLgorICAgIAogICAgIEdJRkZyYW1lQ29udGV4dCogbV9m
cmFtZUNvbnRleHQ7Ci0KLSAgICBSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBtX2RhdGE7
CiB9OwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0
Lmd5cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCA3YTE4MjVkMzhl
MjE4NDYxN2Q2MTcxNGYyMjk3OTQzOGM4ZTBjNDhjLi44MjI1OWMyMGUzNDZmODFjZGQ5YWFjODdh
NWU1MDczYTRmYWM5ZTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktp
dC5neXAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC02NDMsNyAr
NjQzLDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBzaG91bGQgbm90
IGluY2x1ZGUgZmlsZXMgZGVwZW5kaW5nIG9uIHdlYmtpdF9zdXBwb3J0LgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAjIFRoZXNlIHRlc3RzIGRlcGVuZCBvbiB3ZWJraXRfc3VwcG9y
dCBhbmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBmdW5jdGlvbnMgZGVmaW5l
ZCBvbmx5IGluICFXRUJLSVRfSU1QTEVNRU5UQVRJT04uCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICd0ZXN0cy9HSUZJbWFnZURlY29kZXJUZXN0LmNwcCcsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICd0ZXN0cy9MZXZlbERCVGVzdC5jcHAnLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbmRpdGlv
bnMnOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQppbmRleCAzYjBhN2E1M2U1ODIzYzcx
Y2JlNjgyYjU3MDc0ZGY1NmYxNDEwYzFmLi5kNTgxMTI4OGNmZTRjZjMzN2FlNDc2YTNkNTcyODdh
MWExMzMxYzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBp
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKQEAgLTcyLDcgKzcyLDYg
QEAKICAgICAgICAgICAgICd0ZXN0cy9GcmFtZUxvYWRlckNsaWVudEltcGxUZXN0LmNwcCcsCiAg
ICAgICAgICAgICAndGVzdHMvRnJhbWVUZXN0SGVscGVycy5jcHAnLAogICAgICAgICAgICAgJ3Rl
c3RzL0ZyYW1lVGVzdEhlbHBlcnMuaCcsCi0gICAgICAgICAgICAndGVzdHMvR0lGSW1hZ2VEZWNv
ZGVyVGVzdC5jcHAnLAogICAgICAgICAgICAgJ3Rlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRl
c3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9JREJBYm9ydE9uQ29ycnVwdFRlc3QuY3BwJywK
ICAgICAgICAgICAgICd0ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAnLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9HSUZJbWFnZURlY29kZXJUZXN0LmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvR0lGSW1hZ2VEZWNvZGVyVGVzdC5jcHAK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRkNTQ3ZTlhZGNjMDAwYWEyOTE0ZmQwZGJm
N2NiNGZjMjUzY2VlOTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9HSUZJbWFnZURlY29kZXJUZXN0LmNw
cAorKysgL2Rldi9udWxsCkBAIC0xLDE4NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
ICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAg
ICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMK
LSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
LSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0j
aW5jbHVkZSAiR0lGSW1hZ2VEZWNvZGVyLmgiCi0KLSNpbmNsdWRlICJGaWxlU3lzdGVtLmgiCi0j
aW5jbHVkZSAiU2hhcmVkQnVmZmVyLmgiCi0jaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KLSNpbmNs
dWRlIDxwdWJsaWMvV2ViRGF0YS5oPgotI2luY2x1ZGUgPHB1YmxpYy9XZWJTaXplLmg+Ci0jaW5j
bHVkZSA8d2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuaD4KLSNpbmNsdWRlIDx3dGYvT3du
UHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7Ci11c2luZyBuYW1lc3BhY2UgV2ViS2l0OwotCi1uYW1lc3BhY2UgewotCi1zdGF0aWMg
UGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IHJlYWRGaWxlKGNvbnN0IGNoYXIqIGZpbGVOYW1lKQot
ewotICAgIFN0cmluZyBmaWxlUGF0aCA9IHdlYmtpdF9zdXBwb3J0OjpHZXRXZWJLaXRSb290RGly
KCk7Ci0gICAgZmlsZVBhdGguYXBwZW5kKGZpbGVOYW1lKTsKLQotICAgIGxvbmcgbG9uZyBmaWxl
U2l6ZTsKLSAgICBpZiAoIWdldEZpbGVTaXplKGZpbGVQYXRoLCBmaWxlU2l6ZSkpCi0gICAgICAg
IHJldHVybiAwOwotCi0gICAgUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRsZSA9IG9wZW5GaWxlKGZp
bGVQYXRoLCBPcGVuRm9yUmVhZCk7Ci0gICAgaW50IGZpbGVMZW5ndGggPSBzdGF0aWNfY2FzdDxp
bnQ+KGZpbGVTaXplKTsKLSAgICBWZWN0b3I8Y2hhcj4gYnVmZmVyKGZpbGVMZW5ndGgpOwotICAg
IHJlYWRGcm9tRmlsZShoYW5kbGUsIGJ1ZmZlci5kYXRhKCksIGZpbGVMZW5ndGgpOwotICAgIGNs
b3NlRmlsZShoYW5kbGUpOwotICAgIHJldHVybiBTaGFyZWRCdWZmZXI6OmFkb3B0VmVjdG9yKGJ1
ZmZlcik7Ci19Ci0KLVRFU1QoR0lGSW1hZ2VEZWNvZGVyVGVzdCwgZGVjb2RlVHdvRnJhbWVzKQot
ewotICAgIE93blB0cjxHSUZJbWFnZURlY29kZXI+IGRlY29kZXIoYWRvcHRQdHIobmV3IEdJRklt
YWdlRGVjb2RlcihJbWFnZVNvdXJjZTo6QWxwaGFOb3RQcmVtdWx0aXBsaWVkLCBJbWFnZVNvdXJj
ZTo6R2FtbWFBbmRDb2xvclByb2ZpbGVBcHBsaWVkKSkpOwotCi0gICAgUmVmUHRyPFNoYXJlZEJ1
ZmZlcj4gZGF0YSA9IHJlYWRGaWxlKCIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVzb3VyY2Vz
L2FuaW1hdGVkLmdpZiIpOwotICAgIEFTU0VSVF9UUlVFKGRhdGEuZ2V0KCkpOwotICAgIGRlY29k
ZXItPnNldERhdGEoZGF0YS5nZXQoKSwgdHJ1ZSk7Ci0gICAgRVhQRUNUX0VRKGNBbmltYXRpb25M
b29wT25jZSwgZGVjb2Rlci0+cmVwZXRpdGlvbkNvdW50KCkpOwotCi0gICAgSW1hZ2VGcmFtZSog
ZnJhbWUgPSBkZWNvZGVyLT5mcmFtZUJ1ZmZlckF0SW5kZXgoMCk7Ci0gICAgRVhQRUNUX0VRKElt
YWdlRnJhbWU6OkZyYW1lQ29tcGxldGUsIGZyYW1lLT5zdGF0dXMoKSk7Ci0gICAgRVhQRUNUX0VR
KDE2LCBmcmFtZS0+Z2V0U2tCaXRtYXAoKS53aWR0aCgpKTsKLSAgICBFWFBFQ1RfRVEoMTYsIGZy
YW1lLT5nZXRTa0JpdG1hcCgpLmhlaWdodCgpKTsKLQotICAgIGZyYW1lID0gZGVjb2Rlci0+ZnJh
bWVCdWZmZXJBdEluZGV4KDEpOwotICAgIEVYUEVDVF9FUShJbWFnZUZyYW1lOjpGcmFtZUNvbXBs
ZXRlLCBmcmFtZS0+c3RhdHVzKCkpOwotICAgIEVYUEVDVF9FUSgxNiwgZnJhbWUtPmdldFNrQml0
bWFwKCkud2lkdGgoKSk7Ci0gICAgRVhQRUNUX0VRKDE2LCBmcmFtZS0+Z2V0U2tCaXRtYXAoKS5o
ZWlnaHQoKSk7Ci0KLSAgICBFWFBFQ1RfRVEoMnUsIGRlY29kZXItPmZyYW1lQ291bnQoKSk7Ci0g
ICAgRVhQRUNUX0VRKGNBbmltYXRpb25Mb29wSW5maW5pdGUsIGRlY29kZXItPnJlcGV0aXRpb25D
b3VudCgpKTsKLX0KLQotVEVTVChHSUZJbWFnZURlY29kZXJUZXN0LCBwYXJzZUFuZERlY29kZSkK
LXsKLSAgICBPd25QdHI8R0lGSW1hZ2VEZWNvZGVyPiBkZWNvZGVyKGFkb3B0UHRyKG5ldyBHSUZJ
bWFnZURlY29kZXIoSW1hZ2VTb3VyY2U6OkFscGhhTm90UHJlbXVsdGlwbGllZCwgSW1hZ2VTb3Vy
Y2U6OkdhbW1hQW5kQ29sb3JQcm9maWxlQXBwbGllZCkpKTsKLQotICAgIFJlZlB0cjxTaGFyZWRC
dWZmZXI+IGRhdGEgPSByZWFkRmlsZSgiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNl
cy9hbmltYXRlZC5naWYiKTsKLSAgICBBU1NFUlRfVFJVRShkYXRhLmdldCgpKTsKLSAgICBkZWNv
ZGVyLT5zZXREYXRhKGRhdGEuZ2V0KCksIHRydWUpOwotICAgIEVYUEVDVF9FUShjQW5pbWF0aW9u
TG9vcE9uY2UsIGRlY29kZXItPnJlcGV0aXRpb25Db3VudCgpKTsKLQotICAgIC8vIFRoaXMgY2Fs
bCB3aWxsIHBhcnNlIHRoZSBlbnRpcmUgZmlsZS4KLSAgICBFWFBFQ1RfRVEoMnUsIGRlY29kZXIt
PmZyYW1lQ291bnQoKSk7Ci0KLSAgICBJbWFnZUZyYW1lKiBmcmFtZSA9IGRlY29kZXItPmZyYW1l
QnVmZmVyQXRJbmRleCgwKTsKLSAgICBFWFBFQ1RfRVEoSW1hZ2VGcmFtZTo6RnJhbWVDb21wbGV0
ZSwgZnJhbWUtPnN0YXR1cygpKTsKLSAgICBFWFBFQ1RfRVEoMTYsIGZyYW1lLT5nZXRTa0JpdG1h
cCgpLndpZHRoKCkpOwotICAgIEVYUEVDVF9FUSgxNiwgZnJhbWUtPmdldFNrQml0bWFwKCkuaGVp
Z2h0KCkpOwotCi0gICAgZnJhbWUgPSBkZWNvZGVyLT5mcmFtZUJ1ZmZlckF0SW5kZXgoMSk7Ci0g
ICAgRVhQRUNUX0VRKEltYWdlRnJhbWU6OkZyYW1lQ29tcGxldGUsIGZyYW1lLT5zdGF0dXMoKSk7
Ci0gICAgRVhQRUNUX0VRKDE2LCBmcmFtZS0+Z2V0U2tCaXRtYXAoKS53aWR0aCgpKTsKLSAgICBF
WFBFQ1RfRVEoMTYsIGZyYW1lLT5nZXRTa0JpdG1hcCgpLmhlaWdodCgpKTsKLSAgICBFWFBFQ1Rf
RVEoY0FuaW1hdGlvbkxvb3BJbmZpbml0ZSwgZGVjb2Rlci0+cmVwZXRpdGlvbkNvdW50KCkpOwot
fQotCi1URVNUKEdJRkltYWdlRGVjb2RlclRlc3QsIHBhcnNlQnl0ZUJ5Qnl0ZSkKLXsKLSAgICBP
d25QdHI8R0lGSW1hZ2VEZWNvZGVyPiBkZWNvZGVyKGFkb3B0UHRyKG5ldyBHSUZJbWFnZURlY29k
ZXIoSW1hZ2VTb3VyY2U6OkFscGhhTm90UHJlbXVsdGlwbGllZCwgSW1hZ2VTb3VyY2U6OkdhbW1h
QW5kQ29sb3JQcm9maWxlQXBwbGllZCkpKTsKLQotICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGRh
dGEgPSByZWFkRmlsZSgiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL3Jlc291cmNlcy9hbmltYXRl
ZC5naWYiKTsKLSAgICBBU1NFUlRfVFJVRShkYXRhLmdldCgpKTsKLQotICAgIHNpemVfdCBmcmFt
ZUNvdW50ID0gMDsKLQotICAgIC8vIFBhc3MgZGF0YSB0byBkZWNvZGVyIGJ5dGUgYnkgYnl0ZS4K
LSAgICBmb3IgKHVuc2lnbmVkIGxlbmd0aCA9IDE7IGxlbmd0aCA8PSBkYXRhLT5zaXplKCk7ICsr
bGVuZ3RoKSB7Ci0gICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IHRlbXBEYXRhID0gU2hhcmVk
QnVmZmVyOjpjcmVhdGUoZGF0YS0+ZGF0YSgpLCBsZW5ndGgpOwotICAgICAgICBkZWNvZGVyLT5z
ZXREYXRhKHRlbXBEYXRhLmdldCgpLCBsZW5ndGggPT0gZGF0YS0+c2l6ZSgpKTsKLQotICAgICAg
ICBFWFBFQ1RfTEUoZnJhbWVDb3VudCwgZGVjb2Rlci0+ZnJhbWVDb3VudCgpKTsKLSAgICAgICAg
ZnJhbWVDb3VudCA9IGRlY29kZXItPmZyYW1lQ291bnQoKTsKLSAgICB9Ci0KLSAgICBFWFBFQ1Rf
RVEoMnUsIGRlY29kZXItPmZyYW1lQ291bnQoKSk7Ci0KLSAgICBkZWNvZGVyLT5mcmFtZUJ1ZmZl
ckF0SW5kZXgoMCk7Ci0gICAgZGVjb2Rlci0+ZnJhbWVCdWZmZXJBdEluZGV4KDEpOwotICAgIEVY
UEVDVF9FUShjQW5pbWF0aW9uTG9vcEluZmluaXRlLCBkZWNvZGVyLT5yZXBldGl0aW9uQ291bnQo
KSk7Ci19Ci0KLVRFU1QoR0lGSW1hZ2VEZWNvZGVyVGVzdCwgcGFyc2VBbmREZWNvZGVCeXRlQnlC
eXRlKQotewotICAgIE93blB0cjxHSUZJbWFnZURlY29kZXI+IGRlY29kZXIoYWRvcHRQdHIobmV3
IEdJRkltYWdlRGVjb2RlcihJbWFnZVNvdXJjZTo6QWxwaGFOb3RQcmVtdWx0aXBsaWVkLCBJbWFn
ZVNvdXJjZTo6R2FtbWFBbmRDb2xvclByb2ZpbGVBcHBsaWVkKSkpOwotCi0gICAgUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gZGF0YSA9IHJlYWRGaWxlKCIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvcmVz
b3VyY2VzL2FuaW1hdGVkLWdpZi13aXRoLW9mZnNldHMuZ2lmIik7Ci0gICAgQVNTRVJUX1RSVUUo
ZGF0YS5nZXQoKSk7Ci0KLSAgICBzaXplX3QgZnJhbWVDb3VudCA9IDA7Ci0gICAgc2l6ZV90IGZy
YW1lc0RlY29kZWQgPSAwOwotCi0gICAgLy8gUGFzcyBkYXRhIHRvIGRlY29kZXIgYnl0ZSBieSBi
eXRlLgotICAgIGZvciAodW5zaWduZWQgbGVuZ3RoID0gMTsgbGVuZ3RoIDw9IGRhdGEtPnNpemUo
KTsgKytsZW5ndGgpIHsKLSAgICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gdGVtcERhdGEgPSBT
aGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRhLT5kYXRhKCksIGxlbmd0aCk7Ci0gICAgICAgIGRlY29k
ZXItPnNldERhdGEodGVtcERhdGEuZ2V0KCksIGxlbmd0aCA9PSBkYXRhLT5zaXplKCkpOwotCi0g
ICAgICAgIEVYUEVDVF9MRShmcmFtZUNvdW50LCBkZWNvZGVyLT5mcmFtZUNvdW50KCkpOwotICAg
ICAgICBmcmFtZUNvdW50ID0gZGVjb2Rlci0+ZnJhbWVDb3VudCgpOwotCi0gICAgICAgIEltYWdl
RnJhbWUqIGZyYW1lID0gZGVjb2Rlci0+ZnJhbWVCdWZmZXJBdEluZGV4KGZyYW1lQ291bnQgLSAx
KTsKLSAgICAgICAgaWYgKGZyYW1lICYmIGZyYW1lLT5zdGF0dXMoKSA9PSBJbWFnZUZyYW1lOjpG
cmFtZUNvbXBsZXRlICYmIGZyYW1lc0RlY29kZWQgPCBmcmFtZUNvdW50KQotICAgICAgICAgICAg
KytmcmFtZXNEZWNvZGVkOwotICAgIH0KLQotICAgIEVYUEVDVF9FUSg1dSwgZGVjb2Rlci0+ZnJh
bWVDb3VudCgpKTsKLSAgICBFWFBFQ1RfRVEoNXUsIGZyYW1lc0RlY29kZWQpOwotICAgIEVYUEVD
VF9FUShjQW5pbWF0aW9uTG9vcEluZmluaXRlLCBkZWNvZGVyLT5yZXBldGl0aW9uQ291bnQoKSk7
Ci19Ci0KLS8vIFNlY29uZCBmcmFtZSBpbiB0aGUgZmlsZSBpcyBicm9rZW4gYnV0IHRlc3QgdGhh
dCBmaXJzdCBmcmFtZSBjYW4gYmUgZGVjb2RlZC4KLVRFU1QoR0lGSW1hZ2VEZWNvZGVyVGVzdCwg
YnJva2VuU2Vjb25kRnJhbWUpCi17Ci0gICAgT3duUHRyPEdJRkltYWdlRGVjb2Rlcj4gZGVjb2Rl
cihhZG9wdFB0cihuZXcgR0lGSW1hZ2VEZWNvZGVyKEltYWdlU291cmNlOjpBbHBoYU5vdFByZW11
bHRpcGxpZWQsIEltYWdlU291cmNlOjpHYW1tYUFuZENvbG9yUHJvZmlsZUFwcGxpZWQpKSk7Ci0K
LSAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBkYXRhID0gcmVhZEZpbGUoIi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL2RhdGEvYnJva2VuLmdpZiIpOwotICAgIEFTU0VSVF9UUlVFKGRhdGEu
Z2V0KCkpOwotICAgIGRlY29kZXItPnNldERhdGEoZGF0YS5nZXQoKSwgdHJ1ZSk7Ci0KLSAgICBF
WFBFQ1RfRVEoMXUsIGRlY29kZXItPmZyYW1lQ291bnQoKSk7Ci0KLSAgICBJbWFnZUZyYW1lKiBm
cmFtZSA9IGRlY29kZXItPmZyYW1lQnVmZmVyQXRJbmRleCgwKTsKLSAgICBFWFBFQ1RfRVEoSW1h
Z2VGcmFtZTo6RnJhbWVDb21wbGV0ZSwgZnJhbWUtPnN0YXR1cygpKTsKLSAgICBFWFBFQ1RfRVEo
MTYsIGZyYW1lLT5nZXRTa0JpdG1hcCgpLndpZHRoKCkpOwotICAgIEVYUEVDVF9FUSgxNiwgZnJh
bWUtPmdldFNrQml0bWFwKCkuaGVpZ2h0KCkpOwotCi0gICAgZnJhbWUgPSBkZWNvZGVyLT5mcmFt
ZUJ1ZmZlckF0SW5kZXgoMSk7Ci0gICAgRVhQRUNUX0ZBTFNFKGZyYW1lKTsKLSAgICBFWFBFQ1Rf
RVEoY0FuaW1hdGlvbkxvb3BPbmNlLCBkZWNvZGVyLT5yZXBldGl0aW9uQ291bnQoKSk7Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L2RhdGEvYnJva2VuLmdpZiBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvZGF0YS9icm9r
ZW4uZ2lmCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlM2E3YzRlYmU3ZDliZWE5ODM5
NzVmODI5YTJlZGM4ZTU1ZDFmNzZkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDkw
Ngp6Y21aP3diaEVIYjZrcmZ3X3xDdzxrZH02YVZKNDZzMSowSl8weipMWUtld04yTlUqYkdmVUEr
NzBXJXtvMm8hJl4KenV6KjVCMlNrOWYyP0t7TDEyY3o9JEEkJDVuPm1FRlZvcSNXYyhgM2EqPXZy
KyN6alhQODV1ITM/JXc0R1lQIURgCktPJmNSVlpQb3lQKEl2ZUEKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>