<?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>168613</bug_id>
          
          <creation_ts>2017-02-20 14:39:28 -0800</creation_ts>
          <short_desc>Simple line layout: Implement absoluteQuadsForRange.</short_desc>
          <delta_ts>2019-12-23 09:10:19 -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>Layout and Rendering</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>205527</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1279058</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-02-20 14:39:28 -0800</bug_when>
    <thetext>This is used by Range::getClientRects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279059</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-02-20 14:40:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/30614618&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279066</commentid>
    <comment_count>2</comment_count>
      <attachid>302174</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-02-20 14:54:58 -0800</bug_when>
    <thetext>Created attachment 302174
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279124</commentid>
    <comment_count>3</comment_count>
      <attachid>302201</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-02-20 16:35:18 -0800</bug_when>
    <thetext>Created attachment 302201
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279146</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-20 17:22:48 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 302201:

The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279149</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-20 17:23:27 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 302201:

http/tests/misc/acid3.html bug 165734 (authors: abecsi@webkit.org, arv@chromium.org, mitz@webkit.org, rniwa@webkit.org, and tonyg@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279168</commentid>
    <comment_count>6</comment_count>
      <attachid>302201</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-20 18:13:49 -0800</bug_when>
    <thetext>Comment on attachment 302201
Patch

Clearing flags on attachment: 302201

Committed r212693: &lt;http://trac.webkit.org/changeset/212693&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1279169</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-02-20 18:13:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1601254</commentid>
    <comment_count>8</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-12-23 09:09:51 -0800</bug_when>
    <thetext>Simple line layout does not seem to handle empty rects at run boundary points the same way as line box layout. As a result, getClientRects() and getBoundingClientRect() give differing results depending on which line layout we are using. See bug #205527.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302174</attachid>
            <date>2017-02-20 14:54:58 -0800</date>
            <delta_ts>2017-02-20 16:35:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168613-20170220145214.patch</filename>
            <type>text/plain</type>
            <size>8542</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNiN2Q3Yjg2OTZhODc4
NTQwNGVkZmJhZDk2NGEzMzE1MWJmNTcxYy4uMzllNTRhNzU4ZWY3Nzc1ZDIyODE1MmRlOGMwNDM1
OGFkMDcwZTY2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTAyLTIwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxlIGxpbmUgbGF5b3V0
OiBJbXBsZW1lbnQgYWJzb2x1dGVRdWFkc0ZvclJhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4NjEzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zMDYxNDYxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGlzIHBhdGNoIGVuc3VyZXMgdGhhdCB0aGUgY29tbW9ubHkgdXNlZCBSYW5nZTo6Z2V0
Q2xpZW50UmVjdHMgY2FsbHMgZG8gbm90CisgICAgICAgIHRocm93IHVzIG9mZiBvZiB0aGUgc2lt
cGxlIGxpbmUgbGF5b3V0IHBhdGguCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0
cy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlclRleHQ6OmFic29sdXRlUXVhZHNGb3JSYW5nZSk6CisgICAgICAgICogcmVuZGVy
aW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2lt
cGxlTGluZUxheW91dDo6Y29sbGVjdEFic29sdXRlUXVhZHNGb3JSYW5nZSk6IFNwZWNpYWwgY2Fz
ZSBlbXB0eSByYW5nZXMgd2l0aCBtdWx0aXBsZSBlbXB0eSBydW5zLgorICAgICAgICAqIHJlbmRl
cmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmg6CisgICAgICAgICogcmVuZGVyaW5nL1Np
bXBsZUxpbmVMYXlvdXRSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5l
TGF5b3V0OjpSdW5SZXNvbHZlcjo6cmFuZ2VGb3JSZW5kZXJlcldpdGhPZmZzZXRzKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmg6CisKIDIwMTctMDItMTkg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICA8aW5wdXQgdHlwZT1j
b2xvciByZWFkb25seT4gZG9lc24ndCBhY3QgcGVyIHNwZWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0LmNwcAppbmRleCAxOTA4YmRiNjliN2M5NGQ3YTMyNzQ5YmM5ODNiNDNhM2Y4
YjEwZjlhLi44YWRkOTc5ZWQ0NzcxNjZhOWY0NTA0MzNiOGM5ZjU5NThkMWU0YWQzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwCkBAIC00MjIsMTggKzQyMiwxOCBAQCB2
b2lkIFJlbmRlclRleHQ6OmFic29sdXRlUXVhZHMoVmVjdG9yPEZsb2F0UXVhZD4mIHF1YWRzLCBi
b29sKiB3YXNGaXhlZCkgY29uc3QKIAogVmVjdG9yPEZsb2F0UXVhZD4gUmVuZGVyVGV4dDo6YWJz
b2x1dGVRdWFkc0ZvclJhbmdlKHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGJvb2wgdXNl
U2VsZWN0aW9uSGVpZ2h0LCBib29sKiB3YXNGaXhlZCkgY29uc3QKIHsKLSAgICBjb25zdF9jYXN0
PFJlbmRlclRleHQmPigqdGhpcykuZW5zdXJlTGluZUJveGVzKCk7Ci0KICAgICAvLyBXb3JrIGFy
b3VuZCBzaWduZWQvdW5zaWduZWQgaXNzdWVzLiBUaGlzIGZ1bmN0aW9uIHRha2VzIHVuc2lnbmVk
cywgYW5kIGlzIG9mdGVuIHBhc3NlZCBVSU5UX01BWAotICAgIC8vIHRvIG1lYW4gImFsbCB0aGUg
d2F5IHRvIHRoZSBlbmQiLiBJbmxpbmVUZXh0Qm94IGNvb3JkaW5hdGVzIGFyZSB1bnNpZ25lZHMs
IHNvIGNoYW5naW5nIHRoaXMgCi0gICAgLy8gZnVuY3Rpb24gdG8gdGFrZSBpbnRzIGNhdXNlcyB2
YXJpb3VzIGludGVybmFsIG1pc21hdGNoZXMuIEJ1dCBzZWxlY3Rpb25SZWN0IHRha2VzIGludHMs
IGFuZCAKLSAgICAvLyBwYXNzaW5nIFVJTlRfTUFYIHRvIGl0IGNhdXNlcyB0cm91YmxlLiBJZGVh
bGx5IHdlJ2QgY2hhbmdlIHNlbGVjdGlvblJlY3QgdG8gdGFrZSB1bnNpZ25lZHMsIGJ1dCAKKyAg
ICAvLyB0byBtZWFuICJhbGwgdGhlIHdheSB0byB0aGUgZW5kIi4gSW5saW5lVGV4dEJveCBjb29y
ZGluYXRlcyBhcmUgdW5zaWduZWRzLCBzbyBjaGFuZ2luZyB0aGlzCisgICAgLy8gZnVuY3Rpb24g
dG8gdGFrZSBpbnRzIGNhdXNlcyB2YXJpb3VzIGludGVybmFsIG1pc21hdGNoZXMuIEJ1dCBzZWxl
Y3Rpb25SZWN0IHRha2VzIGludHMsIGFuZAorICAgIC8vIHBhc3NpbmcgVUlOVF9NQVggdG8gaXQg
Y2F1c2VzIHRyb3VibGUuIElkZWFsbHkgd2UnZCBjaGFuZ2Ugc2VsZWN0aW9uUmVjdCB0byB0YWtl
IHVuc2lnbmVkcywgYnV0CiAgICAgLy8gdGhhdCB3b3VsZCBjYXVzZSBtYW55IHJpcHBsZSBlZmZl
Y3RzLCBzbyBmb3Igbm93IHdlJ2xsIGp1c3QgY2xhbXAgb3VyIHVuc2lnbmVkIHBhcmFtZXRlcnMg
dG8gSU5UX01BWC4KICAgICBBU1NFUlQoZW5kID09IFVJTlRfTUFYIHx8IGVuZCA8PSBJTlRfTUFY
KTsKICAgICBBU1NFUlQoc3RhcnQgPD0gSU5UX01BWCk7CiAgICAgc3RhcnQgPSBzdGQ6Om1pbihz
dGFydCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KElOVF9NQVgpKTsKICAgICBlbmQgPSBzdGQ6Om1p
bihlbmQsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihJTlRfTUFYKSk7Ci0gICAgCisgICAgaWYgKHNp
bXBsZUxpbmVMYXlvdXQoKSAmJiAhdXNlU2VsZWN0aW9uSGVpZ2h0KQorICAgICAgICByZXR1cm4g
Y29sbGVjdEFic29sdXRlUXVhZHNGb3JSYW5nZSgqdGhpcywgc3RhcnQsIGVuZCwgKnNpbXBsZUxp
bmVMYXlvdXQoKSwgd2FzRml4ZWQpOworICAgIGNvbnN0X2Nhc3Q8UmVuZGVyVGV4dCY+KCp0aGlz
KS5lbnN1cmVMaW5lQm94ZXMoKTsKICAgICByZXR1cm4gbV9saW5lQm94ZXMuYWJzb2x1dGVRdWFk
c0ZvclJhbmdlKCp0aGlzLCBzdGFydCwgZW5kLCB1c2VTZWxlY3Rpb25IZWlnaHQsIHdhc0ZpeGVk
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVM
YXlvdXRGdW5jdGlvbnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVM
YXlvdXRGdW5jdGlvbnMuY3BwCmluZGV4IGI4NDZlMWRiN2Q3OTFlN2Q0ZTA1ODY0YjYwY2MzOTI0
Nzk3ZmJkOTIuLjVkMGFlMzdlNmIwMGQ1NDFjZjUwMzBiMzc5YzhjNzM2MDU0NjEzMTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25z
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZ1bmN0
aW9ucy5jcHAKQEAgLTIzMiw2ICsyMzIsMzcgQEAgdW5zaWduZWQgdGV4dE9mZnNldEZvclBvaW50
KGNvbnN0IExheW91dFBvaW50JiBwb2ludCwgY29uc3QgUmVuZGVyVGV4dCYgcmVuZGVyZXIKICAg
ICByZXR1cm4gcnVuLnN0YXJ0KCkgKyBzdHlsZS5mb250Q2FzY2FkZSgpLm9mZnNldEZvclBvc2l0
aW9uKHRleHRSdW4sIHBvaW50LngoKSAtIHJ1bi5sb2dpY2FsTGVmdCgpLCB0cnVlKTsKIH0KIAor
VmVjdG9yPEZsb2F0UXVhZD4gY29sbGVjdEFic29sdXRlUXVhZHNGb3JSYW5nZShjb25zdCBSZW5k
ZXJPYmplY3QmIHJlbmRlcmVyLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kLCBjb25zdCBM
YXlvdXQmIGxheW91dCwgYm9vbCogd2FzRml4ZWQpCit7CisgICAgYXV0byYgc3R5bGUgPSBkb3du
Y2FzdDxSZW5kZXJCbG9ja0Zsb3c+KCpyZW5kZXJlci5wYXJlbnQoKSkuc3R5bGUoKTsKKyAgICBW
ZWN0b3I8RmxvYXRRdWFkPiBxdWFkczsKKyAgICBhdXRvIHJlc29sdmVyID0gcnVuUmVzb2x2ZXIo
ZG93bmNhc3Q8UmVuZGVyQmxvY2tGbG93PigqcmVuZGVyZXIucGFyZW50KCkpLCBsYXlvdXQpOwor
ICAgIGZvciAoYXV0byBydW4gOiByZXNvbHZlci5yYW5nZUZvclJlbmRlcmVyV2l0aE9mZnNldHMo
cmVuZGVyZXIsIHN0YXJ0LCBlbmQpKSB7CisgICAgICAgIC8vIFRoaXMgcnVuIGlzIGZ1bGx5IGNv
bnRhaW5lZC4KKyAgICAgICAgaWYgKHN0YXJ0IDw9IHJ1bi5zdGFydCgpICYmIGVuZCA+PSBydW4u
ZW5kKCkpIHsKKyAgICAgICAgICAgIHF1YWRzLmFwcGVuZChyZW5kZXJlci5sb2NhbFRvQWJzb2x1
dGVRdWFkKEZsb2F0UXVhZChydW4ucmVjdCgpKSwgVXNlVHJhbnNmb3Jtcywgd2FzRml4ZWQpKTsK
KyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CisgICAgICAgIC8vIFBhcnRpYWxseSBj
b250YWluZWQgcnVuLgorICAgICAgICBUZXh0UnVuIHRleHRSdW4ocnVuLnRleHQoKSwgcnVuLmxv
Z2ljYWxMZWZ0KCksIHJ1bi5leHBhbnNpb24oKSwgcnVuLmV4cGFuc2lvbkJlaGF2aW9yKCkpOwor
ICAgICAgICB0ZXh0UnVuLnNldFRhYlNpemUoIXN0eWxlLmNvbGxhcHNlV2hpdGVTcGFjZSgpLCBz
dHlsZS50YWJTaXplKCkpOworICAgICAgICBMYXlvdXRSZWN0IHJ1blJlY3QocnVuLnJlY3QoKSk7
CisgICAgICAgIC8vIFNwZWNpYWwgY2FzZSBlbXB0eSByYW5nZXMuCisgICAgICAgIGlmIChzdGFy
dCA9PSBlbmQpIHsKKyAgICAgICAgICAgIHJ1blJlY3Quc2V0V2lkdGgoMCk7CisgICAgICAgICAg
ICBxdWFkcy5hcHBlbmQocmVuZGVyZXIubG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFF1YWQocnVu
UmVjdCksIFVzZVRyYW5zZm9ybXMsIHdhc0ZpeGVkKSk7CisgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgfQorICAgICAgICBBU1NFUlQoc3RhcnQgPCBydW4uZW5kKCkpOworICAgICAgICBB
U1NFUlQoZW5kID4gcnVuLnN0YXJ0KCkpOworICAgICAgICBhdXRvIGxvY2FsU3RhcnQgPSBzdGQ6
Om1heChydW4uc3RhcnQoKSwgc3RhcnQpIC0gcnVuLnN0YXJ0KCk7CisgICAgICAgIGF1dG8gbG9j
YWxFbmQgPSBzdGQ6Om1pbihydW4uZW5kKCksIGVuZCkgLSBydW4uc3RhcnQoKTsKKyAgICAgICAg
c3R5bGUuZm9udENhc2NhZGUoKS5hZGp1c3RTZWxlY3Rpb25SZWN0Rm9yVGV4dCh0ZXh0UnVuLCBy
dW5SZWN0LCBsb2NhbFN0YXJ0LCBsb2NhbEVuZCk7CisgICAgICAgIHF1YWRzLmFwcGVuZChyZW5k
ZXJlci5sb2NhbFRvQWJzb2x1dGVRdWFkKEZsb2F0UXVhZChydW5SZWN0KSwgVXNlVHJhbnNmb3Jt
cywgd2FzRml4ZWQpKTsKKyAgICB9CisgICAgcmV0dXJuIHF1YWRzOworfQorCiAjaWYgRU5BQkxF
KFRSRUVfREVCVUdHSU5HKQogc3RhdGljIHZvaWQgcHJpbnRQcmVmaXgoaW50JiBwcmludGVkQ2hh
cmFjdGVycywgaW50IGRlcHRoKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmgKaW5kZXggY2FjODcyOTdkMDRjMTRmNGMxMTQ5
ZGZmMGZmYzk0Y2I3YjE3YTM4ZS4uNjg5YmQwNTEyZjJiYzJhM2E2NDA1NmY0MGEwNGY1NDdjMDZk
ZTZjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlv
dXRGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dEZ1bmN0aW9ucy5oCkBAIC01OCw2ICs1OCw3IEBAIEludFBvaW50IGNvbXB1dGVGaXJzdFJ1
bkxvY2F0aW9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IExheW91dCYpOwogVmVjdG9yPElu
dFJlY3Q+IGNvbGxlY3RBYnNvbHV0ZVJlY3RzKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IExh
eW91dCYsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCk7CiBWZWN0b3I8Rmxv
YXRRdWFkPiBjb2xsZWN0QWJzb2x1dGVRdWFkcyhjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBM
YXlvdXQmLCBib29sKiB3YXNGaXhlZCk7CiB1bnNpZ25lZCB0ZXh0T2Zmc2V0Rm9yUG9pbnQoY29u
c3QgTGF5b3V0UG9pbnQmLCBjb25zdCBSZW5kZXJUZXh0JiwgY29uc3QgTGF5b3V0Jik7CitWZWN0
b3I8RmxvYXRRdWFkPiBjb2xsZWN0QWJzb2x1dGVRdWFkc0ZvclJhbmdlKGNvbnN0IFJlbmRlck9i
amVjdCYsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGNvbnN0IExheW91dCYsIGJvb2wq
IHdhc0ZpeGVkKTsKIAogTGF5b3V0VW5pdCBsaW5lSGVpZ2h0RnJvbUZsb3coY29uc3QgUmVuZGVy
QmxvY2tGbG93Jik7CiBMYXlvdXRVbml0IGJhc2VsaW5lRnJvbUZsb3coY29uc3QgUmVuZGVyQmxv
Y2tGbG93Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGlu
ZUxheW91dFJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5l
TGF5b3V0UmVzb2x2ZXIuY3BwCmluZGV4IDMwYjQ0MDM3NmM1ZDI0NmFkMGJjODMyNGU4NjY5YWRj
MmM0NTViMWYuLjg1OWIwODJkMTM2MDdjYmY3OWRjZDk5YWU0NjZjNWNhMTIzZmEwYTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2
ZXIuY3BwCkBAIC0yMTksNiArMjE5LDI2IEBAIFJ1blJlc29sdmVyOjpJdGVyYXRvciBSdW5SZXNv
bHZlcjo6cnVuRm9yUG9pbnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50KSBjb25zdAogICAgIHJl
dHVybiAtLWl0OwogfQogCitSYW5nZTxSdW5SZXNvbHZlcjo6SXRlcmF0b3I+IFJ1blJlc29sdmVy
OjpyYW5nZUZvclJlbmRlcmVyV2l0aE9mZnNldHMoY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJl
ciwgdW5zaWduZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVkIGVuZE9mZnNldCkgY29uc3QKK3sKKyAg
ICBBU1NFUlQoc3RhcnRPZmZzZXQgPD0gZW5kT2Zmc2V0KTsKKyAgICBhdXRvIHJhbmdlID0gcmFu
Z2VGb3JSZW5kZXJlcihyZW5kZXJlcik7CisgICAgYXV0byBpdCA9IHJhbmdlLmJlZ2luKCk7Cisg
ICAgLy8gQWR2YW5jZSB0byB0aGUgZmlydCBydW4gd2l0aCB0aGUgc3RhcnQgb2Zmc2V0IGluc2lk
ZS4KKyAgICB3aGlsZSAoaXQgIT0gcmFuZ2UuZW5kKCkgJiYgKCppdCkuZW5kKCkgPD0gc3RhcnRP
ZmZzZXQpCisgICAgICAgICsraXQ7CisgICAgaWYgKGl0ID09IHJhbmdlLmVuZCgpKQorICAgICAg
ICByZXR1cm4geyBlbmQoKSwgZW5kKCkgfTsKKyAgICBhdXRvIHJhbmdlQmVnaW4gPSBpdDsKKyAg
ICAvLyBTcGVjaWFsIGNhc2UgZW1wdHkgcmFuZ2VzIHRoYXQgc3RhcnQgYXQgdGhlIGVkZ2Ugb2Yg
dGhlIHJ1bi4gQXBwYXJlbnRseSBub3JtYWwgbGluZSBsYXlvdXQgaW5jbHVkZSB0aG9zZS4KKyAg
ICBpZiAoZW5kT2Zmc2V0ID09IHN0YXJ0T2Zmc2V0ICYmICgqaXQpLnN0YXJ0KCkgPT0gZW5kT2Zm
c2V0KQorICAgICAgICByZXR1cm4geyByYW5nZUJlZ2luLCArK2l0IH07CisgICAgLy8gQWR2YW5j
ZSBiZXlvbmQgdGhlIGxhc3QgcnVuIHdpdGggdGhlIGVuZCBvZmZzZXQuCisgICAgd2hpbGUgKGl0
ICE9IHJhbmdlLmVuZCgpICYmICgqaXQpLnN0YXJ0KCkgPCBlbmRPZmZzZXQpCisgICAgICAgICsr
aXQ7CisgICAgcmV0dXJuIHsgcmFuZ2VCZWdpbiwgaXQgfTsKK30KKwogTGluZVJlc29sdmVyOjpJ
dGVyYXRvcjo6SXRlcmF0b3IoUnVuUmVzb2x2ZXI6Okl0ZXJhdG9yIHJ1bkl0ZXJhdG9yKQogICAg
IDogbV9ydW5JdGVyYXRvcihydW5JdGVyYXRvcikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaAppbmRleCBiMzY5YmM3MTVkMmZl
MDc4NTM2MmMzY2NmZWYxYTU1YThkMzczZmZiLi44NjgxMjdjYmM1NWIxMjAwNDU4YjhlNmFhNTIx
NjJkYWZhZDBiNzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxl
TGluZUxheW91dFJlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBs
ZUxpbmVMYXlvdXRSZXNvbHZlci5oCkBAIC0xMTYsNiArMTE2LDcgQEAgcHVibGljOgogICAgIFJh
bmdlPEl0ZXJhdG9yPiByYW5nZUZvclJlY3QoY29uc3QgTGF5b3V0UmVjdCYpIGNvbnN0OwogICAg
IFJhbmdlPEl0ZXJhdG9yPiByYW5nZUZvclJlbmRlcmVyKGNvbnN0IFJlbmRlck9iamVjdCYpIGNv
bnN0OwogICAgIEl0ZXJhdG9yIHJ1bkZvclBvaW50KGNvbnN0IExheW91dFBvaW50JikgY29uc3Q7
CisgICAgUmFuZ2U8SXRlcmF0b3I+IHJhbmdlRm9yUmVuZGVyZXJXaXRoT2Zmc2V0cyhjb25zdCBS
ZW5kZXJPYmplY3QmLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kKSBjb25zdDsKIAogcHJp
dmF0ZToKICAgICBlbnVtIGNsYXNzIEluZGV4VHlwZSB7IEZpcnN0LCBMYXN0IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>302201</attachid>
            <date>2017-02-20 16:35:18 -0800</date>
            <delta_ts>2017-02-20 18:13:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-168613-20170220163235.patch</filename>
            <type>text/plain</type>
            <size>21284</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEyNjE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmNiN2Q3Yjg2OTZhODc4
NTQwNGVkZmJhZDk2NGEzMzE1MWJmNTcxYy4uODdhOWM3YTUxMGM0ODM2MmJmNGE5Mzg3NjAyYjIx
OTkxOTRlMWExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTAyLTIwICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxlIGxpbmUgbGF5b3V0
OiBJbXBsZW1lbnQgYWJzb2x1dGVRdWFkc0ZvclJhbmdlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY4NjEzCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zMDYxNDYxOD4KKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAg
ICAgVGhpcyBwYXRjaCBlbnN1cmVzIHRoYXQgdGhlIGNvbW1vbmx5IHVzZWQgUmFuZ2U6OmdldENs
aWVudFJlY3RzIGNhbGxzIGRvIG5vdAorICAgICAgICB0aHJvdyB1cyBvZmYgb2YgdGhlIHNpbXBs
ZSBsaW5lIGxheW91dCBwYXRoLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL1JhbmdlL3NpbXBs
ZS1saW5lLWxheW91dC1nZXRjbGllbnRyZWN0cy5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyVGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0OjphYnNvbHV0ZVF1
YWRzRm9yUmFuZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rp
b25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmNvbGxlY3RBYnNv
bHV0ZVF1YWRzRm9yUmFuZ2UpOiBTcGVjaWFsIGNhc2UgZW1wdHkgcmFuZ2VzIHdpdGggbXVsdGlw
bGUgZW1wdHkgcnVucy4KKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZ1bmN0
aW9ucy5oOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6UnVuUmVzb2x2ZXI6OnJhbmdl
Rm9yUmVuZGVyZXJXaXRoT2Zmc2V0cyk6CisgICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVM
YXlvdXRSZXNvbHZlci5oOgorCiAyMDE3LTAyLTE5ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBs
ZS5jb20+CiAKICAgICAgICAgPGlucHV0IHR5cGU9Y29sb3IgcmVhZG9ubHk+IGRvZXNuJ3QgYWN0
IHBlciBzcGVjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKaW5kZXggMTkw
OGJkYjY5YjdjOTRkN2EzMjc0OWJjOTgzYjQzYTNmOGIxMGY5YS4uOGFkZDk3OWVkNDc3MTY2YTlm
NDUwNDMzYjhjOWY1OTU4ZDFlNGFkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0LmNwcApAQCAtNDIyLDE4ICs0MjIsMTggQEAgdm9pZCBSZW5kZXJUZXh0OjphYnNvbHV0ZVF1
YWRzKFZlY3RvcjxGbG9hdFF1YWQ+JiBxdWFkcywgYm9vbCogd2FzRml4ZWQpIGNvbnN0CiAKIFZl
Y3RvcjxGbG9hdFF1YWQ+IFJlbmRlclRleHQ6OmFic29sdXRlUXVhZHNGb3JSYW5nZSh1bnNpZ25l
ZCBzdGFydCwgdW5zaWduZWQgZW5kLCBib29sIHVzZVNlbGVjdGlvbkhlaWdodCwgYm9vbCogd2Fz
Rml4ZWQpIGNvbnN0CiB7Ci0gICAgY29uc3RfY2FzdDxSZW5kZXJUZXh0Jj4oKnRoaXMpLmVuc3Vy
ZUxpbmVCb3hlcygpOwotCiAgICAgLy8gV29yayBhcm91bmQgc2lnbmVkL3Vuc2lnbmVkIGlzc3Vl
cy4gVGhpcyBmdW5jdGlvbiB0YWtlcyB1bnNpZ25lZHMsIGFuZCBpcyBvZnRlbiBwYXNzZWQgVUlO
VF9NQVgKLSAgICAvLyB0byBtZWFuICJhbGwgdGhlIHdheSB0byB0aGUgZW5kIi4gSW5saW5lVGV4
dEJveCBjb29yZGluYXRlcyBhcmUgdW5zaWduZWRzLCBzbyBjaGFuZ2luZyB0aGlzIAotICAgIC8v
IGZ1bmN0aW9uIHRvIHRha2UgaW50cyBjYXVzZXMgdmFyaW91cyBpbnRlcm5hbCBtaXNtYXRjaGVz
LiBCdXQgc2VsZWN0aW9uUmVjdCB0YWtlcyBpbnRzLCBhbmQgCi0gICAgLy8gcGFzc2luZyBVSU5U
X01BWCB0byBpdCBjYXVzZXMgdHJvdWJsZS4gSWRlYWxseSB3ZSdkIGNoYW5nZSBzZWxlY3Rpb25S
ZWN0IHRvIHRha2UgdW5zaWduZWRzLCBidXQgCisgICAgLy8gdG8gbWVhbiAiYWxsIHRoZSB3YXkg
dG8gdGhlIGVuZCIuIElubGluZVRleHRCb3ggY29vcmRpbmF0ZXMgYXJlIHVuc2lnbmVkcywgc28g
Y2hhbmdpbmcgdGhpcworICAgIC8vIGZ1bmN0aW9uIHRvIHRha2UgaW50cyBjYXVzZXMgdmFyaW91
cyBpbnRlcm5hbCBtaXNtYXRjaGVzLiBCdXQgc2VsZWN0aW9uUmVjdCB0YWtlcyBpbnRzLCBhbmQK
KyAgICAvLyBwYXNzaW5nIFVJTlRfTUFYIHRvIGl0IGNhdXNlcyB0cm91YmxlLiBJZGVhbGx5IHdl
J2QgY2hhbmdlIHNlbGVjdGlvblJlY3QgdG8gdGFrZSB1bnNpZ25lZHMsIGJ1dAogICAgIC8vIHRo
YXQgd291bGQgY2F1c2UgbWFueSByaXBwbGUgZWZmZWN0cywgc28gZm9yIG5vdyB3ZSdsbCBqdXN0
IGNsYW1wIG91ciB1bnNpZ25lZCBwYXJhbWV0ZXJzIHRvIElOVF9NQVguCiAgICAgQVNTRVJUKGVu
ZCA9PSBVSU5UX01BWCB8fCBlbmQgPD0gSU5UX01BWCk7CiAgICAgQVNTRVJUKHN0YXJ0IDw9IElO
VF9NQVgpOwogICAgIHN0YXJ0ID0gc3RkOjptaW4oc3RhcnQsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihJTlRfTUFYKSk7CiAgICAgZW5kID0gc3RkOjptaW4oZW5kLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSU5UX01BWCkpOwotICAgIAorICAgIGlmIChzaW1wbGVMaW5lTGF5b3V0KCkgJiYgIXVzZVNl
bGVjdGlvbkhlaWdodCkKKyAgICAgICAgcmV0dXJuIGNvbGxlY3RBYnNvbHV0ZVF1YWRzRm9yUmFu
Z2UoKnRoaXMsIHN0YXJ0LCBlbmQsICpzaW1wbGVMaW5lTGF5b3V0KCksIHdhc0ZpeGVkKTsKKyAg
ICBjb25zdF9jYXN0PFJlbmRlclRleHQmPigqdGhpcykuZW5zdXJlTGluZUJveGVzKCk7CiAgICAg
cmV0dXJuIG1fbGluZUJveGVzLmFic29sdXRlUXVhZHNGb3JSYW5nZSgqdGhpcywgc3RhcnQsIGVu
ZCwgdXNlU2VsZWN0aW9uSGVpZ2h0LCB3YXNGaXhlZCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmNwcAppbmRleCBi
ODQ2ZTFkYjdkNzkxZTdkNGUwNTg2NGI2MGNjMzkyNDc5N2ZiZDkyLi41ZDBhZTM3ZTZiMDBkNTQx
Y2Y1MDMwYjM3OWM4YzczNjA1NDYxMzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvU2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuY3BwCkBAIC0yMzIsNiArMjMyLDM3
IEBAIHVuc2lnbmVkIHRleHRPZmZzZXRGb3JQb2ludChjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQs
IGNvbnN0IFJlbmRlclRleHQmIHJlbmRlcmVyCiAgICAgcmV0dXJuIHJ1bi5zdGFydCgpICsgc3R5
bGUuZm9udENhc2NhZGUoKS5vZmZzZXRGb3JQb3NpdGlvbih0ZXh0UnVuLCBwb2ludC54KCkgLSBy
dW4ubG9naWNhbExlZnQoKSwgdHJ1ZSk7CiB9CiAKK1ZlY3RvcjxGbG9hdFF1YWQ+IGNvbGxlY3RB
YnNvbHV0ZVF1YWRzRm9yUmFuZ2UoY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlciwgdW5zaWdu
ZWQgc3RhcnQsIHVuc2lnbmVkIGVuZCwgY29uc3QgTGF5b3V0JiBsYXlvdXQsIGJvb2wqIHdhc0Zp
eGVkKQoreworICAgIGF1dG8mIHN0eWxlID0gZG93bmNhc3Q8UmVuZGVyQmxvY2tGbG93PigqcmVu
ZGVyZXIucGFyZW50KCkpLnN0eWxlKCk7CisgICAgVmVjdG9yPEZsb2F0UXVhZD4gcXVhZHM7Cisg
ICAgYXV0byByZXNvbHZlciA9IHJ1blJlc29sdmVyKGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4o
KnJlbmRlcmVyLnBhcmVudCgpKSwgbGF5b3V0KTsKKyAgICBmb3IgKGF1dG8gcnVuIDogcmVzb2x2
ZXIucmFuZ2VGb3JSZW5kZXJlcldpdGhPZmZzZXRzKHJlbmRlcmVyLCBzdGFydCwgZW5kKSkgewor
ICAgICAgICAvLyBUaGlzIHJ1biBpcyBmdWxseSBjb250YWluZWQuCisgICAgICAgIGlmIChzdGFy
dCA8PSBydW4uc3RhcnQoKSAmJiBlbmQgPj0gcnVuLmVuZCgpKSB7CisgICAgICAgICAgICBxdWFk
cy5hcHBlbmQocmVuZGVyZXIubG9jYWxUb0Fic29sdXRlUXVhZChGbG9hdFF1YWQocnVuLnJlY3Qo
KSksIFVzZVRyYW5zZm9ybXMsIHdhc0ZpeGVkKSk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgfQorICAgICAgICAvLyBQYXJ0aWFsbHkgY29udGFpbmVkIHJ1bi4KKyAgICAgICAgVGV4
dFJ1biB0ZXh0UnVuKHJ1bi50ZXh0KCksIHJ1bi5sb2dpY2FsTGVmdCgpLCBydW4uZXhwYW5zaW9u
KCksIHJ1bi5leHBhbnNpb25CZWhhdmlvcigpKTsKKyAgICAgICAgdGV4dFJ1bi5zZXRUYWJTaXpl
KCFzdHlsZS5jb2xsYXBzZVdoaXRlU3BhY2UoKSwgc3R5bGUudGFiU2l6ZSgpKTsKKyAgICAgICAg
TGF5b3V0UmVjdCBydW5SZWN0KHJ1bi5yZWN0KCkpOworICAgICAgICAvLyBTcGVjaWFsIGNhc2Ug
ZW1wdHkgcmFuZ2VzLgorICAgICAgICBpZiAoc3RhcnQgPT0gZW5kKSB7CisgICAgICAgICAgICBy
dW5SZWN0LnNldFdpZHRoKDApOworICAgICAgICAgICAgcXVhZHMuYXBwZW5kKHJlbmRlcmVyLmxv
Y2FsVG9BYnNvbHV0ZVF1YWQoRmxvYXRRdWFkKHJ1blJlY3QpLCBVc2VUcmFuc2Zvcm1zLCB3YXNG
aXhlZCkpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgQVNTRVJU
KHN0YXJ0IDwgcnVuLmVuZCgpKTsKKyAgICAgICAgQVNTRVJUKGVuZCA+IHJ1bi5zdGFydCgpKTsK
KyAgICAgICAgYXV0byBsb2NhbFN0YXJ0ID0gc3RkOjptYXgocnVuLnN0YXJ0KCksIHN0YXJ0KSAt
IHJ1bi5zdGFydCgpOworICAgICAgICBhdXRvIGxvY2FsRW5kID0gc3RkOjptaW4ocnVuLmVuZCgp
LCBlbmQpIC0gcnVuLnN0YXJ0KCk7CisgICAgICAgIHN0eWxlLmZvbnRDYXNjYWRlKCkuYWRqdXN0
U2VsZWN0aW9uUmVjdEZvclRleHQodGV4dFJ1biwgcnVuUmVjdCwgbG9jYWxTdGFydCwgbG9jYWxF
bmQpOworICAgICAgICBxdWFkcy5hcHBlbmQocmVuZGVyZXIubG9jYWxUb0Fic29sdXRlUXVhZChG
bG9hdFF1YWQocnVuUmVjdCksIFVzZVRyYW5zZm9ybXMsIHdhc0ZpeGVkKSk7CisgICAgfQorICAg
IHJldHVybiBxdWFkczsKK30KKwogI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKIHN0YXRpYyB2
b2lkIHByaW50UHJlZml4KGludCYgcHJpbnRlZENoYXJhY3RlcnMsIGludCBkZXB0aCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rp
b25zLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZ1bmN0aW9u
cy5oCmluZGV4IGNhYzg3Mjk3ZDA0YzE0ZjRjMTE0OWRmZjBmZmM5NGNiN2IxN2EzOGUuLjY4OWJk
MDUxMmYyYmMyYTNhNjQwNTZmNDBhMDRmNTQ3YzA2ZGU2YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuaApAQCAtNTgsNiAr
NTgsNyBAQCBJbnRQb2ludCBjb21wdXRlRmlyc3RSdW5Mb2NhdGlvbihjb25zdCBSZW5kZXJPYmpl
Y3QmLCBjb25zdCBMYXlvdXQmKTsKIFZlY3RvcjxJbnRSZWN0PiBjb2xsZWN0QWJzb2x1dGVSZWN0
cyhjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBMYXlvdXQmLCBjb25zdCBMYXlvdXRQb2ludCYg
YWNjdW11bGF0ZWRPZmZzZXQpOwogVmVjdG9yPEZsb2F0UXVhZD4gY29sbGVjdEFic29sdXRlUXVh
ZHMoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgTGF5b3V0JiwgYm9vbCogd2FzRml4ZWQpOwog
dW5zaWduZWQgdGV4dE9mZnNldEZvclBvaW50KGNvbnN0IExheW91dFBvaW50JiwgY29uc3QgUmVu
ZGVyVGV4dCYsIGNvbnN0IExheW91dCYpOworVmVjdG9yPEZsb2F0UXVhZD4gY29sbGVjdEFic29s
dXRlUXVhZHNGb3JSYW5nZShjb25zdCBSZW5kZXJPYmplY3QmLCB1bnNpZ25lZCBzdGFydCwgdW5z
aWduZWQgZW5kLCBjb25zdCBMYXlvdXQmLCBib29sKiB3YXNGaXhlZCk7CiAKIExheW91dFVuaXQg
bGluZUhlaWdodEZyb21GbG93KGNvbnN0IFJlbmRlckJsb2NrRmxvdyYpOwogTGF5b3V0VW5pdCBi
YXNlbGluZUZyb21GbG93KGNvbnN0IFJlbmRlckJsb2NrRmxvdyYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmNwcAppbmRleCAz
MGI0NDAzNzZjNWQyNDZhZDBiYzgzMjRlODY2OWFkYzJjNDU1YjFmLi44NTliMDgyZDEzNjA3Y2Jm
NzlkY2Q5OWFlNDY2YzVjYTEyM2ZhMGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmNwcApAQCAtMjE5LDYgKzIxOSwyNiBA
QCBSdW5SZXNvbHZlcjo6SXRlcmF0b3IgUnVuUmVzb2x2ZXI6OnJ1bkZvclBvaW50KGNvbnN0IExh
eW91dFBvaW50JiBwb2ludCkgY29uc3QKICAgICByZXR1cm4gLS1pdDsKIH0KIAorUmFuZ2U8UnVu
UmVzb2x2ZXI6Okl0ZXJhdG9yPiBSdW5SZXNvbHZlcjo6cmFuZ2VGb3JSZW5kZXJlcldpdGhPZmZz
ZXRzKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIHVuc2lnbmVkIHN0YXJ0T2Zmc2V0LCB1
bnNpZ25lZCBlbmRPZmZzZXQpIGNvbnN0Cit7CisgICAgQVNTRVJUKHN0YXJ0T2Zmc2V0IDw9IGVu
ZE9mZnNldCk7CisgICAgYXV0byByYW5nZSA9IHJhbmdlRm9yUmVuZGVyZXIocmVuZGVyZXIpOwor
ICAgIGF1dG8gaXQgPSByYW5nZS5iZWdpbigpOworICAgIC8vIEFkdmFuY2UgdG8gdGhlIGZpcnQg
cnVuIHdpdGggdGhlIHN0YXJ0IG9mZnNldCBpbnNpZGUuCisgICAgd2hpbGUgKGl0ICE9IHJhbmdl
LmVuZCgpICYmICgqaXQpLmVuZCgpIDw9IHN0YXJ0T2Zmc2V0KQorICAgICAgICArK2l0OworICAg
IGlmIChpdCA9PSByYW5nZS5lbmQoKSkKKyAgICAgICAgcmV0dXJuIHsgZW5kKCksIGVuZCgpIH07
CisgICAgYXV0byByYW5nZUJlZ2luID0gaXQ7CisgICAgLy8gU3BlY2lhbCBjYXNlIGVtcHR5IHJh
bmdlcyB0aGF0IHN0YXJ0IGF0IHRoZSBlZGdlIG9mIHRoZSBydW4uIEFwcGFyZW50bHkgbm9ybWFs
IGxpbmUgbGF5b3V0IGluY2x1ZGUgdGhvc2UuCisgICAgaWYgKGVuZE9mZnNldCA9PSBzdGFydE9m
ZnNldCAmJiAoKml0KS5zdGFydCgpID09IGVuZE9mZnNldCkKKyAgICAgICAgcmV0dXJuIHsgcmFu
Z2VCZWdpbiwgKytpdCB9OworICAgIC8vIEFkdmFuY2UgYmV5b25kIHRoZSBsYXN0IHJ1biB3aXRo
IHRoZSBlbmQgb2Zmc2V0LgorICAgIHdoaWxlIChpdCAhPSByYW5nZS5lbmQoKSAmJiAoKml0KS5z
dGFydCgpIDwgZW5kT2Zmc2V0KQorICAgICAgICArK2l0OworICAgIHJldHVybiB7IHJhbmdlQmVn
aW4sIGl0IH07Cit9CisKIExpbmVSZXNvbHZlcjo6SXRlcmF0b3I6Okl0ZXJhdG9yKFJ1blJlc29s
dmVyOjpJdGVyYXRvciBydW5JdGVyYXRvcikKICAgICA6IG1fcnVuSXRlcmF0b3IocnVuSXRlcmF0
b3IpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dFJlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dFJlc29sdmVyLmgKaW5kZXggYjM2OWJjNzE1ZDJmZTA3ODUzNjJjM2NjZmVmMWE1NWE4ZDM3M2Zm
Yi4uODY4MTI3Y2JjNTViMTIwMDQ1OGI4ZTZhYTUyMTYyZGFmYWQwYjc2YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaApAQCAt
MTE2LDYgKzExNiw3IEBAIHB1YmxpYzoKICAgICBSYW5nZTxJdGVyYXRvcj4gcmFuZ2VGb3JSZWN0
KGNvbnN0IExheW91dFJlY3QmKSBjb25zdDsKICAgICBSYW5nZTxJdGVyYXRvcj4gcmFuZ2VGb3JS
ZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QmKSBjb25zdDsKICAgICBJdGVyYXRvciBydW5Gb3JQ
b2ludChjb25zdCBMYXlvdXRQb2ludCYpIGNvbnN0OworICAgIFJhbmdlPEl0ZXJhdG9yPiByYW5n
ZUZvclJlbmRlcmVyV2l0aE9mZnNldHMoY29uc3QgUmVuZGVyT2JqZWN0JiwgdW5zaWduZWQgc3Rh
cnQsIHVuc2lnbmVkIGVuZCkgY29uc3Q7CiAKIHByaXZhdGU6CiAgICAgZW51bSBjbGFzcyBJbmRl
eFR5cGUgeyBGaXJzdCwgTGFzdCB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDJiMDVjMTliMWZlYzU1ZmQwNDVkNDkzMmVl
OGIyNTg1MDFmNTkzNjguLjMwOGFmM2Q2YzY2MWI0MDFjMDBkMzhkOTJkYTRlNDhkMmJkZWY1M2Eg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNy0wMi0yMCAgWmFsYW4gQnVqdGFzICA8emFsYW5A
YXBwbGUuY29tPgorCisgICAgICAgIFNpbXBsZSBsaW5lIGxheW91dDogSW1wbGVtZW50IGFic29s
dXRlUXVhZHNGb3JSYW5nZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2ODYxMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzA2MTQ2MTg+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgICogZmFzdC9kb20vUmFu
Z2Uvc2ltcGxlLWxpbmUtbGF5b3V0LWdldGNsaWVudHJlY3RzLWV4cGVjdGVkLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZG9tL1JhbmdlL3NpbXBsZS1saW5lLWxheW91dC1nZXRjbGllbnRy
ZWN0cy5odG1sOiBBZGRlZC4KKwogMjAxNy0wMi0xOSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIDxpbnB1dCB0eXBlPWNvbG9yIHJlYWRvbmx5PiBkb2Vzbid0IGFj
dCBwZXIgc3BlYwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2Uvc2ltcGxl
LWxpbmUtbGF5b3V0LWdldGNsaWVudHJlY3RzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9SYW5nZS9zaW1wbGUtbGluZS1sYXlvdXQtZ2V0Y2xpZW50cmVjdHMtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lMDA2YTAxNmQwYzlkZWZjNmM3ZTVmODU0OWFmMTA3NGNmODI0ZDQ3
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2Uvc2ltcGxlLWxp
bmUtbGF5b3V0LWdldGNsaWVudHJlY3RzLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxMDEgQEAK
KzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGhpcyB0ZXN0cyB0aGF0IHNpbXBsZSBh
bmQgbm9ybWFsIGxpbmUgbGF5b3V0IHByb2R1Y2UgdGhlIHNhbWUgZ2V0Q2xpZW50UmVjdHMgcmVz
dWx0LjwvdGl0bGU+Cis8c3R5bGU+CisucmFuZ2VCb3ggeworICAgIHBvc2l0aW9uOmFic29sdXRl
OworICAgIG91dGxpbmU6IDVweCBzb2xpZCBncmVlbjsKK30KKworLmJveCB7CisgICAgd2lkdGg6
IDQwMHB4OworICAgIGxpbmUtaGVpZ2h0OiA0MHB4OworfQorCisub3V0ZXIgeworICAgIG91dGxp
bmU6IDJweCBzb2xpZCBncmVlbjsKK30KKworI3Rlc3Q4IHsKKyAgICAtd2Via2l0LXRyYW5zZm9y
bTogdHJhbnNsYXRlKDUwcHgsIDEwMHB4KSByb3RhdGUoNTBkZWcpOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPGRpdiBjbGFzcz0iYm94IiBpZD0idGVzdDEiPjEgTG9yZW0gaXBzdW0g
ZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVz
bW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBV
dCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNv
IGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LjwvZGl2Pgor
PGRpdiBjbGFzcz0iYm94IiBpZD0idGVzdDIiPjIgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNp
ZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmlt
IHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1
dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LjwvZGl2PgorPGRpdiBjbGFzcz0iYm94
IiBpZD0idGVzdDMiPjMgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFk
aXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9y
ZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBu
b3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVh
IGNvbW1vZG8gY29uc2VxdWF0LjwvZGl2PgorPGRpdiBjbGFzcz0iYm94IiBpZD0idGVzdDQiPjQg
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVsaXQs
IHNlZCBkbyA8ZGl2IGNsYXNzPSJvdXRlciI+ZWl1c21vZCB0ZW1wb3I8L2Rpdj4gaW5jaWRpZHVu
dCB1dCBsYWJvcmUgZXRkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlh
bSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlx
dWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LjwvZGl2PgorPGRpdiBjbGFzcz0iYm94IiBpZD0i
dGVzdDUiPjUgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2lj
aW5nIGVsaXQsIHNlZCBkbyA8ZGl2IGNsYXNzPSJvdXRlciI+ZWl1c21vZCB0ZW1wb3I8L2Rpdj4g
aW5jaWRpZHVudCB1dCBsYWJvcmUgZXRkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1p
bmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlz
aSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29uc2VxdWF0LjwvZGl2PgorPGRpdiBjbGFzcz0i
Ym94IiBpZD0idGVzdDYiPjYgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVy
IGFkaXBpc2ljaW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxh
Ym9yZSBldCBkb2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVp
cyBub3N0cnVkIGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4
IGVhIGNvbW1vZG8gY29uc2VxdWF0LjwvZGl2PgorPGRpdiBjbGFzcz0iYm94IiBpZD0idGVzdDci
PjcgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2ljaW5nIGVs
aXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBkb2xvcmUg
bWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVkIGV4ZXJj
aXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1vZG8gY29u
c2VxdWF0LjwvZGl2PgorPGRpdiBjbGFzcz0iYm94IiBpZD0idGVzdDgiPjggPGRpdj5Mb3JlbSBp
cHN1bSBkb2xvciBzaXQgYW1ldCw8L2Rpdj4gY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwg
c2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWdu
YSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0
aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1
YXQuPC9kaXY+Cis8ZGl2IGNsYXNzPSJib3giIGlkPSJ0ZXN0OSI+OSBMb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2Qg
dGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVu
aW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFi
b3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuPC9kaXY+Cis8ZGl2
IGNsYXNzPSJib3giIGlkPSJ0ZXN0MTAiPjEwIExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBj
b25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRp
ZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2
ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQg
YWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC48L2Rpdj4KKzxzY3JpcHQ+CisgICAgaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTaW1wbGVM
aW5lTGF5b3V0RW5hYmxlZChmYWxzZSk7CisKKyAgICBmdW5jdGlvbiB2aXN1YWxpemVDbGllbnRS
ZWN0cyhyYW5nZSkgeworICAgIAl2YXIgcmVjdHMgPSByYW5nZS5nZXRDbGllbnRSZWN0cygpOwor
ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY3RzLmxlbmd0aDsgKytpKSB7CisgICAgICAg
IAl2YXIgcmVjdCA9IHJlY3RzW2ldOworICAgICAgICAJcmFuZ2VCb3ggPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgCXJhbmdlQm94LmNsYXNzTmFtZSA9ICJyYW5nZUJv
eCI7CisgICAgICAgIAl2YXIgc3R5bGUgPSAiIjsKKyAgICAgICAgCXN0eWxlICs9ICJsZWZ0OiAi
ICAgKyByZWN0LmxlZnQgKyAicHg7IjsKKyAgICAgICAgCXN0eWxlICs9ICJ0b3A6ICIgICAgKyBy
ZWN0LnRvcCArICJweDsiOworICAgICAgICAJc3R5bGUgKz0gIndpZHRoOiAiICArIChyZWN0LnJp
Z2h0IC0gcmVjdC5sZWZ0KSArICJweDsiOworICAgICAgICAJc3R5bGUgKz0gImhlaWdodDogIiAr
IChyZWN0LmJvdHRvbSAtIHJlY3QudG9wKSArICJweDsiOworICAgICAgICAJcmFuZ2VCb3guc2V0
QXR0cmlidXRlKCJzdHlsZSIsIHN0eWxlKTsKKyAgICAgICAgCWRvY3VtZW50LmRvY3VtZW50RWxl
bWVudC5hcHBlbmRDaGlsZChyYW5nZUJveCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2YXIg
cmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOworICAgIHJhbmdlLnNlbGVjdE5vZGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJykpOworICAgIHZpc3VhbGl6ZUNsaWVudFJlY3Rz
KHJhbmdlKTsKKworICAgIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICByYW5n
ZS5zZXRTdGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDInKS5maXJzdENoaWxkLCAx
MCk7CisgICAgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0ZXN0MicpKTsKKyAgICB2aXN1YWxpemVDbGllbnRSZWN0cyhyYW5nZSk7CisKKyAgICByYW5n
ZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAgcmFuZ2Uuc2V0U3RhcnQoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Rlc3QzJykuZmlyc3RDaGlsZCwgMTEpOworICAgIHJhbmdlLnNldEVu
ZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDMnKS5sYXN0Q2hpbGQsIDIwMCk7CisgICAg
dmlzdWFsaXplQ2xpZW50UmVjdHMocmFuZ2UpOworCisgICAgcmFuZ2UgPSBkb2N1bWVudC5jcmVh
dGVSYW5nZSgpOworICAgIHJhbmdlLnNlbGVjdE5vZGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J3Rlc3Q0JykpOworICAgIHZpc3VhbGl6ZUNsaWVudFJlY3RzKHJhbmdlKTsKKworICAgIHJhbmdl
ID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICByYW5nZS5zZWxlY3ROb2RlQ29udGVudHMo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3Q1JykpOworICAgIHZpc3VhbGl6ZUNsaWVudFJl
Y3RzKHJhbmdlKTsKKworICAgIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICBy
YW5nZS5zZXRTdGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDYnKS5maXJzdENoaWxk
LCAxMSk7CisgICAgcmFuZ2Uuc2V0RW5kKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0Nicp
Lmxhc3RDaGlsZCwgMCk7CisgICAgdmlzdWFsaXplQ2xpZW50UmVjdHMocmFuZ2UpOworCisgICAg
cmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOworICAgIHJhbmdlLnNldFN0YXJ0KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0NycpLCAwKTsKKyAgICB2aXN1YWxpemVDbGllbnRSZWN0
cyhyYW5nZSk7CisKKyAgICByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAgcmFu
Z2Uuc2V0U3RhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3Q4JykuZmlyc3RDaGlsZCwg
MCk7CisgICAgdmlzdWFsaXplQ2xpZW50UmVjdHMocmFuZ2UpOworCisgICAgcmFuZ2UgPSBkb2N1
bWVudC5jcmVhdGVSYW5nZSgpOworICAgIHJhbmdlLnNldFN0YXJ0QmVmb3JlKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCd0ZXN0OScpKTsKKyAgICByYW5nZS5zZXRFbmRBZnRlcihkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgndGVzdDknKS5maXJzdENoaWxkKTsKKyAgICB2aXN1YWxpemVDbGllbnRS
ZWN0cyhyYW5nZSk7CisKKyAgICByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAg
cmFuZ2Uuc2V0U3RhcnRCZWZvcmUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxMCcpKTsK
KyAgICByYW5nZS5zZXRFbmRCZWZvcmUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxMCcp
LmZpcnN0Q2hpbGQpOworICAgIHZpc3VhbGl6ZUNsaWVudFJlY3RzKHJhbmdlKTsKKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFu
Z2Uvc2ltcGxlLWxpbmUtbGF5b3V0LWdldGNsaWVudHJlY3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9SYW5nZS9zaW1wbGUtbGluZS1sYXlvdXQtZ2V0Y2xpZW50cmVjdHMuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45MGY1NDY4NjU0MDljNTI3NDU5ODkyN2QxYzBlNGZmZjVmMzgzM2Q4Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vUmFuZ2Uvc2ltcGxlLWxpbmUtbGF5b3V0
LWdldGNsaWVudHJlY3RzLmh0bWwKQEAgLTAsMCArMSw5OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5UaGlzIHRlc3RzIHRoYXQgc2ltcGxlIGFuZCBub3JtYWwgbGluZSBsYXlv
dXQgcHJvZHVjZSB0aGUgc2FtZSBnZXRDbGllbnRSZWN0cyByZXN1bHQuPC90aXRsZT4KKzxzdHls
ZT4KKy5yYW5nZUJveCB7CisgICAgcG9zaXRpb246YWJzb2x1dGU7CisgICAgb3V0bGluZTogNXB4
IHNvbGlkIGdyZWVuOworfQorCisuYm94IHsKKyAgICB3aWR0aDogNDAwcHg7CisgICAgbGluZS1o
ZWlnaHQ6IDQwcHg7Cit9CisKKy5vdXRlciB7CisgICAgb3V0bGluZTogMnB4IHNvbGlkIGdyZWVu
OworfQorCisjdGVzdDggeworICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTBweCwg
MTAwcHgpIHJvdGF0ZSg1MGRlZyk7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
IGNsYXNzPSJib3giIGlkPSJ0ZXN0MSI+MSBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29u
c2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1
bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVu
aWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFs
aXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuPC9kaXY+Cis8ZGl2IGNsYXNzPSJib3giIGlk
PSJ0ZXN0MiI+MiBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlz
aWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0
IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3Ry
dWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29t
bW9kbyBjb25zZXF1YXQuPC9kaXY+Cis8ZGl2IGNsYXNzPSJib3giIGlkPSJ0ZXN0MyI+MyBMb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2Vk
IGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBh
bGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9u
IHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQu
PC9kaXY+Cis8ZGl2IGNsYXNzPSJib3giIGlkPSJ0ZXN0NCI+NCBMb3JlbSBpcHN1bSBkb2xvciBz
aXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIDxkaXYgY2xhc3M9
Im91dGVyIj5laXVzbW9kIHRlbXBvcjwvZGl2PiBpbmNpZGlkdW50IHV0IGxhYm9yZSBldGRvbG9y
ZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhl
cmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBj
b25zZXF1YXQuPC9kaXY+Cis8ZGl2IGNsYXNzPSJib3giIGlkPSJ0ZXN0NSI+NSBMb3JlbSBpcHN1
bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIDxk
aXYgY2xhc3M9Im91dGVyIj5laXVzbW9kIHRlbXBvcjwvZGl2PiBpbmNpZGlkdW50IHV0IGxhYm9y
ZSBldGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5v
c3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEg
Y29tbW9kbyBjb25zZXF1YXQuPC9kaXY+Cis8ZGl2IGNsYXNzPSJib3giIGlkPSJ0ZXN0NiI+NiBM
b3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwg
c2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWdu
YSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0
aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1
YXQuPC9kaXY+Cis8ZGl2IGNsYXNzPSJib3giIGlkPSJ0ZXN0NyI+NyBMb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzaWNpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2Qg
dGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVu
aW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFi
b3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuPC9kaXY+Cis8ZGl2
IGNsYXNzPSJib3giIGlkPSJ0ZXN0OCI+OCA8ZGl2PkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0
LDwvZGl2PiBjb25zZWN0ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1w
b3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBh
ZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlz
IG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC48L2Rpdj4KKzxkaXYgY2xh
c3M9ImJveCIgaWQ9InRlc3Q5Ij45IExvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0
ZXR1ciBhZGlwaXNpY2luZyBlbGl0LCBzZWQgZG8gZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1
dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQgZW5pbSBhZCBtaW5pbSB2ZW5pYW0s
IHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzIG5pc2kgdXQgYWxpcXVp
cCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC48L2Rpdj4KKzxkaXYgY2xhc3M9ImJveCIgaWQ9InRl
c3QxMCI+MTAgTG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2lj
aW5nIGVsaXQsIHNlZCBkbyBlaXVzbW9kIHRlbXBvciBpbmNpZGlkdW50IHV0IGxhYm9yZSBldCBk
b2xvcmUgbWFnbmEgYWxpcXVhLiBVdCBlbmltIGFkIG1pbmltIHZlbmlhbSwgcXVpcyBub3N0cnVk
IGV4ZXJjaXRhdGlvbiB1bGxhbWNvIGxhYm9yaXMgbmlzaSB1dCBhbGlxdWlwIGV4IGVhIGNvbW1v
ZG8gY29uc2VxdWF0LjwvZGl2PgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiB2aXN1YWxpemVDbGll
bnRSZWN0cyhyYW5nZSkgeworICAgIAl2YXIgcmVjdHMgPSByYW5nZS5nZXRDbGllbnRSZWN0cygp
OworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJlY3RzLmxlbmd0aDsgKytpKSB7CisgICAg
ICAgIAl2YXIgcmVjdCA9IHJlY3RzW2ldOworICAgICAgICAJcmFuZ2VCb3ggPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgICAgCXJhbmdlQm94LmNsYXNzTmFtZSA9ICJyYW5n
ZUJveCI7CisgICAgICAgIAl2YXIgc3R5bGUgPSAiIjsKKyAgICAgICAgCXN0eWxlICs9ICJsZWZ0
OiAiICAgKyByZWN0LmxlZnQgKyAicHg7IjsKKyAgICAgICAgCXN0eWxlICs9ICJ0b3A6ICIgICAg
KyByZWN0LnRvcCArICJweDsiOworICAgICAgICAJc3R5bGUgKz0gIndpZHRoOiAiICArIChyZWN0
LnJpZ2h0IC0gcmVjdC5sZWZ0KSArICJweDsiOworICAgICAgICAJc3R5bGUgKz0gImhlaWdodDog
IiArIChyZWN0LmJvdHRvbSAtIHJlY3QudG9wKSArICJweDsiOworICAgICAgICAJcmFuZ2VCb3gu
c2V0QXR0cmlidXRlKCJzdHlsZSIsIHN0eWxlKTsKKyAgICAgICAgCWRvY3VtZW50LmRvY3VtZW50
RWxlbWVudC5hcHBlbmRDaGlsZChyYW5nZUJveCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICB2
YXIgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOworICAgIHJhbmdlLnNlbGVjdE5vZGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxJykpOworICAgIHZpc3VhbGl6ZUNsaWVudFJl
Y3RzKHJhbmdlKTsKKworICAgIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICBy
YW5nZS5zZXRTdGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDInKS5maXJzdENoaWxk
LCAxMCk7CisgICAgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0ZXN0MicpKTsKKyAgICB2aXN1YWxpemVDbGllbnRSZWN0cyhyYW5nZSk7CisKKyAgICBy
YW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAgcmFuZ2Uuc2V0U3RhcnQoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QzJykuZmlyc3RDaGlsZCwgMTEpOworICAgIHJhbmdlLnNl
dEVuZChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDMnKS5sYXN0Q2hpbGQsIDIwMCk7Cisg
ICAgdmlzdWFsaXplQ2xpZW50UmVjdHMocmFuZ2UpOworCisgICAgcmFuZ2UgPSBkb2N1bWVudC5j
cmVhdGVSYW5nZSgpOworICAgIHJhbmdlLnNlbGVjdE5vZGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3Rlc3Q0JykpOworICAgIHZpc3VhbGl6ZUNsaWVudFJlY3RzKHJhbmdlKTsKKworICAgIHJh
bmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAgICByYW5nZS5zZWxlY3ROb2RlQ29udGVu
dHMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3Q1JykpOworICAgIHZpc3VhbGl6ZUNsaWVu
dFJlY3RzKHJhbmdlKTsKKworICAgIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTsKKyAg
ICByYW5nZS5zZXRTdGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdDYnKS5maXJzdENo
aWxkLCAxMSk7CisgICAgcmFuZ2Uuc2V0RW5kKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0
NicpLmxhc3RDaGlsZCwgMCk7CisgICAgdmlzdWFsaXplQ2xpZW50UmVjdHMocmFuZ2UpOworCisg
ICAgcmFuZ2UgPSBkb2N1bWVudC5jcmVhdGVSYW5nZSgpOworICAgIHJhbmdlLnNldFN0YXJ0KGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXN0NycpLCAwKTsKKyAgICB2aXN1YWxpemVDbGllbnRS
ZWN0cyhyYW5nZSk7CisKKyAgICByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7CisgICAg
cmFuZ2Uuc2V0U3RhcnQoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3Q4JykuZmlyc3RDaGls
ZCwgMCk7CisgICAgdmlzdWFsaXplQ2xpZW50UmVjdHMocmFuZ2UpOworCisgICAgcmFuZ2UgPSBk
b2N1bWVudC5jcmVhdGVSYW5nZSgpOworICAgIHJhbmdlLnNldFN0YXJ0QmVmb3JlKGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0ZXN0OScpKTsKKyAgICByYW5nZS5zZXRFbmRBZnRlcihkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndGVzdDknKS5maXJzdENoaWxkKTsKKyAgICB2aXN1YWxpemVDbGll
bnRSZWN0cyhyYW5nZSk7CisKKyAgICByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7Cisg
ICAgcmFuZ2Uuc2V0U3RhcnRCZWZvcmUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QxMCcp
KTsKKyAgICByYW5nZS5zZXRFbmRCZWZvcmUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3Qx
MCcpLmZpcnN0Q2hpbGQpOworICAgIHZpc3VhbGl6ZUNsaWVudFJlY3RzKHJhbmdlKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>