<?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>134005</bug_id>
          
          <creation_ts>2014-06-17 16:51:50 -0700</creation_ts>
          <short_desc>Web Inspector: Add PrettyPrinter CSS tests</short_desc>
          <delta_ts>2014-10-06 11:29:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Wells">jonowells</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>burg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>jer.noble</cc>
    
    <cc>joepeck</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1016310</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Wells">jonowells</who>
    <bug_when>2014-06-17 16:51:50 -0700</bug_when>
    <thetext>There should be tests for CSS PrettyPrinting just as there are for JavaScript and HTML.

INITIAL IDEAS FOR TESTS TO ADD
- WebKit prefixed
- Media queries
- Long lines
- Short lines
- Comments 
- Long set of rules
- Long rules
- Short rules
- Pseudo selectors
- url()

Others?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016311</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-06-17 16:57:16 -0700</bug_when>
    <thetext>Glancing at the code for some of its edge cases:
- !important (should have space before)
- &quot;:&quot; // Space in &quot;prop: value&quot; but not in a selectors &quot;a:link&quot; or &quot;div::after&quot; or media queries &quot;(max-device-width:480px)&quot;.
- multiple rules on one line =&gt; 2 newlines between rule declarations. (basically a bunch of minified CSS)

As long as we reduce multiple spaces to a single space we&apos;re doing pretty good because CSS enforces spaces between almost all tokens. Unlike JavaScript which has lots of operators that can be smashed together without spaces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016312</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-06-17 16:59:01 -0700</bug_when>
    <thetext>&lt;rdar://problem/17351848&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039381</commentid>
    <comment_count>3</comment_count>
      <attachid>239246</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-10-03 15:48:22 -0700</bug_when>
    <thetext>Created attachment 239246
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039544</commentid>
    <comment_count>4</comment_count>
      <attachid>239246</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-04 15:12:00 -0700</bug_when>
    <thetext>Comment on attachment 239246
[PATCH] Proposed Fix

Clearing flags on attachment: 239246

Committed r174323: &lt;http://trac.webkit.org/changeset/174323&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039545</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-04 15:12:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039552</commentid>
    <comment_count>6</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-10-04 17:01:32 -0700</bug_when>
    <thetext>Why aren&apos;t these done as layout tests or tool tests? Will anyone remember to run the tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039770</commentid>
    <comment_count>7</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-10-06 11:29:15 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Why aren&apos;t these done as layout tests or tool tests? Will anyone remember to run the tests?

That is a good point. These could become layout tests. They only need to be run when we update CodeMirror, which is rare. I originally just added these as part of the tool because it was what I used for debugging and development, so it was easy and useful. We can move these.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239246</attachid>
            <date>2014-10-03 15:48:22 -0700</date>
            <delta_ts>2014-10-04 15:11:59 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>css-tests.patch</filename>
            <type>text/plain</type>
            <size>16683</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGIwZDFjMTEuLjk3YjU1ZTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE0LTEwLTAzICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIFBy
ZXR0eVByaW50ZXIgQ1NTIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMzQwMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgQ1NTIHByZXR0eSBwcmludGluZyB0ZXN0cy4gSW1wcm92ZSBwcmV0
dHkgcHJpbnRpbmcgb2YgY2FsYygpCisgICAgICAgIGV4cHJlc3Npb25zIGFuZCBtZWRpYS1xdWVy
aWVzIHdpdGggd2hpdGVzcGFjZSBhcm91bmQgb3BlcmF0b3JzCisgICAgICAgIGFuZCBrZXl3b3Jk
cy4gQWxzbyBmaXggdGhlIGRlYnVnIG91dHB1dCBpbiB0aGUgdG9vbCBmb3IgQ1NTLgorCisgICAg
ICAgICogVG9vbHMvUHJldHR5UHJpbnRpbmcvQ29kZU1pcnJvckZvcm1hdHRlcnMuanM6CisgICAg
ICAgICogVG9vbHMvUHJldHR5UHJpbnRpbmcvRm9ybWF0dGVyQ29udGVudEJ1aWxkZXIuanM6Cisg
ICAgICAgIChGb3JtYXR0ZXJDb250ZW50QnVpbGRlci5wcm90b3R5cGUuX2FwcGVuZEluZGVudCk6
CisgICAgICAgICogVG9vbHMvUHJldHR5UHJpbnRpbmcvRm9ybWF0dGVyRGVidWcuanM6CisgICAg
ICAgICguZGVidWdUb2tlbik6CisgICAgICAgIChGb3JtYXR0ZXIucHJvdG90eXBlLmRlYnVnKToK
KyAgICAgICAgKiBUb29scy9QcmV0dHlQcmludGluZy9jc3MtdGVzdHMvYmFzaWMtZXhwZWN0ZWQu
Y3NzOiBBZGRlZC4KKyAgICAgICAgKiBUb29scy9QcmV0dHlQcmludGluZy9jc3MtdGVzdHMvYmFz
aWMuY3NzOiBBZGRlZC4KKyAgICAgICAgKiBUb29scy9QcmV0dHlQcmludGluZy9jc3MtdGVzdHMv
Y2FsYy1leHBlY3RlZC5jc3M6IEFkZGVkLgorICAgICAgICAqIFRvb2xzL1ByZXR0eVByaW50aW5n
L2Nzcy10ZXN0cy9jYWxjLmNzczogQWRkZWQuCisgICAgICAgICogVG9vbHMvUHJldHR5UHJpbnRp
bmcvY3NzLXRlc3RzL21lZGlhLXF1ZXJ5LWV4cGVjdGVkLmNzczogQWRkZWQuCisgICAgICAgICog
VG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLXRlc3RzL21lZGlhLXF1ZXJ5LmNzczogQWRkZWQuCisg
ICAgICAgICogVG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLXRlc3RzL3NlbGVjdG9ycy1leHBlY3Rl
ZC5jc3M6IEFkZGVkLgorICAgICAgICAqIFRvb2xzL1ByZXR0eVByaW50aW5nL2Nzcy10ZXN0cy9z
ZWxlY3RvcnMuY3NzOiBBZGRlZC4KKyAgICAgICAgKiBUb29scy9QcmV0dHlQcmludGluZy9pbmRl
eC5odG1sOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29kZU1pcnJvckZvcm1hdHRl
cnMuanM6CisKIDIwMTQtMTAtMDIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNv
bT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBDYW5ub3QgYWRkIGEgbmV3IENTUyBSdWxlIHRv
IGVsZW1lbnRzIHdpdGggMyBvciBtb3JlIGNsYXNzIG5hbWVzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvQ29kZU1pcnJvckZvcm1hdHRlcnMu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvQ29kZU1pcnJv
ckZvcm1hdHRlcnMuanMKaW5kZXggYTQwNzVkNC4uNzU4ZDFiYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVByaW50aW5nL0NvZGVNaXJyb3JGb3JtYXR0ZXJz
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQcmludGluZy9Db2Rl
TWlycm9yRm9ybWF0dGVycy5qcwpAQCAtMzAwLDcgKzMwMCw3IEBAIENvZGVNaXJyb3IuZXh0ZW5k
TW9kZSgiY3NzIiwgewogICAgICAgICBpZiAoIXRva2VuKSB7CiAgICAgICAgICAgICBpZiAoY29u
dGVudCA9PT0gInsiKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0dXJuICI+K34tKi8iLmluZGV4T2YoY29udGVu
dCkgPj0gMDsgLy8gY2FsYygpIGV4cHJlc3Npb24gb3IgY2hpbGQvc2libGluZyBzZWxlY3RvcnMK
ICAgICAgICAgfQogCiAgICAgICAgIGlmIChpc0NvbW1lbnQpCkBAIC0zMjIsMTIgKzMyMiwxNyBA
QCBDb2RlTWlycm9yLmV4dGVuZE1vZGUoImNzcyIsIHsKICAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgICAgIGlmIChsYXN0Q29udGVudCA9PT0gIjoiKSAvLyBTcGFjZSBpbiAi
cHJvcDogdmFsdWUiIGJ1dCBub3QgaW4gYSBzZWxlY3RvcnMgImE6bGluayIgb3IgImRpdjo6YWZ0
ZXIiIG9yIG1lZGlhIHF1ZXJpZXMgIihtYXgtZGV2aWNlLXdpZHRoOjQ4MHB4KSIuCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHN0YXRlLnN0YXRlID09PSAicHJvcCI7Ci0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgICAgICBpZiAobGFzdENvbnRlbnQgPT09ICIpIiAmJiAoY29udGVu
dCAhPT0gIikiICYmIGNvbnRlbnQgIT09ICIsIikpIC8vIFNwYWNlIGluICJub3QoZm9vKWFuZCIg
YnV0IG5vdCBhdCB0aGUgZW5kIG9mICJub3Qobm90KGZvbykpIgorICAgICAgICAgICAgICAgIHJl
dHVybiBzdGF0ZS5zdGF0ZSA9PT0gIm1lZGlhIiB8fCBzdGF0ZS5zdGF0ZSA9PT0gIm1lZGlhX3Bh
cmVucyI7CisgICAgICAgICAgICByZXR1cm4gIj4rfi0qLyIuaW5kZXhPZihsYXN0Q29udGVudCkg
Pj0gMDsgLy8gY2FsYygpIGV4cHJlc3Npb24gb3IgY2hpbGQvc2libGluZyBzZWxlY3RvcnMKICAg
ICAgICAgfQogCiAgICAgICAgIGlmICgvXGJjb21tZW50XGIvLnRlc3QobGFzdFRva2VuKSkKICAg
ICAgICAgICAgIHJldHVybiB0cnVlOwogCisgICAgICAgIGlmICgvXGJrZXl3b3JkXGIvLnRlc3Qo
bGFzdFRva2VuKSkgLy8gbWVkaWEtcXVlcnkga2V5d29yZHMKKyAgICAgICAgICAgIHJldHVybiBz
dGF0ZS5zdGF0ZSA9PT0gIm1lZGlhIiB8fCBzdGF0ZS5zdGF0ZSA9PT0gIm1lZGlhX3BhcmVucyI7
CisKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQcmludGluZy9Gb3JtYXR0ZXJDb250ZW50QnVpbGRl
ci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQcmludGluZy9Gb3JtYXR0
ZXJDb250ZW50QnVpbGRlci5qcwppbmRleCBmNTMyZDVjLi4zYzM2YTJiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvRm9ybWF0dGVyQ29udGVu
dEJ1aWxkZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVByaW50
aW5nL0Zvcm1hdHRlckNvbnRlbnRCdWlsZGVyLmpzCkBAIC0xOTYsNyArMTk2LDcgQEAgRm9ybWF0
dGVyQ29udGVudEJ1aWxkZXIucHJvdG90eXBlID0gewogICAgICAgICBjb25zdCBtYXhDYWNoZUlu
ZGVudCA9IDIwOwogICAgICAgICB2YXIgbWF4ID0gTWF0aC5taW4odGhpcy5faW5kZW50LCBtYXhD
YWNoZUluZGVudCk7CiAgICAgICAgIGZvciAodmFyIGkgPSB0aGlzLl9pbmRlbnRDYWNoZS5sZW5n
dGg7IGkgPD0gbWF4OyArK2kpCi0gICAgICAgICAgICB0aGlzLl9pbmRlbnRDYWNoZVtpXSA9IHRo
aXMuX2luZGVudENhY2hlW2ktMV0gKyB0aGlzLl9pbmRlbnRTdHJpbmc7CisgICAgICAgICAgICB0
aGlzLl9pbmRlbnRDYWNoZVtpXSA9IHRoaXMuX2luZGVudENhY2hlW2kgLSAxXSArIHRoaXMuX2lu
ZGVudFN0cmluZzsKIAogICAgICAgICAvLyBBcHBlbmQgaW5kZW50cyBhcyBuZWVkZWQuCiAgICAg
ICAgIHZhciBpbmRlbnQgPSB0aGlzLl9pbmRlbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvRm9ybWF0dGVyRGVidWcuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvRm9ybWF0dGVyRGVidWcuanMKaW5k
ZXggN2U4MDNhMC4uYWFiMzViOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Rv
b2xzL1ByZXR0eVByaW50aW5nL0Zvcm1hdHRlckRlYnVnLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Ub29scy9QcmV0dHlQcmludGluZy9Gb3JtYXR0ZXJEZWJ1Zy5qcwpAQCAtMjMsMTEg
KzIzLDEzIEBAIEZvcm1hdHRlci5wcm90b3R5cGUuZGVidWcgPSBmdW5jdGlvbihmcm9tLCB0bykK
IAogICAgICAgICAvLyBMYW5ndWFnZSBTcGVjaWZpYyBJbmZvCiAgICAgICAgIGlmIChzdGF0ZS5s
ZXhpY2FsKSB7CisgICAgICAgICAgICAvLyBKYXZhU2NyaXB0CiAgICAgICAgICAgICBkZWJ1ZyAr
PSAiTGV4aWNhbDogIiArIHBhZChTdHJpbmcoc3RhdGUubGV4aWNhbC50eXBlKSwgMTApOyAvLyBK
YXZhU2NyaXB0CiAgICAgICAgICAgICBkZWJ1ZyArPSAiUHJldjogIiArIHBhZChTdHJpbmcoc3Rh
dGUubGV4aWNhbC5wcmV2ID8gc3RhdGUubGV4aWNhbC5wcmV2LnR5cGUgOiBzdGF0ZS5sZXhpY2Fs
LnByZXYpLCAxMCwgIXN0YXRlLmxleGljYWwucHJldik7CisgICAgICAgIH0gZWxzZSBpZiAoc3Rh
dGUuc3RhdGUpIHsKKyAgICAgICAgICAgIC8vIENTUworICAgICAgICAgICAgZGVidWcgKz0gIlN0
YXRlOiAiICsgcGFkKFN0cmluZyhzdGF0ZS5zdGF0ZSksIDE2KTsKICAgICAgICAgfQotICAgICAg
ICBlbHNlIGlmIChzdGF0ZS5zdGFjaykKLSAgICAgICAgICAgIGRlYnVnICs9ICJTdGFjazogIiAr
IHBhZChTdHJpbmcoc3RhdGUuc3RhY2tbc3RhdGUuc3RhY2subGVuZ3RoLTFdKSwgMTYpOyAvLyBD
U1MKIAogICAgICAgICAvLyBTdHJpbmcKICAgICAgICAgZGVidWcgKz0gIkN1cnJlbnQ6ICciICsg
c3RyZWFtLmN1cnJlbnQoKSArICInXG4iOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1Rvb2xzL1ByZXR0eVByaW50aW5nL2Nzcy10ZXN0cy9iYXNpYy1leHBlY3RlZC5jc3MgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLXRlc3RzL2Jhc2lj
LWV4cGVjdGVkLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTQ5Zjlm
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVBy
aW50aW5nL2Nzcy10ZXN0cy9iYXNpYy1leHBlY3RlZC5jc3MKQEAgLTAsMCArMSw5NSBAQAorLyog
UkVTRVQgKi8KK2h0bWwsIGJvZHksIGRpdiwgdWwsIG9sLCBsaSwgZGwsIGR0LCBkZCwgaDEsIGgy
LCBoMywgaDQsIGg1LCBoNiwKK3ByZSwgZm9ybSwgcCwgYmxvY2txdW90ZSwgZmllbGRzZXQsIGlu
cHV0LCBhYmJyLCBhcnRpY2xlLCBhc2lkZSwgY29tbWFuZCwKK2RldGFpbHMsIGZpZ2NhcHRpb24s
IGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWFyaywgbWV0ZXIsIG5hdiwKK291dHB1
dCwgcHJvZ3Jlc3MsIHNlY3Rpb24sIHN1bW1hcnksIHRpbWUgeworICAgIG1hcmdpbjogMDsKKyAg
ICBwYWRkaW5nOiAwOworfQorCitoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwcmUsIGNvZGUsIGFk
ZHJlc3MsIGNhcHRpb24sIGNpdGUsIGNvZGUsIGVtLCBzdHJvbmcsCit0aCwgZmlnY2FwdGlvbiB7
CisgICAgZm9udC1zaXplOiAxZW07CisgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKKyAgICBmb250
LXN0eWxlOiBub3JtYWw7Cit9CisKK2ZpZWxkc2V0LCBpZnJhbWUgeworICAgIGJvcmRlcjogbm9u
ZQorfQorCit0YWJsZSB7CisgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICBib3Jk
ZXItc3BhY2luZzogMAorfQorCithcnRpY2xlLCBhc2lkZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91
cCwgbmF2LCBzZWN0aW9uLCBmaWd1cmUsIGZpZ2NhcHRpb24geworICAgIGRpc3BsYXk6IGJsb2Nr
OworfQorCisvKiBGSVhNRTogZXh0cmEgd2hpdGVzcGFjZSAqLworY2FwdGlvbiAsIHRoIHsKKyAg
ICB0ZXh0LWFsaWduOiBsZWZ0OworfQorCisvKiBJTVBPUlRBTlQgKi8KKy8qIEZJWE1FOiB3aGl0
ZXNwYWNlIGJldHdlZW4gIiEiIGFuZCAiaW1wb3J0YW50IiBjYW4gYmUgaW1wcm92ZWQgKi8KK2Jv
ZHkgeworICAgIGNvbG9yOiByZWQgIWltcG9ydGFudDsKK30KKworYm9keSB7CisgICAgY29sb3I6
IHJlZCAhaW1wb3J0YW50OworfQorCitib2R5IHsKKyAgICBjb2xvcjogcmVkICEgaW1wb3J0YW50
OworfQorCisvKiBJTkxJTkUgQ09NTUVOVCAqLworYm9keSB7CisgICAgY29sb3I6IHJlZDsgLyog
Ymx1ZSAqLworfQorCisvKiBVUkxTICovCisubXlpbWFnZSB7CisgICAgYmFja2dyb3VuZC1pbWFn
ZTogdXJsKGh0dHA6Ly9leGFtcGxlLmNvbS9pbWFnZS5wbmcpLCB1cmwodHdvLnBuZykKK30KKwor
Lm15aW1hZ2UgeworICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiaHR0cDovL2V4YW1wbGUuY29t
L2ltYWdlLnBuZyIpLCB1cmwoInR3by5wbmciKQorfQorCisvKiBQUkVGSVhFRCBTRUxFQ1RPUlMg
QU5EIFBST1BFUlRJRVMgKi8KKy5mb28gLXdlYmtpdC1hbnkoYSwgYiwgYykgeworICAgIC13ZWJr
aXQtdHJhbnNpdGlvbjogYWxsOworICAgIGNvbG9yOiByZWQKK30KKworLyogUFNFVURPIFNFTEVD
VE9SUyAqLworYTpsaW5rLCBhOnZpc2l0ZWQgeworICAgIGNvbG9yOiBibGFjaworfQorCisvKiBQ
U0VVRE8gRUxFTUVOVFMgKi8KK3A6OmJlZm9yZSwgcDo6YWZ0ZXIgeworICAgIGNvbnRlbnQ6ICJ0
ZXN0IjsKK30KKworLyogUkdCLCBIU0wgKi8KK2JvZHkgeworICAgIGNvbG9yOiByZ2IoMSwgMSwg
MSk7CisgICAgY29sb3I6IHJnYmEoMTAwLCAwLCAyNTUsIDAuNSk7CisgICAgY29sb3I6IGhzbCgx
MjAsIDEwMCUsIDUwJSk7CisgICAgY29sb3I6IGhzbGEoMTIwLCA2MCUsIDcwJSwgMC4zKTsKK30K
KworLyoKKyAqIFRoaXMgaXMgYSBtdWx0aS1saW5lIGNvbW1lbnQuCisgKiAtIHdpdGggaW5kZW50
YXRpb24KKyAqIC0gYW5kIGlzIGdlbmVyYWxseSBhd2Vzb21lLgorICovCitib2R5IHsKKyAgICBj
b2xvcjogcmVkCit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Ub29scy9Q
cmV0dHlQcmludGluZy9jc3MtdGVzdHMvYmFzaWMuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1Rvb2xzL1ByZXR0eVByaW50aW5nL2Nzcy10ZXN0cy9iYXNpYy5jc3MKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMDkzOWY0OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQcmludGluZy9jc3MtdGVzdHMvYmFzaWMuY3NzCkBA
IC0wLDAgKzEsNDEgQEAKKy8qIFJFU0VUICovCitodG1sLGJvZHksZGl2LHVsLG9sLGxpLGRsLGR0
LGRkLGgxLGgyLGgzLGg0LGg1LGg2LHByZSxmb3JtLHAsYmxvY2txdW90ZSxmaWVsZHNldCxpbnB1
dCxhYmJyLGFydGljbGUsYXNpZGUsY29tbWFuZCxkZXRhaWxzLGZpZ2NhcHRpb24sZmlndXJlLGZv
b3RlcixoZWFkZXIsaGdyb3VwLG1hcmssbWV0ZXIsbmF2LG91dHB1dCxwcm9ncmVzcyxzZWN0aW9u
LHN1bW1hcnksdGltZSB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgfQoraDEsaDIsaDMsaDQsaDUs
aDYscHJlLGNvZGUsYWRkcmVzcyxjYXB0aW9uLGNpdGUsY29kZSxlbSxzdHJvbmcsdGgsZmlnY2Fw
dGlvbiB7IGZvbnQtc2l6ZTogMWVtOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXN0eWxlOiBu
b3JtYWw7IH0KK2ZpZWxkc2V0LGlmcmFtZXtib3JkZXI6bm9uZX0KK3RhYmxle2JvcmRlci1jb2xs
YXBzZTpjb2xsYXBzZTtib3JkZXItc3BhY2luZzowfQorYXJ0aWNsZSxhc2lkZSxmb290ZXIsaGVh
ZGVyLGhncm91cCxuYXYsc2VjdGlvbixmaWd1cmUsZmlnY2FwdGlvbntkaXNwbGF5OiBibG9jazt9
CisKKy8qIEZJWE1FOiBleHRyYSB3aGl0ZXNwYWNlICovCitjYXB0aW9uICAsICAgdGggeyB0ZXh0
LWFsaWduOiBsZWZ0OyB9CisKKy8qIElNUE9SVEFOVCAqLworLyogRklYTUU6IHdoaXRlc3BhY2Ug
YmV0d2VlbiAiISIgYW5kICJpbXBvcnRhbnQiIGNhbiBiZSBpbXByb3ZlZCAqLworYm9keXtjb2xv
cjpyZWQhaW1wb3J0YW50O30KK2JvZHl7Y29sb3I6cmVkICFpbXBvcnRhbnQ7fQorYm9keXtjb2xv
cjpyZWQgISBpbXBvcnRhbnQ7fQorCisvKiBJTkxJTkUgQ09NTUVOVCAqLworYm9keXtjb2xvcjpy
ZWQ7LyogYmx1ZSAqL30KKworLyogVVJMUyAqLworLm15aW1hZ2V7YmFja2dyb3VuZC1pbWFnZTp1
cmwoaHR0cDovL2V4YW1wbGUuY29tL2ltYWdlLnBuZyksdXJsKHR3by5wbmcpfQorLm15aW1hZ2V7
YmFja2dyb3VuZC1pbWFnZTp1cmwoImh0dHA6Ly9leGFtcGxlLmNvbS9pbWFnZS5wbmciKSx1cmwo
InR3by5wbmciKX0KKworLyogUFJFRklYRUQgU0VMRUNUT1JTIEFORCBQUk9QRVJUSUVTICovCisu
Zm9vIC13ZWJraXQtYW55KGEsYixjKXstd2Via2l0LXRyYW5zaXRpb246YWxsO2NvbG9yOnJlZH0K
KworLyogUFNFVURPIFNFTEVDVE9SUyAqLworYTpsaW5rLGE6dmlzaXRlZHtjb2xvcjpibGFja30K
KworLyogUFNFVURPIEVMRU1FTlRTICovCitwOjpiZWZvcmUscDo6YWZ0ZXJ7Y29udGVudDoidGVz
dCI7fQorCisvKiBSR0IsIEhTTCAqLworYm9keXtjb2xvcjpyZ2IoMSwxLDEpO2NvbG9yOnJnYmEo
MTAwLDAsMjU1LDAuNSk7Y29sb3I6aHNsKDEyMCwxMDAlLDUwJSk7Y29sb3I6aHNsYSgxMjAsNjAl
LDcwJSwwLjMpO30KKworLyoKKyAqIFRoaXMgaXMgYSBtdWx0aS1saW5lIGNvbW1lbnQuCisgKiAt
IHdpdGggaW5kZW50YXRpb24KKyAqIC0gYW5kIGlzIGdlbmVyYWxseSBhd2Vzb21lLgorICovCiti
b2R5e2NvbG9yOnJlZH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Ub29scy9Q
cmV0dHlQcmludGluZy9jc3MtdGVzdHMvY2FsYy1leHBlY3RlZC5jc3MgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLXRlc3RzL2NhbGMtZXhwZWN0ZWQuY3Nz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0ZGUzMzgKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLXRl
c3RzL2NhbGMtZXhwZWN0ZWQuY3NzCkBAIC0wLDAgKzEsMjIgQEAKKy8qIENBTEMgRVhQUkVTU0lP
TlMgKi8KKy8qIEZJWE1FOiBuZWdhdGl2ZSBudW1iZXJzIGNhbiBiZSBpbXByb3ZlZCAqLworZGl2
IHsKKyAgICB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMCUgKyA4MHB4ICsgMWVtKTsKK30KKworZGl2
IHsKKyAgICB3aWR0aDogLXdlYmtpdC1jYWxjKDEwMCUgLyA2KTsKK30KKworZGl2IHsKKyAgICB3
aWR0aDogLXdlYmtpdC1jYWxjKDEwJSAqIDYpOworfQorCitkaXYgeworICAgIHdpZHRoOiBjYWxj
KC05NjBweCArIDc1JSk7Cit9CisKK2RpdiB7CisgICAgd2lkdGg6IGNhbGMoMTAwdnctNTB2dyk7
Cit9CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQcmlu
dGluZy9jc3MtdGVzdHMvY2FsYy5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJl
dHR5UHJpbnRpbmcvY3NzLXRlc3RzL2NhbGMuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjI1ZDY4ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLXRlc3RzL2NhbGMuY3NzCkBAIC0wLDAgKzEsNyBA
QAorLyogQ0FMQyBFWFBSRVNTSU9OUyAqLworLyogRklYTUU6IG5lZ2F0aXZlIG51bWJlcnMgY2Fu
IGJlIGltcHJvdmVkICovCitkaXZ7d2lkdGg6LXdlYmtpdC1jYWxjKDEwMCUrODBweCsxZW0pO30K
K2Rpdnt3aWR0aDotd2Via2l0LWNhbGMoMTAwJS82KTt9CitkaXZ7d2lkdGg6LXdlYmtpdC1jYWxj
KDEwJSo2KTt9CitkaXZ7d2lkdGg6Y2FsYygtOTYwcHgrNzUlKTt9CitkaXZ7d2lkdGg6Y2FsYygx
MDB2dy01MHZ3KTt9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJl
dHR5UHJpbnRpbmcvY3NzLXRlc3RzL21lZGlhLXF1ZXJ5LWV4cGVjdGVkLmNzcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQcmludGluZy9jc3MtdGVzdHMvbWVkaWEtcXVlcnkt
ZXhwZWN0ZWQuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhZDIyOWIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5UHJp
bnRpbmcvY3NzLXRlc3RzL21lZGlhLXF1ZXJ5LWV4cGVjdGVkLmNzcwpAQCAtMCwwICsxLDM1IEBA
CisvKiBNRURJQSBRVUVSWSBJTkRFTlRBVElPTiAqLworQG1lZGlhIHByaW50IHsKKyAgICBib2R5
LCAjbWFpbiwgI2NvbnRlbnQgeworICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OworICAg
IH0KKworICAgIGEsIGE6bGluaywgYTp2aXNpdGVkIHsKKyAgICAgICAgY29sb3I6ICMwMDAgIWlt
cG9ydGFudDsKKyAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7CisgICAg
fQorCisgICAgI3RhYnMsICNnbG9iYWxoZWFkZXIsICNnbG9iYWxmb290ZXIsICNkaXJlY3Rvcnlu
YXYsIC5ub3ByaW50LCAuaGlkZSB7CisgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsK
KyAgICB9CisKKyAgICAjbWFpbiBhLnBkZiwgI21haW4gYS5odG1sLCAjbWFpbiBhLnF0LCAjbWFp
biBhLmljYWwsICNtYWluIGEuZGwsICNtYWluIGEuZG1nLAorICAgICNtYWluIGEuemlwLCAjbWFp
biBhLmtleW5vdGUsICNtYWluIGEuYXVkaW8geworICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7Cisg
ICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7CisgICAgfQorfQorCisvKiBNRURJQSBRVUVS
WSAqLworQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1kZXZpY2Utd2lkdGg6NDgwcHgpIHsKKyAgICBo
dG1sIHsKKyAgICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOworICAgIH0KK30K
KworQG1lZGlhIG5vdCAoKHNjcmVlbikgYW5kIChwcmludCkpLCAocHJpbnQpIHsKKyAgICBib2R5
IHsKKyAgICAgICAgY29sb3I6IHJlZAorICAgIH0KK30KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVByaW50aW5nL2Nzcy10ZXN0cy9tZWRpYS1xdWVyeS5j
c3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLXRlc3Rz
L21lZGlhLXF1ZXJ5LmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODZi
Y2ZmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0
eVByaW50aW5nL2Nzcy10ZXN0cy9tZWRpYS1xdWVyeS5jc3MKQEAgLTAsMCArMSw2IEBACisvKiBN
RURJQSBRVUVSWSBJTkRFTlRBVElPTiAqLworQG1lZGlhIHByaW50e2JvZHksI21haW4sI2NvbnRl
bnR7Y29sb3I6IzAwMCFpbXBvcnRhbnQ7fWEsYTpsaW5rLGE6dmlzaXRlZHtjb2xvcjojMDAwIWlt
cG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSFpbXBvcnRhbnQ7fSN0YWJzLCNnbG9iYWxoZWFk
ZXIsI2dsb2JhbGZvb3RlciwjZGlyZWN0b3J5bmF2LC5ub3ByaW50LC5oaWRle2Rpc3BsYXk6bm9u
ZSFpbXBvcnRhbnQ7fSNtYWluIGEucGRmLCNtYWluIGEuaHRtbCwjbWFpbiBhLnF0LCNtYWluIGEu
aWNhbCwjbWFpbiBhLmRsLCNtYWluIGEuZG1nLCNtYWluIGEuemlwLCNtYWluIGEua2V5bm90ZSwj
bWFpbiBhLmF1ZGlve3BhZGRpbmctbGVmdDowO2JhY2tncm91bmQtaW1hZ2U6bm9uZTt9fQorCisv
KiBNRURJQSBRVUVSWSAqLworQG1lZGlhIHNjcmVlbiBhbmQobWF4LWRldmljZS13aWR0aDo0ODBw
eCl7aHRtbHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6bm9uZTt9fQorQG1lZGlhIG5vdCgoc2Ny
ZWVuKWFuZChwcmludCkpLChwcmludCl7Ym9keXtjb2xvcjpyZWR9fQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVByaW50aW5nL2Nzcy10ZXN0cy9zZWxlY3Rv
cnMtZXhwZWN0ZWQuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVByaW50
aW5nL2Nzcy10ZXN0cy9zZWxlY3RvcnMtZXhwZWN0ZWQuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjJlMDA3ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLXRlc3RzL3NlbGVjdG9ycy1leHBlY3Rl
ZC5jc3MKQEAgLTAsMCArMSw4IEBACisvKiBTSE9SVCBTRUxFQ1RPUiwgRU1QVFkgQ09OVEVOVCAq
LworYSB7fQorCisvKiBDT01QTEVYIFNFTEVDVE9SICovCitkaXYgZGl2ID4gZGl2I2lkLmZvby5i
YXI6aG92ZXIgLnNvbWV0aGluZyA+IC5jaGlsZCB+IC5zaWJsaW5nICsgLnNpYmxpbmc6OmFmdGVy
IHsKKyAgICBjb2xvcjogcmVkOworfQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLXRlc3RzL3NlbGVjdG9ycy5jc3MgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVG9vbHMvUHJldHR5UHJpbnRpbmcvY3NzLXRlc3RzL3NlbGVjdG9ycy5j
c3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWEzZWY3YwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Ub29scy9QcmV0dHlQcmludGluZy9jc3Mt
dGVzdHMvc2VsZWN0b3JzLmNzcwpAQCAtMCwwICsxLDUgQEAKKy8qIFNIT1JUIFNFTEVDVE9SLCBF
TVBUWSBDT05URU5UICovCithe30KKworLyogQ09NUExFWCBTRUxFQ1RPUiAqLworZGl2IGRpdj5k
aXYjaWQuZm9vLmJhcjpob3ZlciAuc29tZXRoaW5nPi5jaGlsZH4uc2libGluZysuc2libGluZzo6
YWZ0ZXJ7Y29sb3I6cmVkO30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Ub29s
cy9QcmV0dHlQcmludGluZy9pbmRleC5odG1sIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xz
L1ByZXR0eVByaW50aW5nL2luZGV4Lmh0bWwKaW5kZXggNDAwMjg1Mi4uZDRlMjAyMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVByaW50aW5nL2luZGV4Lmh0
bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Rvb2xzL1ByZXR0eVByaW50aW5nL2luZGV4
Lmh0bWwKQEAgLTE2MywxMyArMTYzLDExIEBACiAgICAgLy8gQnV0dG9uIGhlbHBlcnMuCiAgICAg
dmFyIGJ1dHRvbnMgPSBbIm1vZGUiLCAicG9wdWxhdGUiLCAicnVuLXRlc3RzIiwgImNsZWFyIiwg
InNlbGVjdC1vdXRwdXQiLCAicnVuLWFnYWluIl07CiAgICAgZnVuY3Rpb24gZGlzYWJsZUJ1dHRv
bnMoKSB7Ci0gICAgICAgIGNvbnNvbGUubG9nKCJkaXNhYmxlQnV0dG9ucyIpOwogICAgICAgICBi
dXR0b25zLmZvckVhY2goZnVuY3Rpb24oaWQpIHsKICAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKGlkKS5kaXNhYmxlZCA9IHRydWU7CiAgICAgICAgIH0pOwogICAgIH0KICAgICBm
dW5jdGlvbiBlbmFibGVCdXR0b25zKCkgewotICAgICAgICBjb25zb2xlLmxvZygiZW5hYmxlQnV0
dG9ucyIpOwogICAgICAgICBidXR0b25zLmZvckVhY2goZnVuY3Rpb24oaWQpIHsKICAgICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGlkKS5kaXNhYmxlZCA9IGZhbHNlOwogICAgICAg
ICB9KTsKQEAgLTI0Myw3ICsyNDEsMTIgQEAKICAgICAgICAgXSk7CiAgICAgfQogICAgIGZ1bmN0
aW9uIHJ1bkNTU1Rlc3RzKGNhbGxiYWNrKSB7Ci0gICAgICAgIF9ydW5UZXN0cyhjYWxsYmFjaywg
W10pOworICAgICAgICBfcnVuVGVzdHMoY2FsbGJhY2ssIFsKKyAgICAgICAgICAgICJjc3MtdGVz
dHMvYmFzaWMuY3NzIiwKKyAgICAgICAgICAgICJjc3MtdGVzdHMvY2FsYy5jc3MiLAorICAgICAg
ICAgICAgImNzcy10ZXN0cy9tZWRpYS1xdWVyeS5jc3MiLAorICAgICAgICAgICAgImNzcy10ZXN0
cy9zZWxlY3RvcnMuY3NzIiwKKyAgICAgICAgXSk7CiAgICAgfQogICAgIGZ1bmN0aW9uIF9ydW5U
ZXN0cyhjYWxsYmFjaywgbWFuaWZlc3QpIHsKICAgICAgICAgdmFyIGluZGV4ID0gLTE7CkBAIC0y
NjQsNyArMjY3LDcgQEAKIAogICAgICAgICAgICAgLy8gTG9hZCB0ZXN0IGFuZCBleHBlY3RlZCBy
ZXN1bHRzLgogICAgICAgICAgICAgdmFyIHRlc3QgPSBtYW5pZmVzdFtpbmRleF07Ci0gICAgICAg
ICAgICB2YXIgZXhwZWN0ZWQgPSB0ZXN0LnJlcGxhY2UoL1wuanMkLywgIi1leHBlY3RlZC5qcyIp
OworICAgICAgICAgICAgdmFyIGV4cGVjdGVkID0gdGVzdC5yZXBsYWNlKC9cLihbXlwuXSspJC8s
ICItZXhwZWN0ZWQuJDEiKTsKICAgICAgICAgICAgIHZhciB4aHIxID0gbmV3IFhNTEh0dHBSZXF1
ZXN0OwogICAgICAgICAgICAgeGhyMS5vcGVuKCJHRVQiLCB0ZXN0LCBmYWxzZSk7CiAgICAgICAg
ICAgICB4aHIxLnNlbmQoKTsKQEAgLTI5MSw2ICsyOTQsMTYgQEAKICAgICAgICAgICAgIC8vIENv
bXBhcmUgcmVzdWx0cy4KICAgICAgICAgICAgIHZhciBwYXNzID0gYnVpbGRlci5mb3JtYXR0ZWRD
b250ZW50ID09PSBleHBlY3RlZERhdGE7CiAgICAgICAgICAgICByZXN1bHRzLnB1c2goIi8qICIg
KyAocGFzcyA/ICJQQVNTIiA6ICJGQUlMIikgKyAiOiAiICsgdGVzdCArICIgKi8iKTsKKworICAg
ICAgICAgICAgLy8gT3V0cHV0IGZhaWx1cmVzIHRvIGNvbnNvbGUuCisgICAgICAgICAgICBpZiAo
IXBhc3MpIHsKKyAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygiVGVzdCIsIHRlc3QsICJFeHBl
Y3RlZCIsIGV4cGVjdGVkKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygiRm9ybWF0dGVk
IE91dHB1dCIsIGJ1aWxkZXIuZm9ybWF0dGVkQ29udGVudC5sZW5ndGgpOworICAgICAgICAgICAg
ICAgIGNvbnNvbGUubG9nKGJ1aWxkZXIuZm9ybWF0dGVkQ29udGVudCk7CisgICAgICAgICAgICAg
ICAgY29uc29sZS5sb2coIkV4cGVjdGVkIE91dHB1dCIsIGV4cGVjdGVkRGF0YS5sZW5ndGgpOwor
ICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGV4cGVjdGVkRGF0YSk7CisgICAgICAgICAgICB9
CisKICAgICAgICAgICAgIHJ1bk5leHRUZXN0KCk7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29kZU1pcnJvckZvcm1h
dHRlcnMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db2Rl
TWlycm9yRm9ybWF0dGVycy5qcwppbmRleCBhNDA3NWQ0Li43NThkMWJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db2RlTWlycm9yRm9ybWF0
dGVycy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9D
b2RlTWlycm9yRm9ybWF0dGVycy5qcwpAQCAtMzAwLDcgKzMwMCw3IEBAIENvZGVNaXJyb3IuZXh0
ZW5kTW9kZSgiY3NzIiwgewogICAgICAgICBpZiAoIXRva2VuKSB7CiAgICAgICAgICAgICBpZiAo
Y29udGVudCA9PT0gInsiKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0dXJuICI+K34tKi8iLmluZGV4T2YoY29u
dGVudCkgPj0gMDsgLy8gY2FsYygpIGV4cHJlc3Npb24gb3IgY2hpbGQvc2libGluZyBzZWxlY3Rv
cnMKICAgICAgICAgfQogCiAgICAgICAgIGlmIChpc0NvbW1lbnQpCkBAIC0zMjIsMTIgKzMyMiwx
NyBAQCBDb2RlTWlycm9yLmV4dGVuZE1vZGUoImNzcyIsIHsKICAgICAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAgICAgICAgIGlmIChsYXN0Q29udGVudCA9PT0gIjoiKSAvLyBTcGFjZSBp
biAicHJvcDogdmFsdWUiIGJ1dCBub3QgaW4gYSBzZWxlY3RvcnMgImE6bGluayIgb3IgImRpdjo6
YWZ0ZXIiIG9yIG1lZGlhIHF1ZXJpZXMgIihtYXgtZGV2aWNlLXdpZHRoOjQ4MHB4KSIuCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIHN0YXRlLnN0YXRlID09PSAicHJvcCI7Ci0gICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBpZiAobGFzdENvbnRlbnQgPT09ICIpIiAmJiAoY29u
dGVudCAhPT0gIikiICYmIGNvbnRlbnQgIT09ICIsIikpIC8vIFNwYWNlIGluICJub3QoZm9vKWFu
ZCIgYnV0IG5vdCBhdCB0aGUgZW5kIG9mICJub3Qobm90KGZvbykpIgorICAgICAgICAgICAgICAg
IHJldHVybiBzdGF0ZS5zdGF0ZSA9PT0gIm1lZGlhIiB8fCBzdGF0ZS5zdGF0ZSA9PT0gIm1lZGlh
X3BhcmVucyI7CisgICAgICAgICAgICByZXR1cm4gIj4rfi0qLyIuaW5kZXhPZihsYXN0Q29udGVu
dCkgPj0gMDsgLy8gY2FsYygpIGV4cHJlc3Npb24gb3IgY2hpbGQvc2libGluZyBzZWxlY3RvcnMK
ICAgICAgICAgfQogCiAgICAgICAgIGlmICgvXGJjb21tZW50XGIvLnRlc3QobGFzdFRva2VuKSkK
ICAgICAgICAgICAgIHJldHVybiB0cnVlOwogCisgICAgICAgIGlmICgvXGJrZXl3b3JkXGIvLnRl
c3QobGFzdFRva2VuKSkgLy8gbWVkaWEtcXVlcnkga2V5d29yZHMKKyAgICAgICAgICAgIHJldHVy
biBzdGF0ZS5zdGF0ZSA9PT0gIm1lZGlhIiB8fCBzdGF0ZS5zdGF0ZSA9PT0gIm1lZGlhX3BhcmVu
cyI7CisKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0sCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>