<?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>68684</bug_id>
          
          <creation_ts>2011-09-23 03:14:33 -0700</creation_ts>
          <short_desc>spec change - option.label should be reflected like option.value</short_desc>
          <delta_ts>2011-10-05 13:19:54 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Sachin Puranik">jcqt43</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>472135</commentid>
    <comment_count>0</comment_count>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-09-23 03:14:33 -0700</bug_when>
    <thetext>There is a spec change in the below given revision for option element.

http://www.w3.org/Bugs/Public/show_bug.cgi?id=12255

Mozilla has already made this change.

IDL attribute &quot;Label&quot; should reflect content attribute &quot;Label&quot;. If the content attribute is not specified return textContent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472140</commentid>
    <comment_count>1</comment_count>
      <attachid>108454</attachid>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-09-23 03:25:12 -0700</bug_when>
    <thetext>Created attachment 108454
Spec change handling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473699</commentid>
    <comment_count>2</comment_count>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-09-26 23:22:04 -0700</bug_when>
    <thetext>Hi,
Can you please review this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473777</commentid>
    <comment_count>3</comment_count>
      <attachid>108454</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-09-27 01:39:58 -0700</bug_when>
    <thetext>Comment on attachment 108454
Spec change handling

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

&gt; Source/WebCore/dom/OptionElement.cpp:136
&gt; +String OptionElement::collectOptionLabel(const OptionElementData&amp; data, const Element* element)
&gt; +{
&gt; +    String label = data.label();
&gt; +    if (!label.isNull())
&gt; +        return label;
&gt; +
&gt; +    // Use the text if the Label wasn&apos;t set.
&gt; +    return collectOptionInnerText(element).stripWhiteSpace();
&gt; +}

I don&apos;t think we need to introduce collectOptionLabel(). Making collectOptionInnerText() &quot;protected&quot; is enough.
Also, why do you call stripWhiteSpace()?

&gt; LayoutTests/fast/forms/option-value-and-label.html:27
&gt; -shouldBe(&apos;o1.label&apos;, &apos;&quot;&quot;&apos;);
&gt; +shouldBe(&apos;o1.label&apos;, &apos;&quot;text&quot;&apos;);
&gt;  
&gt;  var o2 = document.getElementById(&apos;o2&apos;);
&gt;  shouldBe(&apos;o2.value&apos;, &apos;&quot;value&quot;&apos;);
&gt; -shouldBe(&apos;o2.label&apos;, &apos;&quot;&quot;&apos;);
&gt; +shouldBe(&apos;o2.label&apos;, &apos;&quot;text&quot;&apos;);

We need more test cases:
 - updating HTMLOptionElement::label
 - getting label when HTMLOptionElement::textContent has leading/trailing whitespaces</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473779</commentid>
    <comment_count>4</comment_count>
      <attachid>108454</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-09-27 01:41:32 -0700</bug_when>
    <thetext>Comment on attachment 108454
Spec change handling

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

&gt; Source/WebCore/ChangeLog:4
&gt; +        Implement the change in spec for option.label should be reflected like
&gt; +        option.value

&quot;like option.value&quot; is unclear. Please write the behavior change concretely.

&gt; Source/WebCore/ChangeLog:17
&gt; +        * dom/OptionElement.cpp:
&gt; +        (WebCore::OptionElement::normalizeText):
&gt; +        (WebCore::OptionElement::collectOptionLabel):
&gt; +        * dom/OptionElement.h:
&gt; +        * html/HTMLOptionElement.cpp:
&gt; +        (WebCore::HTMLOptionElement::label):
&gt; +        (WebCore::HTMLOptionElement::setLabel):
&gt; +        * html/HTMLOptionElement.h:
&gt; +        * html/HTMLOptionElement.idl:

You had better write what is changed in each of functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474659</commentid>
    <comment_count>5</comment_count>
      <attachid>109001</attachid>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-09-28 04:20:31 -0700</bug_when>
    <thetext>Created attachment 109001
updated patch - Incorporating review comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474661</commentid>
    <comment_count>6</comment_count>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-09-28 04:22:26 -0700</bug_when>
    <thetext>&gt; why do you call stripWhiteSpace()?

Hi,
I am calling this as all the other browsers also return the striped string text value. Even webkit does the same thing for the options elements Value attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474776</commentid>
    <comment_count>7</comment_count>
      <attachid>109001</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-28 09:36:23 -0700</bug_when>
    <thetext>Comment on attachment 109001
updated patch - Incorporating review comments

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

&gt; Source/WebCore/html/HTMLOptionElement.cpp:224
&gt; +    return collectOptionInnerText(this).stripWhiteSpace();

It&apos;s OK to strip whitespace, but you need to do it with the HTML definition of whitespace, not the Unicode definition. So you don’t want to use the String function stripWhiteSpace. You want to do more like what OptionalElement::normalizeText does or use the stripLeadingAndTrailingHTMLSpaces function from HTMLParserIdioms.h. It&apos;s also important to cover this in test cases, including at least one test case with Unicode whitespace that should not be stripped because it does not meet the HTML standard’s definition of a space.

Also, we should double check that this stripping requirement is clear in the specification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476035</commentid>
    <comment_count>8</comment_count>
      <attachid>109284</attachid>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-09-30 05:09:26 -0700</bug_when>
    <thetext>Created attachment 109284
updated patch - Incorporating review comments related to white space stripping</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476036</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-30 05:12:02 -0700</bug_when>
    <thetext>Attachment 109284 did not pass style-queue:

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

Source/WebCore/html/HTMLOptionElement.cpp:228:  Should have a space between // and comment  [whitespace/comments] [4]
LayoutTests/ChangeLog:17:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
Total errors found: 2 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476037</commentid>
    <comment_count>10</comment_count>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-09-30 05:16:51 -0700</bug_when>
    <thetext>I also checked the spec at the link below.

http://www.whatwg.org/specs/web-apps/current-work/#dom-option-text

Spec says &quot;The text IDL attribute, on getting, must return the value of the textContent IDL attribute on the element, with leading and trailing whitespace stripped, &quot;

In our case we return &quot;textContent IDL attribute&quot; when label is not present. I think we should do the same thing what we do in case of text IDL attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476038</commentid>
    <comment_count>11</comment_count>
      <attachid>109285</attachid>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-09-30 05:19:35 -0700</bug_when>
    <thetext>Created attachment 109285
updated patch - Incorporating review comments related to white space stripping and fixing styling errors

updated patch - Incorporating review comments related to white space stripping and fixing styling errors</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476129</commentid>
    <comment_count>12</comment_count>
      <attachid>109284</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-30 09:46:55 -0700</bug_when>
    <thetext>Comment on attachment 109284
updated patch - Incorporating review comments related to white space stripping

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

&gt; Source/WebCore/html/HTMLOptionElement.cpp:225
&gt; +    // Use the text if the Label wasn&apos;t set. Also strip leading and trailing html whitespace.

This comment says what we are doing, but not why. Comments need to say “why” or be omitted. The code already says what it does.

&gt;&gt; Source/WebCore/html/HTMLOptionElement.cpp:228
&gt;&gt; +    //we want to collapse our html whitespace within the text too.
&gt; 
&gt; Should have a space between // and comment  [whitespace/comments] [4]

Same problem. Another what comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476130</commentid>
    <comment_count>13</comment_count>
      <attachid>109285</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-30 09:50:39 -0700</bug_when>
    <thetext>Comment on attachment 109285
updated patch - Incorporating review comments related to white space stripping and fixing styling errors

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

commit-queue- because the comments still need a little work and the copyrights are a bit wrong too

&gt; Source/WebCore/dom/OptionElement.cpp:3
&gt; + * Portions Copyright (c) 2010 Motorola Mobility, Inc.  All rights reserved.

Should not add copyright since you are just re-ordering includes and removing a space in a comment.

&gt; Source/WebCore/dom/OptionElement.h:3
&gt; + * Portions Copyright (c) 2010 Motorola Mobility, Inc.  All rights reserved.

Doesn’t make sense to add copyright just for moving private down a line.

&gt; Source/WebCore/html/HTMLOptionElement.cpp:8
&gt; + * Portions Copyright (c) 2010 Motorola Mobility, Inc.  All rights reserved.

Would be better if your copyright matched the format of the others. Also, 2011 is the year of publication here, not 2010. Copyright should cite year of publication.

&gt; Source/WebCore/html/HTMLOptionElement.cpp:225
&gt; +    // Use the text if the Label wasn&apos;t set. Also strip leading and trailing html whitespace.

This comment says what we are doing, but not why. Comments need to say why we do things, not just repeat what the code does and say what we are doing.

Also, &quot;label&quot; should not be capitalized, &quot;HTML&quot; should be capitalized.

&gt; Source/WebCore/html/HTMLOptionElement.cpp:228
&gt; +    // we want to collapse our html whitespace within the text too.

This comment says what we are doing, but not why. Comments need to say why we do things, not just repeat what the code does and say what we are doing.

Also, &quot;We&quot; should be capitalized and &quot;HTML&quot; should be capitalized.

&gt; Source/WebCore/html/HTMLOptionElement.h:7
&gt; + * Portions Copyright (c) 2010 Motorola Mobility, Inc.  All rights reserved.

The year is 2011. Copyright dates are based on year of publication. Also I’m not sure that just adding a single-line function declaration justifies adding a copyright line here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476135</commentid>
    <comment_count>14</comment_count>
      <attachid>109303</attachid>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-09-30 09:57:57 -0700</bug_when>
    <thetext>Created attachment 109303
updated patch - removed the unnecessary comments from code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476145</commentid>
    <comment_count>15</comment_count>
      <attachid>109305</attachid>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-09-30 10:14:30 -0700</bug_when>
    <thetext>Created attachment 109305
incorporated all the comments related to copyrights.

Final Patch after changing the appropriate copyright information as per review comments. Also removed the unnecessary comments form the code. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476150</commentid>
    <comment_count>16</comment_count>
      <attachid>109305</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-30 10:19:14 -0700</bug_when>
    <thetext>Comment on attachment 109305
incorporated all the comments related to copyrights.

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

&gt; Source/WebCore/html/HTMLOptionElement.idl:35
&gt; -        attribute [Reflect] DOMString label;
&gt; +        attribute [ConvertNullToNullString] DOMString label;

Is there a test that covers the [ConvertNullToNullString] behavior?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>476176</commentid>
    <comment_count>17</comment_count>
      <attachid>109305</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-30 10:51:52 -0700</bug_when>
    <thetext>Comment on attachment 109305
incorporated all the comments related to copyrights.

Rejecting attachment 109305 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
302ab83511ddd2a57214c11d11b631afb27c4fda
r96405 = 7785babbe27465a907e4847bb05dd731fcabc3b3
Done rebuilding .git/svn/refs/remotes/origin/master/.rev_map.268f45cc-cd09-0410-ab3c-d52691b4dbfc
First, rewinding head to replay your work on top of it...
Fast-forwarded master to refs/remotes/origin/master.
Updating chromium port dependencies using gclient...

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/9900446</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477829</commentid>
    <comment_count>18</comment_count>
      <attachid>109663</attachid>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-10-04 12:15:20 -0700</bug_when>
    <thetext>Created attachment 109663
Because of one wrong line in the changelog - build bot rejected the patch , hence removed the line.

Hi,
This patch was done r+ and commit + earlir , but because of one wrong line in the patch , build bot rejected the final merge.Changed the patch again for merge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477831</commentid>
    <comment_count>19</comment_count>
      <attachid>109663</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-04 12:16:08 -0700</bug_when>
    <thetext>Comment on attachment 109663
Because of one wrong line in the changelog - build bot rejected the patch , hence removed the line.

Rejecting attachment 109663 from review queue.

jcqt43@motorola.com does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have reviewer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your reviewer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477833</commentid>
    <comment_count>20</comment_count>
      <attachid>109663</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-04 12:16:56 -0700</bug_when>
    <thetext>Comment on attachment 109663
Because of one wrong line in the changelog - build bot rejected the patch , hence removed the line.

Rejecting attachment 109663 from commit-queue.

jcqt43@motorola.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477840</commentid>
    <comment_count>21</comment_count>
      <attachid>109665</attachid>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-10-04 12:22:49 -0700</bug_when>
    <thetext>Created attachment 109665
Because of one wrong line in the changelog - build bot rejected the patch , hence removed the line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477846</commentid>
    <comment_count>22</comment_count>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-10-04 12:31:23 -0700</bug_when>
    <thetext>WebCore change log was wrong earlier
&quot;Need a short description and bug URL (OOPS!)&quot;

This line should be removed. This failed the patch from commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>477868</commentid>
    <comment_count>23</comment_count>
      <attachid>109665</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-04 13:18:16 -0700</bug_when>
    <thetext>Comment on attachment 109665
Because of one wrong line in the changelog - build bot rejected the patch , hence removed the line. 

Attachment 109665 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9954151

New failing tests:
fast/forms/option-value-and-label-changed-by-js.html
fast/forms/option-label-trim-html-spaces.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478264</commentid>
    <comment_count>24</comment_count>
      <attachid>109770</attachid>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-10-05 04:05:48 -0700</bug_when>
    <thetext>Created attachment 109770
Fixed the layout test error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478430</commentid>
    <comment_count>25</comment_count>
      <attachid>109770</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-10-05 09:36:30 -0700</bug_when>
    <thetext>Comment on attachment 109770
Fixed the layout test error.

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

&gt; Source/WebCore/html/HTMLOptionElement.cpp:228
&gt; +    label = collectOptionInnerText(this).stripWhiteSpace(isHTMLSpace);
&gt; +    label = label.simplifyWhiteSpace(isHTMLSpace);
&gt; +
&gt; +    return label;

I think this would read better without the local variable:

    return collectOptionInnerText(this).stripWhiteSpace(isHTMLSpace).simplifyWhiteSpace(isHTMLSpace);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478491</commentid>
    <comment_count>26</comment_count>
      <attachid>109770</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-05 10:40:59 -0700</bug_when>
    <thetext>Comment on attachment 109770
Fixed the layout test error.

Clearing flags on attachment: 109770

Committed r96721: &lt;http://trac.webkit.org/changeset/96721&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478492</commentid>
    <comment_count>27</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-05 10:41:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478618</commentid>
    <comment_count>28</comment_count>
    <who name="Sachin Puranik">jcqt43</who>
    <bug_when>2011-10-05 13:19:54 -0700</bug_when>
    <thetext>Thanks for quick review :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108454</attachid>
            <date>2011-09-23 03:25:12 -0700</date>
            <delta_ts>2011-09-28 04:20:31 -0700</delta_ts>
            <desc>Spec change handling</desc>
            <filename>option.patch</filename>
            <type>text/plain</type>
            <size>7183</size>
            <attacher name="Sachin Puranik">jcqt43</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1Nzg4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDktMTcgIFNhY2hpbiBQ
dXJhbmlrICA8c2FjaGluLnB1cmFuaWtAbW90b3JvbGEuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCB0aGUgY2hhbmdlIGluIHNwZWMgZm9yIG9wdGlvbi5sYWJlbCBzaG91bGQgYmUgcmVmbGVjdGVk
IGxpa2UKKyAgICAgICAgb3B0aW9uLnZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZG9tL09wdGlvbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6T3B0aW9uRWxlbWVudDo6bm9ybWFsaXplVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpP
cHRpb25FbGVtZW50Ojpjb2xsZWN0T3B0aW9uTGFiZWwpOgorICAgICAgICAqIGRvbS9PcHRpb25F
bGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6bGFiZWwpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE9wdGlvbkVsZW1lbnQ6OnNldExhYmVsKToKKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25F
bGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGw6CisKIDIwMTEt
MDktMjIgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBpbXBsZW1l
bnQgLXdlYmtpdC1mbGV4LW9yZGVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9uRWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQu
Y3BwCShyZXZpc2lvbiA5NTc3OCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsOCArMjQsOCBAQAogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1
ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgor
I2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJPcHRpb25Hcm91cEVsZW1l
bnQuaCIKICNpbmNsdWRlICJTY3JpcHRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU2VsZWN0RWxlbWVu
dC5oIgpAQCAtMTAwLDcgKzEwMCw3IEBAIFN0cmluZyBPcHRpb25FbGVtZW50Ojpub3JtYWxpemVU
ZXh0KGNvbnMKICAgICAvLyBJbiBXaW5JRSwgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFj
ZSBpcyBpZ25vcmVkIGluIG9wdGlvbnMgYW5kIG9wdGdyb3Vwcy4gV2UgbWF0Y2ggdGhpcyBiZWhh
dmlvci4KICAgICB0ZXh0ID0gdGV4dC5zdHJpcFdoaXRlU3BhY2UoaXNIVE1MU3BhY2UpOwogCi0g
ICAgLy8gV2Ugd2FudCB0byBjb2xsYXBzZSBvdXIgd2hpdGVzcGFjZSB0b28uICBUaGlzIHdpbGwg
bWF0Y2ggb3RoZXIgYnJvd3NlcnMuCisgICAgLy8gV2Ugd2FudCB0byBjb2xsYXBzZSBvdXIgd2hp
dGVzcGFjZSB0b28uIFRoaXMgd2lsbCBtYXRjaCBvdGhlciBicm93c2Vycy4KICAgICB0ZXh0ID0g
dGV4dC5zaW1wbGlmeVdoaXRlU3BhY2UoaXNIVE1MU3BhY2UpOwogCiAgICAgcmV0dXJuIHRleHQ7
CkBAIC0xMjUsNiArMTI1LDE1IEBAIFN0cmluZyBPcHRpb25FbGVtZW50Ojpjb2xsZWN0T3B0aW9u
VmFsdWUKICAgICByZXR1cm4gY29sbGVjdE9wdGlvbklubmVyVGV4dChlbGVtZW50KS5zdHJpcFdo
aXRlU3BhY2UoKTsKIH0KIAorU3RyaW5nIE9wdGlvbkVsZW1lbnQ6OmNvbGxlY3RPcHRpb25MYWJl
bChjb25zdCBPcHRpb25FbGVtZW50RGF0YSYgZGF0YSwgY29uc3QgRWxlbWVudCogZWxlbWVudCkK
K3sKKyAgICBTdHJpbmcgbGFiZWwgPSBkYXRhLmxhYmVsKCk7CisgICAgaWYgKCFsYWJlbC5pc051
bGwoKSkKKyAgICAgICAgcmV0dXJuIGxhYmVsOworCisgICAgLy8gVXNlIHRoZSB0ZXh0IGlmIHRo
ZSBMYWJlbCB3YXNuJ3Qgc2V0LgorICAgIHJldHVybiBjb2xsZWN0T3B0aW9uSW5uZXJUZXh0KGVs
ZW1lbnQpLnN0cmlwV2hpdGVTcGFjZSgpOworfQogLy8gT3B0aW9uRWxlbWVudERhdGEKIE9wdGlv
bkVsZW1lbnREYXRhOjpPcHRpb25FbGVtZW50RGF0YSgpCiAgICAgOiBtX3NlbGVjdGVkKGZhbHNl
KQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9uRWxlbWVudC5oCShyZXZpc2lvbiA5NTc3OCkKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQx
LDYgKzQxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIHRleHQoKSBjb25zdCA9IDA7
CiAgICAgdmlydHVhbCBTdHJpbmcgdGV4dEluZGVudGVkVG9SZXNwZWN0R3JvdXBMYWJlbCgpIGNv
bnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyB2YWx1ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0
dWFsIFN0cmluZyBsYWJlbCgpIGNvbnN0ID0gMDsKIAogcHJvdGVjdGVkOgogICAgIHN0YXRpYyB2
b2lkIHNldFNlbGVjdGVkU3RhdGUoT3B0aW9uRWxlbWVudERhdGEmLCBFbGVtZW50KiwgYm9vbCBz
ZWxlY3RlZCk7CkBAIC00OCw2ICs0OSw3IEBAIHByb3RlY3RlZDoKICAgICBzdGF0aWMgU3RyaW5n
IGNvbGxlY3RPcHRpb25MYWJlbE9yVGV4dChjb25zdCBPcHRpb25FbGVtZW50RGF0YSYsIGNvbnN0
IEVsZW1lbnQqKTsKICAgICBzdGF0aWMgU3RyaW5nIGNvbGxlY3RPcHRpb25UZXh0UmVzcGVjdGlu
Z0dyb3VwTGFiZWwoY29uc3QgT3B0aW9uRWxlbWVudERhdGEmLCBjb25zdCBFbGVtZW50Kik7CiAg
ICAgc3RhdGljIFN0cmluZyBjb2xsZWN0T3B0aW9uVmFsdWUoY29uc3QgT3B0aW9uRWxlbWVudERh
dGEmLCBjb25zdCBFbGVtZW50Kik7CisgICAgc3RhdGljIFN0cmluZyBjb2xsZWN0T3B0aW9uTGFi
ZWwoY29uc3QgT3B0aW9uRWxlbWVudERhdGEmLCBjb25zdCBFbGVtZW50Kik7CiBwcml2YXRlOgog
ICAgIHN0YXRpYyBTdHJpbmcgY29sbGVjdE9wdGlvbklubmVyVGV4dChjb25zdCBFbGVtZW50Kik7
CiAgICAgc3RhdGljIFN0cmluZyBub3JtYWxpemVUZXh0KGNvbnN0IERvY3VtZW50KiwgY29uc3Qg
U3RyaW5nJik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNw
cAkocmV2aXNpb24gOTU3NzgpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE2LDcgKzIxNiwxMiBAQCB2b2lkIEhUTUxPcHRp
b25FbGVtZW50OjpzZXREZWZhdWx0U2VsZWN0CiAKIFN0cmluZyBIVE1MT3B0aW9uRWxlbWVudDo6
bGFiZWwoKSBjb25zdAogewotICAgIHJldHVybiBtX2RhdGEubGFiZWwoKTsKKyAgICByZXR1cm4g
T3B0aW9uRWxlbWVudDo6Y29sbGVjdE9wdGlvbkxhYmVsKG1fZGF0YSwgdGhpcyk7Cit9CisKK3Zv
aWQgSFRNTE9wdGlvbkVsZW1lbnQ6OnNldExhYmVsKGNvbnN0IFN0cmluZyYgbGFiZWwpCit7Cisg
ICAgc2V0QXR0cmlidXRlKGxhYmVsQXR0ciwgbGFiZWwpOwogfQogCiB2b2lkIEhUTUxPcHRpb25F
bGVtZW50OjpzZXRSZW5kZXJTdHlsZShQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBuZXdTdHlsZSkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmgJKHJldmlzaW9uIDk1
Nzc4KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC01Nyw3ICs1Nyw4IEBAIHB1YmxpYzoKICAgICBib29sIGRlZmF1bHRTZWxlY3Rl
ZCgpIGNvbnN0OwogICAgIHZvaWQgc2V0RGVmYXVsdFNlbGVjdGVkKGJvb2wpOwogCi0gICAgU3Ry
aW5nIGxhYmVsKCkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgbGFiZWwoKSBjb25zdDsKKyAg
ICB2b2lkIHNldExhYmVsKGNvbnN0IFN0cmluZyYpOwogCiAgICAgYm9vbCBvd25FbGVtZW50RGlz
YWJsZWQoKSBjb25zdCB7IHJldHVybiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50OjpkaXNhYmxlZCgp
OyB9CiAKQEAgLTkyLDYgKzkzLDYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8UmVuZGVyU3R5bGU+
IG1fc3R5bGU7CiB9OwogCi19IC8vbmFtZXNwYWNlCit9IC8vIG5hbWVzcGFjZQogCiAjZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaWRsCShyZXZpc2lv
biA5NTc3OCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBAIG1vZHVsZSBodG1sIHsKICNlbmRpZgogICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBpbmRleDsKICAgICAgICAgYXR0cmlidXRlIFtS
ZWZsZWN0XSBib29sZWFuIGRpc2FibGVkOwotICAgICAgICBhdHRyaWJ1dGUgW1JlZmxlY3RdIERP
TVN0cmluZyBsYWJlbDsKKyAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmlu
Z10gRE9NU3RyaW5nIGxhYmVsOwogICAgICAgICBhdHRyaWJ1dGUgYm9vbGVhbiBzZWxlY3RlZDsK
ICAgICAgICAgYXR0cmlidXRlIFtDb252ZXJ0TnVsbFRvTnVsbFN0cmluZ10gRE9NU3RyaW5nIHZh
bHVlOwogICAgIH07CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5NTc4OCkKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDExLTA5LTE3ICBTYWNo
aW4gUHVyYW5payAgPHNhY2hpbi5wdXJhbmlrQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBzcGVj
IGNoYW5nZSAtIG9wdGlvbi5sYWJlbCBzaG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZh
bHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwuaHRtbDoKKwogMjAxMS0wOS0yMyAgQmFs
YXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgcGx1Z2lucy9tb3Vz
ZS1jbGljay1pZnJhbWUtdG8tcGx1Z2luLmh0bWwgc2hvdWxkIG5vdCB1c2UgZmxhc2ggcGx1Z2lu
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZh
bHVlLWFuZC1sYWJlbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDk1Nzc4KQorKysgTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtNCw5ICs0LDkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQQogCiAKIFBBU1MgbzEudmFsdWUgaXMgInRleHQiCi1QQVNTIG8xLmxhYmVsIGlzICIi
CitQQVNTIG8xLmxhYmVsIGlzICJ0ZXh0IgogUEFTUyBvMi52YWx1ZSBpcyAidmFsdWUiCi1QQVNT
IG8yLmxhYmVsIGlzICIiCitQQVNTIG8yLmxhYmVsIGlzICJ0ZXh0IgogUEFTUyBvMy52YWx1ZSBp
cyAidGV4dCIKIFBBU1MgbzMubGFiZWwgaXMgImxhYmVsIgogUEFTUyBvNC52YWx1ZSBpcyAidmFs
dWUiCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1h
bmQtbGFiZWwuaHRtbAkocmV2aXNpb24gOTU3ODYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L29wdGlvbi12YWx1ZS1hbmQtbGFiZWwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjAsMTEgKzIw
LDExIEBAIGRlc2NyaXB0aW9uKCdUZXN0IGZvciAudmFsdWUgYW5kIC5sYWJlbAogCiB2YXIgbzEg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzEnKTsKIHNob3VsZEJlKCdvMS52YWx1ZScsICci
dGV4dCInKTsKLXNob3VsZEJlKCdvMS5sYWJlbCcsICciIicpOworc2hvdWxkQmUoJ28xLmxhYmVs
JywgJyJ0ZXh0IicpOwogCiB2YXIgbzIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzInKTsK
IHNob3VsZEJlKCdvMi52YWx1ZScsICcidmFsdWUiJyk7Ci1zaG91bGRCZSgnbzIubGFiZWwnLCAn
IiInKTsKK3Nob3VsZEJlKCdvMi5sYWJlbCcsICcidGV4dCInKTsKIAogdmFyIG8zID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ28zJyk7CiBzaG91bGRCZSgnbzMudmFsdWUnLCAnInRleHQiJyk7
Cg==
</data>
<flag name="review"
          id="105424"
          type_id="1"
          status="-"
          setter="tkent"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109001</attachid>
            <date>2011-09-28 04:20:31 -0700</date>
            <delta_ts>2011-09-30 05:09:26 -0700</delta_ts>
            <desc>updated patch - Incorporating review comments</desc>
            <filename>option.patch</filename>
            <type>text/plain</type>
            <size>12069</size>
            <attacher name="Sachin Puranik">jcqt43</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2MjEyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMDktMjcgIFNhY2hpbiBQ
dXJhbmlrICA8amNxdDQzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBTcGVjIGNoYW5nZSAtIG9w
dGlvbi5sYWJlbCBzaG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZhbHVlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY29ycG9yYXRpbmcgdGhl
IHJlY2VudCBjaGFuZ2UgaW4gc3BlYyBmb3IgbGFiZWwgYXR0cmlidXRlIG9mIAorICAgICAgICBv
cHRpb24gZWxlbWVudC4gV2hpbGUgcmV0cmlldmluZyB0aGUgIkxhYmVsIiBJREwgYXR0cmlidXRl
IHJldHVybgorICAgICAgICB0aGUgIkxhYmVsIiBjb250ZW50IGF0dHJpYnV0ZSBpZiBwcmVzZW50
ICwgZWxzZSByZXR1cm4gdGhlIAorICAgICAgICB2YWx1ZSBvZiB0ZXh0Q29udGVudCBhdHRyaWJ1
dGUuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1j
aGFuZ2VkLWJ5LWpzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZm9ybXMvb3B0aW9uLXZhbHVl
LWFuZC1sYWJlbC10cmltLXNwYWNlcy5odG1sCisKKyAgICAgICAgKiBkb20vT3B0aW9uRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpPcHRpb25FbGVtZW50Ojpub3JtYWxpemVUZXh0KTpz
dHlsZSBmaXhlcworICAgICAgICAqIGRvbS9PcHRpb25FbGVtZW50Lmg6IG1ha2UgY29sbGVjdE9w
dGlvbklubmVyVGV4dCgpIHByb3RlY3RlZC4KKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25FbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50OjpsYWJlbCk6IHJl
dHVybiBpbm5lclRleHQgaWYgbGFiZWwgYXR0cmlidXRlIHVuLWF2YWlsYWJsZS4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxPcHRpb25FbGVtZW50OjpzZXRMYWJlbCk6c2V0TGFiZWwoKSBpbXBsZW1l
bnRhdGlvbi4KKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25FbGVtZW50Lmg6IGFkZCBzZXRMYWJl
bCBkZWNsYXJhdGlvbi4KKyAgICAgICAgKiBodG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbDogQ2hh
bmdlIHJlZmxlY3QgdG8gQ29udmVydE51bGxUb051bGxTdHJpbmcgaW4gaWRsCisKIDIwMTEtMDkt
MjggIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEltcGxl
bWVudCBhIFBvcFN0YXRlRXZlbnQgY29uc3RydWN0b3IgZm9yIFY4CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9kb20vT3B0aW9uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZG9tL09wdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiA5NjE5MykKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9PcHRpb25FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsOCArMjQsOCBAQAog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkhU
TUxOYW1lcy5oIgotI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJIVE1M
T3B0aW9uRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRl
ICJPcHRpb25Hcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJTY3JpcHRFbGVtZW50LmgiCiAjaW5j
bHVkZSAiU2VsZWN0RWxlbWVudC5oIgpAQCAtMTAwLDcgKzEwMCw3IEBAIFN0cmluZyBPcHRpb25F
bGVtZW50Ojpub3JtYWxpemVUZXh0KGNvbnMKICAgICAvLyBJbiBXaW5JRSwgbGVhZGluZyBhbmQg
dHJhaWxpbmcgd2hpdGVzcGFjZSBpcyBpZ25vcmVkIGluIG9wdGlvbnMgYW5kIG9wdGdyb3Vwcy4g
V2UgbWF0Y2ggdGhpcyBiZWhhdmlvci4KICAgICB0ZXh0ID0gdGV4dC5zdHJpcFdoaXRlU3BhY2Uo
aXNIVE1MU3BhY2UpOwogCi0gICAgLy8gV2Ugd2FudCB0byBjb2xsYXBzZSBvdXIgd2hpdGVzcGFj
ZSB0b28uICBUaGlzIHdpbGwgbWF0Y2ggb3RoZXIgYnJvd3NlcnMuCisgICAgLy8gV2Ugd2FudCB0
byBjb2xsYXBzZSBvdXIgd2hpdGVzcGFjZSB0b28uIFRoaXMgd2lsbCBtYXRjaCBvdGhlciBicm93
c2Vycy4KICAgICB0ZXh0ID0gdGV4dC5zaW1wbGlmeVdoaXRlU3BhY2UoaXNIVE1MU3BhY2UpOwog
CiAgICAgcmV0dXJuIHRleHQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9uRWxlbWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50LmgJKHJl
dmlzaW9uIDk2MTkzKQorKysgU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtNDgsOCArNDgsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIFN0cmlu
ZyBjb2xsZWN0T3B0aW9uTGFiZWxPclRleHQoY29uc3QgT3B0aW9uRWxlbWVudERhdGEmLCBjb25z
dCBFbGVtZW50Kik7CiAgICAgc3RhdGljIFN0cmluZyBjb2xsZWN0T3B0aW9uVGV4dFJlc3BlY3Rp
bmdHcm91cExhYmVsKGNvbnN0IE9wdGlvbkVsZW1lbnREYXRhJiwgY29uc3QgRWxlbWVudCopOwog
ICAgIHN0YXRpYyBTdHJpbmcgY29sbGVjdE9wdGlvblZhbHVlKGNvbnN0IE9wdGlvbkVsZW1lbnRE
YXRhJiwgY29uc3QgRWxlbWVudCopOwotcHJpdmF0ZToKICAgICBzdGF0aWMgU3RyaW5nIGNvbGxl
Y3RPcHRpb25Jbm5lclRleHQoY29uc3QgRWxlbWVudCopOworcHJpdmF0ZToKICAgICBzdGF0aWMg
U3RyaW5nIG5vcm1hbGl6ZVRleHQoY29uc3QgRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmKTsKIH07
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCShyZXZp
c2lvbiA5NjE5MykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yMTYsNyArMjE2LDE3IEBAIHZvaWQgSFRNTE9wdGlvbkVsZW1l
bnQ6OnNldERlZmF1bHRTZWxlY3QKIAogU3RyaW5nIEhUTUxPcHRpb25FbGVtZW50OjpsYWJlbCgp
IGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZGF0YS5sYWJlbCgpOworICAgIFN0cmluZyBsYWJlbCA9
IG1fZGF0YS5sYWJlbCgpOworICAgIGlmICghbGFiZWwuaXNOdWxsKCkpCisgICAgICAgIHJldHVy
biBsYWJlbDsKKworICAgIC8vIFVzZSB0aGUgdGV4dCBpZiB0aGUgTGFiZWwgd2Fzbid0IHNldC4K
KyAgICByZXR1cm4gY29sbGVjdE9wdGlvbklubmVyVGV4dCh0aGlzKS5zdHJpcFdoaXRlU3BhY2Uo
KTsKK30KKwordm9pZCBIVE1MT3B0aW9uRWxlbWVudDo6c2V0TGFiZWwoY29uc3QgU3RyaW5nJiBs
YWJlbCkKK3sKKyAgICBzZXRBdHRyaWJ1dGUobGFiZWxBdHRyLCBsYWJlbCk7CiB9CiAKIHZvaWQg
SFRNTE9wdGlvbkVsZW1lbnQ6OnNldFJlbmRlclN0eWxlKFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+
IG5ld1N0eWxlKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaAko
cmV2aXNpb24gOTYxOTMpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0
RGVmYXVsdFNlbGVjdGVkKGJvb2wpOwogCiAgICAgU3RyaW5nIGxhYmVsKCkgY29uc3Q7CisgICAg
dm9pZCBzZXRMYWJlbChjb25zdCBTdHJpbmcmKTsKIAogICAgIGJvb2wgb3duRWxlbWVudERpc2Fi
bGVkKCkgY29uc3QgeyByZXR1cm4gSFRNTEZvcm1Db250cm9sRWxlbWVudDo6ZGlzYWJsZWQoKTsg
fQogCkBAIC05Miw2ICs5Myw2IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBt
X3N0eWxlOwogfTsKIAotfSAvL25hbWVzcGFjZQorfSAvLyBuYW1lc3BhY2UKIAogI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAkocmV2aXNpb24g
OTYxOTMpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAkod29y
a2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQCBtb2R1bGUgaHRtbCB7CiAjZW5kaWYKICAgICAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgaW5kZXg7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVm
bGVjdF0gYm9vbGVhbiBkaXNhYmxlZDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01T
dHJpbmcgbGFiZWw7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmdd
IERPTVN0cmluZyBsYWJlbDsKICAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gc2VsZWN0ZWQ7CiAg
ICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyB2YWx1
ZTsKICAgICB9OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gOTYyMTIpCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0wOS0yNyAgU2FjaGlu
IFB1cmFuaWsgIDxqY3F0NDNAbW90b3JvbGEuY29tPgorCisgICAgICAgIHNwZWMgY2hhbmdlIC0g
b3B0aW9uLmxhYmVsIHNob3VsZCBiZSByZWZsZWN0ZWQgbGlrZSBvcHRpb24udmFsdWUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4Njg0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSURMICJMYWJlbCIgYXR0
cmlidXRlIG9mIG9wdGlvbiBlbGVtZW50IHNob3VsZCByZXR1cm4gdGV4dENvbnRlbnQgSURMIGF0
dHJpYnV0ZQorICAgICAgICBpZiBjb25ldGVudCBhdHRyaWJ1dGUgIkxhYmVsIiBpcyB1bmF2YWls
YWJsZS4gQ2hhbmdlZCB0aGUgdGVzdHMgdG8gbWF0Y2gKKyAgICAgICAgYWJvdmUgc2FpZCBiZWhh
dmlvdXIuIEFkZGVkIG5ldyB0ZXN0cy4KKworICAgICAgICAqIGZhc3QvZm9ybXMvb3B0aW9uLXZh
bHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLWV4cGVjdGVkLnR4dDogdGVzdCB0aGUgYXR0ciBj
aGFuZ2UgZnJvbSBKUy4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFi
ZWwtY2hhbmdlZC1ieS1qcy5odG1sOiB0ZXN0IHRoZSBhdHRyIGNoYW5nZSBmcm9tIEpTLgorICAg
ICAgICAqIGZhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1leHBlY3RlZC50eHQ6IENo
YW5nZWQgaW4gZXhpc3RpbmcgdGVzdAorICAgICAgICAqIGZhc3QvZm9ybXMvb3B0aW9uLXZhbHVl
LWFuZC1sYWJlbC10cmltLXNwYWNlcy1leHBlY3RlZC50eHQ6IHRlc3QgdGhlIHRyaW0gdGV4dCBm
dW5jdGlvbmFsaXR5LgorICAgICAgICAqIGZhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJl
bC10cmltLXNwYWNlcy5odG1sOiB0ZXN0IHRoZSB0cmltIHRleHQgZnVuY3Rpb25hbGl0eS4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwuaHRtbDogQ2hhbmdlIGV4
aXN0aW5nIHRlc3QKKwogMjAxMS0wOS0yOCAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IGEgUG9wU3RhdGVFdmVudCBjb25zdHJ1Y3RvciBm
b3IgVjgKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJl
bC1jaGFuZ2VkLWJ5LWpzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwtY2hhbmdlZC1ieS1qcy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1h
bmQtbGFiZWwtY2hhbmdlZC1ieS1qcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTcgQEAKK1Rlc3QgZm9yIC52YWx1ZSBhbmQgLmxhYmVsIG9mIE9QVElPTiBlbGVtZW50CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG8xLnZhbHVlIGlzICJuZXdWYWx1
ZSIKK1BBU1MgbzEubGFiZWwgaXMgIm5ld0xhYmVsIgorUEFTUyBvMi52YWx1ZSBpcyAibmV3VmFs
dWUiCitQQVNTIG8yLmxhYmVsIGlzICJuZXdMYWJlbCIKK1BBU1MgbzMudmFsdWUgaXMgIm5ld1Zh
bHVlIgorUEFTUyBvMy5sYWJlbCBpcyAibmV3TGFiZWwiCitQQVNTIG80LnZhbHVlIGlzICJuZXdW
YWx1ZSIKK1BBU1MgbzQubGFiZWwgaXMgIm5ld0xhYmVsIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQt
YnktanMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9u
LXZhbHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNDkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNlbGVjdD4KKzxvcHRpb24gaWQ9Im8xIj4gIHRleHQg
IDwvb3B0aW9uPgorPG9wdGlvbiBpZD0ibzIiIHZhbHVlPSJ2YWx1ZSI+ICB0ZXh0ICA8L29wdGlv
bj4KKzxvcHRpb24gaWQ9Im8zIiBsYWJlbD0ibGFiZWwiPiAgdGV4dCAgPC9vcHRpb24+Cis8b3B0
aW9uIGlkPSJvNCIgdmFsdWU9InZhbHVlIiBsYWJlbD0ibGFiZWwiPnRleHQ8L29wdGlvbj4KKzwv
c2VsZWN0PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgZm9yIC52YWx1ZSBhbmQgLmxh
YmVsIG9mIE9QVElPTiBlbGVtZW50Jyk7CisKK3ZhciBvMSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdvMScpOworbzEubGFiZWwgPSAibmV3TGFiZWwiCitvMS52YWx1ZSA9ICJuZXdWYWx1ZSIK
K3Nob3VsZEJlKCdvMS52YWx1ZScsICcibmV3VmFsdWUiJyk7CitzaG91bGRCZSgnbzEubGFiZWwn
LCAnIm5ld0xhYmVsIicpOworCit2YXIgbzIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzIn
KTsKK28yLmxhYmVsID0gIm5ld0xhYmVsIgorbzIudmFsdWUgPSAibmV3VmFsdWUiCitzaG91bGRC
ZSgnbzIudmFsdWUnLCAnIm5ld1ZhbHVlIicpOworc2hvdWxkQmUoJ28yLmxhYmVsJywgJyJuZXdM
YWJlbCInKTsKKwordmFyIG8zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28zJyk7CitvMy5s
YWJlbCA9ICJuZXdMYWJlbCIKK28zLnZhbHVlID0gIm5ld1ZhbHVlIgorc2hvdWxkQmUoJ28zLnZh
bHVlJywgJyJuZXdWYWx1ZSInKTsKK3Nob3VsZEJlKCdvMy5sYWJlbCcsICcibmV3TGFiZWwiJyk7
CisKK3ZhciBvNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvNCcpOworbzQubGFiZWwgPSAi
bmV3TGFiZWwiCitvNC52YWx1ZSA9ICJuZXdWYWx1ZSIKK3Nob3VsZEJlKCdvNC52YWx1ZScsICci
bmV3VmFsdWUiJyk7CitzaG91bGRCZSgnbzQubGFiZWwnLCAnIm5ld0xhYmVsIicpOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFi
ZWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0
aW9uLXZhbHVlLWFuZC1sYWJlbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDk2MTkzKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtNCw5ICs0LDkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQQogCiAKIFBBU1MgbzEudmFsdWUgaXMgInRleHQiCi1QQVNTIG8xLmxhYmVs
IGlzICIiCitQQVNTIG8xLmxhYmVsIGlzICJ0ZXh0IgogUEFTUyBvMi52YWx1ZSBpcyAidmFsdWUi
Ci1QQVNTIG8yLmxhYmVsIGlzICIiCitQQVNTIG8yLmxhYmVsIGlzICJ0ZXh0IgogUEFTUyBvMy52
YWx1ZSBpcyAidGV4dCIKIFBBU1MgbzMubGFiZWwgaXMgImxhYmVsIgogUEFTUyBvNC52YWx1ZSBp
cyAidmFsdWUiCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQt
bGFiZWwtdHJpbS1zcGFjZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC10cmltLXNwYWNlcy1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1h
bmQtbGFiZWwtdHJpbS1zcGFjZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDE3IEBACitUZXN0IGZvciAudmFsdWUgYW5kIC5sYWJlbCBvZiBPUFRJT04gZWxlbWVudAorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBvMS52YWx1ZSBpcyAidGV4dCIKK1BB
U1MgbzEubGFiZWwgaXMgInRleHQiCitQQVNTIG8yLnZhbHVlIGlzICJ2YWx1ZSIKK1BBU1MgbzIu
bGFiZWwgaXMgInRleHQiCitQQVNTIG8zLnZhbHVlIGlzICJ0ZXh0IgorUEFTUyBvMy5sYWJlbCBp
cyAibGFiZWwiCitQQVNTIG80LnZhbHVlIGlzICJ2YWx1ZSIKK1BBU1MgbzQubGFiZWwgaXMgImxh
YmVsIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC10cmlt
LXNwYWNlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9u
LXZhbHVlLWFuZC1sYWJlbC10cmltLXNwYWNlcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLXRyaW0tc3BhY2VzLmh0bWwJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNlbGVjdD4KKzxv
cHRpb24gaWQ9Im8xIj4gIHRleHQgIDwvb3B0aW9uPgorPG9wdGlvbiBpZD0ibzIiIHZhbHVlPSJ2
YWx1ZSI+dGV4dCAgPC9vcHRpb24+Cis8b3B0aW9uIGlkPSJvMyIgbGFiZWw9ImxhYmVsIj4gICB0
ZXh0PC9vcHRpb24+Cis8b3B0aW9uIGlkPSJvNCIgdmFsdWU9InZhbHVlIiBsYWJlbD0ibGFiZWwi
PiAgdGV4dCAgPC9vcHRpb24+Cis8L3NlbGVjdD4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCdU
ZXN0IGZvciAudmFsdWUgYW5kIC5sYWJlbCBvZiBPUFRJT04gZWxlbWVudCcpOworCit2YXIgbzEg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzEnKTsKK3Nob3VsZEJlKCdvMS52YWx1ZScsICci
dGV4dCInKTsKK3Nob3VsZEJlKCdvMS5sYWJlbCcsICcidGV4dCInKTsKKwordmFyIG8yID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28yJyk7CitzaG91bGRCZSgnbzIudmFsdWUnLCAnInZhbHVl
IicpOworc2hvdWxkQmUoJ28yLmxhYmVsJywgJyJ0ZXh0IicpOworCit2YXIgbzMgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnbzMnKTsKK3Nob3VsZEJlKCdvMy52YWx1ZScsICcidGV4dCInKTsK
K3Nob3VsZEJlKCdvMy5sYWJlbCcsICcibGFiZWwiJyk7CisKK3ZhciBvNCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdvNCcpOworc2hvdWxkQmUoJ280LnZhbHVlJywgJyJ2YWx1ZSInKTsKK3No
b3VsZEJlKCdvNC5sYWJlbCcsICcibGFiZWwiJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1sCShy
ZXZpc2lvbiA5NjE5MykKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFu
ZC1sYWJlbC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yMCwxMSArMjAsMTEgQEAgZGVzY3JpcHRp
b24oJ1Rlc3QgZm9yIC52YWx1ZSBhbmQgLmxhYmVsCiAKIHZhciBvMSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdvMScpOwogc2hvdWxkQmUoJ28xLnZhbHVlJywgJyJ0ZXh0IicpOwotc2hvdWxk
QmUoJ28xLmxhYmVsJywgJyIiJyk7CitzaG91bGRCZSgnbzEubGFiZWwnLCAnInRleHQiJyk7CiAK
IHZhciBvMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvMicpOwogc2hvdWxkQmUoJ28yLnZh
bHVlJywgJyJ2YWx1ZSInKTsKLXNob3VsZEJlKCdvMi5sYWJlbCcsICciIicpOworc2hvdWxkQmUo
J28yLmxhYmVsJywgJyJ0ZXh0IicpOwogCiB2YXIgbzMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnbzMnKTsKIHNob3VsZEJlKCdvMy52YWx1ZScsICcidGV4dCInKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109284</attachid>
            <date>2011-09-30 05:09:26 -0700</date>
            <delta_ts>2011-09-30 09:46:55 -0700</delta_ts>
            <desc>updated patch - Incorporating review comments related to white space stripping</desc>
            <filename>option.patch</filename>
            <type>text/plain</type>
            <size>14443</size>
            <attacher name="Sachin Puranik">jcqt43</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2Mzk4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDktMjggIFNhY2hpbiBQ
dXJhbmlrICA8amNxdDQzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBTcGVjIGNoYW5nZSAtIG9w
dGlvbi5sYWJlbCBzaG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZhbHVlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY29ycG9yYXRpbmcgdGhl
IHJlY2VudCBjaGFuZ2UgaW4gc3BlYyBmb3IgbGFiZWwgYXR0cmlidXRlIG9mIAorICAgICAgICBv
cHRpb24gZWxlbWVudC4gV2hpbGUgcmV0cmlldmluZyB0aGUgIkxhYmVsIiBJREwgYXR0cmlidXRl
IHJldHVybgorICAgICAgICB0aGUgIkxhYmVsIiBjb250ZW50IGF0dHJpYnV0ZSBpZiBwcmVzZW50
ICwgZWxzZSByZXR1cm4gdGhlIAorICAgICAgICB2YWx1ZSBvZiB0ZXh0Q29udGVudCBhdHRyaWJ1
dGUuCisgICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAoT09QUyEp
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFj
ZXMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVs
LWNoYW5nZWQtYnktanMuaHRtbAorCisgICAgICAgICogZG9tL09wdGlvbkVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6T3B0aW9uRWxlbWVudDo6bm9ybWFsaXplVGV4dCk6c3R5bGUgZml4
ZXMKKyAgICAgICAgKiBkb20vT3B0aW9uRWxlbWVudC5oOiBtYWtlIGNvbGxlY3RPcHRpb25Jbm5l
clRleHQoKSBwcm90ZWN0ZWQuCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6bGFiZWwpOiByZXR1cm4gaW5u
ZXJUZXh0IGlmIGxhYmVsIGF0dHJpYnV0ZSB1bi1hdmFpbGFibGUuCisgICAgICAgIChXZWJDb3Jl
OjpIVE1MT3B0aW9uRWxlbWVudDo6c2V0TGFiZWwpOnNldExhYmVsKCkgaW1wbGVtZW50YXRpb24u
CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oOiBhZGQgc2V0TGFiZWwgZGVjbGFy
YXRpb24uCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGw6IENoYW5nZSByZWZs
ZWN0IHRvIENvbnZlcnROdWxsVG9OdWxsU3RyaW5nIGluIGlkbAorCiAyMDExLTA5LTMwICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBbY2hyb21pdW1dIGV4cG9zZSBpbnNwZWN0b3IgcHJvdG9jb2wgdmVyc2lvbiB0byB0aGUgZW1i
ZWRkZXIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9uRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiA5
NjM5MSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgVG9yY2ggTW9i
aWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29t
LykKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjQsOCArMjUs
OCBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRl
ICJIVE1MT3B0aW9uRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNp
bmNsdWRlICJPcHRpb25Hcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJTY3JpcHRFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiU2VsZWN0RWxlbWVudC5oIgpAQCAtMTAwLDcgKzEwMSw3IEBAIFN0cmluZyBP
cHRpb25FbGVtZW50Ojpub3JtYWxpemVUZXh0KGNvbnMKICAgICAvLyBJbiBXaW5JRSwgbGVhZGlu
ZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBpcyBpZ25vcmVkIGluIG9wdGlvbnMgYW5kIG9wdGdy
b3Vwcy4gV2UgbWF0Y2ggdGhpcyBiZWhhdmlvci4KICAgICB0ZXh0ID0gdGV4dC5zdHJpcFdoaXRl
U3BhY2UoaXNIVE1MU3BhY2UpOwogCi0gICAgLy8gV2Ugd2FudCB0byBjb2xsYXBzZSBvdXIgd2hp
dGVzcGFjZSB0b28uICBUaGlzIHdpbGwgbWF0Y2ggb3RoZXIgYnJvd3NlcnMuCisgICAgLy8gV2Ug
d2FudCB0byBjb2xsYXBzZSBvdXIgd2hpdGVzcGFjZSB0b28uIFRoaXMgd2lsbCBtYXRjaCBvdGhl
ciBicm93c2Vycy4KICAgICB0ZXh0ID0gdGV4dC5zaW1wbGlmeVdoaXRlU3BhY2UoaXNIVE1MU3Bh
Y2UpOwogCiAgICAgcmV0dXJuIHRleHQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9u
RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50
LmgJKHJldmlzaW9uIDk2MzkxKQorKysgU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9y
Y2htb2JpbGUuY29tLykKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBN
b2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpA
QCAtNDgsOCArNDksOCBAQCBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIFN0cmluZyBjb2xsZWN0T3B0
aW9uTGFiZWxPclRleHQoY29uc3QgT3B0aW9uRWxlbWVudERhdGEmLCBjb25zdCBFbGVtZW50Kik7
CiAgICAgc3RhdGljIFN0cmluZyBjb2xsZWN0T3B0aW9uVGV4dFJlc3BlY3RpbmdHcm91cExhYmVs
KGNvbnN0IE9wdGlvbkVsZW1lbnREYXRhJiwgY29uc3QgRWxlbWVudCopOwogICAgIHN0YXRpYyBT
dHJpbmcgY29sbGVjdE9wdGlvblZhbHVlKGNvbnN0IE9wdGlvbkVsZW1lbnREYXRhJiwgY29uc3Qg
RWxlbWVudCopOwotcHJpdmF0ZToKICAgICBzdGF0aWMgU3RyaW5nIGNvbGxlY3RPcHRpb25Jbm5l
clRleHQoY29uc3QgRWxlbWVudCopOworcHJpdmF0ZToKICAgICBzdGF0aWMgU3RyaW5nIG5vcm1h
bGl6ZVRleHQoY29uc3QgRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmKTsKIH07CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiA5NjM5MSkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01LDYgKzUsNyBAQAogICogICAgICAgICAgIChDKSAyMDA2IEFsZXhleSBQcm9za3Vy
eWFrb3YgKGFwQG55cG9wLmNvbSkKICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdo
dCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMzEsNiArMzIsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgor
I2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJIVE1MU2VsZWN0RWxlbWVu
dC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJp
bmdDb250ZXh0LmgiCkBAIC0yMTYsNyArMjE4LDIyIEBAIHZvaWQgSFRNTE9wdGlvbkVsZW1lbnQ6
OnNldERlZmF1bHRTZWxlY3QKIAogU3RyaW5nIEhUTUxPcHRpb25FbGVtZW50OjpsYWJlbCgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIG1fZGF0YS5sYWJlbCgpOworICAgIFN0cmluZyBsYWJlbCA9IG1f
ZGF0YS5sYWJlbCgpOworICAgIGlmICghbGFiZWwuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBs
YWJlbDsKKworICAgIC8vIFVzZSB0aGUgdGV4dCBpZiB0aGUgTGFiZWwgd2Fzbid0IHNldC4gQWxz
byBzdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBodG1sIHdoaXRlc3BhY2UuCisgICAgbGFiZWwg
PSBjb2xsZWN0T3B0aW9uSW5uZXJUZXh0KHRoaXMpLnN0cmlwV2hpdGVTcGFjZShpc0hUTUxTcGFj
ZSk7CisKKyAgICAvL3dlIHdhbnQgdG8gY29sbGFwc2Ugb3VyIGh0bWwgd2hpdGVzcGFjZSB3aXRo
aW4gdGhlIHRleHQgdG9vLgorICAgIGxhYmVsID0gbGFiZWwuc2ltcGxpZnlXaGl0ZVNwYWNlKGlz
SFRNTFNwYWNlKTsKKworICAgIHJldHVybiBsYWJlbDsKK30KKwordm9pZCBIVE1MT3B0aW9uRWxl
bWVudDo6c2V0TGFiZWwoY29uc3QgU3RyaW5nJiBsYWJlbCkKK3sKKyAgICBzZXRBdHRyaWJ1dGUo
bGFiZWxBdHRyLCBsYWJlbCk7CiB9CiAKIHZvaWQgSFRNTE9wdGlvbkVsZW1lbnQ6OnNldFJlbmRl
clN0eWxlKFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IG5ld1N0eWxlKQpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaAkocmV2aXNpb24gOTYzOTEpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQsNiAr
NCw3IEBACiAgKiAgICAgICAgICAgKEMpIDIwMDAgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5v
cmcpCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3Jv
bGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKQEAgLTU4LDYgKzU5LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RGVmYXVsdFNlbGVjdGVk
KGJvb2wpOwogCiAgICAgU3RyaW5nIGxhYmVsKCkgY29uc3Q7CisgICAgdm9pZCBzZXRMYWJlbChj
b25zdCBTdHJpbmcmKTsKIAogICAgIGJvb2wgb3duRWxlbWVudERpc2FibGVkKCkgY29uc3QgeyBy
ZXR1cm4gSFRNTEZvcm1Db250cm9sRWxlbWVudDo6ZGlzYWJsZWQoKTsgfQogCkBAIC05Miw2ICs5
NCw2IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBtX3N0eWxlOwogfTsKIAot
fSAvL25hbWVzcGFjZQorfSAvLyBuYW1lc3BhY2UKIAogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAkocmV2aXNpb24gOTYzOTEpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAt
MSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMTAgQXBwbGUs
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwg
V2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykg
MjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYwpAQCAtMzIsNyArMzMsNyBAQCBtb2R1bGUgaHRtbCB7CiAjZW5kaWYKICAg
ICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgaW5kZXg7CiAgICAgICAgIGF0dHJpYnV0ZSBb
UmVmbGVjdF0gYm9vbGVhbiBkaXNhYmxlZDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBE
T01TdHJpbmcgbGFiZWw7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJp
bmddIERPTVN0cmluZyBsYWJlbDsKICAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gc2VsZWN0ZWQ7
CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyB2
YWx1ZTsKICAgICB9OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gOTYzOTgpCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0wOS0yOCAgU2Fj
aGluIFB1cmFuaWsgIDxqY3F0NDNAbW90b3JvbGEuY29tPgorCisgICAgICAgIHNwZWMgY2hhbmdl
IC0gb3B0aW9uLmxhYmVsIHNob3VsZCBiZSByZWZsZWN0ZWQgbGlrZSBvcHRpb24udmFsdWUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4Njg0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSURMICJMYWJlbCIg
YXR0cmlidXRlIG9mIG9wdGlvbiBlbGVtZW50IHNob3VsZCByZXR1cm4gdGV4dENvbnRlbnQgSURM
IGF0dHJpYnV0ZQorICAgICAgICBpZiBjb25ldGVudCBhdHRyaWJ1dGUgIkxhYmVsIiBpcyB1bmF2
YWlsYWJsZS4gQ2hhbmdlZCB0aGUgdGVzdHMgdG8gbWF0Y2gKKyAgICAgICAgYWJvdmUgc2FpZCBi
ZWhhdmlvdXIuIEFkZGVkIG5ldyB0ZXN0cy4KKworICAgICAgICAqIGZhc3QvZm9ybXMvb3B0aW9u
LWxhYmVsLXRyaW0taHRtbC1zcGFjZXMtZXhwZWN0ZWQudHh0OiBIdG1sIHNwYWNlIHRyaW1pbmcg
dGVzdC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi1sYWJlbC10cmltLWh0bWwtc3BhY2Vz
Lmh0bWw6IEh0bWwgc3BhY2UgdHJpbWluZyB0ZXN0LgorICAgICAgICAqIGZhc3QvZm9ybXMvb3B0
aW9uLXZhbHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLWV4cGVjdGVkLnR4dDogQXR0cmlidXRl
IGNoYW5nZSBmcm9tIEpTLgorICAgICAgICAqIGZhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1s
YWJlbC1jaGFuZ2VkLWJ5LWpzLmh0bWw6IEF0dHJpYnV0ZSBjaGFuZ2UgZnJvbSBKUy4KKyAgICAg
ICAgKiBmYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwtZXhwZWN0ZWQudHh0OiBDaGFu
Z2VkICB0ZXN0IGNhc2UgYXMgcGVyIG5ldyBzcGVjLgorICAgICAgICAqIGZhc3QvZm9ybXMvb3B0
aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1sOkNoYW5nZWQgdGVzdCBjYXNlIGFzIHBlciBuZXcgc3Bl
Yy4KKwogMjAxMS0wOS0zMCAgU2hpbmljaGlybyBIYW1hamkgIDxoYW1hamlAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtDaHJvbWl1bV0gTGF5b3V0IHRlc3QgZmFpbHVyZXMgdW5kZXIgU25vdyBM
ZW9wYXJkCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi1sYWJlbC10cmltLWh0
bWwtc3BhY2VzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL29wdGlvbi1sYWJlbC10cmltLWh0bWwtc3BhY2VzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFj
ZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACitUZXN0IGZvciBz
cGFjZSBzdHJpcGluZyAubGFiZWwgYXR0cmlidXRlIG9mIE9QVElPTiBlbGVtZW50CisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG8xLmxhYmVsIGlzICJ0ZXh0IHdpdGggZXh0
cmEgd2hpbGUgc3BhY2VzIgorUEFTUyBvMi5sYWJlbCBpcyAidGV4dCIKK1BBU1MgbzMubGFiZWwg
aXMgIsKgdGVzdMKgdGV4dMKgIgorUEFTUyBvNC5sYWJlbCBpcyAidGVzdMKgwqB0ZXh0IgorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFjZXMuaHRtbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi1sYWJlbC10cmltLWh0
bWwtc3BhY2VzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29w
dGlvbi1sYWJlbC10cmltLWh0bWwtc3BhY2VzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NDEgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGh0dHAtZXF1aXY9
IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRp
b24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2VsZWN0PgorPG9wdGlvbiBp
ZD0ibzEiPiAgdGV4dCAgIHdpdGggICBleHRyYSAgIHdoaWxlICAgc3BhY2VzICA8L29wdGlvbj4K
KzxvcHRpb24gaWQ9Im8yIj4gIHRleHQgIDwvb3B0aW9uPgorPG9wdGlvbiBpZD0ibzMiPiZuYnNw
O3Rlc3QmbmJzcDt0ZXh0Jm5ic3A7PC9vcHRpb24+Cis8b3B0aW9uIGlkPSJvNCI+ICAgdGVzdCZu
YnNwOyZuYnNwO3RleHQgICA8L29wdGlvbj4KKzwvc2VsZWN0PgorCis8c2NyaXB0PgorZGVzY3Jp
cHRpb24oJ1Rlc3QgZm9yIHNwYWNlIHN0cmlwaW5nIC5sYWJlbCBhdHRyaWJ1dGUgb2YgT1BUSU9O
IGVsZW1lbnQnKTsKKwordmFyIG8xID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28xJyk7Citz
aG91bGRCZSgnbzEubGFiZWwnLCAnInRleHQgd2l0aCBleHRyYSB3aGlsZSBzcGFjZXMiJyk7CisK
K3ZhciBvMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvMicpOworc2hvdWxkQmUoJ28yLmxh
YmVsJywgJyJ0ZXh0IicpOworCisKK3ZhciBvMyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdv
MycpOwordmFyIGV4cGVjdGVkID0gJ1x1MDBBMCcrJ3Rlc3QnKydcdTAwQTAnKyAndGV4dCcrJ1x1
MDBBMCc7CitzaG91bGRCZSgnbzMubGFiZWwnLCciJytleHBlY3RlZCsnIicpOworCit2YXIgbzQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzQnKTsKK3ZhciBleHBlY3RlZCA9ICd0ZXN0Jysn
XHUwMEEwXHUwMEEwJysgJ3RleHQnOworc2hvdWxkQmUoJ280LmxhYmVsJywgJyInK2V4cGVjdGVk
KyciJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9u
LXZhbHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwtY2hhbmdlZC1i
eS1qcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1z
L29wdGlvbi12YWx1ZS1hbmQtbGFiZWwtY2hhbmdlZC1ieS1qcy1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3QgZm9yIC52YWx1ZSBhbmQgLmxhYmVsIG9mIE9Q
VElPTiBlbGVtZW50CisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG8xLnZh
bHVlIGlzICJuZXdWYWx1ZSIKK1BBU1MgbzEubGFiZWwgaXMgIm5ld0xhYmVsIgorUEFTUyBvMi52
YWx1ZSBpcyAibmV3VmFsdWUiCitQQVNTIG8yLmxhYmVsIGlzICJuZXdMYWJlbCIKK1BBU1MgbzMu
dmFsdWUgaXMgIm5ld1ZhbHVlIgorUEFTUyBvMy5sYWJlbCBpcyAibmV3TGFiZWwiCitQQVNTIG80
LnZhbHVlIGlzICJuZXdWYWx1ZSIKK1BBU1MgbzQubGFiZWwgaXMgIm5ld0xhYmVsIgorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5k
LWxhYmVsLWNoYW5nZWQtYnktanMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLmh0bWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNDkgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4K
KzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNlbGVjdD4KKzxvcHRpb24g
aWQ9Im8xIj4gIHRleHQgIDwvb3B0aW9uPgorPG9wdGlvbiBpZD0ibzIiIHZhbHVlPSJ2YWx1ZSI+
ICB0ZXh0ICA8L29wdGlvbj4KKzxvcHRpb24gaWQ9Im8zIiBsYWJlbD0ibGFiZWwiPiAgdGV4dCAg
PC9vcHRpb24+Cis8b3B0aW9uIGlkPSJvNCIgdmFsdWU9InZhbHVlIiBsYWJlbD0ibGFiZWwiPnRl
eHQ8L29wdGlvbj4KKzwvc2VsZWN0PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgZm9y
IC52YWx1ZSBhbmQgLmxhYmVsIG9mIE9QVElPTiBlbGVtZW50Jyk7CisKK3ZhciBvMSA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdvMScpOworbzEubGFiZWwgPSAibmV3TGFiZWwiCitvMS52YWx1
ZSA9ICJuZXdWYWx1ZSIKK3Nob3VsZEJlKCdvMS52YWx1ZScsICcibmV3VmFsdWUiJyk7CitzaG91
bGRCZSgnbzEubGFiZWwnLCAnIm5ld0xhYmVsIicpOworCit2YXIgbzIgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnbzInKTsKK28yLmxhYmVsID0gIm5ld0xhYmVsIgorbzIudmFsdWUgPSAibmV3
VmFsdWUiCitzaG91bGRCZSgnbzIudmFsdWUnLCAnIm5ld1ZhbHVlIicpOworc2hvdWxkQmUoJ28y
LmxhYmVsJywgJyJuZXdMYWJlbCInKTsKKwordmFyIG8zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ28zJyk7CitvMy5sYWJlbCA9ICJuZXdMYWJlbCIKK28zLnZhbHVlID0gIm5ld1ZhbHVlIgor
c2hvdWxkQmUoJ28zLnZhbHVlJywgJyJuZXdWYWx1ZSInKTsKK3Nob3VsZEJlKCdvMy5sYWJlbCcs
ICcibmV3TGFiZWwiJyk7CisKK3ZhciBvNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvNCcp
OworbzQubGFiZWwgPSAibmV3TGFiZWwiCitvNC52YWx1ZSA9ICJuZXdWYWx1ZSIKK3Nob3VsZEJl
KCdvNC52YWx1ZScsICcibmV3VmFsdWUiJyk7CitzaG91bGRCZSgnbzQubGFiZWwnLCAnIm5ld0xh
YmVsIicpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlv
bi12YWx1ZS1hbmQtbGFiZWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDk2MzkxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVs
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNCw5ICs0LDkgQEAgT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQQogCiAKIFBBU1MgbzEudmFsdWUgaXMgInRleHQi
Ci1QQVNTIG8xLmxhYmVsIGlzICIiCitQQVNTIG8xLmxhYmVsIGlzICJ0ZXh0IgogUEFTUyBvMi52
YWx1ZSBpcyAidmFsdWUiCi1QQVNTIG8yLmxhYmVsIGlzICIiCitQQVNTIG8yLmxhYmVsIGlzICJ0
ZXh0IgogUEFTUyBvMy52YWx1ZSBpcyAidGV4dCIKIFBBU1MgbzMubGFiZWwgaXMgImxhYmVsIgog
UEFTUyBvNC52YWx1ZSBpcyAidmFsdWUiCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29w
dGlvbi12YWx1ZS1hbmQtbGFiZWwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwuaHRtbAkocmV2aXNpb24gOTYzOTEpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwuaHRtbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjAsMTEgKzIwLDExIEBAIGRlc2NyaXB0aW9uKCdUZXN0IGZvciAudmFsdWUg
YW5kIC5sYWJlbAogCiB2YXIgbzEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzEnKTsKIHNo
b3VsZEJlKCdvMS52YWx1ZScsICcidGV4dCInKTsKLXNob3VsZEJlKCdvMS5sYWJlbCcsICciIicp
Oworc2hvdWxkQmUoJ28xLmxhYmVsJywgJyJ0ZXh0IicpOwogCiB2YXIgbzIgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnbzInKTsKIHNob3VsZEJlKCdvMi52YWx1ZScsICcidmFsdWUiJyk7Ci1z
aG91bGRCZSgnbzIubGFiZWwnLCAnIiInKTsKK3Nob3VsZEJlKCdvMi5sYWJlbCcsICcidGV4dCIn
KTsKIAogdmFyIG8zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28zJyk7CiBzaG91bGRCZSgn
bzMudmFsdWUnLCAnInRleHQiJyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109285</attachid>
            <date>2011-09-30 05:19:35 -0700</date>
            <delta_ts>2011-09-30 09:57:57 -0700</delta_ts>
            <desc>updated patch - Incorporating review comments related to white space stripping and fixing styling errors</desc>
            <filename>option.patch</filename>
            <type>text/plain</type>
            <size>14445</size>
            <attacher name="Sachin Puranik">jcqt43</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2Mzk4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDktMjggIFNhY2hpbiBQ
dXJhbmlrICA8amNxdDQzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBTcGVjIGNoYW5nZSAtIG9w
dGlvbi5sYWJlbCBzaG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZhbHVlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY29ycG9yYXRpbmcgdGhl
IHJlY2VudCBjaGFuZ2UgaW4gc3BlYyBmb3IgbGFiZWwgYXR0cmlidXRlIG9mIAorICAgICAgICBv
cHRpb24gZWxlbWVudC4gV2hpbGUgcmV0cmlldmluZyB0aGUgIkxhYmVsIiBJREwgYXR0cmlidXRl
IHJldHVybgorICAgICAgICB0aGUgIkxhYmVsIiBjb250ZW50IGF0dHJpYnV0ZSBpZiBwcmVzZW50
ICwgZWxzZSByZXR1cm4gdGhlIAorICAgICAgICB2YWx1ZSBvZiB0ZXh0Q29udGVudCBhdHRyaWJ1
dGUuCisgICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAoT09QUyEp
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFj
ZXMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVs
LWNoYW5nZWQtYnktanMuaHRtbAorCisgICAgICAgICogZG9tL09wdGlvbkVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6T3B0aW9uRWxlbWVudDo6bm9ybWFsaXplVGV4dCk6c3R5bGUgZml4
ZXMKKyAgICAgICAgKiBkb20vT3B0aW9uRWxlbWVudC5oOiBtYWtlIGNvbGxlY3RPcHRpb25Jbm5l
clRleHQoKSBwcm90ZWN0ZWQuCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6bGFiZWwpOiByZXR1cm4gaW5u
ZXJUZXh0IGlmIGxhYmVsIGF0dHJpYnV0ZSB1bi1hdmFpbGFibGUuCisgICAgICAgIChXZWJDb3Jl
OjpIVE1MT3B0aW9uRWxlbWVudDo6c2V0TGFiZWwpOnNldExhYmVsKCkgaW1wbGVtZW50YXRpb24u
CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oOiBhZGQgc2V0TGFiZWwgZGVjbGFy
YXRpb24uCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGw6IENoYW5nZSByZWZs
ZWN0IHRvIENvbnZlcnROdWxsVG9OdWxsU3RyaW5nIGluIGlkbAorCiAyMDExLTA5LTMwICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBbY2hyb21pdW1dIGV4cG9zZSBpbnNwZWN0b3IgcHJvdG9jb2wgdmVyc2lvbiB0byB0aGUgZW1i
ZWRkZXIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9uRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiA5
NjM5MSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgVG9yY2ggTW9i
aWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29t
LykKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjQsOCArMjUs
OCBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRl
ICJIVE1MT3B0aW9uRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNp
bmNsdWRlICJPcHRpb25Hcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJTY3JpcHRFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiU2VsZWN0RWxlbWVudC5oIgpAQCAtMTAwLDcgKzEwMSw3IEBAIFN0cmluZyBP
cHRpb25FbGVtZW50Ojpub3JtYWxpemVUZXh0KGNvbnMKICAgICAvLyBJbiBXaW5JRSwgbGVhZGlu
ZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBpcyBpZ25vcmVkIGluIG9wdGlvbnMgYW5kIG9wdGdy
b3Vwcy4gV2UgbWF0Y2ggdGhpcyBiZWhhdmlvci4KICAgICB0ZXh0ID0gdGV4dC5zdHJpcFdoaXRl
U3BhY2UoaXNIVE1MU3BhY2UpOwogCi0gICAgLy8gV2Ugd2FudCB0byBjb2xsYXBzZSBvdXIgd2hp
dGVzcGFjZSB0b28uICBUaGlzIHdpbGwgbWF0Y2ggb3RoZXIgYnJvd3NlcnMuCisgICAgLy8gV2Ug
d2FudCB0byBjb2xsYXBzZSBvdXIgd2hpdGVzcGFjZSB0b28uIFRoaXMgd2lsbCBtYXRjaCBvdGhl
ciBicm93c2Vycy4KICAgICB0ZXh0ID0gdGV4dC5zaW1wbGlmeVdoaXRlU3BhY2UoaXNIVE1MU3Bh
Y2UpOwogCiAgICAgcmV0dXJuIHRleHQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9u
RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50
LmgJKHJldmlzaW9uIDk2MzkxKQorKysgU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9y
Y2htb2JpbGUuY29tLykKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBN
b2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpA
QCAtNDgsOCArNDksOCBAQCBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIFN0cmluZyBjb2xsZWN0T3B0
aW9uTGFiZWxPclRleHQoY29uc3QgT3B0aW9uRWxlbWVudERhdGEmLCBjb25zdCBFbGVtZW50Kik7
CiAgICAgc3RhdGljIFN0cmluZyBjb2xsZWN0T3B0aW9uVGV4dFJlc3BlY3RpbmdHcm91cExhYmVs
KGNvbnN0IE9wdGlvbkVsZW1lbnREYXRhJiwgY29uc3QgRWxlbWVudCopOwogICAgIHN0YXRpYyBT
dHJpbmcgY29sbGVjdE9wdGlvblZhbHVlKGNvbnN0IE9wdGlvbkVsZW1lbnREYXRhJiwgY29uc3Qg
RWxlbWVudCopOwotcHJpdmF0ZToKICAgICBzdGF0aWMgU3RyaW5nIGNvbGxlY3RPcHRpb25Jbm5l
clRleHQoY29uc3QgRWxlbWVudCopOworcHJpdmF0ZToKICAgICBzdGF0aWMgU3RyaW5nIG5vcm1h
bGl6ZVRleHQoY29uc3QgRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmKTsKIH07CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiA5NjM5MSkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01LDYgKzUsNyBAQAogICogICAgICAgICAgIChDKSAyMDA2IEFsZXhleSBQcm9za3Vy
eWFrb3YgKGFwQG55cG9wLmNvbSkKICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdo
dCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMzEsNiArMzIsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgor
I2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJIVE1MU2VsZWN0RWxlbWVu
dC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJp
bmdDb250ZXh0LmgiCkBAIC0yMTYsNyArMjE4LDIyIEBAIHZvaWQgSFRNTE9wdGlvbkVsZW1lbnQ6
OnNldERlZmF1bHRTZWxlY3QKIAogU3RyaW5nIEhUTUxPcHRpb25FbGVtZW50OjpsYWJlbCgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIG1fZGF0YS5sYWJlbCgpOworICAgIFN0cmluZyBsYWJlbCA9IG1f
ZGF0YS5sYWJlbCgpOworICAgIGlmICghbGFiZWwuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBs
YWJlbDsKKworICAgIC8vIFVzZSB0aGUgdGV4dCBpZiB0aGUgTGFiZWwgd2Fzbid0IHNldC4gQWxz
byBzdHJpcCBsZWFkaW5nIGFuZCB0cmFpbGluZyBodG1sIHdoaXRlc3BhY2UuCisgICAgbGFiZWwg
PSBjb2xsZWN0T3B0aW9uSW5uZXJUZXh0KHRoaXMpLnN0cmlwV2hpdGVTcGFjZShpc0hUTUxTcGFj
ZSk7CisKKyAgICAvLyB3ZSB3YW50IHRvIGNvbGxhcHNlIG91ciBodG1sIHdoaXRlc3BhY2Ugd2l0
aGluIHRoZSB0ZXh0IHRvby4KKyAgICBsYWJlbCA9IGxhYmVsLnNpbXBsaWZ5V2hpdGVTcGFjZShp
c0hUTUxTcGFjZSk7CisKKyAgICByZXR1cm4gbGFiZWw7Cit9CisKK3ZvaWQgSFRNTE9wdGlvbkVs
ZW1lbnQ6OnNldExhYmVsKGNvbnN0IFN0cmluZyYgbGFiZWwpCit7CisgICAgc2V0QXR0cmlidXRl
KGxhYmVsQXR0ciwgbGFiZWwpOwogfQogCiB2b2lkIEhUTUxPcHRpb25FbGVtZW50OjpzZXRSZW5k
ZXJTdHlsZShQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBuZXdTdHlsZSkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmgJKHJldmlzaW9uIDk2MzkxKQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00LDYg
KzQsNyBAQAogICogICAgICAgICAgIChDKSAyMDAwIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUu
b3JnKQogICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9y
b2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCkBAIC01OCw2ICs1OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldERlZmF1bHRTZWxlY3Rl
ZChib29sKTsKIAogICAgIFN0cmluZyBsYWJlbCgpIGNvbnN0OworICAgIHZvaWQgc2V0TGFiZWwo
Y29uc3QgU3RyaW5nJik7CiAKICAgICBib29sIG93bkVsZW1lbnREaXNhYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmRpc2FibGVkKCk7IH0KIApAQCAtOTIsNiAr
OTQsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gbV9zdHlsZTsKIH07CiAK
LX0gLy9uYW1lc3BhY2UKK30gLy8gbmFtZXNwYWNlCiAKICNlbmRpZgpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGwJKHJldmlzaW9uIDk2MzkxKQorKysgU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDEwIEFwcGxl
LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVs
IFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMp
IDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKQEAgLTMyLDcgKzMzLDcgQEAgbW9kdWxlIGh0bWwgewogI2VuZGlmCiAg
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGluZGV4OwogICAgICAgICBhdHRyaWJ1dGUg
W1JlZmxlY3RdIGJvb2xlYW4gZGlzYWJsZWQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0g
RE9NU3RyaW5nIGxhYmVsOworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3Ry
aW5nXSBET01TdHJpbmcgbGFiZWw7CiAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIHNlbGVjdGVk
OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJpbmcg
dmFsdWU7CiAgICAgfTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2Mzk4KQorKysgTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDktMjggIFNh
Y2hpbiBQdXJhbmlrICA8amNxdDQzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBzcGVjIGNoYW5n
ZSAtIG9wdGlvbi5sYWJlbCBzaG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZhbHVlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4NAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElETCAiTGFiZWwi
IGF0dHJpYnV0ZSBvZiBvcHRpb24gZWxlbWVudCBzaG91bGQgcmV0dXJuIHRleHRDb250ZW50IElE
TCBhdHRyaWJ1dGUKKyAgICAgICAgaWYgY29uZXRlbnQgYXR0cmlidXRlICJMYWJlbCIgaXMgdW5h
dmFpbGFibGUuIENoYW5nZWQgdGhlIHRlc3RzIHRvIG1hdGNoCisgICAgICAgIGFib3ZlIHNhaWQg
YmVoYXZpb3VyLiBBZGRlZCBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlv
bi1sYWJlbC10cmltLWh0bWwtc3BhY2VzLWV4cGVjdGVkLnR4dDogSHRtbCBzcGFjZSB0cmltaW5n
IHRlc3QuCisgICAgICAgICogZmFzdC9mb3Jtcy9vcHRpb24tbGFiZWwtdHJpbS1odG1sLXNwYWNl
cy5odG1sOiBIdG1sIHNwYWNlIHRyaW1pbmcgdGVzdC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL29w
dGlvbi12YWx1ZS1hbmQtbGFiZWwtY2hhbmdlZC1ieS1qcy1leHBlY3RlZC50eHQ6IEF0dHJpYnV0
ZSBjaGFuZ2UgZnJvbSBKUy4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQt
bGFiZWwtY2hhbmdlZC1ieS1qcy5odG1sOiBBdHRyaWJ1dGUgY2hhbmdlIGZyb20gSlMuCisgICAg
ICAgICogZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWV4cGVjdGVkLnR4dDogQ2hh
bmdlZCAgdGVzdCBjYXNlIGFzIHBlciBuZXcgc3BlYy4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL29w
dGlvbi12YWx1ZS1hbmQtbGFiZWwuaHRtbDogQ2hhbmdlZCB0ZXN0IGNhc2UgYXMgcGVyIG5ldyBz
cGVjLgorCiAyMDExLTA5LTMwICBTaGluaWNoaXJvIEhhbWFqaSAgPGhhbWFqaUBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBMYXlvdXQgdGVzdCBmYWlsdXJlcyB1bmRlciBTbm93
IExlb3BhcmQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0t
aHRtbC1zcGFjZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFjZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tbGFiZWwtdHJpbS1odG1sLXNw
YWNlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3QgZm9y
IHNwYWNlIHN0cmlwaW5nIC5sYWJlbCBhdHRyaWJ1dGUgb2YgT1BUSU9OIGVsZW1lbnQKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbzEubGFiZWwgaXMgInRleHQgd2l0aCBl
eHRyYSB3aGlsZSBzcGFjZXMiCitQQVNTIG8yLmxhYmVsIGlzICJ0ZXh0IgorUEFTUyBvMy5sYWJl
bCBpcyAiwqB0ZXN0wqB0ZXh0wqAiCitQQVNTIG80LmxhYmVsIGlzICJ0ZXN0wqDCoHRleHQiCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tbGFiZWwtdHJpbS1odG1sLXNwYWNlcy5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0t
aHRtbC1zcGFjZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
b3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFjZXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw0MSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pz
LXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzZWxlY3Q+Cis8b3B0aW9u
IGlkPSJvMSI+ICB0ZXh0ICAgd2l0aCAgIGV4dHJhICAgd2hpbGUgICBzcGFjZXMgIDwvb3B0aW9u
PgorPG9wdGlvbiBpZD0ibzIiPiAgdGV4dCAgPC9vcHRpb24+Cis8b3B0aW9uIGlkPSJvMyI+Jm5i
c3A7dGVzdCZuYnNwO3RleHQmbmJzcDs8L29wdGlvbj4KKzxvcHRpb24gaWQ9Im80Ij4gICB0ZXN0
Jm5ic3A7Jm5ic3A7dGV4dCAgIDwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbignVGVzdCBmb3Igc3BhY2Ugc3RyaXBpbmcgLmxhYmVsIGF0dHJpYnV0ZSBvZiBPUFRJ
T04gZWxlbWVudCcpOworCit2YXIgbzEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzEnKTsK
K3Nob3VsZEJlKCdvMS5sYWJlbCcsICcidGV4dCB3aXRoIGV4dHJhIHdoaWxlIHNwYWNlcyInKTsK
KwordmFyIG8yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28yJyk7CitzaG91bGRCZSgnbzIu
bGFiZWwnLCAnInRleHQiJyk7CisKKwordmFyIG8zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J28zJyk7Cit2YXIgZXhwZWN0ZWQgPSAnXHUwMEEwJysndGVzdCcrJ1x1MDBBMCcrICd0ZXh0Jysn
XHUwMEEwJzsKK3Nob3VsZEJlKCdvMy5sYWJlbCcsJyInK2V4cGVjdGVkKyciJyk7CisKK3ZhciBv
NCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvNCcpOwordmFyIGV4cGVjdGVkID0gJ3Rlc3Qn
KydcdTAwQTBcdTAwQTAnKyAndGV4dCc7CitzaG91bGRCZSgnbzQubGFiZWwnLCAnIicrZXhwZWN0
ZWQrJyInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRp
b24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnktanMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1jaGFuZ2Vk
LWJ5LWpzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorVGVzdCBmb3IgLnZhbHVlIGFuZCAubGFiZWwgb2Yg
T1BUSU9OIGVsZW1lbnQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbzEu
dmFsdWUgaXMgIm5ld1ZhbHVlIgorUEFTUyBvMS5sYWJlbCBpcyAibmV3TGFiZWwiCitQQVNTIG8y
LnZhbHVlIGlzICJuZXdWYWx1ZSIKK1BBU1MgbzIubGFiZWwgaXMgIm5ld0xhYmVsIgorUEFTUyBv
My52YWx1ZSBpcyAibmV3VmFsdWUiCitQQVNTIG8zLmxhYmVsIGlzICJuZXdMYWJlbCIKK1BBU1Mg
bzQudmFsdWUgaXMgIm5ld1ZhbHVlIgorUEFTUyBvNC5sYWJlbCBpcyAibmV3TGFiZWwiCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnktanMu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1h
bmQtbGFiZWwtY2hhbmdlZC1ieS1qcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnktanMuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFk
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2VsZWN0PgorPG9wdGlv
biBpZD0ibzEiPiAgdGV4dCAgPC9vcHRpb24+Cis8b3B0aW9uIGlkPSJvMiIgdmFsdWU9InZhbHVl
Ij4gIHRleHQgIDwvb3B0aW9uPgorPG9wdGlvbiBpZD0ibzMiIGxhYmVsPSJsYWJlbCI+ICB0ZXh0
ICA8L29wdGlvbj4KKzxvcHRpb24gaWQ9Im80IiB2YWx1ZT0idmFsdWUiIGxhYmVsPSJsYWJlbCI+
dGV4dDwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCBm
b3IgLnZhbHVlIGFuZCAubGFiZWwgb2YgT1BUSU9OIGVsZW1lbnQnKTsKKwordmFyIG8xID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28xJyk7CitvMS5sYWJlbCA9ICJuZXdMYWJlbCIKK28xLnZh
bHVlID0gIm5ld1ZhbHVlIgorc2hvdWxkQmUoJ28xLnZhbHVlJywgJyJuZXdWYWx1ZSInKTsKK3No
b3VsZEJlKCdvMS5sYWJlbCcsICcibmV3TGFiZWwiJyk7CisKK3ZhciBvMiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdvMicpOworbzIubGFiZWwgPSAibmV3TGFiZWwiCitvMi52YWx1ZSA9ICJu
ZXdWYWx1ZSIKK3Nob3VsZEJlKCdvMi52YWx1ZScsICcibmV3VmFsdWUiJyk7CitzaG91bGRCZSgn
bzIubGFiZWwnLCAnIm5ld0xhYmVsIicpOworCit2YXIgbzMgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnbzMnKTsKK28zLmxhYmVsID0gIm5ld0xhYmVsIgorbzMudmFsdWUgPSAibmV3VmFsdWUi
CitzaG91bGRCZSgnbzMudmFsdWUnLCAnIm5ld1ZhbHVlIicpOworc2hvdWxkQmUoJ28zLmxhYmVs
JywgJyJuZXdMYWJlbCInKTsKKwordmFyIG80ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ280
Jyk7CitvNC5sYWJlbCA9ICJuZXdMYWJlbCIKK280LnZhbHVlID0gIm5ld1ZhbHVlIgorc2hvdWxk
QmUoJ280LnZhbHVlJywgJyJuZXdWYWx1ZSInKTsKK3Nob3VsZEJlKCdvNC5sYWJlbCcsICcibmV3
TGFiZWwiJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0
aW9uLXZhbHVlLWFuZC1sYWJlbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gOTYzOTEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFi
ZWwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDkgKzQsOSBAQCBPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiAKIAogUEFTUyBvMS52YWx1ZSBpcyAidGV4
dCIKLVBBU1MgbzEubGFiZWwgaXMgIiIKK1BBU1MgbzEubGFiZWwgaXMgInRleHQiCiBQQVNTIG8y
LnZhbHVlIGlzICJ2YWx1ZSIKLVBBU1MgbzIubGFiZWwgaXMgIiIKK1BBU1MgbzIubGFiZWwgaXMg
InRleHQiCiBQQVNTIG8zLnZhbHVlIGlzICJ0ZXh0IgogUEFTUyBvMy5sYWJlbCBpcyAibGFiZWwi
CiBQQVNTIG80LnZhbHVlIGlzICJ2YWx1ZSIKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
b3B0aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1sCShyZXZpc2lvbiA5NjM5MSkKKysr
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMCwxMSArMjAsMTEgQEAgZGVzY3JpcHRpb24oJ1Rlc3QgZm9yIC52YWx1
ZSBhbmQgLmxhYmVsCiAKIHZhciBvMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvMScpOwog
c2hvdWxkQmUoJ28xLnZhbHVlJywgJyJ0ZXh0IicpOwotc2hvdWxkQmUoJ28xLmxhYmVsJywgJyIi
Jyk7CitzaG91bGRCZSgnbzEubGFiZWwnLCAnInRleHQiJyk7CiAKIHZhciBvMiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdvMicpOwogc2hvdWxkQmUoJ28yLnZhbHVlJywgJyJ2YWx1ZSInKTsK
LXNob3VsZEJlKCdvMi5sYWJlbCcsICciIicpOworc2hvdWxkQmUoJ28yLmxhYmVsJywgJyJ0ZXh0
IicpOwogCiB2YXIgbzMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzMnKTsKIHNob3VsZEJl
KCdvMy52YWx1ZScsICcidGV4dCInKTsK
</data>
<flag name="review"
          id="106497"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="106498"
          type_id="3"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109303</attachid>
            <date>2011-09-30 09:57:57 -0700</date>
            <delta_ts>2011-09-30 10:14:30 -0700</delta_ts>
            <desc>updated patch - removed the unnecessary comments from code.</desc>
            <filename>option.patch</filename>
            <type>text/plain</type>
            <size>14280</size>
            <attacher name="Sachin Puranik">jcqt43</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2Mzk4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDktMjggIFNhY2hpbiBQ
dXJhbmlrICA8amNxdDQzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBTcGVjIGNoYW5nZSAtIG9w
dGlvbi5sYWJlbCBzaG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZhbHVlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY29ycG9yYXRpbmcgdGhl
IHJlY2VudCBjaGFuZ2UgaW4gc3BlYyBmb3IgbGFiZWwgYXR0cmlidXRlIG9mIAorICAgICAgICBv
cHRpb24gZWxlbWVudC4gV2hpbGUgcmV0cmlldmluZyB0aGUgIkxhYmVsIiBJREwgYXR0cmlidXRl
IHJldHVybgorICAgICAgICB0aGUgIkxhYmVsIiBjb250ZW50IGF0dHJpYnV0ZSBpZiBwcmVzZW50
ICwgZWxzZSByZXR1cm4gdGhlIAorICAgICAgICB2YWx1ZSBvZiB0ZXh0Q29udGVudCBhdHRyaWJ1
dGUuCisgICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAoT09QUyEp
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFj
ZXMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVs
LWNoYW5nZWQtYnktanMuaHRtbAorCisgICAgICAgICogZG9tL09wdGlvbkVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6T3B0aW9uRWxlbWVudDo6bm9ybWFsaXplVGV4dCk6c3R5bGUgZml4
ZXMKKyAgICAgICAgKiBkb20vT3B0aW9uRWxlbWVudC5oOiBtYWtlIGNvbGxlY3RPcHRpb25Jbm5l
clRleHQoKSBwcm90ZWN0ZWQuCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6bGFiZWwpOiByZXR1cm4gaW5u
ZXJUZXh0IGlmIGxhYmVsIGF0dHJpYnV0ZSB1bi1hdmFpbGFibGUuCisgICAgICAgIChXZWJDb3Jl
OjpIVE1MT3B0aW9uRWxlbWVudDo6c2V0TGFiZWwpOnNldExhYmVsKCkgaW1wbGVtZW50YXRpb24u
CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oOiBhZGQgc2V0TGFiZWwgZGVjbGFy
YXRpb24uCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGw6IENoYW5nZSByZWZs
ZWN0IHRvIENvbnZlcnROdWxsVG9OdWxsU3RyaW5nIGluIGlkbAorCiAyMDExLTA5LTMwICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBbY2hyb21pdW1dIGV4cG9zZSBpbnNwZWN0b3IgcHJvdG9jb2wgdmVyc2lvbiB0byB0aGUgZW1i
ZWRkZXIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9uRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiA5
NjM5MSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDkgVG9yY2ggTW9i
aWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9yY2htb2JpbGUuY29t
LykKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjQsOCArMjUs
OCBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1
ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRl
ICJIVE1MT3B0aW9uRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNp
bmNsdWRlICJPcHRpb25Hcm91cEVsZW1lbnQuaCIKICNpbmNsdWRlICJTY3JpcHRFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiU2VsZWN0RWxlbWVudC5oIgpAQCAtMTAwLDcgKzEwMSw3IEBAIFN0cmluZyBP
cHRpb25FbGVtZW50Ojpub3JtYWxpemVUZXh0KGNvbnMKICAgICAvLyBJbiBXaW5JRSwgbGVhZGlu
ZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBpcyBpZ25vcmVkIGluIG9wdGlvbnMgYW5kIG9wdGdy
b3Vwcy4gV2UgbWF0Y2ggdGhpcyBiZWhhdmlvci4KICAgICB0ZXh0ID0gdGV4dC5zdHJpcFdoaXRl
U3BhY2UoaXNIVE1MU3BhY2UpOwogCi0gICAgLy8gV2Ugd2FudCB0byBjb2xsYXBzZSBvdXIgd2hp
dGVzcGFjZSB0b28uICBUaGlzIHdpbGwgbWF0Y2ggb3RoZXIgYnJvd3NlcnMuCisgICAgLy8gV2Ug
d2FudCB0byBjb2xsYXBzZSBvdXIgd2hpdGVzcGFjZSB0b28uIFRoaXMgd2lsbCBtYXRjaCBvdGhl
ciBicm93c2Vycy4KICAgICB0ZXh0ID0gdGV4dC5zaW1wbGlmeVdoaXRlU3BhY2UoaXNIVE1MU3Bh
Y2UpOwogCiAgICAgcmV0dXJuIHRleHQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9u
RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50
LmgJKHJldmlzaW9uIDk2MzkxKQorKysgU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDkgVG9yY2ggTW9iaWxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gKGh0dHA6Ly93d3cudG9y
Y2htb2JpbGUuY29tLykKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBN
b2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpA
QCAtNDgsOCArNDksOCBAQCBwcm90ZWN0ZWQ6CiAgICAgc3RhdGljIFN0cmluZyBjb2xsZWN0T3B0
aW9uTGFiZWxPclRleHQoY29uc3QgT3B0aW9uRWxlbWVudERhdGEmLCBjb25zdCBFbGVtZW50Kik7
CiAgICAgc3RhdGljIFN0cmluZyBjb2xsZWN0T3B0aW9uVGV4dFJlc3BlY3RpbmdHcm91cExhYmVs
KGNvbnN0IE9wdGlvbkVsZW1lbnREYXRhJiwgY29uc3QgRWxlbWVudCopOwogICAgIHN0YXRpYyBT
dHJpbmcgY29sbGVjdE9wdGlvblZhbHVlKGNvbnN0IE9wdGlvbkVsZW1lbnREYXRhJiwgY29uc3Qg
RWxlbWVudCopOwotcHJpdmF0ZToKICAgICBzdGF0aWMgU3RyaW5nIGNvbGxlY3RPcHRpb25Jbm5l
clRleHQoY29uc3QgRWxlbWVudCopOworcHJpdmF0ZToKICAgICBzdGF0aWMgU3RyaW5nIG5vcm1h
bGl6ZVRleHQoY29uc3QgRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmKTsKIH07CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiA5NjM5MSkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01LDYgKzUsNyBAQAogICogICAgICAgICAgIChDKSAyMDA2IEFsZXhleSBQcm9za3Vy
eWFrb3YgKGFwQG55cG9wLmNvbSkKICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdo
dCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMzEsNiArMzIsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgor
I2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJIVE1MU2VsZWN0RWxlbWVu
dC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJp
bmdDb250ZXh0LmgiCkBAIC0yMTYsNyArMjE4LDE5IEBAIHZvaWQgSFRNTE9wdGlvbkVsZW1lbnQ6
OnNldERlZmF1bHRTZWxlY3QKIAogU3RyaW5nIEhUTUxPcHRpb25FbGVtZW50OjpsYWJlbCgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIG1fZGF0YS5sYWJlbCgpOworICAgIFN0cmluZyBsYWJlbCA9IG1f
ZGF0YS5sYWJlbCgpOworICAgIGlmICghbGFiZWwuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBs
YWJlbDsKKyAKKyAgICBsYWJlbCA9IGNvbGxlY3RPcHRpb25Jbm5lclRleHQodGhpcykuc3RyaXBX
aGl0ZVNwYWNlKGlzSFRNTFNwYWNlKTsKKyAgICBsYWJlbCA9IGxhYmVsLnNpbXBsaWZ5V2hpdGVT
cGFjZShpc0hUTUxTcGFjZSk7CisKKyAgICByZXR1cm4gbGFiZWw7Cit9CisKK3ZvaWQgSFRNTE9w
dGlvbkVsZW1lbnQ6OnNldExhYmVsKGNvbnN0IFN0cmluZyYgbGFiZWwpCit7CisgICAgc2V0QXR0
cmlidXRlKGxhYmVsQXR0ciwgbGFiZWwpOwogfQogCiB2b2lkIEhUTUxPcHRpb25FbGVtZW50Ojpz
ZXRSZW5kZXJTdHlsZShQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBuZXdTdHlsZSkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmgJKHJldmlzaW9uIDk2MzkxKQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC00LDYgKzQsNyBAQAogICogICAgICAgICAgIChDKSAyMDAwIERpcmsgTXVlbGxlciAobXVlbGxl
ckBrZGUub3JnKQogICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEw
IE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCkBAIC01OCw2ICs1OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldERlZmF1bHRT
ZWxlY3RlZChib29sKTsKIAogICAgIFN0cmluZyBsYWJlbCgpIGNvbnN0OworICAgIHZvaWQgc2V0
TGFiZWwoY29uc3QgU3RyaW5nJik7CiAKICAgICBib29sIG93bkVsZW1lbnREaXNhYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmRpc2FibGVkKCk7IH0KIApAQCAt
OTIsNiArOTQsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gbV9zdHlsZTsK
IH07CiAKLX0gLy9uYW1lc3BhY2UKK30gLy8gbmFtZXNwYWNlCiAKICNlbmRpZgpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGwJKHJldmlzaW9uIDk2MzkxKQor
KysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGwJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDEw
IEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYg
U2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+CisgKiBQb3J0aW9ucyBDb3B5cmln
aHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTMyLDcgKzMzLDcgQEAgbW9kdWxlIGh0bWwgewogI2Vu
ZGlmCiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGluZGV4OwogICAgICAgICBhdHRy
aWJ1dGUgW1JlZmxlY3RdIGJvb2xlYW4gZGlzYWJsZWQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVm
bGVjdF0gRE9NU3RyaW5nIGxhYmVsOworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9O
dWxsU3RyaW5nXSBET01TdHJpbmcgbGFiZWw7CiAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIHNl
bGVjdGVkOwogICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01T
dHJpbmcgdmFsdWU7CiAgICAgfTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2Mzk4KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDkt
MjggIFNhY2hpbiBQdXJhbmlrICA8amNxdDQzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBzcGVj
IGNoYW5nZSAtIG9wdGlvbi5sYWJlbCBzaG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZh
bHVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4
NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElETCAi
TGFiZWwiIGF0dHJpYnV0ZSBvZiBvcHRpb24gZWxlbWVudCBzaG91bGQgcmV0dXJuIHRleHRDb250
ZW50IElETCBhdHRyaWJ1dGUKKyAgICAgICAgaWYgY29uZXRlbnQgYXR0cmlidXRlICJMYWJlbCIg
aXMgdW5hdmFpbGFibGUuIENoYW5nZWQgdGhlIHRlc3RzIHRvIG1hdGNoCisgICAgICAgIGFib3Zl
IHNhaWQgYmVoYXZpb3VyLiBBZGRlZCBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1z
L29wdGlvbi1sYWJlbC10cmltLWh0bWwtc3BhY2VzLWV4cGVjdGVkLnR4dDogSHRtbCBzcGFjZSB0
cmltaW5nIHRlc3QuCisgICAgICAgICogZmFzdC9mb3Jtcy9vcHRpb24tbGFiZWwtdHJpbS1odG1s
LXNwYWNlcy5odG1sOiBIdG1sIHNwYWNlIHRyaW1pbmcgdGVzdC4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwtY2hhbmdlZC1ieS1qcy1leHBlY3RlZC50eHQ6IEF0
dHJpYnV0ZSBjaGFuZ2UgZnJvbSBKUy4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi12YWx1
ZS1hbmQtbGFiZWwtY2hhbmdlZC1ieS1qcy5odG1sOiBBdHRyaWJ1dGUgY2hhbmdlIGZyb20gSlMu
CisgICAgICAgICogZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWV4cGVjdGVkLnR4
dDogQ2hhbmdlZCAgdGVzdCBjYXNlIGFzIHBlciBuZXcgc3BlYy4KKyAgICAgICAgKiBmYXN0L2Zv
cm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwuaHRtbDogQ2hhbmdlZCB0ZXN0IGNhc2UgYXMgcGVy
IG5ldyBzcGVjLgorCiAyMDExLTA5LTMwICBTaGluaWNoaXJvIEhhbWFqaSAgPGhhbWFqaUBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBMYXlvdXQgdGVzdCBmYWlsdXJlcyB1bmRl
ciBTbm93IExlb3BhcmQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVs
LXRyaW0taHRtbC1zcGFjZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFjZXMtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tbGFiZWwtdHJpbS1o
dG1sLXNwYWNlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKK1Rl
c3QgZm9yIHNwYWNlIHN0cmlwaW5nIC5sYWJlbCBhdHRyaWJ1dGUgb2YgT1BUSU9OIGVsZW1lbnQK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbzEubGFiZWwgaXMgInRleHQg
d2l0aCBleHRyYSB3aGlsZSBzcGFjZXMiCitQQVNTIG8yLmxhYmVsIGlzICJ0ZXh0IgorUEFTUyBv
My5sYWJlbCBpcyAiwqB0ZXN0wqB0ZXh0wqAiCitQQVNTIG80LmxhYmVsIGlzICJ0ZXN0wqDCoHRl
eHQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tbGFiZWwtdHJpbS1odG1sLXNwYWNl
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVs
LXRyaW0taHRtbC1zcGFjZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFjZXMuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw0MSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0
cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4
NTktMSI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzZWxlY3Q+Cis8
b3B0aW9uIGlkPSJvMSI+ICB0ZXh0ICAgd2l0aCAgIGV4dHJhICAgd2hpbGUgICBzcGFjZXMgIDwv
b3B0aW9uPgorPG9wdGlvbiBpZD0ibzIiPiAgdGV4dCAgPC9vcHRpb24+Cis8b3B0aW9uIGlkPSJv
MyI+Jm5ic3A7dGVzdCZuYnNwO3RleHQmbmJzcDs8L29wdGlvbj4KKzxvcHRpb24gaWQ9Im80Ij4g
ICB0ZXN0Jm5ic3A7Jm5ic3A7dGV4dCAgIDwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbignVGVzdCBmb3Igc3BhY2Ugc3RyaXBpbmcgLmxhYmVsIGF0dHJpYnV0ZSBv
ZiBPUFRJT04gZWxlbWVudCcpOworCit2YXIgbzEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bzEnKTsKK3Nob3VsZEJlKCdvMS5sYWJlbCcsICcidGV4dCB3aXRoIGV4dHJhIHdoaWxlIHNwYWNl
cyInKTsKKwordmFyIG8yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28yJyk7CitzaG91bGRC
ZSgnbzIubGFiZWwnLCAnInRleHQiJyk7CisKKwordmFyIG8zID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ28zJyk7Cit2YXIgZXhwZWN0ZWQgPSAnXHUwMEEwJysndGVzdCcrJ1x1MDBBMCcrICd0
ZXh0JysnXHUwMEEwJzsKK3Nob3VsZEJlKCdvMy5sYWJlbCcsJyInK2V4cGVjdGVkKyciJyk7CisK
K3ZhciBvNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvNCcpOwordmFyIGV4cGVjdGVkID0g
J3Rlc3QnKydcdTAwQTBcdTAwQTAnKyAndGV4dCc7CitzaG91bGRCZSgnbzQubGFiZWwnLCAnIicr
ZXhwZWN0ZWQrJyInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnktanMtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1j
aGFuZ2VkLWJ5LWpzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorVGVzdCBmb3IgLnZhbHVlIGFuZCAubGFi
ZWwgb2YgT1BUSU9OIGVsZW1lbnQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1MgbzEudmFsdWUgaXMgIm5ld1ZhbHVlIgorUEFTUyBvMS5sYWJlbCBpcyAibmV3TGFiZWwiCitQ
QVNTIG8yLnZhbHVlIGlzICJuZXdWYWx1ZSIKK1BBU1MgbzIubGFiZWwgaXMgIm5ld0xhYmVsIgor
UEFTUyBvMy52YWx1ZSBpcyAibmV3VmFsdWUiCitQQVNTIG8zLmxhYmVsIGlzICJuZXdMYWJlbCIK
K1BBU1MgbzQudmFsdWUgaXMgIm5ld1ZhbHVlIgorUEFTUyBvNC5sYWJlbCBpcyAibmV3TGFiZWwi
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQt
YnktanMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12
YWx1ZS1hbmQtbGFiZWwtY2hhbmdlZC1ieS1qcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnktanMuaHRt
bAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0i
ZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2VsZWN0Pgor
PG9wdGlvbiBpZD0ibzEiPiAgdGV4dCAgPC9vcHRpb24+Cis8b3B0aW9uIGlkPSJvMiIgdmFsdWU9
InZhbHVlIj4gIHRleHQgIDwvb3B0aW9uPgorPG9wdGlvbiBpZD0ibzMiIGxhYmVsPSJsYWJlbCI+
ICB0ZXh0ICA8L29wdGlvbj4KKzxvcHRpb24gaWQ9Im80IiB2YWx1ZT0idmFsdWUiIGxhYmVsPSJs
YWJlbCI+dGV4dDwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbign
VGVzdCBmb3IgLnZhbHVlIGFuZCAubGFiZWwgb2YgT1BUSU9OIGVsZW1lbnQnKTsKKwordmFyIG8x
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28xJyk7CitvMS5sYWJlbCA9ICJuZXdMYWJlbCIK
K28xLnZhbHVlID0gIm5ld1ZhbHVlIgorc2hvdWxkQmUoJ28xLnZhbHVlJywgJyJuZXdWYWx1ZSIn
KTsKK3Nob3VsZEJlKCdvMS5sYWJlbCcsICcibmV3TGFiZWwiJyk7CisKK3ZhciBvMiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdvMicpOworbzIubGFiZWwgPSAibmV3TGFiZWwiCitvMi52YWx1
ZSA9ICJuZXdWYWx1ZSIKK3Nob3VsZEJlKCdvMi52YWx1ZScsICcibmV3VmFsdWUiJyk7CitzaG91
bGRCZSgnbzIubGFiZWwnLCAnIm5ld0xhYmVsIicpOworCit2YXIgbzMgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnbzMnKTsKK28zLmxhYmVsID0gIm5ld0xhYmVsIgorbzMudmFsdWUgPSAibmV3
VmFsdWUiCitzaG91bGRCZSgnbzMudmFsdWUnLCAnIm5ld1ZhbHVlIicpOworc2hvdWxkQmUoJ28z
LmxhYmVsJywgJyJuZXdMYWJlbCInKTsKKwordmFyIG80ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ280Jyk7CitvNC5sYWJlbCA9ICJuZXdMYWJlbCIKK280LnZhbHVlID0gIm5ld1ZhbHVlIgor
c2hvdWxkQmUoJ280LnZhbHVlJywgJyJuZXdWYWx1ZSInKTsKK3Nob3VsZEJlKCdvNC5sYWJlbCcs
ICcibmV3TGFiZWwiJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gOTYzOTEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1h
bmQtbGFiZWwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDkgKzQsOSBAQCBPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiAKIAogUEFTUyBvMS52YWx1ZSBp
cyAidGV4dCIKLVBBU1MgbzEubGFiZWwgaXMgIiIKK1BBU1MgbzEubGFiZWwgaXMgInRleHQiCiBQ
QVNTIG8yLnZhbHVlIGlzICJ2YWx1ZSIKLVBBU1MgbzIubGFiZWwgaXMgIiIKK1BBU1MgbzIubGFi
ZWwgaXMgInRleHQiCiBQQVNTIG8zLnZhbHVlIGlzICJ0ZXh0IgogUEFTUyBvMy5sYWJlbCBpcyAi
bGFiZWwiCiBQQVNTIG80LnZhbHVlIGlzICJ2YWx1ZSIKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1sCShyZXZpc2lvbiA5NjM5
MSkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0yMCwxMSArMjAsMTEgQEAgZGVzY3JpcHRpb24oJ1Rlc3QgZm9y
IC52YWx1ZSBhbmQgLmxhYmVsCiAKIHZhciBvMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdv
MScpOwogc2hvdWxkQmUoJ28xLnZhbHVlJywgJyJ0ZXh0IicpOwotc2hvdWxkQmUoJ28xLmxhYmVs
JywgJyIiJyk7CitzaG91bGRCZSgnbzEubGFiZWwnLCAnInRleHQiJyk7CiAKIHZhciBvMiA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdvMicpOwogc2hvdWxkQmUoJ28yLnZhbHVlJywgJyJ2YWx1
ZSInKTsKLXNob3VsZEJlKCdvMi5sYWJlbCcsICciIicpOworc2hvdWxkQmUoJ28yLmxhYmVsJywg
JyJ0ZXh0IicpOwogCiB2YXIgbzMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzMnKTsKIHNo
b3VsZEJlKCdvMy52YWx1ZScsICcidGV4dCInKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109305</attachid>
            <date>2011-09-30 10:14:30 -0700</date>
            <delta_ts>2011-10-04 12:15:20 -0700</delta_ts>
            <desc>incorporated all the comments related to copyrights.</desc>
            <filename>option.patch</filename>
            <type>text/plain</type>
            <size>12852</size>
            <attacher name="Sachin Puranik">jcqt43</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2Mzk4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDktMjggIFNhY2hpbiBQ
dXJhbmlrICA8amNxdDQzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBTcGVjIGNoYW5nZSAtIG9w
dGlvbi5sYWJlbCBzaG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZhbHVlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY29ycG9yYXRpbmcgdGhl
IHJlY2VudCBjaGFuZ2UgaW4gc3BlYyBmb3IgbGFiZWwgYXR0cmlidXRlIG9mIAorICAgICAgICBv
cHRpb24gZWxlbWVudC4gV2hpbGUgcmV0cmlldmluZyB0aGUgIkxhYmVsIiBJREwgYXR0cmlidXRl
IHJldHVybgorICAgICAgICB0aGUgIkxhYmVsIiBjb250ZW50IGF0dHJpYnV0ZSBpZiBwcmVzZW50
ICwgZWxzZSByZXR1cm4gdGhlIAorICAgICAgICB2YWx1ZSBvZiB0ZXh0Q29udGVudCBhdHRyaWJ1
dGUuCisgICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQgYnVnIFVSTCAoT09QUyEp
CisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFj
ZXMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVs
LWNoYW5nZWQtYnktanMuaHRtbAorCisgICAgICAgICogZG9tL09wdGlvbkVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6T3B0aW9uRWxlbWVudDo6bm9ybWFsaXplVGV4dCk6c3R5bGUgZml4
ZXMKKyAgICAgICAgKiBkb20vT3B0aW9uRWxlbWVudC5oOiBtYWtlIGNvbGxlY3RPcHRpb25Jbm5l
clRleHQoKSBwcm90ZWN0ZWQuCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6bGFiZWwpOiByZXR1cm4gaW5u
ZXJUZXh0IGlmIGxhYmVsIGF0dHJpYnV0ZSB1bi1hdmFpbGFibGUuCisgICAgICAgIChXZWJDb3Jl
OjpIVE1MT3B0aW9uRWxlbWVudDo6c2V0TGFiZWwpOnNldExhYmVsKCkgaW1wbGVtZW50YXRpb24u
CisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oOiBhZGQgc2V0TGFiZWwgZGVjbGFy
YXRpb24uCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGw6IENoYW5nZSByZWZs
ZWN0IHRvIENvbnZlcnROdWxsVG9OdWxsU3RyaW5nIGluIGlkbAorCiAyMDExLTA5LTMwICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBbY2hyb21pdW1dIGV4cG9zZSBpbnNwZWN0b3IgcHJvdG9jb2wgdmVyc2lvbiB0byB0aGUgZW1i
ZWRkZXIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9uRWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiA5
NjM5MSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjQsOCArMjQsOCBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAi
RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgotI2luY2x1ZGUgIkhUTUxQYXJzZXJJ
ZGlvbXMuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxQ
YXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJPcHRpb25Hcm91cEVsZW1lbnQuaCIKICNpbmNsdWRl
ICJTY3JpcHRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU2VsZWN0RWxlbWVudC5oIgpAQCAtMTAwLDcg
KzEwMCw3IEBAIFN0cmluZyBPcHRpb25FbGVtZW50Ojpub3JtYWxpemVUZXh0KGNvbnMKICAgICAv
LyBJbiBXaW5JRSwgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBpcyBpZ25vcmVkIGlu
IG9wdGlvbnMgYW5kIG9wdGdyb3Vwcy4gV2UgbWF0Y2ggdGhpcyBiZWhhdmlvci4KICAgICB0ZXh0
ID0gdGV4dC5zdHJpcFdoaXRlU3BhY2UoaXNIVE1MU3BhY2UpOwogCi0gICAgLy8gV2Ugd2FudCB0
byBjb2xsYXBzZSBvdXIgd2hpdGVzcGFjZSB0b28uICBUaGlzIHdpbGwgbWF0Y2ggb3RoZXIgYnJv
d3NlcnMuCisgICAgLy8gV2Ugd2FudCB0byBjb2xsYXBzZSBvdXIgd2hpdGVzcGFjZSB0b28uIFRo
aXMgd2lsbCBtYXRjaCBvdGhlciBicm93c2Vycy4KICAgICB0ZXh0ID0gdGV4dC5zaW1wbGlmeVdo
aXRlU3BhY2UoaXNIVE1MU3BhY2UpOwogCiAgICAgcmV0dXJuIHRleHQ7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vT3B0aW9uRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9PcHRpb25FbGVtZW50LmgJKHJldmlzaW9uIDk2MzkxKQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL09wdGlvbkVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsOCArNDgsOCBAQCBwcm90
ZWN0ZWQ6CiAgICAgc3RhdGljIFN0cmluZyBjb2xsZWN0T3B0aW9uTGFiZWxPclRleHQoY29uc3Qg
T3B0aW9uRWxlbWVudERhdGEmLCBjb25zdCBFbGVtZW50Kik7CiAgICAgc3RhdGljIFN0cmluZyBj
b2xsZWN0T3B0aW9uVGV4dFJlc3BlY3RpbmdHcm91cExhYmVsKGNvbnN0IE9wdGlvbkVsZW1lbnRE
YXRhJiwgY29uc3QgRWxlbWVudCopOwogICAgIHN0YXRpYyBTdHJpbmcgY29sbGVjdE9wdGlvblZh
bHVlKGNvbnN0IE9wdGlvbkVsZW1lbnREYXRhJiwgY29uc3QgRWxlbWVudCopOwotcHJpdmF0ZToK
ICAgICBzdGF0aWMgU3RyaW5nIGNvbGxlY3RPcHRpb25Jbm5lclRleHQoY29uc3QgRWxlbWVudCop
OworcHJpdmF0ZToKICAgICBzdGF0aWMgU3RyaW5nIG5vcm1hbGl6ZVRleHQoY29uc3QgRG9jdW1l
bnQqLCBjb25zdCBTdHJpbmcmKTsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE9wdGlvbkVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE9wdGlvbkVsZW1lbnQuY3BwCShyZXZpc2lvbiA5NjM5MSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01LDYgKzUsNyBAQAog
ICogICAgICAgICAgIChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgKGFwQG55cG9wLmNvbSkK
ICAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBNb3Rvcm9sYSBNb2JpbGl0eSwg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMzEsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5o
IgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIK
ICNpbmNsdWRlICJIVE1MU2VsZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHls
ZS5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJpbmdDb250ZXh0LmgiCkBAIC0yMTYsNyArMjE4LDE5
IEBAIHZvaWQgSFRNTE9wdGlvbkVsZW1lbnQ6OnNldERlZmF1bHRTZWxlY3QKIAogU3RyaW5nIEhU
TUxPcHRpb25FbGVtZW50OjpsYWJlbCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fZGF0YS5sYWJl
bCgpOworICAgIFN0cmluZyBsYWJlbCA9IG1fZGF0YS5sYWJlbCgpOworICAgIGlmICghbGFiZWwu
aXNOdWxsKCkpCisgICAgICAgIHJldHVybiBsYWJlbDsKKyAKKyAgICBsYWJlbCA9IGNvbGxlY3RP
cHRpb25Jbm5lclRleHQodGhpcykuc3RyaXBXaGl0ZVNwYWNlKGlzSFRNTFNwYWNlKTsKKyAgICBs
YWJlbCA9IGxhYmVsLnNpbXBsaWZ5V2hpdGVTcGFjZShpc0hUTUxTcGFjZSk7CisKKyAgICByZXR1
cm4gbGFiZWw7Cit9CisKK3ZvaWQgSFRNTE9wdGlvbkVsZW1lbnQ6OnNldExhYmVsKGNvbnN0IFN0
cmluZyYgbGFiZWwpCit7CisgICAgc2V0QXR0cmlidXRlKGxhYmVsQXR0ciwgbGFiZWwpOwogfQog
CiB2b2lkIEhUTUxPcHRpb25FbGVtZW50OjpzZXRSZW5kZXJTdHlsZShQYXNzUmVmUHRyPFJlbmRl
clN0eWxlPiBuZXdTdHlsZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVt
ZW50LmgJKHJldmlzaW9uIDk2MzkxKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9u
RWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01OCw2ICs1OCw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHNldERlZmF1bHRTZWxlY3RlZChib29sKTsKIAogICAgIFN0cmluZyBsYWJlbCgpIGNvbnN0
OworICAgIHZvaWQgc2V0TGFiZWwoY29uc3QgU3RyaW5nJik7CiAKICAgICBib29sIG93bkVsZW1l
bnREaXNhYmxlZCgpIGNvbnN0IHsgcmV0dXJuIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OmRpc2Fi
bGVkKCk7IH0KIApAQCAtOTIsNiArOTMsNiBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxSZW5kZXJT
dHlsZT4gbV9zdHlsZTsKIH07CiAKLX0gLy9uYW1lc3BhY2UKK30gLy8gbmFtZXNwYWNlCiAKICNl
bmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGwJKHJl
dmlzaW9uIDk2MzkxKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAgbW9kdWxlIGh0bWwgewogI2VuZGlm
CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIGluZGV4OwogICAgICAgICBhdHRyaWJ1
dGUgW1JlZmxlY3RdIGJvb2xlYW4gZGlzYWJsZWQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVj
dF0gRE9NU3RyaW5nIGxhYmVsOworICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxs
U3RyaW5nXSBET01TdHJpbmcgbGFiZWw7CiAgICAgICAgIGF0dHJpYnV0ZSBib29sZWFuIHNlbGVj
dGVkOwogICAgICAgICBhdHRyaWJ1dGUgW0NvbnZlcnROdWxsVG9OdWxsU3RyaW5nXSBET01TdHJp
bmcgdmFsdWU7CiAgICAgfTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2Mzk4KQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDktMjgg
IFNhY2hpbiBQdXJhbmlrICA8amNxdDQzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBzcGVjIGNo
YW5nZSAtIG9wdGlvbi5sYWJlbCBzaG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZhbHVl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElETCAiTGFi
ZWwiIGF0dHJpYnV0ZSBvZiBvcHRpb24gZWxlbWVudCBzaG91bGQgcmV0dXJuIHRleHRDb250ZW50
IElETCBhdHRyaWJ1dGUKKyAgICAgICAgaWYgY29uZXRlbnQgYXR0cmlidXRlICJMYWJlbCIgaXMg
dW5hdmFpbGFibGUuIENoYW5nZWQgdGhlIHRlc3RzIHRvIG1hdGNoCisgICAgICAgIGFib3ZlIHNh
aWQgYmVoYXZpb3VyLiBBZGRlZCBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL29w
dGlvbi1sYWJlbC10cmltLWh0bWwtc3BhY2VzLWV4cGVjdGVkLnR4dDogSHRtbCBzcGFjZSB0cmlt
aW5nIHRlc3QuCisgICAgICAgICogZmFzdC9mb3Jtcy9vcHRpb24tbGFiZWwtdHJpbS1odG1sLXNw
YWNlcy5odG1sOiBIdG1sIHNwYWNlIHRyaW1pbmcgdGVzdC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L29wdGlvbi12YWx1ZS1hbmQtbGFiZWwtY2hhbmdlZC1ieS1qcy1leHBlY3RlZC50eHQ6IEF0dHJp
YnV0ZSBjaGFuZ2UgZnJvbSBKUy4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1h
bmQtbGFiZWwtY2hhbmdlZC1ieS1qcy5odG1sOiBBdHRyaWJ1dGUgY2hhbmdlIGZyb20gSlMuCisg
ICAgICAgICogZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWV4cGVjdGVkLnR4dDog
Q2hhbmdlZCAgdGVzdCBjYXNlIGFzIHBlciBuZXcgc3BlYy4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L29wdGlvbi12YWx1ZS1hbmQtbGFiZWwuaHRtbDogQ2hhbmdlZCB0ZXN0IGNhc2UgYXMgcGVyIG5l
dyBzcGVjLgorCiAyMDExLTA5LTMwICBTaGluaWNoaXJvIEhhbWFqaSAgPGhhbWFqaUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBMYXlvdXQgdGVzdCBmYWlsdXJlcyB1bmRlciBT
bm93IExlb3BhcmQKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRy
aW0taHRtbC1zcGFjZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFjZXMtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tbGFiZWwtdHJpbS1odG1s
LXNwYWNlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3Qg
Zm9yIHNwYWNlIHN0cmlwaW5nIC5sYWJlbCBhdHRyaWJ1dGUgb2YgT1BUSU9OIGVsZW1lbnQKKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbzEubGFiZWwgaXMgInRleHQgd2l0
aCBleHRyYSB3aGlsZSBzcGFjZXMiCitQQVNTIG8yLmxhYmVsIGlzICJ0ZXh0IgorUEFTUyBvMy5s
YWJlbCBpcyAiwqB0ZXN0wqB0ZXh0wqAiCitQQVNTIG80LmxhYmVsIGlzICJ0ZXN0wqDCoHRleHQi
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tbGFiZWwtdHJpbS1odG1sLXNwYWNlcy5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRy
aW0taHRtbC1zcGFjZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFjZXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw0MSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0cC1l
cXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTkt
MSI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzZWxlY3Q+Cis8b3B0
aW9uIGlkPSJvMSI+ICB0ZXh0ICAgd2l0aCAgIGV4dHJhICAgd2hpbGUgICBzcGFjZXMgIDwvb3B0
aW9uPgorPG9wdGlvbiBpZD0ibzIiPiAgdGV4dCAgPC9vcHRpb24+Cis8b3B0aW9uIGlkPSJvMyI+
Jm5ic3A7dGVzdCZuYnNwO3RleHQmbmJzcDs8L29wdGlvbj4KKzxvcHRpb24gaWQ9Im80Ij4gICB0
ZXN0Jm5ic3A7Jm5ic3A7dGV4dCAgIDwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbignVGVzdCBmb3Igc3BhY2Ugc3RyaXBpbmcgLmxhYmVsIGF0dHJpYnV0ZSBvZiBP
UFRJT04gZWxlbWVudCcpOworCit2YXIgbzEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzEn
KTsKK3Nob3VsZEJlKCdvMS5sYWJlbCcsICcidGV4dCB3aXRoIGV4dHJhIHdoaWxlIHNwYWNlcyIn
KTsKKwordmFyIG8yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28yJyk7CitzaG91bGRCZSgn
bzIubGFiZWwnLCAnInRleHQiJyk7CisKKwordmFyIG8zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ28zJyk7Cit2YXIgZXhwZWN0ZWQgPSAnXHUwMEEwJysndGVzdCcrJ1x1MDBBMCcrICd0ZXh0
JysnXHUwMEEwJzsKK3Nob3VsZEJlKCdvMy5sYWJlbCcsJyInK2V4cGVjdGVkKyciJyk7CisKK3Zh
ciBvNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvNCcpOwordmFyIGV4cGVjdGVkID0gJ3Rl
c3QnKydcdTAwQTBcdTAwQTAnKyAndGV4dCc7CitzaG91bGRCZSgnbzQubGFiZWwnLCAnIicrZXhw
ZWN0ZWQrJyInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwv
c2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9v
cHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnktanMtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1jaGFu
Z2VkLWJ5LWpzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorVGVzdCBmb3IgLnZhbHVlIGFuZCAubGFiZWwg
b2YgT1BUSU9OIGVsZW1lbnQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
bzEudmFsdWUgaXMgIm5ld1ZhbHVlIgorUEFTUyBvMS5sYWJlbCBpcyAibmV3TGFiZWwiCitQQVNT
IG8yLnZhbHVlIGlzICJuZXdWYWx1ZSIKK1BBU1MgbzIubGFiZWwgaXMgIm5ld0xhYmVsIgorUEFT
UyBvMy52YWx1ZSBpcyAibmV3VmFsdWUiCitQQVNTIG8zLmxhYmVsIGlzICJuZXdMYWJlbCIKK1BB
U1MgbzQudmFsdWUgaXMgIm5ld1ZhbHVlIgorUEFTUyBvNC5sYWJlbCBpcyAibmV3TGFiZWwiCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnkt
anMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1
ZS1hbmQtbGFiZWwtY2hhbmdlZC1ieS1qcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnktanMuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2VsZWN0PgorPG9w
dGlvbiBpZD0ibzEiPiAgdGV4dCAgPC9vcHRpb24+Cis8b3B0aW9uIGlkPSJvMiIgdmFsdWU9InZh
bHVlIj4gIHRleHQgIDwvb3B0aW9uPgorPG9wdGlvbiBpZD0ibzMiIGxhYmVsPSJsYWJlbCI+ICB0
ZXh0ICA8L29wdGlvbj4KKzxvcHRpb24gaWQ9Im80IiB2YWx1ZT0idmFsdWUiIGxhYmVsPSJsYWJl
bCI+dGV4dDwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVz
dCBmb3IgLnZhbHVlIGFuZCAubGFiZWwgb2YgT1BUSU9OIGVsZW1lbnQnKTsKKwordmFyIG8xID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28xJyk7CitvMS5sYWJlbCA9ICJuZXdMYWJlbCIKK28x
LnZhbHVlID0gIm5ld1ZhbHVlIgorc2hvdWxkQmUoJ28xLnZhbHVlJywgJyJuZXdWYWx1ZSInKTsK
K3Nob3VsZEJlKCdvMS5sYWJlbCcsICcibmV3TGFiZWwiJyk7CisKK3ZhciBvMiA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdvMicpOworbzIubGFiZWwgPSAibmV3TGFiZWwiCitvMi52YWx1ZSA9
ICJuZXdWYWx1ZSIKK3Nob3VsZEJlKCdvMi52YWx1ZScsICcibmV3VmFsdWUiJyk7CitzaG91bGRC
ZSgnbzIubGFiZWwnLCAnIm5ld0xhYmVsIicpOworCit2YXIgbzMgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnbzMnKTsKK28zLmxhYmVsID0gIm5ld0xhYmVsIgorbzMudmFsdWUgPSAibmV3VmFs
dWUiCitzaG91bGRCZSgnbzMudmFsdWUnLCAnIm5ld1ZhbHVlIicpOworc2hvdWxkQmUoJ28zLmxh
YmVsJywgJyJuZXdMYWJlbCInKTsKKwordmFyIG80ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J280Jyk7CitvNC5sYWJlbCA9ICJuZXdMYWJlbCIKK280LnZhbHVlID0gIm5ld1ZhbHVlIgorc2hv
dWxkQmUoJ280LnZhbHVlJywgJyJuZXdWYWx1ZSInKTsKK3Nob3VsZEJlKCdvNC5sYWJlbCcsICci
bmV3TGFiZWwiJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
b3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gOTYzOTEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQt
bGFiZWwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDkgKzQsOSBAQCBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiAKIAogUEFTUyBvMS52YWx1ZSBpcyAi
dGV4dCIKLVBBU1MgbzEubGFiZWwgaXMgIiIKK1BBU1MgbzEubGFiZWwgaXMgInRleHQiCiBQQVNT
IG8yLnZhbHVlIGlzICJ2YWx1ZSIKLVBBU1MgbzIubGFiZWwgaXMgIiIKK1BBU1MgbzIubGFiZWwg
aXMgInRleHQiCiBQQVNTIG8zLnZhbHVlIGlzICJ0ZXh0IgogUEFTUyBvMy5sYWJlbCBpcyAibGFi
ZWwiCiBQQVNTIG80LnZhbHVlIGlzICJ2YWx1ZSIKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9y
bXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1sCShyZXZpc2lvbiA5NjM5MSkK
KysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1sCSh3
b3JraW5nIGNvcHkpCkBAIC0yMCwxMSArMjAsMTEgQEAgZGVzY3JpcHRpb24oJ1Rlc3QgZm9yIC52
YWx1ZSBhbmQgLmxhYmVsCiAKIHZhciBvMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvMScp
Owogc2hvdWxkQmUoJ28xLnZhbHVlJywgJyJ0ZXh0IicpOwotc2hvdWxkQmUoJ28xLmxhYmVsJywg
JyIiJyk7CitzaG91bGRCZSgnbzEubGFiZWwnLCAnInRleHQiJyk7CiAKIHZhciBvMiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdvMicpOwogc2hvdWxkQmUoJ28yLnZhbHVlJywgJyJ2YWx1ZSIn
KTsKLXNob3VsZEJlKCdvMi5sYWJlbCcsICciIicpOworc2hvdWxkQmUoJ28yLmxhYmVsJywgJyJ0
ZXh0IicpOwogCiB2YXIgbzMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzMnKTsKIHNob3Vs
ZEJlKCdvMy52YWx1ZScsICcidGV4dCInKTsK
</data>
<flag name="review"
          id="106532"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="106533"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109663</attachid>
            <date>2011-10-04 12:15:20 -0700</date>
            <delta_ts>2011-10-04 12:22:49 -0700</delta_ts>
            <desc>Because of one wrong line in the changelog - build bot rejected the patch , hence removed the line.</desc>
            <filename>option.patch</filename>
            <type>text/plain</type>
            <size>16081</size>
            <attacher name="Sachin Puranik">jcqt43</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2NjE5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMTAtMDQgIFNhY2hpbiBQ
dXJhbmlrICA8amNxdDQzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBTcGVjIGNoYW5nZSAtIG9w
dGlvbi5sYWJlbCBzaG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZhbHVlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY29ycG9yYXRpbmcgdGhl
IHJlY2VudCBjaGFuZ2UgaW4gc3BlYyBmb3IgbGFiZWwgYXR0cmlidXRlIG9mIAorICAgICAgICBv
cHRpb24gZWxlbWVudC4gV2hpbGUgcmV0cmlldmluZyB0aGUgIkxhYmVsIiBJREwgYXR0cmlidXRl
IHJldHVybgorICAgICAgICB0aGUgIkxhYmVsIiBjb250ZW50IGF0dHJpYnV0ZSBpZiBwcmVzZW50
ICwgZWxzZSByZXR1cm4gdGhlIAorICAgICAgICB2YWx1ZSBvZiB0ZXh0Q29udGVudCBhdHRyaWJ1
dGUuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1z
cGFjZXMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxh
YmVsLWNoYW5nZWQtYnktanMuaHRtbAorCisgICAgICAgICogZG9tL09wdGlvbkVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6T3B0aW9uRWxlbWVudDo6bm9ybWFsaXplVGV4dCk6c3R5bGUg
Zml4ZXMKKyAgICAgICAgKiBkb20vT3B0aW9uRWxlbWVudC5oOiBtYWtlIGNvbGxlY3RPcHRpb25J
bm5lclRleHQoKSBwcm90ZWN0ZWQuCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6bGFiZWwpOiByZXR1cm4g
aW5uZXJUZXh0IGlmIGxhYmVsIGF0dHJpYnV0ZSB1bi1hdmFpbGFibGUuCisgICAgICAgIChXZWJD
b3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6c2V0TGFiZWwpOnNldExhYmVsKCkgaW1wbGVtZW50YXRp
b24uCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oOiBhZGQgc2V0TGFiZWwgZGVj
bGFyYXRpb24uCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGw6IENoYW5nZSBy
ZWZsZWN0IHRvIENvbnZlcnROdWxsVG9OdWxsU3RyaW5nIGluIGlkbAorCiAyMDExLTEwLTA0ICBB
bmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgTW9yZSB3b3Jr
IHRvd2FyZHMgbWFraW5nIFBsYXRmb3JtV2hlZWxFdmVudCBpbW11dGFibGUKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vT3B0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDk2NjEwKQorKysgU291cmNlL1dl
YkNvcmUvZG9tL09wdGlvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw4ICsyNCw4
IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUg
IkhUTUxPcHRpb25FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2lu
Y2x1ZGUgIk9wdGlvbkdyb3VwRWxlbWVudC5oIgogI2luY2x1ZGUgIlNjcmlwdEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJTZWxlY3RFbGVtZW50LmgiCkBAIC0xMDAsNyArMTAwLDcgQEAgU3RyaW5nIE9w
dGlvbkVsZW1lbnQ6Om5vcm1hbGl6ZVRleHQoY29ucwogICAgIC8vIEluIFdpbklFLCBsZWFkaW5n
IGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlIGlzIGlnbm9yZWQgaW4gb3B0aW9ucyBhbmQgb3B0Z3Jv
dXBzLiBXZSBtYXRjaCB0aGlzIGJlaGF2aW9yLgogICAgIHRleHQgPSB0ZXh0LnN0cmlwV2hpdGVT
cGFjZShpc0hUTUxTcGFjZSk7CiAKLSAgICAvLyBXZSB3YW50IHRvIGNvbGxhcHNlIG91ciB3aGl0
ZXNwYWNlIHRvby4gIFRoaXMgd2lsbCBtYXRjaCBvdGhlciBicm93c2Vycy4KKyAgICAvLyBXZSB3
YW50IHRvIGNvbGxhcHNlIG91ciB3aGl0ZXNwYWNlIHRvby4gVGhpcyB3aWxsIG1hdGNoIG90aGVy
IGJyb3dzZXJzLgogICAgIHRleHQgPSB0ZXh0LnNpbXBsaWZ5V2hpdGVTcGFjZShpc0hUTUxTcGFj
ZSk7CiAKICAgICByZXR1cm4gdGV4dDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9PcHRpb25F
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQu
aAkocmV2aXNpb24gOTY2MTApCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9uRWxlbWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC00OCw4ICs0OCw4IEBAIHByb3RlY3RlZDoKICAgICBzdGF0aWMg
U3RyaW5nIGNvbGxlY3RPcHRpb25MYWJlbE9yVGV4dChjb25zdCBPcHRpb25FbGVtZW50RGF0YSYs
IGNvbnN0IEVsZW1lbnQqKTsKICAgICBzdGF0aWMgU3RyaW5nIGNvbGxlY3RPcHRpb25UZXh0UmVz
cGVjdGluZ0dyb3VwTGFiZWwoY29uc3QgT3B0aW9uRWxlbWVudERhdGEmLCBjb25zdCBFbGVtZW50
Kik7CiAgICAgc3RhdGljIFN0cmluZyBjb2xsZWN0T3B0aW9uVmFsdWUoY29uc3QgT3B0aW9uRWxl
bWVudERhdGEmLCBjb25zdCBFbGVtZW50Kik7Ci1wcml2YXRlOgogICAgIHN0YXRpYyBTdHJpbmcg
Y29sbGVjdE9wdGlvbklubmVyVGV4dChjb25zdCBFbGVtZW50Kik7Citwcml2YXRlOgogICAgIHN0
YXRpYyBTdHJpbmcgbm9ybWFsaXplVGV4dChjb25zdCBEb2N1bWVudCosIGNvbnN0IFN0cmluZyYp
OwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDk2NjEwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUsNiArNSw3IEBACiAgKiAgICAgICAgICAgKEMpIDIw
MDYgQWxleGV5IFByb3NrdXJ5YWtvdiAoYXBAbnlwb3AuY29tKQogICogQ29weXJpZ2h0IChDKSAy
MDA0LCAyMDA1LCAyMDA2LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDExIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0zMSw2ICszMiw3IEBACiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiSFRNTE5h
bWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkhUTUxTZWxl
Y3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiTm9k
ZVJlbmRlcmluZ0NvbnRleHQuaCIKQEAgLTIxNiw3ICsyMTgsMTkgQEAgdm9pZCBIVE1MT3B0aW9u
RWxlbWVudDo6c2V0RGVmYXVsdFNlbGVjdAogCiBTdHJpbmcgSFRNTE9wdGlvbkVsZW1lbnQ6Omxh
YmVsKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9kYXRhLmxhYmVsKCk7CisgICAgU3RyaW5nIGxh
YmVsID0gbV9kYXRhLmxhYmVsKCk7CisgICAgaWYgKCFsYWJlbC5pc051bGwoKSkKKyAgICAgICAg
cmV0dXJuIGxhYmVsOworIAorICAgIGxhYmVsID0gY29sbGVjdE9wdGlvbklubmVyVGV4dCh0aGlz
KS5zdHJpcFdoaXRlU3BhY2UoaXNIVE1MU3BhY2UpOworICAgIGxhYmVsID0gbGFiZWwuc2ltcGxp
ZnlXaGl0ZVNwYWNlKGlzSFRNTFNwYWNlKTsKKworICAgIHJldHVybiBsYWJlbDsKK30KKwordm9p
ZCBIVE1MT3B0aW9uRWxlbWVudDo6c2V0TGFiZWwoY29uc3QgU3RyaW5nJiBsYWJlbCkKK3sKKyAg
ICBzZXRBdHRyaWJ1dGUobGFiZWxBdHRyLCBsYWJlbCk7CiB9CiAKIHZvaWQgSFRNTE9wdGlvbkVs
ZW1lbnQ6OnNldFJlbmRlclN0eWxlKFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IG5ld1N0eWxlKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaAkocmV2aXNpb24gOTY2
MTApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTU4LDYgKzU4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RGVmYXVsdFNlbGVj
dGVkKGJvb2wpOwogCiAgICAgU3RyaW5nIGxhYmVsKCkgY29uc3Q7CisgICAgdm9pZCBzZXRMYWJl
bChjb25zdCBTdHJpbmcmKTsKIAogICAgIGJvb2wgb3duRWxlbWVudERpc2FibGVkKCkgY29uc3Qg
eyByZXR1cm4gSFRNTEZvcm1Db250cm9sRWxlbWVudDo6ZGlzYWJsZWQoKTsgfQogCkBAIC05Miw2
ICs5Myw2IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBtX3N0eWxlOwogfTsK
IAotfSAvL25hbWVzcGFjZQorfSAvLyBuYW1lc3BhY2UKIAogI2VuZGlmCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAkocmV2aXNpb24gOTY2MTApCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzIsNyArMzIsNyBAQCBtb2R1bGUgaHRtbCB7CiAjZW5kaWYKICAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGxvbmcgaW5kZXg7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVh
biBkaXNhYmxlZDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgbGFiZWw7
CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBs
YWJlbDsKICAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gc2VsZWN0ZWQ7CiAgICAgICAgIGF0dHJp
YnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyB2YWx1ZTsKICAgICB9OwpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gOTY2MTkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxMS0xMC0wNCAgU2FjaGluIFB1cmFuaWsgIDxq
Y3F0NDNAbW90b3JvbGEuY29tPgorICAgICAgICBzcGVjIGNoYW5nZSAtIG9wdGlvbi5sYWJlbCBz
aG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElETCAiTGFiZWwiIGF0dHJpYnV0ZSBvZiBvcHRp
b24gZWxlbWVudCBzaG91bGQgcmV0dXJuIHRleHRDb250ZW50IElETCBhdHRyaWJ1dGUKKyAgICAg
ICAgaWYgY29uZXRlbnQgYXR0cmlidXRlICJMYWJlbCIgaXMgdW5hdmFpbGFibGUuIENoYW5nZWQg
dGhlIHRlc3RzIHRvIG1hdGNoCisgICAgICAgIGFib3ZlIHNhaWQgYmVoYXZpb3VyLiBBZGRlZCBu
ZXcgdGVzdHMuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi1sYWJlbC10cmltLWh0bWwt
c3BhY2VzLWV4cGVjdGVkLnR4dDogSHRtbCBzcGFjZSB0cmltaW5nIHRlc3QuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9vcHRpb24tbGFiZWwtdHJpbS1odG1sLXNwYWNlcy5odG1sOiBIdG1sIHNwYWNl
IHRyaW1pbmcgdGVzdC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFi
ZWwtY2hhbmdlZC1ieS1qcy1leHBlY3RlZC50eHQ6IEF0dHJpYnV0ZSBjaGFuZ2UgZnJvbSBKUy4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwtY2hhbmdlZC1ieS1q
cy5odG1sOiBBdHRyaWJ1dGUgY2hhbmdlIGZyb20gSlMuCisgICAgICAgICogZmFzdC9mb3Jtcy9v
cHRpb24tdmFsdWUtYW5kLWxhYmVsLWV4cGVjdGVkLnR4dDogQ2hhbmdlZCAgdGVzdCBjYXNlIGFz
IHBlciBuZXcgc3BlYy4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFi
ZWwuaHRtbDogQ2hhbmdlZCB0ZXN0IGNhc2UgYXMgcGVyIG5ldyBzcGVjLgorCiAyMDExLTEwLTAz
ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHRlbmQgRE9NIFdoZWVs
RXZlbnQgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNjcm9s
bCBkaXJlY3Rpb25zCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi1sYWJlbC10
cmltLWh0bWwtc3BhY2VzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL29wdGlvbi1sYWJlbC10cmltLWh0bWwtc3BhY2VzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRt
bC1zcGFjZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI2IEBACitUZXN0
IGZvciBzcGFjZSBzdHJpcGluZyAubGFiZWwgYXR0cmlidXRlIG9mIE9QVElPTiBlbGVtZW50CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG8xLmxhYmVsIGlzICJ0ZXh0IHdp
dGggZXh0cmEgd2hpbGUgc3BhY2VzIgorUEFTUyBvMi5sYWJlbCBpcyAidGV4dCIKK1BBU1MgbzMu
bGFiZWwgaXMgIsKgdGVzdMKgdGV4dMKgIgorUEFTUyBvNC5sYWJlbCBpcyAidGVzdMKgwqB0ZXh0
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKK1Rl
c3QgZm9yIHNwYWNlIHN0cmlwaW5nIC5sYWJlbCBhdHRyaWJ1dGUgb2YgT1BUSU9OIGVsZW1lbnQK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbzEubGFiZWwgaXMgInRleHQg
d2l0aCBleHRyYSB3aGlsZSBzcGFjZXMiCitQQVNTIG8yLmxhYmVsIGlzICJ0ZXh0IgorUEFTUyBv
My5sYWJlbCBpcyAiwqB0ZXN0wqB0ZXh0wqAiCitQQVNTIG80LmxhYmVsIGlzICJ0ZXN0wqDCoHRl
eHQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tbGFiZWwtdHJpbS1odG1sLXNwYWNl
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVs
LXRyaW0taHRtbC1zcGFjZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFjZXMuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw4MiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0
cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4
NTktMSI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzZWxlY3Q+Cis8
b3B0aW9uIGlkPSJvMSI+ICB0ZXh0ICAgd2l0aCAgIGV4dHJhICAgd2hpbGUgICBzcGFjZXMgIDwv
b3B0aW9uPgorPG9wdGlvbiBpZD0ibzIiPiAgdGV4dCAgPC9vcHRpb24+Cis8b3B0aW9uIGlkPSJv
MyI+Jm5ic3A7dGVzdCZuYnNwO3RleHQmbmJzcDs8L29wdGlvbj4KKzxvcHRpb24gaWQ9Im80Ij4g
ICB0ZXN0Jm5ic3A7Jm5ic3A7dGV4dCAgIDwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbignVGVzdCBmb3Igc3BhY2Ugc3RyaXBpbmcgLmxhYmVsIGF0dHJpYnV0ZSBv
ZiBPUFRJT04gZWxlbWVudCcpOworCit2YXIgbzEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bzEnKTsKK3Nob3VsZEJlKCdvMS5sYWJlbCcsICcidGV4dCB3aXRoIGV4dHJhIHdoaWxlIHNwYWNl
cyInKTsKKwordmFyIG8yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28yJyk7CitzaG91bGRC
ZSgnbzIubGFiZWwnLCAnInRleHQiJyk7CisKKwordmFyIG8zID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ28zJyk7Cit2YXIgZXhwZWN0ZWQgPSAnXHUwMEEwJysndGVzdCcrJ1x1MDBBMCcrICd0
ZXh0JysnXHUwMEEwJzsKK3Nob3VsZEJlKCdvMy5sYWJlbCcsJyInK2V4cGVjdGVkKyciJyk7CisK
K3ZhciBvNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvNCcpOwordmFyIGV4cGVjdGVkID0g
J3Rlc3QnKydcdTAwQTBcdTAwQTAnKyAndGV4dCc7CitzaG91bGRCZSgnbzQubGFiZWwnLCAnIicr
ZXhwZWN0ZWQrJyInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7
IGNoYXJzZXQ9aXNvLTg4NTktMSI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisKKzxzZWxlY3Q+Cis8b3B0aW9uIGlkPSJvMSI+ICB0ZXh0ICAgd2l0aCAgIGV4dHJhICAgd2hp
bGUgICBzcGFjZXMgIDwvb3B0aW9uPgorPG9wdGlvbiBpZD0ibzIiPiAgdGV4dCAgPC9vcHRpb24+
Cis8b3B0aW9uIGlkPSJvMyI+Jm5ic3A7dGVzdCZuYnNwO3RleHQmbmJzcDs8L29wdGlvbj4KKzxv
cHRpb24gaWQ9Im80Ij4gICB0ZXN0Jm5ic3A7Jm5ic3A7dGV4dCAgIDwvb3B0aW9uPgorPC9zZWxl
Y3Q+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCBmb3Igc3BhY2Ugc3RyaXBpbmcgLmxh
YmVsIGF0dHJpYnV0ZSBvZiBPUFRJT04gZWxlbWVudCcpOworCit2YXIgbzEgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnbzEnKTsKK3Nob3VsZEJlKCdvMS5sYWJlbCcsICcidGV4dCB3aXRoIGV4
dHJhIHdoaWxlIHNwYWNlcyInKTsKKwordmFyIG8yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J28yJyk7CitzaG91bGRCZSgnbzIubGFiZWwnLCAnInRleHQiJyk7CisKKwordmFyIG8zID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28zJyk7Cit2YXIgZXhwZWN0ZWQgPSAnXHUwMEEwJysndGVz
dCcrJ1x1MDBBMCcrICd0ZXh0JysnXHUwMEEwJzsKK3Nob3VsZEJlKCdvMy5sYWJlbCcsJyInK2V4
cGVjdGVkKyciJyk7CisKK3ZhciBvNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvNCcpOwor
dmFyIGV4cGVjdGVkID0gJ3Rlc3QnKydcdTAwQTBcdTAwQTAnKyAndGV4dCc7CitzaG91bGRCZSgn
bzQubGFiZWwnLCAnIicrZXhwZWN0ZWQrJyInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnktanMtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZh
bHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5
LWpzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNCBAQAorVGVzdCBmb3Ig
LnZhbHVlIGFuZCAubGFiZWwgb2YgT1BUSU9OIGVsZW1lbnQKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgbzEudmFsdWUgaXMgIm5ld1ZhbHVlIgorUEFTUyBvMS5sYWJlbCBp
cyAibmV3TGFiZWwiCitQQVNTIG8yLnZhbHVlIGlzICJuZXdWYWx1ZSIKK1BBU1MgbzIubGFiZWwg
aXMgIm5ld0xhYmVsIgorUEFTUyBvMy52YWx1ZSBpcyAibmV3VmFsdWUiCitQQVNTIG8zLmxhYmVs
IGlzICJuZXdMYWJlbCIKK1BBU1MgbzQudmFsdWUgaXMgIm5ld1ZhbHVlIgorUEFTUyBvNC5sYWJl
bCBpcyAibmV3TGFiZWwiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKworVGVzdCBmb3IgLnZhbHVlIGFuZCAubGFiZWwgb2YgT1BUSU9OIGVsZW1lbnQK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbzEudmFsdWUgaXMgIm5ld1Zh
bHVlIgorUEFTUyBvMS5sYWJlbCBpcyAibmV3TGFiZWwiCitQQVNTIG8yLnZhbHVlIGlzICJuZXdW
YWx1ZSIKK1BBU1MgbzIubGFiZWwgaXMgIm5ld0xhYmVsIgorUEFTUyBvMy52YWx1ZSBpcyAibmV3
VmFsdWUiCitQQVNTIG8zLmxhYmVsIGlzICJuZXdMYWJlbCIKK1BBU1MgbzQudmFsdWUgaXMgIm5l
d1ZhbHVlIgorUEFTUyBvNC5sYWJlbCBpcyAibmV3TGFiZWwiCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnktanMuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwtY2hhbmdl
ZC1ieS1qcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRp
b24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnktanMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw5OCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2VsZWN0PgorPG9wdGlvbiBpZD0ibzEiPiAgdGV4
dCAgPC9vcHRpb24+Cis8b3B0aW9uIGlkPSJvMiIgdmFsdWU9InZhbHVlIj4gIHRleHQgIDwvb3B0
aW9uPgorPG9wdGlvbiBpZD0ibzMiIGxhYmVsPSJsYWJlbCI+ICB0ZXh0ICA8L29wdGlvbj4KKzxv
cHRpb24gaWQ9Im80IiB2YWx1ZT0idmFsdWUiIGxhYmVsPSJsYWJlbCI+dGV4dDwvb3B0aW9uPgor
PC9zZWxlY3Q+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCBmb3IgLnZhbHVlIGFuZCAu
bGFiZWwgb2YgT1BUSU9OIGVsZW1lbnQnKTsKKwordmFyIG8xID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ28xJyk7CitvMS5sYWJlbCA9ICJuZXdMYWJlbCIKK28xLnZhbHVlID0gIm5ld1ZhbHVl
Igorc2hvdWxkQmUoJ28xLnZhbHVlJywgJyJuZXdWYWx1ZSInKTsKK3Nob3VsZEJlKCdvMS5sYWJl
bCcsICcibmV3TGFiZWwiJyk7CisKK3ZhciBvMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdv
MicpOworbzIubGFiZWwgPSAibmV3TGFiZWwiCitvMi52YWx1ZSA9ICJuZXdWYWx1ZSIKK3Nob3Vs
ZEJlKCdvMi52YWx1ZScsICcibmV3VmFsdWUiJyk7CitzaG91bGRCZSgnbzIubGFiZWwnLCAnIm5l
d0xhYmVsIicpOworCit2YXIgbzMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzMnKTsKK28z
LmxhYmVsID0gIm5ld0xhYmVsIgorbzMudmFsdWUgPSAibmV3VmFsdWUiCitzaG91bGRCZSgnbzMu
dmFsdWUnLCAnIm5ld1ZhbHVlIicpOworc2hvdWxkQmUoJ28zLmxhYmVsJywgJyJuZXdMYWJlbCIn
KTsKKwordmFyIG80ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ280Jyk7CitvNC5sYWJlbCA9
ICJuZXdMYWJlbCIKK280LnZhbHVlID0gIm5ld1ZhbHVlIgorc2hvdWxkQmUoJ280LnZhbHVlJywg
JyJuZXdWYWx1ZSInKTsKK3Nob3VsZEJlKCdvNC5sYWJlbCcsICcibmV3TGFiZWwiJyk7CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNlbGVjdD4KKzxvcHRpb24gaWQ9Im8xIj4gIHRleHQg
IDwvb3B0aW9uPgorPG9wdGlvbiBpZD0ibzIiIHZhbHVlPSJ2YWx1ZSI+ICB0ZXh0ICA8L29wdGlv
bj4KKzxvcHRpb24gaWQ9Im8zIiBsYWJlbD0ibGFiZWwiPiAgdGV4dCAgPC9vcHRpb24+Cis8b3B0
aW9uIGlkPSJvNCIgdmFsdWU9InZhbHVlIiBsYWJlbD0ibGFiZWwiPnRleHQ8L29wdGlvbj4KKzwv
c2VsZWN0PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgZm9yIC52YWx1ZSBhbmQgLmxh
YmVsIG9mIE9QVElPTiBlbGVtZW50Jyk7CisKK3ZhciBvMSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdvMScpOworbzEubGFiZWwgPSAibmV3TGFiZWwiCitvMS52YWx1ZSA9ICJuZXdWYWx1ZSIK
K3Nob3VsZEJlKCdvMS52YWx1ZScsICcibmV3VmFsdWUiJyk7CitzaG91bGRCZSgnbzEubGFiZWwn
LCAnIm5ld0xhYmVsIicpOworCit2YXIgbzIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzIn
KTsKK28yLmxhYmVsID0gIm5ld0xhYmVsIgorbzIudmFsdWUgPSAibmV3VmFsdWUiCitzaG91bGRC
ZSgnbzIudmFsdWUnLCAnIm5ld1ZhbHVlIicpOworc2hvdWxkQmUoJ28yLmxhYmVsJywgJyJuZXdM
YWJlbCInKTsKKwordmFyIG8zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28zJyk7CitvMy5s
YWJlbCA9ICJuZXdMYWJlbCIKK28zLnZhbHVlID0gIm5ld1ZhbHVlIgorc2hvdWxkQmUoJ28zLnZh
bHVlJywgJyJuZXdWYWx1ZSInKTsKK3Nob3VsZEJlKCdvMy5sYWJlbCcsICcibmV3TGFiZWwiJyk7
CisKK3ZhciBvNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvNCcpOworbzQubGFiZWwgPSAi
bmV3TGFiZWwiCitvNC52YWx1ZSA9ICJuZXdWYWx1ZSIKK3Nob3VsZEJlKCdvNC52YWx1ZScsICci
bmV3VmFsdWUiJyk7CitzaG91bGRCZSgnbzQubGFiZWwnLCAnIm5ld0xhYmVsIicpOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFi
ZWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0
aW9uLXZhbHVlLWFuZC1sYWJlbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDk2NjEwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtNCw5ICs0LDkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQQogCiAKIFBBU1MgbzEudmFsdWUgaXMgInRleHQiCi1QQVNTIG8xLmxhYmVs
IGlzICIiCitQQVNTIG8xLmxhYmVsIGlzICJ0ZXh0IgogUEFTUyBvMi52YWx1ZSBpcyAidmFsdWUi
Ci1QQVNTIG8yLmxhYmVsIGlzICIiCitQQVNTIG8yLmxhYmVsIGlzICJ0ZXh0IgogUEFTUyBvMy52
YWx1ZSBpcyAidGV4dCIKIFBBU1MgbzMubGFiZWwgaXMgImxhYmVsIgogUEFTUyBvNC52YWx1ZSBp
cyAidmFsdWUiCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQt
bGFiZWwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12
YWx1ZS1hbmQtbGFiZWwuaHRtbAkocmV2aXNpb24gOTY2MTApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjAs
MTEgKzIwLDExIEBAIGRlc2NyaXB0aW9uKCdUZXN0IGZvciAudmFsdWUgYW5kIC5sYWJlbAogCiB2
YXIgbzEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzEnKTsKIHNob3VsZEJlKCdvMS52YWx1
ZScsICcidGV4dCInKTsKLXNob3VsZEJlKCdvMS5sYWJlbCcsICciIicpOworc2hvdWxkQmUoJ28x
LmxhYmVsJywgJyJ0ZXh0IicpOwogCiB2YXIgbzIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bzInKTsKIHNob3VsZEJlKCdvMi52YWx1ZScsICcidmFsdWUiJyk7Ci1zaG91bGRCZSgnbzIubGFi
ZWwnLCAnIiInKTsKK3Nob3VsZEJlKCdvMi5sYWJlbCcsICcidGV4dCInKTsKIAogdmFyIG8zID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28zJyk7CiBzaG91bGRCZSgnbzMudmFsdWUnLCAnInRl
eHQiJyk7Cg==
</data>
<flag name="review"
          id="106950"
          type_id="1"
          status="-"
          setter="webkit.review.bot"
    />
    <flag name="commit-queue"
          id="106951"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109665</attachid>
            <date>2011-10-04 12:22:49 -0700</date>
            <delta_ts>2011-10-05 04:05:48 -0700</delta_ts>
            <desc>Because of one wrong line in the changelog - build bot rejected the patch , hence removed the line. </desc>
            <filename>option.patch</filename>
            <type>text/plain</type>
            <size>16081</size>
            <attacher name="Sachin Puranik">jcqt43</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2NjE5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMTAtMDQgIFNhY2hpbiBQ
dXJhbmlrICA8amNxdDQzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBTcGVjIGNoYW5nZSAtIG9w
dGlvbi5sYWJlbCBzaG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZhbHVlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY29ycG9yYXRpbmcgdGhl
IHJlY2VudCBjaGFuZ2UgaW4gc3BlYyBmb3IgbGFiZWwgYXR0cmlidXRlIG9mIAorICAgICAgICBv
cHRpb24gZWxlbWVudC4gV2hpbGUgcmV0cmlldmluZyB0aGUgIkxhYmVsIiBJREwgYXR0cmlidXRl
IHJldHVybgorICAgICAgICB0aGUgIkxhYmVsIiBjb250ZW50IGF0dHJpYnV0ZSBpZiBwcmVzZW50
ICwgZWxzZSByZXR1cm4gdGhlIAorICAgICAgICB2YWx1ZSBvZiB0ZXh0Q29udGVudCBhdHRyaWJ1
dGUuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1z
cGFjZXMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxh
YmVsLWNoYW5nZWQtYnktanMuaHRtbAorCisgICAgICAgICogZG9tL09wdGlvbkVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6T3B0aW9uRWxlbWVudDo6bm9ybWFsaXplVGV4dCk6c3R5bGUg
Zml4ZXMKKyAgICAgICAgKiBkb20vT3B0aW9uRWxlbWVudC5oOiBtYWtlIGNvbGxlY3RPcHRpb25J
bm5lclRleHQoKSBwcm90ZWN0ZWQuCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6bGFiZWwpOiByZXR1cm4g
aW5uZXJUZXh0IGlmIGxhYmVsIGF0dHJpYnV0ZSB1bi1hdmFpbGFibGUuCisgICAgICAgIChXZWJD
b3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6c2V0TGFiZWwpOnNldExhYmVsKCkgaW1wbGVtZW50YXRp
b24uCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oOiBhZGQgc2V0TGFiZWwgZGVj
bGFyYXRpb24uCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGw6IENoYW5nZSBy
ZWZsZWN0IHRvIENvbnZlcnROdWxsVG9OdWxsU3RyaW5nIGluIGlkbAorCiAyMDExLTEwLTA0ICBB
bmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgTW9yZSB3b3Jr
IHRvd2FyZHMgbWFraW5nIFBsYXRmb3JtV2hlZWxFdmVudCBpbW11dGFibGUKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vT3B0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDk2NjEwKQorKysgU291cmNlL1dl
YkNvcmUvZG9tL09wdGlvbkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw4ICsyNCw4
IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUg
IkhUTUxPcHRpb25FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2lu
Y2x1ZGUgIk9wdGlvbkdyb3VwRWxlbWVudC5oIgogI2luY2x1ZGUgIlNjcmlwdEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJTZWxlY3RFbGVtZW50LmgiCkBAIC0xMDAsNyArMTAwLDcgQEAgU3RyaW5nIE9w
dGlvbkVsZW1lbnQ6Om5vcm1hbGl6ZVRleHQoY29ucwogICAgIC8vIEluIFdpbklFLCBsZWFkaW5n
IGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlIGlzIGlnbm9yZWQgaW4gb3B0aW9ucyBhbmQgb3B0Z3Jv
dXBzLiBXZSBtYXRjaCB0aGlzIGJlaGF2aW9yLgogICAgIHRleHQgPSB0ZXh0LnN0cmlwV2hpdGVT
cGFjZShpc0hUTUxTcGFjZSk7CiAKLSAgICAvLyBXZSB3YW50IHRvIGNvbGxhcHNlIG91ciB3aGl0
ZXNwYWNlIHRvby4gIFRoaXMgd2lsbCBtYXRjaCBvdGhlciBicm93c2Vycy4KKyAgICAvLyBXZSB3
YW50IHRvIGNvbGxhcHNlIG91ciB3aGl0ZXNwYWNlIHRvby4gVGhpcyB3aWxsIG1hdGNoIG90aGVy
IGJyb3dzZXJzLgogICAgIHRleHQgPSB0ZXh0LnNpbXBsaWZ5V2hpdGVTcGFjZShpc0hUTUxTcGFj
ZSk7CiAKICAgICByZXR1cm4gdGV4dDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9PcHRpb25F
bGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQu
aAkocmV2aXNpb24gOTY2MTApCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9uRWxlbWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC00OCw4ICs0OCw4IEBAIHByb3RlY3RlZDoKICAgICBzdGF0aWMg
U3RyaW5nIGNvbGxlY3RPcHRpb25MYWJlbE9yVGV4dChjb25zdCBPcHRpb25FbGVtZW50RGF0YSYs
IGNvbnN0IEVsZW1lbnQqKTsKICAgICBzdGF0aWMgU3RyaW5nIGNvbGxlY3RPcHRpb25UZXh0UmVz
cGVjdGluZ0dyb3VwTGFiZWwoY29uc3QgT3B0aW9uRWxlbWVudERhdGEmLCBjb25zdCBFbGVtZW50
Kik7CiAgICAgc3RhdGljIFN0cmluZyBjb2xsZWN0T3B0aW9uVmFsdWUoY29uc3QgT3B0aW9uRWxl
bWVudERhdGEmLCBjb25zdCBFbGVtZW50Kik7Ci1wcml2YXRlOgogICAgIHN0YXRpYyBTdHJpbmcg
Y29sbGVjdE9wdGlvbklubmVyVGV4dChjb25zdCBFbGVtZW50Kik7Citwcml2YXRlOgogICAgIHN0
YXRpYyBTdHJpbmcgbm9ybWFsaXplVGV4dChjb25zdCBEb2N1bWVudCosIGNvbnN0IFN0cmluZyYp
OwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAJ
KHJldmlzaW9uIDk2NjEwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUsNiArNSw3IEBACiAgKiAgICAgICAgICAgKEMpIDIw
MDYgQWxleGV5IFByb3NrdXJ5YWtvdiAoYXBAbnlwb3AuY29tKQogICogQ29weXJpZ2h0IChDKSAy
MDA0LCAyMDA1LCAyMDA2LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
IENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDExIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0zMSw2ICszMiw3IEBACiAjaW5jbHVkZSAi
RG9jdW1lbnQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiSFRNTE5h
bWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkhUTUxTZWxl
Y3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiTm9k
ZVJlbmRlcmluZ0NvbnRleHQuaCIKQEAgLTIxNiw3ICsyMTgsMTkgQEAgdm9pZCBIVE1MT3B0aW9u
RWxlbWVudDo6c2V0RGVmYXVsdFNlbGVjdAogCiBTdHJpbmcgSFRNTE9wdGlvbkVsZW1lbnQ6Omxh
YmVsKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9kYXRhLmxhYmVsKCk7CisgICAgU3RyaW5nIGxh
YmVsID0gbV9kYXRhLmxhYmVsKCk7CisgICAgaWYgKCFsYWJlbC5pc051bGwoKSkKKyAgICAgICAg
cmV0dXJuIGxhYmVsOworIAorICAgIGxhYmVsID0gY29sbGVjdE9wdGlvbklubmVyVGV4dCh0aGlz
KS5zdHJpcFdoaXRlU3BhY2UoaXNIVE1MU3BhY2UpOworICAgIGxhYmVsID0gbGFiZWwuc2ltcGxp
ZnlXaGl0ZVNwYWNlKGlzSFRNTFNwYWNlKTsKKworICAgIHJldHVybiBsYWJlbDsKK30KKwordm9p
ZCBIVE1MT3B0aW9uRWxlbWVudDo6c2V0TGFiZWwoY29uc3QgU3RyaW5nJiBsYWJlbCkKK3sKKyAg
ICBzZXRBdHRyaWJ1dGUobGFiZWxBdHRyLCBsYWJlbCk7CiB9CiAKIHZvaWQgSFRNTE9wdGlvbkVs
ZW1lbnQ6OnNldFJlbmRlclN0eWxlKFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IG5ld1N0eWxlKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuaAkocmV2aXNpb24gOTY2
MTApCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTU4LDYgKzU4LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RGVmYXVsdFNlbGVj
dGVkKGJvb2wpOwogCiAgICAgU3RyaW5nIGxhYmVsKCkgY29uc3Q7CisgICAgdm9pZCBzZXRMYWJl
bChjb25zdCBTdHJpbmcmKTsKIAogICAgIGJvb2wgb3duRWxlbWVudERpc2FibGVkKCkgY29uc3Qg
eyByZXR1cm4gSFRNTEZvcm1Db250cm9sRWxlbWVudDo6ZGlzYWJsZWQoKTsgfQogCkBAIC05Miw2
ICs5Myw2IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBtX3N0eWxlOwogfTsK
IAotfSAvL25hbWVzcGFjZQorfSAvLyBuYW1lc3BhY2UKIAogI2VuZGlmCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAkocmV2aXNpb24gOTY2MTApCisrKyBT
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMzIsNyArMzIsNyBAQCBtb2R1bGUgaHRtbCB7CiAjZW5kaWYKICAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIGxvbmcgaW5kZXg7CiAgICAgICAgIGF0dHJpYnV0ZSBbUmVmbGVjdF0gYm9vbGVh
biBkaXNhYmxlZDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZsZWN0XSBET01TdHJpbmcgbGFiZWw7
CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyBs
YWJlbDsKICAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gc2VsZWN0ZWQ7CiAgICAgICAgIGF0dHJp
YnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0cmluZyB2YWx1ZTsKICAgICB9OwpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gOTY2MTkpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxMS0xMC0wNCAgU2FjaGluIFB1cmFuaWsgIDxq
Y3F0NDNAbW90b3JvbGEuY29tPgorICAgICAgICBzcGVjIGNoYW5nZSAtIG9wdGlvbi5sYWJlbCBz
aG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZhbHVlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElETCAiTGFiZWwiIGF0dHJpYnV0ZSBvZiBvcHRp
b24gZWxlbWVudCBzaG91bGQgcmV0dXJuIHRleHRDb250ZW50IElETCBhdHRyaWJ1dGUKKyAgICAg
ICAgaWYgY29uZXRlbnQgYXR0cmlidXRlICJMYWJlbCIgaXMgdW5hdmFpbGFibGUuIENoYW5nZWQg
dGhlIHRlc3RzIHRvIG1hdGNoCisgICAgICAgIGFib3ZlIHNhaWQgYmVoYXZpb3VyLiBBZGRlZCBu
ZXcgdGVzdHMuCisKKyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi1sYWJlbC10cmltLWh0bWwt
c3BhY2VzLWV4cGVjdGVkLnR4dDogSHRtbCBzcGFjZSB0cmltaW5nIHRlc3QuCisgICAgICAgICog
ZmFzdC9mb3Jtcy9vcHRpb24tbGFiZWwtdHJpbS1odG1sLXNwYWNlcy5odG1sOiBIdG1sIHNwYWNl
IHRyaW1pbmcgdGVzdC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFi
ZWwtY2hhbmdlZC1ieS1qcy1leHBlY3RlZC50eHQ6IEF0dHJpYnV0ZSBjaGFuZ2UgZnJvbSBKUy4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwtY2hhbmdlZC1ieS1q
cy5odG1sOiBBdHRyaWJ1dGUgY2hhbmdlIGZyb20gSlMuCisgICAgICAgICogZmFzdC9mb3Jtcy9v
cHRpb24tdmFsdWUtYW5kLWxhYmVsLWV4cGVjdGVkLnR4dDogQ2hhbmdlZCAgdGVzdCBjYXNlIGFz
IHBlciBuZXcgc3BlYy4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFi
ZWwuaHRtbDogQ2hhbmdlZCB0ZXN0IGNhc2UgYXMgcGVyIG5ldyBzcGVjLgorCiAyMDExLTEwLTAz
ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHRlbmQgRE9NIFdoZWVs
RXZlbnQgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNjcm9s
bCBkaXJlY3Rpb25zCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi1sYWJlbC10
cmltLWh0bWwtc3BhY2VzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2Zvcm1zL29wdGlvbi1sYWJlbC10cmltLWh0bWwtc3BhY2VzLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRt
bC1zcGFjZXMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI2IEBACitUZXN0
IGZvciBzcGFjZSBzdHJpcGluZyAubGFiZWwgYXR0cmlidXRlIG9mIE9QVElPTiBlbGVtZW50CisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG8xLmxhYmVsIGlzICJ0ZXh0IHdp
dGggZXh0cmEgd2hpbGUgc3BhY2VzIgorUEFTUyBvMi5sYWJlbCBpcyAidGV4dCIKK1BBU1MgbzMu
bGFiZWwgaXMgIsKgdGVzdMKgdGV4dMKgIgorUEFTUyBvNC5sYWJlbCBpcyAidGVzdMKgwqB0ZXh0
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKK1Rl
c3QgZm9yIHNwYWNlIHN0cmlwaW5nIC5sYWJlbCBhdHRyaWJ1dGUgb2YgT1BUSU9OIGVsZW1lbnQK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbzEubGFiZWwgaXMgInRleHQg
d2l0aCBleHRyYSB3aGlsZSBzcGFjZXMiCitQQVNTIG8yLmxhYmVsIGlzICJ0ZXh0IgorUEFTUyBv
My5sYWJlbCBpcyAiwqB0ZXN0wqB0ZXh0wqAiCitQQVNTIG80LmxhYmVsIGlzICJ0ZXN0wqDCoHRl
eHQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tbGFiZWwtdHJpbS1odG1sLXNwYWNl
cy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVs
LXRyaW0taHRtbC1zcGFjZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Zm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFjZXMuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw4MiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgaHR0
cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4
NTktMSI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJk
ZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisKKzxzZWxlY3Q+Cis8
b3B0aW9uIGlkPSJvMSI+ICB0ZXh0ICAgd2l0aCAgIGV4dHJhICAgd2hpbGUgICBzcGFjZXMgIDwv
b3B0aW9uPgorPG9wdGlvbiBpZD0ibzIiPiAgdGV4dCAgPC9vcHRpb24+Cis8b3B0aW9uIGlkPSJv
MyI+Jm5ic3A7dGVzdCZuYnNwO3RleHQmbmJzcDs8L29wdGlvbj4KKzxvcHRpb24gaWQ9Im80Ij4g
ICB0ZXN0Jm5ic3A7Jm5ic3A7dGV4dCAgIDwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzY3JpcHQ+
CitkZXNjcmlwdGlvbignVGVzdCBmb3Igc3BhY2Ugc3RyaXBpbmcgLmxhYmVsIGF0dHJpYnV0ZSBv
ZiBPUFRJT04gZWxlbWVudCcpOworCit2YXIgbzEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bzEnKTsKK3Nob3VsZEJlKCdvMS5sYWJlbCcsICcidGV4dCB3aXRoIGV4dHJhIHdoaWxlIHNwYWNl
cyInKTsKKwordmFyIG8yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28yJyk7CitzaG91bGRC
ZSgnbzIubGFiZWwnLCAnInRleHQiJyk7CisKKwordmFyIG8zID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ28zJyk7Cit2YXIgZXhwZWN0ZWQgPSAnXHUwMEEwJysndGVzdCcrJ1x1MDBBMCcrICd0
ZXh0JysnXHUwMEEwJzsKK3Nob3VsZEJlKCdvMy5sYWJlbCcsJyInK2V4cGVjdGVkKyciJyk7CisK
K3ZhciBvNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvNCcpOwordmFyIGV4cGVjdGVkID0g
J3Rlc3QnKydcdTAwQTBcdTAwQTAnKyAndGV4dCc7CitzaG91bGRCZSgnbzQubGFiZWwnLCAnIicr
ZXhwZWN0ZWQrJyInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxo
ZWFkPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7
IGNoYXJzZXQ9aXNvLTg4NTktMSI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+
CisKKzxzZWxlY3Q+Cis8b3B0aW9uIGlkPSJvMSI+ICB0ZXh0ICAgd2l0aCAgIGV4dHJhICAgd2hp
bGUgICBzcGFjZXMgIDwvb3B0aW9uPgorPG9wdGlvbiBpZD0ibzIiPiAgdGV4dCAgPC9vcHRpb24+
Cis8b3B0aW9uIGlkPSJvMyI+Jm5ic3A7dGVzdCZuYnNwO3RleHQmbmJzcDs8L29wdGlvbj4KKzxv
cHRpb24gaWQ9Im80Ij4gICB0ZXN0Jm5ic3A7Jm5ic3A7dGV4dCAgIDwvb3B0aW9uPgorPC9zZWxl
Y3Q+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCBmb3Igc3BhY2Ugc3RyaXBpbmcgLmxh
YmVsIGF0dHJpYnV0ZSBvZiBPUFRJT04gZWxlbWVudCcpOworCit2YXIgbzEgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnbzEnKTsKK3Nob3VsZEJlKCdvMS5sYWJlbCcsICcidGV4dCB3aXRoIGV4
dHJhIHdoaWxlIHNwYWNlcyInKTsKKwordmFyIG8yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J28yJyk7CitzaG91bGRCZSgnbzIubGFiZWwnLCAnInRleHQiJyk7CisKKwordmFyIG8zID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28zJyk7Cit2YXIgZXhwZWN0ZWQgPSAnXHUwMEEwJysndGVz
dCcrJ1x1MDBBMCcrICd0ZXh0JysnXHUwMEEwJzsKK3Nob3VsZEJlKCdvMy5sYWJlbCcsJyInK2V4
cGVjdGVkKyciJyk7CisKK3ZhciBvNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvNCcpOwor
dmFyIGV4cGVjdGVkID0gJ3Rlc3QnKydcdTAwQTBcdTAwQTAnKyAndGV4dCc7CitzaG91bGRCZSgn
bzQubGFiZWwnLCAnIicrZXhwZWN0ZWQrJyInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9
IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnktanMtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZh
bHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5
LWpzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNCBAQAorVGVzdCBmb3Ig
LnZhbHVlIGFuZCAubGFiZWwgb2YgT1BUSU9OIGVsZW1lbnQKKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgbzEudmFsdWUgaXMgIm5ld1ZhbHVlIgorUEFTUyBvMS5sYWJlbCBp
cyAibmV3TGFiZWwiCitQQVNTIG8yLnZhbHVlIGlzICJuZXdWYWx1ZSIKK1BBU1MgbzIubGFiZWwg
aXMgIm5ld0xhYmVsIgorUEFTUyBvMy52YWx1ZSBpcyAibmV3VmFsdWUiCitQQVNTIG8zLmxhYmVs
IGlzICJuZXdMYWJlbCIKK1BBU1MgbzQudmFsdWUgaXMgIm5ld1ZhbHVlIgorUEFTUyBvNC5sYWJl
bCBpcyAibmV3TGFiZWwiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKworVGVzdCBmb3IgLnZhbHVlIGFuZCAubGFiZWwgb2YgT1BUSU9OIGVsZW1lbnQK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbzEudmFsdWUgaXMgIm5ld1Zh
bHVlIgorUEFTUyBvMS5sYWJlbCBpcyAibmV3TGFiZWwiCitQQVNTIG8yLnZhbHVlIGlzICJuZXdW
YWx1ZSIKK1BBU1MgbzIubGFiZWwgaXMgIm5ld0xhYmVsIgorUEFTUyBvMy52YWx1ZSBpcyAibmV3
VmFsdWUiCitQQVNTIG8zLmxhYmVsIGlzICJuZXdMYWJlbCIKK1BBU1MgbzQudmFsdWUgaXMgIm5l
d1ZhbHVlIgorUEFTUyBvNC5sYWJlbCBpcyAibmV3TGFiZWwiCitQQVNTIHN1Y2Nlc3NmdWxseVBh
cnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnktanMuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwtY2hhbmdl
ZC1ieS1qcy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRp
b24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnktanMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw5OCBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorCis8c2VsZWN0PgorPG9wdGlvbiBpZD0ibzEiPiAgdGV4
dCAgPC9vcHRpb24+Cis8b3B0aW9uIGlkPSJvMiIgdmFsdWU9InZhbHVlIj4gIHRleHQgIDwvb3B0
aW9uPgorPG9wdGlvbiBpZD0ibzMiIGxhYmVsPSJsYWJlbCI+ICB0ZXh0ICA8L29wdGlvbj4KKzxv
cHRpb24gaWQ9Im80IiB2YWx1ZT0idmFsdWUiIGxhYmVsPSJsYWJlbCI+dGV4dDwvb3B0aW9uPgor
PC9zZWxlY3Q+CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCBmb3IgLnZhbHVlIGFuZCAu
bGFiZWwgb2YgT1BUSU9OIGVsZW1lbnQnKTsKKwordmFyIG8xID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ28xJyk7CitvMS5sYWJlbCA9ICJuZXdMYWJlbCIKK28xLnZhbHVlID0gIm5ld1ZhbHVl
Igorc2hvdWxkQmUoJ28xLnZhbHVlJywgJyJuZXdWYWx1ZSInKTsKK3Nob3VsZEJlKCdvMS5sYWJl
bCcsICcibmV3TGFiZWwiJyk7CisKK3ZhciBvMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdv
MicpOworbzIubGFiZWwgPSAibmV3TGFiZWwiCitvMi52YWx1ZSA9ICJuZXdWYWx1ZSIKK3Nob3Vs
ZEJlKCdvMi52YWx1ZScsICcibmV3VmFsdWUiJyk7CitzaG91bGRCZSgnbzIubGFiZWwnLCAnIm5l
d0xhYmVsIicpOworCit2YXIgbzMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzMnKTsKK28z
LmxhYmVsID0gIm5ld0xhYmVsIgorbzMudmFsdWUgPSAibmV3VmFsdWUiCitzaG91bGRCZSgnbzMu
dmFsdWUnLCAnIm5ld1ZhbHVlIicpOworc2hvdWxkQmUoJ28zLmxhYmVsJywgJyJuZXdMYWJlbCIn
KTsKKwordmFyIG80ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ280Jyk7CitvNC5sYWJlbCA9
ICJuZXdMYWJlbCIKK280LnZhbHVlID0gIm5ld1ZhbHVlIgorc2hvdWxkQmUoJ280LnZhbHVlJywg
JyJuZXdWYWx1ZSInKTsKK3Nob3VsZEJlKCdvNC5sYWJlbCcsICcibmV3TGFiZWwiJyk7CisKK3Zh
ciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4KKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNlbGVjdD4KKzxvcHRpb24gaWQ9Im8xIj4gIHRleHQg
IDwvb3B0aW9uPgorPG9wdGlvbiBpZD0ibzIiIHZhbHVlPSJ2YWx1ZSI+ICB0ZXh0ICA8L29wdGlv
bj4KKzxvcHRpb24gaWQ9Im8zIiBsYWJlbD0ibGFiZWwiPiAgdGV4dCAgPC9vcHRpb24+Cis8b3B0
aW9uIGlkPSJvNCIgdmFsdWU9InZhbHVlIiBsYWJlbD0ibGFiZWwiPnRleHQ8L29wdGlvbj4KKzwv
c2VsZWN0PgorCis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3QgZm9yIC52YWx1ZSBhbmQgLmxh
YmVsIG9mIE9QVElPTiBlbGVtZW50Jyk7CisKK3ZhciBvMSA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdvMScpOworbzEubGFiZWwgPSAibmV3TGFiZWwiCitvMS52YWx1ZSA9ICJuZXdWYWx1ZSIK
K3Nob3VsZEJlKCdvMS52YWx1ZScsICcibmV3VmFsdWUiJyk7CitzaG91bGRCZSgnbzEubGFiZWwn
LCAnIm5ld0xhYmVsIicpOworCit2YXIgbzIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzIn
KTsKK28yLmxhYmVsID0gIm5ld0xhYmVsIgorbzIudmFsdWUgPSAibmV3VmFsdWUiCitzaG91bGRC
ZSgnbzIudmFsdWUnLCAnIm5ld1ZhbHVlIicpOworc2hvdWxkQmUoJ28yLmxhYmVsJywgJyJuZXdM
YWJlbCInKTsKKwordmFyIG8zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28zJyk7CitvMy5s
YWJlbCA9ICJuZXdMYWJlbCIKK28zLnZhbHVlID0gIm5ld1ZhbHVlIgorc2hvdWxkQmUoJ28zLnZh
bHVlJywgJyJuZXdWYWx1ZSInKTsKK3Nob3VsZEJlKCdvMy5sYWJlbCcsICcibmV3TGFiZWwiJyk7
CisKK3ZhciBvNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvNCcpOworbzQubGFiZWwgPSAi
bmV3TGFiZWwiCitvNC52YWx1ZSA9ICJuZXdWYWx1ZSIKK3Nob3VsZEJlKCdvNC52YWx1ZScsICci
bmV3VmFsdWUiJyk7CitzaG91bGRCZSgnbzQubGFiZWwnLCAnIm5ld0xhYmVsIicpOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFi
ZWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0
aW9uLXZhbHVlLWFuZC1sYWJlbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDk2NjEwKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtNCw5ICs0LDkgQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQQogCiAKIFBBU1MgbzEudmFsdWUgaXMgInRleHQiCi1QQVNTIG8xLmxhYmVs
IGlzICIiCitQQVNTIG8xLmxhYmVsIGlzICJ0ZXh0IgogUEFTUyBvMi52YWx1ZSBpcyAidmFsdWUi
Ci1QQVNTIG8yLmxhYmVsIGlzICIiCitQQVNTIG8yLmxhYmVsIGlzICJ0ZXh0IgogUEFTUyBvMy52
YWx1ZSBpcyAidGV4dCIKIFBBU1MgbzMubGFiZWwgaXMgImxhYmVsIgogUEFTUyBvNC52YWx1ZSBp
cyAidmFsdWUiCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQt
bGFiZWwuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29wdGlvbi12
YWx1ZS1hbmQtbGFiZWwuaHRtbAkocmV2aXNpb24gOTY2MTApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMjAs
MTEgKzIwLDExIEBAIGRlc2NyaXB0aW9uKCdUZXN0IGZvciAudmFsdWUgYW5kIC5sYWJlbAogCiB2
YXIgbzEgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzEnKTsKIHNob3VsZEJlKCdvMS52YWx1
ZScsICcidGV4dCInKTsKLXNob3VsZEJlKCdvMS5sYWJlbCcsICciIicpOworc2hvdWxkQmUoJ28x
LmxhYmVsJywgJyJ0ZXh0IicpOwogCiB2YXIgbzIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
bzInKTsKIHNob3VsZEJlKCdvMi52YWx1ZScsICcidmFsdWUiJyk7Ci1zaG91bGRCZSgnbzIubGFi
ZWwnLCAnIiInKTsKK3Nob3VsZEJlKCdvMi5sYWJlbCcsICcidGV4dCInKTsKIAogdmFyIG8zID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28zJyk7CiBzaG91bGRCZSgnbzMudmFsdWUnLCAnInRl
eHQiJyk7Cg==
</data>
<flag name="commit-queue"
          id="106954"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109770</attachid>
            <date>2011-10-05 04:05:48 -0700</date>
            <delta_ts>2011-10-05 10:40:59 -0700</delta_ts>
            <desc>Fixed the layout test error.</desc>
            <filename>label.patch</filename>
            <type>text/plain</type>
            <size>12810</size>
            <attacher name="Sachin Puranik">jcqt43</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk2Njg4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMTAtMDUgIFNhY2hpbiBQ
dXJhbmlrICA8amNxdDQzQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBTcGVjIGNoYW5nZSAtIG9w
dGlvbi5sYWJlbCBzaG91bGQgYmUgcmVmbGVjdGVkIGxpa2Ugb3B0aW9uLnZhbHVlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluY29ycG9yYXRpbmcgdGhl
IHJlY2VudCBjaGFuZ2UgaW4gc3BlYyBmb3IgbGFiZWwgYXR0cmlidXRlIG9mIAorICAgICAgICBv
cHRpb24gZWxlbWVudC4gV2hpbGUgcmV0cmlldmluZyB0aGUgIkxhYmVsIiBJREwgYXR0cmlidXRl
IHJldHVybgorICAgICAgICB0aGUgIkxhYmVsIiBjb250ZW50IGF0dHJpYnV0ZSBpZiBwcmVzZW50
ICwgZWxzZSByZXR1cm4gdGhlIAorICAgICAgICB2YWx1ZSBvZiB0ZXh0Q29udGVudCBhdHRyaWJ1
dGUuCisKKyAgICAgICAgVGVzdHM6IGZhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1z
cGFjZXMuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxh
YmVsLWNoYW5nZWQtYnktanMuaHRtbAorCisgICAgICAgICogZG9tL09wdGlvbkVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6T3B0aW9uRWxlbWVudDo6bm9ybWFsaXplVGV4dCk6c3R5bGUg
Zml4ZXMKKyAgICAgICAgKiBkb20vT3B0aW9uRWxlbWVudC5oOiBtYWtlIGNvbGxlY3RPcHRpb25J
bm5lclRleHQoKSBwcm90ZWN0ZWQuCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6bGFiZWwpOiByZXR1cm4g
aW5uZXJUZXh0IGlmIGxhYmVsIGF0dHJpYnV0ZSB1bi1hdmFpbGFibGUuCisgICAgICAgIChXZWJD
b3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6c2V0TGFiZWwpOnNldExhYmVsKCkgaW1wbGVtZW50YXRp
b24uCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5oOiBhZGQgc2V0TGFiZWwgZGVj
bGFyYXRpb24uCisgICAgICAgICogaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5pZGw6IENoYW5nZSBy
ZWZsZWN0IHRvIENvbnZlcnROdWxsVG9OdWxsU3RyaW5nIGluIGlkbAorCiAyMDExLTEwLTA1ICBL
ZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbnB1dCBzdHlsZXMg
YXJlIHVuZXhwZWN0ZWRseSBzaGFyZWQgcmVnYXJkbGVzcyBvZiByZXF1aXJlZCBzdGF0dXMgZGlm
ZmVyZW5jZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vT3B0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9u
IDk2Njc5KQorKysgU291cmNlL1dlYkNvcmUvZG9tL09wdGlvbkVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yNCw4ICsyNCw4IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCi0jaW5jbHVkZSAiSFRNTFBhcnNl
cklkaW9tcy5oIgogI2luY2x1ZGUgIkhUTUxPcHRpb25FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRN
TFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIk9wdGlvbkdyb3VwRWxlbWVudC5oIgogI2luY2x1
ZGUgIlNjcmlwdEVsZW1lbnQuaCIKICNpbmNsdWRlICJTZWxlY3RFbGVtZW50LmgiCkBAIC0xMDAs
NyArMTAwLDcgQEAgU3RyaW5nIE9wdGlvbkVsZW1lbnQ6Om5vcm1hbGl6ZVRleHQoY29ucwogICAg
IC8vIEluIFdpbklFLCBsZWFkaW5nIGFuZCB0cmFpbGluZyB3aGl0ZXNwYWNlIGlzIGlnbm9yZWQg
aW4gb3B0aW9ucyBhbmQgb3B0Z3JvdXBzLiBXZSBtYXRjaCB0aGlzIGJlaGF2aW9yLgogICAgIHRl
eHQgPSB0ZXh0LnN0cmlwV2hpdGVTcGFjZShpc0hUTUxTcGFjZSk7CiAKLSAgICAvLyBXZSB3YW50
IHRvIGNvbGxhcHNlIG91ciB3aGl0ZXNwYWNlIHRvby4gIFRoaXMgd2lsbCBtYXRjaCBvdGhlciBi
cm93c2Vycy4KKyAgICAvLyBXZSB3YW50IHRvIGNvbGxhcHNlIG91ciB3aGl0ZXNwYWNlIHRvby4g
VGhpcyB3aWxsIG1hdGNoIG90aGVyIGJyb3dzZXJzLgogICAgIHRleHQgPSB0ZXh0LnNpbXBsaWZ5
V2hpdGVTcGFjZShpc0hUTUxTcGFjZSk7CiAKICAgICByZXR1cm4gdGV4dDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9PcHRpb25FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL09wdGlvbkVsZW1lbnQuaAkocmV2aXNpb24gOTY2NzkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9kb20vT3B0aW9uRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00OCw4ICs0OCw4IEBAIHBy
b3RlY3RlZDoKICAgICBzdGF0aWMgU3RyaW5nIGNvbGxlY3RPcHRpb25MYWJlbE9yVGV4dChjb25z
dCBPcHRpb25FbGVtZW50RGF0YSYsIGNvbnN0IEVsZW1lbnQqKTsKICAgICBzdGF0aWMgU3RyaW5n
IGNvbGxlY3RPcHRpb25UZXh0UmVzcGVjdGluZ0dyb3VwTGFiZWwoY29uc3QgT3B0aW9uRWxlbWVu
dERhdGEmLCBjb25zdCBFbGVtZW50Kik7CiAgICAgc3RhdGljIFN0cmluZyBjb2xsZWN0T3B0aW9u
VmFsdWUoY29uc3QgT3B0aW9uRWxlbWVudERhdGEmLCBjb25zdCBFbGVtZW50Kik7Ci1wcml2YXRl
OgogICAgIHN0YXRpYyBTdHJpbmcgY29sbGVjdE9wdGlvbklubmVyVGV4dChjb25zdCBFbGVtZW50
Kik7Citwcml2YXRlOgogICAgIHN0YXRpYyBTdHJpbmcgbm9ybWFsaXplVGV4dChjb25zdCBEb2N1
bWVudCosIGNvbnN0IFN0cmluZyYpOwogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT3B0aW9uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MT3B0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDk2Njc5KQorKysgU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUsNiArNSw3IEBA
CiAgKiAgICAgICAgICAgKEMpIDIwMDYgQWxleGV5IFByb3NrdXJ5YWtvdiAoYXBAbnlwb3AuY29t
KQogICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIE1vdG9yb2xhIE1vYmlsaXR5
LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0zMSw2
ICszMiw3IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5o
IgogI2luY2x1ZGUgIkhUTUxTZWxlY3RFbGVtZW50LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0
eWxlLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlcmluZ0NvbnRleHQuaCIKQEAgLTIxNiw3ICsyMTgs
MTkgQEAgdm9pZCBIVE1MT3B0aW9uRWxlbWVudDo6c2V0RGVmYXVsdFNlbGVjdAogCiBTdHJpbmcg
SFRNTE9wdGlvbkVsZW1lbnQ6OmxhYmVsKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9kYXRhLmxh
YmVsKCk7CisgICAgU3RyaW5nIGxhYmVsID0gbV9kYXRhLmxhYmVsKCk7CisgICAgaWYgKCFsYWJl
bC5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIGxhYmVsOworIAorICAgIGxhYmVsID0gY29sbGVj
dE9wdGlvbklubmVyVGV4dCh0aGlzKS5zdHJpcFdoaXRlU3BhY2UoaXNIVE1MU3BhY2UpOworICAg
IGxhYmVsID0gbGFiZWwuc2ltcGxpZnlXaGl0ZVNwYWNlKGlzSFRNTFNwYWNlKTsKKworICAgIHJl
dHVybiBsYWJlbDsKK30KKwordm9pZCBIVE1MT3B0aW9uRWxlbWVudDo6c2V0TGFiZWwoY29uc3Qg
U3RyaW5nJiBsYWJlbCkKK3sKKyAgICBzZXRBdHRyaWJ1dGUobGFiZWxBdHRyLCBsYWJlbCk7CiB9
CiAKIHZvaWQgSFRNTE9wdGlvbkVsZW1lbnQ6OnNldFJlbmRlclN0eWxlKFBhc3NSZWZQdHI8UmVu
ZGVyU3R5bGU+IG5ld1N0eWxlKQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MT3B0aW9u
RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVs
ZW1lbnQuaAkocmV2aXNpb24gOTY2NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRp
b25FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0RGVmYXVsdFNlbGVjdGVkKGJvb2wpOwogCiAgICAgU3RyaW5nIGxhYmVsKCkgY29u
c3Q7CisgICAgdm9pZCBzZXRMYWJlbChjb25zdCBTdHJpbmcmKTsKIAogICAgIGJvb2wgb3duRWxl
bWVudERpc2FibGVkKCkgY29uc3QgeyByZXR1cm4gSFRNTEZvcm1Db250cm9sRWxlbWVudDo6ZGlz
YWJsZWQoKTsgfQogCkBAIC05Miw2ICs5Myw2IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFJlbmRl
clN0eWxlPiBtX3N0eWxlOwogfTsKIAotfSAvL25hbWVzcGFjZQorfSAvLyBuYW1lc3BhY2UKIAog
I2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmlkbAko
cmV2aXNpb24gOTY2NzkpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQCBtb2R1bGUgaHRtbCB7CiAjZW5k
aWYKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGxvbmcgaW5kZXg7CiAgICAgICAgIGF0dHJp
YnV0ZSBbUmVmbGVjdF0gYm9vbGVhbiBkaXNhYmxlZDsKLSAgICAgICAgYXR0cmlidXRlIFtSZWZs
ZWN0XSBET01TdHJpbmcgbGFiZWw7CisgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051
bGxTdHJpbmddIERPTVN0cmluZyBsYWJlbDsKICAgICAgICAgYXR0cmlidXRlIGJvb2xlYW4gc2Vs
ZWN0ZWQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29udmVydE51bGxUb051bGxTdHJpbmddIERPTVN0
cmluZyB2YWx1ZTsKICAgICB9OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gOTY2ODgpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMSBAQAorMjAxMS0xMC0w
NSAgU2FjaGluIFB1cmFuaWsgIDxqY3F0NDNAbW90b3JvbGEuY29tPgorCisgICAgICAgIFNwZWMg
Y2hhbmdlIC0gb3B0aW9uLmxhYmVsIHNob3VsZCBiZSByZWZsZWN0ZWQgbGlrZSBvcHRpb24udmFs
dWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4Njg0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSURMICJM
YWJlbCIgYXR0cmlidXRlIG9mIG9wdGlvbiBlbGVtZW50IHNob3VsZCByZXR1cm4gdGV4dENvbnRl
bnQgSURMIGF0dHJpYnV0ZQorICAgICAgICBpZiBjb25ldGVudCBhdHRyaWJ1dGUgIkxhYmVsIiBp
cyB1bmF2YWlsYWJsZS4gQ2hhbmdlZCB0aGUgdGVzdHMgdG8gbWF0Y2gKKyAgICAgICAgYWJvdmUg
c2FpZCBiZWhhdmlvdXIuIEFkZGVkIG5ldyB0ZXN0cy4KKworICAgICAgICAqIGZhc3QvZm9ybXMv
b3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFjZXMtZXhwZWN0ZWQudHh0OiBIdG1sIHNwYWNlIHRy
aW1pbmcgdGVzdC4KKyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi1sYWJlbC10cmltLWh0bWwt
c3BhY2VzLmh0bWw6IEh0bWwgc3BhY2UgdHJpbWluZyB0ZXN0LgorICAgICAgICAqIGZhc3QvZm9y
bXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLWV4cGVjdGVkLnR4dDogQXR0
cmlidXRlIGNoYW5nZSBmcm9tIEpTLgorICAgICAgICAqIGZhc3QvZm9ybXMvb3B0aW9uLXZhbHVl
LWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLmh0bWw6IEF0dHJpYnV0ZSBjaGFuZ2UgZnJvbSBKUy4K
KyAgICAgICAgKiBmYXN0L2Zvcm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwtZXhwZWN0ZWQudHh0
OiBDaGFuZ2VkICB0ZXN0IGNhc2UgYXMgcGVyIG5ldyBzcGVjLgorICAgICAgICAqIGZhc3QvZm9y
bXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1sOiBDaGFuZ2VkIHRlc3QgY2FzZSBhcyBwZXIg
bmV3IHNwZWMuCisKIDIwMTEtMTAtMDUgIEhhbnMgV2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZWJhc2VsaW5lIGZhc3QvcmVwYWludC9qYXBhbmVzZS1ybC1zZWxlY3Rp
b24tcmVwYWludC1pbi1yZWdpb25zLmh0bWwKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
b3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFjZXMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFjZXMtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24t
bGFiZWwtdHJpbS1odG1sLXNwYWNlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTMgQEAKK1Rlc3QgZm9yIHNwYWNlIHN0cmlwaW5nIC5sYWJlbCBhdHRyaWJ1dGUgb2YgT1BU
SU9OIGVsZW1lbnQKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgbzEubGFi
ZWwgaXMgInRleHQgd2l0aCBleHRyYSB3aGlsZSBzcGFjZXMiCitQQVNTIG8yLmxhYmVsIGlzICJ0
ZXh0IgorUEFTUyBvMy5sYWJlbCBpcyAiwqB0ZXN0wqB0ZXh0wqAiCitQQVNTIG80LmxhYmVsIGlz
ICJ0ZXN0wqDCoHRleHQiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tbGFiZWwtdHJp
bS1odG1sLXNwYWNlcy5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
b3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFjZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLWxhYmVsLXRyaW0taHRtbC1zcGFjZXMuaHRtbAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw0MSBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFk
PgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo
YXJzZXQ9aXNvLTg4NTktMSI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+CisK
KzxzZWxlY3Q+Cis8b3B0aW9uIGlkPSJvMSI+ICB0ZXh0ICAgd2l0aCAgIGV4dHJhICAgd2hpbGUg
ICBzcGFjZXMgIDwvb3B0aW9uPgorPG9wdGlvbiBpZD0ibzIiPiAgdGV4dCAgPC9vcHRpb24+Cis8
b3B0aW9uIGlkPSJvMyI+Jm5ic3A7dGVzdCZuYnNwO3RleHQmbmJzcDs8L29wdGlvbj4KKzxvcHRp
b24gaWQ9Im80Ij4gICB0ZXN0Jm5ic3A7Jm5ic3A7dGV4dCAgIDwvb3B0aW9uPgorPC9zZWxlY3Q+
CisKKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdCBmb3Igc3BhY2Ugc3RyaXBpbmcgLmxhYmVs
IGF0dHJpYnV0ZSBvZiBPUFRJT04gZWxlbWVudCcpOworCit2YXIgbzEgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgnbzEnKTsKK3Nob3VsZEJlKCdvMS5sYWJlbCcsICcidGV4dCB3aXRoIGV4dHJh
IHdoaWxlIHNwYWNlcyInKTsKKwordmFyIG8yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28y
Jyk7CitzaG91bGRCZSgnbzIubGFiZWwnLCAnInRleHQiJyk7CisKKwordmFyIG8zID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ28zJyk7Cit2YXIgZXhwZWN0ZWQgPSAnXHUwMEEwJysndGVzdCcr
J1x1MDBBMCcrICd0ZXh0JysnXHUwMEEwJzsKK3Nob3VsZEJlKCdvMy5sYWJlbCcsJyInK2V4cGVj
dGVkKyciJyk7CisKK3ZhciBvNCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvNCcpOwordmFy
IGV4cGVjdGVkID0gJ3Rlc3QnKydcdTAwQTBcdTAwQTAnKyAndGV4dCc7CitzaG91bGRCZSgnbzQu
bGFiZWwnLCAnIicrZXhwZWN0ZWQrJyInKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5nZWQtYnktanMtZXhwZWN0
ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVl
LWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1jaGFuZ2VkLWJ5LWpz
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNyBAQAorVGVzdCBmb3IgLnZh
bHVlIGFuZCAubGFiZWwgb2YgT1BUSU9OIGVsZW1lbnQKKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK1BBU1MgbzEudmFsdWUgaXMgIm5ld1ZhbHVlIgorUEFTUyBvMS5sYWJlbCBpcyAi
bmV3TGFiZWwiCitQQVNTIG8yLnZhbHVlIGlzICJuZXdWYWx1ZSIKK1BBU1MgbzIubGFiZWwgaXMg
Im5ld0xhYmVsIgorUEFTUyBvMy52YWx1ZSBpcyAibmV3VmFsdWUiCitQQVNTIG8zLmxhYmVsIGlz
ICJuZXdMYWJlbCIKK1BBU1MgbzQudmFsdWUgaXMgIm5ld1ZhbHVlIgorUEFTUyBvNC5sYWJlbCBp
cyAibmV3TGFiZWwiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxh
YmVsLWNoYW5nZWQtYnktanMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zv
cm1zL29wdGlvbi12YWx1ZS1hbmQtbGFiZWwtY2hhbmdlZC1ieS1qcy5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWNoYW5n
ZWQtYnktanMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIEhU
TUw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2Pgor
Cis8c2VsZWN0PgorPG9wdGlvbiBpZD0ibzEiPiAgdGV4dCAgPC9vcHRpb24+Cis8b3B0aW9uIGlk
PSJvMiIgdmFsdWU9InZhbHVlIj4gIHRleHQgIDwvb3B0aW9uPgorPG9wdGlvbiBpZD0ibzMiIGxh
YmVsPSJsYWJlbCI+ICB0ZXh0ICA8L29wdGlvbj4KKzxvcHRpb24gaWQ9Im80IiB2YWx1ZT0idmFs
dWUiIGxhYmVsPSJsYWJlbCI+dGV4dDwvb3B0aW9uPgorPC9zZWxlY3Q+CisKKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbignVGVzdCBmb3IgLnZhbHVlIGFuZCAubGFiZWwgb2YgT1BUSU9OIGVsZW1lbnQn
KTsKKwordmFyIG8xID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ28xJyk7CitvMS5sYWJlbCA9
ICJuZXdMYWJlbCIKK28xLnZhbHVlID0gIm5ld1ZhbHVlIgorc2hvdWxkQmUoJ28xLnZhbHVlJywg
JyJuZXdWYWx1ZSInKTsKK3Nob3VsZEJlKCdvMS5sYWJlbCcsICcibmV3TGFiZWwiJyk7CisKK3Zh
ciBvMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvMicpOworbzIubGFiZWwgPSAibmV3TGFi
ZWwiCitvMi52YWx1ZSA9ICJuZXdWYWx1ZSIKK3Nob3VsZEJlKCdvMi52YWx1ZScsICcibmV3VmFs
dWUiJyk7CitzaG91bGRCZSgnbzIubGFiZWwnLCAnIm5ld0xhYmVsIicpOworCit2YXIgbzMgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbzMnKTsKK28zLmxhYmVsID0gIm5ld0xhYmVsIgorbzMu
dmFsdWUgPSAibmV3VmFsdWUiCitzaG91bGRCZSgnbzMudmFsdWUnLCAnIm5ld1ZhbHVlIicpOwor
c2hvdWxkQmUoJ28zLmxhYmVsJywgJyJuZXdMYWJlbCInKTsKKwordmFyIG80ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ280Jyk7CitvNC5sYWJlbCA9ICJuZXdMYWJlbCIKK280LnZhbHVlID0g
Im5ld1ZhbHVlIgorc2hvdWxkQmUoJ280LnZhbHVlJywgJyJuZXdWYWx1ZSInKTsKK3Nob3VsZEJl
KCdvNC5sYWJlbCcsICcibmV3TGFiZWwiJyk7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC1leHBlY3RlZC50eHQKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9vcHRpb24tdmFsdWUtYW5kLWxhYmVsLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gOTY2NzkpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL29w
dGlvbi12YWx1ZS1hbmQtbGFiZWwtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDkg
KzQsOSBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiAKIAogUEFT
UyBvMS52YWx1ZSBpcyAidGV4dCIKLVBBU1MgbzEubGFiZWwgaXMgIiIKK1BBU1MgbzEubGFiZWwg
aXMgInRleHQiCiBQQVNTIG8yLnZhbHVlIGlzICJ2YWx1ZSIKLVBBU1MgbzIubGFiZWwgaXMgIiIK
K1BBU1MgbzIubGFiZWwgaXMgInRleHQiCiBQQVNTIG8zLnZhbHVlIGlzICJ0ZXh0IgogUEFTUyBv
My5sYWJlbCBpcyAibGFiZWwiCiBQQVNTIG80LnZhbHVlIGlzICJ2YWx1ZSIKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFuZC1sYWJlbC5odG1sCShy
ZXZpc2lvbiA5NjY3OSkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvb3B0aW9uLXZhbHVlLWFu
ZC1sYWJlbC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yMCwxMSArMjAsMTEgQEAgZGVzY3JpcHRp
b24oJ1Rlc3QgZm9yIC52YWx1ZSBhbmQgLmxhYmVsCiAKIHZhciBvMSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdvMScpOwogc2hvdWxkQmUoJ28xLnZhbHVlJywgJyJ0ZXh0IicpOwotc2hvdWxk
QmUoJ28xLmxhYmVsJywgJyIiJyk7CitzaG91bGRCZSgnbzEubGFiZWwnLCAnInRleHQiJyk7CiAK
IHZhciBvMiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdvMicpOwogc2hvdWxkQmUoJ28yLnZh
bHVlJywgJyJ2YWx1ZSInKTsKLXNob3VsZEJlKCdvMi5sYWJlbCcsICciIicpOworc2hvdWxkQmUo
J28yLmxhYmVsJywgJyJ0ZXh0IicpOwogCiB2YXIgbzMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnbzMnKTsKIHNob3VsZEJlKCdvMy52YWx1ZScsICcidGV4dCInKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>