<?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>105763</bug_id>
          
          <creation_ts>2012-12-26 03:43:12 -0800</creation_ts>
          <short_desc>Web Inspector: prepare HeapSnapshot.js for use with native heap snapshot</short_desc>
          <delta_ts>2012-12-26 04:09:07 -0800</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>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>797273</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-12-26 03:43:12 -0800</bug_when>
    <thetext>There are some implicit assumptions about the root node position etc which can be fixed to make HeapSnapshot.js more useful for native snapshots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797274</commentid>
    <comment_count>1</comment_count>
      <attachid>180739</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-12-26 03:48:07 -0800</bug_when>
    <thetext>Created attachment 180739
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797276</commentid>
    <comment_count>2</comment_count>
      <attachid>180739</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-12-26 03:55:40 -0800</bug_when>
    <thetext>Comment on attachment 180739
Patch

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

otherwise lgtm

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:1343
&gt; +        for (var nodeOrdinal = 0, l = this.nodeCount; nodeOrdinal &lt; l; ++nodeOrdinal) {
&gt; +            if (nodeOrdinal === rootNodeOrdinal)

Please use the same logic here. We don&apos;t need additional if statement inside.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797277</commentid>
    <comment_count>3</comment_count>
      <attachid>180740</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-12-26 03:56:37 -0800</bug_when>
    <thetext>Created attachment 180740
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797278</commentid>
    <comment_count>4</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-12-26 03:57:11 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Please use the same logic here. We don&apos;t need additional if statement inside.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797280</commentid>
    <comment_count>5</comment_count>
      <attachid>180740</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-12-26 04:06:19 -0800</bug_when>
    <thetext>Comment on attachment 180740
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        HeapSnapshot.js now expects root node to be either the first or the last(real) one

space between &quot;last&quot; and &quot;(real)&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797281</commentid>
    <comment_count>6</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-12-26 04:08:24 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 180740 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=180740&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        HeapSnapshot.js now expects root node to be either the first or the last(real) one
&gt; 
&gt; space between &quot;last&quot; and &quot;(real)&quot;?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797282</commentid>
    <comment_count>7</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-12-26 04:09:07 -0800</bug_when>
    <thetext>Committed r138475: &lt;http://trac.webkit.org/changeset/138475&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180739</attachid>
            <date>2012-12-26 03:48:07 -0800</date>
            <delta_ts>2012-12-26 03:56:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105763-20121226154518.patch</filename>
            <type>text/plain</type>
            <size>11310</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NDcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjE4YjkxYTM5NTZkMmMx
N2Y2NTVjZTNmZDI4NDRjM2QwZDdmMDI3ZS4uYTM3YzIyNmFhZjA5YjllYTU4ZDViYjk5YTZlMzBi
N2M4YWRjMGRmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTEyLTI2ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHByZXBhcmUgSGVhcFNuYXBzaG90LmpzIGZvciB1c2Ugd2l0aCBuYXRpdmUgaGVhcCBzbmFw
c2hvdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1
NzYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGVh
cFNuYXBzaG90LmpzIG5vdyBleHBlY3RzIHJvb3Qgbm9kZSB0byBiZSBlaXRoZXIgdGhlIGZpcnN0
IG9yIHRoZSBsYXN0KHJlYWwpIG9uZQorICAgICAgICBpbiB0aGUgbGlzdCBvZiBhbGwgbm9kZXMu
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvSGVhcEdyYXBoU2VyaWFsaXplci5jcHA6CisgICAgICAg
IChIZWFwR3JhcGhOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkhlYXBHcmFwaFNlcmlhbGl6ZXI6
OnNlcmlhbGl6ZSk6IHJlb3JkZXJlZCBub2RlIGFuZCBlZGdlIGZpZWxkcyBzbyB0aGF0IHRoZSBn
byBpbgorICAgICAgICB0aGUgc2FtZSBvcmRlciBhcyBpbiB0aGUgSlMgaGVhcCBzbmFwc2hvdC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QucHJvdG90eXBlLl9idWlsZEFnZ3JlZ2F0ZXMpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdC5wcm90b3R5cGUuX2J1aWxkRG9taW5h
dGVkTm9kZXMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmF0aXZlSGVhcEdyYXBo
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdGl2ZUhlYXBHcmFwaCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmF0aXZlSGVhcEdyYXBoLnByb3RvdHlwZS5yb290KTogbm93IHRoZXJlIGlz
IGV4cGxpY2l0IHJvb3Qgbm9kZSB3aGljaCBpcyB0aGUgbGFzdAorICAgICAgICBvbmUgaW4gdGhl
IGxpc3QsIHVzZSBpdC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5OYXRpdmVIZWFwR3JhcGgucHJv
dG90eXBlLl9jYWxjdWxhdGVOb2RlRWRnZUluZGV4ZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
Lk5hdGl2ZUhlYXBHcmFwaC5wcm90b3R5cGUuX2FkZER1bW15Tm9kZSk6IGZpeGVkIGR1bW15IG5v
ZGUgZmlyc3QgZWRnZSBpbmRleC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5OYXRpdmVIZWFwR3Jh
cGguRWRnZS5wcm90b3R5cGUudGFyZ2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OYXRpdmVI
ZWFwR3JhcGguTm9kZS5wcm90b3R5cGUucmVmZXJlbmNlZE5vZGVzKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL05hdGl2ZU1lbW9yeVNuYXBzaG90Vmlldy5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5OYXRpdmVTbmFwc2hvdE5vZGUucHJvdG90eXBlLl9hZGRDaGlsZHJlbkZyb21H
cmFwaCk6IHN3aXRjaGVkIHRvIHVzZSBvZiB0aGUgcm9vdCBub2RlCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTmF0aXZlSGVhcEdyYXBoRGF0YUdyaWRSb290LnByb3RvdHlwZS5fcG9wdWxhdGUpOgor
CiAyMDEyLTEyLTI1ICBKb2huIEdyaWdncyAgPGpncmlnZ3NAcmltLmNvbT4KIAogICAgICAgICBb
QmxhY2tCZXJyeV0gTWVkaWEgY29udHJvbHMgYXJlIGRyYXduIG9uIHRvcCBvZiBvbmUgYW5vdGhl
ciBmb3IgbWVkaWEgd2l0aCB1bmtub3duIGR1cmF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0hlYXBHcmFwaFNlcmlhbGl6ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0hlYXBHcmFwaFNlcmlhbGl6ZXIuY3BwCmluZGV4IGJiZjY0ODc4YjA3NjkyY2I0
MDhlY2M4YTA1NzA0NzM0ODhiOGE3MWYuLjhmZGNiMzA3ODc2OTQ5ZWFiYjA4YjZkM2ZiZTVjNmY0
YmVlN2M1ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9IZWFwR3JhcGhT
ZXJpYWxpemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSGVhcEdyYXBoU2Vy
aWFsaXplci5jcHAKQEAgLTYwLDYgKzYwLDcgQEAgcHVibGljOgogICAgIGludCBtX2NsYXNzTmFt
ZTsKICAgICBpbnQgbV9uYW1lOwogICAgIGludCBtX2VkZ2VDb3VudDsKKyAgICBzdGF0aWMgY29u
c3QgaW50IHNfbm9kZUZpZWxkQ291bnQgPSA1OwogfTsKIAogY2xhc3MgSGVhcEdyYXBoRWRnZSB7
CkBAIC0xNTgsMjIgKzE1OSwyMyBAQCB2b2lkIEhlYXBHcmFwaFNlcmlhbGl6ZXI6OnJlcG9ydEJh
c2VBZGRyZXNzKGNvbnN0IHZvaWQqIGJhc2UsIGNvbnN0IHZvaWQqIHJlYWwpCiAKIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yT2JqZWN0PiBIZWFwR3JhcGhTZXJpYWxpemVyOjpzZXJpYWxpemUoKQogewor
ICAgIGFkZFJvb3ROb2RlKCk7CiAgICAgYWRqdXRFZGdlVGFyZ2V0cygpOwogICAgIFJlZlB0cjxJ
bnNwZWN0b3JBcnJheT4gbm9kZXMgPSBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCk7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBtX25vZGVzLnNpemUoKTsgaSsrKSB7CiAgICAgICAgIEhlYXBH
cmFwaE5vZGUmIG5vZGUgPSBtX25vZGVzW2ldOwogICAgICAgICBub2Rlcy0+cHVzaEludChub2Rl
Lm1fdHlwZSk7Ci0gICAgICAgIG5vZGVzLT5wdXNoSW50KG5vZGUubV9zaXplKTsKICAgICAgICAg
bm9kZXMtPnB1c2hJbnQobm9kZS5tX2NsYXNzTmFtZSk7CiAgICAgICAgIG5vZGVzLT5wdXNoSW50
KG5vZGUubV9uYW1lKTsKKyAgICAgICAgbm9kZXMtPnB1c2hJbnQobm9kZS5tX3NpemUpOwogICAg
ICAgICBub2Rlcy0+cHVzaEludChub2RlLm1fZWRnZUNvdW50KTsKICAgICB9CiAgICAgUmVmUHRy
PEluc3BlY3RvckFycmF5PiBlZGdlcyA9IEluc3BlY3RvckFycmF5OjpjcmVhdGUoKTsKICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG1fZWRnZXMuc2l6ZSgpOyBpKyspIHsKICAgICAgICAgSGVh
cEdyYXBoRWRnZSYgZWRnZSA9IG1fZWRnZXNbaV07CiAgICAgICAgIGVkZ2VzLT5wdXNoSW50KGVk
Z2UubV90eXBlKTsKLSAgICAgICAgZWRnZXMtPnB1c2hJbnQoZWRnZS5tX3RvSW5kZXgpOwogICAg
ICAgICBlZGdlcy0+cHVzaEludChlZGdlLm1fbmFtZSk7CisgICAgICAgIGVkZ2VzLT5wdXNoSW50
KGVkZ2UubV90b0luZGV4ICogSGVhcEdyYXBoTm9kZTo6c19ub2RlRmllbGRDb3VudCk7CiAgICAg
fQogICAgIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gc3RyaW5ncyA9IEluc3BlY3RvckFycmF5Ojpj
cmVhdGUoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fc3RyaW5ncy5zaXplKCk7IGkr
KykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNu
YXBzaG90LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNo
b3QuanMKaW5kZXggYTQ0ZDdmNmY0NGQ4ZTMzMDRiNmViM2RhZjllOGNkMDA1OWFkMjg2ZS4uZGRj
NTg1OGI4ZWZlYzEzMDM4YmQwZTQxM2Y2MzE5ZDAwM2VmZjA2OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKQEAgLTk4Niw3ICs5
ODYsNyBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90LnByb3RvdHlwZSA9IHsKICAgICAgICAg
dmFyIG5vZGUgPSBuZXcgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdE5vZGUodGhpcywgdGhpcy5f
cm9vdE5vZGVJbmRleCk7CiAgICAgICAgIHZhciBkaXN0YW5jZXNUb1dpbmRvdyA9IHRoaXMuX2Rp
c3RhbmNlc1RvV2luZG93OwogCi0gICAgICAgIGZvciAodmFyIG5vZGVJbmRleCA9IHRoaXMuX3Jv
b3ROb2RlSW5kZXg7IG5vZGVJbmRleCA8IG5vZGVzTGVuZ3RoOyBub2RlSW5kZXggKz0gbm9kZUZp
ZWxkQ291bnQpIHsKKyAgICAgICAgZm9yICh2YXIgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwg
bm9kZXNMZW5ndGg7IG5vZGVJbmRleCArPSBub2RlRmllbGRDb3VudCkgewogICAgICAgICAgICAg
dmFyIG5vZGVPcmRpbmFsID0gbm9kZUluZGV4IC8gbm9kZUZpZWxkQ291bnQ7CiAgICAgICAgICAg
ICBpZiAoIShmbGFnc1tub2RlT3JkaW5hbF0gJiBwYWdlT2JqZWN0RmxhZykpCiAgICAgICAgICAg
ICAgICAgY29udGludWU7CkBAIC0xMzE2LDcgKzEzMTYsMTcgQEAgV2ViSW5zcGVjdG9yLkhlYXBT
bmFwc2hvdC5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vIGluZGV4IDApIGFzIGl0IGlzIHRoZSBv
bmx5IG5vZGUgdGhhdCBkb21pbmF0ZXMgaXRzZWxmLgogICAgICAgICB2YXIgbm9kZUZpZWxkQ291
bnQgPSB0aGlzLl9ub2RlRmllbGRDb3VudDsKICAgICAgICAgdmFyIGRvbWluYXRvcnNUcmVlID0g
dGhpcy5fZG9taW5hdG9yc1RyZWU7Ci0gICAgICAgIGZvciAodmFyIG5vZGVPcmRpbmFsID0gMSwg
bCA9IHRoaXMubm9kZUNvdW50OyBub2RlT3JkaW5hbCA8IGw7ICsrbm9kZU9yZGluYWwpCisKKyAg
ICAgICAgdmFyIGZyb21Ob2RlT3JkaW5hbCA9IDA7CisgICAgICAgIHZhciB0b05vZGVPcmRpbmFs
ID0gdGhpcy5ub2RlQ291bnQ7CisgICAgICAgIHZhciByb290Tm9kZU9yZGluYWwgPSB0aGlzLl9y
b290Tm9kZUluZGV4IC8gbm9kZUZpZWxkQ291bnQ7CisgICAgICAgIGlmIChyb290Tm9kZU9yZGlu
YWwgPT09IGZyb21Ob2RlT3JkaW5hbCkKKyAgICAgICAgICAgIGZyb21Ob2RlT3JkaW5hbCA9IDE7
CisgICAgICAgIGVsc2UgaWYgKHJvb3ROb2RlT3JkaW5hbCA9PT0gdG9Ob2RlT3JkaW5hbCAtIDEp
CisgICAgICAgICAgICB0b05vZGVPcmRpbmFsID0gdG9Ob2RlT3JkaW5hbCAtIDE7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiUm9vdCBub2RlIGlzIGV4cGVjdGVk
IHRvIGJlIGVpdGhlciBmaXJzdCBvciBsYXN0Iik7CisgICAgICAgIGZvciAodmFyIG5vZGVPcmRp
bmFsID0gZnJvbU5vZGVPcmRpbmFsOyBub2RlT3JkaW5hbCA8IHRvTm9kZU9yZGluYWw7ICsrbm9k
ZU9yZGluYWwpCiAgICAgICAgICAgICArK2luZGV4QXJyYXlbZG9taW5hdG9yc1RyZWVbbm9kZU9y
ZGluYWxdXTsKICAgICAgICAgLy8gUHV0IGluIHRoZSBmaXJzdCBzbG90IG9mIGVhY2ggZG9taW5h
dGVkTm9kZXMgc2xpY2UgdGhlIGNvdW50IG9mIGVudHJpZXMKICAgICAgICAgLy8gdGhhdCB3aWxs
IGJlIGZpbGxlZC4KQEAgLTEzMjksNyArMTMzOSw5IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNo
b3QucHJvdG90eXBlID0gewogICAgICAgICBpbmRleEFycmF5W3RoaXMubm9kZUNvdW50XSA9IGRv
bWluYXRlZE5vZGVzLmxlbmd0aDsKICAgICAgICAgLy8gRmlsbCB1cCB0aGUgZG9taW5hdGVkTm9k
ZXMgYXJyYXkgd2l0aCBpbmRleGVzIG9mIGRvbWluYXRlZCBub2Rlcy4gU2tpcCB0aGUgcm9vdCAo
bm9kZSBhdAogICAgICAgICAvLyBpbmRleCAwKSBhcyBpdCBpcyB0aGUgb25seSBub2RlIHRoYXQg
ZG9taW5hdGVzIGl0c2VsZi4KLSAgICAgICAgZm9yICh2YXIgbm9kZU9yZGluYWwgPSAxLCBsID0g
dGhpcy5ub2RlQ291bnQ7IG5vZGVPcmRpbmFsIDwgbDsgKytub2RlT3JkaW5hbCkgeworICAgICAg
ICBmb3IgKHZhciBub2RlT3JkaW5hbCA9IDAsIGwgPSB0aGlzLm5vZGVDb3VudDsgbm9kZU9yZGlu
YWwgPCBsOyArK25vZGVPcmRpbmFsKSB7CisgICAgICAgICAgICBpZiAobm9kZU9yZGluYWwgPT09
IHJvb3ROb2RlT3JkaW5hbCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAg
IHZhciBkb21pbmF0b3JPcmRpbmFsID0gZG9taW5hdG9yc1RyZWVbbm9kZU9yZGluYWxdOwogICAg
ICAgICAgICAgdmFyIGRvbWluYXRlZFJlZkluZGV4ID0gaW5kZXhBcnJheVtkb21pbmF0b3JPcmRp
bmFsXTsKICAgICAgICAgICAgIGRvbWluYXRlZFJlZkluZGV4ICs9ICgtLWRvbWluYXRlZE5vZGVz
W2RvbWluYXRlZFJlZkluZGV4XSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL05hdGl2ZUhlYXBHcmFwaC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvTmF0aXZlSGVhcEdyYXBoLmpzCmluZGV4IGJmMWNlOGQwNzU5NzUxNGEwOTRl
NzMyM2QzNjJlOWY5OWQxMmYyZDEuLmZjMDc3NjQzZGI2ODU4NzFhNTRjNjk3YTZmNmM0ODNjZGYz
M2RjMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmF0
aXZlSGVhcEdyYXBoLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
TmF0aXZlSGVhcEdyYXBoLmpzCkBAIC0zOCw0NCArMzgsMzEgQEAgV2ViSW5zcGVjdG9yLk5hdGl2
ZUhlYXBHcmFwaCA9IGZ1bmN0aW9uKHJhd0dyYXBoKQogCiAgICAgdGhpcy5fbm9kZUZpZWxkQ291
bnQgPSA1OwogICAgIHRoaXMuX25vZGVUeXBlT2Zmc2V0ID0gMDsKLSAgICB0aGlzLl9ub2RlU2l6
ZU9mZnNldCA9IDE7Ci0gICAgdGhpcy5fbm9kZUNsYXNzTmFtZU9mZnNldCA9IDI7Ci0gICAgdGhp
cy5fbm9kZU5hbWVPZmZzZXQgPSAzOworICAgIHRoaXMuX25vZGVDbGFzc05hbWVPZmZzZXQgPSAx
OworICAgIHRoaXMuX25vZGVOYW1lT2Zmc2V0ID0gMjsKKyAgICB0aGlzLl9ub2RlU2l6ZU9mZnNl
dCA9IDM7CiAgICAgdGhpcy5fbm9kZUVkZ2VDb3VudE9mZnNldCA9IDQ7CiAgICAgdGhpcy5fbm9k
ZUZpcnN0RWRnZU9mZnNldCA9IHRoaXMuX25vZGVFZGdlQ291bnRPZmZzZXQ7CiAKICAgICB0aGlz
Ll9lZGdlRmllbGRDb3VudCA9IDM7CiAgICAgdGhpcy5fZWRnZVR5cGVPZmZzZXQgPSAwOwotICAg
IHRoaXMuX2VkZ2VUYXJnZXRPZmZzZXQgPSAxOwotICAgIHRoaXMuX2VkZ2VOYW1lT2Zmc2V0ID0g
MjsKKyAgICB0aGlzLl9lZGdlTmFtZU9mZnNldCA9IDE7CisgICAgdGhpcy5fZWRnZVRhcmdldE9m
ZnNldCA9IDI7CiAKICAgICB0aGlzLl9ub2RlQ291bnQgPSByYXdHcmFwaC5ub2Rlcy5sZW5ndGgg
LyB0aGlzLl9ub2RlRmllbGRDb3VudDsKICAgICB0aGlzLl9ub2RlcyA9IHJhd0dyYXBoLm5vZGVz
OwogICAgIHRoaXMuX2VkZ2VzID0gcmF3R3JhcGguZWRnZXM7CiAgICAgdGhpcy5fc3RyaW5ncyA9
IHJhd0dyYXBoLnN0cmluZ3M7CiAKKyAgICB0aGlzLl9yb290Tm9kZUluZGV4ID0gdGhpcy5fbm9k
ZXMubGVuZ3RoIC0gdGhpcy5fbm9kZUZpZWxkQ291bnQ7CiAgICAgdGhpcy5fY2FsY3VsYXRlTm9k
ZUVkZ2VJbmRleGVzKCk7CisgICAgdGhpcy5fYWRkRHVtbXlOb2RlKCk7CiB9CiAKIFdlYkluc3Bl
Y3Rvci5OYXRpdmVIZWFwR3JhcGgucHJvdG90eXBlID0gewotICAgIHJvb3ROb2RlczogZnVuY3Rp
b24oKQorICAgIHJvb3Q6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHZhciBub2RlSGFzSW5j
b21pbmdFZGdlcyA9IG5ldyBVaW50OEFycmF5KHRoaXMuX25vZGVDb3VudCk7Ci0gICAgICAgIHZh
ciBlZGdlcyA9IHRoaXMuX2VkZ2VzOwotICAgICAgICB2YXIgZWRnZXNMZW5ndGggPSBlZGdlcy5s
ZW5ndGg7Ci0gICAgICAgIHZhciBlZGdlRmllbGRDb3VudCA9IHRoaXMuX2VkZ2VGaWVsZENvdW50
OwotICAgICAgICB2YXIgbm9kZUZpZWxkQ291bnQgPSB0aGlzLl9ub2RlRmllbGRDb3VudDsKLSAg
ICAgICAgZm9yICh2YXIgaSA9IHRoaXMuX2VkZ2VUYXJnZXRPZmZzZXQ7IGkgPCBlZGdlc0xlbmd0
aDsgaSArPSBlZGdlRmllbGRDb3VudCkgewotICAgICAgICAgICAgdmFyIHRhcmdldEluZGV4ID0g
ZWRnZXNbaV07Ci0gICAgICAgICAgICBub2RlSGFzSW5jb21pbmdFZGdlc1t0YXJnZXRJbmRleF0g
PSAxOwotICAgICAgICB9Ci0gICAgICAgIHZhciByb290cyA9IFtdOwotICAgICAgICB2YXIgbm9k
ZUNvdW50ID0gbm9kZUhhc0luY29taW5nRWRnZXMubGVuZ3RoOwotICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IG5vZGVDb3VudDsgaSsrKSB7Ci0gICAgICAgICAgICBpZiAoIW5vZGVIYXNJbmNv
bWluZ0VkZ2VzW2ldKQotICAgICAgICAgICAgICAgIHJvb3RzLnB1c2gobmV3IFdlYkluc3BlY3Rv
ci5OYXRpdmVIZWFwR3JhcGguTm9kZSh0aGlzLCBpICogbm9kZUZpZWxkQ291bnQpKTsKLSAgICAg
ICAgfQotICAgICAgICByZXR1cm4gcm9vdHM7CisgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVj
dG9yLk5hdGl2ZUhlYXBHcmFwaC5Ob2RlKHRoaXMsIHRoaXMuX3Jvb3ROb2RlSW5kZXgpOwogICAg
IH0sCiAKICAgICBfY2FsY3VsYXRlTm9kZUVkZ2VJbmRleGVzOiBmdW5jdGlvbigpCkBAIC04OSw3
ICs3Niw2IEBAIFdlYkluc3BlY3Rvci5OYXRpdmVIZWFwR3JhcGgucHJvdG90eXBlID0gewogICAg
ICAgICAgICAgbm9kZXNbaV0gPSBmaXJzdEVkZ2VJbmRleDsKICAgICAgICAgICAgIGZpcnN0RWRn
ZUluZGV4ICs9IGNvdW50OwogICAgICAgICB9Ci0gICAgICAgIHRoaXMuX2FkZER1bW15Tm9kZSgp
OwogICAgIH0sCiAKICAgICBfYWRkRHVtbXlOb2RlOiBmdW5jdGlvbigpCkBAIC05Nyw3ICs4Myw3
IEBAIFdlYkluc3BlY3Rvci5OYXRpdmVIZWFwR3JhcGgucHJvdG90eXBlID0gewogICAgICAgICB2
YXIgZmlyc3RFZGdlUG9zaXRpb24gPSB0aGlzLl9ub2Rlcy5sZW5ndGggKyB0aGlzLl9ub2RlRmly
c3RFZGdlT2Zmc2V0OwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX25vZGVGaWVs
ZENvdW50OyBpKyspCiAgICAgICAgICAgICB0aGlzLl9ub2Rlcy5wdXNoKDApOwotICAgICAgICB0
aGlzLl9ub2Rlc1tmaXJzdEVkZ2VQb3NpdGlvbl0gPSB0aGlzLl9lZGdlcy5sZW5ndGg7CisgICAg
ICAgIHRoaXMuX25vZGVzW2ZpcnN0RWRnZVBvc2l0aW9uXSA9IHRoaXMuX2VkZ2VzLmxlbmd0aCAv
IHRoaXMuX2VkZ2VGaWVsZENvdW50OwogICAgIH0KIH0KIApAQCAtMTI3LDcgKzExMyw3IEBAIFdl
Ykluc3BlY3Rvci5OYXRpdmVIZWFwR3JhcGguRWRnZS5wcm90b3R5cGUgPSB7CiAgICAgdGFyZ2V0
OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICB2YXIgZWRnZXMgPSB0aGlzLl9ncmFwaC5fZWRn
ZXM7Ci0gICAgICAgIHZhciB0YXJnZXRQb3NpdGlvbiA9IGVkZ2VzW3RoaXMuX3Bvc2l0aW9uICsg
dGhpcy5fZ3JhcGguX2VkZ2VUYXJnZXRPZmZzZXRdICogdGhpcy5fZ3JhcGguX25vZGVGaWVsZENv
dW50OworICAgICAgICB2YXIgdGFyZ2V0UG9zaXRpb24gPSBlZGdlc1t0aGlzLl9wb3NpdGlvbiAr
IHRoaXMuX2dyYXBoLl9lZGdlVGFyZ2V0T2Zmc2V0XTsKICAgICAgICAgcmV0dXJuIG5ldyBXZWJJ
bnNwZWN0b3IuTmF0aXZlSGVhcEdyYXBoLk5vZGUodGhpcy5fZ3JhcGgsIHRhcmdldFBvc2l0aW9u
KTsKICAgICB9LAogCkBAIC0xOTgsNyArMTg0LDcgQEAgV2ViSW5zcGVjdG9yLk5hdGl2ZUhlYXBH
cmFwaC5Ob2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGFmdGVyTGFzdEVkZ2VQb3NpdGlv
biA9IHRoaXMuX2FmdGVyTGFzdEVkZ2VQb3NpdGlvbigpOwogICAgICAgICB2YXIgcmVzdWx0ID0g
W107CiAgICAgICAgIGZvciAodmFyIGkgPSBmaXJzdEVkZ2VQb3NpdGlvbiArIHRoaXMuX2dyYXBo
Ll9lZGdlVGFyZ2V0T2Zmc2V0OyBpIDwgYWZ0ZXJMYXN0RWRnZVBvc2l0aW9uOyBpICs9IGVkZ2VG
aWVsZENvdW50KQotICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IFdlYkluc3BlY3Rvci5OYXRp
dmVIZWFwR3JhcGguTm9kZSh0aGlzLl9ncmFwaCwgZWRnZXNbaV0gKiBub2RlRmllbGRDb3VudCkp
OworICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3IFdlYkluc3BlY3Rvci5OYXRpdmVIZWFwR3Jh
cGguTm9kZSh0aGlzLl9ncmFwaCwgZWRnZXNbaV0pKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdDsK
ICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L05hdGl2ZU1lbW9yeVNuYXBzaG90Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvTmF0aXZlTWVtb3J5U25hcHNob3RWaWV3LmpzCmluZGV4IDdlMmRmMGJjNGZhZTcx
MjQwYWI1ZmVhZDI4OWQxZTM5Mzg3NzNjODAuLmQ2ZmM4OWVlMmYwMGE3M2FkMmY2MjI4MDRlMzdj
NGUxNzIwMWQwZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvTmF0aXZlTWVtb3J5U25hcHNob3RWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvTmF0aXZlTWVtb3J5U25hcHNob3RWaWV3LmpzCkBAIC0yODEsNyArMjgx
LDcgQEAgV2ViSW5zcGVjdG9yLk5hdGl2ZVNuYXBzaG90Tm9kZS5wcm90b3R5cGUgPSB7CiAKICAg
ICAgICAgLy8gQ29sbGVjdCBvYmplY3RzIG9uIHRoZSBwYXRoIE1lbW9yeUNhY2hlIC0+IENhY2hl
ZEltYWdlIC1tX2ltYWdlLT4gQml0bWFwSW1hZ2UgLW1fZnJhbWVzLT4gRnJhbWVEYXRhIC1tX2Zy
YW1lLT4gU2tCaXRtYXAgLT4gU2tQaXhlbFJlZgogICAgICAgICB2YXIgZ3JhcGggPSB0aGlzLmRh
dGFHcmlkLl9wcm9maWxlLl9ncmFwaDsKLSAgICAgICAgdmFyIHJvb3RzID0gZ3JhcGgucm9vdE5v
ZGVzKCk7CisgICAgICAgIHZhciByb290cyA9IGdyYXBoLnJvb3QoKS5yZWZlcmVuY2VkTm9kZXMo
KTsKICAgICAgICAgdmFyIG1lbW9yeUNhY2hlOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHJvb3RzLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICB2YXIgcm9vdCA9IHJvb3RzW2ldOwpA
QCAtMzY1LDcgKzM2NSw3IEBAIFdlYkluc3BlY3Rvci5OYXRpdmVIZWFwR3JhcGhEYXRhR3JpZFJv
b3QgPSBmdW5jdGlvbihncmFwaCkKIFdlYkluc3BlY3Rvci5OYXRpdmVIZWFwR3JhcGhEYXRhR3Jp
ZFJvb3QucHJvdG90eXBlID0gewogICAgIF9wb3B1bGF0ZTogZnVuY3Rpb24oKSB7CiAgICAgICAg
IHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wdWxhdGUiLCB0aGlzLl9wb3B1bGF0ZSwgdGhp
cyk7Ci0gICAgICAgIHZhciByb290cyA9IHRoaXMuX2dyYXBoLnJvb3ROb2RlcygpOworICAgICAg
ICB2YXIgcm9vdHMgPSB0aGlzLl9ncmFwaC5yb290KCkucmVmZXJlbmNlZE5vZGVzKCk7CiAgICAg
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcm9vdHMubGVuZ3RoOyBpKyspCiAgICAgICAgICAgICB0
aGlzLmFwcGVuZENoaWxkKG5ldyBXZWJJbnNwZWN0b3IuTmF0aXZlSGVhcEdyYXBoRGF0YUdyaWRO
b2RlKHJvb3RzW2ldKSk7CiAgICAgfSwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180740</attachid>
            <date>2012-12-26 03:56:37 -0800</date>
            <delta_ts>2012-12-26 04:06:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105763-20121226155349.patch</filename>
            <type>text/plain</type>
            <size>11239</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NDcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjE4YjkxYTM5NTZkMmMx
N2Y2NTVjZTNmZDI4NDRjM2QwZDdmMDI3ZS4uYTM3YzIyNmFhZjA5YjllYTU4ZDViYjk5YTZlMzBi
N2M4YWRjMGRmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTEyLTI2ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IHByZXBhcmUgSGVhcFNuYXBzaG90LmpzIGZvciB1c2Ugd2l0aCBuYXRpdmUgaGVhcCBzbmFw
c2hvdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1
NzYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGVh
cFNuYXBzaG90LmpzIG5vdyBleHBlY3RzIHJvb3Qgbm9kZSB0byBiZSBlaXRoZXIgdGhlIGZpcnN0
IG9yIHRoZSBsYXN0KHJlYWwpIG9uZQorICAgICAgICBpbiB0aGUgbGlzdCBvZiBhbGwgbm9kZXMu
CisKKyAgICAgICAgKiBpbnNwZWN0b3IvSGVhcEdyYXBoU2VyaWFsaXplci5jcHA6CisgICAgICAg
IChIZWFwR3JhcGhOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkhlYXBHcmFwaFNlcmlhbGl6ZXI6
OnNlcmlhbGl6ZSk6IHJlb3JkZXJlZCBub2RlIGFuZCBlZGdlIGZpZWxkcyBzbyB0aGF0IHRoZSBn
byBpbgorICAgICAgICB0aGUgc2FtZSBvcmRlciBhcyBpbiB0aGUgSlMgaGVhcCBzbmFwc2hvdC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5IZWFwU25hcHNob3QucHJvdG90eXBlLl9idWlsZEFnZ3JlZ2F0ZXMpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdC5wcm90b3R5cGUuX2J1aWxkRG9taW5h
dGVkTm9kZXMpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvTmF0aXZlSGVhcEdyYXBo
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdGl2ZUhlYXBHcmFwaCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTmF0aXZlSGVhcEdyYXBoLnByb3RvdHlwZS5yb290KTogbm93IHRoZXJlIGlz
IGV4cGxpY2l0IHJvb3Qgbm9kZSB3aGljaCBpcyB0aGUgbGFzdAorICAgICAgICBvbmUgaW4gdGhl
IGxpc3QsIHVzZSBpdC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5OYXRpdmVIZWFwR3JhcGgucHJv
dG90eXBlLl9jYWxjdWxhdGVOb2RlRWRnZUluZGV4ZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
Lk5hdGl2ZUhlYXBHcmFwaC5wcm90b3R5cGUuX2FkZER1bW15Tm9kZSk6IGZpeGVkIGR1bW15IG5v
ZGUgZmlyc3QgZWRnZSBpbmRleC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5OYXRpdmVIZWFwR3Jh
cGguRWRnZS5wcm90b3R5cGUudGFyZ2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OYXRpdmVI
ZWFwR3JhcGguTm9kZS5wcm90b3R5cGUucmVmZXJlbmNlZE5vZGVzKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL05hdGl2ZU1lbW9yeVNuYXBzaG90Vmlldy5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5OYXRpdmVTbmFwc2hvdE5vZGUucHJvdG90eXBlLl9hZGRDaGlsZHJlbkZyb21H
cmFwaCk6IHN3aXRjaGVkIHRvIHVzZSBvZiB0aGUgcm9vdCBub2RlCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTmF0aXZlSGVhcEdyYXBoRGF0YUdyaWRSb290LnByb3RvdHlwZS5fcG9wdWxhdGUpOgor
CiAyMDEyLTEyLTI1ICBKb2huIEdyaWdncyAgPGpncmlnZ3NAcmltLmNvbT4KIAogICAgICAgICBb
QmxhY2tCZXJyeV0gTWVkaWEgY29udHJvbHMgYXJlIGRyYXduIG9uIHRvcCBvZiBvbmUgYW5vdGhl
ciBmb3IgbWVkaWEgd2l0aCB1bmtub3duIGR1cmF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0hlYXBHcmFwaFNlcmlhbGl6ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0hlYXBHcmFwaFNlcmlhbGl6ZXIuY3BwCmluZGV4IGJiZjY0ODc4YjA3NjkyY2I0
MDhlY2M4YTA1NzA0NzM0ODhiOGE3MWYuLjhmZGNiMzA3ODc2OTQ5ZWFiYjA4YjZkM2ZiZTVjNmY0
YmVlN2M1ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9IZWFwR3JhcGhT
ZXJpYWxpemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSGVhcEdyYXBoU2Vy
aWFsaXplci5jcHAKQEAgLTYwLDYgKzYwLDcgQEAgcHVibGljOgogICAgIGludCBtX2NsYXNzTmFt
ZTsKICAgICBpbnQgbV9uYW1lOwogICAgIGludCBtX2VkZ2VDb3VudDsKKyAgICBzdGF0aWMgY29u
c3QgaW50IHNfbm9kZUZpZWxkQ291bnQgPSA1OwogfTsKIAogY2xhc3MgSGVhcEdyYXBoRWRnZSB7
CkBAIC0xNTgsMjIgKzE1OSwyMyBAQCB2b2lkIEhlYXBHcmFwaFNlcmlhbGl6ZXI6OnJlcG9ydEJh
c2VBZGRyZXNzKGNvbnN0IHZvaWQqIGJhc2UsIGNvbnN0IHZvaWQqIHJlYWwpCiAKIFBhc3NSZWZQ
dHI8SW5zcGVjdG9yT2JqZWN0PiBIZWFwR3JhcGhTZXJpYWxpemVyOjpzZXJpYWxpemUoKQogewor
ICAgIGFkZFJvb3ROb2RlKCk7CiAgICAgYWRqdXRFZGdlVGFyZ2V0cygpOwogICAgIFJlZlB0cjxJ
bnNwZWN0b3JBcnJheT4gbm9kZXMgPSBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCk7CiAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBtX25vZGVzLnNpemUoKTsgaSsrKSB7CiAgICAgICAgIEhlYXBH
cmFwaE5vZGUmIG5vZGUgPSBtX25vZGVzW2ldOwogICAgICAgICBub2Rlcy0+cHVzaEludChub2Rl
Lm1fdHlwZSk7Ci0gICAgICAgIG5vZGVzLT5wdXNoSW50KG5vZGUubV9zaXplKTsKICAgICAgICAg
bm9kZXMtPnB1c2hJbnQobm9kZS5tX2NsYXNzTmFtZSk7CiAgICAgICAgIG5vZGVzLT5wdXNoSW50
KG5vZGUubV9uYW1lKTsKKyAgICAgICAgbm9kZXMtPnB1c2hJbnQobm9kZS5tX3NpemUpOwogICAg
ICAgICBub2Rlcy0+cHVzaEludChub2RlLm1fZWRnZUNvdW50KTsKICAgICB9CiAgICAgUmVmUHRy
PEluc3BlY3RvckFycmF5PiBlZGdlcyA9IEluc3BlY3RvckFycmF5OjpjcmVhdGUoKTsKICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG1fZWRnZXMuc2l6ZSgpOyBpKyspIHsKICAgICAgICAgSGVh
cEdyYXBoRWRnZSYgZWRnZSA9IG1fZWRnZXNbaV07CiAgICAgICAgIGVkZ2VzLT5wdXNoSW50KGVk
Z2UubV90eXBlKTsKLSAgICAgICAgZWRnZXMtPnB1c2hJbnQoZWRnZS5tX3RvSW5kZXgpOwogICAg
ICAgICBlZGdlcy0+cHVzaEludChlZGdlLm1fbmFtZSk7CisgICAgICAgIGVkZ2VzLT5wdXNoSW50
KGVkZ2UubV90b0luZGV4ICogSGVhcEdyYXBoTm9kZTo6c19ub2RlRmllbGRDb3VudCk7CiAgICAg
fQogICAgIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gc3RyaW5ncyA9IEluc3BlY3RvckFycmF5Ojpj
cmVhdGUoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fc3RyaW5ncy5zaXplKCk7IGkr
KykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNu
YXBzaG90LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNo
b3QuanMKaW5kZXggYTQ0ZDdmNmY0NGQ4ZTMzMDRiNmViM2RhZjllOGNkMDA1OWFkMjg2ZS4uOWYw
NGIwYTFjMWRiNGU0ODFjMzlhMjg1Nzg3N2EyMzJhODgyZGNkZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3QuanMKQEAgLTk4Niw3ICs5
ODYsNyBAQCBXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90LnByb3RvdHlwZSA9IHsKICAgICAgICAg
dmFyIG5vZGUgPSBuZXcgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdE5vZGUodGhpcywgdGhpcy5f
cm9vdE5vZGVJbmRleCk7CiAgICAgICAgIHZhciBkaXN0YW5jZXNUb1dpbmRvdyA9IHRoaXMuX2Rp
c3RhbmNlc1RvV2luZG93OwogCi0gICAgICAgIGZvciAodmFyIG5vZGVJbmRleCA9IHRoaXMuX3Jv
b3ROb2RlSW5kZXg7IG5vZGVJbmRleCA8IG5vZGVzTGVuZ3RoOyBub2RlSW5kZXggKz0gbm9kZUZp
ZWxkQ291bnQpIHsKKyAgICAgICAgZm9yICh2YXIgbm9kZUluZGV4ID0gMDsgbm9kZUluZGV4IDwg
bm9kZXNMZW5ndGg7IG5vZGVJbmRleCArPSBub2RlRmllbGRDb3VudCkgewogICAgICAgICAgICAg
dmFyIG5vZGVPcmRpbmFsID0gbm9kZUluZGV4IC8gbm9kZUZpZWxkQ291bnQ7CiAgICAgICAgICAg
ICBpZiAoIShmbGFnc1tub2RlT3JkaW5hbF0gJiBwYWdlT2JqZWN0RmxhZykpCiAgICAgICAgICAg
ICAgICAgY29udGludWU7CkBAIC0xMzE2LDcgKzEzMTYsMTcgQEAgV2ViSW5zcGVjdG9yLkhlYXBT
bmFwc2hvdC5wcm90b3R5cGUgPSB7CiAgICAgICAgIC8vIGluZGV4IDApIGFzIGl0IGlzIHRoZSBv
bmx5IG5vZGUgdGhhdCBkb21pbmF0ZXMgaXRzZWxmLgogICAgICAgICB2YXIgbm9kZUZpZWxkQ291
bnQgPSB0aGlzLl9ub2RlRmllbGRDb3VudDsKICAgICAgICAgdmFyIGRvbWluYXRvcnNUcmVlID0g
dGhpcy5fZG9taW5hdG9yc1RyZWU7Ci0gICAgICAgIGZvciAodmFyIG5vZGVPcmRpbmFsID0gMSwg
bCA9IHRoaXMubm9kZUNvdW50OyBub2RlT3JkaW5hbCA8IGw7ICsrbm9kZU9yZGluYWwpCisKKyAg
ICAgICAgdmFyIGZyb21Ob2RlT3JkaW5hbCA9IDA7CisgICAgICAgIHZhciB0b05vZGVPcmRpbmFs
ID0gdGhpcy5ub2RlQ291bnQ7CisgICAgICAgIHZhciByb290Tm9kZU9yZGluYWwgPSB0aGlzLl9y
b290Tm9kZUluZGV4IC8gbm9kZUZpZWxkQ291bnQ7CisgICAgICAgIGlmIChyb290Tm9kZU9yZGlu
YWwgPT09IGZyb21Ob2RlT3JkaW5hbCkKKyAgICAgICAgICAgIGZyb21Ob2RlT3JkaW5hbCA9IDE7
CisgICAgICAgIGVsc2UgaWYgKHJvb3ROb2RlT3JkaW5hbCA9PT0gdG9Ob2RlT3JkaW5hbCAtIDEp
CisgICAgICAgICAgICB0b05vZGVPcmRpbmFsID0gdG9Ob2RlT3JkaW5hbCAtIDE7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiUm9vdCBub2RlIGlzIGV4cGVjdGVk
IHRvIGJlIGVpdGhlciBmaXJzdCBvciBsYXN0Iik7CisgICAgICAgIGZvciAodmFyIG5vZGVPcmRp
bmFsID0gZnJvbU5vZGVPcmRpbmFsOyBub2RlT3JkaW5hbCA8IHRvTm9kZU9yZGluYWw7ICsrbm9k
ZU9yZGluYWwpCiAgICAgICAgICAgICArK2luZGV4QXJyYXlbZG9taW5hdG9yc1RyZWVbbm9kZU9y
ZGluYWxdXTsKICAgICAgICAgLy8gUHV0IGluIHRoZSBmaXJzdCBzbG90IG9mIGVhY2ggZG9taW5h
dGVkTm9kZXMgc2xpY2UgdGhlIGNvdW50IG9mIGVudHJpZXMKICAgICAgICAgLy8gdGhhdCB3aWxs
IGJlIGZpbGxlZC4KQEAgLTEzMjksNyArMTMzOSw3IEBAIFdlYkluc3BlY3Rvci5IZWFwU25hcHNo
b3QucHJvdG90eXBlID0gewogICAgICAgICBpbmRleEFycmF5W3RoaXMubm9kZUNvdW50XSA9IGRv
bWluYXRlZE5vZGVzLmxlbmd0aDsKICAgICAgICAgLy8gRmlsbCB1cCB0aGUgZG9taW5hdGVkTm9k
ZXMgYXJyYXkgd2l0aCBpbmRleGVzIG9mIGRvbWluYXRlZCBub2Rlcy4gU2tpcCB0aGUgcm9vdCAo
bm9kZSBhdAogICAgICAgICAvLyBpbmRleCAwKSBhcyBpdCBpcyB0aGUgb25seSBub2RlIHRoYXQg
ZG9taW5hdGVzIGl0c2VsZi4KLSAgICAgICAgZm9yICh2YXIgbm9kZU9yZGluYWwgPSAxLCBsID0g
dGhpcy5ub2RlQ291bnQ7IG5vZGVPcmRpbmFsIDwgbDsgKytub2RlT3JkaW5hbCkgeworICAgICAg
ICBmb3IgKHZhciBub2RlT3JkaW5hbCA9IGZyb21Ob2RlT3JkaW5hbDsgbm9kZU9yZGluYWwgPCB0
b05vZGVPcmRpbmFsOyArK25vZGVPcmRpbmFsKSB7CiAgICAgICAgICAgICB2YXIgZG9taW5hdG9y
T3JkaW5hbCA9IGRvbWluYXRvcnNUcmVlW25vZGVPcmRpbmFsXTsKICAgICAgICAgICAgIHZhciBk
b21pbmF0ZWRSZWZJbmRleCA9IGluZGV4QXJyYXlbZG9taW5hdG9yT3JkaW5hbF07CiAgICAgICAg
ICAgICBkb21pbmF0ZWRSZWZJbmRleCArPSAoLS1kb21pbmF0ZWROb2Rlc1tkb21pbmF0ZWRSZWZJ
bmRleF0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9O
YXRpdmVIZWFwR3JhcGguanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05h
dGl2ZUhlYXBHcmFwaC5qcwppbmRleCBiZjFjZThkMDc1OTc1MTRhMDk0ZTczMjNkMzYyZTlmOTlk
MTJmMmQxLi5mYzA3NzY0M2RiNjg1ODcxYTU0YzY5N2E2ZjZjNDgzY2RmMzNkYzM2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05hdGl2ZUhlYXBHcmFwaC5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05hdGl2ZUhlYXBHcmFw
aC5qcwpAQCAtMzgsNDQgKzM4LDMxIEBAIFdlYkluc3BlY3Rvci5OYXRpdmVIZWFwR3JhcGggPSBm
dW5jdGlvbihyYXdHcmFwaCkKIAogICAgIHRoaXMuX25vZGVGaWVsZENvdW50ID0gNTsKICAgICB0
aGlzLl9ub2RlVHlwZU9mZnNldCA9IDA7Ci0gICAgdGhpcy5fbm9kZVNpemVPZmZzZXQgPSAxOwot
ICAgIHRoaXMuX25vZGVDbGFzc05hbWVPZmZzZXQgPSAyOwotICAgIHRoaXMuX25vZGVOYW1lT2Zm
c2V0ID0gMzsKKyAgICB0aGlzLl9ub2RlQ2xhc3NOYW1lT2Zmc2V0ID0gMTsKKyAgICB0aGlzLl9u
b2RlTmFtZU9mZnNldCA9IDI7CisgICAgdGhpcy5fbm9kZVNpemVPZmZzZXQgPSAzOwogICAgIHRo
aXMuX25vZGVFZGdlQ291bnRPZmZzZXQgPSA0OwogICAgIHRoaXMuX25vZGVGaXJzdEVkZ2VPZmZz
ZXQgPSB0aGlzLl9ub2RlRWRnZUNvdW50T2Zmc2V0OwogCiAgICAgdGhpcy5fZWRnZUZpZWxkQ291
bnQgPSAzOwogICAgIHRoaXMuX2VkZ2VUeXBlT2Zmc2V0ID0gMDsKLSAgICB0aGlzLl9lZGdlVGFy
Z2V0T2Zmc2V0ID0gMTsKLSAgICB0aGlzLl9lZGdlTmFtZU9mZnNldCA9IDI7CisgICAgdGhpcy5f
ZWRnZU5hbWVPZmZzZXQgPSAxOworICAgIHRoaXMuX2VkZ2VUYXJnZXRPZmZzZXQgPSAyOwogCiAg
ICAgdGhpcy5fbm9kZUNvdW50ID0gcmF3R3JhcGgubm9kZXMubGVuZ3RoIC8gdGhpcy5fbm9kZUZp
ZWxkQ291bnQ7CiAgICAgdGhpcy5fbm9kZXMgPSByYXdHcmFwaC5ub2RlczsKICAgICB0aGlzLl9l
ZGdlcyA9IHJhd0dyYXBoLmVkZ2VzOwogICAgIHRoaXMuX3N0cmluZ3MgPSByYXdHcmFwaC5zdHJp
bmdzOwogCisgICAgdGhpcy5fcm9vdE5vZGVJbmRleCA9IHRoaXMuX25vZGVzLmxlbmd0aCAtIHRo
aXMuX25vZGVGaWVsZENvdW50OwogICAgIHRoaXMuX2NhbGN1bGF0ZU5vZGVFZGdlSW5kZXhlcygp
OworICAgIHRoaXMuX2FkZER1bW15Tm9kZSgpOwogfQogCiBXZWJJbnNwZWN0b3IuTmF0aXZlSGVh
cEdyYXBoLnByb3RvdHlwZSA9IHsKLSAgICByb290Tm9kZXM6IGZ1bmN0aW9uKCkKKyAgICByb290
OiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICB2YXIgbm9kZUhhc0luY29taW5nRWRnZXMgPSBu
ZXcgVWludDhBcnJheSh0aGlzLl9ub2RlQ291bnQpOwotICAgICAgICB2YXIgZWRnZXMgPSB0aGlz
Ll9lZGdlczsKLSAgICAgICAgdmFyIGVkZ2VzTGVuZ3RoID0gZWRnZXMubGVuZ3RoOwotICAgICAg
ICB2YXIgZWRnZUZpZWxkQ291bnQgPSB0aGlzLl9lZGdlRmllbGRDb3VudDsKLSAgICAgICAgdmFy
IG5vZGVGaWVsZENvdW50ID0gdGhpcy5fbm9kZUZpZWxkQ291bnQ7Ci0gICAgICAgIGZvciAodmFy
IGkgPSB0aGlzLl9lZGdlVGFyZ2V0T2Zmc2V0OyBpIDwgZWRnZXNMZW5ndGg7IGkgKz0gZWRnZUZp
ZWxkQ291bnQpIHsKLSAgICAgICAgICAgIHZhciB0YXJnZXRJbmRleCA9IGVkZ2VzW2ldOwotICAg
ICAgICAgICAgbm9kZUhhc0luY29taW5nRWRnZXNbdGFyZ2V0SW5kZXhdID0gMTsKLSAgICAgICAg
fQotICAgICAgICB2YXIgcm9vdHMgPSBbXTsKLSAgICAgICAgdmFyIG5vZGVDb3VudCA9IG5vZGVI
YXNJbmNvbWluZ0VkZ2VzLmxlbmd0aDsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rl
Q291bnQ7IGkrKykgewotICAgICAgICAgICAgaWYgKCFub2RlSGFzSW5jb21pbmdFZGdlc1tpXSkK
LSAgICAgICAgICAgICAgICByb290cy5wdXNoKG5ldyBXZWJJbnNwZWN0b3IuTmF0aXZlSGVhcEdy
YXBoLk5vZGUodGhpcywgaSAqIG5vZGVGaWVsZENvdW50KSk7Ci0gICAgICAgIH0KLSAgICAgICAg
cmV0dXJuIHJvb3RzOworICAgICAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5OYXRpdmVIZWFw
R3JhcGguTm9kZSh0aGlzLCB0aGlzLl9yb290Tm9kZUluZGV4KTsKICAgICB9LAogCiAgICAgX2Nh
bGN1bGF0ZU5vZGVFZGdlSW5kZXhlczogZnVuY3Rpb24oKQpAQCAtODksNyArNzYsNiBAQCBXZWJJ
bnNwZWN0b3IuTmF0aXZlSGVhcEdyYXBoLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIG5vZGVz
W2ldID0gZmlyc3RFZGdlSW5kZXg7CiAgICAgICAgICAgICBmaXJzdEVkZ2VJbmRleCArPSBjb3Vu
dDsKICAgICAgICAgfQotICAgICAgICB0aGlzLl9hZGREdW1teU5vZGUoKTsKICAgICB9LAogCiAg
ICAgX2FkZER1bW15Tm9kZTogZnVuY3Rpb24oKQpAQCAtOTcsNyArODMsNyBAQCBXZWJJbnNwZWN0
b3IuTmF0aXZlSGVhcEdyYXBoLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGZpcnN0RWRnZVBv
c2l0aW9uID0gdGhpcy5fbm9kZXMubGVuZ3RoICsgdGhpcy5fbm9kZUZpcnN0RWRnZU9mZnNldDsK
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9ub2RlRmllbGRDb3VudDsgaSsrKQog
ICAgICAgICAgICAgdGhpcy5fbm9kZXMucHVzaCgwKTsKLSAgICAgICAgdGhpcy5fbm9kZXNbZmly
c3RFZGdlUG9zaXRpb25dID0gdGhpcy5fZWRnZXMubGVuZ3RoOworICAgICAgICB0aGlzLl9ub2Rl
c1tmaXJzdEVkZ2VQb3NpdGlvbl0gPSB0aGlzLl9lZGdlcy5sZW5ndGggLyB0aGlzLl9lZGdlRmll
bGRDb3VudDsKICAgICB9CiB9CiAKQEAgLTEyNyw3ICsxMTMsNyBAQCBXZWJJbnNwZWN0b3IuTmF0
aXZlSGVhcEdyYXBoLkVkZ2UucHJvdG90eXBlID0gewogICAgIHRhcmdldDogZnVuY3Rpb24oKQog
ICAgIHsKICAgICAgICAgdmFyIGVkZ2VzID0gdGhpcy5fZ3JhcGguX2VkZ2VzOwotICAgICAgICB2
YXIgdGFyZ2V0UG9zaXRpb24gPSBlZGdlc1t0aGlzLl9wb3NpdGlvbiArIHRoaXMuX2dyYXBoLl9l
ZGdlVGFyZ2V0T2Zmc2V0XSAqIHRoaXMuX2dyYXBoLl9ub2RlRmllbGRDb3VudDsKKyAgICAgICAg
dmFyIHRhcmdldFBvc2l0aW9uID0gZWRnZXNbdGhpcy5fcG9zaXRpb24gKyB0aGlzLl9ncmFwaC5f
ZWRnZVRhcmdldE9mZnNldF07CiAgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLk5hdGl2
ZUhlYXBHcmFwaC5Ob2RlKHRoaXMuX2dyYXBoLCB0YXJnZXRQb3NpdGlvbik7CiAgICAgfSwKIApA
QCAtMTk4LDcgKzE4NCw3IEBAIFdlYkluc3BlY3Rvci5OYXRpdmVIZWFwR3JhcGguTm9kZS5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHZhciBhZnRlckxhc3RFZGdlUG9zaXRpb24gPSB0aGlzLl9hZnRl
ckxhc3RFZGdlUG9zaXRpb24oKTsKICAgICAgICAgdmFyIHJlc3VsdCA9IFtdOwogICAgICAgICBm
b3IgKHZhciBpID0gZmlyc3RFZGdlUG9zaXRpb24gKyB0aGlzLl9ncmFwaC5fZWRnZVRhcmdldE9m
ZnNldDsgaSA8IGFmdGVyTGFzdEVkZ2VQb3NpdGlvbjsgaSArPSBlZGdlRmllbGRDb3VudCkKLSAg
ICAgICAgICAgIHJlc3VsdC5wdXNoKG5ldyBXZWJJbnNwZWN0b3IuTmF0aXZlSGVhcEdyYXBoLk5v
ZGUodGhpcy5fZ3JhcGgsIGVkZ2VzW2ldICogbm9kZUZpZWxkQ291bnQpKTsKKyAgICAgICAgICAg
IHJlc3VsdC5wdXNoKG5ldyBXZWJJbnNwZWN0b3IuTmF0aXZlSGVhcEdyYXBoLk5vZGUodGhpcy5f
Z3JhcGgsIGVkZ2VzW2ldKSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfSwKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OYXRpdmVNZW1vcnlT
bmFwc2hvdFZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05hdGl2
ZU1lbW9yeVNuYXBzaG90Vmlldy5qcwppbmRleCA3ZTJkZjBiYzRmYWU3MTI0MGFiNWZlYWQyODlk
MWUzOTM4NzczYzgwLi5kNmZjODllZTJmMDBhNzNhZDJmNjIyODA0ZTM3YzRlMTcyMDFkMGVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05hdGl2ZU1lbW9y
eVNuYXBzaG90Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L05hdGl2ZU1lbW9yeVNuYXBzaG90Vmlldy5qcwpAQCAtMjgxLDcgKzI4MSw3IEBAIFdlYkluc3Bl
Y3Rvci5OYXRpdmVTbmFwc2hvdE5vZGUucHJvdG90eXBlID0gewogCiAgICAgICAgIC8vIENvbGxl
Y3Qgb2JqZWN0cyBvbiB0aGUgcGF0aCBNZW1vcnlDYWNoZSAtPiBDYWNoZWRJbWFnZSAtbV9pbWFn
ZS0+IEJpdG1hcEltYWdlIC1tX2ZyYW1lcy0+IEZyYW1lRGF0YSAtbV9mcmFtZS0+IFNrQml0bWFw
IC0+IFNrUGl4ZWxSZWYKICAgICAgICAgdmFyIGdyYXBoID0gdGhpcy5kYXRhR3JpZC5fcHJvZmls
ZS5fZ3JhcGg7Ci0gICAgICAgIHZhciByb290cyA9IGdyYXBoLnJvb3ROb2RlcygpOworICAgICAg
ICB2YXIgcm9vdHMgPSBncmFwaC5yb290KCkucmVmZXJlbmNlZE5vZGVzKCk7CiAgICAgICAgIHZh
ciBtZW1vcnlDYWNoZTsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByb290cy5sZW5ndGg7
IGkrKykgewogICAgICAgICAgICAgdmFyIHJvb3QgPSByb290c1tpXTsKQEAgLTM2NSw3ICszNjUs
NyBAQCBXZWJJbnNwZWN0b3IuTmF0aXZlSGVhcEdyYXBoRGF0YUdyaWRSb290ID0gZnVuY3Rpb24o
Z3JhcGgpCiBXZWJJbnNwZWN0b3IuTmF0aXZlSGVhcEdyYXBoRGF0YUdyaWRSb290LnByb3RvdHlw
ZSA9IHsKICAgICBfcG9wdWxhdGU6IGZ1bmN0aW9uKCkgewogICAgICAgICB0aGlzLnJlbW92ZUV2
ZW50TGlzdGVuZXIoInBvcHVsYXRlIiwgdGhpcy5fcG9wdWxhdGUsIHRoaXMpOwotICAgICAgICB2
YXIgcm9vdHMgPSB0aGlzLl9ncmFwaC5yb290Tm9kZXMoKTsKKyAgICAgICAgdmFyIHJvb3RzID0g
dGhpcy5fZ3JhcGgucm9vdCgpLnJlZmVyZW5jZWROb2RlcygpOwogICAgICAgICBmb3IgKHZhciBp
ID0gMDsgaSA8IHJvb3RzLmxlbmd0aDsgaSsrKQogICAgICAgICAgICAgdGhpcy5hcHBlbmRDaGls
ZChuZXcgV2ViSW5zcGVjdG9yLk5hdGl2ZUhlYXBHcmFwaERhdGFHcmlkTm9kZShyb290c1tpXSkp
OwogICAgIH0sCg==
</data>
<flag name="review"
          id="198112"
          type_id="1"
          status="+"
          setter="apavlov"
    />
    <flag name="commit-queue"
          id="198113"
          type_id="3"
          status="+"
          setter="apavlov"
    />
          </attachment>
      

    </bug>

</bugzilla>