<?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>62536</bug_id>
          
          <creation_ts>2011-06-13 03:00:21 -0700</creation_ts>
          <short_desc>[EFL] Supports to execute &quot;redo&quot; command.</short_desc>
          <delta_ts>2011-07-11 22:58:40 -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>Unspecified</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>
          <dependson>62726</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Jaehun Lim">ljaehun.lim</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>sangseok.lim</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>419490</commentid>
    <comment_count>0</comment_count>
    <who name="Jaehun Lim">ljaehun.lim</who>
    <bug_when>2011-06-13 03:00:21 -0700</bug_when>
    <thetext>This is an initial implementaion to support execCommand(&quot;undo&quot;) in Javascript.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419492</commentid>
    <comment_count>1</comment_count>
      <attachid>96942</attachid>
    <who name="Jaehun Lim">ljaehun.lim</who>
    <bug_when>2011-06-13 03:05:30 -0700</bug_when>
    <thetext>Created attachment 96942
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419534</commentid>
    <comment_count>2</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-06-13 06:44:25 -0700</bug_when>
    <thetext>The code looks like the one in the GTK+ port but without some additional checks (for m_isInRedo, for example). I suggest porting those checks as well.

&gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:150
&gt; +    redoStack.clear();

Perhaps it might be good to check if you&apos;re not inside a redo operation?

&gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:194
&gt; +    RefPtr&lt;WebCore::EditCommand&gt; command(*(--redoStack.end()));

What if the stack is empty? You should probably enclose this block of code inside an if (canRedo())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419883</commentid>
    <comment_count>3</comment_count>
      <attachid>96942</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-13 14:40:34 -0700</bug_when>
    <thetext>Comment on attachment 96942
Proposed patch

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

&gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:194
&gt; +    RefPtr&lt;WebCore::EditCommand&gt; command(*(--redoStack.end()));

So this will never be called when canRedo is false I assume?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420003</commentid>
    <comment_count>4</comment_count>
      <attachid>96942</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-13 15:45:38 -0700</bug_when>
    <thetext>Comment on attachment 96942
Proposed patch

Clearing flags on attachment: 96942

Committed r88723: &lt;http://trac.webkit.org/changeset/88723&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420004</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-13 15:45:43 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420021</commentid>
    <comment_count>6</comment_count>
    <who name="Jaehun Lim">ljaehun.lim</who>
    <bug_when>2011-06-13 16:03:13 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; The code looks like the one in the GTK+ port but without some additional checks (for m_isInRedo, for example). I suggest porting those checks as well.
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:150
&gt; &gt; +    redoStack.clear();
&gt; 
&gt; Perhaps it might be good to check if you&apos;re not inside a redo operation?
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:194
&gt; &gt; +    RefPtr&lt;WebCore::EditCommand&gt; command(*(--redoStack.end()));
&gt; 
&gt; What if the stack is empty? You should probably enclose this block of code inside an if (canRedo())

I missed some checking codes as you said.
I&apos;ll make another patch soon. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421303</commentid>
    <comment_count>7</comment_count>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2011-06-15 08:13:20 -0700</bug_when>
    <thetext>Re-opening this bug. Please address the comments #2 and #3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421642</commentid>
    <comment_count>8</comment_count>
      <attachid>97375</attachid>
    <who name="Jaehun Lim">ljaehun.lim</who>
    <bug_when>2011-06-15 16:47:05 -0700</bug_when>
    <thetext>Created attachment 97375
Modified patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421645</commentid>
    <comment_count>9</comment_count>
    <who name="Jaehun Lim">ljaehun.lim</who>
    <bug_when>2011-06-15 16:58:07 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; The code looks like the one in the GTK+ port but without some additional checks (for m_isInRedo, for example). I suggest porting those checks as well.
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:150
&gt; &gt; +    redoStack.clear();
&gt; 
&gt; Perhaps it might be good to check if you&apos;re not inside a redo operation?
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:194
&gt; &gt; +    RefPtr&lt;WebCore::EditCommand&gt; command(*(--redoStack.end()));
&gt; 
&gt; What if the stack is empty? You should probably enclose this block of code inside an if (canRedo())

I added some codes for status checking using m_isInRedo or canRedo() as you said.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421937</commentid>
    <comment_count>10</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-06-16 07:12:32 -0700</bug_when>
    <thetext>It looks OK to me now. Informal r+. Please mark the previous patch as obsolete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422295</commentid>
    <comment_count>11</comment_count>
    <who name="Jaehun Lim">ljaehun.lim</who>
    <bug_when>2011-06-16 15:27:40 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; It looks OK to me now. Informal r+. Please mark the previous patch as obsolete.

Sorry, I missed it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>422394</commentid>
    <comment_count>12</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-06-16 20:55:40 -0700</bug_when>
    <thetext>Informal review r+ on my side.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>432300</commentid>
    <comment_count>13</comment_count>
      <attachid>97375</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-07-05 09:43:24 -0700</bug_when>
    <thetext>Comment on attachment 97375
Modified patch

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

&gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:157
&gt; -    notImplemented();
&gt; +    redoStack.append(command);

Why don&apos;t you prepend here instead?

&gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:190
&gt; +        RefPtr&lt;WebCore::EditCommand&gt; command(*(--undoStack.end()));
&gt; +        undoStack.remove(--undoStack.end());

so that you can use undoStack.first() and undoStack.removeFirst() here instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434691</commentid>
    <comment_count>14</comment_count>
      <attachid>100248</attachid>
    <who name="Jaehun Lim">ljaehun.lim</who>
    <bug_when>2011-07-11 00:05:04 -0700</bug_when>
    <thetext>Created attachment 100248
Modified patch

Use prepend() instead of append().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434692</commentid>
    <comment_count>15</comment_count>
    <who name="Jaehun Lim">ljaehun.lim</who>
    <bug_when>2011-07-11 00:05:55 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 97375 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=97375&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:157
&gt; &gt; -    notImplemented();
&gt; &gt; +    redoStack.append(command);
&gt; 
&gt; Why don&apos;t you prepend here instead?
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:190
&gt; &gt; +        RefPtr&lt;WebCore::EditCommand&gt; command(*(--undoStack.end()));
&gt; &gt; +        undoStack.remove(--undoStack.end());
&gt; 
&gt; so that you can use undoStack.first() and undoStack.removeFirst() here instead.

I applied your comments. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434695</commentid>
    <comment_count>16</comment_count>
      <attachid>100249</attachid>
    <who name="Jaehun Lim">ljaehun.lim</who>
    <bug_when>2011-07-11 00:08:02 -0700</bug_when>
    <thetext>Created attachment 100249
Fix a trivial mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434923</commentid>
    <comment_count>17</comment_count>
      <attachid>100249</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-07-11 09:22:33 -0700</bug_when>
    <thetext>Comment on attachment 100249
Fix a trivial mistake.

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

&gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:203
&gt; +        RefPtr&lt;WebCore::EditCommand&gt; command(undoStack.takeFirst());

Nit: I think we normally use assignment operator here.

&gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:211
&gt; +        RefPtr&lt;WebCore::EditCommand&gt; command(redoStack.takeFirst());

Ditto.

&gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:214
&gt; +        ASSERT(!m_isInRedo);
&gt; +        m_isInRedo = true;

Do we really need to do this?  We don&apos;t do this for undo, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434943</commentid>
    <comment_count>18</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-07-11 09:52:41 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; &gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:214
&gt; &gt; +        ASSERT(!m_isInRedo);
&gt; &gt; +        m_isInRedo = true;
&gt; 
&gt; Do we really need to do this?  We don&apos;t do this for undo, right?

This one was probably my suggestion, as this is exactly what the gtk port does. It shouldn&apos;t hurt IMO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435254</commentid>
    <comment_count>19</comment_count>
      <attachid>100375</attachid>
    <who name="Jaehun Lim">ljaehun.lim</who>
    <bug_when>2011-07-11 15:52:16 -0700</bug_when>
    <thetext>Created attachment 100375
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435260</commentid>
    <comment_count>20</comment_count>
      <attachid>100375</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-07-11 15:59:40 -0700</bug_when>
    <thetext>Comment on attachment 100375
Patch

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

&gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:214
&gt; +        ASSERT(!m_isInRedo);
&gt; +        m_isInRedo = true;

I&apos;m still not happy about the fact there&apos;s asymmetry between undo and redo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435460</commentid>
    <comment_count>21</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-07-11 20:33:29 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (From update of attachment 100375 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=100375&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:214
&gt; &gt; +        ASSERT(!m_isInRedo);
&gt; &gt; +        m_isInRedo = true;
&gt; 
&gt; I&apos;m still not happy about the fact there&apos;s asymmetry between undo and redo.

It looks the m_isInRedo flag is used by registerCommandForUndo() in GTK port.

http://trac.webkit.org/browser/trunk/Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp#L354

So, if we don&apos;t know why redoStack is cleared when m_isInRedo is false, we should not add the m_isInRedo to redo().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435470</commentid>
    <comment_count>22</comment_count>
    <who name="Jaehun Lim">ljaehun.lim</who>
    <bug_when>2011-07-11 21:17:52 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (In reply to comment #20)
&gt; &gt; (From update of attachment 100375 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=100375&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:214
&gt; &gt; &gt; +        ASSERT(!m_isInRedo);
&gt; &gt; &gt; +        m_isInRedo = true;
&gt; &gt; 
&gt; &gt; I&apos;m still not happy about the fact there&apos;s asymmetry between undo and redo.
&gt; 
&gt; It looks the m_isInRedo flag is used by registerCommandForUndo() in GTK port.
&gt; 
&gt; http://trac.webkit.org/browser/trunk/Source/WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp#L354
&gt; 
&gt; So, if we don&apos;t know why redoStack is cleared when m_isInRedo is false, we should not add the m_isInRedo to redo().

I think we should check redo status when a command is added into undoStack.

In general, when a new command is added into undoStack, commands in redoStack are useless, So redoStack should be cleared.
But when a command is moved from redoStack to undoStack by redo function, we should not clear the redoStack, because user could redo next commands in redoStack continuously.

But current registerCommandForUndo() has no redostack clearing codes.
I&apos;ll make a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435473</commentid>
    <comment_count>23</comment_count>
      <attachid>100436</attachid>
    <who name="Jaehun Lim">ljaehun.lim</who>
    <bug_when>2011-07-11 21:27:56 -0700</bug_when>
    <thetext>Created attachment 100436
New patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435475</commentid>
    <comment_count>24</comment_count>
      <attachid>100436</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-07-11 21:40:30 -0700</bug_when>
    <thetext>Comment on attachment 100436
New patch

LGTM. Ryuske, could you review this patch again ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435480</commentid>
    <comment_count>25</comment_count>
      <attachid>100436</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-07-11 22:17:09 -0700</bug_when>
    <thetext>Comment on attachment 100436
New patch

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

&gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:167
&gt; +    if (!m_isInRedo)
&gt; +        redoStack.clear();

Now, this makes a lot of sense!

&gt; Source/WebKit/efl/WebCoreSupport/EditorClientEfl.cpp:218
&gt; +        m_isInRedo = true;
&gt; +        command-&gt;reapply();
&gt; +        m_isInRedo = false;

I must say that this is likely broken if scripts run execCommand in mutation events but I suppose all other ports have the same issue ? :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435489</commentid>
    <comment_count>26</comment_count>
      <attachid>100436</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-11 22:58:33 -0700</bug_when>
    <thetext>Comment on attachment 100436
New patch

Clearing flags on attachment: 100436

Committed r90808: &lt;http://trac.webkit.org/changeset/90808&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435490</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-11 22:58:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96942</attachid>
            <date>2011-06-13 03:05:30 -0700</date>
            <delta_ts>2011-06-16 15:27:03 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>2880</size>
            <attacher name="Jaehun Lim">ljaehun.lim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA4YjBkZDBjLi5mZGU1MjViIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTEtMDYtMTMgIEphZWh1biBMaW0gIDxsamFlaHVuLmxpbUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBbRUZMXSBTdXBwb3J0cyB0byBleGVjdXRlICJyZWRvIiBjb21tYW5kLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MzYKKworICAgICAgICBJbXBs
ZW1lbnRzIGJhc2ljIGZ1bmN0aW9ucyBmb3IgInJlZG8iIGNvbW1hbmQuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRp
dG9yQ2xpZW50RWZsOjpyZWdpc3RlckNvbW1hbmRGb3JVbmRvKToKKyAgICAgICAgKFdlYkNvcmU6
OkVkaXRvckNsaWVudEVmbDo6cmVnaXN0ZXJDb21tYW5kRm9yUmVkbyk6CisgICAgICAgIChXZWJD
b3JlOjpFZGl0b3JDbGllbnRFZmw6OmNsZWFyVW5kb1JlZG9PcGVyYXRpb25zKToKKyAgICAgICAg
KFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6Y2FuUmVkbyk6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3JDbGllbnRFZmw6OnJlZG8pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0VkaXRvckNs
aWVudEVmbC5oOgorCiAyMDExLTA2LTEyICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwCmluZGV4
IDc0NWEzYmMuLjU5ODEyN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcApAQCAtMTQ3LDE3ICsxNDcsMTkgQEAgdm9pZCBF
ZGl0b3JDbGllbnRFZmw6OmRpZFNldFNlbGVjdGlvblR5cGVzRm9yUGFzdGVib2FyZCgpCiAKIHZv
aWQgRWRpdG9yQ2xpZW50RWZsOjpyZWdpc3RlckNvbW1hbmRGb3JVbmRvKFdURjo6UGFzc1JlZlB0
cjxFZGl0Q29tbWFuZD4gY29tbWFuZCkKIHsKKyAgICByZWRvU3RhY2suY2xlYXIoKTsKICAgICB1
bmRvU3RhY2suYXBwZW5kKGNvbW1hbmQpOwogfQogCi12b2lkIEVkaXRvckNsaWVudEVmbDo6cmVn
aXN0ZXJDb21tYW5kRm9yUmVkbyhXVEY6OlBhc3NSZWZQdHI8RWRpdENvbW1hbmQ+KQordm9pZCBF
ZGl0b3JDbGllbnRFZmw6OnJlZ2lzdGVyQ29tbWFuZEZvclJlZG8oV1RGOjpQYXNzUmVmUHRyPEVk
aXRDb21tYW5kPiBjb21tYW5kKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmVkb1N0
YWNrLmFwcGVuZChjb21tYW5kKTsKIH0KIAogdm9pZCBFZGl0b3JDbGllbnRFZmw6OmNsZWFyVW5k
b1JlZG9PcGVyYXRpb25zKCkKIHsKICAgICB1bmRvU3RhY2suY2xlYXIoKTsKKyAgICByZWRvU3Rh
Y2suY2xlYXIoKTsKIH0KIAogYm9vbCBFZGl0b3JDbGllbnRFZmw6OmNhbkNvcHlDdXQoRnJhbWUq
LCBib29sIGRlZmF1bHRWYWx1ZSkgY29uc3QKQEAgLTE3Nyw4ICsxNzksNyBAQCBib29sIEVkaXRv
ckNsaWVudEVmbDo6Y2FuVW5kbygpIGNvbnN0CiAKIGJvb2wgRWRpdG9yQ2xpZW50RWZsOjpjYW5S
ZWRvKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxzZTsK
KyAgICByZXR1cm4gIXJlZG9TdGFjay5pc0VtcHR5KCk7CiB9CiAKIHZvaWQgRWRpdG9yQ2xpZW50
RWZsOjp1bmRvKCkKQEAgLTE5MCw3ICsxOTEsOSBAQCB2b2lkIEVkaXRvckNsaWVudEVmbDo6dW5k
bygpCiAKIHZvaWQgRWRpdG9yQ2xpZW50RWZsOjpyZWRvKCkKIHsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIFJlZlB0cjxXZWJDb3JlOjpFZGl0Q29tbWFuZD4gY29tbWFuZCgqKC0tcmVkb1N0
YWNrLmVuZCgpKSk7CisgICAgcmVkb1N0YWNrLnJlbW92ZSgtLXJlZG9TdGFjay5lbmQoKSk7Cisg
ICAgY29tbWFuZC0+cmVhcHBseSgpOwogfQogCiBib29sIEVkaXRvckNsaWVudEVmbDo6c2hvdWxk
SW5zZXJ0Tm9kZShOb2RlKiwgUmFuZ2UqLCBFZGl0b3JJbnNlcnRBY3Rpb24pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaCBiL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oCmluZGV4IDkx
NmY5NjAuLjRmMmE3MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEVmbC5oCkBAIC00Nyw2ICs0Nyw3IEBAIGNsYXNzIFBhZ2U7CiBjbGFz
cyBFZGl0b3JDbGllbnRFZmwgOiBwdWJsaWMgRWRpdG9yQ2xpZW50LCBwdWJsaWMgVGV4dENoZWNr
ZXJDbGllbnQgewogcHJvdGVjdGVkOgogICAgIFdURjo6RGVxdWU8V1RGOjpSZWZQdHI8V2ViQ29y
ZTo6RWRpdENvbW1hbmQ+ID4gdW5kb1N0YWNrOworICAgIFdURjo6RGVxdWU8V1RGOjpSZWZQdHI8
V2ViQ29yZTo6RWRpdENvbW1hbmQ+ID4gcmVkb1N0YWNrOwogCiBwdWJsaWM6CiAgICAgRWRpdG9y
Q2xpZW50RWZsKEV2YXNfT2JqZWN0ICp2aWV3KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97375</attachid>
            <date>2011-06-15 16:47:05 -0700</date>
            <delta_ts>2011-07-11 00:05:04 -0700</delta_ts>
            <desc>Modified patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>3672</size>
            <attacher name="Jaehun Lim">ljaehun.lim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCAxZWUxNDUzLi5mYzNmN2I2IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTEtMDYtMTUgIEphZWh1biBMaW0gIDxsamFlaHVuLmxpbUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBbRUZMXSBTdXBwb3J0cyB0byBleGVjdXRlICJyZWRvIiBjb21tYW5kLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MzYKKworICAgICAgICBJbXBs
ZW1lbnRzIGJhc2ljIGZ1bmN0aW9ucyBmb3IgInJlZG8iIGNvbW1hbmQuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRp
dG9yQ2xpZW50RWZsOjpyZWdpc3RlckNvbW1hbmRGb3JVbmRvKToKKyAgICAgICAgKFdlYkNvcmU6
OkVkaXRvckNsaWVudEVmbDo6cmVnaXN0ZXJDb21tYW5kRm9yUmVkbyk6CisgICAgICAgIChXZWJD
b3JlOjpFZGl0b3JDbGllbnRFZmw6OmNsZWFyVW5kb1JlZG9PcGVyYXRpb25zKToKKyAgICAgICAg
KFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6Y2FuUmVkbyk6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3JDbGllbnRFZmw6OnVuZG8pOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50RWZs
OjpyZWRvKToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6RWRpdG9yQ2xpZW50
RWZsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaDoKKwogMjAx
MS0wNi0xNSAgR3J6ZWdvcnogQ3phamtvd3NraSAgPGcuY3phamtvd3NraUBzYW1zdW5nLmNvbT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBBbnRvbmlvIEdvbWVzLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5jcHAKaW5kZXggNzQ1YTNi
Yy4uNmRmZjhmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
RWRpdG9yQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRFZmwuY3BwCkBAIC0xNDcsMTcgKzE0NywyMCBAQCB2b2lkIEVkaXRvckNs
aWVudEVmbDo6ZGlkU2V0U2VsZWN0aW9uVHlwZXNGb3JQYXN0ZWJvYXJkKCkKIAogdm9pZCBFZGl0
b3JDbGllbnRFZmw6OnJlZ2lzdGVyQ29tbWFuZEZvclVuZG8oV1RGOjpQYXNzUmVmUHRyPEVkaXRD
b21tYW5kPiBjb21tYW5kKQogeworICAgIGlmICghbV9pc0luUmVkbykKKyAgICAgICAgcmVkb1N0
YWNrLmNsZWFyKCk7CiAgICAgdW5kb1N0YWNrLmFwcGVuZChjb21tYW5kKTsKIH0KIAotdm9pZCBF
ZGl0b3JDbGllbnRFZmw6OnJlZ2lzdGVyQ29tbWFuZEZvclJlZG8oV1RGOjpQYXNzUmVmUHRyPEVk
aXRDb21tYW5kPikKK3ZvaWQgRWRpdG9yQ2xpZW50RWZsOjpyZWdpc3RlckNvbW1hbmRGb3JSZWRv
KFdURjo6UGFzc1JlZlB0cjxFZGl0Q29tbWFuZD4gY29tbWFuZCkKIHsKLSAgICBub3RJbXBsZW1l
bnRlZCgpOworICAgIHJlZG9TdGFjay5hcHBlbmQoY29tbWFuZCk7CiB9CiAKIHZvaWQgRWRpdG9y
Q2xpZW50RWZsOjpjbGVhclVuZG9SZWRvT3BlcmF0aW9ucygpCiB7CiAgICAgdW5kb1N0YWNrLmNs
ZWFyKCk7CisgICAgcmVkb1N0YWNrLmNsZWFyKCk7CiB9CiAKIGJvb2wgRWRpdG9yQ2xpZW50RWZs
OjpjYW5Db3B5Q3V0KEZyYW1lKiwgYm9vbCBkZWZhdWx0VmFsdWUpIGNvbnN0CkBAIC0xNzcsMjAg
KzE4MCwyOSBAQCBib29sIEVkaXRvckNsaWVudEVmbDo6Y2FuVW5kbygpIGNvbnN0CiAKIGJvb2wg
RWRpdG9yQ2xpZW50RWZsOjpjYW5SZWRvKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gIXJlZG9TdGFjay5pc0VtcHR5KCk7CiB9
CiAKIHZvaWQgRWRpdG9yQ2xpZW50RWZsOjp1bmRvKCkKIHsKLSAgICBSZWZQdHI8V2ViQ29yZTo6
RWRpdENvbW1hbmQ+IGNvbW1hbmQoKigtLXVuZG9TdGFjay5lbmQoKSkpOwotICAgIHVuZG9TdGFj
ay5yZW1vdmUoLS11bmRvU3RhY2suZW5kKCkpOwotICAgIGNvbW1hbmQtPnVuYXBwbHkoKTsKKyAg
ICBpZiAoY2FuVW5kbygpKSB7CisgICAgICAgIFJlZlB0cjxXZWJDb3JlOjpFZGl0Q29tbWFuZD4g
Y29tbWFuZCgqKC0tdW5kb1N0YWNrLmVuZCgpKSk7CisgICAgICAgIHVuZG9TdGFjay5yZW1vdmUo
LS11bmRvU3RhY2suZW5kKCkpOworICAgICAgICBjb21tYW5kLT51bmFwcGx5KCk7CisgICAgfQog
fQogCiB2b2lkIEVkaXRvckNsaWVudEVmbDo6cmVkbygpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICBpZiAoY2FuUmVkbygpKSB7CisgICAgICAgIFJlZlB0cjxXZWJDb3JlOjpFZGl0Q29t
bWFuZD4gY29tbWFuZCgqKC0tcmVkb1N0YWNrLmVuZCgpKSk7CisgICAgICAgIHJlZG9TdGFjay5y
ZW1vdmUoLS1yZWRvU3RhY2suZW5kKCkpOworCisgICAgICAgIEFTU0VSVCghbV9pc0luUmVkbyk7
CisgICAgICAgIG1faXNJblJlZG8gPSB0cnVlOworICAgICAgICBjb21tYW5kLT5yZWFwcGx5KCk7
CisgICAgICAgIG1faXNJblJlZG8gPSBmYWxzZTsKKyAgICB9CiB9CiAKIGJvb2wgRWRpdG9yQ2xp
ZW50RWZsOjpzaG91bGRJbnNlcnROb2RlKE5vZGUqLCBSYW5nZSosIEVkaXRvckluc2VydEFjdGlv
bikKQEAgLTQxMCw3ICs0MjIsOCBAQCB2b2lkIEVkaXRvckNsaWVudEVmbDo6aGFuZGxlSW5wdXRN
ZXRob2RLZXlkb3duKEtleWJvYXJkRXZlbnQqIGV2ZW50KQogfQogCiBFZGl0b3JDbGllbnRFZmw6
OkVkaXRvckNsaWVudEVmbChFdmFzX09iamVjdCAqdmlldykKLSAgICA6IG1fdmlldyh2aWV3KQor
ICAgIDogbV9pc0luUmVkbyhmYWxzZSkKKyAgICAsIG1fdmlldyh2aWV3KQogewogICAgIG5vdElt
cGxlbWVudGVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9FZGl0b3JDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0VkaXRvckNsaWVudEVmbC5oCmluZGV4IDkxNmY5NjAuLjZjZDVkZGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oCkBAIC00Niw3
ICs0Niw5IEBAIGNsYXNzIFBhZ2U7CiAKIGNsYXNzIEVkaXRvckNsaWVudEVmbCA6IHB1YmxpYyBF
ZGl0b3JDbGllbnQsIHB1YmxpYyBUZXh0Q2hlY2tlckNsaWVudCB7CiBwcm90ZWN0ZWQ6CisgICAg
Ym9vbCBtX2lzSW5SZWRvOwogICAgIFdURjo6RGVxdWU8V1RGOjpSZWZQdHI8V2ViQ29yZTo6RWRp
dENvbW1hbmQ+ID4gdW5kb1N0YWNrOworICAgIFdURjo6RGVxdWU8V1RGOjpSZWZQdHI8V2ViQ29y
ZTo6RWRpdENvbW1hbmQ+ID4gcmVkb1N0YWNrOwogCiBwdWJsaWM6CiAgICAgRWRpdG9yQ2xpZW50
RWZsKEV2YXNfT2JqZWN0ICp2aWV3KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100248</attachid>
            <date>2011-07-11 00:05:04 -0700</date>
            <delta_ts>2011-07-11 00:08:02 -0700</delta_ts>
            <desc>Modified patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>3623</size>
            <attacher name="Jaehun Lim">ljaehun.lim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA5OTNkZjczLi5hNTZjNTExIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTEtMDctMTEgIEphZWh1biBMaW0gIDxsamFlaHVuLmxpbUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBbRUZMXSBTdXBwb3J0cyB0byBleGVjdXRlICJyZWRvIiBjb21tYW5kLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MzYKKworICAgICAgICBJbXBs
ZW1lbnRzIGJhc2ljIGZ1bmN0aW9ucyBmb3IgInJlZG8iIGNvbW1hbmQuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRp
dG9yQ2xpZW50RWZsOjpyZWdpc3RlckNvbW1hbmRGb3JVbmRvKToKKyAgICAgICAgKFdlYkNvcmU6
OkVkaXRvckNsaWVudEVmbDo6cmVnaXN0ZXJDb21tYW5kRm9yUmVkbyk6CisgICAgICAgIChXZWJD
b3JlOjpFZGl0b3JDbGllbnRFZmw6OmNsZWFyVW5kb1JlZG9PcGVyYXRpb25zKToKKyAgICAgICAg
KFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6Y2FuUmVkbyk6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3JDbGllbnRFZmw6OnVuZG8pOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50RWZs
OjpyZWRvKToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6RWRpdG9yQ2xpZW50
RWZsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaDoKKwogMjAx
MS0wNi0yOSAgS2FuZ2lsIEhhbiAgPGthbmdpbC5oYW5Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcAppbmRleCA1YzEy
ZmUwLi4xOWZlMTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEVmbC5jcHAKQEAgLTE2MywxNyArMTYzLDE4IEBAIHZvaWQgRWRpdG9y
Q2xpZW50RWZsOjpkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKQogCiB2b2lkIEVk
aXRvckNsaWVudEVmbDo6cmVnaXN0ZXJDb21tYW5kRm9yVW5kbyhXVEY6OlBhc3NSZWZQdHI8RWRp
dENvbW1hbmQ+IGNvbW1hbmQpCiB7Ci0gICAgdW5kb1N0YWNrLmFwcGVuZChjb21tYW5kKTsKKyAg
ICB1bmRvU3RhY2sucHJlcGVuZChjb21tYW5kKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRFZmw6
OnJlZ2lzdGVyQ29tbWFuZEZvclJlZG8oV1RGOjpQYXNzUmVmUHRyPEVkaXRDb21tYW5kPikKK3Zv
aWQgRWRpdG9yQ2xpZW50RWZsOjpyZWdpc3RlckNvbW1hbmRGb3JSZWRvKFdURjo6UGFzc1JlZlB0
cjxFZGl0Q29tbWFuZD4gY29tbWFuZCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJl
ZG9TdGFjay5wcmVwZW5kKGNvbW1hbmQpOwogfQogCiB2b2lkIEVkaXRvckNsaWVudEVmbDo6Y2xl
YXJVbmRvUmVkb09wZXJhdGlvbnMoKQogewogICAgIHVuZG9TdGFjay5jbGVhcigpOworICAgIHJl
ZG9TdGFjay5jbGVhcigpOwogfQogCiBib29sIEVkaXRvckNsaWVudEVmbDo6Y2FuQ29weUN1dChG
cmFtZSosIGJvb2wgZGVmYXVsdFZhbHVlKSBjb25zdApAQCAtMTkzLDIwICsxOTQsMjcgQEAgYm9v
bCBFZGl0b3JDbGllbnRFZmw6OmNhblVuZG8oKSBjb25zdAogCiBib29sIEVkaXRvckNsaWVudEVm
bDo6Y2FuUmVkbygpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmV0dXJuICFyZWRvU3RhY2suaXNFbXB0eSgpOwogfQogCiB2b2lkIEVkaXRv
ckNsaWVudEVmbDo6dW5kbygpCiB7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OkVkaXRDb21tYW5kPiBj
b21tYW5kKCooLS11bmRvU3RhY2suZW5kKCkpKTsKLSAgICB1bmRvU3RhY2sucmVtb3ZlKC0tdW5k
b1N0YWNrLmVuZCgpKTsKLSAgICBjb21tYW5kLT51bmFwcGx5KCk7CisgICAgaWYgKGNhblVuZG8o
KSkgeworICAgICAgICBSZWZQdHI8V2ViQ29yZTo6RWRpdENvbW1hbmQ+IGNvbW1hbmQodW5kb1N0
YWNrLnRha2VGaXJzdCgpKTsKKyAgICAgICAgY29tbWFuZC0+dW5hcHBseSgpOworICAgIH0KIH0K
IAogdm9pZCBFZGl0b3JDbGllbnRFZmw6OnJlZG8oKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7
CisgICAgaWYgKGNhblJlZG8oKSkgeworICAgICAgICBSZWZQdHI8V2ViQ29yZTo6RWRpdENvbW1h
bmQ+IGNvbW1hbmQocmVkb1N0YWNrLnRha2VGaXJzdCgpKTsKKworICAgICAgICBBU1NFUlQoIW1f
aXNJblJlZG8pOworICAgICAgICBtX2lzSW5SZWRvID0gdHJ1ZTsKKyAgICAgICAgY29tbWFuZC0+
cmVhcHBseSgpOworICAgICAgICBtX2lzSW5SZWRvID0gZmFsc2U7CisgICAgfQogfQogCiBib29s
IEVkaXRvckNsaWVudEVmbDo6c2hvdWxkSW5zZXJ0Tm9kZShOb2RlKiwgUmFuZ2UqLCBFZGl0b3JJ
bnNlcnRBY3Rpb24pCkBAIC00MjUsOCArNDMzLDkgQEAgdm9pZCBFZGl0b3JDbGllbnRFZmw6Omhh
bmRsZUlucHV0TWV0aG9kS2V5ZG93bihLZXlib2FyZEV2ZW50KiBldmVudCkKIHsKIH0KIAotRWRp
dG9yQ2xpZW50RWZsOjpFZGl0b3JDbGllbnRFZmwoRXZhc19PYmplY3QgKnZpZXcpCi0gICAgOiBt
X3ZpZXcodmlldykKK0VkaXRvckNsaWVudEVmbDo6RWRpdG9yQ2xpZW50RWZsKEV2YXNfT2JqZWN0
KnZpZXcpCisgICAgOiBtX2lzSW5SZWRvKGZhbHNlKQorICAgICwgbV92aWV3KHZpZXcpCiB7CiAg
ICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmgKaW5kZXggNTA0YzQ4Zi4uNTNiYTM5MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmgK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmgK
QEAgLTQ2LDcgKzQ2LDkgQEAgY2xhc3MgUGFnZTsKIAogY2xhc3MgRWRpdG9yQ2xpZW50RWZsIDog
cHVibGljIEVkaXRvckNsaWVudCwgcHVibGljIFRleHRDaGVja2VyQ2xpZW50IHsKIHByb3RlY3Rl
ZDoKKyAgICBib29sIG1faXNJblJlZG87CiAgICAgV1RGOjpEZXF1ZTxXVEY6OlJlZlB0cjxXZWJD
b3JlOjpFZGl0Q29tbWFuZD4gPiB1bmRvU3RhY2s7CisgICAgV1RGOjpEZXF1ZTxXVEY6OlJlZlB0
cjxXZWJDb3JlOjpFZGl0Q29tbWFuZD4gPiByZWRvU3RhY2s7CiAKIHB1YmxpYzoKICAgICBFZGl0
b3JDbGllbnRFZmwoRXZhc19PYmplY3QgKnZpZXcpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100249</attachid>
            <date>2011-07-11 00:08:02 -0700</date>
            <delta_ts>2011-07-11 15:52:16 -0700</delta_ts>
            <desc>Fix a trivial mistake.</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>3624</size>
            <attacher name="Jaehun Lim">ljaehun.lim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA5OTNkZjczLi5hNTZjNTExIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTEtMDctMTEgIEphZWh1biBMaW0gIDxsamFlaHVuLmxpbUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBbRUZMXSBTdXBwb3J0cyB0byBleGVjdXRlICJyZWRvIiBjb21tYW5kLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MzYKKworICAgICAgICBJbXBs
ZW1lbnRzIGJhc2ljIGZ1bmN0aW9ucyBmb3IgInJlZG8iIGNvbW1hbmQuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRp
dG9yQ2xpZW50RWZsOjpyZWdpc3RlckNvbW1hbmRGb3JVbmRvKToKKyAgICAgICAgKFdlYkNvcmU6
OkVkaXRvckNsaWVudEVmbDo6cmVnaXN0ZXJDb21tYW5kRm9yUmVkbyk6CisgICAgICAgIChXZWJD
b3JlOjpFZGl0b3JDbGllbnRFZmw6OmNsZWFyVW5kb1JlZG9PcGVyYXRpb25zKToKKyAgICAgICAg
KFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6Y2FuUmVkbyk6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3JDbGllbnRFZmw6OnVuZG8pOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50RWZs
OjpyZWRvKToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6RWRpdG9yQ2xpZW50
RWZsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaDoKKwogMjAx
MS0wNi0yOSAgS2FuZ2lsIEhhbiAgPGthbmdpbC5oYW5Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcAppbmRleCA1YzEy
ZmUwLi4xOWZlMTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEVmbC5jcHAKQEAgLTE2MywxNyArMTYzLDE4IEBAIHZvaWQgRWRpdG9y
Q2xpZW50RWZsOjpkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKQogCiB2b2lkIEVk
aXRvckNsaWVudEVmbDo6cmVnaXN0ZXJDb21tYW5kRm9yVW5kbyhXVEY6OlBhc3NSZWZQdHI8RWRp
dENvbW1hbmQ+IGNvbW1hbmQpCiB7Ci0gICAgdW5kb1N0YWNrLmFwcGVuZChjb21tYW5kKTsKKyAg
ICB1bmRvU3RhY2sucHJlcGVuZChjb21tYW5kKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRFZmw6
OnJlZ2lzdGVyQ29tbWFuZEZvclJlZG8oV1RGOjpQYXNzUmVmUHRyPEVkaXRDb21tYW5kPikKK3Zv
aWQgRWRpdG9yQ2xpZW50RWZsOjpyZWdpc3RlckNvbW1hbmRGb3JSZWRvKFdURjo6UGFzc1JlZlB0
cjxFZGl0Q29tbWFuZD4gY29tbWFuZCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJl
ZG9TdGFjay5wcmVwZW5kKGNvbW1hbmQpOwogfQogCiB2b2lkIEVkaXRvckNsaWVudEVmbDo6Y2xl
YXJVbmRvUmVkb09wZXJhdGlvbnMoKQogewogICAgIHVuZG9TdGFjay5jbGVhcigpOworICAgIHJl
ZG9TdGFjay5jbGVhcigpOwogfQogCiBib29sIEVkaXRvckNsaWVudEVmbDo6Y2FuQ29weUN1dChG
cmFtZSosIGJvb2wgZGVmYXVsdFZhbHVlKSBjb25zdApAQCAtMTkzLDIwICsxOTQsMjcgQEAgYm9v
bCBFZGl0b3JDbGllbnRFZmw6OmNhblVuZG8oKSBjb25zdAogCiBib29sIEVkaXRvckNsaWVudEVm
bDo6Y2FuUmVkbygpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmV0dXJuICFyZWRvU3RhY2suaXNFbXB0eSgpOwogfQogCiB2b2lkIEVkaXRv
ckNsaWVudEVmbDo6dW5kbygpCiB7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OkVkaXRDb21tYW5kPiBj
b21tYW5kKCooLS11bmRvU3RhY2suZW5kKCkpKTsKLSAgICB1bmRvU3RhY2sucmVtb3ZlKC0tdW5k
b1N0YWNrLmVuZCgpKTsKLSAgICBjb21tYW5kLT51bmFwcGx5KCk7CisgICAgaWYgKGNhblVuZG8o
KSkgeworICAgICAgICBSZWZQdHI8V2ViQ29yZTo6RWRpdENvbW1hbmQ+IGNvbW1hbmQodW5kb1N0
YWNrLnRha2VGaXJzdCgpKTsKKyAgICAgICAgY29tbWFuZC0+dW5hcHBseSgpOworICAgIH0KIH0K
IAogdm9pZCBFZGl0b3JDbGllbnRFZmw6OnJlZG8oKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7
CisgICAgaWYgKGNhblJlZG8oKSkgeworICAgICAgICBSZWZQdHI8V2ViQ29yZTo6RWRpdENvbW1h
bmQ+IGNvbW1hbmQocmVkb1N0YWNrLnRha2VGaXJzdCgpKTsKKworICAgICAgICBBU1NFUlQoIW1f
aXNJblJlZG8pOworICAgICAgICBtX2lzSW5SZWRvID0gdHJ1ZTsKKyAgICAgICAgY29tbWFuZC0+
cmVhcHBseSgpOworICAgICAgICBtX2lzSW5SZWRvID0gZmFsc2U7CisgICAgfQogfQogCiBib29s
IEVkaXRvckNsaWVudEVmbDo6c2hvdWxkSW5zZXJ0Tm9kZShOb2RlKiwgUmFuZ2UqLCBFZGl0b3JJ
bnNlcnRBY3Rpb24pCkBAIC00MjUsOCArNDMzLDkgQEAgdm9pZCBFZGl0b3JDbGllbnRFZmw6Omhh
bmRsZUlucHV0TWV0aG9kS2V5ZG93bihLZXlib2FyZEV2ZW50KiBldmVudCkKIHsKIH0KIAotRWRp
dG9yQ2xpZW50RWZsOjpFZGl0b3JDbGllbnRFZmwoRXZhc19PYmplY3QgKnZpZXcpCi0gICAgOiBt
X3ZpZXcodmlldykKK0VkaXRvckNsaWVudEVmbDo6RWRpdG9yQ2xpZW50RWZsKEV2YXNfT2JqZWN0
KiB2aWV3KQorICAgIDogbV9pc0luUmVkbyhmYWxzZSkKKyAgICAsIG1fdmlldyh2aWV3KQogewog
ICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oCmluZGV4IDUwNGM0OGYuLjUzYmEzOTIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5o
CkBAIC00Niw3ICs0Niw5IEBAIGNsYXNzIFBhZ2U7CiAKIGNsYXNzIEVkaXRvckNsaWVudEVmbCA6
IHB1YmxpYyBFZGl0b3JDbGllbnQsIHB1YmxpYyBUZXh0Q2hlY2tlckNsaWVudCB7CiBwcm90ZWN0
ZWQ6CisgICAgYm9vbCBtX2lzSW5SZWRvOwogICAgIFdURjo6RGVxdWU8V1RGOjpSZWZQdHI8V2Vi
Q29yZTo6RWRpdENvbW1hbmQ+ID4gdW5kb1N0YWNrOworICAgIFdURjo6RGVxdWU8V1RGOjpSZWZQ
dHI8V2ViQ29yZTo6RWRpdENvbW1hbmQ+ID4gcmVkb1N0YWNrOwogCiBwdWJsaWM6CiAgICAgRWRp
dG9yQ2xpZW50RWZsKEV2YXNfT2JqZWN0ICp2aWV3KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100375</attachid>
            <date>2011-07-11 15:52:16 -0700</date>
            <delta_ts>2011-07-11 21:27:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>3626</size>
            <attacher name="Jaehun Lim">ljaehun.lim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA5OTNkZjczLi5hNTZjNTExIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTEtMDctMTEgIEphZWh1biBMaW0gIDxsamFlaHVuLmxpbUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBbRUZMXSBTdXBwb3J0cyB0byBleGVjdXRlICJyZWRvIiBjb21tYW5kLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MzYKKworICAgICAgICBJbXBs
ZW1lbnRzIGJhc2ljIGZ1bmN0aW9ucyBmb3IgInJlZG8iIGNvbW1hbmQuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRp
dG9yQ2xpZW50RWZsOjpyZWdpc3RlckNvbW1hbmRGb3JVbmRvKToKKyAgICAgICAgKFdlYkNvcmU6
OkVkaXRvckNsaWVudEVmbDo6cmVnaXN0ZXJDb21tYW5kRm9yUmVkbyk6CisgICAgICAgIChXZWJD
b3JlOjpFZGl0b3JDbGllbnRFZmw6OmNsZWFyVW5kb1JlZG9PcGVyYXRpb25zKToKKyAgICAgICAg
KFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6Y2FuUmVkbyk6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3JDbGllbnRFZmw6OnVuZG8pOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50RWZs
OjpyZWRvKToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6RWRpdG9yQ2xpZW50
RWZsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaDoKKwogMjAx
MS0wNi0yOSAgS2FuZ2lsIEhhbiAgPGthbmdpbC5oYW5Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcAppbmRleCA1YzEy
ZmUwLi5jOWNiNzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEVmbC5jcHAKQEAgLTE2MywxNyArMTYzLDE4IEBAIHZvaWQgRWRpdG9y
Q2xpZW50RWZsOjpkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKQogCiB2b2lkIEVk
aXRvckNsaWVudEVmbDo6cmVnaXN0ZXJDb21tYW5kRm9yVW5kbyhXVEY6OlBhc3NSZWZQdHI8RWRp
dENvbW1hbmQ+IGNvbW1hbmQpCiB7Ci0gICAgdW5kb1N0YWNrLmFwcGVuZChjb21tYW5kKTsKKyAg
ICB1bmRvU3RhY2sucHJlcGVuZChjb21tYW5kKTsKIH0KIAotdm9pZCBFZGl0b3JDbGllbnRFZmw6
OnJlZ2lzdGVyQ29tbWFuZEZvclJlZG8oV1RGOjpQYXNzUmVmUHRyPEVkaXRDb21tYW5kPikKK3Zv
aWQgRWRpdG9yQ2xpZW50RWZsOjpyZWdpc3RlckNvbW1hbmRGb3JSZWRvKFdURjo6UGFzc1JlZlB0
cjxFZGl0Q29tbWFuZD4gY29tbWFuZCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJl
ZG9TdGFjay5wcmVwZW5kKGNvbW1hbmQpOwogfQogCiB2b2lkIEVkaXRvckNsaWVudEVmbDo6Y2xl
YXJVbmRvUmVkb09wZXJhdGlvbnMoKQogewogICAgIHVuZG9TdGFjay5jbGVhcigpOworICAgIHJl
ZG9TdGFjay5jbGVhcigpOwogfQogCiBib29sIEVkaXRvckNsaWVudEVmbDo6Y2FuQ29weUN1dChG
cmFtZSosIGJvb2wgZGVmYXVsdFZhbHVlKSBjb25zdApAQCAtMTkzLDIwICsxOTQsMjcgQEAgYm9v
bCBFZGl0b3JDbGllbnRFZmw6OmNhblVuZG8oKSBjb25zdAogCiBib29sIEVkaXRvckNsaWVudEVm
bDo6Y2FuUmVkbygpIGNvbnN0CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4g
ZmFsc2U7CisgICAgcmV0dXJuICFyZWRvU3RhY2suaXNFbXB0eSgpOwogfQogCiB2b2lkIEVkaXRv
ckNsaWVudEVmbDo6dW5kbygpCiB7Ci0gICAgUmVmUHRyPFdlYkNvcmU6OkVkaXRDb21tYW5kPiBj
b21tYW5kKCooLS11bmRvU3RhY2suZW5kKCkpKTsKLSAgICB1bmRvU3RhY2sucmVtb3ZlKC0tdW5k
b1N0YWNrLmVuZCgpKTsKLSAgICBjb21tYW5kLT51bmFwcGx5KCk7CisgICAgaWYgKGNhblVuZG8o
KSkgeworICAgICAgICBSZWZQdHI8V2ViQ29yZTo6RWRpdENvbW1hbmQ+IGNvbW1hbmQgPSB1bmRv
U3RhY2sudGFrZUZpcnN0KCk7CisgICAgICAgIGNvbW1hbmQtPnVuYXBwbHkoKTsKKyAgICB9CiB9
CiAKIHZvaWQgRWRpdG9yQ2xpZW50RWZsOjpyZWRvKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIGlmIChjYW5SZWRvKCkpIHsKKyAgICAgICAgUmVmUHRyPFdlYkNvcmU6OkVkaXRDb21t
YW5kPiBjb21tYW5kID0gcmVkb1N0YWNrLnRha2VGaXJzdCgpOworCisgICAgICAgIEFTU0VSVCgh
bV9pc0luUmVkbyk7CisgICAgICAgIG1faXNJblJlZG8gPSB0cnVlOworICAgICAgICBjb21tYW5k
LT5yZWFwcGx5KCk7CisgICAgICAgIG1faXNJblJlZG8gPSBmYWxzZTsKKyAgICB9CiB9CiAKIGJv
b2wgRWRpdG9yQ2xpZW50RWZsOjpzaG91bGRJbnNlcnROb2RlKE5vZGUqLCBSYW5nZSosIEVkaXRv
ckluc2VydEFjdGlvbikKQEAgLTQyNSw4ICs0MzMsOSBAQCB2b2lkIEVkaXRvckNsaWVudEVmbDo6
aGFuZGxlSW5wdXRNZXRob2RLZXlkb3duKEtleWJvYXJkRXZlbnQqIGV2ZW50KQogewogfQogCi1F
ZGl0b3JDbGllbnRFZmw6OkVkaXRvckNsaWVudEVmbChFdmFzX09iamVjdCAqdmlldykKLSAgICA6
IG1fdmlldyh2aWV3KQorRWRpdG9yQ2xpZW50RWZsOjpFZGl0b3JDbGllbnRFZmwoRXZhc19PYmpl
Y3QqIHZpZXcpCisgICAgOiBtX2lzSW5SZWRvKGZhbHNlKQorICAgICwgbV92aWV3KHZpZXcpCiB7
CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmgKaW5kZXggNTA0YzQ4Zi4uNTNiYTM5MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZs
LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZs
LmgKQEAgLTQ2LDcgKzQ2LDkgQEAgY2xhc3MgUGFnZTsKIAogY2xhc3MgRWRpdG9yQ2xpZW50RWZs
IDogcHVibGljIEVkaXRvckNsaWVudCwgcHVibGljIFRleHRDaGVja2VyQ2xpZW50IHsKIHByb3Rl
Y3RlZDoKKyAgICBib29sIG1faXNJblJlZG87CiAgICAgV1RGOjpEZXF1ZTxXVEY6OlJlZlB0cjxX
ZWJDb3JlOjpFZGl0Q29tbWFuZD4gPiB1bmRvU3RhY2s7CisgICAgV1RGOjpEZXF1ZTxXVEY6OlJl
ZlB0cjxXZWJDb3JlOjpFZGl0Q29tbWFuZD4gPiByZWRvU3RhY2s7CiAKIHB1YmxpYzoKICAgICBF
ZGl0b3JDbGllbnRFZmwoRXZhc19PYmplY3QgKnZpZXcpOwo=
</data>
<flag name="review"
          id="95053"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100436</attachid>
            <date>2011-07-11 21:27:56 -0700</date>
            <delta_ts>2011-07-11 22:58:33 -0700</delta_ts>
            <desc>New patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>3676</size>
            <attacher name="Jaehun Lim">ljaehun.lim</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA5OTNkZjczLi5hNTZjNTExIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTEtMDctMTEgIEphZWh1biBMaW0gIDxsamFlaHVuLmxpbUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBbRUZMXSBTdXBwb3J0cyB0byBleGVjdXRlICJyZWRvIiBjb21tYW5kLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1MzYKKworICAgICAgICBJbXBs
ZW1lbnRzIGJhc2ljIGZ1bmN0aW9ucyBmb3IgInJlZG8iIGNvbW1hbmQuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWRp
dG9yQ2xpZW50RWZsOjpyZWdpc3RlckNvbW1hbmRGb3JVbmRvKToKKyAgICAgICAgKFdlYkNvcmU6
OkVkaXRvckNsaWVudEVmbDo6cmVnaXN0ZXJDb21tYW5kRm9yUmVkbyk6CisgICAgICAgIChXZWJD
b3JlOjpFZGl0b3JDbGllbnRFZmw6OmNsZWFyVW5kb1JlZG9PcGVyYXRpb25zKToKKyAgICAgICAg
KFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6Y2FuUmVkbyk6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3JDbGllbnRFZmw6OnVuZG8pOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yQ2xpZW50RWZs
OjpyZWRvKToKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvckNsaWVudEVmbDo6RWRpdG9yQ2xpZW50
RWZsKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaDoKKwogMjAx
MS0wNi0yOSAgS2FuZ2lsIEhhbiAgPGthbmdpbC5oYW5Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuY3BwIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmNwcAppbmRleCA1YzEy
ZmUwLi4xNjI3M2JjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBw
b3J0L0VkaXRvckNsaWVudEVmbC5jcHAKQEAgLTE2MywxNyArMTYzLDIwIEBAIHZvaWQgRWRpdG9y
Q2xpZW50RWZsOjpkaWRTZXRTZWxlY3Rpb25UeXBlc0ZvclBhc3RlYm9hcmQoKQogCiB2b2lkIEVk
aXRvckNsaWVudEVmbDo6cmVnaXN0ZXJDb21tYW5kRm9yVW5kbyhXVEY6OlBhc3NSZWZQdHI8RWRp
dENvbW1hbmQ+IGNvbW1hbmQpCiB7Ci0gICAgdW5kb1N0YWNrLmFwcGVuZChjb21tYW5kKTsKKyAg
ICBpZiAoIW1faXNJblJlZG8pCisgICAgICAgIHJlZG9TdGFjay5jbGVhcigpOworICAgIHVuZG9T
dGFjay5wcmVwZW5kKGNvbW1hbmQpOwogfQogCi12b2lkIEVkaXRvckNsaWVudEVmbDo6cmVnaXN0
ZXJDb21tYW5kRm9yUmVkbyhXVEY6OlBhc3NSZWZQdHI8RWRpdENvbW1hbmQ+KQordm9pZCBFZGl0
b3JDbGllbnRFZmw6OnJlZ2lzdGVyQ29tbWFuZEZvclJlZG8oV1RGOjpQYXNzUmVmUHRyPEVkaXRD
b21tYW5kPiBjb21tYW5kKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmVkb1N0YWNr
LnByZXBlbmQoY29tbWFuZCk7CiB9CiAKIHZvaWQgRWRpdG9yQ2xpZW50RWZsOjpjbGVhclVuZG9S
ZWRvT3BlcmF0aW9ucygpCiB7CiAgICAgdW5kb1N0YWNrLmNsZWFyKCk7CisgICAgcmVkb1N0YWNr
LmNsZWFyKCk7CiB9CiAKIGJvb2wgRWRpdG9yQ2xpZW50RWZsOjpjYW5Db3B5Q3V0KEZyYW1lKiwg
Ym9vbCBkZWZhdWx0VmFsdWUpIGNvbnN0CkBAIC0xOTMsMjAgKzE5NiwyNyBAQCBib29sIEVkaXRv
ckNsaWVudEVmbDo6Y2FuVW5kbygpIGNvbnN0CiAKIGJvb2wgRWRpdG9yQ2xpZW50RWZsOjpjYW5S
ZWRvKCkgY29uc3QKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiBmYWxzZTsK
KyAgICByZXR1cm4gIXJlZG9TdGFjay5pc0VtcHR5KCk7CiB9CiAKIHZvaWQgRWRpdG9yQ2xpZW50
RWZsOjp1bmRvKCkKIHsKLSAgICBSZWZQdHI8V2ViQ29yZTo6RWRpdENvbW1hbmQ+IGNvbW1hbmQo
KigtLXVuZG9TdGFjay5lbmQoKSkpOwotICAgIHVuZG9TdGFjay5yZW1vdmUoLS11bmRvU3RhY2su
ZW5kKCkpOwotICAgIGNvbW1hbmQtPnVuYXBwbHkoKTsKKyAgICBpZiAoY2FuVW5kbygpKSB7Cisg
ICAgICAgIFJlZlB0cjxXZWJDb3JlOjpFZGl0Q29tbWFuZD4gY29tbWFuZCA9IHVuZG9TdGFjay50
YWtlRmlyc3QoKTsKKyAgICAgICAgY29tbWFuZC0+dW5hcHBseSgpOworICAgIH0KIH0KIAogdm9p
ZCBFZGl0b3JDbGllbnRFZmw6OnJlZG8oKQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAg
aWYgKGNhblJlZG8oKSkgeworICAgICAgICBSZWZQdHI8V2ViQ29yZTo6RWRpdENvbW1hbmQ+IGNv
bW1hbmQgPSByZWRvU3RhY2sudGFrZUZpcnN0KCk7CisKKyAgICAgICAgQVNTRVJUKCFtX2lzSW5S
ZWRvKTsKKyAgICAgICAgbV9pc0luUmVkbyA9IHRydWU7CisgICAgICAgIGNvbW1hbmQtPnJlYXBw
bHkoKTsKKyAgICAgICAgbV9pc0luUmVkbyA9IGZhbHNlOworICAgIH0KIH0KIAogYm9vbCBFZGl0
b3JDbGllbnRFZmw6OnNob3VsZEluc2VydE5vZGUoTm9kZSosIFJhbmdlKiwgRWRpdG9ySW5zZXJ0
QWN0aW9uKQpAQCAtNDI1LDggKzQzNSw5IEBAIHZvaWQgRWRpdG9yQ2xpZW50RWZsOjpoYW5kbGVJ
bnB1dE1ldGhvZEtleWRvd24oS2V5Ym9hcmRFdmVudCogZXZlbnQpCiB7CiB9CiAKLUVkaXRvckNs
aWVudEVmbDo6RWRpdG9yQ2xpZW50RWZsKEV2YXNfT2JqZWN0ICp2aWV3KQotICAgIDogbV92aWV3
KHZpZXcpCitFZGl0b3JDbGllbnRFZmw6OkVkaXRvckNsaWVudEVmbChFdmFzX09iamVjdCogdmll
dykKKyAgICA6IG1faXNJblJlZG8oZmFsc2UpCisgICAgLCBtX3ZpZXcodmlldykKIHsKICAgICBu
b3RJbXBsZW1lbnRlZCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvRWRpdG9yQ2xpZW50RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9FZGl0b3JDbGllbnRFZmwuaAppbmRleCA1MDRjNDhmLi41M2JhMzkyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRFZmwuaApAQCAt
NDYsNyArNDYsOSBAQCBjbGFzcyBQYWdlOwogCiBjbGFzcyBFZGl0b3JDbGllbnRFZmwgOiBwdWJs
aWMgRWRpdG9yQ2xpZW50LCBwdWJsaWMgVGV4dENoZWNrZXJDbGllbnQgewogcHJvdGVjdGVkOgor
ICAgIGJvb2wgbV9pc0luUmVkbzsKICAgICBXVEY6OkRlcXVlPFdURjo6UmVmUHRyPFdlYkNvcmU6
OkVkaXRDb21tYW5kPiA+IHVuZG9TdGFjazsKKyAgICBXVEY6OkRlcXVlPFdURjo6UmVmUHRyPFdl
YkNvcmU6OkVkaXRDb21tYW5kPiA+IHJlZG9TdGFjazsKIAogcHVibGljOgogICAgIEVkaXRvckNs
aWVudEVmbChFdmFzX09iamVjdCAqdmlldyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>