<?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>117220</bug_id>
          
          <creation_ts>2013-06-04 18:49:25 -0700</creation_ts>
          <short_desc>Allow for toggling fullscreen on &lt;video&gt; elements</short_desc>
          <delta_ts>2013-06-12 10:33:48 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Ruth Fong">ruthiecftg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jonlee</cc>
    
    <cc>mrobinson</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>ruthiecftg</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>897106</commentid>
    <comment_count>0</comment_count>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-04 18:49:25 -0700</bug_when>
    <thetext>Refactor code so that video fullscreen state can be toggled (much like play/pause is toggled).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897107</commentid>
    <comment_count>1</comment_count>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-04 18:50:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/14015839&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897108</commentid>
    <comment_count>2</comment_count>
      <attachid>203747</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-04 19:05:04 -0700</bug_when>
    <thetext>Created attachment 203747
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897109</commentid>
    <comment_count>3</comment_count>
      <attachid>203747</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-04 19:11:49 -0700</bug_when>
    <thetext>Comment on attachment 203747
Patch

Attachment 203747 did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/673630</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897112</commentid>
    <comment_count>4</comment_count>
      <attachid>203747</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-06-04 19:12:36 -0700</bug_when>
    <thetext>Comment on attachment 203747
Patch

Attachment 203747 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/714621</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897113</commentid>
    <comment_count>5</comment_count>
      <attachid>203747</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-04 19:13:59 -0700</bug_when>
    <thetext>Comment on attachment 203747
Patch

Attachment 203747 did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/780052</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897114</commentid>
    <comment_count>6</comment_count>
      <attachid>203747</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-04 19:15:13 -0700</bug_when>
    <thetext>Comment on attachment 203747
Patch

Attachment 203747 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/768278</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897115</commentid>
    <comment_count>7</comment_count>
      <attachid>203747</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-04 19:19:10 -0700</bug_when>
    <thetext>Comment on attachment 203747
Patch

Attachment 203747 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/778144</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897420</commentid>
    <comment_count>8</comment_count>
      <attachid>203747</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-06-05 07:55:07 -0700</bug_when>
    <thetext>Comment on attachment 203747
Patch

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

&gt; Source/WebCore/rendering/HitTestResult.cpp:405
&gt; +    HTMLMediaElement* mediaElt = mediaElement();

Nit: &quot;mediaElt&quot; seems odd and letters are cheap, I would spell out the variable name.

&gt; Source/WebCore/rendering/HitTestResult.cpp:415
&gt; +    HTMLMediaElement* mediaElt(mediaElement());

Ditto. 

We usually use &quot;=&quot; for an assignment like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897461</commentid>
    <comment_count>9</comment_count>
      <attachid>203747</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-05 10:25:04 -0700</bug_when>
    <thetext>Comment on attachment 203747
Patch

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

&gt;&gt; Source/WebCore/rendering/HitTestResult.cpp:405
&gt;&gt; +    HTMLMediaElement* mediaElt = mediaElement();
&gt; 
&gt; Nit: &quot;mediaElt&quot; seems odd and letters are cheap, I would spell out the variable name.

HTMLMediaElement* mediaElement = mediaElement(); yields an error that the &quot;called object type &apos;WebCore::HTMLMediaElement *&quot; is not a function or function pointer&quot;. Would this be because I&apos;m naming the variable the same thing as a function?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897463</commentid>
    <comment_count>10</comment_count>
      <attachid>203747</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-06-05 10:30:12 -0700</bug_when>
    <thetext>Comment on attachment 203747
Patch

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

&gt;&gt;&gt; Source/WebCore/rendering/HitTestResult.cpp:405
&gt;&gt;&gt; +    HTMLMediaElement* mediaElt = mediaElement();
&gt;&gt; 
&gt;&gt; Nit: &quot;mediaElt&quot; seems odd and letters are cheap, I would spell out the variable name.
&gt; 
&gt; HTMLMediaElement* mediaElement = mediaElement(); yields an error that the &quot;called object type &apos;WebCore::HTMLMediaElement *&quot; is not a function or function pointer&quot;. Would this be because I&apos;m naming the variable the same thing as a function?

Yes, and your local variable overrides the function of the same name, so the compiler thinks you&apos;re trying to call the local variable like a function pointer.

I think &apos;element&apos; would be fine.

&gt; Source/WebCore/rendering/HitTestResult.cpp:406
&gt; +    if (mediaElt &amp;&amp; mediaElt-&gt;hasTagName(HTMLNames::videoTag))

You should use &quot;element-&gt;isVideo()&quot; here instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897464</commentid>
    <comment_count>11</comment_count>
      <attachid>203747</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-06-05 10:30:13 -0700</bug_when>
    <thetext>Comment on attachment 203747
Patch

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

&gt;&gt;&gt; Source/WebCore/rendering/HitTestResult.cpp:405
&gt;&gt;&gt; +    HTMLMediaElement* mediaElt = mediaElement();
&gt;&gt; 
&gt;&gt; Nit: &quot;mediaElt&quot; seems odd and letters are cheap, I would spell out the variable name.
&gt; 
&gt; HTMLMediaElement* mediaElement = mediaElement(); yields an error that the &quot;called object type &apos;WebCore::HTMLMediaElement *&quot; is not a function or function pointer&quot;. Would this be because I&apos;m naming the variable the same thing as a function?

Yes, and your local variable overrides the function of the same name, so the compiler thinks you&apos;re trying to call the local variable like a function pointer.

I think &apos;element&apos; would be fine.

&gt; Source/WebCore/rendering/HitTestResult.cpp:406
&gt; +    if (mediaElt &amp;&amp; mediaElt-&gt;hasTagName(HTMLNames::videoTag))

You should use &quot;element-&gt;isVideo()&quot; here instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897486</commentid>
    <comment_count>12</comment_count>
      <attachid>203868</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-05 11:24:05 -0700</bug_when>
    <thetext>Created attachment 203868
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897487</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-05 11:25:14 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897489</commentid>
    <comment_count>14</comment_count>
      <attachid>203868</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-05 11:30:37 -0700</bug_when>
    <thetext>Comment on attachment 203868
Patch

Attachment 203868 did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/694411</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897491</commentid>
    <comment_count>15</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-06-05 11:35:00 -0700</bug_when>
    <thetext>&gt; HTMLMediaElement* mediaElement = mediaElement(); yields an error that the &quot;called object type &apos;WebCore::HTMLMediaElement *&quot; is not a function or function pointer&quot;.

Minor comment:

It&apos;s a pet peeve of mine when we give two names to the same thing -- especially if it&apos;s just because the compiler is being a bully.

My preferred way to preserve the preferred name is either

    HTMLMediaElement* mediaElement = this-&gt;mediaElement();

or

    HTMLMediaElement* mediaElement = HitTestResult::mediaElement();

That way, the name of the thing is always &quot;media element&quot;, which is our preferred name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897492</commentid>
    <comment_count>16</comment_count>
      <attachid>203868</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-05 11:35:52 -0700</bug_when>
    <thetext>Comment on attachment 203868
Patch

Attachment 203868 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/689696</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897493</commentid>
    <comment_count>17</comment_count>
      <attachid>203868</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-05 11:37:29 -0700</bug_when>
    <thetext>Comment on attachment 203868
Patch

Attachment 203868 did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/780095</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897494</commentid>
    <comment_count>18</comment_count>
      <attachid>203868</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-05 11:43:32 -0700</bug_when>
    <thetext>Comment on attachment 203868
Patch

Attachment 203868 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/768335</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897576</commentid>
    <comment_count>19</comment_count>
      <attachid>203887</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-05 15:26:00 -0700</bug_when>
    <thetext>Created attachment 203887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897579</commentid>
    <comment_count>20</comment_count>
      <attachid>203887</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-05 15:33:38 -0700</bug_when>
    <thetext>Comment on attachment 203887
Patch

Attachment 203887 did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/664384</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897582</commentid>
    <comment_count>21</comment_count>
      <attachid>203887</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-05 15:35:29 -0700</bug_when>
    <thetext>Comment on attachment 203887
Patch

Attachment 203887 did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/763337</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897591</commentid>
    <comment_count>22</comment_count>
      <attachid>203887</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-05 15:48:07 -0700</bug_when>
    <thetext>Comment on attachment 203887
Patch

WIP - trying to get it building on all ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897982</commentid>
    <comment_count>23</comment_count>
      <attachid>203980</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-06 17:22:12 -0700</bug_when>
    <thetext>Created attachment 203980
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897986</commentid>
    <comment_count>24</comment_count>
      <attachid>203980</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-06-06 17:49:16 -0700</bug_when>
    <thetext>Comment on attachment 203980
Patch

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

&gt; Source/WebCore/rendering/HitTestResult.cpp:421
&gt; +    HTMLMediaElement* mediaElt = mediaElement();
&gt; +    if (mediaElt &amp;&amp; mediaElt-&gt;hasTagName(HTMLNames::videoTag)) {
&gt; +        HTMLVideoElement* videoElt = static_cast&lt;HTMLVideoElement*&gt;(mediaElt);
&gt; +        if (mediaElt-&gt;supportsFullscreen()) {
&gt; +            UserGestureIndicator indicator(DefinitelyProcessingNewUserGesture);
&gt; +            videoElt-&gt;toggleFullscreenState();
&gt; +        }

Re-picking Geoff&apos;s nit: &quot;mediaElt&quot; =&gt; &quot;mediaElement&quot;, &quot;videoElt&quot; =&gt; &quot;videoElement&quot;, and solve the name collision by calling &quot;this-&gt;mediaElement()&quot;

Apart from that, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897989</commentid>
    <comment_count>25</comment_count>
      <attachid>203983</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-06 17:53:18 -0700</bug_when>
    <thetext>Created attachment 203983
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897991</commentid>
    <comment_count>26</comment_count>
      <attachid>203983</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-06 17:56:46 -0700</bug_when>
    <thetext>Comment on attachment 203983
Patch

Rejecting attachment 203983 from commit-queue.

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

ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.

Full output: http://webkit-queues.appspot.com/results/790105</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>897999</commentid>
    <comment_count>27</comment_count>
      <attachid>203989</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-06 18:36:00 -0700</bug_when>
    <thetext>Created attachment 203989
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898000</commentid>
    <comment_count>28</comment_count>
      <attachid>203989</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-06-06 18:37:26 -0700</bug_when>
    <thetext>Comment on attachment 203989
Patch

r=me, but lets let the EWS bots chew on this change; I suspect there may be a switch statement somewhere that will complain about a missing case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898042</commentid>
    <comment_count>29</comment_count>
      <attachid>203989</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-06-07 00:10:45 -0700</bug_when>
    <thetext>Comment on attachment 203989
Patch

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

Thanks for fixing the GTK+ bits, but unfortunately it breaks WebKit1 GTK+ API and adds new API to WebKit2 GTK+. This should be reviewed by at least 2 GTK+ reviewers. r- because of the API break.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuActions.h:72
&gt; + * @WEBKIT_CONTEXT_MENU_ACTION_EXIT_VIDEO_FULLSCREEN: Exit current video element in fullscreen mode.

This is new API, could you please move this to the end of the enum and append Since 2.2 before landing?

@WEBKIT_CONTEXT_MENU_ACTION_EXIT_VIDEO_FULLSCREEN: Exit current video element in fullscreen mode. Since 2.2

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitContextMenuActions.h:122
&gt; +    WEBKIT_CONTEXT_MENU_ACTION_EXIT_VIDEO_FULLSCREEN,

Move this to the end please.

&gt; Source/WebKit/gtk/webkit/webkitglobals.h:95
&gt; - * @WEBKIT_CONTEXT_MENU_ACTION_ENTER_VIDEO_FULLSCREEN: Show current video element in fullscreen mode.
&gt; + * @WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_VIDEO_FULLSCREEN: Show current video element in fullscreen mode.

This is an API break.

&gt; Source/WebKit/gtk/webkit/webkitglobals.h:140
&gt; -    WEBKIT_CONTEXT_MENU_ACTION_ENTER_VIDEO_FULLSCREEN,
&gt; +    WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_VIDEO_FULLSCREEN,

Isn&apos;t it possible to do the same than in wk2, instead of renaming? Otherwise we need to deprecate the ENTER one and add TOGGLE at the end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898044</commentid>
    <comment_count>30</comment_count>
      <attachid>203989</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-06-07 00:25:16 -0700</bug_when>
    <thetext>Comment on attachment 203989
Patch

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

&gt;&gt; Source/WebKit/gtk/webkit/webkitglobals.h:140
&gt;&gt; +    WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_VIDEO_FULLSCREEN,
&gt; 
&gt; Isn&apos;t it possible to do the same than in wk2, instead of renaming? Otherwise we need to deprecate the ENTER one and add TOGGLE at the end.

I wonder how this could build in EWS gtk, since we are using WEBKIT_CONTEXT_MENU_ACTION_ENTER_VIDEO_FULLSCREEN in webkitglobals.cpp, are we building with CONTEXT_MENUS disabled in EWS? phil?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898045</commentid>
    <comment_count>31</comment_count>
      <attachid>203989</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-07 00:26:59 -0700</bug_when>
    <thetext>Comment on attachment 203989
Patch

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

&gt;&gt; Source/WebKit/gtk/webkit/webkitglobals.h:140
&gt;&gt; +    WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_VIDEO_FULLSCREEN,
&gt; 
&gt; Isn&apos;t it possible to do the same than in wk2, instead of renaming? Otherwise we need to deprecate the ENTER one and add TOGGLE at the end.

I think the tag should be renamed in order to reflect the behavior appropriately; what if we introduced TOGGLE without deleting ENTER for now and file a bug for ENTER to be removed once gtk is stable and transitions to TOGGLE?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898049</commentid>
    <comment_count>32</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-06-07 00:37:05 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; (From update of attachment 203989 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=203989&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit/gtk/webkit/webkitglobals.h:140
&gt; &gt;&gt; +    WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_VIDEO_FULLSCREEN,
&gt; &gt; 
&gt; &gt; Isn&apos;t it possible to do the same than in wk2, instead of renaming? Otherwise we need to deprecate the ENTER one and add TOGGLE at the end.
&gt; 
&gt; I think the tag should be renamed in order to reflect the behavior appropriately; what if we introduced TOGGLE without deleting ENTER for now and file a bug for ENTER to be removed once gtk is stable and transitions to TOGGLE?

Yes, that&apos;s the other alternative, marking ENTER as deprecated and add TOGGLE at the end as a new symbol. Why is not consistent with WebKit2 API then? This patch introduces EXIT instead of TOGGLE. I would like to discuss this API with the other GTK+ reviewers (patches adding new GTK+ API must be approved by at least 2 GTK+ reviewers), and then I can update the patch with the appropriate GTK+ changes to make it easier.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898157</commentid>
    <comment_count>33</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-06-07 07:02:01 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; I wonder how this could build in EWS gtk, since we are using WEBKIT_CONTEXT_MENU_ACTION_ENTER_VIDEO_FULLSCREEN in webkitglobals.cpp, are we building with CONTEXT_MENUS disabled in EWS? phil?

The EWS does a regular build, it does not change any (build-webkit) defaults, in terms of features. It looks like for GTK CONTEXT_MENUS is harcoded to enabled in Source/WTF/wtf/FeatureDefines.h, I can&apos;t see it in any of the feature configuration infrastructure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898163</commentid>
    <comment_count>34</comment_count>
      <attachid>203989</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-06-07 07:19:52 -0700</bug_when>
    <thetext>Comment on attachment 203989
Patch

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

I think you should be leaving the GTK API change to people who work directly on GTK. There’s no rush to add this at the same time you add the underlying capability to WebCore.

&gt; Source/WebKit2/Shared/API/c/WKSharedAPICast.h:472
&gt; -    case WebCore::ContextMenuItemTagEnterVideoFullscreen:
&gt; -        return kWKContextMenuItemTagEnterVideoFullscreen;
&gt; +    case WebCore::ContextMenuItemTagToggleVideoFullscreen:
&gt; +        return kWKContextMenuItemTagToggleVideoFullscreen;

I don’t understand why we are removing the enter fullscreen menu item while adding the toggle fullscreen one. Who suggested the removal? What’s the rationale?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898168</commentid>
    <comment_count>35</comment_count>
      <attachid>203989</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2013-06-07 07:39:52 -0700</bug_when>
    <thetext>Comment on attachment 203989
Patch

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

&gt;&gt;&gt;&gt;&gt; Source/WebKit/gtk/webkit/webkitglobals.h:140
&gt;&gt;&gt;&gt;&gt; +    WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_VIDEO_FULLSCREEN,
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; Isn&apos;t it possible to do the same than in wk2, instead of renaming? Otherwise we need to deprecate the ENTER one and add TOGGLE at the end.
&gt;&gt;&gt; 
&gt;&gt;&gt; I wonder how this could build in EWS gtk, since we are using WEBKIT_CONTEXT_MENU_ACTION_ENTER_VIDEO_FULLSCREEN in webkitglobals.cpp, are we building with CONTEXT_MENUS disabled in EWS? phil?
&gt;&gt; 
&gt;&gt; I think the tag should be renamed in order to reflect the behavior appropriately; what if we introduced TOGGLE without deleting ENTER for now and file a bug for ENTER to be removed once gtk is stable and transitions to TOGGLE?
&gt; 
&gt; Yes, that&apos;s the other alternative, marking ENTER as deprecated and add TOGGLE at the end as a new symbol. Why is not consistent with WebKit2 API then? This patch introduces EXIT instead of TOGGLE. I would like to discuss this API with the other GTK+ reviewers (patches adding new GTK+ API must be approved by at least 2 GTK+ reviewers), and then I can update the patch with the appropriate GTK+ changes to make it easier.

If you look at the hunk just above this one, WEBKIT_CONTEXT_MENU_ACTION_ENTER_VIDEO_FULLSCREEN has also been changed to WEBKIT_CONTEXT_MENU_ACTION_TOGGLE_VIDEO_FULLSCREEN in webkitglobals.cpp, that&apos;s why it builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898204</commentid>
    <comment_count>36</comment_count>
      <attachid>203989</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-07 09:22:39 -0700</bug_when>
    <thetext>Comment on attachment 203989
Patch

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

&gt;&gt; Source/WebKit2/Shared/API/c/WKSharedAPICast.h:472
&gt;&gt; +        return kWKContextMenuItemTagToggleVideoFullscreen;
&gt; 
&gt; I don’t understand why we are removing the enter fullscreen menu item while adding the toggle fullscreen one. Who suggested the removal? What’s the rationale?

The patch changes fullscreen so that it works like the play/pause context menu item, i.e. when the video is paused, the &quot;Play&quot; item appears and vice versa. 

Previously, after entering fullscreen from the context menu, if you right-clicked the video to show the context menu while in fullscreen, you&apos;d still see the &quot;Enter Fullscreen&quot; item, which when clicked in fullscreen, would do nothing.

The change from &quot;Enter&quot; to &quot;Toggle&quot; was meant to reflect that change in how the fullscreen context menu item would work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898206</commentid>
    <comment_count>37</comment_count>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-07 09:26:32 -0700</bug_when>
    <thetext>(In reply to comment #34)
&gt; (From update of attachment 203989 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=203989&amp;action=review
&gt; 
&gt; I think you should be leaving the GTK API change to people who work directly on GTK. There’s no rush to add this at the same time you add the underlying capability to WebCore.
&gt; 
&gt; &gt; Source/WebKit2/Shared/API/c/WKSharedAPICast.h:472
&gt; &gt; -    case WebCore::ContextMenuItemTagEnterVideoFullscreen:
&gt; &gt; -        return kWKContextMenuItemTagEnterVideoFullscreen;
&gt; &gt; +    case WebCore::ContextMenuItemTagToggleVideoFullscreen:
&gt; &gt; +        return kWKContextMenuItemTagToggleVideoFullscreen;
&gt; 
&gt; I don’t understand why we are removing the enter fullscreen menu item while adding the toggle fullscreen one. Who suggested the removal? What’s the rationale?

I can continue to support &quot;Enter&quot; tags (and simply treat them) on GTK (and other ports as well) and leave the transition to port APIs to &quot;Toggle&quot; tags as another bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898284</commentid>
    <comment_count>38</comment_count>
      <attachid>204066</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-07 14:13:19 -0700</bug_when>
    <thetext>Created attachment 204066
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898289</commentid>
    <comment_count>39</comment_count>
      <attachid>204066</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-06-07 14:26:12 -0700</bug_when>
    <thetext>Comment on attachment 204066
Patch

LGTM, but since this makes changes to WebKit2, it still needs sign off from a WebKit2 owner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898301</commentid>
    <comment_count>40</comment_count>
      <attachid>204066</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2013-06-07 14:58:06 -0700</bug_when>
    <thetext>Comment on attachment 204066
Patch

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        without mac-specific changes to DumpRenderTree.

reference to bug?

&gt; Source/WebCore/ChangeLog:23
&gt; +        Updated to reame variables more appropriately to reflect the toggle-ability of video fullscreen.

sp: rename

&gt; Source/WebCore/rendering/HitTestResult.cpp:407
&gt; +        return mediaElement-&gt;isFullscreen();

I&apos;d suggest containing the element within the var scope to reduce the code a bit, and improve readability:

if (HTMLMediaElement* mediaElement = this-&gt;mediaElement())
    return mediaElement-&gt;isVideo() &amp;&amp; mediaElement-&gt;isFullscreen();

&gt; Source/WebCore/rendering/HitTestResult.cpp:418
&gt; +        HTMLVideoElement* videoElement = static_cast&lt;HTMLVideoElement*&gt;(mediaElement);

Is this local var necessary?

I think you can apply the above pattern here also.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898306</commentid>
    <comment_count>41</comment_count>
      <attachid>204066</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-06-07 15:05:12 -0700</bug_when>
    <thetext>Comment on attachment 204066
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        For mac ports only, this patch allows the fullscreen 

Mac.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:4365
&gt; +#if PLATFORM(MAC)

Wonder if you want an #if ENABLE(TOGGLE_FULLSCREEN) or something (ugh, that seems terrible too, though). Something that other ports can turn on as they change their API instead of adding themselves to this list of (currently one) platform(s).

&gt; Source/WebKit2/Shared/API/c/WKContextMenuItemTypes.h:113
&gt; +#if PLATFORM(MAC)

I don&apos;t think we can add things in the middle of an API enum.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898322</commentid>
    <comment_count>42</comment_count>
      <attachid>204066</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-07 16:32:12 -0700</bug_when>
    <thetext>Comment on attachment 204066
Patch

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

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:4365
&gt;&gt; +#if PLATFORM(MAC)
&gt; 
&gt; Wonder if you want an #if ENABLE(TOGGLE_FULLSCREEN) or something (ugh, that seems terrible too, though). Something that other ports can turn on as they change their API instead of adding themselves to this list of (currently one) platform(s).

Yeah, this is probably a more robust implementation.

&gt;&gt; Source/WebKit2/Shared/API/c/WKContextMenuItemTypes.h:113
&gt;&gt; +#if PLATFORM(MAC)
&gt; 
&gt; I don&apos;t think we can add things in the middle of an API enum.

Wouldn&apos;t &quot;Enter&quot; and &quot;Toggle&quot; effectively be the same tag? (since only one will ever be enumerated, they&apos;d share the same enum value?)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898323</commentid>
    <comment_count>43</comment_count>
      <attachid>204066</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-06-07 16:42:18 -0700</bug_when>
    <thetext>Comment on attachment 204066
Patch

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

&gt;&gt;&gt; Source/WebKit2/Shared/API/c/WKContextMenuItemTypes.h:113
&gt;&gt;&gt; +#if PLATFORM(MAC)
&gt;&gt; 
&gt;&gt; I don&apos;t think we can add things in the middle of an API enum.
&gt; 
&gt; Wouldn&apos;t &quot;Enter&quot; and &quot;Toggle&quot; effectively be the same tag? (since only one will ever be enumerated, they&apos;d share the same enum value?)

You&apos;re right, ignore me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898328</commentid>
    <comment_count>44</comment_count>
      <attachid>204066</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-07 16:54:28 -0700</bug_when>
    <thetext>Comment on attachment 204066
Patch

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

&gt;&gt;&gt;&gt; Source/WebKit2/Shared/API/c/WKContextMenuItemTypes.h:113
&gt;&gt;&gt;&gt; +#if PLATFORM(MAC)
&gt;&gt;&gt; 
&gt;&gt;&gt; I don&apos;t think we can add things in the middle of an API enum.
&gt;&gt; 
&gt;&gt; Wouldn&apos;t &quot;Enter&quot; and &quot;Toggle&quot; effectively be the same tag? (since only one will ever be enumerated, they&apos;d share the same enum value?)
&gt; 
&gt; You&apos;re right, ignore me.

Are you sure? Alex just persuaded me that you&apos;re right. I was going to eliminate the preprocessing conditions and just add kWKContextMenuItemTagToggleVideoFullscreen at the end of the list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898332</commentid>
    <comment_count>45</comment_count>
      <attachid>204066</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-07 17:05:27 -0700</bug_when>
    <thetext>Comment on attachment 204066
Patch

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

&gt;&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:4365
&gt;&gt;&gt; +#if PLATFORM(MAC)
&gt;&gt; 
&gt;&gt; Wonder if you want an #if ENABLE(TOGGLE_FULLSCREEN) or something (ugh, that seems terrible too, though). Something that other ports can turn on as they change their API instead of adding themselves to this list of (currently one) platform(s).
&gt; 
&gt; Yeah, this is probably a more robust implementation.

Is there a specific feature defines file that I can define TOGGLE_FULLSCREEN in?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898336</commentid>
    <comment_count>46</comment_count>
      <attachid>204076</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-07 17:42:41 -0700</bug_when>
    <thetext>Created attachment 204076
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898338</commentid>
    <comment_count>47</comment_count>
      <attachid>204076</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-06-07 17:47:05 -0700</bug_when>
    <thetext>Comment on attachment 204076
Patch

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

&gt; Source/WTF/wtf/FeatureDefines.h:757
&gt; +#if !defined(ENABLE_TOGGLE_VIDEO_FULLSCREEN)
&gt; +#define ENABLE_TOGGLE_VIDEO_FULLSCREEN 1
&gt; +#endif

Does not seem right to have this be a feature flag.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:4375
&gt; +#if ENABLE(TOGGLE_VIDEO_FULLSCREEN)
&gt; +void HTMLMediaElement::toggleFullscreenState()
&gt; +{
&gt; +    LOG(Media, &quot;HTMLMediaElement::toggleFullscreenState - isFullscreen() is %s&quot;, boolString(isFullscreen()));
&gt; +    
&gt; +    if (isFullscreen())
&gt; +        exitFullscreen();
&gt; +    else
&gt; +        enterFullscreen();
&gt; +}
&gt; +#endif

This should be in there unconditionally. Whether someone wants this command in the context menu or not should not control whether we even compile this code.

&gt; Source/WebCore/platform/ContextMenuItem.h:163
&gt; +#if ENABLE(TOGGLE_VIDEO_FULLSCREEN)
&gt; +        ContextMenuItemTagToggleVideoFullscreen,
&gt; +#else
&gt;          ContextMenuItemTagEnterVideoFullscreen,
&gt; +#endif

I really don’t understand this. Why is the toggle video and enter video an either/or choice? Why can’t both be possible context menu items?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898339</commentid>
    <comment_count>48</comment_count>
      <attachid>204076</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-07 17:56:06 -0700</bug_when>
    <thetext>Comment on attachment 204076
Patch

Attachment 204076 did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/745777</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898340</commentid>
    <comment_count>49</comment_count>
      <attachid>204076</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-07 17:59:13 -0700</bug_when>
    <thetext>Comment on attachment 204076
Patch

Attachment 204076 did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/697855</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898341</commentid>
    <comment_count>50</comment_count>
      <attachid>204076</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-07 17:59:54 -0700</bug_when>
    <thetext>Comment on attachment 204076
Patch

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

&gt;&gt; Source/WTF/wtf/FeatureDefines.h:757
&gt;&gt; +#endif
&gt; 
&gt; Does not seem right to have this be a feature flag.

There should be some sort of pre-processing checking for parts of this patch (for ports that do want to be able to toggle fullscreen, other parts need to be removed) and defining it as a feature flag seems to be the best way to minimize the amount of code change needed to allow other ports to upgrade their APIs to support toggling fullscreen video.

&gt;&gt; Source/WebCore/html/HTMLMediaElement.cpp:4375
&gt;&gt; +#endif
&gt; 
&gt; This should be in there unconditionally. Whether someone wants this command in the context menu or not should not control whether we even compile this code.

You&apos;re right.

&gt;&gt; Source/WebCore/platform/ContextMenuItem.h:163
&gt;&gt; +#endif
&gt; 
&gt; I really don’t understand this. Why is the toggle video and enter video an either/or choice? Why can’t both be possible context menu items?

The toggle video item also encompasses entering into fullscreen; the either/or choice was made to encourage either supporting the existing implementation of fullscreen context menu item or switching to a toggling implementation but not to support both (that would create the side effect of possibly having two fullscreen context menu items).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898342</commentid>
    <comment_count>51</comment_count>
      <attachid>204076</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-07 18:00:14 -0700</bug_when>
    <thetext>Comment on attachment 204076
Patch

Attachment 204076 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/697856</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898345</commentid>
    <comment_count>52</comment_count>
      <attachid>204076</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-07 18:06:54 -0700</bug_when>
    <thetext>Comment on attachment 204076
Patch

Just talked to Sam. Will be adding toggling while still fully supporting enter (i.e. no ifdefs/feature flags).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898346</commentid>
    <comment_count>53</comment_count>
      <attachid>204076</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-07 18:07:31 -0700</bug_when>
    <thetext>Comment on attachment 204076
Patch

Attachment 204076 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/752273</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898348</commentid>
    <comment_count>54</comment_count>
      <attachid>204076</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-06-07 18:19:32 -0700</bug_when>
    <thetext>Comment on attachment 204076
Patch

Attachment 204076 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/802001</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898351</commentid>
    <comment_count>55</comment_count>
      <attachid>204078</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-07 18:44:40 -0700</bug_when>
    <thetext>Created attachment 204078
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898354</commentid>
    <comment_count>56</comment_count>
      <attachid>204078</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-07 18:52:27 -0700</bug_when>
    <thetext>Comment on attachment 204078
Patch

Attachment 204078 did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/746505</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898355</commentid>
    <comment_count>57</comment_count>
      <attachid>204078</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-06-07 18:53:06 -0700</bug_when>
    <thetext>Comment on attachment 204078
Patch

Attachment 204078 did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/805004</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898356</commentid>
    <comment_count>58</comment_count>
      <attachid>204078</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-07 18:53:29 -0700</bug_when>
    <thetext>Comment on attachment 204078
Patch

Attachment 204078 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/760300</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898357</commentid>
    <comment_count>59</comment_count>
      <attachid>204078</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-07 18:57:21 -0700</bug_when>
    <thetext>Comment on attachment 204078
Patch

Attachment 204078 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/791211</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898358</commentid>
    <comment_count>60</comment_count>
      <attachid>204080</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-07 19:01:22 -0700</bug_when>
    <thetext>Created attachment 204080
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898360</commentid>
    <comment_count>61</comment_count>
      <attachid>204080</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-06-07 19:06:54 -0700</bug_when>
    <thetext>Comment on attachment 204080
Patch

Attachment 204080 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/791216</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898362</commentid>
    <comment_count>62</comment_count>
      <attachid>204081</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-07 19:20:14 -0700</bug_when>
    <thetext>Created attachment 204081
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898438</commentid>
    <comment_count>63</comment_count>
      <attachid>204078</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-06-08 18:42:34 -0700</bug_when>
    <thetext>Comment on attachment 204078
Patch

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

&gt; Source/WebCore/page/ContextMenuController.cpp:854
&gt; +            appendItem(ToggleVideoFullscreen, m_contextMenu.get());
&gt;              appendItem(EnterVideoFullscreen, m_contextMenu.get());

This is the one place where we should not keep both items, right? Because this is defining what we actually see in the menu. For the Mac platform I assume we now want the toggle menu item, not the enter one.

Otherwise, this patch looks like a step in the right direction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898439</commentid>
    <comment_count>64</comment_count>
      <attachid>204081</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-06-08 18:43:37 -0700</bug_when>
    <thetext>Comment on attachment 204081
Patch

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

&gt; Source/WebCore/page/ContextMenuController.cpp:854
&gt; +            appendItem(ToggleVideoFullscreen, m_contextMenu.get());
&gt;              appendItem(EnterVideoFullscreen, m_contextMenu.get());

Here is the place where we want only one or the other. I think this is part that needs to be in an #if.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898533</commentid>
    <comment_count>65</comment_count>
      <attachid>204081</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-09 19:45:24 -0700</bug_when>
    <thetext>Comment on attachment 204081
Patch

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

&gt;&gt; Source/WebCore/page/ContextMenuController.cpp:854
&gt;&gt;              appendItem(EnterVideoFullscreen, m_contextMenu.get());
&gt; 
&gt; Here is the place where we want only one or the other. I think this is part that needs to be in an #if.

Yeah, we should probably put an #if here (though each port should take the populated list of context menu items and make final edits beforehand).

&gt; Source/WebCore/page/ContextMenuController.cpp:1352
&gt; +#if PLATFORM(MAC)

Here&apos;s another place we need the #if (since contextMenuItemTagExitVideoFullscreen() is not supported on all ports)

Since the two places we need #if statements is in ContextMenuController; perhaps I can define a SUPPORTS_TOGGLE_VIDEO_FULLSCREEN feature in the header or create a static helper function that checks whether the given port supports &quot;toggle&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898665</commentid>
    <comment_count>66</comment_count>
      <attachid>204168</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-10 09:16:07 -0700</bug_when>
    <thetext>Created attachment 204168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898804</commentid>
    <comment_count>67</comment_count>
      <attachid>204168</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2013-06-10 15:13:31 -0700</bug_when>
    <thetext>Comment on attachment 204168
Patch

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

&gt; Source/WebCore/page/ContextMenuController.cpp:1366
&gt; +        case ContextMenuItemTagToggleVideoFullscreen:
&gt; +#if SUPPORTS_TOGGLE_VIDEO_FULLSCREEN
&gt; +                if (!m_hitTestResult.mediaIsInFullscreen())
&gt; +                    item.setTitle(contextMenuItemTagEnterVideoFullscreen());
&gt; +                else 
&gt; +                    item.setTitle(contextMenuItemTagExitVideoFullscreen());
&gt; +                break;
&gt; +#endif

Nit: indent here is one level too many.

Also, I suggest rewriting this as item.setTitle(m_hitTestResult.mediaIsInFullscreen() ? contextMen...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>898812</commentid>
    <comment_count>68</comment_count>
      <attachid>204221</attachid>
    <who name="Ruth Fong">ruthiecftg</who>
    <bug_when>2013-06-10 15:52:24 -0700</bug_when>
    <thetext>Created attachment 204221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899617</commentid>
    <comment_count>69</comment_count>
      <attachid>204221</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-12 10:33:40 -0700</bug_when>
    <thetext>Comment on attachment 204221
Patch

Clearing flags on attachment: 204221

Committed r151512: &lt;http://trac.webkit.org/changeset/151512&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>899618</commentid>
    <comment_count>70</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-06-12 10:33:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203747</attachid>
            <date>2013-06-04 19:05:04 -0700</date>
            <delta_ts>2013-06-05 11:24:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117220-20130604190335.patch</filename>
            <type>text/plain</type>
            <size>12134</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTE5NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEzLTA2LTA0ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBm
dWxsc2NyZWVuIG9uIDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICog
RW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOiBBZGQgIkV4aXQgRnVsbHNjcmVlbiIg
c3RyaW5nLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUpOiBBZGRlZCB0
byBhcHByb3ByaWF0ZWx5IGVudGVyL2V4aXQgZnVsbHNjcmVlbi4KKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5j
cHA6IFVwZGF0ZWQgdG8gMSkgaG9vayBpbnRvIEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZUZ1bGxzY3Jl
ZW5TdGF0ZSgpLgorICAgICAgICAqIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL0xv
Y2FsaXplZFN0cmluZ3MuaDoKKyAgICAgICAgVXBkYXRlZCB0byByZW5hbWUgdmFyaWFibGVzIG1v
cmUgYXBwcm9wcmlhdGVseSB0byByZWZsZWN0IHRvZ2dsZS1hYmlsaXR5IG9mIHZpZGVvIGZ1bGxz
Y3JlZW4uCisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAq
IHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0Lmg6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVz
dWx0OjptZWRpYUlzSW5GdWxsc2NyZWVuKTogQWRkZWQgdG8gY2hlY2sgaWYKKyAgICAgICAgZWxl
bWVudCBpcyBhIG1lZGlhIGVsZW1lbnQgaW4gZnVsbHNjcmVlbi4KKyAgICAgICAgKFdlYkNvcmU6
OkhpdFRlc3RSZXN1bHQ6OnRvZ2dsZU1lZGlhRnVsbHNjcmVlblN0YXRlKTogQWRkZWQgdG8gaG9v
ayBpbnRvIAorICAgICAgICBIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUu
CisKIDIwMTMtMDYtMDQgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBQcmV2ZW50IHRocm90dGxpbmcgd2hpbGUgcmVzb3VyY2VzIGFyZSBiZWluZyBsb2FkZWQKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0cmlu
Z3MJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovTG9j
YWxpemFibGUuc3RyaW5ncwkod29ya2luZyBjb3B5KQpAQCAtMTc1LDYgKzE3NSw5IEBACiAALwAq
ACAAVgBpAGQAZQBvACAARQBuAHQAZQByACAARgB1AGwAbABzAGMAcgBlAGUAbgAgAGMAbwBuAHQA
ZQB4AHQAIABtAGUAbgB1ACAAaQB0AGUAbQAgACoALwAKIAAiAEUAbgB0AGUAcgAgAEYAdQBsAGwA
cwBjAHIAZQBlAG4AIgAgAD0AIAAiAEUAbgB0AGUAcgAgAEYAdQBsAGwAcwBjAHIAZQBlAG4AIgA7
AAogAAorAC8AKgAgAFYAaQBkAGUAbwAgAEUAeABpAHQAIABGAHUAbABsAHMAYwByAGUAZQBuACAA
YwBvAG4AdABlAHgAdAAgAG0AZQBuAHUAIABpAHQAZQBtACAAKgAvAAorACIARQB4AGkAdAAgAEYA
dQBsAGwAcwBjAHIAZQBlAG4AIgAgAD0AIAAiAEUAeABpAHQAIABGAHUAbABsAHMAYwByAGUAZQBu
ACIAOwAKKwAKIAAvACoAIABEAGUAZgBhAHUAbAB0ACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuACAA
bgBhAG0AZQAgAGYAbwByACAATwBwAGUAbgAgAFcAaQB0AGgAIABjAG8AbgB0AGUAeAB0ACAAbQBl
AG4AdQAgACoALwAKIAAiAEYAaQBuAGQAZQByACIAIAA9ACAAIgBGAGkAbgBkAGUAcgAiADsACiAA
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHJldmlzaW9u
IDE1MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI3NDQsNiArMjc0NCwxNiBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OnRvZ2dsZVBsYXlTdGF0ZSgpCiAgICAgICAgIHBhdXNlSW50ZXJuYWwoKTsKIH0KIAordm9pZCBI
VE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUoKQoreworICAgIExPRyhNZWRp
YSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZUZ1bGxzY3JlZW5TdGF0ZSAtIGlzRnVsbHNjcmVl
bigpIGlzICVzIiwgYm9vbFN0cmluZyhpc0Z1bGxzY3JlZW4oKSkpOworICAgIAorICAgIGlmIChp
c0Z1bGxzY3JlZW4oKSkKKyAgICAgICAgZG9jdW1lbnQoKS0+d2Via2l0Q2FuY2VsRnVsbFNjcmVl
bigpOworICAgIGVsc2UgCisgICAgICAgIGVudGVyRnVsbHNjcmVlbigpOworfQorCiB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OmJlZ2luU2NydWJiaW5nKCkKIHsKICAgICBMT0coTWVkaWEsICJIVE1M
TWVkaWFFbGVtZW50OjpiZWdpblNjcnViYmluZyAtIHBhdXNlZCgpIGlzICVzIiwgYm9vbFN0cmlu
ZyhwYXVzZWQoKSkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgJ
KHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzYsNiArMzM2LDcgQEAgcHVibGljOgogCiAgICAgYm9v
bCBoYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpIGNvbnN0IHsgcmV0dXJuICFtX3BsYXllciB8fCBt
X3BsYXllci0+aGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKTsgfQogICAgIAorICAgIHZvaWQgdG9n
Z2xlRnVsbHNjcmVlblN0YXRlKCk7CiAgICAgYm9vbCBpc0Z1bGxzY3JlZW4oKSBjb25zdDsKICAg
ICB2b2lkIGVudGVyRnVsbHNjcmVlbigpOwogICAgIHZvaWQgZXhpdEZ1bGxzY3JlZW4oKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAJKHJl
dmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9s
bGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYzLDggKzI2Myw4IEBAIHZvaWQgQ29udGV4dE1l
bnVDb250cm9sbGVyOjpjb250ZXh0TWVudUkKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1Rv
Z2dsZU1lZGlhTG9vcDoKICAgICAgICAgbV9oaXRUZXN0UmVzdWx0LnRvZ2dsZU1lZGlhTG9vcFBs
YXliYWNrKCk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnRW50
ZXJWaWRlb0Z1bGxzY3JlZW46Ci0gICAgICAgIG1faGl0VGVzdFJlc3VsdC5lbnRlckZ1bGxzY3Jl
ZW5Gb3JWaWRlbygpOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxs
c2NyZWVuOgorICAgICAgICBtX2hpdFRlc3RSZXN1bHQudG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3Rh
dGUoKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBs
YXlQYXVzZToKICAgICAgICAgbV9oaXRUZXN0UmVzdWx0LnRvZ2dsZU1lZGlhUGxheVN0YXRlKCk7
CkBAIC03NjIsNyArNzYyLDcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnBvcHVsYXRl
KCkKICAgICAgICAgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scygpKTsKICAg
ICBDb250ZXh0TWVudUl0ZW0gVG9nZ2xlTWVkaWFMb29wKENoZWNrYWJsZUFjdGlvblR5cGUsIENv
bnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCwgCiAgICAgICAgIGNvbnRleHRNZW51SXRl
bVRhZ1RvZ2dsZU1lZGlhTG9vcCgpKTsKLSAgICBDb250ZXh0TWVudUl0ZW0gRW50ZXJWaWRlb0Z1
bGxzY3JlZW4oQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3Jl
ZW4sIAorICAgIENvbnRleHRNZW51SXRlbSBFbnRlclZpZGVvRnVsbHNjcmVlbihBY3Rpb25UeXBl
LCBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW4sCiAgICAgICAgIGNvbnRl
eHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCkpOwogI2lmIFBMQVRGT1JNKE1BQykK
ICAgICBDb250ZXh0TWVudUl0ZW0gU2VhcmNoU3BvdGxpZ2h0SXRlbShBY3Rpb25UeXBlLCBDb250
ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodCwgCkBAIC0xMzQyLDggKzEzNDIsMTIgQEAg
dm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNoZWNrT3JFbmFibAogICAgICAgICBjYXNlIENv
bnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAgICAgIHNob3VsZENoZWNr
ID0gbV9oaXRUZXN0UmVzdWx0Lm1lZGlhTG9vcEVuYWJsZWQoKTsKICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgor
ICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjoKICAg
ICAgICAgICAgIHNob3VsZEVuYWJsZSA9IG1faGl0VGVzdFJlc3VsdC5tZWRpYVN1cHBvcnRzRnVs
bHNjcmVlbigpOworICAgICAgICAgICAgaWYgKCFtX2hpdFRlc3RSZXN1bHQubWVkaWFJc0luRnVs
bHNjcmVlbigpKQorICAgICAgICAgICAgICAgIGl0ZW0uc2V0VGl0bGUoY29udGV4dE1lbnVJdGVt
VGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4oKSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgaXRlbS5zZXRUaXRsZShjb250ZXh0TWVudUl0ZW1UYWdFeGl0VmlkZW9GdWxsc2NyZWVu
KCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFn
T3BlbkZyYW1lSW5OZXdXaW5kb3c6CiAgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU3Bl
bGxpbmdHdWVzczoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRl
bS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRl
bS5oCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0
TWVudUl0ZW0uaAkod29ya2luZyBjb3B5KQpAQCAtMTU2LDcgKzE1Niw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1RvQ2xpcGJv
YXJkLAogICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzLAogICAg
ICAgICBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AsCi0gICAgICAgIENvbnRleHRN
ZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuLAorICAgICAgICBDb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW4sCiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ01lZGlh
UGxheVBhdXNlLAogICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUsCiAgICAgICAg
IENvbnRleHRNZW51SXRlbVRhZ0RpY3RhdGlvbkFsdGVybmF0aXZlLApJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAJKHJldmlzaW9uIDE1MTA1MikK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00OTQsNiArNDk0LDExIEBAIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRl
clZpZGVvRnVsbHMKICAgICByZXR1cm4gV0VCX1VJX1NUUklORygiRW50ZXIgRnVsbHNjcmVlbiIs
ICJWaWRlbyBFbnRlciBGdWxsc2NyZWVuIGNvbnRleHQgbWVudSBpdGVtIik7CiB9CiAKK1N0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdFeGl0VmlkZW9GdWxsc2NyZWVuKCkKK3sKKyAgICByZXR1cm4g
V0VCX1VJX1NUUklORygiRXhpdCBGdWxsc2NyZWVuIiwgIlZpZGVvIEV4aXQgRnVsbHNjcmVlbiBj
b250ZXh0IG1lbnUgaXRlbSIpOworfQorCiBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQ
bGF5KCkKIHsKICAgICByZXR1cm4gV0VCX1VJX1NUUklORygiUGxheSIsICJNZWRpYSBQbGF5IGNv
bnRleHQgbWVudSBpdGVtIik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6
ZWRTdHJpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxp
emVkU3RyaW5ncy5oCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Mb2NhbGl6ZWRTdHJpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNyw2ICsxMzcsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1l
ZGlhQ29udHJvbHMoKTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFM
b29wKCk7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVu
KCk7CisgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKTsK
ICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCk7CiAgICAgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ01lZGlhUGF1c2UoKTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnTWVkaWFNdXRlKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJl
c3VsdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RS
ZXN1bHQuY3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SGl0VGVzdFJlc3VsdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5OSw2ICszOTksMzAgQEAgdm9p
ZCBIaXRUZXN0UmVzdWx0Ojp0b2dnbGVNZWRpYUxvb3BQbGF5YgogI2VuZGlmCiB9CiAKK2Jvb2wg
SGl0VGVzdFJlc3VsdDo6bWVkaWFJc0luRnVsbHNjcmVlbigpIGNvbnN0Cit7CisjaWYgRU5BQkxF
KFZJREVPKQorICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWx0ID0gbWVkaWFFbGVtZW50KCk7
CisgICAgaWYgKG1lZGlhRWx0ICYmIG1lZGlhRWx0LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dmlk
ZW9UYWcpKQorICAgICAgICByZXR1cm4gbWVkaWFFbHQtPmlzRnVsbHNjcmVlbigpOworI2VuZGlm
CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZU1lZGlh
RnVsbHNjcmVlblN0YXRlKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoVklERU8pCisgICAgSFRNTE1l
ZGlhRWxlbWVudCogbWVkaWFFbHQobWVkaWFFbGVtZW50KCkpOworICAgIGlmIChtZWRpYUVsdCAm
JiBtZWRpYUVsdC0+aGFzVGFnTmFtZShIVE1MTmFtZXM6OnZpZGVvVGFnKSkgeworICAgICAgICBI
VE1MVmlkZW9FbGVtZW50KiB2aWRlb0VsdCA9IHN0YXRpY19jYXN0PEhUTUxWaWRlb0VsZW1lbnQq
PihtZWRpYUVsdCk7CisgICAgICAgIGlmIChtZWRpYUVsdC0+c3VwcG9ydHNGdWxsc2NyZWVuKCkp
IHsKKyAgICAgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGluZGljYXRvcihEZWZpbml0ZWx5
UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKKyAgICAgICAgICAgIHZpZGVvRWx0LT50b2dnbGVG
dWxsc2NyZWVuU3RhdGUoKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgorfQorCiB2b2lkIEhp
dFRlc3RSZXN1bHQ6OmVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCkgY29uc3QKIHsKICNpZiBFTkFC
TEUoVklERU8pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgJ
KHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVz
dWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTExMiw2ICsxMTIsOCBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc0NvbnRlbnRFZGl0YWJsZSgpIGNvbnN0OwogICAgIHZvaWQgdG9nZ2xlTWVkaWFDb250cm9s
c0Rpc3BsYXkoKSBjb25zdDsKICAgICB2b2lkIHRvZ2dsZU1lZGlhTG9vcFBsYXliYWNrKCkgY29u
c3Q7CisgICAgYm9vbCBtZWRpYUlzSW5GdWxsc2NyZWVuKCkgY29uc3Q7CisgICAgdm9pZCB0b2dn
bGVNZWRpYUZ1bGxzY3JlZW5TdGF0ZSgpIGNvbnN0OwogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVu
Rm9yVmlkZW8oKSBjb25zdDsKICAgICBib29sIG1lZGlhQ29udHJvbHNFbmFibGVkKCkgY29uc3Q7
CiAgICAgYm9vbCBtZWRpYUxvb3BFbmFibGVkKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxNTExOTQpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNCBAQAorMjAxMy0wNi0wNCAgUnV0aCBGb25nICA8cnV0aF9mb25nQGFwcGxl
LmNvbT4KKworICAgICAgICBBbGxvdyBmb3IgdG9nZ2xpbmcgZnVsbHNjcmVlbiBvbiA8dmlkZW8+
IGVsZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTcyMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFNoYXJlZC9BUEkvYy9XS0NvbnRleHRNZW51SXRlbVR5cGVzLmg6CisgICAgICAgICogU2hh
cmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oOgorICAgICAgICBSZW5hbWVkIHRhZ3MgZm9yIHRv
Z2dsaW5nIHZpZGVvIGZ1bGxzY3JlZW4uCisKIDIwMTMtMDYtMDQgIENocmlzIEZsZWl6YWNoICA8
Y2ZsZWl6YWNoQGFwcGxlLmNvbT4KIAogICAgICAgICBBWDogV0syOiBhY2Nlc3NpYmlsaXR5IHBv
c2l0aW9uIGlzIGNhbGN1bGF0ZWQgZXZlcnkgdGltZSB3aW5kb3cgZnJhbWUgaXMgdXBkYXRlZApJ
bmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVu
dUl0ZW1UeXBlcy5oCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsNyAr
MTEwLDcgQEAgZW51bSB7CiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1Rv
Q2xpcGJvYXJkLAogICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMs
CiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wLAotICAgIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuLAorICAgIGtXS0NvbnRleHRNZW51SXRl
bVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbiwKICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRp
YVBsYXlQYXVzZSwKICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUsCiAgICAga1dL
Q29udGV4dE1lbnVJdGVtVGFnRGljdGF0aW9uQWx0ZXJuYXRpdmUsCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCShyZXZpc2lvbiAxNTEwNTIp
CisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ2OCw4ICs0NjgsOCBAQCBpbmxpbmUgV0tDb250ZXh0TWVudUl0ZW1UYWcg
dG9BUEkoV2ViQ29yCiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVN
ZWRpYUNvbnRyb2xzOwogICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xl
TWVkaWFMb29wOgogICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVk
aWFMb29wOwotICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1
bGxzY3JlZW46Ci0gICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVv
RnVsbHNjcmVlbjsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZp
ZGVvRnVsbHNjcmVlbjoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2ds
ZVZpZGVvRnVsbHNjcmVlbjsKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01l
ZGlhUGxheVBhdXNlOgogICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQ
bGF5UGF1c2U7CiAgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGU6
CkBAIC02NTgsOCArNjU4LDggQEAgaW5saW5lIFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uIHRv
SW1wbAogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVk
aWFDb250cm9sczsKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9v
cDoKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlh
TG9vcDsKLSAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVu
OgotICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1
bGxzY3JlZW47CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxz
Y3JlZW46CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVW
aWRlb0Z1bGxzY3JlZW47CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQ
YXVzZToKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxh
eVBhdXNlOwogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203868</attachid>
            <date>2013-06-05 11:24:05 -0700</date>
            <delta_ts>2013-06-05 15:25:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117220-20130605112235.patch</filename>
            <type>text/plain</type>
            <size>26220</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTIzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDEzLTA2LTA1ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBm
dWxsc2NyZWVuIG9uIDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICog
RW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOiBBZGQgIkV4aXQgRnVsbHNjcmVlbiIg
c3RyaW5nLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUpOiBBZGRlZCB0
byBhcHByb3ByaWF0ZWx5IGVudGVyL2V4aXQgZnVsbHNjcmVlbi4KKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5j
cHA6IFVwZGF0ZWQgdG8gMSkgaG9vayBpbnRvIEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZUZ1bGxzY3Jl
ZW5TdGF0ZSgpLgorICAgICAgICAqIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL0xv
Y2FsaXplZFN0cmluZ3MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvQ29udGV4dE1lbnVJdGVt
R3RrLmNwcDogCisgICAgICAgIFVwZGF0ZWQgdG8gcmVuYW1lIHZhcmlhYmxlcyBtb3JlIGFwcHJv
cHJpYXRlbHkgdG8gcmVmbGVjdCB0b2dnbGUtYWJpbGl0eSBvZiB2aWRlbyBmdWxsc2NyZWVuLgor
ICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKiByZW5kZXJp
bmcvSGl0VGVzdFJlc3VsdC5oOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6bWVk
aWFJc0luRnVsbHNjcmVlbik6IEFkZGVkIHRvIGNoZWNrIGlmCisgICAgICAgIGVsZW1lbnQgaXMg
YSBtZWRpYSBlbGVtZW50IGluIGZ1bGxzY3JlZW4uCisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0
UmVzdWx0Ojp0b2dnbGVNZWRpYUZ1bGxzY3JlZW5TdGF0ZSk6IEFkZGVkIHRvIGhvb2sgaW50byAK
KyAgICAgICAgSFRNTE1lZGlhRWxlbWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRlLgorCiAyMDEz
LTA2LTA1ICBLb25kYXBhbGx5IEthbHlhbiAgPGthbHlhbi5rb25kYXBhbGx5QGludGVsLmNvbT4K
IAogICAgICAgICBbRUZMXSBCdWlsZCBmaXggd2l0aCBFR0wgYW5kIEdMRVMyIGJhY2tlbmQuCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJp
bmdzCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL0xv
Y2FsaXphYmxlLnN0cmluZ3MJKHdvcmtpbmcgY29weSkKQEAgLTE3NSw2ICsxNzUsOSBAQAogAC8A
KgAgAFYAaQBkAGUAbwAgAEUAbgB0AGUAcgAgAEYAdQBsAGwAcwBjAHIAZQBlAG4AIABjAG8AbgB0
AGUAeAB0ACAAbQBlAG4AdQAgAGkAdABlAG0AIAAqAC8ACiAAIgBFAG4AdABlAHIAIABGAHUAbABs
AHMAYwByAGUAZQBuACIAIAA9ACAAIgBFAG4AdABlAHIAIABGAHUAbABsAHMAYwByAGUAZQBuACIA
OwAKIAAKKwAvACoAIABWAGkAZABlAG8AIABFAHgAaQB0ACAARgB1AGwAbABzAGMAcgBlAGUAbgAg
AGMAbwBuAHQAZQB4AHQAIABtAGUAbgB1ACAAaQB0AGUAbQAgACoALwAKKwAiAEUAeABpAHQAIABG
AHUAbABsAHMAYwByAGUAZQBuACIAIAA9ACAAIgBFAHgAaQB0ACAARgB1AGwAbABzAGMAcgBlAGUA
bgAiADsACisACiAALwAqACAARABlAGYAYQB1AGwAdAAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgAg
AG4AYQBtAGUAIABmAG8AcgAgAE8AcABlAG4AIABXAGkAdABoACAAYwBvAG4AdABlAHgAdAAgAG0A
ZQBuAHUAIAAqAC8ACiAAIgBGAGkAbgBkAGUAcgAiACAAPQAgACIARgBpAG4AZABlAHIAIgA7AAog
AApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCShyZXZpc2lv
biAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNzQ0LDYgKzI3NDQsMTYgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50
Ojp0b2dnbGVQbGF5U3RhdGUoKQogICAgICAgICBwYXVzZUludGVybmFsKCk7CiB9CiAKK3ZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRlKCkKK3sKKyAgICBMT0coTWVk
aWEsICJIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUgLSBpc0Z1bGxzY3Jl
ZW4oKSBpcyAlcyIsIGJvb2xTdHJpbmcoaXNGdWxsc2NyZWVuKCkpKTsKKyAgICAKKyAgICBpZiAo
aXNGdWxsc2NyZWVuKCkpCisgICAgICAgIGRvY3VtZW50KCktPndlYmtpdENhbmNlbEZ1bGxTY3Jl
ZW4oKTsKKyAgICBlbHNlIAorICAgICAgICBlbnRlckZ1bGxzY3JlZW4oKTsKK30KKwogdm9pZCBI
VE1MTWVkaWFFbGVtZW50OjpiZWdpblNjcnViYmluZygpCiB7CiAgICAgTE9HKE1lZGlhLCAiSFRN
TE1lZGlhRWxlbWVudDo6YmVnaW5TY3J1YmJpbmcgLSBwYXVzZWQoKSBpcyAlcyIsIGJvb2xTdHJp
bmcocGF1c2VkKCkpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
CShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzM2LDYgKzMzNiw3IEBAIHB1YmxpYzoKIAogICAgIGJv
b2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCB7IHJldHVybiAhbV9wbGF5ZXIgfHwg
bV9wbGF5ZXItPmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCk7IH0KICAgICAKKyAgICB2b2lkIHRv
Z2dsZUZ1bGxzY3JlZW5TdGF0ZSgpOwogICAgIGJvb2wgaXNGdWxsc2NyZWVuKCkgY29uc3Q7CiAg
ICAgdm9pZCBlbnRlckZ1bGxzY3JlZW4oKTsKICAgICB2b2lkIGV4aXRGdWxsc2NyZWVuKCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCShy
ZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJv
bGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2Myw4ICsyNjMsOCBAQCB2b2lkIENvbnRleHRN
ZW51Q29udHJvbGxlcjo6Y29udGV4dE1lbnVJCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdU
b2dnbGVNZWRpYUxvb3A6CiAgICAgICAgIG1faGl0VGVzdFJlc3VsdC50b2dnbGVNZWRpYUxvb3BQ
bGF5YmFjaygpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0Vu
dGVyVmlkZW9GdWxsc2NyZWVuOgotICAgICAgICBtX2hpdFRlc3RSZXN1bHQuZW50ZXJGdWxsc2Ny
ZWVuRm9yVmlkZW8oKTsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVs
bHNjcmVlbjoKKyAgICAgICAgbV9oaXRUZXN0UmVzdWx0LnRvZ2dsZU1lZGlhRnVsbHNjcmVlblN0
YXRlKCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQ
bGF5UGF1c2U6CiAgICAgICAgIG1faGl0VGVzdFJlc3VsdC50b2dnbGVNZWRpYVBsYXlTdGF0ZSgp
OwpAQCAtNzYyLDcgKzc2Miw3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0
ZSgpCiAgICAgICAgIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMoKSk7CiAg
ICAgQ29udGV4dE1lbnVJdGVtIFRvZ2dsZU1lZGlhTG9vcChDaGVja2FibGVBY3Rpb25UeXBlLCBD
b250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AsIAogICAgICAgICBjb250ZXh0TWVudUl0
ZW1UYWdUb2dnbGVNZWRpYUxvb3AoKSk7Ci0gICAgQ29udGV4dE1lbnVJdGVtIEVudGVyVmlkZW9G
dWxsc2NyZWVuKEFjdGlvblR5cGUsIENvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2Ny
ZWVuLCAKKyAgICBDb250ZXh0TWVudUl0ZW0gRW50ZXJWaWRlb0Z1bGxzY3JlZW4oQWN0aW9uVHlw
ZSwgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuLAogICAgICAgICBjb250
ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpKTsKICNpZiBQTEFURk9STShNQUMp
CiAgICAgQ29udGV4dE1lbnVJdGVtIFNlYXJjaFNwb3RsaWdodEl0ZW0oQWN0aW9uVHlwZSwgQ29u
dGV4dE1lbnVJdGVtVGFnU2VhcmNoSW5TcG90bGlnaHQsIApAQCAtMTM0Miw4ICsxMzQyLDEyIEBA
IHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpjaGVja09yRW5hYmwKICAgICAgICAgY2FzZSBD
b250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A6CiAgICAgICAgICAgICBzaG91bGRDaGVj
ayA9IG1faGl0VGVzdFJlc3VsdC5tZWRpYUxvb3BFbmFibGVkKCk7CiAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoK
KyAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW46CiAg
ICAgICAgICAgICBzaG91bGRFbmFibGUgPSBtX2hpdFRlc3RSZXN1bHQubWVkaWFTdXBwb3J0c0Z1
bGxzY3JlZW4oKTsKKyAgICAgICAgICAgIGlmICghbV9oaXRUZXN0UmVzdWx0Lm1lZGlhSXNJbkZ1
bGxzY3JlZW4oKSkKKyAgICAgICAgICAgICAgICBpdGVtLnNldFRpdGxlKGNvbnRleHRNZW51SXRl
bVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCkpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgIGl0ZW0uc2V0VGl0bGUoY29udGV4dE1lbnVJdGVtVGFnRXhpdFZpZGVvRnVsbHNjcmVl
bigpKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRh
Z09wZW5GcmFtZUluTmV3V2luZG93OgogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1Nw
ZWxsaW5nR3Vlc3M6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0
ZW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0
ZW0uaAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4
dE1lbnVJdGVtLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1Niw3ICsxNTYsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ0NvcHlNZWRpYUxpbmtUb0NsaXBi
b2FyZCwKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scywKICAg
ICAgICAgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wLAotICAgICAgICBDb250ZXh0
TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbiwKKyAgICAgICAgQ29udGV4dE1lbnVJdGVt
VGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuLAogICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdNZWRp
YVBsYXlQYXVzZSwKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlLAogICAgICAg
ICBDb250ZXh0TWVudUl0ZW1UYWdEaWN0YXRpb25BbHRlcm5hdGl2ZSwKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwCShyZXZpc2lvbiAxNTEwNTIp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDk0LDYgKzQ5NCwxMSBAQCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRW50
ZXJWaWRlb0Z1bGxzCiAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoIkVudGVyIEZ1bGxzY3JlZW4i
LCAiVmlkZW8gRW50ZXIgRnVsbHNjcmVlbiBjb250ZXh0IG1lbnUgaXRlbSIpOwogfQogCitTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnRXhpdFZpZGVvRnVsbHNjcmVlbigpCit7CisgICAgcmV0dXJu
IFdFQl9VSV9TVFJJTkcoIkV4aXQgRnVsbHNjcmVlbiIsICJWaWRlbyBFeGl0IEZ1bGxzY3JlZW4g
Y29udGV4dCBtZW51IGl0ZW0iKTsKK30KKwogU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlh
UGxheSgpCiB7CiAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoIlBsYXkiLCAiTWVkaWEgUGxheSBj
b250ZXh0IG1lbnUgaXRlbSIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxp
emVkU3RyaW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2Fs
aXplZFN0cmluZ3MuaAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTG9jYWxpemVkU3RyaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNiArMTM3LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVN
ZWRpYUNvbnRyb2xzKCk7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlh
TG9vcCgpOwogICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVl
bigpOworICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFeGl0VmlkZW9GdWxsc2NyZWVuKCk7
CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheSgpOwogICAgIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdNZWRpYVBhdXNlKCk7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ01lZGlhTXV0ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NvbnRl
eHRNZW51SXRlbUd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3RrL0NvbnRleHRNZW51SXRlbUd0ay5jcHAJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2d0ay9Db250ZXh0TWVudUl0ZW1HdGsuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTIsNyArMTEyLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGd0a1N0b2NrSURGcm9tQ29u
dGV4dAogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQ6
CiAgICAgICAgIC8vIE5vIGljb24gZm9yIHRoaXMuCiAgICAgICAgIHJldHVybiAwOwotICAgIGNh
c2UgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW46CisgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW46CiAgICAgICAgIHJldHVybiBHVEtf
U1RPQ0tfRlVMTFNDUkVFTjsKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gMDsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDE1
MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzk5LDYgKzM5OSwzMCBAQCB2b2lkIEhpdFRlc3RSZXN1bHQ6OnRvZ2ds
ZU1lZGlhTG9vcFBsYXliCiAjZW5kaWYKIH0KIAorYm9vbCBIaXRUZXN0UmVzdWx0OjptZWRpYUlz
SW5GdWxsc2NyZWVuKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoVklERU8pCisgICAgSFRNTE1lZGlh
RWxlbWVudCogZWxlbWVudCA9IG1lZGlhRWxlbWVudCgpOworICAgIGlmIChlbGVtZW50ICYmIGVs
ZW1lbnQtPmlzVmlkZW8oKSkKKyAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmlzRnVsbHNjcmVlbigp
OworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEhpdFRlc3RSZXN1bHQ6OnRv
Z2dsZU1lZGlhRnVsbHNjcmVlblN0YXRlKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoVklERU8pCisg
ICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbHQgPSBtZWRpYUVsZW1lbnQoKTsKKyAgICBpZiAo
bWVkaWFFbHQgJiYgbWVkaWFFbHQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp2aWRlb1RhZykpIHsK
KyAgICAgICAgSFRNTFZpZGVvRWxlbWVudCogdmlkZW9FbHQgPSBzdGF0aWNfY2FzdDxIVE1MVmlk
ZW9FbGVtZW50Kj4obWVkaWFFbHQpOworICAgICAgICBpZiAobWVkaWFFbHQtPnN1cHBvcnRzRnVs
bHNjcmVlbigpKSB7CisgICAgICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBpbmRpY2F0b3Io
RGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CisgICAgICAgICAgICB2aWRlb0Vs
dC0+dG9nZ2xlRnVsbHNjcmVlblN0YXRlKCk7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKK30K
Kwogdm9pZCBIaXRUZXN0UmVzdWx0OjplbnRlckZ1bGxzY3JlZW5Gb3JWaWRlbygpIGNvbnN0CiB7
CiAjaWYgRU5BQkxFKFZJREVPKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRl
c3RSZXN1bHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVz
dFJlc3VsdC5oCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SGl0VGVzdFJlc3VsdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNiArMTEyLDggQEAgcHVibGlj
OgogICAgIGJvb2wgaXNDb250ZW50RWRpdGFibGUoKSBjb25zdDsKICAgICB2b2lkIHRvZ2dsZU1l
ZGlhQ29udHJvbHNEaXNwbGF5KCkgY29uc3Q7CiAgICAgdm9pZCB0b2dnbGVNZWRpYUxvb3BQbGF5
YmFjaygpIGNvbnN0OworICAgIGJvb2wgbWVkaWFJc0luRnVsbHNjcmVlbigpIGNvbnN0OworICAg
IHZvaWQgdG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKSBjb25zdDsKICAgICB2b2lkIGVudGVy
RnVsbHNjcmVlbkZvclZpZGVvKCkgY29uc3Q7CiAgICAgYm9vbCBtZWRpYUNvbnRyb2xzRW5hYmxl
ZCgpIGNvbnN0OwogICAgIGJvb2wgbWVkaWFMb29wRW5hYmxlZCgpIGNvbnN0OwpJbmRleDogU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkocmV2aXNpb24gMTUxMjMwKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMDYtMDUgIFJ1dGggRm9uZyAgPHJ1dGhf
Zm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgZm9yIHRvZ2dsaW5nIGZ1bGxzY3JlZW4g
b24gPHZpZGVvPiBlbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTE3MjIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oOgorICAg
ICAgICAqIFNoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
ZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdENvbnRleHRNZW51QWN0aW9ucy5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0Q29udGV4dE1lbnVBY3Rpb25zLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9n
dGsvdGVzdHMvVGVzdENvbnRleHRNZW51LmNwcDoKKyAgICAgICAgUmVuYW1lZCB0YWdzIGZvciB0
b2dnbGluZyB2aWRlbyBmdWxsc2NyZWVuLgorCiAyMDEzLTA2LTA1ICBHd2FuZyBZb29uIEh3YW5n
ICA8cnl1bWllbEBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBbQ29vcmRpbmF0ZWQgR3JhcGhp
Y3NdIFByZXZlbnQgYSByZWN1cnNpdmUgcGFpbnRpbmcgaW4gQ29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1U
eXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0NvbnRl
eHRNZW51SXRlbVR5cGVzLmgJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9XS0NvbnRleHRNZW51SXRlbVR5cGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEx
MCw3ICsxMTAsNyBAQCBlbnVtIHsKICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFM
aW5rVG9DbGlwYm9hcmQsCiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250
cm9scywKICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AsCi0gICAga1dL
Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4sCisgICAga1dLQ29udGV4dE1l
bnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuLAogICAgIGtXS0NvbnRleHRNZW51SXRlbVRh
Z01lZGlhUGxheVBhdXNlLAogICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZSwKICAg
ICBrV0tDb250ZXh0TWVudUl0ZW1UYWdEaWN0YXRpb25BbHRlcm5hdGl2ZSwKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgJKHJldmlzaW9uIDE1
MTA1MikKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAko
d29ya2luZyBjb3B5KQpAQCAtNDY4LDggKzQ2OCw4IEBAIGlubGluZSBXS0NvbnRleHRNZW51SXRl
bVRhZyB0b0FQSShXZWJDb3IKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1Rv
Z2dsZU1lZGlhQ29udHJvbHM7CiAgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdU
b2dnbGVNZWRpYUxvb3A6CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dn
bGVNZWRpYUxvb3A7Ci0gICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZp
ZGVvRnVsbHNjcmVlbjoKLSAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0VudGVy
VmlkZW9GdWxsc2NyZWVuOworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9n
Z2xlVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFn
VG9nZ2xlVmlkZW9GdWxsc2NyZWVuOwogICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnTWVkaWFQbGF5UGF1c2U6CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdN
ZWRpYVBsYXlQYXVzZTsKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlh
TXV0ZToKQEAgLTY1OCw4ICs2NTgsOCBAQCBpbmxpbmUgV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rp
b24gdG9JbXBsCiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUb2dn
bGVNZWRpYUNvbnRyb2xzOwogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVk
aWFMb29wOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xl
TWVkaWFMb29wOwotICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxz
Y3JlZW46Ci0gICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZp
ZGVvRnVsbHNjcmVlbjsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVv
RnVsbHNjcmVlbjoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1Rv
Z2dsZVZpZGVvRnVsbHNjcmVlbjsKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlh
UGxheVBhdXNlOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTWVk
aWFQbGF5UGF1c2U7CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGU6Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29u
dGV4dF9tZW51LmNwcAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwMSw4
ICszMDEsOCBAQCBzdGF0aWMgV0tDb250ZXh0TWVudUl0ZW1UYWcgZ2V0V0tUYWdGcm9tCiAgICAg
ICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzOwogICAg
IGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfTE9PUDoKICAgICAg
ICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDsKLSAgICBjYXNl
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRU5URVJfVklERU9fRlVMTFNDUkVFTjoKLSAgICAg
ICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOworICAg
IGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfVklERU9fRlVMTFNDUkVFTjoK
KyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVl
bjsKICAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfUExBWV9QQVVTRToK
ICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlOwogICAg
IGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9NVVRFOgpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9t
ZW51X2l0ZW0uY3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MDYsOCArMzA2LDggQEAgc3RhdGljIEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb24gZ2V0RQog
ICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfQ09O
VFJPTFM7CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A6CiAg
ICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9MT09Q
OwotICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW46Ci0g
ICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExT
Q1JFRU47CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3Jl
ZW46CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9WSURF
T19GVUxMU0NSRUVOOwogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1
c2U6CiAgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX1BMQVlf
UEFVU0U7CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGU6CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4
dF9tZW51X2l0ZW0uaAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmgJKHdvcmtpbmcgY29weSkKQEAgLTEy
Myw3ICsxMjMsNyBAQCB0eXBlZGVmIGVudW0gewogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfQ09QWV9NRURJQV9MSU5LX1RPX0NMSVBCT0FSRCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX1RPR0dMRV9NRURJQV9DT05UUk9MUywKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX1RPR0dMRV9NRURJQV9MT09QLAotICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRU5U
RVJfVklERU9fRlVMTFNDUkVFTiwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dM
RV9WSURFT19GVUxMU0NSRUVOLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFf
UExBWV9QQVVTRSwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX01VVEUsCiAg
ICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQVBQTElDQVRJT05fVEFHID0gMTAwMDAKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51QWN0
aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0Q29udGV4dE1lbnVBY3Rpb25zLmNwcAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVBY3Rpb25zLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTE2LDggKzExNiw4IEBAIENvbnRleHRNZW51QWN0aW9uIHdlYmtp
dENvbnRleHRNZW51QWN0aW8KICAgICAgICAgcmV0dXJuIENvbnRleHRNZW51SXRlbVRhZ1RvZ2ds
ZU1lZGlhQ29udHJvbHM7CiAgICAgY2FzZSBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dH
TEVfTUVESUFfTE9PUDoKICAgICAgICAgcmV0dXJuIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1l
ZGlhTG9vcDsKLSAgICBjYXNlIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VOVEVSX1ZJREVP
X0ZVTExTQ1JFRU46Ci0gICAgICAgIHJldHVybiBDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVv
RnVsbHNjcmVlbjsKKyAgICBjYXNlIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9W
SURFT19GVUxMU0NSRUVOOgorICAgICAgICByZXR1cm4gQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xl
VmlkZW9GdWxsc2NyZWVuOwogICAgIGNhc2UgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVE
SUFfUExBWToKICAgICBjYXNlIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BBVVNF
OgogICAgICAgICByZXR1cm4gQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U7CkBAIC0y
MDcsOCArMjA3LDggQEAgV2ViS2l0Q29udGV4dE1lbnVBY3Rpb24gd2Via2l0Q29udGV4dE1lbgog
ICAgICAgICByZXR1cm4gV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0NP
TlRST0xTOwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgogICAg
ICAgICByZXR1cm4gV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0xPT1A7
Ci0gICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKLSAgICAg
ICAgcmV0dXJuIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VOVEVSX1ZJREVPX0ZVTExTQ1JF
RU47CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW46Cisg
ICAgICAgIHJldHVybiBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfVklERU9fRlVM
TFNDUkVFTjsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlOgogICAg
ICAgICByZXR1cm4gbWVudUl0ZW0tPnRpdGxlKCkgPT0gY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQ
bGF5KCkgPwogICAgICAgICAgICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfUExB
WSA6IFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BBVVNFOwpAQCAtMjk4LDggKzI5
OCw4IEBAIFN0cmluZyB3ZWJraXRDb250ZXh0TWVudUFjdGlvbkdldExhYmVsKFcKICAgICAgICAg
cmV0dXJuIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMoKTsKICAgICBjYXNl
IFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJQV9MT09QOgogICAgICAgICBy
ZXR1cm4gY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wKCk7Ci0gICAgY2FzZSBXRUJL
SVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FTlRFUl9WSURFT19GVUxMU0NSRUVOOgotICAgICAgICBy
ZXR1cm4gY29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4oKTsKKyAgICBjYXNl
IFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9WSURFT19GVUxMU0NSRUVOOgorICAg
ICAgICByZXR1cm4gY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuKCk7CiAg
ICAgY2FzZSBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9QTEFZOgogICAgICAgICBy
ZXR1cm4gY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCk7CiAgICAgY2FzZSBXRUJLSVRfQ09O
VEVYVF9NRU5VX0FDVElPTl9NRURJQV9QQVVTRToKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51QWN0aW9ucy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51QWN0aW9ucy5o
CShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRDb250ZXh0TWVudUFjdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtNjgsNyArNjgsNyBA
QCBHX0JFR0lOX0RFQ0xTCiAgKiBAV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fQ09QWV9BVURJ
T19MSU5LX1RPX0NMSVBCT0FSRDogQ29weSBhdWRpbyBsaW5rIGxvY2F0aW9uIGluIHRvIHRoZSBj
bGlwYm9hcmQuCiAgKiBAV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0NP
TlRST0xTOiBFbmFibGUgb3IgZGlzYWJsZSBtZWRpYSBjb250cm9scy4KICAqIEBXRUJLSVRfQ09O
VEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfTUVESUFfTE9PUDogRW5hYmxlIG9yIGRpc2FibGUgbWVk
aWEgbG9vcC4KLSAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FTlRFUl9WSURFT19GVUxM
U0NSRUVOOiBTaG93IGN1cnJlbnQgdmlkZW8gZWxlbWVudCBpbiBmdWxsc2NyZWVuIG1vZGUuCisg
KiBAV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU46IFNo
b3cgY3VycmVudCB2aWRlbyBlbGVtZW50IGluIGZ1bGxzY3JlZW4gbW9kZS4KICAqIEBXRUJLSVRf
Q09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9QTEFZOiBQbGF5IGN1cnJlbnQgbWVkaWEgZWxlbWVu
dC4KICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9QQVVTRTogUGF1c2UgY3Vy
cmVudCBtZWRpYSBlbGVtZW50LgogICogQFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElB
X01VVEU6IE11dGUgY3VycmVudCBtZWRpYSBlbGVtZW50LgpAQCAtMTE3LDcgKzExNyw3IEBAIHR5
cGVkZWYgZW51bSB7CiAgICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fQ09QWV9BVURJT19M
SU5LX1RPX0NMSVBCT0FSRCwKICAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVf
TUVESUFfQ09OVFJPTFMsCiAgICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX01F
RElBX0xPT1AsCi0gICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fRU5URVJfVklERU9fRlVM
TFNDUkVFTiwKKyAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfVklERU9fRlVM
TFNDUkVFTiwKICAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9QTEFZLAogICAg
IFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BBVVNFLAogICAgIFdFQktJVF9DT05U
RVhUX01FTlVfQUNUSU9OX01FRElBX01VVEUsCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay90ZXN0cy9UZXN0Q29udGV4dE1lbnUuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RDb250ZXh0TWVudS5jcHAJKHJl
dmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3Rz
L1Rlc3RDb250ZXh0TWVudS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwNSw3ICszMDUsNyBAQCBw
dWJsaWM6CiAgICAgICAgICAgICBpdGVyID0gY2hlY2tDdXJyZW50SXRlbUlzU3RvY2tBY3Rpb25B
bmRHZXROZXh0KGl0ZXIsIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX01VVEUsIFZp
c2libGUpOwogICAgICAgICAgICAgaXRlciA9IGNoZWNrQ3VycmVudEl0ZW1Jc1N0b2NrQWN0aW9u
QW5kR2V0TmV4dChpdGVyLCBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfTUVESUFf
Q09OVFJPTFMsIFZpc2libGUgfCBFbmFibGVkIHwgQ2hlY2tlZCk7CiAgICAgICAgICAgICBpdGVy
ID0gY2hlY2tDdXJyZW50SXRlbUlzU3RvY2tBY3Rpb25BbmRHZXROZXh0KGl0ZXIsIFdFQktJVF9D
T05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJQV9MT09QLCBWaXNpYmxlIHwgRW5hYmxlZCk7
Ci0gICAgICAgICAgICBpdGVyID0gY2hlY2tDdXJyZW50SXRlbUlzU3RvY2tBY3Rpb25BbmRHZXRO
ZXh0KGl0ZXIsIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VOVEVSX1ZJREVPX0ZVTExTQ1JF
RU4sIFZpc2libGUpOworICAgICAgICAgICAgaXRlciA9IGNoZWNrQ3VycmVudEl0ZW1Jc1N0b2Nr
QWN0aW9uQW5kR2V0TmV4dChpdGVyLCBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVf
VklERU9fRlVMTFNDUkVFTiwgVmlzaWJsZSk7CiAgICAgICAgICAgICBpdGVyID0gY2hlY2tDdXJy
ZW50SXRlbUlzU2VwYXJhdG9yQW5kR2V0TmV4dChpdGVyKTsKICAgICAgICAgICAgIGl0ZXIgPSBj
aGVja0N1cnJlbnRJdGVtSXNTdG9ja0FjdGlvbkFuZEdldE5leHQoaXRlciwgV0VCS0lUX0NPTlRF
WFRfTUVOVV9BQ1RJT05fQ09QWV9WSURFT19MSU5LX1RPX0NMSVBCT0FSRCwgVmlzaWJsZSB8IEVu
YWJsZWQpOwogICAgICAgICAgICAgaXRlciA9IGNoZWNrQ3VycmVudEl0ZW1Jc1N0b2NrQWN0aW9u
QW5kR2V0TmV4dChpdGVyLCBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9PUEVOX1ZJREVPX0lO
X05FV19XSU5ET1csIFZpc2libGUgfCBFbmFibGVkKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE1MTIzMCkKKysrIFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEzLTA2LTA1ICBSdXRoIEZvbmcgIDxydXRoX2ZvbmdA
YXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBmdWxsc2NyZWVuIG9uIDx2
aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisgICAgICAg
ICogZXdrL2V3a19jb250ZXh0bWVudS5oOgorICAgICAgICBSZW5hbWVkIHRhZ3MgdG8gcmVmbGVj
dCB0b2dnbGUtYWJpbGl0eSBvZiB2aWRlbyBmdWxsc2NyZWVuLgorCiAyMDEzLTA1LTI4ICBBbmRy
ZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBEb2N1bWVudDo6c2V0Rm9j
dXNlZE5vZGUoKSBzaG91bGQgYmUgc2V0Rm9jdXNlZEVsZW1lbnQoKS4KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51
bXMuY3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU5LDcgKzE1
OSw3IEBAIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFQKIENPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX01FRElB
X0xJTktfVE9fQ0xJUEJPQVJELCBDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlw
Ym9hcmQpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX1RPR0dMRV9NRURJQV9DT05UUk9MUywgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVk
aWFDb250cm9scyk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0xPT1AsIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1l
ZGlhTG9vcCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfRU5URVJfVklERU9fRlVMTFNDUkVFTiwgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJW
aWRlb0Z1bGxzY3JlZW4pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1RPR0dMRV9WSURFT19GVUxMU0NSRUVOLCBDb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW4pOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0UsIENvbnRleHRNZW51SXRl
bVRhZ01lZGlhUGxheVBhdXNlKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9NVVRFLCBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11
dGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
QkFTRV9DVVNUT01fVEFHLCBDb250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9tVGFnKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY29udGV4dG1lbnUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX2NvbnRleHRtZW51LmgJKHJldmlzaW9uIDE1MTA1MikKKysr
IFNvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY29udGV4dG1lbnUuaAkod29ya2luZyBjb3B5KQpA
QCAtMTE4LDcgKzExOCw3IEBAIGVudW0gX0V3a19Db250ZXh0X01lbnVfQWN0aW9uIHsKICAgICBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfTUVESUFfTElOS19UT19DTElQQk9BUkQsCiAg
ICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfQ09OVFJPTFMsCiAgICAg
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfTE9PUCwKLSAgICBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4sCisgICAgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfVklERU9fRlVMTFNDUkVFTiwKICAgICBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0UsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19NRURJQV9NVVRFLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9CQVNFX0NVU1RP
TV9UQUcgPSA1MDAwLApJbmRleDogU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxMjMwKQorKysg
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTMtMDYtMDUgIFJ1dGggRm9uZyAgPHJ1dGhfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAg
ICAgQWxsb3cgZm9yIHRvZ2dsaW5nIGZ1bGxzY3JlZW4gb24gPHZpZGVvPiBlbGVtZW50cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MjIwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJraXQvd2Vi
a2l0Z2xvYmFscy5jcHA6CisgICAgICAgICogd2Via2l0L3dlYmtpdGdsb2JhbHMuaDoKKyAgICAg
ICAgUmVuYW1lZCB0YWdzIHRvIHJlZmxlY3QgdG9nZ2xlLWFiaWxpdHkgb2YgdmlkZW8gZnVsbHNj
cmVlbi4KKwogMjAxMy0wNi0wNCAgQWxiZXJ0byBHYXJjaWEgIDxhZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgW0dUS10gTWFrZSBwcmVjZWRlbmNlIG9mIGxvZ2ljYWwgb3BlcmF0b3JzIGV4
cGxpY2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2JhbHMuY3Bw
CShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xv
YmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1MCw4ICs0NTAsOCBAQCBXZWJLaXRDb250ZXh0
TWVudUFjdGlvbiB3ZWJraXRfY29udGV4dF9tCiAgICAgICAgIHJldHVybiBXRUJLSVRfQ09OVEVY
VF9NRU5VX0FDVElPTl9UT0dHTEVfTUVESUFfQ09OVFJPTFM7CiAgICAgY2FzZSBDb250ZXh0TWVu
dUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A6CiAgICAgICAgIHJldHVybiBXRUJLSVRfQ09OVEVYVF9N
RU5VX0FDVElPTl9UT0dHTEVfTUVESUFfTE9PUDsKLSAgICBjYXNlIENvbnRleHRNZW51SXRlbVRh
Z0VudGVyVmlkZW9GdWxsc2NyZWVuOgotICAgICAgICByZXR1cm4gV0VCS0lUX0NPTlRFWFRfTUVO
VV9BQ1RJT05fRU5URVJfVklERU9fRlVMTFNDUkVFTjsKKyAgICBjYXNlIENvbnRleHRNZW51SXRl
bVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjoKKyAgICAgICAgcmV0dXJuIFdFQktJVF9DT05URVhU
X01FTlVfQUNUSU9OX1RPR0dMRV9WSURFT19GVUxMU0NSRUVOOwogICAgIGNhc2UgQ29udGV4dE1l
bnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U6CiAgICAgICAgIHJldHVybiBXRUJLSVRfQ09OVEVYVF9N
RU5VX0FDVElPTl9NRURJQV9QTEFZX1BBVVNFOwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFn
TWVkaWFNdXRlOgpJbmRleDogU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2JhbHMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5o
CShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xv
YmFscy5oCSh3b3JraW5nIGNvcHkpCkBAIC05Miw3ICs5Miw3IEBAIHR5cGVkZWYgZW51bSB7CiAg
KiBAV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fQ09QWV9NRURJQV9MSU5LX1RPX0NMSVBCT0FS
RDogQ29weSBtZWRpYSBsaW5rIGxvY2F0aW9uIGluIHRvIHRoZSBjbGlwYm9hcmQuCiAgKiBAV0VC
S0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0NPTlRST0xTOiBFbmFibGUgb3Ig
ZGlzYWJsZSBtZWRpYSBjb250cm9scy4KICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9U
T0dHTEVfTUVESUFfTE9PUDogRW5hYmxlIG9yIGRpc2FibGUgbWVkaWEgbG9vcC4KLSAqIEBXRUJL
SVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FTlRFUl9WSURFT19GVUxMU0NSRUVOOiBTaG93IGN1cnJl
bnQgdmlkZW8gZWxlbWVudCBpbiBmdWxsc2NyZWVuIG1vZGUuCisgKiBAV0VCS0lUX0NPTlRFWFRf
TUVOVV9BQ1RJT05fVE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU46IFNob3cgY3VycmVudCB2aWRlbyBl
bGVtZW50IGluIGZ1bGxzY3JlZW4gbW9kZS4KICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElP
Tl9NRURJQV9QTEFZX1BBVVNFOiBQbGF5IG9yIHBhdXNlIGN1cnJlbnQgbWVkaWEgZWxlbWVudC4K
ICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9NVVRFOiBNdXRlIGN1cnJlbnQg
bWVkaWEgZWxlbWVudC4KICAqCkBAIC0xMzcsNyArMTM3LDcgQEAgdHlwZWRlZiBlbnVtIHsKICAg
ICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9DT1BZX01FRElBX0xJTktfVE9fQ0xJUEJPQVJE
LAogICAgIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJQV9DT05UUk9MUywK
ICAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfTUVESUFfTE9PUCwKLSAgICBX
RUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FTlRFUl9WSURFT19GVUxMU0NSRUVOLAorICAgIFdF
QktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9WSURFT19GVUxMU0NSRUVOLAogICAgIFdF
QktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BMQVlfUEFVU0UsCiAgICAgV0VCS0lUX0NP
TlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfTVVURQogfSBXZWJLaXRDb250ZXh0TWVudUFjdGlvbjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203887</attachid>
            <date>2013-06-05 15:26:00 -0700</date>
            <delta_ts>2013-06-06 17:22:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117220-20130605152429.patch</filename>
            <type>text/plain</type>
            <size>29132</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA2LTA1ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBm
dWxsc2NyZWVuIG9uIDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICog
RW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOiBBZGQgIkV4aXQgRnVsbHNjcmVlbiIg
c3RyaW5nLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUpOiBBZGRlZCB0
byBhcHByb3ByaWF0ZWx5IGVudGVyL2V4aXQgZnVsbHNjcmVlbi4KKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5j
cHA6IFVwZGF0ZWQgdG8gMSkgaG9vayBpbnRvIEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZUZ1bGxzY3Jl
ZW5TdGF0ZSgpLgorICAgICAgICAqIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL0xv
Y2FsaXplZFN0cmluZ3MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L0xvY2FsaXpl
ZFN0cmluZ3NCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvTG9jYWxpemVk
U3RyaW5nc0VmbC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0NvbnRleHRNZW51SXRlbUd0
ay5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL3F0L0xvY2FsaXplZFN0cmluZ3NRdC5jcHA6CisgICAgICAgIFVw
ZGF0ZWQgdG8gcmVuYW1lIHZhcmlhYmxlcyBtb3JlIGFwcHJvcHJpYXRlbHkgdG8gcmVmbGVjdCB0
b2dnbGUtYWJpbGl0eSBvZiB2aWRlbyBmdWxsc2NyZWVuLgorICAgICAgICAqIHJlbmRlcmluZy9I
aXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oOgor
ICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6bWVkaWFJc0luRnVsbHNjcmVlbik6IEFk
ZGVkIHRvIGNoZWNrIGlmCisgICAgICAgIGVsZW1lbnQgaXMgYSBtZWRpYSBlbGVtZW50IGluIGZ1
bGxzY3JlZW4uCisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0Ojp0b2dnbGVNZWRpYUZ1
bGxzY3JlZW5TdGF0ZSk6IEFkZGVkIHRvIGhvb2sgaW50byAKKyAgICAgICAgSFRNTE1lZGlhRWxl
bWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRlLgorCiAyMDEzLTA2LTA1ICBNYXJrIFNhbGlzYnVy
eSAgPG1hcmsuc2FsaXNidXJ5QGhwLmNvbT4KIAogICAgICAgICBbV2luQ0UsV2luQ2Fpcm9dIFJl
bmRlclRoZW1lV2luLmNwcCBuZWVkcyB0byBpbmNsdWRlIEZyYW1lU2VsZWN0aW9uLmguCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdz
CShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL0xvY2Fs
aXphYmxlLnN0cmluZ3MJKHdvcmtpbmcgY29weSkKQEAgLTE3NSw2ICsxNzUsOSBAQAogAC8AKgAg
AFYAaQBkAGUAbwAgAEUAbgB0AGUAcgAgAEYAdQBsAGwAcwBjAHIAZQBlAG4AIABjAG8AbgB0AGUA
eAB0ACAAbQBlAG4AdQAgAGkAdABlAG0AIAAqAC8ACiAAIgBFAG4AdABlAHIAIABGAHUAbABsAHMA
YwByAGUAZQBuACIAIAA9ACAAIgBFAG4AdABlAHIAIABGAHUAbABsAHMAYwByAGUAZQBuACIAOwAK
IAAKKwAvACoAIABWAGkAZABlAG8AIABFAHgAaQB0ACAARgB1AGwAbABzAGMAcgBlAGUAbgAgAGMA
bwBuAHQAZQB4AHQAIABtAGUAbgB1ACAAaQB0AGUAbQAgACoALwAKKwAiAEUAeABpAHQAIABGAHUA
bABsAHMAYwByAGUAZQBuACIAIAA9ACAAIgBFAHgAaQB0ACAARgB1AGwAbABzAGMAcgBlAGUAbgAi
ADsACisACiAALwAqACAARABlAGYAYQB1AGwAdAAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgAgAG4A
YQBtAGUAIABmAG8AcgAgAE8AcABlAG4AIABXAGkAdABoACAAYwBvAG4AdABlAHgAdAAgAG0AZQBu
AHUAIAAqAC8ACiAAIgBGAGkAbgBkAGUAcgAiACAAPQAgACIARgBpAG4AZABlAHIAIgA7AAogAApJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCShyZXZpc2lvbiAx
NTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNzQ0LDYgKzI3NDQsMTYgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp0
b2dnbGVQbGF5U3RhdGUoKQogICAgICAgICBwYXVzZUludGVybmFsKCk7CiB9CiAKK3ZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRlKCkKK3sKKyAgICBMT0coTWVkaWEs
ICJIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUgLSBpc0Z1bGxzY3JlZW4o
KSBpcyAlcyIsIGJvb2xTdHJpbmcoaXNGdWxsc2NyZWVuKCkpKTsKKyAgICAKKyAgICBpZiAoaXNG
dWxsc2NyZWVuKCkpCisgICAgICAgIGRvY3VtZW50KCktPndlYmtpdENhbmNlbEZ1bGxTY3JlZW4o
KTsKKyAgICBlbHNlIAorICAgICAgICBlbnRlckZ1bGxzY3JlZW4oKTsKK30KKwogdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpiZWdpblNjcnViYmluZygpCiB7CiAgICAgTE9HKE1lZGlhLCAiSFRNTE1l
ZGlhRWxlbWVudDo6YmVnaW5TY3J1YmJpbmcgLSBwYXVzZWQoKSBpcyAlcyIsIGJvb2xTdHJpbmco
cGF1c2VkKCkpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCShy
ZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMzM2LDYgKzMzNiw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
aGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCB7IHJldHVybiAhbV9wbGF5ZXIgfHwgbV9w
bGF5ZXItPmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCk7IH0KICAgICAKKyAgICB2b2lkIHRvZ2ds
ZUZ1bGxzY3JlZW5TdGF0ZSgpOwogICAgIGJvb2wgaXNGdWxsc2NyZWVuKCkgY29uc3Q7CiAgICAg
dm9pZCBlbnRlckZ1bGxzY3JlZW4oKTsKICAgICB2b2lkIGV4aXRGdWxsc2NyZWVuKCk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCShyZXZp
c2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2Myw4ICsyNjMsOCBAQCB2b2lkIENvbnRleHRNZW51
Q29udHJvbGxlcjo6Y29udGV4dE1lbnVJCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dn
bGVNZWRpYUxvb3A6CiAgICAgICAgIG1faGl0VGVzdFJlc3VsdC50b2dnbGVNZWRpYUxvb3BQbGF5
YmFjaygpOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0VudGVy
VmlkZW9GdWxsc2NyZWVuOgotICAgICAgICBtX2hpdFRlc3RSZXN1bHQuZW50ZXJGdWxsc2NyZWVu
Rm9yVmlkZW8oKTsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNj
cmVlbjoKKyAgICAgICAgbV9oaXRUZXN0UmVzdWx0LnRvZ2dsZU1lZGlhRnVsbHNjcmVlblN0YXRl
KCk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5
UGF1c2U6CiAgICAgICAgIG1faGl0VGVzdFJlc3VsdC50b2dnbGVNZWRpYVBsYXlTdGF0ZSgpOwpA
QCAtNzYyLDcgKzc2Miw3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgp
CiAgICAgICAgIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMoKSk7CiAgICAg
Q29udGV4dE1lbnVJdGVtIFRvZ2dsZU1lZGlhTG9vcChDaGVja2FibGVBY3Rpb25UeXBlLCBDb250
ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AsIAogICAgICAgICBjb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVNZWRpYUxvb3AoKSk7Ci0gICAgQ29udGV4dE1lbnVJdGVtIEVudGVyVmlkZW9GdWxs
c2NyZWVuKEFjdGlvblR5cGUsIENvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVu
LCAKKyAgICBDb250ZXh0TWVudUl0ZW0gRW50ZXJWaWRlb0Z1bGxzY3JlZW4oQWN0aW9uVHlwZSwg
Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuLAogICAgICAgICBjb250ZXh0
TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpKTsKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgQ29udGV4dE1lbnVJdGVtIFNlYXJjaFNwb3RsaWdodEl0ZW0oQWN0aW9uVHlwZSwgQ29udGV4
dE1lbnVJdGVtVGFnU2VhcmNoSW5TcG90bGlnaHQsIApAQCAtMTM0Miw4ICsxMzQyLDEyIEBAIHZv
aWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpjaGVja09yRW5hYmwKICAgICAgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A6CiAgICAgICAgICAgICBzaG91bGRDaGVjayA9
IG1faGl0VGVzdFJlc3VsdC5tZWRpYUxvb3BFbmFibGVkKCk7CiAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKKyAg
ICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW46CiAgICAg
ICAgICAgICBzaG91bGRFbmFibGUgPSBtX2hpdFRlc3RSZXN1bHQubWVkaWFTdXBwb3J0c0Z1bGxz
Y3JlZW4oKTsKKyAgICAgICAgICAgIGlmICghbV9oaXRUZXN0UmVzdWx0Lm1lZGlhSXNJbkZ1bGxz
Y3JlZW4oKSkKKyAgICAgICAgICAgICAgICBpdGVtLnNldFRpdGxlKGNvbnRleHRNZW51SXRlbVRh
Z0VudGVyVmlkZW9GdWxsc2NyZWVuKCkpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgIGl0ZW0uc2V0VGl0bGUoY29udGV4dE1lbnVJdGVtVGFnRXhpdFZpZGVvRnVsbHNjcmVlbigp
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ09w
ZW5GcmFtZUluTmV3V2luZG93OgogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1NwZWxs
aW5nR3Vlc3M6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0u
aAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1l
bnVJdGVtLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1Niw3ICsxNTYsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ0NvcHlNZWRpYUxpbmtUb0NsaXBib2Fy
ZCwKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scywKICAgICAg
ICAgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wLAotICAgICAgICBDb250ZXh0TWVu
dUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbiwKKyAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFn
VG9nZ2xlVmlkZW9GdWxsc2NyZWVuLAogICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBs
YXlQYXVzZSwKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlLAogICAgICAgICBD
b250ZXh0TWVudUl0ZW1UYWdEaWN0YXRpb25BbHRlcm5hdGl2ZSwKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwCShyZXZpc2lvbiAxNTEwNTIpCisr
KyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDk0LDYgKzQ5NCwxMSBAQCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJW
aWRlb0Z1bGxzCiAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoIkVudGVyIEZ1bGxzY3JlZW4iLCAi
VmlkZW8gRW50ZXIgRnVsbHNjcmVlbiBjb250ZXh0IG1lbnUgaXRlbSIpOwogfQogCitTdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnRXhpdFZpZGVvRnVsbHNjcmVlbigpCit7CisgICAgcmV0dXJuIFdF
Ql9VSV9TVFJJTkcoIkV4aXQgRnVsbHNjcmVlbiIsICJWaWRlbyBFeGl0IEZ1bGxzY3JlZW4gY29u
dGV4dCBtZW51IGl0ZW0iKTsKK30KKwogU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxh
eSgpCiB7CiAgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoIlBsYXkiLCAiTWVkaWEgUGxheSBjb250
ZXh0IG1lbnUgaXRlbSIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVk
U3RyaW5ncy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXpl
ZFN0cmluZ3MuaAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TG9jYWxpemVkU3RyaW5ncy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzcsNiArMTM3LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRp
YUNvbnRyb2xzKCk7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9v
cCgpOwogICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigp
OworICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFeGl0VmlkZW9GdWxsc2NyZWVuKCk7CiAg
ICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheSgpOwogICAgIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdNZWRpYVBhdXNlKCk7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z01lZGlhTXV0ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9M
b2NhbGl6ZWRTdHJpbmdzQmxhY2tCZXJyeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Mb2NhbGl6ZWRTdHJpbmdzQmxhY2tCZXJyeS5jcHAJKHJl
dmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9j
YWxpemVkU3RyaW5nc0JsYWNrQmVycnkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yODYsNyArMjg2
LDEyIEBAIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AKIAogU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCkKIHsKLSAgICByZXR1cm4g
U3RyaW5nOjpmcm9tVVRGOChzX3Jlc291cmNlLmdldFN0cmluZyhCbGFja0JlcnJ5OjpQbGF0Zm9y
bTo6Q09OVEVYVF9WSURFT19GVUxMU0NSRUVOKSk7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVU
Rjgoc19yZXNvdXJjZS5nZXRTdHJpbmcoQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNPTlRFWFRfVklE
RU9fRlVMTFNDUkVFTl9FTlRFUikpOworfQorCitTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRXhp
dFZpZGVvRnVsbHNjcmVlbigpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoc19yZXNv
dXJjZS5nZXRTdHJpbmcoQmxhY2tCZXJyeTo6UGxhdGZvcm06OkNPTlRFWFRfVklERU9fRlVMTFND
UkVFTl9FWElUKSk7CiB9CiAKIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXkoKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvY2FsaXplZFN0cmluZ3NFZmwuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9Mb2NhbGl6ZWRTdHJp
bmdzRWZsLmNwcAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
ZWZsL0xvY2FsaXplZFN0cmluZ3NFZmwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsNiArMTUz
LDExIEBAIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHMKICAgICByZXR1
cm4gU3RyaW5nOjpmcm9tVVRGOCgiU3dpdGNoIFZpZGVvIHRvIEZ1bGxzY3JlZW4iKTsKIH0KIAor
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKQoreworICAgIHJl
dHVybiBTdHJpbmc6OmZyb21VVEY4KCJTd2l0Y2ggVmlkZW8gZnJvbSBGdWxsc2NyZWVuIik7Cit9
CisKIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXkoKQogewogICAgIHJldHVybiBT
dHJpbmc6OmZyb21VVEY4KCJQbGF5Iik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
dGsvQ29udGV4dE1lbnVJdGVtR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ndGsvQ29udGV4dE1lbnVJdGVtR3RrLmNwcAkocmV2aXNpb24gMTUxMDUyKQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NvbnRleHRNZW51SXRlbUd0ay5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTExMiw3ICsxMTIsNyBAQCBzdGF0aWMgY29uc3QgY2hhciogZ3RrU3RvY2tJ
REZyb21Db250ZXh0CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VVcmxUb0Ns
aXBib2FyZDoKICAgICAgICAgLy8gTm8gaWNvbiBmb3IgdGhpcy4KICAgICAgICAgcmV0dXJuIDA7
Ci0gICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKKyAgICBj
YXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjoKICAgICAgICAgcmV0
dXJuIEdUS19TVE9DS19GVUxMU0NSRUVOOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiAw
OwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRT
dHJpbmdzR3RrLmNwcAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsNiAr
MTY2LDExIEBAIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHMKICAgICBy
ZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJTd2l0Y2ggVmlkZW8gdG8gX0Z1bGxzY3JlZW4iKSk7
CiB9CiAKK1N0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFeGl0VmlkZW9GdWxsc2NyZWVuKCkKK3sK
KyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChfKCJTd2l0Y2ggVmlkZW8gZnJvbSBfRnVsbHNj
cmVlbiIpKTsKK30KKwogU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheSgpCiB7CiAg
ICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygiX1BsYXkiKSk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9xdC9Mb2NhbGl6ZWRTdHJpbmdzUXQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0xvY2FsaXplZFN0cmluZ3NRdC5jcHAJKHJldmlzaW9u
IDE1MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L0xvY2FsaXplZFN0cmluZ3NR
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OCw2ICsxNTgsMTEgQEAgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxscwogICAgIHJldHVybiBRQ29yZUFwcGxpY2F0aW9uOjp0
cmFuc2xhdGUoIlFXZWJQYWdlIiwgIkVudGVyIEZ1bGxzY3JlZW4iLCAiU3dpdGNoIFZpZGVvIHRv
IEZ1bGxzY3JlZW4iKTsKIH0KIAorU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9G
dWxsc2NyZWVuKCkKK3sKKyAgICByZXR1cm4gUUNvcmVBcHBsaWNhdGlvbjo6dHJhbnNsYXRlKCJR
V2ViUGFnZSIsICJFeGl0IEZ1bGxzY3JlZW4iLCAiU3dpdGNoIFZpZGVvIGZyb20gRnVsbHNjcmVl
biIpOworfQorCiBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkKIHsKICAgICBy
ZXR1cm4gUUNvcmVBcHBsaWNhdGlvbjo6dHJhbnNsYXRlKCJRV2ViUGFnZSIsICJQbGF5IiwgIlBs
YXkiKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAJ
KHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVz
dWx0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzk5LDYgKzM5OSwzMCBAQCB2b2lkIEhpdFRlc3RS
ZXN1bHQ6OnRvZ2dsZU1lZGlhTG9vcFBsYXliCiAjZW5kaWYKIH0KIAorYm9vbCBIaXRUZXN0UmVz
dWx0OjptZWRpYUlzSW5GdWxsc2NyZWVuKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoVklERU8pCisg
ICAgSFRNTE1lZGlhRWxlbWVudCogZWxlbWVudCA9IG1lZGlhRWxlbWVudCgpOworICAgIGlmIChl
bGVtZW50ICYmIGVsZW1lbnQtPmlzVmlkZW8oKSkKKyAgICAgICAgcmV0dXJuIGVsZW1lbnQtPmlz
RnVsbHNjcmVlbigpOworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEhpdFRl
c3RSZXN1bHQ6OnRvZ2dsZU1lZGlhRnVsbHNjcmVlblN0YXRlKCkgY29uc3QKK3sKKyNpZiBFTkFC
TEUoVklERU8pCisgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbHQgPSBtZWRpYUVsZW1lbnQo
KTsKKyAgICBpZiAobWVkaWFFbHQgJiYgbWVkaWFFbHQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp2
aWRlb1RhZykpIHsKKyAgICAgICAgSFRNTFZpZGVvRWxlbWVudCogdmlkZW9FbHQgPSBzdGF0aWNf
Y2FzdDxIVE1MVmlkZW9FbGVtZW50Kj4obWVkaWFFbHQpOworICAgICAgICBpZiAobWVkaWFFbHQt
PnN1cHBvcnRzRnVsbHNjcmVlbigpKSB7CisgICAgICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRv
ciBpbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CisgICAgICAg
ICAgICB2aWRlb0VsdC0+dG9nZ2xlRnVsbHNjcmVlblN0YXRlKCk7CisgICAgICAgIH0KKyAgICB9
CisjZW5kaWYKK30KKwogdm9pZCBIaXRUZXN0UmVzdWx0OjplbnRlckZ1bGxzY3JlZW5Gb3JWaWRl
bygpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKFZJREVPKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSGl0VGVzdFJlc3VsdC5oCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNiArMTEy
LDggQEAgcHVibGljOgogICAgIGJvb2wgaXNDb250ZW50RWRpdGFibGUoKSBjb25zdDsKICAgICB2
b2lkIHRvZ2dsZU1lZGlhQ29udHJvbHNEaXNwbGF5KCkgY29uc3Q7CiAgICAgdm9pZCB0b2dnbGVN
ZWRpYUxvb3BQbGF5YmFjaygpIGNvbnN0OworICAgIGJvb2wgbWVkaWFJc0luRnVsbHNjcmVlbigp
IGNvbnN0OworICAgIHZvaWQgdG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKSBjb25zdDsKICAg
ICB2b2lkIGVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCkgY29uc3Q7CiAgICAgYm9vbCBtZWRpYUNv
bnRyb2xzRW5hYmxlZCgpIGNvbnN0OwogICAgIGJvb2wgbWVkaWFMb29wRW5hYmxlZCgpIGNvbnN0
OwpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxMjQxKQorKysgU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMDYtMDUgIFJ1dGgg
Rm9uZyAgPHJ1dGhfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgZm9yIHRvZ2dsaW5n
IGZ1bGxzY3JlZW4gb24gPHZpZGVvPiBlbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MjIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1U
eXBlcy5oOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uY3BwOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51QWN0aW9ucy5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVBY3Rpb25zLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdENvbnRleHRNZW51LmNwcDoKKyAgICAgICAgUmVuYW1l
ZCB0YWdzIGZvciB0b2dnbGluZyB2aWRlbyBmdWxsc2NyZWVuLgorCiAyMDEzLTA2LTA1ICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFt3azJdIFdlYlBy
b2Nlc3MnIHBhZ2UtaW4td2luZG93IGNvdW50IGNhbiBiZSB3cm9uZwpJbmRleDogU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oCShy
ZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0
TWVudUl0ZW1UeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsNyArMTEwLDcgQEAgZW51bSB7
CiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1RvQ2xpcGJvYXJkLAogICAg
IGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMsCiAgICAga1dLQ29udGV4
dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wLAotICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ0Vu
dGVyVmlkZW9GdWxsc2NyZWVuLAorICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVv
RnVsbHNjcmVlbiwKICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZSwKICAg
ICBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUsCiAgICAga1dLQ29udGV4dE1lbnVJdGVt
VGFnRGljdGF0aW9uQWx0ZXJuYXRpdmUsCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tTaGFyZWRBUElDYXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2
OCw4ICs0NjgsOCBAQCBpbmxpbmUgV0tDb250ZXh0TWVudUl0ZW1UYWcgdG9BUEkoV2ViQ29yCiAg
ICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzOwog
ICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgogICAg
ICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOwotICAgIGNh
c2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW46Ci0gICAg
ICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjsKKyAg
ICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjoK
KyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVl
bjsKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlOgog
ICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U7CiAgICAg
Y2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGU6CkBAIC02NTgsOCArNjU4
LDggQEAgaW5saW5lIFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uIHRvSW1wbAogICAgICAgICBy
ZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9sczsKICAg
ICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAgcmV0
dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDsKLSAgICBjYXNl
IGtXS0NvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgotICAgICAgICByZXR1
cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW47CisgICAg
Y2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW46CisgICAgICAg
IHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW47
CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZToKICAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlOwogICAgIGNh
c2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlOgpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHAJKHJldmlz
aW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250
ZXh0X21lbnUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDEsOCArMzAxLDggQEAgc3RhdGljIFdL
Q29udGV4dE1lbnVJdGVtVGFnIGdldFdLVGFnRnJvbQogICAgICAgICByZXR1cm4ga1dLQ29udGV4
dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9sczsKICAgICBjYXNlIEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0xPT1A6CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0
TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A7Ci0gICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU46Ci0gICAgICAgIHJldHVybiBrV0tDb250ZXh0
TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjsKKyAgICBjYXNlIEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfVE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU46CisgICAgICAgIHJldHVybiBrV0tD
b250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW47CiAgICAgY2FzZSBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0U6CiAgICAgICAgIHJldHVybiBrV0tD
b250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZTsKICAgICBjYXNlIEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfTUVESUFfTVVURToKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNwcAkocmV2aXNp
b24gMTUxMDUyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRl
eHRfbWVudV9pdGVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzA2LDggKzMwNiw4IEBAIHN0YXRp
YyBFd2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9uIGdldEUKICAgICAgICAgcmV0dXJuIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0NPTlRST0xTOwogICAgIGNhc2Uga1dL
Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgogICAgICAgICByZXR1cm4gRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfTE9PUDsKLSAgICBjYXNlIGtXS0NvbnRl
eHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgotICAgICAgICByZXR1cm4gRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19FTlRFUl9WSURFT19GVUxMU0NSRUVOOworICAgIGNhc2Uga1dL
Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICByZXR1cm4g
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfVklERU9fRlVMTFNDUkVFTjsKICAgICBj
YXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlOgogICAgICAgICByZXR1cm4g
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BBVVNFOwogICAgIGNhc2Uga1dL
Q29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlOgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmgJKHJldmlz
aW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250
ZXh0X21lbnVfaXRlbS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsNyArMTIzLDcgQEAgdHlwZWRl
ZiBlbnVtIHsKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfTUVESUFfTElOS19U
T19DTElQQk9BUkQsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFf
Q09OVFJPTFMsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfTE9P
UCwKLSAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4s
CisgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfVklERU9fRlVMTFNDUkVFTiwK
ICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0UsCiAgICAgRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9NVVRFLAogICAgIEVXS19DT05URVhUX01FTlVf
SVRFTV9CQVNFX0FQUExJQ0FUSU9OX1RBRyA9IDEwMDAwCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudUFjdGlvbnMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51QWN0
aW9ucy5jcHAJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdENvbnRleHRNZW51QWN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEx
Niw4ICsxMTYsOSBAQCBDb250ZXh0TWVudUFjdGlvbiB3ZWJraXRDb250ZXh0TWVudUFjdGlvCiAg
ICAgICAgIHJldHVybiBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzOwogICAg
IGNhc2UgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0xPT1A6CiAgICAg
ICAgIHJldHVybiBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A7CisgICAgY2FzZSBX
RUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FWElUX1ZJREVPX0ZVTExTQ1JFRU46CiAgICAgY2Fz
ZSBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FTlRFUl9WSURFT19GVUxMU0NSRUVOOgotICAg
ICAgICByZXR1cm4gQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW47CisgICAg
ICAgIHJldHVybiBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW47CiAgICAg
Y2FzZSBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9QTEFZOgogICAgIGNhc2UgV0VC
S0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfUEFVU0U6CiAgICAgICAgIHJldHVybiBDb250
ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZTsKQEAgLTIwNyw4ICsyMDgsOSBAQCBXZWJLaXRD
b250ZXh0TWVudUFjdGlvbiB3ZWJraXRDb250ZXh0TWVuCiAgICAgICAgIHJldHVybiBXRUJLSVRf
Q09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfTUVESUFfQ09OVFJPTFM7CiAgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A6CiAgICAgICAgIHJldHVybiBXRUJLSVRfQ09O
VEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfTUVESUFfTE9PUDsKLSAgICBjYXNlIENvbnRleHRNZW51
SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgotICAgICAgICByZXR1cm4gV0VCS0lUX0NPTlRF
WFRfTUVOVV9BQ1RJT05fRU5URVJfVklERU9fRlVMTFNDUkVFTjsKKyAgICBjYXNlIENvbnRleHRN
ZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjoKKyAgICAgICAgcmV0dXJuIG1lbnVJdGVt
LT50aXRsZSgpID09IGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuID8gCisg
ICAgICAgICAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FTlRFUl9WSURFT19GVUxMU0NS
RUVOIDogV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fRVhJVF9WSURFT19GVUxMU0NSRUVOOwog
ICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U6CiAgICAgICAgIHJldHVy
biBtZW51SXRlbS0+dGl0bGUoKSA9PSBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXkoKSA/CiAg
ICAgICAgICAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9QTEFZIDogV0VCS0lU
X0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfUEFVU0U7CkBAIC0zMDAsNiArMzAyLDggQEAgU3Ry
aW5nIHdlYmtpdENvbnRleHRNZW51QWN0aW9uR2V0TGFiZWwoVwogICAgICAgICByZXR1cm4gY29u
dGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wKCk7CiAgICAgY2FzZSBXRUJLSVRfQ09OVEVY
VF9NRU5VX0FDVElPTl9FTlRFUl9WSURFT19GVUxMU0NSRUVOOgogICAgICAgICByZXR1cm4gY29u
dGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4oKTsKKyAgICBjYXNlIFdFQktJVF9D
T05URVhUX01FTlVfQUNUSU9OX0VYSVRfVklERU9fRlVMTFNDUkVFTjoKKyAgICAgICAgcmV0dXJu
IGNvbnRleHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKTsKICAgICBjYXNlIFdFQktJ
VF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BMQVk6CiAgICAgICAgIHJldHVybiBjb250ZXh0
TWVudUl0ZW1UYWdNZWRpYVBsYXkoKTsKICAgICBjYXNlIFdFQktJVF9DT05URVhUX01FTlVfQUNU
SU9OX01FRElBX1BBVVNFOgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0Q29udGV4dE1lbnVBY3Rpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVBY3Rpb25zLmgJKHJldmlzaW9uIDE1
MTA1MikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRN
ZW51QWN0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSw3IEBAIEdfQkVHSU5fREVD
TFMKICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfTUVESUFfQ09OVFJPTFM6
IEVuYWJsZSBvciBkaXNhYmxlIG1lZGlhIGNvbnRyb2xzLgogICogQFdFQktJVF9DT05URVhUX01F
TlVfQUNUSU9OX1RPR0dMRV9NRURJQV9MT09QOiBFbmFibGUgb3IgZGlzYWJsZSBtZWRpYSBsb29w
LgogICogQFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU46
IFNob3cgY3VycmVudCB2aWRlbyBlbGVtZW50IGluIGZ1bGxzY3JlZW4gbW9kZS4KKyAqIEBXRUJL
SVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FWElUX1ZJREVPX0ZVTExTQ1JFRU46IEV4aXQgY3VycmVu
dCB2aWRlbyBlbGVtZW50IGluIGZ1bGxzY3JlZW4gbW9kZS4KICAqIEBXRUJLSVRfQ09OVEVYVF9N
RU5VX0FDVElPTl9NRURJQV9QTEFZOiBQbGF5IGN1cnJlbnQgbWVkaWEgZWxlbWVudC4KICAqIEBX
RUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9QQVVTRTogUGF1c2UgY3VycmVudCBtZWRp
YSBlbGVtZW50LgogICogQFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX01VVEU6IE11
dGUgY3VycmVudCBtZWRpYSBlbGVtZW50LgpAQCAtMTE4LDYgKzExOSw3IEBAIHR5cGVkZWYgZW51
bSB7CiAgICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0NPTlRST0xT
LAogICAgIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJQV9MT09QLAogICAg
IFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4sCisgICAg
V0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fRVhJVF9WSURFT19GVUxMU0NSRUVOLAogICAgIFdF
QktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BMQVksCiAgICAgV0VCS0lUX0NPTlRFWFRf
TUVOVV9BQ1RJT05fTUVESUFfUEFVU0UsCiAgICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05f
TUVESUFfTVVURSwKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3Rz
L1Rlc3RDb250ZXh0TWVudS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvdGVzdHMvVGVzdENvbnRleHRNZW51LmNwcAkocmV2aXNpb24gMTUxMDUyKQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdENvbnRleHRNZW51
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzA1LDcgKzMwNSw4IEBAIHB1YmxpYzoKICAgICAgICAg
ICAgIGl0ZXIgPSBjaGVja0N1cnJlbnRJdGVtSXNTdG9ja0FjdGlvbkFuZEdldE5leHQoaXRlciwg
V0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfTVVURSwgVmlzaWJsZSk7CiAgICAgICAg
ICAgICBpdGVyID0gY2hlY2tDdXJyZW50SXRlbUlzU3RvY2tBY3Rpb25BbmRHZXROZXh0KGl0ZXIs
IFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJQV9DT05UUk9MUywgVmlzaWJs
ZSB8IEVuYWJsZWQgfCBDaGVja2VkKTsKICAgICAgICAgICAgIGl0ZXIgPSBjaGVja0N1cnJlbnRJ
dGVtSXNTdG9ja0FjdGlvbkFuZEdldE5leHQoaXRlciwgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJ
T05fVE9HR0xFX01FRElBX0xPT1AsIFZpc2libGUgfCBFbmFibGVkKTsKLSAgICAgICAgICAgIGl0
ZXIgPSBjaGVja0N1cnJlbnRJdGVtSXNTdG9ja0FjdGlvbkFuZEdldE5leHQoaXRlciwgV0VCS0lU
X0NPTlRFWFRfTUVOVV9BQ1RJT05fRU5URVJfVklERU9fRlVMTFNDUkVFTiwgVmlzaWJsZSk7Cisg
ICAgICAgICAgICBpdGVyID0gY2hlY2tDdXJyZW50SXRlbUlzU3RvY2tBY3Rpb25BbmRHZXROZXh0
KGl0ZXIsIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4s
IFZpc2libGUgfCBFbmFibGVkKTsKKyAgICAgICAgICAgIGl0ZXIgPSBjaGVja0N1cnJlbnRJdGVt
SXNTdG9ja0FjdGlvbkFuZEdldE5leHQoaXRlciwgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05f
RVhJVF9WSURFT19GVUxMU0NSRUVOLCBWaXNpYmxlKTsKICAgICAgICAgICAgIGl0ZXIgPSBjaGVj
a0N1cnJlbnRJdGVtSXNTZXBhcmF0b3JBbmRHZXROZXh0KGl0ZXIpOwogICAgICAgICAgICAgaXRl
ciA9IGNoZWNrQ3VycmVudEl0ZW1Jc1N0b2NrQWN0aW9uQW5kR2V0TmV4dChpdGVyLCBXRUJLSVRf
Q09OVEVYVF9NRU5VX0FDVElPTl9DT1BZX1ZJREVPX0xJTktfVE9fQ0xJUEJPQVJELCBWaXNpYmxl
IHwgRW5hYmxlZCk7CiAgICAgICAgICAgICBpdGVyID0gY2hlY2tDdXJyZW50SXRlbUlzU3RvY2tB
Y3Rpb25BbmRHZXROZXh0KGl0ZXIsIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX09QRU5fVklE
RU9fSU5fTkVXX1dJTkRPVywgVmlzaWJsZSB8IEVuYWJsZWQpOwpJbmRleDogU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTUxMjQxKQorKysgU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDYtMDUgIFJ1dGggRm9uZyAgPHJ1dGhf
Zm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgZm9yIHRvZ2dsaW5nIGZ1bGxzY3JlZW4g
b24gPHZpZGVvPiBlbGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTE3MjIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAg
ICAgICAgKiBld2svZXdrX2NvbnRleHRtZW51Lmg6CisgICAgICAgIFJlbmFtZWQgdGFncyB0byBy
ZWZsZWN0IHRvZ2dsZS1hYmlsaXR5IG9mIHZpZGVvIGZ1bGxzY3JlZW4uCisKIDIwMTMtMDUtMjgg
IEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIERvY3VtZW50Ojpz
ZXRGb2N1c2VkTm9kZSgpIHNob3VsZCBiZSBzZXRGb2N1c2VkRWxlbWVudCgpLgpJbmRleDogU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hp
bmdFbnVtcy5jcHAJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNv
cmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTks
NyArMTU5LDcgQEAgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVAogQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlf
TUVESUFfTElOS19UT19DTElQQk9BUkQsIENvbnRleHRNZW51SXRlbVRhZ0NvcHlNZWRpYUxpbmtU
b0NsaXBib2FyZCk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0NPTlRST0xTLCBDb250ZXh0TWVudUl0ZW1UYWdUb2dn
bGVNZWRpYUNvbnRyb2xzKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfTE9PUCwgQ29udGV4dE1lbnVJdGVtVGFnVG9n
Z2xlTWVkaWFMb29wKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19FTlRFUl9WSURFT19GVUxMU0NSRUVOLCBDb250ZXh0TWVudUl0ZW1UYWdF
bnRlclZpZGVvRnVsbHNjcmVlbik7CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU4sIENvbnRleHRNZW51
SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbik7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfUExBWV9QQVVTRSwgQ29udGV4dE1l
bnVJdGVtVGFnTWVkaWFQbGF5UGF1c2UpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX01VVEUsIENvbnRleHRNZW51SXRlbVRhZ01l
ZGlhTXV0ZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9CQVNFX0NVU1RPTV9UQUcsIENvbnRleHRNZW51SXRlbUJhc2VDdXN0b21UYWcpOwpJbmRl
eDogU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jb250ZXh0bWVudS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY29udGV4dG1lbnUuaAkocmV2aXNpb24gMTUxMDUy
KQorKysgU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jb250ZXh0bWVudS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTgsNyArMTE4LDcgQEAgZW51bSBfRXdrX0NvbnRleHRfTWVudV9BY3Rpb24gewog
ICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9NRURJQV9MSU5LX1RPX0NMSVBCT0FS
RCwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9DT05UUk9MUywK
ICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9MT09QLAotICAgIEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfRU5URVJfVklERU9fRlVMTFNDUkVFTiwKKyAgICBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9WSURFT19GVUxMU0NSRUVOLAogICAgIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfUExBWV9QQVVTRSwKICAgICBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX01FRElBX01VVEUsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0Vf
Q1VTVE9NX1RBRyA9IDUwMDAsCkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTEyNDEp
CisrKyBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxNCBAQAorMjAxMy0wNi0wNSAgUnV0aCBGb25nICA8cnV0aF9mb25nQGFwcGxlLmNvbT4KKwor
ICAgICAgICBBbGxvdyBmb3IgdG9nZ2xpbmcgZnVsbHNjcmVlbiBvbiA8dmlkZW8+IGVsZW1lbnRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcyMjAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYmtp
dC93ZWJraXRnbG9iYWxzLmNwcDoKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0Z2xvYmFscy5oOgor
ICAgICAgICBSZW5hbWVkIHRhZ3MgdG8gcmVmbGVjdCB0b2dnbGUtYWJpbGl0eSBvZiB2aWRlbyBm
dWxsc2NyZWVuLgorCiAyMDEzLTA2LTA0ICBBbGJlcnRvIEdhcmNpYSAgPGFnYXJjaWFAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXSBNYWtlIHByZWNlZGVuY2Ugb2YgbG9naWNhbCBvcGVyYXRv
cnMgZXhwbGljaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnbG9iYWxz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFs
cy5jcHAJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRnbG9iYWxzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUwLDggKzQ1MCw4IEBAIFdlYktpdENv
bnRleHRNZW51QWN0aW9uIHdlYmtpdF9jb250ZXh0X20KICAgICAgICAgcmV0dXJuIFdFQktJVF9D
T05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJQV9DT05UUk9MUzsKICAgICBjYXNlIENvbnRl
eHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAgcmV0dXJuIFdFQktJVF9DT05U
RVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJQV9MT09QOwotICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW46Ci0gICAgICAgIHJldHVybiBXRUJLSVRfQ09OVEVY
VF9NRU5VX0FDVElPTl9FTlRFUl9WSURFT19GVUxMU0NSRUVOOworICAgIGNhc2UgQ29udGV4dE1l
bnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICByZXR1cm4gV0VCS0lUX0NP
TlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU47CiAgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZToKICAgICAgICAgcmV0dXJuIFdFQktJVF9DT05U
RVhUX01FTlVfQUNUSU9OX01FRElBX1BMQVlfUEFVU0U7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdNZWRpYU11dGU6CkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xv
YmFscy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnbG9i
YWxzLmgJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXRnbG9iYWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTkyLDcgKzkyLDcgQEAgdHlwZWRlZiBlbnVt
IHsKICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9DT1BZX01FRElBX0xJTktfVE9fQ0xJ
UEJPQVJEOiBDb3B5IG1lZGlhIGxpbmsgbG9jYXRpb24gaW4gdG8gdGhlIGNsaXBib2FyZC4KICAq
IEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfTUVESUFfQ09OVFJPTFM6IEVuYWJs
ZSBvciBkaXNhYmxlIG1lZGlhIGNvbnRyb2xzLgogICogQFdFQktJVF9DT05URVhUX01FTlVfQUNU
SU9OX1RPR0dMRV9NRURJQV9MT09QOiBFbmFibGUgb3IgZGlzYWJsZSBtZWRpYSBsb29wLgotICog
QFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU46IFNob3cg
Y3VycmVudCB2aWRlbyBlbGVtZW50IGluIGZ1bGxzY3JlZW4gbW9kZS4KKyAqIEBXRUJLSVRfQ09O
VEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfVklERU9fRlVMTFNDUkVFTjogU2hvdyBjdXJyZW50IHZp
ZGVvIGVsZW1lbnQgaW4gZnVsbHNjcmVlbiBtb2RlLgogICogQFdFQktJVF9DT05URVhUX01FTlVf
QUNUSU9OX01FRElBX1BMQVlfUEFVU0U6IFBsYXkgb3IgcGF1c2UgY3VycmVudCBtZWRpYSBlbGVt
ZW50LgogICogQFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX01VVEU6IE11dGUgY3Vy
cmVudCBtZWRpYSBlbGVtZW50LgogICoKQEAgLTEzNyw3ICsxMzcsNyBAQCB0eXBlZGVmIGVudW0g
ewogICAgIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0NPUFlfTUVESUFfTElOS19UT19DTElQ
Qk9BUkQsCiAgICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0NPTlRS
T0xTLAogICAgIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJQV9MT09QLAot
ICAgIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4sCisg
ICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU4sCiAg
ICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfUExBWV9QQVVTRSwKICAgICBXRUJL
SVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9NVVRFCiB9IFdlYktpdENvbnRleHRNZW51QWN0
aW9uOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203980</attachid>
            <date>2013-06-06 17:22:12 -0700</date>
            <delta_ts>2013-06-06 17:53:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117220-20130606172042.patch</filename>
            <type>text/plain</type>
            <size>27646</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTMwMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA2LTA2ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBm
dWxsc2NyZWVuIG9uIDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICog
RW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOiBBZGQgIkV4aXQgRnVsbHNjcmVlbiIg
c3RyaW5nLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUpOiBBZGRlZCB0
byBhcHByb3ByaWF0ZWx5IGVudGVyL2V4aXQgZnVsbHNjcmVlbi4KKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5j
cHA6IFVwZGF0ZWQgdG8gMSkgaG9vayBpbnRvIEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZUZ1bGxzY3Jl
ZW5TdGF0ZSgpLgorICAgICAgICAqIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL0xv
Y2FsaXplZFN0cmluZ3MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L0xvY2FsaXpl
ZFN0cmluZ3NCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvTG9jYWxpemVk
U3RyaW5nc0VmbC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0NvbnRleHRNZW51SXRlbUd0
ay5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL3F0L0xvY2FsaXplZFN0cmluZ3NRdC5jcHA6CisgICAgICAgIFVw
ZGF0ZWQgdG8gcmVuYW1lIHZhcmlhYmxlcyBtb3JlIGFwcHJvcHJpYXRlbHkgdG8gcmVmbGVjdCB0
b2dnbGUtYWJpbGl0eSBvZiB2aWRlbyBmdWxsc2NyZWVuLgorICAgICAgICAqIHJlbmRlcmluZy9I
aXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oOgor
ICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6bWVkaWFJc0luRnVsbHNjcmVlbik6IEFk
ZGVkIHRvIGNoZWNrIGlmCisgICAgICAgIGVsZW1lbnQgaXMgYSBtZWRpYSBlbGVtZW50IGluIGZ1
bGxzY3JlZW4uCisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0Ojp0b2dnbGVNZWRpYUZ1
bGxzY3JlZW5TdGF0ZSk6IEFkZGVkIHRvIGhvb2sgaW50byAKKyAgICAgICAgSFRNTE1lZGlhRWxl
bWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRlLgorCiAyMDEzLTA2LTAzICBKZXIgTm9ibGUgIDxq
ZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFVwc3RyZWFtIGlPUyBXZWJBdWRpbyBiZWhh
dmlvciByZXN0cmljdGlvbnMuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL0xv
Y2FsaXphYmxlLnN0cmluZ3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRW5nbGlzaC5s
cHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9FbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MJKHdvcmtpbmcgY29weSkKQEAg
LTE3NSw2ICsxNzUsOSBAQAogAC8AKgAgAFYAaQBkAGUAbwAgAEUAbgB0AGUAcgAgAEYAdQBsAGwA
cwBjAHIAZQBlAG4AIABjAG8AbgB0AGUAeAB0ACAAbQBlAG4AdQAgAGkAdABlAG0AIAAqAC8ACiAA
IgBFAG4AdABlAHIAIABGAHUAbABsAHMAYwByAGUAZQBuACIAIAA9ACAAIgBFAG4AdABlAHIAIABG
AHUAbABsAHMAYwByAGUAZQBuACIAOwAKIAAKKwAvACoAIABWAGkAZABlAG8AIABFAHgAaQB0ACAA
RgB1AGwAbABzAGMAcgBlAGUAbgAgAGMAbwBuAHQAZQB4AHQAIABtAGUAbgB1ACAAaQB0AGUAbQAg
ACoALwAKKwAiAEUAeABpAHQAIABGAHUAbABsAHMAYwByAGUAZQBuACIAIAA9ACAAIgBFAHgAaQB0
ACAARgB1AGwAbABzAGMAcgBlAGUAbgAiADsACisACiAALwAqACAARABlAGYAYQB1AGwAdAAgAGEA
cABwAGwAaQBjAGEAdABpAG8AbgAgAG4AYQBtAGUAIABmAG8AcgAgAE8AcABlAG4AIABXAGkAdABo
ACAAYwBvAG4AdABlAHgAdAAgAG0AZQBuAHUAIAAqAC8ACiAAIgBGAGkAbgBkAGUAcgAiACAAPQAg
ACIARgBpAG4AZABlAHIAIgA7AAogAApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzYyLDYgKzQzNjIsMTYgQEAg
Ym9vbCBIVE1MTWVkaWFFbGVtZW50Ojppc0Z1bGxzY3JlZW4oKSBjbwogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAordm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUoKQor
eworICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZUZ1bGxzY3JlZW5TdGF0
ZSAtIGlzRnVsbHNjcmVlbigpIGlzICVzIiwgYm9vbFN0cmluZyhpc0Z1bGxzY3JlZW4oKSkpOwor
ICAgIAorICAgIGlmIChpc0Z1bGxzY3JlZW4oKSkKKyAgICAgICAgZXhpdEZ1bGxzY3JlZW4oKTsK
KyAgICBlbHNlCisgICAgICAgIGVudGVyRnVsbHNjcmVlbigpOworfQorCiB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OmVudGVyRnVsbHNjcmVlbigpCiB7CiAgICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlh
RWxlbWVudDo6ZW50ZXJGdWxsc2NyZWVuIik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzNiw2ICszMzYsNyBAQCBwdWJs
aWM6CiAKICAgICBib29sIGhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCkgY29uc3QgeyByZXR1cm4g
IW1fcGxheWVyIHx8IG1fcGxheWVyLT5oYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpOyB9CiAgICAg
CisgICAgdm9pZCB0b2dnbGVGdWxsc2NyZWVuU3RhdGUoKTsKICAgICBib29sIGlzRnVsbHNjcmVl
bigpIGNvbnN0OwogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVuKCk7CiAgICAgdm9pZCBleGl0RnVs
bHNjcmVlbigpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xs
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250
cm9sbGVyLmNwcAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZXh0TWVudUNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjMsOCArMjYzLDggQEAg
dm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNvbnRleHRNZW51SQogICAgIGNhc2UgQ29udGV4
dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgogICAgICAgICBtX2hpdFRlc3RSZXN1bHQudG9n
Z2xlTWVkaWFMb29wUGxheWJhY2soKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDb250ZXh0
TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKLSAgICAgICAgbV9oaXRUZXN0UmVzdWx0
LmVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCk7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdU
b2dnbGVWaWRlb0Z1bGxzY3JlZW46CisgICAgICAgIG1faGl0VGVzdFJlc3VsdC50b2dnbGVNZWRp
YUZ1bGxzY3JlZW5TdGF0ZSgpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENvbnRleHRNZW51
SXRlbVRhZ01lZGlhUGxheVBhdXNlOgogICAgICAgICBtX2hpdFRlc3RSZXN1bHQudG9nZ2xlTWVk
aWFQbGF5U3RhdGUoKTsKQEAgLTc2Miw3ICs3NjIsNyBAQCB2b2lkIENvbnRleHRNZW51Q29udHJv
bGxlcjo6cG9wdWxhdGUoKQogICAgICAgICBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNv
bnRyb2xzKCkpOwogICAgIENvbnRleHRNZW51SXRlbSBUb2dnbGVNZWRpYUxvb3AoQ2hlY2thYmxl
QWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wLCAKICAgICAgICAg
Y29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wKCkpOwotICAgIENvbnRleHRNZW51SXRl
bSBFbnRlclZpZGVvRnVsbHNjcmVlbihBY3Rpb25UeXBlLCBDb250ZXh0TWVudUl0ZW1UYWdFbnRl
clZpZGVvRnVsbHNjcmVlbiwgCisgICAgQ29udGV4dE1lbnVJdGVtIEVudGVyVmlkZW9GdWxsc2Ny
ZWVuKEFjdGlvblR5cGUsIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbiwK
ICAgICAgICAgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4oKSk7CiAjaWYg
UExBVEZPUk0oTUFDKQogICAgIENvbnRleHRNZW51SXRlbSBTZWFyY2hTcG90bGlnaHRJdGVtKEFj
dGlvblR5cGUsIENvbnRleHRNZW51SXRlbVRhZ1NlYXJjaEluU3BvdGxpZ2h0LCAKQEAgLTEzNDIs
OCArMTM0MiwxMiBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6Y2hlY2tPckVuYWJsCiAg
ICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgogICAgICAgICAg
ICAgc2hvdWxkQ2hlY2sgPSBtX2hpdFRlc3RSZXN1bHQubWVkaWFMb29wRW5hYmxlZCgpOwogICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRl
b0Z1bGxzY3JlZW46CisgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9G
dWxsc2NyZWVuOgogICAgICAgICAgICAgc2hvdWxkRW5hYmxlID0gbV9oaXRUZXN0UmVzdWx0Lm1l
ZGlhU3VwcG9ydHNGdWxsc2NyZWVuKCk7CisgICAgICAgICAgICBpZiAoIW1faGl0VGVzdFJlc3Vs
dC5tZWRpYUlzSW5GdWxsc2NyZWVuKCkpCisgICAgICAgICAgICAgICAgaXRlbS5zZXRUaXRsZShj
b250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpKTsKKyAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICBpdGVtLnNldFRpdGxlKGNvbnRleHRNZW51SXRlbVRhZ0V4aXRW
aWRlb0Z1bGxzY3JlZW4oKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdPcGVuRnJhbWVJbk5ld1dpbmRvdzoKICAgICAgICAgY2FzZSBDb250ZXh0
TWVudUl0ZW1UYWdTcGVsbGluZ0d1ZXNzOgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q29udGV4dE1lbnVJdGVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q29udGV4dE1lbnVJdGVtLmgJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTYsNyArMTU2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVk
aWFMaW5rVG9DbGlwYm9hcmQsCiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlh
Q29udHJvbHMsCiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCwKLSAg
ICAgICAgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4sCisgICAgICAgIENv
bnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbiwKICAgICAgICAgQ29udGV4dE1l
bnVJdGVtVGFnTWVkaWFQbGF5UGF1c2UsCiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ01lZGlh
TXV0ZSwKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnRGljdGF0aW9uQWx0ZXJuYXRpdmUsCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAkocmV2
aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5n
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5NCw2ICs0OTQsMTEgQEAgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxscwogICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJFbnRl
ciBGdWxsc2NyZWVuIiwgIlZpZGVvIEVudGVyIEZ1bGxzY3JlZW4gY29udGV4dCBtZW51IGl0ZW0i
KTsKIH0KIAorU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKQor
eworICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJFeGl0IEZ1bGxzY3JlZW4iLCAiVmlkZW8gRXhp
dCBGdWxsc2NyZWVuIGNvbnRleHQgbWVudSBpdGVtIik7Cit9CisKIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdNZWRpYVBsYXkoKQogewogICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJQbGF5Iiwg
Ik1lZGlhIFBsYXkgY29udGV4dCBtZW51IGl0ZW0iKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTM3
LDYgKzEzNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scygpOwogICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVNZWRpYUxvb3AoKTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJW
aWRlb0Z1bGxzY3JlZW4oKTsKKyAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRXhpdFZpZGVv
RnVsbHNjcmVlbigpOwogICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXkoKTsK
ICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQYXVzZSgpOwogICAgIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2JsYWNrYmVycnkvTG9jYWxpemVkU3RyaW5nc0JsYWNrQmVycnkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9jYWxpemVkU3RyaW5nc0Js
YWNrQmVycnkuY3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ibGFja2JlcnJ5L0xvY2FsaXplZFN0cmluZ3NCbGFja0JlcnJ5LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjg2LDcgKzI4NiwxMiBAQCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVk
aWFMb29wCiAKIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigp
CiB7Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoc19yZXNvdXJjZS5nZXRTdHJpbmcoQmxh
Y2tCZXJyeTo6UGxhdGZvcm06OkNPTlRFWFRfVklERU9fRlVMTFNDUkVFTikpOworICAgIHJldHVy
biBTdHJpbmc6OmZyb21VVEY4KHNfcmVzb3VyY2UuZ2V0U3RyaW5nKEJsYWNrQmVycnk6OlBsYXRm
b3JtOjpDT05URVhUX1ZJREVPX0ZVTExTQ1JFRU5fRU5URVIpKTsKK30KKworU3RyaW5nIGNvbnRl
eHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKQoreworICAgIHJldHVybiBTdHJpbmc6
OmZyb21VVEY4KHNfcmVzb3VyY2UuZ2V0U3RyaW5nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDT05U
RVhUX1ZJREVPX0ZVTExTQ1JFRU5fRVhJVCkpOwogfQogCiBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnTWVkaWFQbGF5KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9Mb2NhbGl6
ZWRTdHJpbmdzRWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9l
ZmwvTG9jYWxpemVkU3RyaW5nc0VmbC5jcHAJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2VmbC9Mb2NhbGl6ZWRTdHJpbmdzRWZsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTUzLDYgKzE1MywxMSBAQCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRl
b0Z1bGxzCiAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoIlN3aXRjaCBWaWRlbyB0byBGdWxs
c2NyZWVuIik7CiB9CiAKK1N0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFeGl0VmlkZW9GdWxsc2Ny
ZWVuKCkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOCgiU3dpdGNoIFZpZGVvIGZyb20g
RnVsbHNjcmVlbiIpOworfQorCiBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkK
IHsKICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOCgiUGxheSIpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL0NvbnRleHRNZW51SXRlbUd0ay5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NvbnRleHRNZW51SXRlbUd0ay5jcHAJKHJldmlz
aW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Db250ZXh0TWVudUl0
ZW1HdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNyArMTEyLDcgQEAgc3RhdGljIGNvbnN0
IGNoYXIqIGd0a1N0b2NrSURGcm9tQ29udGV4dAogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFn
Q29weUltYWdlVXJsVG9DbGlwYm9hcmQ6CiAgICAgICAgIC8vIE5vIGljb24gZm9yIHRoaXMuCiAg
ICAgICAgIHJldHVybiAwOwotICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1
bGxzY3JlZW46CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3Jl
ZW46CiAgICAgICAgIHJldHVybiBHVEtfU1RPQ0tfRlVMTFNDUkVFTjsKICAgICBkZWZhdWx0Ogog
ICAgICAgICByZXR1cm4gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2Nh
bGl6ZWRTdHJpbmdzR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTY2LDYgKzE2NiwxMSBAQCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJW
aWRlb0Z1bGxzCiAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygiU3dpdGNoIFZpZGVvIHRv
IF9GdWxsc2NyZWVuIikpOwogfQogCitTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRXhpdFZpZGVv
RnVsbHNjcmVlbigpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygiU3dpdGNoIFZp
ZGVvIGZyb20gX0Z1bGxzY3JlZW4iKSk7Cit9CisKIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdN
ZWRpYVBsYXkoKQogewogICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oIl9QbGF5IikpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvTG9jYWxpemVkU3RyaW5nc1F0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9Mb2NhbGl6ZWRTdHJpbmdz
UXQuY3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9M
b2NhbGl6ZWRTdHJpbmdzUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsNiArMTU4LDExIEBA
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHMKICAgICByZXR1cm4gUUNv
cmVBcHBsaWNhdGlvbjo6dHJhbnNsYXRlKCJRV2ViUGFnZSIsICJFbnRlciBGdWxsc2NyZWVuIiwg
IlN3aXRjaCBWaWRlbyB0byBGdWxsc2NyZWVuIik7CiB9CiAKK1N0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdFeGl0VmlkZW9GdWxsc2NyZWVuKCkKK3sKKyAgICByZXR1cm4gUUNvcmVBcHBsaWNhdGlv
bjo6dHJhbnNsYXRlKCJRV2ViUGFnZSIsICJFeGl0IEZ1bGxzY3JlZW4iLCAiU3dpdGNoIFZpZGVv
IGZyb20gRnVsbHNjcmVlbiIpOworfQorCiBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQ
bGF5KCkKIHsKICAgICByZXR1cm4gUUNvcmVBcHBsaWNhdGlvbjo6dHJhbnNsYXRlKCJRV2ViUGFn
ZSIsICJQbGF5IiwgIlBsYXkiKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRU
ZXN0UmVzdWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0
VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9IaXRUZXN0UmVzdWx0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzk5LDYgKzM5OSwzMCBA
QCB2b2lkIEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZU1lZGlhTG9vcFBsYXliCiAjZW5kaWYKIH0KIAor
Ym9vbCBIaXRUZXN0UmVzdWx0OjptZWRpYUlzSW5GdWxsc2NyZWVuKCkgY29uc3QKK3sKKyNpZiBF
TkFCTEUoVklERU8pCisgICAgSFRNTE1lZGlhRWxlbWVudCogZWxlbWVudCA9IG1lZGlhRWxlbWVu
dCgpOworICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQtPmlzVmlkZW8oKSkKKyAgICAgICAgcmV0
dXJuIGVsZW1lbnQtPmlzRnVsbHNjcmVlbigpOworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCit2b2lkIEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZU1lZGlhRnVsbHNjcmVlblN0YXRlKCkgY29u
c3QKK3sKKyNpZiBFTkFCTEUoVklERU8pCisgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbHQg
PSBtZWRpYUVsZW1lbnQoKTsKKyAgICBpZiAobWVkaWFFbHQgJiYgbWVkaWFFbHQtPmhhc1RhZ05h
bWUoSFRNTE5hbWVzOjp2aWRlb1RhZykpIHsKKyAgICAgICAgSFRNTFZpZGVvRWxlbWVudCogdmlk
ZW9FbHQgPSBzdGF0aWNfY2FzdDxIVE1MVmlkZW9FbGVtZW50Kj4obWVkaWFFbHQpOworICAgICAg
ICBpZiAobWVkaWFFbHQtPnN1cHBvcnRzRnVsbHNjcmVlbigpKSB7CisgICAgICAgICAgICBVc2Vy
R2VzdHVyZUluZGljYXRvciBpbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2Vz
dHVyZSk7CisgICAgICAgICAgICB2aWRlb0VsdC0+dG9nZ2xlRnVsbHNjcmVlblN0YXRlKCk7Cisg
ICAgICAgIH0KKyAgICB9CisjZW5kaWYKK30KKwogdm9pZCBIaXRUZXN0UmVzdWx0OjplbnRlckZ1
bGxzY3JlZW5Gb3JWaWRlbygpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKFZJREVPKQpJbmRleDogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCShyZXZpc2lvbiAxNTEwNTIpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTIsNiArMTEyLDggQEAgcHVibGljOgogICAgIGJvb2wgaXNDb250ZW50RWRpdGFibGUo
KSBjb25zdDsKICAgICB2b2lkIHRvZ2dsZU1lZGlhQ29udHJvbHNEaXNwbGF5KCkgY29uc3Q7CiAg
ICAgdm9pZCB0b2dnbGVNZWRpYUxvb3BQbGF5YmFjaygpIGNvbnN0OworICAgIGJvb2wgbWVkaWFJ
c0luRnVsbHNjcmVlbigpIGNvbnN0OworICAgIHZvaWQgdG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3Rh
dGUoKSBjb25zdDsKICAgICB2b2lkIGVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCkgY29uc3Q7CiAg
ICAgYm9vbCBtZWRpYUNvbnRyb2xzRW5hYmxlZCgpIGNvbnN0OwogICAgIGJvb2wgbWVkaWFMb29w
RW5hYmxlZCgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxMzAxKQorKysgU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIw
MTMtMDYtMDYgIFJ1dGggRm9uZyAgPHJ1dGhfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWxs
b3cgZm9yIHRvZ2dsaW5nIGZ1bGxzY3JlZW4gb24gPHZpZGVvPiBlbGVtZW50cworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MjIwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tD
b250ZXh0TWVudUl0ZW1UeXBlcy5oOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS1NoYXJlZEFQ
SUNhc3QuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNw
cDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uY3Bw
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51QWN0aW9ucy5jcHA6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVBY3Rpb25zLmg6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdENvbnRleHRNZW51LmNwcDoK
KyAgICAgICAgUmVuYW1lZCB0YWdzIGZvciB0b2dnbGluZyB2aWRlbyBmdWxsc2NyZWVuLgorCiAy
MDEzLTA2LTA2ICBSYWZhZWwgQnJhbmRhbyAgPHJhZmFlbC5sb2JvQG9wZW5ib3NzYS5vcmc+CiAK
ICAgICAgICAgW0d0a10gQ29ubmVjdGlvbiBpcyBsZWFraW5nIHdoZW4gV2ViUHJvY2VzcyBpcyB0
ZXJtaW5hdGVkCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVu
dUl0ZW1UeXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9X
S0NvbnRleHRNZW51SXRlbVR5cGVzLmgJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS0NvbnRleHRNZW51SXRlbVR5cGVzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTExMCw3ICsxMTAsNyBAQCBlbnVtIHsKICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5
TWVkaWFMaW5rVG9DbGlwYm9hcmQsCiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVk
aWFDb250cm9scywKICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AsCi0g
ICAga1dLQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4sCisgICAga1dLQ29u
dGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuLAogICAgIGtXS0NvbnRleHRNZW51
SXRlbVRhZ01lZGlhUGxheVBhdXNlLAogICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0
ZSwKICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdEaWN0YXRpb25BbHRlcm5hdGl2ZSwKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgJKHJldmlz
aW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNh
c3QuaAkod29ya2luZyBjb3B5KQpAQCAtNDY4LDggKzQ2OCw4IEBAIGlubGluZSBXS0NvbnRleHRN
ZW51SXRlbVRhZyB0b0FQSShXZWJDb3IKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRl
bVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHM7CiAgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdUb2dnbGVNZWRpYUxvb3A6CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVNZWRpYUxvb3A7Ci0gICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdF
bnRlclZpZGVvRnVsbHNjcmVlbjoKLSAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRh
Z0VudGVyVmlkZW9GdWxsc2NyZWVuOworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJ
dGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOwogICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U6CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0
ZW1UYWdNZWRpYVBsYXlQYXVzZTsKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRh
Z01lZGlhTXV0ZToKQEAgLTY1OCw4ICs2NTgsOCBAQCBpbmxpbmUgV2ViQ29yZTo6Q29udGV4dE1l
bnVBY3Rpb24gdG9JbXBsCiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVNZWRpYUNvbnRyb2xzOwogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9n
Z2xlTWVkaWFMb29wOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
VG9nZ2xlTWVkaWFMb29wOwotICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRl
b0Z1bGxzY3JlZW46Ci0gICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdF
bnRlclZpZGVvRnVsbHNjcmVlbjsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2ds
ZVZpZGVvRnVsbHNjcmVlbjoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjsKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRh
Z01lZGlhUGxheVBhdXNlOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnTWVkaWFQbGF5UGF1c2U7CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11
dGU6CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9t
ZW51LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9l
d2tfY29udGV4dF9tZW51LmNwcAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMwMSw4ICszMDEsOCBAQCBzdGF0aWMgV0tDb250ZXh0TWVudUl0ZW1UYWcgZ2V0V0tUYWdGcm9t
CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xz
OwogICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfTE9PUDoK
ICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDsKLSAg
ICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRU5URVJfVklERU9fRlVMTFNDUkVFTjoK
LSAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVu
OworICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfVklERU9fRlVMTFND
UkVFTjoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVs
bHNjcmVlbjsKICAgICBjYXNlIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfUExBWV9Q
QVVTRToKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNl
OwogICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9NVVRFOgpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29u
dGV4dF9tZW51X2l0ZW0uY3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMDYsOCArMzA2LDggQEAgc3RhdGljIEV3a19Db250ZXh0X01lbnVfSXRlbV9BY3Rpb24g
Z2V0RQogICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVE
SUFfQ09OVFJPTFM7CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxv
b3A6CiAgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJ
QV9MT09QOwotICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3Jl
ZW46Ci0gICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVP
X0ZVTExTQ1JFRU47CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1
bGxzY3JlZW46CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dM
RV9WSURFT19GVUxMU0NSRUVOOwogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQ
bGF5UGF1c2U6CiAgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElB
X1BMQVlfUEFVU0U7CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGU6Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0
ZW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tf
Y29udGV4dF9tZW51X2l0ZW0uaAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEyMyw3ICsxMjMsNyBAQCB0eXBlZGVmIGVudW0gewogICAgIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfQ09QWV9NRURJQV9MSU5LX1RPX0NMSVBCT0FSRCwKICAgICBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9DT05UUk9MUywKICAgICBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1RPR0dMRV9NRURJQV9MT09QLAotICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfRU5URVJfVklERU9fRlVMTFNDUkVFTiwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1RPR0dMRV9WSURFT19GVUxMU0NSRUVOLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
TUVESUFfUExBWV9QQVVTRSwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX01V
VEUsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQVBQTElDQVRJT05fVEFHID0gMTAw
MDAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRN
ZW51QWN0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0Q29udGV4dE1lbnVBY3Rpb25zLmNwcAkocmV2aXNpb24gMTUxMDUyKQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVBY3Rpb25z
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDggKzExNiw5IEBAIENvbnRleHRNZW51QWN0aW9u
IHdlYmtpdENvbnRleHRNZW51QWN0aW8KICAgICAgICAgcmV0dXJuIENvbnRleHRNZW51SXRlbVRh
Z1RvZ2dsZU1lZGlhQ29udHJvbHM7CiAgICAgY2FzZSBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElP
Tl9UT0dHTEVfTUVESUFfTE9PUDoKICAgICAgICAgcmV0dXJuIENvbnRleHRNZW51SXRlbVRhZ1Rv
Z2dsZU1lZGlhTG9vcDsKKyAgICBjYXNlIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VYSVRf
VklERU9fRlVMTFNDUkVFTjoKICAgICBjYXNlIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VO
VEVSX1ZJREVPX0ZVTExTQ1JFRU46Ci0gICAgICAgIHJldHVybiBDb250ZXh0TWVudUl0ZW1UYWdF
bnRlclZpZGVvRnVsbHNjcmVlbjsKKyAgICAgICAgcmV0dXJuIENvbnRleHRNZW51SXRlbVRhZ1Rv
Z2dsZVZpZGVvRnVsbHNjcmVlbjsKICAgICBjYXNlIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9O
X01FRElBX1BMQVk6CiAgICAgY2FzZSBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9Q
QVVTRToKICAgICAgICAgcmV0dXJuIENvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlOwpA
QCAtMjA3LDggKzIwOCw5IEBAIFdlYktpdENvbnRleHRNZW51QWN0aW9uIHdlYmtpdENvbnRleHRN
ZW4KICAgICAgICAgcmV0dXJuIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJ
QV9DT05UUk9MUzsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoK
ICAgICAgICAgcmV0dXJuIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJQV9M
T09QOwotICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW46Ci0g
ICAgICAgIHJldHVybiBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FTlRFUl9WSURFT19GVUxM
U0NSRUVOOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVu
OgorICAgICAgICByZXR1cm4gbWVudUl0ZW0tPnRpdGxlKCkgPT0gY29udGV4dE1lbnVJdGVtVGFn
RW50ZXJWaWRlb0Z1bGxzY3JlZW4oKSA/IAorICAgICAgICAgICAgV0VCS0lUX0NPTlRFWFRfTUVO
VV9BQ1RJT05fRU5URVJfVklERU9fRlVMTFNDUkVFTiA6IFdFQktJVF9DT05URVhUX01FTlVfQUNU
SU9OX0VYSVRfVklERU9fRlVMTFNDUkVFTjsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ01l
ZGlhUGxheVBhdXNlOgogICAgICAgICByZXR1cm4gbWVudUl0ZW0tPnRpdGxlKCkgPT0gY29udGV4
dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkgPwogICAgICAgICAgICAgV0VCS0lUX0NPTlRFWFRfTUVO
VV9BQ1RJT05fTUVESUFfUExBWSA6IFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BB
VVNFOwpAQCAtMzAwLDYgKzMwMiw4IEBAIFN0cmluZyB3ZWJraXRDb250ZXh0TWVudUFjdGlvbkdl
dExhYmVsKFcKICAgICAgICAgcmV0dXJuIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9v
cCgpOwogICAgIGNhc2UgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fRU5URVJfVklERU9fRlVM
TFNDUkVFTjoKICAgICAgICAgcmV0dXJuIGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxs
c2NyZWVuKCk7CisgICAgY2FzZSBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FWElUX1ZJREVP
X0ZVTExTQ1JFRU46CisgICAgICAgIHJldHVybiBjb250ZXh0TWVudUl0ZW1UYWdFeGl0VmlkZW9G
dWxsc2NyZWVuKCk7CiAgICAgY2FzZSBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9Q
TEFZOgogICAgICAgICByZXR1cm4gY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCk7CiAgICAg
Y2FzZSBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9QQVVTRToKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51QWN0aW9ucy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRl
eHRNZW51QWN0aW9ucy5oCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudUFjdGlvbnMuaAkod29ya2luZyBjb3B5KQpA
QCAtNjksNiArNjksNyBAQCBHX0JFR0lOX0RFQ0xTCiAgKiBAV0VCS0lUX0NPTlRFWFRfTUVOVV9B
Q1RJT05fVE9HR0xFX01FRElBX0NPTlRST0xTOiBFbmFibGUgb3IgZGlzYWJsZSBtZWRpYSBjb250
cm9scy4KICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfTUVESUFfTE9PUDog
RW5hYmxlIG9yIGRpc2FibGUgbWVkaWEgbG9vcC4KICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FD
VElPTl9FTlRFUl9WSURFT19GVUxMU0NSRUVOOiBTaG93IGN1cnJlbnQgdmlkZW8gZWxlbWVudCBp
biBmdWxsc2NyZWVuIG1vZGUuCisgKiBAV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fRVhJVF9W
SURFT19GVUxMU0NSRUVOOiBFeGl0IGN1cnJlbnQgdmlkZW8gZWxlbWVudCBpbiBmdWxsc2NyZWVu
IG1vZGUuCiAgKiBAV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfUExBWTogUGxheSBj
dXJyZW50IG1lZGlhIGVsZW1lbnQuCiAgKiBAV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVE
SUFfUEFVU0U6IFBhdXNlIGN1cnJlbnQgbWVkaWEgZWxlbWVudC4KICAqIEBXRUJLSVRfQ09OVEVY
VF9NRU5VX0FDVElPTl9NRURJQV9NVVRFOiBNdXRlIGN1cnJlbnQgbWVkaWEgZWxlbWVudC4KQEAg
LTExOCw2ICsxMTksNyBAQCB0eXBlZGVmIGVudW0gewogICAgIFdFQktJVF9DT05URVhUX01FTlVf
QUNUSU9OX1RPR0dMRV9NRURJQV9DT05UUk9MUywKICAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FD
VElPTl9UT0dHTEVfTUVESUFfTE9PUCwKICAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9F
TlRFUl9WSURFT19GVUxMU0NSRUVOLAorICAgIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VY
SVRfVklERU9fRlVMTFNDUkVFTiwKICAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJ
QV9QTEFZLAogICAgIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BBVVNFLAogICAg
IFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX01VVEUsCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxNTEzMDEpCisrKyBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0wNi0wNiAgUnV0aCBGb25nICA8cnV0
aF9mb25nQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBmb3IgdG9nZ2xpbmcgZnVsbHNjcmVl
biBvbiA8dmlkZW8+IGVsZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMTcyMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwOgor
ICAgICAgICAqIGV3ay9ld2tfY29udGV4dG1lbnUuaDoKKyAgICAgICAgUmVuYW1lZCB0YWdzIHRv
IHJlZmxlY3QgdG9nZ2xlLWFiaWxpdHkgb2YgdmlkZW8gZnVsbHNjcmVlbi4KKwogMjAxMy0wNS0y
OCAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgRG9jdW1lbnQ6
OnNldEZvY3VzZWROb2RlKCkgc2hvdWxkIGJlIHNldEZvY3VzZWRFbGVtZW50KCkuCkluZGV4OiBT
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9Bc3NlcnRNYXRj
aGluZ0VudW1zLmNwcAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1
OSw3ICsxNTksNyBAQCBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUCiBD
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09Q
WV9NRURJQV9MSU5LX1RPX0NMSVBCT0FSRCwgQ29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlu
a1RvQ2xpcGJvYXJkKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfQ09OVFJPTFMsIENvbnRleHRNZW51SXRlbVRhZ1Rv
Z2dsZU1lZGlhQ29udHJvbHMpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9MT09QLCBDb250ZXh0TWVudUl0ZW1UYWdU
b2dnbGVNZWRpYUxvb3ApOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4sIENvbnRleHRNZW51SXRlbVRh
Z0VudGVyVmlkZW9GdWxsc2NyZWVuKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfVklERU9fRlVMTFNDUkVFTiwgQ29udGV4dE1l
bnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BBVVNFLCBDb250ZXh0
TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfTVVURSwgQ29udGV4dE1lbnVJdGVtVGFn
TWVkaWFNdXRlKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX0JBU0VfQ1VTVE9NX1RBRywgQ29udGV4dE1lbnVJdGVtQmFzZUN1c3RvbVRhZyk7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2NvbnRleHRtZW51LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jb250ZXh0bWVudS5oCShyZXZpc2lvbiAxNTEw
NTIpCisrKyBTb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2NvbnRleHRtZW51LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTExOCw3ICsxMTgsNyBAQCBlbnVtIF9Fd2tfQ29udGV4dF9NZW51X0FjdGlvbiB7
CiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX01FRElBX0xJTktfVE9fQ0xJUEJP
QVJELAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0NPTlRST0xT
LAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0xPT1AsCi0gICAg
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19FTlRFUl9WSURFT19GVUxMU0NSRUVOLAorICAgIEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU4sCiAgICAgRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BBVVNFLAogICAgIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfTUVESUFfTVVURSwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFT
RV9DVVNUT01fVEFHID0gNTAwMCwKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTMw
MSkKKysrIFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE0IEBACisyMDEzLTA2LTA2ICBSdXRoIEZvbmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgor
CisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBmdWxsc2NyZWVuIG9uIDx2aWRlbz4gZWxlbWVu
dHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzIy
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Vi
a2l0L3dlYmtpdGdsb2JhbHMuY3BwOgorICAgICAgICAqIHdlYmtpdC93ZWJraXRnbG9iYWxzLmg6
CisgICAgICAgIFJlbmFtZWQgdGFncyB0byByZWZsZWN0IHRvZ2dsZS1hYmlsaXR5IG9mIHZpZGVv
IGZ1bGxzY3JlZW4uCisKIDIwMTMtMDYtMDYgIERpZWdvIFBpbm8gR2FyY2lhICA8ZHBpbm9AaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBQYXJhbWV0ZXIgJ3JlZkNoaWxkJyBmcm9tIGZ1bmN0
aW9uICd3ZWJraXRfZG9tX25vZGVfaW5zZXJ0X2JlZm9yZScgc2hvdWxkIGJlIGFsbG93ZWQgdG8g
YmUgTlVMTApJbmRleDogU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2JhbHMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnbG9iYWxzLmNw
cAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGds
b2JhbHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NTAsOCArNDUwLDggQEAgV2ViS2l0Q29udGV4
dE1lbnVBY3Rpb24gd2Via2l0X2NvbnRleHRfbQogICAgICAgICByZXR1cm4gV0VCS0lUX0NPTlRF
WFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0NPTlRST0xTOwogICAgIGNhc2UgQ29udGV4dE1l
bnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgogICAgICAgICByZXR1cm4gV0VCS0lUX0NPTlRFWFRf
TUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0xPT1A7Ci0gICAgY2FzZSBDb250ZXh0TWVudUl0ZW1U
YWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKLSAgICAgICAgcmV0dXJuIFdFQktJVF9DT05URVhUX01F
TlVfQUNUSU9OX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU47CisgICAgY2FzZSBDb250ZXh0TWVudUl0
ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW46CisgICAgICAgIHJldHVybiBXRUJLSVRfQ09OVEVY
VF9NRU5VX0FDVElPTl9UT0dHTEVfVklERU9fRlVMTFNDUkVFTjsKICAgICBjYXNlIENvbnRleHRN
ZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlOgogICAgICAgICByZXR1cm4gV0VCS0lUX0NPTlRFWFRf
TUVOVV9BQ1RJT05fTUVESUFfUExBWV9QQVVTRTsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRh
Z01lZGlhTXV0ZToKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnbG9iYWxz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2JhbHMu
aAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGds
b2JhbHMuaAkod29ya2luZyBjb3B5KQpAQCAtOTIsNyArOTIsNyBAQCB0eXBlZGVmIGVudW0gewog
ICogQFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0NPUFlfTUVESUFfTElOS19UT19DTElQQk9B
UkQ6IENvcHkgbWVkaWEgbGluayBsb2NhdGlvbiBpbiB0byB0aGUgY2xpcGJvYXJkLgogICogQFdF
QktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJQV9DT05UUk9MUzogRW5hYmxlIG9y
IGRpc2FibGUgbWVkaWEgY29udHJvbHMuCiAgKiBAV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05f
VE9HR0xFX01FRElBX0xPT1A6IEVuYWJsZSBvciBkaXNhYmxlIG1lZGlhIGxvb3AuCi0gKiBAV0VC
S0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fRU5URVJfVklERU9fRlVMTFNDUkVFTjogU2hvdyBjdXJy
ZW50IHZpZGVvIGVsZW1lbnQgaW4gZnVsbHNjcmVlbiBtb2RlLgorICogQFdFQktJVF9DT05URVhU
X01FTlVfQUNUSU9OX1RPR0dMRV9WSURFT19GVUxMU0NSRUVOOiBTaG93IGN1cnJlbnQgdmlkZW8g
ZWxlbWVudCBpbiBmdWxsc2NyZWVuIG1vZGUuCiAgKiBAV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJ
T05fTUVESUFfUExBWV9QQVVTRTogUGxheSBvciBwYXVzZSBjdXJyZW50IG1lZGlhIGVsZW1lbnQu
CiAgKiBAV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfTVVURTogTXV0ZSBjdXJyZW50
IG1lZGlhIGVsZW1lbnQuCiAgKgpAQCAtMTM3LDcgKzEzNyw3IEBAIHR5cGVkZWYgZW51bSB7CiAg
ICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fQ09QWV9NRURJQV9MSU5LX1RPX0NMSVBCT0FS
RCwKICAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfTUVESUFfQ09OVFJPTFMs
CiAgICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0xPT1AsCi0gICAg
V0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fRU5URVJfVklERU9fRlVMTFNDUkVFTiwKKyAgICBX
RUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfVklERU9fRlVMTFNDUkVFTiwKICAgICBX
RUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9QTEFZX1BBVVNFLAogICAgIFdFQktJVF9D
T05URVhUX01FTlVfQUNUSU9OX01FRElBX01VVEUKIH0gV2ViS2l0Q29udGV4dE1lbnVBY3Rpb247
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203983</attachid>
            <date>2013-06-06 17:53:18 -0700</date>
            <delta_ts>2013-06-06 18:35:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117220-20130606175148.patch</filename>
            <type>text/plain</type>
            <size>27680</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTMwMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA2LTA2ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBm
dWxsc2NyZWVuIG9uIDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICog
RW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOiBBZGQgIkV4aXQgRnVsbHNjcmVlbiIg
c3RyaW5nLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUpOiBBZGRlZCB0
byBhcHByb3ByaWF0ZWx5IGVudGVyL2V4aXQgZnVsbHNjcmVlbi4KKyAgICAgICAgKiBodG1sL0hU
TUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5j
cHA6IFVwZGF0ZWQgdG8gMSkgaG9vayBpbnRvIEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZUZ1bGxzY3Jl
ZW5TdGF0ZSgpLgorICAgICAgICAqIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL0xv
Y2FsaXplZFN0cmluZ3MuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L0xvY2FsaXpl
ZFN0cmluZ3NCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvTG9jYWxpemVk
U3RyaW5nc0VmbC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0NvbnRleHRNZW51SXRlbUd0
ay5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsuY3BwOgor
ICAgICAgICAqIHBsYXRmb3JtL3F0L0xvY2FsaXplZFN0cmluZ3NRdC5jcHA6CisgICAgICAgIFVw
ZGF0ZWQgdG8gcmVuYW1lIHZhcmlhYmxlcyBtb3JlIGFwcHJvcHJpYXRlbHkgdG8gcmVmbGVjdCB0
b2dnbGUtYWJpbGl0eSBvZiB2aWRlbyBmdWxsc2NyZWVuLgorICAgICAgICAqIHJlbmRlcmluZy9I
aXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oOgor
ICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6bWVkaWFJc0luRnVsbHNjcmVlbik6IEFk
ZGVkIHRvIGNoZWNrIGlmCisgICAgICAgIGVsZW1lbnQgaXMgYSBtZWRpYSBlbGVtZW50IGluIGZ1
bGxzY3JlZW4uCisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0Ojp0b2dnbGVNZWRpYUZ1
bGxzY3JlZW5TdGF0ZSk6IEFkZGVkIHRvIGhvb2sgaW50byAKKyAgICAgICAgSFRNTE1lZGlhRWxl
bWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRlLgorCiAyMDEzLTA2LTAzICBKZXIgTm9ibGUgIDxq
ZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFVwc3RyZWFtIGlPUyBXZWJBdWRpbyBiZWhh
dmlvciByZXN0cmljdGlvbnMuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL0xv
Y2FsaXphYmxlLnN0cmluZ3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRW5nbGlzaC5s
cHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9FbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MJKHdvcmtpbmcgY29weSkKQEAg
LTE3NSw2ICsxNzUsOSBAQAogAC8AKgAgAFYAaQBkAGUAbwAgAEUAbgB0AGUAcgAgAEYAdQBsAGwA
cwBjAHIAZQBlAG4AIABjAG8AbgB0AGUAeAB0ACAAbQBlAG4AdQAgAGkAdABlAG0AIAAqAC8ACiAA
IgBFAG4AdABlAHIAIABGAHUAbABsAHMAYwByAGUAZQBuACIAIAA9ACAAIgBFAG4AdABlAHIAIABG
AHUAbABsAHMAYwByAGUAZQBuACIAOwAKIAAKKwAvACoAIABWAGkAZABlAG8AIABFAHgAaQB0ACAA
RgB1AGwAbABzAGMAcgBlAGUAbgAgAGMAbwBuAHQAZQB4AHQAIABtAGUAbgB1ACAAaQB0AGUAbQAg
ACoALwAKKwAiAEUAeABpAHQAIABGAHUAbABsAHMAYwByAGUAZQBuACIAIAA9ACAAIgBFAHgAaQB0
ACAARgB1AGwAbABzAGMAcgBlAGUAbgAiADsACisACiAALwAqACAARABlAGYAYQB1AGwAdAAgAGEA
cABwAGwAaQBjAGEAdABpAG8AbgAgAG4AYQBtAGUAIABmAG8AcgAgAE8AcABlAG4AIABXAGkAdABo
ACAAYwBvAG4AdABlAHgAdAAgAG0AZQBuAHUAIAAqAC8ACiAAIgBGAGkAbgBkAGUAcgAiACAAPQAg
ACIARgBpAG4AZABlAHIAIgA7AAogAApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzYyLDYgKzQzNjIsMTYgQEAg
Ym9vbCBIVE1MTWVkaWFFbGVtZW50Ojppc0Z1bGxzY3JlZW4oKSBjbwogICAgIHJldHVybiBmYWxz
ZTsKIH0KIAordm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUoKQor
eworICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZUZ1bGxzY3JlZW5TdGF0
ZSAtIGlzRnVsbHNjcmVlbigpIGlzICVzIiwgYm9vbFN0cmluZyhpc0Z1bGxzY3JlZW4oKSkpOwor
ICAgIAorICAgIGlmIChpc0Z1bGxzY3JlZW4oKSkKKyAgICAgICAgZXhpdEZ1bGxzY3JlZW4oKTsK
KyAgICBlbHNlCisgICAgICAgIGVudGVyRnVsbHNjcmVlbigpOworfQorCiB2b2lkIEhUTUxNZWRp
YUVsZW1lbnQ6OmVudGVyRnVsbHNjcmVlbigpCiB7CiAgICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlh
RWxlbWVudDo6ZW50ZXJGdWxsc2NyZWVuIik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxNZWRpYUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzNiw2ICszMzYsNyBAQCBwdWJs
aWM6CiAKICAgICBib29sIGhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCkgY29uc3QgeyByZXR1cm4g
IW1fcGxheWVyIHx8IG1fcGxheWVyLT5oYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpOyB9CiAgICAg
CisgICAgdm9pZCB0b2dnbGVGdWxsc2NyZWVuU3RhdGUoKTsKICAgICBib29sIGlzRnVsbHNjcmVl
bigpIGNvbnN0OwogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVuKCk7CiAgICAgdm9pZCBleGl0RnVs
bHNjcmVlbigpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xs
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250
cm9sbGVyLmNwcAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZXh0TWVudUNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjMsOCArMjYzLDggQEAg
dm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNvbnRleHRNZW51SQogICAgIGNhc2UgQ29udGV4
dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgogICAgICAgICBtX2hpdFRlc3RSZXN1bHQudG9n
Z2xlTWVkaWFMb29wUGxheWJhY2soKTsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDb250ZXh0
TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKLSAgICAgICAgbV9oaXRUZXN0UmVzdWx0
LmVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCk7CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdU
b2dnbGVWaWRlb0Z1bGxzY3JlZW46CisgICAgICAgIG1faGl0VGVzdFJlc3VsdC50b2dnbGVNZWRp
YUZ1bGxzY3JlZW5TdGF0ZSgpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIENvbnRleHRNZW51
SXRlbVRhZ01lZGlhUGxheVBhdXNlOgogICAgICAgICBtX2hpdFRlc3RSZXN1bHQudG9nZ2xlTWVk
aWFQbGF5U3RhdGUoKTsKQEAgLTc2Miw3ICs3NjIsNyBAQCB2b2lkIENvbnRleHRNZW51Q29udHJv
bGxlcjo6cG9wdWxhdGUoKQogICAgICAgICBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNv
bnRyb2xzKCkpOwogICAgIENvbnRleHRNZW51SXRlbSBUb2dnbGVNZWRpYUxvb3AoQ2hlY2thYmxl
QWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wLCAKICAgICAgICAg
Y29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wKCkpOwotICAgIENvbnRleHRNZW51SXRl
bSBFbnRlclZpZGVvRnVsbHNjcmVlbihBY3Rpb25UeXBlLCBDb250ZXh0TWVudUl0ZW1UYWdFbnRl
clZpZGVvRnVsbHNjcmVlbiwgCisgICAgQ29udGV4dE1lbnVJdGVtIEVudGVyVmlkZW9GdWxsc2Ny
ZWVuKEFjdGlvblR5cGUsIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbiwK
ICAgICAgICAgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4oKSk7CiAjaWYg
UExBVEZPUk0oTUFDKQogICAgIENvbnRleHRNZW51SXRlbSBTZWFyY2hTcG90bGlnaHRJdGVtKEFj
dGlvblR5cGUsIENvbnRleHRNZW51SXRlbVRhZ1NlYXJjaEluU3BvdGxpZ2h0LCAKQEAgLTEzNDIs
OCArMTM0MiwxMiBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6Y2hlY2tPckVuYWJsCiAg
ICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgogICAgICAgICAg
ICAgc2hvdWxkQ2hlY2sgPSBtX2hpdFRlc3RSZXN1bHQubWVkaWFMb29wRW5hYmxlZCgpOwogICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRl
b0Z1bGxzY3JlZW46CisgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9G
dWxsc2NyZWVuOgogICAgICAgICAgICAgc2hvdWxkRW5hYmxlID0gbV9oaXRUZXN0UmVzdWx0Lm1l
ZGlhU3VwcG9ydHNGdWxsc2NyZWVuKCk7CisgICAgICAgICAgICBpZiAoIW1faGl0VGVzdFJlc3Vs
dC5tZWRpYUlzSW5GdWxsc2NyZWVuKCkpCisgICAgICAgICAgICAgICAgaXRlbS5zZXRUaXRsZShj
b250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpKTsKKyAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICBpdGVtLnNldFRpdGxlKGNvbnRleHRNZW51SXRlbVRhZ0V4aXRW
aWRlb0Z1bGxzY3JlZW4oKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdPcGVuRnJhbWVJbk5ld1dpbmRvdzoKICAgICAgICAgY2FzZSBDb250ZXh0
TWVudUl0ZW1UYWdTcGVsbGluZ0d1ZXNzOgpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q29udGV4dE1lbnVJdGVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Q29udGV4dE1lbnVJdGVtLmgJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTYsNyArMTU2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVk
aWFMaW5rVG9DbGlwYm9hcmQsCiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlh
Q29udHJvbHMsCiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCwKLSAg
ICAgICAgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4sCisgICAgICAgIENv
bnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbiwKICAgICAgICAgQ29udGV4dE1l
bnVJdGVtVGFnTWVkaWFQbGF5UGF1c2UsCiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ01lZGlh
TXV0ZSwKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnRGljdGF0aW9uQWx0ZXJuYXRpdmUsCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAkocmV2
aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5n
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5NCw2ICs0OTQsMTEgQEAgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxscwogICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJFbnRl
ciBGdWxsc2NyZWVuIiwgIlZpZGVvIEVudGVyIEZ1bGxzY3JlZW4gY29udGV4dCBtZW51IGl0ZW0i
KTsKIH0KIAorU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKQor
eworICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJFeGl0IEZ1bGxzY3JlZW4iLCAiVmlkZW8gRXhp
dCBGdWxsc2NyZWVuIGNvbnRleHQgbWVudSBpdGVtIik7Cit9CisKIFN0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdNZWRpYVBsYXkoKQogewogICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJQbGF5Iiwg
Ik1lZGlhIFBsYXkgY29udGV4dCBtZW51IGl0ZW0iKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTM3
LDYgKzEzNyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJ
dGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scygpOwogICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVNZWRpYUxvb3AoKTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJW
aWRlb0Z1bGxzY3JlZW4oKTsKKyAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRXhpdFZpZGVv
RnVsbHNjcmVlbigpOwogICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXkoKTsK
ICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQYXVzZSgpOwogICAgIFN0cmluZyBj
b250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2JsYWNrYmVycnkvTG9jYWxpemVkU3RyaW5nc0JsYWNrQmVycnkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvTG9jYWxpemVkU3RyaW5nc0Js
YWNrQmVycnkuY3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ibGFja2JlcnJ5L0xvY2FsaXplZFN0cmluZ3NCbGFja0JlcnJ5LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjg2LDcgKzI4NiwxMiBAQCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVk
aWFMb29wCiAKIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigp
CiB7Ci0gICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoc19yZXNvdXJjZS5nZXRTdHJpbmcoQmxh
Y2tCZXJyeTo6UGxhdGZvcm06OkNPTlRFWFRfVklERU9fRlVMTFNDUkVFTikpOworICAgIHJldHVy
biBTdHJpbmc6OmZyb21VVEY4KHNfcmVzb3VyY2UuZ2V0U3RyaW5nKEJsYWNrQmVycnk6OlBsYXRm
b3JtOjpDT05URVhUX1ZJREVPX0ZVTExTQ1JFRU5fRU5URVIpKTsKK30KKworU3RyaW5nIGNvbnRl
eHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKQoreworICAgIHJldHVybiBTdHJpbmc6
OmZyb21VVEY4KHNfcmVzb3VyY2UuZ2V0U3RyaW5nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDT05U
RVhUX1ZJREVPX0ZVTExTQ1JFRU5fRVhJVCkpOwogfQogCiBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnTWVkaWFQbGF5KCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2VmbC9Mb2NhbGl6
ZWRTdHJpbmdzRWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9l
ZmwvTG9jYWxpemVkU3RyaW5nc0VmbC5jcHAJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2VmbC9Mb2NhbGl6ZWRTdHJpbmdzRWZsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTUzLDYgKzE1MywxMSBAQCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRl
b0Z1bGxzCiAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoIlN3aXRjaCBWaWRlbyB0byBGdWxs
c2NyZWVuIik7CiB9CiAKK1N0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFeGl0VmlkZW9GdWxsc2Ny
ZWVuKCkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOCgiU3dpdGNoIFZpZGVvIGZyb20g
RnVsbHNjcmVlbiIpOworfQorCiBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkK
IHsKICAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOCgiUGxheSIpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3RrL0NvbnRleHRNZW51SXRlbUd0ay5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0NvbnRleHRNZW51SXRlbUd0ay5jcHAJKHJldmlz
aW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Db250ZXh0TWVudUl0
ZW1HdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNyArMTEyLDcgQEAgc3RhdGljIGNvbnN0
IGNoYXIqIGd0a1N0b2NrSURGcm9tQ29udGV4dAogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFn
Q29weUltYWdlVXJsVG9DbGlwYm9hcmQ6CiAgICAgICAgIC8vIE5vIGljb24gZm9yIHRoaXMuCiAg
ICAgICAgIHJldHVybiAwOwotICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1
bGxzY3JlZW46CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3Jl
ZW46CiAgICAgICAgIHJldHVybiBHVEtfU1RPQ0tfRlVMTFNDUkVFTjsKICAgICBkZWZhdWx0Ogog
ICAgICAgICByZXR1cm4gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2Nh
bGl6ZWRTdHJpbmdzR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Mb2NhbGl6ZWRTdHJpbmdzR3RrLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTY2LDYgKzE2NiwxMSBAQCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJW
aWRlb0Z1bGxzCiAgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygiU3dpdGNoIFZpZGVvIHRv
IF9GdWxsc2NyZWVuIikpOwogfQogCitTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRXhpdFZpZGVv
RnVsbHNjcmVlbigpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJvbVVURjgoXygiU3dpdGNoIFZp
ZGVvIGZyb20gX0Z1bGxzY3JlZW4iKSk7Cit9CisKIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdN
ZWRpYVBsYXkoKQogewogICAgIHJldHVybiBTdHJpbmc6OmZyb21VVEY4KF8oIl9QbGF5IikpOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvTG9jYWxpemVkU3RyaW5nc1F0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9Mb2NhbGl6ZWRTdHJpbmdz
UXQuY3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9M
b2NhbGl6ZWRTdHJpbmdzUXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsNiArMTU4LDExIEBA
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHMKICAgICByZXR1cm4gUUNv
cmVBcHBsaWNhdGlvbjo6dHJhbnNsYXRlKCJRV2ViUGFnZSIsICJFbnRlciBGdWxsc2NyZWVuIiwg
IlN3aXRjaCBWaWRlbyB0byBGdWxsc2NyZWVuIik7CiB9CiAKK1N0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdFeGl0VmlkZW9GdWxsc2NyZWVuKCkKK3sKKyAgICByZXR1cm4gUUNvcmVBcHBsaWNhdGlv
bjo6dHJhbnNsYXRlKCJRV2ViUGFnZSIsICJFeGl0IEZ1bGxzY3JlZW4iLCAiU3dpdGNoIFZpZGVv
IGZyb20gRnVsbHNjcmVlbiIpOworfQorCiBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQ
bGF5KCkKIHsKICAgICByZXR1cm4gUUNvcmVBcHBsaWNhdGlvbjo6dHJhbnNsYXRlKCJRV2ViUGFn
ZSIsICJQbGF5IiwgIlBsYXkiKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRU
ZXN0UmVzdWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0
VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9IaXRUZXN0UmVzdWx0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzk5LDYgKzM5OSwzMCBA
QCB2b2lkIEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZU1lZGlhTG9vcFBsYXliCiAjZW5kaWYKIH0KIAor
Ym9vbCBIaXRUZXN0UmVzdWx0OjptZWRpYUlzSW5GdWxsc2NyZWVuKCkgY29uc3QKK3sKKyNpZiBF
TkFCTEUoVklERU8pCisgICAgSFRNTE1lZGlhRWxlbWVudCogZWxlbWVudCA9IG1lZGlhRWxlbWVu
dCgpOworICAgIGlmIChlbGVtZW50ICYmIGVsZW1lbnQtPmlzVmlkZW8oKSkKKyAgICAgICAgcmV0
dXJuIGVsZW1lbnQtPmlzRnVsbHNjcmVlbigpOworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCit2b2lkIEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZU1lZGlhRnVsbHNjcmVlblN0YXRlKCkgY29u
c3QKK3sKKyNpZiBFTkFCTEUoVklERU8pCisgICAgSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVt
ZW50ID0gdGhpcy0+bWVkaWFFbGVtZW50KCk7CisgICAgaWYgKG1lZGlhRWxlbWVudCAmJiBtZWRp
YUVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp2aWRlb1RhZykpIHsKKyAgICAgICAgSFRN
TFZpZGVvRWxlbWVudCogdmlkZW9FbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTFZpZGVvRWxlbWVu
dCo+KG1lZGlhRWxlbWVudCk7CisgICAgICAgIGlmIChtZWRpYUVsZW1lbnQtPnN1cHBvcnRzRnVs
bHNjcmVlbigpKSB7CisgICAgICAgICAgICBVc2VyR2VzdHVyZUluZGljYXRvciBpbmRpY2F0b3Io
RGVmaW5pdGVseVByb2Nlc3NpbmdOZXdVc2VyR2VzdHVyZSk7CisgICAgICAgICAgICB2aWRlb0Vs
ZW1lbnQtPnRvZ2dsZUZ1bGxzY3JlZW5TdGF0ZSgpOworICAgICAgICB9CisgICAgfQorI2VuZGlm
Cit9CisKIHZvaWQgSGl0VGVzdFJlc3VsdDo6ZW50ZXJGdWxsc2NyZWVuRm9yVmlkZW8oKSBjb25z
dAogewogI2lmIEVOQUJMRShWSURFTykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9I
aXRUZXN0UmVzdWx0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hp
dFRlc3RSZXN1bHQuaAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0hpdFRlc3RSZXN1bHQuaAkod29ya2luZyBjb3B5KQpAQCAtMTEyLDYgKzExMiw4IEBAIHB1
YmxpYzoKICAgICBib29sIGlzQ29udGVudEVkaXRhYmxlKCkgY29uc3Q7CiAgICAgdm9pZCB0b2dn
bGVNZWRpYUNvbnRyb2xzRGlzcGxheSgpIGNvbnN0OwogICAgIHZvaWQgdG9nZ2xlTWVkaWFMb29w
UGxheWJhY2soKSBjb25zdDsKKyAgICBib29sIG1lZGlhSXNJbkZ1bGxzY3JlZW4oKSBjb25zdDsK
KyAgICB2b2lkIHRvZ2dsZU1lZGlhRnVsbHNjcmVlblN0YXRlKCkgY29uc3Q7CiAgICAgdm9pZCBl
bnRlckZ1bGxzY3JlZW5Gb3JWaWRlbygpIGNvbnN0OwogICAgIGJvb2wgbWVkaWFDb250cm9sc0Vu
YWJsZWQoKSBjb25zdDsKICAgICBib29sIG1lZGlhTG9vcEVuYWJsZWQoKSBjb25zdDsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE1MTMwMSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDEzLTA2LTA2ICBSdXRoIEZvbmcgIDxy
dXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBmdWxsc2Ny
ZWVuIG9uIDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMuaDoK
KyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0Lmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHA6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRDb250ZXh0TWVudUFjdGlvbnMuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdENvbnRleHRNZW51QWN0aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ3RrL3Rlc3RzL1Rlc3RDb250ZXh0TWVudS5jcHA6CisgICAgICAgIFJlbmFtZWQgdGFncyBm
b3IgdG9nZ2xpbmcgdmlkZW8gZnVsbHNjcmVlbi4KKwogMjAxMy0wNi0wNiAgUmFmYWVsIEJyYW5k
YW8gIDxyYWZhZWwubG9ib0BvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFtHdGtdIENvbm5lY3Rp
b24gaXMgbGVha2luZyB3aGVuIFdlYlByb2Nlc3MgaXMgdGVybWluYXRlZApJbmRleDogU291cmNl
L1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5o
CShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250
ZXh0TWVudUl0ZW1UeXBlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTAsNyArMTEwLDcgQEAgZW51
bSB7CiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1RvQ2xpcGJvYXJkLAog
ICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMsCiAgICAga1dLQ29u
dGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wLAotICAgIGtXS0NvbnRleHRNZW51SXRlbVRh
Z0VudGVyVmlkZW9GdWxsc2NyZWVuLAorICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZp
ZGVvRnVsbHNjcmVlbiwKICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZSwK
ICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUsCiAgICAga1dLQ29udGV4dE1lbnVJ
dGVtVGFnRGljdGF0aW9uQWx0ZXJuYXRpdmUsCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvV0tTaGFyZWRBUElDYXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ2OCw4ICs0NjgsOCBAQCBpbmxpbmUgV0tDb250ZXh0TWVudUl0ZW1UYWcgdG9BUEkoV2ViQ29y
CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xz
OwogICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgog
ICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOwotICAg
IGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW46Ci0g
ICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjsK
KyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVl
bjoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNj
cmVlbjsKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNl
OgogICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U7CiAg
ICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGU6CkBAIC02NTgsOCAr
NjU4LDggQEAgaW5saW5lIFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uIHRvSW1wbAogICAgICAg
ICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9sczsK
ICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDsKLSAgICBj
YXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgotICAgICAgICBy
ZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW47Cisg
ICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW46CisgICAg
ICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3Jl
ZW47CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZToKICAgICAg
ICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlOwogICAg
IGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlOgpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudS5jcHAJKHJl
dmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19j
b250ZXh0X21lbnUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDEsOCArMzAxLDggQEAgc3RhdGlj
IFdLQ29udGV4dE1lbnVJdGVtVGFnIGdldFdLVGFnRnJvbQogICAgICAgICByZXR1cm4ga1dLQ29u
dGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9sczsKICAgICBjYXNlIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0xPT1A6CiAgICAgICAgIHJldHVybiBrV0tDb250
ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A7Ci0gICAgY2FzZSBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU46Ci0gICAgICAgIHJldHVybiBrV0tDb250
ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjsKKyAgICBjYXNlIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfVE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU46CisgICAgICAgIHJldHVybiBr
V0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW47CiAgICAgY2FzZSBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0U6CiAgICAgICAgIHJldHVybiBr
V0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZTsKICAgICBjYXNlIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfTUVESUFfTVVURToKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmNwcAkocmV2
aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2Nv
bnRleHRfbWVudV9pdGVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzA2LDggKzMwNiw4IEBAIHN0
YXRpYyBFd2tfQ29udGV4dF9NZW51X0l0ZW1fQWN0aW9uIGdldEUKICAgICAgICAgcmV0dXJuIEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0NPTlRST0xTOwogICAgIGNhc2Ug
a1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgogICAgICAgICByZXR1cm4gRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfTE9PUDsKLSAgICBjYXNlIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgotICAgICAgICByZXR1cm4gRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19FTlRFUl9WSURFT19GVUxMU0NSRUVOOworICAgIGNhc2Ug
a1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICByZXR1
cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfVklERU9fRlVMTFNDUkVFTjsKICAg
ICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlOgogICAgICAgICByZXR1
cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BBVVNFOwogICAgIGNhc2Ug
a1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlOgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9pdGVtLmgJKHJl
dmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19j
b250ZXh0X21lbnVfaXRlbS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsNyArMTIzLDcgQEAgdHlw
ZWRlZiBlbnVtIHsKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfTUVESUFfTElO
S19UT19DTElQQk9BUkQsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVE
SUFfQ09OVFJPTFMsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFf
TE9PUCwKLSAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JF
RU4sCisgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfVklERU9fRlVMTFNDUkVF
TiwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0UsCiAgICAg
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9NVVRFLAogICAgIEVXS19DT05URVhUX01F
TlVfSVRFTV9CQVNFX0FQUExJQ0FUSU9OX1RBRyA9IDEwMDAwCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudUFjdGlvbnMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51
QWN0aW9ucy5jcHAJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51QWN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTExNiw4ICsxMTYsOSBAQCBDb250ZXh0TWVudUFjdGlvbiB3ZWJraXRDb250ZXh0TWVudUFjdGlv
CiAgICAgICAgIHJldHVybiBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzOwog
ICAgIGNhc2UgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0xPT1A6CiAg
ICAgICAgIHJldHVybiBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A7CisgICAgY2Fz
ZSBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FWElUX1ZJREVPX0ZVTExTQ1JFRU46CiAgICAg
Y2FzZSBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FTlRFUl9WSURFT19GVUxMU0NSRUVOOgot
ICAgICAgICByZXR1cm4gQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW47Cisg
ICAgICAgIHJldHVybiBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW47CiAg
ICAgY2FzZSBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9QTEFZOgogICAgIGNhc2Ug
V0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfUEFVU0U6CiAgICAgICAgIHJldHVybiBD
b250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZTsKQEAgLTIwNyw4ICsyMDgsOSBAQCBXZWJL
aXRDb250ZXh0TWVudUFjdGlvbiB3ZWJraXRDb250ZXh0TWVuCiAgICAgICAgIHJldHVybiBXRUJL
SVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfTUVESUFfQ09OVFJPTFM7CiAgICAgY2FzZSBD
b250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A6CiAgICAgICAgIHJldHVybiBXRUJLSVRf
Q09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfTUVESUFfTE9PUDsKLSAgICBjYXNlIENvbnRleHRN
ZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgotICAgICAgICByZXR1cm4gV0VCS0lUX0NP
TlRFWFRfTUVOVV9BQ1RJT05fRU5URVJfVklERU9fRlVMTFNDUkVFTjsKKyAgICBjYXNlIENvbnRl
eHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjoKKyAgICAgICAgcmV0dXJuIG1lbnVJ
dGVtLT50aXRsZSgpID09IGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCkg
PyAKKyAgICAgICAgICAgIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VOVEVSX1ZJREVPX0ZV
TExTQ1JFRU4gOiBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FWElUX1ZJREVPX0ZVTExTQ1JF
RU47CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZToKICAgICAgICAg
cmV0dXJuIG1lbnVJdGVtLT50aXRsZSgpID09IGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheSgp
ID8KICAgICAgICAgICAgIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BMQVkgOiBX
RUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9QQVVTRTsKQEAgLTMwMCw2ICszMDIsOCBA
QCBTdHJpbmcgd2Via2l0Q29udGV4dE1lbnVBY3Rpb25HZXRMYWJlbChXCiAgICAgICAgIHJldHVy
biBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AoKTsKICAgICBjYXNlIFdFQktJVF9D
T05URVhUX01FTlVfQUNUSU9OX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU46CiAgICAgICAgIHJldHVy
biBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpOworICAgIGNhc2UgV0VC
S0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fRVhJVF9WSURFT19GVUxMU0NSRUVOOgorICAgICAgICBy
ZXR1cm4gY29udGV4dE1lbnVJdGVtVGFnRXhpdFZpZGVvRnVsbHNjcmVlbigpOwogICAgIGNhc2Ug
V0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfUExBWToKICAgICAgICAgcmV0dXJuIGNv
bnRleHRNZW51SXRlbVRhZ01lZGlhUGxheSgpOwogICAgIGNhc2UgV0VCS0lUX0NPTlRFWFRfTUVO
VV9BQ1RJT05fTUVESUFfUEFVU0U6CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRDb250ZXh0TWVudUFjdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudUFjdGlvbnMuaAkocmV2aXNp
b24gMTUxMDUyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29u
dGV4dE1lbnVBY3Rpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDYgKzY5LDcgQEAgR19CRUdJ
Tl9ERUNMUwogICogQFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJQV9DT05U
Uk9MUzogRW5hYmxlIG9yIGRpc2FibGUgbWVkaWEgY29udHJvbHMuCiAgKiBAV0VCS0lUX0NPTlRF
WFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0xPT1A6IEVuYWJsZSBvciBkaXNhYmxlIG1lZGlh
IGxvb3AuCiAgKiBAV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fRU5URVJfVklERU9fRlVMTFND
UkVFTjogU2hvdyBjdXJyZW50IHZpZGVvIGVsZW1lbnQgaW4gZnVsbHNjcmVlbiBtb2RlLgorICog
QFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VYSVRfVklERU9fRlVMTFNDUkVFTjogRXhpdCBj
dXJyZW50IHZpZGVvIGVsZW1lbnQgaW4gZnVsbHNjcmVlbiBtb2RlLgogICogQFdFQktJVF9DT05U
RVhUX01FTlVfQUNUSU9OX01FRElBX1BMQVk6IFBsYXkgY3VycmVudCBtZWRpYSBlbGVtZW50Lgog
ICogQFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BBVVNFOiBQYXVzZSBjdXJyZW50
IG1lZGlhIGVsZW1lbnQuCiAgKiBAV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfTVVU
RTogTXV0ZSBjdXJyZW50IG1lZGlhIGVsZW1lbnQuCkBAIC0xMTgsNiArMTE5LDcgQEAgdHlwZWRl
ZiBlbnVtIHsKICAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfTUVESUFfQ09O
VFJPTFMsCiAgICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0xPT1As
CiAgICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fRU5URVJfVklERU9fRlVMTFNDUkVFTiwK
KyAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FWElUX1ZJREVPX0ZVTExTQ1JFRU4sCiAg
ICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfUExBWSwKICAgICBXRUJLSVRfQ09O
VEVYVF9NRU5VX0FDVElPTl9NRURJQV9QQVVTRSwKICAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FD
VElPTl9NRURJQV9NVVRFLApJbmRleDogU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxMzAxKQor
KysgU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTMtMDYtMDYgIFJ1dGggRm9uZyAgPHJ1dGhfZm9uZ0BhcHBsZS5jb20+CisKKyAg
ICAgICAgQWxsb3cgZm9yIHRvZ2dsaW5nIGZ1bGxzY3JlZW4gb24gPHZpZGVvPiBlbGVtZW50cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MjIwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBld2svZXdrX2NvbnRl
eHRtZW51Lmg6CisgICAgICAgIFJlbmFtZWQgdGFncyB0byByZWZsZWN0IHRvZ2dsZS1hYmlsaXR5
IG9mIHZpZGVvIGZ1bGxzY3JlZW4uCisKIDIwMTMtMDUtMjggIEFuZHJlYXMgS2xpbmcgIDxha2xp
bmdAYXBwbGUuY29tPgogCiAgICAgICAgIERvY3VtZW50OjpzZXRGb2N1c2VkTm9kZSgpIHNob3Vs
ZCBiZSBzZXRGb2N1c2VkRWxlbWVudCgpLgpJbmRleDogU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAJKHJldmlzaW9u
IDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNo
aW5nRW51bXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTksNyArMTU5LDcgQEAgQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVAogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfTUVESUFfTElOS19UT19DTElQQk9B
UkQsIENvbnRleHRNZW51SXRlbVRhZ0NvcHlNZWRpYUxpbmtUb0NsaXBib2FyZCk7CiBDT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX01F
RElBX0NPTlRST0xTLCBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzKTsKIENP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dH
TEVfTUVESUFfTE9PUCwgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wKTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19FTlRFUl9W
SURFT19GVUxMU0NSRUVOLCBDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbik7
CitDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
VE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU4sIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVs
bHNjcmVlbik7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfTUVESUFfUExBWV9QQVVTRSwgQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1
c2UpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX01FRElBX01VVEUsIENvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZSk7CiBDT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9CQVNFX0NVU1RPTV9UQUcs
IENvbnRleHRNZW51SXRlbUJhc2VDdXN0b21UYWcpOwpJbmRleDogU291cmNlL1dlYktpdC9lZmwv
ZXdrL2V3a19jb250ZXh0bWVudS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfY29udGV4dG1lbnUuaAkocmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19jb250ZXh0bWVudS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTgsNyArMTE4LDcg
QEAgZW51bSBfRXdrX0NvbnRleHRfTWVudV9BY3Rpb24gewogICAgIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfQ09QWV9NRURJQV9MSU5LX1RPX0NMSVBCT0FSRCwKICAgICBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9DT05UUk9MUywKICAgICBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1RPR0dMRV9NRURJQV9MT09QLAotICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfRU5URVJfVklERU9fRlVMTFNDUkVFTiwKKyAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1RPR0dMRV9WSURFT19GVUxMU0NSRUVOLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
TUVESUFfUExBWV9QQVVTRSwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX01V
VEUsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQ1VTVE9NX1RBRyA9IDUwMDAsCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9ndGsvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTEzMDEpCisrKyBTb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0wNi0wNiAg
UnV0aCBGb25nICA8cnV0aF9mb25nQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyBmb3IgdG9n
Z2xpbmcgZnVsbHNjcmVlbiBvbiA8dmlkZW8+IGVsZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcyMjAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYmtpdC93ZWJraXRnbG9iYWxzLmNwcDoK
KyAgICAgICAgKiB3ZWJraXQvd2Via2l0Z2xvYmFscy5oOgorICAgICAgICBSZW5hbWVkIHRhZ3Mg
dG8gcmVmbGVjdCB0b2dnbGUtYWJpbGl0eSBvZiB2aWRlbyBmdWxsc2NyZWVuLgorCiAyMDEzLTA2
LTA2ICBEaWVnbyBQaW5vIEdhcmNpYSAgPGRwaW5vQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dU
S10gUGFyYW1ldGVyICdyZWZDaGlsZCcgZnJvbSBmdW5jdGlvbiAnd2Via2l0X2RvbV9ub2RlX2lu
c2VydF9iZWZvcmUnIHNob3VsZCBiZSBhbGxvd2VkIHRvIGJlIE5VTEwKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnbG9iYWxzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5jcHAJKHJldmlzaW9uIDE1MTA1MikKKysr
IFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnbG9iYWxzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDUwLDggKzQ1MCw4IEBAIFdlYktpdENvbnRleHRNZW51QWN0aW9uIHdlYmtpdF9jb250
ZXh0X20KICAgICAgICAgcmV0dXJuIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9N
RURJQV9DT05UUk9MUzsKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9v
cDoKICAgICAgICAgcmV0dXJuIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJ
QV9MT09QOwotICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW46
Ci0gICAgICAgIHJldHVybiBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FTlRFUl9WSURFT19G
VUxMU0NSRUVOOworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2Ny
ZWVuOgorICAgICAgICByZXR1cm4gV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX1ZJ
REVPX0ZVTExTQ1JFRU47CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVz
ZToKICAgICAgICAgcmV0dXJuIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BMQVlf
UEFVU0U7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGU6CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnbG9iYWxzLmgJKHJldmlzaW9uIDE1MTA1MikKKysr
IFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRnbG9iYWxzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTkyLDcgKzkyLDcgQEAgdHlwZWRlZiBlbnVtIHsKICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5V
X0FDVElPTl9DT1BZX01FRElBX0xJTktfVE9fQ0xJUEJPQVJEOiBDb3B5IG1lZGlhIGxpbmsgbG9j
YXRpb24gaW4gdG8gdGhlIGNsaXBib2FyZC4KICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElP
Tl9UT0dHTEVfTUVESUFfQ09OVFJPTFM6IEVuYWJsZSBvciBkaXNhYmxlIG1lZGlhIGNvbnRyb2xz
LgogICogQFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJQV9MT09QOiBFbmFi
bGUgb3IgZGlzYWJsZSBtZWRpYSBsb29wLgotICogQFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9O
X0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU46IFNob3cgY3VycmVudCB2aWRlbyBlbGVtZW50IGluIGZ1
bGxzY3JlZW4gbW9kZS4KKyAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfVklE
RU9fRlVMTFNDUkVFTjogU2hvdyBjdXJyZW50IHZpZGVvIGVsZW1lbnQgaW4gZnVsbHNjcmVlbiBt
b2RlLgogICogQFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BMQVlfUEFVU0U6IFBs
YXkgb3IgcGF1c2UgY3VycmVudCBtZWRpYSBlbGVtZW50LgogICogQFdFQktJVF9DT05URVhUX01F
TlVfQUNUSU9OX01FRElBX01VVEU6IE11dGUgY3VycmVudCBtZWRpYSBlbGVtZW50LgogICoKQEAg
LTEzNyw3ICsxMzcsNyBAQCB0eXBlZGVmIGVudW0gewogICAgIFdFQktJVF9DT05URVhUX01FTlVf
QUNUSU9OX0NPUFlfTUVESUFfTElOS19UT19DTElQQk9BUkQsCiAgICAgV0VCS0lUX0NPTlRFWFRf
TUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0NPTlRST0xTLAogICAgIFdFQktJVF9DT05URVhUX01F
TlVfQUNUSU9OX1RPR0dMRV9NRURJQV9MT09QLAotICAgIFdFQktJVF9DT05URVhUX01FTlVfQUNU
SU9OX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4sCisgICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJ
T05fVE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU4sCiAgICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJ
T05fTUVESUFfUExBWV9QQVVTRSwKICAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJ
QV9NVVRFCiB9IFdlYktpdENvbnRleHRNZW51QWN0aW9uOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203989</attachid>
            <date>2013-06-06 18:36:00 -0700</date>
            <delta_ts>2013-06-07 14:13:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117220-20130606183430.patch</filename>
            <type>text/plain</type>
            <size>27810</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTMwNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEzLTA2LTA2ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBm
dWxsc2NyZWVuIG9uIDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENvbnRleHQgbWVudSB0ZXN0cyBjYW4ndCBiZSBhZGRlZC91
cGRhdGVkIHdpdGhvdXQgbWFjLXNwZWNpZmljCisgICAgICAgIGNoYW5nZXMgdG8gRHVtcFJlbmRl
clRyZWUuCisKKyAgICAgICAgKiBFbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3M6IEFk
ZCAiRXhpdCBGdWxsc2NyZWVuIiBzdHJpbmcuCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZUZ1bGxz
Y3JlZW5TdGF0ZSk6IEFkZGVkIHRvIGFwcHJvcHJpYXRlbHkgZW50ZXIvZXhpdCBmdWxsc2NyZWVu
LgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorICAgICAgICAqIHBhZ2UvQ29u
dGV4dE1lbnVDb250cm9sbGVyLmNwcDogVXBkYXRlZCB0byAxKSBob29rIGludG8gSGl0VGVzdFJl
c3VsdDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRlKCkuCisgICAgICAgICogcGxhdGZvcm0vQ29udGV4
dE1lbnVJdGVtLmg6CisgICAgICAgICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHA6Cisg
ICAgICAgICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2JsYWNrYmVycnkvTG9jYWxpemVkU3RyaW5nc0JsYWNrQmVycnkuY3BwOgorICAgICAgICAqIHBs
YXRmb3JtL2VmbC9Mb2NhbGl6ZWRTdHJpbmdzRWZsLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvQ29udGV4dE1lbnVJdGVtR3RrLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvTG9jYWxp
emVkU3RyaW5nc0d0ay5jcHA6CisgICAgICAgICogcGxhdGZvcm0vcXQvTG9jYWxpemVkU3RyaW5n
c1F0LmNwcDoKKyAgICAgICAgVXBkYXRlZCB0byByZW5hbWUgdmFyaWFibGVzIG1vcmUgYXBwcm9w
cmlhdGVseSB0byByZWZsZWN0IHRvZ2dsZS1hYmlsaXR5IG9mIHZpZGVvIGZ1bGxzY3JlZW4uCisg
ICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAqIHJlbmRlcmlu
Zy9IaXRUZXN0UmVzdWx0Lmg6CisgICAgICAgIChXZWJDb3JlOjpIaXRUZXN0UmVzdWx0OjptZWRp
YUlzSW5GdWxsc2NyZWVuKTogQWRkZWQgdG8gY2hlY2sgaWYKKyAgICAgICAgZWxlbWVudCBpcyBh
IG1lZGlhIGVsZW1lbnQgaW4gZnVsbHNjcmVlbi4KKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RS
ZXN1bHQ6OnRvZ2dsZU1lZGlhRnVsbHNjcmVlblN0YXRlKTogQWRkZWQgdG8gaG9vayBpbnRvIAor
ICAgICAgICBIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUuCisKIDIwMTMt
MDYtMDYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzdHJp
Y3QgV2ViQXVkaW8gZnJvbSBwbGF5aW5nIHdoZW4gZGlzYWxsb3dlZCBieSBwYWdlLgpJbmRleDog
U291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwko
cmV2aXNpb24gMTUxMDUyKQorKysgU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9Mb2NhbGl6
YWJsZS5zdHJpbmdzCSh3b3JraW5nIGNvcHkpCkBAIC0xNzUsNiArMTc1LDkgQEAKIAAvACoAIABW
AGkAZABlAG8AIABFAG4AdABlAHIAIABGAHUAbABsAHMAYwByAGUAZQBuACAAYwBvAG4AdABlAHgA
dAAgAG0AZQBuAHUAIABpAHQAZQBtACAAKgAvAAogACIARQBuAHQAZQByACAARgB1AGwAbABzAGMA
cgBlAGUAbgAiACAAPQAgACIARQBuAHQAZQByACAARgB1AGwAbABzAGMAcgBlAGUAbgAiADsACiAA
CisALwAqACAAVgBpAGQAZQBvACAARQB4AGkAdAAgAEYAdQBsAGwAcwBjAHIAZQBlAG4AIABjAG8A
bgB0AGUAeAB0ACAAbQBlAG4AdQAgAGkAdABlAG0AIAAqAC8ACisAIgBFAHgAaQB0ACAARgB1AGwA
bABzAGMAcgBlAGUAbgAiACAAPQAgACIARQB4AGkAdAAgAEYAdQBsAGwAcwBjAHIAZQBlAG4AIgA7
AAorAAogAC8AKgAgAEQAZQBmAGEAdQBsAHQAIABhAHAAcABsAGkAYwBhAHQAaQBvAG4AIABuAGEA
bQBlACAAZgBvAHIAIABPAHAAZQBuACAAVwBpAHQAaAAgAGMAbwBuAHQAZQB4AHQAIABtAGUAbgB1
ACAAKgAvAAogACIARgBpAG4AZABlAHIAIgAgAD0AIAAiAEYAaQBuAGQAZQByACIAOwAKIAAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkocmV2aXNpb24gMTUx
MDUyKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDM2Miw2ICs0MzYyLDE2IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6aXNG
dWxsc2NyZWVuKCkgY28KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK3ZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRlKCkKK3sKKyAgICBMT0coTWVkaWEsICJIVE1MTWVk
aWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUgLSBpc0Z1bGxzY3JlZW4oKSBpcyAlcyIs
IGJvb2xTdHJpbmcoaXNGdWxsc2NyZWVuKCkpKTsKKyAgICAKKyAgICBpZiAoaXNGdWxsc2NyZWVu
KCkpCisgICAgICAgIGV4aXRGdWxsc2NyZWVuKCk7CisgICAgZWxzZQorICAgICAgICBlbnRlckZ1
bGxzY3JlZW4oKTsKK30KKwogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbnRlckZ1bGxzY3JlZW4o
KQogewogICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OmVudGVyRnVsbHNjcmVlbiIp
OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgJKHJldmlzaW9uIDE1
MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMzYsNiArMzM2LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBoYXNTaW5nbGVT
ZWN1cml0eU9yaWdpbigpIGNvbnN0IHsgcmV0dXJuICFtX3BsYXllciB8fCBtX3BsYXllci0+aGFz
U2luZ2xlU2VjdXJpdHlPcmlnaW4oKTsgfQogICAgIAorICAgIHZvaWQgdG9nZ2xlRnVsbHNjcmVl
blN0YXRlKCk7CiAgICAgYm9vbCBpc0Z1bGxzY3JlZW4oKSBjb25zdDsKICAgICB2b2lkIGVudGVy
RnVsbHNjcmVlbigpOwogICAgIHZvaWQgZXhpdEZ1bGxzY3JlZW4oKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDE1MTA1
MikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjYzLDggKzI2Myw4IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVy
Ojpjb250ZXh0TWVudUkKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9v
cDoKICAgICAgICAgbV9oaXRUZXN0UmVzdWx0LnRvZ2dsZU1lZGlhTG9vcFBsYXliYWNrKCk7CiAg
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxz
Y3JlZW46Ci0gICAgICAgIG1faGl0VGVzdFJlc3VsdC5lbnRlckZ1bGxzY3JlZW5Gb3JWaWRlbygp
OworICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAg
ICAgICBtX2hpdFRlc3RSZXN1bHQudG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZToKICAg
ICAgICAgbV9oaXRUZXN0UmVzdWx0LnRvZ2dsZU1lZGlhUGxheVN0YXRlKCk7CkBAIC03NjIsNyAr
NzYyLDcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnBvcHVsYXRlKCkKICAgICAgICAg
Y29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scygpKTsKICAgICBDb250ZXh0TWVu
dUl0ZW0gVG9nZ2xlTWVkaWFMb29wKENoZWNrYWJsZUFjdGlvblR5cGUsIENvbnRleHRNZW51SXRl
bVRhZ1RvZ2dsZU1lZGlhTG9vcCwgCiAgICAgICAgIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1l
ZGlhTG9vcCgpKTsKLSAgICBDb250ZXh0TWVudUl0ZW0gRW50ZXJWaWRlb0Z1bGxzY3JlZW4oQWN0
aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4sIAorICAgIENv
bnRleHRNZW51SXRlbSBFbnRlclZpZGVvRnVsbHNjcmVlbihBY3Rpb25UeXBlLCBDb250ZXh0TWVu
dUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW4sCiAgICAgICAgIGNvbnRleHRNZW51SXRlbVRh
Z0VudGVyVmlkZW9GdWxsc2NyZWVuKCkpOwogI2lmIFBMQVRGT1JNKE1BQykKICAgICBDb250ZXh0
TWVudUl0ZW0gU2VhcmNoU3BvdGxpZ2h0SXRlbShBY3Rpb25UeXBlLCBDb250ZXh0TWVudUl0ZW1U
YWdTZWFyY2hJblNwb3RsaWdodCwgCkBAIC0xMzQyLDggKzEzNDIsMTIgQEAgdm9pZCBDb250ZXh0
TWVudUNvbnRyb2xsZXI6OmNoZWNrT3JFbmFibAogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRl
bVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAgICAgIHNob3VsZENoZWNrID0gbV9oaXRUZXN0
UmVzdWx0Lm1lZGlhTG9vcEVuYWJsZWQoKTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIENvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICBjYXNl
IENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjoKICAgICAgICAgICAgIHNo
b3VsZEVuYWJsZSA9IG1faGl0VGVzdFJlc3VsdC5tZWRpYVN1cHBvcnRzRnVsbHNjcmVlbigpOwor
ICAgICAgICAgICAgaWYgKCFtX2hpdFRlc3RSZXN1bHQubWVkaWFJc0luRnVsbHNjcmVlbigpKQor
ICAgICAgICAgICAgICAgIGl0ZW0uc2V0VGl0bGUoY29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRl
b0Z1bGxzY3JlZW4oKSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgaXRlbS5z
ZXRUaXRsZShjb250ZXh0TWVudUl0ZW1UYWdFeGl0VmlkZW9GdWxsc2NyZWVuKCkpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnT3BlbkZyYW1lSW5O
ZXdXaW5kb3c6CiAgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdHdWVzczoK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCShyZXZpc2lv
biAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAko
d29ya2luZyBjb3B5KQpAQCAtMTU2LDcgKzE1Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgQ29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1RvQ2xpcGJvYXJkLAogICAgICAg
ICBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzLAogICAgICAgICBDb250ZXh0
TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AsCi0gICAgICAgIENvbnRleHRNZW51SXRlbVRhZ0Vu
dGVyVmlkZW9GdWxsc2NyZWVuLAorICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRl
b0Z1bGxzY3JlZW4sCiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlLAog
ICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUsCiAgICAgICAgIENvbnRleHRNZW51
SXRlbVRhZ0RpY3RhdGlvbkFsdGVybmF0aXZlLApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTG9jYWxpemVkU3RyaW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
OTQsNiArNDk0LDExIEBAIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHMK
ICAgICByZXR1cm4gV0VCX1VJX1NUUklORygiRW50ZXIgRnVsbHNjcmVlbiIsICJWaWRlbyBFbnRl
ciBGdWxsc2NyZWVuIGNvbnRleHQgbWVudSBpdGVtIik7CiB9CiAKK1N0cmluZyBjb250ZXh0TWVu
dUl0ZW1UYWdFeGl0VmlkZW9GdWxsc2NyZWVuKCkKK3sKKyAgICByZXR1cm4gV0VCX1VJX1NUUklO
RygiRXhpdCBGdWxsc2NyZWVuIiwgIlZpZGVvIEV4aXQgRnVsbHNjcmVlbiBjb250ZXh0IG1lbnUg
aXRlbSIpOworfQorCiBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkKIHsKICAg
ICByZXR1cm4gV0VCX1VJX1NUUklORygiUGxheSIsICJNZWRpYSBQbGF5IGNvbnRleHQgbWVudSBp
dGVtIik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5o
CShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRT
dHJpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNyw2ICsxMzcsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMo
KTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wKCk7CiAgICAg
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCk7CisgICAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKTsKICAgICBTdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCk7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ01lZGlhUGF1c2UoKTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRl
KCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0xvY2FsaXplZFN0
cmluZ3NCbGFja0JlcnJ5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ibGFja2JlcnJ5L0xvY2FsaXplZFN0cmluZ3NCbGFja0JlcnJ5LmNwcAkocmV2aXNpb24gMTUx
MDUyKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9Mb2NhbGl6ZWRTdHJp
bmdzQmxhY2tCZXJyeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4Niw3ICsyODYsMTIgQEAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcAogCiBTdHJpbmcgY29udGV4dE1l
bnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4oKQogewotICAgIHJldHVybiBTdHJpbmc6OmZy
b21VVEY4KHNfcmVzb3VyY2UuZ2V0U3RyaW5nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpDT05URVhU
X1ZJREVPX0ZVTExTQ1JFRU4pKTsKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChzX3Jlc291
cmNlLmdldFN0cmluZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q09OVEVYVF9WSURFT19GVUxMU0NS
RUVOX0VOVEVSKSk7Cit9CisKK1N0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFeGl0VmlkZW9GdWxs
c2NyZWVuKCkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOChzX3Jlc291cmNlLmdldFN0
cmluZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6Q09OVEVYVF9WSURFT19GVUxMU0NSRUVOX0VYSVQp
KTsKIH0KIAogU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheSgpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTG9jYWxpemVkU3RyaW5nc0VmbC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZWZsL0xvY2FsaXplZFN0cmluZ3NFZmwuY3Bw
CShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9lZmwvTG9jYWxp
emVkU3RyaW5nc0VmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1Myw2ICsxNTMsMTEgQEAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxscwogICAgIHJldHVybiBTdHJpbmc6
OmZyb21VVEY4KCJTd2l0Y2ggVmlkZW8gdG8gRnVsbHNjcmVlbiIpOwogfQogCitTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnRXhpdFZpZGVvRnVsbHNjcmVlbigpCit7CisgICAgcmV0dXJuIFN0cmlu
Zzo6ZnJvbVVURjgoIlN3aXRjaCBWaWRlbyBmcm9tIEZ1bGxzY3JlZW4iKTsKK30KKwogU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheSgpCiB7CiAgICAgcmV0dXJuIFN0cmluZzo6ZnJv
bVVURjgoIlBsYXkiKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9Db250ZXh0
TWVudUl0ZW1HdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0
ay9Db250ZXh0TWVudUl0ZW1HdGsuY3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ndGsvQ29udGV4dE1lbnVJdGVtR3RrLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTEyLDcgKzExMiw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBndGtTdG9ja0lERnJvbUNvbnRl
eHQKICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0NvcHlJbWFnZVVybFRvQ2xpcGJvYXJkOgog
ICAgICAgICAvLyBObyBpY29uIGZvciB0aGlzLgogICAgICAgICByZXR1cm4gMDsKLSAgICBjYXNl
IENvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgorICAgIGNhc2UgQ29udGV4
dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgogICAgICAgICByZXR1cm4gR1RLX1NU
T0NLX0ZVTExTQ1JFRU47CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIDA7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9jYWxpemVkU3RyaW5nc0d0ay5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3RrL0xvY2FsaXplZFN0cmluZ3NHdGsu
Y3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvTG9j
YWxpemVkU3RyaW5nc0d0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw2ICsxNjYsMTEgQEAg
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxscwogICAgIHJldHVybiBTdHJp
bmc6OmZyb21VVEY4KF8oIlN3aXRjaCBWaWRlbyB0byBfRnVsbHNjcmVlbiIpKTsKIH0KIAorU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKQoreworICAgIHJldHVy
biBTdHJpbmc6OmZyb21VVEY4KF8oIlN3aXRjaCBWaWRlbyBmcm9tIF9GdWxsc2NyZWVuIikpOwor
fQorCiBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkKIHsKICAgICByZXR1cm4g
U3RyaW5nOjpmcm9tVVRGOChfKCJfUGxheSIpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3F0L0xvY2FsaXplZFN0cmluZ3NRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vcXQvTG9jYWxpemVkU3RyaW5nc1F0LmNwcAkocmV2aXNpb24gMTUxMDUyKQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQvTG9jYWxpemVkU3RyaW5nc1F0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTU4LDYgKzE1OCwxMSBAQCBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
RW50ZXJWaWRlb0Z1bGxzCiAgICAgcmV0dXJuIFFDb3JlQXBwbGljYXRpb246OnRyYW5zbGF0ZSgi
UVdlYlBhZ2UiLCAiRW50ZXIgRnVsbHNjcmVlbiIsICJTd2l0Y2ggVmlkZW8gdG8gRnVsbHNjcmVl
biIpOwogfQogCitTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRXhpdFZpZGVvRnVsbHNjcmVlbigp
Cit7CisgICAgcmV0dXJuIFFDb3JlQXBwbGljYXRpb246OnRyYW5zbGF0ZSgiUVdlYlBhZ2UiLCAi
RXhpdCBGdWxsc2NyZWVuIiwgIlN3aXRjaCBWaWRlbyBmcm9tIEZ1bGxzY3JlZW4iKTsKK30KKwog
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheSgpCiB7CiAgICAgcmV0dXJuIFFDb3Jl
QXBwbGljYXRpb246OnRyYW5zbGF0ZSgiUVdlYlBhZ2UiLCAiUGxheSIsICJQbGF5Iik7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCShyZXZpc2lvbiAx
NTEwNTIpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM5OSw2ICszOTksMzAgQEAgdm9pZCBIaXRUZXN0UmVzdWx0Ojp0b2dn
bGVNZWRpYUxvb3BQbGF5YgogI2VuZGlmCiB9CiAKK2Jvb2wgSGl0VGVzdFJlc3VsdDo6bWVkaWFJ
c0luRnVsbHNjcmVlbigpIGNvbnN0Cit7CisjaWYgRU5BQkxFKFZJREVPKQorICAgIEhUTUxNZWRp
YUVsZW1lbnQqIGVsZW1lbnQgPSBtZWRpYUVsZW1lbnQoKTsKKyAgICBpZiAoZWxlbWVudCAmJiBl
bGVtZW50LT5pc1ZpZGVvKCkpCisgICAgICAgIHJldHVybiBlbGVtZW50LT5pc0Z1bGxzY3JlZW4o
KTsKKyNlbmRpZgorICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBIaXRUZXN0UmVzdWx0Ojp0
b2dnbGVNZWRpYUZ1bGxzY3JlZW5TdGF0ZSgpIGNvbnN0Cit7CisjaWYgRU5BQkxFKFZJREVPKQor
ICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRoaXMtPm1lZGlhRWxlbWVudCgp
OworICAgIGlmIChtZWRpYUVsZW1lbnQgJiYgbWVkaWFFbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxO
YW1lczo6dmlkZW9UYWcpKSB7CisgICAgICAgIEhUTUxWaWRlb0VsZW1lbnQqIHZpZGVvRWxlbWVu
dCA9IHN0YXRpY19jYXN0PEhUTUxWaWRlb0VsZW1lbnQqPihtZWRpYUVsZW1lbnQpOworICAgICAg
ICBpZiAobWVkaWFFbGVtZW50LT5zdXBwb3J0c0Z1bGxzY3JlZW4oKSkgeworICAgICAgICAgICAg
VXNlckdlc3R1cmVJbmRpY2F0b3IgaW5kaWNhdG9yKERlZmluaXRlbHlQcm9jZXNzaW5nTmV3VXNl
ckdlc3R1cmUpOworICAgICAgICAgICAgdmlkZW9FbGVtZW50LT50b2dnbGVGdWxsc2NyZWVuU3Rh
dGUoKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgorfQorCiB2b2lkIEhpdFRlc3RSZXN1bHQ6
OmVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCkgY29uc3QKIHsKICNpZiBFTkFCTEUoVklERU8pCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgJKHJldmlzaW9uIDE1
MTA1MikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTExMiw2ICsxMTIsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0NvbnRlbnRF
ZGl0YWJsZSgpIGNvbnN0OwogICAgIHZvaWQgdG9nZ2xlTWVkaWFDb250cm9sc0Rpc3BsYXkoKSBj
b25zdDsKICAgICB2b2lkIHRvZ2dsZU1lZGlhTG9vcFBsYXliYWNrKCkgY29uc3Q7CisgICAgYm9v
bCBtZWRpYUlzSW5GdWxsc2NyZWVuKCkgY29uc3Q7CisgICAgdm9pZCB0b2dnbGVNZWRpYUZ1bGxz
Y3JlZW5TdGF0ZSgpIGNvbnN0OwogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVuRm9yVmlkZW8oKSBj
b25zdDsKICAgICBib29sIG1lZGlhQ29udHJvbHNFbmFibGVkKCkgY29uc3Q7CiAgICAgYm9vbCBt
ZWRpYUxvb3BFbmFibGVkKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTEzMDYp
CisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
MSBAQAorMjAxMy0wNi0wNiAgUnV0aCBGb25nICA8cnV0aF9mb25nQGFwcGxlLmNvbT4KKworICAg
ICAgICBBbGxvdyBmb3IgdG9nZ2xpbmcgZnVsbHNjcmVlbiBvbiA8dmlkZW8+IGVsZW1lbnRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcyMjAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9B
UEkvYy9XS0NvbnRleHRNZW51SXRlbVR5cGVzLmg6IEtlZXBpbmcgaW4gb2xkIGVudW0KKyAgICAg
ICAga1dLQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4gdG8gc3VwcG9ydCB0
aGUgY3VycmVudCB2ZXJzaW9uIG9mIFNhZmFyaS4KKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tT
aGFyZWRBUElDYXN0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRf
bWVudS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9lZmwvZXdrX2NvbnRleHRfbWVudV9p
dGVtLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0
ZW0uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudUFjdGlv
bnMuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51QWN0
aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rlc3RDb250ZXh0TWVu
dS5jcHA6CisgICAgICAgIFJlbmFtZWQgdGFncyBmb3IgdG9nZ2xpbmcgdmlkZW8gZnVsbHNjcmVl
bi4KKwogMjAxMy0wNi0wNiAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIENvbXBsZXRlbHkgaW5pdGlhbGl6ZSBDaGlsZFByb2Nlc3Mgc3RhdGUgb24gbGF1bmNoCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0NvbnRleHRNZW51
SXRlbVR5cGVzLmgJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UEkvYy9XS0NvbnRleHRNZW51SXRlbVR5cGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsx
MTEsNyBAQCBlbnVtIHsKICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRy
b2xzLAogICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCwKICAgICBrV0tD
b250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbiwKKyAgICBrV0tDb250ZXh0TWVu
dUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW4sCiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFn
TWVkaWFQbGF5UGF1c2UsCiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlLAogICAg
IGtXS0NvbnRleHRNZW51SXRlbVRhZ0RpY3RhdGlvbkFsdGVybmF0aXZlLApJbmRleDogU291cmNl
L1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAkocmV2aXNpb24gMTUx
MDUyKQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCSh3
b3JraW5nIGNvcHkpCkBAIC00NjgsOCArNDY4LDggQEAgaW5saW5lIFdLQ29udGV4dE1lbnVJdGVt
VGFnIHRvQVBJKFdlYkNvcgogICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9n
Z2xlTWVkaWFDb250cm9sczsKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1Rv
Z2dsZU1lZGlhTG9vcDoKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2ds
ZU1lZGlhTG9vcDsKLSAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlk
ZW9GdWxsc2NyZWVuOgotICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJW
aWRlb0Z1bGxzY3JlZW47CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUb2dn
bGVWaWRlb0Z1bGxzY3JlZW46CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdU
b2dnbGVWaWRlb0Z1bGxzY3JlZW47CiAgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdNZWRpYVBsYXlQYXVzZToKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ01l
ZGlhUGxheVBhdXNlOwogICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTWVkaWFN
dXRlOgpAQCAtNjU4LDggKzY1OCw4IEBAIGlubGluZSBXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlv
biB0b0ltcGwKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RvZ2ds
ZU1lZGlhQ29udHJvbHM7CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRp
YUxvb3A6CiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVN
ZWRpYUxvb3A7Ci0gICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNj
cmVlbjoKLSAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlk
ZW9GdWxsc2NyZWVuOworICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9G
dWxsc2NyZWVuOgorICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9n
Z2xlVmlkZW9GdWxsc2NyZWVuOwogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQ
bGF5UGF1c2U6CiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdNZWRp
YVBsYXlQYXVzZTsKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZToKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnUuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250
ZXh0X21lbnUuY3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAxLDgg
KzMwMSw4IEBAIHN0YXRpYyBXS0NvbnRleHRNZW51SXRlbVRhZyBnZXRXS1RhZ0Zyb20KICAgICAg
ICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHM7CiAgICAg
Y2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9MT09QOgogICAgICAg
ICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOwotICAgIGNhc2Ug
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19FTlRFUl9WSURFT19GVUxMU0NSRUVOOgotICAgICAg
ICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW47CisgICAg
Y2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9WSURFT19GVUxMU0NSRUVOOgor
ICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVu
OwogICAgIGNhc2UgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9QTEFZX1BBVVNFOgog
ICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U7CiAgICAg
Y2FzZSBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX01VVEU6CkluZGV4OiBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21l
bnVfaXRlbS5jcHAJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMw
Niw4ICszMDYsOCBAQCBzdGF0aWMgRXdrX0NvbnRleHRfTWVudV9JdGVtX0FjdGlvbiBnZXRFCiAg
ICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9DT05U
Uk9MUzsKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAg
ICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0xPT1A7
Ci0gICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKLSAg
ICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRU5URVJfVklERU9fRlVMTFND
UkVFTjsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVl
bjoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX1ZJREVP
X0ZVTExTQ1JFRU47CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVz
ZToKICAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfUExBWV9Q
QVVTRTsKICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZToKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0X21lbnVfaXRlbS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL2V3a19jb250ZXh0
X21lbnVfaXRlbS5oCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2VmbC9ld2tfY29udGV4dF9tZW51X2l0ZW0uaAkod29ya2luZyBjb3B5KQpAQCAtMTIz
LDcgKzEyMyw3IEBAIHR5cGVkZWYgZW51bSB7CiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19DT1BZX01FRElBX0xJTktfVE9fQ0xJUEJPQVJELAogICAgIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfVE9HR0xFX01FRElBX0NPTlRST0xTLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9U
QUdfVE9HR0xFX01FRElBX0xPT1AsCi0gICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19FTlRF
Ul9WSURFT19GVUxMU0NSRUVOLAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xF
X1ZJREVPX0ZVTExTQ1JFRU4sCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9Q
TEFZX1BBVVNFLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTUVESUFfTVVURSwKICAg
ICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9BUFBMSUNBVElPTl9UQUcgPSAxMDAwMApJbmRl
eDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVBY3Rp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRDb250ZXh0TWVudUFjdGlvbnMuY3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudUFjdGlvbnMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTYsOCArMTE2LDkgQEAgQ29udGV4dE1lbnVBY3Rpb24gd2Via2l0
Q29udGV4dE1lbnVBY3RpbwogICAgICAgICByZXR1cm4gQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xl
TWVkaWFDb250cm9sczsKICAgICBjYXNlIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dM
RV9NRURJQV9MT09QOgogICAgICAgICByZXR1cm4gQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVk
aWFMb29wOworICAgIGNhc2UgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fRVhJVF9WSURFT19G
VUxMU0NSRUVOOgogICAgIGNhc2UgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fRU5URVJfVklE
RU9fRlVMTFNDUkVFTjoKLSAgICAgICAgcmV0dXJuIENvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlk
ZW9GdWxsc2NyZWVuOworICAgICAgICByZXR1cm4gQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlk
ZW9GdWxsc2NyZWVuOwogICAgIGNhc2UgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFf
UExBWToKICAgICBjYXNlIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BBVVNFOgog
ICAgICAgICByZXR1cm4gQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U7CkBAIC0yMDcs
OCArMjA4LDkgQEAgV2ViS2l0Q29udGV4dE1lbnVBY3Rpb24gd2Via2l0Q29udGV4dE1lbgogICAg
ICAgICByZXR1cm4gV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0NPTlRS
T0xTOwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgogICAgICAg
ICByZXR1cm4gV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0xPT1A7Ci0g
ICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKLSAgICAgICAg
cmV0dXJuIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU47
CisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW46CisgICAg
ICAgIHJldHVybiBtZW51SXRlbS0+dGl0bGUoKSA9PSBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZp
ZGVvRnVsbHNjcmVlbigpID8gCisgICAgICAgICAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElP
Tl9FTlRFUl9WSURFT19GVUxMU0NSRUVOIDogV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fRVhJ
VF9WSURFT19GVUxMU0NSRUVOOwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5
UGF1c2U6CiAgICAgICAgIHJldHVybiBtZW51SXRlbS0+dGl0bGUoKSA9PSBjb250ZXh0TWVudUl0
ZW1UYWdNZWRpYVBsYXkoKSA/CiAgICAgICAgICAgICBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElP
Tl9NRURJQV9QTEFZIDogV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfUEFVU0U7CkBA
IC0zMDAsNiArMzAyLDggQEAgU3RyaW5nIHdlYmtpdENvbnRleHRNZW51QWN0aW9uR2V0TGFiZWwo
VwogICAgICAgICByZXR1cm4gY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wKCk7CiAg
ICAgY2FzZSBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FTlRFUl9WSURFT19GVUxMU0NSRUVO
OgogICAgICAgICByZXR1cm4gY29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4o
KTsKKyAgICBjYXNlIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VYSVRfVklERU9fRlVMTFND
UkVFTjoKKyAgICAgICAgcmV0dXJuIGNvbnRleHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3Jl
ZW4oKTsKICAgICBjYXNlIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BMQVk6CiAg
ICAgICAgIHJldHVybiBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXkoKTsKICAgICBjYXNlIFdF
QktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BBVVNFOgpJbmRleDogU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVBY3Rpb25zLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVB
Y3Rpb25zLmgJKHJldmlzaW9uIDE1MTA1MikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdENvbnRleHRNZW51QWN0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2
ICs2OSw3IEBAIEdfQkVHSU5fREVDTFMKICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9U
T0dHTEVfTUVESUFfQ09OVFJPTFM6IEVuYWJsZSBvciBkaXNhYmxlIG1lZGlhIGNvbnRyb2xzLgog
ICogQFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJQV9MT09QOiBFbmFibGUg
b3IgZGlzYWJsZSBtZWRpYSBsb29wLgogICogQFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VO
VEVSX1ZJREVPX0ZVTExTQ1JFRU46IFNob3cgY3VycmVudCB2aWRlbyBlbGVtZW50IGluIGZ1bGxz
Y3JlZW4gbW9kZS4KKyAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9FWElUX1ZJREVPX0ZV
TExTQ1JFRU46IEV4aXQgY3VycmVudCB2aWRlbyBlbGVtZW50IGluIGZ1bGxzY3JlZW4gbW9kZS4K
ICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9QTEFZOiBQbGF5IGN1cnJlbnQg
bWVkaWEgZWxlbWVudC4KICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9QQVVT
RTogUGF1c2UgY3VycmVudCBtZWRpYSBlbGVtZW50LgogICogQFdFQktJVF9DT05URVhUX01FTlVf
QUNUSU9OX01FRElBX01VVEU6IE11dGUgY3VycmVudCBtZWRpYSBlbGVtZW50LgpAQCAtMTE4LDYg
KzExOSw3IEBAIHR5cGVkZWYgZW51bSB7CiAgICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05f
VE9HR0xFX01FRElBX0NPTlRST0xTLAogICAgIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RP
R0dMRV9NRURJQV9MT09QLAogICAgIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX0VOVEVSX1ZJ
REVPX0ZVTExTQ1JFRU4sCisgICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fRVhJVF9WSURF
T19GVUxMU0NSRUVOLAogICAgIFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX01FRElBX1BMQVks
CiAgICAgV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfUEFVU0UsCiAgICAgV0VCS0lU
X0NPTlRFWFRfTUVOVV9BQ1RJT05fTUVESUFfTVVURSwKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE1MTMwNikKKysrIFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEzLTA2LTA2ICBSdXRoIEZvbmcgIDxydXRoX2ZvbmdA
YXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBmdWxsc2NyZWVuIG9uIDx2
aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisgICAgICAg
ICogZXdrL2V3a19jb250ZXh0bWVudS5oOgorICAgICAgICBSZW5hbWVkIHRhZ3MgdG8gcmVmbGVj
dCB0b2dnbGUtYWJpbGl0eSBvZiB2aWRlbyBmdWxsc2NyZWVuLgorCiAyMDEzLTA1LTI4ICBBbmRy
ZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBEb2N1bWVudDo6c2V0Rm9j
dXNlZE5vZGUoKSBzaG91bGQgYmUgc2V0Rm9jdXNlZEVsZW1lbnQoKS4KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51
bXMuY3BwCShyZXZpc2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3Vw
cG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU5LDcgKzE1
OSw3IEBAIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFQKIENPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX01FRElB
X0xJTktfVE9fQ0xJUEJPQVJELCBDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlw
Ym9hcmQpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX1RPR0dMRV9NRURJQV9DT05UUk9MUywgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVk
aWFDb250cm9scyk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfVE9HR0xFX01FRElBX0xPT1AsIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1l
ZGlhTG9vcCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfRU5URVJfVklERU9fRlVMTFNDUkVFTiwgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJW
aWRlb0Z1bGxzY3JlZW4pOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX1RPR0dMRV9WSURFT19GVUxMU0NSRUVOLCBDb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW4pOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0UsIENvbnRleHRNZW51SXRl
bVRhZ01lZGlhUGxheVBhdXNlKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9NVVRFLCBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11
dGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1f
QkFTRV9DVVNUT01fVEFHLCBDb250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9tVGFnKTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY29udGV4dG1lbnUuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX2NvbnRleHRtZW51LmgJKHJldmlzaW9uIDE1MTA1MikKKysr
IFNvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfY29udGV4dG1lbnUuaAkod29ya2luZyBjb3B5KQpA
QCAtMTE4LDcgKzExOCw3IEBAIGVudW0gX0V3a19Db250ZXh0X01lbnVfQWN0aW9uIHsKICAgICBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfTUVESUFfTElOS19UT19DTElQQk9BUkQsCiAg
ICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfQ09OVFJPTFMsCiAgICAg
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfTUVESUFfTE9PUCwKLSAgICBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU4sCisgICAgRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfVklERU9fRlVMTFNDUkVFTiwKICAgICBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fVEFHX01FRElBX1BMQVlfUEFVU0UsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19NRURJQV9NVVRFLAogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9CQVNFX0NVU1RP
TV9UQUcgPSA1MDAwLApJbmRleDogU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxMzA2KQorKysg
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTMtMDYtMDYgIFJ1dGggRm9uZyAgPHJ1dGhfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAg
ICAgQWxsb3cgZm9yIHRvZ2dsaW5nIGZ1bGxzY3JlZW4gb24gPHZpZGVvPiBlbGVtZW50cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MjIwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJraXQvd2Vi
a2l0Z2xvYmFscy5jcHA6CisgICAgICAgICogd2Via2l0L3dlYmtpdGdsb2JhbHMuaDoKKyAgICAg
ICAgUmVuYW1lZCB0YWdzIHRvIHJlZmxlY3QgdG9nZ2xlLWFiaWxpdHkgb2YgdmlkZW8gZnVsbHNj
cmVlbi4KKwogMjAxMy0wNi0wNiAgRGllZ28gUGlubyBHYXJjaWEgIDxkcGlub0BpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtHVEtdIFBhcmFtZXRlciAncmVmQ2hpbGQnIGZyb20gZnVuY3Rpb24gJ3dl
YmtpdF9kb21fbm9kZV9pbnNlcnRfYmVmb3JlJyBzaG91bGQgYmUgYWxsb3dlZCB0byBiZSBOVUxM
CkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2JhbHMuY3BwCShyZXZp
c2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1MCw4ICs0NTAsOCBAQCBXZWJLaXRDb250ZXh0TWVudUFj
dGlvbiB3ZWJraXRfY29udGV4dF9tCiAgICAgICAgIHJldHVybiBXRUJLSVRfQ09OVEVYVF9NRU5V
X0FDVElPTl9UT0dHTEVfTUVESUFfQ09OVFJPTFM7CiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVNZWRpYUxvb3A6CiAgICAgICAgIHJldHVybiBXRUJLSVRfQ09OVEVYVF9NRU5VX0FD
VElPTl9UT0dHTEVfTUVESUFfTE9PUDsKLSAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ0VudGVy
VmlkZW9GdWxsc2NyZWVuOgotICAgICAgICByZXR1cm4gV0VCS0lUX0NPTlRFWFRfTUVOVV9BQ1RJ
T05fRU5URVJfVklERU9fRlVMTFNDUkVFTjsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1Rv
Z2dsZVZpZGVvRnVsbHNjcmVlbjoKKyAgICAgICAgcmV0dXJuIFdFQktJVF9DT05URVhUX01FTlVf
QUNUSU9OX1RPR0dMRV9WSURFT19GVUxMU0NSRUVOOwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVt
VGFnTWVkaWFQbGF5UGF1c2U6CiAgICAgICAgIHJldHVybiBXRUJLSVRfQ09OVEVYVF9NRU5VX0FD
VElPTl9NRURJQV9QTEFZX1BBVVNFOwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFN
dXRlOgpJbmRleDogU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdGdsb2JhbHMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5oCShyZXZp
c2lvbiAxNTEwNTIpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0Z2xvYmFscy5o
CSh3b3JraW5nIGNvcHkpCkBAIC05Miw3ICs5Miw3IEBAIHR5cGVkZWYgZW51bSB7CiAgKiBAV0VC
S0lUX0NPTlRFWFRfTUVOVV9BQ1RJT05fQ09QWV9NRURJQV9MSU5LX1RPX0NMSVBCT0FSRDogQ29w
eSBtZWRpYSBsaW5rIGxvY2F0aW9uIGluIHRvIHRoZSBjbGlwYm9hcmQuCiAgKiBAV0VCS0lUX0NP
TlRFWFRfTUVOVV9BQ1RJT05fVE9HR0xFX01FRElBX0NPTlRST0xTOiBFbmFibGUgb3IgZGlzYWJs
ZSBtZWRpYSBjb250cm9scy4KICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVf
TUVESUFfTE9PUDogRW5hYmxlIG9yIGRpc2FibGUgbWVkaWEgbG9vcC4KLSAqIEBXRUJLSVRfQ09O
VEVYVF9NRU5VX0FDVElPTl9FTlRFUl9WSURFT19GVUxMU0NSRUVOOiBTaG93IGN1cnJlbnQgdmlk
ZW8gZWxlbWVudCBpbiBmdWxsc2NyZWVuIG1vZGUuCisgKiBAV0VCS0lUX0NPTlRFWFRfTUVOVV9B
Q1RJT05fVE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU46IFNob3cgY3VycmVudCB2aWRlbyBlbGVtZW50
IGluIGZ1bGxzY3JlZW4gbW9kZS4KICAqIEBXRUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJ
QV9QTEFZX1BBVVNFOiBQbGF5IG9yIHBhdXNlIGN1cnJlbnQgbWVkaWEgZWxlbWVudC4KICAqIEBX
RUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9NRURJQV9NVVRFOiBNdXRlIGN1cnJlbnQgbWVkaWEg
ZWxlbWVudC4KICAqCkBAIC0xMzcsNyArMTM3LDcgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBXRUJL
SVRfQ09OVEVYVF9NRU5VX0FDVElPTl9DT1BZX01FRElBX0xJTktfVE9fQ0xJUEJPQVJELAogICAg
IFdFQktJVF9DT05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9NRURJQV9DT05UUk9MUywKICAgICBX
RUJLSVRfQ09OVEVYVF9NRU5VX0FDVElPTl9UT0dHTEVfTUVESUFfTE9PUCwKLSAgICBXRUJLSVRf
Q09OVEVYVF9NRU5VX0FDVElPTl9FTlRFUl9WSURFT19GVUxMU0NSRUVOLAorICAgIFdFQktJVF9D
T05URVhUX01FTlVfQUNUSU9OX1RPR0dMRV9WSURFT19GVUxMU0NSRUVOLAogICAgIFdFQktJVF9D
T05URVhUX01FTlVfQUNUSU9OX01FRElBX1BMQVlfUEFVU0UsCiAgICAgV0VCS0lUX0NPTlRFWFRf
TUVOVV9BQ1RJT05fTUVESUFfTVVURQogfSBXZWJLaXRDb250ZXh0TWVudUFjdGlvbjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204066</attachid>
            <date>2013-06-07 14:13:19 -0700</date>
            <delta_ts>2013-06-07 17:42:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117220-20130607141146.patch</filename>
            <type>text/plain</type>
            <size>13144</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTMzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA2LTA3ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBm
dWxsc2NyZWVuIG9uIDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEZvciBtYWMgcG9ydHMgb25seSwgdGhpcyBwYXRjaCBhbGxv
d3MgdGhlIGZ1bGxzY3JlZW4gCisgICAgICAgIGNvbnRleHQgbWVudSBpdGVtIG9uIDx2aWRlbz4g
ZWxlbWVudHMgdG8gc3dpdGNoIGJldHdlZW4gIkVudGVyIEZ1bGxzY3JlZW4iCisgICAgICAgIGFu
ZCAiRXhpdCBGdWxsc2NyZWVuIiBhbmQgYmVoYXZlIGFwcHJvcHJpYXRlbHkuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzIGFkZGVkLiBDb250ZXh0IG1lbnUgdGVzdHMgY2FuJ3QgYmUgYWRkZWQKKyAg
ICAgICAgd2l0aG91dCBtYWMtc3BlY2lmaWMgY2hhbmdlcyB0byBEdW1wUmVuZGVyVHJlZS4KKwor
ICAgICAgICAqIEVuZ2xpc2gubHByb2ovTG9jYWxpemFibGUuc3RyaW5nczogQWRkICJFeGl0IEZ1
bGxzY3JlZW4iIHN0cmluZy4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRl
KTogQWRkZWQgdG8gYXBwcm9wcmlhdGVseSBlbnRlci9leGl0IGZ1bGxzY3JlZW4uCisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwOgorICAgICAgICAqIHBsYXRmb3Jt
L0xvY2FsaXplZFN0cmluZ3MuaDoKKyAgICAgICAgVXBkYXRlZCB0byByZWFtZSB2YXJpYWJsZXMg
bW9yZSBhcHByb3ByaWF0ZWx5IHRvIHJlZmxlY3QgdGhlIHRvZ2dsZS1hYmlsaXR5IG9mIHZpZGVv
IGZ1bGxzY3JlZW4uCisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6bWVkaWFJc0luRnVsbHNjcmVlbik6IEFkZGVk
IHRvIGNoZWNrIGlmIGFuIGVsZW1lbnQKKyAgICAgICAgd2FzIGEgbWVkaWEgZWxlbWVudCBpbiBm
dWxsc2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6dG9nZ2xlTWVkaWFG
dWxsc2NyZWVuU3RhdGUpOiBBZGRlZCB0byBob29rIGludG8gCisgICAgICAgIEhUTUxNZWRpYUVs
ZW1lbnQ6OnRvZ2dsZUZ1bGxzY3JlZW5TdGF0ZS4KKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVz
dFJlc3VsdC5oOgorCiAyMDEzLTA2LTA3ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTUxMDg4KTogQ3Jhc2ggbmF2aWdhdGluZyBhd2F5
IGZyb20gbm9uLWxvYWRlZCBtYWluIHJlc291cmNlcyB3aXRoIG5vbi1sb2FkZWQgc2NyaXB0cy4K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0
cmluZ3MJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ov
TG9jYWxpemFibGUuc3RyaW5ncwkod29ya2luZyBjb3B5KQpAQCAtMTc1LDYgKzE3NSw5IEBACiAA
LwAqACAAVgBpAGQAZQBvACAARQBuAHQAZQByACAARgB1AGwAbABzAGMAcgBlAGUAbgAgAGMAbwBu
AHQAZQB4AHQAIABtAGUAbgB1ACAAaQB0AGUAbQAgACoALwAKIAAiAEUAbgB0AGUAcgAgAEYAdQBs
AGwAcwBjAHIAZQBlAG4AIgAgAD0AIAAiAEUAbgB0AGUAcgAgAEYAdQBsAGwAcwBjAHIAZQBlAG4A
IgA7AAogAAorAC8AKgAgAFYAaQBkAGUAbwAgAEUAeABpAHQAIABGAHUAbABsAHMAYwByAGUAZQBu
ACAAYwBvAG4AdABlAHgAdAAgAG0AZQBuAHUAIABpAHQAZQBtACAAKgAvAAorACIARQB4AGkAdAAg
AEYAdQBsAGwAcwBjAHIAZQBlAG4AIgAgAD0AIAAiAEUAeABpAHQAIABGAHUAbABsAHMAYwByAGUA
ZQBuACIAOwAKKwAKIAAvACoAIABEAGUAZgBhAHUAbAB0ACAAYQBwAHAAbABpAGMAYQB0AGkAbwBu
ACAAbgBhAG0AZQAgAGYAbwByACAATwBwAGUAbgAgAFcAaQB0AGgAIABjAG8AbgB0AGUAeAB0ACAA
bQBlAG4AdQAgACoALwAKIAAiAEYAaQBuAGQAZQByACIAIAA9ACAAIgBGAGkAbgBkAGUAcgAiADsA
CiAACkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQzNjIsNiArNDM2MiwxOCBAQCBib29sIEhUTUxNZWRpYUVsZW1l
bnQ6OmlzRnVsbHNjcmVlbigpIGNvCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCisjaWYgUExBVEZP
Uk0oTUFDKQordm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUoKQor
eworICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZUZ1bGxzY3JlZW5TdGF0
ZSAtIGlzRnVsbHNjcmVlbigpIGlzICVzIiwgYm9vbFN0cmluZyhpc0Z1bGxzY3JlZW4oKSkpOwor
ICAgIAorICAgIGlmIChpc0Z1bGxzY3JlZW4oKSkKKyAgICAgICAgZXhpdEZ1bGxzY3JlZW4oKTsK
KyAgICBlbHNlCisgICAgICAgIGVudGVyRnVsbHNjcmVlbigpOworfQorI2VuZGlmCisKIHZvaWQg
SFRNTE1lZGlhRWxlbWVudDo6ZW50ZXJGdWxsc2NyZWVuKCkKIHsKICAgICBMT0coTWVkaWEsICJI
VE1MTWVkaWFFbGVtZW50OjplbnRlckZ1bGxzY3JlZW4iKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5oCShyZXZpc2lvbiAxNTEzMzQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzM3LDYgKzMzNyw5
IEBAIHB1YmxpYzoKICAgICBib29sIGhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCkgY29uc3QgeyBy
ZXR1cm4gIW1fcGxheWVyIHx8IG1fcGxheWVyLT5oYXNTaW5nbGVTZWN1cml0eU9yaWdpbigpOyB9
CiAgICAgCiAgICAgYm9vbCBpc0Z1bGxzY3JlZW4oKSBjb25zdDsKKyNpZiBQTEFURk9STShNQUMp
CisgICAgdm9pZCB0b2dnbGVGdWxsc2NyZWVuU3RhdGUoKTsKKyNlbmRpZgogICAgIHZvaWQgZW50
ZXJGdWxsc2NyZWVuKCk7CiAgICAgdm9pZCBleGl0RnVsbHNjcmVlbigpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAx
NTEzMzQpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI2Myw5ICsyNjMsMTUgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRy
b2xsZXI6OmNvbnRleHRNZW51SQogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVk
aWFMb29wOgogICAgICAgICBtX2hpdFRlc3RSZXN1bHQudG9nZ2xlTWVkaWFMb29wUGxheWJhY2so
KTsKICAgICAgICAgYnJlYWs7CisjaWYgUExBVEZPUk0oTUFDKQorICAgIGNhc2UgQ29udGV4dE1l
bnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICBtX2hpdFRlc3RSZXN1bHQu
dG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKTsKKyAgICAgICAgYnJlYWs7CisjZWxzZQogICAg
IGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW46CiAgICAgICAgIG1f
aGl0VGVzdFJlc3VsdC5lbnRlckZ1bGxzY3JlZW5Gb3JWaWRlbygpOwogICAgICAgICBicmVhazsK
KyNlbmRpZgogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U6CiAgICAg
ICAgIG1faGl0VGVzdFJlc3VsdC50b2dnbGVNZWRpYVBsYXlTdGF0ZSgpOwogICAgICAgICBicmVh
azsKQEAgLTc2Miw4ICs3NjgsMTMgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnBvcHVs
YXRlKCkKICAgICAgICAgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scygpKTsK
ICAgICBDb250ZXh0TWVudUl0ZW0gVG9nZ2xlTWVkaWFMb29wKENoZWNrYWJsZUFjdGlvblR5cGUs
IENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCwgCiAgICAgICAgIGNvbnRleHRNZW51
SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCgpKTsKLSAgICBDb250ZXh0TWVudUl0ZW0gRW50ZXJWaWRl
b0Z1bGxzY3JlZW4oQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxz
Y3JlZW4sIAorI2lmIFBMQVRGT1JNKE1BQykKKyAgICBDb250ZXh0TWVudUl0ZW0gRW50ZXJWaWRl
b0Z1bGxzY3JlZW4oQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxs
c2NyZWVuLAorICAgICAgICBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigp
KTsKKyNlbHNlCisgICAgQ29udGV4dE1lbnVJdGVtIEVudGVyVmlkZW9GdWxsc2NyZWVuKEFjdGlv
blR5cGUsIENvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuLAogICAgICAgICBj
b250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpKTsKKyNlbmRpZgogI2lmIFBM
QVRGT1JNKE1BQykKICAgICBDb250ZXh0TWVudUl0ZW0gU2VhcmNoU3BvdGxpZ2h0SXRlbShBY3Rp
b25UeXBlLCBDb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodCwgCiAgICAgICAgIGNv
bnRleHRNZW51SXRlbVRhZ1NlYXJjaEluU3BvdGxpZ2h0KCkpOwpAQCAtMTM0Miw5ICsxMzUzLDE4
IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpjaGVja09yRW5hYmwKICAgICAgICAgY2Fz
ZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A6CiAgICAgICAgICAgICBzaG91bGRD
aGVjayA9IG1faGl0VGVzdFJlc3VsdC5tZWRpYUxvb3BFbmFibGVkKCk7CiAgICAgICAgICAgICBi
cmVhazsKKyNpZiBQTEFURk9STShNQUMpCisgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFn
VG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICAgICAgaWYgKCFtX2hpdFRlc3RSZXN1bHQu
bWVkaWFJc0luRnVsbHNjcmVlbigpKQorICAgICAgICAgICAgICAgIGl0ZW0uc2V0VGl0bGUoY29u
dGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4oKSk7CisgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgaXRlbS5zZXRUaXRsZShjb250ZXh0TWVudUl0ZW1UYWdFeGl0Vmlk
ZW9GdWxsc2NyZWVuKCkpOworICAgICAgICAgICAgYnJlYWs7CisjZWxzZQogICAgICAgICBjYXNl
IENvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgogICAgICAgICAgICAgc2hv
dWxkRW5hYmxlID0gbV9oaXRUZXN0UmVzdWx0Lm1lZGlhU3VwcG9ydHNGdWxsc2NyZWVuKCk7CiAg
ICAgICAgICAgICBicmVhazsKKyNlbmRpZgogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRh
Z09wZW5GcmFtZUluTmV3V2luZG93OgogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1Nw
ZWxsaW5nR3Vlc3M6CiAgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnT3RoZXI6CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAkocmV2aXNpb24gMTUx
MzM0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgJKHdvcmtp
bmcgY29weSkKQEAgLTE1Niw3ICsxNTYsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICBDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlwYm9hcmQsCiAgICAgICAgIENv
bnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMsCiAgICAgICAgIENvbnRleHRNZW51
SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCwKKyNpZiBQTEFURk9STShNQUMpCisgICAgICAgIENvbnRl
eHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbiwKKyNlbHNlCiAgICAgICAgIENvbnRl
eHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuLAorI2VuZGlmCiAgICAgICAgIENvbnRl
eHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlLAogICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdN
ZWRpYU11dGUsCiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ0RpY3RhdGlvbkFsdGVybmF0aXZl
LApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAJ
KHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0
cmluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTQsNiArNDk0LDEzIEBAIFN0cmluZyBjb250
ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHMKICAgICByZXR1cm4gV0VCX1VJX1NUUklORygi
RW50ZXIgRnVsbHNjcmVlbiIsICJWaWRlbyBFbnRlciBGdWxsc2NyZWVuIGNvbnRleHQgbWVudSBp
dGVtIik7CiB9CiAKKyNpZiBQTEFURk9STShNQUMpCitTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
RXhpdFZpZGVvRnVsbHNjcmVlbigpCit7CisgICAgcmV0dXJuIFdFQl9VSV9TVFJJTkcoIkV4aXQg
RnVsbHNjcmVlbiIsICJWaWRlbyBFeGl0IEZ1bGxzY3JlZW4gY29udGV4dCBtZW51IGl0ZW0iKTsK
K30KKyNlbmRpZgorCiBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkKIHsKICAg
ICByZXR1cm4gV0VCX1VJX1NUUklORygiUGxheSIsICJNZWRpYSBQbGF5IGNvbnRleHQgbWVudSBp
dGVtIik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5o
CShyZXZpc2lvbiAxNTEzMzQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRT
dHJpbmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNyw2ICsxMzcsOSBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMo
KTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wKCk7CiAgICAg
U3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCk7CisjaWYgUExB
VEZPUk0oTUFDKQorICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFeGl0VmlkZW9GdWxsc2Ny
ZWVuKCk7CisjZW5kaWYKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCk7
CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGF1c2UoKTsKICAgICBTdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCShyZXZpc2lvbiAxNTEzMzQpCisrKyBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5OSw2
ICszOTksMzIgQEAgdm9pZCBIaXRUZXN0UmVzdWx0Ojp0b2dnbGVNZWRpYUxvb3BQbGF5YgogI2Vu
ZGlmCiB9CiAKK2Jvb2wgSGl0VGVzdFJlc3VsdDo6bWVkaWFJc0luRnVsbHNjcmVlbigpIGNvbnN0
Cit7CisjaWYgRU5BQkxFKFZJREVPKQorICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVu
dCA9IHRoaXMtPm1lZGlhRWxlbWVudCgpOworICAgIGlmIChtZWRpYUVsZW1lbnQgJiYgbWVkaWFF
bGVtZW50LT5pc1ZpZGVvKCkpCisgICAgICAgIHJldHVybiBtZWRpYUVsZW1lbnQtPmlzRnVsbHNj
cmVlbigpOworI2VuZGlmCisgICAgcmV0dXJuIGZhbHNlOworfQorCisjaWYgUExBVEZPUk0oTUFD
KQordm9pZCBIaXRUZXN0UmVzdWx0Ojp0b2dnbGVNZWRpYUZ1bGxzY3JlZW5TdGF0ZSgpIGNvbnN0
Cit7CisjaWYgRU5BQkxFKFZJREVPKQorICAgIEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVu
dCA9IHRoaXMtPm1lZGlhRWxlbWVudCgpOworICAgIGlmIChtZWRpYUVsZW1lbnQgJiYgbWVkaWFF
bGVtZW50LT5pc1ZpZGVvKCkpIHsKKyAgICAgICAgSFRNTFZpZGVvRWxlbWVudCogdmlkZW9FbGVt
ZW50ID0gc3RhdGljX2Nhc3Q8SFRNTFZpZGVvRWxlbWVudCo+KG1lZGlhRWxlbWVudCk7CisgICAg
ICAgIGlmIChtZWRpYUVsZW1lbnQtPnN1cHBvcnRzRnVsbHNjcmVlbigpKSB7CisgICAgICAgICAg
ICBVc2VyR2VzdHVyZUluZGljYXRvciBpbmRpY2F0b3IoRGVmaW5pdGVseVByb2Nlc3NpbmdOZXdV
c2VyR2VzdHVyZSk7CisgICAgICAgICAgICB2aWRlb0VsZW1lbnQtPnRvZ2dsZUZ1bGxzY3JlZW5T
dGF0ZSgpOworICAgICAgICB9CisgICAgfQorI2VuZGlmCit9CisjZW5kaWYKKwogdm9pZCBIaXRU
ZXN0UmVzdWx0OjplbnRlckZ1bGxzY3JlZW5Gb3JWaWRlbygpIGNvbnN0CiB7CiAjaWYgRU5BQkxF
KFZJREVPKQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCShy
ZXZpc2lvbiAxNTEzMzQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3Vs
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIsNiArMTEyLDEwIEBAIHB1YmxpYzoKICAgICBib29s
IGlzQ29udGVudEVkaXRhYmxlKCkgY29uc3Q7CiAgICAgdm9pZCB0b2dnbGVNZWRpYUNvbnRyb2xz
RGlzcGxheSgpIGNvbnN0OwogICAgIHZvaWQgdG9nZ2xlTWVkaWFMb29wUGxheWJhY2soKSBjb25z
dDsKKyAgICBib29sIG1lZGlhSXNJbkZ1bGxzY3JlZW4oKSBjb25zdDsKKyNpZiBQTEFURk9STShN
QUMpCisgICAgdm9pZCB0b2dnbGVNZWRpYUZ1bGxzY3JlZW5TdGF0ZSgpIGNvbnN0OworI2VuZGlm
CiAgICAgdm9pZCBlbnRlckZ1bGxzY3JlZW5Gb3JWaWRlbygpIGNvbnN0OwogICAgIGJvb2wgbWVk
aWFDb250cm9sc0VuYWJsZWQoKSBjb25zdDsKICAgICBib29sIG1lZGlhTG9vcEVuYWJsZWQoKSBj
b25zdDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTMzNSkKKysrIFNvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA2LTA3ICBS
dXRoIEZvbmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dn
bGluZyBmdWxsc2NyZWVuIG9uIDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLQ29udGV4dE1lbnVJ
dGVtVHlwZXMuaDoKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0Lmg6Cisg
ICAgICAgIFVwZGF0ZWQgdG8gcmVuYW1lIHZhcmlhYmxlcyBhcHByb3ByaWF0ZWx5IHRvIHJlZmxl
Y3QgdGhlIHRvZ2dsZS1hYmlsaXR5IG9mCisgICAgICAgIHZpZGVvIGZ1bGxzY3JlZW4gKGFmZmVj
dHMgbWFjIHBvcnRzIG9ubHkpLgorCiAyMDEzLTA2LTA3ICBUaG9tYXMgRGVuaWF1ICA8ZGVuaWF1
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXByb2R1Y2libGUgY3Jhc2ggd2l0aCB0cmlwbGUtZmlu
Z2VyLXRhcCAiZGVmaW5lIHdvcmQiIGdlc3R1cmUgb24gYSBOZXRmbGl4IHZpZGVvCkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0NvbnRleHRNZW51SXRlbVR5
cGVzLmgJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9X
S0NvbnRleHRNZW51SXRlbVR5cGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMCw3ICsxMTAsMTEg
QEAgZW51bSB7CiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1RvQ2xpcGJv
YXJkLAogICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMsCiAgICAg
a1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wLAorI2lmIFBMQVRGT1JNKE1BQykK
KyAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW4sCisjZWxzZQog
ICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuLAorI2VuZGlmCiAg
ICAga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2UsCiAgICAga1dLQ29udGV4dE1l
bnVJdGVtVGFnTWVkaWFNdXRlLAogICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ0RpY3RhdGlvbkFs
dGVybmF0aXZlLApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJ
Q2FzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJl
ZEFQSUNhc3QuaAkocmV2aXNpb24gMTUxMzM0KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLU2hhcmVkQVBJQ2FzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC00NjgsOCArNDY4LDEzIEBA
IGlubGluZSBXS0NvbnRleHRNZW51SXRlbVRhZyB0b0FQSShXZWJDb3IKICAgICAgICAgcmV0dXJu
IGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHM7CiAgICAgY2FzZSBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A6CiAgICAgICAgIHJldHVybiBr
V0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A7CisjaWYgUExBVEZPUk0oTUFDKQor
ICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVu
OgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2Ny
ZWVuOworI2Vsc2UKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlk
ZW9GdWxsc2NyZWVuOgogICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJW
aWRlb0Z1bGxzY3JlZW47CisjZW5kaWYKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVRhZ01lZGlhUGxheVBhdXNlOgogICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFn
TWVkaWFQbGF5UGF1c2U7CiAgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdNZWRp
YU11dGU6CkBAIC02NTgsOCArNjYzLDEzIEBAIGlubGluZSBXZWJDb3JlOjpDb250ZXh0TWVudUFj
dGlvbiB0b0ltcGwKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1Rv
Z2dsZU1lZGlhQ29udHJvbHM7CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVN
ZWRpYUxvb3A6CiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUb2dn
bGVNZWRpYUxvb3A7CisjaWYgUExBVEZPUk0oTUFDKQorICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJ
dGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOworI2Vsc2UKICAgICBjYXNlIGtX
S0NvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgogICAgICAgICByZXR1cm4g
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW47CisjZW5kaWYK
ICAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlOgogICAgICAgICBy
ZXR1cm4gV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U7CiAgICAgY2Fz
ZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204076</attachid>
            <date>2013-06-07 17:42:41 -0700</date>
            <delta_ts>2013-06-07 18:44:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117220-20130607174107.patch</filename>
            <type>text/plain</type>
            <size>14267</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNTEzNDQpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEzLTA2LTA3ICBSdXRoIEZvbmcgIDxydXRoX2Zv
bmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBmdWxsc2NyZWVuIG9u
IDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogd3RmL0ZlYXR1cmVEZWZpbmVzLmg6IEFkZGVkIFRPR0dMRV9WSURFT19GVUxM
U0NSRUVOIGZlYXR1cmUKKyAgICAgICAgdG8gYWxsb3cgcG9ydHMgdG8gZW5hYmxlIHRoZSBhYmls
aXR5IHRvIHRvZ2dsZSB2aWRlbyBmdWxsc2NyZWVuCisgICAgICAgIGZyb20gY29udGV4dCBtZW51
cyBvbiA8dmlkZW8+IGVsZW1lbnRzLgorCiAyMDEzLTA2LTA3ICBSb2dlciBGb25nICA8cm9nZXJf
Zm9uZ0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gTWFrZWZpbGUgZml4LiBDb3B5
IFdURi5kbGwgb3ZlciBhcyB3ZWxsLgpJbmRleDogU291cmNlL1dURi93dGYvRmVhdHVyZURlZmlu
ZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCShyZXZp
c2lvbiAxNTEzMzQpCisrKyBTb3VyY2UvV1RGL3d0Zi9GZWF0dXJlRGVmaW5lcy5oCSh3b3JraW5n
IGNvcHkpCkBAIC03NTIsNiArNzUyLDEwIEBACiAjZGVmaW5lIEVOQUJMRV9USFJFQURFRF9TQ1JP
TExJTkcgMAogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfVE9HR0xFX1ZJREVPX0ZVTExT
Q1JFRU4pCisjZGVmaW5lIEVOQUJMRV9UT0dHTEVfVklERU9fRlVMTFNDUkVFTiAxCisjZW5kaWYK
KwogI2lmICFkZWZpbmVkKEVOQUJMRV9UT1VDSF9FVkVOVFMpCiAjZGVmaW5lIEVOQUJMRV9UT1VD
SF9FVkVOVFMgMAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTEzNDQpCisrKyBT
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzMyBAQAor
MjAxMy0wNi0wNyAgUnV0aCBGb25nICA8cnV0aF9mb25nQGFwcGxlLmNvbT4KKworICAgICAgICBB
bGxvdyBmb3IgdG9nZ2xpbmcgZnVsbHNjcmVlbiBvbiA8dmlkZW8+IGVsZW1lbnRzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTcyMjAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGb3IgTWFjLCB0aGlzIHBh
dGNoIGFsbG93cyB0aGUgZnVsbHNjcmVlbiAKKyAgICAgICAgY29udGV4dCBtZW51IGl0ZW0gb24g
PHZpZGVvPiBlbGVtZW50cyB0byBzd2l0Y2ggYmV0d2VlbiAiRW50ZXIgRnVsbHNjcmVlbiIKKyAg
ICAgICAgYW5kICJFeGl0IEZ1bGxzY3JlZW4iIGFuZCBiZWhhdmUgYXBwcm9wcmlhdGVseS4gCisK
KyAgICAgICAgTm8gbmV3IHRlc3RzIGFkZGVkLiBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9uLmh0
bWwsCisgICAgICAgIHdoaWNoIGhhcyBiZWVuIGRpc2FibGVkIGJ5IGJ1ZyAxMTY2NTEsIGlzIHVz
ZWQgdG8gdGVzdCBjb250ZXh0IG1lbnVzLgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9Mb2Nh
bGl6YWJsZS5zdHJpbmdzOiBBZGQgIkV4aXQgRnVsbHNjcmVlbiIgc3RyaW5nLgorICAgICAgICAq
IGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUpOiBBZGRlZCB0byBhcHByb3ByaWF0ZWx5IGVu
dGVyL2V4aXQgZnVsbHNjcmVlbi4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoK
KyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgICogcGxh
dGZvcm0vQ29udGV4dE1lbnVJdGVtLmg6CisgICAgICAgICogcGxhdGZvcm0vTG9jYWxpemVkU3Ry
aW5ncy5jcHA6CisgICAgICAgICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oOgorICAgICAg
ICBVcGRhdGVkIHRvIHJlbmFtZSB2YXJpYWJsZXMgbW9yZSBhcHByb3ByaWF0ZWx5IHRvIHJlZmxl
Y3QgdGhlIHRvZ2dsZS1hYmlsaXR5IG9mIHZpZGVvIGZ1bGxzY3JlZW4uCisgICAgICAgICogcmVu
ZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3Vs
dDo6bWVkaWFJc0luRnVsbHNjcmVlbik6IEFkZGVkIHRvIGNoZWNrIGlmIGFuIGVsZW1lbnQKKyAg
ICAgICAgd2FzIGEgbWVkaWEgZWxlbWVudCBpbiBmdWxsc2NyZWVuLgorICAgICAgICAoV2ViQ29y
ZTo6SGl0VGVzdFJlc3VsdDo6dG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUpOiBBZGRlZCB0byBo
b29rIGludG8gCisgICAgICAgIEhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZUZ1bGxzY3JlZW5TdGF0
ZS4KKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oOgorCiAyMDEzLTA2LTA3ICBB
bGV4YW5kcnUgQ2hpY3VsaXRhICA8YWNoaWN1QGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIFJl
Z2lvbnNdIExheWVycyBpbnNpZGUgdGhlIFJlbmRlckZsb3dUaHJlYWQgc2hvdWxkIGJlIGNvbGxl
Y3RlZCBieSB0aGUgbGF5ZXIgb2YgUmVuZGVyVmlldwpJbmRleDogU291cmNlL1dlYkNvcmUvRW5n
bGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL0VuZ2xpc2gubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwkocmV2aXNpb24gMTUxMzM0KQor
KysgU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNzUsNiArMTc1LDkgQEAKIAAvACoAIABWAGkAZABlAG8AIABFAG4AdABl
AHIAIABGAHUAbABsAHMAYwByAGUAZQBuACAAYwBvAG4AdABlAHgAdAAgAG0AZQBuAHUAIABpAHQA
ZQBtACAAKgAvAAogACIARQBuAHQAZQByACAARgB1AGwAbABzAGMAcgBlAGUAbgAiACAAPQAgACIA
RQBuAHQAZQByACAARgB1AGwAbABzAGMAcgBlAGUAbgAiADsACiAACisALwAqACAAVgBpAGQAZQBv
ACAARQB4AGkAdAAgAEYAdQBsAGwAcwBjAHIAZQBlAG4AIABjAG8AbgB0AGUAeAB0ACAAbQBlAG4A
dQAgAGkAdABlAG0AIAAqAC8ACisAIgBFAHgAaQB0ACAARgB1AGwAbABzAGMAcgBlAGUAbgAiACAA
PQAgACIARQB4AGkAdAAgAEYAdQBsAGwAcwBjAHIAZQBlAG4AIgA7AAorAAogAC8AKgAgAEQAZQBm
AGEAdQBsAHQAIABhAHAAcABsAGkAYwBhAHQAaQBvAG4AIABuAGEAbQBlACAAZgBvAHIAIABPAHAA
ZQBuACAAVwBpAHQAaAAgAGMAbwBuAHQAZQB4AHQAIABtAGUAbgB1ACAAKgAvAAogACIARgBpAG4A
ZABlAHIAIgAgAD0AIAAiAEYAaQBuAGQAZQByACIAOwAKIAAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkocmV2aXNpb24gMTUxMzM0KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDM2Miw2
ICs0MzYyLDE4IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6aXNGdWxsc2NyZWVuKCkgY28KICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKKyNpZiBFTkFCTEUoVE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU4p
Cit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZUZ1bGxzY3JlZW5TdGF0ZSgpCit7CisgICAg
TE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRlIC0gaXNG
dWxsc2NyZWVuKCkgaXMgJXMiLCBib29sU3RyaW5nKGlzRnVsbHNjcmVlbigpKSk7CisgICAgCisg
ICAgaWYgKGlzRnVsbHNjcmVlbigpKQorICAgICAgICBleGl0RnVsbHNjcmVlbigpOworICAgIGVs
c2UKKyAgICAgICAgZW50ZXJGdWxsc2NyZWVuKCk7Cit9CisjZW5kaWYKKwogdm9pZCBIVE1MTWVk
aWFFbGVtZW50OjplbnRlckZ1bGxzY3JlZW4oKQogewogICAgIExPRyhNZWRpYSwgIkhUTUxNZWRp
YUVsZW1lbnQ6OmVudGVyRnVsbHNjcmVlbiIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TWVkaWFFbGVtZW50LmgJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzcsNiArMzM3LDkgQEAgcHVi
bGljOgogICAgIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCB7IHJldHVybiAh
bV9wbGF5ZXIgfHwgbV9wbGF5ZXItPmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCk7IH0KICAgICAK
ICAgICBib29sIGlzRnVsbHNjcmVlbigpIGNvbnN0OworI2lmIEVOQUJMRShUT0dHTEVfVklERU9f
RlVMTFNDUkVFTikKKyAgICB2b2lkIHRvZ2dsZUZ1bGxzY3JlZW5TdGF0ZSgpOworI2VuZGlmCiAg
ICAgdm9pZCBlbnRlckZ1bGxzY3JlZW4oKTsKICAgICB2b2lkIGV4aXRGdWxsc2NyZWVuKCk7CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAJ
KHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250
cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYzLDkgKzI2MywxNSBAQCB2b2lkIENvbnRl
eHRNZW51Q29udHJvbGxlcjo6Y29udGV4dE1lbnVJCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVNZWRpYUxvb3A6CiAgICAgICAgIG1faGl0VGVzdFJlc3VsdC50b2dnbGVNZWRpYUxv
b3BQbGF5YmFjaygpOwogICAgICAgICBicmVhazsKKyNpZiBFTkFCTEUoVE9HR0xFX1ZJREVPX0ZV
TExTQ1JFRU4pCisgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3Jl
ZW46CisgICAgICAgIG1faGl0VGVzdFJlc3VsdC50b2dnbGVNZWRpYUZ1bGxzY3JlZW5TdGF0ZSgp
OworICAgICAgICBicmVhazsKKyNlbHNlCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdFbnRl
clZpZGVvRnVsbHNjcmVlbjoKICAgICAgICAgbV9oaXRUZXN0UmVzdWx0LmVudGVyRnVsbHNjcmVl
bkZvclZpZGVvKCk7CiAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgY2FzZSBDb250ZXh0TWVu
dUl0ZW1UYWdNZWRpYVBsYXlQYXVzZToKICAgICAgICAgbV9oaXRUZXN0UmVzdWx0LnRvZ2dsZU1l
ZGlhUGxheVN0YXRlKCk7CiAgICAgICAgIGJyZWFrOwpAQCAtNzYyLDggKzc2OCwxMyBAQCB2b2lk
IENvbnRleHRNZW51Q29udHJvbGxlcjo6cG9wdWxhdGUoKQogICAgICAgICBjb250ZXh0TWVudUl0
ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzKCkpOwogICAgIENvbnRleHRNZW51SXRlbSBUb2dnbGVN
ZWRpYUxvb3AoQ2hlY2thYmxlQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVk
aWFMb29wLCAKICAgICAgICAgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wKCkpOwot
ICAgIENvbnRleHRNZW51SXRlbSBFbnRlclZpZGVvRnVsbHNjcmVlbihBY3Rpb25UeXBlLCBDb250
ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbiwgCisjaWYgRU5BQkxFKFRPR0dMRV9W
SURFT19GVUxMU0NSRUVOKQorICAgIENvbnRleHRNZW51SXRlbSBFbnRlclZpZGVvRnVsbHNjcmVl
bihBY3Rpb25UeXBlLCBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW4sCisg
ICAgICAgIGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCkpOworI2Vsc2UK
KyAgICBDb250ZXh0TWVudUl0ZW0gRW50ZXJWaWRlb0Z1bGxzY3JlZW4oQWN0aW9uVHlwZSwgQ29u
dGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4sCiAgICAgICAgIGNvbnRleHRNZW51
SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCkpOworI2VuZGlmCiAjaWYgUExBVEZPUk0oTUFD
KQogICAgIENvbnRleHRNZW51SXRlbSBTZWFyY2hTcG90bGlnaHRJdGVtKEFjdGlvblR5cGUsIENv
bnRleHRNZW51SXRlbVRhZ1NlYXJjaEluU3BvdGxpZ2h0LCAKICAgICAgICAgY29udGV4dE1lbnVJ
dGVtVGFnU2VhcmNoSW5TcG90bGlnaHQoKSk7CkBAIC0xMzQyLDkgKzEzNTMsMTggQEAgdm9pZCBD
b250ZXh0TWVudUNvbnRyb2xsZXI6OmNoZWNrT3JFbmFibAogICAgICAgICBjYXNlIENvbnRleHRN
ZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAgICAgIHNob3VsZENoZWNrID0gbV9o
aXRUZXN0UmVzdWx0Lm1lZGlhTG9vcEVuYWJsZWQoKTsKICAgICAgICAgICAgIGJyZWFrOworI2lm
IEVOQUJMRShUT0dHTEVfVklERU9fRlVMTFNDUkVFTikKKyAgICAgICAgY2FzZSBDb250ZXh0TWVu
dUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW46CisgICAgICAgICAgICBpZiAoIW1faGl0VGVz
dFJlc3VsdC5tZWRpYUlzSW5GdWxsc2NyZWVuKCkpCisgICAgICAgICAgICAgICAgaXRlbS5zZXRU
aXRsZShjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpKTsKKyAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICBpdGVtLnNldFRpdGxlKGNvbnRleHRNZW51SXRlbVRh
Z0V4aXRWaWRlb0Z1bGxzY3JlZW4oKSk7CisgICAgICAgICAgICBicmVhazsKKyNlbHNlCiAgICAg
ICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW46CiAgICAgICAg
ICAgICBzaG91bGRFbmFibGUgPSBtX2hpdFRlc3RSZXN1bHQubWVkaWFTdXBwb3J0c0Z1bGxzY3Jl
ZW4oKTsKICAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgICAgIGNhc2UgQ29udGV4dE1l
bnVJdGVtVGFnT3BlbkZyYW1lSW5OZXdXaW5kb3c6CiAgICAgICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnU3BlbGxpbmdHdWVzczoKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdPdGhl
cjoKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCShyZXZp
c2lvbiAxNTEzMzQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0u
aAkod29ya2luZyBjb3B5KQpAQCAtMTU2LDcgKzE1NiwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ0NvcHlNZWRpYUxpbmtUb0NsaXBib2FyZCwKICAg
ICAgICAgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scywKICAgICAgICAgQ29u
dGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wLAorI2lmIEVOQUJMRShUT0dHTEVfVklERU9f
RlVMTFNDUkVFTikKKyAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2Ny
ZWVuLAorI2Vsc2UKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3Jl
ZW4sCisjZW5kaWYKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2UsCiAg
ICAgICAgIENvbnRleHRNZW51SXRlbVRhZ01lZGlhTXV0ZSwKICAgICAgICAgQ29udGV4dE1lbnVJ
dGVtVGFnRGljdGF0aW9uQWx0ZXJuYXRpdmUsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAkocmV2aXNpb24gMTUxMzM0KQorKysgU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5
NCw2ICs0OTQsMTMgQEAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxscwog
ICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJFbnRlciBGdWxsc2NyZWVuIiwgIlZpZGVvIEVudGVy
IEZ1bGxzY3JlZW4gY29udGV4dCBtZW51IGl0ZW0iKTsKIH0KIAorI2lmIEVOQUJMRShUT0dHTEVf
VklERU9fRlVMTFNDUkVFTikKK1N0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFeGl0VmlkZW9GdWxs
c2NyZWVuKCkKK3sKKyAgICByZXR1cm4gV0VCX1VJX1NUUklORygiRXhpdCBGdWxsc2NyZWVuIiwg
IlZpZGVvIEV4aXQgRnVsbHNjcmVlbiBjb250ZXh0IG1lbnUgaXRlbSIpOworfQorI2VuZGlmCisK
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXkoKQogewogICAgIHJldHVybiBXRUJf
VUlfU1RSSU5HKCJQbGF5IiwgIk1lZGlhIFBsYXkgY29udGV4dCBtZW51IGl0ZW0iKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgJKHJldmlzaW9uIDE1
MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuaAkod29y
a2luZyBjb3B5KQpAQCAtMTM3LDYgKzEzNyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scygpOwogICAgIFN0cmlu
ZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AoKTsKICAgICBTdHJpbmcgY29udGV4
dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4oKTsKKyNpZiBFTkFCTEUoVE9HR0xFX1ZJ
REVPX0ZVTExTQ1JFRU4pCisgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1
bGxzY3JlZW4oKTsKKyNlbmRpZgogICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBs
YXkoKTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQYXVzZSgpOwogICAgIFN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
Mzk5LDYgKzM5OSwyOSBAQCB2b2lkIEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZU1lZGlhTG9vcFBsYXli
CiAjZW5kaWYKIH0KIAorYm9vbCBIaXRUZXN0UmVzdWx0OjptZWRpYUlzSW5GdWxsc2NyZWVuKCkg
Y29uc3QKK3sKKyNpZiBFTkFCTEUoVklERU8pCisgICAgaWYgKEhUTUxNZWRpYUVsZW1lbnQqIG1l
ZGlhRWxlbWVudCA9IHRoaXMtPm1lZGlhRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gbWVkaWFF
bGVtZW50LT5pc1ZpZGVvKCkgJiYgbWVkaWFFbGVtZW50LT5pc0Z1bGxzY3JlZW4oKTsKKyNlbmRp
ZgorICAgIHJldHVybiBmYWxzZTsKK30KKworI2lmIEVOQUJMRShUT0dHTEVfVklERU9fRlVMTFND
UkVFTikKK3ZvaWQgSGl0VGVzdFJlc3VsdDo6dG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKSBj
b25zdAoreworI2lmIEVOQUJMRShWSURFTykKKyAgICBpZiAoSFRNTE1lZGlhRWxlbWVudCogbWVk
aWFFbGVtZW50ID0gdGhpcy0+bWVkaWFFbGVtZW50KCkpIHsKKyAgICAgICAgaWYgKG1lZGlhRWxl
bWVudC0+aXNWaWRlbygpICYmIG1lZGlhRWxlbWVudC0+c3VwcG9ydHNGdWxsc2NyZWVuKCkpIHsK
KyAgICAgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNhdG9yIGluZGljYXRvcihEZWZpbml0ZWx5UHJv
Y2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKKyAgICAgICAgICAgIG1lZGlhRWxlbWVudC0+dG9nZ2xl
RnVsbHNjcmVlblN0YXRlKCk7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKK30KKyNlbmRpZgor
CiB2b2lkIEhpdFRlc3RSZXN1bHQ6OmVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCkgY29uc3QKIHsK
ICNpZiBFTkFCTEUoVklERU8pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVz
dFJlc3VsdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0
UmVzdWx0LmgJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9I
aXRUZXN0UmVzdWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTExMiw2ICsxMTIsMTAgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNDb250ZW50RWRpdGFibGUoKSBjb25zdDsKICAgICB2b2lkIHRvZ2dsZU1l
ZGlhQ29udHJvbHNEaXNwbGF5KCkgY29uc3Q7CiAgICAgdm9pZCB0b2dnbGVNZWRpYUxvb3BQbGF5
YmFjaygpIGNvbnN0OworICAgIGJvb2wgbWVkaWFJc0luRnVsbHNjcmVlbigpIGNvbnN0OworI2lm
IEVOQUJMRShUT0dHTEVfVklERU9fRlVMTFNDUkVFTikKKyAgICB2b2lkIHRvZ2dsZU1lZGlhRnVs
bHNjcmVlblN0YXRlKCkgY29uc3Q7CisjZW5kaWYKICAgICB2b2lkIGVudGVyRnVsbHNjcmVlbkZv
clZpZGVvKCkgY29uc3Q7CiAgICAgYm9vbCBtZWRpYUNvbnRyb2xzRW5hYmxlZCgpIGNvbnN0Owog
ICAgIGJvb2wgbWVkaWFMb29wRW5hYmxlZCgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNp
b24gMTUxMzQ0KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTMtMDYtMDcgIFJ1dGggRm9uZyAgPHJ1dGhfZm9uZ0BhcHBsZS5j
b20+CisKKyAgICAgICAgQWxsb3cgZm9yIHRvZ2dsaW5nIGZ1bGxzY3JlZW4gb24gPHZpZGVvPiBl
bGVtZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE3MjIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oOgorICAgICAgICAqIFNoYXJl
ZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaDoKKyAgICAgICAgVXBkYXRlZCB0byByZW5hbWUgdmFy
aWFibGVzIGFwcHJvcHJpYXRlbHkgdG8gcmVmbGVjdCB0aGUgdG9nZ2xlLWFiaWxpdHkgb2YKKyAg
ICAgICAgdmlkZW8gZnVsbHNjcmVlbiAoYWZmZWN0cyBNYWMgb25seSkuCisKIDIwMTMtMDYtMDcg
IEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBDb2FsZXNj
ZSBtdWx0aXBsZSBjYWxscyB0byBXZWJQYWdlUHJveHk6OndpbmRvd0FuZFZpZXdGcmFtZXNDaGFu
Z2VkCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1U
eXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0NvbnRl
eHRNZW51SXRlbVR5cGVzLmgJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9XS0NvbnRleHRNZW51SXRlbVR5cGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEx
Nyw2ICsxMTcsNyBAQCBlbnVtIHsKICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VV
cmxUb0NsaXBib2FyZCwKICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdTZWxlY3RBbGwsCiAgICAg
a1dLQ29udGV4dE1lbnVJdGVtVGFnT3BlbkxpbmtJblRoaXNXaW5kb3csCisgICAga1dLQ29udGV4
dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuLAogICAgIGtXS0NvbnRleHRNZW51SXRl
bUJhc2VBcHBsaWNhdGlvblRhZyA9IDEwMDAwCiB9OwogdHlwZWRlZiB1aW50MzJfdCBXS0NvbnRl
eHRNZW51SXRlbVRhZzsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJl
ZEFQSUNhc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tT
aGFyZWRBUElDYXN0LmgJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNDY4LDggKzQ2OCwx
MyBAQCBpbmxpbmUgV0tDb250ZXh0TWVudUl0ZW1UYWcgdG9BUEkoV2ViQ29yCiAgICAgICAgIHJl
dHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzOwogICAgIGNhc2Ug
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgogICAgICAgICByZXR1
cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOworI2lmIEVOQUJMRShUT0dH
TEVfVklERU9fRlVMTFNDUkVFTikKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRh
Z1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjoKKyAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRl
bVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjsKKyNlbHNlCiAgICAgY2FzZSBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKICAgICAgICAgcmV0dXJuIGtXS0Nv
bnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOworI2VuZGlmCiAgICAgY2FzZSBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZToKICAgICAgICAgcmV0dXJu
IGtXS0NvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlOwogICAgIGNhc2UgV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlOgpAQCAtNjU4LDggKzY2MywxMyBAQCBpbmxpbmUg
V2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24gdG9JbXBsCiAgICAgICAgIHJldHVybiBXZWJDb3Jl
OjpDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzOwogICAgIGNhc2Uga1dLQ29u
dGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOworI2lmIEVOQUJMRShUT0dHTEVfVklE
RU9fRlVMTFNDUkVFTikKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVv
RnVsbHNjcmVlbjoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1Rv
Z2dsZVZpZGVvRnVsbHNjcmVlbjsKKyNlbHNlCiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1U
YWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOworI2VuZGlmCiAgICAgY2FzZSBrV0tDb250
ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZToKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlOwogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJ
dGVtVGFnTWVkaWFNdXRlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204078</attachid>
            <date>2013-06-07 18:44:40 -0700</date>
            <delta_ts>2013-06-08 18:42:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117220-20130607184306.patch</filename>
            <type>text/plain</type>
            <size>12399</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTM0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA2LTA3ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBm
dWxsc2NyZWVuIG9uIDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgYWJpbGl0eSBmb3IgZnVs
bHNjcmVlbiAKKyAgICAgICAgY29udGV4dCBtZW51IGl0ZW0gb24gPHZpZGVvPiBlbGVtZW50cyB0
byBzd2l0Y2ggYmV0d2VlbiAiRW50ZXIgRnVsbHNjcmVlbiIKKyAgICAgICAgYW5kICJFeGl0IEZ1
bGxzY3JlZW4iIGFuZCBiZWhhdmUgYXBwcm9wcmlhdGVseS4gCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIGFkZGVkLiBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9uLmh0bWwsCisgICAgICAgIHdoaWNo
IGhhcyBiZWVuIGRpc2FibGVkIGJ5IGJ1ZyAxMTY2NTEsIGlzIHVzZWQgdG8gdGVzdCBjb250ZXh0
IG1lbnVzLgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOiBB
ZGQgIkV4aXQgRnVsbHNjcmVlbiIgc3RyaW5nLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxs
c2NyZWVuU3RhdGUpOiBBZGRlZCB0byBhcHByb3ByaWF0ZWx5IGVudGVyL2V4aXQgZnVsbHNjcmVl
bi4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vQ29udGV4dE1lbnVJ
dGVtLmg6CisgICAgICAgICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHA6CisgICAgICAg
ICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oOgorICAgICAgICBVcGRhdGVkIHRvIHJlbmFt
ZSB2YXJpYWJsZXMgbW9yZSBhcHByb3ByaWF0ZWx5IHRvIHJlZmxlY3QgdGhlIHRvZ2dsZS1hYmls
aXR5IG9mIHZpZGVvIGZ1bGxzY3JlZW4uCisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1
bHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6bWVkaWFJc0luRnVsbHNj
cmVlbik6IEFkZGVkIHRvIGNoZWNrIGlmIGFuIGVsZW1lbnQKKyAgICAgICAgd2FzIGEgbWVkaWEg
ZWxlbWVudCBpbiBmdWxsc2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6
dG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUpOiBBZGRlZCB0byBob29rIGludG8gCisgICAgICAg
IEhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZUZ1bGxzY3JlZW5TdGF0ZS4KKyAgICAgICAgKiByZW5k
ZXJpbmcvSGl0VGVzdFJlc3VsdC5oOgorCiAyMDEzLTA2LTA3ICBBbGV4YW5kcnUgQ2hpY3VsaXRh
ICA8YWNoaWN1QGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIFJlZ2lvbnNdIExheWVycyBpbnNp
ZGUgdGhlIFJlbmRlckZsb3dUaHJlYWQgc2hvdWxkIGJlIGNvbGxlY3RlZCBieSB0aGUgbGF5ZXIg
b2YgUmVuZGVyVmlldwpJbmRleDogU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9Mb2NhbGl6
YWJsZS5zdHJpbmdzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ov
TG9jYWxpemFibGUuc3RyaW5ncwkocmV2aXNpb24gMTUxMzM0KQorKysgU291cmNlL1dlYkNvcmUv
RW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCSh3b3JraW5nIGNvcHkpCkBAIC0xNzUs
NiArMTc1LDkgQEAKIAAvACoAIABWAGkAZABlAG8AIABFAG4AdABlAHIAIABGAHUAbABsAHMAYwBy
AGUAZQBuACAAYwBvAG4AdABlAHgAdAAgAG0AZQBuAHUAIABpAHQAZQBtACAAKgAvAAogACIARQBu
AHQAZQByACAARgB1AGwAbABzAGMAcgBlAGUAbgAiACAAPQAgACIARQBuAHQAZQByACAARgB1AGwA
bABzAGMAcgBlAGUAbgAiADsACiAACisALwAqACAAVgBpAGQAZQBvACAARQB4AGkAdAAgAEYAdQBs
AGwAcwBjAHIAZQBlAG4AIABjAG8AbgB0AGUAeAB0ACAAbQBlAG4AdQAgAGkAdABlAG0AIAAqAC8A
CisAIgBFAHgAaQB0ACAARgB1AGwAbABzAGMAcgBlAGUAbgAiACAAPQAgACIARQB4AGkAdAAgAEYA
dQBsAGwAcwBjAHIAZQBlAG4AIgA7AAorAAogAC8AKgAgAEQAZQBmAGEAdQBsAHQAIABhAHAAcABs
AGkAYwBhAHQAaQBvAG4AIABuAGEAbQBlACAAZgBvAHIAIABPAHAAZQBuACAAVwBpAHQAaAAgAGMA
bwBuAHQAZQB4AHQAIABtAGUAbgB1ACAAKgAvAAogACIARgBpAG4AZABlAHIAIgAgAD0AIAAiAEYA
aQBuAGQAZQByACIAOwAKIAAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAkocmV2aXNpb24gMTUxMzM0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDM2Miw2ICs0MzYyLDE2IEBAIGJvb2wg
SFRNTE1lZGlhRWxlbWVudDo6aXNGdWxsc2NyZWVuKCkgY28KICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRlKCkKK3sKKyAg
ICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUgLSBp
c0Z1bGxzY3JlZW4oKSBpcyAlcyIsIGJvb2xTdHJpbmcoaXNGdWxsc2NyZWVuKCkpKTsKKyAgICAK
KyAgICBpZiAoaXNGdWxsc2NyZWVuKCkpCisgICAgICAgIGV4aXRGdWxsc2NyZWVuKCk7CisgICAg
ZWxzZQorICAgICAgICBlbnRlckZ1bGxzY3JlZW4oKTsKK30KKwogdm9pZCBIVE1MTWVkaWFFbGVt
ZW50OjplbnRlckZ1bGxzY3JlZW4oKQogewogICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1l
bnQ6OmVudGVyRnVsbHNjcmVlbiIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzcsNiArMzM3LDcgQEAgcHVibGljOgog
ICAgIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCB7IHJldHVybiAhbV9wbGF5
ZXIgfHwgbV9wbGF5ZXItPmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCk7IH0KICAgICAKICAgICBi
b29sIGlzRnVsbHNjcmVlbigpIGNvbnN0OworICAgIHZvaWQgdG9nZ2xlRnVsbHNjcmVlblN0YXRl
KCk7CiAgICAgdm9pZCBlbnRlckZ1bGxzY3JlZW4oKTsKICAgICB2b2lkIGV4aXRGdWxsc2NyZWVu
KCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5jcHAJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYzLDYgKzI2Myw5IEBAIHZvaWQg
Q29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUkKICAgICBjYXNlIENvbnRleHRNZW51
SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAgbV9oaXRUZXN0UmVzdWx0LnRvZ2dsZU1l
ZGlhTG9vcFBsYXliYWNrKCk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICBtX2hpdFRlc3RSZXN1bHQudG9n
Z2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKICAgICAgICAgbV9oaXRUZXN0UmVz
dWx0LmVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCk7CiAgICAgICAgIGJyZWFrOwpAQCAtNzYyLDcg
Kzc2NSw5IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgpCiAgICAgICAg
IGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMoKSk7CiAgICAgQ29udGV4dE1l
bnVJdGVtIFRvZ2dsZU1lZGlhTG9vcChDaGVja2FibGVBY3Rpb25UeXBlLCBDb250ZXh0TWVudUl0
ZW1UYWdUb2dnbGVNZWRpYUxvb3AsIAogICAgICAgICBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVN
ZWRpYUxvb3AoKSk7Ci0gICAgQ29udGV4dE1lbnVJdGVtIEVudGVyVmlkZW9GdWxsc2NyZWVuKEFj
dGlvblR5cGUsIENvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuLCAKKyAgICBD
b250ZXh0TWVudUl0ZW0gRW50ZXJWaWRlb0Z1bGxzY3JlZW4oQWN0aW9uVHlwZSwgQ29udGV4dE1l
bnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4sCisgICAgICAgIGNvbnRleHRNZW51SXRlbVRh
Z0VudGVyVmlkZW9GdWxsc2NyZWVuKCkpOworICAgIENvbnRleHRNZW51SXRlbSBUb2dnbGVWaWRl
b0Z1bGxzY3JlZW4oQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxs
c2NyZWVuLAogICAgICAgICBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigp
KTsKICNpZiBQTEFURk9STShNQUMpCiAgICAgQ29udGV4dE1lbnVJdGVtIFNlYXJjaFNwb3RsaWdo
dEl0ZW0oQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnU2VhcmNoSW5TcG90bGlnaHQsIApA
QCAtODQ1LDYgKzg1MCw3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgp
CiAgICAgICAgICAgICBhcHBlbmRJdGVtKE1lZGlhTXV0ZSwgbV9jb250ZXh0TWVudS5nZXQoKSk7
CiAgICAgICAgICAgICBhcHBlbmRJdGVtKFRvZ2dsZU1lZGlhQ29udHJvbHMsIG1fY29udGV4dE1l
bnUuZ2V0KCkpOwogICAgICAgICAgICAgYXBwZW5kSXRlbShUb2dnbGVNZWRpYUxvb3AsIG1fY29u
dGV4dE1lbnUuZ2V0KCkpOworICAgICAgICAgICAgYXBwZW5kSXRlbShUb2dnbGVWaWRlb0Z1bGxz
Y3JlZW4sIG1fY29udGV4dE1lbnUuZ2V0KCkpOwogICAgICAgICAgICAgYXBwZW5kSXRlbShFbnRl
clZpZGVvRnVsbHNjcmVlbiwgbV9jb250ZXh0TWVudS5nZXQoKSk7CiAKICAgICAgICAgICAgIGFw
cGVuZEl0ZW0oKnNlcGFyYXRvckl0ZW0oKSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CkBAIC0xMzQy
LDYgKzEzNDgsMTIgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNoZWNrT3JFbmFibAog
ICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAg
ICAgIHNob3VsZENoZWNrID0gbV9oaXRUZXN0UmVzdWx0Lm1lZGlhTG9vcEVuYWJsZWQoKTsKICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZp
ZGVvRnVsbHNjcmVlbjoKKyAgICAgICAgICAgIGlmICghbV9oaXRUZXN0UmVzdWx0Lm1lZGlhSXNJ
bkZ1bGxzY3JlZW4oKSkKKyAgICAgICAgICAgICAgICBpdGVtLnNldFRpdGxlKGNvbnRleHRNZW51
SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCkpOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIGl0ZW0uc2V0VGl0bGUoY29udGV4dE1lbnVJdGVtVGFnRXhpdFZpZGVvRnVsbHNj
cmVlbigpKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRl
bVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgogICAgICAgICAgICAgc2hvdWxkRW5hYmxlID0gbV9o
aXRUZXN0UmVzdWx0Lm1lZGlhU3VwcG9ydHNGdWxsc2NyZWVuKCk7CiAgICAgICAgICAgICBicmVh
azsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oCShyZXZp
c2lvbiAxNTEzMzQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0u
aAkod29ya2luZyBjb3B5KQpAQCAtMTU2LDYgKzE1Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnQ29weU1lZGlhTGlua1RvQ2xpcGJvYXJkLAogICAg
ICAgICBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzLAogICAgICAgICBDb250
ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3AsCisgICAgICAgIENvbnRleHRNZW51SXRlbVRh
Z1RvZ2dsZVZpZGVvRnVsbHNjcmVlbiwKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJW
aWRlb0Z1bGxzY3JlZW4sCiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNl
LAogICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUsCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmNwcAkocmV2aXNpb24gMTUxMzM0KQor
KysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ5NCw2ICs0OTQsMTEgQEAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ0VudGVy
VmlkZW9GdWxscwogICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJFbnRlciBGdWxsc2NyZWVuIiwg
IlZpZGVvIEVudGVyIEZ1bGxzY3JlZW4gY29udGV4dCBtZW51IGl0ZW0iKTsKIH0KIAorU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKQoreworICAgIHJldHVybiBX
RUJfVUlfU1RSSU5HKCJFeGl0IEZ1bGxzY3JlZW4iLCAiVmlkZW8gRXhpdCBGdWxsc2NyZWVuIGNv
bnRleHQgbWVudSBpdGVtIik7Cit9CisKIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBs
YXkoKQogewogICAgIHJldHVybiBXRUJfVUlfU1RSSU5HKCJQbGF5IiwgIk1lZGlhIFBsYXkgY29u
dGV4dCBtZW51IGl0ZW0iKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXpl
ZFN0cmluZ3MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6
ZWRTdHJpbmdzLmgJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xvY2FsaXplZFN0cmluZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMTM3LDYgKzEzNyw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVk
aWFDb250cm9scygpOwogICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxv
b3AoKTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4o
KTsKKyAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnRXhpdFZpZGVvRnVsbHNjcmVlbigpOwog
ICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXkoKTsKICAgICBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnTWVkaWFQYXVzZSgpOwogICAgIFN0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdNZWRpYU11dGUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVz
dWx0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJl
c3VsdC5jcHAJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9I
aXRUZXN0UmVzdWx0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzk5LDYgKzM5OSwyNyBAQCB2b2lk
IEhpdFRlc3RSZXN1bHQ6OnRvZ2dsZU1lZGlhTG9vcFBsYXliCiAjZW5kaWYKIH0KIAorYm9vbCBI
aXRUZXN0UmVzdWx0OjptZWRpYUlzSW5GdWxsc2NyZWVuKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUo
VklERU8pCisgICAgaWYgKEhUTUxNZWRpYUVsZW1lbnQqIG1lZGlhRWxlbWVudCA9IHRoaXMtPm1l
ZGlhRWxlbWVudCgpKQorICAgICAgICByZXR1cm4gbWVkaWFFbGVtZW50LT5pc1ZpZGVvKCkgJiYg
bWVkaWFFbGVtZW50LT5pc0Z1bGxzY3JlZW4oKTsKKyNlbmRpZgorICAgIHJldHVybiBmYWxzZTsK
K30KKwordm9pZCBIaXRUZXN0UmVzdWx0Ojp0b2dnbGVNZWRpYUZ1bGxzY3JlZW5TdGF0ZSgpIGNv
bnN0Cit7CisjaWYgRU5BQkxFKFZJREVPKQorICAgIGlmIChIVE1MTWVkaWFFbGVtZW50KiBtZWRp
YUVsZW1lbnQgPSB0aGlzLT5tZWRpYUVsZW1lbnQoKSkgeworICAgICAgICBpZiAobWVkaWFFbGVt
ZW50LT5pc1ZpZGVvKCkgJiYgbWVkaWFFbGVtZW50LT5zdXBwb3J0c0Z1bGxzY3JlZW4oKSkgewor
ICAgICAgICAgICAgVXNlckdlc3R1cmVJbmRpY2F0b3IgaW5kaWNhdG9yKERlZmluaXRlbHlQcm9j
ZXNzaW5nTmV3VXNlckdlc3R1cmUpOworICAgICAgICAgICAgbWVkaWFFbGVtZW50LT50b2dnbGVG
dWxsc2NyZWVuU3RhdGUoKTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgorfQorCiB2b2lkIEhp
dFRlc3RSZXN1bHQ6OmVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCkgY29uc3QKIHsKICNpZiBFTkFC
TEUoVklERU8pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgJ
KHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVz
dWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTExMiw2ICsxMTIsOCBAQCBwdWJsaWM6CiAgICAgYm9v
bCBpc0NvbnRlbnRFZGl0YWJsZSgpIGNvbnN0OwogICAgIHZvaWQgdG9nZ2xlTWVkaWFDb250cm9s
c0Rpc3BsYXkoKSBjb25zdDsKICAgICB2b2lkIHRvZ2dsZU1lZGlhTG9vcFBsYXliYWNrKCkgY29u
c3Q7CisgICAgYm9vbCBtZWRpYUlzSW5GdWxsc2NyZWVuKCkgY29uc3Q7CisgICAgdm9pZCB0b2dn
bGVNZWRpYUZ1bGxzY3JlZW5TdGF0ZSgpIGNvbnN0OwogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVu
Rm9yVmlkZW8oKSBjb25zdDsKICAgICBib29sIG1lZGlhQ29udHJvbHNFbmFibGVkKCkgY29uc3Q7
CiAgICAgYm9vbCBtZWRpYUxvb3BFbmFibGVkKCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxNTEzNDQpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNSBAQAorMjAxMy0wNi0wNyAgUnV0aCBGb25nICA8cnV0aF9mb25nQGFwcGxl
LmNvbT4KKworICAgICAgICBBbGxvdyBmb3IgdG9nZ2xpbmcgZnVsbHNjcmVlbiBvbiA8dmlkZW8+
IGVsZW1lbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTcyMjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFNoYXJlZC9BUEkvYy9XS0NvbnRleHRNZW51SXRlbVR5cGVzLmg6CisgICAgICAgICogU2hh
cmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oOgorICAgICAgICBBZGRlZCB2YXJpYWJsZXMgdG8g
c3VwcG9ydCB0aGUgdG9nZ2xlLWFiaWxpdHkgb2YgdGhlIGZ1bGxzY3JlZW4KKyAgICAgICAgdmlk
ZW8gY29udGV4dCBtZW51IGl0ZW0uCisKIDIwMTMtMDYtMDcgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBDb2FsZXNjZSBtdWx0aXBsZSBjYWxscyB0byBX
ZWJQYWdlUHJveHk6OndpbmRvd0FuZFZpZXdGcmFtZXNDaGFuZ2VkCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0NvbnRleHRNZW51SXRlbVR5cGVzLmgJKHJl
dmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0NvbnRleHRN
ZW51SXRlbVR5cGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNyw2ICsxMTcsNyBAQCBlbnVtIHsK
ICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZCwKICAgICBr
V0tDb250ZXh0TWVudUl0ZW1UYWdTZWxlY3RBbGwsCiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFn
T3BlbkxpbmtJblRoaXNXaW5kb3csCisgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlk
ZW9GdWxsc2NyZWVuLAogICAgIGtXS0NvbnRleHRNZW51SXRlbUJhc2VBcHBsaWNhdGlvblRhZyA9
IDEwMDAwCiB9OwogdHlwZWRlZiB1aW50MzJfdCBXS0NvbnRleHRNZW51SXRlbVRhZzsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgJKHJldmlz
aW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNh
c3QuaAkod29ya2luZyBjb3B5KQpAQCAtNDY4LDYgKzQ2OCw4IEBAIGlubGluZSBXS0NvbnRleHRN
ZW51SXRlbVRhZyB0b0FQSShXZWJDb3IKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRl
bVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHM7CiAgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdUb2dnbGVNZWRpYUxvb3A6CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVNZWRpYUxvb3A7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdU
b2dnbGVWaWRlb0Z1bGxzY3JlZW46CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW47CiAgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51
SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOwogICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U6CkBAIC02NTgsNiArNjYwLDggQEAgaW5saW5lIFdlYkNv
cmU6OkNvbnRleHRNZW51QWN0aW9uIHRvSW1wbAogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9sczsKICAgICBjYXNlIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRl
bVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjsKICAgICBjYXNlIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW47CiAgICAgY2FzZSBrV0tDb250
ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZToK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204080</attachid>
            <date>2013-06-07 19:01:22 -0700</date>
            <delta_ts>2013-06-07 19:20:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117220-20130607185948.patch</filename>
            <type>text/plain</type>
            <size>12427</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTM0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA2LTA3ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBm
dWxsc2NyZWVuIG9uIDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgYWJpbGl0eSBmb3IgZnVs
bHNjcmVlbiAKKyAgICAgICAgY29udGV4dCBtZW51IGl0ZW0gb24gPHZpZGVvPiBlbGVtZW50cyB0
byBzd2l0Y2ggYmV0d2VlbiAiRW50ZXIgRnVsbHNjcmVlbiIKKyAgICAgICAgYW5kICJFeGl0IEZ1
bGxzY3JlZW4iIGFuZCBiZWhhdmUgYXBwcm9wcmlhdGVseS4gCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIGFkZGVkLiBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9uLmh0bWwsCisgICAgICAgIHdoaWNo
IGhhcyBiZWVuIGRpc2FibGVkIGJ5IGJ1ZyAxMTY2NTEsIGlzIHVzZWQgdG8gdGVzdCBjb250ZXh0
IG1lbnVzLgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOiBB
ZGQgIkV4aXQgRnVsbHNjcmVlbiIgc3RyaW5nLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxs
c2NyZWVuU3RhdGUpOiBBZGRlZCB0byBhcHByb3ByaWF0ZWx5IGVudGVyL2V4aXQgZnVsbHNjcmVl
bi4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vQ29udGV4dE1lbnVJ
dGVtLmg6CisgICAgICAgICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHA6CisgICAgICAg
ICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oOgorICAgICAgICBVcGRhdGVkIHRvIHJlbmFt
ZSB2YXJpYWJsZXMgbW9yZSBhcHByb3ByaWF0ZWx5IHRvIHJlZmxlY3QgdGhlIHRvZ2dsZS1hYmls
aXR5IG9mIHZpZGVvIGZ1bGxzY3JlZW4uCisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1
bHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6bWVkaWFJc0luRnVsbHNj
cmVlbik6IEFkZGVkIHRvIGNoZWNrIGlmIGFuIGVsZW1lbnQKKyAgICAgICAgd2FzIGEgbWVkaWEg
ZWxlbWVudCBpbiBmdWxsc2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6
dG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUpOiBBZGRlZCB0byBob29rIGludG8gCisgICAgICAg
IEhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZUZ1bGxzY3JlZW5TdGF0ZS4KKyAgICAgICAgKiByZW5k
ZXJpbmcvSGl0VGVzdFJlc3VsdC5oOgorCiAyMDEzLTA2LTA3ICBBbGV4YW5kcnUgQ2hpY3VsaXRh
ICA8YWNoaWN1QGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIFJlZ2lvbnNdIExheWVycyBpbnNp
ZGUgdGhlIFJlbmRlckZsb3dUaHJlYWQgc2hvdWxkIGJlIGNvbGxlY3RlZCBieSB0aGUgbGF5ZXIg
b2YgUmVuZGVyVmlldwpJbmRleDogU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9Mb2NhbGl6
YWJsZS5zdHJpbmdzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ov
TG9jYWxpemFibGUuc3RyaW5ncwkocmV2aXNpb24gMTUxMzM0KQorKysgU291cmNlL1dlYkNvcmUv
RW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCSh3b3JraW5nIGNvcHkpCkBAIC0xNzUs
NiArMTc1LDkgQEAKIAAvACoAIABWAGkAZABlAG8AIABFAG4AdABlAHIAIABGAHUAbABsAHMAYwBy
AGUAZQBuACAAYwBvAG4AdABlAHgAdAAgAG0AZQBuAHUAIABpAHQAZQBtACAAKgAvAAogACIARQBu
AHQAZQByACAARgB1AGwAbABzAGMAcgBlAGUAbgAiACAAPQAgACIARQBuAHQAZQByACAARgB1AGwA
bABzAGMAcgBlAGUAbgAiADsACiAACisALwAqACAAVgBpAGQAZQBvACAARQB4AGkAdAAgAEYAdQBs
AGwAcwBjAHIAZQBlAG4AIABjAG8AbgB0AGUAeAB0ACAAbQBlAG4AdQAgAGkAdABlAG0AIAAqAC8A
CisAIgBFAHgAaQB0ACAARgB1AGwAbABzAGMAcgBlAGUAbgAiACAAPQAgACIARQB4AGkAdAAgAEYA
dQBsAGwAcwBjAHIAZQBlAG4AIgA7AAorAAogAC8AKgAgAEQAZQBmAGEAdQBsAHQAIABhAHAAcABs
AGkAYwBhAHQAaQBvAG4AIABuAGEAbQBlACAAZgBvAHIAIABPAHAAZQBuACAAVwBpAHQAaAAgAGMA
bwBuAHQAZQB4AHQAIABtAGUAbgB1ACAAKgAvAAogACIARgBpAG4AZABlAHIAIgAgAD0AIAAiAEYA
aQBuAGQAZQByACIAOwAKIAAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAkocmV2aXNpb24gMTUxMzM0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDM2Miw2ICs0MzYyLDE2IEBAIGJvb2wg
SFRNTE1lZGlhRWxlbWVudDo6aXNGdWxsc2NyZWVuKCkgY28KICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRlKCkKK3sKKyAg
ICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUgLSBp
c0Z1bGxzY3JlZW4oKSBpcyAlcyIsIGJvb2xTdHJpbmcoaXNGdWxsc2NyZWVuKCkpKTsKKyAgICAK
KyAgICBpZiAoaXNGdWxsc2NyZWVuKCkpCisgICAgICAgIGV4aXRGdWxsc2NyZWVuKCk7CisgICAg
ZWxzZQorICAgICAgICBlbnRlckZ1bGxzY3JlZW4oKTsKK30KKwogdm9pZCBIVE1MTWVkaWFFbGVt
ZW50OjplbnRlckZ1bGxzY3JlZW4oKQogewogICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1l
bnQ6OmVudGVyRnVsbHNjcmVlbiIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzcsNiArMzM3LDcgQEAgcHVibGljOgog
ICAgIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCB7IHJldHVybiAhbV9wbGF5
ZXIgfHwgbV9wbGF5ZXItPmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCk7IH0KICAgICAKICAgICBi
b29sIGlzRnVsbHNjcmVlbigpIGNvbnN0OworICAgIHZvaWQgdG9nZ2xlRnVsbHNjcmVlblN0YXRl
KCk7CiAgICAgdm9pZCBlbnRlckZ1bGxzY3JlZW4oKTsKICAgICB2b2lkIGV4aXRGdWxsc2NyZWVu
KCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5jcHAJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYzLDYgKzI2Myw5IEBAIHZvaWQg
Q29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUkKICAgICBjYXNlIENvbnRleHRNZW51
SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAgbV9oaXRUZXN0UmVzdWx0LnRvZ2dsZU1l
ZGlhTG9vcFBsYXliYWNrKCk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICBtX2hpdFRlc3RSZXN1bHQudG9n
Z2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKICAgICAgICAgbV9oaXRUZXN0UmVz
dWx0LmVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCk7CiAgICAgICAgIGJyZWFrOwpAQCAtNzYyLDcg
Kzc2NSw5IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgpCiAgICAgICAg
IGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMoKSk7CiAgICAgQ29udGV4dE1l
bnVJdGVtIFRvZ2dsZU1lZGlhTG9vcChDaGVja2FibGVBY3Rpb25UeXBlLCBDb250ZXh0TWVudUl0
ZW1UYWdUb2dnbGVNZWRpYUxvb3AsIAogICAgICAgICBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVN
ZWRpYUxvb3AoKSk7Ci0gICAgQ29udGV4dE1lbnVJdGVtIEVudGVyVmlkZW9GdWxsc2NyZWVuKEFj
dGlvblR5cGUsIENvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuLCAKKyAgICBD
b250ZXh0TWVudUl0ZW0gRW50ZXJWaWRlb0Z1bGxzY3JlZW4oQWN0aW9uVHlwZSwgQ29udGV4dE1l
bnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4sCisgICAgICAgIGNvbnRleHRNZW51SXRlbVRh
Z0VudGVyVmlkZW9GdWxsc2NyZWVuKCkpOworICAgIENvbnRleHRNZW51SXRlbSBUb2dnbGVWaWRl
b0Z1bGxzY3JlZW4oQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxs
c2NyZWVuLAogICAgICAgICBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigp
KTsKICNpZiBQTEFURk9STShNQUMpCiAgICAgQ29udGV4dE1lbnVJdGVtIFNlYXJjaFNwb3RsaWdo
dEl0ZW0oQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnU2VhcmNoSW5TcG90bGlnaHQsIApA
QCAtODQ1LDYgKzg1MCw3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgp
CiAgICAgICAgICAgICBhcHBlbmRJdGVtKE1lZGlhTXV0ZSwgbV9jb250ZXh0TWVudS5nZXQoKSk7
CiAgICAgICAgICAgICBhcHBlbmRJdGVtKFRvZ2dsZU1lZGlhQ29udHJvbHMsIG1fY29udGV4dE1l
bnUuZ2V0KCkpOwogICAgICAgICAgICAgYXBwZW5kSXRlbShUb2dnbGVNZWRpYUxvb3AsIG1fY29u
dGV4dE1lbnUuZ2V0KCkpOworICAgICAgICAgICAgYXBwZW5kSXRlbShUb2dnbGVWaWRlb0Z1bGxz
Y3JlZW4sIG1fY29udGV4dE1lbnUuZ2V0KCkpOwogICAgICAgICAgICAgYXBwZW5kSXRlbShFbnRl
clZpZGVvRnVsbHNjcmVlbiwgbV9jb250ZXh0TWVudS5nZXQoKSk7CiAKICAgICAgICAgICAgIGFw
cGVuZEl0ZW0oKnNlcGFyYXRvckl0ZW0oKSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CkBAIC0xMzQy
LDYgKzEzNDgsMTQgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNoZWNrT3JFbmFibAog
ICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAg
ICAgIHNob3VsZENoZWNrID0gbV9oaXRUZXN0UmVzdWx0Lm1lZGlhTG9vcEVuYWJsZWQoKTsKICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZp
ZGVvRnVsbHNjcmVlbjoKKyNpZiBQTEFURk9STShNQUMpCisgICAgICAgICAgICBpZiAoIW1faGl0
VGVzdFJlc3VsdC5tZWRpYUlzSW5GdWxsc2NyZWVuKCkpCisgICAgICAgICAgICAgICAgaXRlbS5z
ZXRUaXRsZShjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpKTsKKyAgICAg
ICAgICAgIGVsc2UgCisgICAgICAgICAgICAgICAgaXRlbS5zZXRUaXRsZShjb250ZXh0TWVudUl0
ZW1UYWdFeGl0VmlkZW9GdWxsc2NyZWVuKCkpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYK
ICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKICAg
ICAgICAgICAgIHNob3VsZEVuYWJsZSA9IG1faGl0VGVzdFJlc3VsdC5tZWRpYVN1cHBvcnRzRnVs
bHNjcmVlbigpOwogICAgICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAkocmV2aXNpb24gMTUxMzM0KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1Niw2ICsx
NTYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ0Nv
cHlNZWRpYUxpbmtUb0NsaXBib2FyZCwKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xl
TWVkaWFDb250cm9scywKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29w
LAorICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW4sCiAgICAg
ICAgIENvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuLAogICAgICAgICBDb250
ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZSwKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFn
TWVkaWFNdXRlLApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5n
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3Ry
aW5ncy5jcHAJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xv
Y2FsaXplZFN0cmluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTQsNiArNDk0LDExIEBAIFN0
cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHMKICAgICByZXR1cm4gV0VCX1VJ
X1NUUklORygiRW50ZXIgRnVsbHNjcmVlbiIsICJWaWRlbyBFbnRlciBGdWxsc2NyZWVuIGNvbnRl
eHQgbWVudSBpdGVtIik7CiB9CiAKK1N0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFeGl0VmlkZW9G
dWxsc2NyZWVuKCkKK3sKKyAgICByZXR1cm4gV0VCX1VJX1NUUklORygiRXhpdCBGdWxsc2NyZWVu
IiwgIlZpZGVvIEV4aXQgRnVsbHNjcmVlbiBjb250ZXh0IG1lbnUgaXRlbSIpOworfQorCiBTdHJp
bmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkKIHsKICAgICByZXR1cm4gV0VCX1VJX1NU
UklORygiUGxheSIsICJNZWRpYSBQbGF5IGNvbnRleHQgbWVudSBpdGVtIik7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCShyZXZpc2lvbiAxNTEzMzQp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEzNyw2ICsxMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMoKTsKICAgICBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wKCk7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCk7CisgICAgU3RyaW5nIGNvbnRleHRNZW51SXRl
bVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFn
TWVkaWFQbGF5KCk7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGF1c2UoKTsK
ICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlKCk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCShyZXZpc2lvbiAxNTEzMzQpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM5OSw2ICszOTksMjcgQEAgdm9pZCBIaXRUZXN0UmVzdWx0Ojp0b2dnbGVNZWRpYUxv
b3BQbGF5YgogI2VuZGlmCiB9CiAKK2Jvb2wgSGl0VGVzdFJlc3VsdDo6bWVkaWFJc0luRnVsbHNj
cmVlbigpIGNvbnN0Cit7CisjaWYgRU5BQkxFKFZJREVPKQorICAgIGlmIChIVE1MTWVkaWFFbGVt
ZW50KiBtZWRpYUVsZW1lbnQgPSB0aGlzLT5tZWRpYUVsZW1lbnQoKSkKKyAgICAgICAgcmV0dXJu
IG1lZGlhRWxlbWVudC0+aXNWaWRlbygpICYmIG1lZGlhRWxlbWVudC0+aXNGdWxsc2NyZWVuKCk7
CisjZW5kaWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgSGl0VGVzdFJlc3VsdDo6dG9n
Z2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKSBjb25zdAoreworI2lmIEVOQUJMRShWSURFTykKKyAg
ICBpZiAoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gdGhpcy0+bWVkaWFFbGVtZW50
KCkpIHsKKyAgICAgICAgaWYgKG1lZGlhRWxlbWVudC0+aXNWaWRlbygpICYmIG1lZGlhRWxlbWVu
dC0+c3VwcG9ydHNGdWxsc2NyZWVuKCkpIHsKKyAgICAgICAgICAgIFVzZXJHZXN0dXJlSW5kaWNh
dG9yIGluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKKyAgICAg
ICAgICAgIG1lZGlhRWxlbWVudC0+dG9nZ2xlRnVsbHNjcmVlblN0YXRlKCk7CisgICAgICAgIH0K
KyAgICB9CisjZW5kaWYKK30KKwogdm9pZCBIaXRUZXN0UmVzdWx0OjplbnRlckZ1bGxzY3JlZW5G
b3JWaWRlbygpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKFZJREVPKQpJbmRleDogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCShyZXZpc2lvbiAxNTEzMzQpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTIs
NiArMTEyLDggQEAgcHVibGljOgogICAgIGJvb2wgaXNDb250ZW50RWRpdGFibGUoKSBjb25zdDsK
ICAgICB2b2lkIHRvZ2dsZU1lZGlhQ29udHJvbHNEaXNwbGF5KCkgY29uc3Q7CiAgICAgdm9pZCB0
b2dnbGVNZWRpYUxvb3BQbGF5YmFjaygpIGNvbnN0OworICAgIGJvb2wgbWVkaWFJc0luRnVsbHNj
cmVlbigpIGNvbnN0OworICAgIHZvaWQgdG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKSBjb25z
dDsKICAgICB2b2lkIGVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCkgY29uc3Q7CiAgICAgYm9vbCBt
ZWRpYUNvbnRyb2xzRW5hYmxlZCgpIGNvbnN0OwogICAgIGJvb2wgbWVkaWFMb29wRW5hYmxlZCgp
IGNvbnN0OwpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxMzQ0KQorKysgU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDYtMDcg
IFJ1dGggRm9uZyAgPHJ1dGhfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgZm9yIHRv
Z2dsaW5nIGZ1bGxzY3JlZW4gb24gPHZpZGVvPiBlbGVtZW50cworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MjIwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVu
dUl0ZW1UeXBlcy5oOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaDoK
KyAgICAgICAgQWRkZWQgdmFyaWFibGVzIHRvIHN1cHBvcnQgdGhlIHRvZ2dsZS1hYmlsaXR5IG9m
IHRoZSBmdWxsc2NyZWVuCisgICAgICAgIHZpZGVvIGNvbnRleHQgbWVudSBpdGVtLgorCiAyMDEz
LTA2LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAg
Q29hbGVzY2UgbXVsdGlwbGUgY2FsbHMgdG8gV2ViUGFnZVByb3h5Ojp3aW5kb3dBbmRWaWV3RnJh
bWVzQ2hhbmdlZApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ29udGV4dE1l
bnVJdGVtVHlwZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
V0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oCShyZXZpc2lvbiAxNTEzMzQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTcsNiArMTE3LDcgQEAgZW51bSB7CiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnQ29w
eUltYWdlVXJsVG9DbGlwYm9hcmQsCiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxs
LAogICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5UaGlzV2luZG93LAorICAgIGtX
S0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbiwKICAgICBrV0tDb250ZXh0
TWVudUl0ZW1CYXNlQXBwbGljYXRpb25UYWcgPSAxMDAwMAogfTsKIHR5cGVkZWYgdWludDMyX3Qg
V0tDb250ZXh0TWVudUl0ZW1UYWc7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
V0tTaGFyZWRBUElDYXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLU2hhcmVkQVBJQ2FzdC5oCShyZXZpc2lvbiAxNTEzMzQpCisrKyBTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2OCw2
ICs0NjgsOCBAQCBpbmxpbmUgV0tDb250ZXh0TWVudUl0ZW1UYWcgdG9BUEkoV2ViQ29yCiAgICAg
ICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzOwogICAg
IGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgogICAgICAg
ICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOworICAgIGNhc2Ug
V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAgICAg
ICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOwogICAg
IGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW46CiAg
ICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjsK
ICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlOgpAQCAt
NjU4LDYgKzY2MCw4IEBAIGlubGluZSBXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiB0b0ltcGwK
ICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29u
dHJvbHM7CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A6CiAg
ICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A7
CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW46Cisg
ICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxz
Y3JlZW47CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVl
bjoKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9G
dWxsc2NyZWVuOwogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U6
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204081</attachid>
            <date>2013-06-07 19:20:14 -0700</date>
            <delta_ts>2013-06-10 09:15:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117220-20130607191840.patch</filename>
            <type>text/plain</type>
            <size>12430</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTM0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA2LTA3ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBm
dWxsc2NyZWVuIG9uIDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgYWJpbGl0eSBmb3IgZnVs
bHNjcmVlbiAKKyAgICAgICAgY29udGV4dCBtZW51IGl0ZW0gb24gPHZpZGVvPiBlbGVtZW50cyB0
byBzd2l0Y2ggYmV0d2VlbiAiRW50ZXIgRnVsbHNjcmVlbiIKKyAgICAgICAgYW5kICJFeGl0IEZ1
bGxzY3JlZW4iIGFuZCBiZWhhdmUgYXBwcm9wcmlhdGVseS4gCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIGFkZGVkLiBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9uLmh0bWwsCisgICAgICAgIHdoaWNo
IGhhcyBiZWVuIGRpc2FibGVkIGJ5IGJ1ZyAxMTY2NTEsIGlzIHVzZWQgdG8gdGVzdCBjb250ZXh0
IG1lbnVzLgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOiBB
ZGQgIkV4aXQgRnVsbHNjcmVlbiIgc3RyaW5nLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxs
c2NyZWVuU3RhdGUpOiBBZGRlZCB0byBhcHByb3ByaWF0ZWx5IGVudGVyL2V4aXQgZnVsbHNjcmVl
bi4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vQ29udGV4dE1lbnVJ
dGVtLmg6CisgICAgICAgICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHA6CisgICAgICAg
ICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oOgorICAgICAgICBVcGRhdGVkIHRvIHJlbmFt
ZSB2YXJpYWJsZXMgbW9yZSBhcHByb3ByaWF0ZWx5IHRvIHJlZmxlY3QgdGhlIHRvZ2dsZS1hYmls
aXR5IG9mIHZpZGVvIGZ1bGxzY3JlZW4uCisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1
bHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6bWVkaWFJc0luRnVsbHNj
cmVlbik6IEFkZGVkIHRvIGNoZWNrIGlmIGFuIGVsZW1lbnQKKyAgICAgICAgd2FzIGEgbWVkaWEg
ZWxlbWVudCBpbiBmdWxsc2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6
dG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUpOiBBZGRlZCB0byBob29rIGludG8gCisgICAgICAg
IEhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZUZ1bGxzY3JlZW5TdGF0ZS4KKyAgICAgICAgKiByZW5k
ZXJpbmcvSGl0VGVzdFJlc3VsdC5oOgorCiAyMDEzLTA2LTA3ICBBbGV4YW5kcnUgQ2hpY3VsaXRh
ICA8YWNoaWN1QGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIFJlZ2lvbnNdIExheWVycyBpbnNp
ZGUgdGhlIFJlbmRlckZsb3dUaHJlYWQgc2hvdWxkIGJlIGNvbGxlY3RlZCBieSB0aGUgbGF5ZXIg
b2YgUmVuZGVyVmlldwpJbmRleDogU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9Mb2NhbGl6
YWJsZS5zdHJpbmdzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ov
TG9jYWxpemFibGUuc3RyaW5ncwkocmV2aXNpb24gMTUxMzM0KQorKysgU291cmNlL1dlYkNvcmUv
RW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCSh3b3JraW5nIGNvcHkpCkBAIC0xNzUs
NiArMTc1LDkgQEAKIAAvACoAIABWAGkAZABlAG8AIABFAG4AdABlAHIAIABGAHUAbABsAHMAYwBy
AGUAZQBuACAAYwBvAG4AdABlAHgAdAAgAG0AZQBuAHUAIABpAHQAZQBtACAAKgAvAAogACIARQBu
AHQAZQByACAARgB1AGwAbABzAGMAcgBlAGUAbgAiACAAPQAgACIARQBuAHQAZQByACAARgB1AGwA
bABzAGMAcgBlAGUAbgAiADsACiAACisALwAqACAAVgBpAGQAZQBvACAARQB4AGkAdAAgAEYAdQBs
AGwAcwBjAHIAZQBlAG4AIABjAG8AbgB0AGUAeAB0ACAAbQBlAG4AdQAgAGkAdABlAG0AIAAqAC8A
CisAIgBFAHgAaQB0ACAARgB1AGwAbABzAGMAcgBlAGUAbgAiACAAPQAgACIARQB4AGkAdAAgAEYA
dQBsAGwAcwBjAHIAZQBlAG4AIgA7AAorAAogAC8AKgAgAEQAZQBmAGEAdQBsAHQAIABhAHAAcABs
AGkAYwBhAHQAaQBvAG4AIABuAGEAbQBlACAAZgBvAHIAIABPAHAAZQBuACAAVwBpAHQAaAAgAGMA
bwBuAHQAZQB4AHQAIABtAGUAbgB1ACAAKgAvAAogACIARgBpAG4AZABlAHIAIgAgAD0AIAAiAEYA
aQBuAGQAZQByACIAOwAKIAAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAkocmV2aXNpb24gMTUxMzM0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDM2Miw2ICs0MzYyLDE2IEBAIGJvb2wg
SFRNTE1lZGlhRWxlbWVudDo6aXNGdWxsc2NyZWVuKCkgY28KICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRlKCkKK3sKKyAg
ICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUgLSBp
c0Z1bGxzY3JlZW4oKSBpcyAlcyIsIGJvb2xTdHJpbmcoaXNGdWxsc2NyZWVuKCkpKTsKKyAgICAK
KyAgICBpZiAoaXNGdWxsc2NyZWVuKCkpCisgICAgICAgIGV4aXRGdWxsc2NyZWVuKCk7CisgICAg
ZWxzZQorICAgICAgICBlbnRlckZ1bGxzY3JlZW4oKTsKK30KKwogdm9pZCBIVE1MTWVkaWFFbGVt
ZW50OjplbnRlckZ1bGxzY3JlZW4oKQogewogICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1l
bnQ6OmVudGVyRnVsbHNjcmVlbiIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzcsNiArMzM3LDcgQEAgcHVibGljOgog
ICAgIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCB7IHJldHVybiAhbV9wbGF5
ZXIgfHwgbV9wbGF5ZXItPmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCk7IH0KICAgICAKICAgICBi
b29sIGlzRnVsbHNjcmVlbigpIGNvbnN0OworICAgIHZvaWQgdG9nZ2xlRnVsbHNjcmVlblN0YXRl
KCk7CiAgICAgdm9pZCBlbnRlckZ1bGxzY3JlZW4oKTsKICAgICB2b2lkIGV4aXRGdWxsc2NyZWVu
KCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5jcHAJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYzLDYgKzI2Myw5IEBAIHZvaWQg
Q29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUkKICAgICBjYXNlIENvbnRleHRNZW51
SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAgbV9oaXRUZXN0UmVzdWx0LnRvZ2dsZU1l
ZGlhTG9vcFBsYXliYWNrKCk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICBtX2hpdFRlc3RSZXN1bHQudG9n
Z2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKICAgICAgICAgbV9oaXRUZXN0UmVz
dWx0LmVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCk7CiAgICAgICAgIGJyZWFrOwpAQCAtNzYyLDcg
Kzc2NSw5IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgpCiAgICAgICAg
IGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMoKSk7CiAgICAgQ29udGV4dE1l
bnVJdGVtIFRvZ2dsZU1lZGlhTG9vcChDaGVja2FibGVBY3Rpb25UeXBlLCBDb250ZXh0TWVudUl0
ZW1UYWdUb2dnbGVNZWRpYUxvb3AsIAogICAgICAgICBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVN
ZWRpYUxvb3AoKSk7Ci0gICAgQ29udGV4dE1lbnVJdGVtIEVudGVyVmlkZW9GdWxsc2NyZWVuKEFj
dGlvblR5cGUsIENvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuLCAKKyAgICBD
b250ZXh0TWVudUl0ZW0gRW50ZXJWaWRlb0Z1bGxzY3JlZW4oQWN0aW9uVHlwZSwgQ29udGV4dE1l
bnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4sCisgICAgICAgIGNvbnRleHRNZW51SXRlbVRh
Z0VudGVyVmlkZW9GdWxsc2NyZWVuKCkpOworICAgIENvbnRleHRNZW51SXRlbSBUb2dnbGVWaWRl
b0Z1bGxzY3JlZW4oQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxs
c2NyZWVuLAogICAgICAgICBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigp
KTsKICNpZiBQTEFURk9STShNQUMpCiAgICAgQ29udGV4dE1lbnVJdGVtIFNlYXJjaFNwb3RsaWdo
dEl0ZW0oQWN0aW9uVHlwZSwgQ29udGV4dE1lbnVJdGVtVGFnU2VhcmNoSW5TcG90bGlnaHQsIApA
QCAtODQ1LDYgKzg1MCw3IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgp
CiAgICAgICAgICAgICBhcHBlbmRJdGVtKE1lZGlhTXV0ZSwgbV9jb250ZXh0TWVudS5nZXQoKSk7
CiAgICAgICAgICAgICBhcHBlbmRJdGVtKFRvZ2dsZU1lZGlhQ29udHJvbHMsIG1fY29udGV4dE1l
bnUuZ2V0KCkpOwogICAgICAgICAgICAgYXBwZW5kSXRlbShUb2dnbGVNZWRpYUxvb3AsIG1fY29u
dGV4dE1lbnUuZ2V0KCkpOworICAgICAgICAgICAgYXBwZW5kSXRlbShUb2dnbGVWaWRlb0Z1bGxz
Y3JlZW4sIG1fY29udGV4dE1lbnUuZ2V0KCkpOwogICAgICAgICAgICAgYXBwZW5kSXRlbShFbnRl
clZpZGVvRnVsbHNjcmVlbiwgbV9jb250ZXh0TWVudS5nZXQoKSk7CiAKICAgICAgICAgICAgIGFw
cGVuZEl0ZW0oKnNlcGFyYXRvckl0ZW0oKSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CkBAIC0xMzQy
LDYgKzEzNDgsMTQgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OmNoZWNrT3JFbmFibAog
ICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAg
ICAgIHNob3VsZENoZWNrID0gbV9oaXRUZXN0UmVzdWx0Lm1lZGlhTG9vcEVuYWJsZWQoKTsKICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZp
ZGVvRnVsbHNjcmVlbjoKKyNpZiBQTEFURk9STShNQUMpCisgICAgICAgICAgICBpZiAoIW1faGl0
VGVzdFJlc3VsdC5tZWRpYUlzSW5GdWxsc2NyZWVuKCkpCisgICAgICAgICAgICAgICAgaXRlbS5z
ZXRUaXRsZShjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpKTsKKyAgICAg
ICAgICAgIGVsc2UgCisgICAgICAgICAgICAgICAgaXRlbS5zZXRUaXRsZShjb250ZXh0TWVudUl0
ZW1UYWdFeGl0VmlkZW9GdWxsc2NyZWVuKCkpOworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYK
ICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKICAg
ICAgICAgICAgIHNob3VsZEVuYWJsZSA9IG1faGl0VGVzdFJlc3VsdC5tZWRpYVN1cHBvcnRzRnVs
bHNjcmVlbigpOwogICAgICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAkocmV2aXNpb24gMTUxMzM0KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2MSw2ICsx
NjEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ01l
ZGlhTXV0ZSwKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnRGljdGF0aW9uQWx0ZXJuYXRpdmUs
CiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5UaGlzV2luZG93LAorICAgICAg
ICBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW4sCiAgICAgICAgIENvbnRl
eHRNZW51SXRlbUJhc2VDdXN0b21UYWcgPSA1MDAwLAogICAgICAgICBDb250ZXh0TWVudUl0ZW1D
dXN0b21UYWdOb0FjdGlvbiA9IDU5OTgsCiAgICAgICAgIENvbnRleHRNZW51SXRlbUxhc3RDdXN0
b21UYWcgPSA1OTk5LApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3Ry
aW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVk
U3RyaW5ncy5jcHAJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0xvY2FsaXplZFN0cmluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTQsNiArNDk0LDExIEBA
IFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHMKICAgICByZXR1cm4gV0VC
X1VJX1NUUklORygiRW50ZXIgRnVsbHNjcmVlbiIsICJWaWRlbyBFbnRlciBGdWxsc2NyZWVuIGNv
bnRleHQgbWVudSBpdGVtIik7CiB9CiAKK1N0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFeGl0Vmlk
ZW9GdWxsc2NyZWVuKCkKK3sKKyAgICByZXR1cm4gV0VCX1VJX1NUUklORygiRXhpdCBGdWxsc2Ny
ZWVuIiwgIlZpZGVvIEV4aXQgRnVsbHNjcmVlbiBjb250ZXh0IG1lbnUgaXRlbSIpOworfQorCiBT
dHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkKIHsKICAgICByZXR1cm4gV0VCX1VJ
X1NUUklORygiUGxheSIsICJNZWRpYSBQbGF5IGNvbnRleHQgbWVudSBpdGVtIik7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCShyZXZpc2lvbiAxNTEz
MzQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEzNyw2ICsxMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMoKTsKICAgICBTdHJpbmcg
Y29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wKCk7CiAgICAgU3RyaW5nIGNvbnRleHRN
ZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCk7CisgICAgU3RyaW5nIGNvbnRleHRNZW51
SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVt
VGFnTWVkaWFQbGF5KCk7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGF1c2Uo
KTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCShyZXZpc2lvbiAxNTEzMzQp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM5OSw2ICszOTksMjcgQEAgdm9pZCBIaXRUZXN0UmVzdWx0Ojp0b2dnbGVNZWRp
YUxvb3BQbGF5YgogI2VuZGlmCiB9CiAKK2Jvb2wgSGl0VGVzdFJlc3VsdDo6bWVkaWFJc0luRnVs
bHNjcmVlbigpIGNvbnN0Cit7CisjaWYgRU5BQkxFKFZJREVPKQorICAgIGlmIChIVE1MTWVkaWFF
bGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0aGlzLT5tZWRpYUVsZW1lbnQoKSkKKyAgICAgICAgcmV0
dXJuIG1lZGlhRWxlbWVudC0+aXNWaWRlbygpICYmIG1lZGlhRWxlbWVudC0+aXNGdWxsc2NyZWVu
KCk7CisjZW5kaWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgSGl0VGVzdFJlc3VsdDo6
dG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKSBjb25zdAoreworI2lmIEVOQUJMRShWSURFTykK
KyAgICBpZiAoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gdGhpcy0+bWVkaWFFbGVt
ZW50KCkpIHsKKyAgICAgICAgaWYgKG1lZGlhRWxlbWVudC0+aXNWaWRlbygpICYmIG1lZGlhRWxl
bWVudC0+c3VwcG9ydHNGdWxsc2NyZWVuKCkpIHsKKyAgICAgICAgICAgIFVzZXJHZXN0dXJlSW5k
aWNhdG9yIGluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0dXJlKTsKKyAg
ICAgICAgICAgIG1lZGlhRWxlbWVudC0+dG9nZ2xlRnVsbHNjcmVlblN0YXRlKCk7CisgICAgICAg
IH0KKyAgICB9CisjZW5kaWYKK30KKwogdm9pZCBIaXRUZXN0UmVzdWx0OjplbnRlckZ1bGxzY3Jl
ZW5Gb3JWaWRlbygpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKFZJREVPKQpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCShyZXZpc2lvbiAxNTEzMzQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTIsNiArMTEyLDggQEAgcHVibGljOgogICAgIGJvb2wgaXNDb250ZW50RWRpdGFibGUoKSBjb25z
dDsKICAgICB2b2lkIHRvZ2dsZU1lZGlhQ29udHJvbHNEaXNwbGF5KCkgY29uc3Q7CiAgICAgdm9p
ZCB0b2dnbGVNZWRpYUxvb3BQbGF5YmFjaygpIGNvbnN0OworICAgIGJvb2wgbWVkaWFJc0luRnVs
bHNjcmVlbigpIGNvbnN0OworICAgIHZvaWQgdG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKSBj
b25zdDsKICAgICB2b2lkIGVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCkgY29uc3Q7CiAgICAgYm9v
bCBtZWRpYUNvbnRyb2xzRW5hYmxlZCgpIGNvbnN0OwogICAgIGJvb2wgbWVkaWFMb29wRW5hYmxl
ZCgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxMzQ0KQorKysgU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDYt
MDcgIFJ1dGggRm9uZyAgPHJ1dGhfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgZm9y
IHRvZ2dsaW5nIGZ1bGxzY3JlZW4gb24gPHZpZGVvPiBlbGVtZW50cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MjIwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tDb250ZXh0
TWVudUl0ZW1UeXBlcy5oOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3Qu
aDoKKyAgICAgICAgQWRkZWQgdmFyaWFibGVzIHRvIHN1cHBvcnQgdGhlIHRvZ2dsZS1hYmlsaXR5
IG9mIHRoZSBmdWxsc2NyZWVuCisgICAgICAgIHZpZGVvIGNvbnRleHQgbWVudSBpdGVtLgorCiAy
MDEzLTA2LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAg
ICAgQ29hbGVzY2UgbXVsdGlwbGUgY2FsbHMgdG8gV2ViUGFnZVByb3h5Ojp3aW5kb3dBbmRWaWV3
RnJhbWVzQ2hhbmdlZApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ29udGV4
dE1lbnVJdGVtVHlwZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oCShyZXZpc2lvbiAxNTEzMzQpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTcsNiArMTE3LDcgQEAgZW51bSB7CiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFn
Q29weUltYWdlVXJsVG9DbGlwYm9hcmQsCiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnU2VsZWN0
QWxsLAogICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5UaGlzV2luZG93LAorICAg
IGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbiwKICAgICBrV0tDb250
ZXh0TWVudUl0ZW1CYXNlQXBwbGljYXRpb25UYWcgPSAxMDAwMAogfTsKIHR5cGVkZWYgdWludDMy
X3QgV0tDb250ZXh0TWVudUl0ZW1UYWc7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tTaGFyZWRBUElDYXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCShyZXZpc2lvbiAxNTEzMzQpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2
OCw2ICs0NjgsOCBAQCBpbmxpbmUgV0tDb250ZXh0TWVudUl0ZW1UYWcgdG9BUEkoV2ViQ29yCiAg
ICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzOwog
ICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOgogICAg
ICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wOworICAgIGNh
c2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAg
ICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOwog
ICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW46
CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVl
bjsKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlOgpA
QCAtNjU4LDYgKzY2MCw4IEBAIGlubGluZSBXZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiB0b0lt
cGwKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlh
Q29udHJvbHM7CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A6
CiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxv
b3A7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW46
CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1
bGxzY3JlZW47CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNj
cmVlbjoKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlk
ZW9GdWxsc2NyZWVuOwogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5UGF1
c2U6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204168</attachid>
            <date>2013-06-10 09:16:07 -0700</date>
            <delta_ts>2013-06-10 15:52:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117220-20130610091434.patch</filename>
            <type>text/plain</type>
            <size>13012</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTM0NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA2LTA3ICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBm
dWxsc2NyZWVuIG9uIDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgYWJpbGl0eSBmb3IgZnVs
bHNjcmVlbiAKKyAgICAgICAgY29udGV4dCBtZW51IGl0ZW0gb24gPHZpZGVvPiBlbGVtZW50cyB0
byBzd2l0Y2ggYmV0d2VlbiAiRW50ZXIgRnVsbHNjcmVlbiIKKyAgICAgICAgYW5kICJFeGl0IEZ1
bGxzY3JlZW4iIGFuZCBiZWhhdmUgYXBwcm9wcmlhdGVseS4gCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIGFkZGVkLiBtZWRpYS9jb250ZXh0LW1lbnUtYWN0aW9uLmh0bWwsCisgICAgICAgIHdoaWNo
IGhhcyBiZWVuIGRpc2FibGVkIGJ5IGJ1ZyAxMTY2NTEsIGlzIHVzZWQgdG8gdGVzdCBjb250ZXh0
IG1lbnVzLgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzOiBB
ZGQgIkV4aXQgRnVsbHNjcmVlbiIgc3RyaW5nLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxs
c2NyZWVuU3RhdGUpOiBBZGRlZCB0byBhcHByb3ByaWF0ZWx5IGVudGVyL2V4aXQgZnVsbHNjcmVl
bi4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vQ29udGV4dE1lbnVJ
dGVtLmg6CisgICAgICAgICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHA6CisgICAgICAg
ICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oOgorICAgICAgICBVcGRhdGVkIHRvIHJlbmFt
ZSB2YXJpYWJsZXMgbW9yZSBhcHByb3ByaWF0ZWx5IHRvIHJlZmxlY3QgdGhlIHRvZ2dsZS1hYmls
aXR5IG9mIHZpZGVvIGZ1bGxzY3JlZW4uCisgICAgICAgICogcmVuZGVyaW5nL0hpdFRlc3RSZXN1
bHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6bWVkaWFJc0luRnVsbHNj
cmVlbik6IEFkZGVkIHRvIGNoZWNrIGlmIGFuIGVsZW1lbnQKKyAgICAgICAgd2FzIGEgbWVkaWEg
ZWxlbWVudCBpbiBmdWxsc2NyZWVuLgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6
dG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUpOiBBZGRlZCB0byBob29rIGludG8gCisgICAgICAg
IEhUTUxNZWRpYUVsZW1lbnQ6OnRvZ2dsZUZ1bGxzY3JlZW5TdGF0ZS4KKyAgICAgICAgKiByZW5k
ZXJpbmcvSGl0VGVzdFJlc3VsdC5oOgorCiAyMDEzLTA2LTA3ICBBbGV4YW5kcnUgQ2hpY3VsaXRh
ICA8YWNoaWN1QGFkb2JlLmNvbT4KIAogICAgICAgICBbQ1NTIFJlZ2lvbnNdIExheWVycyBpbnNp
ZGUgdGhlIFJlbmRlckZsb3dUaHJlYWQgc2hvdWxkIGJlIGNvbGxlY3RlZCBieSB0aGUgbGF5ZXIg
b2YgUmVuZGVyVmlldwpJbmRleDogU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9Mb2NhbGl6
YWJsZS5zdHJpbmdzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ov
TG9jYWxpemFibGUuc3RyaW5ncwkocmV2aXNpb24gMTUxMzM0KQorKysgU291cmNlL1dlYkNvcmUv
RW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzCSh3b3JraW5nIGNvcHkpCkBAIC0xNzUs
NiArMTc1LDkgQEAKIAAvACoAIABWAGkAZABlAG8AIABFAG4AdABlAHIAIABGAHUAbABsAHMAYwBy
AGUAZQBuACAAYwBvAG4AdABlAHgAdAAgAG0AZQBuAHUAIABpAHQAZQBtACAAKgAvAAogACIARQBu
AHQAZQByACAARgB1AGwAbABzAGMAcgBlAGUAbgAiACAAPQAgACIARQBuAHQAZQByACAARgB1AGwA
bABzAGMAcgBlAGUAbgAiADsACiAACisALwAqACAAVgBpAGQAZQBvACAARQB4AGkAdAAgAEYAdQBs
AGwAcwBjAHIAZQBlAG4AIABjAG8AbgB0AGUAeAB0ACAAbQBlAG4AdQAgAGkAdABlAG0AIAAqAC8A
CisAIgBFAHgAaQB0ACAARgB1AGwAbABzAGMAcgBlAGUAbgAiACAAPQAgACIARQB4AGkAdAAgAEYA
dQBsAGwAcwBjAHIAZQBlAG4AIgA7AAorAAogAC8AKgAgAEQAZQBmAGEAdQBsAHQAIABhAHAAcABs
AGkAYwBhAHQAaQBvAG4AIABuAGEAbQBlACAAZgBvAHIAIABPAHAAZQBuACAAVwBpAHQAaAAgAGMA
bwBuAHQAZQB4AHQAIABtAGUAbgB1ACAAKgAvAAogACIARgBpAG4AZABlAHIAIgAgAD0AIAAiAEYA
aQBuAGQAZQByACIAOwAKIAAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmNwcAkocmV2aXNpb24gMTUxMzM0KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDM2Miw2ICs0MzYyLDE2IEBAIGJvb2wg
SFRNTE1lZGlhRWxlbWVudDo6aXNGdWxsc2NyZWVuKCkgY28KICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRlKCkKK3sKKyAg
ICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojp0b2dnbGVGdWxsc2NyZWVuU3RhdGUgLSBp
c0Z1bGxzY3JlZW4oKSBpcyAlcyIsIGJvb2xTdHJpbmcoaXNGdWxsc2NyZWVuKCkpKTsKKyAgICAK
KyAgICBpZiAoaXNGdWxsc2NyZWVuKCkpCisgICAgICAgIGV4aXRGdWxsc2NyZWVuKCk7CisgICAg
ZWxzZQorICAgICAgICBlbnRlckZ1bGxzY3JlZW4oKTsKK30KKwogdm9pZCBIVE1MTWVkaWFFbGVt
ZW50OjplbnRlckZ1bGxzY3JlZW4oKQogewogICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1l
bnQ6OmVudGVyRnVsbHNjcmVlbiIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVk
aWFFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmgJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzcsNiArMzM3LDcgQEAgcHVibGljOgog
ICAgIGJvb2wgaGFzU2luZ2xlU2VjdXJpdHlPcmlnaW4oKSBjb25zdCB7IHJldHVybiAhbV9wbGF5
ZXIgfHwgbV9wbGF5ZXItPmhhc1NpbmdsZVNlY3VyaXR5T3JpZ2luKCk7IH0KICAgICAKICAgICBi
b29sIGlzRnVsbHNjcmVlbigpIGNvbnN0OworICAgIHZvaWQgdG9nZ2xlRnVsbHNjcmVlblN0YXRl
KCk7CiAgICAgdm9pZCBlbnRlckZ1bGxzY3JlZW4oKTsKICAgICB2b2lkIGV4aXRGdWxsc2NyZWVu
KCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5jcHAJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYzLDYgKzI2Myw5IEBAIHZvaWQg
Q29udGV4dE1lbnVDb250cm9sbGVyOjpjb250ZXh0TWVudUkKICAgICBjYXNlIENvbnRleHRNZW51
SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAgbV9oaXRUZXN0UmVzdWx0LnRvZ2dsZU1l
ZGlhTG9vcFBsYXliYWNrKCk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ29udGV4dE1lbnVJ
dGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICBtX2hpdFRlc3RSZXN1bHQudG9n
Z2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDb250
ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKICAgICAgICAgbV9oaXRUZXN0UmVz
dWx0LmVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCk7CiAgICAgICAgIGJyZWFrOwpAQCAtNzMyLDYg
KzczNSwxMiBAQCBzdGF0aWMgYm9vbCBzZWxlY3Rpb25Db250YWluc1Bvc3NpYmxlV29yCiAjZW5k
aWYKICNlbmRpZgogCisjaWYgUExBVEZPUk0oTUFDKQorI2RlZmluZSBTVVBQT1JUU19UT0dHTEVf
VklERU9fRlVMTFNDUkVFTiAxCisjZWxzZQorI2RlZmluZSBTVVBQT1JUU19UT0dHTEVfVklERU9f
RlVMTFNDUkVFTiAwCisjZW5kaWYKKwogdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnBvcHVs
YXRlKCkKIHsKICAgICBDb250ZXh0TWVudUl0ZW0gT3BlbkxpbmtJdGVtKEFjdGlvblR5cGUsIENv
bnRleHRNZW51SXRlbVRhZ09wZW5MaW5rLCBjb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluaygpKTsK
QEAgLTc2Miw3ICs3NzEsOSBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6cG9wdWxhdGUo
KQogICAgICAgICBjb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUNvbnRyb2xzKCkpOwogICAg
IENvbnRleHRNZW51SXRlbSBUb2dnbGVNZWRpYUxvb3AoQ2hlY2thYmxlQWN0aW9uVHlwZSwgQ29u
dGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wLCAKICAgICAgICAgY29udGV4dE1lbnVJdGVt
VGFnVG9nZ2xlTWVkaWFMb29wKCkpOwotICAgIENvbnRleHRNZW51SXRlbSBFbnRlclZpZGVvRnVs
bHNjcmVlbihBY3Rpb25UeXBlLCBDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVl
biwgCisgICAgQ29udGV4dE1lbnVJdGVtIEVudGVyVmlkZW9GdWxsc2NyZWVuKEFjdGlvblR5cGUs
IENvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuLAorICAgICAgICBjb250ZXh0
TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpKTsKKyAgICBDb250ZXh0TWVudUl0ZW0g
VG9nZ2xlVmlkZW9GdWxsc2NyZWVuKEFjdGlvblR5cGUsIENvbnRleHRNZW51SXRlbVRhZ1RvZ2ds
ZVZpZGVvRnVsbHNjcmVlbiwKICAgICAgICAgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1
bGxzY3JlZW4oKSk7CiAjaWYgUExBVEZPUk0oTUFDKQogICAgIENvbnRleHRNZW51SXRlbSBTZWFy
Y2hTcG90bGlnaHRJdGVtKEFjdGlvblR5cGUsIENvbnRleHRNZW51SXRlbVRhZ1NlYXJjaEluU3Bv
dGxpZ2h0LCAKQEAgLTg0NSw4ICs4NTYsMTEgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6
OnBvcHVsYXRlKCkKICAgICAgICAgICAgIGFwcGVuZEl0ZW0oTWVkaWFNdXRlLCBtX2NvbnRleHRN
ZW51LmdldCgpKTsKICAgICAgICAgICAgIGFwcGVuZEl0ZW0oVG9nZ2xlTWVkaWFDb250cm9scywg
bV9jb250ZXh0TWVudS5nZXQoKSk7CiAgICAgICAgICAgICBhcHBlbmRJdGVtKFRvZ2dsZU1lZGlh
TG9vcCwgbV9jb250ZXh0TWVudS5nZXQoKSk7CisjaWYgU1VQUE9SVFNfVE9HR0xFX1ZJREVPX0ZV
TExTQ1JFRU4KKyAgICAgICAgICAgIGFwcGVuZEl0ZW0oVG9nZ2xlVmlkZW9GdWxsc2NyZWVuLCBt
X2NvbnRleHRNZW51LmdldCgpKTsKKyNlbHNlCiAgICAgICAgICAgICBhcHBlbmRJdGVtKEVudGVy
VmlkZW9GdWxsc2NyZWVuLCBtX2NvbnRleHRNZW51LmdldCgpKTsKLQorI2VuZGlmCiAgICAgICAg
ICAgICBhcHBlbmRJdGVtKCpzZXBhcmF0b3JJdGVtKCksIG1fY29udGV4dE1lbnUuZ2V0KCkpOwog
ICAgICAgICAgICAgYXBwZW5kSXRlbShDb3B5TWVkaWFMaW5rSXRlbSwgbV9jb250ZXh0TWVudS5n
ZXQoKSk7CiAgICAgICAgICAgICBhcHBlbmRJdGVtKE9wZW5NZWRpYUluTmV3V2luZG93SXRlbSwg
bV9jb250ZXh0TWVudS5nZXQoKSk7CkBAIC0xMzQyLDYgKzEzNTYsMTQgQEAgdm9pZCBDb250ZXh0
TWVudUNvbnRyb2xsZXI6OmNoZWNrT3JFbmFibAogICAgICAgICBjYXNlIENvbnRleHRNZW51SXRl
bVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAgICAgIHNob3VsZENoZWNrID0gbV9oaXRUZXN0
UmVzdWx0Lm1lZGlhTG9vcEVuYWJsZWQoKTsKICAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjoKKyNpZiBTVVBQT1JU
U19UT0dHTEVfVklERU9fRlVMTFNDUkVFTgorICAgICAgICAgICAgICAgIGlmICghbV9oaXRUZXN0
UmVzdWx0Lm1lZGlhSXNJbkZ1bGxzY3JlZW4oKSkKKyAgICAgICAgICAgICAgICAgICAgaXRlbS5z
ZXRUaXRsZShjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbigpKTsKKyAgICAg
ICAgICAgICAgICBlbHNlIAorICAgICAgICAgICAgICAgICAgICBpdGVtLnNldFRpdGxlKGNvbnRl
eHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKSk7CisgICAgICAgICAgICAgICAgYnJl
YWs7CisjZW5kaWYKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVs
bHNjcmVlbjoKICAgICAgICAgICAgIHNob3VsZEVuYWJsZSA9IG1faGl0VGVzdFJlc3VsdC5tZWRp
YVN1cHBvcnRzRnVsbHNjcmVlbigpOwogICAgICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAkocmV2aXNpb24gMTUxMzM0KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgJKHdvcmtpbmcgY29weSkK
QEAgLTE2MSw2ICsxNjEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIENvbnRleHRN
ZW51SXRlbVRhZ01lZGlhTXV0ZSwKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnRGljdGF0aW9u
QWx0ZXJuYXRpdmUsCiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5UaGlzV2lu
ZG93LAorICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW4sCiAg
ICAgICAgIENvbnRleHRNZW51SXRlbUJhc2VDdXN0b21UYWcgPSA1MDAwLAogICAgICAgICBDb250
ZXh0TWVudUl0ZW1DdXN0b21UYWdOb0FjdGlvbiA9IDU5OTgsCiAgICAgICAgIENvbnRleHRNZW51
SXRlbUxhc3RDdXN0b21UYWcgPSA1OTk5LApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TG9jYWxpemVkU3RyaW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTG9jYWxpemVkU3RyaW5ncy5jcHAJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTQs
NiArNDk0LDExIEBAIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHMKICAg
ICByZXR1cm4gV0VCX1VJX1NUUklORygiRW50ZXIgRnVsbHNjcmVlbiIsICJWaWRlbyBFbnRlciBG
dWxsc2NyZWVuIGNvbnRleHQgbWVudSBpdGVtIik7CiB9CiAKK1N0cmluZyBjb250ZXh0TWVudUl0
ZW1UYWdFeGl0VmlkZW9GdWxsc2NyZWVuKCkKK3sKKyAgICByZXR1cm4gV0VCX1VJX1NUUklORygi
RXhpdCBGdWxsc2NyZWVuIiwgIlZpZGVvIEV4aXQgRnVsbHNjcmVlbiBjb250ZXh0IG1lbnUgaXRl
bSIpOworfQorCiBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkKIHsKICAgICBy
ZXR1cm4gV0VCX1VJX1NUUklORygiUGxheSIsICJNZWRpYSBQbGF5IGNvbnRleHQgbWVudSBpdGVt
Iik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCShy
ZXZpc2lvbiAxNTEzMzQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJp
bmdzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNyw2ICsxMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMoKTsK
ICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wKCk7CiAgICAgU3Ry
aW5nIGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCk7CisgICAgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKTsKICAgICBTdHJpbmcgY29u
dGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCk7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRh
Z01lZGlhUGF1c2UoKTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlKCk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCShyZXZp
c2lvbiAxNTEzMzQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM5OSw2ICszOTksMjcgQEAgdm9pZCBIaXRUZXN0UmVzdWx0
Ojp0b2dnbGVNZWRpYUxvb3BQbGF5YgogI2VuZGlmCiB9CiAKK2Jvb2wgSGl0VGVzdFJlc3VsdDo6
bWVkaWFJc0luRnVsbHNjcmVlbigpIGNvbnN0Cit7CisjaWYgRU5BQkxFKFZJREVPKQorICAgIGlm
IChIVE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0aGlzLT5tZWRpYUVsZW1lbnQoKSkK
KyAgICAgICAgcmV0dXJuIG1lZGlhRWxlbWVudC0+aXNWaWRlbygpICYmIG1lZGlhRWxlbWVudC0+
aXNGdWxsc2NyZWVuKCk7CisjZW5kaWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgSGl0
VGVzdFJlc3VsdDo6dG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKSBjb25zdAoreworI2lmIEVO
QUJMRShWSURFTykKKyAgICBpZiAoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gdGhp
cy0+bWVkaWFFbGVtZW50KCkpIHsKKyAgICAgICAgaWYgKG1lZGlhRWxlbWVudC0+aXNWaWRlbygp
ICYmIG1lZGlhRWxlbWVudC0+c3VwcG9ydHNGdWxsc2NyZWVuKCkpIHsKKyAgICAgICAgICAgIFVz
ZXJHZXN0dXJlSW5kaWNhdG9yIGluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJH
ZXN0dXJlKTsKKyAgICAgICAgICAgIG1lZGlhRWxlbWVudC0+dG9nZ2xlRnVsbHNjcmVlblN0YXRl
KCk7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKK30KKwogdm9pZCBIaXRUZXN0UmVzdWx0Ojpl
bnRlckZ1bGxzY3JlZW5Gb3JWaWRlbygpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKFZJREVPKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCShyZXZpc2lvbiAxNTEz
MzQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMTIsNiArMTEyLDggQEAgcHVibGljOgogICAgIGJvb2wgaXNDb250ZW50RWRp
dGFibGUoKSBjb25zdDsKICAgICB2b2lkIHRvZ2dsZU1lZGlhQ29udHJvbHNEaXNwbGF5KCkgY29u
c3Q7CiAgICAgdm9pZCB0b2dnbGVNZWRpYUxvb3BQbGF5YmFjaygpIGNvbnN0OworICAgIGJvb2wg
bWVkaWFJc0luRnVsbHNjcmVlbigpIGNvbnN0OworICAgIHZvaWQgdG9nZ2xlTWVkaWFGdWxsc2Ny
ZWVuU3RhdGUoKSBjb25zdDsKICAgICB2b2lkIGVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCkgY29u
c3Q7CiAgICAgYm9vbCBtZWRpYUNvbnRyb2xzRW5hYmxlZCgpIGNvbnN0OwogICAgIGJvb2wgbWVk
aWFMb29wRW5hYmxlZCgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxMzQ0KQor
KysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMTMtMDYtMDcgIFJ1dGggRm9uZyAgPHJ1dGhfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAg
ICAgQWxsb3cgZm9yIHRvZ2dsaW5nIGZ1bGxzY3JlZW4gb24gPHZpZGVvPiBlbGVtZW50cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MjIwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJ
L2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS1No
YXJlZEFQSUNhc3QuaDoKKyAgICAgICAgQWRkZWQgdmFyaWFibGVzIHRvIHN1cHBvcnQgdGhlIHRv
Z2dsZS1hYmlsaXR5IG9mIHRoZSBmdWxsc2NyZWVuCisgICAgICAgIHZpZGVvIGNvbnRleHQgbWVu
dSBpdGVtLgorCiAyMDEzLTA2LTA3ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5j
b20+CiAKICAgICAgICAgQ29hbGVzY2UgbXVsdGlwbGUgY2FsbHMgdG8gV2ViUGFnZVByb3h5Ojp3
aW5kb3dBbmRWaWV3RnJhbWVzQ2hhbmdlZApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLQ29udGV4dE1lbnVJdGVtVHlwZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oCShyZXZpc2lvbiAxNTEzMzQp
CisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTcsNiArMTE3LDcgQEAgZW51bSB7CiAgICAga1dLQ29udGV4
dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQsCiAgICAga1dLQ29udGV4dE1lbnVJ
dGVtVGFnU2VsZWN0QWxsLAogICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5UaGlz
V2luZG93LAorICAgIGtXS0NvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbiwK
ICAgICBrV0tDb250ZXh0TWVudUl0ZW1CYXNlQXBwbGljYXRpb25UYWcgPSAxMDAwMAogfTsKIHR5
cGVkZWYgdWludDMyX3QgV0tDb250ZXh0TWVudUl0ZW1UYWc7CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCShyZXZpc2lvbiAxNTEzMzQpCisr
KyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQ2OCw2ICs0NjgsOCBAQCBpbmxpbmUgV0tDb250ZXh0TWVudUl0ZW1UYWcgdG9B
UEkoV2ViQ29yCiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRp
YUNvbnRyb2xzOwogICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVk
aWFMb29wOgogICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFM
b29wOworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxs
c2NyZWVuOgorICAgICAgICByZXR1cm4ga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9G
dWxsc2NyZWVuOwogICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRl
b0Z1bGxzY3JlZW46CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZp
ZGVvRnVsbHNjcmVlbjsKICAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ01lZGlh
UGxheVBhdXNlOgpAQCAtNjU4LDYgKzY2MCw4IEBAIGlubGluZSBXZWJDb3JlOjpDb250ZXh0TWVu
dUFjdGlvbiB0b0ltcGwKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRh
Z1RvZ2dsZU1lZGlhQ29udHJvbHM7CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dn
bGVNZWRpYUxvb3A6CiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdU
b2dnbGVNZWRpYUxvb3A7CisgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRl
b0Z1bGxzY3JlZW46CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdU
b2dnbGVWaWRlb0Z1bGxzY3JlZW47CiAgICAgY2FzZSBrV0tDb250ZXh0TWVudUl0ZW1UYWdFbnRl
clZpZGVvRnVsbHNjcmVlbjoKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOwogICAgIGNhc2Uga1dLQ29udGV4dE1lbnVJdGVtVGFn
TWVkaWFQbGF5UGF1c2U6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>204221</attachid>
            <date>2013-06-10 15:52:24 -0700</date>
            <delta_ts>2013-06-12 10:33:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-117220-20130610155047.patch</filename>
            <type>text/plain</type>
            <size>12912</size>
            <attacher name="Ruth Fong">ruthiecftg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1MTQwNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEzLTA2LTEwICBSdXRoIEZv
bmcgIDxydXRoX2ZvbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IGZvciB0b2dnbGluZyBm
dWxsc2NyZWVuIG9uIDx2aWRlbz4gZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExNzIyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyB0aGUgYWJpbGl0eSBmb3IgZnVs
bHNjcmVlbgorICAgICAgICBjb250ZXh0IG1lbnUgaXRlbSBvbiA8dmlkZW8+IGVsZW1lbnRzIHRv
IHN3aXRjaCBiZXR3ZWVuICJFbnRlciBGdWxsc2NyZWVuIgorICAgICAgICBhbmQgIkV4aXQgRnVs
bHNjcmVlbiIgYW5kIGJlaGF2ZSBhcHByb3ByaWF0ZWx5LgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cy4gbWVkaWEvY29udGV4dC1tZW51LWFjdGlvbi5odG1sLAorICAgICAgICB3aGljaCBoYXMgYmVl
biBkaXNhYmxlZCBieSBidWcgMTE2NjUxLCBpcyB1c2VkIHRvIHRlc3QgY29udGV4dCBtZW51cy4K
KworICAgICAgICAqIEVuZ2xpc2gubHByb2ovTG9jYWxpemFibGUuc3RyaW5nczogQWRkICJFeGl0
IEZ1bGxzY3JlZW4iIHN0cmluZy4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0
YXRlKTogQWRkZWQgdG8gYXBwcm9wcmlhdGVseSBlbnRlci9leGl0IGZ1bGxzY3JlZW4uCisgICAg
ICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICogcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL0NvbnRleHRNZW51SXRlbS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwOgorICAgICAgICAqIHBsYXRm
b3JtL0xvY2FsaXplZFN0cmluZ3MuaDoKKyAgICAgICAgVXBkYXRlZCB0byByZW5hbWUgdmFyaWFi
bGVzIG1vcmUgYXBwcm9wcmlhdGVseSB0byByZWZsZWN0IHRoZSB0b2dnbGUtYWJpbGl0eSBvZiB2
aWRlbyBmdWxsc2NyZWVuLgorICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6Om1lZGlhSXNJbkZ1bGxzY3JlZW4pOiBB
ZGRlZCB0byBjaGVjayBpZiBhbiBlbGVtZW50CisgICAgICAgIHdhcyBhIG1lZGlhIGVsZW1lbnQg
aW4gZnVsbHNjcmVlbi4KKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6OnRvZ2dsZU1l
ZGlhRnVsbHNjcmVlblN0YXRlKTogQWRkZWQgdG8gaG9vayBpbnRvCisgICAgICAgIEhUTUxNZWRp
YUVsZW1lbnQ6OnRvZ2dsZUZ1bGxzY3JlZW5TdGF0ZS4KKyAgICAgICAgKiByZW5kZXJpbmcvSGl0
VGVzdFJlc3VsdC5oOgorCiAyMDEzLTA2LTEwICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxl
LmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxNTA2MzMpOiBGaW5kIG9uIHBhZ2Ugbm9uLWZv
Y3VzZWQgdGV4dCBoaWdobGlnaHQgY29sb3IgaXMgYnJpZ2h0IHllbGxvdy4KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MJKHJldmlz
aW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovTG9jYWxpemFibGUu
c3RyaW5ncwkod29ya2luZyBjb3B5KQpAQCAtMTc1LDYgKzE3NSw5IEBACiAALwAqACAAVgBpAGQA
ZQBvACAARQBuAHQAZQByACAARgB1AGwAbABzAGMAcgBlAGUAbgAgAGMAbwBuAHQAZQB4AHQAIABt
AGUAbgB1ACAAaQB0AGUAbQAgACoALwAKIAAiAEUAbgB0AGUAcgAgAEYAdQBsAGwAcwBjAHIAZQBl
AG4AIgAgAD0AIAAiAEUAbgB0AGUAcgAgAEYAdQBsAGwAcwBjAHIAZQBlAG4AIgA7AAogAAorAC8A
KgAgAFYAaQBkAGUAbwAgAEUAeABpAHQAIABGAHUAbABsAHMAYwByAGUAZQBuACAAYwBvAG4AdABl
AHgAdAAgAG0AZQBuAHUAIABpAHQAZQBtACAAKgAvAAorACIARQB4AGkAdAAgAEYAdQBsAGwAcwBj
AHIAZQBlAG4AIgAgAD0AIAAiAEUAeABpAHQAIABGAHUAbABsAHMAYwByAGUAZQBuACIAOwAKKwAK
IAAvACoAIABEAGUAZgBhAHUAbAB0ACAAYQBwAHAAbABpAGMAYQB0AGkAbwBuACAAbgBhAG0AZQAg
AGYAbwByACAATwBwAGUAbgAgAFcAaQB0AGgAIABjAG8AbgB0AGUAeAB0ACAAbQBlAG4AdQAgACoA
LwAKIAAiAEYAaQBuAGQAZQByACIAIAA9ACAAIgBGAGkAbgBkAGUAcgAiADsACiAACkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHJldmlzaW9uIDE1MTMzNCkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQzNjIsNiArNDM2MiwxNiBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmlzRnVsbHNj
cmVlbigpIGNvCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OnRvZ2dsZUZ1bGxzY3JlZW5TdGF0ZSgpCit7CisgICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxl
bWVudDo6dG9nZ2xlRnVsbHNjcmVlblN0YXRlIC0gaXNGdWxsc2NyZWVuKCkgaXMgJXMiLCBib29s
U3RyaW5nKGlzRnVsbHNjcmVlbigpKSk7CisgICAgCisgICAgaWYgKGlzRnVsbHNjcmVlbigpKQor
ICAgICAgICBleGl0RnVsbHNjcmVlbigpOworICAgIGVsc2UKKyAgICAgICAgZW50ZXJGdWxsc2Ny
ZWVuKCk7Cit9CisKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZW50ZXJGdWxsc2NyZWVuKCkKIHsK
ICAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjplbnRlckZ1bGxzY3JlZW4iKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCShyZXZpc2lvbiAxNTEzMzQp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtMzM3LDYgKzMzNyw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc1NpbmdsZVNlY3VyaXR5
T3JpZ2luKCkgY29uc3QgeyByZXR1cm4gIW1fcGxheWVyIHx8IG1fcGxheWVyLT5oYXNTaW5nbGVT
ZWN1cml0eU9yaWdpbigpOyB9CiAgICAgCiAgICAgYm9vbCBpc0Z1bGxzY3JlZW4oKSBjb25zdDsK
KyAgICB2b2lkIHRvZ2dsZUZ1bGxzY3JlZW5TdGF0ZSgpOwogICAgIHZvaWQgZW50ZXJGdWxsc2Ny
ZWVuKCk7CiAgICAgdm9pZCBleGl0RnVsbHNjcmVlbigpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAxNTEzMzQpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI2Myw2ICsyNjMsOSBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6Y29u
dGV4dE1lbnVJCiAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A6CiAg
ICAgICAgIG1faGl0VGVzdFJlc3VsdC50b2dnbGVNZWRpYUxvb3BQbGF5YmFjaygpOwogICAgICAg
ICBicmVhazsKKyAgICBjYXNlIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVl
bjoKKyAgICAgICAgbV9oaXRUZXN0UmVzdWx0LnRvZ2dsZU1lZGlhRnVsbHNjcmVlblN0YXRlKCk7
CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1
bGxzY3JlZW46CiAgICAgICAgIG1faGl0VGVzdFJlc3VsdC5lbnRlckZ1bGxzY3JlZW5Gb3JWaWRl
bygpOwogICAgICAgICBicmVhazsKQEAgLTczMiw2ICs3MzUsMTIgQEAgc3RhdGljIGJvb2wgc2Vs
ZWN0aW9uQ29udGFpbnNQb3NzaWJsZVdvcgogI2VuZGlmCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JN
KE1BQykKKyNkZWZpbmUgU1VQUE9SVFNfVE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU4gMQorI2Vsc2UK
KyNkZWZpbmUgU1VQUE9SVFNfVE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU4gMAorI2VuZGlmCisKIHZv
aWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgpCiB7CiAgICAgQ29udGV4dE1lbnVJ
dGVtIE9wZW5MaW5rSXRlbShBY3Rpb25UeXBlLCBDb250ZXh0TWVudUl0ZW1UYWdPcGVuTGluaywg
Y29udGV4dE1lbnVJdGVtVGFnT3BlbkxpbmsoKSk7CkBAIC03NjIsNyArNzcxLDkgQEAgdm9pZCBD
b250ZXh0TWVudUNvbnRyb2xsZXI6OnBvcHVsYXRlKCkKICAgICAgICAgY29udGV4dE1lbnVJdGVt
VGFnVG9nZ2xlTWVkaWFDb250cm9scygpKTsKICAgICBDb250ZXh0TWVudUl0ZW0gVG9nZ2xlTWVk
aWFMb29wKENoZWNrYWJsZUFjdGlvblR5cGUsIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlh
TG9vcCwgCiAgICAgICAgIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCgpKTsKLSAg
ICBDb250ZXh0TWVudUl0ZW0gRW50ZXJWaWRlb0Z1bGxzY3JlZW4oQWN0aW9uVHlwZSwgQ29udGV4
dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4sIAorICAgIENvbnRleHRNZW51SXRlbSBF
bnRlclZpZGVvRnVsbHNjcmVlbihBY3Rpb25UeXBlLCBDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZp
ZGVvRnVsbHNjcmVlbiwKKyAgICAgICAgY29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxz
Y3JlZW4oKSk7CisgICAgQ29udGV4dE1lbnVJdGVtIFRvZ2dsZVZpZGVvRnVsbHNjcmVlbihBY3Rp
b25UeXBlLCBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW4sCiAgICAgICAg
IGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCkpOwogI2lmIFBMQVRGT1JN
KE1BQykKICAgICBDb250ZXh0TWVudUl0ZW0gU2VhcmNoU3BvdGxpZ2h0SXRlbShBY3Rpb25UeXBl
LCBDb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hJblNwb3RsaWdodCwgCkBAIC04NDUsOCArODU2LDEx
IEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpwb3B1bGF0ZSgpCiAgICAgICAgICAgICBh
cHBlbmRJdGVtKE1lZGlhTXV0ZSwgbV9jb250ZXh0TWVudS5nZXQoKSk7CiAgICAgICAgICAgICBh
cHBlbmRJdGVtKFRvZ2dsZU1lZGlhQ29udHJvbHMsIG1fY29udGV4dE1lbnUuZ2V0KCkpOwogICAg
ICAgICAgICAgYXBwZW5kSXRlbShUb2dnbGVNZWRpYUxvb3AsIG1fY29udGV4dE1lbnUuZ2V0KCkp
OworI2lmIFNVUFBPUlRTX1RPR0dMRV9WSURFT19GVUxMU0NSRUVOCisgICAgICAgICAgICBhcHBl
bmRJdGVtKFRvZ2dsZVZpZGVvRnVsbHNjcmVlbiwgbV9jb250ZXh0TWVudS5nZXQoKSk7CisjZWxz
ZQogICAgICAgICAgICAgYXBwZW5kSXRlbShFbnRlclZpZGVvRnVsbHNjcmVlbiwgbV9jb250ZXh0
TWVudS5nZXQoKSk7Ci0KKyNlbmRpZgogICAgICAgICAgICAgYXBwZW5kSXRlbSgqc2VwYXJhdG9y
SXRlbSgpLCBtX2NvbnRleHRNZW51LmdldCgpKTsKICAgICAgICAgICAgIGFwcGVuZEl0ZW0oQ29w
eU1lZGlhTGlua0l0ZW0sIG1fY29udGV4dE1lbnUuZ2V0KCkpOwogICAgICAgICAgICAgYXBwZW5k
SXRlbShPcGVuTWVkaWFJbk5ld1dpbmRvd0l0ZW0sIG1fY29udGV4dE1lbnUuZ2V0KCkpOwpAQCAt
MTM0Miw2ICsxMzU2LDExIEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpjaGVja09yRW5h
YmwKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRpYUxvb3A6CiAgICAg
ICAgICAgICBzaG91bGRDaGVjayA9IG1faGl0VGVzdFJlc3VsdC5tZWRpYUxvb3BFbmFibGVkKCk7
CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdUb2dn
bGVWaWRlb0Z1bGxzY3JlZW46CisjaWYgU1VQUE9SVFNfVE9HR0xFX1ZJREVPX0ZVTExTQ1JFRU4K
KyAgICAgICAgICAgIGl0ZW0uc2V0VGl0bGUobV9oaXRUZXN0UmVzdWx0Lm1lZGlhSXNJbkZ1bGxz
Y3JlZW4oKSA/IGNvbnRleHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKSA6IGNvbnRl
eHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCkpOworICAgICAgICAgICAgYnJlYWs7
CisjZW5kaWYKICAgICAgICAgY2FzZSBDb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHNj
cmVlbjoKICAgICAgICAgICAgIHNob3VsZEVuYWJsZSA9IG1faGl0VGVzdFJlc3VsdC5tZWRpYVN1
cHBvcnRzRnVsbHNjcmVlbigpOwogICAgICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9Db250ZXh0TWVudUl0ZW0uaAkocmV2aXNpb24gMTUxMzM0KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vQ29udGV4dE1lbnVJdGVtLmgJKHdvcmtpbmcgY29weSkKQEAg
LTE2MSw2ICsxNjEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIENvbnRleHRNZW51
SXRlbVRhZ01lZGlhTXV0ZSwKICAgICAgICAgQ29udGV4dE1lbnVJdGVtVGFnRGljdGF0aW9uQWx0
ZXJuYXRpdmUsCiAgICAgICAgIENvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5UaGlzV2luZG93
LAorICAgICAgICBDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW4sCiAgICAg
ICAgIENvbnRleHRNZW51SXRlbUJhc2VDdXN0b21UYWcgPSA1MDAwLAogICAgICAgICBDb250ZXh0
TWVudUl0ZW1DdXN0b21UYWdOb0FjdGlvbiA9IDU5OTgsCiAgICAgICAgIENvbnRleHRNZW51SXRl
bUxhc3RDdXN0b21UYWcgPSA1OTk5LApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9j
YWxpemVkU3RyaW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
TG9jYWxpemVkU3RyaW5ncy5jcHAJKHJldmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTQsNiAr
NDk0LDExIEBAIFN0cmluZyBjb250ZXh0TWVudUl0ZW1UYWdFbnRlclZpZGVvRnVsbHMKICAgICBy
ZXR1cm4gV0VCX1VJX1NUUklORygiRW50ZXIgRnVsbHNjcmVlbiIsICJWaWRlbyBFbnRlciBGdWxs
c2NyZWVuIGNvbnRleHQgbWVudSBpdGVtIik7CiB9CiAKK1N0cmluZyBjb250ZXh0TWVudUl0ZW1U
YWdFeGl0VmlkZW9GdWxsc2NyZWVuKCkKK3sKKyAgICByZXR1cm4gV0VCX1VJX1NUUklORygiRXhp
dCBGdWxsc2NyZWVuIiwgIlZpZGVvIEV4aXQgRnVsbHNjcmVlbiBjb250ZXh0IG1lbnUgaXRlbSIp
OworfQorCiBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCkKIHsKICAgICByZXR1
cm4gV0VCX1VJX1NUUklORygiUGxheSIsICJNZWRpYSBQbGF5IGNvbnRleHQgbWVudSBpdGVtIik7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oCShyZXZp
c2lvbiAxNTEzMzQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNyw2ICsxMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHMoKTsKICAg
ICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFMb29wKCk7CiAgICAgU3RyaW5n
IGNvbnRleHRNZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuKCk7CisgICAgU3RyaW5nIGNv
bnRleHRNZW51SXRlbVRhZ0V4aXRWaWRlb0Z1bGxzY3JlZW4oKTsKICAgICBTdHJpbmcgY29udGV4
dE1lbnVJdGVtVGFnTWVkaWFQbGF5KCk7CiAgICAgU3RyaW5nIGNvbnRleHRNZW51SXRlbVRhZ01l
ZGlhUGF1c2UoKTsKICAgICBTdHJpbmcgY29udGV4dE1lbnVJdGVtVGFnTWVkaWFNdXRlKCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCShyZXZpc2lv
biAxNTEzMzQpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTM5OSw2ICszOTksMjcgQEAgdm9pZCBIaXRUZXN0UmVzdWx0Ojp0
b2dnbGVNZWRpYUxvb3BQbGF5YgogI2VuZGlmCiB9CiAKK2Jvb2wgSGl0VGVzdFJlc3VsdDo6bWVk
aWFJc0luRnVsbHNjcmVlbigpIGNvbnN0Cit7CisjaWYgRU5BQkxFKFZJREVPKQorICAgIGlmIChI
VE1MTWVkaWFFbGVtZW50KiBtZWRpYUVsZW1lbnQgPSB0aGlzLT5tZWRpYUVsZW1lbnQoKSkKKyAg
ICAgICAgcmV0dXJuIG1lZGlhRWxlbWVudC0+aXNWaWRlbygpICYmIG1lZGlhRWxlbWVudC0+aXNG
dWxsc2NyZWVuKCk7CisjZW5kaWYKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgSGl0VGVz
dFJlc3VsdDo6dG9nZ2xlTWVkaWFGdWxsc2NyZWVuU3RhdGUoKSBjb25zdAoreworI2lmIEVOQUJM
RShWSURFTykKKyAgICBpZiAoSFRNTE1lZGlhRWxlbWVudCogbWVkaWFFbGVtZW50ID0gdGhpcy0+
bWVkaWFFbGVtZW50KCkpIHsKKyAgICAgICAgaWYgKG1lZGlhRWxlbWVudC0+aXNWaWRlbygpICYm
IG1lZGlhRWxlbWVudC0+c3VwcG9ydHNGdWxsc2NyZWVuKCkpIHsKKyAgICAgICAgICAgIFVzZXJH
ZXN0dXJlSW5kaWNhdG9yIGluZGljYXRvcihEZWZpbml0ZWx5UHJvY2Vzc2luZ05ld1VzZXJHZXN0
dXJlKTsKKyAgICAgICAgICAgIG1lZGlhRWxlbWVudC0+dG9nZ2xlRnVsbHNjcmVlblN0YXRlKCk7
CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKK30KKwogdm9pZCBIaXRUZXN0UmVzdWx0OjplbnRl
ckZ1bGxzY3JlZW5Gb3JWaWRlbygpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKFZJREVPKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCShyZXZpc2lvbiAxNTEzMzQp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTIsNiArMTEyLDggQEAgcHVibGljOgogICAgIGJvb2wgaXNDb250ZW50RWRpdGFi
bGUoKSBjb25zdDsKICAgICB2b2lkIHRvZ2dsZU1lZGlhQ29udHJvbHNEaXNwbGF5KCkgY29uc3Q7
CiAgICAgdm9pZCB0b2dnbGVNZWRpYUxvb3BQbGF5YmFjaygpIGNvbnN0OworICAgIGJvb2wgbWVk
aWFJc0luRnVsbHNjcmVlbigpIGNvbnN0OworICAgIHZvaWQgdG9nZ2xlTWVkaWFGdWxsc2NyZWVu
U3RhdGUoKSBjb25zdDsKICAgICB2b2lkIGVudGVyRnVsbHNjcmVlbkZvclZpZGVvKCkgY29uc3Q7
CiAgICAgYm9vbCBtZWRpYUNvbnRyb2xzRW5hYmxlZCgpIGNvbnN0OwogICAgIGJvb2wgbWVkaWFM
b29wRW5hYmxlZCgpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxNDA3KQorKysg
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTMtMDYtMTAgIFJ1dGggRm9uZyAgPHJ1dGhfZm9uZ0BhcHBsZS5jb20+CisKKyAgICAgICAg
QWxsb3cgZm9yIHRvZ2dsaW5nIGZ1bGxzY3JlZW4gb24gPHZpZGVvPiBlbGVtZW50cworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE3MjIwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvQVBJL2Mv
V0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS1NoYXJl
ZEFQSUNhc3QuaDoKKyAgICAgICAgQWRkZWQgdmFyaWFibGVzIHRvIHN1cHBvcnQgdGhlIHRvZ2ds
ZS1hYmlsaXR5IG9mIHRoZSBmdWxsc2NyZWVuCisgICAgICAgIHZpZGVvIGNvbnRleHQgbWVudSBp
dGVtLgorCiAyMDEzLTA2LTEwICBTZXJnaW8gQ29ycmVpYSAgPHNlcmdpby5jb3JyZWlhQG9wZW5i
b3NzYS5vcmc+CiAKICAgICAgICAgW1dLMl1bQ29vcmRpbmF0ZWRHcmFwaGljc10gQWRkIGRlZmF1
bHQgY2FzZSB0byBzd2l0Y2hlcyB0byBmaXggc3RyaWN0IGJ1aWxkCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tDb250ZXh0TWVudUl0ZW1UeXBlcy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0NvbnRleHRNZW51SXRlbVR5cGVzLmgJKHJl
dmlzaW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0NvbnRleHRN
ZW51SXRlbVR5cGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNyw2ICsxMTcsNyBAQCBlbnVtIHsK
ICAgICBrV0tDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2FyZCwKICAgICBr
V0tDb250ZXh0TWVudUl0ZW1UYWdTZWxlY3RBbGwsCiAgICAga1dLQ29udGV4dE1lbnVJdGVtVGFn
T3BlbkxpbmtJblRoaXNXaW5kb3csCisgICAga1dLQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlk
ZW9GdWxsc2NyZWVuLAogICAgIGtXS0NvbnRleHRNZW51SXRlbUJhc2VBcHBsaWNhdGlvblRhZyA9
IDEwMDAwCiB9OwogdHlwZWRlZiB1aW50MzJfdCBXS0NvbnRleHRNZW51SXRlbVRhZzsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgJKHJldmlz
aW9uIDE1MTMzNCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNh
c3QuaAkod29ya2luZyBjb3B5KQpAQCAtNDY4LDYgKzQ2OCw4IEBAIGlubGluZSBXS0NvbnRleHRN
ZW51SXRlbVRhZyB0b0FQSShXZWJDb3IKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51SXRl
bVRhZ1RvZ2dsZU1lZGlhQ29udHJvbHM7CiAgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdUb2dnbGVNZWRpYUxvb3A6CiAgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVNZWRpYUxvb3A7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdU
b2dnbGVWaWRlb0Z1bGxzY3JlZW46CisgICAgICAgIHJldHVybiBrV0tDb250ZXh0TWVudUl0ZW1U
YWdUb2dnbGVWaWRlb0Z1bGxzY3JlZW47CiAgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdFbnRlclZpZGVvRnVsbHNjcmVlbjoKICAgICAgICAgcmV0dXJuIGtXS0NvbnRleHRNZW51
SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOwogICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnTWVkaWFQbGF5UGF1c2U6CkBAIC02NTgsNiArNjYwLDggQEAgaW5saW5lIFdlYkNv
cmU6OkNvbnRleHRNZW51QWN0aW9uIHRvSW1wbAogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9sczsKICAgICBjYXNlIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDoKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcDsKKyAgICBjYXNlIGtXS0NvbnRleHRNZW51SXRl
bVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbVRhZ1RvZ2dsZVZpZGVvRnVsbHNjcmVlbjsKICAgICBjYXNlIGtXS0NvbnRleHRN
ZW51SXRlbVRhZ0VudGVyVmlkZW9GdWxsc2NyZWVuOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6
Q29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW47CiAgICAgY2FzZSBrV0tDb250
ZXh0TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZToK
</data>

          </attachment>
      

    </bug>

</bugzilla>