<?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>94959</bug_id>
          
          <creation_ts>2012-08-24 11:10:24 -0700</creation_ts>
          <short_desc>Web Inspector: NMI: Instrument WebCore part of the Image class hierarchy</short_desc>
          <delta_ts>2012-08-29 02:28:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>alph</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</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>704257</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-08-24 11:10:24 -0700</bug_when>
    <thetext>EOM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704262</commentid>
    <comment_count>1</comment_count>
      <attachid>160458</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-08-24 11:16:08 -0700</bug_when>
    <thetext>Created attachment 160458
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706262</commentid>
    <comment_count>2</comment_count>
      <attachid>160458</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-08-28 05:56:48 -0700</bug_when>
    <thetext>Comment on attachment 160458
Patch

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

&gt; Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp:90
&gt; +    MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResourceImage);

Id rather move this method and the one above to GeneratedImage.cpp and include the latter in the build. You can fix GeneratedImage.cpp in a separate patch.

&gt; Source/WebCore/platform/graphics/Image.cpp:203
&gt; +    MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResourceImage);

Do we miss decodedSize() now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706276</commentid>
    <comment_count>3</comment_count>
      <attachid>160458</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-08-28 06:18:21 -0700</bug_when>
    <thetext>Comment on attachment 160458
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/Image.cpp:203
&gt;&gt; +    MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResourceImage);
&gt; 
&gt; Do we miss decodedSize() now?

Actually decodedSize is a sum of cached frames sizes. I reported it via BitmapImage instrumentation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706277</commentid>
    <comment_count>4</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-08-28 06:20:36 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 160458 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=160458&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp:90
&gt; &gt; +    MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResourceImage);
&gt; 
&gt; Id rather move this method and the one above to GeneratedImage.cpp and include the latter in the build. You can fix GeneratedImage.cpp in a separate patch.

Agree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707235</commentid>
    <comment_count>5</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2012-08-29 02:28:30 -0700</bug_when>
    <thetext>Committed r126974: &lt;http://trac.webkit.org/changeset/126974&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160458</attachid>
            <date>2012-08-24 11:16:08 -0700</date>
            <delta_ts>2012-08-29 01:51:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94959-20120824221603.patch</filename>
            <type>text/plain</type>
            <size>18269</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NTk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjkyNGY0OWFlNjQzOGYz
Njk5Yzc1YjY2M2M1Y2ZlNDk5NzZhYTU0Zi4uNzhlMDA2MzQ0NzI2NjRkMDYzMGJkOGMwZmNjNWYx
Y2RjZWFkYTY5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDEyLTA4LTI0ICBJbHlh
IFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBOTUk6IEluc3RydW1lbnQgV2ViQ29yZSBwYXJ0IG9mIHRoZSBJbWFnZSBjbGFzcyBoaWVy
YXJjaHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0
OTU5CisKKyAgICAgICAgRHJpdmUgYnkgZml4OiByZW1vdmUgdW51c2VkIEdlbmVyYXRlZEltYWdl
LmNwcAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVs
ZW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAq
IGh0bWwvSFRNTEltYWdlRWxlbWVudC5oOgorICAgICAgICAoSFRNTEltYWdlRWxlbWVudCk6Cisg
ICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkNhY2hlZEltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvQml0bWFwSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Qml0bWFwSW1hZ2U6OnJl
cG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL0JpdG1hcEltYWdlLmg6CisgICAgICAgIChGcmFtZURhdGEpOgorICAgICAgICAo
Qml0bWFwSW1hZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Nyb3NzZmFkZUdlbmVy
YXRlZEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNyb3NzZmFkZUdlbmVyYXRlZEltYWdl
OjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5oOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChDcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL0dlbmVyYXRlZEltYWdlLmg6CisgICAgICAgIChHZW5lcmF0ZWRJbWFnZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdGVkSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6R2VuZXJhdG9yR2VuZXJhdGVk
SW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9H
ZW5lcmF0b3JHZW5lcmF0ZWRJbWFnZS5oOgorICAgICAgICAoR2VuZXJhdG9yR2VuZXJhdGVkSW1h
Z2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oOgorICAgICAgICAoV2ViQ29yZSk6Cisg
ICAgICAgIChJbWFnZSk6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0ltYWdlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuaDoKKyAgICAgICAgKFNW
R0ltYWdlKToKKwogMjAxMi0wOC0yNCAgUGFydGggUGF0ZWwgIDxwYXJwYXRlbEByaW0uY29tPgog
CiAgICAgICAgIFtCbGFja0JlcnJ5XSBDaGFuZ2VzIHJlc3VsdGluZyBmcm9tIG1vdmluZyBhcHBs
aWNhdGlvbiBkaXJlY3RvcnkgbWV0aG9kcyBmcm9tIHBsYXRmb3JtIGNsaWVudCB0byBwbGF0Zm9y
bSBzZXR0aW5ncy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4
IGJhMGZkOTljNmVlMjQ5ZDhjMzQ0NjkzNGM1MzBmMTMxYzk3NTNiMmMuLjVkMWNkMDdhZTExMGYw
ODg2MWM2YWZhMThiZDk0ZDY4Y2M0MDc3MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcApAQCAtNDIxLDQgKzQyMSwxMiBAQCBpbmxpbmUgSW1hZ2VJbm5lckVsZW1l
bnQqIEhUTUxJbWFnZUVsZW1lbnQ6OmlubmVyRWxlbWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIHRv
SW1hZ2VJbm5lckVsZW1lbnQodXNlckFnZW50U2hhZG93Um9vdCgpLT5maXJzdENoaWxkKCkpOwog
fQogCit2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVj
dEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0Cit7CisgICAgTWVtb3J5Q2xhc3NJbmZvIGlu
Zm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVudGF0aW9uOjpET00pOwor
ICAgIEhUTUxFbGVtZW50OjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKKyAg
ICBpbmZvLmFkZE1lbWJlcihtX2ltYWdlTG9hZGVyKTsKKyAgICBpbmZvLmFkZEluc3RydW1lbnRl
ZE1lbWJlcihtX2Zvcm0pOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5oCmluZGV4IGFlOGU3Y2IzZGUwZWNlZGIzOTg0NDRmMzBmMjA2OGQzMGUyOGU5Y2MuLjQ2NTdk
N2NkNWJhMWY4M2IwZDk3MDhlZWUwZTI4ZGYyZjcwY2RhY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEltYWdlRWxlbWVudC5oCkBAIC04OSw2ICs4OSw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgYm9vbCBjYW5Db250YWluUmFuZ2VFbmRQb2ludCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyop
IGNvbnN0IE9WRVJSSURFOworCiBwcm90ZWN0ZWQ6CiAgICAgSFRNTEltYWdlRWxlbWVudChjb25z
dCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqLCBIVE1MRm9ybUVsZW1lbnQqID0gMCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRJbWFnZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuY3BwCmluZGV4IDExNTg4YTBk
YjI0NTYyZmIwZDY4MzI3ODVhOTlhZTg0MDEzZWM5MjIuLmJlNGNlYTVjZjIyMjhhNWZkOTZiNDgz
ZDMxZDRmMjc5YmEzMzZkMTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNo
ZS9DYWNoZWRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZEltYWdlLmNwcApAQCAtNDc4LDExICs0NzgsNyBAQCB2b2lkIENhY2hlZEltYWdlOjpyZXBvcnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewog
ICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIE1lbW9yeUlu
c3RydW1lbnRhdGlvbjo6Q2FjaGVkUmVzb3VyY2VJbWFnZSk7CiAgICAgQ2FjaGVkUmVzb3VyY2U6
OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGlmIChtX2ltYWdlKSB7
Ci0gICAgICAgIGlmIChtX2ltYWdlLT5kYXRhKCkpCi0gICAgICAgICAgICBpbmZvLmFkZFJhd0J1
ZmZlcihtX2ltYWdlLT5kYXRhKCksIG1faW1hZ2UtPmRhdGEoKS0+c2l6ZSgpKTsKLSAgICAgICAg
aW5mby5hZGRSYXdCdWZmZXIobV9pbWFnZS5nZXQoKSwgZGVjb2RlZFNpemUoKSk7Ci0gICAgfQor
ICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1faW1hZ2UpOwogI2lmIEVOQUJMRShTVkcp
CiAgICAgaW5mby5hZGRNZW1iZXIobV9zdmdJbWFnZUNhY2hlKTsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCmluZGV4IGUyODZh
N2M4YmY4NjE0M2JkN2VjNjQxYmEwODVlMTdlYzBkNjZiOTYuLjdmNTg2M2Q0Mjc3OWZjOGQ5ZDdk
MWJmOWYzNWMxODk3ZmNjZmU1YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJJbWFn
ZU9ic2VydmVyLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVn
aXN0cnkuaCIKKyNpbmNsdWRlICJNZW1vcnlJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJQ
bGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJl
bnRUaW1lLmg+CkBAIC01NjksNCArNTcwLDE2IEBAIENvbG9yIEJpdG1hcEltYWdlOjpzb2xpZENv
bG9yKCkgY29uc3QKICAgICByZXR1cm4gbV9zb2xpZENvbG9yOwogfQogCit2b2lkIEJpdG1hcElt
YWdlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZv
KSBjb25zdAoreworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRo
aXMsIE1lbW9yeUluc3RydW1lbnRhdGlvbjo6Q2FjaGVkUmVzb3VyY2VJbWFnZSk7CisgICAgSW1h
Z2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgIGluZm8uYWRkTWVt
YmVyKG1fc291cmNlKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2ZyYW1lVGltZXIpOworICAgIGlu
Zm8uYWRkVmVjdG9yKG1fZnJhbWVzKTsKKyAgICBpbnQgc2l6ZSA9IGZyYW1lQnl0ZXMobV9zaXpl
KTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9mcmFtZUNvdW50OyArK2kpCisgICAg
ICAgIGluZm8uYWRkUmF3QnVmZmVyKG1fZnJhbWVzW2ldLm1fZnJhbWUsIHNpemUpOworfQorCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFn
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRl
eCA2OTNkNDFmNmQ1OWYxMjhhNzE5MDgyOWIyM2EzZTgzMzcxYjI4MGRkLi5jZWM1MDY4YTZkNDky
NTI0OTVjNzE5MzVjNGZkNzYwZTA4OGM5NzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKQEAgLTg2LDYgKzg2LDcgQEAgcHVibGljOgogICAg
IC8vIENsZWFyIHRoZSBjYWNoZWQgaW1hZ2UgZGF0YSBvbiB0aGUgZnJhbWUsIGFuZCAob3B0aW9u
YWxseSkgdGhlIG1ldGFkYXRhLgogICAgIC8vIFJldHVybnMgd2hldGhlciB0aGVyZSB3YXMgY2Fj
aGVkIGltYWdlIGRhdGEgdG8gY2xlYXIuCiAgICAgYm9vbCBjbGVhcihib29sIGNsZWFyTWV0YWRh
dGEpOworICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0
OwogCiAgICAgTmF0aXZlSW1hZ2VQdHIgbV9mcmFtZTsKICAgICBJbWFnZU9yaWVudGF0aW9uIG1f
b3JpZW50YXRpb247CkBAIC0xNzgsNiArMTc5LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9v
bCBub3RTb2xpZENvbG9yKCk7CiAjZW5kaWYKIAorICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0IE9WRVJSSURFOworCiBwcml2YXRlOgogICAgIHZvaWQg
dXBkYXRlU2l6ZSgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5jcHAKaW5kZXggNzA4ZGNk
MDY1MzJkNzQzZDI4MTE5NWZkN2I0MjNkODYxYTBhMTFjMi4uZTY3NTAwMTllMWI0ZDdhMzNjMzA1
OTg3M2JiZjRhODEyZjMwMDNmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmNwcApAQCAtMjksNiAr
MjksNyBAQAogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4
dC5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCisjaW5jbHVkZSAiTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uLmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKQEAgLTEwNyw0ICsxMDgsMTIgQEAg
dm9pZCBDcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZTo6ZHJhd1BhdHRlcm4oR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0LCBjb25zdCBGbG9hdFIKICAgICBpbWFnZUJ1ZmZlci0+ZHJhd1BhdHRlcm4oY29u
dGV4dCwgc3JjUmVjdCwgcGF0dGVyblRyYW5zZm9ybSwgcGhhc2UsIHN0eWxlQ29sb3JTcGFjZSwg
Y29tcG9zaXRlT3AsIGRzdFJlY3QpOwogfQogCit2b2lkIENyb3NzZmFkZUdlbmVyYXRlZEltYWdl
OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBj
b25zdAoreworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMs
IE1lbW9yeUluc3RydW1lbnRhdGlvbjo6RE9NKTsKKyAgICBHZW5lcmF0ZWRJbWFnZTo6cmVwb3J0
TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV9mcm9tSW1hZ2UpOworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fdG9J
bWFnZSk7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0Nyb3NzZmFkZUdlbmVyYXRlZEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9Dcm9zc2ZhZGVHZW5lcmF0ZWRJbWFnZS5oCmluZGV4IGViMDZiNmQ4YjJiNzE2NDdm
YTNlZDJiZWYxOGY1MzE5NGJmMjE2M2UuLmI3M2EyMzkxYTczOGViNjQwNGM1Y2Y5NDZlNDBkZjc3
NmE4NzQ1YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0Ny
b3NzZmFkZUdlbmVyYXRlZEltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ3Jvc3NmYWRlR2VuZXJhdGVkSW1hZ2UuaApAQCAtMzUsNiArMzUsNyBAQAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBDU1NDcm9zc2ZhZGVWYWx1ZTsKK2NsYXNzIE1lbW9yeU9i
amVjdEluZm87CiAKIGNsYXNzIENyb3NzZmFkZUdlbmVyYXRlZEltYWdlIDogcHVibGljIEdlbmVy
YXRlZEltYWdlIHsKIHB1YmxpYzoKQEAgLTUwLDYgKzUxLDggQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCBJbnRTaXplIHNpemUoKSBjb25zdCB7IHJldHVybiBtX2Nyb3NzZmFkZVNpemU7IH0KIAor
ICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0IE9WRVJS
SURFOworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGRyYXcoR3JhcGhpY3NDb250ZXh0
KiwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIENv
bG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvcik7CiAgICAgdmlydHVh
bCB2b2lkIGRyYXdQYXR0ZXJuKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYgc3Jj
UmVjdCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLCBjb25zdCBGbG9h
dFBvaW50JiBwaGFzZSwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIENvbXBvc2l0ZU9wZXJh
dG9yLCBjb25zdCBGbG9hdFJlY3QmIGRzdFJlY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1hZ2UuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA1ZTA2ZGZkMzQ1ODM2NjdhZDI5ZGFmZjJjMTIyNzVmZmY1MWM0YmY1Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRlZEltYWdlLmNwcAorKysgL2Rldi9udWxsCkBAIC0x
LDc1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDksIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
LSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0g
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgi
Ci0jaW5jbHVkZSAiR2VuZXJhdGVkSW1hZ2UuaCIKLQotI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgot
I2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCi0j
aW5jbHVkZSAiTGVuZ3RoLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotdm9pZCBHZW5lcmF0
ZWRJbWFnZTo6ZHJhdyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYg
ZHN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzcmNSZWN0LCBDb2xvclNwYWNlLCBDb21wb3NpdGVP
cGVyYXRvciBjb21wb3NpdGVPcCkKLXsKLSAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0
YXRlU2F2ZXIoKmNvbnRleHQpOwotICAgIGNvbnRleHQtPnNldENvbXBvc2l0ZU9wZXJhdGlvbihj
b21wb3NpdGVPcCk7Ci0gICAgY29udGV4dC0+Y2xpcChkc3RSZWN0KTsKLSAgICBjb250ZXh0LT50
cmFuc2xhdGUoZHN0UmVjdC54KCksIGRzdFJlY3QueSgpKTsKLSAgICBpZiAoZHN0UmVjdC5zaXpl
KCkgIT0gc3JjUmVjdC5zaXplKCkpCi0gICAgICAgIGNvbnRleHQtPnNjYWxlKEZsb2F0U2l6ZShk
c3RSZWN0LndpZHRoKCkgLyBzcmNSZWN0LndpZHRoKCksIGRzdFJlY3QuaGVpZ2h0KCkgLyBzcmNS
ZWN0LmhlaWdodCgpKSk7Ci0gICAgY29udGV4dC0+dHJhbnNsYXRlKC1zcmNSZWN0LngoKSwgLXNy
Y1JlY3QueSgpKTsKLSAgICBjb250ZXh0LT5maWxsUmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludCgp
LCBtX3NpemUpLCAqbV9nZW5lcmF0b3IuZ2V0KCkpOwotfQotCi12b2lkIEdlbmVyYXRlZEltYWdl
OjpkcmF3UGF0dGVybihHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYg
c3JjUmVjdCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBwYXR0ZXJuVHJhbnNmb3JtLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRmxvYXRQb2ludCYgcGhhc2UsIENvbG9y
U3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvciBjb21wb3NpdGVPcCwgY29u
c3QgRmxvYXRSZWN0JiBkZXN0UmVjdCkKLXsKLSAgICAvLyBBbGxvdyB0aGUgZ2VuZXJhdG9yIHRv
IHByb3ZpZGUgdmlzdWFsbHktZXF1aXZhbGVudCB0aWxpbmcgcGFyYW1ldGVycyBmb3IgYmV0dGVy
IHBlcmZvcm1hbmNlLgotICAgIEludFNpemUgYWRqdXN0ZWRTaXplID0gbV9zaXplOwotICAgIEZs
b2F0UmVjdCBhZGp1c3RlZFNyY1JlY3QgPSBzcmNSZWN0OwotICAgIG1fZ2VuZXJhdG9yLT5hZGp1
c3RQYXJhbWV0ZXJzRm9yVGlsZWREcmF3aW5nKGFkanVzdGVkU2l6ZSwgYWRqdXN0ZWRTcmNSZWN0
KTsKLQotICAgIC8vIENyZWF0ZSBhIEJpdG1hcEltYWdlIGFuZCBjYWxsIGRyYXdQYXR0ZXJuIG9u
IGl0LgotICAgIE93blB0cjxJbWFnZUJ1ZmZlcj4gaW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6
Y3JlYXRlKGFkanVzdGVkU2l6ZSk7Ci0gICAgaWYgKCFpbWFnZUJ1ZmZlcikKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgLy8gRmlsbCB3aXRoIHRoZSBncmFkaWVudC4KLSAgICBHcmFwaGljc0NvbnRl
eHQqIGdyYXBoaWNzQ29udGV4dCA9IGltYWdlQnVmZmVyLT5jb250ZXh0KCk7Ci0gICAgZ3JhcGhp
Y3NDb250ZXh0LT5maWxsUmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCBhZGp1c3RlZFNpemUp
LCAqbV9nZW5lcmF0b3IuZ2V0KCkpOwotCi0gICAgLy8gVGlsZSB0aGUgaW1hZ2UgYnVmZmVyIGlu
dG8gdGhlIGNvbnRleHQuCi0gICAgaW1hZ2VCdWZmZXItPmRyYXdQYXR0ZXJuKGNvbnRleHQsIGFk
anVzdGVkU3JjUmVjdCwgcGF0dGVyblRyYW5zZm9ybSwgcGhhc2UsIHN0eWxlQ29sb3JTcGFjZSwg
Y29tcG9zaXRlT3AsIGRlc3RSZWN0KTsKLX0KLQotdm9pZCBHZW5lcmF0ZWRJbWFnZTo6Y29tcHV0
ZUludHJpbnNpY0RpbWVuc2lvbnMoTGVuZ3RoJiBpbnRyaW5zaWNXaWR0aCwgTGVuZ3RoJiBpbnRy
aW5zaWNIZWlnaHQsIEZsb2F0U2l6ZSYgaW50cmluc2ljUmF0aW8pCi17Ci0gICAgSW1hZ2U6OmNv
bXB1dGVJbnRyaW5zaWNEaW1lbnNpb25zKGludHJpbnNpY1dpZHRoLCBpbnRyaW5zaWNIZWlnaHQs
IGludHJpbnNpY1JhdGlvKTsKLSAgICBpbnRyaW5zaWNSYXRpbyA9IEZsb2F0U2l6ZSgpOwotfQot
Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5lcmF0
ZWRJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdGVkSW1h
Z2UuaAppbmRleCBiZWMzNDNjMjEzODE3ZjAwMmUxZGY3MjQxMjFkYmFjNTIxODdlMmQ0Li5kMjk0
YWY3N2QwNjIyZTI2MzZjZmFlMjZkNjUxOWQwN2JiM2RlYjhhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5lcmF0ZWRJbWFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRlZEltYWdlLmgKQEAgLTUwLDYgKzUwLDgg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95RGVjb2RlZERhdGEoYm9vbCAvKmRl
c3Ryb3lBbGwqLyA9IHRydWUpIHsgfQogICAgIHZpcnR1YWwgdW5zaWduZWQgZGVjb2RlZFNpemUo
KSBjb25zdCB7IHJldHVybiAwOyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0IE9WRVJSSURFOworCiBwcm90ZWN0ZWQ6CiAgICAg
dmlydHVhbCB2b2lkIGRyYXcoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0JiBkc3RS
ZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNl
LCBDb21wb3NpdGVPcGVyYXRvcikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkcmF3UGF0dGVybihH
cmFwaGljc0NvbnRleHQqLCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEFmZmluZVRy
YW5zZm9ybSYgcGF0dGVyblRyYW5zZm9ybSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRvckdlbmVyYXRlZEltYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRvckdlbmVyYXRlZEltYWdlLmNwcAppbmRleCBj
OTg2MDNhNDFkYzM4ZmM1ZDM4Mzk3NjM4ZDk3MmJiY2MwMjU3Yjg3Li4zMGFjMzQ2ZDJkMmYyZDk2
MmIxYTVhY2RjODhlMDAzMjYxYzQyOTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HZW5lcmF0b3JHZW5lcmF0ZWRJbWFnZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2UuY3BwCkBAIC04
NSwxMCArODUsMjUgQEAgdm9pZCBHZW5lcmF0ZWRJbWFnZTo6Y29tcHV0ZUludHJpbnNpY0RpbWVu
c2lvbnMoTGVuZ3RoJiBpbnRyaW5zaWNXaWR0aCwgTGVuZ3RoJgogICAgIGludHJpbnNpY1JhdGlv
ID0gRmxvYXRTaXplKCk7CiB9CiAKK3ZvaWQgR2VuZXJhdGVkSW1hZ2U6OnJlcG9ydE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0Cit7CisgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjpDYWNoZWRSZXNvdXJjZUltYWdlKTsKKyAgICBJbWFnZTo6cmVwb3J0TWVtb3J5VXNh
Z2UobWVtb3J5T2JqZWN0SW5mbyk7Cit9CisKIHZvaWQgR2VuZXJhdG9yR2VuZXJhdGVkSW1hZ2U6
OmludmFsaWRhdGVDYWNoZVRpbWVyRmlyZWQoRGVmZXJyYWJsZU9uZVNob3RUaW1lcjxHZW5lcmF0
b3JHZW5lcmF0ZWRJbWFnZT4qKQogewogICAgIG1fY2FjaGVkSW1hZ2VCdWZmZXIuY2xlYXIoKTsK
ICAgICBtX2NhY2hlZEFkanVzdGVkU2l6ZSA9IEludFNpemUoKTsKIH0KIAordm9pZCBHZW5lcmF0
b3JHZW5lcmF0ZWRJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVt
b3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlP
YmplY3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkRPTSk7CisgICAgR2VuZXJh
dGVkSW1hZ2U6OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgIGluZm8u
YWRkTWVtYmVyKG1fZ2VuZXJhdG9yKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2NhY2hlZEltYWdl
QnVmZmVyKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2NhY2hlVGltZXIpOworfQorCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5lcmF0b3JHZW5lcmF0
ZWRJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR2VuZXJhdG9yR2Vu
ZXJhdGVkSW1hZ2UuaAppbmRleCAwNzFjMmMwN2I3YzAwYzkyMjQyMmM5NTc0ZmRmNTdmNjlkMTQz
ZTYwLi5iODAzMTI5NTQxNDUyODRhYmI2Y2EzNDViZGJkYzYyMmNlZWE2ODJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HZW5lcmF0b3JHZW5lcmF0ZWRJbWFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dlbmVyYXRvckdlbmVy
YXRlZEltYWdlLmgKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJJbWFnZS5oIgogI2luY2x1
ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiSW50U2l6ZS5oIgorI2luY2x1ZGUgIk1lbW9y
eUluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogCkBAIC01MCw2ICs1MSw4IEBAIHB1YmxpYzoKICAgICAgICAgbV9jYWNoZVRpbWVy
LnN0b3AoKTsKICAgICB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVt
b3J5T2JqZWN0SW5mbyopIGNvbnN0IE9WRVJSSURFOworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVh
bCB2b2lkIGRyYXcoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBj
b25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNlLCBDb21w
b3NpdGVPcGVyYXRvcik7CiAgICAgdmlydHVhbCB2b2lkIGRyYXdQYXR0ZXJuKEdyYXBoaWNzQ29u
dGV4dCosIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBw
YXR0ZXJuVHJhbnNmb3JtLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2Uu
Y3BwCmluZGV4IDY1NWI2ZDE0ZmE2YjYwZTlhOThiMGZmNDBkNWUxNmQzOWQ5MmY4ZGUuLjAyNTU2
MDNkZWRkZjQ1NTM5MTQxMjE4ZDRmMzJjYTQ5Mjk3OThmOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKQEAgLTMwLDkgKzMwLDExIEBACiAjaW5jbHVkZSAi
QWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiQml0bWFwSW1hZ2UuaCIKICNpbmNsdWRlICJH
cmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRlICJJbWFnZU9ic2VydmVyLmgiCiAjaW5jbHVkZSAi
SW50UmVjdC5oIgogI2luY2x1ZGUgIkxlbmd0aC5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0
cnkuaCIKKyNpbmNsdWRlICJNZW1vcnlJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJTaGFy
ZWRCdWZmZXIuaCIKICNpbmNsdWRlIDxtYXRoLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQu
aD4KQEAgLTE5Niw0ICsxOTgsMTEgQEAgdm9pZCBJbWFnZTo6Y29tcHV0ZUludHJpbnNpY0RpbWVu
c2lvbnMoTGVuZ3RoJiBpbnRyaW5zaWNXaWR0aCwgTGVuZ3RoJiBpbnRyaW5zaWMKICAgICBpbnRy
aW5zaWNIZWlnaHQgPSBMZW5ndGgoaW50cmluc2ljUmF0aW8uaGVpZ2h0KCksIEZpeGVkKTsKIH0K
IAordm9pZCBJbWFnZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5
T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmpl
Y3RJbmZvLCB0aGlzLCBNZW1vcnlJbnN0cnVtZW50YXRpb246OkNhY2hlZFJlc291cmNlSW1hZ2Up
OworICAgIGluZm8uYWRkSW5zdHJ1bWVudGVkTWVtYmVyKG1fZGF0YSk7CisgICAgaW5mby5hZGRN
ZW1iZXIobV9pbWFnZU9ic2VydmVyKTsKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0ltYWdlLmgKaW5kZXggN2M3YmE5Yjk1NDhjNWQ1MmNhYTRkZDgwYzhlMDM5NzhlNTMw
MTM2Yy4uYTUyYWYzZWViNDM5YjI5NzA4MDUxMjdmNTFmNjE2MDE5OTIwM2QwYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCkBAIC02NCw2ICs2NCw3IEBAIGNsYXNz
IEZsb2F0UG9pbnQ7CiBjbGFzcyBGbG9hdFJlY3Q7CiBjbGFzcyBGbG9hdFNpemU7CiBjbGFzcyBH
cmFwaGljc0NvbnRleHQ7CitjbGFzcyBNZW1vcnlPYmplY3RJbmZvOwogY2xhc3MgU2hhcmVkQnVm
ZmVyOwogc3RydWN0IExlbmd0aDsKIApAQCAtMTY4LDYgKzE2OSw4IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGJvb2wgbm90U29saWRDb2xvcigpIHsgcmV0dXJuIHRydWU7IH0KICNlbmRpZgogCisg
ICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25z
dDsKKwogcHJvdGVjdGVkOgogICAgIEltYWdlKEltYWdlT2JzZXJ2ZXIqID0gMCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCmluZGV4IDM1Mjc5MTNjNmQzYmUzNjMy
NzA0M2Y4MzU1YmJkYzlhNWNlMmI5MzkuLmYzNmY5YTg4ZWU2NDFkODkxYTg2NDI5YzUzYzFlOWZm
YTY5NjBmYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcApAQCAt
MzU1LDYgKzM1NSwxNSBAQCBTdHJpbmcgU1ZHSW1hZ2U6OmZpbGVuYW1lRXh0ZW5zaW9uKCkgY29u
c3QKICAgICByZXR1cm4gInN2ZyI7CiB9CiAKK3ZvaWQgU1ZHSW1hZ2U6OnJlcG9ydE1lbW9yeVVz
YWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0Cit7CisgICAgTWVt
b3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5mbywgdGhpcywgTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uOjpDYWNoZWRSZXNvdXJjZUltYWdlKTsKKyAgICBJbWFnZTo6cmVwb3J0TWVtb3J5VXNh
Z2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9jaHJvbWVDbGllbnQp
OworICAgIGluZm8uYWRkTWVtYmVyKG1fcGFnZSk7CisgICAgaW5mby5hZGRJbnN0cnVtZW50ZWRN
ZW1iZXIobV9mcmFtZUNhY2hlKTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFNWRykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5oIGIvU291cmNl
L1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmgKaW5kZXggZTYzZDY0MWE2NzM1NzA1ZjA4
ODkyOTc3N2RiMWE3NmRhNmYwZDg5MS4uN2VlMWI2NTUzZWE5MzIxZGJmNDE5MzgzNTg3NDM0NWYx
NDRmNmEyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmgKQEAgLTYyLDYg
KzYyLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBoYXNSZWxhdGl2ZVdpZHRoKCkgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIGhhc1JlbGF0aXZlSGVpZ2h0KCkgY29uc3Q7CiAKKyAgICB2
aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0IE9W
RVJSSURFOworCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBTVkdJbWFnZUNocm9tZUNsaWVu
dDsKICAgICB2aXJ0dWFsIH5TVkdJbWFnZSgpOwo=
</data>
<flag name="review"
          id="171030"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>