<?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>57446</bug_id>
          
          <creation_ts>2011-03-30 06:05:39 -0700</creation_ts>
          <short_desc>Web Inspector: [chromium] script formatting doesn&apos;t work when all scripts are concatenated.</short_desc>
          <delta_ts>2011-04-01 02:53:55 -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>0</everconfirmed>
          <reporter name="Pavel Podivilov">podivilov</reporter>
          <assigned_to name="Pavel Podivilov">podivilov</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>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>376235</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-30 06:05:39 -0700</bug_when>
    <thetext>Web Inspector: [chromium] script formatting doesn&apos;t work when all scripts are concatenated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376237</commentid>
    <comment_count>1</comment_count>
      <attachid>87514</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-30 06:06:56 -0700</bug_when>
    <thetext>Created attachment 87514
Patch.

Inline script imports in worker script in release mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376242</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-30 06:09:30 -0700</bug_when>
    <thetext>Attachment 87514 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebKit/chromium/scripts/inline_js_imports.py:42:  expected 2 blank lines, found 1  [pep8/E302] [5]
Total errors found: 1 in 5 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376274</commentid>
    <comment_count>3</comment_count>
      <attachid>87525</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-30 06:52:35 -0700</bug_when>
    <thetext>Created attachment 87525
Fix style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376343</commentid>
    <comment_count>4</comment_count>
      <attachid>87525</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-03-30 08:24:49 -0700</bug_when>
    <thetext>Comment on attachment 87525
Fix style.

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

&gt; Source/WebKit/chromium/WebKit.gyp:751
&gt; +                                     &apos;concatenated_script_formatter_worker_js&apos;,

This is not enough to deploy this file. Also, where does inspector.js get concatenated for WebKit/Safari?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376380</commentid>
    <comment_count>5</comment_count>
      <attachid>87548</attachid>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-30 09:14:00 -0700</bug_when>
    <thetext>Created attachment 87548
Patch.

Updated grd target.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376381</commentid>
    <comment_count>6</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-03-30 09:15:00 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 87525 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87525&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/WebKit.gyp:751
&gt; &gt; +                                     &apos;concatenated_script_formatter_worker_js&apos;,
&gt; 
&gt; This is not enough to deploy this file. 

Done.

&gt;Also, where does inspector.js get concatenated for WebKit/Safari?
This change is targeted at chrome only.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377688</commentid>
    <comment_count>7</comment_count>
    <who name="Pavel Podivilov">podivilov</who>
    <bug_when>2011-04-01 02:53:55 -0700</bug_when>
    <thetext>Committed r82666: &lt;http://trac.webkit.org/changeset/82666&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87514</attachid>
            <date>2011-03-30 06:06:56 -0700</date>
            <delta_ts>2011-03-30 06:52:35 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>7963</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2ZWQ0OTQ4Li45NjMyZDA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTEtMDMtMzAgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogW2Nocm9taXVtXSBzY3JpcHQgZm9ybWF0dGluZyBkb2Vzbid0IHdvcmsgd2hlbiBh
bGwgc2NyaXB0cyBhcmUgY29uY2F0ZW5hdGVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc0NDYKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvU2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpzOgorCiAyMDExLTAzLTI5ICBEaW1pdHJpIEdsYXpr
b3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHRoZSBleHRyYW5l
b3VzIGRlY2xhcmF0aW9uIEkgYWNjaWRlbnRhbGx5IGFkZGVkIGluIHI4MjM3Ni4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0Rm9ybWF0dGVyV29y
a2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRGb3JtYXR0
ZXJXb3JrZXIuanMKaW5kZXggMWE0YzI4ZS4uYzg4OWZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRGb3JtYXR0ZXJXb3JrZXIu
anMKQEAgLTI4LDkgKzI4LDYgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotdmFyIHBhcnNlID0g
bG9hZE1vZHVsZSgicGFyc2UtanMuanMiKTsKLXZhciBwcm9jZXNzID0gbG9hZE1vZHVsZSgicHJv
Y2Vzcy5qcyIpOwotCiBvbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkgewogICAgIHZhciBzb3Vy
Y2UgPSBldmVudC5kYXRhOwogICAgIHZhciBmb3JtYXR0ZWRTb3VyY2UgPSBiZWF1dGlmeShzb3Vy
Y2UpOwpAQCAtNjksMTggKzY2LDE1IEBAIGZ1bmN0aW9uIGJ1aWxkTWFwcGluZyhzb3VyY2UsIGZv
cm1hdHRlZFNvdXJjZSkKICAgICByZXR1cm4gbWFwcGluZzsKIH0KIAotZnVuY3Rpb24gbG9hZE1v
ZHVsZShzcmMpCi17Ci0gICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAg
ICByZXF1ZXN0Lm9wZW4oIkdFVCIsIHNyYywgZmFsc2UpOwotICAgIHJlcXVlc3Quc2VuZCgpOwot
Ci0gICAgdmFyIGV4cG9ydHMgPSB7fTsKLSAgICBldmFsKHJlcXVlc3QucmVzcG9uc2VUZXh0KTsK
LSAgICByZXR1cm4gZXhwb3J0czsKLX0KLQogZnVuY3Rpb24gcmVxdWlyZSgpCiB7CiAgICAgcmV0
dXJuIHBhcnNlOwogfQorCit2YXIgZXhwb3J0cyA9IHt9OworaW1wb3J0U2NyaXB0cygicGFyc2Ut
anMuanMiKTsKK3ZhciBwYXJzZSA9IGV4cG9ydHM7CisKK3ZhciBleHBvcnRzID0ge307CitpbXBv
cnRTY3JpcHRzKCJwcm9jZXNzLmpzIik7Cit2YXIgcHJvY2VzcyA9IGV4cG9ydHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCmluZGV4IGFmYTRkNjEuLmRkYjI3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDMtMzAgIFBhdmVsIFBvZGl2aWxvdiAg
PHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogW2Nocm9taXVtXSBzY3JpcHQgZm9ybWF0
dGluZyBkb2Vzbid0IHdvcmsgd2hlbiBhbGwgc2NyaXB0cyBhcmUgY29uY2F0ZW5hdGVkLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc0NDYKKworICAg
ICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICogc2NyaXB0cy9pbmxpbmVfanNfaW1wb3J0cy5w
eTogQWRkZWQuCisKIDIwMTEtMDMtMjkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RA
Z21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4MjI5My4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCBkNDcyNDhlLi4zZTdiYzU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC02OTUsNiArNjk1LDcgQEAKICAgICAgICAgICAgICdjb25k
aXRpb25zJzogWwogICAgICAgICAgICAgICAgIFsnZGVidWdfZGV2dG9vbHM9PTAnLCB7CiAgICAg
ICAgICAgICAgICAgICAgICdkZXBlbmRlbmNpZXMnOiBbJ2NvbmNhdGVuYXRlZF9kZXZ0b29sc19q
cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbmNhdGVuYXRlZF9z
Y3JpcHRfZm9ybWF0dGVyX3dvcmtlcl9qcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ2NvbmNhdGVuYXRlZF9kZXZ0b29sc19jc3MnXSwKICAgICAgICAgICAgICAgICB9
XSwKICAgICAgICAgICAgIF0sCkBAIC03NDcsNiArNzQ4LDcgQEAKICAgICAgICAgICAgICdjb25k
aXRpb25zJzogWwogICAgICAgICAgICAgICAgIFsnZGVidWdfZGV2dG9vbHM9PTAnLCB7CiAgICAg
ICAgICAgICAgICAgICAgICdkZXBlbmRlbmNpZXMnOiBbJ2NvbmNhdGVuYXRlZF9kZXZ0b29sc19q
cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbmNhdGVuYXRlZF9z
Y3JpcHRfZm9ybWF0dGVyX3dvcmtlcl9qcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ2NvbmNhdGVuYXRlZF9kZXZ0b29sc19jc3MnXSwKICAgICAgICAgICAgICAgICB9
LHsKICAgICAgICAgICAgICAgICAgICAgIyBJZiB3ZSdyZSBub3QgY29uY2F0ZW5hdGluZyBkZXZ0
b29scyBmaWxlcywgd2Ugd2FudCB0bwpAQCAtMTE2Nyw2ICsxMTY5LDIyIEBACiAgICAgICAgICAg
ICAgICAgICAgIH1dLAogICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAndGFyZ2V0X25hbWUnOiAnY29uY2F0ZW5hdGVkX3NjcmlwdF9mb3Jt
YXR0ZXJfd29ya2VyX2pzJywKKyAgICAgICAgICAgICAgICAgICAgJ3R5cGUnOiAnbm9uZScsCisg
ICAgICAgICAgICAgICAgICAgICdhY3Rpb25zJzogW3sKKyAgICAgICAgICAgICAgICAgICAgICAg
ICdhY3Rpb25fbmFtZSc6ICdjb25jYXRlbmF0ZV9zY3JpcHRfZm9ybWF0dGVyX3dvcmtlcl9qcycs
CisgICAgICAgICAgICAgICAgICAgICAgICAnc2NyaXB0X25hbWUnOiAnc2NyaXB0cy9pbmxpbmVf
anNfaW1wb3J0cy5weScsCisgICAgICAgICAgICAgICAgICAgICAgICAnaW5wdXRfZmlsZSc6ICcu
Li8uLi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpz
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJzxAKF9zY3JpcHRfbmFtZSknLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICc8QCh3ZWJpbnNwZWN0b3JfZmlsZXMpJworICAgICAgICAgICAgICAgICAgICAgICAgXSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICdzZWFyY2hfcGF0aCc6ICcuLi8uLi9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvVWdsaWZ5SlMnLAorICAgICAgICAgICAgICAgICAgICAgICAgJ291
dHB1dHMnOiBbJzwoUFJPRFVDVF9ESVIpL3Jlc291cmNlcy9pbnNwZWN0b3IvU2NyaXB0Rm9ybWF0
dGVyV29ya2VyLmpzJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAnYWN0aW9uJzogWydweXRo
b24nLCAnPEAoX3NjcmlwdF9uYW1lKScsICc8QChfaW5wdXRfZmlsZSknLCAnPEAoX3NlYXJjaF9w
YXRoKScsICc8QChfb3V0cHV0cyknXSwKKyAgICAgICAgICAgICAgICAgICAgfV0sCisgICAgICAg
ICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICd0YXJn
ZXRfbmFtZSc6ICdjb25jYXRlbmF0ZWRfZGV2dG9vbHNfY3NzJywKICAgICAgICAgICAgICAgICAg
ICAgJ3R5cGUnOiAnbm9uZScsCiAgICAgICAgICAgICAgICAgICAgICdkZXBlbmRlbmNpZXMnOiBb
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvaW5saW5lX2pzX2lt
cG9ydHMucHkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvaW5saW5lX2pzX2ltcG9y
dHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQxYWNlYQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9pbmxpbmVfanNfaW1w
b3J0cy5weQpAQCAtMCwwICsxLDgyIEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMKKyMgQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisj
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyMgICAgICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlv
bi4KKyMgICAgICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIworCisjIFRoaXMgc2NyaXB0IHJlcGxhY2VzIGNhbGxz
IHRvIGltcG9ydFNjcmlwdHMgd2l0aCBzY3JpcHQgc291cmNlcworIyBpbiBpbnB1dCBzY3JpcHQg
ZmlsZSBhbmQgZHVtcHMgcmVzdWx0IGludG8gb3V0cHV0IHNjcmlwdCBmaWxlLgorCitmcm9tIGNT
dHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KKworaW1wb3J0IGpzbWluCitpbXBvcnQgb3MucGF0aAor
aW1wb3J0IHJlCitpbXBvcnQgc3lzCisKK2RlZiBtYWluKGFyZ3YpOgorCisgICAgaWYgbGVuKGFy
Z3YpIDwgMzoKKyAgICAgICAgcHJpbnQoJ3VzYWdlOiAlcyBpbnB1dF9maWxlIGltcG9ydHNfZGly
IG91dHB1dF9maWxlJyAlIGFyZ3ZbMF0pCisgICAgICAgIHJldHVybiAxCisKKyAgICBpbnB1dF9m
aWxlX25hbWUgPSBhcmd2WzFdCisgICAgaW1wb3J0c19kaXIgPSBhcmd2WzJdCisgICAgb3V0cHV0
X2ZpbGVfbmFtZSA9IGFyZ3ZbM10KKworICAgIGlucHV0X2ZpbGUgPSBvcGVuKGlucHV0X2ZpbGVf
bmFtZSwgJ3InKQorICAgIGlucHV0X3NjcmlwdCA9IGlucHV0X2ZpbGUucmVhZCgpCisgICAgaW5w
dXRfZmlsZS5jbG9zZSgpCisKKyAgICBkZWYgcmVwbGFjZShtYXRjaCk6CisgICAgICAgIGltcG9y
dF9maWxlX25hbWUgPSBtYXRjaC5ncm91cCgxKQorICAgICAgICBmdWxsX3BhdGggPSBvcy5wYXRo
LmpvaW4oaW1wb3J0c19kaXIsIGltcG9ydF9maWxlX25hbWUpCisgICAgICAgIGlmIG5vdCBvcy5h
Y2Nlc3MoZnVsbF9wYXRoLCBvcy5GX09LKToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbign
RmlsZSAlcyByZWZlcmVuY2VkIGluICVzIG5vdCBmb3VuZCBvbiBhbnkgc291cmNlIHBhdGhzLCAn
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoZWNrIHNvdXJjZSB0cmVlIGZvciBjb25z
aXN0ZW5jeScgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbXBvcnRfZmlsZV9uYW1l
LCBpbnB1dF9maWxlX25hbWUpKQorICAgICAgICBpbXBvcnRfZmlsZSA9IG9wZW4oZnVsbF9wYXRo
LCAncicpCisgICAgICAgIGltcG9ydF9zY3JpcHQgPSBpbXBvcnRfZmlsZS5yZWFkKCkKKyAgICAg
ICAgaW1wb3J0X2ZpbGUuY2xvc2UoKQorICAgICAgICByZXR1cm4gaW1wb3J0X3NjcmlwdAorCisg
ICAgb3V0cHV0X3NjcmlwdCA9IHJlLnN1YihyJ2ltcG9ydFNjcmlwdHNcKFtcJyJdKFteXCciXSsp
W1wnIl1cKScsIHJlcGxhY2UsIGlucHV0X3NjcmlwdCkKKworICAgIG91dHB1dF9maWxlID0gb3Bl
bihvdXRwdXRfZmlsZV9uYW1lLCAndycpCisgICAgI291dHB1dF9maWxlLndyaXRlKGpzbWluLmpz
bWluKG91dHB1dF9zY3JpcHQpKQorICAgIG91dHB1dF9maWxlLndyaXRlKG91dHB1dF9zY3JpcHQp
CisgICAgb3V0cHV0X2ZpbGUuY2xvc2UoKQorCisgICAgIyBUb3VjaCBvdXRwdXQgZmlsZSBkaXJl
Y3RvcnkgdG8gbWFrZSBzdXJlIHRoYXQgWGNvZGUgd2lsbCBjb3B5CisgICAgIyBtb2RpZmllZCBy
ZXNvdXJjZSBmaWxlcy4KKyAgICBpZiBzeXMucGxhdGZvcm0gPT0gJ2Rhcndpbic6CisgICAgICAg
IG91dHB1dF9kaXJfbmFtZSA9IG9zLnBhdGguZGlybmFtZShvdXRwdXRfZmlsZV9uYW1lKQorICAg
ICAgICBvcy51dGltZShvdXRwdXRfZGlyX25hbWUsIE5vbmUpCisKK2lmIF9fbmFtZV9fID09ICdf
X21haW5fXyc6CisgICAgc3lzLmV4aXQobWFpbihzeXMuYXJndikpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87525</attachid>
            <date>2011-03-30 06:52:35 -0700</date>
            <delta_ts>2011-03-30 09:14:00 -0700</delta_ts>
            <desc>Fix style.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>7926</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2ZWQ0OTQ4Li45NjMyZDA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTEtMDMtMzAgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogW2Nocm9taXVtXSBzY3JpcHQgZm9ybWF0dGluZyBkb2Vzbid0IHdvcmsgd2hlbiBh
bGwgc2NyaXB0cyBhcmUgY29uY2F0ZW5hdGVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc0NDYKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvU2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpzOgorCiAyMDExLTAzLTI5ICBEaW1pdHJpIEdsYXpr
b3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHRoZSBleHRyYW5l
b3VzIGRlY2xhcmF0aW9uIEkgYWNjaWRlbnRhbGx5IGFkZGVkIGluIHI4MjM3Ni4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0Rm9ybWF0dGVyV29y
a2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRGb3JtYXR0
ZXJXb3JrZXIuanMKaW5kZXggMWE0YzI4ZS4uYzg4OWZlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9TY3JpcHRGb3JtYXR0ZXJXb3JrZXIu
anMKQEAgLTI4LDkgKzI4LDYgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotdmFyIHBhcnNlID0g
bG9hZE1vZHVsZSgicGFyc2UtanMuanMiKTsKLXZhciBwcm9jZXNzID0gbG9hZE1vZHVsZSgicHJv
Y2Vzcy5qcyIpOwotCiBvbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkgewogICAgIHZhciBzb3Vy
Y2UgPSBldmVudC5kYXRhOwogICAgIHZhciBmb3JtYXR0ZWRTb3VyY2UgPSBiZWF1dGlmeShzb3Vy
Y2UpOwpAQCAtNjksMTggKzY2LDE1IEBAIGZ1bmN0aW9uIGJ1aWxkTWFwcGluZyhzb3VyY2UsIGZv
cm1hdHRlZFNvdXJjZSkKICAgICByZXR1cm4gbWFwcGluZzsKIH0KIAotZnVuY3Rpb24gbG9hZE1v
ZHVsZShzcmMpCi17Ci0gICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTsKLSAg
ICByZXF1ZXN0Lm9wZW4oIkdFVCIsIHNyYywgZmFsc2UpOwotICAgIHJlcXVlc3Quc2VuZCgpOwot
Ci0gICAgdmFyIGV4cG9ydHMgPSB7fTsKLSAgICBldmFsKHJlcXVlc3QucmVzcG9uc2VUZXh0KTsK
LSAgICByZXR1cm4gZXhwb3J0czsKLX0KLQogZnVuY3Rpb24gcmVxdWlyZSgpCiB7CiAgICAgcmV0
dXJuIHBhcnNlOwogfQorCit2YXIgZXhwb3J0cyA9IHt9OworaW1wb3J0U2NyaXB0cygicGFyc2Ut
anMuanMiKTsKK3ZhciBwYXJzZSA9IGV4cG9ydHM7CisKK3ZhciBleHBvcnRzID0ge307CitpbXBv
cnRTY3JpcHRzKCJwcm9jZXNzLmpzIik7Cit2YXIgcHJvY2VzcyA9IGV4cG9ydHM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCmluZGV4IGFmYTRkNjEuLmRkYjI3NmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDMtMzAgIFBhdmVsIFBvZGl2aWxvdiAg
PHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogW2Nocm9taXVtXSBzY3JpcHQgZm9ybWF0
dGluZyBkb2Vzbid0IHdvcmsgd2hlbiBhbGwgc2NyaXB0cyBhcmUgY29uY2F0ZW5hdGVkLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc0NDYKKworICAg
ICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICogc2NyaXB0cy9pbmxpbmVfanNfaW1wb3J0cy5w
eTogQWRkZWQuCisKIDIwMTEtMDMtMjkgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RA
Z21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4MjI5My4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCBkNDcyNDhlLi4zZTdiYzU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC02OTUsNiArNjk1LDcgQEAKICAgICAgICAgICAgICdjb25k
aXRpb25zJzogWwogICAgICAgICAgICAgICAgIFsnZGVidWdfZGV2dG9vbHM9PTAnLCB7CiAgICAg
ICAgICAgICAgICAgICAgICdkZXBlbmRlbmNpZXMnOiBbJ2NvbmNhdGVuYXRlZF9kZXZ0b29sc19q
cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbmNhdGVuYXRlZF9z
Y3JpcHRfZm9ybWF0dGVyX3dvcmtlcl9qcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ2NvbmNhdGVuYXRlZF9kZXZ0b29sc19jc3MnXSwKICAgICAgICAgICAgICAgICB9
XSwKICAgICAgICAgICAgIF0sCkBAIC03NDcsNiArNzQ4LDcgQEAKICAgICAgICAgICAgICdjb25k
aXRpb25zJzogWwogICAgICAgICAgICAgICAgIFsnZGVidWdfZGV2dG9vbHM9PTAnLCB7CiAgICAg
ICAgICAgICAgICAgICAgICdkZXBlbmRlbmNpZXMnOiBbJ2NvbmNhdGVuYXRlZF9kZXZ0b29sc19q
cycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbmNhdGVuYXRlZF9z
Y3JpcHRfZm9ybWF0dGVyX3dvcmtlcl9qcycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ2NvbmNhdGVuYXRlZF9kZXZ0b29sc19jc3MnXSwKICAgICAgICAgICAgICAgICB9
LHsKICAgICAgICAgICAgICAgICAgICAgIyBJZiB3ZSdyZSBub3QgY29uY2F0ZW5hdGluZyBkZXZ0
b29scyBmaWxlcywgd2Ugd2FudCB0bwpAQCAtMTE2Nyw2ICsxMTY5LDIyIEBACiAgICAgICAgICAg
ICAgICAgICAgIH1dLAogICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgICAgICAndGFyZ2V0X25hbWUnOiAnY29uY2F0ZW5hdGVkX3NjcmlwdF9mb3Jt
YXR0ZXJfd29ya2VyX2pzJywKKyAgICAgICAgICAgICAgICAgICAgJ3R5cGUnOiAnbm9uZScsCisg
ICAgICAgICAgICAgICAgICAgICdhY3Rpb25zJzogW3sKKyAgICAgICAgICAgICAgICAgICAgICAg
ICdhY3Rpb25fbmFtZSc6ICdjb25jYXRlbmF0ZV9zY3JpcHRfZm9ybWF0dGVyX3dvcmtlcl9qcycs
CisgICAgICAgICAgICAgICAgICAgICAgICAnc2NyaXB0X25hbWUnOiAnc2NyaXB0cy9pbmxpbmVf
anNfaW1wb3J0cy5weScsCisgICAgICAgICAgICAgICAgICAgICAgICAnaW5wdXRfZmlsZSc6ICcu
Li8uLi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpz
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJzxAKF9zY3JpcHRfbmFtZSknLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICc8QCh3ZWJpbnNwZWN0b3JfZmlsZXMpJworICAgICAgICAgICAgICAgICAgICAgICAgXSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICdzZWFyY2hfcGF0aCc6ICcuLi8uLi9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvVWdsaWZ5SlMnLAorICAgICAgICAgICAgICAgICAgICAgICAgJ291
dHB1dHMnOiBbJzwoUFJPRFVDVF9ESVIpL3Jlc291cmNlcy9pbnNwZWN0b3IvU2NyaXB0Rm9ybWF0
dGVyV29ya2VyLmpzJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAnYWN0aW9uJzogWydweXRo
b24nLCAnPEAoX3NjcmlwdF9uYW1lKScsICc8QChfaW5wdXRfZmlsZSknLCAnPEAoX3NlYXJjaF9w
YXRoKScsICc8QChfb3V0cHV0cyknXSwKKyAgICAgICAgICAgICAgICAgICAgfV0sCisgICAgICAg
ICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICd0YXJn
ZXRfbmFtZSc6ICdjb25jYXRlbmF0ZWRfZGV2dG9vbHNfY3NzJywKICAgICAgICAgICAgICAgICAg
ICAgJ3R5cGUnOiAnbm9uZScsCiAgICAgICAgICAgICAgICAgICAgICdkZXBlbmRlbmNpZXMnOiBb
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvaW5saW5lX2pzX2lt
cG9ydHMucHkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NjcmlwdHMvaW5saW5lX2pzX2ltcG9y
dHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjY1NTAxNgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9pbmxpbmVfanNfaW1w
b3J0cy5weQpAQCAtMCwwICsxLDgyIEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMKKyMgQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisjIG1ldDoKKyMKKyMgICAgICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisj
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyMgICAgICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlv
bi4KKyMgICAgICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworIyAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMgT1dORVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisjIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorIyBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorIworCisjIFRoaXMgc2NyaXB0IHJlcGxhY2VzIGNhbGxz
IHRvIGltcG9ydFNjcmlwdHMgd2l0aCBzY3JpcHQgc291cmNlcworIyBpbiBpbnB1dCBzY3JpcHQg
ZmlsZSBhbmQgZHVtcHMgcmVzdWx0IGludG8gb3V0cHV0IHNjcmlwdCBmaWxlLgorCitmcm9tIGNT
dHJpbmdJTyBpbXBvcnQgU3RyaW5nSU8KKworaW1wb3J0IGpzbWluCitpbXBvcnQgb3MucGF0aAor
aW1wb3J0IHJlCitpbXBvcnQgc3lzCisKKworZGVmIG1haW4oYXJndik6CisKKyAgICBpZiBsZW4o
YXJndikgPCAzOgorICAgICAgICBwcmludCgndXNhZ2U6ICVzIGlucHV0X2ZpbGUgaW1wb3J0c19k
aXIgb3V0cHV0X2ZpbGUnICUgYXJndlswXSkKKyAgICAgICAgcmV0dXJuIDEKKworICAgIGlucHV0
X2ZpbGVfbmFtZSA9IGFyZ3ZbMV0KKyAgICBpbXBvcnRzX2RpciA9IGFyZ3ZbMl0KKyAgICBvdXRw
dXRfZmlsZV9uYW1lID0gYXJndlszXQorCisgICAgaW5wdXRfZmlsZSA9IG9wZW4oaW5wdXRfZmls
ZV9uYW1lLCAncicpCisgICAgaW5wdXRfc2NyaXB0ID0gaW5wdXRfZmlsZS5yZWFkKCkKKyAgICBp
bnB1dF9maWxlLmNsb3NlKCkKKworICAgIGRlZiByZXBsYWNlKG1hdGNoKToKKyAgICAgICAgaW1w
b3J0X2ZpbGVfbmFtZSA9IG1hdGNoLmdyb3VwKDEpCisgICAgICAgIGZ1bGxfcGF0aCA9IG9zLnBh
dGguam9pbihpbXBvcnRzX2RpciwgaW1wb3J0X2ZpbGVfbmFtZSkKKyAgICAgICAgaWYgbm90IG9z
LmFjY2VzcyhmdWxsX3BhdGgsIG9zLkZfT0spOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9u
KCdGaWxlICVzIHJlZmVyZW5jZWQgaW4gJXMgbm90IGZvdW5kIG9uIGFueSBzb3VyY2UgcGF0aHMs
ICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2hlY2sgc291cmNlIHRyZWUgZm9yIGNv
bnNpc3RlbmN5JyAlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGltcG9ydF9maWxlX25h
bWUsIGlucHV0X2ZpbGVfbmFtZSkpCisgICAgICAgIGltcG9ydF9maWxlID0gb3BlbihmdWxsX3Bh
dGgsICdyJykKKyAgICAgICAgaW1wb3J0X3NjcmlwdCA9IGltcG9ydF9maWxlLnJlYWQoKQorICAg
ICAgICBpbXBvcnRfZmlsZS5jbG9zZSgpCisgICAgICAgIHJldHVybiBpbXBvcnRfc2NyaXB0CisK
KyAgICBvdXRwdXRfc2NyaXB0ID0gcmUuc3ViKHInaW1wb3J0U2NyaXB0c1woW1wnIl0oW15cJyJd
KylbXCciXVwpJywgcmVwbGFjZSwgaW5wdXRfc2NyaXB0KQorCisgICAgb3V0cHV0X2ZpbGUgPSBv
cGVuKG91dHB1dF9maWxlX25hbWUsICd3JykKKyAgICBvdXRwdXRfZmlsZS53cml0ZShqc21pbi5q
c21pbihvdXRwdXRfc2NyaXB0KSkKKyAgICBvdXRwdXRfZmlsZS5jbG9zZSgpCisKKyAgICAjIFRv
dWNoIG91dHB1dCBmaWxlIGRpcmVjdG9yeSB0byBtYWtlIHN1cmUgdGhhdCBYY29kZSB3aWxsIGNv
cHkKKyAgICAjIG1vZGlmaWVkIHJlc291cmNlIGZpbGVzLgorICAgIGlmIHN5cy5wbGF0Zm9ybSA9
PSAnZGFyd2luJzoKKyAgICAgICAgb3V0cHV0X2Rpcl9uYW1lID0gb3MucGF0aC5kaXJuYW1lKG91
dHB1dF9maWxlX25hbWUpCisgICAgICAgIG9zLnV0aW1lKG91dHB1dF9kaXJfbmFtZSwgTm9uZSkK
KworaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKKyAgICBzeXMuZXhpdChtYWluKHN5cy5hcmd2
KSkK
</data>
<flag name="review"
          id="79951"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87548</attachid>
            <date>2011-03-30 09:14:00 -0700</date>
            <delta_ts>2011-03-30 11:28:36 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>8303</size>
            <attacher name="Pavel Podivilov">podivilov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzOGE3MzkxLi41MWUzOTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTEtMDMtMzAgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogW2Nocm9taXVtXSBzY3JpcHQgZm9ybWF0dGluZyBkb2Vzbid0IHdvcmsgd2hlbiBh
bGwgc2NyaXB0cyBhcmUgY29uY2F0ZW5hdGVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTc0NDYKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvU2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpzOgorCiAyMDExLTAzLTMwICBZdXJ5IFNlbWlraGF0
c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIFJvbGxvdXQg
cjgyNDM4IGFuZCByODI0MzYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NjcmlwdEZvcm1hdHRlcldvcmtlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpzCmluZGV4IDFhNGMyOGUuLmM4
ODlmZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU2Ny
aXB0Rm9ybWF0dGVyV29ya2VyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvU2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpzCkBAIC0yOCw5ICsyOCw2IEBACiAgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogICovCiAKLXZhciBwYXJzZSA9IGxvYWRNb2R1bGUoInBhcnNlLWpzLmpzIik7Ci12
YXIgcHJvY2VzcyA9IGxvYWRNb2R1bGUoInByb2Nlc3MuanMiKTsKLQogb25tZXNzYWdlID0gZnVu
Y3Rpb24oZXZlbnQpIHsKICAgICB2YXIgc291cmNlID0gZXZlbnQuZGF0YTsKICAgICB2YXIgZm9y
bWF0dGVkU291cmNlID0gYmVhdXRpZnkoc291cmNlKTsKQEAgLTY5LDE4ICs2NiwxNSBAQCBmdW5j
dGlvbiBidWlsZE1hcHBpbmcoc291cmNlLCBmb3JtYXR0ZWRTb3VyY2UpCiAgICAgcmV0dXJuIG1h
cHBpbmc7CiB9CiAKLWZ1bmN0aW9uIGxvYWRNb2R1bGUoc3JjKQotewotICAgIHZhciByZXF1ZXN0
ID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAgcmVxdWVzdC5vcGVuKCJHRVQiLCBzcmMsIGZh
bHNlKTsKLSAgICByZXF1ZXN0LnNlbmQoKTsKLQotICAgIHZhciBleHBvcnRzID0ge307Ci0gICAg
ZXZhbChyZXF1ZXN0LnJlc3BvbnNlVGV4dCk7Ci0gICAgcmV0dXJuIGV4cG9ydHM7Ci19Ci0KIGZ1
bmN0aW9uIHJlcXVpcmUoKQogewogICAgIHJldHVybiBwYXJzZTsKIH0KKwordmFyIGV4cG9ydHMg
PSB7fTsKK2ltcG9ydFNjcmlwdHMoInBhcnNlLWpzLmpzIik7Cit2YXIgcGFyc2UgPSBleHBvcnRz
OworCit2YXIgZXhwb3J0cyA9IHt9OworaW1wb3J0U2NyaXB0cygicHJvY2Vzcy5qcyIpOwordmFy
IHByb2Nlc3MgPSBleHBvcnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBiYjZkMjcw
Li45YTk4YjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDExLTAzLTMwICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rpdmlsb3ZAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtjaHJvbWl1bV0gc2NyaXB0IGZvcm1hdHRpbmcgZG9lc24ndCB3b3JrIHdoZW4gYWxsIHNj
cmlwdHMgYXJlIGNvbmNhdGVuYXRlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTU3NDQ2CisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAq
IHNjcmlwdHMvaW5saW5lX2pzX2ltcG9ydHMucHk6IEFkZGVkLgorCiAyMDExLTAzLTMwICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQu
IFJvbGxvdXQgcjgyNDM4IGFuZCByODI0MzYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKaW5k
ZXggZDQ3MjQ4ZS4uNzJkZGI0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9X
ZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cApAQCAtNjk1
LDYgKzY5NSw3IEBACiAgICAgICAgICAgICAnY29uZGl0aW9ucyc6IFsKICAgICAgICAgICAgICAg
ICBbJ2RlYnVnX2RldnRvb2xzPT0wJywgewogICAgICAgICAgICAgICAgICAgICAnZGVwZW5kZW5j
aWVzJzogWydjb25jYXRlbmF0ZWRfZGV2dG9vbHNfanMnLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICdjb25jYXRlbmF0ZWRfc2NyaXB0X2Zvcm1hdHRlcl93b3JrZXJfanMn
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb25jYXRlbmF0ZWRfZGV2
dG9vbHNfY3NzJ10sCiAgICAgICAgICAgICAgICAgfV0sCiAgICAgICAgICAgICBdLApAQCAtNzQ3
LDYgKzc0OCw3IEBACiAgICAgICAgICAgICAnY29uZGl0aW9ucyc6IFsKICAgICAgICAgICAgICAg
ICBbJ2RlYnVnX2RldnRvb2xzPT0wJywgewogICAgICAgICAgICAgICAgICAgICAnZGVwZW5kZW5j
aWVzJzogWydjb25jYXRlbmF0ZWRfZGV2dG9vbHNfanMnLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICdjb25jYXRlbmF0ZWRfc2NyaXB0X2Zvcm1hdHRlcl93b3JrZXJfanMn
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb25jYXRlbmF0ZWRfZGV2
dG9vbHNfY3NzJ10sCiAgICAgICAgICAgICAgICAgfSx7CiAgICAgICAgICAgICAgICAgICAgICMg
SWYgd2UncmUgbm90IGNvbmNhdGVuYXRpbmcgZGV2dG9vbHMgZmlsZXMsIHdlIHdhbnQgdG8KQEAg
LTc2MSw2ICs3NjMsNyBAQAogICAgICAgICAgICAgICAgICdpbnB1dF9wYWdlcyc6IFsKICAgICAg
ICAgICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL3Jlc291cmNlcy9pbnNwZWN0b3IvZGV2dG9v
bHMuaHRtbCcsCiAgICAgICAgICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9yZXNvdXJjZXMv
aW5zcGVjdG9yL0RldlRvb2xzLmpzJywKKyAgICAgICAgICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL3Jlc291cmNlcy9pbnNwZWN0b3IvU2NyaXB0Rm9ybWF0dGVyV29ya2VyLmpzJywKICAgICAg
ICAgICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL3Jlc291cmNlcy9pbnNwZWN0b3IvZGV2VG9v
bHMuY3NzJywKICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICdpbWFnZXMnOiBb
CkBAIC0xMTY3LDYgKzExNzAsMjIgQEAKICAgICAgICAgICAgICAgICAgICAgfV0sCiAgICAgICAg
ICAgICAgICAgfSwKICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICd0YXJn
ZXRfbmFtZSc6ICdjb25jYXRlbmF0ZWRfc2NyaXB0X2Zvcm1hdHRlcl93b3JrZXJfanMnLAorICAg
ICAgICAgICAgICAgICAgICAndHlwZSc6ICdub25lJywKKyAgICAgICAgICAgICAgICAgICAgJ2Fj
dGlvbnMnOiBbeworICAgICAgICAgICAgICAgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ2NvbmNh
dGVuYXRlX3NjcmlwdF9mb3JtYXR0ZXJfd29ya2VyX2pzJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgICdzY3JpcHRfbmFtZSc6ICdzY3JpcHRzL2lubGluZV9qc19pbXBvcnRzLnB5JywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICdpbnB1dF9maWxlJzogJy4uLy4uL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9TY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanMnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgJ2lucHV0cyc6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPEAoX3Njcmlw
dF9uYW1lKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxAKHdlYmluc3BlY3Rvcl9m
aWxlcyknCisgICAgICAgICAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgJ3NlYXJjaF9wYXRoJzogJy4uLy4uL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9VZ2xp
ZnlKUycsCisgICAgICAgICAgICAgICAgICAgICAgICAnb3V0cHV0cyc6IFsnPChQUk9EVUNUX0RJ
UikvcmVzb3VyY2VzL2luc3BlY3Rvci9TY3JpcHRGb3JtYXR0ZXJXb3JrZXIuanMnXSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICdhY3Rpb24nOiBbJ3B5dGhvbicsICc8QChfc2NyaXB0X25hbWUp
JywgJzxAKF9pbnB1dF9maWxlKScsICc8QChfc2VhcmNoX3BhdGgpJywgJzxAKF9vdXRwdXRzKSdd
LAorICAgICAgICAgICAgICAgICAgICB9XSwKKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgJ3RhcmdldF9uYW1lJzogJ2NvbmNhdGVuYXRl
ZF9kZXZ0b29sc19jc3MnLAogICAgICAgICAgICAgICAgICAgICAndHlwZSc6ICdub25lJywKICAg
ICAgICAgICAgICAgICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc2NyaXB0cy9pbmxpbmVfanNfaW1wb3J0cy5weSBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc2NyaXB0cy9pbmxpbmVfanNfaW1wb3J0cy5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4yNjU1MDE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zY3JpcHRzL2lubGluZV9qc19pbXBvcnRzLnB5CkBAIC0wLDAgKzEsODIg
QEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIworIyBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBh
cmUKKyMgbWV0OgorIworIyAgICAgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorIyBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCisjIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyMgZGlzdHJpYnV0aW9uLgorIyAgICAgICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQorIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisjCisKKyMgVGhpcyBzY3JpcHQgcmVwbGFjZXMgY2FsbHMgdG8gaW1wb3J0U2NyaXB0cyB3aXRo
IHNjcmlwdCBzb3VyY2VzCisjIGluIGlucHV0IHNjcmlwdCBmaWxlIGFuZCBkdW1wcyByZXN1bHQg
aW50byBvdXRwdXQgc2NyaXB0IGZpbGUuCisKK2Zyb20gY1N0cmluZ0lPIGltcG9ydCBTdHJpbmdJ
TworCitpbXBvcnQganNtaW4KK2ltcG9ydCBvcy5wYXRoCitpbXBvcnQgcmUKK2ltcG9ydCBzeXMK
KworCitkZWYgbWFpbihhcmd2KToKKworICAgIGlmIGxlbihhcmd2KSA8IDM6CisgICAgICAgIHBy
aW50KCd1c2FnZTogJXMgaW5wdXRfZmlsZSBpbXBvcnRzX2RpciBvdXRwdXRfZmlsZScgJSBhcmd2
WzBdKQorICAgICAgICByZXR1cm4gMQorCisgICAgaW5wdXRfZmlsZV9uYW1lID0gYXJndlsxXQor
ICAgIGltcG9ydHNfZGlyID0gYXJndlsyXQorICAgIG91dHB1dF9maWxlX25hbWUgPSBhcmd2WzNd
CisKKyAgICBpbnB1dF9maWxlID0gb3BlbihpbnB1dF9maWxlX25hbWUsICdyJykKKyAgICBpbnB1
dF9zY3JpcHQgPSBpbnB1dF9maWxlLnJlYWQoKQorICAgIGlucHV0X2ZpbGUuY2xvc2UoKQorCisg
ICAgZGVmIHJlcGxhY2UobWF0Y2gpOgorICAgICAgICBpbXBvcnRfZmlsZV9uYW1lID0gbWF0Y2gu
Z3JvdXAoMSkKKyAgICAgICAgZnVsbF9wYXRoID0gb3MucGF0aC5qb2luKGltcG9ydHNfZGlyLCBp
bXBvcnRfZmlsZV9uYW1lKQorICAgICAgICBpZiBub3Qgb3MuYWNjZXNzKGZ1bGxfcGF0aCwgb3Mu
Rl9PSyk6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0ZpbGUgJXMgcmVmZXJlbmNlZCBp
biAlcyBub3QgZm91bmQgb24gYW55IHNvdXJjZSBwYXRocywgJworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICdjaGVjayBzb3VyY2UgdHJlZSBmb3IgY29uc2lzdGVuY3knICUKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoaW1wb3J0X2ZpbGVfbmFtZSwgaW5wdXRfZmlsZV9uYW1lKSkK
KyAgICAgICAgaW1wb3J0X2ZpbGUgPSBvcGVuKGZ1bGxfcGF0aCwgJ3InKQorICAgICAgICBpbXBv
cnRfc2NyaXB0ID0gaW1wb3J0X2ZpbGUucmVhZCgpCisgICAgICAgIGltcG9ydF9maWxlLmNsb3Nl
KCkKKyAgICAgICAgcmV0dXJuIGltcG9ydF9zY3JpcHQKKworICAgIG91dHB1dF9zY3JpcHQgPSBy
ZS5zdWIocidpbXBvcnRTY3JpcHRzXChbXCciXShbXlwnIl0rKVtcJyJdXCknLCByZXBsYWNlLCBp
bnB1dF9zY3JpcHQpCisKKyAgICBvdXRwdXRfZmlsZSA9IG9wZW4ob3V0cHV0X2ZpbGVfbmFtZSwg
J3cnKQorICAgIG91dHB1dF9maWxlLndyaXRlKGpzbWluLmpzbWluKG91dHB1dF9zY3JpcHQpKQor
ICAgIG91dHB1dF9maWxlLmNsb3NlKCkKKworICAgICMgVG91Y2ggb3V0cHV0IGZpbGUgZGlyZWN0
b3J5IHRvIG1ha2Ugc3VyZSB0aGF0IFhjb2RlIHdpbGwgY29weQorICAgICMgbW9kaWZpZWQgcmVz
b3VyY2UgZmlsZXMuCisgICAgaWYgc3lzLnBsYXRmb3JtID09ICdkYXJ3aW4nOgorICAgICAgICBv
dXRwdXRfZGlyX25hbWUgPSBvcy5wYXRoLmRpcm5hbWUob3V0cHV0X2ZpbGVfbmFtZSkKKyAgICAg
ICAgb3MudXRpbWUob3V0cHV0X2Rpcl9uYW1lLCBOb25lKQorCitpZiBfX25hbWVfXyA9PSAnX19t
YWluX18nOgorICAgIHN5cy5leGl0KG1haW4oc3lzLmFyZ3YpKQo=
</data>
<flag name="review"
          id="79973"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>