<?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>103157</bug_id>
          
          <creation_ts>2012-11-23 11:44:07 -0800</creation_ts>
          <short_desc>[style] Add a style-check for enum-member names</short_desc>
          <delta_ts>2017-07-18 08:29:27 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>1</everconfirmed>
          <reporter name="Sadrul Habib Chowdhury">sadrul</reporter>
          <assigned_to name="Sadrul Habib Chowdhury">sadrul</assigned_to>
          <cc>abarth</cc>
    
    <cc>dbates</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>levin</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>774669</commentid>
    <comment_count>0</comment_count>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-23 11:44:07 -0800</bug_when>
    <thetext>[style] Add a style-check for enum-member names</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774670</commentid>
    <comment_count>1</comment_count>
      <attachid>175831</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-23 11:46:01 -0800</bug_when>
    <thetext>Created attachment 175831
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774673</commentid>
    <comment_count>2</comment_count>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-23 11:48:36 -0800</bug_when>
    <thetext>Hi Adam. The enum naming style bit me a few times (and possibly others, especially devs who primarily work on chromium). So I thought a style-check for this would be useful. Would you be the right reviewer for this? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774906</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-24 18:12:13 -0800</bug_when>
    <thetext>Unfortunately, I don&apos;t know this code very well.  Perhaps svn blame can suggest a good reviewer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774930</commentid>
    <comment_count>4</comment_count>
      <attachid>175831</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-11-24 20:26:50 -0800</bug_when>
    <thetext>Comment on attachment 175831
Patch

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

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1219
&gt; +    def process_clean_line(self, line):

Obviously this function doesn&apos;t support checking enumerators that are declared on the same line as the enum type:

enum OrdinalNumber { First, Second, Third };

We should consider adding support to check such enums because they appear frequently in the code base.

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1223
&gt; +            elif match(r&apos;^\s*[A-Z_]+,?\s*$&apos;, line):

Take line to be &quot;FOO = 6&quot; then this regular expression won&apos;t match. That is, this regular expression doesn&apos;t match an enumerator-definition with a constant expression.

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1228
&gt; +            if match(r&apos;^\s*enum\s+[a-zA-Z]+\s*\{?\s*$&apos;, line):

Did you intend to explicitly exclude checking enums without a tag? For example:
   enum {
       EvenOddWindingRule,
       NonZeroWindingRule
   };

Take line to be &quot;enum Shape3D {&quot;. Then the regular expression doesn&apos;t match and hence we will not check the enumerators in this enum.

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:2072
&gt; +    line = clean_lines.elided[line_number]  # Get rid of comments and strings.

Nit: There are two space characters before the &apos;#&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775039</commentid>
    <comment_count>5</comment_count>
      <attachid>175893</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-25 16:03:31 -0800</bug_when>
    <thetext>Created attachment 175893
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775040</commentid>
    <comment_count>6</comment_count>
      <attachid>175831</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-25 16:06:12 -0800</bug_when>
    <thetext>Comment on attachment 175831
Patch

Thanks for the great feedback! Addressed your comments, and updated the test with relevant test cases.

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

&gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1219
&gt;&gt; +    def process_clean_line(self, line):
&gt; 
&gt; Obviously this function doesn&apos;t support checking enumerators that are declared on the same line as the enum type:
&gt; 
&gt; enum OrdinalNumber { First, Second, Third };
&gt; 
&gt; We should consider adding support to check such enums because they appear frequently in the code base.

Done.

&gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1223
&gt;&gt; +            elif match(r&apos;^\s*[A-Z_]+,?\s*$&apos;, line):
&gt; 
&gt; Take line to be &quot;FOO = 6&quot; then this regular expression won&apos;t match. That is, this regular expression doesn&apos;t match an enumerator-definition with a constant expression.

Fixed.

&gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1228
&gt;&gt; +            if match(r&apos;^\s*enum\s+[a-zA-Z]+\s*\{?\s*$&apos;, line):
&gt; 
&gt; Did you intend to explicitly exclude checking enums without a tag? For example:
&gt;    enum {
&gt;        EvenOddWindingRule,
&gt;        NonZeroWindingRule
&gt;    };
&gt; 
&gt; Take line to be &quot;enum Shape3D {&quot;. Then the regular expression doesn&apos;t match and hence we will not check the enumerators in this enum.

Fixed.

&gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:2072
&gt;&gt; +    line = clean_lines.elided[line_number]  # Get rid of comments and strings.
&gt; 
&gt; Nit: There are two space characters before the &apos;#&apos;.

Indeed (this is enforced by a pre-submit check)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775098</commentid>
    <comment_count>7</comment_count>
      <attachid>175913</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-25 19:25:11 -0800</bug_when>
    <thetext>Created attachment 175913
Update for another valid syntax.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775107</commentid>
    <comment_count>8</comment_count>
      <attachid>175913</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-11-25 20:18:41 -0800</bug_when>
    <thetext>Comment on attachment 175913
Update for another valid syntax.

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

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1222
&gt; +        expr_all_uppercase = r&apos;^\s*[A-Z0-9_]+\s*(=\s*[0-9A-Za-z]+\s*)?,?\s*$&apos;

Take line to be &quot;FOO = 6 * 5&quot; then this regular expression fails to match. Maybe such constant expressions are unlikely?

Nit: From reading &lt;http://docs.python.org/2/library/re.html#re.match&gt;, match() will only return a MatchObject instance when &quot;zero or more characters at the beginning of string match the regular expression pattern&quot;; =&gt; the leading caret (^) in the regular expression pattern is superfluous.

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1223
&gt; +        expr_starts_lowercase = r&apos;^\s*[a-z]&apos;

Nit: From reading &lt;http://docs.python.org/2/library/re.html#re.match&gt;, match() will only return a MatchObject instance when &quot;zero or more characters at the beginning of string match the regular expression pattern&quot;; =&gt; the leading caret (^) in the regular expression pattern is superfluous.

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1226
&gt; +            if match(r&apos;^\s*&apos; + expr_enum_end + &apos;$&apos;, line):

Ditto.

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1233
&gt; +            if match(r&apos;^\s*enum(\s+[a-zA-Z0-9]+)?\s*\{?\s*$&apos;, line):

Nit: I suggest that we use a non-capture group for the enum name/tag since we aren&apos;t interested in capturing it. See the documentation for (?:...) in &lt;http://docs.python.org/2/library/re.html#regular-expression-syntax&gt; for more details.

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1236
&gt; +                matched = search(r&apos;^\s*enum(\s+[a-zA-Z0-9]+)?\s*\{(?P&lt;members&gt;.*)&apos; + expr_enum_end + &apos;$&apos;, line)

Ditto.

How did you come to the decision to use search() instead of match()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775569</commentid>
    <comment_count>9</comment_count>
      <attachid>176022</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-26 09:45:48 -0800</bug_when>
    <thetext>Created attachment 176022
Addressed the comments. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>775573</commentid>
    <comment_count>10</comment_count>
      <attachid>175913</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-26 09:46:25 -0800</bug_when>
    <thetext>Comment on attachment 175913
Update for another valid syntax.

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

&gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1222
&gt;&gt; +        expr_all_uppercase = r&apos;^\s*[A-Z0-9_]+\s*(=\s*[0-9A-Za-z]+\s*)?,?\s*$&apos;
&gt; 
&gt; Take line to be &quot;FOO = 6 * 5&quot; then this regular expression fails to match. Maybe such constant expressions are unlikely?
&gt; 
&gt; Nit: From reading &lt;http://docs.python.org/2/library/re.html#re.match&gt;, match() will only return a MatchObject instance when &quot;zero or more characters at the beginning of string match the regular expression pattern&quot;; =&gt; the leading caret (^) in the regular expression pattern is superfluous.

I expect such expressions to be unlikely, but I do not really know. I can add certain operators here if you think that&apos;d be useful?

&gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1233
&gt;&gt; +            if match(r&apos;^\s*enum(\s+[a-zA-Z0-9]+)?\s*\{?\s*$&apos;, line):
&gt; 
&gt; Nit: I suggest that we use a non-capture group for the enum name/tag since we aren&apos;t interested in capturing it. See the documentation for (?:...) in &lt;http://docs.python.org/2/library/re.html#regular-expression-syntax&gt; for more details.

Done.

&gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1236
&gt;&gt; +                matched = search(r&apos;^\s*enum(\s+[a-zA-Z0-9]+)?\s*\{(?P&lt;members&gt;.*)&apos; + expr_enum_end + &apos;$&apos;, line)
&gt; 
&gt; Ditto.
&gt; 
&gt; How did you come to the decision to use search() instead of match()?

Removed all the ^s from the regexes.

I changed this back to using match(). I initially used search() almost arbitrarily (it looked like most of the places in this script that use named groups use search())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776349</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-11-26 22:32:32 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 175913 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=175913&amp;action=review
&gt; 
&gt; &gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1222
&gt; &gt;&gt; +        expr_all_uppercase = r&apos;^\s*[A-Z0-9_]+\s*(=\s*[0-9A-Za-z]+\s*)?,?\s*$&apos;
&gt; &gt; 
&gt; &gt; Take line to be &quot;FOO = 6 * 5&quot; then this regular expression fails to match. Maybe such constant expressions are unlikely?
&gt; &gt; 
&gt;&gt; [...]
&gt; 
&gt; I expect such expressions to be unlikely, but I do not really know. I can add certain operators here if you think that&apos;d be useful?

The proposed change is sufficient as is. We can enhance the enum support as needed. For now, I suggest that we add a FIXME comment in process_clean_line() to implement support for all constant expressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776350</commentid>
    <comment_count>12</comment_count>
      <attachid>176022</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-11-26 22:33:31 -0800</bug_when>
    <thetext>Comment on attachment 176022
Addressed the comments. Thanks!

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

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1222
&gt; +        expr_all_uppercase = r&apos;\s*[A-Z0-9_]+\s*(?:=\s*[0-9A-Za-z]+\s*)?,?\s*$&apos;

I suggest we add a FIXME comment above this line to explain that this regular expression and the regular expression for expr_enum_end only support integers and identifiers for the value of an enumerator, but this is sufficient for our needs at the time of writing (10/26/2012). That is, these regular expressions don&apos;t match all constant expressions.

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1224
&gt; +        expr_enum_end = r&apos;}\s*(?:[a-zA-Z0-9]+\s*(?:=\s*[a-zA-Z0-9]+)?)?\s*;\s*&apos;

Nit: For consistency, I suggest that we use the same ordering in characters classes. In particular, the ordering of the second character class in expr_enum_end ([a-zA-Z0-9]) differs from the ordering of second character class in expr_all_uppercase ([0-9A-Za-z]). We should pick an ordering for character classes and be consistent.

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1227
&gt; +            if match(r&apos;\s*&apos; + expr_enum_end + &apos;$&apos;, line):

Although not necessary, you may want to consider prefixing the last string literal in this string concatenation with &apos;r&apos; to have Python treat it as a raw string.

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1234
&gt; +            if match(expr_enum_start + &apos;$&apos;, line):

Ditto.

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1237
&gt; +                matched = match(expr_enum_start + &apos;(?P&lt;members&gt;.*)&apos; + expr_enum_end + &apos;$&apos;, line)

Although not necessary, you may want to consider prefixing both sting literals &apos;(?P&lt;members&gt;.*)&apos; and &apos;$&apos; with &apos;r&apos; to have Python treat them as raw strings.

&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:3548
&gt; +      enum_state: A _EnumState instance which maintains an enum delcaration

Nit: delcaration =&gt; declaration</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776356</commentid>
    <comment_count>13</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2012-11-26 22:37:38 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 176022 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=176022&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1222
&gt; &gt; +        expr_all_uppercase = r&apos;\s*[A-Z0-9_]+\s*(?:=\s*[0-9A-Za-z]+\s*)?,?\s*$&apos;
&gt; 
&gt; I suggest we add a FIXME comment above this line...but this is sufficient for our needs at the time of writing (10/26/2012)...

*11/26/2012</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776415</commentid>
    <comment_count>14</comment_count>
      <attachid>176188</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-26 23:45:10 -0800</bug_when>
    <thetext>Created attachment 176188
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776416</commentid>
    <comment_count>15</comment_count>
      <attachid>176022</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-26 23:45:53 -0800</bug_when>
    <thetext>Comment on attachment 176022
Addressed the comments. Thanks!

Addressed all the comments. Thanks!

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

&gt;&gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1222
&gt;&gt;&gt; +        expr_all_uppercase = r&apos;\s*[A-Z0-9_]+\s*(?:=\s*[0-9A-Za-z]+\s*)?,?\s*$&apos;
&gt;&gt; 
&gt;&gt; I suggest we add a FIXME comment above this line to explain that this regular expression and the regular expression for expr_enum_end only support integers and identifiers for the value of an enumerator, but this is sufficient for our needs at the time of writing (10/26/2012). That is, these regular expressions don&apos;t match all constant expressions.
&gt; 
&gt; *11/26/2012

Done.

&gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1224
&gt;&gt; +        expr_enum_end = r&apos;}\s*(?:[a-zA-Z0-9]+\s*(?:=\s*[a-zA-Z0-9]+)?)?\s*;\s*&apos;
&gt; 
&gt; Nit: For consistency, I suggest that we use the same ordering in characters classes. In particular, the ordering of the second character class in expr_enum_end ([a-zA-Z0-9]) differs from the ordering of second character class in expr_all_uppercase ([0-9A-Za-z]). We should pick an ordering for character classes and be consistent.

Done (went with [a-zA-Z0-9] since that seems to be used in a few places in this file)

&gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1227
&gt;&gt; +            if match(r&apos;\s*&apos; + expr_enum_end + &apos;$&apos;, line):
&gt; 
&gt; Although not necessary, you may want to consider prefixing the last string literal in this string concatenation with &apos;r&apos; to have Python treat it as a raw string.

Done.

&gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1234
&gt;&gt; +            if match(expr_enum_start + &apos;$&apos;, line):
&gt; 
&gt; Ditto.

Done.

&gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:1237
&gt;&gt; +                matched = match(expr_enum_start + &apos;(?P&lt;members&gt;.*)&apos; + expr_enum_end + &apos;$&apos;, line)
&gt; 
&gt; Although not necessary, you may want to consider prefixing both sting literals &apos;(?P&lt;members&gt;.*)&apos; and &apos;$&apos; with &apos;r&apos; to have Python treat them as raw strings.

Done.

&gt;&gt; Tools/Scripts/webkitpy/style/checkers/cpp.py:3548
&gt;&gt; +      enum_state: A _EnumState instance which maintains an enum delcaration
&gt; 
&gt; Nit: delcaration =&gt; declaration

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776417</commentid>
    <comment_count>16</comment_count>
      <attachid>176188</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-26 23:46:20 -0800</bug_when>
    <thetext>Comment on attachment 176188
Patch

Requesting cq?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>776445</commentid>
    <comment_count>17</comment_count>
      <attachid>176188</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-27 00:39:42 -0800</bug_when>
    <thetext>Comment on attachment 176188
Patch

Clearing flags on attachment: 176188

Committed r135832: &lt;http://trac.webkit.org/changeset/135832&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175831</attachid>
            <date>2012-11-23 11:46:01 -0800</date>
            <delta_ts>2012-11-25 16:06:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103157-20121123144345.patch</filename>
            <type>text/plain</type>
            <size>8980</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NTI1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTNiN2M5Nzk0NDU4ZDRkODMxYjdmMDliZGJkNjgwY2Y5
ZDdiZjk2Yi4uNDk5ZWVhMzM1Y2VjODgwMDZkMzk1Nzk0ZWY0ZjYyNzBiZDA3ODNjOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDEyLTExLTIzICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBbc3R5bGVdIEFkZCBhIHN0eWxlLWNoZWNrIGZvciBlbnVtLW1lbWJl
ciBuYW1lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAzMTU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weToKKyAgICAgICAgKF9FbnVt
U3RhdGUpOgorICAgICAgICAoX0VudW1TdGF0ZS5fX2luaXRfXyk6CisgICAgICAgIChfRW51bVN0
YXRlLnByb2Nlc3NfY2xlYW5fbGluZSk6CisgICAgICAgIChjaGVja19lbnVtX2Nhc2luZyk6Cisg
ICAgICAgIChjaGVja19zdHlsZSk6CisgICAgICAgIChwcm9jZXNzX2xpbmUpOgorICAgICAgICAo
X3Byb2Nlc3NfbGluZXMpOgorICAgICAgICAoQ3BwQ2hlY2tlcik6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHk6CisgICAgICAgIChOb05v
blZpcnR1YWxEZXN0cnVjdG9yc1Rlc3QudGVzdF9lbnVtX2Nhc2luZyk6CisgICAgICAgIChOb05v
blZpcnR1YWxEZXN0cnVjdG9yc1Rlc3QudGVzdF9pbnRlcm5hbF9icmFjZXMuRm9vKToKKwogMjAx
Mi0xMS0yMiAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBkaWdpYS5jb20+LCBQaWVy
cmUgUm9zc2kgPHBpZXJyZS5yb3NzaUBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBTZXBhcmF0
ZSBRV2lkZ2V0IGRlcGVuZGFudCBjb2RlIGludG8gc2VwYXJhdGUgV2ViS2l0V2lkZ2V0cyBzdGF0
aWMgbGlicmFyeQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVj
a2Vycy9jcHAucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5w
eQppbmRleCBmOWQ1MzRiOGMxYjkzYzkwMGM3ZTMyZjYxMDk2NmEzNjYxYTI5NWU2Li4wNzhiNDRi
NDkxM2U3ZjViOTAyNzBmNTJmOWZhNjIzMmE1ODQ5NTViIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQpAQCAtMTIxMCw2ICsxMjEwLDI1IEBAIGNsYXNz
IF9GaWxlU3RhdGUob2JqZWN0KToKICAgICAgICAgcmV0dXJuIHNlbGYuaXNfYygpIG9yIHNlbGYu
aXNfb2JqZWN0aXZlX2MoKQogCiAKK2NsYXNzIF9FbnVtU3RhdGUob2JqZWN0KToKKyAgICAiIiJI
b2xkcyB3aGV0aGVyIGN1cnJlbnRseSBpbiBhbiBlbnVtIGRlY2xhcmF0aW9uLiIiIgorCisgICAg
ZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICBzZWxmLmluX2VudW1fZGVjbCA9IEZhbHNlCisK
KyAgICBkZWYgcHJvY2Vzc19jbGVhbl9saW5lKHNlbGYsIGxpbmUpOgorICAgICAgICBpZiBzZWxm
LmluX2VudW1fZGVjbDoKKyAgICAgICAgICAgIGlmIG1hdGNoKHInXlxzKn07XHMqJCcsIGxpbmUp
OgorICAgICAgICAgICAgICAgIHNlbGYuaW5fZW51bV9kZWNsID0gRmFsc2UKKyAgICAgICAgICAg
IGVsaWYgbWF0Y2gocideXHMqW0EtWl9dKyw/XHMqJCcsIGxpbmUpOgorICAgICAgICAgICAgICAg
IHJldHVybiBGYWxzZQorICAgICAgICAgICAgZWxpZiBtYXRjaChyJ15ccypbYS16XScsIGxpbmUp
OgorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICBlbHNlOgorICAgICAgICAg
ICAgaWYgbWF0Y2gocideXHMqZW51bVxzK1thLXpBLVpdK1xzKlx7P1xzKiQnLCBsaW5lKToKKyAg
ICAgICAgICAgICAgICBzZWxmLmluX2VudW1fZGVjbCA9IFRydWUKKyAgICAgICAgcmV0dXJuIFRy
dWUKKwogZGVmIGNoZWNrX2Zvcl9ub25fc3RhbmRhcmRfY29uc3RydWN0cyhjbGVhbl9saW5lcywg
bGluZV9udW1iZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNz
X3N0YXRlLCBlcnJvcik6CiAgICAgIiIiTG9ncyBhbiBlcnJvciBpZiB3ZSBzZWUgY2VydGFpbiBu
b24tQU5TSSBjb25zdHJ1Y3RzIGlnbm9yZWQgYnkgZ2NjLTIuCkBAIC0yMDQwLDYgKzIwNTksMjEg
QEAgZGVmIGNoZWNrX25hbWVzcGFjZV9pbmRlbnRhdGlvbihjbGVhbl9saW5lcywgbGluZV9udW1i
ZXIsIGZpbGVfZXh0ZW5zaW9uLCBmaWxlX3MKICAgICAgICAgICAgIGJyZWFrOwogCiAKK2RlZiBj
aGVja19lbnVtX2Nhc2luZyhjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGVudW1fc3RhdGUsIGVy
cm9yKToKKyAgICAiIiJMb29rcyBmb3IgaW5jb3JyZWN0bHkgbmFtZWQgZW51bSB2YWx1ZXMuCisK
KyAgICBBcmdzOgorICAgICAgY2xlYW5fbGluZXM6IEEgQ2xlYW5zZWRMaW5lcyBpbnN0YW5jZSBj
b250YWluaW5nIHRoZSBmaWxlLgorICAgICAgbGluZV9udW1iZXI6IFRoZSBudW1iZXIgb2YgdGhl
IGxpbmUgdG8gY2hlY2suCisgICAgICBlbnVtX3N0YXRlOiBBIF9FbnVtU3RhdGUgaW5zdGFuY2Ug
d2hpY2ggbWFpbnRhaW5zIGVudW0gZGVjbGFyYXRpb24gc3RhdGUuCisgICAgICBlcnJvcjogVGhl
IGZ1bmN0aW9uIHRvIGNhbGwgd2l0aCBhbnkgZXJyb3JzIGZvdW5kLgorICAgICIiIgorCisgICAg
bGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtsaW5lX251bWJlcl0gICMgR2V0IHJpZCBvZiBjb21t
ZW50cyBhbmQgc3RyaW5ncy4KKyAgICBpZiBub3QgZW51bV9zdGF0ZS5wcm9jZXNzX2NsZWFuX2xp
bmUobGluZSk6CisgICAgICAgIGVycm9yKGxpbmVfbnVtYmVyLCAncmVhZGFiaWxpdHkvZW51bV9j
YXNpbmcnLCA0LAorICAgICAgICAgICAgICAnZW51bSBtZW1iZXJzIHNob3VsZCB1c2UgSW50ZXJD
YXBzIHdpdGggYW4gaW5pdGlhbCBjYXBpdGFsIGxldHRlci4nKQorCiBkZWYgY2hlY2tfZGlyZWN0
aXZlX2luZGVudGF0aW9uKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZmlsZV9zdGF0ZSwgZXJy
b3IpOgogICAgICIiIkxvb2tzIGZvciBpbmRlbnRhdGlvbiBvZiBwcmVwcm9jZXNzb3IgZGlyZWN0
aXZlcy4KIApAQCAtMjUzNSw3ICsyNTY5LDcgQEAgZGVmIGdldF9saW5lX3dpZHRoKGxpbmUpOgog
ICAgIHJldHVybiBsZW4obGluZSkKIAogCi1kZWYgY2hlY2tfc3R5bGUoY2xlYW5fbGluZXMsIGxp
bmVfbnVtYmVyLCBmaWxlX2V4dGVuc2lvbiwgY2xhc3Nfc3RhdGUsIGZpbGVfc3RhdGUsIGVycm9y
KToKK2RlZiBjaGVja19zdHlsZShjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZpbGVfZXh0ZW5z
aW9uLCBjbGFzc19zdGF0ZSwgZmlsZV9zdGF0ZSwgZW51bV9zdGF0ZSwgZXJyb3IpOgogICAgICIi
IkNoZWNrcyBydWxlcyBmcm9tIHRoZSAnQysrIHN0eWxlIHJ1bGVzJyBzZWN0aW9uIG9mIGNwcGd1
aWRlLmh0bWwuCiAKICAgICBNb3N0IG9mIHRoZXNlIHJ1bGVzIGFyZSBoYXJkIHRvIHRlc3QgKG5h
bWluZywgY29tbWVudCBzdHlsZSksIGJ1dCB3ZQpAQCAtMjU1MCw2ICsyNTg0LDcgQEAgZGVmIGNo
ZWNrX3N0eWxlKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZmlsZV9leHRlbnNpb24sIGNsYXNz
X3N0YXRlLCBmaWxlX3N0YXQKICAgICAgICAgICAgICAgICAgICB0aGUgY3VycmVudCBzdGFjayBv
ZiBuZXN0ZWQgY2xhc3MgZGVjbGFyYXRpb25zIGJlaW5nIHBhcnNlZC4KICAgICAgIGZpbGVfc3Rh
dGU6IEEgX0ZpbGVTdGF0ZSBpbnN0YW5jZSB3aGljaCBtYWludGFpbnMgaW5mb3JtYXRpb24gYWJv
dXQKICAgICAgICAgICAgICAgICAgIHRoZSBzdGF0ZSBvZiB0aGluZ3MgaW4gdGhlIGZpbGUuCisg
ICAgICBlbnVtX3N0YXRlOiBBIF9FbnVtU3RhdGUgaW5zdGFuY2Ugd2hpY2ggbWFpbnRhaW5zIHRo
ZSBjdXJyZW50IGVudW0gc3RhdGUuCiAgICAgICBlcnJvcjogVGhlIGZ1bmN0aW9uIHRvIGNhbGwg
d2l0aCBhbnkgZXJyb3JzIGZvdW5kLgogICAgICIiIgogCkBAIC0yNjA0LDYgKzI2MzksNyBAQCBk
ZWYgY2hlY2tfc3R5bGUoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmaWxlX2V4dGVuc2lvbiwg
Y2xhc3Nfc3RhdGUsIGZpbGVfc3RhdAogICAgIGNoZWNrX2Zvcl9jb21wYXJpc29uc190b196ZXJv
KGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZXJyb3IpCiAgICAgY2hlY2tfZm9yX251bGwoY2xl
YW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmaWxlX3N0YXRlLCBlcnJvcikKICAgICBjaGVja19pbmRl
bnRhdGlvbl9hbW91bnQoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBlcnJvcikKKyAgICBjaGVj
a19lbnVtX2Nhc2luZyhjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGVudW1fc3RhdGUsIGVycm9y
KQogCiAKIF9SRV9QQVRURVJOX0lOQ0xVREVfTkVXX1NUWUxFID0gcmUuY29tcGlsZShyJyNpbmNs
dWRlICsiW14vXStcLmgiJykKQEAgLTM0NzgsNyArMzUxNCw3IEBAIGRlZiBjaGVja19mb3JfaW5j
bHVkZV93aGF0X3lvdV91c2UoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBpbmNsdWRlX3N0YXRlLCBl
cnJvcik6CiAKIGRlZiBwcm9jZXNzX2xpbmUoZmlsZW5hbWUsIGZpbGVfZXh0ZW5zaW9uLAogICAg
ICAgICAgICAgICAgICBjbGVhbl9saW5lcywgbGluZSwgaW5jbHVkZV9zdGF0ZSwgZnVuY3Rpb25f
c3RhdGUsCi0gICAgICAgICAgICAgICAgIGNsYXNzX3N0YXRlLCBmaWxlX3N0YXRlLCBlcnJvcik6
CisgICAgICAgICAgICAgICAgIGNsYXNzX3N0YXRlLCBmaWxlX3N0YXRlLCBlbnVtX3N0YXRlLCBl
cnJvcik6CiAgICAgIiIiUHJvY2Vzc2VzIGEgc2luZ2xlIGxpbmUgaW4gdGhlIGZpbGUuCiAKICAg
ICBBcmdzOgpAQCAtMzQ5Myw2ICszNTI5LDggQEAgZGVmIHByb2Nlc3NfbGluZShmaWxlbmFtZSwg
ZmlsZV9leHRlbnNpb24sCiAgICAgICAgICAgICAgICAgICAgdGhlIGN1cnJlbnQgc3RhY2sgb2Yg
bmVzdGVkIGNsYXNzIGRlY2xhcmF0aW9ucyBiZWluZyBwYXJzZWQuCiAgICAgICBmaWxlX3N0YXRl
OiBBIF9GaWxlU3RhdGUgaW5zdGFuY2Ugd2hpY2ggbWFpbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0
CiAgICAgICAgICAgICAgICAgICB0aGUgc3RhdGUgb2YgdGhpbmdzIGluIHRoZSBmaWxlLgorICAg
ICAgZW51bV9zdGF0ZTogQSBfRW51bVN0YXRlIGluc3RhbmNlIHdoaWNoIG1haW50YWlucyBhbiBl
bnVtIGRlbGNhcmF0aW9uCisgICAgICAgICAgICAgICAgICBzdGF0ZS4KICAgICAgIGVycm9yOiBB
IGNhbGxhYmxlIHRvIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWQsIHdoaWNoIHRha2VzIGFyZ3Vt
ZW50czoKICAgICAgICAgICAgICBsaW5lIG51bWJlciwgZXJyb3IgbGV2ZWwsIGFuZCBtZXNzYWdl
CiAKQEAgLTM1MDgsNyArMzU0Niw3IEBAIGRlZiBwcm9jZXNzX2xpbmUoZmlsZW5hbWUsIGZpbGVf
ZXh0ZW5zaW9uLAogICAgIGNoZWNrX3Bhc3NfcHRyX3VzYWdlKGNsZWFuX2xpbmVzLCBsaW5lLCBm
dW5jdGlvbl9zdGF0ZSwgZXJyb3IpCiAgICAgY2hlY2tfZm9yX2xlYWt5X3BhdHRlcm5zKGNsZWFu
X2xpbmVzLCBsaW5lLCBmdW5jdGlvbl9zdGF0ZSwgZXJyb3IpCiAgICAgY2hlY2tfZm9yX211bHRp
bGluZV9jb21tZW50c19hbmRfc3RyaW5ncyhjbGVhbl9saW5lcywgbGluZSwgZXJyb3IpCi0gICAg
Y2hlY2tfc3R5bGUoY2xlYW5fbGluZXMsIGxpbmUsIGZpbGVfZXh0ZW5zaW9uLCBjbGFzc19zdGF0
ZSwgZmlsZV9zdGF0ZSwgZXJyb3IpCisgICAgY2hlY2tfc3R5bGUoY2xlYW5fbGluZXMsIGxpbmUs
IGZpbGVfZXh0ZW5zaW9uLCBjbGFzc19zdGF0ZSwgZmlsZV9zdGF0ZSwgZW51bV9zdGF0ZSwgZXJy
b3IpCiAgICAgY2hlY2tfbGFuZ3VhZ2UoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lLCBmaWxl
X2V4dGVuc2lvbiwgaW5jbHVkZV9zdGF0ZSwKICAgICAgICAgICAgICAgICAgICBmaWxlX3N0YXRl
LCBlcnJvcikKICAgICBjaGVja19mb3Jfbm9uX3N0YW5kYXJkX2NvbnN0cnVjdHMoY2xlYW5fbGlu
ZXMsIGxpbmUsIGNsYXNzX3N0YXRlLCBlcnJvcikKQEAgLTM1NDEsOSArMzU3OSwxMSBAQCBkZWYg
X3Byb2Nlc3NfbGluZXMoZmlsZW5hbWUsIGZpbGVfZXh0ZW5zaW9uLCBsaW5lcywgZXJyb3IsIG1p
bl9jb25maWRlbmNlKToKICAgICByZW1vdmVfbXVsdGlfbGluZV9jb21tZW50cyhsaW5lcywgZXJy
b3IpCiAgICAgY2xlYW5fbGluZXMgPSBDbGVhbnNlZExpbmVzKGxpbmVzKQogICAgIGZpbGVfc3Rh
dGUgPSBfRmlsZVN0YXRlKGNsZWFuX2xpbmVzLCBmaWxlX2V4dGVuc2lvbikKKyAgICBlbnVtX3N0
YXRlID0gX0VudW1TdGF0ZSgpCiAgICAgZm9yIGxpbmUgaW4geHJhbmdlKGNsZWFuX2xpbmVzLm51
bV9saW5lcygpKToKICAgICAgICAgcHJvY2Vzc19saW5lKGZpbGVuYW1lLCBmaWxlX2V4dGVuc2lv
biwgY2xlYW5fbGluZXMsIGxpbmUsCi0gICAgICAgICAgICAgICAgICAgICBpbmNsdWRlX3N0YXRl
LCBmdW5jdGlvbl9zdGF0ZSwgY2xhc3Nfc3RhdGUsIGZpbGVfc3RhdGUsIGVycm9yKQorICAgICAg
ICAgICAgICAgICAgICAgaW5jbHVkZV9zdGF0ZSwgZnVuY3Rpb25fc3RhdGUsIGNsYXNzX3N0YXRl
LCBmaWxlX3N0YXRlLAorICAgICAgICAgICAgICAgICAgICAgZW51bV9zdGF0ZSwgZXJyb3IpCiAg
ICAgY2xhc3Nfc3RhdGUuY2hlY2tfZmluaXNoZWQoZXJyb3IpCiAKICAgICBjaGVja19mb3JfaW5j
bHVkZV93aGF0X3lvdV91c2UoZmlsZW5hbWUsIGNsZWFuX2xpbmVzLCBpbmNsdWRlX3N0YXRlLCBl
cnJvcikKQEAgLTM1ODUsNiArMzYyNSw3IEBAIGNsYXNzIENwcENoZWNrZXIob2JqZWN0KToKICAg
ICAgICAgJ3JlYWRhYmlsaXR5L2NvbXBhcmlzb25fdG9femVybycsCiAgICAgICAgICdyZWFkYWJp
bGl0eS9jb25zdHJ1Y3RvcnMnLAogICAgICAgICAncmVhZGFiaWxpdHkvY29udHJvbF9mbG93JywK
KyAgICAgICAgJ3JlYWRhYmlsaXR5L2VudW1fY2FzaW5nJywKICAgICAgICAgJ3JlYWRhYmlsaXR5
L2ZuX3NpemUnLAogICAgICAgICAncmVhZGFiaWxpdHkvZnVuY3Rpb24nLAogICAgICAgICAncmVh
ZGFiaWxpdHkvbXVsdGlsaW5lX2NvbW1lbnQnLApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQppbmRleCA2ZGU3ZGY2MTk3OWRl
OTg5YjA0ZDZkOTg4NGZjMTlmMTA0YTM0MDc5Li5mNGEwMGE4ZTA0ZTczYTEzMWVjOThiNTlkOWE5
NzNlNGFiMDhjZDU1IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2No
ZWNrZXJzL2NwcF91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxl
L2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQpAQCAtMzI1OCw2ICszMjU4LDMyIEBAIGNsYXNzIE5v
Tm9uVmlydHVhbERlc3RydWN0b3JzVGVzdChDcHBTdHlsZVRlc3RCYXNlKToKICAgICAgICAgICAg
ICAgICB9OycnJywKICAgICAgICAgICAgICdUaGUgY2xhc3MgRm9vIHByb2JhYmx5IG5lZWRzIGEg
dmlydHVhbCBkZXN0cnVjdG9yJykKIAorICAgIGRlZiB0ZXN0X2VudW1fY2FzaW5nKHNlbGYpOgor
ICAgICAgICBzZWxmLmFzc2VydF9tdWx0aV9saW5lX2xpbnQoCisgICAgICAgICAgICAnJydcCisg
ICAgICAgICAgICAgICAgZW51bSBGb28geworICAgICAgICAgICAgICAgICAgICBGT09fT05FLAor
ICAgICAgICAgICAgICAgICAgICBGT09fVFdPCisgICAgICAgICAgICAgICAgfTsnJycsCisgICAg
ICAgICAgICBbJ2VudW0gbWVtYmVycyBzaG91bGQgdXNlIEludGVyQ2FwcyB3aXRoIGFuIGluaXRp
YWwgY2FwaXRhbCBsZXR0ZXIuICBbcmVhZGFiaWxpdHkvZW51bV9jYXNpbmddIFs0XScsCisgICAg
ICAgICAgICAgJ2VudW0gbWVtYmVycyBzaG91bGQgdXNlIEludGVyQ2FwcyB3aXRoIGFuIGluaXRp
YWwgY2FwaXRhbCBsZXR0ZXIuICBbcmVhZGFiaWxpdHkvZW51bV9jYXNpbmddIFs0XSddKQorCisg
ICAgICAgIHNlbGYuYXNzZXJ0X211bHRpX2xpbmVfbGludCgKKyAgICAgICAgICAgICcnJ1wKKyAg
ICAgICAgICAgICAgICBlbnVtIEZvbyB7CisgICAgICAgICAgICAgICAgICAgIGZvb09uZSwKKyAg
ICAgICAgICAgICAgICAgICAgRm9vVHdvCisgICAgICAgICAgICAgICAgfTsnJycsCisgICAgICAg
ICAgICAnZW51bSBtZW1iZXJzIHNob3VsZCB1c2UgSW50ZXJDYXBzIHdpdGggYW4gaW5pdGlhbCBj
YXBpdGFsIGxldHRlci4gIFtyZWFkYWJpbGl0eS9lbnVtX2Nhc2luZ10gWzRdJykKKworICAgICAg
ICBzZWxmLmFzc2VydF9tdWx0aV9saW5lX2xpbnQoCisgICAgICAgICAgICAnJydcCisgICAgICAg
ICAgICAgICAgZW51bSBGb28geworICAgICAgICAgICAgICAgICAgICBGb29PbmUsCisgICAgICAg
ICAgICAgICAgICAgIEZvb1R3bworICAgICAgICAgICAgICAgIH07JycnLAorICAgICAgICAgICAg
JycpCisKICAgICBkZWYgdGVzdF9kZXN0cnVjdG9yX25vbl92aXJ0dWFsX3doZW5fdmlydHVhbF9u
ZWVkZWQoc2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0X211bHRpX2xpbmVfbGludF9yZSgKICAg
ICAgICAgICAgICcnJ1wKQEAgLTMyODAsNyArMzMwNiw3IEBAIGNsYXNzIE5vTm9uVmlydHVhbERl
c3RydWN0b3JzVGVzdChDcHBTdHlsZVRlc3RCYXNlKToKICAgICAgICAgICAgICcnJ1wKICAgICAg
ICAgICAgICAgICBjbGFzcyBGb28gewogICAgICAgICAgICAgICAgICAgICBlbnVtIEdvbyB7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBHT08KKyAgICAgICAgICAgICAgICAgICAgICAgIEdvbwog
ICAgICAgICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsIHZvaWQg
Zm9vKCk7CiAgICAgICAgICAgICAgICAgfTsnJycsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175893</attachid>
            <date>2012-11-25 16:03:31 -0800</date>
            <delta_ts>2012-11-25 19:25:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103157-20121125190110.patch</filename>
            <type>text/plain</type>
            <size>9894</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NjIyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDZkMWNjYjI3MThkZjE0NTMyZDU4ODU0YWU3YmZiYjgz
ZGUyYmI1Yy4uZTA4YTgzMzAwZmNlMzMyOThlZDcxZjU2N2ViOGMwOTMwYTA0YTY1NyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDEyLTExLTI2ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBbc3R5bGVdIEFkZCBhIHN0eWxlLWNoZWNrIGZvciBlbnVtLW1lbWJl
ciBuYW1lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAzMTU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weToKKyAgICAgICAgKF9FbnVt
U3RhdGUpOgorICAgICAgICAoX0VudW1TdGF0ZS5fX2luaXRfXyk6CisgICAgICAgIChfRW51bVN0
YXRlLnByb2Nlc3NfY2xlYW5fbGluZSk6CisgICAgICAgIChjaGVja19lbnVtX2Nhc2luZyk6Cisg
ICAgICAgIChjaGVja19zdHlsZSk6CisgICAgICAgIChwcm9jZXNzX2xpbmUpOgorICAgICAgICAo
X3Byb2Nlc3NfbGluZXMpOgorICAgICAgICAoQ3BwQ2hlY2tlcik6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHk6CisgICAgICAgIChOb05v
blZpcnR1YWxEZXN0cnVjdG9yc1Rlc3QudGVzdF9lbnVtX2Nhc2luZyk6CisgICAgICAgIChOb05v
blZpcnR1YWxEZXN0cnVjdG9yc1Rlc3QudGVzdF9pbnRlcm5hbF9icmFjZXMuRm9vKToKKwogMjAx
Mi0xMS0yMyAgTWF0ZXVzeiBMZXN6a28gIDxtLmxlc3prb0BzYW1zdW5nLmNvbT4KIAogICAgICAg
ICBbRUZMXVtHVEtdIEFkYXB0IGFjY2Vzc2liaWxpdHkgZmVhdHVyZSB0byBXZWJLaXRUZXN0UnVu
bmVyLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9j
cHAucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQppbmRl
eCBmOWQ1MzRiOGMxYjkzYzkwMGM3ZTMyZjYxMDk2NmEzNjYxYTI5NWU2Li5kODMwYjk3YWZmZWRk
YjdhYmQwM2NiM2ZhNzVlODJlNTllZTI1ZjkzIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXJzL2NwcC5weQpAQCAtMTIxMCw2ICsxMjEwLDM5IEBAIGNsYXNzIF9GaWxl
U3RhdGUob2JqZWN0KToKICAgICAgICAgcmV0dXJuIHNlbGYuaXNfYygpIG9yIHNlbGYuaXNfb2Jq
ZWN0aXZlX2MoKQogCiAKK2NsYXNzIF9FbnVtU3RhdGUob2JqZWN0KToKKyAgICAiIiJNYWludGFp
bnMgd2hldGhlciBjdXJyZW50bHkgaW4gYW4gZW51bSBkZWNsYXJhdGlvbiwgYW5kIGNoZWNrcyB3
aGV0aGVyCisgICAgZW51bSBkZWNsYXJhdGlvbnMgZm9sbG93IHRoZSBzdHlsZSBndWlkZS4KKyAg
ICAiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5pbl9lbnVtX2Rl
Y2wgPSBGYWxzZQorCisgICAgZGVmIHByb2Nlc3NfY2xlYW5fbGluZShzZWxmLCBsaW5lKToKKyAg
ICAgICAgZXhwcl9hbGxfdXBwZXJjYXNlID0gcideXHMqW0EtWjAtOV9dK1xzKig9XHMqWzAtOUEt
WmEtel0rXHMqKT8sP1xzKiQnCisgICAgICAgIGV4cHJfc3RhcnRzX2xvd2VyY2FzZSA9IHInXlxz
KlthLXpdJworICAgICAgICBpZiBzZWxmLmluX2VudW1fZGVjbDoKKyAgICAgICAgICAgIGlmIG1h
dGNoKHInXlxzKn07XHMqJCcsIGxpbmUpOgorICAgICAgICAgICAgICAgIHNlbGYuaW5fZW51bV9k
ZWNsID0gRmFsc2UKKyAgICAgICAgICAgIGVsaWYgbWF0Y2goZXhwcl9hbGxfdXBwZXJjYXNlLCBs
aW5lKToKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgIGVsaWYgbWF0
Y2goZXhwcl9zdGFydHNfbG93ZXJjYXNlLCBsaW5lKToKKyAgICAgICAgICAgICAgICByZXR1cm4g
RmFsc2UKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlmIG1hdGNoKHInXlxzKmVudW0oXHMr
W2EtekEtWjAtOV0rKT9ccypcez9ccyokJywgbGluZSk6CisgICAgICAgICAgICAgICAgc2VsZi5p
bl9lbnVtX2RlY2wgPSBUcnVlCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG1h
dGNoZWQgPSBzZWFyY2gocideXHMqZW51bShccytbYS16QS1aMC05XSspP1xzKlx7KD9QPG1lbWJl
cnM+LiopXH1ccyo7XHMqJCcsIGxpbmUpCisgICAgICAgICAgICAgICAgaWYgbWF0Y2hlZDoKKyAg
ICAgICAgICAgICAgICAgICAgbWVtYmVycyA9IG1hdGNoZWQuZ3JvdXAoJ21lbWJlcnMnKS5zcGxp
dCgnLCcpCisgICAgICAgICAgICAgICAgICAgIGZvciBtZW1iZXIgaW4gbWVtYmVyczoKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIG1hdGNoKGV4cHJfYWxsX3VwcGVyY2FzZSwgbWVtYmVyKToK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIG1hdGNoKGV4cHJfc3RhcnRzX2xvd2VyY2FzZSwgbWVtYmVyKToKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIFRydWUKKwogZGVmIGNoZWNrX2Zvcl9ub25fc3Rh
bmRhcmRfY29uc3RydWN0cyhjbGVhbl9saW5lcywgbGluZV9udW1iZXIsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzX3N0YXRlLCBlcnJvcik6CiAgICAgIiIiTG9n
cyBhbiBlcnJvciBpZiB3ZSBzZWUgY2VydGFpbiBub24tQU5TSSBjb25zdHJ1Y3RzIGlnbm9yZWQg
YnkgZ2NjLTIuCkBAIC0yMDQwLDYgKzIwNzMsMjEgQEAgZGVmIGNoZWNrX25hbWVzcGFjZV9pbmRl
bnRhdGlvbihjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZpbGVfZXh0ZW5zaW9uLCBmaWxlX3MK
ICAgICAgICAgICAgIGJyZWFrOwogCiAKK2RlZiBjaGVja19lbnVtX2Nhc2luZyhjbGVhbl9saW5l
cywgbGluZV9udW1iZXIsIGVudW1fc3RhdGUsIGVycm9yKToKKyAgICAiIiJMb29rcyBmb3IgaW5j
b3JyZWN0bHkgbmFtZWQgZW51bSB2YWx1ZXMuCisKKyAgICBBcmdzOgorICAgICAgY2xlYW5fbGlu
ZXM6IEEgQ2xlYW5zZWRMaW5lcyBpbnN0YW5jZSBjb250YWluaW5nIHRoZSBmaWxlLgorICAgICAg
bGluZV9udW1iZXI6IFRoZSBudW1iZXIgb2YgdGhlIGxpbmUgdG8gY2hlY2suCisgICAgICBlbnVt
X3N0YXRlOiBBIF9FbnVtU3RhdGUgaW5zdGFuY2Ugd2hpY2ggbWFpbnRhaW5zIGVudW0gZGVjbGFy
YXRpb24gc3RhdGUuCisgICAgICBlcnJvcjogVGhlIGZ1bmN0aW9uIHRvIGNhbGwgd2l0aCBhbnkg
ZXJyb3JzIGZvdW5kLgorICAgICIiIgorCisgICAgbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFts
aW5lX251bWJlcl0gICMgR2V0IHJpZCBvZiBjb21tZW50cyBhbmQgc3RyaW5ncy4KKyAgICBpZiBu
b3QgZW51bV9zdGF0ZS5wcm9jZXNzX2NsZWFuX2xpbmUobGluZSk6CisgICAgICAgIGVycm9yKGxp
bmVfbnVtYmVyLCAncmVhZGFiaWxpdHkvZW51bV9jYXNpbmcnLCA0LAorICAgICAgICAgICAgICAn
ZW51bSBtZW1iZXJzIHNob3VsZCB1c2UgSW50ZXJDYXBzIHdpdGggYW4gaW5pdGlhbCBjYXBpdGFs
IGxldHRlci4nKQorCiBkZWYgY2hlY2tfZGlyZWN0aXZlX2luZGVudGF0aW9uKGNsZWFuX2xpbmVz
LCBsaW5lX251bWJlciwgZmlsZV9zdGF0ZSwgZXJyb3IpOgogICAgICIiIkxvb2tzIGZvciBpbmRl
bnRhdGlvbiBvZiBwcmVwcm9jZXNzb3IgZGlyZWN0aXZlcy4KIApAQCAtMjUzNSw3ICsyNTgzLDcg
QEAgZGVmIGdldF9saW5lX3dpZHRoKGxpbmUpOgogICAgIHJldHVybiBsZW4obGluZSkKIAogCi1k
ZWYgY2hlY2tfc3R5bGUoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmaWxlX2V4dGVuc2lvbiwg
Y2xhc3Nfc3RhdGUsIGZpbGVfc3RhdGUsIGVycm9yKToKK2RlZiBjaGVja19zdHlsZShjbGVhbl9s
aW5lcywgbGluZV9udW1iZXIsIGZpbGVfZXh0ZW5zaW9uLCBjbGFzc19zdGF0ZSwgZmlsZV9zdGF0
ZSwgZW51bV9zdGF0ZSwgZXJyb3IpOgogICAgICIiIkNoZWNrcyBydWxlcyBmcm9tIHRoZSAnQysr
IHN0eWxlIHJ1bGVzJyBzZWN0aW9uIG9mIGNwcGd1aWRlLmh0bWwuCiAKICAgICBNb3N0IG9mIHRo
ZXNlIHJ1bGVzIGFyZSBoYXJkIHRvIHRlc3QgKG5hbWluZywgY29tbWVudCBzdHlsZSksIGJ1dCB3
ZQpAQCAtMjU1MCw2ICsyNTk4LDcgQEAgZGVmIGNoZWNrX3N0eWxlKGNsZWFuX2xpbmVzLCBsaW5l
X251bWJlciwgZmlsZV9leHRlbnNpb24sIGNsYXNzX3N0YXRlLCBmaWxlX3N0YXQKICAgICAgICAg
ICAgICAgICAgICB0aGUgY3VycmVudCBzdGFjayBvZiBuZXN0ZWQgY2xhc3MgZGVjbGFyYXRpb25z
IGJlaW5nIHBhcnNlZC4KICAgICAgIGZpbGVfc3RhdGU6IEEgX0ZpbGVTdGF0ZSBpbnN0YW5jZSB3
aGljaCBtYWludGFpbnMgaW5mb3JtYXRpb24gYWJvdXQKICAgICAgICAgICAgICAgICAgIHRoZSBz
dGF0ZSBvZiB0aGluZ3MgaW4gdGhlIGZpbGUuCisgICAgICBlbnVtX3N0YXRlOiBBIF9FbnVtU3Rh
dGUgaW5zdGFuY2Ugd2hpY2ggbWFpbnRhaW5zIHRoZSBjdXJyZW50IGVudW0gc3RhdGUuCiAgICAg
ICBlcnJvcjogVGhlIGZ1bmN0aW9uIHRvIGNhbGwgd2l0aCBhbnkgZXJyb3JzIGZvdW5kLgogICAg
ICIiIgogCkBAIC0yNjA0LDYgKzI2NTMsNyBAQCBkZWYgY2hlY2tfc3R5bGUoY2xlYW5fbGluZXMs
IGxpbmVfbnVtYmVyLCBmaWxlX2V4dGVuc2lvbiwgY2xhc3Nfc3RhdGUsIGZpbGVfc3RhdAogICAg
IGNoZWNrX2Zvcl9jb21wYXJpc29uc190b196ZXJvKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwg
ZXJyb3IpCiAgICAgY2hlY2tfZm9yX251bGwoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmaWxl
X3N0YXRlLCBlcnJvcikKICAgICBjaGVja19pbmRlbnRhdGlvbl9hbW91bnQoY2xlYW5fbGluZXMs
IGxpbmVfbnVtYmVyLCBlcnJvcikKKyAgICBjaGVja19lbnVtX2Nhc2luZyhjbGVhbl9saW5lcywg
bGluZV9udW1iZXIsIGVudW1fc3RhdGUsIGVycm9yKQogCiAKIF9SRV9QQVRURVJOX0lOQ0xVREVf
TkVXX1NUWUxFID0gcmUuY29tcGlsZShyJyNpbmNsdWRlICsiW14vXStcLmgiJykKQEAgLTM0Nzgs
NyArMzUyOCw3IEBAIGRlZiBjaGVja19mb3JfaW5jbHVkZV93aGF0X3lvdV91c2UoZmlsZW5hbWUs
IGNsZWFuX2xpbmVzLCBpbmNsdWRlX3N0YXRlLCBlcnJvcik6CiAKIGRlZiBwcm9jZXNzX2xpbmUo
ZmlsZW5hbWUsIGZpbGVfZXh0ZW5zaW9uLAogICAgICAgICAgICAgICAgICBjbGVhbl9saW5lcywg
bGluZSwgaW5jbHVkZV9zdGF0ZSwgZnVuY3Rpb25fc3RhdGUsCi0gICAgICAgICAgICAgICAgIGNs
YXNzX3N0YXRlLCBmaWxlX3N0YXRlLCBlcnJvcik6CisgICAgICAgICAgICAgICAgIGNsYXNzX3N0
YXRlLCBmaWxlX3N0YXRlLCBlbnVtX3N0YXRlLCBlcnJvcik6CiAgICAgIiIiUHJvY2Vzc2VzIGEg
c2luZ2xlIGxpbmUgaW4gdGhlIGZpbGUuCiAKICAgICBBcmdzOgpAQCAtMzQ5Myw2ICszNTQzLDgg
QEAgZGVmIHByb2Nlc3NfbGluZShmaWxlbmFtZSwgZmlsZV9leHRlbnNpb24sCiAgICAgICAgICAg
ICAgICAgICAgdGhlIGN1cnJlbnQgc3RhY2sgb2YgbmVzdGVkIGNsYXNzIGRlY2xhcmF0aW9ucyBi
ZWluZyBwYXJzZWQuCiAgICAgICBmaWxlX3N0YXRlOiBBIF9GaWxlU3RhdGUgaW5zdGFuY2Ugd2hp
Y2ggbWFpbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0CiAgICAgICAgICAgICAgICAgICB0aGUgc3Rh
dGUgb2YgdGhpbmdzIGluIHRoZSBmaWxlLgorICAgICAgZW51bV9zdGF0ZTogQSBfRW51bVN0YXRl
IGluc3RhbmNlIHdoaWNoIG1haW50YWlucyBhbiBlbnVtIGRlbGNhcmF0aW9uCisgICAgICAgICAg
ICAgICAgICBzdGF0ZS4KICAgICAgIGVycm9yOiBBIGNhbGxhYmxlIHRvIHdoaWNoIGVycm9ycyBh
cmUgcmVwb3J0ZWQsIHdoaWNoIHRha2VzIGFyZ3VtZW50czoKICAgICAgICAgICAgICBsaW5lIG51
bWJlciwgZXJyb3IgbGV2ZWwsIGFuZCBtZXNzYWdlCiAKQEAgLTM1MDgsNyArMzU2MCw3IEBAIGRl
ZiBwcm9jZXNzX2xpbmUoZmlsZW5hbWUsIGZpbGVfZXh0ZW5zaW9uLAogICAgIGNoZWNrX3Bhc3Nf
cHRyX3VzYWdlKGNsZWFuX2xpbmVzLCBsaW5lLCBmdW5jdGlvbl9zdGF0ZSwgZXJyb3IpCiAgICAg
Y2hlY2tfZm9yX2xlYWt5X3BhdHRlcm5zKGNsZWFuX2xpbmVzLCBsaW5lLCBmdW5jdGlvbl9zdGF0
ZSwgZXJyb3IpCiAgICAgY2hlY2tfZm9yX211bHRpbGluZV9jb21tZW50c19hbmRfc3RyaW5ncyhj
bGVhbl9saW5lcywgbGluZSwgZXJyb3IpCi0gICAgY2hlY2tfc3R5bGUoY2xlYW5fbGluZXMsIGxp
bmUsIGZpbGVfZXh0ZW5zaW9uLCBjbGFzc19zdGF0ZSwgZmlsZV9zdGF0ZSwgZXJyb3IpCisgICAg
Y2hlY2tfc3R5bGUoY2xlYW5fbGluZXMsIGxpbmUsIGZpbGVfZXh0ZW5zaW9uLCBjbGFzc19zdGF0
ZSwgZmlsZV9zdGF0ZSwgZW51bV9zdGF0ZSwgZXJyb3IpCiAgICAgY2hlY2tfbGFuZ3VhZ2UoZmls
ZW5hbWUsIGNsZWFuX2xpbmVzLCBsaW5lLCBmaWxlX2V4dGVuc2lvbiwgaW5jbHVkZV9zdGF0ZSwK
ICAgICAgICAgICAgICAgICAgICBmaWxlX3N0YXRlLCBlcnJvcikKICAgICBjaGVja19mb3Jfbm9u
X3N0YW5kYXJkX2NvbnN0cnVjdHMoY2xlYW5fbGluZXMsIGxpbmUsIGNsYXNzX3N0YXRlLCBlcnJv
cikKQEAgLTM1NDEsOSArMzU5MywxMSBAQCBkZWYgX3Byb2Nlc3NfbGluZXMoZmlsZW5hbWUsIGZp
bGVfZXh0ZW5zaW9uLCBsaW5lcywgZXJyb3IsIG1pbl9jb25maWRlbmNlKToKICAgICByZW1vdmVf
bXVsdGlfbGluZV9jb21tZW50cyhsaW5lcywgZXJyb3IpCiAgICAgY2xlYW5fbGluZXMgPSBDbGVh
bnNlZExpbmVzKGxpbmVzKQogICAgIGZpbGVfc3RhdGUgPSBfRmlsZVN0YXRlKGNsZWFuX2xpbmVz
LCBmaWxlX2V4dGVuc2lvbikKKyAgICBlbnVtX3N0YXRlID0gX0VudW1TdGF0ZSgpCiAgICAgZm9y
IGxpbmUgaW4geHJhbmdlKGNsZWFuX2xpbmVzLm51bV9saW5lcygpKToKICAgICAgICAgcHJvY2Vz
c19saW5lKGZpbGVuYW1lLCBmaWxlX2V4dGVuc2lvbiwgY2xlYW5fbGluZXMsIGxpbmUsCi0gICAg
ICAgICAgICAgICAgICAgICBpbmNsdWRlX3N0YXRlLCBmdW5jdGlvbl9zdGF0ZSwgY2xhc3Nfc3Rh
dGUsIGZpbGVfc3RhdGUsIGVycm9yKQorICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9zdGF0
ZSwgZnVuY3Rpb25fc3RhdGUsIGNsYXNzX3N0YXRlLCBmaWxlX3N0YXRlLAorICAgICAgICAgICAg
ICAgICAgICAgZW51bV9zdGF0ZSwgZXJyb3IpCiAgICAgY2xhc3Nfc3RhdGUuY2hlY2tfZmluaXNo
ZWQoZXJyb3IpCiAKICAgICBjaGVja19mb3JfaW5jbHVkZV93aGF0X3lvdV91c2UoZmlsZW5hbWUs
IGNsZWFuX2xpbmVzLCBpbmNsdWRlX3N0YXRlLCBlcnJvcikKQEAgLTM1ODUsNiArMzYzOSw3IEBA
IGNsYXNzIENwcENoZWNrZXIob2JqZWN0KToKICAgICAgICAgJ3JlYWRhYmlsaXR5L2NvbXBhcmlz
b25fdG9femVybycsCiAgICAgICAgICdyZWFkYWJpbGl0eS9jb25zdHJ1Y3RvcnMnLAogICAgICAg
ICAncmVhZGFiaWxpdHkvY29udHJvbF9mbG93JywKKyAgICAgICAgJ3JlYWRhYmlsaXR5L2VudW1f
Y2FzaW5nJywKICAgICAgICAgJ3JlYWRhYmlsaXR5L2ZuX3NpemUnLAogICAgICAgICAncmVhZGFi
aWxpdHkvZnVuY3Rpb24nLAogICAgICAgICAncmVhZGFiaWxpdHkvbXVsdGlsaW5lX2NvbW1lbnQn
LApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBf
dW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91
bml0dGVzdC5weQppbmRleCA2ZGU3ZGY2MTk3OWRlOTg5YjA0ZDZkOTg4NGZjMTlmMTA0YTM0MDc5
Li44YTJhODQxMjc3YTQwNWE3MDdmNDEyYTdlMTY1NjU2M2U1NzRkZWVmIDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQorKysg
Yi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQpA
QCAtMzI1OCw2ICszMjU4LDQyIEBAIGNsYXNzIE5vTm9uVmlydHVhbERlc3RydWN0b3JzVGVzdChD
cHBTdHlsZVRlc3RCYXNlKToKICAgICAgICAgICAgICAgICB9OycnJywKICAgICAgICAgICAgICdU
aGUgY2xhc3MgRm9vIHByb2JhYmx5IG5lZWRzIGEgdmlydHVhbCBkZXN0cnVjdG9yJykKIAorICAg
IGRlZiB0ZXN0X2VudW1fY2FzaW5nKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydF9tdWx0aV9s
aW5lX2xpbnQoCisgICAgICAgICAgICAnJydcCisgICAgICAgICAgICAgICAgZW51bSBGb28gewor
ICAgICAgICAgICAgICAgICAgICBGT09fT05FID0gMSwKKyAgICAgICAgICAgICAgICAgICAgRk9P
X1RXTworICAgICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgZW51bSB7IEZPT19PTkUg
fTsKKyAgICAgICAgICAgICAgICBlbnVtIHtGb29PbmUsIGZvb1R3b307CisgICAgICAgICAgICAg
ICAgZW51bSB7CisgICAgICAgICAgICAgICAgICAgIEZPT19PTkUKKyAgICAgICAgICAgICAgICB9
OycnJywKKyAgICAgICAgICAgIFsnZW51bSBtZW1iZXJzIHNob3VsZCB1c2UgSW50ZXJDYXBzIHdp
dGggYW4gaW5pdGlhbCBjYXBpdGFsIGxldHRlci4gIFtyZWFkYWJpbGl0eS9lbnVtX2Nhc2luZ10g
WzRdJ10gKiA1KQorCisgICAgICAgIHNlbGYuYXNzZXJ0X211bHRpX2xpbmVfbGludCgKKyAgICAg
ICAgICAgICcnJ1wKKyAgICAgICAgICAgICAgICBlbnVtIEZvbyB7CisgICAgICAgICAgICAgICAg
ICAgIGZvb09uZSA9IDEsCisgICAgICAgICAgICAgICAgICAgIEZvb1R3byA9IDIKKyAgICAgICAg
ICAgICAgICB9OycnJywKKyAgICAgICAgICAgICdlbnVtIG1lbWJlcnMgc2hvdWxkIHVzZSBJbnRl
ckNhcHMgd2l0aCBhbiBpbml0aWFsIGNhcGl0YWwgbGV0dGVyLiAgW3JlYWRhYmlsaXR5L2VudW1f
Y2FzaW5nXSBbNF0nKQorCisgICAgICAgIHNlbGYuYXNzZXJ0X211bHRpX2xpbmVfbGludCgKKyAg
ICAgICAgICAgICcnJ1wKKyAgICAgICAgICAgICAgICBlbnVtIEZvbyB7CisgICAgICAgICAgICAg
ICAgICAgIEZvb09uZSA9IDEsCisgICAgICAgICAgICAgICAgICAgIEZvb1R3bworICAgICAgICAg
ICAgICAgIH07CisgICAgICAgICAgICAgICAgZW51bSB7IEZvb09uZSwgRm9vVHdvIH07CisgICAg
ICAgICAgICAgICAgZW51bSB7IEZvb09uZT0gRm9vVHdvIH07CisgICAgICAgICAgICAgICAgZW51
bSBFbnVtMTIzIHsKKyAgICAgICAgICAgICAgICAgICAgRm9vT25lLAorICAgICAgICAgICAgICAg
ICAgICBGb29Ud28gPSBGb29PbmUsCisgICAgICAgICAgICAgICAgfTsnJycsCisgICAgICAgICAg
ICAnJykKKwogICAgIGRlZiB0ZXN0X2Rlc3RydWN0b3Jfbm9uX3ZpcnR1YWxfd2hlbl92aXJ0dWFs
X25lZWRlZChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRfbXVsdGlfbGluZV9saW50X3JlKAog
ICAgICAgICAgICAgJycnXApAQCAtMzI4MCw3ICszMzE2LDcgQEAgY2xhc3MgTm9Ob25WaXJ0dWFs
RGVzdHJ1Y3RvcnNUZXN0KENwcFN0eWxlVGVzdEJhc2UpOgogICAgICAgICAgICAgJycnXAogICAg
ICAgICAgICAgICAgIGNsYXNzIEZvbyB7CiAgICAgICAgICAgICAgICAgICAgIGVudW0gR29vIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIEdPTworICAgICAgICAgICAgICAgICAgICAgICAgR29v
CiAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAgIHZpcnR1YWwgdm9p
ZCBmb28oKTsKICAgICAgICAgICAgICAgICB9OycnJywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175913</attachid>
            <date>2012-11-25 19:25:11 -0800</date>
            <delta_ts>2012-11-26 09:46:25 -0800</delta_ts>
            <desc>Update for another valid syntax.</desc>
            <filename>bug-103157-20121125222251.patch</filename>
            <type>text/plain</type>
            <size>10077</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NjIyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDZkMWNjYjI3MThkZjE0NTMyZDU4ODU0YWU3YmZiYjgz
ZGUyYmI1Yy4uZTA4YTgzMzAwZmNlMzMyOThlZDcxZjU2N2ViOGMwOTMwYTA0YTY1NyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDEyLTExLTI2ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBbc3R5bGVdIEFkZCBhIHN0eWxlLWNoZWNrIGZvciBlbnVtLW1lbWJl
ciBuYW1lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAzMTU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weToKKyAgICAgICAgKF9FbnVt
U3RhdGUpOgorICAgICAgICAoX0VudW1TdGF0ZS5fX2luaXRfXyk6CisgICAgICAgIChfRW51bVN0
YXRlLnByb2Nlc3NfY2xlYW5fbGluZSk6CisgICAgICAgIChjaGVja19lbnVtX2Nhc2luZyk6Cisg
ICAgICAgIChjaGVja19zdHlsZSk6CisgICAgICAgIChwcm9jZXNzX2xpbmUpOgorICAgICAgICAo
X3Byb2Nlc3NfbGluZXMpOgorICAgICAgICAoQ3BwQ2hlY2tlcik6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHk6CisgICAgICAgIChOb05v
blZpcnR1YWxEZXN0cnVjdG9yc1Rlc3QudGVzdF9lbnVtX2Nhc2luZyk6CisgICAgICAgIChOb05v
blZpcnR1YWxEZXN0cnVjdG9yc1Rlc3QudGVzdF9pbnRlcm5hbF9icmFjZXMuRm9vKToKKwogMjAx
Mi0xMS0yMyAgTWF0ZXVzeiBMZXN6a28gIDxtLmxlc3prb0BzYW1zdW5nLmNvbT4KIAogICAgICAg
ICBbRUZMXVtHVEtdIEFkYXB0IGFjY2Vzc2liaWxpdHkgZmVhdHVyZSB0byBXZWJLaXRUZXN0UnVu
bmVyLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9j
cHAucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQppbmRl
eCBmOWQ1MzRiOGMxYjkzYzkwMGM3ZTMyZjYxMDk2NmEzNjYxYTI5NWU2Li5mNzNjM2Y4YjMyZWE5
MTM4Y2IzZWYzMWRjYmUwNzA5M2YyZGNkZGI5IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXJzL2NwcC5weQpAQCAtMTIxMCw2ICsxMjEwLDQwIEBAIGNsYXNzIF9GaWxl
U3RhdGUob2JqZWN0KToKICAgICAgICAgcmV0dXJuIHNlbGYuaXNfYygpIG9yIHNlbGYuaXNfb2Jq
ZWN0aXZlX2MoKQogCiAKK2NsYXNzIF9FbnVtU3RhdGUob2JqZWN0KToKKyAgICAiIiJNYWludGFp
bnMgd2hldGhlciBjdXJyZW50bHkgaW4gYW4gZW51bSBkZWNsYXJhdGlvbiwgYW5kIGNoZWNrcyB3
aGV0aGVyCisgICAgZW51bSBkZWNsYXJhdGlvbnMgZm9sbG93IHRoZSBzdHlsZSBndWlkZS4KKyAg
ICAiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5pbl9lbnVtX2Rl
Y2wgPSBGYWxzZQorCisgICAgZGVmIHByb2Nlc3NfY2xlYW5fbGluZShzZWxmLCBsaW5lKToKKyAg
ICAgICAgZXhwcl9hbGxfdXBwZXJjYXNlID0gcideXHMqW0EtWjAtOV9dK1xzKig9XHMqWzAtOUEt
WmEtel0rXHMqKT8sP1xzKiQnCisgICAgICAgIGV4cHJfc3RhcnRzX2xvd2VyY2FzZSA9IHInXlxz
KlthLXpdJworICAgICAgICBleHByX2VudW1fZW5kID0gcid9XHMqKFthLXpBLVowLTldK1xzKig9
XHMqW2EtekEtWjAtOV0rKT8pP1xzKjtccyonCisgICAgICAgIGlmIHNlbGYuaW5fZW51bV9kZWNs
OgorICAgICAgICAgICAgaWYgbWF0Y2gocideXHMqJyArIGV4cHJfZW51bV9lbmQgKyAnJCcsIGxp
bmUpOgorICAgICAgICAgICAgICAgIHNlbGYuaW5fZW51bV9kZWNsID0gRmFsc2UKKyAgICAgICAg
ICAgIGVsaWYgbWF0Y2goZXhwcl9hbGxfdXBwZXJjYXNlLCBsaW5lKToKKyAgICAgICAgICAgICAg
ICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgIGVsaWYgbWF0Y2goZXhwcl9zdGFydHNfbG93ZXJj
YXNlLCBsaW5lKToKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgZWxzZToK
KyAgICAgICAgICAgIGlmIG1hdGNoKHInXlxzKmVudW0oXHMrW2EtekEtWjAtOV0rKT9ccypcez9c
cyokJywgbGluZSk6CisgICAgICAgICAgICAgICAgc2VsZi5pbl9lbnVtX2RlY2wgPSBUcnVlCisg
ICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIG1hdGNoZWQgPSBzZWFyY2gocideXHMq
ZW51bShccytbYS16QS1aMC05XSspP1xzKlx7KD9QPG1lbWJlcnM+LiopJyArIGV4cHJfZW51bV9l
bmQgKyAnJCcsIGxpbmUpCisgICAgICAgICAgICAgICAgaWYgbWF0Y2hlZDoKKyAgICAgICAgICAg
ICAgICAgICAgbWVtYmVycyA9IG1hdGNoZWQuZ3JvdXAoJ21lbWJlcnMnKS5zcGxpdCgnLCcpCisg
ICAgICAgICAgICAgICAgICAgIGZvciBtZW1iZXIgaW4gbWVtYmVyczoKKyAgICAgICAgICAgICAg
ICAgICAgICAgIGlmIG1hdGNoKGV4cHJfYWxsX3VwcGVyY2FzZSwgbWVtYmVyKToKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgICAgICAgICAgICAg
IGlmIG1hdGNoKGV4cHJfc3RhcnRzX2xvd2VyY2FzZSwgbWVtYmVyKToKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFRy
dWUKKyAgICAgICAgcmV0dXJuIFRydWUKKwogZGVmIGNoZWNrX2Zvcl9ub25fc3RhbmRhcmRfY29u
c3RydWN0cyhjbGVhbl9saW5lcywgbGluZV9udW1iZXIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNsYXNzX3N0YXRlLCBlcnJvcik6CiAgICAgIiIiTG9ncyBhbiBlcnJv
ciBpZiB3ZSBzZWUgY2VydGFpbiBub24tQU5TSSBjb25zdHJ1Y3RzIGlnbm9yZWQgYnkgZ2NjLTIu
CkBAIC0yMDQwLDYgKzIwNzQsMjEgQEAgZGVmIGNoZWNrX25hbWVzcGFjZV9pbmRlbnRhdGlvbihj
bGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZpbGVfZXh0ZW5zaW9uLCBmaWxlX3MKICAgICAgICAg
ICAgIGJyZWFrOwogCiAKK2RlZiBjaGVja19lbnVtX2Nhc2luZyhjbGVhbl9saW5lcywgbGluZV9u
dW1iZXIsIGVudW1fc3RhdGUsIGVycm9yKToKKyAgICAiIiJMb29rcyBmb3IgaW5jb3JyZWN0bHkg
bmFtZWQgZW51bSB2YWx1ZXMuCisKKyAgICBBcmdzOgorICAgICAgY2xlYW5fbGluZXM6IEEgQ2xl
YW5zZWRMaW5lcyBpbnN0YW5jZSBjb250YWluaW5nIHRoZSBmaWxlLgorICAgICAgbGluZV9udW1i
ZXI6IFRoZSBudW1iZXIgb2YgdGhlIGxpbmUgdG8gY2hlY2suCisgICAgICBlbnVtX3N0YXRlOiBB
IF9FbnVtU3RhdGUgaW5zdGFuY2Ugd2hpY2ggbWFpbnRhaW5zIGVudW0gZGVjbGFyYXRpb24gc3Rh
dGUuCisgICAgICBlcnJvcjogVGhlIGZ1bmN0aW9uIHRvIGNhbGwgd2l0aCBhbnkgZXJyb3JzIGZv
dW5kLgorICAgICIiIgorCisgICAgbGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtsaW5lX251bWJl
cl0gICMgR2V0IHJpZCBvZiBjb21tZW50cyBhbmQgc3RyaW5ncy4KKyAgICBpZiBub3QgZW51bV9z
dGF0ZS5wcm9jZXNzX2NsZWFuX2xpbmUobGluZSk6CisgICAgICAgIGVycm9yKGxpbmVfbnVtYmVy
LCAncmVhZGFiaWxpdHkvZW51bV9jYXNpbmcnLCA0LAorICAgICAgICAgICAgICAnZW51bSBtZW1i
ZXJzIHNob3VsZCB1c2UgSW50ZXJDYXBzIHdpdGggYW4gaW5pdGlhbCBjYXBpdGFsIGxldHRlci4n
KQorCiBkZWYgY2hlY2tfZGlyZWN0aXZlX2luZGVudGF0aW9uKGNsZWFuX2xpbmVzLCBsaW5lX251
bWJlciwgZmlsZV9zdGF0ZSwgZXJyb3IpOgogICAgICIiIkxvb2tzIGZvciBpbmRlbnRhdGlvbiBv
ZiBwcmVwcm9jZXNzb3IgZGlyZWN0aXZlcy4KIApAQCAtMjUzNSw3ICsyNTg0LDcgQEAgZGVmIGdl
dF9saW5lX3dpZHRoKGxpbmUpOgogICAgIHJldHVybiBsZW4obGluZSkKIAogCi1kZWYgY2hlY2tf
c3R5bGUoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmaWxlX2V4dGVuc2lvbiwgY2xhc3Nfc3Rh
dGUsIGZpbGVfc3RhdGUsIGVycm9yKToKK2RlZiBjaGVja19zdHlsZShjbGVhbl9saW5lcywgbGlu
ZV9udW1iZXIsIGZpbGVfZXh0ZW5zaW9uLCBjbGFzc19zdGF0ZSwgZmlsZV9zdGF0ZSwgZW51bV9z
dGF0ZSwgZXJyb3IpOgogICAgICIiIkNoZWNrcyBydWxlcyBmcm9tIHRoZSAnQysrIHN0eWxlIHJ1
bGVzJyBzZWN0aW9uIG9mIGNwcGd1aWRlLmh0bWwuCiAKICAgICBNb3N0IG9mIHRoZXNlIHJ1bGVz
IGFyZSBoYXJkIHRvIHRlc3QgKG5hbWluZywgY29tbWVudCBzdHlsZSksIGJ1dCB3ZQpAQCAtMjU1
MCw2ICsyNTk5LDcgQEAgZGVmIGNoZWNrX3N0eWxlKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwg
ZmlsZV9leHRlbnNpb24sIGNsYXNzX3N0YXRlLCBmaWxlX3N0YXQKICAgICAgICAgICAgICAgICAg
ICB0aGUgY3VycmVudCBzdGFjayBvZiBuZXN0ZWQgY2xhc3MgZGVjbGFyYXRpb25zIGJlaW5nIHBh
cnNlZC4KICAgICAgIGZpbGVfc3RhdGU6IEEgX0ZpbGVTdGF0ZSBpbnN0YW5jZSB3aGljaCBtYWlu
dGFpbnMgaW5mb3JtYXRpb24gYWJvdXQKICAgICAgICAgICAgICAgICAgIHRoZSBzdGF0ZSBvZiB0
aGluZ3MgaW4gdGhlIGZpbGUuCisgICAgICBlbnVtX3N0YXRlOiBBIF9FbnVtU3RhdGUgaW5zdGFu
Y2Ugd2hpY2ggbWFpbnRhaW5zIHRoZSBjdXJyZW50IGVudW0gc3RhdGUuCiAgICAgICBlcnJvcjog
VGhlIGZ1bmN0aW9uIHRvIGNhbGwgd2l0aCBhbnkgZXJyb3JzIGZvdW5kLgogICAgICIiIgogCkBA
IC0yNjA0LDYgKzI2NTQsNyBAQCBkZWYgY2hlY2tfc3R5bGUoY2xlYW5fbGluZXMsIGxpbmVfbnVt
YmVyLCBmaWxlX2V4dGVuc2lvbiwgY2xhc3Nfc3RhdGUsIGZpbGVfc3RhdAogICAgIGNoZWNrX2Zv
cl9jb21wYXJpc29uc190b196ZXJvKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZXJyb3IpCiAg
ICAgY2hlY2tfZm9yX251bGwoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmaWxlX3N0YXRlLCBl
cnJvcikKICAgICBjaGVja19pbmRlbnRhdGlvbl9hbW91bnQoY2xlYW5fbGluZXMsIGxpbmVfbnVt
YmVyLCBlcnJvcikKKyAgICBjaGVja19lbnVtX2Nhc2luZyhjbGVhbl9saW5lcywgbGluZV9udW1i
ZXIsIGVudW1fc3RhdGUsIGVycm9yKQogCiAKIF9SRV9QQVRURVJOX0lOQ0xVREVfTkVXX1NUWUxF
ID0gcmUuY29tcGlsZShyJyNpbmNsdWRlICsiW14vXStcLmgiJykKQEAgLTM0NzgsNyArMzUyOSw3
IEBAIGRlZiBjaGVja19mb3JfaW5jbHVkZV93aGF0X3lvdV91c2UoZmlsZW5hbWUsIGNsZWFuX2xp
bmVzLCBpbmNsdWRlX3N0YXRlLCBlcnJvcik6CiAKIGRlZiBwcm9jZXNzX2xpbmUoZmlsZW5hbWUs
IGZpbGVfZXh0ZW5zaW9uLAogICAgICAgICAgICAgICAgICBjbGVhbl9saW5lcywgbGluZSwgaW5j
bHVkZV9zdGF0ZSwgZnVuY3Rpb25fc3RhdGUsCi0gICAgICAgICAgICAgICAgIGNsYXNzX3N0YXRl
LCBmaWxlX3N0YXRlLCBlcnJvcik6CisgICAgICAgICAgICAgICAgIGNsYXNzX3N0YXRlLCBmaWxl
X3N0YXRlLCBlbnVtX3N0YXRlLCBlcnJvcik6CiAgICAgIiIiUHJvY2Vzc2VzIGEgc2luZ2xlIGxp
bmUgaW4gdGhlIGZpbGUuCiAKICAgICBBcmdzOgpAQCAtMzQ5Myw2ICszNTQ0LDggQEAgZGVmIHBy
b2Nlc3NfbGluZShmaWxlbmFtZSwgZmlsZV9leHRlbnNpb24sCiAgICAgICAgICAgICAgICAgICAg
dGhlIGN1cnJlbnQgc3RhY2sgb2YgbmVzdGVkIGNsYXNzIGRlY2xhcmF0aW9ucyBiZWluZyBwYXJz
ZWQuCiAgICAgICBmaWxlX3N0YXRlOiBBIF9GaWxlU3RhdGUgaW5zdGFuY2Ugd2hpY2ggbWFpbnRh
aW5zIGluZm9ybWF0aW9uIGFib3V0CiAgICAgICAgICAgICAgICAgICB0aGUgc3RhdGUgb2YgdGhp
bmdzIGluIHRoZSBmaWxlLgorICAgICAgZW51bV9zdGF0ZTogQSBfRW51bVN0YXRlIGluc3RhbmNl
IHdoaWNoIG1haW50YWlucyBhbiBlbnVtIGRlbGNhcmF0aW9uCisgICAgICAgICAgICAgICAgICBz
dGF0ZS4KICAgICAgIGVycm9yOiBBIGNhbGxhYmxlIHRvIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0
ZWQsIHdoaWNoIHRha2VzIGFyZ3VtZW50czoKICAgICAgICAgICAgICBsaW5lIG51bWJlciwgZXJy
b3IgbGV2ZWwsIGFuZCBtZXNzYWdlCiAKQEAgLTM1MDgsNyArMzU2MSw3IEBAIGRlZiBwcm9jZXNz
X2xpbmUoZmlsZW5hbWUsIGZpbGVfZXh0ZW5zaW9uLAogICAgIGNoZWNrX3Bhc3NfcHRyX3VzYWdl
KGNsZWFuX2xpbmVzLCBsaW5lLCBmdW5jdGlvbl9zdGF0ZSwgZXJyb3IpCiAgICAgY2hlY2tfZm9y
X2xlYWt5X3BhdHRlcm5zKGNsZWFuX2xpbmVzLCBsaW5lLCBmdW5jdGlvbl9zdGF0ZSwgZXJyb3Ip
CiAgICAgY2hlY2tfZm9yX211bHRpbGluZV9jb21tZW50c19hbmRfc3RyaW5ncyhjbGVhbl9saW5l
cywgbGluZSwgZXJyb3IpCi0gICAgY2hlY2tfc3R5bGUoY2xlYW5fbGluZXMsIGxpbmUsIGZpbGVf
ZXh0ZW5zaW9uLCBjbGFzc19zdGF0ZSwgZmlsZV9zdGF0ZSwgZXJyb3IpCisgICAgY2hlY2tfc3R5
bGUoY2xlYW5fbGluZXMsIGxpbmUsIGZpbGVfZXh0ZW5zaW9uLCBjbGFzc19zdGF0ZSwgZmlsZV9z
dGF0ZSwgZW51bV9zdGF0ZSwgZXJyb3IpCiAgICAgY2hlY2tfbGFuZ3VhZ2UoZmlsZW5hbWUsIGNs
ZWFuX2xpbmVzLCBsaW5lLCBmaWxlX2V4dGVuc2lvbiwgaW5jbHVkZV9zdGF0ZSwKICAgICAgICAg
ICAgICAgICAgICBmaWxlX3N0YXRlLCBlcnJvcikKICAgICBjaGVja19mb3Jfbm9uX3N0YW5kYXJk
X2NvbnN0cnVjdHMoY2xlYW5fbGluZXMsIGxpbmUsIGNsYXNzX3N0YXRlLCBlcnJvcikKQEAgLTM1
NDEsOSArMzU5NCwxMSBAQCBkZWYgX3Byb2Nlc3NfbGluZXMoZmlsZW5hbWUsIGZpbGVfZXh0ZW5z
aW9uLCBsaW5lcywgZXJyb3IsIG1pbl9jb25maWRlbmNlKToKICAgICByZW1vdmVfbXVsdGlfbGlu
ZV9jb21tZW50cyhsaW5lcywgZXJyb3IpCiAgICAgY2xlYW5fbGluZXMgPSBDbGVhbnNlZExpbmVz
KGxpbmVzKQogICAgIGZpbGVfc3RhdGUgPSBfRmlsZVN0YXRlKGNsZWFuX2xpbmVzLCBmaWxlX2V4
dGVuc2lvbikKKyAgICBlbnVtX3N0YXRlID0gX0VudW1TdGF0ZSgpCiAgICAgZm9yIGxpbmUgaW4g
eHJhbmdlKGNsZWFuX2xpbmVzLm51bV9saW5lcygpKToKICAgICAgICAgcHJvY2Vzc19saW5lKGZp
bGVuYW1lLCBmaWxlX2V4dGVuc2lvbiwgY2xlYW5fbGluZXMsIGxpbmUsCi0gICAgICAgICAgICAg
ICAgICAgICBpbmNsdWRlX3N0YXRlLCBmdW5jdGlvbl9zdGF0ZSwgY2xhc3Nfc3RhdGUsIGZpbGVf
c3RhdGUsIGVycm9yKQorICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9zdGF0ZSwgZnVuY3Rp
b25fc3RhdGUsIGNsYXNzX3N0YXRlLCBmaWxlX3N0YXRlLAorICAgICAgICAgICAgICAgICAgICAg
ZW51bV9zdGF0ZSwgZXJyb3IpCiAgICAgY2xhc3Nfc3RhdGUuY2hlY2tfZmluaXNoZWQoZXJyb3Ip
CiAKICAgICBjaGVja19mb3JfaW5jbHVkZV93aGF0X3lvdV91c2UoZmlsZW5hbWUsIGNsZWFuX2xp
bmVzLCBpbmNsdWRlX3N0YXRlLCBlcnJvcikKQEAgLTM1ODUsNiArMzY0MCw3IEBAIGNsYXNzIENw
cENoZWNrZXIob2JqZWN0KToKICAgICAgICAgJ3JlYWRhYmlsaXR5L2NvbXBhcmlzb25fdG9femVy
bycsCiAgICAgICAgICdyZWFkYWJpbGl0eS9jb25zdHJ1Y3RvcnMnLAogICAgICAgICAncmVhZGFi
aWxpdHkvY29udHJvbF9mbG93JywKKyAgICAgICAgJ3JlYWRhYmlsaXR5L2VudW1fY2FzaW5nJywK
ICAgICAgICAgJ3JlYWRhYmlsaXR5L2ZuX3NpemUnLAogICAgICAgICAncmVhZGFiaWxpdHkvZnVu
Y3Rpb24nLAogICAgICAgICAncmVhZGFiaWxpdHkvbXVsdGlsaW5lX2NvbW1lbnQnLApkaWZmIC0t
Z2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3Qu
cHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5w
eQppbmRleCA2ZGU3ZGY2MTk3OWRlOTg5YjA0ZDZkOTg4NGZjMTlmMTA0YTM0MDc5Li44MjJlZDc3
YzliNGUwYjZkNGU1YzcyZDBhMGQxOTNlZTdmYjdkMWEzIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQorKysgYi9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weQpAQCAtMzI1OCw2
ICszMjU4LDQzIEBAIGNsYXNzIE5vTm9uVmlydHVhbERlc3RydWN0b3JzVGVzdChDcHBTdHlsZVRl
c3RCYXNlKToKICAgICAgICAgICAgICAgICB9OycnJywKICAgICAgICAgICAgICdUaGUgY2xhc3Mg
Rm9vIHByb2JhYmx5IG5lZWRzIGEgdmlydHVhbCBkZXN0cnVjdG9yJykKIAorICAgIGRlZiB0ZXN0
X2VudW1fY2FzaW5nKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydF9tdWx0aV9saW5lX2xpbnQo
CisgICAgICAgICAgICAnJydcCisgICAgICAgICAgICAgICAgZW51bSBGb28geworICAgICAgICAg
ICAgICAgICAgICBGT09fT05FID0gMSwKKyAgICAgICAgICAgICAgICAgICAgRk9PX1RXTworICAg
ICAgICAgICAgICAgIH07CisgICAgICAgICAgICAgICAgZW51bSB7IEZPT19PTkUgfTsKKyAgICAg
ICAgICAgICAgICBlbnVtIHtGb29PbmUsIGZvb1R3b307CisgICAgICAgICAgICAgICAgZW51bSB7
CisgICAgICAgICAgICAgICAgICAgIEZPT19PTkUKKyAgICAgICAgICAgICAgICB9OycnJywKKyAg
ICAgICAgICAgIFsnZW51bSBtZW1iZXJzIHNob3VsZCB1c2UgSW50ZXJDYXBzIHdpdGggYW4gaW5p
dGlhbCBjYXBpdGFsIGxldHRlci4gIFtyZWFkYWJpbGl0eS9lbnVtX2Nhc2luZ10gWzRdJ10gKiA1
KQorCisgICAgICAgIHNlbGYuYXNzZXJ0X211bHRpX2xpbmVfbGludCgKKyAgICAgICAgICAgICcn
J1wKKyAgICAgICAgICAgICAgICBlbnVtIEZvbyB7CisgICAgICAgICAgICAgICAgICAgIGZvb09u
ZSA9IDEsCisgICAgICAgICAgICAgICAgICAgIEZvb1R3byA9IDIKKyAgICAgICAgICAgICAgICB9
OycnJywKKyAgICAgICAgICAgICdlbnVtIG1lbWJlcnMgc2hvdWxkIHVzZSBJbnRlckNhcHMgd2l0
aCBhbiBpbml0aWFsIGNhcGl0YWwgbGV0dGVyLiAgW3JlYWRhYmlsaXR5L2VudW1fY2FzaW5nXSBb
NF0nKQorCisgICAgICAgIHNlbGYuYXNzZXJ0X211bHRpX2xpbmVfbGludCgKKyAgICAgICAgICAg
ICcnJ1wKKyAgICAgICAgICAgICAgICBlbnVtIEZvbyB7CisgICAgICAgICAgICAgICAgICAgIEZv
b09uZSA9IDEsCisgICAgICAgICAgICAgICAgICAgIEZvb1R3bworICAgICAgICAgICAgICAgIH0g
Zm9vVmFyID0gRm9vT25lOworICAgICAgICAgICAgICAgIGVudW0geyBGb29PbmUsIEZvb1R3byB9
OworICAgICAgICAgICAgICAgIGVudW0geyBGb29PbmUsIEZvb1R3byB9IGZvb1ZhciA9IEZvb1R3
bzsKKyAgICAgICAgICAgICAgICBlbnVtIHsgRm9vT25lPSBGb29Ud28gfSBmb287CisgICAgICAg
ICAgICAgICAgZW51bSBFbnVtMTIzIHsKKyAgICAgICAgICAgICAgICAgICAgRm9vT25lLAorICAg
ICAgICAgICAgICAgICAgICBGb29Ud28gPSBGb29PbmUsCisgICAgICAgICAgICAgICAgfTsnJycs
CisgICAgICAgICAgICAnJykKKwogICAgIGRlZiB0ZXN0X2Rlc3RydWN0b3Jfbm9uX3ZpcnR1YWxf
d2hlbl92aXJ0dWFsX25lZWRlZChzZWxmKToKICAgICAgICAgc2VsZi5hc3NlcnRfbXVsdGlfbGlu
ZV9saW50X3JlKAogICAgICAgICAgICAgJycnXApAQCAtMzI4MCw3ICszMzE3LDcgQEAgY2xhc3Mg
Tm9Ob25WaXJ0dWFsRGVzdHJ1Y3RvcnNUZXN0KENwcFN0eWxlVGVzdEJhc2UpOgogICAgICAgICAg
ICAgJycnXAogICAgICAgICAgICAgICAgIGNsYXNzIEZvbyB7CiAgICAgICAgICAgICAgICAgICAg
IGVudW0gR29vIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIEdPTworICAgICAgICAgICAgICAg
ICAgICAgICAgR29vCiAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgICAgICAgICAg
IHZpcnR1YWwgdm9pZCBmb28oKTsKICAgICAgICAgICAgICAgICB9OycnJywK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176022</attachid>
            <date>2012-11-26 09:45:48 -0800</date>
            <delta_ts>2012-11-26 23:45:53 -0800</delta_ts>
            <desc>Addressed the comments. Thanks!</desc>
            <filename>bug-103157-20121126124326.patch</filename>
            <type>text/plain</type>
            <size>10114</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NjIyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDZkMWNjYjI3MThkZjE0NTMyZDU4ODU0YWU3YmZiYjgz
ZGUyYmI1Yy4uZTA4YTgzMzAwZmNlMzMyOThlZDcxZjU2N2ViOGMwOTMwYTA0YTY1NyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDEyLTExLTI2ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBbc3R5bGVdIEFkZCBhIHN0eWxlLWNoZWNrIGZvciBlbnVtLW1lbWJl
ciBuYW1lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAzMTU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weToKKyAgICAgICAgKF9FbnVt
U3RhdGUpOgorICAgICAgICAoX0VudW1TdGF0ZS5fX2luaXRfXyk6CisgICAgICAgIChfRW51bVN0
YXRlLnByb2Nlc3NfY2xlYW5fbGluZSk6CisgICAgICAgIChjaGVja19lbnVtX2Nhc2luZyk6Cisg
ICAgICAgIChjaGVja19zdHlsZSk6CisgICAgICAgIChwcm9jZXNzX2xpbmUpOgorICAgICAgICAo
X3Byb2Nlc3NfbGluZXMpOgorICAgICAgICAoQ3BwQ2hlY2tlcik6CisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHk6CisgICAgICAgIChOb05v
blZpcnR1YWxEZXN0cnVjdG9yc1Rlc3QudGVzdF9lbnVtX2Nhc2luZyk6CisgICAgICAgIChOb05v
blZpcnR1YWxEZXN0cnVjdG9yc1Rlc3QudGVzdF9pbnRlcm5hbF9icmFjZXMuRm9vKToKKwogMjAx
Mi0xMS0yMyAgTWF0ZXVzeiBMZXN6a28gIDxtLmxlc3prb0BzYW1zdW5nLmNvbT4KIAogICAgICAg
ICBbRUZMXVtHVEtdIEFkYXB0IGFjY2Vzc2liaWxpdHkgZmVhdHVyZSB0byBXZWJLaXRUZXN0UnVu
bmVyLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9j
cHAucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQppbmRl
eCBmOWQ1MzRiOGMxYjkzYzkwMGM3ZTMyZjYxMDk2NmEzNjYxYTI5NWU2Li45MTY2NWFiZGI3MDgz
Y2VhODAwOWI4OTMzZmYxNzkzMWQ1NTE0MTM0IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXJzL2NwcC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXJzL2NwcC5weQpAQCAtMTIxMCw2ICsxMjEwLDQxIEBAIGNsYXNzIF9GaWxl
U3RhdGUob2JqZWN0KToKICAgICAgICAgcmV0dXJuIHNlbGYuaXNfYygpIG9yIHNlbGYuaXNfb2Jq
ZWN0aXZlX2MoKQogCiAKK2NsYXNzIF9FbnVtU3RhdGUob2JqZWN0KToKKyAgICAiIiJNYWludGFp
bnMgd2hldGhlciBjdXJyZW50bHkgaW4gYW4gZW51bSBkZWNsYXJhdGlvbiwgYW5kIGNoZWNrcyB3
aGV0aGVyCisgICAgZW51bSBkZWNsYXJhdGlvbnMgZm9sbG93IHRoZSBzdHlsZSBndWlkZS4KKyAg
ICAiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmKToKKyAgICAgICAgc2VsZi5pbl9lbnVtX2Rl
Y2wgPSBGYWxzZQorCisgICAgZGVmIHByb2Nlc3NfY2xlYW5fbGluZShzZWxmLCBsaW5lKToKKyAg
ICAgICAgZXhwcl9hbGxfdXBwZXJjYXNlID0gcidccypbQS1aMC05X10rXHMqKD86PVxzKlswLTlB
LVphLXpdK1xzKik/LD9ccyokJworICAgICAgICBleHByX3N0YXJ0c19sb3dlcmNhc2UgPSByJ1xz
KlthLXpdJworICAgICAgICBleHByX2VudW1fZW5kID0gcid9XHMqKD86W2EtekEtWjAtOV0rXHMq
KD86PVxzKlthLXpBLVowLTldKyk/KT9ccyo7XHMqJworICAgICAgICBleHByX2VudW1fc3RhcnQg
PSByJ1xzKmVudW0oPzpccytbYS16QS1aMC05XSspP1xzKlx7P1xzKicKKyAgICAgICAgaWYgc2Vs
Zi5pbl9lbnVtX2RlY2w6CisgICAgICAgICAgICBpZiBtYXRjaChyJ1xzKicgKyBleHByX2VudW1f
ZW5kICsgJyQnLCBsaW5lKToKKyAgICAgICAgICAgICAgICBzZWxmLmluX2VudW1fZGVjbCA9IEZh
bHNlCisgICAgICAgICAgICBlbGlmIG1hdGNoKGV4cHJfYWxsX3VwcGVyY2FzZSwgbGluZSk6Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgICAgICBlbGlmIG1hdGNoKGV4cHJf
c3RhcnRzX2xvd2VyY2FzZSwgbGluZSk6CisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisg
ICAgICAgIGVsc2U6CisgICAgICAgICAgICBpZiBtYXRjaChleHByX2VudW1fc3RhcnQgKyAnJCcs
IGxpbmUpOgorICAgICAgICAgICAgICAgIHNlbGYuaW5fZW51bV9kZWNsID0gVHJ1ZQorICAgICAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBtYXRjaGVkID0gbWF0Y2goZXhwcl9lbnVtX3N0
YXJ0ICsgJyg/UDxtZW1iZXJzPi4qKScgKyBleHByX2VudW1fZW5kICsgJyQnLCBsaW5lKQorICAg
ICAgICAgICAgICAgIGlmIG1hdGNoZWQ6CisgICAgICAgICAgICAgICAgICAgIG1lbWJlcnMgPSBt
YXRjaGVkLmdyb3VwKCdtZW1iZXJzJykuc3BsaXQoJywnKQorICAgICAgICAgICAgICAgICAgICBm
b3IgbWVtYmVyIGluIG1lbWJlcnM6CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBtYXRjaChl
eHByX2FsbF91cHBlcmNhc2UsIG1lbWJlcik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIEZhbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBpZiBtYXRjaChleHByX3N0YXJ0
c19sb3dlcmNhc2UsIG1lbWJlcik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IEZhbHNlCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBU
cnVlCisKIGRlZiBjaGVja19mb3Jfbm9uX3N0YW5kYXJkX2NvbnN0cnVjdHMoY2xlYW5fbGluZXMs
IGxpbmVfbnVtYmVyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFz
c19zdGF0ZSwgZXJyb3IpOgogICAgICIiIkxvZ3MgYW4gZXJyb3IgaWYgd2Ugc2VlIGNlcnRhaW4g
bm9uLUFOU0kgY29uc3RydWN0cyBpZ25vcmVkIGJ5IGdjYy0yLgpAQCAtMjA0MCw2ICsyMDc1LDIx
IEBAIGRlZiBjaGVja19uYW1lc3BhY2VfaW5kZW50YXRpb24oY2xlYW5fbGluZXMsIGxpbmVfbnVt
YmVyLCBmaWxlX2V4dGVuc2lvbiwgZmlsZV9zCiAgICAgICAgICAgICBicmVhazsKIAogCitkZWYg
Y2hlY2tfZW51bV9jYXNpbmcoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBlbnVtX3N0YXRlLCBl
cnJvcik6CisgICAgIiIiTG9va3MgZm9yIGluY29ycmVjdGx5IG5hbWVkIGVudW0gdmFsdWVzLgor
CisgICAgQXJnczoKKyAgICAgIGNsZWFuX2xpbmVzOiBBIENsZWFuc2VkTGluZXMgaW5zdGFuY2Ug
Y29udGFpbmluZyB0aGUgZmlsZS4KKyAgICAgIGxpbmVfbnVtYmVyOiBUaGUgbnVtYmVyIG9mIHRo
ZSBsaW5lIHRvIGNoZWNrLgorICAgICAgZW51bV9zdGF0ZTogQSBfRW51bVN0YXRlIGluc3RhbmNl
IHdoaWNoIG1haW50YWlucyBlbnVtIGRlY2xhcmF0aW9uIHN0YXRlLgorICAgICAgZXJyb3I6IFRo
ZSBmdW5jdGlvbiB0byBjYWxsIHdpdGggYW55IGVycm9ycyBmb3VuZC4KKyAgICAiIiIKKworICAg
IGxpbmUgPSBjbGVhbl9saW5lcy5lbGlkZWRbbGluZV9udW1iZXJdICAjIEdldCByaWQgb2YgY29t
bWVudHMgYW5kIHN0cmluZ3MuCisgICAgaWYgbm90IGVudW1fc3RhdGUucHJvY2Vzc19jbGVhbl9s
aW5lKGxpbmUpOgorICAgICAgICBlcnJvcihsaW5lX251bWJlciwgJ3JlYWRhYmlsaXR5L2VudW1f
Y2FzaW5nJywgNCwKKyAgICAgICAgICAgICAgJ2VudW0gbWVtYmVycyBzaG91bGQgdXNlIEludGVy
Q2FwcyB3aXRoIGFuIGluaXRpYWwgY2FwaXRhbCBsZXR0ZXIuJykKKwogZGVmIGNoZWNrX2RpcmVj
dGl2ZV9pbmRlbnRhdGlvbihjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZpbGVfc3RhdGUsIGVy
cm9yKToKICAgICAiIiJMb29rcyBmb3IgaW5kZW50YXRpb24gb2YgcHJlcHJvY2Vzc29yIGRpcmVj
dGl2ZXMuCiAKQEAgLTI1MzUsNyArMjU4NSw3IEBAIGRlZiBnZXRfbGluZV93aWR0aChsaW5lKToK
ICAgICByZXR1cm4gbGVuKGxpbmUpCiAKIAotZGVmIGNoZWNrX3N0eWxlKGNsZWFuX2xpbmVzLCBs
aW5lX251bWJlciwgZmlsZV9leHRlbnNpb24sIGNsYXNzX3N0YXRlLCBmaWxlX3N0YXRlLCBlcnJv
cik6CitkZWYgY2hlY2tfc3R5bGUoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmaWxlX2V4dGVu
c2lvbiwgY2xhc3Nfc3RhdGUsIGZpbGVfc3RhdGUsIGVudW1fc3RhdGUsIGVycm9yKToKICAgICAi
IiJDaGVja3MgcnVsZXMgZnJvbSB0aGUgJ0MrKyBzdHlsZSBydWxlcycgc2VjdGlvbiBvZiBjcHBn
dWlkZS5odG1sLgogCiAgICAgTW9zdCBvZiB0aGVzZSBydWxlcyBhcmUgaGFyZCB0byB0ZXN0IChu
YW1pbmcsIGNvbW1lbnQgc3R5bGUpLCBidXQgd2UKQEAgLTI1NTAsNiArMjYwMCw3IEBAIGRlZiBj
aGVja19zdHlsZShjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZpbGVfZXh0ZW5zaW9uLCBjbGFz
c19zdGF0ZSwgZmlsZV9zdGF0CiAgICAgICAgICAgICAgICAgICAgdGhlIGN1cnJlbnQgc3RhY2sg
b2YgbmVzdGVkIGNsYXNzIGRlY2xhcmF0aW9ucyBiZWluZyBwYXJzZWQuCiAgICAgICBmaWxlX3N0
YXRlOiBBIF9GaWxlU3RhdGUgaW5zdGFuY2Ugd2hpY2ggbWFpbnRhaW5zIGluZm9ybWF0aW9uIGFi
b3V0CiAgICAgICAgICAgICAgICAgICB0aGUgc3RhdGUgb2YgdGhpbmdzIGluIHRoZSBmaWxlLgor
ICAgICAgZW51bV9zdGF0ZTogQSBfRW51bVN0YXRlIGluc3RhbmNlIHdoaWNoIG1haW50YWlucyB0
aGUgY3VycmVudCBlbnVtIHN0YXRlLgogICAgICAgZXJyb3I6IFRoZSBmdW5jdGlvbiB0byBjYWxs
IHdpdGggYW55IGVycm9ycyBmb3VuZC4KICAgICAiIiIKIApAQCAtMjYwNCw2ICsyNjU1LDcgQEAg
ZGVmIGNoZWNrX3N0eWxlKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZmlsZV9leHRlbnNpb24s
IGNsYXNzX3N0YXRlLCBmaWxlX3N0YXQKICAgICBjaGVja19mb3JfY29tcGFyaXNvbnNfdG9femVy
byhjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGVycm9yKQogICAgIGNoZWNrX2Zvcl9udWxsKGNs
ZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZmlsZV9zdGF0ZSwgZXJyb3IpCiAgICAgY2hlY2tfaW5k
ZW50YXRpb25fYW1vdW50KGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZXJyb3IpCisgICAgY2hl
Y2tfZW51bV9jYXNpbmcoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBlbnVtX3N0YXRlLCBlcnJv
cikKIAogCiBfUkVfUEFUVEVSTl9JTkNMVURFX05FV19TVFlMRSA9IHJlLmNvbXBpbGUocicjaW5j
bHVkZSArIlteL10rXC5oIicpCkBAIC0zNDc4LDcgKzM1MzAsNyBAQCBkZWYgY2hlY2tfZm9yX2lu
Y2x1ZGVfd2hhdF95b3VfdXNlKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgaW5jbHVkZV9zdGF0ZSwg
ZXJyb3IpOgogCiBkZWYgcHJvY2Vzc19saW5lKGZpbGVuYW1lLCBmaWxlX2V4dGVuc2lvbiwKICAg
ICAgICAgICAgICAgICAgY2xlYW5fbGluZXMsIGxpbmUsIGluY2x1ZGVfc3RhdGUsIGZ1bmN0aW9u
X3N0YXRlLAotICAgICAgICAgICAgICAgICBjbGFzc19zdGF0ZSwgZmlsZV9zdGF0ZSwgZXJyb3Ip
OgorICAgICAgICAgICAgICAgICBjbGFzc19zdGF0ZSwgZmlsZV9zdGF0ZSwgZW51bV9zdGF0ZSwg
ZXJyb3IpOgogICAgICIiIlByb2Nlc3NlcyBhIHNpbmdsZSBsaW5lIGluIHRoZSBmaWxlLgogCiAg
ICAgQXJnczoKQEAgLTM0OTMsNiArMzU0NSw4IEBAIGRlZiBwcm9jZXNzX2xpbmUoZmlsZW5hbWUs
IGZpbGVfZXh0ZW5zaW9uLAogICAgICAgICAgICAgICAgICAgIHRoZSBjdXJyZW50IHN0YWNrIG9m
IG5lc3RlZCBjbGFzcyBkZWNsYXJhdGlvbnMgYmVpbmcgcGFyc2VkLgogICAgICAgZmlsZV9zdGF0
ZTogQSBfRmlsZVN0YXRlIGluc3RhbmNlIHdoaWNoIG1haW50YWlucyBpbmZvcm1hdGlvbiBhYm91
dAogICAgICAgICAgICAgICAgICAgdGhlIHN0YXRlIG9mIHRoaW5ncyBpbiB0aGUgZmlsZS4KKyAg
ICAgIGVudW1fc3RhdGU6IEEgX0VudW1TdGF0ZSBpbnN0YW5jZSB3aGljaCBtYWludGFpbnMgYW4g
ZW51bSBkZWxjYXJhdGlvbgorICAgICAgICAgICAgICAgICAgc3RhdGUuCiAgICAgICBlcnJvcjog
QSBjYWxsYWJsZSB0byB3aGljaCBlcnJvcnMgYXJlIHJlcG9ydGVkLCB3aGljaCB0YWtlcyBhcmd1
bWVudHM6CiAgICAgICAgICAgICAgbGluZSBudW1iZXIsIGVycm9yIGxldmVsLCBhbmQgbWVzc2Fn
ZQogCkBAIC0zNTA4LDcgKzM1NjIsNyBAQCBkZWYgcHJvY2Vzc19saW5lKGZpbGVuYW1lLCBmaWxl
X2V4dGVuc2lvbiwKICAgICBjaGVja19wYXNzX3B0cl91c2FnZShjbGVhbl9saW5lcywgbGluZSwg
ZnVuY3Rpb25fc3RhdGUsIGVycm9yKQogICAgIGNoZWNrX2Zvcl9sZWFreV9wYXR0ZXJucyhjbGVh
bl9saW5lcywgbGluZSwgZnVuY3Rpb25fc3RhdGUsIGVycm9yKQogICAgIGNoZWNrX2Zvcl9tdWx0
aWxpbmVfY29tbWVudHNfYW5kX3N0cmluZ3MoY2xlYW5fbGluZXMsIGxpbmUsIGVycm9yKQotICAg
IGNoZWNrX3N0eWxlKGNsZWFuX2xpbmVzLCBsaW5lLCBmaWxlX2V4dGVuc2lvbiwgY2xhc3Nfc3Rh
dGUsIGZpbGVfc3RhdGUsIGVycm9yKQorICAgIGNoZWNrX3N0eWxlKGNsZWFuX2xpbmVzLCBsaW5l
LCBmaWxlX2V4dGVuc2lvbiwgY2xhc3Nfc3RhdGUsIGZpbGVfc3RhdGUsIGVudW1fc3RhdGUsIGVy
cm9yKQogICAgIGNoZWNrX2xhbmd1YWdlKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZSwgZmls
ZV9leHRlbnNpb24sIGluY2x1ZGVfc3RhdGUsCiAgICAgICAgICAgICAgICAgICAgZmlsZV9zdGF0
ZSwgZXJyb3IpCiAgICAgY2hlY2tfZm9yX25vbl9zdGFuZGFyZF9jb25zdHJ1Y3RzKGNsZWFuX2xp
bmVzLCBsaW5lLCBjbGFzc19zdGF0ZSwgZXJyb3IpCkBAIC0zNTQxLDkgKzM1OTUsMTEgQEAgZGVm
IF9wcm9jZXNzX2xpbmVzKGZpbGVuYW1lLCBmaWxlX2V4dGVuc2lvbiwgbGluZXMsIGVycm9yLCBt
aW5fY29uZmlkZW5jZSk6CiAgICAgcmVtb3ZlX211bHRpX2xpbmVfY29tbWVudHMobGluZXMsIGVy
cm9yKQogICAgIGNsZWFuX2xpbmVzID0gQ2xlYW5zZWRMaW5lcyhsaW5lcykKICAgICBmaWxlX3N0
YXRlID0gX0ZpbGVTdGF0ZShjbGVhbl9saW5lcywgZmlsZV9leHRlbnNpb24pCisgICAgZW51bV9z
dGF0ZSA9IF9FbnVtU3RhdGUoKQogICAgIGZvciBsaW5lIGluIHhyYW5nZShjbGVhbl9saW5lcy5u
dW1fbGluZXMoKSk6CiAgICAgICAgIHByb2Nlc3NfbGluZShmaWxlbmFtZSwgZmlsZV9leHRlbnNp
b24sIGNsZWFuX2xpbmVzLCBsaW5lLAotICAgICAgICAgICAgICAgICAgICAgaW5jbHVkZV9zdGF0
ZSwgZnVuY3Rpb25fc3RhdGUsIGNsYXNzX3N0YXRlLCBmaWxlX3N0YXRlLCBlcnJvcikKKyAgICAg
ICAgICAgICAgICAgICAgIGluY2x1ZGVfc3RhdGUsIGZ1bmN0aW9uX3N0YXRlLCBjbGFzc19zdGF0
ZSwgZmlsZV9zdGF0ZSwKKyAgICAgICAgICAgICAgICAgICAgIGVudW1fc3RhdGUsIGVycm9yKQog
ICAgIGNsYXNzX3N0YXRlLmNoZWNrX2ZpbmlzaGVkKGVycm9yKQogCiAgICAgY2hlY2tfZm9yX2lu
Y2x1ZGVfd2hhdF95b3VfdXNlKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgaW5jbHVkZV9zdGF0ZSwg
ZXJyb3IpCkBAIC0zNTg1LDYgKzM2NDEsNyBAQCBjbGFzcyBDcHBDaGVja2VyKG9iamVjdCk6CiAg
ICAgICAgICdyZWFkYWJpbGl0eS9jb21wYXJpc29uX3RvX3plcm8nLAogICAgICAgICAncmVhZGFi
aWxpdHkvY29uc3RydWN0b3JzJywKICAgICAgICAgJ3JlYWRhYmlsaXR5L2NvbnRyb2xfZmxvdycs
CisgICAgICAgICdyZWFkYWJpbGl0eS9lbnVtX2Nhc2luZycsCiAgICAgICAgICdyZWFkYWJpbGl0
eS9mbl9zaXplJywKICAgICAgICAgJ3JlYWRhYmlsaXR5L2Z1bmN0aW9uJywKICAgICAgICAgJ3Jl
YWRhYmlsaXR5L211bHRpbGluZV9jb21tZW50JywKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHkKaW5kZXggNmRlN2RmNjE5Nzlk
ZTk4OWIwNGQ2ZDk4ODRmYzE5ZjEwNGEzNDA3OS4uODIyZWQ3N2M5YjRlMGI2ZDRlNWM3MmQwYTBk
MTkzZWU3ZmI3ZDFhMyAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9j
aGVja2Vycy9jcHBfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2Vycy9jcHBfdW5pdHRlc3QucHkKQEAgLTMyNTgsNiArMzI1OCw0MyBAQCBjbGFzcyBO
b05vblZpcnR1YWxEZXN0cnVjdG9yc1Rlc3QoQ3BwU3R5bGVUZXN0QmFzZSk6CiAgICAgICAgICAg
ICAgICAgfTsnJycsCiAgICAgICAgICAgICAnVGhlIGNsYXNzIEZvbyBwcm9iYWJseSBuZWVkcyBh
IHZpcnR1YWwgZGVzdHJ1Y3RvcicpCiAKKyAgICBkZWYgdGVzdF9lbnVtX2Nhc2luZyhzZWxmKToK
KyAgICAgICAgc2VsZi5hc3NlcnRfbXVsdGlfbGluZV9saW50KAorICAgICAgICAgICAgJycnXAor
ICAgICAgICAgICAgICAgIGVudW0gRm9vIHsKKyAgICAgICAgICAgICAgICAgICAgRk9PX09ORSA9
IDEsCisgICAgICAgICAgICAgICAgICAgIEZPT19UV08KKyAgICAgICAgICAgICAgICB9OworICAg
ICAgICAgICAgICAgIGVudW0geyBGT09fT05FIH07CisgICAgICAgICAgICAgICAgZW51bSB7Rm9v
T25lLCBmb29Ud299OworICAgICAgICAgICAgICAgIGVudW0geworICAgICAgICAgICAgICAgICAg
ICBGT09fT05FCisgICAgICAgICAgICAgICAgfTsnJycsCisgICAgICAgICAgICBbJ2VudW0gbWVt
YmVycyBzaG91bGQgdXNlIEludGVyQ2FwcyB3aXRoIGFuIGluaXRpYWwgY2FwaXRhbCBsZXR0ZXIu
ICBbcmVhZGFiaWxpdHkvZW51bV9jYXNpbmddIFs0XSddICogNSkKKworICAgICAgICBzZWxmLmFz
c2VydF9tdWx0aV9saW5lX2xpbnQoCisgICAgICAgICAgICAnJydcCisgICAgICAgICAgICAgICAg
ZW51bSBGb28geworICAgICAgICAgICAgICAgICAgICBmb29PbmUgPSAxLAorICAgICAgICAgICAg
ICAgICAgICBGb29Ud28gPSAyCisgICAgICAgICAgICAgICAgfTsnJycsCisgICAgICAgICAgICAn
ZW51bSBtZW1iZXJzIHNob3VsZCB1c2UgSW50ZXJDYXBzIHdpdGggYW4gaW5pdGlhbCBjYXBpdGFs
IGxldHRlci4gIFtyZWFkYWJpbGl0eS9lbnVtX2Nhc2luZ10gWzRdJykKKworICAgICAgICBzZWxm
LmFzc2VydF9tdWx0aV9saW5lX2xpbnQoCisgICAgICAgICAgICAnJydcCisgICAgICAgICAgICAg
ICAgZW51bSBGb28geworICAgICAgICAgICAgICAgICAgICBGb29PbmUgPSAxLAorICAgICAgICAg
ICAgICAgICAgICBGb29Ud28KKyAgICAgICAgICAgICAgICB9IGZvb1ZhciA9IEZvb09uZTsKKyAg
ICAgICAgICAgICAgICBlbnVtIHsgRm9vT25lLCBGb29Ud28gfTsKKyAgICAgICAgICAgICAgICBl
bnVtIHsgRm9vT25lLCBGb29Ud28gfSBmb29WYXIgPSBGb29Ud287CisgICAgICAgICAgICAgICAg
ZW51bSB7IEZvb09uZT0gRm9vVHdvIH0gZm9vOworICAgICAgICAgICAgICAgIGVudW0gRW51bTEy
MyB7CisgICAgICAgICAgICAgICAgICAgIEZvb09uZSwKKyAgICAgICAgICAgICAgICAgICAgRm9v
VHdvID0gRm9vT25lLAorICAgICAgICAgICAgICAgIH07JycnLAorICAgICAgICAgICAgJycpCisK
ICAgICBkZWYgdGVzdF9kZXN0cnVjdG9yX25vbl92aXJ0dWFsX3doZW5fdmlydHVhbF9uZWVkZWQo
c2VsZik6CiAgICAgICAgIHNlbGYuYXNzZXJ0X211bHRpX2xpbmVfbGludF9yZSgKICAgICAgICAg
ICAgICcnJ1wKQEAgLTMyODAsNyArMzMxNyw3IEBAIGNsYXNzIE5vTm9uVmlydHVhbERlc3RydWN0
b3JzVGVzdChDcHBTdHlsZVRlc3RCYXNlKToKICAgICAgICAgICAgICcnJ1wKICAgICAgICAgICAg
ICAgICBjbGFzcyBGb28gewogICAgICAgICAgICAgICAgICAgICBlbnVtIEdvbyB7Ci0gICAgICAg
ICAgICAgICAgICAgICAgICBHT08KKyAgICAgICAgICAgICAgICAgICAgICAgIEdvbwogICAgICAg
ICAgICAgICAgICAgICB9OwogICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsIHZvaWQgZm9vKCk7
CiAgICAgICAgICAgICAgICAgfTsnJycsCg==
</data>
<flag name="review"
          id="191681"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176188</attachid>
            <date>2012-11-26 23:45:10 -0800</date>
            <delta_ts>2012-11-27 00:39:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-103157-20121127024248.patch</filename>
            <type>text/plain</type>
            <size>10391</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1NjIyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNDZkMWNjYjI3MThkZjE0NTMyZDU4ODU0YWU3YmZiYjgz
ZGUyYmI1Yy4uZTU5M2JiOTdmMGVjZjRiZjExN2U2OTJkNmM3NWNjOTM1NTEwNWNjYyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIz
IEBACisyMDEyLTExLTI2ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBbc3R5bGVdIEFkZCBhIHN0eWxlLWNoZWNrIGZvciBlbnVtLW1lbWJl
ciBuYW1lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAzMTU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFuaWVsIEJhdGVzLgorCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHk6CisgICAgICAgIChfRW51bVN0
YXRlKToKKyAgICAgICAgKF9FbnVtU3RhdGUuX19pbml0X18pOgorICAgICAgICAoX0VudW1TdGF0
ZS5wcm9jZXNzX2NsZWFuX2xpbmUpOgorICAgICAgICAoY2hlY2tfZW51bV9jYXNpbmcpOgorICAg
ICAgICAoY2hlY2tfc3R5bGUpOgorICAgICAgICAocHJvY2Vzc19saW5lKToKKyAgICAgICAgKF9w
cm9jZXNzX2xpbmVzKToKKyAgICAgICAgKENwcENoZWNrZXIpOgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwX3VuaXR0ZXN0LnB5OgorICAgICAgICAoTm9Ob25W
aXJ0dWFsRGVzdHJ1Y3RvcnNUZXN0LnRlc3RfZW51bV9jYXNpbmcpOgorICAgICAgICAoTm9Ob25W
aXJ0dWFsRGVzdHJ1Y3RvcnNUZXN0LnRlc3RfaW50ZXJuYWxfYnJhY2VzLkZvbyk6CisKIDIwMTIt
MTEtMjMgIE1hdGV1c3ogTGVzemtvICA8bS5sZXN6a29Ac2Ftc3VuZy5jb20+CiAKICAgICAgICAg
W0VGTF1bR1RLXSBBZGFwdCBhY2Nlc3NpYmlsaXR5IGZlYXR1cmUgdG8gV2ViS2l0VGVzdFJ1bm5l
ci4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMvY3Bw
LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkKaW5kZXgg
ZjlkNTM0YjhjMWI5M2M5MDBjN2UzMmY2MTA5NjZhMzY2MWEyOTVlNi4uYzk5Y2JlYTNkODQxM2Q4
M2YyZmQ0ZGYwZmJjZGQ0NjdiMDIwZjA3NSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9z
dHlsZS9jaGVja2Vycy9jcHAucHkKQEAgLTEyMTAsNiArMTIxMCw0NCBAQCBjbGFzcyBfRmlsZVN0
YXRlKG9iamVjdCk6CiAgICAgICAgIHJldHVybiBzZWxmLmlzX2MoKSBvciBzZWxmLmlzX29iamVj
dGl2ZV9jKCkKIAogCitjbGFzcyBfRW51bVN0YXRlKG9iamVjdCk6CisgICAgIiIiTWFpbnRhaW5z
IHdoZXRoZXIgY3VycmVudGx5IGluIGFuIGVudW0gZGVjbGFyYXRpb24sIGFuZCBjaGVja3Mgd2hl
dGhlcgorICAgIGVudW0gZGVjbGFyYXRpb25zIGZvbGxvdyB0aGUgc3R5bGUgZ3VpZGUuCisgICAg
IiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZik6CisgICAgICAgIHNlbGYuaW5fZW51bV9kZWNs
ID0gRmFsc2UKKworICAgIGRlZiBwcm9jZXNzX2NsZWFuX2xpbmUoc2VsZiwgbGluZSk6CisgICAg
ICAgICMgRklYTUU6IFRoZSByZWd1bGFyIGV4cHJlc3Npb25zIGZvciBleHByX2FsbF91cHBlcmNh
c2UgYW5kIGV4cHJfZW51bV9lbmQgb25seSBhY2NlcHQgaW50ZWdlcnMKKyAgICAgICAgIyBhbmQg
aWRlbnRpZmllcnMgZm9yIHRoZSB2YWx1ZSBvZiB0aGUgZW51bWVyYXRvciwgYnV0IGRvIG5vdCBh
Y2NlcHQgYW55IG90aGVyIGNvbnN0YW50CisgICAgICAgICMgZXhwcmVzc2lvbnMuIEhvd2V2ZXIs
IHRoaXMgaXMgc3VmZmljaWVudCBmb3Igbm93ICgxMS8yNy8yMDEyKS4KKyAgICAgICAgZXhwcl9h
bGxfdXBwZXJjYXNlID0gcidccypbQS1aMC05X10rXHMqKD86PVxzKlthLXpBLVowLTldK1xzKik/
LD9ccyokJworICAgICAgICBleHByX3N0YXJ0c19sb3dlcmNhc2UgPSByJ1xzKlthLXpdJworICAg
ICAgICBleHByX2VudW1fZW5kID0gcid9XHMqKD86W2EtekEtWjAtOV0rXHMqKD86PVxzKlthLXpB
LVowLTldKyk/KT9ccyo7XHMqJworICAgICAgICBleHByX2VudW1fc3RhcnQgPSByJ1xzKmVudW0o
PzpccytbYS16QS1aMC05XSspP1xzKlx7P1xzKicKKyAgICAgICAgaWYgc2VsZi5pbl9lbnVtX2Rl
Y2w6CisgICAgICAgICAgICBpZiBtYXRjaChyJ1xzKicgKyBleHByX2VudW1fZW5kICsgcickJywg
bGluZSk6CisgICAgICAgICAgICAgICAgc2VsZi5pbl9lbnVtX2RlY2wgPSBGYWxzZQorICAgICAg
ICAgICAgZWxpZiBtYXRjaChleHByX2FsbF91cHBlcmNhc2UsIGxpbmUpOgorICAgICAgICAgICAg
ICAgIHJldHVybiBGYWxzZQorICAgICAgICAgICAgZWxpZiBtYXRjaChleHByX3N0YXJ0c19sb3dl
cmNhc2UsIGxpbmUpOgorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICBlbHNl
OgorICAgICAgICAgICAgaWYgbWF0Y2goZXhwcl9lbnVtX3N0YXJ0ICsgcickJywgbGluZSk6Cisg
ICAgICAgICAgICAgICAgc2VsZi5pbl9lbnVtX2RlY2wgPSBUcnVlCisgICAgICAgICAgICBlbHNl
OgorICAgICAgICAgICAgICAgIG1hdGNoZWQgPSBtYXRjaChleHByX2VudW1fc3RhcnQgKyByJyg/
UDxtZW1iZXJzPi4qKScgKyBleHByX2VudW1fZW5kICsgcickJywgbGluZSkKKyAgICAgICAgICAg
ICAgICBpZiBtYXRjaGVkOgorICAgICAgICAgICAgICAgICAgICBtZW1iZXJzID0gbWF0Y2hlZC5n
cm91cCgnbWVtYmVycycpLnNwbGl0KCcsJykKKyAgICAgICAgICAgICAgICAgICAgZm9yIG1lbWJl
ciBpbiBtZW1iZXJzOgorICAgICAgICAgICAgICAgICAgICAgICAgaWYgbWF0Y2goZXhwcl9hbGxf
dXBwZXJjYXNlLCBtZW1iZXIpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBG
YWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgaWYgbWF0Y2goZXhwcl9zdGFydHNfbG93ZXJj
YXNlLCBtZW1iZXIpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICByZXR1cm4gVHJ1ZQorCiBk
ZWYgY2hlY2tfZm9yX25vbl9zdGFuZGFyZF9jb25zdHJ1Y3RzKGNsZWFuX2xpbmVzLCBsaW5lX251
bWJlciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3Nfc3RhdGUs
IGVycm9yKToKICAgICAiIiJMb2dzIGFuIGVycm9yIGlmIHdlIHNlZSBjZXJ0YWluIG5vbi1BTlNJ
IGNvbnN0cnVjdHMgaWdub3JlZCBieSBnY2MtMi4KQEAgLTIwNDAsNiArMjA3OCwyMSBAQCBkZWYg
Y2hlY2tfbmFtZXNwYWNlX2luZGVudGF0aW9uKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZmls
ZV9leHRlbnNpb24sIGZpbGVfcwogICAgICAgICAgICAgYnJlYWs7CiAKIAorZGVmIGNoZWNrX2Vu
dW1fY2FzaW5nKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZW51bV9zdGF0ZSwgZXJyb3IpOgor
ICAgICIiIkxvb2tzIGZvciBpbmNvcnJlY3RseSBuYW1lZCBlbnVtIHZhbHVlcy4KKworICAgIEFy
Z3M6CisgICAgICBjbGVhbl9saW5lczogQSBDbGVhbnNlZExpbmVzIGluc3RhbmNlIGNvbnRhaW5p
bmcgdGhlIGZpbGUuCisgICAgICBsaW5lX251bWJlcjogVGhlIG51bWJlciBvZiB0aGUgbGluZSB0
byBjaGVjay4KKyAgICAgIGVudW1fc3RhdGU6IEEgX0VudW1TdGF0ZSBpbnN0YW5jZSB3aGljaCBt
YWludGFpbnMgZW51bSBkZWNsYXJhdGlvbiBzdGF0ZS4KKyAgICAgIGVycm9yOiBUaGUgZnVuY3Rp
b24gdG8gY2FsbCB3aXRoIGFueSBlcnJvcnMgZm91bmQuCisgICAgIiIiCisKKyAgICBsaW5lID0g
Y2xlYW5fbGluZXMuZWxpZGVkW2xpbmVfbnVtYmVyXSAgIyBHZXQgcmlkIG9mIGNvbW1lbnRzIGFu
ZCBzdHJpbmdzLgorICAgIGlmIG5vdCBlbnVtX3N0YXRlLnByb2Nlc3NfY2xlYW5fbGluZShsaW5l
KToKKyAgICAgICAgZXJyb3IobGluZV9udW1iZXIsICdyZWFkYWJpbGl0eS9lbnVtX2Nhc2luZycs
IDQsCisgICAgICAgICAgICAgICdlbnVtIG1lbWJlcnMgc2hvdWxkIHVzZSBJbnRlckNhcHMgd2l0
aCBhbiBpbml0aWFsIGNhcGl0YWwgbGV0dGVyLicpCisKIGRlZiBjaGVja19kaXJlY3RpdmVfaW5k
ZW50YXRpb24oY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmaWxlX3N0YXRlLCBlcnJvcik6CiAg
ICAgIiIiTG9va3MgZm9yIGluZGVudGF0aW9uIG9mIHByZXByb2Nlc3NvciBkaXJlY3RpdmVzLgog
CkBAIC0yNTM1LDcgKzI1ODgsNyBAQCBkZWYgZ2V0X2xpbmVfd2lkdGgobGluZSk6CiAgICAgcmV0
dXJuIGxlbihsaW5lKQogCiAKLWRlZiBjaGVja19zdHlsZShjbGVhbl9saW5lcywgbGluZV9udW1i
ZXIsIGZpbGVfZXh0ZW5zaW9uLCBjbGFzc19zdGF0ZSwgZmlsZV9zdGF0ZSwgZXJyb3IpOgorZGVm
IGNoZWNrX3N0eWxlKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZmlsZV9leHRlbnNpb24sIGNs
YXNzX3N0YXRlLCBmaWxlX3N0YXRlLCBlbnVtX3N0YXRlLCBlcnJvcik6CiAgICAgIiIiQ2hlY2tz
IHJ1bGVzIGZyb20gdGhlICdDKysgc3R5bGUgcnVsZXMnIHNlY3Rpb24gb2YgY3BwZ3VpZGUuaHRt
bC4KIAogICAgIE1vc3Qgb2YgdGhlc2UgcnVsZXMgYXJlIGhhcmQgdG8gdGVzdCAobmFtaW5nLCBj
b21tZW50IHN0eWxlKSwgYnV0IHdlCkBAIC0yNTUwLDYgKzI2MDMsNyBAQCBkZWYgY2hlY2tfc3R5
bGUoY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVyLCBmaWxlX2V4dGVuc2lvbiwgY2xhc3Nfc3RhdGUs
IGZpbGVfc3RhdAogICAgICAgICAgICAgICAgICAgIHRoZSBjdXJyZW50IHN0YWNrIG9mIG5lc3Rl
ZCBjbGFzcyBkZWNsYXJhdGlvbnMgYmVpbmcgcGFyc2VkLgogICAgICAgZmlsZV9zdGF0ZTogQSBf
RmlsZVN0YXRlIGluc3RhbmNlIHdoaWNoIG1haW50YWlucyBpbmZvcm1hdGlvbiBhYm91dAogICAg
ICAgICAgICAgICAgICAgdGhlIHN0YXRlIG9mIHRoaW5ncyBpbiB0aGUgZmlsZS4KKyAgICAgIGVu
dW1fc3RhdGU6IEEgX0VudW1TdGF0ZSBpbnN0YW5jZSB3aGljaCBtYWludGFpbnMgdGhlIGN1cnJl
bnQgZW51bSBzdGF0ZS4KICAgICAgIGVycm9yOiBUaGUgZnVuY3Rpb24gdG8gY2FsbCB3aXRoIGFu
eSBlcnJvcnMgZm91bmQuCiAgICAgIiIiCiAKQEAgLTI2MDQsNiArMjY1OCw3IEBAIGRlZiBjaGVj
a19zdHlsZShjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGZpbGVfZXh0ZW5zaW9uLCBjbGFzc19z
dGF0ZSwgZmlsZV9zdGF0CiAgICAgY2hlY2tfZm9yX2NvbXBhcmlzb25zX3RvX3plcm8oY2xlYW5f
bGluZXMsIGxpbmVfbnVtYmVyLCBlcnJvcikKICAgICBjaGVja19mb3JfbnVsbChjbGVhbl9saW5l
cywgbGluZV9udW1iZXIsIGZpbGVfc3RhdGUsIGVycm9yKQogICAgIGNoZWNrX2luZGVudGF0aW9u
X2Ftb3VudChjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGVycm9yKQorICAgIGNoZWNrX2VudW1f
Y2FzaW5nKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlciwgZW51bV9zdGF0ZSwgZXJyb3IpCiAKIAog
X1JFX1BBVFRFUk5fSU5DTFVERV9ORVdfU1RZTEUgPSByZS5jb21waWxlKHInI2luY2x1ZGUgKyJb
Xi9dK1wuaCInKQpAQCAtMzQ3OCw3ICszNTMzLDcgQEAgZGVmIGNoZWNrX2Zvcl9pbmNsdWRlX3do
YXRfeW91X3VzZShmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGluY2x1ZGVfc3RhdGUsIGVycm9yKToK
IAogZGVmIHByb2Nlc3NfbGluZShmaWxlbmFtZSwgZmlsZV9leHRlbnNpb24sCiAgICAgICAgICAg
ICAgICAgIGNsZWFuX2xpbmVzLCBsaW5lLCBpbmNsdWRlX3N0YXRlLCBmdW5jdGlvbl9zdGF0ZSwK
LSAgICAgICAgICAgICAgICAgY2xhc3Nfc3RhdGUsIGZpbGVfc3RhdGUsIGVycm9yKToKKyAgICAg
ICAgICAgICAgICAgY2xhc3Nfc3RhdGUsIGZpbGVfc3RhdGUsIGVudW1fc3RhdGUsIGVycm9yKToK
ICAgICAiIiJQcm9jZXNzZXMgYSBzaW5nbGUgbGluZSBpbiB0aGUgZmlsZS4KIAogICAgIEFyZ3M6
CkBAIC0zNDkzLDYgKzM1NDgsOCBAQCBkZWYgcHJvY2Vzc19saW5lKGZpbGVuYW1lLCBmaWxlX2V4
dGVuc2lvbiwKICAgICAgICAgICAgICAgICAgICB0aGUgY3VycmVudCBzdGFjayBvZiBuZXN0ZWQg
Y2xhc3MgZGVjbGFyYXRpb25zIGJlaW5nIHBhcnNlZC4KICAgICAgIGZpbGVfc3RhdGU6IEEgX0Zp
bGVTdGF0ZSBpbnN0YW5jZSB3aGljaCBtYWludGFpbnMgaW5mb3JtYXRpb24gYWJvdXQKICAgICAg
ICAgICAgICAgICAgIHRoZSBzdGF0ZSBvZiB0aGluZ3MgaW4gdGhlIGZpbGUuCisgICAgICBlbnVt
X3N0YXRlOiBBIF9FbnVtU3RhdGUgaW5zdGFuY2Ugd2hpY2ggbWFpbnRhaW5zIGFuIGVudW0gZGVj
bGFyYXRpb24KKyAgICAgICAgICAgICAgICAgIHN0YXRlLgogICAgICAgZXJyb3I6IEEgY2FsbGFi
bGUgdG8gd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZCwgd2hpY2ggdGFrZXMgYXJndW1lbnRzOgog
ICAgICAgICAgICAgIGxpbmUgbnVtYmVyLCBlcnJvciBsZXZlbCwgYW5kIG1lc3NhZ2UKIApAQCAt
MzUwOCw3ICszNTY1LDcgQEAgZGVmIHByb2Nlc3NfbGluZShmaWxlbmFtZSwgZmlsZV9leHRlbnNp
b24sCiAgICAgY2hlY2tfcGFzc19wdHJfdXNhZ2UoY2xlYW5fbGluZXMsIGxpbmUsIGZ1bmN0aW9u
X3N0YXRlLCBlcnJvcikKICAgICBjaGVja19mb3JfbGVha3lfcGF0dGVybnMoY2xlYW5fbGluZXMs
IGxpbmUsIGZ1bmN0aW9uX3N0YXRlLCBlcnJvcikKICAgICBjaGVja19mb3JfbXVsdGlsaW5lX2Nv
bW1lbnRzX2FuZF9zdHJpbmdzKGNsZWFuX2xpbmVzLCBsaW5lLCBlcnJvcikKLSAgICBjaGVja19z
dHlsZShjbGVhbl9saW5lcywgbGluZSwgZmlsZV9leHRlbnNpb24sIGNsYXNzX3N0YXRlLCBmaWxl
X3N0YXRlLCBlcnJvcikKKyAgICBjaGVja19zdHlsZShjbGVhbl9saW5lcywgbGluZSwgZmlsZV9l
eHRlbnNpb24sIGNsYXNzX3N0YXRlLCBmaWxlX3N0YXRlLCBlbnVtX3N0YXRlLCBlcnJvcikKICAg
ICBjaGVja19sYW5ndWFnZShmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGxpbmUsIGZpbGVfZXh0ZW5z
aW9uLCBpbmNsdWRlX3N0YXRlLAogICAgICAgICAgICAgICAgICAgIGZpbGVfc3RhdGUsIGVycm9y
KQogICAgIGNoZWNrX2Zvcl9ub25fc3RhbmRhcmRfY29uc3RydWN0cyhjbGVhbl9saW5lcywgbGlu
ZSwgY2xhc3Nfc3RhdGUsIGVycm9yKQpAQCAtMzU0MSw5ICszNTk4LDExIEBAIGRlZiBfcHJvY2Vz
c19saW5lcyhmaWxlbmFtZSwgZmlsZV9leHRlbnNpb24sIGxpbmVzLCBlcnJvciwgbWluX2NvbmZp
ZGVuY2UpOgogICAgIHJlbW92ZV9tdWx0aV9saW5lX2NvbW1lbnRzKGxpbmVzLCBlcnJvcikKICAg
ICBjbGVhbl9saW5lcyA9IENsZWFuc2VkTGluZXMobGluZXMpCiAgICAgZmlsZV9zdGF0ZSA9IF9G
aWxlU3RhdGUoY2xlYW5fbGluZXMsIGZpbGVfZXh0ZW5zaW9uKQorICAgIGVudW1fc3RhdGUgPSBf
RW51bVN0YXRlKCkKICAgICBmb3IgbGluZSBpbiB4cmFuZ2UoY2xlYW5fbGluZXMubnVtX2xpbmVz
KCkpOgogICAgICAgICBwcm9jZXNzX2xpbmUoZmlsZW5hbWUsIGZpbGVfZXh0ZW5zaW9uLCBjbGVh
bl9saW5lcywgbGluZSwKLSAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVfc3RhdGUsIGZ1bmN0
aW9uX3N0YXRlLCBjbGFzc19zdGF0ZSwgZmlsZV9zdGF0ZSwgZXJyb3IpCisgICAgICAgICAgICAg
ICAgICAgICBpbmNsdWRlX3N0YXRlLCBmdW5jdGlvbl9zdGF0ZSwgY2xhc3Nfc3RhdGUsIGZpbGVf
c3RhdGUsCisgICAgICAgICAgICAgICAgICAgICBlbnVtX3N0YXRlLCBlcnJvcikKICAgICBjbGFz
c19zdGF0ZS5jaGVja19maW5pc2hlZChlcnJvcikKIAogICAgIGNoZWNrX2Zvcl9pbmNsdWRlX3do
YXRfeW91X3VzZShmaWxlbmFtZSwgY2xlYW5fbGluZXMsIGluY2x1ZGVfc3RhdGUsIGVycm9yKQpA
QCAtMzU4NSw2ICszNjQ0LDcgQEAgY2xhc3MgQ3BwQ2hlY2tlcihvYmplY3QpOgogICAgICAgICAn
cmVhZGFiaWxpdHkvY29tcGFyaXNvbl90b196ZXJvJywKICAgICAgICAgJ3JlYWRhYmlsaXR5L2Nv
bnN0cnVjdG9ycycsCiAgICAgICAgICdyZWFkYWJpbGl0eS9jb250cm9sX2Zsb3cnLAorICAgICAg
ICAncmVhZGFiaWxpdHkvZW51bV9jYXNpbmcnLAogICAgICAgICAncmVhZGFiaWxpdHkvZm5fc2l6
ZScsCiAgICAgICAgICdyZWFkYWJpbGl0eS9mdW5jdGlvbicsCiAgICAgICAgICdyZWFkYWJpbGl0
eS9tdWx0aWxpbmVfY29tbWVudCcsCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
c3R5bGUvY2hlY2tlcnMvY3BwX3VuaXR0ZXN0LnB5CmluZGV4IDZkZTdkZjYxOTc5ZGU5ODliMDRk
NmQ5ODg0ZmMxOWYxMDRhMzQwNzkuLjgyMmVkNzdjOWI0ZTBiNmQ0ZTVjNzJkMGEwZDE5M2VlN2Zi
N2QxYTMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMv
Y3BwX3VuaXR0ZXN0LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tl
cnMvY3BwX3VuaXR0ZXN0LnB5CkBAIC0zMjU4LDYgKzMyNTgsNDMgQEAgY2xhc3MgTm9Ob25WaXJ0
dWFsRGVzdHJ1Y3RvcnNUZXN0KENwcFN0eWxlVGVzdEJhc2UpOgogICAgICAgICAgICAgICAgIH07
JycnLAogICAgICAgICAgICAgJ1RoZSBjbGFzcyBGb28gcHJvYmFibHkgbmVlZHMgYSB2aXJ0dWFs
IGRlc3RydWN0b3InKQogCisgICAgZGVmIHRlc3RfZW51bV9jYXNpbmcoc2VsZik6CisgICAgICAg
IHNlbGYuYXNzZXJ0X211bHRpX2xpbmVfbGludCgKKyAgICAgICAgICAgICcnJ1wKKyAgICAgICAg
ICAgICAgICBlbnVtIEZvbyB7CisgICAgICAgICAgICAgICAgICAgIEZPT19PTkUgPSAxLAorICAg
ICAgICAgICAgICAgICAgICBGT09fVFdPCisgICAgICAgICAgICAgICAgfTsKKyAgICAgICAgICAg
ICAgICBlbnVtIHsgRk9PX09ORSB9OworICAgICAgICAgICAgICAgIGVudW0ge0Zvb09uZSwgZm9v
VHdvfTsKKyAgICAgICAgICAgICAgICBlbnVtIHsKKyAgICAgICAgICAgICAgICAgICAgRk9PX09O
RQorICAgICAgICAgICAgICAgIH07JycnLAorICAgICAgICAgICAgWydlbnVtIG1lbWJlcnMgc2hv
dWxkIHVzZSBJbnRlckNhcHMgd2l0aCBhbiBpbml0aWFsIGNhcGl0YWwgbGV0dGVyLiAgW3JlYWRh
YmlsaXR5L2VudW1fY2FzaW5nXSBbNF0nXSAqIDUpCisKKyAgICAgICAgc2VsZi5hc3NlcnRfbXVs
dGlfbGluZV9saW50KAorICAgICAgICAgICAgJycnXAorICAgICAgICAgICAgICAgIGVudW0gRm9v
IHsKKyAgICAgICAgICAgICAgICAgICAgZm9vT25lID0gMSwKKyAgICAgICAgICAgICAgICAgICAg
Rm9vVHdvID0gMgorICAgICAgICAgICAgICAgIH07JycnLAorICAgICAgICAgICAgJ2VudW0gbWVt
YmVycyBzaG91bGQgdXNlIEludGVyQ2FwcyB3aXRoIGFuIGluaXRpYWwgY2FwaXRhbCBsZXR0ZXIu
ICBbcmVhZGFiaWxpdHkvZW51bV9jYXNpbmddIFs0XScpCisKKyAgICAgICAgc2VsZi5hc3NlcnRf
bXVsdGlfbGluZV9saW50KAorICAgICAgICAgICAgJycnXAorICAgICAgICAgICAgICAgIGVudW0g
Rm9vIHsKKyAgICAgICAgICAgICAgICAgICAgRm9vT25lID0gMSwKKyAgICAgICAgICAgICAgICAg
ICAgRm9vVHdvCisgICAgICAgICAgICAgICAgfSBmb29WYXIgPSBGb29PbmU7CisgICAgICAgICAg
ICAgICAgZW51bSB7IEZvb09uZSwgRm9vVHdvIH07CisgICAgICAgICAgICAgICAgZW51bSB7IEZv
b09uZSwgRm9vVHdvIH0gZm9vVmFyID0gRm9vVHdvOworICAgICAgICAgICAgICAgIGVudW0geyBG
b29PbmU9IEZvb1R3byB9IGZvbzsKKyAgICAgICAgICAgICAgICBlbnVtIEVudW0xMjMgeworICAg
ICAgICAgICAgICAgICAgICBGb29PbmUsCisgICAgICAgICAgICAgICAgICAgIEZvb1R3byA9IEZv
b09uZSwKKyAgICAgICAgICAgICAgICB9OycnJywKKyAgICAgICAgICAgICcnKQorCiAgICAgZGVm
IHRlc3RfZGVzdHJ1Y3Rvcl9ub25fdmlydHVhbF93aGVuX3ZpcnR1YWxfbmVlZGVkKHNlbGYpOgog
ICAgICAgICBzZWxmLmFzc2VydF9tdWx0aV9saW5lX2xpbnRfcmUoCiAgICAgICAgICAgICAnJydc
CkBAIC0zMjgwLDcgKzMzMTcsNyBAQCBjbGFzcyBOb05vblZpcnR1YWxEZXN0cnVjdG9yc1Rlc3Qo
Q3BwU3R5bGVUZXN0QmFzZSk6CiAgICAgICAgICAgICAnJydcCiAgICAgICAgICAgICAgICAgY2xh
c3MgRm9vIHsKICAgICAgICAgICAgICAgICAgICAgZW51bSBHb28gewotICAgICAgICAgICAgICAg
ICAgICAgICAgR09PCisgICAgICAgICAgICAgICAgICAgICAgICBHb28KICAgICAgICAgICAgICAg
ICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgdmlydHVhbCB2b2lkIGZvbygpOwogICAgICAg
ICAgICAgICAgIH07JycnLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>