<?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>154226</bug_id>
          
          <creation_ts>2016-02-14 07:11:02 -0800</creation_ts>
          <short_desc>Add test for class change style invalidation optimization</short_desc>
          <delta_ts>2016-02-15 02:31:04 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>kling</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1164620</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-02-14 07:11:02 -0800</bug_when>
    <thetext>Test for https://trac.webkit.org/r196383</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164621</commentid>
    <comment_count>1</comment_count>
      <attachid>271309</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-02-14 07:16:40 -0800</bug_when>
    <thetext>Created attachment 271309
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164622</commentid>
    <comment_count>2</comment_count>
      <attachid>271310</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-02-14 07:27:43 -0800</bug_when>
    <thetext>Created attachment 271310
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164623</commentid>
    <comment_count>3</comment_count>
      <attachid>271311</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-02-14 07:52:11 -0800</bug_when>
    <thetext>Created attachment 271311
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1164704</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2016-02-15 02:31:04 -0800</bug_when>
    <thetext>https://trac.webkit.org/r196575</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271309</attachid>
            <date>2016-02-14 07:16:40 -0800</date>
            <delta_ts>2016-02-14 07:27:43 -0800</delta_ts>
            <desc>patch</desc>
            <filename>class-change-test.patch</filename>
            <type>text/plain</type>
            <size>13070</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NjU2MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE2LTAyLTE0ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgdGVzdCBmb3IgY2xhc3Mg
Y2hhbmdlIHN0eWxlIGludmFsaWRhdGlvbiBvcHRpbWl6YXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDIyNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgZm9yIGh0dHBzOi8vdHJhYy53ZWJr
aXQub3JnL3IxOTYzODMKKworICAgICAgICBBZGQgaW50ZXJuYWxzLnN0eWxlQ2hhbmdlVHlwZSBm
dW5jdGlvbi4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tY2xh
c3MtY2hhbmdlLWRlc2NlbmRhbnRzLmh0bWwKKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6bm9kZU5lZWRzU3R5bGVSZWNhbGMp
OgorICAgICAgICAoV2ViQ29yZTo6YXNTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxzOjpzdHlsZUNoYW5nZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpkZXNj
cmlwdGlvbik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTYtMDItMTMgIEFudHRpIEtvaXZpc3RvICA8YW50dGlA
YXBwbGUuY29tPgogCiAgICAgICAgIEZhY3RvciBjbGFzcyBjaGFuZ2Ugc3R5bGUgaW52YWxpZGF0
aW9uIGNvZGUgaW50byBhIGNsYXNzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCShyZXZpc2lvbiAxOTY1NTkpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2NCw2ICs0NjQsMzIgQEAgYm9vbCBJbnRlcm5hbHM6
Om5vZGVOZWVkc1N0eWxlUmVjYWxjKE5vZAogICAgIHJldHVybiBub2RlLT5uZWVkc1N0eWxlUmVj
YWxjKCk7CiB9CiAKK3N0YXRpYyBTdHJpbmcgYXNTdHJpbmcoU3R5bGVDaGFuZ2VUeXBlIHR5cGUp
Cit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBOb1N0eWxlQ2hhbmdlOgorICAgICAg
ICByZXR1cm4gIk5vU3R5bGVDaGFuZ2UiOworICAgIGNhc2UgSW5saW5lU3R5bGVDaGFuZ2U6Cisg
ICAgICAgIHJldHVybiAiSW5saW5lU3R5bGVDaGFuZ2UiOworICAgIGNhc2UgRnVsbFN0eWxlQ2hh
bmdlOgorICAgICAgICByZXR1cm4gIkZ1bGxTdHlsZUNoYW5nZSI7CisgICAgY2FzZSBTeW50aGV0
aWNTdHlsZUNoYW5nZToKKyAgICAgICAgcmV0dXJuICJTeW50aGV0aWNTdHlsZUNoYW5nZSI7Cisg
ICAgY2FzZSBSZWNvbnN0cnVjdFJlbmRlclRyZWU6CisgICAgICAgIHJldHVybiAiUmVjb25zdHJ1
Y3RSZW5kZXJUcmVlIjsKKyAgICB9Cit9CisKK1N0cmluZyBJbnRlcm5hbHM6OnN0eWxlQ2hhbmdl
VHlwZShOb2RlKiBub2RlLCBFeGNlcHRpb25Db2RlJiBleGNlcHRpb24pCit7CisgICAgaWYgKCFu
b2RlKSB7CisgICAgICAgIGV4Y2VwdGlvbiA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICByZXR1cm4gYXNTdHJpbmcobm9kZS0+c3R5bGVDaGFu
Z2VUeXBlKCkpOworfQorCiBTdHJpbmcgSW50ZXJuYWxzOjpkZXNjcmlwdGlvbihEZXByZWNhdGVk
OjpTY3JpcHRWYWx1ZSB2YWx1ZSkKIHsKICAgICByZXR1cm4gdG9TdHJpbmcodmFsdWUuanNWYWx1
ZSgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMTk2NTU5
KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpA
QCAtODksNiArODksNyBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgYWRkcmVzcyhOb2RlKik7CiAg
ICAgYm9vbCBub2RlTmVlZHNTdHlsZVJlY2FsYyhOb2RlKiwgRXhjZXB0aW9uQ29kZSYpOworICAg
IFN0cmluZyBzdHlsZUNoYW5nZVR5cGUoTm9kZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBTdHJp
bmcgZGVzY3JpcHRpb24oRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUpOwogCiAgICAgYm9vbCBpc1By
ZWxvYWRlZChjb25zdCBTdHJpbmcmIHVybCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsCShyZXZpc2lvbiAxOTY1NTkpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTY4LDYgKzY4LDcgQEAgZW51bSBBdXRvRmls
bEJ1dHRvblR5cGUgewogXSBpbnRlcmZhY2UgSW50ZXJuYWxzIHsKICAgICBET01TdHJpbmcgYWRk
cmVzcyhOb2RlIG5vZGUpOwogICAgIFtSYWlzZXNFeGNlcHRpb25dIGJvb2xlYW4gbm9kZU5lZWRz
U3R5bGVSZWNhbGMoTm9kZSBub2RlKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSBET01TdHJpbmcg
c3R5bGVDaGFuZ2VUeXBlKE5vZGUgbm9kZSk7CiAgICAgRE9NU3RyaW5nIGRlc2NyaXB0aW9uKGFu
eSB2YWx1ZSk7CiAKICAgICAvLyBBbmltYXRlZCBpbWFnZSBwYXVzaW5nIHRlc3RpbmcuCkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxOTY1NTkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxNi0wMi0xNCAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHRlc3QgZm9yIGNsYXNzIGNoYW5nZSBzdHlsZSBp
bnZhbGlkYXRpb24gb3B0aW1pemF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTQyMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUZXN0IGZvciBodHRwczovL3RyYWMud2Via2l0Lm9yZy9yMTk2Mzgz
CisKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tY2xhc3MtY2hhbmdlLWRl
c2NlbmRhbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUt
aW52YWxpZGF0aW9uLWNsYXNzLWNoYW5nZS1kZXNjZW5kYW50cy5odG1sOiBBZGRlZC4KKwogMjAx
Ni0wMi0xMiAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJbXBs
ZW1lbnQgcGFyYWdyYXBoIHJlbGF0ZWQgdGV4dCBtYXJrZXIgZnVuY3Rpb25zIHVzaW5nIFRleHRJ
dGVyYXRvcgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWNs
YXNzLWNoYW5nZS1kZXNjZW5kYW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWNsYXNzLWNoYW5nZS1kZXNjZW5kYW50
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHls
ZS1pbnZhbGlkYXRpb24tY2xhc3MtY2hhbmdlLWRlc2NlbmRhbnRzLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDc3IEBACitUZXN0IHRoYXQgd2UgaW52YWxpZGF0ZSB0aGUg
ZWxlbWVudCBzdWJ0cmVlIG1pbmltYWxseSBvbiBjbGFzcyBhdHRyaWJ1dGUgY2hhbmdlCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJv
b3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5s
aW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdl
dCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJp
bmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyBoYXNFeHBlY3RlZFN0eWxlIGlz
IHRydWUKK0FkZGluZyBjbGFzcyBOb3RUaGVyZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJy
b290IiwgIk5vU3R5bGVDaGFuZ2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklu
bGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJn
ZXQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgi
aW5lcnQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRydWUKK0FkZGluZyBjbGFzcyBzdHlsZTEKK1BB
U1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0
eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1Mg
dGVzdFN0eWxlQ2hhbmdlVHlwZSgidGFyZ2V0IiwgIklubGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1
ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMg
dHJ1ZQorUEFTUyBoYXNFeHBlY3RlZFN0eWxlIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdl
VHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9v
dCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlw
ZSgidGFyZ2V0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5n
ZVR5cGUoImluZXJ0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitBZGRpbmcgY2xhc3Mgc3R5
bGUyCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8
IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVl
CitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJbmxpbmVTdHlsZUNoYW5nZSIp
IGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNoYW5n
ZSIpIGlzIHRydWUKK1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0cnVlCitQQVNTIHRlc3RTdHls
ZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5
cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNo
YW5nZVR5cGUoInRhcmdldCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5
bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUmVtb3Zpbmcg
Y2xhc3Mgc3R5bGUyCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNo
YW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2Ui
KSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJbmxpbmVTdHls
ZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9T
dHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0cnVlCitQQVNT
IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHls
ZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRl
c3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFT
UyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQor
QWRkaW5nIGNsYXNzIHN0eWxlMworUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5v
U3R5bGVDaGFuZ2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklubGluZVN0eWxl
Q2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiSW5s
aW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoImluZXJ0
IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIGhhc0V4cGVjdGVkU3R5bGUgaXMgdHJ1
ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5vU3R5bGVDaGFuZ2UiKSB8fCB0
ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklubGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1ZQor
UEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRy
dWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNoYW5nZSIpIGlz
IHRydWUKK1JlbW92aW5nIGNsYXNzIHN0eWxlMworUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJy
b290IiwgIk5vU3R5bGVDaGFuZ2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklu
bGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJn
ZXQiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5
cGUoImluZXJ0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIGhhc0V4cGVjdGVkU3R5
bGUgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5vU3R5bGVDaGFu
Z2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklubGluZVN0eWxlQ2hhbmdlIikg
aXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiTm9TdHlsZUNoYW5n
ZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNo
YW5nZSIpIGlzIHRydWUKK0FkZGluZyBjbGFzcyBzdHlsZTQKK1BBU1MgdGVzdFN0eWxlQ2hhbmdl
VHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9v
dCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlw
ZSgidGFyZ2V0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5n
ZVR5cGUoImluZXJ0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIGhhc0V4cGVjdGVk
U3R5bGUgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5vU3R5bGVD
aGFuZ2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklubGluZVN0eWxlQ2hhbmdl
IikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiTm9TdHlsZUNo
YW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHls
ZUNoYW5nZSIpIGlzIHRydWUKK1JlbW92aW5nIGNsYXNzIE5vdFRoZXJlCitQQVNTIHRlc3RTdHls
ZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5
cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNo
YW5nZVR5cGUoInRhcmdldCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5
bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUmVtb3Zpbmcg
Y2xhc3Mgc3R5bGUxCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNo
YW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2Ui
KSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJbmxpbmVTdHls
ZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9T
dHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0cnVlCitQQVNT
IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHls
ZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRl
c3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFT
UyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1jbGFzcy1jaGFuZ2UtZGVz
Y2VuZGFudHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1p
bnZhbGlkYXRpb24tY2xhc3MtY2hhbmdlLWRlc2NlbmRhbnRzLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tY2xhc3MtY2hhbmdlLWRl
c2NlbmRhbnRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNTEgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorKiB7CisgICAgY29sb3I6IGJsYWNrOwor
fQorcm9vdC5zdHlsZTEgdGFyZ2V0IHsKKyAgICBjb2xvcjogcmdiKDEsIDEsIDEpOworfQorCity
b290LnN0eWxlMiA+IGluZXJ0IHRhcmdldCB7CisgICAgY29sb3I6IHJnYigyLCAyLCAyKTsKK30K
Kworcm9vdC5zdHlsZTMgaW5lcnQgKyB0YXJnZXQgeworICAgIGNvbG9yOiByZ2IoMywgMywgMyk7
Cit9CisKK3Jvb3Quc3R5bGU0ID4gdGFyZ2V0IHsKKyAgICBjb2xvcjogcmdiKDQsIDQsIDQpOwor
fQorCis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHJvb3Q+CisgICAgICAgIDwhLS0g
V2l0aCByZW5kZXJlciAtLT4KKyAgICAgICAgPGluZXJ0PgorICAgICAgICAgICAgPGluZXJ0Pgor
ICAgICAgICAgICAgICAgIDxpbmVydD48L2luZXJ0PgorICAgICAgICAgICAgICAgIDx0YXJnZXQ+
CisgICAgICAgICAgICAgICAgICAgIDxpbmVydD48L2luZXJ0PgorICAgICAgICAgICAgICAgIDwv
dGFyZ2V0PgorICAgICAgICAgICAgPC9pbmVydD4KKyAgICAgICAgICAgIDx0YXJnZXQ+PC90YXJn
ZXQ+CisgICAgICAgICAgICA8aW5lcnQ+PC9pbmVydD4KKyAgICAgICAgPC9pbmVydD4KKyAgICA8
L3Jvb3Q+CisgICAgPHJvb3Qgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgorICAgICAgICA8IS0tIFdp
dGhvdXQgcmVuZGVyZXIgLS0+CisgICAgICAgIDxpbmVydD4KKyAgICAgICAgICAgIDxpbmVydD4K
KyAgICAgICAgICAgICAgICA8aW5lcnQ+PC9pbmVydD4KKyAgICAgICAgICAgICAgICA8dGFyZ2V0
PgorICAgICAgICAgICAgICAgICAgICA8aW5lcnQ+PC9pbmVydD4KKyAgICAgICAgICAgICAgICA8
L3RhcmdldD4KKyAgICAgICAgICAgIDwvaW5lcnQ+CisgICAgICAgICAgICA8dGFyZ2V0PjwvdGFy
Z2V0PgorICAgICAgICAgICAgPGluZXJ0PjwvaW5lcnQ+CisgICAgICAgIDwvaW5lcnQ+CisgICAg
PC9yb290PgorPC9ib2R5PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB3ZSBp
bnZhbGlkYXRlIHRoZSBlbGVtZW50IHN1YnRyZWUgbWluaW1hbGx5IG9uIGNsYXNzIGF0dHJpYnV0
ZSBjaGFuZ2UnKTsKKworZnVuY3Rpb24gdGVzdFN0eWxlQ2hhbmdlVHlwZSh0YWcsIHR5cGUpCit7
CisgICAgdmFyIGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0YWcpOworICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbWVudHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaWYg
KHdpbmRvdy5pbnRlcm5hbHMuc3R5bGVDaGFuZ2VUeXBlKGVsZW1lbnRzW2ldKSAhPSB0eXBlKQor
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwor
ZnVuY3Rpb24gdGVzdFN0eWxlSW52YWxpZGF0aW9uKGV4cGVjdGVkRGVzY2VuZGFudFN0eWxlQ2hh
bmdlKSB7CisgICAgLy8gSWRlYWxseSB3ZSB3b3VsZCd0IGludmFsaWRhdGUgdGhlIHJvb3QgYXQg
YWxsLgorICAgIHNob3VsZEJlVHJ1ZSgndGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJOb1N0
eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJJbmxpbmVTdHlsZUNo
YW5nZSIpJyk7CisKKyAgICBzaG91bGRCZVRydWUoJ3Rlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdl
dCIsICInICsgZXhwZWN0ZWREZXNjZW5kYW50U3R5bGVDaGFuZ2UgKyciKScpOworCisgICAgc2hv
dWxkQmVUcnVlKCd0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikn
KTsKK30KKworZnVuY3Rpb24gYWRkQ2xhc3MobmFtZSkgeworICAgIGRlYnVnKCJBZGRpbmcgY2xh
c3MgIiArIG5hbWUpOworICAgIHZhciBhbGxSb290cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoInJvb3QiKTsKKyAgICBhbGxSb290c1swXS5jbGFzc0xpc3QuYWRkKG5hbWUpOworICAgIGFs
bFJvb3RzWzFdLmNsYXNzTGlzdC5hZGQobmFtZSk7Cit9CisKK2Z1bmN0aW9uIHJlbW92ZUNsYXNz
KG5hbWUpIHsKKyAgICBkZWJ1ZygiUmVtb3ZpbmcgY2xhc3MgIiArIG5hbWUpOworICAgIHZhciBh
bGxSb290cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInJvb3QiKTsKKyAgICBhbGxSb290
c1swXS5jbGFzc0xpc3QucmVtb3ZlKG5hbWUpOworICAgIGFsbFJvb3RzWzFdLmNsYXNzTGlzdC5y
ZW1vdmUobmFtZSk7Cit9CisKK2Z1bmN0aW9uIGNoZWNrU3R5bGUobikgeworICAgIGhhc0V4cGVj
dGVkU3R5bGUgPSB0cnVlOworICAgIGV4cGVjdGVkQ29sb3IgPSAncmdiKCcrbisnLCAnK24rJywg
JytuKycpJzsKKyAgICB2YXIgdGFyZ2V0cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRh
cmdldCIpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGFyZ2V0cy5sZW5ndGg7ICsraSkgewor
ICAgICAgICBoYXNFeHBlY3RlZFN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZSh0YXJnZXRzW2ldKS5j
b2xvciA9PSBleHBlY3RlZENvbG9yOworICAgICAgICBpZiAoIWhhc0V4cGVjdGVkU3R5bGUpCisg
ICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAgc2hvdWxkQmVUcnVlKCJoYXNFeHBlY3RlZFN0
eWxlIik7Cit9CisvLyBGb3JjZSBhIGxheW91dCB0byBlbnN1cmUgd2UgZG9uJ3QgaGF2ZSBkaXJ0
eSBzdHlsZXMuCit2YXIgb2Zmc2V0VG9wID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNl
dFRvcDsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigiTm9TdHlsZUNoYW5nZSIpOworY2hlY2tTdHls
ZSgwKTsKKworYWRkQ2xhc3MoJ05vdFRoZXJlJyk7Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIk5v
U3R5bGVDaGFuZ2UiKTsKKworYWRkQ2xhc3MoJ3N0eWxlMScpOwordGVzdFN0eWxlSW52YWxpZGF0
aW9uKCJJbmxpbmVTdHlsZUNoYW5nZSIpOworY2hlY2tTdHlsZSgxKTsKK3Rlc3RTdHlsZUludmFs
aWRhdGlvbigiTm9TdHlsZUNoYW5nZSIpOworCithZGRDbGFzcygnc3R5bGUyJyk7Cit0ZXN0U3R5
bGVJbnZhbGlkYXRpb24oIklubGluZVN0eWxlQ2hhbmdlIik7CitjaGVja1N0eWxlKDIpOwordGVz
dFN0eWxlSW52YWxpZGF0aW9uKCJOb1N0eWxlQ2hhbmdlIik7CisKK3JlbW92ZUNsYXNzKCdzdHls
ZTInKTsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigiSW5saW5lU3R5bGVDaGFuZ2UiKTsKK2NoZWNr
U3R5bGUoMSk7Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIk5vU3R5bGVDaGFuZ2UiKTsKKworYWRk
Q2xhc3MoJ3N0eWxlMycpOwordGVzdFN0eWxlSW52YWxpZGF0aW9uKCJJbmxpbmVTdHlsZUNoYW5n
ZSIpOworY2hlY2tTdHlsZSgzKTsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigiTm9TdHlsZUNoYW5n
ZSIpOworCityZW1vdmVDbGFzcygnc3R5bGUzJyk7Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIklu
bGluZVN0eWxlQ2hhbmdlIik7CitjaGVja1N0eWxlKDEpOwordGVzdFN0eWxlSW52YWxpZGF0aW9u
KCJOb1N0eWxlQ2hhbmdlIik7CisKK2FkZENsYXNzKCdzdHlsZTQnKTsKK3Rlc3RTdHlsZUludmFs
aWRhdGlvbigiTm9TdHlsZUNoYW5nZSIpOworY2hlY2tTdHlsZSgxKTsKK3Rlc3RTdHlsZUludmFs
aWRhdGlvbigiTm9TdHlsZUNoYW5nZSIpOworCityZW1vdmVDbGFzcygnTm90VGhlcmUnKTsKK3Rl
c3RTdHlsZUludmFsaWRhdGlvbigiTm9TdHlsZUNoYW5nZSIpOworCityZW1vdmVDbGFzcygnc3R5
bGUxJyk7Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIklubGluZVN0eWxlQ2hhbmdlIik7CitjaGVj
a1N0eWxlKDApOwordGVzdFN0eWxlSW52YWxpZGF0aW9uKCJOb1N0eWxlQ2hhbmdlIik7CisKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271310</attachid>
            <date>2016-02-14 07:27:43 -0800</date>
            <delta_ts>2016-02-14 07:52:11 -0800</delta_ts>
            <desc>patch</desc>
            <filename>class-change-test-2.patch</filename>
            <type>text/plain</type>
            <size>13154</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NjU2MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE2LTAyLTE0ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgdGVzdCBmb3IgY2xhc3Mg
Y2hhbmdlIHN0eWxlIGludmFsaWRhdGlvbiBvcHRpbWl6YXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDIyNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgZm9yIGh0dHBzOi8vdHJhYy53ZWJr
aXQub3JnL3IxOTYzODMKKworICAgICAgICBBZGQgaW50ZXJuYWxzLnN0eWxlQ2hhbmdlVHlwZSBm
dW5jdGlvbi4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tY2xh
c3MtY2hhbmdlLWRlc2NlbmRhbnRzLmh0bWwKKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6bm9kZU5lZWRzU3R5bGVSZWNhbGMp
OgorICAgICAgICAoV2ViQ29yZTo6YXNTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxzOjpzdHlsZUNoYW5nZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpkZXNj
cmlwdGlvbik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTYtMDItMTMgIEFudHRpIEtvaXZpc3RvICA8YW50dGlA
YXBwbGUuY29tPgogCiAgICAgICAgIEZhY3RvciBjbGFzcyBjaGFuZ2Ugc3R5bGUgaW52YWxpZGF0
aW9uIGNvZGUgaW50byBhIGNsYXNzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCShyZXZpc2lvbiAxOTY1NTkpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2NCw2ICs0NjQsMzIgQEAgYm9vbCBJbnRlcm5hbHM6
Om5vZGVOZWVkc1N0eWxlUmVjYWxjKE5vZAogICAgIHJldHVybiBub2RlLT5uZWVkc1N0eWxlUmVj
YWxjKCk7CiB9CiAKK3N0YXRpYyBTdHJpbmcgYXNTdHJpbmcoU3R5bGVDaGFuZ2VUeXBlIHR5cGUp
Cit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBOb1N0eWxlQ2hhbmdlOgorICAgICAg
ICByZXR1cm4gIk5vU3R5bGVDaGFuZ2UiOworICAgIGNhc2UgSW5saW5lU3R5bGVDaGFuZ2U6Cisg
ICAgICAgIHJldHVybiAiSW5saW5lU3R5bGVDaGFuZ2UiOworICAgIGNhc2UgRnVsbFN0eWxlQ2hh
bmdlOgorICAgICAgICByZXR1cm4gIkZ1bGxTdHlsZUNoYW5nZSI7CisgICAgY2FzZSBTeW50aGV0
aWNTdHlsZUNoYW5nZToKKyAgICAgICAgcmV0dXJuICJTeW50aGV0aWNTdHlsZUNoYW5nZSI7Cisg
ICAgY2FzZSBSZWNvbnN0cnVjdFJlbmRlclRyZWU6CisgICAgICAgIHJldHVybiAiUmVjb25zdHJ1
Y3RSZW5kZXJUcmVlIjsKKyAgICB9Cit9CisKK1N0cmluZyBJbnRlcm5hbHM6OnN0eWxlQ2hhbmdl
VHlwZShOb2RlKiBub2RlLCBFeGNlcHRpb25Db2RlJiBleGNlcHRpb24pCit7CisgICAgaWYgKCFu
b2RlKSB7CisgICAgICAgIGV4Y2VwdGlvbiA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICB9CisKKyAgICByZXR1cm4gYXNTdHJpbmcobm9kZS0+c3R5bGVDaGFu
Z2VUeXBlKCkpOworfQorCiBTdHJpbmcgSW50ZXJuYWxzOjpkZXNjcmlwdGlvbihEZXByZWNhdGVk
OjpTY3JpcHRWYWx1ZSB2YWx1ZSkKIHsKICAgICByZXR1cm4gdG9TdHJpbmcodmFsdWUuanNWYWx1
ZSgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkocmV2aXNpb24gMTk2NTU5
KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAkod29ya2luZyBjb3B5KQpA
QCAtODksNiArODksNyBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgYWRkcmVzcyhOb2RlKik7CiAg
ICAgYm9vbCBub2RlTmVlZHNTdHlsZVJlY2FsYyhOb2RlKiwgRXhjZXB0aW9uQ29kZSYpOworICAg
IFN0cmluZyBzdHlsZUNoYW5nZVR5cGUoTm9kZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBTdHJp
bmcgZGVzY3JpcHRpb24oRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUpOwogCiAgICAgYm9vbCBpc1By
ZWxvYWRlZChjb25zdCBTdHJpbmcmIHVybCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaWRsCShyZXZpc2lvbiAxOTY1NTkpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTY4LDYgKzY4LDcgQEAgZW51bSBBdXRvRmls
bEJ1dHRvblR5cGUgewogXSBpbnRlcmZhY2UgSW50ZXJuYWxzIHsKICAgICBET01TdHJpbmcgYWRk
cmVzcyhOb2RlIG5vZGUpOwogICAgIFtSYWlzZXNFeGNlcHRpb25dIGJvb2xlYW4gbm9kZU5lZWRz
U3R5bGVSZWNhbGMoTm9kZSBub2RlKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSBET01TdHJpbmcg
c3R5bGVDaGFuZ2VUeXBlKE5vZGUgbm9kZSk7CiAgICAgRE9NU3RyaW5nIGRlc2NyaXB0aW9uKGFu
eSB2YWx1ZSk7CiAKICAgICAvLyBBbmltYXRlZCBpbWFnZSBwYXVzaW5nIHRlc3RpbmcuCkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxOTY1NTkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxNi0wMi0xNCAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHRlc3QgZm9yIGNsYXNzIGNoYW5nZSBzdHlsZSBp
bnZhbGlkYXRpb24gb3B0aW1pemF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNTQyMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUZXN0IGZvciBodHRwczovL3RyYWMud2Via2l0Lm9yZy9yMTk2Mzgz
CisKKyAgICAgICAgKiBmYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tY2xhc3MtY2hhbmdlLWRl
c2NlbmRhbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUt
aW52YWxpZGF0aW9uLWNsYXNzLWNoYW5nZS1kZXNjZW5kYW50cy5odG1sOiBBZGRlZC4KKwogMjAx
Ni0wMi0xMiAgTmFuIFdhbmcgIDxuX3dhbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBJbXBs
ZW1lbnQgcGFyYWdyYXBoIHJlbGF0ZWQgdGV4dCBtYXJrZXIgZnVuY3Rpb25zIHVzaW5nIFRleHRJ
dGVyYXRvcgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWNs
YXNzLWNoYW5nZS1kZXNjZW5kYW50cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWNsYXNzLWNoYW5nZS1kZXNjZW5kYW50
cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHls
ZS1pbnZhbGlkYXRpb24tY2xhc3MtY2hhbmdlLWRlc2NlbmRhbnRzLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDc3IEBACitUZXN0IHRoYXQgd2UgaW52YWxpZGF0ZSB0aGUg
ZWxlbWVudCBzdWJ0cmVlIG1pbmltYWxseSBvbiBjbGFzcyBhdHRyaWJ1dGUgY2hhbmdlCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJv
b3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5s
aW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdl
dCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJp
bmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyBoYXNFeHBlY3RlZFN0eWxlIGlz
IHRydWUKK0FkZGluZyBjbGFzcyBOb3RUaGVyZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJy
b290IiwgIk5vU3R5bGVDaGFuZ2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklu
bGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJn
ZXQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgi
aW5lcnQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRydWUKK0FkZGluZyBjbGFzcyBzdHlsZTEKK1BB
U1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0
eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1Mg
dGVzdFN0eWxlQ2hhbmdlVHlwZSgidGFyZ2V0IiwgIklubGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1
ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMg
dHJ1ZQorUEFTUyBoYXNFeHBlY3RlZFN0eWxlIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdl
VHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9v
dCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlw
ZSgidGFyZ2V0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5n
ZVR5cGUoImluZXJ0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitBZGRpbmcgY2xhc3Mgc3R5
bGUyCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8
IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVl
CitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJbmxpbmVTdHlsZUNoYW5nZSIp
IGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNoYW5n
ZSIpIGlzIHRydWUKK1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0cnVlCitQQVNTIHRlc3RTdHls
ZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5
cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNo
YW5nZVR5cGUoInRhcmdldCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5
bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUmVtb3Zpbmcg
Y2xhc3Mgc3R5bGUyCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNo
YW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2Ui
KSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJbmxpbmVTdHls
ZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9T
dHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0cnVlCitQQVNT
IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHls
ZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRl
c3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFT
UyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQor
QWRkaW5nIGNsYXNzIHN0eWxlMworUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5v
U3R5bGVDaGFuZ2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklubGluZVN0eWxl
Q2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiSW5s
aW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoImluZXJ0
IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIGhhc0V4cGVjdGVkU3R5bGUgaXMgdHJ1
ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5vU3R5bGVDaGFuZ2UiKSB8fCB0
ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklubGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1ZQor
UEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRy
dWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNoYW5nZSIpIGlz
IHRydWUKK1JlbW92aW5nIGNsYXNzIHN0eWxlMworUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJy
b290IiwgIk5vU3R5bGVDaGFuZ2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklu
bGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJn
ZXQiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5
cGUoImluZXJ0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIGhhc0V4cGVjdGVkU3R5
bGUgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5vU3R5bGVDaGFu
Z2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklubGluZVN0eWxlQ2hhbmdlIikg
aXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiTm9TdHlsZUNoYW5n
ZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNo
YW5nZSIpIGlzIHRydWUKK0FkZGluZyBjbGFzcyBzdHlsZTQKK1BBU1MgdGVzdFN0eWxlQ2hhbmdl
VHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9v
dCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlw
ZSgidGFyZ2V0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5n
ZVR5cGUoImluZXJ0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIGhhc0V4cGVjdGVk
U3R5bGUgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5vU3R5bGVD
aGFuZ2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklubGluZVN0eWxlQ2hhbmdl
IikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiTm9TdHlsZUNo
YW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHls
ZUNoYW5nZSIpIGlzIHRydWUKK1JlbW92aW5nIGNsYXNzIE5vdFRoZXJlCitQQVNTIHRlc3RTdHls
ZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5
cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNo
YW5nZVR5cGUoInRhcmdldCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5
bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUmVtb3Zpbmcg
Y2xhc3Mgc3R5bGUxCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNo
YW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2Ui
KSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJbmxpbmVTdHls
ZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9T
dHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0cnVlCitQQVNT
IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHls
ZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRl
c3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFT
UyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1jbGFzcy1jaGFuZ2UtZGVz
Y2VuZGFudHMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1p
bnZhbGlkYXRpb24tY2xhc3MtY2hhbmdlLWRlc2NlbmRhbnRzLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tY2xhc3MtY2hhbmdlLWRl
c2NlbmRhbnRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNTMgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorKiB7CisgICAgY29sb3I6IGJsYWNrOwor
fQorcm9vdC5zdHlsZTEgdGFyZ2V0IHsKKyAgICBjb2xvcjogcmdiKDEsIDEsIDEpOworfQorCity
b290LnN0eWxlMiA+IGluZXJ0IHRhcmdldCB7CisgICAgY29sb3I6IHJnYigyLCAyLCAyKTsKK30K
Kworcm9vdC5zdHlsZTMgaW5lcnQgKyB0YXJnZXQgeworICAgIGNvbG9yOiByZ2IoMywgMywgMyk7
Cit9CisKK3Jvb3Quc3R5bGU0ID4gdGFyZ2V0IGluZXJ0IHsKKyAgICBjb2xvcjogcmdiKDQsIDQs
IDQpOworfQorCis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPHJvb3Q+CisgICAgICAg
IDwhLS0gV2l0aCByZW5kZXJlciAtLT4KKyAgICAgICAgPGluZXJ0PgorICAgICAgICAgICAgPGlu
ZXJ0PgorICAgICAgICAgICAgICAgIDxpbmVydD48L2luZXJ0PgorICAgICAgICAgICAgICAgIDx0
YXJnZXQ+CisgICAgICAgICAgICAgICAgICAgIDxpbmVydD48L2luZXJ0PgorICAgICAgICAgICAg
ICAgICAgICA8dGFyZ2V0PjwvdGFyZ2V0PgorICAgICAgICAgICAgICAgIDwvdGFyZ2V0PgorICAg
ICAgICAgICAgPC9pbmVydD4KKyAgICAgICAgICAgIDx0YXJnZXQ+PC90YXJnZXQ+CisgICAgICAg
ICAgICA8aW5lcnQ+PC9pbmVydD4KKyAgICAgICAgPC9pbmVydD4KKyAgICA8L3Jvb3Q+CisgICAg
PHJvb3Qgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPgorICAgICAgICA8IS0tIFdpdGhvdXQgcmVuZGVy
ZXIgLS0+CisgICAgICAgIDxpbmVydD4KKyAgICAgICAgICAgIDxpbmVydD4KKyAgICAgICAgICAg
ICAgICA8aW5lcnQ+PC9pbmVydD4KKyAgICAgICAgICAgICAgICA8dGFyZ2V0PgorICAgICAgICAg
ICAgICAgICAgICA8aW5lcnQ+PC9pbmVydD4KKyAgICAgICAgICAgICAgICAgICAgPHRhcmdldD48
L3RhcmdldD4KKyAgICAgICAgICAgICAgICA8L3RhcmdldD4KKyAgICAgICAgICAgIDwvaW5lcnQ+
CisgICAgICAgICAgICA8dGFyZ2V0PjwvdGFyZ2V0PgorICAgICAgICAgICAgPGluZXJ0PjwvaW5l
cnQ+CisgICAgICAgIDwvaW5lcnQ+CisgICAgPC9yb290PgorPC9ib2R5PgorPHNjcmlwdD4KKwor
ZGVzY3JpcHRpb24oJ1Rlc3QgdGhhdCB3ZSBpbnZhbGlkYXRlIHRoZSBlbGVtZW50IHN1YnRyZWUg
bWluaW1hbGx5IG9uIGNsYXNzIGF0dHJpYnV0ZSBjaGFuZ2UnKTsKKworZnVuY3Rpb24gdGVzdFN0
eWxlQ2hhbmdlVHlwZSh0YWcsIHR5cGUpCit7CisgICAgdmFyIGVsZW1lbnRzID0gZG9jdW1lbnQu
cXVlcnlTZWxlY3RvckFsbCh0YWcpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZWxlbWVudHMu
bGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMuc3R5bGVDaGFuZ2VU
eXBlKGVsZW1lbnRzW2ldKSAhPSB0eXBlKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKworZnVuY3Rpb24gdGVzdFN0eWxlSW52YWxpZGF0aW9u
KGV4cGVjdGVkRGVzY2VuZGFudFN0eWxlQ2hhbmdlKSB7CisgICAgLy8gSWRlYWxseSB3ZSB3b3Vs
ZCd0IGludmFsaWRhdGUgdGhlIHJvb3QgYXQgYWxsLgorICAgIHNob3VsZEJlVHJ1ZSgndGVzdFN0
eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdl
VHlwZSgicm9vdCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpJyk7CisKKyAgICBzaG91bGRCZVRydWUo
J3Rlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICInICsgZXhwZWN0ZWREZXNjZW5kYW50U3R5
bGVDaGFuZ2UgKyciKScpOworCisgICAgc2hvdWxkQmVUcnVlKCd0ZXN0U3R5bGVDaGFuZ2VUeXBl
KCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIiknKTsKK30KKworZnVuY3Rpb24gYWRkQ2xhc3MobmFt
ZSkgeworICAgIGRlYnVnKCJBZGRpbmcgY2xhc3MgIiArIG5hbWUpOworICAgIHZhciBhbGxSb290
cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInJvb3QiKTsKKyAgICBhbGxSb290c1swXS5j
bGFzc0xpc3QuYWRkKG5hbWUpOworICAgIGFsbFJvb3RzWzFdLmNsYXNzTGlzdC5hZGQobmFtZSk7
Cit9CisKK2Z1bmN0aW9uIHJlbW92ZUNsYXNzKG5hbWUpIHsKKyAgICBkZWJ1ZygiUmVtb3Zpbmcg
Y2xhc3MgIiArIG5hbWUpOworICAgIHZhciBhbGxSb290cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0
b3JBbGwoInJvb3QiKTsKKyAgICBhbGxSb290c1swXS5jbGFzc0xpc3QucmVtb3ZlKG5hbWUpOwor
ICAgIGFsbFJvb3RzWzFdLmNsYXNzTGlzdC5yZW1vdmUobmFtZSk7Cit9CisKK2Z1bmN0aW9uIGNo
ZWNrU3R5bGUobikgeworICAgIGhhc0V4cGVjdGVkU3R5bGUgPSB0cnVlOworICAgIGV4cGVjdGVk
Q29sb3IgPSAncmdiKCcrbisnLCAnK24rJywgJytuKycpJzsKKyAgICB2YXIgdGFyZ2V0cyA9IGRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRhcmdldCIpOworICAgIGZvciAodmFyIGkgPSAwOyBp
IDwgdGFyZ2V0cy5sZW5ndGg7ICsraSkgeworICAgICAgICBoYXNFeHBlY3RlZFN0eWxlID0gZ2V0
Q29tcHV0ZWRTdHlsZSh0YXJnZXRzW2ldKS5jb2xvciA9PSBleHBlY3RlZENvbG9yOworICAgICAg
ICBpZiAoIWhhc0V4cGVjdGVkU3R5bGUpCisgICAgICAgICAgICBicmVhazsKKyAgICB9CisgICAg
c2hvdWxkQmVUcnVlKCJoYXNFeHBlY3RlZFN0eWxlIik7Cit9CisvLyBGb3JjZSBhIGxheW91dCB0
byBlbnN1cmUgd2UgZG9uJ3QgaGF2ZSBkaXJ0eSBzdHlsZXMuCit2YXIgb2Zmc2V0VG9wID0gZG9j
dW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNldFRvcDsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigi
Tm9TdHlsZUNoYW5nZSIpOworY2hlY2tTdHlsZSgwKTsKKworYWRkQ2xhc3MoJ05vdFRoZXJlJyk7
Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIk5vU3R5bGVDaGFuZ2UiKTsKKworYWRkQ2xhc3MoJ3N0
eWxlMScpOwordGVzdFN0eWxlSW52YWxpZGF0aW9uKCJJbmxpbmVTdHlsZUNoYW5nZSIpOworY2hl
Y2tTdHlsZSgxKTsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigiTm9TdHlsZUNoYW5nZSIpOworCith
ZGRDbGFzcygnc3R5bGUyJyk7Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIklubGluZVN0eWxlQ2hh
bmdlIik7CitjaGVja1N0eWxlKDIpOwordGVzdFN0eWxlSW52YWxpZGF0aW9uKCJOb1N0eWxlQ2hh
bmdlIik7CisKK3JlbW92ZUNsYXNzKCdzdHlsZTInKTsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigi
SW5saW5lU3R5bGVDaGFuZ2UiKTsKK2NoZWNrU3R5bGUoMSk7Cit0ZXN0U3R5bGVJbnZhbGlkYXRp
b24oIk5vU3R5bGVDaGFuZ2UiKTsKKworYWRkQ2xhc3MoJ3N0eWxlMycpOwordGVzdFN0eWxlSW52
YWxpZGF0aW9uKCJJbmxpbmVTdHlsZUNoYW5nZSIpOworY2hlY2tTdHlsZSgzKTsKK3Rlc3RTdHls
ZUludmFsaWRhdGlvbigiTm9TdHlsZUNoYW5nZSIpOworCityZW1vdmVDbGFzcygnc3R5bGUzJyk7
Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIklubGluZVN0eWxlQ2hhbmdlIik7CitjaGVja1N0eWxl
KDEpOwordGVzdFN0eWxlSW52YWxpZGF0aW9uKCJOb1N0eWxlQ2hhbmdlIik7CisKK2FkZENsYXNz
KCdzdHlsZTQnKTsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigiTm9TdHlsZUNoYW5nZSIpOworY2hl
Y2tTdHlsZSgxKTsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigiTm9TdHlsZUNoYW5nZSIpOworCity
ZW1vdmVDbGFzcygnTm90VGhlcmUnKTsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigiTm9TdHlsZUNo
YW5nZSIpOworCityZW1vdmVDbGFzcygnc3R5bGUxJyk7Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24o
IklubGluZVN0eWxlQ2hhbmdlIik7CitjaGVja1N0eWxlKDApOwordGVzdFN0eWxlSW52YWxpZGF0
aW9uKCJOb1N0eWxlQ2hhbmdlIik7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271311</attachid>
            <date>2016-02-14 07:52:11 -0800</date>
            <delta_ts>2016-02-15 02:14:35 -0800</delta_ts>
            <desc>patch</desc>
            <filename>class-change-test-3.patch</filename>
            <type>text/plain</type>
            <size>13227</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NjU2MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE2LTAyLTE0ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgdGVzdCBmb3IgY2xhc3Mg
Y2hhbmdlIHN0eWxlIGludmFsaWRhdGlvbiBvcHRpbWl6YXRpb24KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDIyNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgZm9yIGh0dHBzOi8vdHJhYy53ZWJr
aXQub3JnL3IxOTYzODMKKworICAgICAgICBBZGQgaW50ZXJuYWxzLnN0eWxlQ2hhbmdlVHlwZSBm
dW5jdGlvbi4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24tY2xh
c3MtY2hhbmdlLWRlc2NlbmRhbnRzLmh0bWwKKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6bm9kZU5lZWRzU3R5bGVSZWNhbGMp
OgorICAgICAgICAoV2ViQ29yZTo6YXNTdHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJu
YWxzOjpzdHlsZUNoYW5nZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpkZXNj
cmlwdGlvbik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTYtMDItMTMgIEFudHRpIEtvaXZpc3RvICA8YW50dGlA
YXBwbGUuY29tPgogCiAgICAgICAgIEZhY3RvciBjbGFzcyBjaGFuZ2Ugc3R5bGUgaW52YWxpZGF0
aW9uIGNvZGUgaW50byBhIGNsYXNzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCShyZXZpc2lvbiAxOTY1NTkpCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2NCw2ICs0NjQsMzQgQEAgYm9vbCBJbnRlcm5hbHM6
Om5vZGVOZWVkc1N0eWxlUmVjYWxjKE5vZAogICAgIHJldHVybiBub2RlLT5uZWVkc1N0eWxlUmVj
YWxjKCk7CiB9CiAKK3N0YXRpYyBTdHJpbmcgc3R5bGVDaGFuZ2VUeXBlVG9TdHJpbmcoU3R5bGVD
aGFuZ2VUeXBlIHR5cGUpCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBOb1N0eWxl
Q2hhbmdlOgorICAgICAgICByZXR1cm4gIk5vU3R5bGVDaGFuZ2UiOworICAgIGNhc2UgSW5saW5l
U3R5bGVDaGFuZ2U6CisgICAgICAgIHJldHVybiAiSW5saW5lU3R5bGVDaGFuZ2UiOworICAgIGNh
c2UgRnVsbFN0eWxlQ2hhbmdlOgorICAgICAgICByZXR1cm4gIkZ1bGxTdHlsZUNoYW5nZSI7Cisg
ICAgY2FzZSBTeW50aGV0aWNTdHlsZUNoYW5nZToKKyAgICAgICAgcmV0dXJuICJTeW50aGV0aWNT
dHlsZUNoYW5nZSI7CisgICAgY2FzZSBSZWNvbnN0cnVjdFJlbmRlclRyZWU6CisgICAgICAgIHJl
dHVybiAiUmVjb25zdHJ1Y3RSZW5kZXJUcmVlIjsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgcmV0dXJuICIiOworfQorCitTdHJpbmcgSW50ZXJuYWxzOjpzdHlsZUNoYW5n
ZVR5cGUoTm9kZSogbm9kZSwgRXhjZXB0aW9uQ29kZSYgZXhjZXB0aW9uKQoreworICAgIGlmICgh
bm9kZSkgeworICAgICAgICBleGNlcHRpb24gPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAg
IHJldHVybiB7IH07CisgICAgfQorCisgICAgcmV0dXJuIHN0eWxlQ2hhbmdlVHlwZVRvU3RyaW5n
KG5vZGUtPnN0eWxlQ2hhbmdlVHlwZSgpKTsKK30KKwogU3RyaW5nIEludGVybmFsczo6ZGVzY3Jp
cHRpb24oRGVwcmVjYXRlZDo6U2NyaXB0VmFsdWUgdmFsdWUpCiB7CiAgICAgcmV0dXJuIHRvU3Ry
aW5nKHZhbHVlLmpzVmFsdWUoKSk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJ
KHJldmlzaW9uIDE5NjU1OSkKKysrIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTg5LDYgKzg5LDcgQEAgcHVibGljOgogCiAgICAgU3RyaW5nIGFk
ZHJlc3MoTm9kZSopOwogICAgIGJvb2wgbm9kZU5lZWRzU3R5bGVSZWNhbGMoTm9kZSosIEV4Y2Vw
dGlvbkNvZGUmKTsKKyAgICBTdHJpbmcgc3R5bGVDaGFuZ2VUeXBlKE5vZGUqLCBFeGNlcHRpb25D
b2RlJik7CiAgICAgU3RyaW5nIGRlc2NyaXB0aW9uKERlcHJlY2F0ZWQ6OlNjcmlwdFZhbHVlKTsK
IAogICAgIGJvb2wgaXNQcmVsb2FkZWQoY29uc3QgU3RyaW5nJiB1cmwpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAkocmV2aXNpb24gMTk2NTU5KQorKysgU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2OCw3
IEBAIGVudW0gQXV0b0ZpbGxCdXR0b25UeXBlIHsKIF0gaW50ZXJmYWNlIEludGVybmFscyB7CiAg
ICAgRE9NU3RyaW5nIGFkZHJlc3MoTm9kZSBub2RlKTsKICAgICBbUmFpc2VzRXhjZXB0aW9uXSBi
b29sZWFuIG5vZGVOZWVkc1N0eWxlUmVjYWxjKE5vZGUgbm9kZSk7CisgICAgW1JhaXNlc0V4Y2Vw
dGlvbl0gRE9NU3RyaW5nIHN0eWxlQ2hhbmdlVHlwZShOb2RlIG5vZGUpOwogICAgIERPTVN0cmlu
ZyBkZXNjcmlwdGlvbihhbnkgdmFsdWUpOwogCiAgICAgLy8gQW5pbWF0ZWQgaW1hZ2UgcGF1c2lu
ZyB0ZXN0aW5nLgpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTk2NTU5KQorKysgTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTYtMDItMTQgIEFudHRp
IEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCB0ZXN0IGZvciBjbGFz
cyBjaGFuZ2Ugc3R5bGUgaW52YWxpZGF0aW9uIG9wdGltaXphdGlvbgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0MjI2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCBmb3IgaHR0cHM6Ly90cmFjLndl
YmtpdC5vcmcvcjE5NjM4MworCisgICAgICAgICogZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9u
LWNsYXNzLWNoYW5nZS1kZXNjZW5kYW50cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1jbGFzcy1jaGFuZ2UtZGVzY2VuZGFudHMuaHRt
bDogQWRkZWQuCisKIDIwMTYtMDItMTIgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNvbT4KIAog
ICAgICAgICBBWDogSW1wbGVtZW50IHBhcmFncmFwaCByZWxhdGVkIHRleHQgbWFya2VyIGZ1bmN0
aW9ucyB1c2luZyBUZXh0SXRlcmF0b3IKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxl
LWludmFsaWRhdGlvbi1jbGFzcy1jaGFuZ2UtZGVzY2VuZGFudHMtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3N0eWxlLWludmFsaWRhdGlvbi1jbGFzcy1j
aGFuZ2UtZGVzY2VuZGFudHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWNsYXNzLWNoYW5nZS1kZXNjZW5kYW50cy1l
eHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3NyBAQAorVGVzdCB0aGF0IHdl
IGludmFsaWRhdGUgdGhlIGVsZW1lbnQgc3VidHJlZSBtaW5pbWFsbHkgb24gY2xhc3MgYXR0cmli
dXRlIGNoYW5nZQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB0ZXN0U3R5
bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5vU3R5bGVDaGFuZ2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VU
eXBlKCJyb290IiwgIklubGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVD
aGFuZ2VUeXBlKCJ0YXJnZXQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0
eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgaGFz
RXhwZWN0ZWRTdHlsZSBpcyB0cnVlCitBZGRpbmcgY2xhc3MgTm90VGhlcmUKK1BBU1MgdGVzdFN0
eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdl
VHlwZSgicm9vdCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxl
Q2hhbmdlVHlwZSgidGFyZ2V0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RT
dHlsZUNoYW5nZVR5cGUoImluZXJ0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitBZGRpbmcg
Y2xhc3Mgc3R5bGUxCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNo
YW5nZSIpIHx8IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2Ui
KSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJJbmxpbmVTdHls
ZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9T
dHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgaGFzRXhwZWN0ZWRTdHlsZSBpcyB0cnVlCitQQVNT
IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHls
ZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRl
c3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFT
UyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQor
QWRkaW5nIGNsYXNzIHN0eWxlMgorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5v
U3R5bGVDaGFuZ2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklubGluZVN0eWxl
Q2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiSW5s
aW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoImluZXJ0
IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIGhhc0V4cGVjdGVkU3R5bGUgaXMgdHJ1
ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5vU3R5bGVDaGFuZ2UiKSB8fCB0
ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklubGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1ZQor
UEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRy
dWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNoYW5nZSIpIGlz
IHRydWUKK1JlbW92aW5nIGNsYXNzIHN0eWxlMgorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJy
b290IiwgIk5vU3R5bGVDaGFuZ2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklu
bGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJn
ZXQiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5
cGUoImluZXJ0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIGhhc0V4cGVjdGVkU3R5
bGUgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5vU3R5bGVDaGFu
Z2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklubGluZVN0eWxlQ2hhbmdlIikg
aXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiTm9TdHlsZUNoYW5n
ZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNo
YW5nZSIpIGlzIHRydWUKK0FkZGluZyBjbGFzcyBzdHlsZTMKK1BBU1MgdGVzdFN0eWxlQ2hhbmdl
VHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9v
dCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlw
ZSgidGFyZ2V0IiwgIklubGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVD
aGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyBoYXNFeHBl
Y3RlZFN0eWxlIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJOb1N0
eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJJbmxpbmVTdHlsZUNo
YW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgidGFyZ2V0IiwgIk5vU3R5
bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoImluZXJ0IiwgIk5v
U3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitSZW1vdmluZyBjbGFzcyBzdHlsZTMKK1BBU1MgdGVzdFN0
eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdl
VHlwZSgicm9vdCIsICJJbmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxl
Q2hhbmdlVHlwZSgidGFyZ2V0IiwgIklubGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0
ZXN0U3R5bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFT
UyBoYXNFeHBlY3RlZFN0eWxlIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9v
dCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJJbmxp
bmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgidGFyZ2V0
IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUoImlu
ZXJ0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitBZGRpbmcgY2xhc3Mgc3R5bGU0CitQQVNT
IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8IHRlc3RTdHls
ZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRl
c3RTdHlsZUNoYW5nZVR5cGUoInRhcmdldCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFT
UyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJpbmVydCIsICJOb1N0eWxlQ2hhbmdlIikgaXMgdHJ1ZQor
UEFTUyBoYXNFeHBlY3RlZFN0eWxlIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgi
cm9vdCIsICJOb1N0eWxlQ2hhbmdlIikgfHwgdGVzdFN0eWxlQ2hhbmdlVHlwZSgicm9vdCIsICJJ
bmxpbmVTdHlsZUNoYW5nZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgidGFy
Z2V0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5cGUo
ImluZXJ0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitSZW1vdmluZyBjbGFzcyBOb3RUaGVy
ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5vU3R5bGVDaGFuZ2UiKSB8fCB0
ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklubGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1ZQor
UEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiTm9TdHlsZUNoYW5nZSIpIGlzIHRy
dWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNoYW5nZSIpIGlz
IHRydWUKK1JlbW92aW5nIGNsYXNzIHN0eWxlMQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJy
b290IiwgIk5vU3R5bGVDaGFuZ2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklu
bGluZVN0eWxlQ2hhbmdlIikgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJn
ZXQiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIHRlc3RTdHlsZUNoYW5nZVR5
cGUoImluZXJ0IiwgIk5vU3R5bGVDaGFuZ2UiKSBpcyB0cnVlCitQQVNTIGhhc0V4cGVjdGVkU3R5
bGUgaXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIk5vU3R5bGVDaGFu
Z2UiKSB8fCB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJyb290IiwgIklubGluZVN0eWxlQ2hhbmdlIikg
aXMgdHJ1ZQorUEFTUyB0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiTm9TdHlsZUNoYW5n
ZSIpIGlzIHRydWUKK1BBU1MgdGVzdFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNo
YW5nZSIpIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9zdHlsZS1pbnZhbGlkYXRpb24t
Y2xhc3MtY2hhbmdlLWRlc2NlbmRhbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9uLWNsYXNzLWNoYW5nZS1kZXNjZW5kYW50cy5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3Mvc3R5bGUtaW52YWxpZGF0aW9u
LWNsYXNzLWNoYW5nZS1kZXNjZW5kYW50cy5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEs
MTUzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyogeworICAg
IGNvbG9yOiBibGFjazsKK30KK3Jvb3Quc3R5bGUxIHRhcmdldCB7CisgICAgY29sb3I6IHJnYigx
LCAxLCAxKTsKK30KKworcm9vdC5zdHlsZTIgPiBpbmVydCB0YXJnZXQgeworICAgIGNvbG9yOiBy
Z2IoMiwgMiwgMik7Cit9CisKK3Jvb3Quc3R5bGUzIGluZXJ0ICsgdGFyZ2V0IHsKKyAgICBjb2xv
cjogcmdiKDMsIDMsIDMpOworfQorCityb290LnN0eWxlNCA+IHRhcmdldCBpbmVydCB7CisgICAg
Y29sb3I6IHJnYig0LCA0LCA0KTsKK30KKworPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAg
IDxyb290PgorICAgICAgICA8IS0tIFdpdGggcmVuZGVyZXIgLS0+CisgICAgICAgIDxpbmVydD4K
KyAgICAgICAgICAgIDxpbmVydD4KKyAgICAgICAgICAgICAgICA8aW5lcnQ+PC9pbmVydD4KKyAg
ICAgICAgICAgICAgICA8dGFyZ2V0PgorICAgICAgICAgICAgICAgICAgICA8aW5lcnQ+PC9pbmVy
dD4KKyAgICAgICAgICAgICAgICAgICAgPHRhcmdldD48L3RhcmdldD4KKyAgICAgICAgICAgICAg
ICA8L3RhcmdldD4KKyAgICAgICAgICAgIDwvaW5lcnQ+CisgICAgICAgICAgICA8dGFyZ2V0Pjwv
dGFyZ2V0PgorICAgICAgICAgICAgPGluZXJ0PjwvaW5lcnQ+CisgICAgICAgIDwvaW5lcnQ+Cisg
ICAgPC9yb290PgorICAgIDxyb290IHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4KKyAgICAgICAgPCEt
LSBXaXRob3V0IHJlbmRlcmVyIC0tPgorICAgICAgICA8aW5lcnQ+CisgICAgICAgICAgICA8aW5l
cnQ+CisgICAgICAgICAgICAgICAgPGluZXJ0PjwvaW5lcnQ+CisgICAgICAgICAgICAgICAgPHRh
cmdldD4KKyAgICAgICAgICAgICAgICAgICAgPGluZXJ0PjwvaW5lcnQ+CisgICAgICAgICAgICAg
ICAgICAgIDx0YXJnZXQ+PC90YXJnZXQ+CisgICAgICAgICAgICAgICAgPC90YXJnZXQ+CisgICAg
ICAgICAgICA8L2luZXJ0PgorICAgICAgICAgICAgPHRhcmdldD48L3RhcmdldD4KKyAgICAgICAg
ICAgIDxpbmVydD48L2luZXJ0PgorICAgICAgICA8L2luZXJ0PgorICAgIDwvcm9vdD4KKzwvYm9k
eT4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCdUZXN0IHRoYXQgd2UgaW52YWxpZGF0ZSB0aGUg
ZWxlbWVudCBzdWJ0cmVlIG1pbmltYWxseSBvbiBjbGFzcyBhdHRyaWJ1dGUgY2hhbmdlJyk7CisK
K2Z1bmN0aW9uIHRlc3RTdHlsZUNoYW5nZVR5cGUodGFnLCB0eXBlKQoreworICAgIHZhciBlbGVt
ZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGFnKTsKKyAgICBmb3IgKHZhciBpID0g
MDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzLnN0eWxlQ2hhbmdlVHlwZShlbGVtZW50c1tpXSkgIT0gdHlwZSkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Z1bmN0aW9uIHRlc3RT
dHlsZUludmFsaWRhdGlvbihleHBlY3RlZERlc2NlbmRhbnRTdHlsZUNoYW5nZSkgeworICAgIC8v
IElkZWFsbHkgd2Ugd291bGQndCBpbnZhbGlkYXRlIHRoZSByb290IGF0IGFsbC4KKyAgICBzaG91
bGRCZVRydWUoJ3Rlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiTm9TdHlsZUNoYW5nZSIpIHx8
IHRlc3RTdHlsZUNoYW5nZVR5cGUoInJvb3QiLCAiSW5saW5lU3R5bGVDaGFuZ2UiKScpOworCisg
ICAgc2hvdWxkQmVUcnVlKCd0ZXN0U3R5bGVDaGFuZ2VUeXBlKCJ0YXJnZXQiLCAiJyArIGV4cGVj
dGVkRGVzY2VuZGFudFN0eWxlQ2hhbmdlICsnIiknKTsKKworICAgIHNob3VsZEJlVHJ1ZSgndGVz
dFN0eWxlQ2hhbmdlVHlwZSgiaW5lcnQiLCAiTm9TdHlsZUNoYW5nZSIpJyk7Cit9CisKK2Z1bmN0
aW9uIGFkZENsYXNzKG5hbWUpIHsKKyAgICBkZWJ1ZygiQWRkaW5nIGNsYXNzICIgKyBuYW1lKTsK
KyAgICB2YXIgYWxsUm9vdHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJyb290Iik7Cisg
ICAgYWxsUm9vdHNbMF0uY2xhc3NMaXN0LmFkZChuYW1lKTsKKyAgICBhbGxSb290c1sxXS5jbGFz
c0xpc3QuYWRkKG5hbWUpOworfQorCitmdW5jdGlvbiByZW1vdmVDbGFzcyhuYW1lKSB7CisgICAg
ZGVidWcoIlJlbW92aW5nIGNsYXNzICIgKyBuYW1lKTsKKyAgICB2YXIgYWxsUm9vdHMgPSBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJyb290Iik7CisgICAgYWxsUm9vdHNbMF0uY2xhc3NMaXN0
LnJlbW92ZShuYW1lKTsKKyAgICBhbGxSb290c1sxXS5jbGFzc0xpc3QucmVtb3ZlKG5hbWUpOwor
fQorCitmdW5jdGlvbiBjaGVja1N0eWxlKG4pIHsKKyAgICBoYXNFeHBlY3RlZFN0eWxlID0gdHJ1
ZTsKKyAgICBleHBlY3RlZENvbG9yID0gJ3JnYignK24rJywgJytuKycsICcrbisnKSc7CisgICAg
dmFyIHRhcmdldHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ0YXJnZXQiKTsKKyAgICBm
b3IgKHZhciBpID0gMDsgaSA8IHRhcmdldHMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgaGFzRXhw
ZWN0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUodGFyZ2V0c1tpXSkuY29sb3IgPT0gZXhwZWN0
ZWRDb2xvcjsKKyAgICAgICAgaWYgKCFoYXNFeHBlY3RlZFN0eWxlKQorICAgICAgICAgICAgYnJl
YWs7CisgICAgfQorICAgIHNob3VsZEJlVHJ1ZSgiaGFzRXhwZWN0ZWRTdHlsZSIpOworfQorLy8g
Rm9yY2UgYSBsYXlvdXQgdG8gZW5zdXJlIHdlIGRvbid0IGhhdmUgZGlydHkgc3R5bGVzLgordmFy
IG9mZnNldFRvcCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5vZmZzZXRUb3A7Cit0ZXN0U3R5
bGVJbnZhbGlkYXRpb24oIk5vU3R5bGVDaGFuZ2UiKTsKK2NoZWNrU3R5bGUoMCk7CisKK2FkZENs
YXNzKCdOb3RUaGVyZScpOwordGVzdFN0eWxlSW52YWxpZGF0aW9uKCJOb1N0eWxlQ2hhbmdlIik7
CisKK2FkZENsYXNzKCdzdHlsZTEnKTsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigiSW5saW5lU3R5
bGVDaGFuZ2UiKTsKK2NoZWNrU3R5bGUoMSk7Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIk5vU3R5
bGVDaGFuZ2UiKTsKKworYWRkQ2xhc3MoJ3N0eWxlMicpOwordGVzdFN0eWxlSW52YWxpZGF0aW9u
KCJJbmxpbmVTdHlsZUNoYW5nZSIpOworY2hlY2tTdHlsZSgyKTsKK3Rlc3RTdHlsZUludmFsaWRh
dGlvbigiTm9TdHlsZUNoYW5nZSIpOworCityZW1vdmVDbGFzcygnc3R5bGUyJyk7Cit0ZXN0U3R5
bGVJbnZhbGlkYXRpb24oIklubGluZVN0eWxlQ2hhbmdlIik7CitjaGVja1N0eWxlKDEpOwordGVz
dFN0eWxlSW52YWxpZGF0aW9uKCJOb1N0eWxlQ2hhbmdlIik7CisKK2FkZENsYXNzKCdzdHlsZTMn
KTsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigiSW5saW5lU3R5bGVDaGFuZ2UiKTsKK2NoZWNrU3R5
bGUoMyk7Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIk5vU3R5bGVDaGFuZ2UiKTsKKworcmVtb3Zl
Q2xhc3MoJ3N0eWxlMycpOwordGVzdFN0eWxlSW52YWxpZGF0aW9uKCJJbmxpbmVTdHlsZUNoYW5n
ZSIpOworY2hlY2tTdHlsZSgxKTsKK3Rlc3RTdHlsZUludmFsaWRhdGlvbigiTm9TdHlsZUNoYW5n
ZSIpOworCithZGRDbGFzcygnc3R5bGU0Jyk7Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIk5vU3R5
bGVDaGFuZ2UiKTsKK2NoZWNrU3R5bGUoMSk7Cit0ZXN0U3R5bGVJbnZhbGlkYXRpb24oIk5vU3R5
bGVDaGFuZ2UiKTsKKworcmVtb3ZlQ2xhc3MoJ05vdFRoZXJlJyk7Cit0ZXN0U3R5bGVJbnZhbGlk
YXRpb24oIk5vU3R5bGVDaGFuZ2UiKTsKKworcmVtb3ZlQ2xhc3MoJ3N0eWxlMScpOwordGVzdFN0
eWxlSW52YWxpZGF0aW9uKCJJbmxpbmVTdHlsZUNoYW5nZSIpOworY2hlY2tTdHlsZSgwKTsKK3Rl
c3RTdHlsZUludmFsaWRhdGlvbigiTm9TdHlsZUNoYW5nZSIpOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaHRt
bD4K
</data>
<flag name="review"
          id="296135"
          type_id="1"
          status="+"
          setter="mmaxfield"
    />
          </attachment>
      

    </bug>

</bugzilla>