<?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>98024</bug_id>
          
          <creation_ts>2012-10-01 06:17:44 -0700</creation_ts>
          <short_desc>Web Inspector: Implement CSS reload upon related SASS resource saving</short_desc>
          <delta_ts>2012-10-26 15:26:40 -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="Alexander Pavlov (apavlov)">apavlov</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>me</cc>
    
    <cc>paulirish</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>731635</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-10-01 06:17:44 -0700</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734704</commentid>
    <comment_count>1</comment_count>
      <attachid>167108</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-10-04 08:14:09 -0700</bug_when>
    <thetext>Created attachment 167108
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748354</commentid>
    <comment_count>2</comment_count>
      <attachid>167108</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-23 01:10:14 -0700</bug_when>
    <thetext>Comment on attachment 167108
Patch

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

&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:69
&gt; +        WebInspector.fileManager.save(uiSourceCode.url, event.data.content, false);

I don&apos;t think we should call FileManager.save implicitly in this case.
We can remove this handler and rely upon usual way to start file saving.

&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:76
&gt; +            var cssen = this._cssURLsForSASSURL[event.data];

What is cssen?

&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:83
&gt; +        var timeout = WebInspector.settings.cssReloadTimeout.get();

I would use cssURL -&gt; timeout map to clear timeouts when the same sass file is saved several times in a row.

&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:96
&gt; +        uiSourceCode.commitWorkingCopy(function() {});

Please replace
uiSourceCode.setWorkingCopy(newContent);
uiSourceCode.commitWorkingCopy(function() {});
with
uiSourceCode.addRevision(newContent);

&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:169
&gt; +    _registerImportedSASS: function(content, rawURL, url)

As discussed offline I am not sure we should do that at all and we should certainly move this to a separate patch.

&gt; Source/WebCore/inspector/front-end/SettingsScreen.js:138
&gt; +    _createNumberSetting: function(name, setting, min, max)

I don&apos;t think we need such a complex input field for timeout value.
I would use something similar to what we have for Device Metrics instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748405</commentid>
    <comment_count>3</comment_count>
      <attachid>167108</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-10-23 02:22:27 -0700</bug_when>
    <thetext>Comment on attachment 167108
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:69
&gt;&gt; +        WebInspector.fileManager.save(uiSourceCode.url, event.data.content, false);
&gt; 
&gt; I don&apos;t think we should call FileManager.save implicitly in this case.
&gt; We can remove this handler and rely upon usual way to start file saving.

OK

&gt;&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:76
&gt;&gt; +            var cssen = this._cssURLsForSASSURL[event.data];
&gt; 
&gt; What is cssen?

The plural of &quot;css&quot; auf Deutsch (&quot;csss&quot; or &quot;csses&quot; are equally ugly, and I have seen &quot;cssen&quot; around).

&gt;&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:83
&gt;&gt; +        var timeout = WebInspector.settings.cssReloadTimeout.get();
&gt; 
&gt; I would use cssURL -&gt; timeout map to clear timeouts when the same sass file is saved several times in a row.

Done

&gt;&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:96
&gt;&gt; +        uiSourceCode.commitWorkingCopy(function() {});
&gt; 
&gt; Please replace
&gt; uiSourceCode.setWorkingCopy(newContent);
&gt; uiSourceCode.commitWorkingCopy(function() {});
&gt; with
&gt; uiSourceCode.addRevision(newContent);

Done

&gt;&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:169
&gt;&gt; +    _registerImportedSASS: function(content, rawURL, url)
&gt; 
&gt; As discussed offline I am not sure we should do that at all and we should certainly move this to a separate patch.

Done

&gt;&gt; Source/WebCore/inspector/front-end/SettingsScreen.js:138
&gt;&gt; +    _createNumberSetting: function(name, setting, min, max)
&gt; 
&gt; I don&apos;t think we need such a complex input field for timeout value.
&gt; I would use something similar to what we have for Device Metrics instead.

Have a look at their value change handler :) Simplified the builder a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748414</commentid>
    <comment_count>4</comment_count>
      <attachid>170093</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-10-23 02:34:40 -0700</bug_when>
    <thetext>Created attachment 170093
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748747</commentid>
    <comment_count>5</comment_count>
      <attachid>170093</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-10-23 09:53:51 -0700</bug_when>
    <thetext>Comment on attachment 170093
Patch

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

&gt; Source/WebCore/inspector/front-end/SASSSourceMapping.js:76
&gt; +        var timer = this._timeoutForURL[sassURL];

I would reuse timeout :)

&gt; Source/WebCore/inspector/front-end/Settings.js:108
&gt; +    this.cssReloadTimeout = this.createSetting(&quot;cssReloadTimeout&quot;, 1000);

I don&apos;t think this should be enabled by default.

&gt; Source/WebCore/inspector/front-end/SettingsScreen.js:312
&gt; +        setting.className = &quot;setting&quot;;

number-setting?

&gt; Source/WebCore/inspector/front-end/helpScreen.css:214
&gt; +.help-content p.setting {

Looks like we generally use fieldset for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749433</commentid>
    <comment_count>6</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-10-24 00:34:41 -0700</bug_when>
    <thetext>Committed r132321: &lt;http://trac.webkit.org/changeset/132321&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752490</commentid>
    <comment_count>7</comment_count>
    <who name="Nikita Vasilyev">me</who>
    <bug_when>2012-10-26 15:26:40 -0700</bug_when>
    <thetext>Is it feasible to do the same for CoffeeScript? (or any other language with Source Maps support)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167108</attachid>
            <date>2012-10-04 08:14:09 -0700</date>
            <delta_ts>2012-10-23 02:34:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98024-20121004191318.patch</filename>
            <type>text/plain</type>
            <size>12003</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGE5ODlmMTA5NjBiYzM1
OWQyMDZlMjcwMjJkMWVlZjE2ODRiODgyMC4uNmU0ZjhkMzRiYzkyODZiMDljMzFkNjhkMDJhMjU2
NzAyNDViMmI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTEwLTA0ICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogSW1wbGVtZW50IENTUyByZWxvYWQgdXBvbiByZWxhdGVkIFNBU1MgcmVzb3VyY2Ugc2F2
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODAy
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNBU1Mt
Z2VuZXJhdGVkIGRlYnVnIGluZm8gaW4gQ1NTIGlzIHBhcnNlZCB0byBmaW5kIG91dCB3aGljaCBT
QVNTIGZpbGVzIGNvbnRyaWJ1dGVkIHRvIHRoaXMgc3R5bGVzaGVldC4KKyAgICAgICAgVXBvbiBT
QVNTIGZpbGUgc2F2ZSBpbiB0aGUgU291cmNlcyBwYW5lbCwgYWxsIGFmZmVjdGVkIGV4dGVybmFs
IENTUyBzdHlsZXNoZWV0cyBhcmUgcmVsb2FkZWQgdG8gdXBkYXRlCisgICAgICAgIHRoZSBwYWdl
IHN0eWxlcyAocHJlc3VtaW5nIHRoYXQgU0FTUyBpcyBydW5uaW5nIGluIHRoZSAid2F0Y2giIG1v
ZGUgZHVyaW5nIHRoZSBkZXZlbG9wbWVudCBjeWNsZSkuCisKKyAgICAgICAgKiBFbmdsaXNoLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9T
QVNTU291cmNlTWFwcGluZy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TQVNTU291cmNlTWFw
cGluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU0FTU1NvdXJjZU1hcHBpbmcucHJvdG90eXBl
Ll9jb250ZW50Q29tbWl0dGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TQVNTU291cmNlTWFw
cGluZy5wcm90b3R5cGUuX2ZpbGVTYXZlRmluaXNoZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNBU1NTb3VyY2VNYXBwaW5nLnByb3RvdHlwZS5fcmVsb2FkQ1NTKToKKyAgICAgICAgKF9iaW5k
VUlTb3VyY2VDb2RlKToKKyAgICAgICAgKF9yZWdpc3RlckltcG9ydGVkU0FTUyk6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qczoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdlbmVy
aWNTZXR0aW5nc1RhYik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9oZWxwU2NyZWVu
LmNzczoKKyAgICAgICAgKC5oZWxwLWNvbnRlbnQgcC5zZXR0aW5nKToKKwogMjAxMi0xMC0wNCAg
S2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRGF0ZVRpbWVZZWFy
RmllbGRFbGVtZW50IHNob3VsZCByZXNwZWN0IG1pbi9tYXggdmFsdWVzIHNwZWNpZmllZCBieSBw
YWdlIGF1dGhvcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9j
YWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qcwppbmRleCA0NmNjNjViNTk2MWZjYzk2ZTE1MzYzOGRhYTM0MjYzYTliOTZhZWI1
Li44YTY4ODk0MThhNDQ1OTE5ZmRhMzQwNDdiZTZjNTU0NWEyNTMzNGYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCkBAIC0zMzEsNiAr
MzMxLDcgQEAgbG9jYWxpemVkU3RyaW5nc1siUmVjb3JkaW5n4oCmIl0gPSAiUmVjb3JkaW5n4oCm
IjsKIGxvY2FsaXplZFN0cmluZ3NbIlJlZGlyZWN0Il0gPSAiUmVkaXJlY3QiOwogbG9jYWxpemVk
U3RyaW5nc1siUmVmcmVzaCJdID0gIlJlZnJlc2giOwogbG9jYWxpemVkU3RyaW5nc1siUmVnaW9u
IGlzICVzLiJdID0gIlJlZ2lvbiBpcyAlcy4iOworbG9jYWxpemVkU3RyaW5nc1siUmVsb2FkIENT
UyB1cG9uIFNBU1Mgc2F2ZSBpbiAobXMpIl0gPSAiUmVsb2FkIENTUyB1cG9uIFNBU1Mgc2F2ZSBp
biAobXMpIjsKIGxvY2FsaXplZFN0cmluZ3NbIlJlbW92ZSBCcmVha3BvaW50Il0gPSAiUmVtb3Zl
IEJyZWFrcG9pbnQiOwogbG9jYWxpemVkU3RyaW5nc1siUmVtb3ZlIGJyZWFrcG9pbnQiXSA9ICJS
ZW1vdmUgYnJlYWtwb2ludCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJSZW1vdmUgVGltZXIiXSA9ICJS
ZW1vdmUgVGltZXIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9TQVNTU291cmNlTWFwcGluZy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanMKaW5kZXggOWM3Y2FiNGU3MGM3ZTcyMmUwMTQwNWNm
YWY3M2Y2ZGQwMDdhM2RlYy4uM2Y5NjdmZWYzNjYwZDNkMjE1ZGRmNmIyMWIwYzQ2Y2IxNWNlZTBl
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TQVNTU291
cmNlTWFwcGluZy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NB
U1NTb3VyY2VNYXBwaW5nLmpzCkBAIC0zOCw4ICszOCwxMSBAQCBXZWJJbnNwZWN0b3IuU0FTU1Nv
dXJjZU1hcHBpbmcgPSBmdW5jdGlvbih3b3Jrc3BhY2UpCiAgICAgdGhpcy5fd29ya3NwYWNlID0g
d29ya3NwYWNlOwogICAgIHRoaXMuX3VpU291cmNlQ29kZUZvclVSTCA9IHt9OwogICAgIHRoaXMu
X3VpTG9jYXRpb25zID0ge307CisgICAgdGhpcy5fY3NzVVJMc0ZvclNBU1NVUkwgPSB7fTsKICAg
ICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5SZXNvdXJjZUFkZGVkLCB0aGlzLl9y
ZXNvdXJjZUFkZGVkLCB0aGlzKTsKKyAgICBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuYWRkRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIuRXZlbnRUeXBlcy5TYXZlZFVSTCwg
dGhpcy5fZmlsZVNhdmVGaW5pc2hlZCwgdGhpcyk7CiAgICAgdGhpcy5fd29ya3NwYWNlLmFkZEV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLldvcmtzcGFjZS5FdmVudHMuUHJvamVjdFdpbGxSZXNl
dCwgdGhpcy5fcmVzZXQsIHRoaXMpOworICAgIHRoaXMuX3dvcmtzcGFjZS5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5Xb3Jrc3BhY2UuRXZlbnRzLlVJU291cmNlQ29kZUNvbnRlbnRDb21t
aXR0ZWQsIHRoaXMuX2NvbnRlbnRDb21taXR0ZWQsIHRoaXMpOwogfQogCiBXZWJJbnNwZWN0b3Iu
U0FTU1NvdXJjZU1hcHBpbmcucHJvdG90eXBlID0gewpAQCAtNTgsNiArNjEsNDEgQEAgV2ViSW5z
cGVjdG9yLlNBU1NTb3VyY2VNYXBwaW5nLnByb3RvdHlwZSA9IHsKICAgICAgICAgcG9wdWxhdGVG
cmFtZS5jYWxsKHRoaXMsIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5tYWluRnJhbWUp
OwogICAgIH0sCiAKKyAgICBfY29udGVudENvbW1pdHRlZDogZnVuY3Rpb24oZXZlbnQpCisgICAg
eworICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gLyoqIEB0eXBlIHtXZWJJbnNwZWN0b3IuVUlT
b3VyY2VDb2RlfSAqLyBldmVudC5kYXRhLnVpU291cmNlQ29kZTsKKyAgICAgICAgaWYgKCF0aGlz
Ll91aVNvdXJjZUNvZGVGb3JVUkxbdWlTb3VyY2VDb2RlLnVybF0pCisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5zYXZlKHVpU291cmNlQ29kZS51
cmwsIGV2ZW50LmRhdGEuY29udGVudCwgZmFsc2UpOworICAgIH0sCisKKyAgICBfZmlsZVNhdmVG
aW5pc2hlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICBmdW5jdGlvbiBjYWxsYmFj
aygpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBjc3NlbiA9IHRoaXMuX2Nzc1VSTHNGb3JT
QVNTVVJMW2V2ZW50LmRhdGFdOworICAgICAgICAgICAgaWYgKCFjc3NlbikKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNzc2VuLmxlbmd0
aDsgKytpKQorICAgICAgICAgICAgICAgIHRoaXMuX3JlbG9hZENTUyhjc3NlbltpXSk7CisgICAg
ICAgIH0KKworICAgICAgICB2YXIgdGltZW91dCA9IFdlYkluc3BlY3Rvci5zZXR0aW5ncy5jc3NS
ZWxvYWRUaW1lb3V0LmdldCgpOworICAgICAgICB0aW1lb3V0ID0gaXNGaW5pdGUodGltZW91dCkg
PyBOdW1iZXIodGltZW91dCkgOiAwOworICAgICAgICBpZiAodGltZW91dCkKKyAgICAgICAgICAg
IHNldFRpbWVvdXQoY2FsbGJhY2suYmluZCh0aGlzKSwgdGltZW91dCk7CisgICAgfSwKKworICAg
IF9yZWxvYWRDU1M6IGZ1bmN0aW9uKHVybCkKKyAgICB7CisgICAgICAgIHZhciB1aVNvdXJjZUNv
ZGUgPSB0aGlzLl93b3Jrc3BhY2UudWlTb3VyY2VDb2RlRm9yVVJMKHVybCk7CisgICAgICAgIGlm
ICghdWlTb3VyY2VDb2RlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB2YXIgbmV3Q29u
dGVudCA9IEluc3BlY3RvckZyb250ZW5kSG9zdC5sb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KHVy
bCk7CisgICAgICAgIHVpU291cmNlQ29kZS5zZXRXb3JraW5nQ29weShuZXdDb250ZW50KTsKKyAg
ICAgICAgdWlTb3VyY2VDb2RlLmNvbW1pdFdvcmtpbmdDb3B5KGZ1bmN0aW9uKCkge30pOworICAg
IH0sCisKICAgICAvKioKICAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5FdmVudH0gZXZlbnQK
ICAgICAgKi8KQEAgLTEyMCw5ICsxNTgsNTkgQEAgV2ViSW5zcGVjdG9yLlNBU1NTb3VyY2VNYXBw
aW5nLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIHRoaXMuX3VpU291cmNlQ29kZUZvclVSTFt1
cmxdID0gdWlTb3VyY2VDb2RlOwogICAgICAgICAgICAgdGhpcy5fd29ya3NwYWNlLnByb2plY3Qo
KS5hZGRVSVNvdXJjZUNvZGUodWlTb3VyY2VDb2RlKTsKICAgICAgICAgICAgIFdlYkluc3BlY3Rv
ci5jc3NNb2RlbC5zZXRTb3VyY2VNYXBwaW5nKHJhd1VSTCwgdGhpcyk7CisKKyAgICAgICAgICAg
IHRoaXMuX3JlZ2lzdGVySW1wb3J0ZWRTQVNTKGNvbnRlbnQsIHJhd1VSTCwgdXJsKTsKICAgICAg
ICAgfQogICAgICAgICB2YXIgcmF3TG9jYXRpb25TdHJpbmcgPSByYXdVUkwgKyAiOiIgKyAocmF3
TGluZSArIDEpOyAgLy8gTmV4dCBsaW5lIGFmdGVyIG1hcHBpbmcgbWV0YWluZm8KICAgICAgICAg
dGhpcy5fdWlMb2NhdGlvbnNbcmF3TG9jYXRpb25TdHJpbmddID0gbmV3IFdlYkluc3BlY3Rvci5V
SUxvY2F0aW9uKHVpU291cmNlQ29kZSwgbGluZSAtIDEsIDApOworICAgICAgICB0aGlzLl9hZGRD
U1NVUkxmb3JTQVNTVVJMKHJhd1VSTCwgdXJsKTsKKyAgICB9LAorCisgICAgX3JlZ2lzdGVySW1w
b3J0ZWRTQVNTOiBmdW5jdGlvbihjb250ZW50LCByYXdVUkwsIHVybCkKKyAgICB7CisgICAgICAg
IHZhciBsaW5lcyA9IGNvbnRlbnQuc3BsaXQoL1xyP1xuLyk7CisgICAgICAgIHZhciBpbXBvcnRS
ZWdleCA9IC9eXHMqQGltcG9ydFxzKy87CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGlu
ZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciBsaW5lVGV4dCA9IGxpbmVzW2ldOwor
ICAgICAgICAgICAgdmFyIG1hdGNoID0gbGluZVRleHQubWF0Y2goaW1wb3J0UmVnZXgpOworICAg
ICAgICAgICAgaWYgKG1hdGNoICYmICFsaW5lVGV4dC5tYXRjaCgvdXJsXHMqXCgvKSAmJiBsaW5l
VGV4dC5tYXRjaCgvWyciXVxzKjsvKSkgeworICAgICAgICAgICAgICAgIHZhciBpbXBvcnRlZERh
dGEgPSBsaW5lVGV4dC5zdWJzdHJpbmcobWF0Y2hbMF0ubGVuZ3RoKTsKKyAgICAgICAgICAgICAg
ICB2YXIgZmlsZU5hbWVSZWdleCA9IC8oKD86IlteIl0rIil8KD86J1teJ10rJykpL2c7CisgICAg
ICAgICAgICAgICAgdmFyIHNhc3NTdWZmaXhSZWdleCA9IC8oXC5zW2FjXXNzKSQvOworICAgICAg
ICAgICAgICAgIHZhciBzYXNzUGFyc2VkVVJMID0gdXJsLmFzUGFyc2VkVVJMKCk7CisgICAgICAg
ICAgICAgICAgdmFyIHNhc3NTdWZmaXhNYXRjaCA9IHNhc3NQYXJzZWRVUkwgJiYgc2Fzc1BhcnNl
ZFVSTC5wYXRoID8gc2Fzc1BhcnNlZFVSTC5wYXRoLm1hdGNoKHNhc3NTdWZmaXhSZWdleCkgOiBu
dWxsOworICAgICAgICAgICAgICAgIHZhciBzYXNzTmFtZVN1ZmZpeCA9IHNhc3NTdWZmaXhNYXRj
aCA/IHNhc3NTdWZmaXhNYXRjaFsxXSA6ICIuc2NzcyI7CisgICAgICAgICAgICAgICAgd2hpbGUg
KHRydWUpIHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIHN0YXJ0SW5kZXggPSBmaWxlTmFtZVJl
Z2V4Lmxhc3RJbmRleDsKKyAgICAgICAgICAgICAgICAgICAgdmFyIGZpbGVNYXRjaCA9IGZpbGVO
YW1lUmVnZXguZXhlYyhpbXBvcnRlZERhdGEpOworICAgICAgICAgICAgICAgICAgICBpZiAoIWZp
bGVNYXRjaCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg
ICAgICB2YXIgZmlsZU5hbWUgPSBmaWxlTWF0Y2hbMF0uc3Vic3RyaW5nKDEsIGZpbGVNYXRjaFsw
XS5sZW5ndGggLSAxKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFmaWxlTmFtZSkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgICAgICBpZiAoZmls
ZU5hbWUubWF0Y2goL1wuY3NzJC8pIHx8IGZpbGVOYW1lLm1hdGNoKC8kaHR0cDpcL1wvLykpCisg
ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KCFmaWxlTmFtZS5tYXRjaChzYXNzU3VmZml4UmVnZXgpKQorICAgICAgICAgICAgICAgICAgICAg
ICAgZmlsZU5hbWUgKz0gc2Fzc05hbWVTdWZmaXg7CisgICAgICAgICAgICAgICAgICAgIC8vIEZJ
WE1FOiBUaGlzIHNob3VsZCBiZSByZWN1cnNpdmUgaW4gdGhlIGdlbmVyYWwgY2FzZS4KKyAgICAg
ICAgICAgICAgICAgICAgdGhpcy5fYWRkQ1NTVVJMZm9yU0FTU1VSTChyYXdVUkwsIHVybC5yZXBs
YWNlKC9eKC4rKVwvW14/I10rKC4qKSQvLCAiJDEvIiArIGZpbGVOYW1lICsgIiQyIikpOworICAg
ICAgICAgICAgICAgICAgICB0aGlzLl9hZGRDU1NVUkxmb3JTQVNTVVJMKHJhd1VSTCwgdXJsLnJl
cGxhY2UoL14oLispXC9bXj8jXSsoLiopJC8sICIkMS9fIiArIGZpbGVOYW1lICsgIiQyIikpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0sCisKKyAg
ICBfYWRkQ1NTVVJMZm9yU0FTU1VSTDogZnVuY3Rpb24oY3NzVVJMLCBzYXNzVVJMKQorICAgIHsK
KyAgICAgICAgdmFyIGNzc1VSTHM7CisgICAgICAgIGlmICh0aGlzLl9jc3NVUkxzRm9yU0FTU1VS
TC5oYXNPd25Qcm9wZXJ0eShzYXNzVVJMKSkKKyAgICAgICAgICAgIGNzc1VSTHMgPSB0aGlzLl9j
c3NVUkxzRm9yU0FTU1VSTFtzYXNzVVJMXTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBj
c3NVUkxzID0gW107CisgICAgICAgICAgICB0aGlzLl9jc3NVUkxzRm9yU0FTU1VSTFtzYXNzVVJM
XSA9IGNzc1VSTHM7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGNzc1VSTHMuaW5kZXhPZihjc3NV
UkwpID09PSAtMSkKKyAgICAgICAgICAgIGNzc1VSTHMucHVzaChjc3NVUkwpOwogICAgIH0sCiAK
ICAgICAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
U2V0dGluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdz
LmpzCmluZGV4IDRmZGU1N2I4YTljNjQwMjE4NDJlZjg4YWZkMjg4YTc3NDRiMzUxMWYuLmJjODg5
NWY0OTFiMzNhNmEyMTMwMjJiZDk3MTgyOTQ3NjZkYzFjN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcwpAQCAtMTA0LDYgKzEwNCw3IEBAIFdl
Ykluc3BlY3Rvci5TZXR0aW5ncyA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLnNlYXJjaEluQ29udGVu
dFNjcmlwdHMgPSB0aGlzLmNyZWF0ZVNldHRpbmcoInNlYXJjaEluQ29udGVudFNjcmlwdHMiLCBm
YWxzZSk7CiAgICAgdGhpcy50ZXh0RWRpdG9ySW5kZW50ID0gdGhpcy5jcmVhdGVTZXR0aW5nKCJ0
ZXh0RWRpdG9ySW5kZW50IiwgIiAgICAiKTsKICAgICB0aGlzLmxhc3REb2NrU3RhdGUgPSB0aGlz
LmNyZWF0ZVNldHRpbmcoImxhc3REb2NrU3RhdGUiLCAiIik7CisgICAgdGhpcy5jc3NSZWxvYWRU
aW1lb3V0ID0gdGhpcy5jcmVhdGVTZXR0aW5nKCJjc3NSZWxvYWRUaW1lb3V0IiwgMTAwMCk7CiAK
ICAgICAvLyBJZiB0aGVyZSBhcmUgdG9vIG1hbnkgYnJlYWtwb2ludHMgaW4gYSBzdG9yYWdlLCBp
dCBpcyBsaWtlbHkgZHVlIHRvIGEgcmVjZW50IGJ1ZyB0aGF0IGNhdXNlZAogICAgIC8vIHBlcmlv
ZGljYWwgYnJlYWtwb2ludHMgZHVwbGljYXRpb24gbGVhZGluZyB0byBpbnNwZWN0b3Igc2xvd25l
c3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRp
bmdzU2NyZWVuLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5n
c1NjcmVlbi5qcwppbmRleCBmNTdlM2U4MDIyYjU3Y2UxY2RjMjdkYjc0MzE2ZjAzMDFiMTZjM2Qw
Li43Y2JjNjI3YmIwYTRmYjU0NWJlNTU2ZWEyM2FjODg3NDgwZWE4YTcwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMKQEAg
LTEzNSw2ICsxMzUsNDUgQEAgV2ViSW5zcGVjdG9yLlNldHRpbmdzVGFiLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgcmV0dXJuIGJsb2NrOwogICAgIH0sCiAKKyAgICBfY3JlYXRlTnVtYmVyU2V0dGlu
ZzogZnVuY3Rpb24obmFtZSwgc2V0dGluZywgbWluLCBtYXgpCisgICAgeworICAgICAgICB2YXIg
aW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOworICAgICAgICBpbnB1dC50
eXBlID0gInRleHQiOworICAgICAgICB2YXIgZGlnaXRzID0gMDsKKyAgICAgICAgdmFyIGN1cnJl
bnRNYXggPSBtYXg7CisgICAgICAgIHdoaWxlIChjdXJyZW50TWF4KSB7CisgICAgICAgICAgICBj
dXJyZW50TWF4ID0gTWF0aC5mbG9vcihjdXJyZW50TWF4IC8gMTApOworICAgICAgICAgICAgKytk
aWdpdHM7CisgICAgICAgIH0KKyAgICAgICAgaW5wdXQuc2l6ZSA9IGRpZ2l0czsKKyAgICAgICAg
aW5wdXQubmFtZSA9IG5hbWU7CisgICAgICAgIGlucHV0LnZhbHVlID0gc2V0dGluZy5nZXQoKTsK
KyAgICAgICAgdmFyIG9sZFZhbHVlID0gaW5wdXQudmFsdWU7CisKKyAgICAgICAgZnVuY3Rpb24g
bGlzdGVuZXIoKQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgdmFsdWUgPSBpbnB1dC52YWx1
ZTsKKyAgICAgICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGggPiBkaWdpdHMpCisgICAg
ICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5zbGljZSgwLCBkaWdpdHMpOworICAgICAgICAgICAg
aWYgKGlzRmluaXRlKHZhbHVlKSAmJiB2YWx1ZSA+PSBtaW4gJiYgdmFsdWUgPD0gbWF4KSB7Cisg
ICAgICAgICAgICAgICAgc2V0dGluZy5zZXQoTnVtYmVyKHZhbHVlKSk7CisgICAgICAgICAgICAg
ICAgaW5wdXQudmFsdWUgPSB2YWx1ZTsKKyAgICAgICAgICAgICAgICBvbGRWYWx1ZSA9IHZhbHVl
OworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgaW5wdXQudmFsdWUgPSBvbGRW
YWx1ZTsKKyAgICAgICAgfQorICAgICAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIs
IGxpc3RlbmVyLCBmYWxzZSk7CisKKyAgICAgICAgdmFyIGxhYmVsID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgibGFiZWwiKTsKKyAgICAgICAgbGFiZWwuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUobmFtZSkpOworICAgICAgICBsYWJlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZSgiICIpKTsKKyAgICAgICAgbGFiZWwuYXBwZW5kQ2hpbGQoaW5wdXQpOwor
CisgICAgICAgIHZhciBwID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOworICAgICAgICBw
LmFwcGVuZENoaWxkKGxhYmVsKTsKKyAgICAgICAgcmV0dXJuIHA7CisgICAgfSwKKwogICAgIC8q
KgogICAgICAqIEBwYXJhbSB7Ym9vbGVhbj19IG9taXRQYXJhZ3JhcGhFbGVtZW50CiAgICAgICog
QHBhcmFtIHtFbGVtZW50PX0gaW5wdXRFbGVtZW50CkBAIC0yNzYsNiArMzE1LDExIEBAIFdlYklu
c3BlY3Rvci5HZW5lcmljU2V0dGluZ3NUYWIgPSBmdW5jdGlvbigpCiAgICAgcC5hcHBlbmRDaGls
ZCh0aGlzLl9jcmVhdGVDaGVja2JveFNldHRpbmcoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTaG93
IGZvbGRlcnMiKSwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLnNob3dTY3JpcHRGb2xkZXJzKSk7CiAg
ICAgcC5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVDaGVja2JveFNldHRpbmcoV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJTZWFyY2ggaW4gY29udGVudCBzY3JpcHRzIiksIFdlYkluc3BlY3Rvci5zZXR0
aW5ncy5zZWFyY2hJbkNvbnRlbnRTY3JpcHRzKSk7CiAgICAgcC5hcHBlbmRDaGlsZCh0aGlzLl9j
cmVhdGVDaGVja2JveFNldHRpbmcoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJFbmFibGUgc291cmNl
IG1hcHMiKSwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLnNvdXJjZU1hcHNFbmFibGVkKSk7CisgICAg
aWYgKFdlYkluc3BlY3Rvci5leHBlcmltZW50c1NldHRpbmdzLmlzRW5hYmxlZCgic2FzcyIpKSB7
CisgICAgICAgIHZhciBzZXR0aW5nID0gdGhpcy5fY3JlYXRlTnVtYmVyU2V0dGluZyhXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIlJlbG9hZCBDU1MgdXBvbiBTQVNTIHNhdmUgaW4gKG1zKSIpLCBXZWJJ
bnNwZWN0b3Iuc2V0dGluZ3MuY3NzUmVsb2FkVGltZW91dCwgMCwgOTk5OTkpOworICAgICAgICBz
ZXR0aW5nLmNsYXNzTmFtZSA9ICJzZXR0aW5nIjsKKyAgICAgICAgcC5hcHBlbmRDaGlsZChzZXR0
aW5nKTsKKyAgICB9CiAgICAgcC5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVTZWxlY3RTZXR0aW5n
KFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW5kZW50YXRpb24iKSwgWwogICAgICAgICAgICAgWyBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIjIgc3BhY2VzIiksIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9y
TW9kZWwuSW5kZW50LlR3b1NwYWNlcyBdLAogICAgICAgICAgICAgWyBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIjQgc3BhY2VzIiksIFdlYkluc3BlY3Rvci5UZXh0RWRpdG9yTW9kZWwuSW5kZW50LkZv
dXJTcGFjZXMgXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaGVscFNjcmVlbi5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2hl
bHBTY3JlZW4uY3NzCmluZGV4IDUxMjk4MGVkOGU4N2M0NDMxMTEyMTdkNzBkZTllMzU3OGQ0M2Vm
MmMuLjM4MjRhNzZhYTE3MzI5ZjViNTNlMWIzNjFhMTExODJkNzBkYmMzMTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaGVscFNjcmVlbi5jc3MKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9oZWxwU2NyZWVuLmNzcwpAQCAtMjEw
LDYgKzIxMCwxMCBAQCBib2R5LnBsYXRmb3JtLW1hYyAuaGVscC1rZXkgewogICAgIG1hcmdpbi1s
ZWZ0OiAxM3B4OwogfQogCisuaGVscC1jb250ZW50IHAuc2V0dGluZyB7CisgICAgbWFyZ2luLWxl
ZnQ6IDE3cHg7Cit9CisKIC5oZWxwLWNvbnRlbnQgaW5wdXRbdHlwZT1jaGVja2JveF0gewogICAg
IGhlaWdodDogMTNweDsKICAgICB3aWR0aDogMTNweDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170093</attachid>
            <date>2012-10-23 02:34:40 -0700</date>
            <delta_ts>2012-10-23 09:53:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98024-20121023133317.patch</filename>
            <type>text/plain</type>
            <size>9253</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMTkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTdhNGIxYmYwMThmM2Yy
OTRhMDQwNDc1MzFhNTk2N2I3MjA0YjY5OS4uNDIxMTY3NjNiOTY5MDNjYzIzODMzMDk1Zjk3MmY0
MjZhMDhhOWMyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTEwLTA0ICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogSW1wbGVtZW50IENTUyByZWxvYWQgdXBvbiByZWxhdGVkIFNBU1MgcmVzb3VyY2Ugc2F2
aW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODAy
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNBU1Mt
Z2VuZXJhdGVkIGRlYnVnIGluZm8gaW4gQ1NTIGlzIHBhcnNlZCB0byBmaW5kIG91dCB3aGljaCBT
QVNTIGZpbGVzIGNvbnRyaWJ1dGVkIHRvIHRoaXMgc3R5bGVzaGVldC4KKyAgICAgICAgVXBvbiBT
QVNTIGZpbGUgc2F2ZSBpbiB0aGUgU291cmNlcyBwYW5lbCwgYWxsIGFmZmVjdGVkIGV4dGVybmFs
IENTUyBzdHlsZXNoZWV0cyBhcmUgcmVsb2FkZWQgdG8gdXBkYXRlCisgICAgICAgIHRoZSBwYWdl
IHN0eWxlcyAocHJlc3VtaW5nIHRoYXQgU0FTUyBpcyBydW5uaW5nIGluIHRoZSAid2F0Y2giIG1v
ZGUgZHVyaW5nIHRoZSBkZXZlbG9wbWVudCBjeWNsZSkuCisKKyAgICAgICAgKiBFbmdsaXNoLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9T
QVNTU291cmNlTWFwcGluZy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TQVNTU291cmNlTWFw
cGluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU0FTU1NvdXJjZU1hcHBpbmcucHJvdG90eXBl
Ll9maWxlU2F2ZUZpbmlzaGVkLmNhbGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5TQVNT
U291cmNlTWFwcGluZy5wcm90b3R5cGUuX3JlbG9hZENTUyk6CisgICAgICAgIChfYmluZFVJU291
cmNlQ29kZSk6CisgICAgICAgIChfYWRkQ1NTVVJMZm9yU0FTU1VSTCk6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1NldHRpbmdzU2NyZWVuLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdlbmVyaWNTZXR0
aW5nc1RhYik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9oZWxwU2NyZWVuLmNzczoK
KyAgICAgICAgKC5oZWxwLWNvbnRlbnQgcC5zZXR0aW5nKToKKwogMjAxMi0xMC0yMyAgQW5kcmFz
IEJlY3NpICA8YW5kcmFzLmJlY3NpQGRpZ2lhLmNvbT4KIAogICAgICAgICBSZW1vdmUgZGV2aWNl
UGl4ZWxSYXRpbyBmcm9tIFZpZXdwb3J0QXR0cmlidXRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkNvcmUv
RW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGE5NjJlYzU1M2YxMGRiMzFm
Zjc2MTlkZjRhMDkzMDEwNmQyZmQ1ZDMuLmViMmJiYjg2N2QyZGU1NzZmYWFmM2I1MDUwNzMzNjk3
MzQzY2ZjYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxp
emVkU3RyaW5ncy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXpl
ZFN0cmluZ3MuanMKQEAgLTMxNSw2ICszMTUsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJSZWNvcmRp
bmdcdTIwMjYiXSA9ICJSZWNvcmRpbmdcdTIwMjYiOwogbG9jYWxpemVkU3RyaW5nc1siUmVkaXJl
Y3QiXSA9ICJSZWRpcmVjdCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJSZWZyZXNoIl0gPSAiUmVmcmVz
aCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJSZWdpb24gaXMgJXMuIl0gPSAiUmVnaW9uIGlzICVzLiI7
Citsb2NhbGl6ZWRTdHJpbmdzWyJSZWxvYWQgQ1NTIHVwb24gU0FTUyBzYXZlIGluIChtcykiXSA9
ICJSZWxvYWQgQ1NTIHVwb24gU0FTUyBzYXZlIGluIChtcykiOwogbG9jYWxpemVkU3RyaW5nc1si
UmVtb3ZlIEJyZWFrcG9pbnQiXSA9ICJSZW1vdmUgQnJlYWtwb2ludCI7CiBsb2NhbGl6ZWRTdHJp
bmdzWyJSZW1vdmUgYnJlYWtwb2ludCJdID0gIlJlbW92ZSBicmVha3BvaW50IjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIlJlbW92ZSBUaW1lciJdID0gIlJlbW92ZSBUaW1lciI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NBU1NTb3VyY2VNYXBwaW5nLmpzIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TQVNTU291cmNlTWFwcGluZy5qcwpp
bmRleCA4NWI1MjFkY2VjYWQ0NmRlMzQ5OWI2MTgwYzFmYzkwMzExZjkxOGY1Li43MDljNTJkMjgz
MDVlNjI2NTA3NGU1MGQ0ZTY0MzdjOGQxNDA0YzUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NBU1NTb3VyY2VNYXBwaW5nLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU0FTU1NvdXJjZU1hcHBpbmcuanMKQEAgLTM3LDcg
KzM3LDEwIEBAIFdlYkluc3BlY3Rvci5TQVNTU291cmNlTWFwcGluZyA9IGZ1bmN0aW9uKHdvcmtz
cGFjZSkKIHsKICAgICB0aGlzLl93b3Jrc3BhY2UgPSB3b3Jrc3BhY2U7CiAgICAgdGhpcy5fdWlM
b2NhdGlvbnMgPSB7fTsKKyAgICB0aGlzLl9jc3NVUkxzRm9yU0FTU1VSTCA9IHt9OworICAgIHRo
aXMuX3RpbWVvdXRGb3JVUkwgPSB7fTsKICAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9k
ZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRU
eXBlcy5SZXNvdXJjZUFkZGVkLCB0aGlzLl9yZXNvdXJjZUFkZGVkLCB0aGlzKTsKKyAgICBXZWJJ
bnNwZWN0b3IuZmlsZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRmlsZU1h
bmFnZXIuRXZlbnRUeXBlcy5TYXZlZFVSTCwgdGhpcy5fZmlsZVNhdmVGaW5pc2hlZCwgdGhpcyk7
CiAgICAgdGhpcy5fd29ya3NwYWNlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLldvcmtz
cGFjZS5FdmVudHMuUHJvamVjdFdpbGxSZXNldCwgdGhpcy5fcmVzZXQsIHRoaXMpOwogfQogCkBA
IC01Nyw2ICs2MCwzOCBAQCBXZWJJbnNwZWN0b3IuU0FTU1NvdXJjZU1hcHBpbmcucHJvdG90eXBl
ID0gewogICAgICAgICBwb3B1bGF0ZUZyYW1lLmNhbGwodGhpcywgV2ViSW5zcGVjdG9yLnJlc291
cmNlVHJlZU1vZGVsLm1haW5GcmFtZSk7CiAgICAgfSwKIAorICAgIF9maWxlU2F2ZUZpbmlzaGVk
OiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHZhciBzYXNzVVJMID0gLyoqIEB0eXBl
IHtzdHJpbmd9ICovIGV2ZW50LmRhdGE7CisgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKKyAg
ICAgICAgeworICAgICAgICAgICAgZGVsZXRlIHRoaXMuX3RpbWVvdXRGb3JVUkxbc2Fzc1VSTF07
CisgICAgICAgICAgICB2YXIgY3NzVVJMcyA9IHRoaXMuX2Nzc1VSTHNGb3JTQVNTVVJMW3Nhc3NV
UkxdOworICAgICAgICAgICAgaWYgKCFjc3NVUkxzKQorICAgICAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY3NzVVJMcy5sZW5ndGg7ICsraSkKKyAg
ICAgICAgICAgICAgICB0aGlzLl9yZWxvYWRDU1MoY3NzVVJMc1tpXSk7CisgICAgICAgIH0KKwor
ICAgICAgICB2YXIgdGltZXIgPSB0aGlzLl90aW1lb3V0Rm9yVVJMW3Nhc3NVUkxdOworICAgICAg
ICBpZiAodGltZXIpCisgICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXIpOworICAgICAgICB2
YXIgdGltZW91dCA9IFdlYkluc3BlY3Rvci5zZXR0aW5ncy5jc3NSZWxvYWRUaW1lb3V0LmdldCgp
OworICAgICAgICBpZiAodGltZW91dCAmJiBpc0Zpbml0ZSh0aW1lb3V0KSkKKyAgICAgICAgICAg
IHRoaXMuX3RpbWVvdXRGb3JVUkxbc2Fzc1VSTF0gPSBzZXRUaW1lb3V0KGNhbGxiYWNrLmJpbmQo
dGhpcyksIE51bWJlcih0aW1lb3V0KSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGRlbGV0
ZSB0aGlzLl90aW1lb3V0Rm9yVVJMW3Nhc3NVUkxdOworICAgIH0sCisKKyAgICBfcmVsb2FkQ1NT
OiBmdW5jdGlvbih1cmwpCisgICAgeworICAgICAgICB2YXIgdWlTb3VyY2VDb2RlID0gdGhpcy5f
d29ya3NwYWNlLnVpU291cmNlQ29kZUZvclVSTCh1cmwpOworICAgICAgICBpZiAoIXVpU291cmNl
Q29kZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgdmFyIG5ld0NvbnRlbnQgPSBJbnNw
ZWN0b3JGcm9udGVuZEhvc3QubG9hZFJlc291cmNlU3luY2hyb25vdXNseSh1cmwpOworICAgICAg
ICB1aVNvdXJjZUNvZGUuYWRkUmV2aXNpb24obmV3Q29udGVudCk7CisgICAgfSwKKwogICAgIC8q
KgogICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLkV2ZW50fSBldmVudAogICAgICAqLwpAQCAt
MTIxLDYgKzE1NiwyMCBAQCBXZWJJbnNwZWN0b3IuU0FTU1NvdXJjZU1hcHBpbmcucHJvdG90eXBl
ID0gewogICAgICAgICB9CiAgICAgICAgIHZhciByYXdMb2NhdGlvblN0cmluZyA9IHJhd1VSTCAr
ICI6IiArIChyYXdMaW5lICsgMSk7ICAvLyBOZXh0IGxpbmUgYWZ0ZXIgbWFwcGluZyBtZXRhaW5m
bwogICAgICAgICB0aGlzLl91aUxvY2F0aW9uc1tyYXdMb2NhdGlvblN0cmluZ10gPSBuZXcgV2Vi
SW5zcGVjdG9yLlVJTG9jYXRpb24odWlTb3VyY2VDb2RlLCBsaW5lIC0gMSwgMCk7CisgICAgICAg
IHRoaXMuX2FkZENTU1VSTGZvclNBU1NVUkwocmF3VVJMLCB1cmwpOworICAgIH0sCisKKyAgICBf
YWRkQ1NTVVJMZm9yU0FTU1VSTDogZnVuY3Rpb24oY3NzVVJMLCBzYXNzVVJMKQorICAgIHsKKyAg
ICAgICAgdmFyIGNzc1VSTHM7CisgICAgICAgIGlmICh0aGlzLl9jc3NVUkxzRm9yU0FTU1VSTC5o
YXNPd25Qcm9wZXJ0eShzYXNzVVJMKSkKKyAgICAgICAgICAgIGNzc1VSTHMgPSB0aGlzLl9jc3NV
UkxzRm9yU0FTU1VSTFtzYXNzVVJMXTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBjc3NV
UkxzID0gW107CisgICAgICAgICAgICB0aGlzLl9jc3NVUkxzRm9yU0FTU1VSTFtzYXNzVVJMXSA9
IGNzc1VSTHM7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGNzc1VSTHMuaW5kZXhPZihjc3NVUkwp
ID09PSAtMSkKKyAgICAgICAgICAgIGNzc1VSTHMucHVzaChjc3NVUkwpOwogICAgIH0sCiAKICAg
ICAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0
dGluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzLmpz
CmluZGV4IGNjOThiNGNkNTAwMGQ1YmQ4ZjUwMzM5YzkwZGU1NDY4NTlkYmMzMzQuLjYxOTQ0MzM3
Y2QyMjBkN2U3NWEzNzgwYzlmYzQxZWYzZTBmOWE0YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3MuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5ncy5qcwpAQCAtMTA1LDYgKzEwNSw3IEBAIFdlYklu
c3BlY3Rvci5TZXR0aW5ncyA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLnNlYXJjaEluQ29udGVudFNj
cmlwdHMgPSB0aGlzLmNyZWF0ZVNldHRpbmcoInNlYXJjaEluQ29udGVudFNjcmlwdHMiLCBmYWxz
ZSk7CiAgICAgdGhpcy50ZXh0RWRpdG9ySW5kZW50ID0gdGhpcy5jcmVhdGVTZXR0aW5nKCJ0ZXh0
RWRpdG9ySW5kZW50IiwgIiAgICAiKTsKICAgICB0aGlzLmxhc3REb2NrU3RhdGUgPSB0aGlzLmNy
ZWF0ZVNldHRpbmcoImxhc3REb2NrU3RhdGUiLCAiIik7CisgICAgdGhpcy5jc3NSZWxvYWRUaW1l
b3V0ID0gdGhpcy5jcmVhdGVTZXR0aW5nKCJjc3NSZWxvYWRUaW1lb3V0IiwgMTAwMCk7CiAKICAg
ICAvLyBJZiB0aGVyZSBhcmUgdG9vIG1hbnkgYnJlYWtwb2ludHMgaW4gYSBzdG9yYWdlLCBpdCBp
cyBsaWtlbHkgZHVlIHRvIGEgcmVjZW50IGJ1ZyB0aGF0IGNhdXNlZAogICAgIC8vIHBlcmlvZGlj
YWwgYnJlYWtwb2ludHMgZHVwbGljYXRpb24gbGVhZGluZyB0byBpbnNwZWN0b3Igc2xvd25lc3Mu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdz
U2NyZWVuLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TZXR0aW5nc1Nj
cmVlbi5qcwppbmRleCBmZTVhYWIwM2NiOGI2MTUyYzZiOTYyY2UwYzlkZGI3ZGY3YzAxYWNiLi5k
YWZiMzdkYzg3ZjBkMTc2YzViZDlkYzI2NTM1N2U1ZmNjM2NjYjQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NldHRpbmdzU2NyZWVuLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2V0dGluZ3NTY3JlZW4uanMKQEAgLTEz
NSw2ICsxMzUsMzcgQEAgV2ViSW5zcGVjdG9yLlNldHRpbmdzVGFiLnByb3RvdHlwZSA9IHsKICAg
ICAgICAgcmV0dXJuIGJsb2NrOwogICAgIH0sCiAKKyAgICBfY3JlYXRlTnVtYmVyU2V0dGluZzog
ZnVuY3Rpb24oaWQsIG5hbWUsIHNldHRpbmcpCisgICAgeworICAgICAgICB2YXIgb2xkVmFsdWUg
PSBzZXR0aW5nLmdldCgpOworCisgICAgICAgIGZ1bmN0aW9uIGJsdXJMaXN0ZW5lcihldmVudCkK
KyAgICAgICAgeworICAgICAgICAgICAgdmFyIHZhbHVlID0gaW5wdXQudmFsdWU7CisgICAgICAg
ICAgICBpZiAoaXNGaW5pdGUodmFsdWUpKSB7CisgICAgICAgICAgICAgICAgdmFsdWUgPSBOdW1i
ZXIodmFsdWUpOworICAgICAgICAgICAgICAgIHNldHRpbmcuc2V0KHZhbHVlKTsKKyAgICAgICAg
ICAgICAgICBvbGRWYWx1ZSA9IHZhbHVlOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAg
ICAgICAgaW5wdXQudmFsdWUgPSBvbGRWYWx1ZTsKKyAgICAgICAgfQorCisgICAgICAgIHZhciBs
YWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxhYmVsIik7CisgICAgICAgIGxhYmVsLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG5hbWUpKTsKKyAgICAgICAgbGFiZWwu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiKSk7CisgICAgICAgIHZhciBp
bnB1dCA9IGxhYmVsLmNyZWF0ZUNoaWxkKCJpbnB1dCIpOworICAgICAgICBpbnB1dC5pZCA9IGlk
OworICAgICAgICBpbnB1dC5tYXhMZW5ndGggPSA2OworICAgICAgICBpbnB1dC5zdHlsZS53aWR0
aCA9ICI2MHB4IjsKKyAgICAgICAgaW5wdXQudmFsdWUgPSBvbGRWYWx1ZTsKKyAgICAgICAgaW5w
dXQuYWxpZ24gPSAicmlnaHQiOworICAgICAgICBpbnB1dC5hZGRFdmVudExpc3RlbmVyKCJibHVy
IiwgYmx1ckxpc3RlbmVyLCBmYWxzZSk7CisKKyAgICAgICAgdmFyIHAgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJwIik7CisgICAgICAgIHAuYXBwZW5kQ2hpbGQobGFiZWwpOworICAgICAgICBy
ZXR1cm4gcDsKKyAgICB9LAorCiAgICAgLyoqCiAgICAgICogQHBhcmFtIHtib29sZWFuPX0gb21p
dFBhcmFncmFwaEVsZW1lbnQKICAgICAgKiBAcGFyYW0ge0VsZW1lbnQ9fSBpbnB1dEVsZW1lbnQK
QEAgLTI3Niw2ICszMDcsMTEgQEAgV2ViSW5zcGVjdG9yLkdlbmVyaWNTZXR0aW5nc1RhYiA9IGZ1
bmN0aW9uKCkKICAgICBwLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZUNoZWNrYm94U2V0dGluZyhX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNob3cgZm9sZGVycyIpLCBXZWJJbnNwZWN0b3Iuc2V0dGlu
Z3Muc2hvd1NjcmlwdEZvbGRlcnMpKTsKICAgICBwLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZUNo
ZWNrYm94U2V0dGluZyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlYXJjaCBpbiBjb250ZW50IHNj
cmlwdHMiKSwgV2ViSW5zcGVjdG9yLnNldHRpbmdzLnNlYXJjaEluQ29udGVudFNjcmlwdHMpKTsK
ICAgICBwLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZUNoZWNrYm94U2V0dGluZyhXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkVuYWJsZSBzb3VyY2UgbWFwcyIpLCBXZWJJbnNwZWN0b3Iuc2V0dGluZ3Mu
c291cmNlTWFwc0VuYWJsZWQpKTsKKyAgICBpZiAoV2ViSW5zcGVjdG9yLmV4cGVyaW1lbnRzU2V0
dGluZ3MuaXNFbmFibGVkKCJzYXNzIikpIHsKKyAgICAgICAgdmFyIHNldHRpbmcgPSB0aGlzLl9j
cmVhdGVOdW1iZXJTZXR0aW5nKCJzYXNzLWNzcy1yZWxvYWQtdGltZW91dCIsIFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiUmVsb2FkIENTUyB1cG9uIFNBU1Mgc2F2ZSBpbiAobXMpIiksIFdlYkluc3Bl
Y3Rvci5zZXR0aW5ncy5jc3NSZWxvYWRUaW1lb3V0KTsKKyAgICAgICAgc2V0dGluZy5jbGFzc05h
bWUgPSAic2V0dGluZyI7CisgICAgICAgIHAuYXBwZW5kQ2hpbGQoc2V0dGluZyk7CisgICAgfQog
ICAgIHAuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlU2VsZWN0U2V0dGluZyhXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkluZGVudGF0aW9uIiksIFsKICAgICAgICAgICAgIFsgV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCIyIHNwYWNlcyIpLCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsLkluZGVudC5U
d29TcGFjZXMgXSwKICAgICAgICAgICAgIFsgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCI0IHNwYWNl
cyIpLCBXZWJJbnNwZWN0b3IuVGV4dEVkaXRvck1vZGVsLkluZGVudC5Gb3VyU3BhY2VzIF0sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2hlbHBTY3JlZW4u
Y3NzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9oZWxwU2NyZWVuLmNzcwpp
bmRleCBkZGU4YWE5NmQ1OTNmZGU1NTYwNmU2M2I4YzViMTAxZTA3OGU0NzhhLi5hMTQyYjhiYTU5
ZThlZWIwMTcwNWZmOTY5NjFmZjExZDkwOWZmNzBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2hlbHBTY3JlZW4uY3NzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvaGVscFNjcmVlbi5jc3MKQEAgLTIxMSw2ICsyMTEsMTAgQEAg
Ym9keS5wbGF0Zm9ybS1tYWMgLmhlbHAta2V5IHsKICAgICBtYXJnaW4tbGVmdDogMTNweDsKIH0K
IAorLmhlbHAtY29udGVudCBwLnNldHRpbmcgeworICAgIG1hcmdpbi1sZWZ0OiAxN3B4OworfQor
CiAuaGVscC1jb250ZW50IGlucHV0W3R5cGU9Y2hlY2tib3hdIHsKICAgICBoZWlnaHQ6IDEzcHg7
CiAgICAgd2lkdGg6IDEzcHg7Cg==
</data>
<flag name="review"
          id="183583"
          type_id="1"
          status="+"
          setter="vsevik"
    />
          </attachment>
      

    </bug>

</bugzilla>