<?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>61850</bug_id>
          
          <creation_ts>2011-06-01 02:45:38 -0700</creation_ts>
          <short_desc>[EFL][WK2] Add MiniBrowserEfl.</short_desc>
          <delta_ts>2012-06-12 15:20:20 -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>WebKit2</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>61903</dependson>
    
    <dependson>84124</dependson>
          <blocked>61838</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>cshu</cc>
    
    <cc>d-r</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>leandro</cc>
    
    <cc>ljaehun.lim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>sangseok.lim</cc>
    
    <cc>sh919.park</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>413249</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-06-01 02:45:38 -0700</bug_when>
    <thetext>Patch coming.
It will work when all of WebKit2/EFL land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413253</commentid>
    <comment_count>1</comment_count>
      <attachid>95572</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-06-01 03:02:11 -0700</bug_when>
    <thetext>Created attachment 95572
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413257</commentid>
    <comment_count>2</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-06-01 03:14:31 -0700</bug_when>
    <thetext>I think it is better to insert CMakeListEfl.txt into efl directory. MiniBrowser of gtk, qt have build script in its directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413283</commentid>
    <comment_count>3</comment_count>
      <attachid>95572</attachid>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2011-06-01 04:21:05 -0700</bug_when>
    <thetext>Comment on attachment 95572
Patch

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

Once WebKit2 is compiled in EFL port, I think this can enter. I agree with Gyuyoung that the cmake file should be in efl directory. But we can do a bit better and split it in a generic CMakeLists.txt file and another efl/CMakeListsEfl.txt. This way other ports that use cmake can profit from this work too.

&gt; Tools/MiniBrowser/CMakeListsEfl.txt:15
&gt; +    ${WEBKIT2_DIR}/UIProcess/API/efl
&gt; +    ${WEBKIT2_DIR}
&gt; +    ${DERIVED_SOURCES_WEBKIT2_DIR}/include

Since we don&apos;t support webkit2, are you sure you need this?

&gt; Tools/MiniBrowser/efl/main.c:55
&gt; +static int browserCreate(const char *url, const char *engine)
&gt; +{
&gt; +    MiniBrowser *app = (MiniBrowser*) malloc(sizeof(MiniBrowser));
&gt; +
&gt; +    app-&gt;ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT);

Could you use ecore_evas_new() here instead?

&gt; Tools/MiniBrowser/efl/main.c:56
&gt; +    ecore_evas_title_set(app-&gt;ee, &quot;Samsung MiniBrowser&quot;);

I think it&apos;s not good to let Samsung here. WebKit would be a better name.

&gt; Tools/MiniBrowser/efl/main.c:71
&gt; +    /* Create webview */
&gt; +    app-&gt;browser = ewk_view_add(app-&gt;evas, WKContextGetSharedProcessContext(), 0);

It seems you are indeed using webkit2. I&apos;m wondering what&apos;s happening since we don&apos;t have support to webkit2 yet.

&gt; Tools/MiniBrowser/efl/main.c:97
&gt; +    browserCreate(url, engine);
&gt; +
&gt; +    ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, mainSignalExit, NULL);

Since in this file we are following EFL style, I think it&apos;s better not to use camelCase for function names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413305</commentid>
    <comment_count>4</comment_count>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2011-06-01 05:19:10 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 95572 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=95572&amp;action=review
&gt; 
&gt; Once WebKit2 is compiled in EFL port, I think this can enter. I agree with Gyuyoung that the cmake file should be in efl directory. But we can do a bit better and split it in a generic CMakeLists.txt file and another efl/CMakeListsEfl.txt. This way other ports that use cmake can profit from this work too.
&gt; 
&gt; &gt; Tools/MiniBrowser/CMakeListsEfl.txt:15
&gt; &gt; +    ${WEBKIT2_DIR}/UIProcess/API/efl
&gt; &gt; +    ${WEBKIT2_DIR}
&gt; &gt; +    ${DERIVED_SOURCES_WEBKIT2_DIR}/include
&gt; 
&gt; Since we don&apos;t support webkit2, are you sure you need this?

I&apos;ve just seen you already answered this on your first comment. Sorry for the noise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413306</commentid>
    <comment_count>5</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-06-01 05:22:31 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; It seems you are indeed using webkit2. I&apos;m wondering what&apos;s happening since we don&apos;t have support to webkit2 yet.

We start to support WebKit2 for EFL port. We&apos;re going to notify this news to webkit-dev mailing list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413331</commentid>
    <comment_count>6</comment_count>
      <attachid>95591</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-06-01 06:39:23 -0700</bug_when>
    <thetext>Created attachment 95591
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413334</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-01 06:42:35 -0700</bug_when>
    <thetext>Attachment 95591 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/MiniBrowser/efl/...&quot; exit_code: 1

Tools/MiniBrowser/efl/main.c:45:  main_signal_exit is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413342</commentid>
    <comment_count>8</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-06-01 06:46:50 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I think it is better to insert CMakeListEfl.txt into efl directory. MiniBrowser of gtk, qt have build script in its directory.

It&apos;s my mistake. I moved it into efl directory.

(In reply to comment #3)
&gt; (From update of attachment 95572 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=95572&amp;action=review
&gt; 
&gt; Once WebKit2 is compiled in EFL port, I think this can enter. I agree with Gyuyoung that the cmake file should be in efl directory. But we can do a bit better and split it in a generic CMakeLists.txt file and another efl/CMakeListsEfl.txt. This way other ports that use cmake can profit from this work too.
&gt; 
Done.
It&apos;s my mistake.

&gt; &gt; Tools/MiniBrowser/CMakeListsEfl.txt:15
&gt; &gt; +    ${WEBKIT2_DIR}/UIProcess/API/efl
&gt; &gt; +    ${WEBKIT2_DIR}
&gt; &gt; +    ${DERIVED_SOURCES_WEBKIT2_DIR}/include
&gt; 
&gt; Since we don&apos;t support webkit2, are you sure you need this?
&gt; 
&gt; &gt; Tools/MiniBrowser/efl/main.c:55
&gt; &gt; +static int browserCreate(const char *url, const char *engine)
&gt; &gt; +{
&gt; &gt; +    MiniBrowser *app = (MiniBrowser*) malloc(sizeof(MiniBrowser));
&gt; &gt; +
&gt; &gt; +    app-&gt;ee = ecore_evas_software_x11_new(NULL, 0, 0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT);
&gt; 
&gt; Could you use ecore_evas_new() here instead?
Done.

&gt; 
&gt; &gt; Tools/MiniBrowser/efl/main.c:56
&gt; &gt; +    ecore_evas_title_set(app-&gt;ee, &quot;Samsung MiniBrowser&quot;);
&gt; 
&gt; I think it&apos;s not good to let Samsung here. WebKit would be a better name.
&gt; 
&gt; &gt; Tools/MiniBrowser/efl/main.c:71
&gt; &gt; +    /* Create webview */
&gt; &gt; +    app-&gt;browser = ewk_view_add(app-&gt;evas, WKContextGetSharedProcessContext(), 0);
&gt; 
&gt; It seems you are indeed using webkit2. I&apos;m wondering what&apos;s happening since we don&apos;t have support to webkit2 yet.
&gt; 
&gt; &gt; Tools/MiniBrowser/efl/main.c:97
&gt; &gt; +    browserCreate(url, engine);
&gt; &gt; +
&gt; &gt; +    ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, mainSignalExit, NULL);
&gt; 
&gt; Since in this file we are following EFL style, I think it&apos;s better not to use camelCase for function names.

I changed it EFL style. but we already use browserCreate. Is it ok?

(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 95572 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=95572&amp;action=review
&gt; &gt; 
&gt; &gt; Once WebKit2 is compiled in EFL port, I think this can enter. I agree with Gyuyoung that the cmake file should be in efl directory. But we can do a bit better and split it in a generic CMakeLists.txt file and another efl/CMakeListsEfl.txt. This way other ports that use cmake can profit from this work too.
&gt; &gt; 
&gt; &gt; &gt; Tools/MiniBrowser/CMakeListsEfl.txt:15
&gt; &gt; &gt; +    ${WEBKIT2_DIR}/UIProcess/API/efl
&gt; &gt; &gt; +    ${WEBKIT2_DIR}
&gt; &gt; &gt; +    ${DERIVED_SOURCES_WEBKIT2_DIR}/include
&gt; &gt; 
&gt; &gt; Since we don&apos;t support webkit2, are you sure you need this?
&gt; 
&gt; I&apos;ve just seen you already answered this on your first comment. Sorry for the noise.

No problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413803</commentid>
    <comment_count>9</comment_count>
      <attachid>95591</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-06-01 18:08:24 -0700</bug_when>
    <thetext>Comment on attachment 95591
Patch

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

Why don&apos;t you add WebKit2 prefix to Bug summary ? For example, [EFL/WebKit2] and so on.

&gt; Tools/MiniBrowser/efl/main.c:98
&gt; +    browserCreate(url, engine)

Missing semicolon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413836</commentid>
    <comment_count>10</comment_count>
      <attachid>95704</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-06-01 19:17:11 -0700</bug_when>
    <thetext>Created attachment 95704
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413838</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-01 19:20:26 -0700</bug_when>
    <thetext>Attachment 95704 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/MiniBrowser/efl/...&quot; exit_code: 1

Tools/MiniBrowser/efl/main.c:45:  main_signal_exit is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413895</commentid>
    <comment_count>12</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-06-01 21:27:52 -0700</bug_when>
    <thetext>Please upload this patch again after landing bug 61903&apos;s patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414542</commentid>
    <comment_count>13</comment_count>
      <attachid>95833</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-06-02 16:53:14 -0700</bug_when>
    <thetext>Created attachment 95833
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420171</commentid>
    <comment_count>14</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-06-13 20:02:11 -0700</bug_when>
    <thetext>LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420178</commentid>
    <comment_count>15</comment_count>
      <attachid>95833</attachid>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2011-06-13 20:20:42 -0700</bug_when>
    <thetext>Comment on attachment 95833
Patch

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

&gt; Tools/MiniBrowser/efl/CMakeListsEfl.txt:64
&gt; +ADD_CUSTOM_TARGET(forwarding-headerMiniBrowserSoup
&gt; +    COMMAND ${PERL_EXECUTABLE} ${WEBKIT2_DIR}/Scripts/generate-forwarding-headers.pl ${MiniBrowser_DIR} ${DERIVED_SOURCES_WEBKIT2_DIR}/include soup
&gt; +)

Do you really need this if WTF_USE_CURL is defined?

&gt; Tools/MiniBrowser/efl/CMakeListsEfl.txt:71
&gt; +ADD_DEPENDENCIES(Programs/MiniBrowser forwarding-headerMiniBrowserSoup)

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420246</commentid>
    <comment_count>16</comment_count>
      <attachid>97075</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-06-13 23:53:02 -0700</bug_when>
    <thetext>Created attachment 97075
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420247</commentid>
    <comment_count>17</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-06-13 23:53:42 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 95833 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=95833&amp;action=review
&gt; 
&gt; &gt; Tools/MiniBrowser/efl/CMakeListsEfl.txt:64
&gt; &gt; +ADD_CUSTOM_TARGET(forwarding-headerMiniBrowserSoup
&gt; &gt; +    COMMAND ${PERL_EXECUTABLE} ${WEBKIT2_DIR}/Scripts/generate-forwarding-headers.pl ${MiniBrowser_DIR} ${DERIVED_SOURCES_WEBKIT2_DIR}/include soup
&gt; &gt; +)
&gt; 
&gt; Do you really need this if WTF_USE_CURL is defined?
&gt; 
&gt; &gt; Tools/MiniBrowser/efl/CMakeListsEfl.txt:71
&gt; &gt; +ADD_DEPENDENCIES(Programs/MiniBrowser forwarding-headerMiniBrowserSoup)
&gt; 
&gt; ditto.

Sorry, I fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420459</commentid>
    <comment_count>18</comment_count>
      <attachid>97075</attachid>
    <who name="Leandro Pereira">leandro</who>
    <bug_when>2011-06-14 09:00:57 -0700</bug_when>
    <thetext>Comment on attachment 97075
Patch

Informal r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>425757</commentid>
    <comment_count>19</comment_count>
      <attachid>98267</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-06-22 17:10:01 -0700</bug_when>
    <thetext>Created attachment 98267
Patch_changed_copyright</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427844</commentid>
    <comment_count>20</comment_count>
      <attachid>98700</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-06-27 04:45:14 -0700</bug_when>
    <thetext>Created attachment 98700
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427849</commentid>
    <comment_count>21</comment_count>
      <attachid>98700</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-06-27 04:54:06 -0700</bug_when>
    <thetext>Comment on attachment 98700
Patch

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

&gt; Tools/MiniBrowser/efl/main.c:45
&gt; +    return 1;

Why do you use 1 instead of EINA_TRUE ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427851</commentid>
    <comment_count>22</comment_count>
      <attachid>98703</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-06-27 04:58:53 -0700</bug_when>
    <thetext>Created attachment 98703
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427852</commentid>
    <comment_count>23</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-06-27 04:59:22 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 98700 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=98700&amp;action=review
&gt; 
&gt; &gt; Tools/MiniBrowser/efl/main.c:45
&gt; &gt; +    return 1;
&gt; 
&gt; Why do you use 1 instead of EINA_TRUE ?

Sorry, It&apos;s mistake.
Updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>526613</commentid>
    <comment_count>24</comment_count>
      <attachid>98703</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-12-22 16:10:35 -0800</bug_when>
    <thetext>Comment on attachment 98703
Patch

This patch is outdated.

I&apos;ll upload newer after tested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528078</commentid>
    <comment_count>25</comment_count>
      <attachid>120781</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2011-12-29 22:46:02 -0800</bug_when>
    <thetext>Created attachment 120781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528133</commentid>
    <comment_count>26</comment_count>
      <attachid>120781</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2011-12-30 06:26:02 -0800</bug_when>
    <thetext>Comment on attachment 120781
Patch

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

&gt; Tools/MiniBrowser/efl/CMakeLists.txt:17
&gt; +    ${CMAKE_SOURCE_DIR}

Is this one really needed?

&gt; Tools/MiniBrowser/efl/main.c:23
&gt; +#include &lt;Ecore_Getopt.h&gt;
&gt; +#include &lt;Ecore_X.h&gt;

These headers do not seem to be used, and Eina.h is missing.

&gt; Tools/MiniBrowser/efl/main.c:27
&gt; +#define DEFAULT_WIDTH      800
&gt; +#define DEFAULT_HEIGHT     600

static const int would be better than #define.

&gt; Tools/MiniBrowser/efl/main.c:42
&gt; +static Eina_Bool browserCreate(const char *url, const char *engine)

The return type is not being checked; why not make the function void or return a MiniBrowser* so you can free it later?

&gt; Tools/MiniBrowser/efl/main.c:44
&gt; +    MiniBrowser *app = (MiniBrowser*) malloc(sizeof(MiniBrowser));

No need for the cast, and the pointer is being leaked.

&gt; Tools/MiniBrowser/efl/main.c:46
&gt; +    app-&gt;ee = ecore_evas_new(engine, 0, 0, DEFAULT_WIDTH, DEFAULT_HEIGHT, NULL);

s/NULL/0/?

&gt; Tools/MiniBrowser/efl/main.c:78
&gt; +    char *engine = NULL;

This is not being used.

&gt; Tools/MiniBrowser/efl/main.c:87
&gt; +        url = (char*) default_url;

Isn&apos;t it better to make url const instead of casting?

&gt; Tools/MiniBrowser/efl/main.c:91
&gt; +    ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT, main_signal_exit, NULL);

The handler is being leaked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528404</commentid>
    <comment_count>27</comment_count>
      <attachid>120857</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-01-01 20:25:02 -0800</bug_when>
    <thetext>Created attachment 120857
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528407</commentid>
    <comment_count>28</comment_count>
      <attachid>120860</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-01-01 20:40:59 -0800</bug_when>
    <thetext>Created attachment 120860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528408</commentid>
    <comment_count>29</comment_count>
      <attachid>120861</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-01-01 20:46:00 -0800</bug_when>
    <thetext>Created attachment 120861
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528410</commentid>
    <comment_count>30</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-01-01 20:48:40 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; Created an attachment (id=120861) [details]
&gt; Patch

kubo, thank you for your comment.

Fixed all you commented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528415</commentid>
    <comment_count>31</comment_count>
      <attachid>120861</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-01-01 21:31:33 -0800</bug_when>
    <thetext>Comment on attachment 120861
Patch

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

&gt; Tools/MiniBrowser/efl/main.c:27
&gt; +static const char *DEFAULT_URL = &quot;http://www.google.com/&quot;;

As you may know, this violate *whitespace/declaration* rule. Bug 75424 will remove the rule&apos;s exception from EFL port. But, I am not sure if we should implement Mini Browser according to EFL coding style. GTK port implemented it according to GTK coding style.(So, there are style errors gtk MiniBrowser.) But, it seems other ports don&apos;t violate webkit coding rule. IMO, why don&apos;t we adhere *whitespace/declaration* rule in here ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528416</commentid>
    <comment_count>32</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-01-01 21:40:51 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; (From update of attachment 120861 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=120861&amp;action=review
&gt; 
&gt; &gt; Tools/MiniBrowser/efl/main.c:27
&gt; &gt; +static const char *DEFAULT_URL = &quot;http://www.google.com/&quot;;
&gt; 
&gt; As you may know, this violate *whitespace/declaration* rule. Bug 75424 will remove the rule&apos;s exception from EFL port. But, I am not sure if we should implement Mini Browser according to EFL coding style. GTK port implemented it according to GTK coding style.(So, there are style errors gtk MiniBrowser.) But, it seems other ports don&apos;t violate webkit coding rule. IMO, why don&apos;t we adhere *whitespace/declaration* rule in here ?

Right, I know that MiniBrowser and EWebLauncher doesn&apos;t keep the webkit coding style and it&apos;s sad for me.

IMO, We can fix them after getting approval from other webkit/efl guys.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528422</commentid>
    <comment_count>33</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-01-01 22:10:39 -0800</bug_when>
    <thetext>(In reply to comment #32)
&gt; (In reply to comment #31)
&gt; &gt; (From update of attachment 120861 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=120861&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Tools/MiniBrowser/efl/main.c:27
&gt; &gt; &gt; +static const char *DEFAULT_URL = &quot;http://www.google.com/&quot;;
&gt; &gt; 
&gt; &gt; As you may know, this violate *whitespace/declaration* rule. Bug 75424 will remove the rule&apos;s exception from EFL port. But, I am not sure if we should implement Mini Browser according to EFL coding style. GTK port implemented it according to GTK coding style.(So, there are style errors gtk MiniBrowser.) But, it seems other ports don&apos;t violate webkit coding rule. IMO, why don&apos;t we adhere *whitespace/declaration* rule in here ?
&gt; 
&gt; Right, I know that MiniBrowser and EWebLauncher doesn&apos;t keep the webkit coding style and it&apos;s sad for me.
&gt; 
&gt; IMO, We can fix them after getting approval from other webkit/efl guys.

My though is changed. EWebLauncher and MiniBrowser are EFL application. So, I think it is better to keep to implement with EFL coding style. In Bug 75424, I keep *whitespace/declaration* exception for EWebLauncher and MiniBrowser.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528423</commentid>
    <comment_count>34</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-01-01 22:21:30 -0800</bug_when>
    <thetext>(In reply to comment #33)
&gt; (In reply to comment #32)
&gt; &gt; (In reply to comment #31)
&gt; &gt; IMO, We can fix them after getting approval from other webkit/efl guys.
&gt; 
&gt; My though is changed. EWebLauncher and MiniBrowser are EFL application. So, I think it is better to keep to implement with EFL coding style. In Bug 75424, I keep *whitespace/declaration* exception for EWebLauncher and MiniBrowser.

OK, I love webkit coding style, but I&apos;m not sure which one we should keep it.
I&apos;ll follow the rule which the most people like.

Thanks for your changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528465</commentid>
    <comment_count>35</comment_count>
      <attachid>120861</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-01-02 04:41:43 -0800</bug_when>
    <thetext>Comment on attachment 120861
Patch

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

Looks mostly OK even though I&apos;m unable to test it.

&gt;&gt;&gt;&gt; Tools/MiniBrowser/efl/main.c:27
&gt;&gt;&gt;&gt; +static const char *DEFAULT_URL = &quot;http://www.google.com/&quot;;
&gt;&gt;&gt; 
&gt;&gt;&gt; As you may know, this violate *whitespace/declaration* rule. Bug 75424 will remove the rule&apos;s exception from EFL port. But, I am not sure if we should implement Mini Browser according to EFL coding style. GTK port implemented it according to GTK coding style.(So, there are style errors gtk MiniBrowser.) But, it seems other ports don&apos;t violate webkit coding rule. IMO, why don&apos;t we adhere *whitespace/declaration* rule in here ?
&gt;&gt; 
&gt;&gt; Right, I know that MiniBrowser and EWebLauncher doesn&apos;t keep the webkit coding style and it&apos;s sad for me.
&gt;&gt; 
&gt;&gt; IMO, We can fix them after getting approval from other webkit/efl guys.
&gt; 
&gt; My though is changed. EWebLauncher and MiniBrowser are EFL application. So, I think it is better to keep to implement with EFL coding style. In Bug 75424, I keep *whitespace/declaration* exception for EWebLauncher and MiniBrowser.

Another (minor) issue here is that this does not go to the .rodata section in the binary; use static const char foo[] instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528617</commentid>
    <comment_count>36</comment_count>
      <attachid>120903</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-01-02 18:03:18 -0800</bug_when>
    <thetext>Created attachment 120903
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>528619</commentid>
    <comment_count>37</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-01-02 18:07:07 -0800</bug_when>
    <thetext>(In reply to comment #35)
&gt; (From update of attachment 120861 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=120861&amp;action=review
&gt; 
&gt; Looks mostly OK even though I&apos;m unable to test it.
&gt; 
Ah, I shared minimum patch to run webkit2/efl.
you can run minibrowser/efl using it.

&gt; &gt;&gt;&gt;&gt; Tools/MiniBrowser/efl/main.c:27
&gt; &gt;&gt;&gt;&gt; +static const char *DEFAULT_URL = &quot;http://www.google.com/&quot;;
&gt; &gt;&gt;&gt; 
&gt; &gt;&gt;&gt; As you may know, this violate *whitespace/declaration* rule. Bug 75424 will remove the rule&apos;s exception from EFL port. But, I am not sure if we should implement Mini Browser according to EFL coding style. GTK port implemented it according to GTK coding style.(So, there are style errors gtk MiniBrowser.) But, it seems other ports don&apos;t violate webkit coding rule. IMO, why don&apos;t we adhere *whitespace/declaration* rule in here ?
&gt; &gt;&gt; 
&gt; &gt;&gt; Right, I know that MiniBrowser and EWebLauncher doesn&apos;t keep the webkit coding style and it&apos;s sad for me.
&gt; &gt;&gt; 
&gt; &gt;&gt; IMO, We can fix them after getting approval from other webkit/efl guys.
&gt; &gt; 
&gt; &gt; My though is changed. EWebLauncher and MiniBrowser are EFL application. So, I think it is better to keep to implement with EFL coding style. In Bug 75424, I keep *whitespace/declaration* exception for EWebLauncher and MiniBrowser.
&gt; 
&gt; Another (minor) issue here is that this does not go to the .rodata section in the binary; use static const char foo[] instead.

Wow, Thanks.
Fixed like you mentioned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550837</commentid>
    <comment_count>38</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-02-07 04:23:50 -0800</bug_when>
    <thetext>As briefly discussed on IRC a few minutes ago, the patch isn&apos;t quite ready because of the WK* calls it makes. MiniBrowser should be fairly self-contained in the sense that users should base their code on it and build it outside the tree. That&apos;s not possible with the current WK* stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560075</commentid>
    <comment_count>39</comment_count>
      <attachid>120903</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-02-20 00:24:33 -0800</bug_when>
    <thetext>Comment on attachment 120903
Patch

clear flags until efl styled API were prepared.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603744</commentid>
    <comment_count>40</comment_count>
      <attachid>137470</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-04-16 20:27:56 -0700</bug_when>
    <thetext>Created attachment 137470
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>603882</commentid>
    <comment_count>41</comment_count>
      <attachid>137497</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-04-17 02:19:15 -0700</bug_when>
    <thetext>Created attachment 137497
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635205</commentid>
    <comment_count>42</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-05-28 07:23:59 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; As briefly discussed on IRC a few minutes ago, the patch isn&apos;t quite ready because of the WK* calls it makes. MiniBrowser should be fairly self-contained in the sense that users should base their code on it and build it outside the tree. That&apos;s not possible with the current WK* stuff.

Raphael, do you see all your comments addressed in the most recent version of Ryuan&apos;s patch? Let&apos;s get this in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635210</commentid>
    <comment_count>43</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-28 07:32:57 -0700</bug_when>
    <thetext>I thought the required WK2 APIs had not been added yet? The patches are passing the EWS bot because we don&apos;t enable WebKit2 by default, IIRC (or at least didn&apos;t when the last patch was uploaded).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636662</commentid>
    <comment_count>44</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-29 18:08:03 -0700</bug_when>
    <thetext>(In reply to comment #43)
&gt; I thought the required WK2 APIs had not been added yet? The patches are passing the EWS bot because we don&apos;t enable WebKit2 by default, IIRC (or at least didn&apos;t when the last patch was uploaded).

As far as I know, this patch is not built on EWS yet. Ryuan is submitting patches to support this patch. It looks this patch is able to be reviewed after landing some WK2 patches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640350</commentid>
    <comment_count>45</comment_count>
      <attachid>145521</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-06-03 23:37:00 -0700</bug_when>
    <thetext>Created attachment 145521
rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640352</commentid>
    <comment_count>46</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-06-03 23:39:04 -0700</bug_when>
    <thetext>rebased , but Bug 84124 should be landed before this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640353</commentid>
    <comment_count>47</comment_count>
      <attachid>145521</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-03 23:41:55 -0700</bug_when>
    <thetext>Comment on attachment 145521
rebased

It looks there are no critical issues as initial implementation. Looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642397</commentid>
    <comment_count>48</comment_count>
      <attachid>145521</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-06-06 05:42:16 -0700</bug_when>
    <thetext>Comment on attachment 145521
rebased

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

&gt; Tools/MiniBrowser/efl/main.c:116
&gt; +    free(browser);

You never free browser-&gt;ee. You probably need a &quot;ecore_evas_free(browser-&gt;ee);&quot; before the &quot;free(browser);&quot;, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>643129</commentid>
    <comment_count>49</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-06-06 20:13:28 -0700</bug_when>
    <thetext>(In reply to comment #48)
&gt; (From update of attachment 145521 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=145521&amp;action=review
&gt; 
&gt; &gt; Tools/MiniBrowser/efl/main.c:116
&gt; &gt; +    free(browser);
&gt; 
&gt; You never free browser-&gt;ee. You probably need a &quot;ecore_evas_free(browser-&gt;ee);&quot; before the &quot;free(browser);&quot;, right?


ecore_evas_shutdown will release all allocated ecore_evas although we don&apos;t call ecore_evas_free explicitly.

If you want to call it explicitly, I will add it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>645518</commentid>
    <comment_count>50</comment_count>
      <attachid>146737</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-06-10 08:03:33 -0700</bug_when>
    <thetext>Created attachment 146737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646523</commentid>
    <comment_count>51</comment_count>
      <attachid>146986</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-06-11 18:22:54 -0700</bug_when>
    <thetext>Created attachment 146986
rebased to catch r120024</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646585</commentid>
    <comment_count>52</comment_count>
      <attachid>146986</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-11 20:30:51 -0700</bug_when>
    <thetext>Comment on attachment 146986
rebased to catch r120024

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

&gt; Tools/MiniBrowser/efl/CMakeLists.txt:62
&gt; +SET_TARGET_PROPERTIES(DumpRenderTree PROPERTIES FOLDER &quot;Tools&quot;)

By the way, why do you set target folder for DumpRenderTree? Is this correct ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646613</commentid>
    <comment_count>53</comment_count>
      <attachid>147008</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-06-11 21:31:32 -0700</bug_when>
    <thetext>Created attachment 147008
Fix mistake</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646614</commentid>
    <comment_count>54</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2012-06-11 21:32:24 -0700</bug_when>
    <thetext>(In reply to comment #52)
&gt; (From update of attachment 146986 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=146986&amp;action=review
&gt; 
&gt; &gt; Tools/MiniBrowser/efl/CMakeLists.txt:62
&gt; &gt; +SET_TARGET_PROPERTIES(DumpRenderTree PROPERTIES FOLDER &quot;Tools&quot;)
&gt; 
&gt; By the way, why do you set target folder for DumpRenderTree? Is this correct ?

Oops, sorry I mistake it while catching up.
Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647135</commentid>
    <comment_count>55</comment_count>
      <attachid>147008</attachid>
    <who name="Chang Shu">cshu</who>
    <bug_when>2012-06-12 11:44:02 -0700</bug_when>
    <thetext>Comment on attachment 147008
Fix mistake

Nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647403</commentid>
    <comment_count>56</comment_count>
      <attachid>147008</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-12 15:20:11 -0700</bug_when>
    <thetext>Comment on attachment 147008
Fix mistake

Clearing flags on attachment: 147008

Committed r120130: &lt;http://trac.webkit.org/changeset/120130&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647404</commentid>
    <comment_count>57</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-12 15:20:20 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95572</attachid>
            <date>2011-06-01 03:02:11 -0700</date>
            <delta_ts>2011-06-01 06:39:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20110601190207.patch</filename>
            <type>text/plain</type>
            <size>6899</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc3NjAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2MTI2NzAwODNkYzdkNmUxOTYxYjg2MmIyMGVjNWViYmU1
MTk5YmFhLi45ZWY0YmU0MWUxNTM2MDQxODVhY2U0NjY0ZmE0ZGQ3ZTBmMTlhODE5IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDYtMDEgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtFRkxdIEFkZCBN
aW5pQnJvd3NlckVmbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTYxODUwCisKKyAgICAgICAgSW1wbGVtZW50IE1pbmlCcm93c2VyIGZvciBFRkwuCisK
KyAgICAgICAgKiBNaW5pQnJvd3Nlci9DTWFrZUxpc3RzRWZsLnR4dDogQWRkZWQuCisgICAgICAg
ICogTWluaUJyb3dzZXIvZWZsL21haW4uYzogQWRkZWQuCisgICAgICAgIChtYWluU2lnbmFsRXhp
dCk6CisgICAgICAgIChicm93c2VyQ3JlYXRlKToKKyAgICAgICAgKG1haW4pOgorCiAyMDExLTAz
LTMwICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBBZGFtIFJvYmVuLgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvQ01h
a2VMaXN0c0VmbC50eHQgYi9Ub29scy9NaW5pQnJvd3Nlci9DTWFrZUxpc3RzRWZsLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43NTYwZjE0Zjk0YzZhMGE1NzEzMTg3Zjc0YmVkZTE3Y2RiMDdjMjExCi0tLSAvZGV2
L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvQ01ha2VMaXN0c0VmbC50eHQKQEAgLTAsMCAr
MSw3MyBAQAorU0VUKE1pbmlCcm93c2VyX0RJUiAiJHtUT09MU19ESVJ9L01pbmlCcm93c2VyL2Vm
bCIpCisKK1NFVChNaW5pQnJvd3Nlcl9TT1VSQ0VTCisgICAgJHtNaW5pQnJvd3Nlcl9ESVJ9L21h
aW4uYworKQorCitTRVQoTWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RPUklFUworICAgICR7Q2Fp
cm9fSU5DTFVERV9ESVJTfQorICAgICR7RUNPUkVfWF9JTkNMVURFX0RJUlN9CisgICAgJHtFREpF
X0lOQ0xVREVfRElSU30KKyAgICAke0VGTERFUFNfSU5DTFVERV9ESVJTfQorICAgICR7RVZBU19J
TkNMVURFX0RJUlN9CisgICAgJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwKKyAgICAk
e1dFQktJVDJfRElSfQorICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9pbmNsdWRl
CisgICAgJHtDTUFLRV9TT1VSQ0VfRElSfQorKQorCitJRiAoRU5BQkxFX0dMSUJfU1VQUE9SVCkK
KyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSUJSQVJJRVMKKyAgICAgICAgJHtHZGtfTElC
UkFSSUVTfQorICAgICAgICAke0dsaWJfTElCUkFSSUVTfQorICAgICAgICAke0d0aHJlYWRfTElC
UkFSSUVTfQorICAgICkKK0VORElGICgpCisKK1NFVChNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdTCisg
ICAgJHtFQ09SRV9YX0xERkxBR1N9CisgICAgJHtFREpFX0xERkxBR1N9CisgICAgJHtFRkxERVBT
X0xERkxBR1N9CisgICAgJHtFVkFTX0xERkxBR1N9CispCisKK0lGIChXVEZfVVNFX1NPVVApCisg
ICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElCUkFSSUVTICR7TElCU09VUDI0X0xJQlJBUklF
U30pCisgICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElOS19GTEFHUyAke0xJQlNPVVAyNF9M
REZMQUdTfSkKK0VORElGICgpCisKK0lGIChXVEZfVVNFX0NVUkwpCisgICAgTElTVChBUFBFTkQg
TWluaUJyb3dzZXJfTElCUkFSSUVTICR7Q1VSTF9MSUJSQVJJRVN9KQorICAgIExJU1QoQVBQRU5E
IE1pbmlCcm93c2VyX0xJTktfRkxBR1MgJHtDVVJMX0xERkxBR1N9KQorRU5ESUYgKCkKKworU0VU
KE1pbmlCcm93c2VyX0xJQlJBUklFUworICAgICR7SmF2YVNjcmlwdENvcmVfTElCUkFSWV9OQU1F
fQorICAgICR7V2ViQ29yZV9MSUJSQVJZX05BTUV9CisgICAgJHtXZWJLaXRfTElCUkFSWV9OQU1F
fQorICAgICR7Q2Fpcm9fTElCUkFSSUVTfQorICAgICR7RUNPUkVfWF9MSUJSQVJJRVN9CisgICAg
JHtFREpFX0xJQlJBUklFU30KKyAgICAke0VGTERFUFNfTElCUkFSSUVTfQorICAgICR7RVZBU19M
SUJSQVJJRVN9CisgICAgJHtMSUJYTUwyX0xJQlJBUklFU30KKyAgICAke0xJQlhTTFRfTElCUkFS
SUVTfQorICAgICR7U1FMSVRFX0xJQlJBUklFU30KKykKKworQUREX0NVU1RPTV9UQVJHRVQoZm9y
d2FyZGluZy1oZWFkZXJNaW5pQnJvd3NlckVmbAorICAgIENPTU1BTkQgJHtQRVJMX0VYRUNVVEFC
TEV9ICR7V0VCS0lUMl9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBs
ICR7TWluaUJyb3dzZXJfRElSfSAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVk
ZSBlZmwKKykKKworQUREX0NVU1RPTV9UQVJHRVQoZm9yd2FyZGluZy1oZWFkZXJNaW5pQnJvd3Nl
clNvdXAKKyAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQktJVDJfRElSfS9TY3Jp
cHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCAke01pbmlCcm93c2VyX0RJUn0gJHtE
RVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2luY2x1ZGUgc291cAorKQorCitJTkNMVURFX0RJ
UkVDVE9SSUVTKCR7TWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RPUklFU30pCitBRERfRVhFQ1VU
QUJMRShQcm9ncmFtcy9NaW5pQnJvd3NlciAke01pbmlCcm93c2VyX1NPVVJDRVN9KQorVEFSR0VU
X0xJTktfTElCUkFSSUVTKFByb2dyYW1zL01pbmlCcm93c2VyICR7TWluaUJyb3dzZXJfTElCUkFS
SUVTfSkKKworQUREX0RFUEVOREVOQ0lFUyhQcm9ncmFtcy9NaW5pQnJvd3NlciBmb3J3YXJkaW5n
LWhlYWRlck1pbmlCcm93c2VyRWZsKQorQUREX0RFUEVOREVOQ0lFUyhQcm9ncmFtcy9NaW5pQnJv
d3NlciBmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyU291cCkKKworQUREX1RBUkdFVF9QUk9Q
RVJUSUVTKFByb2dyYW1zL01pbmlCcm93c2VyIExJTktfRkxBR1MgIiR7TWluaUJyb3dzZXJfTElO
S19GTEFHU30iKQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rv
b2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTdkZDY5ZWFlZmE4NDE1OGEz
ODVmYzExMDQxM2VlMWQ4MGY5ODJhMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93
c2VyL2VmbC9tYWluLmMKQEAgLTAsMCArMSwxMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgU2Ftc3VuZyBFbGVjdHJvbmljcworICoKKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImV3a192aWV3LmgiCisjaW5jbHVkZSA8RWNvcmUuaD4KKyNpbmNsdWRlIDxF
Y29yZV9FdmFzLmg+CisjaW5jbHVkZSA8RWNvcmVfR2V0b3B0Lmg+CisjaW5jbHVkZSA8RWNvcmVf
WC5oPgorI2luY2x1ZGUgPEV2YXMuaD4KKworI2RlZmluZSBERUZBVUxUX1dJRFRIICAgICAgODAw
CisjZGVmaW5lIERFRkFVTFRfSEVJR0hUICAgICA2MDAKKwordHlwZWRlZiBzdHJ1Y3QgX01pbmlC
cm93c2VyIHsKKyAgICBFY29yZV9FdmFzICplZTsKKyAgICBFdmFzICpldmFzOworICAgIEV2YXNf
T2JqZWN0ICpiZzsKKyAgICBFdmFzX09iamVjdCAqYnJvd3NlcjsKK30gTWluaUJyb3dzZXI7CisK
K3N0YXRpYyBFaW5hX0Jvb2wgbWFpblNpZ25hbEV4aXQodm9pZCAqZGF0YSwgaW50IGV2X3R5cGUs
IHZvaWQgKmV2KQoreworICAgIGVjb3JlX21haW5fbG9vcF9xdWl0KCk7CisgICAgcmV0dXJuIDE7
Cit9CisKK3N0YXRpYyBpbnQgYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNo
YXIgKmVuZ2luZSkKK3sKKyAgICBNaW5pQnJvd3NlciAqYXBwID0gKE1pbmlCcm93c2VyKikgbWFs
bG9jKHNpemVvZihNaW5pQnJvd3NlcikpOworCisgICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNfc29m
dHdhcmVfeDExX25ldyhOVUxMLCAwLCAwLCAwLCBERUZBVUxUX1dJRFRILCBERUZBVUxUX0hFSUdI
VCk7CisgICAgZWNvcmVfZXZhc190aXRsZV9zZXQoYXBwLT5lZSwgIlNhbXN1bmcgTWluaUJyb3dz
ZXIiKTsKKyAgICBlY29yZV9ldmFzX2JvcmRlcmxlc3Nfc2V0KGFwcC0+ZWUsIDApOworICAgIGVj
b3JlX2V2YXNfc2hvdyhhcHAtPmVlKTsKKworICAgIGFwcC0+ZXZhcyA9IGVjb3JlX2V2YXNfZ2V0
KGFwcC0+ZWUpOworCisgICAgYXBwLT5iZyA9IGV2YXNfb2JqZWN0X3JlY3RhbmdsZV9hZGQoYXBw
LT5ldmFzKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHAtPmJnLCBF
VkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKworICAgIGV2YXNfb2JqZWN0X21v
dmUoYXBwLT5iZywgMCwgMCk7CisgICAgZXZhc19vYmplY3RfcmVzaXplKGFwcC0+YmcsIERFRkFV
TFRfV0lEVEgsIERFRkFVTFRfSEVJR0hUKTsKKyAgICBldmFzX29iamVjdF9jb2xvcl9zZXQoYXBw
LT5iZywgMjU1LCAxNTAsIDE1MCwgMjU1KTsKKyAgICBldmFzX29iamVjdF9zaG93KGFwcC0+Ymcp
OworCisgICAgLyogQ3JlYXRlIHdlYnZpZXcgKi8KKyAgICBhcHAtPmJyb3dzZXIgPSBld2tfdmll
d19hZGQoYXBwLT5ldmFzLCBXS0NvbnRleHRHZXRTaGFyZWRQcm9jZXNzQ29udGV4dCgpLCAwKTsK
KyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHAtPmJyb3dzZXIsIEVWQVNf
SElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShh
cHAtPmJyb3dzZXIsIERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hUKTsKKyAgICBldmFzX29i
amVjdF9zaG93KGFwcC0+YnJvd3Nlcik7CisKKyAgICBXS1BhZ2VMb2FkVVJMKGV3a192aWV3X3Bh
Z2VfZ2V0KGFwcC0+YnJvd3NlciksIFdLVVJMQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHVybCkpOwor
fQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworICAgIGNvbnN0IGNoYXIg
KmRlZmF1bHRfdXJsID0gImh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iOworCisgICAgY2hhciAqdXJs
OworICAgIGNoYXIgKmVuZ2luZSA9IE5VTEw7CisgICAgaW50IGFyZ3MgPSAxOworCisgICAgaWYg
KCFlY29yZV9ldmFzX2luaXQoKSkKKyAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworICAg
IGlmIChhcmdzIDwgYXJnYykKKyAgICAgICAgdXJsID0gYXJndlthcmdzXTsKKyAgICBlbHNlCisg
ICAgICAgIHVybCA9IChjaGFyKikgZGVmYXVsdF91cmw7CisKKyAgICBicm93c2VyQ3JlYXRlKHVy
bCwgZW5naW5lKTsKKworICAgIGVjb3JlX2V2ZW50X2hhbmRsZXJfYWRkKEVDT1JFX0VWRU5UX1NJ
R05BTF9FWElULCBtYWluU2lnbmFsRXhpdCwgTlVMTCk7CisKKyAgICBlY29yZV9tYWluX2xvb3Bf
YmVnaW4oKTsKKworICAgIGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKKworICAgIHJldHVybiAwOwor
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95591</attachid>
            <date>2011-06-01 06:39:23 -0700</date>
            <delta_ts>2011-06-01 19:17:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20110601223921.patch</filename>
            <type>text/plain</type>
            <size>6937</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc3OTkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkYmZlY2Q0ZmY0MGYxNTNiYzMyYjU0ZjU2YThmYjgxOWYw
NThmY2YyLi5iZDM0Mjg0YWIxNDE2YTc5YzVhZWY1YWU2NDk4ZjFlMmU0NDYxNjcxIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDYtMDEgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtFRkxdIEFkZCBN
aW5pQnJvd3NlckVmbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTYxODUwCisKKyAgICAgICAgSW1wbGVtZW50IE1pbmlCcm93c2VyIGZvciBFRkwuCisK
KyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0c0VmbC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWluLmM6IEFkZGVkLgorICAgICAgICAobWFpbl9zaWdu
YWxfZXhpdCk6CisgICAgICAgIChicm93c2VyQ3JlYXRlKToKKyAgICAgICAgKG1haW4pOgorCiAy
MDExLTA1LTMxICBIYW8gWmhlbmcgIDx6aGVuZ2hhb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGlyayBQcmFua2UuCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9l
ZmwvQ01ha2VMaXN0c0VmbC50eHQgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0c0Vm
bC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzU2MGYxNGY5NGM2YTBhNTcxMzE4N2Y3NGJlZGUxN2NkYjA3YzIx
MQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzRWZs
LnR4dApAQCAtMCwwICsxLDczIEBACitTRVQoTWluaUJyb3dzZXJfRElSICIke1RPT0xTX0RJUn0v
TWluaUJyb3dzZXIvZWZsIikKKworU0VUKE1pbmlCcm93c2VyX1NPVVJDRVMKKyAgICAke01pbmlC
cm93c2VyX0RJUn0vbWFpbi5jCispCisKK1NFVChNaW5pQnJvd3Nlcl9JTkNMVURFX0RJUkVDVE9S
SUVTCisgICAgJHtDYWlyb19JTkNMVURFX0RJUlN9CisgICAgJHtFQ09SRV9YX0lOQ0xVREVfRElS
U30KKyAgICAke0VESkVfSU5DTFVERV9ESVJTfQorICAgICR7RUZMREVQU19JTkNMVURFX0RJUlN9
CisgICAgJHtFVkFTX0lOQ0xVREVfRElSU30KKyAgICAke1dFQktJVDJfRElSfS9VSVByb2Nlc3Mv
QVBJL2VmbAorICAgICR7V0VCS0lUMl9ESVJ9CisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lU
Ml9ESVJ9L2luY2x1ZGUKKyAgICAke0NNQUtFX1NPVVJDRV9ESVJ9CispCisKK0lGIChFTkFCTEVf
R0xJQl9TVVBQT1JUKQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJQlJBUklFUworICAg
ICAgICAke0dka19MSUJSQVJJRVN9CisgICAgICAgICR7R2xpYl9MSUJSQVJJRVN9CisgICAgICAg
ICR7R3RocmVhZF9MSUJSQVJJRVN9CisgICAgKQorRU5ESUYgKCkKKworU0VUKE1pbmlCcm93c2Vy
X0xJTktfRkxBR1MKKyAgICAke0VDT1JFX1hfTERGTEFHU30KKyAgICAke0VESkVfTERGTEFHU30K
KyAgICAke0VGTERFUFNfTERGTEFHU30KKyAgICAke0VWQVNfTERGTEFHU30KKykKKworSUYgKFdU
Rl9VU0VfU09VUCkKKyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSUJSQVJJRVMgJHtMSUJT
T1VQMjRfTElCUkFSSUVTfSkKKyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdT
ICR7TElCU09VUDI0X0xERkxBR1N9KQorRU5ESUYgKCkKKworSUYgKFdURl9VU0VfQ1VSTCkKKyAg
ICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSUJSQVJJRVMgJHtDVVJMX0xJQlJBUklFU30pCisg
ICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElOS19GTEFHUyAke0NVUkxfTERGTEFHU30pCitF
TkRJRiAoKQorCitTRVQoTWluaUJyb3dzZXJfTElCUkFSSUVTCisgICAgJHtKYXZhU2NyaXB0Q29y
ZV9MSUJSQVJZX05BTUV9CisgICAgJHtXZWJDb3JlX0xJQlJBUllfTkFNRX0KKyAgICAke1dlYktp
dF9MSUJSQVJZX05BTUV9CisgICAgJHtDYWlyb19MSUJSQVJJRVN9CisgICAgJHtFQ09SRV9YX0xJ
QlJBUklFU30KKyAgICAke0VESkVfTElCUkFSSUVTfQorICAgICR7RUZMREVQU19MSUJSQVJJRVN9
CisgICAgJHtFVkFTX0xJQlJBUklFU30KKyAgICAke0xJQlhNTDJfTElCUkFSSUVTfQorICAgICR7
TElCWFNMVF9MSUJSQVJJRVN9CisgICAgJHtTUUxJVEVfTElCUkFSSUVTfQorKQorCitBRERfQ1VT
VE9NX1RBUkdFVChmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyRWZsCisgICAgQ09NTUFORCAk
e1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0vU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJk
aW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJ
VDJfRElSfS9pbmNsdWRlIGVmbAorKQorCitBRERfQ1VTVE9NX1RBUkdFVChmb3J3YXJkaW5nLWhl
YWRlck1pbmlCcm93c2VyU291cAorICAgIENPTU1BTkQgJHtQRVJMX0VYRUNVVEFCTEV9ICR7V0VC
S0lUMl9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsICR7TWluaUJy
b3dzZXJfRElSfSAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVkZSBzb3VwCisp
CisKK0lOQ0xVREVfRElSRUNUT1JJRVMoJHtNaW5pQnJvd3Nlcl9JTkNMVURFX0RJUkVDVE9SSUVT
fSkKK0FERF9FWEVDVVRBQkxFKFByb2dyYW1zL01pbmlCcm93c2VyICR7TWluaUJyb3dzZXJfU09V
UkNFU30pCitUQVJHRVRfTElOS19MSUJSQVJJRVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgJHtNaW5p
QnJvd3Nlcl9MSUJSQVJJRVN9KQorCitBRERfREVQRU5ERU5DSUVTKFByb2dyYW1zL01pbmlCcm93
c2VyIGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJFZmwpCitBRERfREVQRU5ERU5DSUVTKFBy
b2dyYW1zL01pbmlCcm93c2VyIGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJTb3VwKQorCitB
RERfVEFSR0VUX1BST1BFUlRJRVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgTElOS19GTEFHUyAiJHtN
aW5pQnJvd3Nlcl9MSU5LX0ZMQUdTfSIpCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9l
ZmwvbWFpbi5jIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lODQ0
YzM2MTI3NmRlNWM1MzI0OWY5ZjZjZjAwOTVmNTBjYmNiY2ZjCi0tLSAvZGV2L251bGwKKysrIGIv
VG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwpAQCAtMCwwICsxLDEwNyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBTYW1zdW5nIEVsZWN0cm9uaWNzCisgKgorICogQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiZXdrX3ZpZXcuaCIKKyNpbmNsdWRlIDxFY29yZS5o
PgorI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KKyNpbmNsdWRlIDxFY29yZV9HZXRvcHQuaD4KKyNp
bmNsdWRlIDxFY29yZV9YLmg+CisjaW5jbHVkZSA8RXZhcy5oPgorCisjZGVmaW5lIERFRkFVTFRf
V0lEVEggICAgICA4MDAKKyNkZWZpbmUgREVGQVVMVF9IRUlHSFQgICAgIDYwMAorCit0eXBlZGVm
IHN0cnVjdCBfTWluaUJyb3dzZXIgeworICAgIEVjb3JlX0V2YXMgKmVlOworICAgIEV2YXMgKmV2
YXM7CisgICAgRXZhc19PYmplY3QgKmJnOworICAgIEV2YXNfT2JqZWN0ICpicm93c2VyOworfSBN
aW5pQnJvd3NlcjsKKworc3RhdGljIEVpbmFfQm9vbCBtYWluX3NpZ25hbF9leGl0KHZvaWQgKmRh
dGEsIGludCBldl90eXBlLCB2b2lkICpldikKK3sKKyAgICBlY29yZV9tYWluX2xvb3BfcXVpdCgp
OworICAgIHJldHVybiAxOworfQorCitzdGF0aWMgRWluYV9Cb29sIGJyb3dzZXJDcmVhdGUoY29u
c3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICplbmdpbmUpCit7CisgICAgTWluaUJyb3dzZXIgKmFw
cCA9IChNaW5pQnJvd3NlciopIG1hbGxvYyhzaXplb2YoTWluaUJyb3dzZXIpKTsKKworICAgIGFw
cC0+ZWUgPSBlY29yZV9ldmFzX25ldyhlbmdpbmUsIDAsIDAsIERFRkFVTFRfV0lEVEgsIERFRkFV
TFRfSEVJR0hULCBOVUxMKTsKKworICAgIGVjb3JlX2V2YXNfdGl0bGVfc2V0KGFwcC0+ZWUsICJF
RkwgTWluaUJyb3dzZXIiKTsKKyAgICBlY29yZV9ldmFzX2JvcmRlcmxlc3Nfc2V0KGFwcC0+ZWUs
IDApOworICAgIGVjb3JlX2V2YXNfc2hvdyhhcHAtPmVlKTsKKworICAgIGFwcC0+ZXZhcyA9IGVj
b3JlX2V2YXNfZ2V0KGFwcC0+ZWUpOworCisgICAgYXBwLT5iZyA9IGV2YXNfb2JqZWN0X3JlY3Rh
bmdsZV9hZGQoYXBwLT5ldmFzKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3Nl
dChhcHAtPmJnLCBFVkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKworICAgIGV2
YXNfb2JqZWN0X21vdmUoYXBwLT5iZywgMCwgMCk7CisgICAgZXZhc19vYmplY3RfcmVzaXplKGFw
cC0+YmcsIERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hUKTsKKyAgICBldmFzX29iamVjdF9j
b2xvcl9zZXQoYXBwLT5iZywgMjU1LCAxNTAsIDE1MCwgMjU1KTsKKyAgICBldmFzX29iamVjdF9z
aG93KGFwcC0+YmcpOworCisgICAgLyogQ3JlYXRlIHdlYnZpZXcgKi8KKyAgICBhcHAtPmJyb3dz
ZXIgPSBld2tfdmlld19hZGQoYXBwLT5ldmFzLCBXS0NvbnRleHRHZXRTaGFyZWRQcm9jZXNzQ29u
dGV4dCgpLCAwKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHAtPmJy
b3dzZXIsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOworICAgIGV2YXNfb2Jq
ZWN0X3Jlc2l6ZShhcHAtPmJyb3dzZXIsIERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hUKTsK
KyAgICBldmFzX29iamVjdF9zaG93KGFwcC0+YnJvd3Nlcik7CisKKyAgICBXS1BhZ2VMb2FkVVJM
KGV3a192aWV3X3BhZ2VfZ2V0KGFwcC0+YnJvd3NlciksIFdLVVJMQ3JlYXRlV2l0aFVURjhDU3Ry
aW5nKHVybCkpOworCisgICAgcmV0dXJuIEVJTkFfVFJVRTsKK30KKworaW50IG1haW4oaW50IGFy
Z2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKyAgICBjb25zdCBjaGFyICpkZWZhdWx0X3VybCA9ICJodHRw
Oi8vd3d3Lmdvb2dsZS5jb20vIjsKKworICAgIGNoYXIgKnVybDsKKyAgICBjaGFyICplbmdpbmUg
PSBOVUxMOworICAgIGludCBhcmdzID0gMTsKKworICAgIGlmICghZWNvcmVfZXZhc19pbml0KCkp
CisgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CisKKyAgICBpZiAoYXJncyA8IGFyZ2MpCisg
ICAgICAgIHVybCA9IGFyZ3ZbYXJnc107CisgICAgZWxzZQorICAgICAgICB1cmwgPSAoY2hhciop
IGRlZmF1bHRfdXJsOworCisgICAgYnJvd3NlckNyZWF0ZSh1cmwsIGVuZ2luZSkKKworICAgIGVj
b3JlX2V2ZW50X2hhbmRsZXJfYWRkKEVDT1JFX0VWRU5UX1NJR05BTF9FWElULCBtYWluX3NpZ25h
bF9leGl0LCBOVUxMKTsKKworICAgIGVjb3JlX21haW5fbG9vcF9iZWdpbigpOworCisgICAgZWNv
cmVfZXZhc19zaHV0ZG93bigpOworCisgICAgcmV0dXJuIDA7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95704</attachid>
            <date>2011-06-01 19:17:11 -0700</date>
            <delta_ts>2011-06-02 16:53:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20110602111710.patch</filename>
            <type>text/plain</type>
            <size>6950</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc3NjAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2MTI2NzAwODNkYzdkNmUxOTYxYjg2MmIyMGVjNWViYmU1
MTk5YmFhLi40ODQ4M2NjOGU4OTI5NzA5MGU4ODhmZTU2ZWM1NGVmNTlmYTg2MjY0IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDYtMDEgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtFRkwvV2ViS2l0
Ml0gQWRkIE1pbmlCcm93c2VyRWZsLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjE4NTAKKworICAgICAgICBJbXBsZW1lbnQgTWluaUJyb3dzZXIgZm9y
IEVGTC4KKworICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzRWZsLnR4dDogQWRk
ZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvZWZsL21haW4uYzogQWRkZWQuCisgICAgICAgICht
YWluX3NpZ25hbF9leGl0KToKKyAgICAgICAgKGJyb3dzZXJDcmVhdGUpOgorICAgICAgICAobWFp
bik6CisKIDIwMTEtMDMtMzAgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCmRpZmYgLS1naXQgYS9Ub29scy9N
aW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0c0VmbC50eHQgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwv
Q01ha2VMaXN0c0VmbC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzU2MGYxNGY5NGM2YTBhNTcxMzE4N2Y3NGJl
ZGUxN2NkYjA3YzIxMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9D
TWFrZUxpc3RzRWZsLnR4dApAQCAtMCwwICsxLDczIEBACitTRVQoTWluaUJyb3dzZXJfRElSICIk
e1RPT0xTX0RJUn0vTWluaUJyb3dzZXIvZWZsIikKKworU0VUKE1pbmlCcm93c2VyX1NPVVJDRVMK
KyAgICAke01pbmlCcm93c2VyX0RJUn0vbWFpbi5jCispCisKK1NFVChNaW5pQnJvd3Nlcl9JTkNM
VURFX0RJUkVDVE9SSUVTCisgICAgJHtDYWlyb19JTkNMVURFX0RJUlN9CisgICAgJHtFQ09SRV9Y
X0lOQ0xVREVfRElSU30KKyAgICAke0VESkVfSU5DTFVERV9ESVJTfQorICAgICR7RUZMREVQU19J
TkNMVURFX0RJUlN9CisgICAgJHtFVkFTX0lOQ0xVREVfRElSU30KKyAgICAke1dFQktJVDJfRElS
fS9VSVByb2Nlc3MvQVBJL2VmbAorICAgICR7V0VCS0lUMl9ESVJ9CisgICAgJHtERVJJVkVEX1NP
VVJDRVNfV0VCS0lUMl9ESVJ9L2luY2x1ZGUKKyAgICAke0NNQUtFX1NPVVJDRV9ESVJ9CispCisK
K0lGIChFTkFCTEVfR0xJQl9TVVBQT1JUKQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJ
QlJBUklFUworICAgICAgICAke0dka19MSUJSQVJJRVN9CisgICAgICAgICR7R2xpYl9MSUJSQVJJ
RVN9CisgICAgICAgICR7R3RocmVhZF9MSUJSQVJJRVN9CisgICAgKQorRU5ESUYgKCkKKworU0VU
KE1pbmlCcm93c2VyX0xJTktfRkxBR1MKKyAgICAke0VDT1JFX1hfTERGTEFHU30KKyAgICAke0VE
SkVfTERGTEFHU30KKyAgICAke0VGTERFUFNfTERGTEFHU30KKyAgICAke0VWQVNfTERGTEFHU30K
KykKKworSUYgKFdURl9VU0VfU09VUCkKKyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSUJS
QVJJRVMgJHtMSUJTT1VQMjRfTElCUkFSSUVTfSkKKyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nl
cl9MSU5LX0ZMQUdTICR7TElCU09VUDI0X0xERkxBR1N9KQorRU5ESUYgKCkKKworSUYgKFdURl9V
U0VfQ1VSTCkKKyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSUJSQVJJRVMgJHtDVVJMX0xJ
QlJBUklFU30pCisgICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElOS19GTEFHUyAke0NVUkxf
TERGTEFHU30pCitFTkRJRiAoKQorCitTRVQoTWluaUJyb3dzZXJfTElCUkFSSUVTCisgICAgJHtK
YXZhU2NyaXB0Q29yZV9MSUJSQVJZX05BTUV9CisgICAgJHtXZWJDb3JlX0xJQlJBUllfTkFNRX0K
KyAgICAke1dlYktpdF9MSUJSQVJZX05BTUV9CisgICAgJHtDYWlyb19MSUJSQVJJRVN9CisgICAg
JHtFQ09SRV9YX0xJQlJBUklFU30KKyAgICAke0VESkVfTElCUkFSSUVTfQorICAgICR7RUZMREVQ
U19MSUJSQVJJRVN9CisgICAgJHtFVkFTX0xJQlJBUklFU30KKyAgICAke0xJQlhNTDJfTElCUkFS
SUVTfQorICAgICR7TElCWFNMVF9MSUJSQVJJRVN9CisgICAgJHtTUUxJVEVfTElCUkFSSUVTfQor
KQorCitBRERfQ1VTVE9NX1RBUkdFVChmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyRWZsCisg
ICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0vU2NyaXB0cy9nZW5l
cmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9ICR7REVSSVZFRF9T
T1VSQ0VTX1dFQktJVDJfRElSfS9pbmNsdWRlIGVmbAorKQorCitBRERfQ1VTVE9NX1RBUkdFVChm
b3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyU291cAorICAgIENPTU1BTkQgJHtQRVJMX0VYRUNV
VEFCTEV9ICR7V0VCS0lUMl9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJz
LnBsICR7TWluaUJyb3dzZXJfRElSfSAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5j
bHVkZSBzb3VwCispCisKK0lOQ0xVREVfRElSRUNUT1JJRVMoJHtNaW5pQnJvd3Nlcl9JTkNMVURF
X0RJUkVDVE9SSUVTfSkKK0FERF9FWEVDVVRBQkxFKFByb2dyYW1zL01pbmlCcm93c2VyICR7TWlu
aUJyb3dzZXJfU09VUkNFU30pCitUQVJHRVRfTElOS19MSUJSQVJJRVMoUHJvZ3JhbXMvTWluaUJy
b3dzZXIgJHtNaW5pQnJvd3Nlcl9MSUJSQVJJRVN9KQorCitBRERfREVQRU5ERU5DSUVTKFByb2dy
YW1zL01pbmlCcm93c2VyIGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJFZmwpCitBRERfREVQ
RU5ERU5DSUVTKFByb2dyYW1zL01pbmlCcm93c2VyIGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dz
ZXJTb3VwKQorCitBRERfVEFSR0VUX1BST1BFUlRJRVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgTElO
S19GTEFHUyAiJHtNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdTfSIpCmRpZmYgLS1naXQgYS9Ub29scy9N
aW5pQnJvd3Nlci9lZmwvbWFpbi5jIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42MTBhNjgzMTI3MWQ5ZWU3ODBkODQ3YmY0YjA1NzYwNGU1ZjgyMDA5Ci0tLSAvZGV2
L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwpAQCAtMCwwICsxLDEwNyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBTYW1zdW5nIEVsZWN0cm9uaWNzCisgKgorICog
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiZXdrX3ZpZXcuaCIKKyNpbmNs
dWRlIDxFY29yZS5oPgorI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KKyNpbmNsdWRlIDxFY29yZV9H
ZXRvcHQuaD4KKyNpbmNsdWRlIDxFY29yZV9YLmg+CisjaW5jbHVkZSA8RXZhcy5oPgorCisjZGVm
aW5lIERFRkFVTFRfV0lEVEggICAgICA4MDAKKyNkZWZpbmUgREVGQVVMVF9IRUlHSFQgICAgIDYw
MAorCit0eXBlZGVmIHN0cnVjdCBfTWluaUJyb3dzZXIgeworICAgIEVjb3JlX0V2YXMgKmVlOwor
ICAgIEV2YXMgKmV2YXM7CisgICAgRXZhc19PYmplY3QgKmJnOworICAgIEV2YXNfT2JqZWN0ICpi
cm93c2VyOworfSBNaW5pQnJvd3NlcjsKKworc3RhdGljIEVpbmFfQm9vbCBtYWluX3NpZ25hbF9l
eGl0KHZvaWQgKmRhdGEsIGludCBldl90eXBlLCB2b2lkICpldikKK3sKKyAgICBlY29yZV9tYWlu
X2xvb3BfcXVpdCgpOworICAgIHJldHVybiAxOworfQorCitzdGF0aWMgRWluYV9Cb29sIGJyb3dz
ZXJDcmVhdGUoY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICplbmdpbmUpCit7CisgICAgTWlu
aUJyb3dzZXIgKmFwcCA9IChNaW5pQnJvd3NlciopIG1hbGxvYyhzaXplb2YoTWluaUJyb3dzZXIp
KTsKKworICAgIGFwcC0+ZWUgPSBlY29yZV9ldmFzX25ldyhlbmdpbmUsIDAsIDAsIERFRkFVTFRf
V0lEVEgsIERFRkFVTFRfSEVJR0hULCBOVUxMKTsKKworICAgIGVjb3JlX2V2YXNfdGl0bGVfc2V0
KGFwcC0+ZWUsICJFRkwgTWluaUJyb3dzZXIiKTsKKyAgICBlY29yZV9ldmFzX2JvcmRlcmxlc3Nf
c2V0KGFwcC0+ZWUsIDApOworICAgIGVjb3JlX2V2YXNfc2hvdyhhcHAtPmVlKTsKKworICAgIGFw
cC0+ZXZhcyA9IGVjb3JlX2V2YXNfZ2V0KGFwcC0+ZWUpOworCisgICAgYXBwLT5iZyA9IGV2YXNf
b2JqZWN0X3JlY3RhbmdsZV9hZGQoYXBwLT5ldmFzKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hp
bnRfd2VpZ2h0X3NldChhcHAtPmJnLCBFVkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5E
KTsKKworICAgIGV2YXNfb2JqZWN0X21vdmUoYXBwLT5iZywgMCwgMCk7CisgICAgZXZhc19vYmpl
Y3RfcmVzaXplKGFwcC0+YmcsIERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hUKTsKKyAgICBl
dmFzX29iamVjdF9jb2xvcl9zZXQoYXBwLT5iZywgMjU1LCAxNTAsIDE1MCwgMjU1KTsKKyAgICBl
dmFzX29iamVjdF9zaG93KGFwcC0+YmcpOworCisgICAgLyogQ3JlYXRlIHdlYnZpZXcgKi8KKyAg
ICBhcHAtPmJyb3dzZXIgPSBld2tfdmlld19hZGQoYXBwLT5ldmFzLCBXS0NvbnRleHRHZXRTaGFy
ZWRQcm9jZXNzQ29udGV4dCgpLCAwKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0
X3NldChhcHAtPmJyb3dzZXIsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOwor
ICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShhcHAtPmJyb3dzZXIsIERFRkFVTFRfV0lEVEgsIERFRkFV
TFRfSEVJR0hUKTsKKyAgICBldmFzX29iamVjdF9zaG93KGFwcC0+YnJvd3Nlcik7CisKKyAgICBX
S1BhZ2VMb2FkVVJMKGV3a192aWV3X3BhZ2VfZ2V0KGFwcC0+YnJvd3NlciksIFdLVVJMQ3JlYXRl
V2l0aFVURjhDU3RyaW5nKHVybCkpOworCisgICAgcmV0dXJuIEVJTkFfVFJVRTsKK30KKworaW50
IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKyAgICBjb25zdCBjaGFyICpkZWZhdWx0
X3VybCA9ICJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIjsKKworICAgIGNoYXIgKnVybDsKKyAgICBj
aGFyICplbmdpbmUgPSBOVUxMOworICAgIGludCBhcmdzID0gMTsKKworICAgIGlmICghZWNvcmVf
ZXZhc19pbml0KCkpCisgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CisKKyAgICBpZiAoYXJn
cyA8IGFyZ2MpCisgICAgICAgIHVybCA9IGFyZ3ZbYXJnc107CisgICAgZWxzZQorICAgICAgICB1
cmwgPSAoY2hhciopIGRlZmF1bHRfdXJsOworCisgICAgYnJvd3NlckNyZWF0ZSh1cmwsIGVuZ2lu
ZSk7CisKKyAgICBlY29yZV9ldmVudF9oYW5kbGVyX2FkZChFQ09SRV9FVkVOVF9TSUdOQUxfRVhJ
VCwgbWFpbl9zaWduYWxfZXhpdCwgTlVMTCk7CisKKyAgICBlY29yZV9tYWluX2xvb3BfYmVnaW4o
KTsKKworICAgIGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKKworICAgIHJldHVybiAwOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95833</attachid>
            <date>2011-06-02 16:53:14 -0700</date>
            <delta_ts>2011-06-13 23:52:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20110603085312.patch</filename>
            <type>text/plain</type>
            <size>6958</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc5NjIKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4ZTA3ODVlYmM1MmI2NDQ3NzY0Y2UwNDk0YzY5ZjM5NjI2
M2EwM2I2Li5kM2QyMDM0ZGM0ZjNlZDIxM2JhMGI1ZTFjNzMwY2EwMDg3NmY0Yzc3IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDYtMDIgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtFRkxdW1dLMl0g
QWRkIE1pbmlCcm93c2VyRWZsLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjE4NTAKKworICAgICAgICBJbXBsZW1lbnQgTWluaUJyb3dzZXIgZm9yIEVG
TC4KKworICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzRWZsLnR4dDogQWRkZWQu
CisgICAgICAgICogTWluaUJyb3dzZXIvZWZsL21haW4uYzogQWRkZWQuCisgICAgICAgIChtYWlu
X3NpZ25hbF9leGl0KToKKyAgICAgICAgKGJyb3dzZXJDcmVhdGUpOgorICAgICAgICAobWFpbik6
CisKIDIwMTEtMDYtMDIgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYSBTaWx2YS4KZGlmZiAtLWdpdCBh
L1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzRWZsLnR4dCBiL1Rvb2xzL01pbmlCcm93
c2VyL2VmbC9DTWFrZUxpc3RzRWZsLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43NTYwZjE0Zjk0YzZhMGE1NzEz
MTg3Zjc0YmVkZTE3Y2RiMDdjMjExCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dz
ZXIvZWZsL0NNYWtlTGlzdHNFZmwudHh0CkBAIC0wLDAgKzEsNzMgQEAKK1NFVChNaW5pQnJvd3Nl
cl9ESVIgIiR7VE9PTFNfRElSfS9NaW5pQnJvd3Nlci9lZmwiKQorCitTRVQoTWluaUJyb3dzZXJf
U09VUkNFUworICAgICR7TWluaUJyb3dzZXJfRElSfS9tYWluLmMKKykKKworU0VUKE1pbmlCcm93
c2VyX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAke0NhaXJvX0lOQ0xVREVfRElSU30KKyAgICAk
e0VDT1JFX1hfSU5DTFVERV9ESVJTfQorICAgICR7RURKRV9JTkNMVURFX0RJUlN9CisgICAgJHtF
RkxERVBTX0lOQ0xVREVfRElSU30KKyAgICAke0VWQVNfSU5DTFVERV9ESVJTfQorICAgICR7V0VC
S0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsCisgICAgJHtXRUJLSVQyX0RJUn0KKyAgICAke0RF
UklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVkZQorICAgICR7Q01BS0VfU09VUkNFX0RJ
Un0KKykKKworSUYgKEVOQUJMRV9HTElCX1NVUFBPUlQpCisgICAgTElTVChBUFBFTkQgTWluaUJy
b3dzZXJfTElCUkFSSUVTCisgICAgICAgICR7R2RrX0xJQlJBUklFU30KKyAgICAgICAgJHtHbGli
X0xJQlJBUklFU30KKyAgICAgICAgJHtHdGhyZWFkX0xJQlJBUklFU30KKyAgICApCitFTkRJRiAo
KQorCitTRVQoTWluaUJyb3dzZXJfTElOS19GTEFHUworICAgICR7RUNPUkVfWF9MREZMQUdTfQor
ICAgICR7RURKRV9MREZMQUdTfQorICAgICR7RUZMREVQU19MREZMQUdTfQorICAgICR7RVZBU19M
REZMQUdTfQorKQorCitJRiAoV1RGX1VTRV9TT1VQKQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93
c2VyX0xJQlJBUklFUyAke0xJQlNPVVAyNF9MSUJSQVJJRVN9KQorICAgIExJU1QoQVBQRU5EIE1p
bmlCcm93c2VyX0xJTktfRkxBR1MgJHtMSUJTT1VQMjRfTERGTEFHU30pCitFTkRJRiAoKQorCitJ
RiAoV1RGX1VTRV9DVVJMKQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJQlJBUklFUyAk
e0NVUkxfTElCUkFSSUVTfSkKKyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdT
ICR7Q1VSTF9MREZMQUdTfSkKK0VORElGICgpCisKK1NFVChNaW5pQnJvd3Nlcl9MSUJSQVJJRVMK
KyAgICAke0phdmFTY3JpcHRDb3JlX0xJQlJBUllfTkFNRX0KKyAgICAke1dlYkNvcmVfTElCUkFS
WV9OQU1FfQorICAgICR7V2ViS2l0X0xJQlJBUllfTkFNRX0KKyAgICAke0NhaXJvX0xJQlJBUklF
U30KKyAgICAke0VDT1JFX1hfTElCUkFSSUVTfQorICAgICR7RURKRV9MSUJSQVJJRVN9CisgICAg
JHtFRkxERVBTX0xJQlJBUklFU30KKyAgICAke0VWQVNfTElCUkFSSUVTfQorICAgICR7TElCWE1M
Ml9MSUJSQVJJRVN9CisgICAgJHtMSUJYU0xUX0xJQlJBUklFU30KKyAgICAke1NRTElURV9MSUJS
QVJJRVN9CispCisKK0FERF9DVVNUT01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dz
ZXJFZmwKKyAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQktJVDJfRElSfS9TY3Jp
cHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCAke01pbmlCcm93c2VyX0RJUn0gJHtE
RVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2luY2x1ZGUgZWZsCispCisKK0FERF9DVVNUT01f
VEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJTb3VwCisgICAgQ09NTUFORCAke1BF
UkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0vU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5n
LWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJf
RElSfS9pbmNsdWRlIHNvdXAKKykKKworSU5DTFVERV9ESVJFQ1RPUklFUygke01pbmlCcm93c2Vy
X0lOQ0xVREVfRElSRUNUT1JJRVN9KQorQUREX0VYRUNVVEFCTEUoUHJvZ3JhbXMvTWluaUJyb3dz
ZXIgJHtNaW5pQnJvd3Nlcl9TT1VSQ0VTfSkKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhQcm9ncmFt
cy9NaW5pQnJvd3NlciAke01pbmlCcm93c2VyX0xJQlJBUklFU30pCisKK0FERF9ERVBFTkRFTkNJ
RVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgZm9yd2FyZGluZy1oZWFkZXJNaW5pQnJvd3NlckVmbCkK
K0FERF9ERVBFTkRFTkNJRVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgZm9yd2FyZGluZy1oZWFkZXJN
aW5pQnJvd3NlclNvdXApCisKK0FERF9UQVJHRVRfUFJPUEVSVElFUyhQcm9ncmFtcy9NaW5pQnJv
d3NlciBMSU5LX0ZMQUdTICIke01pbmlCcm93c2VyX0xJTktfRkxBR1N9IikKZGlmZiAtLWdpdCBh
L1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFp
bi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjYxMGE2ODMxMjcxZDllZTc4MGQ4NDdiZjRiMDU3NjA0ZTVmODIwMDkK
LS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCkBAIC0wLDAg
KzEsMTA3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIFNhbXN1bmcgRWxlY3Ryb25pY3MK
KyAqCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJld2tfdmlldy5o
IgorI2luY2x1ZGUgPEVjb3JlLmg+CisjaW5jbHVkZSA8RWNvcmVfRXZhcy5oPgorI2luY2x1ZGUg
PEVjb3JlX0dldG9wdC5oPgorI2luY2x1ZGUgPEVjb3JlX1guaD4KKyNpbmNsdWRlIDxFdmFzLmg+
CisKKyNkZWZpbmUgREVGQVVMVF9XSURUSCAgICAgIDgwMAorI2RlZmluZSBERUZBVUxUX0hFSUdI
VCAgICAgNjAwCisKK3R5cGVkZWYgc3RydWN0IF9NaW5pQnJvd3NlciB7CisgICAgRWNvcmVfRXZh
cyAqZWU7CisgICAgRXZhcyAqZXZhczsKKyAgICBFdmFzX09iamVjdCAqYmc7CisgICAgRXZhc19P
YmplY3QgKmJyb3dzZXI7Cit9IE1pbmlCcm93c2VyOworCitzdGF0aWMgRWluYV9Cb29sIG1haW5f
c2lnbmFsX2V4aXQodm9pZCAqZGF0YSwgaW50IGV2X3R5cGUsIHZvaWQgKmV2KQoreworICAgIGVj
b3JlX21haW5fbG9vcF9xdWl0KCk7CisgICAgcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBFaW5hX0Jv
b2wgYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNoYXIgKmVuZ2luZSkKK3sK
KyAgICBNaW5pQnJvd3NlciAqYXBwID0gKE1pbmlCcm93c2VyKikgbWFsbG9jKHNpemVvZihNaW5p
QnJvd3NlcikpOworCisgICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNfbmV3KGVuZ2luZSwgMCwgMCwg
REVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQsIE5VTEwpOworCisgICAgZWNvcmVfZXZhc190
aXRsZV9zZXQoYXBwLT5lZSwgIkVGTCBNaW5pQnJvd3NlciIpOworICAgIGVjb3JlX2V2YXNfYm9y
ZGVybGVzc19zZXQoYXBwLT5lZSwgMCk7CisgICAgZWNvcmVfZXZhc19zaG93KGFwcC0+ZWUpOwor
CisgICAgYXBwLT5ldmFzID0gZWNvcmVfZXZhc19nZXQoYXBwLT5lZSk7CisKKyAgICBhcHAtPmJn
ID0gZXZhc19vYmplY3RfcmVjdGFuZ2xlX2FkZChhcHAtPmV2YXMpOworICAgIGV2YXNfb2JqZWN0
X3NpemVfaGludF93ZWlnaHRfc2V0KGFwcC0+YmcsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElO
VF9FWFBBTkQpOworCisgICAgZXZhc19vYmplY3RfbW92ZShhcHAtPmJnLCAwLCAwKTsKKyAgICBl
dmFzX29iamVjdF9yZXNpemUoYXBwLT5iZywgREVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQp
OworICAgIGV2YXNfb2JqZWN0X2NvbG9yX3NldChhcHAtPmJnLCAyNTUsIDE1MCwgMTUwLCAyNTUp
OworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwLT5iZyk7CisKKyAgICAvKiBDcmVhdGUgd2Vidmll
dyAqLworICAgIGFwcC0+YnJvd3NlciA9IGV3a192aWV3X2FkZChhcHAtPmV2YXMsIFdLQ29udGV4
dEdldFNoYXJlZFByb2Nlc3NDb250ZXh0KCksIDApOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGlu
dF93ZWlnaHRfc2V0KGFwcC0+YnJvd3NlciwgRVZBU19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VY
UEFORCk7CisgICAgZXZhc19vYmplY3RfcmVzaXplKGFwcC0+YnJvd3NlciwgREVGQVVMVF9XSURU
SCwgREVGQVVMVF9IRUlHSFQpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwLT5icm93c2VyKTsK
KworICAgIFdLUGFnZUxvYWRVUkwoZXdrX3ZpZXdfcGFnZV9nZXQoYXBwLT5icm93c2VyKSwgV0tV
UkxDcmVhdGVXaXRoVVRGOENTdHJpbmcodXJsKSk7CisKKyAgICByZXR1cm4gRUlOQV9UUlVFOwor
fQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworICAgIGNvbnN0IGNoYXIg
KmRlZmF1bHRfdXJsID0gImh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iOworCisgICAgY2hhciAqdXJs
OworICAgIGNoYXIgKmVuZ2luZSA9IE5VTEw7CisgICAgaW50IGFyZ3MgPSAxOworCisgICAgaWYg
KCFlY29yZV9ldmFzX2luaXQoKSkKKyAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworICAg
IGlmIChhcmdzIDwgYXJnYykKKyAgICAgICAgdXJsID0gYXJndlthcmdzXTsKKyAgICBlbHNlCisg
ICAgICAgIHVybCA9IChjaGFyKikgZGVmYXVsdF91cmw7CisKKyAgICBicm93c2VyQ3JlYXRlKHVy
bCwgZW5naW5lKTsKKworICAgIGVjb3JlX2V2ZW50X2hhbmRsZXJfYWRkKEVDT1JFX0VWRU5UX1NJ
R05BTF9FWElULCBtYWluX3NpZ25hbF9leGl0LCBOVUxMKTsKKworICAgIGVjb3JlX21haW5fbG9v
cF9iZWdpbigpOworCisgICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOworCisgICAgcmV0dXJuIDA7
Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97075</attachid>
            <date>2011-06-13 23:53:02 -0700</date>
            <delta_ts>2011-06-22 17:09:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20110614155258.patch</filename>
            <type>text/plain</type>
            <size>7034</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg2OTkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4OTJlM2YxMjI5ODA5MDQzYjIwNGNmZGYwYzI1YjRiMTA0
NmZjYjgyLi5jZjQ3ZTc0OWY0YzhjMzZlNzAwOTViYTNlOGUxYmNiYTM5NmYxNWQzIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDYtMTMgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtFRkxdW1dLMl0g
QWRkIE1pbmlCcm93c2VyRWZsLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjE4NTAKKworICAgICAgICBJbXBsZW1lbnQgTWluaUJyb3dzZXIgZm9yIEVG
TC4KKworICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzRWZsLnR4dDogQWRkZWQu
CisgICAgICAgICogTWluaUJyb3dzZXIvZWZsL21haW4uYzogQWRkZWQuCisgICAgICAgIChtYWlu
X3NpZ25hbF9leGl0KToKKyAgICAgICAgKGJyb3dzZXJDcmVhdGUpOgorICAgICAgICAobWFpbik6
CisKIDIwMTEtMDYtMTMgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4ODY3MS4KZGlmZiAtLWdpdCBh
L1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzRWZsLnR4dCBiL1Rvb2xzL01pbmlCcm93
c2VyL2VmbC9DTWFrZUxpc3RzRWZsLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNDFiNzc0YTU5MDRlNGE2OTQ3
MjdjZDM1NGEwMjZiNjRiOTY2YzU2Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dz
ZXIvZWZsL0NNYWtlTGlzdHNFZmwudHh0CkBAIC0wLDAgKzEsNzggQEAKK1NFVChNaW5pQnJvd3Nl
cl9ESVIgIiR7VE9PTFNfRElSfS9NaW5pQnJvd3Nlci9lZmwiKQorCitTRVQoTWluaUJyb3dzZXJf
U09VUkNFUworICAgICR7TWluaUJyb3dzZXJfRElSfS9tYWluLmMKKykKKworU0VUKE1pbmlCcm93
c2VyX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAke0NhaXJvX0lOQ0xVREVfRElSU30KKyAgICAk
e0VDT1JFX1hfSU5DTFVERV9ESVJTfQorICAgICR7RURKRV9JTkNMVURFX0RJUlN9CisgICAgJHtF
RkxERVBTX0lOQ0xVREVfRElSU30KKyAgICAke0VWQVNfSU5DTFVERV9ESVJTfQorICAgICR7V0VC
S0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsCisgICAgJHtXRUJLSVQyX0RJUn0KKyAgICAke0RF
UklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVkZQorICAgICR7Q01BS0VfU09VUkNFX0RJ
Un0KKykKKworSUYgKEVOQUJMRV9HTElCX1NVUFBPUlQpCisgICAgTElTVChBUFBFTkQgTWluaUJy
b3dzZXJfTElCUkFSSUVTCisgICAgICAgICR7R2RrX0xJQlJBUklFU30KKyAgICAgICAgJHtHbGli
X0xJQlJBUklFU30KKyAgICAgICAgJHtHdGhyZWFkX0xJQlJBUklFU30KKyAgICApCitFTkRJRiAo
KQorCitTRVQoTWluaUJyb3dzZXJfTElOS19GTEFHUworICAgICR7RUNPUkVfWF9MREZMQUdTfQor
ICAgICR7RURKRV9MREZMQUdTfQorICAgICR7RUZMREVQU19MREZMQUdTfQorICAgICR7RVZBU19M
REZMQUdTfQorKQorCitJRiAoV1RGX1VTRV9TT1VQKQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93
c2VyX0xJQlJBUklFUyAke0xJQlNPVVAyNF9MSUJSQVJJRVN9KQorICAgIExJU1QoQVBQRU5EIE1p
bmlCcm93c2VyX0xJTktfRkxBR1MgJHtMSUJTT1VQMjRfTERGTEFHU30pCitFTkRJRiAoKQorCitJ
RiAoV1RGX1VTRV9DVVJMKQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJQlJBUklFUyAk
e0NVUkxfTElCUkFSSUVTfSkKKyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdT
ICR7Q1VSTF9MREZMQUdTfSkKK0VORElGICgpCisKK1NFVChNaW5pQnJvd3Nlcl9MSUJSQVJJRVMK
KyAgICAke0phdmFTY3JpcHRDb3JlX0xJQlJBUllfTkFNRX0KKyAgICAke1dlYkNvcmVfTElCUkFS
WV9OQU1FfQorICAgICR7V2ViS2l0X0xJQlJBUllfTkFNRX0KKyAgICAke0NhaXJvX0xJQlJBUklF
U30KKyAgICAke0VDT1JFX1hfTElCUkFSSUVTfQorICAgICR7RURKRV9MSUJSQVJJRVN9CisgICAg
JHtFRkxERVBTX0xJQlJBUklFU30KKyAgICAke0VWQVNfTElCUkFSSUVTfQorICAgICR7TElCWE1M
Ml9MSUJSQVJJRVN9CisgICAgJHtMSUJYU0xUX0xJQlJBUklFU30KKyAgICAke1NRTElURV9MSUJS
QVJJRVN9CispCisKK0FERF9DVVNUT01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dz
ZXJFZmwKKyAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQktJVDJfRElSfS9TY3Jp
cHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCAke01pbmlCcm93c2VyX0RJUn0gJHtE
RVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2luY2x1ZGUgZWZsCispCisKK0lGIChXVEZfVVNF
X1NPVVApCisgICAgQUREX0NVU1RPTV9UQVJHRVQoZm9yd2FyZGluZy1oZWFkZXJNaW5pQnJvd3Nl
clNvdXAKKyAgICAgICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0v
U2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9
ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9pbmNsdWRlIHNvdXAKKyAgICApCitFTkRJ
RiAoKQorCitJTkNMVURFX0RJUkVDVE9SSUVTKCR7TWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RP
UklFU30pCitBRERfRVhFQ1VUQUJMRShQcm9ncmFtcy9NaW5pQnJvd3NlciAke01pbmlCcm93c2Vy
X1NPVVJDRVN9KQorVEFSR0VUX0xJTktfTElCUkFSSUVTKFByb2dyYW1zL01pbmlCcm93c2VyICR7
TWluaUJyb3dzZXJfTElCUkFSSUVTfSkKKworQUREX0RFUEVOREVOQ0lFUyhQcm9ncmFtcy9NaW5p
QnJvd3NlciBmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyRWZsKQorCitJRiAoV1RGX1VTRV9T
T1VQKQorICAgIEFERF9ERVBFTkRFTkNJRVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgZm9yd2FyZGlu
Zy1oZWFkZXJNaW5pQnJvd3NlclNvdXApCitFTkRJRiAoKQorCitBRERfVEFSR0VUX1BST1BFUlRJ
RVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgTElOS19GTEFHUyAiJHtNaW5pQnJvd3Nlcl9MSU5LX0ZM
QUdTfSIpCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jIGIvVG9vbHMv
TWluaUJyb3dzZXIvZWZsL21haW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MTBhNjgzMTI3MWQ5ZWU3ODBkODQ3
YmY0YjA1NzYwNGU1ZjgyMDA5Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIv
ZWZsL21haW4uYwpAQCAtMCwwICsxLDEwNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBT
YW1zdW5nIEVsZWN0cm9uaWNzCisgKgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiZXdrX3ZpZXcuaCIKKyNpbmNsdWRlIDxFY29yZS5oPgorI2luY2x1ZGUgPEVjb3Jl
X0V2YXMuaD4KKyNpbmNsdWRlIDxFY29yZV9HZXRvcHQuaD4KKyNpbmNsdWRlIDxFY29yZV9YLmg+
CisjaW5jbHVkZSA8RXZhcy5oPgorCisjZGVmaW5lIERFRkFVTFRfV0lEVEggICAgICA4MDAKKyNk
ZWZpbmUgREVGQVVMVF9IRUlHSFQgICAgIDYwMAorCit0eXBlZGVmIHN0cnVjdCBfTWluaUJyb3dz
ZXIgeworICAgIEVjb3JlX0V2YXMgKmVlOworICAgIEV2YXMgKmV2YXM7CisgICAgRXZhc19PYmpl
Y3QgKmJnOworICAgIEV2YXNfT2JqZWN0ICpicm93c2VyOworfSBNaW5pQnJvd3NlcjsKKworc3Rh
dGljIEVpbmFfQm9vbCBtYWluX3NpZ25hbF9leGl0KHZvaWQgKmRhdGEsIGludCBldl90eXBlLCB2
b2lkICpldikKK3sKKyAgICBlY29yZV9tYWluX2xvb3BfcXVpdCgpOworICAgIHJldHVybiAxOwor
fQorCitzdGF0aWMgRWluYV9Cb29sIGJyb3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJsLCBjb25z
dCBjaGFyICplbmdpbmUpCit7CisgICAgTWluaUJyb3dzZXIgKmFwcCA9IChNaW5pQnJvd3Nlciop
IG1hbGxvYyhzaXplb2YoTWluaUJyb3dzZXIpKTsKKworICAgIGFwcC0+ZWUgPSBlY29yZV9ldmFz
X25ldyhlbmdpbmUsIDAsIDAsIERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hULCBOVUxMKTsK
KworICAgIGVjb3JlX2V2YXNfdGl0bGVfc2V0KGFwcC0+ZWUsICJFRkwgTWluaUJyb3dzZXIiKTsK
KyAgICBlY29yZV9ldmFzX2JvcmRlcmxlc3Nfc2V0KGFwcC0+ZWUsIDApOworICAgIGVjb3JlX2V2
YXNfc2hvdyhhcHAtPmVlKTsKKworICAgIGFwcC0+ZXZhcyA9IGVjb3JlX2V2YXNfZ2V0KGFwcC0+
ZWUpOworCisgICAgYXBwLT5iZyA9IGV2YXNfb2JqZWN0X3JlY3RhbmdsZV9hZGQoYXBwLT5ldmFz
KTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHAtPmJnLCBFVkFTX0hJ
TlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKworICAgIGV2YXNfb2JqZWN0X21vdmUoYXBw
LT5iZywgMCwgMCk7CisgICAgZXZhc19vYmplY3RfcmVzaXplKGFwcC0+YmcsIERFRkFVTFRfV0lE
VEgsIERFRkFVTFRfSEVJR0hUKTsKKyAgICBldmFzX29iamVjdF9jb2xvcl9zZXQoYXBwLT5iZywg
MjU1LCAxNTAsIDE1MCwgMjU1KTsKKyAgICBldmFzX29iamVjdF9zaG93KGFwcC0+YmcpOworCisg
ICAgLyogQ3JlYXRlIHdlYnZpZXcgKi8KKyAgICBhcHAtPmJyb3dzZXIgPSBld2tfdmlld19hZGQo
YXBwLT5ldmFzLCBXS0NvbnRleHRHZXRTaGFyZWRQcm9jZXNzQ29udGV4dCgpLCAwKTsKKyAgICBl
dmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHAtPmJyb3dzZXIsIEVWQVNfSElOVF9F
WFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShhcHAtPmJy
b3dzZXIsIERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hUKTsKKyAgICBldmFzX29iamVjdF9z
aG93KGFwcC0+YnJvd3Nlcik7CisKKyAgICBXS1BhZ2VMb2FkVVJMKGV3a192aWV3X3BhZ2VfZ2V0
KGFwcC0+YnJvd3NlciksIFdLVVJMQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHVybCkpOworCisgICAg
cmV0dXJuIEVJTkFfVFJVRTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkK
K3sKKyAgICBjb25zdCBjaGFyICpkZWZhdWx0X3VybCA9ICJodHRwOi8vd3d3Lmdvb2dsZS5jb20v
IjsKKworICAgIGNoYXIgKnVybDsKKyAgICBjaGFyICplbmdpbmUgPSBOVUxMOworICAgIGludCBh
cmdzID0gMTsKKworICAgIGlmICghZWNvcmVfZXZhc19pbml0KCkpCisgICAgICAgIHJldHVybiBF
WElUX0ZBSUxVUkU7CisKKyAgICBpZiAoYXJncyA8IGFyZ2MpCisgICAgICAgIHVybCA9IGFyZ3Zb
YXJnc107CisgICAgZWxzZQorICAgICAgICB1cmwgPSAoY2hhciopIGRlZmF1bHRfdXJsOworCisg
ICAgYnJvd3NlckNyZWF0ZSh1cmwsIGVuZ2luZSk7CisKKyAgICBlY29yZV9ldmVudF9oYW5kbGVy
X2FkZChFQ09SRV9FVkVOVF9TSUdOQUxfRVhJVCwgbWFpbl9zaWduYWxfZXhpdCwgTlVMTCk7CisK
KyAgICBlY29yZV9tYWluX2xvb3BfYmVnaW4oKTsKKworICAgIGVjb3JlX2V2YXNfc2h1dGRvd24o
KTsKKworICAgIHJldHVybiAwOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98267</attachid>
            <date>2011-06-22 17:10:01 -0700</date>
            <delta_ts>2011-06-27 04:44:59 -0700</delta_ts>
            <desc>Patch_changed_copyright</desc>
            <filename>bug-61850-20110623090903.patch</filename>
            <type>text/plain</type>
            <size>6976</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODk0OTkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCA2ZDA2ZGJiZjMzMzY3YjFiZDQ0MjRlYjU3ZjgwM2U2NDU1
Njk5ZGUxLi4zODg2OGM3NDlmMDgyZTc2Mjg4Nzc2NTFhZjhhMWY2ZjEzMzk3NGM4IDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDYtMjIgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtFRkxdW1dLMl0g
QWRkIE1pbmlCcm93c2VyRWZsLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjE4NTAKKworICAgICAgICBJbXBsZW1lbnQgTWluaUJyb3dzZXIgZm9yIEVG
TC4KKworICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzRWZsLnR4dDogQWRkZWQu
CisgICAgICAgICogTWluaUJyb3dzZXIvZWZsL21haW4uYzogQWRkZWQuCisgICAgICAgIChtYWlu
X3NpZ25hbF9leGl0KToKKyAgICAgICAgKGJyb3dzZXJDcmVhdGUpOgorICAgICAgICAobWFpbik6
CisKIDIwMTEtMDYtMjIgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nl
ci9lZmwvQ01ha2VMaXN0c0VmbC50eHQgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0
c0VmbC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjQxYjc3NGE1OTA0ZTRhNjk0NzI3Y2QzNTRhMDI2YjY0Yjk2
NmM1NgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3Rz
RWZsLnR4dApAQCAtMCwwICsxLDc4IEBACitTRVQoTWluaUJyb3dzZXJfRElSICIke1RPT0xTX0RJ
Un0vTWluaUJyb3dzZXIvZWZsIikKKworU0VUKE1pbmlCcm93c2VyX1NPVVJDRVMKKyAgICAke01p
bmlCcm93c2VyX0RJUn0vbWFpbi5jCispCisKK1NFVChNaW5pQnJvd3Nlcl9JTkNMVURFX0RJUkVD
VE9SSUVTCisgICAgJHtDYWlyb19JTkNMVURFX0RJUlN9CisgICAgJHtFQ09SRV9YX0lOQ0xVREVf
RElSU30KKyAgICAke0VESkVfSU5DTFVERV9ESVJTfQorICAgICR7RUZMREVQU19JTkNMVURFX0RJ
UlN9CisgICAgJHtFVkFTX0lOQ0xVREVfRElSU30KKyAgICAke1dFQktJVDJfRElSfS9VSVByb2Nl
c3MvQVBJL2VmbAorICAgICR7V0VCS0lUMl9ESVJ9CisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VC
S0lUMl9ESVJ9L2luY2x1ZGUKKyAgICAke0NNQUtFX1NPVVJDRV9ESVJ9CispCisKK0lGIChFTkFC
TEVfR0xJQl9TVVBQT1JUKQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJQlJBUklFUwor
ICAgICAgICAke0dka19MSUJSQVJJRVN9CisgICAgICAgICR7R2xpYl9MSUJSQVJJRVN9CisgICAg
ICAgICR7R3RocmVhZF9MSUJSQVJJRVN9CisgICAgKQorRU5ESUYgKCkKKworU0VUKE1pbmlCcm93
c2VyX0xJTktfRkxBR1MKKyAgICAke0VDT1JFX1hfTERGTEFHU30KKyAgICAke0VESkVfTERGTEFH
U30KKyAgICAke0VGTERFUFNfTERGTEFHU30KKyAgICAke0VWQVNfTERGTEFHU30KKykKKworSUYg
KFdURl9VU0VfU09VUCkKKyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSUJSQVJJRVMgJHtM
SUJTT1VQMjRfTElCUkFSSUVTfSkKKyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSU5LX0ZM
QUdTICR7TElCU09VUDI0X0xERkxBR1N9KQorRU5ESUYgKCkKKworSUYgKFdURl9VU0VfQ1VSTCkK
KyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSUJSQVJJRVMgJHtDVVJMX0xJQlJBUklFU30p
CisgICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElOS19GTEFHUyAke0NVUkxfTERGTEFHU30p
CitFTkRJRiAoKQorCitTRVQoTWluaUJyb3dzZXJfTElCUkFSSUVTCisgICAgJHtKYXZhU2NyaXB0
Q29yZV9MSUJSQVJZX05BTUV9CisgICAgJHtXZWJDb3JlX0xJQlJBUllfTkFNRX0KKyAgICAke1dl
YktpdF9MSUJSQVJZX05BTUV9CisgICAgJHtDYWlyb19MSUJSQVJJRVN9CisgICAgJHtFQ09SRV9Y
X0xJQlJBUklFU30KKyAgICAke0VESkVfTElCUkFSSUVTfQorICAgICR7RUZMREVQU19MSUJSQVJJ
RVN9CisgICAgJHtFVkFTX0xJQlJBUklFU30KKyAgICAke0xJQlhNTDJfTElCUkFSSUVTfQorICAg
ICR7TElCWFNMVF9MSUJSQVJJRVN9CisgICAgJHtTUUxJVEVfTElCUkFSSUVTfQorKQorCitBRERf
Q1VTVE9NX1RBUkdFVChmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyRWZsCisgICAgQ09NTUFO
RCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0vU2NyaXB0cy9nZW5lcmF0ZS1mb3J3
YXJkaW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9ICR7REVSSVZFRF9TT1VSQ0VTX1dF
QktJVDJfRElSfS9pbmNsdWRlIGVmbAorKQorCitJRiAoV1RGX1VTRV9TT1VQKQorICAgIEFERF9D
VVNUT01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJTb3VwCisgICAgICAgIENP
TU1BTkQgJHtQRVJMX0VYRUNVVEFCTEV9ICR7V0VCS0lUMl9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUt
Zm9yd2FyZGluZy1oZWFkZXJzLnBsICR7TWluaUJyb3dzZXJfRElSfSAke0RFUklWRURfU09VUkNF
U19XRUJLSVQyX0RJUn0vaW5jbHVkZSBzb3VwCisgICAgKQorRU5ESUYgKCkKKworSU5DTFVERV9E
SVJFQ1RPUklFUygke01pbmlCcm93c2VyX0lOQ0xVREVfRElSRUNUT1JJRVN9KQorQUREX0VYRUNV
VEFCTEUoUHJvZ3JhbXMvTWluaUJyb3dzZXIgJHtNaW5pQnJvd3Nlcl9TT1VSQ0VTfSkKK1RBUkdF
VF9MSU5LX0xJQlJBUklFUyhQcm9ncmFtcy9NaW5pQnJvd3NlciAke01pbmlCcm93c2VyX0xJQlJB
UklFU30pCisKK0FERF9ERVBFTkRFTkNJRVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgZm9yd2FyZGlu
Zy1oZWFkZXJNaW5pQnJvd3NlckVmbCkKKworSUYgKFdURl9VU0VfU09VUCkKKyAgICBBRERfREVQ
RU5ERU5DSUVTKFByb2dyYW1zL01pbmlCcm93c2VyIGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dz
ZXJTb3VwKQorRU5ESUYgKCkKKworQUREX1RBUkdFVF9QUk9QRVJUSUVTKFByb2dyYW1zL01pbmlC
cm93c2VyIExJTktfRkxBR1MgIiR7TWluaUJyb3dzZXJfTElOS19GTEFHU30iKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9t
YWluLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTUwY2U1NDA0OGFkMTc2MTEyNDcxM2IzOWQwOGRkMjIzNjZiMDU0
MQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKQEAgLTAs
MCArMSwxMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgU2Ftc3VuZyBFbGVjdHJvbmlj
cworICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5E
IElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisg
KiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJld2tfdmlldy5oIgorI2luY2x1ZGUgPEVjb3JlLmg+CisjaW5jbHVkZSA8RWNvcmVf
RXZhcy5oPgorI2luY2x1ZGUgPEVjb3JlX0dldG9wdC5oPgorI2luY2x1ZGUgPEVjb3JlX1guaD4K
KyNpbmNsdWRlIDxFdmFzLmg+CisKKyNkZWZpbmUgREVGQVVMVF9XSURUSCAgICAgIDgwMAorI2Rl
ZmluZSBERUZBVUxUX0hFSUdIVCAgICAgNjAwCisKK3R5cGVkZWYgc3RydWN0IF9NaW5pQnJvd3Nl
ciB7CisgICAgRWNvcmVfRXZhcyAqZWU7CisgICAgRXZhcyAqZXZhczsKKyAgICBFdmFzX09iamVj
dCAqYmc7CisgICAgRXZhc19PYmplY3QgKmJyb3dzZXI7Cit9IE1pbmlCcm93c2VyOworCitzdGF0
aWMgRWluYV9Cb29sIG1haW5fc2lnbmFsX2V4aXQodm9pZCAqZGF0YSwgaW50IGV2X3R5cGUsIHZv
aWQgKmV2KQoreworICAgIGVjb3JlX21haW5fbG9vcF9xdWl0KCk7CisgICAgcmV0dXJuIDE7Cit9
CisKK3N0YXRpYyBFaW5hX0Jvb2wgYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIGNvbnN0
IGNoYXIgKmVuZ2luZSkKK3sKKyAgICBNaW5pQnJvd3NlciAqYXBwID0gKE1pbmlCcm93c2VyKikg
bWFsbG9jKHNpemVvZihNaW5pQnJvd3NlcikpOworCisgICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNf
bmV3KGVuZ2luZSwgMCwgMCwgREVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQsIE5VTEwpOwor
CisgICAgZWNvcmVfZXZhc190aXRsZV9zZXQoYXBwLT5lZSwgIkVGTCBNaW5pQnJvd3NlciIpOwor
ICAgIGVjb3JlX2V2YXNfYm9yZGVybGVzc19zZXQoYXBwLT5lZSwgMCk7CisgICAgZWNvcmVfZXZh
c19zaG93KGFwcC0+ZWUpOworCisgICAgYXBwLT5ldmFzID0gZWNvcmVfZXZhc19nZXQoYXBwLT5l
ZSk7CisKKyAgICBhcHAtPmJnID0gZXZhc19vYmplY3RfcmVjdGFuZ2xlX2FkZChhcHAtPmV2YXMp
OworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRfc2V0KGFwcC0+YmcsIEVWQVNfSElO
VF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOworCisgICAgZXZhc19vYmplY3RfbW92ZShhcHAt
PmJnLCAwLCAwKTsKKyAgICBldmFzX29iamVjdF9yZXNpemUoYXBwLT5iZywgREVGQVVMVF9XSURU
SCwgREVGQVVMVF9IRUlHSFQpOworICAgIGV2YXNfb2JqZWN0X2NvbG9yX3NldChhcHAtPmJnLCAy
NTUsIDE1MCwgMTUwLCAyNTUpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwLT5iZyk7CisKKyAg
ICAvKiBDcmVhdGUgd2VidmlldyAqLworICAgIGFwcC0+YnJvd3NlciA9IGV3a192aWV3X2FkZChh
cHAtPmV2YXMsIFdLQ29udGV4dEdldFNoYXJlZFByb2Nlc3NDb250ZXh0KCksIDApOworICAgIGV2
YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRfc2V0KGFwcC0+YnJvd3NlciwgRVZBU19ISU5UX0VY
UEFORCwgRVZBU19ISU5UX0VYUEFORCk7CisgICAgZXZhc19vYmplY3RfcmVzaXplKGFwcC0+YnJv
d3NlciwgREVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQpOworICAgIGV2YXNfb2JqZWN0X3No
b3coYXBwLT5icm93c2VyKTsKKworICAgIFdLUGFnZUxvYWRVUkwoZXdrX3ZpZXdfcGFnZV9nZXQo
YXBwLT5icm93c2VyKSwgV0tVUkxDcmVhdGVXaXRoVVRGOENTdHJpbmcodXJsKSk7CisKKyAgICBy
ZXR1cm4gRUlOQV9UUlVFOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQor
eworICAgIGNvbnN0IGNoYXIgKmRlZmF1bHRfdXJsID0gImh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8i
OworCisgICAgY2hhciAqdXJsOworICAgIGNoYXIgKmVuZ2luZSA9IE5VTEw7CisgICAgaW50IGFy
Z3MgPSAxOworCisgICAgaWYgKCFlY29yZV9ldmFzX2luaXQoKSkKKyAgICAgICAgcmV0dXJuIEVY
SVRfRkFJTFVSRTsKKworICAgIGlmIChhcmdzIDwgYXJnYykKKyAgICAgICAgdXJsID0gYXJndlth
cmdzXTsKKyAgICBlbHNlCisgICAgICAgIHVybCA9IChjaGFyKikgZGVmYXVsdF91cmw7CisKKyAg
ICBicm93c2VyQ3JlYXRlKHVybCwgZW5naW5lKTsKKworICAgIGVjb3JlX2V2ZW50X2hhbmRsZXJf
YWRkKEVDT1JFX0VWRU5UX1NJR05BTF9FWElULCBtYWluX3NpZ25hbF9leGl0LCBOVUxMKTsKKwor
ICAgIGVjb3JlX21haW5fbG9vcF9iZWdpbigpOworCisgICAgZWNvcmVfZXZhc19zaHV0ZG93bigp
OworCisgICAgcmV0dXJuIDA7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98700</attachid>
            <date>2011-06-27 04:45:14 -0700</date>
            <delta_ts>2011-06-27 04:58:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20110627204348.patch</filename>
            <type>text/plain</type>
            <size>10949</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODk4MTIKZGlmZiAtLWdpdCBhL1Rvb2xzL0NNYWtlTGlzdHNF
ZmwudHh0IGIvVG9vbHMvQ01ha2VMaXN0c0VmbC50eHQKaW5kZXggMjRlZjg1YzEzZjQ5Nzc4M2Yz
NDNjZDIyNzgyYWI4NDY1MzQxNjU1Zi4uNTdhMjQ5YjQ3MzU0ZTkwZWRhZTgxYzA3MzQ4MGU3ODkx
MDJkMDEwYyAxMDA2NDQKLS0tIGEvVG9vbHMvQ01ha2VMaXN0c0VmbC50eHQKKysrIGIvVG9vbHMv
Q01ha2VMaXN0c0VmbC50eHQKQEAgLTEsNTkgKzEsNyBAQAotU0VUKEVXZWJMYXVuY2hlcl9TT1VS
Q0VTCi0gICAgJHtUT09MU19ESVJ9L0VXZWJMYXVuY2hlci9tYWluLmMKLSkKLQotU0VUKEVXZWJM
YXVuY2hlcl9MSUJSQVJJRVMKLSAgICAke0phdmFTY3JpcHRDb3JlX0xJQlJBUllfTkFNRX0KLSAg
ICAke1dlYkNvcmVfTElCUkFSWV9OQU1FfQotICAgICR7V2ViS2l0X0xJQlJBUllfTkFNRX0KLSAg
ICAke0NhaXJvX0xJQlJBUklFU30KLSAgICAke0VDT1JFX1hfTElCUkFSSUVTfQotICAgICR7RURK
RV9MSUJSQVJJRVN9Ci0gICAgJHtFRkxERVBTX0xJQlJBUklFU30KLSAgICAke0VWQVNfTElCUkFS
SUVTfQotICAgICR7TElCWE1MMl9MSUJSQVJJRVN9Ci0gICAgJHtMSUJYU0xUX0xJQlJBUklFU30K
LSAgICAke1NRTElURV9MSUJSQVJJRVN9Ci0pCi0KLVNFVChFV2ViTGF1bmNoZXJfSU5DTFVERV9E
SVJFQ1RPUklFUwotICAgICIke1dFQktJVF9ESVJ9L2VmbC9ld2siCi0gICAgJHtDYWlyb19JTkNM
VURFX0RJUlN9Ci0gICAgJHtFREpFX0lOQ0xVREVfRElSU30KLSAgICAke0VGTERFUFNfSU5DTFVE
RV9ESVJTfQotICAgICR7RVZBU19JTkNMVURFX0RJUlN9Ci0pCi0KLVNFVChFV2ViTGF1bmNoZXJf
TElOS19GTEFHUwotICAgICR7RUNPUkVfWF9MREZMQUdTfQotICAgICR7RURKRV9MREZMQUdTfQot
ICAgICR7RUZMREVQU19MREZMQUdTfQotICAgICR7RVZBU19MREZMQUdTfQotKQotCi1JRiAoRU5B
QkxFX0dMSUJfU1VQUE9SVCkKLSAgTElTVChBUFBFTkQgRVdlYkxhdW5jaGVyX0xJQlJBUklFUwot
ICAgICR7R2RrX0xJQlJBUklFU30KLSAgICAke0dsaWJfTElCUkFSSUVTfQotICAgICR7R3RocmVh
ZF9MSUJSQVJJRVN9Ci0gICkKK0lGIChFTkFCTEVfV0VCS0lUKQorICAgIElOQ0xVREUoJHtUT09M
U19ESVJ9L0VXZWJMYXVuY2hlci9DTWFrZUxpc3RzLnR4dCkKIEVORElGICgpCiAKLUlGIChXVEZf
VVNFX1NPVVApCi0gIExJU1QoQVBQRU5EIEVXZWJMYXVuY2hlcl9MSUJSQVJJRVMgJHtMSUJTT1VQ
MjRfTElCUkFSSUVTfSkKLSAgTElTVChBUFBFTkQgRVdlYkxhdW5jaGVyX0xJTktfRkxBR1MgJHtM
SUJTT1VQMjRfTERGTEFHU30pCitJRiAoRU5BQkxFX1dFQktJVDIpCisgICAgSU5DTFVERSgke1RP
T0xTX0RJUn0vTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0KQogRU5ESUYgKCkKLQotSUYg
KFdURl9VU0VfQ1VSTCkKLSAgTElTVChBUFBFTkQgRVdlYkxhdW5jaGVyX0xJQlJBUklFUyAke0NV
UkxfTElCUkFSSUVTfSkKLSAgTElTVChBUFBFTkQgRVdlYkxhdW5jaGVyX0xJTktfRkxBR1MgJHtD
VVJMX0xERkxBR1N9KQotRU5ESUYgKCkKLQotIyBPdmVycmlkZSBkYXRhIGRpcmVjdG9yeS4gV2Ug
YWx3YXlzIHdhbnQgdG8gZ2V0IGEgZnJlc2ggdGhlbWUuCi1SRU1PVkVfREVGSU5JVElPTlMoLURE
QVRBX0RJUj1cIiR7REFUQV9ESVJ9XCIpCi1BRERfREVGSU5JVElPTlMoLUREQVRBX0RJUj1cIiR7
QlVJTERfREFUQV9ESVJ9XCIpCi0KLUlOQ0xVREVfRElSRUNUT1JJRVMoJHtFV2ViTGF1bmNoZXJf
SU5DTFVERV9ESVJFQ1RPUklFU30pCi1BRERfRVhFQ1VUQUJMRShQcm9ncmFtcy9FV2ViTGF1bmNo
ZXIgJHtFV2ViTGF1bmNoZXJfU09VUkNFU30pCi1UQVJHRVRfTElOS19MSUJSQVJJRVMoUHJvZ3Jh
bXMvRVdlYkxhdW5jaGVyICR7RVdlYkxhdW5jaGVyX0xJQlJBUklFU30pCi1BRERfVEFSR0VUX1BS
T1BFUlRJRVMoUHJvZ3JhbXMvRVdlYkxhdW5jaGVyIExJTktfRkxBR1MgIiR7RVdlYkxhdW5jaGVy
X0xJTktfRkxBR1N9IikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA2NTYxZGJhYmUyNjM0OThkY2EzZGQ0OThlZTBhODA0YzZiYzRiNGQwLi40NmYz
ZTEwMWU0YjE4NGIxYjA3Yzg0MzY0NWIwMGM0NjhhNzUzNWRjIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDYt
MjcgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtFRkxdW1dLMl0gQWRkIE1pbmlCcm93
c2VyRWZsLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjE4NTAKKworICAgICAgICBJbXBsZW1lbnQgTWluaUJyb3dzZXIgZm9yIEVGTCBhbmQgbW92ZWQg
Y29uZmlndXJhdGlvbnMgb2YgRVdlYkxhdW5jaGVyLgorCisgICAgICAgICogQ01ha2VMaXN0c0Vm
bC50eHQ6CisgICAgICAgICogRVdlYkxhdW5jaGVyL0NNYWtlTGlzdHMudHh0OiBDb3BpZWQgZnJv
bSBUb29scy9DTWFrZUxpc3RzRWZsLnR4dC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvQ01h
a2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWluLmM6IEFk
ZGVkLgorICAgICAgICAobWFpbl9zaWduYWxfZXhpdCk6CisgICAgICAgIChicm93c2VyQ3JlYXRl
KToKKyAgICAgICAgKG1haW4pOgorCiAyMDExLTA2LTI3ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEv
VG9vbHMvRVdlYkxhdW5jaGVyL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvRVdlYkxhdW5jaGVyL0NN
YWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0ZWY4NWMxM2Y0OTc3ODNmMzQzY2QyMjc4MmFiODQ2
NTM0MTY1NWYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9FV2ViTGF1bmNoZXIvQ01ha2VMaXN0
cy50eHQKQEAgLTAsMCArMSw1OSBAQAorU0VUKEVXZWJMYXVuY2hlcl9TT1VSQ0VTCisgICAgJHtU
T09MU19ESVJ9L0VXZWJMYXVuY2hlci9tYWluLmMKKykKKworU0VUKEVXZWJMYXVuY2hlcl9MSUJS
QVJJRVMKKyAgICAke0phdmFTY3JpcHRDb3JlX0xJQlJBUllfTkFNRX0KKyAgICAke1dlYkNvcmVf
TElCUkFSWV9OQU1FfQorICAgICR7V2ViS2l0X0xJQlJBUllfTkFNRX0KKyAgICAke0NhaXJvX0xJ
QlJBUklFU30KKyAgICAke0VDT1JFX1hfTElCUkFSSUVTfQorICAgICR7RURKRV9MSUJSQVJJRVN9
CisgICAgJHtFRkxERVBTX0xJQlJBUklFU30KKyAgICAke0VWQVNfTElCUkFSSUVTfQorICAgICR7
TElCWE1MMl9MSUJSQVJJRVN9CisgICAgJHtMSUJYU0xUX0xJQlJBUklFU30KKyAgICAke1NRTElU
RV9MSUJSQVJJRVN9CispCisKK1NFVChFV2ViTGF1bmNoZXJfSU5DTFVERV9ESVJFQ1RPUklFUwor
ICAgICIke1dFQktJVF9ESVJ9L2VmbC9ld2siCisgICAgJHtDYWlyb19JTkNMVURFX0RJUlN9Cisg
ICAgJHtFREpFX0lOQ0xVREVfRElSU30KKyAgICAke0VGTERFUFNfSU5DTFVERV9ESVJTfQorICAg
ICR7RVZBU19JTkNMVURFX0RJUlN9CispCisKK1NFVChFV2ViTGF1bmNoZXJfTElOS19GTEFHUwor
ICAgICR7RUNPUkVfWF9MREZMQUdTfQorICAgICR7RURKRV9MREZMQUdTfQorICAgICR7RUZMREVQ
U19MREZMQUdTfQorICAgICR7RVZBU19MREZMQUdTfQorKQorCitJRiAoRU5BQkxFX0dMSUJfU1VQ
UE9SVCkKKyAgTElTVChBUFBFTkQgRVdlYkxhdW5jaGVyX0xJQlJBUklFUworICAgICR7R2RrX0xJ
QlJBUklFU30KKyAgICAke0dsaWJfTElCUkFSSUVTfQorICAgICR7R3RocmVhZF9MSUJSQVJJRVN9
CisgICkKK0VORElGICgpCisKK0lGIChXVEZfVVNFX1NPVVApCisgIExJU1QoQVBQRU5EIEVXZWJM
YXVuY2hlcl9MSUJSQVJJRVMgJHtMSUJTT1VQMjRfTElCUkFSSUVTfSkKKyAgTElTVChBUFBFTkQg
RVdlYkxhdW5jaGVyX0xJTktfRkxBR1MgJHtMSUJTT1VQMjRfTERGTEFHU30pCitFTkRJRiAoKQor
CitJRiAoV1RGX1VTRV9DVVJMKQorICBMSVNUKEFQUEVORCBFV2ViTGF1bmNoZXJfTElCUkFSSUVT
ICR7Q1VSTF9MSUJSQVJJRVN9KQorICBMSVNUKEFQUEVORCBFV2ViTGF1bmNoZXJfTElOS19GTEFH
UyAke0NVUkxfTERGTEFHU30pCitFTkRJRiAoKQorCisjIE92ZXJyaWRlIGRhdGEgZGlyZWN0b3J5
LiBXZSBhbHdheXMgd2FudCB0byBnZXQgYSBmcmVzaCB0aGVtZS4KK1JFTU9WRV9ERUZJTklUSU9O
UygtRERBVEFfRElSPVwiJHtEQVRBX0RJUn1cIikKK0FERF9ERUZJTklUSU9OUygtRERBVEFfRElS
PVwiJHtCVUlMRF9EQVRBX0RJUn1cIikKKworSU5DTFVERV9ESVJFQ1RPUklFUygke0VXZWJMYXVu
Y2hlcl9JTkNMVURFX0RJUkVDVE9SSUVTfSkKK0FERF9FWEVDVVRBQkxFKFByb2dyYW1zL0VXZWJM
YXVuY2hlciAke0VXZWJMYXVuY2hlcl9TT1VSQ0VTfSkKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhQ
cm9ncmFtcy9FV2ViTGF1bmNoZXIgJHtFV2ViTGF1bmNoZXJfTElCUkFSSUVTfSkKK0FERF9UQVJH
RVRfUFJPUEVSVElFUyhQcm9ncmFtcy9FV2ViTGF1bmNoZXIgTElOS19GTEFHUyAiJHtFV2ViTGF1
bmNoZXJfTElOS19GTEFHU30iKQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NN
YWtlTGlzdHMudHh0IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmI0MWI3NzRhNTkwNGU0YTY5NDcyN2NkMzU0YTAyNmI2NGI5NjZjNTYKLS0tIC9kZXYv
bnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCAr
MSw3OCBAQAorU0VUKE1pbmlCcm93c2VyX0RJUiAiJHtUT09MU19ESVJ9L01pbmlCcm93c2VyL2Vm
bCIpCisKK1NFVChNaW5pQnJvd3Nlcl9TT1VSQ0VTCisgICAgJHtNaW5pQnJvd3Nlcl9ESVJ9L21h
aW4uYworKQorCitTRVQoTWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RPUklFUworICAgICR7Q2Fp
cm9fSU5DTFVERV9ESVJTfQorICAgICR7RUNPUkVfWF9JTkNMVURFX0RJUlN9CisgICAgJHtFREpF
X0lOQ0xVREVfRElSU30KKyAgICAke0VGTERFUFNfSU5DTFVERV9ESVJTfQorICAgICR7RVZBU19J
TkNMVURFX0RJUlN9CisgICAgJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwKKyAgICAk
e1dFQktJVDJfRElSfQorICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9pbmNsdWRl
CisgICAgJHtDTUFLRV9TT1VSQ0VfRElSfQorKQorCitJRiAoRU5BQkxFX0dMSUJfU1VQUE9SVCkK
KyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSUJSQVJJRVMKKyAgICAgICAgJHtHZGtfTElC
UkFSSUVTfQorICAgICAgICAke0dsaWJfTElCUkFSSUVTfQorICAgICAgICAke0d0aHJlYWRfTElC
UkFSSUVTfQorICAgICkKK0VORElGICgpCisKK1NFVChNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdTCisg
ICAgJHtFQ09SRV9YX0xERkxBR1N9CisgICAgJHtFREpFX0xERkxBR1N9CisgICAgJHtFRkxERVBT
X0xERkxBR1N9CisgICAgJHtFVkFTX0xERkxBR1N9CispCisKK0lGIChXVEZfVVNFX1NPVVApCisg
ICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElCUkFSSUVTICR7TElCU09VUDI0X0xJQlJBUklF
U30pCisgICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElOS19GTEFHUyAke0xJQlNPVVAyNF9M
REZMQUdTfSkKK0VORElGICgpCisKK0lGIChXVEZfVVNFX0NVUkwpCisgICAgTElTVChBUFBFTkQg
TWluaUJyb3dzZXJfTElCUkFSSUVTICR7Q1VSTF9MSUJSQVJJRVN9KQorICAgIExJU1QoQVBQRU5E
IE1pbmlCcm93c2VyX0xJTktfRkxBR1MgJHtDVVJMX0xERkxBR1N9KQorRU5ESUYgKCkKKworU0VU
KE1pbmlCcm93c2VyX0xJQlJBUklFUworICAgICR7SmF2YVNjcmlwdENvcmVfTElCUkFSWV9OQU1F
fQorICAgICR7V2ViQ29yZV9MSUJSQVJZX05BTUV9CisgICAgJHtXZWJLaXRfTElCUkFSWV9OQU1F
fQorICAgICR7Q2Fpcm9fTElCUkFSSUVTfQorICAgICR7RUNPUkVfWF9MSUJSQVJJRVN9CisgICAg
JHtFREpFX0xJQlJBUklFU30KKyAgICAke0VGTERFUFNfTElCUkFSSUVTfQorICAgICR7RVZBU19M
SUJSQVJJRVN9CisgICAgJHtMSUJYTUwyX0xJQlJBUklFU30KKyAgICAke0xJQlhTTFRfTElCUkFS
SUVTfQorICAgICR7U1FMSVRFX0xJQlJBUklFU30KKykKKworQUREX0NVU1RPTV9UQVJHRVQoZm9y
d2FyZGluZy1oZWFkZXJNaW5pQnJvd3NlckVmbAorICAgIENPTU1BTkQgJHtQRVJMX0VYRUNVVEFC
TEV9ICR7V0VCS0lUMl9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBs
ICR7TWluaUJyb3dzZXJfRElSfSAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVk
ZSBlZmwKKykKKworSUYgKFdURl9VU0VfU09VUCkKKyAgICBBRERfQ1VTVE9NX1RBUkdFVChmb3J3
YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyU291cAorICAgICAgICBDT01NQU5EICR7UEVSTF9FWEVD
VVRBQkxFfSAke1dFQktJVDJfRElSfS9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVy
cy5wbCAke01pbmlCcm93c2VyX0RJUn0gJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2lu
Y2x1ZGUgc291cAorICAgICkKK0VORElGICgpCisKK0lOQ0xVREVfRElSRUNUT1JJRVMoJHtNaW5p
QnJvd3Nlcl9JTkNMVURFX0RJUkVDVE9SSUVTfSkKK0FERF9FWEVDVVRBQkxFKFByb2dyYW1zL01p
bmlCcm93c2VyICR7TWluaUJyb3dzZXJfU09VUkNFU30pCitUQVJHRVRfTElOS19MSUJSQVJJRVMo
UHJvZ3JhbXMvTWluaUJyb3dzZXIgJHtNaW5pQnJvd3Nlcl9MSUJSQVJJRVN9KQorCitBRERfREVQ
RU5ERU5DSUVTKFByb2dyYW1zL01pbmlCcm93c2VyIGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dz
ZXJFZmwpCisKK0lGIChXVEZfVVNFX1NPVVApCisgICAgQUREX0RFUEVOREVOQ0lFUyhQcm9ncmFt
cy9NaW5pQnJvd3NlciBmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyU291cCkKK0VORElGICgp
CisKK0FERF9UQVJHRVRfUFJPUEVSVElFUyhQcm9ncmFtcy9NaW5pQnJvd3NlciBMSU5LX0ZMQUdT
ICIke01pbmlCcm93c2VyX0xJTktfRkxBR1N9IikKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93
c2VyL2VmbC9tYWluLmMgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU1MGNlNTQwNDhhZDE3NjExMjQ3MTNiMzlkMDhkZDIyMzY2YjA1NDEKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCkBAIC0wLDAgKzEsMTA0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIFNhbXN1bmcgRWxlY3Ryb25pY3MKKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiZXdrX3ZpZXcu
aCIKKyNpbmNsdWRlIDxFY29yZS5oPgorI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KKyNpbmNsdWRl
IDxFY29yZV9HZXRvcHQuaD4KKyNpbmNsdWRlIDxFY29yZV9YLmg+CisjaW5jbHVkZSA8RXZhcy5o
PgorCisjZGVmaW5lIERFRkFVTFRfV0lEVEggICAgICA4MDAKKyNkZWZpbmUgREVGQVVMVF9IRUlH
SFQgICAgIDYwMAorCit0eXBlZGVmIHN0cnVjdCBfTWluaUJyb3dzZXIgeworICAgIEVjb3JlX0V2
YXMgKmVlOworICAgIEV2YXMgKmV2YXM7CisgICAgRXZhc19PYmplY3QgKmJnOworICAgIEV2YXNf
T2JqZWN0ICpicm93c2VyOworfSBNaW5pQnJvd3NlcjsKKworc3RhdGljIEVpbmFfQm9vbCBtYWlu
X3NpZ25hbF9leGl0KHZvaWQgKmRhdGEsIGludCBldl90eXBlLCB2b2lkICpldikKK3sKKyAgICBl
Y29yZV9tYWluX2xvb3BfcXVpdCgpOworICAgIHJldHVybiAxOworfQorCitzdGF0aWMgRWluYV9C
b29sIGJyb3dzZXJDcmVhdGUoY29uc3QgY2hhciAqdXJsLCBjb25zdCBjaGFyICplbmdpbmUpCit7
CisgICAgTWluaUJyb3dzZXIgKmFwcCA9IChNaW5pQnJvd3NlciopIG1hbGxvYyhzaXplb2YoTWlu
aUJyb3dzZXIpKTsKKworICAgIGFwcC0+ZWUgPSBlY29yZV9ldmFzX25ldyhlbmdpbmUsIDAsIDAs
IERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hULCBOVUxMKTsKKworICAgIGVjb3JlX2V2YXNf
dGl0bGVfc2V0KGFwcC0+ZWUsICJFRkwgTWluaUJyb3dzZXIiKTsKKyAgICBlY29yZV9ldmFzX2Jv
cmRlcmxlc3Nfc2V0KGFwcC0+ZWUsIDApOworICAgIGVjb3JlX2V2YXNfc2hvdyhhcHAtPmVlKTsK
KworICAgIGFwcC0+ZXZhcyA9IGVjb3JlX2V2YXNfZ2V0KGFwcC0+ZWUpOworCisgICAgYXBwLT5i
ZyA9IGV2YXNfb2JqZWN0X3JlY3RhbmdsZV9hZGQoYXBwLT5ldmFzKTsKKyAgICBldmFzX29iamVj
dF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHAtPmJnLCBFVkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJ
TlRfRVhQQU5EKTsKKworICAgIGV2YXNfb2JqZWN0X21vdmUoYXBwLT5iZywgMCwgMCk7CisgICAg
ZXZhc19vYmplY3RfcmVzaXplKGFwcC0+YmcsIERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hU
KTsKKyAgICBldmFzX29iamVjdF9jb2xvcl9zZXQoYXBwLT5iZywgMjU1LCAxNTAsIDE1MCwgMjU1
KTsKKyAgICBldmFzX29iamVjdF9zaG93KGFwcC0+YmcpOworCisgICAgLyogQ3JlYXRlIHdlYnZp
ZXcgKi8KKyAgICBhcHAtPmJyb3dzZXIgPSBld2tfdmlld19hZGQoYXBwLT5ldmFzLCBXS0NvbnRl
eHRHZXRTaGFyZWRQcm9jZXNzQ29udGV4dCgpLCAwKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hp
bnRfd2VpZ2h0X3NldChhcHAtPmJyb3dzZXIsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9F
WFBBTkQpOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShhcHAtPmJyb3dzZXIsIERFRkFVTFRfV0lE
VEgsIERFRkFVTFRfSEVJR0hUKTsKKyAgICBldmFzX29iamVjdF9zaG93KGFwcC0+YnJvd3Nlcik7
CisKKyAgICBXS1BhZ2VMb2FkVVJMKGV3a192aWV3X3BhZ2VfZ2V0KGFwcC0+YnJvd3NlciksIFdL
VVJMQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHVybCkpOworCisgICAgcmV0dXJuIEVJTkFfVFJVRTsK
K30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKyAgICBjb25zdCBjaGFy
ICpkZWZhdWx0X3VybCA9ICJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIjsKKworICAgIGNoYXIgKnVy
bDsKKyAgICBjaGFyICplbmdpbmUgPSBOVUxMOworICAgIGludCBhcmdzID0gMTsKKworICAgIGlm
ICghZWNvcmVfZXZhc19pbml0KCkpCisgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CisKKyAg
ICBpZiAoYXJncyA8IGFyZ2MpCisgICAgICAgIHVybCA9IGFyZ3ZbYXJnc107CisgICAgZWxzZQor
ICAgICAgICB1cmwgPSAoY2hhciopIGRlZmF1bHRfdXJsOworCisgICAgYnJvd3NlckNyZWF0ZSh1
cmwsIGVuZ2luZSk7CisKKyAgICBlY29yZV9ldmVudF9oYW5kbGVyX2FkZChFQ09SRV9FVkVOVF9T
SUdOQUxfRVhJVCwgbWFpbl9zaWduYWxfZXhpdCwgTlVMTCk7CisKKyAgICBlY29yZV9tYWluX2xv
b3BfYmVnaW4oKTsKKworICAgIGVjb3JlX2V2YXNfc2h1dGRvd24oKTsKKworICAgIHJldHVybiAw
OworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98703</attachid>
            <date>2011-06-27 04:58:53 -0700</date>
            <delta_ts>2011-12-22 16:10:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20110627205727.patch</filename>
            <type>text/plain</type>
            <size>10957</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODk4MTIKZGlmZiAtLWdpdCBhL1Rvb2xzL0NNYWtlTGlzdHNF
ZmwudHh0IGIvVG9vbHMvQ01ha2VMaXN0c0VmbC50eHQKaW5kZXggMjRlZjg1YzEzZjQ5Nzc4M2Yz
NDNjZDIyNzgyYWI4NDY1MzQxNjU1Zi4uNTdhMjQ5YjQ3MzU0ZTkwZWRhZTgxYzA3MzQ4MGU3ODkx
MDJkMDEwYyAxMDA2NDQKLS0tIGEvVG9vbHMvQ01ha2VMaXN0c0VmbC50eHQKKysrIGIvVG9vbHMv
Q01ha2VMaXN0c0VmbC50eHQKQEAgLTEsNTkgKzEsNyBAQAotU0VUKEVXZWJMYXVuY2hlcl9TT1VS
Q0VTCi0gICAgJHtUT09MU19ESVJ9L0VXZWJMYXVuY2hlci9tYWluLmMKLSkKLQotU0VUKEVXZWJM
YXVuY2hlcl9MSUJSQVJJRVMKLSAgICAke0phdmFTY3JpcHRDb3JlX0xJQlJBUllfTkFNRX0KLSAg
ICAke1dlYkNvcmVfTElCUkFSWV9OQU1FfQotICAgICR7V2ViS2l0X0xJQlJBUllfTkFNRX0KLSAg
ICAke0NhaXJvX0xJQlJBUklFU30KLSAgICAke0VDT1JFX1hfTElCUkFSSUVTfQotICAgICR7RURK
RV9MSUJSQVJJRVN9Ci0gICAgJHtFRkxERVBTX0xJQlJBUklFU30KLSAgICAke0VWQVNfTElCUkFS
SUVTfQotICAgICR7TElCWE1MMl9MSUJSQVJJRVN9Ci0gICAgJHtMSUJYU0xUX0xJQlJBUklFU30K
LSAgICAke1NRTElURV9MSUJSQVJJRVN9Ci0pCi0KLVNFVChFV2ViTGF1bmNoZXJfSU5DTFVERV9E
SVJFQ1RPUklFUwotICAgICIke1dFQktJVF9ESVJ9L2VmbC9ld2siCi0gICAgJHtDYWlyb19JTkNM
VURFX0RJUlN9Ci0gICAgJHtFREpFX0lOQ0xVREVfRElSU30KLSAgICAke0VGTERFUFNfSU5DTFVE
RV9ESVJTfQotICAgICR7RVZBU19JTkNMVURFX0RJUlN9Ci0pCi0KLVNFVChFV2ViTGF1bmNoZXJf
TElOS19GTEFHUwotICAgICR7RUNPUkVfWF9MREZMQUdTfQotICAgICR7RURKRV9MREZMQUdTfQot
ICAgICR7RUZMREVQU19MREZMQUdTfQotICAgICR7RVZBU19MREZMQUdTfQotKQotCi1JRiAoRU5B
QkxFX0dMSUJfU1VQUE9SVCkKLSAgTElTVChBUFBFTkQgRVdlYkxhdW5jaGVyX0xJQlJBUklFUwot
ICAgICR7R2RrX0xJQlJBUklFU30KLSAgICAke0dsaWJfTElCUkFSSUVTfQotICAgICR7R3RocmVh
ZF9MSUJSQVJJRVN9Ci0gICkKK0lGIChFTkFCTEVfV0VCS0lUKQorICAgIElOQ0xVREUoJHtUT09M
U19ESVJ9L0VXZWJMYXVuY2hlci9DTWFrZUxpc3RzLnR4dCkKIEVORElGICgpCiAKLUlGIChXVEZf
VVNFX1NPVVApCi0gIExJU1QoQVBQRU5EIEVXZWJMYXVuY2hlcl9MSUJSQVJJRVMgJHtMSUJTT1VQ
MjRfTElCUkFSSUVTfSkKLSAgTElTVChBUFBFTkQgRVdlYkxhdW5jaGVyX0xJTktfRkxBR1MgJHtM
SUJTT1VQMjRfTERGTEFHU30pCitJRiAoRU5BQkxFX1dFQktJVDIpCisgICAgSU5DTFVERSgke1RP
T0xTX0RJUn0vTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0KQogRU5ESUYgKCkKLQotSUYg
KFdURl9VU0VfQ1VSTCkKLSAgTElTVChBUFBFTkQgRVdlYkxhdW5jaGVyX0xJQlJBUklFUyAke0NV
UkxfTElCUkFSSUVTfSkKLSAgTElTVChBUFBFTkQgRVdlYkxhdW5jaGVyX0xJTktfRkxBR1MgJHtD
VVJMX0xERkxBR1N9KQotRU5ESUYgKCkKLQotIyBPdmVycmlkZSBkYXRhIGRpcmVjdG9yeS4gV2Ug
YWx3YXlzIHdhbnQgdG8gZ2V0IGEgZnJlc2ggdGhlbWUuCi1SRU1PVkVfREVGSU5JVElPTlMoLURE
QVRBX0RJUj1cIiR7REFUQV9ESVJ9XCIpCi1BRERfREVGSU5JVElPTlMoLUREQVRBX0RJUj1cIiR7
QlVJTERfREFUQV9ESVJ9XCIpCi0KLUlOQ0xVREVfRElSRUNUT1JJRVMoJHtFV2ViTGF1bmNoZXJf
SU5DTFVERV9ESVJFQ1RPUklFU30pCi1BRERfRVhFQ1VUQUJMRShQcm9ncmFtcy9FV2ViTGF1bmNo
ZXIgJHtFV2ViTGF1bmNoZXJfU09VUkNFU30pCi1UQVJHRVRfTElOS19MSUJSQVJJRVMoUHJvZ3Jh
bXMvRVdlYkxhdW5jaGVyICR7RVdlYkxhdW5jaGVyX0xJQlJBUklFU30pCi1BRERfVEFSR0VUX1BS
T1BFUlRJRVMoUHJvZ3JhbXMvRVdlYkxhdW5jaGVyIExJTktfRkxBR1MgIiR7RVdlYkxhdW5jaGVy
X0xJTktfRkxBR1N9IikKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCA2NTYxZGJhYmUyNjM0OThkY2EzZGQ0OThlZTBhODA0YzZiYzRiNGQwLi40NmYz
ZTEwMWU0YjE4NGIxYjA3Yzg0MzY0NWIwMGM0NjhhNzUzNWRjIDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTEtMDYt
MjcgIFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtFRkxdW1dLMl0gQWRkIE1pbmlCcm93
c2VyRWZsLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjE4NTAKKworICAgICAgICBJbXBsZW1lbnQgTWluaUJyb3dzZXIgZm9yIEVGTCBhbmQgbW92ZWQg
Y29uZmlndXJhdGlvbnMgb2YgRVdlYkxhdW5jaGVyLgorCisgICAgICAgICogQ01ha2VMaXN0c0Vm
bC50eHQ6CisgICAgICAgICogRVdlYkxhdW5jaGVyL0NNYWtlTGlzdHMudHh0OiBDb3BpZWQgZnJv
bSBUb29scy9DTWFrZUxpc3RzRWZsLnR4dC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9lZmwvQ01h
a2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWluLmM6IEFk
ZGVkLgorICAgICAgICAobWFpbl9zaWduYWxfZXhpdCk6CisgICAgICAgIChicm93c2VyQ3JlYXRl
KToKKyAgICAgICAgKG1haW4pOgorCiAyMDExLTA2LTI3ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZmIC0tZ2l0IGEv
VG9vbHMvRVdlYkxhdW5jaGVyL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvRVdlYkxhdW5jaGVyL0NN
YWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0ZWY4NWMxM2Y0OTc3ODNmMzQzY2QyMjc4MmFiODQ2
NTM0MTY1NWYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9FV2ViTGF1bmNoZXIvQ01ha2VMaXN0
cy50eHQKQEAgLTAsMCArMSw1OSBAQAorU0VUKEVXZWJMYXVuY2hlcl9TT1VSQ0VTCisgICAgJHtU
T09MU19ESVJ9L0VXZWJMYXVuY2hlci9tYWluLmMKKykKKworU0VUKEVXZWJMYXVuY2hlcl9MSUJS
QVJJRVMKKyAgICAke0phdmFTY3JpcHRDb3JlX0xJQlJBUllfTkFNRX0KKyAgICAke1dlYkNvcmVf
TElCUkFSWV9OQU1FfQorICAgICR7V2ViS2l0X0xJQlJBUllfTkFNRX0KKyAgICAke0NhaXJvX0xJ
QlJBUklFU30KKyAgICAke0VDT1JFX1hfTElCUkFSSUVTfQorICAgICR7RURKRV9MSUJSQVJJRVN9
CisgICAgJHtFRkxERVBTX0xJQlJBUklFU30KKyAgICAke0VWQVNfTElCUkFSSUVTfQorICAgICR7
TElCWE1MMl9MSUJSQVJJRVN9CisgICAgJHtMSUJYU0xUX0xJQlJBUklFU30KKyAgICAke1NRTElU
RV9MSUJSQVJJRVN9CispCisKK1NFVChFV2ViTGF1bmNoZXJfSU5DTFVERV9ESVJFQ1RPUklFUwor
ICAgICIke1dFQktJVF9ESVJ9L2VmbC9ld2siCisgICAgJHtDYWlyb19JTkNMVURFX0RJUlN9Cisg
ICAgJHtFREpFX0lOQ0xVREVfRElSU30KKyAgICAke0VGTERFUFNfSU5DTFVERV9ESVJTfQorICAg
ICR7RVZBU19JTkNMVURFX0RJUlN9CispCisKK1NFVChFV2ViTGF1bmNoZXJfTElOS19GTEFHUwor
ICAgICR7RUNPUkVfWF9MREZMQUdTfQorICAgICR7RURKRV9MREZMQUdTfQorICAgICR7RUZMREVQ
U19MREZMQUdTfQorICAgICR7RVZBU19MREZMQUdTfQorKQorCitJRiAoRU5BQkxFX0dMSUJfU1VQ
UE9SVCkKKyAgTElTVChBUFBFTkQgRVdlYkxhdW5jaGVyX0xJQlJBUklFUworICAgICR7R2RrX0xJ
QlJBUklFU30KKyAgICAke0dsaWJfTElCUkFSSUVTfQorICAgICR7R3RocmVhZF9MSUJSQVJJRVN9
CisgICkKK0VORElGICgpCisKK0lGIChXVEZfVVNFX1NPVVApCisgIExJU1QoQVBQRU5EIEVXZWJM
YXVuY2hlcl9MSUJSQVJJRVMgJHtMSUJTT1VQMjRfTElCUkFSSUVTfSkKKyAgTElTVChBUFBFTkQg
RVdlYkxhdW5jaGVyX0xJTktfRkxBR1MgJHtMSUJTT1VQMjRfTERGTEFHU30pCitFTkRJRiAoKQor
CitJRiAoV1RGX1VTRV9DVVJMKQorICBMSVNUKEFQUEVORCBFV2ViTGF1bmNoZXJfTElCUkFSSUVT
ICR7Q1VSTF9MSUJSQVJJRVN9KQorICBMSVNUKEFQUEVORCBFV2ViTGF1bmNoZXJfTElOS19GTEFH
UyAke0NVUkxfTERGTEFHU30pCitFTkRJRiAoKQorCisjIE92ZXJyaWRlIGRhdGEgZGlyZWN0b3J5
LiBXZSBhbHdheXMgd2FudCB0byBnZXQgYSBmcmVzaCB0aGVtZS4KK1JFTU9WRV9ERUZJTklUSU9O
UygtRERBVEFfRElSPVwiJHtEQVRBX0RJUn1cIikKK0FERF9ERUZJTklUSU9OUygtRERBVEFfRElS
PVwiJHtCVUlMRF9EQVRBX0RJUn1cIikKKworSU5DTFVERV9ESVJFQ1RPUklFUygke0VXZWJMYXVu
Y2hlcl9JTkNMVURFX0RJUkVDVE9SSUVTfSkKK0FERF9FWEVDVVRBQkxFKFByb2dyYW1zL0VXZWJM
YXVuY2hlciAke0VXZWJMYXVuY2hlcl9TT1VSQ0VTfSkKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhQ
cm9ncmFtcy9FV2ViTGF1bmNoZXIgJHtFV2ViTGF1bmNoZXJfTElCUkFSSUVTfSkKK0FERF9UQVJH
RVRfUFJPUEVSVElFUyhQcm9ncmFtcy9FV2ViTGF1bmNoZXIgTElOS19GTEFHUyAiJHtFV2ViTGF1
bmNoZXJfTElOS19GTEFHU30iKQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NN
YWtlTGlzdHMudHh0IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmI0MWI3NzRhNTkwNGU0YTY5NDcyN2NkMzU0YTAyNmI2NGI5NjZjNTYKLS0tIC9kZXYv
bnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCAr
MSw3OCBAQAorU0VUKE1pbmlCcm93c2VyX0RJUiAiJHtUT09MU19ESVJ9L01pbmlCcm93c2VyL2Vm
bCIpCisKK1NFVChNaW5pQnJvd3Nlcl9TT1VSQ0VTCisgICAgJHtNaW5pQnJvd3Nlcl9ESVJ9L21h
aW4uYworKQorCitTRVQoTWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RPUklFUworICAgICR7Q2Fp
cm9fSU5DTFVERV9ESVJTfQorICAgICR7RUNPUkVfWF9JTkNMVURFX0RJUlN9CisgICAgJHtFREpF
X0lOQ0xVREVfRElSU30KKyAgICAke0VGTERFUFNfSU5DTFVERV9ESVJTfQorICAgICR7RVZBU19J
TkNMVURFX0RJUlN9CisgICAgJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwKKyAgICAk
e1dFQktJVDJfRElSfQorICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9pbmNsdWRl
CisgICAgJHtDTUFLRV9TT1VSQ0VfRElSfQorKQorCitJRiAoRU5BQkxFX0dMSUJfU1VQUE9SVCkK
KyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSUJSQVJJRVMKKyAgICAgICAgJHtHZGtfTElC
UkFSSUVTfQorICAgICAgICAke0dsaWJfTElCUkFSSUVTfQorICAgICAgICAke0d0aHJlYWRfTElC
UkFSSUVTfQorICAgICkKK0VORElGICgpCisKK1NFVChNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdTCisg
ICAgJHtFQ09SRV9YX0xERkxBR1N9CisgICAgJHtFREpFX0xERkxBR1N9CisgICAgJHtFRkxERVBT
X0xERkxBR1N9CisgICAgJHtFVkFTX0xERkxBR1N9CispCisKK0lGIChXVEZfVVNFX1NPVVApCisg
ICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElCUkFSSUVTICR7TElCU09VUDI0X0xJQlJBUklF
U30pCisgICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElOS19GTEFHUyAke0xJQlNPVVAyNF9M
REZMQUdTfSkKK0VORElGICgpCisKK0lGIChXVEZfVVNFX0NVUkwpCisgICAgTElTVChBUFBFTkQg
TWluaUJyb3dzZXJfTElCUkFSSUVTICR7Q1VSTF9MSUJSQVJJRVN9KQorICAgIExJU1QoQVBQRU5E
IE1pbmlCcm93c2VyX0xJTktfRkxBR1MgJHtDVVJMX0xERkxBR1N9KQorRU5ESUYgKCkKKworU0VU
KE1pbmlCcm93c2VyX0xJQlJBUklFUworICAgICR7SmF2YVNjcmlwdENvcmVfTElCUkFSWV9OQU1F
fQorICAgICR7V2ViQ29yZV9MSUJSQVJZX05BTUV9CisgICAgJHtXZWJLaXRfTElCUkFSWV9OQU1F
fQorICAgICR7Q2Fpcm9fTElCUkFSSUVTfQorICAgICR7RUNPUkVfWF9MSUJSQVJJRVN9CisgICAg
JHtFREpFX0xJQlJBUklFU30KKyAgICAke0VGTERFUFNfTElCUkFSSUVTfQorICAgICR7RVZBU19M
SUJSQVJJRVN9CisgICAgJHtMSUJYTUwyX0xJQlJBUklFU30KKyAgICAke0xJQlhTTFRfTElCUkFS
SUVTfQorICAgICR7U1FMSVRFX0xJQlJBUklFU30KKykKKworQUREX0NVU1RPTV9UQVJHRVQoZm9y
d2FyZGluZy1oZWFkZXJNaW5pQnJvd3NlckVmbAorICAgIENPTU1BTkQgJHtQRVJMX0VYRUNVVEFC
TEV9ICR7V0VCS0lUMl9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBs
ICR7TWluaUJyb3dzZXJfRElSfSAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVk
ZSBlZmwKKykKKworSUYgKFdURl9VU0VfU09VUCkKKyAgICBBRERfQ1VTVE9NX1RBUkdFVChmb3J3
YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyU291cAorICAgICAgICBDT01NQU5EICR7UEVSTF9FWEVD
VVRBQkxFfSAke1dFQktJVDJfRElSfS9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVy
cy5wbCAke01pbmlCcm93c2VyX0RJUn0gJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2lu
Y2x1ZGUgc291cAorICAgICkKK0VORElGICgpCisKK0lOQ0xVREVfRElSRUNUT1JJRVMoJHtNaW5p
QnJvd3Nlcl9JTkNMVURFX0RJUkVDVE9SSUVTfSkKK0FERF9FWEVDVVRBQkxFKFByb2dyYW1zL01p
bmlCcm93c2VyICR7TWluaUJyb3dzZXJfU09VUkNFU30pCitUQVJHRVRfTElOS19MSUJSQVJJRVMo
UHJvZ3JhbXMvTWluaUJyb3dzZXIgJHtNaW5pQnJvd3Nlcl9MSUJSQVJJRVN9KQorCitBRERfREVQ
RU5ERU5DSUVTKFByb2dyYW1zL01pbmlCcm93c2VyIGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dz
ZXJFZmwpCisKK0lGIChXVEZfVVNFX1NPVVApCisgICAgQUREX0RFUEVOREVOQ0lFUyhQcm9ncmFt
cy9NaW5pQnJvd3NlciBmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyU291cCkKK0VORElGICgp
CisKK0FERF9UQVJHRVRfUFJPUEVSVElFUyhQcm9ncmFtcy9NaW5pQnJvd3NlciBMSU5LX0ZMQUdT
ICIke01pbmlCcm93c2VyX0xJTktfRkxBR1N9IikKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93
c2VyL2VmbC9tYWluLmMgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmJlZDZlZjkzZGJmNDA0MGJjNjhmODZhZjNiODJlMmE4ZTM5YTY4ZmMKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCkBAIC0wLDAgKzEsMTA0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIFNhbXN1bmcgRWxlY3Ryb25pY3MKKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiZXdrX3ZpZXcu
aCIKKyNpbmNsdWRlIDxFY29yZS5oPgorI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KKyNpbmNsdWRl
IDxFY29yZV9HZXRvcHQuaD4KKyNpbmNsdWRlIDxFY29yZV9YLmg+CisjaW5jbHVkZSA8RXZhcy5o
PgorCisjZGVmaW5lIERFRkFVTFRfV0lEVEggICAgICA4MDAKKyNkZWZpbmUgREVGQVVMVF9IRUlH
SFQgICAgIDYwMAorCit0eXBlZGVmIHN0cnVjdCBfTWluaUJyb3dzZXIgeworICAgIEVjb3JlX0V2
YXMgKmVlOworICAgIEV2YXMgKmV2YXM7CisgICAgRXZhc19PYmplY3QgKmJnOworICAgIEV2YXNf
T2JqZWN0ICpicm93c2VyOworfSBNaW5pQnJvd3NlcjsKKworc3RhdGljIEVpbmFfQm9vbCBtYWlu
X3NpZ25hbF9leGl0KHZvaWQgKmRhdGEsIGludCBldl90eXBlLCB2b2lkICpldikKK3sKKyAgICBl
Y29yZV9tYWluX2xvb3BfcXVpdCgpOworICAgIHJldHVybiBFSU5BX1RSVUU7Cit9CisKK3N0YXRp
YyBFaW5hX0Jvb2wgYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNoYXIgKmVu
Z2luZSkKK3sKKyAgICBNaW5pQnJvd3NlciAqYXBwID0gKE1pbmlCcm93c2VyKikgbWFsbG9jKHNp
emVvZihNaW5pQnJvd3NlcikpOworCisgICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNfbmV3KGVuZ2lu
ZSwgMCwgMCwgREVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQsIE5VTEwpOworCisgICAgZWNv
cmVfZXZhc190aXRsZV9zZXQoYXBwLT5lZSwgIkVGTCBNaW5pQnJvd3NlciIpOworICAgIGVjb3Jl
X2V2YXNfYm9yZGVybGVzc19zZXQoYXBwLT5lZSwgMCk7CisgICAgZWNvcmVfZXZhc19zaG93KGFw
cC0+ZWUpOworCisgICAgYXBwLT5ldmFzID0gZWNvcmVfZXZhc19nZXQoYXBwLT5lZSk7CisKKyAg
ICBhcHAtPmJnID0gZXZhc19vYmplY3RfcmVjdGFuZ2xlX2FkZChhcHAtPmV2YXMpOworICAgIGV2
YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRfc2V0KGFwcC0+YmcsIEVWQVNfSElOVF9FWFBBTkQs
IEVWQVNfSElOVF9FWFBBTkQpOworCisgICAgZXZhc19vYmplY3RfbW92ZShhcHAtPmJnLCAwLCAw
KTsKKyAgICBldmFzX29iamVjdF9yZXNpemUoYXBwLT5iZywgREVGQVVMVF9XSURUSCwgREVGQVVM
VF9IRUlHSFQpOworICAgIGV2YXNfb2JqZWN0X2NvbG9yX3NldChhcHAtPmJnLCAyNTUsIDE1MCwg
MTUwLCAyNTUpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwLT5iZyk7CisKKyAgICAvKiBDcmVh
dGUgd2VidmlldyAqLworICAgIGFwcC0+YnJvd3NlciA9IGV3a192aWV3X2FkZChhcHAtPmV2YXMs
IFdLQ29udGV4dEdldFNoYXJlZFByb2Nlc3NDb250ZXh0KCksIDApOworICAgIGV2YXNfb2JqZWN0
X3NpemVfaGludF93ZWlnaHRfc2V0KGFwcC0+YnJvd3NlciwgRVZBU19ISU5UX0VYUEFORCwgRVZB
U19ISU5UX0VYUEFORCk7CisgICAgZXZhc19vYmplY3RfcmVzaXplKGFwcC0+YnJvd3NlciwgREVG
QVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwLT5i
cm93c2VyKTsKKworICAgIFdLUGFnZUxvYWRVUkwoZXdrX3ZpZXdfcGFnZV9nZXQoYXBwLT5icm93
c2VyKSwgV0tVUkxDcmVhdGVXaXRoVVRGOENTdHJpbmcodXJsKSk7CisKKyAgICByZXR1cm4gRUlO
QV9UUlVFOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworICAgIGNv
bnN0IGNoYXIgKmRlZmF1bHRfdXJsID0gImh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iOworCisgICAg
Y2hhciAqdXJsOworICAgIGNoYXIgKmVuZ2luZSA9IE5VTEw7CisgICAgaW50IGFyZ3MgPSAxOwor
CisgICAgaWYgKCFlY29yZV9ldmFzX2luaXQoKSkKKyAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVS
RTsKKworICAgIGlmIChhcmdzIDwgYXJnYykKKyAgICAgICAgdXJsID0gYXJndlthcmdzXTsKKyAg
ICBlbHNlCisgICAgICAgIHVybCA9IChjaGFyKikgZGVmYXVsdF91cmw7CisKKyAgICBicm93c2Vy
Q3JlYXRlKHVybCwgZW5naW5lKTsKKworICAgIGVjb3JlX2V2ZW50X2hhbmRsZXJfYWRkKEVDT1JF
X0VWRU5UX1NJR05BTF9FWElULCBtYWluX3NpZ25hbF9leGl0LCBOVUxMKTsKKworICAgIGVjb3Jl
X21haW5fbG9vcF9iZWdpbigpOworCisgICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOworCisgICAg
cmV0dXJuIDA7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120781</attachid>
            <date>2011-12-29 22:46:02 -0800</date>
            <delta_ts>2012-01-01 20:24:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20111230154600.patch</filename>
            <type>text/plain</type>
            <size>7231</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzODM2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTViNzIyZDk0NjU1NDZjYzc2MjZiNjY2YWRmMjQ1MWNi
MGRjYzAzOC4uN2Y5ZDkwYmFlZDFiMTAzYTAzNGZlMjBkNTgxN2FjODA2YjdjMjU5NCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDExLTEyLTI5ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbRUZMXVtXSzJdIEFkZCBNaW5pQnJvd3NlckVmbC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IE1pbmlCcm93c2VyIGZvciBF
RkwuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9l
ZmwvQ01ha2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWlu
LmM6IEFkZGVkLgorICAgICAgICAobWFpbl9zaWduYWxfZXhpdCk6CisgICAgICAgIChicm93c2Vy
Q3JlYXRlKToKKyAgICAgICAgKG1haW4pOgorCiAyMDExLTEyLTI5ICBEYW4gQmVybnN0ZWluICA8
bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgZGVidWctc2FmYXJpIC0tbm8tc2F2ZWQtc3RhdGUg
ZmFpbHMgdG8gc3RhcnQgdGhlIGRlYnVnZ2VyCmRpZmYgLS1naXQgYS9Ub29scy9DTWFrZUxpc3Rz
LnR4dCBiL1Rvb2xzL0NNYWtlTGlzdHMudHh0CmluZGV4IGRjY2YwMjNkMTMzYjBlODRhNjY1OTRk
NmMwMTUzNTUzODE1MzdiNjIuLjUyODc1MWEzMjkyZGQzMWJkNjQxNDA0ZjFkYjJhZDAzN2Y2ODg0
MDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NNYWtlTGlzdHMudHh0CisrKyBiL1Rvb2xzL0NNYWtlTGlz
dHMudHh0CkBAIC0xLDYgKzEsMTEgQEAKIElGICgiJHtQT1JUfSIgU1RSRVFVQUwgIkVmbCIpCi0g
ICAgQUREX1NVQkRJUkVDVE9SWShEdW1wUmVuZGVyVHJlZS9lZmwpCi0gICAgQUREX1NVQkRJUkVD
VE9SWShFV2ViTGF1bmNoZXIpCisgICAgSUYgKEVOQUJMRV9XRUJLSVQpCisgICAgICAgIEFERF9T
VUJESVJFQ1RPUlkoRHVtcFJlbmRlclRyZWUvZWZsKQorICAgICAgICBBRERfU1VCRElSRUNUT1JZ
KEVXZWJMYXVuY2hlcikKKyAgICBFTkRJRiAoKQorICAgIElGIChFTkFCTEVfV0VCS0lUMikKKyAg
ICAgICAgQUREX1NVQkRJUkVDVE9SWShNaW5pQnJvd3Nlci9lZmwpCisgICAgRU5ESUYgKCkKIEVM
U0VJRiAoIiR7UE9SVH0iIFNUUkVRVUFMICJXaW5DRSIpCiAgICAgQUREX1NVQkRJUkVDVE9SWShX
aW5DRUxhdW5jaGVyKQogRU5ESUYoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZs
L0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY4NjQ5YjBkYzZlZjdlNjA0YmQ5MDIxYThhYzAxZGUxMjJmZjg1YTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKQEAgLTAs
MCArMSw3OSBAQAorU0VUKE1pbmlCcm93c2VyX0RJUiAiJHtUT09MU19ESVJ9L01pbmlCcm93c2Vy
L2VmbCIpCisKK1NFVChNaW5pQnJvd3Nlcl9TT1VSQ0VTCisgICAgJHtNaW5pQnJvd3Nlcl9ESVJ9
L21haW4uYworKQorCitTRVQoTWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RPUklFUworICAgICR7
Q2Fpcm9fSU5DTFVERV9ESVJTfQorICAgICR7RUNPUkVfWF9JTkNMVURFX0RJUlN9CisgICAgJHtF
REpFX0lOQ0xVREVfRElSU30KKyAgICAke0VGTERFUFNfSU5DTFVERV9ESVJTfQorICAgICR7RVZB
U19JTkNMVURFX0RJUlN9CisgICAgJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwKKyAg
ICAke1dFQktJVDJfRElSfQorICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9pbmNs
dWRlCisgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UKKyAgICAke0NNQUtFX1NPVVJDRV9E
SVJ9CispCisKK0lGIChFTkFCTEVfR0xJQl9TVVBQT1JUKQorICAgIExJU1QoQVBQRU5EIE1pbmlC
cm93c2VyX0xJQlJBUklFUworICAgICAgICAke0dsaWJfTElCUkFSSUVTfQorICAgICAgICAke0d0
aHJlYWRfTElCUkFSSUVTfQorICAgICkKK0VORElGICgpCisKK1NFVChNaW5pQnJvd3Nlcl9MSU5L
X0ZMQUdTCisgICAgJHtFQ09SRV9YX0xERkxBR1N9CisgICAgJHtFREpFX0xERkxBR1N9CisgICAg
JHtFRkxERVBTX0xERkxBR1N9CisgICAgJHtFVkFTX0xERkxBR1N9CispCisKK0lGIChXVEZfVVNF
X1NPVVApCisgICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElCUkFSSUVTICR7TElCU09VUDI0
X0xJQlJBUklFU30pCisgICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElOS19GTEFHUyAke0xJ
QlNPVVAyNF9MREZMQUdTfSkKK0VORElGICgpCisKK0lGIChXVEZfVVNFX0NVUkwpCisgICAgTElT
VChBUFBFTkQgTWluaUJyb3dzZXJfTElCUkFSSUVTICR7Q1VSTF9MSUJSQVJJRVN9KQorICAgIExJ
U1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJTktfRkxBR1MgJHtDVVJMX0xERkxBR1N9KQorRU5ESUYg
KCkKKworU0VUKE1pbmlCcm93c2VyX0xJQlJBUklFUworICAgICR7SmF2YVNjcmlwdENvcmVfTElC
UkFSWV9OQU1FfQorICAgICR7V2ViQ29yZV9MSUJSQVJZX05BTUV9CisgICAgJHtXZWJLaXQyX0xJ
QlJBUllfTkFNRX0KKyAgICAke0NhaXJvX0xJQlJBUklFU30KKyAgICAke0VDT1JFX1hfTElCUkFS
SUVTfQorICAgICR7RURKRV9MSUJSQVJJRVN9CisgICAgJHtFRkxERVBTX0xJQlJBUklFU30KKyAg
ICAke0VWQVNfTElCUkFSSUVTfQorICAgICR7TElCWE1MMl9MSUJSQVJJRVN9CisgICAgJHtMSUJY
U0xUX0xJQlJBUklFU30KKyAgICAke1NRTElURV9MSUJSQVJJRVN9CispCisKK0FERF9DVVNUT01f
VEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJFZmwKKyAgICBDT01NQU5EICR7UEVS
TF9FWEVDVVRBQkxFfSAke1dFQktJVDJfRElSfS9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmct
aGVhZGVycy5wbCAke01pbmlCcm93c2VyX0RJUn0gJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9E
SVJ9L2luY2x1ZGUgZWZsCispCisKK0lGIChXVEZfVVNFX1NPVVApCisgICAgQUREX0NVU1RPTV9U
QVJHRVQoZm9yd2FyZGluZy1oZWFkZXJNaW5pQnJvd3NlclNvdXAKKyAgICAgICAgQ09NTUFORCAk
e1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0vU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJk
aW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJ
VDJfRElSfS9pbmNsdWRlIHNvdXAKKyAgICApCitFTkRJRiAoKQorCitJTkNMVURFX0RJUkVDVE9S
SUVTKCR7TWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RPUklFU30pCitBRERfRVhFQ1VUQUJMRShQ
cm9ncmFtcy9NaW5pQnJvd3NlciAke01pbmlCcm93c2VyX1NPVVJDRVN9KQorVEFSR0VUX0xJTktf
TElCUkFSSUVTKFByb2dyYW1zL01pbmlCcm93c2VyICR7TWluaUJyb3dzZXJfTElCUkFSSUVTfSkK
KworQUREX0RFUEVOREVOQ0lFUyhQcm9ncmFtcy9NaW5pQnJvd3NlciBmb3J3YXJkaW5nLWhlYWRl
ck1pbmlCcm93c2VyRWZsKQorCitJRiAoV1RGX1VTRV9TT1VQKQorICAgIEFERF9ERVBFTkRFTkNJ
RVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgZm9yd2FyZGluZy1oZWFkZXJNaW5pQnJvd3NlclNvdXAp
CitFTkRJRiAoKQorCitBRERfVEFSR0VUX1BST1BFUlRJRVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIg
TElOS19GTEFHUyAiJHtNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdTfSIpCitTRVRfVEFSR0VUX1BST1BF
UlRJRVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgUFJPUEVSVElFUyBSVU5USU1FX09VVFBVVF9ESVJF
Q1RPUlkgIiR7Q01BS0VfQklOQVJZX0RJUn0iKQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dz
ZXIvZWZsL21haW4uYyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzY3YTRiY2MyMzlmMGRmZjFkMzQyNzhmYmJhMTRlNDU0MTNkZTRmZQotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKQEAgLTAsMCArMSw5OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCisgKgorICogIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0x
MzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiZXdrX3ZpZXcuaCIKKyNpbmNsdWRlIDxFY29yZS5o
PgorI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KKyNpbmNsdWRlIDxFY29yZV9HZXRvcHQuaD4KKyNp
bmNsdWRlIDxFY29yZV9YLmg+CisjaW5jbHVkZSA8RXZhcy5oPgorCisjZGVmaW5lIERFRkFVTFRf
V0lEVEggICAgICA4MDAKKyNkZWZpbmUgREVGQVVMVF9IRUlHSFQgICAgIDYwMAorCit0eXBlZGVm
IHN0cnVjdCBfTWluaUJyb3dzZXIgeworICAgIEVjb3JlX0V2YXMgKmVlOworICAgIEV2YXMgKmV2
YXM7CisgICAgRXZhc19PYmplY3QgKmJnOworICAgIEV2YXNfT2JqZWN0ICpicm93c2VyOworfSBN
aW5pQnJvd3NlcjsKKworc3RhdGljIEVpbmFfQm9vbCBtYWluX3NpZ25hbF9leGl0KHZvaWQgKmRh
dGEsIGludCBldl90eXBlLCB2b2lkICpldikKK3sKKyAgICBlY29yZV9tYWluX2xvb3BfcXVpdCgp
OworICAgIHJldHVybiBFSU5BX1RSVUU7Cit9CisKK3N0YXRpYyBFaW5hX0Jvb2wgYnJvd3NlckNy
ZWF0ZShjb25zdCBjaGFyICp1cmwsIGNvbnN0IGNoYXIgKmVuZ2luZSkKK3sKKyAgICBNaW5pQnJv
d3NlciAqYXBwID0gKE1pbmlCcm93c2VyKikgbWFsbG9jKHNpemVvZihNaW5pQnJvd3NlcikpOwor
CisgICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNfbmV3KGVuZ2luZSwgMCwgMCwgREVGQVVMVF9XSURU
SCwgREVGQVVMVF9IRUlHSFQsIE5VTEwpOworCisgICAgZWNvcmVfZXZhc190aXRsZV9zZXQoYXBw
LT5lZSwgIkVGTCBNaW5pQnJvd3NlciIpOworICAgIGVjb3JlX2V2YXNfYm9yZGVybGVzc19zZXQo
YXBwLT5lZSwgMCk7CisgICAgZWNvcmVfZXZhc19zaG93KGFwcC0+ZWUpOworCisgICAgYXBwLT5l
dmFzID0gZWNvcmVfZXZhc19nZXQoYXBwLT5lZSk7CisKKyAgICBhcHAtPmJnID0gZXZhc19vYmpl
Y3RfcmVjdGFuZ2xlX2FkZChhcHAtPmV2YXMpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93
ZWlnaHRfc2V0KGFwcC0+YmcsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOwor
CisgICAgZXZhc19vYmplY3RfbW92ZShhcHAtPmJnLCAwLCAwKTsKKyAgICBldmFzX29iamVjdF9y
ZXNpemUoYXBwLT5iZywgREVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQpOworICAgIGV2YXNf
b2JqZWN0X2NvbG9yX3NldChhcHAtPmJnLCAyNTUsIDE1MCwgMTUwLCAyNTUpOworICAgIGV2YXNf
b2JqZWN0X3Nob3coYXBwLT5iZyk7CisKKyAgICAvKiBDcmVhdGUgd2VidmlldyAqLworICAgIGFw
cC0+YnJvd3NlciA9IGV3a192aWV3X2FkZChhcHAtPmV2YXMsIFdLQ29udGV4dEdldFNoYXJlZFBy
b2Nlc3NDb250ZXh0KCksIDApOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRfc2V0
KGFwcC0+YnJvd3NlciwgRVZBU19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VYUEFORCk7CisgICAg
ZXZhc19vYmplY3RfcmVzaXplKGFwcC0+YnJvd3NlciwgREVGQVVMVF9XSURUSCwgREVGQVVMVF9I
RUlHSFQpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwLT5icm93c2VyKTsKKworICAgIFdLUGFn
ZUxvYWRVUkwoZXdrX3ZpZXdfcGFnZV9nZXQoYXBwLT5icm93c2VyKSwgV0tVUkxDcmVhdGVXaXRo
VVRGOENTdHJpbmcodXJsKSk7CisKKyAgICByZXR1cm4gRUlOQV9UUlVFOworfQorCitpbnQgbWFp
bihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworICAgIGNvbnN0IGNoYXIgKmRlZmF1bHRfdXJs
ID0gImh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iOworCisgICAgY2hhciAqdXJsOworICAgIGNoYXIg
KmVuZ2luZSA9IE5VTEw7CisgICAgaW50IGFyZ3MgPSAxOworCisgICAgaWYgKCFlY29yZV9ldmFz
X2luaXQoKSkKKyAgICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworICAgIGlmIChhcmdzIDwg
YXJnYykKKyAgICAgICAgdXJsID0gYXJndlthcmdzXTsKKyAgICBlbHNlCisgICAgICAgIHVybCA9
IChjaGFyKikgZGVmYXVsdF91cmw7CisKKyAgICBicm93c2VyQ3JlYXRlKHVybCwgZW5naW5lKTsK
KworICAgIGVjb3JlX2V2ZW50X2hhbmRsZXJfYWRkKEVDT1JFX0VWRU5UX1NJR05BTF9FWElULCBt
YWluX3NpZ25hbF9leGl0LCBOVUxMKTsKKworICAgIGVjb3JlX21haW5fbG9vcF9iZWdpbigpOwor
CisgICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOworCisgICAgcmV0dXJuIDA7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120857</attachid>
            <date>2012-01-01 20:25:02 -0800</date>
            <delta_ts>2012-01-01 20:40:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20120102132502.patch</filename>
            <type>text/plain</type>
            <size>7123</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzODg5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTg3ZDI5NGFjY2NkMzQ0M2E0NGE2Y2M1MjUxMjFiZGM1
Nzc4MTQ0OC4uOTNkNTE4YmNmZjdiNjQxMGJlNjkyYTAwZGMxMTFkZTNjZDExMTM5MSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTAxLTAxICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbRUZMXVtXSzJdIEFkZCBNaW5pQnJvd3NlckVmbC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IE1pbmlCcm93c2VyIGZvciBF
RkwuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9l
ZmwvQ01ha2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWlu
LmM6IEFkZGVkLgorICAgICAgICAobWFpbl9zaWduYWxfZXhpdCk6CisgICAgICAgIChicm93c2Vy
Q3JlYXRlKToKKyAgICAgICAgKG1haW4pOgorCiAyMDExLTEyLTMxICBEYW4gQmVybnN0ZWluICA8
bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgTWluaUJyb3dzZXIgc2V0cyB0aGUgV0tWaWV34oCZ
cyBmcmFtZSBpbmNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ01ha2VMaXN0cy50eHQgYi9U
b29scy9DTWFrZUxpc3RzLnR4dAppbmRleCBkY2NmMDIzZDEzM2IwZTg0YTY2NTk0ZDZjMDE1MzU1
MzgxNTM3YjYyLi41Mjg3NTFhMzI5MmRkMzFiZDY0MTQwNGYxZGIyYWQwMzdmNjg4NDA0IDEwMDY0
NAotLS0gYS9Ub29scy9DTWFrZUxpc3RzLnR4dAorKysgYi9Ub29scy9DTWFrZUxpc3RzLnR4dApA
QCAtMSw2ICsxLDExIEBACiBJRiAoIiR7UE9SVH0iIFNUUkVRVUFMICJFZmwiKQotICAgIEFERF9T
VUJESVJFQ1RPUlkoRHVtcFJlbmRlclRyZWUvZWZsKQotICAgIEFERF9TVUJESVJFQ1RPUlkoRVdl
YkxhdW5jaGVyKQorICAgIElGIChFTkFCTEVfV0VCS0lUKQorICAgICAgICBBRERfU1VCRElSRUNU
T1JZKER1bXBSZW5kZXJUcmVlL2VmbCkKKyAgICAgICAgQUREX1NVQkRJUkVDVE9SWShFV2ViTGF1
bmNoZXIpCisgICAgRU5ESUYgKCkKKyAgICBJRiAoRU5BQkxFX1dFQktJVDIpCisgICAgICAgIEFE
RF9TVUJESVJFQ1RPUlkoTWluaUJyb3dzZXIvZWZsKQorICAgIEVORElGICgpCiBFTFNFSUYgKCIk
e1BPUlR9IiBTVFJFUVVBTCAiV2luQ0UiKQogICAgIEFERF9TVUJESVJFQ1RPUlkoV2luQ0VMYXVu
Y2hlcikKIEVORElGKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxp
c3RzLnR4dCBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jZmFkMzZmZjA3MWRmYTZkZWE1NWQ0YmUxYmQ3ZmJlN2M5ZTQ4NjFmCi0tLSAvZGV2L251bGwK
KysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNzgg
QEAKK1NFVChNaW5pQnJvd3Nlcl9ESVIgIiR7VE9PTFNfRElSfS9NaW5pQnJvd3Nlci9lZmwiKQor
CitTRVQoTWluaUJyb3dzZXJfU09VUkNFUworICAgICR7TWluaUJyb3dzZXJfRElSfS9tYWluLmMK
KykKKworU0VUKE1pbmlCcm93c2VyX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAke0NhaXJvX0lO
Q0xVREVfRElSU30KKyAgICAke0VDT1JFX1hfSU5DTFVERV9ESVJTfQorICAgICR7RURKRV9JTkNM
VURFX0RJUlN9CisgICAgJHtFRkxERVBTX0lOQ0xVREVfRElSU30KKyAgICAke0VWQVNfSU5DTFVE
RV9ESVJTfQorICAgICR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsCisgICAgJHtXRUJL
SVQyX0RJUn0KKyAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVkZQorICAg
ICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlCispCisKK0lGIChFTkFCTEVfR0xJQl9TVVBQT1JU
KQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJQlJBUklFUworICAgICAgICAke0dsaWJf
TElCUkFSSUVTfQorICAgICAgICAke0d0aHJlYWRfTElCUkFSSUVTfQorICAgICkKK0VORElGICgp
CisKK1NFVChNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdTCisgICAgJHtFQ09SRV9YX0xERkxBR1N9Cisg
ICAgJHtFREpFX0xERkxBR1N9CisgICAgJHtFRkxERVBTX0xERkxBR1N9CisgICAgJHtFVkFTX0xE
RkxBR1N9CispCisKK0lGIChXVEZfVVNFX1NPVVApCisgICAgTElTVChBUFBFTkQgTWluaUJyb3dz
ZXJfTElCUkFSSUVTICR7TElCU09VUDI0X0xJQlJBUklFU30pCisgICAgTElTVChBUFBFTkQgTWlu
aUJyb3dzZXJfTElOS19GTEFHUyAke0xJQlNPVVAyNF9MREZMQUdTfSkKK0VORElGICgpCisKK0lG
IChXVEZfVVNFX0NVUkwpCisgICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElCUkFSSUVTICR7
Q1VSTF9MSUJSQVJJRVN9KQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJTktfRkxBR1Mg
JHtDVVJMX0xERkxBR1N9KQorRU5ESUYgKCkKKworU0VUKE1pbmlCcm93c2VyX0xJQlJBUklFUwor
ICAgICR7SmF2YVNjcmlwdENvcmVfTElCUkFSWV9OQU1FfQorICAgICR7V2ViQ29yZV9MSUJSQVJZ
X05BTUV9CisgICAgJHtXZWJLaXQyX0xJQlJBUllfTkFNRX0KKyAgICAke0NhaXJvX0xJQlJBUklF
U30KKyAgICAke0VDT1JFX1hfTElCUkFSSUVTfQorICAgICR7RURKRV9MSUJSQVJJRVN9CisgICAg
JHtFRkxERVBTX0xJQlJBUklFU30KKyAgICAke0VWQVNfTElCUkFSSUVTfQorICAgICR7TElCWE1M
Ml9MSUJSQVJJRVN9CisgICAgJHtMSUJYU0xUX0xJQlJBUklFU30KKyAgICAke1NRTElURV9MSUJS
QVJJRVN9CispCisKK0FERF9DVVNUT01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dz
ZXJFZmwKKyAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQktJVDJfRElSfS9TY3Jp
cHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCAke01pbmlCcm93c2VyX0RJUn0gJHtE
RVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2luY2x1ZGUgZWZsCispCisKK0lGIChXVEZfVVNF
X1NPVVApCisgICAgQUREX0NVU1RPTV9UQVJHRVQoZm9yd2FyZGluZy1oZWFkZXJNaW5pQnJvd3Nl
clNvdXAKKyAgICAgICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0v
U2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9
ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9pbmNsdWRlIHNvdXAKKyAgICApCitFTkRJ
RiAoKQorCitJTkNMVURFX0RJUkVDVE9SSUVTKCR7TWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RP
UklFU30pCitBRERfRVhFQ1VUQUJMRShQcm9ncmFtcy9NaW5pQnJvd3NlciAke01pbmlCcm93c2Vy
X1NPVVJDRVN9KQorVEFSR0VUX0xJTktfTElCUkFSSUVTKFByb2dyYW1zL01pbmlCcm93c2VyICR7
TWluaUJyb3dzZXJfTElCUkFSSUVTfSkKKworQUREX0RFUEVOREVOQ0lFUyhQcm9ncmFtcy9NaW5p
QnJvd3NlciBmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyRWZsKQorCitJRiAoV1RGX1VTRV9T
T1VQKQorICAgIEFERF9ERVBFTkRFTkNJRVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgZm9yd2FyZGlu
Zy1oZWFkZXJNaW5pQnJvd3NlclNvdXApCitFTkRJRiAoKQorCitBRERfVEFSR0VUX1BST1BFUlRJ
RVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgTElOS19GTEFHUyAiJHtNaW5pQnJvd3Nlcl9MSU5LX0ZM
QUdTfSIpCitTRVRfVEFSR0VUX1BST1BFUlRJRVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgUFJPUEVS
VElFUyBSVU5USU1FX09VVFBVVF9ESVJFQ1RPUlkgIiR7Q01BS0VfQklOQVJZX0RJUn0iKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rvb2xzL01pbmlCcm93c2Vy
L2VmbC9tYWluLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDkxOTU3ZTdhZWU4MWFkMTkzY2UwNzE4NGMxMDU3YmEw
MGZhNzMzZAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMK
QEAgLTAsMCArMSw5NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0
cm9uaWNzCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
ICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vu
c2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29m
dHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiZXdrX3Zp
ZXcuaCIKKyNpbmNsdWRlIDxFY29yZS5oPgorI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KKyNpbmNs
dWRlIDxFaW5hLmg+CisjaW5jbHVkZSA8RXZhcy5oPgorCitzdGF0aWMgY29uc3QgaW50IERFRkFV
TFRfV0lEVEggODAwCitzdGF0aWMgY29uc3QgaW50IERFRkFVTFRfSEVJR0hUIDYwMAorc3RhdGlj
IGNvbnN0IGNoYXIgKkRFRkFVTFRfVVJMICJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIjsKKwordHlw
ZWRlZiBzdHJ1Y3QgX01pbmlCcm93c2VyIHsKKyAgICBFY29yZV9FdmFzICplZTsKKyAgICBFdmFz
ICpldmFzOworICAgIEV2YXNfT2JqZWN0ICpiZzsKKyAgICBFdmFzX09iamVjdCAqYnJvd3NlcjsK
K30gTWluaUJyb3dzZXI7CisKK3N0YXRpYyBFaW5hX0Jvb2wgbWFpbl9zaWduYWxfZXhpdCh2b2lk
ICpkYXRhLCBpbnQgZXZfdHlwZSwgdm9pZCAqZXYpCit7CisgICAgZWNvcmVfbWFpbl9sb29wX3F1
aXQoKTsKKyAgICByZXR1cm4gRUlOQV9UUlVFOworfQorCitzdGF0aWMgdm9pZCBicm93c2VyQ3Jl
YXRlKGNvbnN0IGNoYXIgKnVybCkKK3sKKyAgICBNaW5pQnJvd3NlciAqYXBwID0gKE1pbmlCcm93
c2VyKikgbWFsbG9jKHNpemVvZihNaW5pQnJvd3NlcikpOworCisgICAgYXBwLT5lZSA9IGVjb3Jl
X2V2YXNfbmV3KDAsIDAsIDAsIERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hULCAwKTsKKwor
ICAgIGVjb3JlX2V2YXNfdGl0bGVfc2V0KGFwcC0+ZWUsICJFRkwgTWluaUJyb3dzZXIiKTsKKyAg
ICBlY29yZV9ldmFzX2JvcmRlcmxlc3Nfc2V0KGFwcC0+ZWUsIDApOworICAgIGVjb3JlX2V2YXNf
c2hvdyhhcHAtPmVlKTsKKworICAgIGFwcC0+ZXZhcyA9IGVjb3JlX2V2YXNfZ2V0KGFwcC0+ZWUp
OworCisgICAgYXBwLT5iZyA9IGV2YXNfb2JqZWN0X3JlY3RhbmdsZV9hZGQoYXBwLT5ldmFzKTsK
KyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHAtPmJnLCBFVkFTX0hJTlRf
RVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKworICAgIGV2YXNfb2JqZWN0X21vdmUoYXBwLT5i
ZywgMCwgMCk7CisgICAgZXZhc19vYmplY3RfcmVzaXplKGFwcC0+YmcsIERFRkFVTFRfV0lEVEgs
IERFRkFVTFRfSEVJR0hUKTsKKyAgICBldmFzX29iamVjdF9jb2xvcl9zZXQoYXBwLT5iZywgMjU1
LCAxNTAsIDE1MCwgMjU1KTsKKyAgICBldmFzX29iamVjdF9zaG93KGFwcC0+YmcpOworCisgICAg
LyogQ3JlYXRlIHdlYnZpZXcgKi8KKyAgICBhcHAtPmJyb3dzZXIgPSBld2tfdmlld19hZGQoYXBw
LT5ldmFzLCBXS0NvbnRleHRHZXRTaGFyZWRQcm9jZXNzQ29udGV4dCgpLCAwKTsKKyAgICBldmFz
X29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHAtPmJyb3dzZXIsIEVWQVNfSElOVF9FWFBB
TkQsIEVWQVNfSElOVF9FWFBBTkQpOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShhcHAtPmJyb3dz
ZXIsIERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hUKTsKKyAgICBldmFzX29iamVjdF9zaG93
KGFwcC0+YnJvd3Nlcik7CisKKyAgICBXS1BhZ2VMb2FkVVJMKGV3a192aWV3X3BhZ2VfZ2V0KGFw
cC0+YnJvd3NlciksIFdLVVJMQ3JlYXRlV2l0aFVURjhDU3RyaW5nKHVybCkpOworfQorCitpbnQg
bWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworICAgIGNoYXIgKnVybDsKKyAgICBpbnQg
YXJncyA9IDE7CisKKyAgICBpZiAoIWVjb3JlX2V2YXNfaW5pdCgpKQorICAgICAgICByZXR1cm4g
RVhJVF9GQUlMVVJFOworCisgICAgaWYgKGFyZ3MgPCBhcmdjKQorICAgICAgICB1cmwgPSBhcmd2
W2FyZ3NdOworICAgIGVsc2UKKyAgICAgICAgdXJsID0gREVGQVVMVF9VUkw7CisKKyAgICBicm93
c2VyQ3JlYXRlKHVybCk7CisKKyAgICBlY29yZV9ldmVudF9oYW5kbGVyX2FkZChFQ09SRV9FVkVO
VF9TSUdOQUxfRVhJVCwgbWFpbl9zaWduYWxfZXhpdCwgMCk7CisKKyAgICBlY29yZV9tYWluX2xv
b3BfYmVnaW4oKTsKKworICAgIGVjb3JlX2V2ZW50X2hhbmRsZXJfZGVsKG1haW5fc2lnbmFsX2V4
aXQpOworCisgICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOworCisgICAgcmV0dXJuIDA7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120860</attachid>
            <date>2012-01-01 20:40:59 -0800</date>
            <delta_ts>2012-01-01 20:45:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20120102134059.patch</filename>
            <type>text/plain</type>
            <size>7227</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzODg5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTg3ZDI5NGFjY2NkMzQ0M2E0NGE2Y2M1MjUxMjFiZGM1
Nzc4MTQ0OC4uOTNkNTE4YmNmZjdiNjQxMGJlNjkyYTAwZGMxMTFkZTNjZDExMTM5MSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTAxLTAxICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbRUZMXVtXSzJdIEFkZCBNaW5pQnJvd3NlckVmbC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IE1pbmlCcm93c2VyIGZvciBF
RkwuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9l
ZmwvQ01ha2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWlu
LmM6IEFkZGVkLgorICAgICAgICAobWFpbl9zaWduYWxfZXhpdCk6CisgICAgICAgIChicm93c2Vy
Q3JlYXRlKToKKyAgICAgICAgKG1haW4pOgorCiAyMDExLTEyLTMxICBEYW4gQmVybnN0ZWluICA8
bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgTWluaUJyb3dzZXIgc2V0cyB0aGUgV0tWaWV34oCZ
cyBmcmFtZSBpbmNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ01ha2VMaXN0cy50eHQgYi9U
b29scy9DTWFrZUxpc3RzLnR4dAppbmRleCBkY2NmMDIzZDEzM2IwZTg0YTY2NTk0ZDZjMDE1MzU1
MzgxNTM3YjYyLi41Mjg3NTFhMzI5MmRkMzFiZDY0MTQwNGYxZGIyYWQwMzdmNjg4NDA0IDEwMDY0
NAotLS0gYS9Ub29scy9DTWFrZUxpc3RzLnR4dAorKysgYi9Ub29scy9DTWFrZUxpc3RzLnR4dApA
QCAtMSw2ICsxLDExIEBACiBJRiAoIiR7UE9SVH0iIFNUUkVRVUFMICJFZmwiKQotICAgIEFERF9T
VUJESVJFQ1RPUlkoRHVtcFJlbmRlclRyZWUvZWZsKQotICAgIEFERF9TVUJESVJFQ1RPUlkoRVdl
YkxhdW5jaGVyKQorICAgIElGIChFTkFCTEVfV0VCS0lUKQorICAgICAgICBBRERfU1VCRElSRUNU
T1JZKER1bXBSZW5kZXJUcmVlL2VmbCkKKyAgICAgICAgQUREX1NVQkRJUkVDVE9SWShFV2ViTGF1
bmNoZXIpCisgICAgRU5ESUYgKCkKKyAgICBJRiAoRU5BQkxFX1dFQktJVDIpCisgICAgICAgIEFE
RF9TVUJESVJFQ1RPUlkoTWluaUJyb3dzZXIvZWZsKQorICAgIEVORElGICgpCiBFTFNFSUYgKCIk
e1BPUlR9IiBTVFJFUVVBTCAiV2luQ0UiKQogICAgIEFERF9TVUJESVJFQ1RPUlkoV2luQ0VMYXVu
Y2hlcikKIEVORElGKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxp
c3RzLnR4dCBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jZmFkMzZmZjA3MWRmYTZkZWE1NWQ0YmUxYmQ3ZmJlN2M5ZTQ4NjFmCi0tLSAvZGV2L251bGwK
KysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNzgg
QEAKK1NFVChNaW5pQnJvd3Nlcl9ESVIgIiR7VE9PTFNfRElSfS9NaW5pQnJvd3Nlci9lZmwiKQor
CitTRVQoTWluaUJyb3dzZXJfU09VUkNFUworICAgICR7TWluaUJyb3dzZXJfRElSfS9tYWluLmMK
KykKKworU0VUKE1pbmlCcm93c2VyX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAke0NhaXJvX0lO
Q0xVREVfRElSU30KKyAgICAke0VDT1JFX1hfSU5DTFVERV9ESVJTfQorICAgICR7RURKRV9JTkNM
VURFX0RJUlN9CisgICAgJHtFRkxERVBTX0lOQ0xVREVfRElSU30KKyAgICAke0VWQVNfSU5DTFVE
RV9ESVJTfQorICAgICR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsCisgICAgJHtXRUJL
SVQyX0RJUn0KKyAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVkZQorICAg
ICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlCispCisKK0lGIChFTkFCTEVfR0xJQl9TVVBQT1JU
KQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJQlJBUklFUworICAgICAgICAke0dsaWJf
TElCUkFSSUVTfQorICAgICAgICAke0d0aHJlYWRfTElCUkFSSUVTfQorICAgICkKK0VORElGICgp
CisKK1NFVChNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdTCisgICAgJHtFQ09SRV9YX0xERkxBR1N9Cisg
ICAgJHtFREpFX0xERkxBR1N9CisgICAgJHtFRkxERVBTX0xERkxBR1N9CisgICAgJHtFVkFTX0xE
RkxBR1N9CispCisKK0lGIChXVEZfVVNFX1NPVVApCisgICAgTElTVChBUFBFTkQgTWluaUJyb3dz
ZXJfTElCUkFSSUVTICR7TElCU09VUDI0X0xJQlJBUklFU30pCisgICAgTElTVChBUFBFTkQgTWlu
aUJyb3dzZXJfTElOS19GTEFHUyAke0xJQlNPVVAyNF9MREZMQUdTfSkKK0VORElGICgpCisKK0lG
IChXVEZfVVNFX0NVUkwpCisgICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElCUkFSSUVTICR7
Q1VSTF9MSUJSQVJJRVN9KQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJTktfRkxBR1Mg
JHtDVVJMX0xERkxBR1N9KQorRU5ESUYgKCkKKworU0VUKE1pbmlCcm93c2VyX0xJQlJBUklFUwor
ICAgICR7SmF2YVNjcmlwdENvcmVfTElCUkFSWV9OQU1FfQorICAgICR7V2ViQ29yZV9MSUJSQVJZ
X05BTUV9CisgICAgJHtXZWJLaXQyX0xJQlJBUllfTkFNRX0KKyAgICAke0NhaXJvX0xJQlJBUklF
U30KKyAgICAke0VDT1JFX1hfTElCUkFSSUVTfQorICAgICR7RURKRV9MSUJSQVJJRVN9CisgICAg
JHtFRkxERVBTX0xJQlJBUklFU30KKyAgICAke0VWQVNfTElCUkFSSUVTfQorICAgICR7TElCWE1M
Ml9MSUJSQVJJRVN9CisgICAgJHtMSUJYU0xUX0xJQlJBUklFU30KKyAgICAke1NRTElURV9MSUJS
QVJJRVN9CispCisKK0FERF9DVVNUT01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dz
ZXJFZmwKKyAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQktJVDJfRElSfS9TY3Jp
cHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCAke01pbmlCcm93c2VyX0RJUn0gJHtE
RVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2luY2x1ZGUgZWZsCispCisKK0lGIChXVEZfVVNF
X1NPVVApCisgICAgQUREX0NVU1RPTV9UQVJHRVQoZm9yd2FyZGluZy1oZWFkZXJNaW5pQnJvd3Nl
clNvdXAKKyAgICAgICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0v
U2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9
ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9pbmNsdWRlIHNvdXAKKyAgICApCitFTkRJ
RiAoKQorCitJTkNMVURFX0RJUkVDVE9SSUVTKCR7TWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RP
UklFU30pCitBRERfRVhFQ1VUQUJMRShQcm9ncmFtcy9NaW5pQnJvd3NlciAke01pbmlCcm93c2Vy
X1NPVVJDRVN9KQorVEFSR0VUX0xJTktfTElCUkFSSUVTKFByb2dyYW1zL01pbmlCcm93c2VyICR7
TWluaUJyb3dzZXJfTElCUkFSSUVTfSkKKworQUREX0RFUEVOREVOQ0lFUyhQcm9ncmFtcy9NaW5p
QnJvd3NlciBmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyRWZsKQorCitJRiAoV1RGX1VTRV9T
T1VQKQorICAgIEFERF9ERVBFTkRFTkNJRVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgZm9yd2FyZGlu
Zy1oZWFkZXJNaW5pQnJvd3NlclNvdXApCitFTkRJRiAoKQorCitBRERfVEFSR0VUX1BST1BFUlRJ
RVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgTElOS19GTEFHUyAiJHtNaW5pQnJvd3Nlcl9MSU5LX0ZM
QUdTfSIpCitTRVRfVEFSR0VUX1BST1BFUlRJRVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgUFJPUEVS
VElFUyBSVU5USU1FX09VVFBVVF9ESVJFQ1RPUlkgIiR7Q01BS0VfQklOQVJZX0RJUn0iKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rvb2xzL01pbmlCcm93c2Vy
L2VmbC9tYWluLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjUzYWNlMTkzM2Q1MWUxMjJjNDkxNjUyMDkwYWE0NmQ3
NWE0OTI4MwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMK
QEAgLTAsMCArMSw5OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0
cm9uaWNzCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
ICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vu
c2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29m
dHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiZXdrX3Zp
ZXcuaCIKKyNpbmNsdWRlIDxFY29yZS5oPgorI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KKyNpbmNs
dWRlIDxFaW5hLmg+CisjaW5jbHVkZSA8RXZhcy5oPgorCitzdGF0aWMgY29uc3QgaW50IERFRkFV
TFRfV0lEVEggPSA4MDA7CitzdGF0aWMgY29uc3QgaW50IERFRkFVTFRfSEVJR0hUID0gNjAwOwor
c3RhdGljIGNvbnN0IGNoYXIgKkRFRkFVTFRfVVJMID0gImh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8i
OworCit0eXBlZGVmIHN0cnVjdCBfTWluaUJyb3dzZXIgeworICAgIEVjb3JlX0V2YXMgKmVlOwor
ICAgIEV2YXMgKmV2YXM7CisgICAgRXZhc19PYmplY3QgKmJnOworICAgIEV2YXNfT2JqZWN0ICpi
cm93c2VyOworfSBNaW5pQnJvd3NlcjsKKworc3RhdGljIEVpbmFfQm9vbCBtYWluX3NpZ25hbF9l
eGl0KHZvaWQgKmRhdGEsIGludCBldl90eXBlLCB2b2lkICpldikKK3sKKyAgICBlY29yZV9tYWlu
X2xvb3BfcXVpdCgpOworICAgIHJldHVybiBFSU5BX1RSVUU7Cit9CisKK3N0YXRpYyBNaW5pQnJv
d3NlciAqYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwpCit7CisgICAgTWluaUJyb3dzZXIg
KmFwcCA9IChNaW5pQnJvd3NlciopIG1hbGxvYyhzaXplb2YoTWluaUJyb3dzZXIpKTsKKworICAg
IGFwcC0+ZWUgPSBlY29yZV9ldmFzX25ldygwLCAwLCAwLCBERUZBVUxUX1dJRFRILCBERUZBVUxU
X0hFSUdIVCwgMCk7CisKKyAgICBlY29yZV9ldmFzX3RpdGxlX3NldChhcHAtPmVlLCAiRUZMIE1p
bmlCcm93c2VyIik7CisgICAgZWNvcmVfZXZhc19ib3JkZXJsZXNzX3NldChhcHAtPmVlLCAwKTsK
KyAgICBlY29yZV9ldmFzX3Nob3coYXBwLT5lZSk7CisKKyAgICBhcHAtPmV2YXMgPSBlY29yZV9l
dmFzX2dldChhcHAtPmVlKTsKKworICAgIGFwcC0+YmcgPSBldmFzX29iamVjdF9yZWN0YW5nbGVf
YWRkKGFwcC0+ZXZhcyk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQoYXBw
LT5iZywgRVZBU19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VYUEFORCk7CisKKyAgICBldmFzX29i
amVjdF9tb3ZlKGFwcC0+YmcsIDAsIDApOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShhcHAtPmJn
LCBERUZBVUxUX1dJRFRILCBERUZBVUxUX0hFSUdIVCk7CisgICAgZXZhc19vYmplY3RfY29sb3Jf
c2V0KGFwcC0+YmcsIDI1NSwgMTUwLCAxNTAsIDI1NSk7CisgICAgZXZhc19vYmplY3Rfc2hvdyhh
cHAtPmJnKTsKKworICAgIC8qIENyZWF0ZSB3ZWJ2aWV3ICovCisgICAgYXBwLT5icm93c2VyID0g
ZXdrX3ZpZXdfYWRkKGFwcC0+ZXZhcywgV0tDb250ZXh0R2V0U2hhcmVkUHJvY2Vzc0NvbnRleHQo
KSwgMCk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQoYXBwLT5icm93c2Vy
LCBFVkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKyAgICBldmFzX29iamVjdF9y
ZXNpemUoYXBwLT5icm93c2VyLCBERUZBVUxUX1dJRFRILCBERUZBVUxUX0hFSUdIVCk7CisgICAg
ZXZhc19vYmplY3Rfc2hvdyhhcHAtPmJyb3dzZXIpOworCisgICAgV0tQYWdlTG9hZFVSTChld2tf
dmlld19wYWdlX2dldChhcHAtPmJyb3dzZXIpLCBXS1VSTENyZWF0ZVdpdGhVVEY4Q1N0cmluZyh1
cmwpKTsKKworICAgIHJldHVybiBhcHA7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICph
cmd2W10pCit7CisgICAgY29uc3QgY2hhciAqdXJsOworICAgIGludCBhcmdzID0gMTsKKworICAg
IGlmICghZWNvcmVfZXZhc19pbml0KCkpCisgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CisK
KyAgICBpZiAoYXJncyA8IGFyZ2MpCisgICAgICAgIHVybCA9IGFyZ3ZbYXJnc107CisgICAgZWxz
ZQorICAgICAgICB1cmwgPSBERUZBVUxUX1VSTDsKKworICAgIE1pbmlCcm93c2VyICpicm93c2Vy
ID0gYnJvd3NlckNyZWF0ZSh1cmwpOworCisgICAgRWNvcmVfRXZlbnRfSGFuZGxlciAqaGFuZGxl
ID0gZWNvcmVfZXZlbnRfaGFuZGxlcl9hZGQoRUNPUkVfRVZFTlRfU0lHTkFMX0VYSVQsIG1haW5f
c2lnbmFsX2V4aXQsIDApOworCisgICAgZWNvcmVfbWFpbl9sb29wX2JlZ2luKCk7CisKKyAgICBl
Y29yZV9ldmVudF9oYW5kbGVyX2RlbChoYW5kbGUpOworICAgIGZyZWUoYnJvd3Nlcik7CisKKyAg
ICBlY29yZV9ldmFzX3NodXRkb3duKCk7CisKKyAgICByZXR1cm4gMDsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120861</attachid>
            <date>2012-01-01 20:46:00 -0800</date>
            <delta_ts>2012-01-02 18:03:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20120102134559.patch</filename>
            <type>text/plain</type>
            <size>7212</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzODg5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTg3ZDI5NGFjY2NkMzQ0M2E0NGE2Y2M1MjUxMjFiZGM1
Nzc4MTQ0OC4uOTNkNTE4YmNmZjdiNjQxMGJlNjkyYTAwZGMxMTFkZTNjZDExMTM5MSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTAxLTAxICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbRUZMXVtXSzJdIEFkZCBNaW5pQnJvd3NlckVmbC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IE1pbmlCcm93c2VyIGZvciBF
RkwuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9l
ZmwvQ01ha2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWlu
LmM6IEFkZGVkLgorICAgICAgICAobWFpbl9zaWduYWxfZXhpdCk6CisgICAgICAgIChicm93c2Vy
Q3JlYXRlKToKKyAgICAgICAgKG1haW4pOgorCiAyMDExLTEyLTMxICBEYW4gQmVybnN0ZWluICA8
bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgTWluaUJyb3dzZXIgc2V0cyB0aGUgV0tWaWV34oCZ
cyBmcmFtZSBpbmNvcnJlY3RseQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ01ha2VMaXN0cy50eHQgYi9U
b29scy9DTWFrZUxpc3RzLnR4dAppbmRleCBkY2NmMDIzZDEzM2IwZTg0YTY2NTk0ZDZjMDE1MzU1
MzgxNTM3YjYyLi41Mjg3NTFhMzI5MmRkMzFiZDY0MTQwNGYxZGIyYWQwMzdmNjg4NDA0IDEwMDY0
NAotLS0gYS9Ub29scy9DTWFrZUxpc3RzLnR4dAorKysgYi9Ub29scy9DTWFrZUxpc3RzLnR4dApA
QCAtMSw2ICsxLDExIEBACiBJRiAoIiR7UE9SVH0iIFNUUkVRVUFMICJFZmwiKQotICAgIEFERF9T
VUJESVJFQ1RPUlkoRHVtcFJlbmRlclRyZWUvZWZsKQotICAgIEFERF9TVUJESVJFQ1RPUlkoRVdl
YkxhdW5jaGVyKQorICAgIElGIChFTkFCTEVfV0VCS0lUKQorICAgICAgICBBRERfU1VCRElSRUNU
T1JZKER1bXBSZW5kZXJUcmVlL2VmbCkKKyAgICAgICAgQUREX1NVQkRJUkVDVE9SWShFV2ViTGF1
bmNoZXIpCisgICAgRU5ESUYgKCkKKyAgICBJRiAoRU5BQkxFX1dFQktJVDIpCisgICAgICAgIEFE
RF9TVUJESVJFQ1RPUlkoTWluaUJyb3dzZXIvZWZsKQorICAgIEVORElGICgpCiBFTFNFSUYgKCIk
e1BPUlR9IiBTVFJFUVVBTCAiV2luQ0UiKQogICAgIEFERF9TVUJESVJFQ1RPUlkoV2luQ0VMYXVu
Y2hlcikKIEVORElGKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxp
c3RzLnR4dCBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jZmFkMzZmZjA3MWRmYTZkZWE1NWQ0YmUxYmQ3ZmJlN2M5ZTQ4NjFmCi0tLSAvZGV2L251bGwK
KysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNzgg
QEAKK1NFVChNaW5pQnJvd3Nlcl9ESVIgIiR7VE9PTFNfRElSfS9NaW5pQnJvd3Nlci9lZmwiKQor
CitTRVQoTWluaUJyb3dzZXJfU09VUkNFUworICAgICR7TWluaUJyb3dzZXJfRElSfS9tYWluLmMK
KykKKworU0VUKE1pbmlCcm93c2VyX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAke0NhaXJvX0lO
Q0xVREVfRElSU30KKyAgICAke0VDT1JFX1hfSU5DTFVERV9ESVJTfQorICAgICR7RURKRV9JTkNM
VURFX0RJUlN9CisgICAgJHtFRkxERVBTX0lOQ0xVREVfRElSU30KKyAgICAke0VWQVNfSU5DTFVE
RV9ESVJTfQorICAgICR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkvZWZsCisgICAgJHtXRUJL
SVQyX0RJUn0KKyAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVkZQorICAg
ICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlCispCisKK0lGIChFTkFCTEVfR0xJQl9TVVBQT1JU
KQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJQlJBUklFUworICAgICAgICAke0dsaWJf
TElCUkFSSUVTfQorICAgICAgICAke0d0aHJlYWRfTElCUkFSSUVTfQorICAgICkKK0VORElGICgp
CisKK1NFVChNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdTCisgICAgJHtFQ09SRV9YX0xERkxBR1N9Cisg
ICAgJHtFREpFX0xERkxBR1N9CisgICAgJHtFRkxERVBTX0xERkxBR1N9CisgICAgJHtFVkFTX0xE
RkxBR1N9CispCisKK0lGIChXVEZfVVNFX1NPVVApCisgICAgTElTVChBUFBFTkQgTWluaUJyb3dz
ZXJfTElCUkFSSUVTICR7TElCU09VUDI0X0xJQlJBUklFU30pCisgICAgTElTVChBUFBFTkQgTWlu
aUJyb3dzZXJfTElOS19GTEFHUyAke0xJQlNPVVAyNF9MREZMQUdTfSkKK0VORElGICgpCisKK0lG
IChXVEZfVVNFX0NVUkwpCisgICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElCUkFSSUVTICR7
Q1VSTF9MSUJSQVJJRVN9KQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJTktfRkxBR1Mg
JHtDVVJMX0xERkxBR1N9KQorRU5ESUYgKCkKKworU0VUKE1pbmlCcm93c2VyX0xJQlJBUklFUwor
ICAgICR7SmF2YVNjcmlwdENvcmVfTElCUkFSWV9OQU1FfQorICAgICR7V2ViQ29yZV9MSUJSQVJZ
X05BTUV9CisgICAgJHtXZWJLaXQyX0xJQlJBUllfTkFNRX0KKyAgICAke0NhaXJvX0xJQlJBUklF
U30KKyAgICAke0VDT1JFX1hfTElCUkFSSUVTfQorICAgICR7RURKRV9MSUJSQVJJRVN9CisgICAg
JHtFRkxERVBTX0xJQlJBUklFU30KKyAgICAke0VWQVNfTElCUkFSSUVTfQorICAgICR7TElCWE1M
Ml9MSUJSQVJJRVN9CisgICAgJHtMSUJYU0xUX0xJQlJBUklFU30KKyAgICAke1NRTElURV9MSUJS
QVJJRVN9CispCisKK0FERF9DVVNUT01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dz
ZXJFZmwKKyAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQktJVDJfRElSfS9TY3Jp
cHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCAke01pbmlCcm93c2VyX0RJUn0gJHtE
RVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2luY2x1ZGUgZWZsCispCisKK0lGIChXVEZfVVNF
X1NPVVApCisgICAgQUREX0NVU1RPTV9UQVJHRVQoZm9yd2FyZGluZy1oZWFkZXJNaW5pQnJvd3Nl
clNvdXAKKyAgICAgICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0v
U2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9
ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9pbmNsdWRlIHNvdXAKKyAgICApCitFTkRJ
RiAoKQorCitJTkNMVURFX0RJUkVDVE9SSUVTKCR7TWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RP
UklFU30pCitBRERfRVhFQ1VUQUJMRShQcm9ncmFtcy9NaW5pQnJvd3NlciAke01pbmlCcm93c2Vy
X1NPVVJDRVN9KQorVEFSR0VUX0xJTktfTElCUkFSSUVTKFByb2dyYW1zL01pbmlCcm93c2VyICR7
TWluaUJyb3dzZXJfTElCUkFSSUVTfSkKKworQUREX0RFUEVOREVOQ0lFUyhQcm9ncmFtcy9NaW5p
QnJvd3NlciBmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyRWZsKQorCitJRiAoV1RGX1VTRV9T
T1VQKQorICAgIEFERF9ERVBFTkRFTkNJRVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgZm9yd2FyZGlu
Zy1oZWFkZXJNaW5pQnJvd3NlclNvdXApCitFTkRJRiAoKQorCitBRERfVEFSR0VUX1BST1BFUlRJ
RVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgTElOS19GTEFHUyAiJHtNaW5pQnJvd3Nlcl9MSU5LX0ZM
QUdTfSIpCitTRVRfVEFSR0VUX1BST1BFUlRJRVMoUHJvZ3JhbXMvTWluaUJyb3dzZXIgUFJPUEVS
VElFUyBSVU5USU1FX09VVFBVVF9ESVJFQ1RPUlkgIiR7Q01BS0VfQklOQVJZX0RJUn0iKQpkaWZm
IC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rvb2xzL01pbmlCcm93c2Vy
L2VmbC9tYWluLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTFhZDFhOTg2OTdlOGJjYmIxZThkY2U3ZjRkMDA5N2Y1
MjhjYmQ2ZAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMK
QEAgLTAsMCArMSw5OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0
cm9uaWNzCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
ICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vu
c2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29m
dHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiZXdrX3Zp
ZXcuaCIKKyNpbmNsdWRlIDxFY29yZS5oPgorI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KKyNpbmNs
dWRlIDxFaW5hLmg+CisjaW5jbHVkZSA8RXZhcy5oPgorCitzdGF0aWMgY29uc3QgaW50IERFRkFV
TFRfV0lEVEggPSA4MDA7CitzdGF0aWMgY29uc3QgaW50IERFRkFVTFRfSEVJR0hUID0gNjAwOwor
c3RhdGljIGNvbnN0IGNoYXIgKkRFRkFVTFRfVVJMID0gImh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8i
OworCit0eXBlZGVmIHN0cnVjdCBfTWluaUJyb3dzZXIgeworICAgIEVjb3JlX0V2YXMgKmVlOwor
ICAgIEV2YXMgKmV2YXM7CisgICAgRXZhc19PYmplY3QgKmJnOworICAgIEV2YXNfT2JqZWN0ICpi
cm93c2VyOworfSBNaW5pQnJvd3NlcjsKKworc3RhdGljIEVpbmFfQm9vbCBtYWluX3NpZ25hbF9l
eGl0KHZvaWQgKmRhdGEsIGludCBldl90eXBlLCB2b2lkICpldikKK3sKKyAgICBlY29yZV9tYWlu
X2xvb3BfcXVpdCgpOworICAgIHJldHVybiBFSU5BX1RSVUU7Cit9CisKK3N0YXRpYyBNaW5pQnJv
d3NlciAqYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwpCit7CisgICAgTWluaUJyb3dzZXIg
KmFwcCA9IG1hbGxvYyhzaXplb2YoTWluaUJyb3dzZXIpKTsKKworICAgIGFwcC0+ZWUgPSBlY29y
ZV9ldmFzX25ldygwLCAwLCAwLCBERUZBVUxUX1dJRFRILCBERUZBVUxUX0hFSUdIVCwgMCk7CisK
KyAgICBlY29yZV9ldmFzX3RpdGxlX3NldChhcHAtPmVlLCAiRUZMIE1pbmlCcm93c2VyIik7Cisg
ICAgZWNvcmVfZXZhc19ib3JkZXJsZXNzX3NldChhcHAtPmVlLCAwKTsKKyAgICBlY29yZV9ldmFz
X3Nob3coYXBwLT5lZSk7CisKKyAgICBhcHAtPmV2YXMgPSBlY29yZV9ldmFzX2dldChhcHAtPmVl
KTsKKworICAgIGFwcC0+YmcgPSBldmFzX29iamVjdF9yZWN0YW5nbGVfYWRkKGFwcC0+ZXZhcyk7
CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQoYXBwLT5iZywgRVZBU19ISU5U
X0VYUEFORCwgRVZBU19ISU5UX0VYUEFORCk7CisKKyAgICBldmFzX29iamVjdF9tb3ZlKGFwcC0+
YmcsIDAsIDApOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShhcHAtPmJnLCBERUZBVUxUX1dJRFRI
LCBERUZBVUxUX0hFSUdIVCk7CisgICAgZXZhc19vYmplY3RfY29sb3Jfc2V0KGFwcC0+YmcsIDI1
NSwgMTUwLCAxNTAsIDI1NSk7CisgICAgZXZhc19vYmplY3Rfc2hvdyhhcHAtPmJnKTsKKworICAg
IC8qIENyZWF0ZSB3ZWJ2aWV3ICovCisgICAgYXBwLT5icm93c2VyID0gZXdrX3ZpZXdfYWRkKGFw
cC0+ZXZhcywgV0tDb250ZXh0R2V0U2hhcmVkUHJvY2Vzc0NvbnRleHQoKSwgMCk7CisgICAgZXZh
c19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQoYXBwLT5icm93c2VyLCBFVkFTX0hJTlRfRVhQ
QU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKyAgICBldmFzX29iamVjdF9yZXNpemUoYXBwLT5icm93
c2VyLCBERUZBVUxUX1dJRFRILCBERUZBVUxUX0hFSUdIVCk7CisgICAgZXZhc19vYmplY3Rfc2hv
dyhhcHAtPmJyb3dzZXIpOworCisgICAgV0tQYWdlTG9hZFVSTChld2tfdmlld19wYWdlX2dldChh
cHAtPmJyb3dzZXIpLCBXS1VSTENyZWF0ZVdpdGhVVEY4Q1N0cmluZyh1cmwpKTsKKworICAgIHJl
dHVybiBhcHA7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisgICAg
Y29uc3QgY2hhciAqdXJsOworICAgIGludCBhcmdzID0gMTsKKworICAgIGlmICghZWNvcmVfZXZh
c19pbml0KCkpCisgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CisKKyAgICBpZiAoYXJncyA8
IGFyZ2MpCisgICAgICAgIHVybCA9IGFyZ3ZbYXJnc107CisgICAgZWxzZQorICAgICAgICB1cmwg
PSBERUZBVUxUX1VSTDsKKworICAgIE1pbmlCcm93c2VyICpicm93c2VyID0gYnJvd3NlckNyZWF0
ZSh1cmwpOworCisgICAgRWNvcmVfRXZlbnRfSGFuZGxlciAqaGFuZGxlID0gZWNvcmVfZXZlbnRf
aGFuZGxlcl9hZGQoRUNPUkVfRVZFTlRfU0lHTkFMX0VYSVQsIG1haW5fc2lnbmFsX2V4aXQsIDAp
OworCisgICAgZWNvcmVfbWFpbl9sb29wX2JlZ2luKCk7CisKKyAgICBlY29yZV9ldmVudF9oYW5k
bGVyX2RlbChoYW5kbGUpOworICAgIGZyZWUoYnJvd3Nlcik7CisKKyAgICBlY29yZV9ldmFzX3No
dXRkb3duKCk7CisKKyAgICByZXR1cm4gMDsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120903</attachid>
            <date>2012-01-02 18:03:18 -0800</date>
            <delta_ts>2012-02-20 00:24:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20120103110317.patch</filename>
            <type>text/plain</type>
            <size>7224</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzOTIwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMmM5ZjgwYjQ0Y2VjNTczMjk2YTI0OWVmYzdjOTg0ZGU2
NjNhYzJjMS4uZDJlMDhlNTI5NjA4YmQyN2YyMTdmZDU1MGZkMGE1MWNjNTY5MjBiYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTAxLTAyICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbRUZMXVtXSzJdIEFkZCBNaW5pQnJvd3NlckVmbC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IE1pbmlCcm93c2VyIGZvciBF
RkwuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9l
ZmwvQ01ha2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWlu
LmM6IEFkZGVkLgorICAgICAgICAobWFpbl9zaWduYWxfZXhpdCk6CisgICAgICAgIChicm93c2Vy
Q3JlYXRlKToKKyAgICAgICAgKG1haW4pOgorCiAyMDEyLTAxLTAyICBHeXV5b3VuZyBLaW0gIDxn
eXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gUmVtb3ZlIHdoaXRlc3Bh
Y2UvZGVjbGFyYXRpb24gc3R5bGUgZXhjZXB0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9DTWFrZUxp
c3RzLnR4dCBiL1Rvb2xzL0NNYWtlTGlzdHMudHh0CmluZGV4IGRjY2YwMjNkMTMzYjBlODRhNjY1
OTRkNmMwMTUzNTUzODE1MzdiNjIuLjUyODc1MWEzMjkyZGQzMWJkNjQxNDA0ZjFkYjJhZDAzN2Y2
ODg0MDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NNYWtlTGlzdHMudHh0CisrKyBiL1Rvb2xzL0NNYWtl
TGlzdHMudHh0CkBAIC0xLDYgKzEsMTEgQEAKIElGICgiJHtQT1JUfSIgU1RSRVFVQUwgIkVmbCIp
Ci0gICAgQUREX1NVQkRJUkVDVE9SWShEdW1wUmVuZGVyVHJlZS9lZmwpCi0gICAgQUREX1NVQkRJ
UkVDVE9SWShFV2ViTGF1bmNoZXIpCisgICAgSUYgKEVOQUJMRV9XRUJLSVQpCisgICAgICAgIEFE
RF9TVUJESVJFQ1RPUlkoRHVtcFJlbmRlclRyZWUvZWZsKQorICAgICAgICBBRERfU1VCRElSRUNU
T1JZKEVXZWJMYXVuY2hlcikKKyAgICBFTkRJRiAoKQorICAgIElGIChFTkFCTEVfV0VCS0lUMikK
KyAgICAgICAgQUREX1NVQkRJUkVDVE9SWShNaW5pQnJvd3Nlci9lZmwpCisgICAgRU5ESUYgKCkK
IEVMU0VJRiAoIiR7UE9SVH0iIFNUUkVRVUFMICJXaW5DRSIpCiAgICAgQUREX1NVQkRJUkVDVE9S
WShXaW5DRUxhdW5jaGVyKQogRU5ESUYoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIv
ZWZsL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNmYWQzNmZmMDcxZGZhNmRlYTU1ZDRiZTFiZDdmYmU3YzllNDg2MWYKLS0t
IC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKQEAg
LTAsMCArMSw3OCBAQAorU0VUKE1pbmlCcm93c2VyX0RJUiAiJHtUT09MU19ESVJ9L01pbmlCcm93
c2VyL2VmbCIpCisKK1NFVChNaW5pQnJvd3Nlcl9TT1VSQ0VTCisgICAgJHtNaW5pQnJvd3Nlcl9E
SVJ9L21haW4uYworKQorCitTRVQoTWluaUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RPUklFUworICAg
ICR7Q2Fpcm9fSU5DTFVERV9ESVJTfQorICAgICR7RUNPUkVfWF9JTkNMVURFX0RJUlN9CisgICAg
JHtFREpFX0lOQ0xVREVfRElSU30KKyAgICAke0VGTERFUFNfSU5DTFVERV9ESVJTfQorICAgICR7
RVZBU19JTkNMVURFX0RJUlN9CisgICAgJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwK
KyAgICAke1dFQktJVDJfRElSfQorICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9p
bmNsdWRlCisgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UKKykKKworSUYgKEVOQUJMRV9H
TElCX1NVUFBPUlQpCisgICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJfTElCUkFSSUVTCisgICAg
ICAgICR7R2xpYl9MSUJSQVJJRVN9CisgICAgICAgICR7R3RocmVhZF9MSUJSQVJJRVN9CisgICAg
KQorRU5ESUYgKCkKKworU0VUKE1pbmlCcm93c2VyX0xJTktfRkxBR1MKKyAgICAke0VDT1JFX1hf
TERGTEFHU30KKyAgICAke0VESkVfTERGTEFHU30KKyAgICAke0VGTERFUFNfTERGTEFHU30KKyAg
ICAke0VWQVNfTERGTEFHU30KKykKKworSUYgKFdURl9VU0VfU09VUCkKKyAgICBMSVNUKEFQUEVO
RCBNaW5pQnJvd3Nlcl9MSUJSQVJJRVMgJHtMSUJTT1VQMjRfTElCUkFSSUVTfSkKKyAgICBMSVNU
KEFQUEVORCBNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdTICR7TElCU09VUDI0X0xERkxBR1N9KQorRU5E
SUYgKCkKKworSUYgKFdURl9VU0VfQ1VSTCkKKyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9M
SUJSQVJJRVMgJHtDVVJMX0xJQlJBUklFU30pCisgICAgTElTVChBUFBFTkQgTWluaUJyb3dzZXJf
TElOS19GTEFHUyAke0NVUkxfTERGTEFHU30pCitFTkRJRiAoKQorCitTRVQoTWluaUJyb3dzZXJf
TElCUkFSSUVTCisgICAgJHtKYXZhU2NyaXB0Q29yZV9MSUJSQVJZX05BTUV9CisgICAgJHtXZWJD
b3JlX0xJQlJBUllfTkFNRX0KKyAgICAke1dlYktpdDJfTElCUkFSWV9OQU1FfQorICAgICR7Q2Fp
cm9fTElCUkFSSUVTfQorICAgICR7RUNPUkVfWF9MSUJSQVJJRVN9CisgICAgJHtFREpFX0xJQlJB
UklFU30KKyAgICAke0VGTERFUFNfTElCUkFSSUVTfQorICAgICR7RVZBU19MSUJSQVJJRVN9Cisg
ICAgJHtMSUJYTUwyX0xJQlJBUklFU30KKyAgICAke0xJQlhTTFRfTElCUkFSSUVTfQorICAgICR7
U1FMSVRFX0xJQlJBUklFU30KKykKKworQUREX0NVU1RPTV9UQVJHRVQoZm9yd2FyZGluZy1oZWFk
ZXJNaW5pQnJvd3NlckVmbAorICAgIENPTU1BTkQgJHtQRVJMX0VYRUNVVEFCTEV9ICR7V0VCS0lU
Ml9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsICR7TWluaUJyb3dz
ZXJfRElSfSAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVkZSBlZmwKKykKKwor
SUYgKFdURl9VU0VfU09VUCkKKyAgICBBRERfQ1VTVE9NX1RBUkdFVChmb3J3YXJkaW5nLWhlYWRl
ck1pbmlCcm93c2VyU291cAorICAgICAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dF
QktJVDJfRElSfS9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCAke01pbmlC
cm93c2VyX0RJUn0gJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2luY2x1ZGUgc291cAor
ICAgICkKK0VORElGICgpCisKK0lOQ0xVREVfRElSRUNUT1JJRVMoJHtNaW5pQnJvd3Nlcl9JTkNM
VURFX0RJUkVDVE9SSUVTfSkKK0FERF9FWEVDVVRBQkxFKFByb2dyYW1zL01pbmlCcm93c2VyICR7
TWluaUJyb3dzZXJfU09VUkNFU30pCitUQVJHRVRfTElOS19MSUJSQVJJRVMoUHJvZ3JhbXMvTWlu
aUJyb3dzZXIgJHtNaW5pQnJvd3Nlcl9MSUJSQVJJRVN9KQorCitBRERfREVQRU5ERU5DSUVTKFBy
b2dyYW1zL01pbmlCcm93c2VyIGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJFZmwpCisKK0lG
IChXVEZfVVNFX1NPVVApCisgICAgQUREX0RFUEVOREVOQ0lFUyhQcm9ncmFtcy9NaW5pQnJvd3Nl
ciBmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyU291cCkKK0VORElGICgpCisKK0FERF9UQVJH
RVRfUFJPUEVSVElFUyhQcm9ncmFtcy9NaW5pQnJvd3NlciBMSU5LX0ZMQUdTICIke01pbmlCcm93
c2VyX0xJTktfRkxBR1N9IikKK1NFVF9UQVJHRVRfUFJPUEVSVElFUyhQcm9ncmFtcy9NaW5pQnJv
d3NlciBQUk9QRVJUSUVTIFJVTlRJTUVfT1VUUFVUX0RJUkVDVE9SWSAiJHtDTUFLRV9CSU5BUllf
RElSfSIpCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jIGIvVG9vbHMv
TWluaUJyb3dzZXIvZWZsL21haW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NTA4YThiY2U1NWRmNDVlNTkwNjQ4
YzcyYWIwNTM5ZjIwOWRmNzZlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIv
ZWZsL21haW4uYwpAQCAtMCwwICsxLDk4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNh
bXN1bmcgRWxlY3Ryb25pY3MKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91
dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0
aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpbmNs
dWRlICJld2tfdmlldy5oIgorI2luY2x1ZGUgPEVjb3JlLmg+CisjaW5jbHVkZSA8RWNvcmVfRXZh
cy5oPgorI2luY2x1ZGUgPEVpbmEuaD4KKyNpbmNsdWRlIDxFdmFzLmg+CisKK3N0YXRpYyBjb25z
dCBpbnQgREVGQVVMVF9XSURUSCA9IDgwMDsKK3N0YXRpYyBjb25zdCBpbnQgREVGQVVMVF9IRUlH
SFQgPSA2MDA7CitzdGF0aWMgY29uc3QgY2hhciBERUZBVUxUX1VSTFtdID0gImh0dHA6Ly93d3cu
Z29vZ2xlLmNvbS8iOworCit0eXBlZGVmIHN0cnVjdCBfTWluaUJyb3dzZXIgeworICAgIEVjb3Jl
X0V2YXMgKmVlOworICAgIEV2YXMgKmV2YXM7CisgICAgRXZhc19PYmplY3QgKmJnOworICAgIEV2
YXNfT2JqZWN0ICpicm93c2VyOworfSBNaW5pQnJvd3NlcjsKKworc3RhdGljIEVpbmFfQm9vbCBt
YWluX3NpZ25hbF9leGl0KHZvaWQgKmRhdGEsIGludCBldl90eXBlLCB2b2lkICpldikKK3sKKyAg
ICBlY29yZV9tYWluX2xvb3BfcXVpdCgpOworICAgIHJldHVybiBFSU5BX1RSVUU7Cit9CisKK3N0
YXRpYyBNaW5pQnJvd3NlciAqYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwpCit7CisgICAg
TWluaUJyb3dzZXIgKmFwcCA9IG1hbGxvYyhzaXplb2YoTWluaUJyb3dzZXIpKTsKKworICAgIGFw
cC0+ZWUgPSBlY29yZV9ldmFzX25ldygwLCAwLCAwLCBERUZBVUxUX1dJRFRILCBERUZBVUxUX0hF
SUdIVCwgMCk7CisKKyAgICBlY29yZV9ldmFzX3RpdGxlX3NldChhcHAtPmVlLCAiRUZMIE1pbmlC
cm93c2VyIik7CisgICAgZWNvcmVfZXZhc19ib3JkZXJsZXNzX3NldChhcHAtPmVlLCAwKTsKKyAg
ICBlY29yZV9ldmFzX3Nob3coYXBwLT5lZSk7CisKKyAgICBhcHAtPmV2YXMgPSBlY29yZV9ldmFz
X2dldChhcHAtPmVlKTsKKworICAgIGFwcC0+YmcgPSBldmFzX29iamVjdF9yZWN0YW5nbGVfYWRk
KGFwcC0+ZXZhcyk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQoYXBwLT5i
ZywgRVZBU19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VYUEFORCk7CisKKyAgICBldmFzX29iamVj
dF9tb3ZlKGFwcC0+YmcsIDAsIDApOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShhcHAtPmJnLCBE
RUZBVUxUX1dJRFRILCBERUZBVUxUX0hFSUdIVCk7CisgICAgZXZhc19vYmplY3RfY29sb3Jfc2V0
KGFwcC0+YmcsIDI1NSwgMTUwLCAxNTAsIDI1NSk7CisgICAgZXZhc19vYmplY3Rfc2hvdyhhcHAt
PmJnKTsKKworICAgIC8qIENyZWF0ZSB3ZWJ2aWV3ICovCisgICAgYXBwLT5icm93c2VyID0gZXdr
X3ZpZXdfYWRkKGFwcC0+ZXZhcywgV0tDb250ZXh0R2V0U2hhcmVkUHJvY2Vzc0NvbnRleHQoKSwg
MCk7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9zZXQoYXBwLT5icm93c2VyLCBF
VkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKyAgICBldmFzX29iamVjdF9yZXNp
emUoYXBwLT5icm93c2VyLCBERUZBVUxUX1dJRFRILCBERUZBVUxUX0hFSUdIVCk7CisgICAgZXZh
c19vYmplY3Rfc2hvdyhhcHAtPmJyb3dzZXIpOworCisgICAgV0tQYWdlTG9hZFVSTChld2tfdmll
d19wYWdlX2dldChhcHAtPmJyb3dzZXIpLCBXS1VSTENyZWF0ZVdpdGhVVEY4Q1N0cmluZyh1cmwp
KTsKKworICAgIHJldHVybiBhcHA7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2
W10pCit7CisgICAgY29uc3QgY2hhciAqdXJsOworICAgIGludCBhcmdzID0gMTsKKworICAgIGlm
ICghZWNvcmVfZXZhc19pbml0KCkpCisgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CisKKyAg
ICBpZiAoYXJncyA8IGFyZ2MpCisgICAgICAgIHVybCA9IGFyZ3ZbYXJnc107CisgICAgZWxzZQor
ICAgICAgICB1cmwgPSBERUZBVUxUX1VSTDsKKworICAgIE1pbmlCcm93c2VyICpicm93c2VyID0g
YnJvd3NlckNyZWF0ZSh1cmwpOworCisgICAgRWNvcmVfRXZlbnRfSGFuZGxlciAqaGFuZGxlID0g
ZWNvcmVfZXZlbnRfaGFuZGxlcl9hZGQoRUNPUkVfRVZFTlRfU0lHTkFMX0VYSVQsIG1haW5fc2ln
bmFsX2V4aXQsIDApOworCisgICAgZWNvcmVfbWFpbl9sb29wX2JlZ2luKCk7CisKKyAgICBlY29y
ZV9ldmVudF9oYW5kbGVyX2RlbChoYW5kbGUpOworICAgIGZyZWUoYnJvd3Nlcik7CisKKyAgICBl
Y29yZV9ldmFzX3NodXRkb3duKCk7CisKKyAgICByZXR1cm4gMDsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137470</attachid>
            <date>2012-04-16 20:27:56 -0700</date>
            <delta_ts>2012-04-17 02:19:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20120417122754.patch</filename>
            <type>text/plain</type>
            <size>7887</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0MzMzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMjIyNzZiZThmNzE4NWM0ZWZkMjk1ZDk5ZDMwYjc0NWEz
NDYwYWU2NC4uM2Y0YmQ2MDJkYjlkZTQ5ODZmODRhODA4ZTJhNjE1NTA0ZmMxNThhMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA0LTE2ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbRUZMXVtXSzJdIEFkZCBNaW5pQnJvd3NlckVmbC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IE1pbmlCcm93c2VyIGZvciBF
RkwuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9l
ZmwvQ01ha2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWlu
LmM6IEFkZGVkLgorICAgICAgICAoX01pbmlCcm93c2VyKToKKyAgICAgICAgKG1haW5fc2lnbmFs
X2V4aXQpOgorICAgICAgICAob25fZWNvcmVfZXZhc19yZXNpemUpOgorICAgICAgICAoYnJvd3Nl
ckNyZWF0ZSk6CisgICAgICAgIChtYWluKToKKwogMjAxMi0wNC0xNiAgR3VzdGF2byBOb3Jvbmhh
IFNpbHZhICA8Z25zQGdub21lLm9yZz4KIAogICAgICAgICBbR1RLXSBVc2UgY29uZmlndXJlIGlu
c3RlYWQgb2YgYXV0b2dlbi5zaCBmb3IgZ3RrKwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ01ha2VMaXN0
cy50eHQgYi9Ub29scy9DTWFrZUxpc3RzLnR4dAppbmRleCBkY2NmMDIzZDEzM2IwZTg0YTY2NTk0
ZDZjMDE1MzU1MzgxNTM3YjYyLi4wZDQzNWNjM2ZhMDRlMjU3YTdiNDkwMmViMTZjYjI4MDcyZTJh
M2I1IDEwMDY0NAotLS0gYS9Ub29scy9DTWFrZUxpc3RzLnR4dAorKysgYi9Ub29scy9DTWFrZUxp
c3RzLnR4dApAQCAtMSw2ICsxLDEzIEBACiBJRiAoIiR7UE9SVH0iIFNUUkVRVUFMICJFZmwiKQot
ICAgIEFERF9TVUJESVJFQ1RPUlkoRHVtcFJlbmRlclRyZWUvZWZsKQotICAgIEFERF9TVUJESVJF
Q1RPUlkoRVdlYkxhdW5jaGVyKQorICAgIElGIChFTkFCTEVfV0VCS0lUKQorICAgICAgICBBRERf
U1VCRElSRUNUT1JZKER1bXBSZW5kZXJUcmVlL2VmbCkKKyAgICAgICAgQUREX1NVQkRJUkVDVE9S
WShFV2ViTGF1bmNoZXIpCisgICAgRU5ESUYgKCkKKworICAgIElGIChFTkFCTEVfV0VCS0lUMikK
KyAgICAgICAgQUREX1NVQkRJUkVDVE9SWShNaW5pQnJvd3Nlci9lZmwpCisgICAgICAgIEFERF9T
VUJESVJFQ1RPUlkoV2ViS2l0VGVzdFJ1bm5lcikKKyAgICBFTkRJRiAoKQogRUxTRUlGICgiJHtQ
T1JUfSIgU1RSRVFVQUwgIldpbkNFIikKICAgICBBRERfU1VCRElSRUNUT1JZKFdpbkNFTGF1bmNo
ZXIpCiBFTkRJRigpCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0
cy50eHQgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDhlY2Q2OWNlNDk4MjM3NTA0YmY4Mjg0MDAwYjQ4OTM3NzdlMDJkOAotLS0gL2Rldi9udWxsCisr
KyBiL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dApAQCAtMCwwICsxLDc4IEBA
CitTRVQoTWluaUJyb3dzZXJfRElSICIke1RPT0xTX0RJUn0vTWluaUJyb3dzZXIvZWZsIikKKwor
U0VUKE1pbmlCcm93c2VyX1NPVVJDRVMKKyAgICAke01pbmlCcm93c2VyX0RJUn0vbWFpbi5jCisp
CisKK1NFVChNaW5pQnJvd3Nlcl9JTkNMVURFX0RJUkVDVE9SSUVTCisgICAgJHtDYWlyb19JTkNM
VURFX0RJUlN9CisgICAgJHtFQ09SRV9YX0lOQ0xVREVfRElSU30KKyAgICAke0VESkVfSU5DTFVE
RV9ESVJTfQorICAgICR7RUZMREVQU19JTkNMVURFX0RJUlN9CisgICAgJHtFVkFTX0lOQ0xVREVf
RElSU30KKyAgICAke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL2VmbAorICAgICR7V0VCS0lU
Ml9ESVJ9CisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2luY2x1ZGUKKyAgICAk
e0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZQorKQorCitJRiAoRU5BQkxFX0dMSUJfU1VQUE9SVCkK
KyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSUJSQVJJRVMKKyAgICAgICAgJHtHbGliX0xJ
QlJBUklFU30KKyAgICAgICAgJHtHdGhyZWFkX0xJQlJBUklFU30KKyAgICApCitFTkRJRiAoKQor
CitTRVQoTWluaUJyb3dzZXJfTElOS19GTEFHUworICAgICR7RUNPUkVfWF9MREZMQUdTfQorICAg
ICR7RURKRV9MREZMQUdTfQorICAgICR7RUZMREVQU19MREZMQUdTfQorICAgICR7RVZBU19MREZM
QUdTfQorKQorCitJRiAoV1RGX1VTRV9TT1VQKQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2Vy
X0xJQlJBUklFUyAke0xJQlNPVVAyNF9MSUJSQVJJRVN9KQorICAgIExJU1QoQVBQRU5EIE1pbmlC
cm93c2VyX0xJTktfRkxBR1MgJHtMSUJTT1VQMjRfTERGTEFHU30pCitFTkRJRiAoKQorCitJRiAo
V1RGX1VTRV9DVVJMKQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJQlJBUklFUyAke0NV
UkxfTElCUkFSSUVTfSkKKyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdTICR7
Q1VSTF9MREZMQUdTfSkKK0VORElGICgpCisKK1NFVChNaW5pQnJvd3Nlcl9MSUJSQVJJRVMKKyAg
ICAke0phdmFTY3JpcHRDb3JlX0xJQlJBUllfTkFNRX0KKyAgICAke1dlYkNvcmVfTElCUkFSWV9O
QU1FfQorICAgICR7V2ViS2l0Ml9MSUJSQVJZX05BTUV9CisgICAgJHtDYWlyb19MSUJSQVJJRVN9
CisgICAgJHtFQ09SRV9YX0xJQlJBUklFU30KKyAgICAke0VESkVfTElCUkFSSUVTfQorICAgICR7
RUZMREVQU19MSUJSQVJJRVN9CisgICAgJHtFVkFTX0xJQlJBUklFU30KKyAgICAke0xJQlhNTDJf
TElCUkFSSUVTfQorICAgICR7TElCWFNMVF9MSUJSQVJJRVN9CisgICAgJHtTUUxJVEVfTElCUkFS
SUVTfQorKQorCitBRERfQ1VTVE9NX1RBUkdFVChmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2Vy
RWZsCisgICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0vU2NyaXB0
cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9ICR7REVS
SVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9pbmNsdWRlIGVmbAorKQorCitJRiAoV1RGX1VTRV9T
T1VQKQorICAgIEFERF9DVVNUT01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJT
b3VwCisgICAgICAgIENPTU1BTkQgJHtQRVJMX0VYRUNVVEFCTEV9ICR7V0VCS0lUMl9ESVJ9L1Nj
cmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsICR7TWluaUJyb3dzZXJfRElSfSAk
e0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vaW5jbHVkZSBzb3VwCisgICAgKQorRU5ESUYg
KCkKKworSU5DTFVERV9ESVJFQ1RPUklFUygke01pbmlCcm93c2VyX0lOQ0xVREVfRElSRUNUT1JJ
RVN9KQorQUREX0VYRUNVVEFCTEUoYmluL01pbmlCcm93c2VyICR7TWluaUJyb3dzZXJfU09VUkNF
U30pCitUQVJHRVRfTElOS19MSUJSQVJJRVMoYmluL01pbmlCcm93c2VyICR7TWluaUJyb3dzZXJf
TElCUkFSSUVTfSkKKworQUREX0RFUEVOREVOQ0lFUyhiaW4vTWluaUJyb3dzZXIgZm9yd2FyZGlu
Zy1oZWFkZXJNaW5pQnJvd3NlckVmbCkKKworSUYgKFdURl9VU0VfU09VUCkKKyAgICBBRERfREVQ
RU5ERU5DSUVTKGJpbi9NaW5pQnJvd3NlciBmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyU291
cCkKK0VORElGICgpCisKK0FERF9UQVJHRVRfUFJPUEVSVElFUyhiaW4vTWluaUJyb3dzZXIgTElO
S19GTEFHUyAiJHtNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdTfSIpCitTRVRfVEFSR0VUX1BST1BFUlRJ
RVMoYmluL01pbmlCcm93c2VyIFBST1BFUlRJRVMgUlVOVElNRV9PVVRQVVRfRElSRUNUT1JZICIk
e0NNQUtFX0JJTkFSWV9ESVJ9IikKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9t
YWluLmMgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxNTdmYWU4
NzM4MGRkMmVlMDg5NGIzMGI4ZjE5YWI2NjFlMjI1ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCkBAIC0wLDAgKzEsMTIxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAq
ICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBX
QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYg
bm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVT
QQorICovCisKKyNpbmNsdWRlICJFV2ViS2l0Mi5oIgorI2luY2x1ZGUgPEVjb3JlLmg+CisjaW5j
bHVkZSA8RWNvcmVfRXZhcy5oPgorI2luY2x1ZGUgPEVpbmEuaD4KKyNpbmNsdWRlIDxFdmFzLmg+
CisKK3N0YXRpYyBjb25zdCBpbnQgREVGQVVMVF9XSURUSCA9IDgwMDsKK3N0YXRpYyBjb25zdCBp
bnQgREVGQVVMVF9IRUlHSFQgPSA2MDA7CitzdGF0aWMgY29uc3QgY2hhciBERUZBVUxUX1VSTFtd
ID0gImh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iOworCit0eXBlZGVmIHN0cnVjdCBfTWluaUJyb3dz
ZXIgeworICAgIEVjb3JlX0V2YXMgKmVlOworICAgIEV2YXMgKmV2YXM7CisgICAgRXZhc19PYmpl
Y3QgKmJnOworICAgIEV2YXNfT2JqZWN0ICpicm93c2VyOworfSBNaW5pQnJvd3NlcjsKKworc3Rh
dGljIEVpbmFfQm9vbCBtYWluX3NpZ25hbF9leGl0KHZvaWQgKmRhdGEsIGludCBldl90eXBlLCB2
b2lkICpldikKK3sKKyAgICBlY29yZV9tYWluX2xvb3BfcXVpdCgpOworICAgIHJldHVybiBFSU5B
X1RSVUU7Cit9CisKK3N0YXRpYyB2b2lkCitvbl9lY29yZV9ldmFzX3Jlc2l6ZShFY29yZV9FdmFz
ICplZSkKK3sKKyAgICBFdmFzX09iamVjdCAqd2VidmlldzsKKyAgICBFdmFzX09iamVjdCAqYmc7
CisgICAgaW50IHcsIGg7CisKKyAgICBlY29yZV9ldmFzX2dlb21ldHJ5X2dldChlZSwgTlVMTCwg
TlVMTCwgJncsICZoKTsKKworICAgIGJnID0gZXZhc19vYmplY3RfbmFtZV9maW5kKGVjb3JlX2V2
YXNfZ2V0KGVlKSwgImJnIik7CisgICAgZXZhc19vYmplY3RfbW92ZShiZywgMCwgMCk7CisgICAg
ZXZhc19vYmplY3RfcmVzaXplKGJnLCB3LCBoKTsKKworICAgIHdlYnZpZXcgPSBldmFzX29iamVj
dF9uYW1lX2ZpbmQoZWNvcmVfZXZhc19nZXQoZWUpLCAiYnJvd3NlciIpOworICAgIGV2YXNfb2Jq
ZWN0X21vdmUod2VidmlldywgMCwgMCk7CisgICAgZXZhc19vYmplY3RfcmVzaXplKHdlYnZpZXcs
IHcsIGgpOworfQorCitzdGF0aWMgTWluaUJyb3dzZXIgKmJyb3dzZXJDcmVhdGUoY29uc3QgY2hh
ciAqdXJsKQoreworICAgIE1pbmlCcm93c2VyICphcHAgPSBtYWxsb2Moc2l6ZW9mKE1pbmlCcm93
c2VyKSk7CisKKyAgICBhcHAtPmVlID0gZWNvcmVfZXZhc19uZXcoMCwgMCwgMCwgREVGQVVMVF9X
SURUSCwgREVGQVVMVF9IRUlHSFQsIDApOworCisgICAgZWNvcmVfZXZhc190aXRsZV9zZXQoYXBw
LT5lZSwgIkVGTCBNaW5pQnJvd3NlciIpOworICAgIGVjb3JlX2V2YXNfY2FsbGJhY2tfcmVzaXpl
X3NldChhcHAtPmVlLCBvbl9lY29yZV9ldmFzX3Jlc2l6ZSk7CisgICAgZWNvcmVfZXZhc19ib3Jk
ZXJsZXNzX3NldChhcHAtPmVlLCAwKTsKKyAgICBlY29yZV9ldmFzX3Nob3coYXBwLT5lZSk7CisK
KyAgICBhcHAtPmV2YXMgPSBlY29yZV9ldmFzX2dldChhcHAtPmVlKTsKKworICAgIGFwcC0+Ymcg
PSBldmFzX29iamVjdF9yZWN0YW5nbGVfYWRkKGFwcC0+ZXZhcyk7CisgICAgZXZhc19vYmplY3Rf
bmFtZV9zZXQoYXBwLT5iZywgImJnIik7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dlaWdo
dF9zZXQoYXBwLT5iZywgRVZBU19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VYUEFORCk7CisKKyAg
ICBldmFzX29iamVjdF9tb3ZlKGFwcC0+YmcsIDAsIDApOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6
ZShhcHAtPmJnLCBERUZBVUxUX1dJRFRILCBERUZBVUxUX0hFSUdIVCk7CisgICAgZXZhc19vYmpl
Y3RfY29sb3Jfc2V0KGFwcC0+YmcsIDI1NSwgMTUwLCAxNTAsIDI1NSk7CisgICAgZXZhc19vYmpl
Y3Rfc2hvdyhhcHAtPmJnKTsKKworICAgIC8qIENyZWF0ZSB3ZWJ2aWV3ICovCisgICAgYXBwLT5i
cm93c2VyID0gZXdrX3ZpZXdfYWRkKGFwcC0+ZXZhcyk7CisgICAgZXZhc19vYmplY3RfbmFtZV9z
ZXQoYXBwLT5icm93c2VyLCAiYnJvd3NlciIpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93
ZWlnaHRfc2V0KGFwcC0+YnJvd3NlciwgRVZBU19ISU5UX0VYUEFORCwgRVZBU19ISU5UX0VYUEFO
RCk7CisKKyAgICBldmFzX29iamVjdF9yZXNpemUoYXBwLT5icm93c2VyLCBERUZBVUxUX1dJRFRI
LCBERUZBVUxUX0hFSUdIVCk7CisgICAgZXZhc19vYmplY3Rfc2hvdyhhcHAtPmJyb3dzZXIpOwor
ICAgIGV2YXNfb2JqZWN0X2ZvY3VzX3NldChhcHAtPmJyb3dzZXIsIEVJTkFfVFJVRSk7CisKKyAg
ICBld2tfdmlld191cmlfc2V0KGFwcC0+YnJvd3NlciwgdXJsKTsKKworICAgIHJldHVybiBhcHA7
Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisgICAgY29uc3QgY2hh
ciAqdXJsOworICAgIGludCBhcmdzID0gMTsKKworICAgIGlmICghZWNvcmVfZXZhc19pbml0KCkp
CisgICAgICAgIHJldHVybiBFWElUX0ZBSUxVUkU7CisKKyAgICBpZiAoYXJncyA8IGFyZ2MpCisg
ICAgICAgIHVybCA9IGFyZ3ZbYXJnc107CisgICAgZWxzZQorICAgICAgICB1cmwgPSBERUZBVUxU
X1VSTDsKKworICAgIE1pbmlCcm93c2VyICpicm93c2VyID0gYnJvd3NlckNyZWF0ZSh1cmwpOwor
CisgICAgRWNvcmVfRXZlbnRfSGFuZGxlciAqaGFuZGxlID0gZWNvcmVfZXZlbnRfaGFuZGxlcl9h
ZGQoRUNPUkVfRVZFTlRfU0lHTkFMX0VYSVQsIG1haW5fc2lnbmFsX2V4aXQsIDApOworCisgICAg
ZWNvcmVfbWFpbl9sb29wX2JlZ2luKCk7CisKKyAgICBlY29yZV9ldmVudF9oYW5kbGVyX2RlbCho
YW5kbGUpOworICAgIGZyZWUoYnJvd3Nlcik7CisKKyAgICBlY29yZV9ldmFzX3NodXRkb3duKCk7
CisKKyAgICByZXR1cm4gMDsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137497</attachid>
            <date>2012-04-17 02:19:15 -0700</date>
            <delta_ts>2012-06-03 23:36:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20120417181913.patch</filename>
            <type>text/plain</type>
            <size>7534</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0MzYwCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMzdlZjdiZGUxZGE3OGJiMzg3ZjJjYTc1MGQ1MjQyMDhl
N2FjMGUzMy4uYjAxNjk0ZTRjMGM2Yjk4MDE5ZTVhNzNiMDEzOTMxMmIxMDljZTQ3YiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA0LTE3ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbRUZMXVtXSzJdIEFkZCBNaW5pQnJvd3NlckVmbC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IE1pbmlCcm93c2VyIGZvciBF
RkwuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9l
ZmwvQ01ha2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWlu
LmM6IEFkZGVkLgorICAgICAgICAoX01pbmlCcm93c2VyKToKKyAgICAgICAgKG1haW5fc2lnbmFs
X2V4aXQpOgorICAgICAgICAob25fZWNvcmVfZXZhc19yZXNpemUpOgorICAgICAgICAoYnJvd3Nl
ckNyZWF0ZSk6CisgICAgICAgIChtYWluKToKKwogMjAxMi0wNC0xNiAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgQ3JlYXRlV2ViS2l0QnVpbGREaXJl
Y3Rvcnkgc3RlcCB0byBmaXggQ2hyb21pdW0gV2luZG93cyBQZXJmIGJvdApkaWZmIC0tZ2l0IGEv
VG9vbHMvQ01ha2VMaXN0cy50eHQgYi9Ub29scy9DTWFrZUxpc3RzLnR4dAppbmRleCBkY2NmMDIz
ZDEzM2IwZTg0YTY2NTk0ZDZjMDE1MzU1MzgxNTM3YjYyLi5lYTc1MjE4NDE2ZjdhZTUwMjk2MWVh
ZTU0YjBhN2NhMDg5ZGJhNDJlIDEwMDY0NAotLS0gYS9Ub29scy9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Ub29scy9DTWFrZUxpc3RzLnR4dApAQCAtMSw2ICsxLDEyIEBACiBJRiAoIiR7UE9SVH0iIFNU
UkVRVUFMICJFZmwiKQotICAgIEFERF9TVUJESVJFQ1RPUlkoRHVtcFJlbmRlclRyZWUvZWZsKQot
ICAgIEFERF9TVUJESVJFQ1RPUlkoRVdlYkxhdW5jaGVyKQorICAgIElGIChFTkFCTEVfV0VCS0lU
KQorICAgICAgICBBRERfU1VCRElSRUNUT1JZKER1bXBSZW5kZXJUcmVlL2VmbCkKKyAgICAgICAg
QUREX1NVQkRJUkVDVE9SWShFV2ViTGF1bmNoZXIpCisgICAgRU5ESUYgKCkKKworICAgIElGIChF
TkFCTEVfV0VCS0lUMikKKyAgICAgICAgQUREX1NVQkRJUkVDVE9SWShNaW5pQnJvd3Nlci9lZmwp
CisgICAgRU5ESUYgKCkKIEVMU0VJRiAoIiR7UE9SVH0iIFNUUkVRVUFMICJXaW5DRSIpCiAgICAg
QUREX1NVQkRJUkVDVE9SWShXaW5DRUxhdW5jaGVyKQogRU5ESUYoKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZs
L0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhjODcwY2MzYjc1ZDJiOTZjMGZkNDJlZDg3YmI4
NzIyM2FkMmJkOGYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01h
a2VMaXN0cy50eHQKQEAgLTAsMCArMSw2NSBAQAorU0VUKE1pbmlCcm93c2VyX0RJUiAiJHtUT09M
U19ESVJ9L01pbmlCcm93c2VyL2VmbCIpCisKK1NFVChNaW5pQnJvd3Nlcl9TT1VSQ0VTCisgICAg
JHtNaW5pQnJvd3Nlcl9ESVJ9L21haW4uYworKQorCitTRVQoTWluaUJyb3dzZXJfSU5DTFVERV9E
SVJFQ1RPUklFUworICAgICR7Q2Fpcm9fSU5DTFVERV9ESVJTfQorICAgICR7RUNPUkVfWF9JTkNM
VURFX0RJUlN9CisgICAgJHtFREpFX0lOQ0xVREVfRElSU30KKyAgICAke0VGTERFUFNfSU5DTFVE
RV9ESVJTfQorICAgICR7RVZBU19JTkNMVURFX0RJUlN9CisgICAgJHtXRUJLSVQyX0RJUn0vVUlQ
cm9jZXNzL0FQSS9lZmwKKyAgICAke1dFQktJVDJfRElSfQorICAgICR7REVSSVZFRF9TT1VSQ0VT
X1dFQktJVDJfRElSfS9pbmNsdWRlCisgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UKKykK
KworU0VUKE1pbmlCcm93c2VyX0xJQlJBUklFUworICAgICR7SmF2YVNjcmlwdENvcmVfTElCUkFS
WV9OQU1FfQorICAgICR7V2ViQ29yZV9MSUJSQVJZX05BTUV9CisgICAgJHtXZWJLaXQyX0xJQlJB
UllfTkFNRX0KKyAgICAke0NhaXJvX0xJQlJBUklFU30KKyAgICAke0VDT1JFX1hfTElCUkFSSUVT
fQorICAgICR7RURKRV9MSUJSQVJJRVN9CisgICAgJHtFRkxERVBTX0xJQlJBUklFU30KKyAgICAk
e0VWQVNfTElCUkFSSUVTfQorICAgICR7TElCU09VUDI0X0xJQlJBUklFU30KKyAgICAke0xJQlhN
TDJfTElCUkFSSUVTfQorICAgICR7TElCWFNMVF9MSUJSQVJJRVN9CisgICAgJHtTUUxJVEVfTElC
UkFSSUVTfQorKQorCitTRVQoTWluaUJyb3dzZXJfTElOS19GTEFHUworICAgICR7RUNPUkVfWF9M
REZMQUdTfQorICAgICR7RURKRV9MREZMQUdTfQorICAgICR7RUZMREVQU19MREZMQUdTfQorICAg
ICR7RVZBU19MREZMQUdTfQorICAgICR7TElCU09VUDI0X0xERkxBR1N9CispCisKK0lGIChFTkFC
TEVfR0xJQl9TVVBQT1JUKQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJQlJBUklFUwor
ICAgICAgICAke0dsaWJfTElCUkFSSUVTfQorICAgICAgICAke0d0aHJlYWRfTElCUkFSSUVTfQor
ICAgICkKK0VORElGICgpCisKK0FERF9DVVNUT01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWlu
aUJyb3dzZXJFZmwKKyAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQktJVDJfRElS
fS9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCAke01pbmlCcm93c2VyX0RJ
Un0gJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2luY2x1ZGUgZWZsCispCisKK0FERF9D
VVNUT01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJTb3VwCisgICAgQ09NTUFO
RCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0vU2NyaXB0cy9nZW5lcmF0ZS1mb3J3
YXJkaW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9ICR7REVSSVZFRF9TT1VSQ0VTX1dF
QktJVDJfRElSfS9pbmNsdWRlIHNvdXAKKykKKworSU5DTFVERV9ESVJFQ1RPUklFUygke01pbmlC
cm93c2VyX0lOQ0xVREVfRElSRUNUT1JJRVN9KQorQUREX0VYRUNVVEFCTEUoYmluL01pbmlCcm93
c2VyICR7TWluaUJyb3dzZXJfU09VUkNFU30pCitUQVJHRVRfTElOS19MSUJSQVJJRVMoYmluL01p
bmlCcm93c2VyICR7TWluaUJyb3dzZXJfTElCUkFSSUVTfSkKKworQUREX0RFUEVOREVOQ0lFUyhi
aW4vTWluaUJyb3dzZXIgZm9yd2FyZGluZy1oZWFkZXJNaW5pQnJvd3NlckVmbCkKK0FERF9ERVBF
TkRFTkNJRVMoYmluL01pbmlCcm93c2VyIGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJTb3Vw
KQorCitBRERfVEFSR0VUX1BST1BFUlRJRVMoYmluL01pbmlCcm93c2VyIExJTktfRkxBR1MgIiR7
TWluaUJyb3dzZXJfTElOS19GTEFHU30iKQorU0VUX1RBUkdFVF9QUk9QRVJUSUVTKGJpbi9NaW5p
QnJvd3NlciBQUk9QRVJUSUVTIFJVTlRJTUVfT1VUUFVUX0RJUkVDVE9SWSAiJHtDTUFLRV9CSU5B
UllfRElSfSIpCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jIGIvVG9v
bHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MTU3ZmFlODczODBkZDJlZTA4
OTRiMzBiOGYxOWFiNjYxZTIyNWUyCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dz
ZXIvZWZsL21haW4uYwpAQCAtMCwwICsxLDEyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBTYW1zdW5nIEVsZWN0cm9uaWNzCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAg
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVz
c2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUg
dG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisj
aW5jbHVkZSAiRVdlYktpdDIuaCIKKyNpbmNsdWRlIDxFY29yZS5oPgorI2luY2x1ZGUgPEVjb3Jl
X0V2YXMuaD4KKyNpbmNsdWRlIDxFaW5hLmg+CisjaW5jbHVkZSA8RXZhcy5oPgorCitzdGF0aWMg
Y29uc3QgaW50IERFRkFVTFRfV0lEVEggPSA4MDA7CitzdGF0aWMgY29uc3QgaW50IERFRkFVTFRf
SEVJR0hUID0gNjAwOworc3RhdGljIGNvbnN0IGNoYXIgREVGQVVMVF9VUkxbXSA9ICJodHRwOi8v
d3d3Lmdvb2dsZS5jb20vIjsKKwordHlwZWRlZiBzdHJ1Y3QgX01pbmlCcm93c2VyIHsKKyAgICBF
Y29yZV9FdmFzICplZTsKKyAgICBFdmFzICpldmFzOworICAgIEV2YXNfT2JqZWN0ICpiZzsKKyAg
ICBFdmFzX09iamVjdCAqYnJvd3NlcjsKK30gTWluaUJyb3dzZXI7CisKK3N0YXRpYyBFaW5hX0Jv
b2wgbWFpbl9zaWduYWxfZXhpdCh2b2lkICpkYXRhLCBpbnQgZXZfdHlwZSwgdm9pZCAqZXYpCit7
CisgICAgZWNvcmVfbWFpbl9sb29wX3F1aXQoKTsKKyAgICByZXR1cm4gRUlOQV9UUlVFOworfQor
CitzdGF0aWMgdm9pZAorb25fZWNvcmVfZXZhc19yZXNpemUoRWNvcmVfRXZhcyAqZWUpCit7Cisg
ICAgRXZhc19PYmplY3QgKndlYnZpZXc7CisgICAgRXZhc19PYmplY3QgKmJnOworICAgIGludCB3
LCBoOworCisgICAgZWNvcmVfZXZhc19nZW9tZXRyeV9nZXQoZWUsIE5VTEwsIE5VTEwsICZ3LCAm
aCk7CisKKyAgICBiZyA9IGV2YXNfb2JqZWN0X25hbWVfZmluZChlY29yZV9ldmFzX2dldChlZSks
ICJiZyIpOworICAgIGV2YXNfb2JqZWN0X21vdmUoYmcsIDAsIDApOworICAgIGV2YXNfb2JqZWN0
X3Jlc2l6ZShiZywgdywgaCk7CisKKyAgICB3ZWJ2aWV3ID0gZXZhc19vYmplY3RfbmFtZV9maW5k
KGVjb3JlX2V2YXNfZ2V0KGVlKSwgImJyb3dzZXIiKTsKKyAgICBldmFzX29iamVjdF9tb3ZlKHdl
YnZpZXcsIDAsIDApOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZSh3ZWJ2aWV3LCB3LCBoKTsKK30K
Kworc3RhdGljIE1pbmlCcm93c2VyICpicm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCkKK3sK
KyAgICBNaW5pQnJvd3NlciAqYXBwID0gbWFsbG9jKHNpemVvZihNaW5pQnJvd3NlcikpOworCisg
ICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNfbmV3KDAsIDAsIDAsIERFRkFVTFRfV0lEVEgsIERFRkFV
TFRfSEVJR0hULCAwKTsKKworICAgIGVjb3JlX2V2YXNfdGl0bGVfc2V0KGFwcC0+ZWUsICJFRkwg
TWluaUJyb3dzZXIiKTsKKyAgICBlY29yZV9ldmFzX2NhbGxiYWNrX3Jlc2l6ZV9zZXQoYXBwLT5l
ZSwgb25fZWNvcmVfZXZhc19yZXNpemUpOworICAgIGVjb3JlX2V2YXNfYm9yZGVybGVzc19zZXQo
YXBwLT5lZSwgMCk7CisgICAgZWNvcmVfZXZhc19zaG93KGFwcC0+ZWUpOworCisgICAgYXBwLT5l
dmFzID0gZWNvcmVfZXZhc19nZXQoYXBwLT5lZSk7CisKKyAgICBhcHAtPmJnID0gZXZhc19vYmpl
Y3RfcmVjdGFuZ2xlX2FkZChhcHAtPmV2YXMpOworICAgIGV2YXNfb2JqZWN0X25hbWVfc2V0KGFw
cC0+YmcsICJiZyIpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRfc2V0KGFwcC0+
YmcsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOworCisgICAgZXZhc19vYmpl
Y3RfbW92ZShhcHAtPmJnLCAwLCAwKTsKKyAgICBldmFzX29iamVjdF9yZXNpemUoYXBwLT5iZywg
REVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQpOworICAgIGV2YXNfb2JqZWN0X2NvbG9yX3Nl
dChhcHAtPmJnLCAyNTUsIDE1MCwgMTUwLCAyNTUpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBw
LT5iZyk7CisKKyAgICAvKiBDcmVhdGUgd2VidmlldyAqLworICAgIGFwcC0+YnJvd3NlciA9IGV3
a192aWV3X2FkZChhcHAtPmV2YXMpOworICAgIGV2YXNfb2JqZWN0X25hbWVfc2V0KGFwcC0+YnJv
d3NlciwgImJyb3dzZXIiKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChh
cHAtPmJyb3dzZXIsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOworCisgICAg
ZXZhc19vYmplY3RfcmVzaXplKGFwcC0+YnJvd3NlciwgREVGQVVMVF9XSURUSCwgREVGQVVMVF9I
RUlHSFQpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwLT5icm93c2VyKTsKKyAgICBldmFzX29i
amVjdF9mb2N1c19zZXQoYXBwLT5icm93c2VyLCBFSU5BX1RSVUUpOworCisgICAgZXdrX3ZpZXdf
dXJpX3NldChhcHAtPmJyb3dzZXIsIHVybCk7CisKKyAgICByZXR1cm4gYXBwOworfQorCitpbnQg
bWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworICAgIGNvbnN0IGNoYXIgKnVybDsKKyAg
ICBpbnQgYXJncyA9IDE7CisKKyAgICBpZiAoIWVjb3JlX2V2YXNfaW5pdCgpKQorICAgICAgICBy
ZXR1cm4gRVhJVF9GQUlMVVJFOworCisgICAgaWYgKGFyZ3MgPCBhcmdjKQorICAgICAgICB1cmwg
PSBhcmd2W2FyZ3NdOworICAgIGVsc2UKKyAgICAgICAgdXJsID0gREVGQVVMVF9VUkw7CisKKyAg
ICBNaW5pQnJvd3NlciAqYnJvd3NlciA9IGJyb3dzZXJDcmVhdGUodXJsKTsKKworICAgIEVjb3Jl
X0V2ZW50X0hhbmRsZXIgKmhhbmRsZSA9IGVjb3JlX2V2ZW50X2hhbmRsZXJfYWRkKEVDT1JFX0VW
RU5UX1NJR05BTF9FWElULCBtYWluX3NpZ25hbF9leGl0LCAwKTsKKworICAgIGVjb3JlX21haW5f
bG9vcF9iZWdpbigpOworCisgICAgZWNvcmVfZXZlbnRfaGFuZGxlcl9kZWwoaGFuZGxlKTsKKyAg
ICBmcmVlKGJyb3dzZXIpOworCisgICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOworCisgICAgcmV0
dXJuIDA7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145521</attachid>
            <date>2012-06-03 23:37:00 -0700</date>
            <delta_ts>2012-06-10 08:03:21 -0700</delta_ts>
            <desc>rebased</desc>
            <filename>bug-61850-20120604153659.patch</filename>
            <type>text/plain</type>
            <size>7438</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MzcyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggY2ZjYWYwZTNiOGE2ODBhZGM3NzQ1ZTIxOWE3NzlkNmI5
NTRlMjE1My4uZThkZjE1MDdhYWQ2MTI3ZWZlM2Y4ZDNhODNmODQ3NDZkMjNkYjE5YSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA2LTAzICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbRUZMXVtXSzJdIEFkZCBNaW5pQnJvd3NlckVmbC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IE1pbmlCcm93c2VyIGZvciBF
RkwuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9l
ZmwvQ01ha2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWlu
LmM6IEFkZGVkLgorICAgICAgICAoX01pbmlCcm93c2VyKToKKyAgICAgICAgKG1haW5fc2lnbmFs
X2V4aXQpOgorICAgICAgICAob25fZWNvcmVfZXZhc19yZXNpemUpOgorICAgICAgICAoYnJvd3Nl
ckNyZWF0ZSk6CisgICAgICAgIChtYWluKToKKwogMjAxMi0wNi0wMyAgVmFydW4gSmFpbiAgPHZh
cnVuamFpbkBnb29nbGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQWRkIG5ldyBnZXN0dXJl
IHR5cGUgKHR3byBmaW5nZXIgdGFwKSB0aGF0IHRyaWdnZXJzIGNvbnRleHQgbWVudS4KZGlmZiAt
LWdpdCBhL1Rvb2xzL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvQ01ha2VMaXN0cy50eHQKaW5kZXgg
Njg5NDY3MDYxOTA1MDQyNTUyZThjY2YzNWYxYjMyNDVhYmE4ZmMwNC4uZWE3NTIxODQxNmY3YWU1
MDI5NjFlYWU1NGIwYTdjYTA4OWRiYTQyZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ01ha2VMaXN0cy50
eHQKKysrIGIvVG9vbHMvQ01ha2VMaXN0cy50eHQKQEAgLTMsNiArMywxMCBAQCBJRiAoIiR7UE9S
VH0iIFNUUkVRVUFMICJFZmwiKQogICAgICAgICBBRERfU1VCRElSRUNUT1JZKER1bXBSZW5kZXJU
cmVlL2VmbCkKICAgICAgICAgQUREX1NVQkRJUkVDVE9SWShFV2ViTGF1bmNoZXIpCiAgICAgRU5E
SUYgKCkKKworICAgIElGIChFTkFCTEVfV0VCS0lUMikKKyAgICAgICAgQUREX1NVQkRJUkVDVE9S
WShNaW5pQnJvd3Nlci9lZmwpCisgICAgRU5ESUYgKCkKIEVMU0VJRiAoIiR7UE9SVH0iIFNUUkVR
VUFMICJXaW5DRSIpCiAgICAgQUREX1NVQkRJUkVDVE9SWShXaW5DRUxhdW5jaGVyKQogRU5ESUYo
KQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0IGIvVG9v
bHMvTWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhjODcwY2MzYjc1
ZDJiOTZjMGZkNDJlZDg3YmI4NzIyM2FkMmJkOGYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9N
aW5pQnJvd3Nlci9lZmwvQ01ha2VMaXN0cy50eHQKQEAgLTAsMCArMSw2NSBAQAorU0VUKE1pbmlC
cm93c2VyX0RJUiAiJHtUT09MU19ESVJ9L01pbmlCcm93c2VyL2VmbCIpCisKK1NFVChNaW5pQnJv
d3Nlcl9TT1VSQ0VTCisgICAgJHtNaW5pQnJvd3Nlcl9ESVJ9L21haW4uYworKQorCitTRVQoTWlu
aUJyb3dzZXJfSU5DTFVERV9ESVJFQ1RPUklFUworICAgICR7Q2Fpcm9fSU5DTFVERV9ESVJTfQor
ICAgICR7RUNPUkVfWF9JTkNMVURFX0RJUlN9CisgICAgJHtFREpFX0lOQ0xVREVfRElSU30KKyAg
ICAke0VGTERFUFNfSU5DTFVERV9ESVJTfQorICAgICR7RVZBU19JTkNMVURFX0RJUlN9CisgICAg
JHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9lZmwKKyAgICAke1dFQktJVDJfRElSfQorICAg
ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9pbmNsdWRlCisgICAgJHtDTUFLRV9TT1VS
Q0VfRElSfS9Tb3VyY2UKKykKKworU0VUKE1pbmlCcm93c2VyX0xJQlJBUklFUworICAgICR7SmF2
YVNjcmlwdENvcmVfTElCUkFSWV9OQU1FfQorICAgICR7V2ViQ29yZV9MSUJSQVJZX05BTUV9Cisg
ICAgJHtXZWJLaXQyX0xJQlJBUllfTkFNRX0KKyAgICAke0NhaXJvX0xJQlJBUklFU30KKyAgICAk
e0VDT1JFX1hfTElCUkFSSUVTfQorICAgICR7RURKRV9MSUJSQVJJRVN9CisgICAgJHtFRkxERVBT
X0xJQlJBUklFU30KKyAgICAke0VWQVNfTElCUkFSSUVTfQorICAgICR7TElCU09VUDI0X0xJQlJB
UklFU30KKyAgICAke0xJQlhNTDJfTElCUkFSSUVTfQorICAgICR7TElCWFNMVF9MSUJSQVJJRVN9
CisgICAgJHtTUUxJVEVfTElCUkFSSUVTfQorKQorCitTRVQoTWluaUJyb3dzZXJfTElOS19GTEFH
UworICAgICR7RUNPUkVfWF9MREZMQUdTfQorICAgICR7RURKRV9MREZMQUdTfQorICAgICR7RUZM
REVQU19MREZMQUdTfQorICAgICR7RVZBU19MREZMQUdTfQorICAgICR7TElCU09VUDI0X0xERkxB
R1N9CispCisKK0lGIChFTkFCTEVfR0xJQl9TVVBQT1JUKQorICAgIExJU1QoQVBQRU5EIE1pbmlC
cm93c2VyX0xJQlJBUklFUworICAgICAgICAke0dsaWJfTElCUkFSSUVTfQorICAgICAgICAke0d0
aHJlYWRfTElCUkFSSUVTfQorICAgICkKK0VORElGICgpCisKK0FERF9DVVNUT01fVEFSR0VUKGZv
cndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJFZmwKKyAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRB
QkxFfSAke1dFQktJVDJfRElSfS9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5w
bCAke01pbmlCcm93c2VyX0RJUn0gJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2luY2x1
ZGUgZWZsCispCisKK0FERF9DVVNUT01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dz
ZXJTb3VwCisgICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0vU2Ny
aXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9ICR7
REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9pbmNsdWRlIHNvdXAKKykKKworSU5DTFVERV9E
SVJFQ1RPUklFUygke01pbmlCcm93c2VyX0lOQ0xVREVfRElSRUNUT1JJRVN9KQorQUREX0VYRUNV
VEFCTEUoYmluL01pbmlCcm93c2VyICR7TWluaUJyb3dzZXJfU09VUkNFU30pCitUQVJHRVRfTElO
S19MSUJSQVJJRVMoYmluL01pbmlCcm93c2VyICR7TWluaUJyb3dzZXJfTElCUkFSSUVTfSkKKwor
QUREX0RFUEVOREVOQ0lFUyhiaW4vTWluaUJyb3dzZXIgZm9yd2FyZGluZy1oZWFkZXJNaW5pQnJv
d3NlckVmbCkKK0FERF9ERVBFTkRFTkNJRVMoYmluL01pbmlCcm93c2VyIGZvcndhcmRpbmctaGVh
ZGVyTWluaUJyb3dzZXJTb3VwKQorCitBRERfVEFSR0VUX1BST1BFUlRJRVMoYmluL01pbmlCcm93
c2VyIExJTktfRkxBR1MgIiR7TWluaUJyb3dzZXJfTElOS19GTEFHU30iKQorU0VUX1RBUkdFVF9Q
Uk9QRVJUSUVTKGJpbi9NaW5pQnJvd3NlciBQUk9QRVJUSUVTIFJVTlRJTUVfT1VUUFVUX0RJUkVD
VE9SWSAiJHtDTUFLRV9CSU5BUllfRElSfSIpCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nl
ci9lZmwvbWFpbi5jIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
MTU3ZmFlODczODBkZDJlZTA4OTRiMzBiOGYxOWFiNjYxZTIyNWUyCi0tLSAvZGV2L251bGwKKysr
IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYwpAQCAtMCwwICsxLDEyMSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCisgKgorICogIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv
cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0x
MzAxICBVU0EKKyAqLworCisjaW5jbHVkZSAiRVdlYktpdDIuaCIKKyNpbmNsdWRlIDxFY29yZS5o
PgorI2luY2x1ZGUgPEVjb3JlX0V2YXMuaD4KKyNpbmNsdWRlIDxFaW5hLmg+CisjaW5jbHVkZSA8
RXZhcy5oPgorCitzdGF0aWMgY29uc3QgaW50IERFRkFVTFRfV0lEVEggPSA4MDA7CitzdGF0aWMg
Y29uc3QgaW50IERFRkFVTFRfSEVJR0hUID0gNjAwOworc3RhdGljIGNvbnN0IGNoYXIgREVGQVVM
VF9VUkxbXSA9ICJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIjsKKwordHlwZWRlZiBzdHJ1Y3QgX01p
bmlCcm93c2VyIHsKKyAgICBFY29yZV9FdmFzICplZTsKKyAgICBFdmFzICpldmFzOworICAgIEV2
YXNfT2JqZWN0ICpiZzsKKyAgICBFdmFzX09iamVjdCAqYnJvd3NlcjsKK30gTWluaUJyb3dzZXI7
CisKK3N0YXRpYyBFaW5hX0Jvb2wgbWFpbl9zaWduYWxfZXhpdCh2b2lkICpkYXRhLCBpbnQgZXZf
dHlwZSwgdm9pZCAqZXYpCit7CisgICAgZWNvcmVfbWFpbl9sb29wX3F1aXQoKTsKKyAgICByZXR1
cm4gRUlOQV9UUlVFOworfQorCitzdGF0aWMgdm9pZAorb25fZWNvcmVfZXZhc19yZXNpemUoRWNv
cmVfRXZhcyAqZWUpCit7CisgICAgRXZhc19PYmplY3QgKndlYnZpZXc7CisgICAgRXZhc19PYmpl
Y3QgKmJnOworICAgIGludCB3LCBoOworCisgICAgZWNvcmVfZXZhc19nZW9tZXRyeV9nZXQoZWUs
IE5VTEwsIE5VTEwsICZ3LCAmaCk7CisKKyAgICBiZyA9IGV2YXNfb2JqZWN0X25hbWVfZmluZChl
Y29yZV9ldmFzX2dldChlZSksICJiZyIpOworICAgIGV2YXNfb2JqZWN0X21vdmUoYmcsIDAsIDAp
OworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShiZywgdywgaCk7CisKKyAgICB3ZWJ2aWV3ID0gZXZh
c19vYmplY3RfbmFtZV9maW5kKGVjb3JlX2V2YXNfZ2V0KGVlKSwgImJyb3dzZXIiKTsKKyAgICBl
dmFzX29iamVjdF9tb3ZlKHdlYnZpZXcsIDAsIDApOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZSh3
ZWJ2aWV3LCB3LCBoKTsKK30KKworc3RhdGljIE1pbmlCcm93c2VyICpicm93c2VyQ3JlYXRlKGNv
bnN0IGNoYXIgKnVybCkKK3sKKyAgICBNaW5pQnJvd3NlciAqYXBwID0gbWFsbG9jKHNpemVvZihN
aW5pQnJvd3NlcikpOworCisgICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNfbmV3KDAsIDAsIDAsIERF
RkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hULCAwKTsKKworICAgIGVjb3JlX2V2YXNfdGl0bGVf
c2V0KGFwcC0+ZWUsICJFRkwgTWluaUJyb3dzZXIiKTsKKyAgICBlY29yZV9ldmFzX2NhbGxiYWNr
X3Jlc2l6ZV9zZXQoYXBwLT5lZSwgb25fZWNvcmVfZXZhc19yZXNpemUpOworICAgIGVjb3JlX2V2
YXNfYm9yZGVybGVzc19zZXQoYXBwLT5lZSwgMCk7CisgICAgZWNvcmVfZXZhc19zaG93KGFwcC0+
ZWUpOworCisgICAgYXBwLT5ldmFzID0gZWNvcmVfZXZhc19nZXQoYXBwLT5lZSk7CisKKyAgICBh
cHAtPmJnID0gZXZhc19vYmplY3RfcmVjdGFuZ2xlX2FkZChhcHAtPmV2YXMpOworICAgIGV2YXNf
b2JqZWN0X25hbWVfc2V0KGFwcC0+YmcsICJiZyIpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGlu
dF93ZWlnaHRfc2V0KGFwcC0+YmcsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQp
OworCisgICAgZXZhc19vYmplY3RfbW92ZShhcHAtPmJnLCAwLCAwKTsKKyAgICBldmFzX29iamVj
dF9yZXNpemUoYXBwLT5iZywgREVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQpOworICAgIGV2
YXNfb2JqZWN0X2NvbG9yX3NldChhcHAtPmJnLCAyNTUsIDE1MCwgMTUwLCAyNTUpOworICAgIGV2
YXNfb2JqZWN0X3Nob3coYXBwLT5iZyk7CisKKyAgICAvKiBDcmVhdGUgd2VidmlldyAqLworICAg
IGFwcC0+YnJvd3NlciA9IGV3a192aWV3X2FkZChhcHAtPmV2YXMpOworICAgIGV2YXNfb2JqZWN0
X25hbWVfc2V0KGFwcC0+YnJvd3NlciwgImJyb3dzZXIiKTsKKyAgICBldmFzX29iamVjdF9zaXpl
X2hpbnRfd2VpZ2h0X3NldChhcHAtPmJyb3dzZXIsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElO
VF9FWFBBTkQpOworCisgICAgZXZhc19vYmplY3RfcmVzaXplKGFwcC0+YnJvd3NlciwgREVGQVVM
VF9XSURUSCwgREVGQVVMVF9IRUlHSFQpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwLT5icm93
c2VyKTsKKyAgICBldmFzX29iamVjdF9mb2N1c19zZXQoYXBwLT5icm93c2VyLCBFSU5BX1RSVUUp
OworCisgICAgZXdrX3ZpZXdfdXJpX3NldChhcHAtPmJyb3dzZXIsIHVybCk7CisKKyAgICByZXR1
cm4gYXBwOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworICAgIGNv
bnN0IGNoYXIgKnVybDsKKyAgICBpbnQgYXJncyA9IDE7CisKKyAgICBpZiAoIWVjb3JlX2V2YXNf
aW5pdCgpKQorICAgICAgICByZXR1cm4gRVhJVF9GQUlMVVJFOworCisgICAgaWYgKGFyZ3MgPCBh
cmdjKQorICAgICAgICB1cmwgPSBhcmd2W2FyZ3NdOworICAgIGVsc2UKKyAgICAgICAgdXJsID0g
REVGQVVMVF9VUkw7CisKKyAgICBNaW5pQnJvd3NlciAqYnJvd3NlciA9IGJyb3dzZXJDcmVhdGUo
dXJsKTsKKworICAgIEVjb3JlX0V2ZW50X0hhbmRsZXIgKmhhbmRsZSA9IGVjb3JlX2V2ZW50X2hh
bmRsZXJfYWRkKEVDT1JFX0VWRU5UX1NJR05BTF9FWElULCBtYWluX3NpZ25hbF9leGl0LCAwKTsK
KworICAgIGVjb3JlX21haW5fbG9vcF9iZWdpbigpOworCisgICAgZWNvcmVfZXZlbnRfaGFuZGxl
cl9kZWwoaGFuZGxlKTsKKyAgICBmcmVlKGJyb3dzZXIpOworCisgICAgZWNvcmVfZXZhc19zaHV0
ZG93bigpOworCisgICAgcmV0dXJuIDA7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146737</attachid>
            <date>2012-06-10 08:03:33 -0700</date>
            <delta_ts>2012-06-11 18:22:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61850-20120611000331.patch</filename>
            <type>text/plain</type>
            <size>7455</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5OTI4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTE5MzI3MzNkYTEzM2NkZTIyZmMyN2E4YWJhMTJhYjU2
YjM4MTAxMi4uODRkMzNiMjhiYTY5NTU2NDVlYzZjNmZhYTg3YWYyZjFlODcyYWNkOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA2LTEwICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbRUZMXVtXSzJdIEFkZCBNaW5pQnJvd3NlckVmbC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IE1pbmlCcm93c2VyIGZvciBF
RkwuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9l
ZmwvQ01ha2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWlu
LmM6IEFkZGVkLgorICAgICAgICAoX01pbmlCcm93c2VyKToKKyAgICAgICAgKG1haW5fc2lnbmFs
X2V4aXQpOgorICAgICAgICAob25fZWNvcmVfZXZhc19yZXNpemUpOgorICAgICAgICAoYnJvd3Nl
ckNyZWF0ZSk6CisgICAgICAgIChtYWluKToKKwogMjAxMi0wNi0wOSAgRG9taW5pYyBDb29uZXkg
IDxkb21pbmljY0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBSZW1vdmUgSmF2
YVNjcmlwdENvcmUgZGVwZW5kZW5jaWVzIGZyb20gZ3lwCmRpZmYgLS1naXQgYS9Ub29scy9DTWFr
ZUxpc3RzLnR4dCBiL1Rvb2xzL0NNYWtlTGlzdHMudHh0CmluZGV4IDY4OTQ2NzA2MTkwNTA0MjU1
MmU4Y2NmMzVmMWIzMjQ1YWJhOGZjMDQuLmVhNzUyMTg0MTZmN2FlNTAyOTYxZWFlNTRiMGE3Y2Ew
ODlkYmE0MmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NNYWtlTGlzdHMudHh0CisrKyBiL1Rvb2xzL0NN
YWtlTGlzdHMudHh0CkBAIC0zLDYgKzMsMTAgQEAgSUYgKCIke1BPUlR9IiBTVFJFUVVBTCAiRWZs
IikKICAgICAgICAgQUREX1NVQkRJUkVDVE9SWShEdW1wUmVuZGVyVHJlZS9lZmwpCiAgICAgICAg
IEFERF9TVUJESVJFQ1RPUlkoRVdlYkxhdW5jaGVyKQogICAgIEVORElGICgpCisKKyAgICBJRiAo
RU5BQkxFX1dFQktJVDIpCisgICAgICAgIEFERF9TVUJESVJFQ1RPUlkoTWluaUJyb3dzZXIvZWZs
KQorICAgIEVORElGICgpCiBFTFNFSUYgKCIke1BPUlR9IiBTVFJFUVVBTCAiV2luQ0UiKQogICAg
IEFERF9TVUJESVJFQ1RPUlkoV2luQ0VMYXVuY2hlcikKIEVORElGKCkKZGlmZiAtLWdpdCBhL1Rv
b2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL01pbmlCcm93c2VyL2Vm
bC9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNWFiZDhiOWZmODljZmExOTZhY2JiYWQ0YjJm
ODcyMWFiYTQ2MzRlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NN
YWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNjUgQEAKK1NFVChNaW5pQnJvd3Nlcl9ESVIgIiR7VE9P
TFNfRElSfS9NaW5pQnJvd3Nlci9lZmwiKQorCitTRVQoTWluaUJyb3dzZXJfU09VUkNFUworICAg
ICR7TWluaUJyb3dzZXJfRElSfS9tYWluLmMKKykKKworU0VUKE1pbmlCcm93c2VyX0lOQ0xVREVf
RElSRUNUT1JJRVMKKyAgICAke0NBSVJPX0lOQ0xVREVfRElSU30KKyAgICAke0VDT1JFX1hfSU5D
TFVERV9ESVJTfQorICAgICR7RURKRV9JTkNMVURFX0RJUlN9CisgICAgJHtFRkxERVBTX0lOQ0xV
REVfRElSU30KKyAgICAke0VWQVNfSU5DTFVERV9ESVJTfQorICAgICR7V0VCS0lUMl9ESVJ9L1VJ
UHJvY2Vzcy9BUEkvZWZsCisgICAgJHtXRUJLSVQyX0RJUn0KKyAgICAke0RFUklWRURfU09VUkNF
U19XRUJLSVQyX0RJUn0vaW5jbHVkZQorICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlCisp
CisKK1NFVChNaW5pQnJvd3Nlcl9MSUJSQVJJRVMKKyAgICAke0phdmFTY3JpcHRDb3JlX0xJQlJB
UllfTkFNRX0KKyAgICAke1dlYkNvcmVfTElCUkFSWV9OQU1FfQorICAgICR7V2ViS2l0Ml9MSUJS
QVJZX05BTUV9CisgICAgJHtDQUlST19MSUJSQVJJRVN9CisgICAgJHtFQ09SRV9YX0xJQlJBUklF
U30KKyAgICAke0VESkVfTElCUkFSSUVTfQorICAgICR7RUZMREVQU19MSUJSQVJJRVN9CisgICAg
JHtFVkFTX0xJQlJBUklFU30KKyAgICAke0xJQlNPVVAyNF9MSUJSQVJJRVN9CisgICAgJHtMSUJY
TUwyX0xJQlJBUklFU30KKyAgICAke0xJQlhTTFRfTElCUkFSSUVTfQorICAgICR7U1FMSVRFX0xJ
QlJBUklFU30KKykKKworU0VUKE1pbmlCcm93c2VyX0xJTktfRkxBR1MKKyAgICAke0VDT1JFX1hf
TERGTEFHU30KKyAgICAke0VESkVfTERGTEFHU30KKyAgICAke0VGTERFUFNfTERGTEFHU30KKyAg
ICAke0VWQVNfTERGTEFHU30KKyAgICAke0xJQlNPVVAyNF9MREZMQUdTfQorKQorCitJRiAoRU5B
QkxFX0dMSUJfU1VQUE9SVCkKKyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSUJSQVJJRVMK
KyAgICAgICAgJHtHbGliX0xJQlJBUklFU30KKyAgICAgICAgJHtHdGhyZWFkX0xJQlJBUklFU30K
KyAgICApCitFTkRJRiAoKQorCitBRERfQ1VTVE9NX1RBUkdFVChmb3J3YXJkaW5nLWhlYWRlck1p
bmlCcm93c2VyRWZsCisgICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJ
Un0vU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9E
SVJ9ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9pbmNsdWRlIGVmbAorKQorCitBRERf
Q1VTVE9NX1RBUkdFVChmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyU291cAorICAgIENPTU1B
TkQgJHtQRVJMX0VYRUNVVEFCTEV9ICR7V0VCS0lUMl9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUtZm9y
d2FyZGluZy1oZWFkZXJzLnBsICR7TWluaUJyb3dzZXJfRElSfSAke0RFUklWRURfU09VUkNFU19X
RUJLSVQyX0RJUn0vaW5jbHVkZSBzb3VwCispCisKK0lOQ0xVREVfRElSRUNUT1JJRVMoJHtNaW5p
QnJvd3Nlcl9JTkNMVURFX0RJUkVDVE9SSUVTfSkKK0FERF9FWEVDVVRBQkxFKGJpbi9NaW5pQnJv
d3NlciAke01pbmlCcm93c2VyX1NPVVJDRVN9KQorVEFSR0VUX0xJTktfTElCUkFSSUVTKGJpbi9N
aW5pQnJvd3NlciAke01pbmlCcm93c2VyX0xJQlJBUklFU30pCisKK0FERF9ERVBFTkRFTkNJRVMo
YmluL01pbmlCcm93c2VyIGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJFZmwpCitBRERfREVQ
RU5ERU5DSUVTKGJpbi9NaW5pQnJvd3NlciBmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyU291
cCkKKworQUREX1RBUkdFVF9QUk9QRVJUSUVTKGJpbi9NaW5pQnJvd3NlciBMSU5LX0ZMQUdTICIk
e01pbmlCcm93c2VyX0xJTktfRkxBR1N9IikKK1NFVF9UQVJHRVRfUFJPUEVSVElFUyhiaW4vTWlu
aUJyb3dzZXIgUFJPUEVSVElFUyBSVU5USU1FX09VVFBVVF9ESVJFQ1RPUlkgIiR7Q01BS0VfQklO
QVJZX0RJUn0iKQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rv
b2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzg1ZmYyZmJkYTI0YWMxYWZj
OGJjMjA5MzdhZDNkYzI1NmNlMGMzYwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93
c2VyL2VmbC9tYWluLmMKQEAgLTAsMCArMSwxMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgU2Ftc3VuZyBFbGVjdHJvbmljcworICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2Ug
YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICog
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExl
c3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRl
IHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKwor
I2luY2x1ZGUgIkVXZWJLaXQyLmgiCisjaW5jbHVkZSA8RWNvcmUuaD4KKyNpbmNsdWRlIDxFY29y
ZV9FdmFzLmg+CisjaW5jbHVkZSA8RWluYS5oPgorI2luY2x1ZGUgPEV2YXMuaD4KKworc3RhdGlj
IGNvbnN0IGludCBERUZBVUxUX1dJRFRIID0gODAwOworc3RhdGljIGNvbnN0IGludCBERUZBVUxU
X0hFSUdIVCA9IDYwMDsKK3N0YXRpYyBjb25zdCBjaGFyIERFRkFVTFRfVVJMW10gPSAiaHR0cDov
L3d3dy5nb29nbGUuY29tLyI7CisKK3R5cGVkZWYgc3RydWN0IF9NaW5pQnJvd3NlciB7CisgICAg
RWNvcmVfRXZhcyAqZWU7CisgICAgRXZhcyAqZXZhczsKKyAgICBFdmFzX09iamVjdCAqYmc7Cisg
ICAgRXZhc19PYmplY3QgKmJyb3dzZXI7Cit9IE1pbmlCcm93c2VyOworCitzdGF0aWMgRWluYV9C
b29sIG1haW5fc2lnbmFsX2V4aXQodm9pZCAqZGF0YSwgaW50IGV2X3R5cGUsIHZvaWQgKmV2KQor
eworICAgIGVjb3JlX21haW5fbG9vcF9xdWl0KCk7CisgICAgcmV0dXJuIEVJTkFfVFJVRTsKK30K
Kworc3RhdGljIHZvaWQgb25fZWNvcmVfZXZhc19yZXNpemUoRWNvcmVfRXZhcyAqZWUpCit7Cisg
ICAgRXZhc19PYmplY3QgKndlYnZpZXc7CisgICAgRXZhc19PYmplY3QgKmJnOworICAgIGludCB3
LCBoOworCisgICAgZWNvcmVfZXZhc19nZW9tZXRyeV9nZXQoZWUsIE5VTEwsIE5VTEwsICZ3LCAm
aCk7CisKKyAgICBiZyA9IGV2YXNfb2JqZWN0X25hbWVfZmluZChlY29yZV9ldmFzX2dldChlZSks
ICJiZyIpOworICAgIGV2YXNfb2JqZWN0X21vdmUoYmcsIDAsIDApOworICAgIGV2YXNfb2JqZWN0
X3Jlc2l6ZShiZywgdywgaCk7CisKKyAgICB3ZWJ2aWV3ID0gZXZhc19vYmplY3RfbmFtZV9maW5k
KGVjb3JlX2V2YXNfZ2V0KGVlKSwgImJyb3dzZXIiKTsKKyAgICBldmFzX29iamVjdF9tb3ZlKHdl
YnZpZXcsIDAsIDApOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZSh3ZWJ2aWV3LCB3LCBoKTsKK30K
Kworc3RhdGljIE1pbmlCcm93c2VyICpicm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCkKK3sK
KyAgICBNaW5pQnJvd3NlciAqYXBwID0gbWFsbG9jKHNpemVvZihNaW5pQnJvd3NlcikpOworCisg
ICAgYXBwLT5lZSA9IGVjb3JlX2V2YXNfbmV3KDAsIDAsIDAsIERFRkFVTFRfV0lEVEgsIERFRkFV
TFRfSEVJR0hULCAwKTsKKworICAgIGVjb3JlX2V2YXNfdGl0bGVfc2V0KGFwcC0+ZWUsICJFRkwg
TWluaUJyb3dzZXIiKTsKKyAgICBlY29yZV9ldmFzX2NhbGxiYWNrX3Jlc2l6ZV9zZXQoYXBwLT5l
ZSwgb25fZWNvcmVfZXZhc19yZXNpemUpOworICAgIGVjb3JlX2V2YXNfYm9yZGVybGVzc19zZXQo
YXBwLT5lZSwgMCk7CisgICAgZWNvcmVfZXZhc19zaG93KGFwcC0+ZWUpOworCisgICAgYXBwLT5l
dmFzID0gZWNvcmVfZXZhc19nZXQoYXBwLT5lZSk7CisKKyAgICBhcHAtPmJnID0gZXZhc19vYmpl
Y3RfcmVjdGFuZ2xlX2FkZChhcHAtPmV2YXMpOworICAgIGV2YXNfb2JqZWN0X25hbWVfc2V0KGFw
cC0+YmcsICJiZyIpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRfc2V0KGFwcC0+
YmcsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOworCisgICAgZXZhc19vYmpl
Y3RfbW92ZShhcHAtPmJnLCAwLCAwKTsKKyAgICBldmFzX29iamVjdF9yZXNpemUoYXBwLT5iZywg
REVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQpOworICAgIGV2YXNfb2JqZWN0X2NvbG9yX3Nl
dChhcHAtPmJnLCAyNTUsIDE1MCwgMTUwLCAyNTUpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBw
LT5iZyk7CisKKyAgICAvKiBDcmVhdGUgd2VidmlldyAqLworICAgIGFwcC0+YnJvd3NlciA9IGV3
a192aWV3X2FkZChhcHAtPmV2YXMpOworICAgIGV2YXNfb2JqZWN0X25hbWVfc2V0KGFwcC0+YnJv
d3NlciwgImJyb3dzZXIiKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChh
cHAtPmJyb3dzZXIsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOworCisgICAg
ZXZhc19vYmplY3RfcmVzaXplKGFwcC0+YnJvd3NlciwgREVGQVVMVF9XSURUSCwgREVGQVVMVF9I
RUlHSFQpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwLT5icm93c2VyKTsKKyAgICBldmFzX29i
amVjdF9mb2N1c19zZXQoYXBwLT5icm93c2VyLCBFSU5BX1RSVUUpOworCisgICAgZXdrX3ZpZXdf
dXJpX3NldChhcHAtPmJyb3dzZXIsIHVybCk7CisKKyAgICByZXR1cm4gYXBwOworfQorCitpbnQg
bWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworICAgIGNvbnN0IGNoYXIgKnVybDsKKyAg
ICBpbnQgYXJncyA9IDE7CisKKyAgICBpZiAoIWVjb3JlX2V2YXNfaW5pdCgpKQorICAgICAgICBy
ZXR1cm4gRVhJVF9GQUlMVVJFOworCisgICAgaWYgKGFyZ3MgPCBhcmdjKQorICAgICAgICB1cmwg
PSBhcmd2W2FyZ3NdOworICAgIGVsc2UKKyAgICAgICAgdXJsID0gREVGQVVMVF9VUkw7CisKKyAg
ICBNaW5pQnJvd3NlciAqYnJvd3NlciA9IGJyb3dzZXJDcmVhdGUodXJsKTsKKworICAgIEVjb3Jl
X0V2ZW50X0hhbmRsZXIgKmhhbmRsZSA9IGVjb3JlX2V2ZW50X2hhbmRsZXJfYWRkKEVDT1JFX0VW
RU5UX1NJR05BTF9FWElULCBtYWluX3NpZ25hbF9leGl0LCAwKTsKKworICAgIGVjb3JlX21haW5f
bG9vcF9iZWdpbigpOworCisgICAgZWNvcmVfZXZlbnRfaGFuZGxlcl9kZWwoaGFuZGxlKTsKKyAg
ICBlY29yZV9ldmFzX2ZyZWUoYnJvd3Nlci0+ZWUpOworICAgIGZyZWUoYnJvd3Nlcik7CisKKyAg
ICBlY29yZV9ldmFzX3NodXRkb3duKCk7CisKKyAgICByZXR1cm4gMDsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146986</attachid>
            <date>2012-06-11 18:22:54 -0700</date>
            <delta_ts>2012-06-11 21:31:10 -0700</delta_ts>
            <desc>rebased to catch r120024</desc>
            <filename>bug-61850-20120612102253.patch</filename>
            <type>text/plain</type>
            <size>7402</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMDI0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYWFhZGNiZjMzZjk3ZTEzNjQ2YjM0ZGFiZjY1OThiYjVi
NGM0ZDg4Ny4uOTMzNDJhMTg2ZDUxNTk3ODlmYjg4NzJmNGFkMjFhNWU5OWE0NjI1YyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA2LTExICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbRUZMXVtXSzJdIEFkZCBNaW5pQnJvd3NlckVmbC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IE1pbmlCcm93c2VyIGZvciBF
RkwuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9l
ZmwvQ01ha2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWlu
LmM6IEFkZGVkLgorICAgICAgICAoX01pbmlCcm93c2VyKToKKyAgICAgICAgKG1haW5fc2lnbmFs
X2V4aXQpOgorICAgICAgICAob25fZWNvcmVfZXZhc19yZXNpemUpOgorICAgICAgICAoYnJvd3Nl
ckNyZWF0ZSk6CisgICAgICAgIChtYWluKToKKwogMjAxMi0wNi0xMSAgR3l1eW91bmcgS2ltICA8
Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtDTUFLRV1bRUZMXSBSZW1vdmUg
ZHVwbGljYXRlZCBleGVjdXRhYmxlIG91dHB1dCBwYXRoCmRpZmYgLS1naXQgYS9Ub29scy9DTWFr
ZUxpc3RzLnR4dCBiL1Rvb2xzL0NNYWtlTGlzdHMudHh0CmluZGV4IDY4OTQ2NzA2MTkwNTA0MjU1
MmU4Y2NmMzVmMWIzMjQ1YWJhOGZjMDQuLmVhNzUyMTg0MTZmN2FlNTAyOTYxZWFlNTRiMGE3Y2Ew
ODlkYmE0MmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NNYWtlTGlzdHMudHh0CisrKyBiL1Rvb2xzL0NN
YWtlTGlzdHMudHh0CkBAIC0zLDYgKzMsMTAgQEAgSUYgKCIke1BPUlR9IiBTVFJFUVVBTCAiRWZs
IikKICAgICAgICAgQUREX1NVQkRJUkVDVE9SWShEdW1wUmVuZGVyVHJlZS9lZmwpCiAgICAgICAg
IEFERF9TVUJESVJFQ1RPUlkoRVdlYkxhdW5jaGVyKQogICAgIEVORElGICgpCisKKyAgICBJRiAo
RU5BQkxFX1dFQktJVDIpCisgICAgICAgIEFERF9TVUJESVJFQ1RPUlkoTWluaUJyb3dzZXIvZWZs
KQorICAgIEVORElGICgpCiBFTFNFSUYgKCIke1BPUlR9IiBTVFJFUVVBTCAiV2luQ0UiKQogICAg
IEFERF9TVUJESVJFQ1RPUlkoV2luQ0VMYXVuY2hlcikKIEVORElGKCkKZGlmZiAtLWdpdCBhL1Rv
b2xzL01pbmlCcm93c2VyL2VmbC9DTWFrZUxpc3RzLnR4dCBiL1Rvb2xzL01pbmlCcm93c2VyL2Vm
bC9DTWFrZUxpc3RzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNjc3MzI5NzNjM2ZjYzMzMWRkODdjMmI2ZGE4
ZTEwYTBiNWRmNWY4Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NN
YWtlTGlzdHMudHh0CkBAIC0wLDAgKzEsNjUgQEAKK1NFVChNaW5pQnJvd3Nlcl9ESVIgIiR7VE9P
TFNfRElSfS9NaW5pQnJvd3Nlci9lZmwiKQorCitTRVQoTWluaUJyb3dzZXJfU09VUkNFUworICAg
ICR7TWluaUJyb3dzZXJfRElSfS9tYWluLmMKKykKKworU0VUKE1pbmlCcm93c2VyX0lOQ0xVREVf
RElSRUNUT1JJRVMKKyAgICAke0NBSVJPX0lOQ0xVREVfRElSU30KKyAgICAke0VDT1JFX1hfSU5D
TFVERV9ESVJTfQorICAgICR7RURKRV9JTkNMVURFX0RJUlN9CisgICAgJHtFRkxERVBTX0lOQ0xV
REVfRElSU30KKyAgICAke0VWQVNfSU5DTFVERV9ESVJTfQorICAgICR7V0VCS0lUMl9ESVJ9L1VJ
UHJvY2Vzcy9BUEkvZWZsCisgICAgJHtXRUJLSVQyX0RJUn0KKyAgICAke0RFUklWRURfU09VUkNF
U19XRUJLSVQyX0RJUn0vaW5jbHVkZQorICAgICR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlCisp
CisKK1NFVChNaW5pQnJvd3Nlcl9MSUJSQVJJRVMKKyAgICAke0phdmFTY3JpcHRDb3JlX0xJQlJB
UllfTkFNRX0KKyAgICAke1dlYkNvcmVfTElCUkFSWV9OQU1FfQorICAgICR7V2ViS2l0Ml9MSUJS
QVJZX05BTUV9CisgICAgJHtDQUlST19MSUJSQVJJRVN9CisgICAgJHtFQ09SRV9YX0xJQlJBUklF
U30KKyAgICAke0VESkVfTElCUkFSSUVTfQorICAgICR7RUZMREVQU19MSUJSQVJJRVN9CisgICAg
JHtFVkFTX0xJQlJBUklFU30KKyAgICAke0xJQlNPVVAyNF9MSUJSQVJJRVN9CisgICAgJHtMSUJY
TUwyX0xJQlJBUklFU30KKyAgICAke0xJQlhTTFRfTElCUkFSSUVTfQorICAgICR7U1FMSVRFX0xJ
QlJBUklFU30KKykKKworU0VUKE1pbmlCcm93c2VyX0xJTktfRkxBR1MKKyAgICAke0VDT1JFX1hf
TERGTEFHU30KKyAgICAke0VESkVfTERGTEFHU30KKyAgICAke0VGTERFUFNfTERGTEFHU30KKyAg
ICAke0VWQVNfTERGTEFHU30KKyAgICAke0xJQlNPVVAyNF9MREZMQUdTfQorKQorCitJRiAoRU5B
QkxFX0dMSUJfU1VQUE9SVCkKKyAgICBMSVNUKEFQUEVORCBNaW5pQnJvd3Nlcl9MSUJSQVJJRVMK
KyAgICAgICAgJHtHbGliX0xJQlJBUklFU30KKyAgICAgICAgJHtHdGhyZWFkX0xJQlJBUklFU30K
KyAgICApCitFTkRJRiAoKQorCitBRERfQ1VTVE9NX1RBUkdFVChmb3J3YXJkaW5nLWhlYWRlck1p
bmlCcm93c2VyRWZsCisgICAgQ09NTUFORCAke1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJ
Un0vU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9E
SVJ9ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9pbmNsdWRlIGVmbAorKQorCitBRERf
Q1VTVE9NX1RBUkdFVChmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93c2VyU291cAorICAgIENPTU1B
TkQgJHtQRVJMX0VYRUNVVEFCTEV9ICR7V0VCS0lUMl9ESVJ9L1NjcmlwdHMvZ2VuZXJhdGUtZm9y
d2FyZGluZy1oZWFkZXJzLnBsICR7TWluaUJyb3dzZXJfRElSfSAke0RFUklWRURfU09VUkNFU19X
RUJLSVQyX0RJUn0vaW5jbHVkZSBzb3VwCispCisKK0lOQ0xVREVfRElSRUNUT1JJRVMoJHtNaW5p
QnJvd3Nlcl9JTkNMVURFX0RJUkVDVE9SSUVTfSkKKworQUREX0VYRUNVVEFCTEUoTWluaUJyb3dz
ZXIgJHtNaW5pQnJvd3Nlcl9TT1VSQ0VTfSkKK1RBUkdFVF9MSU5LX0xJQlJBUklFUyhNaW5pQnJv
d3NlciAke01pbmlCcm93c2VyX0xJQlJBUklFU30pCitBRERfVEFSR0VUX1BST1BFUlRJRVMoTWlu
aUJyb3dzZXIgTElOS19GTEFHUyAiJHtNaW5pQnJvd3Nlcl9MSU5LX0ZMQUdTfSIpCitTRVRfVEFS
R0VUX1BST1BFUlRJRVMoRHVtcFJlbmRlclRyZWUgUFJPUEVSVElFUyBGT0xERVIgIlRvb2xzIikK
KworQUREX0RFUEVOREVOQ0lFUyhNaW5pQnJvd3NlciBmb3J3YXJkaW5nLWhlYWRlck1pbmlCcm93
c2VyRWZsKQorQUREX0RFUEVOREVOQ0lFUyhNaW5pQnJvd3NlciBmb3J3YXJkaW5nLWhlYWRlck1p
bmlCcm93c2VyU291cCkKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL2VmbC9tYWluLmMg
Yi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvbWFpbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4NWZmMmZiZGEyNGFj
MWFmYzhiYzIwOTM3YWQzZGMyNTZjZTBjM2MKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5p
QnJvd3Nlci9lZmwvbWFpbi5jCkBAIC0wLDAgKzEsMTIxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
ICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVy
YWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3
cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICov
CisKKyNpbmNsdWRlICJFV2ViS2l0Mi5oIgorI2luY2x1ZGUgPEVjb3JlLmg+CisjaW5jbHVkZSA8
RWNvcmVfRXZhcy5oPgorI2luY2x1ZGUgPEVpbmEuaD4KKyNpbmNsdWRlIDxFdmFzLmg+CisKK3N0
YXRpYyBjb25zdCBpbnQgREVGQVVMVF9XSURUSCA9IDgwMDsKK3N0YXRpYyBjb25zdCBpbnQgREVG
QVVMVF9IRUlHSFQgPSA2MDA7CitzdGF0aWMgY29uc3QgY2hhciBERUZBVUxUX1VSTFtdID0gImh0
dHA6Ly93d3cuZ29vZ2xlLmNvbS8iOworCit0eXBlZGVmIHN0cnVjdCBfTWluaUJyb3dzZXIgewor
ICAgIEVjb3JlX0V2YXMgKmVlOworICAgIEV2YXMgKmV2YXM7CisgICAgRXZhc19PYmplY3QgKmJn
OworICAgIEV2YXNfT2JqZWN0ICpicm93c2VyOworfSBNaW5pQnJvd3NlcjsKKworc3RhdGljIEVp
bmFfQm9vbCBtYWluX3NpZ25hbF9leGl0KHZvaWQgKmRhdGEsIGludCBldl90eXBlLCB2b2lkICpl
dikKK3sKKyAgICBlY29yZV9tYWluX2xvb3BfcXVpdCgpOworICAgIHJldHVybiBFSU5BX1RSVUU7
Cit9CisKK3N0YXRpYyB2b2lkIG9uX2Vjb3JlX2V2YXNfcmVzaXplKEVjb3JlX0V2YXMgKmVlKQor
eworICAgIEV2YXNfT2JqZWN0ICp3ZWJ2aWV3OworICAgIEV2YXNfT2JqZWN0ICpiZzsKKyAgICBp
bnQgdywgaDsKKworICAgIGVjb3JlX2V2YXNfZ2VvbWV0cnlfZ2V0KGVlLCBOVUxMLCBOVUxMLCAm
dywgJmgpOworCisgICAgYmcgPSBldmFzX29iamVjdF9uYW1lX2ZpbmQoZWNvcmVfZXZhc19nZXQo
ZWUpLCAiYmciKTsKKyAgICBldmFzX29iamVjdF9tb3ZlKGJnLCAwLCAwKTsKKyAgICBldmFzX29i
amVjdF9yZXNpemUoYmcsIHcsIGgpOworCisgICAgd2VidmlldyA9IGV2YXNfb2JqZWN0X25hbWVf
ZmluZChlY29yZV9ldmFzX2dldChlZSksICJicm93c2VyIik7CisgICAgZXZhc19vYmplY3RfbW92
ZSh3ZWJ2aWV3LCAwLCAwKTsKKyAgICBldmFzX29iamVjdF9yZXNpemUod2VidmlldywgdywgaCk7
Cit9CisKK3N0YXRpYyBNaW5pQnJvd3NlciAqYnJvd3NlckNyZWF0ZShjb25zdCBjaGFyICp1cmwp
Cit7CisgICAgTWluaUJyb3dzZXIgKmFwcCA9IG1hbGxvYyhzaXplb2YoTWluaUJyb3dzZXIpKTsK
KworICAgIGFwcC0+ZWUgPSBlY29yZV9ldmFzX25ldygwLCAwLCAwLCBERUZBVUxUX1dJRFRILCBE
RUZBVUxUX0hFSUdIVCwgMCk7CisKKyAgICBlY29yZV9ldmFzX3RpdGxlX3NldChhcHAtPmVlLCAi
RUZMIE1pbmlCcm93c2VyIik7CisgICAgZWNvcmVfZXZhc19jYWxsYmFja19yZXNpemVfc2V0KGFw
cC0+ZWUsIG9uX2Vjb3JlX2V2YXNfcmVzaXplKTsKKyAgICBlY29yZV9ldmFzX2JvcmRlcmxlc3Nf
c2V0KGFwcC0+ZWUsIDApOworICAgIGVjb3JlX2V2YXNfc2hvdyhhcHAtPmVlKTsKKworICAgIGFw
cC0+ZXZhcyA9IGVjb3JlX2V2YXNfZ2V0KGFwcC0+ZWUpOworCisgICAgYXBwLT5iZyA9IGV2YXNf
b2JqZWN0X3JlY3RhbmdsZV9hZGQoYXBwLT5ldmFzKTsKKyAgICBldmFzX29iamVjdF9uYW1lX3Nl
dChhcHAtPmJnLCAiYmciKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChh
cHAtPmJnLCBFVkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKworICAgIGV2YXNf
b2JqZWN0X21vdmUoYXBwLT5iZywgMCwgMCk7CisgICAgZXZhc19vYmplY3RfcmVzaXplKGFwcC0+
YmcsIERFRkFVTFRfV0lEVEgsIERFRkFVTFRfSEVJR0hUKTsKKyAgICBldmFzX29iamVjdF9jb2xv
cl9zZXQoYXBwLT5iZywgMjU1LCAxNTAsIDE1MCwgMjU1KTsKKyAgICBldmFzX29iamVjdF9zaG93
KGFwcC0+YmcpOworCisgICAgLyogQ3JlYXRlIHdlYnZpZXcgKi8KKyAgICBhcHAtPmJyb3dzZXIg
PSBld2tfdmlld19hZGQoYXBwLT5ldmFzKTsKKyAgICBldmFzX29iamVjdF9uYW1lX3NldChhcHAt
PmJyb3dzZXIsICJicm93c2VyIik7CisgICAgZXZhc19vYmplY3Rfc2l6ZV9oaW50X3dlaWdodF9z
ZXQoYXBwLT5icm93c2VyLCBFVkFTX0hJTlRfRVhQQU5ELCBFVkFTX0hJTlRfRVhQQU5EKTsKKwor
ICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZShhcHAtPmJyb3dzZXIsIERFRkFVTFRfV0lEVEgsIERFRkFV
TFRfSEVJR0hUKTsKKyAgICBldmFzX29iamVjdF9zaG93KGFwcC0+YnJvd3Nlcik7CisgICAgZXZh
c19vYmplY3RfZm9jdXNfc2V0KGFwcC0+YnJvd3NlciwgRUlOQV9UUlVFKTsKKworICAgIGV3a192
aWV3X3VyaV9zZXQoYXBwLT5icm93c2VyLCB1cmwpOworCisgICAgcmV0dXJuIGFwcDsKK30KKwor
aW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKyAgICBjb25zdCBjaGFyICp1cmw7
CisgICAgaW50IGFyZ3MgPSAxOworCisgICAgaWYgKCFlY29yZV9ldmFzX2luaXQoKSkKKyAgICAg
ICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworICAgIGlmIChhcmdzIDwgYXJnYykKKyAgICAgICAg
dXJsID0gYXJndlthcmdzXTsKKyAgICBlbHNlCisgICAgICAgIHVybCA9IERFRkFVTFRfVVJMOwor
CisgICAgTWluaUJyb3dzZXIgKmJyb3dzZXIgPSBicm93c2VyQ3JlYXRlKHVybCk7CisKKyAgICBF
Y29yZV9FdmVudF9IYW5kbGVyICpoYW5kbGUgPSBlY29yZV9ldmVudF9oYW5kbGVyX2FkZChFQ09S
RV9FVkVOVF9TSUdOQUxfRVhJVCwgbWFpbl9zaWduYWxfZXhpdCwgMCk7CisKKyAgICBlY29yZV9t
YWluX2xvb3BfYmVnaW4oKTsKKworICAgIGVjb3JlX2V2ZW50X2hhbmRsZXJfZGVsKGhhbmRsZSk7
CisgICAgZWNvcmVfZXZhc19mcmVlKGJyb3dzZXItPmVlKTsKKyAgICBmcmVlKGJyb3dzZXIpOwor
CisgICAgZWNvcmVfZXZhc19zaHV0ZG93bigpOworCisgICAgcmV0dXJuIDA7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147008</attachid>
            <date>2012-06-11 21:31:32 -0700</date>
            <delta_ts>2012-06-12 15:20:11 -0700</delta_ts>
            <desc>Fix mistake</desc>
            <filename>bug-61850-20120612133130.patch</filename>
            <type>text/plain</type>
            <size>7395</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwMDM4CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDNlOWI4NWY3NzJkODg2YWMxNDI2NzIwNDA4NTA2OWNj
MTIxNmE2ZS4uYjg1ZWUzOGM4MDEzNTlhZjkzNjc1YTA2NGIwYzQ4OWE2YzM1NDMyMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDEyLTA2LTExICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbRUZMXVtXSzJdIEFkZCBNaW5pQnJvd3NlckVmbC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxODUwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IE1pbmlCcm93c2VyIGZvciBF
RkwuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9l
ZmwvQ01ha2VMaXN0cy50eHQ6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL2VmbC9tYWlu
LmM6IEFkZGVkLgorICAgICAgICAoX01pbmlCcm93c2VyKToKKyAgICAgICAgKG1haW5fc2lnbmFs
X2V4aXQpOgorICAgICAgICAob25fZWNvcmVfZXZhc19yZXNpemUpOgorICAgICAgICAoYnJvd3Nl
ckNyZWF0ZSk6CisgICAgICAgIChtYWluKToKKwogMjAxMi0wNi0xMSAgQ2hyaXN0b3BoZSBEdW1l
eiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIFJlbW92ZSBD
TWFrZUNhY2hlLnR4dCBiZWZvcmUgYnVpbGRpbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL0NNYWtlTGlz
dHMudHh0IGIvVG9vbHMvQ01ha2VMaXN0cy50eHQKaW5kZXggNjg5NDY3MDYxOTA1MDQyNTUyZThj
Y2YzNWYxYjMyNDVhYmE4ZmMwNC4uZWE3NTIxODQxNmY3YWU1MDI5NjFlYWU1NGIwYTdjYTA4OWRi
YTQyZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ01ha2VMaXN0cy50eHQKKysrIGIvVG9vbHMvQ01ha2VM
aXN0cy50eHQKQEAgLTMsNiArMywxMCBAQCBJRiAoIiR7UE9SVH0iIFNUUkVRVUFMICJFZmwiKQog
ICAgICAgICBBRERfU1VCRElSRUNUT1JZKER1bXBSZW5kZXJUcmVlL2VmbCkKICAgICAgICAgQURE
X1NVQkRJUkVDVE9SWShFV2ViTGF1bmNoZXIpCiAgICAgRU5ESUYgKCkKKworICAgIElGIChFTkFC
TEVfV0VCS0lUMikKKyAgICAgICAgQUREX1NVQkRJUkVDVE9SWShNaW5pQnJvd3Nlci9lZmwpCisg
ICAgRU5ESUYgKCkKIEVMU0VJRiAoIiR7UE9SVH0iIFNUUkVRVUFMICJXaW5DRSIpCiAgICAgQURE
X1NVQkRJUkVDVE9SWShXaW5DRUxhdW5jaGVyKQogRU5ESUYoKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
TWluaUJyb3dzZXIvZWZsL0NNYWtlTGlzdHMudHh0IGIvVG9vbHMvTWluaUJyb3dzZXIvZWZsL0NN
YWtlTGlzdHMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhODZiMTJjYmIyMWZiOGRlNjUwNDE4NTA5MjI5MTYy
ZDMxNmZiMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9lZmwvQ01ha2VM
aXN0cy50eHQKQEAgLTAsMCArMSw2NSBAQAorU0VUKE1pbmlCcm93c2VyX0RJUiAiJHtUT09MU19E
SVJ9L01pbmlCcm93c2VyL2VmbCIpCisKK1NFVChNaW5pQnJvd3Nlcl9TT1VSQ0VTCisgICAgJHtN
aW5pQnJvd3Nlcl9ESVJ9L21haW4uYworKQorCitTRVQoTWluaUJyb3dzZXJfSU5DTFVERV9ESVJF
Q1RPUklFUworICAgICR7Q0FJUk9fSU5DTFVERV9ESVJTfQorICAgICR7RUNPUkVfWF9JTkNMVURF
X0RJUlN9CisgICAgJHtFREpFX0lOQ0xVREVfRElSU30KKyAgICAke0VGTERFUFNfSU5DTFVERV9E
SVJTfQorICAgICR7RVZBU19JTkNMVURFX0RJUlN9CisgICAgJHtXRUJLSVQyX0RJUn0vVUlQcm9j
ZXNzL0FQSS9lZmwKKyAgICAke1dFQktJVDJfRElSfQorICAgICR7REVSSVZFRF9TT1VSQ0VTX1dF
QktJVDJfRElSfS9pbmNsdWRlCisgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UKKykKKwor
U0VUKE1pbmlCcm93c2VyX0xJQlJBUklFUworICAgICR7SmF2YVNjcmlwdENvcmVfTElCUkFSWV9O
QU1FfQorICAgICR7V2ViQ29yZV9MSUJSQVJZX05BTUV9CisgICAgJHtXZWJLaXQyX0xJQlJBUllf
TkFNRX0KKyAgICAke0NBSVJPX0xJQlJBUklFU30KKyAgICAke0VDT1JFX1hfTElCUkFSSUVTfQor
ICAgICR7RURKRV9MSUJSQVJJRVN9CisgICAgJHtFRkxERVBTX0xJQlJBUklFU30KKyAgICAke0VW
QVNfTElCUkFSSUVTfQorICAgICR7TElCU09VUDI0X0xJQlJBUklFU30KKyAgICAke0xJQlhNTDJf
TElCUkFSSUVTfQorICAgICR7TElCWFNMVF9MSUJSQVJJRVN9CisgICAgJHtTUUxJVEVfTElCUkFS
SUVTfQorKQorCitTRVQoTWluaUJyb3dzZXJfTElOS19GTEFHUworICAgICR7RUNPUkVfWF9MREZM
QUdTfQorICAgICR7RURKRV9MREZMQUdTfQorICAgICR7RUZMREVQU19MREZMQUdTfQorICAgICR7
RVZBU19MREZMQUdTfQorICAgICR7TElCU09VUDI0X0xERkxBR1N9CispCisKK0lGIChFTkFCTEVf
R0xJQl9TVVBQT1JUKQorICAgIExJU1QoQVBQRU5EIE1pbmlCcm93c2VyX0xJQlJBUklFUworICAg
ICAgICAke0dsaWJfTElCUkFSSUVTfQorICAgICAgICAke0d0aHJlYWRfTElCUkFSSUVTfQorICAg
ICkKK0VORElGICgpCisKK0FERF9DVVNUT01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJy
b3dzZXJFZmwKKyAgICBDT01NQU5EICR7UEVSTF9FWEVDVVRBQkxFfSAke1dFQktJVDJfRElSfS9T
Y3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCAke01pbmlCcm93c2VyX0RJUn0g
JHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L2luY2x1ZGUgZWZsCispCisKK0FERF9DVVNU
T01fVEFSR0VUKGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJTb3VwCisgICAgQ09NTUFORCAk
e1BFUkxfRVhFQ1VUQUJMRX0gJHtXRUJLSVQyX0RJUn0vU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJk
aW5nLWhlYWRlcnMucGwgJHtNaW5pQnJvd3Nlcl9ESVJ9ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJ
VDJfRElSfS9pbmNsdWRlIHNvdXAKKykKKworSU5DTFVERV9ESVJFQ1RPUklFUygke01pbmlCcm93
c2VyX0lOQ0xVREVfRElSRUNUT1JJRVN9KQorCitBRERfRVhFQ1VUQUJMRShNaW5pQnJvd3NlciAk
e01pbmlCcm93c2VyX1NPVVJDRVN9KQorVEFSR0VUX0xJTktfTElCUkFSSUVTKE1pbmlCcm93c2Vy
ICR7TWluaUJyb3dzZXJfTElCUkFSSUVTfSkKK0FERF9UQVJHRVRfUFJPUEVSVElFUyhNaW5pQnJv
d3NlciBMSU5LX0ZMQUdTICIke01pbmlCcm93c2VyX0xJTktfRkxBR1N9IikKK1NFVF9UQVJHRVRf
UFJPUEVSVElFUyhNaW5pQnJvd3NlciBQUk9QRVJUSUVTIEZPTERFUiAiVG9vbHMiKQorCitBRERf
REVQRU5ERU5DSUVTKE1pbmlCcm93c2VyIGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dzZXJFZmwp
CitBRERfREVQRU5ERU5DSUVTKE1pbmlCcm93c2VyIGZvcndhcmRpbmctaGVhZGVyTWluaUJyb3dz
ZXJTb3VwKQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvZWZsL21haW4uYyBiL1Rvb2xz
L01pbmlCcm93c2VyL2VmbC9tYWluLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzg1ZmYyZmJkYTI0YWMxYWZjOGJj
MjA5MzdhZDNkYzI1NmNlMGMzYwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2Vy
L2VmbC9tYWluLmMKQEAgLTAsMCArMSwxMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIg
U2Ftc3VuZyBFbGVjdHJvbmljcworICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo
b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBz
aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRv
IHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2lu
Y2x1ZGUgIkVXZWJLaXQyLmgiCisjaW5jbHVkZSA8RWNvcmUuaD4KKyNpbmNsdWRlIDxFY29yZV9F
dmFzLmg+CisjaW5jbHVkZSA8RWluYS5oPgorI2luY2x1ZGUgPEV2YXMuaD4KKworc3RhdGljIGNv
bnN0IGludCBERUZBVUxUX1dJRFRIID0gODAwOworc3RhdGljIGNvbnN0IGludCBERUZBVUxUX0hF
SUdIVCA9IDYwMDsKK3N0YXRpYyBjb25zdCBjaGFyIERFRkFVTFRfVVJMW10gPSAiaHR0cDovL3d3
dy5nb29nbGUuY29tLyI7CisKK3R5cGVkZWYgc3RydWN0IF9NaW5pQnJvd3NlciB7CisgICAgRWNv
cmVfRXZhcyAqZWU7CisgICAgRXZhcyAqZXZhczsKKyAgICBFdmFzX09iamVjdCAqYmc7CisgICAg
RXZhc19PYmplY3QgKmJyb3dzZXI7Cit9IE1pbmlCcm93c2VyOworCitzdGF0aWMgRWluYV9Cb29s
IG1haW5fc2lnbmFsX2V4aXQodm9pZCAqZGF0YSwgaW50IGV2X3R5cGUsIHZvaWQgKmV2KQorewor
ICAgIGVjb3JlX21haW5fbG9vcF9xdWl0KCk7CisgICAgcmV0dXJuIEVJTkFfVFJVRTsKK30KKwor
c3RhdGljIHZvaWQgb25fZWNvcmVfZXZhc19yZXNpemUoRWNvcmVfRXZhcyAqZWUpCit7CisgICAg
RXZhc19PYmplY3QgKndlYnZpZXc7CisgICAgRXZhc19PYmplY3QgKmJnOworICAgIGludCB3LCBo
OworCisgICAgZWNvcmVfZXZhc19nZW9tZXRyeV9nZXQoZWUsIE5VTEwsIE5VTEwsICZ3LCAmaCk7
CisKKyAgICBiZyA9IGV2YXNfb2JqZWN0X25hbWVfZmluZChlY29yZV9ldmFzX2dldChlZSksICJi
ZyIpOworICAgIGV2YXNfb2JqZWN0X21vdmUoYmcsIDAsIDApOworICAgIGV2YXNfb2JqZWN0X3Jl
c2l6ZShiZywgdywgaCk7CisKKyAgICB3ZWJ2aWV3ID0gZXZhc19vYmplY3RfbmFtZV9maW5kKGVj
b3JlX2V2YXNfZ2V0KGVlKSwgImJyb3dzZXIiKTsKKyAgICBldmFzX29iamVjdF9tb3ZlKHdlYnZp
ZXcsIDAsIDApOworICAgIGV2YXNfb2JqZWN0X3Jlc2l6ZSh3ZWJ2aWV3LCB3LCBoKTsKK30KKwor
c3RhdGljIE1pbmlCcm93c2VyICpicm93c2VyQ3JlYXRlKGNvbnN0IGNoYXIgKnVybCkKK3sKKyAg
ICBNaW5pQnJvd3NlciAqYXBwID0gbWFsbG9jKHNpemVvZihNaW5pQnJvd3NlcikpOworCisgICAg
YXBwLT5lZSA9IGVjb3JlX2V2YXNfbmV3KDAsIDAsIDAsIERFRkFVTFRfV0lEVEgsIERFRkFVTFRf
SEVJR0hULCAwKTsKKworICAgIGVjb3JlX2V2YXNfdGl0bGVfc2V0KGFwcC0+ZWUsICJFRkwgTWlu
aUJyb3dzZXIiKTsKKyAgICBlY29yZV9ldmFzX2NhbGxiYWNrX3Jlc2l6ZV9zZXQoYXBwLT5lZSwg
b25fZWNvcmVfZXZhc19yZXNpemUpOworICAgIGVjb3JlX2V2YXNfYm9yZGVybGVzc19zZXQoYXBw
LT5lZSwgMCk7CisgICAgZWNvcmVfZXZhc19zaG93KGFwcC0+ZWUpOworCisgICAgYXBwLT5ldmFz
ID0gZWNvcmVfZXZhc19nZXQoYXBwLT5lZSk7CisKKyAgICBhcHAtPmJnID0gZXZhc19vYmplY3Rf
cmVjdGFuZ2xlX2FkZChhcHAtPmV2YXMpOworICAgIGV2YXNfb2JqZWN0X25hbWVfc2V0KGFwcC0+
YmcsICJiZyIpOworICAgIGV2YXNfb2JqZWN0X3NpemVfaGludF93ZWlnaHRfc2V0KGFwcC0+Ymcs
IEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOworCisgICAgZXZhc19vYmplY3Rf
bW92ZShhcHAtPmJnLCAwLCAwKTsKKyAgICBldmFzX29iamVjdF9yZXNpemUoYXBwLT5iZywgREVG
QVVMVF9XSURUSCwgREVGQVVMVF9IRUlHSFQpOworICAgIGV2YXNfb2JqZWN0X2NvbG9yX3NldChh
cHAtPmJnLCAyNTUsIDE1MCwgMTUwLCAyNTUpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwLT5i
Zyk7CisKKyAgICAvKiBDcmVhdGUgd2VidmlldyAqLworICAgIGFwcC0+YnJvd3NlciA9IGV3a192
aWV3X2FkZChhcHAtPmV2YXMpOworICAgIGV2YXNfb2JqZWN0X25hbWVfc2V0KGFwcC0+YnJvd3Nl
ciwgImJyb3dzZXIiKTsKKyAgICBldmFzX29iamVjdF9zaXplX2hpbnRfd2VpZ2h0X3NldChhcHAt
PmJyb3dzZXIsIEVWQVNfSElOVF9FWFBBTkQsIEVWQVNfSElOVF9FWFBBTkQpOworCisgICAgZXZh
c19vYmplY3RfcmVzaXplKGFwcC0+YnJvd3NlciwgREVGQVVMVF9XSURUSCwgREVGQVVMVF9IRUlH
SFQpOworICAgIGV2YXNfb2JqZWN0X3Nob3coYXBwLT5icm93c2VyKTsKKyAgICBldmFzX29iamVj
dF9mb2N1c19zZXQoYXBwLT5icm93c2VyLCBFSU5BX1RSVUUpOworCisgICAgZXdrX3ZpZXdfdXJp
X3NldChhcHAtPmJyb3dzZXIsIHVybCk7CisKKyAgICByZXR1cm4gYXBwOworfQorCitpbnQgbWFp
bihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworICAgIGNvbnN0IGNoYXIgKnVybDsKKyAgICBp
bnQgYXJncyA9IDE7CisKKyAgICBpZiAoIWVjb3JlX2V2YXNfaW5pdCgpKQorICAgICAgICByZXR1
cm4gRVhJVF9GQUlMVVJFOworCisgICAgaWYgKGFyZ3MgPCBhcmdjKQorICAgICAgICB1cmwgPSBh
cmd2W2FyZ3NdOworICAgIGVsc2UKKyAgICAgICAgdXJsID0gREVGQVVMVF9VUkw7CisKKyAgICBN
aW5pQnJvd3NlciAqYnJvd3NlciA9IGJyb3dzZXJDcmVhdGUodXJsKTsKKworICAgIEVjb3JlX0V2
ZW50X0hhbmRsZXIgKmhhbmRsZSA9IGVjb3JlX2V2ZW50X2hhbmRsZXJfYWRkKEVDT1JFX0VWRU5U
X1NJR05BTF9FWElULCBtYWluX3NpZ25hbF9leGl0LCAwKTsKKworICAgIGVjb3JlX21haW5fbG9v
cF9iZWdpbigpOworCisgICAgZWNvcmVfZXZlbnRfaGFuZGxlcl9kZWwoaGFuZGxlKTsKKyAgICBl
Y29yZV9ldmFzX2ZyZWUoYnJvd3Nlci0+ZWUpOworICAgIGZyZWUoYnJvd3Nlcik7CisKKyAgICBl
Y29yZV9ldmFzX3NodXRkb3duKCk7CisKKyAgICByZXR1cm4gMDsKK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>