<?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>58016</bug_id>
          
          <creation_ts>2011-04-07 00:28:32 -0700</creation_ts>
          <short_desc>[EFL] Memory cache API</short_desc>
          <delta_ts>2011-04-14 19:12:26 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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="Grzegorz Czajkowski">g.czajkowski</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>l.slachciak</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>381156</commentid>
    <comment_count>0</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-04-07 00:28:32 -0700</bug_when>
    <thetext>Functions are added to public API. They allow:
1) to disable/enable memory cache,
2) to check status of memory cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381160</commentid>
    <comment_count>1</comment_count>
      <attachid>88586</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-04-07 00:33:11 -0700</bug_when>
    <thetext>Created attachment 88586
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381221</commentid>
    <comment_count>2</comment_count>
      <attachid>88604</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-04-07 03:29:42 -0700</bug_when>
    <thetext>Created attachment 88604
patch

ewk_setting_cache_capacity_set is added</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>382020</commentid>
    <comment_count>3</comment_count>
      <attachid>88604</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-04-07 23:16:16 -0700</bug_when>
    <thetext>Comment on attachment 88604
patch

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

&gt; Source/WebKit/efl/ewk/ewk_settings.cpp:352
&gt; +Eina_Bool ewk_settings_cache_disable_set(Eina_Bool set)

I am not sure, but, it seems to me it is clear to use ewk_settings_cache_enable_set() instead of ewk_settings_cache_disable_set()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383912</commentid>
    <comment_count>4</comment_count>
      <attachid>89181</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-04-12 02:40:21 -0700</bug_when>
    <thetext>Created attachment 89181
reverse logic</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384017</commentid>
    <comment_count>5</comment_count>
      <attachid>89181</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-04-12 08:38:15 -0700</bug_when>
    <thetext>Comment on attachment 89181
reverse logic

Please set cq+ when it passes any API review you guys have.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384261</commentid>
    <comment_count>6</comment_count>
      <attachid>89181</attachid>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2011-04-12 12:43:06 -0700</bug_when>
    <thetext>Comment on attachment 89181
reverse logic

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

&gt; Source/WebKit/efl/ewk/ewk_settings.cpp:349
&gt; + * @param @c EINA_TRUE to enable cache of WebCore , @c EINA_FALSE to disable

@param set...

&gt; Source/WebKit/efl/ewk/ewk_settings.cpp:355
&gt; +    EINA_SAFETY_ON_NULL_RETURN_VAL(cache, EINA_FALSE);

don&apos;t bother checking by NULL here. If it was NULL, it would not get to this point.

&gt; Source/WebKit/efl/ewk/ewk_settings.cpp:375
&gt; +    WebCore::MemoryCache* cache = WebCore::memoryCache();
&gt; +    EINA_SAFETY_ON_NULL_RETURN_VAL(cache, EINA_FALSE);

same here</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384709</commentid>
    <comment_count>7</comment_count>
      <attachid>89181</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-04-12 23:56:13 -0700</bug_when>
    <thetext>Comment on attachment 89181
reverse logic

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

&gt;&gt; Source/WebKit/efl/ewk/ewk_settings.cpp:355
&gt;&gt; +    EINA_SAFETY_ON_NULL_RETURN_VAL(cache, EINA_FALSE);
&gt; 
&gt; don&apos;t bother checking by NULL here. If it was NULL, it would not get to this point.

Could explain why we don&apos;t need to check NULL here, please?
Method memoryCache() is a singleton. It returns a pointer to the instance of WebCore&apos;s cache.
We can&apos;t trust what a pointer this method will return.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384814</commentid>
    <comment_count>8</comment_count>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2011-04-13 05:52:42 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 89181 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=89181&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/efl/ewk/ewk_settings.cpp:355
&gt; &gt;&gt; +    EINA_SAFETY_ON_NULL_RETURN_VAL(cache, EINA_FALSE);
&gt; &gt; 
&gt; &gt; don&apos;t bother checking by NULL here. If it was NULL, it would not get to this point.
&gt; 
&gt; Could explain why we don&apos;t need to check NULL here, please?
&gt; Method memoryCache() is a singleton. It returns a pointer to the instance of WebCore&apos;s cache.
&gt; We can&apos;t trust what a pointer this method will return.

I&apos;m saying that the only reason this pointer could be NULL is if there was an out-of-memory condition. In that scenario, WebCore would failed to load before this function could ever be called.

But I&apos;m really nitpicking here and this is not so important.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384834</commentid>
    <comment_count>9</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-04-13 06:24:33 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (From update of attachment 89181 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=89181&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebKit/efl/ewk/ewk_settings.cpp:355
&gt; &gt; &gt;&gt; +    EINA_SAFETY_ON_NULL_RETURN_VAL(cache, EINA_FALSE);
&gt; &gt; &gt; 
&gt; &gt; &gt; don&apos;t bother checking by NULL here. If it was NULL, it would not get to this point.
&gt; &gt; 
&gt; &gt; Could explain why we don&apos;t need to check NULL here, please?
&gt; &gt; Method memoryCache() is a singleton. It returns a pointer to the instance of WebCore&apos;s cache.
&gt; &gt; We can&apos;t trust what a pointer this method will return.
&gt; 
&gt; I&apos;m saying that the only reason this pointer could be NULL is if there was an out-of-memory condition. In that scenario, WebCore would failed to load before this function could ever be called.
&gt; 
Yes, I agree with you. But there is possibility to get the cache for instance in ewk function and to set the pointer on NULL, right? I know it&apos;s stupid but we can&apos;t exclude that case.
&gt; But I&apos;m really nitpicking here and this is not so important.
It&apos;s ok :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384846</commentid>
    <comment_count>10</comment_count>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2011-04-13 06:58:08 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; &gt; I&apos;m saying that the only reason this pointer could be NULL is if there was an out-of-memory condition. In that scenario, WebCore would failed to load before this function could ever be called.
&gt; &gt; 
&gt; Yes, I agree with you. But there is possibility to get the cache for instance in ewk function and to set the pointer on NULL, right? I know it&apos;s stupid but we can&apos;t exclude that case.

Wooww... how would that function do that? We are returning a pointer not a pointer to pointer... Even if the stupid ewk function called delete on that pointer, subsequent calls to MemoryCache::memoryCache() would not return NULL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>384856</commentid>
    <comment_count>11</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-04-13 07:16:43 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; &gt; I&apos;m saying that the only reason this pointer could be NULL is if there was an out-of-memory condition. In that scenario, WebCore would failed to load before this function could ever be called.
&gt; &gt; &gt; 
&gt; &gt; Yes, I agree with you. But there is possibility to get the cache for instance in ewk function and to set the pointer on NULL, right? I know it&apos;s stupid but we can&apos;t exclude that case.
&gt; 
&gt; Wooww... how would that function do that? We are returning a pointer not a pointer to pointer... Even if the stupid ewk function called delete on that pointer, subsequent calls to MemoryCache::memoryCache() would not return NULL.
Ok, I won&apos;t say anything about pointers from now ;)
I will remove checking NULL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385551</commentid>
    <comment_count>12</comment_count>
      <attachid>89539</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-04-13 23:48:51 -0700</bug_when>
    <thetext>Created attachment 89539
updated patch regarding to Lucas&apos; suggestions

Removed checking NULL in:
 - ewk_settings_cache_enable_get
 - ewk_settings_cache_enable_set
 - ewk_settings_cache_capacity_set

Removed returned Eina_Bool value because it&apos;s useless in:
 - ewk_settings_cache_enable_set
 - ewk_settings_cache_capacity_set

Added &quot;set&quot; to doxygen documentation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385555</commentid>
    <comment_count>13</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-04-13 23:56:55 -0700</bug_when>
    <thetext>I think Antonio already review this patch. If you add Antonio Gomes to reviewer field, demarchi can decide if cq is + or -. Anyway, looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385564</commentid>
    <comment_count>14</comment_count>
      <attachid>89543</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-04-14 00:20:39 -0700</bug_when>
    <thetext>Created attachment 89543
updated changelog

Adder Antonio Gomes to a reviewer list in ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>385566</commentid>
    <comment_count>15</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-04-14 00:22:49 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; I think Antonio already review this patch. If you add Antonio Gomes to reviewer field, demarchi can decide if cq is + or -. Anyway, looks good to me.

However, your patch is changed considerably. You should request review again.(In reply to comment #13)
&gt; I think Antonio already review this patch. If you add Antonio Gomes to reviewer field, demarchi can decide if cq is + or -. Anyway, looks good to me.

However, if your patch is changed considerably, you MUST request review again. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386299</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-14 19:09:30 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 89543:

http/tests/xmlhttprequest/basic-auth.html bug 51613 (author: ap@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386301</commentid>
    <comment_count>17</comment_count>
      <attachid>89543</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-14 19:12:20 -0700</bug_when>
    <thetext>Comment on attachment 89543
updated changelog

Clearing flags on attachment: 89543

Committed r83931: &lt;http://trac.webkit.org/changeset/83931&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386302</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-14 19:12:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88586</attachid>
            <date>2011-04-07 00:33:11 -0700</date>
            <delta_ts>2011-04-07 03:29:42 -0700</delta_ts>
            <desc>patch</desc>
            <filename>memory_cache_api.patch</filename>
            <type>text/plain</type>
            <size>2784</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA0ZTgxZmQ1Li5iZDEzZmM4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTEtMDQtMDcgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWpr
b3dza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW0VGTF0gU2V0L0dldCBtZW1vcnkgY2FjaGUgb2YgV2ViQ29yZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgwMTYKKworICAgICAg
ICAqIGV3ay9ld2tfc2V0dGluZ3MuY3BwOgorICAgICAgICAoZXdrX3NldHRpbmdzX2NhY2hlX2Rp
c2FibGVfZ2V0KToKKyAgICAgICAgKGV3a19zZXR0aW5nc19jYWNoZV9kaXNhYmxlX3NldCk6Cisg
ICAgICAgICogZXdrL2V3a19zZXR0aW5ncy5oOgorCiAyMDExLTA0LTAxICBHcnplZ29yeiBDemFq
a293c2tpICA8Zy5jemFqa293c2tpQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRp
bmdzLmNwcAppbmRleCAzYTE4NWQ5Li43MjY1YWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3NldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3NldHRpbmdzLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5j
bHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJNZW1vcnlDYWNo
ZS5oIgogI2luY2x1ZGUgImV3a19wcml2YXRlLmgiCiAKICNpbmNsdWRlIDxFaW5hLmg+CkBAIC0z
MjYsNiArMzI3LDQyIEBAIGNvbnN0IGNoYXIqIGV3a19zZXR0aW5nc19wcm94eV91cmlfZ2V0KHZv
aWQpCiB9CiAKIC8qKgorICogR2V0cyBzdGF0dXMgb2YgdGhlIG1lbW9yeSBjYWNoZSBvZiBXZWJD
b3JlLgorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIGlmIHRoZSBjYWNoZSBpcyBkaXNhYmxl
ZCBvciBAYyBFSU5BX0ZBTFNFIGlmIG5vdCBvcgorICogICAgICAgICAgb3RoZXIgZXJyb3Igb2Nj
dXJlZAorICovCitFaW5hX0Jvb2wgZXdrX3NldHRpbmdzX2NhY2hlX2Rpc2FibGVfZ2V0KHZvaWQp
Cit7CisgICAgV2ViQ29yZTo6TWVtb3J5Q2FjaGUqIGNhY2hlID0gV2ViQ29yZTo6bWVtb3J5Q2Fj
aGUoKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoY2FjaGUsIEVJTkFfRkFM
U0UpOworCisgICAgcmV0dXJuIGNhY2hlLT5kaXNhYmxlZCgpOworfQorCisvKioKKyAqIERpc2Fi
bGVzL2VuYWJsZXMgdGhlIG1lbW9yeSBjYWNoZSBvZiBXZWJDb3JlLCBwb3NzaWJseSBjbGVhcmlu
ZyBpdC4KKyAqCisgKiBEaXNhYmxpbmcgdGhlIGNhY2hlIHdpbGwgcmVtb3ZlIGFsbCByZXNvdXJj
ZXMgZnJvbSB0aGUgY2FjaGUuCisgKiBUaGV5IG1heSBzdGlsbCBsaXZlIG9uIGlmIHRoZXkgYXJl
IHJlZmVyZW5jZWQgYnkgc29tZSBXZWIgcGFnZSB0aG91Z2guCisgKgorICogQHBhcmFtIEBjIEVJ
TkFfVFJVRSB0byBkaXNhYmxlIGNhY2hlIG9mIFdlYkNvcmUgLCBAYyBFSU5BX0ZBTFNFIHRvIGVu
YWJsZQorICogQHJldHVybiBAYyBFSU5BX1RSVUUgb24gc3VjY2Vzcywgb3IgQGMgRUlOQV9GQUxT
RSBvbiBmYWlsdXJlCisgKi8KK0VpbmFfQm9vbCBld2tfc2V0dGluZ3NfY2FjaGVfZGlzYWJsZV9z
ZXQoRWluYV9Cb29sIHNldCkKK3sKKyAgICBXZWJDb3JlOjpNZW1vcnlDYWNoZSogY2FjaGUgPSBX
ZWJDb3JlOjptZW1vcnlDYWNoZSgpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZB
TChjYWNoZSwgRUlOQV9GQUxTRSk7CisKKyAgICBzZXQgPSAhIXNldDsKKyAgICBpZiAoY2FjaGUt
PmRpc2FibGVkKCkgIT0gc2V0KQorICAgICAgICBjYWNoZS0+c2V0RGlzYWJsZWQoc2V0KTsKKwor
ICAgIHJldHVybiBFSU5BX1RSVUU7Cit9CisKKworLyoqCiAgKiBAaW50ZXJuYWwKICAqCiAgKiBH
ZXRzIHRoZSBkZWZhdWx0IHVzZXIgYWdlbnQgc3RyaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19zZXR0aW5ncy5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19z
ZXR0aW5ncy5oCmluZGV4IDNlNWNhNDcuLmNkYTI1OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3NldHRpbmdzLmgKQEAgLTU0LDYgKzU0LDkgQEAgRUFQSSBjb25zdCBjaGFyICAgICAgKmV3a19z
ZXR0aW5nc19jYWNoZV9kaXJlY3RvcnlfcGF0aF9nZXQodm9pZCk7CiBFQVBJIHZvaWQgICAgICAg
ICAgICAgZXdrX3NldHRpbmdzX3Byb3h5X3VyaV9zZXQoY29uc3QgY2hhciogcHJveHkpOwogRUFQ
SSBjb25zdCBjaGFyKiAgICAgIGV3a19zZXR0aW5nc19wcm94eV91cmlfZ2V0KHZvaWQpOwogCitF
QVBJIEVpbmFfQm9vbCAgICAgICAgZXdrX3NldHRpbmdzX2NhY2hlX2Rpc2FibGVfZ2V0KHZvaWQp
OworRUFQSSBFaW5hX0Jvb2wgICAgICAgIGV3a19zZXR0aW5nc19jYWNoZV9kaXNhYmxlX3NldChF
aW5hX0Jvb2wgc2V0KTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>88604</attachid>
            <date>2011-04-07 03:29:42 -0700</date>
            <delta_ts>2011-04-12 02:40:21 -0700</delta_ts>
            <desc>patch</desc>
            <filename>memory_cache_api.patch</filename>
            <type>text/plain</type>
            <size>3414</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA0ZTgxZmQ1Li5mNDA2NzI4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTEtMDQtMDcgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWpr
b3dza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgTWVtb3J5IGNhY2hlIEFQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTgwMTYKKworICAgICAgICAqIGV3ay9ld2tfc2V0dGluZ3Mu
Y3BwOgorICAgICAgICAoZXdrX3NldHRpbmdzX2NhY2hlX2Rpc2FibGVfZ2V0KToKKyAgICAgICAg
KGV3a19zZXR0aW5nc19jYWNoZV9kaXNhYmxlX3NldCk6CisgICAgICAgIChld2tfc2V0dGluZ3Nf
Y2FjaGVfY2FwYWNpdHlfc2V0KToKKyAgICAgICAgKiBld2svZXdrX3NldHRpbmdzLmg6CisKIDIw
MTEtMDQtMDEgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwCmluZGV4IDNhMTg1ZDkuLjcyZTkxMDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAj
aW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiS1VSTC5o
IgorI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCiAjaW5jbHVkZSAiZXdrX3ByaXZhdGUuaCIKIAog
I2luY2x1ZGUgPEVpbmEuaD4KQEAgLTMyNiw2ICszMjcsNTggQEAgY29uc3QgY2hhciogZXdrX3Nl
dHRpbmdzX3Byb3h5X3VyaV9nZXQodm9pZCkKIH0KIAogLyoqCisgKiBHZXRzIHN0YXR1cyBvZiB0
aGUgbWVtb3J5IGNhY2hlIG9mIFdlYkNvcmUuCisgKgorICogQHJldHVybiBAYyBFSU5BX1RSVUUg
aWYgdGhlIGNhY2hlIGlzIGRpc2FibGVkIG9yIEBjIEVJTkFfRkFMU0UgaWYgbm90IG9yCisgKiAg
ICAgICAgICBvdGhlciBlcnJvciBvY2N1cmVkCisgKi8KK0VpbmFfQm9vbCBld2tfc2V0dGluZ3Nf
Y2FjaGVfZGlzYWJsZV9nZXQodm9pZCkKK3sKKyAgICBXZWJDb3JlOjpNZW1vcnlDYWNoZSogY2Fj
aGUgPSBXZWJDb3JlOjptZW1vcnlDYWNoZSgpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVU
VVJOX1ZBTChjYWNoZSwgRUlOQV9GQUxTRSk7CisKKyAgICByZXR1cm4gY2FjaGUtPmRpc2FibGVk
KCk7Cit9CisKKy8qKgorICogRGlzYWJsZXMvZW5hYmxlcyB0aGUgbWVtb3J5IGNhY2hlIG9mIFdl
YkNvcmUsIHBvc3NpYmx5IGNsZWFyaW5nIGl0LgorICoKKyAqIERpc2FibGluZyB0aGUgY2FjaGUg
d2lsbCByZW1vdmUgYWxsIHJlc291cmNlcyBmcm9tIHRoZSBjYWNoZS4KKyAqIFRoZXkgbWF5IHN0
aWxsIGxpdmUgb24gaWYgdGhleSBhcmUgcmVmZXJlbmNlZCBieSBzb21lIFdlYiBwYWdlIHRob3Vn
aC4KKyAqCisgKiBAcGFyYW0gQGMgRUlOQV9UUlVFIHRvIGRpc2FibGUgY2FjaGUgb2YgV2ViQ29y
ZSAsIEBjIEVJTkFfRkFMU0UgdG8gZW5hYmxlCisgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBvbiBz
dWNjZXNzLCBvciBAYyBFSU5BX0ZBTFNFIG9uIGZhaWx1cmUKKyAqLworRWluYV9Cb29sIGV3a19z
ZXR0aW5nc19jYWNoZV9kaXNhYmxlX3NldChFaW5hX0Jvb2wgc2V0KQoreworICAgIFdlYkNvcmU6
Ok1lbW9yeUNhY2hlKiBjYWNoZSA9IFdlYkNvcmU6Om1lbW9yeUNhY2hlKCk7CisgICAgRUlOQV9T
QUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGNhY2hlLCBFSU5BX0ZBTFNFKTsKKworICAgIHNldCA9
ICEhc2V0OworICAgIGlmIChjYWNoZS0+ZGlzYWJsZWQoKSAhPSBzZXQpCisgICAgICAgIGNhY2hl
LT5zZXREaXNhYmxlZChzZXQpOworCisgICAgcmV0dXJuIEVJTkFfVFJVRTsKK30KKworLyoqCisg
KiBTZXRzIGNhcGFjaXR5IG9mIG1lbW9yeSBjYWNoZS4KKyAqCisgKiBXZWJDb3JlIHNldHMgZGVm
YXVsdCB2YWx1ZSBvZiBtZW1vcnkgY2FjaGUgb24gODE5MiAqIDEwMjQgYnl0ZXMuCisgKgorICog
QHBhcmFtIGNhcGFjaXR5IHRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyB0aGF0IHRoZSBjYWNo
ZSBzaG91bGQgY29uc3VtZSBvdmVyYWxsCisgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBvbiBzdWNj
ZXNzLCBvciBAYyBFSU5BX0ZBTFNFIG9uIGZhaWx1cmUKKyAqLworRWluYV9Cb29sIGV3a19zZXR0
aW5nc19jYWNoZV9jYXBhY2l0eV9zZXQodW5zaWduZWQgY2FwYWNpdHkpCit7CisgICAgV2ViQ29y
ZTo6TWVtb3J5Q2FjaGUqIGNhY2hlID0gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKTsKKyAgICBFSU5B
X1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoY2FjaGUsIEVJTkFfRkFMU0UpOworCisgICAgY2Fj
aGUtPnNldENhcGFjaXRpZXMoMCwgY2FwYWNpdHksIGNhcGFjaXR5KTsKKyAgICByZXR1cm4gRUlO
QV9UUlVFOworfQorCisvKioKICAqIEBpbnRlcm5hbAogICoKICAqIEdldHMgdGhlIGRlZmF1bHQg
dXNlciBhZ2VudCBzdHJpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3NldHRpbmdzLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmgKaW5kZXgg
M2U1Y2E0Ny4uMWJkNzE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19z
ZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuaApAQCAt
NTQsNiArNTQsMTAgQEAgRUFQSSBjb25zdCBjaGFyICAgICAgKmV3a19zZXR0aW5nc19jYWNoZV9k
aXJlY3RvcnlfcGF0aF9nZXQodm9pZCk7CiBFQVBJIHZvaWQgICAgICAgICAgICAgZXdrX3NldHRp
bmdzX3Byb3h5X3VyaV9zZXQoY29uc3QgY2hhciogcHJveHkpOwogRUFQSSBjb25zdCBjaGFyKiAg
ICAgIGV3a19zZXR0aW5nc19wcm94eV91cmlfZ2V0KHZvaWQpOwogCitFQVBJIEVpbmFfQm9vbCAg
ICAgICAgZXdrX3NldHRpbmdzX2NhY2hlX2Rpc2FibGVfZ2V0KHZvaWQpOworRUFQSSBFaW5hX0Jv
b2wgICAgICAgIGV3a19zZXR0aW5nc19jYWNoZV9kaXNhYmxlX3NldChFaW5hX0Jvb2wgc2V0KTsK
K0VBUEkgRWluYV9Cb29sICAgICAgICBld2tfc2V0dGluZ3NfY2FjaGVfY2FwYWNpdHlfc2V0KHVu
c2lnbmVkIGNhcGFjaXR5KTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89181</attachid>
            <date>2011-04-12 02:40:21 -0700</date>
            <delta_ts>2011-04-13 23:48:51 -0700</delta_ts>
            <desc>reverse logic</desc>
            <filename>memory_cache_api.patch</filename>
            <type>text/plain</type>
            <size>3402</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA0ZTgxZmQ1Li40MmI5YTZjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTEtMDQtMTIgIEdyemVnb3J6IEN6YWprb3dza2kgIDxHcnplZ29y
eiBDemFqa293c2tpPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1lbW9yeSBjYWNoZSBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTU4MDE2CisKKyAgICAgICAgKiBld2svZXdrX3NldHRpbmdzLmNwcDoK
KyAgICAgICAgKGV3a19zZXR0aW5nc19jYWNoZV9lbmFibGVfZ2V0KToKKyAgICAgICAgKGV3a19z
ZXR0aW5nc19jYWNoZV9lbmFibGVfc2V0KToKKyAgICAgICAgKGV3a19zZXR0aW5nc19jYWNoZV9j
YXBhY2l0eV9zZXQpOgorICAgICAgICAqIGV3ay9ld2tfc2V0dGluZ3MuaDoKKwogMjAxMS0wNC0w
MSAgR3J6ZWdvcnogQ3phamtvd3NraSAgPGcuY3phamtvd3NraUBzYW1zdW5nLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAKaW5kZXggM2ExODVkOS4uNWViOTZhZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRl
ICJJbWFnZS5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJLVVJMLmgiCisjaW5j
bHVkZSAiTWVtb3J5Q2FjaGUuaCIKICNpbmNsdWRlICJld2tfcHJpdmF0ZS5oIgogCiAjaW5jbHVk
ZSA8RWluYS5oPgpAQCAtMzI2LDYgKzMyNyw1OCBAQCBjb25zdCBjaGFyKiBld2tfc2V0dGluZ3Nf
cHJveHlfdXJpX2dldCh2b2lkKQogfQogCiAvKioKKyAqIEdldHMgc3RhdHVzIG9mIHRoZSBtZW1v
cnkgY2FjaGUgb2YgV2ViQ29yZS4KKyAqCisgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBpZiB0aGUg
Y2FjaGUgaXMgZW5hYmxlZCBvciBAYyBFSU5BX0ZBTFNFIGlmIG5vdCBvcgorICogICAgICAgICAg
b3RoZXIgZXJyb3Igb2NjdXJlZAorICovCitFaW5hX0Jvb2wgZXdrX3NldHRpbmdzX2NhY2hlX2Vu
YWJsZV9nZXQodm9pZCkKK3sKKyAgICBXZWJDb3JlOjpNZW1vcnlDYWNoZSogY2FjaGUgPSBXZWJD
b3JlOjptZW1vcnlDYWNoZSgpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChj
YWNoZSwgRUlOQV9GQUxTRSk7CisKKyAgICByZXR1cm4gIWNhY2hlLT5kaXNhYmxlZCgpOworfQor
CisvKioKKyAqIEVuYWJsZXMvZGlzYWJsZXMgdGhlIG1lbW9yeSBjYWNoZSBvZiBXZWJDb3JlLCBw
b3NzaWJseSBjbGVhcmluZyBpdC4KKyAqCisgKiBEaXNhYmxpbmcgdGhlIGNhY2hlIHdpbGwgcmVt
b3ZlIGFsbCByZXNvdXJjZXMgZnJvbSB0aGUgY2FjaGUuCisgKiBUaGV5IG1heSBzdGlsbCBsaXZl
IG9uIGlmIHRoZXkgYXJlIHJlZmVyZW5jZWQgYnkgc29tZSBXZWIgcGFnZSB0aG91Z2guCisgKgor
ICogQHBhcmFtIEBjIEVJTkFfVFJVRSB0byBlbmFibGUgY2FjaGUgb2YgV2ViQ29yZSAsIEBjIEVJ
TkFfRkFMU0UgdG8gZGlzYWJsZQorICogQHJldHVybiBAYyBFSU5BX1RSVUUgb24gc3VjY2Vzcywg
b3IgQGMgRUlOQV9GQUxTRSBvbiBmYWlsdXJlCisgKi8KK0VpbmFfQm9vbCBld2tfc2V0dGluZ3Nf
Y2FjaGVfZW5hYmxlX3NldChFaW5hX0Jvb2wgc2V0KQoreworICAgIFdlYkNvcmU6Ok1lbW9yeUNh
Y2hlKiBjYWNoZSA9IFdlYkNvcmU6Om1lbW9yeUNhY2hlKCk7CisgICAgRUlOQV9TQUZFVFlfT05f
TlVMTF9SRVRVUk5fVkFMKGNhY2hlLCBFSU5BX0ZBTFNFKTsKKworICAgIHNldCA9ICFzZXQ7Cisg
ICAgaWYgKGNhY2hlLT5kaXNhYmxlZCgpICE9IHNldCkKKyAgICAgICAgY2FjaGUtPnNldERpc2Fi
bGVkKHNldCk7CisKKyAgICByZXR1cm4gRUlOQV9UUlVFOworfQorCisvKioKKyAqIFNldHMgY2Fw
YWNpdHkgb2YgbWVtb3J5IGNhY2hlLgorICoKKyAqIFdlYkNvcmUgc2V0cyBkZWZhdWx0IHZhbHVl
IG9mIG1lbW9yeSBjYWNoZSBvbiA4MTkyICogMTAyNCBieXRlcy4KKyAqCisgKiBAcGFyYW0gY2Fw
YWNpdHkgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIHRoYXQgdGhlIGNhY2hlIHNob3VsZCBj
b25zdW1lIG92ZXJhbGwKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1Y2Nlc3MsIG9yIEBj
IEVJTkFfRkFMU0Ugb24gZmFpbHVyZQorICovCitFaW5hX0Jvb2wgZXdrX3NldHRpbmdzX2NhY2hl
X2NhcGFjaXR5X3NldCh1bnNpZ25lZCBjYXBhY2l0eSkKK3sKKyAgICBXZWJDb3JlOjpNZW1vcnlD
YWNoZSogY2FjaGUgPSBXZWJDb3JlOjptZW1vcnlDYWNoZSgpOworICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOX1ZBTChjYWNoZSwgRUlOQV9GQUxTRSk7CisKKyAgICBjYWNoZS0+c2V0Q2Fw
YWNpdGllcygwLCBjYXBhY2l0eSwgY2FwYWNpdHkpOworICAgIHJldHVybiBFSU5BX1RSVUU7Cit9
CisKKy8qKgogICogQGludGVybmFsCiAgKgogICogR2V0cyB0aGUgZGVmYXVsdCB1c2VyIGFnZW50
IHN0cmluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3Mu
aCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuaAppbmRleCAzZTVjYTQ3Li5l
ZTkzZWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmgK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0aW5ncy5oCkBAIC01NCw2ICs1NCwx
MCBAQCBFQVBJIGNvbnN0IGNoYXIgICAgICAqZXdrX3NldHRpbmdzX2NhY2hlX2RpcmVjdG9yeV9w
YXRoX2dldCh2b2lkKTsKIEVBUEkgdm9pZCAgICAgICAgICAgICBld2tfc2V0dGluZ3NfcHJveHlf
dXJpX3NldChjb25zdCBjaGFyKiBwcm94eSk7CiBFQVBJIGNvbnN0IGNoYXIqICAgICAgZXdrX3Nl
dHRpbmdzX3Byb3h5X3VyaV9nZXQodm9pZCk7CiAKK0VBUEkgRWluYV9Cb29sICAgICAgICBld2tf
c2V0dGluZ3NfY2FjaGVfZW5hYmxlX2dldCh2b2lkKTsKK0VBUEkgRWluYV9Cb29sICAgICAgICBl
d2tfc2V0dGluZ3NfY2FjaGVfZW5hYmxlX3NldChFaW5hX0Jvb2wgc2V0KTsKK0VBUEkgRWluYV9C
b29sICAgICAgICBld2tfc2V0dGluZ3NfY2FjaGVfY2FwYWNpdHlfc2V0KHVuc2lnbmVkIGNhcGFj
aXR5KTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYK
</data>
<flag name="review"
          id="81819"
          type_id="1"
          status="+"
          setter="tonikitoo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89539</attachid>
            <date>2011-04-13 23:48:51 -0700</date>
            <delta_ts>2011-04-14 00:20:39 -0700</delta_ts>
            <desc>updated patch regarding to Lucas&apos; suggestions</desc>
            <filename>memory_cache_api.patch</filename>
            <type>text/plain</type>
            <size>0</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64"></data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89543</attachid>
            <date>2011-04-14 00:20:39 -0700</date>
            <delta_ts>2011-04-14 19:12:20 -0700</delta_ts>
            <desc>updated changelog</desc>
            <filename>memory_cache_api.patch</filename>
            <type>text/plain</type>
            <size>3078</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA4N2Q2MTRhLi5hZjllZjFkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsMTggQEAKIDIwMTEtMDQtMTMgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWpr
b3dza2lAc2Ftc3VuZy5jb20+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgQW50b25pbyBHb21lcy4K
KworICAgICAgICBNZW1vcnkgY2FjaGUgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD01ODAxNgorCisgICAgICAgICogZXdrL2V3a19zZXR0aW5ncy5j
cHA6CisgICAgICAgIChld2tfc2V0dGluZ3NfY2FjaGVfZW5hYmxlX2dldCk6CisgICAgICAgIChl
d2tfc2V0dGluZ3NfY2FjaGVfZW5hYmxlX3NldCk6CisgICAgICAgIChld2tfc2V0dGluZ3NfY2Fj
aGVfY2FwYWNpdHlfc2V0KToKKyAgICAgICAgKiBld2svZXdrX3NldHRpbmdzLmg6CisKKzIwMTEt
MDQtMTMgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CisK
ICAgICAgICAgUmV2aWV3ZWQgYnkgS2VudCBUYW11cmEuCiAKICAgICAgICAgW0VGTF0gRG94eWdl
biBkb2N1bWVudGF0aW9uIGZvciBld2tfbWFpbiwgZXdrX2hpc3RvcnkgYW5kIHRvb2xzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwCmluZGV4IDNhMTg1ZDkuLjE2YWJkYzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3MuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAj
aW5jbHVkZSAiSW1hZ2UuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiS1VSTC5o
IgorI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCiAjaW5jbHVkZSAiZXdrX3ByaXZhdGUuaCIKIAog
I2luY2x1ZGUgPEVpbmEuaD4KQEAgLTMyNiw2ICszMjcsNDYgQEAgY29uc3QgY2hhciogZXdrX3Nl
dHRpbmdzX3Byb3h5X3VyaV9nZXQodm9pZCkKIH0KIAogLyoqCisgKiBHZXRzIHN0YXR1cyBvZiB0
aGUgbWVtb3J5IGNhY2hlIG9mIFdlYkNvcmUuCisgKgorICogQHJldHVybiBAYyBFSU5BX1RSVUUg
aWYgdGhlIGNhY2hlIGlzIGVuYWJsZWQgb3IgQGMgRUlOQV9GQUxTRSBpZiBub3QKKyAqLworRWlu
YV9Cb29sIGV3a19zZXR0aW5nc19jYWNoZV9lbmFibGVfZ2V0KHZvaWQpCit7CisgICAgV2ViQ29y
ZTo6TWVtb3J5Q2FjaGUqIGNhY2hlID0gV2ViQ29yZTo6bWVtb3J5Q2FjaGUoKTsKKyAgICByZXR1
cm4gIWNhY2hlLT5kaXNhYmxlZCgpOworfQorCisvKioKKyAqIEVuYWJsZXMvZGlzYWJsZXMgdGhl
IG1lbW9yeSBjYWNoZSBvZiBXZWJDb3JlLCBwb3NzaWJseSBjbGVhcmluZyBpdC4KKyAqCisgKiBE
aXNhYmxpbmcgdGhlIGNhY2hlIHdpbGwgcmVtb3ZlIGFsbCByZXNvdXJjZXMgZnJvbSB0aGUgY2Fj
aGUuCisgKiBUaGV5IG1heSBzdGlsbCBsaXZlIG9uIGlmIHRoZXkgYXJlIHJlZmVyZW5jZWQgYnkg
c29tZSBXZWIgcGFnZSB0aG91Z2guCisgKgorICogQHBhcmFtIHNldCBAYyBFSU5BX1RSVUUgdG8g
ZW5hYmxlIG1lbW9yeSBjYWNoZSwgQGMgRUlOQV9GQUxTRSB0byBkaXNhYmxlCisgKi8KK3ZvaWQg
ZXdrX3NldHRpbmdzX2NhY2hlX2VuYWJsZV9zZXQoRWluYV9Cb29sIHNldCkKK3sKKyAgICBXZWJD
b3JlOjpNZW1vcnlDYWNoZSogY2FjaGUgPSBXZWJDb3JlOjptZW1vcnlDYWNoZSgpOworICAgIHNl
dCA9ICFzZXQ7CisgICAgaWYgKGNhY2hlLT5kaXNhYmxlZCgpICE9IHNldCkKKyAgICAgICAgY2Fj
aGUtPnNldERpc2FibGVkKHNldCk7Cit9CisKKy8qKgorICogU2V0cyBjYXBhY2l0eSBvZiBtZW1v
cnkgY2FjaGUgb2YgV2ViQ29yZS4KKyAqCisgKiBXZWJDb3JlIHNldHMgZGVmYXVsdCB2YWx1ZSBv
ZiBtZW1vcnkgY2FjaGUgb24gODE5MiAqIDEwMjQgYnl0ZXMuCisgKgorICogQHBhcmFtIGNhcGFj
aXR5IHRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyB0aGF0IHRoZSBjYWNoZSBzaG91bGQgY29u
c3VtZSBvdmVyYWxsCisgKi8KK3ZvaWQgZXdrX3NldHRpbmdzX2NhY2hlX2NhcGFjaXR5X3NldCh1
bnNpZ25lZCBjYXBhY2l0eSkKK3sKKyAgICBXZWJDb3JlOjpNZW1vcnlDYWNoZSogY2FjaGUgPSBX
ZWJDb3JlOjptZW1vcnlDYWNoZSgpOworICAgIGNhY2hlLT5zZXRDYXBhY2l0aWVzKDAsIGNhcGFj
aXR5LCBjYXBhY2l0eSk7Cit9CisKKy8qKgogICogQGludGVybmFsCiAgKgogICogR2V0cyB0aGUg
ZGVmYXVsdCB1c2VyIGFnZW50IHN0cmluZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfc2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfc2V0dGluZ3Mu
aAppbmRleCAzZTVjYTQ3Li4wYmJkYjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX3NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0aW5n
cy5oCkBAIC01NCw2ICs1NCwxMCBAQCBFQVBJIGNvbnN0IGNoYXIgICAgICAqZXdrX3NldHRpbmdz
X2NhY2hlX2RpcmVjdG9yeV9wYXRoX2dldCh2b2lkKTsKIEVBUEkgdm9pZCAgICAgICAgICAgICBl
d2tfc2V0dGluZ3NfcHJveHlfdXJpX3NldChjb25zdCBjaGFyKiBwcm94eSk7CiBFQVBJIGNvbnN0
IGNoYXIqICAgICAgZXdrX3NldHRpbmdzX3Byb3h5X3VyaV9nZXQodm9pZCk7CiAKK0VBUEkgRWlu
YV9Cb29sICAgICAgICBld2tfc2V0dGluZ3NfY2FjaGVfZW5hYmxlX2dldCh2b2lkKTsKK0VBUEkg
dm9pZCAgICAgICAgICAgICBld2tfc2V0dGluZ3NfY2FjaGVfZW5hYmxlX3NldChFaW5hX0Jvb2wg
c2V0KTsKK0VBUEkgdm9pZCAgICAgICAgICAgICBld2tfc2V0dGluZ3NfY2FjaGVfY2FwYWNpdHlf
c2V0KHVuc2lnbmVkIGNhcGFjaXR5KTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>