<?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>73638</bug_id>
          
          <creation_ts>2011-12-02 02:22:39 -0800</creation_ts>
          <short_desc>[EFL] Implement &apos;registerProtocolHandler&apos; function</short_desc>
          <delta_ts>2012-05-23 06:37:05 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Dongwoo Joshua Im (dwim)">dw.im</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>d-r</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>leandro</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>s.choi</cc>
    
    <cc>sh919.park</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>513631</commentid>
    <comment_count>0</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2011-12-02 02:22:39 -0800</bug_when>
    <thetext>Custom Scheme Handler should be supported on EFL port.
(http://dev.w3.org/html5/spec/Overview.html#custom-handlers)

I&apos;m preparing the patch currently,
I will upload the patch soon.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579134</commentid>
    <comment_count>1</comment_count>
      <attachid>131987</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-03-14 22:26:48 -0700</bug_when>
    <thetext>Created attachment 131987
Patch

This is the patch of the implementation of the &apos;registerProtocolHandler&apos; on EFL port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579176</commentid>
    <comment_count>2</comment_count>
      <attachid>131987</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-03-15 00:22:23 -0700</bug_when>
    <thetext>Comment on attachment 131987
Patch

Looks fine. By the way, I wonder whether this patch is able to unskip test cases in EFL Skipped file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579178</commentid>
    <comment_count>3</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-03-15 00:25:37 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 131987 [details])
&gt; Looks fine. By the way, I wonder whether this patch is able to unskip test cases in EFL Skipped file.

The test case of this feature is &quot;LayoutTests/fast/dom/register-protocol-handler.html&quot;.
This test case is not include in the efl/Skipped file currently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579192</commentid>
    <comment_count>4</comment_count>
      <attachid>131987</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-03-15 01:20:43 -0700</bug_when>
    <thetext>Comment on attachment 131987
Patch

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

&gt; Source/WebKit/efl/ewk/ewk_custom_handlers.cpp:46
&gt; +bool ewk_custom_handlers_register_protocol_handler(Evas_Object* ewkView, const char* scheme, const char* baseUrl, const char* url, const char* title)

By the way, this file uses ewkView though this file is not ewk_view_xxx file. As you know, ewk files use only ewkView object in ewk_view files. I think we need to discuss how to process this structure. In my humble opinion, there are three methods.

 1. Fire a signal in ChromeClientEfl.
     : Bug 73544 submitted a patch to send a signal in WebCoreSupport.
 2. Move only this function to ewk_view.cpp
 3. This file has an own structure, which has a view object dependency.

It seems to me 1 is most simple method for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579262</commentid>
    <comment_count>5</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-03-15 04:02:04 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 131987 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=131987&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_custom_handlers.cpp:46
&gt; &gt; +bool ewk_custom_handlers_register_protocol_handler(Evas_Object* ewkView, const char* scheme, const char* baseUrl, const char* url, const char* title)
&gt; 
&gt; By the way, this file uses ewkView though this file is not ewk_view_xxx file. As you know, ewk files use only ewkView object in ewk_view files. I think we need to discuss how to process this structure. In my humble opinion, there are three methods.
&gt; 
&gt;  1. Fire a signal in ChromeClientEfl.
&gt;      : Bug 73544 submitted a patch to send a signal in WebCoreSupport.

If it is ok, I prefer this way, as well.
Call a smart_callback in the ChromeClientEfl.cpp file.


&gt;  2. Move only this function to ewk_view.cpp

5 more functions of Custom Handlers will be added.
I think ewk_view.cpp is too big already.


&gt;  3. This file has an own structure, which has a view object dependency.

I think this is possible way also.
I can add the ewkView object into the structure, Ewk_Custom_Handlers_Data.


&gt; 
&gt; It seems to me 1 is most simple method for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579341</commentid>
    <comment_count>6</comment_count>
      <attachid>131987</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-03-15 07:00:44 -0700</bug_when>
    <thetext>Comment on attachment 131987
Patch

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

&gt; Source/WebKit/efl/ewk/ewk_custom_handlers.cpp:29
&gt; +    Ewk_Custom_Handlers_Data* data = new Ewk_Custom_Handlers_Data();

Please use &quot;new Foo&quot; instead of &quot;new Foo()&quot;.

&gt;&gt;&gt; Source/WebKit/efl/ewk/ewk_custom_handlers.cpp:46
&gt;&gt;&gt; +bool ewk_custom_handlers_register_protocol_handler(Evas_Object* ewkView, const char* scheme, const char* baseUrl, const char* url, const char* title)
&gt;&gt; 
&gt;&gt; By the way, this file uses ewkView though this file is not ewk_view_xxx file. As you know, ewk files use only ewkView object in ewk_view files. I think we need to discuss how to process this structure. In my humble opinion, there are three methods.
&gt;&gt; 
&gt;&gt;  1. Fire a signal in ChromeClientEfl.
&gt;&gt;      : Bug 73544 submitted a patch to send a signal in WebCoreSupport.
&gt;&gt;  2. Move only this function to ewk_view.cpp
&gt;&gt;  3. This file has an own structure, which has a view object dependency.
&gt;&gt; 
&gt;&gt; It seems to me 1 is most simple method for now.
&gt; 
&gt; If it is ok, I prefer this way, as well.
&gt; Call a smart_callback in the ChromeClientEfl.cpp file.

That sounds good to me as well. This we can even get rid of this file and just do everything in ChromeClientEfl::registerProtocolHandler.

&gt; Source/WebKit/efl/ewk/ewk_custom_handlers.cpp:50
&gt; +    evas_object_smart_callback_call(ewkView, &quot;protocolhandler,register&quot;, static_cast&lt;void*&gt;(data));

Please document this signal in ewk_view.h.

&gt; Source/WebKit/efl/ewk/ewk_custom_handlers.h:36
&gt; +struct _Ewk_Custom_Handlers_Data {
&gt; +    const char *target;
&gt; +    const char *base_url;
&gt; +    const char *url;
&gt; +    const char *title;
&gt; +};

Would be good to have some documentation on what these fields mean and how to use these new features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579359</commentid>
    <comment_count>7</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-03-15 07:22:32 -0700</bug_when>
    <thetext>(In reply to comment #6)

&gt;&gt; That sounds good to me as well. This we can even get rid of this file and just do everything in ChromeClientEfl::registerProtocolHandler.

As mentioned in comment #5, five functions will be added to this feature. If application doesn&apos;t need to set for this feature, I think we can implement this feature to WebCoreSupport. However, we need to consider when application needs to set something for this feature. 

For example, in this case, _Ewk_Custom_Handlers_Data can has ewkView reference. If  this is permitted, we can split some features into new files. How do you think about this ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579362</commentid>
    <comment_count>8</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-03-15 07:24:28 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; 
&gt; &gt;&gt; That sounds good to me as well. This we can even get rid of this file and just do everything in ChromeClientEfl::registerProtocolHandler.
&gt; 
&gt; As mentioned in comment #5, five functions will be added to this feature. If application doesn&apos;t need to set for this feature, I think we can implement this feature to WebCoreSupport. However, we need to consider when application needs to set something for this feature. 
&gt; 
&gt; For example, in this case, _Ewk_Custom_Handlers_Data can has ewkView reference. If  this is permitted, we can split some features into new files. How do you think about this ?

Damn, I had forgotten about that. I guess we won&apos;t be able to get rid of that cpp file then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580025</commentid>
    <comment_count>9</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-03-15 18:51:17 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; 
&gt; &gt;&gt; That sounds good to me as well. This we can even get rid of this file and just do everything in ChromeClientEfl::registerProtocolHandler.
&gt; 
&gt; As mentioned in comment #5, five functions will be added to this feature. If application doesn&apos;t need to set for this feature, I think we can implement this feature to WebCoreSupport. However, we need to consider when application needs to set something for this feature. 
&gt; 
&gt; For example, in this case, _Ewk_Custom_Handlers_Data can has ewkView reference. If  this is permitted, we can split some features into new files. How do you think about this ?


Then, I can add a member into the _Ewk_Custom_Handlers_Data structure like below.

struct _Ewk_Custom_Handlers_Data {
    const char *target;
    const char *base_url;
    const char *url;
    const char *title;
    Evas_Object* ewkView;
};</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581688</commentid>
    <comment_count>10</comment_count>
      <attachid>132556</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-03-19 01:15:06 -0700</bug_when>
    <thetext>Created attachment 132556
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>590890</commentid>
    <comment_count>11</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-03-29 00:02:29 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; 
&gt; &gt; &gt;&gt; That sounds good to me as well. This we can even get rid of this file and just do everything in ChromeClientEfl::registerProtocolHandler.
&gt; &gt; 
&gt; &gt; As mentioned in comment #5, five functions will be added to this feature. If application doesn&apos;t need to set for this feature, I think we can implement this feature to WebCoreSupport. However, we need to consider when application needs to set something for this feature. 
&gt; &gt; 
&gt; &gt; For example, in this case, _Ewk_Custom_Handlers_Data can has ewkView reference. If  this is permitted, we can split some features into new files. How do you think about this ?
&gt; 
&gt; Damn, I had forgotten about that. I guess we won&apos;t be able to get rid of that cpp file then.

Please review the new patch I&apos;ve uploaded.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594343</commentid>
    <comment_count>12</comment_count>
      <attachid>135299</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-04-03 03:28:10 -0700</bug_when>
    <thetext>Created attachment 135299
Patch

Fix typo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594361</commentid>
    <comment_count>13</comment_count>
      <attachid>135307</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-04-03 04:07:44 -0700</bug_when>
    <thetext>Created attachment 135307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594367</commentid>
    <comment_count>14</comment_count>
      <attachid>135307</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-04-03 04:30:20 -0700</bug_when>
    <thetext>Comment on attachment 135307
Patch

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

&gt; Source/WebKit/ChangeLog:8
&gt; +        The registerProtocolHandler() method allows Web sites to registera themselves

Typo ? registera -&gt; register ?

&gt; Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:600
&gt; +    data-&gt;o = ewkView;

It looks this is good solution to split ewk_custom_handler.cpp from ewk_view.cpp. I would like to know kubo&apos;s opinion about this.

&gt; Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:608
&gt; +void customHandlersDataDelete(Ewk_Custom_Handlers_Data* data)

It seems to me it is good to use non-member function as static or to use it as private member function.

&gt; Source/WebKit/efl/ewk/ewk_view.h:290
&gt; +    Evas_Object *o;

In my opinion, you need to add description for each field.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595064</commentid>
    <comment_count>15</comment_count>
      <attachid>135467</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-04-03 17:38:48 -0700</bug_when>
    <thetext>Created attachment 135467
Patch

I&apos;ve fixed the patch regarding Gyuyoung&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595147</commentid>
    <comment_count>16</comment_count>
      <attachid>135467</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-04-03 19:18:45 -0700</bug_when>
    <thetext>Comment on attachment 135467
Patch

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

Almost looks good to me except for view object maintenance. However, I think this implementation is not bad.

&gt; Source/WebKit/efl/ewk/ewk_custom_handlers.cpp:25
&gt; +

If there is description for this internal function, In my opinion, it is better to understand this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595151</commentid>
    <comment_count>17</comment_count>
      <attachid>135467</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-04-03 19:24:10 -0700</bug_when>
    <thetext>Comment on attachment 135467
Patch

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

&gt; Source/WebKit/efl/ewk/ewk_custom_handlers.cpp:29
&gt; +    evas_object_smart_callback_call(data-&gt;o, &quot;protocolhandler,register&quot;, static_cast&lt;void*&gt;(data));

Oops, I&apos;m sorry. It looks you don&apos;t write this signal to signal list in ewk_view.h

&gt; Source/WebKit/efl/ewk/ewk_view.h:289
&gt; +struct _Ewk_Custom_Handlers_Data {

I would like to confirm this struct again. Will you add new API to set this data by application ? Because, as you know, if there is no API to set protocol handler, we don&apos;t need to open this struct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595160</commentid>
    <comment_count>18</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-04-03 19:46:13 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 135467 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=135467&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_custom_handlers.cpp:29
&gt; &gt; +    evas_object_smart_callback_call(data-&gt;o, &quot;protocolhandler,register&quot;, static_cast&lt;void*&gt;(data));
&gt; 
&gt; Oops, I&apos;m sorry. It looks you don&apos;t write this signal to signal list in ewk_view.h
&gt; 

Oh.. should I add that in the ewk_view.h? I will. Thanks.


&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:289
&gt; &gt; +struct _Ewk_Custom_Handlers_Data {
&gt; 
&gt; I would like to confirm this struct again. Will you add new API to set this data by application ? Because, as you know, if there is no API to set protocol handler, we don&apos;t need to open this struct.


Application will not set any value to the members of this structure.
Application will only &quot;read&quot; the value.
Is setter needed anyway?


By the way, I didn&apos;t make getter, as well.
I open this structure, so I think the application can get the value by access to the structure without getter.

Do you want me to make getter?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595187</commentid>
    <comment_count>19</comment_count>
      <attachid>135467</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-04-03 20:18:30 -0700</bug_when>
    <thetext>Comment on attachment 135467
Patch

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

&gt;&gt;&gt; Source/WebKit/efl/ewk/ewk_view.h:289
&gt;&gt;&gt; +struct _Ewk_Custom_Handlers_Data {
&gt;&gt; 
&gt;&gt; I would like to confirm this struct again. Will you add new API to set this data by application ? Because, as you know, if there is no API to set protocol handler, we don&apos;t need to open this struct.
&gt; 
&gt; Application will not set any value to the members of this structure.
&gt; Application will only &quot;read&quot; the value.
&gt; Is setter needed anyway?
&gt; 
&gt; 
&gt; By the way, I didn&apos;t make getter, as well.
&gt; I open this structure, so I think the application can get the value by access to the structure without getter.
&gt; 
&gt; Do you want me to make getter?

As we discuss on private channel, I think you don&apos;t need to add set / get APIs for now. In future, let&apos;s discuss set/get APIs again when you add new APIs related to setting options.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595196</commentid>
    <comment_count>20</comment_count>
      <attachid>135498</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-04-03 20:28:07 -0700</bug_when>
    <thetext>Created attachment 135498
Patch

Fix regarding Gyuyoung&apos;s comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615926</commentid>
    <comment_count>21</comment_count>
      <attachid>135498</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-03 20:38:53 -0700</bug_when>
    <thetext>Comment on attachment 135498
Patch

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

&gt; Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:621
&gt; +    Ewk_Custom_Handlers_Data* data = customHandlersDataCreate(m_view, scheme.utf8().data(), baseURL.utf8().data(), url.utf8().data(), title.utf8().data());
&gt; +    ewk_custom_handlers_register_protocol_handler(data);
&gt; +    customHandlersDataDelete(data);

Since the functions creating and destroying the data are only used in this method, I think they could be all squashed here instead of being implemented separately above. If you do that, I think it even makes sense not to use eina_stringshare at all and reduce the code even more.

&gt; Source/WebKit/efl/ewk/ewk_custom_handlers.cpp:31
&gt; +bool ewk_custom_handlers_register_protocol_handler(Ewk_Custom_Handlers_Data* data)
&gt; +{
&gt; +    EINA_SAFETY_ON_NULL_RETURN_VAL(data-&gt;o, false);
&gt; +    evas_object_smart_callback_call(data-&gt;o, &quot;protocolhandler,register&quot;, data);
&gt; +    return true;
&gt; +}

As we have been discussing in other bugs (such as bug 74921), at least for now it is recommended to put functions which act on a given object together with others. This function simply emits a signal on an ewk_view, so it can clearly be implemented as a private ewk_view function, like the others already defined that also emit ewk_view signals.

This way, not only can you get rid of this whole file, but you can also remove the &quot;o&quot; parameter from the Ewk_Custom_Handlers_Data struct.

&gt; Source/WebKit/efl/ewk/ewk_view.h:63
&gt; + *  - &quot;protocolhandler,register&quot;, Ewk_Custom_Handlers_Data: add a handler url for the given protocol.

Nit: we usually describe the signals in a sort of passive voice. You&apos;d normally say something like &quot;a URL handler for the given protocol has been added [or registered]&quot; here.

&gt; Source/WebKit/efl/ewk/ewk_view.h:290
&gt; +struct _Ewk_Custom_Handlers_Data {

We usually use singular forms for struct names.

&gt; Source/WebKit/efl/ewk/ewk_view.h:291
&gt; +    Evas_Object *o; /**&lt; Reference to the view object. */

&quot;o&quot; is not a very descriptive name for this object.

&gt; Source/WebKit/efl/ewk/ewk_view.h:295
&gt; +    const char *target; /**&lt; Reference to the protocols that will be handled. */
&gt; +    const char *base_url; /**&lt; Reference to the resolved url if the url is relative url. */
&gt; +    const char *url; /**&lt; Reference to the url which will handle the given protocol. */
&gt; +    const char *title; /**&lt; Reference to the descriptive title of the handler. */

It&apos;d be useful to give an example for each field. For example: &quot;Reference to the descriptive title of the handler (eg. &apos;Foo Bar&apos;)&quot;

&gt; Source/cmake/OptionsEfl.cmake:95
&gt; +WEBKIT_FEATURE(ENABLE_REGISTER_PROTOCOL_HANDLER &quot;Enable the custom protocol handler&quot; DEFAULT ON)

You&apos;ll need to rebase this part; the features are defined in WebKitFeatures.cmake and have their default values overridden in Options${PORT}.cmake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618325</commentid>
    <comment_count>22</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-07 22:47:21 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 135498 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=135498&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp:621
&gt; &gt; +    Ewk_Custom_Handlers_Data* data = customHandlersDataCreate(m_view, scheme.utf8().data(), baseURL.utf8().data(), url.utf8().data(), title.utf8().data());
&gt; &gt; +    ewk_custom_handlers_register_protocol_handler(data);
&gt; &gt; +    customHandlersDataDelete(data);
&gt; 
&gt; Since the functions creating and destroying the data are only used in this method, I think they could be all squashed here instead of being implemented separately above. If you do that, I think it even makes sense not to use eina_stringshare at all and reduce the code even more.
&gt; 

Only registerProtocolHandler function is implemented in the WebKit currently,
so customHandlersDataCreate &amp; customHandlersDataDelete functions would seem unnecessary.

But, as you know, I&apos;m planning to implement 5 more functions which related to registerProtocolHandler,
and they will use customHandlersDataCreate &amp; customHandlersDataDelete fuctions.
That&apos;s why I implement these two functions.

I&apos;ll implement the 5 functions just after this patch is merged into the WebKit trunk.


&gt; &gt; Source/WebKit/efl/ewk/ewk_custom_handlers.cpp:31
&gt; &gt; +bool ewk_custom_handlers_register_protocol_handler(Ewk_Custom_Handlers_Data* data)
&gt; &gt; +{
&gt; &gt; +    EINA_SAFETY_ON_NULL_RETURN_VAL(data-&gt;o, false);
&gt; &gt; +    evas_object_smart_callback_call(data-&gt;o, &quot;protocolhandler,register&quot;, data);
&gt; &gt; +    return true;
&gt; &gt; +}
&gt; 
&gt; As we have been discussing in other bugs (such as bug 74921), at least for now it is recommended to put functions which act on a given object together with others. This function simply emits a signal on an ewk_view, so it can clearly be implemented as a private ewk_view function, like the others already defined that also emit ewk_view signals.
&gt; 
&gt; This way, not only can you get rid of this whole file, but you can also remove the &quot;o&quot; parameter from the Ewk_Custom_Handlers_Data struct.
&gt; 

As we discussed in this bug, (and also in this comment)
I&apos;ll implement the 5 more functions which related to registerProtocolHandler.

That&apos;s why you suggested me to make new file rather than implement in the ewk_private.cpp.

If you think it is reasonable that 6 more functions are added into the ewk_private.cpp,
I&apos;ll move it to the file.



&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:63
&gt; &gt; + *  - &quot;protocolhandler,register&quot;, Ewk_Custom_Handlers_Data: add a handler url for the given protocol.
&gt; 
&gt; Nit: we usually describe the signals in a sort of passive voice. You&apos;d normally say something like &quot;a URL handler for the given protocol has been added [or registered]&quot; here.
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:290
&gt; &gt; +struct _Ewk_Custom_Handlers_Data {
&gt; 
&gt; We usually use singular forms for struct names.
&gt; 

OK. I&apos;ll fix this.


&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:291
&gt; &gt; +    Evas_Object *o; /**&lt; Reference to the view object. */
&gt; 
&gt; &quot;o&quot; is not a very descriptive name for this object.
&gt; 

OK. I&apos;ll fix this.


&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:295
&gt; &gt; +    const char *target; /**&lt; Reference to the protocols that will be handled. */
&gt; &gt; +    const char *base_url; /**&lt; Reference to the resolved url if the url is relative url. */
&gt; &gt; +    const char *url; /**&lt; Reference to the url which will handle the given protocol. */
&gt; &gt; +    const char *title; /**&lt; Reference to the descriptive title of the handler. */
&gt; 
&gt; It&apos;d be useful to give an example for each field. For example: &quot;Reference to the descriptive title of the handler (eg. &apos;Foo Bar&apos;)&quot;
&gt; 

OK, I try to make it.


&gt; &gt; Source/cmake/OptionsEfl.cmake:95
&gt; &gt; +WEBKIT_FEATURE(ENABLE_REGISTER_PROTOCOL_HANDLER &quot;Enable the custom protocol handler&quot; DEFAULT ON)
&gt; 
&gt; You&apos;ll need to rebase this part; the features are defined in WebKitFeatures.cmake and have their default values overridden in Options${PORT}.cmake.

OK. I&apos;ll fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618410</commentid>
    <comment_count>23</comment_count>
      <attachid>140691</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-08 01:31:49 -0700</bug_when>
    <thetext>Created attachment 140691
Patch

I&apos;ve fixed the patch regarding Raphael&apos;s comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>618411</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-08 01:33:52 -0700</bug_when>
    <thetext>Attachment 140691 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;ChangeLog&apos;, u&apos;Source/WebCore/CMakeLists.tx...&quot; exit_code: 1
Source/WebKit/efl/ewk/ewk_view.h:318:  One space before end of line comments  [whitespace/comments] [5]
Source/WebKit/efl/ewk/ewk_view.h:318:  Should have a space between // and comment  [whitespace/comments] [4]
Source/WebKit/efl/ewk/ewk_view.h:319:  One space before end of line comments  [whitespace/comments] [5]
Source/WebKit/efl/ewk/ewk_view.h:319:  Should have a space between // and comment  [whitespace/comments] [4]
Total errors found: 4 in 13 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>618918</commentid>
    <comment_count>25</comment_count>
      <attachid>140807</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-08 16:20:48 -0700</bug_when>
    <thetext>Created attachment 140807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619017</commentid>
    <comment_count>26</comment_count>
      <attachid>140831</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-08 17:42:23 -0700</bug_when>
    <thetext>Created attachment 140831
Patch

I add LayoutTests/platform/efl/fast/dom/register-protocol-handler-expected.txt in the patch.

Please see the discussion at the bug, https://bugs.webkit.org/show_bug.cgi?id=85874.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619097</commentid>
    <comment_count>27</comment_count>
      <attachid>140831</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-08 19:15:15 -0700</bug_when>
    <thetext>Comment on attachment 140831
Patch

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

Something that&apos;s not related to a specific part of the patch: what kind of functions do you intend to add? Doesn&apos;t it make sense to add them all in this patch?

&gt; Source/WebKit/efl/ChangeLog:20
&gt; +        * ewk/ewk_custom_handlers.cpp: Added.

If the function name prefix in this file is &quot;ewk_custom_handler&quot; (singular), the file should be called &quot;ewk_custom_handler.cpp&quot; (singular).

&gt; Source/WebKit/efl/ewk/ewk_custom_handlers.cpp:29
&gt; +    evas_object_smart_callback_call(data-&gt;ewkView, &quot;protocolhandler,register&quot;, data);

I&apos;m a bit confused about the behavior here -- is the intention of the code at this point to simply notify API users that this has happened or is this actively part of the process of registering a new protocol handler? In case it&apos;s the latter, then it probably makes sense to add a virtual function to the Ewk_View_Smart_Class structure and call it instead of emitting a signal.

&gt; Source/WebKit/efl/ewk/ewk_view.h:73
&gt; + *  - &quot;protocolhandler,register&quot;, Ewk_Custom_Handler_Data: add a handler url for the given protocol.

Nit: we generally use the present perfect form for the verbs in signals (&quot;displayed&quot;, &quot;set&quot;) instead of the infinitive. After all, this is something that has already happened.

&gt; Source/WebKit/efl/ewk/ewk_view.h:317
&gt; +    const char *target; /**&lt; Reference to the protocols that will be handled.  (eg. mailto, irc) */

Isn&apos;t this a single protocol instead of protocols (plural)? Shouldn&apos;t the variable be just called &quot;protocol&quot;?

&gt; Source/WebKit/efl/ewk/ewk_view.h:318
&gt; +    const char *base_url; /**&lt; Reference to the resolved url if the url is relative url. (eg. &quot;https://www.currenthost.com/&quot;) */

If the URL isn&apos;t relative, is this 0 or an empty string?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619127</commentid>
    <comment_count>28</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-08 20:09:45 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; (From update of attachment 140831 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=140831&amp;action=review
&gt; 

Ok.. I see what you are confused..


There is registerProtocolHandler function is in the WebKit currently.
This patch is implementing the EFL port of the function.

This API works like this.
 1. Web app try to register a protocol handler.
 2. WebKit pass the information to the application who is using the WebKit at that time.
 3. Application save the information into DB or whatever.
 4. When the protocol is shown, application redirect the url regarding the information.

So, WebKit only need to pass the right information to the application.



And, 2 more functions are added at the W3C spec.
isRegisteredProtocolHandler, and unregisterProtocolHandler.

And, there is one more custom handler at rhe W3C spec, which is Custom Content Handler.
There are three APIs : registerContentHandler, isRegisteredContentHandler, and unregisterContentHandler.



I&apos;m planning to implement those new APIs in the WebCore and EFL port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619136</commentid>
    <comment_count>29</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-08 20:25:51 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; (From update of attachment 140831 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=140831&amp;action=review
&gt; 
&gt; Something that&apos;s not related to a specific part of the patch: what kind of functions do you intend to add? Doesn&apos;t it make sense to add them all in this patch?
&gt; 

I leave a comment above.


&gt; &gt; Source/WebKit/efl/ChangeLog:20
&gt; &gt; +        * ewk/ewk_custom_handlers.cpp: Added.
&gt; 
&gt; If the function name prefix in this file is &quot;ewk_custom_handler&quot; (singular), the file should be called &quot;ewk_custom_handler.cpp&quot; (singular).
&gt; 

Because I want to add Content Handler in this file alse.

I will just make it as singular form, 
and I will change it as plural when I add Content Handler.


&gt; &gt; Source/WebKit/efl/ewk/ewk_custom_handlers.cpp:29
&gt; &gt; +    evas_object_smart_callback_call(data-&gt;ewkView, &quot;protocolhandler,register&quot;, data);
&gt; 
&gt; I&apos;m a bit confused about the behavior here -- is the intention of the code at this point to simply notify API users that this has happened or is this actively part of the process of registering a new protocol handler? In case it&apos;s the latter, then it probably makes sense to add a virtual function to the Ewk_View_Smart_Class structure and call it instead of emitting a signal.
&gt; 

Yes. notify to the application.
As I know, that&apos;s what WebKit supposed to do all about.

I simply explained about this at the comment above.


&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:73
&gt; &gt; + *  - &quot;protocolhandler,register&quot;, Ewk_Custom_Handler_Data: add a handler url for the given protocol.
&gt; 
&gt; Nit: we generally use the present perfect form for the verbs in signals (&quot;displayed&quot;, &quot;set&quot;) instead of the infinitive. After all, this is something that has already happened.
&gt; 

Registering a handler will be happened after an application get this signal.
I think &quot;register&quot; is right form in this case.

But, if it is a coding style of the EFL port, I will changed this  &quot;protocolhandler,registered&quot;


&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:317
&gt; &gt; +    const char *target; /**&lt; Reference to the protocols that will be handled.  (eg. mailto, irc) */
&gt; 
&gt; Isn&apos;t this a single protocol instead of protocols (plural)? Shouldn&apos;t the variable be just called &quot;protocol&quot;?
&gt; 

1. Single protocol. I will remove one of them.

2. I use the name &quot;target&quot; because I want to use this attribute for both protocol and content.

  I will change the name of this attribute as protocol, 
  and I will re-change it when I add Content Handler.


&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:318
&gt; &gt; +    const char *base_url; /**&lt; Reference to the resolved url if the url is relative url. (eg. &quot;https://www.currenthost.com/&quot;) */
&gt; 
&gt; If the URL isn&apos;t relative, is this 0 or an empty string?

This is the return value of Document::baseURL().
This has value whether the url is relative or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>619228</commentid>
    <comment_count>30</comment_count>
      <attachid>140871</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-09 00:20:07 -0700</bug_when>
    <thetext>Created attachment 140871
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624872</commentid>
    <comment_count>31</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-15 19:25:54 -0700</bug_when>
    <thetext>First of all, sorry for repeating some comments -- we&apos;ve been discussing this for so long that I really forgot what I had already said :-)

(In reply to comment #28)
&gt; This API works like this.
&gt;  1. Web app try to register a protocol handler.
&gt;  2. WebKit pass the information to the application who is using the WebKit at that time.
&gt;  3. Application save the information into DB or whatever.
&gt;  4. When the protocol is shown, application redirect the url regarding the information.
&gt; 
&gt; So, WebKit only need to pass the right information to the application.

(In reply to comment #29)
&gt; &gt; &gt; Source/WebKit/efl/ewk/ewk_custom_handlers.cpp:29
&gt; &gt; &gt; +    evas_object_smart_callback_call(data-&gt;ewkView, &quot;protocolhandler,register&quot;, data);
&gt; &gt; I&apos;m a bit confused about the behavior here -- is the intention of the code at this point to simply notify API users that this has happened or is this actively part of the process of registering a new protocol handler? In case it&apos;s the latter, then it probably makes sense to add a virtual function to the Ewk_View_Smart_Class structure and call it instead of emitting a signal.

&gt; Yes. notify to the application.
&gt; As I know, that&apos;s what WebKit supposed to do all about.

&gt; &gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:73
&gt; &gt; &gt; + *  - &quot;protocolhandler,register&quot;, Ewk_Custom_Handler_Data: add a handler url for the given protocol.
&gt; &gt; Nit: we generally use the present perfect form for the verbs in signals (&quot;displayed&quot;, &quot;set&quot;) instead of the infinitive. After all, this is something that has already happened.

&gt; Registering a handler will be happened after an application get this signal.
&gt; I think &quot;register&quot; is right form in this case.

&gt; But, if it is a coding style of the EFL port, I will changed this  &quot;protocolhandler,registered&quot;

Let us clear this part up before the others. What I am asking here is whether the application is part of the protocol registration process or if it is simply notified that the registration happened. In your comment #28 and the first block of comment #29 I quoted, you seem to say that it is the latter; in the last block I quoted, you say that the handler registration will only have happened after the application is notified. I am not sure if you mean this from the point of view of the application (it will only know about the whole protocol registration thing going on in WebKit after it catches the signal indeed) or from WebKit&apos;s point of view (in which case synchronously calling a function defined in Ewk_View_Smart_Class is a vital part of the registration process, for example because it needs some return value from the application code).

If the application really simply needs to be notified that this event happened, using &quot;registered&quot; really makes much more sense than &quot;register&quot;; if it&apos;s the opposite, you need to change your code and should not be emitting a signal anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624878</commentid>
    <comment_count>32</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-15 19:30:20 -0700</bug_when>
    <thetext>Now on to the rest.

(In reply to comment #29)
&gt; (In reply to comment #27)
&gt; &gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:317
&gt; &gt; &gt; +    const char *target; /**&lt; Reference to the protocols that will be handled.  (eg. mailto, irc) */
&gt; &gt; Isn&apos;t this a single protocol instead of protocols (plural)? Shouldn&apos;t the variable be just called &quot;protocol&quot;?
&gt; 1. Single protocol. I will remove one of them.
&gt; 2. I use the name &quot;target&quot; because I want to use this attribute for both protocol and content.
&gt;   I will change the name of this attribute as protocol, 
&gt;   and I will re-change it when I add Content Handler.

In the end you chose to use &quot;scheme&quot; as the variable name, which is OK, but you still say &quot;protocols&quot; (plural) in the documentation.

&gt; &gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:318
&gt; &gt; &gt; +    const char *base_url; /**&lt; Reference to the resolved url if the url is relative url. (eg. &quot;https://www.currenthost.com/&quot;) */
&gt; &gt; If the URL isn&apos;t relative, is this 0 or an empty string?
&gt; This is the return value of Document::baseURL().
&gt; This has value whether the url is relative or not.

This does not answer my question -- I am asking if the value of this variable will be 0 (NULL) or an empty, allocated string if the URL is not relative. This should be properly documented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624886</commentid>
    <comment_count>33</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-15 19:41:46 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; First of all, sorry for repeating some comments -- we&apos;ve been discussing this for so long that I really forgot what I had already said :-)
&gt; 
&gt; (In reply to comment #28)
&gt; &gt; This API works like this.
&gt; &gt;  1. Web app try to register a protocol handler.
&gt; &gt;  2. WebKit pass the information to the application who is using the WebKit at that time.
&gt; &gt;  3. Application save the information into DB or whatever.
&gt; &gt;  4. When the protocol is shown, application redirect the url regarding the information.
&gt; &gt; 
&gt; &gt; So, WebKit only need to pass the right information to the application.
&gt; 
&gt; (In reply to comment #29)
&gt; &gt; &gt; &gt; Source/WebKit/efl/ewk/ewk_custom_handlers.cpp:29
&gt; &gt; &gt; &gt; +    evas_object_smart_callback_call(data-&gt;ewkView, &quot;protocolhandler,register&quot;, data);
&gt; &gt; &gt; I&apos;m a bit confused about the behavior here -- is the intention of the code at this point to simply notify API users that this has happened or is this actively part of the process of registering a new protocol handler? In case it&apos;s the latter, then it probably makes sense to add a virtual function to the Ewk_View_Smart_Class structure and call it instead of emitting a signal.
&gt; 
&gt; &gt; Yes. notify to the application.
&gt; &gt; As I know, that&apos;s what WebKit supposed to do all about.
&gt; 
&gt; &gt; &gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:73
&gt; &gt; &gt; &gt; + *  - &quot;protocolhandler,register&quot;, Ewk_Custom_Handler_Data: add a handler url for the given protocol.
&gt; &gt; &gt; Nit: we generally use the present perfect form for the verbs in signals (&quot;displayed&quot;, &quot;set&quot;) instead of the infinitive. After all, this is something that has already happened.
&gt; 
&gt; &gt; Registering a handler will be happened after an application get this signal.
&gt; &gt; I think &quot;register&quot; is right form in this case.
&gt; 
&gt; &gt; But, if it is a coding style of the EFL port, I will changed this  &quot;protocolhandler,registered&quot;
&gt; 
&gt; Let us clear this part up before the others. What I am asking here is whether the application is part of the protocol registration process or if it is simply notified that the registration happened. In your comment #28 and the first block of comment #29 I quoted, you seem to say that it is the latter; in the last block I quoted, you say that the handler registration will only have happened after the application is notified. I am not sure if you mean this from the point of view of the application (it will only know about the whole protocol registration thing going on in WebKit after it catches the signal indeed) or from WebKit&apos;s point of view (in which case synchronously calling a function defined in Ewk_View_Smart_Class is a vital part of the registration process, for example because it needs some return value from the application code).
&gt; 
&gt; If the application really simply needs to be notified that this event happened, using &quot;registered&quot; really makes much more sense than &quot;register&quot;; if it&apos;s the opposite, you need to change your code and should not be emitting a signal anyway.


Regarding comment #28 I&apos;ve wrote, 
 * WebKit pass the information to the application who is using the WebKit at that time.
 * Application save the information into DB or whatever.


So, the answer of your question is this.

Q: What I am asking here is whether the application is part of the protocol registration process or if it is simply notified that the registration happened.

A: WebKit simply notify to the application that registration is needed, 
and then, the application register the handler and keep it in itself by DB or whatever.

So, the &quot;actual&quot; action, registering, is happened in the application.
That&apos;s why I want to &apos;register&apos; rather than &apos;registered&apos; in WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>624893</commentid>
    <comment_count>34</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-15 19:54:56 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; Now on to the rest.
&gt; 
&gt; (In reply to comment #29)
&gt; &gt; (In reply to comment #27)
&gt; &gt; &gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:317
&gt; &gt; &gt; &gt; +    const char *target; /**&lt; Reference to the protocols that will be handled.  (eg. mailto, irc) */
&gt; &gt; &gt; Isn&apos;t this a single protocol instead of protocols (plural)? Shouldn&apos;t the variable be just called &quot;protocol&quot;?
&gt; &gt; 1. Single protocol. I will remove one of them.
&gt; &gt; 2. I use the name &quot;target&quot; because I want to use this attribute for both protocol and content.
&gt; &gt;   I will change the name of this attribute as protocol, 
&gt; &gt;   and I will re-change it when I add Content Handler.
&gt; 
&gt; In the end you chose to use &quot;scheme&quot; as the variable name, which is OK, but you still say &quot;protocols&quot; (plural) in the documentation.
&gt;

Oh. I will use &apos;scheme&apos; in the comment. That will be better. Thanks!


&gt; &gt; &gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:318
&gt; &gt; &gt; &gt; +    const char *base_url; /**&lt; Reference to the resolved url if the url is relative url. (eg. &quot;https://www.currenthost.com/&quot;) */
&gt; &gt; &gt; If the URL isn&apos;t relative, is this 0 or an empty string?
&gt; &gt; This is the return value of Document::baseURL().
&gt; &gt; This has value whether the url is relative or not.
&gt; 
&gt; This does not answer my question -- I am asking if the value of this variable will be 0 (NULL) or an empty, allocated string if the URL is not relative. This should be properly documented.

I don&apos;t think this could be empty when any web page is loaded.
This attribute set by Document::setURL function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>627472</commentid>
    <comment_count>35</comment_count>
      <attachid>142663</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-18 01:49:52 -0700</bug_when>
    <thetext>Created attachment 142663
Patch

I&apos;ve fixed the patch regarding to the Rakuco&apos;s comments.

And, I&apos;ve moved the prototype of ewk_custom_handler_register_protocol_handler into the ewk_view_private.h file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628643</commentid>
    <comment_count>36</comment_count>
      <attachid>142663</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-20 15:49:17 -0700</bug_when>
    <thetext>Comment on attachment 142663
Patch

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

Looks almost there to me, there are some minor details left.

&gt; Source/WebKit/efl/ewk/ewk_view.h:73
&gt; + *  - &quot;protocolhandler,register&quot;, Ewk_Custom_Handler_Data: add a handler url for the given protocol.

It looks like you forgot to change this to &quot;registered&quot;? You could use another signal name if you think it makes more sense, such as &quot;protocolhandler,registration,requested&quot;.

&gt; Source/WebKit/efl/ewk/ewk_view.h:318
&gt; +    const char *scheme; /**&lt; Reference to the scheme that will be handled.  (eg. mailto) */

Nitpick: there are two spaces between &apos;.&apos; and &apos;(&apos;. Please enclose &quot;mailto&quot; within quotes.

&gt; Source/WebKit/efl/ewk/ewk_view.h:319
&gt; +    const char *base_url; /**&lt; Reference to the resolved url if the url is relative url. (eg. &quot;https://www.currenthost.com/&quot;) */

Please mention that this member contains an empty string if the URL is not relative.

&gt; Source/WebKit/efl/ewk/ewk_view.h:321
&gt; +    const char *title; /**&lt; Reference to the descriptive title of the handler. (eg. Example Email) */

Nitpick: please enclose &quot;Example Email&quot; withing quotes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628705</commentid>
    <comment_count>37</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-20 18:43:05 -0700</bug_when>
    <thetext>(In reply to comment #36)
&gt; (From update of attachment 142663 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=142663&amp;action=review
&gt; 
&gt; Looks almost there to me, there are some minor details left.
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:73
&gt; &gt; + *  - &quot;protocolhandler,register&quot;, Ewk_Custom_Handler_Data: add a handler url for the given protocol.
&gt; 
&gt; It looks like you forgot to change this to &quot;registered&quot;? You could use another signal name if you think it makes more sense, such as &quot;protocolhandler,registration,requested&quot;.
&gt; 

Actually, I didn&apos;t want to change the name as &apos;registered&apos;, because of the reason I explained the comment above somewhere.

BTW, your recommendation is pretty nice.
I can use that kind of name for it. ;)

&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:318
&gt; &gt; +    const char *scheme; /**&lt; Reference to the scheme that will be handled.  (eg. mailto) */
&gt; 
&gt; Nitpick: there are two spaces between &apos;.&apos; and &apos;(&apos;. Please enclose &quot;mailto&quot; within quotes.
&gt; 

OK.

&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:319
&gt; &gt; +    const char *base_url; /**&lt; Reference to the resolved url if the url is relative url. (eg. &quot;https://www.currenthost.com/&quot;) */
&gt; 
&gt; Please mention that this member contains an empty string if the URL is not relative.
&gt; 

Do you really think it could have an empty string?
I think it would have a string all the time, even though it could be ignored when the given URL is not relative thing.

I will give you an exact answer after I study about it little bit more.


&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:321
&gt; &gt; +    const char *title; /**&lt; Reference to the descriptive title of the handler. (eg. Example Email) */
&gt; 
&gt; Nitpick: please enclose &quot;Example Email&quot; withing quotes.

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628715</commentid>
    <comment_count>38</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-20 19:08:48 -0700</bug_when>
    <thetext>(In reply to comment #37)
&gt; Do you really think it could have an empty string?
&gt; I think it would have a string all the time, even though it could be ignored when the given URL is not relative thing.
&gt; 
&gt; I will give you an exact answer after I study about it little bit more.

I&apos;m not sure, that was a guess; I&apos;ll leave it up to you to check this behavior :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628841</commentid>
    <comment_count>39</comment_count>
      <attachid>142958</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-21 00:35:14 -0700</bug_when>
    <thetext>Created attachment 142958
Patch

I&apos;ve fixed the patch according to the rakuco&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>628858</commentid>
    <comment_count>40</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-21 01:10:57 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; (In reply to comment #37)
&gt; &gt; Do you really think it could have an empty string?
&gt; &gt; I think it would have a string all the time, even though it could be ignored when the given URL is not relative thing.
&gt; &gt; 
&gt; &gt; I will give you an exact answer after I study about it little bit more.
&gt; 
&gt; I&apos;m not sure, that was a guess; I&apos;ll leave it up to you to check this behavior :-)

I&apos;ve add a comment that it could be an empty string.


I&apos;m still thinking it should have a value when any web page is loaded, 
but it could be empty in some cases which I cannot imagine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629832</commentid>
    <comment_count>41</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-21 18:38:57 -0700</bug_when>
    <thetext>Sorry for the noise. So checking how navigator.registerProtocolHandler and the WebCore implementation work, baseURL can&apos;t be empty, since it&apos;s the base URL of the site calling navigator.registerProtocolHandler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629837</commentid>
    <comment_count>42</comment_count>
      <attachid>143166</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-21 18:43:16 -0700</bug_when>
    <thetext>Created attachment 143166
Patch

I&apos;ve fixed regarding the rakuco&apos;s comment.

Thanks for the all the comments and discussion, rakuco and Gyuyoung!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629856</commentid>
    <comment_count>43</comment_count>
      <attachid>143166</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-21 19:12:39 -0700</bug_when>
    <thetext>Comment on attachment 143166
Patch

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

&gt; Source/WebKit/efl/ewk/ewk_view.h:320
&gt; +    const char *base_url; /**&lt; Reference to the resolved url if the url is relative url. (eg. &quot;https://www.currenthost.com/&quot;) */
&gt; +    const char *url; /**&lt; Reference to the url which will handle the given protocol. (eg. &quot;https://www.example.com/?uri=%s&quot;) */

One last thing regarding these two comments: I don&apos;t think base_url has anything to do with relative URLs, and url itself may not be a full URL.

Using the example from &lt;http://www.w3.org/TR/html5/system-state-and-capabilities.html#custom-handlers&gt;, if a user visits http://www.example.com/foo/bar.html and this page calls navigator.registerProtocolHandler(&apos;application/x-soup&apos;, &apos;soup?url=%s&apos;, &apos;SoupWeb&apos;):
 - base_url will be &quot;http://www.example.com/&quot;
 - url will be &quot;soup?url=%s&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629881</commentid>
    <comment_count>44</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-21 19:58:23 -0700</bug_when>
    <thetext>(In reply to comment #43)
&gt; (From update of attachment 143166 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=143166&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:320
&gt; &gt; +    const char *base_url; /**&lt; Reference to the resolved url if the url is relative url. (eg. &quot;https://www.currenthost.com/&quot;) */
&gt; &gt; +    const char *url; /**&lt; Reference to the url which will handle the given protocol. (eg. &quot;https://www.example.com/?uri=%s&quot;) */
&gt; 
&gt; One last thing regarding these two comments: I don&apos;t think base_url has anything to do with relative URLs, and url itself may not be a full URL.
&gt; 
&gt; Using the example from &lt;http://www.w3.org/TR/html5/system-state-and-capabilities.html#custom-handlers&gt;, if a user visits http://www.example.com/foo/bar.html and this page calls navigator.registerProtocolHandler(&apos;application/x-soup&apos;, &apos;soup?url=%s&apos;, &apos;SoupWeb&apos;):
&gt;  - base_url will be &quot;http://www.example.com/&quot;
&gt;  - url will be &quot;soup?url=%s&quot;

As I know, url could be relative url, or not.

The url is a releative url in the example that you mentioned. 

When I wrote the comments, I was thinking the url is absolute path of url, not relative.

Do you want me to change the comment regarding your example?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629915</commentid>
    <comment_count>45</comment_count>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-21 21:01:35 -0700</bug_when>
    <thetext>(In reply to comment #44)
&gt; (In reply to comment #43)
&gt; &gt; (From update of attachment 143166 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=143166&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/efl/ewk/ewk_view.h:320
&gt; &gt; &gt; +    const char *base_url; /**&lt; Reference to the resolved url if the url is relative url. (eg. &quot;https://www.currenthost.com/&quot;) */
&gt; &gt; &gt; +    const char *url; /**&lt; Reference to the url which will handle the given protocol. (eg. &quot;https://www.example.com/?uri=%s&quot;) */
&gt; &gt; 
&gt; &gt; One last thing regarding these two comments: I don&apos;t think base_url has anything to do with relative URLs, and url itself may not be a full URL.
&gt; &gt; 
&gt; &gt; Using the example from &lt;http://www.w3.org/TR/html5/system-state-and-capabilities.html#custom-handlers&gt;, if a user visits http://www.example.com/foo/bar.html and this page calls navigator.registerProtocolHandler(&apos;application/x-soup&apos;, &apos;soup?url=%s&apos;, &apos;SoupWeb&apos;):
&gt; &gt;  - base_url will be &quot;http://www.example.com/&quot;
&gt; &gt;  - url will be &quot;soup?url=%s&quot;
&gt; 
&gt; As I know, url could be relative url, or not.
&gt; 

OK.

Regarding the discussion on the irc,
I will use the scheme, url, and title which are in the W3C spec.

I will upload the new patch soon.
&gt; The url is a releative url in the example that you mentioned. 
&gt; 
&gt; When I wrote the comments, I was thinking the url is absolute path of url, not relative.
&gt; 
&gt; Do you want me to change the comment regarding your example?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629916</commentid>
    <comment_count>46</comment_count>
      <attachid>143187</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-21 21:03:23 -0700</bug_when>
    <thetext>Created attachment 143187
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>630281</commentid>
    <comment_count>47</comment_count>
      <attachid>143187</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-05-22 05:28:30 -0700</bug_when>
    <thetext>Comment on attachment 143187
Patch

Looks fine to me, thanks for the effort you&apos;ve put into this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631220</commentid>
    <comment_count>48</comment_count>
      <attachid>143187</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 22:23:16 -0700</bug_when>
    <thetext>Comment on attachment 143187
Patch

Clearing flags on attachment: 143187

Committed r118123: &lt;http://trac.webkit.org/changeset/118123&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631221</commentid>
    <comment_count>49</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-22 22:23:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631545</commentid>
    <comment_count>50</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-05-23 05:35:28 -0700</bug_when>
    <thetext>Reopening - still fails on bots, it needs an additional isEfl() in webkit-build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631551</commentid>
    <comment_count>51</comment_count>
      <attachid>143546</attachid>
    <who name="Dongwoo Joshua Im (dwim)">dw.im</who>
    <bug_when>2012-05-23 05:47:19 -0700</bug_when>
    <thetext>Created attachment 143546
Patch

ENABLE_REGISTER_PROTOCOL_HANDLER option will turn on as default on EFL port by this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631601</commentid>
    <comment_count>52</comment_count>
      <attachid>143546</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-23 06:36:49 -0700</bug_when>
    <thetext>Comment on attachment 143546
Patch

Clearing flags on attachment: 143546

Committed r118170: &lt;http://trac.webkit.org/changeset/118170&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>631602</commentid>
    <comment_count>53</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-23 06:37:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131987</attachid>
            <date>2012-03-14 22:26:48 -0700</date>
            <delta_ts>2012-03-19 01:15:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_EFL_registerProtocolHandler_0315.patch</filename>
            <type>text/plain</type>
            <size>11610</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkZDBiZmI3Li5iNDhiOTk5
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMDMtMTUgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZTogQWRkcyB0aGUgYnVpbGQgb3B0aW9u
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOiBBZGRzIHRoZSBidWlsZCBv
cHRpb24uCisKIDIwMTItMDMtMTQgIE1hdHQgRmFsa2VuaGFnZW4gIDxmYWxrZW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIEFsbG93IHBlci1zY3JpcHQgZm9udCBzZXR0aW5ncyB0byBiZSBzcGVj
aWZpZWQgaW4gbGF5b3V0IHRlc3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRmMWNmNTguLmI0ZjJiMWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDMtMTUgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29s
SGFuZGxlciBtZXRob2QgYW5kIG9wdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTczNjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFs
bG93cyBXZWIgc2l0ZXMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJs
ZSBoYW5kbGVycyBmb3IgcGFydGljdWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJv
dG9jb2xoYW5kbGVyCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZTogQWRkcyB0aGUgbmV3
IGZpbGUgaW50byB0aGUgc291cmNlIGxpc3QuCisKIDIwMTItMDMtMTEgIFRpbW90aHkgSGF0Y2hl
ciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBob3cgdGhlIFdlYiBJbnNw
ZWN0b3IgcmVzb3VyY2VzIGFyZSBsb2FkZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCAx
ZGViZTM2Li5kMDI4ZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTEyNiw2ICsxMjYs
MTQgQEAgSUYgKEVOQUJMRV9WSUJSQVRJT04pCiAgICAgKQogRU5ESUYgKCkKIAorSUYgKEVOQUJM
RV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQorICAgIExJU1QoQVBQRU5EIFdlYktpdF9TT1VS
Q0VTCisgICAgICAgIGVmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVycy5jcHAKKyAgICApCisgICAg
TElTVChBUFBFTkQgRVdlYktpdF9IRUFERVJTCisgICAgICAgIGVmbC9ld2svZXdrX2N1c3RvbV9o
YW5kbGVycy5oCisgICAgKQorRU5ESUYgKCkKIAogU0VUKFdlYktpdF9USEVNRV9ERUZJTklUSU9O
ICIiKQogSUYgKEVOQUJMRV9QUk9HUkVTU19UQUcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggMzA2Nzc1
YS4uY2YzYjliYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTAzLTE1
ICBEb25nd29vIEltICA8ZHcuaW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gSW1wbGVt
ZW50cyB0aGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIgbWV0aG9kIGFuZCBvcHRpb24uCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzOAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSByZWdpc3RlclBy
b3RvY29sSGFuZGxlcigpIG1ldGhvZCBhbGxvd3MgV2ViIHNpdGVzIHRvIHJlZ2lzdGVyIHRoZW1z
ZWx2ZXMKKyAgICAgICAgYXMgcG9zc2libGUgaGFuZGxlcnMgZm9yIHBhcnRpY3VsYXIgc2NoZW1l
cy4KKworICAgICAgICBodHRwOi8vZGV2LnczLm9yZy9odG1sNS9zcGVjL092ZXJ2aWV3Lmh0bWwj
ZG9tLW5hdmlnYXRvci1yZWdpc3RlcnByb3RvY29saGFuZGxlcgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcDogZGRzIGEgbmV3IGZ1bmN0aW9uLgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OnJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyKTogUmVnaXN0ZXJzIGEgcHJvdG9jb2wgYW5kIHRoZSBoYW5kbGVyIG9m
IGl0LgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oOiBBZGRzIGEg
cHJvdG90eXBlLgorICAgICAgICAoQ2hyb21lQ2xpZW50RWZsKToKKyAgICAgICAgKiBld2svRVdl
YktpdC5oOiBBZGRzICdld2tfY3VzdG9tX2hhbmRsZXJzLmgnLgorICAgICAgICAqIGV3ay9ld2tf
Y3VzdG9tX2hhbmRsZXJzLmNwcDogQWRkZWQuCisgICAgICAgIChfZXdrX2N1c3RvbV9oYW5kbGVy
c19kYXRhX2NyZWF0ZSk6IENyZWF0ZXMgYW5kIGZpbGxzIHRoZSBkYXRhIG9iamVjdC4KKyAgICAg
ICAgKF9ld2tfY3VzdG9tX2hhbmRsZXJzX2RhdGFfZGVsZXRlKTogRGVsZXRlcyB0aGUgZGF0YSBv
YmplY3QuCisgICAgICAgIChld2tfY3VzdG9tX2hhbmRsZXJzX3JlZ2lzdGVyX3Byb3RvY29sX2hh
bmRsZXIpOiBSZWdpc3RlcnMgYSBwcm90b2NvbCBhbmQgdGhlIGhhbmRsZXIgb2YgaXQuCisgICAg
ICAgICogZXdrL2V3a19jdXN0b21faGFuZGxlcnMuaDogQWRkZWQuCisgICAgICAgIChfRXdrX0N1
c3RvbV9IYW5kbGVyc19EYXRhKTogQWRkcyBEYXRhIHN0cnVjdHVyZS4KKyAgICAgICAgKiBld2sv
ZXdrX3ByaXZhdGUuaDogQWRkcyBwcml2YXRlIGZ1bmN0aW9uLgorCiAyMDEyLTAzLTEzICBKb24g
TGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBTZXBhcmF0ZSBOT1RJRklDQVRJT05T
IGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9OUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKaW5kZXggZGQ3OWI5My4uOGFkMTI3NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuY3BwCkBAIC02NCw2ICs2NCwxMCBAQAogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5o
IgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKKyNpbmNs
dWRlICJld2tfY3VzdG9tX2hhbmRsZXJzLmgiCisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIHN0YXRpYyBpbmxpbmUgRXZhc19PYmplY3QqIGtpdChGcmFtZSogZnJhbWUpCkBA
IC01OTIsNCArNTk2LDEyIEBAIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjpleGl0RnVsbFNjcmVlbkZv
ckVsZW1lbnQoV2ViQ29yZTo6RWxlbWVudCogZWxlbWVudCkKICAgICBlbGVtZW50LT5kb2N1bWVu
dCgpLT53ZWJraXREaWRFeGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoZWxlbWVudCk7CiB9CiAjZW5k
aWYKKworI2lmIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQordm9pZCBDaHJvbWVD
bGllbnRFZmw6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBj
b25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRp
dGxlKQoreworICAgIGV3a19jdXN0b21faGFuZGxlcnNfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxl
cihtX3ZpZXcsIHNjaGVtZS51dGY4KCkuZGF0YSgpLCBiYXNlVVJMLnV0ZjgoKS5kYXRhKCksIHVy
bC51dGY4KCkuZGF0YSgpLCB0aXRsZS51dGY4KCkuZGF0YSgpKTsKK30KKyNlbmRpZgorCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRF
ZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5o
CmluZGV4IDljZTlkNjguLjU1MzY4MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBAIC0xNjksNiArMTY5LDEwIEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25l
ZCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQodW5z
aWduZWQpIHsgfQogCisjaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCisgICAg
dmlydHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1l
LCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcm
IHRpdGxlKTsKKyNlbmRpZgorCiAgICAgRXZhc19PYmplY3QqIG1fdmlldzsKICAgICBLVVJMIG1f
aG92ZXJlZExpbmtVUkw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL0VX
ZWJLaXQuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9FV2ViS2l0LmgKaW5kZXggMGZmYjUxYy4u
NjhmZmIwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL0VXZWJLaXQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svRVdlYktpdC5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5j
bHVkZSAiZXdrX2F1dGguaCIKICNpbmNsdWRlICJld2tfY29udGV4dG1lbnUuaCIKICNpbmNsdWRl
ICJld2tfY29va2llcy5oIgorI2luY2x1ZGUgImV3a19jdXN0b21faGFuZGxlcnMuaCIKICNpbmNs
dWRlICJld2tfZnJhbWUuaCIKICNpbmNsdWRlICJld2tfaGlzdG9yeS5oIgogI2luY2x1ZGUgImV3
a19qcy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jdXN0b21faGFu
ZGxlcnMuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jdXN0b21faGFuZGxlcnMuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4NWE0MDQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVycy5jcHAKQEAg
LTAsMCArMSw1NSBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJv
bmljcworCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVyc2lvbiAyLjEgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgICBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICAg
YWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgImV3a19jdXN0b21faGFu
ZGxlcnMuaCIKKworI2lmIEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQorCisjaW5j
bHVkZSAiZXdrX3ByaXZhdGUuaCIKKworRXdrX0N1c3RvbV9IYW5kbGVyc19EYXRhKiBfZXdrX2N1
c3RvbV9oYW5kbGVyc19kYXRhX2NyZWF0ZShjb25zdCBjaGFyKiB0YXJnZXQsIGNvbnN0IGNoYXIq
IGJhc2VVcmwsIGNvbnN0IGNoYXIqIHVybCwgY29uc3QgY2hhciogdGl0bGUpCit7CisgICAgRXdr
X0N1c3RvbV9IYW5kbGVyc19EYXRhKiBkYXRhID0gbmV3IEV3a19DdXN0b21fSGFuZGxlcnNfRGF0
YSgpOworICAgIGRhdGEtPnRhcmdldCA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKHRhcmdldCk7Cisg
ICAgZGF0YS0+YmFzZV91cmwgPSBlaW5hX3N0cmluZ3NoYXJlX2FkZChiYXNlVXJsKTsKKyAgICBk
YXRhLT51cmwgPSBlaW5hX3N0cmluZ3NoYXJlX2FkZCh1cmwpOworICAgIGRhdGEtPnRpdGxlID0g
ZWluYV9zdHJpbmdzaGFyZV9hZGQodGl0bGUpOworICAgIHJldHVybiBkYXRhOworfQorCit2b2lk
IF9ld2tfY3VzdG9tX2hhbmRsZXJzX2RhdGFfZGVsZXRlKEV3a19DdXN0b21fSGFuZGxlcnNfRGF0
YSogZGF0YSkKK3sKKyAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT50YXJnZXQpOworICAg
IGVpbmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPmJhc2VfdXJsKTsKKyAgICBlaW5hX3N0cmluZ3No
YXJlX2RlbChkYXRhLT51cmwpOworICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPnRpdGxl
KTsKKyAgICBkZWxldGUgZGF0YTsKK30KKworYm9vbCBld2tfY3VzdG9tX2hhbmRsZXJzX3JlZ2lz
dGVyX3Byb3RvY29sX2hhbmRsZXIoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IGNoYXIqIHNj
aGVtZSwgY29uc3QgY2hhciogYmFzZVVybCwgY29uc3QgY2hhciogdXJsLCBjb25zdCBjaGFyKiB0
aXRsZSkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZXdrVmlldywgZmFs
c2UpOworICAgIEV3a19DdXN0b21fSGFuZGxlcnNfRGF0YSogZGF0YSA9IF9ld2tfY3VzdG9tX2hh
bmRsZXJzX2RhdGFfY3JlYXRlKHNjaGVtZSwgYmFzZVVybCwgdXJsLCB0aXRsZSk7CisgICAgZXZh
c19vYmplY3Rfc21hcnRfY2FsbGJhY2tfY2FsbChld2tWaWV3LCAicHJvdG9jb2xoYW5kbGVyLHJl
Z2lzdGVyIiwgc3RhdGljX2Nhc3Q8dm9pZCo+KGRhdGEpKTsKKyAgICBfZXdrX2N1c3RvbV9oYW5k
bGVyc19kYXRhX2RlbGV0ZShkYXRhKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVycy5oIGIv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jdXN0b21faGFuZGxlcnMuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZWNmNDdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19jdXN0b21faGFuZGxlcnMuaApAQCAtMCwwICsxLDQwIEBACisv
KgorICAgIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCisKKyAgICBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAg
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisvKioK
KyAqIEBmaWxlICAgIGV3a19jdXN0b21faGFuZGxlcnMuaAorICogQGJyaWVmICAgQ3VzdG9tIHNj
aGVtZSBoYW5kbGVycy4gKGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcuaHRt
bCNjdXN0b20taGFuZGxlcnMpCisgKi8KKworI2lmbmRlZiBld2tfY3VzdG9tX2hhbmRsZXJzX2gK
KyNkZWZpbmUgZXdrX2N1c3RvbV9oYW5kbGVyc19oCisKKyNpbmNsdWRlIDxFaW5hLmg+CisjaW5j
bHVkZSA8RXZhcy5oPgorCitzdHJ1Y3QgX0V3a19DdXN0b21fSGFuZGxlcnNfRGF0YSB7CisgICAg
Y29uc3QgY2hhciAqdGFyZ2V0OworICAgIGNvbnN0IGNoYXIgKmJhc2VfdXJsOworICAgIGNvbnN0
IGNoYXIgKnVybDsKKyAgICBjb25zdCBjaGFyICp0aXRsZTsKK307CisKK3R5cGVkZWYgc3RydWN0
IF9Fd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEgRXdrX0N1c3RvbV9IYW5kbGVyc19EYXRhOworCisj
ZW5kaWYgLy8gZXdrX2N1c3RvbV9oYW5kbGVyc19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0
ZS5oCmluZGV4IGI0YThkZDkuLjVmY2JiOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0
ZS5oCkBAIC0yMzQsNCArMjM0LDYgQEAgdm9pZCBld2tfZnJhbWVfbWl4ZWRfY29udGVudF9ydW5f
c2V0KEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgYm9vbCBoYXNSdW4pOwogdm9pZCBld2tfdmlld19t
aXhlZF9jb250ZW50X2Rpc3BsYXllZF9zZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGJvb2wgaGFz
RGlzcGxheWVkKTsKIHZvaWQgZXdrX3ZpZXdfbWl4ZWRfY29udGVudF9ydW5fc2V0KEV2YXNfT2Jq
ZWN0KiBld2tWaWV3LCBib29sIGhhc1J1bik7CiAKK2Jvb2wgZXdrX2N1c3RvbV9oYW5kbGVyc19y
ZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBjaGFy
KiBzY2hlbWUsIGNvbnN0IGNoYXIqIGJhc2VfdXJsLCBjb25zdCBjaGFyKiB1cmwsIGNvbnN0IGNo
YXIqIHRpdGxlKTsKKwogI2VuZGlmIC8vIGV3a19wcml2YXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UK
aW5kZXggYjczY2ZiNi4uYmNjNTY2MiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNF
ZmwuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKQEAgLTg5LDYgKzg5
LDcgQEAgV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX05PVElGSUNBVElPTlMgIkVuYWJsZSBub3RpZmlj
YXRpb25zIiBERUZBVUxUIE9GRikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9PUklFTlRBVElPTl9F
VkVOVFMgIkVuYWJsZSBvcmllbnRhdGlvbiBldmVudHMiIERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZF
QVRVUkUoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkgIkVuYWJsZSBQYWdlIFZpc2liaWxpdHkg
QVBJIiBERUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1BST0dSRVNTX1RBRyAiRW5h
YmxlIHByb2dyZXNzIHRhZyIgREVGQVVMVCBPTikKK1dFQktJVF9GRUFUVVJFKEVOQUJMRV9SRUdJ
U1RFUl9QUk9UT0NPTF9IQU5ETEVSICJFbmFibGUgdGhlIGN1c3RvbSBwcm90b2NvbCBoYW5kbGVy
IiBERUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZS
QU1FICJFbmFibGUgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIEFQSSIgREVGQVVMVCBPTikKIFdFQktJ
VF9GRUFUVVJFKEVOQUJMRV9TSEFET1dfRE9NICJFbmFibGUgU2hhZG93IERPTSIgREVGQVVMVCBP
RkYpCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfU0hBUkVEX1dPUktFUlMgIkVuYWJsZSBzaGFyZWQg
d29ya2VycyIgREVGQVVMVCBPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNt
YWtlIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKaW5kZXggY2UyMTZhYi4uMDcyMTY4ZSAx
MDA2NDQKLS0tIGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKKysrIGIvU291cmNlL2NtYWtl
Y29uZmlnLmguY21ha2UKQEAgLTM0LDYgKzM0LDcgQEAKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9P
UklFTlRBVElPTl9FVkVOVFMKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlf
QVBJCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfUFJPR1JFU1NfVEFHCisjY21ha2VkZWZpbmUwMSBF
TkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUgogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1JF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfU0hBUkVEX1dPUktF
UlMKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9TUUxfREFUQUJBU0UK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132556</attachid>
            <date>2012-03-19 01:15:06 -0700</date>
            <delta_ts>2012-04-03 03:28:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_EFL_registerProtocolHandler_0319.patch</filename>
            <type>text/plain</type>
            <size>9719</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkZDBiZmI3Li5kODAyZTA3
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMDMtMTkgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZTogQWRkcyB0aGUgYnVpbGQgb3B0aW9u
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOiBBZGRzIHRoZSBidWlsZCBv
cHRpb24uCisKIDIwMTItMDMtMTQgIE1hdHQgRmFsa2VuaGFnZW4gIDxmYWxrZW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIEFsbG93IHBlci1zY3JpcHQgZm9udCBzZXR0aW5ncyB0byBiZSBzcGVj
aWZpZWQgaW4gbGF5b3V0IHRlc3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRmMWNmNTguLmUyNzU0MzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDMtMTkgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29s
SGFuZGxlciBtZXRob2QgYW5kIG9wdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTczNjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFs
bG93cyBXZWIgc2l0ZXMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJs
ZSBoYW5kbGVycyBmb3IgcGFydGljdWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJv
dG9jb2xoYW5kbGVyCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZTogQWRkcyB0aGUgbmV3
IGZpbGUgaW50byB0aGUgc291cmNlIGxpc3QuCisKIDIwMTItMDMtMTEgIFRpbW90aHkgSGF0Y2hl
ciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBob3cgdGhlIFdlYiBJbnNw
ZWN0b3IgcmVzb3VyY2VzIGFyZSBsb2FkZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCAx
ZGViZTM2Li5iYTRjOTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTEyNiw2ICsxMjYs
MTEgQEAgSUYgKEVOQUJMRV9WSUJSQVRJT04pCiAgICAgKQogRU5ESUYgKCkKIAorSUYgKEVOQUJM
RV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQorICAgIExJU1QoQVBQRU5EIFdlYktpdF9TT1VS
Q0VTCisgICAgICAgIGVmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVycy5jcHAKKyAgICApCitFTkRJ
RiAoKQogCiBTRVQoV2ViS2l0X1RIRU1FX0RFRklOSVRJT04gIiIpCiBJRiAoRU5BQkxFX1BST0dS
RVNTX1RBRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAzMDY3NzVhLi5lMDY3NWY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMDMtMTkgIERvbmd3b28gSW0gIDxkdy5pbUBz
YW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3Rv
Y29sSGFuZGxlciBtZXRob2QgYW5kIG9wdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9k
IGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3Nz
aWJsZSBoYW5kbGVycyBmb3IgcGFydGljdWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9k
ZXYudzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVy
cHJvdG9jb2xoYW5kbGVyCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRF
ZmwuY3BwOiBBZGRzIGEgbmV3IGZ1bmN0aW9uLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpjdXN0b21IYW5kbGVyc0RhdGFDcmVhdGUpOiBDcmVhdGVzIGFuZCBmaWxscyB0
aGUgZGF0YSBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpjdXN0b21IYW5kbGVyc0RhdGFEZWxl
dGUpOiBEZWxldGVzIHRoZSBkYXRhIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNs
aWVudEVmbDo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIpOiBSZWdpc3RlcnMgYSBwcm90b2NvbCBh
bmQgdGhlIGhhbmRsZXIgb2YgaXQuCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50RWZsLmg6IEFkZHMgYSBwcm90b3R5cGUuCisgICAgICAgIChDaHJvbWVDbGllbnRFZmwpOgor
ICAgICAgICAqIGV3ay9ld2tfY3VzdG9tX2hhbmRsZXJzLmNwcDogQWRkZWQuCisgICAgICAgIChl
d2tfY3VzdG9tX2hhbmRsZXJzX3JlZ2lzdGVyX3Byb3RvY29sX2hhbmRsZXIpOgorICAgICAgICAq
IGV3ay9ld2tfcHJpdmF0ZS5oOiBBZGRzIHByaXZhdGUgZnVuY3Rpb24uCisgICAgICAgICogZXdr
L2V3a192aWV3Lmg6IEFkZHMgRGF0YSBzdHJ1Y3R1cmUuCisKIDIwMTItMDMtMTMgIEpvbiBMZWUg
IDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIFNlcGFyYXRlIE5PVElGSUNBVElPTlMgYW5k
IExFR0FDWV9OT1RJRklDQVRJT05TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAppbmRleCBkZDc5YjkzLi41NWQ1YzQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5jcHAKQEAgLTU5Miw0ICs1OTIsMzQgQEAgdm9pZCBDaHJvbWVDbGllbnRFZmw6OmV4aXRGdWxs
U2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50KiBlbGVtZW50KQogICAgIGVsZW1lbnQt
PmRvY3VtZW50KCktPndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChlbGVtZW50KTsK
IH0KICNlbmRpZgorCisjaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCitFd2tf
Q3VzdG9tX0hhbmRsZXJzX0RhdGEqIGN1c3RvbUhhbmRsZXJzRGF0YUNyZWF0ZShFdmFzX09iamVj
dCogZXdrVmlldywgY29uc3QgY2hhciogdGFyZ2V0LCBjb25zdCBjaGFyKiBiYXNlVXJsLCBjb25z
dCBjaGFyKiB1cmwsIGNvbnN0IGNoYXIqIHRpdGxlKQoreworICAgIEV3a19DdXN0b21fSGFuZGxl
cnNfRGF0YSogZGF0YSA9IG5ldyBFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGE7CisgICAgZGF0YS0+
byA9IGV3a1ZpZXc7CisgICAgZGF0YS0+dGFyZ2V0ID0gZWluYV9zdHJpbmdzaGFyZV9hZGQodGFy
Z2V0KTsKKyAgICBkYXRhLT5iYXNlX3VybCA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKGJhc2VVcmwp
OworICAgIGRhdGEtPnVybCA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKHVybCk7CisgICAgZGF0YS0+
dGl0bGUgPSBlaW5hX3N0cmluZ3NoYXJlX2FkZCh0aXRsZSk7CisgICAgcmV0dXJuIGRhdGE7Cit9
CisKK3ZvaWQgY3VzdG9tSGFuZGxlcnNEYXRhRGVsZXRlKEV3a19DdXN0b21fSGFuZGxlcnNfRGF0
YSogZGF0YSkKK3sKKyAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT50YXJnZXQpOworICAg
IGVpbmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPmJhc2VfdXJsKTsKKyAgICBlaW5hX3N0cmluZ3No
YXJlX2RlbChkYXRhLT51cmwpOworICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPnRpdGxl
KTsKKyAgICBkZWxldGUgZGF0YTsKK30KKwordm9pZCBDaHJvbWVDbGllbnRFZmw6OnJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VV
UkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKQoreworICAgIEV3a19D
dXN0b21fSGFuZGxlcnNfRGF0YSogZGF0YSA9IGN1c3RvbUhhbmRsZXJzRGF0YUNyZWF0ZShtX3Zp
ZXcsIHNjaGVtZS51dGY4KCkuZGF0YSgpLCBiYXNlVVJMLnV0ZjgoKS5kYXRhKCksIHVybC51dGY4
KCkuZGF0YSgpLCB0aXRsZS51dGY4KCkuZGF0YSgpKTsKKyAgICBld2tfY3VzdG9tX2hhbmRsZXJz
X3JlZ2lzdGVyX3Byb3RvY29sX2hhbmRsZXIoZGF0YSk7CisgICAgY3VzdG9tSGFuZGxlcnNEYXRh
RGVsZXRlKGRhdGEpOworfQorI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggOWNlOWQ2OC4uNTUzNjgxNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
RWZsLmgKQEAgLTE2OSw2ICsxNjksMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBudW1X
aGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKKyNpZiBFTkFCTEUo
UkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKKyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwg
Y29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpOworI2VuZGlmCisKICAgICBF
dmFzX09iamVjdCogbV92aWV3OwogICAgIEtVUkwgbV9ob3ZlcmVkTGlua1VSTDsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVycy5jcHAgYi9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVycy5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTJlMjJlOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfY3VzdG9tX2hhbmRsZXJzLmNwcApAQCAtMCwwICsxLDMzIEBA
CisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCisKKyAgICBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExF
UikKKworI2luY2x1ZGUgImV3a19wcml2YXRlLmgiCisKK2Jvb2wgZXdrX2N1c3RvbV9oYW5kbGVy
c19yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyKEV3a19DdXN0b21fSGFuZGxlcnNfRGF0YSogZGF0
YSkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZGF0YS0+bywgZmFsc2Up
OworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZGF0YS0+bywgInByb3RvY29s
aGFuZGxlcixyZWdpc3RlciIsIHN0YXRpY19jYXN0PHZvaWQqPihkYXRhKSk7CisgICAgcmV0dXJu
IHRydWU7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAppbmRleCBi
NGE4ZGQ5Li5hYjc1MTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaApAQCAtMjM0
LDQgKzIzNCw2IEBAIHZvaWQgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfcnVuX3NldChFdmFzX09i
amVjdCogZXdrRnJhbWUsIGJvb2wgaGFzUnVuKTsKIHZvaWQgZXdrX3ZpZXdfbWl4ZWRfY29udGVu
dF9kaXNwbGF5ZWRfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBib29sIGhhc0Rpc3BsYXllZCk7
CiB2b2lkIGV3a192aWV3X21peGVkX2NvbnRlbnRfcnVuX3NldChFdmFzX09iamVjdCogZXdrVmll
dywgYm9vbCBoYXNSdW4pOwogCitib29sIGV3a19jdXN0b21faGFuZGxlcnNfcmVnaXN0ZXJfcHJv
dG9jb2xfaGFuZGxlcihFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEqIGRhdGEpOworCiAjZW5kaWYg
Ly8gZXdrX3ByaXZhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192
aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAppbmRleCA3ZGUwZTQ2Li5l
NDQwMTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaApAQCAtMjgzLDYgKzI4MywxNyBAQCBz
dHJ1Y3QgX0V3a19TY3JvbGxfUmVxdWVzdCB7CiAgICAgRXZhc19Db29yZCB4LCB5LCB3LCBoLCB4
MiwgeTI7CiB9OwogCisvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19DdXN0b21f
SGFuZGxlcnNfRGF0YS4KK3R5cGVkZWYgc3RydWN0IF9Fd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEg
RXdrX0N1c3RvbV9IYW5kbGVyc19EYXRhOworLy8vIENvbnRhaW5zIHRoZSB0YXJnZXQgc2NoZW1l
IGFuZCB0aGUgdXJsIHdoaWNoIHRha2UgY2FyZSBvZiB0aGUgdGFyZ2V0Lgorc3RydWN0IF9Fd2tf
Q3VzdG9tX0hhbmRsZXJzX0RhdGEgeworICAgIEV2YXNfT2JqZWN0ICpvOworICAgIGNvbnN0IGNo
YXIgKnRhcmdldDsKKyAgICBjb25zdCBjaGFyICpiYXNlX3VybDsKKyAgICBjb25zdCBjaGFyICp1
cmw7CisgICAgY29uc3QgY2hhciAqdGl0bGU7Cit9OworCiAvKioKICAqIEBicmllZiBDb250YWlu
cyBhbiBpbnRlcm5hbCBWaWV3IGRhdGEuCiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09w
dGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCBiNzNj
ZmI2Li5iY2M1NjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQor
KysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtODksNiArODksNyBAQCBXRUJL
SVRfRkVBVFVSRShFTkFCTEVfTk9USUZJQ0FUSU9OUyAiRW5hYmxlIG5vdGlmaWNhdGlvbnMiIERF
RkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAiRW5h
YmxlIG9yaWVudGF0aW9uIGV2ZW50cyIgREVGQVVMVCBPRkYpCiBXRUJLSVRfRkVBVFVSRShFTkFC
TEVfUEFHRV9WSVNJQklMSVRZX0FQSSAiRW5hYmxlIFBhZ2UgVmlzaWJpbGl0eSBBUEkiIERFRkFV
TFQgT04pCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfUFJPR1JFU1NfVEFHICJFbmFibGUgcHJvZ3Jl
c3MgdGFnIiBERUZBVUxUIE9OKQorV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1JFR0lTVEVSX1BST1RP
Q09MX0hBTkRMRVIgIkVuYWJsZSB0aGUgY3VzdG9tIHByb3RvY29sIGhhbmRsZXIiIERFRkFVTFQg
T04pCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgIkVuYWJs
ZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgQVBJIiBERUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRVUkUo
RU5BQkxFX1NIQURPV19ET00gIkVuYWJsZSBTaGFkb3cgRE9NIiBERUZBVUxUIE9GRikKIFdFQktJ
VF9GRUFUVVJFKEVOQUJMRV9TSEFSRURfV09SS0VSUyAiRW5hYmxlIHNoYXJlZCB3b3JrZXJzIiBE
RUZBVUxUIE9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3Vy
Y2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCBjZTIxNmFiLi4wNzIxNjhlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5j
bWFrZQpAQCAtMzQsNiArMzQsNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX09SSUVOVEFUSU9O
X0VWRU5UUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkKICNjbWFr
ZWRlZmluZTAxIEVOQUJMRV9QUk9HUkVTU19UQUcKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9SRUdJ
U1RFUl9QUk9UT0NPTF9IQU5ETEVSCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9TSEFSRURfV09SS0VSUwogI2NtYWtl
ZGVmaW5lMDEgRU5BQkxFX1NRTF9EQVRBQkFTRQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135299</attachid>
            <date>2012-04-03 03:28:10 -0700</date>
            <delta_ts>2012-04-03 04:07:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_EFL_registerProtocolHandler_0403.patch</filename>
            <type>text/plain</type>
            <size>9719</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkZDBiZmI3Li5kODAyZTA3
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMDMtMTkgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZTogQWRkcyB0aGUgYnVpbGQgb3B0aW9u
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOiBBZGRzIHRoZSBidWlsZCBv
cHRpb24uCisKIDIwMTItMDMtMTQgIE1hdHQgRmFsa2VuaGFnZW4gIDxmYWxrZW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIEFsbG93IHBlci1zY3JpcHQgZm9udCBzZXR0aW5ncyB0byBiZSBzcGVj
aWZpZWQgaW4gbGF5b3V0IHRlc3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDRmMWNmNTguLmUyNzU0MzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDMtMTkgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1z
dW5nLmNvbT4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29s
SGFuZGxlciBtZXRob2QgYW5kIG9wdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTczNjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFs
bG93cyBXZWIgc2l0ZXMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJs
ZSBoYW5kbGVycyBmb3IgcGFydGljdWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYu
dzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJv
dG9jb2xoYW5kbGVyCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZTogQWRkcyB0aGUgbmV3
IGZpbGUgaW50byB0aGUgc291cmNlIGxpc3QuCisKIDIwMTItMDMtMTEgIFRpbW90aHkgSGF0Y2hl
ciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSBob3cgdGhlIFdlYiBJbnNw
ZWN0b3IgcmVzb3VyY2VzIGFyZSBsb2FkZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCAx
ZGViZTM2Li5iYTRjOTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTEyNiw2ICsxMjYs
MTEgQEAgSUYgKEVOQUJMRV9WSUJSQVRJT04pCiAgICAgKQogRU5ESUYgKCkKIAorSUYgKEVOQUJM
RV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQorICAgIExJU1QoQVBQRU5EIFdlYktpdF9TT1VS
Q0VTCisgICAgICAgIGVmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVycy5jcHAKKyAgICApCitFTkRJ
RiAoKQogCiBTRVQoV2ViS2l0X1RIRU1FX0RFRklOSVRJT04gIiIpCiBJRiAoRU5BQkxFX1BST0dS
RVNTX1RBRykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCAzMDY3NzVhLi5lMDY3NWY5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMDMtMTkgIERvbmd3b28gSW0gIDxkdy5pbUBz
YW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3Rv
Y29sSGFuZGxlciBtZXRob2QgYW5kIG9wdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9k
IGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3Nz
aWJsZSBoYW5kbGVycyBmb3IgcGFydGljdWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9k
ZXYudzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVy
cHJvdG9jb2xoYW5kbGVyCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRF
ZmwuY3BwOiBBZGRzIGEgbmV3IGZ1bmN0aW9uLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpjdXN0b21IYW5kbGVyc0RhdGFDcmVhdGUpOiBDcmVhdGVzIGFuZCBmaWxscyB0
aGUgZGF0YSBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpjdXN0b21IYW5kbGVyc0RhdGFEZWxl
dGUpOiBEZWxldGVzIHRoZSBkYXRhIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNs
aWVudEVmbDo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIpOiBSZWdpc3RlcnMgYSBwcm90b2NvbCBh
bmQgdGhlIGhhbmRsZXIgb2YgaXQuCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50RWZsLmg6IEFkZHMgYSBwcm90b3R5cGUuCisgICAgICAgIChDaHJvbWVDbGllbnRFZmwpOgor
ICAgICAgICAqIGV3ay9ld2tfY3VzdG9tX2hhbmRsZXJzLmNwcDogQWRkZWQuCisgICAgICAgIChl
d2tfY3VzdG9tX2hhbmRsZXJzX3JlZ2lzdGVyX3Byb3RvY29sX2hhbmRsZXIpOgorICAgICAgICAq
IGV3ay9ld2tfcHJpdmF0ZS5oOiBBZGRzIHByaXZhdGUgZnVuY3Rpb24uCisgICAgICAgICogZXdr
L2V3a192aWV3Lmg6IEFkZHMgRGF0YSBzdHJ1Y3R1cmUuCisKIDIwMTItMDMtMTMgIEpvbiBMZWUg
IDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIFNlcGFyYXRlIE5PVElGSUNBVElPTlMgYW5k
IExFR0FDWV9OT1RJRklDQVRJT05TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAppbmRleCBkZDc5YjkzLi41NWQ1YzQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5jcHAKQEAgLTU5Miw0ICs1OTIsMzQgQEAgdm9pZCBDaHJvbWVDbGllbnRFZmw6OmV4aXRGdWxs
U2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50KiBlbGVtZW50KQogICAgIGVsZW1lbnQt
PmRvY3VtZW50KCktPndlYmtpdERpZEV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChlbGVtZW50KTsK
IH0KICNlbmRpZgorCisjaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCitFd2tf
Q3VzdG9tX0hhbmRsZXJzX0RhdGEqIGN1c3RvbUhhbmRsZXJzRGF0YUNyZWF0ZShFdmFzX09iamVj
dCogZXdrVmlldywgY29uc3QgY2hhciogdGFyZ2V0LCBjb25zdCBjaGFyKiBiYXNlVVJMLCBjb25z
dCBjaGFyKiB1cmwsIGNvbnN0IGNoYXIqIHRpdGxlKQoreworICAgIEV3a19DdXN0b21fSGFuZGxl
cnNfRGF0YSogZGF0YSA9IG5ldyBFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGE7CisgICAgZGF0YS0+
byA9IGV3a1ZpZXc7CisgICAgZGF0YS0+dGFyZ2V0ID0gZWluYV9zdHJpbmdzaGFyZV9hZGQodGFy
Z2V0KTsKKyAgICBkYXRhLT5iYXNlX3VybCA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKGJhc2VVUkwp
OworICAgIGRhdGEtPnVybCA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKHVybCk7CisgICAgZGF0YS0+
dGl0bGUgPSBlaW5hX3N0cmluZ3NoYXJlX2FkZCh0aXRsZSk7CisgICAgcmV0dXJuIGRhdGE7Cit9
CisKK3ZvaWQgY3VzdG9tSGFuZGxlcnNEYXRhRGVsZXRlKEV3a19DdXN0b21fSGFuZGxlcnNfRGF0
YSogZGF0YSkKK3sKKyAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT50YXJnZXQpOworICAg
IGVpbmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPmJhc2VfdXJsKTsKKyAgICBlaW5hX3N0cmluZ3No
YXJlX2RlbChkYXRhLT51cmwpOworICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPnRpdGxl
KTsKKyAgICBkZWxldGUgZGF0YTsKK30KKwordm9pZCBDaHJvbWVDbGllbnRFZmw6OnJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VV
UkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIHRpdGxlKQoreworICAgIEV3a19D
dXN0b21fSGFuZGxlcnNfRGF0YSogZGF0YSA9IGN1c3RvbUhhbmRsZXJzRGF0YUNyZWF0ZShtX3Zp
ZXcsIHNjaGVtZS51dGY4KCkuZGF0YSgpLCBiYXNlVVJMLnV0ZjgoKS5kYXRhKCksIHVybC51dGY4
KCkuZGF0YSgpLCB0aXRsZS51dGY4KCkuZGF0YSgpKTsKKyAgICBld2tfY3VzdG9tX2hhbmRsZXJz
X3JlZ2lzdGVyX3Byb3RvY29sX2hhbmRsZXIoZGF0YSk7CisgICAgY3VzdG9tSGFuZGxlcnNEYXRh
RGVsZXRlKGRhdGEpOworfQorI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggOWNlOWQ2OC4uNTUzNjgxNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
RWZsLmgKQEAgLTE2OSw2ICsxNjksMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBudW1X
aGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
bnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKKyNpZiBFTkFCTEUo
UkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKKyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJQcm90
b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwg
Y29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpOworI2VuZGlmCisKICAgICBF
dmFzX09iamVjdCogbV92aWV3OwogICAgIEtVUkwgbV9ob3ZlcmVkTGlua1VSTDsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVycy5jcHAgYi9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVycy5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTJlMjJlOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvZWZsL2V3ay9ld2tfY3VzdG9tX2hhbmRsZXJzLmNwcApAQCAtMCwwICsxLDMzIEBA
CisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCisKKyAgICBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExF
UikKKworI2luY2x1ZGUgImV3a19wcml2YXRlLmgiCisKK2Jvb2wgZXdrX2N1c3RvbV9oYW5kbGVy
c19yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyKEV3a19DdXN0b21fSGFuZGxlcnNfRGF0YSogZGF0
YSkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZGF0YS0+bywgZmFsc2Up
OworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZGF0YS0+bywgInByb3RvY29s
aGFuZGxlcixyZWdpc3RlciIsIHN0YXRpY19jYXN0PHZvaWQqPihkYXRhKSk7CisgICAgcmV0dXJu
IHRydWU7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAppbmRleCBi
NGE4ZGQ5Li5hYjc1MTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3By
aXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaApAQCAtMjM0
LDQgKzIzNCw2IEBAIHZvaWQgZXdrX2ZyYW1lX21peGVkX2NvbnRlbnRfcnVuX3NldChFdmFzX09i
amVjdCogZXdrRnJhbWUsIGJvb2wgaGFzUnVuKTsKIHZvaWQgZXdrX3ZpZXdfbWl4ZWRfY29udGVu
dF9kaXNwbGF5ZWRfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBib29sIGhhc0Rpc3BsYXllZCk7
CiB2b2lkIGV3a192aWV3X21peGVkX2NvbnRlbnRfcnVuX3NldChFdmFzX09iamVjdCogZXdrVmll
dywgYm9vbCBoYXNSdW4pOwogCitib29sIGV3a19jdXN0b21faGFuZGxlcnNfcmVnaXN0ZXJfcHJv
dG9jb2xfaGFuZGxlcihFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEqIGRhdGEpOworCiAjZW5kaWYg
Ly8gZXdrX3ByaXZhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192
aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAppbmRleCA3ZGUwZTQ2Li5l
NDQwMTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaApAQCAtMjgzLDYgKzI4MywxNyBAQCBz
dHJ1Y3QgX0V3a19TY3JvbGxfUmVxdWVzdCB7CiAgICAgRXZhc19Db29yZCB4LCB5LCB3LCBoLCB4
MiwgeTI7CiB9OwogCisvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19DdXN0b21f
SGFuZGxlcnNfRGF0YS4KK3R5cGVkZWYgc3RydWN0IF9Fd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEg
RXdrX0N1c3RvbV9IYW5kbGVyc19EYXRhOworLy8vIENvbnRhaW5zIHRoZSB0YXJnZXQgc2NoZW1l
IGFuZCB0aGUgdXJsIHdoaWNoIHRha2UgY2FyZSBvZiB0aGUgdGFyZ2V0Lgorc3RydWN0IF9Fd2tf
Q3VzdG9tX0hhbmRsZXJzX0RhdGEgeworICAgIEV2YXNfT2JqZWN0ICpvOworICAgIGNvbnN0IGNo
YXIgKnRhcmdldDsKKyAgICBjb25zdCBjaGFyICpiYXNlX3VybDsKKyAgICBjb25zdCBjaGFyICp1
cmw7CisgICAgY29uc3QgY2hhciAqdGl0bGU7Cit9OworCiAvKioKICAqIEBicmllZiBDb250YWlu
cyBhbiBpbnRlcm5hbCBWaWV3IGRhdGEuCiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09w
dGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCBiNzNj
ZmI2Li5iY2M1NjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQor
KysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtODksNiArODksNyBAQCBXRUJL
SVRfRkVBVFVSRShFTkFCTEVfTk9USUZJQ0FUSU9OUyAiRW5hYmxlIG5vdGlmaWNhdGlvbnMiIERF
RkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAiRW5h
YmxlIG9yaWVudGF0aW9uIGV2ZW50cyIgREVGQVVMVCBPRkYpCiBXRUJLSVRfRkVBVFVSRShFTkFC
TEVfUEFHRV9WSVNJQklMSVRZX0FQSSAiRW5hYmxlIFBhZ2UgVmlzaWJpbGl0eSBBUEkiIERFRkFV
TFQgT04pCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfUFJPR1JFU1NfVEFHICJFbmFibGUgcHJvZ3Jl
c3MgdGFnIiBERUZBVUxUIE9OKQorV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1JFR0lTVEVSX1BST1RP
Q09MX0hBTkRMRVIgIkVuYWJsZSB0aGUgY3VzdG9tIHByb3RvY29sIGhhbmRsZXIiIERFRkFVTFQg
T04pCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgIkVuYWJs
ZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgQVBJIiBERUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRVUkUo
RU5BQkxFX1NIQURPV19ET00gIkVuYWJsZSBTaGFkb3cgRE9NIiBERUZBVUxUIE9GRikKIFdFQktJ
VF9GRUFUVVJFKEVOQUJMRV9TSEFSRURfV09SS0VSUyAiRW5hYmxlIHNoYXJlZCB3b3JrZXJzIiBE
RUZBVUxUIE9OKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3Vy
Y2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRleCBjZTIxNmFiLi4wNzIxNjhlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5j
bWFrZQpAQCAtMzQsNiArMzQsNyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX09SSUVOVEFUSU9O
X0VWRU5UUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkKICNjbWFr
ZWRlZmluZTAxIEVOQUJMRV9QUk9HUkVTU19UQUcKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9SRUdJ
U1RFUl9QUk9UT0NPTF9IQU5ETEVSCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9TSEFSRURfV09SS0VSUwogI2NtYWtl
ZGVmaW5lMDEgRU5BQkxFX1NRTF9EQVRBQkFTRQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135307</attachid>
            <date>2012-04-03 04:07:44 -0700</date>
            <delta_ts>2012-04-03 17:38:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_EFL_registerProtocolHandler_0403.patch</filename>
            <type>text/plain</type>
            <size>9815</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA1Mzc4YTA3Li44NDJjMDlh
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMDQtMDIgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZTogQWRkcyB0aGUgYnVpbGQgb3B0aW9u
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOiBBZGRzIHRoZSBidWlsZCBv
cHRpb24uCisKIDIwMTItMDQtMDIgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtRdF1bV0syXSBTZXQgdXAgcGx1Z2luIHByb2Nlc3Mgb24gVW5peApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCAxYjYxNzA0Li4wNzhiYWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTA0LTAyICBEb25nd29vIEltICA8ZHcuaW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0g
SW1wbGVtZW50cyB0aGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIgbWV0aG9kIGFuZCBvcHRpb24u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSByZWdp
c3RlclByb3RvY29sSGFuZGxlcigpIG1ldGhvZCBhbGxvd3MgV2ViIHNpdGVzIHRvIHJlZ2lzdGVy
YSB0aGVtc2VsdmVzCisgICAgICAgIGFzIHBvc3NpYmxlIGhhbmRsZXJzIGZvciBwYXJ0aWN1bGFy
IHNjaGVtZXMuCisKKyAgICAgICAgaHR0cDovL2Rldi53My5vcmcvaHRtbDUvc3BlYy9PdmVydmll
dy5odG1sI2RvbS1uYXZpZ2F0b3ItcmVnaXN0ZXJwcm90b2NvbGhhbmRsZXIKKworICAgICAgICAq
IFBsYXRmb3JtRWZsLmNtYWtlOiBBZGRzIHRoZSBuZXcgZmlsZSBpbnRvIHRoZSBzb3VyY2UgbGlz
dC4KKwogMjAxMi0wNC0wMSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29t
PgogCiAgICAgICAgIFN1cHBvcnQgdGhlIE5ldHdvcmsgSW5mb3JtYXRpb24gQVBJCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdC9QbGF0
Zm9ybUVmbC5jbWFrZQppbmRleCA1NGU3ZDkxLi43N2UzMmY4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwu
Y21ha2UKQEAgLTE0Miw2ICsxNDIsMTIgQEAgSUYgKEVOQUJMRV9CQVRURVJZX1NUQVRVUykKICAg
ICBMSVNUKEFQUEVORCBXZWJLaXRfU09VUkNFUyBlZmwvV2ViQ29yZVN1cHBvcnQvQmF0dGVyeUNs
aWVudEVmbC5jcHApCiBFTkRJRiAoKQogCitJRiAoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hB
TkRMRVIpCisgICAgTElTVChBUFBFTkQgV2ViS2l0X1NPVVJDRVMKKyAgICAgICAgZWZsL2V3ay9l
d2tfY3VzdG9tX2hhbmRsZXJzLmNwcAorICAgICkKK0VORElGICgpCisKIFNFVChXZWJLaXRfVEhF
TUVfREVGSU5JVElPTiAiIikKIElGIChFTkFCTEVfUFJPR1JFU1NfVEFHKQogICBMSVNUKEFQUEVO
RCBXZWJLaXRfVEhFTUVfREVGSU5JVElPTiAiLURFTkFCTEVfUFJPR1JFU1NfVEFHIikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0No
YW5nZUxvZwppbmRleCBkMTcwMGNhLi5hYWY1MDFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjcgQEAKKzIwMTItMDQtMDIgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKwor
ICAgICAgICBbRUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRo
b2QgYW5kIG9wdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTczNjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0
ZXMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBm
b3IgcGFydGljdWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1
L3NwZWMvT3ZlcnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVy
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwOiBBZGRzIGEg
bmV3IGZ1bmN0aW9uLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpjdXN0
b21IYW5kbGVyc0RhdGFDcmVhdGUpOiBDcmVhdGVzIGFuZCBmaWxscyB0aGUgZGF0YSBvYmplY3Qu
CisgICAgICAgIChXZWJDb3JlOjpjdXN0b21IYW5kbGVyc0RhdGFEZWxldGUpOiBEZWxldGVzIHRo
ZSBkYXRhIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEVmbDo6cmVnaXN0
ZXJQcm90b2NvbEhhbmRsZXIpOiBSZWdpc3RlcnMgYSBwcm90b2NvbCBhbmQgdGhlIGhhbmRsZXIg
b2YgaXQuCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6IEFkZHMg
YSBwcm90b3R5cGUuCisgICAgICAgIChDaHJvbWVDbGllbnRFZmwpOgorICAgICAgICAqIGV3ay9l
d2tfY3VzdG9tX2hhbmRsZXJzLmNwcDogQWRkZWQuCisgICAgICAgIChld2tfY3VzdG9tX2hhbmRs
ZXJzX3JlZ2lzdGVyX3Byb3RvY29sX2hhbmRsZXIpOgorICAgICAgICAqIGV3ay9ld2tfcHJpdmF0
ZS5oOiBBZGRzIHByaXZhdGUgZnVuY3Rpb24uCisgICAgICAgICogZXdrL2V3a192aWV3Lmg6IEFk
ZHMgRGF0YSBzdHJ1Y3R1cmUuCisKIDIwMTItMDQtMDIgIEFsZXhhbmRlciBTaGFsYW1vdiAgPGFs
ZXhhbmRlci5zaGFsYW1vdkBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gTGF5b3V0VGVzdENv
bnRyb2xsZXIgbmVlZHMgaW1wbGVtZW50YXRpb24gb2YgaXNQYWdlQm94VmlzaWJsZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAK
aW5kZXggNjhhZGY1Zi4uYzZmODE3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCkBAIC01OTIsNCArNTkyLDM0IEBAIHZv
aWQgQ2hyb21lQ2xpZW50RWZsOjpleGl0RnVsbFNjcmVlbkZvckVsZW1lbnQoV2ViQ29yZTo6RWxl
bWVudCogZWxlbWVudCkKICAgICBlbGVtZW50LT5kb2N1bWVudCgpLT53ZWJraXREaWRFeGl0RnVs
bFNjcmVlbkZvckVsZW1lbnQoZWxlbWVudCk7CiB9CiAjZW5kaWYKKworI2lmIEVOQUJMRShSRUdJ
U1RFUl9QUk9UT0NPTF9IQU5ETEVSKQorRXdrX0N1c3RvbV9IYW5kbGVyc19EYXRhKiBjdXN0b21I
YW5kbGVyc0RhdGFDcmVhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IGNoYXIqIHRhcmdl
dCwgY29uc3QgY2hhciogYmFzZVVSTCwgY29uc3QgY2hhciogdXJsLCBjb25zdCBjaGFyKiB0aXRs
ZSkKK3sKKyAgICBFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEqIGRhdGEgPSBuZXcgRXdrX0N1c3Rv
bV9IYW5kbGVyc19EYXRhOworICAgIGRhdGEtPm8gPSBld2tWaWV3OworICAgIGRhdGEtPnRhcmdl
dCA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKHRhcmdldCk7CisgICAgZGF0YS0+YmFzZV91cmwgPSBl
aW5hX3N0cmluZ3NoYXJlX2FkZChiYXNlVVJMKTsKKyAgICBkYXRhLT51cmwgPSBlaW5hX3N0cmlu
Z3NoYXJlX2FkZCh1cmwpOworICAgIGRhdGEtPnRpdGxlID0gZWluYV9zdHJpbmdzaGFyZV9hZGQo
dGl0bGUpOworICAgIHJldHVybiBkYXRhOworfQorCit2b2lkIGN1c3RvbUhhbmRsZXJzRGF0YURl
bGV0ZShFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEqIGRhdGEpCit7CisgICAgZWluYV9zdHJpbmdz
aGFyZV9kZWwoZGF0YS0+dGFyZ2V0KTsKKyAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT5i
YXNlX3VybCk7CisgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+dXJsKTsKKyAgICBlaW5h
X3N0cmluZ3NoYXJlX2RlbChkYXRhLT50aXRsZSk7CisgICAgZGVsZXRlIGRhdGE7Cit9CisKK3Zv
aWQgQ2hyb21lQ2xpZW50RWZsOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcm
IHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3Qg
U3RyaW5nJiB0aXRsZSkKK3sKKyAgICBFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEqIGRhdGEgPSBj
dXN0b21IYW5kbGVyc0RhdGFDcmVhdGUobV92aWV3LCBzY2hlbWUudXRmOCgpLmRhdGEoKSwgYmFz
ZVVSTC51dGY4KCkuZGF0YSgpLCB1cmwudXRmOCgpLmRhdGEoKSwgdGl0bGUudXRmOCgpLmRhdGEo
KSk7CisgICAgZXdrX2N1c3RvbV9oYW5kbGVyc19yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyKGRh
dGEpOworICAgIGN1c3RvbUhhbmRsZXJzRGF0YURlbGV0ZShkYXRhKTsKK30KKyNlbmRpZgorCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5oCmluZGV4IDljZTlkNjguLjU1MzY4MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBAIC0xNjksNiArMTY5LDEwIEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNp
Z25lZCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5nZWQo
dW5zaWduZWQpIHsgfQogCisjaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCisg
ICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYgc2No
ZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJp
bmcmIHRpdGxlKTsKKyNlbmRpZgorCiAgICAgRXZhc19PYmplY3QqIG1fdmlldzsKICAgICBLVVJM
IG1faG92ZXJlZExpbmtVUkw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a19jdXN0b21faGFuZGxlcnMuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jdXN0
b21faGFuZGxlcnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyZTIy
ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9o
YW5kbGVycy5jcHAKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTIg
U2Ftc3VuZyBFbGVjdHJvbmljcworCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVy
c2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5B
QkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCisKKyNpbmNsdWRlICJld2tfcHJpdmF0ZS5o
IgorCitib29sIGV3a19jdXN0b21faGFuZGxlcnNfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihF
d2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEqIGRhdGEpCit7CisgICAgRUlOQV9TQUZFVFlfT05fTlVM
TF9SRVRVUk5fVkFMKGRhdGEtPm8sIGZhbHNlKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxs
YmFja19jYWxsKGRhdGEtPm8sICJwcm90b2NvbGhhbmRsZXIscmVnaXN0ZXIiLCBzdGF0aWNfY2Fz
dDx2b2lkKj4oZGF0YSkpOworICAgIHJldHVybiB0cnVlOworfQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19wcml2YXRlLmgKaW5kZXggOTZlNDc5NS4uZTRhOWM3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTI0Nyw0ICsyNDcsNiBAQCBib29sIGV3a192aWV3X2Fj
Y2VsZXJhdGVkX2NvbXBvc2l0aW5nX29iamVjdF9jcmVhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcs
IEV2YXNfTgogV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0QqIGV3a192aWV3X2FjY2VsZXJhdGVk
X2NvbXBvc2l0aW5nX2NvbnRleHRfZ2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3KTsKICNlbmRpZgog
Citib29sIGV3a19jdXN0b21faGFuZGxlcnNfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihFd2tf
Q3VzdG9tX0hhbmRsZXJzX0RhdGEqIGRhdGEpOworCiAjZW5kaWYgLy8gZXdrX3ByaXZhdGVfaApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3ZpZXcuaAppbmRleCAyNTM5NzhkLi43YTg5MGU4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuaApAQCAtMjgzLDYgKzI4MywxNyBAQCBzdHJ1Y3QgX0V3a19TY3JvbGxf
UmVxdWVzdCB7CiAgICAgRXZhc19Db29yZCB4LCB5LCB3LCBoLCB4MiwgeTI7CiB9OwogCisvLy8g
Q3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19DdXN0b21fSGFuZGxlcnNfRGF0YS4KK3R5
cGVkZWYgc3RydWN0IF9Fd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEgRXdrX0N1c3RvbV9IYW5kbGVy
c19EYXRhOworLy8vIENvbnRhaW5zIHRoZSB0YXJnZXQgc2NoZW1lIGFuZCB0aGUgdXJsIHdoaWNo
IHRha2UgY2FyZSBvZiB0aGUgdGFyZ2V0Lgorc3RydWN0IF9Fd2tfQ3VzdG9tX0hhbmRsZXJzX0Rh
dGEgeworICAgIEV2YXNfT2JqZWN0ICpvOworICAgIGNvbnN0IGNoYXIgKnRhcmdldDsKKyAgICBj
b25zdCBjaGFyICpiYXNlX3VybDsKKyAgICBjb25zdCBjaGFyICp1cmw7CisgICAgY29uc3QgY2hh
ciAqdGl0bGU7Cit9OworCiAvKioKICAqIEBicmllZiBDb250YWlucyBhbiBpbnRlcm5hbCBWaWV3
IGRhdGEuCiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9T
b3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCA1OTI2ZjQwLi45YzFkYTExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Uv
T3B0aW9uc0VmbC5jbWFrZQpAQCAtOTIsNiArOTIsNyBAQCBXRUJLSVRfRkVBVFVSRShFTkFCTEVf
Tk9USUZJQ0FUSU9OUyAiRW5hYmxlIG5vdGlmaWNhdGlvbnMiIERFRkFVTFQgT0ZGKQogV0VCS0lU
X0ZFQVRVUkUoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAiRW5hYmxlIG9yaWVudGF0aW9uIGV2
ZW50cyIgREVGQVVMVCBPRkYpCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfUEFHRV9WSVNJQklMSVRZ
X0FQSSAiRW5hYmxlIFBhZ2UgVmlzaWJpbGl0eSBBUEkiIERFRkFVTFQgT04pCiBXRUJLSVRfRkVB
VFVSRShFTkFCTEVfUFJPR1JFU1NfVEFHICJFbmFibGUgcHJvZ3Jlc3MgdGFnIiBERUZBVUxUIE9O
KQorV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIgIkVuYWJs
ZSB0aGUgY3VzdG9tIHByb3RvY29sIGhhbmRsZXIiIERFRkFVTFQgT04pCiBXRUJLSVRfRkVBVFVS
RShFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgIkVuYWJsZSByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUgQVBJIiBERUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1NIQURPV19ET00g
IkVuYWJsZSBTaGFkb3cgRE9NIiBERUZBVUxUIE9GRikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9T
SEFSRURfV09SS0VSUyAiRW5hYmxlIHNoYXJlZCB3b3JrZXJzIiBERUZBVUxUIE9OKQpkaWZmIC0t
Z2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5j
bWFrZQppbmRleCBlZDI3NzBiLi5lOWM3ZmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25m
aWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtNTMsNiArNTMs
NyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX09WRVJGTE9XX1NDUk9MTElORwogI2NtYWtlZGVm
aW5lMDEgRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9Q
Uk9HUkVTU19UQUcKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5E
TEVSCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUKICNjbWFr
ZWRlZmluZTAxIEVOQUJMRV9TSEFSRURfV09SS0VSUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1NR
TF9EQVRBQkFTRQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135467</attachid>
            <date>2012-04-03 17:38:48 -0700</date>
            <delta_ts>2012-04-03 20:28:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_EFL_registerProtocolHandler_0404.patch</filename>
            <type>text/plain</type>
            <size>10111</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA1Mzc4YTA3Li4wNzg4ODE3
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMDQtMDMgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZTogQWRkcyB0aGUgYnVpbGQgb3B0aW9u
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOiBBZGRzIHRoZSBidWlsZCBv
cHRpb24uCisKIDIwMTItMDQtMDIgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtRdF1bV0syXSBTZXQgdXAgcGx1Z2luIHByb2Nlc3Mgb24gVW5peApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCAxYjYxNzA0Li5iMjJmMjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTA0LTAzICBEb25nd29vIEltICA8ZHcuaW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0g
SW1wbGVtZW50cyB0aGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIgbWV0aG9kIGFuZCBvcHRpb24u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSByZWdp
c3RlclByb3RvY29sSGFuZGxlcigpIG1ldGhvZCBhbGxvd3MgV2ViIHNpdGVzIHRvIHJlZ2lzdGVy
IHRoZW1zZWx2ZXMKKyAgICAgICAgYXMgcG9zc2libGUgaGFuZGxlcnMgZm9yIHBhcnRpY3VsYXIg
c2NoZW1lcy4KKworICAgICAgICBodHRwOi8vZGV2LnczLm9yZy9odG1sNS9zcGVjL092ZXJ2aWV3
Lmh0bWwjZG9tLW5hdmlnYXRvci1yZWdpc3RlcnByb3RvY29saGFuZGxlcgorCisgICAgICAgICog
UGxhdGZvcm1FZmwuY21ha2U6IEFkZHMgdGhlIG5ldyBmaWxlIGludG8gdGhlIHNvdXJjZSBsaXN0
LgorCiAyMDEyLTA0LTAxICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+
CiAKICAgICAgICAgU3VwcG9ydCB0aGUgTmV0d29yayBJbmZvcm1hdGlvbiBBUEkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtRWZsLmNtYWtlCmluZGV4IDU0ZTdkOTEuLjc3ZTMyZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5j
bWFrZQpAQCAtMTQyLDYgKzE0MiwxMiBAQCBJRiAoRU5BQkxFX0JBVFRFUllfU1RBVFVTKQogICAg
IExJU1QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTIGVmbC9XZWJDb3JlU3VwcG9ydC9CYXR0ZXJ5Q2xp
ZW50RWZsLmNwcCkKIEVORElGICgpCiAKK0lGIChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFO
RExFUikKKyAgICBMSVNUKEFQUEVORCBXZWJLaXRfU09VUkNFUworICAgICAgICBlZmwvZXdrL2V3
a19jdXN0b21faGFuZGxlcnMuY3BwCisgICAgKQorRU5ESUYgKCkKKwogU0VUKFdlYktpdF9USEVN
RV9ERUZJTklUSU9OICIiKQogSUYgKEVOQUJMRV9QUk9HUkVTU19UQUcpCiAgIExJU1QoQVBQRU5E
IFdlYktpdF9USEVNRV9ERUZJTklUSU9OICItREVOQUJMRV9QUk9HUkVTU19UQUciKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCmluZGV4IDY5ZTNlZjMuLmUyZWZjMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNyBAQAorMjAxMi0wNC0wMyAgRG9uZ3dvbyBJbSAgPGR3LmltQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFtFRkxdIEltcGxlbWVudHMgdGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIG1ldGhv
ZCBhbmQgb3B0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzM2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoKSBtZXRob2QgYWxsb3dzIFdlYiBzaXRl
cyB0byByZWdpc3RlciB0aGVtc2VsdmVzCisgICAgICAgIGFzIHBvc3NpYmxlIGhhbmRsZXJzIGZv
ciBwYXJ0aWN1bGFyIHNjaGVtZXMuCisKKyAgICAgICAgaHR0cDovL2Rldi53My5vcmcvaHRtbDUv
c3BlYy9PdmVydmlldy5odG1sI2RvbS1uYXZpZ2F0b3ItcmVnaXN0ZXJwcm90b2NvbGhhbmRsZXIK
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHA6IEFkZHMgYSBu
ZXcgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmN1c3Rv
bUhhbmRsZXJzRGF0YUNyZWF0ZSk6IENyZWF0ZXMgYW5kIGZpbGxzIHRoZSBkYXRhIG9iamVjdC4K
KyAgICAgICAgKFdlYkNvcmU6OmN1c3RvbUhhbmRsZXJzRGF0YURlbGV0ZSk6IERlbGV0ZXMgdGhl
IGRhdGEgb2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50RWZsOjpyZWdpc3Rl
clByb3RvY29sSGFuZGxlcik6IFJlZ2lzdGVycyBhIHByb3RvY29sIGFuZCB0aGUgaGFuZGxlciBv
ZiBpdC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaDogQWRkcyBh
IHByb3RvdHlwZS4KKyAgICAgICAgKENocm9tZUNsaWVudEVmbCk6CisgICAgICAgICogZXdrL2V3
a19jdXN0b21faGFuZGxlcnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKGV3a19jdXN0b21faGFuZGxl
cnNfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcik6CisgICAgICAgICogZXdrL2V3a19wcml2YXRl
Lmg6IEFkZHMgcHJpdmF0ZSBmdW5jdGlvbi4KKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDogQWRk
cyBEYXRhIHN0cnVjdHVyZS4KKwogMjAxMi0wNC0wMyAgU3VkYXJzYW5hIE5hZ2luZW5pICA8c3Vk
YXJzYW5hLm5hZ2luZW5pQGxpbnV4LmludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBEUlQgc3Vw
cG9ydCBmb3Igc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCmluZGV4
IDY4YWRmNWYuLjg1MjY4MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcApAQCAtNTkyLDQgKzU5MiwzNCBAQCB2b2lkIENo
cm9tZUNsaWVudEVmbDo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQq
IGVsZW1lbnQpCiAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS0+d2Via2l0RGlkRXhpdEZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50KGVsZW1lbnQpOwogfQogI2VuZGlmCisKKyNpZiBFTkFCTEUoUkVHSVNURVJf
UFJPVE9DT0xfSEFORExFUikKK3N0YXRpYyBFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEqIGN1c3Rv
bUhhbmRsZXJzRGF0YUNyZWF0ZShFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgY2hhciogdGFy
Z2V0LCBjb25zdCBjaGFyKiBiYXNlVVJMLCBjb25zdCBjaGFyKiB1cmwsIGNvbnN0IGNoYXIqIHRp
dGxlKQoreworICAgIEV3a19DdXN0b21fSGFuZGxlcnNfRGF0YSogZGF0YSA9IG5ldyBFd2tfQ3Vz
dG9tX0hhbmRsZXJzX0RhdGE7CisgICAgZGF0YS0+byA9IGV3a1ZpZXc7CisgICAgZGF0YS0+dGFy
Z2V0ID0gZWluYV9zdHJpbmdzaGFyZV9hZGQodGFyZ2V0KTsKKyAgICBkYXRhLT5iYXNlX3VybCA9
IGVpbmFfc3RyaW5nc2hhcmVfYWRkKGJhc2VVUkwpOworICAgIGRhdGEtPnVybCA9IGVpbmFfc3Ry
aW5nc2hhcmVfYWRkKHVybCk7CisgICAgZGF0YS0+dGl0bGUgPSBlaW5hX3N0cmluZ3NoYXJlX2Fk
ZCh0aXRsZSk7CisgICAgcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRpYyB2b2lkIGN1c3RvbUhhbmRs
ZXJzRGF0YURlbGV0ZShFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEqIGRhdGEpCit7CisgICAgZWlu
YV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+dGFyZ2V0KTsKKyAgICBlaW5hX3N0cmluZ3NoYXJlX2Rl
bChkYXRhLT5iYXNlX3VybCk7CisgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+dXJsKTsK
KyAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT50aXRsZSk7CisgICAgZGVsZXRlIGRhdGE7
Cit9CisKK3ZvaWQgQ2hyb21lQ2xpZW50RWZsOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25z
dCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKK3sKKyAgICBFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEq
IGRhdGEgPSBjdXN0b21IYW5kbGVyc0RhdGFDcmVhdGUobV92aWV3LCBzY2hlbWUudXRmOCgpLmRh
dGEoKSwgYmFzZVVSTC51dGY4KCkuZGF0YSgpLCB1cmwudXRmOCgpLmRhdGEoKSwgdGl0bGUudXRm
OCgpLmRhdGEoKSk7CisgICAgZXdrX2N1c3RvbV9oYW5kbGVyc19yZWdpc3Rlcl9wcm90b2NvbF9o
YW5kbGVyKGRhdGEpOworICAgIGN1c3RvbUhhbmRsZXJzRGF0YURlbGV0ZShkYXRhKTsKK30KKyNl
bmRpZgorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEVmbC5oCmluZGV4IDljZTlkNjguLjU1MzY4MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBAIC0xNjksNiArMTY5
LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hh
bmdlZCh1bnNpZ25lZCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVy
c0NoYW5nZWQodW5zaWduZWQpIHsgfQogCisjaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hB
TkRMRVIpCisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0
cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBj
b25zdCBTdHJpbmcmIHRpdGxlKTsKKyNlbmRpZgorCiAgICAgRXZhc19PYmplY3QqIG1fdmlldzsK
ICAgICBLVVJMIG1faG92ZXJlZExpbmtVUkw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19jdXN0b21faGFuZGxlcnMuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a19jdXN0b21faGFuZGxlcnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjEyZTIyZTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2N1c3RvbV9oYW5kbGVycy5jcHAKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAgICBDb3B5cmlnaHQg
KEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcworCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
ICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAg
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAg
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCisKKyNpbmNsdWRlICJld2tf
cHJpdmF0ZS5oIgorCitib29sIGV3a19jdXN0b21faGFuZGxlcnNfcmVnaXN0ZXJfcHJvdG9jb2xf
aGFuZGxlcihFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEqIGRhdGEpCit7CisgICAgRUlOQV9TQUZF
VFlfT05fTlVMTF9SRVRVUk5fVkFMKGRhdGEtPm8sIGZhbHNlKTsKKyAgICBldmFzX29iamVjdF9z
bWFydF9jYWxsYmFja19jYWxsKGRhdGEtPm8sICJwcm90b2NvbGhhbmRsZXIscmVnaXN0ZXIiLCBz
dGF0aWNfY2FzdDx2b2lkKj4oZGF0YSkpOworICAgIHJldHVybiB0cnVlOworfQorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKaW5kZXggOTZlNDc5NS4uZTRhOWM3YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmgKQEAgLTI0Nyw0ICsyNDcsNiBAQCBib29sIGV3
a192aWV3X2FjY2VsZXJhdGVkX2NvbXBvc2l0aW5nX29iamVjdF9jcmVhdGUoRXZhc19PYmplY3Qq
IGV3a1ZpZXcsIEV2YXNfTgogV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0QqIGV3a192aWV3X2Fj
Y2VsZXJhdGVkX2NvbXBvc2l0aW5nX2NvbnRleHRfZ2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3KTsK
ICNlbmRpZgogCitib29sIGV3a19jdXN0b21faGFuZGxlcnNfcmVnaXN0ZXJfcHJvdG9jb2xfaGFu
ZGxlcihFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEqIGRhdGEpOworCiAjZW5kaWYgLy8gZXdrX3By
aXZhdGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmggYi9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAppbmRleCAyNTM5NzhkLi4zZWMzMDgwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaApAQCAtMjgzLDYgKzI4MywxNyBAQCBzdHJ1Y3QgX0V3
a19TY3JvbGxfUmVxdWVzdCB7CiAgICAgRXZhc19Db29yZCB4LCB5LCB3LCBoLCB4MiwgeTI7CiB9
OwogCisvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19DdXN0b21fSGFuZGxlcnNf
RGF0YS4KK3R5cGVkZWYgc3RydWN0IF9Fd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEgRXdrX0N1c3Rv
bV9IYW5kbGVyc19EYXRhOworLy8vIENvbnRhaW5zIHRoZSB0YXJnZXQgc2NoZW1lIGFuZCB0aGUg
dXJsIHdoaWNoIHRha2UgY2FyZSBvZiB0aGUgdGFyZ2V0Lgorc3RydWN0IF9Fd2tfQ3VzdG9tX0hh
bmRsZXJzX0RhdGEgeworICAgIEV2YXNfT2JqZWN0ICpvOyAvKio8IFJlZmVyZW5jZSB0byB0aGUg
dmlldyBvYmplY3QuICovCisgICAgY29uc3QgY2hhciAqdGFyZ2V0OyAvKio8IFJlZmVyZW5jZSB0
byB0aGUgcHJvdG9jb2xzIHRoYXQgd2lsbCBiZSBoYW5kbGVkLiAqLworICAgIGNvbnN0IGNoYXIg
KmJhc2VfdXJsOyAvKio8IFJlZmVyZW5jZSB0byB0aGUgcmVzb2x2ZWQgdXJsIGlmIHRoZSB1cmwg
aXMgcmVsYXRpdmUgdXJsLiAqLworICAgIGNvbnN0IGNoYXIgKnVybDsgLyoqPCBSZWZlcmVuY2Ug
dG8gdGhlIHVybCB3aGljaCB3aWxsIGhhbmRsZSB0aGUgZ2l2ZW4gcHJvdG9jb2wuICovCisgICAg
Y29uc3QgY2hhciAqdGl0bGU7IC8qKjwgUmVmZXJlbmNlIHRvIHRoZSBkZXNjcmlwdGl2ZSB0aXRs
ZSBvZiB0aGUgaGFuZGxlci4gKi8KK307CisKIC8qKgogICogQGJyaWVmIENvbnRhaW5zIGFuIGlu
dGVybmFsIFZpZXcgZGF0YS4KICAqCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0Vm
bC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4IDU5MjZmNDAuLjlj
MWRhMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL1Nv
dXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC05Miw2ICs5Miw3IEBAIFdFQktJVF9GRUFU
VVJFKEVOQUJMRV9OT1RJRklDQVRJT05TICJFbmFibGUgbm90aWZpY2F0aW9ucyIgREVGQVVMVCBP
RkYpCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTICJFbmFibGUgb3Jp
ZW50YXRpb24gZXZlbnRzIiBERUZBVUxUIE9GRikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9QQUdF
X1ZJU0lCSUxJVFlfQVBJICJFbmFibGUgUGFnZSBWaXNpYmlsaXR5IEFQSSIgREVGQVVMVCBPTikK
IFdFQktJVF9GRUFUVVJFKEVOQUJMRV9QUk9HUkVTU19UQUcgIkVuYWJsZSBwcm9ncmVzcyB0YWci
IERFRkFVTFQgT04pCitXRUJLSVRfRkVBVFVSRShFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFO
RExFUiAiRW5hYmxlIHRoZSBjdXN0b20gcHJvdG9jb2wgaGFuZGxlciIgREVGQVVMVCBPTikKIFdF
QktJVF9GRUFUVVJFKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSAiRW5hYmxlIHJlcXVl
c3RBbmltYXRpb25GcmFtZSBBUEkiIERFRkFVTFQgT04pCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVf
U0hBRE9XX0RPTSAiRW5hYmxlIFNoYWRvdyBET00iIERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRV
UkUoRU5BQkxFX1NIQVJFRF9XT1JLRVJTICJFbmFibGUgc2hhcmVkIHdvcmtlcnMiIERFRkFVTFQg
T04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFr
ZWNvbmZpZy5oLmNtYWtlCmluZGV4IGVkMjc3MGIuLmU5YzdmYTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBA
IC01Myw2ICs1Myw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5H
CiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSQogI2NtYWtlZGVmaW5l
MDEgRU5BQkxFX1BST0dSRVNTX1RBRworI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1JFR0lTVEVSX1BS
T1RPQ09MX0hBTkRMRVIKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9G
UkFNRQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1NIQVJFRF9XT1JLRVJTCiAjY21ha2VkZWZpbmUw
MSBFTkFCTEVfU1FMX0RBVEFCQVNFCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135498</attachid>
            <date>2012-04-03 20:28:07 -0700</date>
            <delta_ts>2012-05-08 01:31:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_EFL_registerProtocolHandler_0404_01.patch</filename>
            <type>text/plain</type>
            <size>10727</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA1Mzc4YTA3Li4wNzg4ODE3
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMDQtMDMgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZTogQWRkcyB0aGUgYnVpbGQgb3B0aW9u
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOiBBZGRzIHRoZSBidWlsZCBv
cHRpb24uCisKIDIwMTItMDQtMDIgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtRdF1bV0syXSBTZXQgdXAgcGx1Z2luIHByb2Nlc3Mgb24gVW5peApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCAxYjYxNzA0Li5iMjJmMjkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTA0LTAzICBEb25nd29vIEltICA8ZHcuaW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0g
SW1wbGVtZW50cyB0aGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIgbWV0aG9kIGFuZCBvcHRpb24u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSByZWdp
c3RlclByb3RvY29sSGFuZGxlcigpIG1ldGhvZCBhbGxvd3MgV2ViIHNpdGVzIHRvIHJlZ2lzdGVy
IHRoZW1zZWx2ZXMKKyAgICAgICAgYXMgcG9zc2libGUgaGFuZGxlcnMgZm9yIHBhcnRpY3VsYXIg
c2NoZW1lcy4KKworICAgICAgICBodHRwOi8vZGV2LnczLm9yZy9odG1sNS9zcGVjL092ZXJ2aWV3
Lmh0bWwjZG9tLW5hdmlnYXRvci1yZWdpc3RlcnByb3RvY29saGFuZGxlcgorCisgICAgICAgICog
UGxhdGZvcm1FZmwuY21ha2U6IEFkZHMgdGhlIG5ldyBmaWxlIGludG8gdGhlIHNvdXJjZSBsaXN0
LgorCiAyMDEyLTA0LTAxICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+
CiAKICAgICAgICAgU3VwcG9ydCB0aGUgTmV0d29yayBJbmZvcm1hdGlvbiBBUEkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtRWZsLmNtYWtlCmluZGV4IDU0ZTdkOTEuLjc3ZTMyZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5j
bWFrZQpAQCAtMTQyLDYgKzE0MiwxMiBAQCBJRiAoRU5BQkxFX0JBVFRFUllfU1RBVFVTKQogICAg
IExJU1QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTIGVmbC9XZWJDb3JlU3VwcG9ydC9CYXR0ZXJ5Q2xp
ZW50RWZsLmNwcCkKIEVORElGICgpCiAKK0lGIChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFO
RExFUikKKyAgICBMSVNUKEFQUEVORCBXZWJLaXRfU09VUkNFUworICAgICAgICBlZmwvZXdrL2V3
a19jdXN0b21faGFuZGxlcnMuY3BwCisgICAgKQorRU5ESUYgKCkKKwogU0VUKFdlYktpdF9USEVN
RV9ERUZJTklUSU9OICIiKQogSUYgKEVOQUJMRV9QUk9HUkVTU19UQUcpCiAgIExJU1QoQVBQRU5E
IFdlYktpdF9USEVNRV9ERUZJTklUSU9OICItREVOQUJMRV9QUk9HUkVTU19UQUciKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCmluZGV4IDY5ZTNlZjMuLmUyZWZjMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNyBAQAorMjAxMi0wNC0wMyAgRG9uZ3dvbyBJbSAgPGR3LmltQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFtFRkxdIEltcGxlbWVudHMgdGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIG1ldGhv
ZCBhbmQgb3B0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzM2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoKSBtZXRob2QgYWxsb3dzIFdlYiBzaXRl
cyB0byByZWdpc3RlciB0aGVtc2VsdmVzCisgICAgICAgIGFzIHBvc3NpYmxlIGhhbmRsZXJzIGZv
ciBwYXJ0aWN1bGFyIHNjaGVtZXMuCisKKyAgICAgICAgaHR0cDovL2Rldi53My5vcmcvaHRtbDUv
c3BlYy9PdmVydmlldy5odG1sI2RvbS1uYXZpZ2F0b3ItcmVnaXN0ZXJwcm90b2NvbGhhbmRsZXIK
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHA6IEFkZHMgYSBu
ZXcgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmN1c3Rv
bUhhbmRsZXJzRGF0YUNyZWF0ZSk6IENyZWF0ZXMgYW5kIGZpbGxzIHRoZSBkYXRhIG9iamVjdC4K
KyAgICAgICAgKFdlYkNvcmU6OmN1c3RvbUhhbmRsZXJzRGF0YURlbGV0ZSk6IERlbGV0ZXMgdGhl
IGRhdGEgb2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50RWZsOjpyZWdpc3Rl
clByb3RvY29sSGFuZGxlcik6IFJlZ2lzdGVycyBhIHByb3RvY29sIGFuZCB0aGUgaGFuZGxlciBv
ZiBpdC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaDogQWRkcyBh
IHByb3RvdHlwZS4KKyAgICAgICAgKENocm9tZUNsaWVudEVmbCk6CisgICAgICAgICogZXdrL2V3
a19jdXN0b21faGFuZGxlcnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKGV3a19jdXN0b21faGFuZGxl
cnNfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcik6CisgICAgICAgICogZXdrL2V3a19wcml2YXRl
Lmg6IEFkZHMgcHJpdmF0ZSBmdW5jdGlvbi4KKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDogQWRk
cyBEYXRhIHN0cnVjdHVyZS4KKwogMjAxMi0wNC0wMyAgU3VkYXJzYW5hIE5hZ2luZW5pICA8c3Vk
YXJzYW5hLm5hZ2luZW5pQGxpbnV4LmludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBEUlQgc3Vw
cG9ydCBmb3Igc2V0SW50ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCmluZGV4
IDY4YWRmNWYuLjg1MjY4MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcApAQCAtNTkyLDQgKzU5MiwzNCBAQCB2b2lkIENo
cm9tZUNsaWVudEVmbDo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQq
IGVsZW1lbnQpCiAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS0+d2Via2l0RGlkRXhpdEZ1bGxTY3Jl
ZW5Gb3JFbGVtZW50KGVsZW1lbnQpOwogfQogI2VuZGlmCisKKyNpZiBFTkFCTEUoUkVHSVNURVJf
UFJPVE9DT0xfSEFORExFUikKK3N0YXRpYyBFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEqIGN1c3Rv
bUhhbmRsZXJzRGF0YUNyZWF0ZShFdmFzX09iamVjdCogZXdrVmlldywgY29uc3QgY2hhciogdGFy
Z2V0LCBjb25zdCBjaGFyKiBiYXNlVVJMLCBjb25zdCBjaGFyKiB1cmwsIGNvbnN0IGNoYXIqIHRp
dGxlKQoreworICAgIEV3a19DdXN0b21fSGFuZGxlcnNfRGF0YSogZGF0YSA9IG5ldyBFd2tfQ3Vz
dG9tX0hhbmRsZXJzX0RhdGE7CisgICAgZGF0YS0+byA9IGV3a1ZpZXc7CisgICAgZGF0YS0+dGFy
Z2V0ID0gZWluYV9zdHJpbmdzaGFyZV9hZGQodGFyZ2V0KTsKKyAgICBkYXRhLT5iYXNlX3VybCA9
IGVpbmFfc3RyaW5nc2hhcmVfYWRkKGJhc2VVUkwpOworICAgIGRhdGEtPnVybCA9IGVpbmFfc3Ry
aW5nc2hhcmVfYWRkKHVybCk7CisgICAgZGF0YS0+dGl0bGUgPSBlaW5hX3N0cmluZ3NoYXJlX2Fk
ZCh0aXRsZSk7CisgICAgcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRpYyB2b2lkIGN1c3RvbUhhbmRs
ZXJzRGF0YURlbGV0ZShFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEqIGRhdGEpCit7CisgICAgZWlu
YV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+dGFyZ2V0KTsKKyAgICBlaW5hX3N0cmluZ3NoYXJlX2Rl
bChkYXRhLT5iYXNlX3VybCk7CisgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+dXJsKTsK
KyAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT50aXRsZSk7CisgICAgZGVsZXRlIGRhdGE7
Cit9CisKK3ZvaWQgQ2hyb21lQ2xpZW50RWZsOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25z
dCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKK3sKKyAgICBFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEq
IGRhdGEgPSBjdXN0b21IYW5kbGVyc0RhdGFDcmVhdGUobV92aWV3LCBzY2hlbWUudXRmOCgpLmRh
dGEoKSwgYmFzZVVSTC51dGY4KCkuZGF0YSgpLCB1cmwudXRmOCgpLmRhdGEoKSwgdGl0bGUudXRm
OCgpLmRhdGEoKSk7CisgICAgZXdrX2N1c3RvbV9oYW5kbGVyc19yZWdpc3Rlcl9wcm90b2NvbF9o
YW5kbGVyKGRhdGEpOworICAgIGN1c3RvbUhhbmRsZXJzRGF0YURlbGV0ZShkYXRhKTsKK30KKyNl
bmRpZgorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEVmbC5oCmluZGV4IDljZTlkNjguLjU1MzY4MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBAIC0xNjksNiArMTY5
LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hh
bmdlZCh1bnNpZ25lZCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVy
c0NoYW5nZWQodW5zaWduZWQpIHsgfQogCisjaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hB
TkRMRVIpCisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0
cmluZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBj
b25zdCBTdHJpbmcmIHRpdGxlKTsKKyNlbmRpZgorCiAgICAgRXZhc19PYmplY3QqIG1fdmlldzsK
ICAgICBLVVJMIG1faG92ZXJlZExpbmtVUkw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19jdXN0b21faGFuZGxlcnMuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a19jdXN0b21faGFuZGxlcnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjlmODFiMjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2N1c3RvbV9oYW5kbGVycy5jcHAKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAgICBDb3B5cmlnaHQg
KEMpIDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcworCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
CisgICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
ICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAg
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAg
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
CisjaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCisKKyNpbmNsdWRlICJld2tf
cHJpdmF0ZS5oIgorCitib29sIGV3a19jdXN0b21faGFuZGxlcnNfcmVnaXN0ZXJfcHJvdG9jb2xf
aGFuZGxlcihFd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEqIGRhdGEpCit7CisgICAgRUlOQV9TQUZF
VFlfT05fTlVMTF9SRVRVUk5fVkFMKGRhdGEtPm8sIGZhbHNlKTsKKyAgICBldmFzX29iamVjdF9z
bWFydF9jYWxsYmFja19jYWxsKGRhdGEtPm8sICJwcm90b2NvbGhhbmRsZXIscmVnaXN0ZXIiLCBk
YXRhKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
cHJpdmF0ZS5oCmluZGV4IDk2ZTQ3OTUuLmU0YTljN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
cHJpdmF0ZS5oCkBAIC0yNDcsNCArMjQ3LDYgQEAgYm9vbCBld2tfdmlld19hY2NlbGVyYXRlZF9j
b21wb3NpdGluZ19vYmplY3RfY3JlYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX04KIFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEKiBld2tfdmlld19hY2NlbGVyYXRlZF9jb21wb3NpdGlu
Z19jb250ZXh0X2dldChFdmFzX09iamVjdCogZXdrVmlldyk7CiAjZW5kaWYKIAorYm9vbCBld2tf
Y3VzdG9tX2hhbmRsZXJzX3JlZ2lzdGVyX3Byb3RvY29sX2hhbmRsZXIoRXdrX0N1c3RvbV9IYW5k
bGVyc19EYXRhKiBkYXRhKTsKKwogI2VuZGlmIC8vIGV3a19wcml2YXRlX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdr
L2V3a192aWV3LmgKaW5kZXggMjUzOTc4ZC4uMTNiNmVjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192
aWV3LmgKQEAgLTYwLDYgKzYwLDcgQEAKICAqICAtICJtZW51YmFyLHZpc2libGUsc2V0IiwgRWlu
YV9Cb29sOiBzZXRzIG1lbnViYXIgdmlzaWJpbGl0eS4KICAqICAtICJtaXhlZGNvbnRlbnQsZGlz
cGxheWVkIiwgdm9pZDogYW55IG9mIHRoZSBjb250YWluaW5nIGZyYW1lcyBoYXMgbG9hZGVkIGFu
ZCBkaXNwbGF5ZWQgbWl4ZWQgY29udGVudC4KICAqICAtICJtaXhlZGNvbnRlbnQscnVuIiwgdm9p
ZDogYW55IG9mIHRoZSBjb250YWluaW5nIGZyYW1lcyBoYXMgbG9hZGVkIGFuZCBydW4gbWl4ZWQg
Y29udGVudC4KKyAqICAtICJwcm90b2NvbGhhbmRsZXIscmVnaXN0ZXIiLCBFd2tfQ3VzdG9tX0hh
bmRsZXJzX0RhdGE6IGFkZCBhIGhhbmRsZXIgdXJsIGZvciB0aGUgZ2l2ZW4gcHJvdG9jb2wuCiAg
KiAgLSAicmVhZHkiLCB2b2lkOiBwYWdlIGlzIGZ1bGx5IGxvYWRlZC4KICAqICAtICJyZXNvdXJj
ZSxyZXF1ZXN0LHdpbGxzZW5kIiwgRXdrX0ZyYW1lX1Jlc291cmNlX1JlcXVlc3QqOiB0aGUgbmV0
d29yayByZXF1ZXN0IGZvciB0aGUgbWFpbiBmcmFtZSB3aWxsIGJlIHNlbnQuCiAgKiAgLSAic2Ny
b2xsYmFycyx2aXNpYmxlLGdldCIsIEVpbmFfQm9vbCAqOiBleHBlY3RzIGEgQGMgRUlOQV9UUlVF
IGlmIHNjcm9sbGJhcnMKQEAgLTI4Myw2ICsyODQsMTcgQEAgc3RydWN0IF9Fd2tfU2Nyb2xsX1Jl
cXVlc3QgewogICAgIEV2YXNfQ29vcmQgeCwgeSwgdywgaCwgeDIsIHkyOwogfTsKIAorLy8vIENy
ZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEBhIF9Fd2tfQ3VzdG9tX0hhbmRsZXJzX0RhdGEuCit0eXBl
ZGVmIHN0cnVjdCBfRXdrX0N1c3RvbV9IYW5kbGVyc19EYXRhIEV3a19DdXN0b21fSGFuZGxlcnNf
RGF0YTsKKy8vLyBDb250YWlucyB0aGUgdGFyZ2V0IHNjaGVtZSBhbmQgdGhlIHVybCB3aGljaCB0
YWtlIGNhcmUgb2YgdGhlIHRhcmdldC4KK3N0cnVjdCBfRXdrX0N1c3RvbV9IYW5kbGVyc19EYXRh
IHsKKyAgICBFdmFzX09iamVjdCAqbzsgLyoqPCBSZWZlcmVuY2UgdG8gdGhlIHZpZXcgb2JqZWN0
LiAqLworICAgIGNvbnN0IGNoYXIgKnRhcmdldDsgLyoqPCBSZWZlcmVuY2UgdG8gdGhlIHByb3Rv
Y29scyB0aGF0IHdpbGwgYmUgaGFuZGxlZC4gKi8KKyAgICBjb25zdCBjaGFyICpiYXNlX3VybDsg
LyoqPCBSZWZlcmVuY2UgdG8gdGhlIHJlc29sdmVkIHVybCBpZiB0aGUgdXJsIGlzIHJlbGF0aXZl
IHVybC4gKi8KKyAgICBjb25zdCBjaGFyICp1cmw7IC8qKjwgUmVmZXJlbmNlIHRvIHRoZSB1cmwg
d2hpY2ggd2lsbCBoYW5kbGUgdGhlIGdpdmVuIHByb3RvY29sLiAqLworICAgIGNvbnN0IGNoYXIg
KnRpdGxlOyAvKio8IFJlZmVyZW5jZSB0byB0aGUgZGVzY3JpcHRpdmUgdGl0bGUgb2YgdGhlIGhh
bmRsZXIuICovCit9OworCiAvKioKICAqIEBicmllZiBDb250YWlucyBhbiBpbnRlcm5hbCBWaWV3
IGRhdGEuCiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9T
b3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCA1OTI2ZjQwLi45YzFkYTExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Uv
T3B0aW9uc0VmbC5jbWFrZQpAQCAtOTIsNiArOTIsNyBAQCBXRUJLSVRfRkVBVFVSRShFTkFCTEVf
Tk9USUZJQ0FUSU9OUyAiRW5hYmxlIG5vdGlmaWNhdGlvbnMiIERFRkFVTFQgT0ZGKQogV0VCS0lU
X0ZFQVRVUkUoRU5BQkxFX09SSUVOVEFUSU9OX0VWRU5UUyAiRW5hYmxlIG9yaWVudGF0aW9uIGV2
ZW50cyIgREVGQVVMVCBPRkYpCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfUEFHRV9WSVNJQklMSVRZ
X0FQSSAiRW5hYmxlIFBhZ2UgVmlzaWJpbGl0eSBBUEkiIERFRkFVTFQgT04pCiBXRUJLSVRfRkVB
VFVSRShFTkFCTEVfUFJPR1JFU1NfVEFHICJFbmFibGUgcHJvZ3Jlc3MgdGFnIiBERUZBVUxUIE9O
KQorV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIgIkVuYWJs
ZSB0aGUgY3VzdG9tIHByb3RvY29sIGhhbmRsZXIiIERFRkFVTFQgT04pCiBXRUJLSVRfRkVBVFVS
RShFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgIkVuYWJsZSByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUgQVBJIiBERUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX1NIQURPV19ET00g
IkVuYWJsZSBTaGFkb3cgRE9NIiBERUZBVUxUIE9GRikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9T
SEFSRURfV09SS0VSUyAiRW5hYmxlIHNoYXJlZCB3b3JrZXJzIiBERUZBVUxUIE9OKQpkaWZmIC0t
Z2l0IGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5j
bWFrZQppbmRleCBlZDI3NzBiLi5lOWM3ZmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25m
aWcuaC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtNTMsNiArNTMs
NyBAQAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX09WRVJGTE9XX1NDUk9MTElORwogI2NtYWtlZGVm
aW5lMDEgRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9Q
Uk9HUkVTU19UQUcKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5E
TEVSCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUKICNjbWFr
ZWRlZmluZTAxIEVOQUJMRV9TSEFSRURfV09SS0VSUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1NR
TF9EQVRBQkFTRQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140691</attachid>
            <date>2012-05-08 01:31:49 -0700</date>
            <delta_ts>2012-05-08 16:20:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_EFL_registerProtocolHandler_0508.patch</filename>
            <type>text/plain</type>
            <size>11968</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0M2Q0YTU3Li4xYWM5ZmFm
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMDUtMDggIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZTogQWRkcyB0aGUgYnVpbGQgb3B0aW9u
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOiBBZGRzIHRoZSBidWlsZCBv
cHRpb24uCisKIDIwMTItMDUtMDcgIExpYW0gUXVpbm4gIDxscXVpbm5AcmltLmNvbT4KIAogICAg
ICAgICBbQmxhY2tCZXJyeV0gV1dXLUF1dGhlbnRpY2F0ZSBoZWFkZXIgb24gMjAwIHJlc3BvbnNl
IHBvcHMgdXAgYXV0aGVudGljYXRpb24gZGlhbG9nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGI4
ZmM3ZTQuLmVhODA3OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zODEsNiArMzgxLDcgQEAg
U0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwKICAgICBwYWdlL01l
bW9yeUluZm8uaWRsCiAgICAgcGFnZS9OYXZpZ2F0b3IuaWRsCisgICAgcGFnZS9OYXZpZ2F0b3JS
ZWdpc3RlclByb3RvY29sSGFuZGxlci5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlLmlkbAogICAg
IHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0
LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDU4Mzg1NjIuLjM3NTNmMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMi0wNS0wOCAgRG9uZ3dvbyBJbSAgPGR3LmltQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFtFRkxdIEltcGxlbWVudHMgdGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIG1ldGhv
ZCBhbmQgb3B0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzM2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoKSBtZXRob2QgYWxsb3dzIFdlYiBzaXRl
cyB0byByZWdpc3RlciB0aGVtc2VsdmVzCisgICAgICAgIGFzIHBvc3NpYmxlIGhhbmRsZXJzIGZv
ciBwYXJ0aWN1bGFyIHNjaGVtZXMuCisKKyAgICAgICAgaHR0cDovL2Rldi53My5vcmcvaHRtbDUv
c3BlYy9PdmVydmlldy5odG1sI2RvbS1uYXZpZ2F0b3ItcmVnaXN0ZXJwcm90b2NvbGhhbmRsZXIK
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgcGFnZS9OYXZpZ2F0b3JSZWdpc3RlclBy
b3RvY29sSGFuZGxlci5pZGwgaW50byBXZWJDb3JlX0lETF9GSUxFUy4KKwogMjAxMi0wNS0wNyAg
RW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRml4IHBlcmZvcm1h
bmNlIHJlZ3Jlc3Npb24gZm9yIGZsb2F0cyBjYXVzZWQgYnkgTGF5b3V0VW5pdCBjaGFuZ2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNWM3ZGFmYy4uNmYzYzM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
Mi0wNS0wOCAgRG9uZ3dvbyBJbSAgPGR3LmltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxd
IEltcGxlbWVudHMgdGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIG1ldGhvZCBhbmQgb3B0aW9u
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgcmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXIoKSBtZXRob2QgYWxsb3dzIFdlYiBzaXRlcyB0byByZWdpc3Rl
ciB0aGVtc2VsdmVzCisgICAgICAgIGFzIHBvc3NpYmxlIGhhbmRsZXJzIGZvciBwYXJ0aWN1bGFy
IHNjaGVtZXMuCisKKyAgICAgICAgaHR0cDovL2Rldi53My5vcmcvaHRtbDUvc3BlYy9PdmVydmll
dy5odG1sI2RvbS1uYXZpZ2F0b3ItcmVnaXN0ZXJwcm90b2NvbGhhbmRsZXIKKworICAgICAgICAq
IFBsYXRmb3JtRWZsLmNtYWtlOiBBZGRzIHRoZSBuZXcgZmlsZSBpbnRvIHRoZSBzb3VyY2UgbGlz
dC4KKwogMjAxMi0wNS0wMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNb3ZlIFdlYktpdEZ1bGxTY3JlZW5MaXN0ZW5lciBpbnRvIGl0cyBvd24gZmlsZS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGM0ZDIwY2MuLjVjYzc2ZmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bUVmbC5jbWFrZQpAQCAtMTQ5LDYgKzE0OSwxMiBAQCBJRiAoRU5BQkxFX0JBVFRFUllfU1RBVFVT
KQogICAgIExJU1QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTIGVmbC9XZWJDb3JlU3VwcG9ydC9CYXR0
ZXJ5Q2xpZW50RWZsLmNwcCkKIEVORElGICgpCiAKK0lGIChFTkFCTEVfUkVHSVNURVJfUFJPVE9D
T0xfSEFORExFUikKKyAgICBMSVNUKEFQUEVORCBXZWJLaXRfU09VUkNFUworICAgICAgICBlZmwv
ZXdrL2V3a19jdXN0b21faGFuZGxlcnMuY3BwCisgICAgKQorRU5ESUYgKCkKKwogU0VUKFdlYktp
dF9USEVNRV9ERUZJTklUSU9OICIiKQogSUYgKEVOQUJMRV9QUk9HUkVTU19UQUcpCiAgIExJU1Qo
QVBQRU5EIFdlYktpdF9USEVNRV9ERUZJTklUSU9OICItREVOQUJMRV9QUk9HUkVTU19UQUciKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nCmluZGV4IDQ5ZmE5NmIuLjgzZjFiNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNyBAQAorMjAxMi0wNS0wOCAgRG9uZ3dvbyBJbSAgPGR3LmltQHNhbXN1bmcuY29t
PgorCisgICAgICAgIFtFRkxdIEltcGxlbWVudHMgdGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
IG1ldGhvZCBhbmQgb3B0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzM2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoKSBtZXRob2QgYWxsb3dzIFdl
YiBzaXRlcyB0byByZWdpc3RlciB0aGVtc2VsdmVzCisgICAgICAgIGFzIHBvc3NpYmxlIGhhbmRs
ZXJzIGZvciBwYXJ0aWN1bGFyIHNjaGVtZXMuCisKKyAgICAgICAgaHR0cDovL2Rldi53My5vcmcv
aHRtbDUvc3BlYy9PdmVydmlldy5odG1sI2RvbS1uYXZpZ2F0b3ItcmVnaXN0ZXJwcm90b2NvbGhh
bmRsZXIKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHA6IEFk
ZHMgYSBuZXcgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OmN1c3RvbUhhbmRsZXJzRGF0YUNyZWF0ZSk6IENyZWF0ZXMgYW5kIGZpbGxzIHRoZSBkYXRhIG9i
amVjdC4KKyAgICAgICAgKFdlYkNvcmU6OmN1c3RvbUhhbmRsZXJzRGF0YURlbGV0ZSk6IERlbGV0
ZXMgdGhlIGRhdGEgb2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50RWZsOjpy
ZWdpc3RlclByb3RvY29sSGFuZGxlcik6IFJlZ2lzdGVycyBhIHByb3RvY29sIGFuZCB0aGUgaGFu
ZGxlciBvZiBpdC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaDog
QWRkcyBhIHByb3RvdHlwZS4KKyAgICAgICAgKENocm9tZUNsaWVudEVmbCk6CisgICAgICAgICog
ZXdrL2V3a19jdXN0b21faGFuZGxlcnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKGV3a19jdXN0b21f
aGFuZGxlcnNfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcik6CisgICAgICAgICogZXdrL2V3a19w
cml2YXRlLmg6IEFkZHMgcHJpdmF0ZSBmdW5jdGlvbi4KKyAgICAgICAgKiBld2svZXdrX3ZpZXcu
aDogQWRkcyBEYXRhIHN0cnVjdHVyZS4KKwogMjAxMi0wNS0wNyAgTWlraGFpbCBQb3pkbnlha292
ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBQYWdlIGNh
Y2hpbmcgcGVybWlzc2lvbiBmcm9tIEVGTCdzIEZyYW1lTG9hZGVyQ2xpZW50CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwIGIv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAppbmRl
eCAxZTc2MTBhLi41YWM2OTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKQEAgLTYxNSw0ICs2MTUsMzQgQEAgdm9pZCBD
aHJvbWVDbGllbnRFZmw6OmV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50
KiBlbGVtZW50KQogICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPndlYmtpdERpZEV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChlbGVtZW50KTsKIH0KICNlbmRpZgorCisjaWYgRU5BQkxFKFJFR0lTVEVS
X1BST1RPQ09MX0hBTkRMRVIpCitzdGF0aWMgRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGN1c3Rv
bUhhbmRsZXJEYXRhQ3JlYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBjaGFyKiB0YXJn
ZXQsIGNvbnN0IGNoYXIqIGJhc2VVUkwsIGNvbnN0IGNoYXIqIHVybCwgY29uc3QgY2hhciogdGl0
bGUpCit7CisgICAgRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEgPSBuZXcgRXdrX0N1c3Rv
bV9IYW5kbGVyX0RhdGE7CisgICAgZGF0YS0+ZXdrVmlldyA9IGV3a1ZpZXc7CisgICAgZGF0YS0+
dGFyZ2V0ID0gZWluYV9zdHJpbmdzaGFyZV9hZGQodGFyZ2V0KTsKKyAgICBkYXRhLT5iYXNlX3Vy
bCA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKGJhc2VVUkwpOworICAgIGRhdGEtPnVybCA9IGVpbmFf
c3RyaW5nc2hhcmVfYWRkKHVybCk7CisgICAgZGF0YS0+dGl0bGUgPSBlaW5hX3N0cmluZ3NoYXJl
X2FkZCh0aXRsZSk7CisgICAgcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRpYyB2b2lkIGN1c3RvbUhh
bmRsZXJEYXRhRGVsZXRlKEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhKQoreworICAgIGVp
bmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPnRhcmdldCk7CisgICAgZWluYV9zdHJpbmdzaGFyZV9k
ZWwoZGF0YS0+YmFzZV91cmwpOworICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPnVybCk7
CisgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+dGl0bGUpOworICAgIGRlbGV0ZSBkYXRh
OworfQorCit2b2lkIENocm9tZUNsaWVudEVmbDo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29u
c3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1
cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpCit7CisgICAgRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEq
IGRhdGEgPSBjdXN0b21IYW5kbGVyRGF0YUNyZWF0ZShtX3ZpZXcsIHNjaGVtZS51dGY4KCkuZGF0
YSgpLCBiYXNlVVJMLnV0ZjgoKS5kYXRhKCksIHVybC51dGY4KCkuZGF0YSgpLCB0aXRsZS51dGY4
KCkuZGF0YSgpKTsKKyAgICBld2tfY3VzdG9tX2hhbmRsZXJfcmVnaXN0ZXJfcHJvdG9jb2xfaGFu
ZGxlcihkYXRhKTsKKyAgICBjdXN0b21IYW5kbGVyRGF0YURlbGV0ZShkYXRhKTsKK30KKyNlbmRp
ZgorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEVmbC5oCmluZGV4IDY1ZWFlYjMuLjRiZDY2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBAIC0xNzksNiArMTc5LDEw
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdl
ZCh1bnNpZ25lZCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0No
YW5nZWQodW5zaWduZWQpIHsgfQogCisjaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRM
RVIpCisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmlu
ZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25z
dCBTdHJpbmcmIHRpdGxlKTsKKyNlbmRpZgorCiAgICAgRXZhc19PYmplY3QqIG1fdmlldzsKICAg
ICBLVVJMIG1faG92ZXJlZExpbmtVUkw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19jdXN0b21faGFuZGxlcnMuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19jdXN0b21faGFuZGxlcnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmMyY2M2ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1
c3RvbV9oYW5kbGVycy5jcHAKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMp
IDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcworCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
ICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCisKKyNpbmNsdWRlICJld2tfcHJp
dmF0ZS5oIgorCitib29sIGV3a19jdXN0b21faGFuZGxlcl9yZWdpc3Rlcl9wcm90b2NvbF9oYW5k
bGVyKEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhKQoreworICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOX1ZBTChkYXRhLT5ld2tWaWV3LCBmYWxzZSk7CisgICAgZXZhc19vYmplY3Rf
c21hcnRfY2FsbGJhY2tfY2FsbChkYXRhLT5ld2tWaWV3LCAicHJvdG9jb2xoYW5kbGVyLHJlZ2lz
dGVyIiwgZGF0YSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX3ByaXZhdGUuaAppbmRleCAyNmQ0NDhkLi5jZGFjZWE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX3ByaXZhdGUuaApAQCAtMjY4LDQgKzI2OCw2IEBAIGJvb2wgZXdrX3ZpZXdfYWNjZWxl
cmF0ZWRfY29tcG9zaXRpbmdfb2JqZWN0X2NyZWF0ZShFdmFzX09iamVjdCogZXdrVmlldywgRXZh
c19OCiBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRCogZXdrX3ZpZXdfYWNjZWxlcmF0ZWRfY29t
cG9zaXRpbmdfY29udGV4dF9nZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcpOwogI2VuZGlmCiAKK2Jv
b2wgZXdrX2N1c3RvbV9oYW5kbGVyX3JlZ2lzdGVyX3Byb3RvY29sX2hhbmRsZXIoRXdrX0N1c3Rv
bV9IYW5kbGVyX0RhdGEqIGRhdGEpOworCiAjZW5kaWYgLy8gZXdrX3ByaXZhdGVfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuaAppbmRleCA0ZDg3NzI0Li4wNzg3MGViIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXcuaApAQCAtNzAsNiArNzAsNyBAQAogICogIC0gIm1lbnViYXIsdmlzaWJsZSxzZXQi
LCBFaW5hX0Jvb2w6IHNldHMgbWVudWJhciB2aXNpYmlsaXR5LgogICogIC0gIm1peGVkY29udGVu
dCxkaXNwbGF5ZWQiLCB2b2lkOiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2Fk
ZWQgYW5kIGRpc3BsYXllZCBtaXhlZCBjb250ZW50LgogICogIC0gIm1peGVkY29udGVudCxydW4i
LCB2b2lkOiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIHJ1biBt
aXhlZCBjb250ZW50LgorICogIC0gInByb3RvY29saGFuZGxlcixyZWdpc3RlciIsIEV3a19DdXN0
b21fSGFuZGxlcl9EYXRhOiBhZGQgYSBoYW5kbGVyIHVybCBmb3IgdGhlIGdpdmVuIHByb3RvY29s
LgogICogIC0gIm9ubG9hZCxldmVudCIsIEV2YXNfT2JqZWN0KjogYSBmcmFtZSBvbmxvYWQgZXZl
bnQgaGFzIGJlZW4gcmVjZWl2ZWQuCiAgKiAgLSAicmVhZHkiLCB2b2lkOiBwYWdlIGlzIGZ1bGx5
IGxvYWRlZC4KICAqICAtICJyZXNvdXJjZSxyZXF1ZXN0LG5ldyIsIEV3a19GcmFtZV9SZXNvdXJj
ZV9SZXF1ZXN0KjogcmVwb3J0cyB0aGF0CkBAIC0zMDgsNiArMzA5LDE3IEBAIHN0cnVjdCBfRXdr
X0NvbG9yIHsKICAgICB1bnNpZ25lZCBjaGFyIGE7IC8qKjwgQWxwaGEgY2hhbm5lbC4gKi8KIH07
CiAKKy8vLyBDcmVhdGVzIGEgdHlwZSBuYW1lIGZvciBAYSBfRXdrX0N1c3RvbV9IYW5kbGVyX0Rh
dGEuCit0eXBlZGVmIHN0cnVjdCBfRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEgRXdrX0N1c3RvbV9I
YW5kbGVyX0RhdGE7CisvLy8gQ29udGFpbnMgdGhlIHRhcmdldCBzY2hlbWUgYW5kIHRoZSB1cmwg
d2hpY2ggdGFrZSBjYXJlIG9mIHRoZSB0YXJnZXQuCitzdHJ1Y3QgX0V3a19DdXN0b21fSGFuZGxl
cl9EYXRhIHsKKyAgICBFdmFzX09iamVjdCAqZXdrVmlldzsgLyoqPCBSZWZlcmVuY2UgdG8gdGhl
IHZpZXcgb2JqZWN0LiAqLworICAgIGNvbnN0IGNoYXIgKnRhcmdldDsgLyoqPCBSZWZlcmVuY2Ug
dG8gdGhlIHByb3RvY29scyB0aGF0IHdpbGwgYmUgaGFuZGxlZC4gIChlZy4gbWFpbHRvLCBpcmMp
ICovCisgICAgY29uc3QgY2hhciAqYmFzZV91cmw7IC8qKjwgUmVmZXJlbmNlIHRvIHRoZSByZXNv
bHZlZCB1cmwgaWYgdGhlIHVybCBpcyByZWxhdGl2ZSB1cmwuIChlZy4gaHR0cHM6Ly93d3cuZXhh
bXBsZS5jb20vP3VyaT0lcykgKi8KKyAgICBjb25zdCBjaGFyICp1cmw7IC8qKjwgUmVmZXJlbmNl
IHRvIHRoZSB1cmwgd2hpY2ggd2lsbCBoYW5kbGUgdGhlIGdpdmVuIHByb3RvY29sLiAoZWcuIGh0
dHBzOi8vd3d3LmV4YW1wbGUuY29tLykgKi8KKyAgICBjb25zdCBjaGFyICp0aXRsZTsgLyoqPCBS
ZWZlcmVuY2UgdG8gdGhlIGRlc2NyaXB0aXZlIHRpdGxlIG9mIHRoZSBoYW5kbGVyLiAoZWcuIEV4
YW1wbGUgRW1haWwpICovCit9OworCiAvKioKICAqIEBicmllZiBDb250YWlucyBhbiBpbnRlcm5h
bCBWaWV3IGRhdGEuCiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21h
a2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCAxZTM1ZWViLi44NzdiNGVk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2Uv
Y21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtNzQsNiArNzQsNyBAQCBXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUiBPTikKIFdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIE9GRikKIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9ORVRXT1JLX0lORk8gT04pCiBX
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQ
SSBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9SRUdJU1RFUl9Q
Uk9UT0NPTF9IQU5ETEVSIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX1NIQVJFRF9XT1JLRVJTIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX1ZJQlJBVElPTiBPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFr
ZWNvbmZpZy5oLmNtYWtlIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKaW5kZXggYWI1Yzg2
ZC4uNjk4YTBkZSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKKysrIGIv
U291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKQEAgLTU0LDYgKzU0LDcgQEAKICNjbWFrZWRlZmlu
ZTAxIEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9QQUdF
X1ZJU0lCSUxJVFlfQVBJCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfUFJPR1JFU1NfVEFHCisjY21h
a2VkZWZpbmUwMSBFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUgogI2NtYWtlZGVmaW5l
MDEgRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVf
U0hBUkVEX1dPUktFUlMKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140807</attachid>
            <date>2012-05-08 16:20:48 -0700</date>
            <delta_ts>2012-05-08 17:42:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_EFL_registerProtocolHandler_0509.patch</filename>
            <type>text/plain</type>
            <size>11976</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0M2Q0YTU3Li4xYWM5ZmFm
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMDUtMDggIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZTogQWRkcyB0aGUgYnVpbGQgb3B0aW9u
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOiBBZGRzIHRoZSBidWlsZCBv
cHRpb24uCisKIDIwMTItMDUtMDcgIExpYW0gUXVpbm4gIDxscXVpbm5AcmltLmNvbT4KIAogICAg
ICAgICBbQmxhY2tCZXJyeV0gV1dXLUF1dGhlbnRpY2F0ZSBoZWFkZXIgb24gMjAwIHJlc3BvbnNl
IHBvcHMgdXAgYXV0aGVudGljYXRpb24gZGlhbG9nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGI4
ZmM3ZTQuLmVhODA3OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zODEsNiArMzgxLDcgQEAg
U0VUKFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgcGFnZS9Mb2NhdGlvbi5pZGwKICAgICBwYWdlL01l
bW9yeUluZm8uaWRsCiAgICAgcGFnZS9OYXZpZ2F0b3IuaWRsCisgICAgcGFnZS9OYXZpZ2F0b3JS
ZWdpc3RlclByb3RvY29sSGFuZGxlci5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlLmlkbAogICAg
IHBhZ2UvUGVyZm9ybWFuY2VFbnRyeS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnlMaXN0
LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCmluZGV4IDU4Mzg1NjIuLjM3NTNmMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAxMi0wNS0wOCAgRG9uZ3dvbyBJbSAgPGR3LmltQHNhbXN1bmcuY29tPgorCisg
ICAgICAgIFtFRkxdIEltcGxlbWVudHMgdGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIG1ldGhv
ZCBhbmQgb3B0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NzM2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUaGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoKSBtZXRob2QgYWxsb3dzIFdlYiBzaXRl
cyB0byByZWdpc3RlciB0aGVtc2VsdmVzCisgICAgICAgIGFzIHBvc3NpYmxlIGhhbmRsZXJzIGZv
ciBwYXJ0aWN1bGFyIHNjaGVtZXMuCisKKyAgICAgICAgaHR0cDovL2Rldi53My5vcmcvaHRtbDUv
c3BlYy9PdmVydmlldy5odG1sI2RvbS1uYXZpZ2F0b3ItcmVnaXN0ZXJwcm90b2NvbGhhbmRsZXIK
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgcGFnZS9OYXZpZ2F0b3JSZWdpc3RlclBy
b3RvY29sSGFuZGxlci5pZGwgaW50byBXZWJDb3JlX0lETF9GSUxFUy4KKwogMjAxMi0wNS0wNyAg
RW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRml4IHBlcmZvcm1h
bmNlIHJlZ3Jlc3Npb24gZm9yIGZsb2F0cyBjYXVzZWQgYnkgTGF5b3V0VW5pdCBjaGFuZ2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggNWM3ZGFmYy4uNmYzYzM1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
Mi0wNS0wOCAgRG9uZ3dvbyBJbSAgPGR3LmltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxd
IEltcGxlbWVudHMgdGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIG1ldGhvZCBhbmQgb3B0aW9u
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgcmVn
aXN0ZXJQcm90b2NvbEhhbmRsZXIoKSBtZXRob2QgYWxsb3dzIFdlYiBzaXRlcyB0byByZWdpc3Rl
ciB0aGVtc2VsdmVzCisgICAgICAgIGFzIHBvc3NpYmxlIGhhbmRsZXJzIGZvciBwYXJ0aWN1bGFy
IHNjaGVtZXMuCisKKyAgICAgICAgaHR0cDovL2Rldi53My5vcmcvaHRtbDUvc3BlYy9PdmVydmll
dy5odG1sI2RvbS1uYXZpZ2F0b3ItcmVnaXN0ZXJwcm90b2NvbGhhbmRsZXIKKworICAgICAgICAq
IFBsYXRmb3JtRWZsLmNtYWtlOiBBZGRzIHRoZSBuZXcgZmlsZSBpbnRvIHRoZSBzb3VyY2UgbGlz
dC4KKwogMjAxMi0wNS0wMyAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNb3ZlIFdlYktpdEZ1bGxTY3JlZW5MaXN0ZW5lciBpbnRvIGl0cyBvd24gZmlsZS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGM0ZDIwY2MuLjVjYzc2ZmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9y
bUVmbC5jbWFrZQpAQCAtMTQ5LDYgKzE0OSwxMiBAQCBJRiAoRU5BQkxFX0JBVFRFUllfU1RBVFVT
KQogICAgIExJU1QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTIGVmbC9XZWJDb3JlU3VwcG9ydC9CYXR0
ZXJ5Q2xpZW50RWZsLmNwcCkKIEVORElGICgpCiAKK0lGIChFTkFCTEVfUkVHSVNURVJfUFJPVE9D
T0xfSEFORExFUikKKyAgICBMSVNUKEFQUEVORCBXZWJLaXRfU09VUkNFUworICAgICAgICBlZmwv
ZXdrL2V3a19jdXN0b21faGFuZGxlcnMuY3BwCisgICAgKQorRU5ESUYgKCkKKwogU0VUKFdlYktp
dF9USEVNRV9ERUZJTklUSU9OICIiKQogSUYgKEVOQUJMRV9QUk9HUkVTU19UQUcpCiAgIExJU1Qo
QVBQRU5EIFdlYktpdF9USEVNRV9ERUZJTklUSU9OICItREVOQUJMRV9QUk9HUkVTU19UQUciKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nCmluZGV4IDQ5ZmE5NmIuLjgzZjFiNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNyBAQAorMjAxMi0wNS0wOCAgRG9uZ3dvbyBJbSAgPGR3LmltQHNhbXN1bmcuY29t
PgorCisgICAgICAgIFtFRkxdIEltcGxlbWVudHMgdGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
IG1ldGhvZCBhbmQgb3B0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzM2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoKSBtZXRob2QgYWxsb3dzIFdl
YiBzaXRlcyB0byByZWdpc3RlciB0aGVtc2VsdmVzCisgICAgICAgIGFzIHBvc3NpYmxlIGhhbmRs
ZXJzIGZvciBwYXJ0aWN1bGFyIHNjaGVtZXMuCisKKyAgICAgICAgaHR0cDovL2Rldi53My5vcmcv
aHRtbDUvc3BlYy9PdmVydmlldy5odG1sI2RvbS1uYXZpZ2F0b3ItcmVnaXN0ZXJwcm90b2NvbGhh
bmRsZXIKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHA6IEFk
ZHMgYSBuZXcgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OmN1c3RvbUhhbmRsZXJzRGF0YUNyZWF0ZSk6IENyZWF0ZXMgYW5kIGZpbGxzIHRoZSBkYXRhIG9i
amVjdC4KKyAgICAgICAgKFdlYkNvcmU6OmN1c3RvbUhhbmRsZXJzRGF0YURlbGV0ZSk6IERlbGV0
ZXMgdGhlIGRhdGEgb2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xpZW50RWZsOjpy
ZWdpc3RlclByb3RvY29sSGFuZGxlcik6IFJlZ2lzdGVycyBhIHByb3RvY29sIGFuZCB0aGUgaGFu
ZGxlciBvZiBpdC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaDog
QWRkcyBhIHByb3RvdHlwZS4KKyAgICAgICAgKENocm9tZUNsaWVudEVmbCk6CisgICAgICAgICog
ZXdrL2V3a19jdXN0b21faGFuZGxlcnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKGV3a19jdXN0b21f
aGFuZGxlcnNfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcik6CisgICAgICAgICogZXdrL2V3a19w
cml2YXRlLmg6IEFkZHMgcHJpdmF0ZSBmdW5jdGlvbi4KKyAgICAgICAgKiBld2svZXdrX3ZpZXcu
aDogQWRkcyBEYXRhIHN0cnVjdHVyZS4KKwogMjAxMi0wNS0wNyAgTWlraGFpbCBQb3pkbnlha292
ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBQYWdlIGNh
Y2hpbmcgcGVybWlzc2lvbiBmcm9tIEVGTCdzIEZyYW1lTG9hZGVyQ2xpZW50CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwIGIv
U291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAppbmRl
eCAxZTc2MTBhLi41YWM2OTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKQEAgLTYxNSw0ICs2MTUsMzQgQEAgdm9pZCBD
aHJvbWVDbGllbnRFZmw6OmV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50
KiBlbGVtZW50KQogICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPndlYmtpdERpZEV4aXRGdWxsU2Ny
ZWVuRm9yRWxlbWVudChlbGVtZW50KTsKIH0KICNlbmRpZgorCisjaWYgRU5BQkxFKFJFR0lTVEVS
X1BST1RPQ09MX0hBTkRMRVIpCitzdGF0aWMgRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGN1c3Rv
bUhhbmRsZXJEYXRhQ3JlYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBjaGFyKiB0YXJn
ZXQsIGNvbnN0IGNoYXIqIGJhc2VVUkwsIGNvbnN0IGNoYXIqIHVybCwgY29uc3QgY2hhciogdGl0
bGUpCit7CisgICAgRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEgPSBuZXcgRXdrX0N1c3Rv
bV9IYW5kbGVyX0RhdGE7CisgICAgZGF0YS0+ZXdrVmlldyA9IGV3a1ZpZXc7CisgICAgZGF0YS0+
dGFyZ2V0ID0gZWluYV9zdHJpbmdzaGFyZV9hZGQodGFyZ2V0KTsKKyAgICBkYXRhLT5iYXNlX3Vy
bCA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKGJhc2VVUkwpOworICAgIGRhdGEtPnVybCA9IGVpbmFf
c3RyaW5nc2hhcmVfYWRkKHVybCk7CisgICAgZGF0YS0+dGl0bGUgPSBlaW5hX3N0cmluZ3NoYXJl
X2FkZCh0aXRsZSk7CisgICAgcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRpYyB2b2lkIGN1c3RvbUhh
bmRsZXJEYXRhRGVsZXRlKEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhKQoreworICAgIGVp
bmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPnRhcmdldCk7CisgICAgZWluYV9zdHJpbmdzaGFyZV9k
ZWwoZGF0YS0+YmFzZV91cmwpOworICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPnVybCk7
CisgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+dGl0bGUpOworICAgIGRlbGV0ZSBkYXRh
OworfQorCit2b2lkIENocm9tZUNsaWVudEVmbDo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29u
c3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1
cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpCit7CisgICAgRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEq
IGRhdGEgPSBjdXN0b21IYW5kbGVyRGF0YUNyZWF0ZShtX3ZpZXcsIHNjaGVtZS51dGY4KCkuZGF0
YSgpLCBiYXNlVVJMLnV0ZjgoKS5kYXRhKCksIHVybC51dGY4KCkuZGF0YSgpLCB0aXRsZS51dGY4
KCkuZGF0YSgpKTsKKyAgICBld2tfY3VzdG9tX2hhbmRsZXJfcmVnaXN0ZXJfcHJvdG9jb2xfaGFu
ZGxlcihkYXRhKTsKKyAgICBjdXN0b21IYW5kbGVyRGF0YURlbGV0ZShkYXRhKTsKK30KKyNlbmRp
ZgorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEVmbC5oCmluZGV4IDY1ZWFlYjMuLjRiZDY2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBAIC0xNzksNiArMTc5LDEw
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdl
ZCh1bnNpZ25lZCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0No
YW5nZWQodW5zaWduZWQpIHsgfQogCisjaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRM
RVIpCisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmlu
ZyYgc2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25z
dCBTdHJpbmcmIHRpdGxlKTsKKyNlbmRpZgorCiAgICAgRXZhc19PYmplY3QqIG1fdmlldzsKICAg
ICBLVVJMIG1faG92ZXJlZExpbmtVUkw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19jdXN0b21faGFuZGxlcnMuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3
a19jdXN0b21faGFuZGxlcnMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmMyY2M2ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1
c3RvbV9oYW5kbGVycy5jcHAKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMp
IDIwMTIgU2Ftc3VuZyBFbGVjdHJvbmljcworCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisg
ICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisj
aWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCisKKyNpbmNsdWRlICJld2tfcHJp
dmF0ZS5oIgorCitib29sIGV3a19jdXN0b21faGFuZGxlcl9yZWdpc3Rlcl9wcm90b2NvbF9oYW5k
bGVyKEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhKQoreworICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOX1ZBTChkYXRhLT5ld2tWaWV3LCBmYWxzZSk7CisgICAgZXZhc19vYmplY3Rf
c21hcnRfY2FsbGJhY2tfY2FsbChkYXRhLT5ld2tWaWV3LCAicHJvdG9jb2xoYW5kbGVyLHJlZ2lz
dGVyIiwgZGF0YSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX3ByaXZhdGUuaAppbmRleCAyNmQ0NDhkLi5jZGFjZWE1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX3ByaXZhdGUuaApAQCAtMjY4LDQgKzI2OCw2IEBAIGJvb2wgZXdrX3ZpZXdfYWNjZWxl
cmF0ZWRfY29tcG9zaXRpbmdfb2JqZWN0X2NyZWF0ZShFdmFzX09iamVjdCogZXdrVmlldywgRXZh
c19OCiBXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRCogZXdrX3ZpZXdfYWNjZWxlcmF0ZWRfY29t
cG9zaXRpbmdfY29udGV4dF9nZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcpOwogI2VuZGlmCiAKK2Jv
b2wgZXdrX2N1c3RvbV9oYW5kbGVyX3JlZ2lzdGVyX3Byb3RvY29sX2hhbmRsZXIoRXdrX0N1c3Rv
bV9IYW5kbGVyX0RhdGEqIGRhdGEpOworCiAjZW5kaWYgLy8gZXdrX3ByaXZhdGVfaApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuaAppbmRleCA0ZDg3NzI0Li5kOTI3ZmIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXcuaApAQCAtNzAsNiArNzAsNyBAQAogICogIC0gIm1lbnViYXIsdmlzaWJsZSxzZXQi
LCBFaW5hX0Jvb2w6IHNldHMgbWVudWJhciB2aXNpYmlsaXR5LgogICogIC0gIm1peGVkY29udGVu
dCxkaXNwbGF5ZWQiLCB2b2lkOiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2Fk
ZWQgYW5kIGRpc3BsYXllZCBtaXhlZCBjb250ZW50LgogICogIC0gIm1peGVkY29udGVudCxydW4i
LCB2b2lkOiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIHJ1biBt
aXhlZCBjb250ZW50LgorICogIC0gInByb3RvY29saGFuZGxlcixyZWdpc3RlciIsIEV3a19DdXN0
b21fSGFuZGxlcl9EYXRhOiBhZGQgYSBoYW5kbGVyIHVybCBmb3IgdGhlIGdpdmVuIHByb3RvY29s
LgogICogIC0gIm9ubG9hZCxldmVudCIsIEV2YXNfT2JqZWN0KjogYSBmcmFtZSBvbmxvYWQgZXZl
bnQgaGFzIGJlZW4gcmVjZWl2ZWQuCiAgKiAgLSAicmVhZHkiLCB2b2lkOiBwYWdlIGlzIGZ1bGx5
IGxvYWRlZC4KICAqICAtICJyZXNvdXJjZSxyZXF1ZXN0LG5ldyIsIEV3a19GcmFtZV9SZXNvdXJj
ZV9SZXF1ZXN0KjogcmVwb3J0cyB0aGF0CkBAIC0zMDgsNiArMzA5LDE3IEBAIHN0cnVjdCBfRXdr
X0NvbG9yIHsKICAgICB1bnNpZ25lZCBjaGFyIGE7IC8qKjwgQWxwaGEgY2hhbm5lbC4gKi8KIH07
CiAKKy8vLyBDcmVhdGVzIGEgdHlwZSBuYW1lIGZvciBAYSBfRXdrX0N1c3RvbV9IYW5kbGVyX0Rh
dGEuCit0eXBlZGVmIHN0cnVjdCBfRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEgRXdrX0N1c3RvbV9I
YW5kbGVyX0RhdGE7CisvLy8gQ29udGFpbnMgdGhlIHRhcmdldCBzY2hlbWUgYW5kIHRoZSB1cmwg
d2hpY2ggdGFrZSBjYXJlIG9mIHRoZSB0YXJnZXQuCitzdHJ1Y3QgX0V3a19DdXN0b21fSGFuZGxl
cl9EYXRhIHsKKyAgICBFdmFzX09iamVjdCAqZXdrVmlldzsgLyoqPCBSZWZlcmVuY2UgdG8gdGhl
IHZpZXcgb2JqZWN0LiAqLworICAgIGNvbnN0IGNoYXIgKnRhcmdldDsgLyoqPCBSZWZlcmVuY2Ug
dG8gdGhlIHByb3RvY29scyB0aGF0IHdpbGwgYmUgaGFuZGxlZC4gIChlZy4gbWFpbHRvLCBpcmMp
ICovCisgICAgY29uc3QgY2hhciAqYmFzZV91cmw7IC8qKjwgUmVmZXJlbmNlIHRvIHRoZSByZXNv
bHZlZCB1cmwgaWYgdGhlIHVybCBpcyByZWxhdGl2ZSB1cmwuIChlZy4gImh0dHBzOi8vd3d3LmN1
cnJlbnRob3N0LmNvbS8iKSAqLworICAgIGNvbnN0IGNoYXIgKnVybDsgLyoqPCBSZWZlcmVuY2Ug
dG8gdGhlIHVybCB3aGljaCB3aWxsIGhhbmRsZSB0aGUgZ2l2ZW4gcHJvdG9jb2wuIChlZy4gImh0
dHBzOi8vd3d3LmV4YW1wbGUuY29tLz91cmk9JXMiKSAqLworICAgIGNvbnN0IGNoYXIgKnRpdGxl
OyAvKio8IFJlZmVyZW5jZSB0byB0aGUgZGVzY3JpcHRpdmUgdGl0bGUgb2YgdGhlIGhhbmRsZXIu
IChlZy4gRXhhbXBsZSBFbWFpbCkgKi8KK307CisKIC8qKgogICogQGJyaWVmIENvbnRhaW5zIGFu
IGludGVybmFsIFZpZXcgZGF0YS4KICAqCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9u
c0VmbC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4IDFlMzVlZWIu
Ljg3N2I0ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBi
L1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC03NCw2ICs3NCw3IEBAIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SIE9OKQogV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkg
T0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX05FVFdPUktfSU5G
TyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9QQUdFX1ZJU0lC
SUxJVFlfQVBJIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1JF
R0lTVEVSX1BST1RPQ09MX0hBTkRMRVIgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgT04pCiBXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU0hBUkVEX1dPUktFUlMgT04pCiBXRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVklCUkFUSU9OIE9OKQpkaWZmIC0tZ2l0IGEvU291
cmNlL2NtYWtlY29uZmlnLmguY21ha2UgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQppbmRl
eCBhYjVjODZkLi42OThhMGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFr
ZQorKysgYi9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZQpAQCAtNTQsNiArNTQsNyBAQAogI2Nt
YWtlZGVmaW5lMDEgRU5BQkxFX09WRVJGTE9XX1NDUk9MTElORwogI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX1BBR0VfVklTSUJJTElUWV9BUEkKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9QUk9HUkVTU19U
QUcKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSCiAjY21h
a2VkZWZpbmUwMSBFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUKICNjbWFrZWRlZmluZTAx
IEVOQUJMRV9TSEFSRURfV09SS0VSUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1NNT09USF9TQ1JP
TExJTkcK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140831</attachid>
            <date>2012-05-08 17:42:23 -0700</date>
            <delta_ts>2012-05-09 00:20:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_EFL_registerProtocolHandler_0509_01.patch</filename>
            <type>text/plain</type>
            <size>13178</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0M2Q0YTU3Li4xYWM5ZmFm
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMDUtMDggIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZTogQWRkcyB0aGUgYnVpbGQgb3B0aW9u
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOiBBZGRzIHRoZSBidWlsZCBv
cHRpb24uCisKIDIwMTItMDUtMDcgIExpYW0gUXVpbm4gIDxscXVpbm5AcmltLmNvbT4KIAogICAg
ICAgICBbQmxhY2tCZXJyeV0gV1dXLUF1dGhlbnRpY2F0ZSBoZWFkZXIgb24gMjAwIHJlc3BvbnNl
IHBvcHMgdXAgYXV0aGVudGljYXRpb24gZGlhbG9nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9lZmwvZmFzdC9kb20vcmVnaXN0ZXItcHJvdG9jb2wtaGFuZGxlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9kb20vcmVnaXN0ZXItcHJvdG9jb2wt
aGFuZGxlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
YzA2NzM1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9mYXN0
L2RvbS9yZWdpc3Rlci1wcm90b2NvbC1oYW5kbGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIw
IEBACitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IG5hdmlnYXRvci5yZWdpc3RlclByb3RvY29s
SGFuZGxlciB0aHJvd3MgdGhlIHByb3BlciBleGNlcHRpb25zIGFuZCBoYXMgbm8tb3AgZGVmYXVs
dCBpbXBsZW1lbnRhdGlvbi4KKworUGFzczogd2luZG93Lm5hdmlnYXRvci5yZWdpc3RlclByb3Rv
Y29sSGFuZGxlciBpcyBkZWZpbmVkLgorUGFzczogSW52YWxpZCBwcm90b2NvbCAiaHR0cCIgdGhy
ZXcgU0VDVVJJVFlfRVJSIGV4Y2VwdGlvbi4KK1Bhc3M6IEludmFsaWQgcHJvdG9jb2wgImh0dHBz
IiB0aHJldyBTRUNVUklUWV9FUlIgZXhjZXB0aW9uLgorUGFzczogSW52YWxpZCBwcm90b2NvbCAi
ZmlsZSIgdGhyZXcgU0VDVVJJVFlfRVJSIGV4Y2VwdGlvbi4KK1Bhc3M6IFZhbGlkIHByb3RvY29s
ICJpcmMiIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBwcm90b2NvbCAibWFpbHRvIiBhbGxvd2VkLgor
UGFzczogVmFsaWQgcHJvdG9jb2wgIm1tcyIgYWxsb3dlZC4KK1Bhc3M6IFZhbGlkIHByb3RvY29s
ICJuZXdzIiBhbGxvd2VkLgorUGFzczogVmFsaWQgcHJvdG9jb2wgIm5udHAiIGFsbG93ZWQuCitQ
YXNzOiBWYWxpZCBwcm90b2NvbCAic21zIiBhbGxvd2VkLgorUGFzczogVmFsaWQgcHJvdG9jb2wg
InNtc3RvIiBhbGxvd2VkLgorUGFzczogVmFsaWQgcHJvdG9jb2wgInRlbCIgYWxsb3dlZC4KK1Bh
c3M6IFZhbGlkIHByb3RvY29sICJ1cm4iIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBwcm90b2NvbCAi
d2ViY2FsIiBhbGxvd2VkLgorUGFzczogSW52YWxpZCB1cmwgIiIgdGhyZXcgU1lOVEFYX0VSUiBl
eGNlcHRpb24uCitQYXNzOiBJbnZhbGlkIHVybCAiJVMiIHRocmV3IFNZTlRBWF9FUlIgZXhjZXB0
aW9uLgorUGFzczogVmFsaWQgY2FsbCBzdWNjZWVkZWQuCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5k
ZXggYjhmYzdlNC4uZWE4MDc4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM4MSw2ICszODEs
NyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBwYWdlL0xvY2F0aW9uLmlkbAogICAgIHBh
Z2UvTWVtb3J5SW5mby5pZGwKICAgICBwYWdlL05hdmlnYXRvci5pZGwKKyAgICBwYWdlL05hdmln
YXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2UuaWRs
CiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VFbnRy
eUxpc3QuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTgzODU2Mi4uMzc1M2YxZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDEyLTA1LTA4ICBEb25nd29vIEltICA8ZHcuaW1Ac2Ftc3VuZy5jb20+
CisKKyAgICAgICAgW0VGTF0gSW1wbGVtZW50cyB0aGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIg
bWV0aG9kIGFuZCBvcHRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MzYzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlcigpIG1ldGhvZCBhbGxvd3MgV2Vi
IHNpdGVzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKKyAgICAgICAgYXMgcG9zc2libGUgaGFuZGxl
cnMgZm9yIHBhcnRpY3VsYXIgc2NoZW1lcy4KKworICAgICAgICBodHRwOi8vZGV2LnczLm9yZy9o
dG1sNS9zcGVjL092ZXJ2aWV3Lmh0bWwjZG9tLW5hdmlnYXRvci1yZWdpc3RlcnByb3RvY29saGFu
ZGxlcgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZCBwYWdlL05hdmlnYXRvclJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyLmlkbCBpbnRvIFdlYkNvcmVfSURMX0ZJTEVTLgorCiAyMDEyLTA1
LTA3ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBGaXggcGVy
Zm9ybWFuY2UgcmVncmVzc2lvbiBmb3IgZmxvYXRzIGNhdXNlZCBieSBMYXlvdXRVbml0IGNoYW5n
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwppbmRleCA1YzdkYWZjLi42ZjNjMzU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDEyLTA1LTA4ICBEb25nd29vIEltICA8ZHcuaW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF0gSW1wbGVtZW50cyB0aGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIgbWV0aG9kIGFuZCBv
cHRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MzYzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSByZWdpc3RlclByb3RvY29sSGFuZGxlcigpIG1ldGhvZCBhbGxvd3MgV2ViIHNpdGVzIHRvIHJl
Z2lzdGVyIHRoZW1zZWx2ZXMKKyAgICAgICAgYXMgcG9zc2libGUgaGFuZGxlcnMgZm9yIHBhcnRp
Y3VsYXIgc2NoZW1lcy4KKworICAgICAgICBodHRwOi8vZGV2LnczLm9yZy9odG1sNS9zcGVjL092
ZXJ2aWV3Lmh0bWwjZG9tLW5hdmlnYXRvci1yZWdpc3RlcnByb3RvY29saGFuZGxlcgorCisgICAg
ICAgICogUGxhdGZvcm1FZmwuY21ha2U6IEFkZHMgdGhlIG5ldyBmaWxlIGludG8gdGhlIHNvdXJj
ZSBsaXN0LgorCiAyMDEyLTA1LTAzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgog
CiAgICAgICAgIE1vdmUgV2ViS2l0RnVsbFNjcmVlbkxpc3RlbmVyIGludG8gaXRzIG93biBmaWxl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggYzRkMjBjYy4uNWNjNzZmZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtRWZsLmNtYWtlCkBAIC0xNDksNiArMTQ5LDEyIEBAIElGIChFTkFCTEVfQkFUVEVSWV9T
VEFUVVMpCiAgICAgTElTVChBUFBFTkQgV2ViS2l0X1NPVVJDRVMgZWZsL1dlYkNvcmVTdXBwb3J0
L0JhdHRlcnlDbGllbnRFZmwuY3BwKQogRU5ESUYgKCkKIAorSUYgKEVOQUJMRV9SRUdJU1RFUl9Q
Uk9UT0NPTF9IQU5ETEVSKQorICAgIExJU1QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTCisgICAgICAg
IGVmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVycy5jcHAKKyAgICApCitFTkRJRiAoKQorCiBTRVQo
V2ViS2l0X1RIRU1FX0RFRklOSVRJT04gIiIpCiBJRiAoRU5BQkxFX1BST0dSRVNTX1RBRykKICAg
TElTVChBUFBFTkQgV2ViS2l0X1RIRU1FX0RFRklOSVRJT04gIi1ERU5BQkxFX1BST0dSRVNTX1RB
RyIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggNDlmYTk2Yi4uODNmMWI2ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTA1LTA4ICBEb25nd29vIEltICA8ZHcuaW1Ac2Ftc3Vu
Zy5jb20+CisKKyAgICAgICAgW0VGTF0gSW1wbGVtZW50cyB0aGUgcmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXIgbWV0aG9kIGFuZCBvcHRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03MzYzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlcigpIG1ldGhvZCBhbGxv
d3MgV2ViIHNpdGVzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKKyAgICAgICAgYXMgcG9zc2libGUg
aGFuZGxlcnMgZm9yIHBhcnRpY3VsYXIgc2NoZW1lcy4KKworICAgICAgICBodHRwOi8vZGV2Lncz
Lm9yZy9odG1sNS9zcGVjL092ZXJ2aWV3Lmh0bWwjZG9tLW5hdmlnYXRvci1yZWdpc3RlcnByb3Rv
Y29saGFuZGxlcgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNw
cDogQWRkcyBhIG5ldyBmdW5jdGlvbi4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2Vi
Q29yZTo6Y3VzdG9tSGFuZGxlcnNEYXRhQ3JlYXRlKTogQ3JlYXRlcyBhbmQgZmlsbHMgdGhlIGRh
dGEgb2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6Y3VzdG9tSGFuZGxlcnNEYXRhRGVsZXRlKTog
RGVsZXRlcyB0aGUgZGF0YSBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRF
Zmw6OnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKTogUmVnaXN0ZXJzIGEgcHJvdG9jb2wgYW5kIHRo
ZSBoYW5kbGVyIG9mIGl0LgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5oOiBBZGRzIGEgcHJvdG90eXBlLgorICAgICAgICAoQ2hyb21lQ2xpZW50RWZsKToKKyAgICAg
ICAgKiBld2svZXdrX2N1c3RvbV9oYW5kbGVycy5jcHA6IEFkZGVkLgorICAgICAgICAoZXdrX2N1
c3RvbV9oYW5kbGVyc19yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyKToKKyAgICAgICAgKiBld2sv
ZXdrX3ByaXZhdGUuaDogQWRkcyBwcml2YXRlIGZ1bmN0aW9uLgorICAgICAgICAqIGV3ay9ld2tf
dmlldy5oOiBBZGRzIERhdGEgc3RydWN0dXJlLgorCiAyMDEyLTA1LTA3ICBNaWtoYWlsIFBvemRu
eWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdIFBh
Z2UgY2FjaGluZyBwZXJtaXNzaW9uIGZyb20gRUZMJ3MgRnJhbWVMb2FkZXJDbGllbnQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3Bw
CmluZGV4IDFlNzYxMGEuLjVhYzY5NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcApAQCAtNjE1LDQgKzYxNSwzNCBAQCB2
b2lkIENocm9tZUNsaWVudEVmbDo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KFdlYkNvcmU6OkVs
ZW1lbnQqIGVsZW1lbnQpCiAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS0+d2Via2l0RGlkRXhpdEZ1
bGxTY3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQpOwogfQogI2VuZGlmCisKKyNpZiBFTkFCTEUoUkVH
SVNURVJfUFJPVE9DT0xfSEFORExFUikKK3N0YXRpYyBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSog
Y3VzdG9tSGFuZGxlckRhdGFDcmVhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IGNoYXIq
IHRhcmdldCwgY29uc3QgY2hhciogYmFzZVVSTCwgY29uc3QgY2hhciogdXJsLCBjb25zdCBjaGFy
KiB0aXRsZSkKK3sKKyAgICBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSA9IG5ldyBFd2tf
Q3VzdG9tX0hhbmRsZXJfRGF0YTsKKyAgICBkYXRhLT5ld2tWaWV3ID0gZXdrVmlldzsKKyAgICBk
YXRhLT50YXJnZXQgPSBlaW5hX3N0cmluZ3NoYXJlX2FkZCh0YXJnZXQpOworICAgIGRhdGEtPmJh
c2VfdXJsID0gZWluYV9zdHJpbmdzaGFyZV9hZGQoYmFzZVVSTCk7CisgICAgZGF0YS0+dXJsID0g
ZWluYV9zdHJpbmdzaGFyZV9hZGQodXJsKTsKKyAgICBkYXRhLT50aXRsZSA9IGVpbmFfc3RyaW5n
c2hhcmVfYWRkKHRpdGxlKTsKKyAgICByZXR1cm4gZGF0YTsKK30KKworc3RhdGljIHZvaWQgY3Vz
dG9tSGFuZGxlckRhdGFEZWxldGUoRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEpCit7Cisg
ICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+dGFyZ2V0KTsKKyAgICBlaW5hX3N0cmluZ3No
YXJlX2RlbChkYXRhLT5iYXNlX3VybCk7CisgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+
dXJsKTsKKyAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT50aXRsZSk7CisgICAgZGVsZXRl
IGRhdGE7Cit9CisKK3ZvaWQgQ2hyb21lQ2xpZW50RWZsOjpyZWdpc3RlclByb3RvY29sSGFuZGxl
cihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJp
bmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKK3sKKyAgICBFd2tfQ3VzdG9tX0hhbmRsZXJf
RGF0YSogZGF0YSA9IGN1c3RvbUhhbmRsZXJEYXRhQ3JlYXRlKG1fdmlldywgc2NoZW1lLnV0Zjgo
KS5kYXRhKCksIGJhc2VVUkwudXRmOCgpLmRhdGEoKSwgdXJsLnV0ZjgoKS5kYXRhKCksIHRpdGxl
LnV0ZjgoKS5kYXRhKCkpOworICAgIGV3a19jdXN0b21faGFuZGxlcl9yZWdpc3Rlcl9wcm90b2Nv
bF9oYW5kbGVyKGRhdGEpOworICAgIGN1c3RvbUhhbmRsZXJEYXRhRGVsZXRlKGRhdGEpOworfQor
I2VuZGlmCisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50RWZsLmgKaW5kZXggNjVlYWViMy4uNGJkNjZjOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKQEAgLTE3OSw2ICsx
NzksMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnND
aGFuZ2VkKHVuc2lnbmVkKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRs
ZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKKyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xf
SEFORExFUikKKyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3Qg
U3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmws
IGNvbnN0IFN0cmluZyYgdGl0bGUpOworI2VuZGlmCisKICAgICBFdmFzX09iamVjdCogbV92aWV3
OwogICAgIEtVUkwgbV9ob3ZlcmVkTGlua1VSTDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9l
d2svZXdrX2N1c3RvbV9oYW5kbGVycy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uYzJjYzZmZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfY3VzdG9tX2hhbmRsZXJzLmNwcApAQCAtMCwwICsxLDMzIEBACisvKgorICAgIENvcHlyaWdo
dCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKKyAgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKwor
ICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisg
ICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisKKyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKKworI2luY2x1ZGUgImV3
a19wcml2YXRlLmgiCisKK2Jvb2wgZXdrX2N1c3RvbV9oYW5kbGVyX3JlZ2lzdGVyX3Byb3RvY29s
X2hhbmRsZXIoRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEpCit7CisgICAgRUlOQV9TQUZF
VFlfT05fTlVMTF9SRVRVUk5fVkFMKGRhdGEtPmV3a1ZpZXcsIGZhbHNlKTsKKyAgICBldmFzX29i
amVjdF9zbWFydF9jYWxsYmFja19jYWxsKGRhdGEtPmV3a1ZpZXcsICJwcm90b2NvbGhhbmRsZXIs
cmVnaXN0ZXIiLCBkYXRhKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfcHJpdmF0ZS5oCmluZGV4IDI2ZDQ0OGQuLmNkYWNlYTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfcHJpdmF0ZS5oCkBAIC0yNjgsNCArMjY4LDYgQEAgYm9vbCBld2tfdmlld19h
Y2NlbGVyYXRlZF9jb21wb3NpdGluZ19vYmplY3RfY3JlYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3
LCBFdmFzX04KIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEKiBld2tfdmlld19hY2NlbGVyYXRl
ZF9jb21wb3NpdGluZ19jb250ZXh0X2dldChFdmFzX09iamVjdCogZXdrVmlldyk7CiAjZW5kaWYK
IAorYm9vbCBld2tfY3VzdG9tX2hhbmRsZXJfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihFd2tf
Q3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSk7CisKICNlbmRpZiAvLyBld2tfcHJpdmF0ZV9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaCBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfdmlldy5oCmluZGV4IDRkODc3MjQuLmQ5MjdmYjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L2V3ay9ld2tfdmlldy5oCkBAIC03MCw2ICs3MCw3IEBACiAgKiAgLSAibWVudWJhcix2aXNpYmxl
LHNldCIsIEVpbmFfQm9vbDogc2V0cyBtZW51YmFyIHZpc2liaWxpdHkuCiAgKiAgLSAibWl4ZWRj
b250ZW50LGRpc3BsYXllZCIsIHZvaWQ6IGFueSBvZiB0aGUgY29udGFpbmluZyBmcmFtZXMgaGFz
IGxvYWRlZCBhbmQgZGlzcGxheWVkIG1peGVkIGNvbnRlbnQuCiAgKiAgLSAibWl4ZWRjb250ZW50
LHJ1biIsIHZvaWQ6IGFueSBvZiB0aGUgY29udGFpbmluZyBmcmFtZXMgaGFzIGxvYWRlZCBhbmQg
cnVuIG1peGVkIGNvbnRlbnQuCisgKiAgLSAicHJvdG9jb2xoYW5kbGVyLHJlZ2lzdGVyIiwgRXdr
X0N1c3RvbV9IYW5kbGVyX0RhdGE6IGFkZCBhIGhhbmRsZXIgdXJsIGZvciB0aGUgZ2l2ZW4gcHJv
dG9jb2wuCiAgKiAgLSAib25sb2FkLGV2ZW50IiwgRXZhc19PYmplY3QqOiBhIGZyYW1lIG9ubG9h
ZCBldmVudCBoYXMgYmVlbiByZWNlaXZlZC4KICAqICAtICJyZWFkeSIsIHZvaWQ6IHBhZ2UgaXMg
ZnVsbHkgbG9hZGVkLgogICogIC0gInJlc291cmNlLHJlcXVlc3QsbmV3IiwgRXdrX0ZyYW1lX1Jl
c291cmNlX1JlcXVlc3QqOiByZXBvcnRzIHRoYXQKQEAgLTMwOCw2ICszMDksMTcgQEAgc3RydWN0
IF9Fd2tfQ29sb3IgewogICAgIHVuc2lnbmVkIGNoYXIgYTsgLyoqPCBBbHBoYSBjaGFubmVsLiAq
LwogfTsKIAorLy8vIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEBhIF9Fd2tfQ3VzdG9tX0hhbmRs
ZXJfRGF0YS4KK3R5cGVkZWYgc3RydWN0IF9Fd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSBFd2tfQ3Vz
dG9tX0hhbmRsZXJfRGF0YTsKKy8vLyBDb250YWlucyB0aGUgdGFyZ2V0IHNjaGVtZSBhbmQgdGhl
IHVybCB3aGljaCB0YWtlIGNhcmUgb2YgdGhlIHRhcmdldC4KK3N0cnVjdCBfRXdrX0N1c3RvbV9I
YW5kbGVyX0RhdGEgeworICAgIEV2YXNfT2JqZWN0ICpld2tWaWV3OyAvKio8IFJlZmVyZW5jZSB0
byB0aGUgdmlldyBvYmplY3QuICovCisgICAgY29uc3QgY2hhciAqdGFyZ2V0OyAvKio8IFJlZmVy
ZW5jZSB0byB0aGUgcHJvdG9jb2xzIHRoYXQgd2lsbCBiZSBoYW5kbGVkLiAgKGVnLiBtYWlsdG8s
IGlyYykgKi8KKyAgICBjb25zdCBjaGFyICpiYXNlX3VybDsgLyoqPCBSZWZlcmVuY2UgdG8gdGhl
IHJlc29sdmVkIHVybCBpZiB0aGUgdXJsIGlzIHJlbGF0aXZlIHVybC4gKGVnLiAiaHR0cHM6Ly93
d3cuY3VycmVudGhvc3QuY29tLyIpICovCisgICAgY29uc3QgY2hhciAqdXJsOyAvKio8IFJlZmVy
ZW5jZSB0byB0aGUgdXJsIHdoaWNoIHdpbGwgaGFuZGxlIHRoZSBnaXZlbiBwcm90b2NvbC4gKGVn
LiAiaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vP3VyaT0lcyIpICovCisgICAgY29uc3QgY2hhciAq
dGl0bGU7IC8qKjwgUmVmZXJlbmNlIHRvIHRoZSBkZXNjcmlwdGl2ZSB0aXRsZSBvZiB0aGUgaGFu
ZGxlci4gKGVnLiBFeGFtcGxlIEVtYWlsKSAqLworfTsKKwogLyoqCiAgKiBAYnJpZWYgQ29udGFp
bnMgYW4gaW50ZXJuYWwgVmlldyBkYXRhLgogICoKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9P
cHRpb25zRWZsLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKaW5kZXggMWUz
NWVlYi4uODc3YjRlZCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UK
KysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKQEAgLTc0LDYgKzc0LDcgQEAgV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IgT04p
CiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTkVUU0NBUEVfUExVR0lO
X0FQSSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTkVUV09S
S19JTkZPIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1BBR0Vf
VklTSUJJTElUWV9BUEkgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUiBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSBPTikKIFdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9TSEFSRURfV09SS0VSUyBPTikKIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9WSUJSQVRJT04gT04pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtl
CmluZGV4IGFiNWM4NmQuLjY5OGEwZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5o
LmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBAIC01NCw2ICs1NCw3IEBA
CiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfT1ZFUkZMT1dfU0NST0xMSU5HCiAjY21ha2VkZWZpbmUw
MSBFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1BST0dS
RVNTX1RBRworI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIK
ICNjbWFrZWRlZmluZTAxIEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRQogI2NtYWtlZGVm
aW5lMDEgRU5BQkxFX1NIQVJFRF9XT1JLRVJTCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfU01PT1RI
X1NDUk9MTElORwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140871</attachid>
            <date>2012-05-09 00:20:07 -0700</date>
            <delta_ts>2012-05-18 01:49:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_EFL_registerProtocolHandler_0509_03.patch</filename>
            <type>text/plain</type>
            <size>13903</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAzMjY4MjM1Li4zMjIwNGYx
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTItMDUtMDkgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZTogQWRkcyB0aGUgYnVpbGQgb3B0aW9u
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOiBBZGRzIHRoZSBidWlsZCBv
cHRpb24uCisKKwogMjAxMi0wNS0wOCAgUmFwaGFlbCBLdWJvIGRhIENvc3RhICA8cmFrdWNvQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgW0NNYWtlXSBGaW5kR1N0cmVhbWVyOiBGaXggdGhlIGJ1aWxk
IHdpdGggc3RhdGljIFdlYkNvcmUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjI1YjczZC4uYmE0MGQyYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDEyLTA1LTA5ICBEb25nd29vIEltICA8ZHcuaW1Ac2Ftc3VuZy5jb20+
CisKKyAgICAgICAgW0VGTF0gSW1wbGVtZW50cyB0aGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIg
bWV0aG9kIGFuZCBvcHRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03MzYzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlcigpIG1ldGhvZCBhbGxvd3MgV2Vi
IHNpdGVzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKKyAgICAgICAgYXMgcG9zc2libGUgaGFuZGxl
cnMgZm9yIHBhcnRpY3VsYXIgc2NoZW1lcy4KKworICAgICAgICBodHRwOi8vZGV2LnczLm9yZy9o
dG1sNS9zcGVjL092ZXJ2aWV3Lmh0bWwjZG9tLW5hdmlnYXRvci1yZWdpc3RlcnByb3RvY29saGFu
ZGxlcgorCisgICAgICAgICogcGxhdGZvcm0vZWZsL2Zhc3QvZG9tL3JlZ2lzdGVyLXByb3RvY29s
LWhhbmRsZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAxMi0wNS0wOCAgS2VudCBUYW11cmEg
IDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYSB0cml2aWFsIHRl
c3QgZml4IHRvIHJlbW92ZSBhIHBsYXRmb3JtLWRlcGVuZGVuY3kuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9kb20vcmVnaXN0ZXItcHJvdG9jb2wtaGFuZGxlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFzdC9kb20vcmVnaXN0ZXIt
cHJvdG9jb2wtaGFuZGxlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uYzA2NzM1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9mYXN0L2RvbS9yZWdpc3Rlci1wcm90b2NvbC1oYW5kbGVyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDIwIEBACitUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IG5hdmlnYXRvci5yZWdpc3Rl
clByb3RvY29sSGFuZGxlciB0aHJvd3MgdGhlIHByb3BlciBleGNlcHRpb25zIGFuZCBoYXMgbm8t
b3AgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KKworUGFzczogd2luZG93Lm5hdmlnYXRvci5yZWdp
c3RlclByb3RvY29sSGFuZGxlciBpcyBkZWZpbmVkLgorUGFzczogSW52YWxpZCBwcm90b2NvbCAi
aHR0cCIgdGhyZXcgU0VDVVJJVFlfRVJSIGV4Y2VwdGlvbi4KK1Bhc3M6IEludmFsaWQgcHJvdG9j
b2wgImh0dHBzIiB0aHJldyBTRUNVUklUWV9FUlIgZXhjZXB0aW9uLgorUGFzczogSW52YWxpZCBw
cm90b2NvbCAiZmlsZSIgdGhyZXcgU0VDVVJJVFlfRVJSIGV4Y2VwdGlvbi4KK1Bhc3M6IFZhbGlk
IHByb3RvY29sICJpcmMiIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBwcm90b2NvbCAibWFpbHRvIiBh
bGxvd2VkLgorUGFzczogVmFsaWQgcHJvdG9jb2wgIm1tcyIgYWxsb3dlZC4KK1Bhc3M6IFZhbGlk
IHByb3RvY29sICJuZXdzIiBhbGxvd2VkLgorUGFzczogVmFsaWQgcHJvdG9jb2wgIm5udHAiIGFs
bG93ZWQuCitQYXNzOiBWYWxpZCBwcm90b2NvbCAic21zIiBhbGxvd2VkLgorUGFzczogVmFsaWQg
cHJvdG9jb2wgInNtc3RvIiBhbGxvd2VkLgorUGFzczogVmFsaWQgcHJvdG9jb2wgInRlbCIgYWxs
b3dlZC4KK1Bhc3M6IFZhbGlkIHByb3RvY29sICJ1cm4iIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBw
cm90b2NvbCAid2ViY2FsIiBhbGxvd2VkLgorUGFzczogSW52YWxpZCB1cmwgIiIgdGhyZXcgU1lO
VEFYX0VSUiBleGNlcHRpb24uCitQYXNzOiBJbnZhbGlkIHVybCAiJVMiIHRocmV3IFNZTlRBWF9F
UlIgZXhjZXB0aW9uLgorUGFzczogVmFsaWQgY2FsbCBzdWNjZWVkZWQuCisKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggY2FkYTdjNS4uZDk4Yzg1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM4
Miw2ICszODIsNyBAQCBTRVQoV2ViQ29yZV9JRExfRklMRVMKICAgICBwYWdlL0xvY2F0aW9uLmlk
bAogICAgIHBhZ2UvTWVtb3J5SW5mby5pZGwKICAgICBwYWdlL05hdmlnYXRvci5pZGwKKyAgICBw
YWdlL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmlkbAogICAgIHBhZ2UvUGVyZm9y
bWFuY2UuaWRsCiAgICAgcGFnZS9QZXJmb3JtYW5jZUVudHJ5LmlkbAogICAgIHBhZ2UvUGVyZm9y
bWFuY2VFbnRyeUxpc3QuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc5OTE3Ny4uNTAzOWM0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA1LTA5ICBEb25nd29vIEltICA8ZHcuaW1Ac2Ft
c3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gSW1wbGVtZW50cyB0aGUgcmVnaXN0ZXJQcm90b2Nv
bEhhbmRsZXIgbWV0aG9kIGFuZCBvcHRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlcigpIG1ldGhvZCBh
bGxvd3MgV2ViIHNpdGVzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMKKyAgICAgICAgYXMgcG9zc2li
bGUgaGFuZGxlcnMgZm9yIHBhcnRpY3VsYXIgc2NoZW1lcy4KKworICAgICAgICBodHRwOi8vZGV2
LnczLm9yZy9odG1sNS9zcGVjL092ZXJ2aWV3Lmh0bWwjZG9tLW5hdmlnYXRvci1yZWdpc3RlcnBy
b3RvY29saGFuZGxlcgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IEFkZCBwYWdlL05hdmln
YXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyLmlkbCBpbnRvIFdlYkNvcmVfSURMX0ZJTEVTLgor
CiAyMDEyLTA1LTA4ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJl
dmlld2VkIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZGUxMTVmNC4uOWE2M2UyNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNyBAQAorMjAxMi0wNS0wOSAgRG9uZ3dvbyBJbSAgPGR3LmltQHNhbXN1bmcu
Y29tPgorCisgICAgICAgIFtFRkxdIEltcGxlbWVudHMgdGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyIG1ldGhvZCBhbmQgb3B0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzM2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoKSBtZXRob2QgYWxsb3dz
IFdlYiBzaXRlcyB0byByZWdpc3RlciB0aGVtc2VsdmVzCisgICAgICAgIGFzIHBvc3NpYmxlIGhh
bmRsZXJzIGZvciBwYXJ0aWN1bGFyIHNjaGVtZXMuCisKKyAgICAgICAgaHR0cDovL2Rldi53My5v
cmcvaHRtbDUvc3BlYy9PdmVydmlldy5odG1sI2RvbS1uYXZpZ2F0b3ItcmVnaXN0ZXJwcm90b2Nv
bGhhbmRsZXIKKworICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOiBBZGRzIHRoZSBuZXcgZmls
ZSBpbnRvIHRoZSBzb3VyY2UgbGlzdC4KKwogMjAxMi0wNS0wOCAgQ3J5c3RhbCBaaGFuZyAgPGhh
aXpoYW5nQHJpbS5jb20+CiAKICAgICAgICAgW0JsYWNrQmVycnldIEltcGxlbWVudCBhIHBvcHVw
IGNsaWVudCBmb3IgSFRNTCBjb250cm9scwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggZmM0
M2I0Ni4uNGU5OTk2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFr
ZQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0xNDksNiArMTQ5LDEy
IEBAIElGIChFTkFCTEVfQkFUVEVSWV9TVEFUVVMpCiAgICAgTElTVChBUFBFTkQgV2ViS2l0X1NP
VVJDRVMgZWZsL1dlYkNvcmVTdXBwb3J0L0JhdHRlcnlDbGllbnRFZmwuY3BwKQogRU5ESUYgKCkK
IAorSUYgKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQorICAgIExJU1QoQVBQRU5E
IFdlYktpdF9TT1VSQ0VTCisgICAgICAgIGVmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVyLmNwcAor
ICAgICkKK0VORElGICgpCisKIFNFVChXZWJLaXRfVEhFTUVfREVGSU5JVElPTiAiIikKIElGIChF
TkFCTEVfUFJPR1JFU1NfVEFHKQogICBMSVNUKEFQUEVORCBXZWJLaXRfVEhFTUVfREVGSU5JVElP
TiAiLURFTkFCTEVfUFJPR1JFU1NfVEFHIikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwppbmRleCA3NzY3MTViLi43
YzIyZTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTItMDUtMDkgIERv
bmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnRz
IHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9wdGlvbi4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZl
cworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGljdWxhciBzY2hlbWVzLgor
CisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcuaHRtbCNkb20t
bmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwOiBBZGRzIGEgbmV3IGZ1bmN0aW9uLgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpjdXN0b21IYW5kbGVyc0RhdGFDcmVhdGUpOiBD
cmVhdGVzIGFuZCBmaWxscyB0aGUgZGF0YSBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpjdXN0
b21IYW5kbGVyc0RhdGFEZWxldGUpOiBEZWxldGVzIHRoZSBkYXRhIG9iamVjdC4KKyAgICAgICAg
KFdlYkNvcmU6OkNocm9tZUNsaWVudEVmbDo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIpOiBSZWdp
c3RlcnMgYSBwcm90b2NvbCBhbmQgdGhlIGhhbmRsZXIgb2YgaXQuCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6IEFkZHMgYSBwcm90b3R5cGUuCisgICAgICAgIChD
aHJvbWVDbGllbnRFZmwpOgorICAgICAgICAqIGV3ay9ld2tfY3VzdG9tX2hhbmRsZXJzLmNwcDog
QWRkZWQuCisgICAgICAgIChld2tfY3VzdG9tX2hhbmRsZXJzX3JlZ2lzdGVyX3Byb3RvY29sX2hh
bmRsZXIpOgorICAgICAgICAqIGV3ay9ld2tfcHJpdmF0ZS5oOiBBZGRzIHByaXZhdGUgZnVuY3Rp
b24uCisgICAgICAgICogZXdrL2V3a192aWV3Lmg6IEFkZHMgRGF0YSBzdHJ1Y3R1cmUuCisKIDIw
MTItMDUtMDggIEthbmdpbCBIYW4gIDxrYW5naWwuaGFuQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IFtFRkxdW0RSVF0gSW1wbGVtZW50IFRleHRJbnB1dENvbnRyb2xsZXIuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwIGIvU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAppbmRleCAx
ZTc2MTBhLi5mMGU1NjBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKQEAgLTYxNSw0ICs2MTUsMzQgQEAgdm9pZCBDaHJv
bWVDbGllbnRFZmw6OmV4aXRGdWxsU2NyZWVuRm9yRWxlbWVudChXZWJDb3JlOjpFbGVtZW50KiBl
bGVtZW50KQogICAgIGVsZW1lbnQtPmRvY3VtZW50KCktPndlYmtpdERpZEV4aXRGdWxsU2NyZWVu
Rm9yRWxlbWVudChlbGVtZW50KTsKIH0KICNlbmRpZgorCisjaWYgRU5BQkxFKFJFR0lTVEVSX1BS
T1RPQ09MX0hBTkRMRVIpCitzdGF0aWMgRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGN1c3RvbUhh
bmRsZXJEYXRhQ3JlYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBjb25zdCBjaGFyKiBzY2hlbWUs
IGNvbnN0IGNoYXIqIGJhc2VVUkwsIGNvbnN0IGNoYXIqIHVybCwgY29uc3QgY2hhciogdGl0bGUp
Cit7CisgICAgRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEgPSBuZXcgRXdrX0N1c3RvbV9I
YW5kbGVyX0RhdGE7CisgICAgZGF0YS0+ZXdrVmlldyA9IGV3a1ZpZXc7CisgICAgZGF0YS0+c2No
ZW1lID0gZWluYV9zdHJpbmdzaGFyZV9hZGQoc2NoZW1lKTsKKyAgICBkYXRhLT5iYXNlX3VybCA9
IGVpbmFfc3RyaW5nc2hhcmVfYWRkKGJhc2VVUkwpOworICAgIGRhdGEtPnVybCA9IGVpbmFfc3Ry
aW5nc2hhcmVfYWRkKHVybCk7CisgICAgZGF0YS0+dGl0bGUgPSBlaW5hX3N0cmluZ3NoYXJlX2Fk
ZCh0aXRsZSk7CisgICAgcmV0dXJuIGRhdGE7Cit9CisKK3N0YXRpYyB2b2lkIGN1c3RvbUhhbmRs
ZXJEYXRhRGVsZXRlKEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhKQoreworICAgIGVpbmFf
c3RyaW5nc2hhcmVfZGVsKGRhdGEtPnNjaGVtZSk7CisgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwo
ZGF0YS0+YmFzZV91cmwpOworICAgIGVpbmFfc3RyaW5nc2hhcmVfZGVsKGRhdGEtPnVybCk7Cisg
ICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+dGl0bGUpOworICAgIGRlbGV0ZSBkYXRhOwor
fQorCit2b2lkIENocm9tZUNsaWVudEVmbDo6cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3Qg
U3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmws
IGNvbnN0IFN0cmluZyYgdGl0bGUpCit7CisgICAgRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEqIGRh
dGEgPSBjdXN0b21IYW5kbGVyRGF0YUNyZWF0ZShtX3ZpZXcsIHNjaGVtZS51dGY4KCkuZGF0YSgp
LCBiYXNlVVJMLnV0ZjgoKS5kYXRhKCksIHVybC51dGY4KCkuZGF0YSgpLCB0aXRsZS51dGY4KCku
ZGF0YSgpKTsKKyAgICBld2tfY3VzdG9tX2hhbmRsZXJfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxl
cihkYXRhKTsKKyAgICBjdXN0b21IYW5kbGVyRGF0YURlbGV0ZShkYXRhKTsKK30KKyNlbmRpZgor
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEVmbC5oCmluZGV4IDY1ZWFlYjMuLjRiZDY2YzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCkBAIC0xNzksNiArMTc5LDEwIEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbnVtV2hlZWxFdmVudEhhbmRsZXJzQ2hhbmdlZCh1
bnNpZ25lZCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIG51bVRvdWNoRXZlbnRIYW5kbGVyc0NoYW5n
ZWQodW5zaWduZWQpIHsgfQogCisjaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIp
CisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKGNvbnN0IFN0cmluZyYg
c2NoZW1lLCBjb25zdCBTdHJpbmcmIGJhc2VVUkwsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBT
dHJpbmcmIHRpdGxlKTsKKyNlbmRpZgorCiAgICAgRXZhc19PYmplY3QqIG1fdmlldzsKICAgICBL
VVJMIG1faG92ZXJlZExpbmtVUkw7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19jdXN0b21faGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1
c3RvbV9oYW5kbGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmNj
NmZlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jdXN0b21f
aGFuZGxlci5jcHAKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAgICBDb3B5cmlnaHQgKEMpIDIwMTIg
U2Ftc3VuZyBFbGVjdHJvbmljcworCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICAgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgICAgdmVy
c2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgICAgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCisgICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICAgIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5B
QkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCisKKyNpbmNsdWRlICJld2tfcHJpdmF0ZS5o
IgorCitib29sIGV3a19jdXN0b21faGFuZGxlcl9yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyKEV3
a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhKQoreworICAgIEVJTkFfU0FGRVRZX09OX05VTExf
UkVUVVJOX1ZBTChkYXRhLT5ld2tWaWV3LCBmYWxzZSk7CisgICAgZXZhc19vYmplY3Rfc21hcnRf
Y2FsbGJhY2tfY2FsbChkYXRhLT5ld2tWaWV3LCAicHJvdG9jb2xoYW5kbGVyLHJlZ2lzdGVyIiwg
ZGF0YSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ByaXZhdGUuaAppbmRleCAyNmQ0NDhkLi5jZGFjZWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ByaXZhdGUuaApAQCAtMjY4LDQgKzI2OCw2IEBAIGJvb2wgZXdrX3ZpZXdfYWNjZWxlcmF0ZWRf
Y29tcG9zaXRpbmdfb2JqZWN0X2NyZWF0ZShFdmFzX09iamVjdCogZXdrVmlldywgRXZhc19OCiBX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRCogZXdrX3ZpZXdfYWNjZWxlcmF0ZWRfY29tcG9zaXRp
bmdfY29udGV4dF9nZXQoRXZhc19PYmplY3QqIGV3a1ZpZXcpOwogI2VuZGlmCiAKK2Jvb2wgZXdr
X2N1c3RvbV9oYW5kbGVyX3JlZ2lzdGVyX3Byb3RvY29sX2hhbmRsZXIoRXdrX0N1c3RvbV9IYW5k
bGVyX0RhdGEqIGRhdGEpOworCiAjZW5kaWYgLy8gZXdrX3ByaXZhdGVfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXcuaAppbmRleCA5ODIxMGY4Li41NTJjNDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2VmbC9ld2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuaApAQCAtNzAsNiArNzAsNyBAQAogICogIC0gIm1lbnViYXIsdmlzaWJsZSxzZXQiLCBFaW5h
X0Jvb2w6IHNldHMgbWVudWJhciB2aXNpYmlsaXR5LgogICogIC0gIm1peGVkY29udGVudCxkaXNw
bGF5ZWQiLCB2b2lkOiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5k
IGRpc3BsYXllZCBtaXhlZCBjb250ZW50LgogICogIC0gIm1peGVkY29udGVudCxydW4iLCB2b2lk
OiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIHJ1biBtaXhlZCBj
b250ZW50LgorICogIC0gInByb3RvY29saGFuZGxlcixyZWdpc3RlciIsIEV3a19DdXN0b21fSGFu
ZGxlcl9EYXRhOiBhZGQgYSBoYW5kbGVyIHVybCBmb3IgdGhlIGdpdmVuIHByb3RvY29sLgogICog
IC0gIm9ubG9hZCxldmVudCIsIEV2YXNfT2JqZWN0KjogYSBmcmFtZSBvbmxvYWQgZXZlbnQgaGFz
IGJlZW4gcmVjZWl2ZWQuCiAgKiAgLSAicmVhZHkiLCB2b2lkOiBwYWdlIGlzIGZ1bGx5IGxvYWRl
ZC4KICAqICAtICJyZXNvdXJjZSxyZXF1ZXN0LG5ldyIsIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1
ZXN0KjogcmVwb3J0cyB0aGF0CkBAIC0zMDgsNiArMzA5LDE3IEBAIHN0cnVjdCBfRXdrX0NvbG9y
IHsKICAgICB1bnNpZ25lZCBjaGFyIGE7IC8qKjwgQWxwaGEgY2hhbm5lbC4gKi8KIH07CiAKKy8v
LyBDcmVhdGVzIGEgdHlwZSBuYW1lIGZvciBAYSBfRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEuCit0
eXBlZGVmIHN0cnVjdCBfRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEgRXdrX0N1c3RvbV9IYW5kbGVy
X0RhdGE7CisvLy8gQ29udGFpbnMgdGhlIHRhcmdldCBzY2hlbWUgYW5kIHRoZSB1cmwgd2hpY2gg
dGFrZSBjYXJlIG9mIHRoZSB0YXJnZXQuCitzdHJ1Y3QgX0V3a19DdXN0b21fSGFuZGxlcl9EYXRh
IHsKKyAgICBFdmFzX09iamVjdCAqZXdrVmlldzsgLyoqPCBSZWZlcmVuY2UgdG8gdGhlIHZpZXcg
b2JqZWN0LiAqLworICAgIGNvbnN0IGNoYXIgKnNjaGVtZTsgLyoqPCBSZWZlcmVuY2UgdG8gdGhl
IHByb3RvY29scyB0aGF0IHdpbGwgYmUgaGFuZGxlZC4gIChlZy4gbWFpbHRvKSAqLworICAgIGNv
bnN0IGNoYXIgKmJhc2VfdXJsOyAvKio8IFJlZmVyZW5jZSB0byB0aGUgcmVzb2x2ZWQgdXJsIGlm
IHRoZSB1cmwgaXMgcmVsYXRpdmUgdXJsLiAoZWcuICJodHRwczovL3d3dy5jdXJyZW50aG9zdC5j
b20vIikgKi8KKyAgICBjb25zdCBjaGFyICp1cmw7IC8qKjwgUmVmZXJlbmNlIHRvIHRoZSB1cmwg
d2hpY2ggd2lsbCBoYW5kbGUgdGhlIGdpdmVuIHByb3RvY29sLiAoZWcuICJodHRwczovL3d3dy5l
eGFtcGxlLmNvbS8/dXJpPSVzIikgKi8KKyAgICBjb25zdCBjaGFyICp0aXRsZTsgLyoqPCBSZWZl
cmVuY2UgdG8gdGhlIGRlc2NyaXB0aXZlIHRpdGxlIG9mIHRoZSBoYW5kbGVyLiAoZWcuIEV4YW1w
bGUgRW1haWwpICovCit9OworCiAvKioKICAqIEBicmllZiBDb250YWlucyBhbiBpbnRlcm5hbCBW
aWV3IGRhdGEuCiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2Ug
Yi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCA5ODNmZjY1Li43OWJjMDkyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21h
a2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtNzQsNiArNzQsNyBAQCBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUiBPTikKIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIE9GRikKIFdFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9ORVRXT1JLX0lORk8gT04pCiBXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSBP
TikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9SRUdJU1RFUl9QUk9U
T0NPTF9IQU5ETEVSIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX1NIQVJFRF9XT1JLRVJTIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX1ZJQlJBVElPTiBPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZWNv
bmZpZy5oLmNtYWtlIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKaW5kZXggY2IzODgzOS4u
ODVmN2ViZSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKKysrIGIvU291
cmNlL2NtYWtlY29uZmlnLmguY21ha2UKQEAgLTU1LDYgKzU1LDcgQEAKICNjbWFrZWRlZmluZTAx
IEVOQUJMRV9PVkVSRkxPV19TQ1JPTExJTkcKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9QQUdFX1ZJ
U0lCSUxJVFlfQVBJCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfUFJPR1JFU1NfVEFHCisjY21ha2Vk
ZWZpbmUwMSBFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUgogI2NtYWtlZGVmaW5lMDEg
RU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfU0hB
UkVEX1dPUktFUlMKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9TTU9PVEhfU0NST0xMSU5HCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142663</attachid>
            <date>2012-05-18 01:49:52 -0700</date>
            <delta_ts>2012-05-21 00:35:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_EFL_registerProtocolHandler_0518.patch</filename>
            <type>text/plain</type>
            <size>14097</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAwYzMwZGExLi5kYjY4YmRi
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMDUtMTggIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZTogQWRkcyB0aGUgYnVpbGQgb3B0aW9u
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOiBBZGRzIHRoZSBidWlsZCBv
cHRpb24uCisKIDIwMTItMDUtMTggIFphbGFuIEJ1anRhcyAgPHpidWp0YXNAZ21haWwuY29tPgog
CiAgICAgICAgIFtRdF0gR2VzdHVyZSB0YXAgaGlnaGxpZ2h0ZXIgbmVlZHMgdG8gdGFrZSBvdmVy
ZmxvdyBjbGlwIGludG8gYWNjb3VudC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0ZjFjNWEzLi5hZjc4YmY0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTItMDUtMTggIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNv
bT4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxl
ciBtZXRob2QgYW5kIG9wdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTczNjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBX
ZWIgc2l0ZXMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5k
bGVycyBmb3IgcGFydGljdWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3Jn
L2h0bWw1L3NwZWMvT3ZlcnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xo
YW5kbGVyCisKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvZmFzdC9kb20vcmVnaXN0ZXItcHJvdG9j
b2wtaGFuZGxlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDEyLTA1LTE4ICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIENocm9taXVtIE1hYyByZWJhc2VsaW5l
IGFmdGVyIHIxMTc1NTYuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvZmFz
dC9kb20vcmVnaXN0ZXItcHJvdG9jb2wtaGFuZGxlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvZmFzdC9kb20vcmVnaXN0ZXItcHJvdG9jb2wtaGFuZGxlci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzA2NzM1NgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9mYXN0L2RvbS9yZWdpc3Rlci1w
cm90b2NvbC1oYW5kbGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIwIEBACitUaGlzIHRlc3Qg
bWFrZXMgc3VyZSB0aGF0IG5hdmlnYXRvci5yZWdpc3RlclByb3RvY29sSGFuZGxlciB0aHJvd3Mg
dGhlIHByb3BlciBleGNlcHRpb25zIGFuZCBoYXMgbm8tb3AgZGVmYXVsdCBpbXBsZW1lbnRhdGlv
bi4KKworUGFzczogd2luZG93Lm5hdmlnYXRvci5yZWdpc3RlclByb3RvY29sSGFuZGxlciBpcyBk
ZWZpbmVkLgorUGFzczogSW52YWxpZCBwcm90b2NvbCAiaHR0cCIgdGhyZXcgU0VDVVJJVFlfRVJS
IGV4Y2VwdGlvbi4KK1Bhc3M6IEludmFsaWQgcHJvdG9jb2wgImh0dHBzIiB0aHJldyBTRUNVUklU
WV9FUlIgZXhjZXB0aW9uLgorUGFzczogSW52YWxpZCBwcm90b2NvbCAiZmlsZSIgdGhyZXcgU0VD
VVJJVFlfRVJSIGV4Y2VwdGlvbi4KK1Bhc3M6IFZhbGlkIHByb3RvY29sICJpcmMiIGFsbG93ZWQu
CitQYXNzOiBWYWxpZCBwcm90b2NvbCAibWFpbHRvIiBhbGxvd2VkLgorUGFzczogVmFsaWQgcHJv
dG9jb2wgIm1tcyIgYWxsb3dlZC4KK1Bhc3M6IFZhbGlkIHByb3RvY29sICJuZXdzIiBhbGxvd2Vk
LgorUGFzczogVmFsaWQgcHJvdG9jb2wgIm5udHAiIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBwcm90
b2NvbCAic21zIiBhbGxvd2VkLgorUGFzczogVmFsaWQgcHJvdG9jb2wgInNtc3RvIiBhbGxvd2Vk
LgorUGFzczogVmFsaWQgcHJvdG9jb2wgInRlbCIgYWxsb3dlZC4KK1Bhc3M6IFZhbGlkIHByb3Rv
Y29sICJ1cm4iIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBwcm90b2NvbCAid2ViY2FsIiBhbGxvd2Vk
LgorUGFzczogSW52YWxpZCB1cmwgIiIgdGhyZXcgU1lOVEFYX0VSUiBleGNlcHRpb24uCitQYXNz
OiBJbnZhbGlkIHVybCAiJVMiIHRocmV3IFNZTlRBWF9FUlIgZXhjZXB0aW9uLgorUGFzczogVmFs
aWQgY2FsbCBzdWNjZWVkZWQuCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNzI2NGJiNi4uMDMz
ODViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM4Myw2ICszODMsNyBAQCBTRVQoV2ViQ29y
ZV9JRExfRklMRVMKICAgICBwYWdlL0xvY2F0aW9uLmlkbAogICAgIHBhZ2UvTWVtb3J5SW5mby5p
ZGwKICAgICBwYWdlL05hdmlnYXRvci5pZGwKKyAgICBwYWdlL05hdmlnYXRvclJlZ2lzdGVyUHJv
dG9jb2xIYW5kbGVyLmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2UuaWRsCiAgICAgcGFnZS9QZXJm
b3JtYW5jZUVudHJ5LmlkbAogICAgIHBhZ2UvUGVyZm9ybWFuY2VFbnRyeUxpc3QuaWRsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggYTFiZmZiOS4uNmYzMGFhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDEyLTA1LTE4ICBEb25nd29vIEltICA8ZHcuaW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VG
TF0gSW1wbGVtZW50cyB0aGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIgbWV0aG9kIGFuZCBvcHRp
b24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYz
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBy
ZWdpc3RlclByb3RvY29sSGFuZGxlcigpIG1ldGhvZCBhbGxvd3MgV2ViIHNpdGVzIHRvIHJlZ2lz
dGVyIHRoZW1zZWx2ZXMKKyAgICAgICAgYXMgcG9zc2libGUgaGFuZGxlcnMgZm9yIHBhcnRpY3Vs
YXIgc2NoZW1lcy4KKworICAgICAgICBodHRwOi8vZGV2LnczLm9yZy9odG1sNS9zcGVjL092ZXJ2
aWV3Lmh0bWwjZG9tLW5hdmlnYXRvci1yZWdpc3RlcnByb3RvY29saGFuZGxlcgorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6IEFkZCBwYWdlL05hdmlnYXRvclJlZ2lzdGVyUHJvdG9jb2xIYW5k
bGVyLmlkbCBpbnRvIFdlYkNvcmVfSURMX0ZJTEVTLgorCiAyMDEyLTA1LTE3ICBSeW9zdWtlIE5p
d2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFdlYktpdCBlcnJvbmVvdXNseSBhZGQg
MXB4IHBhZGRpbmcgaW4gaW5wdXQgZWxlbWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYmJiYmVmZS4uZjc0NGM5
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wNS0xOCAgRG9uZ3dvbyBJbSAgPGR3
LmltQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIEltcGxlbWVudHMgdGhlIHJlZ2lzdGVy
UHJvdG9jb2xIYW5kbGVyIG1ldGhvZCBhbmQgb3B0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoKSBt
ZXRob2QgYWxsb3dzIFdlYiBzaXRlcyB0byByZWdpc3RlciB0aGVtc2VsdmVzCisgICAgICAgIGFz
IHBvc3NpYmxlIGhhbmRsZXJzIGZvciBwYXJ0aWN1bGFyIHNjaGVtZXMuCisKKyAgICAgICAgaHR0
cDovL2Rldi53My5vcmcvaHRtbDUvc3BlYy9PdmVydmlldy5odG1sI2RvbS1uYXZpZ2F0b3ItcmVn
aXN0ZXJwcm90b2NvbGhhbmRsZXIKKworICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtlOiBBZGRz
IHRoZSBuZXcgZmlsZSBpbnRvIHRoZSBzb3VyY2UgbGlzdC4KKwogMjAxMi0wNS0xOCAgQ2hyaXN0
b3BoZSBEdW1leiAgPGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxd
IEFkZCBzaW1wbGUgaW1wbGVtZW50YXRpb24gb2YgV2ViIEludGVudHMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZs
LmNtYWtlCmluZGV4IDI5NWY4NzIuLjAwY2JjODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
UGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZQpA
QCAtMTU2LDYgKzE1NiwxMiBAQCBJRiAoRU5BQkxFX0JBVFRFUllfU1RBVFVTKQogICAgIExJU1Qo
QVBQRU5EIFdlYktpdF9TT1VSQ0VTIGVmbC9XZWJDb3JlU3VwcG9ydC9CYXR0ZXJ5Q2xpZW50RWZs
LmNwcCkKIEVORElGICgpCiAKK0lGIChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikK
KyAgICBMSVNUKEFQUEVORCBXZWJLaXRfU09VUkNFUworICAgICAgICBlZmwvZXdrL2V3a19jdXN0
b21faGFuZGxlci5jcHAKKyAgICApCitFTkRJRiAoKQorCiBTRVQoV2ViS2l0X1RIRU1FX0RFRklO
SVRJT04gIiIpCiBJRiAoRU5BQkxFX1BST0dSRVNTX1RBRykKICAgTElTVChBUFBFTkQgV2ViS2l0
X1RIRU1FX0RFRklOSVRJT04gIi1ERU5BQkxFX1BST0dSRVNTX1RBRyIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cK
aW5kZXggNWQzNTk5Yy4uNjMwZTBkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBA
CisyMDEyLTA1LTE4ICBEb25nd29vIEltICA8ZHcuaW1Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF0gSW1wbGVtZW50cyB0aGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIgbWV0aG9kIGFuZCBv
cHRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MzYzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
ZSByZWdpc3RlclByb3RvY29sSGFuZGxlcigpIG1ldGhvZCBhbGxvd3MgV2ViIHNpdGVzIHRvIHJl
Z2lzdGVyIHRoZW1zZWx2ZXMKKyAgICAgICAgYXMgcG9zc2libGUgaGFuZGxlcnMgZm9yIHBhcnRp
Y3VsYXIgc2NoZW1lcy4KKworICAgICAgICBodHRwOi8vZGV2LnczLm9yZy9odG1sNS9zcGVjL092
ZXJ2aWV3Lmh0bWwjZG9tLW5hdmlnYXRvci1yZWdpc3RlcnByb3RvY29saGFuZGxlcgorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcDogQWRkcyBhIG5ldyBmdW5j
dGlvbi4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Y3VzdG9tSGFuZGxl
cnNEYXRhQ3JlYXRlKTogQ3JlYXRlcyBhbmQgZmlsbHMgdGhlIGRhdGEgb2JqZWN0LgorICAgICAg
ICAoV2ViQ29yZTo6Y3VzdG9tSGFuZGxlcnNEYXRhRGVsZXRlKTogRGVsZXRlcyB0aGUgZGF0YSBv
YmplY3QuCisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRFZmw6OnJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyKTogUmVnaXN0ZXJzIGEgcHJvdG9jb2wgYW5kIHRoZSBoYW5kbGVyIG9mIGl0Lgor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oOiBBZGRzIGEgcHJvdG90
eXBlLgorICAgICAgICAoQ2hyb21lQ2xpZW50RWZsKToKKyAgICAgICAgKiBld2svZXdrX2N1c3Rv
bV9oYW5kbGVycy5jcHA6IEFkZGVkLgorICAgICAgICAoZXdrX2N1c3RvbV9oYW5kbGVyc19yZWdp
c3Rlcl9wcm90b2NvbF9oYW5kbGVyKToKKyAgICAgICAgKiBld2svZXdrX3ZpZXcuaDogQWRkcyBE
YXRhIHN0cnVjdHVyZS4KKyAgICAgICAgKiBld2svZXdrX3ZpZXdfcHJpdmF0ZS5oOiBBZGRzIHBy
aXZhdGUgZnVuY3Rpb24uCisKIDIwMTItMDUtMTggIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3Rv
cGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBhcHBjYWNoZSB0ZXN0cyBhcmUg
Zmxha3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRFZmwuY3BwCmluZGV4IGQwMzRlN2YuLjhhYWRhY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcApAQCAtNjMyLDQg
KzYzMiwzNCBAQCB2b2lkIENocm9tZUNsaWVudEVmbDo6ZXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50
KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpCiAgICAgZWxlbWVudC0+ZG9jdW1lbnQoKS0+d2Vi
a2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQpOwogfQogI2VuZGlmCisKKyNp
ZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKK3N0YXRpYyBFd2tfQ3VzdG9tX0hh
bmRsZXJfRGF0YSogY3VzdG9tSGFuZGxlckRhdGFDcmVhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcs
IGNvbnN0IGNoYXIqIHNjaGVtZSwgY29uc3QgY2hhciogYmFzZVVSTCwgY29uc3QgY2hhciogdXJs
LCBjb25zdCBjaGFyKiB0aXRsZSkKK3sKKyAgICBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0
YSA9IG5ldyBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YTsKKyAgICBkYXRhLT5ld2tWaWV3ID0gZXdr
VmlldzsKKyAgICBkYXRhLT5zY2hlbWUgPSBlaW5hX3N0cmluZ3NoYXJlX2FkZChzY2hlbWUpOwor
ICAgIGRhdGEtPmJhc2VfdXJsID0gZWluYV9zdHJpbmdzaGFyZV9hZGQoYmFzZVVSTCk7CisgICAg
ZGF0YS0+dXJsID0gZWluYV9zdHJpbmdzaGFyZV9hZGQodXJsKTsKKyAgICBkYXRhLT50aXRsZSA9
IGVpbmFfc3RyaW5nc2hhcmVfYWRkKHRpdGxlKTsKKyAgICByZXR1cm4gZGF0YTsKK30KKworc3Rh
dGljIHZvaWQgY3VzdG9tSGFuZGxlckRhdGFEZWxldGUoRXdrX0N1c3RvbV9IYW5kbGVyX0RhdGEq
IGRhdGEpCit7CisgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+c2NoZW1lKTsKKyAgICBl
aW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT5iYXNlX3VybCk7CisgICAgZWluYV9zdHJpbmdzaGFy
ZV9kZWwoZGF0YS0+dXJsKTsKKyAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT50aXRsZSk7
CisgICAgZGVsZXRlIGRhdGE7Cit9CisKK3ZvaWQgQ2hyb21lQ2xpZW50RWZsOjpyZWdpc3RlclBy
b3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29uc3QgU3RyaW5nJiBiYXNlVVJM
LCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRsZSkKK3sKKyAgICBFd2tfQ3Vz
dG9tX0hhbmRsZXJfRGF0YSogZGF0YSA9IGN1c3RvbUhhbmRsZXJEYXRhQ3JlYXRlKG1fdmlldywg
c2NoZW1lLnV0ZjgoKS5kYXRhKCksIGJhc2VVUkwudXRmOCgpLmRhdGEoKSwgdXJsLnV0ZjgoKS5k
YXRhKCksIHRpdGxlLnV0ZjgoKS5kYXRhKCkpOworICAgIGV3a19jdXN0b21faGFuZGxlcl9yZWdp
c3Rlcl9wcm90b2NvbF9oYW5kbGVyKGRhdGEpOworICAgIGN1c3RvbUhhbmRsZXJEYXRhRGVsZXRl
KGRhdGEpOworfQorI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggNjVlYWViMy4uNGJkNjZjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgK
QEAgLTE3OSw2ICsxNzksMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBudW1XaGVlbEV2
ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgbnVtVG91
Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAKKyNpZiBFTkFCTEUoUkVHSVNU
RVJfUFJPVE9DT0xfSEFORExFUikKKyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJQcm90b2NvbEhh
bmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3Qg
U3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpOworI2VuZGlmCisKICAgICBFdmFzX09i
amVjdCogbV92aWV3OwogICAgIEtVUkwgbV9ob3ZlcmVkTGlua1VSTDsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfY3VzdG9tX2hhbmRsZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjVhYjY4YTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVyLmNwcApAQCAtMCwwICsxLDMzIEBACisvKgorICAg
IENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzCisKKyAgICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli
dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisKKyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKKworI2lu
Y2x1ZGUgImV3a192aWV3X3ByaXZhdGUuaCIKKworYm9vbCBld2tfY3VzdG9tX2hhbmRsZXJfcmVn
aXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSkKK3sK
KyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZGF0YS0+ZXdrVmlldywgZmFsc2Up
OworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwoZGF0YS0+ZXdrVmlldywgInBy
b3RvY29saGFuZGxlcixyZWdpc3RlciIsIGRhdGEpOworICAgIHJldHVybiB0cnVlOworfQorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5oIGIvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKaW5kZXggNTNlMzA1OC4uZmM5NjY5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmgKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a192aWV3LmgKQEAgLTcwLDYgKzcwLDcgQEAKICAqICAtICJtZW51YmFy
LHZpc2libGUsc2V0IiwgRWluYV9Cb29sOiBzZXRzIG1lbnViYXIgdmlzaWJpbGl0eS4KICAqICAt
ICJtaXhlZGNvbnRlbnQsZGlzcGxheWVkIiwgdm9pZDogYW55IG9mIHRoZSBjb250YWluaW5nIGZy
YW1lcyBoYXMgbG9hZGVkIGFuZCBkaXNwbGF5ZWQgbWl4ZWQgY29udGVudC4KICAqICAtICJtaXhl
ZGNvbnRlbnQscnVuIiwgdm9pZDogYW55IG9mIHRoZSBjb250YWluaW5nIGZyYW1lcyBoYXMgbG9h
ZGVkIGFuZCBydW4gbWl4ZWQgY29udGVudC4KKyAqICAtICJwcm90b2NvbGhhbmRsZXIscmVnaXN0
ZXIiLCBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YTogYWRkIGEgaGFuZGxlciB1cmwgZm9yIHRoZSBn
aXZlbiBwcm90b2NvbC4KICAqICAtICJvbmxvYWQsZXZlbnQiLCBFdmFzX09iamVjdCo6IGEgZnJh
bWUgb25sb2FkIGV2ZW50IGhhcyBiZWVuIHJlY2VpdmVkLgogICogIC0gInJlYWR5Iiwgdm9pZDog
cGFnZSBpcyBmdWxseSBsb2FkZWQuCiAgKiAgLSAicmVzb3VyY2UscmVxdWVzdCxuZXciLCBFd2tf
RnJhbWVfUmVzb3VyY2VfUmVxdWVzdCo6IHJlcG9ydHMgdGhhdApAQCAtMzA5LDYgKzMxMCwxNyBA
QCBzdHJ1Y3QgX0V3a19Db2xvciB7CiAgICAgdW5zaWduZWQgY2hhciBhOyAvKio8IEFscGhhIGNo
YW5uZWwuICovCiB9OwogCisvLy8gQ3JlYXRlcyBhIHR5cGUgbmFtZSBmb3IgQGEgX0V3a19DdXN0
b21fSGFuZGxlcl9EYXRhLgordHlwZWRlZiBzdHJ1Y3QgX0V3a19DdXN0b21fSGFuZGxlcl9EYXRh
IEV3a19DdXN0b21fSGFuZGxlcl9EYXRhOworLy8vIENvbnRhaW5zIHRoZSB0YXJnZXQgc2NoZW1l
IGFuZCB0aGUgdXJsIHdoaWNoIHRha2UgY2FyZSBvZiB0aGUgdGFyZ2V0Lgorc3RydWN0IF9Fd2tf
Q3VzdG9tX0hhbmRsZXJfRGF0YSB7CisgICAgRXZhc19PYmplY3QgKmV3a1ZpZXc7IC8qKjwgUmVm
ZXJlbmNlIHRvIHRoZSB2aWV3IG9iamVjdC4gKi8KKyAgICBjb25zdCBjaGFyICpzY2hlbWU7IC8q
KjwgUmVmZXJlbmNlIHRvIHRoZSBzY2hlbWUgdGhhdCB3aWxsIGJlIGhhbmRsZWQuICAoZWcuIG1h
aWx0bykgKi8KKyAgICBjb25zdCBjaGFyICpiYXNlX3VybDsgLyoqPCBSZWZlcmVuY2UgdG8gdGhl
IHJlc29sdmVkIHVybCBpZiB0aGUgdXJsIGlzIHJlbGF0aXZlIHVybC4gKGVnLiAiaHR0cHM6Ly93
d3cuY3VycmVudGhvc3QuY29tLyIpICovCisgICAgY29uc3QgY2hhciAqdXJsOyAvKio8IFJlZmVy
ZW5jZSB0byB0aGUgdXJsIHdoaWNoIHdpbGwgaGFuZGxlIHRoZSBnaXZlbiBwcm90b2NvbC4gKGVn
LiAiaHR0cHM6Ly93d3cuZXhhbXBsZS5jb20vP3VyaT0lcyIpICovCisgICAgY29uc3QgY2hhciAq
dGl0bGU7IC8qKjwgUmVmZXJlbmNlIHRvIHRoZSBkZXNjcmlwdGl2ZSB0aXRsZSBvZiB0aGUgaGFu
ZGxlci4gKGVnLiBFeGFtcGxlIEVtYWlsKSAqLworfTsKKwogLyoqCiAgKiBAYnJpZWYgQ29udGFp
bnMgYW4gaW50ZXJuYWwgVmlldyBkYXRhLgogICoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXdfcHJpdmF0ZS5oCmluZGV4IDBmNTVlZGUuLjJlMjljNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a192aWV3X3ByaXZhdGUuaApAQCAtMTQ5LDYgKzE0OSwxMCBAQCBib29sIGV3a192aWV3
X2FjY2VsZXJhdGVkX2NvbXBvc2l0aW5nX29iamVjdF9jcmVhdGUoRXZhc19PYmplY3QqIGV3a1Zp
ZXcsIEV2YXNfTgogV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0M0QqIGV3a192aWV3X2FjY2VsZXJh
dGVkX2NvbXBvc2l0aW5nX2NvbnRleHRfZ2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3KTsKICNlbmRp
ZgogCisjaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpCitib29sIGV3a19jdXN0
b21faGFuZGxlcl9yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyKEV3a19DdXN0b21fSGFuZGxlcl9E
YXRhKiBkYXRhKTsKKyNlbmRpZgorCiBuYW1lc3BhY2UgRVdLUHJpdmF0ZSB7CiBXZWJDb3JlOjpQ
YWdlICpjb3JlUGFnZShjb25zdCBFdmFzX09iamVjdCAqZXdrVmlldyk7CiBQbGF0Zm9ybVBhZ2VD
bGllbnQgY29yZVBhZ2VDbGllbnQoRXZhc19PYmplY3QqIGV3a1ZpZXcpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5j
bWFrZQppbmRleCAwOGQwNWNkZi4uYjBjODU2MSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09w
dGlvbnNFZmwuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKQEAgLTc1
LDYgKzc1LDcgQEAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVf
TkVUU0NBUEVfUExVR0lOX0FQSSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfTkVUV09SS19JTkZPIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUiBPTikKIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSBP
TikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9TSEFSRURfV09SS0VS
UyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9WSUJSQVRJT04g
T04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFr
ZWNvbmZpZy5oLmNtYWtlCmluZGV4IGMyNjEwZjIuLmNmNTliYjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBA
IC01Niw2ICs1Niw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfUEFHRV9QT1BVUAogI2NtYWtl
ZGVmaW5lMDEgRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkKICNjbWFrZWRlZmluZTAxIEVOQUJM
RV9QUk9HUkVTU19UQUcKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9I
QU5ETEVSCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUKICNj
bWFrZWRlZmluZTAxIEVOQUJMRV9TSEFSRURfV09SS0VSUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxF
X1NNT09USF9TQ1JPTExJTkcK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142958</attachid>
            <date>2012-05-21 00:35:14 -0700</date>
            <delta_ts>2012-05-21 18:43:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_EFL_registerProtocolHandler_0521.patch</filename>
            <type>text/plain</type>
            <size>14291</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlMjk5MWJlLi40MjE3YTdi
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMDUtMjAgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZTogQWRkcyB0aGUgYnVpbGQgb3B0aW9u
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOiBBZGRzIHRoZSBidWlsZCBv
cHRpb24uCisKIDIwMTItMDUtMjAgIEdlb3JnZSBTdGFpa29zICA8c3RhaWtvc0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBEZWZpbmUgbmF2aWdhdG9yLnZlbmRvciBmb3IgQmxh
Y2tCZXJyeS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA5YzdjNTBhLi5mZDkyMTk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTItMDUtMjAgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9lZmwvZmFzdC9kb20vcmVnaXN0ZXItcHJvdG9jb2wtaGFuZGxlci1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorCiAyMDEyLTA1LTIwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVzaW5nIGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudCB0byBpbnNl
cnQgYSA8c2NyaXB0PiBkb2VzIG5vdCBjYXVzZSB0aGUgc2NyaXB0IHRvIGV4ZWN1dGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9mYXN0L2RvbS9yZWdpc3Rlci1wcm90b2Nv
bC1oYW5kbGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9mYXN0L2Rv
bS9yZWdpc3Rlci1wcm90b2NvbC1oYW5kbGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5jMDY3MzU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL2Zhc3QvZG9tL3JlZ2lzdGVyLXByb3RvY29sLWhhbmRsZXItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgbmF2aWdh
dG9yLnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIHRocm93cyB0aGUgcHJvcGVyIGV4Y2VwdGlvbnMg
YW5kIGhhcyBuby1vcCBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgorCitQYXNzOiB3aW5kb3cubmF2
aWdhdG9yLnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIGlzIGRlZmluZWQuCitQYXNzOiBJbnZhbGlk
IHByb3RvY29sICJodHRwIiB0aHJldyBTRUNVUklUWV9FUlIgZXhjZXB0aW9uLgorUGFzczogSW52
YWxpZCBwcm90b2NvbCAiaHR0cHMiIHRocmV3IFNFQ1VSSVRZX0VSUiBleGNlcHRpb24uCitQYXNz
OiBJbnZhbGlkIHByb3RvY29sICJmaWxlIiB0aHJldyBTRUNVUklUWV9FUlIgZXhjZXB0aW9uLgor
UGFzczogVmFsaWQgcHJvdG9jb2wgImlyYyIgYWxsb3dlZC4KK1Bhc3M6IFZhbGlkIHByb3RvY29s
ICJtYWlsdG8iIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBwcm90b2NvbCAibW1zIiBhbGxvd2VkLgor
UGFzczogVmFsaWQgcHJvdG9jb2wgIm5ld3MiIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBwcm90b2Nv
bCAibm50cCIgYWxsb3dlZC4KK1Bhc3M6IFZhbGlkIHByb3RvY29sICJzbXMiIGFsbG93ZWQuCitQ
YXNzOiBWYWxpZCBwcm90b2NvbCAic21zdG8iIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBwcm90b2Nv
bCAidGVsIiBhbGxvd2VkLgorUGFzczogVmFsaWQgcHJvdG9jb2wgInVybiIgYWxsb3dlZC4KK1Bh
c3M6IFZhbGlkIHByb3RvY29sICJ3ZWJjYWwiIGFsbG93ZWQuCitQYXNzOiBJbnZhbGlkIHVybCAi
IiB0aHJldyBTWU5UQVhfRVJSIGV4Y2VwdGlvbi4KK1Bhc3M6IEludmFsaWQgdXJsICIlUyIgdGhy
ZXcgU1lOVEFYX0VSUiBleGNlcHRpb24uCitQYXNzOiBWYWxpZCBjYWxsIHN1Y2NlZWRlZC4KKwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkNzY4Y2MxLi4zZTFhNGRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMzgzLDYgKzM4Myw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIHBhZ2Uv
TG9jYXRpb24uaWRsCiAgICAgcGFnZS9NZW1vcnlJbmZvLmlkbAogICAgIHBhZ2UvTmF2aWdhdG9y
LmlkbAorICAgIHBhZ2UvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuaWRsCiAgICAg
cGFnZS9QZXJmb3JtYW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCiAgICAg
cGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2NmU1N2MxLi40OTIy
NThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUtMjAgIERvbmd3b28gSW0g
IDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnRzIHRoZSByZWdp
c3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9wdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
KCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcworICAgICAg
ICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGljdWxhciBzY2hlbWVzLgorCisgICAgICAg
IGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcuaHRtbCNkb20tbmF2aWdhdG9y
LXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRk
IHBhZ2UvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuaWRsIGludG8gV2ViQ29yZV9J
RExfRklMRVMuCisKIDIwMTItMDUtMjAgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtWOF0gUGFzcyBJc29sYXRlIHRvIFY4TlBPYmplY3Q6Om5wT2JqZWN0
R2V0UHJvcGVydHkoKSBhbmQgVjhOUE9iamVjdDo6bnBPYmplY3RTZXRQcm9wZXJ0eSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGJiYmJlZmUuLmE5ZmI1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTIt
MDUtMjAgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBJ
bXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9wdGlvbi4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVnaXN0ZXIg
dGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGljdWxhciBz
Y2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcu
aHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAgICAgKiBQ
bGF0Zm9ybUVmbC5jbWFrZTogQWRkcyB0aGUgbmV3IGZpbGUgaW50byB0aGUgc291cmNlIGxpc3Qu
CisKIDIwMTItMDUtMTggIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KIAogICAgICAgICBbRUZMXSBBZGQgc2ltcGxlIGltcGxlbWVudGF0aW9uIG9mIFdlYiBJ
bnRlbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtlIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCAyOTVmODcyLi4wMGNiYzg4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTE1Niw2ICsxNTYsMTIgQEAgSUYgKEVOQUJMRV9CQVRU
RVJZX1NUQVRVUykKICAgICBMSVNUKEFQUEVORCBXZWJLaXRfU09VUkNFUyBlZmwvV2ViQ29yZVN1
cHBvcnQvQmF0dGVyeUNsaWVudEVmbC5jcHApCiBFTkRJRiAoKQogCitJRiAoRU5BQkxFX1JFR0lT
VEVSX1BST1RPQ09MX0hBTkRMRVIpCisgICAgTElTVChBUFBFTkQgV2ViS2l0X1NPVVJDRVMKKyAg
ICAgICAgZWZsL2V3ay9ld2tfY3VzdG9tX2hhbmRsZXIuY3BwCisgICAgKQorRU5ESUYgKCkKKwog
U0VUKFdlYktpdF9USEVNRV9ERUZJTklUSU9OICIiKQogSUYgKEVOQUJMRV9QUk9HUkVTU19UQUcp
CiAgIExJU1QoQVBQRU5EIFdlYktpdF9USEVNRV9ERUZJTklUSU9OICItREVOQUJMRV9QUk9HUkVT
U19UQUciKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDdkYzVhOTEuLjU0NWYwMTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0wNS0yMCAgRG9uZ3dvbyBJbSAgPGR3LmltQHNh
bXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIEltcGxlbWVudHMgdGhlIHJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyIG1ldGhvZCBhbmQgb3B0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoKSBtZXRob2Qg
YWxsb3dzIFdlYiBzaXRlcyB0byByZWdpc3RlciB0aGVtc2VsdmVzCisgICAgICAgIGFzIHBvc3Np
YmxlIGhhbmRsZXJzIGZvciBwYXJ0aWN1bGFyIHNjaGVtZXMuCisKKyAgICAgICAgaHR0cDovL2Rl
di53My5vcmcvaHRtbDUvc3BlYy9PdmVydmlldy5odG1sI2RvbS1uYXZpZ2F0b3ItcmVnaXN0ZXJw
cm90b2NvbGhhbmRsZXIKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5jcHA6IEFkZHMgYSBuZXcgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OmN1c3RvbUhhbmRsZXJzRGF0YUNyZWF0ZSk6IENyZWF0ZXMgYW5kIGZpbGxzIHRo
ZSBkYXRhIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OmN1c3RvbUhhbmRsZXJzRGF0YURlbGV0
ZSk6IERlbGV0ZXMgdGhlIGRhdGEgb2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xp
ZW50RWZsOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcik6IFJlZ2lzdGVycyBhIHByb3RvY29sIGFu
ZCB0aGUgaGFuZGxlciBvZiBpdC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuaDogQWRkcyBhIHByb3RvdHlwZS4KKyAgICAgICAgKENocm9tZUNsaWVudEVmbCk6Cisg
ICAgICAgICogZXdrL2V3a19jdXN0b21faGFuZGxlcnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKGV3
a19jdXN0b21faGFuZGxlcnNfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcik6CisgICAgICAgICog
ZXdrL2V3a192aWV3Lmg6IEFkZHMgRGF0YSBzdHJ1Y3R1cmUuCisgICAgICAgICogZXdrL2V3a192
aWV3X3ByaXZhdGUuaDogQWRkcyBwcml2YXRlIGZ1bmN0aW9uLgorCiAyMDEyLTA1LTIwICBNaWto
YWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgogCiAgICAgICAg
IFtFRkxdIGV3a192aWV3IG5hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uKCkgaW5wdXQgcGFyYW1l
dGVycyBzaG91bGQgYmUgZXh0ZW5kZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCmluZGV4IGQwMzRlN2YuLjhhYWRhY2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
RWZsLmNwcApAQCAtNjMyLDQgKzYzMiwzNCBAQCB2b2lkIENocm9tZUNsaWVudEVmbDo6ZXhpdEZ1
bGxTY3JlZW5Gb3JFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpCiAgICAgZWxlbWVu
dC0+ZG9jdW1lbnQoKS0+d2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQp
OwogfQogI2VuZGlmCisKKyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKK3N0
YXRpYyBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogY3VzdG9tSGFuZGxlckRhdGFDcmVhdGUoRXZh
c19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IGNoYXIqIHNjaGVtZSwgY29uc3QgY2hhciogYmFzZVVS
TCwgY29uc3QgY2hhciogdXJsLCBjb25zdCBjaGFyKiB0aXRsZSkKK3sKKyAgICBFd2tfQ3VzdG9t
X0hhbmRsZXJfRGF0YSogZGF0YSA9IG5ldyBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YTsKKyAgICBk
YXRhLT5ld2tWaWV3ID0gZXdrVmlldzsKKyAgICBkYXRhLT5zY2hlbWUgPSBlaW5hX3N0cmluZ3No
YXJlX2FkZChzY2hlbWUpOworICAgIGRhdGEtPmJhc2VfdXJsID0gZWluYV9zdHJpbmdzaGFyZV9h
ZGQoYmFzZVVSTCk7CisgICAgZGF0YS0+dXJsID0gZWluYV9zdHJpbmdzaGFyZV9hZGQodXJsKTsK
KyAgICBkYXRhLT50aXRsZSA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKHRpdGxlKTsKKyAgICByZXR1
cm4gZGF0YTsKK30KKworc3RhdGljIHZvaWQgY3VzdG9tSGFuZGxlckRhdGFEZWxldGUoRXdrX0N1
c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEpCit7CisgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0
YS0+c2NoZW1lKTsKKyAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT5iYXNlX3VybCk7Cisg
ICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+dXJsKTsKKyAgICBlaW5hX3N0cmluZ3NoYXJl
X2RlbChkYXRhLT50aXRsZSk7CisgICAgZGVsZXRlIGRhdGE7Cit9CisKK3ZvaWQgQ2hyb21lQ2xp
ZW50RWZsOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29u
c3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRs
ZSkKK3sKKyAgICBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSA9IGN1c3RvbUhhbmRsZXJE
YXRhQ3JlYXRlKG1fdmlldywgc2NoZW1lLnV0ZjgoKS5kYXRhKCksIGJhc2VVUkwudXRmOCgpLmRh
dGEoKSwgdXJsLnV0ZjgoKS5kYXRhKCksIHRpdGxlLnV0ZjgoKS5kYXRhKCkpOworICAgIGV3a19j
dXN0b21faGFuZGxlcl9yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyKGRhdGEpOworICAgIGN1c3Rv
bUhhbmRsZXJEYXRhRGVsZXRlKGRhdGEpOworfQorI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggNjVlYWVi
My4uNGJkNjZjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmgKQEAgLTE3OSw2ICsxNzksMTAgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAK
KyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKKyAgICB2aXJ0dWFsIHZvaWQg
cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmlu
ZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpOworI2Vu
ZGlmCisKICAgICBFdmFzX09iamVjdCogbV92aWV3OwogICAgIEtVUkwgbV9ob3ZlcmVkTGlua1VS
TDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5k
bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY3VzdG9tX2hhbmRsZXIuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3NzI1ZWIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVyLmNwcApAQCAtMCww
ICsxLDMzIEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNz
CisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9D
T0xfSEFORExFUikKKworI2luY2x1ZGUgImV3a192aWV3X3ByaXZhdGUuaCIKKworYm9vbCBld2tf
Y3VzdG9tX2hhbmRsZXJfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihFd2tfQ3VzdG9tX0hhbmRs
ZXJfRGF0YSogZGF0YSkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZGF0
YS0+ZXdrVmlldywgZmFsc2UpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwo
ZGF0YS0+ZXdrVmlldywgInByb3RvY29saGFuZGxlcixyZWdpc3RyYXRpb24scmVxdWVzdGVkIiwg
ZGF0YSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuaAppbmRleCAxZTAwYmVhLi5jN2JiYjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaApA
QCAtNzAsNiArNzAsNyBAQAogICogIC0gIm1lbnViYXIsdmlzaWJsZSxzZXQiLCBFaW5hX0Jvb2w6
IHNldHMgbWVudWJhciB2aXNpYmlsaXR5LgogICogIC0gIm1peGVkY29udGVudCxkaXNwbGF5ZWQi
LCB2b2lkOiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIGRpc3Bs
YXllZCBtaXhlZCBjb250ZW50LgogICogIC0gIm1peGVkY29udGVudCxydW4iLCB2b2lkOiBhbnkg
b2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIHJ1biBtaXhlZCBjb250ZW50
LgorICogIC0gInByb3RvY29saGFuZGxlcixyZWdpc3RyYXRpb24scmVxdWVzdGVkIiwgRXdrX0N1
c3RvbV9IYW5kbGVyX0RhdGE6IGFkZCBhIGhhbmRsZXIgdXJsIGZvciB0aGUgZ2l2ZW4gcHJvdG9j
b2wuCiAgKiAgLSAib25sb2FkLGV2ZW50IiwgRXZhc19PYmplY3QqOiBhIGZyYW1lIG9ubG9hZCBl
dmVudCBoYXMgYmVlbiByZWNlaXZlZC4KICAqICAtICJyZWFkeSIsIHZvaWQ6IHBhZ2UgaXMgZnVs
bHkgbG9hZGVkLgogICogIC0gInJlc291cmNlLHJlcXVlc3QsbmV3IiwgRXdrX0ZyYW1lX1Jlc291
cmNlX1JlcXVlc3QqOiByZXBvcnRzIHRoYXQKQEAgLTMwOSw2ICszMTAsMTcgQEAgc3RydWN0IF9F
d2tfQ29sb3IgewogICAgIHVuc2lnbmVkIGNoYXIgYTsgLyoqPCBBbHBoYSBjaGFubmVsLiAqLwog
fTsKIAorLy8vIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEBhIF9Fd2tfQ3VzdG9tX0hhbmRsZXJf
RGF0YS4KK3R5cGVkZWYgc3RydWN0IF9Fd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSBFd2tfQ3VzdG9t
X0hhbmRsZXJfRGF0YTsKKy8vLyBDb250YWlucyB0aGUgdGFyZ2V0IHNjaGVtZSBhbmQgdGhlIHVy
bCB3aGljaCB0YWtlIGNhcmUgb2YgdGhlIHRhcmdldC4KK3N0cnVjdCBfRXdrX0N1c3RvbV9IYW5k
bGVyX0RhdGEgeworICAgIEV2YXNfT2JqZWN0ICpld2tWaWV3OyAvKio8IFJlZmVyZW5jZSB0byB0
aGUgdmlldyBvYmplY3QuICovCisgICAgY29uc3QgY2hhciAqc2NoZW1lOyAvKio8IFJlZmVyZW5j
ZSB0byB0aGUgc2NoZW1lIHRoYXQgd2lsbCBiZSBoYW5kbGVkLiAoZWcuICJtYWlsdG8iKSAqLwor
ICAgIGNvbnN0IGNoYXIgKmJhc2VfdXJsOyAvKio8IFJlZmVyZW5jZSB0byB0aGUgcmVzb2x2ZWQg
dXJsIGlmIHRoZSB1cmwgaXMgcmVsYXRpdmUgdXJsLCB3aGljaCBjb3VsZCBiZSBhbiBlbXB0eSBz
dHJpbmcuIChlZy4gImh0dHBzOi8vd3d3LmN1cnJlbnRob3N0LmNvbS8iKSAqLworICAgIGNvbnN0
IGNoYXIgKnVybDsgLyoqPCBSZWZlcmVuY2UgdG8gdGhlIHVybCB3aGljaCB3aWxsIGhhbmRsZSB0
aGUgZ2l2ZW4gcHJvdG9jb2wuIChlZy4gImh0dHBzOi8vd3d3LmV4YW1wbGUuY29tLz91cmk9JXMi
KSAqLworICAgIGNvbnN0IGNoYXIgKnRpdGxlOyAvKio8IFJlZmVyZW5jZSB0byB0aGUgZGVzY3Jp
cHRpdmUgdGl0bGUgb2YgdGhlIGhhbmRsZXIuIChlZy4gIkV4YW1wbGUgRW1haWwiKSAqLworfTsK
KwogLyoqCiAgKiBAYnJpZWYgQ29udGFpbnMgYW4gaW50ZXJuYWwgVmlldyBkYXRhLgogICoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmggYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfcHJpdmF0ZS5oCmluZGV4IDc1YzdhMTguLjNjY2Ni
NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3ByaXZhdGUuaApAQCAtMTQ5LDYg
KzE0OSwxMCBAQCBib29sIGV3a192aWV3X2FjY2VsZXJhdGVkX2NvbXBvc2l0aW5nX29iamVjdF9j
cmVhdGUoRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV2YXNfTgogV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0M0QqIGV3a192aWV3X2FjY2VsZXJhdGVkX2NvbXBvc2l0aW5nX2NvbnRleHRfZ2V0KEV2YXNf
T2JqZWN0KiBld2tWaWV3KTsKICNlbmRpZgogCisjaWYgRU5BQkxFKFJFR0lTVEVSX1BST1RPQ09M
X0hBTkRMRVIpCitib29sIGV3a19jdXN0b21faGFuZGxlcl9yZWdpc3Rlcl9wcm90b2NvbF9oYW5k
bGVyKEV3a19DdXN0b21fSGFuZGxlcl9EYXRhKiBkYXRhKTsKKyNlbmRpZgorCiBuYW1lc3BhY2Ug
RVdLUHJpdmF0ZSB7CiBXZWJDb3JlOjpQYWdlICpjb3JlUGFnZShjb25zdCBFdmFzX09iamVjdCAq
ZXdrVmlldyk7CiBQbGF0Zm9ybVBhZ2VDbGllbnQgY29yZVBhZ2VDbGllbnQoRXZhc19PYmplY3Qq
IGV3a1ZpZXcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9T
b3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCBkODQ4Yzk4Li5hODhjYmU5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2Uv
T3B0aW9uc0VmbC5jbWFrZQpAQCAtNzUsNiArNzUsNyBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUiBPTikKIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIE9GRikKIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9ORVRXT1JLX0lORk8gT04pCiBXRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSBPTikK
K1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NP
TF9IQU5ETEVSIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1JF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX1NIQVJFRF9XT1JLRVJTIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX1ZJQlJBVElPTiBPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZWNvbmZp
Zy5oLmNtYWtlIGIvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKaW5kZXggYzI2MTBmMi4uY2Y1
OWJiMCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UKKysrIGIvU291cmNl
L2NtYWtlY29uZmlnLmguY21ha2UKQEAgLTU2LDYgKzU2LDcgQEAKICNjbWFrZWRlZmluZTAxIEVO
QUJMRV9QQUdFX1BPUFVQCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQ
SQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1BST0dSRVNTX1RBRworI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9SRVFV
RVNUX0FOSU1BVElPTl9GUkFNRQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1NIQVJFRF9XT1JLRVJT
CiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfU01PT1RIX1NDUk9MTElORwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143166</attachid>
            <date>2012-05-21 18:43:16 -0700</date>
            <delta_ts>2012-05-21 21:03:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_EFL_registerProtocolHandler_0522.patch</filename>
            <type>text/plain</type>
            <size>14259</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlMjk5MWJlLi40MjE3YTdi
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMDUtMjAgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZTogQWRkcyB0aGUgYnVpbGQgb3B0aW9u
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOiBBZGRzIHRoZSBidWlsZCBv
cHRpb24uCisKIDIwMTItMDUtMjAgIEdlb3JnZSBTdGFpa29zICA8c3RhaWtvc0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBEZWZpbmUgbmF2aWdhdG9yLnZlbmRvciBmb3IgQmxh
Y2tCZXJyeS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA5YzdjNTBhLi5mZDkyMTk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTItMDUtMjAgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9lZmwvZmFzdC9kb20vcmVnaXN0ZXItcHJvdG9jb2wtaGFuZGxlci1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorCiAyMDEyLTA1LTIwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVzaW5nIGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudCB0byBpbnNl
cnQgYSA8c2NyaXB0PiBkb2VzIG5vdCBjYXVzZSB0aGUgc2NyaXB0IHRvIGV4ZWN1dGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9mYXN0L2RvbS9yZWdpc3Rlci1wcm90b2Nv
bC1oYW5kbGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9mYXN0L2Rv
bS9yZWdpc3Rlci1wcm90b2NvbC1oYW5kbGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5jMDY3MzU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL2Zhc3QvZG9tL3JlZ2lzdGVyLXByb3RvY29sLWhhbmRsZXItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgbmF2aWdh
dG9yLnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIHRocm93cyB0aGUgcHJvcGVyIGV4Y2VwdGlvbnMg
YW5kIGhhcyBuby1vcCBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgorCitQYXNzOiB3aW5kb3cubmF2
aWdhdG9yLnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIGlzIGRlZmluZWQuCitQYXNzOiBJbnZhbGlk
IHByb3RvY29sICJodHRwIiB0aHJldyBTRUNVUklUWV9FUlIgZXhjZXB0aW9uLgorUGFzczogSW52
YWxpZCBwcm90b2NvbCAiaHR0cHMiIHRocmV3IFNFQ1VSSVRZX0VSUiBleGNlcHRpb24uCitQYXNz
OiBJbnZhbGlkIHByb3RvY29sICJmaWxlIiB0aHJldyBTRUNVUklUWV9FUlIgZXhjZXB0aW9uLgor
UGFzczogVmFsaWQgcHJvdG9jb2wgImlyYyIgYWxsb3dlZC4KK1Bhc3M6IFZhbGlkIHByb3RvY29s
ICJtYWlsdG8iIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBwcm90b2NvbCAibW1zIiBhbGxvd2VkLgor
UGFzczogVmFsaWQgcHJvdG9jb2wgIm5ld3MiIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBwcm90b2Nv
bCAibm50cCIgYWxsb3dlZC4KK1Bhc3M6IFZhbGlkIHByb3RvY29sICJzbXMiIGFsbG93ZWQuCitQ
YXNzOiBWYWxpZCBwcm90b2NvbCAic21zdG8iIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBwcm90b2Nv
bCAidGVsIiBhbGxvd2VkLgorUGFzczogVmFsaWQgcHJvdG9jb2wgInVybiIgYWxsb3dlZC4KK1Bh
c3M6IFZhbGlkIHByb3RvY29sICJ3ZWJjYWwiIGFsbG93ZWQuCitQYXNzOiBJbnZhbGlkIHVybCAi
IiB0aHJldyBTWU5UQVhfRVJSIGV4Y2VwdGlvbi4KK1Bhc3M6IEludmFsaWQgdXJsICIlUyIgdGhy
ZXcgU1lOVEFYX0VSUiBleGNlcHRpb24uCitQYXNzOiBWYWxpZCBjYWxsIHN1Y2NlZWRlZC4KKwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkNzY4Y2MxLi4zZTFhNGRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMzgzLDYgKzM4Myw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIHBhZ2Uv
TG9jYXRpb24uaWRsCiAgICAgcGFnZS9NZW1vcnlJbmZvLmlkbAogICAgIHBhZ2UvTmF2aWdhdG9y
LmlkbAorICAgIHBhZ2UvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuaWRsCiAgICAg
cGFnZS9QZXJmb3JtYW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCiAgICAg
cGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2NmU1N2MxLi40OTIy
NThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUtMjAgIERvbmd3b28gSW0g
IDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnRzIHRoZSByZWdp
c3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9wdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
KCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcworICAgICAg
ICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGljdWxhciBzY2hlbWVzLgorCisgICAgICAg
IGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcuaHRtbCNkb20tbmF2aWdhdG9y
LXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRk
IHBhZ2UvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuaWRsIGludG8gV2ViQ29yZV9J
RExfRklMRVMuCisKIDIwMTItMDUtMjAgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtWOF0gUGFzcyBJc29sYXRlIHRvIFY4TlBPYmplY3Q6Om5wT2JqZWN0
R2V0UHJvcGVydHkoKSBhbmQgVjhOUE9iamVjdDo6bnBPYmplY3RTZXRQcm9wZXJ0eSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGJiYmJlZmUuLmE5ZmI1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTIt
MDUtMjAgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBJ
bXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9wdGlvbi4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVnaXN0ZXIg
dGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGljdWxhciBz
Y2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcu
aHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAgICAgKiBQ
bGF0Zm9ybUVmbC5jbWFrZTogQWRkcyB0aGUgbmV3IGZpbGUgaW50byB0aGUgc291cmNlIGxpc3Qu
CisKIDIwMTItMDUtMTggIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KIAogICAgICAgICBbRUZMXSBBZGQgc2ltcGxlIGltcGxlbWVudGF0aW9uIG9mIFdlYiBJ
bnRlbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtlIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCAyOTVmODcyLi4wMGNiYzg4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTE1Niw2ICsxNTYsMTIgQEAgSUYgKEVOQUJMRV9CQVRU
RVJZX1NUQVRVUykKICAgICBMSVNUKEFQUEVORCBXZWJLaXRfU09VUkNFUyBlZmwvV2ViQ29yZVN1
cHBvcnQvQmF0dGVyeUNsaWVudEVmbC5jcHApCiBFTkRJRiAoKQogCitJRiAoRU5BQkxFX1JFR0lT
VEVSX1BST1RPQ09MX0hBTkRMRVIpCisgICAgTElTVChBUFBFTkQgV2ViS2l0X1NPVVJDRVMKKyAg
ICAgICAgZWZsL2V3ay9ld2tfY3VzdG9tX2hhbmRsZXIuY3BwCisgICAgKQorRU5ESUYgKCkKKwog
U0VUKFdlYktpdF9USEVNRV9ERUZJTklUSU9OICIiKQogSUYgKEVOQUJMRV9QUk9HUkVTU19UQUcp
CiAgIExJU1QoQVBQRU5EIFdlYktpdF9USEVNRV9ERUZJTklUSU9OICItREVOQUJMRV9QUk9HUkVT
U19UQUciKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDdkYzVhOTEuLjU0NWYwMTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0wNS0yMCAgRG9uZ3dvbyBJbSAgPGR3LmltQHNh
bXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIEltcGxlbWVudHMgdGhlIHJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyIG1ldGhvZCBhbmQgb3B0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoKSBtZXRob2Qg
YWxsb3dzIFdlYiBzaXRlcyB0byByZWdpc3RlciB0aGVtc2VsdmVzCisgICAgICAgIGFzIHBvc3Np
YmxlIGhhbmRsZXJzIGZvciBwYXJ0aWN1bGFyIHNjaGVtZXMuCisKKyAgICAgICAgaHR0cDovL2Rl
di53My5vcmcvaHRtbDUvc3BlYy9PdmVydmlldy5odG1sI2RvbS1uYXZpZ2F0b3ItcmVnaXN0ZXJw
cm90b2NvbGhhbmRsZXIKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5jcHA6IEFkZHMgYSBuZXcgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OmN1c3RvbUhhbmRsZXJzRGF0YUNyZWF0ZSk6IENyZWF0ZXMgYW5kIGZpbGxzIHRo
ZSBkYXRhIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OmN1c3RvbUhhbmRsZXJzRGF0YURlbGV0
ZSk6IERlbGV0ZXMgdGhlIGRhdGEgb2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xp
ZW50RWZsOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcik6IFJlZ2lzdGVycyBhIHByb3RvY29sIGFu
ZCB0aGUgaGFuZGxlciBvZiBpdC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuaDogQWRkcyBhIHByb3RvdHlwZS4KKyAgICAgICAgKENocm9tZUNsaWVudEVmbCk6Cisg
ICAgICAgICogZXdrL2V3a19jdXN0b21faGFuZGxlcnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKGV3
a19jdXN0b21faGFuZGxlcnNfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcik6CisgICAgICAgICog
ZXdrL2V3a192aWV3Lmg6IEFkZHMgRGF0YSBzdHJ1Y3R1cmUuCisgICAgICAgICogZXdrL2V3a192
aWV3X3ByaXZhdGUuaDogQWRkcyBwcml2YXRlIGZ1bmN0aW9uLgorCiAyMDEyLTA1LTIwICBNaWto
YWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgogCiAgICAgICAg
IFtFRkxdIGV3a192aWV3IG5hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uKCkgaW5wdXQgcGFyYW1l
dGVycyBzaG91bGQgYmUgZXh0ZW5kZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCmluZGV4IGQwMzRlN2YuLjhhYWRhY2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
RWZsLmNwcApAQCAtNjMyLDQgKzYzMiwzNCBAQCB2b2lkIENocm9tZUNsaWVudEVmbDo6ZXhpdEZ1
bGxTY3JlZW5Gb3JFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpCiAgICAgZWxlbWVu
dC0+ZG9jdW1lbnQoKS0+d2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQp
OwogfQogI2VuZGlmCisKKyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKK3N0
YXRpYyBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogY3VzdG9tSGFuZGxlckRhdGFDcmVhdGUoRXZh
c19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IGNoYXIqIHNjaGVtZSwgY29uc3QgY2hhciogYmFzZVVS
TCwgY29uc3QgY2hhciogdXJsLCBjb25zdCBjaGFyKiB0aXRsZSkKK3sKKyAgICBFd2tfQ3VzdG9t
X0hhbmRsZXJfRGF0YSogZGF0YSA9IG5ldyBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YTsKKyAgICBk
YXRhLT5ld2tWaWV3ID0gZXdrVmlldzsKKyAgICBkYXRhLT5zY2hlbWUgPSBlaW5hX3N0cmluZ3No
YXJlX2FkZChzY2hlbWUpOworICAgIGRhdGEtPmJhc2VfdXJsID0gZWluYV9zdHJpbmdzaGFyZV9h
ZGQoYmFzZVVSTCk7CisgICAgZGF0YS0+dXJsID0gZWluYV9zdHJpbmdzaGFyZV9hZGQodXJsKTsK
KyAgICBkYXRhLT50aXRsZSA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKHRpdGxlKTsKKyAgICByZXR1
cm4gZGF0YTsKK30KKworc3RhdGljIHZvaWQgY3VzdG9tSGFuZGxlckRhdGFEZWxldGUoRXdrX0N1
c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEpCit7CisgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0
YS0+c2NoZW1lKTsKKyAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT5iYXNlX3VybCk7Cisg
ICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+dXJsKTsKKyAgICBlaW5hX3N0cmluZ3NoYXJl
X2RlbChkYXRhLT50aXRsZSk7CisgICAgZGVsZXRlIGRhdGE7Cit9CisKK3ZvaWQgQ2hyb21lQ2xp
ZW50RWZsOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29u
c3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRs
ZSkKK3sKKyAgICBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSA9IGN1c3RvbUhhbmRsZXJE
YXRhQ3JlYXRlKG1fdmlldywgc2NoZW1lLnV0ZjgoKS5kYXRhKCksIGJhc2VVUkwudXRmOCgpLmRh
dGEoKSwgdXJsLnV0ZjgoKS5kYXRhKCksIHRpdGxlLnV0ZjgoKS5kYXRhKCkpOworICAgIGV3a19j
dXN0b21faGFuZGxlcl9yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyKGRhdGEpOworICAgIGN1c3Rv
bUhhbmRsZXJEYXRhRGVsZXRlKGRhdGEpOworfQorI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggNjVlYWVi
My4uNGJkNjZjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmgKQEAgLTE3OSw2ICsxNzksMTAgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAK
KyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKKyAgICB2aXJ0dWFsIHZvaWQg
cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmlu
ZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpOworI2Vu
ZGlmCisKICAgICBFdmFzX09iamVjdCogbV92aWV3OwogICAgIEtVUkwgbV9ob3ZlcmVkTGlua1VS
TDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5k
bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY3VzdG9tX2hhbmRsZXIuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3NzI1ZWIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVyLmNwcApAQCAtMCww
ICsxLDMzIEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNz
CisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9D
T0xfSEFORExFUikKKworI2luY2x1ZGUgImV3a192aWV3X3ByaXZhdGUuaCIKKworYm9vbCBld2tf
Y3VzdG9tX2hhbmRsZXJfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihFd2tfQ3VzdG9tX0hhbmRs
ZXJfRGF0YSogZGF0YSkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZGF0
YS0+ZXdrVmlldywgZmFsc2UpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwo
ZGF0YS0+ZXdrVmlldywgInByb3RvY29saGFuZGxlcixyZWdpc3RyYXRpb24scmVxdWVzdGVkIiwg
ZGF0YSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuaAppbmRleCAxZTAwYmVhLi5lZmQzYmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaApA
QCAtNzAsNiArNzAsNyBAQAogICogIC0gIm1lbnViYXIsdmlzaWJsZSxzZXQiLCBFaW5hX0Jvb2w6
IHNldHMgbWVudWJhciB2aXNpYmlsaXR5LgogICogIC0gIm1peGVkY29udGVudCxkaXNwbGF5ZWQi
LCB2b2lkOiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIGRpc3Bs
YXllZCBtaXhlZCBjb250ZW50LgogICogIC0gIm1peGVkY29udGVudCxydW4iLCB2b2lkOiBhbnkg
b2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIHJ1biBtaXhlZCBjb250ZW50
LgorICogIC0gInByb3RvY29saGFuZGxlcixyZWdpc3RyYXRpb24scmVxdWVzdGVkIiwgRXdrX0N1
c3RvbV9IYW5kbGVyX0RhdGE6IGFkZCBhIGhhbmRsZXIgdXJsIGZvciB0aGUgZ2l2ZW4gcHJvdG9j
b2wuCiAgKiAgLSAib25sb2FkLGV2ZW50IiwgRXZhc19PYmplY3QqOiBhIGZyYW1lIG9ubG9hZCBl
dmVudCBoYXMgYmVlbiByZWNlaXZlZC4KICAqICAtICJyZWFkeSIsIHZvaWQ6IHBhZ2UgaXMgZnVs
bHkgbG9hZGVkLgogICogIC0gInJlc291cmNlLHJlcXVlc3QsbmV3IiwgRXdrX0ZyYW1lX1Jlc291
cmNlX1JlcXVlc3QqOiByZXBvcnRzIHRoYXQKQEAgLTMwOSw2ICszMTAsMTcgQEAgc3RydWN0IF9F
d2tfQ29sb3IgewogICAgIHVuc2lnbmVkIGNoYXIgYTsgLyoqPCBBbHBoYSBjaGFubmVsLiAqLwog
fTsKIAorLy8vIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEBhIF9Fd2tfQ3VzdG9tX0hhbmRsZXJf
RGF0YS4KK3R5cGVkZWYgc3RydWN0IF9Fd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSBFd2tfQ3VzdG9t
X0hhbmRsZXJfRGF0YTsKKy8vLyBDb250YWlucyB0aGUgdGFyZ2V0IHNjaGVtZSBhbmQgdGhlIHVy
bCB3aGljaCB0YWtlIGNhcmUgb2YgdGhlIHRhcmdldC4KK3N0cnVjdCBfRXdrX0N1c3RvbV9IYW5k
bGVyX0RhdGEgeworICAgIEV2YXNfT2JqZWN0ICpld2tWaWV3OyAvKio8IFJlZmVyZW5jZSB0byB0
aGUgdmlldyBvYmplY3QuICovCisgICAgY29uc3QgY2hhciAqc2NoZW1lOyAvKio8IFJlZmVyZW5j
ZSB0byB0aGUgc2NoZW1lIHRoYXQgd2lsbCBiZSBoYW5kbGVkLiAoZWcuICJtYWlsdG8iKSAqLwor
ICAgIGNvbnN0IGNoYXIgKmJhc2VfdXJsOyAvKio8IFJlZmVyZW5jZSB0byB0aGUgcmVzb2x2ZWQg
dXJsIGlmIHRoZSB1cmwgaXMgcmVsYXRpdmUgdXJsLiAoZWcuICJodHRwczovL3d3dy5jdXJyZW50
aG9zdC5jb20vIikgKi8KKyAgICBjb25zdCBjaGFyICp1cmw7IC8qKjwgUmVmZXJlbmNlIHRvIHRo
ZSB1cmwgd2hpY2ggd2lsbCBoYW5kbGUgdGhlIGdpdmVuIHByb3RvY29sLiAoZWcuICJodHRwczov
L3d3dy5leGFtcGxlLmNvbS8/dXJpPSVzIikgKi8KKyAgICBjb25zdCBjaGFyICp0aXRsZTsgLyoq
PCBSZWZlcmVuY2UgdG8gdGhlIGRlc2NyaXB0aXZlIHRpdGxlIG9mIHRoZSBoYW5kbGVyLiAoZWcu
ICJFeGFtcGxlIEVtYWlsIikgKi8KK307CisKIC8qKgogICogQGJyaWVmIENvbnRhaW5zIGFuIGlu
dGVybmFsIFZpZXcgZGF0YS4KICAqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX3ZpZXdfcHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3ByaXZh
dGUuaAppbmRleCA3NWM3YTE4Li4zY2NjYjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXdfcHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
dmlld19wcml2YXRlLmgKQEAgLTE0OSw2ICsxNDksMTAgQEAgYm9vbCBld2tfdmlld19hY2NlbGVy
YXRlZF9jb21wb3NpdGluZ19vYmplY3RfY3JlYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFz
X04KIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEKiBld2tfdmlld19hY2NlbGVyYXRlZF9jb21w
b3NpdGluZ19jb250ZXh0X2dldChFdmFzX09iamVjdCogZXdrVmlldyk7CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShSRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKQorYm9vbCBld2tfY3VzdG9tX2hhbmRs
ZXJfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0
YSk7CisjZW5kaWYKKwogbmFtZXNwYWNlIEVXS1ByaXZhdGUgewogV2ViQ29yZTo6UGFnZSAqY29y
ZVBhZ2UoY29uc3QgRXZhc19PYmplY3QgKmV3a1ZpZXcpOwogUGxhdGZvcm1QYWdlQ2xpZW50IGNv
cmVQYWdlQ2xpZW50KEV2YXNfT2JqZWN0KiBld2tWaWV3KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9j
bWFrZS9PcHRpb25zRWZsLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKaW5k
ZXggZDg0OGM5OC4uYTg4Y2JlOSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwu
Y21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKQEAgLTc1LDYgKzc1LDcg
QEAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTkVUU0NBUEVf
UExVR0lOX0FQSSBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVf
TkVUV09SS19JTkZPIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X1BBR0VfVklTSUJJTElUWV9BUEkgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUiBPTikKIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSBPTikKIFdFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9TSEFSRURfV09SS0VSUyBPTikKIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9WSUJSQVRJT04gT04pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvY21ha2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFrZWNvbmZpZy5o
LmNtYWtlCmluZGV4IGMyNjEwZjIuLmNmNTliYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZWNv
bmZpZy5oLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBAIC01Niw2ICs1
Niw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfUEFHRV9QT1BVUAogI2NtYWtlZGVmaW5lMDEg
RU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9QUk9HUkVT
U19UQUcKKyNjbWFrZWRlZmluZTAxIEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSCiAj
Y21ha2VkZWZpbmUwMSBFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUKICNjbWFrZWRlZmlu
ZTAxIEVOQUJMRV9TSEFSRURfV09SS0VSUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1NNT09USF9T
Q1JPTExJTkcK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143187</attachid>
            <date>2012-05-21 21:03:23 -0700</date>
            <delta_ts>2012-05-22 22:23:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_EFL_registerProtocolHandler_0522_1.patch</filename>
            <type>text/plain</type>
            <size>14241</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBlMjk5MWJlLi40MjE3YTdi
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAK
KzIwMTItMDUtMjAgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZTogQWRkcyB0aGUgYnVpbGQgb3B0aW9u
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlOiBBZGRzIHRoZSBidWlsZCBv
cHRpb24uCisKIDIwMTItMDUtMjAgIEdlb3JnZSBTdGFpa29zICA8c3RhaWtvc0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBEZWZpbmUgbmF2aWdhdG9yLnZlbmRvciBmb3IgQmxh
Y2tCZXJyeS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA5YzdjNTBhLi5mZDkyMTk3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTItMDUtMjAgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBb
RUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9w
dGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
NjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVn
aXN0ZXIgdGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGlj
dWxhciBzY2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3Zl
cnZpZXcuaHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9lZmwvZmFzdC9kb20vcmVnaXN0ZXItcHJvdG9jb2wtaGFuZGxlci1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorCiAyMDEyLTA1LTIwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVzaW5nIGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudCB0byBpbnNl
cnQgYSA8c2NyaXB0PiBkb2VzIG5vdCBjYXVzZSB0aGUgc2NyaXB0IHRvIGV4ZWN1dGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9mYXN0L2RvbS9yZWdpc3Rlci1wcm90b2Nv
bC1oYW5kbGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9mYXN0L2Rv
bS9yZWdpc3Rlci1wcm90b2NvbC1oYW5kbGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5jMDY3MzU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZWZsL2Zhc3QvZG9tL3JlZ2lzdGVyLXByb3RvY29sLWhhbmRsZXItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjAgQEAKK1RoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgbmF2aWdh
dG9yLnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIHRocm93cyB0aGUgcHJvcGVyIGV4Y2VwdGlvbnMg
YW5kIGhhcyBuby1vcCBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgorCitQYXNzOiB3aW5kb3cubmF2
aWdhdG9yLnJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyIGlzIGRlZmluZWQuCitQYXNzOiBJbnZhbGlk
IHByb3RvY29sICJodHRwIiB0aHJldyBTRUNVUklUWV9FUlIgZXhjZXB0aW9uLgorUGFzczogSW52
YWxpZCBwcm90b2NvbCAiaHR0cHMiIHRocmV3IFNFQ1VSSVRZX0VSUiBleGNlcHRpb24uCitQYXNz
OiBJbnZhbGlkIHByb3RvY29sICJmaWxlIiB0aHJldyBTRUNVUklUWV9FUlIgZXhjZXB0aW9uLgor
UGFzczogVmFsaWQgcHJvdG9jb2wgImlyYyIgYWxsb3dlZC4KK1Bhc3M6IFZhbGlkIHByb3RvY29s
ICJtYWlsdG8iIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBwcm90b2NvbCAibW1zIiBhbGxvd2VkLgor
UGFzczogVmFsaWQgcHJvdG9jb2wgIm5ld3MiIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBwcm90b2Nv
bCAibm50cCIgYWxsb3dlZC4KK1Bhc3M6IFZhbGlkIHByb3RvY29sICJzbXMiIGFsbG93ZWQuCitQ
YXNzOiBWYWxpZCBwcm90b2NvbCAic21zdG8iIGFsbG93ZWQuCitQYXNzOiBWYWxpZCBwcm90b2Nv
bCAidGVsIiBhbGxvd2VkLgorUGFzczogVmFsaWQgcHJvdG9jb2wgInVybiIgYWxsb3dlZC4KK1Bh
c3M6IFZhbGlkIHByb3RvY29sICJ3ZWJjYWwiIGFsbG93ZWQuCitQYXNzOiBJbnZhbGlkIHVybCAi
IiB0aHJldyBTWU5UQVhfRVJSIGV4Y2VwdGlvbi4KK1Bhc3M6IEludmFsaWQgdXJsICIlUyIgdGhy
ZXcgU1lOVEFYX0VSUiBleGNlcHRpb24uCitQYXNzOiBWYWxpZCBjYWxsIHN1Y2NlZWRlZC4KKwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCBkNzY4Y2MxLi4zZTFhNGRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMzgzLDYgKzM4Myw3IEBAIFNFVChXZWJDb3JlX0lETF9GSUxFUwogICAgIHBhZ2Uv
TG9jYXRpb24uaWRsCiAgICAgcGFnZS9NZW1vcnlJbmZvLmlkbAogICAgIHBhZ2UvTmF2aWdhdG9y
LmlkbAorICAgIHBhZ2UvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuaWRsCiAgICAg
cGFnZS9QZXJmb3JtYW5jZS5pZGwKICAgICBwYWdlL1BlcmZvcm1hbmNlRW50cnkuaWRsCiAgICAg
cGFnZS9QZXJmb3JtYW5jZUVudHJ5TGlzdC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2NmU1N2MxLi40OTIy
NThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDUtMjAgIERvbmd3b28gSW0g
IDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnRzIHRoZSByZWdp
c3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9wdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVy
KCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcworICAgICAg
ICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGljdWxhciBzY2hlbWVzLgorCisgICAgICAg
IGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcuaHRtbCNkb20tbmF2aWdhdG9y
LXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRk
IHBhZ2UvTmF2aWdhdG9yUmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIuaWRsIGludG8gV2ViQ29yZV9J
RExfRklMRVMuCisKIDIwMTItMDUtMjAgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtWOF0gUGFzcyBJc29sYXRlIHRvIFY4TlBPYmplY3Q6Om5wT2JqZWN0
R2V0UHJvcGVydHkoKSBhbmQgVjhOUE9iamVjdDo6bnBPYmplY3RTZXRQcm9wZXJ0eSgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGJiYmJlZmUuLmE5ZmI1MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTIt
MDUtMjAgIERvbmd3b28gSW0gIDxkdy5pbUBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBJ
bXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3RvY29sSGFuZGxlciBtZXRob2QgYW5kIG9wdGlvbi4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHJlZ2lz
dGVyUHJvdG9jb2xIYW5kbGVyKCkgbWV0aG9kIGFsbG93cyBXZWIgc2l0ZXMgdG8gcmVnaXN0ZXIg
dGhlbXNlbHZlcworICAgICAgICBhcyBwb3NzaWJsZSBoYW5kbGVycyBmb3IgcGFydGljdWxhciBz
Y2hlbWVzLgorCisgICAgICAgIGh0dHA6Ly9kZXYudzMub3JnL2h0bWw1L3NwZWMvT3ZlcnZpZXcu
aHRtbCNkb20tbmF2aWdhdG9yLXJlZ2lzdGVycHJvdG9jb2xoYW5kbGVyCisKKyAgICAgICAgKiBQ
bGF0Zm9ybUVmbC5jbWFrZTogQWRkcyB0aGUgbmV3IGZpbGUgaW50byB0aGUgc291cmNlIGxpc3Qu
CisKIDIwMTItMDUtMTggIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KIAogICAgICAgICBbRUZMXSBBZGQgc2ltcGxlIGltcGxlbWVudGF0aW9uIG9mIFdlYiBJ
bnRlbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtlIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCAyOTVmODcyLi4wMGNiYzg4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTE1Niw2ICsxNTYsMTIgQEAgSUYgKEVOQUJMRV9CQVRU
RVJZX1NUQVRVUykKICAgICBMSVNUKEFQUEVORCBXZWJLaXRfU09VUkNFUyBlZmwvV2ViQ29yZVN1
cHBvcnQvQmF0dGVyeUNsaWVudEVmbC5jcHApCiBFTkRJRiAoKQogCitJRiAoRU5BQkxFX1JFR0lT
VEVSX1BST1RPQ09MX0hBTkRMRVIpCisgICAgTElTVChBUFBFTkQgV2ViS2l0X1NPVVJDRVMKKyAg
ICAgICAgZWZsL2V3ay9ld2tfY3VzdG9tX2hhbmRsZXIuY3BwCisgICAgKQorRU5ESUYgKCkKKwog
U0VUKFdlYktpdF9USEVNRV9ERUZJTklUSU9OICIiKQogSUYgKEVOQUJMRV9QUk9HUkVTU19UQUcp
CiAgIExJU1QoQVBQRU5EIFdlYktpdF9USEVNRV9ERUZJTklUSU9OICItREVOQUJMRV9QUk9HUkVT
U19UQUciKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDdkYzVhOTEuLjU0NWYwMTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0wNS0yMCAgRG9uZ3dvbyBJbSAgPGR3LmltQHNh
bXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdIEltcGxlbWVudHMgdGhlIHJlZ2lzdGVyUHJvdG9j
b2xIYW5kbGVyIG1ldGhvZCBhbmQgb3B0aW9uLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGUgcmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoKSBtZXRob2Qg
YWxsb3dzIFdlYiBzaXRlcyB0byByZWdpc3RlciB0aGVtc2VsdmVzCisgICAgICAgIGFzIHBvc3Np
YmxlIGhhbmRsZXJzIGZvciBwYXJ0aWN1bGFyIHNjaGVtZXMuCisKKyAgICAgICAgaHR0cDovL2Rl
di53My5vcmcvaHRtbDUvc3BlYy9PdmVydmlldy5odG1sI2RvbS1uYXZpZ2F0b3ItcmVnaXN0ZXJw
cm90b2NvbGhhbmRsZXIKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5jcHA6IEFkZHMgYSBuZXcgZnVuY3Rpb24uCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OmN1c3RvbUhhbmRsZXJzRGF0YUNyZWF0ZSk6IENyZWF0ZXMgYW5kIGZpbGxzIHRo
ZSBkYXRhIG9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OmN1c3RvbUhhbmRsZXJzRGF0YURlbGV0
ZSk6IERlbGV0ZXMgdGhlIGRhdGEgb2JqZWN0LgorICAgICAgICAoV2ViQ29yZTo6Q2hyb21lQ2xp
ZW50RWZsOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcik6IFJlZ2lzdGVycyBhIHByb3RvY29sIGFu
ZCB0aGUgaGFuZGxlciBvZiBpdC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRFZmwuaDogQWRkcyBhIHByb3RvdHlwZS4KKyAgICAgICAgKENocm9tZUNsaWVudEVmbCk6Cisg
ICAgICAgICogZXdrL2V3a19jdXN0b21faGFuZGxlcnMuY3BwOiBBZGRlZC4KKyAgICAgICAgKGV3
a19jdXN0b21faGFuZGxlcnNfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcik6CisgICAgICAgICog
ZXdrL2V3a192aWV3Lmg6IEFkZHMgRGF0YSBzdHJ1Y3R1cmUuCisgICAgICAgICogZXdrL2V3a192
aWV3X3ByaXZhdGUuaDogQWRkcyBwcml2YXRlIGZ1bmN0aW9uLgorCiAyMDEyLTA1LTIwICBNaWto
YWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgogCiAgICAgICAg
IFtFRkxdIGV3a192aWV3IG5hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uKCkgaW5wdXQgcGFyYW1l
dGVycyBzaG91bGQgYmUgZXh0ZW5kZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCmluZGV4IGQwMzRlN2YuLjhhYWRhY2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
RWZsLmNwcApAQCAtNjMyLDQgKzYzMiwzNCBAQCB2b2lkIENocm9tZUNsaWVudEVmbDo6ZXhpdEZ1
bGxTY3JlZW5Gb3JFbGVtZW50KFdlYkNvcmU6OkVsZW1lbnQqIGVsZW1lbnQpCiAgICAgZWxlbWVu
dC0+ZG9jdW1lbnQoKS0+d2Via2l0RGlkRXhpdEZ1bGxTY3JlZW5Gb3JFbGVtZW50KGVsZW1lbnQp
OwogfQogI2VuZGlmCisKKyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKK3N0
YXRpYyBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogY3VzdG9tSGFuZGxlckRhdGFDcmVhdGUoRXZh
c19PYmplY3QqIGV3a1ZpZXcsIGNvbnN0IGNoYXIqIHNjaGVtZSwgY29uc3QgY2hhciogYmFzZVVS
TCwgY29uc3QgY2hhciogdXJsLCBjb25zdCBjaGFyKiB0aXRsZSkKK3sKKyAgICBFd2tfQ3VzdG9t
X0hhbmRsZXJfRGF0YSogZGF0YSA9IG5ldyBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YTsKKyAgICBk
YXRhLT5ld2tWaWV3ID0gZXdrVmlldzsKKyAgICBkYXRhLT5zY2hlbWUgPSBlaW5hX3N0cmluZ3No
YXJlX2FkZChzY2hlbWUpOworICAgIGRhdGEtPmJhc2VfdXJsID0gZWluYV9zdHJpbmdzaGFyZV9h
ZGQoYmFzZVVSTCk7CisgICAgZGF0YS0+dXJsID0gZWluYV9zdHJpbmdzaGFyZV9hZGQodXJsKTsK
KyAgICBkYXRhLT50aXRsZSA9IGVpbmFfc3RyaW5nc2hhcmVfYWRkKHRpdGxlKTsKKyAgICByZXR1
cm4gZGF0YTsKK30KKworc3RhdGljIHZvaWQgY3VzdG9tSGFuZGxlckRhdGFEZWxldGUoRXdrX0N1
c3RvbV9IYW5kbGVyX0RhdGEqIGRhdGEpCit7CisgICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0
YS0+c2NoZW1lKTsKKyAgICBlaW5hX3N0cmluZ3NoYXJlX2RlbChkYXRhLT5iYXNlX3VybCk7Cisg
ICAgZWluYV9zdHJpbmdzaGFyZV9kZWwoZGF0YS0+dXJsKTsKKyAgICBlaW5hX3N0cmluZ3NoYXJl
X2RlbChkYXRhLT50aXRsZSk7CisgICAgZGVsZXRlIGRhdGE7Cit9CisKK3ZvaWQgQ2hyb21lQ2xp
ZW50RWZsOjpyZWdpc3RlclByb3RvY29sSGFuZGxlcihjb25zdCBTdHJpbmcmIHNjaGVtZSwgY29u
c3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB0aXRs
ZSkKK3sKKyAgICBFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSA9IGN1c3RvbUhhbmRsZXJE
YXRhQ3JlYXRlKG1fdmlldywgc2NoZW1lLnV0ZjgoKS5kYXRhKCksIGJhc2VVUkwudXRmOCgpLmRh
dGEoKSwgdXJsLnV0ZjgoKS5kYXRhKCksIHRpdGxlLnV0ZjgoKS5kYXRhKCkpOworICAgIGV3a19j
dXN0b21faGFuZGxlcl9yZWdpc3Rlcl9wcm90b2NvbF9oYW5kbGVyKGRhdGEpOworICAgIGN1c3Rv
bUhhbmRsZXJEYXRhRGVsZXRlKGRhdGEpOworfQorI2VuZGlmCisKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgKaW5kZXggNjVlYWVi
My4uNGJkNjZjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50RWZsLmgKQEAgLTE3OSw2ICsxNzksMTAgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBudW1XaGVlbEV2ZW50SGFuZGxlcnNDaGFuZ2VkKHVuc2lnbmVkKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgbnVtVG91Y2hFdmVudEhhbmRsZXJzQ2hhbmdlZCh1bnNpZ25lZCkgeyB9CiAK
KyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikKKyAgICB2aXJ0dWFsIHZvaWQg
cmVnaXN0ZXJQcm90b2NvbEhhbmRsZXIoY29uc3QgU3RyaW5nJiBzY2hlbWUsIGNvbnN0IFN0cmlu
ZyYgYmFzZVVSTCwgY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgdGl0bGUpOworI2Vu
ZGlmCisKICAgICBFdmFzX09iamVjdCogbV92aWV3OwogICAgIEtVUkwgbV9ob3ZlcmVkTGlua1VS
TDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5k
bGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY3VzdG9tX2hhbmRsZXIuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3NzI1ZWIKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2N1c3RvbV9oYW5kbGVyLmNwcApAQCAtMCww
ICsxLDMzIEBACisvKgorICAgIENvcHlyaWdodCAoQykgMjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNz
CisKKyAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgICBhbG9u
ZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3
cml0ZSB0bworICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoUkVHSVNURVJfUFJPVE9D
T0xfSEFORExFUikKKworI2luY2x1ZGUgImV3a192aWV3X3ByaXZhdGUuaCIKKworYm9vbCBld2tf
Y3VzdG9tX2hhbmRsZXJfcmVnaXN0ZXJfcHJvdG9jb2xfaGFuZGxlcihFd2tfQ3VzdG9tX0hhbmRs
ZXJfRGF0YSogZGF0YSkKK3sKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZGF0
YS0+ZXdrVmlldywgZmFsc2UpOworICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2NhbGwo
ZGF0YS0+ZXdrVmlldywgInByb3RvY29saGFuZGxlcixyZWdpc3RyYXRpb24scmVxdWVzdGVkIiwg
ZGF0YSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3Zp
ZXcuaAppbmRleCAxZTAwYmVhLi5hNDc2NjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9ld2svZXdrX3ZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuaApA
QCAtNzAsNiArNzAsNyBAQAogICogIC0gIm1lbnViYXIsdmlzaWJsZSxzZXQiLCBFaW5hX0Jvb2w6
IHNldHMgbWVudWJhciB2aXNpYmlsaXR5LgogICogIC0gIm1peGVkY29udGVudCxkaXNwbGF5ZWQi
LCB2b2lkOiBhbnkgb2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIGRpc3Bs
YXllZCBtaXhlZCBjb250ZW50LgogICogIC0gIm1peGVkY29udGVudCxydW4iLCB2b2lkOiBhbnkg
b2YgdGhlIGNvbnRhaW5pbmcgZnJhbWVzIGhhcyBsb2FkZWQgYW5kIHJ1biBtaXhlZCBjb250ZW50
LgorICogIC0gInByb3RvY29saGFuZGxlcixyZWdpc3RyYXRpb24scmVxdWVzdGVkIiwgRXdrX0N1
c3RvbV9IYW5kbGVyX0RhdGE6IGFkZCBhIGhhbmRsZXIgdXJsIGZvciB0aGUgZ2l2ZW4gcHJvdG9j
b2wuCiAgKiAgLSAib25sb2FkLGV2ZW50IiwgRXZhc19PYmplY3QqOiBhIGZyYW1lIG9ubG9hZCBl
dmVudCBoYXMgYmVlbiByZWNlaXZlZC4KICAqICAtICJyZWFkeSIsIHZvaWQ6IHBhZ2UgaXMgZnVs
bHkgbG9hZGVkLgogICogIC0gInJlc291cmNlLHJlcXVlc3QsbmV3IiwgRXdrX0ZyYW1lX1Jlc291
cmNlX1JlcXVlc3QqOiByZXBvcnRzIHRoYXQKQEAgLTMwOSw2ICszMTAsMTcgQEAgc3RydWN0IF9F
d2tfQ29sb3IgewogICAgIHVuc2lnbmVkIGNoYXIgYTsgLyoqPCBBbHBoYSBjaGFubmVsLiAqLwog
fTsKIAorLy8vIENyZWF0ZXMgYSB0eXBlIG5hbWUgZm9yIEBhIF9Fd2tfQ3VzdG9tX0hhbmRsZXJf
RGF0YS4KK3R5cGVkZWYgc3RydWN0IF9Fd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSBFd2tfQ3VzdG9t
X0hhbmRsZXJfRGF0YTsKKy8vLyBDb250YWlucyB0aGUgdGFyZ2V0IHNjaGVtZSBhbmQgdGhlIHVy
bCB3aGljaCB0YWtlIGNhcmUgb2YgdGhlIHRhcmdldC4KK3N0cnVjdCBfRXdrX0N1c3RvbV9IYW5k
bGVyX0RhdGEgeworICAgIEV2YXNfT2JqZWN0ICpld2tWaWV3OyAvKio8IFJlZmVyZW5jZSB0byB0
aGUgdmlldyBvYmplY3QuICovCisgICAgY29uc3QgY2hhciAqc2NoZW1lOyAvKio8IFJlZmVyZW5j
ZSB0byB0aGUgc2NoZW1lIHRoYXQgd2lsbCBiZSBoYW5kbGVkLiAoZWcuICJhcHBsaWNhdGlvbi94
LXNvdXAiKSAqLworICAgIGNvbnN0IGNoYXIgKmJhc2VfdXJsOyAvKio8IFJlZmVyZW5jZSB0byB0
aGUgcmVzb2x2ZWQgdXJsIGlmIHRoZSB1cmwgaXMgcmVsYXRpdmUgdXJsLiAoZWcuICJodHRwczov
L3d3dy5leGFtcGxlLmNvbS8iKSAqLworICAgIGNvbnN0IGNoYXIgKnVybDsgLyoqPCBSZWZlcmVu
Y2UgdG8gdGhlIHVybCB3aGljaCB3aWxsIGhhbmRsZSB0aGUgZ2l2ZW4gcHJvdG9jb2wuIChlZy4g
InNvdXA/dXJsPSVzIikgKi8KKyAgICBjb25zdCBjaGFyICp0aXRsZTsgLyoqPCBSZWZlcmVuY2Ug
dG8gdGhlIGRlc2NyaXB0aXZlIHRpdGxlIG9mIHRoZSBoYW5kbGVyLiAoZWcuICJTb3VwV2ViIikg
Ki8KK307CisKIC8qKgogICogQGJyaWVmIENvbnRhaW5zIGFuIGludGVybmFsIFZpZXcgZGF0YS4K
ICAqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfcHJpdmF0ZS5o
IGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3X3ByaXZhdGUuaAppbmRleCA3NWM3YTE4
Li4zY2NjYjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXdfcHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmgKQEAg
LTE0OSw2ICsxNDksMTAgQEAgYm9vbCBld2tfdmlld19hY2NlbGVyYXRlZF9jb21wb3NpdGluZ19v
YmplY3RfY3JlYXRlKEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFdmFzX04KIFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDNEKiBld2tfdmlld19hY2NlbGVyYXRlZF9jb21wb3NpdGluZ19jb250ZXh0X2dl
dChFdmFzX09iamVjdCogZXdrVmlldyk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShSRUdJU1RFUl9Q
Uk9UT0NPTF9IQU5ETEVSKQorYm9vbCBld2tfY3VzdG9tX2hhbmRsZXJfcmVnaXN0ZXJfcHJvdG9j
b2xfaGFuZGxlcihFd2tfQ3VzdG9tX0hhbmRsZXJfRGF0YSogZGF0YSk7CisjZW5kaWYKKwogbmFt
ZXNwYWNlIEVXS1ByaXZhdGUgewogV2ViQ29yZTo6UGFnZSAqY29yZVBhZ2UoY29uc3QgRXZhc19P
YmplY3QgKmV3a1ZpZXcpOwogUGxhdGZvcm1QYWdlQ2xpZW50IGNvcmVQYWdlQ2xpZW50KEV2YXNf
T2JqZWN0KiBld2tWaWV3KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNt
YWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKaW5kZXggZDg0OGM5OC4uYTg4Y2Jl
OSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKKysrIGIvU291cmNl
L2NtYWtlL09wdGlvbnNFZmwuY21ha2UKQEAgLTc1LDYgKzc1LDcgQEAgV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IgT04pCiBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQSSBPRkYpCiBX
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTkVUV09SS19JTkZPIE9OKQog
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9B
UEkgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUkVHSVNURVJf
UFJPVE9DT0xfSEFORExFUiBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSBPTikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9TSEFSRURfV09SS0VSUyBPTikKIFdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9WSUJSQVRJT04gT04pCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21h
a2Vjb25maWcuaC5jbWFrZSBiL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCmluZGV4IGMyNjEw
ZjIuLmNmNTliYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCisrKyBi
L1NvdXJjZS9jbWFrZWNvbmZpZy5oLmNtYWtlCkBAIC01Niw2ICs1Niw3IEBACiAjY21ha2VkZWZp
bmUwMSBFTkFCTEVfUEFHRV9QT1BVUAogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1BBR0VfVklTSUJJ
TElUWV9BUEkKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9QUk9HUkVTU19UQUcKKyNjbWFrZWRlZmlu
ZTAxIEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSCiAjY21ha2VkZWZpbmUwMSBFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9TSEFSRURf
V09SS0VSUwogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX1NNT09USF9TQ1JPTExJTkcK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143546</attachid>
            <date>2012-05-23 05:47:19 -0700</date>
            <delta_ts>2012-05-23 06:36:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch_73638_0523.patch</filename>
            <type>text/plain</type>
            <size>1529</size>
            <attacher name="Dongwoo Joshua Im (dwim)">dw.im</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4YWI1
YzA3Li43YjcyNDY3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTItMDUtMjMgIERvbmd3b28gSW0gIDxkdy5pbUBz
YW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXSBJbXBsZW1lbnRzIHRoZSByZWdpc3RlclByb3Rv
Y29sSGFuZGxlciBtZXRob2QgYW5kIG9wdGlvbi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTczNjM4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG06
IFR1cm4gb24gdGhlIEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSIG9wdGlvbiBhcyBk
ZWZhdWx0IG9uIEVGTCBwb3J0LgorCiAyMDEyLTA0LTE4ICBUb3IgQXJuZSBWZXN0YsO4ICA8dG9y
LmFybmUudmVzdGJvQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIE1ha2UgdGhlIHdlYiB2aWV3
J3MgdXJsIHByb3BlcnR5IGZvbGxvdyB0aGUgYWN0aXZlIHVybApkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
ZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IGE1NDBlYjAuLjgwNjcyZDkgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KQEAgLTI4Niw3ICsyODYsNyBAQCBteSBAZmVhdHVy
ZXMgPSAoCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9RVU9UQSIsIGRlZmF1bHQgPT4gMCwgdmFs
dWUgPT4gXCRxdW90YVN1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9uID0+ICJyZWdpc3Rlci1wcm90
b2NvbC1oYW5kbGVyIiwgZGVzYyA9PiAiVG9nZ2xlIFJlZ2lzdGVyIFByb3RvY29sIEhhbmRsZXIg
c3VwcG9ydCIsCi0gICAgICBkZWZpbmUgPT4gIkVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5E
TEVSIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJHJlZ2lzdGVyUHJvdG9jb2xIYW5kbGVyU3Vw
cG9ydCB9LAorICAgICAgZGVmaW5lID0+ICJFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExF
UiIsIGRlZmF1bHQgPT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRyZWdpc3RlclByb3RvY29sSGFuZGxl
clN1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9uID0+ICJyZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZSIs
IGRlc2MgPT4gIlRvZ2dsZSBSZXF1ZXN0IEFuaW1hdGlvbiBGcmFtZSBzdXBwb3J0IiwKICAgICAg
IGRlZmluZSA9PiAiRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FIiwgZGVmYXVsdCA9PiAo
aXNBcHBsZU1hY1dlYktpdCgpIHx8IGlzR3RrKCkgfHwgaXNFZmwoKSB8fCBpc0JsYWNrQmVycnko
KSksIHZhbHVlID0+IFwkcmVxdWVzdEFuaW1hdGlvbkZyYW1lU3VwcG9ydCB9LAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>