<?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>99958</bug_id>
          
          <creation_ts>2012-10-21 23:27:24 -0700</creation_ts>
          <short_desc>Web Inspector: do not double count memory of objects with multiple ancestors</short_desc>
          <delta_ts>2012-10-22 05:16:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (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="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>apavlov</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>747247</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-10-21 23:27:24 -0700</bug_when>
    <thetext>If there is an instrumented ancestor class which is not first in the parents&apos; list and we have a pointer to the ancestor and another one to the descendant the ancestor&apos;s memory will be counted twice. To avoid this we should use pointer to the ancestor class when check if an object has already been visited.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747319</commentid>
    <comment_count>1</comment_count>
      <attachid>169854</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-10-22 02:00:09 -0700</bug_when>
    <thetext>Created attachment 169854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747333</commentid>
    <comment_count>2</comment_count>
      <attachid>169854</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-10-22 02:19:26 -0700</bug_when>
    <thetext>Comment on attachment 169854
Patch

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

&gt; Source/WTF/wtf/MemoryInstrumentation.h:144
&gt; +        memoryObjectInfo-&gt;reportObjectInfo&lt;T&gt;(0, 0, sizeof(T));

we can report actual pointer here and use it latter.

&gt; Source/WTF/wtf/MemoryInstrumentation.h:268
&gt; +    if (pointer) {

unnecessary line

&gt; Source/WTF/wtf/MemoryInstrumentation.h:272
&gt; +    } else
&gt; +        pointer = m_pointer;

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747347</commentid>
    <comment_count>3</comment_count>
      <attachid>169861</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-10-22 02:37:55 -0700</bug_when>
    <thetext>Created attachment 169861
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747351</commentid>
    <comment_count>4</comment_count>
      <attachid>169861</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-10-22 02:39:26 -0700</bug_when>
    <thetext>Comment on attachment 169861
Patch

lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747352</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-10-22 02:39:57 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 169854 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=169854&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/MemoryInstrumentation.h:144
&gt; &gt; +        memoryObjectInfo-&gt;reportObjectInfo&lt;T&gt;(0, 0, sizeof(T));
&gt; 
&gt; we can report actual pointer here and use it latter.
&gt; 
Goof point. Done!

&gt; &gt; Source/WTF/wtf/MemoryInstrumentation.h:268
&gt; &gt; +    if (pointer) {
&gt; 
&gt; unnecessary line
&gt; 
Done.

&gt; &gt; Source/WTF/wtf/MemoryInstrumentation.h:272
&gt; &gt; +    } else
&gt; &gt; +        pointer = m_pointer;
&gt; 
&gt; ditto
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747381</commentid>
    <comment_count>6</comment_count>
      <attachid>169861</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 03:29:12 -0700</bug_when>
    <thetext>Comment on attachment 169861
Patch

Clearing flags on attachment: 169861

Committed r132059: &lt;http://trac.webkit.org/changeset/132059&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747382</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-22 03:29:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747417</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-10-22 04:40:47 -0700</bug_when>
    <thetext>This patch appears to have broken test_wtf API tests:
http://build.webkit.org/builders/EFL%20Linux%2064-bit%20Debug%20WK2/builds/4844/steps/API%20tests/logs/stdio

[ RUN      ] MemoryInstrumentationTest.instrumentedWithMultipleAncestors
1   0x59156f
2   0x2b2d921bf4c0
3   0x7fff776dcfa0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747445</commentid>
    <comment_count>9</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-10-22 05:16:15 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; This patch appears to have broken test_wtf API tests:
&gt; http://build.webkit.org/builders/EFL%20Linux%2064-bit%20Debug%20WK2/builds/4844/steps/API%20tests/logs/stdio
&gt; 
&gt; [ RUN      ] MemoryInstrumentationTest.instrumentedWithMultipleAncestors
&gt; 1   0x59156f
&gt; 2   0x2b2d921bf4c0
&gt; 3   0x7fff776dcfa0

Fix landed in http://trac.webkit.org/changeset/132065</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169854</attachid>
            <date>2012-10-22 02:00:09 -0700</date>
            <delta_ts>2012-10-22 02:37:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99958-20121022125848.patch</filename>
            <type>text/plain</type>
            <size>6909</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxODc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDJkYWU3ZjdkMjMwYzZhMmQ0YWE5M2Q0
OTA4NWUwOTI1N2Y1OGZmNWQuLjk2OWMyZDc3YjYwNDZiODEwODcxMjM5NTg1ZjllZTQ4NzExY2I2
N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTItMTAtMjIgIFl1cnkgU2VtaWtoYXRza3kgIDx5
dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogZG8gbm90IGRvdWJs
ZSBjb3VudCBtZW1vcnkgb2Ygb2JqZWN0cyB3aXRoIG11bHRpcGxlIGFuY2VzdG9ycworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk5NTgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgbWVtb3J5
IG9jY3VwaWVkIGJ5IG9iamVjdHMgb2YgY2xhc3NlcyB3aXRoIG11bHRpcGxlIGluaGVyaXRhbmNl
IGlzCisgICAgICAgIG5vdCBkb3VibGUgY291bnRlZC4KKworICAgICAgICAqIHd0Zi9NZW1vcnlJ
bnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdURjo6TWVtb3J5T2JqZWN0SW5mbzo6TWVtb3J5
T2JqZWN0SW5mbyk6CisgICAgICAgIChXVEY6Ok1lbW9yeU9iamVjdEluZm86OnJlcG9ydGVkUG9p
bnRlcik6CisgICAgICAgIChXVEY6Ok1lbW9yeU9iamVjdEluZm86OnJlcG9ydE9iamVjdEluZm8p
OgorICAgICAgICAoTWVtb3J5T2JqZWN0SW5mbyk6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6cmVwb3J0T2JqZWN0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV1RGOjpNZW1v
cnlDbGFzc0luZm86Ok1lbW9yeUNsYXNzSW5mbyk6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6SW5zdHJ1bWVudGVkUG9pbnRlcjo6cHJvY2Vzcyk6IHVzZSBhZGp1c3RlZCBw
b2ludGVyCisgICAgICAgIHJldHVybmVkIGJ5IHJlcG9ydE1lbW9yeVVzYWdlIHRvIGNoZWNrIGlm
IHRoZSBvYmplY3QgaGFzIGFscmVhZHkgYmVlbiB2aXNpdGVkIHdoZW4KKyAgICAgICAgdGhlIHBv
aW50ZXIgZGlmZmVycyBmcm9tIHRoZSBvcmluYWwgb25lKGl0IG1heSBoYXBwZW4gaWYgdGhlIG9i
amVjdCB3YXMgcmVwb3J0ZWQKKyAgICAgICAgYnkgYSBwb2ludGVyIHRvIG9uZSBvZiBpdHMgYmFz
ZSBjbGFzc2VzKS4KKwogMjAxMi0xMC0xNyAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogTk1JIHByb3ZpZGUgZGF0YSBmb3Ig
bWl4aW5nIHdpdGggdGNtYWxsb2MgaGVhcCBkdW1wcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL01lbW9yeUluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dURi93dGYvTWVtb3J5SW5zdHJ1
bWVudGF0aW9uLmgKaW5kZXggNWY5MzdiYzYyNDJkYjZlYmY0MzFjZGFmNjJiOWMxNzA0MGQyOGY2
ZC4uMTJjNGQ1YzMwY2I1MTgxMjM1NmMxMDRlZWQ3MjU4ODViMGY5NDM2MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dURi93
dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKQEAgLTU0LDEyICs1NCwxNCBAQCBwdWJsaWM6CiAg
ICAgICAgIDogbV9tZW1vcnlJbnN0cnVtZW50YXRpb24obWVtb3J5SW5zdHJ1bWVudGF0aW9uKQog
ICAgICAgICAsIG1fb2JqZWN0VHlwZShvd25lck9iamVjdFR5cGUpCiAgICAgICAgICwgbV9vYmpl
Y3RTaXplKDApCisgICAgICAgICwgbV9wb2ludGVyKDApCiAgICAgeyB9CiAKICAgICB0eXBlZGVm
IE1lbW9yeUNsYXNzSW5mbyBDbGFzc0luZm87CiAKICAgICBNZW1vcnlPYmplY3RUeXBlIG9iamVj
dFR5cGUoKSBjb25zdCB7IHJldHVybiBtX29iamVjdFR5cGU7IH0KICAgICBzaXplX3Qgb2JqZWN0
U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fb2JqZWN0U2l6ZTsgfQorICAgIGNvbnN0IHZvaWQqIHJl
cG9ydGVkUG9pbnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fcG9pbnRlcjsgfQogCiAgICAgTWVtb3J5
SW5zdHJ1bWVudGF0aW9uKiBtZW1vcnlJbnN0cnVtZW50YXRpb24oKSB7IHJldHVybiBtX21lbW9y
eUluc3RydW1lbnRhdGlvbjsgfQogCkBAIC02Nyw5ICs2OSwxMCBAQCBwcml2YXRlOgogICAgIGZy
aWVuZCBjbGFzcyBNZW1vcnlDbGFzc0luZm87CiAgICAgZnJpZW5kIGNsYXNzIE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjsKIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgcmVwb3J0T2JqZWN0
SW5mbyhNZW1vcnlPYmplY3RUeXBlIG9iamVjdFR5cGUsIHNpemVfdCBhY3R1YWxTaXplKQorICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgcmVwb3J0T2JqZWN0SW5mbyhjb25zdCB2b2lkKiBw
b2ludGVyLCBNZW1vcnlPYmplY3RUeXBlIG9iamVjdFR5cGUsIHNpemVfdCBhY3R1YWxTaXplKQog
ICAgIHsKICAgICAgICAgaWYgKCFtX29iamVjdFNpemUpIHsKKyAgICAgICAgICAgIG1fcG9pbnRl
ciA9IHBvaW50ZXI7CiAgICAgICAgICAgICBtX29iamVjdFNpemUgPSBhY3R1YWxTaXplID8gYWN0
dWFsU2l6ZSA6IHNpemVvZihUKTsKICAgICAgICAgICAgIGlmIChvYmplY3RUeXBlKQogICAgICAg
ICAgICAgICAgIG1fb2JqZWN0VHlwZSA9IG9iamVjdFR5cGU7CkBAIC03OSw2ICs4Miw3IEBAIHBy
aXZhdGU6CiAgICAgTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBtX21lbW9yeUluc3RydW1lbnRhdGlv
bjsKICAgICBNZW1vcnlPYmplY3RUeXBlIG1fb2JqZWN0VHlwZTsKICAgICBzaXplX3QgbV9vYmpl
Y3RTaXplOworICAgIGNvbnN0IHZvaWQqIG1fcG9pbnRlcjsKIH07CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoY29uc3QgVCogY29uc3QmLCBNZW1vcnlPYmpl
Y3RJbmZvKik7CkBAIC0xMzcsNyArMTQxLDcgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCB0eXBlbmFtZSBUeXBlPgogICAgIHN0YXRpYyB2b2lkIHJlcG9ydE9iamVjdE1lbW9y
eVVzYWdlKGNvbnN0IFQqIGNvbnN0JiwgTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bywgLi4uKQogICAgIHsKLSAgICAgICAgbWVtb3J5T2JqZWN0SW5mby0+cmVwb3J0T2JqZWN0SW5m
bzxUPigwLCBzaXplb2YoVCkpOworICAgICAgICBtZW1vcnlPYmplY3RJbmZvLT5yZXBvcnRPYmpl
Y3RJbmZvPFQ+KDAsIDAsIHNpemVvZihUKSk7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4KQEAgLTE4OCwxMSArMTkyLDExIEBAIHByaXZhdGU6CiBjbGFzcyBNZW1vcnlDbGFzc0lu
Zm8gewogcHVibGljOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci0gICAgTWVtb3J5Q2xhc3NJ
bmZvKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8sIGNvbnN0IFQqLCBNZW1vcnlP
YmplY3RUeXBlIG9iamVjdFR5cGUgPSAwLCBzaXplX3QgYWN0dWFsU2l6ZSA9IDApCisgICAgTWVt
b3J5Q2xhc3NJbmZvKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8sIGNvbnN0IFQq
IHBvaW50ZXIsIE1lbW9yeU9iamVjdFR5cGUgb2JqZWN0VHlwZSA9IDAsIHNpemVfdCBhY3R1YWxT
aXplID0gMCkKICAgICAgICAgOiBtX21lbW9yeU9iamVjdEluZm8obWVtb3J5T2JqZWN0SW5mbykK
ICAgICAgICAgLCBtX21lbW9yeUluc3RydW1lbnRhdGlvbihtZW1vcnlPYmplY3RJbmZvLT5tZW1v
cnlJbnN0cnVtZW50YXRpb24oKSkKICAgICB7Ci0gICAgICAgIG1fbWVtb3J5T2JqZWN0SW5mby0+
cmVwb3J0T2JqZWN0SW5mbzxUPihvYmplY3RUeXBlLCBhY3R1YWxTaXplKTsKKyAgICAgICAgbV9t
ZW1vcnlPYmplY3RJbmZvLT5yZXBvcnRPYmplY3RJbmZvPFQ+KHBvaW50ZXIsIG9iamVjdFR5cGUs
IGFjdHVhbFNpemUpOwogICAgICAgICBtX29iamVjdFR5cGUgPSBtZW1vcnlPYmplY3RJbmZvLT5v
YmplY3RUeXBlKCk7CiAgICAgfQogCkBAIC0yNTksNyArMjYzLDE0IEBAIHZvaWQgTWVtb3J5SW5z
dHJ1bWVudGF0aW9uOjpJbnN0cnVtZW50ZWRQb2ludGVyPFQ+Ojpwcm9jZXNzKE1lbW9yeUluc3Ry
dW1lbnRhdGlvCiB7CiAgICAgTWVtb3J5T2JqZWN0SW5mbyBtZW1vcnlPYmplY3RJbmZvKG1lbW9y
eUluc3RydW1lbnRhdGlvbiwgbV9vd25lck9iamVjdFR5cGUpOwogICAgIHJlcG9ydE1lbW9yeVVz
YWdlKG1fcG9pbnRlciwgJm1lbW9yeU9iamVjdEluZm8pOwotICAgIG1lbW9yeUluc3RydW1lbnRh
dGlvbi0+Y291bnRPYmplY3RTaXplKG1fcG9pbnRlciwgbWVtb3J5T2JqZWN0SW5mby5vYmplY3RU
eXBlKCksIG1lbW9yeU9iamVjdEluZm8ub2JqZWN0U2l6ZSgpKTsKKworICAgIGNvbnN0IHZvaWQq
IHBvaW50ZXIgPSBtZW1vcnlPYmplY3RJbmZvLnJlcG9ydGVkUG9pbnRlcigpOworICAgIGlmIChw
b2ludGVyKSB7CisgICAgICAgIGlmIChwb2ludGVyICE9IG1fcG9pbnRlciAmJiBtZW1vcnlJbnN0
cnVtZW50YXRpb24tPnZpc2l0ZWQocG9pbnRlcikpCisgICAgICAgICAgICByZXR1cm47CisgICAg
fSBlbHNlCisgICAgICAgIHBvaW50ZXIgPSBtX3BvaW50ZXI7CisgICAgbWVtb3J5SW5zdHJ1bWVu
dGF0aW9uLT5jb3VudE9iamVjdFNpemUocG9pbnRlciwgbWVtb3J5T2JqZWN0SW5mby5vYmplY3RU
eXBlKCksIG1lbW9yeU9iamVjdEluZm8ub2JqZWN0U2l6ZSgpKTsKIH0KIAogLy8gTGluayB0aW1l
IGd1YXJkIGZvciBjbGFzc2VzIHdpdGggZXh0ZXJuYWwgbWVtb3J5IGluc3RydW1lbnRhdGlvbi4K
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5NjYx
YmM0YjU4ZWJiNzg5MzkyODBmZWMxOWEwZTcyNTBhOWQzNjZiLi43YzJjNjQ3NzIxNDhmM2ZjMTgw
ZDkwMTIxMzlhNmE4NDVlMTdkMTYyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTAtMjIgIFl1cnkgU2VtaWto
YXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogZG8g
bm90IGRvdWJsZSBjb3VudCBtZW1vcnkgb2Ygb2JqZWN0cyB3aXRoIG11bHRpcGxlIGFuY2VzdG9y
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk5NTgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL01lbW9yeUluc3RydW1lbnRhdGlvblRlc3QuY3BwOiBUZXN0IHRo
YXQgdGhlcmUKKyAgICAgICAgaXMgbm8gZG91YmxlIGNvdW50aW5nIGluIGNhc2Ugb2YgbXVsdGlw
bGUgaW5oZXJpdGFuY2UuCisKIDIwMTItMTAtMTkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dh
cmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIxMzA2NDAgLSByMTMwNjQ0
KTogVGVzdENvb2tpZU1hbmFnZXIgQVBJIHRlc3QgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uVGVzdC5jcHAg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0
LmNwcAppbmRleCBkZDZjMzVjNzJiYTM1M2E2OWM1ZTBmNGNiOThlZWYzYzY2MGY1NDk3Li4xY2Jh
YTFkMWYzM2M3NTI0NzY0MjY5YzljYzlkM2I1MzgwMTcyMTU3IDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0LmNwcAorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0
LmNwcApAQCAtNzM0LDUgKzczNCwyNyBAQCBURVNUKE1lbW9yeUluc3RydW1lbnRhdGlvblRlc3Qs
IGFycmF5QnVmZmVyKQogICAgIEVYUEVDVF9FUSgydSwgaGVscGVyLnZpc2l0ZWRPYmplY3RzKCkp
OwogfQogCitjbGFzcyBDbGFzc1dpdGhUd29BbmNlc3RvcnMgOiBwdWJsaWMgTm90SW5zdHJ1bWVu
dGVkLCBwdWJsaWMgSW5zdHJ1bWVudGVkIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIHZvaWQgcmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QK
KyAgICB7CisgICAgICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIFRlc3RUeXBlKTsKKyAgICB9Cit9OworCisKK1RFU1QoTWVtb3J5SW5zdHJ1bWVudGF0aW9u
VGVzdCwgaW5zdHJ1bWVudGVkV2l0aE11bHRpcGxlQW5jZXN0b3JzKQoreworICAgIEluc3RydW1l
bnRhdGlvblRlc3RIZWxwZXIgaGVscGVyOworICAgIE93blB0cjxDbGFzc1dpdGhUd29BbmNlc3Rv
cnM+IGluc3RhbmNlID0gYWRvcHRQdHIobmV3IENsYXNzV2l0aFR3b0FuY2VzdG9ycygpKTsKKyAg
ICBJbnN0cnVtZW50ZWRPd25lcjxDbGFzc1dpdGhUd29BbmNlc3RvcnMqPiBkZXNjZW5kYW50UG9p
bnRlck93bmVyKGluc3RhbmNlLmdldCgpKTsKKyAgICBJbnN0cnVtZW50ZWQqIGFuY2VzdG9yUG9p
bnRlciA9IGluc3RhbmNlLmdldCgpOworICAgIEluc3RydW1lbnRlZE93bmVyPEluc3RydW1lbnRl
ZCo+IGFuY2VzdG9yUG9pbnRlck93bmVyKGFuY2VzdG9yUG9pbnRlck93bmVyKTsKKyAgICBoZWxw
ZXIuYWRkUm9vdE9iamVjdChkZXNjZW5kYW50UG9pbnRlck93bmVyKTsKKyAgICBoZWxwZXIuYWRk
Um9vdE9iamVjdChhbmNlc3RvclBvaW50ZXJPd25lcik7CisgICAgRVhQRUNUX0VRKHNpemVvZihD
bGFzc1dpdGhUd29BbmNlc3RvcnMpLCBoZWxwZXIucmVwb3J0ZWRTaXplRm9yQWxsVHlwZXMoKSk7
CisgICAgRVhQRUNUX0VRKDF1LCBoZWxwZXIudmlzaXRlZE9iamVjdHMoKSk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169861</attachid>
            <date>2012-10-22 02:37:55 -0700</date>
            <delta_ts>2012-10-22 03:29:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99958-20121022133634.patch</filename>
            <type>text/plain</type>
            <size>7199</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMDQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM1ODMwZmZlZDZlOWEyY2E1YmNlZjBh
YWZjYzc2ZWRlNmI3YjYwZDkuLmUxODI5NmRlMGUzODk1M2ZiMzExY2ZkMjdlMjNjOGFiNWRhMTc4
NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMTAtMjIgIFl1cnkgU2VtaWtoYXRza3kgIDx5
dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogZG8gbm90IGRvdWJs
ZSBjb3VudCBtZW1vcnkgb2Ygb2JqZWN0cyB3aXRoIG11bHRpcGxlIGFuY2VzdG9ycworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk5NTgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHN1cmUgbWVtb3J5
IG9jY3VwaWVkIGJ5IG9iamVjdHMgb2YgY2xhc3NlcyB3aXRoIG11bHRpcGxlIGluaGVyaXRhbmNl
IGlzCisgICAgICAgIG5vdCBkb3VibGUgY291bnRlZC4KKworICAgICAgICAqIHd0Zi9NZW1vcnlJ
bnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKFdURjo6TWVtb3J5T2JqZWN0SW5mbzo6TWVtb3J5
T2JqZWN0SW5mbyk6CisgICAgICAgIChXVEY6Ok1lbW9yeU9iamVjdEluZm86OnJlcG9ydGVkUG9p
bnRlcik6CisgICAgICAgIChXVEY6Ok1lbW9yeU9iamVjdEluZm86OnJlcG9ydE9iamVjdEluZm8p
OiAxKSBTdG9yZSBhY3R1YWwgcG9pbnRlciB0byB0aGUgaW5zdHJ1bWVudGVkCisgICAgICAgIG9i
amVjdCBhcyBpdCBtYXkgZGlmZmVyIGZyb20gdGhlIG9yaWdpbmFsIHBvaW50ZXIgYnkgd2hpY2gg
aXQgd2FzIHJlcG9ydGVkLiAyKSBNYWtlCisgICAgICAgIHRoZSBtZXRob2Qgbm9uLXRlbXBsYXRl
IGFuZCBjYWxjdWxhdGUgb2JqZWN0IHNpemUgb24gdGhlIGNhbGxlciBzaWRlLgorICAgICAgICAo
TWVtb3J5T2JqZWN0SW5mbyk6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6
cmVwb3J0T2JqZWN0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV1RGOjpNZW1vcnlDbGFzc0luZm86
Ok1lbW9yeUNsYXNzSW5mbyk6CisgICAgICAgIChXVEY6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6
SW5zdHJ1bWVudGVkUG9pbnRlcjo6cHJvY2Vzcyk6IHVzZSBhZGp1c3RlZCBwb2ludGVyCisgICAg
ICAgIHJldHVybmVkIGJ5IHJlcG9ydE1lbW9yeVVzYWdlIHRvIGNoZWNrIGlmIHRoZSBvYmplY3Qg
aGFzIGFscmVhZHkgYmVlbiB2aXNpdGVkIHdoZW4KKyAgICAgICAgdGhlIHBvaW50ZXIgZGlmZmVy
cyBmcm9tIHRoZSBvcmluYWwgb25lKGl0IG1heSBoYXBwZW4gaWYgdGhlIG9iamVjdCB3YXMgcmVw
b3J0ZWQKKyAgICAgICAgYnkgYSBwb2ludGVyIHRvIG9uZSBvZiBpdHMgYmFzZSBjbGFzc2VzKS4K
KwogMjAxMi0xMC0yMCAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgRml4ICdtYWtlIGRpc3QnIGZvciB0aGUgR1RLKyBwb3J0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XVEYvd3RmL01l
bW9yeUluc3RydW1lbnRhdGlvbi5oCmluZGV4IDVmOTM3YmM2MjQyZGI2ZWJmNDMxY2RhZjYyYjlj
MTcwNDBkMjhmNmQuLjdlYTVjYzY1ZjU0ZmZjYTk5OGFjYzcxODA1MTVjNDMwOTliNzFkYzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbi5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL01lbW9yeUluc3RydW1lbnRhdGlvbi5oCkBAIC01NCwxMiArNTQsMTQgQEAg
cHVibGljOgogICAgICAgICA6IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uKG1lbW9yeUluc3RydW1l
bnRhdGlvbikKICAgICAgICAgLCBtX29iamVjdFR5cGUob3duZXJPYmplY3RUeXBlKQogICAgICAg
ICAsIG1fb2JqZWN0U2l6ZSgwKQorICAgICAgICAsIG1fcG9pbnRlcigwKQogICAgIHsgfQogCiAg
ICAgdHlwZWRlZiBNZW1vcnlDbGFzc0luZm8gQ2xhc3NJbmZvOwogCiAgICAgTWVtb3J5T2JqZWN0
VHlwZSBvYmplY3RUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3RUeXBlOyB9CiAgICAgc2l6
ZV90IG9iamVjdFNpemUoKSBjb25zdCB7IHJldHVybiBtX29iamVjdFNpemU7IH0KKyAgICBjb25z
dCB2b2lkKiByZXBvcnRlZFBvaW50ZXIoKSBjb25zdCB7IHJldHVybiBtX3BvaW50ZXI7IH0KIAog
ICAgIE1lbW9yeUluc3RydW1lbnRhdGlvbiogbWVtb3J5SW5zdHJ1bWVudGF0aW9uKCkgeyByZXR1
cm4gbV9tZW1vcnlJbnN0cnVtZW50YXRpb247IH0KIApAQCAtNjcsMTAgKzY5LDExIEBAIHByaXZh
dGU6CiAgICAgZnJpZW5kIGNsYXNzIE1lbW9yeUNsYXNzSW5mbzsKICAgICBmcmllbmQgY2xhc3Mg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOwogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCBy
ZXBvcnRPYmplY3RJbmZvKE1lbW9yeU9iamVjdFR5cGUgb2JqZWN0VHlwZSwgc2l6ZV90IGFjdHVh
bFNpemUpCisgICAgdm9pZCByZXBvcnRPYmplY3RJbmZvKGNvbnN0IHZvaWQqIHBvaW50ZXIsIE1l
bW9yeU9iamVjdFR5cGUgb2JqZWN0VHlwZSwgc2l6ZV90IG9iamVjdFNpemUpCiAgICAgewogICAg
ICAgICBpZiAoIW1fb2JqZWN0U2l6ZSkgewotICAgICAgICAgICAgbV9vYmplY3RTaXplID0gYWN0
dWFsU2l6ZSA/IGFjdHVhbFNpemUgOiBzaXplb2YoVCk7CisgICAgICAgICAgICBtX3BvaW50ZXIg
PSBwb2ludGVyOworICAgICAgICAgICAgbV9vYmplY3RTaXplID0gb2JqZWN0U2l6ZTsKICAgICAg
ICAgICAgIGlmIChvYmplY3RUeXBlKQogICAgICAgICAgICAgICAgIG1fb2JqZWN0VHlwZSA9IG9i
amVjdFR5cGU7CiAgICAgICAgIH0KQEAgLTc5LDYgKzgyLDcgQEAgcHJpdmF0ZToKICAgICBNZW1v
cnlJbnN0cnVtZW50YXRpb24qIG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uOwogICAgIE1lbW9yeU9i
amVjdFR5cGUgbV9vYmplY3RUeXBlOwogICAgIHNpemVfdCBtX29iamVjdFNpemU7CisgICAgY29u
c3Qgdm9pZCogbV9wb2ludGVyOwogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgVD4gdm9pZCByZXBv
cnRNZW1vcnlVc2FnZShjb25zdCBUKiBjb25zdCYsIE1lbW9yeU9iamVjdEluZm8qKTsKQEAgLTEz
NSw5ICsxMzksOSBAQCBwcml2YXRlOgogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQs
IHR5cGVuYW1lIFR5cGU+Ci0gICAgc3RhdGljIHZvaWQgcmVwb3J0T2JqZWN0TWVtb3J5VXNhZ2Uo
Y29uc3QgVCogY29uc3QmLCBNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvLCAuLi4p
CisgICAgc3RhdGljIHZvaWQgcmVwb3J0T2JqZWN0TWVtb3J5VXNhZ2UoY29uc3QgVCogY29uc3Qm
IG9iamVjdCwgTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbywgLi4uKQogICAgIHsK
LSAgICAgICAgbWVtb3J5T2JqZWN0SW5mby0+cmVwb3J0T2JqZWN0SW5mbzxUPigwLCBzaXplb2Yo
VCkpOworICAgICAgICBtZW1vcnlPYmplY3RJbmZvLT5yZXBvcnRPYmplY3RJbmZvKG9iamVjdCwg
MCwgc2l6ZW9mKFQpKTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgpAQCAtMTg4
LDExICsxOTIsMTEgQEAgcHJpdmF0ZToKIGNsYXNzIE1lbW9yeUNsYXNzSW5mbyB7CiBwdWJsaWM6
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBNZW1vcnlDbGFzc0luZm8oTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbywgY29uc3QgVCosIE1lbW9yeU9iamVjdFR5cGUgb2Jq
ZWN0VHlwZSA9IDAsIHNpemVfdCBhY3R1YWxTaXplID0gMCkKKyAgICBNZW1vcnlDbGFzc0luZm8o
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbywgY29uc3QgVCogcG9pbnRlciwgTWVt
b3J5T2JqZWN0VHlwZSBvYmplY3RUeXBlID0gMCwgc2l6ZV90IGFjdHVhbFNpemUgPSAwKQogICAg
ICAgICA6IG1fbWVtb3J5T2JqZWN0SW5mbyhtZW1vcnlPYmplY3RJbmZvKQogICAgICAgICAsIG1f
bWVtb3J5SW5zdHJ1bWVudGF0aW9uKG1lbW9yeU9iamVjdEluZm8tPm1lbW9yeUluc3RydW1lbnRh
dGlvbigpKQogICAgIHsKLSAgICAgICAgbV9tZW1vcnlPYmplY3RJbmZvLT5yZXBvcnRPYmplY3RJ
bmZvPFQ+KG9iamVjdFR5cGUsIGFjdHVhbFNpemUpOworICAgICAgICBtX21lbW9yeU9iamVjdElu
Zm8tPnJlcG9ydE9iamVjdEluZm8ocG9pbnRlciwgb2JqZWN0VHlwZSwgYWN0dWFsU2l6ZSA/IGFj
dHVhbFNpemUgOiBzaXplb2YoVCkpOwogICAgICAgICBtX29iamVjdFR5cGUgPSBtZW1vcnlPYmpl
Y3RJbmZvLT5vYmplY3RUeXBlKCk7CiAgICAgfQogCkBAIC0yNTksNyArMjYzLDEyIEBAIHZvaWQg
TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpJbnN0cnVtZW50ZWRQb2ludGVyPFQ+Ojpwcm9jZXNzKE1l
bW9yeUluc3RydW1lbnRhdGlvCiB7CiAgICAgTWVtb3J5T2JqZWN0SW5mbyBtZW1vcnlPYmplY3RJ
bmZvKG1lbW9yeUluc3RydW1lbnRhdGlvbiwgbV9vd25lck9iamVjdFR5cGUpOwogICAgIHJlcG9y
dE1lbW9yeVVzYWdlKG1fcG9pbnRlciwgJm1lbW9yeU9iamVjdEluZm8pOwotICAgIG1lbW9yeUlu
c3RydW1lbnRhdGlvbi0+Y291bnRPYmplY3RTaXplKG1fcG9pbnRlciwgbWVtb3J5T2JqZWN0SW5m
by5vYmplY3RUeXBlKCksIG1lbW9yeU9iamVjdEluZm8ub2JqZWN0U2l6ZSgpKTsKKworICAgIGNv
bnN0IHZvaWQqIHBvaW50ZXIgPSBtZW1vcnlPYmplY3RJbmZvLnJlcG9ydGVkUG9pbnRlcigpOwor
ICAgIEFTU0VSVChwb2ludGVyKTsKKyAgICBpZiAocG9pbnRlciAhPSBtX3BvaW50ZXIgJiYgbWVt
b3J5SW5zdHJ1bWVudGF0aW9uLT52aXNpdGVkKHBvaW50ZXIpKQorICAgICAgICByZXR1cm47Cisg
ICAgbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5jb3VudE9iamVjdFNpemUocG9pbnRlciwgbWVtb3J5
T2JqZWN0SW5mby5vYmplY3RUeXBlKCksIG1lbW9yeU9iamVjdEluZm8ub2JqZWN0U2l6ZSgpKTsK
IH0KIAogLy8gTGluayB0aW1lIGd1YXJkIGZvciBjbGFzc2VzIHdpdGggZXh0ZXJuYWwgbWVtb3J5
IGluc3RydW1lbnRhdGlvbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCA2MDJiMmU4MDczYzY4ZTJjNjQ0MzNjNzdlMDhhMGQ1ZWQ4Mjc2ZDU4Li4z
NTQ5Y2YzNjU5NTYzNDEyMzI0OTNlM2VhNGE4YzdhODA3ZWVmYjQ0IDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTIt
MTAtMjIgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogZG8gbm90IGRvdWJsZSBjb3VudCBtZW1vcnkgb2Ygb2JqZWN0cyB3aXRo
IG11bHRpcGxlIGFuY2VzdG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTk5NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01lbW9yeUluc3RydW1lbnRhdGlv
blRlc3QuY3BwOiBUZXN0IHRoYXQgdGhlcmUKKyAgICAgICAgaXMgbm8gZG91YmxlIGNvdW50aW5n
IGluIGNhc2Ugb2YgbXVsdGlwbGUgaW5oZXJpdGFuY2UuCisKIDIwMTItMTAtMjIgIFRvciBBcm5l
IFZlc3Riw7ggIDx0b3IuYXJuZS52ZXN0Ym9AZGlnaWEuY29tPgogCiAgICAgICAgIFtRdF0gRG9u
J3QgYnVpbGQgYW55IG9mIHRoZSB0b29scyBpbiBwcm9kdWN0aW9uX2J1aWxkCmRpZmYgLS1naXQg
YS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZW1vcnlJbnN0cnVtZW50YXRpb25UZXN0
LmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01lbW9yeUluc3RydW1lbnRhdGlv
blRlc3QuY3BwCmluZGV4IGRkNmMzNWM3MmJhMzUzYTY5YzVlMGY0Y2I5OGVlZjNjNjYwZjU0OTcu
LjFjYmFhMWQxZjMzYzc1MjQ3NjQyNjljOWNjOWQzYjUzODAxNzIxNTcgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01lbW9yeUluc3RydW1lbnRhdGlvblRlc3QuY3Bw
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL01lbW9yeUluc3RydW1lbnRhdGlv
blRlc3QuY3BwCkBAIC03MzQsNSArNzM0LDI3IEBAIFRFU1QoTWVtb3J5SW5zdHJ1bWVudGF0aW9u
VGVzdCwgYXJyYXlCdWZmZXIpCiAgICAgRVhQRUNUX0VRKDJ1LCBoZWxwZXIudmlzaXRlZE9iamVj
dHMoKSk7CiB9CiAKK2NsYXNzIENsYXNzV2l0aFR3b0FuY2VzdG9ycyA6IHB1YmxpYyBOb3RJbnN0
cnVtZW50ZWQsIHB1YmxpYyBJbnN0cnVtZW50ZWQgeworcHVibGljOgorICAgIHZpcnR1YWwgdm9p
ZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAorICAgIHsKKyAgICAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgVGVzdFR5cGUpOworICAgIH0KK307CisKKworVEVTVChNZW1vcnlJbnN0cnVtZW50
YXRpb25UZXN0LCBpbnN0cnVtZW50ZWRXaXRoTXVsdGlwbGVBbmNlc3RvcnMpCit7CisgICAgSW5z
dHJ1bWVudGF0aW9uVGVzdEhlbHBlciBoZWxwZXI7CisgICAgT3duUHRyPENsYXNzV2l0aFR3b0Fu
Y2VzdG9ycz4gaW5zdGFuY2UgPSBhZG9wdFB0cihuZXcgQ2xhc3NXaXRoVHdvQW5jZXN0b3JzKCkp
OworICAgIEluc3RydW1lbnRlZE93bmVyPENsYXNzV2l0aFR3b0FuY2VzdG9ycyo+IGRlc2NlbmRh
bnRQb2ludGVyT3duZXIoaW5zdGFuY2UuZ2V0KCkpOworICAgIEluc3RydW1lbnRlZCogYW5jZXN0
b3JQb2ludGVyID0gaW5zdGFuY2UuZ2V0KCk7CisgICAgSW5zdHJ1bWVudGVkT3duZXI8SW5zdHJ1
bWVudGVkKj4gYW5jZXN0b3JQb2ludGVyT3duZXIoYW5jZXN0b3JQb2ludGVyT3duZXIpOworICAg
IGhlbHBlci5hZGRSb290T2JqZWN0KGRlc2NlbmRhbnRQb2ludGVyT3duZXIpOworICAgIGhlbHBl
ci5hZGRSb290T2JqZWN0KGFuY2VzdG9yUG9pbnRlck93bmVyKTsKKyAgICBFWFBFQ1RfRVEoc2l6
ZW9mKENsYXNzV2l0aFR3b0FuY2VzdG9ycyksIGhlbHBlci5yZXBvcnRlZFNpemVGb3JBbGxUeXBl
cygpKTsKKyAgICBFWFBFQ1RfRVEoMXUsIGhlbHBlci52aXNpdGVkT2JqZWN0cygpKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>