<?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>125273</bug_id>
          
          <creation_ts>2013-12-04 18:15:08 -0800</creation_ts>
          <short_desc>[mac] Keep around more decoded image data, since it&apos;s purgeable</short_desc>
          <delta_ts>2014-11-13 20:26:54 -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>Images</component>
          <version>528+ (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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>138719</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>barraclough</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>japhet</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>mitz</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>956737</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-04 18:15:08 -0800</bug_when>
    <thetext>We haven&apos;t been making good use of purgeable decoded image data, instead opting to throw out all the decoded data on a very frequent basis (sometimes even in between painting a single image into multiple tiles!).

&lt;rdar://problem/13205438&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956738</commentid>
    <comment_count>1</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-04 18:15:32 -0800</bug_when>
    <thetext>This is primarily problematic for animated images, like GIFs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956739</commentid>
    <comment_count>2</comment_count>
      <attachid>218481</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-04 18:27:04 -0800</bug_when>
    <thetext>Created attachment 218481
take 1; needs more testing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956742</commentid>
    <comment_count>3</comment_count>
      <attachid>218481</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-12-04 18:39:32 -0800</bug_when>
    <thetext>Comment on attachment 218481
take 1; needs more testing

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

&gt; Source/WebCore/platform/graphics/BitmapImage.cpp:512
&gt;  unsigned BitmapImage::decodedSize() const
&gt;  {
&gt; +    // If decoded data is purgeable, for the purposes of the memory
&gt; +    // cache, pretend that it doesn&apos;t exist.
&gt; +    if (decodedDataIsPurgeable())
&gt; +        return 0;

It’s not 100% clear that this function is only suitable for use in the memory cache. What if it was used for some other purpose in the future? Might need to be renamed.

&gt; Source/WebCore/platform/graphics/BitmapImage.cpp:522
&gt; +#if !USE(CG)
&gt; +bool BitmapImage::decodedDataIsPurgeable() const
&gt; +{
&gt; +    return false;
&gt; +}
&gt; +#endif

Might be nice if this was inlined.

&gt; Source/WebCore/platform/graphics/cg/BitmapImageCG.cpp:195
&gt; +bool BitmapImage::decodedDataIsPurgeable() const
&gt; +{
&gt; +#if PLATFORM(MAC)
&gt; +    return true;
&gt; +#else
&gt; +    return false;
&gt; +#endif
&gt; +}

Might be nice if this was inlined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956743</commentid>
    <comment_count>4</comment_count>
      <attachid>218481</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-12-04 18:41:46 -0800</bug_when>
    <thetext>Comment on attachment 218481
take 1; needs more testing

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        Instead of throwing away decoded image data eagerly, allow the operating
&gt; +        system to manage the memory via the standard purgeability mechanism.
&gt; +
&gt; +        This improves the performance on some pathological cases (extremely large
&gt; +        animated GIFs) by up to 8x.

On reflection, the effectiveness of this probably depends on how well the purgeability mechanism works. We know it works very well for this purpose on Mavericks, but I believe it may not work as well on older versions of OS X or on various versions of iOS. So it’s dangerous to turn this on for PLATFORM(MAC) unconditionally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956751</commentid>
    <comment_count>5</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-04 19:02:13 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 218481 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=218481&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:13
&gt; &gt; +        Instead of throwing away decoded image data eagerly, allow the operating
&gt; &gt; +        system to manage the memory via the standard purgeability mechanism.
&gt; &gt; +
&gt; &gt; +        This improves the performance on some pathological cases (extremely large
&gt; &gt; +        animated GIFs) by up to 8x.
&gt; 
&gt; On reflection, the effectiveness of this probably depends on how well the purgeability mechanism works. We know it works very well for this purpose on Mavericks, but I believe it may not work as well on older versions of OS X or on various versions of iOS. So it’s dangerous to turn this on for PLATFORM(MAC) unconditionally.

That&apos;s a good point! Mavericks is where we were confident enough to turn on aggressive tile retention, too (which also depends heavily on purgeability), so maybe this should be keyed off OS X version (and tested on iOS).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957119</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-05 18:13:59 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 218481 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=218481&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/BitmapImage.cpp:512
&gt; &gt;  unsigned BitmapImage::decodedSize() const
&gt; &gt;  {
&gt; &gt; +    // If decoded data is purgeable, for the purposes of the memory
&gt; &gt; +    // cache, pretend that it doesn&apos;t exist.
&gt; &gt; +    if (decodedDataIsPurgeable())
&gt; &gt; +        return 0;
&gt; 
&gt; It’s not 100% clear that this function is only suitable for use in the memory cache. What if it was used for some other purpose in the future? Might need to be renamed.

Additional logging and looking into this discovered that change did not have the intended effect (and that code was never called, so I removed it: https://bugs.webkit.org/show_bug.cgi?id=125327).

So, we will still manually purge decoded data when the memory cache decides to (so, much bigger than 5MB, but still not using the full potential of purgeability), which usually happens under memory pressure.

I have re-confirmed that purgeability is working by completely disabling the memory cache&apos;s ability to destroy the decoded data and repeating my original tests.

I&apos;ll find a way to make this work given the new information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957420</commentid>
    <comment_count>7</comment_count>
      <attachid>218629</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-06 15:57:22 -0800</bug_when>
    <thetext>Created attachment 218629
take 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957421</commentid>
    <comment_count>8</comment_count>
      <attachid>218629</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-12-06 15:59:59 -0800</bug_when>
    <thetext>Comment on attachment 218629
take 2

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

&gt; Source/WebCore/platform/graphics/Image.h:127
&gt; +    virtual bool isDecodedDataPurgeable() const { return false; }

decodedDataIsPurgeable() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957422</commentid>
    <comment_count>9</comment_count>
      <attachid>218630</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-06 16:06:48 -0800</bug_when>
    <thetext>Created attachment 218630
patch for landing with new name</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957428</commentid>
    <comment_count>10</comment_count>
      <attachid>218630</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-06 16:42:17 -0800</bug_when>
    <thetext>Comment on attachment 218630
patch for landing with new name

Clearing flags on attachment: 218630

Committed r160260: &lt;http://trac.webkit.org/changeset/160260&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957429</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-06 16:42:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957439</commentid>
    <comment_count>12</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-06 17:30:48 -0800</bug_when>
    <thetext>reopen to fix a IRC review comment from mitz</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957440</commentid>
    <comment_count>13</comment_count>
      <attachid>218635</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-06 17:31:06 -0800</bug_when>
    <thetext>Created attachment 218635
fix review comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957441</commentid>
    <comment_count>14</comment_count>
      <attachid>218635</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-06 17:32:12 -0800</bug_when>
    <thetext>Comment on attachment 218635
fix review comment

Rejecting attachment 218635 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-01&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 218635, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

/Volumes/Data/EWS/WebKit/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.appspot.com/results/46038029</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957442</commentid>
    <comment_count>15</comment_count>
      <attachid>218636</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-06 17:37:26 -0800</bug_when>
    <thetext>Created attachment 218636
make the cq happy :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957453</commentid>
    <comment_count>16</comment_count>
      <attachid>218636</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-06 18:11:55 -0800</bug_when>
    <thetext>Comment on attachment 218636
make the cq happy :(

Clearing flags on attachment: 218636

Committed r160265: &lt;http://trac.webkit.org/changeset/160265&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957454</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-06 18:11:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962123</commentid>
    <comment_count>18</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-20 17:14:23 -0800</bug_when>
    <thetext>Reverted in http://trac.webkit.org/changeset/160943.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980258</commentid>
    <comment_count>19</comment_count>
      <attachid>218481</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-02-13 04:16:33 -0800</bug_when>
    <thetext>Comment on attachment 218481
take 1; needs more testing

Cleared Darin Adler&apos;s review+ from obsolete attachment 218481 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980259</commentid>
    <comment_count>20</comment_count>
      <attachid>218629</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-02-13 04:16:38 -0800</bug_when>
    <thetext>Comment on attachment 218629
take 2

Cleared Simon Fraser&apos;s review+ from obsolete attachment 218629 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048555</commentid>
    <comment_count>21</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-11-13 16:36:30 -0800</bug_when>
    <thetext>Committed r176106: &lt;http://trac.webkit.org/changeset/176106&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048560</commentid>
    <comment_count>22</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-11-13 16:58:37 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; Committed r176106: &lt;http://trac.webkit.org/changeset/176106&gt;

Would there be any value in adding/is it possible to write a performance test for this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048561</commentid>
    <comment_count>23</comment_count>
      <attachid>218630</attachid>
    <who name="">mitz</who>
    <bug_when>2014-11-13 16:58:51 -0800</bug_when>
    <thetext>Comment on attachment 218630
patch for landing with new name

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

&gt; Source/WebCore/platform/graphics/BitmapImage.h:265
&gt; +#if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090

No need for “!PLATFORM(IOS)” since PLATFORM(MAC) and PLATFORM(IOS) are mutually exclusive now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048566</commentid>
    <comment_count>24</comment_count>
      <attachid>218630</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-11-13 17:09:18 -0800</bug_when>
    <thetext>Comment on attachment 218630
patch for landing with new name

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

&gt;&gt; Source/WebCore/platform/graphics/BitmapImage.h:265
&gt;&gt; +#if PLATFORM(MAC) &amp;&amp; !PLATFORM(IOS) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090
&gt; 
&gt; No need for “!PLATFORM(IOS)” since PLATFORM(MAC) and PLATFORM(IOS) are mutually exclusive now.

You can tell how long this patch has been sitting on my disk :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048568</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-13 17:14:02 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 138719</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048572</commentid>
    <comment_count>26</comment_count>
      <attachid>241521</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-11-13 17:22:58 -0800</bug_when>
    <thetext>Created attachment 241521
Patch for Ews...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048573</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-13 17:24:32 -0800</bug_when>
    <thetext>Attachment 241521 did not pass style-queue:


ERROR: Source/WebCore/platform/graphics/BitmapImage.h:287:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebCore/platform/graphics/cg/ImageSourceCG.cpp:54:  &quot;CoreGraphics/CGImagePrivate.h&quot; already included at Source/WebCore/platform/graphics/cg/ImageSourceCG.cpp:42  [build/include] [4]
ERROR: Source/WebCore/platform/graphics/cg/ImageSourceCG.cpp:57:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/platform/graphics/cg/ImageSourceCG.cpp:58:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 4 in 8 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>1048634</commentid>
    <comment_count>28</comment_count>
      <attachid>241521</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-13 20:26:48 -0800</bug_when>
    <thetext>Comment on attachment 241521
Patch for Ews...

Clearing flags on attachment: 241521

Committed r176115: &lt;http://trac.webkit.org/changeset/176115&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048635</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-13 20:26:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218481</attachid>
            <date>2013-12-04 18:27:04 -0800</date>
            <delta_ts>2014-02-13 04:16:33 -0800</delta_ts>
            <desc>take 1; needs more testing</desc>
            <filename>gif.diff</filename>
            <type>text/plain</type>
            <size>4070</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZWJmYTAzLi5lMjEwYmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIg
QEAKKzIwMTMtMTItMDQgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW21hY10gS2VlcCBhcm91bmQgbW9yZSBkZWNvZGVkIGltYWdlIGRhdGEsIHNpbmNl
IGl0J3MgcHVyZ2VhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjUyNzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzMjA1NDM4PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluc3RlYWQgb2YgdGhy
b3dpbmcgYXdheSBkZWNvZGVkIGltYWdlIGRhdGEgZWFnZXJseSwgYWxsb3cgdGhlIG9wZXJhdGlu
ZworICAgICAgICBzeXN0ZW0gdG8gbWFuYWdlIHRoZSBtZW1vcnkgdmlhIHRoZSBzdGFuZGFyZCBw
dXJnZWFiaWxpdHkgbWVjaGFuaXNtLgorCisgICAgICAgIFRoaXMgaW1wcm92ZXMgdGhlIHBlcmZv
cm1hbmNlIG9uIHNvbWUgcGF0aG9sb2dpY2FsIGNhc2VzIChleHRyZW1lbHkgbGFyZ2UKKyAgICAg
ICAgYW5pbWF0ZWQgR0lGcykgYnkgdXAgdG8gOHguCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9CaXRtYXBJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXRtYXBJbWFnZTo6ZGVz
dHJveURlY29kZWREYXRhSWZOZWNlc3NhcnkpOgorICAgICAgICBEb24ndCBlYWdlcmx5IHRocm93
IGF3YXkgZGVjb2RlZCBpbWFnZSBkYXRhIGlmIGl0J3MgcHVyZ2VhYmxlLgorCisgICAgICAgIChX
ZWJDb3JlOjpCaXRtYXBJbWFnZTo6ZGVjb2RlZFNpemUpOgorICAgICAgICBEb24ndCB0ZWxsIHRo
ZSBtZW1vcnkgY2FjaGUgYWJvdXQgdGhlIHNpemUgb2Ygb3VyIGRlY29kZWQgaW1hZ2UgZGF0YSBp
ZiBpdCdzIHB1cmdlYWJsZS4KKworICAgICAgICAoV2ViQ29yZTo6Qml0bWFwSW1hZ2U6OmRlY29k
ZWREYXRhSXNQdXJnZWFibGUpOgorICAgICAgICBBc3N1bWUgdGhhdCBkZWNvZGVkIGRhdGEgaXMg
bm90IHB1cmdlYWJsZSBvbiBub24tQ0cgcGxhdGZvcm1zLgorCisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9C
aXRtYXBJbWFnZUNHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJpdG1hcEltYWdlOjpkZWNvZGVk
RGF0YUlzUHVyZ2VhYmxlKToKKyAgICAgICAgRGVjb2RlZCBpbWFnZSBkYXRhIGlzIGFsd2F5cyBw
dXJnZWFibGUgb24gTWFjLgorCiAyMDEzLTEyLTA0ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3
ZWJraXQub3JnPgogCiAgICAgICAgIE1vdmUgVHJhaWxpbmdPYmplY3RzIGNsYXNzIGludG8gaXRz
IG93biBoL2NwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Qml0bWFwSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuY3BwCmluZGV4IDZmYjFjZmIuLjZhZWIzNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKQEAgLTEwMiw2ICsxMDIsMTEgQEAg
dm9pZCBCaXRtYXBJbWFnZTo6ZGVzdHJveURlY29kZWREYXRhSWZOZWNlc3NhcnkoYm9vbCBkZXN0
cm95QWxsKQogICAgIC8vIHRvIG9uZSBmcmFtZSBhdCBhIHRpbWUuCiAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNMYXJnZUFuaW1hdGlvbkN1dG9mZiA9IDUyNDI4ODA7CiAKKyAgICAvLyBJZiBk
ZWNvZGVkIGRhdGEgaXMgcHVyZ2VhYmxlLCB0aGUgb3BlcmF0aW5nIHN5c3RlbSB3aWxsCisgICAg
Ly8gdGFrZSBjYXJlIG9mIHRocm93aW5nIGl0IGF3YXkgd2hlbiB0aGUgc3lzdGVtIGlzIHVuZGVy
IHByZXNzdXJlLgorICAgIGlmIChkZWNvZGVkRGF0YUlzUHVyZ2VhYmxlKCkpCisgICAgICAgIHJl
dHVybjsKKwogICAgIC8vIElmIHdlIGhhdmUgZGVjb2RlZCBmcmFtZXMgYnV0IHRoZXJlIGlzIG5v
IGVuY29kZWQgZGF0YSwgd2Ugc2hvdWxkbid0IGRlc3Ryb3kKICAgICAvLyB0aGUgZGVjb2RlZCBp
bWFnZSBzaW5jZSB3ZSB3b24ndCBiZSBhYmxlIHRvIHJlY29uc3RydWN0IGl0IGxhdGVyLgogICAg
IGlmICghZGF0YSgpICYmIG1fZnJhbWVzLnNpemUoKSkKQEAgLTUwMSw5ICs1MDYsMjEgQEAgdm9p
ZCBCaXRtYXBJbWFnZTo6cmVzZXRBbmltYXRpb24oKQogCiB1bnNpZ25lZCBCaXRtYXBJbWFnZTo6
ZGVjb2RlZFNpemUoKSBjb25zdAogeworICAgIC8vIElmIGRlY29kZWQgZGF0YSBpcyBwdXJnZWFi
bGUsIGZvciB0aGUgcHVycG9zZXMgb2YgdGhlIG1lbW9yeQorICAgIC8vIGNhY2hlLCBwcmV0ZW5k
IHRoYXQgaXQgZG9lc24ndCBleGlzdC4KKyAgICBpZiAoZGVjb2RlZERhdGFJc1B1cmdlYWJsZSgp
KQorICAgICAgICByZXR1cm4gMDsKKwogICAgIHJldHVybiBtX2RlY29kZWRTaXplOwogfQogCisj
aWYgIVVTRShDRykKK2Jvb2wgQml0bWFwSW1hZ2U6OmRlY29kZWREYXRhSXNQdXJnZWFibGUoKSBj
b25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKyNlbmRpZgorCiB2b2lkIEJpdG1hcEltYWdl
OjpkcmF3UGF0dGVybihHcmFwaGljc0NvbnRleHQqIGN0eHQsIGNvbnN0IEZsb2F0UmVjdCYgdGls
ZVJlY3QsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtLAogICAgIGNvbnN0IEZsb2F0
UG9pbnQmIHBoYXNlLCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFjZSwgQ29tcG9zaXRlT3BlcmF0
b3Igb3AsIGNvbnN0IEZsb2F0UmVjdCYgZGVzdFJlY3QsIEJsZW5kTW9kZSBibGVuZE1vZGUpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFn
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAppbmRl
eCBhOTk4NjQzLi5kZjg3MTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0JpdG1hcEltYWdlLmgKQEAgLTI2Miw2ICsyNjIsOCBAQCBwcm90ZWN0ZWQ6CiAjZW5kaWYK
IAogcHJpdmF0ZToKKyAgICBib29sIGRlY29kZWREYXRhSXNQdXJnZWFibGUoKSBjb25zdDsKKwog
ICAgIEltYWdlU291cmNlIG1fc291cmNlOwogICAgIG11dGFibGUgSW50U2l6ZSBtX3NpemU7IC8v
IFRoZSBzaXplIHRvIHVzZSBmb3IgdGhlIG92ZXJhbGwgaW1hZ2UgKHdpbGwganVzdCBiZSB0aGUg
c2l6ZSBvZiB0aGUgZmlyc3QgaW1hZ2UpLgogICAgIG11dGFibGUgSW50U2l6ZSBtX3NpemVSZXNw
ZWN0aW5nT3JpZW50YXRpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jZy9CaXRtYXBJbWFnZUNHLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NnL0JpdG1hcEltYWdlQ0cuY3BwCmluZGV4IDM2ZTlmMmUuLmVjYTdlZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0JpdG1hcEltYWdlQ0cu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0JpdG1hcEltYWdl
Q0cuY3BwCkBAIC0xODUsNiArMTg1LDE1IEBAIHZvaWQgQml0bWFwSW1hZ2U6OmRyYXcoR3JhcGhp
Y3NDb250ZXh0KiBjdHh0LCBjb25zdCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBGCiAgICAg
ICAgIGltYWdlT2JzZXJ2ZXIoKS0+ZGlkRHJhdyh0aGlzKTsKIH0KIAorYm9vbCBCaXRtYXBJbWFn
ZTo6ZGVjb2RlZERhdGFJc1B1cmdlYWJsZSgpIGNvbnN0Cit7CisjaWYgUExBVEZPUk0oTUFDKQor
ICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwog
fQogCiAjZW5kaWYgLy8gVVNFKENHKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218629</attachid>
            <date>2013-12-06 15:57:22 -0800</date>
            <delta_ts>2014-02-13 04:16:38 -0800</delta_ts>
            <desc>take 2</desc>
            <filename>gif.diff</filename>
            <type>text/plain</type>
            <size>5605</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhNTM3ZTBmLi45Y2QzZDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTMtMTItMDYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW21hY10gS2VlcCBhcm91bmQgbW9yZSBkZWNvZGVkIGltYWdlIGRhdGEsIHNpbmNl
IGl0J3MgcHVyZ2VhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjUyNzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzMjA1NDM4PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywg
anVzdCBhbiBvcHRpbWl6YXRpb24uCisKKyAgICAgICAgSW5zdGVhZCBvZiB0aHJvd2luZyBhd2F5
IGRlY29kZWQgaW1hZ2UgZGF0YSBlYWdlcmx5LCBhbGxvdyB0aGUgb3BlcmF0aW5nCisgICAgICAg
IHN5c3RlbSB0byBtYW5hZ2UgdGhlIG1lbW9yeSB2aWEgdGhlIHN0YW5kYXJkIHB1cmdlYWJpbGl0
eSBtZWNoYW5pc20sCisgICAgICAgIHdoZXJlIGl0IGNhbi4KKworICAgICAgICBUaGlzIGltcHJv
dmVzIHRoZSBwZXJmb3JtYW5jZSBvbiBzb21lIHBhdGhvbG9naWNhbCBjYXNlcyAoZXh0cmVtZWx5
IGxhcmdlCisgICAgICAgIGFuaW1hdGVkIEdJRnMpIGJ5IHVwIHRvIDh4LgorCisgICAgICAgICog
bG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lbW9yeUNh
Y2hlOjpwcnVuZUxpdmVSZXNvdXJjZXNUb1NpemUpOgorICAgICAgICBEb24ndCBwcnVuZSBsaXZl
IHJlc291cmNlcycgZGVjb2RlZCBkYXRhIGlmIGl0IGlzIHB1cmdlYWJsZS4KKworICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkJp
dG1hcEltYWdlOjpkZXN0cm95RGVjb2RlZERhdGFJZk5lY2Vzc2FyeSk6CisgICAgICAgIERvbid0
IGVhZ2VybHkgdGhyb3cgYXdheSBkZWNvZGVkIGltYWdlIGRhdGEgaWYgaXQncyBwdXJnZWFibGUu
CisKKyAgICAgICAgKiBsb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaDoKKyAgICAgICAgKiBsb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlOjppc0RlY29kZWREYXRhUHVyZ2VhYmxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9CaXRtYXBJbWFnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpJbWFnZTo6aXNEZWNvZGVkRGF0YVB1cmdlYWJsZSk6CisKIDIwMTMt
MTItMDYgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBbQ29jb2Fd
IEFkZCBsb2FkIGRlbGVnYXRlIG1ldGhvZHMgZm9yIHJlc3BvbmRpbmcgdG8gYXV0aGVudGljYXRp
b24gY2hhbGxlbmdlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0Nh
Y2hlZEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaApp
bmRleCA0N2E3Y2YzLi45ZWUwMjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkSW1hZ2UuaApAQCAtMTE5LDYgKzExOSw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29s
IGlzSW1hZ2UoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBi
b29sIHN0aWxsTmVlZHNMb2FkKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gIWVycm9yT2NjdXJy
ZWQoKSAmJiBzdGF0dXMoKSA9PSBVbmtub3duICYmICFpc0xvYWRpbmcoKTsgfQogCisgICAgdmly
dHVhbCBib29sIGlzRGVjb2RlZERhdGFQdXJnZWFibGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVy
biBtX2ltYWdlICYmIG1faW1hZ2UtPmlzRGVjb2RlZERhdGFQdXJnZWFibGUoKTsgfQorCiAgICAg
Ly8gSW1hZ2VPYnNlcnZlcgogICAgIHZpcnR1YWwgdm9pZCBkZWNvZGVkU2l6ZUNoYW5nZWQoY29u
c3QgSW1hZ2UqLCBpbnQgZGVsdGEpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBkaWREcmF3
KGNvbnN0IEltYWdlKikgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZS5oCmluZGV4IGI1YjVhNWMuLmY4MzJkMTggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oCkBAIC0xNDksNiArMTQ5LDggQEAgcHVi
bGljOgogICAgIHVuc2lnbmVkIGVuY29kZWRTaXplKCkgY29uc3QgeyByZXR1cm4gbV9lbmNvZGVk
U2l6ZTsgfQogICAgIHVuc2lnbmVkIGRlY29kZWRTaXplKCkgY29uc3QgeyByZXR1cm4gbV9kZWNv
ZGVkU2l6ZTsgfQogICAgIHVuc2lnbmVkIG92ZXJoZWFkU2l6ZSgpIGNvbnN0OworCisgICAgdmly
dHVhbCBib29sIGlzRGVjb2RlZERhdGFQdXJnZWFibGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogICAgIAogICAgIGJvb2wgaXNMb2FkZWQoKSBjb25zdCB7IHJldHVybiAhbV9sb2FkaW5nOyB9
IC8vIEZJWE1FLiBNZXRob2QgbmFtZSBpcyBpbmFjY3VyYXRlLiBMb2FkaW5nIG1pZ2h0IG5vdCBo
YXZlIHN0YXJ0ZWQgeWV0LgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvTWVtb3J5Q2FjaGUuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNh
Y2hlLmNwcAppbmRleCAyODY2NWNjLi44MWU3Njg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvTWVtb3J5Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKQEAgLTI2Niw2ICsyNjYsOSBAQCB2b2lkIE1lbW9yeUNh
Y2hlOjpwcnVuZUxpdmVSZXNvdXJjZXNUb1NpemUodW5zaWduZWQgdGFyZ2V0U2l6ZSkKICAgICAg
ICAgICAgIGlmIChlbGFwc2VkVGltZSA8IGNNaW5EZWxheUJlZm9yZUxpdmVEZWNvZGVkUHJ1bmUp
CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCisgICAgICAgICAgICBpZiAoY3VycmVudC0+aXNE
ZWNvZGVkRGF0YVB1cmdlYWJsZSgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCiAgICAg
ICAgICAgICAvLyBEZXN0cm95IG91ciBkZWNvZGVkIGRhdGEuIFRoaXMgd2lsbCByZW1vdmUgdXMg
ZnJvbSAKICAgICAgICAgICAgIC8vIG1fbGl2ZURlY29kZWRSZXNvdXJjZXMsIGFuZCBwb3NzaWJs
eSBtb3ZlIHVzIHRvIGEgZGlmZmVyZW50IExSVSAKICAgICAgICAgICAgIC8vIGxpc3QgaW4gbV9h
bGxSZXNvdXJjZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9CaXRtYXBJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRt
YXBJbWFnZS5jcHAKaW5kZXggYzg4YWI1ZS4uNzQ4YjhiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcApAQCAtMTAyLDYgKzEwMiwxMSBA
QCB2b2lkIEJpdG1hcEltYWdlOjpkZXN0cm95RGVjb2RlZERhdGFJZk5lY2Vzc2FyeShib29sIGRl
c3Ryb3lBbGwpCiAgICAgLy8gdG8gb25lIGZyYW1lIGF0IGEgdGltZS4KICAgICBzdGF0aWMgY29u
c3QgdW5zaWduZWQgY0xhcmdlQW5pbWF0aW9uQ3V0b2ZmID0gNTI0Mjg4MDsKIAorICAgIC8vIElm
IGRlY29kZWQgZGF0YSBpcyBwdXJnZWFibGUsIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHdpbGwKKyAg
ICAvLyB0YWtlIGNhcmUgb2YgdGhyb3dpbmcgaXQgYXdheSB3aGVuIHRoZSBzeXN0ZW0gaXMgdW5k
ZXIgcHJlc3N1cmUuCisgICAgaWYgKGlzRGVjb2RlZERhdGFQdXJnZWFibGUoKSkKKyAgICAgICAg
cmV0dXJuOworCiAgICAgLy8gSWYgd2UgaGF2ZSBkZWNvZGVkIGZyYW1lcyBidXQgdGhlcmUgaXMg
bm8gZW5jb2RlZCBkYXRhLCB3ZSBzaG91bGRuJ3QgZGVzdHJveQogICAgIC8vIHRoZSBkZWNvZGVk
IGltYWdlIHNpbmNlIHdlIHdvbid0IGJlIGFibGUgdG8gcmVjb25zdHJ1Y3QgaXQgbGF0ZXIuCiAg
ICAgaWYgKCFkYXRhKCkgJiYgbV9mcmFtZXMuc2l6ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKaW5kZXggNGJhOWMyNC4uZjBiNjM0MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCkBAIC0y
NjAsNiArMjYwLDE1IEBAIHByb3RlY3RlZDoKICNlbmRpZgogCiBwcml2YXRlOgorICAgIHZpcnR1
YWwgYm9vbCBpc0RlY29kZWREYXRhUHVyZ2VhYmxlKCkgY29uc3QgT1ZFUlJJREUKKyAgICB7Cisj
aWYgUExBVEZPUk0oTUFDKSAmJiAhUExBVEZPUk0oSU9TKSAmJiBfX01BQ19PU19YX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDEwOTAKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCisgICAgcmV0dXJu
IGZhbHNlOworI2VuZGlmCisgICAgfQorCiAgICAgSW1hZ2VTb3VyY2UgbV9zb3VyY2U7CiAgICAg
bXV0YWJsZSBJbnRTaXplIG1fc2l6ZTsgLy8gVGhlIHNpemUgdG8gdXNlIGZvciB0aGUgb3ZlcmFs
bCBpbWFnZSAod2lsbCBqdXN0IGJlIHRoZSBzaXplIG9mIHRoZSBmaXJzdCBpbWFnZSkuCiAgICAg
bXV0YWJsZSBJbnRTaXplIG1fc2l6ZVJlc3BlY3RpbmdPcmllbnRhdGlvbjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCmluZGV4IGY4ZDYxYzkuLjNiMmQwOWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaApAQCAtMTI0LDYgKzEyNCw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyBmaWxlbmFtZUV4dGVuc2lvbigpIGNvbnN0IHsg
cmV0dXJuIFN0cmluZygpOyB9IC8vIG51bGwgc3RyaW5nIGlmIHVua25vd24KIAogICAgIHZpcnR1
YWwgdm9pZCBkZXN0cm95RGVjb2RlZERhdGEoYm9vbCBkZXN0cm95QWxsID0gdHJ1ZSkgPSAwOwor
ICAgIHZpcnR1YWwgYm9vbCBpc0RlY29kZWREYXRhUHVyZ2VhYmxlKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KIAogICAgIFNoYXJlZEJ1ZmZlciogZGF0YSgpIHsgcmV0dXJuIG1fZW5jb2RlZElt
YWdlRGF0YS5nZXQoKTsgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218630</attachid>
            <date>2013-12-06 16:06:48 -0800</date>
            <delta_ts>2014-11-13 17:22:58 -0800</delta_ts>
            <desc>patch for landing with new name</desc>
            <filename>gif.diff</filename>
            <type>text/plain</type>
            <size>5603</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhNTM3ZTBmLi43ZTUyZWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTMtMTItMDYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW21hY10gS2VlcCBhcm91bmQgbW9yZSBkZWNvZGVkIGltYWdlIGRhdGEsIHNpbmNl
IGl0J3MgcHVyZ2VhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjUyNzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzMjA1NDM4PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGp1
c3QgYW4gb3B0aW1pemF0aW9uLgorCisgICAgICAgIEluc3RlYWQgb2YgdGhyb3dpbmcgYXdheSBk
ZWNvZGVkIGltYWdlIGRhdGEgZWFnZXJseSwgYWxsb3cgdGhlIG9wZXJhdGluZworICAgICAgICBz
eXN0ZW0gdG8gbWFuYWdlIHRoZSBtZW1vcnkgdmlhIHRoZSBzdGFuZGFyZCBwdXJnZWFiaWxpdHkg
bWVjaGFuaXNtLAorICAgICAgICB3aGVyZSBpdCBjYW4uCisKKyAgICAgICAgVGhpcyBpbXByb3Zl
cyB0aGUgcGVyZm9ybWFuY2Ugb24gc29tZSBwYXRob2xvZ2ljYWwgY2FzZXMgKGV4dHJlbWVseSBs
YXJnZQorICAgICAgICBhbmltYXRlZCBHSUZzKSBieSB1cCB0byA4eC4KKworICAgICAgICAqIGxv
YWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNo
ZTo6cHJ1bmVMaXZlUmVzb3VyY2VzVG9TaXplKToKKyAgICAgICAgRG9uJ3QgcHJ1bmUgbGl2ZSBy
ZXNvdXJjZXMnIGRlY29kZWQgZGF0YSBpZiBpdCBpcyBwdXJnZWFibGUuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXRt
YXBJbWFnZTo6ZGVzdHJveURlY29kZWREYXRhSWZOZWNlc3NhcnkpOgorICAgICAgICBEb24ndCBl
YWdlcmx5IHRocm93IGF3YXkgZGVjb2RlZCBpbWFnZSBkYXRhIGlmIGl0J3MgcHVyZ2VhYmxlLgor
CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmg6CisgICAgICAgICogbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZTo6ZGVjb2RlZERhdGFJc1B1cmdlYWJsZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Qml0bWFwSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6SW1hZ2U6OmRlY29kZWREYXRhSXNQdXJnZWFibGUpOgorCiAyMDEzLTEy
LTA2ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBB
ZGQgbG9hZCBkZWxlZ2F0ZSBtZXRob2RzIGZvciByZXNwb25kaW5nIHRvIGF1dGhlbnRpY2F0aW9u
IGNoYWxsZW5nZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNo
ZWRJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmgKaW5k
ZXggNDdhN2NmMy4uMjJlNjA2ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2Nh
Y2hlL0NhY2hlZEltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZEltYWdlLmgKQEAgLTExOSw2ICsxMTksOCBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9vbCBp
c0ltYWdlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9v
bCBzdGlsbE5lZWRzTG9hZCgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuICFlcnJvck9jY3VycmVk
KCkgJiYgc3RhdHVzKCkgPT0gVW5rbm93biAmJiAhaXNMb2FkaW5nKCk7IH0KIAorICAgIHZpcnR1
YWwgYm9vbCBkZWNvZGVkRGF0YUlzUHVyZ2VhYmxlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4g
bV9pbWFnZSAmJiBtX2ltYWdlLT5kZWNvZGVkRGF0YUlzUHVyZ2VhYmxlKCk7IH0KKwogICAgIC8v
IEltYWdlT2JzZXJ2ZXIKICAgICB2aXJ0dWFsIHZvaWQgZGVjb2RlZFNpemVDaGFuZ2VkKGNvbnN0
IEltYWdlKiwgaW50IGRlbHRhKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRHJhdyhj
b25zdCBJbWFnZSopIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2UuaAppbmRleCBiNWI1YTVjLi40MDcxOWJhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2UuaApAQCAtMTQ5LDYgKzE0OSw4IEBAIHB1Ymxp
YzoKICAgICB1bnNpZ25lZCBlbmNvZGVkU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZW5jb2RlZFNp
emU7IH0KICAgICB1bnNpZ25lZCBkZWNvZGVkU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGVjb2Rl
ZFNpemU7IH0KICAgICB1bnNpZ25lZCBvdmVyaGVhZFNpemUoKSBjb25zdDsKKworICAgIHZpcnR1
YWwgYm9vbCBkZWNvZGVkRGF0YUlzUHVyZ2VhYmxlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
ICAgICAKICAgICBib29sIGlzTG9hZGVkKCkgY29uc3QgeyByZXR1cm4gIW1fbG9hZGluZzsgfSAv
LyBGSVhNRS4gTWV0aG9kIG5hbWUgaXMgaW5hY2N1cmF0ZS4gTG9hZGluZyBtaWdodCBub3QgaGF2
ZSBzdGFydGVkIHlldC4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hl
L01lbW9yeUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNo
ZS5jcHAKaW5kZXggMjg2NjVjYy4uNWZhYjUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvTWVtb3J5Q2FjaGUuY3BwCkBAIC0yNjYsNiArMjY2LDkgQEAgdm9pZCBNZW1vcnlDYWNo
ZTo6cHJ1bmVMaXZlUmVzb3VyY2VzVG9TaXplKHVuc2lnbmVkIHRhcmdldFNpemUpCiAgICAgICAg
ICAgICBpZiAoZWxhcHNlZFRpbWUgPCBjTWluRGVsYXlCZWZvcmVMaXZlRGVjb2RlZFBydW5lKQog
ICAgICAgICAgICAgICAgIHJldHVybjsKIAorICAgICAgICAgICAgaWYgKGN1cnJlbnQtPmRlY29k
ZWREYXRhSXNQdXJnZWFibGUoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKwogICAgICAg
ICAgICAgLy8gRGVzdHJveSBvdXIgZGVjb2RlZCBkYXRhLiBUaGlzIHdpbGwgcmVtb3ZlIHVzIGZy
b20gCiAgICAgICAgICAgICAvLyBtX2xpdmVEZWNvZGVkUmVzb3VyY2VzLCBhbmQgcG9zc2libHkg
bW92ZSB1cyB0byBhIGRpZmZlcmVudCBMUlUgCiAgICAgICAgICAgICAvLyBsaXN0IGluIG1fYWxs
UmVzb3VyY2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Qml0bWFwSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFw
SW1hZ2UuY3BwCmluZGV4IGM4OGFiNWUuLmVkMDU4ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKQEAgLTEwMiw2ICsxMDIsMTEgQEAg
dm9pZCBCaXRtYXBJbWFnZTo6ZGVzdHJveURlY29kZWREYXRhSWZOZWNlc3NhcnkoYm9vbCBkZXN0
cm95QWxsKQogICAgIC8vIHRvIG9uZSBmcmFtZSBhdCBhIHRpbWUuCiAgICAgc3RhdGljIGNvbnN0
IHVuc2lnbmVkIGNMYXJnZUFuaW1hdGlvbkN1dG9mZiA9IDUyNDI4ODA7CiAKKyAgICAvLyBJZiBk
ZWNvZGVkIGRhdGEgaXMgcHVyZ2VhYmxlLCB0aGUgb3BlcmF0aW5nIHN5c3RlbSB3aWxsCisgICAg
Ly8gdGFrZSBjYXJlIG9mIHRocm93aW5nIGl0IGF3YXkgd2hlbiB0aGUgc3lzdGVtIGlzIHVuZGVy
IHByZXNzdXJlLgorICAgIGlmIChkZWNvZGVkRGF0YUlzUHVyZ2VhYmxlKCkpCisgICAgICAgIHJl
dHVybjsKKwogICAgIC8vIElmIHdlIGhhdmUgZGVjb2RlZCBmcmFtZXMgYnV0IHRoZXJlIGlzIG5v
IGVuY29kZWQgZGF0YSwgd2Ugc2hvdWxkbid0IGRlc3Ryb3kKICAgICAvLyB0aGUgZGVjb2RlZCBp
bWFnZSBzaW5jZSB3ZSB3b24ndCBiZSBhYmxlIHRvIHJlY29uc3RydWN0IGl0IGxhdGVyLgogICAg
IGlmICghZGF0YSgpICYmIG1fZnJhbWVzLnNpemUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCmluZGV4IDRiYTljMjQuLmVhNzUzY2UgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtMjYw
LDYgKzI2MCwxNSBAQCBwcm90ZWN0ZWQ6CiAjZW5kaWYKIAogcHJpdmF0ZToKKyAgICB2aXJ0dWFs
IGJvb2wgZGVjb2RlZERhdGFJc1B1cmdlYWJsZSgpIGNvbnN0IE9WRVJSSURFCisgICAgeworI2lm
IFBMQVRGT1JNKE1BQykgJiYgIVBMQVRGT1JNKElPUykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDkwCisgICAgcmV0dXJuIHRydWU7CisjZWxzZQorICAgIHJldHVybiBm
YWxzZTsKKyNlbmRpZgorICAgIH0KKwogICAgIEltYWdlU291cmNlIG1fc291cmNlOwogICAgIG11
dGFibGUgSW50U2l6ZSBtX3NpemU7IC8vIFRoZSBzaXplIHRvIHVzZSBmb3IgdGhlIG92ZXJhbGwg
aW1hZ2UgKHdpbGwganVzdCBiZSB0aGUgc2l6ZSBvZiB0aGUgZmlyc3QgaW1hZ2UpLgogICAgIG11
dGFibGUgSW50U2l6ZSBtX3NpemVSZXNwZWN0aW5nT3JpZW50YXRpb247CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaAppbmRleCBmOGQ2MWM5Li5mODM3NjhiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgKQEAgLTEyNCw2ICsxMjQsNyBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgZmlsZW5hbWVFeHRlbnNpb24oKSBjb25zdCB7IHJl
dHVybiBTdHJpbmcoKTsgfSAvLyBudWxsIHN0cmluZyBpZiB1bmtub3duCiAKICAgICB2aXJ0dWFs
IHZvaWQgZGVzdHJveURlY29kZWREYXRhKGJvb2wgZGVzdHJveUFsbCA9IHRydWUpID0gMDsKKyAg
ICB2aXJ0dWFsIGJvb2wgZGVjb2RlZERhdGFJc1B1cmdlYWJsZSgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAKICAgICBTaGFyZWRCdWZmZXIqIGRhdGEoKSB7IHJldHVybiBtX2VuY29kZWRJbWFn
ZURhdGEuZ2V0KCk7IH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218635</attachid>
            <date>2013-12-06 17:31:06 -0800</date>
            <delta_ts>2013-12-06 17:37:26 -0800</delta_ts>
            <desc>fix review comment</desc>
            <filename>gif2.diff</filename>
            <type>text/plain</type>
            <size>1176</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3MzY3ZmQzLi4yYTg4MGE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTMtMTItMDYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW21hY10gS2VlcCBhcm91bmQgbW9yZSBkZWNvZGVkIGltYWdlIGRhdGEsIHNpbmNl
IGl0J3MgcHVyZ2VhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjUyNzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzMjA1NDM4PgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAgICAgRGFuIG5vdGlj
ZWQgdGhhdCB0aGVzZSByZXR1cm4gc3RhdGVtZW50cyB3ZXJlIGltcHJvcGVybHkgaW5kZW50ZWQu
CisKIDIwMTMtMTItMDUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAg
ICAgW01TRV1bTWFjXSBEaXNhYmxlIEFWRm91bmRhdGlvbiB3aGVuIGVuYWJsaW5nIHRoZSBNb2Nr
TWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9CaXRtYXBJbWFnZS5oCmluZGV4IGVhNzUzY2UuLmY5NjIzZWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtMjYzLDkgKzI2Myw5
IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGRlY29kZWREYXRhSXNQdXJnZWFibGUoKSBj
b25zdCBPVkVSUklERQogICAgIHsKICNpZiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1Mp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAotICAgIHJldHVybiB0
cnVlOworICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKICAgICB9CiAK
</data>
<flag name="commit-queue"
          id="242112"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218636</attachid>
            <date>2013-12-06 17:37:26 -0800</date>
            <delta_ts>2014-11-13 17:22:58 -0800</delta_ts>
            <desc>make the cq happy :(</desc>
            <filename>gif2.diff</filename>
            <type>text/plain</type>
            <size>1230</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3MzY3ZmQzLi4xODA0M2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTMtMTItMDYgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW21hY10gS2VlcCBhcm91bmQgbW9yZSBkZWNvZGVkIGltYWdlIGRhdGEsIHNpbmNl
IGl0J3MgcHVyZ2VhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjUyNzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzMjA1NDM4PgorCisgICAg
ICAgIFVucmV2aWV3ZWQgcGF0Y2ggdG8gZml4IHJldmlldyBjb21tZW50cy4uLgorCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaDoKKyAgICAgICAgRGFuIG5vdGljZWQg
dGhhdCB0aGVzZSByZXR1cm4gc3RhdGVtZW50cyB3ZXJlIGltcHJvcGVybHkgaW5kZW50ZWQuCisK
IDIwMTMtMTItMDUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAg
W01TRV1bTWFjXSBEaXNhYmxlIEFWRm91bmRhdGlvbiB3aGVuIGVuYWJsaW5nIHRoZSBNb2NrTWVk
aWFQbGF5ZXJNZWRpYVNvdXJjZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0JpdG1hcEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9CaXRtYXBJbWFnZS5oCmluZGV4IGVhNzUzY2UuLmY5NjIzZWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaApAQCAtMjYzLDkgKzI2Myw5IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCBib29sIGRlY29kZWREYXRhSXNQdXJnZWFibGUoKSBjb25z
dCBPVkVSUklERQogICAgIHsKICNpZiBQTEFURk9STShNQUMpICYmICFQTEFURk9STShJT1MpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAotICAgIHJldHVybiB0cnVl
OworICAgICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOworICAgICAg
ICByZXR1cm4gZmFsc2U7CiAjZW5kaWYKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241521</attachid>
            <date>2014-11-13 17:22:58 -0800</date>
            <delta_ts>2014-11-13 20:26:48 -0800</delta_ts>
            <desc>Patch for Ews...</desc>
            <filename>ews-125273.diff</filename>
            <type>text/plain</type>
            <size>7680</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhNTc5M2ZlLi42YTY1OTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTQtMTEtMDIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgW21hY10gS2VlcCBhcm91bmQgbW9yZSBkZWNvZGVkIGltYWdlIGRhdGEsIHNpbmNl
IGl0J3MgcHVyZ2VhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjUyNzMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEzMjA1NDM4PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGp1
c3QgYW4gb3B0aW1pemF0aW9uLgorCisgICAgICAgIEluc3RlYWQgb2YgdGhyb3dpbmcgYXdheSBk
ZWNvZGVkIGltYWdlIGRhdGEgZWFnZXJseSwgYWxsb3cgdGhlIG9wZXJhdGluZworICAgICAgICBz
eXN0ZW0gdG8gbWFuYWdlIHRoZSBtZW1vcnkgdmlhIHRoZSBzdGFuZGFyZCBwdXJnZWFiaWxpdHkg
bWVjaGFuaXNtLAorICAgICAgICB3aGVyZSBpdCBjYW4uCisKKyAgICAgICAgVGhpcyBpbXByb3Zl
cyB0aGUgcGVyZm9ybWFuY2Ugb24gc29tZSBwYXRob2xvZ2ljYWwgY2FzZXMgKGV4dHJlbWVseSBs
YXJnZQorICAgICAgICBhbmltYXRlZCBHSUZzKSBieSB1cCB0byA4eC4KKworICAgICAgICAqIGxv
YWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZW1vcnlDYWNo
ZTo6cHJ1bmVMaXZlUmVzb3VyY2VzVG9TaXplKToKKyAgICAgICAgRG9uJ3QgcHJ1bmUgbGl2ZSBy
ZXNvdXJjZXMnIGRlY29kZWQgZGF0YSBpZiBpdCBpcyBwdXJnZWFibGUuCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpCaXRt
YXBJbWFnZTo6ZGVzdHJveURlY29kZWREYXRhSWZOZWNlc3NhcnkpOgorICAgICAgICBEb24ndCBl
YWdlcmx5IHRocm93IGF3YXkgZGVjb2RlZCBpbWFnZSBkYXRhIGlmIGl0J3MgcHVyZ2VhYmxlLgor
CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmg6CisgICAgICAgICogbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlLmg6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJj
ZTo6ZGVjb2RlZERhdGFJc1B1cmdlYWJsZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Qml0bWFwSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6SW1hZ2U6OmRlY29kZWREYXRhSXNQdXJnZWFibGUpOgorCiAyMDE0LTEx
LTEzICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBV
bnJldmlld2VkLCByb2xsaW5nIG91dCByMTc2MTA2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZEltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2Fj
aGUvQ2FjaGVkSW1hZ2UuaAppbmRleCA1NmQyYWExLi41NjIyNzJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkSW1hZ2UuaApAQCAtMjQsNiArMjQsNyBAQAogI2RlZmluZSBD
YWNoZWRJbWFnZV9oCiAKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZS5oIgorI2luY2x1ZGUgIklt
YWdlLmgiCiAjaW5jbHVkZSAiSW1hZ2VPYnNlcnZlci5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIK
ICNpbmNsdWRlICJJbnRTaXplSGFzaC5oIgpAQCAtMTE1LDYgKzExNiw4IEBAIHByaXZhdGU6CiAK
ICAgICB2aXJ0dWFsIGJvb2wgc3RpbGxOZWVkc0xvYWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biAhZXJyb3JPY2N1cnJlZCgpICYmIHN0YXR1cygpID09IFVua25vd24gJiYgIWlzTG9hZGluZygp
OyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlZERhdGFJc1B1cmdlYWJsZSgpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIG1faW1hZ2UgJiYgbV9pbWFnZS0+ZGVjb2RlZERhdGFJc1B1cmdlYWJs
ZSgpOyB9CisKICAgICAvLyBJbWFnZU9ic2VydmVyCiAgICAgdmlydHVhbCB2b2lkIGRlY29kZWRT
aXplQ2hhbmdlZChjb25zdCBJbWFnZSosIGludCBkZWx0YSkgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCB2b2lkIGRpZERyYXcoY29uc3QgSW1hZ2UqKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKaW5kZXggYmNjZTI3NC4uZDRjMDNmNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlLmgKQEAgLTE0NCw2
ICsxNDQsOCBAQCBwdWJsaWM6CiAgICAgdW5zaWduZWQgZW5jb2RlZFNpemUoKSBjb25zdCB7IHJl
dHVybiBtX2VuY29kZWRTaXplOyB9CiAgICAgdW5zaWduZWQgZGVjb2RlZFNpemUoKSBjb25zdCB7
IHJldHVybiBtX2RlY29kZWRTaXplOyB9CiAgICAgdW5zaWduZWQgb3ZlcmhlYWRTaXplKCkgY29u
c3Q7CisKKyAgICB2aXJ0dWFsIGJvb2wgZGVjb2RlZERhdGFJc1B1cmdlYWJsZSgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgCiAgICAgYm9vbCBpc0xvYWRlZCgpIGNvbnN0IHsgcmV0dXJu
ICFtX2xvYWRpbmc7IH0gLy8gRklYTUUuIE1ldGhvZCBuYW1lIGlzIGluYWNjdXJhdGUuIExvYWRp
bmcgbWlnaHQgbm90IGhhdmUgc3RhcnRlZCB5ZXQuCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvTWVtb3J5Q2FjaGUuY3BwCmluZGV4IGI5ZmRiMmIuLmY5ZDBhM2EgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9NZW1vcnlDYWNoZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL01lbW9yeUNhY2hlLmNwcApAQCAtMzQyLDYgKzM0MiwxMSBA
QCB2b2lkIE1lbW9yeUNhY2hlOjpwcnVuZUxpdmVSZXNvdXJjZXNUb1NpemUodW5zaWduZWQgdGFy
Z2V0U2l6ZSwgYm9vbCBzaG91bGREZXN0cgogICAgICAgICAgICAgaWYgKCFzaG91bGREZXN0cm95
RGVjb2RlZERhdGFGb3JBbGxMaXZlUmVzb3VyY2VzICYmIGVsYXBzZWRUaW1lIDwgY01pbkRlbGF5
QmVmb3JlTGl2ZURlY29kZWRQcnVuZSkKICAgICAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAg
ICAgICAgIGlmIChjdXJyZW50LT5kZWNvZGVkRGF0YUlzUHVyZ2VhYmxlKCkpIHsKKyAgICAgICAg
ICAgICAgICBjdXJyZW50ID0gcHJldjsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAg
ICAgICAgIH0KKwogICAgICAgICAgICAgLy8gRGVzdHJveSBvdXIgZGVjb2RlZCBkYXRhLiBUaGlz
IHdpbGwgcmVtb3ZlIHVzIGZyb20gCiAgICAgICAgICAgICAvLyBtX2xpdmVEZWNvZGVkUmVzb3Vy
Y2VzLCBhbmQgcG9zc2libHkgbW92ZSB1cyB0byBhIGRpZmZlcmVudCBMUlUgCiAgICAgICAgICAg
ICAvLyBsaXN0IGluIG1fYWxsUmVzb3VyY2VzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuY3BwCmluZGV4IDQ4YzlhYjMuLjUzOGZkMzAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5jcHAKQEAg
LTEzMiw2ICsxMzIsMTEgQEAgdm9pZCBCaXRtYXBJbWFnZTo6ZGVzdHJveURlY29kZWREYXRhSWZO
ZWNlc3NhcnkoYm9vbCBkZXN0cm95QWxsKQogICAgIGNvbnN0IHVuc2lnbmVkIGxhcmdlQW5pbWF0
aW9uQ3V0b2ZmID0gNTI0Mjg4MDsKICNlbmRpZgogCisgICAgLy8gSWYgZGVjb2RlZCBkYXRhIGlz
IHB1cmdlYWJsZSwgdGhlIG9wZXJhdGluZyBzeXN0ZW0gd2lsbAorICAgIC8vIHRha2UgY2FyZSBv
ZiB0aHJvd2luZyBpdCBhd2F5IHdoZW4gdGhlIHN5c3RlbSBpcyB1bmRlciBwcmVzc3VyZS4KKyAg
ICBpZiAoZGVjb2RlZERhdGFJc1B1cmdlYWJsZSgpKQorICAgICAgICByZXR1cm47CisKICAgICAv
LyBJZiB3ZSBoYXZlIGRlY29kZWQgZnJhbWVzIGJ1dCB0aGVyZSBpcyBubyBlbmNvZGVkIGRhdGEs
IHdlIHNob3VsZG4ndCBkZXN0cm95CiAgICAgLy8gdGhlIGRlY29kZWQgaW1hZ2Ugc2luY2Ugd2Ug
d29uJ3QgYmUgYWJsZSB0byByZWNvbnN0cnVjdCBpdCBsYXRlci4KICAgICBpZiAoIWRhdGEoKSAm
JiBtX2ZyYW1lcy5zaXplKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9CaXRtYXBJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Qml0bWFwSW1hZ2UuaAppbmRleCA3MmY3MWFlLi42ZDhjOGM1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmgKQEAgLTI4Myw2ICsyODMsMTUgQEAg
cHJvdGVjdGVkOgogI2VuZGlmCiAKIHByaXZhdGU6CisgICAgdmlydHVhbCBib29sIGRlY29kZWRE
YXRhSXNQdXJnZWFibGUoKSBjb25zdCBvdmVycmlkZQorICAgIHsKKyNpZiBQTEFURk9STShNQUMp
ICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCisgICAgICAgIHJl
dHVybiB0cnVlOworI2Vsc2UKKyAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisgICAgfQor
CiAgICAgSW1hZ2VTb3VyY2UgbV9zb3VyY2U7CiAgICAgbXV0YWJsZSBJbnRTaXplIG1fc2l6ZTsg
Ly8gVGhlIHNpemUgdG8gdXNlIGZvciB0aGUgb3ZlcmFsbCBpbWFnZSAod2lsbCBqdXN0IGJlIHRo
ZSBzaXplIG9mIHRoZSBmaXJzdCBpbWFnZSkuCiAgICAgbXV0YWJsZSBJbnRTaXplIG1fc2l6ZVJl
c3BlY3RpbmdPcmllbnRhdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZS5oCmluZGV4IDg5ODU3MTkuLmFmOWYwNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2UuaApAQCAtMTE0LDYgKzExNCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0
cmluZyBmaWxlbmFtZUV4dGVuc2lvbigpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9IC8vIG51
bGwgc3RyaW5nIGlmIHVua25vd24KIAogICAgIHZpcnR1YWwgdm9pZCBkZXN0cm95RGVjb2RlZERh
dGEoYm9vbCBkZXN0cm95QWxsID0gdHJ1ZSkgPSAwOworICAgIHZpcnR1YWwgYm9vbCBkZWNvZGVk
RGF0YUlzUHVyZ2VhYmxlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIFNoYXJlZEJ1
ZmZlciogZGF0YSgpIHsgcmV0dXJuIG1fZW5jb2RlZEltYWdlRGF0YS5nZXQoKTsgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZVNvdXJjZUNH
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cu
Y3BwCmluZGV4IDI2MTQwOWMuLmFiYTU1MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlU291cmNlQ0cuY3BwCkBAIC01MCw2ICs1MCwxNyBA
QAogY29uc3QgQ0ZTdHJpbmdSZWYga0NHSW1hZ2VTb3VyY2VTdWJzYW1wbGVGYWN0b3IgPSBDRlNU
Uigia0NHSW1hZ2VTb3VyY2VTdWJzYW1wbGVGYWN0b3IiKTsKICNlbmRpZgogCisjaWYgX19oYXNf
aW5jbHVkZSg8Q29yZUdyYXBoaWNzL0NHSW1hZ2VQcml2YXRlLmg+KQorI2ltcG9ydCA8Q29yZUdy
YXBoaWNzL0NHSW1hZ2VQcml2YXRlLmg+CisjZWxzZQorZW51bSB7CisgICAga0NHSW1hZ2VDYWNo
aW5nVHJhbnNpZW50ID0gMSwKKyAgICBrQ0dJbWFnZUNhY2hpbmdUZW1wb3JhcnkgPSAzCit9Owor
dHlwZWRlZiB1aW50MzJfdCBDR0ltYWdlQ2FjaGluZ0ZsYWdzOworZXh0ZXJuICJDIiB2b2lkIENH
SW1hZ2VTZXRDYWNoaW5nRmxhZ3MoQ0dJbWFnZVJlZiBpbWFnZSwgQ0dJbWFnZUNhY2hpbmdGbGFn
cyBmbGFncyk7CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjb25zdCBDRlN0cmlu
Z1JlZiBXZWJDb3JlQ0dJbWFnZVByb3BlcnR5QVBOR1VuY2xhbXBlZERlbGF5VGltZSA9IENGU1RS
KCJVbmNsYW1wZWREZWxheVRpbWUiKTsKQEAgLTM0Myw3ICszNTQsNyBAQCBzaXplX3QgSW1hZ2VT
b3VyY2U6OmZyYW1lQ291bnQoKSBjb25zdAogQ0dJbWFnZVJlZiBJbWFnZVNvdXJjZTo6Y3JlYXRl
RnJhbWVBdEluZGV4KHNpemVfdCBpbmRleCwgU3Vic2FtcGxpbmdMZXZlbCBzdWJzYW1wbGluZ0xl
dmVsKQogewogICAgIGlmICghaW5pdGlhbGl6ZWQoKSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgIHJldHVybiBudWxscHRyOwogCiAgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlID0g
YWRvcHRDRihDR0ltYWdlU291cmNlQ3JlYXRlSW1hZ2VBdEluZGV4KG1fZGVjb2RlciwgaW5kZXgs
IGltYWdlU291cmNlT3B0aW9ucyhzdWJzYW1wbGluZ0xldmVsKS5nZXQoKSkpOwogCkBAIC0zNjQs
NyArMzc1LDE4IEBAIENHSW1hZ2VSZWYgSW1hZ2VTb3VyY2U6OmNyZWF0ZUZyYW1lQXRJbmRleChz
aXplX3QgaW5kZXgsIFN1YnNhbXBsaW5nTGV2ZWwgc3Vic2FtCiAKICAgICBDRlN0cmluZ1JlZiBp
bWFnZVVUSSA9IENHSW1hZ2VTb3VyY2VHZXRUeXBlKG1fZGVjb2Rlcik7CiAgICAgc3RhdGljIGNv
bnN0IENGU3RyaW5nUmVmIHhibVVUSSA9IENGU1RSKCJwdWJsaWMueGJpdG1hcC1pbWFnZSIpOwot
ICAgIGlmICghaW1hZ2VVVEkgfHwgIUNGRXF1YWwoaW1hZ2VVVEksIHhibVVUSSkpCisKKyAgICBp
ZiAoIWltYWdlVVRJKQorICAgICAgICByZXR1cm4gaW1hZ2UubGVha1JlZigpOworCisjaWYgUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAor
ICAgIGlmIChDRkVxdWFsKGltYWdlVVRJLCBrVVRUeXBlR0lGKSkgeworICAgICAgICBDR0ltYWdl
U2V0Q2FjaGluZ0ZsYWdzKGltYWdlLmdldCgpLCBrQ0dJbWFnZUNhY2hpbmdUcmFuc2llbnQpOwor
ICAgICAgICByZXR1cm4gaW1hZ2UubGVha1JlZigpOworICAgIH0KKyNlbmRpZgorCisgICAgaWYg
KCFDRkVxdWFsKGltYWdlVVRJLCB4Ym1VVEkpKQogICAgICAgICByZXR1cm4gaW1hZ2UubGVha1Jl
ZigpOwogICAgIAogICAgIC8vIElmIGl0IGlzIGFuIHhibSBpbWFnZSwgbWFzayBvdXQgYWxsIHRo
ZSB3aGl0ZSBhcmVhcyB0byByZW5kZXIgdGhlbSB0cmFuc3BhcmVudC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>