<?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>92259</bug_id>
          
          <creation_ts>2012-07-25 08:38:47 -0700</creation_ts>
          <short_desc>Web Inspector: add memory reporting routine to StyleResolver</short_desc>
          <delta_ts>2012-07-26 03:42:55 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>87262</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>koivisto</cc>
    
    <cc>loislo</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>678095</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-07-25 08:38:47 -0700</bug_when>
    <thetext>Memory consumed by StyleResolver should be accounted as part of the CSS component.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678106</commentid>
    <comment_count>1</comment_count>
      <attachid>154369</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-07-25 08:47:34 -0700</bug_when>
    <thetext>Created attachment 154369
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678152</commentid>
    <comment_count>2</comment_count>
      <attachid>154369</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-07-25 09:28:08 -0700</bug_when>
    <thetext>Comment on attachment 154369
Patch

Attachment 154369 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13348275</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678155</commentid>
    <comment_count>3</comment_count>
      <attachid>154374</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-07-25 09:39:09 -0700</bug_when>
    <thetext>Created attachment 154374
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678169</commentid>
    <comment_count>4</comment_count>
      <attachid>154374</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-07-25 09:54:02 -0700</bug_when>
    <thetext>Comment on attachment 154374
Patch

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

&gt; Source/WebCore/css/StyleResolver.cpp:2516
&gt; +        info-&gt;addInstrumentedVector(*it-&gt;second);

I&apos;d expect that you report the key too.

&gt; Source/WebCore/css/StyleResolver.cpp:5659
&gt; +    // FIXME: move this to a place where it would be called only once?
&gt; +    info.addInstrumentedMember(defaultStyle);
&gt; +    info.addInstrumentedMember(defaultQuirksStyle);
&gt; +    info.addInstrumentedMember(defaultPrintStyle);
&gt; +    info.addInstrumentedMember(defaultViewSourceStyle);

What about other statics

static StyleSheetContents* simpleDefaultStyleSheet;
static StyleSheetContents* defaultStyleSheet;
static StyleSheetContents* quirksStyleSheet;
static StyleSheetContents* svgStyleSheet;
static StyleSheetContents* mathMLStyleSheet;
static StyleSheetContents* mediaControlsStyleSheet;
static StyleSheetContents* fullscreenStyleSheet;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>678191</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-07-25 10:17:19 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 154374 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=154374&amp;action=review
&gt; 
&gt; What about other statics
&gt; 
&gt; static StyleSheetContents* simpleDefaultStyleSheet;
&gt; static StyleSheetContents* defaultStyleSheet;
&gt; static StyleSheetContents* quirksStyleSheet;
&gt; static StyleSheetContents* svgStyleSheet;
&gt; static StyleSheetContents* mathMLStyleSheet;
&gt; static StyleSheetContents* mediaControlsStyleSheet;
&gt; static StyleSheetContents* fullscreenStyleSheet;

StyleSheetContents is not instrumented yet. I&apos;m going to take care of it in another patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679007</commentid>
    <comment_count>6</comment_count>
      <attachid>154374</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-07-26 01:18:48 -0700</bug_when>
    <thetext>Comment on attachment 154374
Patch

lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679127</commentid>
    <comment_count>7</comment_count>
      <attachid>154374</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-26 03:42:49 -0700</bug_when>
    <thetext>Comment on attachment 154374
Patch

Clearing flags on attachment: 154374

Committed r123726: &lt;http://trac.webkit.org/changeset/123726&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679128</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-26 03:42:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154369</attachid>
            <date>2012-07-25 08:47:34 -0700</date>
            <delta_ts>2012-07-25 09:39:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92259-20120725194723.patch</filename>
            <type>text/plain</type>
            <size>12378</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Y3NDRhZjQzYWRkNDQ2
ZjkyYzViNDcxNzIxMmQ5ZDAzYmFlYjQxZC4uNjMzNjI2MTUyMDIwMTVkOTc4NGYwMzc3NjhiZWVj
ZmMyYWY2YWY4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA3LTI1ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGFkZCBtZW1vcnkgcmVwb3J0aW5nIHJvdXRpbmUgdG8gU3R5bGVSZXNvbHZlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIyNTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTeWxlUmVzb2x2ZXI6OnJl
cG9ydE1lbW9yeVVzYWdlIGlzIGFkZGVkIGZvciBlc3RpbWF0aW5nIFN0eWxlUmVzb2x2ZXIKKyAg
ICAgICAgbWVtb3J5IGZvb3RwcmludC4KKworICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNw
cDoKKyAgICAgICAgKFJ1bGVEYXRhKToKKyAgICAgICAgKFJ1bGVTZXQpOgorICAgICAgICAoUnVs
ZVNldFNlbGVjdG9yUGFpcik6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpGZWF0
dXJlczo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QpOgorICAg
ICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmg6CisgICAgICAgIChGZWF0dXJlcyk6CisgICAgICAg
IChTdHlsZVJlc29sdmVyKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vTWVt
b3J5SW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChNZW1vcnlJbnN0cnVtZW50YXRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2xhc3NJbmZvOjphZGRJbnN0cnVtZW50ZWRIYXNoU2V0
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNsYXNzSW5mbzo6YWRkSW5zdHJ1bWVudGVkVmVj
dG9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSGFzaE1h
cCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1l
bnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkQ29sbGVjdGlvbik6CisKIDIwMTItMDctMjUgIFplbm8g
QWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XVtXSzJdIERpc2FibGUg
Q29weVRvVGV4dHVyZSBmb3IgR3JhcGhpY3NTdXJmYWNlTWFjLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwCmluZGV4IGU1NWU0MGM1ODViM2NlMTkzMGU1M2Y2NTFjOGQzZmY2Y2U2Mzg1
OTYuLjRhOGNlZDk5ZmFjMWFmMDMxYWE5MTVkZmIzOTQ0Yjk3MjVhNmNmZGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTgyLDYgKzgyLDcgQEAKICNpbmNsdWRlICJNYXRy
aXhUcmFuc2Zvcm1PcGVyYXRpb24uaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRl
ICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCisjaW5jbHVkZSAiTWVtb3J5SW5zdHJ1bWVudGF0aW9u
LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlcmlu
Z0NvbnRleHQuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC0yMTYsNiArMjE3LDggQEAgcHVibGlj
OgogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhpbXVtSWRlbnRpZmllckNvdW50ID0gNDsK
ICAgICBjb25zdCB1bnNpZ25lZCogZGVzY2VuZGFudFNlbGVjdG9ySWRlbnRpZmllckhhc2hlcygp
IGNvbnN0IHsgcmV0dXJuIG1fZGVzY2VuZGFudFNlbGVjdG9ySWRlbnRpZmllckhhc2hlczsgfQog
CisgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CisK
IHByaXZhdGU6CiAgICAgU3R5bGVSdWxlKiBtX3J1bGU7CiAgICAgQ1NTU2VsZWN0b3IqIG1fc2Vs
ZWN0b3I7CkBAIC0yNzIsNiArMjc1LDggQEAgcHVibGljOgogICAgIGNvbnN0IFZlY3RvcjxSdWxl
RGF0YT4qIHVuaXZlcnNhbFJ1bGVzKCkgY29uc3QgeyByZXR1cm4gJm1fdW5pdmVyc2FsUnVsZXM7
IH0KICAgICBjb25zdCBWZWN0b3I8U3R5bGVSdWxlUGFnZSo+JiBwYWdlUnVsZXMoKSBjb25zdCB7
IHJldHVybiBtX3BhZ2VSdWxlczsgfQogCisgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKikgY29uc3Q7CisKIHB1YmxpYzoKICAgICBSdWxlU2V0KCk7CiAKQEAgLTI5
MCw2ICsyOTUsOCBAQCBwdWJsaWM6CiAgICAgc3RydWN0IFJ1bGVTZXRTZWxlY3RvclBhaXIgewog
ICAgICAgICBSdWxlU2V0U2VsZWN0b3JQYWlyKENTU1NlbGVjdG9yKiBzZWxlY3RvciwgUGFzc093
blB0cjxSdWxlU2V0PiBydWxlU2V0KSA6IHNlbGVjdG9yKHNlbGVjdG9yKSwgcnVsZVNldChydWxl
U2V0KSB7IH0KICAgICAgICAgUnVsZVNldFNlbGVjdG9yUGFpcihjb25zdCBSdWxlU2V0U2VsZWN0
b3JQYWlyJiBycykgOiBzZWxlY3Rvcihycy5zZWxlY3RvciksIHJ1bGVTZXQoY29uc3RfY2FzdDxS
dWxlU2V0U2VsZWN0b3JQYWlyKj4oJnJzKS0+cnVsZVNldC5yZWxlYXNlKCkpIHsgfQorICAgICAg
ICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKKwogICAg
ICAgICBDU1NTZWxlY3Rvciogc2VsZWN0b3I7CiAgICAgICAgIE93blB0cjxSdWxlU2V0PiBydWxl
U2V0OwogICAgIH07CkBAIC03MjgsNiArNzM1LDE1IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6RmVh
dHVyZXM6OmNsZWFyKCkKICAgICB1c2VzTGlua1J1bGVzID0gZmFsc2U7CiB9CiAKK3ZvaWQgU3R5
bGVSZXNvbHZlcjo6RmVhdHVyZXM6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvPFN0eWxlUmVz
b2x2ZXI6OkZlYXR1cmVzPiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBpbmZvLmFkZEhhc2hTZXQoaWRzSW5SdWxlcyk7CisgICAg
aW5mby5hZGRIYXNoU2V0KGF0dHJzSW5SdWxlcyk7CisgICAgaW5mby5hZGRWZWN0b3Ioc2libGlu
Z1J1bGVzKTsKKyAgICBpbmZvLmFkZFZlY3Rvcih1bmNvbW1vbkF0dHJpYnV0ZVJ1bGVzKTsKK30K
Kwogc3RhdGljIFN0eWxlU2hlZXRDb250ZW50cyogcGFyc2VVQVNoZWV0KGNvbnN0IFN0cmluZyYg
c3RyKQogewogICAgIFN0eWxlU2hlZXRDb250ZW50cyogc2hlZXQgPSBTdHlsZVNoZWV0Q29udGVu
dHM6OmNyZWF0ZSgpLmxlYWtSZWYoKTsgLy8gbGVhayB0aGUgc2hlZXQgb24gcHVycG9zZQpAQCAt
MjQ4MSwxMiArMjQ5Nyw0NSBAQCBSdWxlRGF0YTo6UnVsZURhdGEoU3R5bGVSdWxlKiBydWxlLCBD
U1NTZWxlY3Rvciogc2VsZWN0b3IsIHVuc2lnbmVkIHBvc2l0aW9uLCBibwogICAgIFNlbGVjdG9y
Q2hlY2tlcjo6Y29sbGVjdElkZW50aWZpZXJIYXNoZXMobV9zZWxlY3RvciwgbV9kZXNjZW5kYW50
U2VsZWN0b3JJZGVudGlmaWVySGFzaGVzLCBtYXhpbXVtSWRlbnRpZmllckNvdW50KTsKIH0KIAor
dm9pZCBSdWxlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm88UnVsZURhdGE+IGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworfQor
CiBSdWxlU2V0OjpSdWxlU2V0KCkKICAgICA6IG1fcnVsZUNvdW50KDApCiAgICAgLCBtX2F1dG9T
aHJpbmtUb0ZpdEVuYWJsZWQodHJ1ZSkKIHsKIH0KIAorCitzdGF0aWMgdm9pZCByZXBvcnRBdG9t
UnVsZU1hcChNZW1vcnlDbGFzc0luZm88UnVsZVNldD4qIGluZm8sIGNvbnN0IFJ1bGVTZXQ6OkF0
b21SdWxlTWFwJiBhdG9taWNSdWxlTWFwKQoreworICAgIGluZm8tPmFkZEhhc2hNYXAoYXRvbWlj
UnVsZU1hcCk7CisgICAgZm9yIChSdWxlU2V0OjpBdG9tUnVsZU1hcDo6Y29uc3RfaXRlcmF0b3Ig
aXQgPSBhdG9taWNSdWxlTWFwLmJlZ2luKCk7IGl0ICE9IGF0b21pY1J1bGVNYXAuZW5kKCk7ICsr
aXQpCisgICAgICAgIGluZm8tPmFkZEluc3RydW1lbnRlZFZlY3RvcigqaXQtPnNlY29uZCk7Cit9
CisKK3ZvaWQgUnVsZVNldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm88UnVsZVNldD4gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Cisg
ICAgcmVwb3J0QXRvbVJ1bGVNYXAoJmluZm8sIG1faWRSdWxlcyk7CisgICAgcmVwb3J0QXRvbVJ1
bGVNYXAoJmluZm8sIG1fY2xhc3NSdWxlcyk7CisgICAgcmVwb3J0QXRvbVJ1bGVNYXAoJmluZm8s
IG1fdGFnUnVsZXMpOworICAgIHJlcG9ydEF0b21SdWxlTWFwKCZpbmZvLCBtX3NoYWRvd1BzZXVk
b0VsZW1lbnRSdWxlcyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9saW5rUHNl
dWRvQ2xhc3NSdWxlcyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9mb2N1c1Bz
ZXVkb0NsYXNzUnVsZXMpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fdW5pdmVy
c2FsUnVsZXMpOworICAgIGluZm8uYWRkVmVjdG9yKG1fcGFnZVJ1bGVzKTsKKyAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZFZlY3RvcihtX3JlZ2lvblNlbGVjdG9yc0FuZFJ1bGVTZXRzKTsKK30KKwor
dm9pZCBSdWxlU2V0OjpSdWxlU2V0U2VsZWN0b3JQYWlyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNsYXNz
SW5mbzxSdWxlU2V0OjpSdWxlU2V0U2VsZWN0b3JQYWlyPiBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihydWxlU2V0KTsKK30KKwogc3RhdGljIGlubGluZSB2b2lkIGNvbGxlY3RGZWF0
dXJlc0Zyb21TZWxlY3RvcihTdHlsZVJlc29sdmVyOjpGZWF0dXJlcyYgZmVhdHVyZXMsIGNvbnN0
IENTU1NlbGVjdG9yKiBzZWxlY3RvcikKIHsKICAgICBpZiAoc2VsZWN0b3ItPm1fbWF0Y2ggPT0g
Q1NTU2VsZWN0b3I6OklkKQpAQCAtNTU3OCw0ICs1NjI3LDM0IEBAIHZvaWQgU3R5bGVSZXNvbHZl
cjo6bG9hZFBlbmRpbmdSZXNvdXJjZXMoKQogI2VuZGlmCiB9CiAKK3ZvaWQgU3R5bGVSZXNvbHZl
cjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm88U3R5bGVSZXNvbHZlcj4gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV9zdHlsZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9hdXRo
b3JTdHlsZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91c2VyU3R5bGUpOwor
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2libGluZ1J1bGVTZXQpOworICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdW5jb21tb25BdHRyaWJ1dGVSdWxlU2V0KTsKKyAg
ICBpbmZvLmFkZEhhc2hNYXAobV9rZXlmcmFtZXNSdWxlTWFwKTsKKyAgICBpbmZvLmFkZEhhc2hN
YXAobV9tYXRjaGVkUHJvcGVydGllc0NhY2hlKTsKKyAgICBpbmZvLmFkZFZlY3RvcihtX21hdGNo
ZWRSdWxlcyk7CisKKyAgICAvLyBGSVhNRTogSW5zdHJ1bWVudCBTdGF0aWNDU1NSdWxlTGlzdCBh
bmQgYWRkIG1fcnVsZUxpc3QgaGVyZS4KKyAgICBpbmZvLmFkZEhhc2hTZXQobV9wZW5kaW5nSW1h
Z2VQcm9wZXJ0aWVzKTsKKyAgICBpbmZvLmFkZFZlY3RvcihtX3ZpZXdwb3J0RGVwZW5kZW50TWVk
aWFRdWVyeVJlc3VsdHMpOworICAgIGluZm8uYWRkSGFzaE1hcChtX3N0eWxlUnVsZVRvQ1NTT01X
cmFwcGVyTWFwKTsKKyAgICBpbmZvLmFkZEhhc2hTZXQobV9zdHlsZVNoZWV0Q1NTT01XcmFwcGVy
U2V0KTsKKyNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpICYmIEVOQUJMRShTVkcpCisgICAgaW5mby5h
ZGRIYXNoTWFwKG1fcGVuZGluZ1NWR0RvY3VtZW50cyk7CisjZW5kaWYKKyAgICBpbmZvLmFkZEhh
c2hNYXAobV9zY29wZWRBdXRob3JTdHlsZXMpOworICAgIGluZm8uYWRkVmVjdG9yKG1fc2NvcGVT
dGFjayk7CisKKyAgICAvLyBGSVhNRTogbW92ZSB0aGlzIHRvIGEgcGxhY2Ugd2hlcmUgaXQgd291
bGQgYmUgY2FsbGVkIG9ubHkgb25jZT8KKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihk
ZWZhdWx0U3R5bGUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGRlZmF1bHRRdWly
a3NTdHlsZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoZGVmYXVsdFByaW50U3R5
bGUpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKGRlZmF1bHRWaWV3U291cmNlU3R5
bGUpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuaAppbmRleCAxZTc2NDM4OTg5MTU0YzU1OWEzYTJhMjAwM2M5OWJmZjgyNTJkYWRlLi5mMTgx
ZWI2MGUxOTAxNmY0ZDM1OWE0Zjk3OGE1ZGQyOTc3MmE1YmVjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmgKQEAgLTY1LDYgKzY1LDcgQEAgY2xhc3MgS1VSTDsKIGNsYXNzIEtleWZyYW1l
TGlzdDsKIGNsYXNzIEtleWZyYW1lVmFsdWU7CiBjbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yOwor
Y2xhc3MgTWVtb3J5T2JqZWN0SW5mbzsKIGNsYXNzIE5vZGU7CiBjbGFzcyBSZW5kZXJSZWdpb247
CiBjbGFzcyBSdWxlRGF0YTsKQEAgLTI4Nyw2ICsyODgsNyBAQCBwdWJsaWM6CiAgICAgICAgIH5G
ZWF0dXJlcygpOwogICAgICAgICB2b2lkIGFkZChjb25zdCBTdHlsZVJlc29sdmVyOjpGZWF0dXJl
cyYpOwogICAgICAgICB2b2lkIGNsZWFyKCk7CisgICAgICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OwogICAgICAgICBIYXNoU2V0PEF0b21pY1N0cmlu
Z0ltcGwqPiBpZHNJblJ1bGVzOwogICAgICAgICBIYXNoU2V0PEF0b21pY1N0cmluZ0ltcGwqPiBh
dHRyc0luUnVsZXM7CiAgICAgICAgIFZlY3RvcjxSdWxlRmVhdHVyZT4gc2libGluZ1J1bGVzOwpA
QCAtNDIwLDYgKzQyMiw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgTGVuZ3RoIGNvbnZlcnRUb0Zs
b2F0TGVuZ3RoKENTU1ByaW1pdGl2ZVZhbHVlKiwgUmVuZGVyU3R5bGUqLCBSZW5kZXJTdHlsZSog
cm9vdFN0eWxlLCBkb3VibGUgbXVsdGlwbGllciA9IDEpOwogCiAgICAgQ1NTVG9TdHlsZU1hcCog
c3R5bGVNYXAoKSB7IHJldHVybiAmbV9zdHlsZU1hcDsgfQorCisgICAgdm9pZCByZXBvcnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CiAgICAgCiBwcml2YXRlOgogICAgIHN0
YXRpYyBSZW5kZXJTdHlsZSogc19zdHlsZU5vdFlldEF2YWlsYWJsZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwCmluZGV4IGYwYjBiNjVjZDlhOGI1ZjIzNTBmYThmYWI0MDMzNGY0ZTZlYmNjYWUuLjMw
MDFiMjMwZGE5MTc2ZWEzYmZkMjgwOWQ1ZjhjM2ViOTI4MjQ0YjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmNwcApAQCAtNjA3NSw2ICs2MDc1LDcgQEAgdm9pZCBEb2N1bWVudDo6c2V0Q29udGV4dEZl
YXR1cmVzKFBhc3NSZWZQdHI8Q29udGV4dEZlYXR1cmVzPiBmZWF0dXJlcykKIHZvaWQgRG9jdW1l
bnQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8p
IGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvPERvY3VtZW50PiBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKKyAgICBpbmZvLmFkZElu
c3RydW1lbnRlZE1lbWJlcihtX3N0eWxlUmVzb2x2ZXIpOwogICAgIGluZm8udmlzaXRCYXNlQ2xh
c3M8Q29udGFpbmVyTm9kZT4odGhpcyk7CiAgICAgaW5mby5hZGRWZWN0b3IobV9jdXN0b21Gb250
cyk7CiAgICAgaW5mby5hZGRTdHJpbmcobV9kb2N1bWVudFVSSSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggZWE3ZmUyZWRmMWZjNjllYjY4NTRhMTE4
NWVjMzlmMzZjYzA3NDAzNy4uOTZjMDE3ODg3ZGQ3NDdlOTk3NzdhZjIyNWZjMjRmMGJjNjYyNzVk
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaApAQCAtNjcs
NyArNjcsNyBAQCBwdWJsaWM6CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSGFzaE1hcFR5cGU+
IHZvaWQgYWRkSGFzaE1hcChjb25zdCBIYXNoTWFwVHlwZSYsIE9iamVjdFR5cGUsIGJvb2wgY29u
dGVudE9ubHkgPSBmYWxzZSk7CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEhhc2hTZXRUeXBlPiB2
b2lkIGFkZEhhc2hTZXQoY29uc3QgSGFzaFNldFR5cGUmLCBPYmplY3RUeXBlLCBib29sIGNvbnRl
bnRPbmx5ID0gZmFsc2UpOwotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBIYXNoU2V0VHlwZT4gdm9p
ZCBhZGRJbnN0cnVtZW50ZWRIYXNoU2V0KGNvbnN0IEhhc2hTZXRUeXBlJiwgT2JqZWN0VHlwZSwg
Ym9vbCBjb250ZW50T25seSA9IGZhbHNlKTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ29sbGVj
dGlvblR5cGU+IHZvaWQgYWRkSW5zdHJ1bWVudGVkQ29sbGVjdGlvbihjb25zdCBDb2xsZWN0aW9u
VHlwZSYsIE9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkgPSBmYWxzZSk7CiAgICAgdGVtcGxh
dGUgPHR5cGVuYW1lIExpc3RIYXNoU2V0VHlwZT4gdm9pZCBhZGRMaXN0SGFzaFNldChjb25zdCBM
aXN0SGFzaFNldFR5cGUmLCBPYmplY3RUeXBlLCBib29sIGNvbnRlbnRPbmx5ID0gZmFsc2UpOwog
ICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWZWN0b3JUeXBlPiB2b2lkIGFkZFZlY3Rvcihjb25zdCBW
ZWN0b3JUeXBlJiwgT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNlKTsKICAgICB2
b2lkIGFkZFJhd0J1ZmZlcihjb25zdCB2b2lkKiBjb25zdCYgYnVmZmVyLCBPYmplY3RUeXBlIG9i
amVjdFR5cGUsIHNpemVfdCBzaXplKQpAQCAtMjA2LDcgKzIwNiw4IEBAIHB1YmxpYzoKIAogICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBIYXNoTWFwVHlwZT4gdm9pZCBhZGRIYXNoTWFwKGNvbnN0IEhh
c2hNYXBUeXBlJiBtYXApIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZEhhc2hNYXAobWFw
LCBtX29iamVjdFR5cGUsIHRydWUpOyB9CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEhhc2hTZXRU
eXBlPiB2b2lkIGFkZEhhc2hTZXQoY29uc3QgSGFzaFNldFR5cGUmIHNldCkgeyBtX21lbW9yeUlu
c3RydW1lbnRhdGlvbi0+YWRkSGFzaFNldChzZXQsIG1fb2JqZWN0VHlwZSwgdHJ1ZSk7IH0KLSAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSGFzaFNldFR5cGU+IHZvaWQgYWRkSW5zdHJ1bWVudGVkSGFz
aFNldChjb25zdCBIYXNoU2V0VHlwZSYgc2V0KSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5h
ZGRJbnN0cnVtZW50ZWRIYXNoU2V0KHNldCwgbV9vYmplY3RUeXBlLCB0cnVlKTsgfQorICAgIHRl
bXBsYXRlIDx0eXBlbmFtZSBIYXNoU2V0VHlwZT4gdm9pZCBhZGRJbnN0cnVtZW50ZWRIYXNoU2V0
KGNvbnN0IEhhc2hTZXRUeXBlJiBzZXQpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZElu
c3RydW1lbnRlZENvbGxlY3Rpb24oc2V0LCBtX29iamVjdFR5cGUsIHRydWUpOyB9CisgICAgdGVt
cGxhdGUgPHR5cGVuYW1lIFZlY3RvclR5cGU+IHZvaWQgYWRkSW5zdHJ1bWVudGVkVmVjdG9yKGNv
bnN0IFZlY3RvclR5cGUmIHZlY3RvcikgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkSW5z
dHJ1bWVudGVkQ29sbGVjdGlvbih2ZWN0b3IsIG1fb2JqZWN0VHlwZSwgdHJ1ZSk7IH0KICAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgTGlzdEhhc2hTZXRUeXBlPiB2b2lkIGFkZExpc3RIYXNoU2V0KGNv
bnN0IExpc3RIYXNoU2V0VHlwZSYgc2V0KSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRM
aXN0SGFzaFNldChzZXQsIG1fb2JqZWN0VHlwZSwgdHJ1ZSk7IH0KICAgICB0ZW1wbGF0ZSA8dHlw
ZW5hbWUgVmVjdG9yVHlwZT4gdm9pZCBhZGRWZWN0b3IoY29uc3QgVmVjdG9yVHlwZSYgdmVjdG9y
KSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRWZWN0b3IodmVjdG9yLCBtX29iamVjdFR5
cGUsIHRydWUpOyB9CiAgICAgdm9pZCBhZGRSYXdCdWZmZXIoY29uc3Qgdm9pZCogY29uc3QmIGJ1
ZmZlciwgc2l6ZV90IHNpemUpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZFJhd0J1ZmZl
cihidWZmZXIsIG1fb2JqZWN0VHlwZSwgc2l6ZSk7IH0KQEAgLTIyMyw2ICsyMjQsOCBAQCBwcml2
YXRlOgogdGVtcGxhdGU8dHlwZW5hbWUgSGFzaE1hcFR5cGU+CiB2b2lkIE1lbW9yeUluc3RydW1l
bnRhdGlvbjo6YWRkSGFzaE1hcChjb25zdCBIYXNoTWFwVHlwZSYgaGFzaE1hcCwgT2JqZWN0VHlw
ZSBvYmplY3RUeXBlLCBib29sIGNvbnRlbnRPbmx5KQogeworICAgIGlmICh2aXNpdGVkKCZoYXNo
TWFwKSkKKyAgICAgICAgcmV0dXJuOwogICAgIGNvdW50T2JqZWN0U2l6ZShvYmplY3RUeXBlLCBj
YWxjdWxhdGVDb250YWluZXJTaXplKGhhc2hNYXAsIGNvbnRlbnRPbmx5KSk7CiB9CiAKQEAgLTIz
NCwxMyArMjM3LDE0IEBAIHZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRIYXNoU2V0KGNv
bnN0IEhhc2hTZXRUeXBlJiBoYXNoU2V0LCBPYmplY3RUeXBlIG9iCiAgICAgY291bnRPYmplY3RT
aXplKG9iamVjdFR5cGUsIGNhbGN1bGF0ZUNvbnRhaW5lclNpemUoaGFzaFNldCwgY29udGVudE9u
bHkpKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgSGFzaFNldFR5cGU+Ci12b2lkIE1lbW9yeUlu
c3RydW1lbnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkSGFzaFNldChjb25zdCBIYXNoU2V0VHlwZSYg
aGFzaFNldCwgT2JqZWN0VHlwZSBvYmplY3RUeXBlLCBib29sIGNvbnRlbnRPbmx5KQordGVtcGxh
dGUgPHR5cGVuYW1lIENvbGxlY3Rpb25UeXBlPgordm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OmFkZEluc3RydW1lbnRlZENvbGxlY3Rpb24oY29uc3QgQ29sbGVjdGlvblR5cGUmIGNvbGxlY3Rp
b24sIE9iamVjdFR5cGUgb2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSkKIHsKLSAgICBpZiAo
dmlzaXRlZCgmaGFzaFNldCkpCisgICAgaWYgKHZpc2l0ZWQoJmNvbGxlY3Rpb24pKQogICAgICAg
ICByZXR1cm47Ci0gICAgY291bnRPYmplY3RTaXplKG9iamVjdFR5cGUsIGNhbGN1bGF0ZUNvbnRh
aW5lclNpemUoaGFzaFNldCwgY29udGVudE9ubHkpKTsKLSAgICBmb3IgKHR5cGVuYW1lIEhhc2hT
ZXRUeXBlOjpjb25zdF9pdGVyYXRvciBpID0gaGFzaFNldC5iZWdpbigpOyBpICE9IGhhc2hTZXQu
ZW5kKCk7ICsraSkKKyAgICBjb3VudE9iamVjdFNpemUob2JqZWN0VHlwZSwgY2FsY3VsYXRlQ29u
dGFpbmVyU2l6ZShjb2xsZWN0aW9uLCBjb250ZW50T25seSkpOworICAgIHR5cGVuYW1lIENvbGxl
Y3Rpb25UeXBlOjpjb25zdF9pdGVyYXRvciBlbmQgPSBjb2xsZWN0aW9uLmVuZCgpOworICAgIGZv
ciAodHlwZW5hbWUgQ29sbGVjdGlvblR5cGU6OmNvbnN0X2l0ZXJhdG9yIGkgPSBjb2xsZWN0aW9u
LmJlZ2luKCk7IGkgIT0gZW5kOyArK2kpCiAgICAgICAgIGFkZEluc3RydW1lbnRlZE1lbWJlcigq
aSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154374</attachid>
            <date>2012-07-25 09:39:09 -0700</date>
            <delta_ts>2012-07-26 03:42:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92259-20120725203858.patch</filename>
            <type>text/plain</type>
            <size>12412</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNTkyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Y3NDRhZjQzYWRkNDQ2
ZjkyYzViNDcxNzIxMmQ5ZDAzYmFlYjQxZC4uNjMzNjI2MTUyMDIwMTVkOTc4NGYwMzc3NjhiZWVj
ZmMyYWY2YWY4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA3LTI1ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGFkZCBtZW1vcnkgcmVwb3J0aW5nIHJvdXRpbmUgdG8gU3R5bGVSZXNvbHZlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTIyNTkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTeWxlUmVzb2x2ZXI6OnJl
cG9ydE1lbW9yeVVzYWdlIGlzIGFkZGVkIGZvciBlc3RpbWF0aW5nIFN0eWxlUmVzb2x2ZXIKKyAg
ICAgICAgbWVtb3J5IGZvb3RwcmludC4KKworICAgICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmNw
cDoKKyAgICAgICAgKFJ1bGVEYXRhKToKKyAgICAgICAgKFJ1bGVTZXQpOgorICAgICAgICAoUnVs
ZVNldFNlbGVjdG9yUGFpcik6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpGZWF0
dXJlczo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpjb2xsZWN0TWF0Y2hpbmdSdWxlc0Zvckxpc3QpOgorICAg
ICAgICAqIGNzcy9TdHlsZVJlc29sdmVyLmg6CisgICAgICAgIChGZWF0dXJlcyk6CisgICAgICAg
IChTdHlsZVJlc29sdmVyKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vTWVt
b3J5SW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgIChNZW1vcnlJbnN0cnVtZW50YXRpb24pOgor
ICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2xhc3NJbmZvOjphZGRJbnN0cnVtZW50ZWRIYXNoU2V0
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNsYXNzSW5mbzo6YWRkSW5zdHJ1bWVudGVkVmVj
dG9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSGFzaE1h
cCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUluc3RydW1l
bnRhdGlvbjo6YWRkSW5zdHJ1bWVudGVkQ29sbGVjdGlvbik6CisKIDIwMTItMDctMjUgIFplbm8g
QWxiaXNzZXIgIDx6ZW5vQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XVtXSzJdIERpc2FibGUg
Q29weVRvVGV4dHVyZSBmb3IgR3JhcGhpY3NTdXJmYWNlTWFjLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwCmluZGV4IGU1NWU0MGM1ODViM2NlMTkzMGU1M2Y2NTFjOGQzZmY2Y2U2Mzg1
OTYuLmJlZTg4NjYxMGM4ZWVjYjkzNWQ1ODQxNjZmYzgyZDQ2Yjk2NWNhZmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTgyLDYgKzgyLDcgQEAKICNpbmNsdWRlICJNYXRy
aXhUcmFuc2Zvcm1PcGVyYXRpb24uaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRl
ICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCisjaW5jbHVkZSAiTWVtb3J5SW5zdHJ1bWVudGF0aW9u
LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlcmlu
Z0NvbnRleHQuaCIKICNpbmNsdWRlICJQYWdlLmgiCkBAIC0yMTYsNiArMjE3LDggQEAgcHVibGlj
OgogICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhpbXVtSWRlbnRpZmllckNvdW50ID0gNDsK
ICAgICBjb25zdCB1bnNpZ25lZCogZGVzY2VuZGFudFNlbGVjdG9ySWRlbnRpZmllckhhc2hlcygp
IGNvbnN0IHsgcmV0dXJuIG1fZGVzY2VuZGFudFNlbGVjdG9ySWRlbnRpZmllckhhc2hlczsgfQog
CisgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CisK
IHByaXZhdGU6CiAgICAgU3R5bGVSdWxlKiBtX3J1bGU7CiAgICAgQ1NTU2VsZWN0b3IqIG1fc2Vs
ZWN0b3I7CkBAIC0yNzIsNiArMjc1LDggQEAgcHVibGljOgogICAgIGNvbnN0IFZlY3RvcjxSdWxl
RGF0YT4qIHVuaXZlcnNhbFJ1bGVzKCkgY29uc3QgeyByZXR1cm4gJm1fdW5pdmVyc2FsUnVsZXM7
IH0KICAgICBjb25zdCBWZWN0b3I8U3R5bGVSdWxlUGFnZSo+JiBwYWdlUnVsZXMoKSBjb25zdCB7
IHJldHVybiBtX3BhZ2VSdWxlczsgfQogCisgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKikgY29uc3Q7CisKIHB1YmxpYzoKICAgICBSdWxlU2V0KCk7CiAKQEAgLTI5
MCw2ICsyOTUsOCBAQCBwdWJsaWM6CiAgICAgc3RydWN0IFJ1bGVTZXRTZWxlY3RvclBhaXIgewog
ICAgICAgICBSdWxlU2V0U2VsZWN0b3JQYWlyKENTU1NlbGVjdG9yKiBzZWxlY3RvciwgUGFzc093
blB0cjxSdWxlU2V0PiBydWxlU2V0KSA6IHNlbGVjdG9yKHNlbGVjdG9yKSwgcnVsZVNldChydWxl
U2V0KSB7IH0KICAgICAgICAgUnVsZVNldFNlbGVjdG9yUGFpcihjb25zdCBSdWxlU2V0U2VsZWN0
b3JQYWlyJiBycykgOiBzZWxlY3Rvcihycy5zZWxlY3RvciksIHJ1bGVTZXQoY29uc3RfY2FzdDxS
dWxlU2V0U2VsZWN0b3JQYWlyKj4oJnJzKS0+cnVsZVNldC5yZWxlYXNlKCkpIHsgfQorICAgICAg
ICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdDsKKwogICAg
ICAgICBDU1NTZWxlY3Rvciogc2VsZWN0b3I7CiAgICAgICAgIE93blB0cjxSdWxlU2V0PiBydWxl
U2V0OwogICAgIH07CkBAIC03MjgsNiArNzM1LDE1IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6RmVh
dHVyZXM6OmNsZWFyKCkKICAgICB1c2VzTGlua1J1bGVzID0gZmFsc2U7CiB9CiAKK3ZvaWQgU3R5
bGVSZXNvbHZlcjo6RmVhdHVyZXM6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8q
IG1lbW9yeU9iamVjdEluZm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvPFN0eWxlUmVz
b2x2ZXI6OkZlYXR1cmVzPiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3Ry
dW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBpbmZvLmFkZEhhc2hTZXQoaWRzSW5SdWxlcyk7CisgICAg
aW5mby5hZGRIYXNoU2V0KGF0dHJzSW5SdWxlcyk7CisgICAgaW5mby5hZGRWZWN0b3Ioc2libGlu
Z1J1bGVzKTsKKyAgICBpbmZvLmFkZFZlY3Rvcih1bmNvbW1vbkF0dHJpYnV0ZVJ1bGVzKTsKK30K
Kwogc3RhdGljIFN0eWxlU2hlZXRDb250ZW50cyogcGFyc2VVQVNoZWV0KGNvbnN0IFN0cmluZyYg
c3RyKQogewogICAgIFN0eWxlU2hlZXRDb250ZW50cyogc2hlZXQgPSBTdHlsZVNoZWV0Q29udGVu
dHM6OmNyZWF0ZSgpLmxlYWtSZWYoKTsgLy8gbGVhayB0aGUgc2hlZXQgb24gcHVycG9zZQpAQCAt
MjQ4MSwxMiArMjQ5Nyw0NSBAQCBSdWxlRGF0YTo6UnVsZURhdGEoU3R5bGVSdWxlKiBydWxlLCBD
U1NTZWxlY3Rvciogc2VsZWN0b3IsIHVuc2lnbmVkIHBvc2l0aW9uLCBibwogICAgIFNlbGVjdG9y
Q2hlY2tlcjo6Y29sbGVjdElkZW50aWZpZXJIYXNoZXMobV9zZWxlY3RvciwgbV9kZXNjZW5kYW50
U2VsZWN0b3JJZGVudGlmaWVySGFzaGVzLCBtYXhpbXVtSWRlbnRpZmllckNvdW50KTsKIH0KIAor
dm9pZCBSdWxlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm88UnVsZURhdGE+IGluZm8o
bWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpDU1MpOworfQor
CiBSdWxlU2V0OjpSdWxlU2V0KCkKICAgICA6IG1fcnVsZUNvdW50KDApCiAgICAgLCBtX2F1dG9T
aHJpbmtUb0ZpdEVuYWJsZWQodHJ1ZSkKIHsKIH0KIAorCitzdGF0aWMgdm9pZCByZXBvcnRBdG9t
UnVsZU1hcChNZW1vcnlDbGFzc0luZm88UnVsZVNldD4qIGluZm8sIGNvbnN0IFJ1bGVTZXQ6OkF0
b21SdWxlTWFwJiBhdG9taWNSdWxlTWFwKQoreworICAgIGluZm8tPmFkZEhhc2hNYXAoYXRvbWlj
UnVsZU1hcCk7CisgICAgZm9yIChSdWxlU2V0OjpBdG9tUnVsZU1hcDo6Y29uc3RfaXRlcmF0b3Ig
aXQgPSBhdG9taWNSdWxlTWFwLmJlZ2luKCk7IGl0ICE9IGF0b21pY1J1bGVNYXAuZW5kKCk7ICsr
aXQpCisgICAgICAgIGluZm8tPmFkZEluc3RydW1lbnRlZFZlY3RvcigqaXQtPnNlY29uZCk7Cit9
CisKK3ZvaWQgUnVsZVNldDo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm88UnVsZVNldD4gaW5m
byhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7Cisg
ICAgcmVwb3J0QXRvbVJ1bGVNYXAoJmluZm8sIG1faWRSdWxlcyk7CisgICAgcmVwb3J0QXRvbVJ1
bGVNYXAoJmluZm8sIG1fY2xhc3NSdWxlcyk7CisgICAgcmVwb3J0QXRvbVJ1bGVNYXAoJmluZm8s
IG1fdGFnUnVsZXMpOworICAgIHJlcG9ydEF0b21SdWxlTWFwKCZpbmZvLCBtX3NoYWRvd1BzZXVk
b0VsZW1lbnRSdWxlcyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9saW5rUHNl
dWRvQ2xhc3NSdWxlcyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRWZWN0b3IobV9mb2N1c1Bz
ZXVkb0NsYXNzUnVsZXMpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkVmVjdG9yKG1fdW5pdmVy
c2FsUnVsZXMpOworICAgIGluZm8uYWRkVmVjdG9yKG1fcGFnZVJ1bGVzKTsKKyAgICBpbmZvLmFk
ZEluc3RydW1lbnRlZFZlY3RvcihtX3JlZ2lvblNlbGVjdG9yc0FuZFJ1bGVTZXRzKTsKK30KKwor
dm9pZCBSdWxlU2V0OjpSdWxlU2V0U2VsZWN0b3JQYWlyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1v
cnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNsYXNz
SW5mbzxSdWxlU2V0OjpSdWxlU2V0U2VsZWN0b3JQYWlyPiBpbmZvKG1lbW9yeU9iamVjdEluZm8s
IHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKKyAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihydWxlU2V0KTsKK30KKwogc3RhdGljIGlubGluZSB2b2lkIGNvbGxlY3RGZWF0
dXJlc0Zyb21TZWxlY3RvcihTdHlsZVJlc29sdmVyOjpGZWF0dXJlcyYgZmVhdHVyZXMsIGNvbnN0
IENTU1NlbGVjdG9yKiBzZWxlY3RvcikKIHsKICAgICBpZiAoc2VsZWN0b3ItPm1fbWF0Y2ggPT0g
Q1NTU2VsZWN0b3I6OklkKQpAQCAtNTU3OCw0ICs1NjI3LDM2IEBAIHZvaWQgU3R5bGVSZXNvbHZl
cjo6bG9hZFBlbmRpbmdSZXNvdXJjZXMoKQogI2VuZGlmCiB9CiAKK3ZvaWQgU3R5bGVSZXNvbHZl
cjo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm88U3R5bGVSZXNvbHZlcj4gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNTUyk7CisgICAgaW5mby5h
ZGRNZW1iZXIobV9zdHlsZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9hdXRo
b3JTdHlsZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV91c2VyU3R5bGUpOwor
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fc2libGluZ1J1bGVTZXQpOworICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdW5jb21tb25BdHRyaWJ1dGVSdWxlU2V0KTsKKyAg
ICBpbmZvLmFkZEhhc2hNYXAobV9rZXlmcmFtZXNSdWxlTWFwKTsKKyAgICBpbmZvLmFkZEhhc2hN
YXAobV9tYXRjaGVkUHJvcGVydGllc0NhY2hlKTsKKyAgICBpbmZvLmFkZFZlY3RvcihtX21hdGNo
ZWRSdWxlcyk7CisKKyAgICAvLyBGSVhNRTogSW5zdHJ1bWVudCBTdGF0aWNDU1NSdWxlTGlzdCBh
bmQgYWRkIG1fcnVsZUxpc3QgaGVyZS4KKyAgICBpbmZvLmFkZEhhc2hTZXQobV9wZW5kaW5nSW1h
Z2VQcm9wZXJ0aWVzKTsKKyAgICBpbmZvLmFkZFZlY3RvcihtX3ZpZXdwb3J0RGVwZW5kZW50TWVk
aWFRdWVyeVJlc3VsdHMpOworICAgIGluZm8uYWRkSGFzaE1hcChtX3N0eWxlUnVsZVRvQ1NTT01X
cmFwcGVyTWFwKTsKKyAgICBpbmZvLmFkZEhhc2hTZXQobV9zdHlsZVNoZWV0Q1NTT01XcmFwcGVy
U2V0KTsKKyNpZiBFTkFCTEUoQ1NTX0ZJTFRFUlMpICYmIEVOQUJMRShTVkcpCisgICAgaW5mby5h
ZGRIYXNoTWFwKG1fcGVuZGluZ1NWR0RvY3VtZW50cyk7CisjZW5kaWYKKyNpZiBFTkFCTEUoU1RZ
TEVfU0NPUEVEKQorICAgIGluZm8uYWRkSGFzaE1hcChtX3Njb3BlZEF1dGhvclN0eWxlcyk7Cisg
ICAgaW5mby5hZGRWZWN0b3IobV9zY29wZVN0YWNrKTsKKyNlbmRpZgorCisgICAgLy8gRklYTUU6
IG1vdmUgdGhpcyB0byBhIHBsYWNlIHdoZXJlIGl0IHdvdWxkIGJlIGNhbGxlZCBvbmx5IG9uY2U/
CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIoZGVmYXVsdFN0eWxlKTsKKyAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihkZWZhdWx0UXVpcmtzU3R5bGUpOworICAgIGluZm8uYWRk
SW5zdHJ1bWVudGVkTWVtYmVyKGRlZmF1bHRQcmludFN0eWxlKTsKKyAgICBpbmZvLmFkZEluc3Ry
dW1lbnRlZE1lbWJlcihkZWZhdWx0Vmlld1NvdXJjZVN0eWxlKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmgKaW5kZXggMWU3NjQzODk4OTE1
NGM1NTlhM2EyYTIwMDNjOTliZmY4MjUyZGFkZS4uZjE4MWViNjBlMTkwMTZmNGQzNTlhNGY5Nzhh
NWRkMjk3NzJhNWJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCkBAIC02NSw2ICs2
NSw3IEBAIGNsYXNzIEtVUkw7CiBjbGFzcyBLZXlmcmFtZUxpc3Q7CiBjbGFzcyBLZXlmcmFtZVZh
bHVlOwogY2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvcjsKK2NsYXNzIE1lbW9yeU9iamVjdEluZm87
CiBjbGFzcyBOb2RlOwogY2xhc3MgUmVuZGVyUmVnaW9uOwogY2xhc3MgUnVsZURhdGE7CkBAIC0y
ODcsNiArMjg4LDcgQEAgcHVibGljOgogICAgICAgICB+RmVhdHVyZXMoKTsKICAgICAgICAgdm9p
ZCBhZGQoY29uc3QgU3R5bGVSZXNvbHZlcjo6RmVhdHVyZXMmKTsKICAgICAgICAgdm9pZCBjbGVh
cigpOworICAgICAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBj
b25zdDsKICAgICAgICAgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4gaWRzSW5SdWxlczsKICAg
ICAgICAgSGFzaFNldDxBdG9taWNTdHJpbmdJbXBsKj4gYXR0cnNJblJ1bGVzOwogICAgICAgICBW
ZWN0b3I8UnVsZUZlYXR1cmU+IHNpYmxpbmdSdWxlczsKQEAgLTQyMCw2ICs0MjIsOCBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIExlbmd0aCBjb252ZXJ0VG9GbG9hdExlbmd0aChDU1NQcmltaXRpdmVW
YWx1ZSosIFJlbmRlclN0eWxlKiwgUmVuZGVyU3R5bGUqIHJvb3RTdHlsZSwgZG91YmxlIG11bHRp
cGxpZXIgPSAxKTsKIAogICAgIENTU1RvU3R5bGVNYXAqIHN0eWxlTWFwKCkgeyByZXR1cm4gJm1f
c3R5bGVNYXA7IH0KKworICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byopIGNvbnN0OwogICAgIAogcHJpdmF0ZToKICAgICBzdGF0aWMgUmVuZGVyU3R5bGUqIHNfc3R5
bGVOb3RZZXRBdmFpbGFibGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBmMGIwYjY1Y2Q5
YThiNWYyMzUwZmE4ZmFiNDAzMzRmNGU2ZWJjY2FlLi4zMDAxYjIzMGRhOTE3NmVhM2JmZDI4MDlk
NWY4YzNlYjkyODI0NGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTYwNzUsNiArNjA3
NSw3IEBAIHZvaWQgRG9jdW1lbnQ6OnNldENvbnRleHRGZWF0dXJlcyhQYXNzUmVmUHRyPENvbnRl
eHRGZWF0dXJlcz4gZmVhdHVyZXMpCiB2b2lkIERvY3VtZW50OjpyZXBvcnRNZW1vcnlVc2FnZShN
ZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNs
YXNzSW5mbzxEb2N1bWVudD4gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0
cnVtZW50YXRpb246OkRPTSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9zdHls
ZVJlc29sdmVyKTsKICAgICBpbmZvLnZpc2l0QmFzZUNsYXNzPENvbnRhaW5lck5vZGU+KHRoaXMp
OwogICAgIGluZm8uYWRkVmVjdG9yKG1fY3VzdG9tRm9udHMpOwogICAgIGluZm8uYWRkU3RyaW5n
KG1fZG9jdW1lbnRVUkkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUlu
c3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL01lbW9yeUluc3RydW1lbnRhdGlv
bi5oCmluZGV4IGVhN2ZlMmVkZjFmYzY5ZWI2ODU0YTExODVlYzM5ZjM2Y2MwNzQwMzcuLjk2YzAx
Nzg4N2RkNzQ3ZTk5Nzc3YWYyMjVmYzI0ZjBiYzY2Mjc1ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9NZW1vcnlJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGljOgogCiAg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIEhhc2hNYXBUeXBlPiB2b2lkIGFkZEhhc2hNYXAoY29uc3Qg
SGFzaE1hcFR5cGUmLCBPYmplY3RUeXBlLCBib29sIGNvbnRlbnRPbmx5ID0gZmFsc2UpOwogICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBIYXNoU2V0VHlwZT4gdm9pZCBhZGRIYXNoU2V0KGNvbnN0IEhh
c2hTZXRUeXBlJiwgT2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNlKTsKLSAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgSGFzaFNldFR5cGU+IHZvaWQgYWRkSW5zdHJ1bWVudGVkSGFzaFNl
dChjb25zdCBIYXNoU2V0VHlwZSYsIE9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkgPSBmYWxz
ZSk7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIENvbGxlY3Rpb25UeXBlPiB2b2lkIGFkZEluc3Ry
dW1lbnRlZENvbGxlY3Rpb24oY29uc3QgQ29sbGVjdGlvblR5cGUmLCBPYmplY3RUeXBlLCBib29s
IGNvbnRlbnRPbmx5ID0gZmFsc2UpOwogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBMaXN0SGFzaFNl
dFR5cGU+IHZvaWQgYWRkTGlzdEhhc2hTZXQoY29uc3QgTGlzdEhhc2hTZXRUeXBlJiwgT2JqZWN0
VHlwZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNlKTsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VmVjdG9yVHlwZT4gdm9pZCBhZGRWZWN0b3IoY29uc3QgVmVjdG9yVHlwZSYsIE9iamVjdFR5cGUs
IGJvb2wgY29udGVudE9ubHkgPSBmYWxzZSk7CiAgICAgdm9pZCBhZGRSYXdCdWZmZXIoY29uc3Qg
dm9pZCogY29uc3QmIGJ1ZmZlciwgT2JqZWN0VHlwZSBvYmplY3RUeXBlLCBzaXplX3Qgc2l6ZSkK
QEAgLTIwNiw3ICsyMDYsOCBAQCBwdWJsaWM6CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSGFz
aE1hcFR5cGU+IHZvaWQgYWRkSGFzaE1hcChjb25zdCBIYXNoTWFwVHlwZSYgbWFwKSB7IG1fbWVt
b3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRIYXNoTWFwKG1hcCwgbV9vYmplY3RUeXBlLCB0cnVlKTsg
fQogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBIYXNoU2V0VHlwZT4gdm9pZCBhZGRIYXNoU2V0KGNv
bnN0IEhhc2hTZXRUeXBlJiBzZXQpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZEhhc2hT
ZXQoc2V0LCBtX29iamVjdFR5cGUsIHRydWUpOyB9Ci0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIEhh
c2hTZXRUeXBlPiB2b2lkIGFkZEluc3RydW1lbnRlZEhhc2hTZXQoY29uc3QgSGFzaFNldFR5cGUm
IHNldCkgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkSW5zdHJ1bWVudGVkSGFzaFNldChz
ZXQsIG1fb2JqZWN0VHlwZSwgdHJ1ZSk7IH0KKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSGFzaFNl
dFR5cGU+IHZvaWQgYWRkSW5zdHJ1bWVudGVkSGFzaFNldChjb25zdCBIYXNoU2V0VHlwZSYgc2V0
KSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRJbnN0cnVtZW50ZWRDb2xsZWN0aW9uKHNl
dCwgbV9vYmplY3RUeXBlLCB0cnVlKTsgfQorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBWZWN0b3JU
eXBlPiB2b2lkIGFkZEluc3RydW1lbnRlZFZlY3Rvcihjb25zdCBWZWN0b3JUeXBlJiB2ZWN0b3Ip
IHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZEluc3RydW1lbnRlZENvbGxlY3Rpb24odmVj
dG9yLCBtX29iamVjdFR5cGUsIHRydWUpOyB9CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIExpc3RI
YXNoU2V0VHlwZT4gdm9pZCBhZGRMaXN0SGFzaFNldChjb25zdCBMaXN0SGFzaFNldFR5cGUmIHNl
dCkgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkTGlzdEhhc2hTZXQoc2V0LCBtX29iamVj
dFR5cGUsIHRydWUpOyB9CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFZlY3RvclR5cGU+IHZvaWQg
YWRkVmVjdG9yKGNvbnN0IFZlY3RvclR5cGUmIHZlY3RvcikgeyBtX21lbW9yeUluc3RydW1lbnRh
dGlvbi0+YWRkVmVjdG9yKHZlY3RvciwgbV9vYmplY3RUeXBlLCB0cnVlKTsgfQogICAgIHZvaWQg
YWRkUmF3QnVmZmVyKGNvbnN0IHZvaWQqIGNvbnN0JiBidWZmZXIsIHNpemVfdCBzaXplKSB7IG1f
bWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRSYXdCdWZmZXIoYnVmZmVyLCBtX29iamVjdFR5cGUs
IHNpemUpOyB9CkBAIC0yMjMsNiArMjI0LDggQEAgcHJpdmF0ZToKIHRlbXBsYXRlPHR5cGVuYW1l
IEhhc2hNYXBUeXBlPgogdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEhhc2hNYXAoY29u
c3QgSGFzaE1hcFR5cGUmIGhhc2hNYXAsIE9iamVjdFR5cGUgb2JqZWN0VHlwZSwgYm9vbCBjb250
ZW50T25seSkKIHsKKyAgICBpZiAodmlzaXRlZCgmaGFzaE1hcCkpCisgICAgICAgIHJldHVybjsK
ICAgICBjb3VudE9iamVjdFNpemUob2JqZWN0VHlwZSwgY2FsY3VsYXRlQ29udGFpbmVyU2l6ZSho
YXNoTWFwLCBjb250ZW50T25seSkpOwogfQogCkBAIC0yMzQsMTMgKzIzNywxNCBAQCB2b2lkIE1l
bW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSGFzaFNldChjb25zdCBIYXNoU2V0VHlwZSYgaGFzaFNl
dCwgT2JqZWN0VHlwZSBvYgogICAgIGNvdW50T2JqZWN0U2l6ZShvYmplY3RUeXBlLCBjYWxjdWxh
dGVDb250YWluZXJTaXplKGhhc2hTZXQsIGNvbnRlbnRPbmx5KSk7CiB9CiAKLXRlbXBsYXRlPHR5
cGVuYW1lIEhhc2hTZXRUeXBlPgotdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEluc3Ry
dW1lbnRlZEhhc2hTZXQoY29uc3QgSGFzaFNldFR5cGUmIGhhc2hTZXQsIE9iamVjdFR5cGUgb2Jq
ZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSkKK3RlbXBsYXRlIDx0eXBlbmFtZSBDb2xsZWN0aW9u
VHlwZT4KK3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRDb2xsZWN0
aW9uKGNvbnN0IENvbGxlY3Rpb25UeXBlJiBjb2xsZWN0aW9uLCBPYmplY3RUeXBlIG9iamVjdFR5
cGUsIGJvb2wgY29udGVudE9ubHkpCiB7Ci0gICAgaWYgKHZpc2l0ZWQoJmhhc2hTZXQpKQorICAg
IGlmICh2aXNpdGVkKCZjb2xsZWN0aW9uKSkKICAgICAgICAgcmV0dXJuOwotICAgIGNvdW50T2Jq
ZWN0U2l6ZShvYmplY3RUeXBlLCBjYWxjdWxhdGVDb250YWluZXJTaXplKGhhc2hTZXQsIGNvbnRl
bnRPbmx5KSk7Ci0gICAgZm9yICh0eXBlbmFtZSBIYXNoU2V0VHlwZTo6Y29uc3RfaXRlcmF0b3Ig
aSA9IGhhc2hTZXQuYmVnaW4oKTsgaSAhPSBoYXNoU2V0LmVuZCgpOyArK2kpCisgICAgY291bnRP
YmplY3RTaXplKG9iamVjdFR5cGUsIGNhbGN1bGF0ZUNvbnRhaW5lclNpemUoY29sbGVjdGlvbiwg
Y29udGVudE9ubHkpKTsKKyAgICB0eXBlbmFtZSBDb2xsZWN0aW9uVHlwZTo6Y29uc3RfaXRlcmF0
b3IgZW5kID0gY29sbGVjdGlvbi5lbmQoKTsKKyAgICBmb3IgKHR5cGVuYW1lIENvbGxlY3Rpb25U
eXBlOjpjb25zdF9pdGVyYXRvciBpID0gY29sbGVjdGlvbi5iZWdpbigpOyBpICE9IGVuZDsgKytp
KQogICAgICAgICBhZGRJbnN0cnVtZW50ZWRNZW1iZXIoKmkpOwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>