<?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>99259</bug_id>
          
          <creation_ts>2012-10-13 21:44:43 -0700</creation_ts>
          <short_desc>Web Inspector: Sass can only resolve same folder paths</short_desc>
          <delta_ts>2012-10-23 03:05:47 -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 (Deprecated)</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Paul Irish">paulirish</reporter>
          <assigned_to name="Alexander Pavlov (apavlov)">apavlov</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>vsevik</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>741547</commentid>
    <comment_count>0</comment_count>
    <who name="Paul Irish">paulirish</who>
    <bug_when>2012-10-13 21:44:43 -0700</bug_when>
    <thetext>A few ways to trigger this issue

Use a folder structure like 
|- css\*
\- sass\*

Or one like
\-css\*
  \-sass\*

1) Compile sass with line numbers.

2) above a block of styles, view the filename
2a) Bug: it may appear as &quot;css/..:213&quot; which doesn&apos;t give the source filename

3) click the file link

4a) on the file:/// protocol, a new tab opens pointing to an Index page for the folder that contains the host page.
4b) with the project in localhost, clicking the filename link opens the host page as (program) in sources, but jumps to line 213</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742051</commentid>
    <comment_count>1</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-10-15 08:08:41 -0700</bug_when>
    <thetext>@Paul: you are using the &quot;Support for SASS&quot; experiment, right?

@Seva: can you comment on the bug once the resources start appearing for the *.scss files (per our offline discussion)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747459</commentid>
    <comment_count>2</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-10-22 05:39:18 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; 2) above a block of styles, view the filename
&gt; 2a) Bug: it may appear as &quot;css/..:213&quot; which doesn&apos;t give the source filename

Could not reproduce this on tip of tree. I get &quot;css/test.scss:213&quot;, which is ugly, of course, and I&apos;m going to address this.

&gt; 3) click the file link
&gt; 
&gt; 4a) on the file:/// protocol, a new tab opens pointing to an Index page for the folder that contains the host page.

Could not reproduce this either. With the experiment enabled, the Sources panel navigates to the correct line in the original scss.

&gt; 4b) with the project in localhost, clicking the filename link opens the host page as (program) in sources, but jumps to line 213

Not sure what the correct behavior should be in this case, since the debug info generated by SASS provides absolute file://... URLs for the rules&apos; original locations in scss files. This might or might not work at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747472</commentid>
    <comment_count>3</comment_count>
      <attachid>169889</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-10-22 05:57:36 -0700</bug_when>
    <thetext>Created attachment 169889
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748318</commentid>
    <comment_count>4</comment_count>
      <attachid>169889</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-23 00:18:47 -0700</bug_when>
    <thetext>Comment on attachment 169889
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=169889&amp;action=review

&gt; Source/WebCore/inspector/front-end/CSSStyleModel.js:505
&gt; +        if (!location.uiLocation())

Does it ever happen? We should avoid having rawLocation that does not have matching uiLocation as much as possible.

&gt; Source/WebCore/inspector/front-end/CSSStyleModel.js:508
&gt; +            this._locations = [];

nit: We will always have some live locations on CSSStyleModel, so I would move this._locations = []; to constructor (and annotate it) to make code simpler.

&gt; Source/WebCore/inspector/front-end/Linkifier.js:113
&gt; +    _updateCSSAnchor: function(anchor, uiLocation)

You should reuse _updateAnchor and move CSS domain specific logic to you own LinkifierFormatter implementation (probably inherited form DefaultFormatter).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748359</commentid>
    <comment_count>5</comment_count>
      <attachid>170076</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-10-23 01:17:16 -0700</bug_when>
    <thetext>Created attachment 170076
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748402</commentid>
    <comment_count>6</comment_count>
      <attachid>170076</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-23 02:19:39 -0700</bug_when>
    <thetext>Comment on attachment 170076
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=170076&amp;action=review

&gt; Source/WebCore/inspector/front-end/CSSStyleModel.js:516
&gt; +        if (!this._locations)

Redundant.

&gt; Source/WebCore/inspector/front-end/CSSStyleModel.js:823
&gt; +WebInspector.CSSRule.Location = function(rawLocation, updateDelegate)

Where is nothing rule specific here, let&apos;s call it WebInspector.CSSStyleModel.Location instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748442</commentid>
    <comment_count>7</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-10-23 03:05:47 -0700</bug_when>
    <thetext>Committed r132197: &lt;http://trac.webkit.org/changeset/132197&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169889</attachid>
            <date>2012-10-22 05:57:36 -0700</date>
            <delta_ts>2012-10-23 01:17:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99259-20121022165614.patch</filename>
            <type>text/plain</type>
            <size>11574</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmRkYmUxYTlkMDIzZDQy
MjA3NmQwNTJjZTIyNGIyMjcwOGM2NTEyMy4uNGQwNTMwODQ2YmNhNDIzMWIwOTVkZmU1YjEwYzM1
YjI4YzU1NzJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTEwLTIyICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogU2FzcyBjYW4gb25seSByZXNvbHZlIHNhbWUgZm9sZGVyIHBhdGhzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTI1OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBhY3R1YWwgcmVhc29uIGlz
IHRoYXQgdGhlIHJ1bGUgc291cmNlIGxvY2F0aW9uIGxpbmtpZmllciB0cmllcyB0byBsaW5raWZ5
IGEgcmVzb3VyY2UgKCouc2NzcyksIHdoaWNoIGRvZXMgbm90IGV4aXN0LAorICAgICAgICBhbmQg
ZmFsbHMgYmFjayB0byBqdXN0IHN0cmlwcGluZyB0aGUgbWFpbiBwYWdlIFVSTCBwcmVmaXggZnJv
bSB0aGUgcnVsZSBsb2NhdGlvbiBVUkwuIFRoaXMgY2hhbmdlIGludHJvZHVjZXMgTGl2ZUxvY2F0
aW9ucworICAgICAgICBmb3IgQ1NTUnVsZSBsb2NhdGlvbnMgYW5kIG1ha2VzIHN1cmUgdGhleSBh
cmUgbGlua2lmaWVkIHVzaW5nIHVpU291cmNlQ29kZSdzIHBhcnNlZFVSTC5kaXNwbGF5TmFtZS4K
KworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZU1vZGVsLnByb3RvdHlwZS5jcmVhdGVMaXZlTG9jYXRp
b24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwucHJvdG90eXBlLnVwZGF0
ZUxvY2F0aW9ucyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTUnVsZS5wcm90b3R5cGUuZ2V0
IGlzUmVndWxhcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTUnVsZS5Mb2NhdGlvbik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTUnVsZS5Mb2NhdGlvbi5wcm90b3R5cGUudWlMb2NhdGlv
bik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTUnVsZS5Mb2NhdGlvbi5wcm90b3R5cGUuZGlz
cG9zZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9MaW5raWZpZXIuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuTGlua2lmaWVyLnByb3RvdHlwZS5saW5raWZ5Q1NTUnVsZUxvY2F0
aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MaW5raWZpZXIucHJvdG90eXBlLl91cGRhdGVD
U1NBbmNob3IpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VVdGlscy5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvclVSTCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9TQVNTU291cmNlTWFwcGluZy5qczoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlN0eWxlc1NpZGViYXJQYW5lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TdHlsZXNTaWRl
YmFyUGFuZS5wcm90b3R5cGUuX2lubmVyUmVidWlsZFVwZGF0ZSk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbDoKKwogMjAxMi0xMC0yMSAgS2VudCBUYW11cmEg
IDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUGFnZSBwb3B1cDogRml4IGNyYXNoIGJ5
IGV2ZW50cyBhZnRlciBjbG9zaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0NTU1N0eWxlTW9kZWwuanMKaW5kZXggNjY5ZTc3ZTFkNzAwMDc4M2QzMWIzMzI0
ODQxYTQyODM4YzI4NGNiOC4uZWFmYThkZGU3NjI1MTE4NmY3ZDhlY2Q3YzdhYTMxZTE4Y2JjZTg0
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHls
ZU1vZGVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5
bGVNb2RlbC5qcwpAQCAtNDk0LDYgKzQ5NCwzMiBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2Rl
bC5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgorICAgICAqIEBwYXJhbSB7ZnVuY3Rp
b24oV2ViSW5zcGVjdG9yLlVJTG9jYXRpb24pOihib29sZWFufHVuZGVmaW5lZCl9IHVwZGF0ZURl
bGVnYXRlCisgICAgICogQHJldHVybiB7P1dlYkluc3BlY3Rvci5MaXZlTG9jYXRpb259CisgICAg
ICovCisgICAgY3JlYXRlTGl2ZUxvY2F0aW9uOiBmdW5jdGlvbihjc3NSdWxlLCB1cGRhdGVEZWxl
Z2F0ZSkKKyAgICB7CisgICAgICAgIGlmICghY3NzUnVsZS5fcmF3TG9jYXRpb24pCisgICAgICAg
ICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgdmFyIGxvY2F0aW9uID0gbmV3IFdlYkluc3BlY3Rv
ci5DU1NSdWxlLkxvY2F0aW9uKGNzc1J1bGUuX3Jhd0xvY2F0aW9uLCB1cGRhdGVEZWxlZ2F0ZSk7
CisgICAgICAgIGlmICghbG9jYXRpb24udWlMb2NhdGlvbigpKQorICAgICAgICAgICAgcmV0dXJu
IG51bGw7CisgICAgICAgIGlmICghdGhpcy5fbG9jYXRpb25zKQorICAgICAgICAgICAgdGhpcy5f
bG9jYXRpb25zID0gW107CisgICAgICAgIHRoaXMuX2xvY2F0aW9ucy5wdXNoKGxvY2F0aW9uKTsK
KyAgICAgICAgbG9jYXRpb24udXBkYXRlKCk7CisgICAgICAgIHJldHVybiBsb2NhdGlvbjsKKyAg
ICB9LAorCisgICAgdXBkYXRlTG9jYXRpb25zOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBp
ZiAoIXRoaXMuX2xvY2F0aW9ucykKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCB0aGlzLl9sb2NhdGlvbnMubGVuZ3RoOyArK2kpCisgICAgICAgICAgICB0
aGlzLl9sb2NhdGlvbnNbaV0udXBkYXRlKCk7CisgICAgfSwKKworICAgIC8qKgogICAgICAqIEBw
YXJhbSB7V2ViSW5zcGVjdG9yLkNTU0xvY2F0aW9ufSByYXdMb2NhdGlvbgogICAgICAqIEByZXR1
cm4gez9XZWJJbnNwZWN0b3IuVUlMb2NhdGlvbn0KICAgICAgKi8KQEAgLTc4NSwxNyArODExLDM5
IEBAIFdlYkluc3BlY3Rvci5DU1NSdWxlLnByb3RvdHlwZSA9IHsKICAgICBnZXQgaXNSZWd1bGFy
KCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLm9yaWdpbiA9PT0gInJlZ3VsYXIiOwotICAg
IH0sCisgICAgfQorfQogCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1dlYklu
c3BlY3Rvci5MaXZlTG9jYXRpb259CisgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5DU1NMb2NhdGlv
bn0gcmF3TG9jYXRpb24KKyAqIEBwYXJhbSB7ZnVuY3Rpb24oV2ViSW5zcGVjdG9yLlVJTG9jYXRp
b24pOihib29sZWFufHVuZGVmaW5lZCl9IHVwZGF0ZURlbGVnYXRlCisgKi8KK1dlYkluc3BlY3Rv
ci5DU1NSdWxlLkxvY2F0aW9uID0gZnVuY3Rpb24ocmF3TG9jYXRpb24sIHVwZGF0ZURlbGVnYXRl
KQoreworICAgIFdlYkluc3BlY3Rvci5MaXZlTG9jYXRpb24uY2FsbCh0aGlzLCByYXdMb2NhdGlv
biwgdXBkYXRlRGVsZWdhdGUpOworfQorCitXZWJJbnNwZWN0b3IuQ1NTUnVsZS5Mb2NhdGlvbi5w
cm90b3R5cGUgPSB7CiAgICAgLyoqCi0gICAgICogQHJldHVybiB7P1dlYkluc3BlY3Rvci5VSUxv
Y2F0aW9ufQorICAgICAqIEByZXR1cm4ge1dlYkluc3BlY3Rvci5VSUxvY2F0aW9ufQogICAgICAq
LwogICAgIHVpTG9jYXRpb246IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy5f
cmF3TG9jYXRpb24pCi0gICAgICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAgICAgcmV0dXJuIFdl
Ykluc3BlY3Rvci5jc3NNb2RlbC5fcmF3TG9jYXRpb25Ub1VJTG9jYXRpb24odGhpcy5fcmF3TG9j
YXRpb24pOwotICAgIH0KKyAgICAgICAgdmFyIGNzc0xvY2F0aW9uID0gLyoqIEB0eXBlIFdlYklu
c3BlY3Rvci5DU1NMb2NhdGlvbiAqLyB0aGlzLnJhd0xvY2F0aW9uKCk7CisgICAgICAgIHJldHVy
biBXZWJJbnNwZWN0b3IuY3NzTW9kZWwuX3Jhd0xvY2F0aW9uVG9VSUxvY2F0aW9uKGNzc0xvY2F0
aW9uKTsKKyAgICB9LAorCisgICAgZGlzcG9zZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAg
V2ViSW5zcGVjdG9yLkxpdmVMb2NhdGlvbi5wcm90b3R5cGUuZGlzcG9zZS5jYWxsKHRoaXMpOwor
ICAgICAgICB2YXIgbG9jYXRpb25zID0gV2ViSW5zcGVjdG9yLmNzc01vZGVsLl9sb2NhdGlvbnM7
CisgICAgICAgIGlmIChsb2NhdGlvbnMpCisgICAgICAgICAgICBsb2NhdGlvbnMucmVtb3ZlKHRo
aXMpOworICAgIH0sCisKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5MaXZlTG9jYXRpb24u
cHJvdG90eXBlCiB9CiAKIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9MaW5raWZpZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0xpbmtpZmllci5qcwppbmRleCBjNjY4YTQ1YzY0ZWMwZmIwN2JkMWE4MDRkMzZhODY3MGRi
ZTJkMzMwLi5lZDMyYzlkY2M1Nzg2NTU0YTFlMTdjZjI2YTg3OGZmMzMxZTM3NWEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0xpbmtpZmllci5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0xpbmtpZmllci5qcwpAQCAtNTks
NiArNTksNyBAQCBXZWJJbnNwZWN0b3IuTGlua2lmaWVyLnByb3RvdHlwZSA9IHsKICAgICAgKiBA
cGFyYW0ge251bWJlcn0gbGluZU51bWJlcgogICAgICAqIEBwYXJhbSB7bnVtYmVyPX0gY29sdW1u
TnVtYmVyCiAgICAgICogQHBhcmFtIHtzdHJpbmc9fSBjbGFzc2VzCisgICAgICogQHJldHVybiB7
RWxlbWVudH0KICAgICAgKi8KICAgICBsaW5raWZ5TG9jYXRpb246IGZ1bmN0aW9uKHNvdXJjZVVS
TCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBjbGFzc2VzKQogICAgIHsKQEAgLTcxLDYgKzcy
LDcgQEAgV2ViSW5zcGVjdG9yLkxpbmtpZmllci5wcm90b3R5cGUgPSB7CiAgICAgLyoqCiAgICAg
ICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuRGVidWdnZXJNb2RlbC5Mb2NhdGlvbn0gcmF3TG9jYXRp
b24KICAgICAgKiBAcGFyYW0ge3N0cmluZz19IGNsYXNzZXMKKyAgICAgKiBAcmV0dXJuIHtFbGVt
ZW50fQogICAgICAqLwogICAgIGxpbmtpZnlSYXdMb2NhdGlvbjogZnVuY3Rpb24ocmF3TG9jYXRp
b24sIGNsYXNzZXMpCiAgICAgewpAQCAtODMsNiArODUsMjAgQEAgV2ViSW5zcGVjdG9yLkxpbmtp
Zmllci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJldHVybiBhbmNob3I7CiAgICAgfSwKIAorICAg
IC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkNTU1J1bGV9IHJ1bGUKKyAgICAgKiBA
cmV0dXJuIHs/RWxlbWVudH0KKyAgICAgKi8KKyAgICBsaW5raWZ5Q1NTUnVsZUxvY2F0aW9uOiBm
dW5jdGlvbihydWxlKQorICAgIHsKKyAgICAgICAgdmFyIGFuY2hvciA9IFdlYkluc3BlY3Rvci5s
aW5raWZ5VVJMQXNOb2RlKCIiLCAiIiwgIiIsIGZhbHNlKTsKKyAgICAgICAgdmFyIGxpdmVMb2Nh
dGlvbiA9IFdlYkluc3BlY3Rvci5jc3NNb2RlbC5jcmVhdGVMaXZlTG9jYXRpb24ocnVsZSwgdGhp
cy5fdXBkYXRlQ1NTQW5jaG9yLmJpbmQodGhpcywgYW5jaG9yKSk7CisgICAgICAgIGlmICghbGl2
ZUxvY2F0aW9uKQorICAgICAgICAgICAgcmV0dXJuIG51bGw7CisgICAgICAgIHRoaXMuX2xpdmVM
b2NhdGlvbnMucHVzaChsaXZlTG9jYXRpb24pOworICAgICAgICByZXR1cm4gYW5jaG9yOworICAg
IH0sCisKICAgICByZXNldDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgZm9yICh2YXIgaSA9
IDA7IGkgPCB0aGlzLl9saXZlTG9jYXRpb25zLmxlbmd0aDsgKytpKQpAQCAtOTQsNiArMTEwLDIy
IEBAIFdlYkluc3BlY3Rvci5MaW5raWZpZXIucHJvdG90eXBlID0gewogICAgICAqIEBwYXJhbSB7
RWxlbWVudH0gYW5jaG9yCiAgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlMb2NhdGlvbn0g
dWlMb2NhdGlvbgogICAgICAqLworICAgIF91cGRhdGVDU1NBbmNob3I6IGZ1bmN0aW9uKGFuY2hv
ciwgdWlMb2NhdGlvbikKKyAgICB7CisgICAgICAgIGFuY2hvci5wcmVmZXJyZWRQYW5lbCA9ICJz
Y3JpcHRzIjsKKyAgICAgICAgYW5jaG9yLmhyZWYgPSBzYW5pdGl6ZUhyZWYodWlMb2NhdGlvbi51
aVNvdXJjZUNvZGUudXJsKTsKKyAgICAgICAgYW5jaG9yLmNsYXNzTGlzdC5hZGQoIndlYmtpdC1o
dG1sLXJlc291cmNlLWxpbmsiKTsKKyAgICAgICAgYW5jaG9yLnVpU291cmNlQ29kZSA9IHVpTG9j
YXRpb24udWlTb3VyY2VDb2RlOworICAgICAgICBhbmNob3IubGluZU51bWJlciA9IHVpTG9jYXRp
b24ubGluZU51bWJlcjsKKyAgICAgICAgdGhpcy5fZm9ybWF0dGVyLmZvcm1hdExpdmVBbmNob3Io
YW5jaG9yLCB1aUxvY2F0aW9uKTsKKyAgICAgICAgYW5jaG9yLnNldEF0dHJpYnV0ZSgiZGF0YS11
bmNvcHlhYmxlIiwgYW5jaG9yLnRleHRDb250ZW50KTsKKyAgICAgICAgYW5jaG9yLnRleHRDb250
ZW50ID0gIiI7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7RWxlbWVudH0gYW5j
aG9yCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuVUlMb2NhdGlvbn0gdWlMb2NhdGlvbgor
ICAgICAqLwogICAgIF91cGRhdGVBbmNob3I6IGZ1bmN0aW9uKGFuY2hvciwgdWlMb2NhdGlvbikK
ICAgICB7CiAgICAgICAgIGFuY2hvci5wcmVmZXJyZWRQYW5lbCA9ICJzY3JpcHRzIjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VVdGlscy5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VVdGlscy5qcwpp
bmRleCAyMDdiZjBiMzFhODE0ZTY2ZDg2ZTJjMGZiOTgyMmY1MTkxOTU4NjRhLi4wNjhhMTFiYTU4
ZTA5ZWZmMDZjOTFiZmZlYWY0MjI0MzMyYTk5ZDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVXRpbHMuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVV0aWxzLmpzCkBAIC01OCw2ICs1OCwxMCBA
QCBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwgPSBmdW5jdGlvbih1cmwpCiAgICAgaWYg
KHJlc291cmNlKQogICAgICAgICByZXR1cm4gcmVzb3VyY2UuZGlzcGxheU5hbWU7CiAKKyAgICB2
YXIgdWlTb3VyY2VDb2RlID0gV2ViSW5zcGVjdG9yLndvcmtzcGFjZS51aVNvdXJjZUNvZGVGb3JV
UkwodXJsKTsKKyAgICBpZiAodWlTb3VyY2VDb2RlKQorICAgICAgICByZXR1cm4gdWlTb3VyY2VD
b2RlLnBhcnNlZFVSTC5kaXNwbGF5TmFtZTsKKwogICAgIGlmICghV2ViSW5zcGVjdG9yLmluc3Bl
Y3RlZFBhZ2VVUkwpCiAgICAgICAgIHJldHVybiB1cmwudHJpbVVSTCgiIik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcu
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NBU1NTb3VyY2VNYXBwaW5n
LmpzCmluZGV4IGExMTRkZjkwMWNhYzJiYzFhZTYyNjQ0OGFhMjRlMjQyMGNkMDcwMjUuLmU1MGY1
MzQ4OGU3Y2UyZDc4ZjUwMmNhZWQxMjY5ZjBjMWJmMzFhOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TQVNTU291cmNlTWFwcGluZy5qcwpAQCAt
MTAwLDYgKzEwMCw3IEBAIFdlYkluc3BlY3Rvci5TQVNTU291cmNlTWFwcGluZy5wcm90b3R5cGUg
PSB7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5jc3NNb2RlbC51cGRhdGVMb2Nh
dGlvbnMoKTsKICAgICAgICAgfQogICAgICAgICByZXNvdXJjZS5yZXF1ZXN0Q29udGVudChkaWRS
ZXF1ZXN0Q29udGVudC5iaW5kKHRoaXMpKTsKICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKaW5kZXggZjZk
MzU2ZTk3MTk0MWRjMjljNDA0MTcxZDVmNTE3N2M5MDI4NGE3MC4uNDI1MWFjZWMzMTkxODgxODU3
NjBjNWI1NGQyMGQzNDhjNWI5MmViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCkBAIC05NCw2ICs5NCw3IEBA
IFdlYkluc3BlY3Rvci5TdHlsZXNTaWRlYmFyUGFuZSA9IGZ1bmN0aW9uKGNvbXB1dGVkU3R5bGVQ
YW5lLCBzZXRQc2V1ZG9DbGFzc0NhbGxiCiAgICAgdGhpcy5ib2R5RWxlbWVudC5hcHBlbmRDaGls
ZCh0aGlzLl9zZWN0aW9uc0NvbnRhaW5lcik7CiAKICAgICB0aGlzLl9zcGVjdHJ1bSA9IG5ldyBX
ZWJJbnNwZWN0b3IuU3BlY3RydW0oKTsKKyAgICB0aGlzLl9saW5raWZpZXIgPSBuZXcgV2ViSW5z
cGVjdG9yLkxpbmtpZmllcigpOwogCiAgICAgV2ViSW5zcGVjdG9yLmNzc01vZGVsLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwuRXZlbnRzLlN0eWxlU2hlZXRDaGFu
Z2VkLCB0aGlzLl9zdHlsZVNoZWV0T3JNZWRpYVF1ZXJ5UmVzdWx0Q2hhbmdlZCwgdGhpcyk7CiAg
ICAgV2ViSW5zcGVjdG9yLmNzc01vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkNT
U1N0eWxlTW9kZWwuRXZlbnRzLk1lZGlhUXVlcnlSZXN1bHRDaGFuZ2VkLCB0aGlzLl9zdHlsZVNo
ZWV0T3JNZWRpYVF1ZXJ5UmVzdWx0Q2hhbmdlZCwgdGhpcyk7CkBAIC0zNTMsNiArMzU0LDcgQEAg
V2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAg
ICAgIHRoaXMuX3NlY3Rpb25zQ29udGFpbmVyLnJlbW92ZUNoaWxkcmVuKCk7CiAgICAgICAgIHRo
aXMuX2NvbXB1dGVkU3R5bGVQYW5lLmJvZHlFbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7CisgICAg
ICAgIHRoaXMuX2xpbmtpZmllci5yZXNldCgpOwogCiAgICAgICAgIHZhciBzdHlsZVJ1bGVzID0g
dGhpcy5fcmVidWlsZFN0eWxlUnVsZXMobm9kZSwgc3R5bGVzKTsKICAgICAgICAgdmFyIHVzZWRQ
cm9wZXJ0aWVzID0ge307CkBAIC0xMTkxLDEzICsxMTkzLDggQEAgV2ViSW5zcGVjdG9yLlN0eWxl
UHJvcGVydGllc1NlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuIGxpbms7
CiAgICAgICAgIH0KIAotICAgICAgICBpZiAodGhpcy5zdHlsZVJ1bGUuc291cmNlVVJMKSB7Ci0g
ICAgICAgICAgICB2YXIgdWlMb2NhdGlvbiA9IHRoaXMucnVsZS51aUxvY2F0aW9uKCk7Ci0gICAg
ICAgICAgICBpZiAodWlMb2NhdGlvbikKLSAgICAgICAgICAgICAgICByZXR1cm4gbGlua2lmeVVu
Y29weWFibGUodWlMb2NhdGlvbi51cmwoKSwgdWlMb2NhdGlvbi5saW5lTnVtYmVyKTsKLSAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICByZXR1cm4gbGlua2lmeVVuY29weWFibGUodGhp
cy5zdHlsZVJ1bGUuc291cmNlVVJMLCB0aGlzLnJ1bGUuc291cmNlTGluZSk7Ci0gICAgICAgIH0K
KyAgICAgICAgaWYgKHRoaXMuc3R5bGVSdWxlLnNvdXJjZVVSTCkKKyAgICAgICAgICAgIHJldHVy
biB0aGlzLl9wYXJlbnRQYW5lLl9saW5raWZpZXIubGlua2lmeUNTU1J1bGVMb2NhdGlvbih0aGlz
LnJ1bGUpIHx8IGxpbmtpZnlVbmNvcHlhYmxlKHRoaXMuc3R5bGVSdWxlLnNvdXJjZVVSTCwgdGhp
cy5ydWxlLnNvdXJjZUxpbmUpOwogCiAgICAgICAgIGlmICghdGhpcy5ydWxlKQogICAgICAgICAg
ICAgcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCmluZGV4IGVkYThkZGYwYzBi
Zjc2MjAzNDY1MTliOGE3ZGVkNDhiYzNmZmUxODQuLmMyNGQ1M2NlOWNlYzI4ZTRjY2YxMzU2MTY4
ZGRjNDgwZTgxMDE0ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmh0bWwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9pbnNwZWN0b3IuaHRtbApAQCAtNzEsNiArNzEsNyBAQCBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNvbnRlbnRQcm92aWRlci5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iUmVzb3VyY2UuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ik5ldHdv
cmtSZXF1ZXN0LmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJVSVNvdXJjZUNvZGUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBzcmM9IkNTU1N0eWxlTW9kZWwuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ik5ldHdvcmtNYW5hZ2VyLmpzIj48L3Njcmlw
dD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJOZXR3b3JrTG9nLmpz
Ij48L3NjcmlwdD4KQEAgLTEzMSw3ICsxMzIsNiBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkZpbGVVdGlscy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRGVidWdnZXJNb2RlbC5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iU291cmNlTWFwcGlu
Zy5qcyI+PC9zY3JpcHQ+Ci0gICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
VUlTb3VyY2VDb2RlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSJTY3JpcHQuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0IiBzcmM9IkxpbmtpZmllci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRGVidWdnZXJTY3JpcHRNYXBwaW5nLmpzIj48L3Njcmlw
dD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170076</attachid>
            <date>2012-10-23 01:17:16 -0700</date>
            <delta_ts>2012-10-23 02:19:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99259-20121023121552.patch</filename>
            <type>text/plain</type>
            <size>12365</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDMzMGEwNTk4NDYzMzdk
ZWUyZjI3OTg3NDgzNWNhNmI0NTM4ZTAwYS4uZDNlMzg2MjA1ZjJlZGNmYTQyYWU4YzFjY2UyYzZl
ODZiOWIzMmQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTEwLTIyICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogU2FzcyBjYW4gb25seSByZXNvbHZlIHNhbWUgZm9sZGVyIHBhdGhzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTI1OQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBhY3R1YWwgcmVhc29uIGlz
IHRoYXQgdGhlIHJ1bGUgc291cmNlIGxvY2F0aW9uIGxpbmtpZmllciB0cmllcyB0byBsaW5raWZ5
IGEgcmVzb3VyY2UgKCouc2NzcyksIHdoaWNoIGRvZXMgbm90IGV4aXN0LAorICAgICAgICBhbmQg
ZmFsbHMgYmFjayB0byBqdXN0IHN0cmlwcGluZyB0aGUgbWFpbiBwYWdlIFVSTCBwcmVmaXggZnJv
bSB0aGUgcnVsZSBsb2NhdGlvbiBVUkwuIFRoaXMgY2hhbmdlIGludHJvZHVjZXMgTGl2ZUxvY2F0
aW9ucworICAgICAgICBmb3IgQ1NTUnVsZSBsb2NhdGlvbnMgYW5kIG1ha2VzIHN1cmUgdGhleSBh
cmUgbGlua2lmaWVkIHVzaW5nIHVpU291cmNlQ29kZSdzIHBhcnNlZFVSTC5kaXNwbGF5TmFtZS4K
KworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZU1vZGVsKTogSW50cm9kdWNlZCBMaXZlTG9jYXRpb24g
bWFuYWdlbWVudCBmb3IgQ1NTUnVsZXMuCisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVN
b2RlbC5wcm90b3R5cGUuY3JlYXRlTGl2ZUxvY2F0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5DU1NTdHlsZU1vZGVsLnByb3RvdHlwZS51cGRhdGVMb2NhdGlvbnMpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkNTU1J1bGUuTG9jYXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1J1
bGUuTG9jYXRpb24ucHJvdG90eXBlLnVpTG9jYXRpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNTU1J1bGUuTG9jYXRpb24ucHJvdG90eXBlLmRpc3Bvc2UpOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvTGlua2lmaWVyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkxpbmtpZmll
ci5wcm90b3R5cGUubGlua2lmeUNTU1J1bGVMb2NhdGlvbik6IENTU1J1bGUgTGl2ZUxvY2F0aW9u
LWJhc2VkIGxpbmsgYnVpbGRlci4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5MaW5raWZpZXIuRGVm
YXVsdENTU0Zvcm1hdHRlcik6IEZvcm1hdHRlciBmb3IgQ1NTIGxvY2F0aW9uIGxpbmtzLgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkxpbmtpZmllci5EZWZhdWx0Q1NTRm9ybWF0dGVyLnByb3RvdHlw
ZS5mb3JtYXRMaXZlQW5jaG9yKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291
cmNlVXRpbHMuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwpOiBV
c2UgcGFyc2VkVVJMLmRpc3BsYXlOYW1lIGlmIHVpU291cmNlQ29kZSBpcyBwcmVzZW50IGZvciB0
aGUgc3BlY2lmaWVkIFVSTC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NBU1NTb3Vy
Y2VNYXBwaW5nLmpzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJh
clBhbmUuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lLnByb3RvdHlwZS5faW5uZXJSZWJ1
aWxkVXBkYXRlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1s
OgorCiAyMDEyLTEwLTIyICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgSW5kZXhlZERCOiBSZW1vdmUgY3VzdG9tIGJpbmRpbmcgY29kZSBmb3IgSURCQ3Vyc29y
LnZhbHVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NT
U1N0eWxlTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0
eWxlTW9kZWwuanMKaW5kZXggNjY5ZTc3ZTFkNzAwMDc4M2QzMWIzMzI0ODQxYTQyODM4YzI4NGNi
OC4uZjkwZDVjYzc2OWMwYmQwMjcxMzQ2MTgyZjA2YzgyMTQ5YTU5YzAzZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1vZGVsLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2RlbC5qcwpAQCAt
MzUsNiArMzUsOCBAQAogV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwgPSBmdW5jdGlvbigpCiB7
CiAgICAgdGhpcy5fcGVuZGluZ0NvbW1hbmRzTWFqb3JTdGF0ZSA9IFtdOworICAgIC8qKiBAdHlw
ZSB7QXJyYXkuPFdlYkluc3BlY3Rvci5DU1NSdWxlLkxvY2F0aW9uPn0gKi8KKyAgICB0aGlzLl9s
b2NhdGlvbnMgPSBbXTsKICAgICB0aGlzLl9zb3VyY2VNYXBwaW5ncyA9IHt9OwogICAgIFdlYklu
c3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5F
dmVudHMuVW5kb1JlZG9SZXF1ZXN0ZWQsIHRoaXMuX3VuZG9SZWRvUmVxdWVzdGVkLCB0aGlzKTsK
ICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
RE9NQWdlbnQuRXZlbnRzLlVuZG9SZWRvQ29tcGxldGVkLCB0aGlzLl91bmRvUmVkb0NvbXBsZXRl
ZCwgdGhpcyk7CkBAIC00OTQsNiArNDk2LDMwIEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZU1vZGVs
LnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCisgICAgICogQHBhcmFtIHtmdW5jdGlv
bihXZWJJbnNwZWN0b3IuVUlMb2NhdGlvbik6KGJvb2xlYW58dW5kZWZpbmVkKX0gdXBkYXRlRGVs
ZWdhdGUKKyAgICAgKiBAcmV0dXJuIHs/V2ViSW5zcGVjdG9yLkxpdmVMb2NhdGlvbn0KKyAgICAg
Ki8KKyAgICBjcmVhdGVMaXZlTG9jYXRpb246IGZ1bmN0aW9uKGNzc1J1bGUsIHVwZGF0ZURlbGVn
YXRlKQorICAgIHsKKyAgICAgICAgaWYgKCFjc3NSdWxlLl9yYXdMb2NhdGlvbikKKyAgICAgICAg
ICAgIHJldHVybiBudWxsOworICAgICAgICB2YXIgbG9jYXRpb24gPSBuZXcgV2ViSW5zcGVjdG9y
LkNTU1J1bGUuTG9jYXRpb24oY3NzUnVsZS5fcmF3TG9jYXRpb24sIHVwZGF0ZURlbGVnYXRlKTsK
KyAgICAgICAgaWYgKCFsb2NhdGlvbi51aUxvY2F0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4g
bnVsbDsKKyAgICAgICAgdGhpcy5fbG9jYXRpb25zLnB1c2gobG9jYXRpb24pOworICAgICAgICBs
b2NhdGlvbi51cGRhdGUoKTsKKyAgICAgICAgcmV0dXJuIGxvY2F0aW9uOworICAgIH0sCisKKyAg
ICB1cGRhdGVMb2NhdGlvbnM6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICghdGhpcy5f
bG9jYXRpb25zKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBmb3IgKHZhciBpID0gMDsg
aSA8IHRoaXMuX2xvY2F0aW9ucy5sZW5ndGg7ICsraSkKKyAgICAgICAgICAgIHRoaXMuX2xvY2F0
aW9uc1tpXS51cGRhdGUoKTsKKyAgICB9LAorCisgICAgLyoqCiAgICAgICogQHBhcmFtIHtXZWJJ
bnNwZWN0b3IuQ1NTTG9jYXRpb259IHJhd0xvY2F0aW9uCiAgICAgICogQHJldHVybiB7P1dlYklu
c3BlY3Rvci5VSUxvY2F0aW9ufQogICAgICAqLwpAQCAtNzg1LDE3ICs4MTEsMzkgQEAgV2ViSW5z
cGVjdG9yLkNTU1J1bGUucHJvdG90eXBlID0gewogICAgIGdldCBpc1JlZ3VsYXIoKQogICAgIHsK
ICAgICAgICAgcmV0dXJuIHRoaXMub3JpZ2luID09PSAicmVndWxhciI7Ci0gICAgfSwKKyAgICB9
Cit9CiAKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLkxp
dmVMb2NhdGlvbn0KKyAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkNTU0xvY2F0aW9ufSByYXdMb2Nh
dGlvbgorICogQHBhcmFtIHtmdW5jdGlvbihXZWJJbnNwZWN0b3IuVUlMb2NhdGlvbik6KGJvb2xl
YW58dW5kZWZpbmVkKX0gdXBkYXRlRGVsZWdhdGUKKyAqLworV2ViSW5zcGVjdG9yLkNTU1J1bGUu
TG9jYXRpb24gPSBmdW5jdGlvbihyYXdMb2NhdGlvbiwgdXBkYXRlRGVsZWdhdGUpCit7CisgICAg
V2ViSW5zcGVjdG9yLkxpdmVMb2NhdGlvbi5jYWxsKHRoaXMsIHJhd0xvY2F0aW9uLCB1cGRhdGVE
ZWxlZ2F0ZSk7Cit9CisKK1dlYkluc3BlY3Rvci5DU1NSdWxlLkxvY2F0aW9uLnByb3RvdHlwZSA9
IHsKICAgICAvKioKLSAgICAgKiBAcmV0dXJuIHs/V2ViSW5zcGVjdG9yLlVJTG9jYXRpb259Cisg
ICAgICogQHJldHVybiB7V2ViSW5zcGVjdG9yLlVJTG9jYXRpb259CiAgICAgICovCiAgICAgdWlM
b2NhdGlvbjogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgaWYgKCF0aGlzLl9yYXdMb2NhdGlv
bikKLSAgICAgICAgICAgIHJldHVybiBudWxsOwotICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9y
LmNzc01vZGVsLl9yYXdMb2NhdGlvblRvVUlMb2NhdGlvbih0aGlzLl9yYXdMb2NhdGlvbik7Ci0g
ICAgfQorICAgICAgICB2YXIgY3NzTG9jYXRpb24gPSAvKiogQHR5cGUgV2ViSW5zcGVjdG9yLkNT
U0xvY2F0aW9uICovIHRoaXMucmF3TG9jYXRpb24oKTsKKyAgICAgICAgcmV0dXJuIFdlYkluc3Bl
Y3Rvci5jc3NNb2RlbC5fcmF3TG9jYXRpb25Ub1VJTG9jYXRpb24oY3NzTG9jYXRpb24pOworICAg
IH0sCisKKyAgICBkaXNwb3NlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBXZWJJbnNwZWN0
b3IuTGl2ZUxvY2F0aW9uLnByb3RvdHlwZS5kaXNwb3NlLmNhbGwodGhpcyk7CisgICAgICAgIHZh
ciBsb2NhdGlvbnMgPSBXZWJJbnNwZWN0b3IuY3NzTW9kZWwuX2xvY2F0aW9uczsKKyAgICAgICAg
aWYgKGxvY2F0aW9ucykKKyAgICAgICAgICAgIGxvY2F0aW9ucy5yZW1vdmUodGhpcyk7CisgICAg
fSwKKworICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLkxpdmVMb2NhdGlvbi5wcm90b3R5cGUK
IH0KIAogLyoqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0xpbmtpZmllci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTGlua2lm
aWVyLmpzCmluZGV4IGM2NjhhNDVjNjRlYzBmYjA3YmQxYTgwNGQzNmE4NjcwZGJlMmQzMzAuLjY2
NWMzYWFjNmRjNDNiZTk0YTJmNTY2MTE0MzBhMzVhMTRlZDY2MmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTGlua2lmaWVyLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTGlua2lmaWVyLmpzCkBAIC01OSw2ICs1OSw3IEBA
IFdlYkluc3BlY3Rvci5MaW5raWZpZXIucHJvdG90eXBlID0gewogICAgICAqIEBwYXJhbSB7bnVt
YmVyfSBsaW5lTnVtYmVyCiAgICAgICogQHBhcmFtIHtudW1iZXI9fSBjb2x1bW5OdW1iZXIKICAg
ICAgKiBAcGFyYW0ge3N0cmluZz19IGNsYXNzZXMKKyAgICAgKiBAcmV0dXJuIHtFbGVtZW50fQog
ICAgICAqLwogICAgIGxpbmtpZnlMb2NhdGlvbjogZnVuY3Rpb24oc291cmNlVVJMLCBsaW5lTnVt
YmVyLCBjb2x1bW5OdW1iZXIsIGNsYXNzZXMpCiAgICAgewpAQCAtNzEsNiArNzIsNyBAQCBXZWJJ
bnNwZWN0b3IuTGlua2lmaWVyLnByb3RvdHlwZSA9IHsKICAgICAvKioKICAgICAgKiBAcGFyYW0g
e1dlYkluc3BlY3Rvci5EZWJ1Z2dlck1vZGVsLkxvY2F0aW9ufSByYXdMb2NhdGlvbgogICAgICAq
IEBwYXJhbSB7c3RyaW5nPX0gY2xhc3NlcworICAgICAqIEByZXR1cm4ge0VsZW1lbnR9CiAgICAg
ICovCiAgICAgbGlua2lmeVJhd0xvY2F0aW9uOiBmdW5jdGlvbihyYXdMb2NhdGlvbiwgY2xhc3Nl
cykKICAgICB7CkBAIC04Myw2ICs4NSwyMCBAQCBXZWJJbnNwZWN0b3IuTGlua2lmaWVyLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgcmV0dXJuIGFuY2hvcjsKICAgICB9LAogCisgICAgLyoqCisgICAg
ICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuQ1NTUnVsZX0gcnVsZQorICAgICAqIEByZXR1cm4gez9F
bGVtZW50fQorICAgICAqLworICAgIGxpbmtpZnlDU1NSdWxlTG9jYXRpb246IGZ1bmN0aW9uKHJ1
bGUpCisgICAgeworICAgICAgICB2YXIgYW5jaG9yID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlVUkxB
c05vZGUoIiIsICIiLCAiIiwgZmFsc2UpOworICAgICAgICB2YXIgbGl2ZUxvY2F0aW9uID0gV2Vi
SW5zcGVjdG9yLmNzc01vZGVsLmNyZWF0ZUxpdmVMb2NhdGlvbihydWxlLCB0aGlzLl91cGRhdGVB
bmNob3IuYmluZCh0aGlzLCBhbmNob3IpKTsKKyAgICAgICAgaWYgKCFsaXZlTG9jYXRpb24pCisg
ICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgdGhpcy5fbGl2ZUxvY2F0aW9ucy5wdXNo
KGxpdmVMb2NhdGlvbik7CisgICAgICAgIHJldHVybiBhbmNob3I7CisgICAgfSwKKwogICAgIHJl
c2V0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMu
X2xpdmVMb2NhdGlvbnMubGVuZ3RoOyArK2kpCkBAIC0xMjksMyArMTQ1LDI3IEBAIFdlYkluc3Bl
Y3Rvci5MaW5raWZpZXIuRGVmYXVsdEZvcm1hdHRlci5wcm90b3R5cGUgPSB7CiAKICAgICBfX3By
b3RvX186IFdlYkluc3BlY3Rvci5MaW5raWZpZXJGb3JtYXR0ZXIucHJvdG90eXBlCiB9CisKKy8q
KgorICogQGNvbnN0cnVjdG9yCisgKiBAZXh0ZW5kcyB7V2ViSW5zcGVjdG9yLkxpbmtpZmllci5E
ZWZhdWx0Rm9ybWF0dGVyfQorICovCitXZWJJbnNwZWN0b3IuTGlua2lmaWVyLkRlZmF1bHRDU1NG
b3JtYXR0ZXIgPSBmdW5jdGlvbigpCit7CisgICAgV2ViSW5zcGVjdG9yLkxpbmtpZmllci5EZWZh
dWx0Rm9ybWF0dGVyLmNhbGwodGhpcyk7Cit9CisKK1dlYkluc3BlY3Rvci5MaW5raWZpZXIuRGVm
YXVsdENTU0Zvcm1hdHRlci5wcm90b3R5cGUgPSB7CisgICAgLyoqCisgICAgICogQHBhcmFtIHtF
bGVtZW50fSBhbmNob3IKKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5VSUxvY2F0aW9ufSB1
aUxvY2F0aW9uCisgICAgICovCisgICAgZm9ybWF0TGl2ZUFuY2hvcjogZnVuY3Rpb24oYW5jaG9y
LCB1aUxvY2F0aW9uKQorICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLkxpbmtpZmllci5EZWZh
dWx0Rm9ybWF0dGVyLnByb3RvdHlwZS5mb3JtYXRMaXZlQW5jaG9yLmNhbGwodGhpcywgYW5jaG9y
LCB1aUxvY2F0aW9uKTsKKyAgICAgICAgYW5jaG9yLmNsYXNzTGlzdC5hZGQoIndlYmtpdC1odG1s
LXJlc291cmNlLWxpbmsiKTsKKyAgICAgICAgYW5jaG9yLnNldEF0dHJpYnV0ZSgiZGF0YS11bmNv
cHlhYmxlIiwgYW5jaG9yLnRleHRDb250ZW50KTsKKyAgICAgICAgYW5jaG9yLnRleHRDb250ZW50
ID0gIiI7CisgICAgfSwKKyAgICBfX3Byb3RvX186IFdlYkluc3BlY3Rvci5MaW5raWZpZXIuRGVm
YXVsdEZvcm1hdHRlci5wcm90b3R5cGUKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVXRp
bHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVXRpbHMu
anMKaW5kZXggMjA3YmYwYjMxYTgxNGU2NmQ4NmUyYzBmYjk4MjJmNTE5MTk1ODY0YS4uMDY4YTEx
YmE1OGUwOWVmZjA2YzkxYmZmZWFmNDIyNDMzMmE5OWQxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVV0aWxzLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VVdGlscy5qcwpAQCAtNTgsNiArNTgs
MTAgQEAgV2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1lRm9yVVJMID0gZnVuY3Rpb24odXJsKQogICAg
IGlmIChyZXNvdXJjZSkKICAgICAgICAgcmV0dXJuIHJlc291cmNlLmRpc3BsYXlOYW1lOwogCisg
ICAgdmFyIHVpU291cmNlQ29kZSA9IFdlYkluc3BlY3Rvci53b3Jrc3BhY2UudWlTb3VyY2VDb2Rl
Rm9yVVJMKHVybCk7CisgICAgaWYgKHVpU291cmNlQ29kZSkKKyAgICAgICAgcmV0dXJuIHVpU291
cmNlQ29kZS5wYXJzZWRVUkwuZGlzcGxheU5hbWU7CisKICAgICBpZiAoIVdlYkluc3BlY3Rvci5p
bnNwZWN0ZWRQYWdlVVJMKQogICAgICAgICByZXR1cm4gdXJsLnRyaW1VUkwoIiIpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NBU1NTb3VyY2VNYXBw
aW5nLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TQVNTU291cmNlTWFw
cGluZy5qcwppbmRleCA4NWI1MjFkY2VjYWQ0NmRlMzQ5OWI2MTgwYzFmYzkwMzExZjkxOGY1Li5i
MzkwZmFhYmJmZDU3ZTI1MmY1NTFjODA3YmViM2RiNTIzMGYwNjYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NBU1NTb3VyY2VNYXBwaW5nLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanMK
QEAgLTk5LDYgKzk5LDcgQEAgV2ViSW5zcGVjdG9yLlNBU1NTb3VyY2VNYXBwaW5nLnByb3RvdHlw
ZSA9IHsKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgfQorICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmNzc01vZGVsLnVwZGF0ZUxv
Y2F0aW9ucygpOwogICAgICAgICB9CiAgICAgICAgIHJlc291cmNlLnJlcXVlc3RDb250ZW50KGRp
ZFJlcXVlc3RDb250ZW50LmJpbmQodGhpcykpOwogICAgIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TdHlsZXNTaWRlYmFyUGFuZS5qcwppbmRleCBm
NmQzNTZlOTcxOTQxZGMyOWM0MDQxNzFkNWY1MTc3YzkwMjg0YTcwLi5iNDRjNGEyODRjMWQ4NzJm
YmUzMDFlNGExMTM0Nzc0YjE0YWRkZDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1N0eWxlc1NpZGViYXJQYW5lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvU3R5bGVzU2lkZWJhclBhbmUuanMKQEAgLTk0LDYgKzk0LDcg
QEAgV2ViSW5zcGVjdG9yLlN0eWxlc1NpZGViYXJQYW5lID0gZnVuY3Rpb24oY29tcHV0ZWRTdHls
ZVBhbmUsIHNldFBzZXVkb0NsYXNzQ2FsbGIKICAgICB0aGlzLmJvZHlFbGVtZW50LmFwcGVuZENo
aWxkKHRoaXMuX3NlY3Rpb25zQ29udGFpbmVyKTsKIAogICAgIHRoaXMuX3NwZWN0cnVtID0gbmV3
IFdlYkluc3BlY3Rvci5TcGVjdHJ1bSgpOworICAgIHRoaXMuX2xpbmtpZmllciA9IG5ldyBXZWJJ
bnNwZWN0b3IuTGlua2lmaWVyKG5ldyBXZWJJbnNwZWN0b3IuTGlua2lmaWVyLkRlZmF1bHRDU1NG
b3JtYXR0ZXIoKSk7CiAKICAgICBXZWJJbnNwZWN0b3IuY3NzTW9kZWwuYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5FdmVudHMuU3R5bGVTaGVldENoYW5nZWQsIHRo
aXMuX3N0eWxlU2hlZXRPck1lZGlhUXVlcnlSZXN1bHRDaGFuZ2VkLCB0aGlzKTsKICAgICBXZWJJ
bnNwZWN0b3IuY3NzTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQ1NTU3R5bGVN
b2RlbC5FdmVudHMuTWVkaWFRdWVyeVJlc3VsdENoYW5nZWQsIHRoaXMuX3N0eWxlU2hlZXRPck1l
ZGlhUXVlcnlSZXN1bHRDaGFuZ2VkLCB0aGlzKTsKQEAgLTM1Myw2ICszNTQsNyBAQCBXZWJJbnNw
ZWN0b3IuU3R5bGVzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgdGhp
cy5fc2VjdGlvbnNDb250YWluZXIucmVtb3ZlQ2hpbGRyZW4oKTsKICAgICAgICAgdGhpcy5fY29t
cHV0ZWRTdHlsZVBhbmUuYm9keUVsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICAgICAgdGhp
cy5fbGlua2lmaWVyLnJlc2V0KCk7CiAKICAgICAgICAgdmFyIHN0eWxlUnVsZXMgPSB0aGlzLl9y
ZWJ1aWxkU3R5bGVSdWxlcyhub2RlLCBzdHlsZXMpOwogICAgICAgICB2YXIgdXNlZFByb3BlcnRp
ZXMgPSB7fTsKQEAgLTExOTEsMTMgKzExOTMsOCBAQCBXZWJJbnNwZWN0b3IuU3R5bGVQcm9wZXJ0
aWVzU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm4gbGluazsKICAgICAg
ICAgfQogCi0gICAgICAgIGlmICh0aGlzLnN0eWxlUnVsZS5zb3VyY2VVUkwpIHsKLSAgICAgICAg
ICAgIHZhciB1aUxvY2F0aW9uID0gdGhpcy5ydWxlLnVpTG9jYXRpb24oKTsKLSAgICAgICAgICAg
IGlmICh1aUxvY2F0aW9uKQotICAgICAgICAgICAgICAgIHJldHVybiBsaW5raWZ5VW5jb3B5YWJs
ZSh1aUxvY2F0aW9uLnVybCgpLCB1aUxvY2F0aW9uLmxpbmVOdW1iZXIpOwotICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgIHJldHVybiBsaW5raWZ5VW5jb3B5YWJsZSh0aGlzLnN0eWxl
UnVsZS5zb3VyY2VVUkwsIHRoaXMucnVsZS5zb3VyY2VMaW5lKTsKLSAgICAgICAgfQorICAgICAg
ICBpZiAodGhpcy5zdHlsZVJ1bGUuc291cmNlVVJMKQorICAgICAgICAgICAgcmV0dXJuIHRoaXMu
X3BhcmVudFBhbmUuX2xpbmtpZmllci5saW5raWZ5Q1NTUnVsZUxvY2F0aW9uKHRoaXMucnVsZSkg
fHwgbGlua2lmeVVuY29weWFibGUodGhpcy5zdHlsZVJ1bGUuc291cmNlVVJMLCB0aGlzLnJ1bGUu
c291cmNlTGluZSk7CiAKICAgICAgICAgaWYgKCF0aGlzLnJ1bGUpCiAgICAgICAgICAgICByZXR1
cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKaW5kZXggZWRhOGRkZjBjMGJmNzYyMDM0
NjUxOWI4YTdkZWQ0OGJjM2ZmZTE4NC4uYzI0ZDUzY2U5Y2VjMjhlNGNjZjEzNTYxNjhkZGM0ODBl
ODEwMTRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuaHRtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5odG1sCkBAIC03MSw2ICs3MSw3IEBAIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ29udGVudFByb3ZpZGVyLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJSZXNvdXJjZS5qcyI+PC9zY3Jp
cHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iTmV0d29ya1JlcXVl
c3QuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
IlVJU291cmNlQ29kZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iQ1NTU3R5bGVNb2RlbC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBl
PSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iTmV0d29ya01hbmFnZXIuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ik5ldHdvcmtMb2cuanMiPjwvc2Ny
aXB0PgpAQCAtMTMxLDcgKzEzMiw2IEBAIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0
L2phdmFzY3JpcHQiIHNyYz0iRmlsZVV0aWxzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJEZWJ1Z2dlck1vZGVsLmpzIj48L3NjcmlwdD4KICAg
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJTb3VyY2VNYXBwaW5nLmpzIj48
L3NjcmlwdD4KLSAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJVSVNvdXJj
ZUNvZGUuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBz
cmM9IlNjcmlwdC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIHNyYz0iTGlua2lmaWVyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJEZWJ1Z2dlclNjcmlwdE1hcHBpbmcuanMiPjwvc2NyaXB0Pgo=
</data>
<flag name="review"
          id="183568"
          type_id="1"
          status="+"
          setter="vsevik"
    />
          </attachment>
      

    </bug>

</bugzilla>