<?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>87935</bug_id>
          
          <creation_ts>2012-05-31 00:43:09 -0700</creation_ts>
          <short_desc>[EFL][DRT] Add support for Web Inspector in WebKit-EFL DRT</short_desc>
          <delta_ts>2012-07-21 03:34:12 -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>
          <dependson>83865</dependson>
    
    <dependson>91624</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Seokju Kwon">seokju.kwon</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>d-r</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>s.choi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>638067</commentid>
    <comment_count>0</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-05-31 00:43:09 -0700</bug_when>
    <thetext>It is the first step to support for web inspector in WebKit-EFL DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638112</commentid>
    <comment_count>1</comment_count>
      <attachid>145017</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-05-31 01:30:05 -0700</bug_when>
    <thetext>Created attachment 145017
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638138</commentid>
    <comment_count>2</comment_count>
      <attachid>145017</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-31 02:19:18 -0700</bug_when>
    <thetext>Comment on attachment 145017
Patch

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

&gt; Source/WebKit/efl/ChangeLog:8
&gt; +        It is the first step to support for Web Inspector in WebKit-EFL DRT

Please write patch description for each ChangeLog more detail. In addition, put a period at the end line.

&gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:150
&gt; +    evas_object_focus_set(inspector, EINA_TRUE);

Use true instead of EINA_TRUE.

&gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:590
&gt; +    Evas_Object** view = static_cast&lt;Evas_Object **&gt;(eventInfo);

Should you need to use ** pointer in here ?

&gt; LayoutTests/ChangeLog:8
&gt; +        It is the first step to support for Web Inspector in WebKit-EFL DRT

This is not proper description for this change. Re-write description.

&gt; LayoutTests/platform/efl/Skipped:300
&gt; +#inspector

Remove this all instead of comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638209</commentid>
    <comment_count>3</comment_count>
      <attachid>145017</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-31 04:06:09 -0700</bug_when>
    <thetext>Comment on attachment 145017
Patch

Attachment 145017 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/12864187</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638215</commentid>
    <comment_count>4</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-05-31 04:20:20 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 145017 [details])
&gt; Attachment 145017 [details] did not pass efl-ews (efl):
&gt; Output: http://queues.webkit.org/results/12864187

ewk_view_web_inspector_show() and ewk_view_web_inspector_close() are implemented in another patch. (See Bug 83865)
This patch depends on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638216</commentid>
    <comment_count>5</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-05-31 04:21:13 -0700</bug_when>
    <thetext>
(In reply to comment #2)
&gt; (From update of attachment 145017 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=145017&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/ChangeLog:8
&gt; &gt; +        It is the first step to support for Web Inspector in WebKit-EFL DRT
&gt;
&gt; Please write patch description for each ChangeLog more detail. In addition, put a period at the end line.
Done!
 
&gt; &gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:150
&gt; &gt; +    evas_object_focus_set(inspector, EINA_TRUE);
&gt; 
&gt; Use true instead of EINA_TRUE.
Done!

&gt; &gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:590
&gt; &gt; +    Evas_Object** view = static_cast&lt;Evas_Object **&gt;(eventInfo);
&gt; 
&gt; Should you need to use ** pointer in here ?
As you know, Evas smart callback can not return a value. And Use ** pointer for returning a pointer from callback function. 

&gt; &gt; LayoutTests/ChangeLog:8
&gt; &gt; +        It is the first step to support for Web Inspector in WebKit-EFL DRT
&gt; 
&gt; This is not proper description for this change. Re-write description.
Done!

&gt; &gt; LayoutTests/platform/efl/Skipped:300
&gt; &gt; +#inspector
&gt; 
&gt; Remove this all instead of comment.
Done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638221</commentid>
    <comment_count>6</comment_count>
      <attachid>145047</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-05-31 04:23:53 -0700</bug_when>
    <thetext>Created attachment 145047
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>638303</commentid>
    <comment_count>7</comment_count>
      <attachid>145047</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-05-31 06:07:05 -0700</bug_when>
    <thetext>Comment on attachment 145047
Patch

Attachment 145047 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/12860328</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>665476</commentid>
    <comment_count>8</comment_count>
      <attachid>151398</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-07-09 21:54:44 -0700</bug_when>
    <thetext>Created attachment 151398
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>665579</commentid>
    <comment_count>9</comment_count>
      <attachid>151398</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-10 02:02:48 -0700</bug_when>
    <thetext>Comment on attachment 151398
Patch

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

&gt; Tools/DumpRenderTree/efl/DumpRenderTreeView.cpp:69
&gt; +    if (newMessage.contains(&quot;Localized string&quot;) || (newMessage.contains(&quot;Protocol Error: the message is for non-existing domain &apos;Profiler&apos;&quot;)))

nit : Why do you use unneeded ( ) in second condition ?

if (newMessage.contains(&quot;Localized string&quot;) || newMessage.contains(&quot;Protocol Error: the message is for non-existing domain &apos;Profiler&apos;&quot;)) ?

&gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:770
&gt; +    // Waits until web inspector resources are loaded

In code level, I don&apos;t understand what do you need to wait ?

&gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:773
&gt; +        ecore_main_loop_begin();

I wonder if this is meaningful? Because ecore_main_loop_begin() is already called at the beginning of layout test.

http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/efl/DumpRenderTree.cpp#L257</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>665622</commentid>
    <comment_count>10</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-07-10 03:26:48 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 151398 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=151398&amp;action=review
&gt; 
&gt; &gt; Tools/DumpRenderTree/efl/DumpRenderTreeView.cpp:69
&gt; &gt; +    if (newMessage.contains(&quot;Localized string&quot;) || (newMessage.contains(&quot;Protocol Error: the message is for non-existing domain &apos;Profiler&apos;&quot;)))
&gt; 
&gt; nit : Why do you use unneeded ( ) in second condition ?
&gt; 
&gt; if (newMessage.contains(&quot;Localized string&quot;) || newMessage.contains(&quot;Protocol Error: the message is for non-existing domain &apos;Profiler&apos;&quot;)) ?

I will remove it.

&gt; 
&gt; &gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:770
&gt; &gt; +    // Waits until web inspector resources are loaded
&gt; 
&gt; In code level, I don&apos;t understand what do you need to wait ?
&gt; 
&gt; &gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:773
&gt; &gt; +        ecore_main_loop_begin();
&gt; 
&gt; I wonder if this is meaningful? Because ecore_main_loop_begin() is already called at the beginning of layout test.
&gt; 
&gt; http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/efl/DumpRenderTree.cpp#L257

Test files are using &apos;WebInspector&apos; object. It is implemented in resources of web inspector(frontend). So Dumprendertree should wait until resources are loaded totally(&apos;load, finished&apos;). If not, drt fails tests with error message below.
&quot;ReferenceError: Can&apos;t find variable: WebInspector&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>665625</commentid>
    <comment_count>11</comment_count>
      <attachid>151428</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-07-10 03:31:02 -0700</bug_when>
    <thetext>Created attachment 151428
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>665973</commentid>
    <comment_count>12</comment_count>
      <attachid>151428</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-07-10 12:58:26 -0700</bug_when>
    <thetext>Comment on attachment 151428
Patch

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

&gt; Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp:529
&gt; +#if ENABLE(INSPECTOR)

This should be at the beginning of the function, not in the middle.

&gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:153
&gt; +    evas_object_focus_set(inspectorView, EINA_TRUE);

I believe you should use &quot;true&quot; here instead of EINA_TRUE, as per guidelines.

&gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:167
&gt; +    if (inspectorView) {

You already return earlier if inspectorView is NULL so it seems this check is not needed, right?

&gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:770
&gt; +    // Waits until web inspector resources are loaded

I don&apos;t understand why this is needed, could you explain?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666334</commentid>
    <comment_count>13</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-07-10 21:50:48 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 151428 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=151428&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp:529
&gt; &gt; +#if ENABLE(INSPECTOR)
&gt; 
&gt; This should be at the beginning of the function, not in the middle.
&gt; 
&gt; &gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:153
&gt; &gt; +    evas_object_focus_set(inspectorView, EINA_TRUE);
&gt; 
&gt; I believe you should use &quot;true&quot; here instead of EINA_TRUE, as per guidelines.
&gt; 
&gt; &gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:167
&gt; &gt; +    if (inspectorView) {
&gt; 
&gt; You already return earlier if inspectorView is NULL so it seems this check is not needed, right?
&gt;
I will fix all that you mentioned. 
 
&gt; &gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:770
&gt; &gt; +    // Waits until web inspector resources are loaded
&gt; 
&gt; I don&apos;t understand why this is needed, could you explain?

Like what I said on comment #10, Drt have to wait until &apos;inspector.html&apos; called web inspector is loaded totally. Because some objects in web inspector are called in test files (like LayoutTests/http/tests/inspector/inspector-test.js, LayoutTests/http/tests/inspector/console-test.js ...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666413</commentid>
    <comment_count>14</comment_count>
      <attachid>151612</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-07-10 23:41:45 -0700</bug_when>
    <thetext>Created attachment 151612
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666692</commentid>
    <comment_count>15</comment_count>
      <attachid>151612</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-07-11 05:36:02 -0700</bug_when>
    <thetext>Comment on attachment 151612
Patch

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

&gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:771
&gt; +    Evas_Object* inspectorView = ewk_view_web_inspector_view_get(browser-&gt;mainView());

If we really need those 3 lines, then LGTM. I was just wondering because the Qt port code seems simpler here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>667536</commentid>
    <comment_count>16</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-07-12 01:58:37 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 151612 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=151612&amp;action=review
&gt; 
&gt; &gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:771
&gt; &gt; +    Evas_Object* inspectorView = ewk_view_web_inspector_view_get(browser-&gt;mainView());
&gt; 
&gt; If we really need those 3 lines, then LGTM. I was just wondering because the Qt port code seems simpler here.

Some tests are not passing without those 3 line.
(Error messgae : &quot;ReferenceError: Can&apos;t find variable: WebInspector&quot;)
And I got the hint at https://bugs.webkit.org/show_bug.cgi?id=80235.
Thank you for your review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>668842</commentid>
    <comment_count>17</comment_count>
      <attachid>151398</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-13 04:09:07 -0700</bug_when>
    <thetext>Comment on attachment 151398
Patch

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

&gt;&gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:773
&gt;&gt; +        ecore_main_loop_begin();
&gt; 
&gt; I wonder if this is meaningful? Because ecore_main_loop_begin() is already called at the beginning of layout test.
&gt; 
&gt; http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/efl/DumpRenderTree.cpp#L257

I&apos;m not clear this yet. Does inspector call ecore_main_loop_begin() / _quit() first before calling it from runTest() of DumpRenderTree.cpp ? Could you explain the reason again ?

In addition, I don&apos;t like to call ecore_main_loop_begin() / _quit() from different files. If you call this in LayoutTestControllerEfl.cpp, it is good to call ecore_main_loop_quit() in here as well. I think this is good to debug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>669718</commentid>
    <comment_count>18</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-07-13 22:22:32 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 151398 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=151398&amp;action=review
&gt; 
&gt; &gt;&gt; Tools/DumpRenderTree/efl/LayoutTestControllerEfl.cpp:773
&gt; &gt;&gt; +        ecore_main_loop_begin();
&gt; &gt; 
&gt; &gt; I wonder if this is meaningful? Because ecore_main_loop_begin() is already called at the beginning of layout test.
&gt; &gt; 
&gt; &gt; http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/efl/DumpRenderTree.cpp#L257
&gt; 
&gt; I&apos;m not clear this yet. Does inspector call ecore_main_loop_begin() / _quit() first before calling it from runTest() of DumpRenderTree.cpp ? Could you explain the reason again ?
&gt; 
It can&apos;t test the inspector without page(inspector.html) has finished loading on the view of inspector.
I think that it can&apos;t complete loading before it loads testURL on EFL Port. So it should wait until the page has finished loading with ecore_main_loop_begin() / _quit().

&gt; In addition, I don&apos;t like to call ecore_main_loop_begin() / _quit() from different files. If you call this in LayoutTestControllerEfl.cpp, it is good to call ecore_main_loop_quit() in here as well. I think this is good to debug.

I agree with you. I will move it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670054</commentid>
    <comment_count>19</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-15 19:55:24 -0700</bug_when>
    <thetext>(In reply to comment #18)

&gt; &gt; I&apos;m not clear this yet. Does inspector call ecore_main_loop_begin() / _quit() first before calling it from runTest() of DumpRenderTree.cpp ? Could you explain the reason again ?
&gt; &gt; 

&gt; It can&apos;t test the inspector without page(inspector.html) has finished loading on the view of inspector.
&gt; I think that it can&apos;t complete loading before it loads testURL on EFL Port. So it should wait until the page has finished loading with ecore_main_loop_begin() / _quit().

Do you mean you need to load inspector.html first before loading testURL by page instance ? If so, I can understand this. Please update patch according to comment  #17.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670076</commentid>
    <comment_count>20</comment_count>
      <attachid>152475</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-07-15 22:07:25 -0700</bug_when>
    <thetext>Created attachment 152475
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671177</commentid>
    <comment_count>21</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-07-17 04:40:29 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; (In reply to comment #18)
&gt; 
&gt; &gt; &gt; I&apos;m not clear this yet. Does inspector call ecore_main_loop_begin() / _quit() first before calling it from runTest() of DumpRenderTree.cpp ? Could you explain the reason again ?
&gt; &gt; &gt; 
&gt; 
&gt; &gt; It can&apos;t test the inspector without page(inspector.html) has finished loading on the view of inspector.
&gt; &gt; I think that it can&apos;t complete loading before it loads testURL on EFL Port. So it should wait until the page has finished loading with ecore_main_loop_begin() / _quit().
&gt; 
&gt; Do you mean you need to load inspector.html first before loading testURL by page instance ? If so, I can understand this. Please update patch according to comment  #17.

Yes. That&apos;s right. Thank you for your understanding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>671848</commentid>
    <comment_count>22</comment_count>
      <attachid>152475</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-17 18:18:34 -0700</bug_when>
    <thetext>Comment on attachment 152475
Patch

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

Looks better than before.

&gt; Tools/DumpRenderTree/efl/DumpRenderTreeChrome.cpp:173
&gt; +    // Waits until the page has finished loading

Could you write why we need to wait for finishing page loading here ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672005</commentid>
    <comment_count>23</comment_count>
      <attachid>152934</attachid>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-07-17 22:56:47 -0700</bug_when>
    <thetext>Created attachment 152934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672088</commentid>
    <comment_count>24</comment_count>
      <attachid>152934</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-07-18 00:43:01 -0700</bug_when>
    <thetext>Comment on attachment 152934
Patch

Looks good to me now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672289</commentid>
    <comment_count>25</comment_count>
      <attachid>152934</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-18 05:50:27 -0700</bug_when>
    <thetext>Comment on attachment 152934
Patch

Clearing flags on attachment: 152934

Committed r122952: &lt;http://trac.webkit.org/changeset/122952&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>672291</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-18 05:50:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673329</commentid>
    <comment_count>27</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2012-07-19 02:18:13 -0700</bug_when>
    <thetext>Seokju, good to see this enabled. Thank you.

Can you check the failing test cases on the bot? Maybe we need some new baselines here?
http://build.webkit.org/results/EFL%20Linux%2064-bit%20Debug/r122954%20(2963)/results.html

Please run-webkit-tests locally before unskipping a set of tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>673354</commentid>
    <comment_count>28</comment_count>
    <who name="Seokju Kwon">seokju.kwon</who>
    <bug_when>2012-07-19 03:14:46 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; Seokju, good to see this enabled. Thank you.
&gt; 
&gt; Can you check the failing test cases on the bot? Maybe we need some new baselines here?
&gt; http://build.webkit.org/results/EFL%20Linux%2064-bit%20Debug/r122954%20(2963)/results.html
&gt; 
&gt; Please run-webkit-tests locally before unskipping a set of tests.

Add them to Skipped list temporarily because of the bot red.
And then I will move it to TestExpectations with bug id.
(https://bugs.webkit.org/show_bug.cgi?id=91624)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145017</attachid>
            <date>2012-05-31 01:30:05 -0700</date>
            <delta_ts>2012-05-31 04:23:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87935-20120531173011.patch</filename>
            <type>text/plain</type>
            <size>13912</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggMGRhNjgzNGRk
ODNjMjE5ZmIxZTNiNzI2NTc1NThmNzI0YjFlY2NhYS4uNTA3Mjk3NDE0MjA2N2Y2OWUwNWQzYzE5
ZmZlNjdjMDYyNjMxYTFhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEy
LTA1LTMxICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAg
IFtFRkxdW0RSVF0gQWRkIHN1cHBvcnQgZm9yIFdlYiBJbnNwZWN0b3IgaW4gV2ViS2l0LUVGTCBE
UlQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3OTM1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgaXMg
dGhlIGZpcnN0IHN0ZXAgdG8gc3VwcG9ydCBmb3IgV2ViIEluc3BlY3RvciBpbiBXZWJLaXQtRUZM
IERSVAorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZs
LmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6ZXZhbHVhdGVJbldlYklu
c3BlY3Rvcik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0
RWZsLmg6CisKIDIwMTItMDUtMzAgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6
QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBFRkwncyBEUlQgc2hvdWxkIHByaW50IHRoZSBu
dW1iZXIgb2YgTWVzc2FnZVBvcnRzIGZvciBuZXcgZWFjaCBuZXcgaW50ZW50CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRF
ZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVT
dXBwb3J0RWZsLmNwcAppbmRleCA3ZTIxMjdhYjIyMDJiOTE3MGMzMTZhYThiMTU0MDhjM2MwMjc0
Y2U0Li4yNDE2NjM5MGE5Mzk2NWZiODkwNzNjM2Y0OTIyYmVhODM2Y2JjNTRkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRF
ZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEVmbC5jcHAKQEAgLTUzNCw2ICs1MzQsMTUgQEAgYm9vbCBEdW1wUmVuZGVyVHJl
ZVN1cHBvcnRFZmw6OmlzVGFyZ2V0SXRlbShjb25zdCBFd2tfSGlzdG9yeV9JdGVtKiBld2tIaXN0
b3J5SXQKICAgICByZXR1cm4gaGlzdG9yeUl0ZW0tPmlzVGFyZ2V0SXRlbSgpOwogfQogCit2b2lk
IER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcihjb25zdCBF
dmFzX09iamVjdCogZXdrVmlldywgbG9uZyBjYWxsSWQsIGNvbnN0IFN0cmluZyYgc2NyaXB0KQor
eworICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBFV0tQcml2YXRlOjpjb3JlUGFnZShld2tWaWV3
KTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIHBhZ2UtPmluc3BlY3Rv
ckNvbnRyb2xsZXIoKS0+ZXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZChjYWxsSWQsIHNjcmlwdCk7
Cit9CisKIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpldmFsdWF0ZVNjcmlwdEluSXNv
bGF0ZWRXb3JsZChjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUsIGludCB3b3JsZElELCBKU09i
amVjdFJlZiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0cmluZyYgc2NyaXB0KQogewogICAgIFdlYkNv
cmU6OkZyYW1lKiBjb3JlRnJhbWUgPSBFV0tQcml2YXRlOjpjb3JlRnJhbWUoZXdrRnJhbWUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRy
ZWVTdXBwb3J0RWZsLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRFZmwuaAppbmRleCBjODAwN2EyMTM1NzYxNWZkZWI2Njk3M2I3OWI3M2Ex
N2RjOGQ3MjkyLi4xZmRlOTRlMjAzZGU2MWE5NmNiYjVlNjg4YzFlZmU3YjY3ZGMwMzQ5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1
cHBvcnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRFZmwuaApAQCAtOTQsNiArOTQsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IEhpc3RvcnlJdGVtQ2hpbGRyZW5WZWN0b3IgY2hpbGRIaXN0b3J5SXRlbXMoY29uc3QgRXdrX0hp
c3RvcnlfSXRlbSopOwogICAgIHN0YXRpYyBTdHJpbmcgaGlzdG9yeUl0ZW1UYXJnZXQoY29uc3Qg
RXdrX0hpc3RvcnlfSXRlbSopOwogICAgIHN0YXRpYyBib29sIGlzVGFyZ2V0SXRlbShjb25zdCBF
d2tfSGlzdG9yeV9JdGVtKik7CisgICAgc3RhdGljIHZvaWQgZXZhbHVhdGVJbldlYkluc3BlY3Rv
cihjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUsIGxvbmcgY2FsbElkLCBjb25zdCBTdHJpbmcm
IHNjcmlwdCk7CiAgICAgc3RhdGljIHZvaWQgZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQo
Y29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBpbnQgd29ybGRJRCwgSlNPYmplY3RSZWYgZ2xv
YmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIHNjcmlwdCk7CiAgICAgc3RhdGljIEpTR2xvYmFsQ29u
dGV4dFJlZiBnbG9iYWxDb250ZXh0UmVmRm9yRnJhbWUoY29uc3QgRXZhc19PYmplY3QqIGV3a0Zy
YW1lKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmlu
ZGV4IDAxNDFmNmM1NmE4NjFhOGFjZjY0NTY0YjA3MDIwN2Y4MjA0OGVhNWIuLjQ5Y2UxNjk4ZWEw
MjhiMWI3NTIwMDRmMTBhMGUwMjgxN2UyODJlZDEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxv
ZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMyBAQAorMjAxMi0wNS0zMSAgU2Vv
a2p1IEt3b24gIDxzZW9ranUua3dvbkBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtEUlRd
IEFkZCBzdXBwb3J0IGZvciBXZWIgSW5zcGVjdG9yIGluIFdlYmtpdC1FRkwgRFJUCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzkzNQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0IGlzIHRoZSBmaXJzdCBz
dGVwIHRvIHN1cHBvcnQgZm9yIFdlYiBJbnNwZWN0b3IgaW4gV2ViS2l0LUVGTCBEUlQKKworICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgIChz
aG91bGRPcGVuV2ViSW5zcGVjdG9yKToKKyAgICAgICAgKGNyZWF0ZUxheW91dFRlc3RDb250cm9s
bGVyKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUu
Y3BwOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6OkR1bXBSZW5kZXJUcmVlQ2hyb21l
KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVWaWV3KToKKyAgICAgICAg
KER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVXZWJJbnNwZWN0b3JWaWV3KToKKyAgICAgICAg
KER1bXBSZW5kZXJUcmVlQ2hyb21lOjpyZW1vdmVXZWJJbnNwZWN0b3JWaWV3KToKKyAgICAgICAg
KER1bXBSZW5kZXJUcmVlQ2hyb21lOjppbnNwZWN0b3JWaWV3KToKKyAgICAgICAgKER1bXBSZW5k
ZXJUcmVlQ2hyb21lOjpvbkluc3BlY3RvclZpZXdDcmVhdGUpOgorICAgICAgICAoRHVtcFJlbmRl
clRyZWVDaHJvbWU6Om9uSW5zcGVjdG9yVmlld0Nsb3NlKToKKyAgICAgICAgKER1bXBSZW5kZXJU
cmVlQ2hyb21lOjpvbkluc3BlY3RvckZyYW1lTG9hZEZpbmlzaGVkKToKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaDoKKyAgICAgICAgKER1bXBSZW5k
ZXJUcmVlQ2hyb21lKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRy
ZWVWaWV3LmNwcDoKKyAgICAgICAgKG9uQ29uc29sZU1lc3NhZ2UpOgorICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHA6CisgICAgICAgIChMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0
Q29udHJvbGxlcjo6Y2xvc2VXZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRy
b2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IpOgorCiAyMDEyLTA1LTMwICBTdGVwaGFuaWUg
TGV3aXMgIDxzbGV3aXNAYXBwbGUuY29tPgogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04NzgwMwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvZWZsL0R1bXBSZW5kZXJUcmVlLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1w
UmVuZGVyVHJlZS5jcHAKaW5kZXggNjY4YWE0NmEwODA1NTVjYzFhZDY0N2RmOTFmNDU1N2M1NzAz
MjY0Zi4uNDE1NmI5OTBiYTg2MDkwMWY0OWVjNjg1OGNmN2VmZGE0MzRkMjI5NSAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlLmNwcAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWUuY3BwCkBAIC0xMTQsNiArMTE0LDEx
IEBAIHN0YXRpYyBib29sIHNob3VsZER1bXBBc1RleHQoY29uc3QgU3RyaW5nJiBwYXRoT3JVUkwp
CiAgICAgcmV0dXJuIHBhdGhPclVSTC5jb250YWlucygiZHVtcEFzVGV4dC8iKTsKIH0KIAorc3Rh
dGljIGJvb2wgc2hvdWxkT3BlbldlYkluc3BlY3Rvcihjb25zdCBTdHJpbmcmIHBhdGhPclVSTCkK
K3sKKyAgICByZXR1cm4gcGF0aE9yVVJMLmNvbnRhaW5zKCJpbnNwZWN0b3IvIik7Cit9CisKIHN0
YXRpYyB2b2lkIHNlbmRQaXhlbFJlc3VsdHNFT0YoKQogewogICAgIHB1dHMoIiNFT0YiKTsKQEAg
LTIxMiw2ICsyMTcsOCBAQCBzdGF0aWMgdm9pZCBjcmVhdGVMYXlvdXRUZXN0Q29udHJvbGxlcihj
b25zdCBTdHJpbmcmIHRlc3RVUkwsIGNvbnN0IFN0cmluZyYgZXhwZQogICAgICAgICBnTGF5b3V0
VGVzdENvbnRyb2xsZXItPnNldER1bXBGcmFtZUxvYWRDYWxsYmFja3ModHJ1ZSk7CiAKICAgICBn
TGF5b3V0VGVzdENvbnRyb2xsZXItPnNldERldmVsb3BlckV4dHJhc0VuYWJsZWQodHJ1ZSk7Cisg
ICAgaWYgKHNob3VsZE9wZW5XZWJJbnNwZWN0b3IodGVzdFVSTCkpCisgICAgICAgIGdMYXlvdXRU
ZXN0Q29udHJvbGxlci0+c2hvd1dlYkluc3BlY3RvcigpOwogCiAgICAgaWYgKHNob3VsZER1bXBB
c1RleHQodGVzdFVSTCkpIHsKICAgICAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5zZXREdW1w
QXNUZXh0KHRydWUpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBS
ZW5kZXJUcmVlQ2hyb21lLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVy
VHJlZUNocm9tZS5jcHAKaW5kZXggZDk1YmY4MTBmNjYwMzJiOTdlN2Q4YTJhMjlkYmYzNDI0YTg3
MWVhOC4uNjRiYjAyODZlY2ViNTE0ODFiYjA5MGRjMDNjYTNiMjRjODY4YjMxOCAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcAorKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCkBAIC02
OCw2ICs2OCw3IEBAIFBhc3NPd25QdHI8RHVtcFJlbmRlclRyZWVDaHJvbWU+IER1bXBSZW5kZXJU
cmVlQ2hyb21lOjpjcmVhdGUoRXZhcyogZXZhcykKIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpEdW1w
UmVuZGVyVHJlZUNocm9tZShFdmFzKiBldmFzKQogICAgIDogbV9tYWluVmlldygwKQogICAgICwg
bV9tYWluRnJhbWUoMCkKKyAgICAsIG1faW5zcGVjdG9yVmlldygwKQogICAgICwgbV9ldmFzKGV2
YXMpCiAgICAgLCBtX2djQ29udHJvbGxlcihhZG9wdFB0cihuZXcgR0NDb250cm9sbGVyKSkKIHsK
QEAgLTExMSw2ICsxMTIsOSBAQCBFdmFzX09iamVjdCogRHVtcFJlbmRlclRyZWVDaHJvbWU6OmNy
ZWF0ZVZpZXcoKSBjb25zdAogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3
LCAibWl4ZWRjb250ZW50LGRpc3BsYXllZCIsIG9uSW5zZWN1cmVDb250ZW50RGlzcGxheWVkLCAw
KTsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQodmlldywgImZyYW1lLGNyZWF0
ZWQiLCBvbkZyYW1lQ3JlYXRlZCwgMCk7CiAKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFj
a19hZGQodmlldywgImluc3BlY3Rvcix2aWV3LGNyZWF0ZSIsIG9uSW5zcGVjdG9yVmlld0NyZWF0
ZSwgMCk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJpbnNwZWN0
b3IsdmlldyxjbG9zZSIsIG9uSW5zcGVjdG9yVmlld0Nsb3NlLCAwKTsKKwogICAgIGNvbm5lY3RF
ZGl0aW5nQ2FsbGJhY2tzKHZpZXcpOwogCiAgICAgRXZhc19PYmplY3QqIG1haW5GcmFtZSA9IGV3
a192aWV3X2ZyYW1lX21haW5fZ2V0KHZpZXcpOwpAQCAtMTMwLDYgKzEzNCwzNyBAQCBFdmFzX09i
amVjdCogRHVtcFJlbmRlclRyZWVDaHJvbWU6OmNyZWF0ZVZpZXcoKSBjb25zdAogICAgIHJldHVy
biB2aWV3OwogfQogCitFdmFzX09iamVjdCogRHVtcFJlbmRlclRyZWVDaHJvbWU6OmNyZWF0ZVdl
Ykluc3BlY3RvclZpZXcoKQoreworICAgIEV2YXNfT2JqZWN0KiBpbnNwZWN0b3IgPSBkcnRWaWV3
QWRkKG1fZXZhcyk7CisgICAgaWYgKCFpbnNwZWN0b3IpCisgICAgICAgIHJldHVybiAwOworCisg
ICAgZXdrX3ZpZXdfdGhlbWVfc2V0KGluc3BlY3RvciwgREFUQV9ESVIiL2RlZmF1bHQuZWRqIik7
CisKKyAgICBFdmFzX09iamVjdCogbWFpbkZyYW1lID0gZXdrX3ZpZXdfZnJhbWVfbWFpbl9nZXQo
aW5zcGVjdG9yKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQobWFpbkZyYW1l
LCAibG9hZCxmaW5pc2hlZCIsIG9uSW5zcGVjdG9yRnJhbWVMb2FkRmluaXNoZWQsIDApOworCisg
ICAgZXZhc19vYmplY3RfcmVzaXplKGluc3BlY3RvciwgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1h
eFZpZXdXaWR0aCwgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1heFZpZXdIZWlnaHQpOworICAgIGV2
YXNfb2JqZWN0X3Nob3coaW5zcGVjdG9yKTsKKyAgICBldmFzX29iamVjdF9mb2N1c19zZXQoaW5z
cGVjdG9yLCBFSU5BX1RSVUUpOworCisgICAgbV9pbnNwZWN0b3JWaWV3ID0gaW5zcGVjdG9yOwor
ICAgIHJldHVybiBpbnNwZWN0b3I7Cit9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6OnJl
bW92ZVdlYkluc3BlY3RvclZpZXcoKQoreworICAgIGlmICghbV9pbnNwZWN0b3JWaWV3KQorICAg
ICAgICByZXR1cm47CisKKyAgICBFdmFzX09iamVjdCogbWFpbkZyYW1lID0gZXdrX3ZpZXdfZnJh
bWVfbWFpbl9nZXQobV9pbnNwZWN0b3JWaWV3KTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxs
YmFja19kZWwobWFpbkZyYW1lLCAibG9hZCxmaW5pc2hlZCIsIG9uSW5zcGVjdG9yRnJhbWVMb2Fk
RmluaXNoZWQpOworCisgICAgZXZhc19vYmplY3RfZGVsKG1faW5zcGVjdG9yVmlldyk7CisgICAg
bV9pbnNwZWN0b3JWaWV3ID0gMDsKK30KKwogdm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6cmVt
b3ZlV2luZG93KEV2YXNfT2JqZWN0KiB2aWV3KQogewogICAgIGNvbnN0IHNpemVfdCBwb3MgPSBt
X2V4dHJhVmlld3MuZmluZCh2aWV3KTsKQEAgLTIwMiw2ICsyMzcsMTEgQEAgRXdrX0ludGVudF9S
ZXF1ZXN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3VycmVudEludGVudFJlcXVlc3QoKSBjb25z
dAogICAgIHJldHVybiBtX2N1cnJlbnRJbnRlbnRSZXF1ZXN0OwogfQogCitFdmFzX09iamVjdCog
RHVtcFJlbmRlclRyZWVDaHJvbWU6Omluc3BlY3RvclZpZXcoKSBjb25zdAoreworICAgIHJldHVy
biBtX2luc3BlY3RvclZpZXc7Cit9CisKIHZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6OnJlc2V0
RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogewogICAgIGV3a19zZXR0aW5nc19pY29uX2Rh
dGFiYXNlX2NsZWFyKCk7CkBAIC01NDUsNiArNTg1LDI0IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVD
aHJvbWU6Om9uRnJhbWVDcmVhdGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqIGV2ZW50SW5m
bykKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQoZnJhbWUsICJ4c3MsZGV0ZWN0
ZWQiLCBvbkRpZERldGVjdFhTUywgMCk7CiB9CiAKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6
Om9uSW5zcGVjdG9yVmlld0NyZWF0ZSh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKiBldmVudElu
Zm8pCit7CisgICAgRXZhc19PYmplY3QqKiB2aWV3ID0gc3RhdGljX2Nhc3Q8RXZhc19PYmplY3Qg
Kio+KGV2ZW50SW5mbyk7CisgICAgRXZhc19PYmplY3QqIGluc3BlY3RvclZpZXcgPSBicm93c2Vy
LT5jcmVhdGVXZWJJbnNwZWN0b3JWaWV3KCk7CisgICAgKnZpZXcgPSBpbnNwZWN0b3JWaWV3Owor
fQorCit2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkluc3BlY3RvclZpZXdDbG9zZSh2b2lk
KiwgRXZhc19PYmplY3QqLCB2b2lkKiBldmVudEluZm8pCit7CisgICAgYnJvd3Nlci0+cmVtb3Zl
V2ViSW5zcGVjdG9yVmlldygpOworfQorCit2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbklu
c3BlY3RvckZyYW1lTG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCogZnJhbWUsIHZvaWQq
IGV2ZW50SW5mbykKK3sKKyAgICBpZiAoYnJvd3Nlci0+aW5zcGVjdG9yVmlldygpKQorICAgICAg
ICBlY29yZV9tYWluX2xvb3BfcXVpdCgpOworfQorCiB2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21l
OjpvbkZyYW1lUHJvdmlzaW9uYWxMb2FkKHZvaWQqLCBFdmFzX09iamVjdCogZnJhbWUsIHZvaWQq
KQogewogICAgIGlmICghZG9uZSAmJiBnTGF5b3V0VGVzdENvbnRyb2xsZXItPmR1bXBGcmFtZUxv
YWRDYWxsYmFja3MoKSkgewpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1
bXBSZW5kZXJUcmVlQ2hyb21lLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRl
clRyZWVDaHJvbWUuaAppbmRleCAwZDNiM2YyZjM0NWJhNTkzNGQwMWZkMDA2MTdjMmQ0ODIyYTJh
ZmQwLi44ZGJlNmQ1MWYzYTJjMDBkYzU0OWFlYmRlNDNhYzYwOWM2NDdmOWQzIDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaAorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaApAQCAtNDgsMTEg
KzQ4LDE1IEBAIHB1YmxpYzoKICAgICBFdmFzX09iamVjdCogY3JlYXRlTmV3V2luZG93KCk7CiAg
ICAgdm9pZCByZW1vdmVXaW5kb3coRXZhc19PYmplY3QqKTsKIAorICAgIEV2YXNfT2JqZWN0KiBj
cmVhdGVXZWJJbnNwZWN0b3JWaWV3KCk7CisgICAgdm9pZCByZW1vdmVXZWJJbnNwZWN0b3JWaWV3
KCk7CisKICAgICBjb25zdCBWZWN0b3I8RXZhc19PYmplY3QqPiYgZXh0cmFWaWV3cygpIGNvbnN0
OwogICAgIHZvaWQgY2xlYXJFeHRyYVZpZXdzKCk7CiAKICAgICBFdmFzX09iamVjdCogbWFpbkZy
YW1lKCkgY29uc3Q7CiAgICAgRXZhc19PYmplY3QqIG1haW5WaWV3KCkgY29uc3Q7CisgICAgRXZh
c19PYmplY3QqIGluc3BlY3RvclZpZXcoKSBjb25zdDsKIAogICAgIEV3a19JbnRlbnRfUmVxdWVz
dCogY3VycmVudEludGVudFJlcXVlc3QoKSBjb25zdDsKIApAQCAtNjYsNiArNzAsNyBAQCBwcml2
YXRlOgogCiAgICAgRXZhc19PYmplY3QqIG1fbWFpbkZyYW1lOwogICAgIEV2YXNfT2JqZWN0KiBt
X21haW5WaWV3OworICAgIEV2YXNfT2JqZWN0KiBtX2luc3BlY3RvclZpZXc7CiAgICAgRXZhcyog
bV9ldmFzOwogICAgIE93blB0cjxHQ0NvbnRyb2xsZXI+IG1fZ2NDb250cm9sbGVyOwogICAgIFZl
Y3RvcjxFdmFzX09iamVjdCo+IG1fZXh0cmFWaWV3czsKQEAgLTk3LDYgKzEwMiwxMiBAQCBwcml2
YXRlOgogCiAgICAgc3RhdGljIHZvaWQgb25GcmFtZUNyZWF0ZWQodm9pZCosIEV2YXNfT2JqZWN0
Kiwgdm9pZCopOwogCisgICAgc3RhdGljIHZvaWQgb25JbnNwZWN0b3JWaWV3Q3JlYXRlKHZvaWQq
LCBFdmFzX09iamVjdCosIHZvaWQqKTsKKworICAgIHN0YXRpYyB2b2lkIG9uSW5zcGVjdG9yVmll
d0Nsb3NlKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKKworICAgIHN0YXRpYyB2b2lkIG9u
SW5zcGVjdG9yRnJhbWVMb2FkRmluaXNoZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOwor
CiAgICAgc3RhdGljIHZvaWQgb25GcmFtZUljb25DaGFuZ2VkKHZvaWQqLCBFdmFzX09iamVjdCos
IHZvaWQqKTsKIAogICAgIHN0YXRpYyB2b2lkIG9uRnJhbWVQcm92aXNpb25hbExvYWQodm9pZCos
IEV2YXNfT2JqZWN0Kiwgdm9pZCopOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
ZWZsL0R1bXBSZW5kZXJUcmVlVmlldy5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWVWaWV3LmNwcAppbmRleCBjZDhhZGM2ZmRjN2JkNzczNWIyNTMzMDMzNDRhYTU5
MDA3MWE2MTkzLi40OWMxODY4NzVjNGMzZDRjZTc3Y2E0ZDUwZmM3MDhjNzJmNTAwOTU2IDEwMDY0
NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVWaWV3LmNwcAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVWaWV3LmNwcApAQCAt
NjIsNiArNjIsMTAgQEAgc3RhdGljIHZvaWQgb25Db25zb2xlTWVzc2FnZShFd2tfVmlld19TbWFy
dF9EYXRhKiwgY29uc3QgY2hhciogbWVzc2FnZSwgdW5zaWduZWQKICAgICAgICAgICAgIG5ld01l
c3NhZ2UgPSBuZXdNZXNzYWdlLmxlZnQoZmlsZVByb3RvY29sKSArIHVybFN1aXRhYmxlRm9yVGVz
dFJlc3VsdChuZXdNZXNzYWdlLnN1YnN0cmluZyhmaWxlUHJvdG9jb2wpKTsKICAgICB9CiAKKyAg
ICAvLyBJZ25vcmUgc2ltcGxlIHRyYW5zbGF0aW9uLXJlbGF0ZWQgbWVzc2FnZXMgYW5kIHVubmVj
ZXNzYXJ5IG1lc3NhZ2UKKyAgICBpZiAobmV3TWVzc2FnZS5jb250YWlucygiTG9jYWxpemVkIHN0
cmluZyIpIHx8IChuZXdNZXNzYWdlLmNvbnRhaW5zKCJQcm90b2NvbCBFcnJvcjogdGhlIG1lc3Nh
Z2UgaXMgZm9yIG5vbi1leGlzdGluZyBkb21haW4gJ1Byb2ZpbGVyJyIpKSkKKyAgICAgICAgcmV0
dXJuOworCiAgICAgcHJpbnRmKCJDT05TT0xFIE1FU1NBR0U6ICIpOwogICAgIGlmIChsaW5lTnVt
YmVyKQogICAgICAgICBwcmludGYoImxpbmUgJXU6ICIsIGxpbmVOdW1iZXIpOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcCBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKaW5k
ZXggNDUyZGZjZjI1YWEzZWU0NDk5OTYwYWYyYzM5MTVhODRmZTc1NzU3NC4uZGYyYzczNGE1ODhi
NjA3MDA5YWZkNjA0Mzc1YTkyZjJjNTlhZGU2OCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCkBAIC03MzksMTcgKzczOSwy
MSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRBc3luY2hyb25vdXNTcGVsbENoZWNr
aW5nRW5hYmxlZChib29sKQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzaG93V2ViSW5z
cGVjdG9yKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a192aWV3X3dlYl9pbnNw
ZWN0b3Jfc2hvdyhicm93c2VyLT5tYWluVmlldygpKTsKKworICAgIC8vIFdhaXQgdW50aWwgV2Vi
SW5zcGVjdG9yIHJlc291cmNlcyBhcmUgbG9hZGVkCisgICAgaWYgKGJyb3dzZXItPmluc3BlY3Rv
clZpZXcoKSkKKyAgICAgICAgZWNvcmVfbWFpbl9sb29wX2JlZ2luKCk7CiB9CiAKIHZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmNsb3NlV2ViSW5zcGVjdG9yKCkKIHsKLSAgICBub3RJbXBsZW1l
bnRlZCgpOworICAgIGV3a192aWV3X3dlYl9pbnNwZWN0b3JfY2xvc2UoYnJvd3Nlci0+bWFpblZp
ZXcoKSk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNw
ZWN0b3IobG9uZywgSlNTdHJpbmdSZWYpCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpldmFs
dWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElkLCBKU1N0cmluZ1JlZiBzY3JpcHQpCiB7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmV2YWx1
YXRlSW5XZWJJbnNwZWN0b3IoYnJvd3Nlci0+bWFpblZpZXcoKSwgY2FsbElkLCBTdHJpbmcoc2Ny
aXB0LT51c3RyaW5nKCkuaW1wbCgpKSk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkQW5kUmV0dXJuVmFsdWUodW5zaWduZWQsIEpT
T2JqZWN0UmVmLCBKU1N0cmluZ1JlZikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3YmFmNjU3Mzc4ZDFlNGYzNTY3Zjc1MmEw
ZTdkNWJhMTk0Njg0M2RlLi44ZmJkMDE1Y2JmMTMyM2FmMjMxZjRlYTBiYjcwYzQzMzk5OGFiMjkx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDUtMzEgIFNlb2tqdSBLd29uICA8c2Vva2p1
Lmt3b25Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1bRFJUXSBBZGQgc3VwcG9ydCBmb3Ig
V2ViIEluc3BlY3RvciBpbiBXZWJLaXQtRUZMIERSVAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc5MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJdCBpcyB0aGUgZmlyc3Qgc3RlcCB0byBzdXBwb3J0IGZv
ciBXZWIgSW5zcGVjdG9yIGluIFdlYktpdC1FRkwgRFJUCisKKyAgICAgICAgKiBwbGF0Zm9ybS9l
ZmwvU2tpcHBlZDoKKwogMjAxMi0wNS0zMSAgU2hhbmUgU3RlcGhlbnMgIDxzaGFuZXN0ZXBoZW5z
QGdvb2dsZS5jb20+CiAKICAgICAgICAgdGV4dC1kZWNvcmF0aW9uIHNob3VsZCBub3QgYmUgcHJv
cGFnYXRlZCB0aHJvdWdoIGFic29sdXRlbHkgcG9zaXRpb25lZCBlbGVtZW50cyB0byA8YT4gdGFn
cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAppbmRleCBiNjYwZjFlMjYwNThlOThmNWZiNWI4ZmVl
ZTAxOTQyZWRhMjY3MmQ3Li4zNTc4MmE0MDE1NTBhMTZhMWUzZDIzZDBmM2QzYjg5NmVmZWIzN2Y0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZApAQCAtMjk3LDkgKzI5Nyw5IEBAIHBsdWdpbnMK
IGFjY2Vzc2liaWxpdHkKIAogIyBUaGUgRUZMIHBvcnQgaGFzIG5vIHN1cHBvcnQgZm9yIHRoZSB3
ZWIgaW5zcGVjdG9yCi1pbnNwZWN0b3IKLWh0dHAvdGVzdHMvaW5zcGVjdG9yCi1odHRwL3Rlc3Rz
L2luc3BlY3Rvci1lbmFibGVkCisjaW5zcGVjdG9yCisjaHR0cC90ZXN0cy9pbnNwZWN0b3IKKyNo
dHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkCiAKICMgVGhlIEVGTCBwb3J0IGhhcyBubyBzdXBw
b3J0IGZvciBkZXZpY2UgbW90aW9uIGFuZCBvcmllbnRhdGlvbgogZmFzdC9kb20vRGV2aWNlTW90
aW9uCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145047</attachid>
            <date>2012-05-31 04:23:53 -0700</date>
            <delta_ts>2012-07-09 21:54:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87935-20120531202359.patch</filename>
            <type>text/plain</type>
            <size>14525</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5MDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggMGRhNjgzNGRk
ODNjMjE5ZmIxZTNiNzI2NTc1NThmNzI0YjFlY2NhYS4uZmY2ZmFhNmJjYTM1YjI2ZmQ1ZjNkZDI3
MjY2Y2U4ZTk2YmZhNzM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEy
LTA1LTMxICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAg
IFtFRkxdW0RSVF0gQWRkIHN1cHBvcnQgZm9yIFdlYiBJbnNwZWN0b3IgaW4gV2ViS2l0LUVGTCBE
UlQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3OTM1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViIElu
c3BlY3RvciBpbiBXZWJLaXQtRUZMIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQuIChTZWUgYnVnIDgz
ODY1KQorICAgICAgICBBZGQgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjpldmFsdWF0ZUluV2Vi
SW5zcGVjdG9yIGltcGxlbWVudGF0aW9uLgorICAgICAgICAoU2NyaXB0cyBmb3IgdGVzdCBjYW4g
YmUgZXZhbHVhdGVkIGluIFdlYiBJbnNwZWN0b3IuKQorCisgICAgICAgICogV2ViQ29yZVN1cHBv
cnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVl
U3VwcG9ydEVmbDo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcik6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmg6CisKIDIwMTItMDUtMzAgIENocmlzdG9w
aGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBF
RkwncyBEUlQgc2hvdWxkIHByaW50IHRoZSBudW1iZXIgb2YgTWVzc2FnZVBvcnRzIGZvciBuZXcg
ZWFjaCBuZXcgaW50ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcAppbmRleCA3ZTIxMjdhYjIy
MDJiOTE3MGMzMTZhYThiMTU0MDhjM2MwMjc0Y2U0Li4yNDE2NjM5MGE5Mzk2NWZiODkwNzNjM2Y0
OTIyYmVhODM2Y2JjNTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKQEAgLTUzNCw2ICs1
MzQsMTUgQEAgYm9vbCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmlzVGFyZ2V0SXRlbShjb25z
dCBFd2tfSGlzdG9yeV9JdGVtKiBld2tIaXN0b3J5SXQKICAgICByZXR1cm4gaGlzdG9yeUl0ZW0t
PmlzVGFyZ2V0SXRlbSgpOwogfQogCit2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6ZXZh
bHVhdGVJbldlYkluc3BlY3Rvcihjb25zdCBFdmFzX09iamVjdCogZXdrVmlldywgbG9uZyBjYWxs
SWQsIGNvbnN0IFN0cmluZyYgc2NyaXB0KQoreworICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBF
V0tQcml2YXRlOjpjb3JlUGFnZShld2tWaWV3KTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJl
dHVybjsKKworICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZXZhbHVhdGVGb3JUZXN0
SW5Gcm9udGVuZChjYWxsSWQsIHNjcmlwdCk7Cit9CisKIHZvaWQgRHVtcFJlbmRlclRyZWVTdXBw
b3J0RWZsOjpldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZChjb25zdCBFdmFzX09iamVjdCog
ZXdrRnJhbWUsIGludCB3b3JsZElELCBKU09iamVjdFJlZiBnbG9iYWxPYmplY3QsIGNvbnN0IFN0
cmluZyYgc2NyaXB0KQogewogICAgIFdlYkNvcmU6OkZyYW1lKiBjb3JlRnJhbWUgPSBFV0tQcml2
YXRlOjpjb3JlRnJhbWUoZXdrRnJhbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwv
V2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmggYi9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaAppbmRleCBjODAw
N2EyMTM1NzYxNWZkZWI2Njk3M2I3OWI3M2ExN2RjOGQ3MjkyLi4xZmRlOTRlMjAzZGU2MWE5NmNi
YjVlNjg4YzFlZmU3YjY3ZGMwMzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJD
b3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaApAQCAtOTQsNiAr
OTQsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEhpc3RvcnlJdGVtQ2hpbGRyZW5WZWN0b3IgY2hp
bGRIaXN0b3J5SXRlbXMoY29uc3QgRXdrX0hpc3RvcnlfSXRlbSopOwogICAgIHN0YXRpYyBTdHJp
bmcgaGlzdG9yeUl0ZW1UYXJnZXQoY29uc3QgRXdrX0hpc3RvcnlfSXRlbSopOwogICAgIHN0YXRp
YyBib29sIGlzVGFyZ2V0SXRlbShjb25zdCBFd2tfSGlzdG9yeV9JdGVtKik7CisgICAgc3RhdGlj
IHZvaWQgZXZhbHVhdGVJbldlYkluc3BlY3Rvcihjb25zdCBFdmFzX09iamVjdCogZXdrRnJhbWUs
IGxvbmcgY2FsbElkLCBjb25zdCBTdHJpbmcmIHNjcmlwdCk7CiAgICAgc3RhdGljIHZvaWQgZXZh
bHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lLCBp
bnQgd29ybGRJRCwgSlNPYmplY3RSZWYgZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIHNjcmlw
dCk7CiAgICAgc3RhdGljIEpTR2xvYmFsQ29udGV4dFJlZiBnbG9iYWxDb250ZXh0UmVmRm9yRnJh
bWUoY29uc3QgRXZhc19PYmplY3QqIGV3a0ZyYW1lKTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDAxNDFmNmM1NmE4NjFhOGFjZjY0NTY0YjA3
MDIwN2Y4MjA0OGVhNWIuLmM0ODMzNjUxMDRmYWQyZGM1OWJhMjg2N2I5OTVjNDBkMTEyY2ZiZmMg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNiBAQAorMjAxMi0wNS0zMSAgU2Vva2p1IEt3b24gIDxzZW9ranUua3dvbkBzYW1zdW5n
LmNvbT4KKworICAgICAgICBbRUZMXVtEUlRdIEFkZCBzdXBwb3J0IGZvciBXZWIgSW5zcGVjdG9y
IGluIFdlYmtpdC1FRkwgRFJUCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NzkzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3IgaW4gV2ViS2l0LUVGTCBpcyBub3QgaW1wbGVtZW50ZWQg
eWV0LiAoU2VlIGJ1ZyA4Mzg2NSkKKyAgICAgICAgV2ViIEluc3BlY3RvciB3aWxsIGJlIHNob3du
IHdoZW4gcGF0aCBvciB1cmwgY29udGFpbnMgImluc3BlY3Rvci8iLgorICAgICAgICBEUlQgc2hv
dWxkIGhhbmRsZSAiaW5zcGVjdG9yLHZpZXcsY3JlYXRlIiBhbmQgImluc3BlY3Rvcix2aWV3LGNs
b3NlIiBldmVudHMgZm9yIEluc3BlY3RvckNsaWVudEVmbC4KKyAgICAgICAgVGVzdCBjYXNlcyBh
cmUgdXNpbmcgV2ViIEluc3BlY3RvciByZXNvdXJjZXMgYW5kIERSVCBzaG91bGQgd2FpdCB1dGls
IHRoZXkgYXJlIGxvYWRlZCB0b3RhbGx5LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZs
L0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHNob3VsZE9wZW5XZWJJbnNwZWN0b3IpOgor
ICAgICAgICAoY3JlYXRlTGF5b3V0VGVzdENvbnRyb2xsZXIpOgorICAgICAgICAqIER1bXBSZW5k
ZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHA6CisgICAgICAgIChEdW1wUmVuZGVy
VHJlZUNocm9tZTo6RHVtcFJlbmRlclRyZWVDaHJvbWUpOgorICAgICAgICAoRHVtcFJlbmRlclRy
ZWVDaHJvbWU6OmNyZWF0ZVZpZXcpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6OmNy
ZWF0ZVdlYkluc3BlY3RvclZpZXcpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6OnJl
bW92ZVdlYkluc3BlY3RvclZpZXcpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6Omlu
c3BlY3RvclZpZXcpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uSW5zcGVjdG9y
Vmlld0NyZWF0ZSk6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25JbnNwZWN0b3JW
aWV3Q2xvc2UpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uSW5zcGVjdG9yRnJh
bWVMb2FkRmluaXNoZWQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVy
VHJlZUNocm9tZS5oOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWUpOgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZVZpZXcuY3BwOgorICAgICAgICAob25D
b25zb2xlTWVzc2FnZSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RD
b250cm9sbGVyRWZsLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzaG93V2Vi
SW5zcGVjdG9yKToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpjbG9zZVdlYkluc3Bl
Y3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbldlYkluc3Bl
Y3Rvcik6CisKIDIwMTItMDUtMzAgIFN0ZXBoYW5pZSBMZXdpcyAgPHNsZXdpc0BhcHBsZS5jb20+
CiAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3ODAz
CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWUuY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCA2Njhh
YTQ2YTA4MDU1NWNjMWFkNjQ3ZGY5MWY0NTU3YzU3MDMyNjRmLi40MTU2Yjk5MGJhODYwOTAxZjQ5
ZWM2ODU4Y2Y3ZWZkYTQzNGQyMjk1IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9l
ZmwvRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1w
UmVuZGVyVHJlZS5jcHAKQEAgLTExNCw2ICsxMTQsMTEgQEAgc3RhdGljIGJvb2wgc2hvdWxkRHVt
cEFzVGV4dChjb25zdCBTdHJpbmcmIHBhdGhPclVSTCkKICAgICByZXR1cm4gcGF0aE9yVVJMLmNv
bnRhaW5zKCJkdW1wQXNUZXh0LyIpOwogfQogCitzdGF0aWMgYm9vbCBzaG91bGRPcGVuV2ViSW5z
cGVjdG9yKGNvbnN0IFN0cmluZyYgcGF0aE9yVVJMKQoreworICAgIHJldHVybiBwYXRoT3JVUkwu
Y29udGFpbnMoImluc3BlY3Rvci8iKTsKK30KKwogc3RhdGljIHZvaWQgc2VuZFBpeGVsUmVzdWx0
c0VPRigpCiB7CiAgICAgcHV0cygiI0VPRiIpOwpAQCAtMjEyLDYgKzIxNyw4IEBAIHN0YXRpYyB2
b2lkIGNyZWF0ZUxheW91dFRlc3RDb250cm9sbGVyKGNvbnN0IFN0cmluZyYgdGVzdFVSTCwgY29u
c3QgU3RyaW5nJiBleHBlCiAgICAgICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+c2V0RHVtcEZy
YW1lTG9hZENhbGxiYWNrcyh0cnVlKTsKIAogICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+c2V0
RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCh0cnVlKTsKKyAgICBpZiAoc2hvdWxkT3BlbldlYkluc3Bl
Y3Rvcih0ZXN0VVJMKSkKKyAgICAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5zaG93V2ViSW5z
cGVjdG9yKCk7CiAKICAgICBpZiAoc2hvdWxkRHVtcEFzVGV4dCh0ZXN0VVJMKSkgewogICAgICAg
ICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNldER1bXBBc1RleHQodHJ1ZSk7CmRpZmYgLS1naXQg
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwIGIvVG9v
bHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcAppbmRleCBkOTVi
ZjgxMGY2NjAzMmI5N2U3ZDhhMmEyOWRiZjM0MjRhODcxZWE4Li5kNGFmYzJlODk2MjI5NDhlZGI2
ZDQyNGRkYjcxZDUwNjI4MTA5MjMzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9l
ZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Vm
bC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAKQEAgLTY4LDYgKzY4LDcgQEAgUGFzc093blB0cjxE
dW1wUmVuZGVyVHJlZUNocm9tZT4gRHVtcFJlbmRlclRyZWVDaHJvbWU6OmNyZWF0ZShFdmFzKiBl
dmFzKQogRHVtcFJlbmRlclRyZWVDaHJvbWU6OkR1bXBSZW5kZXJUcmVlQ2hyb21lKEV2YXMqIGV2
YXMpCiAgICAgOiBtX21haW5WaWV3KDApCiAgICAgLCBtX21haW5GcmFtZSgwKQorICAgICwgbV9p
bnNwZWN0b3JWaWV3KDApCiAgICAgLCBtX2V2YXMoZXZhcykKICAgICAsIG1fZ2NDb250cm9sbGVy
KGFkb3B0UHRyKG5ldyBHQ0NvbnRyb2xsZXIpKQogewpAQCAtMTExLDYgKzExMiw5IEBAIEV2YXNf
T2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRlVmlldygpIGNvbnN0CiAgICAgZXZh
c19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJtaXhlZGNvbnRlbnQsZGlzcGxheWVk
Iiwgb25JbnNlY3VyZUNvbnRlbnREaXNwbGF5ZWQsIDApOwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0
X2NhbGxiYWNrX2FkZCh2aWV3LCAiZnJhbWUsY3JlYXRlZCIsIG9uRnJhbWVDcmVhdGVkLCAwKTsK
IAorICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAiaW5zcGVjdG9yLHZp
ZXcsY3JlYXRlIiwgb25JbnNwZWN0b3JWaWV3Q3JlYXRlLCAwKTsKKyAgICBldmFzX29iamVjdF9z
bWFydF9jYWxsYmFja19hZGQodmlldywgImluc3BlY3Rvcix2aWV3LGNsb3NlIiwgb25JbnNwZWN0
b3JWaWV3Q2xvc2UsIDApOworCiAgICAgY29ubmVjdEVkaXRpbmdDYWxsYmFja3Modmlldyk7CiAK
ICAgICBFdmFzX09iamVjdCogbWFpbkZyYW1lID0gZXdrX3ZpZXdfZnJhbWVfbWFpbl9nZXQodmll
dyk7CkBAIC0xMzAsNiArMTM0LDM3IEBAIEV2YXNfT2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9t
ZTo6Y3JlYXRlVmlldygpIGNvbnN0CiAgICAgcmV0dXJuIHZpZXc7CiB9CiAKK0V2YXNfT2JqZWN0
KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRlV2ViSW5zcGVjdG9yVmlldygpCit7CisgICAg
RXZhc19PYmplY3QqIGluc3BlY3RvciA9IGRydFZpZXdBZGQobV9ldmFzKTsKKyAgICBpZiAoIWlu
c3BlY3RvcikKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBld2tfdmlld190aGVtZV9zZXQoaW5z
cGVjdG9yLCBEQVRBX0RJUiIvZGVmYXVsdC5lZGoiKTsKKworICAgIEV2YXNfT2JqZWN0KiBtYWlu
RnJhbWUgPSBld2tfdmlld19mcmFtZV9tYWluX2dldChpbnNwZWN0b3IpOworICAgIGV2YXNfb2Jq
ZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChtYWluRnJhbWUsICJsb2FkLGZpbmlzaGVkIiwgb25JbnNw
ZWN0b3JGcmFtZUxvYWRGaW5pc2hlZCwgMCk7CisKKyAgICBldmFzX29iamVjdF9yZXNpemUoaW5z
cGVjdG9yLCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bWF4Vmlld1dpZHRoLCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6bWF4Vmlld0hlaWdodCk7CisgICAgZXZhc19vYmplY3Rfc2hvdyhpbnNwZWN0b3Ip
OworICAgIGV2YXNfb2JqZWN0X2ZvY3VzX3NldChpbnNwZWN0b3IsIHRydWUpOworCisgICAgbV9p
bnNwZWN0b3JWaWV3ID0gaW5zcGVjdG9yOworICAgIHJldHVybiBpbnNwZWN0b3I7Cit9CisKK3Zv
aWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6OnJlbW92ZVdlYkluc3BlY3RvclZpZXcoKQoreworICAg
IGlmICghbV9pbnNwZWN0b3JWaWV3KQorICAgICAgICByZXR1cm47CisKKyAgICBFdmFzX09iamVj
dCogbWFpbkZyYW1lID0gZXdrX3ZpZXdfZnJhbWVfbWFpbl9nZXQobV9pbnNwZWN0b3JWaWV3KTsK
KyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19kZWwobWFpbkZyYW1lLCAibG9hZCxmaW5p
c2hlZCIsIG9uSW5zcGVjdG9yRnJhbWVMb2FkRmluaXNoZWQpOworCisgICAgZXZhc19vYmplY3Rf
ZGVsKG1faW5zcGVjdG9yVmlldyk7CisgICAgbV9pbnNwZWN0b3JWaWV3ID0gMDsKK30KKwogdm9p
ZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6cmVtb3ZlV2luZG93KEV2YXNfT2JqZWN0KiB2aWV3KQog
ewogICAgIGNvbnN0IHNpemVfdCBwb3MgPSBtX2V4dHJhVmlld3MuZmluZCh2aWV3KTsKQEAgLTIw
Miw2ICsyMzcsMTEgQEAgRXdrX0ludGVudF9SZXF1ZXN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6
Y3VycmVudEludGVudFJlcXVlc3QoKSBjb25zdAogICAgIHJldHVybiBtX2N1cnJlbnRJbnRlbnRS
ZXF1ZXN0OwogfQogCitFdmFzX09iamVjdCogRHVtcFJlbmRlclRyZWVDaHJvbWU6Omluc3BlY3Rv
clZpZXcoKSBjb25zdAoreworICAgIHJldHVybiBtX2luc3BlY3RvclZpZXc7Cit9CisKIHZvaWQg
RHVtcFJlbmRlclRyZWVDaHJvbWU6OnJlc2V0RGVmYXVsdHNUb0NvbnNpc3RlbnRWYWx1ZXMoKQog
ewogICAgIGV3a19zZXR0aW5nc19pY29uX2RhdGFiYXNlX2NsZWFyKCk7CkBAIC01NDUsNiArNTg1
LDI0IEBAIHZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uRnJhbWVDcmVhdGVkKHZvaWQqLCBF
dmFzX09iamVjdCosIHZvaWQqIGV2ZW50SW5mbykKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxs
YmFja19hZGQoZnJhbWUsICJ4c3MsZGV0ZWN0ZWQiLCBvbkRpZERldGVjdFhTUywgMCk7CiB9CiAK
K3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uSW5zcGVjdG9yVmlld0NyZWF0ZSh2b2lkKiwg
RXZhc19PYmplY3QqLCB2b2lkKiBldmVudEluZm8pCit7CisgICAgRXZhc19PYmplY3QqKiB2aWV3
ID0gc3RhdGljX2Nhc3Q8RXZhc19PYmplY3QgKio+KGV2ZW50SW5mbyk7CisgICAgRXZhc19PYmpl
Y3QqIGluc3BlY3RvclZpZXcgPSBicm93c2VyLT5jcmVhdGVXZWJJbnNwZWN0b3JWaWV3KCk7Cisg
ICAgKnZpZXcgPSBpbnNwZWN0b3JWaWV3OworfQorCit2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21l
Ojpvbkluc3BlY3RvclZpZXdDbG9zZSh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKiBldmVudElu
Zm8pCit7CisgICAgYnJvd3Nlci0+cmVtb3ZlV2ViSW5zcGVjdG9yVmlldygpOworfQorCit2b2lk
IER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkluc3BlY3RvckZyYW1lTG9hZEZpbmlzaGVkKHZvaWQq
LCBFdmFzX09iamVjdCogZnJhbWUsIHZvaWQqIGV2ZW50SW5mbykKK3sKKyAgICBpZiAoYnJvd3Nl
ci0+aW5zcGVjdG9yVmlldygpKQorICAgICAgICBlY29yZV9tYWluX2xvb3BfcXVpdCgpOworfQor
CiB2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkZyYW1lUHJvdmlzaW9uYWxMb2FkKHZvaWQq
LCBFdmFzX09iamVjdCogZnJhbWUsIHZvaWQqKQogewogICAgIGlmICghZG9uZSAmJiBnTGF5b3V0
VGVzdENvbnRyb2xsZXItPmR1bXBGcmFtZUxvYWRDYWxsYmFja3MoKSkgewpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmggYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaAppbmRleCAwZDNiM2YyZjM0
NWJhNTkzNGQwMWZkMDA2MTdjMmQ0ODIyYTJhZmQwLi44ZGJlNmQ1MWYzYTJjMDBkYzU0OWFlYmRl
NDNhYzYwOWM2NDdmOWQzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWVDaHJvbWUuaAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJl
bmRlclRyZWVDaHJvbWUuaApAQCAtNDgsMTEgKzQ4LDE1IEBAIHB1YmxpYzoKICAgICBFdmFzX09i
amVjdCogY3JlYXRlTmV3V2luZG93KCk7CiAgICAgdm9pZCByZW1vdmVXaW5kb3coRXZhc19PYmpl
Y3QqKTsKIAorICAgIEV2YXNfT2JqZWN0KiBjcmVhdGVXZWJJbnNwZWN0b3JWaWV3KCk7CisgICAg
dm9pZCByZW1vdmVXZWJJbnNwZWN0b3JWaWV3KCk7CisKICAgICBjb25zdCBWZWN0b3I8RXZhc19P
YmplY3QqPiYgZXh0cmFWaWV3cygpIGNvbnN0OwogICAgIHZvaWQgY2xlYXJFeHRyYVZpZXdzKCk7
CiAKICAgICBFdmFzX09iamVjdCogbWFpbkZyYW1lKCkgY29uc3Q7CiAgICAgRXZhc19PYmplY3Qq
IG1haW5WaWV3KCkgY29uc3Q7CisgICAgRXZhc19PYmplY3QqIGluc3BlY3RvclZpZXcoKSBjb25z
dDsKIAogICAgIEV3a19JbnRlbnRfUmVxdWVzdCogY3VycmVudEludGVudFJlcXVlc3QoKSBjb25z
dDsKIApAQCAtNjYsNiArNzAsNyBAQCBwcml2YXRlOgogCiAgICAgRXZhc19PYmplY3QqIG1fbWFp
bkZyYW1lOwogICAgIEV2YXNfT2JqZWN0KiBtX21haW5WaWV3OworICAgIEV2YXNfT2JqZWN0KiBt
X2luc3BlY3RvclZpZXc7CiAgICAgRXZhcyogbV9ldmFzOwogICAgIE93blB0cjxHQ0NvbnRyb2xs
ZXI+IG1fZ2NDb250cm9sbGVyOwogICAgIFZlY3RvcjxFdmFzX09iamVjdCo+IG1fZXh0cmFWaWV3
czsKQEAgLTk3LDYgKzEwMiwxMiBAQCBwcml2YXRlOgogCiAgICAgc3RhdGljIHZvaWQgb25GcmFt
ZUNyZWF0ZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOwogCisgICAgc3RhdGljIHZvaWQg
b25JbnNwZWN0b3JWaWV3Q3JlYXRlKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKKworICAg
IHN0YXRpYyB2b2lkIG9uSW5zcGVjdG9yVmlld0Nsb3NlKHZvaWQqLCBFdmFzX09iamVjdCosIHZv
aWQqKTsKKworICAgIHN0YXRpYyB2b2lkIG9uSW5zcGVjdG9yRnJhbWVMb2FkRmluaXNoZWQodm9p
ZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOworCiAgICAgc3RhdGljIHZvaWQgb25GcmFtZUljb25D
aGFuZ2VkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKIAogICAgIHN0YXRpYyB2b2lkIG9u
RnJhbWVQcm92aXNpb25hbExvYWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlVmlldy5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVWaWV3LmNwcAppbmRleCBjZDhh
ZGM2ZmRjN2JkNzczNWIyNTMzMDMzNDRhYTU5MDA3MWE2MTkzLi40OWMxODY4NzVjNGMzZDRjZTc3
Y2E0ZDUwZmM3MDhjNzJmNTAwOTU2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9l
ZmwvRHVtcFJlbmRlclRyZWVWaWV3LmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwv
RHVtcFJlbmRlclRyZWVWaWV3LmNwcApAQCAtNjIsNiArNjIsMTAgQEAgc3RhdGljIHZvaWQgb25D
b25zb2xlTWVzc2FnZShFd2tfVmlld19TbWFydF9EYXRhKiwgY29uc3QgY2hhciogbWVzc2FnZSwg
dW5zaWduZWQKICAgICAgICAgICAgIG5ld01lc3NhZ2UgPSBuZXdNZXNzYWdlLmxlZnQoZmlsZVBy
b3RvY29sKSArIHVybFN1aXRhYmxlRm9yVGVzdFJlc3VsdChuZXdNZXNzYWdlLnN1YnN0cmluZyhm
aWxlUHJvdG9jb2wpKTsKICAgICB9CiAKKyAgICAvLyBJZ25vcmUgc2ltcGxlIHRyYW5zbGF0aW9u
LXJlbGF0ZWQgbWVzc2FnZXMgYW5kIHVubmVjZXNzYXJ5IG1lc3NhZ2UKKyAgICBpZiAobmV3TWVz
c2FnZS5jb250YWlucygiTG9jYWxpemVkIHN0cmluZyIpIHx8IChuZXdNZXNzYWdlLmNvbnRhaW5z
KCJQcm90b2NvbCBFcnJvcjogdGhlIG1lc3NhZ2UgaXMgZm9yIG5vbi1leGlzdGluZyBkb21haW4g
J1Byb2ZpbGVyJyIpKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgcHJpbnRmKCJDT05TT0xFIE1F
U1NBR0U6ICIpOwogICAgIGlmIChsaW5lTnVtYmVyKQogICAgICAgICBwcmludGYoImxpbmUgJXU6
ICIsIGxpbmVOdW1iZXIpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xh
eW91dFRlc3RDb250cm9sbGVyRWZsLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlv
dXRUZXN0Q29udHJvbGxlckVmbC5jcHAKaW5kZXggNDUyZGZjZjI1YWEzZWU0NDk5OTYwYWYyYzM5
MTVhODRmZTc1NzU3NC4uZGYyYzczNGE1ODhiNjA3MDA5YWZkNjA0Mzc1YTkyZjJjNTlhZGU2OCAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVy
RWZsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xs
ZXJFZmwuY3BwCkBAIC03MzksMTcgKzczOSwyMSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjpzZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZChib29sKQogCiB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKCkKIHsKLSAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIGV3a192aWV3X3dlYl9pbnNwZWN0b3Jfc2hvdyhicm93c2VyLT5tYWluVmlldygp
KTsKKworICAgIC8vIFdhaXQgdW50aWwgV2ViSW5zcGVjdG9yIHJlc291cmNlcyBhcmUgbG9hZGVk
CisgICAgaWYgKGJyb3dzZXItPmluc3BlY3RvclZpZXcoKSkKKyAgICAgICAgZWNvcmVfbWFpbl9s
b29wX2JlZ2luKCk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNsb3NlV2ViSW5z
cGVjdG9yKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a192aWV3X3dlYl9pbnNw
ZWN0b3JfY2xvc2UoYnJvd3Nlci0+bWFpblZpZXcoKSk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZywgSlNTdHJpbmdSZWYpCit2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElk
LCBKU1N0cmluZ1JlZiBzY3JpcHQpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBEdW1w
UmVuZGVyVHJlZVN1cHBvcnRFZmw6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoYnJvd3Nlci0+bWFp
blZpZXcoKSwgY2FsbElkLCBTdHJpbmcoc2NyaXB0LT51c3RyaW5nKCkuaW1wbCgpKSk7CiB9CiAK
IHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxk
QW5kUmV0dXJuVmFsdWUodW5zaWduZWQsIEpTT2JqZWN0UmVmLCBKU1N0cmluZ1JlZikKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA3YmFmNjU3Mzc4ZDFlNGYzNTY3Zjc1MmEwZTdkNWJhMTk0Njg0M2RlLi44OTQxYzE4MWVlMWJj
MDEyMjBkNGM0YjE1ZmVmMTBjYmMwYWU2NjlkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTIt
MDUtMzEgIFNlb2tqdSBLd29uICA8c2Vva2p1Lmt3b25Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bRFJUXSBBZGQgc3VwcG9ydCBmb3IgV2ViIEluc3BlY3RvciBpbiBXZWJLaXQtRUZMIERS
VAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc5MzUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJLaXQt
RUZMIERSVCByZXF1aXJlcyBXZWIgSW5zcGVjdG9yIGltcGxlbWVudGF0aW9uIHNvIHRoYXQgZm9s
bG93aW5nIHRlc3RzIG1pZ2h0IGJlIHJlbW92ZWQgZnJvbSBTa2lwcGVkIGxpc3QuCisgICAgICAg
IExheW91dFRlc3RzL2luc3BlY3RvcgorICAgICAgICBMYXlvdXRUZXN0cy9odHRwL3Rlc3QvaW5z
cGVjdG9yCisgICAgICAgIExheW91dFRlc3RzL2h0dHAvdGVzdC9pbnNwZWN0b3ItZW5hYmxlZAor
CisgICAgICAgICogcGxhdGZvcm0vZWZsL1NraXBwZWQ6CisKIDIwMTItMDUtMzEgIFNoYW5lIFN0
ZXBoZW5zICA8c2hhbmVzdGVwaGVuc0Bnb29nbGUuY29tPgogCiAgICAgICAgIHRleHQtZGVjb3Jh
dGlvbiBzaG91bGQgbm90IGJlIHByb3BhZ2F0ZWQgdGhyb3VnaCBhYnNvbHV0ZWx5IHBvc2l0aW9u
ZWQgZWxlbWVudHMgdG8gPGE+IHRhZ3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5kZXggYjY2
MGYxZTI2MDU4ZTk4ZjVmYjViOGZlZWUwMTk0MmVkYTI2NzJkNy4uOWNhZjA2YmQ1ZDVkMTI3Y2U2
ZGZlNzQ2ZGVhYjI5NzVkZTYxNzA2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
ZWZsL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKQEAgLTI5
NiwxMSArMjk2LDYgQEAgcGx1Z2lucwogIyBUaGUgRUZMIHBvcnQgaGFzIG5vIHN1cHBvcnQgZm9y
IGFjY2Vzc2liaWxpdHkgZmVhdHVyZXMKIGFjY2Vzc2liaWxpdHkKIAotIyBUaGUgRUZMIHBvcnQg
aGFzIG5vIHN1cHBvcnQgZm9yIHRoZSB3ZWIgaW5zcGVjdG9yCi1pbnNwZWN0b3IKLWh0dHAvdGVz
dHMvaW5zcGVjdG9yCi1odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkCi0KICMgVGhlIEVGTCBw
b3J0IGhhcyBubyBzdXBwb3J0IGZvciBkZXZpY2UgbW90aW9uIGFuZCBvcmllbnRhdGlvbgogZmFz
dC9kb20vRGV2aWNlTW90aW9uCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151398</attachid>
            <date>2012-07-09 21:54:44 -0700</date>
            <delta_ts>2012-07-13 04:09:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87935-20120710135443.patch</filename>
            <type>text/plain</type>
            <size>13619</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggNzU1Zjc5Yjdl
YTZmNTA5NTM2MzRiZjU5MTkzMDlkN2Q1NWFjYTVlNS4uNjNmOTg3MmNiZmFhNWE2OTk2OTRkMjg0
YTRhYzQ4NzhkNjZlYWQyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTA3LTA5ICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAg
IFtFRkxdW0RSVF0gQWRkIHN1cHBvcnQgZm9yIFdlYiBJbnNwZWN0b3IgaW4gV2ViS2l0LUVGTCBE
UlQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3OTM1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGlt
cGxlbWVudGF0aW9uIG9mIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6ZXZhbHVhdGVJbldlYklu
c3BlY3RvcigpLgorICAgICAgICBTb21lIHNjcmlwdHMgZm9yIHRlc3Qgc2hvdWxkIGJlIGV2YWx1
YXRlZCBpbiBmcm9udGVuZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEVmbC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmV2
YWx1YXRlSW5XZWJJbnNwZWN0b3IpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydEVmbC5oOgorCiAyMDEyLTA3LTA4ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hy
aXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gUkVHUkVTU0lPTiAocjEy
MjAzNSk6IGZ1bGxzY3JlZW4vZXhpdC1mdWxsLXNjcmVlbi1pZnJhbWUuaHRtbCBpcyBjcmFzaGlu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKaW5kZXggNjdiMjMxNzlkMzdhOTQyMDZlNjI5NmYy
OWRlMDM5NmViMjYyYWNkYS4uYWE3N2NjOTg0M2VhMjNlOWVmNDViNDM3M2U0NjRmMjJiNTVmMjE0
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCkBAIC01MjAsNiArNTIwLDE4IEBAIGJvb2wg
RHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjppc1RhcmdldEl0ZW0oY29uc3QgRXdrX0hpc3Rvcnlf
SXRlbSogZXdrSGlzdG9yeUl0CiAgICAgcmV0dXJuIGhpc3RvcnlJdGVtLT5pc1RhcmdldEl0ZW0o
KTsKIH0KIAordm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmV2YWx1YXRlSW5XZWJJbnNw
ZWN0b3IoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcsIGxvbmcgY2FsbElkLCBjb25zdCBTdHJp
bmcmIHNjcmlwdCkKK3sKKyAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gRVdLUHJpdmF0ZTo6Y29y
ZVBhZ2UoZXdrVmlldyk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisKKyNpZiBF
TkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkpCisg
ICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZXZhbHVhdGVGb3JUZXN0SW5Gcm9u
dGVuZChjYWxsSWQsIHNjcmlwdCk7CisjZW5kaWYKK30KKwogdm9pZCBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRFZmw6OmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKGNvbnN0IEV2YXNfT2JqZWN0
KiBld2tGcmFtZSwgaW50IHdvcmxkSUQsIEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCwgY29uc3Qg
U3RyaW5nJiBzY3JpcHQpCiB7CiAgICAgV2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZSA9IEVXS1By
aXZhdGU6OmNvcmVGcmFtZShld2tGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaCBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCmluZGV4IGU5
YmE3ZThhOWRjN2MzZjc3ZThiODdhYzIyZjM5ODk1N2RmM2ViMTcuLmVhMWVjOGYwYTExOGZmYjY0
YjMxZThmZmU5N2RjNmE1ZTYxYjNmNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCkBAIC05NCw2
ICs5NCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSGlzdG9yeUl0ZW1DaGlsZHJlblZlY3RvciBj
aGlsZEhpc3RvcnlJdGVtcyhjb25zdCBFd2tfSGlzdG9yeV9JdGVtKik7CiAgICAgc3RhdGljIFN0
cmluZyBoaXN0b3J5SXRlbVRhcmdldChjb25zdCBFd2tfSGlzdG9yeV9JdGVtKik7CiAgICAgc3Rh
dGljIGJvb2wgaXNUYXJnZXRJdGVtKGNvbnN0IEV3a19IaXN0b3J5X0l0ZW0qKTsKKyAgICBzdGF0
aWMgdm9pZCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3
LCBsb25nIGNhbGxJZCwgY29uc3QgU3RyaW5nJiBzY3JpcHQpOwogICAgIHN0YXRpYyB2b2lkIGV2
YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSwg
aW50IHdvcmxkSUQsIEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBzY3Jp
cHQpOwogICAgIHN0YXRpYyBKU0dsb2JhbENvbnRleHRSZWYgZ2xvYmFsQ29udGV4dFJlZkZvckZy
YW1lKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxNjY4ZGY2NDAzYjUwMDVhYThlMGIyY2Qy
YzQzMWM3YzQ3NmNlMWMyLi45NjJhMDg3MDYwMmZiZTllYTg3MWRmOTJkNjAyYmZlMWM0ZjE0ODEw
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzQgQEAKKzIwMTItMDctMDkgIFNlb2tqdSBLd29uICA8c2Vva2p1Lmt3b25Ac2Ftc3Vu
Zy5jb20+CisKKyAgICAgICAgW0VGTF1bRFJUXSBBZGQgc3VwcG9ydCBmb3IgV2ViIEluc3BlY3Rv
ciBpbiBXZWJraXQtRUZMIERSVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODc5MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yIHdpbGwgYmUgc2hvd24gd2hlbiBwYXRoIG9yIHVybCBj
b250YWlucyAiaW5zcGVjdG9yLyIuCisgICAgICAgIER1bXByZW5kZXJ0cmVlIHNob3VsZCB3YWl0
IHV0aWwgd2ViIGluc3BlY3RvciByZXNvdXJjZXMgYXJlIGxvYWRlZCB0b3RhbGx5CisgICAgICAg
IGFuZCBoYW5kbGUgdGhlIHNpZ25hbHMgZm9yIGNyZWF0aW5nIG9yIHJlbW92aW5nIGEgdmlldyBv
ZiB3ZWIgaW5zcGVjdG9yLgorICAgICAgICAoImluc3BlY3Rvcix2aWV3LGNyZWF0ZSIgYW5kICJp
bnNwZWN0b3IsdmlldyxjbG9zZSIpCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWUuY3BwOgorICAgICAgICAoc2hvdWxkT3BlbldlYkluc3BlY3Rvcik6CisgICAg
ICAgIChjcmVhdGVMYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVl
Q2hyb21lOjpjcmVhdGVWaWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVh
dGVXZWJJbnNwZWN0b3JWaWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpyZW1v
dmVXZWJJbnNwZWN0b3JWaWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbklu
c3BlY3RvclZpZXdDcmVhdGUpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uSW5z
cGVjdG9yVmlld0Nsb3NlKToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkluc3Bl
Y3RvckZyYW1lTG9hZEZpbmlzaGVkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWVDaHJvbWUuaDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVWaWV3LmNwcDoKKyAgICAg
ICAgKG9uQ29uc29sZU1lc3NhZ2UpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9MYXlv
dXRUZXN0Q29udHJvbGxlckVmbC5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VX
ZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5X
ZWJJbnNwZWN0b3IpOgorCiAyMDEyLTA3LTA4ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTIyMDc2LgpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlLmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggYWFjZTQ3NWI1ZDcz
YmNhOWNlZmNiMmJhZjcwNThhMDU0MWE0MTk1Ny4uYzQxNjNiMzkzZmRlMjQ3YTllNjJhZDRkOTEz
YjI2ZWY2OThmZDBmYyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBS
ZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRy
ZWUuY3BwCkBAIC0xMTYsNiArMTE2LDExIEBAIHN0YXRpYyBib29sIHNob3VsZER1bXBBc1RleHQo
Y29uc3QgU3RyaW5nJiBwYXRoT3JVUkwpCiAgICAgcmV0dXJuIHBhdGhPclVSTC5jb250YWlucygi
ZHVtcEFzVGV4dC8iKTsKIH0KIAorc3RhdGljIGJvb2wgc2hvdWxkT3BlbldlYkluc3BlY3Rvcihj
b25zdCBTdHJpbmcmIHBhdGhPclVSTCkKK3sKKyAgICByZXR1cm4gcGF0aE9yVVJMLmNvbnRhaW5z
KCJpbnNwZWN0b3IvIik7Cit9CisKIHN0YXRpYyB2b2lkIHNlbmRQaXhlbFJlc3VsdHNFT0YoKQog
ewogICAgIHB1dHMoIiNFT0YiKTsKQEAgLTIxOSw2ICsyMjQsOSBAQCBzdGF0aWMgdm9pZCBjcmVh
dGVMYXlvdXRUZXN0Q29udHJvbGxlcihjb25zdCBTdHJpbmcmIHRlc3RVUkwsIGNvbnN0IFN0cmlu
ZyYgZXhwZQogICAgICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNldER1bXBGcmFtZUxvYWRD
YWxsYmFja3ModHJ1ZSk7CiAKICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNldERldmVsb3Bl
ckV4dHJhc0VuYWJsZWQodHJ1ZSk7CisgICAgaWYgKHNob3VsZE9wZW5XZWJJbnNwZWN0b3IodGVz
dFVSTCkpCisgICAgICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+c2hvd1dlYkluc3BlY3Rvcigp
OworCiAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5zZXREdW1wSGlzdG9yeURlbGVnYXRlQ2Fs
bGJhY2tzKGlzR2xvYmFsSGlzdG9yeVRlc3QodGVzdFVSTCkpOwogCiAgICAgaWYgKHNob3VsZER1
bXBBc1RleHQodGVzdFVSTCkpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Vm
bC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWVDaHJvbWUuY3BwCmluZGV4IDhhOTAxYzQxZGUxZTU0NWRmNTdiMjU0N2RkYjMw
ZGNkYWM5NDA0OTQuLjMxNjZkYzM2NGUyNDJlYzM4YTc4ODNhMThiOTUwMjIzM2I3NGNlOTkgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNw
cApAQCAtMTE0LDYgKzExNCw4IEBAIEV2YXNfT2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6
Y3JlYXRlVmlldygpIGNvbnN0CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZp
ZXcsICJwZXJmb3JtLHNlcnZlcixyZWRpcmVjdCIsIG9uV2ViVmlld1NlcnZlclJlZGlyZWN0LCAw
KTsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQodmlldywgInBlcmZvcm0sY2xp
ZW50LHJlZGlyZWN0Iiwgb25XZWJWaWV3Q2xpZW50UmVkaXJlY3QsIDApOwogICAgIGV2YXNfb2Jq
ZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAicG9wdWxhdGUsdmlzaXRlZCxsaW5rcyIsIG9u
V2ViVmlld1BvcHVsYXRlVmlzaXRlZExpbmtzLCAwKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9j
YWxsYmFja19hZGQodmlldywgImluc3BlY3Rvcix2aWV3LGNyZWF0ZSIsIG9uSW5zcGVjdG9yVmll
d0NyZWF0ZSwgMCk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJp
bnNwZWN0b3IsdmlldyxjbG9zZSIsIG9uSW5zcGVjdG9yVmlld0Nsb3NlLCAwKTsKIAogICAgIGNv
bm5lY3RFZGl0aW5nQ2FsbGJhY2tzKHZpZXcpOwogCkBAIC0xMzUsNiArMTM3LDM5IEBAIEV2YXNf
T2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRlVmlldygpIGNvbnN0CiAgICAgcmV0
dXJuIHZpZXc7CiB9CiAKK0V2YXNfT2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRl
V2ViSW5zcGVjdG9yVmlldygpCit7CisgICAgRXZhc19PYmplY3QqIGluc3BlY3RvclZpZXcgPSBk
cnRWaWV3QWRkKG1fZXZhcyk7CisgICAgaWYgKCFpbnNwZWN0b3JWaWV3KQorICAgICAgICByZXR1
cm4gMDsKKworICAgIGV3a192aWV3X3RoZW1lX3NldChpbnNwZWN0b3JWaWV3LCBEQVRBX0RJUiIv
ZGVmYXVsdC5lZGoiKTsKKworICAgIEV2YXNfT2JqZWN0KiBtYWluRnJhbWUgPSBld2tfdmlld19m
cmFtZV9tYWluX2dldChpbnNwZWN0b3JWaWV3KTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxs
YmFja19hZGQobWFpbkZyYW1lLCAibG9hZCxmaW5pc2hlZCIsIG9uSW5zcGVjdG9yRnJhbWVMb2Fk
RmluaXNoZWQsIDApOworCisgICAgZXZhc19vYmplY3RfcmVzaXplKGluc3BlY3RvclZpZXcsIExh
eW91dFRlc3RDb250cm9sbGVyOjptYXhWaWV3V2lkdGgsIExheW91dFRlc3RDb250cm9sbGVyOjpt
YXhWaWV3SGVpZ2h0KTsKKyAgICBldmFzX29iamVjdF9zaG93KGluc3BlY3RvclZpZXcpOworICAg
IGV2YXNfb2JqZWN0X2ZvY3VzX3NldChpbnNwZWN0b3JWaWV3LCBFSU5BX1RSVUUpOworCisgICAg
cmV0dXJuIGluc3BlY3RvclZpZXc7Cit9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6OnJl
bW92ZVdlYkluc3BlY3RvclZpZXcoKQoreworICAgIEV2YXNfT2JqZWN0KiBpbnNwZWN0b3JWaWV3
ID0gZXdrX3ZpZXdfd2ViX2luc3BlY3Rvcl92aWV3X2dldChtYWluVmlldygpKTsKKyAgICBpZiAo
IWluc3BlY3RvclZpZXcpCisgICAgICAgIHJldHVybjsKKworICAgIEV2YXNfT2JqZWN0KiBtYWlu
RnJhbWUgPSBld2tfdmlld19mcmFtZV9tYWluX2dldChpbnNwZWN0b3JWaWV3KTsKKyAgICBldmFz
X29iamVjdF9zbWFydF9jYWxsYmFja19kZWwobWFpbkZyYW1lLCAibG9hZCxmaW5pc2hlZCIsIG9u
SW5zcGVjdG9yRnJhbWVMb2FkRmluaXNoZWQpOworCisgICAgaWYgKGluc3BlY3RvclZpZXcpIHsK
KyAgICAgICAgZXZhc19vYmplY3RfZGVsKGluc3BlY3RvclZpZXcpOworICAgICAgICBld2tfdmll
d193ZWJfaW5zcGVjdG9yX3ZpZXdfc2V0KG1haW5WaWV3KCksIDApOworICAgIH0KK30KKwogdm9p
ZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6cmVtb3ZlV2luZG93KEV2YXNfT2JqZWN0KiB2aWV3KQog
ewogICAgIGNvbnN0IHNpemVfdCBwb3MgPSBtX2V4dHJhVmlld3MuZmluZCh2aWV3KTsKQEAgLTYx
OSw2ICs2NTQsMjUgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25XZWJWaWV3UG9wdWxh
dGVWaXNpdGVkTGlua3Modm9pZCosIEV2YXNfT2JqZWN0KiBld2sKICAgICBwcmludGYoIkFza2Vk
IHRvIHBvcHVsYXRlIHZpc2l0ZWQgbGlua3MgZm9yIFdlYlZpZXcgXCIlc1wiXG4iLCBld2tfdmll
d191cmlfZ2V0KGV3a1ZpZXcpKTsKIH0KIAordm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25J
bnNwZWN0b3JWaWV3Q3JlYXRlKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKQoreworICAgIEV2
YXNfT2JqZWN0KiBpbnNwZWN0b3JWaWV3ID0gYnJvd3Nlci0+Y3JlYXRlV2ViSW5zcGVjdG9yVmll
dygpOworICAgIGlmIChpbnNwZWN0b3JWaWV3KQorICAgICAgICBld2tfdmlld193ZWJfaW5zcGVj
dG9yX3ZpZXdfc2V0KGJyb3dzZXItPm1haW5WaWV3KCksIGluc3BlY3RvclZpZXcpOworfQorCit2
b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkluc3BlY3RvclZpZXdDbG9zZSh2b2lkKiwgRXZh
c19PYmplY3QqLCB2b2lkKikKK3sKKyAgICBicm93c2VyLT5yZW1vdmVXZWJJbnNwZWN0b3JWaWV3
KCk7Cit9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uSW5zcGVjdG9yRnJhbWVMb2Fk
RmluaXNoZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopCit7CisgICAgRXZhc19PYmplY3Qq
IGluc3BlY3RvclZpZXcgPSBld2tfdmlld193ZWJfaW5zcGVjdG9yX3ZpZXdfZ2V0KGJyb3dzZXIt
Pm1haW5WaWV3KCkpOworICAgIGlmIChpbnNwZWN0b3JWaWV3KQorICAgICAgICBlY29yZV9tYWlu
X2xvb3BfcXVpdCgpOworfQorCiB2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkZyYW1lUHJv
dmlzaW9uYWxMb2FkKHZvaWQqLCBFdmFzX09iamVjdCogZnJhbWUsIHZvaWQqKQogewogICAgIGlm
ICghZG9uZSAmJiBnTGF5b3V0VGVzdENvbnRyb2xsZXItPmR1bXBGcmFtZUxvYWRDYWxsYmFja3Mo
KSkgewpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVl
Q2hyb21lLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUu
aAppbmRleCA5ZTJmMzIzNzI4NDc0ZTJiNmRlOTliYzY4NGE3N2RmZTgyMzgyNWYxLi5mM2Y2ODRl
ZDRiYzdjM2I3NmI4MjQ0NTc5NTJlYmVkZjY5ZGJmODRmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaAorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaApAQCAtNDgsNiArNDgsOSBAQCBwdWJs
aWM6CiAgICAgRXZhc19PYmplY3QqIGNyZWF0ZU5ld1dpbmRvdygpOwogICAgIHZvaWQgcmVtb3Zl
V2luZG93KEV2YXNfT2JqZWN0Kik7CiAKKyAgICBFdmFzX09iamVjdCogY3JlYXRlV2ViSW5zcGVj
dG9yVmlldygpOworICAgIHZvaWQgcmVtb3ZlV2ViSW5zcGVjdG9yVmlldygpOworCiAgICAgY29u
c3QgVmVjdG9yPEV2YXNfT2JqZWN0Kj4mIGV4dHJhVmlld3MoKSBjb25zdDsKICAgICB2b2lkIGNs
ZWFyRXh0cmFWaWV3cygpOwogCkBAIC0xMDUsNiArMTA4LDEyIEBAIHByaXZhdGU6CiAKICAgICBz
dGF0aWMgdm9pZCBvbkZyYW1lQ3JlYXRlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CiAK
KyAgICBzdGF0aWMgdm9pZCBvbkluc3BlY3RvclZpZXdDcmVhdGUodm9pZCosIEV2YXNfT2JqZWN0
Kiwgdm9pZCopOworCisgICAgc3RhdGljIHZvaWQgb25JbnNwZWN0b3JWaWV3Q2xvc2Uodm9pZCos
IEV2YXNfT2JqZWN0Kiwgdm9pZCopOworCisgICAgc3RhdGljIHZvaWQgb25JbnNwZWN0b3JGcmFt
ZUxvYWRGaW5pc2hlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CisKICAgICBzdGF0aWMg
dm9pZCBvbkZyYW1lSWNvbkNoYW5nZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOwogCiAg
ICAgc3RhdGljIHZvaWQgb25GcmFtZVByb3Zpc2lvbmFsTG9hZCh2b2lkKiwgRXZhc19PYmplY3Qq
LCB2b2lkKik7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRl
clRyZWVWaWV3LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZVZp
ZXcuY3BwCmluZGV4IDMyZjRjMzliMzQwMTYzY2Y0OTg4Y2JjYWE2MWE5YmYyY2ZiODYwZTkuLjg3
OGUzNmQ1OWJjY2Y4YTI5NTUyYjU1YzAxNTc3NTg5NWZlNGI4MzIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZVZpZXcuY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZVZpZXcuY3BwCkBAIC02NSw2ICs2NSwxMCBA
QCBzdGF0aWMgdm9pZCBvbkNvbnNvbGVNZXNzYWdlKEV3a19WaWV3X1NtYXJ0X0RhdGEqLCBjb25z
dCBjaGFyKiBtZXNzYWdlLCB1bnNpZ25lZAogICAgICAgICAgICAgbmV3TWVzc2FnZSA9IG5ld01l
c3NhZ2UubGVmdChmaWxlUHJvdG9jb2wpICsgdXJsU3VpdGFibGVGb3JUZXN0UmVzdWx0KG5ld01l
c3NhZ2Uuc3Vic3RyaW5nKGZpbGVQcm90b2NvbCkpOwogICAgIH0KIAorICAgIC8vIElnbm9yZSBz
aW1wbGUgdHJhbnNsYXRpb24tcmVsYXRlZCBtZXNzYWdlcyBhbmQgdW5uZWNlc3NhcnkgbWVzc2Fn
ZXMKKyAgICBpZiAobmV3TWVzc2FnZS5jb250YWlucygiTG9jYWxpemVkIHN0cmluZyIpIHx8IChu
ZXdNZXNzYWdlLmNvbnRhaW5zKCJQcm90b2NvbCBFcnJvcjogdGhlIG1lc3NhZ2UgaXMgZm9yIG5v
bi1leGlzdGluZyBkb21haW4gJ1Byb2ZpbGVyJyIpKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAg
cHJpbnRmKCJDT05TT0xFIE1FU1NBR0U6ICIpOwogICAgIGlmIChsaW5lTnVtYmVyKQogICAgICAg
ICBwcmludGYoImxpbmUgJXU6ICIsIGxpbmVOdW1iZXIpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcCBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKaW5kZXggMDcwYWY4YzE0
MjY2NDBiNzM5ZGRiYmFjNjA4YzhlMGVkMDdjNjY4Mi4uMjc2NjU1OTgzOWQ2NjYwMTJmZjdkMzdl
NDg2MzQ0ZjlkZjk0YTcxYSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xh
eW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwv
TGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCkBAIC03NjUsMTcgKzc2NSwyMiBAQCB2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpzZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZChi
b29sKQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9yKCkKIHsK
LSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a192aWV3X3dlYl9pbnNwZWN0b3Jfc2hvdyhi
cm93c2VyLT5tYWluVmlldygpKTsKKworICAgIC8vIFdhaXRzIHVudGlsIHdlYiBpbnNwZWN0b3Ig
cmVzb3VyY2VzIGFyZSBsb2FkZWQKKyAgICBFdmFzX09iamVjdCogaW5zcGVjdG9yVmlldyA9IGV3
a192aWV3X3dlYl9pbnNwZWN0b3Jfdmlld19nZXQoYnJvd3Nlci0+bWFpblZpZXcoKSk7CisgICAg
aWYgKGluc3BlY3RvclZpZXcpCisgICAgICAgIGVjb3JlX21haW5fbG9vcF9iZWdpbigpOwogfQog
CiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpjbG9zZVdlYkluc3BlY3RvcigpCiB7Ci0gICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICBld2tfdmlld193ZWJfaW5zcGVjdG9yX2Nsb3NlKGJyb3dz
ZXItPm1haW5WaWV3KCkpOwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpldmFsdWF0
ZUluV2ViSW5zcGVjdG9yKGxvbmcsIEpTU3RyaW5nUmVmKQordm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgSlNTdHJpbmdSZWYgc2Ny
aXB0KQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0
RWZsOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGJyb3dzZXItPm1haW5WaWV3KCksIGNhbGxJZCwg
U3RyaW5nKHNjcmlwdC0+dXN0cmluZygpLmltcGwoKSkpOwogfQogCiB2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjpldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZEFuZFJldHVyblZhbHVlKHVu
c2lnbmVkLCBKU09iamVjdFJlZiwgSlNTdHJpbmdSZWYpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWFkNWJmYmUwM2ZjNDUy
NmNlYzc3Y2JjZmE3MThiZTg5Yjc2YzFlMy4uZmYxMGRiNmVmNGZkZDkzMzBiNDY0NjY1NzRmOWU5
ZmI4M2RhODhhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA3LTA5ICBTZW9ranUgS3dv
biAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0RSVF0gQWRkIHN1
cHBvcnQgZm9yIFdlYiBJbnNwZWN0b3IgaW4gV2ViS2l0LUVGTCBEUlQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3OTM1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBmb2xsb3dpbmcgdGVz
dHMgZnJvbSBTa2lwcGVkIGxpc3QuCisgICAgICAgIExheW91dFRlc3RzL2luc3BlY3RvcgorICAg
ICAgICBMYXlvdXRUZXN0cy9odHRwL3Rlc3QvaW5zcGVjdG9yCisgICAgICAgIExheW91dFRlc3Rz
L2h0dHAvdGVzdC9pbnNwZWN0b3ItZW5hYmxlZAorCisgICAgICAgICogcGxhdGZvcm0vZWZsL1Nr
aXBwZWQ6CisKIDIwMTItMDctMDkgIFRhaWp1IFRzdWlraSAgPHR6aWtAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCB0ZXh0IGZpbGUgc3VwcG9ydCBmb3IgRmlsZVN5
c3RlbUFnZW50OjpyZXF1ZXN0RmlsZUNvbnRlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKaW5k
ZXggZjUzNDViMGRmZTI1MGE3ZjdlYmM0NTQyNzA3NzIwOWZlOWE3NTVlZC4uMjJhMDI4MzZmOWY3
YTExMzM4OTM3OTM4YmFlNjQyYzg3NGM1OTAwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZWZsL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQK
QEAgLTIzNCwxMSArMjM0LDYgQEAgcGx1Z2lucwogIyBUaGUgRUZMIHBvcnQgaGFzIG5vIHN1cHBv
cnQgZm9yIGFjY2Vzc2liaWxpdHkgZmVhdHVyZXMKIGFjY2Vzc2liaWxpdHkKIAotIyBUaGUgRUZM
IHBvcnQgaGFzIG5vIHN1cHBvcnQgZm9yIHRoZSB3ZWIgaW5zcGVjdG9yCi1pbnNwZWN0b3IKLWh0
dHAvdGVzdHMvaW5zcGVjdG9yCi1odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVkCi0KICMgVGhl
IEVGTCBwb3J0IGhhcyBubyBzdXBwb3J0IGZvciBkZXZpY2UgbW90aW9uIGFuZCBvcmllbnRhdGlv
bgogZmFzdC9kb20vRGV2aWNlTW90aW9uCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRhdGlvbgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151428</attachid>
            <date>2012-07-10 03:31:02 -0700</date>
            <delta_ts>2012-07-10 23:41:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87935-20120710193101.patch</filename>
            <type>text/plain</type>
            <size>13617</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggNzU1Zjc5Yjdl
YTZmNTA5NTM2MzRiZjU5MTkzMDlkN2Q1NWFjYTVlNS4uNjNmOTg3MmNiZmFhNWE2OTk2OTRkMjg0
YTRhYzQ4NzhkNjZlYWQyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTA3LTA5ICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAg
IFtFRkxdW0RSVF0gQWRkIHN1cHBvcnQgZm9yIFdlYiBJbnNwZWN0b3IgaW4gV2ViS2l0LUVGTCBE
UlQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3OTM1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGlt
cGxlbWVudGF0aW9uIG9mIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6ZXZhbHVhdGVJbldlYklu
c3BlY3RvcigpLgorICAgICAgICBTb21lIHNjcmlwdHMgZm9yIHRlc3Qgc2hvdWxkIGJlIGV2YWx1
YXRlZCBpbiBmcm9udGVuZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEVmbC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmV2
YWx1YXRlSW5XZWJJbnNwZWN0b3IpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydEVmbC5oOgorCiAyMDEyLTA3LTA4ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hy
aXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gUkVHUkVTU0lPTiAocjEy
MjAzNSk6IGZ1bGxzY3JlZW4vZXhpdC1mdWxsLXNjcmVlbi1pZnJhbWUuaHRtbCBpcyBjcmFzaGlu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKaW5kZXggNjdiMjMxNzlkMzdhOTQyMDZlNjI5NmYy
OWRlMDM5NmViMjYyYWNkYS4uYWE3N2NjOTg0M2VhMjNlOWVmNDViNDM3M2U0NjRmMjJiNTVmMjE0
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCkBAIC01MjAsNiArNTIwLDE4IEBAIGJvb2wg
RHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjppc1RhcmdldEl0ZW0oY29uc3QgRXdrX0hpc3Rvcnlf
SXRlbSogZXdrSGlzdG9yeUl0CiAgICAgcmV0dXJuIGhpc3RvcnlJdGVtLT5pc1RhcmdldEl0ZW0o
KTsKIH0KIAordm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmV2YWx1YXRlSW5XZWJJbnNw
ZWN0b3IoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcsIGxvbmcgY2FsbElkLCBjb25zdCBTdHJp
bmcmIHNjcmlwdCkKK3sKKyAgICBXZWJDb3JlOjpQYWdlKiBwYWdlID0gRVdLUHJpdmF0ZTo6Y29y
ZVBhZ2UoZXdrVmlldyk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm47CisKKyNpZiBF
TkFCTEUoSU5TUEVDVE9SKQorICAgIGlmIChwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkpCisg
ICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZXZhbHVhdGVGb3JUZXN0SW5Gcm9u
dGVuZChjYWxsSWQsIHNjcmlwdCk7CisjZW5kaWYKK30KKwogdm9pZCBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRFZmw6OmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKGNvbnN0IEV2YXNfT2JqZWN0
KiBld2tGcmFtZSwgaW50IHdvcmxkSUQsIEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCwgY29uc3Qg
U3RyaW5nJiBzY3JpcHQpCiB7CiAgICAgV2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZSA9IEVXS1By
aXZhdGU6OmNvcmVGcmFtZShld2tGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaCBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCmluZGV4IGU5
YmE3ZThhOWRjN2MzZjc3ZThiODdhYzIyZjM5ODk1N2RmM2ViMTcuLmVhMWVjOGYwYTExOGZmYjY0
YjMxZThmZmU5N2RjNmE1ZTYxYjNmNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCkBAIC05NCw2
ICs5NCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSGlzdG9yeUl0ZW1DaGlsZHJlblZlY3RvciBj
aGlsZEhpc3RvcnlJdGVtcyhjb25zdCBFd2tfSGlzdG9yeV9JdGVtKik7CiAgICAgc3RhdGljIFN0
cmluZyBoaXN0b3J5SXRlbVRhcmdldChjb25zdCBFd2tfSGlzdG9yeV9JdGVtKik7CiAgICAgc3Rh
dGljIGJvb2wgaXNUYXJnZXRJdGVtKGNvbnN0IEV3a19IaXN0b3J5X0l0ZW0qKTsKKyAgICBzdGF0
aWMgdm9pZCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3
LCBsb25nIGNhbGxJZCwgY29uc3QgU3RyaW5nJiBzY3JpcHQpOwogICAgIHN0YXRpYyB2b2lkIGV2
YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSwg
aW50IHdvcmxkSUQsIEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBzY3Jp
cHQpOwogICAgIHN0YXRpYyBKU0dsb2JhbENvbnRleHRSZWYgZ2xvYmFsQ29udGV4dFJlZkZvckZy
YW1lKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxNjY4ZGY2NDAzYjUwMDVhYThlMGIyY2Qy
YzQzMWM3YzQ3NmNlMWMyLi45NjJhMDg3MDYwMmZiZTllYTg3MWRmOTJkNjAyYmZlMWM0ZjE0ODEw
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzQgQEAKKzIwMTItMDctMDkgIFNlb2tqdSBLd29uICA8c2Vva2p1Lmt3b25Ac2Ftc3Vu
Zy5jb20+CisKKyAgICAgICAgW0VGTF1bRFJUXSBBZGQgc3VwcG9ydCBmb3IgV2ViIEluc3BlY3Rv
ciBpbiBXZWJraXQtRUZMIERSVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODc5MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yIHdpbGwgYmUgc2hvd24gd2hlbiBwYXRoIG9yIHVybCBj
b250YWlucyAiaW5zcGVjdG9yLyIuCisgICAgICAgIER1bXByZW5kZXJ0cmVlIHNob3VsZCB3YWl0
IHV0aWwgd2ViIGluc3BlY3RvciByZXNvdXJjZXMgYXJlIGxvYWRlZCB0b3RhbGx5CisgICAgICAg
IGFuZCBoYW5kbGUgdGhlIHNpZ25hbHMgZm9yIGNyZWF0aW5nIG9yIHJlbW92aW5nIGEgdmlldyBv
ZiB3ZWIgaW5zcGVjdG9yLgorICAgICAgICAoImluc3BlY3Rvcix2aWV3LGNyZWF0ZSIgYW5kICJp
bnNwZWN0b3IsdmlldyxjbG9zZSIpCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWUuY3BwOgorICAgICAgICAoc2hvdWxkT3BlbldlYkluc3BlY3Rvcik6CisgICAg
ICAgIChjcmVhdGVMYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVl
Q2hyb21lOjpjcmVhdGVWaWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVh
dGVXZWJJbnNwZWN0b3JWaWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpyZW1v
dmVXZWJJbnNwZWN0b3JWaWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbklu
c3BlY3RvclZpZXdDcmVhdGUpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uSW5z
cGVjdG9yVmlld0Nsb3NlKToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkluc3Bl
Y3RvckZyYW1lTG9hZEZpbmlzaGVkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWVDaHJvbWUuaDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVWaWV3LmNwcDoKKyAgICAg
ICAgKG9uQ29uc29sZU1lc3NhZ2UpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9MYXlv
dXRUZXN0Q29udHJvbGxlckVmbC5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VX
ZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5X
ZWJJbnNwZWN0b3IpOgorCiAyMDEyLTA3LTA4ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTIyMDc2LgpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlLmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggYWFjZTQ3NWI1ZDcz
YmNhOWNlZmNiMmJhZjcwNThhMDU0MWE0MTk1Ny4uYzQxNjNiMzkzZmRlMjQ3YTllNjJhZDRkOTEz
YjI2ZWY2OThmZDBmYyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBS
ZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRy
ZWUuY3BwCkBAIC0xMTYsNiArMTE2LDExIEBAIHN0YXRpYyBib29sIHNob3VsZER1bXBBc1RleHQo
Y29uc3QgU3RyaW5nJiBwYXRoT3JVUkwpCiAgICAgcmV0dXJuIHBhdGhPclVSTC5jb250YWlucygi
ZHVtcEFzVGV4dC8iKTsKIH0KIAorc3RhdGljIGJvb2wgc2hvdWxkT3BlbldlYkluc3BlY3Rvcihj
b25zdCBTdHJpbmcmIHBhdGhPclVSTCkKK3sKKyAgICByZXR1cm4gcGF0aE9yVVJMLmNvbnRhaW5z
KCJpbnNwZWN0b3IvIik7Cit9CisKIHN0YXRpYyB2b2lkIHNlbmRQaXhlbFJlc3VsdHNFT0YoKQog
ewogICAgIHB1dHMoIiNFT0YiKTsKQEAgLTIxOSw2ICsyMjQsOSBAQCBzdGF0aWMgdm9pZCBjcmVh
dGVMYXlvdXRUZXN0Q29udHJvbGxlcihjb25zdCBTdHJpbmcmIHRlc3RVUkwsIGNvbnN0IFN0cmlu
ZyYgZXhwZQogICAgICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNldER1bXBGcmFtZUxvYWRD
YWxsYmFja3ModHJ1ZSk7CiAKICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNldERldmVsb3Bl
ckV4dHJhc0VuYWJsZWQodHJ1ZSk7CisgICAgaWYgKHNob3VsZE9wZW5XZWJJbnNwZWN0b3IodGVz
dFVSTCkpCisgICAgICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+c2hvd1dlYkluc3BlY3Rvcigp
OworCiAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5zZXREdW1wSGlzdG9yeURlbGVnYXRlQ2Fs
bGJhY2tzKGlzR2xvYmFsSGlzdG9yeVRlc3QodGVzdFVSTCkpOwogCiAgICAgaWYgKHNob3VsZER1
bXBBc1RleHQodGVzdFVSTCkpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Vm
bC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWVDaHJvbWUuY3BwCmluZGV4IDhhOTAxYzQxZGUxZTU0NWRmNTdiMjU0N2RkYjMw
ZGNkYWM5NDA0OTQuLjMxNjZkYzM2NGUyNDJlYzM4YTc4ODNhMThiOTUwMjIzM2I3NGNlOTkgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNw
cApAQCAtMTE0LDYgKzExNCw4IEBAIEV2YXNfT2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6
Y3JlYXRlVmlldygpIGNvbnN0CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZp
ZXcsICJwZXJmb3JtLHNlcnZlcixyZWRpcmVjdCIsIG9uV2ViVmlld1NlcnZlclJlZGlyZWN0LCAw
KTsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQodmlldywgInBlcmZvcm0sY2xp
ZW50LHJlZGlyZWN0Iiwgb25XZWJWaWV3Q2xpZW50UmVkaXJlY3QsIDApOwogICAgIGV2YXNfb2Jq
ZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAicG9wdWxhdGUsdmlzaXRlZCxsaW5rcyIsIG9u
V2ViVmlld1BvcHVsYXRlVmlzaXRlZExpbmtzLCAwKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9j
YWxsYmFja19hZGQodmlldywgImluc3BlY3Rvcix2aWV3LGNyZWF0ZSIsIG9uSW5zcGVjdG9yVmll
d0NyZWF0ZSwgMCk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJp
bnNwZWN0b3IsdmlldyxjbG9zZSIsIG9uSW5zcGVjdG9yVmlld0Nsb3NlLCAwKTsKIAogICAgIGNv
bm5lY3RFZGl0aW5nQ2FsbGJhY2tzKHZpZXcpOwogCkBAIC0xMzUsNiArMTM3LDM5IEBAIEV2YXNf
T2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRlVmlldygpIGNvbnN0CiAgICAgcmV0
dXJuIHZpZXc7CiB9CiAKK0V2YXNfT2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRl
V2ViSW5zcGVjdG9yVmlldygpCit7CisgICAgRXZhc19PYmplY3QqIGluc3BlY3RvclZpZXcgPSBk
cnRWaWV3QWRkKG1fZXZhcyk7CisgICAgaWYgKCFpbnNwZWN0b3JWaWV3KQorICAgICAgICByZXR1
cm4gMDsKKworICAgIGV3a192aWV3X3RoZW1lX3NldChpbnNwZWN0b3JWaWV3LCBEQVRBX0RJUiIv
ZGVmYXVsdC5lZGoiKTsKKworICAgIEV2YXNfT2JqZWN0KiBtYWluRnJhbWUgPSBld2tfdmlld19m
cmFtZV9tYWluX2dldChpbnNwZWN0b3JWaWV3KTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxs
YmFja19hZGQobWFpbkZyYW1lLCAibG9hZCxmaW5pc2hlZCIsIG9uSW5zcGVjdG9yRnJhbWVMb2Fk
RmluaXNoZWQsIDApOworCisgICAgZXZhc19vYmplY3RfcmVzaXplKGluc3BlY3RvclZpZXcsIExh
eW91dFRlc3RDb250cm9sbGVyOjptYXhWaWV3V2lkdGgsIExheW91dFRlc3RDb250cm9sbGVyOjpt
YXhWaWV3SGVpZ2h0KTsKKyAgICBldmFzX29iamVjdF9zaG93KGluc3BlY3RvclZpZXcpOworICAg
IGV2YXNfb2JqZWN0X2ZvY3VzX3NldChpbnNwZWN0b3JWaWV3LCBFSU5BX1RSVUUpOworCisgICAg
cmV0dXJuIGluc3BlY3RvclZpZXc7Cit9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6OnJl
bW92ZVdlYkluc3BlY3RvclZpZXcoKQoreworICAgIEV2YXNfT2JqZWN0KiBpbnNwZWN0b3JWaWV3
ID0gZXdrX3ZpZXdfd2ViX2luc3BlY3Rvcl92aWV3X2dldChtYWluVmlldygpKTsKKyAgICBpZiAo
IWluc3BlY3RvclZpZXcpCisgICAgICAgIHJldHVybjsKKworICAgIEV2YXNfT2JqZWN0KiBtYWlu
RnJhbWUgPSBld2tfdmlld19mcmFtZV9tYWluX2dldChpbnNwZWN0b3JWaWV3KTsKKyAgICBldmFz
X29iamVjdF9zbWFydF9jYWxsYmFja19kZWwobWFpbkZyYW1lLCAibG9hZCxmaW5pc2hlZCIsIG9u
SW5zcGVjdG9yRnJhbWVMb2FkRmluaXNoZWQpOworCisgICAgaWYgKGluc3BlY3RvclZpZXcpIHsK
KyAgICAgICAgZXZhc19vYmplY3RfZGVsKGluc3BlY3RvclZpZXcpOworICAgICAgICBld2tfdmll
d193ZWJfaW5zcGVjdG9yX3ZpZXdfc2V0KG1haW5WaWV3KCksIDApOworICAgIH0KK30KKwogdm9p
ZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6cmVtb3ZlV2luZG93KEV2YXNfT2JqZWN0KiB2aWV3KQog
ewogICAgIGNvbnN0IHNpemVfdCBwb3MgPSBtX2V4dHJhVmlld3MuZmluZCh2aWV3KTsKQEAgLTYx
OSw2ICs2NTQsMjUgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25XZWJWaWV3UG9wdWxh
dGVWaXNpdGVkTGlua3Modm9pZCosIEV2YXNfT2JqZWN0KiBld2sKICAgICBwcmludGYoIkFza2Vk
IHRvIHBvcHVsYXRlIHZpc2l0ZWQgbGlua3MgZm9yIFdlYlZpZXcgXCIlc1wiXG4iLCBld2tfdmll
d191cmlfZ2V0KGV3a1ZpZXcpKTsKIH0KIAordm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25J
bnNwZWN0b3JWaWV3Q3JlYXRlKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKQoreworICAgIEV2
YXNfT2JqZWN0KiBpbnNwZWN0b3JWaWV3ID0gYnJvd3Nlci0+Y3JlYXRlV2ViSW5zcGVjdG9yVmll
dygpOworICAgIGlmIChpbnNwZWN0b3JWaWV3KQorICAgICAgICBld2tfdmlld193ZWJfaW5zcGVj
dG9yX3ZpZXdfc2V0KGJyb3dzZXItPm1haW5WaWV3KCksIGluc3BlY3RvclZpZXcpOworfQorCit2
b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkluc3BlY3RvclZpZXdDbG9zZSh2b2lkKiwgRXZh
c19PYmplY3QqLCB2b2lkKikKK3sKKyAgICBicm93c2VyLT5yZW1vdmVXZWJJbnNwZWN0b3JWaWV3
KCk7Cit9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uSW5zcGVjdG9yRnJhbWVMb2Fk
RmluaXNoZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopCit7CisgICAgRXZhc19PYmplY3Qq
IGluc3BlY3RvclZpZXcgPSBld2tfdmlld193ZWJfaW5zcGVjdG9yX3ZpZXdfZ2V0KGJyb3dzZXIt
Pm1haW5WaWV3KCkpOworICAgIGlmIChpbnNwZWN0b3JWaWV3KQorICAgICAgICBlY29yZV9tYWlu
X2xvb3BfcXVpdCgpOworfQorCiB2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkZyYW1lUHJv
dmlzaW9uYWxMb2FkKHZvaWQqLCBFdmFzX09iamVjdCogZnJhbWUsIHZvaWQqKQogewogICAgIGlm
ICghZG9uZSAmJiBnTGF5b3V0VGVzdENvbnRyb2xsZXItPmR1bXBGcmFtZUxvYWRDYWxsYmFja3Mo
KSkgewpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVl
Q2hyb21lLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUu
aAppbmRleCA5ZTJmMzIzNzI4NDc0ZTJiNmRlOTliYzY4NGE3N2RmZTgyMzgyNWYxLi5mM2Y2ODRl
ZDRiYzdjM2I3NmI4MjQ0NTc5NTJlYmVkZjY5ZGJmODRmIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaAorKysgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaApAQCAtNDgsNiArNDgsOSBAQCBwdWJs
aWM6CiAgICAgRXZhc19PYmplY3QqIGNyZWF0ZU5ld1dpbmRvdygpOwogICAgIHZvaWQgcmVtb3Zl
V2luZG93KEV2YXNfT2JqZWN0Kik7CiAKKyAgICBFdmFzX09iamVjdCogY3JlYXRlV2ViSW5zcGVj
dG9yVmlldygpOworICAgIHZvaWQgcmVtb3ZlV2ViSW5zcGVjdG9yVmlldygpOworCiAgICAgY29u
c3QgVmVjdG9yPEV2YXNfT2JqZWN0Kj4mIGV4dHJhVmlld3MoKSBjb25zdDsKICAgICB2b2lkIGNs
ZWFyRXh0cmFWaWV3cygpOwogCkBAIC0xMDUsNiArMTA4LDEyIEBAIHByaXZhdGU6CiAKICAgICBz
dGF0aWMgdm9pZCBvbkZyYW1lQ3JlYXRlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CiAK
KyAgICBzdGF0aWMgdm9pZCBvbkluc3BlY3RvclZpZXdDcmVhdGUodm9pZCosIEV2YXNfT2JqZWN0
Kiwgdm9pZCopOworCisgICAgc3RhdGljIHZvaWQgb25JbnNwZWN0b3JWaWV3Q2xvc2Uodm9pZCos
IEV2YXNfT2JqZWN0Kiwgdm9pZCopOworCisgICAgc3RhdGljIHZvaWQgb25JbnNwZWN0b3JGcmFt
ZUxvYWRGaW5pc2hlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CisKICAgICBzdGF0aWMg
dm9pZCBvbkZyYW1lSWNvbkNoYW5nZWQodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopOwogCiAg
ICAgc3RhdGljIHZvaWQgb25GcmFtZVByb3Zpc2lvbmFsTG9hZCh2b2lkKiwgRXZhc19PYmplY3Qq
LCB2b2lkKik7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRl
clRyZWVWaWV3LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZVZp
ZXcuY3BwCmluZGV4IDMyZjRjMzliMzQwMTYzY2Y0OTg4Y2JjYWE2MWE5YmYyY2ZiODYwZTkuLjcz
MmFkMjhjMjhmZGZjMTQ0OTAxNzFiNjA1YzAwYTI4NjcyNzJkODcgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZVZpZXcuY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZVZpZXcuY3BwCkBAIC02NSw2ICs2NSwxMCBA
QCBzdGF0aWMgdm9pZCBvbkNvbnNvbGVNZXNzYWdlKEV3a19WaWV3X1NtYXJ0X0RhdGEqLCBjb25z
dCBjaGFyKiBtZXNzYWdlLCB1bnNpZ25lZAogICAgICAgICAgICAgbmV3TWVzc2FnZSA9IG5ld01l
c3NhZ2UubGVmdChmaWxlUHJvdG9jb2wpICsgdXJsU3VpdGFibGVGb3JUZXN0UmVzdWx0KG5ld01l
c3NhZ2Uuc3Vic3RyaW5nKGZpbGVQcm90b2NvbCkpOwogICAgIH0KIAorICAgIC8vIElnbm9yZSBz
aW1wbGUgdHJhbnNsYXRpb24tcmVsYXRlZCBtZXNzYWdlcyBhbmQgdW5uZWNlc3NhcnkgbWVzc2Fn
ZXMKKyAgICBpZiAobmV3TWVzc2FnZS5jb250YWlucygiTG9jYWxpemVkIHN0cmluZyIpIHx8IG5l
d01lc3NhZ2UuY29udGFpbnMoIlByb3RvY29sIEVycm9yOiB0aGUgbWVzc2FnZSBpcyBmb3Igbm9u
LWV4aXN0aW5nIGRvbWFpbiAnUHJvZmlsZXInIikpCisgICAgICAgIHJldHVybjsKKwogICAgIHBy
aW50ZigiQ09OU09MRSBNRVNTQUdFOiAiKTsKICAgICBpZiAobGluZU51bWJlcikKICAgICAgICAg
cHJpbnRmKCJsaW5lICV1OiAiLCBsaW5lTnVtYmVyKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAgYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCmluZGV4IDA3MGFmOGMxNDI2
NjQwYjczOWRkYmJhYzYwOGM4ZTBlZDA3YzY2ODIuLjI3NjY1NTk4MzlkNjY2MDEyZmY3ZDM3ZTQ4
NjM0NGY5ZGY5NGE3MWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlv
dXRUZXN0Q29udHJvbGxlckVmbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xh
eW91dFRlc3RDb250cm9sbGVyRWZsLmNwcApAQCAtNzY1LDE3ICs3NjUsMjIgQEAgdm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoYm9v
bCkKIAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hvd1dlYkluc3BlY3RvcigpCiB7Ci0g
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBld2tfdmlld193ZWJfaW5zcGVjdG9yX3Nob3coYnJv
d3Nlci0+bWFpblZpZXcoKSk7CisKKyAgICAvLyBXYWl0cyB1bnRpbCB3ZWIgaW5zcGVjdG9yIHJl
c291cmNlcyBhcmUgbG9hZGVkCisgICAgRXZhc19PYmplY3QqIGluc3BlY3RvclZpZXcgPSBld2tf
dmlld193ZWJfaW5zcGVjdG9yX3ZpZXdfZ2V0KGJyb3dzZXItPm1haW5WaWV3KCkpOworICAgIGlm
IChpbnNwZWN0b3JWaWV3KQorICAgICAgICBlY29yZV9tYWluX2xvb3BfYmVnaW4oKTsKIH0KIAog
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VXZWJJbnNwZWN0b3IoKQogewotICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgZXdrX3ZpZXdfd2ViX2luc3BlY3Rvcl9jbG9zZShicm93c2Vy
LT5tYWluVmlldygpKTsKIH0KIAotdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVJ
bldlYkluc3BlY3Rvcihsb25nLCBKU1N0cmluZ1JlZikKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZyBjYWxsSWQsIEpTU3RyaW5nUmVmIHNjcmlw
dCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVm
bDo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcihicm93c2VyLT5tYWluVmlldygpLCBjYWxsSWQsIFN0
cmluZyhzY3JpcHQtPnVzdHJpbmcoKS5pbXBsKCkpKTsKIH0KIAogdm9pZCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6ZXZhbHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGRBbmRSZXR1cm5WYWx1ZSh1bnNp
Z25lZCwgSlNPYmplY3RSZWYsIEpTU3RyaW5nUmVmKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDFhZDViZmJlMDNmYzQ1MjZj
ZWM3N2NiY2ZhNzE4YmU4OWI3NmMxZTMuLmZmMTBkYjZlZjRmZGQ5MzMwYjQ2NDY2NTc0ZjllOWZi
ODNkYTg4YWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wNy0wOSAgU2Vva2p1IEt3b24g
IDxzZW9ranUua3dvbkBzYW1zdW5nLmNvbT4KKworICAgICAgICBbRUZMXVtEUlRdIEFkZCBzdXBw
b3J0IGZvciBXZWIgSW5zcGVjdG9yIGluIFdlYktpdC1FRkwgRFJUCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NzkzNQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSB0aGUgZm9sbG93aW5nIHRlc3Rz
IGZyb20gU2tpcHBlZCBsaXN0LgorICAgICAgICBMYXlvdXRUZXN0cy9pbnNwZWN0b3IKKyAgICAg
ICAgTGF5b3V0VGVzdHMvaHR0cC90ZXN0L2luc3BlY3RvcgorICAgICAgICBMYXlvdXRUZXN0cy9o
dHRwL3Rlc3QvaW5zcGVjdG9yLWVuYWJsZWQKKworICAgICAgICAqIHBsYXRmb3JtL2VmbC9Ta2lw
cGVkOgorCiAyMDEyLTA3LTA5ICBUYWlqdSBUc3Vpa2kgIDx0emlrQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBBZGQgdGV4dCBmaWxlIHN1cHBvcnQgZm9yIEZpbGVTeXN0
ZW1BZ2VudDo6cmVxdWVzdEZpbGVDb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9lZmwvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCmluZGV4
IGY1MzQ1YjBkZmUyNTBhN2Y3ZWJjNDU0MjcwNzcyMDlmZTlhNzU1ZWQuLjIyYTAyODM2ZjlmN2Ex
MTMzODkzNzkzOGJhZTY0MmM4NzRjNTkwMGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkCkBA
IC0yMzQsMTEgKzIzNCw2IEBAIHBsdWdpbnMKICMgVGhlIEVGTCBwb3J0IGhhcyBubyBzdXBwb3J0
IGZvciBhY2Nlc3NpYmlsaXR5IGZlYXR1cmVzCiBhY2Nlc3NpYmlsaXR5CiAKLSMgVGhlIEVGTCBw
b3J0IGhhcyBubyBzdXBwb3J0IGZvciB0aGUgd2ViIGluc3BlY3RvcgotaW5zcGVjdG9yCi1odHRw
L3Rlc3RzL2luc3BlY3RvcgotaHR0cC90ZXN0cy9pbnNwZWN0b3ItZW5hYmxlZAotCiAjIFRoZSBF
RkwgcG9ydCBoYXMgbm8gc3VwcG9ydCBmb3IgZGV2aWNlIG1vdGlvbiBhbmQgb3JpZW50YXRpb24K
IGZhc3QvZG9tL0RldmljZU1vdGlvbgogZmFzdC9kb20vRGV2aWNlT3JpZW50YXRpb24K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151612</attachid>
            <date>2012-07-10 23:41:45 -0700</date>
            <delta_ts>2012-07-15 22:07:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87935-20120711154145.patch</filename>
            <type>text/plain</type>
            <size>13571</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggNzU1Zjc5Yjdl
YTZmNTA5NTM2MzRiZjU5MTkzMDlkN2Q1NWFjYTVlNS4uNjNmOTg3MmNiZmFhNWE2OTk2OTRkMjg0
YTRhYzQ4NzhkNjZlYWQyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTA3LTA5ICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAg
IFtFRkxdW0RSVF0gQWRkIHN1cHBvcnQgZm9yIFdlYiBJbnNwZWN0b3IgaW4gV2ViS2l0LUVGTCBE
UlQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3OTM1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGlt
cGxlbWVudGF0aW9uIG9mIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6ZXZhbHVhdGVJbldlYklu
c3BlY3RvcigpLgorICAgICAgICBTb21lIHNjcmlwdHMgZm9yIHRlc3Qgc2hvdWxkIGJlIGV2YWx1
YXRlZCBpbiBmcm9udGVuZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEVmbC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmV2
YWx1YXRlSW5XZWJJbnNwZWN0b3IpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydEVmbC5oOgorCiAyMDEyLTA3LTA4ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hy
aXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gUkVHUkVTU0lPTiAocjEy
MjAzNSk6IGZ1bGxzY3JlZW4vZXhpdC1mdWxsLXNjcmVlbi1pZnJhbWUuaHRtbCBpcyBjcmFzaGlu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKaW5kZXggNjdiMjMxNzlkMzdhOTQyMDZlNjI5NmYy
OWRlMDM5NmViMjYyYWNkYS4uNTA3MzQ0ZjE0ZmVkNjcyNGIwYWNjYjZkZDEzODU4YjcyYjA2YWRh
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCkBAIC01MjAsNiArNTIwLDE4IEBAIGJvb2wg
RHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjppc1RhcmdldEl0ZW0oY29uc3QgRXdrX0hpc3Rvcnlf
SXRlbSogZXdrSGlzdG9yeUl0CiAgICAgcmV0dXJuIGhpc3RvcnlJdGVtLT5pc1RhcmdldEl0ZW0o
KTsKIH0KIAordm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmV2YWx1YXRlSW5XZWJJbnNw
ZWN0b3IoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcsIGxvbmcgY2FsbElkLCBjb25zdCBTdHJp
bmcmIHNjcmlwdCkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIFdlYkNvcmU6OlBhZ2Uq
IHBhZ2UgPSBFV0tQcml2YXRlOjpjb3JlUGFnZShld2tWaWV3KTsKKyAgICBpZiAoIXBhZ2UpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmIChwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkpCisg
ICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZXZhbHVhdGVGb3JUZXN0SW5Gcm9u
dGVuZChjYWxsSWQsIHNjcmlwdCk7CisjZW5kaWYKK30KKwogdm9pZCBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRFZmw6OmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKGNvbnN0IEV2YXNfT2JqZWN0
KiBld2tGcmFtZSwgaW50IHdvcmxkSUQsIEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCwgY29uc3Qg
U3RyaW5nJiBzY3JpcHQpCiB7CiAgICAgV2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZSA9IEVXS1By
aXZhdGU6OmNvcmVGcmFtZShld2tGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaCBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCmluZGV4IGU5
YmE3ZThhOWRjN2MzZjc3ZThiODdhYzIyZjM5ODk1N2RmM2ViMTcuLmVhMWVjOGYwYTExOGZmYjY0
YjMxZThmZmU5N2RjNmE1ZTYxYjNmNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCkBAIC05NCw2
ICs5NCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSGlzdG9yeUl0ZW1DaGlsZHJlblZlY3RvciBj
aGlsZEhpc3RvcnlJdGVtcyhjb25zdCBFd2tfSGlzdG9yeV9JdGVtKik7CiAgICAgc3RhdGljIFN0
cmluZyBoaXN0b3J5SXRlbVRhcmdldChjb25zdCBFd2tfSGlzdG9yeV9JdGVtKik7CiAgICAgc3Rh
dGljIGJvb2wgaXNUYXJnZXRJdGVtKGNvbnN0IEV3a19IaXN0b3J5X0l0ZW0qKTsKKyAgICBzdGF0
aWMgdm9pZCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3
LCBsb25nIGNhbGxJZCwgY29uc3QgU3RyaW5nJiBzY3JpcHQpOwogICAgIHN0YXRpYyB2b2lkIGV2
YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSwg
aW50IHdvcmxkSUQsIEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBzY3Jp
cHQpOwogICAgIHN0YXRpYyBKU0dsb2JhbENvbnRleHRSZWYgZ2xvYmFsQ29udGV4dFJlZkZvckZy
YW1lKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxNjY4ZGY2NDAzYjUwMDVhYThlMGIyY2Qy
YzQzMWM3YzQ3NmNlMWMyLi45NjJhMDg3MDYwMmZiZTllYTg3MWRmOTJkNjAyYmZlMWM0ZjE0ODEw
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzQgQEAKKzIwMTItMDctMDkgIFNlb2tqdSBLd29uICA8c2Vva2p1Lmt3b25Ac2Ftc3Vu
Zy5jb20+CisKKyAgICAgICAgW0VGTF1bRFJUXSBBZGQgc3VwcG9ydCBmb3IgV2ViIEluc3BlY3Rv
ciBpbiBXZWJraXQtRUZMIERSVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODc5MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yIHdpbGwgYmUgc2hvd24gd2hlbiBwYXRoIG9yIHVybCBj
b250YWlucyAiaW5zcGVjdG9yLyIuCisgICAgICAgIER1bXByZW5kZXJ0cmVlIHNob3VsZCB3YWl0
IHV0aWwgd2ViIGluc3BlY3RvciByZXNvdXJjZXMgYXJlIGxvYWRlZCB0b3RhbGx5CisgICAgICAg
IGFuZCBoYW5kbGUgdGhlIHNpZ25hbHMgZm9yIGNyZWF0aW5nIG9yIHJlbW92aW5nIGEgdmlldyBv
ZiB3ZWIgaW5zcGVjdG9yLgorICAgICAgICAoImluc3BlY3Rvcix2aWV3LGNyZWF0ZSIgYW5kICJp
bnNwZWN0b3IsdmlldyxjbG9zZSIpCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWUuY3BwOgorICAgICAgICAoc2hvdWxkT3BlbldlYkluc3BlY3Rvcik6CisgICAg
ICAgIChjcmVhdGVMYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVl
Q2hyb21lOjpjcmVhdGVWaWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVh
dGVXZWJJbnNwZWN0b3JWaWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpyZW1v
dmVXZWJJbnNwZWN0b3JWaWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbklu
c3BlY3RvclZpZXdDcmVhdGUpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uSW5z
cGVjdG9yVmlld0Nsb3NlKToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkluc3Bl
Y3RvckZyYW1lTG9hZEZpbmlzaGVkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWVDaHJvbWUuaDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVWaWV3LmNwcDoKKyAgICAg
ICAgKG9uQ29uc29sZU1lc3NhZ2UpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9MYXlv
dXRUZXN0Q29udHJvbGxlckVmbC5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VX
ZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5X
ZWJJbnNwZWN0b3IpOgorCiAyMDEyLTA3LTA4ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTIyMDc2LgpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlLmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggYWFjZTQ3NWI1ZDcz
YmNhOWNlZmNiMmJhZjcwNThhMDU0MWE0MTk1Ny4uYzQxNjNiMzkzZmRlMjQ3YTllNjJhZDRkOTEz
YjI2ZWY2OThmZDBmYyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBS
ZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRy
ZWUuY3BwCkBAIC0xMTYsNiArMTE2LDExIEBAIHN0YXRpYyBib29sIHNob3VsZER1bXBBc1RleHQo
Y29uc3QgU3RyaW5nJiBwYXRoT3JVUkwpCiAgICAgcmV0dXJuIHBhdGhPclVSTC5jb250YWlucygi
ZHVtcEFzVGV4dC8iKTsKIH0KIAorc3RhdGljIGJvb2wgc2hvdWxkT3BlbldlYkluc3BlY3Rvcihj
b25zdCBTdHJpbmcmIHBhdGhPclVSTCkKK3sKKyAgICByZXR1cm4gcGF0aE9yVVJMLmNvbnRhaW5z
KCJpbnNwZWN0b3IvIik7Cit9CisKIHN0YXRpYyB2b2lkIHNlbmRQaXhlbFJlc3VsdHNFT0YoKQog
ewogICAgIHB1dHMoIiNFT0YiKTsKQEAgLTIxOSw2ICsyMjQsOSBAQCBzdGF0aWMgdm9pZCBjcmVh
dGVMYXlvdXRUZXN0Q29udHJvbGxlcihjb25zdCBTdHJpbmcmIHRlc3RVUkwsIGNvbnN0IFN0cmlu
ZyYgZXhwZQogICAgICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNldER1bXBGcmFtZUxvYWRD
YWxsYmFja3ModHJ1ZSk7CiAKICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNldERldmVsb3Bl
ckV4dHJhc0VuYWJsZWQodHJ1ZSk7CisgICAgaWYgKHNob3VsZE9wZW5XZWJJbnNwZWN0b3IodGVz
dFVSTCkpCisgICAgICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+c2hvd1dlYkluc3BlY3Rvcigp
OworCiAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5zZXREdW1wSGlzdG9yeURlbGVnYXRlQ2Fs
bGJhY2tzKGlzR2xvYmFsSGlzdG9yeVRlc3QodGVzdFVSTCkpOwogCiAgICAgaWYgKHNob3VsZER1
bXBBc1RleHQodGVzdFVSTCkpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Vm
bC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWVDaHJvbWUuY3BwCmluZGV4IDhhOTAxYzQxZGUxZTU0NWRmNTdiMjU0N2RkYjMw
ZGNkYWM5NDA0OTQuLmJkYjBjODI4OTc2MTRjZTJlMzI2ZWRmMDIyMmVlOWM4OTIxMDkwN2QgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNw
cApAQCAtMTE0LDYgKzExNCw4IEBAIEV2YXNfT2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6
Y3JlYXRlVmlldygpIGNvbnN0CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZp
ZXcsICJwZXJmb3JtLHNlcnZlcixyZWRpcmVjdCIsIG9uV2ViVmlld1NlcnZlclJlZGlyZWN0LCAw
KTsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQodmlldywgInBlcmZvcm0sY2xp
ZW50LHJlZGlyZWN0Iiwgb25XZWJWaWV3Q2xpZW50UmVkaXJlY3QsIDApOwogICAgIGV2YXNfb2Jq
ZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAicG9wdWxhdGUsdmlzaXRlZCxsaW5rcyIsIG9u
V2ViVmlld1BvcHVsYXRlVmlzaXRlZExpbmtzLCAwKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9j
YWxsYmFja19hZGQodmlldywgImluc3BlY3Rvcix2aWV3LGNyZWF0ZSIsIG9uSW5zcGVjdG9yVmll
d0NyZWF0ZSwgMCk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJp
bnNwZWN0b3IsdmlldyxjbG9zZSIsIG9uSW5zcGVjdG9yVmlld0Nsb3NlLCAwKTsKIAogICAgIGNv
bm5lY3RFZGl0aW5nQ2FsbGJhY2tzKHZpZXcpOwogCkBAIC0xMzUsNiArMTM3LDM3IEBAIEV2YXNf
T2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRlVmlldygpIGNvbnN0CiAgICAgcmV0
dXJuIHZpZXc7CiB9CiAKK0V2YXNfT2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRl
V2ViSW5zcGVjdG9yVmlldygpCit7CisgICAgRXZhc19PYmplY3QqIGluc3BlY3RvclZpZXcgPSBk
cnRWaWV3QWRkKG1fZXZhcyk7CisgICAgaWYgKCFpbnNwZWN0b3JWaWV3KQorICAgICAgICByZXR1
cm4gMDsKKworICAgIGV3a192aWV3X3RoZW1lX3NldChpbnNwZWN0b3JWaWV3LCBEQVRBX0RJUiIv
ZGVmYXVsdC5lZGoiKTsKKworICAgIEV2YXNfT2JqZWN0KiBtYWluRnJhbWUgPSBld2tfdmlld19m
cmFtZV9tYWluX2dldChpbnNwZWN0b3JWaWV3KTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxs
YmFja19hZGQobWFpbkZyYW1lLCAibG9hZCxmaW5pc2hlZCIsIG9uSW5zcGVjdG9yRnJhbWVMb2Fk
RmluaXNoZWQsIDApOworCisgICAgZXZhc19vYmplY3RfcmVzaXplKGluc3BlY3RvclZpZXcsIExh
eW91dFRlc3RDb250cm9sbGVyOjptYXhWaWV3V2lkdGgsIExheW91dFRlc3RDb250cm9sbGVyOjpt
YXhWaWV3SGVpZ2h0KTsKKyAgICBldmFzX29iamVjdF9zaG93KGluc3BlY3RvclZpZXcpOworICAg
IGV2YXNfb2JqZWN0X2ZvY3VzX3NldChpbnNwZWN0b3JWaWV3LCB0cnVlKTsKKworICAgIHJldHVy
biBpbnNwZWN0b3JWaWV3OworfQorCit2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpyZW1vdmVX
ZWJJbnNwZWN0b3JWaWV3KCkKK3sKKyAgICBFdmFzX09iamVjdCogaW5zcGVjdG9yVmlldyA9IGV3
a192aWV3X3dlYl9pbnNwZWN0b3Jfdmlld19nZXQobWFpblZpZXcoKSk7CisgICAgaWYgKCFpbnNw
ZWN0b3JWaWV3KQorICAgICAgICByZXR1cm47CisKKyAgICBFdmFzX09iamVjdCogbWFpbkZyYW1l
ID0gZXdrX3ZpZXdfZnJhbWVfbWFpbl9nZXQoaW5zcGVjdG9yVmlldyk7CisgICAgZXZhc19vYmpl
Y3Rfc21hcnRfY2FsbGJhY2tfZGVsKG1haW5GcmFtZSwgImxvYWQsZmluaXNoZWQiLCBvbkluc3Bl
Y3RvckZyYW1lTG9hZEZpbmlzaGVkKTsKKworICAgIGV2YXNfb2JqZWN0X2RlbChpbnNwZWN0b3JW
aWV3KTsKKyAgICBld2tfdmlld193ZWJfaW5zcGVjdG9yX3ZpZXdfc2V0KG1haW5WaWV3KCksIDAp
OworfQorCiB2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpyZW1vdmVXaW5kb3coRXZhc19PYmpl
Y3QqIHZpZXcpCiB7CiAgICAgY29uc3Qgc2l6ZV90IHBvcyA9IG1fZXh0cmFWaWV3cy5maW5kKHZp
ZXcpOwpAQCAtNjE5LDYgKzY1MiwyNSBAQCB2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbldl
YlZpZXdQb3B1bGF0ZVZpc2l0ZWRMaW5rcyh2b2lkKiwgRXZhc19PYmplY3QqIGV3awogICAgIHBy
aW50ZigiQXNrZWQgdG8gcG9wdWxhdGUgdmlzaXRlZCBsaW5rcyBmb3IgV2ViVmlldyBcIiVzXCJc
biIsIGV3a192aWV3X3VyaV9nZXQoZXdrVmlldykpOwogfQogCit2b2lkIER1bXBSZW5kZXJUcmVl
Q2hyb21lOjpvbkluc3BlY3RvclZpZXdDcmVhdGUodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCop
Cit7CisgICAgRXZhc19PYmplY3QqIGluc3BlY3RvclZpZXcgPSBicm93c2VyLT5jcmVhdGVXZWJJ
bnNwZWN0b3JWaWV3KCk7CisgICAgaWYgKGluc3BlY3RvclZpZXcpCisgICAgICAgIGV3a192aWV3
X3dlYl9pbnNwZWN0b3Jfdmlld19zZXQoYnJvd3Nlci0+bWFpblZpZXcoKSwgaW5zcGVjdG9yVmll
dyk7Cit9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uSW5zcGVjdG9yVmlld0Nsb3Nl
KHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKQoreworICAgIGJyb3dzZXItPnJlbW92ZVdlYklu
c3BlY3RvclZpZXcoKTsKK30KKwordm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25JbnNwZWN0
b3JGcmFtZUxvYWRGaW5pc2hlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKikKK3sKKyAgICBF
dmFzX09iamVjdCogaW5zcGVjdG9yVmlldyA9IGV3a192aWV3X3dlYl9pbnNwZWN0b3Jfdmlld19n
ZXQoYnJvd3Nlci0+bWFpblZpZXcoKSk7CisgICAgaWYgKGluc3BlY3RvclZpZXcpCisgICAgICAg
IGVjb3JlX21haW5fbG9vcF9xdWl0KCk7Cit9CisKIHZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6
Om9uRnJhbWVQcm92aXNpb25hbExvYWQodm9pZCosIEV2YXNfT2JqZWN0KiBmcmFtZSwgdm9pZCop
CiB7CiAgICAgaWYgKCFkb25lICYmIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+ZHVtcEZyYW1lTG9h
ZENhbGxiYWNrcygpKSB7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWVDaHJvbWUuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVy
VHJlZUNocm9tZS5oCmluZGV4IDllMmYzMjM3Mjg0NzRlMmI2ZGU5OWJjNjg0YTc3ZGZlODIzODI1
ZjEuLmYzZjY4NGVkNGJjN2MzYjc2YjgyNDQ1Nzk1MmViZWRmNjlkYmY4NGYgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oCkBAIC00OCw2ICs0
OCw5IEBAIHB1YmxpYzoKICAgICBFdmFzX09iamVjdCogY3JlYXRlTmV3V2luZG93KCk7CiAgICAg
dm9pZCByZW1vdmVXaW5kb3coRXZhc19PYmplY3QqKTsKIAorICAgIEV2YXNfT2JqZWN0KiBjcmVh
dGVXZWJJbnNwZWN0b3JWaWV3KCk7CisgICAgdm9pZCByZW1vdmVXZWJJbnNwZWN0b3JWaWV3KCk7
CisKICAgICBjb25zdCBWZWN0b3I8RXZhc19PYmplY3QqPiYgZXh0cmFWaWV3cygpIGNvbnN0Owog
ICAgIHZvaWQgY2xlYXJFeHRyYVZpZXdzKCk7CiAKQEAgLTEwNSw2ICsxMDgsMTIgQEAgcHJpdmF0
ZToKIAogICAgIHN0YXRpYyB2b2lkIG9uRnJhbWVDcmVhdGVkKHZvaWQqLCBFdmFzX09iamVjdCos
IHZvaWQqKTsKIAorICAgIHN0YXRpYyB2b2lkIG9uSW5zcGVjdG9yVmlld0NyZWF0ZSh2b2lkKiwg
RXZhc19PYmplY3QqLCB2b2lkKik7CisKKyAgICBzdGF0aWMgdm9pZCBvbkluc3BlY3RvclZpZXdD
bG9zZSh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CisKKyAgICBzdGF0aWMgdm9pZCBvbklu
c3BlY3RvckZyYW1lTG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKKwog
ICAgIHN0YXRpYyB2b2lkIG9uRnJhbWVJY29uQ2hhbmdlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2
b2lkKik7CiAKICAgICBzdGF0aWMgdm9pZCBvbkZyYW1lUHJvdmlzaW9uYWxMb2FkKHZvaWQqLCBF
dmFzX09iamVjdCosIHZvaWQqKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Vm
bC9EdW1wUmVuZGVyVHJlZVZpZXcuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBS
ZW5kZXJUcmVlVmlldy5jcHAKaW5kZXggMzJmNGMzOWIzNDAxNjNjZjQ5ODhjYmNhYTYxYTliZjJj
ZmI4NjBlOS4uNzMyYWQyOGMyOGZkZmMxNDQ5MDE3MWI2MDVjMDBhMjg2NzI3MmQ4NyAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlVmlldy5jcHAKKysr
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlVmlldy5jcHAKQEAgLTY1
LDYgKzY1LDEwIEBAIHN0YXRpYyB2b2lkIG9uQ29uc29sZU1lc3NhZ2UoRXdrX1ZpZXdfU21hcnRf
RGF0YSosIGNvbnN0IGNoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkCiAgICAgICAgICAgICBuZXdNZXNz
YWdlID0gbmV3TWVzc2FnZS5sZWZ0KGZpbGVQcm90b2NvbCkgKyB1cmxTdWl0YWJsZUZvclRlc3RS
ZXN1bHQobmV3TWVzc2FnZS5zdWJzdHJpbmcoZmlsZVByb3RvY29sKSk7CiAgICAgfQogCisgICAg
Ly8gSWdub3JlIHNpbXBsZSB0cmFuc2xhdGlvbi1yZWxhdGVkIG1lc3NhZ2VzIGFuZCB1bm5lY2Vz
c2FyeSBtZXNzYWdlcworICAgIGlmIChuZXdNZXNzYWdlLmNvbnRhaW5zKCJMb2NhbGl6ZWQgc3Ry
aW5nIikgfHwgbmV3TWVzc2FnZS5jb250YWlucygiUHJvdG9jb2wgRXJyb3I6IHRoZSBtZXNzYWdl
IGlzIGZvciBub24tZXhpc3RpbmcgZG9tYWluICdQcm9maWxlciciKSkKKyAgICAgICAgcmV0dXJu
OworCiAgICAgcHJpbnRmKCJDT05TT0xFIE1FU1NBR0U6ICIpOwogICAgIGlmIChsaW5lTnVtYmVy
KQogICAgICAgICBwcmludGYoImxpbmUgJXU6ICIsIGxpbmVOdW1iZXIpOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKaW5kZXgg
MDcwYWY4YzE0MjY2NDBiNzM5ZGRiYmFjNjA4YzhlMGVkMDdjNjY4Mi4uMjc2NjU1OTgzOWQ2NjYw
MTJmZjdkMzdlNDg2MzQ0ZjlkZjk0YTcxYSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCkBAIC03NjUsMTcgKzc2NSwyMiBA
QCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5n
RW5hYmxlZChib29sKQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzaG93V2ViSW5zcGVj
dG9yKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a192aWV3X3dlYl9pbnNwZWN0
b3Jfc2hvdyhicm93c2VyLT5tYWluVmlldygpKTsKKworICAgIC8vIFdhaXRzIHVudGlsIHdlYiBp
bnNwZWN0b3IgcmVzb3VyY2VzIGFyZSBsb2FkZWQKKyAgICBFdmFzX09iamVjdCogaW5zcGVjdG9y
VmlldyA9IGV3a192aWV3X3dlYl9pbnNwZWN0b3Jfdmlld19nZXQoYnJvd3Nlci0+bWFpblZpZXco
KSk7CisgICAgaWYgKGluc3BlY3RvclZpZXcpCisgICAgICAgIGVjb3JlX21haW5fbG9vcF9iZWdp
bigpOwogfQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpjbG9zZVdlYkluc3BlY3Rvcigp
CiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBld2tfdmlld193ZWJfaW5zcGVjdG9yX2Ns
b3NlKGJyb3dzZXItPm1haW5WaWV3KCkpOwogfQogCi12b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcsIEpTU3RyaW5nUmVmKQordm9pZCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6ZXZhbHVhdGVJbldlYkluc3BlY3Rvcihsb25nIGNhbGxJZCwgSlNTdHJp
bmdSZWYgc2NyaXB0KQogewotICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgRHVtcFJlbmRlclRy
ZWVTdXBwb3J0RWZsOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGJyb3dzZXItPm1haW5WaWV3KCks
IGNhbGxJZCwgU3RyaW5nKHNjcmlwdC0+dXN0cmluZygpLmltcGwoKSkpOwogfQogCiB2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpldmFsdWF0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZEFuZFJldHVy
blZhbHVlKHVuc2lnbmVkLCBKU09iamVjdFJlZiwgSlNTdHJpbmdSZWYpCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWFkNWJm
YmUwM2ZjNDUyNmNlYzc3Y2JjZmE3MThiZTg5Yjc2YzFlMy4uZmYxMGRiNmVmNGZkZDkzMzBiNDY0
NjY1NzRmOWU5ZmI4M2RhODhhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA3LTA5ICBT
ZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIFtFRkxdW0RS
VF0gQWRkIHN1cHBvcnQgZm9yIFdlYiBJbnNwZWN0b3IgaW4gV2ViS2l0LUVGTCBEUlQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3OTM1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBmb2xs
b3dpbmcgdGVzdHMgZnJvbSBTa2lwcGVkIGxpc3QuCisgICAgICAgIExheW91dFRlc3RzL2luc3Bl
Y3RvcgorICAgICAgICBMYXlvdXRUZXN0cy9odHRwL3Rlc3QvaW5zcGVjdG9yCisgICAgICAgIExh
eW91dFRlc3RzL2h0dHAvdGVzdC9pbnNwZWN0b3ItZW5hYmxlZAorCisgICAgICAgICogcGxhdGZv
cm0vZWZsL1NraXBwZWQ6CisKIDIwMTItMDctMDkgIFRhaWp1IFRzdWlraSAgPHR6aWtAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCB0ZXh0IGZpbGUgc3VwcG9ydCBm
b3IgRmlsZVN5c3RlbUFnZW50OjpyZXF1ZXN0RmlsZUNvbnRlbnQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Nr
aXBwZWQKaW5kZXggZjUzNDViMGRmZTI1MGE3ZjdlYmM0NTQyNzA3NzIwOWZlOWE3NTVlZC4uMjJh
MDI4MzZmOWY3YTExMzM4OTM3OTM4YmFlNjQyYzg3NGM1OTAwZCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZs
L1NraXBwZWQKQEAgLTIzNCwxMSArMjM0LDYgQEAgcGx1Z2lucwogIyBUaGUgRUZMIHBvcnQgaGFz
IG5vIHN1cHBvcnQgZm9yIGFjY2Vzc2liaWxpdHkgZmVhdHVyZXMKIGFjY2Vzc2liaWxpdHkKIAot
IyBUaGUgRUZMIHBvcnQgaGFzIG5vIHN1cHBvcnQgZm9yIHRoZSB3ZWIgaW5zcGVjdG9yCi1pbnNw
ZWN0b3IKLWh0dHAvdGVzdHMvaW5zcGVjdG9yCi1odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVk
Ci0KICMgVGhlIEVGTCBwb3J0IGhhcyBubyBzdXBwb3J0IGZvciBkZXZpY2UgbW90aW9uIGFuZCBv
cmllbnRhdGlvbgogZmFzdC9kb20vRGV2aWNlTW90aW9uCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRh
dGlvbgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152475</attachid>
            <date>2012-07-15 22:07:25 -0700</date>
            <delta_ts>2012-07-17 22:56:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87935-20120716140726.patch</filename>
            <type>text/plain</type>
            <size>13702</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggNzU1Zjc5Yjdl
YTZmNTA5NTM2MzRiZjU5MTkzMDlkN2Q1NWFjYTVlNS4uNjNmOTg3MmNiZmFhNWE2OTk2OTRkMjg0
YTRhYzQ4NzhkNjZlYWQyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTA3LTA5ICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAg
IFtFRkxdW0RSVF0gQWRkIHN1cHBvcnQgZm9yIFdlYiBJbnNwZWN0b3IgaW4gV2ViS2l0LUVGTCBE
UlQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3OTM1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGlt
cGxlbWVudGF0aW9uIG9mIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6ZXZhbHVhdGVJbldlYklu
c3BlY3RvcigpLgorICAgICAgICBTb21lIHNjcmlwdHMgZm9yIHRlc3Qgc2hvdWxkIGJlIGV2YWx1
YXRlZCBpbiBmcm9udGVuZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEVmbC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmV2
YWx1YXRlSW5XZWJJbnNwZWN0b3IpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydEVmbC5oOgorCiAyMDEyLTA3LTA4ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hy
aXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gUkVHUkVTU0lPTiAocjEy
MjAzNSk6IGZ1bGxzY3JlZW4vZXhpdC1mdWxsLXNjcmVlbi1pZnJhbWUuaHRtbCBpcyBjcmFzaGlu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5jcHAKaW5kZXggNjdiMjMxNzlkMzdhOTQyMDZlNjI5NmYy
OWRlMDM5NmViMjYyYWNkYS4uNTA3MzQ0ZjE0ZmVkNjcyNGIwYWNjYjZkZDEzODU4YjcyYjA2YWRh
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRl
clRyZWVTdXBwb3J0RWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuY3BwCkBAIC01MjAsNiArNTIwLDE4IEBAIGJvb2wg
RHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsOjppc1RhcmdldEl0ZW0oY29uc3QgRXdrX0hpc3Rvcnlf
SXRlbSogZXdrSGlzdG9yeUl0CiAgICAgcmV0dXJuIGhpc3RvcnlJdGVtLT5pc1RhcmdldEl0ZW0o
KTsKIH0KIAordm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmV2YWx1YXRlSW5XZWJJbnNw
ZWN0b3IoY29uc3QgRXZhc19PYmplY3QqIGV3a1ZpZXcsIGxvbmcgY2FsbElkLCBjb25zdCBTdHJp
bmcmIHNjcmlwdCkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIFdlYkNvcmU6OlBhZ2Uq
IHBhZ2UgPSBFV0tQcml2YXRlOjpjb3JlUGFnZShld2tWaWV3KTsKKyAgICBpZiAoIXBhZ2UpCisg
ICAgICAgIHJldHVybjsKKworICAgIGlmIChwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkpCisg
ICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZXZhbHVhdGVGb3JUZXN0SW5Gcm9u
dGVuZChjYWxsSWQsIHNjcmlwdCk7CisjZW5kaWYKK30KKwogdm9pZCBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRFZmw6OmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKGNvbnN0IEV2YXNfT2JqZWN0
KiBld2tGcmFtZSwgaW50IHdvcmxkSUQsIEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCwgY29uc3Qg
U3RyaW5nJiBzY3JpcHQpCiB7CiAgICAgV2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZSA9IEVXS1By
aXZhdGU6OmNvcmVGcmFtZShld2tGcmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmwuaCBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCmluZGV4IGU5
YmE3ZThhOWRjN2MzZjc3ZThiODdhYzIyZjM5ODk1N2RmM2ViMTcuLmVhMWVjOGYwYTExOGZmYjY0
YjMxZThmZmU5N2RjNmE1ZTYxYjNmNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCkBAIC05NCw2
ICs5NCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSGlzdG9yeUl0ZW1DaGlsZHJlblZlY3RvciBj
aGlsZEhpc3RvcnlJdGVtcyhjb25zdCBFd2tfSGlzdG9yeV9JdGVtKik7CiAgICAgc3RhdGljIFN0
cmluZyBoaXN0b3J5SXRlbVRhcmdldChjb25zdCBFd2tfSGlzdG9yeV9JdGVtKik7CiAgICAgc3Rh
dGljIGJvb2wgaXNUYXJnZXRJdGVtKGNvbnN0IEV3a19IaXN0b3J5X0l0ZW0qKTsKKyAgICBzdGF0
aWMgdm9pZCBldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3
LCBsb25nIGNhbGxJZCwgY29uc3QgU3RyaW5nJiBzY3JpcHQpOwogICAgIHN0YXRpYyB2b2lkIGV2
YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxkKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSwg
aW50IHdvcmxkSUQsIEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBzY3Jp
cHQpOwogICAgIHN0YXRpYyBKU0dsb2JhbENvbnRleHRSZWYgZ2xvYmFsQ29udGV4dFJlZkZvckZy
YW1lKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxNjY4ZGY2NDAzYjUwMDVhYThlMGIyY2Qy
YzQzMWM3YzQ3NmNlMWMyLi45NjJhMDg3MDYwMmZiZTllYTg3MWRmOTJkNjAyYmZlMWM0ZjE0ODEw
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzQgQEAKKzIwMTItMDctMDkgIFNlb2tqdSBLd29uICA8c2Vva2p1Lmt3b25Ac2Ftc3Vu
Zy5jb20+CisKKyAgICAgICAgW0VGTF1bRFJUXSBBZGQgc3VwcG9ydCBmb3IgV2ViIEluc3BlY3Rv
ciBpbiBXZWJraXQtRUZMIERSVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODc5MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yIHdpbGwgYmUgc2hvd24gd2hlbiBwYXRoIG9yIHVybCBj
b250YWlucyAiaW5zcGVjdG9yLyIuCisgICAgICAgIER1bXByZW5kZXJ0cmVlIHNob3VsZCB3YWl0
IHV0aWwgd2ViIGluc3BlY3RvciByZXNvdXJjZXMgYXJlIGxvYWRlZCB0b3RhbGx5CisgICAgICAg
IGFuZCBoYW5kbGUgdGhlIHNpZ25hbHMgZm9yIGNyZWF0aW5nIG9yIHJlbW92aW5nIGEgdmlldyBv
ZiB3ZWIgaW5zcGVjdG9yLgorICAgICAgICAoImluc3BlY3Rvcix2aWV3LGNyZWF0ZSIgYW5kICJp
bnNwZWN0b3IsdmlldyxjbG9zZSIpCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWUuY3BwOgorICAgICAgICAoc2hvdWxkT3BlbldlYkluc3BlY3Rvcik6CisgICAg
ICAgIChjcmVhdGVMYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVl
Q2hyb21lOjpjcmVhdGVWaWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVh
dGVXZWJJbnNwZWN0b3JWaWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpyZW1v
dmVXZWJJbnNwZWN0b3JWaWV3KToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbklu
c3BlY3RvclZpZXdDcmVhdGUpOgorICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uSW5z
cGVjdG9yVmlld0Nsb3NlKToKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkluc3Bl
Y3RvckZyYW1lTG9hZEZpbmlzaGVkKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWVDaHJvbWUuaDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lKToKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVWaWV3LmNwcDoKKyAgICAg
ICAgKG9uQ29uc29sZU1lc3NhZ2UpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9MYXlv
dXRUZXN0Q29udHJvbGxlckVmbC5jcHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2hvd1dlYkluc3BlY3Rvcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VX
ZWJJbnNwZWN0b3IpOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5X
ZWJJbnNwZWN0b3IpOgorCiAyMDEyLTA3LTA4ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTIyMDc2LgpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlLmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZS5jcHAKaW5kZXggYWFjZTQ3NWI1ZDcz
YmNhOWNlZmNiMmJhZjcwNThhMDU0MWE0MTk1Ny4uYzQxNjNiMzkzZmRlMjQ3YTllNjJhZDRkOTEz
YjI2ZWY2OThmZDBmYyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBS
ZW5kZXJUcmVlLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRy
ZWUuY3BwCkBAIC0xMTYsNiArMTE2LDExIEBAIHN0YXRpYyBib29sIHNob3VsZER1bXBBc1RleHQo
Y29uc3QgU3RyaW5nJiBwYXRoT3JVUkwpCiAgICAgcmV0dXJuIHBhdGhPclVSTC5jb250YWlucygi
ZHVtcEFzVGV4dC8iKTsKIH0KIAorc3RhdGljIGJvb2wgc2hvdWxkT3BlbldlYkluc3BlY3Rvcihj
b25zdCBTdHJpbmcmIHBhdGhPclVSTCkKK3sKKyAgICByZXR1cm4gcGF0aE9yVVJMLmNvbnRhaW5z
KCJpbnNwZWN0b3IvIik7Cit9CisKIHN0YXRpYyB2b2lkIHNlbmRQaXhlbFJlc3VsdHNFT0YoKQog
ewogICAgIHB1dHMoIiNFT0YiKTsKQEAgLTIxOSw2ICsyMjQsOSBAQCBzdGF0aWMgdm9pZCBjcmVh
dGVMYXlvdXRUZXN0Q29udHJvbGxlcihjb25zdCBTdHJpbmcmIHRlc3RVUkwsIGNvbnN0IFN0cmlu
ZyYgZXhwZQogICAgICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNldER1bXBGcmFtZUxvYWRD
YWxsYmFja3ModHJ1ZSk7CiAKICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNldERldmVsb3Bl
ckV4dHJhc0VuYWJsZWQodHJ1ZSk7CisgICAgaWYgKHNob3VsZE9wZW5XZWJJbnNwZWN0b3IodGVz
dFVSTCkpCisgICAgICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+c2hvd1dlYkluc3BlY3Rvcigp
OworCiAgICAgZ0xheW91dFRlc3RDb250cm9sbGVyLT5zZXREdW1wSGlzdG9yeURlbGVnYXRlQ2Fs
bGJhY2tzKGlzR2xvYmFsSGlzdG9yeVRlc3QodGVzdFVSTCkpOwogCiAgICAgaWYgKHNob3VsZER1
bXBBc1RleHQodGVzdFVSTCkpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Vm
bC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWVDaHJvbWUuY3BwCmluZGV4IDhhOTAxYzQxZGUxZTU0NWRmNTdiMjU0N2RkYjMw
ZGNkYWM5NDA0OTQuLmFlZjQxMTRhYTgzYzdhZTk4ZjUyOWY1NjRjYzY0NThmZTNiZWM2MDYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNw
cApAQCAtMTE0LDYgKzExNCw4IEBAIEV2YXNfT2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6
Y3JlYXRlVmlldygpIGNvbnN0CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZp
ZXcsICJwZXJmb3JtLHNlcnZlcixyZWRpcmVjdCIsIG9uV2ViVmlld1NlcnZlclJlZGlyZWN0LCAw
KTsKICAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19hZGQodmlldywgInBlcmZvcm0sY2xp
ZW50LHJlZGlyZWN0Iiwgb25XZWJWaWV3Q2xpZW50UmVkaXJlY3QsIDApOwogICAgIGV2YXNfb2Jq
ZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAicG9wdWxhdGUsdmlzaXRlZCxsaW5rcyIsIG9u
V2ViVmlld1BvcHVsYXRlVmlzaXRlZExpbmtzLCAwKTsKKyAgICBldmFzX29iamVjdF9zbWFydF9j
YWxsYmFja19hZGQodmlldywgImluc3BlY3Rvcix2aWV3LGNyZWF0ZSIsIG9uSW5zcGVjdG9yVmll
d0NyZWF0ZSwgMCk7CisgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJp
bnNwZWN0b3IsdmlldyxjbG9zZSIsIG9uSW5zcGVjdG9yVmlld0Nsb3NlLCAwKTsKIAogICAgIGNv
bm5lY3RFZGl0aW5nQ2FsbGJhY2tzKHZpZXcpOwogCkBAIC0xMzUsNiArMTM3LDQ1IEBAIEV2YXNf
T2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRlVmlldygpIGNvbnN0CiAgICAgcmV0
dXJuIHZpZXc7CiB9CiAKK0V2YXNfT2JqZWN0KiBEdW1wUmVuZGVyVHJlZUNocm9tZTo6Y3JlYXRl
V2ViSW5zcGVjdG9yVmlldygpCit7CisgICAgRXZhc19PYmplY3QqIGluc3BlY3RvclZpZXcgPSBk
cnRWaWV3QWRkKG1fZXZhcyk7CisgICAgaWYgKCFpbnNwZWN0b3JWaWV3KQorICAgICAgICByZXR1
cm4gMDsKKworICAgIGV3a192aWV3X3RoZW1lX3NldChpbnNwZWN0b3JWaWV3LCBEQVRBX0RJUiIv
ZGVmYXVsdC5lZGoiKTsKKworICAgIEV2YXNfT2JqZWN0KiBtYWluRnJhbWUgPSBld2tfdmlld19m
cmFtZV9tYWluX2dldChpbnNwZWN0b3JWaWV3KTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxs
YmFja19hZGQobWFpbkZyYW1lLCAibG9hZCxmaW5pc2hlZCIsIG9uSW5zcGVjdG9yRnJhbWVMb2Fk
RmluaXNoZWQsIDApOworCisgICAgZXZhc19vYmplY3RfcmVzaXplKGluc3BlY3RvclZpZXcsIExh
eW91dFRlc3RDb250cm9sbGVyOjptYXhWaWV3V2lkdGgsIExheW91dFRlc3RDb250cm9sbGVyOjpt
YXhWaWV3SGVpZ2h0KTsKKyAgICBldmFzX29iamVjdF9zaG93KGluc3BlY3RvclZpZXcpOworICAg
IGV2YXNfb2JqZWN0X2ZvY3VzX3NldChpbnNwZWN0b3JWaWV3LCB0cnVlKTsKKworICAgIHJldHVy
biBpbnNwZWN0b3JWaWV3OworfQorCit2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpyZW1vdmVX
ZWJJbnNwZWN0b3JWaWV3KCkKK3sKKyAgICBFdmFzX09iamVjdCogaW5zcGVjdG9yVmlldyA9IGV3
a192aWV3X3dlYl9pbnNwZWN0b3Jfdmlld19nZXQobWFpblZpZXcoKSk7CisgICAgaWYgKCFpbnNw
ZWN0b3JWaWV3KQorICAgICAgICByZXR1cm47CisKKyAgICBFdmFzX09iamVjdCogbWFpbkZyYW1l
ID0gZXdrX3ZpZXdfZnJhbWVfbWFpbl9nZXQoaW5zcGVjdG9yVmlldyk7CisgICAgZXZhc19vYmpl
Y3Rfc21hcnRfY2FsbGJhY2tfZGVsKG1haW5GcmFtZSwgImxvYWQsZmluaXNoZWQiLCBvbkluc3Bl
Y3RvckZyYW1lTG9hZEZpbmlzaGVkKTsKKworICAgIGV2YXNfb2JqZWN0X2RlbChpbnNwZWN0b3JW
aWV3KTsKKyAgICBld2tfdmlld193ZWJfaW5zcGVjdG9yX3ZpZXdfc2V0KG1haW5WaWV3KCksIDAp
OworfQorCit2b2lkIER1bXBSZW5kZXJUcmVlQ2hyb21lOjp3YWl0SW5zcGVjdG9yTG9hZEZpbmlz
aGVkKCkKK3sKKyAgICAvLyBXYWl0cyB1bnRpbCB0aGUgcGFnZSBoYXMgZmluaXNoZWQgbG9hZGlu
ZworICAgIEV2YXNfT2JqZWN0KiBpbnNwZWN0b3JWaWV3ID0gZXdrX3ZpZXdfd2ViX2luc3BlY3Rv
cl92aWV3X2dldChtYWluVmlldygpKTsKKyAgICBpZiAoaW5zcGVjdG9yVmlldykKKyAgICAgICAg
ZWNvcmVfbWFpbl9sb29wX2JlZ2luKCk7Cit9CisKIHZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6
OnJlbW92ZVdpbmRvdyhFdmFzX09iamVjdCogdmlldykKIHsKICAgICBjb25zdCBzaXplX3QgcG9z
ID0gbV9leHRyYVZpZXdzLmZpbmQodmlldyk7CkBAIC02MTksNiArNjYwLDI1IEBAIHZvaWQgRHVt
cFJlbmRlclRyZWVDaHJvbWU6Om9uV2ViVmlld1BvcHVsYXRlVmlzaXRlZExpbmtzKHZvaWQqLCBF
dmFzX09iamVjdCogZXdrCiAgICAgcHJpbnRmKCJBc2tlZCB0byBwb3B1bGF0ZSB2aXNpdGVkIGxp
bmtzIGZvciBXZWJWaWV3IFwiJXNcIlxuIiwgZXdrX3ZpZXdfdXJpX2dldChld2tWaWV3KSk7CiB9
CiAKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uSW5zcGVjdG9yVmlld0NyZWF0ZSh2b2lk
KiwgRXZhc19PYmplY3QqLCB2b2lkKikKK3sKKyAgICBFdmFzX09iamVjdCogaW5zcGVjdG9yVmll
dyA9IGJyb3dzZXItPmNyZWF0ZVdlYkluc3BlY3RvclZpZXcoKTsKKyAgICBpZiAoaW5zcGVjdG9y
VmlldykKKyAgICAgICAgZXdrX3ZpZXdfd2ViX2luc3BlY3Rvcl92aWV3X3NldChicm93c2VyLT5t
YWluVmlldygpLCBpbnNwZWN0b3JWaWV3KTsKK30KKwordm9pZCBEdW1wUmVuZGVyVHJlZUNocm9t
ZTo6b25JbnNwZWN0b3JWaWV3Q2xvc2Uodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopCit7Cisg
ICAgYnJvd3Nlci0+cmVtb3ZlV2ViSW5zcGVjdG9yVmlldygpOworfQorCit2b2lkIER1bXBSZW5k
ZXJUcmVlQ2hyb21lOjpvbkluc3BlY3RvckZyYW1lTG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09i
amVjdCosIHZvaWQqKQoreworICAgIEV2YXNfT2JqZWN0KiBpbnNwZWN0b3JWaWV3ID0gZXdrX3Zp
ZXdfd2ViX2luc3BlY3Rvcl92aWV3X2dldChicm93c2VyLT5tYWluVmlldygpKTsKKyAgICBpZiAo
aW5zcGVjdG9yVmlldykKKyAgICAgICAgZWNvcmVfbWFpbl9sb29wX3F1aXQoKTsKK30KKwogdm9p
ZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25GcmFtZVByb3Zpc2lvbmFsTG9hZCh2b2lkKiwgRXZh
c19PYmplY3QqIGZyYW1lLCB2b2lkKikKIHsKICAgICBpZiAoIWRvbmUgJiYgZ0xheW91dFRlc3RD
b250cm9sbGVyLT5kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCkpIHsKZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmgKaW5kZXggOWUyZjMyMzcyODQ3NGUy
YjZkZTk5YmM2ODRhNzdkZmU4MjM4MjVmMS4uZGIzYjE5NzYwMTJkMzg5ZWFiYzVkYmMxMzMxOTYz
ZjgzOGJlZTQ3YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5k
ZXJUcmVlQ2hyb21lLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJU
cmVlQ2hyb21lLmgKQEAgLTQ4LDYgKzQ4LDEwIEBAIHB1YmxpYzoKICAgICBFdmFzX09iamVjdCog
Y3JlYXRlTmV3V2luZG93KCk7CiAgICAgdm9pZCByZW1vdmVXaW5kb3coRXZhc19PYmplY3QqKTsK
IAorICAgIEV2YXNfT2JqZWN0KiBjcmVhdGVXZWJJbnNwZWN0b3JWaWV3KCk7CisgICAgdm9pZCBy
ZW1vdmVXZWJJbnNwZWN0b3JWaWV3KCk7CisgICAgdm9pZCB3YWl0SW5zcGVjdG9yTG9hZEZpbmlz
aGVkKCk7CisKICAgICBjb25zdCBWZWN0b3I8RXZhc19PYmplY3QqPiYgZXh0cmFWaWV3cygpIGNv
bnN0OwogICAgIHZvaWQgY2xlYXJFeHRyYVZpZXdzKCk7CiAKQEAgLTEwNSw2ICsxMDksMTIgQEAg
cHJpdmF0ZToKIAogICAgIHN0YXRpYyB2b2lkIG9uRnJhbWVDcmVhdGVkKHZvaWQqLCBFdmFzX09i
amVjdCosIHZvaWQqKTsKIAorICAgIHN0YXRpYyB2b2lkIG9uSW5zcGVjdG9yVmlld0NyZWF0ZSh2
b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CisKKyAgICBzdGF0aWMgdm9pZCBvbkluc3BlY3Rv
clZpZXdDbG9zZSh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CisKKyAgICBzdGF0aWMgdm9p
ZCBvbkluc3BlY3RvckZyYW1lTG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQq
KTsKKwogICAgIHN0YXRpYyB2b2lkIG9uRnJhbWVJY29uQ2hhbmdlZCh2b2lkKiwgRXZhc19PYmpl
Y3QqLCB2b2lkKik7CiAKICAgICBzdGF0aWMgdm9pZCBvbkZyYW1lUHJvdmlzaW9uYWxMb2FkKHZv
aWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2VmbC9EdW1wUmVuZGVyVHJlZVZpZXcuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZs
L0R1bXBSZW5kZXJUcmVlVmlldy5jcHAKaW5kZXggMzJmNGMzOWIzNDAxNjNjZjQ5ODhjYmNhYTYx
YTliZjJjZmI4NjBlOS4uNzMyYWQyOGMyOGZkZmMxNDQ5MDE3MWI2MDVjMDBhMjg2NzI3MmQ4NyAx
MDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlVmlldy5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlVmlldy5jcHAK
QEAgLTY1LDYgKzY1LDEwIEBAIHN0YXRpYyB2b2lkIG9uQ29uc29sZU1lc3NhZ2UoRXdrX1ZpZXdf
U21hcnRfRGF0YSosIGNvbnN0IGNoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkCiAgICAgICAgICAgICBu
ZXdNZXNzYWdlID0gbmV3TWVzc2FnZS5sZWZ0KGZpbGVQcm90b2NvbCkgKyB1cmxTdWl0YWJsZUZv
clRlc3RSZXN1bHQobmV3TWVzc2FnZS5zdWJzdHJpbmcoZmlsZVByb3RvY29sKSk7CiAgICAgfQog
CisgICAgLy8gSWdub3JlIHNpbXBsZSB0cmFuc2xhdGlvbi1yZWxhdGVkIG1lc3NhZ2VzIGFuZCB1
bm5lY2Vzc2FyeSBtZXNzYWdlcworICAgIGlmIChuZXdNZXNzYWdlLmNvbnRhaW5zKCJMb2NhbGl6
ZWQgc3RyaW5nIikgfHwgbmV3TWVzc2FnZS5jb250YWlucygiUHJvdG9jb2wgRXJyb3I6IHRoZSBt
ZXNzYWdlIGlzIGZvciBub24tZXhpc3RpbmcgZG9tYWluICdQcm9maWxlciciKSkKKyAgICAgICAg
cmV0dXJuOworCiAgICAgcHJpbnRmKCJDT05TT0xFIE1FU1NBR0U6ICIpOwogICAgIGlmIChsaW5l
TnVtYmVyKQogICAgICAgICBwcmludGYoImxpbmUgJXU6ICIsIGxpbmVOdW1iZXIpOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAK
aW5kZXggMDcwYWY4YzE0MjY2NDBiNzM5ZGRiYmFjNjA4YzhlMGVkMDdjNjY4Mi4uY2U1MGE4OTIx
YjNkNWZmZDU2NTRiZWY1MDk2MDRhNmRmMmNlYTE1YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCkBAIC03NjUsMTcgKzc2
NSwxOCBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRBc3luY2hyb25vdXNTcGVsbENo
ZWNraW5nRW5hYmxlZChib29sKQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzaG93V2Vi
SW5zcGVjdG9yKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a192aWV3X3dlYl9p
bnNwZWN0b3Jfc2hvdyhicm93c2VyLT5tYWluVmlldygpKTsKKyAgICBicm93c2VyLT53YWl0SW5z
cGVjdG9yTG9hZEZpbmlzaGVkKCk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNs
b3NlV2ViSW5zcGVjdG9yKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a192aWV3
X3dlYl9pbnNwZWN0b3JfY2xvc2UoYnJvd3Nlci0+bWFpblZpZXcoKSk7CiB9CiAKLXZvaWQgTGF5
b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZywgSlNTdHJpbmdS
ZWYpCit2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxv
bmcgY2FsbElkLCBKU1N0cmluZ1JlZiBzY3JpcHQpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsK
KyAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoYnJv
d3Nlci0+bWFpblZpZXcoKSwgY2FsbElkLCBTdHJpbmcoc2NyaXB0LT51c3RyaW5nKCkuaW1wbCgp
KSk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlU2NyaXB0SW5Jc29s
YXRlZFdvcmxkQW5kUmV0dXJuVmFsdWUodW5zaWduZWQsIEpTT2JqZWN0UmVmLCBKU1N0cmluZ1Jl
ZikKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAxYWQ1YmZiZTAzZmM0NTI2Y2VjNzdjYmNmYTcxOGJlODliNzZjMWUzLi5mZjEw
ZGI2ZWY0ZmRkOTMzMGI0NjQ2NjU3NGY5ZTlmYjgzZGE4OGFlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMTItMDctMDkgIFNlb2tqdSBLd29uICA8c2Vva2p1Lmt3b25Ac2Ftc3VuZy5jb20+CisK
KyAgICAgICAgW0VGTF1bRFJUXSBBZGQgc3VwcG9ydCBmb3IgV2ViIEluc3BlY3RvciBpbiBXZWJL
aXQtRUZMIERSVAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODc5MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW1vdmUgdGhlIGZvbGxvd2luZyB0ZXN0cyBmcm9tIFNraXBwZWQgbGlzdC4KKyAgICAgICAg
TGF5b3V0VGVzdHMvaW5zcGVjdG9yCisgICAgICAgIExheW91dFRlc3RzL2h0dHAvdGVzdC9pbnNw
ZWN0b3IKKyAgICAgICAgTGF5b3V0VGVzdHMvaHR0cC90ZXN0L2luc3BlY3Rvci1lbmFibGVkCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBlZDoKKwogMjAxMi0wNy0wOSAgVGFpanUgVHN1
aWtpICA8dHppa0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIHRl
eHQgZmlsZSBzdXBwb3J0IGZvciBGaWxlU3lzdGVtQWdlbnQ6OnJlcXVlc3RGaWxlQ29udGVudApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAppbmRleCBmNTM0NWIwZGZlMjUwYTdmN2ViYzQ1NDI3MDc3
MjA5ZmU5YTc1NWVkLi4yMmEwMjgzNmY5ZjdhMTEzMzg5Mzc5MzhiYWU2NDJjODc0YzU5MDBkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9lZmwvU2tpcHBlZApAQCAtMjM0LDExICsyMzQsNiBAQCBwbHVnaW5zCiAj
IFRoZSBFRkwgcG9ydCBoYXMgbm8gc3VwcG9ydCBmb3IgYWNjZXNzaWJpbGl0eSBmZWF0dXJlcwog
YWNjZXNzaWJpbGl0eQogCi0jIFRoZSBFRkwgcG9ydCBoYXMgbm8gc3VwcG9ydCBmb3IgdGhlIHdl
YiBpbnNwZWN0b3IKLWluc3BlY3RvcgotaHR0cC90ZXN0cy9pbnNwZWN0b3IKLWh0dHAvdGVzdHMv
aW5zcGVjdG9yLWVuYWJsZWQKLQogIyBUaGUgRUZMIHBvcnQgaGFzIG5vIHN1cHBvcnQgZm9yIGRl
dmljZSBtb3Rpb24gYW5kIG9yaWVudGF0aW9uCiBmYXN0L2RvbS9EZXZpY2VNb3Rpb24KIGZhc3Qv
ZG9tL0RldmljZU9yaWVudGF0aW9uCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152934</attachid>
            <date>2012-07-17 22:56:47 -0700</date>
            <delta_ts>2012-07-18 05:50:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-87935-20120718145650.patch</filename>
            <type>text/plain</type>
            <size>14331</size>
            <attacher name="Seokju Kwon">seokju.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyOTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Vm
bC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKaW5kZXggN2QzMTNlMzQ4
YjU0YmIyNWRhYjc1Zjg3NmVjYjI4ZGQwY2MwYmU2NS4uOThlY2ZmZWQ4ZmJkMTgzYjhjMTMzMjU4
YjlmOTdlMWVlYzk5ZmZmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTA3LTE3ICBTZW9ranUgS3dvbiAgPHNlb2tqdS5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAg
IFtFRkxdW0RSVF0gQWRkIHN1cHBvcnQgZm9yIFdlYiBJbnNwZWN0b3IgaW4gV2ViS2l0LUVGTCBE
UlQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3OTM1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGlt
cGxlbWVudGF0aW9uIG9mIER1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbDo6ZXZhbHVhdGVJbldlYklu
c3BlY3RvcigpLgorICAgICAgICBTb21lIHNjcmlwdHMgZm9yIHRlc3Qgc2hvdWxkIGJlIGV2YWx1
YXRlZCBpbiBmcm9udGVuZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEVmbC5jcHA6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmV2
YWx1YXRlSW5XZWJJbnNwZWN0b3IpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0R1bXBSZW5k
ZXJUcmVlU3VwcG9ydEVmbC5oOgorCiAyMDEyLTA3LTE3ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hy
aXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF0gUmVwbGFjZSAwIGJ5IE5V
TEwgaW4gcHVibGljIGhlYWRlcnMgZG9jdW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5j
cHAKaW5kZXggNDg1ZGI3ZjA5MGE3NzJiMWZjZmVhMjBkMjFlMWU1Yjc3OWUwYzNlNS4uYmMwZGM2
MWJlMGMwNTBmZjFiNGVhMzRlOGE1ZmQ4ZTljYzg4YThmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRF
ZmwuY3BwCkBAIC01MjAsNiArNTIwLDE4IEBAIGJvb2wgRHVtcFJlbmRlclRyZWVTdXBwb3J0RWZs
Ojppc1RhcmdldEl0ZW0oY29uc3QgRXdrX0hpc3RvcnlfSXRlbSogZXdrSGlzdG9yeUl0CiAgICAg
cmV0dXJuIGhpc3RvcnlJdGVtLT5pc1RhcmdldEl0ZW0oKTsKIH0KIAordm9pZCBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRFZmw6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoY29uc3QgRXZhc19PYmplY3Qq
IGV3a1ZpZXcsIGxvbmcgY2FsbElkLCBjb25zdCBTdHJpbmcmIHNjcmlwdCkKK3sKKyNpZiBFTkFC
TEUoSU5TUEVDVE9SKQorICAgIFdlYkNvcmU6OlBhZ2UqIHBhZ2UgPSBFV0tQcml2YXRlOjpjb3Jl
UGFnZShld2tWaWV3KTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsKKworICAgIGlm
IChwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCkpCisgICAgICAgIHBhZ2UtPmluc3BlY3RvckNv
bnRyb2xsZXIoKS0+ZXZhbHVhdGVGb3JUZXN0SW5Gcm9udGVuZChjYWxsSWQsIHNjcmlwdCk7Cisj
ZW5kaWYKK30KKwogdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRFZmw6OmV2YWx1YXRlU2NyaXB0
SW5Jc29sYXRlZFdvcmxkKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgaW50IHdvcmxkSUQs
IEpTT2JqZWN0UmVmIGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBzY3JpcHQpCiB7CiAgICAg
V2ViQ29yZTo6RnJhbWUqIGNvcmVGcmFtZSA9IEVXS1ByaXZhdGU6OmNvcmVGcmFtZShld2tGcmFt
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCmluZGV4IDYxMWYzYzg1ZjBmZjE0ZjkwZWM0ZjgxMGYw
ZmRiZWVkYmRjMDVjNjEuLmVhZjExZDMyODU4OGIzZTQ1ZjBiZTU4YTRlMzdlNWJiZGMwNWIxOTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0R1
bXBSZW5kZXJUcmVlU3VwcG9ydEVmbC5oCkBAIC05NCw2ICs5NCw3IEBAIHB1YmxpYzoKICAgICBz
dGF0aWMgSGlzdG9yeUl0ZW1DaGlsZHJlblZlY3RvciBjaGlsZEhpc3RvcnlJdGVtcyhjb25zdCBF
d2tfSGlzdG9yeV9JdGVtKik7CiAgICAgc3RhdGljIFN0cmluZyBoaXN0b3J5SXRlbVRhcmdldChj
b25zdCBFd2tfSGlzdG9yeV9JdGVtKik7CiAgICAgc3RhdGljIGJvb2wgaXNUYXJnZXRJdGVtKGNv
bnN0IEV3a19IaXN0b3J5X0l0ZW0qKTsKKyAgICBzdGF0aWMgdm9pZCBldmFsdWF0ZUluV2ViSW5z
cGVjdG9yKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3LCBsb25nIGNhbGxJZCwgY29uc3QgU3Ry
aW5nJiBzY3JpcHQpOwogICAgIHN0YXRpYyB2b2lkIGV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdv
cmxkKGNvbnN0IEV2YXNfT2JqZWN0KiBld2tGcmFtZSwgaW50IHdvcmxkSUQsIEpTT2JqZWN0UmVm
IGdsb2JhbE9iamVjdCwgY29uc3QgU3RyaW5nJiBzY3JpcHQpOwogICAgIHN0YXRpYyBKU0dsb2Jh
bENvbnRleHRSZWYgZ2xvYmFsQ29udGV4dFJlZkZvckZyYW1lKGNvbnN0IEV2YXNfT2JqZWN0KiBl
d2tGcmFtZSk7CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxv
ZwppbmRleCA2MWUzYTlkNjFkOTQ0NTVmYWY1NTJjNzM3Y2JiYTg0N2NiMWUzMjAzLi4zMzJmOWI3
ODc4ODBjNjQ3ZWIyOTM1NjJlYzIyYTNhNTU2MDQ4YmZhIDEwMDY0NAotLS0gYS9Ub29scy9DaGFu
Z2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTItMDctMTcg
IFNlb2tqdSBLd29uICA8c2Vva2p1Lmt3b25Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF1b
RFJUXSBBZGQgc3VwcG9ydCBmb3IgV2ViIEluc3BlY3RvciBpbiBXZWJLaXQtRUZMIERSVAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc5MzUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
IHdpbGwgYmUgc2hvd24gd2hlbiBwYXRoIG9yIHVybCBjb250YWlucyAiaW5zcGVjdG9yLyIuCisg
ICAgICAgIER1bXByZW5kZXJ0cmVlIHNob3VsZCB3YWl0IHV0aWwgd2ViIGluc3BlY3RvciByZXNv
dXJjZXMgYXJlIGxvYWRlZCB0b3RhbGx5CisgICAgICAgIGFuZCBoYW5kbGUgdGhlIHNpZ25hbHMg
Zm9yIGNyZWF0aW5nIG9yIHJlbW92aW5nIGEgdmlldyBvZiB3ZWIgaW5zcGVjdG9yLgorICAgICAg
ICAoImluc3BlY3Rvcix2aWV3LGNyZWF0ZSIgYW5kICJpbnNwZWN0b3IsdmlldyxjbG9zZSIpCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAg
ICAoc2hvdWxkT3BlbldlYkluc3BlY3Rvcik6CisgICAgICAgIChjcmVhdGVMYXlvdXRUZXN0Q29u
dHJvbGxlcik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hy
b21lLmNwcDoKKyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVWaWV3KToKKyAg
ICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVXZWJJbnNwZWN0b3JWaWV3KToKKyAg
ICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpyZW1vdmVXZWJJbnNwZWN0b3JWaWV3KToKKyAg
ICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjp3YWl0SW5zcGVjdG9yTG9hZEZpbmlzaGVkKToK
KyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkluc3BlY3RvclZpZXdDcmVhdGUpOgor
ICAgICAgICAoRHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uSW5zcGVjdG9yVmlld0Nsb3NlKToKKyAg
ICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lOjpvbkluc3BlY3RvckZyYW1lTG9hZEZpbmlzaGVk
KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWVDaHJvbWUuaDoK
KyAgICAgICAgKER1bXBSZW5kZXJUcmVlQ2hyb21lKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9lZmwvRHVtcFJlbmRlclRyZWVWaWV3LmNwcDoKKyAgICAgICAgKG9uQ29uc29sZU1lc3NhZ2Up
OgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5j
cHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2hvd1dlYkluc3BlY3Rvcik6Cisg
ICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6Y2xvc2VXZWJJbnNwZWN0b3IpOgorICAgICAg
ICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IpOgorCiAyMDEy
LTA3LTE3ICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgogCiAg
ICAgICAgIHdlYmtpdGRpcnMucG0gc2hvdWxkIGZhbGxiYWNrIHRvIHVuYW1lIC1tIGlmIGFyY2gg
aXMgbm90IHByZXNlbnQuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwvRHVt
cFJlbmRlclRyZWUuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVl
LmNwcAppbmRleCBlZTI2MzU2YWMzNjk4ZDAwZjMzNjA2MzJlYTEzZWE1ZmFlZDJkZjJiLi43NTI5
NDU0MTAxMGEyZDgwOThiYmY1NjYzZTYzZTU4ZjZmZDlmY2E2IDEwMDY0NAotLS0gYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9lZmwvRHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZS5jcHAKQEAgLTE0OCw2ICsxNDgsMTEgQEAgc3RhdGlj
IGJvb2wgc2hvdWxkRHVtcEFzVGV4dChjb25zdCBTdHJpbmcmIHBhdGhPclVSTCkKICAgICByZXR1
cm4gcGF0aE9yVVJMLmNvbnRhaW5zKCJkdW1wQXNUZXh0LyIpOwogfQogCitzdGF0aWMgYm9vbCBz
aG91bGRPcGVuV2ViSW5zcGVjdG9yKGNvbnN0IFN0cmluZyYgcGF0aE9yVVJMKQoreworICAgIHJl
dHVybiBwYXRoT3JVUkwuY29udGFpbnMoImluc3BlY3Rvci8iKTsKK30KKwogc3RhdGljIHZvaWQg
c2VuZFBpeGVsUmVzdWx0c0VPRigpCiB7CiAgICAgcHV0cygiI0VPRiIpOwpAQCAtMjUxLDYgKzI1
Niw5IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZUxheW91dFRlc3RDb250cm9sbGVyKGNvbnN0IFN0cmlu
ZyYgdGVzdFVSTCwgY29uc3QgU3RyaW5nJiBleHBlCiAgICAgICAgIGdMYXlvdXRUZXN0Q29udHJv
bGxlci0+c2V0RHVtcEZyYW1lTG9hZENhbGxiYWNrcyh0cnVlKTsKIAogICAgIGdMYXlvdXRUZXN0
Q29udHJvbGxlci0+c2V0RGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCh0cnVlKTsKKyAgICBpZiAoc2hv
dWxkT3BlbldlYkluc3BlY3Rvcih0ZXN0VVJMKSkKKyAgICAgICAgZ0xheW91dFRlc3RDb250cm9s
bGVyLT5zaG93V2ViSW5zcGVjdG9yKCk7CisKICAgICBnTGF5b3V0VGVzdENvbnRyb2xsZXItPnNl
dER1bXBIaXN0b3J5RGVsZWdhdGVDYWxsYmFja3MoaXNHbG9iYWxIaXN0b3J5VGVzdCh0ZXN0VVJM
KSk7CiAKICAgICBpZiAoc2hvdWxkRHVtcEFzVGV4dCh0ZXN0VVJMKSkgewpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5jcHAKaW5kZXggOGE5MDFj
NDFkZTFlNTQ1ZGY1N2IyNTQ3ZGRiMzBkY2RhYzk0MDQ5NC4uYjcyYTcyMmZlYjA0OTU1MjJlMzMz
ZTA0ZmEzZGM2OTY2YWQ3NjUwZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZs
L0R1bXBSZW5kZXJUcmVlQ2hyb21lLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9lZmwv
RHVtcFJlbmRlclRyZWVDaHJvbWUuY3BwCkBAIC0xMTQsNiArMTE0LDggQEAgRXZhc19PYmplY3Qq
IER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVWaWV3KCkgY29uc3QKICAgICBldmFzX29iamVj
dF9zbWFydF9jYWxsYmFja19hZGQodmlldywgInBlcmZvcm0sc2VydmVyLHJlZGlyZWN0Iiwgb25X
ZWJWaWV3U2VydmVyUmVkaXJlY3QsIDApOwogICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNr
X2FkZCh2aWV3LCAicGVyZm9ybSxjbGllbnQscmVkaXJlY3QiLCBvbldlYlZpZXdDbGllbnRSZWRp
cmVjdCwgMCk7CiAgICAgZXZhc19vYmplY3Rfc21hcnRfY2FsbGJhY2tfYWRkKHZpZXcsICJwb3B1
bGF0ZSx2aXNpdGVkLGxpbmtzIiwgb25XZWJWaWV3UG9wdWxhdGVWaXNpdGVkTGlua3MsIDApOwor
ICAgIGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZCh2aWV3LCAiaW5zcGVjdG9yLHZpZXcs
Y3JlYXRlIiwgb25JbnNwZWN0b3JWaWV3Q3JlYXRlLCAwKTsKKyAgICBldmFzX29iamVjdF9zbWFy
dF9jYWxsYmFja19hZGQodmlldywgImluc3BlY3Rvcix2aWV3LGNsb3NlIiwgb25JbnNwZWN0b3JW
aWV3Q2xvc2UsIDApOwogCiAgICAgY29ubmVjdEVkaXRpbmdDYWxsYmFja3Modmlldyk7CiAKQEAg
LTEzNSw2ICsxMzcsNDYgQEAgRXZhc19PYmplY3QqIER1bXBSZW5kZXJUcmVlQ2hyb21lOjpjcmVh
dGVWaWV3KCkgY29uc3QKICAgICByZXR1cm4gdmlldzsKIH0KIAorRXZhc19PYmplY3QqIER1bXBS
ZW5kZXJUcmVlQ2hyb21lOjpjcmVhdGVXZWJJbnNwZWN0b3JWaWV3KCkKK3sKKyAgICBFdmFzX09i
amVjdCogaW5zcGVjdG9yVmlldyA9IGRydFZpZXdBZGQobV9ldmFzKTsKKyAgICBpZiAoIWluc3Bl
Y3RvclZpZXcpCisgICAgICAgIHJldHVybiAwOworCisgICAgZXdrX3ZpZXdfdGhlbWVfc2V0KGlu
c3BlY3RvclZpZXcsIERBVEFfRElSIi9kZWZhdWx0LmVkaiIpOworCisgICAgRXZhc19PYmplY3Qq
IG1haW5GcmFtZSA9IGV3a192aWV3X2ZyYW1lX21haW5fZ2V0KGluc3BlY3RvclZpZXcpOworICAg
IGV2YXNfb2JqZWN0X3NtYXJ0X2NhbGxiYWNrX2FkZChtYWluRnJhbWUsICJsb2FkLGZpbmlzaGVk
Iiwgb25JbnNwZWN0b3JGcmFtZUxvYWRGaW5pc2hlZCwgMCk7CisKKyAgICBldmFzX29iamVjdF9y
ZXNpemUoaW5zcGVjdG9yVmlldywgTGF5b3V0VGVzdENvbnRyb2xsZXI6Om1heFZpZXdXaWR0aCwg
TGF5b3V0VGVzdENvbnRyb2xsZXI6Om1heFZpZXdIZWlnaHQpOworICAgIGV2YXNfb2JqZWN0X3No
b3coaW5zcGVjdG9yVmlldyk7CisgICAgZXZhc19vYmplY3RfZm9jdXNfc2V0KGluc3BlY3RvclZp
ZXcsIHRydWUpOworCisgICAgcmV0dXJuIGluc3BlY3RvclZpZXc7Cit9CisKK3ZvaWQgRHVtcFJl
bmRlclRyZWVDaHJvbWU6OnJlbW92ZVdlYkluc3BlY3RvclZpZXcoKQoreworICAgIEV2YXNfT2Jq
ZWN0KiBpbnNwZWN0b3JWaWV3ID0gZXdrX3ZpZXdfd2ViX2luc3BlY3Rvcl92aWV3X2dldChtYWlu
VmlldygpKTsKKyAgICBpZiAoIWluc3BlY3RvclZpZXcpCisgICAgICAgIHJldHVybjsKKworICAg
IEV2YXNfT2JqZWN0KiBtYWluRnJhbWUgPSBld2tfdmlld19mcmFtZV9tYWluX2dldChpbnNwZWN0
b3JWaWV3KTsKKyAgICBldmFzX29iamVjdF9zbWFydF9jYWxsYmFja19kZWwobWFpbkZyYW1lLCAi
bG9hZCxmaW5pc2hlZCIsIG9uSW5zcGVjdG9yRnJhbWVMb2FkRmluaXNoZWQpOworCisgICAgZXZh
c19vYmplY3RfZGVsKGluc3BlY3RvclZpZXcpOworICAgIGV3a192aWV3X3dlYl9pbnNwZWN0b3Jf
dmlld19zZXQobWFpblZpZXcoKSwgMCk7Cit9CisKK3ZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6
OndhaXRJbnNwZWN0b3JMb2FkRmluaXNoZWQoKQoreworICAgIC8vIFdhaXRzIHVudGlsIHRoZSBw
YWdlIGhhcyBmaW5pc2hlZCBsb2FkaW5nLgorICAgIC8vIEJlY2F1c2UgaXQgY2FuJ3QgY29tcGxl
dGUgbG9hZGluZyBpbnNwZWN0b3IuaHRtbCBiZWZvcmUgbG9hZGluZyB0ZXN0VVJMLgorICAgIEV2
YXNfT2JqZWN0KiBpbnNwZWN0b3JWaWV3ID0gZXdrX3ZpZXdfd2ViX2luc3BlY3Rvcl92aWV3X2dl
dChtYWluVmlldygpKTsKKyAgICBpZiAoaW5zcGVjdG9yVmlldykKKyAgICAgICAgZWNvcmVfbWFp
bl9sb29wX2JlZ2luKCk7Cit9CisKIHZvaWQgRHVtcFJlbmRlclRyZWVDaHJvbWU6OnJlbW92ZVdp
bmRvdyhFdmFzX09iamVjdCogdmlldykKIHsKICAgICBjb25zdCBzaXplX3QgcG9zID0gbV9leHRy
YVZpZXdzLmZpbmQodmlldyk7CkBAIC02MTksNiArNjYxLDI1IEBAIHZvaWQgRHVtcFJlbmRlclRy
ZWVDaHJvbWU6Om9uV2ViVmlld1BvcHVsYXRlVmlzaXRlZExpbmtzKHZvaWQqLCBFdmFzX09iamVj
dCogZXdrCiAgICAgcHJpbnRmKCJBc2tlZCB0byBwb3B1bGF0ZSB2aXNpdGVkIGxpbmtzIGZvciBX
ZWJWaWV3IFwiJXNcIlxuIiwgZXdrX3ZpZXdfdXJpX2dldChld2tWaWV3KSk7CiB9CiAKK3ZvaWQg
RHVtcFJlbmRlclRyZWVDaHJvbWU6Om9uSW5zcGVjdG9yVmlld0NyZWF0ZSh2b2lkKiwgRXZhc19P
YmplY3QqLCB2b2lkKikKK3sKKyAgICBFdmFzX09iamVjdCogaW5zcGVjdG9yVmlldyA9IGJyb3dz
ZXItPmNyZWF0ZVdlYkluc3BlY3RvclZpZXcoKTsKKyAgICBpZiAoaW5zcGVjdG9yVmlldykKKyAg
ICAgICAgZXdrX3ZpZXdfd2ViX2luc3BlY3Rvcl92aWV3X3NldChicm93c2VyLT5tYWluVmlldygp
LCBpbnNwZWN0b3JWaWV3KTsKK30KKwordm9pZCBEdW1wUmVuZGVyVHJlZUNocm9tZTo6b25JbnNw
ZWN0b3JWaWV3Q2xvc2Uodm9pZCosIEV2YXNfT2JqZWN0Kiwgdm9pZCopCit7CisgICAgYnJvd3Nl
ci0+cmVtb3ZlV2ViSW5zcGVjdG9yVmlldygpOworfQorCit2b2lkIER1bXBSZW5kZXJUcmVlQ2hy
b21lOjpvbkluc3BlY3RvckZyYW1lTG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZv
aWQqKQoreworICAgIEV2YXNfT2JqZWN0KiBpbnNwZWN0b3JWaWV3ID0gZXdrX3ZpZXdfd2ViX2lu
c3BlY3Rvcl92aWV3X2dldChicm93c2VyLT5tYWluVmlldygpKTsKKyAgICBpZiAoaW5zcGVjdG9y
VmlldykKKyAgICAgICAgZWNvcmVfbWFpbl9sb29wX3F1aXQoKTsKK30KKwogdm9pZCBEdW1wUmVu
ZGVyVHJlZUNocm9tZTo6b25GcmFtZVByb3Zpc2lvbmFsTG9hZCh2b2lkKiwgRXZhc19PYmplY3Qq
IGZyYW1lLCB2b2lkKikKIHsKICAgICBpZiAoIWRvbmUgJiYgZ0xheW91dFRlc3RDb250cm9sbGVy
LT5kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzKCkpIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2VmbC9EdW1wUmVuZGVyVHJlZUNocm9tZS5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
ZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21lLmgKaW5kZXggOWUyZjMyMzcyODQ3NGUyYjZkZTk5YmM2
ODRhNzdkZmU4MjM4MjVmMS4uZGIzYjE5NzYwMTJkMzg5ZWFiYzVkYmMxMzMxOTYzZjgzOGJlZTQ3
YyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hy
b21lLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlQ2hyb21l
LmgKQEAgLTQ4LDYgKzQ4LDEwIEBAIHB1YmxpYzoKICAgICBFdmFzX09iamVjdCogY3JlYXRlTmV3
V2luZG93KCk7CiAgICAgdm9pZCByZW1vdmVXaW5kb3coRXZhc19PYmplY3QqKTsKIAorICAgIEV2
YXNfT2JqZWN0KiBjcmVhdGVXZWJJbnNwZWN0b3JWaWV3KCk7CisgICAgdm9pZCByZW1vdmVXZWJJ
bnNwZWN0b3JWaWV3KCk7CisgICAgdm9pZCB3YWl0SW5zcGVjdG9yTG9hZEZpbmlzaGVkKCk7CisK
ICAgICBjb25zdCBWZWN0b3I8RXZhc19PYmplY3QqPiYgZXh0cmFWaWV3cygpIGNvbnN0OwogICAg
IHZvaWQgY2xlYXJFeHRyYVZpZXdzKCk7CiAKQEAgLTEwNSw2ICsxMDksMTIgQEAgcHJpdmF0ZToK
IAogICAgIHN0YXRpYyB2b2lkIG9uRnJhbWVDcmVhdGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZv
aWQqKTsKIAorICAgIHN0YXRpYyB2b2lkIG9uSW5zcGVjdG9yVmlld0NyZWF0ZSh2b2lkKiwgRXZh
c19PYmplY3QqLCB2b2lkKik7CisKKyAgICBzdGF0aWMgdm9pZCBvbkluc3BlY3RvclZpZXdDbG9z
ZSh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lkKik7CisKKyAgICBzdGF0aWMgdm9pZCBvbkluc3Bl
Y3RvckZyYW1lTG9hZEZpbmlzaGVkKHZvaWQqLCBFdmFzX09iamVjdCosIHZvaWQqKTsKKwogICAg
IHN0YXRpYyB2b2lkIG9uRnJhbWVJY29uQ2hhbmdlZCh2b2lkKiwgRXZhc19PYmplY3QqLCB2b2lk
Kik7CiAKICAgICBzdGF0aWMgdm9pZCBvbkZyYW1lUHJvdmlzaW9uYWxMb2FkKHZvaWQqLCBFdmFz
X09iamVjdCosIHZvaWQqKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2VmbC9E
dW1wUmVuZGVyVHJlZVZpZXcuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5k
ZXJUcmVlVmlldy5jcHAKaW5kZXggMzJmNGMzOWIzNDAxNjNjZjQ5ODhjYmNhYTYxYTliZjJjZmI4
NjBlOS4uNzMyYWQyOGMyOGZkZmMxNDQ5MDE3MWI2MDVjMDBhMjg2NzI3MmQ4NyAxMDA2NDQKLS0t
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlVmlldy5jcHAKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvZWZsL0R1bXBSZW5kZXJUcmVlVmlldy5jcHAKQEAgLTY1LDYg
KzY1LDEwIEBAIHN0YXRpYyB2b2lkIG9uQ29uc29sZU1lc3NhZ2UoRXdrX1ZpZXdfU21hcnRfRGF0
YSosIGNvbnN0IGNoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkCiAgICAgICAgICAgICBuZXdNZXNzYWdl
ID0gbmV3TWVzc2FnZS5sZWZ0KGZpbGVQcm90b2NvbCkgKyB1cmxTdWl0YWJsZUZvclRlc3RSZXN1
bHQobmV3TWVzc2FnZS5zdWJzdHJpbmcoZmlsZVByb3RvY29sKSk7CiAgICAgfQogCisgICAgLy8g
SWdub3JlIHNpbXBsZSB0cmFuc2xhdGlvbi1yZWxhdGVkIG1lc3NhZ2VzIGFuZCB1bm5lY2Vzc2Fy
eSBtZXNzYWdlcworICAgIGlmIChuZXdNZXNzYWdlLmNvbnRhaW5zKCJMb2NhbGl6ZWQgc3RyaW5n
IikgfHwgbmV3TWVzc2FnZS5jb250YWlucygiUHJvdG9jb2wgRXJyb3I6IHRoZSBtZXNzYWdlIGlz
IGZvciBub24tZXhpc3RpbmcgZG9tYWluICdQcm9maWxlciciKSkKKyAgICAgICAgcmV0dXJuOwor
CiAgICAgcHJpbnRmKCJDT05TT0xFIE1FU1NBR0U6ICIpOwogICAgIGlmIChsaW5lTnVtYmVyKQog
ICAgICAgICBwcmludGYoImxpbmUgJXU6ICIsIGxpbmVOdW1iZXIpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2VmbC9MYXlvdXRUZXN0Q29udHJvbGxlckVmbC5jcHAKaW5kZXggMzM1
MmZlNjc4YjlhYzc1ZGU3Y2IzZGRkOTU4NGEzYzA0ZGViNTcxOC4uNmJmOTYzNTQyNmM5YWFiZjJk
ZWU0MTk0ZmQ3MWIzMmY2MDgyZjU3ZCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
ZWZsL0xheW91dFRlc3RDb250cm9sbGVyRWZsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9lZmwvTGF5b3V0VGVzdENvbnRyb2xsZXJFZmwuY3BwCkBAIC03NjUsMTcgKzc2NSwxOCBAQCB2
b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRBc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5h
YmxlZChib29sKQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzaG93V2ViSW5zcGVjdG9y
KCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a192aWV3X3dlYl9pbnNwZWN0b3Jf
c2hvdyhicm93c2VyLT5tYWluVmlldygpKTsKKyAgICBicm93c2VyLT53YWl0SW5zcGVjdG9yTG9h
ZEZpbmlzaGVkKCk7CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmNsb3NlV2ViSW5z
cGVjdG9yKCkKIHsKLSAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIGV3a192aWV3X3dlYl9pbnNw
ZWN0b3JfY2xvc2UoYnJvd3Nlci0+bWFpblZpZXcoKSk7CiB9CiAKLXZvaWQgTGF5b3V0VGVzdENv
bnRyb2xsZXI6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IobG9uZywgSlNTdHJpbmdSZWYpCit2b2lk
IExheW91dFRlc3RDb250cm9sbGVyOjpldmFsdWF0ZUluV2ViSW5zcGVjdG9yKGxvbmcgY2FsbElk
LCBKU1N0cmluZ1JlZiBzY3JpcHQpCiB7Ci0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBEdW1w
UmVuZGVyVHJlZVN1cHBvcnRFZmw6OmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoYnJvd3Nlci0+bWFp
blZpZXcoKSwgY2FsbElkLCBTdHJpbmcoc2NyaXB0LT51c3RyaW5nKCkuaW1wbCgpKSk7CiB9CiAK
IHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OmV2YWx1YXRlU2NyaXB0SW5Jc29sYXRlZFdvcmxk
QW5kUmV0dXJuVmFsdWUodW5zaWduZWQsIEpTT2JqZWN0UmVmLCBKU1N0cmluZ1JlZikKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA2MzhjYTUxYjg2MWI1NmI2YzBiNDlhMWY3MjRlNzg0NTJjMDMzMjNmLi5kZGUyMDM1MWZmNDVk
MWE5YjE4ZTQ5NjFjZWQwZjExYTQwZjE2Y2NhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTIt
MDctMTcgIFNlb2tqdSBLd29uICA8c2Vva2p1Lmt3b25Ac2Ftc3VuZy5jb20+CisKKyAgICAgICAg
W0VGTF1bRFJUXSBBZGQgc3VwcG9ydCBmb3IgV2ViIEluc3BlY3RvciBpbiBXZWJLaXQtRUZMIERS
VAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODc5MzUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUg
dGhlIGZvbGxvd2luZyB0ZXN0cyBmcm9tIFNraXBwZWQgbGlzdC4KKyAgICAgICAgTGF5b3V0VGVz
dHMvaW5zcGVjdG9yCisgICAgICAgIExheW91dFRlc3RzL2h0dHAvdGVzdC9pbnNwZWN0b3IKKyAg
ICAgICAgTGF5b3V0VGVzdHMvaHR0cC90ZXN0L2luc3BlY3Rvci1lbmFibGVkCisgICAgICAgIExh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL25ldHdvcmsvcGluZy5odG1sCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9lZmwvU2tpcHBlZDoKKwogMjAxMi0wNy0xNyAgSm9zaHVhIEJlbGwgIDxq
c2JlbGxAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogS2V5IGdlbmVyYXRvciBz
dGF0ZSBub3QgbWFpbnRhaW5lZCBhY3Jvc3MgY29ubmVjdGlvbnMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Nr
aXBwZWQKaW5kZXggYzk1N2UxYThiNjU5YWQxMzRmMDBjMWUxMDlhZGYxNzgyZDlmZDFiZC4uMDNm
NjRhMWFjNWJkN2U2YzUwN2M5OGQ0MWE4YjEyZGJjYTkyZDIyMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZWZsL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZs
L1NraXBwZWQKQEAgLTIzNCwxMSArMjM0LDYgQEAgcGx1Z2lucwogIyBUaGUgRUZMIHBvcnQgaGFz
IG5vIHN1cHBvcnQgZm9yIGFjY2Vzc2liaWxpdHkgZmVhdHVyZXMKIGFjY2Vzc2liaWxpdHkKIAot
IyBUaGUgRUZMIHBvcnQgaGFzIG5vIHN1cHBvcnQgZm9yIHRoZSB3ZWIgaW5zcGVjdG9yCi1pbnNw
ZWN0b3IKLWh0dHAvdGVzdHMvaW5zcGVjdG9yCi1odHRwL3Rlc3RzL2luc3BlY3Rvci1lbmFibGVk
Ci0KICMgVGhlIEVGTCBwb3J0IGhhcyBubyBzdXBwb3J0IGZvciBkZXZpY2UgbW90aW9uIGFuZCBv
cmllbnRhdGlvbgogZmFzdC9kb20vRGV2aWNlTW90aW9uCiBmYXN0L2RvbS9EZXZpY2VPcmllbnRh
dGlvbgpAQCAtNTQxLDcgKzUzNiw2IEBAIGZhc3QvZXZlbnRzL3RhYi1mb2N1cy1hbmNob3IuaHRt
bAogZmFzdC9oaXN0b3J5L2JhY2stZm9yd2FyZC1yZXNldC1hZnRlci1lcnJvci1oYW5kbGluZy5o
dG1sCiBmYXN0L3JlcGFpbnQvbm8tY2FyZXQtcmVwYWludC1pbi1ub24tY29udGVudC1lZGl0YWJs
ZS1lbGVtZW50Lmh0bWwKIGh0dHAvdGVzdHMvY2FudmFzL3dlYmdsL29yaWdpbi1jbGVhbi1jb25m
b3JtYW5jZS5odG1sCi1odHRwL3Rlc3RzL2luc3BlY3Rvci9uZXR3b3JrL3BpbmcuaHRtbAogaHR0
cC90ZXN0cy9uYXZpZ2F0aW9uL2dvLWJhY2stdG8tZXJyb3ItcGFnZS5odG1sCiBsb2FkZXIvZ28t
YmFjay10by1kaWZmZXJlbnQtd2luZG93LXNpemUuaHRtbAogdXNlcnNjcmlwdHMvdXNlci1zY3Jp
cHQtcGx1Z2luLWRvY3VtZW50Lmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>