<?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>197294</bug_id>
          
          <creation_ts>2019-04-25 14:08:20 -0700</creation_ts>
          <short_desc>[bmalloc] Follow-up and fixing bug after r244481</short_desc>
          <delta_ts>2019-04-25 14:54:02 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1530510</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-25 14:08:20 -0700</bug_when>
    <thetext>[bmalloc] Follow-up and fixing bug after r244481</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530511</commentid>
    <comment_count>1</comment_count>
      <attachid>368268</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-25 14:12:21 -0700</bug_when>
    <thetext>Created attachment 368268
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530516</commentid>
    <comment_count>2</comment_count>
      <attachid>368268</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-04-25 14:20:38 -0700</bug_when>
    <thetext>Comment on attachment 368268
Patch

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

r=me

&gt; Source/bmalloc/bmalloc/IsoHeapImplInlines.h:234
&gt; +    auto getNewAllocationMode = [&amp;] {

you can also make this cleaner by doing:

- removing all assignments to m_lastSlowPathTime in the lambda
- &quot;auto now = std::chrono::steady_clock::now();&quot; outside the lambda.
- then below, you could do: m_lastSlowPathTime = now;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530517</commentid>
    <comment_count>3</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-04-25 14:21:08 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #2)
&gt; Comment on attachment 368268 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=368268&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/bmalloc/bmalloc/IsoHeapImplInlines.h:234
&gt; &gt; +    auto getNewAllocationMode = [&amp;] {
&gt; 
&gt; you can also make this cleaner by doing:
&gt; 
&gt; - removing all assignments to m_lastSlowPathTime in the lambda
&gt; - &quot;auto now = std::chrono::steady_clock::now();&quot; outside the lambda.
&gt; - then below, you could do: m_lastSlowPathTime = now;
By &quot;below&quot; I mean after invoking the lambda</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530528</commentid>
    <comment_count>4</comment_count>
      <attachid>368268</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-25 14:50:45 -0700</bug_when>
    <thetext>Comment on attachment 368268
Patch

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

Thanks!

&gt;&gt;&gt; Source/bmalloc/bmalloc/IsoHeapImplInlines.h:234
&gt;&gt;&gt; +    auto getNewAllocationMode = [&amp;] {
&gt;&gt; 
&gt;&gt; you can also make this cleaner by doing:
&gt;&gt; 
&gt;&gt; - removing all assignments to m_lastSlowPathTime in the lambda
&gt;&gt; - &quot;auto now = std::chrono::steady_clock::now();&quot; outside the lambda.
&gt;&gt; - then below, you could do: m_lastSlowPathTime = now;
&gt; 
&gt; By &quot;below&quot; I mean after invoking the lambda

This changes the behavior. I&apos;m not setting m_lastSlowPathTime while executing Shared mode repeatedly intentionally. This is because we would like to check whether allocations takes 1~ from when we first (or first after resetting m_numberOfAllocationsFromSharedInOneCycle) starts Shared mode or last time when we start the fast path. We would like to allow allocating shared cells numObjects times very slowly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1530530</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-04-25 14:53:03 -0700</bug_when>
    <thetext>Committed r244666: &lt;https://trac.webkit.org/changeset/244666&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>368268</attachid>
            <date>2019-04-25 14:12:21 -0700</date>
            <delta_ts>2019-04-25 14:20:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197294-20190425141221.patch</filename>
            <type>text/plain</type>
            <size>14923</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0NjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvYm1hbGxvYy9DaGFuZ2VMb2cKaW5kZXggYjkzYjFmMTczOTlhNWQ2
YjdhNzE3YzgyNTMxOGExYzE3NzQ5ZjYzOC4uNWJkNWIxNzAwMzgxN2UxMWQyNDU5OWZjZmNmMTU3
YWQyNmI3ZjU0NiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9ibWFsbG9jL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE5LTA0LTI1ICBZdXN1
a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CisKKyAgICAgICAgW2JtYWxsb2NdIEZvbGxv
dy11cCBhbmQgZml4aW5nIGJ1ZyBhZnRlciByMjQ0NDgxCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTcyOTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGluY2x1ZGVzIGZvbGxvdy11cCBh
ZnRlciByMjQ0NDgxIGFuZCBidWcgZml4ZXMgd2hpY2ggaXMgaW50cm9kdWNlZCBpbiB0aGUgcmVm
YWN0b3JpbmcuCisKKyAgICAgICAgKiBibWFsbG9jL0lzb0FsbG9jYXRvci5oOiBSZW1vdmUgdW51
c2VkIGZ1bmN0aW9uLgorICAgICAgICAqIGJtYWxsb2MvSXNvQWxsb2NhdG9ySW5saW5lcy5oOgor
ICAgICAgICAoYm1hbGxvYzo6SXNvQWxsb2NhdG9yPENvbmZpZz46OmFsbG9jYXRlU2xvdyk6Cisg
ICAgICAgICogYm1hbGxvYy9Jc29EZWFsbG9jYXRvcklubGluZXMuaDoKKyAgICAgICAgKGJtYWxs
b2M6Oklzb0RlYWxsb2NhdG9yPENvbmZpZz46OmRlYWxsb2NhdGUpOgorICAgICAgICAqIGJtYWxs
b2MvSXNvSGVhcEltcGwuaDogUmVuYW1lIG1fdXNhYmxlQml0cyB0byBtX2F2YWlsYWJsZVNoYXJl
ZCBhbmQgYWRkIHN0YXRpY19hc3NlcnQuCisgICAgICAgICogYm1hbGxvYy9Jc29IZWFwSW1wbElu
bGluZXMuaDogRG8gbm90IGNsZWFyIG1fbnVtYmVyT2ZBbGxvY2F0aW9uc0Zyb21TaGFyZWRJbk9u
ZUN5Y2xlIGV0Yy4gaW4gc2NhdmVuZ2Ugc2luY2UgSXNvSGVhcEltcGw6OnNjYXZlbmdlCisgICAg
ICAgIGlzIG5vdCByZWxhdGVkIHRvIHRocmVhZC1sb2NhbCBJc29BbGxvY2F0b3IncyBzdGF0dXMu
CisgICAgICAgIChibWFsbG9jOjpJc29IZWFwSW1wbDxDb25maWc+OjpzY2F2ZW5nZSk6CisgICAg
ICAgIChibWFsbG9jOjpJc29IZWFwSW1wbDxDb25maWc+Ojpmb3JFYWNoTGl2ZU9iamVjdCk6Cisg
ICAgICAgIChibWFsbG9jOjpJc29IZWFwSW1wbDxDb25maWc+Ojp1cGRhdGVBbGxvY2F0aW9uTW9k
ZSk6IFVwZGF0ZSBtX2FsbG9jYXRpb25Nb2RlIGNvcnJlY3RseS4KKyAgICAgICAgKGJtYWxsb2M6
Oklzb0hlYXBJbXBsPENvbmZpZz46OmFsbG9jYXRlRnJvbVNoYXJlZCk6CisgICAgICAgICogYm1h
bGxvYy9Jc29TaGFyZWRIZWFwSW5saW5lcy5oOgorICAgICAgICAoYm1hbGxvYzo6Y29tcHV0ZU9i
amVjdFNpemVGb3JTaGFyZWRDZWxsKToKKyAgICAgICAgKGJtYWxsb2M6Oklzb1NoYXJlZEhlYXA6
OmFsbG9jYXRlTmV3KToKKyAgICAgICAgKGJtYWxsb2M6Oklzb1NoYXJlZEhlYXA6OmFsbG9jYXRl
U2xvdyk6IEFkZCBjb21wdXRlT2JqZWN0U2l6ZUZvclNoYXJlZENlbGwuCisgICAgICAgICogYm1h
bGxvYy9Jc29TaGFyZWRQYWdlLmg6CisgICAgICAgICogYm1hbGxvYy9Jc29TaGFyZWRQYWdlSW5s
aW5lcy5oOgorICAgICAgICAoYm1hbGxvYzo6SXNvU2hhcmVkUGFnZTo6ZnJlZSk6IFBhc3MgYGNv
bnN0IHN0ZDo6bG9ja19ndWFyZDxNdXRleD4mYCBpbiBpdHMgcGFyYW1ldGVyLgorCiAyMDE5LTA0
LTI1ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgU3RhcnQgdXNpbmcgQysrMTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
SXNvQWxsb2NhdG9yLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0lzb0FsbG9jYXRvci5oCmlu
ZGV4IDMwNDcyYzEwZDNjMjhiMDVmOGY1NDhhODYxMzAwMjc1OGRiYWU0MzkuLmEwZjcwODBjYmIx
YzIxNzE3NTdjM2Q2ZGY3NDc1MmVmNTFiZDhkMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvSXNvQWxsb2NhdG9yLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Jc29B
bGxvY2F0b3IuaApAQCAtNDAsOCArNDAsNiBAQCBjbGFzcyBJc29BbGxvY2F0b3IgewogICAgIElz
b0FsbG9jYXRvcihJc29IZWFwSW1wbDxDb25maWc+Jik7CiAgICAgfklzb0FsbG9jYXRvcigpOwog
ICAgIAotICAgIEFsbG9jYXRpb25Nb2RlIGNvbnNpZGVyVXNpbmdTaGFyZWRBbGxvY2F0aW9uKCk7
Ci0KICAgICB2b2lkKiBhbGxvY2F0ZShib29sIGFib3J0T25GYWlsdXJlKTsKICAgICB2b2lkIHNj
YXZlbmdlKCk7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0lzb0Fs
bG9jYXRvcklubGluZXMuaCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSXNvQWxsb2NhdG9ySW5s
aW5lcy5oCmluZGV4IDYwNmI0YjhiMzM3NDgwNDcwNmM2YWUxZDdlZjk4MmEwMzdiYjgxNTUuLjU0
NTVmZmRjZjJkMDMyMGYzM2YzNmM3MzExZjk2MmVmN2M3ODI0N2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvSXNvQWxsb2NhdG9ySW5saW5lcy5oCisrKyBiL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvSXNvQWxsb2NhdG9ySW5saW5lcy5oCkBAIC02OSw3ICs2OSw3IEBAIEJOT19J
TkxJTkUgdm9pZCogSXNvQWxsb2NhdG9yPENvbmZpZz46OmFsbG9jYXRlU2xvdyhib29sIGFib3J0
T25GYWlsdXJlKQogICAgICAgICAgICAgbV9jdXJyZW50UGFnZSA9IG51bGxwdHI7CiAgICAgICAg
ICAgICBtX2ZyZWVMaXN0LmNsZWFyKCk7CiAgICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG1faGVh
cC0+YWxsb2NhdGVGcm9tU2hhcmVkKGFib3J0T25GYWlsdXJlKTsKKyAgICAgICAgcmV0dXJuIG1f
aGVhcC0+YWxsb2NhdGVGcm9tU2hhcmVkKGxvY2tlciwgYWJvcnRPbkZhaWx1cmUpOwogICAgIH0K
IAogICAgIEJBU1NFUlQoYWxsb2NhdGlvbk1vZGUgPT0gQWxsb2NhdGlvbk1vZGU6OkZhc3QpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Jc29EZWFsbG9jYXRvcklubGluZXMu
aCBiL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSXNvRGVhbGxvY2F0b3JJbmxpbmVzLmgKaW5kZXgg
NzEwM2VjYjU5MDFiNDZmNGVjMzQ0NDhiZWI3M2MzYjdkYjU1MzE0NS4uMjNmMzJhM2Q4OWIyNWQy
YzU3ZTFhMzgyYmRlMDI2ODg1YTRlM2Q5ZCAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1h
bGxvYy9Jc29EZWFsbG9jYXRvcklubGluZXMuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L0lzb0RlYWxsb2NhdG9ySW5saW5lcy5oCkBAIC02MCw3ICs2MCw3IEBAIHZvaWQgSXNvRGVhbGxv
Y2F0b3I8Q29uZmlnPjo6ZGVhbGxvY2F0ZShhcGk6Oklzb0hlYXA8VHlwZT4mIGhhbmRsZSwgdm9p
ZCogcHRyKQogICAgIElzb1BhZ2VCYXNlKiBwYWdlID0gSXNvUGFnZUJhc2U6OnBhZ2VGb3IocHRy
KTsKICAgICBpZiAocGFnZS0+aXNTaGFyZWQoKSkgewogICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8
TXV0ZXg+IGxvY2tlcigqbV9sb2NrKTsKLSAgICAgICAgc3RhdGljX2Nhc3Q8SXNvU2hhcmVkUGFn
ZSo+KHBhZ2UpLT5mcmVlPENvbmZpZz4oaGFuZGxlLCBwdHIpOworICAgICAgICBzdGF0aWNfY2Fz
dDxJc29TaGFyZWRQYWdlKj4ocGFnZSktPmZyZWU8Q29uZmlnPihsb2NrZXIsIGhhbmRsZSwgcHRy
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL2JtYWxsb2Mv
Ym1hbGxvYy9Jc29IZWFwSW1wbC5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Jc29IZWFwSW1w
bC5oCmluZGV4IGE5MDE5N2E1M2QyM2RhZDY3MWM1MTQ3MWJkZWU5ZjkxNDVjN2FjYzUuLjllZDNj
YzU0MWIxZjQ3MTZhM2U2OTkwYmYxZmFjOWNhMmE5YjAyNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9i
bWFsbG9jL2JtYWxsb2MvSXNvSGVhcEltcGwuaAorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9j
L0lzb0hlYXBJbXBsLmgKQEAgLTYwLDExICs2MCwxMyBAQCBjbGFzcyBCRVhQT1JUIElzb0hlYXBJ
bXBsQmFzZSB7CiAgICAgZnJpZW5kIGNsYXNzIEFsbElzb0hlYXBzOwogICAgIAogICAgIElzb0hl
YXBJbXBsQmFzZSogbV9uZXh0IHsgbnVsbHB0ciB9OwotICAgIHN0ZDo6Y2hyb25vOjpzdGVhZHlf
Y2xvY2s6OnRpbWVfcG9pbnQgbV9zbG93UGF0aFRpbWVQb2ludDsKKyAgICBzdGQ6OmNocm9ubzo6
c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1fbGFzdFNsb3dQYXRoVGltZTsKICAgICBzdGQ6OmFy
cmF5PHZvaWQqLCBtYXhBbGxvY2F0aW9uRnJvbVNoYXJlZD4gbV9zaGFyZWRDZWxscyB7IH07CiAg
ICAgdW5zaWduZWQgbV9udW1iZXJPZkFsbG9jYXRpb25zRnJvbVNoYXJlZEluT25lQ3ljbGUgeyAw
IH07Ci0gICAgdW5zaWduZWQgbV91c2FibGVCaXRzIHsgbWF4QWxsb2NhdGlvbkZyb21TaGFyZWRN
YXNrIH07CisgICAgdW5zaWduZWQgbV9hdmFpbGFibGVTaGFyZWQgeyBtYXhBbGxvY2F0aW9uRnJv
bVNoYXJlZE1hc2sgfTsKICAgICBBbGxvY2F0aW9uTW9kZSBtX2FsbG9jYXRpb25Nb2RlIHsgQWxs
b2NhdGlvbk1vZGU6OkluaXQgfTsKKyAgICAKKyAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihtX2F2
YWlsYWJsZVNoYXJlZCkgKiA4ID49IG1heEFsbG9jYXRpb25Gcm9tU2hhcmVkLCAiIik7CiB9Owog
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBDb25maWc+CkBAIC0xMTEsNyArMTEzLDcgQEAgY2xhc3MgSXNv
SGVhcEltcGwgZmluYWwgOiBwdWJsaWMgSXNvSGVhcEltcGxCYXNlIHsKICAgICB2b2lkIGlzTm9M
b25nZXJGcmVlYWJsZSh2b2lkKiBwdHIsIHNpemVfdCBieXRlcyk7CiAKICAgICBBbGxvY2F0aW9u
TW9kZSB1cGRhdGVBbGxvY2F0aW9uTW9kZSgpOwotICAgIHZvaWQqIGFsbG9jYXRlRnJvbVNoYXJl
ZChib29sIGFib3J0T25GYWlsdXJlKTsKKyAgICB2b2lkKiBhbGxvY2F0ZUZyb21TaGFyZWQoY29u
c3Qgc3RkOjpsb2NrX2d1YXJkPE11dGV4PiYsIGJvb2wgYWJvcnRPbkZhaWx1cmUpOwogICAgIAog
ICAgIC8vIEl0J3MgYWxtb3N0IGFsd2F5cyB0aGUgY2FsbGVyJ3MgcmVzcG9uc2liaWxpdHkgdG8g
Z3JhYiB0aGUgbG9jay4gVGhpcyBsb2NrIGNvbWVzIGZyb20gdGhlCiAgICAgLy8gUGVyUHJvY2Vz
czxJc29UTFNEZWFsbG9jYXRvckVudHJ5PENvbmZpZz4+OjpnZXQoKS0+bG9jay4gVGhhdCdzIHBy
ZXR0eSB3ZWlyZCwgYW5kIHdlIGRvbid0CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFs
bG9jL0lzb0hlYXBJbXBsSW5saW5lcy5oIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Jc29IZWFw
SW1wbElubGluZXMuaAppbmRleCBmNjUwMjgwZDNiZTZmMmNiODVhNTRiNTRmOGZkYWJhMzA1Zjc2
MTQ5Li5iYTQxMDkzNTI3N2M5MGQ3ZTc3MjE1ZGJiY2Q5ZTdmODYwYmVmODI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0lzb0hlYXBJbXBsSW5saW5lcy5oCisrKyBiL1NvdXJj
ZS9ibWFsbG9jL2JtYWxsb2MvSXNvSGVhcEltcGxJbmxpbmVzLmgKQEAgLTEwOSw4ICsxMDksNiBA
QCB2b2lkIElzb0hlYXBJbXBsPENvbmZpZz46OnNjYXZlbmdlKFZlY3RvcjxEZWZlcnJlZERlY29t
bWl0PiYgZGVjb21taXRzKQogICAgICAgICAgICAgZGlyZWN0b3J5LnNjYXZlbmdlKGRlY29tbWl0
cyk7CiAgICAgICAgIH0pOwogICAgIG1fZGlyZWN0b3J5SGlnaFdhdGVybWFyayA9IDA7Ci0gICAg
bV9udW1iZXJPZkFsbG9jYXRpb25zRnJvbVNoYXJlZEluT25lQ3ljbGUgPSAwOwotICAgIG1fYWxs
b2NhdGlvbk1vZGUgPSBBbGxvY2F0aW9uTW9kZTo6SW5pdDsKIH0KIAogdGVtcGxhdGU8dHlwZW5h
bWUgQ29uZmlnPgpAQCAtMTgyLDcgKzE4MCw3IEBAIHZvaWQgSXNvSGVhcEltcGw8Q29uZmlnPjo6
Zm9yRWFjaExpdmVPYmplY3QoY29uc3QgRnVuYyYgZnVuYykKICAgICAgICAgfSk7CiAgICAgZm9y
ICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgbWF4QWxsb2NhdGlvbkZyb21TaGFyZWQ7ICsr
aW5kZXgpIHsKICAgICAgICAgdm9pZCogcG9pbnRlciA9IG1fc2hhcmVkQ2VsbHNbaW5kZXhdOwot
ICAgICAgICBpZiAocG9pbnRlciAmJiAhKG1fdXNhYmxlQml0cyAmICgxVSA8PCBpbmRleCkpKQor
ICAgICAgICBpZiAocG9pbnRlciAmJiAhKG1fYXZhaWxhYmxlU2hhcmVkICYgKDFVIDw8IGluZGV4
KSkpCiAgICAgICAgICAgICBmdW5jKHBvaW50ZXIpOwogICAgIH0KIH0KQEAgLTIzMyw1NSArMjMx
LDYwIEBAIHZvaWQgSXNvSGVhcEltcGw8Q29uZmlnPjo6aXNOb0xvbmdlckZyZWVhYmxlKHZvaWQq
IHB0ciwgc2l6ZV90IGJ5dGVzKQogdGVtcGxhdGU8dHlwZW5hbWUgQ29uZmlnPgogQWxsb2NhdGlv
bk1vZGUgSXNvSGVhcEltcGw8Q29uZmlnPjo6dXBkYXRlQWxsb2NhdGlvbk1vZGUoKQogewotICAg
IC8vIEV4aGF1c3Qgc2hhcmVkIGZyZWUgY2VsbHMsIHdoaWNoIG1lYW5zIHdlIHNob3VsZCBzdGFy
dCBhY3RpdmF0aW5nIHRoZSBmYXN0IGFsbG9jYXRpb24gbW9kZSBmb3IgdGhpcyB0eXBlLgotICAg
IGlmICghbV91c2FibGVCaXRzKSB7Ci0gICAgICAgIG1fc2xvd1BhdGhUaW1lUG9pbnQgPSBzdGQ6
OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKLSAgICAgICAgcmV0dXJuIEFsbG9jYXRpb25N
b2RlOjpGYXN0OwotICAgIH0KKyAgICBhdXRvIGdldE5ld0FsbG9jYXRpb25Nb2RlID0gWyZdIHsK
KyAgICAgICAgLy8gRXhoYXVzdCBzaGFyZWQgZnJlZSBjZWxscywgd2hpY2ggbWVhbnMgd2Ugc2hv
dWxkIHN0YXJ0IGFjdGl2YXRpbmcgdGhlIGZhc3QgYWxsb2NhdGlvbiBtb2RlIGZvciB0aGlzIHR5
cGUuCisgICAgICAgIGlmICghbV9hdmFpbGFibGVTaGFyZWQpIHsKKyAgICAgICAgICAgIG1fbGFz
dFNsb3dQYXRoVGltZSA9IHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOworICAgICAg
ICAgICAgcmV0dXJuIEFsbG9jYXRpb25Nb2RlOjpGYXN0OworICAgICAgICB9CiAKLSAgICBzd2l0
Y2ggKG1fYWxsb2NhdGlvbk1vZGUpIHsKLSAgICBjYXNlIEFsbG9jYXRpb25Nb2RlOjpTaGFyZWQ6
Ci0gICAgICAgIC8vIEN1cnJlbnRseSBpbiB0aGUgc2hhcmVkIGFsbG9jYXRpb24gbW9kZS4gVW50
aWwgd2UgZXhoYXVzdCBzaGFyZWQgZnJlZSBjZWxscywgY29udGludWUgdXNpbmcgdGhlIHNoYXJl
ZCBhbGxvY2F0aW9uIG1vZGUuCi0gICAgICAgIC8vIEJ1dCBpZiB3ZSBhbGxvY2F0ZSBzbyBtYW55
IHNoYXJlZCBjZWxscyB3aXRoaW4gdmVyeSBzaG9ydCBwZXJpb2QsIHdlIHNob3VsZCB1c2UgdGhl
IGZhc3QgYWxsb2NhdGlvbiBtb2RlIGluc3RlYWQuCi0gICAgICAgIC8vIFRoaXMgYXZvaWRzIHRo
ZSBmb2xsb3dpbmcgcGF0aG9sb2dpY2FsIGNhc2UuCi0gICAgICAgIC8vCi0gICAgICAgIC8vICAg
ICBmb3IgKGludCBpID0gMDsgaSA8IDFlNjsgKytpKSB7Ci0gICAgICAgIC8vICAgICAgICAgYXV0
byogcHRyID0gYWxsb2NhdGUoKTsKLSAgICAgICAgLy8gICAgICAgICAuLi4KLSAgICAgICAgLy8g
ICAgICAgICBmcmVlKHB0cik7Ci0gICAgICAgIC8vICAgICB9Ci0gICAgICAgIGlmIChtX251bWJl
ck9mQWxsb2NhdGlvbnNGcm9tU2hhcmVkSW5PbmVDeWNsZSA8PSBJc29QYWdlPENvbmZpZz46Om51
bU9iamVjdHMpCi0gICAgICAgICAgICByZXR1cm4gQWxsb2NhdGlvbk1vZGU6OlNoYXJlZDsKLSAg
ICAgICAgQkZBTExUSFJPVUdIOworICAgICAgICBzd2l0Y2ggKG1fYWxsb2NhdGlvbk1vZGUpIHsK
KyAgICAgICAgY2FzZSBBbGxvY2F0aW9uTW9kZTo6U2hhcmVkOgorICAgICAgICAgICAgLy8gQ3Vy
cmVudGx5IGluIHRoZSBzaGFyZWQgYWxsb2NhdGlvbiBtb2RlLiBVbnRpbCB3ZSBleGhhdXN0IHNo
YXJlZCBmcmVlIGNlbGxzLCBjb250aW51ZSB1c2luZyB0aGUgc2hhcmVkIGFsbG9jYXRpb24gbW9k
ZS4KKyAgICAgICAgICAgIC8vIEJ1dCBpZiB3ZSBhbGxvY2F0ZSBzbyBtYW55IHNoYXJlZCBjZWxs
cyB3aXRoaW4gdmVyeSBzaG9ydCBwZXJpb2QsIHdlIHNob3VsZCB1c2UgdGhlIGZhc3QgYWxsb2Nh
dGlvbiBtb2RlIGluc3RlYWQuCisgICAgICAgICAgICAvLyBUaGlzIGF2b2lkcyB0aGUgZm9sbG93
aW5nIHBhdGhvbG9naWNhbCBjYXNlLgorICAgICAgICAgICAgLy8KKyAgICAgICAgICAgIC8vICAg
ICBmb3IgKGludCBpID0gMDsgaSA8IDFlNjsgKytpKSB7CisgICAgICAgICAgICAvLyAgICAgICAg
IGF1dG8qIHB0ciA9IGFsbG9jYXRlKCk7CisgICAgICAgICAgICAvLyAgICAgICAgIC4uLgorICAg
ICAgICAgICAgLy8gICAgICAgICBmcmVlKHB0cik7CisgICAgICAgICAgICAvLyAgICAgfQorICAg
ICAgICAgICAgaWYgKG1fbnVtYmVyT2ZBbGxvY2F0aW9uc0Zyb21TaGFyZWRJbk9uZUN5Y2xlIDw9
IElzb1BhZ2U8Q29uZmlnPjo6bnVtT2JqZWN0cykKKyAgICAgICAgICAgICAgICByZXR1cm4gQWxs
b2NhdGlvbk1vZGU6OlNoYXJlZDsKKyAgICAgICAgICAgIEJGQUxMVEhST1VHSDsKIAotICAgIGNh
c2UgQWxsb2NhdGlvbk1vZGU6OkZhc3Q6IHsKLSAgICAgICAgLy8gVGhlIGFsbG9jYXRpb24gcGF0
dGVybiBtYXkgY2hhbmdlLiBXZSBzaG91bGQgY2hlY2sgdGhlIGFsbG9jYXRpb24gcmF0ZSBhbmQg
ZGVjaWRlIHdoaWNoIG1vZGUgaXMgbW9yZSBhcHByb3ByaWF0ZS4KLSAgICAgICAgLy8gSWYgd2Ug
ZG9uJ3QgZ28gdG8gdGhlIGFsbG9jYXRpb24gc2xvdyBwYXRoIGR1cmluZyAxfiBzZWNvbmRzLCB3
ZSB0aGluayB0aGUgYWxsb2NhdGlvbiBiZWNvbWVzIHF1aWVzY2VudCBzdGF0ZS4KLSAgICAgICAg
YXV0byBub3cgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKLSAgICAgICAgaWYg
KChub3cgLSBtX3Nsb3dQYXRoVGltZVBvaW50KSA8IHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDEpKSB7
Ci0gICAgICAgICAgICBtX3Nsb3dQYXRoVGltZVBvaW50ID0gbm93OwotICAgICAgICAgICAgcmV0
dXJuIEFsbG9jYXRpb25Nb2RlOjpGYXN0OworICAgICAgICBjYXNlIEFsbG9jYXRpb25Nb2RlOjpG
YXN0OiB7CisgICAgICAgICAgICAvLyBUaGUgYWxsb2NhdGlvbiBwYXR0ZXJuIG1heSBjaGFuZ2Uu
IFdlIHNob3VsZCBjaGVjayB0aGUgYWxsb2NhdGlvbiByYXRlIGFuZCBkZWNpZGUgd2hpY2ggbW9k
ZSBpcyBtb3JlIGFwcHJvcHJpYXRlLgorICAgICAgICAgICAgLy8gSWYgd2UgZG9uJ3QgZ28gdG8g
dGhlIGFsbG9jYXRpb24gc2xvdyBwYXRoIGR1cmluZyB+MSBzZWNvbmRzLCB3ZSB0aGluayB0aGUg
YWxsb2NhdGlvbiBiZWNvbWVzIHF1aWVzY2VudCBzdGF0ZS4KKyAgICAgICAgICAgIGF1dG8gbm93
ID0gc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CisgICAgICAgICAgICBpZiAoKG5v
dyAtIG1fbGFzdFNsb3dQYXRoVGltZSkgPCBzdGQ6OmNocm9ubzo6c2Vjb25kcygxKSkgeworICAg
ICAgICAgICAgICAgIG1fbGFzdFNsb3dQYXRoVGltZSA9IG5vdzsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gQWxsb2NhdGlvbk1vZGU6OkZhc3Q7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IG1fbnVtYmVyT2ZBbGxvY2F0aW9uc0Zyb21TaGFyZWRJbk9uZUN5Y2xlID0gMDsKKyAgICAgICAg
ICAgIG1fbGFzdFNsb3dQYXRoVGltZSA9IG5vdzsKKyAgICAgICAgICAgIHJldHVybiBBbGxvY2F0
aW9uTW9kZTo6U2hhcmVkOwogICAgICAgICB9CiAKLSAgICAgICAgbV9udW1iZXJPZkFsbG9jYXRp
b25zRnJvbVNoYXJlZEluT25lQ3ljbGUgPSAwOwotICAgICAgICBtX3Nsb3dQYXRoVGltZVBvaW50
ID0gbm93OwotICAgICAgICByZXR1cm4gQWxsb2NhdGlvbk1vZGU6OlNoYXJlZDsKLSAgICB9Cisg
ICAgICAgIGNhc2UgQWxsb2NhdGlvbk1vZGU6OkluaXQ6CisgICAgICAgICAgICBtX2xhc3RTbG93
UGF0aFRpbWUgPSBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKTsKKyAgICAgICAgICAg
IHJldHVybiBBbGxvY2F0aW9uTW9kZTo6U2hhcmVkOworICAgICAgICB9CiAKLSAgICBjYXNlIEFs
bG9jYXRpb25Nb2RlOjpJbml0OgotICAgICAgICBtX3Nsb3dQYXRoVGltZVBvaW50ID0gc3RkOjpj
aHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCk7CiAgICAgICAgIHJldHVybiBBbGxvY2F0aW9uTW9k
ZTo6U2hhcmVkOwotICAgIH0KLQotICAgIHJldHVybiBBbGxvY2F0aW9uTW9kZTo6U2hhcmVkOwor
ICAgIH07CisgICAgQWxsb2NhdGlvbk1vZGUgYWxsb2NhdGlvbk1vZGUgPSBnZXROZXdBbGxvY2F0
aW9uTW9kZSgpOworICAgIG1fYWxsb2NhdGlvbk1vZGUgPSBhbGxvY2F0aW9uTW9kZTsKKyAgICBy
ZXR1cm4gYWxsb2NhdGlvbk1vZGU7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIENvbmZpZz4KLXZv
aWQqIElzb0hlYXBJbXBsPENvbmZpZz46OmFsbG9jYXRlRnJvbVNoYXJlZChib29sIGFib3J0T25G
YWlsdXJlKQordm9pZCogSXNvSGVhcEltcGw8Q29uZmlnPjo6YWxsb2NhdGVGcm9tU2hhcmVkKGNv
bnN0IHN0ZDo6bG9ja19ndWFyZDxNdXRleD4mLCBib29sIGFib3J0T25GYWlsdXJlKQogewogICAg
IHN0YXRpYyBjb25zdGV4cHIgYm9vbCB2ZXJib3NlID0gZmFsc2U7CiAKLSAgICB1bnNpZ25lZCBp
bmRleFBsdXNPbmUgPSBfX2J1aWx0aW5fZmZzKG1fdXNhYmxlQml0cyk7CisgICAgdW5zaWduZWQg
aW5kZXhQbHVzT25lID0gX19idWlsdGluX2ZmcyhtX2F2YWlsYWJsZVNoYXJlZCk7CiAgICAgQkFT
U0VSVChpbmRleFBsdXNPbmUpOwogICAgIHVuc2lnbmVkIGluZGV4ID0gaW5kZXhQbHVzT25lIC0g
MTsKICAgICB2b2lkKiByZXN1bHQgPSBtX3NoYXJlZENlbGxzW2luZGV4XTsKQEAgLTMwMCw3ICsz
MDMsNyBAQCB2b2lkKiBJc29IZWFwSW1wbDxDb25maWc+OjphbGxvY2F0ZUZyb21TaGFyZWQoYm9v
bCBhYm9ydE9uRmFpbHVyZSkKICAgICAgICAgbV9zaGFyZWRDZWxsc1tpbmRleF0gPSByZXN1bHQ7
CiAgICAgfQogICAgIEJBU1NFUlQocmVzdWx0KTsKLSAgICBtX3VzYWJsZUJpdHMgJj0gKH4oMVUg
PDwgaW5kZXgpKTsKKyAgICBtX2F2YWlsYWJsZVNoYXJlZCAmPSB+KDFVIDw8IGluZGV4KTsKICAg
ICArK21fbnVtYmVyT2ZBbGxvY2F0aW9uc0Zyb21TaGFyZWRJbk9uZUN5Y2xlOwogICAgIHJldHVy
biByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0lzb1NoYXJl
ZEhlYXBJbmxpbmVzLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0lzb1NoYXJlZEhlYXBJbmxp
bmVzLmgKaW5kZXggM2U2MzU2YWZiNzQ4MGIzMGU5YTc4MjEwOTcwNTJkM2JkYjNmMDE1ZS4uZDlm
N2YxMTY2YzVhZDA2ZjA0ZDgxMjFjNDk4ODIyN2JkZmQwMWQwNCAxMDA2NDQKLS0tIGEvU291cmNl
L2JtYWxsb2MvYm1hbGxvYy9Jc29TaGFyZWRIZWFwSW5saW5lcy5oCisrKyBiL1NvdXJjZS9ibWFs
bG9jL2JtYWxsb2MvSXNvU2hhcmVkSGVhcElubGluZXMuaApAQCAtNDMsMTEgKzQzLDE2IEBAIHZv
aWQqIFZhcmlhZGljQnVtcEFsbG9jYXRvcjo6YWxsb2NhdGUoY29uc3QgRnVuYyYgc2xvd1BhdGgp
CiAgICAgcmV0dXJuIHNsb3dQYXRoKCk7CiB9CiAKK2lubGluZSBjb25zdGV4cHIgdW5zaWduZWQg
Y29tcHV0ZU9iamVjdFNpemVGb3JTaGFyZWRDZWxsKHVuc2lnbmVkIG9iamVjdFNpemUpCit7Cisg
ICAgcmV0dXJuIHJvdW5kVXBUb011bHRpcGxlT2Y8YWxpZ25tZW50Rm9ySXNvU2hhcmVkQWxsb2Nh
dGlvbj4oc3RhdGljX2Nhc3Q8dWludHB0cl90PihvYmplY3RTaXplKSk7Cit9CisKIHRlbXBsYXRl
PHVuc2lnbmVkIHBhc3NlZE9iamVjdFNpemU+CiB2b2lkKiBJc29TaGFyZWRIZWFwOjphbGxvY2F0
ZU5ldyhib29sIGFib3J0T25GYWlsdXJlKQogewogICAgIHN0ZDo6bG9ja19ndWFyZDxNdXRleD4g
bG9ja2VyKG11dGV4KCkpOwotICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBvYmplY3RTaXplID0gcm91
bmRVcFRvTXVsdGlwbGVPZjxhbGlnbm1lbnRGb3JJc29TaGFyZWRBbGxvY2F0aW9uPihzdGF0aWNf
Y2FzdDx1aW50cHRyX3Q+KHBhc3NlZE9iamVjdFNpemUpKTsKKyAgICBjb25zdGV4cHIgdW5zaWdu
ZWQgb2JqZWN0U2l6ZSA9IGNvbXB1dGVPYmplY3RTaXplRm9yU2hhcmVkQ2VsbChwYXNzZWRPYmpl
Y3RTaXplKTsKICAgICByZXR1cm4gbV9hbGxvY2F0b3IudGVtcGxhdGUgYWxsb2NhdGU8b2JqZWN0
U2l6ZT4oCiAgICAgICAgIFsmXSAoKSAtPiB2b2lkKiB7CiAgICAgICAgICAgICByZXR1cm4gYWxs
b2NhdGVTbG93PHBhc3NlZE9iamVjdFNpemU+KGFib3J0T25GYWlsdXJlKTsKQEAgLTczLDcgKzc4
LDcgQEAgQk5PX0lOTElORSB2b2lkKiBJc29TaGFyZWRIZWFwOjphbGxvY2F0ZVNsb3coYm9vbCBh
Ym9ydE9uRmFpbHVyZSkKICAgICBtX2N1cnJlbnRQYWdlID0gcGFnZTsKICAgICBtX2FsbG9jYXRv
ciA9IG1fY3VycmVudFBhZ2UtPnN0YXJ0QWxsb2NhdGluZygpOwogCi0gICAgY29uc3RleHByIHVu
c2lnbmVkIG9iamVjdFNpemUgPSByb3VuZFVwVG9NdWx0aXBsZU9mPGFsaWdubWVudEZvcklzb1No
YXJlZEFsbG9jYXRpb24+KHN0YXRpY19jYXN0PHVpbnRwdHJfdD4ocGFzc2VkT2JqZWN0U2l6ZSkp
OworICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBvYmplY3RTaXplID0gY29tcHV0ZU9iamVjdFNpemVG
b3JTaGFyZWRDZWxsKHBhc3NlZE9iamVjdFNpemUpOwogICAgIHJldHVybiBtX2FsbG9jYXRvci5h
bGxvY2F0ZTxvYmplY3RTaXplPihbXSAoKSB7IEJDUkFTSCgpOyByZXR1cm4gbnVsbHB0cjsgfSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSXNvU2hhcmVkUGFnZS5o
IGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Jc29TaGFyZWRQYWdlLmgKaW5kZXggMjI0ZWYyMDgx
NjcyNDU4M2M4YWMzZjJlNTIxOTU0MjdhNjFjZGE1Yi4uYTllMTM3ZTQxNDE4ODU2NGQwNTgwNDQ5
MGI1NDM3YTUwMGU1NzBiYiAxMDA2NDQKLS0tIGEvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Jc29T
aGFyZWRQYWdlLmgKKysrIGIvU291cmNlL2JtYWxsb2MvYm1hbGxvYy9Jc29TaGFyZWRQYWdlLmgK
QEAgLTM4LDcgKzM4LDcgQEAgY2xhc3MgSXNvU2hhcmVkUGFnZSA6IHB1YmxpYyBJc29QYWdlQmFz
ZSB7CiAgICAgQkVYUE9SVCBzdGF0aWMgSXNvU2hhcmVkUGFnZSogdHJ5Q3JlYXRlKCk7CiAKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBDb25maWcsIHR5cGVuYW1lIFR5cGU+Ci0gICAgdm9pZCBmcmVl
KGFwaTo6SXNvSGVhcDxUeXBlPiYsIHZvaWQqKTsKKyAgICB2b2lkIGZyZWUoY29uc3Qgc3RkOjps
b2NrX2d1YXJkPE11dGV4PiYsIGFwaTo6SXNvSGVhcDxUeXBlPiYsIHZvaWQqKTsKICAgICBWYXJp
YWRpY0J1bXBBbGxvY2F0b3Igc3RhcnRBbGxvY2F0aW5nKCk7CiAgICAgdm9pZCBzdG9wQWxsb2Nh
dGluZygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0lzb1NoYXJlZFBh
Z2VJbmxpbmVzLmggYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0lzb1NoYXJlZFBhZ2VJbmxpbmVz
LmgKaW5kZXggZjU3MzBkZjg0MzgxMzE3ODY1ZTMyM2M4ZWE1YjZmMzY3ZDM2OGFkNS4uYzQyMTZi
NTFkYWM5ZDFlOTVjMzAzNWQ2NjE2ZmEzZTdjZTU5MDdhOSAxMDA2NDQKLS0tIGEvU291cmNlL2Jt
YWxsb2MvYm1hbGxvYy9Jc29TaGFyZWRQYWdlSW5saW5lcy5oCisrKyBiL1NvdXJjZS9ibWFsbG9j
L2JtYWxsb2MvSXNvU2hhcmVkUGFnZUlubGluZXMuaApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3Bh
Y2UgYm1hbGxvYyB7CiAvLyBUaGlzIGlzIGJlY2F1c2UgZW1wdHkgSXNvU2hhcmVkUGFnZSBpcyBz
dGlsbCBzcGxpdCBpbnRvIHZhcmlvdXMgZGlmZmVyZW50IG9iamVjdHMgdGhhdCBzaG91bGQga2Vl
cCBzb21lIHBhcnQgb2YgdmlydHVhbCBtZW1vcnkgcmVnaW9uIGRlZGljYXRlZC4KIC8vIFdlIGNh
bm5vdCBzZXQgdXAgYnVtcCBhbGxvY2F0aW9uIGZvciBzdWNoIGEgcGFnZS4gTm90IGZyZWVpbmcg
SXNvU2hhcmVkUGFnZXMgYXJlIE9LIHNpbmNlIElzb1NoYXJlZFBhZ2UgaXMgb25seSB1c2VkIGZv
ciB0aGUgbG93ZXIgdGllciBvZiBJc29IZWFwLgogdGVtcGxhdGU8dHlwZW5hbWUgQ29uZmlnLCB0
eXBlbmFtZSBUeXBlPgotdm9pZCBJc29TaGFyZWRQYWdlOjpmcmVlKGFwaTo6SXNvSGVhcDxUeXBl
PiYgaGFuZGxlLCB2b2lkKiBwdHIpCit2b2lkIElzb1NoYXJlZFBhZ2U6OmZyZWUoY29uc3Qgc3Rk
Ojpsb2NrX2d1YXJkPE11dGV4PiYsIGFwaTo6SXNvSGVhcDxUeXBlPiYgaGFuZGxlLCB2b2lkKiBw
dHIpCiB7CiAgICAgYXV0byYgaGVhcEltcGwgPSBoYW5kbGUuaW1wbCgpOwogICAgIHVpbnQ4X3Qg
aW5kZXggPSAqaW5kZXhTbG90Rm9yPENvbmZpZz4ocHRyKSAmIElzb0hlYXBJbXBsQmFzZTo6bWF4
QWxsb2NhdGlvbkZyb21TaGFyZWRNYXNrOwpAQCAtNDMsNyArNDMsNyBAQCB2b2lkIElzb1NoYXJl
ZFBhZ2U6OmZyZWUoYXBpOjpJc29IZWFwPFR5cGU+JiBoYW5kbGUsIHZvaWQqIHB0cikKICAgICAv
LyBJZiB2cHRyIGlzIHJlcGxhY2VkIHRvIHRoZSBvdGhlciB2cHRyLCB3ZSBtYXkgYWNjaWRlbnRh
bGx5IGNoYWluIHRoaXMgcG9pbnRlciB0byB0aGUgaW5jb3JyZWN0IEhlYXBJbXBsQmFzZSwgd2hp
Y2ggdG90YWxseSBicmVha3MgdGhlIElzb0hlYXAncyBnb2FsLgogICAgIC8vIFRvIGhhcmRlbiB0
aGF0LCB3ZSB2YWxpZGF0ZSB0aGF0IHRoaXMgcG9pbnRlciBpcyBhY3R1YWxseSBhbGxvY2F0ZWQg
Zm9yIGEgc3BlY2lmaWMgSGVhcEltcGxCYXNlIGhlcmUgYnkgY2hlY2tpbmcgd2hldGhlciB0aGlz
IHBvaW50ZXIgaXMgbGlzdGVkIGluIEhlYXBJbXBsQmFzZSdzIHNoYXJlZCBjZWxscy4KICAgICBS
RUxFQVNFX0JBU1NFUlQoaGVhcEltcGwubV9zaGFyZWRDZWxsc1tpbmRleF0gPT0gcHRyKTsKLSAg
ICBoZWFwSW1wbC5tX3VzYWJsZUJpdHMgfD0gKDFVIDw8IGluZGV4KTsKKyAgICBoZWFwSW1wbC5t
X2F2YWlsYWJsZVNoYXJlZCB8PSAoMVUgPDwgaW5kZXgpOwogfQogCiBpbmxpbmUgVmFyaWFkaWNC
dW1wQWxsb2NhdG9yIElzb1NoYXJlZFBhZ2U6OnN0YXJ0QWxsb2NhdGluZygpCg==
</data>
<flag name="review"
          id="384569"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>