<?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>91259</bug_id>
          
          <creation_ts>2012-07-13 09:51:46 -0700</creation_ts>
          <short_desc>Web Inspector: moving forward to the better memory instrumentation API</short_desc>
          <delta_ts>2012-07-16 05:42:24 -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>
          <dependson>91380</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>abarth</cc>
    
    <cc>alph</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jochen</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</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>669140</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-07-13 09:51:46 -0700</bug_when>
    <thetext>I&apos;m trying to remove unnecessary complexity of the API
reportInstrumentedObject and reportInstrumentedPointer will be replaced with addInstrumentedMember
The same will happen with reportPointer, reportObject pair. 
Also info.report* will be replaced with info.add*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669152</commentid>
    <comment_count>1</comment_count>
      <attachid>152283</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-07-13 09:57:34 -0700</bug_when>
    <thetext>Created attachment 152283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670246</commentid>
    <comment_count>2</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-07-16 05:00:45 -0700</bug_when>
    <thetext>Committed r122714: &lt;http://trac.webkit.org/changeset/122714&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670258</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-16 05:15:59 -0700</bug_when>
    <thetext>Re-opened since this is blocked by 91380</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670270</commentid>
    <comment_count>4</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-07-16 05:42:24 -0700</bug_when>
    <thetext>Committed r122717: &lt;http://trac.webkit.org/changeset/122717&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152283</attachid>
            <date>2012-07-13 09:57:34 -0700</date>
            <delta_ts>2012-07-13 10:25:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91259-20120713205732.patch</filename>
            <type>text/plain</type>
            <size>28799</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNTk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDZlNTM2ZTg1N2RiMjQx
MGRiZWYwYWFlZDY0ODE3Nzc4Y2I4NmQ0Ni4uY2Q2MTU2ZjY1N2M4ZmY4YzRmYzI3NjhhMDkxZjRk
M2I4NWUwZTc0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcwIEBACisyMDEyLTA3LTEzICBJbHlh
IFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBtb3ZpbmcgZm9yd2FyZCB0byB0aGUgYmV0dGVyIG1lbW9yeSBpbnN0cnVtZW50YXRpb24g
QVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MTI1
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEknbSB0
cnlpbmcgdG8gcmVtb3ZlIHVubmVjZXNzYXJ5IGNvbXBsZXhpdHkgb2YgdGhlIEFQSQorICAgICAg
ICByZXBvcnRJbnN0cnVtZW50ZWRPYmplY3QgYW5kIHJlcG9ydEluc3RydW1lbnRlZFBvaW50ZXIg
d2lsbCBiZSByZXBsYWNlZCB3aXRoIGFkZEluc3RydW1lbnRlZE1lbWJlcgorICAgICAgICBUaGUg
c2FtZSB3aWxsIGhhcHBlbiB3aXRoIHJlcG9ydFBvaW50ZXIsIHJlcG9ydE9iamVjdCBwYWlyLgor
ICAgICAgICBBbHNvIGluZm8ucmVwb3J0KiB3aWxsIGJlIHJlcGxhY2VkIHdpdGggaW5mby5hZGQq
CisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRXcmFwcGFibGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L0RPTURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01EYXRhU3Rv
cmU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9JbnRydXNpdmVE
T01XcmFwcGVyTWFwLmg6CisgICAgICAgIChXZWJDb3JlOjpDaHVua2VkVGFibGU6OnJlcG9ydE1l
bW9yeVVzYWdlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTY3JpcHRQcm9maWxlcjo6Y29sbGVjdEJpbmRpbmdNZW1vcnlJbmZv
KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRXcmFwcGFibGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjcmlwdFdyYXBwYWJsZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1Y4QmluZGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOEJpbmRpbmdQZXJJ
c29sYXRlRGF0YTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2ViQ29yZTo6U3RyaW5n
Q2FjaGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOERPTU1h
cC5oOgorICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnR5U2V0Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVByb3BlcnR5U2V0OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogZG9tL0No
YXJhY3RlckRhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2hhcmFjdGVyRGF0YTo6cmVwb3J0
TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDb250YWluZXJOb2RlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogZG9t
L0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZXBvcnRNZW1vcnlV
c2FnZSk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBkb20vRWxlbWVudEF0dHJpYnV0ZURh
dGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRBdHRyaWJ1dGVEYXRhOjpyZXBvcnRNZW1v
cnlVc2FnZSk6CisgICAgICAgICogZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5oOgorICAgICAg
ICAoV2ViQ29yZTo6TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRJbnN0cnVtZW50ZWRNZW1iZXIp
OgorICAgICAgICAoTWVtb3J5SW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeUluc3RydW1lbnRhdGlvbjo6YWRkTWVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9y
eUluc3RydW1lbnRhdGlvbjo6T3duaW5nVHJhaXRzOjphZGRJbnN0cnVtZW50ZWRNZW1iZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6TWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpPd25pbmdUcmFpdHM6OmFk
ZE1lbWJlcik6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZElu
c3RydW1lbnRlZE1lbWJlckltcGwpOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjphZGRNZW1iZXJJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNsYXNzSW5m
bzo6YWRkSW5zdHJ1bWVudGVkTWVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNsYXNz
SW5mbzo6YWRkTWVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNsYXNzSW5mbzo6YWRk
SGFzaE1hcCk6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDbGFzc0luZm86OmFkZEhhc2hTZXQp
OgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5Q2xhc3NJbmZvOjphZGRMaXN0SGFzaFNldCk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZW1vcnlDbGFzc0luZm86OmFkZFZlY3Rvcik6CisgICAgICAgIChX
ZWJDb3JlOjpNZW1vcnlDbGFzc0luZm86OmFkZFN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjpN
ZW1vcnlJbnN0cnVtZW50YXRpb246OmFkZEhhc2hNYXApOgorICAgICAgICAoV2ViQ29yZTo6TWVt
b3J5SW5zdHJ1bWVudGF0aW9uOjphZGRIYXNoU2V0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9y
eUluc3RydW1lbnRhdGlvbjo6YWRkTGlzdEhhc2hTZXQpOgorICAgICAgICAoV2ViQ29yZTo6TWVt
b3J5SW5zdHJ1bWVudGF0aW9uOjphZGRWZWN0b3IpOgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBk
b20vUXVhbGlmaWVkTmFtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UXVhbGlmaWVkTmFtZTo6UXVh
bGlmaWVkTmFtZUltcGw6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlF1
YWxpZmllZE5hbWU6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yTWVtb3J5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxh
dGZvcm0vVHJlZVNoYXJlZC5oOgorICAgICAgICAoV2ViQ29yZTo6VHJlZVNoYXJlZDo6cmVwb3J0
TWVtb3J5VXNhZ2UpOgorCiAyMDEyLTA3LTEzICBMYXVybyBOZXRvICA8bGF1cm8ubmV0b0BvcGVu
Ym9zc2Eub3JnPgogCiAgICAgICAgIEZpeCBRdFdlYktpdCBidWlsZCB3aXRoIE9wZW5HTEVTIGFm
dGVyIEdDM0QvRTNEIHJlZmFjdG9yCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRXcmFwcGFibGUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dFdyYXBwYWJsZS5oCmluZGV4IDk0Nzc5NGRjMmY0ZDRhMjBhMjUxNjdiYTYyZmFkN2I4YTQyY2My
YmMuLjNjYjVkODE2YzExMWI4MDdmYTA2OTdhNjdjZDlmOWE5NjQyZDA1ZTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFdyYXBwYWJsZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdFdyYXBwYWJsZS5oCkBAIC01Nyw3ICs1Nyw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgewogICAgICAgICBNZW1vcnlDbGFzc0luZm88U2Ny
aXB0V3JhcHBhYmxlPiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1l
bnRhdGlvbjo6RE9NKTsKLSAgICAgICAgaW5mby5yZXBvcnRPYmplY3QobV93cmFwcGVyKTsKKyAg
ICAgICAgaW5mby5hZGRNZW1iZXIobV93cmFwcGVyKTsKICAgICB9CiAKIHByaXZhdGU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9ET01EYXRhU3RvcmUuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRE9NRGF0YVN0b3JlLmNwcAppbmRleCAwMjFhN2M4MTE5
MTNiZTM4MDBkY2M1MzU5N2IwMTJlYTcxN2E3NmRlLi43ZmI4YjA0MmRhMDZmMmY2MGMxYmU1ZWQy
NmI5NWRmNTU3YWU1ZmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9E
T01EYXRhU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RPTURhdGFT
dG9yZS5jcHAKQEAgLTEyMiwxMCArMTIyLDEwIEBAIHZvaWQqIERPTURhdGFTdG9yZTo6Z2V0RE9N
V3JhcHBlck1hcChET01XcmFwcGVyTWFwVHlwZSB0eXBlKQogdm9pZCBET01EYXRhU3RvcmU6OnJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0
CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvPERPTURhdGFTdG9yZT4gaW5mbyhtZW1vcnlPYmplY3RJ
bmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkJpbmRpbmcpOwotICAgIGluZm8ucmVw
b3J0SW5zdHJ1bWVudGVkUG9pbnRlcihtX2RvbU5vZGVNYXApOwotICAgIGluZm8ucmVwb3J0SW5z
dHJ1bWVudGVkUG9pbnRlcihtX2FjdGl2ZURvbU5vZGVNYXApOwotICAgIGluZm8ucmVwb3J0SW5z
dHJ1bWVudGVkUG9pbnRlcihtX2RvbU9iamVjdE1hcCk7Ci0gICAgaW5mby5yZXBvcnRJbnN0cnVt
ZW50ZWRQb2ludGVyKG1fYWN0aXZlRG9tT2JqZWN0TWFwKTsKKyAgICBpbmZvLmFkZEluc3RydW1l
bnRlZE1lbWJlcihtX2RvbU5vZGVNYXApOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVy
KG1fYWN0aXZlRG9tTm9kZU1hcCk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9k
b21PYmplY3RNYXApOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fYWN0aXZlRG9t
T2JqZWN0TWFwKTsKIH0KIAogLy8gQ2FsbGVkIHdoZW4gdGhlIG9iamVjdCBpcyBuZWFyIGRlYXRo
IChub3QgcmVhY2hhYmxlIGZyb20gSlMgcm9vdHMpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvSW50cnVzaXZlRE9NV3JhcHBlck1hcC5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvSW50cnVzaXZlRE9NV3JhcHBlck1hcC5oCmluZGV4IGUwNzI4YzI5NWJjZTc4
YjlmNWJlY2M2NDQ2Y2YzZGY4MWVhMWM2MDMuLjEyMDBkMTIzYzQ0N2MwODQzM2MyNzcxZDBlNWRi
N2Y1ZWJjZTM2ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0ludHJ1
c2l2ZURPTVdyYXBwZXJNYXAuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JbnRy
dXNpdmVET01XcmFwcGVyTWFwLmgKQEAgLTEwNiw3ICsxMDYsNyBAQCBjbGFzcyBDaHVua2VkVGFi
bGUgewogICAgIHsKICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvPENodW5rZWRUYWJsZT4gaW5mbyht
ZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkJpbmRpbmcpOwog
ICAgICAgICBmb3IgKENodW5rKiBjaHVuayA9IG1fY2h1bmtzOyBjaHVuazsgY2h1bmsgPSBjaHVu
ay0+bV9wcmV2aW91cykKLSAgICAgICAgICAgIGluZm8ucmVwb3J0UG9pbnRlcihjaHVuayk7Cisg
ICAgICAgICAgICBpbmZvLmFkZE1lbWJlcihjaHVuayk7CiAgICAgfQogCiAgIHByaXZhdGU6CkBA
IC0xODcsNyArMTg3LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdCBPVkVSUklERQog
ICAgIHsKICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvPEludHJ1c2l2ZURPTVdyYXBwZXJNYXA+IGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpCaW5kaW5n
KTsKLSAgICAgICAgaW5mby5yZXBvcnRJbnN0cnVtZW50ZWRPYmplY3QobV90YWJsZSk7CisgICAg
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdGFibGUpOwogICAgIH0KIAogcHJpdmF0
ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmNwcAppbmRl
eCAwN2YwMzllN2M1ZTdkYjNmN2NkOGNjYTcwMzZhNTk2YmQxYzU2NTFlLi5hMjY4ZjM5YWVlOTZh
ZWY0MjkzN2QyMDNiNmUxODFkM2FlNjQ1ZDZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0UHJvZmlsZXIuY3BwCkBAIC0yMjMsNyArMjIzLDcgQEAgdm9pZCBTY3JpcHRQ
cm9maWxlcjo6dmlzaXRFeHRlcm5hbEFycmF5cyhFeHRlcm5hbEFycmF5VmlzaXRvciogdmlzaXRv
cikKIHZvaWQgU2NyaXB0UHJvZmlsZXI6OmNvbGxlY3RCaW5kaW5nTWVtb3J5SW5mbyhNZW1vcnlJ
bnN0cnVtZW50YXRpb24qIGluc3RydW1lbnRhdGlvbikKIHsKICAgICBWOEJpbmRpbmdQZXJJc29s
YXRlRGF0YSogZGF0YSA9IFY4QmluZGluZ1Blcklzb2xhdGVEYXRhOjpjdXJyZW50KCk7Ci0gICAg
aW5zdHJ1bWVudGF0aW9uLT5yZXBvcnRJbnN0cnVtZW50ZWRQb2ludGVyKGRhdGEpOworICAgIGlu
c3RydW1lbnRhdGlvbi0+YWRkSW5zdHJ1bWVudGVkTWVtYmVyKGRhdGEpOwogfQogCiBzaXplX3Qg
U2NyaXB0UHJvZmlsZXI6OnByb2ZpbGVyU25hcHNob3RzU2l6ZSgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRXcmFwcGFibGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdFdyYXBwYWJsZS5oCmluZGV4IDhmMGJjZGJkOGY2NDQxOGUwOTY4
N2I0OGJmZGI0MGNjZGI2OWQxNmMuLmVmMmY3NjE5ZjI0NTExMDY1N2M3YWUwYTViYTAyZWRjMDRk
NmZmNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFdyYXBw
YWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFdyYXBwYWJsZS5o
CkBAIC01NSw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1l
bW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgewogICAgICAgICBN
ZW1vcnlDbGFzc0luZm88U2NyaXB0V3JhcHBhYmxlPiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKLSAgICAgICAgaW5mby5yZXBvcnRQb2lu
dGVyKG1fd3JhcHBlcik7CisgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fd3JhcHBlcik7CiAgICAg
fQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhC
aW5kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHAKaW5k
ZXggNGM3NjYyMWM5MDRjZGQ3NDFiYjNmOWU3NTQzMWFjZDNhMmVhMDk0MC4uZDI4MmIwZGJlZjc4
Njk5MzQyNWI5ZDc2YjA3N2EzM2QwMzZhY2YxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOEJpbmRpbmcuY3BwCkBAIC05MywxMyArOTMsMTMgQEAgdm9pZCBWOEJpbmRpbmdQZXJJc29s
YXRlRGF0YTo6ZGlzcG9zZSh2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHZvaWQgVjhCaW5kaW5nUGVy
SXNvbGF0ZURhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvPFY4QmluZGluZ1Blcklzb2xh
dGVEYXRhPiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlv
bjo6QmluZGluZyk7Ci0gICAgaW5mby5yZXBvcnRIYXNoTWFwKG1fcmF3VGVtcGxhdGVzKTsKLSAg
ICBpbmZvLnJlcG9ydEhhc2hNYXAobV90ZW1wbGF0ZXMpOwotICAgIGluZm8ucmVwb3J0SW5zdHJ1
bWVudGVkT2JqZWN0KG1fc3RyaW5nQ2FjaGUpOwotICAgIGluZm8ucmVwb3J0VmVjdG9yKG1fZG9t
RGF0YUxpc3QpOworICAgIGluZm8uYWRkSGFzaE1hcChtX3Jhd1RlbXBsYXRlcyk7CisgICAgaW5m
by5hZGRIYXNoTWFwKG1fdGVtcGxhdGVzKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJl
cihtX3N0cmluZ0NhY2hlKTsKKyAgICBpbmZvLmFkZFZlY3RvcihtX2RvbURhdGFMaXN0KTsKIAog
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9kb21EYXRhTGlzdC5zaXplKCk7IGkrKykKLSAg
ICAgICAgaW5mby5yZXBvcnRJbnN0cnVtZW50ZWRQb2ludGVyKG1fZG9tRGF0YUxpc3RbaV0pOwor
ICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2RvbURhdGFMaXN0W2ldKTsKIH0K
IAogLy8gV2ViQ29yZVN0cmluZ1Jlc291cmNlIGlzIGEgaGVscGVyIGNsYXNzIGZvciB2OEV4dGVy
bmFsU3RyaW5nLiBJdCBpcyB1c2VkCkBAIC01OTEsNyArNTkxLDcgQEAgdjg6OlBlcnNpc3RlbnQ8
djg6OkZ1bmN0aW9uVGVtcGxhdGU+IGdldFRvU3RyaW5nVGVtcGxhdGUoKQogdm9pZCBTdHJpbmdD
YWNoZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QKIHsKICAgICBNZW1vcnlDbGFzc0luZm88U3RyaW5nQ2FjaGU+IGluZm8obWVtb3J5
T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpCaW5kaW5nKTsKLSAgICBp
bmZvLnJlcG9ydEhhc2hNYXAobV9zdHJpbmdDYWNoZSk7CisgICAgaW5mby5hZGRIYXNoTWFwKG1f
c3RyaW5nQ2FjaGUpOwogfQogICAgIAogUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiB2OFZhbHVl
VG9XZWJDb3JlRE9NU3RyaW5nTGlzdCh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5oIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhET01NYXAuaAppbmRleCBhYTE5MDE3MDIwN2IwN2QxMjEzNTA0
Mjk3ZTUxMzhlY2Y1NjE2ZTRiLi40ZGUzNTU4NWRkMGNiZDc1ZWVlMTIzMTMwYWUxYWZhMTBjZWVh
OTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTU1hcC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NTWFwLmgKQEAgLTEzNyw3ICsxMzcs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1v
cnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdCBPVkVSUklE
RQogICAgICAgICB7CiAgICAgICAgICAgICBNZW1vcnlDbGFzc0luZm88V2Vha1JlZmVyZW5jZU1h
cDxLZXlUeXBlLCBWYWx1ZVR5cGU+ID4gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBNZW1v
cnlJbnN0cnVtZW50YXRpb246OkJpbmRpbmcpOwotICAgICAgICAgICAgaW5mby5yZXBvcnRIYXNo
TWFwKG1fbWFwKTsKKyAgICAgICAgICAgIGluZm8uYWRkSGFzaE1hcChtX21hcCk7CiAgICAgICAg
IH0KIAogICAgIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVByb3BlcnR5U2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNldC5oCmlu
ZGV4IGRhNTAxM2QxMGQwYTZlYjAxYzVmYTg1MGIyMDZkMGE3OTM5MWRmOWQuLmYyYmM1NDRlOTFl
NmMzZGFmZjliOTE3ZjUwMzM3NGNhMzMyODZiY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVByb3BlcnR5U2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJv
cGVydHlTZXQuaApAQCAtMTIwLDcgKzEyMCw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIE1l
bW9yeUNsYXNzSW5mbzxTdHlsZVByb3BlcnR5U2V0PiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q1NTKTsKICAgICAgICAgaWYgKG1faXNNdXRhYmxl
KQotICAgICAgICAgICAgaW5mby5yZXBvcnRQb2ludGVyKG1fbXV0YWJsZVByb3BlcnR5VmVjdG9y
KTsKKyAgICAgICAgICAgIGluZm8uYWRkTWVtYmVyKG1fbXV0YWJsZVByb3BlcnR5VmVjdG9yKTsK
ICAgICB9CiAKICAgICB2b2lkIGFkb3B0Q1NTT01XcmFwcGVyRnJvbShTdHlsZVByb3BlcnR5U2V0
Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vQ2hhcmFjdGVyRGF0YS5jcHAKaW5kZXggMzk1ZWZmYTJkNzY4YTc4
ODdhMjk1ZTQ1N2FkNjkxMmNjY2IyYWMyZS4uYWYxZDhmZWQ0Y2Y1YmI3NjJhNmI5ODdkNDM3ODJm
ZDIyZTkwZWZmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0NoYXJhY3RlckRhdGEu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DaGFyYWN0ZXJEYXRhLmNwcApAQCAtOTYsNyAr
OTYsNyBAQCB2b2lkIENoYXJhY3RlckRhdGE6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvPENo
YXJhY3RlckRhdGE+IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjpET00pOwogICAgIGluZm8udmlzaXRCYXNlQ2xhc3M8Tm9kZT4odGhpcyk7Ci0gICAg
aW5mby5yZXBvcnRTdHJpbmcobV9kYXRhKTsKKyAgICBpbmZvLmFkZFN0cmluZyhtX2RhdGEpOwog
fQogCiB2b2lkIENoYXJhY3RlckRhdGE6OmFwcGVuZERhdGEoY29uc3QgU3RyaW5nJiBkYXRhLCBF
eGNlcHRpb25Db2RlJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJO
b2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCmluZGV4IGZjMjc1MWU5
ZGMwOTU1OGE2ZDBmYTAxMTg4NGNmNWJiMTFmZGJiNjcuLjlhYmFmMjM3M2MwYTkwYjAzY2JhMjIy
MmM5NWFiMTg5ZGI3YzJlN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWlu
ZXJOb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaApAQCAtMTAz
LDggKzEwMyw4IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIE1lbW9yeUNsYXNzSW5mbzxDb250
YWluZXJOb2RlPiBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRh
dGlvbjo6RE9NKTsKICAgICAgICAgaW5mby52aXNpdEJhc2VDbGFzczxOb2RlPih0aGlzKTsKLSAg
ICAgICAgaW5mby5yZXBvcnRJbnN0cnVtZW50ZWRQb2ludGVyKG1fZmlyc3RDaGlsZCk7Ci0gICAg
ICAgIGluZm8ucmVwb3J0SW5zdHJ1bWVudGVkUG9pbnRlcihtX2xhc3RDaGlsZCk7CisgICAgICAg
IGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZmlyc3RDaGlsZCk7CisgICAgICAgIGluZm8u
YWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbGFzdENoaWxkKTsKICAgICB9CiAKIHByb3RlY3RlZDoK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGQ3YmMzMjg3YWI0YmVkMDFhZTIxMmRhMGEzZDk3
OGI5MTlkMzNjNDMuLmQxNWFjYWJjZmI1YjU5NTBlOTc1MDFjM2RiMTRjNWFmNmU0M2ZlYTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNjA3NywzNiArNjA3NywzNiBAQCB2b2lkIERvY3Vt
ZW50OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbzxEb2N1bWVudD4gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRPTSk7CiAgICAgaW5mby52aXNp
dEJhc2VDbGFzczxDb250YWluZXJOb2RlPih0aGlzKTsKLSAgICBpbmZvLnJlcG9ydFZlY3Rvciht
X2N1c3RvbUZvbnRzKTsKLSAgICBpbmZvLnJlcG9ydFN0cmluZyhtX2RvY3VtZW50VVJJKTsKLSAg
ICBpbmZvLnJlcG9ydFN0cmluZyhtX2Jhc2VUYXJnZXQpOworICAgIGluZm8uYWRkVmVjdG9yKG1f
Y3VzdG9tRm9udHMpOworICAgIGluZm8uYWRkU3RyaW5nKG1fZG9jdW1lbnRVUkkpOworICAgIGlu
Zm8uYWRkU3RyaW5nKG1fYmFzZVRhcmdldCk7CiAgICAgaWYgKG1fcGFnZUdyb3VwVXNlclNoZWV0
cykKLSAgICAgICAgaW5mby5yZXBvcnRWZWN0b3IoKm1fcGFnZUdyb3VwVXNlclNoZWV0cy5nZXQo
KSk7CisgICAgICAgIGluZm8uYWRkVmVjdG9yKCptX3BhZ2VHcm91cFVzZXJTaGVldHMuZ2V0KCkp
OwogICAgIGlmIChtX3VzZXJTaGVldHMpCi0gICAgICAgIGluZm8ucmVwb3J0VmVjdG9yKCptX3Vz
ZXJTaGVldHMuZ2V0KCkpOwotICAgIGluZm8ucmVwb3J0SGFzaFNldChtX25vZGVJdGVyYXRvcnMp
OwotICAgIGluZm8ucmVwb3J0SGFzaFNldChtX3Jhbmdlcyk7Ci0gICAgaW5mby5yZXBvcnRMaXN0
SGFzaFNldChtX3N0eWxlU2hlZXRDYW5kaWRhdGVOb2Rlcyk7Ci0gICAgaW5mby5yZXBvcnRTdHJp
bmcobV9wcmVmZXJyZWRTdHlsZXNoZWV0U2V0KTsKLSAgICBpbmZvLnJlcG9ydFN0cmluZyhtX3Nl
bGVjdGVkU3R5bGVzaGVldFNldCk7Ci0gICAgaW5mby5yZXBvcnRTdHJpbmcobV90aXRsZS5zdHJp
bmcoKSk7Ci0gICAgaW5mby5yZXBvcnRTdHJpbmcobV9yYXdUaXRsZS5zdHJpbmcoKSk7Ci0gICAg
aW5mby5yZXBvcnRTdHJpbmcobV94bWxFbmNvZGluZyk7Ci0gICAgaW5mby5yZXBvcnRTdHJpbmco
bV94bWxWZXJzaW9uKTsKLSAgICBpbmZvLnJlcG9ydFN0cmluZyhtX2NvbnRlbnRMYW5ndWFnZSk7
Ci0gICAgaW5mby5yZXBvcnRIYXNoTWFwKG1fZG9jdW1lbnROYW1lZEl0ZW1Db2xsZWN0aW9ucyk7
Ci0gICAgaW5mby5yZXBvcnRIYXNoTWFwKG1fd2luZG93TmFtZWRJdGVtQ29sbGVjdGlvbnMpOwor
ICAgICAgICBpbmZvLmFkZFZlY3RvcigqbV91c2VyU2hlZXRzLmdldCgpKTsKKyAgICBpbmZvLmFk
ZEhhc2hTZXQobV9ub2RlSXRlcmF0b3JzKTsKKyAgICBpbmZvLmFkZEhhc2hTZXQobV9yYW5nZXMp
OworICAgIGluZm8uYWRkTGlzdEhhc2hTZXQobV9zdHlsZVNoZWV0Q2FuZGlkYXRlTm9kZXMpOwor
ICAgIGluZm8uYWRkU3RyaW5nKG1fcHJlZmVycmVkU3R5bGVzaGVldFNldCk7CisgICAgaW5mby5h
ZGRTdHJpbmcobV9zZWxlY3RlZFN0eWxlc2hlZXRTZXQpOworICAgIGluZm8uYWRkU3RyaW5nKG1f
dGl0bGUuc3RyaW5nKCkpOworICAgIGluZm8uYWRkU3RyaW5nKG1fcmF3VGl0bGUuc3RyaW5nKCkp
OworICAgIGluZm8uYWRkU3RyaW5nKG1feG1sRW5jb2RpbmcpOworICAgIGluZm8uYWRkU3RyaW5n
KG1feG1sVmVyc2lvbik7CisgICAgaW5mby5hZGRTdHJpbmcobV9jb250ZW50TGFuZ3VhZ2UpOwor
ICAgIGluZm8uYWRkSGFzaE1hcChtX2RvY3VtZW50TmFtZWRJdGVtQ29sbGVjdGlvbnMpOworICAg
IGluZm8uYWRkSGFzaE1hcChtX3dpbmRvd05hbWVkSXRlbUNvbGxlY3Rpb25zKTsKICNpZiBFTkFC
TEUoREFTSEJPQVJEX1NVUFBPUlQpCi0gICAgaW5mby5yZXBvcnRWZWN0b3IobV9kYXNoYm9hcmRS
ZWdpb25zKTsKKyAgICBpbmZvLmFkZFZlY3RvcihtX2Rhc2hib2FyZFJlZ2lvbnMpOwogI2VuZGlm
Ci0gICAgaW5mby5yZXBvcnRIYXNoTWFwKG1fY3NzQ2FudmFzRWxlbWVudHMpOwotICAgIGluZm8u
cmVwb3J0VmVjdG9yKG1faWNvblVSTHMpOwotICAgIGluZm8ucmVwb3J0SGFzaFNldChtX2RvY3Vt
ZW50U3VzcGVuc2lvbkNhbGxiYWNrRWxlbWVudHMpOwotICAgIGluZm8ucmVwb3J0SGFzaFNldCht
X21lZGlhVm9sdW1lQ2FsbGJhY2tFbGVtZW50cyk7Ci0gICAgaW5mby5yZXBvcnRIYXNoU2V0KG1f
cHJpdmF0ZUJyb3dzaW5nU3RhdGVDaGFuZ2VkRWxlbWVudHMpOwotICAgIGluZm8ucmVwb3J0SGFz
aE1hcChtX2VsZW1lbnRzQnlBY2Nlc3NLZXkpOwotICAgIGluZm8ucmVwb3J0SGFzaFNldChtX21l
ZGlhQ2FuU3RhcnRMaXN0ZW5lcnMpOwotICAgIGluZm8ucmVwb3J0VmVjdG9yKG1fcGVuZGluZ1Rh
c2tzKTsKKyAgICBpbmZvLmFkZEhhc2hNYXAobV9jc3NDYW52YXNFbGVtZW50cyk7CisgICAgaW5m
by5hZGRWZWN0b3IobV9pY29uVVJMcyk7CisgICAgaW5mby5hZGRIYXNoU2V0KG1fZG9jdW1lbnRT
dXNwZW5zaW9uQ2FsbGJhY2tFbGVtZW50cyk7CisgICAgaW5mby5hZGRIYXNoU2V0KG1fbWVkaWFW
b2x1bWVDYWxsYmFja0VsZW1lbnRzKTsKKyAgICBpbmZvLmFkZEhhc2hTZXQobV9wcml2YXRlQnJv
d3NpbmdTdGF0ZUNoYW5nZWRFbGVtZW50cyk7CisgICAgaW5mby5hZGRIYXNoTWFwKG1fZWxlbWVu
dHNCeUFjY2Vzc0tleSk7CisgICAgaW5mby5hZGRIYXNoU2V0KG1fbWVkaWFDYW5TdGFydExpc3Rl
bmVycyk7CisgICAgaW5mby5hZGRWZWN0b3IobV9wZW5kaW5nVGFza3MpOwogfQogCiAjaWYgRU5B
QkxFKFVORE9fTUFOQUdFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDU2N2Y5M2VmZjJiODU1Mzhl
NzU0ODdlZDk5MjgzNmM5YmFkZWM4YjEuLmJkNTVmNDBiZDJmZjhjYTcxYmM1MmI1ZDAzNDc2Yjgy
NzUzOTI4OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtNDMyLDggKzQzMiw4IEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgICAgIE1lbW9yeUNsYXNzSW5mbzxFbGVtZW50PiBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKICAgICAgICAgaW5mby52
aXNpdEJhc2VDbGFzczxDb250YWluZXJOb2RlPih0aGlzKTsKLSAgICAgICAgaW5mby5yZXBvcnRJ
bnN0cnVtZW50ZWRPYmplY3QobV90YWdOYW1lKTsKLSAgICAgICAgaW5mby5yZXBvcnRJbnN0cnVt
ZW50ZWRQb2ludGVyKG1fYXR0cmlidXRlRGF0YS5nZXQoKSk7CisgICAgICAgIGluZm8uYWRkSW5z
dHJ1bWVudGVkTWVtYmVyKG1fdGFnTmFtZSk7CisgICAgICAgIGluZm8uYWRkSW5zdHJ1bWVudGVk
TWVtYmVyKG1fYXR0cmlidXRlRGF0YS5nZXQoKSk7CiAgICAgfQogCiBwcm90ZWN0ZWQ6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5oCmluZGV4IGZhZDU1ZjliNzVjNWVh
ZGFjMTU1NjdhOTFjOWI4ODBhNTE3OTY5ZGEuLmQ1ZTAwNjdkMzEzMjdkOGM3ZTNjMjA1NmM1ODI3
OGY0ZGJiY2YwMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmli
dXRlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5o
CkBAIC0xMDUsMTIgKzEwNSwxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgIHsKICAgICAg
ICAgTWVtb3J5Q2xhc3NJbmZvPEVsZW1lbnRBdHRyaWJ1dGVEYXRhPiBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKLSAgICAgICAgaW5mby5y
ZXBvcnRJbnN0cnVtZW50ZWRQb2ludGVyKG1faW5saW5lU3R5bGVEZWNsLmdldCgpKTsKLSAgICAg
ICAgaW5mby5yZXBvcnRJbnN0cnVtZW50ZWRQb2ludGVyKG1fYXR0cmlidXRlU3R5bGUuZ2V0KCkp
OwotICAgICAgICBpbmZvLnJlcG9ydE9iamVjdChtX2NsYXNzTmFtZXMpOwotICAgICAgICBpbmZv
LnJlcG9ydE9iamVjdChtX2lkRm9yU3R5bGVSZXNvbHV0aW9uKTsKKyAgICAgICAgaW5mby5hZGRJ
bnN0cnVtZW50ZWRNZW1iZXIobV9pbmxpbmVTdHlsZURlY2wuZ2V0KCkpOworICAgICAgICBpbmZv
LmFkZEluc3RydW1lbnRlZE1lbWJlcihtX2F0dHJpYnV0ZVN0eWxlLmdldCgpKTsKKyAgICAgICAg
aW5mby5hZGRNZW1iZXIobV9jbGFzc05hbWVzKTsKKyAgICAgICAgaW5mby5hZGRNZW1iZXIobV9p
ZEZvclN0eWxlUmVzb2x1dGlvbik7CiAgICAgICAgIGlmIChtX2lzTXV0YWJsZSkKLSAgICAgICAg
ICAgIGluZm8ucmVwb3J0UG9pbnRlcihtX211dGFibGVBdHRyaWJ1dGVWZWN0b3IpOworICAgICAg
ICAgICAgaW5mby5hZGRNZW1iZXIobV9tdXRhYmxlQXR0cmlidXRlVmVjdG9yKTsKICAgICB9CiAK
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgKaW5k
ZXggZDZmMTEzYjNhM2YwMjZiMjlmY2UxYWJmYzY5OTNmODg2ZmY2ZGQzNC4uMDJmYTZmMzEzN2E3
MTEyNDRmOTgwMWRiM2ZkYzgyMTE5MzMwNzAzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL01lbW9yeUluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9NZW1v
cnlJbnN0cnVtZW50YXRpb24uaApAQCAtNTIsMjEgKzUyLDYxIEBAIHB1YmxpYzoKICAgICAgICAg
TGFzdFR5cGVFbnRyeQogICAgIH07CiAKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBy
ZXBvcnRJbnN0cnVtZW50ZWRPYmplY3QoY29uc3QgVCYpOwotICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUPiB2b2lkIHJlcG9ydE9iamVjdChjb25zdCBUJikgeyB9Ci0gICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFQ+IHZvaWQgcmVwb3J0SW5zdHJ1bWVudGVkUG9pbnRlcihjb25zdCBUKik7Ci0gICAgdGVt
cGxhdGUgPHR5cGVuYW1lIFQ+IHZvaWQgcmVwb3J0UG9pbnRlcihjb25zdCBUKiBvYmplY3QsIE9i
amVjdFR5cGUgb2JqZWN0VHlwZSkKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdm9pZCBhZGRJ
bnN0cnVtZW50ZWRNZW1iZXIoY29uc3QgVCYgdCkKKyAgICB7CisgICAgICAgIE93bmluZ1RyYWl0
czxUPjo6YWRkSW5zdHJ1bWVudGVkTWVtYmVyKHRoaXMsIHQpOworICAgIH0KKworICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBUPiB2b2lkIGFkZE1lbWJlcihjb25zdCBUJiB0LCBPYmplY3RUeXBlIG9i
amVjdFR5cGUpCisgICAgeworICAgICAgICBPd25pbmdUcmFpdHM8VD46OmFkZE1lbWJlcih0aGlz
LCB0LCBvYmplY3RUeXBlKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSGFzaE1h
cFR5cGU+IHZvaWQgYWRkSGFzaE1hcChjb25zdCBIYXNoTWFwVHlwZSYsIE9iamVjdFR5cGUsIGJv
b2wgY29udGVudE9ubHkgPSBmYWxzZSk7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEhhc2hTZXRU
eXBlPiB2b2lkIGFkZEhhc2hTZXQoY29uc3QgSGFzaFNldFR5cGUmLCBPYmplY3RUeXBlLCBib29s
IGNvbnRlbnRPbmx5ID0gZmFsc2UpOworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBMaXN0SGFzaFNl
dFR5cGU+IHZvaWQgYWRkTGlzdEhhc2hTZXQoY29uc3QgTGlzdEhhc2hTZXRUeXBlJiwgT2JqZWN0
VHlwZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNlKTsKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VmVjdG9yVHlwZT4gdm9pZCBhZGRWZWN0b3IoY29uc3QgVmVjdG9yVHlwZSYsIE9iamVjdFR5cGUs
IGJvb2wgY29udGVudE9ubHkgPSBmYWxzZSk7CisKK3Byb3RlY3RlZDoKKyAgICBlbnVtIE93bmlu
Z1R5cGUgeworICAgICAgICBieVBvaW50ZXIsCisgICAgICAgIGJ5UmVmZXJlbmNlCisgICAgfTsK
KworICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgorICAgIHN0cnVjdCBPd25pbmdUcmFpdHMgeyAv
LyBEZWZhdWx0IGJ5UmVmZXJlbmNlIGltcGxlbWVudGF0aW9uLgorICAgICAgICBzdGF0aWMgdm9p
ZCBhZGRJbnN0cnVtZW50ZWRNZW1iZXIoTWVtb3J5SW5zdHJ1bWVudGF0aW9uKiBpbnN0cnVtZW50
YXRpb24sIGNvbnN0IFQmIHQpIHsgaW5zdHJ1bWVudGF0aW9uLT5hZGRJbnN0cnVtZW50ZWRNZW1i
ZXJJbXBsKCZ0LCBieVJlZmVyZW5jZSk7IH0KKyAgICAgICAgc3RhdGljIHZvaWQgYWRkTWVtYmVy
KE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVudGF0aW9uLCBjb25zdCBUJiB0LCBNZW1v
cnlJbnN0cnVtZW50YXRpb246Ok9iamVjdFR5cGUgb2JqZWN0VHlwZSkgeyBpbnN0cnVtZW50YXRp
b24tPmFkZE1lbWJlckltcGwoJnQsIG9iamVjdFR5cGUsIGJ5UmVmZXJlbmNlKTsgfQorICAgIH07
CisKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKyAgICBzdHJ1Y3QgT3duaW5nVHJhaXRzPFQq
PiB7IC8vIEN1c3RvbSBieVBvaW50ZXIgaW1wbGVtZW50YXRpb24uCisgICAgICAgIHN0YXRpYyB2
b2lkIGFkZEluc3RydW1lbnRlZE1lbWJlcihNZW1vcnlJbnN0cnVtZW50YXRpb24qIGluc3RydW1l
bnRhdGlvbiwgY29uc3QgVCogY29uc3QmIHQpIHsgaW5zdHJ1bWVudGF0aW9uLT5hZGRJbnN0cnVt
ZW50ZWRNZW1iZXJJbXBsKHQsIGJ5UG9pbnRlcik7IH0KKyAgICAgICAgc3RhdGljIHZvaWQgYWRk
TWVtYmVyKE1lbW9yeUluc3RydW1lbnRhdGlvbiogaW5zdHJ1bWVudGF0aW9uLCBjb25zdCBUKiBj
b25zdCYgdCwgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpPYmplY3RUeXBlIG9iamVjdFR5cGUpIHsg
aW5zdHJ1bWVudGF0aW9uLT5hZGRNZW1iZXJJbXBsKHQsIG9iamVjdFR5cGUsIGJ5UG9pbnRlcik7
IH0KKyAgICB9OworCisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgdm9pZCBhZGRJbnN0
cnVtZW50ZWRNZW1iZXJJbXBsKGNvbnN0IFQqIGNvbnN0JiBvYmplY3QsIE93bmluZ1R5cGUgb3du
aW5nVHlwZSkKKyAgICB7CisgICAgICAgIGlmICghb2JqZWN0IHx8IHZpc2l0ZWQob2JqZWN0KSkK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKG93bmluZ1R5cGUgPT0gYnlSZWZlcmVu
Y2UpIHsKKyAgICAgICAgICAgIE1lbW9yeU9iamVjdEluZm8gbWVtb3J5T2JqZWN0SW5mbyh0aGlz
KTsKKyAgICAgICAgICAgIG9iamVjdC0+cmVwb3J0TWVtb3J5VXNhZ2UoJm1lbW9yeU9iamVjdElu
Zm8pOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGRlZmVySW5zdHJ1bWVudGVkUG9pbnRl
cihhZG9wdFB0cihuZXcgSW5zdHJ1bWVudGVkUG9pbnRlcjxUPihvYmplY3QpKSk7CisgICAgfQor
CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CisgICAgdm9pZCBhZGRNZW1iZXJJbXBsKGNvbnN0
IFQqIGNvbnN0JiBvYmplY3QsIE9iamVjdFR5cGUgb2JqZWN0VHlwZSwgT3duaW5nVHlwZSBvd25p
bmdUeXBlKQogICAgIHsKICAgICAgICAgaWYgKCFvYmplY3QgfHwgdmlzaXRlZChvYmplY3QpKQog
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAob3duaW5nVHlwZSA9PSBieVJlZmVyZW5j
ZSkKKyAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgY291bnRPYmplY3RTaXplKG9iamVjdFR5
cGUsIHNpemVvZihUKSk7CiAgICAgfQotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBIYXNoTWFwVHlw
ZT4gdm9pZCByZXBvcnRIYXNoTWFwKGNvbnN0IEhhc2hNYXBUeXBlJiwgT2JqZWN0VHlwZSwgYm9v
bCBjb250ZW50T25seSA9IGZhbHNlKTsKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSGFzaFNldFR5
cGU+IHZvaWQgcmVwb3J0SGFzaFNldChjb25zdCBIYXNoU2V0VHlwZSYsIE9iamVjdFR5cGUsIGJv
b2wgY29udGVudE9ubHkgPSBmYWxzZSk7Ci0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIExpc3RIYXNo
U2V0VHlwZT4gdm9pZCByZXBvcnRMaXN0SGFzaFNldChjb25zdCBMaXN0SGFzaFNldFR5cGUmLCBP
YmplY3RUeXBlLCBib29sIGNvbnRlbnRPbmx5ID0gZmFsc2UpOwotICAgIHRlbXBsYXRlIDx0eXBl
bmFtZSBWZWN0b3JUeXBlPiB2b2lkIHJlcG9ydFZlY3Rvcihjb25zdCBWZWN0b3JUeXBlJiwgT2Jq
ZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSA9IGZhbHNlKTsKIAotcHJvdGVjdGVkOgogICAgIGNs
YXNzIEluc3RydW1lbnRlZFBvaW50ZXJCYXNlIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1
YWwgfkluc3RydW1lbnRlZFBvaW50ZXJCYXNlKCkgeyB9CkBAIC05Myw3ICsxMzMsNyBAQCBwcml2
YXRlOgogICAgICAgICBjb25zdCBUKiBtX3BvaW50ZXI7CiAgICAgfTsKIAotICAgIHZpcnR1YWwg
dm9pZCByZXBvcnRTdHJpbmcoT2JqZWN0VHlwZSwgY29uc3QgU3RyaW5nJikgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBhZGRTdHJpbmcoY29uc3QgU3RyaW5nJiwgT2JqZWN0VHlwZSkgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBjb3VudE9iamVjdFNpemUoT2JqZWN0VHlwZSwgc2l6ZV90KSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIGRlZmVySW5zdHJ1bWVudGVkUG9pbnRlcihQYXNzT3duUHRyPEluc3Ry
dW1lbnRlZFBvaW50ZXJCYXNlPikgPSAwOwogICAgIHZpcnR1YWwgYm9vbCB2aXNpdGVkKGNvbnN0
IHZvaWQqKSA9IDA7CkBAIC0xNDEsMTggKzE4MSwxNSBAQCBwdWJsaWM6CiAKICAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgUD4gdm9pZCB2aXNpdEJhc2VDbGFzcyhjb25zdCBQKiBwdHIpIHsgcHRyLT5Q
OjpyZXBvcnRNZW1vcnlVc2FnZShtX21lbW9yeU9iamVjdEluZm8pOyB9CiAKLSAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgUD4gdm9pZCByZXBvcnRJbnN0cnVtZW50ZWRQb2ludGVyKGNvbnN0IFAqIG1l
bWJlclBvaW50ZXIpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPnJlcG9ydEluc3RydW1lbnRl
ZFBvaW50ZXIobWVtYmVyUG9pbnRlcik7IH0KLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgTz4gdm9p
ZCByZXBvcnRJbnN0cnVtZW50ZWRPYmplY3QoY29uc3QgTyYgbWVtYmVyT2JqZWN0KSB7IG1fbWVt
b3J5SW5zdHJ1bWVudGF0aW9uLT5yZXBvcnRJbnN0cnVtZW50ZWRPYmplY3QobWVtYmVyT2JqZWN0
KTsgfQorICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBNPiB2b2lkIGFkZEluc3RydW1lbnRlZE1lbWJl
cihjb25zdCBNJiBtZW1iZXIpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZEluc3RydW1l
bnRlZE1lbWJlcihtZW1iZXIpOyB9CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIE0+IHZvaWQgYWRk
TWVtYmVyKGNvbnN0IE0mIG1lbWJlcikgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+YWRkTWVt
YmVyKG1lbWJlciwgbV9vYmplY3RUeXBlKTsgfQogCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFA+
IHZvaWQgcmVwb3J0UG9pbnRlcihjb25zdCBQKiBwb2ludGVyKSB7IG1fbWVtb3J5SW5zdHJ1bWVu
dGF0aW9uLT5yZXBvcnRQb2ludGVyKHBvaW50ZXIsIG1fb2JqZWN0VHlwZSk7IH0KLSAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgTz4gdm9pZCByZXBvcnRPYmplY3QoY29uc3QgTyYgb2JqZWN0KSB7IG1f
bWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5yZXBvcnRPYmplY3Qob2JqZWN0KTsgfQorICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBIYXNoTWFwVHlwZT4gdm9pZCBhZGRIYXNoTWFwKGNvbnN0IEhhc2hNYXBU
eXBlJiBtYXApIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPmFkZEhhc2hNYXAobWFwLCBtX29i
amVjdFR5cGUsIHRydWUpOyB9CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIEhhc2hTZXRUeXBlPiB2
b2lkIGFkZEhhc2hTZXQoY29uc3QgSGFzaFNldFR5cGUmIHNldCkgeyBtX21lbW9yeUluc3RydW1l
bnRhdGlvbi0+YWRkSGFzaFNldChzZXQsIG1fb2JqZWN0VHlwZSwgdHJ1ZSk7IH0KKyAgICB0ZW1w
bGF0ZSA8dHlwZW5hbWUgTGlzdEhhc2hTZXRUeXBlPiB2b2lkIGFkZExpc3RIYXNoU2V0KGNvbnN0
IExpc3RIYXNoU2V0VHlwZSYgc2V0KSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRMaXN0
SGFzaFNldChzZXQsIG1fb2JqZWN0VHlwZSwgdHJ1ZSk7IH0KKyAgICB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVmVjdG9yVHlwZT4gdm9pZCBhZGRWZWN0b3IoY29uc3QgVmVjdG9yVHlwZSYgdmVjdG9yKSB7
IG1fbWVtb3J5SW5zdHJ1bWVudGF0aW9uLT5hZGRWZWN0b3IodmVjdG9yLCBtX29iamVjdFR5cGUs
IHRydWUpOyB9CiAKLSAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSGFzaE1hcFR5cGU+IHZvaWQgcmVw
b3J0SGFzaE1hcChjb25zdCBIYXNoTWFwVHlwZSYgbWFwKSB7IG1fbWVtb3J5SW5zdHJ1bWVudGF0
aW9uLT5yZXBvcnRIYXNoTWFwKG1hcCwgbV9vYmplY3RUeXBlLCB0cnVlKTsgfQotICAgIHRlbXBs
YXRlIDx0eXBlbmFtZSBIYXNoU2V0VHlwZT4gdm9pZCByZXBvcnRIYXNoU2V0KGNvbnN0IEhhc2hT
ZXRUeXBlJiBzZXQpIHsgbV9tZW1vcnlJbnN0cnVtZW50YXRpb24tPnJlcG9ydEhhc2hTZXQoc2V0
LCBtX29iamVjdFR5cGUsIHRydWUpOyB9Ci0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIExpc3RIYXNo
U2V0VHlwZT4gdm9pZCByZXBvcnRMaXN0SGFzaFNldChjb25zdCBMaXN0SGFzaFNldFR5cGUmIHNl
dCkgeyBtX21lbW9yeUluc3RydW1lbnRhdGlvbi0+cmVwb3J0TGlzdEhhc2hTZXQoc2V0LCBtX29i
amVjdFR5cGUsIHRydWUpOyB9Ci0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIFZlY3RvclR5cGU+IHZv
aWQgcmVwb3J0VmVjdG9yKGNvbnN0IFZlY3RvclR5cGUmIHZlY3RvcikgeyBtX21lbW9yeUluc3Ry
dW1lbnRhdGlvbi0+cmVwb3J0VmVjdG9yKHZlY3RvciwgbV9vYmplY3RUeXBlLCB0cnVlKTsgfQot
Ci0gICAgdm9pZCByZXBvcnRTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpIHsgbV9tZW1vcnlJ
bnN0cnVtZW50YXRpb24tPnJlcG9ydFN0cmluZyhtX29iamVjdFR5cGUsIHN0cmluZyk7IH0KKyAg
ICB2b2lkIGFkZFN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykgeyBtX21lbW9yeUluc3RydW1l
bnRhdGlvbi0+YWRkU3RyaW5nKHN0cmluZywgbV9vYmplY3RUeXBlKTsgfQogCiBwcml2YXRlOgog
ICAgIE1lbW9yeU9iamVjdEluZm8qIG1fbWVtb3J5T2JqZWN0SW5mbzsKQEAgLTE2MCwzMSArMTk3
LDE0IEBAIHByaXZhdGU6CiAgICAgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpPYmplY3RUeXBlIG1f
b2JqZWN0VHlwZTsKIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUPgotdm9pZCBNZW1vcnlJbnN0
cnVtZW50YXRpb246OnJlcG9ydEluc3RydW1lbnRlZFBvaW50ZXIoY29uc3QgVCogY29uc3Qgb2Jq
ZWN0KQotewotICAgIGlmICghb2JqZWN0IHx8IHZpc2l0ZWQob2JqZWN0KSkKLSAgICAgICAgcmV0
dXJuOwotICAgIGRlZmVySW5zdHJ1bWVudGVkUG9pbnRlcihhZG9wdFB0cihuZXcgSW5zdHJ1bWVu
dGVkUG9pbnRlcjxUPihvYmplY3QpKSk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQ+Ci12b2lk
IE1lbW9yeUluc3RydW1lbnRhdGlvbjo6cmVwb3J0SW5zdHJ1bWVudGVkT2JqZWN0KGNvbnN0IFQm
IG9iamVjdCkKLXsKLSAgICBpZiAodmlzaXRlZCgmb2JqZWN0KSkKLSAgICAgICAgcmV0dXJuOwot
ICAgIE1lbW9yeU9iamVjdEluZm8gbWVtb3J5T2JqZWN0SW5mbyh0aGlzKTsKLSAgICBvYmplY3Qu
cmVwb3J0TWVtb3J5VXNhZ2UoJm1lbW9yeU9iamVjdEluZm8pOwotfQotCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBIYXNoTWFwVHlwZT4KLXZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpyZXBvcnRIYXNo
TWFwKGNvbnN0IEhhc2hNYXBUeXBlJiBoYXNoTWFwLCBPYmplY3RUeXBlIG9iamVjdFR5cGUsIGJv
b2wgY29udGVudE9ubHkpCit2b2lkIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6YWRkSGFzaE1hcChj
b25zdCBIYXNoTWFwVHlwZSYgaGFzaE1hcCwgT2JqZWN0VHlwZSBvYmplY3RUeXBlLCBib29sIGNv
bnRlbnRPbmx5KQogewogICAgIGNvdW50T2JqZWN0U2l6ZShvYmplY3RUeXBlLCBjYWxjdWxhdGVD
b250YWluZXJTaXplKGhhc2hNYXAsIGNvbnRlbnRPbmx5KSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIEhhc2hTZXRUeXBlPgotdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OnJlcG9ydEhhc2hT
ZXQoY29uc3QgSGFzaFNldFR5cGUmIGhhc2hTZXQsIE9iamVjdFR5cGUgb2JqZWN0VHlwZSwgYm9v
bCBjb250ZW50T25seSkKK3ZvaWQgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjphZGRIYXNoU2V0KGNv
bnN0IEhhc2hTZXRUeXBlJiBoYXNoU2V0LCBPYmplY3RUeXBlIG9iamVjdFR5cGUsIGJvb2wgY29u
dGVudE9ubHkpCiB7CiAgICAgaWYgKHZpc2l0ZWQoJmhhc2hTZXQpKQogICAgICAgICByZXR1cm47
CkBAIC0xOTIsNyArMjEyLDcgQEAgdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OnJlcG9ydEhh
c2hTZXQoY29uc3QgSGFzaFNldFR5cGUmIGhhc2hTZXQsIE9iamVjdFR5cGUKIH0KIAogdGVtcGxh
dGU8dHlwZW5hbWUgTGlzdEhhc2hTZXRUeXBlPgotdm9pZCBNZW1vcnlJbnN0cnVtZW50YXRpb246
OnJlcG9ydExpc3RIYXNoU2V0KGNvbnN0IExpc3RIYXNoU2V0VHlwZSYgaGFzaFNldCwgT2JqZWN0
VHlwZSBvYmplY3RUeXBlLCBib29sIGNvbnRlbnRPbmx5KQordm9pZCBNZW1vcnlJbnN0cnVtZW50
YXRpb246OmFkZExpc3RIYXNoU2V0KGNvbnN0IExpc3RIYXNoU2V0VHlwZSYgaGFzaFNldCwgT2Jq
ZWN0VHlwZSBvYmplY3RUeXBlLCBib29sIGNvbnRlbnRPbmx5KQogewogICAgIGlmICh2aXNpdGVk
KCZoYXNoU2V0KSkKICAgICAgICAgcmV0dXJuOwpAQCAtMjAxLDcgKzIyMSw3IEBAIHZvaWQgTWVt
b3J5SW5zdHJ1bWVudGF0aW9uOjpyZXBvcnRMaXN0SGFzaFNldChjb25zdCBMaXN0SGFzaFNldFR5
cGUmIGhhc2hTZXQsIE9iCiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBWZWN0b3JUeXBlPgotdm9p
ZCBNZW1vcnlJbnN0cnVtZW50YXRpb246OnJlcG9ydFZlY3Rvcihjb25zdCBWZWN0b3JUeXBlJiB2
ZWN0b3IsIE9iamVjdFR5cGUgb2JqZWN0VHlwZSwgYm9vbCBjb250ZW50T25seSkKK3ZvaWQgTWVt
b3J5SW5zdHJ1bWVudGF0aW9uOjphZGRWZWN0b3IoY29uc3QgVmVjdG9yVHlwZSYgdmVjdG9yLCBP
YmplY3RUeXBlIG9iamVjdFR5cGUsIGJvb2wgY29udGVudE9ubHkpCiB7CiAgICAgaWYgKHZpc2l0
ZWQodmVjdG9yLmRhdGEoKSkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRleCA5
MzQ4MWEzM2I5MTkwYjkyNTk5MjBhMmM0ZWI1MjExZmE2NGI4NjU3Li42MmExMGNiNzc4YzYwODIw
MjU5NGEzZmI2ZWEwMjdjODRkM2U2M2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0yODA0LDkgKzI4
MDQsOSBAQCB2b2lkIE5vZGU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgTWVtb3J5Q2xhc3NJbmZvPE5vZGU+IGluZm8obWVt
b3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOwogICAgIGlu
Zm8udmlzaXRCYXNlQ2xhc3M8VHJlZVNoYXJlZDxOb2RlLCBDb250YWluZXJOb2RlPiA+KHRoaXMp
OwogICAgIGluZm8udmlzaXRCYXNlQ2xhc3M8U2NyaXB0V3JhcHBhYmxlPih0aGlzKTsKLSAgICBp
bmZvLnJlcG9ydEluc3RydW1lbnRlZFBvaW50ZXIobV9kb2N1bWVudCk7Ci0gICAgaW5mby5yZXBv
cnRJbnN0cnVtZW50ZWRQb2ludGVyKG1fbmV4dCk7Ci0gICAgaW5mby5yZXBvcnRJbnN0cnVtZW50
ZWRQb2ludGVyKG1fcHJldmlvdXMpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1f
ZG9jdW1lbnQpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fbmV4dCk7CisgICAg
aW5mby5hZGRJbnN0cnVtZW50ZWRNZW1iZXIobV9wcmV2aW91cyk7CiB9CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWROYW1l
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vUXVhbGlmaWVkTmFtZS5oCmluZGV4IDI4NDVlNzc1OWFm
NTAwMzIzNzNiNDE0NDhjMTkyNmFhN2VhN2U2NzIuLjViMmRlMzkwZTNlOTAxNmY2NWM0NWJkNTYx
NDYxNmZhZmFjYzJjZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9RdWFsaWZpZWRO
YW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1F1YWxpZmllZE5hbWUuaApAQCAtNTMsMTAg
KzUzLDEwIEBAIHB1YmxpYzoKICAgICAgICAgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAgICAgICB7CiAgICAgICAgICAg
ICBNZW1vcnlDbGFzc0luZm88UXVhbGlmaWVkTmFtZUltcGw+IGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOwotICAgICAgICAgICAgaW5mby5y
ZXBvcnRPYmplY3QobV9wcmVmaXgpOwotICAgICAgICAgICAgaW5mby5yZXBvcnRPYmplY3QobV9s
b2NhbE5hbWUpOwotICAgICAgICAgICAgaW5mby5yZXBvcnRPYmplY3QobV9uYW1lc3BhY2UpOwot
ICAgICAgICAgICAgaW5mby5yZXBvcnRPYmplY3QobV9sb2NhbE5hbWVVcHBlcik7CisgICAgICAg
ICAgICBpbmZvLmFkZE1lbWJlcihtX3ByZWZpeCk7CisgICAgICAgICAgICBpbmZvLmFkZE1lbWJl
cihtX2xvY2FsTmFtZSk7CisgICAgICAgICAgICBpbmZvLmFkZE1lbWJlcihtX25hbWVzcGFjZSk7
CisgICAgICAgICAgICBpbmZvLmFkZE1lbWJlcihtX2xvY2FsTmFtZVVwcGVyKTsKICAgICAgICAg
fQogICAgIHByaXZhdGU6CiAgICAgICAgIFF1YWxpZmllZE5hbWVJbXBsKGNvbnN0IEF0b21pY1N0
cmluZyYgcHJlZml4LCBjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsTmFtZSwgY29uc3QgQXRvbWlj
U3RyaW5nJiBuYW1lc3BhY2VVUkkpCkBAIC0xMDUsNyArMTA1LDcgQEAgcHVibGljOgogICAgIHZv
aWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykg
Y29uc3QKICAgICB7CiAgICAgICAgIE1lbW9yeUNsYXNzSW5mbzxRdWFsaWZpZWROYW1lPiBpbmZv
KG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKLSAg
ICAgICAgaW5mby5yZXBvcnRJbnN0cnVtZW50ZWRQb2ludGVyKG1faW1wbCk7CisgICAgICAgIGlu
Zm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW1wbCk7CiAgICAgfQogcHJpdmF0ZToKICAgICB2
b2lkIGluaXQoY29uc3QgQXRvbWljU3RyaW5nJiBwcmVmaXgsIGNvbnN0IEF0b21pY1N0cmluZyYg
bG9jYWxOYW1lLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcAppbmRleCA1YjNl
MzY2MmQ1YTUxZWRhNjIwZjM4N2U2NWE5OWNjMzA5MDBmNzQ3Li4yYWQwMTQ1NzY5ZDAxNjc0ZjEy
ZjE0M2MxNDYxNTg2ZGY5OTU5OWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKQEAgLTUwMCw3ICs1MDAsNyBAQCBwdWJsaWM6CiAg
ICAgfQogCiBwcml2YXRlOgotICAgIHZpcnR1YWwgdm9pZCByZXBvcnRTdHJpbmcoT2JqZWN0VHlw
ZSBvYmplY3RUeXBlLCBjb25zdCBTdHJpbmcmIHN0cmluZykKKyAgICB2aXJ0dWFsIHZvaWQgYWRk
U3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nLCBPYmplY3RUeXBlIG9iamVjdFR5cGUpCiAgICAg
ewogICAgICAgICBpZiAoc3RyaW5nLmlzTnVsbCgpIHx8IHZpc2l0ZWQoc3RyaW5nLmltcGwoKSkp
CiAgICAgICAgICAgICByZXR1cm47CkBAIC01NDEsNyArNTQxLDcgQEAgcHVibGljOgogICAgICAg
ICBpZiAobm9kZS0+ZG9jdW1lbnQoKSAmJiBub2RlLT5kb2N1bWVudCgpLT5mcmFtZSgpICYmIG1f
cGFnZSAhPSBub2RlLT5kb2N1bWVudCgpLT5mcmFtZSgpLT5wYWdlKCkpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICAgICAgbV9kb21NZW1vcnlVc2FnZS5yZXBvcnRJbnN0cnVtZW50ZWRQb2lu
dGVyKG5vZGUpOworICAgICAgICBtX2RvbU1lbW9yeVVzYWdlLmFkZEluc3RydW1lbnRlZE1lbWJl
cihub2RlKTsKICAgICAgICAgbV9kb21NZW1vcnlVc2FnZS5wcm9jZXNzRGVmZXJyZWRJbnN0cnVt
ZW50ZWRQb2ludGVycygpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVHJlZVNoYXJlZC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVHJlZVNoYXJlZC5o
CmluZGV4IDQ0ZGMxNmZiZmE4ZDE2MjZhZmQwZmRiZDIwM2IyZTY5Y2VmYjY1NGYuLmQ0ZDUzZWFl
ZTkyNGVhMjFhZDhmZWFjNzFlYmQyNjY3Y2UxMzI0YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
cmVlU2hhcmVkLmgKQEAgLTExNCw3ICsxMTQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXBvcnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAg
IHsKICAgICAgICAgTWVtb3J5Q2xhc3NJbmZvPFRyZWVTaGFyZWQ8Tm9kZVR5cGUsIFBhcmVudE5v
ZGVUeXBlPiA+IGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0
aW9uOjpET00pOwotICAgICAgICBpbmZvLnJlcG9ydEluc3RydW1lbnRlZFBvaW50ZXIobV9wYXJl
bnQpOworICAgICAgICBpbmZvLmFkZEluc3RydW1lbnRlZE1lbWJlcihtX3BhcmVudCk7CiAgICAg
fQogCiBwcml2YXRlOgo=
</data>
<flag name="review"
          id="160945"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>