<?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>68271</bug_id>
          
          <creation_ts>2011-09-16 12:59:14 -0700</creation_ts>
          <short_desc>REGRESSION(r95309): Broke many chromium gpu tests. (Requested by dave_levin on #webkit).</short_desc>
          <delta_ts>2011-09-16 13:27:51 -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>
          <dependson>68277</dependson>
          <blocked>67418</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>jamesr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>468737</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-16 12:59:14 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/95309 broke the build:
Broke many chromium gpu tests. (Requested by dave_levin 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>468738</commentid>
    <comment_count>1</comment_count>
      <attachid>107709</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-16 12:59:53 -0700</bug_when>
    <thetext>Created attachment 107709
ROLLOUT of r95309

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>468744</commentid>
    <comment_count>2</comment_count>
      <attachid>107709</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-16 13:04:07 -0700</bug_when>
    <thetext>Comment on attachment 107709
ROLLOUT of r95309

Clearing flags on attachment: 107709

Committed r95312: &lt;http://trac.webkit.org/changeset/95312&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468745</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-16 13:04:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107709</attachid>
            <date>2011-09-16 12:59:53 -0700</date>
            <delta_ts>2011-09-16 13:04:07 -0700</delta_ts>
            <desc>ROLLOUT of r95309</desc>
            <filename>bug-68271-20110916195833.patch</filename>
            <type>text/plain</type>
            <size>30573</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTUzMTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhZWNkMzMyOWEwNmRiMjdk
YzUxMDI0Zjc4MDM1OTEzOWQ2YWE1MTZmLi45OTU2NzYxNjA4NDk0ZGVjOThkYzM1NzcyNDJiNzRl
OTdkNGI1YzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDktMTYgIFNoZXJp
ZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHI5NTMwOS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9j
aGFuZ2VzZXQvOTUzMDkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY4MjcxCisKKyAgICAgICAgQnJva2UgbWFueSBjaHJvbWl1bSBncHUgdGVzdHMuIChS
ZXF1ZXN0ZWQgYnkgZGF2ZV9sZXZpbiBvbgorICAgICAgICAjd2Via2l0KS4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbnRlbnRMYXllckNocm9taXVtLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRlbnRMYXllckNocm9taXVtOjpjcmVhdGVUZXh0dXJlVXBkYXRl
cik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNo
cm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6TGF5
ZXJSZW5kZXJlckNocm9taXVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBsLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1Ro
cmVhZFByb3h5Ojpjb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHk6OmJl
Z2luRnJhbWVBbmRDb21taXRPbkNDVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkNDVGhyZWFk
UHJveHk6OnNldE5lZWRzQ29tbWl0QW5kUmVkcmF3T25DQ1RocmVhZCk6CisgICAgICAgIChXZWJD
b3JlOjpDQ1RocmVhZFByb3h5OjpzZXROZWVkc1JlZHJhd09uQ0NUaHJlYWQpOgorCiAyMDExLTA5
LTE2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgREZHIEpJVCBz
aG91bGQgaW5saW5lIE1hdGguYWJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9Db250ZW50TGF5ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Db250ZW50TGF5ZXJDaHJvbWl1bS5jcHAK
aW5kZXggMGY0MmFhOTRlOWJhM2NkY2QzYzgxYWJiNDI0YWI3ZDU4ZDY4NTlhNC4uMDVlMzE2NjVm
NDU1OWYzNjQ2NzVlYTE2MjVmMjg1YTI2M2I3NTc3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ29udGVudExheWVyQ2hyb21pdW0uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NvbnRlbnRMYXll
ckNocm9taXVtLmNwcApAQCAtMTIwLDcgKzEyMCw2IEBAIGJvb2wgQ29udGVudExheWVyQ2hyb21p
dW06OmRyYXdzQ29udGVudCgpIGNvbnN0CiAKIHZvaWQgQ29udGVudExheWVyQ2hyb21pdW06OmNy
ZWF0ZVRleHR1cmVVcGRhdGVyKGNvbnN0IENDTGF5ZXJUcmVlSG9zdCogaG9zdCkKIHsKLSNpZiAh
VVNFKFRIUkVBREVEX0NPTVBPU0lUSU5HKQogI2lmIFVTRShTS0lBKQogICAgIC8vIE5vdGUgdGhh
dCBob3N0LT5za2lhQ29udGV4dCgpIHdpbGwgY3Jhc2ggaWYgY2FsbGVkIHdoaWxlIGluIHRocmVh
ZGVkCiAgICAgLy8gbW9kZS4gVGhpcyB0aHVzIGRlcGVuZHMgb24gQ0NMYXllclRyZWVIb3N0Ojpp
bml0aWFsaXplIHR1cm5pbmcgb2ZmCkBAIC0xMzAsNyArMTI5LDYgQEAgdm9pZCBDb250ZW50TGF5
ZXJDaHJvbWl1bTo6Y3JlYXRlVGV4dHVyZVVwZGF0ZXIoY29uc3QgQ0NMYXllclRyZWVIb3N0KiBo
b3N0KQogICAgICAgICByZXR1cm47CiAgICAgfQogI2VuZGlmIC8vIFNLSUEKLSNlbmRpZiAvLyAh
VEhSRUFERURfQ09NUE9TSVRJTkcKIAogICAgIG1fdGV4dHVyZVVwZGF0ZXIgPSBMYXllclRleHR1
cmVVcGRhdGVyQml0bWFwOjpjcmVhdGUoQ29udGVudExheWVyUGFpbnRlcjo6Y3JlYXRlKG1fZGVs
ZWdhdGUpLCBob3N0LT5sYXllclJlbmRlcmVyQ2FwYWJpbGl0aWVzKCkudXNpbmdNYXBTdWIpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
TGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKaW5kZXggN2FmY2I3MzVhOGQx
MDM1ODMyZjJmMTM5MjRjNDNlNTNhYTIzNGEyNS4uZjNiYTBjNWQ3NmQ0ZDY1NjYzMmZkNzZmZGE2
NTU5ZTk0NzI4OTAwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCkBA
IC0xNDgsNyArMTQ4LDYgQEAgTGF5ZXJSZW5kZXJlckNocm9taXVtOjpMYXllclJlbmRlcmVyQ2hy
b21pdW0oQ0NMYXllclRyZWVIb3N0SW1wbCogb3duZXIsCiAgICAgLCBtX2N1cnJlbnRSZW5kZXJT
dXJmYWNlKDApCiAgICAgLCBtX29mZnNjcmVlbkZyYW1lYnVmZmVySWQoMCkKICAgICAsIG1fem9v
bUFuaW1hdG9yU2NhbGUoMSkKLSAgICAsIG1fY29udGVudHNUZXh0dXJlTWVtb3J5VXNlQnl0ZXMo
MCkKICAgICAsIG1fY29udGV4dChjb250ZXh0KQogICAgICwgbV9kZWZhdWx0UmVuZGVyU3VyZmFj
ZSgwKQogICAgICwgbV9zaGFyZWRHZW9tZXRyeVF1YWQoRmxvYXRSZWN0KC0wLjVmLCAtMC41Ziwg
MS4wZiwgMS4wZikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oCmluZGV4IGZlZTI5NTYxMmI5
MjEyNzkwZDBiZWMxMDY4N2QwNWJkMTE3OGJmMTcuLmI1MjNmNzc1ZDljY2I2YzNmY2RmNzJmY2Qw
ZGEwMDI0ZjMzYzJmNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5oCkBAIC05OSw3ICs5
OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbW1pdFRvKENDTGF5ZXJUcmVlSG9zdEltcGwqKTsK
ICAgICBQYXNzT3duUHRyPENDVGhyZWFkPiBjcmVhdGVDb21wb3NpdG9yVGhyZWFkKCk7CiAgICAg
UGFzc1JlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gY3JlYXRlTGF5ZXJUcmVlSG9zdENvbnRleHQz
RCgpOwotICAgIHZpcnR1YWwgUGFzc093blB0cjxDQ0xheWVyVHJlZUhvc3RJbXBsPiBjcmVhdGVM
YXllclRyZWVIb3N0SW1wbCgpOworICAgIFBhc3NPd25QdHI8Q0NMYXllclRyZWVIb3N0SW1wbD4g
Y3JlYXRlTGF5ZXJUcmVlSG9zdEltcGwoKTsKICAgICB2b2lkIGRpZFJlY3JlYXRlR3JhcGhpY3ND
b250ZXh0KGJvb2wgc3VjY2Vzcyk7CiAjaWYgIVVTRShUSFJFQURFRF9DT01QT1NJVElORykKICAg
ICB2b2lkIHNjaGVkdWxlQ29tcG9zaXRlKCk7CkBAIC0xNTQsNyArMTU0LDYgQEAgcHVibGljOgog
CiBwcm90ZWN0ZWQ6CiAgICAgQ0NMYXllclRyZWVIb3N0KENDTGF5ZXJUcmVlSG9zdENsaWVudCos
IFBhc3NSZWZQdHI8TGF5ZXJDaHJvbWl1bT4gcm9vdExheWVyLCBjb25zdCBDQ1NldHRpbmdzJik7
Ci0gICAgYm9vbCBpbml0aWFsaXplKCk7CiAKIHByaXZhdGU6CiAgICAgdHlwZWRlZiBWZWN0b3I8
UmVmUHRyPExheWVyQ2hyb21pdW0+ID4gTGF5ZXJMaXN0OwpAQCAtMTY1LDYgKzE2NCw4IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCB1cGRhdGVDb21wb3NpdG9yUmVzb3VyY2VzKExheWVyQ2hyb21pdW0q
LCBHcmFwaGljc0NvbnRleHQzRCopOwogICAgIHZvaWQgY2xlYXJQZW5kaW5nVXBkYXRlKCk7CiAK
KyAgICBib29sIGluaXRpYWxpemUoKTsKKwogICAgIGJvb2wgbV9hbmltYXRpbmc7CiAKICAgICBD
Q0xheWVyVHJlZUhvc3RDbGllbnQqIG1fY2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0SW1wbC5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0SW1wbC5oCmluZGV4IGEzN2U5ZjMzYmU5ZTc0ZmVlNmI3OTU1YzQwN2E5YmYzZTA0NGNlNTku
LmM3NTJlMDAxNDAwYTUyMWJiOTNmZDU2NWMzNzliNmJkNzllMzEyYmIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9z
dEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3RJbXBsLmgKQEAgLTQ2LDEzICs0NiwxMyBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIFBhc3NPd25QdHI8Q0NMYXllclRyZWVIb3N0SW1wbD4gY3JlYXRlKGNvbnN0IENDU2V0
dGluZ3MmKTsKICAgICB2aXJ0dWFsIH5DQ0xheWVyVHJlZUhvc3RJbXBsKCk7CiAKLSAgICAvLyBW
aXJ0dWFsIGZvciB0ZXN0aW5nCiAgICAgdmlydHVhbCB2b2lkIGJlZ2luQ29tbWl0KCk7CiAgICAg
dmlydHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlKCk7Ci0gICAgdmlydHVhbCB2b2lkIGRyYXdMYXll
cnMoKTsKIAogICAgIEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KCk7CiAKKyAgICB2b2lkIGRy
YXdMYXllcnMoKTsKKwogICAgIHZvaWQgZmluaXNoQWxsUmVuZGVyaW5nKCk7CiAgICAgaW50IGZy
YW1lTnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9mcmFtZU51bWJlcjsgfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
VGhyZWFkUHJveHkuY3BwCmluZGV4IDlhODRkYTZjMDUzYTM0MDI5ZTNkYWQzN2I3NmJiODI0MzUw
MDdmNzEuLjEyYjViMzYxYTdiNWMyNmUwZDAwNmI3NzNmMDA4NjcwOTVjODczNjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFk
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDVGhyZWFkUHJveHkuY3BwCkBAIC04NCw2ICs4NCw3IEBAIGJvb2wgQ0NUaHJlYWRQcm94
eTo6Y29tcG9zaXRlQW5kUmVhZGJhY2sodm9pZCAqcGl4ZWxzLCBjb25zdCBJbnRSZWN0JiByZWN0
KQogCiBHcmFwaGljc0NvbnRleHQzRCogQ0NUaHJlYWRQcm94eTo6Y29udGV4dCgpCiB7CisgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTE4NSw4ICsxODYs
OCBAQCB2b2lkIENDVGhyZWFkUHJveHk6OmJlZ2luRnJhbWVBbmRDb21taXRPbkNDVGhyZWFkKCkK
IHsKICAgICBUUkFDRV9FVkVOVCgiQ0NUaHJlYWRQcm94eTo6YmVnaW5GcmFtZUFuZENvbW1pdE9u
Q0NUaHJlYWQiLCB0aGlzLCAwKTsKICAgICBBU1NFUlQoaXNJbXBsVGhyZWFkKCkpOwotICAgIC8v
IFRFTVAgSEFDSyBzbyB3ZSBjYW4gZXhlcmNpc2UgdGhpcyBjb2RlIGluIHVuaXQgdGVzdHMuCi0g
ICAgQ0NNYWluVGhyZWFkOjpwb3N0VGFzayhjcmVhdGVNYWluVGhyZWFkVGFzayh0aGlzLCAmQ0NU
aHJlYWRQcm94eTo6YmVnaW5GcmFtZUFuZENvbW1pdCwgMC4wKSk7CisgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgLy8gRklYTUU6IGNhbGwgYmVnaW5GcmFtZUFuZENvbW1pdCBvbiBtYWlu
IHRocmVhZAogfQogCiB2b2lkIENDVGhyZWFkUHJveHk6OmJlZ2luRnJhbWVBbmRDb21taXQoZG91
YmxlIGZyYW1lQmVnaW5UaW1lKQpAQCAtMjQ2LDE1ICsyNDcsMTMgQEAgdm9pZCBDQ1RocmVhZFBy
b3h5OjpzZXROZWVkc0NvbW1pdEFuZFJlZHJhd09uQ0NUaHJlYWQoKQogICAgIFRSQUNFX0VWRU5U
KCJDQ1RocmVhZFByb3h5OjpzZXROZWVkc0NvbW1pdEFuZFJlZHJhd09uQ0NUaHJlYWQiLCB0aGlz
LCAwKTsKICAgICBBU1NFUlQoaXNJbXBsVGhyZWFkKCkpOwogICAgIEFTU0VSVChtX2xheWVyVHJl
ZUhvc3RJbXBsKTsKLSAgICAvLyBURU1QIEhBQ0sgc28gd2UgY2FuIGV4ZXJjaXNlIHRoaXMgY29k
ZSBpbiB1bml0IHRlc3RzLgotICAgIENDTWFpblRocmVhZDo6cG9zdFRhc2soY3JlYXRlTWFpblRo
cmVhZFRhc2sodGhpcywgJkNDVGhyZWFkUHJveHk6OmJlZ2luRnJhbWVBbmRDb21taXQsIDAuMCkp
OworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCiB2b2lkIENDVGhyZWFkUHJveHk6OnNl
dE5lZWRzUmVkcmF3T25DQ1RocmVhZCgpCiB7CiAgICAgVFJBQ0VfRVZFTlQoIkNDVGhyZWFkUHJv
eHk6OnNldE5lZWRzUmVkcmF3T25DQ1RocmVhZCIsIHRoaXMsIDApOwotICAgIC8vIFRFTVAgSEFD
SyBzbyB3ZSBjYW4gZXhlcmNpc2UgdGhpcyBjb2RlIGluIHVuaXQgdGVzdHMuCi0gICAgZHJhd0xh
eWVyc09uQ0NUaHJlYWQoKTsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAogdm9pZCBD
Q1RocmVhZFByb3h5Ojppbml0aWFsaXplSW1wbE9uQ0NUaHJlYWQoQ0NDb21wbGV0aW9uRXZlbnQq
IGNvbXBsZXRpb24pCkBAIC0yODUsNCArMjg0LDQgQEAgdm9pZCBDQ1RocmVhZFByb3h5OjpsYXll
clRyZWVIb3N0Q2xvc2VkT25DQ1RocmVhZChDQ0NvbXBsZXRpb25FdmVudCogY29tcGxldGlvbikK
ICAgICBjb21wbGV0aW9uLT5zaWduYWwoKTsKIH0KIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBhMTIwOGU2OWEyYzQ4Y2U1ZGM3OWI0YTIw
ZDc2YTFhZTcyMDllMmRiLi40MmRmOWNjYTMzNTQ0ZGQzODBkMzYyNmJiMDI2Yzc5MzUwYTRlYTQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDExLTA5LTE2
ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByOTUzMDkuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtp
dC5vcmcvY2hhbmdlc2V0Lzk1MzA5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02ODI3MQorCisgICAgICAgIEJyb2tlIG1hbnkgY2hyb21pdW0gZ3B1IHRl
c3RzLiAoUmVxdWVzdGVkIGJ5IGRhdmVfbGV2aW4gb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAg
ICAgICAgKiB0ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcDoKKyAgICAgICAgKFdURjo6Q0NM
YXllclRyZWVIb3N0VGVzdDo6Q0NMYXllclRyZWVIb3N0VGVzdCk6CisgICAgICAgIChXVEY6OkND
TGF5ZXJUcmVlSG9zdFRlc3Q6OmFuaW1hdGVBbmRMYXlvdXQpOgorICAgICAgICAoV1RGOjpDQ0xh
eWVyVHJlZUhvc3RUZXN0OjpiZWdpbkNvbW1pdE9uQ0NUaHJlYWQpOgorICAgICAgICAoV1RGOjpD
Q0xheWVyVHJlZUhvc3RUZXN0OjpiZWdpbkNvbW1pdE9uTWFpblRocmVhZCk6CisgICAgICAgIChX
VEY6OkNDTGF5ZXJUcmVlSG9zdFRlc3Q6OmNvbW1pdE9uQ0NUaHJlYWQpOgorICAgICAgICAoV1RG
OjpDQ0xheWVyVHJlZUhvc3RUZXN0Ojpjb21taXRDb21wbGV0ZU9uQ0NUaHJlYWQpOgorICAgICAg
ICAoV1RGOjpDQ0xheWVyVHJlZUhvc3RUZXN0Ojpjb21taXRDb21wbGV0ZU9uTWFpblRocmVhZCk6
CisgICAgICAgIChXVEY6OkNDTGF5ZXJUcmVlSG9zdFRlc3Q6OmRyYXdMYXllcnNBbmRQcmVzZW50
T25DQ1RocmVhZCk6CisgICAgICAgIChXVEY6OkNDTGF5ZXJUcmVlSG9zdFRlc3Q6OnVwZGF0ZUxh
eWVycyk6CisgICAgICAgIChXVEY6OkNDTGF5ZXJUcmVlSG9zdFRlc3Q6Om9uQmVnaW5UZXN0KToK
KyAgICAgICAgKFdURjo6Q0NMYXllclRyZWVIb3N0VGVzdDo6ZG9FbmRUZXN0KToKKyAgICAgICAg
KFdURjo6Q0NMYXllclRyZWVIb3N0VGVzdDo6b25FbmRUZXN0KToKKyAgICAgICAgKFdURjo6Q0NM
YXllclRyZWVIb3N0VGVzdDo6cnVuVGVzdCk6CisgICAgICAgIChXVEY6OkNDTGF5ZXJUcmVlSG9z
dFRlc3Q6OnRlc3RUaW1lb3V0KToKKyAgICAgICAgKFdURjo6TW9ja0xheWVyVHJlZUhvc3RDbGll
bnQ6Ok1vY2tMYXllclRyZWVIb3N0Q2xpZW50KToKKyAgICAgICAgKFdURjo6TW9ja0xheWVyVHJl
ZUhvc3RDbGllbnQ6OmNyZWF0ZUxheWVyVHJlZUhvc3RDb250ZXh0M0QpOgorICAgICAgICAoV1RG
OjpNb2NrTGF5ZXJUcmVlSG9zdENsaWVudDo6YW5pbWF0ZUFuZExheW91dCk6CisgICAgICAgIChX
VEY6Ok1vY2tMYXllclRyZWVIb3N0Q2xpZW50Ojp1cGRhdGVMYXllcnMpOgorICAgICAgICAoV1RG
OjpNb2NrTGF5ZXJUcmVlSG9zdENvbW1pdHRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdURjo6TW9j
a0xheWVyVHJlZUhvc3RDb21taXR0ZXI6OmNvbW1pdCk6CisgICAgICAgIChXVEY6Ok1vY2tMYXll
clRyZWVIb3N0Q29tbWl0dGVyOjpNb2NrTGF5ZXJUcmVlSG9zdENvbW1pdHRlcik6CisgICAgICAg
IChXVEY6Ok1vY2tMYXllclRyZWVIb3N0SW1wbDo6Y3JlYXRlKToKKyAgICAgICAgKFdURjo6TW9j
a0xheWVyVHJlZUhvc3RJbXBsOjpiZWdpbkNvbW1pdCk6CisgICAgICAgIChXVEY6Ok1vY2tMYXll
clRyZWVIb3N0SW1wbDo6Y29tbWl0Q29tcGxldGUpOgorICAgICAgICAoV1RGOjpNb2NrTGF5ZXJU
cmVlSG9zdEltcGw6OmRyYXdMYXllcnNBbmRQcmVzZW50KToKKyAgICAgICAgKFdURjo6TW9ja0xh
eWVyVHJlZUhvc3RJbXBsOjpNb2NrTGF5ZXJUcmVlSG9zdEltcGwpOgorICAgICAgICAoV1RGOjpN
b2NrTGF5ZXJUcmVlSG9zdEltcGxQcm94eTo6Y3JlYXRlKToKKyAgICAgICAgKFdURjo6TW9ja0xh
eWVyVHJlZUhvc3RJbXBsUHJveHk6OmNyZWF0ZUxheWVyVHJlZUhvc3RJbXBsKToKKyAgICAgICAg
KFdURjo6TW9ja0xheWVyVHJlZUhvc3RJbXBsUHJveHk6Ok1vY2tMYXllclRyZWVIb3N0SW1wbFBy
b3h5KToKKyAgICAgICAgKFdURjo6TW9ja0xheWVyVHJlZUhvc3Q6Ok1vY2tMYXllclRyZWVIb3N0
KToKKyAgICAgICAgKFdURjo6TW9ja0xheWVyVHJlZUhvc3Q6OmNyZWF0ZUxheWVyVHJlZUhvc3RJ
bXBsUHJveHkpOgorICAgICAgICAoV1RGOjpNb2NrTGF5ZXJUcmVlSG9zdDo6dXBkYXRlTGF5ZXJz
KToKKyAgICAgICAgKFdURjo6TW9ja0xheWVyVHJlZUhvc3Q6OmNyZWF0ZUxheWVyVHJlZUhvc3RD
b21taXR0ZXIpOgorICAgICAgICAoV1RGOjpNb2NrTGF5ZXJUcmVlSG9zdDo6YmVnaW5Db21taXQp
OgorICAgICAgICAoV1RGOjpNb2NrTGF5ZXJUcmVlSG9zdDo6Y29tbWl0Q29tcGxldGUpOgorICAg
ICAgICAoV1RGOjpDQ0xheWVyVHJlZUhvc3RUZXN0Ojpkb0JlZ2luVGVzdCk6CisgICAgICAgIChX
VEY6OkNDTGF5ZXJUcmVlSG9zdFRlc3RTaG9ydGxpdmVkMjo6YmVnaW5UZXN0KToKKyAgICAgICAg
KFdURjo6Q0NMYXllclRyZWVIb3N0VGVzdFNob3J0bGl2ZWQzOjpiZWdpblRlc3QpOgorICAgICAg
ICAoV1RGOjpDQ0xheWVyVHJlZUhvc3RUZXN0Q29tbWl0aW5nV2l0aENvbnRpbnVvdXNSZWRyYXc6
OmJlZ2luVGVzdCk6CisgICAgICAgIChXVEY6OkNDTGF5ZXJUcmVlSG9zdFRlc3RDb21taXRpbmdX
aXRoQ29udGludW91c1JlZHJhdzo6Y29tbWl0Q29tcGxldGVPbkNDVGhyZWFkKToKKyAgICAgICAg
KFdURjo6Q0NMYXllclRyZWVIb3N0VGVzdENvbW1pdGluZ1dpdGhDb250aW51b3VzUmVkcmF3Ojpk
cmF3TGF5ZXJzQW5kUHJlc2VudE9uQ0NUaHJlYWQpOgorICAgICAgICAoV1RGOjpDQ0xheWVyVHJl
ZUhvc3RUZXN0U2V0TmVlZHNDb21taXQxOjpiZWdpblRlc3QpOgorICAgICAgICAoV1RGOjpDQ0xh
eWVyVHJlZUhvc3RUZXN0U2V0TmVlZHNDb21taXQxOjpkcmF3TGF5ZXJzQW5kUHJlc2VudE9uQ0NU
aHJlYWQpOgorICAgICAgICAoV1RGOjpDQ0xheWVyVHJlZUhvc3RUZXN0U2V0TmVlZHNDb21taXQx
Ojpjb21taXRPbkNDVGhyZWFkKToKKyAgICAgICAgKFdURjo6Q0NMYXllclRyZWVIb3N0VGVzdFNl
dE5lZWRzQ29tbWl0Mjo6YmVnaW5UZXN0KToKKyAgICAgICAgKFdURjo6Q0NMYXllclRyZWVIb3N0
VGVzdFNldE5lZWRzQ29tbWl0Mjo6ZHJhd0xheWVyc0FuZFByZXNlbnRPbkNDVGhyZWFkKToKKyAg
ICAgICAgKFdURjo6Q0NMYXllclRyZWVIb3N0VGVzdFNldE5lZWRzQ29tbWl0Mjo6Y29tbWl0T25D
Q1RocmVhZCk6CisgICAgICAgIChXVEY6OkNDTGF5ZXJUcmVlSG9zdFRlc3RTZXROZWVkc1JlZHJh
dzo6YmVnaW5UZXN0KToKKyAgICAgICAgKFdURjo6Q0NMYXllclRyZWVIb3N0VGVzdFNldE5lZWRz
UmVkcmF3OjpkcmF3TGF5ZXJzQW5kUHJlc2VudE9uQ0NUaHJlYWQpOgorICAgICAgICAoV1RGOjpD
Q0xheWVyVHJlZUhvc3RUZXN0U2V0TmVlZHNSZWRyYXc6OmNvbW1pdE9uQ0NUaHJlYWQpOgorCiAy
MDExLTA5LTE2ICBJYWluIE1lcnJpY2sgIDxodXNreUBnb29nbGUuY29tPgogCiAgICAgICAgIFtj
aHJvbWl1bV0gRml4IENDTGF5ZXJUcmVlSG9zdFRlc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCmluZGV4IGZmNGZmYmU2NTE4
NDRmNWNhNWYyOTcxODE0ZmFjNjU5Mjc4YTMwMWQuLmQ4NTQ4MDY1ODRmZjMzZWExMzVjNmQwOWI1
NTJmNzA5ZWQwMTY3MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
Q0NMYXllclRyZWVIb3N0VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcApAQCAtMjgsMTIgKzI4LDcgQEAKIAogI2luY2x1ZGUg
ImNjL0NDTGF5ZXJUcmVlSG9zdC5oIgogCi0jaW5jbHVkZSAiQ0NUaHJlYWRJbXBsLmgiCi0jaW5j
bHVkZSAiR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlLmgiCi0jaW5jbHVkZSAiTGF5ZXJDaHJvbWl1
bS5oIgotI2luY2x1ZGUgIkxheWVyUGFpbnRlckNocm9taXVtLmgiCi0jaW5jbHVkZSAiTW9ja1dl
YkdyYXBoaWNzQ29udGV4dDNELmgiCi0jaW5jbHVkZSAiVGV4dHVyZU1hbmFnZXIuaCIKKyNpbmNs
dWRlICJHcmFwaGljc0NvbnRleHQzRC5oIgogI2luY2x1ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdElt
cGwuaCIKICNpbmNsdWRlICJjYy9DQ01haW5UaHJlYWRUYXNrLmgiCiAjaW5jbHVkZSAiY2MvQ0NU
aHJlYWRUYXNrLmgiCkBAIC00MywyNTYgKzM4LDI0NyBAQAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwotdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIHVzaW5nIG5hbWVzcGFjZSBXVEY7CiAKIG5h
bWVzcGFjZSB7CiAKLS8vIFVzZWQgYnkgdGVzdCBzdHVicyB0byBub3RpZnkgdGhlIHRlc3Qgd2hl
biBzb21ldGhpbmcgaW50ZXJlc3RpbmcgaGFwcGVucy4KLWNsYXNzIFRlc3RIb29rcyB7Ci1wdWJs
aWM6Ci0gICAgdmlydHVhbCB2b2lkIGJlZ2luQ29tbWl0T25DQ1RocmVhZChDQ0xheWVyVHJlZUhv
c3RJbXBsKikgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlT25DQ1RocmVhZChD
Q0xheWVyVHJlZUhvc3RJbXBsKikgeyB9Ci0gICAgdmlydHVhbCB2b2lkIGRyYXdMYXllcnNPbkND
VGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqKSB7IH0KLX07CitjbGFzcyBNb2NrTGF5ZXJUcmVl
SG9zdDsKK2NsYXNzIE1vY2tMYXllclRyZWVIb3N0Q2xpZW50OworY2xhc3MgTW9ja0xheWVyVHJl
ZUhvc3RJbXBsOwogCi0vLyBBZGFwdHMgQ0NMYXllclRyZWVIb3N0SW1wbCBmb3IgdGVzdC4gUnVu
cyByZWFsIGNvZGUsIHRoZW4gaW52b2tlcyB0ZXN0IGhvb2tzLgotY2xhc3MgTW9ja0xheWVyVHJl
ZUhvc3RJbXBsIDogcHVibGljIENDTGF5ZXJUcmVlSG9zdEltcGwgeworLy8gVGhlIENDTGF5ZXJU
cmVlSG9zdFRlc3QgcnVucyB3aXRoIHRoZSBtYWluIGxvb3AgcnVubmluZy4gSXQgaW5zdGFudGlh
dGVzIGEgc2luZ2xlIE1vY2tMYXllclRyZWVIb3N0IGFuZCBhc3NvY2lhdGVkCisvLyBNb2NrTGF5
ZXJUcmVlSG9zdEltcGwvTW9ja0xheWVyVHJlZUhvc3RDbGllbnQuCisvLworLy8gYmVnaW5UZXN0
KCkgaXMgY2FsbGVkIG9uY2UgdGhlIG1haW4gbWVzc2FnZSBsb29wIGlzIHJ1bm5pbmcgYW5kIHRo
ZSBsYXllciB0cmVlIGhvc3QgaXMgaW5pdGlhbGl6ZWQuCisvLworLy8gS2V5IHN0YWdlcyBvZiB0
aGUgZHJhd2luZyBsb29wLCBlLmcuIGRyYXdpbmcgb3IgY29tbWl0aW5nLCByZWRpcmVjdCB0byBD
Q0xheWVyVHJlZUhvc3RUZXN0IG1ldGhvZHMgb2Ygc2ltaWxhciBuYW1lcy4KKy8vIFRvIHRyYWNr
IHRoZSBjb21taXQgcHJvY2Vzcywgb3ZlcnJpZGUgdGhlc2UgZnVuY3Rpb25zLgorLy8KKy8vIFRo
ZSB0ZXN0IGNvbnRpbnVlcyB1bnRpbCBzb21lb25lIGNhbGxzIGVuZFRlc3QuIGVuZFRlc3QgY2Fu
IGJlIGNhbGxlZCBvbiBhbnkgdGhyZWFkLCBidXQgYmUgYXdhcmUgdGhhdAorLy8gZW5kaW5nIHRo
ZSB0ZXN0IGlzIGFuIGFzeW5jaHJvbm91cyBwcm9jZXNzLgorY2xhc3MgQ0NMYXllclRyZWVIb3N0
VGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093
blB0cjxNb2NrTGF5ZXJUcmVlSG9zdEltcGw+IGNyZWF0ZShUZXN0SG9va3MqIHRlc3RIb29rcywg
Y29uc3QgQ0NTZXR0aW5ncyYgc2V0dGluZ3MpCisgICAgQ0NMYXllclRyZWVIb3N0VGVzdCgpCisg
ICAgICAgIDogbV9iZWdpbm5pbmcoZmFsc2UpCisgICAgICAgICwgbV9lbmRXaGVuQmVnaW5SZXR1
cm5zKGZhbHNlKQorICAgICAgICAsIG1fcnVubmluZyhmYWxzZSkKKyAgICAgICAgLCBtX3RpbWVk
T3V0KGZhbHNlKSB7IH0KKworICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3QoKSA9IDA7CisKKyAg
ICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBhbmltYXRl
QW5kTGF5b3V0KE1vY2tMYXllclRyZWVIb3N0Q2xpZW50KiBsYXllclRyZWVIb3N0LCBkb3VibGUg
ZnJhbWVCZWdpblRpbWUpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBiZWdpbkNvbW1pdE9uQ0NUaHJl
YWQoTW9ja0xheWVyVHJlZUhvc3RJbXBsKiBsYXllclRyZWVIb3N0SW1wbCkgeyB9CisgICAgdmly
dHVhbCB2b2lkIGJlZ2luQ29tbWl0T25NYWluVGhyZWFkKE1vY2tMYXllclRyZWVIb3N0KiBsYXll
clRyZWVIb3N0KSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgY29tbWl0T25DQ1RocmVhZChNb2NrTGF5
ZXJUcmVlSG9zdCogbGF5ZXJUcmVlSG9zdCwgTW9ja0xheWVyVHJlZUhvc3RJbXBsKiBsYXllclRy
ZWVIb3N0SW1wbCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlT25DQ1RocmVh
ZChNb2NrTGF5ZXJUcmVlSG9zdEltcGwqIGxheWVyVHJlZUhvc3RJbXBsKSB7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgY29tbWl0Q29tcGxldGVPbk1haW5UaHJlYWQoTW9ja0xheWVyVHJlZUhvc3QqIGxh
eWVyVHJlZUhvc3QpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkcmF3TGF5ZXJzQW5kUHJlc2VudE9u
Q0NUaHJlYWQoTW9ja0xheWVyVHJlZUhvc3RJbXBsKiBsYXllclRyZWVIb3N0SW1wbCkgeyB9Cisg
ICAgdmlydHVhbCB2b2lkIHVwZGF0ZUxheWVycyhNb2NrTGF5ZXJUcmVlSG9zdCogbGF5ZXJUcmVl
SG9zdCkgeyB9CisKKyAgICB2b2lkIGVuZFRlc3QoKTsKKworcHJvdGVjdGVkOgorICAgIHZvaWQg
ZG9CZWdpblRlc3QoKTsKKworICAgIHN0YXRpYyB2b2lkIG9uQmVnaW5UZXN0KHZvaWQqIHNlbGYp
CiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IE1vY2tMYXllclRyZWVIb3N0SW1w
bCh0ZXN0SG9va3MsIHNldHRpbmdzKSk7CisgICAgICAgIHN0YXRpY19jYXN0PENDTGF5ZXJUcmVl
SG9zdFRlc3QqPihzZWxmKS0+ZG9CZWdpblRlc3QoKTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZv
aWQgYmVnaW5Db21taXQoKQorICAgIHZvaWQgZG9FbmRUZXN0KCkKICAgICB7Ci0gICAgICAgIEND
TGF5ZXJUcmVlSG9zdEltcGw6OmJlZ2luQ29tbWl0KCk7Ci0gICAgICAgIG1fdGVzdEhvb2tzLT5i
ZWdpbkNvbW1pdE9uQ0NUaHJlYWQodGhpcyk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGNv
bW1pdENvbXBsZXRlKCkKKyAgICBzdGF0aWMgdm9pZCBvbkVuZFRlc3Qodm9pZCogc2VsZikKICAg
ICB7Ci0gICAgICAgIENDTGF5ZXJUcmVlSG9zdEltcGw6OmNvbW1pdENvbXBsZXRlKCk7Ci0gICAg
ICAgIG1fdGVzdEhvb2tzLT5jb21taXRDb21wbGV0ZU9uQ0NUaHJlYWQodGhpcyk7CisgICAgICAg
IEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdFRlc3QqIHRl
c3QgPSBzdGF0aWNfY2FzdDxDQ0xheWVyVHJlZUhvc3RUZXN0Kj4oc2VsZik7CisgICAgICAgIHRl
c3QtPm1fbGF5ZXJUcmVlSG9zdC5jbGVhcigpOworICAgICAgICB0ZXN0LT5tX2NsaWVudC5jbGVh
cigpOworICAgICAgICB3ZWJraXRfc3VwcG9ydDo6UXVpdE1lc3NhZ2VMb29wKCk7CiAgICAgfQog
Ci0gICAgdmlydHVhbCB2b2lkIGRyYXdMYXllcnMoKQorICAgIHZvaWQgcnVuVGVzdCgpCiAgICAg
ewotICAgICAgICBDQ0xheWVyVHJlZUhvc3RJbXBsOjpkcmF3TGF5ZXJzKCk7Ci0gICAgICAgIG1f
dGVzdEhvb2tzLT5kcmF3TGF5ZXJzT25DQ1RocmVhZCh0aGlzKTsKKyAgICAgICAgd2Via2l0X3N1
cHBvcnQ6OlBvc3REZWxheWVkVGFzayhDQ0xheWVyVHJlZUhvc3RUZXN0OjpvbkJlZ2luVGVzdCwg
c3RhdGljX2Nhc3Q8dm9pZCo+KHRoaXMpLCAwKTsKKyAgICAgICAgd2Via2l0X3N1cHBvcnQ6OlBv
c3REZWxheWVkVGFzayhDQ0xheWVyVHJlZUhvc3RUZXN0Ojp0ZXN0VGltZW91dCwgc3RhdGljX2Nh
c3Q8dm9pZCo+KHRoaXMpLCA1MDAwKTsKKyAgICAgICAgd2Via2l0X3N1cHBvcnQ6OlJ1bk1lc3Nh
Z2VMb29wKCk7CisgICAgICAgIG1fcnVubmluZyA9IGZhbHNlOworICAgICAgICBib29sIHRpbWVk
T3V0ID0gbV90aW1lZE91dDsgLy8gU2F2ZSB3aGV0aGVyIHdlJ3JlIHRpbWVkIG91dCBpbiBjYXNl
IFJ1bkFsbFBlbmRpbmdNZXNzYWdlcyBoYXMgdGhlIHRpbWVvdXQuCisgICAgICAgIHdlYmtpdF9z
dXBwb3J0OjpSdW5BbGxQZW5kaW5nTWVzc2FnZXMoKTsKKyAgICAgICAgaWYgKHRpbWVkT3V0KSB7
CisgICAgICAgICAgICBwcmludGYoIlRlc3QgdGltZWQgb3V0Iik7CisgICAgICAgICAgICBGQUlM
KCkgPDwgIlRlc3QgdGltZWQgb3V0IjsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
ICAgICAgICBhZnRlclRlc3QoKTsKICAgICB9CiAKLXByaXZhdGU6Ci0gICAgTW9ja0xheWVyVHJl
ZUhvc3RJbXBsKFRlc3RIb29rcyogdGVzdEhvb2tzLCBjb25zdCBDQ1NldHRpbmdzJiBzZXR0aW5n
cykKLSAgICAgICAgOiBDQ0xheWVyVHJlZUhvc3RJbXBsKHNldHRpbmdzKQotICAgICAgICAsIG1f
dGVzdEhvb2tzKHRlc3RIb29rcykKKyAgICBzdGF0aWMgdm9pZCB0ZXN0VGltZW91dCh2b2lkKiBz
ZWxmKQogICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0VGVzdCogdGVzdCA9IHN0YXRpY19j
YXN0PENDTGF5ZXJUcmVlSG9zdFRlc3QqPihzZWxmKTsKKyAgICAgICAgaWYgKCF0ZXN0LT5tX3J1
bm5pbmcpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHRlc3QtPm1fdGltZWRPdXQgPSB0
cnVlOworICAgICAgICB0ZXN0LT5lbmRUZXN0KCk7CiAgICAgfQogCi0gICAgVGVzdEhvb2tzKiBt
X3Rlc3RIb29rczsKKyAgICBNdXRleCBtX3RyYWNlc0xvY2s7CisgICAgVmVjdG9yPHN0ZDo6c3Ry
aW5nPiBtX3RyYWNlczsKKworICAgIE93blB0cjxNb2NrTGF5ZXJUcmVlSG9zdENsaWVudD4gbV9j
bGllbnQ7CisgICAgUmVmUHRyPE1vY2tMYXllclRyZWVIb3N0PiBtX2xheWVyVHJlZUhvc3Q7CisK
K3ByaXZhdGU6CisgICAgYm9vbCBtX2JlZ2lubmluZzsKKyAgICBib29sIG1fZW5kV2hlbkJlZ2lu
UmV0dXJuczsKKyAgICBib29sIG1fcnVubmluZzsKKyAgICBib29sIG1fdGltZWRPdXQ7CiB9Owog
Ci0vLyBBZGFwdHMgQ0NMYXllclRyZWVIb3N0IGZvciB0ZXN0LiBJbmplY3RzIE1vY2tMYXllclRy
ZWVIb3N0SW1wbC4KLWNsYXNzIE1vY2tMYXllclRyZWVIb3N0IDogcHVibGljIENDTGF5ZXJUcmVl
SG9zdCB7CitjbGFzcyBNb2NrTGF5ZXJUcmVlSG9zdENsaWVudCA6IHB1YmxpYyBDQ0xheWVyVHJl
ZUhvc3RDbGllbnQgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPE1vY2tMYXllclRy
ZWVIb3N0PiBjcmVhdGUoVGVzdEhvb2tzKiB0ZXN0SG9va3MsIENDTGF5ZXJUcmVlSG9zdENsaWVu
dCogY2xpZW50LCBQYXNzUmVmUHRyPExheWVyQ2hyb21pdW0+IHJvb3RMYXllciwgY29uc3QgQ0NT
ZXR0aW5ncyYgc2V0dGluZ3MpCisgICAgTW9ja0xheWVyVHJlZUhvc3RDbGllbnQoQ0NMYXllclRy
ZWVIb3N0VGVzdCogdGVzdCkgOiBtX3Rlc3QodGVzdCkgeyB9CisKKyAgICB2aXJ0dWFsIFBhc3NS
ZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNyZWF0ZUxheWVyVHJlZUhvc3RDb250ZXh0M0QoKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBNb2NrTGF5ZXJUcmVlSG9zdCh0ZXN0
SG9va3MsIGNsaWVudCwgcm9vdExheWVyLCBzZXR0aW5ncykpOworICAgICAgICByZXR1cm4gYWRv
cHRSZWY8R3JhcGhpY3NDb250ZXh0M0Q+KDApOwogICAgIH0KIAotICAgIHZpcnR1YWwgUGFzc093
blB0cjxDQ0xheWVyVHJlZUhvc3RJbXBsPiBjcmVhdGVMYXllclRyZWVIb3N0SW1wbCgpCisgICAg
dmlydHVhbCB2b2lkIGFuaW1hdGVBbmRMYXlvdXQoZG91YmxlIGZyYW1lQmVnaW5UaW1lKQogICAg
IHsKLSAgICAgICAgcmV0dXJuIE1vY2tMYXllclRyZWVIb3N0SW1wbDo6Y3JlYXRlKG1fdGVzdEhv
b2tzLCBzZXR0aW5ncygpKTsKKyAgICAgICAgbV90ZXN0LT5hbmltYXRlQW5kTGF5b3V0KHRoaXMs
IGZyYW1lQmVnaW5UaW1lKTsKICAgICB9CiAKLXByaXZhdGU6Ci0gICAgTW9ja0xheWVyVHJlZUhv
c3QoVGVzdEhvb2tzKiB0ZXN0SG9va3MsIENDTGF5ZXJUcmVlSG9zdENsaWVudCogY2xpZW50LCBQ
YXNzUmVmUHRyPExheWVyQ2hyb21pdW0+IHJvb3RMYXllciwgY29uc3QgQ0NTZXR0aW5ncyYgc2V0
dGluZ3MpCi0gICAgICAgIDogQ0NMYXllclRyZWVIb3N0KGNsaWVudCwgcm9vdExheWVyLCBzZXR0
aW5ncykKLSAgICAgICAgLCBtX3Rlc3RIb29rcyh0ZXN0SG9va3MpCisgICAgdmlydHVhbCB2b2lk
IHVwZGF0ZUxheWVycygpCiAgICAgewotICAgICAgICBib29sIHN1Y2Nlc3MgPSBpbml0aWFsaXpl
KCk7Ci0gICAgICAgIEFTU0VSVChzdWNjZXNzKTsKICAgICB9CiAKLSAgICBUZXN0SG9va3MqIG1f
dGVzdEhvb2tzOworcHJpdmF0ZToKKyAgICBDQ0xheWVyVHJlZUhvc3RUZXN0KiBtX3Rlc3Q7CiB9
OwogCi0vLyBUZXN0IHN0dWIgZm9yIFdlYkdyYXBoaWNzQ29udGV4dDNELiBSZXR1cm5zIGNhbm5l
ZCB2YWx1ZXMgbmVlZGVkIGZvciBjb21wb3NpdG9yIGluaXRpYWxpemF0aW9uLgotY2xhc3MgQ29t
cG9zaXRvck1vY2tXZWJHcmFwaGljc0NvbnRleHQzRCA6IHB1YmxpYyBNb2NrV2ViR3JhcGhpY3ND
b250ZXh0M0QgeworY2xhc3MgTW9ja0xheWVyVHJlZUhvc3RDb21taXR0ZXIgOiBwdWJsaWMgQ0NM
YXllclRyZWVIb3N0Q29tbWl0dGVyIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxD
b21wb3NpdG9yTW9ja1dlYkdyYXBoaWNzQ29udGV4dDNEPiBjcmVhdGUoKQorICAgIHN0YXRpYyBQ
YXNzT3duUHRyPE1vY2tMYXllclRyZWVIb3N0Q29tbWl0dGVyPiBjcmVhdGUoQ0NMYXllclRyZWVI
b3N0VGVzdCogdGVzdCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQ29tcG9z
aXRvck1vY2tXZWJHcmFwaGljc0NvbnRleHQzRCgpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBNb2NrTGF5ZXJUcmVlSG9zdENvbW1pdHRlcih0ZXN0KSk7CiAgICAgfQogCi0gICAgdmly
dHVhbCBib29sIG1ha2VDb250ZXh0Q3VycmVudCgpIHsgcmV0dXJuIHRydWU7IH0KLSAgICB2aXJ0
dWFsIFdlYkdMSWQgY3JlYXRlUHJvZ3JhbSgpIHsgcmV0dXJuIDE7IH0KLSAgICB2aXJ0dWFsIFdl
YkdMSWQgY3JlYXRlU2hhZGVyKFdHQzNEZW51bSkgeyByZXR1cm4gMTsgfQotICAgIHZpcnR1YWwg
dm9pZCBnZXRTaGFkZXJpdihXZWJHTElkLCBXR0MzRGVudW0sIFdHQzNEaW50KiB2YWx1ZSkgeyAq
dmFsdWUgPSAxOyB9Ci0gICAgdmlydHVhbCB2b2lkIGdldFByb2dyYW1pdihXZWJHTElkLCBXR0Mz
RGVudW0sIFdHQzNEaW50KiB2YWx1ZSkgeyAqdmFsdWUgPSAxOyB9CisgICAgdmlydHVhbCB2b2lk
IGNvbW1pdChDQ0xheWVyVHJlZUhvc3QqIGhvc3QsIENDTGF5ZXJUcmVlSG9zdEltcGwqIGhvc3RJ
bXBsKQorICAgIHsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0Q29tbWl0dGVyOjpjb21taXQoaG9z
dCwgaG9zdEltcGwpOworICAgICAgICBtX3Rlc3QtPmNvbW1pdE9uQ0NUaHJlYWQocmVpbnRlcnBy
ZXRfY2FzdDxNb2NrTGF5ZXJUcmVlSG9zdCo+KGhvc3QpLCByZWludGVycHJldF9jYXN0PE1vY2tM
YXllclRyZWVIb3N0SW1wbCo+KGhvc3RJbXBsKSk7CisgICAgfQogCiBwcml2YXRlOgotICAgIENv
bXBvc2l0b3JNb2NrV2ViR3JhcGhpY3NDb250ZXh0M0QoKSB7IH0KKyAgICBNb2NrTGF5ZXJUcmVl
SG9zdENvbW1pdHRlcihDQ0xheWVyVHJlZUhvc3RUZXN0KiB0ZXN0KSA6IG1fdGVzdCh0ZXN0KSB7
IH0KKyAgICBDQ0xheWVyVHJlZUhvc3RUZXN0KiBtX3Rlc3Q7CiB9OwogCi0vLyBJbXBsZW1lbnRh
dGlvbiBvZiBDQ0xheWVyVHJlZUhvc3QgY2FsbGJhY2sgaW50ZXJmYWNlLgotY2xhc3MgTW9ja0xh
eWVyVHJlZUhvc3RDbGllbnQgOiBwdWJsaWMgQ0NMYXllclRyZWVIb3N0Q2xpZW50IHsKK2NsYXNz
IE1vY2tMYXllclRyZWVIb3N0SW1wbCA6IHB1YmxpYyBDQ0xheWVyVHJlZUhvc3RJbXBsIHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxNb2NrTGF5ZXJUcmVlSG9zdENsaWVudD4gY3Jl
YXRlKFRlc3RIb29rcyogdGVzdEhvb2tzKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBNb2NrTGF5ZXJUcmVlSG9zdENsaWVudCh0ZXN0SG9va3MpKTsKLSAgICB9Ci0KLSAgICB2
aXJ0dWFsIHZvaWQgYW5pbWF0ZUFuZExheW91dChkb3VibGUgZnJhbWVCZWdpblRpbWUpCisgICAg
c3RhdGljIFBhc3NPd25QdHI8TW9ja0xheWVyVHJlZUhvc3RJbXBsPiBjcmVhdGUoQ0NMYXllclRy
ZWVIb3N0SW1wbENsaWVudCogY2xpZW50LCBDQ0xheWVyVHJlZUhvc3RUZXN0KiB0ZXN0KQogICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBNb2NrTGF5ZXJUcmVlSG9zdEltcGwoY2xp
ZW50LCB0ZXN0KSk7CiAgICAgfQogCi0gICAgdmlydHVhbCBQYXNzT3duUHRyPENDVGhyZWFkPiBj
cmVhdGVDb21wb3NpdG9yVGhyZWFkKCkKKyAgICB2aXJ0dWFsIHZvaWQgYmVnaW5Db21taXQoKQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIENDVGhyZWFkSW1wbDo6Y3JlYXRlKCk7CisgICAgICAgIEND
TGF5ZXJUcmVlSG9zdEltcGw6OmJlZ2luQ29tbWl0KCk7CisgICAgICAgIG1fdGVzdC0+YmVnaW5D
b21taXRPbkNDVGhyZWFkKHRoaXMpOwogICAgIH0KIAotICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxH
cmFwaGljc0NvbnRleHQzRD4gY3JlYXRlTGF5ZXJUcmVlSG9zdENvbnRleHQzRCgpCisgICAgdmly
dHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlKCkKICAgICB7Ci0gICAgICAgIE93blB0cjxXZWJHcmFw
aGljc0NvbnRleHQzRD4gbW9jayA9IENvbXBvc2l0b3JNb2NrV2ViR3JhcGhpY3NDb250ZXh0M0Q6
OmNyZWF0ZSgpOwotICAgICAgICBHcmFwaGljc0NvbnRleHQzRDo6QXR0cmlidXRlcyBhdHRyczsK
LSAgICAgICAgUmVmUHRyPEdyYXBoaWNzQ29udGV4dDNEPiBjb250ZXh0ID0gR3JhcGhpY3NDb250
ZXh0M0RQcml2YXRlOjpjcmVhdGVHcmFwaGljc0NvbnRleHRGcm9tV2ViQ29udGV4dChtb2NrLnJl
bGVhc2UoKSwgYXR0cnMsIDAsIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJEaXJlY3RseVRvSG9z
dFdpbmRvdywgR3JhcGhpY3NDb250ZXh0M0RQcml2YXRlOjpGb3JVc2VPbkFub3RoZXJUaHJlYWQp
OwotICAgICAgICByZXR1cm4gY29udGV4dDsKKyAgICAgICAgQ0NMYXllclRyZWVIb3N0SW1wbDo6
Y29tbWl0Q29tcGxldGUoKTsKKyAgICAgICAgbV90ZXN0LT5jb21taXRDb21wbGV0ZU9uQ0NUaHJl
YWQodGhpcyk7CiAgICAgfQogCi0gICAgdmlydHVhbCBQYXNzT3duUHRyPExheWVyUGFpbnRlckNo
cm9taXVtPiBjcmVhdGVSb290TGF5ZXJQYWludGVyKCkKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd0xh
eWVyc0FuZFByZXNlbnQoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgICAg
IG1fdGVzdC0+ZHJhd0xheWVyc0FuZFByZXNlbnRPbkNDVGhyZWFkKHRoaXMpOwogICAgIH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNyZWF0ZUdyYXBoaWNzQ29udGV4dChib29sKQorcHJpdmF0
ZToKKyAgICBNb2NrTGF5ZXJUcmVlSG9zdEltcGwoQ0NMYXllclRyZWVIb3N0SW1wbENsaWVudCog
Y2xpZW50LCBDQ0xheWVyVHJlZUhvc3RUZXN0KiB0ZXN0KQorICAgICAgICAgICAgOiBDQ0xheWVy
VHJlZUhvc3RJbXBsKGNsaWVudCkKKyAgICAgICAgICAgICwgbV90ZXN0KHRlc3QpCiAgICAgewog
ICAgIH0KIAotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBNb2NrTGF5ZXJUcmVlSG9zdENsaWVudChU
ZXN0SG9va3MqIHRlc3RIb29rcykgOiBtX3Rlc3RIb29rcyh0ZXN0SG9va3MpIHsgfQotCi0gICAg
VGVzdEhvb2tzKiBtX3Rlc3RIb29rczsKKyAgICBDQ0xheWVyVHJlZUhvc3RUZXN0KiBtX3Rlc3Q7
CiB9OwogCi0vLyBUaGUgQ0NMYXllclRyZWVIb3N0VGVzdCBydW5zIHdpdGggdGhlIG1haW4gbG9v
cCBydW5uaW5nLiBJdCBpbnN0YW50aWF0ZXMgYSBzaW5nbGUgTW9ja0xheWVyVHJlZUhvc3QgYW5k
IGFzc29jaWF0ZWQKLS8vIE1vY2tMYXllclRyZWVIb3N0SW1wbC9Nb2NrTGF5ZXJUcmVlSG9zdENs
aWVudC4KLS8vCi0vLyBiZWdpblRlc3QoKSBpcyBjYWxsZWQgb25jZSB0aGUgbWFpbiBtZXNzYWdl
IGxvb3AgaXMgcnVubmluZyBhbmQgdGhlIGxheWVyIHRyZWUgaG9zdCBpcyBpbml0aWFsaXplZC4K
LS8vCi0vLyBLZXkgc3RhZ2VzIG9mIHRoZSBkcmF3aW5nIGxvb3AsIGUuZy4gZHJhd2luZyBvciBj
b21taXRpbmcsIHJlZGlyZWN0IHRvIENDTGF5ZXJUcmVlSG9zdFRlc3QgbWV0aG9kcyBvZiBzaW1p
bGFyIG5hbWVzLgotLy8gVG8gdHJhY2sgdGhlIGNvbW1pdCBwcm9jZXNzLCBvdmVycmlkZSB0aGVz
ZSBmdW5jdGlvbnMuCi0vLwotLy8gVGhlIHRlc3QgY29udGludWVzIHVudGlsIHNvbWVvbmUgY2Fs
bHMgZW5kVGVzdC4gZW5kVGVzdCBjYW4gYmUgY2FsbGVkIG9uIGFueSB0aHJlYWQsIGJ1dCBiZSBh
d2FyZSB0aGF0Ci0vLyBlbmRpbmcgdGhlIHRlc3QgaXMgYW4gYXN5bmNocm9ub3VzIHByb2Nlc3Mu
Ci1jbGFzcyBDQ0xheWVyVHJlZUhvc3RUZXN0IDogcHVibGljIHRlc3Rpbmc6OlRlc3QsIFRlc3RI
b29rcyB7CitjbGFzcyBNb2NrTGF5ZXJUcmVlSG9zdEltcGxQcm94eSA6IHB1YmxpYyBDQ0xheWVy
VHJlZUhvc3RJbXBsUHJveHkgewogcHVibGljOgotICAgIHZpcnR1YWwgdm9pZCBhZnRlclRlc3Qo
KSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGJlZ2luVGVzdCgpID0gMDsKLQotICAgIHZvaWQgZW5k
VGVzdCgpOwotCi0gICAgdm9pZCBwb3N0U2V0TmVlZHNDb21taXRUb01haW5UaHJlYWQoKQorICAg
IHN0YXRpYyBQYXNzT3duUHRyPE1vY2tMYXllclRyZWVIb3N0SW1wbFByb3h5PiBjcmVhdGUoQ0NM
YXllclRyZWVIb3N0KiBob3N0LCBDQ0xheWVyVHJlZUhvc3RUZXN0KiB0ZXN0KQogICAgIHsKLSAg
ICAgICAgY2FsbE9uTWFpblRocmVhZChDQ0xheWVyVHJlZUhvc3RUZXN0OjpkaXNwYXRjaFNldE5l
ZWRzQ29tbWl0LCB0aGlzKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBNb2NrTGF5ZXJU
cmVlSG9zdEltcGxQcm94eShob3N0LCB0ZXN0KSk7CiAgICAgfQogCi0gICAgdm9pZCBwb3N0U2V0
TmVlZHNSZWRyYXdUb01haW5UaHJlYWQoKQorICAgIFBhc3NPd25QdHI8Q0NMYXllclRyZWVIb3N0
SW1wbD4gY3JlYXRlTGF5ZXJUcmVlSG9zdEltcGwoKQogICAgIHsKLSAgICAgICAgY2FsbE9uTWFp
blRocmVhZChDQ0xheWVyVHJlZUhvc3RUZXN0OjpkaXNwYXRjaFNldE5lZWRzUmVkcmF3LCB0aGlz
KTsKKyAgICAgICAgcmV0dXJuIE1vY2tMYXllclRyZWVIb3N0SW1wbDo6Y3JlYXRlKHRoaXMsIG1f
dGVzdCk7CiAgICAgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgQ0NMYXllclRyZWVIb3N0VGVzdCgpCi0g
ICAgICAgIDogbV9iZWdpbm5pbmcoZmFsc2UpCi0gICAgICAgICwgbV9lbmRXaGVuQmVnaW5SZXR1
cm5zKGZhbHNlKQotICAgICAgICAsIG1fcnVubmluZyhmYWxzZSkKLSAgICAgICAgLCBtX3RpbWVk
T3V0KGZhbHNlKSB7IH0KK3ByaXZhdGU6CisgICAgTW9ja0xheWVyVHJlZUhvc3RJbXBsUHJveHko
Q0NMYXllclRyZWVIb3N0KiBob3N0LCBDQ0xheWVyVHJlZUhvc3RUZXN0KiB0ZXN0KQorICAgICAg
ICA6IENDTGF5ZXJUcmVlSG9zdEltcGxQcm94eShob3N0KQorICAgICAgICAsIG1fdGVzdCh0ZXN0
KSB7IH0KIAotICAgIHZvaWQgZG9CZWdpblRlc3QoKTsKKyAgICBDQ0xheWVyVHJlZUhvc3RUZXN0
KiBtX3Rlc3Q7Cit9OwogCi0gICAgc3RhdGljIHZvaWQgb25CZWdpblRlc3Qodm9pZCogc2VsZikK
LSAgICB7Ci0gICAgICAgIHN0YXRpY19jYXN0PENDTGF5ZXJUcmVlSG9zdFRlc3QqPihzZWxmKS0+
ZG9CZWdpblRlc3QoKTsKLSAgICB9CitjbGFzcyBNb2NrTGF5ZXJUcmVlSG9zdCA6IHB1YmxpYyBD
Q0xheWVyVHJlZUhvc3QgeworcHVibGljOgorICAgIE1vY2tMYXllclRyZWVIb3N0KENDTGF5ZXJU
cmVlSG9zdENsaWVudCogY2xpZW50LCBDQ0xheWVyVHJlZUhvc3RUZXN0KiB0ZXN0KQorICAgICAg
ICA6IENDTGF5ZXJUcmVlSG9zdChjbGllbnQpCisgICAgICAgICwgbV90ZXN0KHRlc3QpIHsgfQog
Ci0gICAgc3RhdGljIHZvaWQgb25FbmRUZXN0KHZvaWQqIHNlbGYpCisgICAgdmlydHVhbCBQYXNz
T3duUHRyPENDTGF5ZXJUcmVlSG9zdEltcGxQcm94eT4gY3JlYXRlTGF5ZXJUcmVlSG9zdEltcGxQ
cm94eSgpCiAgICAgewotICAgICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwotICAgICAgICB3
ZWJraXRfc3VwcG9ydDo6UXVpdE1lc3NhZ2VMb29wKCk7Ci0gICAgICAgIENDTGF5ZXJUcmVlSG9z
dFRlc3QqIHRlc3QgPSBzdGF0aWNfY2FzdDxDQ0xheWVyVHJlZUhvc3RUZXN0Kj4oc2VsZik7Ci0g
ICAgICAgIEFTU0VSVCh0ZXN0KTsKLSAgICAgICAgdGVzdC0+bV9sYXllclRyZWVIb3N0LmNsZWFy
KCk7CisgICAgICAgIE93blB0cjxDQ0xheWVyVHJlZUhvc3RJbXBsUHJveHk+IHByb3h5ID0gTW9j
a0xheWVyVHJlZUhvc3RJbXBsUHJveHk6OmNyZWF0ZSh0aGlzLCBtX3Rlc3QpOworICAgICAgICBw
cm94eS0+c3RhcnQoKTsKKyAgICAgICAgcmV0dXJuIHByb3h5LnJlbGVhc2UoKTsKICAgICB9CiAK
LSAgICBzdGF0aWMgdm9pZCBkaXNwYXRjaFNldE5lZWRzQ29tbWl0KHZvaWQqIHNlbGYpCisgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZUxheWVycygpCiAgICAgewotICAgICAgQVNTRVJUKGlzTWFpblRo
cmVhZCgpKTsKLSAgICAgIENDTGF5ZXJUcmVlSG9zdFRlc3QqIHRlc3QgPSBzdGF0aWNfY2FzdDxD
Q0xheWVyVHJlZUhvc3RUZXN0Kj4oc2VsZik7Ci0gICAgICBBU1NFUlQodGVzdCk7Ci0gICAgICBp
ZiAodGVzdC0+bV9sYXllclRyZWVIb3N0KQotICAgICAgICAgIHRlc3QtPm1fbGF5ZXJUcmVlSG9z
dC0+c2V0TmVlZHNDb21taXRBbmRSZWRyYXcoKTsKKyAgICAgICAgbV90ZXN0LT51cGRhdGVMYXll
cnModGhpcyk7CiAgICAgfQogCi0gICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hTZXROZWVkc1JlZHJh
dyh2b2lkKiBzZWxmKQorICAgIHZpcnR1YWwgUGFzc093blB0cjxDQ0xheWVyVHJlZUhvc3RDb21t
aXR0ZXI+IGNyZWF0ZUxheWVyVHJlZUhvc3RDb21taXR0ZXIoKQogICAgIHsKLSAgICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7Ci0gICAgICBDQ0xheWVyVHJlZUhvc3RUZXN0KiB0ZXN0ID0gc3Rh
dGljX2Nhc3Q8Q0NMYXllclRyZWVIb3N0VGVzdCo+KHNlbGYpOwotICAgICAgQVNTRVJUKHRlc3Qp
OwotICAgICAgaWYgKHRlc3QtPm1fbGF5ZXJUcmVlSG9zdCkKLSAgICAgICAgICB0ZXN0LT5tX2xh
eWVyVHJlZUhvc3QtPnNldE5lZWRzUmVkcmF3KCk7CisgICAgICAgIHJldHVybiBNb2NrTGF5ZXJU
cmVlSG9zdENvbW1pdHRlcjo6Y3JlYXRlKG1fdGVzdCk7CiAgICAgfQogCi0gICAgdm9pZCBydW5U
ZXN0KCkKKyAgICB2aXJ0dWFsIHZvaWQgYmVnaW5Db21taXQoKQogICAgIHsKLSAgICAgICAgd2Vi
a2l0X3N1cHBvcnQ6OlBvc3REZWxheWVkVGFzayhDQ0xheWVyVHJlZUhvc3RUZXN0OjpvbkJlZ2lu
VGVzdCwgc3RhdGljX2Nhc3Q8dm9pZCo+KHRoaXMpLCAwKTsKLSAgICAgICAgd2Via2l0X3N1cHBv
cnQ6OlBvc3REZWxheWVkVGFzayhDQ0xheWVyVHJlZUhvc3RUZXN0Ojp0ZXN0VGltZW91dCwgc3Rh
dGljX2Nhc3Q8dm9pZCo+KHRoaXMpLCA1MDAwKTsKLSAgICAgICAgd2Via2l0X3N1cHBvcnQ6OlJ1
bk1lc3NhZ2VMb29wKCk7Ci0gICAgICAgIG1fcnVubmluZyA9IGZhbHNlOwotICAgICAgICBib29s
IHRpbWVkT3V0ID0gbV90aW1lZE91dDsgLy8gU2F2ZSB3aGV0aGVyIHdlJ3JlIHRpbWVkIG91dCBp
biBjYXNlIFJ1bkFsbFBlbmRpbmdNZXNzYWdlcyBoYXMgdGhlIHRpbWVvdXQuCi0gICAgICAgIHdl
YmtpdF9zdXBwb3J0OjpSdW5BbGxQZW5kaW5nTWVzc2FnZXMoKTsKLSAgICAgICAgQVNTRVJUKCFt
X2xheWVyVHJlZUhvc3QuZ2V0KCkpOwotICAgICAgICBtX2NsaWVudC5jbGVhcigpOwotICAgICAg
ICBpZiAodGltZWRPdXQpIHsKLSAgICAgICAgICAgIEZBSUwoKSA8PCAiVGVzdCB0aW1lZCBvdXQi
OwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIGFmdGVyVGVzdCgpOwor
ICAgICAgICBDQ0xheWVyVHJlZUhvc3Q6OmJlZ2luQ29tbWl0KCk7CisgICAgICAgIG1fdGVzdC0+
YmVnaW5Db21taXRPbk1haW5UaHJlYWQodGhpcyk7CiAgICAgfQogCi0gICAgc3RhdGljIHZvaWQg
dGVzdFRpbWVvdXQodm9pZCogc2VsZikKKyAgICB2aXJ0dWFsIHZvaWQgY29tbWl0Q29tcGxldGUo
KQogICAgIHsKLSAgICAgICAgQ0NMYXllclRyZWVIb3N0VGVzdCogdGVzdCA9IHN0YXRpY19jYXN0
PENDTGF5ZXJUcmVlSG9zdFRlc3QqPihzZWxmKTsKLSAgICAgICAgaWYgKCF0ZXN0LT5tX3J1bm5p
bmcpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHRlc3QtPm1fdGltZWRPdXQgPSB0cnVl
OwotICAgICAgICB0ZXN0LT5lbmRUZXN0KCk7CisgICAgICAgIG1fdGVzdC0+Y29tbWl0Q29tcGxl
dGVPbk1haW5UaHJlYWQodGhpcyk7CisgICAgICAgIENDTGF5ZXJUcmVlSG9zdDo6Y29tbWl0Q29t
cGxldGUoKTsKICAgICB9CiAKLSAgICBPd25QdHI8TW9ja0xheWVyVHJlZUhvc3RDbGllbnQ+IG1f
Y2xpZW50OwotICAgIFJlZlB0cjxDQ0xheWVyVHJlZUhvc3Q+IG1fbGF5ZXJUcmVlSG9zdDsKLQog
cHJpdmF0ZToKLSAgICBib29sIG1fYmVnaW5uaW5nOwotICAgIGJvb2wgbV9lbmRXaGVuQmVnaW5S
ZXR1cm5zOwotICAgIGJvb2wgbV9ydW5uaW5nOwotICAgIGJvb2wgbV90aW1lZE91dDsKKyAgICBD
Q0xheWVyVHJlZUhvc3RUZXN0KiBtX3Rlc3Q7CiB9OwogCiB2b2lkIENDTGF5ZXJUcmVlSG9zdFRl
c3Q6OmRvQmVnaW5UZXN0KCkKIHsKLSAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogICAgIEFT
U0VSVCghbV9ydW5uaW5nKTsKICAgICBtX3J1bm5pbmcgPSB0cnVlOwotICAgIG1fY2xpZW50ID0g
TW9ja0xheWVyVHJlZUhvc3RDbGllbnQ6OmNyZWF0ZSh0aGlzKTsKLQotICAgIENDU2V0dGluZ3Mg
c2V0dGluZ3M7Ci0gICAgc2V0dGluZ3MuZW5hYmxlQ29tcG9zaXRvclRocmVhZCA9IHRydWU7Ci0g
ICAgUmVmUHRyPExheWVyQ2hyb21pdW0+IHJvb3RMYXllcjsKLSAgICBtX2xheWVyVHJlZUhvc3Qg
PSBNb2NrTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKHRoaXMsIG1fY2xpZW50LmdldCgpLCByb290TGF5
ZXIsIHNldHRpbmdzKTsKLSAgICBBU1NFUlQobV9sYXllclRyZWVIb3N0KTsKLQorICAgIG1fY2xp
ZW50ID0gYWRvcHRQdHIobmV3IE1vY2tMYXllclRyZWVIb3N0Q2xpZW50KHRoaXMpKTsKKyAgICBt
X2xheWVyVHJlZUhvc3QgPSBhZG9wdFJlZihuZXcgTW9ja0xheWVyVHJlZUhvc3QobV9jbGllbnQu
Z2V0KCksIHRoaXMpKTsKKyAgICBtX2xheWVyVHJlZUhvc3QtPmluaXQoKTsKICAgICBtX2JlZ2lu
bmluZyA9IHRydWU7CiAgICAgYmVnaW5UZXN0KCk7CiAgICAgbV9iZWdpbm5pbmcgPSBmYWxzZTsK
QEAgLTM0MSw3ICszMjcsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0
KCkKICAgICB7Ci0gICAgICAgIHBvc3RTZXROZWVkc0NvbW1pdFRvTWFpblRocmVhZCgpOworICAg
ICAgICBtX2xheWVyVHJlZUhvc3QtPnNldE5lZWRzQ29tbWl0QW5kUmVkcmF3KCk7CiAgICAgICAg
IGVuZFRlc3QoKTsKICAgICB9CiAKQEAgLTM2MSw3ICszNDcsNyBAQCBwdWJsaWM6CiAKICAgICB2
aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkKICAgICB7Ci0gICAgICAgIHBvc3RTZXROZWVkc1JlZHJh
d1RvTWFpblRocmVhZCgpOworICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldE5lZWRzUmVkcmF3
KCk7CiAgICAgICAgIGVuZFRlc3QoKTsKICAgICB9CiAKQEAgLTM4NSwyMyArMzcxLDIzIEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBiZWdpblRlc3QoKQogICAgIHsKLSAgICAgICAgcG9z
dFNldE5lZWRzQ29tbWl0VG9NYWluVGhyZWFkKCk7CisgICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+
c2V0TmVlZHNDb21taXRBbmRSZWRyYXcoKTsKICAgICAgICAgZW5kVGVzdCgpOwogICAgIH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBjb21taXRDb21wbGV0ZU9uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0
SW1wbCopCisgICAgdmlydHVhbCB2b2lkIGNvbW1pdENvbXBsZXRlT25DQ1RocmVhZChNb2NrTGF5
ZXJUcmVlSG9zdEltcGwqIGxheWVyVHJlZUhvc3RJbXBsKQogICAgIHsKICAgICAgICAgbV9udW1D
b21wbGV0ZUNvbW1pdHMrKzsKICAgICAgICAgaWYgKG1fbnVtQ29tcGxldGVDb21taXRzID09IDIp
CiAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGRyYXdM
YXllcnNPbkNDVGhyZWFkKENDTGF5ZXJUcmVlSG9zdEltcGwqKQorICAgIHZpcnR1YWwgdm9pZCBk
cmF3TGF5ZXJzQW5kUHJlc2VudE9uQ0NUaHJlYWQoTW9ja0xheWVyVHJlZUhvc3RJbXBsKiBsYXll
clRyZWVIb3N0SW1wbCkKICAgICB7CiAgICAgICAgIGlmIChtX251bURyYXdzID09IDEpCi0gICAg
ICAgICAgcG9zdFNldE5lZWRzQ29tbWl0VG9NYWluVGhyZWFkKCk7CisgICAgICAgICAgICBsYXll
clRyZWVIb3N0SW1wbC0+c2V0TmVlZHNDb21taXRBbmRSZWRyYXcoKTsKICAgICAgICAgbV9udW1E
cmF3cysrOwotICAgICAgICBwb3N0U2V0TmVlZHNSZWRyYXdUb01haW5UaHJlYWQoKTsKKyAgICAg
ICAgbGF5ZXJUcmVlSG9zdEltcGwtPnNldE5lZWRzUmVkcmF3KCk7CiAgICAgfQogCiAgICAgdmly
dHVhbCB2b2lkIGFmdGVyVGVzdCgpCkBAIC00MjksMTggKzQxNSwxOCBAQCBwdWJsaWM6CiAKICAg
ICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkKICAgICB7Ci0gICAgICAgIHBvc3RTZXROZWVkc0Nv
bW1pdFRvTWFpblRocmVhZCgpOwotICAgICAgICBwb3N0U2V0TmVlZHNDb21taXRUb01haW5UaHJl
YWQoKTsKKyAgICAgICAgbV9sYXllclRyZWVIb3N0LT5zZXROZWVkc0NvbW1pdEFuZFJlZHJhdygp
OworICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnNldE5lZWRzQ29tbWl0QW5kUmVkcmF3KCk7CiAg
ICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGRyYXdMYXllcnNPbkNDVGhyZWFkKENDTGF5ZXJUcmVl
SG9zdEltcGwqIGltcGwpCisgICAgdmlydHVhbCB2b2lkIGRyYXdMYXllcnNBbmRQcmVzZW50T25D
Q1RocmVhZChNb2NrTGF5ZXJUcmVlSG9zdEltcGwqIGxheWVyVHJlZUhvc3RJbXBsKQogICAgIHsK
ICAgICAgICAgbV9udW1EcmF3cysrOwotICAgICAgICBpZiAoIWltcGwtPnNvdXJjZUZyYW1lTnVt
YmVyKCkpCisgICAgICAgIGlmICghbGF5ZXJUcmVlSG9zdEltcGwtPnNvdXJjZUZyYW1lTnVtYmVy
KCkpCiAgICAgICAgICAgICBlbmRUZXN0KCk7CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGNv
bW1pdENvbXBsZXRlT25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKikKKyAgICB2aXJ0dWFs
IHZvaWQgY29tbWl0T25DQ1RocmVhZChNb2NrTGF5ZXJUcmVlSG9zdCogbGF5ZXJUcmVlSG9zdCwg
TW9ja0xheWVyVHJlZUhvc3RJbXBsKiBpbXBsKQogICAgIHsKICAgICAgICAgbV9udW1Db21taXRz
Kys7CiAgICAgfQpAQCAtNDcyLDE4ICs0NTgsMTggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIGJlZ2luVGVzdCgpCiAgICAgewotICAgICAgICBwb3N0U2V0TmVlZHNDb21taXRUb01haW5U
aHJlYWQoKTsKKyAgICAgICAgbV9sYXllclRyZWVIb3N0LT5zZXROZWVkc0NvbW1pdEFuZFJlZHJh
dygpOwogICAgIH0KIAotICAgIHZpcnR1YWwgdm9pZCBkcmF3TGF5ZXJzT25DQ1RocmVhZChDQ0xh
eWVyVHJlZUhvc3RJbXBsKiBpbXBsKQorICAgIHZpcnR1YWwgdm9pZCBkcmF3TGF5ZXJzQW5kUHJl
c2VudE9uQ0NUaHJlYWQoTW9ja0xheWVyVHJlZUhvc3RJbXBsKiBsYXllclRyZWVIb3N0SW1wbCkK
ICAgICB7Ci0gICAgICAgIGlmICghaW1wbC0+c291cmNlRnJhbWVOdW1iZXIoKSkKLSAgICAgICAg
ICAgIHBvc3RTZXROZWVkc0NvbW1pdFRvTWFpblRocmVhZCgpOwotICAgICAgICBlbHNlIGlmIChp
bXBsLT5zb3VyY2VGcmFtZU51bWJlcigpID09IDEpCisgICAgICAgIGlmICghbGF5ZXJUcmVlSG9z
dEltcGwtPnNvdXJjZUZyYW1lTnVtYmVyKCkpCisgICAgICAgICAgICBsYXllclRyZWVIb3N0SW1w
bC0+c2V0TmVlZHNDb21taXRBbmRSZWRyYXcoKTsKKyAgICAgICAgZWxzZSBpZiAobGF5ZXJUcmVl
SG9zdEltcGwtPnNvdXJjZUZyYW1lTnVtYmVyKCkgPT0gMSkKICAgICAgICAgICAgIGVuZFRlc3Qo
KTsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgY29tbWl0Q29tcGxldGVPbkNDVGhyZWFkKEND
TGF5ZXJUcmVlSG9zdEltcGwqKQorICAgIHZpcnR1YWwgdm9pZCBjb21taXRPbkNDVGhyZWFkKE1v
Y2tMYXllclRyZWVIb3N0KiBsYXllclRyZWVIb3N0LCBNb2NrTGF5ZXJUcmVlSG9zdEltcGwqIGlt
cGwpCiAgICAgewogICAgICAgICBtX251bUNvbW1pdHMrKzsKICAgICB9CkBAIC01MTUsMjAgKzUw
MSwxOSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYmVnaW5UZXN0KCkKICAgICB7Ci0g
ICAgICAgIHBvc3RTZXROZWVkc0NvbW1pdFRvTWFpblRocmVhZCgpOwogICAgIH0KIAotICAgIHZp
cnR1YWwgdm9pZCBkcmF3TGF5ZXJzT25DQ1RocmVhZChDQ0xheWVyVHJlZUhvc3RJbXBsKiBpbXBs
KQorICAgIHZpcnR1YWwgdm9pZCBkcmF3TGF5ZXJzQW5kUHJlc2VudE9uQ0NUaHJlYWQoTW9ja0xh
eWVyVHJlZUhvc3RJbXBsKiBpbXBsKQogICAgIHsKICAgICAgICAgRVhQRUNUX0VRKDAsIGltcGwt
PnNvdXJjZUZyYW1lTnVtYmVyKCkpOwogICAgICAgICBpZiAoIW1fbnVtRHJhd3MpCi0gICAgICAg
ICAgICBwb3N0U2V0TmVlZHNSZWRyYXdUb01haW5UaHJlYWQoKTsgLy8gUmVkcmF3IGFnYWluIHRv
IHZlcmlmeSB0aGF0IHRoZSBzZWNvbmQgcmVkcmF3IGRvZXNuJ3QgY29tbWl0LgorICAgICAgICAg
ICAgaW1wbC0+c2V0TmVlZHNSZWRyYXcoKTsgLy8gcmVkcmF3IGFnYWluIHRvIHZlcmlmeSB0aGF0
IHRoZSBzZWNvbmQgcmVkcmF3IGRvZXNudCBjb21taXQuCiAgICAgICAgIGVsc2UKICAgICAgICAg
ICAgIGVuZFRlc3QoKTsKICAgICAgICAgbV9udW1EcmF3cysrOwogICAgIH0KIAotICAgIHZpcnR1
YWwgdm9pZCBjb21taXRDb21wbGV0ZU9uQ0NUaHJlYWQoQ0NMYXllclRyZWVIb3N0SW1wbCopCisg
ICAgdmlydHVhbCB2b2lkIGNvbW1pdE9uQ0NUaHJlYWQoTW9ja0xheWVyVHJlZUhvc3QqIGxheWVy
VHJlZUhvc3QsIE1vY2tMYXllclRyZWVIb3N0SW1wbCogaW1wbCkKICAgICB7CiAgICAgICAgIG1f
bnVtQ29tbWl0cysrOwogICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>