<?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>158367</bug_id>
          
          <creation_ts>2016-06-03 16:07:37 -0700</creation_ts>
          <short_desc>Avoid an extra heap allocation when dispatching Functions to WorkQueue</short_desc>
          <delta_ts>2022-02-28 03:50:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1199097</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-03 16:07:37 -0700</bug_when>
    <thetext>Avoid an extra heap allocation when dispatching Functions to WorkQueue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199098</commentid>
    <comment_count>1</comment_count>
      <attachid>280479</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-03 16:10:12 -0700</bug_when>
    <thetext>Created attachment 280479
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199101</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-03 16:12:31 -0700</bug_when>
    <thetext>Attachment 280479 did not pass style-queue:


ERROR: Source/WTF/wtf/Function.h:73:  Boolean expressions that span multiple lines should have their operators on the left side of the line instead of the right side.  [whitespace/operators] [4]
ERROR: Source/WTF/wtf/Function.h:74:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199104</commentid>
    <comment_count>3</comment_count>
      <attachid>280479</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-03 16:21:32 -0700</bug_when>
    <thetext>Comment on attachment 280479
Patch

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

&gt; Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp:37
&gt; +        callback.callback(callback.context);

Cannot we make it look like:
callback(); ?

It is a bit sad to have to specify callback.context at the call site, or having callback.callback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199105</commentid>
    <comment_count>4</comment_count>
      <attachid>280479</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-03 16:23:23 -0700</bug_when>
    <thetext>Comment on attachment 280479
Patch

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

&gt; Source/WTF/wtf/Function.h:75
&gt; +        return Callback { m_callableWrapper.release(), [](void* context, In... in) -&gt; Out {

Wouldn&apos;t this work?:
Auto* contextPtr = m_callableWrapper.get();
return Callback { m_callableWrapper.release(), [contextPtr](In... in) -&gt; Out {
...
};</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199106</commentid>
    <comment_count>5</comment_count>
      <attachid>280479</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-03 16:24:24 -0700</bug_when>
    <thetext>Comment on attachment 280479
Patch

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

&gt;&gt; Source/WTF/wtf/Function.h:75
&gt;&gt; +        return Callback { m_callableWrapper.release(), [](void* context, In... in) -&gt; Out {
&gt; 
&gt; Wouldn&apos;t this work?:
&gt; Auto* contextPtr = m_callableWrapper.get();
&gt; return Callback { m_callableWrapper.release(), [contextPtr](In... in) -&gt; Out {
&gt; ...
&gt; };

And then Callback&apos;s members would be private and it would have an operator()(In...).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199109</commentid>
    <comment_count>6</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-06-03 16:26:43 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 280479 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=280479&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/Function.h:75
&gt; &gt; +        return Callback { m_callableWrapper.release(), [](void* context, In... in) -&gt; Out {
&gt; 
&gt; Wouldn&apos;t this work?:
&gt; Auto* contextPtr = m_callableWrapper.get();
&gt; return Callback { m_callableWrapper.release(), [contextPtr](In... in) -&gt; Out
&gt; {
&gt; ...
&gt; };

It wouldn&apos;t work, because the second lambda is just a function declaration - it can&apos;t capture anything.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1199570</commentid>
    <comment_count>7</comment_count>
      <attachid>280479</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-06 09:07:49 -0700</bug_when>
    <thetext>Comment on attachment 280479
Patch

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

&gt;&gt;&gt;&gt; Source/WTF/wtf/Function.h:75
&gt;&gt;&gt;&gt; +        return Callback { m_callableWrapper.release(), [](void* context, In... in) -&gt; Out {
&gt;&gt;&gt; 
&gt;&gt;&gt; Wouldn&apos;t this work?:
&gt;&gt;&gt; Auto* contextPtr = m_callableWrapper.get();
&gt;&gt;&gt; return Callback { m_callableWrapper.release(), [contextPtr](In... in) -&gt; Out {
&gt;&gt;&gt; ...
&gt;&gt;&gt; };
&gt;&gt; 
&gt;&gt; And then Callback&apos;s members would be private and it would have an operator()(In...).
&gt; 
&gt; It wouldn&apos;t work, because the second lambda is just a function declaration - it can&apos;t capture anything.

Oh, I see. I still worry about several things:
1. It seems a bit leak-prone. We&apos;ll leak if no one calls callback().
2. It seems a bit error-prone. It will crash if someone tries to call the callback more than once
3. The syntax is not very nice at the call site.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203864</commentid>
    <comment_count>8</comment_count>
      <attachid>281672</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-20 13:25:16 -0700</bug_when>
    <thetext>Created attachment 281672
Alternative proposal

Anders, what would you think about something like this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203868</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-20 13:27:04 -0700</bug_when>
    <thetext>Attachment 281672 did not pass style-queue:


ERROR: Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp:36:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp:47:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203891</commentid>
    <comment_count>10</comment_count>
      <attachid>281677</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-20 14:15:11 -0700</bug_when>
    <thetext>Created attachment 281677
Alternative proposal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1203892</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-06-20 14:16:06 -0700</bug_when>
    <thetext>Attachment 281677 did not pass style-queue:


ERROR: Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp:36:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp:47:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1204515</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-06-22 09:21:51 -0700</bug_when>
    <thetext>Anders, any thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1208413</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-06 14:50:38 -0700</bug_when>
    <thetext>Ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1211078</commentid>
    <comment_count>14</comment_count>
      <attachid>281677</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-07-14 12:19:02 -0700</bug_when>
    <thetext>Comment on attachment 281677
Alternative proposal

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

&gt; Source/WTF/wtf/NoncopyableFunction.h:77
&gt; +    CallableWrapperBase* leakCallable()

Should WARN_UNUSED_RESULT here (if possible).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1211082</commentid>
    <comment_count>15</comment_count>
      <attachid>283667</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-14 12:26:36 -0700</bug_when>
    <thetext>Created attachment 283667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1211083</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-14 12:27:56 -0700</bug_when>
    <thetext>Attachment 283667 did not pass style-queue:


ERROR: Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp:36:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WTF/wtf/cocoa/WorkQueueCocoa.cpp:47:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WTF/wtf/Function.h:78:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 3 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1211095</commentid>
    <comment_count>17</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-07-14 12:46:17 -0700</bug_when>
    <thetext>Committed r203236: &lt;http://trac.webkit.org/changeset/203236&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280479</attachid>
            <date>2016-06-03 16:10:12 -0700</date>
            <delta_ts>2016-07-14 12:19:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158367-20160603161133.patch</filename>
            <type>text/plain</type>
            <size>3134</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAxNjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI0ZGU5NmZmZTlmNGVkOTA0OGM0MDQ0
MTQwOGY0MWQwNzUxNWRkZTguLjIxMDc1OTZiZjAxZjZiMTk5ZTI1NzllMDE0NzRlMWVhZDdjNzYz
NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjIgQEAKIDIwMTYtMDYtMDMgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KIAorICAgICAgICBBdm9pZCBhbiBleHRyYSBoZWFwIGFsbG9jYXRp
b24gd2hlbiBkaXNwYXRjaGluZyBGdW5jdGlvbnMgdG8gV29ya1F1ZXVlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNjcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9GdW5jdGlvbi5oOgorICAg
ICAgICBBZGQgYSBuZXcgQ2FsbGJhY2sgc3RydWN0IHRoYXQgY29uc2lzdHMgb2YgYSB2b2lkKiBh
bmQgZnVuY3Rpb24gcG9pbnRlciBwYWlyLgorICAgICAgICBBbHNvLCBhZGQgYSB0b0NhbGxiYWNr
KCkgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgQ2FsbGJhY2suIFdoZW4gY2FsbGluZyB0aGUgZnVu
Y3Rpb24gcG9pbnRlcgorICAgICAgICBhbmQgcGFzc2luZyB0aGUgdm9pZCogcG9pbnRlciB0byBp
dCwgaXQgd2lsbCBpbnZva2UgdGhlIHVuZGVybHlpbmcgZnVuY3Rpb24gYW5kIHRoZW4gZGVsZXRl
IGl0LgorCisgICAgICAgICogd3RmL2NvY29hL1dvcmtRdWV1ZUNvY29hLmNwcDoKKyAgICAgICAg
KFdURjo6V29ya1F1ZXVlOjpkaXNwYXRjaCk6CisgICAgICAgIChXVEY6OldvcmtRdWV1ZTo6ZGlz
cGF0Y2hBZnRlcik6CisgICAgICAgIFVzZSB0b0NhbGxiYWNrKCkuCisKKzIwMTYtMDYtMDMgIEFu
ZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKwogICAgICAgICBSZW5hbWUgTm9u
Y29weWFibGVGdW5jdGlvbiB0byBGdW5jdGlvbgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU4MzU0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L0Z1bmN0aW9uLmggYi9Tb3VyY2UvV1RGL3d0Zi9GdW5jdGlvbi5oCmluZGV4IDVkMmIyZGI4ZGVh
YmNkMWMyMzZjZmZkMjM3MmM4NmNhNTMwN2I2ZjQuLjZmZTk0NmMzZjc0YWM0MmExZjczODVmZjFk
NTc0ZDg1ZTIyZjI2MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Z1bmN0aW9uLmgKKysr
IGIvU291cmNlL1dURi93dGYvRnVuY3Rpb24uaApAQCAtNjUsNiArNjUsMjAgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAgfQogCisgICAgc3RydWN0IENhbGxiYWNrIHsKKyAg
ICAgICAgdm9pZCogY29udGV4dDsKKyAgICAgICAgT3V0ICgqY2FsbGJhY2spKHZvaWQqLCBJbi4u
Lik7CisgICAgfTsKKworICAgIENhbGxiYWNrIHRvQ2FsbGJhY2soKSAmJgorICAgIHsKKyAgICAg
ICAgcmV0dXJuIENhbGxiYWNrIHsgbV9jYWxsYWJsZVdyYXBwZXIucmVsZWFzZSgpLCBbXSh2b2lk
KiBjb250ZXh0LCBJbi4uLiBpbikgLT4gT3V0IHsKKyAgICAgICAgICAgIGF1dG8gY2FsbGFibGVX
cmFwcGVyID0gc3RkOjp1bmlxdWVfcHRyPENhbGxhYmxlV3JhcHBlckJhc2U+KHN0YXRpY19jYXN0
PENhbGxhYmxlV3JhcHBlckJhc2UqPihjb250ZXh0KSk7CisKKyAgICAgICAgICAgIHJldHVybiBj
YWxsYWJsZVdyYXBwZXItPmNhbGwoc3RkOjpmb3J3YXJkPEluPihpbikuLi4pOworICAgICAgICB9
IH07CisgICAgfQorCiBwcml2YXRlOgogICAgIGNsYXNzIENhbGxhYmxlV3JhcHBlckJhc2Ugewog
ICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL2NvY29hL1dvcmtRdWV1ZUNvY29hLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1dvcmtR
dWV1ZUNvY29hLmNwcAppbmRleCBmZGJlZjczYmFlYzE2YWM1NDJjZmE2NGUwZmI0ZmNjNzMzYWU4
MjVhLi42MjRmMDMxMWRhYjU5YzJlMjM1NGJiYTkyNjAxOGQ3ZjZiYzRmMWQ2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Xb3JrUXVldWVDb2NvYS5jcHAKKysrIGIvU291cmNlL1dU
Ri93dGYvY29jb2EvV29ya1F1ZXVlQ29jb2EuY3BwCkBAIC0zMSwxMCArMzEsMTEgQEAgbmFtZXNw
YWNlIFdURiB7CiB2b2lkIFdvcmtRdWV1ZTo6ZGlzcGF0Y2goRnVuY3Rpb248dm9pZCAoKT4mJiBm
dW5jdGlvbikKIHsKICAgICByZWYoKTsKLSAgICBhdXRvKiBmdW5jdGlvblB0ciA9IG5ldyBGdW5j
dGlvbjx2b2lkICgpPihXVEZNb3ZlKGZ1bmN0aW9uKSk7CisgICAgYXV0byBjYWxsYmFjayA9IFdU
Rk1vdmUoZnVuY3Rpb24pLnRvQ2FsbGJhY2soKTsKKwogICAgIGRpc3BhdGNoX2FzeW5jKG1fZGlz
cGF0Y2hRdWV1ZSwgXnsKLSAgICAgICAgKCpmdW5jdGlvblB0cikoKTsKLSAgICAgICAgZGVsZXRl
IGZ1bmN0aW9uUHRyOworICAgICAgICBjYWxsYmFjay5jYWxsYmFjayhjYWxsYmFjay5jb250ZXh0
KTsKKwogICAgICAgICBkZXJlZigpOwogICAgIH0pOwogfQpAQCAtNDIsMTAgKzQzLDExIEBAIHZv
aWQgV29ya1F1ZXVlOjpkaXNwYXRjaChGdW5jdGlvbjx2b2lkICgpPiYmIGZ1bmN0aW9uKQogdm9p
ZCBXb3JrUXVldWU6OmRpc3BhdGNoQWZ0ZXIoc3RkOjpjaHJvbm86Om5hbm9zZWNvbmRzIGR1cmF0
aW9uLCBGdW5jdGlvbjx2b2lkICgpPiYmIGZ1bmN0aW9uKQogewogICAgIHJlZigpOwotICAgIGF1
dG8qIGZ1bmN0aW9uUHRyID0gbmV3IEZ1bmN0aW9uPHZvaWQgKCk+KFdURk1vdmUoZnVuY3Rpb24p
KTsKKyAgICBhdXRvIGNhbGxiYWNrID0gV1RGTW92ZShmdW5jdGlvbikudG9DYWxsYmFjaygpOwor
CiAgICAgZGlzcGF0Y2hfYWZ0ZXIoZGlzcGF0Y2hfdGltZShESVNQQVRDSF9USU1FX05PVywgZHVy
YXRpb24uY291bnQoKSksIG1fZGlzcGF0Y2hRdWV1ZSwgXnsKLSAgICAgICAgKCpmdW5jdGlvblB0
cikoKTsKLSAgICAgICAgZGVsZXRlIGZ1bmN0aW9uUHRyOworICAgICAgICBjYWxsYmFjay5jYWxs
YmFjayhjYWxsYmFjay5jb250ZXh0KTsKKwogICAgICAgICBkZXJlZigpOwogICAgIH0pOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281672</attachid>
            <date>2016-06-20 13:25:16 -0700</date>
            <delta_ts>2016-06-20 14:15:11 -0700</delta_ts>
            <desc>Alternative proposal</desc>
            <filename>toCallback_second_attempt.patch</filename>
            <type>text/plain</type>
            <size>2159</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL05vbmNvcHlhYmxlRnVuY3Rpb24uaCBiL1NvdXJj
ZS9XVEYvd3RmL05vbmNvcHlhYmxlRnVuY3Rpb24uaAppbmRleCBlZWMzNjA1Li5mZTljNGQ3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9Ob25jb3B5YWJsZUZ1bmN0aW9uLmgKKysrIGIvU291
cmNlL1dURi93dGYvTm9uY29weWFibGVGdW5jdGlvbi5oCkBAIC02Niw3ICs2Niw2IEBAIHB1Ymxp
YzoKICAgICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0KIAotcHJpdmF0ZToKICAgICBjbGFzcyBD
YWxsYWJsZVdyYXBwZXJCYXNlIHsKICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgcHVibGljOgpAQCAtNzUsNiArNzQsMTkgQEAgcHJpdmF0ZToKICAgICAgICAgdmlydHVhbCBP
dXQgY2FsbChJbi4uLikgPSAwOwogICAgIH07CiAKKyAgICBDYWxsYWJsZVdyYXBwZXJCYXNlKiBs
ZWFrQ2FsbGFibGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fY2FsbGFibGVXcmFwcGVyLnJl
bGVhc2UoKTsKKyAgICB9CisKKyAgICBzdGF0aWMgTm9uY29weWFibGVGdW5jdGlvbiBhZG9wdENh
bGxhYmxlKENhbGxhYmxlV3JhcHBlckJhc2UqIGNhbGxhYmxlKQorICAgIHsKKyAgICAgICAgTm9u
Y29weWFibGVGdW5jdGlvbiBmdW5jdGlvbjsKKyAgICAgICAgZnVuY3Rpb24ubV9jYWxsYWJsZVdy
YXBwZXIucmVzZXQoY2FsbGFibGUpOworICAgICAgICByZXR1cm4gZnVuY3Rpb247CisgICAgfQor
Citwcml2YXRlOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIENhbGxhYmxlVHlwZT4KICAgICBjbGFz
cyBDYWxsYWJsZVdyYXBwZXIgOiBwdWJsaWMgQ2FsbGFibGVXcmFwcGVyQmFzZSB7CiAgICAgcHVi
bGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvV29ya1F1ZXVlQ29jb2EuY3Bw
IGIvU291cmNlL1dURi93dGYvY29jb2EvV29ya1F1ZXVlQ29jb2EuY3BwCmluZGV4IDk5NWE5NTQu
LjcxMzIzNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL1dvcmtRdWV1ZUNvY29h
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Xb3JrUXVldWVDb2NvYS5jcHAKQEAgLTMx
LDEwICszMSwxMCBAQCBuYW1lc3BhY2UgV1RGIHsKIHZvaWQgV29ya1F1ZXVlOjpkaXNwYXRjaChO
b25jb3B5YWJsZUZ1bmN0aW9uPHZvaWQgKCk+JiYgZnVuY3Rpb24pCiB7CiAgICAgcmVmKCk7Ci0g
ICAgYXV0byogZnVuY3Rpb25QdHIgPSBuZXcgTm9uY29weWFibGVGdW5jdGlvbjx2b2lkICgpPihX
VEZNb3ZlKGZ1bmN0aW9uKSk7CisgICAgYXV0byogY2FsbGFibGUgPSBmdW5jdGlvbi5sZWFrQ2Fs
bGFibGUoKTsKICAgICBkaXNwYXRjaF9hc3luYyhtX2Rpc3BhdGNoUXVldWUsIF57Ci0gICAgICAg
ICgqZnVuY3Rpb25QdHIpKCk7Ci0gICAgICAgIGRlbGV0ZSBmdW5jdGlvblB0cjsKKyAgICAgICAg
YXV0byBmdW5jdGlvbiA9IE5vbmNvcHlhYmxlRnVuY3Rpb248dm9pZCAoKT46OmFkb3B0Q2FsbGFi
bGUoY2FsbGFibGUpOworICAgICAgICBmdW5jdGlvbigpOwogICAgICAgICBkZXJlZigpOwogICAg
IH0pOwogfQpAQCAtNDIsMTAgKzQyLDEwIEBAIHZvaWQgV29ya1F1ZXVlOjpkaXNwYXRjaChOb25j
b3B5YWJsZUZ1bmN0aW9uPHZvaWQgKCk+JiYgZnVuY3Rpb24pCiB2b2lkIFdvcmtRdWV1ZTo6ZGlz
cGF0Y2hBZnRlcihzdGQ6OmNocm9ubzo6bmFub3NlY29uZHMgZHVyYXRpb24sIE5vbmNvcHlhYmxl
RnVuY3Rpb248dm9pZCAoKT4mJiBmdW5jdGlvbikKIHsKICAgICByZWYoKTsKLSAgICBhdXRvKiBm
dW5jdGlvblB0ciA9IG5ldyBOb25jb3B5YWJsZUZ1bmN0aW9uPHZvaWQgKCk+KFdURk1vdmUoZnVu
Y3Rpb24pKTsKKyAgICBhdXRvKiBjYWxsYWJsZSA9IGZ1bmN0aW9uLmxlYWtDYWxsYWJsZSgpOwog
ICAgIGRpc3BhdGNoX2FmdGVyKGRpc3BhdGNoX3RpbWUoRElTUEFUQ0hfVElNRV9OT1csIGR1cmF0
aW9uLmNvdW50KCkpLCBtX2Rpc3BhdGNoUXVldWUsIF57Ci0gICAgICAgICgqZnVuY3Rpb25QdHIp
KCk7Ci0gICAgICAgIGRlbGV0ZSBmdW5jdGlvblB0cjsKKyAgICAgICAgYXV0byBmdW5jdGlvbiA9
IE5vbmNvcHlhYmxlRnVuY3Rpb248dm9pZCAoKT46OmFkb3B0Q2FsbGFibGUoY2FsbGFibGUpOwor
ICAgICAgICBmdW5jdGlvbigpOwogICAgICAgICBkZXJlZigpOwogICAgIH0pOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>281677</attachid>
            <date>2016-06-20 14:15:11 -0700</date>
            <delta_ts>2016-07-14 12:26:31 -0700</delta_ts>
            <desc>Alternative proposal</desc>
            <filename>158367_leak_callable.patch</filename>
            <type>text/plain</type>
            <size>2982</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMTdiNDFmMy4uZTk1OWFlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNi0wNi0yMCAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEF2b2lkIGFuIGV4dHJh
IGhlYXAgYWxsb2NhdGlvbiB3aGVuIGRpc3BhdGNoaW5nIEZ1bmN0aW9ucyB0byBXb3JrUXVldWUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM2Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEF2b2lkIGFu
IGV4dHJhIGhlYXAgYWxsb2NhdGlvbiB3aGVuIGRpc3BhdGNoaW5nIEZ1bmN0aW9ucyB0byBXb3Jr
UXVldWUKKyAgICAgICAgYnkgYWRkaW5nIGxlYWtDYWxsYWJsZSgpIC8gYWRvcHRDYWxsYWJsZSgp
IGZ1bmN0aW9ucyB0bworICAgICAgICBOb25Db3B5YWJsZUZ1bmN0aW9uLgorCisgICAgICAgICog
d3RmL05vbmNvcHlhYmxlRnVuY3Rpb24uaDoKKyAgICAgICAgKiB3dGYvY29jb2EvV29ya1F1ZXVl
Q29jb2EuY3BwOgorICAgICAgICAoV1RGOjpXb3JrUXVldWU6OmRpc3BhdGNoKToKKyAgICAgICAg
KFdURjo6V29ya1F1ZXVlOjpkaXNwYXRjaEFmdGVyKToKKwogMjAxNi0wNi0xNyAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIE9wdGltaXplIHBhcnNlQ2FjaGVIZWFk
ZXIoKSBieSB1c2luZyBTdHJpbmdWaWV3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9Ob25j
b3B5YWJsZUZ1bmN0aW9uLmggYi9Tb3VyY2UvV1RGL3d0Zi9Ob25jb3B5YWJsZUZ1bmN0aW9uLmgK
aW5kZXggZWVjMzYwNS4uZmU5YzRkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTm9uY29w
eWFibGVGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL05vbmNvcHlhYmxlRnVuY3Rpb24u
aApAQCAtNjYsNyArNjYsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICB9
CiAKLXByaXZhdGU6CiAgICAgY2xhc3MgQ2FsbGFibGVXcmFwcGVyQmFzZSB7CiAgICAgICAgIFdU
Rl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHB1YmxpYzoKQEAgLTc1LDYgKzc0LDE5IEBAIHBy
aXZhdGU6CiAgICAgICAgIHZpcnR1YWwgT3V0IGNhbGwoSW4uLi4pID0gMDsKICAgICB9OwogCisg
ICAgQ2FsbGFibGVXcmFwcGVyQmFzZSogbGVha0NhbGxhYmxlKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiBtX2NhbGxhYmxlV3JhcHBlci5yZWxlYXNlKCk7CisgICAgfQorCisgICAgc3RhdGljIE5v
bmNvcHlhYmxlRnVuY3Rpb24gYWRvcHRDYWxsYWJsZShDYWxsYWJsZVdyYXBwZXJCYXNlKiBjYWxs
YWJsZSkKKyAgICB7CisgICAgICAgIE5vbmNvcHlhYmxlRnVuY3Rpb24gZnVuY3Rpb247CisgICAg
ICAgIGZ1bmN0aW9uLm1fY2FsbGFibGVXcmFwcGVyLnJlc2V0KGNhbGxhYmxlKTsKKyAgICAgICAg
cmV0dXJuIGZ1bmN0aW9uOworICAgIH0KKworcHJpdmF0ZToKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBDYWxsYWJsZVR5cGU+CiAgICAgY2xhc3MgQ2FsbGFibGVXcmFwcGVyIDogcHVibGljIENhbGxh
YmxlV3JhcHBlckJhc2UgewogICAgIHB1YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L2NvY29hL1dvcmtRdWV1ZUNvY29hLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1dvcmtRdWV1
ZUNvY29hLmNwcAppbmRleCA5OTVhOTU0Li43MTMyMzVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9jb2NvYS9Xb3JrUXVldWVDb2NvYS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvY29jb2Ev
V29ya1F1ZXVlQ29jb2EuY3BwCkBAIC0zMSwxMCArMzEsMTAgQEAgbmFtZXNwYWNlIFdURiB7CiB2
b2lkIFdvcmtRdWV1ZTo6ZGlzcGF0Y2goTm9uY29weWFibGVGdW5jdGlvbjx2b2lkICgpPiYmIGZ1
bmN0aW9uKQogewogICAgIHJlZigpOwotICAgIGF1dG8qIGZ1bmN0aW9uUHRyID0gbmV3IE5vbmNv
cHlhYmxlRnVuY3Rpb248dm9pZCAoKT4oV1RGTW92ZShmdW5jdGlvbikpOworICAgIGF1dG8qIGNh
bGxhYmxlID0gZnVuY3Rpb24ubGVha0NhbGxhYmxlKCk7CiAgICAgZGlzcGF0Y2hfYXN5bmMobV9k
aXNwYXRjaFF1ZXVlLCBeewotICAgICAgICAoKmZ1bmN0aW9uUHRyKSgpOwotICAgICAgICBkZWxl
dGUgZnVuY3Rpb25QdHI7CisgICAgICAgIGF1dG8gZnVuY3Rpb24gPSBOb25jb3B5YWJsZUZ1bmN0
aW9uPHZvaWQgKCk+OjphZG9wdENhbGxhYmxlKGNhbGxhYmxlKTsKKyAgICAgICAgZnVuY3Rpb24o
KTsKICAgICAgICAgZGVyZWYoKTsKICAgICB9KTsKIH0KQEAgLTQyLDEwICs0MiwxMCBAQCB2b2lk
IFdvcmtRdWV1ZTo6ZGlzcGF0Y2goTm9uY29weWFibGVGdW5jdGlvbjx2b2lkICgpPiYmIGZ1bmN0
aW9uKQogdm9pZCBXb3JrUXVldWU6OmRpc3BhdGNoQWZ0ZXIoc3RkOjpjaHJvbm86Om5hbm9zZWNv
bmRzIGR1cmF0aW9uLCBOb25jb3B5YWJsZUZ1bmN0aW9uPHZvaWQgKCk+JiYgZnVuY3Rpb24pCiB7
CiAgICAgcmVmKCk7Ci0gICAgYXV0byogZnVuY3Rpb25QdHIgPSBuZXcgTm9uY29weWFibGVGdW5j
dGlvbjx2b2lkICgpPihXVEZNb3ZlKGZ1bmN0aW9uKSk7CisgICAgYXV0byogY2FsbGFibGUgPSBm
dW5jdGlvbi5sZWFrQ2FsbGFibGUoKTsKICAgICBkaXNwYXRjaF9hZnRlcihkaXNwYXRjaF90aW1l
KERJU1BBVENIX1RJTUVfTk9XLCBkdXJhdGlvbi5jb3VudCgpKSwgbV9kaXNwYXRjaFF1ZXVlLCBe
ewotICAgICAgICAoKmZ1bmN0aW9uUHRyKSgpOwotICAgICAgICBkZWxldGUgZnVuY3Rpb25QdHI7
CisgICAgICAgIGF1dG8gZnVuY3Rpb24gPSBOb25jb3B5YWJsZUZ1bmN0aW9uPHZvaWQgKCk+Ojph
ZG9wdENhbGxhYmxlKGNhbGxhYmxlKTsKKyAgICAgICAgZnVuY3Rpb24oKTsKICAgICAgICAgZGVy
ZWYoKTsKICAgICB9KTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>283667</attachid>
            <date>2016-07-14 12:26:36 -0700</date>
            <delta_ts>2022-02-28 03:50:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-158367-20160714122549.patch</filename>
            <type>text/plain</type>
            <size>3061</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzMjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDM4M2ZmZGZlNDRmNTEwM2MxODE5MWNi
ZDQ0ZWIyYzMzNTg1ODRmYzYuLjlkNTQzYTlhYzE4NmY2NTExMGYzOGZmOTNkYzNkYzZjOWY5MmU0
N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTYtMDctMTQgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBBdm9pZCBhbiBleHRyYSBoZWFwIGFsbG9jYXRpb24gd2hl
biBkaXNwYXRjaGluZyBGdW5jdGlvbnMgdG8gV29ya1F1ZXVlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgzNjcKKworICAgICAgICBSZXZpZXdlZCBi
eSBBbmRlcnMgQ2FybHNzb24uCisKKyAgICAgICAgQXZvaWQgYW4gZXh0cmEgaGVhcCBhbGxvY2F0
aW9uIHdoZW4gZGlzcGF0Y2hpbmcgRnVuY3Rpb25zIHRvIFdvcmtRdWV1ZQorICAgICAgICBieSBh
ZGRpbmcgbGVha0NhbGxhYmxlKCkgLyBhZG9wdENhbGxhYmxlKCkgZnVuY3Rpb25zIHRvIEZ1bmN0
aW9uLgorCisgICAgICAgICogd3RmL0Z1bmN0aW9uLmg6CisgICAgICAgICogd3RmL2NvY29hL1dv
cmtRdWV1ZUNvY29hLmNwcDoKKyAgICAgICAgKFdURjo6V29ya1F1ZXVlOjpkaXNwYXRjaCk6Cisg
ICAgICAgIChXVEY6OldvcmtRdWV1ZTo6ZGlzcGF0Y2hBZnRlcik6CisKIDIwMTYtMDctMTMgIE15
bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGRyZXNz
aW5nIHBvc3QtcmV2aWV3IGNvbW1lbnRzIGFmdGVyIHIyMDMxMTkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XVEYvd3RmL0Z1bmN0aW9uLmggYi9Tb3VyY2UvV1RGL3d0Zi9GdW5jdGlvbi5oCmluZGV4IDFj
OTU4NTYyMzhlNDdjNWQ4YjM4ZDg2MWMwYmY3MWRiZWQ4YmRjZWQuLjViNzAwYzcyMzQ3YzQyNTc3
MzM3OGJmMDdlZDBiNzdhNjdmYWZlY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0Z1bmN0
aW9uLmgKKysrIGIvU291cmNlL1dURi93dGYvRnVuY3Rpb24uaApAQCAtNjYsNyArNjYsNiBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CiAKLXByaXZhdGU6CiAgICAgY2xh
c3MgQ2FsbGFibGVXcmFwcGVyQmFzZSB7CiAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogICAgIHB1YmxpYzoKQEAgLTc1LDYgKzc0LDE5IEBAIHByaXZhdGU6CiAgICAgICAgIHZpcnR1
YWwgT3V0IGNhbGwoSW4uLi4pID0gMDsKICAgICB9OwogCisgICAgQ2FsbGFibGVXcmFwcGVyQmFz
ZSogbGVha0NhbGxhYmxlKCkgV0FSTl9VTlVTRURfUkVUVVJOCisgICAgeworICAgICAgICByZXR1
cm4gbV9jYWxsYWJsZVdyYXBwZXIucmVsZWFzZSgpOworICAgIH0KKworICAgIHN0YXRpYyBGdW5j
dGlvbiBhZG9wdENhbGxhYmxlKENhbGxhYmxlV3JhcHBlckJhc2UqIGNhbGxhYmxlKQorICAgIHsK
KyAgICAgICAgRnVuY3Rpb24gZnVuY3Rpb247CisgICAgICAgIGZ1bmN0aW9uLm1fY2FsbGFibGVX
cmFwcGVyLnJlc2V0KGNhbGxhYmxlKTsKKyAgICAgICAgcmV0dXJuIGZ1bmN0aW9uOworICAgIH0K
KworcHJpdmF0ZToKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDYWxsYWJsZVR5cGU+CiAgICAgY2xh
c3MgQ2FsbGFibGVXcmFwcGVyIDogcHVibGljIENhbGxhYmxlV3JhcHBlckJhc2UgewogICAgIHB1
YmxpYzoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL1dvcmtRdWV1ZUNvY29hLmNw
cCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1dvcmtRdWV1ZUNvY29hLmNwcAppbmRleCBmZGJlZjcz
YmFlYzE2YWM1NDJjZmE2NGUwZmI0ZmNjNzMzYWU4MjVhLi45MjYzYWU1ODdiODc1MDZhYTY3M2Y1
ZjU4NmRmYjUzMDQyYjcwZDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9Xb3Jr
UXVldWVDb2NvYS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvY29jb2EvV29ya1F1ZXVlQ29jb2Eu
Y3BwCkBAIC0zMSwxMCArMzEsMTAgQEAgbmFtZXNwYWNlIFdURiB7CiB2b2lkIFdvcmtRdWV1ZTo6
ZGlzcGF0Y2goRnVuY3Rpb248dm9pZCAoKT4mJiBmdW5jdGlvbikKIHsKICAgICByZWYoKTsKLSAg
ICBhdXRvKiBmdW5jdGlvblB0ciA9IG5ldyBGdW5jdGlvbjx2b2lkICgpPihXVEZNb3ZlKGZ1bmN0
aW9uKSk7CisgICAgYXV0byogY2FsbGFibGUgPSBmdW5jdGlvbi5sZWFrQ2FsbGFibGUoKTsKICAg
ICBkaXNwYXRjaF9hc3luYyhtX2Rpc3BhdGNoUXVldWUsIF57Ci0gICAgICAgICgqZnVuY3Rpb25Q
dHIpKCk7Ci0gICAgICAgIGRlbGV0ZSBmdW5jdGlvblB0cjsKKyAgICAgICAgYXV0byBmdW5jdGlv
biA9IEZ1bmN0aW9uPHZvaWQgKCk+OjphZG9wdENhbGxhYmxlKGNhbGxhYmxlKTsKKyAgICAgICAg
ZnVuY3Rpb24oKTsKICAgICAgICAgZGVyZWYoKTsKICAgICB9KTsKIH0KQEAgLTQyLDEwICs0Miwx
MCBAQCB2b2lkIFdvcmtRdWV1ZTo6ZGlzcGF0Y2goRnVuY3Rpb248dm9pZCAoKT4mJiBmdW5jdGlv
bikKIHZvaWQgV29ya1F1ZXVlOjpkaXNwYXRjaEFmdGVyKHN0ZDo6Y2hyb25vOjpuYW5vc2Vjb25k
cyBkdXJhdGlvbiwgRnVuY3Rpb248dm9pZCAoKT4mJiBmdW5jdGlvbikKIHsKICAgICByZWYoKTsK
LSAgICBhdXRvKiBmdW5jdGlvblB0ciA9IG5ldyBGdW5jdGlvbjx2b2lkICgpPihXVEZNb3ZlKGZ1
bmN0aW9uKSk7CisgICAgYXV0byogY2FsbGFibGUgPSBmdW5jdGlvbi5sZWFrQ2FsbGFibGUoKTsK
ICAgICBkaXNwYXRjaF9hZnRlcihkaXNwYXRjaF90aW1lKERJU1BBVENIX1RJTUVfTk9XLCBkdXJh
dGlvbi5jb3VudCgpKSwgbV9kaXNwYXRjaFF1ZXVlLCBeewotICAgICAgICAoKmZ1bmN0aW9uUHRy
KSgpOwotICAgICAgICBkZWxldGUgZnVuY3Rpb25QdHI7CisgICAgICAgIGF1dG8gZnVuY3Rpb24g
PSBGdW5jdGlvbjx2b2lkICgpPjo6YWRvcHRDYWxsYWJsZShjYWxsYWJsZSk7CisgICAgICAgIGZ1
bmN0aW9uKCk7CiAgICAgICAgIGRlcmVmKCk7CiAgICAgfSk7CiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>