<?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>155108</bug_id>
          
          <creation_ts>2016-03-07 03:28:55 -0800</creation_ts>
          <short_desc>Add :defined support</short_desc>
          <delta_ts>2016-03-10 13:11:20 -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>CSS</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>155107</dependson>
          <blocked>154907</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1171556</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-03-07 03:28:55 -0800</bug_when>
    <thetext>Implement: https://rawgit.com/w3c/webcomponents/construction/spec/custom/index.html#unresolved-element-pseudoclass

The :unresolved pseudo-class [CSS3-SELECTORS] must match all custom elements whose custom element constructor has not yet been invoked.

&lt;rdar://problem/24923698&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1171557</commentid>
    <comment_count>1</comment_count>
      <attachid>273171</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-03-07 03:31:21 -0800</bug_when>
    <thetext>Created attachment 273171
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173028</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-03-10 01:36:38 -0800</bug_when>
    <thetext>The spec has been updated to now define :defined instead:
https://w3c.github.io/webcomponents/spec/custom/#the-defined-element-pseudo-class-defined</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173031</commentid>
    <comment_count>3</comment_count>
      <attachid>273549</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-03-10 01:46:33 -0800</bug_when>
    <thetext>Created attachment 273549
Adds the support</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173032</commentid>
    <comment_count>4</comment_count>
      <attachid>273550</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-03-10 01:47:37 -0800</bug_when>
    <thetext>Created attachment 273550
Fixed change logs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173041</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-03-10 02:44:08 -0800</bug_when>
    <thetext>r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1173281</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-03-10 13:11:20 -0800</bug_when>
    <thetext>Committed r197952: &lt;http://trac.webkit.org/changeset/197952&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273171</attachid>
            <date>2016-03-07 03:31:21 -0800</date>
            <delta_ts>2016-03-10 01:46:30 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>wip155108.patch</filename>
            <type>text/plain</type>
            <size>3561</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAkocmV2aXNpb24gMTk3NjM0KQorKysg
U291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQz
LDYgKzY0MywxMSBAQAogICAgICAgICAgICAgICAgIHN0ci5hcHBlbmRMaXRlcmFsKCI6aG9zdCIp
OwogICAgICAgICAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5BQkxFKENVU1RPTV9FTEVN
RU5UUykKKyAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzVW5yZXNvbHZl
ZDoKKyAgICAgICAgICAgICAgICBzdHIuYXBwZW5kTGl0ZXJhbCgiOnVucmVzb2x2ZWQiKTsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyNlbmRpZgogICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6UHNldWRvQ2xhc3NVbmtub3duOgogICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgICAgICAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9y
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgJKHJldmlz
aW9uIDE5NzYzNCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xNjIsNiArMTYyLDkgQEAKICNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKICAgICAg
ICAgICAgIFBzZXVkb0NsYXNzSG9zdCwKICNlbmRpZgorI2lmIEVOQUJMRShDVVNUT01fRUxFTUVO
VFMpCisgICAgICAgICAgICBQc2V1ZG9DbGFzc1VucmVzb2x2ZWQsCisjZW5kaWYKICAgICAgICAg
fTsKIAogICAgICAgICBlbnVtIFBzZXVkb0VsZW1lbnRUeXBlIHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCShyZXZpc2lvbiAxOTc2MzQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTkxLDYgKzk5
MSwxMCBAQAogICAgICAgICAgICAgLy8gOmhvc3QgbWF0Y2hlcyBiYXNlZCBvbiBjb250ZXh0LiBD
YXNlcyB0aGF0IHJlYWNoIHNlbGVjdG9yIGNoZWNrZXIgZG9uJ3QgbWF0Y2guCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKKyNpZiBFTkFCTEUoQ1VTVE9NX0VMRU1FTlRTKQorICAg
ICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1VucmVzb2x2ZWQ6CisgICAgICAgICAg
ICByZXR1cm4gaXNVbnJlc29sdmVkQ3VzdG9tRWxlbWVudChlbGVtZW50KTsKKyNlbmRpZgogICAg
ICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1dpbmRvd0luYWN0aXZlOgogICAgICAg
ICAgICAgcmV0dXJuIGlzV2luZG93SW5hY3RpdmUoZWxlbWVudCk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaAkocmV2aXNp
b24gMTk3NjM0KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5j
dGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsMTUgQEAKICAgICAgICAgJiYgIWVs
ZW1lbnQuaXNEaXNhYmxlZEZvcm1Db250cm9sKCk7CiB9CiAKKyNpZiBFTkFCTEUoQ1VTVE9NX0VM
RU1FTlRTKQorQUxXQVlTX0lOTElORSBib29sIGlzVW5yZXNvbHZlZEN1c3RvbUVsZW1lbnQoY29u
c3QgRWxlbWVudCYgZWxlbWVudCkKK3sKKworCisgICAgcmV0dXJuIGVsZW1lbnQuaXNVbnJlc29s
dmVkQ3VzdG9tRWxlbWVudCgpOworfQorI2VuZGlmCisKIEFMV0FZU19JTkxJTkUgYm9vbCBpc01l
ZGlhRG9jdW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKIHsKICAgICByZXR1cm4gZWxlbWVu
dC5kb2N1bWVudCgpLmlzTWVkaWFEb2N1bWVudCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3Nz
L1NlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1hcC5pbgo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGli
aWxpdHlFbGVtZW50TWFwLmluCShyZXZpc2lvbiAxOTc2MzQpCisrKyBTb3VyY2UvV2ViQ29yZS9j
c3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmluCSh3b3Jr
aW5nIGNvcHkpCkBAIC03OCwzICs3OCw3IEBACiAjaWYgRU5BQkxFKFNIQURPV19ET00pCiBob3N0
CiAjZW5kaWYKKworI2lmIEVOQUJMRShDVVNUT01fRUxFTUVOVFMpCit1bnJlc29sdmVkCisjZW5k
aWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAJKHJl
dmlzaW9uIDE5NzYzNCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQxLDYgKzU0MSwxMSBAQAogICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0NsYXNzRW5hYmxlZDoKICAgICAgICAgZnJhZ21lbnQudW5vcHRpbWl6ZWRQ
c2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyKGlzRW5hYmxlZCkpOwogICAgICAg
ICByZXR1cm4gRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNoZWNrZXI7CisjaWYgRU5BQkxF
KENVU1RPTV9FTEVNRU5UUykKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1VucmVz
b2x2ZWQ6CisgICAgICAgIGZyYWdtZW50LnVub3B0aW1pemVkUHNldWRvQ2xhc3Nlcy5hcHBlbmQo
SlNDOjpGdW5jdGlvblB0cihpc1VucmVzb2x2ZWRDdXN0b21FbGVtZW50KSk7CisgICAgICAgIHJl
dHVybiBGdW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKKyNlbmRpZgogICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzRm9jdXM6CiAgICAgICAgIGZyYWdtZW50LnVub3B0
aW1pemVkUHNldWRvQ2xhc3Nlcy5hcHBlbmQoSlNDOjpGdW5jdGlvblB0cihTZWxlY3RvckNoZWNr
ZXI6Om1hdGNoZXNGb2N1c1BzZXVkb0NsYXNzKSk7CiAgICAgICAgIHJldHVybiBGdW5jdGlvblR5
cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273549</attachid>
            <date>2016-03-10 01:46:33 -0800</date>
            <delta_ts>2016-03-10 01:47:33 -0800</delta_ts>
            <desc>Adds the support</desc>
            <filename>bug-155108-20160310014620.patch</filename>
            <type>text/plain</type>
            <size>15428</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NzkyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDE2LTAzLTEwICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCA6ZGVmaW5lZCBzdXBwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxMDgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCA6
ZGVmaW5lZCBwc2V1ZG8gY2xhc3Mgd2hpY2ggYXBwbGllcyB0byBhIHN1Y2Nlc3NmdWxseSBpbnN0
YW50aWF0ZWQgY3VzdG9tIGVsZW1lbnQgb3IgYSBidWlsdGluIGVsZW1lbnQuCisgICAgICAgIEEg
bmV3IG5vZGUgZmxhZywgaXNVbnJlc29sdmVkQ3VzdG9tRWxlbWVudCwgd2hpY2ggd2FzIGFkZGVk
IGluIHIxOTc5MTcgdHJhY2tzIHVuLXVwZ3JhZGVkIC8gdW5yZXNvbHZlZCBjdXN0b20KKyAgICAg
ICAgZWxlbWVudHMgZm9yIHdoaWNoIDpkZWZpbmVkIHNob3VsZCBub3QgYXBwbHkuCisKKyAgICAg
ICAgVGVzdHM6IGZhc3QvY3VzdG9tLWVsZW1lbnRzL2RlZmluZWQtcHNldWRvLWNsYXNzLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvY3VzdG9tLWVsZW1lbnRzL2RlZmluZWQtcnVsZS5odG1sCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNDdXN0b21FbGVtZW50SW50ZXJmYWNlOjpjb25zdHJ1Y3RFbGVtZW50
KTogVW5zZXQgaXNVbnJlc29sdmVkQ3VzdG9tRWxlbWVudCBub3cgdGhhdCBIVE1MRWxlbWVudCdz
CisgICAgICAgIGNvbnN0cnVjdG9yIHNldHMgaXNVbnJlc29sdmVkQ3VzdG9tRWxlbWVudC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmNvbnN0cnVjdEpTSFRNTEVsZW1lbnQpOiBTZXQgaXNVbnJlc29sdmVkQ3VzdG9tRWxl
bWVudCB0byB0cnVlIHNpbmNlIDpkZWZpbmVkIHNob3VsZCBuZXZlciBhcHBseSB0bworICAgICAg
ICBhIGN1c3RvbSBlbGVtZW50IGluc2lkZSBpdHMgY29uc3RydWN0b3IgYXMgSFRNTEVsZW1lbnQg
Y29uc3RydWN0b3IgZG9lcyBub3Qgc2V0IHRoZSBkZWZpbmVkIGZsYWc6CisgICAgICAgIGh0dHBz
Oi8vdzNjLmdpdGh1Yi5pby93ZWJjb21wb25lbnRzL3NwZWMvY3VzdG9tLyNodG1sZWxlbWVudC1j
b25zdHJ1Y3RvcgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KTogQWRkZWQgdGhlIHN1cHBvcnQgZm9yIHNl
cmlhbGl6aW5nIDpkZWZpbmVkLgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5oOgorICAgICAg
ICAoUHNldWRvQ2xhc3NUeXBlKTogQWRkZWQgUHNldWRvQ2xhc3NEZWZpbmVkIGZvciA6ZGVmaW5l
ZC4KKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUpOiBBZGRlZCB0aGUgc3VwcG9ydCBmb3IgOmRlZmlu
ZWQuCisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OmlzRGVmaW5lZEVsZW1lbnQpOiBBZGRlZC4gUmV0dXJucyB0cnVlIGZvciBh
bnkgYnVpbHRpbiBlbGVtZW50IGFuZCBhIGN1c3RvbSBlbGVtZW50IGFmdGVyIGEgc3VjY2Vzc2Z1
bAorICAgICAgICBjb25zdHJ1Y3Rpb24gLyB1cGdyYWRlcy4KKyAgICAgICAgKiBjc3MvU2VsZWN0
b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmluOiBBZGRlZCA6ZGVmaW5l
ZC4KKyAgICAgICAgKiBjc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTZWxlY3RvckNvbXBpbGVyOjphZGRQc2V1ZG9DbGFzc1R5cGUpOiBBZGRlZCB0aGUgc3Vw
cG9ydCBmb3IgOmRlZmluZWQuCisKIDIwMTYtMDMtMDkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgRXh0cmFjdCBFdmVudFBhdGguaC9jcHAgb3V0IG9mIEV2ZW50
RGlzcGF0Y2hlci5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9t
RWxlbWVudEludGVyZmFjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNDdXN0b21FbGVtZW50SW50ZXJmYWNlLmNwcAkocmV2aXNpb24gMTk3OTI0KQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21FbGVtZW50SW50ZXJmYWNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTgsNyArOTgsNyBAQCBSZWZQdHI8RWxlbWVudD4gSlNDdXN0b21F
bGVtZW50SW50ZXJmYWNlCiAgICAgRWxlbWVudCogd3JhcHBlZEVsZW1lbnQgPSBKU0VsZW1lbnQ6
OnRvV3JhcHBlZChuZXdFbGVtZW50KTsKICAgICBpZiAoIXdyYXBwZWRFbGVtZW50KQogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKLSAgICB3cmFwcGVkRWxlbWVudC0+c2V0SXNDdXN0b21FbGVtZW50
KCk7CisgICAgd3JhcHBlZEVsZW1lbnQtPnNldEN1c3RvbUVsZW1lbnRJc1Jlc29sdmVkKCk7CiAg
ICAgcmV0dXJuIHdyYXBwZWRFbGVtZW50OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0hUTUxFbGVtZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0hUTUxFbGVtZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gMTk3OTI0
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRWxlbWVudEN1c3RvbS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBjb25zdHJ1Y3RKUwogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTsKIAogICAgICAgICBSZWY8SFRNTEVsZW1lbnQ+IGVsZW1lbnQgPSBIVE1MRWxl
bWVudDo6Y3JlYXRlKGludGVyZmFjZS0+bmFtZSgpLCBkb2N1bWVudCk7CisgICAgICAgIGVsZW1l
bnQtPnNldElzVW5yZXNvbHZlZEN1c3RvbUVsZW1lbnQoKTsKICAgICAgICAgYXV0byoganNFbGVt
ZW50ID0gSlNIVE1MRWxlbWVudDo6Y3JlYXRlKG5ld0VsZW1lbnRTdHJ1Y3R1cmUsIGdsb2JhbE9i
amVjdCwgZWxlbWVudC5nZXQoKSk7CiAgICAgICAgIGNhY2hlV3JhcHBlcihnbG9iYWxPYmplY3Qt
PndvcmxkKCksIGVsZW1lbnQucHRyKCksIGpzRWxlbWVudCk7CiAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNFbGVtZW50KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxl
Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNw
cAkocmV2aXNpb24gMTk3OTI0KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjQzLDYgKzY0MywxMSBAQCBTdHJpbmcgQ1NTU2VsZWN0b3I6
OnNlbGVjdG9yVGV4dChjb25zdCBTCiAgICAgICAgICAgICAgICAgc3RyLmFwcGVuZExpdGVyYWwo
Ijpob3N0Iik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyNpZiBFTkFCTEUoQ1VT
VE9NX0VMRU1FTlRTKQorICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NE
ZWZpbmVkOgorICAgICAgICAgICAgICAgIHN0ci5hcHBlbmRMaXRlcmFsKCI6ZGVmaW5lZCIpOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgICAgICAgICBjYXNlIENTU1NlbGVj
dG9yOjpQc2V1ZG9DbGFzc1Vua25vd246CiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0
b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAkocmV2
aXNpb24gMTk3OTI0KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE2Miw2ICsxNjIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5B
QkxFKFNIQURPV19ET00pCiAgICAgICAgICAgICBQc2V1ZG9DbGFzc0hvc3QsCiAjZW5kaWYKKyNp
ZiBFTkFCTEUoQ1VTVE9NX0VMRU1FTlRTKQorICAgICAgICAgICAgUHNldWRvQ2xhc3NEZWZpbmVk
LAorI2VuZGlmCiAgICAgICAgIH07CiAKICAgICAgICAgZW51bSBQc2V1ZG9FbGVtZW50VHlwZSB7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAkocmV2aXNpb24gMTk3
OTI0KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTk5MSw2ICs5OTEsMTAgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25l
KENoZWNraW5nQwogICAgICAgICAgICAgLy8gOmhvc3QgbWF0Y2hlcyBiYXNlZCBvbiBjb250ZXh0
LiBDYXNlcyB0aGF0IHJlYWNoIHNlbGVjdG9yIGNoZWNrZXIgZG9uJ3QgbWF0Y2guCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKKyNpZiBFTkFCTEUoQ1VTVE9NX0VMRU1FTlRTKQor
ICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0RlZmluZWQ6CisgICAgICAgICAg
ICByZXR1cm4gaXNEZWZpbmVkRWxlbWVudChlbGVtZW50KTsKKyNlbmRpZgogICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1dpbmRvd0luYWN0aXZlOgogICAgICAgICAgICAgcmV0
dXJuIGlzV2luZG93SW5hY3RpdmUoZWxlbWVudCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nz
cy9TZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaAkocmV2aXNpb24gMTk3OTI0
KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaAko
d29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsMTMgQEAgQUxXQVlTX0lOTElORSBib29sIGlzRW5h
YmxlZChjb25zdCBFbGVtZQogICAgICAgICAmJiAhZWxlbWVudC5pc0Rpc2FibGVkRm9ybUNvbnRy
b2woKTsKIH0KIAorI2lmIEVOQUJMRShDVVNUT01fRUxFTUVOVFMpCitBTFdBWVNfSU5MSU5FIGJv
b2wgaXNEZWZpbmVkRWxlbWVudChjb25zdCBFbGVtZW50JiBlbGVtZW50KQoreworICAgIHJldHVy
biAhZWxlbWVudC5pc1VucmVzb2x2ZWRDdXN0b21FbGVtZW50KCk7Cit9CisjZW5kaWYKKwogQUxX
QVlTX0lOTElORSBib29sIGlzTWVkaWFEb2N1bWVudChjb25zdCBFbGVtZW50JiBlbGVtZW50KQog
ewogICAgIHJldHVybiBlbGVtZW50LmRvY3VtZW50KCkuaXNNZWRpYURvY3VtZW50KCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlF
bGVtZW50TWFwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBz
ZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0eUVsZW1lbnRNYXAuaW4JKHJldmlzaW9uIDE5NzkyNCkK
KysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0
eUVsZW1lbnRNYXAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTc4LDMgKzc4LDcgQEAgcGFzdAogI2lm
IEVOQUJMRShTSEFET1dfRE9NKQogaG9zdAogI2VuZGlmCisKKyNpZiBFTkFCTEUoQ1VTVE9NX0VM
RU1FTlRTKQorZGVmaW5lZAorI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2Vs
ZWN0b3JDb21waWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nzaml0L1Nl
bGVjdG9yQ29tcGlsZXIuY3BwCShyZXZpc2lvbiAxOTc5MjQpCisrKyBTb3VyY2UvV2ViQ29yZS9j
c3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0Miw2ICs1NDIs
MTEgQEAgc3RhdGljIGlubGluZSBGdW5jdGlvblR5cGUgYWRkUHNldWRvQ2xhcwogICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzRW5hYmxlZDoKICAgICAgICAgZnJhZ21lbnQudW5vcHRp
bWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyKGlzRW5hYmxlZCkpOwog
ICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNoZWNrZXI7CisjaWYg
RU5BQkxFKENVU1RPTV9FTEVNRU5UUykKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFz
c0RlZmluZWQ6CisgICAgICAgIGZyYWdtZW50LnVub3B0aW1pemVkUHNldWRvQ2xhc3Nlcy5hcHBl
bmQoSlNDOjpGdW5jdGlvblB0cihpc0RlZmluZWRFbGVtZW50KSk7CisgICAgICAgIHJldHVybiBG
dW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKKyNlbmRpZgogICAgIGNhc2UgQ1NT
U2VsZWN0b3I6OlBzZXVkb0NsYXNzRm9jdXM6CiAgICAgICAgIGZyYWdtZW50LnVub3B0aW1pemVk
UHNldWRvQ2xhc3Nlcy5hcHBlbmQoSlNDOjpGdW5jdGlvblB0cihTZWxlY3RvckNoZWNrZXI6Om1h
dGNoZXNGb2N1c1BzZXVkb0NsYXNzKSk7CiAgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OlNp
bXBsZVNlbGVjdG9yQ2hlY2tlcjsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NzkyNCkKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE2LTAz
LTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCA6ZGVm
aW5lZCBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTUxMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGZhc3QvY3VzdG9tLWVsZW1lbnRzL2RlZmluZWQtcHNldWRvLWNsYXNzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jdXN0b20tZWxlbWVudHMvZGVmaW5lZC1wc2V1
ZG8tY2xhc3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jdXN0b20tZWxlbWVudHMvZGVm
aW5lZC1ydWxlLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3VzdG9tLWVs
ZW1lbnRzL2RlZmluZWQtcnVsZS5odG1sOiBBZGRlZC4KKwogMjAxNi0wMy0wOSAgUnlvc3VrZSBO
aXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBkZWZpbmVFbGVtZW50IHNob3VsZCB1
cGdyYWRlIGV4aXN0aW5nIHVucmVzb2x2ZWQgY3VzdG9tIGVsZW1lbnRzCkluZGV4OiBMYXlvdXRU
ZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9kZWZpbmVkLXBzZXVkby1jbGFzcy1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvZGVmaW5l
ZC1wc2V1ZG8tY2xhc3MtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9jdXN0b20tZWxlbWVudHMvZGVmaW5lZC1wc2V1ZG8tY2xhc3MtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOSBAQAorCitQQVNTIFRoZSBkZWZpbmVkIGZsYWcgb2Yg
YSBjdXN0b20gZWxlbWVudCBtdXN0IGJlIHNldCBpZiBhIGN1c3RvbSBlbGVtZW50IGhhcyBub3Qg
YmVlbiB1cGdyYWRlZCB5ZXQgCitQQVNTIFRoZSBkZWZpbmVkIGZsYWcgb2YgYSBjdXN0b20gZWxl
bWVudCBtdXN0IGJlIHNldCB3aGVuIGEgY3VzdG9tIGVsZW1lbnQgaXMgc3VjY2Vzc2Z1bGx5IHVw
Z3JhZGVkIAorUEFTUyBUaGUgZGVmaW5lZCBmbGFnIG9mIGEgY3VzdG9tIGVsZW1lbnQgbXVzdCBi
ZSBzZXQgaWYgdGhlcmUgaXMgYSBtYXRjaGluZyBkZWZpbml0aW9uIAorUEFTUyBUaGUgZGVmaW5l
ZCBmbGFnIG9mIGEgY3VzdG9tIGVsZW1lbnQgY3JlYXRlZCBieSBIVE1MIHBhcnNlciBtdXN0IGJl
IHVuc2V0IGlmIHRoZXJlIGlzIG5vIG1hdGNoaW5nIGRlZmluaXRpb24gCitQQVNTIFRoZSBkZWZp
bmVkIGZsYWcgb2YgYSBjdXN0b20gZWxlbWVudCBjcmVhdGVkIGJ5IEhUTUwgcGFyc2VyIG11c3Qg
YmUgc2V0IGlmIHRoZXJlIGlzIGEgbWF0Y2hpbmcgZGVmaW5pdGlvbiAKK1BBU1MgVGhlIGRlZmlu
ZWQgZmxhZyBvZiBhIGN1c3RvbSBlbGVtZW50IGNyZWF0ZWQgYnkgSFRNTCBwYXJzZXIgbXVzdCBi
ZSBzZXQgYWZ0ZXIgY2hlY2tpbmcgdGhlIHJldHVybmVkIHJlc3VsdCBpcyBhbiBpbnN0YW5jZSBv
ZiBIVE1MRWxlbWVudCAKK1BBU1MgVGhlIGRlZmluZWQgZmxhZyBvZiBhIGN1c3RvbSBlbGVtZW50
IG11c3QgYmUgc2V0IGFmdGVyIGNoZWNraW5nIHRoZSByZXR1cm5lZCByZXN1bHQgaXMgYW4gaW5z
dGFuY2Ugb2YgSFRNTEVsZW1lbnQgd2hlbiB1cGdyYWRpbmcgYSBjdXN0b20gZWxlbWVudCAKKwpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvZGVmaW5lZC1wc2V1ZG8tY2xh
c3MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9k
ZWZpbmVkLXBzZXVkby1jbGFzcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9jdXN0b20tZWxlbWVudHMvZGVmaW5lZC1wc2V1ZG8tY2xhc3MuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDg0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0
bGU+Q3VzdG9tIEVsZW1lbnRzOiBUaGUgJzpkZWZpbmVkJyBwc2V1ZG8tY2xhc3MgYXBwbGllcyB0
byBlbGVtZW50cyB0aGF0IGFyZSBkZWZpbmVkLjwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIg
dGl0bGU9IlJ5b3N1a2UgTml3YSIgaHJlZj0ibWFpbHRvOnJuaXdhQHdlYmtpdC5vcmciLz4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmNvbXBvbmVudHMv
c3BlYy9jdXN0b20vI3RoZS1kZWZpbmVkLWVsZW1lbnQtcHNldWRvLWNsYXNzLWRlZmluZWQiPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3Njcmlw
dD4KKzxsaW5rIHJlbD0nc3R5bGVzaGVldCcgaHJlZj0nLi4vLi4vcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzLmNzcyc+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImxvZyI+PC9kaXY+Cis8c2NyaXB0
PgorCit2YXIgdXBncmFkZUNhbmRpZGF0ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ215LWVs
ZW1lbnQnKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgICAgYXNzZXJ0X2ZhbHNlKHVwZ3JhZGVD
YW5kaWRhdGUubWF0Y2hlcygnOmRlZmluZWQnKSk7Cit9LCAnVGhlIGRlZmluZWQgZmxhZyBvZiBh
IGN1c3RvbSBlbGVtZW50IG11c3QgYmUgc2V0IGlmIGEgY3VzdG9tIGVsZW1lbnQgaGFzIG5vdCBi
ZWVuIHVwZ3JhZGVkIHlldCcpOworCit2YXIgbWF0Y2hJbnNpZGVDb25zdHJ1Y3RvcjsKK2NsYXNz
IE15RWxlbWVudCBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgICBjb25zdHJ1Y3RvcigpIHsKKyAg
ICAgICAgc3VwZXIoKTsKKyAgICAgICAgbWF0Y2hJbnNpZGVDb25zdHJ1Y3RvciA9IHRoaXMubWF0
Y2hlcygnOmRlZmluZWQnKTsKKyAgICB9Cit9Citkb2N1bWVudC5kZWZpbmVFbGVtZW50KCdteS1l
bGVtZW50JywgTXlFbGVtZW50KTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgICAgYXNzZXJ0X3Ry
dWUodXBncmFkZUNhbmRpZGF0ZS5tYXRjaGVzKCc6ZGVmaW5lZCcpKTsKKyAgICBhc3NlcnRfZmFs
c2UobWF0Y2hJbnNpZGVDb25zdHJ1Y3RvciwgJ1VwZ3JhZGluZyBhIGN1c3RvbSBlbGVtZW50IG11
c3Qgc2V0IGRlZmluZWQgZmxhZyBhZnRlciBpbnZva2luZyB0aGUgY29uc3RydWN0b3InKTsKK30s
ICdUaGUgZGVmaW5lZCBmbGFnIG9mIGEgY3VzdG9tIGVsZW1lbnQgbXVzdCBiZSBzZXQgd2hlbiBh
IGN1c3RvbSBlbGVtZW50IGlzIHN1Y2Nlc3NmdWxseSB1cGdyYWRlZCcpOworCit0ZXN0KGZ1bmN0
aW9uICgpIHsKKyAgICB2YXIgZGVmaW5lZEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdteS1lbGVtZW50Jyk7CisgICAgYXNzZXJ0X3RydWUoZGVmaW5lZEVsZW1lbnQubWF0Y2hlcygn
OmRlZmluZWQnKSk7CisgICAgYXNzZXJ0X2ZhbHNlKG1hdGNoSW5zaWRlQ29uc3RydWN0b3IsICdD
cmVhdGluZyBhIGN1c3RvbSBlbGVtZW50IG11c3Qgc2V0IGRlZmluZWQgZmxhZyBhZnRlciBpbnZv
a2luZyB0aGUgY29uc3RydWN0b3InKTsKK30sICdUaGUgZGVmaW5lZCBmbGFnIG9mIGEgY3VzdG9t
IGVsZW1lbnQgbXVzdCBiZSBzZXQgaWYgdGhlcmUgaXMgYSBtYXRjaGluZyBkZWZpbml0aW9uJyk7
CisKK2RvY3VtZW50LndyaXRlKCc8bXktb3RoZXItZWxlbWVudD48L215LW90aGVyLWVsZW1lbnQ+
Jyk7CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICAgIHZhciBwYXJzZXJDcmVhdGVkVW5mZWZpbmVk
RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ215LW90aGVyLWVsZW1lbnQnKTsKKyAg
ICBhc3NlcnRfZmFsc2UocGFyc2VyQ3JlYXRlZFVuZmVmaW5lZEVsZW1lbnQubWF0Y2hlcygnOmRl
ZmluZWQnKSk7Cit9LCAnVGhlIGRlZmluZWQgZmxhZyBvZiBhIGN1c3RvbSBlbGVtZW50IGNyZWF0
ZWQgYnkgSFRNTCBwYXJzZXIgbXVzdCBiZSB1bnNldCBpZiB0aGVyZSBpcyBubyBtYXRjaGluZyBk
ZWZpbml0aW9uJyk7CisKK2RvY3VtZW50LndyaXRlKCc8bXktZWxlbWVudD48L215LWVsZW1lbnQ+
Jyk7CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICAgIHZhciBwYXJzZXJDcmVhdGVkRGVmaW5lZEVs
ZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdteS1lbGVtZW50Jyk7CisgICAgYXNzZXJ0
X3RydWUocGFyc2VyQ3JlYXRlZERlZmluZWRFbGVtZW50Lm1hdGNoZXMoJzpkZWZpbmVkJykpOwor
fSwgJ1RoZSBkZWZpbmVkIGZsYWcgb2YgYSBjdXN0b20gZWxlbWVudCBjcmVhdGVkIGJ5IEhUTUwg
cGFyc2VyIG11c3QgYmUgc2V0IGlmIHRoZXJlIGlzIGEgbWF0Y2hpbmcgZGVmaW5pdGlvbicpOwor
CitjbGFzcyBSZXR1cm5zQW5vdGhlck5vZGUgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CisgICAgY29u
c3RydWN0b3IoKSB7CisgICAgICAgIHN1cGVyKCk7CisgICAgICAgIG1hdGNoSW5zaWRlQ29uc3Ry
dWN0b3IgPSB0aGlzLm1hdGNoZXMoJzpkZWZpbmVkJyk7CisgICAgICAgIHJldHVybiBkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZSgnJyk7CisgICAgfQorfQorZG9jdW1lbnQuZGVmaW5lRWxlbWVudCgn
cmV0dXJucy1hbm90aGVyLW5vZGUnLCBSZXR1cm5zQW5vdGhlck5vZGUpOworCitkb2N1bWVudC53
cml0ZSgnPHJldHVybnMtYW5vdGhlci1ub2RlPjwvcmV0dXJucy1hbm90aGVyLW5vZGU+Jyk7CisK
K3Rlc3QoZnVuY3Rpb24gKCkgeworICAgIGFzc2VydF90cnVlKGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3IoJ3JldHVybnMtYW5vdGhlci1ub2RlJykubWF0Y2hlcygnOmRlZmluZWQnKSk7CisgICAgYXNz
ZXJ0X2ZhbHNlKG1hdGNoSW5zaWRlQ29uc3RydWN0b3IsCisgICAgICAgICdIVE1MIHBhcnNlciBt
dXN0IGNyZWF0ZSBhIGN1c3RvbSBlbGVtZW50IHdpdGggdGhlIGRlZmluZWQgZmxhZyBpbml0aWFs
bHkgdW5zZXQnKTsKK30sICdUaGUgZGVmaW5lZCBmbGFnIG9mIGEgY3VzdG9tIGVsZW1lbnQgY3Jl
YXRlZCBieSBIVE1MIHBhcnNlciBtdXN0IGJlIHNldCBhZnRlciBjaGVja2luZyB0aGUgcmV0dXJu
ZWQgcmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIEhUTUxFbGVtZW50Jyk7CisKK3Rlc3QoZnVuY3Rp
b24gKCkgeworICAgIHZhciBpbnN0YW5jZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3JldHVy
bnMtYW5vdGhlci1ub2RlLTInKTsKKyAgICB0cnkgeworICAgICAgICBkb2N1bWVudC5kZWZpbmVF
bGVtZW50KCdyZXR1cm5zLWFub3RoZXItbm9kZS0yJywgY2xhc3MgZXh0ZW5kcyBSZXR1cm5zQW5v
dGhlck5vZGUge30pOworICAgIH0gY2F0Y2ggKGUpIHsgfQorICAgIGFzc2VydF9mYWxzZShpbnN0
YW5jZS5tYXRjaGVzKCc6ZGVmaW5lZCcpKTsKKyAgICBhc3NlcnRfZmFsc2UobWF0Y2hJbnNpZGVD
b25zdHJ1Y3RvciwKKyAgICAgICAgJ0NyZWF0aW5nIGEgY3VzdG9tIGVsZW1lbnQgbXVzdCBsZWF2
ZSB0aGUgZGVmaW5lZCBmbGFnIHVuc2V0IHdoZW4gc3luY2hyb25vdXMgY3VzdG9tIGVsZW1lbnRz
IGZsYWcgaXMgbm90IHNldCcpOworfSwgJ1RoZSBkZWZpbmVkIGZsYWcgb2YgYSBjdXN0b20gZWxl
bWVudCBtdXN0IGJlIHNldCBhZnRlciBjaGVja2luZyB0aGUgcmV0dXJuZWQgcmVzdWx0IGlzIGFu
IGluc3RhbmNlIG9mIEhUTUxFbGVtZW50IHdoZW4gdXBncmFkaW5nIGEgY3VzdG9tIGVsZW1lbnQn
KTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2N1c3RvbS1lbGVtZW50cy9kZWZpbmVkLXJ1bGUtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9kZWZpbmVkLXJ1bGUtZXhwZWN0ZWQu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2Rl
ZmluZWQtcnVsZS1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNyBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorICAgIDxwPlRlc3QgcGFzc2VzIGlmIHlv
dSBzZWUgYSBzaW5nbGUgMTAwcHggYnkgMTAwcHggZ3JlZW4gYm94IGJlbG93LjwvcD4KKyAgICA8
ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQ6IGdyZWVu
OyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2N1c3Rv
bS1lbGVtZW50cy9kZWZpbmVkLXJ1bGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2N1c3RvbS1lbGVtZW50cy9kZWZpbmVkLXJ1bGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2RlZmluZWQtcnVsZS5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KyAgICA8dGl0bGU+Q3VzdG9tIEVsZW1lbnRzOiBUaGUgJzpkZWZpbmVkJyBwc2V1ZG8tY2xhc3Mg
YXBwbGllcyB0byBlbGVtZW50cyB0aGF0IGFyZSBkZWZpbmVkLjwvdGl0bGU+CisgICAgPGxpbmsg
cmVsPSJhdXRob3IiIHRpdGxlPSJSeW9zdWtlIE5pd2EiIGhyZWY9Im1haWx0bzpybml3YUB3ZWJr
aXQub3JnIi8+CisgICAgPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3czYy5naXRodWIu
aW8vd2ViY29tcG9uZW50cy9zcGVjL2N1c3RvbS8jdGhlLWRlZmluZWQtZWxlbWVudC1wc2V1ZG8t
Y2xhc3MtZGVmaW5lZCI+CisgICAgPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0icmVmZXJlbmNlL2dy
ZWVuLWJveC5odG1sIi8+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8c3R5bGU+CisgICAgICAgIC5i
b3ggeworICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7CisgICAgICAgICAgICB3aWR0aDogMTAw
cHg7CisgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7CisgICAgICAgIH0KKyAgICAgICAgbXktZGVm
aW5lZC1lbGVtZW50IHsgYmFja2dyb3VuZDogcmVkOyBjb2xvcjogZ3JlZW47IH0KKyAgICAgICAg
bXktZGVmaW5lZC1lbGVtZW50OmRlZmluZWQgeyBiYWNrZ3JvdW5kOiBncmVlbjsgfQorICAgICAg
ICBteS1kZWZpbmVkLWVsZW1lbnQ6bm90KDpkZWZpbmVkKSB7IGNvbG9yOiByZWQ7IH0KKworICAg
ICAgICBteS11bmRlZmluZWQtZWxlbWVudCB7IGJhY2tncm91bmQ6IGdyZWVuOyBjb2xvcjogcmVk
OyB9CisgICAgICAgIG15LXVuZGVmaW5lZC1lbGVtZW50OmRlZmluZWQgeyBiYWNrZ3JvdW5kOiBy
ZWQ7IH0KKyAgICAgICAgbXktdW5kZWZpbmVkLWVsZW1lbnQ6bm90KDpkZWZpbmVkKSB7IGNvbG9y
OiBncmVlbjsgfQorCisgICAgICAgIGRpdi5ib3ggeyBiYWNrZ3JvdW5kOiBncmVlbjsgY29sb3I6
IHJlZDsgaGVpZ2h0OiA1MHB4OyB9CisgICAgICAgIGRpdjpkZWZpbmVkIHsgY29sb3I6IGdyZWVu
OyB9CisgICAgICAgIGRpdjpub3QoOmRlZmluZWQpIHsgYmFja2dyb3VuZDogcmVkOyB9CisgICAg
PC9zdHlsZT4KKyAgICA8cD5UZXN0IHBhc3NlcyBpZiB5b3Ugc2VlIGEgc2luZ2xlIDEwMHB4IGJ5
IDEwMHB4IGdyZWVuIGJveCBiZWxvdy48L3A+CisgICAgPG15LWRlZmluZWQtZWxlbWVudCBjbGFz
cz0iYm94Ij5GQUlMPC9teS1kZWZpbmVkLWVsZW1lbnQ+CisgICAgPG15LXVuZGVmaW5lZC1lbGVt
ZW50IGNsYXNzPSJib3giPkZBSUw8L215LXVuZGVmaW5lZC1lbGVtZW50PgorICAgIDxkaXYgY2xh
c3M9ImJveCI+PC9kaXY+CisgICAgPHNjcmlwdD4KKworICAgICAgICBkb2N1bWVudC5kZWZpbmVF
bGVtZW50KCdteS1kZWZpbmVkLWVsZW1lbnQnLCBjbGFzcyBleHRlbmRzIEhUTUxFbGVtZW50IHt9
KTsKKworICAgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>273550</attachid>
            <date>2016-03-10 01:47:37 -0800</date>
            <delta_ts>2016-03-10 02:43:46 -0800</delta_ts>
            <desc>Fixed change logs</desc>
            <filename>bug-155108-20160310014724.patch</filename>
            <type>text/plain</type>
            <size>15517</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NzkyNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDE2LTAzLTEwICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCA6ZGVmaW5lZCBzdXBwb3J0
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTUxMDgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCA6
ZGVmaW5lZCBwc2V1ZG8gY2xhc3Mgd2hpY2ggYXBwbGllcyB0byBhIHN1Y2Nlc3NmdWxseSBpbnN0
YW50aWF0ZWQgY3VzdG9tIGVsZW1lbnQgb3IgYSBidWlsdGluIGVsZW1lbnQuCisgICAgICAgIEEg
bmV3IG5vZGUgZmxhZywgaXNVbnJlc29sdmVkQ3VzdG9tRWxlbWVudCwgd2hpY2ggd2FzIGFkZGVk
IGluIHIxOTc5MTcgdHJhY2tzIHVuLXVwZ3JhZGVkIC8gdW5yZXNvbHZlZCBjdXN0b20KKyAgICAg
ICAgZWxlbWVudHMgZm9yIHdoaWNoIDpkZWZpbmVkIHNob3VsZCBub3QgYXBwbHkuCisKKyAgICAg
ICAgVGVzdHM6IGZhc3QvY3VzdG9tLWVsZW1lbnRzL2RlZmluZWQtcHNldWRvLWNsYXNzLmh0bWwK
KyAgICAgICAgICAgICAgIGZhc3QvY3VzdG9tLWVsZW1lbnRzL2RlZmluZWQtcnVsZS5odG1sCisK
KyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SlNDdXN0b21FbGVtZW50SW50ZXJmYWNlOjpjb25zdHJ1Y3RFbGVtZW50
KTogVW5zZXQgaXNVbnJlc29sdmVkQ3VzdG9tRWxlbWVudCBub3cgdGhhdCBIVE1MRWxlbWVudCdz
CisgICAgICAgIGNvbnN0cnVjdG9yIHNldHMgaXNVbnJlc29sdmVkQ3VzdG9tRWxlbWVudC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9qcy9KU0hUTUxFbGVtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OmNvbnN0cnVjdEpTSFRNTEVsZW1lbnQpOiBTZXQgaXNVbnJlc29sdmVkQ3VzdG9tRWxl
bWVudCB0byB0cnVlIHNpbmNlIDpkZWZpbmVkIHNob3VsZCBuZXZlciBhcHBseSB0bworICAgICAg
ICBhIGN1c3RvbSBlbGVtZW50IGluc2lkZSBpdHMgY29uc3RydWN0b3IgYXMgSFRNTEVsZW1lbnQg
Y29uc3RydWN0b3IgZG9lcyBub3Qgc2V0IHRoZSBkZWZpbmVkIGZsYWc6CisgICAgICAgIGh0dHBz
Oi8vdzNjLmdpdGh1Yi5pby93ZWJjb21wb25lbnRzL3NwZWMvY3VzdG9tLyNodG1sZWxlbWVudC1j
b25zdHJ1Y3RvcgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KTogQWRkZWQgdGhlIHN1cHBvcnQgZm9yIHNl
cmlhbGl6aW5nIDpkZWZpbmVkLgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5oOgorICAgICAg
ICAoUHNldWRvQ2xhc3NUeXBlKTogQWRkZWQgUHNldWRvQ2xhc3NEZWZpbmVkIGZvciA6ZGVmaW5l
ZC4KKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmUpOiBBZGRlZCB0aGUgc3VwcG9ydCBmb3IgOmRlZmlu
ZWQuCisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OmlzRGVmaW5lZEVsZW1lbnQpOiBBZGRlZC4gUmV0dXJucyB0cnVlIGZvciBh
bnkgYnVpbHRpbiBlbGVtZW50IGFuZCBhIGN1c3RvbSBlbGVtZW50IGFmdGVyIGEgc3VjY2Vzc2Z1
bAorICAgICAgICBjb25zdHJ1Y3Rpb24gLyB1cGdyYWRlcy4KKyAgICAgICAgKiBjc3MvU2VsZWN0
b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmluOiBBZGRlZCA6ZGVmaW5l
ZC4KKyAgICAgICAgKiBjc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTZWxlY3RvckNvbXBpbGVyOjphZGRQc2V1ZG9DbGFzc1R5cGUpOiBBZGRlZCB0aGUgc3Vw
cG9ydCBmb3IgOmRlZmluZWQuCisKIDIwMTYtMDMtMDkgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgRXh0cmFjdCBFdmVudFBhdGguaC9jcHAgb3V0IG9mIEV2ZW50
RGlzcGF0Y2hlci5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9t
RWxlbWVudEludGVyZmFjZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNDdXN0b21FbGVtZW50SW50ZXJmYWNlLmNwcAkocmV2aXNpb24gMTk3OTI0KQorKysg
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21FbGVtZW50SW50ZXJmYWNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtOTgsNyArOTgsNyBAQCBSZWZQdHI8RWxlbWVudD4gSlNDdXN0b21F
bGVtZW50SW50ZXJmYWNlCiAgICAgRWxlbWVudCogd3JhcHBlZEVsZW1lbnQgPSBKU0VsZW1lbnQ6
OnRvV3JhcHBlZChuZXdFbGVtZW50KTsKICAgICBpZiAoIXdyYXBwZWRFbGVtZW50KQogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKLSAgICB3cmFwcGVkRWxlbWVudC0+c2V0SXNDdXN0b21FbGVtZW50
KCk7CisgICAgd3JhcHBlZEVsZW1lbnQtPnNldEN1c3RvbUVsZW1lbnRJc1Jlc29sdmVkKCk7CiAg
ICAgcmV0dXJuIHdyYXBwZWRFbGVtZW50OwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0hUTUxFbGVtZW50Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0hUTUxFbGVtZW50Q3VzdG9tLmNwcAkocmV2aXNpb24gMTk3OTI0
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRWxlbWVudEN1c3RvbS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTY2LDYgKzY2LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBjb25zdHJ1Y3RKUwogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1Vu
ZGVmaW5lZCgpKTsKIAogICAgICAgICBSZWY8SFRNTEVsZW1lbnQ+IGVsZW1lbnQgPSBIVE1MRWxl
bWVudDo6Y3JlYXRlKGludGVyZmFjZS0+bmFtZSgpLCBkb2N1bWVudCk7CisgICAgICAgIGVsZW1l
bnQtPnNldElzVW5yZXNvbHZlZEN1c3RvbUVsZW1lbnQoKTsKICAgICAgICAgYXV0byoganNFbGVt
ZW50ID0gSlNIVE1MRWxlbWVudDo6Y3JlYXRlKG5ld0VsZW1lbnRTdHJ1Y3R1cmUsIGdsb2JhbE9i
amVjdCwgZWxlbWVudC5nZXQoKSk7CiAgICAgICAgIGNhY2hlV3JhcHBlcihnbG9iYWxPYmplY3Qt
PndvcmxkKCksIGVsZW1lbnQucHRyKCksIGpzRWxlbWVudCk7CiAgICAgICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoanNFbGVtZW50KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxl
Y3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNw
cAkocmV2aXNpb24gMTk3OTI0KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNjQzLDYgKzY0MywxMSBAQCBTdHJpbmcgQ1NTU2VsZWN0b3I6
OnNlbGVjdG9yVGV4dChjb25zdCBTCiAgICAgICAgICAgICAgICAgc3RyLmFwcGVuZExpdGVyYWwo
Ijpob3N0Iik7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyNpZiBFTkFCTEUoQ1VT
VE9NX0VMRU1FTlRTKQorICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NE
ZWZpbmVkOgorICAgICAgICAgICAgICAgIHN0ci5hcHBlbmRMaXRlcmFsKCI6ZGVmaW5lZCIpOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgICAgICAgICBjYXNlIENTU1NlbGVj
dG9yOjpQc2V1ZG9DbGFzc1Vua25vd246CiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiAgICAgICAgICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0
b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAkocmV2
aXNpb24gMTk3OTI0KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE2Miw2ICsxNjIsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5B
QkxFKFNIQURPV19ET00pCiAgICAgICAgICAgICBQc2V1ZG9DbGFzc0hvc3QsCiAjZW5kaWYKKyNp
ZiBFTkFCTEUoQ1VTVE9NX0VMRU1FTlRTKQorICAgICAgICAgICAgUHNldWRvQ2xhc3NEZWZpbmVk
LAorI2VuZGlmCiAgICAgICAgIH07CiAKICAgICAgICAgZW51bSBQc2V1ZG9FbGVtZW50VHlwZSB7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAkocmV2aXNpb24gMTk3
OTI0KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTk5MSw2ICs5OTEsMTAgQEAgYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25l
KENoZWNraW5nQwogICAgICAgICAgICAgLy8gOmhvc3QgbWF0Y2hlcyBiYXNlZCBvbiBjb250ZXh0
LiBDYXNlcyB0aGF0IHJlYWNoIHNlbGVjdG9yIGNoZWNrZXIgZG9uJ3QgbWF0Y2guCiAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKKyNpZiBFTkFCTEUoQ1VTVE9NX0VMRU1FTlRTKQor
ICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0RlZmluZWQ6CisgICAgICAgICAg
ICByZXR1cm4gaXNEZWZpbmVkRWxlbWVudChlbGVtZW50KTsKKyNlbmRpZgogICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc1dpbmRvd0luYWN0aXZlOgogICAgICAgICAgICAgcmV0
dXJuIGlzV2luZG93SW5hY3RpdmUoZWxlbWVudCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nz
cy9TZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaAkocmV2aXNpb24gMTk3OTI0
KQorKysgU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaAko
d29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsMTMgQEAgQUxXQVlTX0lOTElORSBib29sIGlzRW5h
YmxlZChjb25zdCBFbGVtZQogICAgICAgICAmJiAhZWxlbWVudC5pc0Rpc2FibGVkRm9ybUNvbnRy
b2woKTsKIH0KIAorI2lmIEVOQUJMRShDVVNUT01fRUxFTUVOVFMpCitBTFdBWVNfSU5MSU5FIGJv
b2wgaXNEZWZpbmVkRWxlbWVudChjb25zdCBFbGVtZW50JiBlbGVtZW50KQoreworICAgIHJldHVy
biAhZWxlbWVudC5pc1VucmVzb2x2ZWRDdXN0b21FbGVtZW50KCk7Cit9CisjZW5kaWYKKwogQUxX
QVlTX0lOTElORSBib29sIGlzTWVkaWFEb2N1bWVudChjb25zdCBFbGVtZW50JiBlbGVtZW50KQog
ewogICAgIHJldHVybiBlbGVtZW50LmRvY3VtZW50KCkuaXNNZWRpYURvY3VtZW50KCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlF
bGVtZW50TWFwLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBz
ZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0eUVsZW1lbnRNYXAuaW4JKHJldmlzaW9uIDE5NzkyNCkK
KysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0
eUVsZW1lbnRNYXAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTc4LDMgKzc4LDcgQEAgcGFzdAogI2lm
IEVOQUJMRShTSEFET1dfRE9NKQogaG9zdAogI2VuZGlmCisKKyNpZiBFTkFCTEUoQ1VTVE9NX0VM
RU1FTlRTKQorZGVmaW5lZAorI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2Vs
ZWN0b3JDb21waWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nzaml0L1Nl
bGVjdG9yQ29tcGlsZXIuY3BwCShyZXZpc2lvbiAxOTc5MjQpCisrKyBTb3VyY2UvV2ViQ29yZS9j
c3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0Miw2ICs1NDIs
MTEgQEAgc3RhdGljIGlubGluZSBGdW5jdGlvblR5cGUgYWRkUHNldWRvQ2xhcwogICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzRW5hYmxlZDoKICAgICAgICAgZnJhZ21lbnQudW5vcHRp
bWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyKGlzRW5hYmxlZCkpOwog
ICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNoZWNrZXI7CisjaWYg
RU5BQkxFKENVU1RPTV9FTEVNRU5UUykKKyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFz
c0RlZmluZWQ6CisgICAgICAgIGZyYWdtZW50LnVub3B0aW1pemVkUHNldWRvQ2xhc3Nlcy5hcHBl
bmQoSlNDOjpGdW5jdGlvblB0cihpc0RlZmluZWRFbGVtZW50KSk7CisgICAgICAgIHJldHVybiBG
dW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKKyNlbmRpZgogICAgIGNhc2UgQ1NT
U2VsZWN0b3I6OlBzZXVkb0NsYXNzRm9jdXM6CiAgICAgICAgIGZyYWdtZW50LnVub3B0aW1pemVk
UHNldWRvQ2xhc3Nlcy5hcHBlbmQoSlNDOjpGdW5jdGlvblB0cihTZWxlY3RvckNoZWNrZXI6Om1h
dGNoZXNGb2N1c1BzZXVkb0NsYXNzKSk7CiAgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OlNp
bXBsZVNlbGVjdG9yQ2hlY2tlcjsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NzkyNCkKKysrIExheW91
dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE2LTAz
LTEwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEFkZCA6ZGVm
aW5lZCBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTUxMDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGRlZCBXM0Mgc3R5bGUgdGVzdGhhcm5lc3MuanMgdGVzdHMgYW5kIHJlZiB0ZXN0cyBm
b3IgOmRlZmluZWQgcHNldWRvIGNsYXNzLgorCisgICAgICAgICogZmFzdC9jdXN0b20tZWxlbWVu
dHMvZGVmaW5lZC1wc2V1ZG8tY2xhc3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2N1c3RvbS1lbGVtZW50cy9kZWZpbmVkLXBzZXVkby1jbGFzcy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2N1c3RvbS1lbGVtZW50cy9kZWZpbmVkLXJ1bGUtZXhwZWN0ZWQuaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC9jdXN0b20tZWxlbWVudHMvZGVmaW5lZC1ydWxlLmh0bWw6
IEFkZGVkLgorCiAyMDE2LTAzLTA5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgog
CiAgICAgICAgIGRlZmluZUVsZW1lbnQgc2hvdWxkIHVwZ3JhZGUgZXhpc3RpbmcgdW5yZXNvbHZl
ZCBjdXN0b20gZWxlbWVudHMKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRz
L2RlZmluZWQtcHNldWRvLWNsYXNzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9kZWZpbmVkLXBzZXVkby1jbGFzcy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9kZWZp
bmVkLXBzZXVkby1jbGFzcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw5
IEBACisKK1BBU1MgVGhlIGRlZmluZWQgZmxhZyBvZiBhIGN1c3RvbSBlbGVtZW50IG11c3QgYmUg
c2V0IGlmIGEgY3VzdG9tIGVsZW1lbnQgaGFzIG5vdCBiZWVuIHVwZ3JhZGVkIHlldCAKK1BBU1Mg
VGhlIGRlZmluZWQgZmxhZyBvZiBhIGN1c3RvbSBlbGVtZW50IG11c3QgYmUgc2V0IHdoZW4gYSBj
dXN0b20gZWxlbWVudCBpcyBzdWNjZXNzZnVsbHkgdXBncmFkZWQgCitQQVNTIFRoZSBkZWZpbmVk
IGZsYWcgb2YgYSBjdXN0b20gZWxlbWVudCBtdXN0IGJlIHNldCBpZiB0aGVyZSBpcyBhIG1hdGNo
aW5nIGRlZmluaXRpb24gCitQQVNTIFRoZSBkZWZpbmVkIGZsYWcgb2YgYSBjdXN0b20gZWxlbWVu
dCBjcmVhdGVkIGJ5IEhUTUwgcGFyc2VyIG11c3QgYmUgdW5zZXQgaWYgdGhlcmUgaXMgbm8gbWF0
Y2hpbmcgZGVmaW5pdGlvbiAKK1BBU1MgVGhlIGRlZmluZWQgZmxhZyBvZiBhIGN1c3RvbSBlbGVt
ZW50IGNyZWF0ZWQgYnkgSFRNTCBwYXJzZXIgbXVzdCBiZSBzZXQgaWYgdGhlcmUgaXMgYSBtYXRj
aGluZyBkZWZpbml0aW9uIAorUEFTUyBUaGUgZGVmaW5lZCBmbGFnIG9mIGEgY3VzdG9tIGVsZW1l
bnQgY3JlYXRlZCBieSBIVE1MIHBhcnNlciBtdXN0IGJlIHNldCBhZnRlciBjaGVja2luZyB0aGUg
cmV0dXJuZWQgcmVzdWx0IGlzIGFuIGluc3RhbmNlIG9mIEhUTUxFbGVtZW50IAorUEFTUyBUaGUg
ZGVmaW5lZCBmbGFnIG9mIGEgY3VzdG9tIGVsZW1lbnQgbXVzdCBiZSBzZXQgYWZ0ZXIgY2hlY2tp
bmcgdGhlIHJldHVybmVkIHJlc3VsdCBpcyBhbiBpbnN0YW5jZSBvZiBIVE1MRWxlbWVudCB3aGVu
IHVwZ3JhZGluZyBhIGN1c3RvbSBlbGVtZW50IAorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2N1
c3RvbS1lbGVtZW50cy9kZWZpbmVkLXBzZXVkby1jbGFzcy5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2RlZmluZWQtcHNldWRvLWNsYXNzLmh0bWwJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2N1c3RvbS1lbGVtZW50cy9kZWZpbmVk
LXBzZXVkby1jbGFzcy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsODQgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5DdXN0b20gRWxlbWVudHM6IFRoZSAn
OmRlZmluZWQnIHBzZXVkby1jbGFzcyBhcHBsaWVzIHRvIGVsZW1lbnRzIHRoYXQgYXJlIGRlZmlu
ZWQuPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iUnlvc3VrZSBOaXdhIiBocmVm
PSJtYWlsdG86cm5pd2FAd2Via2l0Lm9yZyIvPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRw
czovL3czYy5naXRodWIuaW8vd2ViY29tcG9uZW50cy9zcGVjL2N1c3RvbS8jdGhlLWRlZmluZWQt
ZWxlbWVudC1wc2V1ZG8tY2xhc3MtZGVmaW5lZCI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPGxpbmsgcmVsPSdzdHlsZXNoZWV0
JyBocmVmPScuLi8uLi9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuY3NzJz4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3ZhciB1cGdyYWRlQ2FuZGlkYXRl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbXktZWxlbWVudCcpOworCit0ZXN0KGZ1bmN0aW9u
ICgpIHsKKyAgICBhc3NlcnRfZmFsc2UodXBncmFkZUNhbmRpZGF0ZS5tYXRjaGVzKCc6ZGVmaW5l
ZCcpKTsKK30sICdUaGUgZGVmaW5lZCBmbGFnIG9mIGEgY3VzdG9tIGVsZW1lbnQgbXVzdCBiZSBz
ZXQgaWYgYSBjdXN0b20gZWxlbWVudCBoYXMgbm90IGJlZW4gdXBncmFkZWQgeWV0Jyk7CisKK3Zh
ciBtYXRjaEluc2lkZUNvbnN0cnVjdG9yOworY2xhc3MgTXlFbGVtZW50IGV4dGVuZHMgSFRNTEVs
ZW1lbnQgeworICAgIGNvbnN0cnVjdG9yKCkgeworICAgICAgICBzdXBlcigpOworICAgICAgICBt
YXRjaEluc2lkZUNvbnN0cnVjdG9yID0gdGhpcy5tYXRjaGVzKCc6ZGVmaW5lZCcpOworICAgIH0K
K30KK2RvY3VtZW50LmRlZmluZUVsZW1lbnQoJ215LWVsZW1lbnQnLCBNeUVsZW1lbnQpOworCit0
ZXN0KGZ1bmN0aW9uICgpIHsKKyAgICBhc3NlcnRfdHJ1ZSh1cGdyYWRlQ2FuZGlkYXRlLm1hdGNo
ZXMoJzpkZWZpbmVkJykpOworICAgIGFzc2VydF9mYWxzZShtYXRjaEluc2lkZUNvbnN0cnVjdG9y
LCAnVXBncmFkaW5nIGEgY3VzdG9tIGVsZW1lbnQgbXVzdCBzZXQgZGVmaW5lZCBmbGFnIGFmdGVy
IGludm9raW5nIHRoZSBjb25zdHJ1Y3RvcicpOworfSwgJ1RoZSBkZWZpbmVkIGZsYWcgb2YgYSBj
dXN0b20gZWxlbWVudCBtdXN0IGJlIHNldCB3aGVuIGEgY3VzdG9tIGVsZW1lbnQgaXMgc3VjY2Vz
c2Z1bGx5IHVwZ3JhZGVkJyk7CisKK3Rlc3QoZnVuY3Rpb24gKCkgeworICAgIHZhciBkZWZpbmVk
RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ215LWVsZW1lbnQnKTsKKyAgICBhc3Nl
cnRfdHJ1ZShkZWZpbmVkRWxlbWVudC5tYXRjaGVzKCc6ZGVmaW5lZCcpKTsKKyAgICBhc3NlcnRf
ZmFsc2UobWF0Y2hJbnNpZGVDb25zdHJ1Y3RvciwgJ0NyZWF0aW5nIGEgY3VzdG9tIGVsZW1lbnQg
bXVzdCBzZXQgZGVmaW5lZCBmbGFnIGFmdGVyIGludm9raW5nIHRoZSBjb25zdHJ1Y3RvcicpOwor
fSwgJ1RoZSBkZWZpbmVkIGZsYWcgb2YgYSBjdXN0b20gZWxlbWVudCBtdXN0IGJlIHNldCBpZiB0
aGVyZSBpcyBhIG1hdGNoaW5nIGRlZmluaXRpb24nKTsKKworZG9jdW1lbnQud3JpdGUoJzxteS1v
dGhlci1lbGVtZW50PjwvbXktb3RoZXItZWxlbWVudD4nKTsKKwordGVzdChmdW5jdGlvbiAoKSB7
CisgICAgdmFyIHBhcnNlckNyZWF0ZWRVbmZlZmluZWRFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlT
ZWxlY3RvcignbXktb3RoZXItZWxlbWVudCcpOworICAgIGFzc2VydF9mYWxzZShwYXJzZXJDcmVh
dGVkVW5mZWZpbmVkRWxlbWVudC5tYXRjaGVzKCc6ZGVmaW5lZCcpKTsKK30sICdUaGUgZGVmaW5l
ZCBmbGFnIG9mIGEgY3VzdG9tIGVsZW1lbnQgY3JlYXRlZCBieSBIVE1MIHBhcnNlciBtdXN0IGJl
IHVuc2V0IGlmIHRoZXJlIGlzIG5vIG1hdGNoaW5nIGRlZmluaXRpb24nKTsKKworZG9jdW1lbnQu
d3JpdGUoJzxteS1lbGVtZW50PjwvbXktZWxlbWVudD4nKTsKKwordGVzdChmdW5jdGlvbiAoKSB7
CisgICAgdmFyIHBhcnNlckNyZWF0ZWREZWZpbmVkRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoJ215LWVsZW1lbnQnKTsKKyAgICBhc3NlcnRfdHJ1ZShwYXJzZXJDcmVhdGVkRGVmaW5l
ZEVsZW1lbnQubWF0Y2hlcygnOmRlZmluZWQnKSk7Cit9LCAnVGhlIGRlZmluZWQgZmxhZyBvZiBh
IGN1c3RvbSBlbGVtZW50IGNyZWF0ZWQgYnkgSFRNTCBwYXJzZXIgbXVzdCBiZSBzZXQgaWYgdGhl
cmUgaXMgYSBtYXRjaGluZyBkZWZpbml0aW9uJyk7CisKK2NsYXNzIFJldHVybnNBbm90aGVyTm9k
ZSBleHRlbmRzIEhUTUxFbGVtZW50IHsKKyAgICBjb25zdHJ1Y3RvcigpIHsKKyAgICAgICAgc3Vw
ZXIoKTsKKyAgICAgICAgbWF0Y2hJbnNpZGVDb25zdHJ1Y3RvciA9IHRoaXMubWF0Y2hlcygnOmRl
ZmluZWQnKTsKKyAgICAgICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCcnKTsKKyAg
ICB9Cit9Citkb2N1bWVudC5kZWZpbmVFbGVtZW50KCdyZXR1cm5zLWFub3RoZXItbm9kZScsIFJl
dHVybnNBbm90aGVyTm9kZSk7CisKK2RvY3VtZW50LndyaXRlKCc8cmV0dXJucy1hbm90aGVyLW5v
ZGU+PC9yZXR1cm5zLWFub3RoZXItbm9kZT4nKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgICAg
YXNzZXJ0X3RydWUoZG9jdW1lbnQucXVlcnlTZWxlY3RvcigncmV0dXJucy1hbm90aGVyLW5vZGUn
KS5tYXRjaGVzKCc6ZGVmaW5lZCcpKTsKKyAgICBhc3NlcnRfZmFsc2UobWF0Y2hJbnNpZGVDb25z
dHJ1Y3RvciwKKyAgICAgICAgJ0hUTUwgcGFyc2VyIG11c3QgY3JlYXRlIGEgY3VzdG9tIGVsZW1l
bnQgd2l0aCB0aGUgZGVmaW5lZCBmbGFnIGluaXRpYWxseSB1bnNldCcpOworfSwgJ1RoZSBkZWZp
bmVkIGZsYWcgb2YgYSBjdXN0b20gZWxlbWVudCBjcmVhdGVkIGJ5IEhUTUwgcGFyc2VyIG11c3Qg
YmUgc2V0IGFmdGVyIGNoZWNraW5nIHRoZSByZXR1cm5lZCByZXN1bHQgaXMgYW4gaW5zdGFuY2Ug
b2YgSFRNTEVsZW1lbnQnKTsKKwordGVzdChmdW5jdGlvbiAoKSB7CisgICAgdmFyIGluc3RhbmNl
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgncmV0dXJucy1hbm90aGVyLW5vZGUtMicpOworICAg
IHRyeSB7CisgICAgICAgIGRvY3VtZW50LmRlZmluZUVsZW1lbnQoJ3JldHVybnMtYW5vdGhlci1u
b2RlLTInLCBjbGFzcyBleHRlbmRzIFJldHVybnNBbm90aGVyTm9kZSB7fSk7CisgICAgfSBjYXRj
aCAoZSkgeyB9CisgICAgYXNzZXJ0X2ZhbHNlKGluc3RhbmNlLm1hdGNoZXMoJzpkZWZpbmVkJykp
OworICAgIGFzc2VydF9mYWxzZShtYXRjaEluc2lkZUNvbnN0cnVjdG9yLAorICAgICAgICAnQ3Jl
YXRpbmcgYSBjdXN0b20gZWxlbWVudCBtdXN0IGxlYXZlIHRoZSBkZWZpbmVkIGZsYWcgdW5zZXQg
d2hlbiBzeW5jaHJvbm91cyBjdXN0b20gZWxlbWVudHMgZmxhZyBpcyBub3Qgc2V0Jyk7Cit9LCAn
VGhlIGRlZmluZWQgZmxhZyBvZiBhIGN1c3RvbSBlbGVtZW50IG11c3QgYmUgc2V0IGFmdGVyIGNo
ZWNraW5nIHRoZSByZXR1cm5lZCByZXN1bHQgaXMgYW4gaW5zdGFuY2Ugb2YgSFRNTEVsZW1lbnQg
d2hlbiB1cGdyYWRpbmcgYSBjdXN0b20gZWxlbWVudCcpOworCis8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2RlZmluZWQt
cnVsZS1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3VzdG9t
LWVsZW1lbnRzL2RlZmluZWQtcnVsZS1leHBlY3RlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxlbWVudHMvZGVmaW5lZC1ydWxlLWV4cGVjdGVkLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGJvZHk+CisgICAgPHA+VGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIHNpbmdsZSAxMDBweCBieSAx
MDBweCBncmVlbiBib3ggYmVsb3cuPC9wPgorICAgIDxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsg
aGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZDogZ3JlZW47Ij48L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2RlZmluZWQtcnVsZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3VzdG9tLWVsZW1lbnRzL2RlZmlu
ZWQtcnVsZS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jdXN0b20tZWxl
bWVudHMvZGVmaW5lZC1ydWxlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDx0aXRsZT5DdXN0b20gRWxlbWVu
dHM6IFRoZSAnOmRlZmluZWQnIHBzZXVkby1jbGFzcyBhcHBsaWVzIHRvIGVsZW1lbnRzIHRoYXQg
YXJlIGRlZmluZWQuPC90aXRsZT4KKyAgICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IlJ5b3N1
a2UgTml3YSIgaHJlZj0ibWFpbHRvOnJuaXdhQHdlYmtpdC5vcmciLz4KKyAgICA8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJjb21wb25lbnRzL3NwZWMvY3Vz
dG9tLyN0aGUtZGVmaW5lZC1lbGVtZW50LXBzZXVkby1jbGFzcy1kZWZpbmVkIj4KKyAgICA8bGlu
ayByZWw9Im1hdGNoIiBocmVmPSJyZWZlcmVuY2UvZ3JlZW4tYm94Lmh0bWwiLz4KKzwvaGVhZD4K
Kzxib2R5PgorICAgIDxzdHlsZT4KKyAgICAgICAgLmJveCB7CisgICAgICAgICAgICBkaXNwbGF5
OiBibG9jazsKKyAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgICAgICAgIGhlaWdodDog
MjVweDsKKyAgICAgICAgfQorICAgICAgICBteS1kZWZpbmVkLWVsZW1lbnQgeyBiYWNrZ3JvdW5k
OiByZWQ7IGNvbG9yOiBncmVlbjsgfQorICAgICAgICBteS1kZWZpbmVkLWVsZW1lbnQ6ZGVmaW5l
ZCB7IGJhY2tncm91bmQ6IGdyZWVuOyB9CisgICAgICAgIG15LWRlZmluZWQtZWxlbWVudDpub3Qo
OmRlZmluZWQpIHsgY29sb3I6IHJlZDsgfQorCisgICAgICAgIG15LXVuZGVmaW5lZC1lbGVtZW50
IHsgYmFja2dyb3VuZDogZ3JlZW47IGNvbG9yOiByZWQ7IH0KKyAgICAgICAgbXktdW5kZWZpbmVk
LWVsZW1lbnQ6ZGVmaW5lZCB7IGJhY2tncm91bmQ6IHJlZDsgfQorICAgICAgICBteS11bmRlZmlu
ZWQtZWxlbWVudDpub3QoOmRlZmluZWQpIHsgY29sb3I6IGdyZWVuOyB9CisKKyAgICAgICAgZGl2
LmJveCB7IGJhY2tncm91bmQ6IGdyZWVuOyBjb2xvcjogcmVkOyBoZWlnaHQ6IDUwcHg7IH0KKyAg
ICAgICAgZGl2OmRlZmluZWQgeyBjb2xvcjogZ3JlZW47IH0KKyAgICAgICAgZGl2Om5vdCg6ZGVm
aW5lZCkgeyBiYWNrZ3JvdW5kOiByZWQ7IH0KKyAgICA8L3N0eWxlPgorICAgIDxwPlRlc3QgcGFz
c2VzIGlmIHlvdSBzZWUgYSBzaW5nbGUgMTAwcHggYnkgMTAwcHggZ3JlZW4gYm94IGJlbG93Ljwv
cD4KKyAgICA8bXktZGVmaW5lZC1lbGVtZW50IGNsYXNzPSJib3giPkZBSUw8L215LWRlZmluZWQt
ZWxlbWVudD4KKyAgICA8bXktdW5kZWZpbmVkLWVsZW1lbnQgY2xhc3M9ImJveCI+RkFJTDwvbXkt
dW5kZWZpbmVkLWVsZW1lbnQ+CisgICAgPGRpdiBjbGFzcz0iYm94Ij48L2Rpdj4KKyAgICA8c2Ny
aXB0PgorCisgICAgICAgIGRvY3VtZW50LmRlZmluZUVsZW1lbnQoJ215LWRlZmluZWQtZWxlbWVu
dCcsIGNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQge30pOworCisgICAgPC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="298144"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>