<?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>54100</bug_id>
          
          <creation_ts>2011-02-09 07:01:05 -0800</creation_ts>
          <short_desc>Web Inspector: InspectorAgent should know nothing about InspectorController instance.</short_desc>
          <delta_ts>2011-02-09 08:32:34 -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="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</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>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>348200</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-02-09 07:01:05 -0800</bug_when>
    <thetext>%subj%</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348202</commentid>
    <comment_count>1</comment_count>
      <attachid>81804</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-02-09 07:02:49 -0800</bug_when>
    <thetext>Created attachment 81804
[patch] initial version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348210</commentid>
    <comment_count>2</comment_count>
      <attachid>81804</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-02-09 07:14:56 -0800</bug_when>
    <thetext>Comment on attachment 81804
[patch] initial version

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

&gt; Source/WebCore/inspector/InspectorAgent.cpp:202
&gt; +    m_domAgent-&gt;setDocument(m_inspectedPage-&gt;mainFrame()-&gt;document());

While you are here, please nuke setDocument call here - it is done from within pushDataCollectedOffline.

&gt; Source/WebCore/inspector/InspectorController.cpp:117
&gt; +    m_inspectorAgent-&gt;disconnectFrontend();

InspectorAgent::disconnectFrontend is manipulating front-end. Hence it should be called before the m_inspectorFrontend.clear() above.

&gt; Source/WebCore/inspector/InspectorController.cpp:146
&gt; +    if (!m_inspectorFrontend)

Now that you know that front-end does not exist, why checking for m_inspectorFrontend here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348216</commentid>
    <comment_count>3</comment_count>
      <attachid>81809</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-02-09 07:21:38 -0800</bug_when>
    <thetext>Created attachment 81809
[patch] second version

comments addressed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348249</commentid>
    <comment_count>4</comment_count>
      <attachid>81815</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-02-09 08:29:11 -0800</bug_when>
    <thetext>Created attachment 81815
[patch] second version with assert</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348252</commentid>
    <comment_count>5</comment_count>
      <attachid>81815</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-02-09 08:32:23 -0800</bug_when>
    <thetext>Comment on attachment 81815
[patch] second version with assert

Clearing flags on attachment: 81815

Committed r78056: &lt;http://trac.webkit.org/changeset/78056&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348253</commentid>
    <comment_count>6</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2011-02-09 08:32:34 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81804</attachid>
            <date>2011-02-09 07:02:49 -0800</date>
            <delta_ts>2011-02-09 07:21:38 -0800</delta_ts>
            <desc>[patch] initial version</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5916</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4MTEwNTc5Li43YmMxYWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTEtMDItMDkgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IEluc3BlY3RvckFnZW50IHNob3VsZCBrbm93IG5vdGhpbmcgYWJvdXQgSW5zcGVjdG9y
Q29udHJvbGxlciBpbnN0YW5jZS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTQxMDAKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OnJlc3RvcmVJbnNwZWN0b3JTdGF0
ZUZyb21Db29raWUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmRpc2Nvbm5l
Y3RGcm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50Lmg6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRlbmQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6cmVzdG9yZUluc3BlY3RvclN0YXRlRnJv
bUNvb2tpZSk6CisKIDIwMTEtMDItMDkgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwCmluZGV4IGQ4YjI3ZWQuLjk2MDMx
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcApAQCAt
MTQwLDkgKzE0MCw4IEBAIHN0YXRpYyBjb25zdCBjaGFyIHNjcmlwdHNQYW5lbE5hbWVbXSA9ICJz
Y3JpcHRzIjsKIHN0YXRpYyBjb25zdCBjaGFyIGNvbnNvbGVQYW5lbE5hbWVbXSA9ICJjb25zb2xl
IjsKIHN0YXRpYyBjb25zdCBjaGFyIHByb2ZpbGVzUGFuZWxOYW1lW10gPSAicHJvZmlsZXMiOwog
Ci1JbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxlciogaW5z
cGVjdG9yQ29udHJvbGxlciwgUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCi0g
ICAgOiBtX2luc3BlY3RvckNvbnRyb2xsZXIoaW5zcGVjdG9yQ29udHJvbGxlcikKLSAgICAsIG1f
aW5zcGVjdGVkUGFnZShwYWdlKQorSW5zcGVjdG9yQWdlbnQ6Okluc3BlY3RvckFnZW50KFBhZ2Uq
IHBhZ2UsIEluc3BlY3RvckNsaWVudCogY2xpZW50KQorICAgIDogbV9pbnNwZWN0ZWRQYWdlKHBh
Z2UpCiAgICAgLCBtX2NsaWVudChjbGllbnQpCiAgICAgLCBtX2Zyb250ZW5kKDApCiAgICAgLCBt
X2Nzc0FnZW50KG5ldyBJbnNwZWN0b3JDU1NBZ2VudCgpKQpAQCAtMTk4LDEzICsxOTcsMTAgQEAg
dm9pZCBJbnNwZWN0b3JBZ2VudDo6cmVzdG9yZUluc3BlY3RvclN0YXRlRnJvbUNvb2tpZShjb25z
dCBTdHJpbmcmIGluc3BlY3RvclN0YXQKIHsKICAgICBtX3N0YXRlLT5yZXN0b3JlRnJvbUluc3Bl
Y3RvckNvb2tpZShpbnNwZWN0b3JTdGF0ZUNvb2tpZSk7CiAKLSAgICBpZiAoIW1fZnJvbnRlbmQp
IHsKLSAgICAgICAgbV9pbnNwZWN0b3JDb250cm9sbGVyLT5jb25uZWN0RnJvbnRlbmQoKTsKLSAg
ICAgICAgbV9mcm9udGVuZC0+ZnJvbnRlbmRSZXVzZWQoKTsKLSAgICAgICAgbV9mcm9udGVuZC0+
aW5zcGVjdGVkVVJMQ2hhbmdlZChpbnNwZWN0ZWRVUkwoKS5zdHJpbmcoKSk7Ci0gICAgICAgIG1f
ZG9tQWdlbnQtPnNldERvY3VtZW50KG1faW5zcGVjdGVkUGFnZS0+bWFpbkZyYW1lKCktPmRvY3Vt
ZW50KCkpOwotICAgICAgICBwdXNoRGF0YUNvbGxlY3RlZE9mZmxpbmUoKTsKLSAgICB9CisgICAg
bV9mcm9udGVuZC0+ZnJvbnRlbmRSZXVzZWQoKTsKKyAgICBtX2Zyb250ZW5kLT5pbnNwZWN0ZWRV
UkxDaGFuZ2VkKGluc3BlY3RlZFVSTCgpLnN0cmluZygpKTsKKyAgICBtX2RvbUFnZW50LT5zZXRE
b2N1bWVudChtX2luc3BlY3RlZFBhZ2UtPm1haW5GcmFtZSgpLT5kb2N1bWVudCgpKTsKKyAgICBw
dXNoRGF0YUNvbGxlY3RlZE9mZmxpbmUoKTsKIAogICAgIG1fcmVzb3VyY2VBZ2VudCA9IEluc3Bl
Y3RvclJlc291cmNlQWdlbnQ6OnJlc3RvcmUobV9pbnNwZWN0ZWRQYWdlLCBtX3N0YXRlLmdldCgp
LCBtX2Zyb250ZW5kKTsKIApAQCAtMzY1LDggKzM2MSw2IEBAIHZvaWQgSW5zcGVjdG9yQWdlbnQ6
OmRpc2Nvbm5lY3RGcm9udGVuZCgpCiAKICAgICBtX2Zyb250ZW5kID0gMDsKIAotICAgIG1faW5z
cGVjdG9yQ29udHJvbGxlci0+ZGlzY29ubmVjdEZyb250ZW5kSW1wbCgpOwotCiAjaWYgRU5BQkxF
KEpBVkFTQ1JJUFRfREVCVUdHRVIpCiAgICAgLy8gSWYgdGhlIHdpbmRvdyBpcyBiZWluZyBjbG9z
ZWQgd2l0aCB0aGUgZGVidWdnZXIgZW5hYmxlZCwKICAgICAvLyByZW1lbWJlciB0aGlzIHN0YXRl
IHRvIHJlLWVuYWJsZSBkZWJ1Z2dlciBvbiB0aGUgbmV4dCB3aW5kb3cKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmgKaW5kZXggNzIxMjcyZi4uZDE1YzFlYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmgKQEAgLTU5LDcgKzU5LDYgQEAg
Y2xhc3MgSW5zcGVjdG9yQXJyYXk7CiBjbGFzcyBJbnNwZWN0b3JCcm93c2VyRGVidWdnZXJBZ2Vu
dDsKIGNsYXNzIEluc3BlY3RvckNsaWVudDsKIGNsYXNzIEluc3BlY3RvckNvbnNvbGVBZ2VudDsK
LWNsYXNzIEluc3BlY3RvckNvbnRyb2xsZXI7CiBjbGFzcyBJbnNwZWN0b3JDU1NBZ2VudDsKIGNs
YXNzIEluc3BlY3RvckRPTUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OwpA
QCAtMTA4LDcgKzEwNyw3IEBAIGNsYXNzIEluc3BlY3RvckFnZW50IHsKICAgICBXVEZfTUFLRV9O
T05DT1BZQUJMRShJbnNwZWN0b3JBZ2VudCk7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6Ci0gICAgSW5zcGVjdG9yQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxlciosIFBhZ2Uq
LCBJbnNwZWN0b3JDbGllbnQqKTsKKyAgICBJbnNwZWN0b3JBZ2VudChQYWdlKiwgSW5zcGVjdG9y
Q2xpZW50Kik7CiAgICAgdmlydHVhbCB+SW5zcGVjdG9yQWdlbnQoKTsKIAogICAgIEluc3BlY3Rv
ckNsaWVudCogaW5zcGVjdG9yQ2xpZW50KCkgeyByZXR1cm4gbV9jbGllbnQ7IH0KQEAgLTE0MSw3
ICsxNDAsNiBAQCBwdWJsaWM6CiAKICAgICBJbnNwZWN0b3JSZXNvdXJjZUFnZW50KiByZXNvdXJj
ZUFnZW50KCk7CiAKLSAgICBJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb250cm9sbGVy
KCkgeyByZXR1cm4gbV9pbnNwZWN0b3JDb250cm9sbGVyOyB9OwogICAgIEluc3BlY3RvckFnZW50
KiBpbnNwZWN0b3JBZ2VudCgpIHsgcmV0dXJuIHRoaXM7IH0KICAgICBJbnNwZWN0b3JDb25zb2xl
QWdlbnQqIGNvbnNvbGVBZ2VudCgpIHsgcmV0dXJuIG1fY29uc29sZUFnZW50LmdldCgpOyB9CiAg
ICAgSW5zcGVjdG9yQ1NTQWdlbnQqIGNzc0FnZW50KCkgeyByZXR1cm4gbV9jc3NBZ2VudC5nZXQo
KTsgfQpAQCAtMjc2LDcgKzI3NCw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBmb2N1c05vZGUoKTsK
ICAgICBib29sIGlzTWFpblJlc291cmNlTG9hZGVyKERvY3VtZW50TG9hZGVyKiwgY29uc3QgS1VS
TCYgcmVxdWVzdFVybCk7CiAKLSAgICBJbnNwZWN0b3JDb250cm9sbGVyKiBtX2luc3BlY3RvckNv
bnRyb2xsZXI7CiAgICAgUGFnZSogbV9pbnNwZWN0ZWRQYWdlOwogICAgIEluc3BlY3RvckNsaWVu
dCogbV9jbGllbnQ7CiAgICAgSW5zcGVjdG9yRnJvbnRlbmQqIG1fZnJvbnRlbmQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggOGIz
MTA5Yi4uMDdkODQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDb250cm9sbGVyLmNwcApAQCAtNTAsNyArNTAsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2UsIElu
c3BlY3RvckNsaWVudCogaW5zcGVjdG9yQ2xpZW50KQotICAgIDogbV9pbnNwZWN0b3JBZ2VudChu
ZXcgSW5zcGVjdG9yQWdlbnQodGhpcywgcGFnZSwgaW5zcGVjdG9yQ2xpZW50KSkKKyAgICA6IG1f
aW5zcGVjdG9yQWdlbnQobmV3IEluc3BlY3RvckFnZW50KHBhZ2UsIGluc3BlY3RvckNsaWVudCkp
CiAgICAgLCBtX2luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKG5ldyBJbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hlcihtX2luc3BlY3RvckFnZW50LmdldCgpKSkKICAgICAsIG1faW5zcGVjdG9yQ2xp
ZW50KGluc3BlY3RvckNsaWVudCkKICAgICAsIG1fb3BlbmluZ0Zyb250ZW5kKGZhbHNlKQpAQCAt
MTA1LDExICsxMDUsNiBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVu
ZCgpCiAKIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKCkKIHsK
LSAgICBtX2luc3BlY3RvckFnZW50LT5kaXNjb25uZWN0RnJvbnRlbmQoKTsKLX0KLQotdm9pZCBJ
bnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRlbmRJbXBsKCkKLXsKICAgICBpZiAo
IW1faW5zcGVjdG9yRnJvbnRlbmQpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTE4LDYgKzExMyw4
IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kSW1wbCgpCiAg
ICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcm9udGVuZERlbGV0ZWQoKTsKICAgICBpZiAo
IUluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpCiAgICAgICAgIFNjcmlw
dENvbnRyb2xsZXI6OnNldENhcHR1cmVDYWxsU3RhY2tGb3JVbmNhdWdodEV4Y2VwdGlvbnMoZmFs
c2UpOworCisgICAgbV9pbnNwZWN0b3JBZ2VudC0+ZGlzY29ubmVjdEZyb250ZW5kKCk7CiB9CiAK
IHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6c2hvdygpCkBAIC0xNDYsNiArMTQzLDggQEAgdm9p
ZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjbG9zZSgpCiAKIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxl
cjo6cmVzdG9yZUluc3BlY3RvclN0YXRlRnJvbUNvb2tpZShjb25zdCBTdHJpbmcmIGluc3BlY3Rv
clN0YXRlQ29va2llKQogeworICAgIGlmICghbV9pbnNwZWN0b3JGcm9udGVuZCkKKyAgICAgICAg
Y29ubmVjdEZyb250ZW5kKCk7CiAgICAgbV9pbnNwZWN0b3JBZ2VudC0+cmVzdG9yZUluc3BlY3Rv
clN0YXRlRnJvbUNvb2tpZShpbnNwZWN0b3JTdGF0ZUNvb2tpZSk7CiB9CiAK
</data>
<flag name="review"
          id="73415"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81809</attachid>
            <date>2011-02-09 07:21:38 -0800</date>
            <delta_ts>2011-02-09 08:29:11 -0800</delta_ts>
            <desc>[patch] second version</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>6434</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4MTEwNTc5Li43YmMxYWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTEtMDItMDkgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IEluc3BlY3RvckFnZW50IHNob3VsZCBrbm93IG5vdGhpbmcgYWJvdXQgSW5zcGVjdG9y
Q29udHJvbGxlciBpbnN0YW5jZS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTQxMDAKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OnJlc3RvcmVJbnNwZWN0b3JTdGF0
ZUZyb21Db29raWUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmRpc2Nvbm5l
Y3RGcm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50Lmg6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRlbmQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6cmVzdG9yZUluc3BlY3RvclN0YXRlRnJv
bUNvb2tpZSk6CisKIDIwMTEtMDItMDkgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwCmluZGV4IGQ4YjI3ZWQuLmM2ZDlj
YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcApAQCAt
MTQwLDkgKzE0MCw4IEBAIHN0YXRpYyBjb25zdCBjaGFyIHNjcmlwdHNQYW5lbE5hbWVbXSA9ICJz
Y3JpcHRzIjsKIHN0YXRpYyBjb25zdCBjaGFyIGNvbnNvbGVQYW5lbE5hbWVbXSA9ICJjb25zb2xl
IjsKIHN0YXRpYyBjb25zdCBjaGFyIHByb2ZpbGVzUGFuZWxOYW1lW10gPSAicHJvZmlsZXMiOwog
Ci1JbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxlciogaW5z
cGVjdG9yQ29udHJvbGxlciwgUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCi0g
ICAgOiBtX2luc3BlY3RvckNvbnRyb2xsZXIoaW5zcGVjdG9yQ29udHJvbGxlcikKLSAgICAsIG1f
aW5zcGVjdGVkUGFnZShwYWdlKQorSW5zcGVjdG9yQWdlbnQ6Okluc3BlY3RvckFnZW50KFBhZ2Uq
IHBhZ2UsIEluc3BlY3RvckNsaWVudCogY2xpZW50KQorICAgIDogbV9pbnNwZWN0ZWRQYWdlKHBh
Z2UpCiAgICAgLCBtX2NsaWVudChjbGllbnQpCiAgICAgLCBtX2Zyb250ZW5kKDApCiAgICAgLCBt
X2Nzc0FnZW50KG5ldyBJbnNwZWN0b3JDU1NBZ2VudCgpKQpAQCAtMTk4LDEzICsxOTcsOSBAQCB2
b2lkIEluc3BlY3RvckFnZW50OjpyZXN0b3JlSW5zcGVjdG9yU3RhdGVGcm9tQ29va2llKGNvbnN0
IFN0cmluZyYgaW5zcGVjdG9yU3RhdAogewogICAgIG1fc3RhdGUtPnJlc3RvcmVGcm9tSW5zcGVj
dG9yQ29va2llKGluc3BlY3RvclN0YXRlQ29va2llKTsKIAotICAgIGlmICghbV9mcm9udGVuZCkg
ewotICAgICAgICBtX2luc3BlY3RvckNvbnRyb2xsZXItPmNvbm5lY3RGcm9udGVuZCgpOwotICAg
ICAgICBtX2Zyb250ZW5kLT5mcm9udGVuZFJldXNlZCgpOwotICAgICAgICBtX2Zyb250ZW5kLT5p
bnNwZWN0ZWRVUkxDaGFuZ2VkKGluc3BlY3RlZFVSTCgpLnN0cmluZygpKTsKLSAgICAgICAgbV9k
b21BZ2VudC0+c2V0RG9jdW1lbnQobV9pbnNwZWN0ZWRQYWdlLT5tYWluRnJhbWUoKS0+ZG9jdW1l
bnQoKSk7Ci0gICAgICAgIHB1c2hEYXRhQ29sbGVjdGVkT2ZmbGluZSgpOwotICAgIH0KKyAgICBt
X2Zyb250ZW5kLT5mcm9udGVuZFJldXNlZCgpOworICAgIG1fZnJvbnRlbmQtPmluc3BlY3RlZFVS
TENoYW5nZWQoaW5zcGVjdGVkVVJMKCkuc3RyaW5nKCkpOworICAgIHB1c2hEYXRhQ29sbGVjdGVk
T2ZmbGluZSgpOwogCiAgICAgbV9yZXNvdXJjZUFnZW50ID0gSW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dDo6cmVzdG9yZShtX2luc3BlY3RlZFBhZ2UsIG1fc3RhdGUuZ2V0KCksIG1fZnJvbnRlbmQpOwog
CkBAIC0zNjUsOCArMzYwLDYgQEAgdm9pZCBJbnNwZWN0b3JBZ2VudDo6ZGlzY29ubmVjdEZyb250
ZW5kKCkKIAogICAgIG1fZnJvbnRlbmQgPSAwOwogCi0gICAgbV9pbnNwZWN0b3JDb250cm9sbGVy
LT5kaXNjb25uZWN0RnJvbnRlbmRJbXBsKCk7Ci0KICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJV
R0dFUikKICAgICAvLyBJZiB0aGUgd2luZG93IGlzIGJlaW5nIGNsb3NlZCB3aXRoIHRoZSBkZWJ1
Z2dlciBlbmFibGVkLAogICAgIC8vIHJlbWVtYmVyIHRoaXMgc3RhdGUgdG8gcmUtZW5hYmxlIGRl
YnVnZ2VyIG9uIHRoZSBuZXh0IHdpbmRvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQWdlbnQuaAppbmRleCA3MjEyNzJmLi5kMTVjMWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQWdlbnQuaApAQCAtNTksNyArNTksNiBAQCBjbGFzcyBJbnNwZWN0b3JB
cnJheTsKIGNsYXNzIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OwogY2xhc3MgSW5zcGVj
dG9yQ2xpZW50OwogY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50OwotY2xhc3MgSW5zcGVjdG9y
Q29udHJvbGxlcjsKIGNsYXNzIEluc3BlY3RvckNTU0FnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9N
QWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ7CkBAIC0xMDgsNyArMTA3LDcg
QEAgY2xhc3MgSW5zcGVjdG9yQWdlbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3Bl
Y3RvckFnZW50KTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBJ
bnNwZWN0b3JBZ2VudChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFnZSosIEluc3BlY3RvckNsaWVu
dCopOworICAgIEluc3BlY3RvckFnZW50KFBhZ2UqLCBJbnNwZWN0b3JDbGllbnQqKTsKICAgICB2
aXJ0dWFsIH5JbnNwZWN0b3JBZ2VudCgpOwogCiAgICAgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0
b3JDbGllbnQoKSB7IHJldHVybiBtX2NsaWVudDsgfQpAQCAtMTQxLDcgKzE0MCw2IEBAIHB1Ymxp
YzoKIAogICAgIEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQoKTsKIAotICAg
IEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIoKSB7IHJldHVybiBtX2lu
c3BlY3RvckNvbnRyb2xsZXI7IH07CiAgICAgSW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50
KCkgeyByZXR1cm4gdGhpczsgfQogICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFn
ZW50KCkgeyByZXR1cm4gbV9jb25zb2xlQWdlbnQuZ2V0KCk7IH0KICAgICBJbnNwZWN0b3JDU1NB
Z2VudCogY3NzQWdlbnQoKSB7IHJldHVybiBtX2Nzc0FnZW50LmdldCgpOyB9CkBAIC0yNzYsNyAr
Mjc0LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGZvY3VzTm9kZSgpOwogICAgIGJvb2wgaXNNYWlu
UmVzb3VyY2VMb2FkZXIoRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBLVVJMJiByZXF1ZXN0VXJsKTsK
IAotICAgIEluc3BlY3RvckNvbnRyb2xsZXIqIG1faW5zcGVjdG9yQ29udHJvbGxlcjsKICAgICBQ
YWdlKiBtX2luc3BlY3RlZFBhZ2U7CiAgICAgSW5zcGVjdG9yQ2xpZW50KiBtX2NsaWVudDsKICAg
ICBJbnNwZWN0b3JGcm9udGVuZCogbV9mcm9udGVuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA4YjMxMDliLi43NDAzMDBhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
CkBAIC01MCw3ICs1MCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEluc3BlY3RvckNvbnRy
b2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBp
bnNwZWN0b3JDbGllbnQpCi0gICAgOiBtX2luc3BlY3RvckFnZW50KG5ldyBJbnNwZWN0b3JBZ2Vu
dCh0aGlzLCBwYWdlLCBpbnNwZWN0b3JDbGllbnQpKQorICAgIDogbV9pbnNwZWN0b3JBZ2VudChu
ZXcgSW5zcGVjdG9yQWdlbnQocGFnZSwgaW5zcGVjdG9yQ2xpZW50KSkKICAgICAsIG1faW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIobmV3IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKG1faW5z
cGVjdG9yQWdlbnQuZ2V0KCkpKQogICAgICwgbV9pbnNwZWN0b3JDbGllbnQoaW5zcGVjdG9yQ2xp
ZW50KQogICAgICwgbV9vcGVuaW5nRnJvbnRlbmQoZmFsc2UpCkBAIC0xMDUsMTkgKzEwNSwxNyBA
QCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCgpCiAKIHZvaWQgSW5z
cGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKCkKIHsKLSAgICBtX2luc3BlY3Rv
ckFnZW50LT5kaXNjb25uZWN0RnJvbnRlbmQoKTsKLX0KLQotdm9pZCBJbnNwZWN0b3JDb250cm9s
bGVyOjpkaXNjb25uZWN0RnJvbnRlbmRJbXBsKCkKLXsKICAgICBpZiAoIW1faW5zcGVjdG9yRnJv
bnRlbmQpCiAgICAgICAgIHJldHVybjsKIAorICAgIG1faW5zcGVjdG9yQWdlbnQtPmRpc2Nvbm5l
Y3RGcm9udGVuZCgpOworCiAgICAgbV9pbnNwZWN0b3JGcm9udGVuZC5jbGVhcigpOwogCiAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcm9udGVuZERlbGV0ZWQoKTsKICAgICBpZiAoIUlu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpCiAgICAgICAgIFNjcmlwdENv
bnRyb2xsZXI6OnNldENhcHR1cmVDYWxsU3RhY2tGb3JVbmNhdWdodEV4Y2VwdGlvbnMoZmFsc2Up
OworCiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6c2hvdygpCkBAIC0xNDYsNiArMTQ0
LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjbG9zZSgpCiAKIHZvaWQgSW5zcGVjdG9y
Q29udHJvbGxlcjo6cmVzdG9yZUluc3BlY3RvclN0YXRlRnJvbUNvb2tpZShjb25zdCBTdHJpbmcm
IGluc3BlY3RvclN0YXRlQ29va2llKQogeworICAgIGNvbm5lY3RGcm9udGVuZCgpOwogICAgIG1f
aW5zcGVjdG9yQWdlbnQtPnJlc3RvcmVJbnNwZWN0b3JTdGF0ZUZyb21Db29raWUoaW5zcGVjdG9y
U3RhdGVDb29raWUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuaAppbmRleCA3OGQ1OWU2Li43ZGIwMjRjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTEwMCwxMiArMTAwLDggQEAg
cHVibGljOgogI2VuZGlmCiAKIHByaXZhdGU6Ci0gICAgZnJpZW5kIGNsYXNzIEluc3BlY3RvckFn
ZW50OwogICAgIGZyaWVuZCBjbGFzcyBQb3N0V29ya2VyTm90aWZpY2F0aW9uVG9Gcm9udGVuZFRh
c2s7CiAKLSAgICB2b2lkIGRpc2Nvbm5lY3RGcm9udGVuZEltcGwoKTsgLy8gdXNlZCBieSBJbnNw
ZWN0b3JBZ2VudAotICAgIHZvaWQgZnJvbnRlbmRMb2FkZWQoKTsKLQogICAgIE93blB0cjxJbnNw
ZWN0b3JBZ2VudD4gbV9pbnNwZWN0b3JBZ2VudDsKICAgICBPd25QdHI8SW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXI+IG1faW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXI7CiAgICAgT3duUHRyPElu
c3BlY3RvckZyb250ZW5kQ2xpZW50PiBtX2luc3BlY3RvckZyb250ZW5kQ2xpZW50Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81815</attachid>
            <date>2011-02-09 08:29:11 -0800</date>
            <delta_ts>2011-02-09 08:32:23 -0800</delta_ts>
            <desc>[patch] second version with assert</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>6469</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4MTEwNTc5Li43YmMxYWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTEtMDItMDkgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IEluc3BlY3RvckFnZW50IHNob3VsZCBrbm93IG5vdGhpbmcgYWJvdXQgSW5zcGVjdG9y
Q29udHJvbGxlciBpbnN0YW5jZS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NTQxMDAKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JBZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OnJlc3RvcmVJbnNwZWN0b3JTdGF0
ZUZyb21Db29raWUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6OmRpc2Nvbm5l
Y3RGcm9udGVuZCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckFnZW50Lmg6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgIChX
ZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRlbmQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6cmVzdG9yZUluc3BlY3RvclN0YXRlRnJv
bUNvb2tpZSk6CisKIDIwMTEtMDItMDkgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwCmluZGV4IGQ4YjI3ZWQuLmM2ZDlj
YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcApAQCAt
MTQwLDkgKzE0MCw4IEBAIHN0YXRpYyBjb25zdCBjaGFyIHNjcmlwdHNQYW5lbE5hbWVbXSA9ICJz
Y3JpcHRzIjsKIHN0YXRpYyBjb25zdCBjaGFyIGNvbnNvbGVQYW5lbE5hbWVbXSA9ICJjb25zb2xl
IjsKIHN0YXRpYyBjb25zdCBjaGFyIHByb2ZpbGVzUGFuZWxOYW1lW10gPSAicHJvZmlsZXMiOwog
Ci1JbnNwZWN0b3JBZ2VudDo6SW5zcGVjdG9yQWdlbnQoSW5zcGVjdG9yQ29udHJvbGxlciogaW5z
cGVjdG9yQ29udHJvbGxlciwgUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCi0g
ICAgOiBtX2luc3BlY3RvckNvbnRyb2xsZXIoaW5zcGVjdG9yQ29udHJvbGxlcikKLSAgICAsIG1f
aW5zcGVjdGVkUGFnZShwYWdlKQorSW5zcGVjdG9yQWdlbnQ6Okluc3BlY3RvckFnZW50KFBhZ2Uq
IHBhZ2UsIEluc3BlY3RvckNsaWVudCogY2xpZW50KQorICAgIDogbV9pbnNwZWN0ZWRQYWdlKHBh
Z2UpCiAgICAgLCBtX2NsaWVudChjbGllbnQpCiAgICAgLCBtX2Zyb250ZW5kKDApCiAgICAgLCBt
X2Nzc0FnZW50KG5ldyBJbnNwZWN0b3JDU1NBZ2VudCgpKQpAQCAtMTk4LDEzICsxOTcsOSBAQCB2
b2lkIEluc3BlY3RvckFnZW50OjpyZXN0b3JlSW5zcGVjdG9yU3RhdGVGcm9tQ29va2llKGNvbnN0
IFN0cmluZyYgaW5zcGVjdG9yU3RhdAogewogICAgIG1fc3RhdGUtPnJlc3RvcmVGcm9tSW5zcGVj
dG9yQ29va2llKGluc3BlY3RvclN0YXRlQ29va2llKTsKIAotICAgIGlmICghbV9mcm9udGVuZCkg
ewotICAgICAgICBtX2luc3BlY3RvckNvbnRyb2xsZXItPmNvbm5lY3RGcm9udGVuZCgpOwotICAg
ICAgICBtX2Zyb250ZW5kLT5mcm9udGVuZFJldXNlZCgpOwotICAgICAgICBtX2Zyb250ZW5kLT5p
bnNwZWN0ZWRVUkxDaGFuZ2VkKGluc3BlY3RlZFVSTCgpLnN0cmluZygpKTsKLSAgICAgICAgbV9k
b21BZ2VudC0+c2V0RG9jdW1lbnQobV9pbnNwZWN0ZWRQYWdlLT5tYWluRnJhbWUoKS0+ZG9jdW1l
bnQoKSk7Ci0gICAgICAgIHB1c2hEYXRhQ29sbGVjdGVkT2ZmbGluZSgpOwotICAgIH0KKyAgICBt
X2Zyb250ZW5kLT5mcm9udGVuZFJldXNlZCgpOworICAgIG1fZnJvbnRlbmQtPmluc3BlY3RlZFVS
TENoYW5nZWQoaW5zcGVjdGVkVVJMKCkuc3RyaW5nKCkpOworICAgIHB1c2hEYXRhQ29sbGVjdGVk
T2ZmbGluZSgpOwogCiAgICAgbV9yZXNvdXJjZUFnZW50ID0gSW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dDo6cmVzdG9yZShtX2luc3BlY3RlZFBhZ2UsIG1fc3RhdGUuZ2V0KCksIG1fZnJvbnRlbmQpOwog
CkBAIC0zNjUsOCArMzYwLDYgQEAgdm9pZCBJbnNwZWN0b3JBZ2VudDo6ZGlzY29ubmVjdEZyb250
ZW5kKCkKIAogICAgIG1fZnJvbnRlbmQgPSAwOwogCi0gICAgbV9pbnNwZWN0b3JDb250cm9sbGVy
LT5kaXNjb25uZWN0RnJvbnRlbmRJbXBsKCk7Ci0KICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJV
R0dFUikKICAgICAvLyBJZiB0aGUgd2luZG93IGlzIGJlaW5nIGNsb3NlZCB3aXRoIHRoZSBkZWJ1
Z2dlciBlbmFibGVkLAogICAgIC8vIHJlbWVtYmVyIHRoaXMgc3RhdGUgdG8gcmUtZW5hYmxlIGRl
YnVnZ2VyIG9uIHRoZSBuZXh0IHdpbmRvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQWdlbnQuaAppbmRleCA3MjEyNzJmLi5kMTVjMWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQWdlbnQuaApAQCAtNTksNyArNTksNiBAQCBjbGFzcyBJbnNwZWN0b3JB
cnJheTsKIGNsYXNzIEluc3BlY3RvckJyb3dzZXJEZWJ1Z2dlckFnZW50OwogY2xhc3MgSW5zcGVj
dG9yQ2xpZW50OwogY2xhc3MgSW5zcGVjdG9yQ29uc29sZUFnZW50OwotY2xhc3MgSW5zcGVjdG9y
Q29udHJvbGxlcjsKIGNsYXNzIEluc3BlY3RvckNTU0FnZW50OwogY2xhc3MgSW5zcGVjdG9yRE9N
QWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQ7CkBAIC0xMDgsNyArMTA3LDcg
QEAgY2xhc3MgSW5zcGVjdG9yQWdlbnQgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEluc3Bl
Y3RvckFnZW50KTsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBJ
bnNwZWN0b3JBZ2VudChJbnNwZWN0b3JDb250cm9sbGVyKiwgUGFnZSosIEluc3BlY3RvckNsaWVu
dCopOworICAgIEluc3BlY3RvckFnZW50KFBhZ2UqLCBJbnNwZWN0b3JDbGllbnQqKTsKICAgICB2
aXJ0dWFsIH5JbnNwZWN0b3JBZ2VudCgpOwogCiAgICAgSW5zcGVjdG9yQ2xpZW50KiBpbnNwZWN0
b3JDbGllbnQoKSB7IHJldHVybiBtX2NsaWVudDsgfQpAQCAtMTQxLDcgKzE0MCw2IEBAIHB1Ymxp
YzoKIAogICAgIEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQoKTsKIAotICAg
IEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvckNvbnRyb2xsZXIoKSB7IHJldHVybiBtX2lu
c3BlY3RvckNvbnRyb2xsZXI7IH07CiAgICAgSW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50
KCkgeyByZXR1cm4gdGhpczsgfQogICAgIEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFn
ZW50KCkgeyByZXR1cm4gbV9jb25zb2xlQWdlbnQuZ2V0KCk7IH0KICAgICBJbnNwZWN0b3JDU1NB
Z2VudCogY3NzQWdlbnQoKSB7IHJldHVybiBtX2Nzc0FnZW50LmdldCgpOyB9CkBAIC0yNzYsNyAr
Mjc0LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGZvY3VzTm9kZSgpOwogICAgIGJvb2wgaXNNYWlu
UmVzb3VyY2VMb2FkZXIoRG9jdW1lbnRMb2FkZXIqLCBjb25zdCBLVVJMJiByZXF1ZXN0VXJsKTsK
IAotICAgIEluc3BlY3RvckNvbnRyb2xsZXIqIG1faW5zcGVjdG9yQ29udHJvbGxlcjsKICAgICBQ
YWdlKiBtX2luc3BlY3RlZFBhZ2U7CiAgICAgSW5zcGVjdG9yQ2xpZW50KiBtX2NsaWVudDsKICAg
ICBJbnNwZWN0b3JGcm9udGVuZCogbV9mcm9udGVuZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA4YjMxMDliLi40MjZlNWYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
CkBAIC01MCw3ICs1MCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEluc3BlY3RvckNvbnRy
b2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBp
bnNwZWN0b3JDbGllbnQpCi0gICAgOiBtX2luc3BlY3RvckFnZW50KG5ldyBJbnNwZWN0b3JBZ2Vu
dCh0aGlzLCBwYWdlLCBpbnNwZWN0b3JDbGllbnQpKQorICAgIDogbV9pbnNwZWN0b3JBZ2VudChu
ZXcgSW5zcGVjdG9yQWdlbnQocGFnZSwgaW5zcGVjdG9yQ2xpZW50KSkKICAgICAsIG1faW5zcGVj
dG9yQmFja2VuZERpc3BhdGNoZXIobmV3IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyKG1faW5z
cGVjdG9yQWdlbnQuZ2V0KCkpKQogICAgICwgbV9pbnNwZWN0b3JDbGllbnQoaW5zcGVjdG9yQ2xp
ZW50KQogICAgICwgbV9vcGVuaW5nRnJvbnRlbmQoZmFsc2UpCkBAIC0xMDUsMTkgKzEwNSwxNyBA
QCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCgpCiAKIHZvaWQgSW5z
cGVjdG9yQ29udHJvbGxlcjo6ZGlzY29ubmVjdEZyb250ZW5kKCkKIHsKLSAgICBtX2luc3BlY3Rv
ckFnZW50LT5kaXNjb25uZWN0RnJvbnRlbmQoKTsKLX0KLQotdm9pZCBJbnNwZWN0b3JDb250cm9s
bGVyOjpkaXNjb25uZWN0RnJvbnRlbmRJbXBsKCkKLXsKICAgICBpZiAoIW1faW5zcGVjdG9yRnJv
bnRlbmQpCiAgICAgICAgIHJldHVybjsKIAorICAgIG1faW5zcGVjdG9yQWdlbnQtPmRpc2Nvbm5l
Y3RGcm9udGVuZCgpOworCiAgICAgbV9pbnNwZWN0b3JGcm9udGVuZC5jbGVhcigpOwogCiAgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpmcm9udGVuZERlbGV0ZWQoKTsKICAgICBpZiAoIUlu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aGFzRnJvbnRlbmRzKCkpCiAgICAgICAgIFNjcmlwdENv
bnRyb2xsZXI6OnNldENhcHR1cmVDYWxsU3RhY2tGb3JVbmNhdWdodEV4Y2VwdGlvbnMoZmFsc2Up
OworCiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6c2hvdygpCkBAIC0xNDYsNiArMTQ0
LDggQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpjbG9zZSgpCiAKIHZvaWQgSW5zcGVjdG9y
Q29udHJvbGxlcjo6cmVzdG9yZUluc3BlY3RvclN0YXRlRnJvbUNvb2tpZShjb25zdCBTdHJpbmcm
IGluc3BlY3RvclN0YXRlQ29va2llKQogeworICAgIEFTU0VSVCghbV9pbnNwZWN0b3JGcm9udGVu
ZCk7CisgICAgY29ubmVjdEZyb250ZW5kKCk7CiAgICAgbV9pbnNwZWN0b3JBZ2VudC0+cmVzdG9y
ZUluc3BlY3RvclN0YXRlRnJvbUNvb2tpZShpbnNwZWN0b3JTdGF0ZUNvb2tpZSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDc4
ZDU5ZTYuLjdkYjAyNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuaApAQCAtMTAwLDEyICsxMDAsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJp
dmF0ZToKLSAgICBmcmllbmQgY2xhc3MgSW5zcGVjdG9yQWdlbnQ7CiAgICAgZnJpZW5kIGNsYXNz
IFBvc3RXb3JrZXJOb3RpZmljYXRpb25Ub0Zyb250ZW5kVGFzazsKIAotICAgIHZvaWQgZGlzY29u
bmVjdEZyb250ZW5kSW1wbCgpOyAvLyB1c2VkIGJ5IEluc3BlY3RvckFnZW50Ci0gICAgdm9pZCBm
cm9udGVuZExvYWRlZCgpOwotCiAgICAgT3duUHRyPEluc3BlY3RvckFnZW50PiBtX2luc3BlY3Rv
ckFnZW50OwogICAgIE93blB0cjxJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcj4gbV9pbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlcjsKICAgICBPd25QdHI8SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ+
IG1faW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>